fbpx
Wikipedia

Arquitectura Harvard

Definición

 
Arquitectura Harvard.

La arquitectura de Harvard es una arquitectura de computadora con pistas de almacenamiento y de señal físicamente separadas para las instrucciones y para los datos. El término proviene de la computadora Harvard Mark I basada en relés, que almacenaba las instrucciones sobre cintas perforadas (de 24 bits de ancho) y los datos en interruptores electromecánicos. Estas primeras máquinas tenían almacenamiento de datos totalmente contenido dentro la unidad central de proceso, y no proporcionaban acceso al almacenamiento de instrucciones como datos. Los programas necesitaban ser cargados por un operador; el procesador no podría arrancar por sí mismo.

En la actualidad la mayoría de los procesadores implementan dichas vías de señales separadas por motivos de rendimiento, pero en realidad implementan una arquitectura Harvard modificada, para que puedan soportar tareas tales como la carga de un programa desde una unidad de disco como datos para su posterior ejecución.

Detalles de la unidad de almacenamiento

En la arquitectura Harvard, no hay necesidad de hacer que las dos memorias compartan características. En particular, pueden diferir la anchura de palabra, el momento, la tecnología de implementación y la estructura de dirección de memoria. En algunos sistemas, se pueden almacenar instrucciones en memoria de solo lectura mientras que, en general, la memoria de datos requiere memoria de lectura-escritura. En algunos sistemas, hay mucha más memoria de instrucciones que memoria de datos así que las direcciones de instrucción son más anchas que las direcciones de datos.

Contraste con arquitecturas von Neumann

Bajo arquitectura de von Neumann pura, la CPU puede estar bien leyendo una instrucción o leyendo/escribiendo datos desde/hacia la memoria pero ambos procesos no pueden ocurrir al mismo tiempo, ya que las instrucciones y datos usan el mismo sistema de buses. En una computadora que utiliza la arquitectura Harvard, la CPU puede tanto leer una instrucción como realizar un acceso a la memoria de datos al mismo tiempo, incluso sin una memoria caché. En consecuencia, una arquitectura de computadores Harvard puede ser más rápida para un circuito complejo, debido a que la instrucción obtiene acceso a datos y no compite por una única vía de memoria.

Además, las características de las dos memorias son distintas, por lo que la dirección del espacio cero de instrucciones no es lo mismo que la dirección del espacio cero de datos: La dirección cero de la memoria de instrucciones podría identificar un valor de veinticuatro bits, mientras que la dirección cero de la memoria de datos cero podría indicar un valor de ocho bits que no forma parte de ese valor de veinticuatro bits.


Contraste con la arquitectura Harvard modificada

Una máquina de arquitectura Harvard modificada es muy similar a una máquina de arquitectura Harvard, pero relaja la estricta separación entre la instrucción y los datos, al mismo tiempo que deja que la CPU acceda simultáneamente a dos (o más) memorias de buses. La modificación más común incluye cachés de instrucciones y datos independientes, respaldados por un espacio de direcciones en común. Si bien la CPU ejecuta desde la memoria caché, también actúa como una máquina de Harvard pura. Cuando se accede a la memoria de respaldo, actúa como una máquina de von Neumann pura (donde el código puede moverse alrededor como datos, que es una técnica poderosa). Esta modificación se ha generalizado en modernos procesadores, tales como la arquitectura ARM y los procesadores x86. A veces se llama vagamente arquitectura Harvard, con vistas al hecho de que en realidad está "modificada".

Otra modificación proporciona un camino entre la memoria de instrucciones (como ROM o flash) y la CPU para permitir que las palabras de la memoria de instrucciones sean tratados como datos de solo lectura. Esta técnica es utilizada en algunos micro controladores, incluyendo el Atmel AVR. Esto permite datos constantes, tales como cadenas de texto o tablas de funciones, que puede acceder sin necesidad de ser previamente copiadas en datos de memoria, preservando memoria de datos escasa (y hambrienta de poder) de lectura / escritura de variables. Las instrucciones especiales de lenguaje de máquina se proporcionan para leer datos desde la memoria de instrucciones. (Esto es diferente a las instrucciones que a sí mismos embebiendo datos constantes, aunque para las constantes individuales de los dos mecanismos pueden sustituir unos por otros.)

Velocidad

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 como limitación de memoria.

Es posible hacer una memoria mucho más rápida, pero esto solo resulta práctico para pequeñas cantidades de memoria por razones de coste, energía y de enrutamiento de señal. La solución, por tanto, es proporcionar una pequeña cantidad de memoria muy rápida conocida con el nombre de caché de CPU. Mientras los datos que necesita la CPU estén en la caché, el rendimiento será mucho mayor que si la caché tiene que obtener primero los datos de la memoria principal.

Diseño externo vs interno

Los diseños modernos de chips de CPU de alto rendimiento incorporan tanto aspectos de la arquitectura Harvard como de la von Neumann. En particular, está muy difundida la versión "caché split" de la arquitectura Harvard modificada. La memoria caché de la CPU se divide en una caché de instrucciones y una de datos. La arquitectura Harvard se utiliza cuando la CPU accede a la memoria caché. No obstante, en el caso de un fallo de caché, los datos son recuperados de la memoria principal, que no se divide formalmente en secciones separadas de instrucción y datos, aunque también pueda tener los controladores de memoria separados utilizados para el acceso simultáneo a la memoria RAM, ROM y memoria flash (NOR).

Así, aunque una arquitectura de von Neumann esté visible en algunos contextos, como cuando los datos y el código vienen por el mismo controlador de memoria, la implementación de hardware gana las eficiencias de la arquitectura de Harvard para accesos a caché y en parte para algunos accesos a la memoria principal.

Adicionalmente, las CPU suelen tener buffers de escritura que le permiten proceder después de escribir en regiones no almacenadas en caché. De este modo, se evidencia la naturaleza von Neumann de la memoria cuando la CPU escribe instrucciones como datos y el software debe garantizar que las cachés (datos e instrucciones) y la escritura de búfer están sincronizadas, antes de tratar de ejecutar esas instrucciones recién escritas.

Usos modernos de la arquitectura Harvard

La principal ventaja de la arquitectura Harvard pura — acceso simultáneo a más de una memoria del sistema—se ha reducido por procesadores Harvard modificados utilizando sistemas de caché de CPU modernos. Las máquinas de arquitectura Harvard relativamente puras se utilizan principalmente en aplicaciones cuyas compensaciones, como los costes y el ahorro de energía de la omisión de caché, superan las desventajas de programación que vienen con tener espacios de direcciones de código y datos diferentes.

  • En general, los procesadores de señal digital (DSPs) ejecutan pequeños algoritmos altamente optimizados de procesamiento de audio o vídeo. Evitan cachés porque su comportamiento debe ser extremadamente reproducible. Las dificultades de lidiar con múltiples espacios de direcciones son una preocupación secundaria a la velocidad de ejecución. En consecuencia, algunos DSPs cuentan con múltiples memorias de datos en distintos espacios de direcciones para facilitar tanto el procesamiento SIMD como el VLIW. A modo de ejemplo, los procesadores Texas Instruments TMS320 C55x, cuentan con varios buses de datos en paralelo (dos de escritura, tres de lectura) y un bus de instrucciones.
  • Los microcontroladores se caracterizan por tener pequeñas cantidades de programa (memoria flash) y memoria de datos (SRAM), sin cache, y aprovechan la arquitectura de Harvard para acelerar el procesamiento por medio de acceso simultáneo a instrucciones y a datos. El almacenamiento separado significa que las memorias pueden diferir en anchos de bit, por ejemplo, utilizando instrucciones de 16 bits de ancho y los datos de 8 bits de ancho. Esto también significa que se pueden traer instrucciones antes de que se necesiten (prefetching) mientras que en paralelo se realizan otras actividades. Entre los ejemplos se incluyen el AVR de Atmel Corp y la PIC de Microchip Technology, Inc..

Incluso en estos casos, es común emplear instrucciones especiales con el fin de acceder a la memoria del programa como si fuera datos para la creación de tablas de solo lectura o para reprogramación, lo que los hace procesadores de arquitectura Harvard modificada.

Véase también

Enlaces externos

  •   Datos: Q641044

arquitectura, harvard, este, artículo, sección, tiene, referencias, pero, necesita, más, para, complementar, verificabilidad, este, aviso, puesto, octubre, 2014, Índice, definición, detalles, unidad, almacenamiento, contraste, arquitecturas, neumann, contraste. Este articulo o seccion tiene referencias pero necesita mas para complementar su verificabilidad Este aviso fue puesto el 8 de octubre de 2014 Indice 1 Definicion 2 Detalles de la unidad de almacenamiento 2 1 Contraste con arquitecturas von Neumann 2 2 Contraste con la arquitectura Harvard modificada 3 Velocidad 3 1 Diseno externo vs interno 4 Usos modernos de la arquitectura Harvard 5 Vease tambien 6 Enlaces externosDefinicion Editar Arquitectura Harvard La arquitectura de Harvard es una arquitectura de computadora con pistas de almacenamiento y de senal fisicamente separadas para las instrucciones y para los datos El termino proviene de la computadora Harvard Mark I basada en reles que almacenaba las instrucciones sobre cintas perforadas de 24 bits de ancho y los datos en interruptores electromecanicos Estas primeras maquinas tenian almacenamiento de datos totalmente contenido dentro la unidad central de proceso y no proporcionaban acceso al almacenamiento de instrucciones como datos Los programas necesitaban ser cargados por un operador el procesador no podria arrancar por si mismo En la actualidad la mayoria de los procesadores implementan dichas vias de senales separadas por motivos de rendimiento pero en realidad implementan una arquitectura Harvard modificada para que puedan soportar tareas tales como la carga de un programa desde una unidad de disco como datos para su posterior ejecucion Detalles de la unidad de almacenamiento EditarEn la arquitectura Harvard no hay necesidad de hacer que las dos memorias compartan caracteristicas En particular pueden diferir la anchura de palabra el momento la tecnologia de implementacion y la estructura de direccion de memoria En algunos sistemas se pueden almacenar instrucciones en memoria de solo lectura mientras que en general la memoria de datos requiere memoria de lectura escritura En algunos sistemas hay mucha mas memoria de instrucciones que memoria de datos asi que las direcciones de instruccion son mas anchas que las direcciones de datos Contraste con arquitecturas von Neumann Editar Bajo arquitectura de von Neumann pura la CPU puede estar bien leyendo una instruccion o leyendo escribiendo datos desde hacia la memoria pero ambos procesos no pueden ocurrir al mismo tiempo ya que las instrucciones y datos usan el mismo sistema de buses En una computadora que utiliza la arquitectura Harvard la CPU puede tanto leer una instruccion como realizar un acceso a la memoria de datos al mismo tiempo incluso sin una memoria cache En consecuencia una arquitectura de computadores Harvard puede ser mas rapida para un circuito complejo debido a que la instruccion obtiene acceso a datos y no compite por una unica via de memoria Ademas las caracteristicas de las dos memorias son distintas por lo que la direccion del espacio cero de instrucciones no es lo mismo que la direccion del espacio cero de datos La direccion cero de la memoria de instrucciones podria identificar un valor de veinticuatro bits mientras que la direccion cero de la memoria de datos cero podria indicar un valor de ocho bits que no forma parte de ese valor de veinticuatro bits Contraste con la arquitectura Harvard modificada Editar Una maquina de arquitectura Harvard modificada es muy similar a una maquina de arquitectura Harvard pero relaja la estricta separacion entre la instruccion y los datos al mismo tiempo que deja que la CPU acceda simultaneamente a dos o mas memorias de buses La modificacion mas comun incluye caches de instrucciones y datos independientes respaldados por un espacio de direcciones en comun Si bien la CPU ejecuta desde la memoria cache tambien actua como una maquina de Harvard pura Cuando se accede a la memoria de respaldo actua como una maquina de von Neumann pura donde el codigo puede moverse alrededor como datos que es una tecnica poderosa Esta modificacion se ha generalizado en modernos procesadores tales como la arquitectura ARM y los procesadores x86 A veces se llama vagamente arquitectura Harvard con vistas al hecho de que en realidad esta modificada Otra modificacion proporciona un camino entre la memoria de instrucciones como ROM o flash y la CPU para permitir que las palabras de la memoria de instrucciones sean tratados como datos de solo lectura Esta tecnica es utilizada en algunos micro controladores incluyendo el Atmel AVR Esto permite datos constantes tales como cadenas de texto o tablas de funciones que puede acceder sin necesidad de ser previamente copiadas en datos de memoria preservando memoria de datos escasa y hambrienta de poder de lectura escritura de variables Las instrucciones especiales de lenguaje de maquina se proporcionan para leer datos desde la memoria de instrucciones Esto es diferente a las instrucciones que a si mismos embebiendo datos constantes aunque para las constantes individuales de los dos mecanismos pueden sustituir unos por otros Velocidad EditarEn los ultimos anos la velocidad de las CPUs ha aumentado mucho en comparacion a la de las memorias con las que trabaja asi que se debe poner mucha atencion en reducir el numero de veces que se accede a ella para mantener el rendimiento Si por ejemplo cada instruccion ejecutada en la CPU requiere un acceso a la memoria no se gana nada incrementando la velocidad de la CPU este problema es conocido como limitacion de memoria Es posible hacer una memoria mucho mas rapida pero esto solo resulta practico para pequenas cantidades de memoria por razones de coste energia y de enrutamiento de senal La solucion por tanto es proporcionar una pequena cantidad de memoria muy rapida conocida con el nombre de cache de CPU Mientras los datos que necesita la CPU esten en la cache el rendimiento sera mucho mayor que si la cache tiene que obtener primero los datos de la memoria principal Diseno externo vs interno Editar Los disenos modernos de chips de CPU de alto rendimiento incorporan tanto aspectos de la arquitectura Harvard como de la von Neumann En particular esta muy difundida la version cache split de la arquitectura Harvard modificada La memoria cache de la CPU se divide en una cache de instrucciones y una de datos La arquitectura Harvard se utiliza cuando la CPU accede a la memoria cache No obstante en el caso de un fallo de cache los datos son recuperados de la memoria principal que no se divide formalmente en secciones separadas de instruccion y datos aunque tambien pueda tener los controladores de memoria separados utilizados para el acceso simultaneo a la memoria RAM ROM y memoria flash NOR Asi aunque una arquitectura de von Neumann este visible en algunos contextos como cuando los datos y el codigo vienen por el mismo controlador de memoria la implementacion de hardware gana las eficiencias de la arquitectura de Harvard para accesos a cache y en parte para algunos accesos a la memoria principal Adicionalmente las CPU suelen tener buffers de escritura que le permiten proceder despues de escribir en regiones no almacenadas en cache De este modo se evidencia la naturaleza von Neumann de la memoria cuando la CPU escribe instrucciones como datos y el software debe garantizar que las caches datos e instrucciones y la escritura de bufer estan sincronizadas antes de tratar de ejecutar esas instrucciones recien escritas Usos modernos de la arquitectura Harvard EditarLa principal ventaja de la arquitectura Harvard pura acceso simultaneo a mas de una memoria del sistema se ha reducido por procesadores Harvard modificados utilizando sistemas de cache de CPU modernos Las maquinas de arquitectura Harvard relativamente puras se utilizan principalmente en aplicaciones cuyas compensaciones como los costes y el ahorro de energia de la omision de cache superan las desventajas de programacion que vienen con tener espacios de direcciones de codigo y datos diferentes En general los procesadores de senal digital DSPs ejecutan pequenos algoritmos altamente optimizados de procesamiento de audio o video Evitan caches porque su comportamiento debe ser extremadamente reproducible Las dificultades de lidiar con multiples espacios de direcciones son una preocupacion secundaria a la velocidad de ejecucion En consecuencia algunos DSPs cuentan con multiples memorias de datos en distintos espacios de direcciones para facilitar tanto el procesamiento SIMD como el VLIW A modo de ejemplo los procesadores Texas Instruments TMS320 C55x cuentan con varios buses de datos en paralelo dos de escritura tres de lectura y un bus de instrucciones Los microcontroladores se caracterizan por tener pequenas cantidades de programa memoria flash y memoria de datos SRAM sin cache y aprovechan la arquitectura de Harvard para acelerar el procesamiento por medio de acceso simultaneo a instrucciones y a datos El almacenamiento separado significa que las memorias pueden diferir en anchos de bit por ejemplo utilizando instrucciones de 16 bits de ancho y los datos de 8 bits de ancho Esto tambien significa que se pueden traer instrucciones antes de que se necesiten prefetching mientras que en paralelo se realizan otras actividades Entre los ejemplos se incluyen el AVR de Atmel Corp y la PIC de Microchip Technology Inc Incluso en estos casos es comun emplear instrucciones especiales con el fin de acceder a la memoria del programa como si fuera datos para la creacion de tablas de solo lectura o para reprogramacion lo que los hace procesadores de arquitectura Harvard modificada Vease tambien EditarArquitectura de CPU Arquitectura de von Neumann Arquitectura de computadores Arquitectura Harvard modificadaEnlaces externos EditarHarvard vs Von Neumann en ingles ARM Information center en ingles Esta obra contiene una traduccion total derivada de Harvard architecture de la Wikipedia en ingles concretamente de esta version publicada por sus editores bajo la Licencia de documentacion libre de GNU y la Licencia Creative Commons Atribucion CompartirIgual 3 0 Unported Datos Q641044Obtenido de https es wikipedia org w index php title Arquitectura Harvard amp oldid 129609505, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos