컴퓨터 아키텍처에는 여러 가지 종류가 있습니다.
컴퓨터 아키텍처를 분류하는 한 가지 방법은 클럭 당 실행되는 명령 수입니다. 많은 컴퓨팅 기계는 한 번에 하나 개의 명령을 읽고 실행 (또는 그들이 행동에 많은 노력을 하는 것처럼그들은 내부적으로 공상 슈퍼 스칼라와 비 순차적 인 일을하더라도 그렇게합니다). 나는 그런 기계를 "von Neumann"기계라고 부릅니다. 왜냐하면 그들 모두는 von Neumann 병목 현상이 있기 때문입니다. 이러한 시스템에는 CISC, RISC, MISC, TTA 및 DSP 아키텍처가 포함됩니다. 이러한 기계에는 누산기 기계, 레지스터 기계 및 스택 기계가 포함됩니다. 다른 기계는 한 번에 여러 명령 (VLIW, 수퍼 스칼라)을 읽고 실행하는데,이 명령은 클럭 당 1 개의 명령 한계를 위반하지만 여전히 시계 당 약간 더 많은 명령에서 폰 노이만 병목 현상을 일으 킵니다. 다른 시스템은 전원을 켤 때 모든 작업을 사전로드 한 후 추가 지침없이 데이터를 처리하기 때문에 폰 노이만 병목 현상에 의해 제한되지 않습니다. 이러한 Von-Neumann 머신에는 데이터 흐름 아키텍처,
컴퓨터 아키텍처를 분류하는 다른 방법은 CPU와 메모리 간의 연결입니다. 일부 컴퓨터에는 단일 주소가 메모리의 단일 위치에 해당하는 통합 메모리가 있으며 해당 메모리가 RAM 인 경우 해당 주소를 사용하여 데이터를 읽고 쓰거나 프로그램 카운터에로드하여 코드를 실행할 수 있습니다. 이 기계들을 프린스턴 기계라고 부릅니다. 다른 컴퓨터에는 몇 개의 개별 메모리 공간이 있으므로 프로그램 카운터는 어떤 주소로로드 되더라도 항상 "프로그램 메모리"를 참조하고 일반 읽기 및 쓰기는 항상 "데이터 메모리"로 이동합니다. 데이터 어드레스의 비트가 프로그램 메모리 어드레스의 비트와 동일 할 때에도 정보. 그 기계는 "순수한 하버드"또는 "
소수의 사람들은 하버드 머신을 포함하지 않는 "von Neumann 머신"의 좁은 정의를 사용합니다. 당신이 그 사람들 중 하나라면, 하버드와 프린스턴 머신을 포함하고 NON-VON을 제외하고 "폰 노이만 병목 현상이있는 머신"이라는 좀 더 일반적인 개념에 어떤 용어를 사용 하시겠습니까?
대부분의 임베디드 시스템은 하버드 아키텍처를 사용합니다. 몇몇 CPU는 "순수한 하버드 (Harhard)"인데, 이는 아마도 하드웨어에서 구축하기위한 가장 간단한 배열 일 것입니다. 또한 일부 수정 된 하버드 머신은 프로그램 메모리에 상수를 넣습니다.이 상수는 특수한 "프로그램 메모리에서 상수 데이터 읽기"명령어 ( "데이터 메모리에서 읽기"명령어와는 다름)로 읽을 수 있습니다. 위 종류의 하버드 머신에서 실행되는 소프트웨어는 프로그램 메모리를 변경할 수 없으며, 이는 실제로 해당 소프트웨어에 대한 ROM입니다. 일부 임베디드 시스템은 일반적으로 플래시 메모리의 프로그램 메모리와 특수한 "플래시 메모리 지우기 블록"을 사용하여 "자가 프로그래밍 가능" 명령 및 "프로그램 메모리에서 데이터 읽기"명령 외에 특수 "플래시 메모리 블록 쓰기"명령 (일반 "데이터 메모리에 쓰기"명령과 다름). 보다 최근의 몇 가지 Microchip PICmicro 및 Atmel AVR은 자체 프로그래밍 가능한 수정 된 하버드 머신입니다.
CPU를 분류하는 또 다른 방법은 시계입니다. 대부분의 컴퓨터는 동기식이며 단일 글로벌 시계가 있습니다. 한 번에 지구상에서 가장 빠른 슈퍼 컴퓨터였던 ILLIAC I 및 ILLIAC II를 포함하여 일부 CPU는 비동기식입니다 (클럭이 없음).
http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture 에서 모든 종류의 컴퓨터 아키텍처에 대한 설명을 개선하십시오
.