Está en la página 1de 11

Microprocesador El microprocesador o simplemente procesador, es el circuito integrado central y ms complejo de una computadora u ordenador; a modo de ilustracin, se le suele asociar

por analoga como el "cerebro" de una computadora. El procesador es un circuito integrado constituido por millones de componentes electrnicos integrados. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador. Desde el punto de vista funcional es, bsicamente, el encargado de realizar toda operacin aritmtico-lgica, de control y de comunicacin con el resto de los componentes integrados que conforman un PC, siguiendo el modelo base de Von Neumann. Tambin es el principal encargado de ejecutar los programas, sean de usuario o de sistema; slo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, bsicamente, las aritmticas y lgicas, tales como sumar, restar, multiplicar, dividir, las lgicas binarias y accesos a memoria. Esquema del Microprocesador Los elementos ms importante de un microprocesador son: Unidad Aritmtico Lgica (UAL) y la Unidad de Control (UC). La Unidad Aritmtico Lgica es la que realiza las operaciones del microprocesador, se encarga de sumar, restar, hacer operaciones lgicas, etc. con los operandos que le llegan de los registros X e Y.. La Unidad de Control gobierna todos los dems elementos con unas lneas de control que se van encendiendo y apagando sicronizadamente con la seal de reloj. Al reiniciar el microprocesador, la Unidad de Control recibe una seal de reset y prepara al resto del sistema y recibe la seal de reloj que marca la velocidad del procesador. - El registro PC (Program Counter), o Contador de Programa, se carga con la direccin de memoria en la que empieza el programa. - La Unidad de Control hace que el Contador de Programa (PC) apareca en el bus de direcciones y le indica a la RAM que quiere leer un dato que tiene almacenado en esa posicin. - La memoria pone el dato, que es la instruccin del programa, en el bus de datos, desde el que se carga en el Registro de Instrucciones (RI). La Unidad de Control procesa sto y va activando los movimientos de datos. - La instruccin pasa del RI al Decodificador de Instrucciones (DI) que contiene una tabla con el significado de la instruccin. El DI ejecuta la instruccin y sino puede consulta con la Unidad de Control.

- Si la instruccin fuese una suma, la UC cargara los valores a sumar en los registros A y B de la UAL. Luego le ordenara a la UAL que los sumase y lo pusiera en el bus de datos. - Luego la UC hara que el Contador de Programa avanzara un paso para ejecutar la siguiente instruccin y as sucesivamente. Diagrama de Bloques

Arquitectura Secuenciales Von Neuman (1946/1947) Programa Almacenado (Control Flow) Datos Alamcenados Representacin binaria Flujo interno paralelo (byte o palabra) No paralelismo de operaciones Unidades Funcionales: En el computador se encuentran Unidades Funcionales interrelacionadas que interactan.estas son: CPU Memoria Sistema E/S Estructura Bus: La distancia fsica que separa los componentes puede ser grande de manera tal que sea imposible lograr una transmisin sincrnica de la informacin entre ambos. La transmisin asincrnica se implementa muy frecuentemente con un mecanismo que se denomina "handshaking" (acuerdo). Arquitectura Paralela La arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la que se descomponen un proceso secuencial en suboperaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una lnea puede considerarse como un conjunto de segmentos de

procesamiento por el que fluye informacin binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del clculo en cada segmento se transfiere al siguiente segmento en la lnea. El resultado final se obtiene despus de que los datos han recorrido todos los segmentos. El nombre lnea implica un flujo reinformacin similar a una lnea de ensamblado industrial. Es caracterstico de las lneas que varios clculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los clculos es posible al asociar un registro con cada segmento en la lnea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultnea. Tal vez la manera ms simple de apreciar la arquitectura de lneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. El registro contiene los datos y el circuito combinatorio ejecuta las suboperacin en el segmento particular. La salida del circuito combinacional es un segmento dado se aplica al registro de entrada del siguiente segmento. Se aplica un reloj a todos los registros despus de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la informacin fluye por la lnea un paso a la vez. La organizacin de la lnea se mostrar mediante un ejemplo: Supongamos que deseamos ejecutar las operaciones multiplicar y sumar combinadas con un flujo de nmeros. Ai * B1 + Ci para i=1,2,3,7

Cada suboperacin se va a implantar en un segmento dentro de la lnea. Cada segmento tiene uno o dos registros y un circuito combinatorio, como se muestra en la figura 9.2. De R1 a R5 son registros que reciben nuestros datos con cada pulso de reloj. El multiplicador y el sumador son circuitos combinatorios. Las suboperaciones ejecutadas en cada segmento del conducto son las siguientes: R1 Ai R2 Bi Introducir Ai y Bi R3 R1*R2, R4 Ci Multiplicar e introducir Ci R5 R3+R4 Sumar Ci de reloj. El Los cinco registros se cargan con datos nuevos en cada pulso al producto efecto de cada pulso de reloj se muestra en la tabla 9.-1 El primer pulso de reloj transfiere A1 y B1 dentro de R1 y R2. El segundo pulso de reloj transfiere el producto de R1 y R2 dentro de R3 y C1 dentro de R4. El mismo pulso de reloj transfiere A2 y B2 dentro de R1 y R2. El tercer pulso de reloj opera sobre los tres segmentos en forma simultnea. Coloca a A3 y B3 dentro de R1 y R2, transfiere el producto R1 y R2 dentro de R3, transfiere C2 dentro de R4 y coloca la suma de R3 y R4 dentro de R5. Se necesita tres pulsos de reloj para llenar la lnea y recuperar la primera salida de R5. De ah en adelante, cada ciclo de reloj produce una nueva salida y mueve los datos un paso adelante en la lnea. Estos sucede en tanto fluyan nuevos datos dentro del sistema cuando ya no hay datos de entrada disponibles, el reloj debe continuar hasta que emerge la ltima salida de la lnea. Instrucciones por ciclo La unidad Instructions por ciclo, en ingls Instructions per cycle (IPC) indica la cantidad de instrucciones que un procesador ejecuta en un ciclo de reloj.

Normalmente se trata de un valor medio, ya que la cantidad de instrucciones ejecutadas en un ciclo de reloj en la mayora de arquitectura de procesadores vara. Adiciones sencillas, por ejemplo, pueden ejecutarse ms rpidamente que una cantidad de instrucciones con coma flotante. Para el clculo se suelen ejecutar primero una gran cantidad de instrucciones que se dividen entonces en los ciclos de reloj (que resultan del ritmo de reloj del procesador y de los tiempos requeridos). El Z1 de Konrad Zuse tena, por ejemplo, un mbito de IPC de entre 0,05 y 1. Este valor sirve como referente para medir la eficiencia de una arquitectura, porque el producto del IPC y de la frecuencia de reloj es la cantidad de instrucciones ejecutadas por segundo (MIPS). As, un procesador con un IPC=1 y f=500 MHz tericamente ejecuta tantos intrucciones como otro con un IPC=0.5 y f=1000 MHz. Sin embargo, factores como pipeline de datos limitan la comparatibilidad de forma considerable. Tambin cabe destacar que algunos fabricantes con un ciclo o ciclo de reloj no se refieren al perodo de la signal de reloj, sino a un valor muy superior. En la bibliografa especializada tambin se habla del valor recproco, ciclos por instruccin, en ingls Cycles per Instruction (CPI). Rendimiento de los microprocesadores El microprocesador es uno de los componentes que hay que prestar ms atencin a la hora de actualizarlo, ya que en su velocidad y prestaciones suele determinar la calidad del resto de elementos. Esta afirmacin implica que es absurdo poner el ltimo procesador hasta los topes de GHz con solo 256 o 512 Mb de RAM, o con una tarjeta grfica deficiente, o un sistema de almacenamiento (disco duro) lento y escaso. Hay que hacer una valoracin de todos los elementos del ordenador, actualmente en las tiendas suelen venderse digamos "motores de un mercedes en la carrocera de un 600". Esto tenemos que evitarlo, dejndonos aconsejar por usuarios experimentados o bien repasarse bien esta Web, donde se puede obtener informacin se sobra de cmo hacer una correcta compra. Adems del microprocesador, la velocidad general del sistema se ver muy influenciada debido a la placa base, la cantidad de memoria RAM, la tarjeta grfica y el tipo de disco duro. Profundizar sobre estos temas se escapa de esta seccin de microprocesadores, accede a la seccin de componente en particular para ms informacin. Hoy da, hay que fijarse el propsito de la utilizacin del ordenador para elegir el correcto microprocesador. Por ejemplo, si se va a trabajar con los tpicos programas de ofimtica (Word, Excel...), un AthlonXP o un Celeron sencillito con 512 Mb de RAM es ms que de sobra. Sin embargo, segn sean ms complejos y nuevos los programas, ms complejos sern los equipos. Los programas multimedia y enciclopedias, requieren un procesador de gama media. A los programas de retoque fotogrfico se les puede poner tambin un procesador de gama media, aunque influir sobre todo la memoria RAM (harn falta un mnimo de 1024 Mb. para un rendimiento medianamente ptimo y recomendablemente 2048).

Y ltimamente se est incitando a la adquisicin de equipos mejores debido sobre todo a los ltimos juegos 3D, la renderizacin de grficos tridimensionales o la ejecucin multitarea de servidores de red. Para esto, nada es suficiente, por ello los micros son cada vez ms y ms rpidos y complejos. Por ello es necesaria la compra de una tarjeta grfica relativamente potente, dependiendo del presupuesto y las necesidades. Huye de tarjetas muy econmicas que el rendimiento puede ser hasta 10 veces inferior el de una tarjeta que cueste el doble. El uso de los ltimos micros que sobrepasan la mtica barrera del GHz se justifica por los nuevos sistemas operativos (el nuevo WindowsXP por ejemplo utiliza muchos recursos de la mquina, mucho ms que otros Windows anteriores), los nuevos formatos de audio o vdeo comprimido (DivX y MP3, a diferencia de videos y archivos de sonido normales, estos se descomprimen en tiempo real ,tarea llevada completamente a cabo por el micro), realizar ms trabajo en menos tiempo, como compresiones de archivos, renderizado de dibujos en 3D.... o el simple hecho de cargar un programa como Word o el mismo Windows, y cmo no, los ltimos juegos, quiz las aplicaciones de hoy da que mejor PC en trminos generales requieren. Jerarqua de memoria Se conoce como jerarqua de memoria a la organizacin piramidal de la memoria en niveles, que tienen los ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basndose en el principio de cercana de referencias. Los puntos bsicos relacionados con la memoria pueden resumirse en:

Cantidad Velocidad Coste

La cuestin de la cantidad es simple, cuanto ms memoria haya disponible, ms podr utilizarse. La velocidad ptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre clculo y clculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible. Como puede esperarse los tres factores compiten entre s, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son vlidas:

A menor tiempo de acceso mayor coste A mayor capacidad mayor coste A mayor capacidad menor velocidad.

Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercana de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria ms rpida. Los niveles que componen la jerarqua de memoria habitualmente son:

Nivel 0: Registros Nivel 1: Memoria cach Nivel 2: Memoria principal Nivel 3: Disco duro (con el mecanismo de memoria virtual) Nivel 4: Redes(Actualmente se considera un nivel ms de la jerarqua de memorias)

Taxonoma de Flynn Es la clasificacin ms extendida del paralelismo: Distingue entre instrucciones y datos Estos pueden ser simples o mltiples Las cuatro clasificaciones definidas por Flynn se basan en el nmero de instrucciones concurrentes (control) y en los flujos de datos disponibles en la arquitectura: Una instruccin, un dato (SISD) Computador secuencial que no explota el paralelismo en las instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las mquinas con uni-procesador o monoprocesador tradicionales como el PC o los antiguos mainframe. Mltiples instrucciones, un dato (MISD) Poco comn debido al hecho de que la efectividad de los mltiples flujos de instrucciones suele precisar de mltiples flujos de datos. Sin embargo, este tipo se usa en situaciones de paralelismo redundante, como por ejemplo en navegacin area, donde se necesitan varios sistemas de respaldo en caso de que uno falle. Tambin se han propuesto algunas arquitecturas tericas que hacen uso de MISD, pero ninguna lleg a producirse en masa.

Una instruccin, mltiples datos (SIMD) Un computador que explota varios flujos de datos dentro de un nico flujo de instrucciones para realizar operaciones que pueden ser paralelizadas de manera natural. Por ejemplo, un procesador vectorial. Mltiples instrucciones, mltiples datos (MIMD) Varios procesadores autnomos que ejecutan simultneamente instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos suelen clasificarse como arquitecturas MIMD; bien sea explotando un nico espacio compartido de memoria, o uno distribuido. Paralelismo (Informtica), es una funcin que realiza el procesador para ejecutar varias tareas al mismo tiempo. Paralelismo Espacial Espacial porque hay una distribucion de tareas no en el tiempo sino en el espacio. En vez de haber una sola CPU tendremos varias, con varias UAL. Veremos una clasificacin propuesta por Flynn. S.I.S.D. : simple camino de control y simple camino de datos. Una UC, CPU, UAL. S.I.M.D. : estas maquinas tienen un nico camino de control y varios de datos es decir tendrn varias UC y Memorias.(De nada servira varias UAL y una nica memoria). M.I.S.D. : tendremos muchos caminos de control o instrucciones y uno solo de datos. A este tipo de maquinas no se les encontr sentido son maquinas que no existen. M.I.M.D. : tendremos muchos caminos de instrucciones, muchos caminos de datos, tendremos muchas UC, Muchas UAL y muchas memorias, estas maquinas si existen. Paralelismo temporal: dicho paralelismo se hace en el tiempo y se apolla en el esquema de pipeline. La arquitectura pipeline se aplica en dos lugares de la maquina, en la CPU y en la UAL. BUS En arquitectura de computadores, el bus es un sistema digital que transfiere datos entre los componentes de una computadora o entre computadoras. Est formado por cables o pistas en un circuito impreso, dispositivos como resistencias y condensadores adems de circuitos integrados. En los primeros computadores electrnicos, todos los buses eran de tipo paralelo, de manera que la comunicacin entre las partes del computador se haca por medio de cintas o muchas pistas en el circuito impreso, en los cuales cada conductor tiene una funcin fija y la conexin es sencilla requiriendo nicamente puertos de entrada y de salida para cada dispositivo.

La tendencia en los ltimos aos es el uso de buses seriales como el USB, Firewire para comunicaciones con perifricos y el reemplazo de buses paralelos para conectar toda clase de dispositivos, incluyendo el microprocesador con el chipset en la propia placa base. Son conexiones con lgica compleja que requieren en algunos casos gran poder de cmputo en los propios dispositivos, pero que poseen grandes ventajas frente al bus paralelo que es menos inteligente. Existen diversas especificaciones de bus que definen un conjunto de caractersticas mecnicas como conectores, cables y tarjetas, adems de protocolos elctricos y de seales. Existen dos grandes tipos clasificados por el mtodo de envo de la informacin: bus paralelo o bus serie. Hay diferencias en el desempeo y hasta hace unos aos se consideraba que el uso apropiado dependa de la longitud fsica de la conexin: para cortas distancias el bus paralelo, para largas el serial. EI bus representa bsicamente una serie de cables mediante los cuales pueden cargarse datos en la memoria y desde all transportarse a la CPU. Por as decirlo es la autopista de los datos dentro del PC ya que comunica todos los componentes del ordenador con el microprocesador. El bus se controla y maneja desde la CPU. El objetivo de conectar una tarjeta a un bus de expansin es que sta funcione como si estuviera directamente conectada al procesador. Con el fin de hacer factible estas caractersticas el bus de expansin XT presentaba el mismo ancho de bus (8 bits) y operaba a la misma velocidad de reloj (4.77 MHz) que el propio procesador 8088. Con la evolucin de los procesadores tambin hubo una revolucin en los buses que se haban quedado obsoletos. As cuando en 1984 IBM presenta el PC AT (con el procesador Intel 80286) se rompi la aparentemente inquebrantable relacin entre bus y microprocesador. Aunque en la practica el reloj del procesador de un AT funciona a la misma velocidad que su reloj de bus, IBM haba abierto la puerta a la posibilidad de que este ltimo fuese ms rpido que el reloj del bus. As pues el bus que incorpor el AT fue de un ancho de banda de 16 bits funcionando a 8.33 Mhz. Este enfoque de diseo no oficial se denomin oficialmente ISA (Industry Standard Arquitecture) en 1988. Puesto que el bus ISA ofreca algunas limitaciones En IBM se desarroll otro tipo de bus que funcionaba a 10 Mhz y que soportaba un ancho de banda de 32 bits. Este bus se monto en la gama PS/2. El gran problema de este bus es que no era compatible con los anteriores y necesitaba de tarjetas de expansin especialmente diseadas para su estructura. Como el mercado necesitaba un bus compatible ISA que fuese ms rpido, la mayora de fabricantes establecieron las especificaciones del bus EISA (Extended ISA) que ensanchaba la ruta de datos hasta 32 bits, sin embargo la necesidad de compatibilidad con ISA hizo que este nuevo bus tuviese que cargar con la velocidad bsica de transferencia de ISA (8.33 Mhz).

Pero la gran revolucin estaba por llegar. Por un lado los procesadores Intel 80486 y por otro la invasin en el mercado de los sistemas grficos como Windows hicieron necesario la aparicin de un nuevo tipo de bus que estuviese a la altura de estos hitos. Al manejarse grficos en color se producan grandes cuellos de botella al pasar del procesador al bus ISA (el 80486 funcionaba a 33 Mhz y el bus ISA a 8.33 Mhz). La solucin era enlazar el adaptador grfico y otros perifricos seleccionados directamente al microprocesador. Es aqu donde surgen los buses locales. Fue VESA ( un organismo de estandarizacin de dispositivos de vdeo) quin present el primer tipo de bus local. Se le llamo VESA LOCAL BUS (VLB). Este tipo de bus revolucion el mercado ya que permita una velocidad de 33 Mhz pudindose alcanzar una mxima de 50 Mhz y su ancho de banda era de 32 bits (aunque en su especificacin 2.0 se alcanzan los 64 bits). En el ao 1992 Intel present un nuevo bus local llamado PCI, que aunque no mejor el rendimiento del VLB, super las carencias que presentaba este bus que estaba orientado al diseo de los procesadores 80486. As pues el PCI se desarroll como un bus de futuro. La velocidad de este bus era inicialmente de 20 Mhz y funcionaba a 32 bits, aunque en la actualidad su velocidad de transferencia alcanza los 33 Mhz y su ancho de banda llega hasta los 64 bits. Otra caracterstica de este tipo de bus es la posibilidad de que se le conecten tarjetas que funcionen a distintos voltajes. Consistencia de memoria En Informtica, en un sistema distribuido, tales como una memoria compartida distribuida o almacenes de datos distribuido, tales como una base de datos, sistema de archivos, cach web o sistemas de replicacin optimista, hay una serie de posibles modelos de consistencia de datos. Se dice que un sistema soporta un determinado modelo, si las operaciones en memoria siguen normas especficas. La consistencia de los datos es definida entre el programador y el sistema, que garantiza que si el programador sigue las reglas, la memoria ser consistente y el resultado de las operaciones de memoria ser predecible. Los lenguajes de alto nivel, tales como C, C++ y Java, respetan parcialmente este modelo traduciendo operaciones de memoria en operaciones de bajo nivel para preservar la memoria semntica. Para mantener el modelo, los compiladores pueden reordenar algunas instrucciones de memoria, y las llamadas a las bibliotecas como pthread_mutex_lock(), encapsular la sincronizacin necesaria. Los ejemplos incluyen: Linealizable (tambin conocido como el estricta o consistencia atmica) Consistencia secuencial Consistencia de causalidad Consistencia liberada Consistencia eventual Consistencia delta Consistencia PRAM (tambin conocido como consistencia FIFO) Consistencia dbil

Consistencia vector campo MODELO DE CONSISTENCIA Un modelo de consistencia de memoria especifica las garantas de consistencia que un sistema MCD realiza sobre los valores que los procesos leen desde los objetos, dado que en realidad acceden sobre una rplica de cada objeto y que mltiples procesos pueden actualizar los objetos. Consistencia Secuencial. Coherencia Consistencia Dbil. Consistencia Relajada. Consistencia Secuencial: Para cualquier ejecucin existe algn entrelazado de las series de operaciones realizadas por todos los procesos que satisfacen: La secuencia entrelazada de operaciones es tal que si L(x)a ocurre en la secuencia, entonces, o la ltima operacin de escritura que ocurri antes en la secuencia entrelazada fue E(x)a, o no ha ocurrido ninguna operacin de escritura antes que ella. El orden de las operaciones en el entrelazado es consistente con el orden de programa en que dichas operaciones fueron ejecutadas por cada cliente individual. Coherencia: Cada proceso llega a acuerdos sobre el orden de las operaciones de escritura sobre la misma posicin, pero no acuerdan necesariamente el orden de las operaciones de escritura sobre las posiciones diferentes. Consistencia Dbil: Aprovecha el conocimiento de las operaciones de sincronizacin para relajar la consistencia de memoria, mientras se muestra al programador para implementar una consistencia secuencial. Consistencia Relajada: Mejorar las prestaciones. Preservar la semntica de sincronizacin de objetos del tipo de bloqueos y barreras. Limitar el solapamiento entre los accesos a memoria, para garantizar ejecuciones cuyos resultados sean equivalentes a los obtenidos con consistencia secuencial. Coherencia de cach La coherencia de cache hace referencia a la integridad de los datos almacenados en las caches locales de los recursos compartidos. La coherencia de la cache es un caso especial de la coherencia de memoria.

Cuando los clientes de un sistema, en particular las CPUs en un multiprocesador, mantienen caches de una memoria compartida, los conflictos crecen. Haciendo referencia al dibujo, si el cliente de arriba tiene una copia de un bloque de memoria de una lectura previa y el cliente de abajo cambia ese bloque, el cliente de arriba podra estar trabajando con datos errneos, sin tener conocimiento de ello. La coherencia de la cache intenta administrar estos conflictos y mantener consistencia entre las caches y la memoria. Mecanismos para la coherencia de la cache Los protocolos basados en directorio mantienen un directorio centralizado de los bloques que hay en las caches. Se utilizan tanto en multiprocesadores con memoria fsicamente distribuida, como en sistemas con memoria centralizada con red escalable. Estos protocolos de mantenimiento de coherencia reducen el trfico en la red enviando selectivamente rdenes slo a aquellas caches que disponen de una copia vlida del bloque implicado en la operacin de memoria. El protocolo Snoopy hace que las caches individualmente monitoreen las lneas(buses) de direcciones de accesos a memoria con respecto a los bloques que han copiado. Cuando una operacin de escritura es observada sobre una direccin de un bloque del cual tiene un bloque, el controlador de cache invalida su copia. Tambin es posible que el controlador de cache observe la direccin y el dato correspondiente a esa direccin, intentando as actualizar su copia cuando alguien modifica dicho bloque en la memoria principal. El protocolo de memoria distribuida imita a los anteriores en un intento de mantener la consistencia entre bloques de memoria en sistemas con dbil acoplamiento.