D4.5 Read transactions

本文详细解析了六种不同的缓存一致性读取类型,包括ReadNoSnoop、ReadOnce、ReadClean、ReadNotSharedDirty、ReadShared和ReadUnique。每种类型针对不同场景,如非共享内存区域读取、快照需求、写穿缓存更新等,确保数据读取的一致性和有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

D4.5.1 ReadNoSnoop

ReadNoSnoop is a read transaction that is used in a region of memory that is not Shareable with other masters. The transaction response requirements are:
• The IsShared response must be deasserted.
• The PassDirty response must be deasserted.

 

对非共享区域的都,不发snoop的读。

D4.5.2 ReadOnce

ReadOnce is a read transaction that is used in a region of memory that is Shareable with other masters. This transaction is used when a snapshot of the data is required. The location is not cached locally for future use.读,但不分配cache
The transaction response requirements are:
• The IsShared response indicates that the cache line is shared or unique.
• The PassDirty response must be deasserted.
passdirty必须为0

D4.5.3 ReadClean

ReadClean is a read transaction that is used in a region of memory that is Shareable with other masters. A ReadClean transaction is guaranteed not to pass responsibility for updating main memory to the initiating master.读,但cache要处于clean状态
Typically, a ReadClean transaction is used by a master that wants to obtain a clean copy of a cache line, for example a master with a write-through cache.一般被write-through的master使用
The transaction response requirements are:
• The IsShared response indicates that the cache line is shared or unique.
• The PassDirty response must be deasserted.
 

D4.5.4 ReadNotSharedDirty

ReadNotSharedDirty is a read transaction that is used in a region of memory that is Shareable with other masters. A ReadNotSharedDirty transaction can complete with any combination of the IsShared and PassDirty responses except for IsShared and PassDirty asserted.读,返回不允许是dirty & shared
Typically, the transaction is used by a cached master that is carrying out a load operation and can accept the cache line in any state except the SharedDirty state. 
The transaction response requirements are:
• The IsShared response indicates that the cache line is shared or unique.
• The PassDirty response indicates that the cache line is clean or dirty.
• If the IsShared response indicates that the cache line is shared, then the PassDirty response must indicate that
the cache line is clean.
 

 

D4.5.5 ReadShared

ReadShared is a read transaction that is used in a region of memory that is Shareable with other masters. A ReadShared transaction can complete with any combination of the IsShared and PassDirty responses.最普通的读命令,可接受任何状态
Typically, the ReadShared transaction is used by a cached master that is carrying out a load operation and can accept
the cache line in any state.
 
  

D4.5.6 ReadUnique

A ReadUnique transaction is used in a region of memory that is Shareable with other masters. The transaction gets a copy of the data and also ensures that the cache line can be held in a Unique state. This permits the master to carry out a store operation to the cache line.读,保证此master的cache是unique的。
Typically, a ReadUnique transaction is used when the initiating master is carrying out a partial cache line store and does not have a copy of the cache line.readunique一般后面跟着一个partial write操作。
  

总结:

ReadNoSnoop不跟其他master共享
ReadOnce不放入cache,只使用一次
ReadCleanclean,write through的cache会使用
ReadNotSharedDirtyshared和dirty不能同时置位
ReadShared普通读,当前cache可为任何状态
ReadUnique是当前cache为unique,一般后面跟 write partial

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值