반응형
데이터와 주소를 처리하는 요소가 Dapapath입니다.
MIPS의 datapath의 구성요소는 조합논리소자, 순차논리소자로 나뉩니다.
pc값이 Instruction memory에 연결이 되어있어서 주소값을 가지고 instruction을 읽습니다.
clock 상승에 맞춰서 PC+4가 됩니다.
R-Format Instructions
R-Format 명령어는 MIPS(Microprocessor without Interlocked Pipeline Stages) 명령어 집합 구조(ISA)에서 사용하는 명령어 형식 중 하나입니다. MIPS에는 R-Format, I-Format, J-Format의 세 가지 주요 명령어 형식이 있으며, R-Format는 레지스터 간의 산술 또는 논리 연산을 수행하는 명령어에 사용됩니다.
R-Format 명령어는 총 6개의 필드로 구성됩니다:
- Opcode (6비트): 이 필드는 명령어의 동작을 지정합니다. R-Format 명령어에서는 보통 000000으로 설정됩니다.
- rs (5비트): 첫 번째 소스 레지스터의 번호입니다. 연산에 사용될 첫 번째 레지스터를 지정합니다.
- rt (5비트): 두 번째 소스 레지스터의 번호입니다. 연산에 사용될 두 번째 레지스터를 지정합니다.
- rd (5비트): 결과를 저장할 목적지 레지스터의 번호입니다. 연산 결과가 이 레지스터에 저장됩니다.
- shamt (5비트): 이동(shift) 연산에 사용되는 비트 수입니다. 이동 연산이 없으면 0으로 설정됩니다.
- funct (6비트): 명령어의 세부 동작을 지정하는 필드입니다. 예를 들어, 덧셈, 뺄셈, 논리곱 등의 연산을 구분합니다.
R-Format 명령어는 주로 레지스터 간 연산을 수행하는데 사용되며, 예를 들어 add, sub, and, or 등이 있습니다.
예시:
add $t0, $t1, $t2
위의 명령어는 $t1과 $t2 레지스터의 값을 더한 후 그 결과를 $t0 레지스터에 저장하는 명령입니다. 이 명령어는 R-Format 형식에 해당합니다.
Branch instructions
- 레지스터 operand x 2 읽기
- Operand 비교 : ALU 사용
- Target address 계산 -Sign extension, Shift left, PC+4에 더하기
단일 datapath 만들기
모든 명령어가 한 클럭 사이클에 실행되도록 설계
- 어떤 자원도 명령어당 두 번 이상 사용될 수 없음 (instruction 메모리와 데이터 메모리의 분리 필요
- 동일한 자원이 여러 명렁어 지원 (자원의 입력에 여러 개의 연결 허용 -> mux 활용)
단일 사이클 설계 - Control
ALU의 사용 : Y = F(I0, I1)
- Load/Stor F = add (BASE+OFFSET)
- Branch F = subtract
- R-type : F는 funct field에 따라 달라짐
enable 신호
- RegWrite : Register 쓰기
- MemRead : 데이터 메모리 읽기
- MemWrite : 데이터 메모리 쓰기
Mux 신호
- RegDst : Write Register
- ALUSrc : ALU의 두 번째 입력
- PCSrc : 다음 pc 값
- MemtoReg : Write data
반응형
'IT 프로그래밍 > 컴퓨터구조' 카테고리의 다른 글
[컴퓨터구조] Processor1 (0) | 2024.12.17 |
---|---|
[컴퓨터구조] processor1 (0) | 2024.12.17 |
[컴퓨터구조] CPU 구조 (0) | 2024.12.11 |
[단국대 강의] MIPS 컴퓨터 구조 instruction (0) | 2024.09.29 |
컴퓨터 응용 분야 (0) | 2024.09.06 |