Hay muchos tipos diferentes de arquitecturas informáticas.
Una forma de clasificar las arquitecturas informáticas es por el número de instrucciones que se ejecutan por reloj. Muchas máquinas de computación leen una instrucción cada vez y la ejecutan (o ponen mucho esfuerzo en actuar como si lo hacen, aunque internamente hagan cosas superescalares y fuera de orden). Llamo a estas máquinas "von Neumann", porque todas ellas tienen un cuello de botella von Neumann. Estas máquinas incluyen las arquitecturas CISC, RISC, MISC, TTA y DSP. Estas máquinas incluyen las máquinas de acumuladores, las máquinas de registros y las máquinas de pila. Otras máquinas leen y ejecutan varias instrucciones a la vez (VLIW, superescalares), lo que rompe el límite de una instrucción por reloj, pero siguen alcanzando el cuello de botella de von Neumann con un número ligeramente mayor de instrucciones por reloj. Sin embargo, otras máquinas no están limitadas por el cuello de botella de von Neumann, porque precargan todas sus operaciones una vez al encenderse y luego procesan los datos sin más instrucciones. Entre estas máquinas no von Neumann se encuentran las arquitecturas de flujo de datos, como las arquitecturas sistólicas y los autómatas celulares, a menudo implementados con FPGAs, y el superordenador NON-VON.
Otra forma de clasificar las arquitecturas informáticas es por la conexión o conexiones entre la CPU y la memoria. Algunas máquinas tienen una memoria unificada, de forma que una única dirección corresponde a un único lugar en la memoria, y cuando esa memoria es RAM, se puede utilizar esa dirección para leer y escribir datos, o cargar esa dirección en el contador de programa para ejecutar código. A estas máquinas las llamo máquinas Princeton. Otras máquinas tienen varios espacios de memoria separados, de forma que el contador de programa siempre se refiere a la "memoria de programa", independientemente de la dirección que se cargue en él, y las lecturas y escrituras normales siempre van a la "memoria de datos", que es una ubicación separada que normalmente contiene información diferente, incluso cuando los bits de la dirección de datos resultan ser idénticos a los bits de la dirección de la memoria de programa. Estas máquinas son "Harvard puras" o "Harvard modificadas". La mayoría de los DSP tienen 3 áreas de memoria separadas: la ram X, la ram Y y la memoria de programa. Las máquinas DSP, Princeton y Harvard de 2 memorias son tres tipos diferentes de máquinas von Neumann. Unas pocas máquinas aprovechan la conexión extremadamente amplia entre memoria y cálculo que es posible cuando ambas están en el mismo chip -- ram computacional o iRAM o CAM RAM -- que puede verse como un tipo de máquina no von Neumann.
Algunas personas utilizan una definición restringida de "máquina de von Neumann" que no incluye las máquinas de Harvard. Si usted es una de esas personas, entonces ¿qué término utilizaría para el concepto más general de "una máquina que tiene un cuello de botella von Neumann", que incluye tanto las máquinas de Harvard como las de Princeton, y excluye las NON-VON?
La mayoría de los sistemas embebidos utilizan la arquitectura Harvard. Unas pocas CPU son "Harvard puras", que es quizá la disposición más sencilla de construir en hardware: el bus de direcciones a la memoria de programa de sólo lectura está conectado exclusivamente al contador de programa, como muchos de los primeros PICmicros de Microchip. Algunas máquinas Harvard modificadas, además, también ponen constantes en la memoria de programa, que se pueden leer con una instrucción especial "leer datos constantes de la memoria de programa" (diferente de la instrucción "leer de la memoria de datos"). El software que se ejecuta en los tipos de máquinas Harvard anteriores no puede cambiar la memoria de programa, que es efectivamente ROM para ese software. Algunos sistemas embebidos son "autoprogramables", normalmente con memoria de programa en memoria flash y una instrucción especial "borrar bloque de memoria flash" y una instrucción especial "escribir bloque de memoria flash" (diferente de la instrucción normal "escribir en memoria de datos"), además de la instrucción "leer datos de la memoria de programa". Varios Microchip PICmicros y Atmel AVR más recientes son máquinas Harvard modificadas autoprogramables.
Otra forma de clasificar las CPU es por su reloj. La mayoría de los ordenadores son síncronos, es decir, tienen un único reloj global. Algunas CPU son asíncronas (no tienen reloj), como el ILLIAC I y el ILLIAC II, que en su momento fueron los superordenadores más rápidos del mundo.
Ayude a mejorar la descripción de todo tipo de arquitecturas informáticas en http://en.wikibooks.org/wiki/Microprocessor_Design/Computer_Architecture .