高速缓存器中的零时延预提取制造技术

技术编号:24335026 阅读:85 留言:0更新日期:2020-05-29 21:54
所描述实例涉及数字数据处理设备中的高速缓存系统,所述数字数据处理设备包含:中央处理单元核心;一级指令高速缓存器;和二级高速缓存器。所述二级高速缓存器中的高速缓存行的大小是所述一级指令高速缓存器中的高速缓存行的大小的两倍。所述中央处理单元核心在需要时经由请求地址请求额外程序指令。在所述一级指令高速缓存器中的未命中(2302)致使二级高速缓存行的上半部中的命中后,所述二级高速缓存器即刻将上半部层级高速缓存行供应到所述一级指令高速缓存器(2309)。在后续二级高速缓存存储器循环上,所述二级高速缓存器将所述高速缓存行的下半部供应到所述一级指令高速缓存器(2310)。此高速缓存器技术因此与普通预提取相比采用较少资源来预提取所述下半部二级高速缓存行。

Zero time delay pre extraction in high speed buffer

【技术实现步骤摘要】
【国外来华专利技术】高速缓存器中的零时延预提取本专利技术大体上涉及数字数据处理且更具体地说,涉及对高速缓存器的预提取。
技术介绍
常规数字数据处理器以非常快的时钟操作,且通常执行指令的速度比从通用存储器中召回指令的速度快。对将指令提供到数字数据处理器的问题的已知解决方案称为指令高速缓存。数字数据处理系统以物理和计算接近性对需要指令控制的数据要素提供小的快速存储器。此小的快速存储器存储所需指令的子集。数字数据处理器常常循环地工作。如果指令循环的全部或大部分存储在高速缓存器中,那么数字数据处理器可保持以比从通用存储器召回要快的速率用指令馈给。由于这些高速缓存方案,在实际需要之前确定将使用何指令是有帮助的。这类预提取使得高速缓存器能够存储指令以供在需要时召回。许多预提取技术存在一些问题。预提取请求消耗资源来确定高速缓存器是否已存储待预提取的数据。因此,预提取请求的优先级通常比按需请求的优先级低。
技术实现思路
实例实施例涉及数字数据处理设备中的高速缓存系统。所述数字数据处理设备包含:中央处理单元核心;一级指令高速缓存器;和二级高速缓存器。所述中央处理单元核心响应于程序指令而执行数据处理操作。所述中央处理单元核心在需要时经由请求地址发出对额外程序指令的指令请求。所述一级指令高速缓存器将程序指令子集暂时存储于一级高速缓存行中。当所述中央处理单元请求请求地址处的指令时,所述一级指令高速缓存器确定其是否将指令存储于所述请求地址处。如果是,那么所述一级指令高速缓存器供应请求的程序指令。如果否,那么所述一级指令高速缓存器将所述请求地址供应到二级高速缓存器以用于类似处置。二级高速缓存器中的高速缓存行的大小是一级指令高速缓存器中的高速缓存行的大小的两倍。在所述一级指令高速缓存器中的未命中致使二级高速缓存行的上半部中的命中后,所述二级高速缓存器即刻将上半部层级高速缓存行供应到所述一级指令高速缓存器。在后续二级高速缓存存储器循环上,所述二级高速缓存器将所述高速缓存行的下半部供应到所述一级指令高速缓存器。在这些情形下,所述二级高速缓存器包含用于存储此数据的寄存器。此高速缓存技术在这些情形下充当下半部二级高速缓存行的预提取。此预提取与普通预提取相比采用较少资源。附图说明图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是说明根据实例实施例的另一方面的操作的流程图。具体实施方式图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中搜查这些指令。在优选实施例中,一级指令高速缓存器121中的高速缓存行的大小等于提取包的大小。这些指令的存储器方位为二级组合式指令/数据高速缓存器130中的命中或未命中。命中由二级组合式指令/数据高速缓存器130服务。未命中由更高级高速缓存器(未说明)或由主存储器(未说明)服务。常规地,所请求的指令可同时供应给一级指令高速缓存器121和中央处理单元核心110两者以加速使用。在优选实施例中,中央处理单元核心110包含用以执行指令指定的数据处理任务的多个功能单元。指令调度单元112确定每一提取的指令的目标功能单元。在优选实施例中,中央处理单元110作为能够同时操作对应功能单元中的多个指令的超长指令字(VLIW)处理器进行操作。优选地,编译器组织执行包中的一起执行的指令。指令调度单元112将每一指令引导到其目标功能单元。指派给指令的功能单元完全由通过编译器产生的指令指定。中央处理单元核心110的硬件不参与此功能单元指派。在优选实施例中,指令调度单元112可并行地操作多个指令。这类并行指令的数目由执行包的大小设置。这将在下文进一步详述。指令调度单元112的调度任务的一个部分是确定指令是在标量数据路径侧A115还是向量数据路径侧B116中的功能单元上执行。每一指令内被称作s位的指令位确定指令控制哪个数据路径。这将在下文进一步详述。指令解码单元113解码当前执行包中的每一指令。解码包含识别执行指令的功能单元、识别可能的寄存器组当中用于为对应数据处理操作供应数据的寄存器,以及识别对应数据处理操作的结果的寄存器目的地。如下文进一步描述,指令可包含常量字段而非一个寄存器编号操作数字段。此解码的结果是本文档来自技高网...

【技术保护点】
1.一种数字数据处理设备,其包括:/n中央处理单元核心,其响应于程序指令而执行数据处理操作,所述中央处理单元核心经由请求地址发出对额外程序指令的指令请求;/n一级指令高速缓存器,其将程序指令子集暂时存储于第一数据大小的一级高速缓存行中,所述一级指令高速缓存器连接到所述中央处理单元核心并且接收每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:/n确定所述一级指令高速缓存器是否将程序指令存储于所述请求地址处,/n如果所述一级指令高速缓存器将程序指令存储于所述请求地址处,那么将所述程序指令供应到所述中央处理单元核心,和/n如果所述一级指令高速缓存器不将程序指令存储于所述请求地址处,那么供应所述请求地址;/n二级高速缓存器,其将程序指令子集暂时存储于第二数据大小的二级高速缓存行中,所述第二数据大小是所述第一数据大小的两倍,所述二级高速缓存器连接到所述一级指令高速缓存器并且接收所述一级指令高速缓存器供应的每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:/n确定所述二级高速缓存器是否将程序指令存储于所述请求地址处,/n如果所述二级高速缓存器将程序指令存储于所述请求地址处,那么/n确定所述请求地址的所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部/n如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且/n如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器并且在后续二级高速缓存存储器循环上,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。/n...

【技术特征摘要】
【国外来华专利技术】20171012 US 15/730,8741.一种数字数据处理设备,其包括:
中央处理单元核心,其响应于程序指令而执行数据处理操作,所述中央处理单元核心经由请求地址发出对额外程序指令的指令请求;
一级指令高速缓存器,其将程序指令子集暂时存储于第一数据大小的一级高速缓存行中,所述一级指令高速缓存器连接到所述中央处理单元核心并且接收每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:
确定所述一级指令高速缓存器是否将程序指令存储于所述请求地址处,
如果所述一级指令高速缓存器将程序指令存储于所述请求地址处,那么将所述程序指令供应到所述中央处理单元核心,和
如果所述一级指令高速缓存器不将程序指令存储于所述请求地址处,那么供应所述请求地址;
二级高速缓存器,其将程序指令子集暂时存储于第二数据大小的二级高速缓存行中,所述第二数据大小是所述第一数据大小的两倍,所述二级高速缓存器连接到所述一级指令高速缓存器并且接收所述一级指令高速缓存器供应的每一请求地址,在接收到请求地址后,所述一级指令高速缓存器即刻:
确定所述二级高速缓存器是否将程序指令存储于所述请求地址处,
如果所述二级高速缓存器将程序指令存储于所述请求地址处,那么
确定所述请求地址的所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述请求地址的所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器并且在后续二级高速缓存存储器循环上,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。


2.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元核心、所述一级指令高速缓存器和所述二级高速缓存器安置于单个集成电路上;且
其中所述二级高速缓存器在确定所述二级高速缓存器不将程序指令存储于所述请求地址处后,即刻将所述请求地址供应到另一存储器以获得高速缓存服务。


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


4.根据权利要求2所述的数字数据处理设备,其中:
所述额外存储器包含不安置于所述单个集成电路上的主存储器。


5.根据权利要求1所述的数字数据处理设备,其中:
所述二级高速缓存器包含
二级高速缓存存储器,其将所述程序指令子集暂时存储于所述二级高速缓存行中,
寄存器,其存储从所述二级高速缓存存储器召回的二级高速缓存行,所述寄存器具有存储所述二级高速缓存行的所述上半部的上半部和存储所述二级高速缓存行的所述下半部的下半部,
多路复用器,其具有连接到接收所述上半部高速缓存行的所述寄存器的第一输入、连接到接收所述下半部高速缓存行的所述寄存器的第二输入、连接到所述一级指令高速缓存器的输出和控制输入,所述多路复用器取决于所述控制输入上的信号而将所述第一输入或所述第二输入中的一个供应到所述输出。


6.根据权利要求5所述的数字数据处理设备,其中:
所述二级高速缓存器另外包含
多路复用器控制器,其接收所述请求地址并且连接到所述多路复用器的所述控制输入,所述多路复用器控制器取决于所述请求地址而控制所述多路复用器的选择。


7.根据权利要求6所述的数字数据处理设备,其中:
所述多路复用器控制器
控制所述多路复用器在对应于所述第一高速缓存器大小的所述请求地址的预先确定的位是0的情况下选择存储于所述寄存器中的所述下半部高速缓存行,
控制所述多路复用器在所述请求地址的所述预先确定的位是1的情况下选择存储于所述寄存器中的所述上半部高速缓存行。


8.根据权利要求1所述的数字数据处理设备,其中:
所述中央处理单元产生程序指令存储器按需请求和依据每一存储器按需请求的第一地址的所预测连续存储器存取的数目的指示;
在接收到预提取请求地址后,所述一级指令高速缓存器即刻另外:
产生等于先前按需请求地址的预提取请求地址,所述预提取请求地址以下一个一级高速缓存行大小递增直到达到所预测连续存储器存取的所述所指示数目,
确定所述一级指令高速缓存器是否将程序指令存储于所述预提取请求地址处,且
如果所述一级指令高速缓存器不将程序指令存储于所述预提取请求地址处,那么将所述预提取请求地址供应到所述二级高速缓存器;
在接收到预提取请求地址后,所述二级高速缓存器即刻:
确定所述二级高速缓存器是否将程序指令存储于所述预提取请求地址处,
如果所述二级高速缓存器将程序指令存储于所述预提取请求地址处,那么
确定所述对应一级指令高速缓存行是对应于对应二级指令高速缓存行的上半部还是下半部,
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的下半部,那么将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
如果所述对应一级指令高速缓存行对应于所述对应二级指令高速缓存行的上半部,那么将所述对应二级指令高速缓存行的所述上半部供应到所述一级指令高速缓存器;且
所述二级高速缓存器
仅在所述请求地址是按需请求地址时,将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器,且
仅在所述请求地址是预提取请求地址时,不将所述对应二级指令高速缓存行的所述下半部供应到所述一级指令高速缓存器。


9.根据权利要求8所述的数字数据处理设备,其中:
在从所述二级高速缓存器接收到一半高速缓存行后,所述一级指令高速缓存器即刻另外:
确定所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址还是预提取请求地址抑或是下半部高速缓存行响应于对应上半部高速缓存行的按需请求,
如果所述半高速缓存行从所述二级高速缓存器的所述供应是响应于按需请求地址,那么存储来自所述二级高速缓存器的所述半高速缓存行并且将来自所述二级高速缓存器的所述半高速缓存行供应到所述中央处理单元核心...

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

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

1