Tema 4: Memoria interna. Tipos. Direccionamiento. Características y funciones 1. Introducción _____________________________________________________________ 1 2. Memoria Interna __________________________________________________________ 2 2.1 Definición ____________________________________________________________ 2 2.2 Fundamentos __________________________________________________________ 2 2.3 Evolución histórica _____________________________________________________ 2 3. Características y funciones __________________________________________________ 3 4. Tipos de memoria _________________________________________________________ 4 4.1. Tipos________________________________________________________________ 4 4.2. Encapsulamiento ______________________________________________________ 5 5. Direccionamiento _________________________________________________________ 6 6. Bibliografía ______________________________________________________________ 8 1. Introducción La memoria es un dispositivo capaz de: 8 almacenar o retener una información (datos e instrucciones) 8 suministrarla ante cualquier solicitud y en cualquier momento Las operaciones básicas que puede realizar son: 8 lectura, por la cual el dispositivo de memoria suministra una información previamente almacenada. Necesita saber la dirección 8 escritura, por la cual el dispositivo de memoria alacena la información en un lugar disponible. Necesita saber la dirección En un ordenador convencional podemos estructurar la memoria en varios niveles, al conjunto de los cuales denominaremos jerarquía de memoria de un ordenador. Esta tiene la siguiente característica, el nivel superior estará constituido por memorias muy rápidas por tanto de pequeña capacidad y coste alto y conforme bajamos de nivel las memorias serán más lentas, con mayor capacidad y de menor coste En cuanto a su funcionamiento, de forma general decimos que la información se ubicará dentro de la jerarquía según la probabilidad de uso, la información más utilizada estará más arriba en la jerarquía. Como el interés de la información va variando según las necesidades de los usuarios se producirá un flujo continuo de información ascendente y descendente en la jerarquía Niveles 1. Registros de la CPU 2. Caché 3. Principal 4. Secundaria por disco 5. Auxiliar + - Velocidad Coste Frecuencia de acceso Capacidad - + 2. Memoria Interna 2.1 Definición En función de la jerarquía de memoria podemos definir a la memoria interna a la formada por los niveles 1-3 (registros de CPU, caché y principal) y definimos memoria externa a la formada por los niveles 4-5 (secundaria por disco y auxiliar) Registros: el nivel 1, es el más rápido y el de menor capacidad Caché: el nivel 2 más lentas y de mayor capacidad que los registros. Se define como una memoria de apoyo que se emplea para acelerar los accesos de la CPU a la memoria principal. Su funcionamiento es transparente al usuario. Podemos distinguir dos subniveles dependiendo de las arquitecturas denominados L1 y L2, ordenados de mayor a menor cercanía de la CPU y velocidad y de menor a mayor tamaño (una L1 típica tiene de 32-64Kb y funciona a la misma velocidad del procesador donde se aloja, mientras que la L2 suele funcionar a velocidades inferiores al procesador fuera del que se suele colocar, suele tener 256-1024Kb). Recientemente se habla del subnivel L3 Principal o Central: es la memoria donde residen los programas para ser ejecutados por la CPU y los datos que están en uso. Es más lenta y de mayor capacidad que la caché y suele estar compuesta de chips de RAM dinámica 2.2 Fundamentos Para que un dispositivo pueda ser usado como elemento de memoria, debe contar con los siguientes elementos: Medio o soporte, elemento físico que actúa como contenedor de la memoria, debe cumplir tres condiciones: 9 Debe presentar al menos, dos estados estables, que se puedan medir 9 Se de poder pasar de un estado a otro mediante la aplicación de una energía externa 9 Se debe poder detectar el estado existente en cualquier momento Transductores son los dispositivos capaces de generar la energía necesaria para la grabación, así como para la detección del estado en la lectura. 9 memorias estáticas, los transductores están unidos físicamente al medio 9 memorias dinámicas, los transductores no están unidos al medio (transductor o el punto de memoria o ambos se desplazan) Mecanismos de direccionamiento permiten leer y escribir la información en el lugar y tiempo deseado 9 En memorias estáticas, el mecanismo de direccionamiento está implícito en su propia construcción (memorias con direccionamiento cableado) 9 En memorias dinámicas, no existe relación entre el punto de memoria y transductor, realizándose la selección a través de la CPU, que debe interpretar la información de direccionamiento que se almacena junto con los datos 2.3 Evolución histórica Para obtener una perspectiva histórica, haremos referencia a la tecnología empleada en los primeros dispositivos: Dispositivos iniciales 8 Memorias de ferritas, en desuso, usan núcleos de ferrita en forma toroidal que son capaces de almacenar información según el flujo magnético que las atraviese 8 Memorias de película magnética, uso en memorias secundarias, reconocen una dirección preferente de magnetización 8 Memorias de líneas de retardo, Dispositivos actuales 8 Memorias de semiconductores, las más utilizadas hoy en día, se usa para la memoria principal, son componentes electrónicos de material semiconductor que son capaces de diferenciar dos estados según la presencia o ausencia de corriente. Los elementos constitutivos pueden ser condensadores o transistores 8 Memorias ópticas, en memorias secundarias, sobre un material sensible al calor se graban muescas con un rayo láser, para la lectura se hace incidir el láser pero a menor potencia y midiendo el ángulo de reflexión reconoce las muescas o ausencia de estas 8 Memorias magnético-ópticas, en memorias secundarias, se leen mediante un láser y se escribe magnéticamente o usando una combinación de ambos 8 Memorias de burbujas, 3. Características y funciones 8 Duración de la información, está característica viene impuesta por el medio o soporte en el que se implemente. Es el tiempo que la información permanece en el medio sin degradarse desde que se grabó. Distinguimos: Volatilidad 9 No volátil, la información de los puntos de memoria se mantiene de forma permanente, es característico de los medios magnéticos 9 Volátil, si la información registrada en los puntos de memoria desaparece si lo hace el suministro de energía, característico de los medios semiconductores Con refresco, aquellas que aunque los puntos de memoria estén alimentados, su información se va degradando paulatinamente. Deben refrescarse periódicamente, son característicos de los medios condensadores De lectura destructiva, es cuando la lectura implica el borrado de la información, característico de los núcleos de ferrita 8 Modo de acceso, es la forma en la que se puede disponer de una determinada información contenida en la memoria. Distinguimos: Acceso aleatorio, también denominado por palabra, directo o selectivo. Se caracteriza porque cualquier información esta disponible de forma individualizada conociendo su dirección y el tiempo para su localización es fijo Acceso secuencial, también denominado por bloques. Se caracteriza por que las memorias que los utilizan poseen transductores independientes de los puntos de memoria por lo que la información ha de moverse hacia ellos. El tiempo de localización es variable, dependiendo de donde se encuentre la información. La información se almacena en bloques 8 Velocidad, viene definido por el tiempo en que la memoria tarda en realizar una operación de lectura o escritura. Definimos: Tiempo de acceso (ta), 8 8 8 8 9 ta en lectura (tal): tiempo que tarda la memoria desde que se suministra una dirección hasta que la información esta disponible en los transductores 9 ta en escritura(tae): tiempo que tarda la memoria en grabar una información desde que se suministra la dirección, la información y la señal de escritura Tiempo de ciclo de memoria (tc), intervalo de tiempo que hay entre dos operaciones consecutivas Velocidad de transferencia o frecuencia de acceso (fa), número de palabras por segundo que pueden ser accedidas Capacidad o tamaño, cantidad de información que puede almacenar. La capacidad de la memoria se suele expresar en bits, o byte (palabra) Número de puertas, Monopuerta, Multipuerta, Unidad de transferencia, número de bits que se pueden transferir de una vez a o desde la memoria. Será igual al número de líneas de datos de E/S al modulo de memoria Alterabilidad, posibilidad de alterar el contenido de la memoria ROM (Read Only Memory) RWM (Read Write Memory) 4. Tipos de memoria 4.1. Tipos De lectura y escritura ) SRAM (Memoria de acceso aleatorio estática), se implementan con biestables, mantienen los datos mientras se les suministra corriente. Sus principales características son: 9 permiten operaciones de lectura y escritura 9 direccionamiento aleatorio 9 volátiles pero no necesitan refresco 9 más caras y de mayor tamaño que las DRAM Actualmente presentan tres configuraciones: 9 Asynchronous Static RAM 9 Synchronous Burst Static RAM 9 Pipelined Bursa Static RAM ) DRAM (Memoria de acceso aleatorio dinámica), usa tecnología MOS y CMOS haciendo uso de condensadores, necesitan refresco para que conserven la información. Sus principales características son: 9 permiten operaciones de lectura y escritura 9 direccionamiento aleatorio 9 volátiles y requieren refresco 9 más económicas y de menor tamaño que las SRAM Presentan una velocidad de evolución vertiginosa en el mercado, dando lugar a muchas configuraciones: 9 FPM (Fast Page Mode, Modo de búsqueda rápida), obsoleta, acelera la búsqueda de los datos en memoria, elimina la búsqueda del RAS en lecturas múltiples de la misma fila de datos 9 EDO (Extended Data Output, Salida de datos extendida), un acceso a memoria se puede solapar con el anterior, mejora entre 5-20% con respecto a la DRAM 9 SDRAM (DRAM Sincronizada), se producen cambios en el diseño con respecto a FPM o EDO, trabajan a la misma velocidad que el bus del procesador, ya que utilizan una entrada de reloj para sincronizarse con el bus de datos 9 VRAM (RAM Video), diseñadas para construir memorias de refresco de terminales gráficos. Pueden ser accedidas simultáneamente por el monitor y el hardware de la placa gráfica (RAMDAC). 9 SGRAM (sycronous graphics RAM, RAM síncrona para gráficos), basada en SDRAM, acelera algunas funciones, no dispone de doble puerta De solo lectura ) Puras (ROM), solo permiten la operación de lectura, la información que poseen se graba en el proceso de fabricación. Su uso principal es el de almacenar el programa de arranque de los ordenadores. Sus características principales son: 9 sólo permiten lectura 9 de acceso aleatorio 9 permanentes ) Programables (PROM), iguales características que las ROM, pero pueden grabarse sólo una vez por el usuario ) Borrables y programables (EPROM), iguales características que las anteriores pero se puede borrar en su totalidad más de una vez, mediante radiación ultravioleta ) Borrables y programables eléctricamente (EEPROM), iguales características que las anteriores pero se puede modificar sin modificar el contenido anterior, mediante elevadas corrientes eléctricas ) FLASH, permiten ser borradas y programadas por bloques 4.2. Encapsulamiento La forma en que los fabricantes han ido encapsulando la memoria ha cambiado con los años. Las CPUs acceden cada vez a conjuntos mayores de datos y a mayor velocidad por lo tanto se mejora en el diseño de las memorias y en la instalación de los módulos OJO: Hay que distinguir entre el tipo de encapsulado y el tipo de memoria DIPP (dual inline package, encapsulado de doble línea) 9 La memoria se instalaba de circuito en circuito 9 1 byte 8 DIPP + 1 control de paridad = banco 9 Limitación a un único circuito de DRAM, popularización de las tarjetas de expansión SIPP (single inline pin package, encapsulado con contactos en una sola línea) 9 Primer intento de encapsular varios circuitos DRAM en un solo módulo 9 Instalación difícil, era muy fácil romper o doblar un contacto 9 Vida corta SIMM (single inline memory module, módulo de memoria en una sola línea) 9 Eran como tarjetas de expansión 9 Dos variedades los de 30 y 72 pines 9 Incorporaron varios tipos de RAM: FPM (Fast page mode , modo de búqueda rápida) EDO (extended data out, salida de datos extendida ECC (error correction code, código de corrección de error) 9 Físicamente contienen una muesca en el borde inferior del módulo DIMM (dual inline memory module, módulo de memoria en doble línea) 9 Con el Pentium los SIMM se estaban convirtiendo en cuello de botella 9 Se montan en zócalos de forma distinta que los SIMM 9 En la base tienen dos muescas, en los laterales disponen de dos ranuras 9 168 pines SO-DIMM (small outline dual in line memory module, módulo de memoria de doble línea y de perfil pequeño) 9 DIMM diseñados principalmente para agendas electrónicas 9 Más pequeños y consumen menos energía 9 Zócalos diseñados para soportar movimientos y golpes 9 Dos veces y media más caros que los SIMM DDR (doble data rate) 9 Más utilizado en la actualidad 9 Es un tipo es pecial de memoria SDRAM RIMM (rambus inline memory module, módulo de memoria en una única línea RAMBUS) 9 Sólo admite memoria Rambus 9 Tiene su propio bus con el chipset 9 184 pines, con dos muecas situadas hacia el centro 9 Todos los módulos RIMM deberán estar ocupados 9 Módulo de continuidad permite que se utilice solo un módulo (coste) 5. Direccionamiento El mecanismo de direccionamiento tiene la función de seleccionar el punto de memoria deseado con el que operar. Se llama mapa de memoria a todo el espacio direccionable por el mecanismo de direccionamiento. Definimos: Objeto, como una instrucción, operando o resultado que se desea direccional. Puede residir en la propia instrucción, en un registro o en la memoria principal Objeto alineado, un objeto de tamaño N bytes está alineado en el byte de dirección A, si se cumple que A mod N = 0 Objeto no alineado, requiere más de un acceso a memoria Tipos de direccionamiento: D. Implícito, direccionamiento donde el propio código de la operación indica la dirección del operando. Ej: operaciones con el acumulador D. Inmediato, el objeto diseccionado es una constante contenida en la propia instrucción Ej: ADD R2, 3 representa: R2 Å R2 + 3 D. Directo, dos tipos: ) D. Directo a registro, el objeto se encuentra almacenado en uno de los registros programables Ej: ADD R2, R3 representa: R2 Å R2 + R3 ) D. Directo a memoria, el objeto está contenido en una posición de memoria principal Ej: ADD R2, (1002) representa: R1 Å R1 + M[1002] D. Indirecto, dos tipos: ) D. Indirecto a través de registro, en lugar de que el campo de direccionamiento especifique la dirección (registro) donde está el operando, especifica la dirección de un registro intermedio que contiene la dirección de memoria del operando deseado Ej: ADD R2, (R3) representa: R2 Å R2 + M[R3] ) D. Indirecto a través de memoria, en lugar de especificar un registro intermedio, la dirección efectiva está contenida en una posición de memoria intermedia Ej: ADD R1, @(1002) D. Relativo, seis clasificaciones: ) D. Relativo a registro base, un operando se especifica utilizando un registro base (B) y un desplazamiento constante (D). La dirección efectiva se calcula como la base más el desplazamiento, EA = B + D Ej: ADD R2, (R1)24 representa: R2 Å R2 + M[R1 + 24] ) D. Relativo a registro índice, un operando se especifica utilizando una dirección de memoria (L) y un registro índice (RI). La dirección efectiva se calcula como EA = L + RI Ej: ADD R2, 100(R1) representa: R2 Å R2 + M[100 + R1] ) D. Relativo indexado respecto a base, es una combinación del direccionamiento relativo respecto registro base y respecto a registro índice Ej: ADD R2, 100(R3)(R4) representa: R2 Å R2 + M[100 + R3 +R4] ) D Relativo indexado con autoincremento/autodecremento, Preautoincremento Preautodecremento Postautoincremento Postautodecremento RI Å RI + incremento EA = RI + L RI Å RI – incremento EA = RI + L EA = RI + L RI Å RI + incremento EA = RI + L RI Å RI – incremento ) D Relativo al contador del programa, se usa el contador de programa (PC) como puntero base. Es un direccionamiento adecuado para alcanzar instrucciones próximas a la que se esta ejecutando ) D Relativo a la pila, se usa el registro SP, que es el contiene la dirección de la cabecera de la pila. La pila puede crecer según sean las direcciones de memoria: Si las direcciones de memoria son crecientes: 9 Insertar elemento, preautoincremento 9 Extraer elemento, postautodecremento Si las direcciones de memoria son decrecientes: 9 Insertar elemento, preautodecremento 9 Extraer elemento, postautodecremento 6. Bibliografía M. Tischer. “PC interno”. Marcombo, 1993 M. Tischer, B. Jennrich. “PC Interno 5”. Marcombo, 1996 W. Stalling. “Organización y arquitectura de computadores” Zacker y Rourke: “Manual de referencia PC Hardware”. Ed. Mc Graw Hill