Like ACE Master Port coherency CHI relies on AxCACHE and the cache state to determine the resulting events in the CHI domain.
Slave ARCACHE | Cache Event | Cache Action | CHI Transaction | |
---|---|---|---|---|
00xx | Read Miss | Bypass Cache | ReadNoSnp | MemAttr=Device-nRnE MemAttr=Device-nRE MemAttr=Non-Cacheable |
Read Hit | Use cached line | N/A | N/A | |
x100 x110 |
Read Miss | Bypass cache | ReadOnce | MemAttr=Snoopable WriteBack No-Allocate |
Read Hit | Use cached line | N/A | N/A | |
0101 0111 |
Read Miss | Allocate cache line and forward data | ReadShared | MemAttr=Snoopable WriteBack Allocate |
Read Hit | Use cached line | N/A | N/A | |
1101 1111 |
Read Miss | Allocate cache line and forward data | ReadUnique | MemAttr=Snoopable WriteBack Allocate |
Read Hit | Use cached line | N/A | N/A | |
10xx | Read Miss | Bypass cache | ReadOnce | MemAttr=Snoopable WriteBack No-Allocate |
Read Hit | Use cached line | N/A | N/A |
Slave AWCACHE | Cache Event | Cache Action | CHI Transaction | |
---|---|---|---|---|
00xx | Write Miss | Bypass cache | WriteUniquePtl | MemAttr=Snoopable WriteBack No-Allocate |
Write Hit Shared | Request write permission, evict dirty cache line after write | CleanUnique WriteBackFull | MemAttr=Snoopable WriteBack Allocate | |
Write Hit Unique | Evict dirty cache line after write | WriteBackFull | ||
0100 0101 0110 |
Write Miss | Bypass cache | WriteUniquePtl | MemAttr=Snoopable WriteBack No-Allocate |
Write Hit Shared | Request write permission, evict dirty cache line after write | CleanUnique WriteBackFull | MemAttr=Snoopable WriteBack No-Allocate | |
Write Hit Unique | Evict dirty cache line after write | WriteBackFull | MemAttr=Snoopable WriteBack No-Allocate | |
0111 | Write Miss | Bypass cache | WriteUniquePtl | ReqAttr=WBA |
Write Hit Shared | Request write permission | CleanUnique | MemAttr=Snoopable WriteBack No-Allocate | |
Write Hit Unique | Update cache line | N/A | N/A | |
1x00 1x01 1x10 |
Write Miss | Bypass cache | WriteUniquePtl | MemAttr=Snoopable WriteBack Allocate |
Write Hit Shared | Request write permission, evict dirty cache line after write | CleanUnique WriteBackFull | MemAttr=Snoopable WriteBack Allocate | |
Write Hit Unique | Evict dirty cache line after write | WriteBackFull | MemAttr=Snoopable WriteBack Allocate | |
1x11 | Write Miss | Allocate cache line | ReadUnique | MemAttr=Snoopable WriteBack Allocate |
Write Hit Shared | Request write permission | CleanUnique | MemAttr=Snoopable WriteBack Allocate | |
Write Hit Unique | Update cache line | N/A | N/A |