Vous êtes sur la page 1sur 37

10500357 RODRIGUEZ JALIFE YAEL ING.

EN SISTEMAS COMPUTACIONALES

1 Arquitecturas de computo

La arquitectura de una computadora explica la situacin de sus componentes y permite determinar las posibilidades de que un sistema informtico, con una determinada configuracin, pueda realizar las operaciones para las que se va a utilizar. La arquitectura de computadoras se refiere a los atributos de un sistema que son visibles a un programador, es decir aquellos atributos que tienen un impacto directo en la ejecucin lgica de un programa.

Esta arquitectura fue utilizada en la computadora ENIAC. Consiste en una unidad central de proceso que se comunica a travs de un solo bus con un banco de memoria en donde se almacenan tanto los cdigos de instruccin del programa, como los datos que sern procesados por este. Esta arquitectura es la ms empleada en la actualidad ya, que es muy verstil.

La principal desventaja de esta arquitectura, es que el bus de datos y direcciones nico se convierte en un cuello de botella por el cual debe pasar toda la informacin que se lee de o se escribe a la memoria, obligando a que todos los accesos a esta sean secuenciales.

Esta arquitectura surgi en la universidad del mismo nombre, poco despus de que la arquitectura Von Newman apareciera en la universidad de Princeton. Al igual que en la arquitectura Von Newman, el programa se almacena como un cdigo numrico en la memoria, pero no en el mismo espacio de memoria ni en el mismo formato que los datos.

El hecho de tener un bus separado para el programa y otro para los datos permite que se lea el cdigo de operacin de una instruccin, al mismo tiempo se lee de la memoria de datos los operados de la instruccin previa. As se evita el problema del cuello de botella de Von Newman y se obtiene un mejor desempeo.

Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar el desempeo realizando paralelamente varias etapas del ciclo de instruccin al mismo tiempo. En un procesador con segmentacin del cause, cada una de estas etapas se asigna a una unidad funcional diferente, la bsqueda a la unidad de bsqueda y la ejecucin a la unidad de ejecucin. Estas unidades pueden trabajar en forma paralela en instrucciones diferentes. Estas unidades se comunican por medio de una cola de instrucciones en la que la unidad de bsqueda coloca los cdigos de instruccin que ley para que la unidad de ejecucin los tome de la cola y los ejecute. Esta cola se parece a un tubo donde las instrucciones entran por un extremo y salen por el otro.

De esta analoga proviene el nombre en ingles: Pipelining o entubamiento. En general se divide al procesador segmentado en una unidad independiente por cada etapa del ciclo de instruccin.

Cuando se desea incrementar el desempeo ms alla de lo que permite la tcnica de segmentacin del cauce (limite terico de una instruccin por ciclo de reloj), se requiere utilizar ms de un procesador para la ejecucin del programa de aplicacin. Las CPU de multiprocesamiento se clasifican de la siguiente manera: SISO (Single Instruction, Single Operand ) computadoras independientes SIMO (Single Instruction, Multiple Operand ) procesadores vectoriales MISO (Multiple Instruction, Single Operand ) No implementado MIMO (Multiple Instruction, Multiple Operand ) sistemas SMP, Clusters

Las CPU proporcionan la caracterstica fundamental de la computadora digital (la programabilidad ) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con la memoria principal y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. La operacin fundamental de la mayora de los CPU, es ejecutar una secuencia de instrucciones almacenadas llamadas "programa". El programa es representado por una serie de nmeros que se mantentien en en una cierta clase de memoria de computador.

Hay cuatro pasos que casi todos los CPU de arquitectura de von Neumann usan en su operacin: fetch, decode, execute, ywriteback, (leer, decodificar, ejecutar, y escribir).

CISC: Su sistema de trabajo se basa en la micro programacin. Consiste en hacer que cada instruccin sea interpretada por un mini programa.

2) RISC: Microprocesador con un conjunto de instrucciones muy reducidas en contraposicin. Se basan en estructuras simples y por lo tanto su complejidad total de la CPU es menor.

Los CPUs modernos pueden clasificarse de acuerdo a varias caractersticas, tales como: el tamao del ALU o del Bus de conexin al exterior (8, 16, 32, 64 bits),si tienen cauce segmentado o no segmentado, si con tipo CISC o RISC, Von Newan o Harvard y si solo tienen instrucciones enteras o implementan tambin instrucciones de punto flotante.

Las caractersticas ms importantes a considerar al escoger un CPU para usarlo en una aplicacin, son: Modelo del programador (Conjunto de registros que el programador puede utilizar), forman el modelo mental del CPU que el programador utiliza al programar en ensamblador. Conjunto de instrucciones que puede ejecutar el CPU Modos de direccionamiento que pueden usarse para obtener los operandos de las instrucciones. Ciclo de instruccin (el conjunto de pasos que realiza el CPU para procesar cada instruccin) Buses de interconexin, usados para que el CPU lea y escriba a la memoria y a los dispositivos de entrada y salida.

1.2.1.4 Funcionamiento CPU (ALU, unidad de control, Registros y buses internos)


Unidad de intercambio: Esta unidad tiene por objeto adaptar el formato de los datos, la velocidad de operacin y el tipo de seales entre el procesador y los perifricos. Tambin establece el cambio de entrada y salida a los datos y realiza ciertas funciones de control sobre los perifricos. Unidad De Control: La unidad de control es el centro nervioso de la computadora; desde ella se controla y gobiernan todas las operaciones (Bsqueda, Decodificacin y ejecucin de la instruccin). Para realizar su funcin, consta de los siguientes elementos: Registro De Contador De Programas Registro de instrucciones Decodificador Reloj Generador de seales o secuenciador

Unidad de Calculo/Unidad Aritmtico-Logia (UAL:( Esta unidad es la encargada de realizar las operaciones elementales de tipo aritmtico (generalmente sumas o restas) y de tipo lgico (generalmente comparaciones). Para realizar su funcin, consta de los siguientes elementos: Banco de registros Circuitos operadores Registro de resultado Sealizadores de estado

Memoria los circuitos que permiten almacenar y recuperar la informacin. En un sentido ms amplio, puede referirse tambin a sistemas externos de almacenamiento, como las unidades de disco o de cinta. Por lo general se refiere slo al semiconductor rpido de almacenaje (RAM) conectado directamente al procesador.

La Memoria es la encargada de almacenar datos y programas, ya sea por un corto (un rato) o largo (aos) perodo de tiempo. La cantidad de memoria es medida a travs de un sistema especfico: La Memoria se divide en dos partes: Memoria Principal y Memoria Secundaria La Memoria Principal es la unidad de memoria de acceso ms rpida de un computador. Para que un computador funcione, todos los datos y programas necesarios deben estar almacenados ('cargados') en la Memoria Principal. Por otro lado, es la memoria de ms alto costo, por lo que es limitada en tamao. Existen dos tipos de memoria principal: ROM ( Read Only Memory) y RAM (Random Access Memory). La Memoria Secundaria es una memoria de acceso mucho ms lento que la Memoria Principal, es de costo inferior y el almacenamiento de informacin es permanente e ilimitado. Existe una variedad de dispositivos que cumplen la funcin de Memoria Secundaria. Los ms importantes son: Disquetes y Discos Duros. Tambin existen los discos pticos y los Compac Disc. En este ltimo tiempo ha aparecido el DVD, de quien se dice vendr a reemplazar al CD.

La memoria de semiconductor usa circuitos integrados basados en semiconductores para almacenar informacin. Un chip de memoria de semiconductor puede contener millones de minsculos transistores o condensadores. En las computadoras modernas, la memoria principal consiste casi exclusivamente en memoria de semiconductor voltil y dinmica, tambin conocida como memoria dinmica de acceso aleatorio o ms comnmente RAM, su acrnimo ingls. Las memorias de semiconductor no voltiles se estn usando tambin como memorias secundarias en varios dispositivos de electrnica avanzada y computadoras especializadas y no especializadas.

Una memoria cach es una memoria en la que se almacenas una serie de datos para su rpido acceso. Existen muchas memorias cach (de disco, de sistema, incluso de datos). Bsicamente, la memoria cach de un procesador es un tipo de memoria voltil (del tipo RAM), pero de una gran velocidad.

En la actualidad esta memoria est integrada en el procesador, y su cometido es almacenar una serie de instrucciones y datos a los que el procesador accede continuamente, con la finalidad de que estos accesos sean instantneos. Estas instrucciones y datos son aquellas a las que el procesador necesita estar accediendo de forma continua, por lo que para el rendimiento del procesador es imprescindible que este acceso sea lo ms rpido y fluido posible.

Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no voltil de datos y memoria. Su funcin primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Segn su capacidad y la inmediatez con que se puede acceder a los datos almacenados en estos dispositivos, se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas)

Cada controlador est a cargo de un tipo especfico de dispositivo. Dependiendo del controlador, pueden estar varios dispositivos conectados al mismo controlador. El controlador se encarga de mover datos entre el dispositivo periferico que controla y el buffer de almacenamiento local. El tamao del buffer vara de un controlador a otro y depende del dispositivo que controla. Son posibles tres tcnicas para las operaciones de E/S: E/S programada E/S mediante interrupciones DMA

Entrada - Salida controlada por programa: el procesador supervisa todas las transferencias de Entrada - Salida a travs de la iniciacin de ordenes y la verificacin del estado del dispositivo. Esta tcnica se emplea en aplicaciones especializadas y diagnsticos de dispositivos. La Entrada - Salida por programa utiliza la interfaz de hardware en forma mas simple pero no aprovecha eficientemente los recursos.

Entrada - Salida por interrupciones: las funciones son iniciadas bajo el control del programa pero la sincronizacin se maneja por medio de solicitudes de interrupcin al hardware y el dispositivo asociado interrumpe el servicio de rutinas. Se utilizan en aplicaciones de baja o media velocidad en un entorno especializado o de multiprocesamiento. La Entrada - Salida activada por interrupciones utiliza hardware de complejidad relativamente baja y permite el diseo de software eficiente.

Acceso directo a memoria (DMA): la transferencia de Entrada - Salida de un bloque de datos completo se establece bajo el control del programa y se implementa con hardware de uso especial que transfiere datos directamente hacia o desde la memoria principal. Esto ocurre sin mas intervencin de la CPU en forma concurrente con la ejecucin del programa. El DMA se utiliza en dispositivos de velocidad media o alta en forma muy eficiente pero requiere una interfaz de hardware mas completa. Entre los usos mas comunes se cuenta los controladores de cinta o disco magntico, enlace entre los procesadores y procesadores de grficos de alta velocidad.

La configuracin de Entrada - Salida es en trminos generales la seccin menos estandarizada de un sistema de computacin, aunque solo puede disponerse de un numero pequeo de opciones del procesador, la seleccin del tipo y nmeros de dispositivos de Entrada - Salida depende considerablemente de las aplicaciones. Adems la configuracin de Entrada - Salida tiende a cambiar conforme se desarrolla y expande el sistema. Es muy deseable poder agregar o desmontar dispositivos sin tener que volver a configurar la maquina bsicamente minimizando al mismo tiempo el costo y la complejidad. El mtodo fundamental para alcanzar estas metas es el diseo del hardware y de la modularidad de dicho diseo. El vehculo habitual para lograrla en el sistema de Entrada - salida es el canal de Entrada - Salida comn. En este canal se interconectan dispositivos de Entrada - Salida, la CPU y la memoria principal y permite comunicaciones flexibles entre estas unidades. Las funciones principales del canal de Entrada - Salida hace posible que mltiples dispositivos:

Transfieren informacin por trayectorias de datos comunes compartiendo y reduciendo la complejidad del hardware. Se agregan o desmontan dispositivos simplemente enchufando o desenchufando sus cables (plug and play). Se enlace va a un mecanismo, el canal de Entrada - Salida empleando especificaciones lgicas, elctricas y fsicas estandarizadas. Esta estandarizacin hace posible que familias enteras de computadoras con diverso nivel de rendimiento utilicen los mismos perifricos. Adems, el diseador de una interfaz del dispositivo de Entrada - Salida no necesita estar familiarizado con el diseo de la CPU, ni conocer con que maquina en particular va a funcionar la interfaz. Solo debe comprender las caractersticas del canal, cuyas especificaciones necesarias pueden clasificarse en 3 categoras: Lgicas: definicin y agrupacin de seales relacionadas de polaridad lgica, por ejemplo: direccin, datos, control, sincronizacin, etc. Elctricas y fsicas: niveles de seales, tipos de cables, conectores, etc. Protocolo: reglas de uso del canal, tal como las relaciones de tiempo (temporizacin, sincronizacin, reconocimiento y arbitraje).

En arquitectura de computadores, el bus (o canal) 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 resistores 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 funcin del bus es la de permitir la conexin lgica entre distintos subsistemas de un sistema digital, enviando datos entre dispositivos de distintos rdenes: desde dentro de los mismos circuitos integrados, hasta equipos digitales completos que forman parte de supercomputadoras. La mayora de los buses estn basados en conductores metlicos por los cuales se trasmiten seales elctricas que son enviadas y recibidas con la ayuda de integrados que poseen una interfaz del bus dado y se encargan de manejar las seales y entregarlas como datos tiles. Las seales digitales que se trasmiten son de datos, de direcciones o seales de control. Los buses definen su capacidad de acuerdo a la frecuencia mxima de envo y al ancho de los datos. Por lo general estos valores son inversamente proporcionales: si se tiene una alta frecuencia, el ancho de datos debe ser pequeo. Esto se debe a que la interferencia entre las seales (crosstalk) y la dificultad de sincronizarlas, crecen con la frecuencia, de manera que un bus con pocas seales es menos susceptible a esos problemas y puede funcionar a alta velocidad. Todos los buses de computador tienen funciones especiales como las interrupciones y las DMA que permiten que un dispositivo perifrico acceda a una CPU o a la memoria usando el mnimo de recursos.

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. Bus paralelo Es un bus en el cual los datos son enviados por bytes al mismo tiempo, con la ayuda de varias lneas que tienen funciones fijas. La cantidad de datos enviada es bastante grande con una frecuencia moderada y es igual al ancho de los datos por la frecuencia de funcionamiento. En los computadores ha sido usado de manera intensiva, desde el bus del procesador, los buses de discos duros, tarjetas de expansin y de vdeo, hasta las impresoras. Diagrama de un Bus Backplane como extensin del bus de procesador. El front-side bus de los procesadores Intel es un bus de este tipo y como cualquier bus presenta unas funciones en lneas dedicadas: Las lneas de direccin son las encargadas de indicar la posicin de memoria o el dispositivo con el que se desea establecer comunicacin. Las lneas de control son las encargadas de enviar seales de arbitraje entre los dispositivos. Entre las ms importantes estn las lneas de interrupcin, DMA y los indicadores de estado. Las lneas de datos trasmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2. Un bus paralelo tiene conexiones fsicas complejas, pero la lgica es sencilla, que lo hace til en sistemas con poco poder de cmputo. En los primeros microcomputadores, el bus era simplemente la extensin del bus del procesador y los dems integrados "escuchan" las lnea de direcciones, en espera de recibir instrucciones. En el PC IBM original, el diseo del bus fue determinante a la hora de elegir un procesador con I/O de 8 bits (Intel 8088), sobre uno de 16 (el 8086), porque era posible usar hardware diseado para otros procesadores, abaratando el producto.

Bus serie En este los datos son enviados, bit a bit y se reconstruyen por medio de registros o rutinas de software. Est formado por pocos conductores y su ancho de banda depende de la frecuencia. Es usado desde hace menos de 10 aos en buses para discos duros, unidades de estado slido, tarjetas de expansin y para el bus del procesador.

Un bus est constituido por muchas lneas, por ejemplo el bus del sistema est constituido por entre 50 y 100 lneas. A cada lnea se le asigna una funcin determinada. Las lneas del bus se pueden clasificar en tres grupos funcionales: lneas de datos, de direcciones, y de control. " Las lneas de datos del bus proporcionan el camino para transmitir datos entre los mdulos del sistema. El bus de datos consta de 8, 16, 32 lneas distintas, cuyo nmero se conoce como anchura del bus de datos. Este nmero de lneas determina cuantos bits se pueden transmitir al mismo tiempo. La anchura del bus es un factor clave a la hora de determinar las prestaciones del sistema. " Las lneas de direccin se utilizan para direccionar la fuente o el destino de los datos situados en el bus de datos. La anchura del bus de direcciones determina la cantidad mxima de memoria direccionable en el sistema. " Las lneas de control se emplean para gestionar el acceso y el uso de las lneas de datos y direccin, sealizando peticiones y reconocimientos e indicando que tipo de informacin pasa por las lneas de datos.

Buses de tipo 0 Los buses de tipo 0 son los buses internos de las pastillas. La utilizacin de buses internos de gran ancho de palabra unido a la incorporacin de memoria cach interna facilita que se puedan conseguir microprocesadores de grandes prestaciones. Buses de tipo 1 El bus de tipo 1 es el bus de interconexin de componentes de una placa o circuito impreso. Buses de tipo 2 Estos buses sirven para interconectar las distintas placas de un modulo, formando lo que se llama el panel posterior. La prctica totalidad de los computadores actuales se componen de un solo mdulo, por lo que no existe bus de nivel 3 y este bus se convierte en el bus del sistema. Buses de tipo 3 El bus de tipo 3 o bus del sistema permite interconectar diversos mdulos del computador. Hoy en da hay muy pocos sistemas que contengan varios mdulos. Por lo que generalmente coinciden los buses de nivel 2 y 3. La gran diferencia entre los tipos 2 y 3 es la distancia que debe tener el bus, que puede llegar a los 10m en el tipo 3. Ello obliga a tratar este bus como una lnea de transmisin. Adems, es muy frecuente que el bus de tipo 3 exija unos repetidores o buffers, para pasar de un panel posterior a otro.

Buses de tipo 4 Los buses de tipo 4 lo forman los buses paralelos para conexin de perifricos. En realidad se pueden considerar cuatro situaciones, que a veces se pueden dar simultneamente en el mismo computador: En la primera, los controladores de los perifricos se conectan directamente al bus del sistema (bus tipo 2 3). En la segunda se dispone de un bus especial para la E/S, como es un canal 370 de IBM, como es el Unibus en el caso de la arquitectura VAX, o como son los buses PCI e EISA en un computador personal. La tercera consiste en disear un bus reducido, derivado del bus del sistema, que permita la conexin en paralelo de una serie de perifricos especficos. La cuarta consiste en emplear un bus paralelo de conexin de perifricos, de acuerdo con una norma preestablecida. La diferencia con el caso anterior es que ahora no se trata de una versin reducida del bus del sistema, sino de una configuracin que puede ser muy distinta. El ejemplo clsico es el puerto paralelo o Centronics, previsto para la conexin de impresoras, el bus IEEE-488, previsto para la interconexin de instrumentos de laboratorio a computadores o los buses QIC, SCSI e IPI, para conexin de discos. Buses de tipo 5 Los buses serie suelen constituir el tipo ms elemental del espectro de las comunicaciones de un sistema informtico. Se emplean para cubrir las mayores distancias. El bus serie puede ser simple o doble. El simple puede permitir la transmisin en un solo sentido o en ambos sentidos de forma alternativa (semi-duplex). El doble permite la transmisin en los dos sentidos simultneamente (full-duplex). Un ejemplo de bus serie es el bus USB, que tratamos ms adelante.

Interrupcin (tambin conocida como interrupcin de hardware o peticin de interrupcin) es una seal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecucin actual y pasar a ejecutar cdigo especfico para tratar esta situacin. Una interrupcin es una suspensin temporal de la ejecucin de un proceso, para pasar a ejecutar una subrutina de servicio de interrupcin, la cual, por lo general, no forma parte del programa (generalmente perteneciente al sistema operativo, o al BIOS). Luego de finalizada dicha subrutina, se reanuda la ejecucin del programa. Las interrupciones surgen de las necesidades que tienen los dispositivos perifricos de enviar informacin al procesador principal de un sistema de computacin. La primera tcnica que se emple fue que el propio procesador se encargara de sondear (polling) los dispositivos cada cierto tiempo para averiguar si tena pendiente alguna comunicacin para l. Este mtodo presentaba el inconveniente de ser muy ineficiente, ya que el procesador constantemente consuma tiempo en realizar todas las instrucciones de sondeo.

Interrupciones de hardware. Estas son asncronas a la ejecucin del procesador, es decir, se pueden producir en cualquier momento independientemente de lo que est haciendo el CPU en ese momento. Las causas que lo producen son externas al procesador y a menudo suelen estar ligadas con distintos dispositivos de E/S. Traps. Normalmente son causadas al realizarse operaciones no permitidas tales como la divisin por 0, el desbordamiento, el acceso a una posicin de memoria no permitida, etc. Interrupciones por software. Las interrupciones por software son generadas por el programa en ejecucin. Para generarla, existen distintas instrucciones en el cdigo mquina que permiten al programador producir una interrupcin, suelen tener nemotcnicos tales como INT. Suelen ser de vital importancia ya que a partir de estas interrupciones se solicita al sistema operativo realizar determinadas funciones, para ello. Por ejemplo, en DOS se realiza la instruccin INT 0x21 y en Unix se utiliza INT 0x80 para hacer llamadas de sistema.