From 687693d2a5bc16dbdafc2c4e7cf88492bdf975a8 Mon Sep 17 00:00:00 2001 From: JanLJL Date: Thu, 31 Oct 2019 18:47:50 +0100 Subject: [PATCH] improved port model scheme --- osaca/data/bdw.yml | 23 ++++++++++++++++++++++- osaca/data/csx.yml | 18 +++++++++--------- osaca/data/ivb.yml | 21 ++++++++++++++++++++- 3 files changed, 51 insertions(+), 11 deletions(-) diff --git a/osaca/data/bdw.yml b/osaca/data/bdw.yml index d86d556..48b6f71 100644 --- a/osaca/data/bdw.yml +++ b/osaca/data/bdw.yml @@ -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: diff --git a/osaca/data/csx.yml b/osaca/data/csx.yml index b3ac7e9..bef3fcf 100644 --- a/osaca/data/csx.yml +++ b/osaca/data/csx.yml @@ -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: diff --git a/osaca/data/ivb.yml b/osaca/data/ivb.yml index 7f162ea..9e07b57 100644 --- a/osaca/data/ivb.yml +++ b/osaca/data/ivb.yml @@ -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: