一种降低cache访问功耗的方法和电路技术

技术编号:29329717 阅读:21 留言:0更新日期:2021-07-20 17:46
本发明专利技术实施例提供一种降低cache访问功耗的方法,包括如下步骤:CPU发出对cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;比较控制器对所述地址高位与地址寄存器中的高位缓存地址进行比较;如果上述比较结果一致,所述CPU直接访问与所述高位缓存地址相对应的RAM。同时还相应的提供一种降低cache访问功耗的电路,可以有效降低cache访问的功耗。

【技术实现步骤摘要】
一种降低cache访问功耗的方法和电路
本申请涉及电路,具体涉及一种降低cache访问功耗的方法和电路。
技术介绍
在SOC(SystemonChip,片上系统)系统中,CPU访问外部存储介质速度较慢。如在蓝牙音频IC上,CPU一般是以SPI(SerialPeripheralInterface,串行外设接口)NORFLASH为存储介质,速度一般不高于50MB/s,和CPU的总线接口速度相差很大。现有技术一般有两种方法来提高CPU的执行效率:一是使用内部RAM来缓存数据,内部RAM和外部存储介质的数据交换需要软件操作;二是使用cache(高速缓冲存储器)来缓存数据,cache和外部存储介质的数据交换由硬件完成,对软件是透明的。第二种方式对软件开发比较友好,是目前常用的方法,但访问cache的功耗相比访问RAM要大一些。这是因为cache一般是多way相联的,访问一次cache要同时将各way的数据都读出来,然后再比较判断使用哪一路的数据。一个way就是一块RAM,相当于同时要访问多块RAM,所以功耗比访问单块RAM要高。所以现有技术亟待一种新的访问cache的方法。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种访问cache的方法,可以大幅降低访问cache的电路的功耗。本专利技术实施例是这样实现的,一种降低cache访问功耗的方法,包括:CPU发出对cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;比较控制器对所述地址高位与地址寄存器中的高位缓存地址进行比较;如果上述比较结果一致,所述CPU直接访问与所述高位缓存地址相对应的RAM。进一步地,所述比较控制器的比较结果如果不一致,则执行普通的cache访问流程。进一步地,所述执行普通的cache访问流程进一步包括:读取各个RAM的数据;判断被访问命中的RAM,并记录所述命中的RAM;更新所述地址寄存器中的高位缓存地址的值。进一步地,所述CPU直接访问与所述高位缓存地址相对应的RAM进一步包括:所述比较控制器打开与所述对应的RAM相连接的门控制器,使得所述CPU访问所述对应的RAM。根据本专利技术实施例的另一方面,本专利技术实施例还提供一种降低cache访问功耗的电路,可以大幅降低访问cache的电路的功耗,本专利技术实施例是这样实现的,包括比较控制器、N个RAM、N个门控制器以及地址寄存器,所述N个门控制器分别与N个RAM相连;所述比较控制器和N个门控制器以及外部CPU相连,用于接收外部CPU发出的cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;所述比较控制器与所述CPU和所述地址寄存器相连,用于对所述地址高位与地址寄存器中的高位缓存地址进行比较,并根据比较结果对所述N个门控制器进行开关控制。进一步地,所述比较控制器还用于,当比较结果不一致时,所述比较控制器控制N个门控制器全部打开,用于执行普通的cache访问流程;当比较结果一致时,所述比较控制器控制打开相应RAM连接的门控制器,所述相应RAM为与所述高位缓存地址相对应的RAM。进一步地,所述CPU进一步包括:读取单元,用于读取各个RAM的数据;判断单元,用于判断被访问命中的RAM,并记录所述命中的RAM;地址更新单元,用于向地址寄存器发出高位缓存地址更新的指令。根据本专利技术实施例的另一方面,本专利技术实施例还提供一种电路,包括上述任一所述的降低cache访问功耗的电路。根据上述技术方案,本专利技术实施例具有如下效果:大幅降低CPU访问cache的功耗,使其尽量接近访问单块RAM的功耗。在CPU和通用cache之间增加一套比较控制电路,将普通访问cache流程里必然要打开所有way的操作变为了某些场景下只会打开一个way的操作,从而降低了访问cache的功耗。同时这部分控制电路的工作和访问cache的过程可以在同一个时钟周期内完成的,控制电路并没有增加新的延时,所以不会引起访问cache的性能下降。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1示出了本申请提供的一种降低cache访问功耗的方法流程图;图2示出了本申请提供的一种降低cache访问功耗另一实施例的方法流程图;图3示出了本申请提供的一种降低cache访问功耗的电路框图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请,以下实施例中的步骤顺序仅为列举,在不冲突的情况下可以调整。如图1所示,本专利技术实施例提供的一种降低cache访问功耗的方法,包括如下步骤:(S101)CPU发出对cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;(S102)比较控制器对所述地址高位与地址寄存器中的高位缓存地址进行比较;(S103)如果上述比较结果一致,所述CPU直接访问与所述高位缓存地址相对应的RAM。具体来说,当CPU发出一个访问请求,访问地址Addr被送出来,该访问地址包括地址高位Addr_high和地址低位Addr_low,地址高位Addr_High被送到比较控制器,比较控制器将地址高位Addr_High和地址寄存器Addr_High_Buf里的值做比较,如果比较结果一致,则说明这次CPU访问的数据和上次的数据在同一个cacheline里,也必然是在同一个way里,此时CPU直接访问与所述高位缓存地址相对应的RAM。而地址低位Addr_low的作用在于直接作为各个way的地址去访问各个way的ram。本专利技术还提供另外一实施例,在步骤(S103)中,CPU直接访问与所述高位缓存地址相对应的RAM进一步包括:所述比较控制器打开与所述对应的RAM相连接的门控制器,使得所述CPU访问所述对应的RAM。在访问RAM之前会经过门控制器Access_Gate。只有门控制器打开,地址和时钟才会送给ram,如果Access_Gate不打开,则不会有对ram的访问,也不会产生对这块ram的访问电流。当上述实施例中比较控制器比较结果一致时,比较控制器会发出控制信号将对应的way的Access_Gate打开,其他way的Access_Gate关闭。这样CPU既可以访问到正确的数据,又不会因访问了无用的way而消耗多余的功耗。如果Addr_High和地址寄存器Addr_High_Buf里的值不相等,则Compare会用Addr_High的值更新Addr_High_Buf,同时打开所有的Access_Gate,这时就是普通的cache访本文档来自技高网...

【技术保护点】
1.一种降低cache访问功耗的方法,其特征在于,包括:/nCPU发出对cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;/n比较控制器对所述地址高位与地址寄存器中的高位缓存地址进行比较;/n如果上述比较结果一致,所述CPU直接访问与所述高位缓存地址相对应的RAM。/n

【技术特征摘要】
1.一种降低cache访问功耗的方法,其特征在于,包括:
CPU发出对cache访问请求的访问地址,所述访问地址包括地址高位和地址低位;
比较控制器对所述地址高位与地址寄存器中的高位缓存地址进行比较;
如果上述比较结果一致,所述CPU直接访问与所述高位缓存地址相对应的RAM。


2.根据权利要求1所述的方法,其特征在于,所述比较控制器的比较结果如果不一致,则执行普通的cache访问流程。


3.根据权利要求2所述的方法,其特征在于,所述执行普通的cache访问流程进一步包括:
读取各个RAM的数据;
判断被访问命中的RAM,并记录所述命中的RAM;
更新所述地址寄存器中的高位缓存地址的值。


4.根据权利要求1所述的方法,其特征在于,所述CPU直接访问与所述高位缓存地址相对应的RAM进一步包括:所述比较控制器打开与所述对应的RAM相连接的门控制器,使得所述CPU访问所述对应的RAM。


5.一种降低cache访问功耗的电路,其特征在于,包括比较控制器、N个RAM、N个门控制器以及地址寄存器,所述N个门控制器分别与N...

【专利技术属性】
技术研发人员:周悦峰牟刚
申请(专利权)人:炬芯科技股份有限公司
类型:发明
国别省市:广东;44

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

1