Computacion

Solo disponible en BuenasTareas
  • Páginas : 6 (1447 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de agosto de 2012
Leer documento completo
Vista previa del texto
Arquitectura de Computadores II
Clase #6
Facultad de Ingeniería
Universidad de la República

Instituto de Computación
Curso 2010

Recapitulando:
donde estamos?
Componentes clásicos de un computador
Procesador
Entrada/
Salida

Control
Memoria
Datapath

Veremos otras ideas para mejorar el rendimiento
Localidad y jerarquía de memoria
Memorias SRAM, DRAM
Organización de lamemoria
Caches, memoria virtual

1

Recordemos las tendencias
tecnológicas…

Jerarquía de memoria

Processor
Control

Speed (ns): 1s
Size (bytes): 100s

On-Chip
Cache

Registers

Datapath

Second
Level
Cache
(SRAM)

Main
Memory
(DRAM)

10s

100s

Ks

Gs

Tertiary
Secondary
Storage
Storage (Disk/Tape)
(Disk)

10,000,000s 10,000,000,000s
(10s ms)
(10s sec)Ts
100Gs

2

Jerarquía de memoria
Registros
Cache L1
Cache L2
Memoria Principal
Disco (c/cache)
Alm. óptico
Cintas

Por qué funciona la jerarquía ?
Principio de Localidad:
Los programas acceden a una porción relativamente
pequeña del espacio de direcciones en un determinado
lapso de tiempo.
Localidad temporal
• Si un ítem es referenciado en determinado momento, es
común quevuelva a ser referenciado poco tiempo después

Localidad Espacial
• Cuando un ítem es referenciado en determinado momento,
es común que los ítems con direcciones “cercanas”también
sea accedidos poco tiempo después.

3

Jerarquía de Memoria:
Cómo Funciona?
Localidad Temporal
Mantener los datos más recientemente accedidos
“cercanos” al procesador

Localidad Espacial
Mover bloquesde palabras contiguas al nivel superior

Como se maneja la jerarquía?
Registros Memoria
por el compilador (programador?)

cache memoria
por el hardware

memoria discos
por el hardware y el sistema operativo (memoria virtual)
por el programador (archivos)

4

Jerarquía de Memoria:
Terminología
Hit: los datos están en algún bloque del nivel superior
Hit Rate: fracción de accesosa memoria encontrados en el
nivel superior
Hit Time: Tiempo de acceso al nivel superior
• Tiempo para determinar hit/miss + tiempo de lectura/escritura

Miss: los datos deben ser traídos desde un bloque en el
nivel inferior
Miss Rate = 1 - (Hit Rate)
Miss Penalty
• Tiempo adicional requerido en caso de Miss.

Hit Time 1). Cuando se lee un
bloque, se almacena en una línea de cache.8

Operativa de la cache: lectura

Organización típica del cache

9

Diseño de la Cache
Tamaño
Compromiso Costo/Velocidad
• Más cache, más velocidad (hasta cierto punto)

Función de correspondencia (Mapping Function)
Entre bloques de memoria principal y líneas del cache

Algoritmo de sustitución
¿Qué bloque se desecha cuando se lee un bloque nuevo?

Política de escritura¿Hubo modificaciones?

Tamaño del bloque
Para un tamaño de cache dado: ¿más líneas o líneas más
grandes?

Cantidad de caches
¿Cache unificada o caches separadas para datos e
instrucciones?

Función de correspondencia
Para todos los casos consideraremos un
ejemplo:
Cache de 64 KBytes
Bloques de 4 bytes
• cache de 16K (214) líneas de 4 bytes cada una

16MBytes de memoria principal
24bits de direcciones
• (224=16 MB)

10

Correspondencia Directa
Cada bloque de memoria principal se corresponde a una línea
de la cache
Se considera la dirección dividida en dos partes
w bits menos significativos identifican una palabra única
s bits más significativos especifican un bloque de memoria

Los s bits de bloque se dividen en un campo línea de cache,
de r bits, y un tag des-r bits (más significativos)
En nuestro ejemplo, dirección de 24 bits: 2 bits de
identificador de palabra (bloques de 4 bytes) + 22 bits de
identificador de bloque
• Campo Tag de 8 bits (=22-14)
• Campo Line o Slot de 14 bits

Tag s-r

Word w

14

8

Line or Slot r

2

Bloques en la misma línea tienen tag único. Se chequea el
contenido de la cache mediante el tag de línea...
tracking img