一种高速缓冲存储器及路预测方法

文档序号:8445497阅读:378来源:国知局
一种高速缓冲存储器及路预测方法
【技术领域】
[0001]本发明涉及处理器技术领域,特别涉及一种高速缓冲存储器及路预测方法。
【背景技术】
[0002]目前嵌入式处理器在移动设备上得到了更为广泛的应用,而由于电池容量在短期内的大幅度提升是不容易实现的,这就要求嵌入式处理器在设计过程中不仅要考虑系统的性能,还要考虑系统的功耗。在嵌入式处理器中,高速缓冲(Cache)存储器作为提高处理器内核取指和存储速度的关键部件,占据了系统很大一部分功耗。因此,研宄降低Cache功耗的方法具有重要意义。
[0003]以传统两路组相联数据高速缓冲的结构为例,如图1所示。每一路(WayO和Way I)的结构都相同,主要由有效位(Valid)存储器、标志位(Tag)存储器和数据(Data)存储器组成。当处理器内核访问数据高速缓冲时,标志位存储器以内核指令的索引位(Index)作为地址读出相应的标志位,同时与内核指令的标志位进行比较,如果第i路读出的标志位与内核指令的标志位相等,则表示第i路命中,并将第i路读出的数据发送给处理器内核。如果全部比较结果都不相等,则表示没有命中,这时需要访问主存。为了达到处理器内核高速访问数据高速缓冲的目的,数据高速缓冲中每一路的标志位存储器和数据存储器的访问是并行进行的。
[0004]从两路组相联数据高速缓冲的工作原理可以看出,内核访问数据高速缓冲需要进行大量的标志位存储器和数据存储器的读取操作,在这个过程中消耗了许多功耗。如果能够减少不必要的标志位存储器和数据存存储器的读取操作,则可以有效降低数据高速缓冲的功耗。
[0005]在Emmett Witchel 等人发表的文章《Direct Addressed Caches for ReducedPower Consumpt1n》中提出一种将标志位检测结果保存到一个直接地址寄存器文件中,并通过软件的方式来使用该寄存器文件。如果该寄存器文件中的内容有效,则可以确定当前的高速缓冲访问与上一次的高速缓冲访问处于同一行,从而通过软件的方式直接访问高速缓冲中的数据存储器,消除不必要的标志位存储器访问。
[0006]在J1ngyao Ye 等人发表的文章《A Variable Bitline Data Cache for LowPower Design》中针对数据高速缓冲访问中位宽较小的数据占据了绝大部分的特点,将数据存储器分为不同的子块,用于存储不同位宽的数据。当访问数据位宽较小时,其高位数据存储器子块将被关闭,以此来节省数据高速缓冲的功耗。
[0007]目前为了降低嵌入式处理器中寄存器堆的功耗,上述现有技术的缺点有:
[0008](I)Emmett Witchel提出的方法需要对应用程序使用特殊的编译策略,可能会影响代码兼容性。
[0009](2) J1ngyao Ye提出的方法虽然对处理器的性能没有影响,但是需要修改数据存储器的内部结构。

【发明内容】

[0010]本发明的目的在于提供一种能够降低组相联数据高速缓冲功耗的装置和方法。
[0011]为实现上述目的,一方面,本发明提供了一种高速缓冲存储器,高速缓冲存储器包括多路组相联的数据高速缓冲结构,以及与多路组相联的数据高速缓冲结构连接的路预测单元,而路预测单元包括标志记录缓冲器和路记录缓冲器;其中,标志记录缓冲器用于保存写入数据高速缓冲的标志位;路记录缓冲器用于保存该标志位所在路的信息;内核指令根据标志位信息和标志位所在路的信息,确定对多路组相联的数据高速缓冲中的一路或多路数据高速缓冲进行读取操作。
[0012]优选地,标志记录缓冲器和路记录缓冲器具体用于,
[0013]当内核指令的标志位写入到数据高速缓冲的标志位存储器时,如果标志记录缓冲器不包含该标志位,则将该标志位进行保存;同时,如果该指令要将标志位写入到多路组相联数据高速缓冲中的其中一路数据高速缓冲时,则将路记录缓冲器对应该路数据高速缓冲的相应比特位设置为第一电平;或
[0014]当内核指令的标志位写入到数据高速缓冲的标志位存储器时,如果标志记录缓冲器已经包含该内核指令的标志位,则标志记录缓冲器保持不变;同时,如果该内核指令所要写入到一路数据高速缓冲的信息与路记录缓冲器中的信息一致,则路记录缓冲器保持不变;如果该指令所要写入到一路数据高速缓冲的信息与路记录缓冲器中的信息不一致,则将路记录缓冲器对应该路数据高速缓冲的相应比特位设置为第一电平。
[0015]优选地,高速缓冲存储器还包括,与所述多路组相联的数据高速缓冲结构路数量相同的逻辑单元,该逻辑单元用于对原有的一路数据高速缓冲读取有效信号与路预测单元输出的该路数据高速缓冲的有效标志信号做逻辑与操作,生成该路数据高速缓冲新的读取有效信号;
[0016]当内核指令从多路组相联的数据高速缓冲中读取数据时,路预测单元将根据该内核指令的标志位查找所述标志记录缓冲器,如果标志记录缓冲器不包含该指令的标志位,则路预测单元输出的多路组相联的数据高速缓冲的有效标志信号都为第一电平,该内核指令需要对多路组相联数据高速缓冲同时执行读取操作;如果标志记录缓冲器包含该内核指令的标志位,同时,当路记录缓冲器对应所述多路组相联的数据高速缓冲中的一路数据高速缓冲的相应比特位为第一电平,则所述路预测单元输出的该路数据高速缓冲的有效标志信号为第一电平,所述内核指令只需要对该路数据高速缓冲执行读取操作;当路记录缓冲器对应所述多路组相联的数据高速缓冲中的多路数据高速缓冲的相应比特位为第一电平,则所述路预测单元输出的所述多路数据高速缓冲的有效标志信号都为第一电平,所述内核指令需要对所述多路数据高速缓冲执行读取操作。
[0017]另一方面,本发明提供了一种高速缓冲存储器的路预测方法,该方法包括:
[0018]保存写入数据高速缓冲的标志位,以及该标志位对应的路信息;
[0019]内核指令根据所述标志位信息和所述标志位对应的路信息,确定对多路组相联的数据高速缓冲中的一路或多路数据高速缓冲进行读取操作。本发明针对当内核指令的标志位只在组相联数据高速缓冲其中一路存在的情况,提出一种路预测数据高速缓冲的结构。该结构通过记录标志位信息和路信息,可以减少无关路的标志位存储器和数据存储器的读取操作,从而有效降低功耗。本发明不需要特殊的编译策略,也无需修改数据存储器的内部结构。
【附图说明】
[0020]图1为现有技术两路组相联数据高速缓冲的结构示意图;
[0021]图2为本发明实施例中读取两路组相联数据高速缓冲的示意图;
[0022]图3为本发明实施提供的一种高速缓冲存储器结构示意图。
【具体实施方式】
[0023]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0024]处理器内核在访问组相联数据高速缓冲时,当内核指令的标志位只在组相联数据高速缓冲的其中一路存在时,对其他路的标志位存储器和数据存储器的读取操作都是不必要的。本发明实施例中读取两路组相联数据高速缓冲的过程如图2所示。
[0025]其中指令I (Instruct1n I)的标志位为23比特十六进制数23'h040100,从图2中可以看到数据高速缓冲第I路(Way I)的标志位存储器中不包含23'h040100,因此指令I对数据高速缓冲第I路的读取操作是不必要的。同理,指令2 (Instruct1n 2)的标志位为23比特十六进制数23'h040201,数据高速缓冲第O路(Way O)的标志位存储器中不包含23'h040201,因此指令2对数据高速缓冲第O路的读取操作是不必要的。而指令3的标志位为23比特十六进制数23' h040200,数据高速缓冲第O
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1