컴퓨터 구조: CPU의 작동 원리와 성능 향상 기법
|
2 min read
CPU의 핵심 구성 요소인 ALU, 제어장치, 레지스터의 역할부터 멀티코어, 파이프라이닝, 그리고 인터럽트의 처리 과정까지 총정리합니다.
1. CPU의 3대 핵심 구성 요소
- ALU (산술논리연산장치): 실제 연산을 수행하는 회로입니다. 연산 결과와 함께 상태 정보(플래그)를 내보냅니다.
- 제어 장치 (Control Unit): 명령어를 해석하고 각 부품에 제어 신호를 보내 일사분란하게 움직이게 합니다.
- 레지스터 (Registers): CPU 내부의 아주 작은 임시 저장소입니다. 프로그램 카운터, 명령어 레지스터, 범용 레지스터 등 용도에 따라 다양합니다.
2. CPU의 박자: 클럭과 명령어 사이클
CPU는 클럭(Clock) 신호에 맞춰 움직입니다. 클럭 속도가 높을수록 일반적으로 성능이 좋지만, 발열 문제 때문에 무한정 높일 수는 없습니다. 명령어는 보통 인출(Fetch) -> 실행(Execute) 과정을 반복하는 명령어 사이클을 거치며 처리됩니다.
3. 흐름을 끊는 신호: 인터럽트(Interrupt)
CPU가 명령어를 처리하던 중 예외 상황이나 입출력 장치의 요청이 들어오면 현재 작업을 잠시 중단하는데, 이를 인터럽트라고 합니다.
- 처리 순서: 인터럽트 요청 확인 -> 현재 작업 백업 -> 인터럽트 서비스 루틴(ISR) 실행 -> 복구 후 재개
4. 성능을 높이기 위한 설계 기법
현대 CPU는 단순히 클럭을 높이는 대신 구조적인 개선을 통해 성능을 극대화합니다.
- 멀티 코어 & 멀티 스레드: 물리적인 핵심 부품(코어)을 여러 개 두거나, 하나의 코어가 여러 명령어를 동시에 처리할 수 있게(논리 프로세서) 만듭니다.
- 명령어 파이프라이닝: 공장의 생산 라인처럼 인출, 해석, 실행 단계를 동시에 겹쳐서 처리하여 효율을 높입니다.
- CISC vs RISC:
- CISC (Intel): 복잡하고 다양한 명령어를 제공하여 적은 수의 명령어로 실행 가능하지만 파이프라이닝에 불리합니다.
- RISC (ARM/Apple M1): 단순하고 규격화된 명령어를 사용하여 파이프라이닝 효율을 극대화합니다.
- 비순차적 명령어 처리 (OoOE): 데이터 의존성이 없는 명령어들의 순서를 바꿔서 파이프라인이 멈추지 않게 합니다.