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 | 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알렉 유튜브 → 링크