martes, 12 de noviembre de 2013

Arquitectura Harvard


Arquitectura Harvard



el término Arquitectura Harvard hacía referencia a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos (en oposición a la Arquitectura de von Neumann). El término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.

Todas las computadoras constan principalmente de dos partes, la CPU que procesa los datos, y la memoria que guarda los datos. Cuando hablamos de memoria manejamos dos parámetros, los datos en sí, y el lugar donde se encuentran almacenados (o dirección). Los dos son importantes para la CPU, pues muchas instrucciones frecuentes se traducen a algo así como "coge los datos de ésta dirección y añádelos a los datos de ésta otra dirección", sin saber en realidad qué es lo que contienen los datos.
En los últimos años la velocidad de las CPUs ha aumentado mucho en comparación a la de las memorias con las que trabaja, así que se debe poner mucha atención en reducir el número de veces que se accede a ella para mantener el rendimiento. Si, por ejemplo, cada instrucción ejecutada en la CPU requiere un acceso a la memoria, no se gana nada incrementando la velocidad de la CPU (este problema es conocido comolimitación de memoria).
Se puede fabricar memoria mucho más rápida, pero a costa de un precio muy alto. La solución, por tanto, es proporcionar una pequeña cantidad de memoria muy rápida conocida con el nombre de memoria caché. Mientras los datos que necesita el procesador estén en la caché, el rendimiento será mucho mayor que si la caché tiene que obtener primero los datos de la memoria principal. La optimización de la caché es un tema muy importante de cara al diseño de computadoras.
La arquitectura Harvard ofrece una solución particular a este problema. Las instrucciones y los datos se almacenan en cachés separadas para mejorar el rendimiento. Por otro lado, tiene el inconveniente de tener que dividir la cantidad de caché entre los dos, por lo que funciona mejor sólo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. Esta arquitectura suele utilizarse en DSPs, o procesador de señal digital, usados habitualmente en productos para procesamiento de audio y video.

DIFERENCIAS ENTRE LA ARQUITECTURA DE HARVARD Y LA DE VON NEUMAN


Arquitectura Von Neumann y arquitectura Harvard
Hay dos arquitecturas distintas relacionadas con el uso y distribución de la memoria:
Arquitectura Von Neumann: Tradicionalmente los sistemas con microprocesadores se basan en esta
arquitectura, en la cual la unidad central de proceso (CPU), está conectada a una memoria principal única
(casi siempre sólo RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se
accede a través de un sistema de buses único (control, direcciones y datos):
En un sistema con arquitectura Von Neumann el tamaño de la unidad de datos o instrucciones está fijado
por el ancho del bus que comunica la memoria con la CPU. Así un microprocesador de 8 bits con un bus de 8
bits, tendrá que manejar datos e instrucciones de una o más unidades de 8 bits (bytes) de longitud. Si tiene que
acceder a una instrucción o dato de más de un byte de longitud, tendrá que realizar más de un acceso a la
memoria.
El tener un único bus hace que el microprocesador sea más lento en su respuesta, ya que no puede buscar
en memoria una nueva instrucción mientras no finalicen las transferencias de datos de la instrucción anterior.
Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son:
• La limitación de la longitud de las instrucciones por el bus de datos, que hace que el
microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas.
• La limitación de la velocidad de operación a causa del bus único para datos e instrucciones que no
deja acceder simultáneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso.
Arquitectura Harvard: Este modelo, que utilizan los microcontroladores PIC, tiene la unidad central de
proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos
buses diferentes.
Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra
sólo almacena datos (Memoria de Datos).
Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma
independiente y simultánea a la memoria de datos y a la de instrucciones. Como los buses son independientes
éstos pueden tener distintos contenidos en la misma dirección y también distinta lóngitud. Tambien la
longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general.
Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instrucción Set Computer), el set
de instrucciones y el bus de memoria de programa pueden diseñarse de tal manera que todas las instrucciones
tengan una sola posición de memoria de programa de longitud.
Además, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecución de
una instrucción, y al mismo tiempo leer la siguiente instrucción a ejecutar.Ventajas de esta arquitectura:
• El tamaño de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser
optimizado para que cualquier instrucción ocupe una sola posición de memoria de programa,
logrando así mayor velocidad y menor longitud de programa.
• El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una
mayor velocidad en cada operación.

Harvard

ESQUEMAS DE LA ARQUITECTURA DE HARVARD