La Arquitectura Harvard
Short Description
Descripción: arquitecturas de computadoras...
Description
Universidad Autónoma De Ciudad Juárez IIT Arquitectura Alternativa a VonNeuman Arquitectura de Computadoras 27/08/2012 Luis Enrique Canales Ruiz 103769
LA ARQUITECTURA HARVARD
El término Arquitectura Harvard originalmente se refería 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 Eckert-Mauchly). El término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.‡ La memoria de programa y la memoria de datos constituyen dos espacios de Memoria separados.
El acceso a cada espacio de memoria puede llegar a ser mediante buses distintos, es decir, puede haber dos buses de direcciones, un bus de datos y un bus de instrucciones).‡ Lo más habitual es que exista un único bus de direcciones, en cuyo caso debe existir alguna señal de control que permita diferenciar a que espacio de memoria se hace referencia (por ejemplo, señales de READ, WRITE y FETCH).‡ Es la arquitectura propia de un buen número de micro controladores (por ejemplo, PIC).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’. 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 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 Originalmente, 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)
Arquitectura Harvard Este tipo de arquitectura se diferencia de la arquitectura Von Neumann porque utiliza un sistema de almacenamiento separado físicamente para las instrucciones y para los datos. Las instrucciones y los datos se almacenan de manera separada en la memoria caché. El nombre proviene del computador Harvard Mark I. La ventaja de uso de la arquitectura Harvard es cuando la frecuencia de lectura de las instrucciones y los datos es aproximadamente la misma. Esta arquitectura se usa principalmente en procesadores de señales digitales como el audio y el video. Cada memoria del micro dispone de un bus respectivo, lo que permite al CPU acceso de manera simultánea tanto a las instrucciones como a los datos. Un modelo de arquitectura Harvard sería el PIC16Fxxx con un bus de datos de 14-bits para memoria de programas y un bus independiente de 8-bits para acceder a la memoria de datos. Un ejemplo de arquitectura Harvard son algunos micros Atmel AVR, sólo que éstos presentan una arquitectura modificada. También los encontramos en procesadores Texas Instruments TMS320 C55x.
Arquitectura Von Neumann. Es una familia de computadores que utilizan el mismo dispositivo de almacenamiento para las instrucciones como para los datos. Normalmente casi todos los micro controladores se basan en la arquitectura Von Neumann. Básicamente la el micro usa un bus de direcciones y un bus de datos para acceso a la memoria. Ejemplos de procesadores Von Neumann: Intel, AMD.
Procesadores Multinucleo Los procesadores multi-núcleo son un procesador que contiene dentro de su empaque a varios núcleos o "cerebros". La mayoría de los procesadores son mono-núcleo, o sea tienen un solo cerebro. Mientras un procesador mono-núcleo tiene un solo cerebro para ejecutar procesos, un procesador multi-núcleo puede repartir los procesos entre sus varios cerebros para su posterior ejecución. Los procesadores multinúcleos es que son mucho más eficiente y rápidos, con menos consumo energético, más pequeños, y menos costosos producirlos en serie. Como historia se puede decir que el primer procesador multinúcleo en el mercado fue el IBM Power 4 en el año 2000. Si bien por este año solo llegaremos a ver procesadores con ocho núcleos, en el futuro la idea es que la evolución de los procesadores sea de acuerdo al número de núcleos. Los procesadores multinúcleo fueron inspirados en los sistemas distribuidos, la computación paralela y las tecnologías como el Hyperthreading; que mostraban como dividir el trabajo entre varias unidades de ejecución.
Procesamiento en Paralelo El procesamiento en paralelo es la división de una aplicación en varias partes para que sean ejecutadas a la vez por diferentes unidades de ejecución. El procesamiento en paralelo se utiliza en Computación Paralela y la Computación Distribuida.
HyperThreading Esta tecnología fue creada por Intel, para los procesadores Pentium 4 más avanzados. El Hyperthreading hace que el procesador funcione como si fuera dos procesadores. Esto fue hecho para que tenga la posibilidad de trabajar de forma multihilo (multithread) real, es decir pueda ejecutar muchos hilos simultáneamente. Un procesador con la tecnología Hyperthreading tiene un 5% más de transistores que el mismo procesador sin esa tecnología. Los dos procesadores lógicos, que posee el procesador hyperthreading, tienen su propio estado de la arquitectura: registros de control, registros de datos, registros de depuración, etc. y el APIC (controlador avanzado de interrupción programable). Los dos procesadores lógicos comparten la memoria caché, la interfaz del bus del sistema, etc. Dual Core En los procesadores tradicionales los procesos corren como en fila por ejemplo abres la calculadora después el procesador de textos y después el reproductor... todos van en fila según los pediste. Pero ahora con el procesador dual pasa así mira los procesos se dividen en 2, por ejemplo imagina abres la calculadora, después el procesador de textos y el reproductor, lo que hace el primer procesador es que te abre la calculadora (al mismo tiempo el otro te abre el procesador de textos) y después el reproductor, lo cual es velocidad. Esa es la función del segundo procesador pero podrías llamarlo como que permanece dormido cuando un procesador ejecuta un programa y le pides otro programa el segundo lo lanza. no es la misma velocidad, solo es mas rápido pues se dividen el trabajo. Multitarea (Multitasking) Funcionamiento disponible en algunos sistemas operativos, mediante el cual una computadora procesa varias tareas al mismo tiempo. Existen varios tipos de multitarea. La conmutación de contextos (context switching) es un tipo muy simple de multitarea en el que dos o más aplicaciones se cargan al mismo tiempo, pero
en el que sólo se está procesando la aplicación que se encuentra en primer plano (la que ve el usuario). Para activar otra tarea que se encuentre en segundo plano, el usuario debe traer al primer plano la ventana o pantalla que contenga esa aplicación. En la multitarea cooperativa, la que se utiliza en el sistema operativo Macintosh, las tareas en segundo plano reciben tiempo de procesado durante los tiempos muertos de la tarea que se encuentre en primer plano (por ejemplo, cuando esta aplicación está esperando información del usuario), y siempre que esta aplicación lo permita. En los sistemas multitarea de tiempo compartido, como OS/2, cada tarea recibe la atención del microprocesador durante una fracción de segundo. Para mantener el sistema en orden, cada tarea recibe un nivel de prioridad o se procesa en orden secuencial. Dado que el sentido temporal del usuario es mucho más lento que la velocidad de procesamiento del ordenador, las operaciones de multitarea en tiempo compartido parecen ser simultáneas.
Bibliografia: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka11516.html
http://www.buenastareas.com/ensayos/Arquitecturas-De-Computadoras-VonNeumann-y/1660948.html http://www.scribd.com/doc/56690958/Arquitectura-de-Harvard-y-Von-Neumann http://es.wikipedia.org/wiki/Arquitectura_Harvard http://www.buenastareas.com/ensayos/Procesadores-Multinucleo/1321384.html http://procesador-multinucleo.blogspot.mx/ http://www.terra.es/personal/lermon/cat/articles/evin0329.htm
View more...
Comments