목록전체 글 (168)
Kim Seon Deok
*General - Purpose Graphics Processor Architecture의 chapter 3.4 RESEARCH DIRECTIONS ON BRANCH DIVERGENCE 를 읽고 정리한 내용입니다. 동일한 warp에 있는 thread들은 같은 control flow path를 따라 실행된다. 따라서 GPU는 thread를 SIMD 하드웨어에서 lockstep 방식으로 실행할 수 있다. 하지만 thread는 data dependent branch를 만났을 때 다른 target으로 diverge되는데, 이 때 이런 현상을 branch divergence라 한다. moder GPU는 이 branch divergence를 하나의 warp 안에서 handle할 수 있도록 하는 특별한 하드웨어인 ..
Precise exceptions Out-of-order completion의 주요한 단점은 바로 precise exception을 implement하기가 어렵다는 것이다. ADD.S F1, F2, F1 LW R2, 0(R1) 두 instruction은 independent (각각 floating point inst, integer inst) ADD.S instruction은 floating point add를 수행 -> IF ~ WB 까지 9 cycle (EXE : 5 cycle) LW instruction은 integer add를 수행 -> IF ~ WB 까지 5 cycle (EXE : 1 cycle) case 1 ) precise exceptions LW instruction은 C6에 WB를 수행하..
출처 https://wwang.github.io/teaching/slides/Comp_Arch/OoO_Scoreboard.pdf https://people.eecs.berkeley.edu/~kubitron/courses/cs252-S12/lectures/lec07-dynasched2.pdf Scoreboarding CPU -> OoO execution을 수행 ID stage를 2개의 stage로 쪼갬 1. Issue(IS) stage : instruction이 decode되고 function unit에서 실행되기 위해 issue됨 2. Read Operands(RD) stage : register로부터 혹은 다른 function unit으로부터 instruction이 source operand를 read..
*General - Purpose Graphics Processor Architecture의 chapter 3.2 TWO - LOOP APPROXIMATION ~ 3.3 THREE-LOOP APPROXIMATION 를 읽고 정리한 내용입니다. 앞서 one loop approximation은 single scheduler를 다루었다. GPU에서 latency를 hiding하려면 현재 실행되고 있는 instruction이 끝나지 않은 상황에서 다음 instruction을 issue할 수 있어야 한다. 하지만 one loop approximation은 scheduling logic이 thread identifier와 다음 instruction address에만 access할 수 있기 때문에 latency hi..
5-stage pipeline independent한 load, store, ALU instruction을 수행한다. 여기서 instruction이 independent하다는 것은 register나 memory location 등 resource를 서로 공유하지 않는다는 것을 의미한다. 한 stage에서 다음 stage로 instruction이 이동할 때마다 instruction은 recode 되고 다시 recode된 instruction은 매 clock cycle 마다 clock signal에 따라 동작한다. data path의 주요 resource - instruction memory (cache) - register file - 2 read ports -1 write port - ALU - data..