본문 바로가기

폰 노이만 구조

폰 노이만 구조는 프로그램 명령과 데이터를 메모리에 저장하고 CPU가 가져오기·해석·실행을 반복하는 저장 프로그램 구조다. CPU 구성과 메모리 계층을 함께 구별해야 한다.

눈으로 구조 잡기

메모리와 CPU 사이의 저장 프로그램 순환

명령·데이터 메모리

프로그램과 처리할 값 저장

Fetch
가져오기·해석

제어 장치가 명령 의미 확인

Decode
실행

ALU가 연산하고 레지스터가 값 보관

Memory·Write-Back
메모리 접근·기록

값을 읽고 결과를 저장

명령에 따라 메모리 접근 단계의 실제 동작은 달라질 수 있다.

폰 노이만 구조에서는 프로그램 명령도 메모리에 저장되고 CPU가 한 단계씩 가져와 처리한다.

메모리에 저장된 명령과 데이터를 CPU가 가져와 제어 장치에서 해석하고 ALU와 레지스터에서 실행한 뒤 결과를 메모리나 레지스터에 기록하는 순환 과정

출처: 은광위키 자체 제작 · OWN
텍스트로 자세히 설명

프로그램 명령과 데이터가 메모리에 놓인다. CPU는 명령을 가져와 제어 장치에서 해석하고, ALU와 레지스터로 연산을 수행한다. 필요한 메모리 접근과 결과 기록을 마치면 다음 명령을 다시 가져온다.

목차

1. 개요

폰 노이만 구조는 프로그램의 명령과 처리할 데이터를 메모리에 저장하고, CPU가 이를 차례로 가져와 해석·실행하는 컴퓨터 구조다. 프로그램도 데이터처럼 메모리에 놓인다는 저장 프로그램 방식이 핵심이다. 메모리 속 데이터의 조직, 연산으로 구현되는 학습, CPU·GPU가 처리하는 그래픽 과정을 이해하는 하드웨어 배경이 된다.

2. 상세

2.1. CPU와 메모리의 역할

CPU는 프로그램의 명령을 해석하고 산술·논리 연산을 수행한다. 메모리는 실행할 명령과 연산에 필요한 데이터를 저장한다.1 설명할 때 프로그램 메모리와 데이터 메모리로 역할을 나눌 수 있지만, 폰 노이만 구조의 핵심은 명령과 데이터가 모두 메모리에서 CPU로 전달된다는 점이다.

CPU 안의 제어 장치는 명령을 해석하고 처리 순서를 조정한다. ALU는 산술과 논리 연산을 맡으며, 레지스터는 현재 계산에 필요한 값과 중간 결과를 매우 가까운 곳에 임시 저장한다.2

2.2. 명령 처리 순환

명령 처리 순환은 CPU가 다음에 수행할 명령을 기억 장치에서 읽어 오는 가져오기(Fetch)로 시작한다. 이어 명령의 비트 배열이 뜻하는 동작과 필요한 값을 해석한다(Decode). ALU 등이 연산을 실행하고(Execute), 명령에 따라 메모리에서 데이터를 읽거나 쓴다(Memory). 마지막으로 결과를 레지스터에 기록한다(Write-Back).3

모든 명령이 각 단계를 같은 방식으로 사용하는 것은 아니다. 메모리 접근이 필요 없는 연산은 해당 단계를 건너뛸 수 있다. 중요한 것은 한 명령의 결과가 다음 명령의 입력이 될 때 처리 순서와 데이터 의존성을 지켜야 한다는 점이다.

2.3. 메모리 계층

CPU에 가까운 레지스터와 캐시는 빠르지만 저장 용량이 작다. 메인 메모리는 실행 중인 프로그램과 데이터를 담고, 디스크는 당장 쓰지 않는 자료를 더 큰 규모로 보관한다.4 위로 갈수록 빠르고 작으며, 아래로 갈수록 느리고 큰 계층으로 이해할 수 있다.

자주 쓰거나 곧 쓸 가능성이 있는 데이터를 빠른 층에 두면 CPU가 느린 저장 장치를 기다리는 시간을 줄일 수 있다. 이 계층은 속도와 용량을 동시에 무한히 키울 수 없다는 제약에 대한 절충이다.5

3. 수능에서는 이렇게 나온다

명령 처리 그림에서는 단계 이름보다 정보의 위치 변화를 추적한다. 명령이 어디에 저장되어 있었는지, CPU의 어느 부분이 해석·연산하는지, 결과가 레지스터와 메모리 중 어디로 가는지를 화살표마다 표시한다.

메모리 계층 문제에서는 ‘빠름·작음·CPU와 가까움’과 ‘느림·큼·장기 보관’을 같은 축의 반대 방향으로 정리한다. 선지가 캐시와 디스크의 역할을 바꾸거나, 프로그램 명령이 CPU 안에 영구 저장된다고 하는지 확인한다.

4. 헷갈리기 쉬운 것들

요소 핵심 역할 구별할 점
메모리 명령과 데이터 저장 연산을 직접 수행하는 CPU와 다름
제어 장치 명령 해석·처리 흐름 조정 산술 결과를 계산하는 ALU와 다름
ALU 산술·논리 연산 프로그램 전체를 보관하지 않음
레지스터 현재 값·중간 결과의 초고속 임시 저장 메인 메모리보다 작고 CPU 내부에 가까움
캐시 곧 쓸 가능성이 높은 값의 빠른 사본 디스크처럼 장기 보관하는 층이 아님

5. 관련 개념

각주

  1. 프로그램은 컴퓨터가 수행할 작은 명령들의 집합이고, 실행하려면 그 명령이 메모리에 올라와야 한다.

  2. 레지스터는 CPU가 계산에 즉시 사용할 값에 접근하도록 돕는 가장 작고 빠른 저장 공간이다.

  3. Fetch·Decode·Execute·Memory·Write-Back은 명령의 이동과 처리를 분해한 설명 모형이다.

  4. 레지스터→캐시→메인 메모리→디스크 순으로 속도는 낮아지고 일반적인 저장 규모는 커진다.

  5. 캐시에 무엇을 둘지는 CPU가 가까운 미래에 사용할 가능성과 관련된다.

출제 이력 18회

이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.

  1. 26학년도 9월 모평독서
    지문 내 문항
    • 142
    • 152
    • 162
    • 173
  2. 23학년도 9월 모평독서
    지문 내 문항
    • 142
    • 152
    • 163
    • 172
  3. 21학년도 6월 모평독서
    지문 내 문항
    • 252
    • 262
    • 272
    • 283
  4. 18학년도 6월 모평독서
    지문 내 문항
    • 302
    • 313
    • 322
    • 332
    • 342
  5. 18학년도 수능독서
    지문 내 문항
    • 382
    • 392
    • 402
    • 413
    • 422
  6. 17학년도 6월 모평독서
    지문 내 문항
    • 162
    • 172
    • 182
    • 193
  7. 16학년도 6월 모평 A형독서
    지문 내 문항
    • 162
    • 172
    • 183
  8. 16학년도 9월 모평 A형독서
    지문 내 문항
    • 162
    • 172
    • 183
  9. 15학년도 9월 모평 A형독서
    지문 내 문항
    • 192
    • 202
    • 213
  10. 15학년도 수능 A형독서
    지문 내 문항
    • 202
    • 212
    • 223
  11. 14학년도 6월 모평 B형독서
    지문 내 문항
    • 212
    • 222
    • 233
  12. 14학년도 6월 모평 A형독서
    지문 내 문항
    • 192
    • 202
    • 213
  13. 14학년도 9월 모평 A형독서
    지문 내 문항
    • 222
    • 232
    • 242
    • 252
  14. 13학년도 6월 모평독서
    지문 내 문항
    • 192
  15. 13학년도 6월 모평독서
    지문 내 문항
    • 442
    • 463
  16. 13학년도 9월 모평독서
    지문 내 문항
    • 312
    • 322
    • 332
    • 342
  17. 12학년도 9월 모평독서
    지문 내 문항
    • 472
    • 482
    • 492
    • 502
  18. 11학년도 수능독서
    지문 내 문항
    • 252
    • 263

이 문서를 가리키는 문서

잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.

다음 단계

이 개념, 실제 지문에서 훈련하기

수능특강·기출 지문 해설로 개념이 문항에서 어떻게 쓰이는지 직접 확인해보세요.

학습 자료 보러가기