首页> 中国专利> 低功率组关联缓存

低功率组关联缓存

摘要

具有L1缓存存储器的处理器可以使用比较电路来确定所存储的标记信息与地址是否匹配,并用缓存命中信号来接通缓存存储器的感应放大器。

著录项

  • 公开/公告号CN1662887A

    专利类型发明专利

  • 公开/公告日2005-08-31

    原文格式PDF

  • 申请/专利权人 英特尔公司;

    申请/专利号CN03814430.1

  • 发明设计人 L·克拉克;J·米勒;

    申请日2003-06-12

  • 分类号G06F12/08;

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人徐谦;王勇

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-17 16:29:32

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-30

    专利权有效期届满 IPC(主分类):G06F12/08 专利号:ZL038144301 申请日:20030612 授权公告日:20081126

    专利权的终止

  • 2008-11-26

    授权

    授权

  • 2007-11-21

    专利申请权、专利权的转移专利申请权的转移 变更前: 变更后: 登记生效日:20071019 申请日:20030612

    专利申请权、专利权的转移专利申请权的转移

  • 2005-10-26

    实质审查的生效

    实质审查的生效

  • 2005-08-31

    公开

    公开

说明书

微处理器的体系结构通常包括至少一个静态随机存取存储器(SRAM)作为内部缓存,以提供高速数据访问,因该缓存最靠近寄存器堆,通常被称作一级(L1)缓存。在计算机系统中的记忆缓存(memorycaching)是有效的,因为大多数程序表现出其数据和指令均有空间上和时间上的局部性。通过在高速SRAM L1缓存中保存尽可能多的这种信息,微处理器可以避免访问低速的外部存储器。内部缓存可以被划分为较小的“小存储体(bank)”,设计各种方法来断言(assert)较少字线或启动较少的感应放大器,以减少功耗。然而,需要比通常装载和存储发生时更广的访问的有些操作如线占用和逐出,会被这样的缓存结构所阻碍。

计算机系统也可以使用虚拟地址缓存和关联(associative)机制来减少功耗,但仍遇到高速处理器的内存需要。例如,N路组关联缓存可以使用缓存命中信号(cache-hit signal)控制多路复用器,该复用器传播从所选择的路中读出的数据。虽然这种技术为缓存命中提供了低的等待时间,但功率可能被浪费在感应放大器中,因为对于所选择的组数据阵列的所有路都要被读取。作为替代方案,标记在一个周期中被读取,在下一个周期中被用于选择合适的路以读取数据。这项技术可以减少功耗,但所增加的等待时间可能在一个低级别的缓存中不被接受。因此,这种机制被用于二级和三级缓存。

因此,仍然需要减少等待时间,降低微处理器的功耗,而不干扰宽访问,如线逐出和线填充的缓存结构。

图的简要说明

本发明的主题部分在本说明书的结论部分特别指出,并清楚声明。然而,该发明的结构和操作方法,以及对象、特征和优点,可以通过参考下面的详细说明阅读相应的附图,得到更好的理解,其中:

图1说明具有N路组关联缓存的计算机系统;

图2是图1中说明的缓存的框图;

图4是依照本发明给出的图1中所介绍的缓存存储器的物理排列图。

为了说明的简单清晰,图中说明的元素没必要按比例画。例如,为了清晰起见有些元素的尺寸相对于其它元素而言被夸大。另外,在认为合适的地方,参照数字被重复,以表示相应的或相似的元素。

详细描述

在下面的详细描述中给出了大量具体的细节,以提供对本发明的完整理解。然而,对于那些本领域的技术人员来说,这一点应理解为,本发明可以不需要这些具体细节就可实施。在另外的场合中,众所周知的方法、过程、构件和电路未被详细说明,以便使本发明不至于模糊不清。

本发明实施例可被用于广泛的应用中。这里所公开的电路可以被用在微控制器、多用途微处理器、数字信号处理器(DSP)、精简指令集计算(RISC)、复杂指令集计算(CISC),以及其它电子构件。然而,应当知道本发明的范围不限于这些例子。虽然本发明不限于这个方面,许多操作系统(OS)如来自华盛顿州雷蒙德(Redmond)市的微软公司的Windows 95TM、Windows 98 TM和Windows NT TM,或者贝尔实验室的UNIX,可以管理控制器或处理器上的物理存储器。

本发明还可以被包含或被嵌入在集成电路中,一般地,本实施例可以组合内部缓存和外部主存储器,可以被合并到下一代智能电话、发报机(communicatior)和个人数字助理(PDA)、基带和应用处理器、基于OS平台的设备、数码相机、音像解码、汽车信息娱乐、机顶盒及其它产品。

在下面的描述和权利要求中,术语“耦合的”和“连通的”以及它们的派生词会被用到。应知道这些术语并不是被打算用作彼此的同义语。相反,在特定的实施例中,“连通的”可以用来指示两个或多个元素是彼此直接物理连接或电气接触的。“耦合的”表示两个或多个元素是直接物理接触或电气接触。然而,“耦合的”还可表示两个或多个元素不是彼此直接接触,但仍彼此协作或相互影响。

图1说明具有操作系统(OS)的计算机系统10,该操作系统可管理计算机上的有限物理存储器,在同时运行的多个进程中划分物理存储器,以及为每个进程分配合适的内存份额。运行在微处理器12上的操作系统可依赖来自存储器管理单元(MMU)14的硬件支持来管理存储器和导出功能,以便其它子系统和应用程序可以使用这些功能与存储器相互作用。L1缓存18可以具有虚拟存储地址空间,地址空间的大小由字节的数量以及每个字节中的比特数确定。

通常期望微处理器12的内存访问多数来自L1缓存,因为L1缓存工作在处理器频率上。因而,计算机系统10中的存储器缓存利用了一个L1内部缓存18来减少微处理器12访问L2“离线(off-chip)”或外部主存储器20的次数。缺少L1缓存可能导致处理器12转到L2存储器或主存储器20,当处理器在等待许多指令时间完成从存储器读数时,潜在地停滞了处理器。在微处理器12的算术逻辑部件16中执行逻辑运算的数据可以存储在缓存18和/或存储器20。

一般地,L1内部缓存18可以是高速静态随机读取存储器(SRAM),而L2存储器和主存储器20可以是较慢的动态随机读取存储器(DRAM),然而存储器的类型不是所声明的主题的限制。内部缓存18可以虚拟索引,并且是N路组关联缓存,尽管区分虚拟缓存和物理缓存与本发明的结构和特征是不相关的。

图2说明依照本发明的L1硬件缓存18。与缓存18关联的N路组允许访问至多N个不同的存储器区域,这些区域重迭在相同的缓存存储器中而不覆盖先前缓存的数据。同样地,缓存18包括路0如第22列,路1如第24列,路2如第26列,…,以及路N如第28列,用来存储地址的标记部分。感应放大器32、34、36、…、以及38可感应到分别存储在第22、24、26、…、和28列中的虚拟标记信息。应当注意,缓存18中路数和列的大小均不应被看做是对本发明的范围的限制。

一般地,提供给缓存18的地址可以被标记序号,如从0比特到31比特,这里0表示最低有效位(或低位比特),31表示最高有效位(高位比特)。通过这样结构,地址可以具有“索引”部分、“组”部分和“标记”部分。作为示例,低位的5比特可以作为“索引”部分,[12:5]的8比特可作为“组”部分,[31:13]的19比特可作为“标记”部分。虽然这个例子提供了32比特的地址,以及地址划分:标记[31:13]、组[12:5]、索引[4:0],应当指出的是,可以在地址中使用不同的划分,甚至使用不同的比特数目。因而,这意味着比特分组或比特数均不对本权利要求的范围构成限制。

在一个实施例中,提供给L1内部缓存18的地址[31:0]可使用例如该地址的比特位[12:5],来从每个路阵列的256条缓存线中选择一条缓存线。注意到该地址可以是“虚拟的”,可以是“物理的”,即,已经由微处理器MMU 14所解释。存储在路0、路1、路2、…、路N中所选缓存线上的标记信息可分别由感应放大器32、34、36、…、38所感应。比较电路42、44、46和48接收所感应的标记,提供与该地址的比特[31:13]的比较。如果比较电路指示匹配,即缓存命中,则来自适当路的数据信息,与来自合适的数据阵列感应放大器的激活时序信号结合在一起,只启动相符合的路的对应的感应放大器52、54、56和58。这样,对于所选择的路,只有M感应放大器(其中M是数据宽度)消耗功率。可替换地,应当注意到,多米诺式的CMOS门或者按照或方式线连接的输出路径(wire-or’ed output path)可以自动地选择数据。如果缓存18中没有标记匹配地址的标记部分,则存在数据缓存缺失。应当注意,在这种情况下,L1缓存感应放大器和数据传递路径不消耗功率。

选择器60包括缓存感应放大器52、54、56和58的组,它们从对应的路阵列中接收标记,但是根据本发明,只有一组缓存感应放大器被激活传输数据到输出。作为示例,存储在路0中一条被选择的缓存线上的标记由感应放大器32感应,由比较电路42与地址的标记部分进行比较,如果比较电路42指示缓存命中,则缓存数据由数据感应放大器52的组传输到数据输出。再次注意到缓存18可以通过使用比较电路来只激活数据感应放大器的一个路,而不用激活其余数据放大器组,从而将其操作功率降低。

图3是描述依照本发明的缓存18的时序图。地址生成可发生在时钟的下降沿,即时间t0。在时间t1到t2期间,存储在路阵列中被选择的缓存线上的标记被感应,由比较电路将其与地址的标记部分进行比较。如果比较电路指示某个路缓存命中,该缓存命中信号在时间t1跟随时钟的上升沿被提供给缓存感应放大器。选择器60中的适当的缓存感应放大器被激活,在随后的时间t3数据被提供给数据输出。

图4说明缓存存储器的结构以减少最低级别缓存和下一个高级别缓存之间的等待时间。计算机系统10(图1)的性能与用来在缓存的不同级别之间传递数据的周期数有关。任何周期数的减少可以降低停滞。L1缓存和微处理器核心之间的存取典型情况为一到两个字,而在不同缓存级别之间的通信更偏好较大的分组,如4到16个字(被称作“线”)。在本实施例中,路的结构和缓冲存储器中字的物理排列可以改进系统性能,这是通过允许单一信号周期线大小写(a single cycle line sizewrite)和单一信号周期线大小读(a single cycle line size read)(逐出)而不需要过多的感应放大器实现的。注意到减少读出感应放大器的数目减少了袖珍式计算机(handheld)及其它低功耗应用的空闲电流元件。

这个实施例显示了4路组关联缓存,但是缓存的大小和路的数目不应作为本发明的限制。如所示,缓存可以被划分为70-84块,每个块具有4个路,即路0、路1、路2和路3。4个路中的每一个路可以包含4字节(一个字节表示8比特)以存储一个32比特的字。每个块中的路0、路1、路2和路3可以被划分为一个较低部分以存储较低的两字节,和一个较高部分以存储较高的两字节。作为示例,第70块中的路0可以存储较低的两字节(表示为字节[0:1],即比特0:15),另一个路0可以存储较高的两字节(表示为字节[2:3],即16:31)。

同样地,在缓存中,字可以被物理排列为字0(第70块)、字2(第72块)、字1(第74块)、字3(第76块)、字4(第78块)、字6(第80块),字5(第82块)和字7(第84块)。进一步注意到64位感应放大器可以位于字0和字2之间,64位感应放大器可以位于字1和字3之间,64位感应放大器可以位于字4和字6之间,64位感应放大器可以位于字5和字7之间。

在本实施例中,一半的字可以被排列为具有连续排序的路,而另一半中,路的对排序可以相反。换句话说,字0、字1、字4和字5可以物理排序为路0、路1、路2和路3,以存储低位的两字节,相同的序号存储高位的两字节。然而,字2、字3、字6和字7可以被排列为具有不同顺序的路。在这些字中,对排序可以相反地具有物理排序路1、路0、路3和路2,以存储低位的两字节,相同的排序以存储高位的两字节。这种缓存存储器排列允许路0与路1共享感应放大器,路2与路3共享感应放大器。例如,对于第70块的路0,低位的两字节(字节[0:1])和高位的两字节(字节[2:3])可以被排列为与对应的第72块的路1的低位的两字节和高位的两字节共享感应放大器。类似地,第70块的路1的低位的两字节(字节[0:1])和高位的两字节(字节[2:3])可以被排列为与对应的第72块的路0的低位的两字节和高位的两字节共享感应放大器。同样地,第70块的路2的低位的两字节(字节[0:1])和高位的两字节(字节[2:3])可以被排列为与对应的第72块的路3的低位的两字节和高位的两字节共享感应放大器,第70块的路3的低位的两字节(字节[0:1])和高位的两字节(字节[2:3])可以被排列为与对应的第72块的路2的低位的两字节和高位的两字节共享感应放大器。

感应放大器可以被用来感应每个存储位的值。在读一个32比特的字的正常操作期间,一个感应放大器的使能信号被断言,以允许与每个I/O比特片关联的4个感应放大器之一活动地感应信息。但在逐出期间,需要断言两个感应放大器使能信号,允许4个感应放大器组中的两个被激活。在这种情况下,举例来说,字0的比特0和字2的比特0可以被读取给相同的路。通过不将字在相同的缓存块中分组,当前的结构允许一个周期的逐出,激活256个感应放大器,允许8个字同时被读出。并且,这种缓存结构允许在一个逐出或填充期间,在整个缓存阵列中均匀地分配功率。注意,感应放大器可以被存储在一个路的标记中的缓存命中信号选通,因此,没有“后路(late way)”选择电路存在。

尽管这里描述并说明了本发明的某些特征,对于那些本领域技术人员来说,他们的头脑中将会闪现许多修改、代替、改变和等价的东西。因此,附加的权利要求应被理解为涵盖所有这些落入本发明的本义的修改和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号