일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- DoM
- MIPS
- DB
- control
- Algorithm
- Class
- function
- html
- javascript
- computer
- MacOS
- DATAPATH
- php
- mysql
- while
- web
- instruction
- architecture
- CSS
- data structure
- python
- XML
- Java
- for
- system
- Linux
- DS
- github
- react
- Pipelining
- Today
- Total
목록lw (4)
YYYEJI
① Instruction fetch step (IF) ② Instruction decode/register fetch step (ID) ③ Execution/effective address step (EX) ④ Memory access (MEM) ⑤ Register write-back step (WB) lw의 datapath에서 Corrected datapath를 필요로 합니다. https://yyyeji.tistory.com/283 [MIPS] Corrected Datapath란? Corrected Datapath 란? Pipelining을 할 때 한 instruction이 시작하면 다음 instruction이 그대로 시작을 하게 됩니다. 여기서 5번째 clock cycle을 보면 WB 단계는 regi..
↓↓↓ LW Control unit ↓↓↓ • RegDst(Register Destination) - 0 lw instruction format은 destination이 [20:16] bit에 존재합니다. 그렇기 때문에 MUX의 값을 0로 발생시켜야 됩니다. • RegWrtie(Register Write) - 1 Data memory에서 fetch한 값을 Register에 저장해야 되기 때문에 MUX의 값을 1로 발생시켜야 됩니다. • ALUSrc(ALU Source) - 1 ALU에서 필요한 두 번째 source가 SignExt을 지나와야 되기 때문에 MUX의 값을 1로 발생시켜야 됩니다. • ALUop(ALU operation) - add 두 번째 source와 immediate 값을 더해야되기 때문..
lw, sw는 datapath가 다릅니다. lw $t0, 32($t1) sw $t0, 32($t1) sw 를 살펴보겠습니다. sw ① Instruction을 fetch하면서 PC의 값을 증가시킵니다. ② Register($t1)의 값을 읽습니다. ③ ALU를 통해 주소 값을 계산합니다. 계산된 주소 값을 Data memory로 보냅니다. ④ Data memory에서 앞에서 계산된 주소 값에 가서 값을 저장합니다. ◡̈
lw, sw는 datapath가 다릅니다. lw $t0, 32($t1) sw $t0, 32($t1) LW ① Instruction을 fetch하면서 PC의 값을 증가시킵니다. ② Register($t1)의 값을 읽습니다. immediate 값은 SignExt한 값이 ALU로 들어갑니다. 계산된 값은 주소값 입니다. ③ ALU를 통해 주소 값을 계산합니다. 계산된 주소 값을 Data memory로 보냅니다. ④ Data memory에서 계산된 주소 값을 통해 값을 fetch 해옵니다. fetch 된 값을 write data로 보냅니다. ⑤ Clock이 1이 되면 destination($s0)에 계산된 값을 저장합니다. ◡̈