MEMORIAS INTRODUCCION Una parte importantísima en la mayoría de los sistemas digitales es la dedicada a contener la información que está tratando dicho sistema. Los datos e instrucciones del programa de un sistema microcomputador son almacenados en la memoria. Cada "celda" de la memoria puede almacenar un bit, estando las memorias constituidas por varios miles de estas celdas. El conjunto de celdas en las que se almacena una palabra se llama "Posición de memoria" Se han desarrollado numerosos sistemas capaces de almacenar o memorizar una información digital. Todos ellos, persiguen como objetivo conseguir: Alta velocidad Bajo precio Gran capacidad de almacenamiento Bajo consumo Cada uno de estos objetivos se conseguirá en mayor o menor medida dependiendo del medio físico empleado, su organización, tecnología, étc. Por ejemplo, desde la década de los años 1950, las memorias de núcleos de ferrita han predominado como memorias principales en los ordenadores. Sin embargo gracias al desarrollo tecnológico de los semiconductores en forma integrada y más concretamente LSI, ha permitido a partir de 1975 se sustituyeran las memorias de ferritas por memorias de tipo semiconductor, por sus ventajas tanto en rapidez como en precio y espacio. Hoy en día las memorias de tipo semiconductor, constituyen el sector más expansivo dentro de la tecnología de los semiconductores. Antes de proceder al estudio de las memorias de tipo semiconductor, expondremos ls características más importantes de las memorias y una clasificación general, que dará a su vez paso a una segunda clasificación de las de tipo semiconductor en forma integrada. CARACTERISTICAS MAS IMPORTANTES DE LAS MEMORIAS Al estudiar los flip-flops o biestables ya se definieron los términos de lectura y escritura por tratarse de elementos de memoria. Las características más importantes de las memorias son: Tiempo de escritura Es el tiempo que transcurre entre el momento en que se presenta la información a almacenar en la memoria y el momento en que la información queda realmente registrada. Tiempo de lectura Es el que transcurre entre la aplicación de la orden de lectura, y el momento en que la información está disponible en la salida. Tiempo de acceso Es a menudo, la media de los dos tiempos de lectura y escritura definidos anteriormente. Es la medida del tiempo transcurrido desde que se solicita un dato a la unidad de memoria hasta que esta lo entrega. Tiempo de ciclo Después de una operación de lectura o escritura, es posible que la memoria necesite un tiempo de reinscripción (memorias de núcleos de ferrita, por ejemplo), o de recuperación. El tiempo de ciclo es entonces la suma de este tiempo y del tiempo de acceso. También denominado ciclo de memoria, es el tiempo transcurrido desde que se solicita un dato a la memoria hasta que ésta se halla en disposición de efectuar una nueva operación de lectura o escritura. Acceso aleatorio Una memoria es de acceso aleatorio cuando el tiempo de acceso a cualquier posición de memoria es siempre el mismo. Cadencia de transferencia Es la velocidad a la cual la memoria acepta informaciones de lectura o escritura (Bits por segundo) Capacidad Es el número de palabras o de bits que la memoria puede almacenar. Se denomina también volumen. Densidad de información Es el número de informaciones por unidad de volumen físico. Volatilidad Es el defecto de una memoria que pierde la información almacenada, si se produce un corte de alimentación MEMORIAS. CLASIFICACION GENERAL Las memorias pueden clasificarse atendiendo a diversos parámetros: Por el modo de acceso: Acceso Aleatorio (RAM) Acceso Secuencial Asociativas Por el modo de almacenamiento: Volátiles No volátiles Por el tipo de soporte Semiconductoras Magnéticas De papel Por su función o jerarquía Tampón o borrador: (LIFO,FIFO) Central o Principal De masas POR LA FORMA DE ACCESO Memorias de Acceso Aleatorio. Denominadas usualmente RAM (Ramdon Access Memory), son memorias en las que cualquier información puede leerse o escribirse con el mismo tiempo de acceso, cualquiera que sea la célula de memoria elegida. Memoria de acceso secuencial o serie.- Para la lectura o escritura de una determinada célula, espreciso leer todas las células que le preceden físicamente Memoria asociativa.- Es una memoria direccionable por su contenido, no por una dirección. POR EL MODO DE ALMACENAMIENTO Memoria volátil.- Es aquel tipo de memoria que pierde la información en ella almacenada, al cortar la alimentación. Memoria no volátil.- Retienen la información en modo permanente aún después de eliminar o cortar la alimentación POR EL TIPO DE SOPORTE Memorias semiconductoras.- Son aquellas que utilizan dispositivos semiconductores para registrar la información Memorias magnéticas.- El registro de la información se realiza por magnetización de un soporte de este tipo. Memorias de papel.- No son propiamente memorias. Sin embargo, el papel (cinta perforada o tarjeta) permite almacenar una información en forma de marca o perforaciones. POR SU FUNCION O JERARQUIA Memorias tampón.- Son generalmente de tipo semiconductor y se caracterizan porque la información en ellas se almacena durante un corto periodo de tiempo. Puede decirse que son memorias borrador, de paso o adaptadoras. Son memorias de baja capacidad y acceso rápido, puesto que normalmente se refieren a los registros generales incluidos dentro del propio sistema microcomputador. Su función será, pues, actuar como memorias de trabajo auxiliares en las transferencias de información entre el sistema y las unidades exteriores. Las memorias LIFO y FIFO son memorias especiales del tipo tampón cuyo nombre proviene de la forma de almacenar y extraer la información de su interior. FIFO (First in-firts out), primero en entrar - primero en salir, es decir, es lo que se llama una fila de espera LIFO (Last in-first out), la última información introducida en la memoria es la primera en extraerse, es lo que se llama una pila o apilamiento. Memoria Central.- Es la que está incorporada en la Unidad Central de Proceso de un ordenador. Su misión consiste en almacenar los programas y los datos implicados en la ejecución de las sucesivas instrucciones. Hasta hace algunos años, las memorias centrales estaban formadas a partir de núcleos de ferrita o por hilos plateados. Actualmente, este tipo de memorias ha sido desplazado definitivamente por las memorias integradas a semiconductores. Y la memoria central del sistema está formada por la asociación de un número de chips de memoria RAM y ROM a semiconductores, mayor o menor, según la capacidad de almacenamiento requerida por el sistema. Clasificación: o Según el modo de lectura 1. Lectura destructiva: al leer el contenido de una posición de memoria, la información almacenada desaparece. Este tipo de memoria precisa de una regeneración del contenido, después de efectuada una operación de lectura. 2. Lectura no destructiva: donde la operación de lectura no provoca la pérdida de la información almacenada. Hay que hacer constar que la casi totalidad de las memorias centrales modernas pertenecen a este grupo. o Según el modo de retener la información 1. Volátiles: para que el contenido permanezca memorizado, es necesario una fuente de alimentación. Al desconectarla, se pierde la información almacenada. Las memorias RAM pertenecen a esta categoría. 2. No volátiles: la información persiste aún desconectando la fuente de alimentación de la unidad de memoria, esto es, el contenido es memorizado sin consumo energético. Las memorias centrales ROM son ejemplo de lo dicho. Memoria de masas.- Es la memoria auxiliar de tipo externo de un ordenador. Son memorias de acceso aleatorio o directo y de elevada capacidad. No son estrictamente imprescindibles dentro del sistema microcomputador, como ocurre en las centrales. Se emplean como bloques de almacenamiento auxiliar, con una velocidad de transferencia de información elevada. Habitualmente este tipo de memorias contiene el archivo de información que manipula el sistema dentro del conjunto de aplicaciones al que se halla orientado. Para que el mricroprocesador pueda procesar la información almacenada en una memoria de tipo de masas, ésta debe pasar primeramente al interior de la memoria central del sistema. En virtud del tipo de transferencia empleado, por bloques, la característica básica de las memorias de masa es el caudal de transferencia o número de palabras de información que puede transferirse por unidad de tiempo. El caudal se expresa en Kbytes o Mbytes por segundo. Las memorias de masa que alcanzan mayor difusión en el campo de los microordenadores son los discos magnéticos, más concretamente los discos magnéticos flexibles o "Floppy disk". Memorias de fichero Al igual que las anteriores, este tipo de memorias son auxiliares de la meoria central de microcomputador. La diferencia radica en que las memorias de fichero están caracterizadas por una velocidad de transferencia sustancialmente inferior a las de masa. El acceso a la información almacenada se efectúa de forma secuencial. Por lo tanto, el tiempo de acceso a determinada información depende de su emplazamiento sobre el soporte físico. En definitiva, el acceso a las memorias de fichero no es aleatorio, de ahi que su velocidad de transferencia sea variable y en general reducida. Como contrapartida a su baja velocidad de trabajo, las memorias de fichero suelen ser relativamente económicas (Cintas magnéticas o cassettes) Por último, cabe precisar que dada su característica de acceso no aleatorio, la velocidad de una memoria de fichero se define a partir del "Tiempo medio de acceso" respecto a las posiciones extremas de almacenamiento. MEMORIAS SEMICONDUCTORAS. CLASIFICACION Existen una gran variedad de memorias de tipo semiconductor, tanto en tecnología bipolar como MOS Las clasificaremos atendiendo al modo de acceso como característica principal, subdividiéndolas en la forma de almacenamiento y por último en la tecnología empleada. MEMORIAS SEMICONDUCTORAS DE ACCESO ALEATORIO (RAM) Usualmente se reserva el término RAM para aquellas memorias que permiten leer y escribir en ellas. Para aquellas que siendo del siendo del tipo RAM (Acceso aleatorio), solo permiten la lectura se reserva el término ROM o RPROM étc. En consecuencia, una "memoria RAM semiconductora", es una memoria de acceso aleatorio y que permite leer o escribir indistintamente, una información sobre ella. 32-Word x 8-Bit Static RAM ESQUEMA DE UNA MEMORIA RAM Las entradas de control C y R/W permiten inhibir la memoria y leer o escribir (Read-Write) respectivamente. Fig. 1 Su funcionamiento es el siguiente: • • • Situar en los terminales de DIRECCION la combinación adecuada a la célula de memoria a operar. En el caso de lectura, poner el terminal R/W a "0", y por último permitir el funcionamiento de la memoria, es decir, validar el proceso con C="1". En la salida de datos obtendremos la información almacenada en la dirección de memoria correspondiente. En el caso de escritura, además de la dirección adecuada es preciso situar en los terminales de "entrada de datos", el dato a almacenar o escribir. Ahora el terminal R/W deberá ponerse a "1". Por último, validar la operación con C="1", la información a la entrada de datos quedará registrada en la dirección de memoria indicada. Veamos un diagrama de los tiempos de las señales que intervienen en la operación Ciclo de lectura Ciclo de escritura CS AUTORIZACION DE FUNCIONAMIENTO Una vez expuesto el principio de una memoria RAM en general, vamos a ver cómo están realizadas las de tipo semiconductor. Se pueden clasificar en dos grupos: Las RAM estáticas están basadas en estructuras biestable con un tipo de transistor u otro. Las RAM dinámicas están formadas por células dinámicas, (registros de desplazamiento dinámicos), las cuales están basadas en el aprovechamiento de las capacidades estructurales de los transistores MOS, para almacenar una carga determinada. Como sabemos, cada célula de memoria es capaz de almacenar 1 bit. Sin embargo, la forma de trabajo habitual de los sistemas digitales, obliga a almacenar grandes cantidades de información, bien en forma de bits aislados, o bien en forma de palabras. Ello da lugar a dos tipos diferentes de organización de las memorias RAM En la organización por palabras, al direccionar una posición de memoria, se tiene a la salida una palabra que puede estar constituida por 6, 8, 12, 16, 32, 64 ó incluso más bits. Sin embargo, al direccionar una posición de memoria organizada en bits, sólo se obtiene un bit de salida. Para poder introducir datos en la memoria, y para poder sacarlos de ella, cada posición de memoria viene dada por su correspondiente "dirección". La dirección es, pues, una palabra binaria que define la posición. Es importante distinguir entre lo que es una dirección de una posición de memoria, y el dato que puede ser almacenado en esa dirección. En general a nivel de pastillas de memoria en C.I. los fabricantes, ponen a disposición del usuario organizaciones de un bit (por ejemplo: 256 X 1 bits, 4096 x 1 bits, étc.) que asociadas en paralelo permiten obtener palabras de la longitud requerida. Memoria RAM estática.Las memorias estáticas tiene células de memoria en forma de flip-flops o biestables. Por tanto, como los flip-flops pueden ser unos más rápidos que otros, así ocurrirá con las memorias. Si se desea una memoria rápida puede elegirse una RAM a base de flip-flops en TTL Schottky o ECL. Si se desea una memoria barata aunque lenta, puede realizarse a partir de flip-flops con MOS. Si el consumo ha de ser extremadamente bajo, deberá elegirse una RAM CMOS. RAM estática bipolar Una célula de memoria en una memoria bipolar está constituida por un flip-flop sencillo a base de transistores bipolares. RAM ORGANIZADA EN PALABRAS (Ver Fig. 1) A0 A1 ENTRADAS/SALIDAS RAM ORGANIZADA EN BITS L i n e a s d e P a l a b r a Estos biestables constan de dos transistores multiemisores en acoplamiento cruzado LINEA DE SELECCION DE PALABRA En condiciones normales, un transistor se encontrará siempre saturado y el otro en estado de bloqueo. ? Para leer el estado del biestable, se eleva la tensión de la línea de palabra y el transistor saturado dejará pasar corriente a través de la línea de bit, lo que a su vez es detectado para determinar el estado del biestable.. ? Para escribir datos, la tensión de la línea de palabra se eleva nuevamente y la tensión de una de las líneas de bit se baja, provocando que el transistor asociado a esta línea de bit se sature. En la matriz de memoria, todas las celdas de una columna comparten la misma línea de bit, y todas las celdas en una fila tienen la misma línea de palabra. En cuanto al biestable de una memoria MOS estática, su celda corresponde a la estructura siguiente, formada utilizando transistores unipolares MOS de acumulación. LINEA DE SELECCION DE PALABRA Los transistores T1 y T2 trabajan en conmutación y son los encargados de almacenar el bit de información. Por su parte T3 y T4 actúan como puerta de intercambio con el exterior. Cada uno de ellos canaliza una información binaria (0 ó 1) desde la línea de bit correspondiente hasta el transistor de almacenamiento Cuando T3 y T4 se hallen en reposo, el biestable permanece aislado del exterior, preservando la información memorizada. La escritura de un bit "0" ó "1" se produce al excitar, a través de T3 o T4 , al par T1-T2; uno de los dos transistores pasará a saturación, mientras que el otro evolucionará hacia el estado de bloqueo (OFF) Dependiendo de la transición de estados del par T1-T2 , el punto de memoria almacenará un estado lógico u otro. Para leer la información almacenada, se introduce un impulso de tensión a través de la línea de selección, lo que provocará una corriente a través de la rama T1-T3 o T2-T4, según sea "0" o "1" el bit almacenado. En definitiva, la lectura se efectúa detectando la presencia de corriente en una u otra línea de bit. Para terminar, diremos que el mayor inconveniente de las RAM estáticas lo constituyen su elevado consumo energético, comparativamente con las dinámicas. Ello se debe, como hemos visto, a que las resistencias R1 y R2 consumen permanentemente, al mantener el estado lógico en el que se halla posicionado el biestable. El hecho de que cada celda de memoria incorpore un notable número de componentes, también limita las posibilidades de integración de este tipo de memorias. Algunos ejemplos comerciales de RAM estáticas Nos referiremos a continuación a modelos reales de memoria de lectura/escritura. Para cada uno de estos integrados se dan sus características básicas más importantes, asi como su esquema de bloques y relación de patillas. La primera característica de cada una de ellas es su organización de almacenamiento o número de palabras de "n" bits que memoriza, extremo importante puesto que especificando su capacidad podemos deducir el número de líneas de direcciones y datos que acceden a la memoria en cuestión. Por ejemplo, una memoria de 128 palabras de 8 bits cada una (128x8), estará dotada de 7 entradas de direccionamiento y poseerá 8 líneas de datos. Esto es lógico ya que para seleccionar los 128 bytes son necesarias 128 configuraciones de direccionamiento, ( 128=27 ), lo que significa que existirán 7 líneas de direcciones. Al mismo tiempo, puesto que cada palabra es de 8 bits, se requerirán 8 líneas para canalizar la entrada y salida de datos. Así pues, observaremos los siguientes tipos de líneas: A0-An: entradas de direcionamiento. D0-Dn: entrada/salida de datos R/W : contro lectura/escritura. CS0-CSn: selección de chip Las entradas CS pueden ser una o varias y a su vez pueden activarse por niveles "0" ó "1" lógicos. En el caso de existir varias CS, éstas suelen estar cableadas internamente en forma de puerta "Y". En consecuencia, la selección de chip se conseguirá cuando todas las entradas reciban simultáneamente sus posicionamientos activos. RAM estática 6810 Está organizada en 128 palabras de 8 bits y se emplea mucho en los sistemas basados en el microprocesador 6800 de Motorola, debido a la facilidad de adaptación. Dispone de 6 entradas CS: dos con activación alta y cuatro con nivel bajo. Sus características más sobresalientes son: Organización 128 X 8 bits Tecnología NMOS Alimentación 5 V Disipación típica 130 mW E/S datos Bidireccional y tri-estado Encapsulado DIL 24 patillas GND Vcc D0 A0 D1 A1 D2 A2 D3 A3 D4 A4 D5 A5 D6 A6 D7 R/W CS0 CS5 CS1 CS4 CS2 CS3 ? RAM estática 2114 Tiene una estructura de 1024 palabras de 4 bits Cada uno de los cuatro bits dato es bidirecional, con lógica tri-estado para permitir su desconexión virtual del bus de datos. Las líneas de control son dos: CS y WE Esta segunda línea es equivalente a R/W; si WE = 0 la operación efectuada será de escritura; y si WE = 1 será de lectura. Sus características más sobresalientes son: Organización 1024 X 4 bits Tecnología NMOS Alimentación 5 V Disipación típica 300 mW E/S datos Bidireccional y tri-estado Encapsulado DIL 18 patillas Vemos que para direccionar 1024 posiciones necesitamos 10 patillas puesto que 210=1.024 Para los datos, como son palabras de 4 bits necesitaremos 4 patillas Para indicar Lectura o Escritura (R/W) necesitamos 1 patilla Para selecccionar el integrado CS (Chip Select) 1 patilla Para alimentación 2 patillas El número de patillas del integrado es pues de 18. A6 A5 A4 A3 A0 A1 A2 CS Vcc A7 A8 A9 I/O1 I/O2 I/O3 I/O4 GND WE