VAMOSS
2024. 9. 30. 08:33
2024. 9. 30. 08:33
- IF (Instruction Fetch):
- 프로그램 카운터(PC)가 현재 실행할 명령어의 주소를 가리킵니다.
- 해당 주소에서 sw 명령어를 메모리에서 가져옵니다.
- 가져온 명령어를 PC로부터 읽어 들인 후, PC는 다음 명령어의 주소로 업데이트됩니다.
- ID (Instruction Decode):
- 가져온 sw 명령어를 해독하여 소스 레지스터와 목적 레지스터의 주소, 그리고 즉시값(Offset)을 추출합니다.
- 소스 레지스터의 값을 읽어옵니다. 이 값은 메모리에 저장될 데이터입니다.
- 목적 레지스터의 주소를 읽어 메모리 주소 계산에 사용할 준비를 합니다.
- 즉시값(Offset)을 해독하여 주소 계산에 사용할 준비를 합니다.
- 제어 신호가 생성되어 다음 단계로 전파됩니다.
- EX (Execute):
- ALU(산술 논리 장치)가 목적 레지스터의 값과 즉시값(Offset)을 더하여 최종 메모리 주소를 계산합니다.
- 이 단계에서 최종 메모리 주소가 ALU의 출력으로 생성됩니다.
- MEM (Memory Access):
- ALU에서 계산된 메모리 주소를 사용하여 소스 레지스터의 데이터를 해당 메모리 주소에 저장합니다.
- 이 단계에서 데이터가 메모리에 실제로 기록됩니다.
- WB (Write Back):
- Store instruction의 경우, WB 단계는 일반적으로 수행되지 않습니다. 데이터가 메모리에 저장되므로 레지스터에 쓰는 작업이 필요 없습니다.