【技术实现步骤摘要】
【国外来华专利技术】相关申请的交叉引用本申请要求2014年10月8日提交的美国临时申请序列号62/061,242的优先权,在此通过引用包含其全部内容以用于所有的目的和用途。
本专利技术通常涉及微处理器高速缓存系统,并且更特别地涉及具有主高速缓存器和溢出FIFO高速缓存器的高速缓存系统。
技术介绍
现代微处理器包括用于减少存储器访问延迟并且提高整体性能的存储器高速缓存器系统。系统存储器位于微处理器的外部并且经由系统总线等访问该系统存储器,使得系统存储器访问相对较慢。通常,高速缓存器是用于以透明方式存储根据先前请求从系统存储器中检索到的数据、使得将来针对相同数据的请求可以更快检索的更小且更快速的本地存储器组件。高速缓存器系统自身通常是以具有多个高速缓存级的层级方式配置成的,其中这多个高速缓存级诸如包括更小且更快速的第一级(L1)高速缓冲存储器和略大且略慢的第二级(L2)高速缓冲存储器等。尽管可以设置附加的级,但由于附加的级以相似的方式相对于彼此进行工作、并且由于本公开主要关注L1高速缓存器的结构,因此没有进一步论述这些附加的级。在所请求的数据位于L1高速缓存器中从而引起高速缓存器命中(cachehit)的情况下,在延迟最小的情况下检索到该数据。否则,在L1高速缓存器中发生高速缓存未命中(cachemiss)并且在L2高速缓存器中搜索同一数据。L2高速缓存器是以与L1高速缓存器分开的方式进行搜索的单独的高速缓存器r>阵列。此外,L1高速缓存器具有的组(set)和/或路(way)更少,与L2高速缓存器相比通常更小且更快速。在所请求的数据位于L2高速缓存器中、从而调用L2高速缓存器中的高速缓存器命中的情况下,与L1高速缓存器相比,在延迟增加的状态下检索到数据。否则,如果在L2高速缓存器中发生高速缓存未命中,则在与该高速缓冲存储器相比延迟明显变大的状态下从更高的高速缓存级和/或系统存储器检索数据。将来自L2高速缓存器或系统存储器的所检索到的数据存储在L1高速缓存器中。L2高速缓存器用作将从L1高速缓存器驱逐的条目存储在L2高速缓存器中的“驱逐(eviction)”阵列。由于L1高速缓存器是有限的资源,因此新检索到的数据可以移置或驱逐L1高速缓存器中否则将为有效的条目,该条目被称为“丢弃者(victim)”。如此将L1高速缓存器的丢弃者存储在L2高速缓存器中,并且将L2高速缓存器的任何丢弃者(在存在的情况下)存储在更高级中、或者丢弃。可以实现诸如本领域普通技术人员所理解的最近最少使用(LRU)等的各种替换策略。许多现代微处理器还包括虚拟存储器能力、并且特别是存储器分页机制。如本领域内众所周知的,操作系统创建该操作系统存储在系统存储器中的用于将虚拟地址转译成物理地址的页表。诸如根据如2006年6月出版的IA-32IntelArchitectureSoftwareDeveloper’sManual,Volume3A:SystemProgrammingGuide,Part1中的第三章所述的x86架构处理器所采用的众所周知的方案等,这些页表可以是以层级方式配置的,其中上述文献的全部内容通过引用包含于此以用于所有的目的和用途。特别地,页表包括存储物理存储器页的物理页地址和物理存储器页的属性的各页表条目(PTE)。用于获取虚拟存储器页地址并且使用该虚拟存储器页地址遍历页表层级体系以最终获得与该虚拟地址相关联的PTE、从而使虚拟地址转译成物理地址的处理通常被称为表查找(tablewalk)。物理系统存储器访问的延迟相对较慢,使得表查找由于涉及潜在地向物理存储器的多个访问,因此是相对昂贵的操作。为了避免引发与表遍历相关联的时间,处理器通常包括对虚拟向物理的地址转译进行高速缓存的转译后备缓冲器(TLB)高速缓存方案。TLB的大小和结构影响性能。典型的TLB结构可以包括L1TLB和相应的L2TLB。各TLB通常被配置为被组织为多个组(或行)的阵列,其中各组具有多个路(或列)。与大多数高速缓存方案相同,L1TLB具有的组和路更少,与L2TLB相比通常更小,由此也更快速。尽管更小且更快速,但期望在不会影响性能的情况下进一步缩小L1TLB的大小。这里参考TLB高速缓存方案等来说明本专利技术,其中应当理解,原理和技术等同地适用于任何类型的微处理器高速缓存方案。
技术实现思路
根据一个实施例的高速缓冲存储器系统包括主高速缓冲存储器和溢出高速缓冲存储器,其中该溢出高速缓冲存储器作为主高速缓冲存储器所用的驱逐阵列进行工作,以及在主高速缓冲存储器和溢出高速缓冲存储器内共同搜索与所接收到的搜索地址相对应的存储值。主高速缓冲存储器包括被组织为多个组和多个路的第一组存储位置,并且溢出高速缓冲存储器包括被组织为先进先出(FIFO)缓冲器的第二组存储位置。在一个实施例中,主高速缓冲存储器和溢出高速缓冲存储器共同形成用于存储微处理器所用的主系统存储器的物理地址的转译后备缓冲器。微处理器可以包括提供可用作搜索地址的虚拟地址的地址生成器。根据一个实施例的一种对数据进行高速缓存的方法,包括以下步骤:将第一组的条目存储在被组织为多个组和相应的多个路的主高速缓冲存储器中;将第二组的条目存储在被组织为FIFO的溢出高速缓冲存储器中;使所述溢出高速缓冲存储器作为针对所述主高速缓冲存储器的驱逐阵列进行工作;以及在所述主高速缓冲存储器和所述溢出高速缓冲存储器内同时搜索与所接收到的搜索地址相对应的存储值。附图说明将针对以下的说明和附图来更好地理解本专利技术的益处、特征和优点,其中:图1是包括根据本专利技术的实施例所实现的高速缓冲存储器系统的微处理器的简化框图;图2是示出图1的微处理器的前端管道、保留站、MOB的一部分和ROB之间的接口的更详细框图;图3是用于提供虚拟地址(VA)并且检索图1的微处理器的系统存储器中的所请求数据位置的相应物理地址(PA)的MOB的一部分的简化框图;图4是示出根据本专利技术的一个实施例所实现的图3的L1TLB的框图;图5是示出包括16组4路(16×4)主L1.0阵列和8路溢出FIFO缓冲器L1.5阵列的更具体实施例的图3的L1TLB的框图;以及图6是根据一个实施例使用图5的L1TLB结构的驱逐处理的框图。具体实施方式期望在不会实质影响性能的情况下减小L1TLB高速缓存器阵列的大小。本专利技术人已意识到与传统的L1TLB结构相关联的低效率。例如,大多数应用程序的代码不能使L1TLB本文档来自技高网...
【技术保护点】
一种高速缓冲存储器系统,包括:主高速缓冲存储器,其包括被组织为多个组和相应的多个路的第一多个存储位置;以及溢出高速缓冲存储器,其作为所述主高速缓冲存储器所用的驱逐阵列进行工作,其中所述溢出高速缓冲存储器包括被组织为先进先出缓冲器的第二多个存储位置,其中,在所述主高速缓冲存储器和所述溢出高速缓冲存储器内共同搜索与所接收到的搜索地址相对应的存储值。
【技术特征摘要】
【国外来华专利技术】2014.10.08 US 62/061,2421.一种高速缓冲存储器系统,包括:
主高速缓冲存储器,其包括被组织为多个组和相应的多个路的第一多个
存储位置;以及
溢出高速缓冲存储器,其作为所述主高速缓冲存储器所用的驱逐阵列进
行工作,其中所述溢出高速缓冲存储器包括被组织为先进先出缓冲器的第二
多个存储位置,
其中,在所述主高速缓冲存储器和所述溢出高速缓冲存储器内共同搜索
与所接收到的搜索地址相对应的存储值。
2.根据权利要求1所述的高速缓冲存储器系统,其中,所述溢出高速缓
存器阵列包括N个存储位置和N个相应的比较器,所述N个存储位置各自存储
N个存储地址中的相应存储地址和N个存储值中的相应存储值,以及所述N
个相应的比较器各自将所述搜索地址与所述N个存储地址中的相应存储地址
进行比较,以确定所述溢出高速缓存器阵列内的命中。
3.根据权利要求2所述的高速缓冲存储器系统,其中,所述N个存储地
址和所述搜索地址各自包括虚拟地址,所述N个存储值各自包括N个物理地
址中的相应物理地址,以及所述溢出高速缓存器阵列在发生所述命中的情况
下,输出所述N个物理地址中的与所述搜索地址相对应的相应物理地址。
4.根据权利要求1所述的高速缓冲存储器系统,其中,从所述主高速缓
冲存储器所驱逐的所述第一多个存储位置任一个内所存储的条目被推入到
所述溢出高速缓冲存储器的所述先进先出缓冲器上。
5.根据权利要求1所述的高速缓冲存储器系统,其中,还包括:
2级缓存器;
其中,所述主高速缓冲存储器和所述溢出高速缓冲存储器共同包括1级
缓存器,以及
从所述溢出高速缓冲存储器所驱逐的所述第二多个存储位置其中之一
\t内所存储的条目存储在所述2级缓存器中。
6.根据权利要求1所述的高速缓冲存储器系统,其中,所述主高速缓冲
存储器和所述溢出高速缓冲存储器各自包括用于存储微处理器用的主系统
存储器的多个物理地址的转译后备缓冲器。
7.根据权利要求1所述的高速缓冲存储器系统,其中,所述主高速缓冲
存储器包括16组4路的存储位置,以及所述溢出高速缓冲存储器的所述先进
先出缓冲器包括8个存储位置。
8.根据权利要求1所述的高速缓冲存储器系统,其中,还包括:
逻辑,用于将第一数量的命中信号和第二数量的命中信号合并为一个命
中信号,
其中,所述主高速缓冲存储器包括所述第一数量的路和相应的第一数量
的比较器,从而提供所述第一数量的命中信号,以及
所述溢出高速缓冲存储器包括所述第二数量的比较器,从而提供所述第
二数量的命中信号。
9.根据权利要求1所述的高速缓冲存储器系统,其中,
所述主高速缓冲存储器能够用于从所述主高速缓冲存储器内的所述第
一多个存储位置中的一个存储位置驱逐标签值,并且通过向所驱逐的标签值
附加所述第一多个存储位置中的该一个存储位置内所存储的索引值来形成
丢弃者地址,并且从所述第一多个存储位置中的该一个存储位置驱逐与所述
丢弃者地址相对应的丢弃者值,以及
所述丢弃者地址和所述丢弃者值共同形成推入到所述溢出高速缓存器
阵列的所述先进先出缓冲器上的新条目。
10.根据权利要求1所述的高速缓冲存储器系统,其中,还包括:
供存储到所述主高速缓冲存储器中的所检索到的条目包括包含标签值
和主索引的地址,其中:所述主索引被提供至所述主高速缓冲存储器的索引
\t输入;以及所述标签值被提供至所述主高速缓冲存储器的数据输入;
所述主高速缓冲存储器能够用于选择与所述主索引所表示的组的所述
多个路其中之一相对应的条目,从所选择的条目中驱逐标签值并通过向所驱
逐的标签值附加所述所选择的条目的索引值来形成丢弃者地址,并且从所述
所选择的条目驱逐与所述丢弃者地址相对应的丢弃者值;以及
所述丢弃者地址和所述丢弃者值共同形成推入到所述溢出高速缓存器
阵列的所述先进先出缓冲器上的新条目。
11.一种微处理器,包括:
地址生成器,用于提供虚拟地址;以及
高速缓冲存储器系统,包括:
主高速缓冲存储器,其包括被组织为多个组和相应的多个路的第一
多个存储位置;以及
溢出高速缓冲存储器,其作为所述主高速缓冲存储器所用的驱逐阵
列进行工作,其中所述溢出高速缓冲存储器包括...
【专利技术属性】
技术研发人员:柯林·艾迪,罗德尼·E·虎克,
申请(专利权)人:上海兆芯集成电路有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。