原子事务,指的是此事务就像原子一样是不可分割的,要么所有操作全部完成,要么全部不执行,不存在执行部分操作的情况。
ALU (Arithmetic Logic Unit) 算术逻辑单元,ALU在HN或SN
AddrData:当前memory中的数据
TxnData:与原子请求一起发送的数据
完整的原子操作结构如下:
• Requester 发送原子操作到 ICN
• ALU 在 HN 或 SN 内,因此由他们执行原子操作
• 根据操作, ICN 可以将地址的原始数据返回给 requester
Requester 在 REQ channel 发送 atomic 操作
Atomic操作有2种 类型
1. Request 为AtomicStore ,返回 DBIDResp + Comp ,或返回CompDBIDResp
2. Request 为AtomicLoad、 AtomicSwap , or AtomicCompar e ,返回 DBIDResp + Read data
Requester 发送write data和使能信号
如果WriteData表示需要Tag Match,则Slave在完成Tag Match操作后返回Tag Match响应;若Slave不支持或不执行Tag Match操作,则允许Slve在收到WriteData之前返回Tag Match响应
Atomic transaction with snoops and data return
Atomic transaction with snoops and widthout data return