xPU pipeline overview
xPU pipeline overview
insn define
item | feature |
---|---|
Dimension | scalar / vector / matrix / space |
insn | alu / shift / logic / load-store / control / csr |
Pipeline
level
pipeline | feature |
---|---|
order 5 stage | IF,Decode,EXE,MEM,WB |
order multi-issue | multi pipeline, frondEnd/backEnd |
OoO | out-of-order execute, multi-issue |
multi-thread | order, multi-thread; OoO,multi-issue, multi-thread |
SIMT | SIMD, multi-thread |
example
- simple pipeline
- complex pipeline
- mulit-issue pipeline
- SIMT pipeline
define
- 使用buffer解耦
- 不同长度的pipeline
- 反馈导致pipeline阻塞
status
- forward
- stall
control/operate
-
drain off
-
cutoff
-
back pressure
-
flush
-
Speculative execution
-
buffer read/write
insn mapping
- pipeline stage: fetch / decode / issue / execute / writeback
- key data structure: buffer / fifo / cache / arrry
buffer in pipeline
- stall: 先前传递 Full
- stall: 先后传递Empty
- hungry: 先前传递 Empty
- hungry: 先后传递Full
performance
- buffer可将流水线解耦
- 流水线中,各阶段的流量都等于起始的流量则性能达到最佳(后续流水线没有阻塞/断流)
- 上述特性可用于xPU的流水线性能分析
- referecen method: TMAT-Top-Down performance analysis methodology
思考
pipeline中如何使用valid-ready控制流水线的阻塞/反压?
pipeline中能使用状态机吗?
- pipeline寄存器之间使用状态机
- 状态机编码到valid / invalid
reference
形而上者谓之道 形而下者谓之器。