Está en la página 1de 34

Resmen de Stallings La ALU realiza realmente las operaciones aritmticas y lgicas.

El resto de los elementos (Unidad de Control, Registros, Memoria, E/S), estn principalmente para suministrar datos. Una unidad aritmtico-lgica se basa en el uso de dispositivos lgicos digitales que pueden almacenar dgitos binarios y realizar operaciones lgicas binarias sencillas. Los datos se presentan a la ALU en registros y en los mismos se almacenan los resultados. Estos registros son posiciones de memoria temporal internas a la CPU que estn conectados a la ALU, quien activara indicadores (flags), como resultado de operaciones, que tambin se almacenan en registros. La Unidad de Control proporciona las seales que gobiernan el funcionamiento de la ALU y la transferencia de datos. UNIDAD I: SISTEMAS INFORMACION. NUMERICOS. REPRESENTACION DE LA

Un Conjunto numrico es un conjunto de smbolos asociados a reglas y operaciones que se utiliza para representar magnitudes de elementos. Sistema No-Posicional: los smbolos no poseen valor propio, las magnitudes estn representadas por reglas. Sistema Posicional: los smbolos poseen valor propio, independiente de la posicin que ocupan. Las magnitudes estn definidas por smbolos mas la posicin que ocupan. Este sistema esta definido por una base que indica la cantidad de smbolos, la base-1 representa el mayor valor propio que puede tomar un smbolo, un smbolo que representa la nada y uno que representa la unidad. La combinacin de smbolos con las distintas posiciones dan las magnitudes de un objeto.

REPRESENTACION DE ENTEROS (EN PUNTO FIJO) Sin signo Si se utilizan enteros sin signo su representacin es inmediata. Una palabra de 8 bits podra utilizarse para representar nmeros de 0 hasta 255 (rango de representacin: 0 - 2 n-1, donde n es la cantidad de bits). Con signo Signo-Magnitud Hay varias convenciones que se pueden utilizar, todas implican tratar el bit ms significativo (el ms a la izquierda) como un bit de signo (0 positivo, 1 negativo), los restantes indican la magnitud representada. En los Positivos el Rango de Representacin va de 0 a 2 n-1-1. Esta representacin presenta algunas limitaciones. Una de ellas es la representacin del numero 0: +0 = 00000000 -0 = 10000000

Complemento a dos En el caso de los negativos se utiliza la representacin en complemento. El rango de representacin va de 1 (mayor valor) a 2n-1 (menor valor, ms negativo). La representacin en complemento a dos usa el bit ms significativo como bit de signo, difiere de la representacin signo-magnitud en la forma de interpretar los bits restantes. En la notacin complemento a dos, la negacin de un entero puede realizarse siguiendo las siguientes reglas: 1. Obtener el complemento booleano (cambiar 0 por 1 y viceversa) de cada bit, incluyendo el bit de signo. 2. Tratando el resultado como un entero binario sin signo, sumarle 1. SUMA Y RESTA En cualquier suma, el resultado puede que sea mayor que el permitido por la longitud de palabra. Esta condicin se denomina overflow (desbordamiento), en este caso la ALU debe indicarlo. REGLA DE DESBORDAMIENTO Si se suman dos nmeros, y ambos son o bien positivos o negativos, se produce overflow si y solo si el resultado tiene signo opuesto. Este desbordamiento puede ocurrir con o sin la existencia de acarreo, tambin si los acarreos de entrada y salida son diferentes, existe overflow. REGLA PARA LA RESTA Para substraer un numero (substraendo) de otro (minuendo), se obtiene el complemento a dos del substraendo y se le suma al minuendo. La indicacin de overflow se almacena en un indicador (OF: Overflow Flag) de 1 bit (0=no overflow, 1=overflow).

MULTIPLICACION Complemento a dos En el caso de que el multiplicando y/o el multiplicador sean negativos, se los debe transformar en positivos y luego multiplicar. A este resultado se debe hallar el complemento, obteniendo as lo que se deseaba.

REPRESENTACION EN PUNTO FLOTANTE Una magnitud puede ser representada en punto flotante, su representacin deber ser

0,mantisa * 10exponente Se puede dar que el primer dgito de la mantisa sea distinto de cero o que sea igual a cero (en este caso se deber normalizar el numero, o sea llevarlo a la forma antes expresada. El rango de representacin esta dado por la precisin, que determina la cantidad de dgitos de la mantisa. La precisin puede ser: simple (32 bits), doble (64 bits), extendida (128 bits). Precisin simple: el bit 31 (de izquierda a derecha) es el signo de la mantisa (0=positivo, 1=negativo). Al bit 30 se lo utiliza para el signo del exponente (1=positivo, 0=negativo), desde el bit 30 al 24 se encuentra el valor del exponente. Los bits restantes son ocupados por la mantisa. EXPONENTE = CARACTERISTICA 40 (Base Hexadecimal) CARACTERISTICA = EXPONENTE + 40 (+ 80 EN EL CASO DE LA MANTISA NEGATIVA) Precisin doble: entre los bits 63 y 51 se encuentra el valor y signo del exponente y el signo de la mantisa. Entre los bits 50 y 0 se encuentra el valor de la mantisa EXPONENTE = CARACTERISTICA 400 (Base Hexadecimal) CARACTERISTICA = EXPONENTE + 400 (+ 800 EN EL CASO DE LA MANTISA NEGATIVA) La caracterstica indica el valor y el signo del exponente y el signo de la mantisa. REPRESENTACION EN DECIMAL ZONEADO Es un formato de dgitos decimales y se lo utiliza para mostrar informacin, cada dgito se representa en un byte donde los primeros 4 bits indican la zona y los restantes el dgito en binario. El formato tendr como mximo la utilizacin de 16 bytes, que permiten representar hasta 16 dgitos. Sirve para representar solo nmeros enteros positivos y negativos. Es negativo cuando la zona tiene un valor D o B (Base Hexadecimal) y es positivo cuando la zona tiene un valor A, C, E o F (Base Hexadecimal). Rango de representacin: para los positivos entre 0 (mnimo valor) y 9 192.....916, para los negativos entre 1 (mximo valor) y 9 192.....916.

REPRESENTACION EN DECIMAL EMPAQUETADO La nica diferencia con la representacin en decimal zoneado es que los ltimos 4 bits del ultimo byte se utilizan para el signo de la magnitud. Si el dgito 15 es distinto de 0 no se puede pasar de decimal zoneado a empaquetado.

REPRESENTACION DE INFORMACION ALFANUMERICA Cdigo BCD (Binary Code Decimal): Es un cdigo que utiliza 6 bits para representar informacin del tipo alfanumrica. Permite representar 64 diferentes caracteres (2 6). De los 6 bits que se utilizan para representar un carcter los dos primeros estn destinados a la zona donde se especifica si se trata de una letra, numero o smbolo, los cuatro restantes se usan para la informacin respectiva. Cdigo EBCDIC (Extend Binary Code Decimal): La nica diferencia con el cdigo BCD es que utiliza 8 bits, 4 para zona (los 2 bits agregados son para las minsculas) y 4 para informacin. Esto permite un total de 256 caracteres diferentes (2 8). Como existan diversos problemas, como por ejemplo la perdida de bits al transmitir Informacin, se formo un cdigo para la deteccin de errores, el cual se basa en el anlisis de un bit llamado de paridad. Frecuentemente a un grupo de bits se le aade un bit suplementario que se llama bit de control de manera tal que si el bit de control forma con el n total una cifra impar, se dir que hay un bit de imparidad y si forma un n par se habla de bit de paridad. El bit de paridad indica si el numero de 1 en una palabra es par o impar. Cuando se habla de paridad par, se agrega un bit de manera que el n total de 1 en una palabra sea par. Cuando se trata de paridad impar, el bit de paridad agregado debe dar un n total de 1 que sea impar. Como este cdigo no es totalmente eficiente en la deteccin de errores se lo utiliza junto con otro denominado Cdigo Hamming, basndose en estos cdigos se desarroll un nuevo cdigo para la representacin de informacin alfanumrica llamado Cdigo ASCII (American Standard Code for Information Interchange) . ASCII: se lo usa para transmitir informacin y para codificar los caracteres de un teclado, as como los que debe imprimir una impresora o mostrar una pantalla. Adjudica una combinacin de 7 bits a cada carcter imprimible o de control y uno para paridad, inversin de impresin, etc. Codifica 128 caracteres (2 7).

UNIDAD III: ARQUITECTURA DE PROCESADORES. PLATAFORMAS. Se distingue entre arquitectura y organizacin de un computador. La arquitectura se refiere a los atributos de un sistema que son visibles a un programador, aquellos atributos que tienen un impacto directo en la ejecucin lgica de un programa. La organizacin se refiere a la unidades funcionales y sus interconexiones. Entre los ejemplos de arquitectura se encuentran el conjunto de instrucciones, el nmero de bits usados para representar varios tipos de datos, mecanismos de entrada/salida y tcnicas para el direccionamiento de memoria. Entre los atributos de organizacin se incluyen los detalles del hardware (seales de control, interfaces entre el computador y los perifricos y la tecnologa de memoria

usada). Una arquitectura puede sobrevivir muchos aos, pero su organizacin cambia con la evolucin de la tecnologa. Los cambios en la tecnologa no slo influyen en la organizacin, sino que tambin dan lugar a la introduccin de arquitecturas ms ricas, potentes y compatibles con respecto a arquitecturas anteriores. Estructura y Funcin Estructura: el modo en que los componentes estn interrelacionados. El computador se interrelaciona a travs de perifricos o lneas de comunicacin. Interiormente hay cuatro componentes estructurales principales: Unidad de Procesamiento Central (CPU, Central Processing Unity, Procesador): controla el funcionamiento del computador y lleva a cabo sus funciones de procesamiento de datos, lee instrucciones y datos, escribe datos una vez que los ha procesado, utiliza ciertas seales para controlar el funcionamiento del sistema y puede recibir seales de interrupcin. Sus principales componentes son: Unidad de Control: Controla el funcionamiento de la CPU y por lo tanto del computador. Unidad Aritmtico-Lgica: Lleva a cabo las funciones de procesamiento de datos del computador. Registros: Proporcionan almacenamiento interno a la CPU. Interconexiones CPU: Son mecanismos que proporcionan comunicacin entre la Unidad de Control, la ALU y los Registros. Memoria Principal: almacena datos. Entrada/Salida (E/S): transfiere datos entre el computador y el entorno externo. Sistemas de Interconexin: mecanismo que proporciona la comunicacin entre la CPU, Memoria Principal y E/S.

Los ordenadores se clasifican segn: la tecnologa utilizada (RISC, CISC) y se clasifican a su vez segn la arquitectura (Von Newmann, Escalares, Paralelas). Von Newmann y sus colegas comenzaron en 1946 el diseo de un nuevo computador, llamado IAS, que posea una memoria principal que almacena datos e instrucciones, una ALU capaz de operar datos binarios, una UC que interpreta instrucciones de memoria y provoca su ejecucin, un equipo de E/S dirigido por la Unidad de Control. Von Newmann incorpora dos nuevos conceptos: el programa almacenado y bifurcaciones (decisin).

Funcionamiento: la funcin bsica es la ejecucin de programas (compuestos por un conjunto de instrucciones almacenadas en memoria). La CPU lee la instruccin y la ejecuta; la ejecucin de un programa consiste en la repeticin de la captacin y ejecucin de la instruccin tambin denominados ciclo de captacin y ciclo de ejecucin. La ejecucin de la instruccin puede estar compuesta por varios pasos, depende de la naturaleza de la instruccin.

Ciclo de Instruccin Localizacin de la instruccin en memoria (FI, Fetch Instruction): el PC indica la direccin de memoria principal donde comienza el cdigo de maquina de la instruccin a ejecutar, el cual luego de ser ledo llega al RI (IR, Registro de Instruccin que almacena la instruccin en ejecucin). Determinar el calculo para obtener los operandos (modos de direccionamiento) (CO, Calculate Operand): analiza el cdigo de instruccin y los operandos a utilizar, para que la UC lleve a cabo la secuencia de movimientos preparados para ejecutar dicho cdigo. Localizar operandos (FO, Fetch Operand): Si el dato esta en MP(memoria principal), con un cdigo que indica el cdigo de la instruccin a ejecutar, se direcciona la MP para obtener los operandos; luego dicho dato llega al RDA (registro de direccionamiento a memoria).Puede ocupar 1o + ciclos de memoria. Ejecucin de la instruccin (EI, Execute Instruction):Segn lo ordenado, puede tener lugar una operacin en la UAL, realizar un movimiento entre registros, o de lectura o escritura de E/S. Almacenar los operandos (WO, Write Operand): almacenar el resultado en memoria.

Prcticamente todos los computadores disponen de un mecanismo mediante el que otros mdulos (E/S, Memoria) pueden interrumpir el procesamiento de la CPU. Las interrupciones proporcionan un forma de mejorar la eficiencia del procesador, mediante ellas el procesador puede dedicarse a ejecutar otras instrucciones mientras una operacin de E/S esta en marcha. Cuando un dispositivo externo esta preparado para aceptar datos del procesador, el modulo de E/S de este dispositivo enva una seal de peticin de interrupcin al procesador, que responde suspendiendo la operacin del programa que estaba ejecutando y salta a un programa que da servicio a ese dispositivo concreto, conocido como gestor de interrupcin, y prosigue con la ejecucin del programa original despus de haber dado servicio al dispositivo. El programa de usuario no tiene que incluir ningn cdigo para posibilitar las interrupciones, el procesador y el Sistema Operativo son los responsables de detener el programa y permitir despus que prosiga en el mismo punto. Para el uso de interrupciones se aade un ciclo de interrupcin al ciclo de instruccin, el cual se analiza luego de la fase de ejecucin.. En el ciclo de interrupcin el procesador comprueba si se ha producido alguna interrupcin, indicada por la presencia de una seal.

Si no hay seales, accede a la siguiente instruccin del programa en curso, si hay alguna interrupcin pendiente, el procesador hace lo siguiente: Suspende la ejecucin del programa en curso y almacena la direccin de la siguiente instruccin a ejecutar y cualquier otro dato relevante. Carga el contador de programa con la direccin de comienzo de una rutina de gestin de interrupcin.

A continuacin prosigue con el ciclo de instruccin y accede a la primera instruccin del programa de gestin de interrupcin. Generalmente el programa de gestin de interrupcin forma parte del Sistema Operativo. Este programa determina el origen de la interrupcin y realiza todas las acciones que sean necesarias.

Clases de Interrupciones De programa: Generadas por alguna condicin que se produce como resultado de la ejecucin de una instruccin, tal como el desbordamiento aritmtico (overflow), divisin por cero, intento de ejecutar una instruccin maquina inexistente, e intento de acceder fuera del espacio de memoria permitido para el usuario. Temporizacin: Generadas por un temporizador interno al procesador. Esto permite al Sistema Operativo realizar ciertas funciones de manera regular. E/S: Generadas por un controlador de E/S, para indicar la finalizacin sin problemas de una operacin o para avisar ciertas condiciones de error. Fallo de hardware: Generadas por un fallo como la falta de potencia de alimentacin o un error de paridad en memoria.

MODOS DE DIRECCIONAMIENTO Los modos de direccionamiento hacen referencia a la forma de obtencin de la direccin real de un operando. Direccionamiento Inmediato: es la forma ms sencilla de direccionamiento. El operando est presente en la propia instruccin. Ventaja: una vez captada la instruccin no se requiere referencia a memoria para obtener el operando (ahorrndose un ciclo de memoria). Desventaja: el tamao del numero esta restringido a la longitud del campo de direcciones. Direccionamiento Directo: el campo de direcciones contiene la direccin efectiva del operando. Solo requiere una referencia a memoria y no necesita ningn calculo especial. Direccionamiento Indirecto: el campo de direcciones no contiene la direccin real del operando, sino que hace referencia a la direccin de una palabra de memoria la cual contiene la direccin completa del operando. La ventaja es que para una longitud de

palabra de N bits se dispone de un espacio de direcciones de 2 N. La desventaja es que se precisan dos o ms referencias a memoria (ciclos de memoria). Direccionamiento de registros: Es similar al directo. El campo de direcciones referencia a un registro en lugar de una direccin de memoria principal. Normalmente un campo de direcciones que referencia a registros consta de 3 o 4 bits, de manera que pueden referenciarse un total de 8 16 registros de uso general. Ventajas: Slo es necesario un campo pequeo de direcciones en la instruccin. No se requieren referencias a memoria. Desventajas: El espacio de direcciones est muy limitado. Direccionamiento indirecto con registros: Es similar al direccionamiento indirecto. En el campo de direcciones se hace referencia a un registro. Emplea una referencia menos a memoria que el direccionamiento indirecto. Direccionamiento con desplazamiento: Combina los direccionamientos directo e indirecto con registro. Requiere que las direcciones contengan dos campos de direcciones, al menos uno de los cuales (A) contiene un valor que se utiliza directamente. El otro campo de direcciones se refiere a un registro cuyo contenido se suma al anterior (A) para generar la direccin efectiva. Sus usos ms comunes son:

Direccionamiento relativo: el registro referenciado implcitamente es el PC. Direccionamiento con registro-base: el registro referenciado contiene una direccin de
memoria y el campo de direcciones contiene un desplazamiento desde dicha direccin. La referencia a registro puede ser explcita o implcita. Indexado: (opuesto al direccionamiento con registro-base) el campo de direcciones referencia una direccin de memoria principal, y el registro referenciado contiene un desplazamiento positivo desde esa direccin. El campo de direcciones generalmente contiene ms bits que el de una instruccin que emplee direccionamiento con registro base. El mtodo para calcular la direccin efectiva es el mismo en ambos direccionamientos. Las referencias a registros pueden ser explcitas o implcitas. El registro elegido es llamado registro ndice, dado que se utiliza Direccionamiento de pila: una pila contiene direcciones de memoria. En un registro se almacena la direccin del puntero de la pila. Las referencias a posiciones de la pila en memoria son en definitiva de acceso indirecto con registro.

REPERTORIO DE INSTRUCCIONES

El funcionamiento de la CPU est determinado por las instrucciones que ejecuta. Estas instrucciones de denominan instrucciones mquina. Al conjunto de instrucciones se lo denomina repertorio de instrucciones. Los elementos constitutivos de una instruccin son: Cdigo de operacin: Especifica la operacin a realizar. Referencia a operandos fuente: Operandos que son entradas para la instruccin. Referencia a operandos resultado: La operacin puede producir un resultado. Referencia a la siguiente instruccin: Dice a la CPU dnde captar la siguiente instruccin tras completarse la ejecucin de la instruccin actual. Los operandos fuente y resultado pueden estar en algunas de las siguientes reas: Memoria principal o virtual: debe indicarse la direccin. Registro de la CPU: cada registro tiene asignado un nmero nico, y la instruccin debe contener el nmero del registro deseado. Dispositivo de E/S: la instruccin debe especificar el mdulo y dispositivo de E/S para la operacin. Cada instruccin se representa por una secuencia de bits. La instruccin est dividida en campos correspondientes a los elementos constitutivos de la misma. La descripcin en campos y bits de la instruccin se denomina formato de instruccin. En la mayora de los repertorios de instrucciones se emplea ms de un formato. Los tipos de instrucciones se pueden clasificar de la siguiente manera:

De procesamiento de datos: Instrucciones aritmticas y lgicas. Las instrucciones


aritmticas proporcionan capacidad para procesar nmeros. Las lgicas operan sobre bits de una palabra en lugar de considerarlos como nmeros. De almacenamiento de datos: Instrucciones de memoria, transfieren datos entre memoria y registros. De transferencia de datos: Instrucciones de E/S, transfieren programas y datos a memoria y devuelven el resultado de los clculos al usuario. De control: Instrucciones de comprobacin y de bifurcacin. Las de comprobacin se emplean para comprobar el valor de una palabra de datos o el estado de un clculo. El repertorio de instrucciones es el medio que tiene el programador para controlar la CPU. Los aspectos ms importantes relativos al diseo del repertorio de instrucciones son los siguientes:

El repertorio de operaciones: cuntas y qu operaciones considerar, y cun complejas


deben ser. Los tipos de datos: los distintos tipos con que se efectan operaciones. Los formatos de instrucciones: longitud de la instruccin (en bits), nmero de direcciones, tamao de los distintos campos, etc. Los registros: nmeros de registros de la CPU que pueden ser referenciados por instrucciones y su uso.

El direccionamiento: modos de direccionamientos mediante los cuales puede


especificarse la direccin de un operando. Instrucciones de control del sistema: son por lo general instrucciones privilegiadas que pueden ejecutarse slo mientras el procesador est en un estado concreto o est ejecutando un programa de una zona privilegiada especfica de memoria. Normalmente estn reservadas para que las use el Sistema Operativo. Instrucciones de control de flujo: una fraccin significativa de las instrucciones de cualquier programa tienen como misin cambiar la secuencia de ejecucin de instrucciones. Para estas instrucciones la operacin que realiza la CPU es actualizar el contador de programa. Las operaciones de control de flujo que se pueden encontrar en repertorios de instrucciones son:

Instrucciones de bifurcacin (Salto): tienen como uno de sus operandos la direccin de


la siguiente instruccin a ejecutar. Las ms frecuentes son las instrucciones de salto condicional en donde se actualiza el contador de programa con la direccin especificada en el operando, slo si se cumple una condicin dada. Instrucciones de salto implcito: est instruccin incluye una direccin de manera implcita. Normalmente, el salto implcito indica que se va a saltar una instruccin, la direccin implcita es igual a la direccin de la siguiente instruccin mas la longitud de una instruccin. Dado que no requiere un campo de direccin de destino, ste queda libre para otras cosas. Instrucciones de llamada a subrutina: el uso de subrutinas requiere de dos instrucciones bsicas: una instruccin de llamada, que produce una bifurcacin desde la posicin actual a la subrutina; y una instruccin de retorno de la subrutina al lugar desde el que se llam. Una subrutina puede llamarse desde distintas posiciones y por ello la CPU debe preservar la direccin de retorno en algn sitio (un registro, al principio de la subrutina, en la cabecera de la pila).

FORMATO DE INSTRUCCIONES Un formato de instrucciones define la descripcin en bits de una instruccin, en trminos de las partes que la componen; debe incluir un cdigo de operacin e implcita o explcitamente ningn o algunos operandos. El formato debe indicar el modo de direccionamiento para cada operando. Aspectos para disear el formato de instruccin: Longitud de instruccin: sta se ve afectada por el tamao de la memoria, su organizacin, la estructura de buses, complejidad y velocidad de la CPU. Debiera cumplirse que el tamao de la instruccin fuera igual al tamao de las transferencias a memoria (en un sistema basado en un bus, igual al tamao del bus de datos), o que uno fuera un mltiplo del otro.

Asignacin de los bits: un aspecto difcil es cmo asignar los bits al formato. Mayor nmeros de cdigo de operacin implican ms bits en el campo de cdigo de operacin, esto reduce el nmero de bits disponible para direccionamiento. Por ello muchas veces se utiliza el uso de codops de longitud variable, en donde existe una longitud mnima de codop, pero se pueden especificar operaciones adicionales utilizando ms bits de la instruccin. Los siguientes factores, afectan la definicin del uso dado a los bits de direccionamiento:

Nmero de modos de direccionamiento: un modo de direccionamiento puede darse a


veces en forma implcita. Ciertos cdigos de operacin podran siempre hacer referencia a un mismo modo de direccionamiento. En otros casos los modos de direccionamiento deben ser explcitos, requirindose uno o ms bits. Nmero de operandos: las instrucciones tpicas de las maquinas actuales permiten dos operandos. Cada direccin de operando podra requerir de su propio indicador de modo dentro de la instruccin, o el uso de indicador de modo podra estar limitado a slo uno de los campos de direcciones. Registros frente a memoria: en el caso de un solo registro visible para el usuario (normalmente el acumulador), la direccin del operando est implcita y no consume bits de la instruccin. Cuanto ms registros puedan emplearse para referenciar operandos, menos bits se necesitarn en las instrucciones. Nmero de conjuntos de registros: en la actualidad se tiene un grupo de dos o ms conjuntos de registros especializados (para datos y para desplazamientos), ya que as se requieren menos bits de la instruccin. El cdigo de operacin determina en forma implcita qu conjunto de registros se est referenciando. Rango de direcciones: para referencias a memoria est relacionado con el nmero de bits de direccionamiento (rara vez se emplea direccionamiento directo). Granularidad de las direcciones: para direcciones que hacen referencia a memoria (con palabras de 16 o 32 bits) una direccin puede referenciar una palabra o un byte. El direccionamiento por byte conviene para manipular caracteres pero requiere, para un tamao de memoria dado, de ms bits de direcciones.

ESTRUCTURA INTERNA Y FUNCIONES DE LOS MICROPROCESADORES El concepto de microprocesador es un concepto tecnolgico, se refiere al diseo en un circuito integrado, de la Unidad de Control, la Unidad Aritmtico-lgica y banco de registros de un computador. El microprocesador es una CPU en pastilla. Organizacin del procesador La CPU debe ser capaz de:

Captar instrucciones: debe leer instrucciones de la memoria. Interpretar instrucciones: las instrucciones deben decodificarse para determinar qu
accin es necesaria. Captar datos: la ejecucin de una instruccin puede exigir leer datos de memoria o de un mdulo de E/S.

Procesar datos: la ejecucin de una instruccin puede exigir llevar a cabo alguna
operacin aritmtica o lgica con los datos.

Escribir datos: los resultados de una ejecucin pueden exigir escribir datos en la
memoria o en un mdulo de E/S. Los principales componentes de la CPU son la Unidad Aritmtico-lgica y la Unidad de Control. La ALU lleva a cabo el procesamiento de los datos. La Unidad de Control controla la transferencia de datos hacia dentro y hacia fuera de la CPU y el funcionamiento de la ALU. La CPU necesita almacenar algunos datos temporalmente, por eso necesita de una pequea memoria interna mnima, la misma consta de lugares de almacenamiento llamados registros.

Organizacin de los registros Dentro de la CPU hay un conjunto de registros que funciona como nivel de la jerarqua de memoria por encima de la memoria principal y de la cache. Los registros de la CPU son de dos tipos:

Registros visibles por el usuario: permiten al programador de lenguaje mquina


minimizar las referencias a memoria principal. Registros de control y de estado: son utilizados por la Unidad de Control para controlar el funcionamiento de la CPU y por programas privilegiados del Sistema Operativo para controlar la ejecucin de programas. Registros visibles al usuario: son aquellos que pueden ser referenciados por medio del lenguaje mquina que ejecuta la CPU. Se clasifican: Uso general. Datos. Direcciones. Cdigos de condicin. Los registros de uso general pueden ser asignados por el programador a diversas funciones. Cualquier registro de uso general puede contener el operando para cualquier cdigo de operacin, en algunos casos pueden ser utilizados para funciones de direccionamiento (indirecto por medio de registros). Los registros de datos pueden ser usados nicamente para contener datos y no se pueden utilizar en el clculo de una direccin de operando. Los registros de direccin pueden ser registros de uso ms o menos general, o pueden estar dedicados a un modo de direccionamiento particular. Los registros que han de contener direcciones han de ser lo suficientemente grandes como para albergar la direccin ms grande. Los registros de datos deben ser capaces de contener valores de la mayora de los tipos de datos. Algunas mquinas permiten que dos registros contiguos sean usados como uno para contener valores de doble longitud. Una categora final de registros contiene cdigos de condicin (tambin llamados indicadores o flags). Los cdigos de condicin son bits fijados por el hardware de la

CPU como resultado de alguna operacin, adems de almacenarse el propio resultado en un registro o en la memoria, se obtiene tambin un cdigo de condicin, que puede ser examinado como parte de una operacin de bifurcacin condicional. Los bits de cdigos de condicin se renen en uno o ms registr0s. Comnmente las instrucciones de maquina permiten que estos bits sean ledos por referencia implcita, pero no pueden ser alterados por el programador. Registros de control y de estado: hay diversos registros de la CPU que se pueden emplear para controlar su funcionamiento. La mayora no son visibles al usuario. Son esenciales cuatro registros para la ejecucin de una instruccin:

Contador de programa (PC): contiene la direccin de la instruccin a captar. Registro de Instruccin (IR): contiene la instruccin captada ms recientemente. Registro de direccin de memoria (MAR): contiene la direccin de una posicin de
memoria. Registro intermedio de memoria (MBR): contiene la palabra de datos a escribir en memoria o la palabra leda ms recientemente. Los cuatro registros se usan para la transferencia de datos entre la CPU y la memoria. La ALU puede tener acceso a MBR y los registros visibles al usuario. Puede haber registros intermedios adicionales en el lmite de la ALU que sirven como registros de entrada y de salida y que intercambian datos con MBR y los registros visibles al usuario. Todas las CPU poseen un registro o conjunto de registros conocidos como palabra de estado de programa (Program Status Word, PSW) , que contiene informacin de estado, tpicamente cdigos de condicin. Entre los campos comunes se incluyen: Signo: contiene el bit de signo del resultado de la ltima operacin aritmtica. Cero: puesto a 1 cuando el resultado es cero. Acarreo: puesto a 1 si una operacin da lugar a un acarreo. Igual: puesto a 1 si el resultado de una comparacin lgica es la igualdad. Desbordamiento: usado para indicar un desbordamiento aritmtico. Interrupciones habilitadas/inhabilitadas: usado para permitir o inhabilitar interrupciones. Supervisor: indica si la CPU funciona en modo supervisor o usuario. nicamente en modo supervisor se pueden ejecutar ciertas instrucciones privilegiadas y se puede acceder a ciertas reas de memoria.

La Unidad de Control Es la parte de la CPU que hace que las cosas ocurran, emite seales de control, externas a la CPU para intercambiar datos con la memoria y los mdulos de E/S; emite seales de control internas para transferir datos entre los registros, hacer que la ALU ejecute una funcin concreta, y regular otras operaciones internas. La entrada a la Unidad de Control est compuesta por el IR, los indicadores y seales de control de fuentes externas (seales de interrupcin).

Conceptos necesarios para especificar la funcionalidad de una CPU:

Operaciones (cdigos de operacin) Modos de direccionamiento Registros Interfaz con el mdulo de E/S Interfaz con el mdulo de memoria Estructura de procesamiento de interrupciones

Para conocer cmo se realizan estas funciones dentro de la CPU, es necesario estudiar la Unidad de Control. MICROOPERACIONES El funcionamiento de un computador cuando ejecuta programas consiste en una secuencia de ciclos de instruccin, con una instruccin mquina por ciclo. Cada ciclo de instruccin puede considerarse compuesto por varias pequeas unidades como ciclo de captacin, indirecto, ejecucin e interrupcin, si bien los nicos que aparecen siempre son los de captacin y de ejecucin. Cada uno de estos ciclos implica una serie de pasos que involucran los registros de la CPU, estos pasos son las microoperaciones. Ciclo de captacin: la direccin de la prxima instruccin se encuentra en el PC. El primer paso es llevar esa direccin al MAR ya que este es el nico conectado a la lnea de direccin del bus del sistema; el segundo paso es traer la instruccin, la direccin deseada se coloca en el bus de direccin, la Unidad de Control emite una orden de lectura en el bus de control, el resultado aparece en el bus de datos y se copia en el MBR, luego se incrementa el contador de programa en uno. El tercer paso es transferir el contenido de MBR al Registro de Instruccin, esto libera al MBR para su uso durante un posible ciclo indirecto. Ciclo Indirecto: en el caso de un formato de instruccin con direccionamiento directo e indirecto permitidos, si la instruccin especifica una direccin indirecta, un ciclo indirecto ha de preceder al ciclo de ejecucin, incluyendo las siguientes microoperaciones: el campo de direccin de la instruccin se transfiere a MAR. ste se usa para captar la direccin del operando. El campo de direccin de IR se actualiza con el contenido de MBR (de modo que contenga una direccin directa en lugar de una indirecta). Ciclo de Interrupcin: en el primer paso el contenido del PC se transfiere al MBR, de modo que pueda guardarse para el retorno de la interrupcin. MAR se carga con la direccin en la cual va a guardarse el contenido de PC y PC se carga con la direccin de comienzo de la rutina de procesamiento de interrupcin. El paso final es almacenar MBR (que contiene el antiguo valor de PC) en memoria. Ciclo de Ejecucin: en una mquina con N cdigos de operacin diferentes, pueden ocurrir N secuencias diferentes de microoperaciones.

La Unidad de Control realiza dos tareas bsicas:

Secuenciamiento: hace que la CPU avance a travs de una serie de microoperaciones


en la secuencia oportuna, basada en el programa que se est ejecutando. Ejecucin: hace que se ejecute cada microoperacin. La clave de cmo funciona la Unidad de Control es el uso de seales de control. Seales de Control Para que la Unidad de Control realice su funcin, debe tener entradas para determinar el estado del sistema y salidas para controlar el comportamiento del mismo. Entradas: Reloj: es el encargado de mantener la hora exacta en la CPU. La UC hace que se ejecute una microoperacin en cada pulso de reloj. Registro de Instruccin: el cdigo de operacin en curso se usa para determinar qu microoperaciones hay que realizar durante el ciclo de ejecucin. Indicadores: los necesita para determinar el estado de la CPU y el resultado de anteriores operaciones de la ALU. Seales de control del bus de control: la parte de control del bus del sistema suministra seales a la UC, tale como seales de interrupcin y de reconocimiento. Salidas: Seales de control, internas a la CPU: las que hacen que los datos se transfieran de un registro a otro o las que activan funciones especficas de la ALU. Seales de control, hacia el bus de control: son seales de control de la memoria o seales de control de mdulos de E/S. La UC debe conocer en todo momento dnde est dentro del ciclo de instruccin. Emite una serie de seales de control que provocan las microoperaciones, se vale de los pulsos de reloj para temporizar la secuencia de eventos, dejando tiempo entre eventos para que los niveles de las seales se estabilicen. La UC es el motor que mueve todo el computador. Lo hace basndose slo en el conocimiento de las instrucciones que tiene que ejecutar y la naturaleza de los resultados de la ALU. Nunca llega a ver los datos que se procesan o los resultados reales producidos. Controla todo con seales de control que van a puntos dentro de la CPU y unas pocas seales que van al bus del sistema. Reloj: la ejecucin de cada instruccin se realiza en sincronismo con impulsos elctricos (que se miden en Mhz) que se suceden regularmente, a razn de millones de ellos por segundo, generados por un cristal piezo-elctrico de cuarzo denominado reloj (clock) por producir oscilaciones de tal regularidad. Una instruccin requiere para su ejecucin varios pulsos reloj.

MEMORIAS

Caractersticas

Ubicacin: hay tanto memoria interna como externa al computador. La interna se


identifica con la memoria principal, pero hay otras formas internas de memoria como la CPU que requiere su propia memoria local en forma de registros. La memoria externa consta de dispositivos de almacenamiento perifricos, tales como discos y cintas, que son accesibles por la CPU a travs de dispositivos de E/S. Capacidad: para memorias internas se expresa normalmente en trminos de bytes o de palabras. Las capacidades de memorias externas se suelen expresar en bytes. Unidad de transferencia: para memorias internas es igual al nmero de lneas de entrada/salida de datos del mdulo de memoria. Tres conceptos relacionados con la memoria interna son: Palabra: es la unidad natural de organizacin de la memoria, su tamao suele coincidir con el nmero de bits utilizados para representar nmeros y con la longitud de las instrucciones. Unidades direccionables: en muchos sistemas es la palabra, en otros el byte, etc. Unidad de transferencia: para la memoria principal es el nmero de bits que se leen o escriben en memoria a la vez. Para la memoria externa los datos se transfieren en bloques (unidades ms grandes que la palabra). Otra caracterstica de las memorias es el mtodo de acceso. Se pueden encontrar cuatro tipos:

Secuencial: la memoria se organiza en registros, el acceso debe realizarse con una


secuencia lineal especfica. Cuando se realiza la lectura/escritura se debe ir pasando y obviando cada registro intermedio hasta llegar a la informacin deseada. El tiempo de acceso es variable. Directo: tiene asociado un mecanismo de lectura/escritura. El acceso se lleva a cabo a travs de la direccin fsica que posee cada registro y mediante el acceso directo a una vecindad dada, luego se realiza una bsqueda secuencial hasta llegar a la posicin final. El tiempo de acceso es variable. Aleatorio (Random): el acceso es cableado. El tiempo de acceso es constante e independiente de la secuencia de accesos previos. Cualquier posicin puede seleccionarse aleatoriamente y ser direccionada y accedida directamente. Asociativa: es un acceso aleatorio que permite comparar ciertas posiciones de bits dentro de una palabra con unos valores dados. UNA palabra es recuperada basndose en una porcin de su contenido en lugar de su direccin. El tiempo de recuperacin es una constante independiente de la posicin o de los patrones de acceso anteriores. Las dos caractersticas ms importantes de una memoria son su capacidad y sus prestaciones. Se utilizan tres parmetros para medir las prestaciones: Tiempo de acceso: para memorias de acceso aleatorio es el tiempo que tarda en realizarse una operacin de lectura o escritura. Para memorias de otro tipo es el tiempo que se tarda en situar el mecanismo de lectura/escritura en la posicin deseada. Tiempo de ciclo de memoria: se aplica en memorias de acceso aleatorio y es el tiempo de acceso y algn tiempo ms, para acceder a una determinada direccin de memoria.

Velocidad de transferencia: es la velocidad a la que se pueden transferir datos a, o


desde, una unidad de memoria. En memorias voltiles la informacin se pierde cuando se desconecta la alimentacin; en cambio en las no-voltiles la informacin una vez grabada permanece sin deteriorarse, hasta que se modifica intencionalmente (destruyendo la unidad de almacenamiento). Jerarqua de memoria Para que la memoria sea buena debe seguir a la CPU. En toda memoria ocurre que a menor tiempo de acceso, mayor coste por bit. A mayor capacidad menor coste por bit. A mayor capacidad mayor tiempo de acceso. Estas caractersticas definen la jerarqua de memoria, en la cual a medida que se desciende ocurre: -Disminuye el coste por bit. -Aumenta la capacidad. -Aumenta el tiempo de acceso. -Disminuye la frecuencia de accesos a la memoria por parte de la CPU. Jerarqua tradicional (en orden descendiente): Registros, Cache, Memoria Principal, Disco Magntico, Cinta Magntica. Jerarqua moderna (en orden descendiente): Registros, Cache, Memoria Principal, Cache de Disco, Disco Magntico, Cinta Magntica/Disco ptico.

Memoria Principal Semiconductora Anteriormente la forma ms comn de almacenamiento de acceso aleatorio para la memoria principal consista en una matriz de pequeos anillos ferro-magnticos denominados ncleo; pero la microelctrica y sus ventajas acabaron con este tipo de memorias. Hoy en da para la memoria principal se usa memoria semiconductora, algunos de sus aspectos son: Tipos de Memorias Semiconductoras de Acceso Aleatorio:

Memoria de Acceso Aleatorio (RAM, Random Access Memory): es posible leer o


escribir datos rpidamente mediante seales elctricas, es voltil, por eso puede utilizarse slo como almacenamiento principal. Las tecnologas RAM se dividen en: -Esttica: los valores binarios se almacenan utilizando configuraciones de puertas. Son ms rpidas que las dinmicas. -Dinmica: est compuesta por celdas que almacenan datos, requieren refrescos peridicos para mantener memorizados los datos. Es ms simple, ms pequea, ms

densa y ms barata que la esttica. Tiende a ser preferida para memorias grandes. Es ms lenta que la esttica.

Memoria de Solo Lectura (ROM, Read Only Memory): es una memoria que no puede
escribirse. Una aplicacin importante es la microprogramacin. Otras aplicaciones son: subrutinas de biblioteca para funciones de uso frecuente, programas del sistema, tablas de funciones. La ventaja es que el programa o datos estn permanentemente en memoria principal y no es necesario cargarlos. Se construye como un chip de circuitos integrados. Un tipo de ROM son las memorias programables (PROM) que pueden grabarse una sola vez, lo cual se realiza elctricamente. Las PROM proporcionan flexibilidad y comodidad. Memoria de Slo Lectura Programable y Borrable ( EPROM, Erasable Programmable Read Only Memory): se lee y escribe al igual que la PROM, pero antes de la operacin de escritura todas las celdas deben borrarse a la vez, mediante la radiacin ultravioleta, y el proceso de borrado puede realizarse repetidamente. Memoria de Slo Lectura Programable y Borrable Elctricamente ( EEPROM, Electrically Erasable Programmable Read Only Memory ): se puede escribir en cualquier momento sin borrar su contenido anterior. La operacin de escritura lleva mas tiempo que la de lectura. Memoria Flash (Denominada as por la velocidad con la que puede reprogramarse). Utilizan tecnologa de borrado elctrico es posible borrar bloques concretos de memoria en lugar de todo el chip. Memoria Cache La memoria cache de un procesador es una pequea memoria rpida SRAM (Static RAM) ubicada entre la CPU y la memoria principal DRAM (RAM Dinmica)Su propsito es aproximar la velocidad de la memoria a las de aquellas ms rpidas disponibles. La cache contiene una copia de partes de la memoria principal. Cuando la CPU intenta leer una palabra de memoria, se hace una comprobacin para determinar si la palabra est en la cache, si es as se entrega dicha palabra a CPU. Si no, un bloque de memoria principal se transfiere a la cache, y despus la palabra es entregada a la CPU. El manejo de la memora cache est a cargo de un hardware de control denominado Controlador de Cache que asegura que lo anterior se cumplir. Para mejorar el tiempo de acceso a memoria los procesadores operan con dos niveles de cache. El primer nivel ( Level 1) est constituido por el cach interno que el microprocesador lleva incorporado junto con su controlador de cache. A este cache se accede tan rpidamente como a los registros de la CPU. Un segundo nivel (Level 2) lo constituye el cache externo al procesador, conformada por los chips SRAM opcionales, que pueden insertarse en zcalos de la Motherboard. Cada vez que la CPU ordena leer la memoria principal el cache interno provee la informacin. De no contenerla la proveer el cache externo, pasando una copia tambin al cache interno. Si la informacin no est en el cache interno ni en el externo se deber recurrir al nivel principal. La CPU no sabe que tipo de memoria fsica est direccionando. Cuando necesita acceder a un byte o palabra de la memoria principal, enva su direccin por las lneas de direccin, si existe un cach su controlador recibe cada direccin a fin de determinar si la informacin se encuentra o no. MEMORIA EXTERNA

Disco magntico: Es un plato circular constituido con metal o plstico, cubierto por un material magnetizable. Los datos se graban en l y luego se recuperan a travs de una bobina(cabeza). Durante una escritura o lectura la cabeza se mantiene quieta mientras que el plato rota bajo ella. El mecanismo de escritura se basa en el campo magntico producido por el flujo elctrico que atraviesa la bobina; el mecanismo de lectura se basa en la corriente elctrica que atraviesa la bobina, producida por un campo magntico que se mueve respecto a la bobina. Organizacin de los datos y formatos: Los datos se organizan en un conjunto de anillos concntricos en el plato(pista). Cada pista es del mismo ancho que la cabeza. Las pistas estn separadas por bandas vacas. Se suele almacenar el mismo nmero de bits en cada pista, por esto la densidad aumenta al avanzar de la pista ms externa a la ms interna. El bloque donde se almacenan los datos es menor que la capacidad de una pista. De acuerdo con esto los datos se almacenan en regiones del tamao de un bloque, conocidas como sectores, separados por interbloques (hay entre 10 y 100 sectores por pista). Para indicar el comienzo y el final de cada sector, se ocupan dato de control grabados en el disco. Caractersticas: Las cabezas pueden ser fijas o mviles respecto a la direccin radial del plato. En un disco de cabeza fija hay una cabeza de lectura/escritura por pista; todas las cabezas se montan en un brazo rgido que se extiende a travs de todas las pistas. En un disco de cabeza mvil hay slo una cabeza de lectura/escritura. Un disco no extrable se monta permanentemente en la unidad del disco. Un disco extrable se puede quitar y sustituir por otro disco, posibilitando una cantidad de datos ilimitada con un nmero limitado de unidades de disco. Los discos de doble superficie son los que poseen cubierta magnetizable en ambas caras. Los discos de una sola superficie son ms baratos y poseen cubierta magnetizable en slo una cara. El paquete de disco es una unidad que posee varios platos apilados verticalmente, y separados por una distancia de una pulgada Cuanto ms estrecha es la cabeza mas cerca de la superficie del plato debe estar, ya que implica pistas mas estrechas y mayor densidad de datos, tambin implica mayor riesgo de error. Los discos winchester usaban cabeza en montajes de unidades cerradas hermticamente (que estaban casi libres de contaminacin); fueron diseados para operar mas cerca de la superficie del disco. Tiempo de acceso a disco Para leer o escribir, la cabeza debe posicionarse al principio del sector deseado en la pista deseada. En un sistema de cabeza mvil, el tiempo de bsqueda el tiempo que tarda la cabeza en posicionarse en la pista, luego el sistema espera hasta que el sector apropiado rote hasta alinearse con la cabeza, este tiempo se denomina latencia rotacional. La suma del tiempo de bsqueda y la latencia rotacional es el tiempo de acceso. En un sistema de cabeza fija, el tiempo de acceso es el tiempo que se tarda en seleccionar elctricamente un sector.

Raid (Redundant Array of Independent Disks, Conjunto Redundante de Discos Independientes): Es un esquema estandarizado para el diseo de base de datos para discos mltiples. Consta de seis niveles que designan diseos de arquitecturas diferentes que poseen tres caractersticas comunes: RAID es un conjunto de unidades fsicas de disco vistas por el sistema operativo como una unidad lgica. Los datos se distribuyen a travs de las unidades fsicas de un conjunto. La capacidad de los discos redundantes se usa para almacenar informacin de paridad que garantice la recuperacin de datos en caso de falla de disco. RAID se propuso para disminuir el aumento de la diferencia entre la velocidad del procesador y las unidades de disco electromecnicas, relativamente lentas. Memoria ptica El CD es un disco no borrable que puede almacenar mas de 60 minutos de informacin de audio en una superficie. El gran xito de los CD habilit la fabricacin de discos de memoria ptica, de los cuales los mas usados son: CD-ROM (Compact Disk Read Only Memory, Memoria de Disco Compacto de Slo Lectura) Posee las mismas caractersticas del CD. La principal diferencia es que los lectores de CD-ROM son mas robustos y tienen dispositivos de correccin de errores. El disco se forma a partir de una resina (policarbonato), y se cubre de una superficie reflectante (aluminio), donde se graba digitalmente y como hoyos microscpicos la informacin. La superficie con los hoyos de las copias se protege del polvo y rasguos con una capa final de laca transparente. La informacin (que fue grabada con un lser), se recupera mediante un lser de baja potencia situado en un lector de disco; si se encuentra un hoyo la intensidad de la luz del lser cambia, un fotosensor detecta este cambio y es convertido en una seal digital. Toda la informacin se lee a una velocidad variable (velocidad lineal constante, CLV), debido a ello el disco rota mas despacio en acceso cercano al borde exterior. El disco se divide en una serie de sectores como trozos de tarta y en una serie de pistas concntricas. Los datos de un CD-ROM se organizan en una secuencia de bloques. Este consta de los siguientes campos: Sincronizacin: identifica el principio de un bloque. Cabecera: contiene la direccin del bloque en modo byte. Datos: datos del usuario. Auxiliar: datos del usuario adicionales. Comparando con los discos magnticos: Ventajas: la capacidad de almacenamiento de la informacin es mucho mayor en los discos pticos. El disco ptico y su informacin se pueden replicar en grandes cantidades de forma barata. El disco ptico es extrable. Desventajas: es de slo lectura el tiempo de acceso es mayor que el de una unidad de disco magntico.

WORM

Es un disco preparado para poder ser escrito una vez con un haz de lser de intensidad modesta. Usa velocidad angular constante. Es utilizado para almacenar archivos de documentos y ficheros.

DISCO PTICO BORRABLE


Permite escribir y reescribir repetidamente. Para grabarlos y borrarlos se usa un haz de lser junto con un campo magntico; usa velocidad angular constante. Compite con el disco magntico y sus ventajas, comparado con este, son: Alta capacidad. Intercambiabilidad: los discos pticos se pueden extraer de la unidad de disco. Seguridad: muestra mayor seguridad y vida. Cinta magntica Usan la misma tcnica de lectura y grabacin que los discos. Es una cinta de plstico flexible cubierta por un xido magntico. La cinta y la unidad de cinta son anlogas a una cinta de grabacin domstica. Se estructura en un pequeo nmero de pistas paralelas; los datos se leen y escriben en bloques contiguos (registros fsicos de cintas), separados por bandas inter-registros, la grabacin de bytes se realiza en paralelo y por cuadros. Tiene un formato para facilitar la localizacin de los registros fsicos. El Inter Record Gab (IRG) es el espacio de cinta que se pierde. El registro de grabacin es igual a la longitud de palabra y el LRL es la longitud de un registro lgico (definido por los campos que van a identificar al objeto, y por la cantidad de bytes que ocupa cada campo). Cada RF (Registro Fsico) consume un IRG. Fueron el primer tipo de memoria secundaria. Se usan como miembros de la jerarqua de memoria de menor coste y de menor velocidad. Elementos que definen una cinta Densidad de grabacin. Velocidad de transferencia. Velocidad de arrastre. Factor de bloqueo (cantidad de registros lgicos que van a caber en un registro fsico). Longitud en pulgadas que va a tener el soporte (cinta). Capacidad de almacenamiento

BUSES Un bus es un camino de interconexin entre uno o ms dispositivos, se trata de un medio de transmisin compartido, ya que al bus se conectan varios dispositivos, y cualquier seal compartida por uno de esos dispositivos est disponible para que los otros dispositivos conectados al bus puedan acceder a ella. Un bus est constituido por varios caminos de comunicacin, o lneas. Se pueden utilizar varias lneas del bus para transmitir dgitos binarios simultneamente (en paralelo). El bus que conecta los componentes principales del computador (CPU, E/S, Memoria) se denomina bus del sistema. El bus del sistema est constituido generalmente por entre 50 y 100 lneas. Las lneas se pueden clasificar en tres grupos funcionales:

Lneas de datos (Bus de Datos): proporcionan un camino para transmitir los datos entre
los mdulos del sistema. El bus de datos generalmente consta de 8, 16 o 32 lneas cuyo nmero se conoce como anchura del bus. El nmero de lneas determina cuntos bits se pueden transmitir al mismo tiempo. Lneas de Direccin (Bus de Direcciones): se utilizan para designar el destino del dato situado en el bus de datos. La anchura del bus de direcciones determina la mxima capacidad de memoria posible en el sistema. Las lneas de direcciones se utilizan tambin para direccionar los puertos de E/S. Los bits de orden ms alto se utilizan para seleccionar una posicin de memoria o un puerto de E/S. Lneas de Control (Bus de Control): se utilizan para controlar el acceso y el uso de las lneas de datos y de direcciones. Las seales de control transmiten tanto rdenes como informacin de temporizacin entre los mdulos del sistema. Las seales de temporizacin indican la validez de los datos y las direcciones. Las seales de rdenes especifican las operaciones a realizar. Algunas lneas de control son: -Escritura en Memoria (Memory Write): hace que el dato del bus se escriba en la posicin direccionada. -Lectura de Memoria (Memory Read): hace que el dato de la posicin direccionada se site en el bus. -Escritura de E/S (E/S Read): hace que el dato del puerto de E/S direccionado se site en el bus. -Transferencia Reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en el bus. -Peticin del Bus (Bus Request): indica que un mdulo necesita disponer de control del bus. -Cesin del Bus (Bus Grant): indica que se cede el control del bus a un mdulo que lo haba solicitado. -Peticin de Interrupcin (Interrupt Request): indica si hay una interrupcin pendiente. -Interrupcin Reconocida (Interrupt ACK): seala que la interrupcin pendiente se ha aceptado. -Reloj (Clock): se utiliza para sincronizar las operaciones. -Inicio (Reset): pone los mdulos conectados en su estado inicial. Si mdulo desea enviar un dato a otro debe obtener el uso del bus y luego transferir el dato a travs del bus. Si un mdulo desea pedir un dato a otro mdulo debe obtener el uso del bus y transferir la peticin al otro mdulo mediante las lneas de control y direccin apropiadas. Despus debe esperar a que el otro mdulo le enve el dato. La mayora de los sistemas utilizan varios buses organizados jerrquicamente. Es posible conectar controladores de E/S directamente al bus del sistema per normalmente se utilizan los buses de expansin. La interfaz del bus de expansin regula las transferencias de datos entre el bus del sistema y los controladores conectados al bus de expansin. Elementos de Diseo de un Bus

Tipo de Buses Las lneas del bus se pueden dividir en dedicadas y multiplexadas. Una lnea de bus dedicada est permanentemente asignada a una funcin o a un subconjunto fsico de componentes del computador. El mtodo de uso de las mismas lneas para usos diferentes se llama multiplexacin en el tiempo. La ventaja es el uso de menos lneas. La desventaja es que se necesita una circuitera ms compleja en cada mdulo. La dedicacin fsica se refiere al uso de mltiples buses cada uno de los cuales conecta slo un subconjunto de mdulos. La ventaja es su elevado rendimiento, debido a que hay menor disputa por el acceso al bus. La desventaja es el incremento en el tamao y el costo del sistema. Mtodo de Arbitraje Puesto que en un instante dado slo una unidad puede transmitir a travs del bus, se requiere algn mtodo de arbitraje. Los mtodos se pueden clasificar como centralizados o distribuidos. En un esquema centralizado, un nico dispositivo hardware (controlador del bus o rbitro), es responsable de asignar tiempos en el bus y puede estar en un mdulo separado o ser parte de la CPU. En un esquema distribuido, cada mdulo dispone de lgica para controlar el acceso y los mdulos actan conjuntamente para compartir el bus. Temporizacin Hace referencia a la forma en que se coordinan los eventos en el bus. Con temporizacin sncrona, la presencia de un evento en el bus est determinada por un reloj. El bus incluye una lnea de reloj a travs de la cual se transmite una secuencia en la que se alternan intervalos regulares de igual duracin a uno y a cero. Un nico intervalo a uno seguido de otro a cero se conoce como ciclo de reloj o ciclo del bus. Todos los dispositivos del bus pueden leer la lnea de reloj y todos los eventos empiezan al principio del ciclo de reloj. Con temporizacin asncrona, la presencia de un evento en el bus es consecuencia y depende de que se produzca un evento previo. Anchura del Bus La anchura del bus de datos afecta las prestaciones del sistema: cuanto ms ancho es el bus de datos, mayor es el nmero de bits que se transmiten a la vez. La anchura del bus de direcciones afecta a la capacidad del sistema: cuanto ms ancho es el bus de direcciones, mayor es el rango de posiciones a las que se puede hacer referencia. Tipos de Transferencia de Datos Todos los buses permiten transferencias de escritura como de lectura. En el caso de un bus con direcciones y datos multiplexado, el bus se utiliza primero para especificar la direccin y luego transferir el dato. En una operacin de lectura generalmente hay un tiempo de espera mientras el dato se est situando en el bus. Tambin puede haber un retardo si se necesita utilizar algn procedimiento de arbitraje para acceder al control del bis en el resto de la operacin. La capacidad de transferencia est dada por la multiplicacin de la frecuencia(NMHz) y el ancho de bus(Nbits) y el resultado se expresa en Gbps(Gigabits por segundo).

BUS ISA

El bus ISA de 16 bits es un bus de datos basado en un diseo de conector de expansin de 98 patas, emplea conectores de doble lado, es decir que cuando se le enchufa en una tarjeta de expansin, cada posicin del conector son, de hecho, dos conexiones, una en el lado A de la tarjeta y otra en el lado B. El bus ISA proporciona soporte de direccionar hasta 16MB. BUS EISA (Extended Industry Standard Architecture). Desde el principio estuvo claro que el desarrollo del EISA estaba basado en las necesidades de venta y no en las de ingeniera Los slots EISA mantenan el diseo bsico de ISA, pero son mas profundos, caracterstica que les permite acomodar una segunda fila mas corta de contactos. De esta forma es posible conectar tarjetas ISA en slots EISA, los cuales se acomodan en la primera fila de contactos compatibles con ISA. Las tarjetas EISA, en cambio, pueden alcanzar las dos filas de contactos. Hay un dispositivo de seguridad que impide que las tarjetas ISA puedan introducirse hasta las conexiones EISA. El hecho de haber mantenido la compatibilidad con el bus ISA significa que el bus EISA tambin tiene una frecuencia de 8 Mhz. Es un bus completo de 32 bits y con 32 lneas de direcciones, de modo que esta pensado para las prestaciones de los procesadores 386 y 486.El bus EISA es sincrnico.

BUS LOCAL Con los diseos convencionales, casi todo lo que viene y va del procesador se enva a travs del bus principal del sistema. Incluso los nuevos diseos de bus, que pueden llevar 32 bits de datos generalmente funcionan a baja velocidad en comparacin con la capacidad del procesador. Las mquinas de bus local quitan del bus principal aquellas interfaces que necesitan una respuesta rpida: memoria, video y unidades de disco. BUS VESA (Video Electronics Standard Association) El VESA 1.0 soporta una ruta de datos de 32 bits, pero tambin puede usar dispositivos que transfieren 16 bits a la vez. En cambio VESA 2.0 es un bus de 64 bits que concuerda con los procesadores de PC ms recientes. El bus esta implementado mediante un conector tipo MCA con 112 patas. Es un conector de 16 bits con las patas redefinidas para soportar una ruta de datos de 32 bits. El VESA 1.0 soporta velocidades de hasta 40 Mhz en cualquier ranura de expansin y la especificacin 2.0 est limitada a 50 Mhz. La arquitectura de 32 bits permite una alta tasa de transferencia de datos de hasta 132MB por segundo. Un bus VESA puede tener hasta 10 dispositivos (bajo la revisin 2; la revisin 1 soporta solamente tres ranuras). Los conectores VESA estn colocados en lnea con los conectores existentes ISA, EISA o MCA en la tarjeta de sistema. Otra caracterstica de diseo interesante y til del bus VESA es que un dispositivo de 64 bits opera en una ranura VESA de 32 bits como un dispositivo de 32 bits, y que un dispositivo de 32 bits puede trabajar en una ranura de 64 bits pero, por supuesto, solamente soporta 32 bits.

BUS PCI (Peripheral Component Interconect, Interconexin de Componente Perifrico) Es un bus de ancho de banda elevado, independiente del procesador que, mediante un bus de expansin, se puede utilizar como conector de perifricos. El estndar actual permite el uso de hasta 64 lneas de datos a 33 Mhz, para una velocidad de transferencia de 264 Mbytes/s o 2112 Gbps. Se implementa con muy pocos circuitos integrados y permite que otros buses se conecten al bus PCI. Utiliza temporizacin sncrona y un esquema de arbitraje centralizado.

BUS AGP (Acelerated Graphics Port) Es un bus dedicado. Bsicamente la diferencia respecto del PCI radica en la velocidad de acceso a memoria; adems, para obtener un buen ancho de banda, el circuito AGP utiliza tres memorias a las que accede en paralelo. Una memoria almacena informacin de textura, otra es la memoria de cuadros, en la que se va generando la imagen, y la tercera es la interna que se emplea para los programas, informacin de color y de visualizacin. Como punto negativo se podra agregar que en el caso de que la plaqueta no cuente con memoria RAM incorporada, sta hace uso de la memoria fsica en detrimento de los recursos disponible para con el sistema. BUS USB (Universal Serie Bus, Bus de Serie Universal) Es un bus que permite la interconexin en serie de distintos dispositivos. Soporta la conexin en caliente. Permite conectar hasta 127 dispositivos. PLATAFORMAS RISC (Reduced Instruction Set Computer): Caractersticas

Todas las instrucciones tienen formato fijo. La posicin de los campos, principalmente los del cdigo de operacin, son fijos. Se ejecuta una instruccin por ciclo de reloj. Instrucciones simples. Mayor cantidad de registros de uso general. Las operaciones se realizan de registros a registros. No admiten instrucciones complejas. No contiene ROM de control (el control se realiza por medio de cables): - Tiene modo de direccionamiento sencillo (hacen referencia a registro o a memoria). - Tiene formato de instrucciones sencillo.

Posee una cach interna para instrucciones y otra para datos. Ventajas

Utilizan principalmente la referencia a registros y por ende necesita menos bits por
instruccin. Desventajas

Son mas caros. Se requiere un compilador inteligente para programas complejos.


Las instrucciones complejas se descomponen en sucesivas operaciones bsicas cuya ejecucin es mucho ms rpida y frecuente. El empleo de solamente un par de modos de direccionamiento a partir de los cuales se pueden lograr otros ms complicados mediante una combinacin alternativa. Todas las operaciones se efectan sobre los registros (por lo que se requiere gran cantidad de ellos) salvo muy pocas acceden directamente a la memoria central (caso de LOAD y STORE). Se logra mayor rapidez al ganarse el tiempo de lectura de memoria, el tiempo de transferencia inicial y el tiempo de transferencia de los resultados debido al almacenamiento dentro del chip. La reduccin del juego de instrucciones influye sobre el hardware reducindolo bsicamente la cantidad de componentes y simplificando a los circuitos (chips). CISC (Complex Instruction Set Computer): Caractersticas

Es una memoria de solo lectura en donde se almacenan las instrucciones del


computador (complejas).

El ciclo de microinstrucin es el evento bsico de una CPU microprogramada; se


compone de dos partes: - Captacin: depende de la generacin de una direccin de microinstrucin, est seccin se ocupa de la ejecucin de una microinstrucin. - Ejecucin. Un procesador CISC debe contener necesariamente una ROM de control con los microcdigos. Existen muchos modos de direccionamiento para realizar la operacin que ordena la instruccin. Las instrucciones simples se ejecutan en un ciclo de reloj, las complejas requieren un nmero de pulsos que depende de la secuencia de pasos necesarios para su ejecucin. Ventajas

Admite instrucciones complejas. A nivel PC hay mas disponibilidad de Hardware y Software.

Desventajas

Es mas lento. Requiere memoria ROM de control.


Los computadores de tecnologa CISC son los ms conocidos ya que se usan desde el ao 60 hasta nuestros das y se caracterizan por un gran Set de Instrucciones, por una gran gama de modos de direccionamientos y por un microcdigo extenso, adems de utilizar un excesivo acceso a memoria central, todo ello por consiguiente redunda en un gran desperdicio de tiempo del procesamiento.

ENTRADA/ SALIDA Un elemento clave de un computador es un conjunto de mdulos de E/S, cada modulo se conecta al bus del sistema o a un conmutador central y conecta uno o mas dispositivos perifricos. Un modulo de E/S esta dotado de cierta inteligencia que permite la conexin entre el periferico y el bus. Funciones principales del modulo de E/S: Realizar la interfaz entre la CPU y la Memoria a travs del bus del sistema o un conmutador central. Realizar la interfaz entre uno o ms dispositivos perifericos mediante enlaces de datos especificos. Dispositivos externos Un dispositivo externo se conecta al computador mediante un enlace a un modulo de E/S. El enlace se utiliza para intercambiar seales de control, estado y datos entre el modulo y el dispositivo externo, el cual frecuentemente se denomina periferico. Los datos se intercambian en forma de un conjunto de bits que son enviados o recibidos desde el modulo de E/S. Las seales de control determinan la funcion que debe realizar el dispositivo. Las seales de estado indican el estado del dispositivo. La logica de control asociada controla las operaciones en respuesta a las indicaciones del modulo de E/S. El transductor convierte las seales electricas asociadas al dato en otra forma de energia en el caso de una salida y viceversa. Usualmente existe un buffer (comunmente de 8 a 16 bits) asociado al transductor para almacenar temporalmente el dato que se esta transfiriendo. Se pueden clasificar en: De interaccion con humanos: permiten la comunicacin con el usuario del computador. De interaccion con maquinas: permiten la comunicacin con elementos del equipo. De comunicacin: permiten la comunicacin con dispositivos remotos. Mdulos de E/S

Es el elemento del computador responsable del control de uno o mas dispositivos externos y del intercambio de datos entre esos dispositivos y la memoria principal y/o los registros de la CPU. Debe tener una interfaz interna al computador (con la CPU y la memoria principal) y una interfaz externa al computador (con el dispositivo externo). Principales funciones: Control y temporizacion: coordina el trafico entre los recursos internos y los dispositivos externos. Comunicacin con la CPU: esto implica la decodificacion de ordenes, intercambio de datos, informacion del estado del modulo de E/S y el reconocimiento de la direccion que posee cada dispositivo. Comunicacin con los dispositivos: implica intercambiar ordenes, informacion del estado y datos. Almacenamiento temporal de datos: la necesidad de esta funcion se debe a que la velocidad de transferencia desde y hacia memoria principal o la CPU es bastante alta en comparacion con la velocidad de transferencia de los dispositivos. Esto implica que los datos se almacenen temporalmente en el modulo y despues se envian al periferico a la velocidad de este. Deteccion de errores: una clase de errores son los defectos mecanicos y electricos en el funcionamiento del dispositivo, o los cambios accidentales en los bits al transmitirse desde el dispositivo al modulo. Un modulo de E/S que se encarga de la mayoria de los detalles del procesamiento, presentando a la CPU una interfaz de alto nivel, se denomina generalmente canal de E/S o procesador de E/S. Un modulo que sea bastante simple y requiera un control detallado normalmente se denomina controlador de E/S o controlador de dispositivo. Los controladores de E/S usualmente aparecen en microcomputadores, mientras que los canales de E/S se utilizan en grandes computadores centrales (mainframes) y los minicomputadores utilizan ambos tipos. E/S Programada Los datos se intercambian entre la CPU y el modulo. La CPU ejecuta un programa que controla la operacin, incluyendo la comprobacin de estado del dispositivo. Cuando la CPU enva una orden al mdulo de E/S debe esperar hasta que la operacin de E/S concluya, es responsable de controlar peridicamente el estado del modulo hasta que encuentra que la operacin ha terminado. Al ejecutar una instruccin relacionada con una E/S la CPU proporciona una direccin, especificando el mdulo particular y el dispositivo externo, y una orden de E/S. Una orden de control se utiliza para activar el perifrico e indicarle qu hacer. Una orden de test se utiliza para comprobar diversas condiciones de estado asociadas con el mdulo y sus perifricos, como comprobar si el perifrico est conectado y disponible o si una operacin de E/S ha terminado y se ha producido algn error. Una orden de lectura hace que el mdulo capte un dato de un perifrico y lo site en un buffer interno. Una orden de escritura hace que el mdulo tome un dato del bus de datos y lo transmita al perifrico.

Cada dispositivo tiene asociado una direccin. Cuando la CPU enva una orden de E/S, sta contiene la direccin del dispositivo deseado. Cada mdulo debe interpretar las lneas de direccin para determinar si la orden es para l. Cuando la CPU, la memoria principal y las E/S comparten un bus comn, son posibles dos modos de direccionamiento: asignado en memoria y aislado. Con las E/S asignadas en memoria, existe un nico espacio de direcciones para las posiciones de memoria y los dispositivos, se necesita una sola lnea de lectura y una sola lnea de escritura en el bus. Alternativamente el bus puede disponer tambin de lneas para rdenes de entrada y salida, en este caso las lneas de rdenes especifican si la direccin se refiere a una posicin de memoria o a un dispositivo de E/S. Como el espacio de direcciones de E/S est aislado del de memoria, se conoce con el nombre de E/S aislada. E/S Mediante Interrupciones La CPU proporciona la orden de E/S, continua ejecutando otras instrucciones y es interrumpida por el modulo cuando ste ha terminado su trabajo. Desde el punto de vista del mdulo, para una entrada, ste recibe una orden de la CPU, luego procede a leer el dato desde el perifrico asociado. Una vez que el dato est en el registro de datos del mdulo, enva una interrupcin a la CPU a travs de una lnea de control. Despus el mdulo espera hasta que la CPU solicite su dato, cuando ha recibido la solicitud, sita el dato en el bus y pasa a estar preparado para otra operacin. Segn sea la arquitectura del computador y el diseo del Sistema Operativo, puede haber un solo programa, uno por cada tipo de interrupcin, o uno por cada tipo de interrupcin y por cada dispositivo. El procesador debe determinar qu programa llamar. Esta informacin puede haber sudo incluida en la seal de interrupcin, o el procesador puede tener que enviar una solicitud al dispositivo que origin la interrupcin para obtener la informacin. Tanto en E/S con interrupciones como programada la CPU es la responsable de extraer y almacenar los datos en la memoria principal. Acceso Directo a Memoria (DMA) El mdulo y la memoria principal intercambian datos directamente. El DMA requiere un mdulo adicional en el bus del sistema que es capaz de recibir el control del sistema cedido por la CPU. Cuando la CPU desea leer o escribir un bloque de datos, enva una orden al mdulo de DMA, que incluye: Si se trata de una lectura o escritura. La direccin del dispositivo de E/S. La posicin inicial de memoria a partir de donde se lee o se escribe. El nmero de palabras a leer o escribir.

El mdulo de DMA transfiere el bloque completo de datos directamente sin que tenga que pasar a travs de la CPU. Cuando la transferencia ha terminado, el mdulo de DMA enva una seal de interrupcin a la CPU. El mdulo DMA necesita tomar el control del bus para transferir datos, debe utilizar el bus slo cuando la CPU no lo necesita, o debe forzar a que sta se detenga temporalmente (robo de ciclo). La CPU detiene el ciclo de instruccin justo antes de necesitar el bus, antes de la fase de captacin de instruccin, o antes de la fase de captacin del operando o despus de la fase de ejecucin de la instruccin. No se trata de una interrupcin sino que la CPU espera durante un ciclo de bus. Canales de E/S El canal de E/S puede ejecutar instrucciones de E/S, lo que le confiere un control completo sobre las operaciones de E/S. Sigue las instrucciones dictadas por la CPU y controla la transferencia de datos. Existen dos tipos: Canal Selector: controla y transmite datos de varios dispositivos de velocidad elevada. Cada dispositivo es manejado por un controlador o mdulo de E/S. Canal Multiplexor: puede manejar las E/S de varios dispositivos al mismo tiempo. Un multiplexor de byte es utilizado para dispositivos de velocidad reducida. Un multiplexor de bloque entrelaza bloques de datos de los distintos dispositivos. Elementos con los que deben contar los canales de E/S Memoria Buffer Registro de direccin Registro de tamao Perifrico Tipos de interfaces La interfaz entre el perifrico y el mdulo de E/S puede ser en serie o paralela. En una interfaz paralela hay varias lneas conectando el mdulo de E/S y el perifrico y se transfieren varios bits simultneamente. En una interfaz en serie hay una sola lnea para la transmisin de datos. Interfaz SCSI Utiliza una interfaz paralela con 8, 16 o 32 lneas de datos. Se considera como un bus aunque los dispositivos se conectan juntos en forma encadenada. Cada dispositivo tiene dos conectores uno de entrada y uno de salida. El extremo de la cadena se conecta al computador. Estos dispositivos funcionan independientemente y pueden intercambiar datos entre ellos al igual que con el computador. TECNOLOGA PLUG AND PLAY PLUG AND PLAY FRAMEWORK ARCHITECTURE (arquitectura de referencia plug and play) Su principal objetivo consiste en simplificar los procesos de configuracin de los nuevos dispositivos. Bsicamente, una PC PnP debe ser capaz de identificar si se instal un nuevo dispositivo(verificando una base de datos con la configuracin anterior) y si es as, debe configurarlo y cargar los controladores de los dispositivos(drivers) necesarios. Una de sus caractersticas ms sobresaliente es la reconfiguracin dinmica de los dispositivos, no siempre es necesario reiniciar el equipo para que se realice el proceso de autoconfiguracin, sino que va a permitir la conexin en caliente(hot plugging). El USB permite tales conexiones al igual que las tarjetas PCMCIA.

PnP se aplica de forma particular para cada tipo de arquitectura de bus: ISA, VESA local bus, PCI, MCA. Tambin se implementa de forma particular para dispositivos IDE, SCSI, PCMCIA y tambin para los puertos Serie y Paralelo. Para poder clasificar un sistema PnP es necesarios tener: hardware PnP, BIOS PnP y SO PnP. El hardware PnP es un elemento totalmente imprescindible. Si no hay instalado al menos un dispositivo PnP en el sistema, de poco vale disponer de una BIOS PnP o de un SO acorde. La ms elaborada e interesante especificacin PnP es la ISA, sus objetivos son: Direccionar tarjetas de forma individual cuando dos o ms e ellas estn utilizando los mismos recursos. Identificar los recursos usados actualmente por una tarjeta y obtener una lista de alternativas de configuracin ofrecida por la propia tarjeta. Mantener una absoluta compatibilidad con las antiguas tarjetas ISA. Garantizar que un sistema que solo disponga de tarjetas PnP ISA sea totalmente autoconfigurable. Todas las tarjetas PnP responden a las mismas direcciones de puerto, por lo que se necesita un direccionamiento que permita acceder de forma individual a cada tarjeta. Cada tarjeta dispone de una estructura de datos que describe las capacidades y los recursos requeridos por las funciones de dichas tarjetas. La BIOS PnP se trata de una BIOS especfica para la gestin de la lgica PnP y que se dise para garantizar que luego del POST el SO pueda cargarse en un entorno en el que no existan conflictos de recursos. La BIOS PnP slo ofrece informacin sobre los recursos de los dispositivos de la placa base, no sobre las tarjetas instaladas en slots, ni sobre los dispositivos que se encuentran en buses secundarios. De estos ltimos dispositivos se debe ocupar el SO PnP. Los objetivos principales de una BIOS PnP son: mantener la compatibilidad con el proceso POST ISA, y dar soporte tanto para SO PnP como para los que no cumplen las normas PnP. Windows 95 es uno de los primeros SO que se puede clasificar como de tipo PnP. El gestor de configuraciones es el elemento encargado de coordinar todas las fases del proceso de configuracin y tambin de las comunicaciones con la BIOS y con los distintos dispositivos hardware. El rbol de hardware es un registro de la configuracin actual del sistema. Los enumeradores de buses son los responsables de construir el rbol de hardware de un sistema PnP, y estn basados en arquitecturas de bus especficas. El rbitro de recursos es el encargado de asignar determinados usos de recursos.

SISTEMAS OPERATIVOS Objetivos y funciones del Sistema Operativo Un Sistema Operativo es un programa que controla la ejecucin de los programas de aplicacin y acta como interfaz entre el usuario y el hardware del computador. Sus objetivos son:

Comodidad: hace que un computador sea ms fcil y cmodo de usar. Eficiencia: permite que los recursos del computador se utilicen de forma eficiente.

El S.O. usualmente proporciona servicios en las siguientes reas: Creacin de programas: el S.O. proporciona una cierta variedad de servicios y medios para ayudar al programador en la elaboracin de programas. stos se conocen con el nombre genrico de utilidades. Ejecucin de programas: es preciso realizar una serie de tareas. Las instrucciones y los datos deben cargarse en memoria principal, los dispositivos de E/S y los ficheros deben iniciarse y deben prepararse otros recursos. El S.O. proporciona todo esto al usuario. Acceso a los dispositivos de E/S: el S.O. se encarga de darle un conjunto de instrucciones y seales de control a cada dispositivo de E/S. Acceso controlado a los ficheros: se encarga de conocer el formato, la naturaleza y el medio de almacenamiento de los ficheros. Acceso al sistema: en el caso de un sistema compartido, el sistema operativo controla el acceso al sistema como un todo. El S.O. es nada ms que un programa de computador, que proporciona instrucciones a la CPU y a su vez dirige a la CPU en el uso de otros recursos del sistema y en la temporizacin de la ejecucin de otros programas. Pero para que la CPU pueda realizar estas cosas, debe dejar de ejecutar el S.O. y ejecutar otros programas. El S.O. cede el control para que el procesador pueda realizar el trabajo til y recupera el control posteriormente para preparar a la CPU para la siguiente parte de trabajo a realizar. Una parte del S.O. est en memoria principal. sta incluye el ncleo que contiene las funciones ms frecuentemente utilizadas por el S.O., y en un momento dado las otras partes del S.O. que estn actualmente en uso. El S.O. decide cundo un programa en ejecucin puede usar un dispositivo de S.O. y controla el acceso y el uso de los ficheros. Tipos de Sistemas Operativos En un sistema interactivo el usuario interacta directamente con el computador; puede comunicarse con el computador durante la ejecucin del programa. Un sistema de colas es opuesto al interactivo. El programa de usuario se introduce en una cola junto con programas de otros usuarios enviados todos por el operador del computador. Despus que el programa ha terminado, los resultados se proporcionan al usuario. Otra caracterstica que hace a los tipos de S.O. es si se usa multiprogramacin o no. Con la multiprogramacin se intenta mantener el procesador ocupado tanto como sea posible hacindolo trabajar en ms de un programa al mismo tiempo. La alternativa es un sistema con uniprogramacin que trabaja slo en un programa en cada momento. ADMINISTRACIN DE MEMORIA Gestin de memoria En un sistema con uniprogramacin, la memoria principal se divide en dos partes: una para el S.O. (el monitor residente) y por otra parte para el programa que se est ejecutando. En un sistema multiprogramado, la parte de usuario de la memoria debe subdividirse, est tarea la realiza dinmicamente el S.O. y se conoce como gestin de memoria.

Intercambio(swapping) Se dispone una cola a largo plazo de solicitudes de procesos, usualmente almacenados en disco. Estas solicitudes se extraen a memoria. Conforme terminan, los procesos se sacan de la memoria principal. Puede ocurrir que ninguno de los procesos est preparado, en este caso el procesador intercambia uno de esos procesos situndolo en una cola intermedia. Esta es una cola de procesos que se han sacado temporalmente de memoria. El S.O. entonces trae otro proceso de la cola intermedia, o acepta una nueva peticin de procesos de la cola de largo plazo. El intercambio es de hecho una operacin de E/S. Definicin de particiones El S.O. ocupa una porcin fija. El resto de la memoria se divide para ser utilizada por varios procesos. Pueden existir particiones de tamao fijo o particiones de tamao variable. Aunque sean de tamao fijo no todas tienen igual tamao. Cuando un proceso se introduce en memoria, se sita en la particin disponible ms pequea que puede incluirlo. Utilizando de tamao variable cuando un proceso se introduce en memoria se le asigna exactamente el tamao de memoria que necesita. Eventualmente se utiliza una tcnica conocida como compactacin donde el S.O. desplaza los procesos en memoria para juntar toda la memoria libre en un bloque. Este procedimiento consume parte del tiempo del procesador. La memoria del proceso est constituida por instrucciones y datos. Las instrucciones contendrn direcciones de memorias que cambiaran cada vez que el proceso se intercambie. Por ello se distingue entre direcciones lgicas y fsicas. Una direccin lgica indica una posicin relativa al comienzo del programa. Las instrucciones del programa contienen slo direcciones lgicas. Una direccin fsica es la posicin actual en la memoria principal. Cuando el procesador ejecuta un proceso, automticamente convierte las direcciones lgicas en fsicas, sumando a cada direccin lgica la posicin de comienzo actual de proceso, llamada direccin bsica. Paginacin La memoria se divide en trozos iguales de tamao fijo y relativamente pequeos, y cada proceso tambin se divide en pequeos trozos de tamao fijo. Despus los trozos de un programa (pgina) se pueden asignar a los trozos de memoria disponible (marcos o marcos de pginas). La memoria desperdiciada en un proceso es una de la ltima pgina. En un instante algunos de los marcos de memoria estn ocupados y otros estn libres. La lista de marcos libres es gestionada por el S.O.. El S.O. mantiene una tabla de pginas (lista de marcos libres) para cada proceso. La tabla de pgina indica el marco que aloja a cada pgina del proceso. Dentro del programa, cada direccin lgica est constituida por un nmero de pgina y una direccin relativa dentro de la pgina; a una direccin lgica la CPU la traduce a una direccin fsica. Con la paginacin, la traduccin de direccin lgica a direccin fsica tambin la realiza el hardware de la CPU. A partir de la direccin lgica, la CPU utiliza la tabla de pginas para generar la direccin fsica. Cuando un proceso se lleva a memoria, sus pginas se cargan en los marcos disponibles y la tabla de pginas se actualiza. Memoria Virtual Paginacin por demanda Es una mejora de la paginacin y significa que cada pgina de un proceso se introduce en memoria slo cuando se necesita. Esto produce un ahorro de tiempo (ya que solo se cargan las pginas necesarias para el programa) y en el caso de que la pgina requerida no este cargada, se produce una falta de pgina; ante esto el S.O. debe traer la pgina deseada.

Hiperpaginacin: el procesador pasa la mayor parte de su tiempo metiendo y sacando pginas en lugar de ejecutar instrucciones. Con la paginacin por demanda no es necesario cargar el proceso entero en memoria principal, por eso se puede dar que exista un proceso mayor que toda la memoria principal. La memoria virtual es la memoria que hay disponible en el disco; la memoria principal es la memoria real. Estructura de tabla de pginas El mecanismo bsico para leer una palabra de memoria implica la traduccin, mediante una tabla de pginas de una direccin virtual, o lgica, consistente en un nmero de pginas y un desplazamiento, a una direccin fsica, constituida por un nmero de marco y un desplazamiento. A la tabla de pginas no es posible almacenarla en un registro, ya que su tamao depende del tamao del proceso. Buffer de Traduccin Rpida (TLB, Translation Lookaside Buffer) La mayora de los esquemas de memoria virtual hacen uso de una cache especial para los elementos de la tabla de pginas, llamada usualmente Buffer de Traduccin Rpida (TLB), funciona igual que una cache y contiene los elementos de la tabla de pgina que fueron accedidos ms recientemente. El mecanismo de memoria virtual debe interactuar con el sistema de cache de la memoria principal. Primero el sistema de memoria consulta el TLB para comprobar si hay coincidencia con algn elemento de la tabla de pginas incluido en l. Si es as se genera la direccin real (fsica) combinando el nmero de marco con el desplazamiento sino, se accede al elemento correspondiente a la tabla de pginas. Una vez que se ha generado la direccin real se consulta la cache para ver si el bloque que contiene la palabra est presente, si es as se enva a la CPU; de lo contrario se busca la palabra en memoria principal. Segmentacin Es usualmente visible para el programador y proporciona una forma conveniente de organizar los programas y los datos, para asociar los privilegios y los atributos de proteccin con las instrucciones y los datos. Los segmentos tienen un tamao variable. Puede haber segmentos de programa distintos para varios tipos de programas y tambin distintos segmentos de datos. Se pueden asignar a cada segmento derechos de acceso y uso. Las referencias a memoria se realizan mediante direcciones constituidas por un nmero de segmento y un desplazamiento.

También podría gustarte