Upload
juanita-lujan
View
4
Download
0
Embed Size (px)
Citation preview
Organización y arquitectura de sistemas de memoria
Organización ComputacionalTC 1004
Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel González Mendoza y Dr. Jorge Ramírez Uresti
Organización y arquitectura de sistemas de memoria
Objetivos:
5.1 Jerarquía de sistemas de memoria: registros, caché, principal, secundaria, capacidades y velocidades5.2 Clasificación de memoria: RAM y ROM5.3 Concepto de Celda Binaria
Características de los sistemas de memoria
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Registros En CPU
Memoria interna o principal Puede incluir uno o más niveles de
caché “RAM”
Memoria externa Memoria de respaldo
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Tamaño de la palabra Número de bits utilizados para
representar números o longitud de instrucciónes.
Excepciones: CRAY-1, VAX.
Número de palabras
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Para la memoria principal, número de bits que se leen o se escriben en memoria a la vez.
Para la memoria externa, unidades más grandes denominadas bloques.
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Acceso secuencial
Acceso directo
Acceso aleatorio
Acceso asociativo
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Tiempo 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 posicicón deseada.
Tiempo de ciclo Se aplica principalmente a las
memorias de acceso aleatorio, se define como el tiempo de acceso más el tiempo que se requiere para poder iniciarse un segundo acceso a la memoria.
Características 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:
R
NTT AN
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
NT
AT
NR
Tiempo medio de escritura o de lectura de N bits
Tiempo de acceso aleatorio
Número de bits
Velocidad de transferencia en bits por segundo (bps)
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Semiconductor Dispositivos de estado sólido como los
chips. Ej: RAM
Soporte magnético Floppies, cintas, etc.
Soporte óptico DVD, CD, mini disk, etc.
Magneto óptico Mitad magnetico, mitad óptico.
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Volátil / no volátil Memoria de superficié
magnética: no volátil Memoria semiconductora:
volátil o no volátil
Borrable / no borrable RAM / ROM
Características de los sistemas de memoria …
Ubicación
Capacidad
Unidad de transferencia
Método de acceso
Prestaciones
Dispositivo Físico
Características físicas
Organización
Disposición o estructura física en bits para formar palabras.
Jerarquía de sistemas de memoria
En el diseño de la memoria de una computadora existe un compromiso entre las características 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 Muy cara Tecnológicamente no factible
Solución: Jerarquía de memoria Unidades grandes y lentas, y Unidades pequeñas y rápidas
Meta de la jerarquía de memoria: Ilusión de una memoria grande, rápida y barata.
µProc60%/año.(2X/1.5 año)
DRAM9%/año.(2X/10 años)1
10
100
1000
198
0198
1 198
3198
4198
5 198
6198
7198
8198
9199
0199
1 199
2199
3199
4199
5199
6199
7199
8 199
9200
0
DRAM
CPU198
2
Separación de rendimiento Procesador-memoria(crece 50% / año)
Re
nd
imie
nto
Tiempo
“Moore’s Law”
¿Por qué es importante el uso de la jerarquía de memoria?
“Less’ Law?”
Jerarquía de sistemas de memoria
Almacenamiento
fuera de línea Cinta magnética
Medio Óptico
Disco magnético
CD-ROM
CD-RW
DVD+RW
DVD-RAM
Almacenamiento
fuera de la tarjeta
Memoria en tarjeta impresa
Regis-
tros
caché
memoria
principal
Cuando se desciende la jerarquía ocurre:
a) Menor costo por bit
b) Mayor capacidad
c) Menor velocidad
d) Disminución de la frecuencia de acceso a la memoria por parte del procesador
Principio de localidad
¿Por qué funciona la jerarquía de memoria?
Principio de localidad Los programas accede una porción relativamente
pequeña del espacio de direcciones en algún instante de tiempo.
Espacio de direcciones0
Probabilidad De referencia
Jerarquía de memoria: ¿Cómo trabaja? Localidad temporal
Si un dato es referenciado, se tiende a ser referenciado de nuevo en un tiempo próximo (bucles o subrutinas)
Localidad espacial Si un dato es referenciado, los datos con
direcciones cercanas tienden a ser referenciados pronto (tablas o matrices)
Jerarquía de memoria: Terminología
Hit: el dato está en algún bloque en el nivel superior (ejemplo: Bloque X) Hit Rate: Fracción 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 traído 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 PenaltyNivel de memoria
inferiorNivel memoria
superiorAl procesador
Del procesadorBloque X
Bloque Y
Ejemplo
Acceder a dos niveles de memoriaNivel 1: 1,000 palabras, tiempo acceso: 0.1 s
Nivel 2: 100,000 palabras, tiempo acceso: 1 s
Jerarquía de memoria de una computadora moderna
Haciendo uso del principio de localidad: Presenta al usuario tanta memoria como esté disponible con la tecnología más
económica. Provee acceso con la velocidad disponible con la tecnología más rápida.
Control
Datapath
SecondaryStorage(Disk)
Processor
Registers
MainMemory(DRAM)
SecondLevelCache
(SRAM)
On
-Ch
ipC
ache
1’s10,000,000’s
(10’s ms)
Velocidad (ns): 10’s 100’s
100B GBTamaño (bytes): KB MB
TertiaryStorage(Tape)
10,000,000,000’s
(10s sec)TB
¿Cómo es manejada la jerarquía 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)
Clasificación de memoriaMemoria RAM (Random-Access Memory)
Todas las memoria mostradas son de acceso aleatorio
Leer y escribir datos rápidamente en ellas Volátil. Almacenamiento temporal
Tipos de memoria RAM
Dinámica. Está hecha con celdas que almacenan los datos como cargas en los condensadores.
Estática. Almacenan los datos utilizando configuraciones de puertas que forman biestables (flip-flops)
Memoria RAM dinámica y estática
Acceso aleatorio: el tiempo de acceso es el mismo para todas las locacionesDRAM: Memoria de acceso aleatorio dinámica
Alta densidad low power Económica Lenta Dinámica: Necesita ser “refrescada” regularmente (1-2% de ciclos)
SRAM: Memoria de acceso aleatoria estática Baja densidad high power Cara Rápida Estática: El contenido durará mientras esté alimentada
Memoria ROM
Memoria ROM (Read-Only Memory)
Contiene un padrón permanente de datos que no puede alterarse.
Aplicaciones: microprogramación, subrutinas de biblioteca para funciones de uso frecuente, programas del sistema, tablas de funciones.
Tipos de memoria ROM
PROM. Es volátil y sólo se puede escribir en ella una sola vez. El proceso de escritura se lleva a cabo eléctricamente y puede realizarlo el suministrados o el cliente con posterioridad.
Memorias de sobre-todo-lectura: EPROM: Memoria de sólo lectura programable borrable
Antes de escribir una operación, todas las celdas de almacenamiento deben ser borradas al estado inicial exponiendo el chip a radiación ultravioleta. Puede ser alterada múltiples veces.
Más cara que la PROM, pero tiene la ventaja de que puede ser actualizada múltiples veces.
Tipos de memoria ROM EEPROM:
Memoria de sólo lectura programable borrable eléctricamente Puede ser escrita sin borrar contenido anterior. Sólo el o los bytes
direccionados son actualizados. La operación de escritura toma mucho más tiempo que la de lectura. Combina la ventaja de no-volativilidad con la flexibilidad de ser actualizable
usando controles de bus ordinarios, direcciones y línea de datos. Es más 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 más rápida que la EPROM. Puede borrar bloques específicos de memoria. No provee borrado a nivel de bytes. Tiene la densidad alta de las EPROM.
CLASIFICACIÓN DE LAS MEMORIAS DE SEMICONDUCTORES
Tipo de memoria
Categoría Borrado Mecanismo de escritura
Volatibilidad
RAM Lectura-escritura
Eléctricamente Eléctricamente Volátil
ROM Sólo lectura No es posible Máscaras No volátil
PROM " " Eléctricamente "
EPROM Lectura-frecuente
Luz ultravioleta
" "
EEPROM " Eléctricamente " "
Memorias no aleatorias
Tecnología de acceso a “memoria-no tan-aleatoria”: El tiempo de acceso varía de locación a locación y de
tiempo a tiempo Ejemplos: Disco, CDROM
Tecnología de Acceso Secuencial: tiempo de acceso linear en locación (e.g.,Cinta)
Celda Binaria Es el elemento básico 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 señal eléctrica. •El selector selecciona una celda.
•El control indica el tipo de operación: lectura o escritura.
•Escribir, la otra terminal provee una señal que pone a la celda en 1 o 0. Para leer, es usada como salida de la celda
Construcción de palabras de memoria a
partir de celdas binarias Palabras
Longitud de palabra
Dirección (0 a n-1 n localidades)
m líneas de dirección 2m localidades
Ejemplo
Construcción memorias de semiconductores a partir de palabras
La memoria se forma a partir de palabras
La capacidad se expresa en términos de # palabras x longitud de palabra
Las memorias del ejemplo anterior son: 12x8, 8x12 y 6x16
Chip memoria incluye mecanismos para Decodificar las direcciones Detección/Escritura.
Memoria de 16x8 Palabra de memoria (renglon - línea de palabra) Líneas de bit al circuito de lectura/escritura Lineas de entrada/salida (bidireccional)
Diseño de sistemas de memoria de mayor capacidad, a partir de memorias de menor capacidad.
Tecnología de CI adecuada para memorias
Aumenta #bits que se pueden almacenar
1Kbit a 16M bits
Organización de las celdas de memoria 2D 21/2D
Organización 2D
Disposición física = lógica.
El arreglo de memoria está organizado en W palabras de B bits
Todos los bits de una palabra en el mismo chip
Organización 2D …
En esta organización : # líneas de dirección
# celdas de la memoria (capacidad)
# palabras (# unidades direccionables)
# bits por palabra (longitud de palabra)
Organización 2D …
Ejemplos:1. Ej: Diseñe una memoria de 2D de 1Kb con palabras de
16 bits.
2. Ej: Si se sabe que una memoria 2D tiene 5 líneas de dirección y 2048 celdas de capacidad, entonces:
• ¿Cuántas palabras tiene?• ¿Cuántos bits por palabra?
3. Ej: ¿Cuál es el efecto en la capacidad de una memoria 2D si se agrega una línea de dirección?
Ejemplos: Organización 2D
1. Dado un MAR de 8 bits y un MDR de 64 bits: ¿Cuántas palabras puedo direccionar? ¿Cuál es la longitud de la palabra? ¿Cuál es la capacidad de la memoria en bits? ¿Cuál 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.
Organización 21/2 D
Un bit por chip
Los bits de una palabra repartidos en varios chips
El chip contiene un arreglo de bits cuadrado
Organización 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: ¿cuántas
Palabras Lineas de dirección y Tamaño de matriz
se necesitan?
Organización 2½D
1Kbit de capacidad (# celdas en la memoria), entonces:
# palabras = 1K = 1024 # líneas de dirección = 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 líneas de dirección que 2D.
2½ facilita la corrección de errores.
2½ cuadriplica la capacidad por línea de dirección.
2½ es modular (por ser cuadrada).
Encapsulado de chips Circuito conexión RAM 2D
14 pines + 2 (E y T)
1Kbit (128x8)(2D) 19 conexiones
1Kbit (32x1) (2 ½ D) 16 conexiones
1Kb (1024x1) 2 ½ D
Encapsulado de chips …
RAM 16x8 2D
Encapsulado de chips
Organizaciones para una pastilla de 256K: 32K x 8(2D) y 256K x 1(2½D).
Ejemplo: chip 27010 EPROM de Intel
Las líneas para direccionar 128K palabras, 17 pines (A0 a A16).
Las líneas para leer los datos de salida. Se necesita un total de 8 pines (D0 a D7).
Suministro de energía (Vcc).
Un pin de Tierra (GND).
El chip select (CS).
El output select (OS).
El pin de programa (PGM). Inicialmente y después de cada "borrado" del chip,
El pin de voltaje de programa (Vpp), que se administra durante la programación.
Un pin No utilizado (NC).
Intel 51C256L 256Kx1-bit RAM.
Din y Dout: Para recibir o Leer el bit de la memoriaRW: Indica si la operación Es lectura o EscrituraA0:A8 Solo 9 bits de DirPara 256 k?(RAS:Row Address Select)(CAS:Column AddressSelect).GND: TierraVCC: Voltaje
Encapsulado de chips
2D
2 ½ D
Organización modular
#chips = #bits palabra 256K x 8 (2 ½ D) 18 dirección a 8 chips c/u provee un bit
Arreglo de chips
1M x 8 RAM 2 ½ D
Ejercicio Organización Modular 2 ½ D
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 módulo con los chips de forma que se ajuste al
tamaño de palabra. Da el diagrama del módulo. Usando módulos, genere el diagrama de bloque para la
memoria de forma que su capacidad sea de 256Kx16.
Memoria Caché Velocidad ejecución CPU depende de velocidad transferencia de datos. Problema: CPU más rápido que Memoria. Solución ideal: memoria construida con tecnología utilizada en registros del
CPU (muy costoso). Solución real: memoria pequeña y rápida 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.
Común 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 sólo una fracción de la memoria.
Esas fracciones son las que se busca tener cargadas en memoria caché.
La memoria cache y principal
CPU
Cache
La memoriaprincipal
Transferencia de Palabra
Transferencia de Bloque
Principio de Localidad
Las referencias a memoria realizadas en un intervalo de tiempo corto tienden a usar sólo una fracción de la memoria total también conocido como bloque de memoria.
Estructura de la memoria cache y principalEstructura de la memoria cache y principal
0123
Tamaño Palabra
Bloque
DatosDireccionesde memoria
2n - 1
Bloque(k palabras)
Número Slot
012
Etiqueta Bloque
Longitud del bloque(k palabras)
El Mapeo
Mapa, mapear, proyectar, corresponder. Transferir un conjunto de objetos de un lugar a
otro. Por ejemplo los módulos 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 lógica se proyecta sobre la base de datos física.
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é.
Técnica para determinar cual bloque de memoria principal ocupa que slot de caché.
La elección del algoritmo de mapeo nos dice como se encuentra organizada la caché.
Dos técnicas directa, asociativa.
El mapeo directo
A cada bloque de memoria principal se le mapea dentro de un solo slot de la caché.
Evita la búsqueda poniendo cada bloque en un slot, cuyo número se puede calcular a partir del número de bloque.
Mapeo expresado a partir de
slot caché = (número bloque) % (total slots caché) Ventaja: eliminan problema de búsqueda. Desventaja: como saber cuál de los diferentes bloques
que corresponden a un slot lo esta ocupando.
Esquema mapeo directo
Bloque 0
Bloque 1
Bloque 2
Bloque 3Bloque 4
Bloque 6
Bloque 5
Bloque 7
Bloque 8
Bloque 9
Bloque 11
Bloque 10
Memoria principal: 12 bloques
Memoria caché: 3 slots
slot 2
slot 1
slot 0
Por lo que los slots almacenarán:slot 0: bloque 0 bloque 3 bloque 6 bloque 9slot 1: bloque 1 bloque 4 bloque 7 bloque 10slot 2: bloque 2 bloque 5 bloque 8 bloque 11
slot = bloque % (numero slots)slot = bloque %3
Interpretación dirección
Las direcciones de memoria principal tienen dos interpretaciones Interpretación memoria principal
dos campos: bloque y palabra
Interpretación memoria caché se divide el campo bloque, lo que proporciona tres campos: etiqueta,
slot y palabra
Ejemplo dirección 12 bits: 101010101010 (3 palabra, 6 slot)
memoria principal: 101010101 010 memoria caché: 101 010101 010
etiqueta palabraslot
bloque palabra
Etiqueta Línea Palabra
Comparar x
Etiqueta Datos Mem. Caché
Memoria Principal
x
Dirección Memoria
s+w
(escondida en caché)
(puesta encaché)
s-r r w
s-r
w
L0
Li
B0
Bj
W0
W1
W2
W3
W4j
W(4j+1)
W(4j+2)
W(4j+3)
s
w
Organización cachémapeo directo
Un primer escenario
Tamaño direcciones: 6 bits Tamaño palabra: 8 bits = 1 byte Tamaño memoria principal: 26=64 bytes Tamaño memoria caché: 25=32 bytes Tamaño del bloque: 4 bytes Calculando:
Bloques en memoria principal: Slots en memoria caché: 64/4=16 bloques
25=32/4=8 slots
Esquema Escenario 1
B0
:
B4
B2
B1
B3
B7
B6
B5
B15
L7
L6
L5
L4
L3
L2
L1
L0
etiqueta bloque almacenado
0 1 2 3
000011000010000001000000
000111000110000101000100
001011001010001001001000
001111001110001101001100
010011010010010001010000
010111010110010101010100
011111011110011101011100011011011010011001011000
3210
3210
3210
3210
3210
3210
3210
3210
111111111110111101111100
3210
Interpretación dirección:
Memoria caché:palabraslotetiqueta
Memoria principal:palabrabloque
Segundo Escenario
Tamaño caché: 64 Kbytes=64x210 bytes = 26x210 bytes = 216
bytes Tamaño bloques: 4 bytes Tamaño palabra: 1 byte Memoria principal: 16Mbytes =16x220 bytes =224 bytes Calculando
Tamaño direcciones = Número bloques en memoria principal: Número de slots en caché:
por lo que la caché esta organizada en cada uno
16Mbytes/4bytes=4M bloques=222 Bloques
64Kbytes/4bytes= 16k slots= 214 slots 214 slots de 4 bytes
24 bits
Etiqueta Slot+Palabra Dato
FF
FFFCFFF8
000800040000
~ ~11223344
01
FFFCFFF8
000800040000
00
FFFCFFF8
000800040000
~ ~
~ ~
12345678
11235813
13579246
87654321
Dirección Memoria Principal
Etiqueta Dato Número Slot
01 12345678 3FFF FF 11223344 3FFE
00 87654321 0002 01 11235813 0001 00 13579246 0000
~ ~
32 bits8 bits (14 bits)
Palabra caché 16K
16 MBytes de Memoria Principal
Dirección
Etiqueta Slot Palabra
8 14 2
Segundo ejemplo mapeo directo
Bloque Palabra
22 2
Dirección Memoria Caché
Línea Cache Bloques de memoria principal asignado 0 0,m, ....., 2s-m 1 1,m+1,.....,2s-m+1 . . . . . . . . m-1 m-1, 2m-1, ....., 2s-1
Línea Cache Bloques de memoria principal asignado 0 000000,010000,.....,FF0000 1 000001,010001,.....,FF0001 . . . . . . . . 3FF 00FFFC,01FFFC,.....,FFFFFC
Mapeo Asociativo
Permite que un bloque de memoria principal se cargue en cualquier slot de la caché.
La lógica de control de la caché interpreta una dirección 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 lógica debe examinar simultáneamente 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 desempeño.
Principal desventaja: la complejidad de la circuitería requerida para examinar todos las etiquetas de los slots de la caché.
Esquema mapeo asociativo
Bloque 0
Bloque 1
Bloque 2
Bloque 3Bloque 4
Bloque 6
Bloque 5
Bloque 7
Bloque 8
Bloque 9
Bloque 11
Bloque 10
Memoria principal: 12 bloques
Memoria caché: 3 slots
slot 2
slot 1
slot 0
Los slots pueden almacenar:slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11
verificación en todoslos slots de la caché
Etiqueta Palabra
Comparar x
Etiqueta DatosMem. Caché
Memoria Principal
x
Dirección Memoria
s+w
(escondida en caché)
(puesta encaché)
s w
s
w
L0
Li
B0
Bj
W0
W1
W2
W3
W4j
W(4j+1)
W(4j+2)
W(4j+3)
s
w
Lm-1
...
Organización cachéasociativa
Dirección Dato
FFFFFCFFFFF8FFFFF4
~ ~
246824681122334433333333
1633A016339C163398
000008000004000000
~ ~
87654321
12345678
Dirección Memoria Principal
Etiqueta Palabra
Etiqueta Dato Número Slot
FFFFFC 24682468 3FFF 0000000 1234567 3FFE FFFFF4 33333333 3FFD
16339C 87654321 0001 FFFFF8 11223344 0000
~ ~
32 bits22 bits (14 bits)
Palabra caché 16K
16 MBytes de Memoria Principal
22 2
Ejemplo mapeo asociativo
Algoritmos de Reemplazo
Asignación slot caché a bloque recién accedido: mapeo directo: slot ya esta asignado mapeo asociativo: necesario un algoritmo de reemplazo
Cuatro opciones para asociativo LRU Least Recently Used
cada slot utiliza un bit de uso FIFO First In First Out
implementado fácilmente como round-robin o buffer circular LFU Least Frequently Used
asociar un contador a cada slot Random
simulación: desempeño ligeramente inferior a los otros algoritmos
Políticas de escritura en caché
Vigilancia del bus con escritura inmediata Actualización inmediata de memoria con monitoreo por
parte de los demás procesadores
Transparencia de Hardware Hardware adicional para sincronizar todas las cachés y la
RAM
Memoria excluída del caché Solo una porción de la memoria principal se comparte con
más de un procesador. La memoria compartida nunca se copia a caché.
Número de cachés
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
Organización de Caché
80386 no tiene caché on chip 80486 Incluye caché on chip Pentium: 2 cachés on chip (L1): una para
datos y otra para instrucciones (8kbytes y un a tamaño de línes de 32 bytes), y una caché L2 (256kbytes a 1 mbyte)