CN101008921A - Embedded heterogeneous polynuclear cache coherence method based on bus snooping - Google Patents
Embedded heterogeneous polynuclear cache coherence method based on bus snooping Download PDFInfo
- Publication number
- CN101008921A CN101008921A CNA2007100669294A CN200710066929A CN101008921A CN 101008921 A CN101008921 A CN 101008921A CN A2007100669294 A CNA2007100669294 A CN A2007100669294A CN 200710066929 A CN200710066929 A CN 200710066929A CN 101008921 A CN101008921 A CN 101008921A
- Authority
- CN
- China
- Prior art keywords
- data block
- write
- level cache
- cache
- state
- 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 19
- 238000012546 transfer Methods 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于总线侦听的嵌入式异构多核缓存一致性方法。本发明的方法是通过采用了“写穿”和“写回”策略优点,实现一种适用于基于总线的异构多核处理器体系,基于写一次策略的处理器一级高速缓存一致性方法,其主要功能是确保同一数据在多处理器核的本地一级高速缓存和共享的二级高速缓存中的多个副本保持一致性。本方法适用于基于总线的异构多核体系处理器,把写穿和写回两种策略的优点结合在一起,减少了无效操作,减少总线流量,提高了总线的效率。
The invention discloses an embedded heterogeneous multi-core cache consistency method based on bus snooping. The method of the present invention adopts the advantages of the "write-through" and "write-back" strategies to realize a processor level-1 cache coherence method suitable for a bus-based heterogeneous multi-core processor system based on a write-once strategy, Its main function is to ensure the consistency of multiple copies of the same data in the multiprocessor core's local L1 cache and shared L2 cache. The method is suitable for bus-based heterogeneous multi-core system processors, combines the advantages of write-through and write-back strategies, reduces invalid operations, reduces bus traffic, and improves bus efficiency.
Description
技术领域technical field
本发明涉及异构多核处理器体系领域,尤其涉及一种基于总线侦听的嵌入式异构多核缓存一致性方法。The invention relates to the field of heterogeneous multi-core processor systems, in particular to an embedded heterogeneous multi-core cache consistency method based on bus snooping.
背景技术Background technique
多核处理器,即单芯片多处理器是指在一个芯片上集成多个微处理器核,可以并行地执行程序代码,在不提升处理器工作频率的情况下,降低处理器的功耗,并获得很高的聚合性能。而异构多核处理器即指芯片上集成的多个微处理器核是异构的。Multi-core processor, that is, single-chip multi-processor refers to the integration of multiple microprocessor cores on one chip, which can execute program codes in parallel, reduce the power consumption of the processor without increasing the operating frequency of the processor, and obtain high polymerization performance. The heterogeneous multi-core processor means that the multiple microprocessor cores integrated on the chip are heterogeneous.
2006年是有计算机历史以来处理器更新换代最快的一年,以Intel与AMD为代表的处理器厂商在年初发布了双核处理器,之后发布了多款双核处理器,在2006年底又发布了四核处理器,2007年1月10日,英特尔展示了配置两个四核处理器的八核计算机,多核处理器开始全线进入市场,计算机多核时代的真正来临。到2006年底,多核处理器出货量已经达到处理器总出货量的90%以上。在未来几年里,处理核的数目将会越来越多,根据Intel公司的处理器发展路线图,Intel在2010年的主流处理器将是128核到144核。除此之外,其他的一些芯片厂商也在研发更多核的处理器,其中美国硅谷一家创业公司Rapport宣布,计划开发整合了1千个简单处理器的芯片。多核时代的到来无疑揭开了计算机发展历史的新篇章。2006 is the year with the fastest processor replacement since computer history. Processor manufacturers represented by Intel and AMD released dual-core processors at the beginning of the year, and then released a variety of dual-core processors. At the end of 2006, they released Quad-core processors. On January 10, 2007, Intel demonstrated an eight-core computer equipped with two quad-core processors. Multi-core processors began to enter the market across the board. The era of multi-core computers has really come. By the end of 2006, multi-core processor shipments had reached more than 90% of the total processor shipments. In the next few years, the number of processing cores will increase. According to Intel's processor development roadmap, Intel's mainstream processors in 2010 will be 128 to 144 cores. In addition, some other chip manufacturers are also developing processors with more cores. Among them, Rapport, a start-up company in Silicon Valley, USA, announced that it plans to develop a chip that integrates 1,000 simple processors. The arrival of the multi-core era has undoubtedly opened a new chapter in the history of computer development.
目前的多核处理器系统中,多个核心各有单独的一级高速缓存和共享的二级高速缓存。在这种多核处理器系统中,高速缓存结构带来了新的问题:如果不同处理器核中的进程需要共享某些数据,那么同一数据就可能有多个副本分别存放在各个一级高速缓存中,当某个一级高速缓存中的数据被更新后,而其他一级高速缓存中的相同数据副本并未作相应修改,则那些处理器核从私有一级高速缓存中读取的将是“脏”数据,造成了同一数据多个版本共存的现象。这就是所谓的一级高速缓存一致性问题。In current multi-core processor systems, multiple cores each have a separate L1 cache and a shared L2 cache. In this multi-core processor system, the cache structure brings new problems: if processes in different processor cores need to share some data, then there may be multiple copies of the same data stored in each L1 cache In , when the data in a certain L1 cache is updated, and the copy of the same data in other L1 caches is not modified accordingly, what those processor cores read from the private L1 cache will be "Dirty" data causes multiple versions of the same data to coexist. This is the so-called L1 cache coherency problem.
引起数据不一致的原因大致有三种:There are roughly three reasons for data inconsistency:
1、共享可写数据引起的不一致。如前所述,同一数据的副本存在于多个一级高速缓存中,当某个处理器核修改了自己一级高速缓存中的数据,而其他一级高速缓存中相同数据副本并未随之作同样的修改,导致多个一级高速缓存中数据的不一致。另外,某个一级高速缓存中的数据被更新后,在没有写回二级高速缓存前,也会造成一级高速缓存与二级高速缓存的数据不一致。假如此时恰有一个处理器核进程(假设该处理器核的私有一级高速缓存中无修改数据的拷贝)需要此数据,读取二级高速缓存数据时,就会导致数据错误。1. Inconsistencies caused by sharing writable data. As mentioned earlier, copies of the same data exist in multiple L1 caches. Doing the same modification will result in data inconsistency in multiple L1 caches. In addition, after the data in a certain level-1 cache is updated, before it is written back to the level-2 cache, the data in the level-1 cache and the level-2 cache will also be inconsistent. If there is just a processor core process (assuming that there is no copy of the modified data in the private first-level cache of the processor core) that needs this data at this time, when reading the second-level cache data, a data error will result.
2、进程迁移引起的不一致。在多处理器核系统中,进程可以在处理器核中相互迁移。如果某个处理器核中的进程修改了私有一级高速缓存中的数据,但还没写回二级高速缓存前,由于某种原因需要迁移到其他处理器核中继续运行,而此时读到的将是“过时”的数据。2. Inconsistencies caused by process migration. In a multiprocessor core system, processes can migrate between processor cores. If a process in a processor core modifies the data in the private L1 cache, but before writing it back to the L2 cache, it needs to be migrated to another processor core for some reason to continue running, and at this time the read What you get will be "stale" data.
3、输人输出操作引起的数据不一致。假设多个一级高速缓存中存在二级高速缓存中同一个数据块的数据拷贝,当系统启动I/O操作时,I/O处理器(通道DMA)就有可能更新二级高速缓存中的数据,从而导致一级高速缓存与二级高速缓存数据的不一致。3. Data inconsistency caused by input and output operations. Assuming that there are data copies of the same data block in the second-level cache in multiple first-level caches, when the system starts an I/O operation, the I/O processor (channel DMA) may update the data in the second-level cache. data, resulting in data inconsistencies between the first-level cache and the second-level cache.
一致性要求是指,若一级高速缓存中某个数据被修改,那么在二级高速缓存(以及更高层次)上,该数据的副本必须立即或最后加以修改,并确保它者引用二级高速缓存上该数据内容的正确性,同时又不过多增加通讯负载,这就是高速缓存一致性协议所要解决的问题。在多处理器系统上实现高速缓存一致性的途径有两大类。一类是软件办法,在程序编译时,通过软件分析,把数据划分为可用高速缓存和不可用高速缓存两种。各处理器间公用的可写数据皆属不可用高速缓存类,不能放入高速缓存。另一类是硬件办法,在程序运行时,通过硬件来动态地识别出不一致产生的条件并予以及时处理,从而使高速缓存的使用有很高的效率。并且此办法对程序员和系统软件开发人员是透明的,减轻了软件研制负担,从而普遍被采用。The consistency requirement means that if a piece of data is modified in the first-level cache, then on the second-level cache (and higher), the copy of the data must be modified immediately or last, and ensure that it refers to the second-level The correctness of the data content in the cache without increasing the communication load too much is the problem to be solved by the cache coherence protocol. There are two broad categories of approaches to achieving cache coherency on multiprocessor systems. One is the software method, when the program is compiled, the data is divided into two types, available cache and unavailable cache, through software analysis. The writable data shared by each processor belongs to the unavailable cache category and cannot be placed in the cache. The other is the hardware method. When the program is running, the hardware will dynamically identify the conditions of inconsistency and deal with it in time, so that the use of the cache is highly efficient. Moreover, this method is transparent to programmers and system software developers, and reduces the burden of software development, so it is generally adopted.
目前高速缓存一致性策略中普遍采用的策略有写回(Write-Back)和写通过(Write-Through)策略。在使用Write-Through策略的Cache中,数据块有两种状态:有效和无效。有效表示该数据块内容正确,无效表示该数据块内容已“过时”或不在Cache。在采用Write-Through策略的Cache中的有效状态在这里被进一步细分为两种:读一写(read-write)状态和只读(read-only)状态。只读状态表示整个系统中不止一个数据块拷贝是正确的,例如一个在Cache中,另一个在存储器中。读写状态表示数据块至少被修改过一次,存储器中相应数据块还没有被修改,即在整个系统中只有一个数据块拷贝是正确的。At present, the strategies generally adopted in the cache coherency strategy include write-back (Write-Back) and write-through (Write-Through) strategies. In the Cache using the Write-Through strategy, data blocks have two states: valid and invalid. Valid means that the content of the data block is correct, and invalid means that the content of the data block is "outdated" or not in the Cache. The effective state in the Cache using the Write-Through strategy is further subdivided into two types here: read-write (read-write) state and read-only (read-only) state. The read-only state indicates that more than one copy of the data block is correct in the whole system, for example, one is in the cache and the other is in the memory. The read/write status indicates that the data block has been modified at least once, and the corresponding data block in the memory has not been modified, that is, only one copy of the data block in the entire system is correct.
发明内容Contents of the invention
本发明的目的在于提供基于总线侦听的嵌入式异构多核缓存一致性方法。The purpose of the present invention is to provide an embedded heterogeneous multi-core cache coherence method based on bus snooping.
本发明解决其技术间题采用的技术方案如下:The technical solution adopted by the present invention to solve its technical problems is as follows:
1)数据块状态区分1) Data block state distinction
根据读写操作时的数据块是否为第一次写,把一级高速缓存中数据块区分为四种状态:“有效”、“无效”、“保留”和“重写”;According to whether the data block in the read and write operation is the first write, the data block in the first-level cache is divided into four states: "valid", "invalid", "reserved" and "rewritten";
2)一级高速缓存数据块四个状态问的变换2) Transformation between the four states of the first-level cache data block
处理器核访问一级高速缓存的数据块引起数据块状态在四个状态间的变化。触发一级高速缓存数据块变换的事件分为读操作和写操作:When the processor core accesses a data block in the L1 cache, the state of the data block changes among the four states. The events that trigger the transformation of the first-level cache data block are divided into read operations and write operations:
I.读操作时,有两种可能性:一种可能性是在一级高速缓存中存在有效的数据块时,处理器直接读取数据,一级高速缓存状态不变;另一种可能就是一级高速缓存中不存在有效的数据块,这时将触发读缺失事件,系统将有效的数据块调入一级高速缓存,并将相应数据块状态置为“有效”;I. During the read operation, there are two possibilities: one possibility is that when there is a valid data block in the first-level cache, the processor directly reads the data, and the state of the first-level cache remains unchanged; the other possibility is If there is no valid data block in the first-level cache, a read miss event will be triggered, and the system will transfer the valid data block into the first-level cache, and set the status of the corresponding data block to "valid";
II.写操作时,有命中或者不命中两种可能:写命中时,当一级高速缓存数据块状态处于“有效”状态时,并将一级高速缓存数据块的状态转移为“保留”,同时将其它处理核一级高速缓存的相应数据块状态置为“无效”;当写不命中时,本地一级高速缓存数据块的状态置为“保留”,同时将其它一级高速缓存的相应数据块状态置为“无效”;II. During the write operation, there are two possibilities of hit or miss: when the write is hit, when the state of the first-level cache data block is in the "valid" state, the state of the first-level cache data block is transferred to "reserved", At the same time, the state of the corresponding data blocks in the other processing cores' L1 cache is set to "invalid"; when the write miss occurs, the state of the local L1 cache data block is set to "Reserved", and the corresponding data blocks of other L1 caches are set to "Reserved". The data block status is set to "invalid";
3)根据数据块状态进行读写操作3) Read and write operations according to the state of the data block
处理器核对一级高速缓存访问分为读操作和写操作:Processor core L1 cache access is divided into read and write operations:
I.读操作时,有两种可能性:一种可能性是在一级高速缓存中存在有效的数据块时处理器核直接读取数据;另一种可能性就是一级高速缓存中不存在有效的数据块,系统设法将有效的数据块调入一级高速缓存,在相应数据块处于重写状态时,还要同时禁止二级高速缓存操作;如果系统中不存在处于有效、保留或重写状态的相应数据块,则说明二级高速缓存操作中的数据块是正确的拷贝,这时直接从二级高速缓存操作中读入就可以了;I. During the read operation, there are two possibilities: one possibility is that the processor core directly reads the data when there is a valid data block in the first-level cache; the other possibility is that there is no block in the first-level cache For valid data blocks, the system tries to transfer valid data blocks into the first-level cache, and when the corresponding data blocks are in the rewriting state, the operation of the second-level cache is also prohibited at the same time; If the corresponding data block in the write state indicates that the data block in the second-level cache operation is a correct copy, then it is sufficient to read it directly from the second-level cache operation;
II.写操作时,有命中或者不命中两种可能:当一级高速缓存数据块状态处于“有效”状态时,将采用写穿策略,把写入的内容同时写入二级高速缓存;当一级高速缓存数据块处于“保留”或“重写”态时,使用写回策略;当写不命中时,触发写缺失事件,系统首先将正确的数据块调入一级高速缓存,使用写穿策略写回数据块。II. During the write operation, there are two possibilities of hit or miss: when the state of the data block in the first-level cache is in the "valid" state, the write-through strategy will be adopted to write the written content into the second-level cache at the same time; When the first-level cache data block is in the "reserved" or "rewrite" state, the write-back strategy is used; when the write misses, a write-miss event is triggered, and the system first transfers the correct data block into the first-level cache, and uses the write-back strategy. Write back the data block through the policy.
本发明与背景技术相比,具有的有益的效果是:Compared with the background technology, the present invention has the beneficial effects that:
本方法适用于基于总线的异构多核体系处理器,把写穿和写回两种策略的优点结合在一起,由于第一次写和以后的各次写操作分别采用了写穿和写回策略,减少了无效操作,减少总线流量,提高了总线的效率。This method is suitable for bus-based heterogeneous multi-core system processors. It combines the advantages of the two strategies of write-through and write-back. Since the first write and subsequent write operations adopt the write-through and write-back strategies respectively , reducing invalid operations, reducing bus traffic, and improving bus efficiency.
附图说明Description of drawings
图1是总体流程图;Fig. 1 is overall flowchart;
图2是数据块状态转换图;Fig. 2 is a data block state transition diagram;
图2中Rl代表本地处理器核读;Rr代表非本地处理器核读;Wl代表本地处理器核写;Wr代表非本地处理器核读。In Fig. 2, Rl represents the local processor core read; Rr represents the non-local processor core read; Wl represents the local processor core write; Wr represents the non-local processor core read.
具体实施方法Specific implementation method
本发明的具体实现流程如图1所示。The specific implementation process of the present invention is shown in FIG. 1 .
第一步:数据块状态区分Step 1: Data block status distinction
根据读写操作时的数据块是否为第一次写,把一级高速缓存中数据块区分为四种状态:According to whether the data block in the read and write operation is the first write, the data block in the first-level cache is divided into four states:
“有效”:从二级高速缓存读入的并与二级高速缓存拷贝一致的一级高速缓存数据块;"Valid": the first-level cache data block read from the second-level cache and consistent with the copy of the second-level cache;
“无效”:在一级高速缓存中找不到或一级高速缓存中的数据块内容已“过时”;"Invalid": not found in the first-level cache or the content of the data block in the first-level cache is "obsolete";
“保留”:数据从二级高速缓存读入一级高速缓存后只被写过一次,一级高速缓存中的拷贝与二级高速缓存中的拷贝是一致的,并且它是正确的拷贝;"Reserved": The data is only written once after being read from the L2 cache into the L1 cache, the copy in the L1 cache is consistent with the copy in the L2 cache, and it is a correct copy;
“重写″:一级高速缓存中的数据块不只一次被写过,它是唯一正确的数据块,此时二级高速缓存中的数据块也不是正确的数据块。"Rewrite": the data block in the first-level cache has been written more than once, and it is the only correct data block. At this time, the data block in the second-level cache is not a correct data block either.
第二步:一级高速缓存数据块四个状态间的变换Step 2: Transformation between the four states of the first-level cache data block
这一步就处理器对一级高速缓存的不同操作来叙述一级高速缓存的数据块状态的变换,如图2所示。触发一级高速缓存数据块变换的事件分为读操作和写操作,图2中Rl代表本地处理器核读;Rr代表非本地处理器核读;Wl代表本地处理器核写;Wr代表非本地处理器核读:This step describes the transformation of the data block state of the first-level cache in terms of different operations of the processor on the first-level cache, as shown in FIG. 2 . The events that trigger the transformation of the first-level cache data block are divided into read operations and write operations. In Figure 2, Rl represents the local processor core read; Rr represents the non-local processor core read; Wl represents the local processor core write; Wr represents the non-local Processor core reads:
读操作时,有两种可能性。一种可能性是在一级高速缓存中存在有效的数据块时,可以是有效、保留或重写的,这种情况下相应数据块状态不变。另一种可能性就是一级高速缓存中不存在有效的数据块,即数据块处于无效状态。此时将触发读缺失事件,系统设法将有效的数据块调入一级高速缓存,无论哪种情况,读入后一级高速缓存中的相应数据块将进入“有效”状态。For read operations, there are two possibilities. One possibility is that when there is a valid data block in the L1 cache, it can be valid, reserved or rewritten, in which case the state of the corresponding data block does not change. Another possibility is that there is no valid data block in the L1 cache, that is, the data block is in an invalid state. At this time, a read miss event will be triggered, and the system will try to transfer valid data blocks into the first-level cache. In any case, the corresponding data blocks in the latter level-1 cache will enter the "valid" state.
写操作时,也有两种可能:写命中和写不命中。写命中时,当一级高速缓存数据块状态处于“有效”状态时,并将一级高速缓存数据块的状态转移为“保留”,同时将其它处理核一级高速缓存的相应数据块状态置为“无效”;当一级高速缓存数据块处于“保留”或“重写”态时,状态转移至“重写”态,此时其它的存有相同内容的一级高速缓存数据块一定是处于“无效”态;When writing, there are also two possibilities: write hit and write miss. When a write hits, when the status of the first-level cache data block is in the "valid" state, the status of the first-level cache data block is transferred to "reserved", and the corresponding data block status of the other processing core first-level cache is set to is "invalid"; when the first-level cache data block is in the "reserved" or "rewrite" state, the state transfers to the "rewrite" state, and at this time, other first-level cache data blocks with the same content must be is in the "inactive" state;
当写不命中时,触发写缺失事件,系统首先将正确的数据块调入一级高速缓存,调入的方法和读缺失相同,然后写一级高速缓存,因为是第一次写,所以使用写穿策略,同时写二级高速缓存。此时状态是这样转移的:将本地一级高速缓存的状态置为“保留”,同时将其它一级高速缓存的相应数据块状态置为“无效”。When a write miss occurs, a write miss event is triggered. The system first transfers the correct data block into the first-level cache. Write through policy while writing to L2 cache. At this time, the status is transferred as follows: the status of the local first-level cache is set to "reserved", and the corresponding data block status of other first-level cache is set to "invalid".
第三步:根据数据块状态进行读写操作Step 3: Perform read and write operations according to the state of the data block
处理器核对一级高速缓存访问分为读操作和写操作:Processor core L1 cache access is divided into read and write operations:
当处理器核对一级高速缓存读操作时,有两种可能性。一种可能性是在一级高速缓存中存在有效的,可以是有效、保留或重写的,数据块时,处理器核直接读取数据,一级高速缓存状态不变。另一种可能性就是一级高速缓存中不存在有效的数据块,即数据块处于无效状态。此时将触发读缺失事件,系统设法将有效的数据块调入一级高速缓存,具体的过程如下:首先判断系统中是否存在处于有效、保留或重写状态的相应数据块,如果存在,则将其调入本地一级高速缓存;在相应数据块处于重写状态时,还要同时禁止二级高速缓存操作。如果系统中不存在处于有效、保留或重写状态的相应数据块,则说明二级高速缓存中的数据块是正确的拷贝(也是唯一的拷贝),这时直接从二级高速缓存中读入就可以了。When the processor checks a L1 cache read, there are two possibilities. One possibility is that there are valid, reserved or rewritten data blocks in the L1 cache, and the processor core reads the data directly, and the status of the L1 cache remains unchanged. Another possibility is that there is no valid data block in the L1 cache, that is, the data block is in an invalid state. At this time, a read miss event will be triggered, and the system will try to transfer valid data blocks into the first-level cache. It is transferred into the local first-level cache; when the corresponding data block is in the rewriting state, the second-level cache operation is also prohibited at the same time. If there is no corresponding data block in the valid, reserved or rewritten state in the system, it means that the data block in the secondary cache is the correct copy (and the only copy), and at this time, it is directly read from the secondary cache That's it.
处理器核对一级高速缓存写操作时,与读操作相似,也有两种可能。或者命中,或者不命中。当写命中时,将引起一级高速缓存状态的转移。具体地说,当一级高速缓存状态处于“有效”状态时,将采用写穿策略,把写入一级高速缓存的内容同时写入二级高速缓存,并将一级高速缓存的状态转移为“保留”,同时将其它一级高速缓存的相应数据块状态置为“无效”;当一级高速缓存数据块处于“保留”或“重写”态时,使用写回策略,一级高速缓存的状态转移至“重写”态,此时其它的存有相同内容的一级高速缓存一定是处于“无效”态,所以这些一级高速缓存无需再进行状态转移。当写不命中时,触发写缺失事件,系统首先将正确的数据块调入一级高速缓存,调入的方法同读缺失,然后写一级高速缓存,因为是第一次写,所以使用写穿策略,同时写二级高速缓存。此时状态是这样转移的:将本地一级高速缓存的状态置为“保留”,同时将其它一级高速缓存的相应数据块状态置为“无效”。When the processor checks the L1 cache write operation, there are two possibilities similar to the read operation. Either hit, or miss. When a write hits, it will cause a transfer of the L1 cache state. Specifically, when the state of the first-level cache is in the "valid" state, the write-through strategy will be adopted to write the content written into the first-level cache into the second-level cache at the same time, and the state of the first-level cache will be transferred to "Reserve", and at the same time set the state of corresponding data blocks in other first-level caches to "invalid"; At this time, other first-level caches with the same content must be in the "invalid" state, so these first-level caches do not need to perform state transfer. When a write miss occurs, a write miss event is triggered. The system first transfers the correct data block into the first-level cache. Wear policy while writing to the L2 cache. At this time, the status is transferred as follows: the status of the local first-level cache is set to "reserved", and the corresponding data block status of other first-level cache is set to "invalid".
Claims (1)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2007100669294A CN101008921A (en) | 2007-01-26 | 2007-01-26 | Embedded heterogeneous polynuclear cache coherence method based on bus snooping |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CNA2007100669294A CN101008921A (en) | 2007-01-26 | 2007-01-26 | Embedded heterogeneous polynuclear cache coherence method based on bus snooping |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN101008921A true CN101008921A (en) | 2007-08-01 |
Family
ID=38697361
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CNA2007100669294A Pending CN101008921A (en) | 2007-01-26 | 2007-01-26 | Embedded heterogeneous polynuclear cache coherence method based on bus snooping |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101008921A (en) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102262608A (en) * | 2011-07-28 | 2011-11-30 | 中国人民解放军国防科学技术大学 | Method and device for controlling read-write operation of processor core-based coprocessor |
| CN103370696A (en) * | 2010-12-09 | 2013-10-23 | 国际商业机器公司 | Multicore system, and core data reading method |
| CN104268102A (en) * | 2014-10-10 | 2015-01-07 | 浪潮集团有限公司 | Method for writing caches of storage servers in hybrid modes |
| CN104572528A (en) * | 2015-01-27 | 2015-04-29 | 东南大学 | Method and system for processing access requests by second-level Cache |
| CN106603355A (en) * | 2015-10-15 | 2017-04-26 | 华为技术有限公司 | Computing device, node device and server |
| CN107003962A (en) * | 2014-12-27 | 2017-08-01 | 英特尔公司 | Cache unanimously low overhead layering connection of the agency to uniform structure |
| CN103902470B (en) * | 2012-12-25 | 2017-10-24 | 华为技术有限公司 | Read processing method, equipment and the system during missing |
| CN109062613A (en) * | 2018-06-01 | 2018-12-21 | 杭州中天微系统有限公司 | Multicore interconnects L2 cache and accesses verification method |
-
2007
- 2007-01-26 CN CNA2007100669294A patent/CN101008921A/en active Pending
Cited By (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103370696A (en) * | 2010-12-09 | 2013-10-23 | 国际商业机器公司 | Multicore system, and core data reading method |
| CN103370696B (en) * | 2010-12-09 | 2016-01-20 | 国际商业机器公司 | Multiple nucleus system and Nuclear Data read method |
| CN102262608A (en) * | 2011-07-28 | 2011-11-30 | 中国人民解放军国防科学技术大学 | Method and device for controlling read-write operation of processor core-based coprocessor |
| CN103902470B (en) * | 2012-12-25 | 2017-10-24 | 华为技术有限公司 | Read processing method, equipment and the system during missing |
| CN104268102A (en) * | 2014-10-10 | 2015-01-07 | 浪潮集团有限公司 | Method for writing caches of storage servers in hybrid modes |
| CN107003962B (en) * | 2014-12-27 | 2021-07-13 | 英特尔公司 | Method and device for maintaining cache consistency in computing system and computing system |
| CN107003962A (en) * | 2014-12-27 | 2017-08-01 | 英特尔公司 | Cache unanimously low overhead layering connection of the agency to uniform structure |
| CN104572528A (en) * | 2015-01-27 | 2015-04-29 | 东南大学 | Method and system for processing access requests by second-level Cache |
| US10366006B2 (en) | 2015-10-15 | 2019-07-30 | Huawei Technologies Co., Ltd. | Computing apparatus, node device, and server |
| CN106603355B (en) * | 2015-10-15 | 2019-10-18 | 华为技术有限公司 | A computing device, node device and server |
| CN106603355A (en) * | 2015-10-15 | 2017-04-26 | 华为技术有限公司 | Computing device, node device and server |
| CN109062613A (en) * | 2018-06-01 | 2018-12-21 | 杭州中天微系统有限公司 | Multicore interconnects L2 cache and accesses verification method |
| CN109062613B (en) * | 2018-06-01 | 2020-08-28 | 杭州中天微系统有限公司 | Multi-core interconnection secondary cache access verification method |
| US11550646B2 (en) | 2018-06-01 | 2023-01-10 | C-Sky Microsystems Co., Ltd. | Method of verifying access of multi-core interconnect to level-2 cache |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Boroumand et al. | CoNDA: Efficient cache coherence support for near-data accelerators | |
| US9274960B2 (en) | System and method for simplifying cache coherence using multiple write policies | |
| Blundell et al. | Making the fast case common and the uncommon case simple in unbounded transactional memory | |
| US8180981B2 (en) | Cache coherent support for flash in a memory hierarchy | |
| US9141547B2 (en) | Architecture support of best-effort atomic transactions for multiprocessor systems | |
| US8180971B2 (en) | System and method for hardware acceleration of a software transactional memory | |
| Cantin et al. | Improving multiprocessor performance with coarse-grain coherence tracking | |
| Chafi et al. | A scalable, non-blocking approach to transactional memory | |
| CN101008921A (en) | Embedded heterogeneous polynuclear cache coherence method based on bus snooping | |
| CN101178692A (en) | Cache memory system and method for providing transactional memory | |
| CN102110019B (en) | A Transactional Storage Method Based on Many-Core Processor and Partition Structure | |
| US20160342515A1 (en) | Adaptive Hierarchical Cache Policy In A Microprocessor | |
| KR980010821A (en) | Self-Nullizing Device and Method for Reducing Coherence Overhead in Multiprocessors | |
| Shen et al. | CACHET: an adaptive cache coherence protocol for distributed shared-memory systems | |
| US9311241B2 (en) | Method and apparatus to write modified cache data to a backing store while retaining write permissions | |
| US10740233B2 (en) | Managing cache operations using epochs | |
| CN101923486B (en) | Method for avoiding data migration in hardware affair memory system | |
| CN108170544A (en) | A Shared Data Dynamic Update Method for Data Conflict-Free Programs | |
| Titos et al. | Speculation-based conflict resolution in hardware transactional memory | |
| JP5319049B2 (en) | Cash system | |
| CN115935343A (en) | A method for defending against ghost attacks based on MSHR-based superscalar RISC-V processor hardware | |
| US9251074B2 (en) | Enabling hardware transactional memory to work more efficiently with readers that can tolerate stale data | |
| Meunier et al. | Lightweight Transactional Memory systems for NoCs based architectures: Design, implementation and comparison of two policies | |
| Zhang et al. | Neat: Low-Complexity, Efficient On-Chip Cache Coherence | |
| Quislant et al. | Enhancing scalability in best-effort hardware transactional memory systems |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
| WD01 | Invention patent application deemed withdrawn after publication |