17
25/08/2010 1 Cache Pequeña cantidad de memoria rápida. Se encuentra entre la memoria principal y el CPU. Puede estar localizado en el chip del CPU. Principios de Localidad de Referencia Localidad de referencia: temporal y espacial Los programas tienden a reutilizar los datos e instrucciones que utilizaron recientemente. Una regla empírica que se suele cumplir en la mayoría de los programas revela que gastan el 90% de su tiempo de ejecución sobre sólo el 10% de su código Se puede predecir con razonable precisión las instrucciones y datos que el programa utilizará en el futuro cercano a partir del conocimiento de los accesos a memoria realizados en el pasado reciente. Principios de Localidad de Referencia Principio de Localidad Espacial de Referencia: Cuando se accede a una palabra de memoria, es muy probable que el próximo acceso sea en la vecindad de la palabra anterior. Principio de Localidad Temporal de Referencia: Cuando se accede a una posición de memoria, es muy probable que en un lapso de tiempo corto, dicha posición de memoria sea accedida nuevamente.

Memoria Cache

  • Upload
    barto

  • View
    801

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Memoria Cache

25/08/2010

1

Cache

� Pequeña cantidad de memoria rápida.

� Se encuentra entre la memoria principal y el CPU.

� Puede estar localizado en el chip del CPU.

Principios de Localidad de Referencia

� Localidad de referencia: temporal y

espacial

� Los programas tienden a reutilizar los

datos e instrucciones que utilizaron

recientemente.

� Una regla empírica que se suele cumplir

en la mayoría de los programas revela que

gastan el 90% de su tiempo de ejecución

sobre sólo el 10% de su código

� Se puede predecir con razonable precisión

las instrucciones y datos que el programa

utilizará en el futuro cercano a partir del

conocimiento de los accesos a memoria

realizados en el pasado reciente.

Principios de Localidad de Referencia

Principio de Localidad Espacial de Referencia:

� Cuando se accede a una palabra de memoria, es muy probable que el próximo acceso sea en la vecindad de la palabra anterior.

Principio de Localidad Temporal de Referencia:

� Cuando se accede a una posición de memoria, es muy probable que en un lapso de tiempo corto, dicha posición de memoria sea accedida nuevamente.

Page 2: Memoria Cache

25/08/2010

2

Terminología -Tasa de aciertos y tasa de fallos:

� Acierto de cache (Hit): El dato está en algún bloque del

caché.

� Fallo de cache (Miss): El dato no se encuentra en el caché

y debe ser ubicado en la memoria principal y llevado a la

memoria caché.

� Si en la ejecución de un programa se realizan Nr referencias a memoria, de las

que Na son aciertos caché y Nf fallos caché, se definen los siguientes valores:

� Tasa de aciertos: Ta = Na/ Nr

� Tasa de fallos: Tf = Nf/ Nr

� Evidentemente se cumple: Ta = 1 - Tf

Operación del Caché

� CPU realiza un requerimiento de acceso a una dirección de

memoria.

� Revisa el caché por estos datos.

� Si existe en el caché, tomar los datos.

� Si no existe, leer el bloque requerido de memoria principal y

guardarlo en el caché.

� Enviar los datos del caché al CPU.

Diseño del Caché

� Tamaño

� Función de Correspondencia

� Algoritmo de Reemplazo

� Política de escritura

� Tamaño de Bloque

� Número de cachés.

Tamaño del Caché

� Costo

� Mayor tamaño, más caro.

� Rapidez

� Las memorias cachés más grandes tienden a ser

ligeramente más lentas que las pequeñas.

Page 3: Memoria Cache

25/08/2010

3

Organización típica del Caché Función de Correspondencia

o Política de Ubicación

� Algoritmo que permite hacer corresponder bloques de

memoria principal a líneas de memoria caché.

� Las funciones de correspondencia son:

� Correspondencia Directa.

� Correspondencia Asociativa.

� Correspondencia Asociativa por Conjuntos.

Función de Correspondencia

o Política de Ubicación

� Directa: Al bloque i-ésimo de memoria principal le corresponde la posición i

módulo n, donde n es el número de bloques de la memoria cache.

� Asociativa: Cualquier bloque de memoria principal puede ir en cualquiera de los n

bloques de la memoria cache.

� Asociativa por conjuntos: La memoria cache se divide en k conjuntos de bloques,

así al bloque i-ésimo de memoria principal le corresponde el conjunto i módulo k.

Dicho bloque de memoria podrá ubicarse en cualquier posición de ese conjunto.

Correspondencia Directa

Page 4: Memoria Cache

25/08/2010

4

Correspondencia Directa

� Cada bloque de memoria principal, puede ser almacenado en solo una línea de la memoria caché.

� En la dirección de memoria principal, se identifican dos partes:

� Los bits LSBs, menos significativos (w) identifican la palabra.

� Los bits MSBs, más significativos (s) especifican un bloque de memoria.

� Los MSBs a su vez se dividen en el campo línea del cache (r) y etiqueta (s-r) (más significativo).

Correspondencia Directa

Estructura de la Dirección

� Dirección de 24 bits.

� Identificador de palabra: 2 bit (bloque de 4 bytes)

� Identificador de bloque: 22 bits

� Etiqueta de 8 bits, identifica al bloque de memoria.

� Línea de 14 bits, Identifica, la línea de la memoria caché a la que corresponde el bloque.

� Se chequean los contenidos en el caché encontrando la línea y verificando la etiqueta.

Etiqueta s-r Línea r Palabra w

8 14 2

Correspondencia Directa

Tabla de líneas de Caché

Línea de Caché Bloques de Memoria Principal Asignados

0 0, m, 2m, 3m…2s-m

1 1,m+1, 2m+1…2s-m+1

m-1 m-1, 2m-1,3m-1…2s-1

Donde m = 2r líneas de la caché

Correspondencia Directa Organización del Caché

Page 5: Memoria Cache

25/08/2010

5

Correspondencia Directa

� Ventajas:

� Simple.

� Poco costoso de implementar.

� Desventaja:

� Posición fija para un bloque.

� Si un programa accede a dos bloques, que les corresponde una misma línea de caché de forma repetida, se producirán varios fallos (miss) de caché.

Correspondencia Asociativa

Correspondencia Asociativa

� Un bloque de memoria principal puede ser almacenado en cualquier línea de la memoria cache.

� La dirección de memoria es interpretada como una etiqueta (22 bits) y una palabra (2 bits).

� La etiqueta identifica de forma única el bloque de memoria.

� Cada etiqueta en cada línea es examinada. La búsqueda en el caché se vuelve cara.

Etiqueta 22 bitsPalabra2 bits

Correspondencia Asociativa

Estructura de la Dirección

� La etiqueta de 22 bits, se almacena con el bloque de datos

de 32 bits en cada línea de la memoria caché.

� Se compara el campo etiqueta de la dirección, con la

etiqueta en el caché para encontrar un acierto (hit) del

caché.

� Los dos bits menos significativos de la dirección, identifican

al bloque de datos de 32 bits.

Page 6: Memoria Cache

25/08/2010

6

Correspondencia Asociativa Organización del

Caché

Correspondencia Asociativa

� Ventaja:

� La flexibilidad.

� Desventaja:

� La complejidad de la implementación.

� El costo.

Correspondencia Asociativa por Conjuntos Correspondencia Asociativa por Conjuntos

� El caché es dividido en un número de conjuntos.

� Cada conjunto tiene un número fijo de líneas de caché.

� Un bloque puede ser asignado en cualquiera de las líneas del

conjunto, pero le corresponde un solo conjunto.

� Ejemplo: 2 líneas por conjunto.

� Correspondencia asociativa por conjuntos de dos vías (2

way).

� Un bloque puede estar en una de las 2 líneas, pero en un

solo conjunto.

Page 7: Memoria Cache

25/08/2010

7

Correspondencia Asociativa por Conjuntos

Estructura del la Dirección

� Usar el campo de Conjunto para determinar el conjunto de

caché, en el cual hay que buscar.

� Comparar el campo etiqueta para encontrar un acierto

(hit) del caché.

Etiqueta 9 bits Conjunto 13 bitsPalabra2 bits

Correspondencia Asociativa por Conjuntos

Organización del Caché

Política de Reemplazo

Algoritmos de Sustitución

� Aleatoria

� Se escoge un bloque al azar

� First in first out (FIFO) (El primero en entrar es el primero en salir)

� Reemplazar el bloque que ha estado en caché por más tiempo.

� Least Recently used (LRU) (Menos recientemente usado)

� Se sustituye el bloque que hace más tiempo que no ha sido referenciado

� Least frequently used (Menos frecuentemente usado )

� Se sustituye aquel bloque que ha experimentado menos referencias

� Se puede implementar asociando un contador a cada marco de bloque

Política de Escritura

� No se debe reemplazar una línea de caché al menos que

la memoria principal ya haya sido actualizada.

� Múltiples CPUs tienen cachés individuales.

� Los dispositivos de I/O acceden a memoria principal

directamente.

Page 8: Memoria Cache

25/08/2010

8

Escritura Inmediata

� Todas las escrituras van a memoria principal y al caché.

� Cuando se tienen varios CPUs, estos pueden monitorizar

el tráfico a memoria principal para tener el contenido de

su caché actualizado.

� El problema es el tráfico.

Post-escritura

� Las actualizaciones se hacen inicialmente solo en el caché.

� Cuando se hace una actualización se activa el bit ACTUALIZAR asociado a la línea.

� El bloque del caché que se va a sustituir es escrito en memoria principal solo si tiene el bit ACTUALIZAR activo.

Pentium 4 Cache

� 80386 – no había caché en el chip

� 80486 – 8k usando líneas de 16 bytes y correspondencia asociativa por conjuntos de 4 vías (four way set associative organization).

� Pentium (todas las versiones) – dos cachés L1.

� Pentium 4 � L1 caches

� 8k bytes

� Líneas de 64 bytes

� correspondencia asociativa por conjuntos de 4 vías (four way set associative)

� L2 cache

� 256k

� Líneas de 128 bytes

� correspondencia asociativa por conjuntos de 8 vías (8 way set associative).

Política de búsqueda(Política de extracción)

� Determina las condiciones que tienen que darse para

buscar un bloque de Mp y llevarlo a una línea de Mc.

� Por demanda

� Se lleva un bloque a Mc cuando se referencia desde la CPU alguna

palabra del bloque y éste no se encuentra en Mc

� Anticipativa (prebúsqueda)

� Prebúsqueda siempre: la primera vez que se referencia el bloque

Bi se busca también Bi+1

� Prebúsqueda por fallo: cuando

Page 9: Memoria Cache

25/08/2010

9

Plato (Platter)

� Parte del disco duro, donde se guardan los datos.

� Cada plato tiene dos lados para guardar información,

y cada lado del plato tiene un ID único.

Cabeza (head), Brazo (arm), Eje (Spindle)

� Hay una cabeza de lectura/escritura por cada superficie de cada plato.

� Las cabezas están fijas a un brazo que permite el movimiento de las cabezas.

� El mecanismo de posicionamiento de las cabezas es un dispositivo que permite el movimiento radial de las cabezas de lectura/escritura.

� El eje es la parte del disco duro que actúa como soporte, sobre el cual están montados y giran los platos del disco.

Pistas (Tracks) y Sectores (Sectors)

� Pistas:

� Conjunto de anillos concéntricos en el plato.

� Cada pista es del mismo ancho de la cabeza de lectura/escritura.

� Cada plato en el disco contiene el mismo número de pistas, estas pistas son numeradas desde afuera hacia adentro.

� Sectores:

� Son las áreas de almacenamiento de datos.

� Cada uno tiene una dirección que está compuesta por:

� El ID del lado del plato

� El número de la pista

� El número del sector en la pista

Page 10: Memoria Cache

25/08/2010

10

Pistas (Tracks) y Sectores (Sectors) Clusters

� Es un grupo de sectores.

� Cuando un archivo se guarda en un cluster, ningún

otro archivo puede ocupar el cluster.

Cilindros (Cylinders)

� Un cilindro consiste de la misma pista en ambos lados de

todos los platos.

� El tamaño del disco es Cilindros * Superficie * Sectores *

512 bytes por sector.

Cilindros

Page 11: Memoria Cache

25/08/2010

11

Proceso Lectura/Escritura

� Los platos tienen un recubrimiento magnético.

� Las cabezas de lectura/escritura, no tocan la

superficie de los platos del disco.

� Este diseño ayuda a mejorar el performance del disco,

debido a una cabeza que toque el disco causaría fricción,

disminuyendo la velocidad de rotación del disco.

Proceso Lectura/Escritura

� Mientras los platos giran en círculos, la cabeza de

lectura/escritura se mueve de pista a pista hasta que

alcanza la pista deseada.

� Luego espera a que el sector apropiado se posicione

debajo de la cabeza de lectura/escritura.

� La cabeza de lectura/escritura es energizada para

aplicar una carga magnética a las partículas del disco.

43

1. En la parte inferior de la unidad, una placa de circuito impreso, placa lógica, recibe comandos del controlador de la unidad, que a su vez es controlado por el S.O.

2. Estos comandos se convierten en fluctuaciones de tensión, lo cual permite que el actuador mueva las cabezas en el momento en que deben escribir o leer.

3. La placa también se asegura de que el eje giratorio de vueltas a una velocidad constante.

4. Un actuador alinea las cabezas con las pistas que forman círculos concéntricos sobre la superficie de los discos

Funcionamiento

44

5. Las cabezas escriben en los discos los datos procedentes del controlador de disco alineando las partículas magnéticas sobre las superficies de los discos.

6. Las cabezas leen los datos mediante la detección de las polaridades de las partículas ya alineadas.

7. Cuando el usuario le indican al S.O. que lea o escriba un archivo las cabezas de lectura y escritura se asignan a la tabla de asignación de archivos de la unidad

8. Se determinar en que Cluster del disco comienza un archivo preexistente, o que zonas del disco están disponibles para albergar un nuevo archivo.

Cont…

Page 12: Memoria Cache

25/08/2010

12

45

La Velocidad en Términos del Tiempo

� Tiempo de acceso .- Intervalo de tiempo entre el momento en que un

drive recibe un requerimiento por datos, y el momento en que un drive

empieza a despachar el dato. Depende de tres factores:

� Tiempo de Búsqueda.-Es el tiempo que le toma a las cabezas de

Lectura/Escritura moverse desde su posición actual hasta la pista donde

esta localizada la información deseada.

� Latencia.-La latencia promedio es igual al tiempo que le toma al disco hacer

media revolución y es igual en aquellos drivers que giran a la misma

velocidad.

� Command Overhead.-Tiempo que le toma a la controladora procesar un

requerimiento de datos. Este incluye determinar la localización física del

dato en el disco correcto.

Medición del desempeño

� El desempeño del disco puede ser medido en términos las siguientes características:

� Seek Time (Tiempo de Búsqueda): Mover la cabeza a la pista correcta.

� Rotational Latency (Latencia Rotacional): Tiempo que le toma al sector posicionarse bajo la cabeza de lectura/escritura.

� Access time (Tiempo de Acceso):

� Access time = Seek Time + Rotational Latency

� Transfer Rate (Tasa de Transferencia): La tasa de transferencia de datos hacia o desde el disco duro.

Medición del desempeño IDE (Integrated Drive Electronics)

� Los dispositivos IDE tienen una tasa de transferencia de

10Mbps.

� Pueden tener memoria caché.

� Solamente soporta dos dispositivos en una cadena.

Page 13: Memoria Cache

25/08/2010

13

EIDE (Extended Integrated Drive

Electronics). � Estos dispositivos tienen una tasa de transferencia de

16Mbps.

� Se permiten cuatro dispositivos en la cadena, pudiendo

conectar otros tipos de dispositivos. Por ejemplo CD-

ROMs.

� La capacidad de este tipo de discos es mayor.

Cables

� Los dispositivos IDE usan un cable de 40 hilos, mientras que los

floppys usan cables de 34 hilos.

� El hilo 1 debe coincidir con el pin 1 del Disco cuando se

conecta el cable al disco duro y la tarjeta madre.

� El hilo 1 (wire 1) por lo general es de color rojo.

Conectar un disco IDE Master/Slave

� El dispositivo esclavo (slave) pasará cualquier información que requiera enviar al procesador, a través del dispositivo master, que luego envía esta información al procesador.

� Una vez que ha conectado los discos al cable, tendrá que configurar los jumpers en los mismos, para identificar cual va ser el master y el slave.

Page 14: Memoria Cache

25/08/2010

14

Configuración de Jumpers

� Se coloca el jumper en “DS” (drive select) cuando se desea que el disco sea master.

� Se coloca el jumper en “SP” (slave present), cuando se desea que el dispositivo sea esclavo.

�Se coloca el jumper en “CS” (cable select), cuando se desea que el master y slave sean definidos por el cable.

54

� El disco compacto (CD compact disc) es un soporte digital óptico utilizado para almacenar cualquier tipo de información (audio, video, documentos, ...).

� Fue desarrollado conjuntamente en 1980 por las empresas Sony y Philips, y comenzó a comercializarse en 1982.

� Hoy en día tecnologías como el DVD pueden desplazar o minimizar esta forma de almacenamiento, aunque su uso sigue vigente.

CD

55

Estructura del CD

� Cada fabricante utiliza pequeñas variaciones en la composición de los materiales empleados su fabricación

� Pero todos siguen un mismo patrón:

� la información es almacenada en un sustrato de policarbonatoplástico, al que se le añade una capa refractante de aluminio que reflejará la luz del láser; se le añade una capa protectora que lo cubre y, opcionalmente, una etiqueta en la parte superior.

56

Page 15: Memoria Cache

25/08/2010

15

57

Características del CD

� Información almacenada: grabación de audio, video, imágenes, texto, datos, etc.

� Capacidad: originalmente 650 MB, para 74 minutos de audio. Actualmente hasta 875 MB o 100 minutos de audio. Hay versiones reducidas de 215 MB o 21 minutos de audio.

� Forma: circular, con un orificio al centro.

� Diámetro: originalmente 120 mm en el borde exterior. Hay versiones reducidas de 80 mm.

� Grosor: 1,2 mm.

� Material: policarbonato plástico con una capa reflectante de aluminio.

� RPM: 9000.

58

� Vida útil: entre 2 años y más de 8 años (aunque en condiciones especiales de humedad y temperatura se calcula que pueden durar unos 217 años).

� Formato de audio: CD audio.

� Formato de video: Video CD (VCD) o Super Video CD (SVCD).

� Según el disco compacto:

� De sólo lectura del inglés, CD-ROM (Compact Disc - Read Only Memory).

� Grabable: del inglés, CD-R (Compact Disc - Recordable).

� Reescribible: del inglés CD-RW (Compact Disc - ReWritable).

� Un CD de audio se reproduce a una velocidad tal que se leen 150 KB por segundo. Esta velocidad base se usa como referencia para identificar otros lectores como los de los ordenadores, de modo que si un lector viene indicado como 24x, significa que lee 24 x 150 = 3600 KB por segundo.

Cont…

59

� Vida útil: entre 2 años y más de 8 años (aunque en condiciones especiales de humedad y temperatura se calcula que pueden durar unos 217 años).

� Formato de audio: CD audio.

� Formato de video: Video CD (VCD) o Super Video CD (SVCD).

� Según el disco compacto:

� De sólo lectura del inglés, CD-ROM (Compact Disc - Read Only Memory).

� Grabable: del inglés, CD-R (Compact Disc - Recordable).

� Reescribible: del inglés CD-RW (Compact Disc - ReWritable).

� Un CD de audio se reproduce a una velocidad tal que se leen 150 KB por segundo. Esta velocidad base se usa como referencia para identificar otros lectores como los de los ordenadores, de modo que si un lector viene indicado como 24x, significa que lee 24 x 150 = 3600 KB por segundo.

Cont…

60

Almacenamiento de la información en un CD

� En un CD la información se almacena en formato digital, es decir, utiliza un

sistema binario para guardar los datos.

� Estos datos se graban en una única espiral que comienza desde el interior

del disco (próximo al centro), y finaliza en la parte externa.

� Los datos binarios se almacenan en forma de pozos y llanos, de tal forma

que al incidir el haz de luz del láser, el ángulo de reflexión es distinto en

función de si se trata de un pozo o de un llano.

Page 16: Memoria Cache

25/08/2010

16

61

Capacidad de un CD

� Según el tipo de CD, actualmente hay diferentes configuraciones:

� Diámetro: 80 mm - 215 MB o 21 minutos de audio.

� Diámetro: 120 mm - 650 MB o 74 minutos de audio.

� Diámetro: 120 mm - 700 MB o 80 minutos de audio.

� Diámetro: 120 mm - 800 MB o 90 minutos de audio.

� Diámetro: 120 mm - 875 MB o 100 minutos de audio.

62

DVD

� Fundamento igual al de los CD-ROM. Cambios:� Pozos más pequeños (0.4 μm en lugar de 0.8 μm)

� Espiral más pequeña (0.74 μm en lugar de 1.6 μm)

� Longitud de onda del láser menor (0.65 μm en lugar de 0.78 μm)

� Se pueden superponer dos capas, la primera de ellas semitransparente. El láser se enfoca a una capa u otra, dependiendo de la capa donde se desea que se refleje (se desee leer)

Serial ATA

� Se trata de la especificación que sustituye a la ATA.

� Las iniciales SATA significan (Serial ATA), lo que hace

referencia a la diferencia más sustancial con respecto a

ATA: la información se transmite en serie y no en paralelo.

Serial ATA vs ATA

Page 17: Memoria Cache

25/08/2010

17

La interfaz SCSI

� Los discos SCSI son mucho más caros que los ATA y SATA.

� Los discos ensamblados a las interfaces SCSI son de

mucha mayor calidad: mucho más fiables y rápidos.

� SCSI permite conectar hasta 15 dispositivos.

La interfaz SAS

� La interfaz SAS es a SCSI lo que la interfaz SATA es a ATA.

• Poco a poco reemplazará a la interfaz SCSI.

• Las iniciales SAS indican Serial Attached SCSI.

• Trata de solucionar los problemas que aparecen al intentar incrementar la velocidad de un bus paralelo como SCSI.

� La primera versión de esta tecnología tiene una tasa de

transferencia de 3 GBits/segundo.

� Una característica muy destacada de SAS es que pueden

conectarse dispositivos SATA a canales SAS, lo que permite

integrar en el mismo sistema ambos tipos de dispositivos.

� Se pueden emplear dispositivos SATA, mucho más baratos que

los SAS, en partes no críticas del sistema o donde no es

necesario el máximo rendimiento y emplear dispositivos SAS en

el resto.

Tarea

� Investigar:

� Comparar precios y marcas de los discos duros más

vendidos en la actualidad en el mercado.

� Fecha de entrega: Miércoles 28 de Junio.

� Tarea individual.

Definir Comisiones para Feria

� Publicidad (5)

� Logística (5)

� Festejo (3)