본문 바로가기
CS(Computer Science)/컴퓨터구조

9. 프로세서 (2)

by 동욷 2023. 6. 4.

Instruction Fetch

- PC : 32-bit 레지스터 , 현재 instruction의 주소를 저장한다.

- Instruction Memory : combinational logic으로 동작하며 PC 주소에 있는 instruction을 제공해준다

- Move to the next instruction => PC + 4가 된다

 

R-format instructions

opcode | rs | rt | rd | shamt | funct

R-type의 opcode는 항상 000000이다.

funct로 명령어를 구분한다.

 

Register File

- Read : combinational logic처럼 동작하며 주어진 register ID로 현재 register value을 제공한다 / 2개의 register를 읽는다

- Write : sequential logic처럼 동작하며 RegWrite 가 1일때 지정된 register로 value을 저장하며, 실제 동작 시 다음 cycle로 이동할 때 작성이 된다.

 

ALU Control

- OPcode => ALUOP

- ALUOP & funct => ALU control  (And 연산)

 

opcode ALUOP Operation funct ALU function ALU control
lw 00 word를 load X add 0010
sw 00 word를 store X add 0010
beq 01 branch equal X subtract 0110
R 10 add 100000 add 0010
subtract 100010 subtract 0110
AND 100100 AND 0000
OR 100101 OR 0001
set-on-less-than 101010 set-on-less-than 0111

 

Data Memory

- Read : combinational logic 처럼 동작 , MemRead가 1이면 @address에 있는 현재 memory value를 제공

- Write : sequential logic 처럼 동작 , MemWrite가 1이면 @address에 있는 data를 작성, 실제 작성은 다음 cycle에서 이루어짐

 

Sign-extend

Instruction의 [0:15] 부분은 16bit인데 32bit로 바꿔야 한다.

2배를 늘려주어 ALU 연산에 활용되게 하는 방식

728x90

'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. 프로세서 (1)  (0) 2023.06.04