Anda di halaman 1dari 77

Organizacin y arquitectura

de sistemas de memoria

Organizacin Computacional
TC 1004

Material desarrollado por Dra. Maricela Quintana Lpez, Dr. Miguel Gonzlez Mendoza y Dr. Jorge Ramrez Uresti

Organizacin y arquitectura de
sistemas de memoria

Objetivos:
5.1 Jerarqua de sistemas de memoria: registros,
cach, principal, secundaria, capacidades y
velocidades
5.2 Clasificacin de memoria: RAM y ROM
5.3 Concepto de Celda Binaria

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad

Registros

Unidad de
transferencia
Mtodo de acceso
Prestaciones
Dispositivo Fsico

Memoria interna o principal

Caractersticas
fsicas
Organizacin

En CPU

Puede incluir uno o ms niveles de


cach
RAM

Memoria externa

Memoria de respaldo

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad
Unidad de
transferencia

Tamao

Mtodo de acceso
Prestaciones

de la palabra

Nmero de bits utilizados para


representar nmeros o
longitud de instruccines.
Excepciones: CRAY-1, VAX.

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Nmero

de palabras

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad
Unidad de
transferencia
Mtodo de acceso
Prestaciones

Para la memoria principal,


nmero de bits que se leen
o se escriben en memoria a
la vez.

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Para la memoria externa,


unidades ms grandes
denominadas bloques.

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad
Unidad de
transferencia
Mtodo de
acceso
Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Acceso

secuencial

Acceso

directo

Acceso

aleatorio

Acceso

asociativo

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad
Unidad de
transferencia

Tiempo de acceso

Mtodo de acceso

Memoria de acceso aleatorio: Tiempo


en realizar una lectura o escritura
Memoria de otro tipo: Tiempo en situar el
mecanismo de escritura/lectura en la
posicicn deseada.

Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Tiempo de ciclo

Se aplica principalmente a las memorias


de acceso aleatorio, se define como el
tiempo de acceso ms el tiempo que se
requiere para poder iniciarse un segundo
acceso a la memoria.

Caractersticas de los
sistemas de memoria
Velocidad de transferencia
Velocidad a la que se puede transferir
datos a, o desde, una unidad de memoria.
Acceso aleatorio: inverso del tiempo de
ciclo.
Otro tipo de acceso:

Ubicacin
Capacidad
Unidad de
transferencia
Mtodo de acceso
Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

TN TA

N
R

TN

Tiempo medio de escritura o de lectura de N bits

TA

Tiempo de acceso aleatorio

Nmero de bits

Velocidad de transferencia en bits por segundo (bps)

Caractersticas de los
sistemas de memoria
Ubicacin

Capacidad

Semiconductor

Unidad de
transferencia
Mtodo de acceso

Dispositivo
Fsico
Caractersticas
fsicas
Organizacin

Soporte magntico

Prestaciones

Floppies, cintas, etc.

Soporte ptico

Dispositivos de estado slido como los


chips. Ej: RAM

DVD, CD, mini disk, etc.

Magneto ptico

Mitad magnetico, mitad ptico.

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad

Voltil / no voltil

Unidad de
transferencia

Mtodo de acceso

Prestaciones

Memoria de superfici
magntica: no voltil
Memoria semiconductora:
voltil o no voltil

Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Borrable / no borrable

RAM / ROM

Caractersticas de los
sistemas de memoria
Ubicacin
Capacidad
Unidad de
transferencia
Mtodo de acceso
Prestaciones
Dispositivo Fsico
Caractersticas
fsicas
Organizacin

Disposicin

o estructura
fsica en bits para formar
palabras.

Jerarqua de sistemas de
memoria
En

el diseo de la memoria de una


computadora existe un compromiso entre las
caractersticas de capacidad, coste y
velocidad.

A menor tiempo de acceso, mayor coste por bit.


A mayor capacidad, menor coste por bit.
A mayor capacidad, mayor tiempo de acceso.

Memoria ideal

Infinitamente grande y con tiempo de acceso muy corto.

Sin embargo

Solucin: Jerarqua de memoria

Muy cara
Tecnolgicamente no factible

Unidades grandes y lentas, y


Unidades pequeas y rpidas

Meta de la jerarqua de memoria:

Ilusin de una memoria grande, rpida y barata.

Por qu es importante el
uso de la jerarqua de
memoria?
1000

CPU

Separacin de
rendimiento
Procesador-memoria
(crece 50% / ao)

100
10

Less Law?
DRAM

1
198
198
0
1
198
198
2
198
3
198
4
5
198
198
6
198
7
1
898
199
9
199
0
199
199
2
199
3
199
4
1
599
199
6
199
7
8
199
200
9
0

Rendimiento

Moores Law

Proc
60%/ao.
(2X/1.5 ao)

Tiempo

DRAM
9%/ao.
(2X/10 aos)

Jerarqua de sistemas de
memoria
Cuando se desciende la jerarqua
ocurre:
a) Menor costo por bit
Mem
en ta oria
r
impr jeta
esa

Alm
fue acena
m
ra d
e la iento
tarj
eta
Alm
fue acen
ra d am
e l iento
nea

is g
b) Mayor capacidad
e
R
tros
h
c) Menor velocidad
cac oria
m
me cipal d) Disminucin de la frecuencia
ic o
t
prin

de acceso a la memoria por


agn
m
o
c
parte del procesador
Dis -ROM
D
C -RW
CD D+RWM
DV D-RA tica
Principio de
DV magn ptico

ta
Cin Medio

localidad

Por qu funciona la jerarqua


de memoria?
Principio de localidad

Los programas accede una porcin relativamente


pequea del espacio de direcciones en algn
instante de tiempo.
Probabilidad
De referencia

Espacio de direcciones

Jerarqua de memoria:
Cmo trabaja?

Localidad temporal
Si un dato es referenciado, se tiende a ser
referenciado de nuevo en un tiempo prximo
(bucles o subrutinas)

Localidad espacial
Si un dato es referenciado, los datos con
direcciones cercanas tienden a ser referenciados
pronto (tablas o matrices)

Jerarqua de memoria:
Terminologa

Hit: el dato est en algn bloque en el nivel superior (ejemplo: Bloque X)


Hit Rate: Fraccin de acceso a memoria en el nivel superior
Hit Time: Tiempo para accesar el nivel superior que consiste en: tiempo
de acceso de RAM + Tiempo para determinar hit/miss

Miss: el dato necesita ser trado de un bloque en el nivel bajo (Bloque Y)


Miss Rate = 1 - (Hit Rate)
Miss Penalty: Tiempo para reemplazar un bloque en el nivel superior
+ Tiempo para llevar el bloque al procesador

Hit Time << Miss Penalty

Al procesador Nivel memoria


superior
Bloque X

Del procesador

Nivel de memoria
inferior
Bloque Y

Ejemplo
Acceder a dos niveles de memoria
Nivel 1: 1,000 palabras, tiempo acceso: 0.1 s
Nivel 2: 100,000 palabras, tiempo acceso: 1 s

Jerarqua de memoria de una


computadora moderna

Haciendo uso del principio de localidad:

Presenta al usuario tanta memoria como est disponible con la tecnologa ms


econmica.
Provee acceso con la velocidad disponible con la tecnologa ms rpida.

Processor
Control

Tamao (bytes):

On-Chip
Cache

Velocidad (ns):

Registers

Datapath

Second
Level
Cache
(SRAM)

Main
Memory
(DRAM)

1s

10s

100s

100B

KB

MB

Secondary
Storage
(Disk)

10,000,000s
(10s ms)
GB

Tertiary
Storage
(Tape)

10,000,000,000s
(10s sec)
TB

Cmo es manejada la
jerarqua de memoria?
Registros

Por el compilador (programador?)

Cache

Por el hardware

Memoria

principal

Por el hardware
Por el sistema operativo (cach de disco &
memoria virtual)
Por el programador (archivos)

Clasificacin de memoria

Memoria RAM (Random-Access Memory)

Todas las memoria mostradas son de acceso


aleatorio
Leer y escribir datos rpidamente en ellas
Voltil. Almacenamiento temporal

Tipos de
memoria RAM

Dinmica. Est hecha con celdas que


almacenan los datos como cargas
en los condensadores.
Esttica.

Almacenan los datos utilizando


configuraciones de puertas que
forman biestables (flip-flops)

Memoria RAM dinmica y


esttica
Acceso aleatorio: el tiempo de acceso es el mismo para todas las locaciones
DRAM: Memoria de acceso aleatorio dinmica
Alta densidad
low power
Econmica
Lenta
Dinmica: Necesita ser refrescada regularmente (1-2% de ciclos)
SRAM:

Memoria de acceso aleatoria esttica


Baja densidad
high power
Cara
Rpida
Esttica: El contenido durar mientras est alimentada

Memoria ROM
Memoria ROM (Read-Only Memory)
Contiene

un padrn permanente de datos


que no puede alterarse.

Aplicaciones:

microprogramacin, subrutinas
de biblioteca para funciones de uso
frecuente, programas del sistema, tablas de
funciones.

Tipos de memoria ROM


PROM. Es voltil y slo se puede escribir en ella una sola
vez. El proceso de escritura se lleva a cabo
elctricamente y puede realizarlo el suministrados o el
cliente con posterioridad.
Memorias de sobre-todo-lectura:

EPROM: Memoria de slo lectura programable borrable


Antes de escribir una operacin, todas las celdas de
almacenamiento deben ser borradas al estado inicial exponiendo
el chip a radiacin ultravioleta. Puede ser alterada mltiples veces.
Ms cara que la PROM, pero tiene la ventaja de que puede ser
actualizada mltiples veces.

Tipos de memoria ROM

EEPROM:

Memoria de slo lectura programable borrable elctricamente

Puede ser escrita sin borrar contenido anterior. Slo el o los bytes
direccionados son actualizados.
La operacin de escritura toma mucho ms tiempo que la de lectura.
Combina la ventaja de no-volativilidad con la flexibilidad de ser actualizable
usando controles de bus ordinarios, direcciones y lnea de datos.
Es ms cara que la EPROM y puede almacenar menos bits por chip.

Flash

Nombrada as por la velocidad a la cual puede ser reprogramada.


Es intermedia entre la EPROM y la EEPROM en costo y funcionalidad.
Mucho ms rpida que la EPROM.
Puede borrar bloques especficos de memoria.
No provee borrado a nivel de bytes.
Tiene la densidad alta de las EPROM.

CLASIFICACIN DE LAS MEMORIAS DE SEMICONDUCTORES

Tipo de
memoria

Categora

Borrado

Mecanismo
de escritura

RAM

Lecturaescritura

ROM

Slo lectura

No es posible

Mscaras

No voltil

"

"

Elctricamente

"

Lecturafrecuente

Luz
ultravioleta

"

"

"

Elctricamente

"

"

PROM
EPROM
EEPROM

Elctricamente Elctricamente

Volatibilidad
Voltil

Memorias no aleatorias
Tecnologa de acceso a memoria-no tan-aleatoria:

El tiempo de acceso vara de locacin a locacin y de


tiempo a tiempo
Ejemplos: Disco, CDROM

Tecnologa de Acceso Secuencial: tiempo de acceso linear en


locacin (e.g.,Cinta)

Celda Binaria

Es el elemento bsico de una memoria


semiconductora .

Presentan dos estados estables (o semiestables)


que pueden utilizarse para representar el 1 y 0
binarios

Puede escribirse en ellas (al menos una vez) para


fijar su contenido

Pueden leerse para detectar su estado

Funcionamiento y estructura de
una celda binaria

Tres terminales capaces de llevar una seal elctrica.


El selector selecciona una celda.
El control indica el tipo de operacin: lectura o escritura.
Escribir, la otra terminal provee una seal que pone a la
celda en 1 o 0. Para leer, es usada como salida de la celda

Construccin de palabras de memoria a


partir de celdas binarias

Palabras

Longitud de palabra

Direccin (0 a n-1 n localidades)

m lneas de direccin 2m localidades

Ejemplo

Construccin memorias de
semiconductores a partir de palabras

La memoria se forma a partir de palabras

La capacidad se expresa en trminos de


# palabras x longitud de palabra

Las memorias del ejemplo anterior son:

12x8, 8x12 y 6x16

Chip memoria incluye mecanismos para

Decodificar las direcciones


Deteccin/Escritura.

Memoria de 16x8

Palabra de memoria (renglon - lnea de palabra)


Lneas de bit al circuito de lectura/escritura
Lineas de entrada/salida (bidireccional)

Diseo de sistemas de memoria de


mayor capacidad, a partir de memorias
de menor capacidad.

Tecnologa de CI adecuada
para memorias

Aumenta #bits que se


pueden almacenar

1Kbit a 16M bits

Organizacin de las celdas


de memoria

2D
21/2D

Organizacin 2D

Disposicin fsica = lgica.

El arreglo de memoria est organizado en W palabras de B bits

Todos los bits de una palabra en el mismo chip

Organizacin 2D
En esta organizacin :
# lneas de direccin
#

celdas de la memoria (capacidad)

palabras (# unidades direccionables)

bits por palabra (longitud de palabra)

Organizacin 2D
Ejemplos:

1.

Ej: Disee una memoria de 2D de 1Kb con palabras de


16 bits.

2.

Ej: Si se sabe que una memoria 2D tiene 5 lneas de


direccin y 2048 celdas de capacidad, entonces:

3.

Cuntas palabras tiene?


Cuntos bits por palabra?

Ej: Cul es el efecto en la capacidad de una memoria


2D si se agrega una lnea de direccin?

Ejemplos: Organizacin 2D

1. Dado un MAR de 8 bits y un MDR de 64 bits:

Cuntas palabras puedo direccionar?


Cul es la longitud de la palabra?
Cul es la capacidad de la memoria en bits?
Cul es la capacidad de la memoria en bytes?

2. Realice un diagrama de bloque para una


memoria de 1MByte en 2D, con longitud de palabra
de 16 bits, coloca todos los componentes.

Organizacin 21/2 D

Un bit por chip

Los bits de una palabra repartidos en varios chips

El chip contiene un arreglo de bits cuadrado

Organizacin 21/2 D

Ej: Se tiene una memoria 2 D con longitud de


palabra de 1 bit. Si se sabe que tiene 1Kb de
capacidad: cuntas

Palabras
Lineas de direccin y
Tamao de matriz

se necesitan?

Organizacin 2D
1Kbit

de capacidad (# celdas en la memoria),


entonces:
# palabras = 1K = 1024
# lneas de direccin = log2 1024 = 10
(5 al decodificador y 5 a los multiplexores)
# bits por palabra = 1
La matriz cuadrada de memoria es de 2 5 x 2
5 (32 x 32).

Ventajas 2 D sobre 2D
2

requiere menos lneas de direccin que

facilita la correccin de errores.

2D.

cuadriplica la capacidad por lnea de


direccin.

es modular (por ser cuadrada).

Encapsulado de chips

Circuito conexin RAM 2D

1Kbit (128x8)(2D)

14 pines + 2 (E y T)

19 conexiones

1Kbit (32x1) (2 D)

16 conexiones

1Kb (1024x1) 2 D

Encapsulado de chips

RAM 16x8 2D

Encapsulado de chips

Ejemplo: chip 27010 EPROM de


Intel

Las lneas para direccionar 128K


palabras, 17 pines (A0 a A16).
Las lneas para leer los datos de salida.
Se necesita un total de 8 pines (D0 a D7).
Suministro de energa (Vcc).
Un pin de Tierra (GND).
El chip select (CS).
El output select (OS).
El pin de programa (PGM). Inicialmente
y despus de cada "borrado" del chip,
El pin de voltaje de programa (Vpp),
que se administra durante la
programacin.
Un pin No utilizado (NC).

Intel 51C256L 256Kx1-bit RAM.


Din y Dout: Para recibir o
Leer el bit de la memoria
RW: Indica si la operacin
Es lectura o Escritura
A0:A8 Solo 9 bits de Dir
Para 256 k?
(RAS:Row Address Select)
(CAS:Column Address
Select).
GND: Tierra
VCC: Voltaje

Encapsulado de chips

2D

2D

Organizacin modular

#chips = #bits palabra


256K x 8 (2 D)
18 direccin a 8 chips c/u provee un bit

Arreglo de chips

1M x 8 RAM 2 D

Ejercicio Organizacin Modular


2D

Proporcione un diagrama de bloque para una


memoria de 256Kbx16, utilizando chips de memoria
de 64Kbx1. Coloque todas las lineas necesarias, as
como el MAR y el MDR.

Determine los datos necesarios para el chip de 64Kx1 y


realice el diagrama
Forme un mdulo con los chips de forma que se ajuste al
tamao de palabra. Da el diagrama del mdulo.
Usando mdulos, genere el diagrama de bloque para la
memoria de forma que su capacidad sea de 256Kx16.

Memoria Cach

Velocidad ejecucin CPU depende de velocidad transferencia de datos.


Problema: CPU ms rpido que Memoria.
Solucin ideal: memoria construida con tecnologa utilizada en registros del
CPU (muy costoso).
Solucin real: memoria pequea y rpida localizada entre el CPU y la
memoria (Memoria Cach).

La memoria cach explota el principio de


localidad:

Programadores no accesan la memoria de forma


completamente aleatoria.

Comn el acceso de localidades de memoria contigua


una o varias veces.
Ej: Ciclo de instrucciones.

Por lo tanto, las referencias a memoria en un intervalo


de tiempo corto tienden a utilizar slo una fraccin de
la memoria.

Esas fracciones son las que se busca tener cargadas


en memoria cach.

La memoria cache y principal

CPU
Transferencia de
Palabra

Cache
Transferencia de
Bloque

La memoria
principal

Principio de Localidad
Las

referencias a memoria realizadas en


un intervalo de tiempo corto tienden a usar
slo una fraccin de la memoria total
tambin conocido como bloque de
memoria.

Estructura
Estructurade
delalamemoria
memoriacache
cacheyy principal
principal
Direcciones
de memoria

Nmero
Slot

Datos

0
1
2
3

Bloque
(k palabras)

Etiqueta

Bloque

0
1
2

Longitud del bloque


(k palabras)

Bloque
2n - 1
Tamao Palabra

El Mapeo

Mapa, mapear, proyectar, corresponder.


Transferir un conjunto de objetos de un lugar a
otro. Por ejemplo los mdulos de programas en
el disco son proyectados (mapeados) en la
memoria.
Relacionar un conjunto de objetos con otro. Por
ejemplo, una estructura de base de datos lgica
se proyecta sobre la base de datos fsica.

El algoritmo de mapeo en cach

Existen menos slots cach que bloques de memoria


principal, por lo que se necesita un algoritmo para mapear
bloques de memoria principal en los slots de la cach.
Tcnica para determinar cual bloque de memoria principal
ocupa que slot de cach.
La eleccin del algoritmo de mapeo nos dice como se
encuentra organizada la cach.
Dos tcnicas

directa,
asociativa.

El mapeo directo

A cada bloque de memoria principal se le mapea dentro


de un solo slot de la cach.
Evita la bsqueda poniendo cada bloque en un slot, cuyo
nmero se puede calcular a partir del nmero de bloque.
Mapeo expresado a partir de
slot cach = (nmero bloque) % (total slots cach)
Ventaja: eliminan problema de bsqueda.
Desventaja: como saber cul de los diferentes bloques
que corresponden a un slot lo esta ocupando.

Esquema mapeo
directo
Memoria principal: 12 bloques
Bloque 11
Bloque 10
Bloque 9
Bloque 8
Bloque 7
Bloque 6
Bloque 5
Bloque 4
Bloque 3
Bloque 2
Bloque 1
Bloque 0

Memoria cach: 3 slots

slot = bloque % (numero slots)


slot = bloque %3

slot 2
slot 1
slot 0

Por lo que los slots almacenarn:


slot 0: bloque 0 bloque 3 bloque 6 bloque 9
slot 1: bloque 1 bloque 4 bloque 7 bloque 10
slot 2: bloque 2 bloque 5 bloque 8 bloque 11

Interpretacin direccin

Las direcciones de memoria principal tienen dos interpretaciones


Interpretacin memoria principal
dos campos: bloque y palabra

Interpretacin memoria cach


bloque
palabra
se divide el campo
bloque, lo que proporciona
tres campos: etiqueta, slot
y palabra

Ejemplo direccin 12 bits: 101010101010 (3 palabra, 6 slot)


memoria principal:
101010101 010
memoria cach:
etiqueta101 010101 slot
palabra
010

Organizacin cach
mapeo directo
s+w
Direccin Memoria
Etiqueta Lnea Palabra
s-r

Memoria Principal

Mem. Cach
Etiqueta Datos

W0
W1
W2
W3

L0

B0

s-r

x
Comparar

(escondida en
cach)

(puesta en
cach)

Li

s
w

W4j
W(4j+1)
W(4j+2)
W(4j+3)

Bj

Un primer escenario

Tamao direcciones: 6 bits


Tamao palabra: 8 bits = 1 byte
Tamao memoria principal: 26=64 bytes
Tamao memoria cach: 25=32 bytes
Tamao del bloque: 4 bytes
Calculando:
Bloques en memoria principal:
Slots en memoria cach:
64/4=16

bloques

25=32/4=8 slots

B15

111111
111110
111101
111100

3
2
1
0

:
B7

3
2
1
0

B6

3
2
1
0

B5

3
2
1
0

B4

3
2
1
0

B3

3
2
1
0

B2

3
2
1
0

B1

3
2
1
0

B0

3
2
1
0

011111
011110
011101
011100
011011
011010
011001
011000
010111
010110
010101
010100
010011
010010
010001
010000
001111
001110
001101
001100
001011
001010
001001
001000
000111
000110
000101
000100
000011
000010
000001
000000

Esquema Escenario 1
etiqueta

L7
L6
L5
L4
L3
L2
L1
L0

bloque almacenado

Interpretacin direccin:
Memoria cach:
etiqueta slot

palabra

Memoria principal:
bloque

palabra

Segundo Escenario

Tamao cach: 64 Kbytes=64x210 bytes = 26x210 bytes = 216


bytes
Tamao bloques: 4 bytes
Tamao palabra: 1 byte
Memoria principal: 16Mbytes =16x220 bytes =224 bytes
Calculando

Tamao direcciones =
Nmero bloques en memoria principal:
Nmero de slots en cach:

16Mbytes/4bytes=4M bloques=222 Bloques

por lo que la cach esta organizada en cada uno

64Kbytes/4bytes= 16k slots= 214 slots

214 slots de 4 bytes

Segundo ejemplo mapeo directo


Direccin
Etiqueta Slot+Palabra Dato
FFFC
FFF8
FF

0008
0004
0000

FFFC
FFF8
01

11223344

Etiqueta

0008
0004
0000
FFFC
FFF8

00
0008
0004
0000

12345678

Dato

01
FF

12345678
11223344

00
01
00

87654321
11235813
13579246

8 bits

Nmero Slot

3FFF
3FFE

0002
0001
0000
(14 bits)

32 bits

Palabra cach 16K


11235813
Direccin Memoria Principal

Bloque
22

~
87654321
13579246

16 MBytes de Memoria Principal

Palabra
2

Direccin Memoria Cach


Etiqueta
8

Slot
14

Palabra
2

Lnea Cache
0
1
.
.
.
.
m-1

Lnea Cache
0
1
.
.
.
.
3FF

Bloques de memoria principal asignado


0,m, ....., 2s-m
1,m+1,.....,2s-m+1
.
.
.
.
m-1, 2m-1, ....., 2s-1

Bloques de memoria principal asignado


000000,010000,.....,FF0000
000001,010001,.....,FF0001
.
.
.
.
00FFFC,01FFFC,.....,FFFFFC

Mapeo Asociativo

Permite que un bloque de memoria principal se


cargue en cualquier slot de la cach.
La lgica de control de la cach interpreta una
direccin de memoria como una etiqueta y una
palabra.
La etiqueta solo identifica un bloque en la memoria
principal.
etiqueta

palabra

Mapeo asociativo (cont)

Para verificar si el bloque esta cargado, el control


de lgica debe examinar simultneamente cada
slot de la memoria cach.
Existe flexibilidad en el hecho de que bloque
remplazar cuando un nuevo bloque es accedido.
Se tienen algoritmos de reemplazamiento para
maximizar el desempeo.
Principal desventaja: la complejidad de la
circuitera requerida para examinar todos las
etiquetas de los slots de la cach.

Esquema mapeo asociativo


Memoria principal: 12 bloques
Bloque 11
Bloque 10
Bloque 9
Bloque 8
Bloque 7
Bloque 6
Bloque 5
Bloque 4
Bloque 3
Bloque 2
Bloque 1
Bloque 0

Memoria cach: 3 slots


verificacin en todos
los slots de la cach

slot 2
slot 1
slot 0

Los slots pueden almacenar:


slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11
slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11
slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11

Organizacin cach
asociativa

s+w

Direccin Memoria
Etiqueta
Palabra
s

Memoria Principal

Mem. Cach
Etiqueta Datos

L0

...
Comparar

W0
W1
W2
W3

x
w

Li

(escondida en
cach)

s
Lm-1

(puesta en
cach)

s
w

W4j
W(4j+1)
W(4j+2)
W(4j+3)

B0

Bj

Ejemplo mapeo asociativo


Direccin

Dato

FFFFFC
FFFFF8
FFFFF4

24682468
11223344
33333333

Etiqueta
FFFFFC
0000000
FFFFF4

~
87654321

Nmero Slot

24682468
1234567
33333333

3FFF
3FFE
3FFD

~
16339C
FFFFF8

1633A0
16339C
163398

Dato

22 bits

87654321
11223344
32 bits

0001
0000
(14 bits)

Palabra cach 16K

~
Direccin Memoria Principal

000008
000004
000000

12345678

16 MBytes de Memoria Principal

Etiqueta
22

Palabra
2

Algoritmos de Reemplazo

Asignacin slot cach a bloque recin accedido:

mapeo directo: slot ya esta asignado


mapeo asociativo: necesario un algoritmo de reemplazo

Cuatro opciones para asociativo

LRU Least Recently Used

FIFO First In First Out

implementado fcilmente como round-robin o buffer circular

LFU Least Frequently Used

cada slot utiliza un bit de uso

asociar un contador a cada slot

Random

simulacin: desempeo ligeramente inferior a los otros algoritmos

Polticas de escritura en cach

Vigilancia del bus con escritura inmediata

Transparencia de Hardware

Actualizacin inmediata de memoria con monitoreo por


parte de los dems procesadores
Hardware adicional para sincronizar todas las cachs y la
RAM

Memoria excluda del cach

Solo una porcin de la memoria principal se comparte con


ms de un procesador. La memoria compartida nunca se
copia a cach.

Nmero de cachs
Cach

de dos niveles:

L1 Interna (cach on chip)


L2 Externa (cach off chip)

Pueden ser utilizadas, una para cargar las


instrucciones y la otra los datos

Organizacin de Cach
80386

no tiene cach on chip


80486 Incluye cach on chip
Pentium: 2 cachs on chip (L1): una para
datos y otra para instrucciones (8kbytes y un
a tamao de lnes de 32 bytes), y una cach
L2 (256kbytes a 1 mbyte)

Anda mungkin juga menyukai