내 컴퓨터가 하버드 또는 폰 노이만 아키텍처인지 어떻게 알 수 있습니까?


12

두 아키텍처의 차이점은 하버드 아키텍처의 데이터와 명령어를 분리하는 것입니다. 그러나 어떤 유형의 시스템을 사용 중인지 어떻게 알 수 있습니까? 프로그램이 시스템이 폰 노이만인지 하버드인지를 결정하도록 프로그램을 작성할 수 있습니까? 다른 아키텍처가 있거나 이러한 아키텍처가 유일하게 알려진 아키텍처 일 수 있습니까?


3
하버드 아키텍처의 현대적인 사용 . 일반적으로 사용되는 다른 모든 것은 Von Neumann입니다.
Robert Harvey

1
현대 시스템도 폰-노우 만은 아닙니다. GPU와 다른 모든 것들에 대해 생각하기 :)
johannes

1
다른 아키텍처 유형이 있습니다. 데이터 흐름 아키텍처 는 내가 가장 좋아하는 것입니다. 그러나 당신은 야생에서 그것을 볼 것 같지 않습니다.
Martin York

1
실제로 실제로 저수준을 수행하지 않는 한 왜 차이점을 알아야하는지 잘 모르겠습니다 (자기 수정 코드를 작성하고 있습니까?). 대부분의 최신 컴퓨터는 폰 노이만 (Von-Neumann)이지만 OS는 일반적으로 코드 페이지를 데이터 페이지와 다르게 표시하여 코드의 우연한 (악의적 인) 수정을 방지합니다.
Martin York

답변:


13

컴퓨터는 폰 노이만 기계입니다. 모든 범용 컴퓨터가 있습니다. 유일한 예외는 GPU와 같은 특수 보조 프로세서입니다. 그것은 당신이하는 것이 아니다 없습니다 하버드 기계 (또는 다른 아키텍처)를 가지고있다. 그것은 아무도 판매하지 않는 것입니다 (물론 모듈로 보조 프로세서).


3
이것은 반드시 정의에 달려 있습니다. 다소 쓸모없는 이분법을 삼분법으로 대체하는 경우 가장 일반적인 범용 컴퓨터는 Modified Harvard Architecture입니다.
maaartinus

3
많은 임베디드 마이크로 컨트롤러는 하버드 아키텍처를 사용합니다. 그들은 일반적으로 어떤 종류 또는 ROM 또는 플래시 메모리에서 코드를 실행하며 코드 및 데이터에 공통 버스를 사용하면 거의 얻을 수 없습니다.
supercat

6

최신 범용 CPU는 Modified Harvard Architecture를 사용 합니다. CPU 코어는 별도의 L1 캐시에서 독립적으로 프로그램 및 데이터에 액세스 할 수 있습니다. 외부에는 별도의 프로그램 및 데이터 메모리가 없습니다 (다른 캐시 레벨도 분리되지 않음).

다른 아키텍처가 있거나 이러한 아키텍처가 유일하게 알려진 아키텍처 일 수 있습니까?

다른 모든 아키텍처는 사용이 제한되어 있습니다. 프로세서 개발과 관련된 매우 복잡한 비용으로 인해 아무도 다시 시도하지 않을 것이라고 생각합니다.

그러나 최신 CPU는 기본적으로 폰 노이만이지만 Dataflow Architecture 와 같은 많은 아이디어를 내부적으로 통합합니다 .


4

Von Neumann 및 Harvard 아키텍처는 모두 제어 흐름 패러다임에 속합니다.

데이터 흐름 이라는 또 다른 패러다임이 있습니다 .

데이터 흐름 컴퓨팅의 일반적인 예는 제어 흐름 컴퓨터에서 구현되었지만 스프레드 시트 (Visicalc 및 Multiplan에서 Excel로)입니다.

신경망 도이 범주에 속합니다.

FPGA 는 데이터 흐름 아키텍처의 또 다른 예입니다. VHDL 과 같은 하드웨어 설명 언어로 프로그래밍됩니다 .


3

Harvard Architecture는 일반적으로 프로그램이 온보드 eeprom 메모리에 저장되는 내장 마이크로 프로세서에만 사용됩니다. 아두 이노 에서 사용되는 Atmel AVR


1

프로그래밍 할 때 : 메모리 영역을 수정 한 다음 점프하여 실행하십시오.

그것이 Havard라면 당신은 그것을 할 수 없습니다.


또는 W ^ X 메모리 관리자가있는 Von Neumann 시스템 일 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.