Difference between revisions of "Status Matrix"
From gem5
(x86 locking probably affects I/O in uniprocessor FS systems too) |
|||
Line 243: | Line 243: | ||
|- | |- | ||
|multi | |multi | ||
− | | style="background: | + | | 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: | + | | 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: | + | | 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; | + | | 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: | + | | 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: | + | | 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: | + | | 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; | + | | 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; | + | | 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: | + | | 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: | + | | 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: | + | | 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 | |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"|InOrder | !rowspan="4"|InOrder | ||
Line 755: | Line 755: | ||
!rowspan="2"|FS | !rowspan="2"|FS | ||
|uni | |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 | |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"|O3 | !rowspan="4"|O3 | ||
Line 790: | Line 790: | ||
!rowspan="2"|FS | !rowspan="2"|FS | ||
|uni | |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 | |multi | ||
− | | style="background: | + | | 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: | + | | 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: | + | | 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: | + | | 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 | |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"|InOrder | !rowspan="4"|InOrder | ||
Line 911: | Line 911: | ||
!rowspan="2"|FS | !rowspan="2"|FS | ||
|uni | |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 | |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"|O3 | !rowspan="4"|O3 | ||
Line 946: | Line 946: | ||
!rowspan="2"|FS | !rowspan="2"|FS | ||
|uni | |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 | |multi | ||
− | | style="background: | + | | 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 21:39, 18 September 2011
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
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
- Ruby does not support probing the O3 LSQ to enforce non-weak consistency models
- 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.
- 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 |