Sunteți pe pagina 1din 12

Memoria central.

Tema 6

MEMORIA CENTRAL

En este tema se pretende ver con ms detalle, los aspectos concernientes a la organizacin de
una memoria central, tanto a nivel lgico, como de hardware (conexiones).
La funcin de la memoria central es la de almacenar las instrucciones y/o datos a los que
accede el microprocesador o CPU del ordenador. Dicho de otra manera, para que una
informacin sea accesible a la CPU del ordenador, debe ser previamente almacenada en su
memoria central.
Las caractersticas de este tipo de memorias, y que ya vimos en el tema anterior, son:
-

Construida con semiconductores.

Tiempos de acceso y de ciclo pequeos.

Acceso aleatorio.

Activas (permiten su lectura y escritura).

Capacidad de tipo medio (entre 256 MBytes y unos pocos GBytes).

Voltiles.

La mnima informacin accesible es la palabra.

6.1 ORGANIZACIN GENERAL DE UNA MEMORIA.


Dgito de la palabra de memoria
m-1
m-2
m-3

1 0
Posicin n-1
Posicin n-2
Posicin n-3

Posicin 1
Posicin 0

Departamento de Informtica.

Memoria central. 2
La memoria principal o central est organizada como muestra la figura. Se encuentra dividida
en n palabras y a cada palabra se la asigna una direccin o posicin de memoria. Todas las palabras tienen el mismo nmero de bits que llamamos longitud de palabra (m en este caso).
Las direcciones o posiciones de memoria son nmeros naturales, codificados en binario
natural, y asignados de manera consecutiva desde la direccin 0, hasta la ltima direccin, la n-1.
Aunque los elementos necesarios para operar con la memoria central, depende de cada
ordenador, en general, el diagrama de bloques de una memoria es el siguiente:

El registro de direccin de memoria (MAR) es el encargado de almacenar la direccin a la


que se quiere acceder. Su tamao queda determinado por la mxima capacidad de la memoria
utilizable. Si sta es 2n-1, el tamao de este registro ser n. Este registro siempre lleva la informacin hacia la memoria, y nunca hacia el exterior.
El registro intermedio de memoria (MBR) es el encargado de almacenar el dato a ser
escrito en la memoria, o el dato que ha sido ledo de sta. Su longitud es igual a la de palabra de
memoria.
Los pasos a seguir para realizar cada una de las operaciones sobre la memoria son:

Departamento de Informtica.

Memoria central. 3
-

LECTURA
1. direccin MAR. El computador coloca la direccin de la posicin de la que se va
a leer el dato en el registro MAR
2. Activamos la entrada de control de lectura.
3. dato MBR. Transcurrido el tiempo de acceso dispondremos en el registro
intermedio de memoria el dato pedido.

ESCRITURA
1. direccin MAR (el computador coloca la direccin de la posicin de la que se va
a leer el dato en el registro MAR) y dato MBR (el computador coloca el dato a
escribir en el registro intermedio de memoria).
2. Activamos la entrada de control de escritura. Transcurrido el tiempo necesario el
dato del MBR se habr grabado en la memoria en la posicin indicada por el MAR.

Vemos que el computador se comunica con la memoria por medio del registro de direccin de
memoria, del registro intermedio de memoria y de las entradas de control escribir y leer.
Las memorias son generalmente empacadas en mdulos o paquetes separados. Estos mdulos
suelen tener una capacidad potencia de dos. Podemos conseguir mdulos de capacidades
distintas a las que aparecen en el mercado mediante la interconexin apropiada de estos mdulos
ms pequeos.
La clula bsica de memoria o punto de memoria de la memoria central lo vamos a
representar de la siguiente manera

seleccin
datos
Escritura/
Lectura

I/O
R/W

Donde el significado de cada entrada/salida es el siguiente:

Departamento de Informtica.

Memoria central. 4
Lnea de seleccin. Selecciona la clula de memoria que va a actuar ya sea en una operacin
de lectura o en una operacin de escritura. Esta entrada acta sobre el cerrojo que conecta la
lnea de datos con el exterior.
-

Si Seleccin=0 la clula est aislada del exterior, es decir, el cerrojo est abierto.

Si Seleccin=1 la clula est habilitada, es decir, conectada con el exterior, se opera


segn se indique en el resto de entradas.

Lnea de Escritura/Lectura. Esta lnea indica la operacin a realizar.


Lnea de datos. Es la lnea por la que entra la informacin a ser grabada en la clula en la
operacin de escritura, o se muestra al exterior el valor binario almacenado en la clula en
la operacin de lectura.
A continuacin vamos a ver las formas ms normales de organizar clulas de este tipo, de tal
manera que obtengamos bloques de memoria, con la capacidad y longitud de palabra deseados.
Este tipo de organizaciones van a ser similares a las que usaremos para construir, a partir de
bloques bsicos, unidades de memoria con las caractersticas requeridas.

6.2 ORGANIZACIN LINEAL O 2D


Se denomina as porque existen tantos terminales de unin entre el decodificador y las
posiciones de memoria como nmero de stas posee la memoria. En la figura 1 se representa un
esquema de organizacin 2D en una memoria de 2n posiciones de m bits cada una.
Disponemos de un conjunto de posiciones de memoria, cada una de ellas est compuesta por
m puntos de memoria (celdas bsicas) para almacenar una palabra de m bits. Un nico decodificador recibe la direccin de memoria formada por n dgitos binarios, y activa una de sus 2n
salidas, la correspondiente a la posicin de memoria especificada.
Los terminales de datos de todas las posiciones se conectan entre s al igual que las entradas
de control de lectura y escritura de la memoria, como se ve en la figura.
Al aparecer en las entradas de las variables de direccin una determinada combinacin binaria
se activa una sola salida del decodificador y las clulas de la posicin conectada a ella son ledas
o escritas segn el estado de la seal de control de lectura/escritura.
As si en las lneas de direccin de memoria aparece la posicin 2 (en binario: 00010), el
decodificador da la seal 1 en la salida O2 que es la tercera fila de celdas bsicas, con lo que
quedan seleccionadas, y ser en ellas sobre las que se realice la operacin de lectura o escritura.

Departamento de Informtica.

Memoria central. 5

Palabra 0
0
1

Palabra 1

Direccin
n bits

Deco.

2n-1

Palabra 2n-1

Datos
Lectura /Escritura

Ejemplo. En la figura 2 se muestra un ejemplo de conexin de clulas bsicas mediante


organizacin 2D, para construir una memoria de 4 palabras con 4 dgitos por palabra.
R/W
Bus
de
direccin
A1 A0

S
O

Oo

O2
I1

S
O

S
O

O
W

S
O

O
W

S
O

S
O

S
O

O1
Io

S
O

S
O

O
W

O3
S

S
O

S
O

S
O

O
W

d0
Bus
d1
de
d2
datos d3

Figura 2

Departamento de Informtica.

Memoria central. 6
El nmero de conexiones al usar este tipo de organizacin para una memoria con 2n
posiciones y una longitud de palabra de m dgitos binarios es:
Nc = 2n + m + 1
Que para el caso del ejemplo sera 4 + 4 + 1 = 9 conexiones (4 de seleccin, 4 de datos y una
de control).
Ejemplo. Para poder comparar con la siguiente organizacin supongamos que tenemos una
memoria de 4 Kpalabras, de 8 dgitos binarios cada palabra. El nmero de conexiones
necesarias para esta memoria usando organizacin 2D ser:
Nc = 212 +8 + 1 = 4105 conexiones

6.3 ORGANIZACIN POR COINCIDENCIA O 3D.


Esta organizacin reduce el nmero de conexiones entre las posiciones de memoria y el
exterior, dividiendo las variables del registro de direcciones en dos grupos que se decodifican por
separado y seleccionando las posiciones mediante dos entradas, una de cada uno de los
decodificadores. Demostraremos que el nmero mnimo de conexiones se obtiene cuando ambos
decodificadores son iguales, es decir, cuando cada uno decodifica la mitad de las variables de
direccin. Esta organizacin reduce enormemente el nmero de conexiones entre las clulas de
memoria y el exterior, con respecto a la 2D cuando el nmero de conexiones es elevado y por
ello es la ms utilizada por los fabricantes. Ahora la clula bsica ser de la siguiente forma:

seleccin x
seleccin y
Escritura/
Lectura

Sx
datos
Sy

I/O

R/W

Observemos que recibe dos hilos de seleccin. Ahora para que se seleccione la celda bsica,
es necesario que las dos lneas de seleccin estn a 1.
Veamos un ejemplo de una memoria de 16 palabras de un bit en organizacin 3D:

Departamento de Informtica.

Memoria central. 7

Escritura/Lectur

La palabra de direccin de memoria se divide en dos campos: uno ir a uno de los


decodificadores, que selecciona la lnea y el otro campo ir al decodificador que seleccione la
columna. El punto de memoria donde ambas seales coincidan, tendr sus dos lneas de
seleccin a 1 y ser, pues, sobre el que actuemos leyendo o escribiendo.
Este esquema representa palabras de un bit. Para lograr memorias de longitud de palabra
mayores, lo que se hace es superponer otras capas como la mostrada, pero sin los
decodificadores, ya que la misma salida de cada uno de estos servir para activar la misma fila o
columna de todas las capas. Por esta caracterstica se la llama organizacin 3D.
Ejemplo. Si quisiramos construir la memoria del ejemplo final del apartado anterior (4
Kpalabras, de 8 dgitos binarios cada palabra), pero usando organizacin 3D, el nmero de
conexiones sera:
Nc = 26 + 26 + 8 + 1 = 137 conexiones
Demostracin de que el nmero mnimo de conexiones se obtiene cuando cada uno de los
decodificadores recibe la mitad de las variables de direccin.
Llamemos X a las salidas del primer decodificador e Y a las salidas del segundo
decodificador. Si n es el nmero de variables de direccin, podemos decodificar 2_
combinaciones diferentes, por tanto: X Y = 2n.
El nmero de conexiones es:
Nc = X + Y + m + 1 siendo m el nmero de bits por palabra.

Departamento de Informtica.

Memoria central. 8
Ahora bien, Y = 2n / X, luego:
Nc = X + 2n / X + m + 1
Diferenciando e igualando a cero encontramos el posible valor extremal:
d( N c )
(-1)
= 1 + 2n _ 2 = 0
dX
X

con lo que :

2
n
X = 2 , luego X = Y = 2 2

6.4 APNDICE.
6.4.1 Mapa de memoria de un computador.
Para referenciar los datos e instrucciones, el computador genera y manipula direcciones de
memoria principal. Por la propia construccin del computador, estas direcciones estn limitadas
a un cierto tamao correspondiente al nmero de bits que es capaz de manejar ese computador en
las operaciones de direccionamiento.
Se llama mapa de memoria a todo el espacio direccionable por un computador. Este espacio
viene determinado por el tamao de las direcciones. Por ejemplo, si este tamao es de n dgitos
binarios, el tamao del mapa de memoria del ordenador ser de 2n palabras.
6.4.2 Ampliacin del mapa de memoria.
Generalmente, el computador no se equipa con toda la memoria necesaria para llenar su mapa
de memoria. Para poder completar ste se comercializan unidades de memoria que se pueden
unir, de la forma adecuada, a la que ya tenemos y se las llama ampliaciones del mapa de
memoria.

BIBLIOGRAFA.
Herbert Taub. "Circuitos digitales y microprocesadores". McGraw-Hill. 1983.
Thomas C. Bartee. "Fundamentos de computadores digitales". McGraw-Hill. 1981.
J. - P. Meinadier. "Estructura y funcionamiento de los computadores digitales". A. C. 1986.

Departamento de Informtica.

Memoria central. 9

EJERCICIOS PROPUESTOS.
1. Se quiere construir una memoria de 8Kbit de capacidad, con una longitud de palabra de 8 bit,
con circuitos integrados de 128 bit, 1 bit/palabra.
a. Indicar el nmero de circuitos integrados que se necesitan.
b. Cuntas conexiones con el exterior tendr el bus?.

2. Dado un circuito de memoria que tiene


los terminales mostrados en la figura, con
una capacidad de 2K palabras de 8
bit/palabra:

>Selec.

Datos<>
>Escr/lec

direccin

a. Calcular cuntas lneas de direccin tiene este circuito.


b. Construir a partir de l un circuito elemental de 2K palabras con dos lneas de seleccin S1 y
S2. (En este caso, para que el circuito integrado quede seleccionado, han de estar a 1
simultneamente S1 y S2).
c. Con el circuito elemental del apartado b, construir una memoria de 32K palabras de 8
bit/palabra utilizando una configuracin 2D y 3D.
(examen mayo 1989).
3. Sea un circuito bsico de memoria como el mostrado en el problema Error! No se
encuentra el origen de la referencia., con capacidad de 512 palabras de una longitud de 3
bit/palabra. Representar esquemticamente la organizacin que tendra una memoria de 2K
palabras con seleccin lineal 2D utilizando estos circuitos bsicos elementales.
4. Consideremos un circuito integrado con una capacidad de 256 palabras de 4 bit. La lnea de
seleccin es SEL, las lneas de direccin DIR, DAT las lneas de datos, y WRT la lnea de
habilitacin para escritura.
a. Cuntas lneas de direccin y de datos tendr este circuito?.
b. Utilizando tantos circuitos de este tipo como sean precisos, construir una memoria de 1K
palabras de 16 bit/palabra con seleccin lineal. Dibujar el bus de datos y direcciones del
circuito diseado.

Departamento de Informtica.

Memoria central. 10
c. Indicar de qu circuitos integrados se obtendran las palabras de memoria situadas en las
direcciones 160, 255 y 1023 (supuesto que los bits de seleccin menos significativos sean los
que afectan al circuito integrado bsico de partida.
5. Partiendo de una unidad bsica de memoria constituida por una pastilla que permite almacenar
32 palabras de 4 bits, representar un esquema con todos los componentes necesarios para
construir una memoria de 512 palabras de 24 bits/palabra.
6. Una memoria semiconductora puede construir segn una estructura 4D dividiendo el registro
de direccin de memoria en tres partes y teniendo tres decodificadores. Sin embargo, la clula
de memoria ha de se ms compleja.
a. Disea una clula de memoria para este tipo de organizacin.
b. Haz un esquema de la organizacin de la memoria para un tamao de 64 palabras de un bit.
7. Analice la funcin del siguiente circuito digital:

C
O0A0
M

O
01A1
E
D0

N
O2A2
M
D1

T
O3A3
O
D2

R
D3

I
D4

A
D5

D6

On-2An-2
D7

On-1An-1

LINEA DE SELEC.
r/w
RELOJ

RESET
1
0

8. Una memoria en su operacin de lectura se comporta igual que una funcin lgica de
variables lgicas. Las variables de entrada son reemplazadas por las variables de direccin, y
las variables de salida por las lneas de datos. Siguiendo esta idea bsica, implemente
mediante una unidad de memoria operando en modo lectura un sumador completo.

Departamento de Informtica.

Memoria central. 11
9. Se dispone de chips de 512 kbit (512 k x 1 bit) cuyo esquema es el siguiente:
S Seleccin

Bus de 19 hilos
512 K bit
Dato
A0 - A18

A partir de circuitos de este tipo disear una memoria de 1Mbyte.


Considerando lo anterior como un nico bloque de memoria, que desde el punto de vista
externo es:
S Seleccin

Bus de 20 hilos
1 M Byte
8 Hilos de datos
A0 - A19

Aadirlo a un computador que ya posee un memoria de 512 k bytes, cuyo esquema es similar al
anterior slo que con 19 hilos en el bus de direccin, conectado a un bus de 21 hilos.
(junio 90)
10. Disponemos de circuitos bsicos de memoria con una capacidad de almacenamiento de 512 k
x 1bit. Construir a partir de ellos uno de 512 k x 1byte. Tomando como bloques elementales
los circuitos anteriores de 512 k x 1byte, obtener a partir de cierto nmero de ellos una
memoria de 3 Mbytes. (febrero 91).
11. Se desea construir una memoria de 64 KB (k bytes) con bloques de 8 KB, ms un cierto
mecanismo de proteccin de lectura/escritura. Para ello, se dispone de un registro de 8 bits,
cada uno de los cuales controla si es posible "escribir" en un determinado bloque de 8kB. Si
est a cero el bit correspondiente no se puede escribir, si lo esta a uno, se puede escribir. En el
caso de intentar escribir en un bloque sin permiso de escritura se dar una salida 1 por un
terminal de error. Primeramente disee la memoria de 64 kB. A continuacin haga las
pertinentes modificaciones sobre el primero para incorporar el mecanismo de proteccin.
(septiembre 91).
12. Una mquina posee un registro de direccin de memoria de 16 dgitos binarios. Construir la
memoria de ese ordenador mediante circuitos bsicos de 16 Kpalabras con longitud de
palabra de 8 dgitos binarios, teniendo en cuenta que las ltimas 8 Kposiciones del mapa de
memoria se reservan para programas del sistema operativo, por lo que su contenido no puede

Departamento de Informtica.

Memoria central. 12
ser modificado. Si se intenta escribir sobre estas posiciones, habr que impedirlo y adems
generar una seal de error (ERR) que se activar en este caso.
NOTA: Cuando la entrada de Escritura/Lectura vale 0 se lee de la memoria, y cuando valga 1
se escribe en sta.
13. Un ordenador posee un mapa de memoria de 16 Mpalabras, con una longitud de palabra de 1
Byte. De este mapa de memoria se reserva una zona de 2 Mpalabras a partir de la direccin
800000H (inclusive) para usos especiales, no existiendo, por lo tanto, memoria fsica en esas
direcciones. Tampoco existe memoria fsica en las ltimas 4 Mposiciones. Realizar el diseo
de esta memoria, para lo que se dispone de un nmero ilimitado de circuitos bsicos de
memoria de 2 y 4 Mpalabras de 8 dgitos binarios por palabra, atendiendo a un criterio de
economa de medios: mnimo nmero de circuitos y conexiones, y sin que existan posiciones
de memoria fsica inutilizadas.
14. Una mquina posee un registro de direccin de memoria (MAR) de 16 dgitos binarios, y un
registro intermedio de memoria (MBR) de 12 dgitos binarios. La memoria central de este
ordenador tiene las siguientes caractersticas:

Entre las direcciones 6000H y 7FFFH no existe memoria fsica. Son direcciones
reservadas para uso especial.

Las ltimas 8Kposiciones del mapa de memoria se reservan para programas del sistema
operativo por lo que no pueden ser modificadas, es decir, si se intenta acceder a ellas para
escribir su contenido deber ser impedido.

Construir la memoria central de este ordenador, para la que se dispone de circuitos de


memoria de 8K y 16 Kpalabras de longitud de palabra 12 dgitos binarios, atendiendo a un
criterio de economa de medios: mnimo nmero de circuitos y conexiones, y sin que existan
posiciones de memoria fsica inutilizadas.
NOTA: Cuando la entrada de Escritura/Lectura vale 0 se lee de la memoria, y cuando valga 1
se escribe en sta.

Departamento de Informtica.

S-ar putea să vă placă și