Difference between revisions of "Status Matrix"

From gem5
Jump to: navigation, search
(x86 locking probably affects I/O in uniprocessor FS systems too)
Line 243: Line 243:
 
|-
 
|-
 
|multi
 
|multi
| style="background: red; color: white" | Note 5
+
| style="background: yellow;" | Note 5
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
Line 252: Line 252:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: red; color: white" | Note 5
+
| style="background: yellow;" | Note 5
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
Line 260: Line 260:
 
|-
 
|-
 
|multi
 
|multi
| style="background: red; color: white" | Note 5
+
| style="background: yellow;" | Note 5
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
 
| style="background: yellow;" |
Line 305: Line 305:
 
!rowspan="2"|SE
 
!rowspan="2"|SE
 
|uni
 
|uni
| style="background: yellow; color: white" |
+
| style="background: yellow;" |
 
| style="background: orange; color: white" |
 
| style="background: orange; color: white" |
 
| style="background: orange; color: white" |
 
| style="background: orange; color: white" |
Line 313: Line 313:
 
|-
 
|-
 
|multi
 
|multi
| style="background: red; color: white" | Note 5
+
| style="background: yellow;" | Note 5
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
Line 322: Line 322:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: red; color: white" | Note 5
+
| style="background: orange; color: white" | Note 5
 
| style="background: red; color: white" |
 
| style="background: red; color: white" |
 
| style="background: red; color: white" |
 
| style="background: red; color: white" |
Line 330: Line 330:
 
|-
 
|-
 
|multi
 
|multi
| style="background: red; color: white" | Note 5
+
| style="background: orange; color: white" | Note 5
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
Line 617: Line 617:
 
!rowspan="2"|SE  
 
!rowspan="2"|SE  
 
|uni
 
|uni
| style="background: yellow; color: white" |
+
| style="background: yellow;" |
 
| style="background: orange; color: white"|
 
| style="background: orange; color: white"|
 
| style="background: orange; color: white"|
 
| style="background: orange; color: white"|
Line 625: Line 625:
 
|-
 
|-
 
|multi
 
|multi
| style="background: yellow; color: white" |
+
| style="background: yellow;" |
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
Line 685: Line 685:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| 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
Line 693: Line 693:
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| 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
Line 720: Line 720:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
!rowspan="4"|InOrder
 
!rowspan="4"|InOrder
Line 755: Line 755:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
!rowspan="4"|O3
 
!rowspan="4"|O3
Line 790: Line 790:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| style="background: red;" |
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
Line 841: Line 841:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| 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
Line 849: Line 849:
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| 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
Line 876: Line 876:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
!rowspan="4"|InOrder
 
!rowspan="4"|InOrder
Line 911: Line 911:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
!rowspan="4"|O3
 
!rowspan="4"|O3
Line 946: Line 946:
 
!rowspan="2"|FS
 
!rowspan="2"|FS
 
|uni
 
|uni
| style="background: yellow;" |
+
| style="background: red;" |
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white"|
+
| style="background: red; color: white"|
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
| style="background: purple; color: white" |
+
| style="background: red; color: white" |
 
|-
 
|-
 
|multi
 
|multi
| style="background: orange;" |
+
| style="background: red;" |
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3
 
| style="background: red; color: white" | Note 3

Revision as of 02:39, 19 September 2011

The follow six tables describe the current state of component combinations in gem5.

Color Key

Definitely does not work
Might work
Should work
Definitely works
Unknown

Notes

Numbers in the squares below refer to the following notes:

  1. Ruby does not support atomic-mode accesses
  2. The MI_example protocol cannot support LL/SC semantics
  3. Ruby does not support probing the O3 LSQ to enforce non-weak consistency models
  4. ARM MP does not support booting with caches, but works otherwise. You can boot without caches then switch to running with caches using either a checkpoint/resume or on-line CPU switchover.
  5. 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

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 Note 3 Note 3 Note 3 Note 3
FS uni
multi Note 2 Note 3 Note 3 Note 3 Note 3

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 5
FS uni Note 5
multi Note 5
InOrder SE uni
multi
FS uni
multi
O3 SE uni
multi Note 5 Note 3 Note 3 Note 3 Note 3 Note 3
FS uni Note 5
multi Note 5 Note 3 Note 3 Note 3 Note 3 Note 3

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 4 Note 1 Note 1 Note 1 Note 1 Note 1
TimingSimple SE uni
multi Note 2
FS uni
multi Note 4 Note 2
InOrder SE uni
multi
FS uni
multi
O3 SE uni
multi Note 2 Note 3 Note 3 Note 3 Note 3
FS uni
multi Note 4 Note 2 Note 3 Note 3 Note 3 Note 3

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 3 Note 3 Note 3 Note 3 Note 3
FS uni
multi Note 3 Note 3 Note 3 Note 3 Note 3

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 3 Note 3 Note 3 Note 3 Note 3
FS uni
multi Note 3 Note 3 Note 3 Note 3 Note 3

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 3 Note 3 Note 3 Note 3 Note 3
FS uni
multi Note 3 Note 3 Note 3 Note 3 Note 3