폰 노이만 구조 vs 하버드 구조

devdo·2021년 12월 12일
2

컴퓨터구조

목록 보기
1/2

폰노이만 구조

그 이전의 컴퓨터들은 스위치를 설치하고 전선을 연결하여 데이터를 전송하고 신호를 처리하는 식으로 프로그래밍을 하였습니다.

폰 노이만 구조는 현재와 같은 CPU, 메모리, 프로그램 구조를 갖는 범용 컴퓨터 구조의 확립입니다. 이후에 나온 컴퓨터는 모두 폰 노이만의 설계를 기본 구조로 디자인되고 있습니다.

인텔의 x86 아키텍쳐 구조가 대표적입니다.

  • 산술 논리 장치와 프로세서 레지스터를 포함하는 처리 장치
  • 명령 레지스터와 프로그램 카운터를 포함하는 컨트롤 유닛
  • 데이터와 명령어를 저장하는 메모리
  • 외부 대용량 스토리지
  • 입출력 매커니즘

가장 중요한 것은 이것입니다.

모든 프로그램은 메모리에 올려놓아서(Load) 실행된다.

그 이전 시대 컴퓨터는 하드웨어(전선)를 재배치해야만 소프트웨어(프로그램)를 교체할 수 있었습니다. 하지만 하면 폰노이만 구조를 도입하면서 컴퓨터 프로그램 범용성이 크게 향상된다는 것입니다. 프로그램을 교체하는 것으로 모든 일이 끝나닌깐요.

하지만 단점은,
고전력,
병목현상입니다.

메모리의 값을 읽고 쓰는 구조이기 때문에 기억장치에 병목현상이 생길 수 밖에 없습니다. 이를 해결하고자 나타난 기술에는 메모리 계층 구조나 NUMA, DMA 등이 있습니다.

그리고 데이터메모리와 프로그램 메모리가 구분되지 않아 하나의 버스(Bus)를 가지고 있는 구조입니다.

이런 병목현상을 해결하기 위해 나온 구조가 하버드 구조입니다.



하버드 구조

본래 명령용 버스와 데이터용 버스로 물리적으로 분할한 컴퓨터 아키텍처를 나타내는 용어입니다.

ARM 프로세서가 대표적인 예입니다.


장점

RISC 명령어 체계입니다.
그래서, 저전력

폰노이만 구조에서는 CPU가 명령어와 데이터에 동시에 접근이 불가능해서 한번에 하나씩 처리할 수 없었던 반면에, 하버드 아키텍처의 컴퓨터에서는 명령을 메모리로부터 읽는 것과 데이터를 메모리로부터 읽는 것을 동시에 할 수 있습니다. 따라서 현재 명령의 처리를 끝냄가 동시에 다음 명령을 읽어 들일 수 있어서 더 빠른 속도를 낼 수 있습니다.


단점

그렇지만 이러한 처리 속도를 높이려면 보다 많은 전기 회로가 필요합니다. 두개의 버스와 메모리를 가지게 되므로 CPU코어에서 공간을 많이 차지합니다.



현대 구조

현대에 이르러서는 폰노이만 + 하버드 구조를 합친형태로 가고 있습니다.

CPU의 외부적으로는 폰 노이만 구조를, 내부적으로는 하버드 구조를 적용하여 속도를 향상시킨 것이죠.

그러나 이것 또한 폰노이만 구조를 기반으로 만들어진 것이기 때문에, 병목현상만 어느 정도 해결할 뿐 메모리 속의 프로그램을 순차적으로 실행하는 근본적인 구조 자체는 변하지 않았습니다.

profile
배운 것을 기록합니다.

0개의 댓글