MIPS
1) Arithmetic / logical : add, sub, and, or , slt -> R-type instruction
2) Memory access : lw, sw
3) Control transfer : beq, j
CPU 처리 과정 (공통)
1) fetch : memory로 부터 instruction을 Load
- Memory address : PC
2) decode : opcode를 확인하여 instruction type을 확인
- Instruction [31 : 26]
R-type Instruction
=> opcode | rs | rt | rd | shamt | funct
CPU Arithmetic / Logical : add , sub, and , or , slt
- rs, rt 레지스터로 부터 2 words 를 읽음
- calculation 수행
- 결과를 rd 레지스터에 저장
- PC += 4
load / store Instruction
=> opcode | rs | rt | address
(Load)
- rs 레지스터로부터 1 word를 읽음 (base address)
- base address + offset을 수행 => immediate field
- Data memory로 부터 word를 Load 해온다 (@base address + offset)
- Load 한 word를 rt 레지스터에 저장
- PC += 4
(Store)
- rs 레지스터로부터 1 word를 읽음 (base address)
- base address + offset을 수행 => immediate field
- rt 레지스터로부터 1 word를 읽음
- 그 결과를 data memory에 저장 (@base address + offset)
- PC += 4
branch instruction
=> opcode | rs | rt | address
(beq)
- rs , rt 레지스터로부터 2 word를 읽음
- ALU 연산을 통해서 비교 수행
if rs == rt PC = PC + 4 + offset(immediate field) *4
else PC += 4
Jump instruction
=> 6bits + address(26bits)
(j)
- PC <- PC[31:28] | (address field) *4
- or 연산
Main Memory => Cache => CPU
Cache에는 instruction cache와 data cache가 있다
'CS(Computer Science) > 컴퓨터구조' 카테고리의 다른 글
10. 파이프라인 (3) (0) | 2023.06.04 |
---|---|
10. 파이프라인 (2) (0) | 2023.06.04 |
10. 파이프라인 (1) (0) | 2023.06.04 |
9. 프로세서 (3) (0) | 2023.06.04 |
9. 프로세서 (2) (0) | 2023.06.04 |