- Instruction Fetch (IF):
- 명령어 메모리에서 명령어를 가져옵니다. 프로그램 카운터(PC)를 사용하여 현재 실행할 명령어의 주소를 결정하고, 그 주소에서 명령어를 읽어 옵니다.
- PC는 다음 명령어 주소로 증가합니다.
- Instruction Decode (ID):
- 가져온 명령어를 해독하고, 필요한 레지스터를 읽습니다.
- R-type 명령어의 경우, opcode를 확인하여 해당 명령어가 R-type임을 인식합니다.
- 소스 레지스터(예: rs, rt)에서 값을 읽어옵니다.
- 명령어의 목적 레지스터(rd)도 식별합니다.
- Execute (EX):
- ALU(산술 논리 장치)를 사용하여 계산을 수행합니다.
- 소스 레지스터에서 읽은 값들을 ALU에 입력하고, 명령어에 지정된 연산(예: 더하기, 빼기 등)을 수행합니다.
- 결과는 ALU 결과 레지스터에 저장됩니다.
- Memory Access (MEM):
- R-type 명령어는 메모리 접근이 필요하지 않기 때문에 이 단계는 생략되거나 NOP(No Operation)로 처리할 수 있습니다.
- 만약 R-type 명령어에 메모리 접근이 필요하다면, 이 단계에서 데이터 메모리에 접근합니다.
- Write Back (WB):
- ALU에서 계산된 결과를 목적 레지스터(rd)에 저장합니다.
- 이 단계에서 레지스터 파일에 쓰기 작업이 이루어집니다.
이 과정을 통해 R-type 명령어가 실행되고, 결과는 지정된 레지스터에 저장됩니다. 각 단계는 별도의 사이클에서 실행되어 파이프라인이 효율적으로 작동합니다.
'CPU ARCHITECTURE1 > CPU' 카테고리의 다른 글
| 08. CPU DATA PATH - I - Type(Load Instruction) (0) | 2024.09.30 |
|---|---|
| 07. CPU DATA PATH - I - Type(Register Write) (0) | 2024.09.30 |
| 05-5. Write Back(WB) (0) | 2024.09.30 |
| 05-4. Memory Access(MEM) (0) | 2024.09.30 |
| 05-3. Execute(EX) (0) | 2024.09.30 |