D4.7 Make transactions

D4.7.1 MakeUnique

A MakeUnique transaction is used in a region of memory that is Shareable with other masters. The MakeUnique transaction 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, but the transaction does not obtain a copy of the data for the master.
• All other copies of the cache line are removed.
当前master的cache为unique,但是不从其他master拷贝数据过来,就是其他master的数据会被丢弃,所以后面必须跟的是整个cacheline的write。
A MakeUnique transaction must be used only by an initiating master that is carrying out a full cache line store operation.后面必须跟的是整个cacheline的write。
The transaction response requirements are:
• The IsShared response must be deasserted indicating that the cache line is unique.
• The PassDirty response must be deasserted
shared 和 dirty都必须为0
The expected cache line state changes for a MakeUnique transaction are different from all other transactions because a MakeUnique transaction must be coupled to a full cache line store operation. 

D4.7.2 MakeInvalid

A MakeInvalid transaction is used to ensure that there are no cached copies of a main memory location.使所有的cache都invalid
If the master carrying out the cache maintenance operation holds the cache line in a Valid state, then the master must invalidate the cache line, so that the cache line is in the Invalid state before it issues a MakeInvalid transaction.

执行此操作的master必须首先使自己的cache为invalid状态,然后才能执行此操作。

有个疑问:其他的dirty-cache该如何相应此操作,是直接丢弃cache中的内容,还是先将其写回主存?

目前感觉是直接丢弃

总结:

MakeUnique将所有其他cache直接设为invalid,后面必须跟整行cache的写操作。
MakeInvalid将所有cache置位invalid状态

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值