原子事务,指的是此事务就像原子一样是不可分割的,要么所有操作全部完成,要么全部不执行,不存在执行部分操作的情况。
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