memoria cache
Post on 14-Jun-2015
805 Views
Preview:
TRANSCRIPT
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.
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.
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
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é
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.
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.
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.
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
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
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
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…
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.
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.
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
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.
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
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)
top related