UNIVERSIDAD DE CORDOBA UNIDAD VI EXPLOTAR LA JERARQUÍA DE MEMORIA

Anuncio
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
EXPLOTAR LA JERARQUÍA DE MEMORIA
1.- INTRODUCCION
 La memoria como uno de los bloques funcionales básicos
1
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
2
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Ideal de todos los programadores
 Memoria:
 Mucha
 Muy rápida
 Gran impacto sobre el rendimiento de la organización de la memoria
 Cuello de botella
 Objetivo de este tema:
“Cómo creerse que pueden tenerse esas dos características sin que
realmente lo sea (ilusión)”
3
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Ejemplo del estudiante en biblioteca, consultando libros:
 Depósito general (estanterías)
 Grande y lento de acceso
 Depósito pequeño (mesa)
 Pequeño y de acceso rápido
 Mecanismo de consulta
 Mira libro en la mesa
 Acude al depósito general si no lo encuentra
“Con un nº no grande de libros (bien elegidos) en la mesa, gran
parte de las consultas serán un éxito”
 Principio de localidad
 Localidad temporal

Los más recientemente utilizados son más probables
 Localidad espacial
 Los más cercanos a los utilizados son más probables
4
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Aplicación a la memoria de un computador
 Gran localidad de acceso a memoria (Instrucciones y Datos)
 Temporal (bucles)
 Espacial (secuencialidad)
 Implementación de una jerarquía de memoria
 Se divide en diferentes niveles: parametros diferentes:
 Velocidades
 Tamaños
 Coste por bit
 Consideramos tres niveles:
 Superior – Memoria Caché (cercana a la CPU)  SRAM
 Medio – Memoria Principal  DRAM
 Inferior – Memoria Secundaria  MAGNÉTICA
 El contenido de la Caché es un subconjunto del nivel superior
5
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI

6
Tiempos y coste
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Mecanismo de acceso a instrucciones y datos
er
 Buscamos en el 1
nivel (Caché)
 Si está se toma  Éxito
 Si no está se accede al siguiente nivel
º
 Buscamos en el 2 nivel si procede (Memoria principal)
 Si está se toma y se pasa al 1er nivel
 Si no está se accede al nivel siguiente
er
 Se toma del 3
nivel (Memoria secundaria)
 Parámetros de eficiencia
 Si se encuentra  Acierto (HIT)
 Si no se encuentra  Fallo (MISS)
 Tasa de aciertos  Acierto/(A+F)
 Tasa de fallos  Fallo/(A+F)
 Tiempo de Acierto incluye:
 Tiempo de acceso a nivel superior
 Tiempo de comprobación de si existe en ese nivel
 Penalización de fallo incluye:
 Tiempo en sustituir un bloque del nivel superior
7
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
2.- CACHES
 Identifica el 1er nivel dentro de la jerarquía de la memoria (1970)
 Entre la memoria principal y la CPU
 Consideraremos una sencilla:
 El procesador solicita una palabra cada vez
 Cada bloque es de una palabra
 Ejemplo de un fallo
8
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Cuestiones a plantear:
 Cómo sabemos si está lo que buscamos
 Cómo lo obtenemos
 Estructura de “Correspondencia Directa”
 Cada palabra de la M.P. sólo puede
estar en una posición de la Caché
 Cada palabra de caché contiene:
 Bit de validación V (valid)
 Etiqueta (tags)  Almacena
el rótulo
 Palabra (Instrucción o dato)
9
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Proceso de acceso a la caché en
un ejemplo
 Contenido de la Caché:
10
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Estructura de la Caché:
11
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 En el camino de datos segmentado, las memorias de Instrucciones y Datos son memorias Caché
12
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Tamaño de la Caché:
 Dirección de M.P. = 32 bits
 Tamaño Caché = 2n palabras
 Campo de etiquetas = 32-(n+2)
 Cada posición de la Caché = 32-(n+2)+32+1 = 63-n
n
 Tamaño total de la Caché = 2 (63-n) bits
 Tratamiento de los fallos de la Caché
 Suponemos una máquina multiciclo o segmentada.
 Pasos que debe realizar la U. Control ante un fallo (p.e. lect. Instr.)
1. Calcular el valor PC-4
2. Indicar lectura a la M.P. y dar tiempo a que responda
3. Escribir en la Caché (todo lo necesario)
4. Reiniciar la ejecución
 Mecanismo de detención (stall) similar al de la segmentación
 Para el fallo de datos el mecanismo es similar
13
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Ejemplo de Caché: DECStation
3100
 Procesador MIPS R2000
 Segmentación similar a la
vista
 Cada ciclo de reloj solicita
(velocidad máxima):
 Una
palabra
de
instrucción y una de
datos
 Posee
dos
Cachés:
Instrucciones y datos
 16 Kbloques (Bloque =
1 palabra)
14
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI

Pasos para una petición de lectura
1. Enviar dirección a la caché adecuada
 Del PC (Instrucciones)
 De la salida de la ALU (Datos)
2. Si hay acierto toma I ó D
Si hay fallo envía dirección a MP y lo escribimos en la Caché
Pasos y problemas de escritura en Caché (Datos)
 Inconsistencia de datos o coherencia de la caché
 Formas de mantener la coherencia:
 Escritura directa (write-through)
 Postescritura (write-back)
 DECStation utiliza escritura directa
1. Indexa la Caché utilizando los bits 15-2
2. Escribir en la palabra de la Caché
 Parte de la etiqueta (bits 31-16)
 El dato
 Escribir el dato en MP

15
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Lentitud de esta política
Ejemplo: compilador gcc 11% almacenamiento
Sin fallo de Caché CPI = 1’2
Si suponemos 10 ciclos por escritura 
CPI = 1’2 + 10*0’11 = 2’3
Disminuye el rendimiento en un factor de casi 2
Buffer de escritura
 El dato a almacenar en MP se pone ahí
 El procesador continúa
 Profundidad del buffer (110)

 Tasa de fallos y aciertos para la DECStation 3100
 La tasa de fallos no es todo
16
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
Comparación con diferentes tipos de Caché para la DECStation 3100
 Programa gcc
 Caché combinada (D+I)  4’8%.
 Caché dividida (I y D)  5’4%.
 Sin embargo, la caché dividida aumenta el ancho de banda

 Aprovechar la localidad espacial
 Necesidad de bloques que tengan varias palabras
 Aprovecha mejor la localidad espacial
 Ejemplo de una Caché de 64K posiciones
 Cada bloque tiene 4 palabras (16 bytes)
 Control del multiplexor con los bits 3 y 2 de la Dirección
 Mejora de eficiencia de aprovechamiento de memoria
 1 etiqueta por cada 4 datos
17
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Ejemplo: Caché de 64 bloques y 16 bits por bloque. Qué número de bloque le corresponde a
la dirección del byte 1200?
000001 001011 0000
Nº Bloque = 11 = (Dir. Palabra)/(Palabra por bloques) módulo (Bloq. De la Caché)
 Los fallos de lectura por bloque multi-palabra
 Igual que si hubiera una sola palabra
 Siempre se transfieren bloques completos
 Problemas con la escritura
 No es posible ahora escribir identificador y dato
 Se escribiría en una palabra de la caché
 Se comparan las etiquetas
 Si coinciden se escribe el dato y ya está
 Si no coinciden:
 Traslado de bloque de la M. P. a la Caché
 Escribimos la palabra
18
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Cómo afecta el tamaño del bloque al rendimiento
 Tasa de fallos en los programas gcc y spice
Fuerte aumento:
 Cuando el tamaño de bloque es grande respecto al tamaño de la Caché
 El aumento del tamaño de bloque implica:
 Aumento del coste del fallo

19
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Deberá buscarse alguna técnica adicional para evitar la penalización por tamaño de bloque
 Rearranque anticipado (early restart)
 No esperar al bloque completo
 Primera palabra requerida
 Empieza transfiriendo la palabra requerida del bloque
 Diseño del sistema de memoria para soportar Caché.
“Reducción de la penalización de fallos incrementando el ancho de banda de
la memoria a la Caché”
 Supongamos el conjunto de tiempos hipotéticos:
 1 ciclo de reloj para enviar dirección
 10 ciclos de reloj para cada acceso iniciado a la DRAM (MP)
 1 ciclo de reloj para enviar una palabra de datos
 Para un bloque de 4 palabras y ancho de la DRAM de 1 palabra:
TPENALIZACIÓN POR FALLO = 1 + 410 + 41 = 45 ciclos
Nº byte / Ciclos de penal. = 44 / 45 = 0’35 bit / ciclo
20
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Una memoria principal DRAM con distintos anchos de banda:
21
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Memoria entrelazada
 No aumenta ancho de buses de M.P. y M.C.
 Diferencia entre incremento físico y lógico
 Para una anchura de 2 palabras:
TPENALIZACIÓN POR FALLO = 1 + 210 + 21 = 23 ciclos
Ancho de Banda = 0’67 bit / ciclo
 Para una anchura de 4 palabras:
TPENALIZACIÓN POR FALLO = 1 + 110 + 11 = 12 ciclos
Ancho de Banda = 1’33 bit / ciclo
 Para una M. entrelazada con 4 bancos:
TPENALIZACIÓN POR FALLO = 1 + 110 + 41 = 15 ciclos
Ancho de Banda  1 bit / ciclo
22
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Desventaja de la Memoria entrelazada

Se necesita usar más chips de memoria
Ejemplo: una Memoria principal de 16 Mbytes
 Disponemos de chips de 1 Mb  1 bit
 Podemos hacer 4 bancos de 32 bits (128 bits)
 32 chips de memoria por banco
 Usamos chips de 4  1 Mbit
 Sólo podemos tener un banco de 32 bits

 Mejorar velocidad de transferencia desde memoria a Caché
 Acceso a la DRAM
modo página
 Otra mejora interna
de las DRAM
 Evolución de
tamaño, costos
y velocidad de
las DRAM
23
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Rendimiento de la Caché
 Hay que tener en cuenta los ciclos de espera del sistema de memoria
 Tiempo CPU = [Ciclos de ejecución CPU + Ciclos de espera]  T(periodo)
Ciclos de espera  a fallos de Caché
- C. detención lectura (Cdl) +C. detención escritura (Cde)
Cdl 
N º Lecturas
 Tasa fallos lectura  Penalizaci on fallos por lectura .
Pr o gra ma
Cde 
N º Escrituras
 Tasa fallos escritura  Penalizaci on fallos por escritura 
Pr o gra ma
Detencíon
por buffer de escritura
 Si escritura y lectura fuesen idénticas:
Cde 
Accesos a memoria
 Tasa fallos  Penalizaci on fallos
Pr o gra ma
ó
Instruccio nes
Pr o gra ma
24

Fallos
 Penalizaci on fallos
Instrucció n
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
Ejemplo 1: Programa gcc (compilador)
Tasa fallos instrucción = 5%
Tasa fallos datos = 10%
Máquina I  CPI = 4 ciclos
Penalización por fallo = 12 ciclos.
Ciclos de fallos de instrucciones = IC0’0512 = 0’6IC
Frecuencia de carga y almacenamiento = 33%.
Ciclos de fallos de datos = IC0’330’112 = 0’4IC
Nº total de ciclos de detención = 0’6IC + 0’4IC = 1’0IC
Luego CPI = 4+1 = 5 ciclos
Máquina II  Caché perfecto
Como IC y T son los mismos para las dos máquinas:
t CPU
t CPU
CON DETENCION
CACHE PERFECTA

IC  CPI I  Ciclo Reloj
IC  CPI
II
 Ciclo Reloj

5
 1'25
4
Si mantenemos la velocidad de la máquina y CPI = 2  rendimiento con caché perfecta
= (2+1) / 2 = 1’5 veces más
25
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
Ejemplo 2: Suponer doble frecuencia de reloj de la CPU pero sin variar el
acceso a memoria en los fallos
Frecuencia doble  Penalización por fallos = 24 ciclos
Ciclos totales por fallos = (0’0524) + 0’33(0’124) = 2’0
La máquina con fallos a frecuencia doble  CPI = 4+2 = 6
La máquina anterior  CPI = 4+1 = 5
t. CPU lenta
t. CPU rápida

IC  CPI
IC  CPI
lento
Rápido
 Ciclo lento
 Ciclo Rápido

5 1
6 1 2

5
3
La máquina de reloj rápido es 1’67 veces más rápida que la otra con la misma tasa de
fallos caché
 Influencia sobre penalizaciones de la rapidez de la máquina
1. Si CPI disminuye, más influye el impacto de los ciclos de espera
2. Un aumento de la frecuencia de reloj conduce a una penalización de fallos mayor
(supone no variación del t. de acceso a la memoria)
 Problema del tiempo de acierto (no se ha tenido en cuenta)
 Es mayor cuanto mayor es la caché
 Hará necesario un ciclo de reloj más lento
26
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
3. Memoria Virtual
 Se trata de cubrir los objetivos:
1. Poder ejecutar programas cuyo tamaño exceda de M.P
2. Poder ejecutar una colección de programas a la vez en un Computador
2.1. Hacer una compartición eficiente de la M.P
2.2. En la M.P. sólo están las partes activas en ese momento
 Es como si la M.P. actuase de Caché respecto a la M. Secundaria
 Memoria virtual:
 Tanta como memoria secundaria
 Se divide en partes de igual tamaño  Página
 Fallo de página
 Dirección virtual: referencia a la memoria virtual
 Memoria física:
27
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 La M.P. de la computadora
 Se divide en trozos del mismo tamaño que la página  bloque
 Dirección física
 Correspondencia de memoria (memory
mapping)
 Traducción de una dirección virtual
a una física
28
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Nos permite cargar cualquier programa en cualquier posición física
 Siempre se trabaja con tamaño de página = bloque
 Dirección virtual
 Nº de página | Posición de desplazamiento en la página
29
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Mecanismo de ejecución del programa
 La CPU lanza una dirección virtual
 Se hace la traducción a dirección física
 Si está se toma el dato
 Si no está Fallo de página (alto coste)
 Mecanismo de sustitución (FIFO, LRU, etc..)
 Realización por software
 No se realiza nunca escritura directa
 Tamaño de página: 4 a 16 Kbytes
 Muy grande:
 Poca tasa de fallos
 Mucho tiempo de reemplazo
 Pequeña (lo contrario)
30
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Colocar una página y poder localizarla
 Correspondencia totalmente asociativa (fully associative)
 Cualquier página puede estar en cualquier bloque
 Necesidad de una tabla de páginas (page table) en memoria
 Cada programa tiene su tabla de páginas
 Tantas posiciones como páginas
 Indexada por Nº de página
 Cada posición contiene el Nº de bloque (si está en M.P.)
 Necesidad de un bit de presencia
 Existencia de un registro de apunte al comienzo de la tabla de páginas.
 Registro de tabla de páginas.
 Es el que se guarda en el cambio de proceso activo a inactivo.
31
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
32
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Fallos de página
 Se produce cuando el bit de presencia está en off (0)
 Quiere decir que la página no está en M.P.
 Acudir al nivel superior de memoria (disco)
 Transferirla a M.P.
 Políticas de sustitución (LIFO, LRU,
etc.)
 Cómo se sabe dónde está la página
que buscamos.
 La dirección virtual por sí sola
no es suficiente.
 Necesidad de una estructura de
datos adicional.
 Tabla de páginas que incluya la posición
de todos.
 Presentes:
dirección
física.
 No presentes: posición en
el disco.
33
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 ¿Qué ocurre con las escrituras?
 Gran coste de acceso a la memoria secundaria.
 No es útil usar un buffer de escritura como la caché.
 Postescritura (write back).
 Cuándo se reemplaza la página.
 Existencia de un bit de cambio
 No devolver si no se ha cambiado
 Hacer rápida la traducción de direcciones (el TLB)
TLB = Translation Lookaside Buffer
 Las tablas de página están en M.P. (son grandes)
 Su acceso es costoso  Pérdida de la eficiencia de la caché
 Aplicación del mismo criterio de localidad de la caché
 Una caché especial (TLB) Con las traducciones últimamente usadas
 TLB:
 Una caché que contiene solamente correspondencias de tablas de páginas
 Etiqueta: Nº de página virtual
 Dato: Nº de página física
 Bit adicionales de: Presencia; Referencia; Modificación
34
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
35
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Aplicación del TLB en las referencias a memoria
1. Se busca el Nº de página virtual en el TLB
a) Si está  acierto  se forma la dirección física
* Se activa el bit de referencia
* Se activa el bit de modificación si es escritura
b) Si no está  ver tipo de fallo posible
* Fallo de TLB (miss)
- Se carga desde la tabla de páginas
- Se intenta de nuevo la traducción
* Fallo de página (fault)
- Una excepción
- El S.O. producirá el cambio de página
2. Cuando se ha recuperado la traducción del fallo:
a) Seleccionar una entrada de la TLB a sustituir (Aleatorio, FIFO, LRU, ...)
b) Transferir sólo los bits (modif y uso) a la tabla de páginas.
* Política de postescritura
36
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Valores típicos de una TLB
37
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 TLB de una DECStation 3100 (procesador R2000)
 El TLB está incluido en el chip procesador
20
 Tamaño de página = 4 Kbytes = 2
páginas virtuales
 Nº bits. Dirección física = Nº bits Dirección virtual (32)
 TLB con 64 entradas
 Totalmente asociativa
 Cada entrada:
 Etiqueta 20 bits
 Bloque físico 20 bits
 Bits de validez, modificación
 Otros bits de organización
 Cuando hay fallo:
 El hardware genera el Nº de página de referencia
 El hardware suele guardar un índice que indica la entrada a sustituir
38
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 TLB y Caché de un R2000
39
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Procesamiento de fallos
40
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Implementación de la protección con memoria virtual
 Importancia en los sistemas multiusuario:
 Impedir leer y/o escribir en otros procesos
 Comparten la memoria física
 El S.O. es el que mantiene la tabla de páginas
 Mantener una correspondencia disjunta
 Los procesos de usuario no pueden cambiar la tabla de páginas
 El S.O. sí puede modificar estas tablas
 Interface hardware/software

El hardware debe proporcionar como mínimo las capacidades de:
1. Soportar dos modos de ejecución: usuario y otros
(Supervisor, Sistema, Kernel, ...)
2. Proporcionar al usuario leer (sólo) parte del estado de la CPU
3. Mecanismos de paso de usuario a modo supervisor y viceversa
 Llamadas al sistema (Syscall, Trap)
 Transfiere el control al S.O. (Excepción)
41
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 El S.O. puede permitir compartir páginas




Sólo lectura
Lectura y escritura
Incluir bits de protección en cada entrada de la tabla de páginas
Posibilidad de compartir código
 Tratamientos de los fallos de página y el TLB
 Un fallo en TLB puede indicar 2 posibilidades:

La página está en M.P.  sólo crear la entrada en la TLB
La página no está en M.P.  control al S.O.
 No está en M.P. si el bit de validez en la T.P. es 0


42
El fallo de TLB puede ser tratado por hardware o software
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Tratamiento del fallo de página
Mecanismo de excepción
 Interrumpe el proceso activo
 Control al S.O. que determinará la causa de la excepción

El fallo se produce en un intento de acceso a memoria
 Guardar el PC en el EPC
 Impedir cualquier proceso de escritura (lw ó sw)

Al ser excepción de fallo de página
 Guarda el estado completo del proceso
 Todos los registros, incluyendo los de F.P.
 El registro EPC y el CAUSE
 Calcula la dirección virtual del fallo de página
 El contenido del EPC (fallo de instrucción)
 En la instrucción que está contenida en la dirección que hay en el EPC

Conocida la dirección virtual:
 Busca la posición de la página en el disco
 Si es necesario elige página a sustituir, escribiendo o no si procede

43
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Comienza la transferencia de la página de disco a M.P.
 Como esto es costoso, el S.O. selecciona otro Proceso
 Terminada la transferencia pasa a estado de Ready
Iniciada la Excepción, emmascara nuevas excepciones
 No habilita hasta almacenar los datos del Proceso

 Política de Retorno al Proceso
Reiniciable
 Empezar de nuevo (facil: ej. MIPS)
 Continuar donde quedó (complejo: máquinas CISC)

 Las Violaciones de Protección se ven como excepciones del TLB

Se indican por bits del Registro CAUSE
 Solución MIPS para detectar fallos de página
 Se produce un primer fallo de TLB
 Transfiere información de la T.P. a la TLB

44
Reintenta leer el TLB
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Si hay fallo es fallo de página
4.- UN MARCO COMUN PARA LAS JERARQUIA DE MEMORIA
 Similitud entre las distintas Jerarquías
 ¿Dónde ubicar un bloque?

Para la Cache
 Exactamente en una posición (Correspondencia Directa)
Posición del bloque = Nº de Bloque mod bloques de la Caché
 Un número fijo de posiciones (>= 2) donde colocar un bloque (Asociativa por Conjunto)
Conjunto que contiene un bloque = Nº bloque mod número de conj. de la Caché
45
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 En cualquier Posición (Totalmente Asociativo)

46
Corresp. Directa y Totalmente Asocit., casos particulares
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
47
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Influencia sobre la Tasa de Fallos del Grado de Asociatividad
DEC STATION 3100 con tamaño de bloque de CUATRO palabras
48
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Influencia del tamaño de Caché y Asociatividad sobre Tasa de Tallos
VAX (SO Ultrix), multiprogramado, bloques 32 Kb, Alg. LRU
49
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 ¿Cómo se encuentra un bloque?


Sistema M. Virtual
páginas
Indexación de

Caché Asociativa por Conjuntos
 Descomposición de la dirección
virtual
Etiqueta
Indice
Desplazamiento en el bloque
 Indice: selecciona el conjunto
 Etiqueta: compara todas para ver si
está
50
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Elección del tipo de Organización
 M. Virtual:
Totalmente Asociativa
 M. Caché y TLB:
Asociativa por conjuntos
 Política de escritura
Ventaja en tiempo de la directa
 ¿Que bloques se deben de reemplazar en un fallo de Caché?


51
Para Correspondencia directa:
 Un solo candidato
Para Totalmente Asociativa: Todos son candidatos
 Aleatoria (facilidad Hardware)
 LRU (costosa)
 Aproximación LRU
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 ¿Qué ocurre en la escritura?
52

Escritura Directa (Write Trhough)
 Fallos de lectura baratos
 Implementación facil (buffer de escritura)

Post-escritura (Write Back)
 Escritura a velocidad de la Caché
 Múltiples escritura se reduce a una
 Uso del ancho de band del nivel mas bajo

Para Memoria Virtual
 Política de Post-escritura (gran latencia)

Tendencias de Caches a Post-escritura
 Aumento del gap CPU-Memoria
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Modelo Intuitivo del comportamiento de jerarquías de Memoria
 Tipos de fallos de una Caché



53
Fallos Compulsorios (o forzosos)
 Primer acceso al bloque
Fallos de Capacidad
 No puede contener todos los bloques necesarios
 Ejemplo en asociativa total
Fallos por conflicto (o Colisión)
 No puede contener todos los
bloques necesarios
 Ejemplo en Asociativa por
Conjuntos
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Forma de evitar fallos



Fallo de Conflicto: Totalmente Asociativa
 Costosa y Lenta
Fallo de Capacidad: Caché muy grande
 Penalización en tiempo de acceso
Fallo forzoso: Incremento de tamaño del bloque
 Incremento de penalización en los fallos
 Falacias y Pifias
 Olvidar contabilizar el direccionamiento en Bytes o el tamaño del bloque en la simulación de
la Caché
Ejemplo1: Caché de 32 bytes; tamaño de bloque 4 bytes
- La caché tendrá 32/4 = 8 bloques
a) Para la dirección 36 bytes, ¿En qué bloque de la Caché está?
Nº de bloque = |36 / 4| = 9
Nº bloque de la caché = 9 mod 8 = 1
b) Para la dirección de la palabra 36, ¿En qué bloque de la Caché está?
Nº de bloque = 36
54
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
Nº bloque de la caché = 36 mod 8 = 4
Ejemplo 2: Caché de 256 bytes; Tamaño de bloque de 32 bytes
- La caché tendrá 256/32 = 8 bloques
c) Para la dirección 280 bytes, ¿En qué bloque de la Caché está?
Nº de bloque = |280/ 32| = 9
Nº bloque de la caché = 9 mod 8 = 1
PIFIA
 Seleccionar un Espacio de direcciones pequeño


Error de los PDP-11 (espacio fijo de 16 bits)
Éxito de los IBM 360 (expansión de 24 a 32 bits)
PIFIA
 Uso de la Tasa de Fallos como único parámetro de evaluación
Ejemplo :
Máquina I: Caché de 32kbytes; T. Fallos 5%; T = 17 s.
Máquina II: Caché de 64kbytes; T. Fallos 4%; T = 20ns
Ambas: Correspondencia Directa; CPI (sin detección) igual;
Tiempo penalización de fallo 200ns
55
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
referencias por Instrucción 1.5
TiempoCPU = (Ciclosejecución + Ciclosretención) * T
Ciclosretención = NI * Fallos/Inst. * Penaliz (ciclos).
Fallos/Inst. = Tasa fallos + (T. Fallos datos * refer datos /Inst.)
C.ret (I) = NI (0.05 + [0.05 * 0.5] * 200/17) = 0.9 NI
TiempoCPU (I) = [(CPI * NI) + ( 0.9 * NI)] * 17 = (17 CPI + 15) NI
C.ret (II) = NI (0.04 + [0.04 * 0.5] * 200/20) = 0.6 NI
TiempoCPU (I) = [(CPI * NI) + ( 0.6 * NI)] * 20 = (20 CPI + 12) NI
 La Máquina II tiene peores prestaciones
PIFIA
 Escoger una Cache Asociativa por Conjuntos y no de C. Directa por tener menor Tasa de
Fallos

El impacto sobre T al tener una A. por Conjuntos puede ser peor que las mejoras de tasa
PIFIA
56
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Extender un Espacio de Direcciones añadiendo segmentos en la parte
superior de un espacio plan
 Problemas de las máquinas con Segmentación
OBSERVACIONES FINALES
 Mantenimiento velocidad de CPU y Memoria Principal
57
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
TENDENCIAS ULTIMAS
 Dificultad de poder elegir el punto adecuado de diseño
 Mejoras en un lado pierde en otros
58
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
UNIVERSIDAD DE CORDOBA
ESTRCUTRA DE COMPUTADORAS
UNIDAD VI
 Caches Multiniveles
 Cada nivel usa un criterio diferente
 Primer nivel  funciona a ciclo de reloj (afecta a T)
 Segundo nivel  tasa de aciertos grandes (gran tamaño)
 Afecta a la penalización de fallos
 Reducción de diferencia CPU – DRAM
 SDRAM
 Aumento de ancho de buses
 Soluciones Software
 Reordenación de Código para aumento de localidad
 Prebúsqueda dirigida por el Compilador
 Traer bloques a la Caché antes de referenciarlos
 Necesidad de Instrucciones especiales
59
ÁREA DE ARQUTIECTURA Y TECNOLOGÍA DE COMPUTADORES
Descargar