0% encontró este documento útil (0 votos)
63 vistas44 páginas

Características y Tipos de Memorias

Este documento presenta una introducción a las memorias. Explica que las memorias son dispositivos que almacenan información de forma temporal o permanente y que son un componente fundamental de los computadores. Luego describe los parámetros básicos de las memorias como la capacidad, organización, latencia y rendimiento. También cubre temas como las diferentes tecnologías, características y jerarquía de memorias, con un enfoque en las memorias semiconductoras y sus subsistemas basados en microprocesadores.

Cargado por

lilaxpark
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
63 vistas44 páginas

Características y Tipos de Memorias

Este documento presenta una introducción a las memorias. Explica que las memorias son dispositivos que almacenan información de forma temporal o permanente y que son un componente fundamental de los computadores. Luego describe los parámetros básicos de las memorias como la capacidad, organización, latencia y rendimiento. También cubre temas como las diferentes tecnologías, características y jerarquía de memorias, con un enfoque en las memorias semiconductoras y sus subsistemas basados en microprocesadores.

Cargado por

lilaxpark
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Tema 2: Memorias

Escuela Superior de Informática


Universidad de Castilla-La Mancha
Tema 2

• Introducción
• Parámetros básicos de las memorias
• Características
• Jerarquía de memorias
• Memorias semiconductoras
• Subsistemas de memoria basados en
microprocesador
Introducción

• ¿Qué es una memoria?


– Es un dispositivo físico capaz de almacenar
información durante un cierto intervalo de tiempo
• Es un componente fundamental de un
computador. Almacena:
– Instrucciones de un programa
– Datos (tanto antes como después de procesados)
Parámetros básicos
de memorias
• Capacidad
– Cantidad de información que se puede almacenar
– Se puede expresar en bits o en octetos (bytes)
• b para bits según IEEE 1541 Sistema IEC 60027-2 Valor
International (SI) IEEE 1541
• B para bytes según IEEE 1541
k (kilo) Ki (kibi) 210 (10241)
y IEC 60027-2 M (mega) Mi (mebi) 220 (10242)

– p.e.: 1MB (megabyte) G (giga) Gi (gibi) 230 (10243)


T (tera) Ti (tibi) 240 (10244)
• 220
P (peta) Pi (pebi) 250 (10245)
• 106 (según SI) E (exa) Ei (exbi) 260 (10246)
Z (zeta) Zi (zebi) 270 (10247)
Y (iota) Yi (iobi) 280 (10248)
Parámetros básicos
de memorias
• Organización
– Desde el punto de vista lógico, las memorias se
conciben como un conjunto de posiciones en las
que se almacenan un dato en cada una de ellas
– Número de posiciones y tamaño (en bits)
– p.e.: una memoria de 220 posiciones de 1 byte
cada una, tiene una capacidad de 220 x 8b = 8Mb
(megabits) y equivale a una memoria de 223
posiciones de 1 bit cada una, aunque con una
organización distinta
Parámetros básicos
de memorias
• Latencia o tiempo de acceso
– Es el tiempo que se tarda en acceder a una determinada
posición de memoria
– Generalmente, los tiempos de acceso de lectura y escritura
son diferentes
• Rendimiento
– La máxima velocidad a la que se puede acceder a los datos
– Se mide en bytes por segundo (B/s) o en bits por segundo
(b/s)
– Generalmente se suele diferenciar entre lectura y escritura
Características
• Tecnologías
– Magnética
• Se usa un campo magnético para almacenar la información
• p.e.: memorias de ferrita, cintas magnéticas, discos flexibles y discos duros
– Óptica
• Se puede acceder a deformaciones microscópicas de la superficie del disco
iluminándolas con un diodo láser.
• p.e.: CDs (Compact Discs), DVD (Digital Versatile Disc), Blue-ray y HDV
(Holographic Versatile Disc)
– Semiconductores
• Se usan circuitos integrados basados en semiconductores (chips) para
almacenar información como cargas eléctricas
• p.e.: RAM (Random Access Memory), ROM (Read-Only Memory), flash, etc.
– Otros
• Mecánicos como las antiguas tarjetas perforadas o moleculares como los que
usan propiedades de polímeros para almacenar una carga eléctrica.
Características
• Volatilidad
– Memorias volátiles
• La información se pierde cuando se desconecta la alimentación
• Dinámicas, necesitan refrescarse periódicamente incluso estando constantemente
alimentadas
– Memorias no volátiles
• La información se mantiene sin alimentación
• Sólo se puede modificar la información si se permiten operaciones de escritura en ellas
• Alterabilidad
– Memorias de sólo lectura (ROM, Read Only Memory)
• Estas memorias se graban en fábrica o se suministran sin contenido con posibilidad de
escribir sólo una vez en ellas (OTP-ROM One Time Programmable ROM)
– Memorias de Lectura/Escritura
• La información se puede modificar en cualquier momento
• En algunas de ellas las operaciones de escritura necesitan más tiempo que las de
lectura
Características
• Latencia
– Baja latencia (nanosegundos)
– Alta latencia (milisegundos o mayor)
• Modo de acceso
– Acceso aleatorio
• Se puede acceder a cualquier posición directamente
• El tiempo de acceso es independiente de la posición
– Acceso secuencial
• Para acceder a una determinada posición, antes hay que pasar
por otras posiciones previas
• El tiempo de acceso sí depende del número de posiciones
intermedias por las que se tenga que pasar.
Características
• Ejemplos
Dispositivo de Tecnología Volatilidad Alterabilidad Latencia Modo de
Memoria Acceso
CD-R, DVD-R, Óptica No volátil Sólo lectura Alta Secuencial
Blue-ray
CD-RW, DVD±RW Óptica No volátil Lectura / Escritura Alta Secuencial
Discos duros Magnética No volátil Lectura / Escritura Alta Secuencial

RAM Semiconductores Volátil Lectura / Escritura Baja Aleatorio

Flash Semiconductores No volátil Lectura / Escritura Baja Aleatorio


(escrit. más lenta)
Jerarquía de Memoria
• ¿Por qué la jerarquía de memoria?
– Velocidad, capacidad y coste
• A mayor rapidez menor capacidad.
• Maximizar el rendimiento y la capacidad y minimizar los costes
– Los computadores gestionan diferentes tipos de información
• Los datos más usados deberían estar almacenados en las memorias más rápidas
(Registros internos)
– Caros
– Baja capacidad
• Las mayores capacidades de almacenamiento se pueden obtener a bajo precio
(Memoria Principal)
– El eslabón entre registro y memoria principal se consigue con la llamada Memoria Caché
• Se necesita un nivel de memoria diferente con memoria no volátil y grandes
capacidades (Memoria de almacenamiento masivo o Secundaria)
– Acceso sobre los subsistemas de Entrada/Salida, discos duros
Jerarquía de Memoria

CPU

Memoria
Interna

E/S

La CPU y el Sistema Operativo son los


encargados de mover los datos de un nivel a otro
Memorias semiconductoras
• Esta parte se enfoca a aprender la forma de diseñar subsistemas de
memorias para sistemas basados en microprocesador (sólo se usan
memorias de semiconductores para este objetivo)
• En una memoria semiconductora
– Cada bit se almacena en una estructura llamada celda básica
• Construida con componentes electrónicos integrados en un chip
– Las celdas básicas se repiten en una estructura de matriz
• Organizadas en filas y columnas
• Almacenando un determinado número de posiciones
• Cada posición se identifica por su dirección
– El bus de direcciones es un conjunto de líneas de entrada de un chip de
memoria
» Un bus de direcciones de N líneas puede identificar hasta 2N posiciones
Memorias semiconductoras
Se necesita un bus con líneas de entrada para
acceder a un determinado número de posiciones

p.e.: 8K posiciones p.e.: 2M posiciones

8 1K 2 1M
8 = 23 K = 210 2 = 21 M = 220

8K = 23 . 210 = 213 2M = 21 . 220 = 221

N = 13 líneas en el bus de direcciones N = 21 líneas en el bus de direcciones


Memorias semiconductoras
– Los chips de memoria tienen una entrada de activación
o habilitación del chip llamada CS (Chip Select)
• Puede ser
– Activa a nivel alto
– Activa a nivel bajo
• Cuando está activa, la dirección colocada en el bus de direcciones habilita
un determinado conjunto de celdas básicas
– Si se pueden realizar operaciones tanto de lectura como
de escritura, se usarán las señales de control adecuadas
para indicar qué operación se realiza
• En operaciones de lectura, los datos elegidos llegan al microprocesador a
través del bus de datos del chip
• En operaciones de escritura, los datos también viajan por el bus de datos,
pero desde el microprocesador hasta las celdas de memoria elegidas
Memorias semiconductoras
Estructura interna
• Celdas básicas
– Es la estructura fundamental de la memoria
– Capaz de almacenar un bit
– Un grupo de celdas básicas componen una memoria
• Hay dos formas básicas de elegir las celdas básicas
desde el valor contenido en el bus de direcciones
– Decodificación por filas
– Decodificación por filas y columnas
Memorias semiconductoras
Estructura interna
• Decodificación por filas
– El bus de direcciones se conecta a las entradas de un decodificador
de N entradas y 2N salidas
– Cada línea de salida del decodificador se conecta a una fila de la
matriz de celdas básicas
• Todas las celdas básicas de una fila representan una posición de memoria
– Inconveniente
• La complejidad del decodificador aumenta exponencialmente
con el número de líneas del bus de direcciones
– p.e.: Un bus de direcciones de 8 bits necesita un DEC 8x256, mientras
que uno de 16 bits necesita un DEC 16x65536
– Este inconveniente se puede resolver con la siguiente estructura
Memorias semiconductoras
Estructura interna
Celda básica

Decodificador de filas
Bus de direcciones


N







Buffers
M Bus de datos
Memorias semiconductoras
Estructura interna
• Decodificación por filas y columnas
– En vez de elegir cada posición con una fila entera, se
asocia a cada posición de memoria, formada por M
celdas, una combinación particular de fila y columna
– La mitad de las líneas del bus de direcciones se emplean
para elegir la fila mediante un decodificador de filas,
mientras que la otra mitad selecciona las columnas a
través de un multiplexor (MUX) para lectura o un
demultiplexor (DEMUX) para escritura
Memorias semiconductoras
Estructura interna
Celda básica

Decodificador de filas
Bus de direcciones


N N/2 …

M


M M



N/2
MUX / DEMUX
M

Buffers
M
Bus de datos
Memorias semiconductoras
Read-Only Memory, ROM
• Sólo realiza lecturas (no volátil)
• Una memoria ROM de 2N × M tiene las siguientes
entradas y salidas:
– Bus de direcciones: aN-1:0 CS

– Bus de datos: dM-1:0 aN-1:0 dM-1:0


– Señal de habilitación : CS o CS ROM 2N × M
Memorias semiconductoras
Read-Only Memory, ROM
• ROM
– Se graban en fábrica y su contenido no se puede cambiar
• PROM (Programmable ROM)
– Tiene una matriz de fusible que permite la programación sólo una vez
• EPROM (Erasable PROM)
– Se pueden volver a grabar, siempre que previamente se borren con luz
ultravioleta.
• EEPROM (Electrically Erasable PROM)
– Se pueden borrar aplicando una tensión eléctrica en un pin del circuito
• Flash
– Es una caso particular de EEPROM muy utilizado en la actualidad
– Se borra y se escribe por bloques
– Más versátil y rápida, aunque el número de veces que se puede regrabar está
limitado
Memorias semiconductoras
Random Access Memory, RAM
• Se puede leer / escribir en ellas
• Normalmente son volátiles, aunque hay alguna excepción (FeRAM)
• Tipos
– Estáticas o SRAM (Static RAM)
– Dinámicas o DRAM (Dynamic RAM)
• Una memoria RAM de 2N × M tiene las siguientes entradas y salidas:
– Bus de direcciones: aN-1:0
CS
– Bus de datos: dM-1:0
R/W
– Señal de habilitación : CS o CS aN-1:0 dM-1:0
– Señal de lectura / escritura: R/W ROM 2N × M
Memorias semiconductoras
Random Access Memory, RAM
• RAM estáticas (SRAM)
– Las celdas básicas tienen biestables con 6 transistores
– La principal ventaja es su baja latencia
• Tiempo de acceso del orden de nanosegundos
• Se usa sobre todo para memoria caché
– El principal inconveniente es que las celdas básicas
necesitan un mayor número de componentes
• Se necesita más espacio
• La capacidad de memoria es más pequeña que las DRAM

http://www.youtube.com/watch?v=IcrBqCFLHIY
Memorias semiconductoras
Random Access Memory, RAM
• RAM Dinámicas (DRAM)
– La celda básica está compuesta por un condensador (almacena 1 bit) y
un único transistor
– La principal ventaja es que puede alcanzar mayores capacidades, ya
que la celda básica necesita muy pocos componentes
– El principal inconveniente es debido al propio condensador
• Corrientes de fuga
• Refresco periódico para mantener la carga del condensador, haciendo el sistema
más complicado al requerir circuitos adicionales
• Mayor latencia que las memorias SRAM
– Fundamentalmente se usan como memoria principal del computador,
ya que logran un buen compromiso entre coste, capacidad y velocidad
Subsistema de Memoria
Espacio de direccionamiento
• Desde el punto de vista del microprocesador
– La memoria se organiza como un conjunto de posiciones
de 1 byte
• Cada posición se identifica de forma inequívoca con una
dirección lógica
– El número de chips usados para implementar la memoria
principal es transparente para el microprocesador
• El conjunto de todas las direcciones lógicas posibles se llama
espacio de direccionamiento del microprocesador
– El valor que el microprocesador coloca en el bus de
direcciones se llama dirección física
Subsistema de Memoria
Espacio de direccionamiento
– Un microprocesador con n líneas de dirección y
8xm (m=1,2,3,…) líneas de datos puede
distinguir 2n direcciones físicas de m bytes cada
una. Es decir, esta memoria dispone de un
espacio de direccionamiento de 2n×m
direcciones lógicas de 1 byte cada una
– Obsérvese la diferencia
• Las direcciones lógicas se refieren a bytes
• Las direcciones físicas se refieren a datos con
tamaño igual al bus de datos
Subsistema de Memoria
Espacio de direccionamiento
• Microprocesadores de 8 bits (m = 1)
– Las direcciones lógicas y físicas coinciden
– p.e.: microprocesador de 8 bits y bus de direcciones de
16 bits
• m = 1 n = 16
espacio de direc.: 2n×m = 216×1 = 64KB
rango de direcciones: de $0000 a $FFFF
Subsistema de Memoria
Espacio de direccionamiento
• Microprocesadores de 16 bits (m = 2)
– Las direcciones físicas apuntan a 2 bytes de datos, también llamados
palabra (word), de modo que 1 dirección física corresponde a 2
direcciones lógicas
– Como el bus de direcciones sólo acepta direcciones físicas, no se puede
acceder a los octetos (bytes) aislados de una palabra
– Para acceder a octetos aislados, se necesitan dos líneas adicionales (Bus
Enable):
BE1 BE0 A0 ACCESO
• BE0 0 0 - -
• BE1 0 1 0 Byte 0 (par)
1 0 1 Byte 1 (impar)
1 1 0 Word
Subsistema de Memoria
Espacio de direccionamiento
– El byte que ocupa la posición par de la palabra (word)
puede ser el byte de más significativo (mayor peso) y el
byte que ocupa la posición impar el byte menos
significativo (menor peso), o viceversa
• Hay dos criterios llamados big endian y little endian

Byte 0 (par) Byte 1 (impar)


Big endian Mayor peso Menor peso
Little endian Menor peso Mayor peso
Subsistema de Memoria
Espacio de direccionamiento
Memoria
$0000 Byte $0000
R/W
microprocesador

$0001 Byte $0001


$0002 Byte $0002
… …
Bus de direcc. $FFFE Byte $FFFE
A15-0
$FFFF Byte $FFFF

Bus de datos D7-0

Organización de la memoria para un microprocesador de 8 bits


Subsistema de Memoria
Espacio de direccionamiento
BE0 BE1 Memoria
$0000 Byte $0000 Byte $0001 Palabra $0000
R/W
microprocesador

$0001 Byte $0002 Byte $0003 Palabra $0002


$0002 Byte $0004 Byte $0005 Palabra $0004
… … … …
Bus de direcc.
A15-1
$7FFE Byte $FFFC Byte $FFFD Palabra $FFFC
$7FFF Byte $FFFE Byte $FFFF Palabra $FFFE

Bus de datos D15-0

Organización de la memoria para un microprocesador de 16 bits


Subsistema de Memoria
Espacio de direccionamiento
BE0 BE1 BE2 BE3
Memoria
$0000 Byte $0000 Byte $0001 Byte $0002 Byte $0003 Palabra larga $0000

R/W
microprocesador

$0001 Byte $0004 Byte $0005 Byte $0006 Byte $0007 Palabra larga $0004

$0002 Byte $0008 Byte $0009 Byte $000A Byte $000B Palabra larga $0008

… … … … … …

Bus de direcc. $3FFE Byte $FFF8 Byte $FFF9 Byte $FFFA Byte $FFFB Palabra larga $FFF8
A15-2
$3FFF Byte $FFFC Byte $FFFD Byte $FFFE Byte $FFFF Palabra larga $FFFC

Bus de datos D31-0

Organización de la memoria para un microprocesador de 32 bits


Subsistema de Memoria
Espacio de direccionamiento
Byte $0000
Palabra $0000
Byte $0001 Palabra larga $0000
Byte $0000 Byte $0002
Palabra $0000 Palabra $0002
Byte $0001 Byte $0003
Byte $0002 Byte $0004
Palabra $0002 Palabra $0004
Byte $0003 Byte $0005 Palabra larga $0004
Byte $0000 Byte $0004 Byte $0006
Palabra $0004 Palabra $0006
Byte $0001 Byte $0005 Byte $0007
Byte $0002 … …
Byte $0003 Byte $FFFC Byte $FFFC
Palabra $FFFC Palabra $FFFC
… Byte $FFFD Byte $FFFD Palabra larga $FFFC
Byte $FFFE Byte $FFFE Byte $FFFE
Palabra $FFFE Palabra $FFFE
Byte $FFFF Byte $FFFF Byte $FFFF
Subsistema de Memoria
Espacio de direccionamiento
• Ejemplos de espacios de direccionamiento
– Bus de Datos de 16 bits y Bus de Direcciones de 15 bits
• m = 2 n = 15
espacio de direc.: 2n×m = 215×2 = 64KB
rango de direc.: de $0000 a $FFFF
•Sin embargo, el rango de direcciones físicas va desde
$0000 a $7FFF
•Ejemplo, si el contenido del bus de direcciones es A15-1= $0002:
•Si BE1BE0=11, se accede a la palabra de dir. lóg. $0004 (bytes $0004-$0005)
•Si BE1BE0=10, se accede al byte $0005
•Si BE1BE0=01, se accede al byte $0004
Subsistema de Memoria
Diseño del subsistema de memoria

• El espacio de direccionamiento lógico


representa el tamaño máximo que puede
manejar el microprocesador
• El subsistema de memoria
– Podría tener uno o más chips de memoria
– Podría no alcanzar la máxima capacidad de direccionamiento
• El tamaño real o físico es el resultado de sumar el
tamaño de todos los chips que componen el
subsistema de memoria
Subsistema de Memoria
Diseño del subsistema de memoria
• El subsistema de memoria se diseña
– Asignando un rango específico de direcciones lógicas a cada chip
– El espacio direccionable se divide en partes, cada una de las cuales
es responsabilidad de un chip determinado
– Los mapas de memoria se usan para representar la asociación
• El subsistema de memoria se compone de
– Decodificador de memoria
• Genera las señales de selección de chip (CS) según la dirección física que el
microprocesador pone en el bus de direcciones
– Banco de memoria
• Consta de un conjunto de chips de memoria, que están interconectados con
el microprocesador y el decodificador de memoria
Subsistema de Memoria
Diseño del subsistema de memoria
Bus de direcciones
Mapa de memoria

MEM1
CS1
MEM1
MEM2
microprocesador

Espacio direccionable
Bus de control
CS2 MEM2


DEC



Subsistema MEMr
CSr
de memoria MEMr

Bus de datos
Subsistema de Memoria
Mapa de memoria
• Los mapas de memoria representan gráficamente el rango de
direccionamiento lógico asignado a cada uno de los chips de
memoria física
• Representación gráfica
– Todo el espacio direccionable se representa como un
recuadro
– Se dibujan líneas divisorias para delimitar los rangos de
direccionamiento asignados a cada chip y los que no se
asignan a ningún chip
– Generalmente, la parte superior del recuadro se usa para
las direcciones más bajas
A15 A14 A13 A12 A11-0 Rango
Inicio Fin

0000
0 4K 0000 0000 0000
0FFF
1111 1111 1111
0
0000 0000 0000 1000
1
Subsistema de Memoria
8K 4K
1111 1111 1111 1FFF
0 0000 0000 0000 2000
0 4K
2FFF
1111 1111 1111
1
Mapas de Memoria
8K 1 4K
0000 0000 0000 3000
16K 1111 1111 1111 3FFF
0
4000
0 4K 0000 0000 0000
4FFF
1111 1111 1111
0
5000
8K 1 4K 0000 0000 0000
5FFF
1111 1111 1111
1 6000
0 4K 0000 0000 0000
6FFF
1111 1111 1111
1
0000 0000 0000 7000
32K 8K 1 4K
7FFF
16K 1111 1111 1111
0 4K
0000 0000 0000 8000
1111 1111 1111 8FFF
0
8K 1 4K 0000 0000 0000 9000
1111 1111 1111 9FFF
0 0000 0000 0000 A000
0 4K
1111 1111 1111 AFFF
1
8K 1 4K 0000 0000 0000 B000
16K
1 1111 1111 1111 BFFF

0 4K 0000 0000 0000 C000


1111 1111 1111 CFFF
0
8K 1 4K 0000 0000 0000 D000
1111 1111 1111 DFFF
1
0 4K 0000 0000 0000 E000
1111 1111 1111 EFFF
1
8K 1 4K 0000 0000 0000 F000
16K
32K 1111 1111 1111 FFFF
Subsistema de Memoria
Banco de memoria
• El diseño del banco de memoria consiste en la descripción de
la interconexión entre los chips de memoria con el
microprocesador y con el circuito decodificador de memoria
• El bus de datos interconecta todos los chips de memoria y el
microprocesador de modo que las líneas dm-1:0 del chip se
conectan a las líneas Dm-1:0 del bus de datos
• El bus de direcciones también se interconecta con todos los
chips de memoria. Sin embargo, el número de líneas que
llegan a cada chip depende de su capacidad
• Obsérvese que los chips de RAM también conectan con la
señal lectura/escritura, R/W con el microprocesador
Subsistema de Memoria
Banco de memoria
CS1 CS M1

A13-0
a13-0 d7-0
14
ROM 16Kx8

CS2 CS M2

R/W
A12-0
a12-0 d7-0
13
RAM 8Kx8

CS3 CS M3

R/W R/W
A12-0
a12-0 d7-0
13
RAM 8Kx8
A13-0
14
D7-0 8
Subsistema de Memoria
Decodificación de memoria
• Los bits más significativos del bus de direcciones se usan
para el circuito decodificador, que genera las señales de
selección del chip
• El mapa de memoria se usa para diseñar el circuito
decodificador
– Determinando las combinaciones de bits que activarán cada chip
– Esta información se usa en una tabla de verdad que establece las relaciones
entre los bits de direccionamiento y las entradas de selección de chips
• Para la implementación del circuito decodificador, se
pueden usar circuitos con puertas lógicas
– Sin embargo, lo mejor es usar normalmente decodificadores (DEC) con el
adecuado número de entradas y salidas
Subsistema de Memoria
Decodificación de memoria
• El decodificador utilizado determina el número de chips
que se pueden seleccionar

0 0
1
1 2
A15 1 A15 2
DEC A14 1
DEC 3
A14 0 2:4 2 A13 0 3:8 4
5
3 6
7

También podría gustarte