Deep Dives/CS Fundamentals
CPU 동작 원리와 성능 요소 정리
Jcob.moon
2025. 5. 28. 17:24
1. 명령어 사이클 (Instruction Cycle)
CPU가 명령어를 처리하는 정형화된 흐름으로, 프로그램의 각 명령어가 일정한 주기를 반복하며 실행됩니다.
기본 구성 요소
- 인출 사이클 (Fetch Cycle): 메모리에서 CPU로 명령어를 가져오는 단계
- 실행 사이클 (Execution Cycle): 제어 장치가 명령어를 해석하고 제어 신호를 발생시키는 단계
- 간접 사이클 (Indirect Cycle): 추가적인 메모리 접근이 필요한 경우 수행되는 단계
CPU는 이 과정을 반복하며 프로그램의 명령어들을 차례대로 처리합니다.
2. 인터럽트 (Interrupt)
CPU가 수행 중인 작업을 잠시 중단시키는 신호로, 긴급하거나 우선 처리해야 할 상황을 알리는 메커니즘입니다.
인터럽트의 종류
- 동기 인터럽트 (예외, Exception): CPU가 명령어 수행 중 예상치 못한 상황에 마주칠 때 발생
- 비동기 인터럽트 (하드웨어 인터럽트): 입출력 장치에 의해 발생하는 인터럽트
인터럽트 처리 과정
- 입출력 장치가 CPU에 인터럽트 요청 신호 전송
- CPU가 실행 사이클 종료 후 인터럽트 여부 확인
- 인터럽트 플래그를 통해 수용 가능 여부 판단
- 현재 작업 백업
- 인터럽트 벡터를 참조하여 인터럽트 서비스 루틴(ISR) 실행
- 처리 완료 후 백업된 작업 복구 및 재개
3. CPU 성능 결정 요소
클럭 (Clock)
- CPU와 컴퓨터 부품들이 동기화되어 작동하는 기준 신호
- 클럭 속도가 높을수록 CPU 성능이 향상되지만, 발열 문제로 인해 무한정 높일 수는 없음
- 헤르츠(Hz) 단위로 측정 (1초당 클럭 반복 횟수)
코어 (Core)
- 현대 CPU에서 '명령어를 실행하는 부품'을 의미
- 멀티코어 CPU: 여러 개의 코어를 포함한 CPU
- 코어 수와 성능은 비례하지 않으며, 작업 분배의 효율성이 중요
코어 수명칭
1개 | 싱글 코어 |
2개 | 듀얼 코어 |
3개 | 트리플 코어 |
4개 | 쿼드 코어 |
스레드 (Thread)
스레드는 하드웨어적 정의와 소프트웨어적 정의로 구분됩니다.
하드웨어적 스레드
- 하나의 코어가 동시에 처리하는 명령어 단위
- 예: 2코어 4스레드 CPU = 2개 코어에서 동시에 4개 명령어 처리 가능
소프트웨어적 스레드
- 하나의 프로그램에서 독립적으로 실행되는 단위
- 프로그램의 여러 기능을 동시에 실행할 수 있게 해줌
핵심 포인트
- 명령어 사이클은 CPU가 체계적으로 명령어를 처리하는 과정을 보장합니다.
- 인터럽트는 시스템의 유연성을 제공하고 예외 상황에 신속하게 대응할 수 있게 합니다.
- CPU 성능은 클럭 속도, 코어 수, 스레드 수의 조합으로 결정되지만, 각각의 한계가 존재합니다.
- 멀티코어와 멀티스레드의 성능 향상은 작업 분배의 효율성에 크게 의존합니다.