1. UNIVERSIDAD NACIONAL DE SAN AGUSTÍN
FACULTAD DE INGENIERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA
CURSO: ARQUITECTURA DE COMPUTADORAS
GRUPO C
2. CAP 4. SISTEMA DE MEMORIA
• Integrantes
:
Callo Mendoza Wilson
Chambilla Condori Guido
Ramos Magaño Ricardo
Soto Acosta Carlos
3.
4. You can Resize without
losing quality
You can Change Fill
Color &
Line Color
FREE
PPT
TEMPLATES
www.allppt.com
¿Cómo aprovechar las prestaciones de un procesador?
Para poder
aprovechar
dichas
prestaciones es
necesario poder
acceder de
forma eficaz a
las instrucciones
y datos
Distribución de los accesos a memoria para varias arquitecturas
SPARC(int) SPARC(fp) MIPS(int) MIPS(fp) IBM 5/360 Media
Instrucciones 0.79 0.80 0.76 0.77 0.50 0.72
Read (dat) 0.15 0.17 0.15 0.19 0.35 0.20
Store (dat) 0.06 0.03 0.09 0.04 0.15 0.07
5. Debemos saber que:
• El crecimiento exponencial al que experimentan
los procesadores es diferente al ritmo de mejora
del tiempo de acceso a la memoria DRAM.
• El procesador crece a un ritmo del 55%anual
• El tiempo de acceso a las memorias solo un 10%
anual
6. VS
PC XT con procesador 8088
PC con procesador Intel Pentium
Pro (1995)
Se dieron mejoras considerables como:
• Un procesador 900veces mas rápido
• 64veces mas memoria
• 85veces mas capacidad de disco
• El tiempo de acceso a la memoria solo era del orden de 10veces menor
7. GAP DE MEMORIA
La diferencia entre el
tiempo de ciclo del
procesador y la
latencia de memoria
se incrementa en un
factor próximo a 6
(5.6)
8. You can Resize without
losing quality
You can Change Fill
Color &
Line Color
FREE
PPT
TEMPLATES
www.allppt.com
Prestaciones del sistema de memoria
Ancho de banda
Es el numero de bytes
por unidad de tiempo
de que es capaz de
transferir el sistema
de memoria
Depende del tiempo de ciclo de los circuitos de
memoria
Depende del numero de bits que proporciona la
memoria en cada acceso
Depende de la anchura de los buses que conectan
el procesador y la memoria
9. You can Resize without
losing quality
You can Change Fill
Color &
Line Color
FREE
PPT
TEMPLATES
www.allppt.com
Prestaciones del sistema de memoria
Latencia
Es el tiempo que
transcurre desde que
el procesador inicia el
acerca
situando
a memoria
la dirección
del dato en las líneas
correspondientes
hasta que la memoria
proporciona dicho
dato
Depende del tiempo de acceso a los chips de
memoria
Depende de los retardos que introduzca la
conexión entre el procesador y memoria
- Los asociados a la sincronización
- El arbitraje de los buses
10. Reducción de la latencia
Lo que se busca es equilibrar el ritmo al que el
procesador necesita datos e instrucciones de la
memoria y el ritmo al que la memoria puede
proporcionarlos.
• Para ello se puede implementar estrategias en
el procesador para tolerar los retardos de la
memoria
Planificación dinámica de
instrucciones y el
adelantamiento de instrucciones
de carga y almacenamiento
Los accesos
especulativosa
memoria
El procesamiento
multihebraa
12. Mejoramiento de las prestaciones
• Se organiza como una jerarquía de niveles.
• El nivel mas próximo al procesador se
implementa en una tecnología mas rápida y
mas costosa en cuanto a hardware y consumo,
como también una capacidad menor.
Cachés on-chip
• Memoria caché dentro del
mismo circuito integrado
del procesador
Cachés off-chip
• Memoria caché externa al
circuito integrado del
procesador
13. OFF-CHIP
• Son mas rápidas que las memorias DRAM.
• Necesitan un mayor numero de transistores.
• Presenta mayor consumo
• Existe la posibilidad de tener hasta tre niveles L1,L2y L3
de cache
14. Prestaciones del sistema de memoria
Determinados por tres factores:
1. La propia eficacia de la organización de
la jerarquía de memoria.
2. La organización del bus de memoria
3. Las prestaciones de la memoria DRAM
Técnicas orientadas a mejorar la
memoria en los tres factores
anteriores:
• El uso de varios niveles de cache.
• Los accesos de memoria no
bloqueantes.
• El entrelazado de la memoria y el
desarrollo de sistemas de
interconexión de alta velocidad con
la memoria.
15. Datos sobre jerarquias de memoria de los procesadores Alpha
Microprocesador 21064 21164 21264 21364
Proceso CMOS
Frec. Reloj
CPI gcc
1 – caché
Latencia (ciclos)
D – caché
Latencia (ciclos)
Buffer
Bloque (bytes)
Bus off chip (bits)
L2 on-chip (unificada)
Latencia (ciclos)
L2 o L3 off-chip (unif)
Latencia
Tamaño de memoria
Latencia (ciclos)
Latencia (instrucciones)
16. Circuitos de memoria
• Cada celda (circuito capaz de almacenar
el estado e un bit) es un biestable.
de una celda de
(6 transistores/bit) es
la de una DRAM (1
• La complejidad
memoria SRAM
mucho mayor a
transistor por bit).
• Los circuitos de memoria que presenta
tienen menor capacidad de los CI de
memoria DRAM.
• Presenta mayor consumo y coste que
las memorias DRAM.
• Las SRAM son mas rápidas.
19. Memorias DRAM
2
Protocolo más complejo para lectura y escritura de datos
1
Utilizada para configurar la memoria principal de los computadores
3
Celda consiste en un capacitor y transistor
4
Estado eléctrico guardado cambia según el
capacitor se descarga.
22. Operación de lectura de una celda de memoria
Acceso a una fila de memorias
• Se sitúa la dirección de la fila en las líneas de
dirección de memoria.
• Se valida mediante la señal RAS
• Se activa la línea de celdas correspondiente y se
transfiere la carga al amplificador de señal
• Se almacena los bits en cada una de las celdas de
la fila accedida.
1
2
3
.
.
.
.
.
.
N-1
N
1 2 3 4 5 6 7 8
23. Operación de lectura de una celda de memoria
Acceso a una columna
• Se sitúa la dirección de la columna en las líneas de
dirección de memoria.
• Se valida mediante la señal CAS y se lee el bit del
amplificador correspondiente.
• La lectura modifica la carga de las celdas.
• Los datos de la fila seleccionada debe volver a
escribirse en paralelo con el acceso a la columna.
1
2
3
.
.
.
N-1
N
1 2 3 4 5 6 7 8
24. Operación de lectura de una celda de memoria
Precarga
• Se precarga la matriz de celdas para la siguiente
operación.
• Se desactiva RAS.
𝑅𝐴𝑆
𝑡𝑅𝐴𝑆 𝑡𝑃𝑅
25. Serie de tiempos característicos
Activación a otro
acceso de
memoria.
𝒕𝑷𝑹
Tiempo de
precarga
𝒕𝑹𝑪 = 𝒕𝑹𝑨𝑺 + 𝒕𝑷𝑹
Tiempo de ciclo del chip
de memoria.
Relacionado con el ancho
de banda.
Ckto en palabras de 1 bit,
ancho de banda es 1/𝑡𝑅𝐶
Incremento de AB con
circuitos de memoria (𝑤).
𝒕𝑹𝑨𝑺
Tiempo de acceso
Activación señal
RAS hasta dato en
la salida.
26. Ejemplo
¿Cuál es el ancho de banda de un chip DRAM con tiempo de ciclo de 100 ns? Si se configura la memoria
a 32 bits de ancho, ¿cuál sería su nuevo ancho de banda?
𝑡𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑐𝑖𝑐𝑙𝑜: 𝑡𝑅𝐶 = 100 𝑛𝑠
Ancho de banda
1
𝑡𝑅𝐶
1
=
100 𝑛𝑠
= 10 𝑀𝑏𝑖𝑡𝑠/𝑠
Se configura una memoria de 32 bits de ancho.
𝑤 = 32
1
𝑅𝐶
𝑤 ∗
𝑡
= 32 ∗ 10 𝑀𝑏𝑖𝑡𝑠/𝑠
NuevoAncho de banda
320 𝑀𝑏𝑖𝑡𝑠/𝑠 = 40 𝑀𝑏𝑦𝑡𝑒𝑠/𝑠
27. Evolución de tiempos de acceso y tiempos de ciclo
Año
Tamaño del chip
(Más lenta)
RAS (ns)
(más rápida)
RAS(ns) CAS (ns)
Tiempo de
ciclo (ns)
1980 64 Kb 180 150 75 250
1985 256 Kb 150 120 50 220
1986 1 Mb 120 100 25 190
1989 4 Mb 100 80 20 165
1992 16 Mb 80 60 15 120
1996 64 Mb 70 50 12 110
1998 128 Mb 70 50 10 100
2000 256 Mb 65 45 7 90
2002 512 Mb 60 40 5 80
28. ARQUITECTURA MEMORIA DRAM
Tipos de localidades:
Los programas presentan ambos
tipos de localidades
LOCALIDAD ESPACIAL
LOCALIDAD TEMPORAL
Es muy probable ejecutar instrucciones cercanas
Es muy probable repetir instrucciones
29. ARQUITECTURA MEMORIA DRAM
Ejemplos
Elementos de datos a los que se accede en
una matriz donde cada vez se accede a un
elemento diferente (o simplemente al
siguiente)
Elementos de datos a los que se accede en
bucles (donde se accede a los mismos
elementos de datos varias veces)
30. • Los patrones de acceso de memoria tienen una localidad espacial
considerable.
ARQUITECTURA MEMORIA DRAM
Esto ocurre cuando en un caso
probable, no se pueda encontrar la
información que busca en cache previo,
por lo que accede a todas las posiciones
consecutivas para pasarla a caché
33. FPM DRAM (FAST PAGE MODE RAM)
Mantiene constante la
dirección y realiza lecturas
de varias columnas de forma
consecutiva
FPM
1 2
34. EDO DRAM (EXTENDED DATA OUT
RAM) y BEDO (BURST)
EDO: Añade un Latch para
mantener el estado del
terminal.
BEDO: Añade un registro que
lleva la cuenta de los registros
a leer.
EDO
BEDO
36. SDRAM (SYNCHRONOUS DRAM) Y
DDR SDRAM
SDRAM: Sincronizada al bus del sistema, quiere decir que
cambia de estado en un momento señalado por la señal.
DDR SDRAM:
Permite el
registro de
datos en flanco
de subida como
de bajada
37. TIPOS DE DDR
SDRAM
Existen 4 tipos de memoria DDR SDRAM por
versiones:
• DDR SDRAM (Primera versión)
• DDR2 SDRAM (Segunda versión)
• DDR3 SDRAM (Tercera versión)
• DDR4 SDRAM (Cuarta y actual versión)
38. MEMORIA GDDR
(GRAPHICS DOUBLE
DATA RATE)
Memorias con funcionamiento igual al DDR,
operando 2 o 4 bits por ciclo de reloj, son
especiales por su optimización para alcanzar
mayores frecuencias y ancho de bus
Al igual que el anterior cuenta con distintas
generaciones (desde el GDDR hasta GDDR6)
41. • 64 Mbits, se
divide en cuatro
bancos.
• Mantener abiertas
4 filas.
Memoria
RDRAM
• Transacción de
datos cada 4
ciclos.
Bus
multiplexado • Se mandan
paquetes
(direcciones)
• Se intercambian
paquetes de datos
Transferencia
de paquetes
42. DRDRAM (Direct Rambus DRAM)
Bits de datos y control:
• Paquetes de 8 bytes
• 10 ns = 4 ciclos
• Señales entre 1 V y 1.8 V
• Se transfieren en ambos ciclos
de reloj
8 𝑏𝑦𝑡𝑒𝑠 𝑥 2
10 𝑛𝑠
= 1.6 𝐺𝐵/𝑠
• Dividido en 16 bancos
• Partición del bus en 3
componentes.
• 3 transferencias distintas
Sucesor de
RDRAM
Bus:
• 400 MHz
• 3 canales de un byte cada
uno.
43. SDRAM VS. RDRAM
• RDRAM necesita 20% más
de tamaño de dado para
igual capacidad
• DRDRAM 3 a 4 veces más
costoso que SDRAM
DRDRAM VS. DRAM
• 8 veces más prestaciones
que un chip DRAM
convectional.
• Cambio con DDR SDRAM.
DRDRAM
• Mejoras de 1% a 2% en
juegos
• 10% - 15% en aplicaciones
gráficas
PRESTACIONES
RDRAM VS.
SDRAM
44. SDRAM
• Se necesita mucha
memoria
• Disponer de altos anchos
de banda.
DRDRAM
• Limitaciones de capacidad
• Anchos de banda
elevados
PRESTACIONES
RDRAM VS.
SDRAM
45. NUEVAS PROPUESTAS
• Subdividen el núcleo
en bancos
• Reduce el tiempo de
acceso (cercano a una
SRAM)
FCRAM y MoSys DRAM
VCRAM
Buffer SRAM asociativo por
conjuntos en el chip
46. Tener en cuenta los buses que transfieren
la información al procesador
01Mejorar los buses
Carga almacenada en la celda de memoria
DRAM se disipa con el tiempo.
02Diferencias entre SRAM y DRAM
De las celdas de memoria debe refrescarse
continuamente (16-32 ms)
03Carga de los transistores
Durante el proceso de refresco el
procesador no puede acceder a la memoria.
04Posibles colisiones
PRESTACIONES
Añade una penalización de entre 6% y 12%.
Tiempo de espera = 50% de la latencia
05Penalizaciones
47. Controlador de memoria
Se ubica en un circuito integrado
llamado chipset
Chipset
Circuitería de refresco de memoria
DRAM
Circuitos que permiten el intercambio
de información con el procesador y los
circuitos de memoria DRAM
DRAM
48.
49. You can Resize without
losing quality
You can Change Fill
Color &
Line Color
FREE
PPT
TEMPLATES
www.allppt.com
La memoria debe
proporcionar
instrucciones y
datos necesarios.
• Un procesador es capaz de captar 4
instrucciones por ciclo
• Frecuencia de 1 GHz
• Tamaño de palabra de 32 bits
Por ejemplo:
• 𝐵𝑖𝑛𝑠𝑡 = 𝑇𝑖𝑛𝑠𝑡 𝑥 𝐼𝑃𝐶 𝑋 𝐹 =
4 4 109 𝑏𝑦𝑡𝑒𝑠/𝑠 = 16𝐺𝑏𝑦𝑡𝑒𝑠/𝑠
El ancho de
banda necesario
(lectura de
instrucciones):
Para que un
procesador pueda
procesar las
instrucciones del
programa a pleno
rendimiento:
50. El acceso a 4 instrucciones
implica acceder a 2 datos
(lectura/escritura), el ancho
de banda para datos es:
𝐵𝑑𝑎𝑡𝑜 = 𝑁𝐷 𝑥 𝑇𝑑𝑎𝑡𝑜 𝑥 𝐹
= 2 4 109 𝑏𝑦𝑡𝑒𝑠Τ𝑠 = 8 𝐺𝑏𝑦𝑡𝑒𝑠/𝑠
𝐵𝐶𝑃𝑈 = 𝐵𝑖𝑛𝑠𝑡 + 𝐵𝑑𝑎𝑡𝑜
= 16 + 8 = 24 𝐺𝑏𝑦𝑡𝑒𝑠/𝑠
51. You can Resize without
losing quality
You can Change Fill
Color &
Line Color
FREE
PPT
TEMPLATES
www.allppt.com
• Bus de 800 MHz
• 𝐵𝑀𝐸𝑀 = 12 𝐺𝑏𝑦𝑡𝑒𝑠/𝑠
Tecnología
DDR2
• El procesador encuentra datos e
instrucciones en una cache rápida
Disponer de
una jerarquía
eficiente
• Tiempo de latencia: retardo entre que se
solicita acceso y se termina el acceso.
(Acceder a un dato)
• Ancho de banda: número de palabras por
unidad de tiempo. (Acceder a un bloque)
Prestaciones
de la
memoria:
53. Tipos de correspondencia
Memoria cache
asociativa por conjuntos
Conjunto que almacena la
línea
Vía: Línea del conjunto.
Cache: 2𝑁𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜+𝑁𝑣í𝑎
Cache con correspondencia
directa
Conjunto: Cada uno con 1
línea; línea a la que irá la línea
de memoria principal.
𝑁𝑣í𝑎 = 0
Suministro de líneas: 2𝑁𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜
Cache completamente asociativa
Un solo conjunto: 𝑁𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜 = 0 𝑦 𝑁𝑣í𝑎 = 0
Marca: Bits de dirección de memoria principal y
línea de cache.
Campos que se puede
distinguir en las direcciones
de memoria
Número de bits de campos
𝑁𝑚𝑎𝑟𝑐𝑎, 𝑁𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜, 𝑁𝑣í𝑎
54. Jerarquía de dos niveles (𝐿1 y memoria
principal):
𝑇2 = (𝑎1)(𝑡1) + (1 − 𝑎1)(𝑡1 + 𝑡𝑀)
Jerarquía de tres niveles (𝐿1 , 𝐿2 y memoria
principal):
𝑇3 = (𝑎1)(𝑡1) + (1 − 𝑎1)(𝑎2)(𝑡1+𝑡2) + (1 − 𝑎1)(1 − 𝑎2)(𝑡1 + 𝑡2 + 𝑡𝑀)
𝑇3 < 𝑇2 por lo tanto:
𝑡2
𝑡𝑀
< 𝑎2
a: Tasa de acierto a la cache
t: Tiempo de acceso a la
cache
55. En una jerarquía
de dos niveles TIEMPO DE CONSUMO
Se actualiza el contenido de la
línea reemplazada en la memoria
principal
Se reemplaza una línea de cache con
información desde la memoria
principal
Se puede mejorar la jerarquía de la memoria, tiempos de acceso a los niveles,
reducer la tasa de fallos y reducir la penalización.
𝑇2 = (𝑎1)(𝑡1) + (1 − 𝑎1)(𝑡1 + 𝑡𝑀 + 𝑝𝑟𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑜 + 𝑡𝑙í𝑛𝑒𝑎)
56. Controlador de memoria
Genera dos direcciones
Fila de celdas
Primer acceso
ACCESO A UNA MEMORIA DRAM
PRIMER
ACCESO
SEGUNDO
ACCESO
Acceso a una matriz de
celdas de memoria DRAM
Columna de celdas
Segundo acceso
BIT deseado
57. DIVERSAS ARQUITECTURAS DRAM
Para configurar la
memoria principal
MEJORA ANCHO DE BANDA
• Aprovechar la localidad de los
accesos a memoria principal.
• Leer/Escribir Línea de cache
completa.
• Segmentación de lecturas.
58. TRANSFERENCIA ENTRE EL PROCESADOR Y LA MEMORIA
CICLO DE BUS
• Conjunto de ciclos para una transferencia.
• Variable que depende del tiempo de
transacción.
CICLOS BURST O A
RÁFAGAS
• Procesador genera solo dirección de una
palabra dentro de la línea.
• Desea todas las palabras.
• Controlador de memoria genera señales
para que la DRAM proporcione los datos.
• Posiciones consecutivas eficiencia
MÁXIMOANCHO DE
BANDA
• Para un ciclo de acceso a memoria que
𝑐𝑖𝑐𝑙𝑜
𝑠
necesite 𝑁 mínimo:
𝐵 =
𝑁𝑏𝑖𝑡𝑠(𝐹𝑏𝑢𝑠)
𝐵𝑏𝑢𝑟𝑠𝑡 =
𝑁𝑐𝑖𝑐𝑙𝑜𝑠
• Para una transferencia en modo burst:
𝑁𝑏𝑖𝑡𝑠(𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑠_𝑙í𝑛𝑒𝑎 )(𝐹𝑏𝑢𝑠
) 𝑐𝑖𝑐𝑙𝑜
𝑠
𝑁 + 𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑠_𝑙í𝑛𝑒𝑎 − 1
59.
60. Problema 1
En un computador el bus de memoria principal es de 100 MHz y 64 bits de datos.
a) Si el ciclo de lectura del bus necesita dos ciclos de reloj, ¿cuál sería el tiempo máximo de acceso que
debería tener la memoria para que no se necesiten introducir estados de espera?
b) Suponga que quiere cargar desde la memoria una línea de cache constituida por 64 bytes ¿Cuál es la
ganancia en ancho de banda que se obtiene si se utiliza acceso en modo burst con relación a acceso
palabra a palabra si el tiempo de acceso de la memoria es de 45 ns?
Datos
𝐶𝑖𝑐𝑙𝑜𝑠 𝑑𝑒 𝑟𝑒𝑙𝑜𝑗 = 2
𝑓𝑏𝑢𝑠 = 100 𝑀𝐻𝑧
64 𝑏𝑖𝑡𝑠 𝑑𝑒 𝑑𝑎𝑡𝑜𝑠 = 8 𝑏𝑦𝑡𝑒𝑠
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 45𝑛𝑠
Solución
a) Dado que el tiempo de ciclo de lectura del bus necesita dos ciclos de
reloj, el tiempo de acceso de la memoria, para no tener que
introducir estados de espera en una lectura, es igual a
𝑎𝑐𝑐𝑒𝑠𝑜𝑚𝑎𝑥
𝑇 = 𝑁𝑐𝑖𝑐𝑙𝑜𝑠𝑙𝑒𝑐𝑡𝑢𝑟𝑎
× 𝑇𝑐𝑖𝑐𝑙𝑜𝑏𝑢𝑠
𝑁𝑐𝑖𝑐𝑙𝑜𝑠𝑙𝑒𝑐𝑡𝑢𝑟𝑎
=
𝐹𝑏𝑢𝑠
2
𝑇𝑎𝑐𝑐𝑒𝑠𝑜𝑚𝑎𝑥 =
100 × 106 = 20 𝑛𝑠
61. b)
Si el tiempo de acceso a la memoria es de 45 ns
1
𝑇𝑖𝑒𝑚𝑝𝑜 𝑑𝑒 𝑐𝑖𝑐𝑙𝑜 =
100 𝑀𝐻𝑧
= 10 𝑛𝑠
Se necesitarían 5 ciclos de reloj
45 𝑛𝑠
10 𝑛𝑠
= 4.5
Entonces se debe de introducir 3 ciclos de espera
𝑇𝑎𝑐𝑐𝑒𝑠𝑜𝑚𝑖𝑛
𝐹𝑏𝑢𝑠
𝑁𝑐𝑖𝑐𝑙𝑜𝑠
= =
5
100 𝑀𝐻𝑧
𝑇𝑎𝑐𝑐𝑒𝑠𝑜𝑚𝑖𝑛
= 50 𝑛𝑠
Problema 1
62. b)
Para acceder a 64 bytes con 64 bits (es decir 8 bytes), se necesitarían 8 accesos de memoria
𝑇𝑙𝑒𝑐𝑡𝑢𝑟𝑎𝑠 = 𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑠 × 𝑇𝑎𝑐𝑐𝑒𝑠𝑜𝑚𝑖𝑛
𝑇𝑙𝑒𝑐𝑡𝑢𝑟𝑎𝑠 = 8 × 50 𝑛𝑠
𝑇𝑙𝑒𝑐𝑡𝑢𝑟𝑎𝑠 = 400 𝑛𝑠
Si se usa el modo burst, el tiempo de acceso será el siguiente
𝑇𝑏𝑢𝑟𝑠
𝑡
𝐹𝑏𝑢𝑠 100 𝑀𝐻𝑧
𝑁𝑐𝑖𝑐𝑙𝑜𝑠𝑏𝑢𝑟𝑠𝑡 5 + 1 + 1 + 1 + 1 + 1 + 1
= = = 120 𝑛𝑠
La ganancia se puede calcular como:
𝑇𝑏𝑢𝑟𝑠𝑡
𝑇𝑙𝑒𝑐𝑡𝑢𝑟𝑎𝑠 400 𝑛𝑠
𝑆 = =
120 𝑛𝑠
𝑆 = 3.33
Problema 1
63. Problema 2
Un computador dispone de un procesador de 64 bits y utiliza una memoria cache de correspondencia directa
de 64 Kbytes y una memoria principal de 32 Mbytes.
(a) Indique la posición de cache que ocupa la instrucción que se encuentra en la dirección 0x110AB48H
teniendo en cuenta que cada línea es de 128 bytes.
(b) ¿Y si, con los mismos datos, la memoria cache fuese asociativa por conjuntos de 4 vías?
Datos Solución
𝑀𝑒𝑚𝑜𝑟𝑖𝑎 𝑝𝑟𝑖𝑛𝑐𝑖𝑝𝑎𝑙 32 𝑀𝑏𝑦𝑡𝑒𝑠 = 225 𝑏𝑦𝑡𝑒𝑠
25 bits para memoria RAM
𝑀𝑒𝑚𝑜𝑟𝑖𝑎 𝑐𝑎𝑐ℎé 𝑑𝑒 64 𝐾𝑏𝑦𝑡𝑒𝑠 = 216 𝑏𝑦𝑡𝑒𝑠
16 bits para memoria caché
𝑇𝑎𝑚𝑎ñ𝑜 𝑝𝑜𝑟 𝑙í𝑛𝑒𝑎 𝑑𝑒 𝑐𝑎𝑐ℎé 128 𝑏𝑦𝑡𝑒𝑠
= 27𝑏𝑦𝑡𝑒𝑠
a) Hallando el número de líneas caché
𝑁𝐿𝑖𝑛𝑒𝑎𝑠 =
𝑡𝑎𝑚𝑎ñ𝑜 𝑐𝑎𝑐ℎé
𝑡𝑎𝑚𝑎ñ𝑜 𝑝𝑜𝑟 𝑙í𝑛𝑒𝑎
216
27
= = 29 𝑙í𝑛𝑒𝑎𝑠
Si la memoria cache es de correspondencia directa, los 7 bits
menos significativos de la dirección indican la posición del
byte dentro de la línea
9 9 7
9 7
Mem. Principal
Mem. Caché
64. Problema 2
(a) Indique la posición de cache que ocupa la instrucción que
0x110AB48H teniendo en cuenta que cada línea es de 128 bytes.
Datos Solución
se encuentra en la dirección
𝑀𝑒𝑚𝑜𝑟𝑖𝑎 𝑝𝑟𝑖𝑛𝑐𝑖𝑝𝑎𝑙 32 𝑀𝑏𝑦𝑡𝑒𝑠 = 225 𝑏𝑦𝑡𝑒𝑠
25 bits para memoria RAM
𝑀𝑒𝑚𝑜𝑟𝑖𝑎 𝑐𝑎𝑐ℎé 𝑑𝑒 64 𝐾𝑏𝑦𝑡𝑒𝑠 = 216 𝑏𝑦𝑡𝑒𝑠
16 bits para memoria caché
𝑇𝑎𝑚𝑎ñ𝑜 𝑝𝑜𝑟 𝑙í𝑛𝑒𝑎 𝑑𝑒 𝑐𝑎𝑐ℎé 128 𝑏𝑦𝑡𝑒𝑠
= 27𝑏𝑦𝑡𝑒𝑠
9 9 7
9 7
Mem. Principal
Mem. Caché
1 0001 0000 1010 1011 0 100 1000
1010 1011 0 100 1000
110 AB 48
Posición en caché: AB48H
Campo de Marca: 110H
Marca Línea Byte
Mem. Principal
Mem. Caché
65. Problema 2
(b) ¿Y si, con los mismos datos, la memoria cache fuese asociativa por conjuntos de 4 vías?
Solución
Si la memoria caché fuera de 4 vías, las
líneas estarían agrupadas en conjuntos de
4, por lo que el número de conjuntos sería.
29
22 = 27 𝑐𝑜𝑛𝑗𝑢𝑛𝑡𝑜𝑠
11 7 7
7 2 7
Mem. Principal
Mem. Caché
1 0001 0000 10 10 1011 0 100 1000
442H 56H ACC8H
Posición en caché: ACC8H
Conjunto: 56H
Campo de Marca: 442H
Marca Conjunto Byte
Mem. Principal
Mem. Caché
10 1011 0 XX 100 1000
01
66. Problema3
En un computador, la cache interna del procesador tiene un tiempo de acceso de 2.5 ns y una tasa de
aciertos del 80%, y la memoria principal tiene un tiempo de acceso de 10 ns. Suponga que dispone de una
memoria cache SRAM con un tiempo de acceso de 5 ns.
a) ¿Qué tasa de fallos ha de tener para que el tiempo de acceso medio a memoria se reduzca con respecto
a la situación anterior?
b) ¿Es posible obtener un tiempo de acceso medio de 3.7 ns?
c) ¿Cuál es el mínimo tiempo de acceso medio que se puede conseguir?
Datos
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 2.5𝑛𝑠
Memoria principal
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 10𝑛𝑠
Memoria cache SRAM
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 5𝑛𝑠
Solución
a) El tiempo medio de acceso al sistema de memoria constituido
por dos niveles (la memoria cache interna L1 y la memoria principal
DRAM) es igual a:
donde 𝑎1 es la tasa de aciertos en la cache L1, 𝑡1 es el tiempo de
acceso a la memoria cache L1, y 𝑡𝑀 el de la memoria principal.
67. Problema 3
Solución
Se ha supuesto que el dato buscado siempre está en la memoria principal y que la memoria cache es del tipo
look-through.
En el caso de un sistema de memoria con tres niveles, en el que se añade una memoria implementada con
celdas SRAM que constituye el nivel de cache externa L2, se tiene que, si 𝑎2 es la tasa de aciertos de la
memoria cache L2 (que se supone también de tipo look-through), el tiempo medio de acceso es igual a:
De esta forma, para que T3 < T2 es preciso que
1 < 2𝑎2
es decir, que 𝑎2 > 0.5, o lo que es lo mismo, que la memoria cache L2 tiene que tener una tasa de aciertos
mayor del 50%.
Para responder al segundo apartado, teniendo en cuenta que 𝑇3 = 5.5 – 2 × 𝑎2, si se quiere que 𝑇3 sea
igual a 3.7 se debe cumplir que:
68. Problema 3
Solución
de donde se puede despejar 𝑎2 = 0.9.
Por último, para responder al tercer apartado, el mínimo tiempo de acceso medio se correspondería a la
situación en la que 𝑎2 = 1 (siempre que se busca un dato en L2 se encuentra allí):
Este tiempo es el mismo que se obtendría si en la expresión del cálculo de 𝑇2 (para el sistema de memoria de
dos niveles) se hiciera el tiempo de acceso a la DRAM igual al tiempo de acceso a la memoria cache L2.
69. Problema 4
En un computador, el bus tiene una frecuencia de 200 MHz, y la memoria principal un tiempo de acceso de
30 ns, que, tras el primer acceso, puede proporcionar (o recibir) una palabra por ciclo en los accesos burst.
El procesador superescalar de 1 GHz dispone de una cache interna con líneas de 4 palabras.
En los programas, por término medio, un 30% de las instrucciones necesitan leer o escribir un dato (una
palabra) en memoria, la tasa de aciertos de la cache interna es del 90%, y, en un 20% de los accesos a
datos se necesita reemplazar el bloque, en caso de que se haya producido un fallo.
a) ¿Cuál es el tiempo medio de acceso a la memoria?
b) ¿Cuántas instrucciones por ciclo se pueden ejecutar, por término medio, en el procesador? ¿y si
la tasa de aciertos pasa a ser de un 95%?
Datos
𝑓𝑏𝑢𝑠 = 200 𝑀𝐻𝑧
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 30𝑛𝑠
𝑓𝐶𝑃𝑈 = 1 𝐺𝐻𝑧
𝑐𝑎𝑐ℎ𝑒 𝑖𝑛𝑡𝑒𝑟𝑛𝑎 → 4 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
Instrucción Proporción
Leer o escribir un
dato 30%
Aciertos de la cache
interna 90%
Reemplazar el
bloque 20%
70. Problema 4
a) ¿Cuál es el tiempo medio de acceso a la memoria?
Datos
𝑓𝑏𝑢𝑠 = 200 𝑀𝐻𝑧
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 30𝑛𝑠
𝑓𝐶𝑃𝑈 = 1 𝐺𝐻𝑧
𝑐𝑎𝑐ℎ𝑒 𝑖𝑛𝑡𝑒𝑟𝑛𝑎 → 4 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
Instrucción Proporción
Leer o escribir
un dato 30%
Aciertos de la
cache interna 90%
Reemplazar el
bloque 20%
Solución
• 𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 𝑎1𝑥𝑡1 + 1 − 𝑎1 𝑥 𝑡1 + 𝑡𝑀 + 𝑝𝑟𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑜𝑥𝑡𝑙í𝑛𝑒𝑎
De los datos:
𝑎1 = 0.9 (aciertos a cache)
𝑡1 = 1𝑛𝑠 (tiempo de acceso a la cache)
𝑡𝑀 = 30𝑛𝑠 (tiempo de acceso a la memoria)
Hay un reemplazo de línea en un 20 % de los accesos y un 30%
de instrucciones acceden a datos:
• 𝑝𝑟𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑜 𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑡𝑜𝑡𝑎𝑙
𝑁𝐼+0.3𝑥𝑁
𝐼
𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑑𝑎𝑡𝑜𝑠 0.3𝑥𝑁𝐼
= 0.2 𝑥 = 0.2 𝑥 = 0.046
71. Problema 4
a) ¿Cuál es el tiempo medio de acceso a la memoria?
Datos
𝑓𝑏𝑢𝑠 = 200 𝑀𝐻𝑧
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 30𝑛𝑠
𝑓𝐶𝑃𝑈 = 1 𝐺𝐻𝑧
𝑐𝑎𝑐ℎ𝑒 𝑖𝑛𝑡𝑒𝑟𝑛𝑎 → 4 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
Instrucción Proporción
Leer o escribir
un dato 30%
Aciertos de la
cache interna 90%
Reemplazar el
bloque 20%
Solución
• Tiempo de actualización de una línea cuando debe
reemplazarse (4 palabras)
𝑡𝑙í𝑛𝑒
𝑎
𝐹𝑏𝑢𝑠 200 𝑀𝐻𝑧
𝑁𝑐𝑖𝑐𝑙𝑜𝑠𝑏𝑢𝑟𝑠𝑡 6 + 1 + 1 + 1
= = = 45𝑛𝑠
Reemplazando valores en la primera expresión:
1 − 𝑎1
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 𝑎1𝑥𝑡1 + 𝑥 𝑡1 + 𝑡𝑀 + 𝑝𝑟𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑜𝑥𝑡𝑙í𝑛𝑒𝑎
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 0.9𝑥1𝑛𝑠 + 1 − 0.9 𝑥 1𝑛𝑠 + 30𝑛𝑠 + 0.046𝑥45𝑛𝑠
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 4.207 𝑛𝑠
72. Problema 4
Datos
𝑓𝑏𝑢𝑠 = 200 𝑀𝐻𝑧
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 30𝑛𝑠
𝑓𝐶𝑃𝑈 = 1 𝐺𝐻𝑧
𝑐𝑎𝑐ℎ𝑒 𝑖𝑛𝑡𝑒𝑟𝑛𝑎 → 4 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
a) ¿Cuántas instrucciones por ciclo se pueden ejecutar, por término medio, en el procesador? ¿y si
la tasa de aciertos pasa a ser de un 95%?
Solución
Instrucción Proporción
Leer o escribir
un dato 30%
Aciertos de la
cache interna 90%
Reemplazar el
bloque 20%
• Primero calculamos el tiempo mínimo que tardaría el
procesador en ejecutar el programa.
𝑇𝐶𝑃𝑈 = 𝐶𝑃𝐼 𝑥 𝑁𝐼 𝑥 𝑇𝑐𝑖𝑐𝑙𝑜
𝐶𝑃𝐼𝑥𝑁𝐼 𝐶𝑃𝐼𝑥𝑁𝐼
= = = 10−9𝐶𝑃𝐼𝑥𝑁𝐼
𝐹 1 𝐺𝐻𝑧
• Calculando el ancho de banda del procesador:
𝐶𝑃𝑈
𝑇𝐶𝑃𝑈
𝑁𝑎𝑐𝑐𝑒𝑠𝑜𝑡𝑜𝑡𝑎𝑙𝑒𝑠 𝑁𝐼 + 0.3 𝑥 𝑁𝐼 1.3 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
𝐵 = = = 𝑥109
10−9𝐶𝑃𝐼𝑥𝑁𝐼 𝐶𝑃𝐼 𝑠
• Igualamos este dato al ancho de banda de la memoria:
𝐵𝑀𝐸𝑀 =
1
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 𝐶𝑃𝐼
1.3
= 𝑥109𝑝𝑎𝑙𝑎𝑏𝑟𝑎/𝑠
1
4.207 𝑥 10−9 =
1.3
𝐶𝑃𝐼
𝑥109𝑝𝑎𝑙𝑎𝑏𝑟𝑎/𝑠
𝐶𝑃𝐼 = 5.47
73. Problema 4
Datos
𝑓𝑏𝑢𝑠 = 200 𝑀𝐻𝑧
𝑡𝑎𝑐𝑐𝑒𝑠𝑜 = 30𝑛𝑠
𝑓𝐶𝑃𝑈 = 1 𝐺𝐻𝑧
𝑐𝑎𝑐ℎ𝑒 𝑖𝑛𝑡𝑒𝑟𝑛𝑎 → 4 𝑝𝑎𝑙𝑎𝑏𝑟𝑎𝑠
a) ¿Cuántas instrucciones por ciclo se pueden ejecutar, por término medio, en el procesador? ¿y si
la tasa de aciertos pasa a ser de un 95%?
Solución
Instrucción Proporción
Leer o escribir
un dato 30%
Aciertos de la
cache interna 90%
Reemplazar el
bloque 20%
• Si la tasa de aciertos cambia a 95% debemos calcular el
tiempo de acceso nuevamente.
1 − 𝑎1
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 𝑎1𝑥𝑡1 + 𝑥 𝑡1 + 𝑡𝑀 + 𝑝𝑟𝑒𝑒𝑚𝑝𝑙𝑎𝑧𝑜𝑥𝑡𝑙í𝑛𝑒𝑎
𝑇𝑎𝑐𝑐𝑒𝑠
𝑜
= 0.95𝑥1𝑛𝑠 + 1 − 0.95 𝑥 1𝑛𝑠 + 30𝑛𝑠 + 0.046𝑥45𝑛𝑠
𝑇𝑎𝑐𝑐𝑒𝑠𝑜 = 2.603 𝑛𝑠
• Entonces el ancho de banda de la memoria será:
𝐵𝑀𝐸𝑀 =
𝑇𝑎𝑐𝑐𝑒𝑠𝑜
=
1 1
2.603𝑛𝑠
• Ahora el numero de ciclos por instrucción es:
1.3 1
𝑥109𝑝𝑎𝑙𝑎𝑏𝑟𝑎/𝑠 =
𝐶𝑃𝐼 2.603𝑛𝑠
𝐶𝑃𝐼 = 3.38