Existem muitos tipos diferentes de arquiteturas de computadores.
Uma maneira de categorizar arquiteturas de computadores é pelo número de instruções executadas por relógio. Muitas máquinas de computação leem uma instrução de cada vez e a executam (ou se esforçam muito para agir como seeles fazem isso, mesmo que internamente gostem de coisas superescalares e fora de ordem). Eu chamo essas máquinas de "von Neumann", porque todas elas têm um gargalo de von Neumann. Essas máquinas incluem arquiteturas CISC, RISC, MISC, TTA e DSP. Essas máquinas incluem máquinas acumuladoras, registradoras e empilhadoras. Outras máquinas leem e executam várias instruções por vez (VLIW, superescalar), que quebram o limite de uma instrução por relógio, mas ainda atingem o gargalo de von Neumann em um número um pouco maior de instruções por relógio. No entanto, outras máquinas não são limitadas pelo gargalo de von Neumann, porque pré-carregam todas as suas operações uma vez na inicialização e depois processam os dados sem mais instruções. Essas máquinas não-Von-Neumann incluem arquiteturas de fluxo de dados,
Outra maneira de categorizar arquiteturas de computadores é pela conexão (ões) entre a CPU e a memória. Algumas máquinas possuem uma memória unificada, de modo que um único endereço corresponde a um único local na memória e, quando essa memória é RAM, é possível usá-lo para ler e gravar dados ou carregar esse endereço no contador do programa para executar o código. Eu chamo essas máquinas de máquinas de Princeton. Outras máquinas possuem vários espaços de memória separados, de modo que o contador de programa sempre se refere à "memória de programa", independentemente do endereço carregado, e as leituras e gravações normais sempre vão para "memória de dados", que é um local separado, geralmente contendo diferentes informações mesmo quando os bits do endereço de dados são idênticos aos bits do endereço de memória do programa. Essas máquinas são "Harvard pura" ou "
Algumas pessoas usam uma definição restrita de "máquina de von Neumann" que não inclui as máquinas de Harvard. Se você é uma dessas pessoas, qual termo você usaria para o conceito mais geral de "uma máquina que possui um gargalo de von Neumann", que inclui máquinas de Harvard e Princeton, e exclui a NÃO-VON?
A maioria dos sistemas embarcados usa a arquitetura Harvard. Algumas CPUs são "Harvard puro", que é talvez o arranjo mais simples para a construção de hardware: o barramento de endereço para a memória do programa somente leitura é exclusivamente conectado ao contador do programa, como muitos Microchip PICmicros anteriores. Além disso, algumas máquinas Harvard modificadas também colocam constantes na memória do programa, que pode ser lida com uma instrução especial "ler dados constantes da memória do programa" (diferente da instrução "ler da memória de dados"). O software executado nos tipos acima de máquinas Harvard não pode alterar a memória do programa, que é efetivamente ROM para esse software. Alguns sistemas incorporados são "auto-programáveis", geralmente com memória de programa na memória flash e um "bloco de exclusão da memória flash" especial e uma instrução especial "bloco de gravação da memória flash" (diferente da instrução normal "gravação na memória de dados"), além da instrução "ler dados da memória do programa". Vários Microchip PICmicros e AVRs Atmel mais recentes são máquinas Harvard modificadas e auto-programáveis.
Outra maneira de categorizar as CPUs é pelo relógio. A maioria dos computadores é síncrona - eles têm um único relógio global. Algumas CPUs são assíncronas - elas não têm relógio - incluindo o ILLIAC I e o ILLIAC II, que foram os supercomputadores mais rápidos do mundo.
Ajude a melhorar a descrição de todos os tipos de arquiteturas de computadores em
http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture
.