CN110750468A - 一种支持内存一致性功能的数据缓存装置 - Google Patents
一种支持内存一致性功能的数据缓存装置 Download PDFInfo
- Publication number
- CN110750468A CN110750468A CN201910979085.5A CN201910979085A CN110750468A CN 110750468 A CN110750468 A CN 110750468A CN 201910979085 A CN201910979085 A CN 201910979085A CN 110750468 A CN110750468 A CN 110750468A
- Authority
- CN
- China
- Prior art keywords
- data
- remote
- local
- lookup table
- cache
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明是一种支持内存一致性功能的数据缓存装置,用于构成多核处理器微架构,实现多核间数据一致性功能。本发明采取了数据一致性比较的设计方法,而不是消息一致性或总线一致性设计方法,主要组成包括一个远端的缓冲数据查找表和另一份本地数据查找比较装置。
Description
技术领域
本发明属于计算机硬件、处理器设计、多核处理器数据一致性设计领域,数字集成电路设计领域,具体涉及一种支持内存一致性功能的数据缓存装置。
背景技术
在现代处理器以往的设计中,为了利用数据存取的区域性规律,当前访问数据会先存储在缓存装置,或先在该装置中进行更改操作,然后在特定的时间进行一系列数据的同步处理。
缓存针对主存储器中的更小的区域进行,在以往的设计中,缓存的内存操作策略依赖于内存块管理装置中的记录。专利US6996676B2在一种内存页的替换策略中发明了“窗口列表”的管理方法,提升了缓存系统的整体命中率。给出了缓存的基本设计结构,但没有解决多核数据一致性问题。
专利US20030131201A1提出了share memory的多核机制,类似消息共享机制。专利WO2010008460A1提出了存取队列,属于队列消息共享机制。源自伯克利大学的开源CPU工程Rochet中的Tilelink和diplomacy设计则属于总线共享一致性,其数据的一致性功能还需要特定的全局多核中断处理机制。这些设计对于特定的多核处理器设计仍存在种种效率或性能的问题。
发明内容
本发明提供一种支持内存一致性功能的数据缓存装置,在处理器的缓存装置内,解决多处理器核间数据一致性问题。
为实现上述目的,本发明实施例结合传统的缓存装置,提供了一种支持内存一致性功能的数据缓存装置,该支持内存一致性功能的数据缓存装置包括:
一个本地缓存装置,对应本地处理器核的数据缓存,记录本地缓存页相对于系统内存中数据的完整MESI状态;
一个对应远端缓存的查找表,对应远端处理器核的数据缓存,记录远端缓存页相对于系统内存中数据的完整MESI状态,以及综合状态判断结果;
一个在本地进行与远端查找表进行查找和比较的装置,将远端查找表中对应的数据页状态输出;
一个在本地综合判断状态的装置,将本地数据页状态与远端数据页状态进行综合判断,并对本地以及对应本地而处于远端的查找表对应状态进行更新。
本发明还提供一种数据一致性功能机制,其特征在于,本地缓存不仅进行本地查找,同时也进行远端查找,并就所命中得到的远端“影子”缓存页状态进行综合判断,再根据判断结果完成对数据的一致性操作。
本发明的效果在于:
1、简化了各种数据一致性要求带来的设计复杂度;
2、提高了多核之间数据一致性操作的性能和效率;
3、更适合在低成本嵌入式ASIC芯片上实现。
附图说明
图1为本发明一种支持内存一致性功能的数据缓存装置的结构图;
图2为本发明所述对应远端缓存的查找表的数据页的数据结构图;
图3为本发明所述一种数据一致性功能机制的流程图;
图4为本发明所述MESI内存协议的状态图。
附图标记说明
TLB translate lookaside buffer对应缓存的查找表
cacheable可缓存的存储策略,也是某一段内存地址空间的存储属性
LSU load store unit,处理器的存储指令执行单元
MESI Modified,Exclusive,Shared and Invalid(MESI)Protocol,内存一致性模型协议
具体实施方式
下面通过附图和实施例,对本发明进一步详细描述。
图1为本发明一种支持内存一致性功能的数据缓存装置的结构图,在单个核内,包括:
本地处理器核及其存储执行单元,对本地缓存发起可缓存类型数据的操作;
一个本地缓存装置,对应本地处理器核的数据缓存,记录本地缓存页相对于系统内存中数据的完整MESI状态;
一个对应远端缓存的查找表,对应远端处理器核的数据缓存,记录远端缓存页相对于系统内存中数据的完整MESI状态,以及综合状态判断结果;
一个在本地进行与远端查找表进行查找和比较的装置,将远端查找表中对应的数据页状态输出;
一个在本地综合判断状态的装置,将本地数据页状态与远端数据页状态进行综合判断,并对本地以及对应本地而处于远端的查找表对应状态进行更新。
图2为本发明所述对应远端缓存的查找表的数据页的数据结构图。所述对应远端缓存的查找表,其特征在于,与所对应远端缓存查找表的深度一致,位宽包括必要的若干地址位、MESI状态位以及同步有效位。在一个实施例当中,当发现在远端TLB中搜索命中有关本地访问的数据页的状态为Modif ied(已更改),那么不论本地TLB中相应的数据页状态为和,都应当在load相应数据之前,进行数据同步操作。首先设定本地数据页的有效位无效,令LSU暂停以等待有效的页重新载入完成;接着将本地和远端的当前对应同一物理地址的数据页进行数据同步操作,并将MESI状态都记录为M,不仅包括本地的TLB对应MESI状态,还包括远端的对应本地的TLB状态位;最后LSU将所需数据读走。
以上描述了在一个实施例当中,考虑远端状态以及本地状态综合判断后的状态变化的其中一种情况,其他状态变化,如图4MESI内存协议的状态图所示。
无论是本地TLB还是远端TLB,其主要实现结构类似于传统的TLB设计,二者的深度一致,代表在本地缓存查找的同时,也对远端所缓存的所有页进行查找。
图3为本发明所述一种数据一致性功能机制的流程图。对于可缓存的数据,不仅进行本地缓存查找,同时进行远端缓存查找;如果在本地缓存不存在相应的数据页,按照本发明给出的所述设计,则说明在对应本地的远端TLB中也缺少相应的数据页,所以还会进行远端TLB的添加;如果在本地发生了缓存数据页的置换,则在远端TLB也应进行同样的置换。在对两地状态进行综合判断后,分别更新本地TLB状态,和远端TLB状态,便于远端实施查询,同时返回综合判断结果,进行传统的本地缓存各项操作。
以上过程可以在连续的内存存取操作间,首尾相接的进行,当核间的数据一致性出现违背的时候,将实时的被两地状态判断机制发现,从而当即先进行核间数据同步操作,并由其中一个核进行与内存之间的数据同步操作。对每一个核的缓存操作等待带来的性能损耗降到了最低。
在另一个实施例中,如果多核的数目为2以上,那么核间需要两两间进行相应的链接,每一个核都在不同的远端核有一个远端TLB对应本地。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种支持内存一致性功能的数据缓存装置,其特征在于,所述硬件装置包括:
一个本地缓存装置,对应本地处理器核的数据缓存,记录本地缓存页相对于系统内存中数据的完整MESI状态;
一个对应远端缓存的查找表,对应远端处理器核的数据缓存,记录远端缓存页相对于系统内存中数据的完整MESI状态,以及综合状态判断结果;
一个在本地进行与远端查找表进行查找和比较的装置,将远端查找表中对应的数据页状态输出;
一个在本地综合判断状态的装置,将本地数据页状态与远端数据页状态进行综合判断,并对本地以及对应本地而处于远端的查找表对应状态进行更新。
2.一种支持内存一致性功能的数据缓存装置,其特征在于,在本地所有对应远端的装置,与远端的处理器核数目成正比关系。优选的,本发明中以2-4个处理器构成的多核架构为例。
3.根据权利要求1所述的对应远端缓存的查找表,其特征在于,与所对应远端缓存查找表的深度一致,位宽包括必要的若干地址位、MESI状态位以及同步有效位。
4.一种数据一致性功能机制,其特征在于,本地缓存不仅进行本地查找,同时也进行远端查找,并就所命中得到的远端“影子”缓存页状态进行综合判断,再根据判断结果完成对数据的一致性操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910979085.5A CN110750468A (zh) | 2019-10-15 | 2019-10-15 | 一种支持内存一致性功能的数据缓存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910979085.5A CN110750468A (zh) | 2019-10-15 | 2019-10-15 | 一种支持内存一致性功能的数据缓存装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110750468A true CN110750468A (zh) | 2020-02-04 |
Family
ID=69278424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910979085.5A Withdrawn CN110750468A (zh) | 2019-10-15 | 2019-10-15 | 一种支持内存一致性功能的数据缓存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750468A (zh) |
-
2019
- 2019-10-15 CN CN201910979085.5A patent/CN110750468A/zh not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346294B (zh) | 基于多级缓存的数据读/写方法、装置和计算机系统 | |
US9513904B2 (en) | Computer processor employing cache memory with per-byte valid bits | |
US9043556B2 (en) | Optimizing a cache back invalidation policy | |
JP4486750B2 (ja) | テンポラリ命令及び非テンポラリ命令用の共用キャッシュ構造 | |
JP6724043B2 (ja) | キャッシュタグ圧縮のための方法および装置 | |
JP5526626B2 (ja) | 演算処理装置およびアドレス変換方法 | |
US9563568B2 (en) | Hierarchical cache structure and handling thereof | |
US20080091884A1 (en) | Handling of write access requests to shared memory in a data processing apparatus | |
US7363435B1 (en) | System and method for coherence prediction | |
JP6859361B2 (ja) | 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと | |
US8335908B2 (en) | Data processing apparatus for storing address translations | |
KR19980079433A (ko) | 비포함 캐쉬 메모리 계층 구조에서 사용하기 위한 캐쉬 일관성 메카니즘 구현 방법 및 시스템 | |
JP4218820B2 (ja) | ダイレクトマップドキャッシュとフルアソシアティブバッファとを含んだキャッシュシステム、その制御方法及び記録媒体 | |
US7716424B2 (en) | Victim prefetching in a cache hierarchy | |
JP5328792B2 (ja) | プロセッサの非常にアソシエティビティの高いキャッシュメモリ用のセカンドチャンス置換機構 | |
WO2014206217A1 (zh) | 一种指令缓存的管理方法和处理器 | |
US9003130B2 (en) | Multi-core processing device with invalidation cache tags and methods | |
US11526449B2 (en) | Limited propagation of unnecessary memory updates | |
KR102355374B1 (ko) | 이종 메모리를 이용하여 메모리 주소 변환 테이블을 관리하는 메모리 관리 유닛 및 이의 메모리 주소 관리 방법 | |
WO2015018350A1 (zh) | 一种缓存刷新方法和装置 | |
US10565111B2 (en) | Processor | |
US9081685B2 (en) | Data processing apparatus and method for handling performance of a cache maintenance operation | |
CN110750468A (zh) | 一种支持内存一致性功能的数据缓存装置 | |
US9053030B2 (en) | Cache memory and control method thereof with cache hit rate | |
CN113094100A (zh) | 一种支持内存一致性维护的数据缓存微架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200204 |