Santos의 개발블로그

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

CS(Computer science)/컴퓨터 구조&운영체제

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

Santos 2020. 1. 11. 10:47

폰 노이만 구조

- 폰 노이만이 고안한 내장 메모리 순차처리 방식이다. 

- 데이터 메모리와 프로그램 메모리가 구분되어 있지 않아 하나의 버스를 가지고 있는 구조를 말한다. 

- CPU는 메모리로부터 명령을 읽고, 메모리로부터 데이터를 데이터를 읽고 쓰기도 하는데, 명령과 데이터는 같은 신호 버스와 메모리를 사용하기 때문에 동시에 접근하는 것은 불가능하다. 

- 폰 노이만 구조는 소프트웨어(프로그램)만 교체하면 되기 때문에, 그 이전의 컴퓨터들보다 범용성이 크게 향상된다. 

- CPU, 메모리, 프로그램 구조를 갖는 프로그램 내장방식 컴퓨터 아이디어를 처음 제시하였고, 그 이후에 나온 컴퓨터는 대부분 폰 노이만의 설계를 기본 구조로 한다. 


폰 노이만 구조의 단점 - 병목현상 

- 기억장소의 지연현상을 일컫는데, 나열된 명령을 순차적으로 수행하고, 그 명령은 일정한 기억장소의 값을 변경하는 작업으로 구성되는 폰 노이만 구조에서 병목현상은 나타날 수 밖에 없다.

- 메모리의 값을 읽고 쓰는 구조이기 때문에 명령과 데이터를 접근할때 병목현상이 생길 수 밖에 없다. 

- 이러한 문제를 완화하기 위해 하버드 구조가 나타나게 되었다.


하버드 구조

- 폰 노이만 구조와 가장 큰 다른점은 명령용 버스와 데이터용 버스가 물리적으로 분할되어 있다는 점이다. 

- 하버드 구조에서는 명령을 메모리로부터 읽는 것과 데이터를 메모리로부터 읽는 것을 동시에 할 수 있다. 

- 폰 노이만 구조에서 생기는 병목현상이 적어 명령의 처리를 끝내자마자 다음의 명령을 읽어들일 수 있기 때문에 더 빠른 속도를 낼 수 있다. 

- 하지만 이러한 처리 속도를 높이려면 많은 전기 회로가 필요하다는 것이 단점이다. 

- 이러한 문제를 완화하기 위해 수정된 하버드 구조가 도입되었다. 


수정된 하버드 구조

- 하버드 구조에서 사용했던 통합 캐시 메모리를 분리하여 하나의 클록 사이클에서 적재(Load)와 저장(Store) 명령어를 동시에 실행할 수 있도록 해준다.

- 캐시 메모리 장치는 명령용과 데이터용으로 구분되어 있다.

- 하버드 구조를 캐시메모리 장치의 적용하였고, 폰 노이만 구조를 CPU 외부(주 메모리)에 적용하였다. 

- 성능이 좋은 CPU 설계에서는 수정된 하버드 구조를 도입하고 있다. 


<참고자료>

 

https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4tN

 

<Computer structures> chapter 10,  Von Neumann architecture end>


'CS(Computer science) > 컴퓨터 구조&운영체제' 카테고리의 다른 글

파이프라이닝  (0) 2020.01.11
중앙처리장치(CPU)  (0) 2020.01.11
인터럽트  (0) 2020.01.06
Context Switch  (0) 2020.01.06
스레드  (0) 2020.01.06
Comments