Download - Von neumann harvard
Índice
0
Descripción de la arquitectura de Von
Neumann y Harvard, realizada mediante
investigación y recopilación de varios
sitios con el fin de obtener información
más detallada sobre dichos temas.
Arquitectura
de Von
Neumann y
Harvard Descripción y características
SSCC
Arquitectura de Von Neumann
1
Arquitectura de Von Neumann ____________________________________________ 2
Unidad central de proceso ___________________________________________________ 4
ALU _____________________________________________________________________________ 5
Unidad de Control _________________________________________________________________ 5
Memoria Principal _________________________________________________________ 6
Controlador de Entrada/Salida _______________________________________________ 6
Buses del sistema __________________________________________________________ 7
Características: ____________________________________________________________ 8
Arquitectura de Harvard _________________________________________________ 9
Características: ___________________________________________________________ 11
Referencias Bibliográficas: ______________________________________________ 12
Arquitectura de Von Neumann
2
Autor: Santiago Cuásquer
Tema: Arquitectura de Von Neumann y Arquitectura de Harvard.
Objetivo: Describir las dos arquitecturas y sus características.
Desarrollo:
Arquitectura de Von Neumann En 1994, John Von Neumann se incorporó al proyecto ENIAC. El grupo al que
pertenecía tenía por objetivo mejorar la forma como se introducían los
programas en un computador y pensaron en almacenarlos en forma de
números; Von Neumann tomando en cuenta aquel objetivo, propuso la creación
de un computador denominado EDVAC, el cual funcionaba con números
binarios, realizaba las operaciones de suma, resta y multiplicación en forma
automática, mientras que la división era programable, además tenía una
capacidad de 1000 palabras.
Este computador fue el inicio para la arquitectura conocida actualmente en los
computadores y no se le debe atribuir tan solo a Von Neumann, sino a los
ingenieros Eckert y Mauchly quienes trabajaron en el desarrollo de las
máquinas. En el Instituto de Estudios Avanzados de Princeton, Von Neumann
junto con Arthur Burks realizaron un artículo que a pesar de haber sido
realizado hace más de cuarenta años, posee la mayor parte de los conceptos
sobre arquitectura vistos en los computadores modernos de la actualidad.
Ilustración 1 - Arquitectura de Von Neumann
Arquitectura de Von Neumann
3
La mayoría de sistemas informáticos actuales siguen al pie de la letra la
arquitectura propuesta por Von Neumann en el diseño EDVAC, se caracteriza
por el sistema operativo instalado internamente.
Dicha arquitectura consta básicamente de los dispositivos de entrada y salida,
la unidad central de proceso, en la que a su vez se encuentra la unidad
aritmética lógica (ALU) y la unidad de control (UC), una memoria principal y los
buses de control.
Los computadores que cuentan con este tipo de arquitectura realizan los
siguientes pasos secuencialmente:
1. Enciende el ordenador y obtiene la siguiente instrucción desde la
memoria en la dirección indicada por el contador del programa y la
guarda en el registro de instrucción.
2. Aumenta el contador de programa en la longitud de la instrucción para
apuntar a la siguiente.
3. Decodifica la instrucción mediante la unidad de control. Éste se encarga
de coordinar el resto de componentes del ordenador para realizar una
función determinada.
4. Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del
programa permitiendo operaciones repetitivas, es también capaz de
cambiar cuando se ha cumplido cierta condición aritmética y de esa
forma está disponible para poder procesar otros datos, todo según la
lógica anterior.
La especificación detallada de los elementos del cuadro de la ilustración 1, es
la siguiente:
Unidad Central de Proceso (CPU)
o Unidad Aritmética Lógica (ALU)
Banco de registros
Registro de datos
Registro de direcciones
Registro de control
o Unidad de control
Contador de programa
Registro de instrucción
Decodificador
Reloj
Secuenciador
Memoria Principal
o Memoria RAM
o Memoria ROM
Controlador de entrada/salida
o Periféricos entrada
o Periféricos salida
Buses del sistema
Arquitectura de Von Neumann
4
o Bus de datos
o Bus de direcciones
o Bus de control
Tabla 1 - Estructura y funciones según Von Neumann
Unidad central de proceso
También abreviado como CPU o UCP, es el lugar donde se ejecutan las
instrucciones dadas por el sistema operativo mediante los periféricos de
entrada; está implementado en un único circuito integrado llamado
microprocesador.
Ilustración 2 - UCP
Dentro del CPU tenemos la unidad aritmética lógica ALU y la unidad de control
UC, a su vez dentro de cada una de estas tenemos otros subelementos.
Memoria
•Almacenar datos (leer, escribir).
•Almacenar programas
CPU
•Ejecutar operaciones sobre datos
•Ejecutar algoritmos
Input/Output
•Recibir nuevos datos
•Entregar resultados
Arquitectura de Von Neumann
5
ALU
Unidad Aritmética Lógica, es la encargada de realizar las operaciones que le
ordene la Unidad de Control, estas operaciones son de tipo lógico (OR, AND,
NOT) y matemáticos (operaciones básicas). Normalmente los datos con los
que se opera y los resultados de tales operaciones, se encuentran
almacenados en los bancos de registros.
Ilustración 3 - ALU
Banco de registros
Proporciona un espacio de almacenamiento para los datos con que trabaja el
CPU. Los registros se cargan con información de la memoria principal antes de
comenzar a operar, cuando se necesita liberar el espacio de los bancos de
registro para manipular nuevos datos, su valor se escribe en la memoria
principal. Operar con datos que se encuentran en los bancos de registro es
mucho más fácil que tratar con los almacenados en la memoria principal.
El banco de registro a su vez se divide en tres sub-registros más:
Registros de Datos: Guarda la información con que se trabaja.
Registros de Direcciones: Guardan direcciones de memoria en las que
puede haber datos.
Registros de control: Controlan el estado de la CPU.
Unidad de Control
Se encarga de leer las instrucciones máquina almacenadas en la memoria
principal, enviarlas al ALU para ser procesadas y consiguientemente estar en la
capacidad de generar las señales necesarias para controlar y coordinar el resto
de las unidades funcionales de un ordenador. Consta de las siguientes partes
fundamentales:
Contador de programa: Registro que apunta a la dirección de memoria
de la próxima instrucción a ejecutar.
Registro de instrucción: guarda la instrucción que se está ejecutando.
Decodificador: Interpretar la instrucción a realizar.
Reloj: Genera una señal de sincronía.
Arquitectura de Von Neumann
6
Secuenciador: Activa en el orden adecuado las diferentes unidades
funcionales para ejecutar la instrucción.
Además cuenta con un par de buses que transportan la información entre los
elementos del CPU; el bus de datos transporta la información que se está
procesando, mientras el bus de control proporciona toda la señalización
necesaria para realizar el trabajo de forma ordenada.
Ilustración 4 - Registros
Memoria Principal
La memoria principal también es conocida como memoria RAM, físicamente
consta de circuitos electrónicos que almacenan valores binarios en cada celda
de la memoria, esos datos guardados corresponden a datos e instrucciones de
los programas a ejecutar.
La memoria principal tiene menor capacidad que la memoria secundaria, pero a
su vez es más rápida, lo que permite un acceso rápido a las instrucciones y
datos que se manipulan.
Ilustración 5 - Memoria Principal
Controlador de Entrada/Salida
Es un elemento que controla el flujo de la información que entra y/o sale del
sistema informático.
Arquitectura de Von Neumann
7
Las técnicas más utilizadas en gestión de dicha información son:
Polling o espera activa: El CPU se encarga de la transferencia de la
información revisando continuamente el estado de los periféricos, resulta
ineficiente.
Uso de interrupciones 1 : Transfiere la información pero el dispositivo
notifica de cambios mediante una interrupción.
DMA: Acceso Directo a Memoria, este controlador se encarga de toda la
transferencia de información mediante bloques y realizando
conversiones de ser necesario, al finalizar el envío de datos, utiliza una
interrupción quedando así listo para enviar información de nuevo. Es el
más eficiente.
Buses del sistema
Los buses son las vías de comunicación sincrónicos que funcionan gobernados
por un reloj para transportar información sin colisiones de datos, existe un bus
de datos especial para cada tipo de comunicación dentro del UCP, en total son
tres:
Bus de Datos: Es el cual transporta la información que se está
procesando o las instrucciones del programa que se está usando.
Bus de Direcciones: Se usa para indicar el origen y/o destino de los
datos. En el bus de direcciones se indica la posición de memoria en la
que se está accediendo al momento.
Bus de control: El bus de control proporciona señales para coordinar las
diferentes tareas que se realizan en el sistema informático. Algunas de
las señales que se pueden encontrar son:
o CLK2: Frecuencia de reloj
o CS3: Activa el chip a utilizar.
o Ready: verificación de disponibilidad del dispositivo.
o R/W: Operación de lectura y escritura.
1 Conocida también como interrupción de hardware, señal recibida por el procesador de un ordenador,
indicando que debe interrumpir el curso de ejecución actual. 2 Reloj o Clock en inglés.
3 Chip Select
Arquitectura de Von Neumann
8
Ilustración 6 - Buses del UCP
Un ejemplo de procesador con la arquitectura de Von Neumann puede ser
AMD o Intel.
Características:
Se caracteriza porque el programa que ejecuta el sistema informático
está almacenado internamente.
Los programas se guardan en forma numérica (números binarios), al
contrario de aquella época en la que se usaban tarjetas perforadas.
Las operaciones realizadas son básicas, tales como sumas, restas u
operaciones lógicas.
Utiliza el mismo dispositivo para almacenamiento tanto de las
instrucciones como para los datos, a diferencia de la Arquitectura de
Harvard.
El procesador posee una distribución modular y jerarquizada de sus
elementos internos, lo cual permite una comunicación más fácil entre los
mismos.
La base de funcionamiento del ordenador consiste en la extracción
sucesiva de instrucciones de la memoria, interpretación de las mismas,
extracción de memoria de los datos implicados en la operación, envío al
ALU.
Aún se usa en la arquitectura de los computadores actuales.
Uso más eficiente de la memoria, con menos operaciones y más
flexibles.
Más simple arquitectónicamente.
Arquitectura de Harvard
9
Arquitectura de Harvard En el mismo tiempo que ENIAC, Howard Aiken construyó en Harvard un
computador electromagnético llamado Mark-I, a la cual le sigue una con relés
nombrado Mark-II y un par de máquinas con tubos al vacío, la Mark-III y Mark-
IV. Estas últimas fueron construidas después de las primeras máquinas de
programa almacenado; el término Arquitectura de Harvard fue acuñado para
describir este tipo de máquina con memorias diferentes para procesar datos e
instrucciones.
Ilustración 7 - Arquitectura de Harvard
Una de las memorias contiene solamente las instrucciones del programa
(memoria del programa), y la otra sólo almacena datos (memoria de datos),
cada una con su propio bus de comunicación.
Existen dos buses en esta arquitectura, el de control y de instrucciones; ambos
buses son totalmente independientes, lo que permite que la UCP pueda
acceder de forma independiente y simultánea a la memoria de datos y a la de
instrucciones. La longitud de los datos y las instrucciones puede ser distinta, lo
que optimiza el uso de la memoria general.
Además de los buses independientes, la UCP puede acceder a los daros para
completar la ejecución de una instrucción, y al mismo tiempo leer la siguiente
instrucción a ejecutar.
Arquitectura de Harvard
10
Ilustración 8 - Buses en la Arquitectura Harvard
La optimización de la memoria caché es un tema muy importante para el
diseño de una computadora; ésta es una memoria de gran velocidad para
guardar datos que el procesador necesita, haciendo que el rendimiento sea
mucho mayor.
La arquitectura de Harvard ofrece una solución particular para este problema.
Gracias a la utilidad de guardar instrucciones datos en cachés separadas, se
mejora este inconveniente, pero 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. Ésta arquitectura suele usarse en procesadores
de señal digital, usados habitualmente en productos para procesamiento de
audio y video.
Ilustración 9 - Arquitectura Harvard, microprocesador
Un ejemplo de procesador con esta arquitectura es el TMS320 C55x de Texas
Instruments4 o el Atmel AVR5.
4 También conocida como TI es una industria electrónica fabricante de semiconductores y tecnología
para ordenadores. 5 Compañía de semiconductores y microprocesadores; el AVR es un microprocesador con arquitectura
Harvard, diseño simple y fácil programación.
Arquitectura de Harvard
11
Características:
Funcionaban con memorias separadas para procesar instrucciones y
datos, a diferencia de la arquitectura de Von Neumann.
Disminuye el cuello de botella en el acceso de memoria.
Controladores embebidos, RAM para los datos y ROM para las
instrucciones.
El tiempo de acceso a las instrucciones puede superponerse con el de
los datos, logrando una mayor velocidad en cada operación.
Instrucciones y datos de distinto largo. El tamaño de las instrucciones no
está 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.
La ventaja del uso de esta arquitectura 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 audio y video.
Bibliografía
12
Referencias Bibliográficas:
Hennessy, John & Patterson, David. (1993). Arquitectura de Computadores,
enfoque cuantitativo. 1era Edición. 1993.
Institut Puig Castellar, Santa Coloma de Gramenet. (n.d.). Arquitectura de Von
Neumann. Extraído el día 25 de Agosto del 2012 desde
http://elpuig.xeill.net/Members/vcarceler/c1/didactica/apuntes/ud2/na1/
Díez Fernández, M. (2012). Operaciones auxiliares con tecnologías de la
comunicación e información. Extraído el día 25 de Agosto del 2012 desde
http://www.cpraviles.com/materiales/pcpi/PCPI/indexfee9.html?page_id=891
Mitnik, Rubén. (2008). Arquitectura de Computadores. Extraído el día 26 de
Agosto del 2012 desde
http://intrawww.ing.puc.cl/siding/public/ingcursos/cursos_pub/descarga.phtml?id_curso_ic=2
055&id_archivo=76451
Wikipedia.org (2012). Arquitectura de Von Neumann. Extraído el día 26 de
Agosto del 2012 desde http://es.wikipedia.org/wiki/Arquitectura_de_Von_Neumann
Universidad de la República de Uruguay. (n.d.). Extraído el 26 de Agosto del
2012 desde http://www.fing.edu.uy/tecnoinf/cursos/arqcomp/material/teorico/arq-
teorico05.pdf
Wikipedia.org (2012). Arquitectura de Harvard. Extraído el día 26 de Agosto del
2012 desde http://es.wikipedia.org/wiki/Arquitectura_Harvard