Está en la página 1de 111

INSTITUTO TECNOLOGICO DE TAPACHULA

ARQUITECTURA DE COMPUTADORAS

ING. ROSEL MUOZ LPEZ


ING. EN SISTEMAS COMPUTACIONALES EZEQUIEL DIAZ DIAZ JOSE ANTONIO VAZQUEZ MORAN ARQUITECTURA DE CMPUTO

5 SEMESTRE 1 UNIDAD

11 de AGOSTO DEL 2013

Introduccin. 1.1 Modelos de arquitecturas de cmputo. 1.1.1 Clsicas. 1.1.2 Segmentadas. 1.1.3 De multiprocesamiento. 1.2 Anlisis de los componentes. 1.2.1 CPU. 1.2.1.1 Arquitecturas. 1.2.1.2 Tipos. 1.2.1.3 Caractersticas. 1.2.1.4 Funcionamiento (ALU, unidad de control, Registros y buses internos). 1.2.2 Memoria 1.2.2.1 Conceptos bsicos del manejo de la memoria. 1.2.2.2 Memoria principal semiconductora. 1.2.2.3 Memoria cache. 1.2.3 Manejo de la entrada/salida. 1.2.3.1 Mdulos de entrada/salida. 1.2.3.2 Entrada/salida programada.

3 4 6 6 9 11 12 13 14 15

17 18 18 19 23 24 25 27

1.2.3.3 Entrada/salida mediante interrupciones. 1.2.3.4 Acceso directo a memoria. 1.2.3.5 Canales y procesadores de entrada/salida. 1.2.4 Buses 1.2.4.1 Tipos de buses 1.2.4.2 Estructura de los buses 1.2.4.3 Jerarquas de buses 1.2.5 Interrupciones. Conclusiones Cuestionario Bibliografa

28 30 32 34 36 36 37 39 42 43 44

INTRODUCCIN

La arquitectura de computadoras es el diseo conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria. En el entorno informtico proporciona una descripcin de la construccin y distribucin fsica de los componentes de la computadora. 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. Tambin suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras segn los requerimientos de funcionalidad, rendimiento y costo. Existen tres modelos de arquitectura: la clsica, la segmentada y la de multiprocesamiento.

1.- ARQUITECTURA DE COMPUTADORAS


Se puede definir la arquitectura de computadoras como el estudio de la estructura, funcionamiento y diseo de computadoras. Esto incluye, sobre todo a aspectos de hardware, pero tambin afecta a cuestiones de software de bajo nivel. Computadora, dispositivo electrnico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando clculos sobre los datos numricos, o bien compilando y correlacionando otros tipos de informacin. 1.1 RESEA HISTRICA DE LOS COMPUTADORES La era mecnica de los computadores: podramos decir que las mquinas mecnicas de calcular constituyendo la "era arcaica" o generacin 0 de los computadoras. Una evolucin de estas mquinas son las mquinas registradoras mecnicas que an existen en la actualidad. Otro elemento de clculo mecnico que se utiliz hasta hace pocos aos fue la regla de clculo que se basa en el clculo logaritmo y cuyo origen son los crculos de proporcin de Neper. Ingenios clsicos de esa etapa fueran la mquina de Pascal, que poda realizar sumar, restas y, posteriormente, multiplicaciones y divisiones, y las dos mquinas de Charles Babbage: la mquina de diferencias y la analtica. Esta ltima fue la precursora de los computadores actuales. La fase final en la mecnica de la informtica y la constituyen las computadoras electromecnicos basados en lgica de rels (dcada de los 30). La era electrnica de las computadoras: Las computadoras envasadas en elementos mecnicos planteaban ciertos problemas: La velocidad de trabajo est limitada a inercia de la parte mvil. La transmisin de la informacin por medios mecnicos (engranajes, palancas, etctera.) es poco fiable y difcilmente manejable.

Los computadores electrnicos salvan estos inconvenientes ya que carecen de partes mviles y la velocidad de transmisin de la informacin por mtodos elctricos no es comparable a la de ningn elemento mecnico. El primer elemento electrnico usado para calcular fue la vlvula de vaco y, probablemente, el primer computador electrnico de uso general fue el E.N.I.A.C. (Electronic Numerical Integrator Calculator) construido en Universidad de Pennsylvania (1943-46). El primer computador de programa al-macenado fue el E.D.V.A.C. (Electronic Discrete Variable Computer, 1945-51) basado en la idea de John Von Neumann, que tambin particip en el proyecto E.N.I.A.C. de que el programa debe almacenarse en la misma memoria que los datos.

2. MODELOS DE ARQUITECTURAS DE COMPUTOS


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. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo para varias partes de una computadora, con especial inters en la forma en que la unidad central de proceso (CPU) trabaja internamente y accede a las direcciones de memoria. 2.1.1 TIPOS DE COMPUTADORAS

Ahora el uso de la computadora es muy comn, tanto en empresas, negocios y algunos hogares. Pero cuando personas relacionadas con las antes mencionadas interactan con la computadora la mayora de las veces solo piensan que todas las computadoras son del mismo tipo. Adems que quieren tener ms informacin acerca de las computadoras y no saben los tipos de computadoras que existen y esto es una limitante para que las personas, que interactan con ellas, sepan acerca de la computacin

Las computadoras se clasifican en sper computadoras, macro computadoras o mainframes, mini computadoras y micro computadoras o PC. Las clasificaciones contienen un cierto tipo de computadoras con caractersticas especficas.

Supercomputadoras Una supercomputadora es el tipo de computadora ms potente y ms rpida que existe en un momento dado. Estas mquinas estn diseadas para procesar enormes cantidades de informacin en poco tiempo y son dedicadas a una tarea especfica.

Un ejemplo de sper computadora es una computadora que se utiliza para el manejo de un grupo de mquinas ensambladoras de productos metlicos.

Macro computadoras o mainframes Las macro computadoras son tambin conocidas como mainframes. Los mainframes son grandes, rpidos y caros sistemas que son capaces de controlar cientos de usuarios simultneamente, as como cientos de dispositivos de entrada y salida. De alguna las mainframes son ms poderosas que las sper computadoras porque soportan ms programas simultneamente. Pero las sper computadoras pueden ejecutar un solo programa ms rpido que mainframe. En el pasado las mainframes ocupaban cuartos completos hasta pisos enteros de algn edificio, hoy en da, un mainframe es parecido a una hilera de archiveros en algn cuarto con piso falso, esto para ocultar los cientos de cables de los perifricos, y su temperatura tiene que estar controlada.

Mini computadoras En 1960 surgi la mini computadora, una versin ms pequea de la macro computadora. Al ser orientada a tareas especficas, no necesitaba de todos los perifricos que necesita un mainframe, y esto ayudo a reducir el precio y costo de mantenimiento. Las mini computadoras, en tamao y poder de procesamiento, se encuentran entre los mainframes y las estaciones de trabajo. En general, una mini computadora, es un sistema multiproceso (varios procesos) capaz de soportar de 10 hasta 200 usuarios simultneamente. Actualmente se usan para almacenar grandes bases de datos, y otras aplicaciones. Micro computadoras o PC Las microcomputadoras o computadoras personales (PC) tuvieron su origen con la creacin de los microprocesadores. Un microprocesador es una computadora en un chip, o sea un circuito integrado independiente. Las PC son computadoras para uso personal y relativamente son baratas y actualmente se encuentran en las oficinas, escuelas y hogares.

2.2 ARQUITECTURA DE CMPUTO CLSICAS.


El modelo clsico de arquitectura de computadoras fue diseado por Jhon Von Newman que consta de los siguientes elementos: Dispositivos de entrada, de proceso, de almacenamiento y de salida.

Esta idea conocida como concepto de programa almacenado, se atribuye a los diseadores de la ENIAC, sobre todo al matemtico John von Neumann. En 1946 von Neumann y colegas empezaron el diseo de la nueva computadora que llamaron IAS (IAS - Institute of Advanced Studies) y terminada hasta 1952, siendo el prototipo de toda una secuencia de computadoras de uso general. La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrnica de uso general en el mundo. Uno de los inconvenientes ms grandes de la ENIAC era que tena que ser programada manualmente mediante conmutadores y conectando y desconectando cables. Estas arquitecturas se desarrollaron en las primeras computadoras electromecnicas y de tubos de vaco. Aun son usadas en procesadores empotrados de gama baja y son la base de la mayora de las arquitecturas modernas.

Figura 2.2. Computadora con tubos de

2.2.1 ARQUITECTURA MAUCHLY-ECKERT (VON NEWMAN) 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. Esto limita el grado de paralelismo (acciones que se pueden realizar al mismo tiempo) y por lo tanto, el desempeo de la computadora. Este efecto se conoce como el cuello de botella de Von Newman. 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. Ejemplo de esta versatilidad es el funcionamiento de los compiladores, los cuales son programas que toman como entrada un archivo de texto conteniendo cdigo fuente y generan como datos de salida, el cdigo mquina que corresponde a dicho cdigo fuente (Son programas que crean o modifican otros programas). Estos datos de salida pueden ejecutarse como un programa posteriormente ya que se usa la misma memoria para datos y para el cdigo del programa.

Figura 2.2.1. Arquitectura Vonn Newman

En esta arquitectura apareci por primera vez el concepto de programa almacenado. Anteriormente la secuencia de las operaciones era dictada por el alambrado de la unidad de control, e cambiarla implicaba un proceso de recableado laborioso, lento (hasta tres semanas) y propenso a errores. En esta arquitectura se asigna un cdigo numrico a cada instruccin. Dichos cdigos se almacenan en la misma unidad de memoria que los datos que van a procesarse, para ser ejecutados en el orden en que se encuentran almacenados en memoria. Esto permite cambiar rpidamente la aplicacin de la computadora y dio origen a las computadoras de propsito general. Mas a detalle, el procesador se subdivide en una unidad de control (C.U.), una unidad lgica aritmtica (A.L.U.) y una serie de registros. Los registros sirven para almacenar internamente datos y estado del procesador. La unidad aritmtica lgica proporciona la capacidad de realizar operaciones aritmticas y lgicas. La unidad de control genera las seales de control para leer el cdigo de las instrucciones, decodificarlas y hacer que la ALU las ejecute.

2.2.2 ARQUITECTURA HARVARD 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. Por ejemplo, se pueden almacenar las instrucciones en doce bits en la memoria de programa, mientras los datos de almacenan en 8 bits en una memoria aparte.

Figura 2.2.2. Arquitectura Harvard

Esta idea conocida como concepto de programa almacenado, se atribuye a los diseadores de la ENIAC, sobre todo al matemtico John von Neumann. En 1946 von Neumann y colegas empezaron el diseo de la nueva computadora que llamaron IAS (IAS - Institute of Advanced Studies) y terminada hasta 1952, siendo el prototipo de toda una secuencia de computadoras de uso general. Salvo raras excepciones, todas las computadoras de hoy da tienen la misma estructura general y funcionamiento que las mquinas de von Neumann.

La ENIAC (Electronic Numerical Integrator And Computer) fue la primera computadora electrnica de uso general en el mundo. Uno de los inconvenientes ms grandes de la ENIAC era que tena que ser programada manualmente mediante conmutadores y conectando y desconectando cables. El proceso de programacin podra ser ms fcil si el programa se representar en una forma adecuada para ser guardado en la memoria junto con los datos. Entonces, la computadora conseguira sus instrucciones leyndolas de la memoria, y se podra hacer o modificar un programa escribiendo en una zona de memoria. La memoria de la IAS (Institute of Advanced Studies) consiste de 1000 localidades de almacenamiento, llamadas palabras de 40 bits, guardando tanto instrucciones como datos. Cada palabra poda contener un nmero representado con un bit de signo y 39 de magnitud, o bien dos instrucciones de 20 bits cada una. La unidad de control de la IAS trae instrucciones de la memoria y las ejecuta una por una. La figura 1 muestra que tanto la unidad de control como la ALU contienen localidades de almacenamiento llamadas registros, definidos de la siguiente manera: Registro Temporal de Memoria Buffer (MBR): Contiene una palabra que debe ser almacenada en memoria, o recibe una palabra procedente de la memoria. Registro Temporal de Instruccin (IBR): Almacena temporalmente la instruccin contenida en la parte derecha de una palabra. Registro de Instruccin (IR): Contiene el cdigo de operacin de la instruccin que se va a ejecutar. Registro de Direccin de Memoria (MAR): Especifica la direccin de memoria de la palabra que va a ser escrita o leda en MBR.

Contador de Programa (PC): Contiene la direccin de la siguiente pareja de instrucciones que se traern de memoria. Acumulador (AC) Multiplicador Cociente (MQ): Se emplean para almacenar temporalmente operandos y resultados de operaciones de la ALU. Virtualmente todas las computadoras se han diseado basndose en los conceptos desarrollados por von Neumann. Tal diseo se conoce como Arquitectura de von Neumann y se basa en tres conceptos clave: Los datos y las instrucciones se almacenan en una sola memoria de lectura - escritura. Los contenidos de esta memoria se direccionan indicando su posicin, sin considerar el tipo de dato contenido en la misma. La ejecucin se produce siguiendo una secuencia de instruccin tras instruccin (a no ser que dicha instruccin se modifique explcitamente). El modelo clsico de arquitectura de computadoras fue diseado por Jhon Von Newman que consta de los siguientes elementos: Dispositivos de entrada, de proceso, de almacenamiento y de salida.

2.3 ARQUITECTURAS DE COMPUTO SEMENTADAS


Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar el desempeo realizando paralelamente varias etapas del ciclo de instruccin al mismo tiempo. El procesador se divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones. Para comprender mejor esto, supongamos que un procesador simple tiene un ciclo de instruccin sencillo consistente solamente en una etapa de bsqueda del cdigo de instruccin y en otra etapa de ejecucin de la instruccin. En un procesador sin segmentacin del cauce, las dos etapas se realizaran de manera secuencial para cada una de las instrucciones, como lo muestra la siguiente figura.

En un procesador con segmentacin del cauce, 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 ingls: Pipelining o entubamiento. En general se divide al procesador segmentado en una unidad independiente por cada etapa del ciclo de instruccin. Completando el ejemplo anterior, en un procesador con segmentacin, la unidad de bsqueda comenzara buscando el cdigo de la primera instruccin en el primer ciclo de reloj. Durante el segundo ciclo de reloj, la unidad de bsqueda obtendra el cdigo de la instruccin 2, mientras que la unidad de ejecucin ejecuta la instruccin 1 y as sucesivamente. La siguiente figura muestra este proceso.

En este esquema sigue tomando el mismo nmero de ciclos de reloj (el mismo tiempo), pero como se trabaja en varias instrucciones al mismo tiempo, el nmero promedio de instrucciones por segundo se multiplica. En teora, el rendimiento de un procesador segmentado mejora con respecto a uno no segmentado en un factor igual al nmero de etapas independientes. Sin embargo, la mejora en el rendimiento no es proporcional al nmero de segmentos en el cauce debido a que cada etapa no toma el mismo tiempo en realizarse, adems de que se puede presentar competencia por el uso de algunos recursos como la memoria principal. Otra razn por la que las ventajas de este esquema se pierden es cuando se encuentra un salto en el programa y todas las instrucciones que ya se buscaron y se encuentran en la cola, deben descartarse y comenzar a buscar las instrucciones desde cero a partir de la direccin a la que se salt. Esto reduce el desempeo del procesador y an se investigan maneras de predecir los saltos para evitar este problema. Otra aportacin frecuente que aumenta el rendimiento del computador es el fomento del paralelismo implcito, que consiste en la segmentacin del procesador (pipe-line), descomponindolo en etapas para poder procesar una instruccin diferente en cada una de ellas y trabajar con varias a la vez. La arquitectura en pipeline (basada en filtros) consiste en ir transformando un flujo de datos en un proceso comprendido por varias fases secuenciales, siendo la entrada de cada una la salida de la anterior. Esta arquitectura es muy comn en el desarrollo de programas para el intrprete de comandos, ya que se pueden concatenar comandos fcilmente con tuberas (pipe). Tambin es una arquitectura muy natural en el paradigma de programacin funcional, ya que equivale a la composicin de funciones matemticas La arquitectura pipe-line se aplica en dos lugares de la mquina, en la CPU y en la ALU. Veamos en que consiste el pipe-line y tratemos de entender porque el pipe-line mejora el rendimiento de todo el sistema. Un pipeline o tubera es un conjunto de elementos procesadores de datos conectados en serie, en donde la salida de un elemento es la entrada del siguiente. Los elementos del pipeline son generalmente ejecutados en paralelo, en esos casos, debe haber un almacenamiento tipo buffer insertado entre elementos

En informtica, pipeline es sinnimo de segmentacin. 2.3.1 Aplicaciones de pipelines en informtica Pipelines grficos, se encuentran en la mayora de las tarjetas grficas, consiste en mltiples unidades aritmticas o CPU completas, que implementan variados escenarios de operaciones tpicas de renderizado, por ejemplo, clculos de luz y colores, renderizado, proyeccin de perspectiva, etc. Pipelines de software o tuberas, consiste en mltiples procesos ordenados de tal forma que el flujo de salida de un proceso alimenta la entrada del siguiente proceso. Por ejemplo, los pipelines de Unix. EJEMPLO Veamos una CPU no organizada en pipe-line: Si se trata de una instruccin a ser ejecutada por la ALU podemos decir que la CPU realiza a lo largo del ciclo de mquina estas 5 tareas. Una vez que termina de ejecutar una instruccin va a buscar otra y tarda en ejecutarla un tiempo T, es decir cada T segundos ejecuta una instruccin. Qu sucede si dividimos en 5 unidades segn las 5 cosas que realiza la CPU? Supongamos la CPU dividida en 5 unidades, de tal forma que c/u tarde lo mismo en realizar su partecita. Es decir c/u tardar T/5. Para que una instruccin se ejecute se necesita T segundos entonces para que usar pipe-line? Si ocurre esto en una CPU normal a una con pipe-line, la cantidad de instrucciones que se hacen por segundo aumenta, es decir aumenta el flujo de instrucciones que se ejecutan por segundo. La arquitectura paralela o de lneas paralelas (pipe-line), es una tcnica en la que se descomponen un proceso secuencial en sub operaciones, y cada subproceso se ejecuta en un segmento dedicado especial que opera en forma concurrente con los otros segmentos. Una lnea puede considerarse como un conjunto de segmentos de procesamiento por el que fluye informacin binaria. Cada segmento ejecuta un procesamiento parcial, dictado por la manera en que se divide la tarea. El resultado obtenido del clculo en cada segmento se transfiere al siguiente segmento

en la lnea. El resultado final se obtiene despus de que los datos han recorrido todos los segmentos. El nombre "lnea" implica un flujo re-informacin similar a una lnea de ensamblado industrial. Es caracterstico de las lneas que varios clculos puedan estar en proceso en distintos segmentos, al mismo tiempo. La simultaneidad de los clculos es posible al asociar un registro con cada segmento en la lnea. Los registros proporcionan aislamiento entre cada segmento para que cada uno pueda operar sobre datos distintos en forma simultnea. Tal vez la manera ms simple de apreciar la arquitectura de lneas paralelas es imaginar que cada segmento consta de un registro de entrada seguido de un circuito combinatorio. El registro contiene los datos y el circuito combinatorio ejecuta las sub operacin en el segmento particular. La salida del circuito combinacional es un segmento dado se aplica al registro de entrada del siguiente segmento. Se aplica un reloj a todos los registros despus de que se ha transcurrido un tiempo suficiente para ejecutar toda la actividad del segmento. De esta manera la informacin fluye por la lnea un paso a la vez.

2.4 ARQUITECTURA DE COMPUTO DE MULTIPROCESAMIENTO


Cuando se desea incrementar el desempeo ms all 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: 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 Procesadores vectoriales Son computadoras pensadas para aplicar un mismo algoritmo numrico a una serie de datos matriciales, en especial en la simulacin de sistemas fsicos complejos, tales como simuladores para predecir el clima, explosiones atmicas, reacciones qumicas complejas, etc., donde los datos son representados como grandes nmeros de datos en forma matricial sobre los que se deben se aplicar el mismo algoritmo numrico.

Sistemas SMP (Simetric Multiprocesesors)- Son varios procesadores que comparten la misma memoria principal y perifricos de I/O, Normalmente conectados por un bus comn. Se conocen como simtricos, ya que ningn procesador toma el papel de maestro y los dems de esclavos, sino que todos tienen derechos similares en cuanto al acceso a la memoria y perifricos y ambos son administrados por el sistema operativo. SMP es el acrnimo de Symmetric Multi-Processing, multiproceso simtrico. Se trata de un tipo de arquitectura de ordenadores en que dos o ms procesadores comparten una nica memoria central. La arquitectura SMP (Multi-procesamiento simtrico, tambin llamada UMA, de Uniform Memory Access), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria. Los Clusters son conjuntos de computadoras independientes conectadas en una red de rea local o por un bis de interconexin y que trabajan cooperativamente para resolver un problema. Es clave en su funcionamiento contar con un sistema operativo y programas de aplicacin capaces de distribuir el trabajo entre las computadoras de la red. Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ah la denominacin simtrico. Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar su localizacin en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fcilmente tareas entre los procesadores para garantizar eficientemente el trabajo. Una computadora SMP se compone de microprocesadores independientes que se comunican con la memoria a travs de un bus compartido. Dicho bus es un recurso de uso comn. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP no mejora ni empeora lo que s es que hay varios parados en espera de datos.

3 ANALISIS DE COMPONENTES 3.1.1CPU


El primer microprocesador (Intel 4004) se invent en 1971. Era un dispositivo de clculo de 4 bits, con una velocidad de 108 kHz. Desde entonces, la potencia de los microprocesadores ha aumentado de manera exponencial. La unidad central de procesamiento, UCP o CPU (por el acrnimo en ingls de central processing unit), o simplemente el procesador o microprocesador, es el componente del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. Los 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 el almacenamiento primario y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los aos 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en da, el trmino "CPU" es aplicado usualmente a todos los microprocesadores. La expresin "unidad central de proceso" es, en trminos generales, una descripcin de una cierta clase de mquinas de lgica que pueden ejecutar complejos programas de computadora. Esta amplia definicin puede fcilmente ser aplicada a muchos de los primeros computadores que existieron mucho antes que el trmino "CPU" estuviera en amplio uso. Sin

embargo, el trmino en s mismo y su acrnimo han estado en uso en la industria de la informtica por lo menos desde el principio de los aos 1960. La forma, el diseo y la implementacin de los CPU ha cambiado drsticamente desde los primeros ejemplos, pero su operacin fundamental ha permanecido bastante similar.

Los primeros CPU fueron diseados a la medida como parte de una computadora ms grande, generalmente una computadora nica en su especie. Sin embargo, este costoso mtodo de disear los CPU a la medida, para una aplicacin particular, ha desaparecido en gran parte y se ha sustituido por el desarrollo de clases de procesadores baratos y estandarizados adaptados para uno o muchos propsitos. Esta tendencia de estandarizacin comenz generalmente en la era de los transistores discretos, computadoras centrales, y microcomputadoras, y fue acelerada rpidamente con la popularizacin del circuito integrado (IC), ste ha permitido que sean diseados y fabricados CPU ms complejos en espacios pequeos (en la orden de milmetros). Tanto la miniaturizacin como la estandarizacin de los CPU han aumentado la presencia de estos dispositivos digitales en la vida moderna mucho ms all de las aplicaciones limitadas de mquinas de computacin dedicadas. Los microprocesadores modernos aparecen en todo, desde automviles, televisores, neveras, calculadoras, aviones, hasta telfonos mviles o celulares, juguetes, entre otros.

La Unidad Central de Procesos (CPU) contiene unas series de registros de memoria que contiene los operadores y el resultado de las operaciones. Los datos de los registros generales que contienen los operandos se llevan a los registros de entrada de la Unidad Aritmetica-Logica (ALU), la cual realiza la operacin sobre los datos de entrada. El resultado de la operacin realizada se obtiene en el registro de salida de la ALU, que posteriormente se almacena en otro de los registros de memoria. Todo esto se realiza bajo la coordinacin de la Unidad de Control.

Tambin hay conexin entre el CPU y la memoria principal (y los dispositivos de E/S) pues de ella se a las instrucciones y los operandos, y a ella suelen ir a parar los resultados de las operaciones. El chip ms importante de cualquier placa madre es el microprocesador o simplemente procesador. Sin l, un ordenador no podra funcionar. A menudo a este componente se le denomina CPU (Central Processing Unit, Unidad de procesamiento central), que descrbe a la perfeccin su papel dentro del sistema. El procesador es realmente el elemento central del proceso de tratamiento de datos. La CPU gestiona cada paso en el proceso de los datos. Acta como el conductor y el supervisor de los componentes de hardware del sistema. Asimismo, est unida, directa o indirectamente, con todos los dems componentes de la placa prncipal. Por lo tanto, muchos grupos de componentes reciben rdenes y son activados de forma directa por la CPU. El procesador est equipado con buses de direcciones, de datos y de control, que le permiten llevar a cabo sus tareas. Estos sistemas de buses varan dependiendo de la categora del procesador, lo cual se analizar ms adelante. Tambin durante el desarrollo de los ordenadores personales han ido variando las unidades funcionales internas de los procesadores, evolucionando drsticamente. Se ha incorporado un nmero de transistores y circuitos integrados cada vez mayor, y dentro de un espacio cada vez ms reducido, a fin de satisfacer las demandas cada vez ms exigentes de mayores prestaciones por parte del software. Por ejemplo, el microprocesador Pentium contiene, ubicados sobre una placa de cermica de aproximadamente 6 milmetros cuadrados, ms de tres millones de transistores. Por todo lo expuesto, se hacen lgicamente necesarios unos procesos de fabricacin tambin complejos y especiales. Esta tcnica permite construir elementos casi microscpicos (un micrmetro, o la millonsima parte de un metro). Esta tcnica desarrollada por Intel se conoce como CHMOS-IV .Para apreciar la miniaturizacin en cuestin, pensemos que un solo pelo humano tiene una anchura que se extendera sobre 100 unidades de este tipo. La configuracin y capacidad de este procesador son los criterios fundamentales que determinan el rendimiento de todo el ordenador.

La unidad central de proceso (CPU), procesador o microprocesador, es el verdadero cerebro del ordenador. Su misin consiste en controlar y coordinar todas las operaciones del sistema. Para ello extrae, una a una, las instrucciones del programa que est en la memoria central del ordenador (memoria RAM), las analiza y emite las rdenes necesarias para su completa realizacin.

Figura 3.1. Estructura interna del CPU

3.1.1.1 Estructura bsica de la CPU

Figura 3.1.1.1.Estructura de un procesador bsico.

La Figura muestra la estructura interna de un procesador sencillo con arquitectura Von Neumann. El diseo es bsico (se corresponde con el presentado por algunos procesadores sencillos de 8 bits) pero su comprensin permitir entender el funcionamiento de procesadores ms complejos, que amplan la estructura presentada, donde se pueden apreciar los siguientes elementos:

Bus de direcciones. Permite enviar direcciones a la memoria y perifricos. Las direcciones son nmeros que indican la posicin de memoria donde se desea escribir un dato, o de donde se desea leerlo. La memoria se abordar con detalle en prximos captulos, al igual que los perifricos.

Bus de datos. Permite al procesador enviar datos a la memoria y perifricos. De la misma forma, permite que el procesador reciba datos de dichos elementos. Para escribir (o leer) un dato, primero es necesario colocar la direccin donde escribirlo (o de donde leerlo) en el bus de direcciones. Registro de instruccin. En cada momento, este registro almacena la instruccin que est siendo ejecutada por la CPU. Archivo de registros. Son almacenes temporales de datos, de acceso muy rpido. En general, almacenan los operandos sobre los que actan las instrucciones, y tambin los resultados de stas (para un futuro uso). Tambin existen registros de aplicacin especfica, como se ver ms adelante. Unidad Aritmtico-Lgica. Ms conocida por el acrnimo ingls ALU (Arithmetic-Logic Unit). La ALU es el motor de clculo del procesador, ya que se encarga de realizar las operaciones para las que est capacitado. Como se aprecia en la Figura 1, la ALU es capaz de tomar 2 datos como operandos y producir una salida, resultado de aplicar una operacin (seleccionable mediante unas lneas de control). Las operaciones soportadas pueden ser aritmticas (suma, resta, etc.), lgicas (and, or, etc.) y otras operaciones como desplazamientos de bits. Sin duda, la ALU es un elemento muy importante, ya que define las operaciones de clculo que la CPU puede realizar. Contador de programa. Se trata de un registro especial, al que se denomina normalmente PC (del ingls Program Counter). El PC contiene, en cada momento, la direccin de memoria en la que se encuentra la siguiente instruccin a ejecutar. Cada vez que se obtiene una nueva instruccin de la memoria, el PC se actualiza para apuntar a la prxima instruccin a ejecutar. Normalmente, dicha actualizacin consiste en un simple incremento, para apuntar a la celda de memoria siguiente (tngase en cuenta que, en general, las instrucciones de un programa se almacenan en posiciones de memoria consecutivas). Este comportamiento cambia cuando se ejecuta una instruccin de salto. En ese caso, el PC se actualiza con la direccin de destino del salto, donde se encuentra la siguiente instruccin a ejecutar.

Registro de direcciones de memoria. Tambin denominado MAR (Memory AddressRegister). Este registro almacena la prxima direccin de memoria de la que leer (o en la que escribir) un dato. Se trata de un registro que complementa al PC: mientras que este ltimo apunta a instrucciones, el MAR apunta a datos. Multiplexor. No se trata de un elemento exclusivo de las CPU, sino de una pieza fundamental del diseo de sistemas digitales. En el esquema de la Figura 1, el multiplexor acta como una especie de conmutador, transporta el contenido del PC o del MAR hacia el bus de direcciones. La lnea roja de la parte izquierda es el terminal que permite seleccionar si es el contenido del PC o el del MAR el que llegar al bus (colocando en l un 1 o un 0 lgico).

Reloj. En la actualidad, prcticamente todos los procesadores son sistemas digitales sncronos. Esto significa que trabajan al ritmo marcado por una seal de reloj. Dicha seal no es ms que un conjunto de pulsos distanciados por igual en el tiempo. Ms adelante se comprobar que una mayor velocidad de reloj no siempre implica un mayor rendimiento del procesador. Unidad de control. Es el bloque encargado de coordinar el funcionamiento interno de la CPU. Indica a cada componente interno cmo debe funcionar y cundo tiene permiso para entrar en accin. En otras palabras, la unidad de control se puede entender como el director de orquesta de la CPU.

3.1.1.2 Funcionamiento del CPU


Considere una posible instruccin a ejecutar por el procesador (denominada, por ejemplo, "ADD Rl, R2, R3"). Suponga que dicha instruccin toma los datos almacenados en los registros denominados R 1 y R2, realiza la suma, y almacena el resultado en el registro R3. Como ya habr intuido, R 1, R2 y R3 se encuentran en el archivo de registros. El proceso completo para ejecutar dicha instruccin es el siguiente:

1. El PC se actualiza con la direccin de memoria donde se halla la siguiente instruccin a ejecutar ("ADD R1, R2, R3"). 2. La unidad de control (UC) modifica el estado del multiplexor, de forma que el contenido del PC se dirija hacia el bus de direcciones. 3. La memoria recibe la direccin contenida en el PC, y responde devolviendo el dato contenido en dicha celda a travs del bus de datos. Dicho dato representa a la instruccin "ADD R1, R2, R3" mediante un valor numrico binario. 4. La instruccin recibida se almacena en el registro de instruccin. 5. La UC descodifica la instruccin. Es decir, averigua cul es la instruccin (ADD) y cules son los operandos sobre los que sta trabaja (Rl, R2 y R3).

Se debe tener presente que una instruccin se representa por un nmero binario, que ofrece informacin sobre la operacin a realizar (mediante un un grupo de bits), y los operandos sobre los que trabajar (en otros grupos de bits). Para facilitar su comprensin, las instrucciones se suelen etiquetar mediante mnemnicos (por ejemplo, "ADD"), formando lo que se denomina "lenguaje ensamblador", propio de cada procesador.

6. La UC se comunica con el archivo de registros (vase la conexin en rojo), hace que el contenido de los registros R1 y R2 vaya a parar a las 2 entradas de la ALU. 7. La UC configura la ALU (mediante la lnea de control en rojo, que realmente son varias lneas) indicando que se desea realizar la operacin suma. 8. La UC configura el archivo de registros, de forma que el resultado de la suma se conduzca hacia el registro R3. 9. La UC ordena a la ALU que realice la operacin actualmente configurada. Tal y como se pretenda, en el registro R3 se dispone de la suma de los valores contenidos en Rl y R2, con lo que la instruccin ha sido completada. Como conclusin importante del ejemplo, conviene remarcar que la ejecucin de una instruccin sencilla se compone de una serie de operaciones internas a la CPU, todas controladas por la UC. Esta ltima sabe cul es la secuencia de tareas a aplicar para cada instruccin, tras la etapa de descodificacin. Como imaginar, las operaciones a realizar para ejecutar una misma instruccin dependen de la arquitectura de la CPU en uso. Imagine dos CPU con diferente diseo, pero que soportan el mismo juego de instrucciones. En ese caso, un mismo programa sera vlido para ambas, y dara lugar a los mismos resultados. Pero es importante notar que el rendimiento del programa podra ser diferente en cada CPU, ya que el hardware es diferente (por ejemplo, el nmero de tareas internas a realizar y la duracin de las mismas puede ser diferente). En otras palabras: el juego de instrucciones condiciona la compatibilidad de los programas, pero el diseo de la CPU decide el rendimiento.

3.2 ARQUITECTURAS
Unidad aritmtica y lgica o ALU: Es la parte del microprocesador que realiza operaciones aritmtica, como adicin y sustraccin. Tambin realiza operaciones lgicas, como comparar 2 nmeros para ver si son los mismos, La ALU usa registros para mantener los datos que se estn procesando, del mismo modo que puede ver un tazn que contiene los ingredientes para preparar galletas.

Smbolo esquemtico para una ALU

Unidad de control (UC) o Decodificador de instrucciones: Del microprocesador busca cada instrucciones, igual que como toma cada ingrediente de una alacena o el refrigerador. Los datos se cargan en los registros de la ALU, y de la misma forma en que agrega todos los ingredientes al tazn, por ltimo, la unidad de control da a la ALU luz verde para iniciar el procesamiento como cuando oprime el interruptor de su mescladora elctrica para empezar a mesclar los ingredientes de la galletas.

Bus (interno): No son circuitos en s, sino zonas conductoras en paralelo que transmiten datos, direcciones, instrucciones y seales de control entre las diferentes partes del mp.

3.2.1 Registros Los Registros son un medio de ayuda a las operaciones realizadas por la unidad de control y la unidad aritmtica y lgica. Permiten almacenar informacin, temporalmente, para facilitar la manipulacin de los datos por parte de la CPU. Realizando una similitud con el resto del sistema informtico, los registros son a la CPU como la memoria principal es a la computadora. Los registros se dividen en tres grupos principales: Registros de Propsito General. Registros de Segmento de Memoria. Registros de Instrucciones.

3.2.3 Registros de Propsito General


Registro EAX (Acumulador) Caractersticas Se define como un registro de 32 bits (EAX), como un registro de 16 bits (AX) o como uno de dos registros de 8 bits (AH y AL). Si se direcciona un registro de 8 o de 16 bits, slo cambia esa porcin del registro de 32 bits sin afectar a los bits restantes. El acumulador se emplea para instrucciones como multiplicacin, divisin y algunas de las instrucciones de ajuste. En procesadores 80386 y superiores, el registro EAX puede almacenar tambin la direccin de desplazamiento de una posicin e en el sistema de memoria. ste puede direccionarse como EBX, BX, BH o BL. Algunas veces guarda la direccin de desplazamiento de una posicin en el sistema de memoria, en todas las versiones del microprocesador. Tambin permite direccionar datos de la memoria. Almacena la cuenta de varias instrucciones. Adems puede guardar la direccin de desplazamiento de datos en la memoria. Las instrucciones utilizadas en un conteo son las instrucciones de cadena repetida (REP/REPE/REPNE); y las instrucciones desplazamiento (shift), rotacin (rtate) y LOOP/LOOPD. Guarda una parte del resultado de una multiplicacin, o parte del dividendo antes de una divisin. En el 80386 y superiores, este registro tambin puede direccionar datos de la memoria. Apunta a una posicin de memoria en todas las versiones del microprocesador para las transferencias de datos de memoria. Este registro se direcciona como BP o EBP.

EBX (ndice base)

ECX (Conteo)

EDX (Datos)

EBP (apuntador de la base)

3.2.4 Registro de Segmento de Memoria

Registro CS (cdigo)

Caractersticas Es una seccin de la memoria que almacena el cdigo (procedimientos y programas) utilizado por el microprocesador. As mismo define la direccin inicial de la seccin de memoria que guarda el cdigo. En la operacin en modo real, define el inicio de una seccin de 64 Kbytes de memoria. El segmento de cdigo est limitado a 64 Kbytes en los microprocesadores del 8088 y al 80286, y a 4 Gbytes en los microprocesadores 80386 y superiores cuando stos operan en modo protegido. Es una seccin de memoria que contiene la mayor parte de los datos utilizados por un programa. Se accede a los datos en el segmento de datos mediante una direccin de desplazamiento o el contenido de otros registros que guardan la direccin de desplazamiento. La longitud est limitada a 64 Kbytes en los microprocesadores del 8086 al80286, y a 4 Gbytes en los microprocesadores 80386 y superiores. Es un segmento de datos adicional utilizado por algunas de las instrucciones de cadena para guardar datos de destino. Define el rea de memoria utilizada para la pila. El punto de entrada de la pila se determina mediante los registros segmento de pila y apuntador de pila. El registro BP tambin direcciona datos dentro del segmento de pila. Son registros de segmento suplementario, disponibles en los microprocesadores del 80386 al Pentium 4 para que los programas puedan acceder a dos segmentos de memoria adicionales. Windows utiliza estos segmentos para operaciones internas, no existe una definicin disponible de su uso.

DS (Datos)

ES (extra) SS (pila)

FS y GS

3.2.5 Registro de Instrucciones


Es un registro que conserva el cdigo de operacin de la instruccin en todo el ciclo de la mquina. El cdigo es empleado por la unidad de control de la CPU para generar las seales apropiadas que controla le ejecucin de la instruccin. La longitud del ER es la longitud en bit del cdigo de operacin. (FL) Registro de Flags o tambin denominado registro de estado (IP) Registro Puntero de Instruccin o tambin denominado registro Contador de Programa (PC) De esta relacin de registros los cuatro ms importantes son: El Registro Puntero de Instrucciones. El registro puntero de instrucciones o contador de programa indica el flujo de las instrucciones del proceso en realizacin, apuntando a la direccin de memoria en que se encuentra la instruccin a ejecutar. Dado que las instrucciones de un programa se ejecutan de forma secuencial, el procesador incrementar en una unidad este registro cada vez que ejecute una instruccin, para que apunte a la siguiente. La informacin que almacena este registro se puede modificar cuando una interrupcin externa, o la propia ejecucin del proceso en curso, provoquen una alteracin en la secuencia de operaciones. Esta alteracin transferir el control del sistema informtico a otro proceso diferente al que est en ejecucin. El Registro Acumulador. Es el Registro donde se almacenan los resultados obtenidos en las operaciones realizadas por la unidad aritmtica y lgica. Su importancia radica en las caractersticas de la informacin que almacena, ya que con su contenido se realizan todas las operaciones de clculo que ha de ejecutar la unidad aritmtica y lgica. El registro de Estado. El Registro de Estado o registro de flags no es un solo registro propiamente dicho, ya que se compone de varios registros de menor tamao; este tamao puede ser incluso de un solo bit. El registro de estado se utiliza para indicar cambios de estados y condiciones en los otros registros existentes en el sistema informtico. Estos cambios en la situacin de los dems registros se producen debido a las modificaciones del entorno a lo largo de la ejecucin de los procesos realizados por el sistema informtico.

El Registro Puntero de la Pila. Este Registro almacena la direccin de la zona de la memoria donde est situada la parte superior de la pila. La Pila es una zona de los registros de segmento de memoria que la unidad aritmtica y lgica utiliza para almacenar temporalmente los datos que est manipulando. Cuando la cantidad de datos a manejar es demasiado grande u otras necesidades del proceso impiden que estos datos puedan almacenarse en los registros creados para ello se envan a la pila, donde se almacenan hasta que la unidad de control recupera la informacin para que la procese la unidad aritmtica y lgica. La ventaja de manejar una pila como almacn de informacin es que la informacin que se guarda en ella tiene que entrar y salir, obligatoriamente, por una sola direccin de memoria. Esto permite que la unidad de control no necesite conocer ms que esa direccin para poder manejar los datos almacenados en la pila.

3.2.6 Arquitectura de tipo Complex Instruction Set Computers (CISC).


La tendencia tradicional, representada por las arquitecturas CISC (Complex Instruction Set Computers) se caracterizan por tener un nmero amplio de instrucciones y modos de direccionamiento. Se implementan instrucciones especiales que realizan funciones complejas, de manera que un programador puede encontrar con seguridad, una instruccin especial que realiza en hardware la funcin que el necesita. El nmero de registros del CPU es limitado, ya que las compuertas lgicas del circuito integrado se emplean para implementar las secuencias de control de estas instrucciones especiales.

La tcnica de las arquitectura CISC consiste en hacer que cada instruccin sea interpretada por un microprograma localizado en una seccin de memoria en el circuito integrado del procesador. A su vez, las instrucciones compuestas se decodifican para ser ejecutadas por microinstrucciones almacenadas en una ROM interna, todas las operaciones se realizan al ritmo de los ciclos de reloj.

Entre las bondades de la arquitectura CISC: Ausencias de Compiladores. Mejora la compactacin de cdigo. Facilita la depuracin de errores.

Considerando la extraordinaria cantidad de instrucciones que la CPU puede manejar, la construccin de una CPU con arquitectura CISC es relativamente complejo. A este grupo pertenecen los microprocesadores de INTEL (Celeron, Pentium, Pentium II, Pentium II) y AMD (Duron, Athlon).

El origen de la arquitectura CISC se remonta a los inicios de la programacin ubicada en los aos 60 y 70. para contrarrestar la crisis del software en ese entonces, empresas electrnicas fabricantes de hardware pensaron que una buena solucin era crear una CPU con un amplio y detallado manejo de instrucciones, a fin que los programas fueran mas sencillos. Los programadores en consecuencia crearon multitud de programas para esa arquitectura. La posterior masificacin de los PCs, permiti que el mercado fuera luego copado de software creado para procesadores CISC.

Al investigar las tendencias en la escritura de software cientfico y comercial al inicio de los 80, ya se pudo observar que en general ya no se programaba mucho en ensamblador, sino en lenguajes de alto nivel, tales como C. Los compiladores de lenguajes de alto nivel no hacan uso de las instrucciones especiales implementadas en los procesadores CISC, por lo que resultaba un desperdicio de recursos emplear las compuertas del circuito de esta forma. Por lo anterior, se decidi que era mejor emplear estos recursos en hacer que las pocas instrucciones que realmente empleaban los compiladores se ejecutaran lo ms rpidamente posible. As surgi la escuela de diseo RISC (Reduced Instruction Set Computers) donde solo se cuenta con unas pocas instrucciones y modos de direccionamiento, pero se busca implementarlos de forma muy eficiente y que todas las instrucciones trabajen con todos los modos de direccionamiento. Adems, se observ que una de las tareas que tomaban ms tiempo en ejecutarse en lenguajes de alto nivel, era el pasar los parmetros a las subrutinas a travs de la pila. Como la forma ms rpida de hacer este paso es por medio de registros del CPU, se busc dotarlo con un amplio nmero de registros, a travs de los cuales se pueden pasar dichos parmetros.

3.2.7 Arquitectura de tipo Reduced Instruction Set Computers (RISC).

En este tipo de arquitectura solo se cuenta con unas pocas instrucciones y modos de direccionamiento, pero se busca implementarlos de forma muy eficiente y que todas las instrucciones trabajen con todos los modos de direccionamiento. Adems, se observ que una de las tareas que tomaban ms tiempo en ejecutarse en lenguajes de alto nivel, era el pasar los parmetros a las subrutinas a travs de la pila. Como la forma

ms rpida de hacer este paso es por medio de registros del CPU, se busc dotarlo con un amplio nmero de registros, a travs de los cuales se pueden pasar dichos parmetros.

La arquitectura RISC ha sido la consecuencia evolutiva de las CPU. Considerada como una innovacin tecnolgica creada a partir del anlisis de la primitiva arquitectura CISC, RISC ha dado origen a la aparicin de microprocesadores poderosos cuya principal aplicacin a la fecha, ha sido el trabajo en las grandes mquinas (servidores), aunque tambin han llegado a posicionarse en ciertas mquinas desktop (Apple), computadoras de mano, mquinas de juego y artefactos elctricos.

Ejemplos de tecnologia RISC son los sistemas MIPS (Millons Instruction Per Second), SPARC o Scalable Processor Architecture de la SUN, Power PC (Apple, Motorola e IBM) usadas en PCs de Apple, Macinstosh y Mainframes de IBM, entre otros.

Como su nombre lo indica se trata de microprocesadores con un conjunto de instrucciones muy reducidas en contraposicin a CISC, entre las bondades de esta arquitectura tenemos que:

La CPU trabaja mas rpido. Manejo de Compiladores. Utiliza un sistema de direcciones no destructivas en RAM. Casi inexistente el microcdigo. Implementacin de la segmentacin.

Una forma de clasificar los microprocesadores es en funcin de las instrucciones que son capaces de ejecutar. Podemos

encontrar dos tipos: microprocesadores: con tecnologa CISC y RISC.

3.3 Tipos
De un solo ncleo. Las CPU de un solo ncleo son el tipo ms antiguo disponible y en un principio este fue el nico tipo de CPU que podra ser utilizado en las computadoras. De dos ncleos Una CPU de doble ncleo es una sola CPU que tiene dos ncleos y por lo tanto funciona como como dos CPU en una sola. A diferencia de las de ncleo nico en el que el procesador tena que alternarse entre diferentes conjuntos de flujos de datos, si ms de una operacin estaba en marcha, las de doble ncleo podan manejar mltiples tareas de manera ms eficiente. Para sacar el mximo provecho de una CPU de doble ncleo, tanto el sistema operativo como los programas que se ejecutan en l deban tener un cdigo especial llamado SMT (Tecnologa Multihilo Simultneo). De cuatro ncleos Las CPU de cuatro ncleos son el perfeccionamiento del diseo de la CPU multincleo y disponen de cuatro ncleos en una sola CPU. As como las CPU de doble ncleo podan dividir la carga de trabajo entre los dos ncleos, los cuatro ncleos permiten realizar an ms tareas a la vez. Esto no significa que una sola operacin ser cuatro veces ms rpida y, a menos de que los programas y aplicaciones que se ejecutan en ella tengan el cdigo de SMT, el aumento de velocidad no ser tan notable Los CPU 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 Newman o Harvard y si solo tienen instrucciones enteras o implementan tambin instrucciones de punto flotante La otra forma que pueden clasificarse es acuerdo a varias caractersticas como son: El tamao del ALU o del Bus de Conexin al exterior, que pueden ser de: 8, 16, 32 y hasta 64 bits. Si tienen cauce segmentado o no segmentado.

Si son tipo CISC o RISC. Si solo tienen instrucciones enteras o implementan tambin instrucciones de punto flotante.

3.3.1. Por su tamao


El tamao de las carcasas viene dado por el factor de forma de la placa base. Sin embargo el factor de forma solo especifica el tamao interno de la caja. Barebone: Gabinetes de pequeo tamao cuya funcin principal es la de ocupar menor espacio y crea un diseo ms agradable. Son tiles para personas que quieran dar buena impresin como una persona que tenga un despacho en el que reciba a mucha gente. Los barebone tienen el problema de que la expansin es complicada debido a que admite pocos (o ningn) dispositivos. Otro punto en contra es el calentamiento al ser de tamao reducido aunque para una persona que no exija mucho trabajo al ordenador puede estar bien. Este tipo de cajas tienen muchos puertos USB para compensar la falta de dispositivos, como una disquetera (ya obsoleta), para poder conectar dispositivos externos como un disco USB o una memoria. Minitorre: Dispone de una o dos bahas de 5 y dos o tres bahas de 3 . Dependiendo de la placa base se pueden colocar bastantes tarjetas. No suelen tener problema con los USB y se venden bastantes modelos de este tipo de torre ya que es pequea y a su vez hace las paces con la expansin. Su calentamiento es normal y no tiene elproblema de los barebone. Sobremesa: No se diferencian mucho de las minitorres, a excepcin de que en lugar de estar en vertical se colocan en horizontal sobre el escritorio. Antes se usaban mucho, pero ahora estn cada vez ms en desuso. Se sola colocar sobre ella el monitor. Mediatorre o semitorre: La diferencia de sta es que aumenta su tamao para poder colocar ms dispositivos. Normalmente son de 4 bahas de 5 y 4 de 3 y un gran nmero de huecos para poder colocar tarjetas y dems aunque esto depende siempre de la placa base.

Torre: Es el ms grande. Puedes colocar una gran cantidad de dispositivos y es usado cuando se precisa una gran cantidad de dispositivos. Servidor: Suelen ser gabinetes ms anchos que los otros y de una esttica inexistente debido a que van destinadas a lugares en los que no hay mucho trnsito de clientes como es un centro de procesamiento de datos. Su diseo est basado en la eficiencia donde los perifricos no es la mayor prioridad sino el rendimiento y la ventilacin. Suelen tener ms de una fuente de alimentacin de extraccin en caliente para que no se caiga el servidor en el caso de que se estropee una de las dos y normalmente estn conectados a un SAI que protege a los equipos de los picos de tensin y consigue que en caso de cada de la red elctrica el servidor siga funcionando por un tiempo limitado. Rack: Son otro tipo de servidores. Normalmente estn dedicados y tienen una potencia superior que cualquier otro ordenador. Los servidores rack se atornillan a un mueble que tiene una medida especial: la "U". Una "U" es el ancho de una ranura del mueble. Este tipo de servidores suele colocarse en salas climatizadas debido a la temperatura que alcanza. Modding: El modding es un tipo de gabinete que es totalmente esttico incluso se podra decir en algunos casos que son poco funcionales. Normalmente este tipo de gabinetes lleva incorporado un montn de luces de nen, ventiladores, dibujos y colores extraos pero tambin los hay con formas extravagantes que hacen que muchas veces sea difcil la expansin (como una torre en forma de pirmide en la que colocar componentes se complica. Porttiles: Son equipos ya definidos. Poco se puede hacer para expandirlos y suelen calentarse mucho si son muy exigidos. El tamao suele depender del monitor que trae incorporado y con los tiempos son cada vez ms finos. Su utilidad se basa en que tenemos todo el equipo integrado en el gabinete: Teclado, monitor, y mouse, y por lo tanto lo hacen porttil

3.3.2. Procesadores en la historia


Microprocesador 4004 8008 SC/MP 8080 6800 Z80 8086 y 8088 80286 80386 VAX 78032 80486 AMx86 PowerPC 601 Intel Pentium Ao 1971 1972 1974 1974 1975 1976 1978 1982 1985 1985 1989 1991 1993 1993 Datos CPU de 4 bits creado en un simple chip e impulso la calculadora Busicom. Pedido a Intel por Computer Terminal Corporation para usarlo en su terminal. Bus de direcciones de 16 bits y un bus de datos de 8 bits. Se convirti en la CPU de la primera computadora personal. Fue lanzada al mercado poco despus del Intel 8080, comprendia de 6800 transistores. Microprocesador de 8 bits construida en tecnologa NMOS. Una venta de Intel a IBM la cual hizo que las computadoras dieran un gran golpe al mercado con la 8088 Conocida como 286, fue el primer procesador de Intel que poda ejecutar todo el software escrito para su procesador. Llamado 386, se integr con 27500 transistores, mas de 100 veces tanto como el original 4004. nico chip de 32 bits, instalados en los equipos VAX ll. Fue el primero en ofrecer el coprocesador matemtico o FPU integrado. Compatible con los cdigos de Intel de ese momento, llamados clones de Intel. Es un procesador de tecnologa RISC de 32 bits en 50 y 66MHz, interfaz del bus del Motorola 88110 Posea una arquitectura capaz de ejecutar dos Fabricante Intel Intel NACIONAL SEMI CONDUCTOR Intel Motorola Motorola Intel Intel Intel DEC Intel AMD PowerPC Intel

operaciones a la vez. PowerPC 620 Intel Pentium Pro AMD K5 AMD K6 y AMD K6-2 1994 1995 1996 1996 Fue diseado para su utilizacin en servidores, optimizado para usarlo en configuraciones de 4 o hasta 8 servidores de aplicaciones. Se dise con una arquitectura de 32 bits. Se us en servidores y programas. La arquitectura RISC86 del AMD K5 era mas semejante a la arquitectura del Intel Pentium Pro a la del Pentium. Con el K6, AMD no solo consigui hacerle competencia a los Pentium MMX de Intel, si no que adems lo amargo lo que de otra forma hubiese sido un placido dominio del mercado, ofreciendo un procesador ala altura del Pentium ll. Gracias al nuevo diseo de este procesador, los usuarios de PC pueden capturar, revisar y compartir fotografas digitales con los amigos Se disearon para cumplir los requisitos de desempeo en computadoras de medio-rango, servidores ms potentes y estaciones de trabajo. Intel en el desarrollo de procesadores para los segmentos del mercado especifico, el procesador Celeron el es el nombre que lleva la lnea bajo costo de Intel. Internamente el Athlon es un rediseo de su antecesor, pero se le mejoro substancialmente el sistemas de coma flotante, ahora con 3 unidades de coma flotante que puede trabajar simultneamente y se le aumento la memoria cahce de primer nivel a 128KiB 64KiB para datos y 64 KiB para instruccuiones. Ofrece 7 nuevas instrucciones de internet streaming , las extensiones de SIMD que refuerza IBM y Motorola Intel AMD AMD

Pentium ll Pentium ll Xeon Celeron

1997 1999 1999

Intel Intel Intel

Athlon K7

1999

AMD

Pentium lll

1999

Intel

Pentium lll Xeon

1999

Pentium 4

2000

Athlon XP

2001

Intel Pentium 4 (Prescott)

2004

AMD Athlon 64

2004

Intel CoreDuo

2006

IAMD Phenom

2007

dramticamente el desempeos con imgenes avanzadas. Amplia las fortalezas de Intel en cuanto a las estaciones de trabajo y segmentos de mercado de servidores y aade una actuacin mejorada en las aplicaciones del comercio electrnico e informtica comercial avanzada. Es un microprocesador de sptima generacin basada en la arquitectura del x86 y fabricado por Intel. Es el primero con un diseo completamente nuevo desde el Pentium Pro. Intel saco el Pentium 4 a 1.7GHz adems no era practico para el overclocking, entonces para seguir estando a la cabeza en cuanto al rendimiento de los procesadores x86, AMD tuvo que disear un nuevo ncleo, y saco en Athlon XP Intel introdujo una nueva versin de lintel Pentium 4 denominada Prescott, primero se utilizo en su mano factura un proceso de fabricacin de 90 nm y luego se cambio a 65 nm, su diferencia con los anteriores es que estos poseen 1 MiB o 2 MiB de cache L2 y 16 Kib de cache El AMD Atholn 64 es un microprocesador x86 de octava generacin que implementa el conjunto de instrucciones AMD 64, que fueron introducidas con el procesador Opteron. Intel lanza esta gama de procesadores de doble ncleo y CPU 2x2 MCM de cuatro ncleos con el conjunto de instruccines x86-64, basada en la nueva arquitectura core de Intel. Phenom fue el nombre dado por Advance Micro Divices(AMD) a la primera generacin de procesadores de tres y cuatro ncleos basados en la microarquitectura K10

Intel

Intel

AMD

Intel

AMD

Intel

AMD

Intel core Nehate m

2008

AMD Phenom II y Athlon II

2008

Intel Core Sandy Bridge AMD Fusion

2011

2011

Intel core i7 es una familia de procesadores de cuatro ncleos de la arquitectura Intel x86-64, los Core i7 son las primeros procesadores que usan la microaequitectura Nehale m de Intel y es el sucesor de la familia core 2. Phenom II es el nombre dado por AMD a una familia de micro procesadores fabricados en 45nm,la cual sucede al Phenom original y dieron soporte a DDR3. Una de las ventajas del paso de los 65 nm a los 45 nm, es que permiti aumentar la cantidad de cache L3. Llegan para remplazar los chips Nehalem, con Intel Core i3, Intel Core i5 y Intel Core i7 serie 2000 y Pentium G. Intel lanzo sus procesadores que se conocen con el nombre clave Sandy Bridge AMD Fusion es el nombre clave para su diseo futuro de microprocesadores Turion, producto de la fusin entre AMD Y ATI

Intel

AMD

Intel

AMD

MICROPROCESADOR 8086 8088 80286 80386SX 386SL 386SLC 80386DX 80486SX 80486DX

REGISTROS(bits) 16 16 16 32 32 32 32 32 32

BUS DE DATOS(bits) 8 16 16 16 16 16 32 32 32

BUS DE DIRECCIONES(bits) 20 20 24 24 24 32 32 32 32

COPROCESADOR MATEMATICO NO 8087 80287 80387SX 387SX 387SX 80387DX 80487SX Incluido en mismo chip Incluido en mismo chip Incluido en mismo chip Incluido en mismo chip Incluido en mismo chip Incluido en mismo chip Incluido en mismo chip el

80486DX2

32

32

32

el

80486DX4

32

32

32

el

PENTIUM

64

64

32

el

PENTIUM PRO

64

64

32

el

PENTIUM MMX

64

64

32

el

PENTIUM II

64

64

32

el

3. MEMORIA
Una memoria es un dispositivo que puede mantenerse en por lo menos dos estados estables por un cierto periodo de tiempo. Cada uno de estos estados estables puede utilizarse para representar un bit. A un dispositivo con la capacidad de almacenar por lo menos un bit se le conoce como celda bsica de memoria.

Un dispositivo de memoria completo se forma con varias celdas bsicas y los circuitos asociados para poder leer y escribir dichas celdas bsicas, agrupadas como localidades de memoria que permitan almacenar un grupo de N bits. El nmero de bits que puede almacenar cada localidad de memoria es conocido como el ancho de palabra de la memoria. Coincide con el ancho del bus de datos. Uno de los circuitos auxiliares que integran la memoria es el decodificador de direcciones. Su funcin es la de activar a las celdas bsicas que van a ser ledas o escritas a partir de la direccin presente en el bus de direcciones. Tiene como entradas las n lneas del bus de direcciones y 2N lneas de habilitacin de localidad, cada una correspondiente a una combinacin binaria distinta de los bits de direcciones. Por lo tanto, el nmero de localidades de memoria disponibles en un dispositivo (T) se relaciona con el nmero de lneas de direccin N por T= 2N.

La memoria es uno de los principales recursos de la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayora de los sistemas de cmputo cuentan con una alta capacidad de memoria, de igual manera las aplicaciones actuales tienen tambin altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario. La parte del sistema operativo que administra la memoria se llama administrador de memoria y su labor consiste en llevar un registro de las partes de memoria que se estn utilizando y aquellas que no, con el fin de asignar espacio en memoria

a los procesos cuando stos la necesiten y liberndola cuando terminen, as como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella. Los sistemas de administracin de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecucin y los que no. El propsito principal de una computadora es el de ejecutar programas, estos programas, junto con la informacin que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecucin. Para optimizar el uso del CPU y de la memoria, el sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administracin tanto del procesador como de la memoria. La seleccin de uno de ellos depende principalmente del diseo del hardware para el sistema. A continuacin se observarn los puntos correspondientes a la administracin de la memoria.

El propsito del almacenamiento es guardar datos que la computadora no est usando. El almacenamiento tiene tres ventajas sobre la memoria: 1. Hay ms espacio en almacenamiento que en memoria. 2. El almacenamiento retiene su contenido cuando se apaga el computador 3. El almacenamiento es ms barato que la memoria. El medio de almacenamiento ms comn es el disco magntico. El dispositivo que contiene al disco se llama unidad de disco (drive). La mayora de las computadoras personales tienen un disco duro no removible. Adems usualmente hay una o dos unidades de disco flexible, las cuales le permiten usar discos flexibles removibles. El disco duro normalmente puede guardar muchos ms datos que un disco flexible y por eso se usa disco duro como el archivero principal de la computadora. Los discos flexibles se usan para cargar programas nuevos, o datos al disco duro, intercambiar datos con otros usuarios o hacer una copia de respaldo de los datos que estn en el disco duro. Una computadora puede leer y escribir informacin en un disco duro mucho ms rpido que en el disco flexible. La diferencia de velocidad se debe a que un disco duro est construido con materiales ms pesados, gira mucho ms rpido

que un disco flexible y est sellado dentro de una cmara de aire, las partculas de polvo no pueden entrar en contacto con las cabezas. La memorizacin consiste en la capacidad de registrar sea una cadena de caracteres o de instrucciones (programa) y tanto volver a incorporarlo en determinado proceso como ejecutarlo bajo ciertas circunstancias. 3.1. CONCEPTOS BSICOS DEL MANEJO DE LA MEMORIA

La cantidad de memoria es medida a travs de un sistema especfico: - Bit: Dgito binario. Es la unidad ms pequea de informacin a almacenar, puede tener dos valores: un cero o un uno. - Byte: Corresponde a 8 bits y en general, equivale a un carcter (letra, nmero o signo). - Kilobyte (Kb): Representa 1024 bytes. Muchas veces se aproxima a 1000. - Megabytes (Mb): Representa a 1000 Kb 1048576 bytes. -Gigabyte (Gb): Representa a 1000 Mb. -Terabyte (Tb): Representa 1000 Gb. Trminos bsicos que se manejan cuando se trabaja con memorias. Palabra de memoria. Unidad mnima de acceso. Ancho de la palabra de memoria. Tamao de la palabra de memoria, coincide con el nmero de bits del bus de datos del chip de memoria. Celda de memoria. Corresponde a un bit de la memoria.

Capacidad de una memoria. Cantidad de informacin que la memoria puede almacenar. Viene determinado por el tamao del bus de direcciones (AB) y del de datos (DB) segn la frmula Capacidad = 2ABDB bits. Es decir, la memoria est formada por 2AB posiciones de DB bits cada una de ellas. Tiempo de escritura. Tiempo transcurrido desde que la memoria recibe la orden de escritura hasta que son almacenados en la misma. Tiempo de lectura. Tiempo transcurrido desde la orden de lectura hasta que la memoria vuelca los datos solicitados en su bus de datos. Tiempo de acceso. Media de los dos tiempos de lectura y escritura definidos. CLASIFICACION
DRAM RAM SRAM PRINCIPAL PROM ROM CACHE MEMORIA INTERMEDIA VIRTUAL OPTICAS SECUNDARIA MAGNETICAS CD Y DVD DISCO DURO PENDRIVE TARJETAS DE MEMORIA EPROM EEPROM

3.2. MEMORIA PRINCIPAL 3.2.1. RAM


RAM son las siglas de Random Access Memory, un tipo de memoria de ordenador a la que se puede acceder aleatoriamente; es decir, se puede acceder a cualquier byte de memoria sin acceder a los bytes precedentes. La memoria RAM es el tipo de memoria ms comn en ordenadores y otros dispositivos como impresoras. Se llama de acceso aleatorio porque el procesador accede a la informacin que est en la memoria en cualquier punto sin tener que acceder a la informacin anterior y posterior. Es la memoria que se actualiza constantemente mientras el ordenador est en uso y que pierde sus datos cuando el ordenador se apaga. Cuando las aplicaciones se ejecutan, primeramente deben ser cargadas en memoria RAM. El procesador entonces efecta accesos a dicha memoria para cargar instrucciones y enviar o recoger datos. Reducir el tiempo necesario para acceder a la memoria, ayuda a mejorar las prestaciones del sistema. La diferencia entre la RAM y otros tipos de memoria de almacenamiento, como los disquetes o discos duros, es que la RAM es mucho ms rpida, y se borra al apagar el ordenador. Es una memoria dinmica, lo que indica la necesidad de "recordar" los datos a la memoria cada pequeo periodo de tiempo, para impedir que esta pierda la informacin. Eso se llama Refresco. Cuando se pierde la alimentacin, la memoria pierde todos los datos. "Random Access", acceso aleatorio, indica que cada posicin de memoria puede ser leda o escrita en cualquier orden. Lo contrario sera el acceso secuencial, en el cual los datos tienen que ser ledos o escritos en un orden predeterminado. Es preciso considerar que a cada BIT de la memoria le corresponde un pequeo condensador al que le aplicamos una pequea carga elctrica y que mantienen durante un tiempo en funcin de la constante de descarga. Generalmente el refresco de memoria se realiza cclicamente y cuando est trabajando el DMA. El refresco de la memoria en modo normal est a cargo del controlador del canal que tambin cumple la funcin de optimizar el tiempo requerido para la operacin del refresco. Posiblemente, en ms de una ocasin en el ordenador aparecen errores de en la memoria debido a que las memorias que se estn utilizando son de una velocidad inadecuada que se descargan antes de poder ser refrescadas.

Las posiciones de memoria estn organizadas en filas y en columnas. Cuando se quiere acceder a la RAM se debe empezar especificando la fila, despus la columna y por ltimo se debe indicar si deseamos escribir o leer en esa posicin. En ese momento la RAM coloca los datos de esa posicin en la salida, si el acceso es de lectura o coge los datos y los almacena en la posicin seleccionada, si el acceso es de escritura. La cantidad de memoria RAM de nuestro sistema afecta notablemente a las prestaciones, fundamentalmente cuando se emplean sistemas operativos actuales. En general, y sobre todo cuando se ejecutan mltiples aplicaciones, puede que la demanda de memoria sea superior a la realmente existente, con lo que el sistema operativo fuerza al procesador a simular dicha memoria con el disco duro (memoria virtual). Una buena inversin para aumentar las prestaciones ser por tanto poner la mayor cantidad de RAM posible, con lo que minimizaremos los accesos al disco duro. Los sistemas avanzados emplean RAM entrelazada, que reduce los tiempos de acceso mediante la segmentacin de la memoria del sistema en dos bancos coordinados. Durante una solicitud particular, un banco suministra la informacin al procesador, mientras que el otro prepara datos para el siguiente ciclo; en el siguiente acceso, se intercambian los papeles. Los mdulos habituales que se encuentran en el mercado, tienen unos tiempos de acceso de 60 y 70 ns (aquellos de tiempos superiores deben ser desechados por lentos). Es conveniente que todos los bancos de memoria estn constituidos por mdulos con el mismo tiempo de acceso y a ser posible de 60 ns. Hay que tener en cuenta que el bus de datos del procesador debe coincidir con el de la memoria, y en el caso de que no sea as, esta se organizar en bancos, habiendo de tener cada banco la cantidad necesaria de mdulos hasta llegar al ancho buscado. Por tanto, el ordenador slo trabaja con bancos completos, y stos slo pueden componerse de mdulos del mismo tipo y capacidad. Como existen restricciones a la hora de colocar los mdulos, hay que tener en cuenta que no siempre podemos alcanzar todas las configuraciones de memoria. Tenemos que rellenar siempre el banco primero y despus el banco nmero dos, pero siempre rellenando los dos zcalos de cada banco (en el caso de que tengamos dos) con el mismo tipo de memoria. Combinando diferentes tamaos en cada banco podremos poner la cantidad de memoria que deseemos.

3.2.1.1.

ESTRUCTURA DE LA MEMORIA RAM

RAM proviene de ("Read Aleatory Memory") memoria de lectura aleatoria: es un dispositivo electrnico que se encarga de almacenar datos e instrucciones de manera temporal, de ah el trmino de memoria de tipo voltil ya que pierde los datos almacenados una vez apagado el equipo; pero a cambio tiene una muy alta velocidad para realizar la transmisin de la informacin.

En la memoria RAM se carga parte del sistema operativo (Linux Ubuntu, Apple MacOS, Microsoft Windows 7, etc.), los programas como (Office, Winzip, Nero, etc.), instrucciones desde el teclado, memoria para desplegar el video y opcionalmente una copia del contenido de la memoria ROM.

3.2.1.2. SEGMENTACION
Cuando se usa paginacin, el sistema divide la memoria para poder administrarla, no para facilitarle la vida al programador. La vista lgica que el programador tiene de la memoria no tiene nada que ver con la vista fsica que el sistema tiene de ella. El sistema ve un slo gran arreglo dividido en pginas, pero el programador piensa en trminos de un conjunto de subrutinas y estructuras de datos, a las cuales se refiere por su nombre: la funcin coseno, el stack, la tabla de smbolos, sin importar la ubicacin en memoria, y si acaso una est antes o despus que la otra.

La segmentacin es una forma de administrar la memoria que permite que el usuario vea la memoria como una coleccin de segmentos, cada uno de los cuales tiene un nombre y un tamao (que, adems, puede variar dinmicamente). Las direcciones lgicas se especifican como un par (segmento, desplazamiento).

3.2.1.3. IMPLEMENTACIN
Similar a paginacin: en vez de tabla de pginas, tabla de segmentos; para cada segmento, hay que saber su tamao y dnde comienza (base). Una direccin lgica (s,d), se traduce a base(s)+d. Si d es mayor que el tamao del segmento, entonces ERROR.

3.2.1.4. VENTAJAS
Al usuario se le simplifica el manejo de estructuras de datos de tamao dinmico. Se facilita el que los procesos compartan memoria. Los segmentos pueden estar protegidos segn la semntica de su contenido. Por ejemplo, un segmento que contiene cdigo, puede especificarse como slo para ejecucin (y nadie puede copiarlo ni sobrescribirlo); un arreglo puede especificarse como read/write but not execute. Esto facilita enormemente la deteccin de errores en el cdigo. Libreras compartidas de enlace dinmico (DLLs). Pero la memoria sigue siendo, fsicamente, un slo arreglo de bytes, que debe contener los segmentos de todos los procesos. A medida que se van creando y eliminando procesos, se va a ir produciendo, inevitablemente fragmentacin externa.

Si consideramos cada proceso como un slo gran segmento, tenemos el mismo caso que el de las particiones variables. Como cada proceso tiene varios segmentos, puede que el problema de la particin externa se reduzca, pues ya no necesitamos espacio contiguo para todo el proceso, sino que slo para cada segmento. Para eliminar completamente el problema de la fragmentacin interna, se puede usar una combinacin de segmentacin y paginacin, en la que los segmentos se paginan.

3.2.1.5. SEGMENTACIN PAGINADA EN LOS 386


En una 80386 puede haber hasta 8K segmentos privados y 8K segmentos globales, compartidos con todos los otros procesos. Existe una tabla de descripcin local (LDT) y una tabla de descripcin global (GDT) con la informacin de cada grupo de segmentos. Cada entrada en esas tablas tiene 8 bytes con informacin detallada del segmento, incluyendo su tamao y direccin. Una direccin lgica es un par (selector, desplazamiento), donde el desplazamiento es de 32 bits y el selector de 16, dividido en: 13 para el segmento, 1 para global/local, y 2 para manejar la proteccin. La CPU tiene un cach interno para 6 segmentos.

A continuacin se presenta un cuadro de resumen

Tcnica

Descripcin La memoria principal se divide en varias particiones estticas durante la generacin del sistema. Un

Ventajas Sencillo de implementar; pequea sobre carga del Sistema

Desventajas Uso ineficiente de la memoria por la

Particin Fija

proceso puede cargarse en Operativo una particin de igual o mayor tamao

fragmentacin interna, el nmero de procesos activos es fijo.

Particin Dinmica Las particiones se crean en forma dinmica, de manera que cada Sin fragmentacin interna; proceso se cargue uso ms ineficiente de la en una parte del memoria principal. mismo tamao exacto que el proceso.

Uso ineficiente del procesador por la necesidad de compactacin para contrarrestar la fragmentacin externa.

Paginacin Simple

La memoria principal se divide en varios marcos del mismo tamao. Cada segmentacin proceso se divide en varias Sin pginas iguales del mismo externa. tamao que los marcos. Un proceso carga todas sus pginas en marcos

Una pequea cantidad de fragmentacin externa.

disponibles n necesariamente contigua. Cada proceso est dividido en varios segmentos. Un proceso carga todos sus Sin fragmentacin Necesidad de segmentos en partes interna compactacin. dinmicas que no necesitan ser contiguas. Sin fragmentacin externa un grado ms alto de multiprogramacin; espacio de proceso virtual grande. Sin fragmentacin interna un grado ms alto de multiprogramacin; espacio de direccin virtual grande; soporte de proteccin y compartimento

Segmentacin Simple

Cmo la paginacin simple excepto que no es necesario cargar todas las pginas de Paginacin de un proceso. Las paginas no memoria virtual residentes necesarias se traen despus en forma automtica Como la segmentacin simple, excepto que no es necesario cargar todos los Segmentacin de segmentos de un proceso. memoria virtual Los segmentos no residentes necesarios se traen despus en formaauomtica.

Sobrecarga de administracin de memoria compleja.

Sobrecarga de administracin de memoria compleja.

3.2.1.6. TIPOS DE MEMORIA RAM


a) DRAM (Dynamic random access memory - Memoria de acceso aleatorio dinmica). Tipo de memoria RAM ms usada. Almacena cada bit de datos en un capacitor separado dentro de un circuito integrado. Dado que los capacitores pierden carga, eventualmente la informacin se desvanece a menos que la carga del capacitor se refresque y cargue peridicamente (perodos cortsimos de refresco). Por este requerimiento de refresco es llamada memoria dinmica que es opuesta a las SRAM y otras memorias estticas. Su ventaja sobre las SRAM es la simplicidad de su estructura: slo un transistor y un capacitor son requeridos por bit, comparado a los cinco transistores en las SRAM. Esto permite a las DRAM alcanzar muy alta densidad. Las DRAM fueron creadas por el Dr. Robert Dennard en el centro de investigacin de IBM Thomas J. Watson en 1966 y patentadas en 1968.

b) SRAM (Static random access memory - Memoria de acceso aleatorio esttica) Tipo de memoria RAM. La palabra "esttica" indica que estas memorias retienen su contenido el tiempo que reciben energa, a diferencia de las RAM (DRAM) que necesitan refrescarse peridicamente (SRAM no debe ser confundida con las ROM y las memorias flash, dado que es una memoria voltil y preserva los datos slo cuando recibe energa). Es un tipo de memoria que es ms rpida y ms fiable que las ms comunes DRAM. SRAM tiene un tiempo de acceso de 10 nanosegundos, en cambio en las DRAM es de 60 nanosegundos. Adems, su ciclo es mucho ms corto que el de las DRAM porque no necesitan una pausa entre accesos. Desafortunadamente estas son mucho ms caras de producir que las DRAM; debido a su alto costo las memorias SRAM

slo son usadas en pequeas memorias cach.

3.2.2. ROM
La memoria ROM, (Read-Only Memory) o memoria de slo lectura, es la memoria que se utiliza para almacenar los programas que ponen en marcha el ordenador y realizan los diagnsticos. La mayora de los ordenadores tienen una cantidad pequea de memoria ROM (algunos miles de bytes). Existe un tipo de memoria que almacena informacin sin necesidad de corriente elctrica; se trata de la ROM (Read Only Memory, o Memoria de Slo Lectura), a veces denominada memoria no voltil, dado que no se borra cuando se apaga el sistema. Este tipo de memoria permite almacenar la informacin necesaria para iniciar el ordenador. De hecho, no es posible almacenar esta informacin en el disco duro, dado que los parmetros del disco (vitales para la inicializacin) forman parte de dicha informacin y resultan esenciales para el arranque.

Existen diferentes mem orias de tipo ROM que contienen dichos datos esenciales para iniciar el ordenador, entre ellas:

El BIOS, es un programa que permite controlar las principales interfaces de entrada-salida, de ah el nombre BIOS ROM que a veces se le da al chip de la memoria de slo lectura de la placa madre que lo aloja. El cargador de bootstrap: programa para cargar memoria (de acceso aleatorio) al sistema operativo y ejecutarla. ste, generalmente busca el sistema operativo de la unidad de disquetes y luego el disco duro, lo que permite que el sistema operativo se ejecute desde el sistema de disquetes en el caso de que ocurra algn desperfecto en el sistema instalado en el disco duro. La Configuracin CMOS es la pantalla que se visualiza al iniciarse el ordenador. Se utiliza para modificar los parmetros del sistema (a menudo errneamente llamada BIOS). La Auto-prueba de Encendido (POST) es un programa que se ejecuta automticamente cuando arranca el sistema, permitiendo de esta manera probar dicho sistema (razn por la cual el sistema "cuenta" la RAM en el inicio).

Dado que las memorias ROM son mucho ms lentas que las RAM (el tiempo de acceso en el caso de la ROM es de unos 150 ns, mientras que para la SDRAM es de unos 10 ns), las instrucciones suministradas en la ROM a veces se copian a la RAM en el inicio; proceso denominado respaldo, aunque a menudo se le llama memoria de respaldo).

3.2.2.1

TIPOS DE ROM

a. PROM Es una memoria digital donde el valor de cada bit depende del estado de un fusible, que puede ser quemado una sola vez. Por esto la memoria puede ser programada una sola vez a travs de su dispositivo especial, un programador PROM. Estas memorias son utilizadas para grabar datos permanentes en cantidades menores a las ROMS o cuando los datos deben cambiar en muchos o todos los casos. Pequeas PROM han venido utilizndose como generadores de funciones, normalmente en conjuncin con un multiplexor. a veces se preferan a las ROM porque son bipolares, habitualmente SCHOTTKY consiguiendo mayores velocidades.

(Programmable Read-Only Memory - Memoria de Slo Lectura Programable). Tipo de memoria que puede ser programada una sola vez a travs de un programador PROM. Estn compuestas de fusibles (o antifusibles) que slo pueden ser quemados una vez.

Una memoria PROM sin programar se encuentra con todos los fusibles sin ser quemados, o sea, valor 1. Cada fusible quemado corresponde a un 0 produciendo una discontinuidad en el circuito. Estas memorias se van programando aplicando pulsos elctricos.

Fue creada en 1956 por Wen Tsing Chow en Nueva York a pedido de la Fuerza Area estadounidense para conseguir una forma segura de almacenar las constantes de los objetivos en la computadora del misil MBI Atlas E/F. Actualmente siguen siendo utilizadas en misiles, satlites, etc.

b. EPROM Es un tipo de chip memoria no voltil. Est formado por celdas de FAMOS o transistores de puerta flotante, cada uno de los cuales viene de fbrica sin carga por lo que son ledos como 0. se programan mediante un dispositivo electrnico que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrnicos, las celdas que reciben carga se leen entonces como 1. Una vez programada una eprom se puede borrar solamente mediante exposicin a una fuerte luz ultravioleta, esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen las EPROM se reconoce fcilmente, por una ventana transparente es la parte alta de encapsulado, a travs de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado.

Las memorias EPROM (Erasable Programmable Read Only Memory, o Memoria Programable y Borrable de Slo Lectura), son memorias PROM que se pueden eliminar. Estos chips disponen de un panel de vidrio que deja entrar los rayos ultra-violeta. Cuando el chip es sometido a rayos ultra-violeta de una determinada longitud de onda, se reconstituyen los fusibles, lo que implica que todos los bits de memoria vuelven a 1. Por esta razn, este tipo de PROM se denomina borrable.

c. EEPROM

Es un tipo de memoria rom que puede ser programado, borrado y reprogramado electrnicamente, a diferenca de las eprom que ha de borrarse mediante un aparato que emite rayos ultravioletas. son memorias no volatiles.las celdas de memoria eeprom estan constituidas por un transistor MOS, que tiene una compuerta flotante, su estado normal esta cortado y la salida proporciona 1 logico aunque una eeprom puede ser leida un numero ilimitado de veces, solo puede ser borrada y reprogramada entre 100.000 y un millon de veces.

Las memorias EEPROM (Electrically Erasable Programmable Read Only Memory, o Memoria Programable de Slo Lectura Borrable Elctricamente) tambin son memorias PROM borrables, pero a diferencia de stas, se pueden borrar mediante una sencilla corriente elctrica, es decir, incluso si se encuentran en posicin en el ordenador. Existe una variante de estas memorias, conocida como memoria flash (tambin Flash ROM o Flash EPROM). A diferencia de las memorias EEPROM clsicas, que utilizan 2 o 3 transistores por cada bit a memorizar, la memoria EPROM Flash utiliza un solo transistor. Adems, la memoria EEPROM puede escribirse y leerse palabra por palabra, mientras que la Flash nicamente puede borrarse por pginas (el tamao de las pginas disminuye constantemente). Por ltimo, la memoria Flash es ms densa, lo que implica que pueden producirse chips que contengan cientos de megabytes. De esta manera, las memorias EEPROM son preferibles a la hora de tener que memorizar informacin de configuracin, mientras que la memoria Flash se utiliza para cdigo programable (programas de IT).

3.2.3. MEMORIA INTERMEDIA 3.2.3.1. MEMORIA CACHE


La memoria cach es una clase de memoria RAM esttica (SRAM) de acceso aleatorio y alta velocidad, situada entre el CPU y la RAM; se presenta de forma temporal y automtica para el usuario, que proporciona acceso rpido a los datos de uso ms frecuente. La ubicacin de la cach entre el microprocesador y la RAM, hace que sea suficientemente rpida para almacenar y transmitir los datos que el microprocesador necesita recibir casi instantneamente.

La memoria cach es rpida, unas 5 6 veces ms que la DRAM (RAM dinmica), por eso su capacidad es mucho menor. Por eso su precio es elevado, hasta 10 20 veces ms que la memoria principal dinmica para la misma cantidad de memoria.

La utilizacin de la memoria cach se describe a continuacin: Acelerar el procesamiento de las instrucciones de memoria en la CPU. Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repeti damente, por ello la cach contiene las instrucciones ms usadas. Por lo tanto, a mayor instrucciones y datos la CPU pueda obtener directamente de la memoria cach, tanto ms rpido ser el funcionamiento del ordenador.

3.2.3.1.1. FUNCIONAMIENTO DE LA MEMORIA CACH.


La memoria cach se carga desde la RAM con los datos y/o instrucciones que ha buscado la CPU en las ltimas operaciones. La CPU siempre busca primero la informacin en la cach, lo normal es que va encontrar ah la mayora de las veces, con lo que el acceso ser muy rpido. Pero si no encuentra la informacin en la cach, se pierde un tiempo extra en acudir a la RAM y copiar dicha informacin en la cach para su disponibilidad.

Como estos fallos ocurren con una frecuencia relativamente baja, el rendimiento mejora considerablemente, ya que la CPU accede ms veces a la cach que a la RAM. En el siguiente diagrama se describe un proceso cuando la CPU requiere operacin de lectura de una instruccin, para ello se presentan dos casos: Tipos de cach A parte de la cach con respecto a la memoria RAM, en un PC existen muchos otros sistemas de cach, como:

Memoria RAM como cach: Las unidades de almacenamiento (discos duros, discos flexibles, etc.) y otros muchos perifricos utilizan la memoria RAM como sistema de cach, una zona de la RAM contiene la informacin que se ha buscado ltimamente en dichos dispositivos, de forma que basta con acceder a la RAM para recuperarla. Disco duro como cach: Se emplea al disco duro como cach a dispositivos an ms lentos (unidades CD-ROM). Estos sistemas de cach suelen estar gobernados mediante software, que se suele integrar en el sistema operativo. La cach de disco almacena direcciones concretas de sectores, almacena una copia del directorio y en algunos casos almacena porciones o extensiones del programa o programas en ejecucin. Los navegadores Web utilizan el disco duro como cach, al solicitar una pgina Web, el navegador acude a Internet y comprueba la fecha de la misma. Si la pgina no ha sido modificada, se toma directamente del disco duro, con lo que la carga es muy rpida. En caso contrario se descarga desde Internet y se actualiza la cach, con un cierto tiempo de espera.

En el caso de los navegadores Web, el uso del disco duro es ms que suficiente, ya que es extremadamente ms rpido que el acceso a Internet.

3.2.3.2. MEMORIA VIRTUAL


La memoria virtual es una tcnica para proporcionar la simulacin de un espacio de memoria mucho mayor que la memoria fsica de una mquina. Esta "ilusin" permite que los programas se hagan sin tener en cuenta el tamao exacto de la memoria fsica. La ilusin de la memoria virtual est soportada por el mecanismo de traduccin de memoria, junto con una gran cantidad de almacenamiento rpido en disco duro. As en cualquier momento el espacio de direcciones virtual hace un

seguimiento de tal forma que una pequea parte de l, est en memoria real y el resto almacenado en el disco, y puede ser referenciado fcilmente. Debido a que slo la parte de memoria virtual que est almacenada en la memoria principal, es accesible a la CPU, segn un programa va ejecutndose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginacin). La memoria virtual ha llegado a ser un componente esencial de la mayora de los S.O actuales. Y como en un instante dado, en la memoria slo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener ms procesos en la memoria. Es ms, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el S.O debe saber cmo gestionar este esquema. La memoria virtual tambin simplifica la carga del programa para su ejecucin llamado reubicacin, este procedimiento permite que el mismo programa se ejecute en cualquier posicin de la memoria fsica. En un estado estable, prcticamente toda la memoria principal estar ocupada con fragmentos de procesos, por lo que el procesador y el S.O tendrn acceso directo a la mayor cantidad de procesos posibles, y cuando el S.O traiga a la memoria un fragmento, deber expulsar otro. Si expulsa un fragmento justo antes de ser usado, tendr que traer de nuevo el fragmento de manera casi inmediata. Demasiados intercambios de fragmentos conducen a lo que se conoce como hiperpaginacin: donde el procesador consume ms tiempo intercambiando fragmentos que ejecutando instrucciones de usuario. Para evitarlo el S.O intenta adivinar, en funcin de la historia reciente, qu fragmentos se usarn con menor probabilidad en un futuro prximo.

Los argumentos anteriores se basan en el principio de cercana o principio de localidad que afirma que las referencias a los datos y el programa dentro de un proceso tienden a agruparse. Por lo tanto, es vlida la suposicin de que, durante cortos perodos de tiempo, se necesitarn slo unos pocos fragmentos de un proceso.

Una manera de confirmar el principio de cercana es considerar el rendimiento de un proceso en un entorno de memoria virtual. El principio de cercana sugiere que los esquemas de memoria virtual pueden funcionar. Para que la memoria virtual sea prctica y efectiva, se necesitan dos ingredientes. Primero, tiene que existir un soporte de hardware y, en segundo lugar, el S.O debe incluir un software para gestionar el movimiento de pginas o segmentos entre memoria secundaria y memoria principal. Justo despus de obtener la direccin fsica y antes de consultar el dato en memoria principal se busca en memoriacache, si esta entre los datos recientemente usados la bsqueda tendr xito, pero si falla, la memoria virtual consulta memoria principal, , en el peor de los casos se consulta de disco (swapping).

3.2.3.2.1

SEGMENTACION

Implicaciones de la memoria virtual

La segmentacin permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaos, incluso de forma dinmica. Las referencias a la memoria constan de una direccin de la forma (nmero de segmento, desplazamiento).

Esta organizacin ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado:

1. Simplifica la gestin de estructuras de datos crecientes. Si el programador no conoce a priori cun larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaos de segmentos dinmicos. Con memoria virtual segmentada, a la estructura de datos se le puede asignar a su propio segmento y el S.O expandir o reducir el segmento cuando se necesite. 2. Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo. 3. Se presta a la comparticin entre procesos. Un programador puede situar un programa de utilidades o una tabla de datos en un segmento que puede ser referenciado por otros procesos. 4. Se presta a la proteccin. Puesto que un segmento puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podr asignar los permisos de acceso de la forma adecuada.

3.2.3.2.2. ORGANIZACIN
En el estudio de la segmentacin simple, se lleg a la conclusin de que cada proceso tiene su propia tabla de segmento y que, cuando todos los segmentos se encuentran en la memoria principal, la tabla de segmentos del proceso se crea y se carga en la memoria. Cada entrada de la tabla contiene la direccin de comienzo del segmento correspondiente de la memoria principal, as como su longitud. La misma estructura se necesitar al hablar de un esquema de memoria virtual basado en la segmentacin donde las entradas de la tabla de segmentos pasan a ser ms complejas. Puesto que slo algunos de los segmentos de un proceso estarn en la memoria principal, se necesita un bit en cada entrada de la tabla de segmentos para indicar si el segmento correspondiente est presente en la memoria principal. Si el bit indica que el segmento est en la memoria, la entrada incluye tambin la direccin de comienzo y la longitud del segmento.

Otro bit de control necesario en la entrada de la tabla de segmentos es un bit de modificacin que indique si el contenido del segmento correspondiente ha sido modificado desde que se carg por ltima vez en la memoria principal. Si no ha habido cambios, no ser necesario escribir en el disco el segmento cuando llegue el momento de reemplazarlo en el espacio que ocupa actualmente.

3.2.4.

MEMORIA SECUNDARIA

a) DISCOS DUROS Pertenecen a la llamada memoria secundaria o almacenamiento secundario. Al disco duro se le conoce con gran cantidad de denominaciones como disco duro, rgido (frente a los discos flexibles o por su fabricacin a base de una capa rgida de aluminio), fijo (por su situacin en la computadora de manera permanente), Winchester (por ser esta la primera marca de cabezas para disco duro). Estas denominaciones aunque son las habituales no son exactas ya que existen discos de iguales prestaciones pero son flexibles, o bien removibles o transportables. Las capacidades de los discos duros varan desde 10 Mb. hasta varios GB. En minis y grandes computadoras. Para conectar un disco duro a una computadora es necesario disponer de una tarjeta controladora (o interfaz). La velocidad de acceso depende en gran parte de la tecnologa del propio disco duro y de la tarjeta controladora asociada a los discos duro. Estos estn compuestos por varios platos, es decir varios discos de material magntico montados sobre un eje central sobre el que se mueven. Para leer y escribir datos en estos platos se usan las cabezas de lectura/escritura que mediante un proceso electromagntico codifican / decodifican la informacin que han de leer o escribir. La cabeza de lectura/escritura en un disco duro est muy cerca de la superficie, de forma que casi vuela sobre ella, sobre el colchn de aire formado por su propio movimiento. Debido a esto, estn cerrados hermticamente, porque cualquier partcula de polvo puede daarlos. Los discos duros han evolucionado mucho desde los modelos primitivos de 10 20 MB. Actualmente los tamaos son del orden de varios gigabytes, el tiempo medio de acceso es muy bajo (menos de 20 ms) y su velocidad de transferencia es

tan alta que deben girar a ms de 5000 r.p.m. (revoluciones por minuto), lo que desgraciadamente hace que se calienten como demonios, por lo que no es ninguna tontera instalarles un ventilador para su refrigeracin. Una diferencia fundamental entre unos y otros discos duros es su interfaz de conexin. Antiguamente se usaban diversos tipos, como MFM, RLL o ESDI, aunque en la actualidad slo se emplean dos: IDE y SCSI. El interfaz usado por el disco duro: El interfaz es la conexin entre el mecanismo de la unidad de disco y el bus del sistema. El interfaz define la forma en que las seales pasan entre el bus del sistema y el disco duro. En el caso del disco, su interfaz se denomina controladora o tarjeta controladora, y se encarga no slo de transmitir y transformar la informacin que parte de y llega al disco, sino tambin de seleccionar la unidad a la que se quiere acceder, del formato, y de todas las rdenes de bajo nivel en general. La controladora a veces se encuentra dentro de la placa madre. Se encuentran gobernados por una controladora y un determinado interfaz que puede ser: ST506: Es un interfaz a nivel de dispositivo; el primer interfase utilizado en los PCs. Proporciona un valor mximo de transferencia de datos de menos de 1 Mbyte por segundo (625k por segundo con codificacin MFM, y 984k por segundo con codificacin RLL). Actualmente est desfasado y ya no hay modelos de disco duro con este tipo de interfaz. ESDI: Es un interfaz a nivel de dispositivo diseado como un sucesor del ST506 pero con un valor ms alto de transferencia de datos (entre 1.25 y 2.5 Mbytes por segundo).Ya ha dejado de utilizarse este interfaz y es difcil de encontrar. IDE: Es un interfase a nivel de sistema que cumple la norma ANSI de acoplamiento a los AT y que usa una variacin sobre el bus de expansin del AT (por eso tambin llamados discos tipo AT) para conectar una unidad de disco a la CPU, con un valor mximo de transferencia de 4 Mbytes por segundo. En principio, IDE era un trmino genrico para cualquier interfaz a nivel de sistema. La especificacin inicial de este interfaz est mal definida. Es ms rpida que los antiguos interfaz ST506 y ESDI pero con la desaparicin de los ATs este interfaz desaparecer para dejar paso al SCSI y el SCSI2. * ATA 66, 100, 133: Sucesivas evoluciones de la interfaz IDE para cumplir las nuevas normas ATA le han permitido alcanzar velocidades de 66, 100 y hasta 133 MBps. Para soportar este flujo de datos necesitan utilizar un cable de ochenta hilos, si se emplea otro el rendimiento ser como mximo de 33 MBps. Son los discos duros ms utilizados en la actualidad. * Srie ATA: Es la interfaz que se espera sustituya a corto plazo a los discos IDE. Entre sus ventajas estn una mayor tasa de transferencia de datos (150 frente a 133 MBps) y un cable ms largo (hasta un metro de longitud en vez de 40

cm) y delgado (slo siete hilos en lugar de ochenta) que proporciona mayor flexibilidad en la instalacin fsica de los discos y mejor ventilacin de aire en el interior de la caja. * Serial ATA 2: Ofrece y se presenta en el mismo formato que su antecesor SATA, pero con transferencias hasta de 3GB/s. ntimamente relacionado con el IDE, tenemos lo que se conoce como ATA, concepto que define un conjunto de normas que deben cumplir los dispositivos. Aos atrs la compaa Western Digital introdujo el standard E-IDE (Enhanced IDE), que mejoraba la tecnologa superando el lmite de acceso a particiones mayores de 528 Mb. y se defini ATAPI, normas para la implementacin de lectores de CD-ROM y unidades de cinta con interfaz IDE. E-IDE se basa en el conjunto de especificaciones ATA-2. Como contrapartida comercial a E-IDE, la empresa Seagate presento el sistema FAST-ATA-2, basado principalmente en las normas ATA-2. En cualquier caso a los discos que sean o bien E-IDE o FAST-ATA, se les sigue aplicando la denominacin IDE como referencia. Para romper la barrera de los 528 Mb. las nuevas unidades IDE proponen varias soluciones: * El CHS es una traduccin entre los parmetros que la BIOS contiene de cilindros, cabezas y sectores (ligeramente incongruentes) y los incluidos en el software de slo lectura (Firmware) que incorpora la unidad de disco. * El LBA (direccin lgica de bloque), estriba en traducir la informacin CHS en una direccin de 28 bits manejables por el sistema operativo, para el controlador de dispositivo y para la interfaz de la unidad. Debido a la dificultad que entraa la implementacin de la compatibilidad LBA en BIOS, muchos de las computadoras personales de fabricacin ms reciente continan ofreciendo nicamente compatibilidad con CHS. El techo de la capacidad que permite las solucin CHS se sita en los 8.4 GB, que por el momento parecen suficientes. SCSI: Es un interfase a nivel de sistema, diseado para aplicaciones de propsito general, que permite que se conecten hasta siete dispositivos a un nico controlador. Usa una conexin paralela de 8 bits que consigue un valor mximo de transferencia de 5 Mbytes por segundo. Actualmente se puede or hablar tambin de SCSI-2 que no es ms que una versin actualizada y mejorada de este interfase. Es el interfase con ms futuro, si bien tiene problemas de compatibilidad entre las diferentes opciones de controladoras, discos duros, impresoras, unidades de CD-ROM y dems dispositivos que usan este interfase debido a la falta de un estndar verdaderamente slido. Las mejoras del SCSI-2 sobre el SCSI tradicional son el aumento de la velocidad a travs del bus, desde 5 Mhz a 10 Mhz, duplicando de esta forma el caudal de datos. Adems se aumenta el ancho del bus de 8 a 16 bits, doblando tambin

el flujo de datos. Actualmente se ha logrado el ancho de 32 bits, consiguiendo velocidades tericas de hasta 40 Mbytes / seg. Los interfaces IDE y SCSI llevan la electrnica del controlador en el disco, por lo que el controlador realmente no suele ser ms que un adaptador principal para conectar el disco al PC. Como se puede ver unos son interfaz a nivel de dispositivo y otros a nivel de sistema, la diferencia entre ambos es: INTERFAZ A NIVEL DE DISPOSITIVO: Es un interfaz que usa un controlador externo para conectar discos al PC. Entre otras funciones, el controlador convierte la ristra de datos del disco en datos paralelos para el bus del microprocesador principal del sistema. ST506 y ESDI son interfaz a nivel de dispositivo. INTERFAZ A NIVEL DE SISTEMA: Es una conexin entre el disco duro y su sistema principal que pone funciones de control y separacin de datos sobre el propio disco (y no en el controlador externo), SCSI e IDE son interfaz a nivel de sistema. DISCOS DUROS IDE El interfaz IDE (ms correctamente denominado ATA, el estndar de normas en que se basa) es el ms usado en PCs normales, debido a que tiene un balance bastante adecuado entre precio y prestaciones. Los discos duros IDE se distribuyen en canales en los que puede haber un mximo de 2 dispositivos por canal; en el estndar IDE inicial slo se dispona de un canal, por lo que el nmero mximo de dispositivos IDE era 2. El estndar IDE fue ampliado por la norma ATA-2 en lo que se ha dado en denominar EIDE (Enhanced IDE o IDE mejorado). Los sistemas EIDE disponen de 2 canales IDE, primario y secundario, con lo que pueden aceptar hasta 4 dispositivos, que no tienen por qu ser discos duros mientras cumplan las normas de conectores ATAPI; por ejemplo, los CD-ROM y algunas unidades SuperDisk se presentan con este tipo de conector. En cada uno de los canales IDE debe haber un dispositivo Maestro (master) y otro Esclavo (slave). El maestro es el primero de los dos y se suele situar al final del cable, asignndosele generalmente la letra "C" en DOS. El esclavo es el segundo, normalmente conectado en el centro del cable entre el maestro y la controladora, la cual muchas veces est integrada en la propia placa base; se le asignara la letra "D". Los dispositivos IDE o EIDE como discos duros o CD-ROM disponen de unos microinterruptores (jumpers), situados generalmente en la parte posterior o inferior de los mismos, que permiten seleccionar su carcter de maestro, esclavo o incluso otras posibilidades como "maestro sin esclavo". Las posiciones de los jumpers vienen indicadas en una etiqueta

en la superficie del disco, o bien en el manual o serigrafiadas en la placa de circuito del disco duro, con las letras M para designar "maestro" y S para "esclavo". Los modos DMA tienen la ventaja de que liberan al microprocesador de gran parte del trabajo de la transferencia de datos, encargndoselo al chipset de la placa (si es que ste tiene esa capacidad, como ocurre desde los tiempos de los Intel Tritn), algo parecido a lo que hace la tecnologa SCSI. Sin embargo, la activacin de esta caracterstica (conocida como bus mastering) requiere utilizar los drivers adecuados y puede dar problemas con el CD-ROM, por lo que en realidad el nico modo til es el UltraDMA. DISCOS DUROS SCSI Sobre este interfaz ya hemos hablado antes en el apartado de generalidades; slo recalcar que la ventaja de estos discos no est en su mecnica, que puede ser idntica a la de uno IDE (misma velocidad de rotacin, mismo tiempo medio de acceso...) sino en que la transferencia de datos es ms constante y casi independiente de la carga de trabajo del microprocesador. Esto hace que la ventaja de los discos duros SCSI sea apreciable en computadoras cargadas de trabajo, como servidores, computadoras para CAD o vdeo, o cuando se realiza multitarea de forma intensiva, mientras que si lo nico que queremos es cargar Word y hacer una carta la diferencia de rendimiento con un disco UltraDMA ser inapreciable. En los discos SCSI resulta raro llegar a los 20 MB/s de transferencia terica del modo Ultra SCSI, y ni de lejos a los 80 MB/s del modo Ultra-2 Wide SCSI, pero s a cifras quiz alcanzables pero nunca superables por un disco IDE. De lo que no hay duda es que los discos SCSI son una opcin profesional, de precio y prestaciones elevadas, por lo que los fabricantes siempre escogen este tipo de interfaz para sus discos de mayor capacidad y velocidad. Resulta francamente difcil encontrar un disco duro SCSI de mala calidad, pero debido a su alto precio conviene proteger nuestra inversin buscando uno con una garanta de varios aos, 3 ms por lo que pueda pasar... aunque sea improbable. LOS COMPONENTES FSICOS DE UNA UNIDAD DE DISCO DURO CABEZA DE LECTURA / ESCRITURA: Es la parte de la unidad de disco que escribe y lee los datos del disco. Su funcionamiento consiste en una bobina de hilo que se acciona segn el campo magntico que detecte sobre el soporte magntico, produciendo una pequea corriente que es detectada y amplificada por la electrnica de la unidad de disco.

DISCO: Convencionalmente los discos duros estn compuestos por varios platos, es decir varios discos de material magntico montados sobre un eje central. Estos discos normalmente tienen dos caras que pueden usarse para el almacenamiento de datos, si bien suele reservarse una para almacenar informacin de control. EJE: Es la parte del disco duro que acta como soporte, sobre el cual estn montados y giran los platos del disco. IMPULSOR DE CABEZA: Es el mecanismo que mueve las cabezas de lectura / escritura radialmente a travs de la superficie de los platos de la unidad de disco. Mientras que lgicamente la capacidad de un disco duro puede ser medida segn los siguientes parmetros: CILINDRO: Es una pila tridimensional de pistas verticales de los mltiples platos. El nmero de cilindros de un disco corresponde al nmero de posiciones diferentes en las cuales las cabezas de lectura/escritura pueden moverse. CLUSTER: Es un grupo de sectores que es la unidad ms pequea de almacenamiento reconocida por el DOS. Normalmente 4 sectores de 512 bytes constituyen un Cluster (racimo), y uno o ms Cluster forman una pista. PISTA: Es la trayectoria circular trazada a travs de la superficie circular del plato de un disco por la cabeza de lectura / escritura. Cada pista est formada por uno o ms Cluster. SECTOR: Es la unidad bsica de almacenamiento de datos sobre discos duros. En la mayora de los discos duros los sectores son de 512 Bytes cada uno, cuatro sectores constituyen un Cluster. Otros elementos a tener en cuenta en el funcionamiento de la unidad es el tiempo medio entre fallos, MTBF (Mean Time Between Failures), se mide en horas (15000, 20000, 30000...) y a mayor nmero ms fiabilidad del disco, ya que hay menor posibilidad de fallo de la unidad. Otro factor es el AUTOPARK o aparcamiento automtico de las cabezas, consiste en el posicionamiento de las cabezas en un lugar fuera del alcance de la superficie del disco duro de manera automtico al apagar la computadora, esto evita posibles daos en la superficie del disco duro cuando la unidad es sometida a vibraciones o golpes en un posible traslado.

b) TARJETA DE MEMORIA (MEMORIA FLASH) La memoria Flash es un tipo de memoria informtica basada en semiconductores, no voltil y reescribible Esto significa que posee muchas de las caractersticas de la memoria RAM, excepto que sus datos no se eliminan al apagarse el

ordenador. La memoria Flash almacena porciones de datos en las celdas de memoria, pero esos datos permanecen almacenados aunque se produzca un corte de energa. Debido a su alta velocidad, durabilidad y bajo consumo de energa, la memoria flash resulta ideal para muchos usos, como por ejemplo en cmaras digitales, telfonos mviles, impresoras, PDA, ordenadores laptop y dispositivos que puedan almacenar y reproducir sonido, como los reproductores de MP3. Adems, este tipo de memoria no tiene partes mviles, lo que la hace ms resistente a eventuales golpes.

TIPOS DE TARJETAS DE MEMORIA Existen muchos tipos de formatos de tarjetas de memoria que compiten y son incompatibles (casi una por fabricante). Dentro de estos formatos de tarjetas de memoria, los ms comunes son:

Compact Flash Tarjetas Secure Digital (llamadas tarjetas SD) Memory Stick SmartMedia MMC (MultimediaCard) xD picture card

COMPARACION Dimensio nes (mm) Volum en (mm3) Pe so (g) Nmero de conector es Velocidad de transferen cia Capacid ad terica Capacid ad mxima

Comp act Flash type I Comp act Flash type II Smart Media MMC MMC Plus RSMMC MMC Mobile MMC Micro

43 x 36 x 5 108 3,3

3.3

50

20 Mo/s

137 G

128 G

43 x 36 x 5

7740

50

20 Mo/s

137 G

12G

37 x 45 x 1265 0,8 24 x 32 x 1075 1,4 24 x 32 x 1075 1,4 24 x 16 x 538 1,4

2 1.3 1.3 1.3

22 7 7 13

2 Mo/s 20 Mo/s 52 Mo/s 8 Mo/s

128 Mo 128 G 128 G 128 G

128 G 8G 4G 2G

14 x 12 x 1,1

185

<1 4

13 10 2 Mo/s

128 G 128 M

2G 128 M

Memor 21,5 x 50 x 3010 y Stick 2,8 Standa

rd, Pro

Memor 20 x 31 x 992 y Stick 1,6 Duo, Pro Duo Memor 20 x 31 x 992 y Stick 1,6 ProHG Memor 12,5 x 15 x 225 y Stick 1,2 Micro M2 SD mini SD micro SD xD 24 x 32 x 1613 2,1 20 x 21,5 x 602 1,4 15 x 11 x 1 165

10

20 Mo/s

32 G

16 G

10

60 Mo/s

32 G

32G

10

20 Mo/s

32 G

8G

2 1 0.3 2.8

9 11 8 18

20 Mo/s 12 Mo/s 10 Mo/s 9 Mo/s

32 G 32 G 32G 8G

32G 4G 12G 2G

25 x 20 x 890

1,8

c) DISPOSITIVOS OPTICOS CD-ROM Slo lectura (Al escribirlo, el disco es fsicamente agujereado, por lo que no se puede reescribir). El disco y la unidad estn separados. Portable y liviano. Almacenan aproximadamente 650 MB. Alta precisin.

WORM (CD-R) Escribir una vez, leer muchas (Al escribirlo, el disco es fsicamente agujereado, por lo que no se puede reescribir). El disco y la unidad estn separados. Portable y liviano. Almacenan aproximadamente 650 MB. Alta precisin.

DVD (Digital Vdeo Disc)

Slo lectura (Al escribirlo, el disco es fsicamente agujereado, por lo que no se puede reescribir). El disco y la unidad estn separados. Portable y liviano. Almacenan entre 4,7 y 17 GB. (133 minutos de alta resolucin de vdeo). Alta precisin. Unidades regrabables de cambio de fase Pueden escribirse ms de una vez (El rayo lser altera la estructura molecular del disco). No pueden ser ledos por una unidad de CD-ROM convencional.

Cunta informacin puede almacenar un CD? La cantidad de informacin que puede almacenar un CD se mide en minutos: segundos: sectores.

Cada segundo contiene 75 sectores, cada sector puede almacenar 2.048 Bytes (2 KBytes).

Los CD-Recordable vienen en 21, 63 y 74 minutos. La cantidad de informacin que pueden contener, responde al siguiente clculo ejemplo: 74 min x (60 seg) x (75 sectores) x (2 kbytes) = 666,000 kilobytes = 650 megabytes.

Los CD grabados en fbrica pueden contener hasta 74 minutos.

1.2.3 DISPOSITIVOS DE ENTRADA Y SALIDA

Los puertos de salida/entrada son elementos materiales del equipo, que permiten que el sistema se comunique con los elementos exteriores. En otras palabras, permiten el intercambio de datos, de aqu el nombre interfaz de entrada/salida (tambin conocida como interfaz de E/S). PUERTO SERIAL Los puertos seriales (tambin llamados RS-232, por el nombre del estndar al que hacen referencia) fueron las primeras interfaces que permitieron que los equipos intercambien informacin con el " mundo exterior". El trmino serial se refiere a los datos enviados mediante un solo hilo: los bits se envan uno detrs del otro (consulte la seccin sobre transmisin de datos para conocer los modos de transmisin).

Originalmente, los puertos seriales slo podan enviar datos, no recibir, por lo que se desarrollaron puertos bidireccionales (que son los que se encuentran en los equipos actuales). Por lo tanto, los puertos seriales bidireccionales necesitan dos hilos para que la comunicacin pueda efectuarse. La comunicacin serial se lleva a cabo asincrnicamente, es decir que no es necesaria una seal (o reloj) de sincronizacin: los datos pueden enviarse en intervalos aleatorios. A su vez, el perifrico debe poder distinguir los caracteres (un carcter tiene 8 bits de longitud) entre la sucesin de bits que se est enviando. sta es la razn por la cual en este tipo de transmisin, cada carcter se encuentra precedido por un bit de ARRANQUE y seguido por un bit de PARADA. Estos bits de control, necesarios para la transmisin serial, desperdician un 20% del ancho de banda (cada 10 bits enviados, 8 se utilizan para cifrar el carcter y 2 para la recepcin).

Los puertos seriales, por lo general, estn integrados a la placa madre, motivo por el cual los conectores que se hallan detrs de la carcasa y se encuentran conectados a la placa madre mediante un cable, pueden utilizarse para conectar un elemento exterior. Generalmente, los conectores seriales tienen 9 25 clavijas y tienen la siguiente forma (conectores DB9 y DB25 respectivamente):

Un PC posee normalmente entre uno y cuatro puertos seriales. PUERTO PARALELO La transmisin de datos paralela consiste en enviar datos en forma simultnea por varios canales (hilos). Los puertos paralelos en los PC pueden utilizarse para enviar 8 bits (un octeto) simultneamente por 8 hilos.

Los primeros puertos paralelos bidireccionales permitan una velocidad de 2,4 Mb/s. Sin embargo, los puertos paralelos mejorados han logrado alcanzar velocidades mayores:

El EPP (puerto paralelo mejorado) alcanza velocidades de 8 a 16 Mbps

El ECP (puerto de capacidad mejorada), desarrollado por Hewlett Packard y Microsoft. Posee las mismas caractersticas del EPP con el agregado de un dispositivo Plug and Play que permite que el equipo reconozca los perifricos conectados. Los puertos paralelos, al igual que los seriales, se encuentran integrados a la placa madre. Los conectores DB25 permiten la conexin con un elemento exterior (por ejemplo, una impresora).

En computacin, entrada/salida, tambin abreviado E/S o I/O (del original en ingls input/output), es la coleccin de interfaces que usan las distintas unidades funcionales (subsistemas) de un sistema de procesamiento de informacin para comunicarse unas con otras, o las seales (informacin) enviadas a travs de esas interfaces. Las entradas son las seales recibidas por la unidad, mientras que las salidas son las seales enviadas por sta. El trmino puede ser usado para describir una accin; "realizar una entrada/salida" se refiere a ejecutar una operacin de entrada o de salida. Los dispositivos de E/S los usa una persona u otro sistema para comunicarse con una computadora. De hecho, a los teclados y ratones se los considera dispositivos de entrada de una computadora, mientras que los monitores e impresoras son vistos como dispositivos de salida de una computadora. Los dispositivos tpicos para la comunicacin entre computadoras realizan las dos operaciones, tanto entrada como salida, y entre otros se encuentran los mdems y tarjetas de red. Es importante notar que la designacin de un dispositivo, sea de entrada o de salida, cambia al cambiar la perspectiva desde el que se lo ve. Los teclados y ratones toman como entrada el movimiento fsico que el usuario produce como salida y lo convierten a una seal elctrica que la computadora pueda entender. La salida de estos dispositivos es una entrada para la computadora. De manera anloga, los monitores e impresoras toman como entrada las seales que la computadora produce como salida. Luego, convierten esas seales en representaciones inteligibles que puedan ser interpretadas por el usuario. La interpretacin ser, por ejemplo, por medio de la vista, que funciona como entrada.

En arquitectura de computadoras, a la combinacin de una unidad central de procesamiento (CPU) y memoria principal (aqulla que la CPU puede escribir o leer directamente mediante instrucciones individuales) se la considera el corazn de la computadora y cualquier movimiento de informacin desde o hacia ese conjunto se lo considera entrada/salida. La CPU y su circuitera complementaria proveen mtodos de entrada/salida que se usan en programacin de bajo nivel para la implementacin de controladores de dispositivos. Los sistemas operativos y lenguajes de programacin de ms alto nivel brindan conceptos y primitivas de entrada/salida distintos y ms abstractos. Por ejemplo, un sistema operativo brinda aplicativos que manejan el concepto de archivos. El lenguaje de programacin C define funciones que les permiten a sus programas realizar E/S a travs de streams, es decir, les permiten leer datos desde y escribir datos hacia sus programas. Los dispositivos de Entrada y Salida permiten la comunicacin entre la computadora y el usuario. En primer trmino hablaremos de los dispositivos de entrada, que como su nombre lo indica, sirven para introducir datos (informacin) a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la informacin en seales elctricas que se almacenan en la memoria central. Los dispositivos de entrada tpicos son los teclados, otros son: lpices pticos, palancas de mando (joystick), CD-ROM, discos compactos (CD), etc. Hoy en da es muy frecuente que el usuario utilice un dispositivo de entrada llamado ratn que mueve un puntero electrnico sobre una pantalla que facilita la interaccin usuario-mquina. Los dispositivos de entrada son aquellos dispositivos externos de un ordenador, el cual ste aloja componentes situados fuera de la computadora para algunos dispositivos externos, a la que pueden dar informacin y/o instrucciones. Mientras tanto los dispositivos de salida son aquellos dispositivos que permiten ver resultados del proceso de datos que realice la computadora (salida de datos). El ms comn es la pantalla o monitor, aunque tambin estn las impresoras (imprimen los resultados en papel), los trazadores grficos o plotters, las bocinas, etc.

Para diferenciar los dispositivos tenemos dos enfoques posibles, el primero de ellos se centra en el modo de almacenar la informacin (clasificando los dispositivos como de bloque o de carcter) y el segundo enfoque se centra en el destinatario de la comunicacin (usuario, maquina, comunicadores) Un dispositivo de bloque almacena la informacin en bloques de tamao fijo. Al ser el bloque la unidad bsica de almacenamiento, todas las escrituras o lecturas se realizan mediante mltiplos de un bloque. Es decir escribe 3 o 4 bloques, pero nunca 3,5 bloques. El tamao de los bloques suele variar entre 512 Bytes hasta 32.768 Bytes. Un disco duro entrara dentro de esta definicin. A diferencia de un dispositivo de bloque un dispositivo de carcter, no maneja bloques fijos de informacin sino que enva o recibe un flujo de caracteres. Dentro de esta clase podemos encontrar impresoras o interfaces de red. Entre cada categora y dispositivo, hay grandes diferencias: Velocidad de transferencia de datos: varios rdenes de magnitud para transferir pero el hacer esto tienes que hacerlo con mucho cuidado , segn las necesidades de cada dispositivo

Aplicacin: la funcionalidad para la que est diseado un dispositivo tiene influencia sobre el software por ende lo tendr sobre el sistema operativo. Complejidad de control: cada dispositivo tiene una complejidad asociada, no es lo mismo controlar un ratn que gestionar un disco duro. Unidad de transferencia: datos transferidos como un flujo de bytes/caracteres o en bloques de tamao fijo Representacin de datos: cada dispositivo puede usar su propia codificacin de datos Condiciones de error: el porqu del error, su manera de notificarlo as como sus consecuencias difiere ampliamente entre los dispositivos

Algunos dispositivos de entrada y salida Entrada:


o

Teclado

Ratn Joystick Lpiz ptico Micrfono Webcam Escner Escner de cdigo de barras Salida: o Monitor o Altavoz o Auriculares o Impresora o Plotter o Proyector
o o o o o o o

Entrada/salida (mixtos): o Unidades de almacenamiento: CD, DVD, Memory cards, Disco Duro Externo, Disco duro, Pendrive USB. o Mdem o Router o Pantalla tctil o Tarjeta de red

1.2.3.1 Modulos de entrada / salida. Estos mdulos se encargan del trabajo de intercomunicacin entre los dispositivos industriales exteriores al PLC y todos los circuitos electrnicos de baja potencia que comprenden a la unidad central de proceso del PLC, que es donde se almacena y ejecuta el programa de control. Los mdulos de entrada y salida tienen la misin de proteger y aislar la etapa de control que esta conformada principalmente por el microcontrolador del PLC, de todos los elementos que

se encuentran fuera de la unidad central de proceso ya sean sensores o actuadores. Los mdulos de entrada y salida hacen las veces de dispositivos de interfase, que entre sus tareas principales estn las de adecuar los niveles elctricos tanto de los sensores como de los actuadores o elementos de potencia, a los valores de voltaje que emplea el microcontrolador que normalmente se basa en niveles de la lgica TTL, 0 VCD equivale a un 0 lgico.

Ejemplos de mdulos de estrada y salida de datos. Fsicamente los mdulos de entrada y salida de salida de datos, estn construidos en tarjetas de circuitos impresos que contienen los dispositivos electrnicos capaces de aislar al PLC con el entorno exterior, adems de contar con indicadores luminosos que informan de manera visual el estado que guardan las entradas y salidas. Para que los mdulos de entrada o salida lleven a cabo la tarea de aislar elctricamente al microcontrolador, se requiere que este no se tenga contacto fsico con los bornes de conexin de ya sean de los sensores o actuadores, con las lneas de conexin que se hacen llegar a los puertos de entrada o salida del microcontrolador. La funcin de aislamiento radica bsicamente en la utilizacin de un elemento opto electrnico tambin conocido como opto acoplador, a travs del cual se evita el contacto fsico de las lneas de conexin que estn presentes en la circuitera, el dispositivo opto electrnico esta constituido de la siguiente manera.

Internamente dentro de un encapsulado se encuentra un diodo emisor de luz (led) que genera un haz de luz infrarroja, y como complemento tambin junto

al led infrarrojo se encuentra un fototransistor. Cuando el led infrarrojo es polarizado de forma directa entre sus terminales, este emite un haz de luz infrarroja que se hace llegar a la terminal base del fototransistor, el cual una vez que es excitada la terminal de la base hace que el fototransistor entre en estado de conduccin, generndose una corriente elctrica entre sus terminales emisor y colector, manifestando una operacin similar a un interruptor cerrado. Por otra parte, si el led infrarrojo se polariza de manera inversa el haz de luz infrarroja se extingue, provocando a la vez que si en la termina base del fototransistor no recibe este haz de luz, no se genera corriente elctrica entre sus terminales de emisor y colector, manifestando un funcionamiento semejante a un interruptor abierto. Ya que el haz de luz infrarroja es el nico contacto que se tiene entre una etapa de potencia o lectura de sensores con la etapa de control, se tiene un medio de aislamiento perfecto que adems es muy seguro y no se pierden los mandos que activan los actuadores o las seales que generaron los sensores. 1.2.3.2 Entrada / salida programada 1.- Los datos se intercambian entre el CPU y el mdulo de E/S. El CPU ejecuta un programa que controla directamente la operacin de E/S, incluyendo la comprobacin del estado del dispositivo, el envo de la orden de lectura o escritura y la transferencia del dato. Cuando el CPU enva la orden debe esperar hasta que la operacin de E/S concluya. Si el CPU es ms rpido, ste estar ocioso. El CPU es el responsable de comprobar peridicamente el estado del mdulo de E/S hasta que encuentre que la operacin ha finalizado. 2.- El dispositivo de E/S no tiene acceso directo a la memoria, una transferencia de un dispositivo de E/S a memoria que la CPU ejecute varias instrucciones, incluyendo una instruccin de entrada. 1.2.3.3 E/S mediante interrupciones 1) El problema con E/S programada es que el CPU tiene que esperar un tiempo considerable a que el mdulo de E/S en cuestin est preparado para recibir o transmitir los datos. El CPU debe estar comprobando continuamente el estado del mdulo de E/S. Se degrada el desempeo del sistema.

Una alternativa es que el CPU tras enviar una orden de E/S continu realizando algn trabajo til. El mdulo de E/S interrumpir al CPU para solicitar su servicio cuando est preparado para intercambiar datos. El CPU ejecuta la transferencia de datos y despus contina con el procesamiento previo. Se pueden distinguir dos tipos: E/S sncrona y E/S asncrona E/S Sncrona: cuando la operacin de E/S finaliza, el control es retornado al proceso que la gener. La espera por E/S se lleva a cabo por medio de una instruccin wait que coloca al CPU en un estado ocioso hasta que ocurre otra interrupcin. Aquellas mquinas que no tienen esta instruccin utilizan un loop. Este loop contina hasta que ocurre una interrupcin transfiriendo el control a otra parte del sistema de operacin. Slo se atiende una solicitud de E/S por vez. El sistema de operacin conoce exactamente que dispositivo est interrumpiendo. Esta alternativa excluye procesamiento simultneo de E/S. E/S Asncrona: retorna al programa usuario sin esperar que la operacin de E/S finalice. Se necesita una llamada al sistema que le permita al usuario esperar por la finalizacin de E/S (si es requerido). Tambin es necesario llevar un control de las distintas solicitudes de E/S. Para ello el sistema de operacin utiliza una tabla que contiene una entrada por cada dispositivo de E/S (Tabla de Estado de Dispositivos). 1. La ventaja de este tipo de E/S es el incremento de la eficiencia del sistema. Mientras se lleva a cabo E/S, el CPU puede ser usado para procesar o para planificar otras E/S. Como la E/S puede ser bastante lenta comparada con la velocidad del CPU, el sistema hace un mejor uso de las facilidades.

1.2.3.4 Acceso directo a memoria. El modelo de transferencia de informacin visto en los captulos anteriores se denomina transferencia por programa, porque la transferencia de un dato del controlador a memoria, o viceversa, se realiza como consecuencia de la ejecucin de instrucciones de un programa. Una alternativa a la transferencia por programa es la transferencia por acceso directo a memoria (DMA) en la que el propio controlador se responsabiliza de leer o escribir los datos en memoria. Aunque la transferencia sea por DMA, seguir siendo necesaria la sincronizacin entre el procesador y el controlador, para que el primero sepa cundo ha terminado la transferencia. Esta sincronizacin puede realizarse por encuesta o por interrupcin. 1.2.3.5 Canales y procesadores de entrada / salida DMA

Con un incremento moderado de la lgica asociada con el perifrico se puede lograr transferir un bloque de informacin a o desde la memoria principal sin la intervencin directa de la UCP. Esto requiere que los perifricos o los controladores de E/S sean capaces de generar direcciones de memoria y transferir datos a o desde el bus del sistema. La UCP es todava la responsable de iniciar la transferencia de cada bloque. A partir de este punto el controlador de E/S realiza toda la operacin sin que la UCP tenga que ejecutar ningn otro programa. La UCP y el controlador de E/S interaccionan slo cuando la UCP debe dar el control del bus del sistema al controlador de E/S, como respuesta a una peticin de este ltimo. Este tipo de capacidad es lo que se conoce como Acceso Directo a Memoria (DMA). La mayora de los computadores de hoy da tienen la posibilidad de interrupcin y de DMA. Un controlador de DMA posee un control parcial de la operacin de E/S. La UCP puede liberarse totalmente si se introduce en el computador un Procesador de E/S (PE/S) o canal. Anlogamente al DMA, el PE/S tiene acceso a la memoria principal y puede interrumpir a la UCP, sin embargo puede emplear un repertorio de instrucciones diferentes del de la UCP (ya que est orientado a operaciones de E/S). CANALES

El canal de E/S es una extensin del concepto de DMA. Un canal de E/S tiene la capacidad de ejecutar instrucciones de

E/S, lo que da un control total sobre las operaciones de E/S. Las instrucciones de E/S se almacenan en la memoria principal y sern ejecutadas por un procesador de propsito especfico en el mismo canal de E/S.

1.2.4 BUSES 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 tendencia en los ltimos aos se haca uso de buses seriales como el USB, Firewire para comunicaciones con perifricos reemplazando los buses paralelos, incluyendo el caso como el del microprocesador con el chipset en la placa base. Esto a pesar de que el bus serial posee una lgica compleja (requiriendo mayor poder de cmputo que el bus paralelo) a cambio de velocidades y eficacias mayores. Existen diversas especificaciones de que un bus se define en un conjunto de caractersticas mecnicas como conectores, cables y tarjetas, adems de protocolos elctricos y de seales. FUNCIONAMIENTO 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.

Primera generacin

Bus Backplane del PDP-11 junto con algunas tarjetas. Los primeros computadores tenan 2 sistemas de buses, uno para la memoria y otro para los dems dispositivos. La CPU tena que acceder a dos sistemas con instrucciones para cada uno, protocolos y sincronizaciones diferentes. La empresa DEC not que el uso de dos buses no era necesario si se combinaban las direcciones de memoria con las de los perifricos en un solo espacio de memoria (mapeo), de manera que la arquitectura se simplificaba ahorrando costos de fabricacin en equipos fabricados en masa, como eran los primeros minicomputadores. Los primeros microcomputadores se basaban en la conexin de varias tarjetas de circuito impreso a un bus Backplane pasivo que serva de eje al sistema. En ese bus se conectaba la tarjeta de PU que realiza las funciones de rbitro de las comunicaciones con las dems tarjetas de dispositivo conectadas; las tarjetas incluan la memoria,

controladoras de diskette y disco, adaptadores de vdeo. La CPU escriba o lea los datos apuntando a la direccin que tuviera el dispositivo buscado en el espacio nico de direcciones haciendo que la informacin fluyera a travs del bus principal. Entre las implementaciones ms conocidas, estn los buses Bus S-100 y el Bus ISA usados en varios microcomputadores de los aos 70 y 80. En ambos, el bus era simplemente una extensin del bus del procesador de manera que funcionaba a la misma frecuencia. Por ejemplo en los sistemas con procesador Intel 80286 el bus ISA tena 6 u 8 megahercios de frecuencia dependiendo del procesador. Segunda generacin

Jerarqua de diversos buses en un equipo relativamente moderno: SATA, FSB, AGP, USB entre otros. El hecho de que el bus fuera pasivo y que usara la CPU como control, representaba varios problemas para la ampliacin y modernizacin de cualquier sistema con esa arquitectura. Adems que la CPU utilizaba una parte considerable de su potencia en controlar el bus.

Desde que los procesadores empezaron a funcionar con frecuencias ms altas, se hizo necesario jerarquizar los buses de acuerdo a su frecuencia: se cre el concepto de bus de sistema (conexin entre el procesador y la RAM) y de buses de expansin, haciendo necesario el uso de un chipset. El bus ISA utilizado como backplane en el PC IBM original pas de ser un bus de sistema a uno de expansin, dejando su arbitraje a un integrado del chipset e implementando un bus a una frecuencia ms alta para conectar la memoria con el procesador. En cambio, el bus Nubus era independiente desde su creacin, tena un controlador propio y presentaba una interfaz estndar al resto del sistema, permitiendo su inclusin en diferentes arquitecturas. Fue usado en diversos equipos, incluyendo algunos de Apple y se caracterizaba por tener un ancho de 32 bits y algunas capacidades Plug and Play (autoconfiguracin), que lo hacan muy verstil y adelantado a su tiempo. Entre otros ejemplos de estos buses autnomos, estn el AGP y el bus PCI. Tercera generacin Los buses de tercera generacin se caracterizan por tener conexiones punto a punto, a diferencia de los buses arriba nombrados en los que se comparten seales de reloj. Esto se logra reduciendo fuertemente el nmero de conexiones que presenta cada dispositivo usando interfaces seriales. Entonces cada dispositivo puede negociar las caractersticas de enlace al inicio de la conexin y en algunos casos de manera dinmica, al igual que sucede en las redes de comunicaciones. Entre los ejemplos ms notables, estn los buses PCI-Express, el Infiniband y el HyperTransport. 1.2.4.1 Tipos de buses Buses de datos, direcciones y control - BUS DE DATOS El Bus de datos es una ruta que conecta la CPU, la memoria y otros dispositivos de hardware en la tarjeta madre. El bus de datos es un grupo de cables paralelos, el nmero de cables en el bus afecta la velocidad a la que los datos pueden viajar entre los dispositivos del hardware. Los buses de datos pueden ser de 16 y 32 bits y pueden transferir 2 y 4 bytes respectivamente. El bus AT es conocido como bus de

Arquitectura Estndar de la Industria (Industry Estndar Architecture: ISA), el cual tena un ancho de 16 bits, todava es usado por dispositivos de PC que no requieren de un bus de ms de 16 bits. Para el bus de 32 bits fue necesaria una nueva norma, el primer competidor fue el bus de Arquitectura de Microcanal (Micro Channel Architecture: MCA), de IBM. Despus vino el bus de Arquitectura Industrial Extendida Estandar (Extended Industry Standard Architecture: EISA). El ganador fue el bus de Interconexin de Componentes Perifricos (Peripheral Component Interconnect: PCI). Intel dise el bus PCI de manera especfica para facilitar la integracin de nuevos tipos de datos como sonido, video y grficos. BUS DE DIRECCIONES

El bus de direcciones al igual que el bus de datos, es un juego de cables que conecta la CPU a la RAM y lleva direcciones de memoria. Cada byte en la RAM se asocia con un nmero, el cual es la direccin de memoria. La importancia del bus de direcciones radica en los cables, ya que en este determina la cantidad mxima de direcciones de memoria. En la actualidad las CPU tienen buses de 32 bits que pueden direccionar 4 GB de RAM, es decir, ms de 4 mil millones de bytes. Una de las dificultades en la evolucin de las PC fue que el sistema operativo DOS slo direccionaba 1 MB de RAM, por lo que cuando las PC comenzaron a contener ms RAM, tuvo que disearse software especial para direccionarla. Los programadores propusieron dos dispositivos, llamados memoria expandida y memoria extendida, la que aun existe en el sistema operativo es la memoria extendida con propsitos de compatibilidad decreciente. Caracteristicas de los buses Ancho del Bus: Un bus es un canal por el que fluye la informacin. Entre ms ancho sea el bus, ms informacin puede fluir por el canal, as como una autopista ancha puede conducir ms vehculos que una angosta. El bus original del PC (ISA) era un bus de 8 bits de ancho, el bus ISA Universal es de 16 bits de ancho, el PCI es de 32 bits. El ancho del bus de direcciones se especifica de manera independiente del ancho del bus de datos. El ancho de este bus determina cuntas posiciones de memoria pueden direccionarse. As, si el bus tiene n lneas permitir direccional hasta 2n posiciones diferentes. Velocidad del Bus: La velocidad del bus determina cuntos bits de informacin pueden enviarse por cada lnea del bus por Segundo. La mayora de buses transmiten un bit de datos por lnea por ciclo de reloj. Algunos buses como el AGP pueden transmitir ms de un bit por ciclo de reloj. En buses antiguos como el ISA solo podan transmitir un

bit por cada dos ciclos de reloj. Ancho de Banda (bandwidth) El ancho de banda, tambin llamado throughput, se refiere a la cantidad de datos que tericamente pueden transmitirse por el bus por unidad de tiempo. Usando una analoga con una autopista, el ancho del bus es el nmero de carriles en la autopista y la velocidad delbus se refiere a la velocidad por la que circulan los vehculos por cada carril. El ancho de banda es entonces el producto del ancho por la velocidad del bus y refleja el trfico que el canal puede conducir por segundo.

1.2.4.2 -

Estructura de los buses.

Las lneas de datos del bus proporcionan el camino para transmitir datos entre los mdulos del sistema. El nmero de lneas del bus de datos determina el nmero mximo de bits que es posible transmitir al mismo tiempo. Las lneas de direccin se utilizan para designar (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 (y de dispositivos de E/S) 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 qu tipo de informacin pasa por las lneas de datos.

1.2.4.5 Jerarquas de buses.

1. Bus Procesador-memoria 2. Bus E/S 3. Bus Backplane o Mezzanine (Literalmente: entresuelo. Ejemplo, PCI) Las prestaciones del bus disminuyen con la conexin de un gran nmero de dispositivos (cuello de botella). Solucin: conguraciones con mltiples buses, normalmente organizadas jerrquicamente.

1.2.4.6 Ejemplos de Buses:

INTEGRATED DRIVE ELECTRONICS (IDE): Tambin se le puede llamar ATA (Advanced Technology Attachmen) y su misin principal es controlar los dispositivos de almacenamiento masivos de datos y aadir otros como pueden ser las unidades de CD-ROM. Suele aparecer en la mayora de los casos en la placa base y cuenta con dos conectores para dos dispositivos, uno que funciona como maestro y otro que lo hace como esclavo. Tiene como principal inconveniente que como mximo slo puede estar funcionando en el controlador un dispositivo. UNIVERSAL SERIAL BUS (USB): Fue desarrollado por un consorcio de siete compaas. Sustituye los puertos serie y paralelo por un nico bus serie.

Caractersticas:

- La velocidad de transferencia ha ido aumentando de los 1,5 MB/s iniciales hasta los 600 MB/s del novedoso USB 3.0.

- Permite conectar hasta 127 dispositivos.

- Reduce los enchufes a utilizar ya que dota de corriente elctrica a los dispositivos.

- La conexin y desconexin se puede realizar con el sistema encendido.

SERIAL ATA (SATA): Serial ATA es el nuevo estndar de conexin de discos duros. En Agosto de 2001 se publica la primera versin (SATA I). Aparece el primer producto comercialmente disponible que acta de puente entre el bus paralelo PCI y un dispositivo serie ATA. En 2002 se anuncian los primeros controladores host SATA de 4 y 8 puertos disponibles comercialmente. En 2003 se anuncian los primeros controladores host SATA-II disponibles comercialmente, con una velocidad de transferencia de 3 Gbit/s. INTEL QUICKPATH INTERCONNECT (QPI): El Intel QuickPath (QPI) es una conexin punto a punto con el procesador desarrollado por Intel para competir con HyperTransport. El QPI reemplazar el Front Side Bus (FSB). Intel lo lanz en noviembre de 2008 en su familia de procesadores Intel Core i7 y en el chipset X58, y ser usado en los nuevos procesadores Nehalem4 y Tukwila5.

Con la tecnologa Intel QuickPath, cada ncleo del procesador incluye un controlador de memoria integrado y de alta velocidad de interconexin.

1.2.5

Interrupciones.

El CPU de un computador basado en el modelo de Von Newman, est diseado para ejecutar instrucciones secuencialmente a menos que se ejecute una instruccin que altera el orden de ejecucin secuencial y modifica el contenido del PC (bifurcacin, llamada a una subrutina, retorno desde una subrutina).

Una interrupcin se puede definir como un evento asncrono al programa que se est ejecutando, o excepcional de dicho programa. Para este evento deben proveerse mecanismos especiales que permiten su tratamiento.

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.

El mecanismo de interrupciones fue la solucin que permiti al procesador desentenderse de esta problemtica, y delegar en el dispositivo la responsabilidad de comunicarse con el procesador cuando lo necesitara. El procesador, en este caso, no sondea a ningn dispositivo, sino que queda a la espera de que estos le avisen (le "interrumpan") cuando tengan algo que comunicarle (ya sea un evento, una transferencia de informacin, una condicin de error, etc.).

1.2.5.1 Tipos de Interrupciones.

a) Interrupciones de programa. Las interrupciones de programa son aquellas que se producen cuando el CPU detecta una condicin extraordinaria durante la ejecucin de una instruccin del programa. Ejemplos de esta pueden ser: Desbordamiento de la Pila. Desbordamiento (Overflow) Direccionamiento invlido Instruccin invlida Violacin de proteccin

La mayora de las interrupciones de programa, por la naturaleza de las mismas obliga a la cancelacin del programa que las produjo, lo que se denomina finalizacin anormal de un programa; mientras en algunos casos es posible recuperar la condicin presentada y continuar la ejecucin del programa una vez que se termine la interrupcin.

b) Interrupciones de Llamada al Supervisor. Las interrupciones de llamada al supervisor (SVC: Supervisor Call) es una forma de permitir la comunicacin entre los programas y el sistema operativo, para que este ciertas acciones

que por su naturaleza estn reservadas, debido a que implican el manejo de recursos y operaciones cuyo acceso no est permitido a los programas de usuario. Ejemplos de esto puede ser:

Inicio de las operaciones de Entrada/Salida. Asignacin de memoria y otros recursos. Lectura o escritura en disco. Mostrar por pantalla.

La mayora de las interrupciones de SVC, implica que una o ms instrucciones especiales sern ejecutadas por el S.O. Generalmente, se puede continuar ejecutando el programa que produjo.

c) Interrupciones de Falla de Mquina. Este tipo de interrupcin ocurre cuando, los circuitos especiales (incorporados en la mayora de las computadoras actuales) detectan condiciones de error de los componentes de hardware. Ejemplos de este pueden ser:

Transmisin de informacin entre dispositivos (checksun). Sector de Disco. CD esta malo. Fuente de poder mala.

d) Interrupciones de Entrada/Salida. Los dispositivos perifricos pueden operar en forma independiente del procesador central que controlan las operaciones de los mismos. Esto permite que en un dispositivo particular controle las operaciones de los mismos. Esto permite que en un dispositivo particular controle la operacin que est realizando por completo. Al concluir esta operacin, en forma satisfactoria o no, es necesario notificar al sistema operativo, para que ste pueda tomar las acciones correspondientes e iniciar, siempre que sea posible, nuevas operaciones en dicho dispositivo. Esta notificacin se realiza a travs de una interrupcin. A este tipo de interrupcin se le denomina Interrupcin de Entrada/Salida. Ejemplos de esta pueden ser:

Una impresora termin de imprimir. Un disco termin de traer el bloque de memoria que se le haba solicitado.

En todos los casos cuando se introduce una interrupcin de E/S, debe suspenderse la ejecucin del programa que estaba en el CPU, para atender la interrupcin producida y posteriormente reiniciar la ejecucin del programa que fue interrumpido.

e) Interrupciones Externas. Son interrupciones provocadas por condiciones externas al programa que se est ejecutando y que no son provocadas por culminacin de operaciones en dispositivos de E/S. Ejemplos de estos pueden ser:

Interrupcin de Reloj. Comunicacin entre el operador y el sistema. Cuantos trabajos estn ejecutndose en el CPU.

1.2.5.2 Clasificacin de las Interrupciones.

Las interrupciones se pueden clasificar en: interrupciones Asncronas e interrupciones Sncronas, en las cuales se pueden agrupar los tipos de interrupciones anteriores.

a) Interrupciones Sncronas. Las interrupciones sncronas son aquellas provocadas por la ejecucin de una instruccin de programa en el CPU, siendo stas de una naturaleza tal, que necesitan de atencin especial; debido a los requerimientos necesarios para su tratamiento y los resultados que se producen durante el mismo. Como estas son interrupciones internas al programa que se est ejecutando, los nicos tipos de interrupciones que pueden ser provocadas por esta causa son:

Interrupciones de programa. Interrupciones de llamada al supervisor.

b) Interrupciones Asncronas. Las interrupciones asncronas son provocadas por eventos externos al programa que se ejecuta y su objetivo es notificar al sistema operativo de algn cambio en el ambiente de operatividad del sistema, permitindose la interaccin del operador de la mquina para que se pueda tomar decisiones e informar acciones que no pueden ser tomadas automticamente por el sistema operativo. Dentro de las interrupciones asncronas se pueden distinguir tres grupos diferentes:

Interrupciones por falla de mquina. Interrupciones de Entrada/Salida. Interrupciones Externas.

1.2.5.3 Enmascaramiento de las interrupciones.

No siempre es posible la atencin inmediata de una interrupcin, siendo necesario en algunos casos posponer la atencin de la misma o inhibir el tratamiento correspondiente. El enmascaramiento de interrupciones se hace a travs de los componentes de hardware, stos pueden tomar un estado en el cual, cuando ocurra una interrupcin de cierto tipo, se mantiene dicha condicin como una seal, pero el mecanismo de interrupcin no las tomar en cuenta hasta que no llegue el momento apropiado. En el caso de enmascaramiento total de interrupciones, es decir, que no se atienden cuando ocurren, el enmascaramiento puede ser temporal ya que el sistema operativo deshabilita la atencin de las interrupciones y las habilita posteriormente.

Prioridades de las interrupciones.

Es posible que durante el tratamiento de una interrupcin que retarde la atencin de la segunda interrupcin. Sin embargo, hay dos casos que se deben analizar:

1. La ocurrencia simultnea de varias interrupciones:

En este caso es necesario establecer un mecanismo, que permita atender todas las interrupciones presentes en un determinado orden. Este orden de atencin no puede ser dado por el tiempo, ya que todas ocurrieron en el mismo momento.

2. Dos interrupciones consecutivas: Ocurre la segunda interrupcin, sin que se haya terminado de atender la primera, pero la segunda interrupcin no se puede enmascarar, es decir, debe ser atendida de inmediato. Entonces se deber suspender temporalmente las acciones que se llevan a cabo para el tratamiento de la primera interrupcin y proceder a tratar la segunda interrupcin. Esta situacin es posible, cuando la condicin por la cual se present la segunda interrupcin, puede tener efectos generales sobre el sistema completo e inclusive sobre la interrupcin que se atiende.

Las dos situaciones anteriores, implican que deben asignarse prioridades a los diferentes tipos de interrupciones, esta asignacin ir en funcin de la importancia que presentan las mismas. Adems debe disponerse de un mecanismo de hardware que garantice el tratamiento de las interrupciones de mayor prioridad frente de aquellas de menor prioridad. Esto es posible de realizar, si se utiliza el mecanismo de enmascaramiento, de manera que cuando se est tratando una interrupcin de cierto nivel de prioridad, sean enmascaradas todas las interrupciones con prioridad igual o menor.

1.2.5.4 Mecanismos para el tratamiento de interrupciones.

El ncleo del sistema operativo debe proveer las rutinas especiales para el manejo de interrupciones, estas rutinas deben ser capaces de reconocer el tipo especfico de interrupcin que ha ocurrido, para hacer el tratamiento correspondiente. A continuacin se listan el conjunto de pasos para resolver una interrupcin:

1. Al momento de producirse una interrupcin, debe quedar almacenada en un registro especial, la identificacin del tipo de interrupcin que se ha presentado. 2. Se debe salvar el estado que tena el CPU cuando se produjo la interrupcin, es decir, salvar el contador de programas y los registros e indicadores en un rea reservada de memoria. 3. Se hace una trasferencia incondicional al punto de entrada de la rutina manejadora de interrupciones. Los pasos del 1 al 3, son ejecutados automticamente por el mecanismo de hardware encargado de manejar las interrupciones. La direccin de comienzo de la rutina manejadora de interrupciones debe ser fija en memoria.

4. Una vez en la rutina manejadora de interrupciones, se determinar el origen de la interrupcin, utilizando la informacin almacenada en el registro especial mencionado en el paso 1. Identificada la condicin de interrupcin presente, se procedern a tomar acciones correspondientes (en general, se har una transferencia a la rutina de servicio de interrupcin que corresponde al tipo de interrupcin presentado).

5. Se mantienen enmascaradas las interrupciones con prioridad igual o menor que aquella que est procesando. 6. Al finalizar de ejecutarse la rutina manejadora de interrupciones, eventualmente continuar ejecutndose el programa que estaba corriendo cuando se produjo la interrupcin, restableciendo los valores del contador de programa, registros e indicadores, desde el rea de memoria donde haban sido salvados cuando se present la interrupcin. Si hubiese interrupciones pendientes por atender, estas debern ser tratadas, antes de dar control nuevamente al programa que inicialmente fue interrumpido.

CONCLUSION
Hoy en da, los programas cada vez ms grandes y complejos demandan mayor velocidad en el procesamiento de informacin, lo que implica la bsqueda de microprocesadores ms rpidos y eficientes. Por lo cual es importante tener conocimiento en arquitectura de computadoras. Los avances y progresos en la tecnologa de semiconductores, han reducido las diferencias en las velocidades de procesamiento de los microprocesadores con las velocidades de las memorias, lo que ha repercutido en nuevas tecnologas en el desarrollo de microprocesadores. Hay quienes consideran que en breve los microprocesadores RISC (reduced instruction set computer) sustituirn a los CISC (complex instruction set computer), pero existe el hecho que los microprocesadores CISC tienen un mercado de software muy difundido, aunque tampoco tendrn ya que establecer nuevas familias en comparacin con el desarrollo de nuevos proyectos con tecnologa RISC.

BIBLIOGRAFIA
Arquitectura de computadoras - patricia Quiroga editorial alfa omega Arquitectura de computadoras Morris mano Organizacin y arquitecturas de computadoras- William Stallings- 5 edicin Prentice hall

Organizacin y arquitecturas de computadoras- juan Alberto Vzquez Gmez.

CUESTIONARIO. 1.COMO SE CLASIFICAN LAS MEMORIAS? en voltiles y no voltiles. 2.COMO SE LE CONOCE A LA MEMORIA CACH? Como la memoria que ocupa el primer nivel de la jerarqua en un computador. 3.QUE SON LOS DISPOSITIVOS DE SALIDA? Son dispositivos que permiten al usuario ver los resultados de los calculos o de las manipulaciones de datos de la computadora. 4.CUALES SON LAS DOS FUNCIONES Realizar interfaz entre el procesador Realizar interfaz entre los dispositivos externos. PRINCIPALES DEL y la memoria MDULO DE ENTRADA Y a travs del bus del SALIDA? sistema.

5.CUALES SON LAS CUATROS TECNICAS PARA ENTENDER LAS INTERRUPCIONES SIMULTANEAS? Mltiples lineas de interrupciones, consulta por software, utilizacin de conexin en cadena, arbitraje del bus.

1. Cuntos modelos de arquitecturas existen y cules son? R: Son tres, clsicas, segmentados y de multiprocesamiento. 2. Cuntos tipos de arquitecturas clsicas existen y cules son? R: Existen dos, la arquitectura de Mauchly -Ecker o tambin conocida como Von Newman y la Harvard. 3. Cmo se define la arquitectura de Von Newman? R: 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. 4. Cmo se define la arquitectura Harvard? R: El programa se almacena como un cdigo numrico en la memoria, pero no en el mismo espacio ni en el mismo formato que los datos, ya que al tener un bus separado para el programa y otro para los datos permita que se lea el cdigo de operacin de una instruccin al mismo tiempo que se lee de la memoria los datos operados de la instruccin previa. 5. A qu se define arquitectura segmentada? R: Se refiere cuando el procesador divide en varias unidades funcionales independientes y se dividen entre ellas el procesamiento de las instrucciones, en un procesador sin segmentacin del cauce, las dos etapas se realizan de manera secuencial para cada una de las instrucciones. 6. A qu se refiere las arquitecturas de multiprocesamiento? R: Son aquellas arquitecturas que requieren de mltiples procesadores, para realizar las diversas tareas o instrucciones que enva la mquina para realizar una accin sin tener un problema con el rendimiento. 7. Qu significa CPU? R: Es la unidad central de procesamiento o tambin conocido como procesador.

8. Qu es un CPU? R: Es el componente principal del ordenador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. 9. Cul fue el primer procesador inventado en la historia? R: El 4004 por Intel.

10. Qu es una memoria? R: Es un dispositivo que puede mantenerse en por lo menos dos estados estables por un cierto periodo de tiempo, tiene la capacidad de almacenar por lo menos un bit de informacin.

También podría gustarte