CN117785735A - 一种基于标签缓存的标签式存储结构及方法 - Google Patents
一种基于标签缓存的标签式存储结构及方法 Download PDFInfo
- Publication number
- CN117785735A CN117785735A CN202311695658.4A CN202311695658A CN117785735A CN 117785735 A CN117785735 A CN 117785735A CN 202311695658 A CN202311695658 A CN 202311695658A CN 117785735 A CN117785735 A CN 117785735A
- Authority
- CN
- China
- Prior art keywords
- tag
- cache
- data
- main memory
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000015654 memory Effects 0.000 claims abstract description 154
- 238000013500 data storage Methods 0.000 claims abstract description 5
- 230000004044 response Effects 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 4
- 238000013475 authorization Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于标签缓存的标签式存储结构及方法,涉及处理器芯片技术领域。本发明包括:数据缓存、主存储器和标签缓存;所述数据缓存位于CPU与总线之间,所述标签缓存位于总线和主存储器之间;所述数据缓存用于对缓存运行中的数据部分拓展出标签位;所述主存储器用于划分出数据存储与标签存储的两个区域。本发明对存在读写效率低(多次读写)的问题,通过在CPU总线与主存之间引入一个新的缓存Tag Cache,用相对较小的电路开销和较小的性能影响,极大地提升了读写效率。
Description
技术领域
本发明涉及处理器芯片技术领域,更具体的说是涉及一种基于标签缓存的标签式存储结构及方法。
背景技术
标签技术,指的是处理器架构中一种用于操作和管理内存中数据的辅助机制。这些标签用于标识内存中的数据,以确保数据被正确加载、存储和访问,同时也可以用于实现多任务处理、内存保护和安全性。其具体有如下用途,1.内存保护,处理器使用标签技术来确保不同的进程无法访问彼此的内存,从而保护数据的隐私和安全性。每个内存页可以带有访问权限标签,如只读、读写、执行等,以控制对数据的访问。当进程试图访问没有适当权限的内存区域时,处理器会触发异常,操作系统可以捕获并处理异常。2.硬件安全,一些处理器架构会使用标签技术来实现硬件安全性功能,如执行数据执行保护(Data ExecutionPrevention,DEP)和地址空间随机化(Address Space Layout Randomization,ASLR)。DEP使用标签技术分离内存区域,来防止执行内存中的恶意代码。ASLR使用标签技术来随机化内存地址,使攻击者更难以利用已知的漏洞。在侧信道攻击领域,利用标签技术将访问授权信息存储在标记中,用于标记数据所处的安全域,CPU进行不同安全域的隔离,以便在存储器访问过程中验证程序是否具有访问权限并进行不同安全域的安全操作。
缓存技术,处理器的缓存技术是计算机体系结构中的重要组成部分,用于提高内存访问速度,减少处理器等待内存的时间。这些缓存通常是高速、容量较小的存储器,用于存储最常用的数据和指令。处理器通常包括多级缓存,如L1、L2、L3等,按照从最接近处理器核心到最远的顺序排列。L1缓存是最接近处理器核心的,速度最快但容量最小。L2和L3缓存则更大但相对较慢。缓存存储有限,因此需要一种策略来确定哪些数据被保留在缓存中。常见的替换策略包括最近最少使用(LRU)、随机替换和先进先出(FIFO)。LRU是一种较为常见的策略,它选择最长时间没有被访问的数据进行替换。处理器缓存可以采用写回(write-back)或写直通(write-through)策略。写回策略只在缓存行替换时才写回主存,而写直通策略在写操作后立即将数据写回主存。写回策略可以减少内存写入操作,但需要处理脏数据(即已被修改但尚未写回主存的数据)。处理器的缓存技术是计算机体系结构中的关键设计元素,对于提高计算机性能至关重要。通过合理的缓存层次结构、替换策略、写策略和缓存一致性,处理器能够更有效地管理内存访问,提高程序执行速度。不同的处理器架构可能采用不同的缓存设计,以满足特定的性能需求。
标签式存储结构(Tagged Memory Hierarchy),是一种计算机存储器结构,将标记与每个存储单元相关联。标记通常包含有关存储单元内容的元数据信息,例如存储单元所属的数据类型、访问授权、存储单元的地址范围等。一般而言,标签通常以额外的比特形式存储在存储单元中,与存储单元的一般数据一起存储和访问。
现有的标签存储方案有如下几种,以每32位的数据附加2位的标签为例:
①直接拓展存储器位宽,针对原先32位的存储器位宽拓展位34位,即在硬件结构上对存储器的位宽拓宽2位用于存储标签。这种方法直接且高效,硬件开销低且存取效率高,但也存在一定的问题,因其对存储器的硬件进行了修改,因此兼容性差,需要针对该系统专门设计新的存储器结构。
②借用存储器的部分空间,将存储器的部分空间留用存储标签,该方案需要对存储器按照一定的比例进行分割,其比值为数据与标签的位宽之比。该方案的优点是兼容现有的存储器结构,但存在如下两个问题,首先,大部分情况下数据与标签的比例需求无法做到使内存空间完美分割,因此会使内存产生一定的冗余,以每32位数据附加2位标签为例,其16:1的比例会使内存至多产生15个字节的冗余空间,冗余空间的大小仅与数据标签比例大小有关,而与内存的总大小无关,因此一个大容量内存中这种冗余所占比例较小,且在可以接受的范围之内。其次,由于数据和标签共用同一个存储区,其在访存的时候需要多次进行存取操作,一次读取需要分别读取数据与标签,即需要对主存进行两次完整的读操作。与此同时,标签的位数不足一个字节,为最大化利用内存空间,需要将多个标签打包对齐放入内存中,即一个地址空间内存在多个标签。在标签写入的过程中,为防止旧有标签被覆盖,需要将目标地址中的数据读出后修改再重新写入该地址空间内,因此执行一次写指令,需要对主存储器进行一次“写入、读取、写入”操作,如此将消耗大量的存取时间以及占用总线资源。
③添加一个标签专用存储区,在原有的存储器之外,于总线上挂载一个位宽为2的存储器,仅用于存储标签,其可以视为存储器的影子空间,与存储器共用同一组地址总线,但不共用数据总线。该方案的优点是存储效率比较高,但存在以下问题,其一,与方案一以类似,虽不需要对原先32位位宽的存储器做出改变,但需要额外挂载一个2位的存储器,其不能兼容现有的存储器结构。其二,两块存储器分别都需要有独立的接口电路以及控制逻辑,相较于方案一,平添了一笔额外的电路开销。
④分块存储不同标签的数据,根据不同的标签将存储器划分为多个区域,每个区域只存储对应标签的数据,以2位的标签为例,根据标签的值作为编号,将存储器划分为4个区域,每个区域只存储对应标签的数据。该方案的优点是兼容现有存储器结构,存取效率高,但由于无法对每个存储区的大小做出实时的修改,大部分情况下将无法做到写满每一个存储区,因此该方案的存储空间利用率较低,各存储区域维护成本及难度较大。
发明内容
有鉴于此,本发明提供了一种基于标签缓存的标签式存储结构及方法,对存在读写效率低(多次读写)的问题,通过在CPU总线与主存之间引入一个新的缓存Tag Cache,用相对较小的电路开销和较小的性能影响,极大地提升了读写效率。
为了实现上述目的,本发明采用如下技术方案:
一种基于标签缓存的标签式存储结构,包括:数据缓存、主存储器和标签缓存;所述多级缓存位于CPU与总线之间,所述标签缓存位于数据缓存和主存储器之间;
所述数据缓存用于对缓存运行中的数据部分拓展出标签位;
所述主存储器用于划分出数据存储与标签存储的两个区域。
可选的,所述标签缓存用于存储标签,包括缓存控制器和Tag Cache;所述缓存控制器为逻辑控制区域,用于负责前级、后级以及Tag Cache的访问控制,根据前级发来的访问指令,以及Tag Cache的命中与否情况生成对后级和主存的访问指令及控制指令。
可选的,所述数据存储位于低地址空间,所述标签存储位于高地址空间。
可选的,所述标签缓存的前级缓存的数据总线位宽为数据位宽与标签位宽的加和,而后级的主存位宽为数据位宽。
可选的,所述主存储器与所述Tag Cache之间存在一个读写通道。
可选的,Tag Cache设置有实时监控模块,用于对自身的存储情况进行实时监控。
一种基于标签缓存的标签式存储方法,利用任意一项所述的一种基于标签缓存的标签式存储结构,包括以下步骤:
若前级请求地址命中,则生成标签请求附加前级请求对主存发出请求,获取响应并更新存储区域;
若前级请求地址未命中,则生成第一请求和第二请求,将第一请求转发给主存请求,第二请求交由Tag Cache响应。
可选的,Tag Cache的运行逻辑为:前级的数据进行存储时,其中数据直接交给主存,标签则交给Tag Cache存储,当Tag Cache即将溢出时,将存储区域与主存的总线访问挂起,将存储区域的标签数据写回至主存;当主存进行数据写入时,在Tag Cache缓存命中的前提下,数据同时写入TCache存储区域和主存。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种基于标签缓存的标签式存储结构及方法,具有以下有益效果:
1、对比旧方案,本发明中的标签式存储结构利用缓存技术,减少了存储器的读写次数,提升了标签处理器-存储器系统的读写效率。
2、标签缓存的引入将不同数据位宽的系统进行了适配,更好地兼容现有系统总线和存储器。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是标签式存储层次结构示意图;
图2是内存中数据存放方式示意图;
图3是TCache硬件结构示意图;
图4是TCache存储结构示意图;
图5是TCache工作流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于标签缓存的标签式存储结构,包括:数据缓存、主存储器和标签缓存;所述多级缓存位于CPU与总线之间,所述标签缓存位于总线和主存储器之间;
所述多级缓存用于对缓存运行中的数据部分拓展出标签位;
所述主存储器用于划分出数据存储与标签存储的两个区域。
本发明所述的标签式存储结构中的组分有多级缓存、主存储器以及本发明引入的标签缓存。在层次结构上,多级缓存位于CPU与总线之间,标签缓存位于总线与主存储器之间,主存储器位于最后端。在储存内容上,多级缓存与主存存放数据与标签的组合数据,而标签缓存仅存储标签。在储存方式上,多级缓存对缓存行中的数据部分拓展出标签位用于存储标签,其是对器件结构的直接拓展。主存则是划分出两个区域,分别用于存储数据与标签,由于标签缓存的存在,主存在器件结构上无须做出任何更改。
本发明将原先仅用于存储数据的内存空间按照一定的比例进行分割,一部分地址空间用于存储数据,另一部分用于存储标签,通过牺牲部分内存空间的方式来存储标签,但存储器本身不需要做任何的调整。这种方案需要对内存地址进行一定的映射,标签的存放位置并不是随意的,而是根据其所依附的数据地址进行一定的映射,从而保障数据与标签唯一对应性。本发明的一种实施例是将数据存储在低地址空间,而将标签存储在高地址空间,采用该方式,原先的数据地址不需要做任何映射,标签地址则可以将其所依附的数据的地址通过简单的运算得到标签存放的地址,这种映射方式可以最大程度的减少硬件开销。在实际的应用中,标签的位数往往不足一个字节,因此在实际的存储过程中,需要将多个标签打包对齐后再放入对应的地址空间中。
本发明在CPU总线与主存之间引入了标签缓存,用于解决旧方案中存取效率低的问题。旧方案的存储结构中,一次访存操作需要对主存进行多次读写,在执行主存的读访问时,当数据缓存未命中,需要对主存进行两次读取操作,即需要分别读取数据和标签后再重新放入缓存中;在执行写指令时,当数据缓存未命中,需要对主存进行两次写操作与一次读操作,其中第一次写操作为数据的写入,第二次写操作为标签的写入,而多出来的这一次读操作是由于多个标签存放在同一个地址空间中,为防止旧标签被覆盖,需要将该地址中的全部标签读出,修改部分标签后再重新写入该地址中。因此,旧方案对比通常的无标签存储结构,将耗费两至三倍的读写时间,读写效率十分低下。为解决上述问题,本发明在总线与主存之间引入了一个新的缓存,因其只存储标签而不存储数据,把它称为标签缓存。标签缓存实现了对标签数据的暂时存储,因此在读写操作时,不需要再对主存进行多次读写操作。在进行读操作时,仅需要对主存进行一次数据的读操作,标签则可以从标签缓存中直接取出;在进行写操作时,仅需要对主存进行一次数据的写入,标签则可以先行写入标签缓存之中,但由于标签缓存空间有限,因此需要在主存空闲时,将标签写回至主存。通过标签缓存的引入,成功解决了旧方案对主存的多次读写问题,即提升了整体的读写效率。
标签缓存的作用并不仅仅只有缓存标签,还实现了数据与标签的调度,目的是最大化提升读写效率。其主要由缓存区与缓存控制组成,其中存储结构与一般的缓存结构类似,不同在于其仅用于存储标签,因此可以节省了大量的硬件资源;缓存控制则负责数据和缓存标签的调度,其需要对前级(CPU或L1、L2、L3缓存)的请求进行响应,以及需要根据该请求生成对后级(主存储器)的请求。由于缓存的特性,并不总是能在缓存中找到想要的数据(/标签),即缓存发生了未命中。因此,控制模块还根据标签缓存的命中与否,做出不同的请求响应操作。当标签缓存未命中,此时就需要对主存进行多次读写操作,这是无法避免的。但由于缓存行的存在,其缓存了该地址中的全部且最新的标签数据,因此在写入的时候不需要额外进行一次读操作,可以将缓存行中的全部标签数据一次性写入主存中。在标签缓存的整个运行周期之中,未命中的情况不是每次都会发生,因此整体而言依旧可以提升巨大的读写效率。
在存储层次结构上,标签缓存位于多级缓存与主存储器之间,其前级缓存的数据总线位宽为数据位宽与标签位宽的加和,而后级的主存位宽仅为数据位宽,因此标签缓存的前后端拥有不同的数据位宽,其充当了一个中间层的角色,将两个不同数据位宽的系统进行了适配。标签缓存的引入可以视为在多级缓存与主存储器之间加入了一个硬件上的虚拟层级,其虚拟在于前后级都无法感知其的存在,具体而言,从多级缓存这一侧视角来看,它在向一个位宽为数据位宽和标签位宽加和的存储器进行读写数据,且该存储器的读写效率与一般的存储器无异,而从存储器这一侧的视角来看,存在一个位宽等于数据位宽的系统在向其读写数据。标签缓存还在缓存内部完成了数据标签的打包——由于标签位数较少,在主存储器中存储时需要多个标签打包成一个word进行存储,标签在存入标签缓存时将按照主存的字长设计缓存行,进行存储,写回时作为一个整体的word可以直接写入主存;主存中读取的标签包(一个word)也可以直接写入标签缓存行的硬件存储结构中,在处理器读取标签时自动实现了拆包。整体而言,存储层次结构中的其他每一个组分都无法感知标签缓存的存在,但标签缓存却在调度数据标签、匹配不同位宽系统、提升整体的读写效率等方面发挥着至关重要的作用。
具体的,标签式存储结构中,对于若干字节的数据,其附加若干的标签,用于实现对处理器指令的安全控制等功能。标签式存储层次结构如图1所示,在CPU(/多级缓存)之间,加入了一个新的标签缓存,标签缓存仅缓存标签而不缓存数据,从而最大程度的节省硬件开销。标签缓存将接收来自前级的访存请求,包括读写指令,并向后级的主存发出请求,待其返回数据后与标签打包返回给前级。
数据与标签在内存中的存储方式如图2所示,根据数据和标签的位宽比例进行分割,将低地址空间用于存储数据,因此数据地址不需要做任何映射;高地址空间用于存储标签,每个标签对应一个数据地址,因此标签地址与其实际地址存在一定的映射关系。在实际的应用中,标签的位数往往不足一个字节,因此在实际的存储过程中,需要将多个标签打包对齐后再放入对应的地址空间中,因此多个标签共用一个地址空间,即共用同一个数据地址。
TCache的硬件结构如图3所示(图1黑色区域放大),其中Tag Cache为其的存储区域,其中存放缓存中的标签数据,其拥有通常Cache的逻辑功能,包括处理读写访问请求,根据请求地址判断命中与否,在内容数据变更时更新缓存行的Valid位和Dirty位,以及在数据替换时执行缓存替换策略。本发明采用了最近最少使用(LRU)策略,LRU是一种较为常见的策略,它选择最长时间没有被访问的数据进行替换。值得一提的是,TCache与主存之间仅存在一个读写通道,此通道将会被正常的读写操作占用,因此,在正常的读写过程中,TCache存储区将会不断被写入直至溢出。为防止这种情况的发生,需要留出一定的时间给予TCache用于写回标签缓存中的数据。为此,本发明对TCache存储区添加了要对自身的存储情况进行实时的监控的功能,在到达一定阈值时生成相应预警信号,从而挂起总线,为标签的写回留出时间;缓存控制器为其的逻辑控制区域,负责前级、后级以及Cache的访问控制,根据前级发来的访问指令,以及Cache的命中与否情况生成对后级和主存的访问指令及控制指令。其中前后级接口可以是任意形式的总线协议接口,可以根据具体需求进行调整。在本发明中前后级相连的接口统一采用AXI4全接口协议标准,其需要支持Outstanding特性,即请求队列功能,主机可以在访存请求未得到或未完全得到响应的情况下发出下一个请求,从机按照请求顺序依次返回响应,该特性使AXI4能够更好地利用总线带宽和提高总线性能,从而适用于高性能和低延迟的应用。TCache的运行逻辑是,前级的数据进行存储时,其中32位的数据直接交给后级(即主存),剩余的2位标签则交给TCache存储区存储,当TCache存储区即将溢出时,将TCache与CPU的总线访问挂起,将TCache存储区的标签数据写回至主存,为后续的读写腾出空间。当CPU进行数据写入时,在TCache缓存命中的情况下,数据将通过缓存控制器转交给后级的主存,而标签则直接写入TCache的存储区,整个过程仅需对主存进行一次写操作,因此写入效率可以保证最大化;当CPU进行数据读取时,在缓存命中的情况下,缓存控制器将从TCache存储区取出标签,并向后级主存发出读取命令,待主存返回数据后将数据与标签打包返回给前级,整个过程读取效率保证最大化。而在TCache缓存未命中的情况下,则需要让TCache与主存进行交互,根据LRU替换规则更新TCache中的数据。
TCache的存储结构如图4所示,TCache与普通的数据Cache在存储结构设计上基本没有差别,仅在数据的入口及出口以及数据的写入信号上存在一定的不同。一般的Cache数据的出入口宽度是等长的,而该TCache的设计是不等长的,入口数据宽度为4比特,而出口数据宽度为64比特,这样做的原因有两个,一是由前级与后级的数据宽度本身决定的,二是可以在Cache未命中的情况下,减少Cache与主存的交互次数。TCache将采用直接映射的方式,根据该映射方式的特点,对32位的地址进行分割,如图5所示。以32位的数据附加2位的标签为例,由于4字节数据对应2-bit标签,地址位的最低两位无效直接舍弃;该Cache的块大小为64比特,每块可以存储32组标签,因此块内偏移地址的长度为5;该Cache共设计了1024个块,因此索引长度为10;剩余15位则作为Cache的标签用于判断Cache的命中与未命中情况。该Cache的总容量为4Kb,可以根据实际情况通过增加块的数量来增加Cache的容量。
本实施例还公开了一种基于标签缓存的标签式存储方法,利用任意一项所述的一种基于标签缓存的标签式存储结构,包括以下步骤:
若前级请求地址命中,则生成标签请求附加前级请求对主存发出请求,获取响应并更新存储区域;
若前级请求地址未命中,则生成第一请求和第二请求,将第一请求转发给主存请求,第二请求交由Tag Cache响应。
TCache的整个工作流程如图5所示,其关键节点在于TCache的命中与否。首先,当前级产生一个访存请求后,缓存控制器将访问地址分别发送给后级的内存和TCache,TCache根据该地址判断是否命中。若写入请求命中,则将数据写入主存,并更新TCache中的标签值;若读取请求命中,将从主存中读取的数据后与TCache中取出的标签值共同返回CPU,值得注意的是,虽然两个读取操作同时进行,但主存数据的返回要远慢于TCache,因此设计了一组寄存器用于同步两边的数据。若写入请求未命中,则将数据写入主存,并在更新TCache中的标签值,将其对应的有效位与脏位置1;若读取请求未命中时,此时则需要对主存进行两次读取,分别将数据与其对应的标签所在的缓存行中的标签读出,后将数据与标签返回CPU,与此同时,在TCache新增一条缓存行,将标签写入的同时,将有效位置1,脏位保持不变。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种基于标签缓存的标签式存储结构,其特征在于,包括:数控缓存、主存储器和标签缓存;所述数据缓存位于CPU与总线之间,所述标签缓存位于数据缓存和主存储器之间;
所述数据缓存用于对缓存运行中的数据部分拓展出标签位;
所述主存储器用于划分出数据存储与标签存储的两个区域。
2.根据权利要求1所述的一种基于标签缓存的标签式存储结构,其特征在于,所述标签缓存用于存储标签,包括缓存控制器和Tag Cache;所述缓存控制器为逻辑控制区域,用于负责前级、后级以及Tag Cache的访问控制,根据前级发来的访问指令,以及Tag Cache的命中与否情况生成对后级和主存的访问指令及控制指令。
3.根据权利要求1所述的一种基于标签缓存的标签式存储结构,其特征在于,所述数据存储位于低地址空间,所述标签存储位于高地址空间。
4.根据权利要求1所述的一种基于标签缓存的标签式存储结构,其特征在于,所述标签缓存的前级缓存的数据总线位宽为数据位宽与标签位宽的加和,而后级的主存位宽为数据位宽。
5.根据权利要求2所述的一种基于标签缓存的标签式存储结构,其特征在于,所述主存储器与所述Tag Cache之间存在一个读写通道。
6.根据权利要求5所述的一种基于标签缓存的标签式存储结构,其特征在于,TagCache设置有实时监控模块,用于对自身的存储情况进行实时监控。
7.一种基于标签缓存的标签式存储方法,利用权利要求1-6任意一项所述的一种基于标签缓存的标签式存储结构,其特征在于,包括以下步骤:
若前级请求地址命中,则生成标签请求附加前级请求对主存发出请求,获取响应并更新存储区域;
若前级请求地址未命中,则生成第一请求和第二请求,将第一请求转发给主存请求,第二请求交由Tag Cache响应。
8.根据权利要求7所述的一种基于标签缓存的标签式存储方法,其特征在于,TagCache的运行逻辑为:前级的数据进行存储时,其中数据直接交给主存,标签则交给TagCache存储,当Tag Cache即将溢出时,将存储区域与主存的总线访问挂起,将存储区域的标签数据写回至主存;当主存进行数据写入时,在Tag Cache缓存命中的前提下,数据同时写入TCache存储区域和主存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311695658.4A CN117785735A (zh) | 2023-12-11 | 2023-12-11 | 一种基于标签缓存的标签式存储结构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311695658.4A CN117785735A (zh) | 2023-12-11 | 2023-12-11 | 一种基于标签缓存的标签式存储结构及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117785735A true CN117785735A (zh) | 2024-03-29 |
Family
ID=90388150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311695658.4A Pending CN117785735A (zh) | 2023-12-11 | 2023-12-11 | 一种基于标签缓存的标签式存储结构及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117785735A (zh) |
-
2023
- 2023-12-11 CN CN202311695658.4A patent/CN117785735A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6957304B2 (en) | Runahead allocation protection (RAP) | |
US9430402B2 (en) | System and method for providing stealth memory | |
US20190272239A1 (en) | System protecting caches from side-channel attacks | |
US7698508B2 (en) | System and method for reducing unnecessary cache operations | |
US6370622B1 (en) | Method and apparatus for curious and column caching | |
KR100240912B1 (ko) | 데이터 프리페치 장치 및 시스템, 캐시 라인 프리페치 방법 | |
EP1388065B1 (en) | Method and system for speculatively invalidating lines in a cache | |
KR101313710B1 (ko) | 스누프 요청 캐시를 사용하는 스누프 필터링 | |
CN101446923B (zh) | 一种响应于指令而清洗高速缓冲存储器线的装置和方法 | |
US5787478A (en) | Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy | |
US7434007B2 (en) | Management of cache memories in a data processing apparatus | |
JP3264319B2 (ja) | バスブリッジ | |
JP2000250813A (ja) | I/oキャッシュ・メモリにおけるデータ管理方法 | |
JPH09259036A (ja) | ライトバックキャッシュおよびライトバックキャッシュ内で整合性を維持する方法 | |
US7197605B2 (en) | Allocating cache lines | |
US7380068B2 (en) | System and method for contention-based cache performance optimization | |
CN113874845A (zh) | 多请求者存储器存取管线和仲裁器 | |
JP3262519B2 (ja) | 第2レベルキャッシュの古いラインの除去によるプロセッサのメモリ性能の強化方法及びシステム | |
US7461212B2 (en) | Non-inclusive cache system with simple control operation | |
US6643741B1 (en) | Method and apparatus for efficient cache management and avoiding unnecessary cache traffic | |
US20050091466A1 (en) | Method and program product for avoiding cache congestion by offsetting addresses while allocating memory | |
JPH0619739B2 (ja) | 多重プロセツサ・システムのキヤツシユを制御する方法 | |
US20010032297A1 (en) | Cache memory apparatus and data processing system | |
CN117785735A (zh) | 一种基于标签缓存的标签式存储结构及方法 | |
JPH10320285A (ja) | キャッシュメモリ及び情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |