Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Memorias 3
Memorias 3
MEMORIAS
3.1.
Concepto de memoria
La memoria es el componente del ordenador que almacena la informacin que ste posee,
es decir, sus datos y programas. Es como un bloc de notas que mantiene la informacin mientras estamos trabajando con ella.
La memoria del ordenador est organizada en unidades de bytes, cada uno compuesto por
8 bits. No importa que tipo de informacin estemos almacenando; estar codificada en una
estructura particular de bits, que ser interpretada de la forma adecuada al tipo de datos en
cuestin. Los mismos bytes de memoria se emplean para almacenar cdigos de instrucciones,
datos numricos, datos alfabticos, sonidos, vdeo, etc.
Para ser capaces de trabajar con la memoria, cada unidad de bytes tiene una direccin, un
nmero que slo identifica a esa unidad. Las direcciones de memoria estn numeradas una a
una, empezando por cero.
Las operaciones bsicas que permite una memoria son dos: escritura o almacenamiento y
lectura.
En la escritura, o almacenamiento, la memoria necesita que le suministren una informacin y una direccin. La operacin consiste en grabar la informacin en la direccin especificada.
En la lectura, la memoria debe recibir una direccin. La operacin consiste en recuperar
informacin previamente escrita en esa direccin.
36
TEMA 3 Memorias
Por tanto, podemos ver las memorias como cajas negras, a las que hay que suministrar una
direccin y unas seales de control, que especifican la operacin que se desea realizar, adems de enviar o recibir el dato, o bloque de datos, correspondiente.
Los disquetes, discos duros, etc. tambin son dispositivos que permiten almacenar informacin, pero no estn conectados directamente al procesador, cada byte no tiene una direccin para poderlo leer como en el caso comentado anteriormente. Por ello estos dispositivos
de memoria, llamados memoria masiva o auxiliar, sern estudiados en el tema correspondiente a los perifricos.
37
Apuntes de Informtica
b) Acceso secuencial: En las memorias de acceso secuencial se llega a la posicin deseada a travs de una secuencia de posiciones, que depende de donde est la informacin
en el momento en el que se quiere acceder a ella, por ejemplo para acceder a una informacin en una cinta magntica es necesario recorrer la cinta hasta encontrar la informacin deseada.
3.2.4. Capacidad.
Es la cantidad de informacin que puede almacenar una memoria.
Dado que la informacin se almacena en el sistema binario, la capacidad se mide en bytes.
Se utiliza el byte porque es el menor tamao de informacin, a la que se puede acceder en una
operacin de acceso a memoria, ya que cada posicin de memoria almacena un byte. Aunque
a la hora de hablar de la capacidad de memoria, se utilizan mltiplos de l que vimos en el
tema 1 (KByte, MByte, GByte, TByte).
38
TEMA 3 Memorias
Apuntes de Informtica
40
TEMA 3 Memorias
Mdulo de continuidad
b) SRAM (Static Random Access Memory): La diferencia fundamental con las memorias
anteriores es que no necesitan refresco, para ello emplean varios transistores por bit, lo
cual reduce la capacidad de la memoria y hace que sean ms caras que las DRAM (a
igualdad de capacidad), a cambio son ms rpidas que las DRAM, van de 50ns a 15ns.
Por ello se emplean en la memoria cach del ordenador que explicaremos en el apartado
siguiente.
En la evolucin de la memoria DRAM nos encontramos con la SDRAM (Synchronous
DRAM). Utiliza como modo de encapsulado el mdulo DIMM, consiguiendo con ella que la
memoria est sincronizada con el bus de datos y con el reloj del procesador, incrementndose
as, la tasa de trasferencia de datos, ya que el procesador sabe perfectamente en que ciclos
puede realizar lecturas y escrituras. Adems admite que se enven comandos en los que se
especifica que bancos refrescar o actualizar. La diferencia bsica con el anterior de modelo es
que la memoria es ahora la que espera para establecer sincrona con el resto del sistema
41
Apuntes de Informtica
Basada en la tecnologa SDRAM, nos encontramos con la memoria DDR (Double Data
Rate). Este tipo utiliza mdulos DIMM, aunque con alguna diferencia, como es la variacin
del nmero de ranuras existentes en el mdulo: se dispone de hasta 184 contactos frente a los
168 presentes en un DIMM convencional. La novedad ms importante que presenta es la de
utilizar un mismo ciclo de reloj para realizar dos trasferencias al bus de datos en lugar de una,
pudiendo alcanzar velocidades de trasferencia de datos de hasta 2.1 GB/s. La plataforma
Atlon de AMD se ha decantando por ella.
Intel, sin embargo, se ha decantado por la utilizacin de la tecnologa Direct Rambus. Los
mdulos que utiliza esta tecnologa se denominan RIMM, existiendo de hasta 512 MB. Son
mdulos de 168 pines. Utiliza una tecnologa de bus y, por ello, no podemos dejar ningn slot
vaco, ya que si lo hacemos el canal queda abierto y no funciona. Para que funcione correctamente existen unos mdulos sin memoria, llamados mdulos de continuidad, que lo nico que
hacen es cerrar el canal.
Terminador
de Canal
Controlador
Canal
Canal
Conectores
Pueden ser de doble cara o de una sola cara, y admiten cualquier nmero de chips, hasta
un mximo de 32 soportados por canal. En este caso las velocidades de trasferencia de datos
pueden llegar hasta 1.6 GB/s.
Finalmente conviene citar una pequea memoria (64 o 128 bytes) que tiene el ordenador
de tipo CMOS (bajo consumo), que aunque es memoria RAM, no pierde su contenido, gracias
a que es alimentada por una pila. Se emplea para mantener un reloj en tiempo real (que sigue
funcionando gracias a la pila incluso con el ordenador apagado) y para almacenar la configuracin del ordenador: cantidad de memoria, tipo de discos que tiene, etc. Para almacenar dicha
informacin hace falta memoria que permita escribir, ya que el usuario puede hacer cambios
en la configuracin, y por otra parte hace falta que no se pierda el contenido al apagar el equipo, la solucin es emplear memoria RAM conectada a una pila. Esta memoria esta contenida
dentro de un chip y no forma parte del mapa de memoria del ordenador, ya que para acceder a
ella se emplean operaciones de Entrada/Salida.
42
TEMA 3 Memorias
Apuntes de Informtica
memoria de la disponible fsicamente, el rendimiento no disminuye tanto, por ejemplo, si tenemos un procesador de textos que tiene un mdulo que permite corregir la ortografa, mientras no lo utilicemos no hace falta que est fsicamente en memoria, de modo que si el programa necesita 16Mb de RAM, es posible que las opciones que estemos usando usen slo
8Mb, el resto se puede dejar en disco hasta que sea necesario.
Resumiendo, para conseguir un elevado rendimiento de un procesador hace falta jerarquizar la memoria: tener una pequea cantidad de memoria muy rpida (aunque sea muy
cara), una cantidad pequea de memoria rpida y cara, una cantidad relativamente grande de
memoria lenta y barata y, adems, un espacio de disco mayor que la memoria, que ser mucho
ms lento que la misma, pero de coste tambin mucho ms reducido por bit. Con este sistema
se obtiene un rendimiento menor que si toda la memoria necesaria fuera muy rpida, pero a un
coste mucho menor.
TEMA 3 Memorias
bit (es decir una sola pata) en cada celda de memoria de ese chip se puede almacenar slo
un bit; si el procesador accede a la memoria de 8 en 8 bits, ser preciso poner 8 chips similares y conectar el bus de datos de cada uno a cada una de las 8 patas del bus de datos
del procesador, as cada dato de 8 bits que maneje el procesador tendr cada uno de sus
bits en un chip distinto.
c) Seales de control: Sirven para controlar el proceso, por ejemplo una de ellas llamada
W / R sirve para que la memoria sepa si el procesador quiere leer o escribir.
Para permitir ampliar posteriormente la memoria, normalmente el ancho del bus de direcciones del procesador es mayor que el ancho del bus de direcciones de los chips de memoria,
en ese caso las lneas superiores del bus de direcciones del procesador tienen que pasar por un
decodificador, que se encarga de seleccionar el chip correcto que contiene el dato. Por ejemplo supongamos que el procesador tiene un bus de direcciones de 16 bits y que empleamos
para la memoria chips con un bus de direcciones de 14 bits y 1 bit para el bus de datos. El
procesador puede acceder a 64Kb, mientras que los chips de memoria tienen capacidad de
slo 16Kbits, juntando 8 chips obtenemos 16Kb y con 4 grupos de 8 chips llenamos los 64Kb,
en ese caso los 14 bits bajos del bus de direcciones se conectan a los 14 bits del bus de direcciones de todos los chips. Los 2 bits altos del bus de direcciones se conectan al decodificador
que saca 4 seales, una cuando dichos bits son 00, otra cuando son 01, otra para 10 y finalmente otra para 11. Cada una de las seales del decodificador va a parar a una pata, llamada
chip select, de los 8 chips de cada grupo, cada chip est seleccionado slo cuando recibe la
seal chip select.
Leyendo de la memoria
Cuando el procesador quiere acceder a un dato, es decir, para leer un dato de la memoria,
realiza la siguiente secuencia:
1. Coloca la direccin del dato en el bus de direcciones.
2. Coloca en la pata W / R un 0 para indicar que desea leer.
3. Espera un tiempo prefijado a que la memoria coloque en el bus de datos el dato en cuestin.
4. Lee el dato del bus de datos y da por concluida la secuencia.
Como se ha dicho arriba las posiciones de memoria se numeran en bytes, sin embargo el
procesador puede acceder a datos de tamao mayor, por ejemplo de 16 bits, hay dos posibles
alternativas para esta situacin, una es colocar en la parte baja del nmero ledo el contenido
de la posicin baja de memoria y en la parte alta el de la posicin alta, por ejemplo si la posicin de memoria 1234 contiene el nmero 56 y la posicin 1235 contiene el 78, al leer un dato
de 16 bits de 1234 se obtiene 7856 (todos los nmeros estn en hexadecimal). ste es el comportamiento de los procesadores de Intel, pero existen otros, por ejemplo la familia 68000 de
Motorola, que emplean el inverso, es decir en el caso anterior un procesador 68000 leera de
memoria el dato 5678.
45
Apuntes de Informtica
Escribiendo en memoria
Cuando el procesador transfiere un dato hacia la memoria, es decir, cuando se escribe en
la memoria, se produce la siguiente secuencia:
1. Coloca la direccin del dato en el bus de direcciones.
2. Coloca en la pata W / R un 1 para indicar que desea escribir.
3. Coloca el dato en el bus de datos.
4. Espera un tiempo prefijado a que la memoria lea el dato del bus de datos y almacene dicho
valor en la direccin pedida, pasado ese tiempo da por concluida la operacin.
El esquema para escribir datos multibyte es el mismo que emplea a la hora de leer, por
tanto al escribir un dato de 16 bits y posteriormente volverlo a leer se obtiene el mismo valor,
con independencia del orden en que se guarde en memoria (bajo-alto o alto-bajo), ya que se
emplea el mismo orden a la hora de leerlo.
46
TEMA 3 Memorias
EJERCICIOS
1. Calcula el nmero de bits de memoria de un ordenador con direcciones de 20 bits y palabras de 12 bits.
2. Para una aplicacin se requiere una memoria de por lo menos 100.000 palabras. Cul es el
tamao mnimo del bus de direcciones que permitir tener acceso a cada palabra de forma
unvoca?
3. Los socilogos pueden obtener tres respuestas posibles a una pregunta de una encuesta: Si,
No y No opina. Una compaa ha decidido realizar un ordenador para procesar los datos de
la encuesta. Este ordenador tiene memoria ternaria, es decir, la unidad de informacin es el
trit, que puede adoptar 3 estados, 0, 1 y 2. Cuntos trits se necesitan para almacenar un
nmero de 6 bits? Obtn una expresin para el nmero de trits necesarios para representar
n bits.
4. Cierto ordenador posee 262.144 bytes de memoria principal, por qu eligi el fabricante
dicho nmero en lugar de uno ms fcil de recordar como 250.000?
5. Si un ordenador tiene 24Mb de memoria principal y palabras de 16 bits, cuntos bits necesita tener en el bus de direcciones?
6. Qu opinas de un ordenador con las siguientes caractersticas: 2Mb de memoria cach,
640Kb de memoria principal y 20Mb de disco duro? Cuenta el porqu de las cosas refirindote a jerarquas de memorias.
7. En un ordenador las direcciones son de 24 bits y los datos de 8 bits. Calcula la capacidad
mxima de memoria de dicho ordenador en bytes y en Mb.
47