用飞行中预取服务于CPU需求请求制造技术

技术编号:24335027 阅读:57 留言:0更新日期:2020-05-29 21:54
为高速缓存中的未命中的指令请求可能在高速缓存系统正服务于对相同指令的待决预取时发生。常规上,通过比较记分板中所有条目的请求地址来检测特定高速缓存危险。程序存储器控制器将所分配通道存储在所述记分板中。程序存储器控制器比较(2305)需求请求的所述所分配通道与所有记分板条目的所述所分配通道。仅在所述所分配通道匹配(2306)时才发生所述高速缓存危险。在通道比较(2305,2306)之后,将需求请求地址仅与具有匹配通道的那些记分板条目的所述请求地址进行比较(2308)。在此时间期间不对其它地址比较器供电。此用以减少检测此高速缓存危险所需要的电力。

Using prefetch in flight to serve CPU request

【技术实现步骤摘要】
【国外来华专利技术】用飞行中预取服务于CPU需求请求
此大体上涉及数字数据处理,且更确切地说,涉及高速缓存操作。
技术介绍
常规数字数据处理器以非常快的时钟操作,且通常执行指令的速度比其从通用存储器中召回的速度快。对将指令提供到数字数据处理器的问题的已知解决方案称为指令高速缓存。数字数据处理系统以物理及计算接近性对需要指令控制的数据要素提供小的快速存储器。此小的快速存储器存储所需指令的子集。数字数据处理器常常循环地工作。如果指令循环的全部或大部分存储在高速缓存中,则数字数据处理器可保持以比从通用存储器重新调用要快的速率用指令馈送。由于这些高速缓存方案,在实际需要之前确定将使用何指令是有帮助的。此类预取使得高速缓存能够预测对于指令的需要。在需要时,预取的指令可能已经存储在高速缓存中。许多预取技术存在一些问题。举例来说,由CPU提取的需求可能在对相同指令的预取待决的同时发生。
技术实现思路
一种数字数据处理设备包含:中央处理单元核心;以及一级指令高速缓存。所述中央处理单元核心响应于程序指令而执行数据处理操作。所述中央处理单元核心在需要时经由请求地址发布对额外程序指令的指令请求。所述一级指令高速缓存在一级高速缓存行中暂时存储程序指令的子集。在所述中央处理单元请求请求地址处的指令时,所述一级指令高速缓存确定其是否在所述请求地址处存储所述指令。如果是,则所述一级指令高速缓存供应所述所请求程序指令。如果否,则所述一级指令高速缓存将所述请求地址供应到另一存储器以获得高速缓存服务。所述包含分支预测器,其预测程序分支的所采取/未采取状态。在指令请求时,所述分支预测器计算且供应在指令存取之后在预测支路将脱离线性路径之前所请求的线性后续指令的数目的指令计数。预取单元接收所述指令请求地址及所述指令计数。所述预取单元依序产生对在所述所请求指令之后的线性后续指令的高速缓存预取请求直到所述指令计数。程序存储器控制器确定所述一级指令高速缓存是否存储所预取指令的所请求指令。如果所述高速缓存存储所请求指令,则将其从所述高速缓存供应到所述中央处理单元核心。如果所述高速缓存存储所预取指令,则所述程序存储器控制器不采取动作。如果所述高速缓存不存储所请求指令或所预取指令,则所述程序控制器从另一存储器请求高速缓存服务。所述程序存储器控制器确定为所述请求地址分配的高速缓存通道。在所述高速缓存服务待决时,所述请求地址、所述对应的所分配高速缓存通道及请求识别码存储在记分板条目中。在由指令请求触发预取的情况下,有可能在高速缓存系统正服务于对在所述高速缓存中未命中的后续指令的待决预取的同时出现对相同指令的指令请求。在此情境中,产生对所述指令请求的高速缓存服务请求会造成冗余操作。此举否定了待决预取的价值。常规上,通过比较指令请求的指令请求地址与记分板中所有条目的请求地址来检测特定高速缓存危险。由于地址大小及记分板条目的数目,此可能需要相当大的电力。如果检测到高速缓存危险,则修改记分板条目以将待决预取改变为需求提取。因此,通过返回到待决预取来服务于稍后出现的指令请求。如果未检测到危险,则程序存储器控制器请求对所述需求请求的高速缓存服务。在所描述的实施例中,以节省电力的方式检测此指令危险。所述程序存储器控制器在确定高速缓存未命中时确定所述高速缓存通道。此所确定高速缓存通道存储在用于所述高速缓存服务请求的所述记分板条目中。在产生危险的条件(对于与待决预取相同的指令,需求请求未命中高速缓存)下,所述需求请求与所述预取将分配到相同通道。所述程序存储器控制器比较所述需求请求的所述所分配通道与所有所述记分板条目的所分配通道。仅在所述所分配通道匹配时才发生高速缓存危险。在通道比较之后,将所述需求请求地址仅与具有匹配通道的那些记分板条目的请求地址进行比较。在此时间期间不对其它地址比较器供电。此用以减少检测此高速缓存危险所需要的电力。附图说明图1说明根据一个实施例的双标量/向量数据路径处理器。图2说明图1中所说明的双标量/向量数据路径处理器中的寄存器及功能单元。图3说明全局标量寄存器组。图4说明由算术功能单元共享的局部标量寄存器组。图5说明由乘法功能单元共享的局部标量寄存器组。图6说明由加载/存储单元共享的局部标量寄存器组。图7说明全局向量寄存器组。图8说明预测寄存器组。图9说明由算术功能单元共享的局部向量寄存器组。图10说明由乘法及相关功能单元共享的局部向量寄存器组。图11说明根据优选实施例的中央处理单元的管线阶段。图12说明单个提取包的十六个指令。图13说明由实例实施例使用的指令的指令译码的实例。图14说明条件码扩展时隙0的位译码。图15说明条件码扩展时隙1的位译码。图16说明常量扩展时隙0的位译码。图17为说明常量扩展的部分框图。图18说明根据实例实施例的用于SIMD操作的进位控制。图19说明中央处理单元核心与指令高速缓存及辅助支持结构的组合的一个视图。图20说明中央处理单元核心与指令高速缓存及辅助支持结构的组合的第二视图。图21说明如何剖析提取地址的位以进行处置。图22说明用于二级组合式指令/数据高速缓存的控制器的相关细节。图23为说明根据实例实施例的一个方面的操作的流程图。图24为说明实例实施例的一个方面的部分示意图。图25为说明根据实例实施例的另一方面的操作的流程图。具体实施方式图1说明根据优选实施例的双标量/向量数据路径处理器。处理器100包含分离的一级指令高速缓存(L1I)121及一级数据高速缓存(L1D)123。处理器100包含保存指令及数据两者的二级组合式指令/数据高速缓存(L2)130。图1说明一级指令高速缓存121与二级组合式指令/数据高速缓存130之间的连接(总线142)。图1说明一级数据高速缓存123与二级组合式指令/数据高速缓存130之间的连接(总线145)。在处理器100的优选实施例中,二级组合式指令/数据高速缓存130存储指令以备份一级指令高速缓存121且存储数据以备份一级数据高速缓存123。在优选实施例中,二级组合式指令/数据高速缓存130以图1中未说明的方式进一步连接到更高级高速缓存及/或主存储器。在优选实施例中,中央处理单元核心110、一级指令高速缓存121、一级数据高速缓存123及二级组合式指令/数据高速缓存130形成于单个集成电路上。此信号集成电路任选地包含其它电路。中央处理单元核心110如在指令提取单元111的控制下从一级指令高速缓存121提取指令。指令提取单元111确定待执行的下一些指令且召回这类指令的提取包大小的集合。下文进一步详述提取包的本质及大小。常规上,在高速缓存命中(如果指令存储在一级指令高速缓存121中)时,直接从一级指令高速缓存121提取这些指令。在高速缓存未命中(指定指令提取包并未存储在一级指令高速缓存121中)之后,在二级组合式指令/数据高速缓存130中本文档来自技高网...

【技术保护点】
1.一种数字数据处理设备,其包括:/n中央处理单元核心,其响应于程序指令而执行数据处理操作,所述中央处理单元核心经由请求地址而发布对额外程序指令的指令请求,所述中央处理单元核心包含分支预测器,所述分支预测器发布在指令存取之后、在预测支路将脱离线性路径之前将请求的线性后续指令的预测数目的指令计数;/n一级指令高速缓存,其在多个高速缓存通道中的一级高速缓存行中暂时存储程序指令的子集;/n程序存储器控制器,其连接到所述中央处理单元核心以用于接收请求地址,且连接到所述一级指令高速缓存及另一存储器,所述程序存储器控制器包含/n预取有限状态机,其接收所述请求地址及所述指令计数,所述预取有限状态机依序发布对所述线性路径上的指令的预取请求,/n记分板,其包含多个条目,每一条目包含请求地址及所分配高速缓存通道;所述程序存储器控制器/n确定所述一级指令高速缓存是否在指令请求或预取请求的所述请求地址处存储程序指令,/n如果所述一级指令高速缓存在指令请求的所述请求地址处存储程序指令,则将所述程序指令从所述一级指令高速缓存供应到所述中央处理单元核心,/n如果所述一级指令高速缓存不在预取请求的所述请求地址处存储程序指令:/n分配所述一级指令高速缓存内对应于所述预取请求的所述请求地址的通道,将包含所述对应请求地址及所述预取请求的所述对应所分配通道的新条目存储在所述记分板中,/n如果所述一级指令高速缓存不在指令请求的所述请求地址处存储程序指令:/n分配所述一级指令高速缓存内对应于所述指令请求的所述请求地址的通道,将所述指令请求的所述请求地址的所述所分配通道与所述记分板中的每一条目的所述所分配通道进行比较:/n如果所述请求地址的所述所分配通道不匹配所述记分板中的任何条目的所述所分配通道,则将包含所述对应请求地址及所述指令请求的所述对应所分配通道的新条目存储在所述记分板中,/n如果所述请求地址的所述所分配通道匹配所述记分板中的任何条目的所述所分配通道,/n将所述指令请求的所述请求地址与每一记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址进行比较,/n如果所述指令请求的所述请求地址不匹配任何记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址,则将包含所述对应请求地址及所述指令请求的所述对应所分配通道的新条目存储在所述记分板中,/n如果所述指令请求的所述请求地址匹配任何记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址,则不将新条目存储在所述记分板中,/n供应新记分板条目的所述请求地址以从所述另一存储器获得高速缓冲服务,及/n在接收到响应于来自所述另一存储器的对应请求地址的传回时,删除所述记分板中的条目;/n在接收到对所述另一存储器的高速缓存服务请求的传回时/n将所述传回在对应于所述请求地址及对应记分板条目的所述所分配通道的位置处存储在所述一级指令高速缓存中;以及/n如果所述传回数据是响应于指令请求,则将所述传回供应到所述中央处理单元核心。/n...

【技术特征摘要】
【国外来华专利技术】20171012 US 15/730,8931.一种数字数据处理设备,其包括:
中央处理单元核心,其响应于程序指令而执行数据处理操作,所述中央处理单元核心经由请求地址而发布对额外程序指令的指令请求,所述中央处理单元核心包含分支预测器,所述分支预测器发布在指令存取之后、在预测支路将脱离线性路径之前将请求的线性后续指令的预测数目的指令计数;
一级指令高速缓存,其在多个高速缓存通道中的一级高速缓存行中暂时存储程序指令的子集;
程序存储器控制器,其连接到所述中央处理单元核心以用于接收请求地址,且连接到所述一级指令高速缓存及另一存储器,所述程序存储器控制器包含
预取有限状态机,其接收所述请求地址及所述指令计数,所述预取有限状态机依序发布对所述线性路径上的指令的预取请求,
记分板,其包含多个条目,每一条目包含请求地址及所分配高速缓存通道;所述程序存储器控制器
确定所述一级指令高速缓存是否在指令请求或预取请求的所述请求地址处存储程序指令,
如果所述一级指令高速缓存在指令请求的所述请求地址处存储程序指令,则将所述程序指令从所述一级指令高速缓存供应到所述中央处理单元核心,
如果所述一级指令高速缓存不在预取请求的所述请求地址处存储程序指令:
分配所述一级指令高速缓存内对应于所述预取请求的所述请求地址的通道,将包含所述对应请求地址及所述预取请求的所述对应所分配通道的新条目存储在所述记分板中,
如果所述一级指令高速缓存不在指令请求的所述请求地址处存储程序指令:
分配所述一级指令高速缓存内对应于所述指令请求的所述请求地址的通道,将所述指令请求的所述请求地址的所述所分配通道与所述记分板中的每一条目的所述所分配通道进行比较:
如果所述请求地址的所述所分配通道不匹配所述记分板中的任何条目的所述所分配通道,则将包含所述对应请求地址及所述指令请求的所述对应所分配通道的新条目存储在所述记分板中,
如果所述请求地址的所述所分配通道匹配所述记分板中的任何条目的所述所分配通道,
将所述指令请求的所述请求地址与每一记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址进行比较,
如果所述指令请求的所述请求地址不匹配任何记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址,则将包含所述对应请求地址及所述指令请求的所述对应所分配通道的新条目存储在所述记分板中,
如果所述指令请求的所述请求地址匹配任何记分板条目的匹配所述指令请求的所述所分配通道的所述请求地址,则不将新条目存储在所述记分板中,
供应新记分板条目的所述请求地址以从所述另一存储器获得高速缓冲服务,及
在接收到响应于来自所述另一存储器的对应请求地址的传回时,删除所述记分板中的条目;
在接收到对所述另一存储器的高速缓存服务请求的传回时
将所述传回在对应于所述请求地址及对应记分板条目的所述所分配通道的位置处存储在所述一级指令高速缓存中;以及
如果所述传回数据是响应于指令请求,则将所述传回供应到所述中央处理单元核心。


2.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元核心、所述一级指令高速缓存设置在单个集成电路上。


3.根据权利要求2所述的数字数据处理设备,其中:
所述另一存储器包含设置于所述单个集成电路上的二级高速缓存。


4.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元核心产生指示指令请求的所述请求地址是否有效的地址有效信号;
所述记分板的每一条目存储需求提取/预取位,其具有:第一状态,其在所述条目对应于指令请求时、在所述地址有效信号指示所述请求地址有效时指示需求提取;及第二状态,其在所述条目对应于预取请求时、在所述地址有效信号指示所述请求地址无效时指示预取。


5.根据权利要求1所述的数字数据处理设备,其中:
所述程序存储器控制器进一步包含数目等于记分板条目的数目的多个请求地址比较器,每一请求地址比较器具有从所述记分板条目中的一个对应记分板条目接收请求地址的第一输入端、接收所述指令请求的所述请求地址的第二输入端及指示匹配或不匹配的...

【专利技术属性】
技术研发人员:O·奥洛罗德R·文卡塔苏巴拉尼亚
申请(专利权)人:德州仪器公司
类型:发明
国别省市:美国;US

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

1