- MIPS ISA(RISC๊ตฌ์กฐ)์ ๋ํ ๋ค์๊ณผ ๊ฐ์ ์ดํด๋๊ฐ ํ์ํ๋ค.
- ์ฐ์ /๋ ผ๋ฆฌ์ฐ์ฐ์์ ์ข ๋ฅ(add,sub,and,sltโฆ๋ฑ๋ฑ)
- ๋ฉ๋ชจ๋ฆฌ ์ฐธ์กฐ ์ฐ์ฐ์ ์ข ๋ฅ(lw,sw)
- ๋ถ๊ธฐ ์ฐ์ฐ์์ ์ข ๋ฅ(beq,j)
- Combinational / Sequential ํ๋ก์ ์ฐจ์ด์
- Combinational : ๋จ์๊ณ์ฐ๋ง ํ๋ ํ๋ก -> ์ค์ง ALU
- Sequential : ์ํ์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ ํ๋ก(flip-flop ์ด์ฉ)
- PC register : Program Counter์ ์ฝ์๋ก ํ์ฌ ์ํํ๊ณ ์ ํ๋ Program์ ์ฃผ์ ๋๋ ๋ค์์ ์คํํ๊ณ ์ ํ๋ Program์ ์ฃผ์๋ฅผ ๋ด๊ณ ์๋ ๋ ์ง์คํฐ์ด๋ค.
- ALU : CPU์ ๊ณ์ฐ ์ ๋์ด๋ผ๊ณ ๋ณด๋ฉด๋๋ค. 1)๋จ์ํ ์ฐ์ ์ฐ์ฐ,2)load/stote์ฐ์ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ๊ณ์ฐ,3)brnach ์ฐ์ฐ์ ํ๊ฒ์ฃผ์๋ฅผ ๊ณ์ฐํ๋ ์ญํ ์ ํ๋ค.
- Instruction Memory : decode ๋จ๊ณ์์ ๋ช ๋ น์ด๋ฅผ ์ฝ์ด์ค๋ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
- Data Memory : ์ฐ์ฐ์ ํ์ํ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ฉ๋ชจ๋ฆฌ์ด๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก CPU์ DataPath์ Control๋ก ๊ตฌ์ฑ๋์ด์๋ค.
- CPU๊ฐ ๋ช ๋ น์ด ํ ์ธํธ๋ฅผ ๊ฐ์ ธ์ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์์๋ก ํด๋น ๋ช ๋ น์ด๋ฅผ ์ํํ๋ค.
- Fetching Instructions->Decoding->Exec ์์ผ๋ก ์คํ๋๋ค.
- ์ฝ๊ฒ ๋งํด ์คํํ ๋ช ๋ น์ด๋ฅผ ๊ฐ์ ธ์ค๋ ๋จ๊ณ์ด๋ค.
- ๋จผ์ PC ๋ ์ง์คํฐ์์ ํ์ฌ ์คํํ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ Adder์ ์ ๋ฌํ์ฌ 4๋ฅผ ๋ํ๋ค.
- ์ ๋์์ด ๊ณง PC = PC + 4๋ฅผ ํ์ฌ PC ๋ ์ง์คํฐ์ ๋ค์์ ์คํํ ๋ช ๋ น์ด์ ์ฃผ์๋ฅผ ์ ์ฅํ๋ ๊ณผ์ ์ด๋ค.
- ์ด๋ฌํ ๋ช ๋ น์ด ์ ๋ฐ์ดํธ๋ ํญ์ ์ด๋ค์ง๋ ๊ฒ์ด๊ธฐ์ ์ด๋ฅผ ์ ์ดํ๋ Control Signal์ด ๋ฐ๋ก ํ์์๋ค.
- ์ฒซ๋ฒ์งธ, fetched๋ ๋ช ๋ น์ด์ opcode์ function filed๋ฅผ ๊ฐ๊ฐ Control Unit์ผ๋ก ๋ณด๋ด์ฃผ๋ ๊ณผ์ ์ด๋ค.
- ๋๋ฒ์งธ, ํด๋น ๋ช ๋ น์ด์ rs,rt ๊ฐ์ IM์์ ์ฝ์ด์จ๋ค.
- R ํ์ ์ ๊ฒฝ์ฐ, rs rt๋ ๋ฌผ๋ก ํด๋น ์ฐ์ฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๋ rd ๋ ์ง์คํฐ๊น์ง ์กด์ฌํ๋ค.
- ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ช ๋ น์ด๋ก๋ถํฐ rs rt ๋๊ฐ์ง ๊ฐ์ ๋ฐ๊ณ , ํด๋น ๊ฐ์ CPU์ ๊ณ์ฐ๊ธฐ์ธ ALU์ ๋ฃ์ด์ค๋๋ค.
- ์ดํ, ๊ณ์ฐ ๊ฒฐ๊ณผ๊ฐ overflow ๋๋ zero๊ฐ(false)์ด ์๋ ์ด์ ํผ๋๋ฐฑ์ ํตํด ๊ฒฐ๊ณผ๋ฅผ ๋ค์ IM์ผ๋ก ๋ฃ์ด์ค๋๋ค.๋ค์ ๋๋์๊ฐ ๊ฐ์ด ์ฐ์ฌ์ง๋ ์ฃผ์๋ rd์ ์ฃผ์์ ๋๋ค.
- ์ด๋ฌํ ํผ๋๋ฐฑ ์์ฉ์ ๋งค๋ฒ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์, RegWrite๋ผ๋ ์ ํธ๋ฅผ ํตํด์ ์ ์ด๋ฉ๋๋ค.
- I ํ์ ์ ๊ฒฝ์ฐ, rd ๋ ์ง์คํฐ๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉฐ ๋ํ์ ์ธ ์ฐ์ฐ์ผ๋ก load์ store๊ฐ ์กด์ฌํ๋ค.(lw,sw)
- load์ ๊ฒฝ์ฐ, rt ๋ ์ง์คํฐ์ ์ฃผ์๊ฐ์ ์๋ ๊ฐ์ rs์ ์ ์ฅํ๋ค.
- store์ ๊ฒฝ์ฐ, rs์ ์๋ ๊ฐ์ rt์ ์ฃผ์๊ฐ์ ํด๋นํ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ค.
- ์๋ ๊ทธ๋ฆผ์ ๋ณด๋ฉด, Read Addr 1,2๋ฅผ ํตํด rs,rt์ ๊ฐ๋ค์ด IM์ ๋ค์ด์ค๋ฉฐ store์ ๊ฒฝ์ฐ, ๊ฐ์ ์ ์ฅํ ์ฃผ์๋ฅผ Read Data1์ผ๋ก ๋ณด๋ด ALU๋ฅผ ํตํด ๊ณ์ฐ์ํค๋ ๋์์ Read Data2๋ ๋ฐ๋ก ํด๋น ์ฃผ์์ rs ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ์ํจ๋ค. load์ฐ์ฐ์ ReadData๋ก ์ฝ์ rs์ ์ฃผ์๊ฐ์ ALU๋ก ๋ณด๋ด ์ต์ข ์ฃผ์๋ฅผ ๊ณ์ฐํ๊ณ ํด๋น ์ฃผ์์ ์กด์ฌํ๋ ๊ฐ์ DM์ผ๋ก feedbackํ์ฌ rt์ ์ ์ฅํ๋ค.