컴퓨터/정보>고등 정보>폰 노이만 구조와 CPU 아키텍처
개념 정리

폰 노이만 구조와 CPU 아키텍처

단원 개요
프로그램 내장 방식의 폰 노이만 구조와 하버드 구조를 비교하고, CPU 내부 구성요소(ALU, 제어장치, 레지스터)와 명령어 파이프라이닝을 이해합니다.
선수 개념
필수 키워드:하버드 구조와 현대 하이브리드 CPU하버드 구조플래그 레지스터(Flag Register)제어장치 (Control Unit, CU): 방금 메모리에서 읽어온AC (Accumulator, 누산기)제어 해저드(Control Hazard)분기 예측(Branch Prediction)

유물과 표본

사진은 출처와 이용 조건을 확인한 경우에만 표시합니다.

사진 출처·이용 조건 확인 중

1

폰 노이만 구조(Von Neumann) vs 하버드 구조(Harvard)

•
폰 노이만 구조 (프로그램 내장 방식, Stored-Program Concept):
•
초기 컴퓨터(ENIAC)는 새로운 계산을 할 때마다 전선을 일일이 다시 꽂아야 하는 하드와이어링 방식이었습니다.
•
수학자 존 폰 노이만은 명령어(프로그램 코드)와 데이터를 동일한 주기억장치(RAM)에 구분 없이 저장하고, CPU가 순차적으로 인출해 실행하는 구조를 제안했습니다. 덕분에 소프트웨어만 교체하면 범용적인 작업을 수행할 수 있게 되었습니다.
•
폰 노이만 병목 현상 (Von Neumann Bottleneck):
•
명령어와 데이터가 하나의 시스템 버스(Bus)와 메모리를 공유하므로, CPU가 명령어를 읽는 동안 동시에 데이터를 읽거나 쓸 수 없어 CPU의 연산 속도가 메모리 전송 속도에 묶이는 현상입니다.
•
하버드 구조와 현대 하이브리드 CPU:
•
하버드 구조는 명령어용 메모리와 데이터용 메모리의 물리적 공간과 버스를 완전히 분리하여 동시에 접근합니다.
•
현대 CPU는 외부 메인 메모리(RAM)는 폰 노이만 구조를 따르되, CPU 내부의 L1 캐시는 명령어 캐시(L1i)와 데이터 캐시(L1d)로 분리한 수정된 하버드 구조를 채택하여 병목을 극복합니다.
핵심 원리
현대 컴퓨터는 '외부(RAM)는 폰 노이만 구조, 내부(L1 캐시)는 하버드 구조'를 결합하여 범용성과 초고속 동시 접근 성능을 모두 확보하고 있습니다.
2

CPU의 3대 핵심 구성 요소와 필수 레지스터

•
ALU (Arithmetic Logic Unit, 산술논리연산장치): 레지스터에서 피연산자를 받아 덧셈·뺄셈·시프트·비트 논리 연산을 수행하고, 연산 결과의 특징(오버플로우, 0 여부, 음수 여부)을 플래그 레지스터(Flag Register)에 기록합니다.
•
제어장치 (Control Unit, CU): 프로그램 카운터가 가리키는 명령어를 가져와 해독(Decode)하고, CPU 내부와 메모리·입출력 장치로 제어 신호(Control Signal)를 내보내는 지휘자입니다.
•
핵심 레지스터(Register) 5총사:
1
PC (Program Counter, 프로그램 카운터): 다음에 인출할 명령어의 메모리 주소를 저장합니다.
2
IR (Instruction Register, 명령어 레지스터): 방금 메모리에서 읽어온 현재 실행할 명령어 자체를 보관합니다.
3
MAR (Memory Address Register): CPU가 읽거나 쓸 메모리 주소를 주소 버스로 내보내기 전에 거치는 레지스터입니다.
4
MBR / MDR (Memory Buffer Register): 메모리에서 읽어온 데이터나 메모리에 쓸 데이터가 데이터 버스를 오갈 때 거치는 버퍼입니다.
5
AC (Accumulator, 누산기) 및 범용 레지스터: 연산 결과를 일시적으로 저장합니다.
풀이

1) 인출(Fetch) 단계:

•
PC에 담긴 주소(100)가 MAR로 전달됩니다 (MAR ← PC).
•
메모리 100번지의 명령어('ADD 250')가 버스를 통해 MBR로 읽혀 오고, PC는 다음 명령어 주소인 101로 자동 증가합니다 (PC ← PC + 1).
•
MBR의 명령어가 IR로 이동합니다 (IR ← MBR).

2) 해독(Decode) 및 실행(Execute) 단계:

•
제어장치(CU)가 IR의 'ADD 250'을 해독합니다.
•
피연산자 주소 250을 MAR에 넣고(MAR ← 250), 메모리 250번지의 실제 데이터 값을 MBR로 가져옵니다.
•
ALU가 기존 AC 값과 MBR의 값을 더하여 결과를 다시 AC에 저장합니다 (AC ← AC + MBR).
3

명령어 파이프라이닝(Pipelining)과 CISC vs RISC

•
명령어 파이프라이닝 (Instruction Pipelining):
•
명령어 실행 주기인 인출(IF) ➔ 해독(ID) ➔ 실행(EX) ➔ 메모리 접근(MEM) ➔ 저장(WB) 단계를 마치 공장의 컨베이어 벨트처럼 겹쳐서 동시에 여러 명령어를 중첩 실행하는 기법입니다.
•
단, 조건 분기문(if)으로 인해 실행 흐름이 갑자기 바뀌면 미리 인출해 둔 명령어들을 버려야 하는 제어 해저드(Control Hazard)가 발생하며, CPU는 이를 분기 예측(Branch Prediction) 기술로 완화합니다.
•
명령어 집합 구조(ISA): CISC vs RISC:
•
CISC (Complex Instruction Set Computer, 인텔/AMD x86-64): 복잡하고 다양한 가변 길이 명령어를 지원하여 적은 수의 명령어로 프로그램을 작성할 수 있으나, 명령어 크기가 제각각이라 파이프라이닝 효율이 떨어지고 전력 소모가 큽니다.
•
RISC (Reduced Instruction Set Computer, ARM / Apple M시리즈 / RISC-V): 단순하고 규격화된 고정 길이 명령어만 두어 1클럭 내 실행과 고효율 파이프라이닝을 극대화하며, 저전력·고성능이 요구되는 스마트폰과 최신 노트북·서버 시장을 주도하고 있습니다.
학습 도움말
기술 면접 단골 질문: 'PC(프로그램 카운터)와 IR(명령어 레지스터)의 차이는?' -> PC는 '다음에 실행할 명령어의 주소(번지)'를 담고 있고, IR은 '현재 실행 중인 명령어 코드 자체'를 담고 있습니다.

핵심 요약

  • ✓
    폰 노이만 구조는 명령어와 데이터를 같은 메모리에 내장하여 범용성을 얻었으나 버스 공유로 인한 병목 현상이 존재한다.
  • ✓
    PC(Program Counter)는 다음에 실행할 명령어의 주소를, IR(Instruction Register)은 현재 실행할 명령어를 저장한다.
  • ✓
    CPU 명령어 사이클은 인출(Fetch) ➔ 해독(Decode) ➔ 실행(Execute) ➔ 저장(Writeback) 순서로 동작한다.
  • ✓
    파이프라이닝과 RISC 아키텍처(ARM 등)는 명령어 처리를 컨베이어 벨트처럼 병렬화하여 클럭당 처리량(IPC)을 극대화한다.

설명 다음에는 직접 풀어 보세요

함께 풀기와 자기 설명을 거쳐 새 문제에 도전해요. 막힌 부분은 보충하고, 다른 날 다시 기억하는지 확인할 수 있어요.

이 단원의 수업 시작하기 →
5문항 연습 세트

폰 노이만 구조와 CPU 아키텍처 단원 연습 문제

개념을 읽은 뒤 연습 문제로 이해한 내용을 확인해 보세요. 한 세트는 5문항이며, 답안을 제출하면 정답과 풀이를 볼 수 있습니다.

한 세트 5문항 단계별 상세 해설 시험지 PDF 인쇄 지원

참고 근거와 확인 범위

설명·예제·문제 구성 및 오류 수정 책임: 프리런. 위 자료는 표시한 주제를 확인하거나 더 읽기 위한 근거이며, 외부 기관의 공식 수업이나 감수본을 뜻하지 않습니다.

참고 자료 연결 점검: 2026-11-02. 제작 방식·검수 범위와 수정 기록에서 확인 범위를 볼 수 있습니다. 오류는 상단의 의견 보내기 또는 contact@freelearn.io로 알려 주세요.