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가 명령어 수행 중 예상치 못한 상황에 마주칠 때 발생
  • 비동기 인터럽트 (하드웨어 인터럽트): 입출력 장치에 의해 발생하는 인터럽트

인터럽트 처리 과정

  1. 입출력 장치가 CPU에 인터럽트 요청 신호 전송
  2. CPU가 실행 사이클 종료 후 인터럽트 여부 확인
  3. 인터럽트 플래그를 통해 수용 가능 여부 판단
  4. 현재 작업 백업
  5. 인터럽트 벡터를 참조하여 인터럽트 서비스 루틴(ISR) 실행
  6. 처리 완료 후 백업된 작업 복구 및 재개

3. CPU 성능 결정 요소

클럭 (Clock)

  • CPU와 컴퓨터 부품들이 동기화되어 작동하는 기준 신호
  • 클럭 속도가 높을수록 CPU 성능이 향상되지만, 발열 문제로 인해 무한정 높일 수는 없음
  • 헤르츠(Hz) 단위로 측정 (1초당 클럭 반복 횟수)

코어 (Core)

  • 현대 CPU에서 '명령어를 실행하는 부품'을 의미
  • 멀티코어 CPU: 여러 개의 코어를 포함한 CPU
  • 코어 수와 성능은 비례하지 않으며, 작업 분배의 효율성이 중요

코어 수명칭

1개 싱글 코어
2개 듀얼 코어
3개 트리플 코어
4개 쿼드 코어

스레드 (Thread)

스레드는 하드웨어적 정의와 소프트웨어적 정의로 구분됩니다.

하드웨어적 스레드

  • 하나의 코어가 동시에 처리하는 명령어 단위
  • 예: 2코어 4스레드 CPU = 2개 코어에서 동시에 4개 명령어 처리 가능

소프트웨어적 스레드

  • 하나의 프로그램에서 독립적으로 실행되는 단위
  • 프로그램의 여러 기능을 동시에 실행할 수 있게 해줌

핵심 포인트

  1. 명령어 사이클은 CPU가 체계적으로 명령어를 처리하는 과정을 보장합니다.
  2. 인터럽트는 시스템의 유연성을 제공하고 예외 상황에 신속하게 대응할 수 있게 합니다.
  3. CPU 성능은 클럭 속도, 코어 수, 스레드 수의 조합으로 결정되지만, 각각의 한계가 존재합니다.
  4. 멀티코어와 멀티스레드의 성능 향상은 작업 분배의 효율성에 크게 의존합니다.