폰 노이만 구조

siyeon·2024년 9월 19일
post-thumbnail

개요

폰 노이만 구조(Von Neumann architecture)에 대해 설명합니다. 이는 수학자이자 물리학자인 폰 노이만의 "The First Draft of a Report on the EDVAC"(1945)에서 제시되었으며 현대까지 컴퓨터의 기본구조로 채택되고 있습니다.


학습목표

  1. 폰 노이만 구조의 등장배경 알기
  2. 폰 노이만 구조의 구성요소 알기
  3. 폰 노이만 구조 이해하기

가. 폰 노이만 구조의 등장 배경

1. 앨런튜링, 컴퓨터의 이론적 모델 제시

  • 1937년 앨런 튜링이 본인의 ¹논문에서 튜링 기계를 소개하며 컴퓨터의 이론적 모델을 제시한다.

2. 에니악의 등장

  • 세계2차대전까지의 컴퓨터는 특정 목적에서만 사용되었으나 이후 다용도 컴퓨터인 ²에니악이 등장한다. 에니악은 펜실베니아 대학 존 에커트와 존 모클리 교수팀이 1943년부터 개발을 시작하여 1946년에 완성되었다.

  • 에니악은 작업마다 배선을 연결하여 코딩하고 다른 프로그램을 실행하려면 배선판을 바꿔야했다. 폰 노이만은 에니악 개발에 참여하며 작업마다 전기회로를 바꿔야하는 구조적인 문제점을 보완하기 위해 프로그램 내장형 컴퓨터를 구상한다.

3. 폰 노이만 구조

  • 1945년 "The First Draft of a Report on the EDVAC"(1945)에서 프로그램 내장 방식인 폰 노이만 구조가 제시된다. 이후 폰 노이만 구조로 설계된 컴퓨터인 ³에드삭, ⁴에드박이 등장한다.

  • 에드삭은 프로그램 기억방식의 개념을 도입한 최초의 컴퓨터로 에니악과 같은 10진수 체계를 사용했다. 이후 2진수 체계를 사용하는 에드박으로 발전하였다. 에드박은 2진수를 사용하며 컴퓨터의 연산속도를 비약적으로 향상시켰다.

¹논문 : 'On Computable Numbers, with an Application to the Entscheidungsproblem'

²에니악 : ENIAC, Electronic Numerical Integrator, Analyzer and Computer

³에드삭 : EDSAC, Electronic Delay Storage Automatic Computer

⁴에드박 : EDVAC, Electronic Discrete Variable Automatic Computer


나. 폰 노이만 구조의 구성요소

현대의 컴퓨터는 폰 노이만 구조를 가지고 있다. 이는 중앙처리장치(CPU)와 메모리, 프로그램 세 가지의 구성요소로 이루어진 컴퓨터 구조이다.

  • 폰 노이만 구조의 구성요소 : CPU(CU+ALU+Register)+Memory+Program

  • 폰 노이만 구조의 특징 : 프로그램 내장 방식, 내장 메모리 순차처리 방식

종종 폰 노이만 구조가 다섯가지의 구성요소로 이루어져 있다고 하는 글이 있다. 이는 CPU를 제어장치, 산술 및 논리 장치, 레지스터 세 가지로 나눠서 설명하기 때문.


다. 폰 노이만 구조 아키텍처

  • CPU = CU + ALU + Register

  • ALU : 산술 연산(+,- 등) 및 논리연산(AND, OR 등)을 수행

  • Register : 중앙처리장치에서 사용하는 임시기억장치로, 가장 접근 및 처리속도가 빠른 메모리
    모든 데이터는 처리되기 전에 레지스터에 저장된다.

  • Memory Unit = Program Memory + Data Memory
    프로그램 영역 : 실행할 명령어(코드)가 저장되는 공간
    데이터영역 : 프로그램이 실행 중 사용하는 데이터(변수, 상수 등)가 저장되는 공간

  • CPU와 메모리는 서로 분리되어 있으며 둘을 연결하는 ¹버스를 통해 명령어 읽기, 데이터의 읽고 쓰기가 가능하다.

  • 폰 노이만 구조의 핵심적인 명령어 사이클
    ① 메모리로부터 명령어를 가져오는 fetch
    ② 명령어의 의미를 해석하는 decode
    ③ 명령어를 실행하는 execute
    ④ 결과를 저장하는 store

  • 메모리안에 프로그램영역과 데이터영역이 있으나 물리적 구분이 없어 명령어와 데이터가 같은 메모리, 버스를 사용한다. 즉 같은 버스를 통해 CPU가 명령어와 데이터에 동시 접근할 수 없으므로 명령을 순차적으로 하나씩 실행
    \Rarr 병목현상 발생

  • 병목현상(계산 속도가 기억장치 속도에 영향을 받음)
    프로그램 메모리와 데이터 메모리가 물리적 구분없이 하나의 버스를 통해 CPU와 교류하기 때문에 CPU는 명령어와 데이터에 동시에 접근 할 수 없고 하나씩 읽고 쓰기 때문에 데이터를 불러오는 속도(기억장치 속도)가 느리면 전체 시스템의 성능 저하를 야기한다.
    \Rarr 병목현상 해결을 위해 하버드 구조등 다양한 기술 및 구조가 등장하였다.

¹버스 : 컴퓨터의 메인보드 내 프로세서, 메모리, 주변장치들을 서로 연결하여 데이터 전송 연할을 하는 공통의 통로


학습목표 달성 확인하기

  1. 폰 노이만 구조의 등장배경 알기

    폰 노이만 구조를 적용하기 전 컴퓨터(에니악)는 작업이 바뀔 때마다 하드웨어(배선)를 재배치해야했다. 폰 노이만 구조는 하드웨어를 변경할 필요없이 소프트웨어(프로그램)만 교체하여 다양한 작업을 편리하게 수행할 수 있다.

  2. 폰 노이만 구조의 구성요소 알기

    폰 노이만 구조는 중앙처리장치와 메모리, 프로그램으로 구성되어있다.

  3. 폰 노이만 구조 이해하기

    ex) 폰 노이만 구조에서 3+5 연산을 수행하는 과정
    ① 프로그램 로드 : 명령어와 데이터가 메모리에 저장
    ② 명령어 인출 (fetch) : 제어장치는 메모리에서 해당 명령어를 인출
    ③ 명령어 해독 (decode) : 제어장치가 명령어를 해석
    ④ 피연산자 로드 : 데이터(3,5)를 메모리에서 읽어 레지스터에 적재
    ⑤ 연산 수행 (execute) : ALU에서 3과 5를 더함
    ⑥ 결과 저장 (store) : 결과값 8을 레지스터 또는 메모리에 저장
    ⑦ 다음 명령어로 이동 : 다음 명령어가 없는 경우 프로그램 종료


아래링크를 참고하여 작성되었습니다.

컴퓨터구조,폰 노이만(Von Neumann Architecture) 구조
[cs]폰노이만 컴퓨터 구조
컴퓨터 구조 #2 (컴퓨터의 탄생, 폰노이만 구조)
폰 노이만과 프로그램 내장방식
과학학습컨텐츠-EDSAC
과학학습컨텐츠-EDVAC
튜링 기계의 개념과 원리
만화로나누는 자유/오픈소스 소프트웨어 이야기
컴퓨터의 구조는 어떻게 생겼을까? 폰 노이만 구조

이미지출처

작가 tohamina 출처 Freepik
키보드 Png vectors by Lovepik.com
의 PNG 이미지 kor.pngtree.com/
Infrastructure icons created by pojok d - Flaticon

0개의 댓글