CPU

기술노트

CPU 개요

컴퓨터의 핵심 CPU(Central Processing Unit)와 폰 노이만 구조

컴퓨터 시스템을 이루는 3대 구성 요소는 CPU, 메모리, 디스크이며, 여기에 I/O까지 추가하면 컴퓨터를 이루는 기본 골격이 됩니다. 이러한 개념을 최초로 제안한 것이 폰 노이만(John von Neumann)입니다.

폰 노이만 구조의 주요 특징:

  • 명령어/데이터 로드 → 실행 → 저장을 순차적으로 수행
  • 데이터 및 프로그램 메모리를 하나의 버스로 접근하는 구조

폰 노이만 구조에서는 중앙 처리 장치(CPU)를 통해 연산을 수행합니다. CPU는 각종 연산을 수행하고, 기억장치에 저장된 명령어를 실행하는 컴퓨터 시스템의 핵심 부품입니다.

CPU의 속도: 헤르츠(Hz)와 Clock

CPU는 연산을 수행하는 칩으로, 기본적으로 덧셈기와 같은 원리로 동작합니다. 일반적으로 컴퓨터의 성능은 CPU의 속도메모리 용량으로 표현되며, CPU 속도의 단위는 헤르츠(Hz)입니다.

Hz(헤르츠)란?

  • 1초 동안 특정 동작이 몇 번 반복되는지를 나타내는 단위
  • 예: 100Hz → 1초에 100번의 진동(반복)

Clock(클럭)이란?

  • CPU가 일정한 속도로 동작하도록 주기적으로 전기적 펄스를 공급하는 장치
  • CPU는 이 신호를 받아 데이터를 처리하며, 한 번의 클럭 신호에서 한 개의 명령을 수행
  • 클럭 속도가 빠를수록 처리 능력이 향상됨

CPU의 구성 요소

CPU의 주요 내부 구성 요소는 다음과 같습니다:

  • 산술/논리 연산 장치(ALU, Arithmetic Logic Unit)
  • 제어 장치(Control Unit)
  • 레지스터(Register)

ALU(산술 논리 연산 장치)

ALU는 연산을 담당하는 핵심 장치로, 주요 기능은 다음과 같습니다:

  • 덧셈, 뺄셈, 곱셈 등의 산술 연산 수행
  • 논리 연산(AND, OR, XOR 등) 수행
  • 부동소수점 연산장치(FPU)와 정수 연산장치 포함
  • 데이터를 레지스터(Register)에서 가져와 연산 수행

제어 장치(Control Unit)

제어 장치는 CPU가 명령어 수행 순서를 제어하는 역할을 합니다. 주요 구성 요소는 다음과 같습니다:*프로그램 계수기(PC, Program Counter) – 다음에 실행할 명령어의 메모리 주소 저장

  • 명령 레지스터(IR, Instruction Register) – 현재 실행 중인 명령어 저장
  • 명령 해독기(Instruction Decoder) – 명령어를 해석하고 제어 신호 생성

제어 장치 구현 방식

  • 하드와이어드(Hardwired) – 논리회로로 직접 구현, 빠르지만 유연성이 낮음 (RISC 사용)
  • 마이크로프로그램(Micro Program) – ROM에 제어 신호 저장 후 필요 시 실행 (CISC 사용)

레지스터(Register)

레지스터는 CPU 내부의 고속 기억장치입니다. 주요 레지스터의 기능은 다음과 같습니다:

  • IR (Instruction Register) – 현재 실행 중인 명령어 저장
  • PC (Program Counter) – 다음 실행할 명령어 주소 저장
  • AC (Accumulator) – 연산 결과 임시 저장

명령어 구조 및 수행 과정

CPU가 명령어를 처리하는 과정:

      • 읽기(Fetch Instruction)** – 메모리에서 명령어 가져오기
      • 해석(Decode Instruction)** – 명령어 분석
      • 실행(Execute Instruction)** – 명령어 실행
      • 기록(Write Back)** – 실행 결과 저장

명령어 구조:

  • **명령어(Instruction) = 동작 코드(Op-code) + 오퍼랜드(Operand)**
  • Op-code: 실행할 동작을 지정
  • Operand: 데이터 또는 데이터가 저장된 위치 지정

명령어 처리 방식: RISC와 CISC

      • RISC(Reduced Instruction Set Computer)**
 * 단순한 명령어 조합으로 복잡한 연산 수행
 * 파이프라이닝 적용 가능 → 빠른 실행 속도
 * 명령어당 하나의 클럭 사이클 사용
 * 예: ARM, MIPS, PowerPC
      • CISC(Complex Instruction Set Computer)**
 * 하나의 명령어가 여러 클럭 사이클을 사용
 * 메모리 참조가 많고 다양한 명령어 제공
 * 예: 인텔 x86 아키텍처

RISC와 CISC 비교

RISC vs CISC
구분 RISC CISC
명령어 개수 적음 많음
실행 속도 빠름 (한 사이클에 하나의 명령) 상대적으로 느림
설계 복잡도 단순 복잡
대표 예시 ARM, MIPS x86, Intel CPU

RISC 한계를 극복하는 EPIC(Explicitly Parallel Instruction Computing)

EPIC는 HP와 Intel이 공동으로 개발한 64비트 명령어 셋 구조로, RISC의 단점을 보완하기 위해 설계되었습니다.

  • 기존 RISC 방식은 명령어 선형 실행으로 인해 한계 발생
  • EPIC은 소프트웨어 수준에서 병렬 처리를 명시적으로 지정하여 성능 최적화

EPIC의 주요 특징:

  • 명확한 병렬 실행을 위한 128개 이상의 레지스터 제공
  • 컴파일 단계에서 병렬 실행 가능한 명령어 그룹화
  • 기존 RISC보다 높은 성능 제공

참고 자료

  • IT기업 기술 면접을 위한 CS + 면접 노하우 PDF → 링크
  • AWS 백엔드 개발자 강의 → 링크
  • ChatGPT를 활용한 앱 개발 강의 → 링크
  • 직접 번역한 백엔드 도서 → 링크
  • 기술노트with알렉 유튜브 → 링크