일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- python
- html
- function
- MIPS
- Java
- MacOS
- react
- github
- XML
- Class
- DS
- Linux
- data structure
- web
- DoM
- Pipelining
- system
- php
- control
- CSS
- while
- instruction
- mysql
- for
- Algorithm
- computer
- DATAPATH
- javascript
- DB
- architecture
- Today
- Total
목록Pipelining (8)
YYYEJI

Hazard란? Clock cycle이 증가함에 따라 잘 진행되야 하는데 다음 clock cycle에서 Instruction을 수행할 수 없는 상황을 의미합니다. Pipelining에서는 3개의 hazard가 있습니다. 하나씩 살펴보겠습니다. ① Structural Hazard Stage 1에서는 instruction을 fetch하고, stage 4에서는 data를 read/write 해야하는데, 동시에 진행할 수 없는 상황을 의미합니다. • MEM - IF: instruction, data를 한 번에 읽을 수 없다면 hazard 발생. • EX - IF: 기본적인 연산인 add, sub etc를 계산하면서 PC의 값을 증가시킬 수 없다면 hazard 발생. • WB - ID: Register에 값이 쓰..

Pipelining 5 Step IF ID EX MEM WB Pipelining에서는 control signal을 ID step에서 모두 발생시킵니다. 각각의 Step에서 쓰이는 control signal들만 쓰이고, 안 쓰인 control signal은 forwarding 시킵니다. IF - Instruction fetch ID - Instruction decode EX - Exectue MEM - Memory access WB - Write back ◡̈

① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) XXX beq은 Memory access를 하지 않습니다. ⑤ Register write-back step (WB) XXX beq는 register에 값을 쓰지 않습니다. beq의 datapath에서 Corrected datapath를 필요로 하지 않습니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하..

① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) XXX sw는 register에 값을 쓰지 않습니다. sw의 datapath에서 Corrected datapath를 필요로 하지 않습니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 됩니다. 여..

① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) XXX R-type은 Memory access를 하지 않습니다. ⑤ Register write-back step (WB) R-type의 datapath에서 Corrected datapath를 필요로 합니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 ..

Pipelining Step ① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) Q) 어떻게 만들어졌나? A) 같은 instruction 길이, 조금의 instruction format,memory access는 조금만. 5개의 step을 그림으로 살펴보겠습니다. • Single clock datapath를 기본으로 제작했습니다. • Single clock datapath와 다른 점은 중간중간 register가 존재한다는 점입니다. ◡̈

하나씩 실행하는 Sequential Execution ① Single clock cycle https://yyyeji.tistory.com/215 [MIPS] Single clock cycle 이란? CPU를 제작할 때 instruction이 결정되면 datapath와 control unit이 결정됩니다. 이때 한 instruction이 실행되는 clock의 cycle 횟수를 뜻합니다. ① Single clock cycle → Instruction이 실행되는데 1 clock cycle만 필요 yyyeji.tistory.com ② Multi clock cycle https://yyyeji.tistory.com/260 [MIPS] Multi Clock Cycle Single clock cycle의 단점을 보..

MIPS는 CPU의 Pipelining을 통해 성능을 높이고자 했습니다. Instruction이 한 Clock 당 하나씩 실행되는 것이 아니라 동시에 실행된다면 execution 시간이 줄 수 있지 않을까해서 나온게 Pipelining입니다. Pipelining은 instruction이 동시에 실행됩니다. Instruction 실행되는 시간이 얼마나 빨라지는지 확인해 봅시다. 용어 (Terminalogy) ① Latency - 일을 할 때 걸리는 시간 ② Throughput - 어떤 단위 시간 동안에 얼마나 일을 했는지 ③ SpeedUp - 속도 증가(능률 증가) Single Clock Cycle • Time taken: 8 • Latency: 2 • Throughput: 1 (2 hours), 1.5 ..