SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
3
                                                                      MEMORIAS


3.1.   Concepto de memoria

    La memoria es el componente del ordenador que almacena la información que éste posee,
es decir, sus datos y programas. Es como un bloc de notas que mantiene la información 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 información estemos almacenando; estará codificada en una
estructura particular de bits, que será interpretada de la forma adecuada al tipo de datos en
cuestión. Los mismos bytes de memoria se emplean para almacenar códigos de instrucciones,
datos numéricos, datos alfabéticos, sonidos, vídeo, etc.

   Para ser capaces de trabajar con la memoria, cada unidad de bytes tiene una dirección, un
número que sólo identifica a esa unidad. Las direcciones de memoria están numeradas una a
una, empezando por cero.

    Las operaciones básicas que permite una memoria son dos: escritura o almacenamiento y
lectura.

    En la escritura, o almacenamiento, la memoria necesita que le suministren una informa-
ción y una dirección. La operación consiste en grabar la información en la dirección especifi-
cada.

    En la lectura, la memoria debe recibir una dirección. La operación consiste en recuperar
información previamente escrita en esa dirección.




36
TEMA 3 – Memorias


    Por tanto, podemos ver las memorias como cajas negras, a las que hay que suministrar una
dirección y unas señales de control, que especifican la operación que se desea realizar, ade-
más de enviar o recibir el dato, o bloque de datos, correspondiente.

    Los disquetes, discos duros, etc. también son dispositivos que permiten almacenar infor-
mación, pero no están conectados directamente al procesador, cada byte no tiene una direc-
ción para poderlo leer como en el caso comentado anteriormente. Por ello estos dispositivos
de memoria, llamados memoria masiva o auxiliar, serán estudiados en el tema correspon-
diente a los periféricos.



3.2. Características de las memorias.

   En el ordenador hay dos tipos básicos de memorias, las memorias de sólo 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.


3.2.1 Duración de la información.

   En relación a la permanencia de la información grabada en las memorias, hay 4 posibili-
dades:

   a) Memorias permanentes: Son memorias que contienen siempre la misma información y
      no pueden borrarse. Como ejemplo de este tipo de memorias se pueden citar las me-
      morias de semiconductores tipo ROM, de las que hablaremos posteriormente.

   b) Memorias Volátiles: Precisan estar continuamente alimentadas de energía. Si se corta
      dicho suministro se borra la información que poseen. En contraposición están las no
      volátiles, en las que la información permanece aunque se elimine la alimentación.

   c) Memorias de lectura destructiva: Su lectura implica el borrado de la información, por
      lo que después de leer en ellas, hay que volver a grabarlas. Un ejemplo de este tipo son
      las memorias de ferrita. Memorias de lectura no destructiva son, por ejemplo, los dis-
      cos y banda ma gnética.

   d) Memorias con refresco: La información sólo dura un cierto tiempo. Para que no desa-
      parezca, hay que regrabar la información de forma periódica (señal de refresco).


3.2.2 Modo de acceso.

   Según el método utilizado para localizar la información tenemos:

   a) Acceso aleatorio: En las memorias de acceso aleatorio se accede directamente al byte
      o posición deseada, en un tiempo independiente de la dirección a la que se quiere ac-
      ceder, por ejemplo las memorias RAM son de acceso aleatorio.



                                                                                           37
Apuntes de Informática


     b) Acceso secuencial: En las memorias de acceso secuencial se llega a la posición desea-
        da a través de una secuencia de posiciones, que depende de donde esté la información
        en el momento en el que se quiere acceder a ella, por ejemplo para acceder a una in-
        formación en una cinta magnética es necesario recorrer la cinta hasta encontrar la in-
        formación deseada.


3.2.3 Tiempo de acceso.

    Se denomina tiempo de acceso al que transcurre entre el instante en que se envía una ope-
ración de acceso a memoria y el instante en que se dispone de la primera información busca-
da. Según el tiempo de acceso se puede hablar de memorias rápidas 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.

     Es la cantidad de información que puede almacenar una memoria.

    Dado que la información se almacena en el sistema binario, la capacidad se mide en bytes.
Se utiliza el byte porque es el menor tamaño de información, a la que se puede acceder en una
operación de acceso a memoria, ya que cada posición de memoria almacena un byte. Aunque
a la hora de hablar de la capacidad de memoria, se utilizan múltiplos de él que vimos en el
tema 1 (KByte, MByte, GByte, TByte).



3.3. Tipos de memorias: RAM y ROM.

    Actualmente el tipo de memorias que se emplean con carácter universal, son las memorias
de semiconductores. La primera memoria comercial de semiconductor tenía una capacidad de
64 bits y fue fabricada por IBM en 1968. Poco más 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á también utilizando el Arseniuro de Galio (AsGa).

    En el caso de las memorias de semiconductores, cada punto de memoria está formado por
un dispositivo electrónico denominado transistor, en el que hay dos estados de funciona-
miento bien diferenciados: el estado de corte y el de saturación. Cuando el transistor está en
estado de corte no deja pasar prácticamente nada a su través, y a la salida del transistor apenas
se obtiene corriente, es lo que llamamos "0 lógico". Cuando está en estado de saturación, deja
que la corriente circule por él libremente y lo que obtenemos a la salida es un máximo de co-
rriente que denominamos "1 lógico". Dependiendo de las señales que proporcionemos al tran-
sistor obtendremos una u otra salida, es decir, almacenaremos un 0 ó un 1.

   Podemos establecer otra clasificación de las memorias dependiendo de que la información
que contienen, pueda o no, modificarse después de haberla introducido.




38
TEMA 3 – Memorias



3.3.1. Memorias de sólo lectura: ROM

   Como indica su propio nombre son memorias que sólo permiten la lectura, también son de
acceso aleatorio y no volátiles.

    Este tipo de memorias se utilizan para guardar una serie de programas que vienen con el
ordenador desde fábrica, como son los contenidos en la ROM-BIOS (Basic Input-Output
System). En ella básicamente están unos programas de diagnóstico, encargados de chequear el
hardware para comprobar que todo es correcto antes de arrancar. Además, tiene el programa
de arranque, encargado de cargar el sistema operativo en memoria y, los programas para con-
trolar los periféricos más comunes: unidades de disco, teclado, puertos serie y paralelo, tarjeta
gráfica, etc. Algunos periféricos 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 características ya que el BIOS sólo controla tarjetas CGA o MDA.

   Atendiendo a la manera en que son grabadas se pueden distinguir varios tipos:

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 fábrica en las que los transis-
   tores están 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 sólo lectura pero en vez de grabarse en fábrica, pueden grabar-
   se, aunque una sola vez. Una vez grabada la información no podemos cambiarla, tan sólo
   leerla.

   Cada punto de memoria va a estar formado por un transistor y un fusible. Dejando pasar
   una corriente suficiente a través del fusible, este se funde logrando su destrucción. Así
   pues, el usuario de tal PROM puede destruir los fusibles cuando sea necesario, dejando
   sólo transistores en las posiciones necesarias para establecer el almacenamiento de memo-
   ria deseado.

c) EPROM (Erasable Programable Read Only Memory): En este caso, la información puede
   ser modificada por el usuario un número limitado de veces. Para grabar la información 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
   informático, siendo esta operación tan sólo posible un número limitado de veces.

d) EEPROM (Electricaly Erasable Programable Read Only Memory): Se diferencian de las
   anteriores en que pueden borrarse y grabarse en el mismo sistema informático y, en este
   caso, tanto la operación de borrado como de escritura se hace mediante el paso de co-
   rriente eléctrica. La información es borrada simultáneamente en todas las células de me-
   moria.


                                                                                              39
Apuntes de Informática



     Actualmente la ROM-BIOS de muchos ordenadores viene en formato Flash, esta es una
     memoria EEPROM, que permite por tanto que el usuario actualice el contenido de la
     misma sin necesidad de disponer de aparatos especiales, y sin abrir siquiera el ordenador,
     no obstante, son memorias de sólo lectura, para operaciones normales no se puede escribir
     en la memoria, se necesita un programa especial para poder hacerlo.


3.3.2. Memorias de lectura/escritura: RAM

    Son memorias de lectura/escritura, acceso aleatorio y volátiles. La memoria principal de
un ordenador es RAM, ya que la ROM al no permitir la escritura tiene un uso limitado. El
sistema operativo y los programas y datos del usuario se almacenan en memoria RAM para
poder ser usados por el procesador.

     Podemos distinguir dos tipos de memorias RAM:

     a) DRAM (Dinamic Random Access Memory): Son memorias en las cuales el estado (0 ó
        1) se almacena en un dispositivo electrónico 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 señal, que se deno-
        mina señal de refresco, que recuerde a la memoria la información que posee, ya que
        ésta, se pierde poco después de haberse introducido.

        El microprocesador es el que da las órdenes oportunas para que la señal de refresco
        llegue a la memoria. La frecuencia de esta señal de refresco tiene que ser suficiente-
        mente alta para que no de tiempo a que se pierda la información contenida en la m   e-
        moria.

        La capacidad de las memorias DRAM va de 64Kbit a 32Mbit (la capacidad de los
        chips de memoria se suele medir en bits y no en bytes). El tiempo medio de acceso de
        esta memoria oscila entre 80ns y 50ns. Actualmente no se emplean directamente los
        chips de memoria, sino que se agrupan varios en una placa, con un conector estándar
        para poder colocarse mejor; son los llamados SIMM (Single Inline Memory Module)
        que han existido de dos tipos: de 30 contactos (casi en desuso) y de 72 contactos.
        Posteriormente aparecieron los llamados DIMM (Dual Inline Memory Module), que
        tienen 168 contactos y su capacidad varía desde 8Mb hasta 128 MB.

        Las figuras siguientes representan los distintos tipos de módulos de memoria que se
        han existido y existen, así como los tamaños del bus de datos y direcciones de cada
        uno, en el caso de las memorias dinámicas la memoria direccionable es el doble del
        tamaño del bus de direcciones, ya que las direcciones se dividen en filas y columnas y
        se envían consecutivamente ambas por el mismo bus. El tamaño del bus de direcciones
        indica el máximo tamaño que puede tener una de dichas memorias, también las hay de
        menor capacidad, en ese caso no se utilizan las líneas de direcciones altas del bus.




40
TEMA 3 – Memorias


                                 Tipos de memorias DRAM

                                                         SIMM (30 contactos)
                                                         Bus de datos: 8 bits
                                                         Bus de direcciones: 11 bits
                                                         Memoria direccionable: 4MB



                                                         SIMM (72 contactos)
                                                         Bus de datos: 32 bits
                                                         Bus de direcciones: 12 bits
                                                         Memoria direccionable: 16MB


                                                         DIMM (168 contactos)
                                                         Bus de datos: 64 bits
                                                         Bus de direcciones: 14 bits
                                                         Memoria direccionable: 128MB



                                                         DDR (184 contactos)
                                                         Memoria direccionable: 256MB



                                                         RIMM (168 contactos)

                                                         Memoria direccionable: 512 MB


                                                         Módulo 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 más caras que las DRAM (a
   igualdad de capacidad), a cambio son más rápidas 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 evolución de la memoria DRAM nos encontramos con la SDRAM (Synchronous
DRAM). Utiliza como modo de encapsulado el módulo DIMM, consiguiendo con ella que la
memoria esté sincronizada con el bus de datos y con el reloj del procesador, incrementándose
así, la tasa de trasferencia de datos, ya que el procesador sabe perfectamente en que ciclos
puede realizar lecturas y escrituras. Además admite que se envíen comandos en los que se
especifica que bancos refrescar o actualizar. La diferencia básica con el anterior de modelo es
que la memoria es ahora la que espera para establecer sincronía con el resto del sistema


                                                                                            41
Apuntes de Informática


     Basada en la tecnología SDRAM, nos encontramos con la memoria DDR (Double Data
Rate). Este tipo utiliza módulos DIMM, aunque con alguna diferencia, como es la variación
del número de ranuras existentes en el módulo: se dispone de hasta 184 contactos frente a los
168 presentes en un DIMM convencional. La novedad más 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 utilización de la tecnología Direct Rambus. Los
módulos que utiliza esta tecnología se denominan RIMM, existiendo de hasta 512 MB. Son
módulos de 168 pines. Utiliza una tecnología de bus y, por ello, no podemos dejar ningún slot
vacío, ya que si lo hacemos el canal queda abierto y no funciona. Para que funcione correcta-
mente existen unos módulos sin memoria, llamados módulos 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 número de chips, hasta
un máximo 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 pequeña 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-
ración del ordenador: cantidad de memoria, tipo de discos que tiene, etc. Para almacenar dicha
información hace falta memoria que permita escribir, ya que el usuario puede hacer cambios
en la configuración, y por otra parte hace falta que no se pierda el contenido al apagar el equi-
po, la solución 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


3.4. Jerarquía de la memoria.

    Actualmente la velocidad de los procesadores no ha parado de aumentar, mientras que la
velocidad de la memoria lo ha hecho en una cuantía mucho menor. La solución al problema
que plantea esto, es hacer que el procesador espere por la memoria, aunque así se desaprove-
cha la velocidad del mismo. Para resolverlo se ha buscado otra solución, que consiste en po-
ner una pequeña cantidad de memoria rápida y cara (SRAM), llamada memoria caché, y una
cantidad mayor de memoria lenta y barata (DRAM), llamada memoria principal, y que el pro-
cesador mantenga una copia de los datos que más utiliza en la memoria caché.

    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 dirección 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 más 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 tamaños 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
rápida completo.

    Los procesadores modernos funcionan interiormente a mayor velocidad que la que em-
plean en su comunicación 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
sólo 66MHz. En estas condiciones el rendimiento del procesador se ve mermado por el de la
memoria, aunque sea rápida. Por ello, se incluye una pequeña cantidad de memoria caché
interna en el procesador (en el caso del Pentium 16Kb, 8Kb para datos y otros 8Kb para códi-
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 generación, por ejemplo el Pentium II, avanza incluso un poco más incluyen-
do la memoria caché L2 dentro del procesador, lo que permite que la velocidad de comunica-
ción de la misma con el procesador, sea más elevada que la del bus del sistema (por ejemplo
200MHz en lugar de 100MHz).

     En el extremo opuesto también se pueden conseguir mejoras. Supongamos que tenemos
un ordenador con 16Mb de memoria principal y queremos usar un programa que requiere
16Mb de memoria (entre datos y código), pero el sistema operativo emplea 4Mb de memoria.
Aparentemente no se puede, pero hay una técnica para conseguirlo. Se trata de emplear parte
de la memoria auxiliar como si fuera memoria RAM, la parte de los datos o el programa que
menos se use se escribe en disco, y cuando se necesite, se lleva otra vez a memoria, escribien-
do en su lugar en el disco los datos menos usados que estaban en la memoria. Con este siste-
ma el rendimiento se degrada, ya que el tiempo medio de acceso de un disco es de milisegun-
dos, frente a los nanosegundos del tiempo de acceso a la memoria, pero al menos, se puede
utilizar el programa, cosa de otro modo imposible, Además, salvo que se requiera mucha más


                                                                                              43
Apuntes de Informática


memoria de la disponible físicamente, el rendimiento no disminuye tanto, por ejemplo, si te-
nemos un procesador de textos que tiene un módulo que permite corregir la ortografía, mien-
tras no lo utilicemos no hace falta que esté físicamente en memoria, de modo que si el pro-
grama necesita 16Mb de RAM, es posible que las opciones que estemos usando usen sólo
8Mb, el resto se puede dejar en disco hasta que sea necesario.

    Resumiendo, para conseguir un elevado rendimiento de un procesador hace falta je-
rarquizar la memoria: tener una pequeña cantidad de memoria muy rápida (aunque sea muy
cara), una cantidad pequeña de memoria rápida y cara, una cantidad relativamente grande de
memoria lenta y barata y, además, un espacio de disco mayor que la memoria, que será mucho
más lento que la misma, pero de coste también mucho más reducido por bit. Con este sistema
se obtiene un rendimiento menor que si toda la memoria necesaria fuera muy rápida, pero a un
coste mucho menor.



3.5. Funcionamiento de la memoria.

    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-
ción, o posición en la memoria. Cada palabra tiene el mismo número de bits, llamados longi-
tud de palabra. Dicha longitud es también 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 más.

    Las direcciones, o números de dirección en la memoria, van consecutivamente. Se suelen
expresar en hexadecimal partiendo de 00....000 y llegando hasta la dirección más grande posi-
ble que será la FF....FFF. El procesador puede leer o escribir una palabra en cada posición de
memoria.

    Es muy importante entender la diferencia entre el contenido de una dirección de memoria
y la dirección en sí misma. La memoria es como un gran gabinete con muchos cajones, los
cuales corresponden a las direcciones de memoria. En cada cajón hay una palabra y la direc-
ción de cada palabra se escribe en la parte externa del cajón. Para obtener el contenido de un
cajón debemos saber cual es, es decir debemos tener la dirección, pero el contenido es lo que
hay dentro del cajón que no tiene nada que ver con su dirección.

   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:

a) Bus de direcciones: Este conjunto de patas contiene la dirección en forma de número bi-
   nario del dato que se busca, se conectan a otro conjunto de patas similares que tiene el
   procesador, cuando éste quiere leer un dato coloca en el bus de direcciones la dirección
   del dato y espera a que la memoria se lo envíe por el bus de datos que se explica a conti-
   nuación.

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


44
TEMA 3 – Memorias


   bit (es decir una sola pata) en cada celda de memoria de ese chip se puede almacenar sólo
   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) Señales 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 líneas 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
sólo 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 señales, una cuando dichos bits son 00, otra cuando son 01, otra para 10 y final-
mente otra para 11. Cada una de las señales del decodificador va a parar a una pata, llamada
chip select, de los 8 chips de cada grupo, cada chip está seleccionado sólo cuando recibe la
señal 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 dirección 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 cues-
   tión.

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 tamaño mayor, por ejemplo de 16 bits, hay dos posibles
alternativas para esta situación, una es colocar en la parte baja del número leído el contenido
de la posición baja de memoria y en la parte alta el de la posición alta, por ejemplo si la posi-
ción de memoria 1234 contiene el número 56 y la posición 1235 contiene el 78, al leer un dato
de 16 bits de 1234 se obtiene 7856 (todos los números están 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 leería de
memoria el dato 5678.




                                                                                              45
Apuntes de Informática



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 dirección 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 dirección pedida, pasado ese tiempo da por concluida la operación.

    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 número de bits de memoria de un ordenador con direcciones de 20 bits y pala-
   bras de 12 bits.

2. Para una aplicación se requiere una memoria de por lo menos 100.000 palabras. ¿Cuál es el
   tamaño mínimo del bus de direcciones que permitirá tener acceso a cada palabra de forma
   unívoca?

3. Los sociólogos pueden obtener tres respuestas posibles a una pregunta de una encuesta: Si,
   No y No opina. Una compañía ha decidido realizar un ordenador para procesar los datos de
   la encuesta. Este ordenador tiene memoria ternaria, es decir, la unidad de información es el
   trit, que puede adoptar 3 estados, 0, 1 y 2. ¿Cuántos trits se necesitan para almacenar un
   número de 6 bits? Obtén una expresión para el número de trits necesarios para representar
   n bits.

4. Cierto ordenador posee 262.144 bytes de memoria principal, ¿por qué eligió el fabricante
   dicho número en lugar de uno más fácil de recordar como 250.000?

5. Si un ordenador tiene 24Mb de memoria principal y palabras de 16 bits, ¿cuántos bits ne-
   cesita tener en el bus de direcciones?

6. ¿Qué opinas de un ordenador con las siguientes características: 2Mb de memoria caché,
   640Kb de memoria principal y 20Mb de disco duro? Cuenta el porqué de las cosas refi-
   riéndote a jerarquías de memorias.

7. En un ordenador las direcciones son de 24 bits y los datos de 8 bits. Calcula la capacidad
   máxima de memoria de dicho ordenador en bytes y en Mb.




                                                                                            47

Weitere ähnliche Inhalte

Andere mochten auch

Gestion de redes 2
Gestion de redes   2Gestion de redes   2
Gestion de redes 2eltigretigre
 
  Administración de la configuración
 Administración de la configuración Administración de la configuración
  Administración de la configuraciónJOSE MENDOZA
 
Errores mas comunes de coneccion de internet
Errores mas comunes de coneccion de internetErrores mas comunes de coneccion de internet
Errores mas comunes de coneccion de internetGilberto Flores
 
Sesion 1. Administracion de operaciones
Sesion 1. Administracion de operacionesSesion 1. Administracion de operaciones
Sesion 1. Administracion de operacionesUniversidad de Ibagué
 

Andere mochten auch (8)

Aulavirtual
AulavirtualAulavirtual
Aulavirtual
 
Gestion de redes 2
Gestion de redes   2Gestion de redes   2
Gestion de redes 2
 
  Administración de la configuración
 Administración de la configuración Administración de la configuración
  Administración de la configuración
 
Modelo de gestion de red
Modelo de gestion de redModelo de gestion de red
Modelo de gestion de red
 
modelo TMN
modelo TMNmodelo TMN
modelo TMN
 
Errores mas comunes de coneccion de internet
Errores mas comunes de coneccion de internetErrores mas comunes de coneccion de internet
Errores mas comunes de coneccion de internet
 
Sesion 1. Administracion de operaciones
Sesion 1. Administracion de operacionesSesion 1. Administracion de operaciones
Sesion 1. Administracion de operaciones
 
Analisis de fallas de componentes mecanicos
Analisis de fallas de componentes mecanicosAnalisis de fallas de componentes mecanicos
Analisis de fallas de componentes mecanicos
 

Ähnlich wie Tema 3 memorias

MEMORIAS DE UN COMPUTADOR
MEMORIAS DE UN COMPUTADORMEMORIAS DE UN COMPUTADOR
MEMORIAS DE UN COMPUTADORdennissemayon0
 
Memorias de un computador
Memorias de un computadorMemorias de un computador
Memorias de un computadorNataly Silvana
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2Jorge Tenezaca
 
Informatica grupo 2.
Informatica grupo 2.Informatica grupo 2.
Informatica grupo 2.issy_15sept
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2UTMACH
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2Kristhy Yunga
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2Suly Zambrano
 
Memorias de un computador
Memorias de un computadorMemorias de un computador
Memorias de un computadorXinithap
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2Michael Saltos
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2liz2106
 
memorias de un computador
memorias de un computadormemorias de un computador
memorias de un computadorAmanda Gisella
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2MarianelaGY
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2PaulaELy
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2ValeriaStefany
 

Ähnlich wie Tema 3 memorias (20)

Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Tipos de Memoria
Tipos de MemoriaTipos de Memoria
Tipos de Memoria
 
MEMORIAS DE UN COMPUTADOR
MEMORIAS DE UN COMPUTADORMEMORIAS DE UN COMPUTADOR
MEMORIAS DE UN COMPUTADOR
 
Memorias de un computador
Memorias de un computadorMemorias de un computador
Memorias de un computador
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo 2.
Informatica grupo 2.Informatica grupo 2.
Informatica grupo 2.
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Memorias de un computador
Memorias de un computadorMemorias de un computador
Memorias de un computador
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
memorias de un computador
memorias de un computadormemorias de un computador
memorias de un computador
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
INFORMATICA
INFORMATICA INFORMATICA
INFORMATICA
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 
Informatica grupo n. 2
Informatica grupo n. 2Informatica grupo n. 2
Informatica grupo n. 2
 

Mehr von eltigretigre

Mehr von eltigretigre (12)

Trabajo de investigación
Trabajo de investigaciónTrabajo de investigación
Trabajo de investigación
 
Fuente de poder_de_una_pc
Fuente de poder_de_una_pcFuente de poder_de_una_pc
Fuente de poder_de_una_pc
 
1 componentes de pc
1 componentes de pc1 componentes de pc
1 componentes de pc
 
Memoriaram
MemoriaramMemoriaram
Memoriaram
 
Componentes de una pc
Componentes de una pcComponentes de una pc
Componentes de una pc
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 
Seguridad infor
Seguridad inforSeguridad infor
Seguridad infor
 
Seguridadinform
SeguridadinformSeguridadinform
Seguridadinform
 
Seguridad infor
Seguridad inforSeguridad infor
Seguridad infor
 
Seguridadinform
SeguridadinformSeguridadinform
Seguridadinform
 
Fuente de poder
Fuente de poderFuente de poder
Fuente de poder
 

Tema 3 memorias

  • 1. 3 MEMORIAS 3.1. Concepto de memoria La memoria es el componente del ordenador que almacena la información que éste posee, es decir, sus datos y programas. Es como un bloc de notas que mantiene la información 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 información estemos almacenando; estará codificada en una estructura particular de bits, que será interpretada de la forma adecuada al tipo de datos en cuestión. Los mismos bytes de memoria se emplean para almacenar códigos de instrucciones, datos numéricos, datos alfabéticos, sonidos, vídeo, etc. Para ser capaces de trabajar con la memoria, cada unidad de bytes tiene una dirección, un número que sólo identifica a esa unidad. Las direcciones de memoria están numeradas una a una, empezando por cero. Las operaciones básicas que permite una memoria son dos: escritura o almacenamiento y lectura. En la escritura, o almacenamiento, la memoria necesita que le suministren una informa- ción y una dirección. La operación consiste en grabar la información en la dirección especifi- cada. En la lectura, la memoria debe recibir una dirección. La operación consiste en recuperar información previamente escrita en esa dirección. 36
  • 2. TEMA 3 – Memorias Por tanto, podemos ver las memorias como cajas negras, a las que hay que suministrar una dirección y unas señales de control, que especifican la operación que se desea realizar, ade- más de enviar o recibir el dato, o bloque de datos, correspondiente. Los disquetes, discos duros, etc. también son dispositivos que permiten almacenar infor- mación, pero no están conectados directamente al procesador, cada byte no tiene una direc- ción para poderlo leer como en el caso comentado anteriormente. Por ello estos dispositivos de memoria, llamados memoria masiva o auxiliar, serán estudiados en el tema correspon- diente a los periféricos. 3.2. Características de las memorias. En el ordenador hay dos tipos básicos de memorias, las memorias de sólo 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. 3.2.1 Duración de la información. En relación a la permanencia de la información grabada en las memorias, hay 4 posibili- dades: a) Memorias permanentes: Son memorias que contienen siempre la misma información y no pueden borrarse. Como ejemplo de este tipo de memorias se pueden citar las me- morias de semiconductores tipo ROM, de las que hablaremos posteriormente. b) Memorias Volátiles: Precisan estar continuamente alimentadas de energía. Si se corta dicho suministro se borra la información que poseen. En contraposición están las no volátiles, en las que la información permanece aunque se elimine la alimentación. c) Memorias de lectura destructiva: Su lectura implica el borrado de la información, por lo que después de leer en ellas, hay que volver a grabarlas. Un ejemplo de este tipo son las memorias de ferrita. Memorias de lectura no destructiva son, por ejemplo, los dis- cos y banda ma gnética. d) Memorias con refresco: La información sólo dura un cierto tiempo. Para que no desa- parezca, hay que regrabar la información de forma periódica (señal de refresco). 3.2.2 Modo de acceso. Según el método utilizado para localizar la información tenemos: a) Acceso aleatorio: En las memorias de acceso aleatorio se accede directamente al byte o posición deseada, en un tiempo independiente de la dirección a la que se quiere ac- ceder, por ejemplo las memorias RAM son de acceso aleatorio. 37
  • 3. Apuntes de Informática b) Acceso secuencial: En las memorias de acceso secuencial se llega a la posición desea- da a través de una secuencia de posiciones, que depende de donde esté la información en el momento en el que se quiere acceder a ella, por ejemplo para acceder a una in- formación en una cinta magnética es necesario recorrer la cinta hasta encontrar la in- formación deseada. 3.2.3 Tiempo de acceso. Se denomina tiempo de acceso al que transcurre entre el instante en que se envía una ope- ración de acceso a memoria y el instante en que se dispone de la primera información busca- da. Según el tiempo de acceso se puede hablar de memorias rápidas 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. Es la cantidad de información que puede almacenar una memoria. Dado que la información se almacena en el sistema binario, la capacidad se mide en bytes. Se utiliza el byte porque es el menor tamaño de información, a la que se puede acceder en una operación de acceso a memoria, ya que cada posición de memoria almacena un byte. Aunque a la hora de hablar de la capacidad de memoria, se utilizan múltiplos de él que vimos en el tema 1 (KByte, MByte, GByte, TByte). 3.3. Tipos de memorias: RAM y ROM. Actualmente el tipo de memorias que se emplean con carácter universal, son las memorias de semiconductores. La primera memoria comercial de semiconductor tenía una capacidad de 64 bits y fue fabricada por IBM en 1968. Poco más 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á también utilizando el Arseniuro de Galio (AsGa). En el caso de las memorias de semiconductores, cada punto de memoria está formado por un dispositivo electrónico denominado transistor, en el que hay dos estados de funciona- miento bien diferenciados: el estado de corte y el de saturación. Cuando el transistor está en estado de corte no deja pasar prácticamente nada a su través, y a la salida del transistor apenas se obtiene corriente, es lo que llamamos "0 lógico". Cuando está en estado de saturación, deja que la corriente circule por él libremente y lo que obtenemos a la salida es un máximo de co- rriente que denominamos "1 lógico". Dependiendo de las señales que proporcionemos al tran- sistor obtendremos una u otra salida, es decir, almacenaremos un 0 ó un 1. Podemos establecer otra clasificación de las memorias dependiendo de que la información que contienen, pueda o no, modificarse después de haberla introducido. 38
  • 4. TEMA 3 – Memorias 3.3.1. Memorias de sólo lectura: ROM Como indica su propio nombre son memorias que sólo permiten la lectura, también son de acceso aleatorio y no volátiles. Este tipo de memorias se utilizan para guardar una serie de programas que vienen con el ordenador desde fábrica, como son los contenidos en la ROM-BIOS (Basic Input-Output System). En ella básicamente están unos programas de diagnóstico, encargados de chequear el hardware para comprobar que todo es correcto antes de arrancar. Además, tiene el programa de arranque, encargado de cargar el sistema operativo en memoria y, los programas para con- trolar los periféricos más comunes: unidades de disco, teclado, puertos serie y paralelo, tarjeta gráfica, etc. Algunos periféricos 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 características ya que el BIOS sólo controla tarjetas CGA o MDA. Atendiendo a la manera en que son grabadas se pueden distinguir varios tipos: 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 fábrica en las que los transis- tores están 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 sólo lectura pero en vez de grabarse en fábrica, pueden grabar- se, aunque una sola vez. Una vez grabada la información no podemos cambiarla, tan sólo leerla. Cada punto de memoria va a estar formado por un transistor y un fusible. Dejando pasar una corriente suficiente a través del fusible, este se funde logrando su destrucción. Así pues, el usuario de tal PROM puede destruir los fusibles cuando sea necesario, dejando sólo transistores en las posiciones necesarias para establecer el almacenamiento de memo- ria deseado. c) EPROM (Erasable Programable Read Only Memory): En este caso, la información puede ser modificada por el usuario un número limitado de veces. Para grabar la información 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 informático, siendo esta operación tan sólo posible un número limitado de veces. d) EEPROM (Electricaly Erasable Programable Read Only Memory): Se diferencian de las anteriores en que pueden borrarse y grabarse en el mismo sistema informático y, en este caso, tanto la operación de borrado como de escritura se hace mediante el paso de co- rriente eléctrica. La información es borrada simultáneamente en todas las células de me- moria. 39
  • 5. Apuntes de Informática Actualmente la ROM-BIOS de muchos ordenadores viene en formato Flash, esta es una memoria EEPROM, que permite por tanto que el usuario actualice el contenido de la misma sin necesidad de disponer de aparatos especiales, y sin abrir siquiera el ordenador, no obstante, son memorias de sólo lectura, para operaciones normales no se puede escribir en la memoria, se necesita un programa especial para poder hacerlo. 3.3.2. Memorias de lectura/escritura: RAM Son memorias de lectura/escritura, acceso aleatorio y volátiles. La memoria principal de un ordenador es RAM, ya que la ROM al no permitir la escritura tiene un uso limitado. El sistema operativo y los programas y datos del usuario se almacenan en memoria RAM para poder ser usados por el procesador. Podemos distinguir dos tipos de memorias RAM: a) DRAM (Dinamic Random Access Memory): Son memorias en las cuales el estado (0 ó 1) se almacena en un dispositivo electrónico 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 señal, que se deno- mina señal de refresco, que recuerde a la memoria la información que posee, ya que ésta, se pierde poco después de haberse introducido. El microprocesador es el que da las órdenes oportunas para que la señal de refresco llegue a la memoria. La frecuencia de esta señal de refresco tiene que ser suficiente- mente alta para que no de tiempo a que se pierda la información contenida en la m e- moria. La capacidad de las memorias DRAM va de 64Kbit a 32Mbit (la capacidad de los chips de memoria se suele medir en bits y no en bytes). El tiempo medio de acceso de esta memoria oscila entre 80ns y 50ns. Actualmente no se emplean directamente los chips de memoria, sino que se agrupan varios en una placa, con un conector estándar para poder colocarse mejor; son los llamados SIMM (Single Inline Memory Module) que han existido de dos tipos: de 30 contactos (casi en desuso) y de 72 contactos. Posteriormente aparecieron los llamados DIMM (Dual Inline Memory Module), que tienen 168 contactos y su capacidad varía desde 8Mb hasta 128 MB. Las figuras siguientes representan los distintos tipos de módulos de memoria que se han existido y existen, así como los tamaños del bus de datos y direcciones de cada uno, en el caso de las memorias dinámicas la memoria direccionable es el doble del tamaño del bus de direcciones, ya que las direcciones se dividen en filas y columnas y se envían consecutivamente ambas por el mismo bus. El tamaño del bus de direcciones indica el máximo tamaño que puede tener una de dichas memorias, también las hay de menor capacidad, en ese caso no se utilizan las líneas de direcciones altas del bus. 40
  • 6. TEMA 3 – Memorias Tipos de memorias DRAM SIMM (30 contactos) Bus de datos: 8 bits Bus de direcciones: 11 bits Memoria direccionable: 4MB SIMM (72 contactos) Bus de datos: 32 bits Bus de direcciones: 12 bits Memoria direccionable: 16MB DIMM (168 contactos) Bus de datos: 64 bits Bus de direcciones: 14 bits Memoria direccionable: 128MB DDR (184 contactos) Memoria direccionable: 256MB RIMM (168 contactos) Memoria direccionable: 512 MB Módulo 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 más caras que las DRAM (a igualdad de capacidad), a cambio son más rápidas 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 evolución de la memoria DRAM nos encontramos con la SDRAM (Synchronous DRAM). Utiliza como modo de encapsulado el módulo DIMM, consiguiendo con ella que la memoria esté sincronizada con el bus de datos y con el reloj del procesador, incrementándose así, la tasa de trasferencia de datos, ya que el procesador sabe perfectamente en que ciclos puede realizar lecturas y escrituras. Además admite que se envíen comandos en los que se especifica que bancos refrescar o actualizar. La diferencia básica con el anterior de modelo es que la memoria es ahora la que espera para establecer sincronía con el resto del sistema 41
  • 7. Apuntes de Informática Basada en la tecnología SDRAM, nos encontramos con la memoria DDR (Double Data Rate). Este tipo utiliza módulos DIMM, aunque con alguna diferencia, como es la variación del número de ranuras existentes en el módulo: se dispone de hasta 184 contactos frente a los 168 presentes en un DIMM convencional. La novedad más 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 utilización de la tecnología Direct Rambus. Los módulos que utiliza esta tecnología se denominan RIMM, existiendo de hasta 512 MB. Son módulos de 168 pines. Utiliza una tecnología de bus y, por ello, no podemos dejar ningún slot vacío, ya que si lo hacemos el canal queda abierto y no funciona. Para que funcione correcta- mente existen unos módulos sin memoria, llamados módulos 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 número de chips, hasta un máximo 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 pequeña 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- ración del ordenador: cantidad de memoria, tipo de discos que tiene, etc. Para almacenar dicha información hace falta memoria que permita escribir, ya que el usuario puede hacer cambios en la configuración, y por otra parte hace falta que no se pierda el contenido al apagar el equi- po, la solución 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
  • 8. TEMA 3 – Memorias 3.4. Jerarquía de la memoria. Actualmente la velocidad de los procesadores no ha parado de aumentar, mientras que la velocidad de la memoria lo ha hecho en una cuantía mucho menor. La solución al problema que plantea esto, es hacer que el procesador espere por la memoria, aunque así se desaprove- cha la velocidad del mismo. Para resolverlo se ha buscado otra solución, que consiste en po- ner una pequeña cantidad de memoria rápida y cara (SRAM), llamada memoria caché, y una cantidad mayor de memoria lenta y barata (DRAM), llamada memoria principal, y que el pro- cesador mantenga una copia de los datos que más utiliza en la memoria caché. 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 dirección 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 más 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 tamaños 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 rápida completo. Los procesadores modernos funcionan interiormente a mayor velocidad que la que em- plean en su comunicación 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 sólo 66MHz. En estas condiciones el rendimiento del procesador se ve mermado por el de la memoria, aunque sea rápida. Por ello, se incluye una pequeña cantidad de memoria caché interna en el procesador (en el caso del Pentium 16Kb, 8Kb para datos y otros 8Kb para códi- 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 generación, por ejemplo el Pentium II, avanza incluso un poco más incluyen- do la memoria caché L2 dentro del procesador, lo que permite que la velocidad de comunica- ción de la misma con el procesador, sea más elevada que la del bus del sistema (por ejemplo 200MHz en lugar de 100MHz). En el extremo opuesto también se pueden conseguir mejoras. Supongamos que tenemos un ordenador con 16Mb de memoria principal y queremos usar un programa que requiere 16Mb de memoria (entre datos y código), pero el sistema operativo emplea 4Mb de memoria. Aparentemente no se puede, pero hay una técnica para conseguirlo. Se trata de emplear parte de la memoria auxiliar como si fuera memoria RAM, la parte de los datos o el programa que menos se use se escribe en disco, y cuando se necesite, se lleva otra vez a memoria, escribien- do en su lugar en el disco los datos menos usados que estaban en la memoria. Con este siste- ma el rendimiento se degrada, ya que el tiempo medio de acceso de un disco es de milisegun- dos, frente a los nanosegundos del tiempo de acceso a la memoria, pero al menos, se puede utilizar el programa, cosa de otro modo imposible, Además, salvo que se requiera mucha más 43
  • 9. Apuntes de Informática memoria de la disponible físicamente, el rendimiento no disminuye tanto, por ejemplo, si te- nemos un procesador de textos que tiene un módulo que permite corregir la ortografía, mien- tras no lo utilicemos no hace falta que esté físicamente en memoria, de modo que si el pro- grama necesita 16Mb de RAM, es posible que las opciones que estemos usando usen sólo 8Mb, el resto se puede dejar en disco hasta que sea necesario. Resumiendo, para conseguir un elevado rendimiento de un procesador hace falta je- rarquizar la memoria: tener una pequeña cantidad de memoria muy rápida (aunque sea muy cara), una cantidad pequeña de memoria rápida y cara, una cantidad relativamente grande de memoria lenta y barata y, además, un espacio de disco mayor que la memoria, que será mucho más lento que la misma, pero de coste también mucho más reducido por bit. Con este sistema se obtiene un rendimiento menor que si toda la memoria necesaria fuera muy rápida, pero a un coste mucho menor. 3.5. Funcionamiento de la memoria. 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- ción, o posición en la memoria. Cada palabra tiene el mismo número de bits, llamados longi- tud de palabra. Dicha longitud es también 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 más. Las direcciones, o números de dirección en la memoria, van consecutivamente. Se suelen expresar en hexadecimal partiendo de 00....000 y llegando hasta la dirección más grande posi- ble que será la FF....FFF. El procesador puede leer o escribir una palabra en cada posición de memoria. Es muy importante entender la diferencia entre el contenido de una dirección de memoria y la dirección en sí misma. La memoria es como un gran gabinete con muchos cajones, los cuales corresponden a las direcciones de memoria. En cada cajón hay una palabra y la direc- ción de cada palabra se escribe en la parte externa del cajón. Para obtener el contenido de un cajón debemos saber cual es, es decir debemos tener la dirección, pero el contenido es lo que hay dentro del cajón que no tiene nada que ver con su dirección. 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: a) Bus de direcciones: Este conjunto de patas contiene la dirección en forma de número bi- nario del dato que se busca, se conectan a otro conjunto de patas similares que tiene el procesador, cuando éste quiere leer un dato coloca en el bus de direcciones la dirección del dato y espera a que la memoria se lo envíe por el bus de datos que se explica a conti- nuación. 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 44
  • 10. TEMA 3 – Memorias bit (es decir una sola pata) en cada celda de memoria de ese chip se puede almacenar sólo 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) Señales 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 líneas 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 sólo 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 señales, una cuando dichos bits son 00, otra cuando son 01, otra para 10 y final- mente otra para 11. Cada una de las señales del decodificador va a parar a una pata, llamada chip select, de los 8 chips de cada grupo, cada chip está seleccionado sólo cuando recibe la señal 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 dirección 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 cues- tión. 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 tamaño mayor, por ejemplo de 16 bits, hay dos posibles alternativas para esta situación, una es colocar en la parte baja del número leído el contenido de la posición baja de memoria y en la parte alta el de la posición alta, por ejemplo si la posi- ción de memoria 1234 contiene el número 56 y la posición 1235 contiene el 78, al leer un dato de 16 bits de 1234 se obtiene 7856 (todos los números están 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 leería de memoria el dato 5678. 45
  • 11. Apuntes de Informática 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 dirección 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 dirección pedida, pasado ese tiempo da por concluida la operación. 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
  • 12. TEMA 3 – Memorias EJERCICIOS 1. Calcula el número de bits de memoria de un ordenador con direcciones de 20 bits y pala- bras de 12 bits. 2. Para una aplicación se requiere una memoria de por lo menos 100.000 palabras. ¿Cuál es el tamaño mínimo del bus de direcciones que permitirá tener acceso a cada palabra de forma unívoca? 3. Los sociólogos pueden obtener tres respuestas posibles a una pregunta de una encuesta: Si, No y No opina. Una compañía ha decidido realizar un ordenador para procesar los datos de la encuesta. Este ordenador tiene memoria ternaria, es decir, la unidad de información es el trit, que puede adoptar 3 estados, 0, 1 y 2. ¿Cuántos trits se necesitan para almacenar un número de 6 bits? Obtén una expresión para el número de trits necesarios para representar n bits. 4. Cierto ordenador posee 262.144 bytes de memoria principal, ¿por qué eligió el fabricante dicho número en lugar de uno más fácil de recordar como 250.000? 5. Si un ordenador tiene 24Mb de memoria principal y palabras de 16 bits, ¿cuántos bits ne- cesita tener en el bus de direcciones? 6. ¿Qué opinas de un ordenador con las siguientes características: 2Mb de memoria caché, 640Kb de memoria principal y 20Mb de disco duro? Cuenta el porqué de las cosas refi- riéndote a jerarquías de memorias. 7. En un ordenador las direcciones son de 24 bits y los datos de 8 bits. Calcula la capacidad máxima de memoria de dicho ordenador en bytes y en Mb. 47