一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自适应的Cache访问电路及其实现方法与流程

2022-07-17 00:26:01 来源:中国专利 TAG:

一种自适应的cache访问电路及其实现方法
技术领域
1.本发明涉及cache访问电路及其实现方法,尤其涉及一种自适应的cache访问电路及其实现方法。


背景技术:

2.随着半导体工艺和处理器设计水平的不断提高,微处理器发展迅猛,面对微处理器性能的指数级增长,存储器的性能几乎是停滞不前,成为影响系统性能的一个重要瓶颈。为了解决存储墙的问题,“多级存储层次”应运而生,在多级存储层次系统里,越靠近微处理器的部分速度越快,容量越小,价格越昂贵,越远离微处理器的部分速度越慢,容量越大,价格越便宜。在上述的“多级存储层次”里,最接近微处理器,和微处理器速度相当的模块是cache(高速缓冲存储器)。因此cache的容量、工作频率(相对于微处理器)和功耗往往也被作为衡量微处理器性能的重要指标之一。cache 的使用在一定程度上缓解了微处理器和存储器之间速度不匹配的问题,但是新的问题也接踵而至。随着微处理器运行主频的提升,芯片规模的扩大,功耗问题逐渐成为微处理器发展的瓶颈。
3.常见的cache低功耗技术可从体系结构着手,根据代码的空间局部性和时间局部性,通过优化访问方式来降低cache的读写功耗。常见的访问方式有串行访问和并行访问,串行访问通过分步访问tag cache和data cache可以避免冗余data sram的功耗浪费,但是并未避免冗余tag cache的功耗浪费,而且增加了指令cache的平均访问时间,是一种牺牲时间换取功耗的方法。而并行访问同时访问tag cache和data cache,速度较快,但是会有冗余功耗的损失。因此,亟待一种访问方式同时兼顾性能和功耗。


技术实现要素:

4.发明目的:本发明的目的是提供一种能提高cache能效、在降低功耗的情况下保证性能的自适应的cache访问电路及其实现方法。
5.技术方案:本发明的cache访问电路,包括负载检测模块、访问模式切换电路和两路组关联cache;所述负载检测模块用于监测cpu负载模块;所述访问模式切换电路用于切换cache的访问模式;所述的每一路组关联cache包括一片tag sram、四片data sram、比较电路和自定时电路;所述自定时电路和比较电路用于触发在自定时串行访问时产生data sram的内部时钟;所述tag sram用于存放主存地址;所述data sram用于存放微处理器需要读写的数据;当且仅当tag sram读完且命中时,自定时电路输出高电平信号送入到访问模式切换电路中,作为自定时串行访问时data sram的内部时钟;访问模式切换电路的另一个输入
信号为外部时钟信号,作为并行访问时data sram的内部时钟;负载监测模块的输出数据pline为访问模式切换电路的选择信号,访问模式切换电路的输出信号送入到data sram的内部时钟。
6.进一步,所述访问模式切换电路包含一个二选一选择器mux_1和一个第一与门and_1;所述第一与门and_1的一个输入接入sram的读写使能信号wen,第一与门and_1的另一端输入接入串并行选择信号pline;第一与门and_1的输出接到二选一选择器mux_1的输入端,作为二选一选择器mux_1的选择信号;二选一选择器mux_1的选“0”一端接入与tag sram同步的内部时钟,选“1”一端接入自定时电路产生的q_pluse信号,二选一选择器mux_1的输出信号作为datasram的内部时钟信号。
7.进一步,所述比较电路包括第一异或门xor_1,第一异或门xor_1一端接入cpu地址,另一端接入tag sram输出数据tag_q;第一异或门xor_1输出为cpu地址和tag_q的比较结果hit:当比较结果一致时,hit为高电平;当比较结果不一致时,hit为低电平,输出信号hit送入自定时电路。
8.进一步,所述自定时电路包括第一反相器inv1、第二反相器inv2、第三反相器inv3、第二异或门xor_2、第四反相器inv4、第五反相器inv5、第二与门and_2、第六反相器inv6、第七反相器inv7、第一pmos管mp1、第二pmos管mp2、第三pmos管mp3、第四pmos管mp4、第五pmos管mp5、第一nmos管mn1、第二nmos管mn2、第三nmos管mn3、第四nmos管mn4、第五nmos管mn5以及第六nmos管mn6;其中,tag sram的灵敏放大器开启信号sae连接第一反相器inv1、第一反相器inv1输出接入第二反相器inv2输入,第二反相器inv2输出接入第三反相器inv3输入,第三反相器inv3输出q_valid信号标记tag sram读操作结束;第三反相器inv3输出接入第二异或门xor_2输入一端,第二异或门xor_2另一端输入恒为低电平,第二异或门xor_2输出接入第四反相器inv4输入,第四反相器inv4输出接入第五反相器inv5输出,第五反相器inv5输出标记比较操作的完成;第五反相器inv5的输出接入到第二与门and_2的一端输入,第二与门and_2的另一端输入接入比较电路的输出信号hit,产生q_en信号;q_en信号经过第六反相器inv6产生compb信号;第一pmos管mp1的源端连接到电源vdd,漏端连接到第二pmos管mp2源端,栅极连接sae的反信号saeb;第二pmos管mp2漏端为输出信号q_pulse,栅极连接到compb信号;第三pmos管mp3源端连接到电源vdd,栅极输入信号为sae,漏端连接到第四pmos管mp4源端;第四pmos管mp4栅极输入信号为clk的反信号clkb,漏极连接第五pmos管mp5;第五pmos管mp5的栅极输入q_pulse反信号q_pulseb,漏端为q_pulse信号;第一nmos管mn1的漏端连接q_pulse,栅极输入clkb,源端接电源地vss;第二nmos管mn2的漏端连接q_pulse,栅极输入为q_pulseb,源端连接第三nmos管mn3;第三nmos管mn3栅极输入为clk,源端连接第四nmos管mn4漏端;第四nmos管mn4栅极输入为sae,源端接电源地vss;第五nmos管mn5漏端接q_pulse,栅极为comp的反信号compb,源端连接第六nmos管mn6;第六nmos管mn6栅极输入为sae,源端为电源地vss;输出q_pulse信号经过第七反相器inv7产生反信号q_pulseb;q_pulse信号送入到访问模式切换电路模块。
9.本发明cache访问电路的实现方法如下:所述访问模式切换电路根据负载监测模
块输出的结果通过选择不同data sram的内部时钟,实现并行访问模式或自定时串行访问模式的切换,适时满足各个场景的要求;在并行访问模式下,tag sram和data sram的内部时钟相同,同时进行读操作,比较电路和自定时电路被旁路;在自定时串行访问模式下,tag sram的内部时钟和外部时钟一致,首先进行读操作,当tag sram命中时,比较电路发出hit信号,并由自定时电路跟踪tag sram的读操作时间并产生内部时钟;访问模式切换电路选择自定时电路产生的时钟送到data sram内部时钟端,data sram根据内部时钟产生各个读操作信号,进行读操作,将data cache的数据读出;若不命中则不产生data sram的内部时钟,不再访问data cache。
10.进一步,在监测cpu负载情况下,访问模式切换电路适时调整cache的访问方式:当cpu处在高负载场景时,采用并行访问方式;当cpu处在低负载场景时,采用自定时串行访问;通过自定时电路和比较电路,在tag sram读完且命中的情况下,开启data sram的内部时钟进行读操作,完成自定时串行访问。
11.进一步,自定时串行访问首先访问tag sram,当tag sram读出数据与cpu地址一致且有效时,通过比较电路和自定时电路启动data sram内部的时钟进行读操作,实现一个周期内将数据读出;若不命中,则data sram内部时钟不启动,不再访问data sram。
12.进一步,tag sram的输出结果送入到比较电路中,若tag sram命中则输出hit信号送到自定时电路,同时tag sram的灵敏放大器使能信号sae也送到自定时电路中用于追踪tag sram读操作完成的时间;当wen为低电平时,表示对cache进行写操作;当wen为高电平,表示对cache进行读操作;当pline为低电平时,表明cpu的负载较高,采用进行并行访问;当pline信号为高电平时,表明cpu处于低负载情况,采用自定时串行访问;当进行写操作时,data sram的内部时钟和tag sram内部时钟一致,进行并行访问;当进行读操作时,若pline为“0”,data sram的内部时钟与tag sram内部时钟一致,cache进行并行访问;当pline为“1”时,data sram的内部时钟由比较电路和自定时电路产生,cache进行自定时串行访问;当且仅当tag sram读完数据且命中时,比较电路和自定时电路触发data sram内部时钟,进行data sram的读操作。
13.本发明与现有技术相比,其显著效果如下:1、本发明根据cpu的负载情况,能适时调整访问模式:在高负载情况下,采用并行访问方式,在一个周期内同时完成tag sram和data sram的读写,提高cache的性能;在低负载情况下采用自定时串行访问,通过比较电路和自定时电路,在tag sram读完且命中的情况下,启动data sram内部的时钟,进行data sram的读操作,相比于传统的串行访问方式,能够在一个周期内完成tag sram和data sram的读写,性能更快;2、本发明的自定时串行访问模式,通过自定时电路和比较电路,使得在tag sram读完且命中的情况下,开启data sram的内部时钟进行读操作,与传统的两个周期的串行访问模式相比,能实现在同一个周期内读出data sram的数据,在降低功耗的情况下保证性
能。
附图说明
14.图1为本发明自适应访问方式的电路结构图;图2为本发明自适应访问方式流程图;图3 为本发明自适应访问方式的波形图;图4 为本发明自适应访问模式切换电路实现图;图5 为本发明串行访问中比较电路和自定时电路示意图。
具体实施方式
15.下面结合说明书附图和具体实施方式对本发明做进一步详细描述。
16.如图1所示,本发明自适应的cache访问电路包含负载检测模块、访问模式切换电路、自定时电路和比较电路、两路组关联的tag sram、data sram;负载检测模块用于监测cpu负载模块;访问模式切换电路用于切换cache的访问模式;组关联cache每一路包括一片tag sram、四片data sram、比较电路和自定时电路;自定时电路和比较电路用于触发在自定时串行访问时产生data sram的内部时钟;tag sram用于存放主存地址;data sram用于存放微处理器需要读写的数据。每一路指令cache包括将tag sram的输出结果送入到比较电路中,若tag sram命中则输出hit信号送到自定时电路,同时tag sram的灵敏放大器使能信号sae也送到自定时电路中用于追踪tag sram读操作完成的时间。当且仅当tag sram读完且命中时,自定时电路输出高电平信号送入到访问模式切换电路中,作为自定时串行访问时data sram的内部时钟;访问模式切换电路的另一个输入信号为外部时钟信号,作为并行访问时data sram的内部时钟;负载监测模块的输出数据作pline为访问模式切换电路的选择信号,访问模式切换电路的输出信号送入到data sram的内部时钟。
17.访问模式切换电路根据负载监测模块输出的结果通过选择不同data sram的内部时钟,实现并行访问模式或自定时串行访问模式的切换,适时满足各个场景的要求。并行访问模式指tag sram和data sram同步访问,同时进行读操作;串行访问模式指tag sram和data sram异步访问,在同一时钟周期内,先访问tag sram,再访问data sram。
18.在并行访问模式下,tag sram和data sram的内部时钟相同,同时进行读操作,比较电路和自定时电路被旁路,访问速度快,能够满足高性能场景需求。
19.在自定时串行访问模式下,tag sram的内部时钟和外部时钟一致,首先进行读操作,当tag sram命中时,比较电路发出hit信号,并由自定时电路跟踪tag sram的读操作时间并产生内部时钟。访问模式切换电路选择自定时电路产生的时钟送到data sram内部时钟端,data sram根据内部时钟产生各个读操作信号,进行读操作,将data cache的数据读出,若不命中则不产生data sram的内部时钟,不再访问data cache,从而节省了不命中路的data sram访问功耗,对于性能要求比较低的场景,能有效降低cache的访问功耗。
20.本发明自适应的cache访问电路实现方法的流程如图2所示,包括如下步骤:步骤s1,处理器发出访问请求,结合处理器发出的读写信号进行读写判断;步骤s2,当为写操作时,同时访问tag sram和data sram,将数据同时写入tag sram和data sram中;
当为读操作时,首先检测cpu的负载:当在高负载情况下时,cache的访问模式为并行访问,无论tag cache是否命中,同时访问tag sram和data sram,将数据读出;当在低负载的情况下时,cache的访问模式切换为自定时串行访问,首先访问tag sram,当tag sram读操作完成且命中时,通过自定时电路产生data sram的内部时钟,进行data sram的访问,在同一个周期内将data sram中的数据读出,当tag sram不命中时,则不产生data sram的内部时钟信号,不再访问data sram,从而节省了不命中时data sram的功耗。
21.如图3所示,本发明的自适应cache访问方式的波形,从图中可以看出:当进行写操作时,两路tag sram和data sram的内部时钟和外部时钟一致,将数据同时写入两路tag sram和data sram中。
22.当进行读操作时,若cpu为高负载的时候,cpu负载监测模块输出的pline信号为低电平,两路tag sram和data sram的内部时钟和外部时钟一致,同时进行读操作,将两路tag sram和data sram数据读出,进行并行访问;若cpu为低负载时,pline信号为高电平,首先访问两路cache中的tag sram,当tag sram读完且比较结果命中时,命中路的hit信号变为高电平,hit信号送入到自定时电路,产生宽脉冲的q_pluse送入到data sram的内部时钟接口,data sram开始进行读操作,将命中路的data数据读出;而不命中路的cache则不产生dataclk,则不再进行data sram的访问;当两路均不命中时,两路data sram的内部时钟data clk均为低电平,两路均不进行读写。由此可见,自定时串行访问节省了不命中路的data读功耗。
23.如图4所示,本发明的自适应访问模式的切换电路,包含一个二选一选择器mux_1、一个第一与门and_1。其中,第一与门and_1的一个输入接入sram的读写使能信号wen,第一与门and_1的另一端输入接入串并行选择信号pline。当wen为低电平时,表示对cache进行写操作,而当wen为高电平,表示对cache进行读操作;当pline为低电平时,表明cpu的负载较高,需要进行并行访问,当pline信号为高电平时,表明cpu处于低负载情况,采用自定时串行访问。第一与门and_1的输出接到二选一选择器mux_1的输入端,作为其选择信号。二选一选择器的选“0”一端接入与tag sram同步的内部时钟;选“1”一端接入自定时电路产生的q_pluse信号;二选一选择器mux_1的输出信号最终作为data sram的内部时钟信号。因此,当进行写操作时,data sram的内部时钟和tag sram内部时钟一致,进行并行访问;当进行读操作时,若pline为“0”,data sram的内部时钟与tag sram内部时钟一致,cache进行并行访问;当pline为“1”时,data sram的内部时钟由比较电路和自定时电路产生,cache进行自定时串行访问。
24.如图5所示,本发明的比较电路包括第一异或门xor_1,第一异或门xor_1一端接入cpu地址,另一端接入tag sram输出数据tag_q,第一异或门xor_1输出为cpu地址和tag_q的比较结果hit。当比较结果一致时,hit为高电平,当比较结果不一致时,hit为低电平,输出信号hit送入自定时电路。
25.自定时电路包括第一反相器inv1、第二反相器inv2、第三反相器inv3、第二异或门xor_2、第四反相器inv4、第五反相器inv5、第二与门and_2、第六反相器inv6、第七反相器inv7、第一pmos管mp1、第二pmos管mp2、第三pmos管mp3、第四pmos管mp4、第五pmos管mp5、第一nmos管mn1、第二nmos管mn2、第三nmos管mn3、第四nmos管mn4、第五nmos管mn5以及第六nmos管mn6。
26.其中,tag sram的灵敏放大器开启信号sae连接第一反相器inv1、第一反相器inv1输出接入第二反相器inv2输入,第二反相器inv2输出接入第三反相器inv3输入,第三反相器inv3输出q_valid信号用于标记tag sram读操作结束;第三反相器inv3输出接入第二异或门xor_2输入一端,第二异或门xor_2另一端输入恒为低电平,第二异或门xor_2输出接入第四反相器inv4输入,第四反相器inv4输出接入第五反相器inv5输出,第五反相器inv5输出标记比较操作的完成。第五反相器inv5的输出接入到第二与门and_2的一端输入,第二与门and_2的另一端输入接入比较电路的输出信号hit,产生q_en信号;当q_en为低电平时,表示tag sram读完但未命中的情况,此时送入data sram中,不进行读操作;当q_en信号为高时表示tag sram读完且命中的情况,此时可以触发data sram的内部时钟信号,而q_en信号作为data sram的内部时钟信号脉宽较窄,因此q_en信号经过第六反相器inv6产生compb信号;第一pmos管mp1的源端连接到电源vdd,漏端连接而到第二pmos管mp2源端,栅极连接sae的反信号saeb;第二pmos管mp2漏端为输出信号q_pulse,栅极连接到compb信号;第三pmos管源端连接到电源vdd,栅极输入信号为sae,漏端连接到第四pmos管mp4源端;第四pmos管mp4栅极输入信号为clk的反信号clkb,漏极连接第五pmos管mp5;第五pmos管mp5 的栅极输入q_pulse反信号q_pulseb,漏端为q_pulse信号;第一nmos管mn1的漏端连接q_pulse,栅极输入clkb,源端接着电源地vss;第二nmos管mn2的漏端为q_pulse,输入为q_pulseb,源端连接第三nmos管mn3;第三nmos管mn3栅极输入为clk,源端连接第四nmos管mn4源端;第四nmos管栅极输入为sae,漏端接电源地vss;第五nmos管mn5漏端接q_pulse,栅极为comp的反信号compb,源端连接第六nmos管mn6;第六nmos管mn6栅极输入为sae,源端为电源地vss;输出信号q_pulse经过第七反相器inv7产生反信号q_pulseb。产生信号q_pluse是以q_en上升沿为上升沿、clk下降沿为下降沿的脉宽信号,送入到访问模式切换电路,作为读操作时tag sram读完且命中时data sram的内部时钟。
27.由上述所知,本发明通过监测cpu负载情况下,访问模式切换电路适时调整cache的访问方式。当cpu负载比较高如网页浏览、游戏操作时,采用并行访问方式,提高cache的性能;当cpu负载比较低如音乐播放、后台计时,采用自定时串行访问,降低cache不命中时data sram的功耗。此外,自定时串行访问通过自定时电路和比较电路,使得在tag sram读完且命中的情况下,开启data sram的内部时钟进行读操作,与传统的两个周期的串行访问模式相比,能实现在同一个周期内读出data sram的数据,在降低功耗的情况下保证性能。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献