Difference between revisions of "Status Matrix"
From gem5
					
										
					
					 (→MIPS)  | 
				 (→ISA Support Matrices)  | 
				||
| (89 intermediate revisions by 7 users not shown) | |||
| Line 1: | Line 1: | ||
| + | The follow six tables describe the current state of component combinations in gem5.  | ||
| + | |||
| + | == Color Key ==  | ||
| + | {| border="1" class="wikitable"  | ||
| + | | style="background: red; color: white" | Definitely does not work  | ||
| + | |-  | ||
| + | | style="background: orange; color: white" | Might work  | ||
| + | |-  | ||
| + | | style="background: yellow" | Should work  | ||
| + | |-  | ||
| + | | style="background: green; color: white" | Definitely works  | ||
| + | |-  | ||
| + | | style="background: purple; color: white" | Unknown  | ||
| + | |-  | ||
| + | |}  | ||
| + | |||
| + | == 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 ===  | ||
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 13: | 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: 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: green; 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: green; 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: green; 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  | ||
|-  | |-  | ||
!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" |  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: green; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: green; color: white" |  | ||
| + | | style="background: red; color: white" | Note 2  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: orange; color: white" |  | ||
| + | | style="background: orange; color: white" |  | ||
| + | | style="background: green; color: white" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: green; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: green; color: white" |  | ||
| + | | style="background: red; color: white" | Note 2  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: orange; color: white" |  | ||
| + | | style="background: orange; 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: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: green; 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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: green; 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" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: green; 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" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
|}  | |}  | ||
| − | ===   | + | === ARM ===  | 
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 73: | 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: green; 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: green; 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: green; 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: green; 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  | ||
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|InOrder  | 
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | !rowspan="4"|  | + | !rowspan="4"|O3  | 
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |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" |  | ||
|-  | |-  | ||
|}  | |}  | ||
| − | ===   | + | === x86 ===  | 
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 133: | 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: yellow;" |  | ||
| + | | 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: yellow;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: yellow;" |  | ||
| + | | 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: yellow;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
!rowspan="2"|SE  | !rowspan="2"|SE  | ||
| − | |  | + | |uni  | 
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow;" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: yellow;" | Note 3  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | 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: yellow; color: white" |  | ||
| + | | style="background: yellow;" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: yellow;" | Note 3  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: yellow;" |  | ||
| + | | style="background: green; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | 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" |  | ||
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | 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" |  | ||
| + | | 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; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: yellow;" | Note 3  | ||
| + | | style="background: red; color: white" | Note 2  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: orange; color: white" | Note 3  | ||
| + | | style="background: red; color: white" | Note 2  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: orange; color: white" | Note 3  | ||
| + | | style="background: red; color: white" | Note 2  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
| + | | style="background: yellow; color: white" |  | ||
|-  | |-  | ||
|}  | |}  | ||
| Line 181: | Line 498: | ||
=== SPARC ===  | === SPARC ===  | ||
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 193: | 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: 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: yellow;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | 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" | 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  | ||
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| + | | style="background: yellow;" |  | ||
| + | | 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: yellow;" |  | ||
| + | | 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: 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: red; color: white" |   | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | 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" |  | ||
| + | | 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" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | 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" |  | ||
| + | | 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: 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: yellow;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | 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 241: | Line 654: | ||
=== PowerPC ===  | === PowerPC ===  | ||
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 253: | 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: 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: orange;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | 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;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| + | | style="background: yellow;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: orange;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | 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" |  | ||
| + | | 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" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | 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" |  | ||
| + | | 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: purple; color: white"|  | ||
| + | | style="background: purple; color: white"|  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: orange;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: red;" |  | ||
| + | | 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 301: | Line 810: | ||
=== MIPS ===  | === MIPS ===  | ||
| − | {| border="1"  | + | {| border="1" class="wikitable" align=center style="background:#B0C4DE;"  | 
!colspan="3"|Processor  | !colspan="3"|Processor  | ||
!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 313: | 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: 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: orange;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | 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;" |  | ||
| + | | 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  | ||
|-  | |-  | ||
!rowspan="4"|TimingSimple  | !rowspan="4"|TimingSimple  | ||
| − | !rowspan="2"|SE  | + | !rowspan="2"|SE    | 
| − | |  | + | |uni  | 
| + | | style="background: yellow;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: orange;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | 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;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: red;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!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" |  | ||
| + | | 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" |  | ||
| + | | 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: purple; color: white"|  | ||
| + | | style="background: purple; color: white"|  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
| + | | style="background: purple; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: orange;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
!rowspan="2"|FS  | !rowspan="2"|FS  | ||
| − | |  | + | |uni  | 
| + | | style="background: red;" |  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white"|  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
| + | | style="background: red; color: white" |  | ||
|-  | |-  | ||
| − | |  | + | |multi  | 
| + | | style="background: red;" |  | ||
| + | | 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" |  | ||
|-  | |-  | ||
|}  | |}  | ||
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 | |||||||