티스토리 뷰

Von Neumann architecture
컴퓨터 아키텍쳐의 한 종류로서 데이터는 메모리에서 읽거나 메모리에 쓰기도 하는 반면, 명령어는 메모리에서 읽기만 하는 구조를 말한다. 이를 처음 고안한 폰 노이만의 이름을 따서 폰 노이만 아키텍쳐라고 부르며 현대 컴퓨터는 거의 대부분 이 방식을 따른다.

특징
1. 프로세서에게 메모리 특정 지점부터 실행하도록 지시할 수 있다. 이 때 데이터와 명령어 사이에 뚜렷한 구분이 없어서 주어진 내용을 무조건 실행한다.
2. 데이터 자체에 고유 의미가 없다. 즉, 이를 해석하는 프로그램에 의해 의미가 달라진다.
3. 데이터와 명령어는 메모리를 공유한다. 특정 프로그램에서 명령어인 내용은 다른 프로그램에서 데이터일 수 있다.

Harvard architecture
하바드 아키텍쳐는 명령어와 데이터 통로를 저장공간과 물리적으로 분리한 컴퓨터 아키텍쳐를 말한다. 이 용어는 릴레이를 기반으로한 하바드 마크1이란 초기 컴퓨터에서 나온 것이다. 마크1는 명령어를 펀치 테이프에 데이터를 relay latche에 저장한다.
폰 노이만 아키텍쳐와 다르게 CPU는 메모리로 부터 명령어를 읽거나 데이터를 읽기/쓰기가 동시에 가능하다. 그러나 명령어와 데이터가 같은 신호 통로와 메모리를 동시에 사용하지 않는다.

특징
1. 하바드 아키텍쳐 컴퓨터에서는 CPU는 메모리로부터 명령어와 데이터를 동시에 사용할 수 있다.
2. 현재 명령을 마치는 것과 동시에 다음 명령을 가져올 수 있기 때문에 속도가 더 빠를 수 있다.




- What is the difference between a von Neumann architecture and a Harvard architecture?

A Harvard architecture has separate data and instruction busses, allowing transfers to be performed simultaneously on both busses. A von Neumann architecture has only one bus which is used for both data transfers and instruction fetches, and therefore data transfers and instruction fetches must be scheduled - they can not be performed at the same time.

It is possible, and sometimes done, to have two separate memory systems for a Harvard architecture. As long as data and instructions can be fed in at the same time, then it doesn't matter whether it comes from a cache or memory. But there are problems with this. Compilers generally embed data (literal pools) within the code, and it is often also necessary to be able to write to the instruction memory space, for example in the case of self modifying code, or, if an ARM debugger is used, to set software breakpoints in memory. If there are two completely separate, isolated memory systems, this is not possible. There must be some kind of bridge between the memory systems to allow this.

Using a simple, unified memory system together with a Harvard architecture is highly inefficient. Unless it is possible to feed data into both busses at the same time, it might be better to keep the design simple and stick to von Neumann architecture.

댓글
안내
궁금한 점을 댓글로 남겨주시면 답변해 드립니다.