Procesamiento digital de señales. Sistema de memoria

Anuncio
TEMA 3º SISTEMAS
DE MEMORIA
3.1.- Introducción.
3.2.- Medios y soportes de las memorias.
3.3.- Modo de acceso a la memoria.
3.4.- Parámetros principales.
3.5.- RAM.
3.6.- ROM.
3.7.- Memoria de acceso secuencial.
3.7.- Memorias asociativas.
• Introducción.• Sistemas de memoria.- Todo sistema capaz de almacenar información, pudiéndose acceder a ella
en cualquier momento.
• Punto de memoria.- Es el soporte fÃ−sico de un BIT.
• Registro.- PodrÃ−a definirse como la unidad lógica de información. Se trata de una memoria con
poca capacidad 8-16-32-64 bits, que sirve de memoria intermedia a la hora de transferir información,
a veces también permite realizar ciertas operaciones con la información que tiene, desplazarla,
cargar, etc.
• Memoria.- Es un conjunto organizado de unidades lógicas o palabras, es decir, la información que
en un momento dado existe en la memoria se organiza en forma de palabra. Esta información puede
leerse / escribirse palabra por palabra.
• JerarquÃ−a o sistema de memoria.- Organización lógica de un sistema de memoria.
La memoria caché es una memoria auxiliar de poca capacidad, en torno a KB, que sirve para acelerar el
funcionamiento de ésta. Debido a la tecnologÃ−a con la que esta construida la memoria, es lógico pensar
que cuanta mayor capacidad, mayor es el tiempo de acceso y por tanto más lenta.
Capacidad
T. Acceso
Registro
32 ó 64 bits
Decenas ns
M. Caché
128~512 KB
Centenas ns
M. Principal
64~512 MB
Decenas ms
M. Secundaria
2~30 GB
Centenas ms
M. auxiliar
20GB~??
Minutos
• Medios y soportes de las memorias.-
Tipo
RAM
RAM
RAM
Directo
secuencial
Acceso básico
palabra
Palabra
Palabra
Sector
Nivel de registro
Debido a que la información se debe almacenar de forma binaria, los soportes de las memorias deben
presentar dos estados bien caracterizados, además se a de poder pasar de un estado a otro mediante la
aplicación de una energÃ−a externa y también a de poderse conocer el estado en el que se encuentre.
1
Una caracterÃ−sticas tÃ−picas de la memoria a de ser la estabilidad de la misma y según esto se pueden
clasificar:
• Duradera, no volátil.- Es aquella en la cual la información permanece permanente sin la
intervención de un agente externo, ejemplo disco duro.
• Memoria volátil.- Pierde su contenido una vez que se le deja de suministrar energÃ−a eléctrica,
ejemplo RAM.
• Refresco.- Se trata de circuitos de memoria que aunque se encuentren alimentados por energÃ−a
eléctrica la información que contiene se degrada con el tiempo y hay que rescribirla, ejemplo
DRAM y URAM.
• Memoria de lectura destructiva.- Destruye la información cuando se lee, ejemplo la memoria de
ferrita.
• Memoria permanente.- La información es inalterable y solo puede ser leÃ−da, ejemplos CD-ROM,
ROM.
• Modos de accesos a las memorias.
Se llama modo de acceso a una memoria a la forma en la que se accede a la información, tanto para
almacenarla como recuperarla. Existen diversas formas que permiten realizar la siguiente clasificación:
• Memoria de acceso aleatorio.Son aquellas en las que se puede acceder directamente a cualquier posición sin tener que pasar por ninguna
otra, sin más que direccionarlar. Por tanto el tiempo de acceso tiene un valor fijo ya que es independiente de
la posición elegida (RAM, ROM, PROM, EPROM, EEPROM)
• Memoria de acceso secuencial.Para acceder a una posición determinada hay que pasar por todas las anteriores. Hay dos tipos:
• Acceso en serie.- es aquella que para recuperar una información se debe pasar por todas las
anteriores.
• Acceso en bloque.- es aquella en la cual la información se encuentra en bloque, el acceso a un
bloque es de forma directa o aleatoria, mientras que a la información que contiene el bloque es de
forma secuencial.
• Memoria asociativa.- CAM
A diferencia de las demás, son direccionables por el contenido, es decir, la información se almacena junto
con su clave, por lo que para acceder a ella hay que dar parte de contenido de la posición
• Parámetros principales de las memorias.Principalmente son dos, la capacidad y el tamaño:
• Tamaño -capacidad.- Es la cantidad de información que puede almacenarse y se mide en BIT o
BYTE.
• Velocidad.- El parámetro velocidad se mide por el tiempo de acceso o tiempo que tarda en hacer una
2
lectura/esritura. Para la memoria de direccionamiento estilo RAM, los tiempos de lectura y escritura
son independientes de la dirección y suelen ser distintos debido al tiempo de regeneración del
decodificador de dirección.
Se suele llamar ciclos de lectura a la suma tra+ta; siendo ta (tiempo de acceso) el tiempo que tarda la memoria
en suministrar una palabra de memoria desde el momento en el que se le presenta la señal de dirección y
lectura y tra (tiempo de regeneración) el tiempo que tarda la memoria en estar preparada para realizar otra
operación.
Se llama ciclo de escritura a la suma de te+tre; siendo ta (tiempo de escritura) el tiempo que tarda la memoria
en grabar la información desde el momento en el que se le presenta la señal de dirección y lectura y tra
(tiempo de regeneración) el tiempo que tarda la memoria en estar preparada para realizar una nueva
operación.
Siempre que se hable de tiempo de acceso nos referiremos a ta. Se denomina ciclo de RMW, al tiempo que se
tarda en realizar un ciclo de escritura y lectura seguidos y es igual a ta+tra+te+tre.3.5 Memoria RAM.La memoria RAM se caracteriza por ser una memoria de acceso directo a cualquier posición en la que se
puede leer y escribir el que se puede acceder desde cualquier posición significa que cada palabra de memoria
debe estar identificada de forma unÃ−voca con una dirección. Esta dirección es una combinación binaria
diferente para cada palabra, por tanto el chip de memoria RAM debe poseer una entrada, de direccionamiento
(n-1......0) para elegir en cada momento una palabra entre todas. El número de entradas de direccionamiento
dependerá del número de palabras N1 que contenga la memoria debiéndose cumplir que 2n⠥N1.
También podemos poder leer y escribir en la memoria. Dicha entrada es la entrada R/W de forma que si
vale 1 se lee y si vale 0 se escribe.
Para escribir un dato en la memoria y para extraer la información se realiza en paralelo de manera que todos
sus bits se leen o escriben al mismo tiempo. Por tanto necesitamos una entrada de datos D1 y una salida de
datos D0. Además necesitamos una entrada de validación E, de tal manera que sólo funcionará el chip
como tal si se encuentra activado. Por tanto para caracterizar una memoria se pude definir con dos
parámetros N1·N2 bits.
AsÃ− una memoria de 256k·16 quiere decir:
N1=256K 2nâ ¥256K
N2=16 2n⠥210·28
N=18
Capacidad N1·N2
256K·16=218·24=222=4Mb
Existen muchas más entradas en una memoria, pero han sido omitidas, ejemplo la señal de alimentación.
• Organización interna y direccionamiento de la memoria RAM.
Dentro de este apartado veremos la forma de direccionamiento del punto de Bit desde el punto de vista de la
arquitectura y desde la del programador.
3
Desde el punto de vista de la arquitectura vamos a ver las formas de seleccionar todas y cada una de las
palabras de la memoria.
• Organización 2D o por palabra.
El problema de esta organización 2D es lo complicado de construir un decodificador (circuito digital con n
entradas de código y 2n salidas, de tal forma que para una entrada de código sólo se activa una única
salida). Debido a que si tenemos una memoria Ram 1Mb·8 el decodificador tiene que tener más de un
millón de salidas para activar cada una de las palabras por lo tanto el diseño de esto es más complejo.
Este problema se puede solucionar mediante un multiplexor, mediante una lógica cableada o con puertas
triestado. b) Organización 3D o por coincidencia.
El punto de coincidencia se caracteriza por que estará activo cuando la señal procedente del codificador 1
y la señal del codificador 2 se encuentren activas, por tanto existirá N2 planos situados en paralelo donde
se activará las palabras por coincidencia de puntos, asÃ− habrá un punto de coincidencia en cada plano.
Ejercicio.Sea una memoria de 1k·1, se desea, mediante una arquitectura 3D, visualizar la dirección 130.
Desde el punto de vista del programador nos referimos a las distintas formas de direccionamiento de la
memoria principal, de la cual se vale el programador para extraer las instrucciones. Podemos hablar de los
siguientes modos de direccionamiento.
• Direccionamiento implÃ−cito.- Este modo de direccionamiento no necesita campo de dirección en la
instrucción.
• Direccionamiento inmediato.- El operando se encuentra en la propia instrucción, es decir, no hay que
acceder a la memoria.
• Direccionamiento directo.- El campo de dirección contiene la dirección efectiva de la memoria
donde se encuentra el dato.
• Direccionamiento indirecto.- En este caso la dirección efectiva esta contenida en la dirección de
memoria que se especifica en el campo de dirección.
• Direccionamiento directo relativo.- En este modo de direccionamiento no contiene ni una dirección
ni un operando sino que contiene un desplazamiento. La dirección efectiva se consigue sumando este
desplazamiento al contenido de un registro, que puede ser, el registro base, el registro Ã−ndice, etc...
• Expansión de la memoria RAM.
Se pretende la construcción de memorias de capacidad superior a base de otras de menor capacidad. Hay tres
maneras de ampliarla:
• Aumentar el ancho de palabra: El direccionamiento y la señal de R/W deberán conectarse en
paralelo los dos chips, asÃ− como las salidas también deben ser en paralelo, en nuestro caso la
lectura del primer bit se encontrarÃ−a en el primer módulo y el segundo bit se encontrarÃ−a en el
segundo módulo, lo mismo sucede con la escritura.
• Aumentar las posiciones de memoria.
Suponemos que tenemos una memoria de 1K·1 y queremos una memoria de 2K·1:
Lo conseguimos asÃ−:
4
El bit que sobra puede ir a cualquiera de las dos memorias. Para indicar a que memoria irá necesitamos un
decodificador: 0 activa el 1er módulo y 1 activa el 2º módulo.
En este caso la señal de lectura y escritura es en serie, pero en este caso hay dos salidas y esto se soluciona
con un multiplexor siendo el bit de control de este el bit único. Si el bit de control es cero seleccionamos a
Do del primer módulo si es una el otro.
• Amentar el ancho de palabra y las posiciones de memoria.
Es una mezcla de los dos anteriores. Para un aumento 4M·2 se consigue haciendo el aumento del ancho de
palabra y a continuación el aumento de las posiciones, quedando un diseño tal que:
• Memoria DRAM.- Se trata de un tipo de memoria RAM, cuyo punto de memoria es más sencillo al
estar construido con un solo transistor, la memoria DRAM o RAM dinámicas guardan la
información volátil de manera que hay que rescribirla periódicamente debido a que sino se pierde
su información. Con este tipo de arquitectura se logra simplificar el punto de memoria y por tanto el
número de ellos es considerablemente más alto que en las estáticas, lográndose chips con una
capacidad superior, el principal inconveniente es que hay que añadir en el propio chips el sistema de
refresco.
• Memoria VRAM.- es un tipo de memoria especialmente diseñada para el uso como memorias de
refrescos de terminales gráficas, incluyen además un conjunto de registros que permiten el acceso
en serie del terminal.
3.5 Memoria ROM.
Se trata de memorias de contenido permanente y de acceso aleatorio o directo, se diseñan para almacenar
datos, que sólo serán leÃ−dos.
Aunque originalmente una vez fabricada la memoria ROM no podÃ−a modificarse, sin embargo, las nuevas
tecnologÃ−as permiten fabricar algunos tipos de ROM que pueden rescribirse un determinado número de
veces. Por esta caracterÃ−stica podemos establecer esta clasificación.
• Memoria ROM, PROM.- Es aquella que viene escrita de fabrica y su contenido es inalterable, in
embargo la memoria PROM permite ser escrita por el usuario, pero una vez escrita es inalterable.
• Memoria EPROM, EEPROM.- Este tipo de memoria de sólo lectura se caracteriza por poderse
borrar mediante procedimientos especiales, y poder ser escrita de nuevo, en la primera el borrado se
hace mediante rayos ultravioletas, y la segunda mediante corriente eléctrica elevada.
3.7 Memoria de acceso secuencial.Este tipo de memoria se caracteriza porque para acceder a un determinado información, en una determinada
posición se debe acceder a todas las posiciones anteriores, existen dos tipos:
• Serie.- Existen distintas clasificaciones, una puede ser:
• Memoria de acceso secuencial basado en registro de desplazamiento.
• M.A.S. en serie basado en pilas.
• M.A.S. en serie basado en colas.
5
• Bloque.- Se accede a un bloque de forma aleatoria y el resto del bloque de forma secuencial.
3.8 Memorias asociativas o CAM.Se caracteriza porque el direccionamiento no es posicional sino que es por el contenido de la información, la
idea es buscar como un diccionario, naturalmente estas memorias deben disponer de unos elementos
especiales que permiten comparar la información que queremos buscar con la que se encuentra escrita en
memoria y dar el resultado de si es cierto o no. Cada punto de memoria asociativa además de contener la
información debe contener un comparador, para comparar el bit de direccionamiento con el bit de contenido.
• Registro argumento.- Almacena la información que se desea comprobar si se encuentra, o no, en
memoria.
• Registro máscara.- Es la encargada de enmascarar la información que no se quiere comparar.
Ejemplo, cuando se desea algunos campos del registro de argumento.
• Registro de salida.- Empleado para dar a conocer al usuario el dato o palabra que buscaba.
• Registro de coincidencia.- Utilizado para determinar donde existe la coincidencia, se encuentra
formado por un bit por palabra.
• funcionamiento práctico de la memoria CAM, dentro de la CACHE.
El único problema que presenta este tipo de memoria es que el punto de bit es mucho más complejo debido
a que almacena el bit y además tiene que comparar, por lo que debe usar un comparador.
N1 número de palabras de la memoria, N2 ancho de cada palabra.
Procesamiento digital de señales Tema 3º Sistemas de memorias
CPU
Registro
CPU
Mem. principal
Mem. secundaria
Mem. auxiliar
capacidad
velocidad
velocidad
capacidad
E
R/W
n
6
N1
N2
DECOD
I
F
I
CADOR
PALABRA 0
PALABRA 1
PALABRA 2N-1=N1-1
n
R/W
D1
D0
N2
A0
A1
A2n-1
DECODIFICADOR 1
DECODIFICADOR 2
n/2
n/2
Mem. final
9540
Colum.
Filas
7
dec2 dec1
00100 00010
Dec1
Dec2
Pto. de coincidencia
2
4
1k=210n=10
130
1M·1
20
R/W
E
1 DI
1 D0
2 D0
2 DI
R/W
E
20
1M·1
Mem. inicial
Mem. final
SOLUCIÃ N
1 D0
1 DI
8
R/W
E
20
1M·1
1 D0
1 DI
R/W
E
Mem. inicial
1M·1
1 D0
1 DI
R/W
E
11
2K·1
1 D0
1 DI
R/W
E
10
1K·1
ROM
E
N1·N2
D0
9
n
Registro Argumento
Registro Mascara
Memoria
CAM
N1·N2
Registro
de
coincidencia
Aunque no se dibuje aquÃ− va la memoria auxiliar
Registro Salida
01010111
0101011
0101011
1011011
....................................................................................0 1 0 1 1 1 1
0
0
............0
0101011
CAM
Memoria Aux. Rápida
M.P
R/W
E
lectura
10
dirección
Caché
11
Descargar