메모리를 분리한 폰노이만 개선 구조, 하버드 아키텍처

    폰노이만(Von Neumann Architecture) 아키텍처와 하버드 아키텍처(Harvard Architecture)를 처음 공부하였을 땐, 현재의 모든 컴퓨터 구조는 하버드 아키텍처로 이루어져 있는 줄 알았다. 왜냐하면 폰노이만은 1940년대에 등장한 개념이기 때문에 현재까지 그 구조를 이어가고 있다는 것은 꿈에도 생각치 못했기 떄문이다.


    이러다보니, 당연히 모든 컴퓨터는 메모리 구조가 분리가 되어 있을거라 여겼는데 이는 나의 심각한 착오였다. 아직까지 대다수의 컴퓨터는 폰노이만 구조를 그대로 사용하고 있으며 일부 컴퓨터만 하버드를 채용한 정도에 불과하였다.


    즉, 완벽히 하버드 아키텍처 구조를 따르는 것은 극 소수에 불과하고 아직도 폰노이만 구조를 바탕으로 둔 후 일부만 하버드 아키텍처를 활용하고 있는 것이다. 


    Harvard Mark I


    하버드 아키텍처는 우리가 알고 있는 전 세계에서 가장 유명한 대학인 하버드 대학에서 나온 유래가 맞다. 하버드 대학교에서 만든 하버드 마크 I(Harvard Mark I)라는 릴레이 컴퓨터에서 나온 것으로 천공 테이프를 활용한 컴퓨터이다.


    메모리 속박 문제를 해결하는 분리구조, 하버드 아키텍처

    하버드 아키텍처 개념

    - 폰 노이만의 메모리 접근 병목현상을 개선하기 위해, 명령어와 데이터 메모리가 분리되어 병렬적으로 작업이 처리되도록 구현한 컴퓨터 아키텍쳐



    하버드 아키텍처의 특징

    병목현상 완화

    - 명령어와 데이터를 분리하여, 메모리 병목현상을 완화함


    CPU 효율적 활용

    - 파이프라이닝 기술을 사용할 수 있는 환경을 제공하여, CPU를 효율적으로 활용



    폰노이만 구조와 하버드 구조의 비교


    1) 구성도 비교


    2) 구조적 특징 비교

    노이만 아키텍쳐

    하버드 아키텍쳐

    - 메모리에서 명령어를 Fetch(메모리) è Decode(cu) è Execute(ALU) è Store(메모리) 하는 구조

    - 데이터와 명령어가 메모리 및 버스를 공용으로 사용하여 파이프라인 사용시 문제발생

    - 파이프라인 구현을 위해 메모리를 분리

    - 명령어는 Instruction Memory 저장

    - 데이터는 Data Memory 분리해서 저장

    - 동시에 명령어 해석(Execute) 저장(Store) 가능한 구조



    3) 기능적 특징 비교

    구분

    노이만 아키텍쳐

    하버드 아키텍쳐

    목적

    CPU 한번에 단일 명령어 실행가능

    병렬처리를 위해 메모리를 분리

    메모리

    하나의 메모리 공유

    명령어, 데이터 메모리 분리

    프로

    세스

    메모리 è FI è 메모리 è DI è 메모리 è EI è Store(메모리)

    순차적으로 수행됨

    명령어 메모리 è FI

    Store è 데이터 메모리

    동시에 명령어와 데이터 처리가능

    장점

    공용 메모리 사용으로 상대적 구현 비용 저렴

    파이프라이닝 기술을 사용을 위한 환경 제공

    단점

    파이프라이닝 기술 사용시 메모리 공유문제 발생(제어 헤저드 발생)

    별도 메모리 사용으로 비용 증가

    회로 구조가 복잡

    적용사례

    일반적인 범용 CPU

    Microchip Technology PIC

    Atmel AVR

    현재 범용CPU(Intel 펜티엄 이후)



    참고자료


    연관자료


    댓글

    Designed by JB FACTORY