2012-03-19 6 views
2

, 그것은 용어의 의미는 진화폰 노이만 구조는, <a href="http://en.wikipedia.org/wiki/Von_Neumann_architecture" rel="nofollow">Von Neumann Architecture</a>에 위키 백과에 기사를 읽고이 여전히 적용

다음은 저장 프로그램 컴퓨터 이있는 명령이 가져 의미라고하고 공통 버스를 공유하기 때문에 같은 시간에 에서 데이터 작업을 수행 할 수 없습니다. 이것은 Von Neumann 병목 현상이라고하며 종종 시스템 성능을 제한합니다.

여기서 폰 노이만 아키텍처 용어는 동일한 버스가 필요하기 때문에 명령어 페치 및 데이터 연산이 동시에 발생할 수 없다는 개념을 나타냅니다.

제 질문은 현대 컴퓨터 시스템에서도 여전히 그렇습니까? 우리는 여전히 하나의 버스 만 가지고 명령어를 가져오고 데이터 연산을 수행합니다 (주로 데이터 읽기/쓰기라고 생각하십니까?).

답변

4

거의 모든 현대 기계가 명령과 데이터를 동시에 가져올 수 있습니다. 이들은 일반적으로 별도의 명령어 및 데이터 캐시를 가지고 있습니다.

그러나 거의 언제나 어느 정도는 캐시를 넘어서 같은 외부 메모리에 명령과 데이터를 모두 배치합니다. 일반적으로 DRAM.

현대의 컴퓨터에는 Harvard (별도의 명령과 데이터, Von Neumann과 경쟁이 매우 큼) 캐시 아키텍처가 있지만 Von Neumann (동일한 메모리의 명령어와 데이터) 메모리 아키텍처라고 할 수 있습니다.

위키피디아 기사의 공유 버스에 대한 언급은 가짜라고 생각합니다. 컴퓨터 아키텍처/프로세서 디자인 분야에서 폰 노이만 (van Nuannann)은 요즘 프로그램 카운터 (PC) 또는 인텔의 말로는 명령어 포인터 (IP) 즉 프로그램을 통한 시퀀서를 의미하는 경향이 있습니다. 한 번에 하나의 명령을 실행합니다. 말하자면, 프로그램 카운터와 같은 개념이없는 데이터 흐름 시스템과는 반대입니다. 그런데 필자가 연구 한 것과 같은 현대의 비 순차 마이크로 프로세서는 내부적으로 마이크로 데이터 플로우 머신이지만 프로그래머에게는 단일 프로그램 카운터가있는 폰 노이만 머신으로 보입니다.