PDF de programación - Módulo 10: El sistema de memoria - Fundamentos de computadores

Imágen de pdf Módulo 10: El sistema de memoria - Fundamentos de computadores

Módulo 10: El sistema de memoria - Fundamentos de computadoresgráfica de visualizaciones

Publicado el 23 de Agosto del 2019
363 visualizaciones desde el 23 de Agosto del 2019
941,9 KB
31 paginas
Creado hace 3a (28/04/2016)
Segundo cuatrimestre

2015‐2016

 Organización de memorias de 

semiconductores:  RAM estática

Jerarquía de Memoria
Introducción a la memoria Cache

fc2

fc2

1

2

Sistema de memoria de un

computador

 ¿Qué es una memoria? ¿Cómo se 

implementa?

 ¿Es la memoria lo suficientemente rápida 

como para satisfacer las transferencias 
demandadas por el procesador?

 ¿Por qué TODOS los computadores tienen 

memoria cache?
 ¿Cómo funciona? 

fc2

fc2

Introducción

El manejo de datos 
tiene un coste:

 Ocupan bastante 

espacio en 
memoria.

 Acceder a ellos 

requiere un cierto 
tiempo.

3

4

Tipos de memoria
semiconductora

 Memoria no volátil ROM 

– PROM, EPROM, 
– EEPROM, FLASH,
– Disco magnético, Disco de estado sólido.

 Memoria volátil RAM 

– SRAM
– DRAM

5

Tipos de memoria
semiconductora

 Celda básica de memoria RAM

Celda SRAM
Ventajas

Desventajas

Tiempo de acceso y de ciclo reducido

Disipan mucha energía
Baja densidad de integración
Coste elevado

Celda DRAM
Ventajas

Bajo consumo de energía
Alta densidad de integración
Coste reducido

Desventajas

Tiempo de ciclo elevado
Necesidad de refresco

6

fc2

fc2

Introducción

 Valores típicos de tiempos de acceso y precios 

por Gbyte (año 2015)

Tipo de 
memoria

Tiempo de 
acceso (ns)

SRAM
DRAM

Disco de Estado 

Sólido (SSD)

Disco 

Magnético

0.5
10‐50
20,000

5,000,000

$ / 
Gbyte
5,000

7
0.40

0.05

Ancho de Banda 

(Gbytes/s)

25+
10
0.5

0.75

7

RAM (Random-Access Memory)

[Revisión del módulo 7]

CE

M
A
R

k

a

n

d

WE OE

RAM 2k×n

(2k n-bit words)

Interfaz externo del dispositivo
k líneas de dirección (entrada)
n líneas de datos (entrada/salida)
1 entrada de habilitación del dispositivo
1 entrada de habilitación de lectura
1 entrada de habilitación de escritura

a
d
CE
OE
WE

Memoria volátil capaz de almacenar

2k palabras de n bits

8

fc2

fc2

RAM (Random-Access Memory)

[Revisión del módulo 7]

 Celda básica de una SRAM (Static RAM)

– Cada bit se almacena en un latch
– El contenido de la celda se mantiene 

mientras esté conectada a la alimentación

– Si se activa (1) la señal S (Select) el 

contenido de la celda aparece en la salida O
– Cuando las señales W (Write) y S están las 
dos a 1 el valor de la entrada I se escribe en 
el latch

– Comportamiento de un driver tri‐estado:

Celda básica 

SRAM

I

Latch

D

Q

G

W

S

b=a

a

1

a

0

b está flotante
(desconectada)

RAM (Random-Access Memory)

[Revisión módulo 7]
Ejemplo: Implementación de una memoria SRAM 4x4

Paso 1: Replicar la celda 
básica para formar un 
array 4×4 (4 palabras de 
4 bits cada una)

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

O
I
SW

O
I
SW

O
I
SW

O
I
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

O

9

10

fc2

fc2

RAM (Random-Access Memory)

[Revisión del módulo 7]

Paso 2: Implementar 
las líneas de datos 
bidireccionales

I
O
SW

I
O
SW

I
O
SW

I
O
SW

O
I
SW

O
I
SW

O
I
SW

O
I
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

fc2

d3

d2

d1

d0

11

RAM (Random-Access Memory)

[Revisión del módulo 7]

Paso 3: decodificación de 
direcciones y lógica de 
selección

0

Líneas de
dirección

a0
a1

0
1

1

2

3

OE
CE
WE

fc2

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

d3

d2

d1

d0

12

RAM (Random-Access Memory)

[Revisión del módulo 7]

Ejemplo: Leer la palabra 2

I
O
SW

I
O
SW

I
O
SW

I
O
SW

0
1

0

1

2

3

O
I
SW

O
I
SW

O
I
SW

O
I
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

d3

d2

d1

d0

13

0

1

a0
a1

1
1
0

OE
CE
WE

fc2

RAM (Random-Access Memory)

[Revisión del módulo 7]

Ejemplo: Escribir la palabra 2

I
O
SW

I
O
SW

I
O
SW

I
O
SW

0
1

0

1

2

3

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

d3

d2

d1

d0

14

0

1

a0
a1

0
1
1

OE
CE
WE

fc2

RAM (Random-Access Memory)

[Revisión del módulo 7]

Ejemplo: Estado de Reposo

I
O
SW

I
O
SW

I
O
SW

I
O
SW

0
1

0

1

2

3

O
I
SW

O
I
SW

O
I
SW

O
I
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

I
O
SW

d3

d2

d1

d0

15

X

X

a0
a1

X
0
X

OE
CE
WE

fc2

RAM (Random-Access Memory)

[Revisión del módulo 7]

 Podemos conectar varias RAMs para que se comporten 

como una RAM con mayor tamaño de palabra

ce
we
oe

a

k

RAM 
2k×n
Module 0

n

k

RAM 
2k×n
Module 1

k

...

n
...

n·m

RAM 
2k×n

Module m-1

n

Implementación Multi-Módulo
RAM de tamaño 2k×(n∙m) utilizando m RAMs de tamaño 2k×n

d

fc2

16

RAM (Random-Access Memory)

[Revisión del módulo 7]

 Podemos combinar varias RAMs para que se comporten 
como una RAM de mayor profundidad (más direcciones)
am-1..k

m-k

ce

we
oe

ak-1..0

E

0

1

2m‐k‐1

...

CE
RAM 
2k×n
Module 0
n

k

bus

k

CE
RAM 
2k×n
Module 1
n

...

k

CE
RAM 
2k×n

Module 2m-k-1

n

Implementación Multi-Módulo

n
RAM de tamaño 2m×n utilizando RAMs de tamaño 2m‐k 2k×n

d

17

Chips SRAM

 Ejemplo: AS6C62256 (Alliance Memory, Inc. 2007)

– 262.144‐bit  (256 Kbit) low power CMOS
– Organizada como una RAM de 32.768 (32 K) palabras de 8 bits

• 32 kpalabras (= 215 ) implica 15 líneas de dirección (A14‐A0)

Diagrama de bloques

• El array de memoria es similar (pero

mucho más grande) al del ejemplo
anterior de una SRAM 4x4

• El símbolo # en la líneas CE, WE y

OE indica que estas líneas son
activas a baja (i.e. activas a 0)

• Hay un decodificador de 15 a 215

18

fc2

fc2

Chips SRAM

 Ejemplo: AS6C62256 (cont)

Tabla de verdad

Mode

CE#

OE#

WE#

Standby
Read
Write

H
L
L

X
L
H

X
H
L

Data 
Lines
Hi‐Z
Dout
Din

19

fc2

Diseño de memorias con chips SRAM
Ejemplo 1: módulo de memoria de 128 Kbyte implementado con chips AS6C62256

a16
a15
a14 –a0
WE#
OE#
CE#

E

1

0

3
2
1
0

128 Kbyte SRAM

fc2

15

15

15

15

OE# WE#

A14-A0
CE#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CE#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CE#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CE#

32Kx8

DQ7-DQ0

El decodificador selecciona (como
mucho) uno de los chips, en
función del valor de las líneas
a16-a15.

Los otros están en estado de
reposo (standby), debido a que
tienen a 1 sus entradas CE#

Si la entrada CE# global del
módulo está a 1, se deshabilita el
decodificador y todos los chips:
toda la memoria se encuntra en
estado de reposo

d7-d0

20

Diseño de memorias con chips SRAM
Ejemplo 2: un módulo de memoria de 128 Kpalabras de 16 bits implementada con
chips AS6C62256
a16
a15
a14 –a0
WE#
OE#
CE#

OE# WE#

OE# WE#

15

15

A14-A0
CS#

32Kx8

DQ7-DQ0

A14-A0
CS#

32Kx8

DQ7-DQ0

E

1

0

3
2
1
0

15

15

15

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

15

15

15

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

OE# WE#

A14-A0
CS#

32Kx8

DQ7-DQ0

128 K x 16 bit SRAM

fc2

d15-d8

d7-d0
21

Emplazamiento de módulos de memoria

en el mapa de memoria

 Antes de utilizar un módulo de memoria en un 

computador debemos decidir qué rango de direcciones 
le vamos a asignar

 Ejemplo 1:

(A19‐A0). 

– Supongamos un computador con 20 líneas de dirección 

– Supongamos que la memoria es direccionable por bytes
– Emplazar el módulo de memoria SRAM de 128 Kbyte 

diseñado previamente en el rango de direcciones 0xA0000 
a 0xBFFFF
• Observar que todas las direcciones de este rango tienen los tres 

bits más significativos a 101

fc2

22

Emplazamiento de módulos de memoria

en el mapa de memoria

 Solución:

U
P
C

A19
A18
A17

A16 –A0

MemWr#
MemRd#

D7-D0

128 Kbyte SRAM

CE#

a16 –a0

WE#
OE#

d7-d0

– Cualquier dirección de la forma 101x xx…xx (i.e. todas las que empiezan por A o B) 

llevarán la entrada CE# a 0, y por tanto habilitarán el módulo de memoria para hacer 
una operación de lectura o escritura según el computador active las señales MemWr# 
y MemRd#

– Para cualquier dirección fuera del rango 0xA0000‐0xBFFFF, la entrada CE# tomará el 

valor 1, dejando al módulo de memoria en estado de reposo



Esto permite conectar varios módulos de memoria al sistema, utilizando las mismas líneas de dirección, 
datos y Control (MemWr# y MemRd#), emplazando cada módulo en un rango de direcciones diferente. Sólo 
se necesitaría una puerta nand adicional por cada nuevo módulo.

Emplazamiento de módulos de memoria

en el mapa de memoria

 Ejemplo 2: Diseñar un módulo SRAM de 128 Kbyte que 
pueda ser emplazado en cualquier rango de direcciones 
de la forma 0xY0000 – 0x(Y+1)0000, dónde Y es un 
dígito hexadecimal par

Módulo SRAM con lógica de selección de direcciones

1 •
0 •

1 •
0 •

1 •
0 •

U
P
C

A19

A18

A17

A16 –A0

MemWr#
MemRd#

D7-D0

128 Kbyte SRAM

CE#

a16 –a0

WE#
OE#

d7-d0

23

24

fc2

fc2

Emplazamiento de módulos de memoria

en el mapa de memoria

 Ejemplo 3 (decodificación parcial de direcciones): Emplazar 
el módulo SRAM de 128 Kbyte de forma que ocupe la mitad 
superior del mapa de memoria (con aliasing).

U
P
C

A19
A18
A17

A16 –A0

MemWr#
MemRd#

D7-D0

128 Kbyte SRAM

CE#

a16 –a0

WE#
OE#

d7-d0

– El módulo se activará con cualquier dirección que empiece por 1
– Cada byte del módulo de memoria tendrá 4 direcciones válidas (aliasing)

• Por ejemplo, el primer byte del módulo será accedido con cualquiera de las siguientes 

direcciones: 0x80000, 0xA0000, 0xC0000 y 0xE0000

Jerarquía de Memoria

 Objetivo: 

– Conseguir una memoria de gran tamaño, rápida y 

al menor coste posible. 

– De forma transparente al usuario
 ¿Cómo organizar la memoria?
 Base: Principio de localidad

“Cualquier programa accede a una porción 
relativamente pequeña de su espacio de direcciones 
en cualquier instante de tiempo”

25

26

fc2

fc2

Jerarquía de memoria

Niveles de la Jerarquía de memoria
 Un computador típico está 

formado por diversos niveles de 
memoria, organizados de forma 
jerárquica:
– Registros de la CPU
– Memoria Cache
– Memoria Principal
– Memoria Secundaria (discos)
– Memorias flash y CD‐ROMs
 El coste de todo el sistem
  • Links de descarga
http://lwp-l.com/pdf16491

Comentarios de: Módulo 10: El sistema de memoria - Fundamentos de computadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

Revisar política de publicidad