一种支持容量与组相联度灵活可配的核外高速缓存装置的制造方法

文档序号:8457229阅读:575来源:国知局
一种支持容量与组相联度灵活可配的核外高速缓存装置的制造方法
【技术领域】
[0001]本发明涉及片上系统(SoC)层次化存储器架构设计领域,具体涉及一种高速缓存
目.0
【背景技术】
[0002]处理器与存储器技术发展的不同步,导致处理器的执行速度与存储器访问速度之间的差距逐渐变大。以FLASH为例,单次访问的时钟周期数可以达到处理器时钟周期数的数十倍。而且存储器容量通常比较大,直接访问存储器会来造成很大的功耗。为了缩小处理器速度与存储器访问性能之间的差距,降低片上系统的功耗,在片上系统芯片(SoC)设计中通常在处理器与存储器之间加入高速缓存。高速缓存容量较小,速度通常比存储器高,访问功耗较低。处理器对存储器访问比较频繁的部分数据会存放在高速缓存中,减少处理器对存储器直接访问,而只是访问高速缓存来获取所需数据,提高了数据读取速度。
[0003]高速缓存的容量与组相联度均为缓存设计中的重要参数。缓存中的数据为存储器中的子集,当访问的数据在高速缓存中会发生缓存命中;而访问的数据不在高速缓存中时,会发生缓存缺失。缓存缺失时需要访问存储器来回填数据,浪费大量时钟周期。缓存命中时访问所需时间及缓存缺失时访问所需时间相等时,缺失率越高,缓存性能越差。较大的缓存容量和组相联度会减少缓存缺失率,但会延长缓存命中时间,由于访问逻辑更复杂而增加功耗。
[0004]基于单一片上系统芯片(SoC)的不同应用对于高速缓存的需求会有较大差异。在某些应用中,存储器速度比较慢,需要更低的缓存缺失率来保证性能,更大的缓存容量和较高的相联度是更为理想的选择。而在而在某些应用中,较小的缓存容量和较低的相联度能够带来比较理想的功耗控制。容量与相联度固定的高速缓存无法适应不用系统应用的需求,会严重制约片上系统芯片的应用范围。

【发明内容】

[0005]为了克服已有高速缓存装置容量与组相联度固定引起的无法满足不用应用对性能和功耗的需求、适应性较差的不足,本发明提供了一种容量与组相联度可配置、满足不用应用对性能和功耗的需求、适应性更强的支持容量与组相联度灵活可配的核外高速缓存
目.ο
[0006]本发明解决其技术问题所采用的技术方案是:
[0007]一种支持容量与组相联度灵活可配的核外高速缓存装置,所述高速缓存装置包括:
[0008]控制模块,包含高速缓存容量与组相联度配置寄存器,缓存阵列管理器以及缓存访问控制器,根据不同应用的需求动态控制不同数量标签存储器块及数据存储器块工作,实现不同缓存容量及组相联度,并且与接口模块交互,控制缓存数据访问与数据回填;
[0009]缓存阵列模块,包含若干标签存储器块及数据存储器块,根据高速缓存容量与组相联度配置寄存器的设置,使用不同数量标签存储器块及数据存储器块,实现不同容量及组相联度;其中,所述标签存储器存储块请求地址的高位标签及缓存有效位,所述数据存储器块存储请求数据;
[0010]接口模块,包含存储器访问接口模块和从设备接口模块,所述存储器接口模块访问存储器,接收所述控制模块的请求访问下一级存储系统,向所述控制模块返回数据或响应信息;所述从设备接口模块接收处理器或其他主设备的读写访问请求,将访问请求发送给控制模块,并向处理器或其他主设备返回数据或响应信息。
[0011]进一步,所述缓存阵列模块中包含若干块标签存储器块和相同数目数据存储器块,根据所述高速缓存容量与组相联度配置寄存器配置信息,标签存储器块与数据存储器块——对应。
[0012]再进一步,所述标签存储器块均为存储宽度与深度相同的存储器块,所述数据存储器块均为存储宽度与深度相同的存储器块。
[0013]所述缓存阵列管理器中,根据容量与组相联度配置寄存器配置信息,选定需要工作的标签存储器块和数据存储器块,并输出时钟;对于未选定的标签存储器块和数据存储器块,采用门控时钟关闭其时钟。
[0014]所述缓存访问控制器中,根据请求地址,仅索引已选中的标签存储器和数据存储器。
[0015]所述缓存访问控制器中,在收到访问请求时访问正在工作的存储器块,在访问请求未命中时,将请求发给接口模块,以完成一次存储器访问和缓存回填。
[0016]本发明的有益效果主要表现在:通过容量与组相联度配置寄存器,通过软件设置所需高速缓存的容量与组相联度,满足不同应用对性能和功耗的需求,使片上系统芯片(SoC)具有更强的适应性。
【附图说明】
[0017]图1为本发明装置的系统构成框图。
[0018]图2为标签存储器和数据存储器的缓存行对应关系图。
[0019]图3为2路组相连,2kb大小高速缓存的工作原理图。
[0020]图4为2路组相连,4kb大小高速缓存的工作原理图。
[0021]图5为4路组相连,4kb大小高速缓存的工作原理图。
【具体实施方式】
[0022]下面结合附图对本发明作进一步描述。
[0023]参照图1?图5,一种支持容量与组相联度灵活可配的核外高速缓存装置,包括缓存阵列模块、控制模块和接口模块;
[0024]缓存阵列模块,包含若干标签存储器块及数据存储器块,其根据配置寄存器设置,使用不同数量标签存储器块及数据存储器块,实现不同容量及组相联度,其中:
[0025]容量M,组相联度2路,需使用2块标签存储器块及2块数据存储器块,每路需要I块标签存储器块及I块数据存储器块;
[0026]容量2M,组相联度2路,需使用4块标签存储器块及4块数据存储器块,每路需要2块标签存储器块及2块数据存储器块;
[0027]容量2M,组相联度4路,需使用4块标签存储器块及4块数据存储器块,每路需要I块标签存储器块及I块数据存储器块;
[0028]容量4M,组相联度2路,需使用8块标签存储器块及8块数据存储器块,每路需要4块标签存储器块及4块数据存储器块;
[0029]容量4M,组相联度4路,需使用8块标签存储器块及8块数据存储器块,每路需要2块标签存储器块及2块数据存储器块;
[0030]容量4M,组相联度8路,需使用8块标签存储器块及8块数据存储器块,每路需要I块标签存储器块及I块数据存储器块;
[0031]以上M均为整数;
[0032]标签存储器块存储了请求地址的高位标签,以及缓存有效位。高位标签的位数随缓存容量和组相连度而变化。若配置为容量为4k的两路组相联,缓存行大小为8byte,请求地址的高21位作为标签。为实现所有容量及组相连度,标签存储器以最小容量,最高组相联度下的位数作为宽度。
[0033]数据存储器块存储请求数据。如图2所示,数据存储器与相应的标签存储器是一一对应的,当选中某一标签存储器的某一缓存行标签,即可选出在相对应的数据存储器中的相应数据。
[0034
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1