- Instruction Fetch (IF):
- CPU는 프로그램 카운터(PC)에 있는 주소를 참조하여 메모리에서 명령어를 가져옵니다. 이 명령어는 다음 단계에서 해석될 것입니다.
- 이 단계에서 PC는 다음 명령어를 가리키도록 증가됩니다.
- Instruction Decode (ID):
- 메모리에서 가져온 명령어를 해석합니다.
- 명령어가 어떤 동작을 수행해야 하는지 파악하고, 필요한 레지스터 값을 레지스터 파일에서 읽어옵니다.
- 만약 명령어가 브랜치(분기)나 점프 명령어일 경우, 브랜치 조건을 계산하고 다음에 실행할 명령어의 주소를 결정할 수도 있습니다.
- Execute (EX):
- 해석된 명령어에 따라 연산을 수행합니다. 여기서는 ALU(Arithmetic Logic Unit)를 사용하여 산술 연산, 논리 연산, 주소 계산, 분기 조건 평가 등의 작업이 이루어집니다.
- 또한, 메모리 주소 계산이나 레지스터에 저장될 값을 준비하는 과정도 포함됩니다.
- Memory Access (MEM):
- 명령어가 메모리 액세스를 필요로 하는 경우(예: Load/Store 명령어), 이 단계에서 메모리로부터 데이터를 읽거나 메모리에 데이터를 씁니다.
- 만약 메모리 액세스가 필요하지 않으면 이 단계는 건너뛰기도 합니다.
- Write Back (WB):
- 연산 결과나 메모리에서 읽어온 데이터를 레지스터 파일에 저장합니다.
- 이를 통해 프로그램이 다음 명령어를 실행하는 데 필요한 값을 준비합니다.
파이프라인의 이점:
- 동시성: 각 단계가 동시에 진행될 수 있기 때문에 한 사이클에 여러 명령어를 동시에 처리할 수 있습니다.
- 성능 향상: 모든 명령어가 동시에 수행되므로, 명령어 처리 속도가 빨라집니다. 이론적으로는 클럭당 한 명령어가 완료될 수 있습니다.

* https://cs.middlesexcc.edu/~schatz/csc264/handouts/mips.datapath.html
'CPU ARCHITECTURE1 > CPU' 카테고리의 다른 글
| 05-2. Instruction Decode (ID) (0) | 2024.09.30 |
|---|---|
| 05-1. Instruction Fetch(IF) (0) | 2024.09.30 |
| 04. SPR(Special Purpose Register) (0) | 2024.09.29 |
| 03. CPU main components (1) | 2024.09.29 |
| 02. Computer Architecture (0) | 2024.09.29 |