Está en la página 1de 6

LA ARQUITECTURA VON NEUMANN La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrnica de uso general

en el mundo. Los primeros computadores se programaban recablendolos es decir, equivala a reconstruir todo el computador cuando se requera de un nuevo programa. La tarea era simplificada gracias a un panel de contactos (muy similar al de los primeros conmutadores telefnicos que eran atendidos por operadoras) con el que era posible enlazar circuitos para crear secciones dedicadas a una actividad especficas. Mientras que el recablear al computador estableca una clara distincin entre los datos (representados por los estados o seales elctricas que seran mantenidas por los rels o a travs de los bulbos que conformaban al computador) y el programa (las conexiones que seran establecidas entre estos componentes del hardware) la labor de "programacin" requera sino del propio creador del computador si a un verdadero experto y conocedor de electrnica, principios de lgica digital y del problema mismo. Esto vino a cambiar con el concepto del programa almacenado, un concepto terico muy importante que fue establecido por el matemtico John von Neumann el 30 de junio de 1945 en un borrador sobre el diseo de la EDVAC. A diferencia de los primeros computadores, von Neumann propona que tanto el programa como sus datos fueran almacenados en la memoria del computador. Esto no solo simplificaba la labor de programacin al no tener que llevar a cabo el recableado del computador sino que adems libraba y generalizaba el diseo del hardware para hacerlo independiente de cualquier problema y enfocado al control y ejecucin del programa. Este concepto fue tan importante y decisivo que dio lugar al concepto de la arquitectura de von Neumann, an presente en nuestros das. Esta arquitectura se refiere a las arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). La arquitectura de von Neumann se compone de tres elementos: 1. La Unidad Central de Procesamiento (CPU, por sus siglas en ingls), que es considerada como el cerebro y corazn del computador. Internamente consiste de una Unidad Aritmtico-Lgica (ALU), un conjunto de registros y una Unidad de Control (CU). La ALU es donde se realizan todas las operaciones que involucran un procesamiento matemtico (particularmente aritmtico) o lgico (operaciones booleanas). Los registros permiten el almacenammiento de datos para estas operaciones y sus resultados. En la CU es donde se ejecutan todo el resto de las operaciones (decisin, control, movimiento de datos). Una CPU con todos estos elementos implementada en un solo chip recibe el nombre de microprocesador. 2. La memoria, que es donde datos y programa es almacenado. La memoria puede ser visto como un arreglo unidimensional finito en la que cada

localidad es identificada por un valor asociado a su posicin y que es comunmente llamado direccin. Existen diversos tipos de memoria, identificados por el tipo de tecnologa usada, aunque para un computador son generalmente clasificadas en dos grandes grupos por tipo de uso al que de destina. La memoria RAM (Random Access Memory, Memoria de Acceso Aleatorio) y que es aquella destinada al almacenamiento de datos y programas (incluyendo al sistema operativo), es considerada temporal o de tipo voltil ya que pierde si contenido cuendo el computador es apagadoo reinicializado. La memoria ROM es aquella de tipo permanente, aun cuando el computador sea desenergizado mantendr su contenido. Es usada principalmente para el almacenamiento de pequeos programas destinados a la adminsitracin bsica de recursos, especialmente de entrada y salida. 3. Las interfaces de entrada y salida (I/O). destinadas a liberar de trabajo a la CPU en la comunidacin con dispositivos de entrada (teclados, ratones), salida (impresoras) y entrada-salidas (discos, cintas). Estos tres elementos estn interconectados a travs de un conjunto de lneas que llevan instrucciones (control bus), datos (data bus) y que permiten dar los valores de direcciones de memoria y dispositivos (memory bus). Un ordenador con arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente: 1. Enciende el ordenador y Obtiene la siguiente instruccin desde la memoria en la direccin indicada por el contador de programa y la guarda en el registro de instruccin. 2. Aumenta el contador de programa en la longitud de la instruccin para apuntar a la siguiente. 3. Descodifica la instruccin mediante la unidad de control. sta se encarga de coordinar el resto de componentes del ordenador para realizar una funcin determinada. 4. Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa, permitiendo as operaciones repetitivas. El contador puede cambiar tambin cuando se cumpla una cierta condicin aritmtica, haciendo que el ordenador pueda tomar decisiones, que pueden alcanzar cualquier grado de complejidad, mediante la aritmtica y lgica anteriores. 5. Vuelve al paso 2. Hoy en da, la mayora de ordenadores estn basados en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratn, teclado, etc). LA ARQUITECTURA HARVARD

El trmino Arquitectura Harvard originalmente se refera a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento fsicamente separados para las instrucciones y para los datos (en oposicin a la Arquitectura Eckert-Mauchly). El trmino 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 ms habitual es que exista un nico bus de direcciones, en cuyo caso debe existir alguna seal de control que permita diferenciar a que espacio de memoria se hace referencia (por ejemplo, seales de READ, WRITE y FETCH). Es la arquitectura propia de un buen nmero de microcontroladores (por ejemplo, PIC). En los ltimos aos la velocidad de las CPUs ha aumentado mucho en comparacin a la de las memorias con las que trabaja, as que se debe poner mucha atencin en reducir el nmero de veces que se accede a ella para mantener el rendimiento. Si, por ejemplo, cada instruccin 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 'limitacin de memoria'. Se puede fabricar memoria mucho ms rpida, pero a costa de un precio muy alto. La solucin, por tanto, es proporcionar una pequea cantidad de memoria muy rpida conocida con el nombre de cach. Mientras los datos que necesita el procesador estn en la cach, el rendimiento ser mucho mayor que si la cach tiene que obtener primero los datos de la memoria principal. La optimizacin de la cach es un tema muy importante de cara al diseo de computadoras. La arquitectura Harvard ofrece una solucin particular a este problema. Las instrucciones y los datos se almacenan en cachs 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 slo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. Esta arquitectura suele utilizarse en DSPs, o procesador de seal digital, usados habitualmente en productos para procesamiento de audio y video. Arquitectura Harvard La arquitectura tradicional: La arquitectura tradicional de computadoras y microprocesadores se basa en el esquema propuesto por John Von Neumann, en el cual la unidad central de proceso, o CPU, esta conectada a una memoria nica que contiene las instrucciones del programa y los datos (figura 1.1.1). El tamao de la unidad de datos o instrucciones esta fijado por el ancho del bus de la memoria. Es decir que un microprocesador de 8 bits, que tiene adems un bus de 8 bits que lo conecta con la memoria, deber manejar datos e instrucciones de una o

ms unidades de 8 bits (bytes) de longitud. Cuando deba acceder a una instruccin o dato de ms de un byte de longitud, deber realizar ms de un acceso a la memoria. Por otro lado este bus nico limita la velocidad de operacin del microprocesador, ya que no se puede buscar de memoria una nueva instruccin, antes de que finalicen las transferencias de datos que pudieran resultar de la instruccin anterior. Es decir que las dos principales limitaciones de esta arquitectura tradicional son : a) que la longitud de las instrucciones esta limitada por la unidad de longitud de los datos, por lo tanto el microprocesador debe hacer varios accesos a memoria para buscar instrucciones complejas, b) que la velocidad de operacin (o ancho de banda de operacin) esta limitada por el efecto de cuello de botella que significa un bus nico para datos e instrucciones que impide superponer ambos tiempos de acceso. La arquitectura von Neumann permite el diseo de programas con cdigo automodificable, prctica bastante usada en las antiguas computadoras que solo tenan acumulador y pocos modos de direccionamiento, pero innecesaria, en las computadoras modernas. La arquitectura Harvard y sus ventajas: La arquitectura conocida como Harvard, consiste simplemente en un esquema en el que el CPU esta conectado a dos memorias por intermedio de dos buses separados. Una de las memorias contiene solamente las instrucciones del programa, y es llamada Memoria de Programa. La otra memoria solo almacena los datos y es llamada Memoria de Datos (figura 1.1.2). Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instruccin Set Computer), el set de instrucciones y el bus de la memoria de programa pueden disearse de manera tal que todas las instrucciones tengan una sola posicin de memoria de programa de longitud. Adems, como los buses son independientes, el CPU puede estar accediendo a los datos para completar la ejecucin de una instruccin, y al mismo tiempo estar leyendo la prxima instruccin a ejecutar. Se puede observar claramente que las principales ventajas de esta arquitectura son: a) que el tamao de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instruccin ocupe una sola posicin de

memoria de programa, logrando as mayor velocidad y menor longitud de programa, b) que el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operacin. Una pequea desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran fsicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador).

FIG. 1.1.2 Arquitectura Harvard Los microcontroladores PIC 16C5X, 16CXX y 17CXX poseen arquitectura Harvard, con una memoria de datos de 8 bits, y una memoria de programa que, segn el modelo, puede ser de 12 bits para los 16C5X, 14 bits para los 16CXX y 16 bits para los 17CXX.

1.6.2. Arquitectura Harvard (tutorial1) La arquitectura Harvard 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 slo almacena datos (Memoria de Datos). Ambos buses son totalmente independientes y pueden ser de distintos anchos. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instruccin Set Computer), el set de instrucciones y el bus de memoria de programa pueden disearse de tal manera que todas las instrucciones tengan una sola posicin de memoria de programa de longitud. Adems, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecucin de una instruccin, y al mismo tiempo leer la siguiente instruccin a ejecutar. Ventajas de esta arquitectura: 1. El tamao de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instruccin ocupe una sola posicin de memoria de programa, logrando as mayor velocidad y menor longitud de programa. 2. El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad

en cada operacin. Una pequea desventaja de los procesadores con arquitectura Harvard, es que deben poseer instrucciones especiales para acceder a tablas de valores constantes que pueda ser necesario incluir en los programas, ya que estas tablas se encontraran fsicamente en la memoria de programa (por ejemplo en la EPROM de un microprocesador). Figura 4: Arquitectura Harvard El microcontrolador PIC 16F84 posee arquitectura Harvard, con una memoria de datos de 8 bits, y una memoria de programa de 14 bits. En la Figura 5 vemos la arquitectura interna organizada en bloques interconectados, en donde se incluye la memoria RAM, la memoria EEPROM, los puertos de entrada y salida (I/O), etc.