mirror of
https://github.com/RRZE-HPC/OSACA.git
synced 2026-01-10 13:07:06 +01:00
improved port model scheme
This commit is contained in:
@@ -17,7 +17,28 @@ load_throughput:
|
||||
- {base: gpr, index: gpr, offset: imd, scale: 1, port_pressure: [[1, '23'], [1, ['2D', '3D']]]}
|
||||
- {base: gpr, index: gpr, offset: imd, scale: 8, port_pressure: [[1, '23'], [1, ['2D', '3D']]]}
|
||||
ports: ['0', 0DV, '1', '2', 2D, '3', 3D, '4', '5', '6', '7']
|
||||
port_model_scheme: ~
|
||||
port_model_scheme: |
|
||||
┌------------------------------------------------------------------------┐
|
||||
| 97 entry unified scheduler |
|
||||
└------------------------------------------------------------------------┘
|
||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
||||
▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
|
||||
┌-------┐ ┌-------┐ ┌-----┐ ┌-----┐ ┌-----┐ ┌-------┐ ┌--------┐ ┌------┐
|
||||
| ALU | | ALU | | LD | | LD | | ST | | ALU | | ALU & | |SIMPLE|
|
||||
└-------┘ └-------┘ └-----┘ └-----┘ └-----┘ └-------┘ | Shift | | AGU |
|
||||
┌-------┐ ┌-------┐ ┌-----┐ ┌-----┐ ┌-------┐ └--------┘ └------┘
|
||||
| 2ND | | Fast | | AGU | | AGU | | Fast | ┌--------┐
|
||||
| BRANCH| | LEA | └-----┘ └-----┘ | LEA | | BRANCH |
|
||||
└-------┘ └-------┘ └-------┘ └--------┘
|
||||
┌-------┐ ┌-------┐ ┌-------┐
|
||||
|AVX DIV| |AVX FMA| | AVX |
|
||||
└-------┘ └-------┘ | ALU |
|
||||
┌-------┐ ┌-------┐ └-------┘
|
||||
|AVX FMA| |AVX MUL|
|
||||
└-------┘ └-------┘
|
||||
┌-------┐ ┌-------┐
|
||||
|AVX MUL| |AVX ADD|
|
||||
└-------┘ └-------┘
|
||||
instruction_forms:
|
||||
- name: MOV
|
||||
operands:
|
||||
|
||||
@@ -27,12 +27,12 @@ port_model_scheme: |
|
||||
| ALU | | ALU | | LD | | LD | | ST | | ALU | | ALU & | | AGU |
|
||||
└-------┘ └-------┘ └-----┘ └-----┘ └-----┘ └-------┘ | Shift | └-----┘
|
||||
┌-------┐ ┌-------┐ ┌-----┐ ┌-----┐ ┌-------┐ └--------┘
|
||||
| 2ND | | Fast | | AGU | | AGU | | Fast |
|
||||
| BRANCH| | LEA | └-----┘ └-----┘ | LEA |
|
||||
└-------┘ └-------┘ └-------┘
|
||||
┌-------┐ ┌-------┐ ┌-------┐
|
||||
|AVX DIV| |AVX FMA| | AVX |
|
||||
└-------┘ └-------┘ | SHUF |
|
||||
| 2ND | | Fast | | AGU | | AGU | | Fast | ┌--------┐
|
||||
| BRANCH| | LEA | └-----┘ └-----┘ | LEA | | BRANCH |
|
||||
└-------┘ └-------┘ └-------┘ └--------┘
|
||||
┌-------┐ ┌-------┐ ┌-------┐
|
||||
|AVX DIV| |AVX FMA| | AVX |
|
||||
└-------┘ └-------┘ | SHUF |
|
||||
┌-------┐ ┌-------┐ └-------┘
|
||||
|AVX FMA| |AVX MUL| ┌-------┐
|
||||
└-------┘ └-------┘ |AVX-512|
|
||||
@@ -50,9 +50,9 @@ port_model_scheme: |
|
||||
| Shift | | Slow | |AVX-512|
|
||||
└-------┘ | LEA | | ALU |
|
||||
┌-------┐ └-------┘ └-------┘
|
||||
| VNNI | ┌-------┐
|
||||
└-------┘ | VNNI |
|
||||
└-------┘
|
||||
| VNNI | ┌-------┐
|
||||
└-------┘ | VNNI |
|
||||
└-------┘
|
||||
instruction_forms:
|
||||
- name: addsd
|
||||
operands:
|
||||
|
||||
@@ -17,7 +17,26 @@ load_throughput:
|
||||
- {base: gpr, index: ~, offset: ~, scale: 1, port_pressure: [[1, '23'], [1, [2D, 3D]]]}
|
||||
- {base: gpr, index: ~, offset: ~, scale: 8, port_pressure: [[1, '23'], [1, [2D, 3D]]]}
|
||||
ports: ['0', '0DV', '1', '2', '2D', '3', '3D', '4', '5']
|
||||
port_model_scheme: ~
|
||||
port_model_scheme: |
|
||||
┌-----------------------------------------------------┐
|
||||
| 54 entry scheduler |
|
||||
└-----------------------------------------------------┘
|
||||
0 | 1 | 2 | 3 | 4 | 5 |
|
||||
▼ ▼ ▼ ▼ ▼ ▼
|
||||
┌-------┐ ┌-------┐ ┌-----┐ ┌-----┐ ┌-----┐ ┌-------┐
|
||||
| ALU | | ALU | | LD | | LD | | ST | | ALU |
|
||||
└-------┘ └-------┘ └-----┘ └-----┘ └-----┘ └-------┘
|
||||
┌-------┐ ┌-------┐ ┌-----┐ ┌-----┐ ┌-------┐
|
||||
|AVX DIV| | Fast | | AGU | | AGU | | BRANCH|
|
||||
└-------┘ | LEA | └-----┘ └-----┘ └-------┘
|
||||
┌-------┐ └-------┘ ┌-------┐
|
||||
|AVX MUL| ┌-------┐┌-------┐ | Fast |
|
||||
└-------┘ |AVX ADD||AVX FMA| | LEA |
|
||||
┌-------┐ └-------┘└-------┘ └-------┘
|
||||
| AVX |┌-------┐ ┌-------┐ ┌-------┐
|
||||
| Shift ||AVX FMA| |AVX MUL| | AVX |
|
||||
└-------┘└-------┘ └-------┘ | SHUF |
|
||||
└-------┘
|
||||
instruction_forms:
|
||||
- name: mov
|
||||
operands:
|
||||
|
||||
Reference in New Issue
Block a user