用于加载/存储推测的基于地址的筛选制造技术

技术编号:31566624 阅读:21 留言:0更新日期:2021-12-25 11:03
用于加载/存储推测的基于地址的筛选包括:维护包括与地址范围相关联的表条目的筛选表;响应于接收到排序检查触发事务,使用所述排序检查触发事务的目标地址查询所述筛选表以确定依赖于所述排序检查触发事务的指令先前是否已经生成物理地址;以及响应于确定所述筛选表缺少指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,绕过违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作。行中的查找操作。行中的查找操作。

【技术实现步骤摘要】
【国外来华专利技术】用于加载/存储推测的基于地址的筛选
[0001]关于联邦政府赞助的研究或开发的声明
[0002]本公开是在政府支持下在DOE授予的与劳伦斯
·
利弗莫尔国家安全局的PathForward项目(基本合同编号DE

AC52

07NA27344,分包合同编号B620717)下进行的。政府享有本公开中的某些权利。

技术介绍

[0003]采用数据推测的计算机处理器通常允许加载和存储指令于加载存储单元内以不以程序顺序来完成。该数据推测需要针对违反排序来检查存储器依赖关系,以防止违反排序错误。这些检查可能需要在加载或存储与进行中的存储或加载的子集之间进行完整的物理地址比较。对于某些存储器一致性模型,检查还需要将外部探测的完整物理地址与进行中加载的物理地址进行比较。防止违反排序通常涉及使用内容可寻址存储器(CAM)结构。
附图说明
[0004]图1阐述了根据本公开的实施方案的用于针对加载/存储推测进行基于地址的筛选的示例性系统的框图。
[0005]图2阐述了根据本公开的实施方案的用于针对加载/存储推测进行基于地址的筛选的示例性系统的框图。
[0006]图3阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
[0007]图4阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
[0008]图5阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
[0009]图6阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
[0010]图7阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
[0011]图8阐述了根据本公开的实施方案的示出用于针对加载/存储推测进行基于地址的筛选的示例性方法的流程图。
具体实施方式
[0012]使用内容可寻址存储器(CAM)结构和查找操作来防止违反排序错误在功率使用方面是昂贵的。因此,通过减少加载存储单元(LSU)中CAM查找的次数,减少了LSU的总功率使用。本公开的实施方案使用筛选机制来为一些传入指令绕过诸如CAM查找等存储器操作。该筛选机制通过维护与先前接收到的存储或加载指令的地址或地址范围相对应的条目表来进行操作。如果传入的存储指令、加载指令或高速缓存探测包括的目标地址在先前接收到
的指令未针对的范围中,则该传入的存储指令、加载指令或高速缓存探测不需要CAM查找并且朝向完成来转发。在一些实施方案中,在LSU流水线中的许多不同阶段中利用该筛选机制。
[0013]图1是根据一些实施方案的用于针对加载/存储推测进行基于地址的筛选的非限制性的示例性计算系统(152)的框图。图1的计算系统(152)包括至少一个计算机处理器(156)或

CPU

以及随机存取存储器(168)(

RAM

),所述随机存取存储器通过高速存储器总线(166)和总线适配器(158)连接到处理器(156)和计算系统(152)的其他部件。
[0014]操作系统(154)存储在RAM(168)中。在计算机中用于针对加载/存储推测进行基于地址的筛选的操作系统包括UNIX
TM
、Linux
TM
、Microsoft Windows
TM
、AIX
TM
以及本领域技术人员将想到的其他操作系统。图1的示例中的操作系统(154)被示出为在RAM(168)中,但是这种软件的许多部件通常也存储在非易失性存储器中,诸如例如存储在数据存储装置(170)(诸如磁盘驱动器)上。
[0015]图1的计算系统(152)包括磁盘驱动器适配器(172),其通过扩展总线(160)和总线适配器(158)耦合到处理器(156)和计算系统(152)的其他部件。磁盘驱动器适配器(172)将呈数据存储装置(170)的形式的非易失性数据存储装置连接到计算系统(152)。在一些实施方案中,磁盘驱动器适配器包括集成驱动电子器件(

IDE

)适配器、小型计算机系统接口(

SCSI

)适配器和本领域技术人员将想到的其他磁盘驱动器适配器。在一些实施方案中,非易失性计算机存储器被实现为光盘驱动器、电可擦除可编程只读存储器(所谓的

EEPROM



闪速

存储器)、RAM驱动器等,如本领域技术人员将想到的。
[0016]图1的示例性计算系统(152)包括一个或多个输入/输出(

I/O

)适配器(178)。I/O适配器通过例如用于控制到诸如计算机显示屏等显示装置的输出以及来自诸如键盘和鼠标等用户输入装置(181)的用户输入的软件驱动器和计算机硬件来实现面向用户的输入/输出。图1的示例性计算系统(152)包括视频适配器(209),所述视频适配器是专门为到显示装置(180)(诸如显示屏或计算机监视器)的图形输出而设计的I/O适配器的示例。视频适配器(209)通过高速视频总线(164)、总线适配器(158)和也是高速总线的前侧总线(162)连接到处理器(156)。
[0017]图1的示例性计算系统(152)包括用于与其他计算机进行数据通信以及用于与数据通信网络进行数据通信的通信适配器(167)。在一些实施方案中,这样的数据通信通过RS

232连接、通过诸如通用串行总线(

USB

)等外部总线、通过诸如IP数据通信网络等数据通信网络以及以如本领域技术人员将想到的其他方式来连续地执行。通信适配器实现数据通信的硬件级别,一台计算机通过其直接或通过数据通信网络向另一台计算机发送数据通信。在一些实施方案中,通信适配器的示例包括用于有线拨号通信的调制解调器、用于有线数据通信的以太网(IEEE 802.3)适配器和用于无线数据通信的802.11适配器。
[0018]图2是根据一些实施方案的用于针对加载/存储推测进行基于地址的筛选的非限制性的示例性处理器(156)的框图。如图2所示,示例性处理器(156)包括加载存储单元(LSU)(200)、地址生成单元(202)、控制逻辑(204)、筛选表移位触发器(206)、违反排序存储器结构筛选表(208)和违反排序存储器结构(210)。图2中的LSU(200)的描绘包括表示LSU(200)中的不同特定结构的元件。具体地,在一些实施方案中,筛选表移位触发器(206)和违反排序存储器结构(210)应用于沿LSU(200)流水线的许多不同元件,如下所述。
[0019]LSU(200)是执行加载和存储指令的处理器(15本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种针对加载/存储推测进行基于地址的筛选的方法,所述方法包括:维护包括与地址范围相关联的表条目的筛选表;响应于接收到排序检查触发事务,使用所述排序检查触发事务的目标地址查询所述筛选表以确定依赖于所述排序检查触发事务的指令先前是否已经生成物理地址;以及响应于确定所述筛选表缺少指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,绕过违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作。2.如权利要求1所述的方法,其还包括:响应于确定所述筛选表包括指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,执行违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作。3.如权利要求1所述的方法,其中维护包括用于地址范围的表条目的所述筛选表包括:检测依赖指令已经生成物理地址;以及在与所述依赖指令的目标地址相关联的筛选表的条目中指示所述依赖指令生成了所述物理地址。4.如权利要求1所述的方法,其中维护包括与地址范围相关联的表条目的所述筛选表包括:响应于检测到特定时隙已经在以程序顺序解除分配的队列中被再使用,将所述筛选表中的所述表条目移位。5.如权利要求4所述的方法,其中以程序顺序解除分配的所述队列是从由存储队列和加载跟踪队列组成的组中选择的一个队列。6.如权利要求1所述的方法,其中维护包括与地址范围相关联的表条目的所述筛选表包括:响应于检测到预选择的重排序缓冲区ID的再使用,将所述筛选表中的所述表条目移位。7.如权利要求1所述的方法,其中所述筛选表包括多个单独的表。8.如权利要求1所述的方法,其中:所述排序检查触发事务是加载指令,接收所述排序检查触发事务包括检测到所述加载指令已经生成物理地址,使用所述排序检查触发事务的目标地址查询所述筛选表以确定依赖于所述排序检查触发事务的指令先前是否已经生成物理地址包括使用所述加载指令的目标地址查询所述筛选表以确定存储指令先前是否已经生成物理地址,确定所述筛选表缺少指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,包括确定所述筛选表缺少所述存储指令先前已经生成物理地址的指示,以及绕过违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作包括绕过存储到加载转发存储器结构中的用于确定所述存储当前是否在进行中的所述查找操作。9.如权利要求1所述的方法,其中:所述排序检查触发事务是存储指令,接收所述排序检查触发事务包括检测到所述存储指令已经生成物理地址,
使用所述排序检查触发事务的目标地址查询所述筛选表以确定依赖于所述排序检查触发事务的指令先前是否已经生成物理地址包括使用所述存储指令的目标地址查询所述筛选表以确定加载指令先前是否已经生成物理地址,确定所述筛选表缺少指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,包括确定所述筛选表缺少所述加载指令先前已经生成物理地址的指示,以及绕过违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作包括绕过无序缓冲区存储器结构中的用于确定所述加载当前是否在进行中的所述查找操作。10.如权利要求1所述的方法,其中:所述排序检查触发事务是高速缓存事件,接收所述排序检查触发事务包括检测到所述高速缓存事件已经生成物理地址,使用所述排序检查触发事务的目标地址查询所述筛选表以确定依赖于所述排序检查触发事务的指令先前是否已经生成物理地址包括使用所述高速缓存事件的所述目标地址查询所述筛选表以确定加载指令先前是否已经生成物理地址,确定所述筛选表缺少指示,即依赖于所述排序检查触发事务的所述指令先前已经生成物理地址的指示,包括确定所述筛选表缺少所述加载指令先前已经生成物理地址的指示,以及绕过违反排序存储器结构中的用于确定依赖于所述排序检查触发事务的所述指令当前是否在进行中的查找操作包括绕过加载顺序队列存储器结构中的用于确定所述加载当前是否在进行中的所述查找操作。11.一种具有针对加载/存储推测进行基于地址的筛选的处理器的加载存储单元,所述加载存储...

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

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

1