Tema 3 memorias

12

Click here to load reader

Transcript of Tema 3 memorias

Page 1: Tema 3   memorias

36

3MEMORIAS

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 por8 bits. No importa que tipo de información estemos almacenando; estará codificada en unaestructura particular de bits, que será interpretada de la forma adecuada al tipo de datos encuestió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, unnúmero que sólo identifica a esa unidad. Las direcciones de memoria están numeradas una auna, empezando por cero.

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

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 recuperarinformación previamente escrita en esa dirección.

Page 2: Tema 3   memorias

TEMA 3 – Memorias

37

Por tanto, podemos ver las memorias como cajas negras, a las que hay que suministrar unadirecció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 dispositivosde 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 quepermiten 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 yno 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 cortadicho suministro se borra la información que poseen. En contraposición están las novolá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, porlo que después de leer en ellas, hay que volver a grabarlas. Un ejemplo de este tipo sonlas 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 byteo 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.

Page 3: Tema 3   memorias

Apuntes de Informática

38

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ónen 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 esono es demasiado preciso, es mejor citar el tiempo de acceso, que se mide normalmente ennanosegundos.

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 unaoperación de acceso a memoria, ya que cada posición de memoria almacena un byte. Aunquea la hora de hablar de la capacidad de memoria, se utilizan múltiplos de él que vimos en eltema 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 memoriasde semiconductores. La primera memoria comercial de semiconductor tenía una capacidad de64 bits y fue fabricada por IBM en 1968. Poco más tarde, en 1972, aparecieron los primerosordenadores 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 porun 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á enestado de corte no deja pasar prácticamente nada a su través, y a la salida del transistor apenasse obtiene corriente, es lo que llamamos "0 lógico". Cuando está en estado de saturación, dejaque 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ónque contienen, pueda o no, modificarse después de haberla introducido.

Page 4: Tema 3   memorias

TEMA 3 – Memorias

39

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 deacceso aleatorio y no volátiles.

Este tipo de memorias se utilizan para guardar una serie de programas que vienen con elordenador desde fábrica, como son los contenidos en la ROM-BIOS (Basic Input-OutputSystem). En ella básicamente están unos programas de diagnóstico, encargados de chequear elhardware para comprobar que todo es correcto antes de arrancar. Además, tiene el programade 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, tarjetagrá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 ROMde 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, peroen 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óloleerla.

Cada punto de memoria va a estar formado por un transistor y un fusible. Dejando pasaruna 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, dejandosó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 puedeser modificada por el usuario un número limitado de veces. Para grabar la información senecesita un aparato especial, llamado grabador de EPROM. Antes de regrabar unaEPROM hay que borrar el contenido anterior, para ello se emplea luz ultravioleta y poseeuna 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 sistemainformá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 lasanteriores en que pueden borrarse y grabarse en el mismo sistema informático y, en estecaso, 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.

Page 5: Tema 3   memorias

Apuntes de Informática

40

Actualmente la ROM-BIOS de muchos ordenadores viene en formato Flash, esta es unamemoria EEPROM, que permite por tanto que el usuario actualice el contenido de lamisma 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 escribiren 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 deun ordenador es RAM, ya que la ROM al no permitir la escritura tiene un uso limitado. Elsistema operativo y los programas y datos del usuario se almacenan en memoria RAM parapoder 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 podemoscompararla 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 refrescollegue 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 me-moria.

La capacidad de las memorias DRAM va de 64Kbit a 32Mbit (la capacidad de loschips de memoria se suele medir en bits y no en bytes). El tiempo medio de acceso deesta memoria oscila entre 80ns y 50ns. Actualmente no se emplean directamente loschips de memoria, sino que se agrupan varios en una placa, con un conector estándarpara 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), quetienen 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 sehan existido y existen, así como los tamaños del bus de datos y direcciones de cadauno, en el caso de las memorias dinámicas la memoria direccionable es el doble deltamaño del bus de direcciones, ya que las direcciones se dividen en filas y columnas yse envían consecutivamente ambas por el mismo bus. El tamaño del bus de direccionesindica el máximo tamaño que puede tener una de dichas memorias, también las hay demenor capacidad, en ese caso no se utilizan las líneas de direcciones altas del bus.

Page 6: Tema 3   memorias

TEMA 3 – Memorias

41

Tipos de memorias DRAM

SIMM (30 contactos)Bus de datos: 8 bitsBus de direcciones: 11 bitsMemoria direccionable: 4MB

SIMM (72 contactos)Bus de datos: 32 bitsBus de direcciones: 12 bitsMemoria direccionable: 16MB

DIMM (168 contactos)Bus de datos: 64 bitsBus de direcciones: 14 bitsMemoria 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 memoriasanteriores es que no necesitan refresco, para ello emplean varios transistores por bit, locual reduce la capacidad de la memoria y hace que sean más caras que las DRAM (aigualdad 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 apartadosiguiente.

En la evolución de la memoria DRAM nos encontramos con la SDRAM (SynchronousDRAM). Utiliza como modo de encapsulado el módulo DIMM, consiguiendo con ella que lamemoria esté sincronizada con el bus de datos y con el reloj del procesador, incrementándoseasí, la tasa de trasferencia de datos, ya que el procesador sabe perfectamente en que ciclospuede realizar lecturas y escrituras. Además admite que se envíen comandos en los que seespecifica que bancos refrescar o actualizar. La diferencia básica con el anterior de modelo esque la memoria es ahora la que espera para establecer sincronía con el resto del sistema

Page 7: Tema 3   memorias

Apuntes de Informática

42

Basada en la tecnología SDRAM, nos encontramos con la memoria DDR (Double DataRate). Este tipo utiliza módulos DIMM, aunque con alguna diferencia, como es la variacióndel número de ranuras existentes en el módulo: se dispone de hasta 184 contactos frente a los168 presentes en un DIMM convencional. La novedad más importante que presenta es la deutilizar 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 plataformaAtlon de AMD se ha decantando por ella.

Intel, sin embargo, se ha decantado por la utilización de la tecnología Direct Rambus. Losmódulos que utiliza esta tecnología se denominan RIMM, existiendo de hasta 512 MB. Sonmódulos de 168 pines. Utiliza una tecnología de bus y, por ello, no podemos dejar ningún slotvací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 quehacen es cerrar el canal.

Pueden ser de doble cara o de una sola cara, y admiten cualquier número de chips, hastaun máximo de 32 soportados por canal. En este caso las velocidades de trasferencia de datospueden llegar hasta 1.6 GB/s.

Finalmente conviene citar una pequeña memoria (64 o 128 bytes) que tiene el ordenadorde tipo CMOS (bajo consumo), que aunque es memoria RAM, no pierde su contenido, graciasa que es alimentada por una pila. Se emplea para mantener un reloj en tiempo real (que siguefuncionando 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 dichainformación hace falta memoria que permita escribir, ya que el usuario puede hacer cambiosen 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 contenidadentro de un chip y no forma parte del mapa de memoria del ordenador, ya que para acceder aella se emplean operaciones de Entrada/Salida.

Controlador

Canal

Conectores

Canal

Terminadorde Canal

Page 8: Tema 3   memorias

TEMA 3 – Memorias

43

3.4. Jerarquía de la memoria.

Actualmente la velocidad de los procesadores no ha parado de aumentar, mientras que lavelocidad de la memoria lo ha hecho en una cuantía mucho menor. La solución al problemaque 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 unacantidad 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 memoriacaché 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é, ysi el dato está en la misma, da la orden para leer de la cache , en caso contrario, el dato se leede la memoria principal, empleando los estados de espera que sean necesarios, y se copia enla memoria caché, para que cuando lo necesite la CPU se encuentre con más rapidez. Parapoder 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 uncoste reducido, un sistema que tiene el 90% de velocidad que el equivalente con memoriará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 a200MHz internamente, pero se comunica con la memoria externa (sea principal o caché) asólo 66MHz. En estas condiciones el rendimiento del procesador se ve mermado por el de lamemoria, 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 ejemplo200MHz en lugar de 100MHz).

En el extremo opuesto también se pueden conseguir mejoras. Supongamos que tenemosun ordenador con 16Mb de memoria principal y queremos usar un programa que requiere16Mb 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 partede la memoria auxiliar como si fuera memoria RAM, la parte de los datos o el programa quemenos 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 puedeutilizar el programa, cosa de otro modo imposible, Además, salvo que se requiera mucha más

Page 9: Tema 3   memorias

Apuntes de Informática

44

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ólo8Mb, 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 muycara), una cantidad pequeña de memoria rápida y cara, una cantidad relativamente grande dememoria lenta y barata y, además, un espacio de disco mayor que la memoria, que será muchomás lento que la misma, pero de coste también mucho más reducido por bit. Con este sistemase obtiene un rendimiento menor que si toda la memoria necesaria fuera muy rápida, pero a uncoste mucho menor.

3.5. Funcionamiento de la memoria.

La forma en que esta organizada una memoria principal es la siguiente: está dividida en Npalabras, 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. Porcompatibilidad con los procesadores anteriores las posiciones de memoria se suelen numerarsiempre de 8 en 8 bits, con independencia de que el procesador pueda acceder directamente a16 bits, o más.

Las direcciones, o números de dirección en la memoria, van consecutivamente. Se suelenexpresar 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 dememoria.

Es muy importante entender la diferencia entre el contenido de una dirección de memoriay la dirección en sí misma. La memoria es como un gran gabinete con muchos cajones, loscuales 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 uncajón debemos saber cual es, es decir debemos tener la dirección, pero el contenido es lo quehay 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 serconectados 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 elprocesador, cuando éste quiere leer un dato coloca en el bus de direcciones la direccióndel 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 circulanlos datos entre ambos. Por ejemplo, si un chip de memoria contiene un bus de datos de 1

Page 10: Tema 3   memorias

TEMA 3 – Memorias

45

bit (es decir una sola pata) en cada celda de memoria de ese chip se puede almacenar sóloun 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 datosdel procesador, así cada dato de 8 bits que maneje el procesador tendrá cada uno de susbits en un chip distinto.

c) Señales de control: Sirven para controlar el proceso, por ejemplo una de ellas llamada

RW / 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 undecodificador, 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 empleamospara la memoria chips con un bus de direcciones de 14 bits y 1 bit para el bus de datos. Elprocesador puede acceder a 64Kb, mientras que los chips de memoria tienen capacidad desó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 decodificadorque 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, llamadachip select, de los 8 chips de cada grupo, cada chip está seleccionado sólo cuando recibe laseñ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 RW / 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 elprocesador puede acceder a datos de tamaño mayor, por ejemplo de 16 bits, hay dos posiblesalternativas para esta situación, una es colocar en la parte baja del número leído el contenidode 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 datode 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 deMotorola, que emplean el inverso, es decir en el caso anterior un procesador 68000 leería dememoria el dato 5678.

Page 11: Tema 3   memorias

Apuntes de Informática

46

Escribiendo en memoria

Cuando el procesador transfiere un dato hacia la memoria, es decir, cuando se escribe enla memoria, se produce la siguiente secuencia:

1. Coloca la dirección del dato en el bus de direcciones.

2. Coloca en la pata RW / 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 dichovalor 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, portanto 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 seemplea el mismo orden a la hora de leerlo.

Page 12: Tema 3   memorias

TEMA 3 – Memorias

47

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 eltamaño mínimo del bus de direcciones que permitirá tener acceso a cada palabra de formauní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 dela encuesta. Este ordenador tiene memoria ternaria, es decir, la unidad de información es eltrit, que puede adoptar 3 estados, 0, 1 y 2. ¿Cuántos trits se necesitan para almacenar unnúmero de 6 bits? Obtén una expresión para el número de trits necesarios para representarn bits.

4. Cierto ordenador posee 262.144 bytes de memoria principal, ¿por qué eligió el fabricantedicho 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 capacidadmáxima de memoria de dicho ordenador en bytes y en Mb.