Difference between revisions of "Status Matrix"
From gem5
					
										
					
					 (→x86)  | 
				 (→ISA Support Matrices)  | 
				||
| (39 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
The follow six tables describe the current state of component combinations in gem5.  | The follow six tables describe the current state of component combinations in gem5.  | ||
| − | + | == Color Key ==  | |
| − | Color Key  | ||
{| border="1" class="wikitable"  | {| border="1" class="wikitable"  | ||
| style="background: red; color: white" | Definitely does not work  | | style="background: red; color: white" | Definitely does not work  | ||
| Line 15: | Line 14: | ||
|-  | |-  | ||
|}  | |}  | ||
| + | |||
| + | == Notes ==  | ||
| + | Below [[Classic Memory System | Classic]] and [[Ruby]] refers to the two memory systems that we have in gem5. [[MI_example|MI]], [[MESI Two Level | MESI]] and [[Ruby#SLICC + Coherence protocols: | MOESI]] (multiple flavors) are the coherence protocols that are supported in Ruby memory system. Then we have the CPU models: [[SimpleCPU | AtomicSimple]], [[SimpleCPU | TimingSimple]], [[InOrder]] and [[O3CPU | O3]].  | ||
| + | |||
| + | Numbers in the squares below refer to the following notes:  | ||
| + | |||
| + | # Ruby does not support atomic-mode accesses  | ||
| + | # The MI_example protocol cannot support LL/SC semantics  | ||
| + | # Classic caches do not support x86 locked (atomic RMW) accesses.  The AtomicSimple CPU model enforces atomic RMW accesses itself, so this only affects correctness for timing-mode CPU models.  | ||
| + | |||
| + | == ISA Support Matrices ==  | ||
| + | |||
| + | '''''THIS PAGE WAS LAST UPDATED IN 2015. IT IS LIKELY OUT OF DATE. USE THIS AS A GUIDELINE.'''''  | ||
=== Alpha ===  | === Alpha ===  | ||
| Line 22: | Line 34: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 30: | Line 42: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| Line 75: | Line 87: | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 84: | Line 96: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| Line 92: | Line 104: | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 100: | Line 112: | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 110: | Line 122: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 119: | Line 131: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 127: | Line 139: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 135: | Line 147: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 145: | Line 157: | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 162: | Line 174: | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
|-  | |-  | ||
|}  | |}  | ||
| − | ===   | + | === ARM ===  | 
{| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | ||
| Line 178: | Line 190: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 186: | Line 198: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| + | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white"| Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| + | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| + | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |   | 
| − | | style="background:   | + | | style="background: red; color: white"| Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| + | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 266: | Line 278: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 275: | Line 287: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 283: | Line 295: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 291: | Line 303: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| + | | style="background: orange; color: white"|  | ||
| + | | style="background: orange; color: white"|  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| + | | style="background: orange; color: white" |  | ||
| + | |-  | ||
| + | |multi  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: red; color: white"| Note 2  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
| − | |||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white"| Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white"|  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background: red; color: white" |   | + | | style="background: red; color: white"| Note 2  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
| − | | style="background:   | + | | style="background: orange; color: white" |  | 
|-  | |-  | ||
|}  | |}  | ||
| − | ===   | + | === x86 ===  | 
{| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | ||
| Line 334: | Line 346: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 342: | Line 354: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background: red; color: white"|   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background: red; color: white"|   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE    | + | !rowspan="2"|SE  | 
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: yellow;" | Note 3  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: yellow;" | Note 3  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow;" |  | ||
| style="background: green; color: white" |  | | style="background: green; color: white" |  | ||
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: yellow;" | Note 3  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: green; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 422: | Line 434: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| Line 431: | Line 443: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 439: | Line 451: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 447: | Line 459: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
| − | !rowspan="2"|SE    | + | !rowspan="2"|SE  | 
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: yellow;" | Note 3  | 
| − | | style="background: red; color: white"|   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: orange; color: white" | Note 3  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: orange; color: white" | Note 3  | 
| − | | style="background: red; color: white"|   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
| − | | style="background:   | + | | style="background: yellow; color: white" |  | 
|-  | |-  | ||
|}  | |}  | ||
| Line 490: | Line 502: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 498: | Line 510: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| + | | style="background: red; color: white" | Note 1  | ||
| + | | style="background: red; color: white" | Note 1  | ||
| + | | style="background: red; color: white" | Note 1  | ||
| + | | style="background: red; color: white" | Note 1  | ||
| + | | style="background: red; color: white" | Note 1  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: orange; color: white"|  | | style="background: orange; color: white"|  | ||
| Line 543: | Line 555: | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: orange; color: white"|  | | style="background: orange; color: white"|  | ||
| Line 552: | Line 564: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 560: | Line 572: | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 568: | Line 580: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white"|  | | style="background: red; color: white"|  | ||
| Line 578: | Line 590: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white"|  | | style="background: red; color: white"|  | ||
| Line 587: | Line 599: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 595: | Line 607: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 603: | Line 615: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| − | | style="background: yellow;   | + | | style="background: yellow;" |  | 
| style="background: orange; color: white"|  | | style="background: orange; color: white"|  | ||
| style="background: orange; color: white"|  | | style="background: orange; color: white"|  | ||
| Line 613: | Line 625: | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background: yellow;   | + | | style="background: yellow;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background: orange; color: white"|  | + | | style="background: orange; color: white" |  | 
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| style="background: orange; color: white" |  | | style="background: orange; color: white" |  | ||
| Line 622: | Line 634: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 630: | Line 642: | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: red; color: white" |    | | style="background: red; color: white" |    | ||
| − | | style="background: red; color: white" |  | + | | style="background: red; color: white" |Note 2  | 
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| style="background: red; color: white" |  | | style="background: red; color: white" |  | ||
| Line 646: | Line 658: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 654: | Line 666: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 699: | Line 711: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 708: | Line 720: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 734: | Line 746: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 743: | Line 755: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 769: | Line 781: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background: purple; color: white"|  | + | | style="background: purple; color: white" |  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 778: | Line 790: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
|}  | |}  | ||
| Line 802: | Line 814: | ||
!colspan="6"|Memory System  | !colspan="6"|Memory System  | ||
|-  | |-  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Model  | 
!rowspan="2"|System  | !rowspan="2"|System  | ||
| − | !rowspan="2"|  | + | !rowspan="2"|Count  | 
!rowspan="2"|Classic  | !rowspan="2"|Classic  | ||
!colspan="5"|Ruby  | !colspan="5"|Ruby  | ||
| Line 810: | Line 822: | ||
|MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | |MI_example||MOESI_hammer||MESI_CMP_directory||MOESI_CMP_directory||MOESI_CMP_token  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|AtomicSimple  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 1  | 
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 855: | Line 867: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 864: | Line 876: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 890: | Line 902: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 899: | Line 911: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
!rowspan="2"|SE    | !rowspan="2"|SE    | ||
| − | |  | + | |uni  | 
| style="background: yellow;" |  | | style="background: yellow;" |  | ||
| style="background: purple; color: white"|  | | style="background: purple; color: white"|  | ||
| Line 925: | Line 937: | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| style="background: orange;" |  | | style="background: orange;" |  | ||
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background: purple; color: white"|  | + | | style="background: purple; color: white" |  | 
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| style="background: purple; color: white" |  | | style="background: purple; color: white" |  | ||
| Line 934: | Line 946: | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white"|  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
| − | |  | + | |multi  | 
| − | | style="background:   | + | | style="background: red;" |  | 
| − | | style="background:   | + | | style="background: red; color: white" | Note 2  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
| − | | style="background:   | + | | style="background: red; color: white" |  | 
|-  | |-  | ||
|}  | |}  | ||
Latest revision as of 12:06, 23 February 2018
The follow six tables describe the current state of component combinations in gem5.
Contents
Color Key
| Definitely does not work | 
| Might work | 
| Should work | 
| Definitely works | 
| Unknown | 
Notes
Below Classic and Ruby refers to the two memory systems that we have in gem5. MI, MESI and MOESI (multiple flavors) are the coherence protocols that are supported in Ruby memory system. Then we have the CPU models: AtomicSimple, TimingSimple, InOrder and O3.
Numbers in the squares below refer to the following notes:
- Ruby does not support atomic-mode accesses
 - The MI_example protocol cannot support LL/SC semantics
 - Classic caches do not support x86 locked (atomic RMW) accesses. The AtomicSimple CPU model enforces atomic RMW accesses itself, so this only affects correctness for timing-mode CPU models.
 
ISA Support Matrices
THIS PAGE WAS LAST UPDATED IN 2015. IT IS LIKELY OUT OF DATE. USE THIS AS A GUIDELINE.
Alpha
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
| InOrder | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
| O3 | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
ARM
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
| InOrder | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| O3 | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | Note 2 | ||||||
| multi | Note 2 | |||||||
x86
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | Note 3 | |||||||
| FS | uni | Note 3 | ||||||
| multi | Note 3 | |||||||
| InOrder | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| O3 | SE | uni | ||||||
| multi | Note 3 | Note 2 | ||||||
| FS | uni | Note 3 | Note 2 | |||||
| multi | Note 3 | Note 2 | ||||||
SPARC
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| InOrder | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| O3 | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
PowerPC
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| InOrder | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| O3 | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||
MIPS
| Processor | Memory System | |||||||
|---|---|---|---|---|---|---|---|---|
| Model | System | Count | Classic | Ruby | ||||
| MI_example | MOESI_hammer | MESI_CMP_directory | MOESI_CMP_directory | MOESI_CMP_token | ||||
| AtomicSimple | SE | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| FS | uni | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | ||
| multi | Note 1 | Note 1 | Note 1 | Note 1 | Note 1 | |||
| TimingSimple | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| InOrder | SE | uni | ||||||
| multi | ||||||||
| FS | uni | |||||||
| multi | ||||||||
| O3 | SE | uni | ||||||
| multi | Note 2 | |||||||
| FS | uni | |||||||
| multi | Note 2 | |||||||