用于转移目标的指令高速缓冲存储器通路预测制造技术

技术编号:2859361 阅读:255 留言:0更新日期:2012-04-11 18:40
通常高速缓冲存储器体系结构提供单个高速缓冲存储器通路预测存储器,以供为程序流中包括的顺序和非顺序指令预测高速缓冲存储器通路而使用。不幸的是,现有技术的高速缓冲存储器通路预测方案的缺点之一在于当处理以非顺序方式改变PC的指令时其效率问题,所述指令诸如是包括转移指令的分支指令。为了易于高速缓存非顺序指令,提供了附加的高速缓冲存储器通路预测存储器来处理非顺序指令。由此,在程序执行期间,判定电路依据指令类型(252,253)来确定是使用顺序高速缓冲存储器通路(251)预测阵列还是非顺序高速缓冲存储器通路(271)预测阵列。有益的是,当用于非顺序指令时,改进的高速缓冲存储器通路预测方案增加了高速缓冲存储器命中百分比。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及高速缓冲存储器通路预测,更具体地说,涉及供执行程序流中的指令之用的高速缓冲存储器通路预测领域,其中所述程序流包括非顺序属性的指令。
技术介绍
随着集成电路技术向更小特征尺寸的发展,更快的中央处理单元(CPU)也因此正在发展。令人遗憾的是,主存储器的访问时间还没有与CPU的那些相匹配,其中所述主存储器是随机访问存储器(RAM)的形式,并且其中通常存储有指令数据。所述CPU必须访问这些较慢的设备,以求从其中检索指令以便对指令进行处理。在检索这些指令的过程中,在CPU和较慢的RAM之间出现了瓶颈。通常,为了减少这种瓶颈的影响,在主存储器和CPU之间提供高速缓冲存储器,以便向具有较低等待时间的处理器提供最近使用的(MRU)指令和数据。对于本领域中普通技术人员已知的是,高速缓冲存储器在尺寸方面通常较小,并且比主存储器提供更快的访问时间。高速缓冲存储器促进了该更快的访问时间,所述高速缓冲存储器通常驻留在处理器之内,或者离其非常近的地方。高速缓冲存储器通常具有不同于主存储器的物理类型。主存储器使用电容器来存储数据,其中刷新周期是必需的,以便保持电容器上的电荷。另一方面,高速缓冲存储器不需要像主存储器那样刷新。高速缓冲存储器通常具有静态随机访问存储器(SRAM)的形式,其中在没有刷新的情况下使用大约六个晶体管存储每个位。因为在SRAM之内使用更多的晶体管来表示所述位,所以此类存储器的每位的尺寸远大于动态随机存储器,从而还比动态随机存储器更加昂贵。因此,高速缓冲存储器在计算机系统之内可以少量地使用,其中将这种相对小的高速存储器通常用于保存主存储器块的最近被处理器使用的内容。高速缓冲存储器的用途在于增加从主存储器流入CPU的信息的指令和数据带宽,并且用于减少涉及从主存储器传送信息的等待时间。带宽可以确定在特定的时间量中可以传送的信息量;等待时间确定花费在检索确定信息项上的时间,换言之,可以确定从请求的时间到递送所述项目的时间所花费的时间量。存在不同结构的高速缓冲存储器,用于提供增加的带宽并且减少的等待时间,诸如直接映射的以及高速缓冲存储器通路集合-关联的。当然,在高速缓冲存储器设计中等待时间和带宽两者都很重要,并且对于许多本领域技术人员来说,事实上所述高速缓冲存储器通路集合—关联高速缓冲存储器结构是优选的。在所述集合-关联结构中,以及在直接映射的高速缓冲存储器结构中,所述高速缓冲存储器通常被配置为两部分,即数据阵列和标记阵列。所述标记阵列用于存储标记地址,该标记地址用于与存储在数据阵列中的数据字节对应。通常,每个标记条目与数据阵列条目相关联,其中每个标记条目存储涉及每个数据阵列条目的索引信息。两个阵列是二维的并且将它们编组成行和列。通常将数据阵列或者标记阵列中的列称为高速缓冲存储器通路,其中在同一高速缓冲存储器中可以存在一个以上的高速缓冲存储器通路。由此,四个高速缓冲存储器通路集合-关联高速缓冲存储器往往被配置为具有四列,即四条高速缓冲存储器通路,其中数据和标记阵列每个还具有4列。所述处理器按类似于装配线的方式来执行程序流中包含的指令。提供了处理器流水线来简化对程序流中包含的多个指令的处理器操作。术语处理器流水线指的是多个处理步骤或者阶段,它旨在完成一项任务;处理步骤越少,那么流水线就会越短并且越有效。将处理器流水线中的阶段的深度定义为通过所述阶段的时间延迟。由此,阶段的深度影响处理器的操作频率。因此,具有更多阶段的更深的流水线已经在处理器中实现。具有大量阶段导致在每个阶段中存在更短的时间延迟,由此给那些阶段带来更高的操作频率。有效的处理器设计平衡了阶段数量和通过所述阶段的延迟。由此,阶段数目和每个阶段的深度都确定处理器的处理效率。在处理器流水线内,每个处理器流水线阶段在将执行传递给流水线内的下一处理阶段以前、执行特定的任务。在处理器流水线内,顺序地载入指令,由此,将一个指令的一部分在上一个指令之后处理。因为所述处理器同时对不同指令的不同阶段起作用,所以可以使用流水线在更短的时间周期中执行更多的指令,由此加速执行程序流。一旦已经全部地处理了指令,它就离开流水线。在CPU执行流水线中的指令期间,主存储器和高速缓冲存储器两者都被访问。首先访问高速缓冲存储器,以便查看对应的数据字节是否满足存储器访问请求,如果不满足所述存储器访问请求,那么访问主存储器。在高速缓冲存储器访问操作中,由载入/存储单元访问集合-关联高速缓冲存储器,所述载入/存储单元为驻留在存储器访问地址处的数据搜索数据高速缓冲存储器。高速缓冲存储器通路预测阵列是一种存储器,其中将索引存储到高速缓冲存储器通路中,在高速缓冲存储器通路上数据块很可能驻留在数据阵列中。所述高速缓冲存储器通路预测阵列通常在每个条目中存储多个位,其中每个条目根据存储器访问地址表明哪个高速缓冲存储器通路已经被最近使用(MRU)。将高速缓冲存储器通路预测阵列的行与存储器访问地址相关联。由于在标记比较之前访问潜在的高速缓冲存储器通路,所以提供高速缓冲存储器通路预测阵列潜在地减少了处理时间。当执行高速缓冲存储器访问时,高速缓冲存储器通路预测阵列用于访问高速缓冲存储器通路,在所述通路中可以潜在地驻留数据,因此如果实现了正确的高速缓冲存储器通路预测,那么由此可以减少存储器访问时间。当然,当顺序的标记查找跟随有数据结构查找时,是这样的情况。同时访问标记和数据结构的方法具有与基于高速缓冲存储器通路预测的方法相同的访问时间。使用高速缓冲存储器通路预测的优点在于从数据阵列中,只访问单个预测的高速缓冲存储器通路。因此,它允许降低功耗,并且使SRAM存储器电路中的物理布局更佳。在高速缓冲存储器通路预测之后,在数据阵列中可以允许由预测位表示的高速缓冲存储器通路,而在标记阵列中允许所有高速缓冲存储器通路。在数据阵列中允许单个高速缓冲存储器通路提供了功耗的减少。因为后来使用从标记阵列检索的标记地址确认预测,所以允许所有的标记阵列通路。通常,所述标记地址在位大小方面小于从数据阵列的条目中检索的数据。因此,当在标记阵列中允许所有高速缓冲存储器通路时,功耗不是很大的问题。降低功耗在多问题超标量或者超长指令字(VLIW)处理器中特别有益,在这些处理器中,在每个周期中检索大量的指令信息。当然对于本领域技术人员来讲可以理解的是,这只对于指令高速缓冲存储器有代表性,而对数据高速缓冲存储器没有,这将在下文讨论。审查标记阵列中的标记地址来确定其任意一个是否都与存储器访问地址匹配。为了提供关于高速缓冲存储器通路预测的准确性的反馈,使用标记比较逻辑电路来执行标记比较,以便验证高速缓冲存储器是“命中”还是“未命中”。如果找到匹配,那么所述访问可以说是高速缓冲存储器命中,并且所述高速缓冲存储器提供来自于数据阵列的关联数据字节。如果没有找到匹配,那么所述访问可以说是高速缓冲存储器未命中。当发生高速缓冲存储器未命中时,所述处理器经历停止(stall)周期。在停止周期期间,所述载入/存储单元从主存储器中检索所需数据,并且将此数据提供给处理器,以便它可以将其对指令流的执行恢复到停止周期的结束。另外,所述载入/存储单元令所请求的数据字节从主存储器传送到数据阵列中。此外,将与检索到的数据相关联的一部分存储器访问地址存储在标记阵本文档来自技高网...

【技术保护点】
一种用于存储与检索处理器执行的程序流中包含的顺序和非顺序指令的高速缓冲存储器,包括:标记阵列(252),其被设置在多个行和多个高速缓冲存储器通路中,所述多个高速缓冲存储器通路具有多个存储单元,所述多个存储单元位于所述多个行之一和所述 多个高速缓冲存储器通路之一的每个交叉点处,来自于多个存储单元的每个所述存储单元用于存储标记地址;数据阵列(253),其被设置在多个行和多个高速缓冲存储器通路中,所述多个高速缓冲存储器通路具有多个存储单元,所述多个存储单元位于所述多个 行之一和所述多个高速缓冲存储器通路之一的每个交叉点处,来自于多个存储单元的每个所述存储单元用于存储涉及指令的数据字节;第一高速缓冲存储器通路预测阵列(251),其具有设置在多个行中的多个存储单元,来自于多个存储单元的每个存储单元用于 存储高速缓冲存储器通路预测位的第一集合;第二高速缓冲存储器通路预测阵列(271),其具有设置在多个行中的多个存储单元,来自于多个存储单元的每个存储单元用于存储高速缓冲存储器通路预测位的第二集合;以及,判定电路(298),其用 于接收来自于程序流的指令,所述判定电路用于确定所述指令是否是顺序和非顺序的类型之一,并且用于分别允许第一高速缓冲存储器通路预测阵列(251)和第二高速缓冲存储器通路预测阵列(271)之一,根据以上的选择,在请求地址访问的所述允许的预测阵列分别检索高速缓冲存储器通路预测位的第一集合和高速缓冲存储器通路预测位的第二集合之一,用于根据所检索到的预测位允许位于标记阵列(252)和数据阵列(253)之中的高速缓冲存储器通路,以便简化在允许的高速缓冲存储器通路之内分别从标记阵列和数据阵列检索标记地址和数据字节。...

【技术特征摘要】
【国外来华专利技术】US 2002-8-12 10/218,0741.一种用于存储与检索处理器执行的程序流中包含的顺序和非顺序指令的高速缓冲存储器,包括标记阵列(252),其被设置在多个行和多个高速缓冲存储器通路中,所述多个高速缓冲存储器通路具有多个存储单元,所述多个存储单元位于所述多个行之一和所述多个高速缓冲存储器通路之一的每个交叉点处,来自于多个存储单元的每个所述存储单元用于存储标记地址;数据阵列(253),其被设置在多个行和多个高速缓冲存储器通路中,所述多个高速缓冲存储器通路具有多个存储单元,所述多个存储单元位于所述多个行之一和所述多个高速缓冲存储器通路之一的每个交叉点处,来自于多个存储单元的每个所述存储单元用于存储涉及指令的数据字节;第一高速缓冲存储器通路预测阵列(251),其具有设置在多个行中的多个存储单元,来自于多个存储单元的每个存储单元用于存储高速缓冲存储器通路预测位的第一集合;第二高速缓冲存储器通路预测阵列(271),其具有设置在多个行中的多个存储单元,来自于多个存储单元的每个存储单元用于存储高速缓冲存储器通路预测位的第二集合;以及,判定电路(298),其用于接收来自于程序流的指令,所述判定电路用于确定所述指令是否是顺序和非顺序的类型之一,并且用于分别允许第一高速缓冲存储器通路预测阵列(251)和第二高速缓冲存储器通路预测阵列(271)之一,根据以上的选择,在请求地址访问的所述允许的预测阵列分别检索高速缓冲存储器通路预测位的第一集合和高速缓冲存储器通路预测位的第二集合之一,用于根据所检索到的预测位允许位于标记阵列(252)和数据阵列(253)之中的高速缓冲存储器通路,以便简化在允许的高速缓冲存储器通路之内分别从标记阵列和数据阵列检索标记地址和数据字节。2.如权利要求1所述的高速缓冲存储器,其中每个行是高速缓冲存储器集。3.如权利要求2所述的高速缓冲存储器,包括程序计数器,由所述处理器使用以便执行程序流中的指令,并且其中所述请求地址从程序计数器中导出。4.如权利要求3所述的高速缓冲存储器,其中判定电路(298)包括当程序计数器索引的指令不同于分支指令时,用于允许第一高速缓冲存储器通路预测阵列(251)并且禁止第二高速缓冲存储器通路预测阵列(271)的电路。5.如权利要求3所述的高速缓冲存储器,其中判定电路包括当所述程序计数器索引的指令不同于分支指令时,用于禁止第一高速缓冲存储器通路预测阵列(251)并且允许第二高速缓冲存储器通路预测阵列(271)的电路。6.如权利要求3所述的高速缓冲存储器,其中判定电路包括当所述程序计数器索引的指令是转移指令时,用于禁止第一高速缓冲存储器通路预测阵列(251)并且允许第二高速缓冲存储器通路预测阵列(271)的电路。7.如权利要求2所述的高速缓冲存储器,其中所述高速缓冲存储器通路预测阵列(251,271)包括地址输入端口,并且其中到所述高速缓冲存储器通路预测阵列的所述地址输入端口分别相互耦合,使得将同一地址数据提供给每个高速缓冲存储器通路预测阵列,并且依靠所述指令类型来确定从高速缓冲存储器通路预测阵列检索到的数据的不同。8.如权利要求2所述的高速缓冲存储器,其中所述第一高速缓冲存储器通路预测(251)阵列包括比第二高速缓冲存储器通路预测阵列(271)更多的存储单元。9.如权利要求2所述的高速缓冲存储器,其中所述第二高速缓冲存储器通路预测阵列(271)包括比所述第一高速缓冲存储器通路预测阵列(251)更多的存储单元。10.如权利要求2所述的高速缓冲存储器,其中所述高速缓冲存储器(204)用于高速缓存指令数据。11.一种允许来自多个高速缓冲存储器预测阵列的一个高速缓冲存储器预测阵列的方法,该方法包括以下步骤提供在程序计数器的地址处的指令,以供处理器后续执行;确定所述指令是否是预定类型的指令;并且,如果所述指令不同于预定类型的指令,那么允许第一高速缓冲存储器预测阵列(251),并且如果所述指令是预定类型的指令,那么允许第二高速缓冲存储器预测阵列(271)。12.如权利要求11所述的方法,其中预定类型的指令包括分支指令。13.如权利要求12所述的方法,其中所述分支指令是令程序计数器在指令数据流内非顺序地改变的指令类型。14.如权利要求13所述的方法,其中分支指令包括用于将程序计数器改变为超出指令数据的当前电子页的值的指令。15.一种在其中存储有数据的存储器,所述数据涉及执行以下步骤的指令,所述步骤为提供在程序计数器的地址处的指令,以供处理器...

【专利技术属性】
技术研发人员:JW范德维尔德特
申请(专利权)人:皇家飞利浦电子股份有限公司
类型:发明
国别省市:NL[荷兰]

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

1
相关领域技术
  • 暂无相关专利