Beruflich Dokumente
Kultur Dokumente
MEMORIAS
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 mien-
tras 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.
36 36
Apuntes de Informtica 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, ade- ms
de enviar o recibir el dato, o bloque de datos, correspondiente.
Los disquetes, discos duros, etc. tambin son dispositivos que permiten almacenar infor -
macin, pero no estn conectados directamente al procesador, cada byte no tiene una direc- cin
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 correspon- diente a
los perifricos.
En el ordenador hay dos tipos bsicos de memorias, las memorias de slo lectura, o ROM
(Read Only Memory), y las memorias de lectura/escritura, o RAM (Random Access Me- mory).
Para poder estudiarlas vamos a introducir en este apartado una serie de conceptos que permiten
caracterizar los diversos tipos de memoria.
d) Memorias con refresco: La informacin slo dura un cierto tiempo. Para que no desa-
parezca, hay que regrabar la informacin de forma peridica (seal de refresco).
37 37
Apuntes de Informtica TEMA 3 Memorias
38 38
Apuntes de Informtica TEMA 3 Memorias
Se denomina tiempo de acceso al que transcurre entre el instante en que se enva una ope-
racin de acceso a memoria y el instante en que se dispone de la primera informacin busca- da.
Segn el tiempo de acceso se puede hablar de memorias rpidas o lentas, pero como eso no
es demasiado preciso, es mejor citar el tiempo de acceso, que se mide normalmente en
nanosegundos.
3.2.4. Capacidad.
Actualmente el tipo de memorias que se emplean con carcter universal, son las memorias
de semiconductores. La primera memoria comercial de semiconductor tena una capacidad de
64 bits y fue fabricada por IBM en 1968. Poco ms tarde, en 1972, aparecieron los primeros
ordenadores de IBM con memoria principal de semiconductores. Los elementos semiconduc-
tores utilizados hasta ahora para realizar estas memorias son el Silicio (Si) y el Germanio
(Ge), pero en la actualidad se est tambin utilizando el Arseniuro de Galio (AsGa).
En el caso de las memorias de semiconductores, cada punto de memoria est formado por
un dispositivo electrnico denominado transistor, en el que hay dos estados de funciona- miento
bien diferenciados: el estado de corte y el de saturacin. Cuando el transistor est en estado de
corte no deja pasar prcticamente nada a su travs, y a la salida del transistor apenas se obtiene
corriente, es lo que llamamos "0 lgico". Cuando est en estado de saturacin, deja que la
corriente circule por l libremente y lo que obtenemos a la salida es un mximo de co- rriente
que denominamos "1 lgico". Dependiendo de las seales que proporcionemos al tran- sistor
obtendremos una u otra salida, es decir, almacenaremos un 0 un 1.
39 39
Apuntes de Informtica TEMA 3 Memorias
Como indica su propio nombre son memorias que slo permiten la lectura, tambin son de
acceso aleatorio y no voltiles.
Este tipo de memorias se utilizan para guardar una serie de programas que vienen con el
ordenador desde fbrica, como son los contenidos en la ROM-BIOS (Basic Input-Output
System). En ella bsicamente estn unos programas de diagnstico, encargados de chequear el
hardware para comprobar que todo es correcto antes de arrancar. Adems, tiene el programa
de arranque, encargado de cargar el sistema operativo en memoria y, los programas para con-
trolar los perifricos ms comunes: unidades de disco, teclado, puertos serie y paralelo, tarjeta
grfica, etc. Algunos perifricos requieren tener una memoria ROM para contener el progra- ma
encargado de gestionarlos, por ejemplo las tarjetas VGA cuentan con una memoria ROM de
esas caractersticas ya que el BIOS slo controla tarjetas CGA o MDA.
a) ROM: La palabra ROM puede ser aplicada a cualquiera de estos tipos de memoria, pero
en este caso vamos a reservarla para memorias grabadas de fbrica en las que los transis-
tores estn dispuestos de la manera necesaria para que se lean los valores que debe conte-
ner.
b) PROM (Programable Read Only Memory): Este tipo de memorias son similares a las an-
teriores. Son memorias de slo lectura pero en vez de grabarse en fbrica, pueden grabar- se,
aunque una sola vez. Una vez grabada la informacin no podemos cambiarla, tan slo leerla.
Cada punto de memoria va a estar formado por un transistor y un fusible. Dejando pasar
una corriente suficiente a travs del fusible, este se funde logrando su destruccin. As pues,
el usuario de tal PROM puede destruir los fusibles cuando sea necesario, dejando slo
transistores en las posiciones necesarias para establecer el almacenamiento de memo- ria
deseado.
c) EPROM (Erasable Programable Read Only Memory): En este caso, la informacin puede
ser modificada por el usuario un nmero limitado de veces. Para grabar la informacin se
necesita un aparato especial, llamado grabador de EPROM. Antes de regrabar una
EPROM hay que borrar el contenido anterior, para ello se emplea luz ultravioleta y posee
una ventana que permite el paso de la misma, normalmente esta tapada para evitar un bo-
rrado accidental.
El tiempo empleado para escribir, en este tipo de memorias, es mucho mayor que para le-
er, y como acabamos de ver, el borrado y el grabado se tienen que hacer fuera del sistema
informtico, siendo esta operacin tan slo posible un nmero limitado de veces.
40 40
Apuntes de Informtica TEMA 3 Memorias
a) DRAM (Dinamic Random Access Memory): Son memorias en las cuales el estado (0
1) se almacena en un dispositivo electrnico cuya forma de funcionamiento podemos
compararla con un condensador que tiende a descargarse. Por ello, cada cierto tiempo,
entre 1 y 18 millones de veces cada segundo, hay que enviar una seal, que se deno- mina
seal de refresco, que recuerde a la memoria la informacin que posee, ya que sta, se
pierde poco despus de haberse introducido.
Las figuras siguientes representan los distintos tipos de mdulos de memoria que se
han existido y existen, as como los tamaos del bus de datos y direcciones de cada
uno, en el caso de las memorias dinmicas la memoria direccionable es el doble del
tamao del bus de direcciones, ya que las direcciones se dividen en filas y columnas y
se envan consecutivamente ambas por el mismo bus. El tamao del bus de direcciones
indica el mximo tamao que puede tener una de dichas memorias, tambin las hay de
menor capacidad, en ese caso no se utilizan las lneas de direcciones altas del bus.
41 41
Apuntes de Informtica 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.
42 42
Apuntes de Informtica TEMA 3 Memorias
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 correcta-
mente 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 configu-
racin 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 equi-
po, 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.
43 43
Apuntes de Informtica TEMA 3 Memorias
Para que el esquema anterior funcione, es preciso que exista un controlador de cach, en-
cargado de vigilar las peticiones de datos del procesador a la memoria. Parte de la memoria
cach se emplear para guardar las direcciones de los datos y el resto para los datos. El con-
trolador compara la direccin de memoria pedida por la CPU con las que contiene la cach, y
si el dato est en la misma, da la orden para leer de la cache , en caso contrario, el dato se lee
de la memoria principal, empleando los estados de espera que sean necesarios, y se copia en
la memoria cach, para que cuando lo necesite la CPU se encuentre con ms rapidez. Para poder
hacer esto, el controlador de cach lleva la cuenta de qu datos de la cach se han utili- zado
ltimamente, e introduce el nuevo dato en lugar del menos utilizado recientemente.
Con este sistema y tamaos adecuados de memoria principal y memoria cach (por ejem- plo
16Mb de memoria principal y 256Kb de memoria cach) se puede conseguir que el 90% de
las veces, el dato solicitado por el procesador est en la memoria cach y lograr con un coste
reducido, un sistema que tiene el 90% de velocidad que el equivalente con memoria rpida
completo.
Los procesadores modernos funcionan interiormente a mayor velocidad que la que em- plean
en su comunicacin con la memoria, por ejemplo un Pentium a 200Mz, funciona a
200MHz internamente, pero se comunica con la memoria externa (sea principal o cach) a
slo 66MHz. En estas condiciones el rendimiento del procesador se ve mermado por el de la
memoria, aunque sea rpida. Por ello, se incluye una pequea cantidad de memoria cach interna
en el procesador (en el caso del Pentium 16Kb, 8Kb para datos y otros 8Kb para cdi- go) que
funciona a la misma velocidad que l mismo. En ese caso la cach interna al procesa- dor se
llama cach de nivel 1 (abreviadamente L1) y la externa de nivel 2 (o L2).
La siguiente generacin, por ejemplo el Pentium II, avanza incluso un poco ms incluyen-
do la memoria cach L2 dentro del procesador, lo que permite que la velocidad de comunica-
cin de la misma con el procesador, sea ms elevada que la del bus del sistema (por ejemplo
200MHz en lugar de 100MHz).
44 44
Apuntes de Informtica TEMA 3 Memorias
frente a los nanosegundos del tiempo de acceso a la memoria, pero al menos, se puede utilizar
el programa, cosa de otro modo imposible, Adems, salvo que se requiera mucha ms
45 45
Apuntes de Informtica TEMA 3 Memorias
La forma en que esta organizada una memoria principal es la siguiente: est dividida en N
palabras, donde N es generalmente una potencia de 2, y a cada palabra se le asigna una direc-
cin, o posicin en la memoria. Cada palabra tiene el mismo nmero de bits, llamados longi-
tud de palabra. Dicha longitud es tambin una potencia de 2, puede ser 8, 16, 32, etc. Por
compatibilidad con los procesadores anteriores las posiciones de memoria se suelen numerar
siempre de 8 en 8 bits, con independencia de que el procesador pueda acceder directamente a
16 bits, o ms.
Los chips de memoria tienen exteriormente un conjunto de patas con los que pueden ser
conectados al resto de componentes del ordenador. Se pueden dividir en tres grupos funda-
mentales:
46 46
Apuntes de Informtica TEMA 3 Memorias
b) Bus de datos: Estas patas se conectan al bus de datos del procesador y por ellas circulan
los datos entre ambos. Por ejemplo, si un chip de memoria contiene un bus de datos de 1
47 47
Apuntes de Informtica 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 si-
milares 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 direc-
ciones 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 ejem- plo
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 direc- ciones 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 final - mente 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:
3. Espera un tiempo prefijado a que la memoria coloque en el bus de datos el dato en cues-
tin.
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 posi-
cin 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 com-
portamiento 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.
48 48
Apuntes de Informtica TEMA 3 Memorias
Escribiendo en memoria
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.
49 49
Apuntes de Informtica TEMA 3 Memorias
EJERCICIOS
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 ne-
cesita tener en el bus de direcciones?
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.
50 50