일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Class
- Pipelining
- javascript
- instruction
- data structure
- github
- Java
- mysql
- python
- while
- system
- php
- architecture
- CSS
- computer
- function
- DATAPATH
- html
- Algorithm
- MacOS
- web
- MIPS
- XML
- DoM
- DB
- DS
- for
- control
- Linux
- react
- Today
- Total
목록SW (3)
YYYEJI
↓↓↓ SW Control unit ↓↓↓ • RegDst(Register Destination) - X sw instruction format은 register에 값이 저장되지 않기 때문에 어떤 값이 들어오든 상관 없습니다. • RegWrtie(Register Write) - 0 Register에 값이 저장할 필요가 없기 때문에 MUX의 값을 0으로 발생시켜야 됩니다. • ALUSrc(ALU Source) - 1 ALU에서 필요한 두 번째 source가 SignExt을 지나와야 되기 때문에 MUX의 값을 1로 발생시켜야 됩니다. • ALUop(ALU operation) - add 두 번째 source와 immediate 값을 더해야되기 때문에 ALUop를 add의 값으로 발생시킵니다. (주소값 계산) ..
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)에 계산된 값을 저장합니다. ◡̈