2 octobre 2019 Matheus CAVALCANTE 1 | |
Matheus CAVALCANTE
PhD Student – ETH Zurich
Ara Design and implementation of a 1GHz+ 64-bit RISC-V Vector - - PowerPoint PPT Presentation
Ara Design and implementation of a 1GHz+ 64-bit RISC-V Vector Processor in 22 nm FD-SOI Matheus CAVALCANTE PhD Student ETH Zurich Fabian SCHUIKI, Florian ZARUBA, Michael SCHAFFNER, Luca BENINI Matheus CAVALCANTE | 2 octobre 2019 | 1
2 octobre 2019 Matheus CAVALCANTE 1 | |
PhD Student – ETH Zurich
2 octobre 2019 Matheus CAVALCANTE 2 | |
Interconnect 64b
Instruction Data 64b 64b
2 octobre 2019 Matheus CAVALCANTE 3 | |
Interconnect 128b
Instruction Data 64b 64b
128b
Instruction Queue
2 octobre 2019 Matheus CAVALCANTE 4 | |
Memory Bound Compute Bound
2 octobre 2019 Matheus CAVALCANTE 5 | |
2 octobre 2019 Matheus CAVALCANTE 6 | |
Work being done to update it to the latest version of the spec (0.7) Open-sourcing later this year
Limited support to fixed-point and vector atomics (not our focus) Limited support for type promotions (e.g., 8b + 8b ← 64b) – hardware cost
2 octobre 2019 Matheus CAVALCANTE 7 | |
Vector-fetch architecture
More complex: vector unit fetches its own instructions and threads can diverge
Predecessor to RISC-V “V” with its own ISA
Later version should be compliant with the vector extension
64 DP-GFLOPS at TSMC 16 nm
40 DP-GFLOPS/W at 28 nm process
12.12.2014 First name Surname (edit via “View” > “Header & Footer”) 8 | |
2 octobre 2019 Matheus CAVALCANTE 9 | |
2 octobre 2019 Matheus CAVALCANTE 10 | |
2 octobre 2019 Matheus CAVALCANTE 11 | |
2 octobre 2019 Matheus CAVALCANTE 12 | |
2 octobre 2019 Matheus CAVALCANTE 13 | |
2 octobre 2019 Matheus CAVALCANTE 14 | |
2 octobre 2019 Matheus CAVALCANTE 15 | |
12.12.2014 First name Surname (edit via “View” > “Header & Footer”) 16 | |
2 octobre 2019 Matheus CAVALCANTE 17 | |
n/16 FLOP/B Compute-bound on Ara for n > 8
2 octobre 2019 Matheus CAVALCANTE 18 | |
2 octobre 2019 Matheus CAVALCANTE 19 | |
vld vB, 0(a0) ld t0, 0(a1) add a1, a1, a2 vins vA, t0, zero
vmadd vC0, vA, vB, vC0
ld t0, 0(a1) add a1, a1, a2 vins vA, t0, zero
vmadd vC1, vA, vB, vC1
ld t0, 0(a1) add a1, a1, a2 vins vA, t0, zero
vmadd vC2, vA, vB, vC2
...
2 octobre 2019 Matheus CAVALCANTE 20 | |
Lane 0 Lane 1 Lane 2 Lane 3 Ariane Front-end VLSU SLDU
2 octobre 2019 Matheus CAVALCANTE 21 | |
2 octobre 2019 Matheus CAVALCANTE 22 | |
2 octobre 2019 Matheus CAVALCANTE 23 | |
2 octobre 2019 Matheus CAVALCANTE 24 | |
PhD Student – ETH Zurich