ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 폰노이만 구조 하버드 구조
    컴퓨터지식/컴퓨터구조 2024. 2. 6. 18:03

    폰노이만 구조 배경

    폰노이만구조 구조가 등장하기 이전의 컴퓨터들은 스위치를 설치하고 전선을 연결하여 데이터를 전송하고 신호를 처리하는 식으로 프로그래밍을 하였다.

    만약 다른 연산을 수행하고 싶다면, 배선을 다 들어내고 직접 전선의 위치를 바꿔가며 프로그래밍을 수행했어야했다.

     

    최초의 범용 전자 컴퓨터 애니악은 실제 미국에서 탄도 계산을 위해 설계되었는데, 스위치를 만들고 전선을 하나하나 연결을해서 만들다보니 무게가 30톤정도가 되었다고한다. 30톤짜리 계산기인것이다.....

     

    1944년 모클리와 에커트는 최초의 범용 전자 컴퓨터 애니악을 개발하면서 스위치 설치와 전선 연결 방식의 큰 단점을 깨닫고 이를 메모로 남겼으며, 폰 노이먼은 애니악 프로젝트 막판에 자문위원으로 참여한 인물로, 실제 폰노이만 구조가 처음 소개된 것은 애니악의 후속버전인 애드박 개발과정에서 작성한 보고서를 통해서 세상에 처음 소개되었다.

     

    폰 노이만 구조는 CPU, 메모리, 프로그램 이 세가지 구성요소로 이루어져있으며, Stroed-program의 개념이 도입되었다. 

    미리 연산 수행에 관련된 명령어를 저장해놓고 이를 가져와 연산을 수행하는 방식으로 하드웨어적으로 전선을 재배치할 필요 없이 소프트웨어만 교체하여 다른 프로그램 실행이 가능해졌다.

     

    이후에 나온 모든 컴퓨터는 현재까지도 모두 폰 노이만의 설계를 기본으로 제작되었으며, 인텔의 x86 아키텍쳐 구조가 대표적이다.

     

    컴퓨터 아키텍처의 종류

    폰 노이만 구조

    • 발전배경: 프로그램은 instrucction의 조합이고 instruction은 바이너리 코드로 구현되었으니 메모리에 프로그램과 데이터를 저장가능하다는 아이디어로 시작 
    • 하나의 메모리에 명령어와 데이터를 모두 저장하는 방식
    • 장점
      • Stored program computer 를 제시하여 H/W적인 전선재배치 없이 S/W 교체만으로 범용성 증가
    Stored program compute 이란?
    컴퓨터의 기억장치에 데이터와 프로그램을 같이 저장했다가 프로그램 명령어에 따라 작업을 자동으로 처리하는 방식
    • 단점
      • CPU가 명령어와 데이터에 동시 접근 불가능하여 병목현상 발생 -> 하버드구조로 해결
      • 메모리에 값을 읽고 쓰는 방식이라 기억장치 병목현상 발생 -> 메모리계층구조 및 DMA로 해결

    하버드 구조

    • 발전배경: 폰 노이만 구조에서 하나의 공유메모리를 사용하여 병목현상이 발생하는 점에서 병목해결을 위한 아이디어 시작
    • 데이터 메모리와 프로그램 메모리를 분리시켜 저장하는 방식
    • 장점
      • 메모리를 분리시켜 폰 노이만 구조에서의 병목현상 해결
    • 단점
      • 구현을 위해 더 많은 전기회로가 필요하며, 2개의 버스와 메모리를 가지기 때문에 CPU 코어에 많은 공간을 차지함

     

    특징 비교

    항목 폰 노이만 구조 하버드 구조
    특징 하나의 메모리에 명령어와 데이터를 모두 저장 데이터 메모리와 프로그램 메모리를 분리
    버스 1개 (데이터, 프로그램 공용) 2개 
    메모리 공유메모리 데이터 메모리, 프로그램 메모리 분리
    병렬처리 병목현상 발생 (구조적 Hazard) 병목현상 해결 (구조적 Hazard 제거)
    장점 stored program 제시 파이프라인 기술 제시
    단점 해킹에 우려 구현 비용 증가
    응용 인텔 x86 소형 임베디드 ARM

     

    현대에서의 방식

    CPU의 외부적으로는 폰 노이만 구조와 내부적으로는 하버드 구조를 적용하여 활용

Designed by Tistory.