【技术实现步骤摘要】
【国外来华专利技术】在基于处理器的设备中支持跨连贯颗粒边界的原子存储器访问
[0001]本公开的技术涉及基于处理器的设备中的存储器访问操作,并且更具体地,涉及可以跨连贯颗粒边界发生的原子存储器访问。
技术介绍
[0002]由基于处理器的设备执行的“原子存储器访问”指的是存储器访问操作(例如,作为非限制性示例,存储器读取操作或存储器写入操作),其中所有被访问的数据字节都同时可观察。原子存储器访问确保了,即使多个代理尝试对相同存储器位置进行冲突操作,存储在该存储器位置处的所得值将是整个先前值或整个最终值,并且绝不是两者的组合。根据基于处理器的设备的指令集架构(ISA)所支持的存储器模型,基于处理器的设备可以预期或要求原子地执行一些或所有类型的存储器访问操作。例如,可以将基于处理器的设备的系统存储器组织成被称为“连贯颗粒(coherence granules)”的细分,连贯颗粒表示基于处理器的设备管理高速缓存连贯性的对齐大小(以字节为单位),并且基于处理器的设备可以要求原子地执行在单个连贯颗粒内的所有存储器访问操作。
[0003]然而,当原子存储器访问跨两个连贯颗粒之间的边界时,可能出现问题。考虑以下场景,其中系统存储器内的存储器地址0到63处的字节位于第一连贯颗粒内,而存储器地址64到127的字节位于第二连贯颗粒内。因此,从存储器地址62处开始写入四(4)字节数据的存储器存储操作将需要将前两(2)字节写入第一连贯颗粒,并且将后两(2)字节写入第二连贯颗粒。为了原子地执行存储器存储操作,需要以独占状态同时获取两个连贯颗粒。一旦处理元件 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种基于处理器的设备,包括:系统存储器,包括多个地址块和多个连贯颗粒;专用中央排序点(SPCOP),包括SPCOP逻辑电路;以及多个处理元件(PE),每个处理元件包括存储器访问逻辑电路;所述多个PE中的第一PE的所述存储器访问逻辑电路被配置成:检测跨越所述系统存储器的第一连贯颗粒与第二连贯颗粒之间的边界的原子存储器访问请求;向所述SPCOP发送针对连贯颗粒对原子访问(CPAA)令牌的请求,所述连贯颗粒对原子访问(CPAA)令牌针对包含所述第一连贯颗粒的地址块;从所述SPCOP接收针对包含所述第一连贯颗粒的所述地址块的所述CPAA令牌,所述CPAA令牌指示所述多个PE中的所述第一PE被允许保护包含所述第一连贯颗粒的所述地址块;以独占状态获得所述第一连贯颗粒和所述第二连贯颗粒;完成所述原子存储器访问请求;以及发送请求,以向所述SPCOP返回针对包含所述第一连贯颗粒的所述地址块的所述CPAA令牌。2.根据权利要求1所述的基于处理器的设备,其中所述第一PE的所述存储器访问逻辑电路还被配置成:在所述第一PE持有所述CPAA令牌的同时,从所述多个PE中的第二PE接收针对所述第一连贯颗粒的第一窥探请求;以及响应于接收到针对所述第一连贯颗粒的所述第一窥探请求,向所述第二PE发送第一响应,所述第一响应指示所述第二PE应当将针对所述第一连贯颗粒的所有请求重定向到所述SPCOP,直到所述CPAA令牌被返回。3.根据权利要求2所述的基于处理器的设备,其中所述SPCOP的所述SPCOP逻辑电路被配置成:从所述第二PE接收针对所述第一连贯颗粒的第二请求;确定所述第二请求的存储器地址是否对应于活跃CPAA令牌;响应于确定所述第二请求的所述存储器地址不对应于活跃CPAA令牌,向所述第二PE发送第二响应,所述第二响应指示所述第二PE应返回到常规存储器连贯处理;响应于确定所述第二请求的所述存储器地址对应于活跃CPAA令牌,确定所述SPCOP的CPAA访问队列是否已满;响应于确定所述SPCOP的所述CPAA访问队列已满,向所述第二PE发送第三响应,所述第三响应指示所述第二PE应当向所述SPCOP重试所述第二请求;以及响应于确定所述SPCOP的所述CPAA访问队列未满:将所述第二PE的标识符记录在所述CPAA访问队列中;以及在所述第一PE返回所述CPAA令牌时,基于所述CPAA访问队列中的所述第二PE的所述标识符来向所述第二PE发送第四响应,所述第四响应指示所述第二PE应返回到常规存储器连贯处理。4.根据权利要求1所述的基于处理器的设备,其中所述SPCOP的所述SPCOP逻辑电路被
配置成:从所述第一PE接收针对CPAA令牌的请求;确定CPAA令牌是否可用;响应于确定CPAA令牌可用,确定所述原子存储器访问请求是否对应于活跃CPAA令牌;以及响应于确定所述原子存储器访问请求不对应于活跃CPAA令牌,将所述CPAA令牌分发给所述第一PE。5.根据权利要求4所述的基于处理器的设备,其中所述SPCOP的所述SPCOP逻辑电路还被配置成:通过被配置成进行以下操作,将所述CPAA令牌分发给所述第一PE:确定所述第一PE是否是所述SPCOP的CPAA预留队列中的下一个;以及响应于确定所述第一PE是所述SPCOP的所述CPAA预留队列中的下一个,将所述CPAA令牌分发给所述第一PE。6.根据权利要求5所述的基于处理器的设备,其中所述SPCOP的所述SPCOP逻辑电路还被配置成:响应于确定CPAA令牌不可用,将所述第一PE添加到所述CPAA预留队列;响应于确定所述原子存储器访问请求对应于活跃CPAA令牌,将所述第一PE添加到所述CPAA预留队列;以及响应于确定所述第一PE不是所述CPAA预留队列中的下一个,将所述第一PE添加到所述CPAA预留队列。7.一种用于支持跨连贯颗粒边界的原子存储器访问的方法,包括:由基于处理器的设备的多个处理元件(PE)中的第一PE检测原子存储器访问请求,所述原子存储器访问请求跨越所述基于处理器的设备的系统存储器的第一连贯颗粒与第二连贯颗粒之间的边界;由所述第一PE,向专用中央排序点(SPCOP)发送针对连贯颗粒对原子访问(CP...
【专利技术属性】
技术研发人员:E,
申请(专利权)人:微软技术许可有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。