CPU 성능 향상을 위한 핵심 기법인 파이프라이닝(Pipelining)의 원리를 정리했다.
다수의 명령어를 단계별로 중첩 실행하여 처리 효율을 극대화하는 기술이다.
명령어 중첩 실행 원리
파이프라이닝은 각 단계를 독립적 하드웨어로 구성하여 컨베이어 벨트 방식으로 명령어를 처리한다.
클럭 사이클: 1 2 3 4 5 6 7
-----------------------------------------------
명령어 1: IF ID EX MEM WB
명령어 2: IF ID EX MEM WB
명령어 3: IF ID EX MEM WB
단계별 독립 작동을 통해 자원 활용도를 높인다.
파이프라인 5단계 구조
표준적인 파이프라인 단계는 다음과 같다.
- IF (Instruction Fetch): 명령어 인출
- ID (Instruction Decode): 명령어 해독 및 레지스터 읽기
- EX (Execution): 연산 수행
- MEM (Memory Access): 데이터 메모리 접근
- WB (Write Back): 결과 기록
처리량(Throughput) 향상
파이프라이닝은 단위 시간당 명령어 처리 개수인 처리량을 향상시킨다.
개별 명령어의 지연 시간(Latency) 단축보다는 전체적인 시스템 효율성 강화에 중점을 둔다.
하드웨어 자원을 유휴 상태 없이 운용하는 효율적 설계 방식인 것 같다.