Anda di halaman 1dari 9

La arquitectura de computadoras

La arquitectura de computadoras es el diseo conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria. Tambin suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras segn los requerimientos de funcionalidad, rendimiento y costo. El ordenador recibe y enva la informacin a travs de los perifricos por medio de los canales. La UCP es la encargada de procesar la informacin que le llega al ordenador. El intercambio de informacin se tiene que hacer con los perifricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina perifrico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que esta compuesta por la memoria principal, la UAL y la UC) y los perifricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones).

Arquitectura de Harvard.
El termino arquitectura Harvard proviene de la computadora Harvard Mark I, se encarga de almacenar instrucciones en cintas perforadas y los datos en interrupciones. Es la misma arquitectura de computadoras, posee dispositivos de almacenamiento que se encuentran separados fsicamente para los datos y las instrucciones. Las partes principales de las computadoras es la memoria y la CPU, la primera guarda los datos y la CPU los procesa. A travs de la memoria no solo se pueden manejar los datos sino tambin el lugar donde se encuentran almacenados, estos dos parmetros son de mucha importancia para la CPU. 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 parmetros, los datos en s, y el lugar donde se encuentran almacenados (o direccin). Los dos son importantes para la CPU, pues muchas instrucciones frecuentes se traducen a algo as como "coge los

datos de sta direccin y adelos a los datos de sta otra direccin", sin saber en realidad qu es lo que contienen los datos. 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'.

Ventajas de la arquitectura Harvard


a) 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) el tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad de operacin. En contraste con una arquitectura de Von Neumann, la arquitectura Harvard es definitivamente la ganadora en velocidad, pero no en conveniencia a la hora de ejecutar grupos de instrucciones distintas. Un ejemplo de computadoras programables que usan la arquitectura Harvard, son los famosos PIC.

"Diversos modelos de PIC's"

Desventajas de la arquitectura Harvard


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).

Arquitectura de von Neumann (princeton)


La arquitectura de von Neumann es una familia de 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 mayora de computadoras modernas estn basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratn, teclado, etc).

Origen de la arquitectura de von Neumann


El nacimiento u origen de la arquitectura Von Neumann surge a raz de una colaboracin en el proyecto ENIAC del matemtico de origen hngaro, John Von Neumann. Este trabajaba en 1947 en el laboratorio atmico de Los Alamos cuando se encontr con uno de los constructores de la ENIAC. Compaero de Albert Einstein, Goedel y Turing en Princeton, Von Neumann

se interes por el problema de la necesidad de "recablear" la mquina para cada nueva tarea. Organizacin de la arquitectura de von Neumann Los ordenadores con esta arquitectura constan de cinco partes: La unidad aritmtico-lgica o ALU, la unidad de control, la memoria, un dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes. Un ordenador con esta arquitectura 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. Decodifica 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 1. Desarrollo del concepto de programa almacenado El matemtico Alan Turing, quien haba sido alertado de un problema de lgica matemtica por las lecciones de Max Newman en la Universidad de Cambridge, escribi un artculo en 1936 titulado On Computable Numbers, with an Application to the Entscheidungs problem, que fue publicado en los Proceedings of the London Mathematical Society. En l describa una mquina hipottica que llam mquina computadora universal, y que ahora es conocida como la Mquina de Turing. La mquina hipottica tenia un almacenamiento infinito (memoria en la terminologa actual) que contena tanto las instrucciones como los datos. El ingeniero alemn Konrad Zuse

escribi de forma independiente sobre este concepto en 1936. Von Neumann conoci a Turing cuando ejerca de profesor sustituto en Cambridge en 1935 y tambin durante el ao que Turing pas en la Universidad de Princeton en 1936-37. Cuando supo del artculo de 1936 de Turing no est claro.

Desventaja de la arquitectura Von Neumann


Pero no todo es amor y felicidad en la tierra de Von Neumann. La separacin que se obtiene entre el CPU y la memoria da como resultado una de las obsesiones mas grandes de la industria del hardware: el famoso cuello de botella. El problema radica, en que la CPU esta continuamente forzada a esperar a que los datos sean transportados desde o hacia la memoria RAM, ms que todo debido a la diferencia entre la taza de transferencia de datos que existen entre la CPU y la RAM.

"Imagen de ejemplo de un cuello de botella"

Cul es la diferencia entre Arquitectura Von Neumann y Arquitectura de Harvard?

La principal diferencia entre la arquitectura Harvard y la arquitectura Von Neumann se encuentra en los datos de la arquitectura Von Neumann y los programas se almacenan en la memoria de la misma y gestionado por el mismo sistema de manejo de informacin. Considerando que los datos de las tiendas de la arquitectura de Harvard y programas en los dispositivos de memoria independiente y que son manejados por diferentes subsistemas. Por supuesto, hay otras diferencias, pero lo mencionado es la diferencia ms profunda que la distingue en trminos de capacidades y usos. En un equipo que utiliza la arquitectura Von Neumann, sin cach, la unidad de procesamiento central (CPU) puede ser la lectura y la instruccin o la escritura / lectura de datos a / desde la memoria. Ambas de estas operaciones no pueden ocurrir simultneamente, como los datos e instrucciones de uso del bus del sistema mismo. En un equipo que utiliza la arquitectura de Harvard, la CPU puede leer una instruccin y los datos de acceso a la memoria al mismo tiempo, sin memoria cach. Esto significa que una computadora con arquitectura Harvard, potencialmente puede ser ms rpido para un circuito determinado por la complejidad de acceso a datos y la instruccin no se obtiene alegan para el uso de una va nica de memoria.

Diferencias entre la arquitectura Princeton y Harvard


Arquitectura Princeton La memoria de programa y la memoria de datos se hallan sobre un nico espacio de memoria. Arquitectura Harvard La memoria de programa y la memoria de datos constituyen dos espacios de memoria separados

Al espacio nico de memoria se accede mediante un nico bus de direcciones y un nico bus de datos/instrucciones. Es la arquitectura tpica de los grandes microcomputadores (Ordenadores personales).

Tambin se encuentra en algunos microcontroladores (por ejemplo, NEC).

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).

Arquitectura de entrada y salida


En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos. Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas. Una alternativa para las funciones primitivas especiales es la mnada de E/S, que permite que los programas describan su E/S y que las acciones se lleven a cabo fuera del programa. Esto resulta interesante, pues las funciones de E/S introduciran un efecto colateral para cualquier lenguaje de programacin, pero ahora una programacin puramente funcional resultara prctica.

Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda entender. La salida de estos dispositivos son una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada.

La arquitectura de memoria compartida


La arquitectura de memoria compartida puede suponer la separacin de la memoria en partes compartidas distribuidas entre los nodos y la memoria principal; o la distribucin de toda la memoria en los distintos nodos. Un protocolo de coherencia, escogido de acuerdo a un modo de consistencia, se encarga de mantener la coherencia de la memoria En computacin, la Distributed Shared Memory (DSM, o memoria distribuida compartida) es un tipo de implementacin hardware y software, en la que cada nodo de un cluster tiene acceso a una amplia memoria compartida que se aade a la memoria limitada privada, no compartida, propia de cada nodo. Los sistemas de software DSM pueden ser implementados bajo un sistema operativo (SO), o como una biblioteca de programacin. Los sistemas de software DSM implementados en el SO pueden concebirse como extensiones de la arquitectura de memoria virtual subyacente. Estos sistemas son transparentes al desarrollador, lo que significa que la memoria distribuida subyacente est completamente oculta para los usuarios. En contraste, los sistemas de software DSM implementados en una biblioteca no son transparentes y los desarrolladores tienen que programarlos separadamente. Sin embargo, estos ltimos sistemas ofrecen mejores caractersticas de portabilidad en la implementacin de sistemas DSM. Los sistemas de software DSM tambin tienen capacidad para organizar la regin de memoria compartida de manera flexible. Las aproximaciones basadas en pginas organizan la memoria compartida en pginas de tamao fijo. Por su parte, las aproximaciones basadas en objetos organizan la regin

como un espacio abstracto en el que se pueden almacenar objetos compartidos de tamao variable.

Tres Modelos de Computadores de Memoria Compartida


1. Uniform Memory Access (UMA) En sistemas con uniform memory access (acceso a memoria uniforme), cada procesador tiene acceso directo a una sola memoria compartida. Todas las ubicaciones de la memoria son equidistantes (en cuanto a tiempos de acceso) a cada procesador. La mayora de los sistemas UMA incorpora cach para eliminar las disputas de la memoria pero este mecanismo no se ve desde las aplicaciones. 2. Non uniform Memory Access (NUMA) Sistemas con nonuniform memory access (acceso a memoria no uniforme) tienen una memoria fsica compartida distribuida . Cada particin de esta memoria se ata directamente a un nodo pero se puede acceder a ella por procesadores en otro nodos via la red de interconexin. As, los tiempos de acceso a la memoria difieren dependiendo de si la ubicacin requerida es local al nodo o remota a este. Este nivel de complejidad agregado puede ser escondido del software de aplicacin pero hacer esto lleva a un desempeo suboptimo. Para hacer mejor uso del hardware, el programador debe tomar la arquitectura en consideracin. El cache se usa entre procesadores y memoria local asi como entre nodos. Mquinas con cach coherente a nivel del hardware se llaman ccNUMA. 3. Cache-only Memory Architecture (COMA) Sistemas con cache only memory access (acceso a memoria solo en caches) no tiene memoria compartida fsica, pero el cache solo constituye la memoria de las mquinas. Se provee un solo espacio fsico de direcciones pero los tiempos de acceso varan dependientemente si la ubicacin de la memoria requerida est en el cach local o en uno remoto. El software de aplicacin ignorara la arquitectura del sistema ya que la mquina se comporta en forma muy parecida a una mquina UMA con cach.

Anda mungkin juga menyukai