Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 2 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA Contenido 1. SISTEMA DE PUNTO FLOTANTE .................................................................................................................................................................................. 3 SISTEMAS DE PUNTO FLOTANTE NORMALIZADO ....................................................................................................................................................... 3 REPRESENTACION EN SISTEMAS DE PUNTO FLOTANTE NORMALIZADOS .................................................................................................................. 4 2. INTRODUCCION A LAS COMPUTADORAS.................................................................................................................................................................... 6 CONCEPTO DE COMPUTADORA: ................................................................................................................................................................................ 6 LAS INSTRUCCIONES ................................................................................................................................................................................................... 8 FASES DE LA EJECUCION DE UNA INSTRUCCIÓN ......................................................................................................................................................... 8 TIPOS DE INSTRUCCION. ............................................................................................................................................................................................. 9 3. MEDIDAS DE RENDIMIENTO ..................................................................................................................................................................................... 11 MIPS Y MFLOPS ........................................................................................................................................................................................................ 11 4. MEMORIAS ............................................................................................................................................................................................................... 12 CLASIFICACION DE LAS MEMORIAS .......................................................................................................................................................................... 13 TIPO DE MEMORIAS CON SEMICONDUCTORES ........................................................................................................................................................ 14 MEMORIA PROM ...................................................................................................................................................................................................... 15 ORGANIZACION DE LA MEMORIA ............................................................................................................................................................................ 16 ORGANIZACIÓN INTERNA DE UNA MEMORIA SRAM ................................................................................................................................................ 19 LA MEMORIA EN UN SISTEMA DE COMPUTACION ................................................................................................................................................... 20 MAPA DE DIRECCIONAMIENTO. ............................................................................................................................................................................... 21 PLANIFICACION DE LA UBICACIÓN DE MEMORIA ..................................................................................................................................................... 23 MEMORIA FANTASMA .............................................................................................................................................................................................. 23 5. JERARQUIA DE MEMORIA ......................................................................................................................................................................................... 25 MEMORIA CACHE ..................................................................................................................................................................................................... 26 CACHE DE CORRESPONDENCIA DIRECTA .................................................................................................................................................................. 26 CACHE ASOCIATIVA DE “n” BITS. .............................................................................................................................................................................. 27 ACTUALIZACION DE LA MEMORIA PRINCIPAL .......................................................................................................................................................... 28 PROTOCOLO MESI .................................................................................................................................................................................................... 28 MEMORIA VIRTUAL .................................................................................................................................................................................................. 29 TIPOS DE MEMORIA VIRTUAL ................................................................................................................................................................................... 30 6. UNIDAD DE E/S (Entrada y salida) ............................................................................................................................................................................. 33 LOS CONTROLADORES .............................................................................................................................................................................................. 34 MODOS DE DESARROLLAR LAS OPERACIONES DE E/S. ............................................................................................................................................. 36 E/S CONTROLADAS POR PROGRAMA ....................................................................................................................................................................... 36 E/S CONTROLADA POR INTERRUPCIONES ................................................................................................................................................................ 38 ACCESO DIRECTO A MEMORIA (DMA) ...................................................................................................................................................................... 39 CONTROLADOR DE DMA (CDMA) ............................................................................................................................................................................. 40 Modos de transferencia DMA ................................................................................................................................................................................... 41 PROCESADOR DE E/S ................................................................................................................................................................................................ 42 7. MICROPROCESADORES ............................................................................................................................................................................................. 43 BUSES DE COMPUTADORAS .....................................................................................................................................................................................44 MANEJO DE INTERRUPCIONES ................................................................................................................................................................................. 47 8. MICROPROCESADOR 6800 ........................................................................................................................................................................................ 48 ARQUITECTURA ........................................................................................................................................................................................................ 48 DESCRIPCION DE LAS TERMINALES DEL µP 6800. ..................................................................................................................................................... 49 MODOS DE DIRECCIONAMIENTO (Formas de acceder a los datos). ......................................................................................................................... 51 MANEJO DE INTERRUPCIONES DEL 6800 .................................................................................................................................................................. 53 PIA (Interfaz adaptador de periférico) ...................................................................................................................................................................... 55 ACIA (Adaptador de Interfaz de comunicación asincrónica) ..................................................................................................................................... 57 9. ARQUITERCTURA X86 .............................................................................................................................................................................................. 58 REGISTROS ................................................................................................................................................................................................................ 60 MODOS DE DIRECCIONAMIENTO ............................................................................................................................................................................. 62 UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 3 1. SISTEMA DE PUNTO FLOTANTE Los sistemas de punto fijo presentan el inconveniente de estar acotados por un máximo y un mínimo lo que ocasiona que cuando un resultado sale del rango, es necesario cambiar de sistema para representarlo los sistemas de punto flotante establecen una nueva alternativa de representación, aunque también se trata de sistemas acotados, su conformación permite ampliar considerablemente el rango de validez del sistema, manteniendo un formato similar para todos los números de un mismo sistema. Un sistema de punto flotante generalizado para números fraccionarios se identifica como (b,k,f)FL , donde el número presenta la siguiente estructura general: La mantisa M pertenece a un sistema (b,1,f-1) de punto fijo y se representa generalmente como M = (M0 , M-1 M-2 ………….M-(f-1))b El exponente E pertenece a un sistema (b,k) entero y se representa como E = (Ek-1………..E0)b Los sistemas pueden ser a su vez: Con signo: la mantisa y el exponente se expresan en sistemas con notación de signo. Con notación complemento: la mantisa y el exponente se expresan en sistemas con notación complemento. Mixtos: cualquier combinación en las notaciones de signo o complemento en los sistemas de representación de la mantisa y el exponente. SISTEMAS DE PUNTO FLOTANTE NORMALIZADO La representación de un número en un sistema de punto flotante no es única pues es posible establecer diferentes combinaciones entre la cantidad de cifras fraccionarias y el valor y el signo del exponente. Ejemplo: 2,510 en un sistema (10,3,4)FL , puede representarse como 2,500x10000 o 0,250x10001 o 0,002x10002 Para unificar la representación y lograr la presentación de la mayor cantidad de cifras significativas que permita el sistema empleado (ventaja de los sistemas normalizados). Se considera que el sistema esta normalizado cuando: 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 4 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA En una mantisa con signo es M-1 = 0 En una mantisa con notación complemento es : M-1 =0 si M0 = 0 M-1 = (b-1) si M0 = 1 En todos los casos en que la representación de la mantisa necesite ser aproximado siguen siendo válidos los procedimientos de aproximación por truncamiento y redondeo. REPRESENTACION EN SISTEMAS DE PUNTO FLOTANTE NORMALIZADOS La escritura de un número en un sistema (b,k,f)FLN, a partir de un número en base b puede efectuarse con el siguiente procedimiento: Partiendo de un número con signo explicito. Representarlo en un sistema de punto fijo con una cantidad de por lo menos f posiciones fraccionarias, con la notación que requiera la mantisa (con signo, notación complemento o mixto). Minimizar la representación del sistema tal que a la derecha del bit de signo: Dk-z = 0 si el número es positivo o negativo en sistemas con signo. Dk-z = 0 si el número es positivo en sistemas con notación complemento. Dk-z = (b-1) si el número es negativo en sistemas con notación complemento. Desplazar el separador fraccionario a la derecha o izquierda de modo que el número quede representado con el bit de signo como única cifra entera. Esta estructura constituirá la mantisa del número en el formato de punto flotante. N=Dk-1 Dk-2…..D0 , D-1 D-2…….→ N = Dk-1 , Dk-2…..D0 D-1 D-2……= M = M0 , M-1 M-2…… Aproximar la mantisa obtenida a (f-1) posiciones fraccionarias, con el criterio requerido (truncamiento o redondeo) se completa con ceros si la cantidad original de cifras fraccionarias es menor que (f-1). La cantidad de posiciones desplazadas del separador fraccionario constituirá el valor del exponente a representar en el sistema entero que establezca el formato de punto flotante. Un desplazamiento de n posiciones hacia la derecha genera un exponente –n expresado en el sistema entero que corresponda. Similarmente un desplazamiento de n posiciones hacia la izquierda genera un exponente +n expresado en el sistema entero que corresponda. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 5 NORMA 754 DE IEEE (organismo que establece normas para fabricación de productos electrónicos) Estandariza el trabajo con n° en punto flotante. Establece 3 formatos: Precisión sencilla (32 bits) Doble precisión (64 bits) Precisión extendida (80 bits) La IEEE estableció un comité para estandarizar la aritmética de punto flotante no solo para aumentar el intercambio entre las diferentes computadoras sino para proporcionar a los diseñadores de hardware de un modelo que supiera que es correcto. 1 8 23 Mantisa Exponente Signo 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 6 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA 2. INTRODUCCION A LAS COMPUTADORAS CONCEPTO DE COMPUTADORA: Es una máquina que procesa información para obtener resultados. Instrucciones: tratamiento de la información. Programa: conjunto de instrucciones que ejecuta la computadora sobre los datos para resolver un problema. Memoria Principal: en ella se guarda los datos a procesar los que han sido procesados y los conjuntos de instrucciones o programas con los que se procesa la información de entrada según la aplicación que se destine. Unidad de control: La función principal de la unidadde control es dirigir la secuencia de pasos de modo que la computadora lleve a cabo un ciclo completo de ejecución de una instrucción, y hacer esto con todas las instrucciones de que conste el programa. Camino de datos: es una unidad operativa y está compuesta de una serie de operaciones aritmético- lógica que manipula la información de entrada percibida de la unidad de control. Periférico: son los dispositivo necesarios para introducir y sacar información al conjunto de la unidad de control y el camino de datos se denomina U.C.P. con el objeto de facilitar el intercambio de información en los diferentes bloques existe un camino de comunicación entre ellos. Periférico de entrada Procesador Periférico de salida BLOQUES FUNDAMENTALES Periférico de entrada Periférico de salida Memoria principal Almacenamiento de datos e instrucciones Unidad de control Camino de datos UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 7 Se puede observar que la unidad de control y camino de datos conforma la CPU. Que también recibe el nombre de procesador. La unidad de control se encarga de ir recibiendo ordenadamente las instrucciones de la memoria principal para ir interpretándolas y generando las señales de gobierno que se aplica sobre los componentes del sistema para ejecutar dichas instrucciones. Estas señales determina la operación lógico- aritmética que desarrollara el camino de datos sobre los operando que recibe desde la memoria principal o de la unidad de entrada. Los resultados obtenidos se guardan en la memoria o bien se proporciona al exterior por las unidades de salida. En consecuencia la misión de la unidad de E/S es la de mostrar el formato de la información entre la maquina y los programas exteriores. El generador de pulso de reloj es el encargado de generar las operaciones que se llevan a cabo en diversos componentes que intervienen en el tratamiento. La memoria principal almacena junto con los datos el conjunto ordenado de instrucciones que al ser ejecutado proporciona los resultados deseado, dicho conjunto ordenado de instrucciones recibe el nombre de programa. Pero esta máquina no repite la misma secuencia de instrucciones siempre tiene la capacidad romper las secuencias ordenada según los resultados parciales que se van obteniendo a lo largo de la ejecución. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 8 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA LAS INSTRUCCIONES Las instrucciones y los datos que se guardan en la memoria principal en un conjunto de bits semejantes. Las instrucciones se envían desde la memoria a la unidad de control donde se interpreta y se genera las señales de gobierno sobre los restantes bloques del sistema. Los datos intervienen como operandos o son los resultados de las instrucciones. Si son operandos se envían desde la memoria al camino de datos para realizar sobre ellos la operación. Los resultados que se obtienen tras el procesamiento se envían a la memoria según la estructura de la computadora existen un tamaño en bits con el que arbitrariamente trabaja a dicho tamaño se denomina palabra y suele ser de 8, 16, 32 o 64 bits, tanto las instrucciones como los datos consta de una o más palabras. Las instrucciones están almacenadas en la memoria principal de forma ordenada para ser ejecutadas una tras otra, de acuerdo con el orden establecido, únicamente las instrucciones de salto rompen dicha secuencia. Los bits que componen las instrucciones constan de varios campos c/u de los cuales especifica un parámetro de la instrucción a la que corresponde. FORMATO DE INSTRUCCIÓN La unidad de control es el bloque de la computadora encargada de analizar e interpretar los bits de los diversos campos de una instrucción. Tras la interpretación se procede a generar las señales de gobierno adecuadas para especificar el camino de datos. Las operaciones que debe llevar a cabo. Las operaciones de entrada. El lugar donde debe guardar el resultado. Una labor que también corresponde a la unidad de control es determinar la dirección de la próxima instrucción que hay que ejecutar. FASES DE LA EJECUCION DE UNA INSTRUCCIÓN Una instrucción típica puede descomponerse en 5 fases: 1. FASE DE BUSQUEDA DE INSTRUCCIÓN: En esta etapa se localiza el código binario de la instrucción en la memoria principal. 2. FASE DE DECODIFICACION: La Unidad de Control interpreta el código binario de la instrucción en curso que se ha recibido de la memoria principal. 3. BUSQUEDA DE OPERANDO: Tras el oportuno tratamiento de los campos dedicados a los operando fuente de la U.C. determina el valor o la situación donde se encuentra dicho operando y ordena la búsqueda. 4. FASE DE EJECUCION: LA U.C. comienza las señales de gobierno precisa para que le camino de datos efectúe la operación correspondiente a la instrucción en curso. La operación lógico-aritmética que se realiza sobre el camino de datos, sobre los operando origina un resultado llamado operando destino. OPCODE OPERANDO1 OPERANDO2 UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 9 5. ESCRITURA DE RESULTADO: El resultado obtenido tras la ejecución de los operando de la instrucción mas los operando fuentes se guarda generalmente en la memoria principal. TIPOS DE INSTRUCCION. Cuantas más instrucciones sea capaz de admitir un procesador más complicado será su control para poderlas interpretar respecto a la cantidad de instrucciones que debe soportar un procesador. Una de ellas se caracteriza por recomendar un reducido número de instrucciones. Estos procesadores se denominan del tipo RISC o computadores de juego de instrucción reducida. Las instrucciones en este caso además de ser pocas son sencillas y la mayoría se ejecuta en un ciclo de reloj. En contraposición los procesadores del tipo CISC o los computadores de juegos de instrucciones complejo, dispone de un número elevado de instrucciones siendo algunas complejas por lo que se precisa muchos ciclos de reloj para su implementación. En general se puede clasificar en las siguientes categorías: 1. Instrucciones de transferencia: envían información de los registros y la memoria. 2. Instrucciones aritméticas: suma y resta binaria. 3. Instrucciones lógicas: and, or, nor, xnor. 4. Instrucciones de salto: rompen la secuencia natural. LENGUAJES DE PROGRAMACION. Confeccionar un programa además de ser muy laborioso es muy propenso a errores. Para evitar inconvenientes surgieron los lenguajes de programación en los cuales las instrucciones se representan con letras o combinaciones de ellas, a veces son palabras usuales y en ocasiones abreviaturas fácilmente adivinables. Por ejemplo en vez de instrucciones que representa la suma binaria de 2 operando se utiliza la palabra ADD. Este camino supone una gran facilidad de escribir un programa e interpretarlo posteriormente. La solución consiste en utilizar la misma máquina para traducir el lenguaje expresivo en lenguaje binario de esta forma la instrucción es con letras, son introducidas en la maquina y mediante un traductor se va convirtiendo en las instrucciones máquina, esta labor es muy fácil para la computadora. Los lenguajes se clasifican en 2 categorías: 1. LENGUAJE DE BAJO NIVEL (ENSAMBLADORES): Para editar los programas en la actualidad se hace referencia al lenguaje ensamblador como el más parecido al lenguaje maquina, cada instrucción maquina se corresponde con una instrucción en lenguaje ensamblador. 2. LENGUAJE DE ALTO NIVEL: Estos dispone deinstrucciones diferentes a las que es capaz de interpretar la maquina. En general dichas instrucciones son más potentes, se expresa en una forma más cómoda y comprensible, por ejemplo en un lenguaje de alto nivel se puede implementar la instrucción dividir, mientras que la maquina dispone solo de instrucciones aritméticas elementales como la suma y quizás la resta, los lenguajes de alto nivel son más cómodo para usar en el diseño de programa y admiten la portabilidad lo que significa que usando el traductor adecuado en mismo programa escrito en Lenguaje de Alto Nivel, puede ejecutarse en diferentes procesadores con repertorio de instrucciones de máquina distintos. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 10 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA LOS DATOS. Un dato es una expresión binaria almacenada en la Memoria Principal que es utilizado por una instrucción como un operando de entrada o bien es un resultado después de la ejecución de una instrucción. También la longitud de los datos se expresa en palabras que es el tamaño básico que utiliza la computadora y que es normalmente una función directa del tamaño del bus de datos. Los tipos de datos que admite un procesador son en función de los operando que admite sus instrucciones. Los tipos de datos más usuales son: 1. Enteros y Ordinales. 2. BCD. 3. Cadena de caracteres. 4. Campo de bit. 5. Puntero de direcciones. 6. Coma flotante. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 11 3. MEDIDAS DE RENDIMIENTO MIPS Y MFLOPS MIPS: Millones de instrucciones que ejecuta un procesador en un segundo. Los MIPS permiten calcular el tiempo en que tarda en realizar un programa con determinado n° de instrucciones. (Patrón de comparación entre 2 sistemas). ( ) ( ) CPI: es el número de ciclos que dura una instrucción. ( ) ( ) ( ) MFLOPS: millones de operaciones en coma flotante por segundo. Con ello se trata de cuantificar el n° de sumas, restas multiplicaciones etc. Con operando en coma flotante que es capaz de realizar un procesador en un segundo, sin embargo los MFLOPS son muy dependientes del programa concreto que se ejecute no es lo mismo realizar 100 sumas que 100 divisiones en coma flotante. Para evitar este problema surgieron los MFLOPS normalizados en cuya valoración se cuantifica o pondera la complejidad de las operaciones en coma flotante. De esta forma una división en coma flotante equivale a 4 sumas y una exponenciación equivale a 8 sumas por ejemplo en n° de MFLOPS normalizado siempre es muy superior al MFLOPS nativo. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 12 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA 4. MEMORIAS Definición: es un dispositivo electrónico diseñado para almacenar información, actualmente son capaces de almacenar millones de bits en pocos mm2 de superficie y ponerlos a disposición del sistema en unas decenas de nanosegundos. Parámetros: Capacidad: es la más representativa de la memoria y hace referencia a la cantidad de datos que puede almacenar. Los lugares que dispone la memoria para albergar las palabras binarias se llama posiciones o direcciones de memoria. Densidad de almacenamiento: Se mide en bit por unidad de superficie y está en relación directa con el avance tecnológico. El significado de este parámetro es simple ¿Cuántos bits se puede almacenar en un mm2? A mayor valor significa que el dispositivo puede guardar en la misma superficie una mayor cantidad de bits, es decir presenta una mayor densidad de almacenamiento. Tiempo de acceso: su unidad de medida es de (tiempo). Las actuales condiciones tecnológicas se encuentran en los nanosegundos [ns]. En otras palabras se refiere al tiempo que se necesita para escribir o extraer datos de la unidad de memoria. Habría que hacer referencia a 2 tiempos de acceso: Tiempo acceso de lectura: 1. Llegar a la ubicación del dato. 2. Activar a la unidad para que sea leída. 3. Extraer el dato. Estructura de una memoria Direcciones de memoria oria 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 0 1 000 001 002 003 004 005 007 008 Longitud Bit Palabra UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 13 Tiempo acceso de escritura: 1. Demora que necesita el sistema para ser activado para escritura. 2. Ubicación del lugar donde va a ser almacenado. 3. Grabación del dato. Para unificar y manejar un parámetro único que permite la comparación entre sistemas, suele utilizarse un promedio de ambos bajo la denominación de tiempo de acceso. Costo de almacenamiento: su unidad de medición será $/bit. Confiabilidad: cualquier sistema por mas rápido y económico que sea si no es confiable no resulta útil. Este parámetro se refiere a la cantidad de errores que pueden producirse en el sistema. CLASIFICACION DE LAS MEMORIAS SEGÚN SU EVOLUCION: Tarjetas y cintas perforadas. Cintas magnéticas. Tambores magnéticos (acceso directo, limitado). Núcleos magnéticos (lectura destructiva). Discos magnéticos. Memorias de burbujas. Memorias laser. Memorias con semiconductores (mayor velocidad, mayor densidad, menor costo). Memorias ópticas (CD-DVD). SEGÚN SU UBICACIÓN: MEMORIAS INTERNAS: Son del tipo semiconductores y se encuentran dentro y bajo el control directo del microprocesador. MEMORIAS EXTERNAS: Se encuentran ubicadas fuera de la unidad central de proceso y también bajo su control, aunque no tan directo como en el caso anterior. MEMORIAS CON SEMICONDUCTORES (Un semiconductor es un material especial construido a base de silicio y otros componentes que tiene la propiedad de comportarse eléctricamente como un conductor o un aislante. Según como sea polarizado externamente). CLASIFICACION: Según la tecnología de fabricación: Bipolares (estáticas). MOS (Metal-Oxido Semiconductor): estáticas y dinámicas. Según la permanencia de los datos: Memorias no volátiles: ROM. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 14 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA Memorias volátiles: RAM. Según la jerarquía en el sistema: Memoria convencional: se ubica en el área del mapa de direcciones comprendida entre 0KB (0000h) 640KB (0280h) es utilizada por el sistema operativo, controladores de dispositivo y programas de usuario. Era usado por los primeros sistemas de computación. Memoria superior: va desde el límite de la memoria convencional (0280h) y 1024KB (0400H) generalmente se reserva para uso del sistema. Memoria expandida. Memoria extendida: supera los 1024KB. Se divide en : 1. Memoria alta: es un segmento de 64KB de la memoria extendida es utilizada básicamente por el sistema operativo y algunos programas muy específicos. 2. Memoria Shadow: memoria sombra, es un área reservada de la memoria RAM extendida para la ejecución de algunas rutinas del BIOS contenidas en ROM. 3. Memoria Setup: memoria de pequeñacapacidad se almacena la configuración básica del sistema que requiere al iniciarse tal como fecha y hora actual etc. 4. Memoria caché: memoria ultra rápida de capacidad limitada. En esta se almacenan temporalmente los datos que el sistema accede con más frecuencia desde un dispositivo más lento. Memoria virtual: es una técnica que permite al software usar más memoria principal que la que realmente posee el ordenador…. Según el encapsulado: Modulo DIPn (Dual in Line Package) n indica las terminales. Módulos SIMM:(single in-line Memory Module) no dispone de pines de conexión. Utiliza regiones de contacto de modo que requiere de un zócalo para su conexión. Módulos DIMM: (Dual in-line Memory Module). TIPO DE MEMORIAS CON SEMICONDUCTORES ROM ROM PROM (ROM Programable). EPROM (ROM Programables y borrables). EEPROM (Técnicas eléctricas para borrado). SRAM (Static RAM) son rápidas, baja escala de integración y costosas RAM DRAM (Dinamic RAM) gran escala de integración, son lentas y baratas. Hecho en base a transistores. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 15 MEMORIA PROM: Son las que el usuario puede determinar su contenido por única vez, pero una vez grabado son inalterables. La programación de esta memoria es sencilla. Cada unidad está formada por un conjunto de celdas conteniendo un diodo o un fusible (dispositivo eléctrico que permite el paso de corriente eléctrica en cualquier dirección. Cuando el valor de la corriente supera el valor el valor prefijado para el dispositivo se rompe e impide el paso de la corriente) que operativamente representa un 1 lógico. Durante la programación de la memoria cuando el bit correspondiente debe ser 0 lógico por esa celda se hace pasar una corriente excesiva y el diodo se rompe. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 16 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA MEMORIA DE LECTURA/ESCRITURA. Constituye la unidad principal de almacenamiento temporal de datos en todo sistema de computación donde el sistema efectivamente trabaja. Para ello la memoria de este tipo están sufriendo una amplia y constante evolución tratando de optimizar al máximo sus prestaciones. Se clasifican en memoria RAM Estáticas y RAM Dinámicas. SRAM (Static RAM): Se construyen en base a celdas de Flip Flop tipo D cuya organización y distribución depende de la longitud de palabra y la cantidad de direcciones con que hayan sido diseñadas. DRAM (Dinamic RAM): No es el tipo de memoria más eficiente pero son las que más se utilizan dada su elevada capacidad de integración, bajo consumo de energía y bajo costo. Para este esquema, en el proceso de escritura se activa la línea correspondiente con lo del transistor T1 se pone en conducción y el dato presente en línea en ENTRADA DE DATOS ingresa a la celda y se almacena en el capacitor ficticio representado por el transistor T2. En el proceso de lectura, se activa la LINEA DE LECTURA que pone en conducción al transistor T3 quien deja salir el dato almacenado en T2. Un circuito adicional representado por el dispositivo A. denominado amplificador de Refresco, se encarga de regenerar constantemente el dato almacenado antes que se disipe, actuando a impulsos de una señal ingresada por la línea de CONTROL DE REFRESCO. ORGANIZACION DE LA MEMORIA La memoria convencional consta de muchas posiciones que deben seleccionarse unilateralmente para almacenar o leer un dato además esas posiciones que son en general un grupo de bit denominado palabra que se accede simultáneamente. Se debe lograr que al aumentar la cantidad de registros, las líneas de datos y selección no aumenten en forma lineal. Esto se logra a través de una indicación codificada de direcciones de UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 17 memoria, luego un circuito decodificador interno se encarga de seleccionar específicamente el registro requerido. Según como se realice el proceso de decodificación de la dirección pueden establecerse 2 tipos de organización interna de una memoria de lectura/escritura. ORGANIZACIÓN 1D (lineal): En este caso existe un solo decodificador y debe disponerse tantas líneas de salida de decodificador como registro tenga la memoria. ORGANIZACIÓN 2D (Bidimensional): Requiere de 2 circuitos decodificadores lo que reduce apreciablemente la cantidad de líneas de conexión en relación al conjunto de registro de memoria DE CO DI FI CA DO R LECTURA O ESCRITURA DI RE CC IO N CO DI FI CA DA REGISTROS REGISTRO SELECCIONADO DA TO S ORGANIZACIÓN GENERAL DE UNA MEMORIA DE LECTURA/ESCRITURA 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 18 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA puede considerarse que es de tipo matricial, filas y columnas donde una parte de los bits de dirección se utiliza para decodificar los registros en fila y la otra parte restante para decodificar las columnas. TOPOLOGIA GENERAL UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 19 ORGANIZACIÓN INTERNA DE UNA MEMORIA SRAM Tenemos una memoria SRAM de 4X2, (4 palabras de 2 bits). Tiene 7 entradas 2 de las cuales son de datos (I0 , I1), 2 son de dirección (D0, D1) y 3 de control: CS para seleccionar la pastilla, R/ ̅ señal de lectura/escritura, OE para permitir la salida. Las líneas de salida son para los datos (S0, S1). Se necesita una lógica externa que ponga CS en alto para seleccionar la pastilla, así como para poner R/ ̅ a alto (1 lógico) para leer, o abajo (0 lógico) para escribir, las dos líneas de selección deben ajustarse para que indiquen cual de las 4 palabras de 2 bits ha de leerse o escribirse. En una operación de lectura no se usan las líneas de datos de entrada, pero en la salida aparece la palabra seleccionada. En una escritura no se usan las líneas de datos de salida, pero se recoge el dato de las de entrada y se guarda en la posición de memoria seleccionada. Cada compuerta AND del decodificador de direcciones tiene salida en alto cada una con una dirección diferente. Esto nos permite la selección de palabra. Para el caso de la escritura la línea CS debe estar en alto (1 lógico) y R/ ̅ deben estar en bajo (0 lógico) para que la salida de la compuerta AND (CS. R/ ̅) este en alto, habilitando a una de las cuatro compuertas de escritura, según la línea de selección de palabra que este en alto. La salida de la compuerta de escritura mueve todas las señales CLK de la palabra seleccionada, cargando los datos de entrada en los Flip-Flops de las mismas. Para la lectura la salida de la compuerta (CS. R/ ̅) debe estar en bajo, por lo que deshabilita todas las compuertas de escritura y no modifica ningún Flip-Flops, en cambio la línea de selección de palabra elegida habilita las compuertas AND conectadas a las salidas Q de la palabra seleccionada, por lo tanto una palabra pasa sus datos a las compuertas OR de 4 entradas de la parte inferior de la figura, mientras las otras 3 palabras le pasan ceros. En consecuencia las salidas de las compuertas OR es idéntica al valor guardado en la palabra seleccionada. Las 3 palabras no seleccionadas no contribuyen a la salida. En una memoria real las líneas de entrada y salida son las mismas. Por esta razón es deseable tener un modo de conectar las compuertas OR con las líneas de datos de salida en las lecturas, 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDADNACIONAL DE JUJUY FACULTAD DE INGENIERIA 20 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA pero desconectarlas por completo en las escrituras. Por este motivo hay una compuerta tri-state en cada salida. Cuando CS, R/ ̅ y OE estén en alto, la señal de habilitación de salida también estará en alto, habilitando las compuertas tri-state y poniendo una palabra en la línea de salida. Cuando cualquiera de las señales CS, R/ ̅, o OE estén en bajo, las salidas de datos se desconectaran del resto del circuito. LA MEMORIA EN UN SISTEMA DE COMPUTACION UNIDAD CENTRAL DE PROCESO (CPU): Es la parte principal del sistema por ser la unidad que contiene al circuito principal del sistema llamado microprocesador. Su misión es el procesamiento específico de datos, control del flujo de la información, comunicación entre las distintas unidades y organización general del sistema. Interconexión: Los canales de interconexión entre el sistema de computación se conocen como buses, y son las vías a través de las cuales se comunican las distintas unidades integradas del sistema. Podemos diferenciar 3 tipos básicos: BUS DE DATOS (DB): son las líneas encargadas de transportar los datos desde y hacia las distintas unidades. Es bidireccional y contendrá tantas líneas como longitud de palabra tenga el microprocesador del sistema. BUS DE DIRECCIONES (AB): Conduce los códigos de ubicación o direcciones de los datos. Se utiliza para identificar o activar cada unidad o dispositivo conectado al sistema (memoria, periféricos, etc.) y la posición especifica dentro de ellos. También es bidireccional. BUS DE CONTROL (CB): Transportan las señales de control desde y hacia la CPU. Es un bus bidireccional a través del cual la CPU activa específicamente una unidad para ser utilizada o consultada, o bien conducen pedidos de interrupción de una unidad para ser atendidas por el microprocesador. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 21 MAPA DE DIRECCIONAMIENTO. La memoria como los otros dispositivos del sistema se posicionan en una ubicación del mapa según criterios del diseñador o requerimientos del sistema, por lo general la memoria ROM se instala en la parte superior del mapa y la RAM en la parte inferior del mapa. Cada línea de dirección tiene inferencia en determinadas posiciones del mapa según su posición significativa en el código de la dirección. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 22 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA Utilizando el criterio visto para A14, A15 es posible asignar un lugar específico a cada chip de memoria en el mapa. Para ello recordar que las memorias comerciales disponen de uno a más terminales Chip Select que al ser activados con los niveles de señal correspondiente habilita el circuito para su acceso. Ejemplo: si el terminal de selección de chip de la memoria fuese activado por la línea A15 en estado directo esta memoria estaría posicionada en el sector de la mitad superior del mapa de direcciones es decir que el chip de memoria seria seleccionado por cualquier dirección que corresponda al siguiente patrón: La unidad de memoria se posiciona en un determinado sector del mapa de direcciones según la línea de direccionamiento usado. En conclusión para poder precisar exactamente la ubicación del chip de memoria es necesario aplicar a sus terminales de CS todas las líneas de direccionamiento del sistema que no sean utilizadas para el direccionamiento interno de la memoria. Una memoria con CS habilitado significa que el chip de memoria se conecta al bus del sistema por el contrario con el CS deshabilitado se produce una desconexión virtual. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 23 PLANIFICACION DE LA UBICACIÓN DE MEMORIA Es necesario tener en claro de antemano las características del sistema y de la memoria que se quiera instalar. Con toda esa información se puede establecer un plan de ubicación de la memoria en un sector específico del mapa de direccionamiento del sistema. Ejemplo: Posicionar una RAM 1KB x 4 que dispone de una línea de ̅̅̅̅ a partir de la dirección 4000h de un sistema anfitrión de 16 líneas de direccionamiento. RAM a 1KB x 4 entonces tengo 10 líneas dedicadas para el direccionamiento interno 1KB= 1024 bytes=400h Dirección interna desde 000h hasta 3FFh. IDENTIFICACION A15 A15 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 DIRECCION INICIAL 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Selección de chip Direccionamiento interno DIRECCION FINAL 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 4 3 F F MEMORIA FANTASMA Cuando las líneas de bus de direcciones de se utilizan en su totalidad para activar la selección del chip de memoria, aquellas que quedan sin conexión pueden asumir cualquier valor produciéndose igualmente la selección de la unidad de memoria. Esto significa que el mismo bloque de memoria se representara 2n veces, siendo n la cantidad de líneas no conectadas en el mapa de memoria, produciéndose el afecto denominado memoria fantasma. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 24 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA 1100 0011 1111 1111 = B3FFh Segmento fantasma 1100 0000 0000 0000 = B000h X100 00XX XXXX XXXX 0100 0011 1111 1111 = 43FFh Segmento original 0100 0000 0000 0000 = 4000h Para el mismo caso si se deja de conectar A15 y A14 las que pueden asumir cualquier valor sin afectar la selección del chip. Se producirían 3 segmentos fantasmas más el original. Mientras más líneas de direccionamiento sean desestimadas para la selección del chip, más veces se repetirá el bloque de memoria en el mapa. Cuando sean las líneas más significativas, los segmentos fantasmas se distribuyen por todo el mapa; cuando sean las líneas menos significativas se concentran en sectores próximos. El microprocesador no tiene en cuenta que se trata de los mismos registros, por lo tanto, podría acceder a un registro fantasma para almacenar un nuevo dato, destruyendo el dato anterior almacenado en la dirección original. AMPLIACION DE LA CANTIDAD DE REGISTROS. Tanto la RAM como la ROM se puede ampliar de acuerdo a las posibilidades de manejo de memoria de la CPU. La ampliación de la cantidad de registros de cada tipo de memoria debe configurarse en segmentos adyacentes sin dejar direcciones intermedias vacías. Deben evitarse producir segmentos de memoria fantasma. Los circuitos de memoria a utilizar deben seleccionarse y prioritariamente los de mayor capacidad posible para evitar trazados y conexiones complicadas. AMPLIACION DE LA LONGITUD DE REGISTROS. En este caso se amplía cuando las unidades de memoria tiene longitud de registro menor que la longitud del bus de datos del sistema. Siempre es mejor utilizar unidades de memoria cuya longitud de registro sea coincidente con el ancho del bus de dato del sistema. Las unidades deben configurarse en bloques adyacentes sin dejar intermedios vacios. Se deben utilizar memorias de máxima longitud posible para evitar problemas y conexiones complicadas. A todos los circuitos de memoria asociados y que conforman en mismo registro se los aplica las mismas condiciones de direccionamiento. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 25 5. JERARQUIA DE MEMORIA Se conoce como jerarquía de memoria a la organización piramidal de la memoria en niveles, que tienenlos ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al coste de una memoria de baja velocidad, basándose en el principio de cercanía de referencias. Los puntos básicos relacionados con la memoria pueden resumirse en: Cantidad Velocidad Coste La cuestión de la cantidad es simple, cuanto más memoria haya disponible, más podrá utilizarse. La velocidad óptima para la memoria es la velocidad a la que el procesador puede trabajar, de modo que no haya tiempos de espera entre cálculo y cálculo, utilizados para traer operandos o guardar resultados. En suma, el costo de la memoria no debe ser excesivo, para que sea factible construir un equipo accesible. Como puede esperarse los tres factores compiten entre sí, por lo que hay que encontrar un equilibrio. Las siguientes afirmaciones son válidas: A menor tiempo de acceso mayor coste A mayor capacidad mayor coste A mayor capacidad menor velocidad. Se busca entonces contar con capacidad suficiente de memoria, con una velocidad que sirva para satisfacer la demanda de rendimiento y con un coste que no sea excesivo. Gracias a un principio llamado cercanía de referencias, es factible utilizar una mezcla de los distintos tipos y lograr un rendimiento cercano al de la memoria más rápida. Los niveles que componen la jerarquía de memoria habitualmente son: Nivel 0: Registros Nivel 1: Memoria caché Nivel 2: Memoria principal Nivel 3: Disco duro (con el mecanismo de memoria virtual). http://es.wikipedia.org/wiki/Memoria_de_ordenador http://es.wikipedia.org/wiki/Cercan%C3%ADa_de_referencias http://es.wikipedia.org/wiki/Cercan%C3%ADa_de_referencias http://es.wikipedia.org/wiki/Cercan%C3%ADa_de_referencias http://es.wikipedia.org/wiki/Registro_(hardware) http://es.wikipedia.org/wiki/Memoria_cach%C3%A9 http://es.wikipedia.org/wiki/Memoria_principal http://es.wikipedia.org/wiki/Disco_duro http://es.wikipedia.org/wiki/Memoria_virtual 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 26 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA MEMORIA CACHE Memoria de capacidad limitada, pero muy rápida, son costosas. Esta entre el procesador y la memoria principal son construidas con celdas SRAM. Es un subsistema de memoria intermedia situada entre el µP y la memoria principal. El rendimiento del sistema es notable con una memoria caché. En principio su subsistema caché consta de 3 elementos básicos. 1. Una RAM de datos: Se almacena las instrucciones o datos que se o se supone que van a ser usados más frecuentemente por el µP. 2. Una RAM de etiquetas: Contiene las direcciones de memoria que están almacenada en la caché mas una palabra de estado. Y consultando las direcciones de memoria en estas etiquetas se puede saber si el dato esta o no en la caché. 3. Una lógica de control de la caché: cada acceso a memoria es interpretada por el controlador de la caché, si el dato está disponible el dato se lo envía al µP. sino se lo busca en la memoria principal una vez que el dato de la memoria principal pasa a la cache está listo para usarse por el µP. esta es la principal habilidad de la cache para almacenar datos. Anticiparse las peticiones del µP almacenando en su memoria tanto el dato como el código para de este modo brindarle esta información al µP sin pérdidas de tiempo. CACHE DE CORRESPONDENCIA DIRECTA ¿Dónde puede ubicarse en bloque de datos en la caché? Si cada bloque debe ir solamente en un lugar dentro de la caché, esta se dice que es de correspondencia directa (direct mapped). ….. Sobre las decisiones de reemplazo: en el caso de la correspondencia directa las decisiones se simplifican puesto que cada bloque puede ir solamente en un lugar, así la única tarea que hay que realizar es calcular la ubicación del bloque en la cache (dirección de la estructura del bloque) y colocarlo allí. La caché como la memoria principal está dividida también en bancos o paginas. Almacenar el dato en la caché se toma el valor del desplazamiento de memoria respecto al comienzo de su página respectiva. El desplazamiento así calculado identifica unívocamente el lugar de la caché donde el dato debe ser almacenado. Las celdas de memoria con igual desplazamiento respecto con el comienzo de la pagina en las diferentes paginas de la memoria principal se ubica con el mismo desplazamiento en la memoria caché. Ventajas y desventajas de este tipo de organización. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 27 La ventaja es que las etiquetas son muy simples, si se sobrepasa repetidamente el límite de página este tipo de organización se vendrá abajo rápidamente en cuanto a su eficacia. En entornos Multitarea o Multiusuario es muy común que esto ocurra la memoria caché de correspondencia directa no son aconsejable. La mejora de rendimiento de esta organización es la mejor de todas, pero la más simple. Necesita una única comparación del contenido de la etiqueta correspondiente con el N° de pagina solicitado si coincide hay una presencia. CACHE ASOCIATIVA DE “n” BITS. También conocida como asociativa en “n” grupos. Tiene dividida la memoria en “n” bancos de que trabaja en paralelo. Se puede decir que trabaja con “n” caché de correspondencia directa. Se llama “n” vías porque se accede en “n” grupos en paralelo por “n” vías o caminos a una posición de memoria. Puede ir a cualquier grupo sin embargo cuantas más vías existen más complicadas será la lógica de control de la caché, tendrá que hacer más comparaciones para saber si el dato esta o no. La caché asociativa de “n” vías trabaja con la memoria principal dividida en páginas y cada página son del tamaño de la vía de la caché. El tamaño de cada vía es igual al tamaño de la cache dividida por el N° de vías. Una dirección de la memoria principal con cierto desplazamiento con respecto a su comienzo de página se sitúa en la caché en la caché en la posición correspondiente al mismo desplazamiento en cualquiera de las vías o grupos que esté compuesto. Para saber si una información esta almacenada en la caché se compara tantas etiquetas correspondiente al desplazamiento dado como vías tenga. Para evitar periodos inactivos en los accesos al µP se realiza las comparaciones en todas las vías simultáneamente aunque es más simple que la caché totalmente asociativa. La caché de “n” es compleja sobre todo si el N° de vías es superior a 2. Estas cachés son bastantes robustas frente al límite de páginas. La actualización de la caché se lleva a cabo cuando hay una ausencia. Por regla general la caché tiene datos validos almacenados por lo que la ausencia implica la sustitución de una información por otra nueva traída de la memoria principal. En caso de correspondencia directa las decisiones se simplifican puesto que cada bloque puede ir solamente en un lugar. Lo único que hay que hacer es calcular la ubicación del bloque en la caché y colocarlo allí. En las caché con nivel de asociatividad mayor que uno incluida las totalmente asociativa existen varios posibles bloques a elegir cuando se produce una ausencia. Existen 2 estrategias empleadas para seleccionar el bloque a reemplazar: Aleatoria: mecanismo de hardware para seleccionar uniformemente los bloques candidatos. Puede dar lugar a la sustitución de una posición que acaba de ser actualizada por lo que disminuye la eficacia. Menos Recientemente Usada (LRU): se usa para disminuir la posibilidad de desechar información que se necesitara pronto. Bajo este esquema se registran los accesos a los bloques de manera que el bloque sustituido es aquel que hace más tiempo no se usa, si los bloques recientemente usados se usan probablemente de nuevo, entonces el mejor candidato es aquel que haya sido menos usado recientemente. 2009 ESTRUCTURA Y TECNOLOGIADE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 28 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA ACTUALIZACION DE LA MEMORIA PRINCIPAL La memoria principal también debe ser actualizada como el µP trabaja con el subsistema caché las escrituras se realiza en las variables de la caché. El problema nace debido a que esta no es la memoria principal, el problema sería crítico cuando un maestro del bus accesa a ese dato de la memoria principal y no esta actualizada. El mismo problema se plantea si el sistema es multiprocesador, y otro procesador quiere acceder a ese dato. Como consecuencia es importante mantener una política de actualización de memoria principal para evitar el acceso a datos incorrectos. Existen 3 métodos: Escritura inmediata: En este método todas las escrituras sobre la caché son traspasadas a la memoria principal con el objeto de actualizarla. Por lo que siempre obtiene datos actualizados, el mecanismo es simple pero el rendimiento se reduce mucho en escribir los datos en memoria principal además la utilización del bus es elevado lo cual puede representar un problema en sistemas multiprocesadores. Escritura diferida: la cache incorpora una serie de registros denominados registros intermedios de escritura(duda), para de este modo evitar que el µP trabaje constantemente o espere a que el dato se escriba en memoria principal, la escritura en caché se envían a estos registro librándose inmediatamente al µP. el numero de estos registros depende de cada subsistema de cache pero generalmente se ubica entre 1 y 5 a medida que el sistema de Bus queda ocioso el controlador de caché va actualizando los datos en memoria principal. Las actualizaciones se hacen secuencialmente. El 1er. Dato escrito sobre el µP es el 1ro. Que se envía a la memoria principal con este método el µP no disminuye sus prestaciones debido a que es menos tiempo de escritura en memoria principal siendo menor el tiempo de utilización del bus. Escritura obligada: La escritura del µP se hace en la memoria caché y solo se hace en la memoria principal si solo es necesario puede darse 2 situaciones. La primera se produce cuando un maestro del bus va a leer dato de la memoria principal, en este caso se define el ciclo del bus del otro maestro y se actualiza la memoria principal en la posición que va a ser leído por la caché a continuación se permite que continúe con el acceso del bus determinado. La 2da. Situación que obliga a la caché a actualizar la memoria principal tiene lugar cuando se reemplazara una determinada posición de la caché que ha sido provisionalmente modificada, en este caso 1ro. Se marcara la información en la memoria y luego se sustituye por los nuevos datos para detectar cuando se producen la ultima situación cada etiqueta de la caché tiene unos bits que indica si la posición de la caché a actualizar ha sido modificada o no, de esta forma si un dato de la caché no ha sido modificado no necesita escribir en la memoria principal, este método reduce las escrituras en memoria principal a las estrictamente necesarias. Son aptos para sistemas multiprocesador. PROTOCOLO MESI Cuando hay varias copias de un mismo dato puede estar en la misma caché o memoria principal, o incluso el valor del dato almacenado en la caché puede diferir del dato de la memoria principal. Esto plantea el problema de asegurar que la memoria vea el dato más actualizado. Un método eficiente es el que usa un protocolo de consistencia hardware denominado MESI. Para poder implantarlo los controladores de caché del bus compartido. Deben compartir: 1ro. Todos deben tener el mismo tamaño de línea, observar toda UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 29 activación del bus de memoria, tomar información de estado de todas las líneas, activar adecuadamente para mantener la consistencia. El protocolo MESI asigna 4 estado diferentes a cada línea dependiendo de la actividad de cada línea. El modelo asegura una mínima utilización del bus del sistema. Los 4 estados aseguran si una línea es válida. [M]: Modificado: la caché tiene en exclusiva una línea que ha sido modificada por el µP se escribirá en memoria principal solo si es necesario. [E]: Exclusivo: la caché tiene en Exclusivo una línea que no ha sido modificada (la memoria esta actualizada). [S]: Simultaneo: la línea en cuestión puede estar compartida con otras caché. Escribiendo una línea en este estado genera un ciclo de actualización de la memoria principal. [I]: Invalido: la línea no está disponible. La lectura por parte de posición genera una ausencia, por lo tanto un llamado por parte de la memoria principal. Si un µP escribe se pasa a actualizar la memoria principal. El protocolo MESI presupone la utilización de una caché ce escritura obligada, si se tratara de una escritura inmediata solo tendría 2 estados [S] y [I]. MEMORIA VIRTUAL Es un mecanismo para la transferencia de información que gestiona automáticamente el S.O. entre estos 2 dispositivos, la memoria principal y la memoria secundaria (disco), el programador tiene la sensación de disponer de mucha más memoria de la que físicamente existe. El procesador sin embargo en todo momento puede acceder a la información que tiene en la memoria principal. Son recursos físicos y lógicos lo que configura la memoria virtual de manera que permita trabajar del disco a la memoria principal de este modo se puede disponer de una memoria principal más pequeña conectada a una memoria secundaria en donde recibe toda la información que se necesita. El programador trabaja con la capacidad y direccionamiento del disco dicha dirección se llama virtual por no ser la que puede usar el procesador, su bus de dirección es en función del la memoria que es más pequeña que la del disco. Se necesita un dispositivo para gestionar la memoria virtual llamada (MMU) para traducir las direcciones virtuales del disco en direcciones físicas de la memoria principal (la dirección del disco es mucho más grande que la de la memoria principal). Modo real: todos los datos están en memoria principal. Modo protegido: parte de los datos están en memoria virtual. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 30 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA Cuando se gestiona una dirección virtual de un objeto se la envía a la MMU la cual consulta las tablas que posee para comprobar si dicho objeto está en la memoria principal, en caso afirmativo se procede a su acceso directo por lo cual se obtiene su dirección física que se obtiene de su traducción física y se deposita en el bus de dirección. En caso negativo la MMU comunica al sistema operativo el cual pone en marcha una rutina cuya misión es localizar el objeto en disco y transportar el bloque que lo contiene a la memoria principal debiendo actualizar las tablas de la MMU para poder efectuar el acceso directo. Las tres funciones principales que deben soportar la memoria principal mediante la MMU y el S.O. son: 1. Poseen una lista completa (tabla) para la descripción de todos los objetos residentes en el disco y memoria principal. 2. Cargar en la memoria principal un objeto en tiempo de ejecución. 3. Manejar los espacios libres de la memoria física y cuando no haya determinar que objeto se prevé no usar posteriormente para devolverlo al disco y poder disponer del espacio que ocupaba cuando los objetos que se quitan no han sido modificado durante la permanencia en ella se reemplaza inmediatamente por los nuevos objetos sin tener que actualizarlas en el disco porque ya hay copia del mismo. TIPOS DE MEMORIA VIRTUAL Tanto la memoria virtual como la memoria principal se dividen en bloques, cada vez que se hace una transferencia se mueve un bloque entero. Existen tres modelosde memoria virtual: 1. Memoria Paginada: en este modelo se divide la memoria en bloques de tamaño fijo llamados página y el tamaño de cada página depende del sistema en que se implementa. En un momento determinado la memoria principal tendrá un cierto número de páginas del total que se guarda en el disco. Como las distintas posiciones de una memoria virtual y la correspondiente física están ordenadas de idéntica forma y tiene igual contenido, basta traducir el número de página virtual a físico porque el desplazamiento dentro de la página es el mismo. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 31 Las tablas de página que maneja la MMU para traducir la dirección virtual a física contienen las direcciones virtuales y físicas de las páginas presentes en los dos tipos de memoria, las rutinas de transferencia de bloques a memoria virtual paginada es muy sencilla porque los algoritmos que la controla son sencillas porque manejan bloques de igual tamaño. 2. Memoria Segmentada: explotan la técnica de la modularidad de los programas escritos de forma estructurada. Los modulo son bloques de información semejante que están agrupados, se pueden manejar de manera independiente. Hay segmentos de código, de datos y de pila. (las arquitecturas 386 y 486 implementa la segmentación). Aplicación: Código: instrucción del programa. Datos: almacena datos (variables y constantes). Pila: área de memoria temporal (dirección de rutina). La segmentación organiza el espacio virtual y físico en bloques de tamaño variable. El sistema operativo trata a los segmentos completos entre la memoria principal y memoria secundaria, pudiendo depositar en cualquier lugar, como los tamaños son variables y puede ocupar cualquier posición la rutina de transferencia es más compleja que las de memoria paginada. La MMU maneja una tabla de segmentos. Cada entrada de esta tabla mantiene, información de protección, dirección inicial de segmento (virtual y físico) y limite de segmento (tamaño máximo de segmento). 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 32 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA 3. Memoria de segmento paginado: combina las 2 anteriores. La memoria se descompone en segmentos de un longitud variable, pero los segmentos se divide en páginas de tamaño fijo, para acceder se consulta a la tabla de segmento, tal entrada de la tabla apunta a una tabla de páginas. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 33 6. UNIDAD DE E/S (Entrada y salida) Una unidad de E/S es aquella que permite intercambiar información con los usuarios de la maquina. En realidad, los usuarios a través de los periféricos intercambian información con el mundo exterior y los registros internos del procesador o la memoria. En comparación entre procesador y la memoria los avances en velocidad de la unidad de E/S han sido poco significativos. Esto se debe a la gran variedad y complejidad de los periféricos que se conectan al computador. Para evitar el retraso en la manipulación de la información ocasionada por la unidad de E/S se ha intentado solapar el tiempo que esta funciona con el procesador. La importancia de los periféricos que se conectan a la computadora es prioritaria en cuanto a la configuración y categoría del sistema. Según los periféricos que disponga un computador se distinguen sus aplicaciones, su rendimiento y su coste. Por lo tanto las principales diferencias entre una supercomputadora, una computadora, una minicomputadora, una estación de trabajo y una microcomputadora se basan principalmente en los periféricos que tienen incorporados y en la característica de memoria. En muchos casos, las diferentes maquinas soportan el mismo tipo de procesador. Una unidad de E/S es una memoria especial y contiene la información que envía o recibe los periféricos. Como los periféricos manejan muy lentamente la información es frecuente que la unidad de E/S disponga de una memoria auxiliar donde guarda la información del periférico. Por ejemplo una impresora para realizar la impresión de caracteres sobre papel, tiene que controlar la velocidad de motores, regular el movimiento de rodillos y otros dispositivos, por lo que la impresión de un carácter le lleva mucho más tiempo que procesar cualquier tipo de operación al procesador. La memoria intermedia guarda la información pendiente de imprimir hasta que quede libre la impresora. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 34 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA LOS CONTROLADORES La extensa variedad de periféricos existentes y sus diferentes modos de funcionamiento exigen un dispositivo intermedio que adapte sus características a las de los buses del sistema. Dicho dispositivos reciben el nombre de controladores y evitan al procesador la tarea de controlar los periféricos para efectuar el intercambio de información con el mismo o con la memoria. También son indispensables para adaptar la velocidad de transferencia y los formatos de la información propios de los periféricos con los que maneja la UCP. Los buses del sistema están compartidos por la Memoria Principal y los controladores de E/S. de acuerdo con los requerimientos de E/S que precisa el programa en curso, el procesador se comunica por los buses con los controladores, los cuales para realizar su labor deben soportar las siguientes funciones: 1. Control y sincronización en la transferencia de datos entre el procesador y la Memoria Principal con los periféricos. 2. Establecimiento del camino de comunicación entre los recursos internos y los periféricos. 3. Detección y manipulación de errores. 4. Almacenamiento temporal de datos. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 35 Lógica de Control: se encarga de activar y controlar la función que debe desarrollar el controlador. Registro de Estado: guarda la información relevante sobre la forma en que ha realizado la transferencia de información y los posibles fallos. Registro de Datos: almacena los datos que se maneja entre cada transferencia elemental. Interfaz de Periférico: soporta el intercambio de datos con el transductor de periférico y la generación y detección de señales de control y estado. El trabajo consiste en: 1. Si el microprocesador necesita comunicarse con el periférico, coloca la dirección en el bus de direcciones. 2. El controlador comunica al procesador el estado del dispositivo, es decir libre, ocupado, desocupado, etc. 3. Si el dispositivo está disponible el microprocesador solicita transferencia mediante una orden al controlador. 4. Si el periférico es de entrada (teclado) la tecla que se ingresa se almacena en el registro de dato del controlador y de allí se envía al procesador. 5. Si el dispositivo es de salida (impresora) el carácter a imprimir lo envía por el bus de datos al registro de datos del controlador y de allí a la impresora. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 36 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA MODOS DE DESARROLLAR LAS OPERACIONES DE E/S. Unas de las clasificaciones más utilizadas para las operaciones de E/S tienen en cuenta el grado de participación de la CPU. Cuanta menos implicación tenga la CPU en la operación de E/S mayor grado de solapamiento o simultaneidad se puede conseguir entre el trabajo del procesador y los dispositivos de E/S. E/S controladaspor programa: la CPU controla íntegramente la operación de E/S, impidiendo cualquier tipo de solapamiento en el trabajo de ambos componentes. E/S controladas por interrupciones: parte del proceso de E/S corre a cargo del controlador, pudiendo trabajar en paralelo el procesador durante dicho tiempo. E/S controlada por Acceso Directo a Memoria (DMA): la mayor parte de la operación de E/S la soporta el controlador. Puede existir un alto grado de simultaneidad. (canal especial por ejemplo comunicación directa entre la memoria y el disco sin usar el procesador). Procesador de E/S especializado: todo el peso de la operación de E/S corre a cargo de controlador, que alcanza tal grado de complejidad que actúa como un procesador dedicado. El paralelismo entre el procesador y la operación de E/S es total. El método basado en los procesadores de E/S convierte en un procesador especializado en ejecutar un número reducido de instrucciones de E/S, siendo el mismo el que busca y ejecuta el programa de E/S interrumpiendo al procesador principal cuando termina la operación que se le ha encargado. Estos procesadores de E/S se comunican con los controladores mediante un bus independiente dejando al microprocesador la posibilidad de continuar su actividad normal durante la operación de E/S. E/S CONTROLADAS POR PROGRAMA El microprocesador controla el desarrollo integro de las operaciones de E/S enviando al controlador las órdenes pertinentes derivadas de las instrucciones del programa en ejecución, son las instrucciones del UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 37 programa en curso la que soportan las operaciones de E/S, de su interpretación de dicha instrucciones, el microprocesador envía las órdenes de control, lectura y escritura al controlador. Las instrucciones de E/S que interpreta y ejecuta el procesador se convierten en órdenes para el controlador de periférico. Cada controlador dispone de una serie de registros internos, que se seleccionan con diferentes direcciones. La orden que genera el procesador debe contener la dirección del registro del controlador y la acción de lectura o escritura sobre él. El control de operaciones de E/S por programa tiene el grave inconveniente de derivado de la lentitud de los periféricos. Los mismos disponen de motores, transmisores mecánicos etc. Lo que hace que el tiempo para manipular un dato sea bastante. Para direccionar los elementos de E/S (registros de los controladores) hay dos procedimientos: 1. E/S con mapa de Memoria Común: los Procesadores que utilizan este sistema manejan un único espacio de memoria para los dispositivos de E/S, para los datos y para las instrucciones de los programas. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 38 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA 2. E/S que utilizan un mapa de direcciones Independiente: existen microprocesadores que utilizan un mapa de memoria para guardar instrucciones y datos y otro mapa para guardar E/S, registros de los controladores de los periféricos del sistema. El procesador utiliza el bus de direcciones para acceder a los mapas y el bus de datos para realizar transferencia de información, también dispone de una señal adicional en el bus de control que indica si la señal generada pertenece al mapa de memoria o de E/S. Dicha señal se denomina IO/ ̅, cuando vale 1 se accede al mapa de E/S, si vale 0 se accede al mapa de memoria. Cuando se maneja la E/S independiente de la CPU debe poseer instrucciones especiales que maneja dicho mapa. En este esquema se muestra un sistema computador que dispone de Mapa de E/S independiente. La señal IO/ ̅ discrimina los accesos entre los dos mapas, controlando la activación de la patita de selección de Chip (CS) de los dispositivos de memoria y de los controladores de E/S. E/S CONTROLADA POR INTERRUPCIONES La técnica de atención de las operaciones de E/S mediante interrupciones evita el bucle de espera en el que permanece el procesador explorando el Registro de Estado de controlador para conocer el momento en que queda disponible el periférico. Cuando a un procesador se le provoca una interrupción, detiene la ejecución de las instrucciones en curso, guarda en la pila que es una reservada de la Memoria Principal la dirección en la que se ha interrumpido el programa, y pasa a ejecutar un programa especial que atiende la causa que ha originado la interrupción. Cuando finaliza la rutina de interrupción, se recupera de la pila la dirección donde se abandonó el programa y se reanuda su ejecución. La interrupción puede considerarse como una llamada a una subrutina y se puede solicitar por software o por hardware (activando una patita específica del procesador). Esta última es la que se utiliza para atender las E/S por interrupción. UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS 2009 INGENIERIA INFORMATICA FARFÁN SEBASTIÁN JORGE 39 Para poder atender a muchos controladores de periféricos con una sola línea de petición de interrupción en el procesador, existen unos circuitos integrados, programables, específicos para soportar esta tarea. El Controlador Programable de Interrupciones (PIC), es capaz de atender un máximo de ocho controladores diferentes, manejando la prioridad de los mismos en caso de peticiones simultáneas, y encargándose de la petición al procesador, reconocimiento a la asignación de la interrupción al periférico correspondiente. Cada vez que se asigna una interrupción al controlador de un periférico, el PIC introduce por el bus de datos al procesador los parámetros que le permite encontrar la rutina de interrupción que hay que ejecutar (vector de interrupciones). ACCESO DIRECTO A MEMORIA (DMA) En las dos técnicas anteriores la CPU debía encargarse de realizar la transferencia de información entre la Memoria Principal y el periférico, a través del controlador. La técnica de Acceso Directo a Memoria (DMA) utiliza el controlador para realizar las transferencias de información entre periférico y la Memoria Principal, sin requerir la intervención del procesador. La forma de implementar el DMA es mediante una Memoria Principal Multipuerta que se caracteriza por tener varias puertas de acceso, unas de las cuales se dedica a la CPU y las restantes para los controladores de periféricos. 2009 ESTRUCTURA Y TECNOLOGIA DE COMPUTADORAS UNIVERSIDAD NACIONAL DE JUJUY FACULTAD DE INGENIERIA 40 FARFÁN SEBASTIÁN JORGE INGENIERIA INFORMATICA La memoria Multipuerta está organizada internamente en varios bloques de información, para permitir el acceso en paralelo. Solo se produce conflicto cuando hay que acceder al mismo bloque por parte de varias puertas, en cuyo caso hay que implementar un mecanismo de tratamiento de la prioridad. CONTROLADOR DE DMA (CDMA): Los controladores capaces de realizar transferencias DMA son especiales y deben disponer de una compleja lógica auxiliar, que le permita asumir las funciones que en las técnicas anteriores soportaba el procesador para transferir información entre la Memoria Principal y los periféricos. Este sofisticado controlador (CDMA) tiene que encargarse de controlar los buses de direcciones, datos y control para poder realizar los accesos a la Memoria Principal. Cuando un periférico trabaja con DMA y tiene que realizar una transferencia en la Memoria, comienza la operación solicitando el CDMA al procesador la liberación de los buses. Cuando el procesador se desconecta de los buses dejándolos en triestado, toma su gobierno el CDMA. Por el bus de direcciones va apuntando las direcciones de las Memoria a acceder. Por el bus de datos se transfiere la información y por el bus de control indica
Compartir