¿Qué es la arquitectura de Harvard?
¿Por qué separar la memoria para instrucciones y datos?
Los artículos escritos en este blog fueron creados con el objetivo de enseñar. Además, la información del artículo puede ser incorrecta, así que tenga cuidado.
Una computadora debe almacenar las instrucciones del programa y los datos utilizados por el programa en algún lugar y leerlos. En este momento, la estructura de almacenar instrucciones y datos por separado en diferentes memorias se llama Arquitectura de Harvard.
Las instrucciones y los datos están separados.
En la arquitectura Harvard, la memoria de instrucciones y la memoria de datos están físicamente separadas. El bus, que es el conducto que conduce a la CPU, también se utiliza por separado.
Memoria de instrucciones ── Bus de instrucciones ──┐
CPU
Memoria de datos ── Bus de datos ───┘
Mientras la CPU recupera la siguiente instrucción, los datos necesarios para la instrucción actual también se pueden leer al mismo tiempo. Los cuellos de botella se pueden reducir en comparación con una estructura en la que las instrucciones y los datos utilizan alternativamente una ruta.
Además, las especificaciones de las dos memorias pueden estar diseñadas de forma diferente. Las instrucciones se pueden colocar en una memoria de solo lectura y los datos se pueden almacenar en una memoria de lectura y escritura, o los anchos de bits de las instrucciones y los datos pueden ser diferentes.
¿En qué se diferencia de la estructura de von Neumann?
Von Neumann Architecture coloca instrucciones y datos en la misma memoria y bus.
estructura de harvard
Memoria de instrucciones ─┐
CPU
Memoria de datos ─┘
estructura de von neumann
Instrucción + memoria de datos ── CPU
La estructura de von Neumann tiene solo un espacio de memoria, por lo que la programación y configuración del hardware son relativamente simples. Sin embargo, la búsqueda de instrucciones y la lectura de datos utilizan la misma ruta, por lo que es difícil procesarlas simultáneamente.
Por el contrario, la estructura de Harvard es buena para el acceso simultáneo, pero es difícil utilizar el espacio de manera flexible utilizando datos en lugar de memoria de instrucciones vacía. Dado que la memoria y el bus deben crearse por separado, el hardware se vuelve más complejo.
¿Dónde usarlo?
La estructura de Harvard se puede ver fácilmente en microcontroladores o DSP que necesitan responder rápidamente a las entradas. Es muy adecuado para entornos donde el programa está definido y el procesamiento simultáneo de comandos y datos es importante.
Es difícil identificar una CPU en una PC moderna. La memoria principal almacena instrucciones y datos juntos, pero cerca de la CPU, a menudo se usa la Arquitectura Harvard Modificada, que separa el caché de instrucciones y el caché de datos.
En otras palabras, el núcleo de la arquitectura de Harvard no es simplemente que haya dos recuerdos. Puede entenderse como una estructura que permite a la CPU realizar dos tareas simultáneamente utilizando diferentes espacios de almacenamiento y rutas para instrucciones y datos.