tema 2: memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/tema-2-memorias.pdf ·...

44
Tema 2: Memorias Escuela Superior de Informática Universidad de Castilla-La Mancha

Upload: others

Post on 16-Sep-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

Tema 2: Memorias

Escuela Superior de Informática

Universidad de Castilla-La Mancha

Page 2: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Page 3: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• ¿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)

Introducción

Page 4: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

• B para bytes según IEEE 1541

y IEC 60027-2

– p.e.: 1MB (megabyte)

• 220

• 106 (según SI)

Parámetros básicos

de memorias

Sistema International (SI)

IEC 60027-2 IEEE 1541

Valor

k (kilo) Ki (kibi) 210 (10241)

M (mega) Mi (mebi) 220 (10242)

G (giga) Gi (gibi) 230 (10243)

T (tera) Ti (tibi) 240 (10244)

P (peta) Pi (pebi) 250 (10245)

E (exa) Ei (exbi) 260 (10246)

Z (zeta) Zi (zebi) 270 (10247)

Y (iota) Yi (iobi) 280 (10248)

Page 5: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 6: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Parámetros básicos

de memorias

Page 7: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 8: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 9: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 10: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• Ejemplos

Dispositivo de Memoria

Tecnología Volatilidad Alterabilidad Latencia Modo de Acceso

CD-R, DVD-R, Blue-ray

Óptica No volátil Sólo lectura Alta Secuencial

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 (escrit. más lenta)

Baja Aleatorio

Características

Page 11: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Page 12: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Page 13: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Page 14: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

p.e.: 8K posiciones

8 = 23

8 1K

K = 210

8K = 23 . 210 = 213

N = 13 líneas en el bus de direcciones

p.e.: 2M posiciones

2 = 21

2 1M

M = 220

2M = 21 . 220 = 221

Se necesita un bus con líneas de entrada para acceder a un determinado número de posiciones

Memorias semiconductoras

N = 21 líneas en el bus de direcciones

Page 15: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

– 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

Page 16: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 17: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 18: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

Dec

odif

icad

or

de

fila

s N

Bus

de

dir

ecci

on

es

Buffers

M Bus de datos

Celda básica

Memorias semiconductoras

Estructura interna

Page 19: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 20: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

N/2

MUX / DEMUX

M

N

Buffers

N/2

M M M

Estructura interna

Memorias semiconductoras B

us

de

dir

ecci

on

es

Dec

odif

icad

or

de

fila

s

Celda básica

Bus de datos M

Page 21: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

– Bus de datos: dM-1:0

– Señal de habilitación : CS o CS

CS

aN-1:0 dM-1:0

ROM 2N × M

Memorias semiconductoras

Page 22: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Read-Only Memory, ROM

Memorias semiconductoras

Page 23: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

– Bus de datos: dM-1:0

– Señal de habilitación : CS o CS

– Señal de lectura / escritura: R/W

CS

aN-1:0 dM-1:0

ROM 2N × M

R/W

Memorias semiconductoras

Page 24: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Page 25: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

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

Memorias semiconductoras

Page 26: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 27: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

– 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

Page 28: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 29: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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):

• BE0

• BE1

BE1 BE0 A0 ACCESO

0 0 - -

0 1 0 Byte 0 (par)

1 0 1 Byte 1 (impar)

1 1 0 Word

Subsistema de Memoria Espacio de direccionamiento

Page 30: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

– 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

Page 31: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

mic

ropro

cesa

dor

Memoria

$0000 Byte $0000

$0001 Byte $0001

$0002 Byte $0002

… …

$FFFE Byte $FFFE

$FFFF Byte $FFFF

Bus de direcc. A15-0

R/W

Bus de datos D7-0

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

Subsistema de Memoria Espacio de direccionamiento

Page 32: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

$0000 Byte $0000 Byte $0001 Palabra $0000

$0001 Byte $0002 Byte $0003 Palabra $0002

$0002 Byte $0004 Byte $0005 Palabra $0004

… … … …

$7FFE Byte $FFFC Byte $FFFD Palabra $FFFC

$7FFF Byte $FFFE Byte $FFFF Palabra $FFFE

R/W

BE0 BE1

Subsistema de Memoria Espacio de direccionamiento m

icro

pro

cesa

do

r

Memoria

Bus de direcc. A15-1

Bus de datos D15-0

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

Page 33: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

$0000 Byte $0000 Byte $0001 Byte $0002 Byte $0003 Palabra larga $0000

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

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

… … … … … …

$3FFE Byte $FFF8 Byte $FFF9 Byte $FFFA Byte $FFFB Palabra larga $FFF8

$3FFF Byte $FFFC Byte $FFFD Byte $FFFE Byte $FFFF Palabra larga $FFFC

R/W

BE1 BE0 BE2 BE3

Subsistema de Memoria Espacio de direccionamiento m

icro

pro

cesa

do

r

Memoria

Bus de direcc. A15-2

Bus de datos D31-0

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

Page 34: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

Byte $0000

Byte $0001

Byte $0002

Byte $0003

Byte $FFFE

Byte $FFFF

Byte $0000 Palabra $0000

Byte $0001

Byte $0002 Palabra $0002

Byte $0003

Byte $0004 Palabra $0004

Byte $0005

Byte $FFFC Palabra $FFFC

Byte $FFFD

Byte $FFFE Palabra $FFFE

Byte $FFFF

Byte $0000 Palabra $0000

Palabra larga $0000 Byte $0001

Byte $0002 Palabra $0002

Byte $0003

Byte $0004 Palabra $0004

Palabra larga $0004 Byte $0005

Byte $0006 Palabra $0006

Byte $0007

Byte $FFFC Palabra $FFFC

Palabra larga $FFFC Byte $FFFD

Byte $FFFE Palabra $FFFE

Byte $FFFF

Subsistema de Memoria Espacio de direccionamiento

Page 35: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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 Espacio de direccionamiento

Page 36: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 37: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 38: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

mic

ropro

cesa

dor

DEC

MEM1

MEM2

MEMr

MEM1

MEM2

MEMr

Bus de control

CSr

CS2

CS1

Subsistema de memoria

Bus de direcciones

Bus de datos

Mapa de memoria

Esp

acio

dir

ecci

on

able

Subsistema de Memoria Diseño del subsistema de memoria

Page 39: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Subsistema de Memoria Mapa de memoria

Page 40: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

A15 A14 A13 A12 A11-0 Rango Inicio Fin

0

32K

0

16K

0

8K

0 4K 0000

0FFF

1 4K 1000

1FFF

1

8K

0 4K 2000

2FFF

1 4K 3000

3FFF

1

16K

0

8K

0 4K 4000

4FFF

1 4K 5000

5FFF

1

8K

0 4K 6000

6FFF

1 4K 7000

7FFF

1

32K

0

16K

0

8K

0 4K 8000

8FFF

1 4K 9000 9FFF

1

8K

0 4K A000 AFFF

1 4K B000 BFFF

1

16K

0

8K

0 4K C000 CFFF

1 4K D000 DFFF

1

8K

0 4K E000 EFFF

1 4K F000 FFFF

Su

bsi

stem

a de

Mem

ori

a

Map

as d

e M

emori

a

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

0000 0000 0000 1111 1111 1111

Page 41: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 42: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

a13-0 d7-0

M1 CS

ROM 16Kx8

a12-0 d7-0

M2 CS

RAM 8Kx8

a12-0 d7-0

M3 CS

RAM 8Kx8

R/W

R/W

CS1

CS2

CS3

A13-0

D7-0

R/W

A13-0

14

A12-0

13

A12-0

13

14

8

Subsistema de Memoria Banco de memoria

Page 43: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• 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

Page 44: Tema 2: Memorias - blog.uclm.esblog.uclm.es/inocentesanchez/files/2018/07/Tema-2-Memorias.pdf · Memorias semiconductoras • Esta parte se enfoca a aprender la forma de diseñar

• El decodificador utilizado determina el número de chips

que se pueden seleccionar

0

1

2

3

4

5

6

7

2

1

0

A15

A14

A13

DEC 3:8

0

1

2

3

1

0

A15

A14

DEC 2:4

Subsistema de Memoria Decodificación de memoria