用于在以存储器为中心和以核心为中心的存储操作之间实施排序的方法技术

技术编号:39806753 阅读:11 留言:0更新日期:2023-12-22 02:40
在下文称为“MC

【技术实现步骤摘要】
【国外来华专利技术】用于在以存储器为中心和以核心为中心的存储操作之间实施排序的方法

技术介绍

[0001]本节所述的方法是可以实行的方法,但不一定是先前已经设想或实行过的方法

因此,除非另有说明,否则不应假设:本节所述的任何方法仅由于其包含在本节中而假定它们是现有技术

另外,不应假设:本节所述的任何方法仅由于其包含在本节中而假定它们是公知的

例行的或常规的

[0002]当代处理器采用性能优化,其可引起存储操作
(
诸如加载

存储和读取

修改

写入
)
的无序执行,这在多线程或多处理器
/
多核心具体实施中可能是有问题的

在简单示例中,一组指令可指定第一线程更新存储在存储器位置处的值并且随后第二线程使用更新值例如进行计算

如果基于指令的排序而以预期的次序执行,那么第一线程将在第二线程检索到并使用存储在存储器位置处的值之前更新存储在该存储器位置处的值

然而,性能优化可重排序存储器访问,使得第二线程在存储在存储器位置处的值已被第一线程更新之前使用该值,从而导致非预期且不正确的结果

[0003]为了解决该问题,处理器支持由围栏指令实现的存储器屏障或存储器围栏
(
也简称为围栏
)
,其使得处理器对在围栏指令之前和之后发出的存储操作实施排序约束

在以上示例中,可使用围栏指令来确保第二线程对存储器位置的访问不被重排序在第一线程对存储器位置的访问之前,从而保留预期的序列

通常通过以下来实现这些围栏:阻塞后续存储器请求,直到所有先前存储器请求已确认其已到达“一致性点”,即,由通信线程共享的存储器层级中的某个级别,并且在该级别以下保留对相同地址的访问之间的排序

此类存储操作和围栏是以核心为中心的,因为它们在处理器处被跟踪,并且排序在处理器处被实施

[0004]由于计算吞吐量比存储器带宽更快地扩展,因此已开发出各种技术来向增长的计算能力保持馈送数据

存内处理
(PIM)
将处理能力并入存储器模块内,使得可直接在存储器模块内处理任务

在动态随机存取存储器
(DRAM)
的上下文中,示例性
PIM
配置包括矢量计算元件和本地寄存器

向量计算元件和本地寄存器允许存储器模块在本地执行一些计算,诸如算术计算

这允许存储器控制器在不需要跨存储器模块接口的数据移动的情况下并行地触发多个存储器模块处的本地计算,这可极大地改善性能,尤其是对于数据密集型工作负载而言

[0005]围栏可以与处理器相同的方式与存储器中的计算元件一起使用,以对由存储器内计算元件执行的存储操作实施排序约束

此类存储操作和围栏是以存储器为中心的,因为它们在存储器内计算元件处被跟踪,并且排序在存储器内计算元件处被实施

[0006]前述围栏的技术问题中的一个技术问题在于,虽然它们对于分别为以核心为中心的存储操作和以存储器为中心的存储操作单独实施排序约束是有效的,但是它们不足以在以核心为中心的存储操作和以存储器为中心的存储操作之间实施排序

以核心为中心的围栏对于以存储器为中心的存储操作而言是不够的,后者可能要求排序保留超过一致性点,即使它们不以相同地址为目标,因为以存储器为中心的请求可能访问多个地址以及近存储器寄存器,并且必须对发生冲突的任何请求进行排序

以存储器为中心的围栏是不够的,因
为它们仅确保以存储器为中心的存储操作和未被高速缓存的以核心为中心的存储操作
(
其必然在相同存储器级别
(
例如,存储器侧高速缓存或存储器内计算单元
)
处完成
)
在作为完成点的存储器级别处按次序递送

具有发出以存储器为中心的存储操作的线程的核心需要知晓以存储器为中心的存储操作何时已在作为完成点的存储器级别处被调度,以允许需要看到以存储器为中心的存储操作的结果的后续以核心为中心的存储操作的安全提交

然而,存储器内计算单元
(
甚至存储器侧高速缓存中的那些计算单元
)
可能不以与传统以核心为中心的存储操作相同的方式向核心发送确认,从而使核心不知晓以存储器为中心的存储操作的当前状态

因此,需要一种技术解决方案来解决如何在以存储器为中心的存储操作和以核心为中心的存储操作之间实施排序的技术问题

附图说明
[0007]在附图的图中以示例而非限制的方式描绘了实施方案,并且在附图中相同的附图标号是指类似的元件

[0008]图
1A
示出了由处理器中的两个线程实现的示例性伪代码

[0009]图
1B
示出了包括以核心为中心的围栏以确保正确执行的示例性伪代码

[0010]图
1C
示出了包括以存储器为中心的围栏以确保正确执行的示例性伪代码

[0011]图
1D
示出了已被添加到线程
A
的指令的
IC
围栏

[0012]图
2A
示出了使用
IC
围栏在以存储器为中心的存储操作和以核心为中心的存储操作之间实施排序

[0013]图
2B
示出了使用
IC
围栏在以核心为中心的存储操作和以存储器为中心的存储操作之间实施排序

[0014]图
2C
示出了使用
IC
围栏在以存储器为中心的存储操作和以存储器为中心的存储操作之间实施排序

[0015]图
2D
示出了使用
CC
围栏在以核心为中心的存储操作和以核心为中心的存储操作之间实施排序

[0016]图3是示出用于使用
IC
围栏在以存储器为中心的存储操作和以核心为中心的存储操作之间实施排序的方法的流程图

具体实施方式
[0017]在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对实施方案的透彻理解

然而,对于本领域技术人员将显而易见的是,这些实施方案可在没有这些具体细节的情况下实践

在其他情况下,以框图形式示出了公知的结构和设备,以避免不必要地模糊这些实施方案

[0018]I.
概述
[0019]II.IC
围栏介绍
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.
一种处理器,所述处理器被配置为:发出排序令牌,以及响应于排序确认令牌而将排序指令指定为完成
。2.
根据权利要求1所述的处理器,其中所述排序令牌具有与一个或多个先前存储操作的完成级别相同的相关联完成级别
。3.
根据权利要求1所述的处理器,其中存储器流水线中的一个或多个存储器部件防止在所述排序令牌之前的存储操作被重排序在所述排序令牌之后
。4.
根据权利要求1所述的处理器,其中在存储器流水线中经多个路径复制所述排序令牌
。5.
根据权利要求1所述的处理器,其中:所述排序令牌具有相关联完成级别,并且所述排序确认令牌由在所述完成级别处处理所述排序令牌的存储器控制器发出
。6.
根据权利要求1所述的处理器,其中所述排序确认令牌由存储器控制器响应于所述存储器控制器将所述排序令牌存储在存储未决存储操作的队列中而发出
。7.
根据权利要求1所述的处理器,其中所述排序确认令牌是多个复制的排序确认令牌中的最后一个排序确认令牌或者是表示所述多个复制的排序确认令牌的合并的排序确认令牌
。8.
根据权利要求1所述的处理器,其中所述处理器被进一步配置为:响应于处理排序指令而发出所述排序令牌,以及实施相对于所述排序指令的存储操作重排序约束
。9.
根据权利要求1所述的处理器,其中所述处理器被进一步配置为:在发出所述排序令牌之前,使得在完成点之前存储在存储器位置中的更新数据被存储到指定的完成级别
。10.
根据权利要求9所述的处理器,其中所述更新数据是由一个或多个先前存储操作生成的数据的子集
。11.
一种存储器控制器,所述存储器控制器被配置为:基于排序令牌来实施排序约束,以及向发出所述排序令牌的处理器线程发出排序确认令牌
。12.
根据权利要求
11
所述的存储器控制器,其中基于所...

【专利技术属性】
技术研发人员:沙泽恩
申请(专利权)人:超威半导体公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1