Hay muchos tipos diferentes de arquitecturas de computadora.
Una forma de categorizar las arquitecturas de computadora es por la cantidad de instrucciones ejecutadas por reloj.
Muchas máquinas de computación leen una instrucción a la vez y la ejecutan (o hacen un gran esfuerzo para actuar como si hacen eso, incluso si internamente hacen superscalar de lujo y cosas fuera de orden) .
A estas máquinas las llamo máquinas "von Neumann", porque todas tienen un cuello de botella de von Neumann.
Tales máquinas incluyen arquitecturas CISC, RISC, MISC, TTA y DSP.
Estas máquinas incluyen máquinas acumuladoras, máquinas registradoras y máquinas apiladoras.
Otras máquinas leen y ejecutan varias instrucciones a la vez (VLIW, super-escalar), que rompen el límite de una instrucción por reloj, pero siguen golpeando el cuello de botella de von Neumann en 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, ya que cargan todas sus operaciones una vez en el encendido y luego procesan los datos sin más instrucciones.
Dichas máquinas que no son de Von-Neumann incluyen arquitecturas de flujo de datos, como arquitecturas sistólicas y autómatas celulares, a menudo implementadas con FPGA y la supercomputadora NON-VON.
Otra forma de categorizar las arquitecturas de la computadora es a través de las conexiones entre la CPU y la memoria.
Algunas máquinas tienen una memoria unificada, de modo que una sola dirección corresponde a un solo lugar en la memoria, y cuando esa memoria es RAM, se puede usar esa dirección para leer y escribir datos, o cargar esa dirección en el contador del programa para ejecutar el código. A estas máquinas las llamo máquinas de princeton.
Otras máquinas tienen varios espacios de memoria separados, de modo que el contador del programa siempre hace referencia a "memoria de programa", independientemente de la dirección que esté cargada, y las lecturas y escrituras normales siempre van a "memoria de datos", que es una ubicación separada que generalmente contiene diferentes información incluso cuando los bits de la dirección de datos resultan ser idénticos a los bits de la dirección de memoria del programa.
Esas máquinas son máquinas "puras de Harvard" o "máquinas modificadas de Harvard".
La mayoría de los DSP tienen 3 áreas de memoria separadas: el ram X, el ram Y y la memoria del programa.
Las máquinas DSP, Princeton y Harvard de 2 memorias son tres tipos diferentes de máquinas von Neumann.
Algunas máquinas aprovechan la conexión extremadamente amplia entre la memoria y el cómputo que es posible cuando ambas se encuentran en el mismo chip (memoria computacional o iRAM o CAM RAM), que se puede ver como una especie de máquina que no es de von Neumann.
Algunas personas usan 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, ¿qué término usaría para el concepto más general de "una máquina que tiene un cuello de botella de von Neumann", que incluye máquinas de Harvard y Princeton, y excluye NON-VON?
La mayoría de los sistemas integrados utilizan la arquitectura de Harvard.
Algunas CPU son "Harvard puro", que es quizás la disposición más simple para construir hardware: el bus de direcciones a la memoria del programa de solo lectura está conectado exclusivamente al contador del programa, como muchos PICmicros de Microchip.
Además, algunas máquinas Harvard modificadas también colocan constantes en la memoria del programa, que se pueden leer con una instrucción especial de "lectura de datos constantes de la memoria de programa" (diferente de la instrucción de "lectura de la memoria de datos").
El software que se ejecuta en los tipos anteriores de máquinas Harvard no puede cambiar la memoria del programa, que es efectivamente ROM para ese software.
Algunos sistemas integrados son "auto-programables", por lo general con memoria de programa en la 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 normal "escritura en memoria de datos" instrucción), además de la instrucción "leer datos de la memoria del 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 las computadoras son síncronas, tienen un solo reloj global.
Algunas CPU son asíncronas, no tienen reloj, incluido ILLIAC I e ILLIAC II, que en un momento fueron las supercomputadoras más rápidas del mundo.
Ayude a mejorar la descripción de todos los tipos de arquitecturas de computadoras en
enlace
.