TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
Memoria del computador
1. Capítulo III Arquitectura de Computadores 1 Organización y Arquitectura de Computadores CAPÍTULO III “MEMORIA” ING. GREYSON PAUL ALBERCA PRIETO
2. Organización del Computador Componentes de computador y Buses MEMORIA Entrada/Salida Bibliografía・Organización y Arquitectura de Computadores, William Stalling Capítulo III 2 CONTENIDOS
3.
4. Conocer las jerarquía de los sistemas de memoria y así poder diferenciar capacidades, rapidez, costos.
17. Capítulo III Arquitectura de Computadores JERARQUÍA DE MEMORIA “La vida es cuestión de prioridades” Costo por bit Capacidad Tiempo de acceso Frecuencia de acceso
20. La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia Capítulo III MEMORIA CACHÉ CPU CACHE MEMORIA RAM
24. Tamaño Función de correspondencia Algoritmo de sustitución Política de escritura Tamaño del bloque Número de caches Capítulo III Arquitectura de Computadores 20 ELEMENTOS DE DISEÑO DE CACHE
31. Si hay n bloques en un conjunto, la caché se diceasociativa por conjuntos de n vias (n-asociativa).
32. Cada bloque(memoria principal) solo puede ir en una posición de la cache Capítulo III CORRESPONDENCIA DIRECTA Cj Mi si i= j (mod C). Siendo Cj = línea j de la cache Mi = bloque i de la M. principal C = nº de líneas de la cache
33. FORMATO DE INSTRUCCIÓN codifica el nº de línea de cache donde se realiza la búsqueda codifica el nº de palabras de memoria de cada bloque de memoria codifica el bloque de memoria asociado a esa línea de cache
36. Capítulo III Arquitectura de Computadores 27 EJEMPLO Podemos ver un ejemplo con una memoria principal de 32 Kpalabras y una cache de 512 palabras con bloques de 8 palabras. El n°de bits de cada campo será: Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras
37. 28 EJEMPLO Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Ahora para saber cuantos bloques tendrá la M. principal debemos dividir las 32 kpalabras para las 8 palabras que contiene cada bloque El # de bloques de la M. principal es 4 kbloques
38. EJEMPLO Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras para saber cuantas líneas tendrá la M. cache debemos dividir las 512 palabras para las 8 palabras que contiene cada bloque El # de líneas de la cache es 64 líneas
39. EJEMPLO Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Tenemos: # de bits
40. EJEMPLO Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras Por ultimo debemos calcular w 8 palabras = 23 W = 23
41. EJEMPLO Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria Recordemos que w = 23 es decir se necesitan 3 bits en la palabra
42. EJEMPLO Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria También teníamos que la línea tiene o necesita 6 bits
43. EJEMPLO Ahora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria Finalmente la etiqueta es igual a s-r, en nuestro ejemplo 12-6 = 6
45. Simple, sin algoritmos de reemplazo Poco costosa Hay una posición concreta para cada bloque dado: Si un programa accede a dos bloques que se corresponden a la misma línea de forma repetida, las pérdidas de cache son muy grandes (ocupación de cache ineficiente) 36 VENTAJAS Y DESVENTAJAS
46. Cada bloque(memoria principal) puede ir en cualquier posición(línea) de cache Capítulo III Arquitectura de Computadores 37 CORRESPONDENCIA ASOCIATIVA
47. Etiqueta indica el nº de bloque de memoria principal que se está buscando Capítulo III Arquitectura de Computadores 38 FORMATO DE INSTRUCCIÓN
48. La etiqueta de 22 bits está almacenada con cada bloque de datos de 32 bits. Compare el campo de etiqueta con la entrada de etiqueta en la cache para comprobar si ha tenido éxito. La dirección de 2 bits menos significativa identifica qué palabra de 16 bits se necesita en un bloque de datos de 32 bits. Ejemplo: Dirección Etiqueta Datos Línea de cache FFFFFC FFFFFC 24682468 3FFF Capítulo III ESTRUCTURA DE LA DIRECCIÓN
51. Necesita el uso de memorias asociativas Necesita algoritmos de reemplazo Es la mas eficiente en la ocupación de la cache. Capítulo III Arquitectura de Computadores 42 VENTAJAS Y DESVENTAJAS
52. Conjunto: grupo de línea de la cache Primero las líneas de memoria caché se asocian en conjuntos y la correspondencia se establece de forma directa entre cada bloque de la memoria principal y cada conjunto de la caché. Capítulo III Arquitectura de Computadores 43 ASOCIATIVA POR CONJUNTO
53. Dentro de cada conjunto la correspondencia es asociativa. Al número de bloques del conjunto se le llama número de vías o grado de asociatividad. Capítulo III Arquitectura de Computadores 44
54. Capítulo III Arquitectura de Computadores 45 FORMATO DE LA INSTRUCCIÓN codifica el nº de conjunto de cache donde se realiza la búsqueda codifica el nº de palabras de memoria codifica el bloque de memoria asociado a ese conjunto
55. ESTRUCTURA DE LA DIRECCIÓN Dirección de 24 bits Utilice los campos de conjunto a la hora de determinar el conjunto de cache que necesita para poder verlo. Compare los campos de etiqueta para ver si tenemos éxito: Ejemplo: Dirección Etiqueta Datos Número de conjuntos 1FF 7FFC 1FF 12345678 1FFF 001 7FFC 001 11223344 1FFF
57. EJEMPLO Un bloque determinado se hace corresponder a cualquier línea en un conjunto determinado. Ejemplo: El bloque B puede asignarse en cualquiera de las líneas del conjunto i. Ejemplo: 2 líneas por conjunto. Correspondencia asociativa de 2 vías. Un bloque determinado puede asignarse en una de las dos líneas en un único conjunto.
61. Capítulo III Arquitectura de Computadores 52 EJEMPLO Considere que una cache asociativa por conjuntos consta de 64 líneas divididas en conjuntos de 4 líneas. La memoria principal contiene 4K bloques de 128 palabras cada uno.
62. EJEMPLO Primero vamos a ver de cuantos bits será el total de la memoria 4*1024*128 = 524288 esto equivale a 219 palabras entonces el tamaño del formato de dirección de memoria principal en bits es 19 Dirección de 19 bits
63. 54 EJEMPLO Para encontrar el valor de la palabra: Sabemos que la memoria principal tiene 4k bloque de 128 palabras a estas 128 debemos sacar su equivalente en 2n y es 27 , entonces w = 7, es decir que se necesitan 7 bits para direccionar las palabras que están dentro del bloque de memoria
64. EJEMPLO Recordemos que el total de bits del es de 19 ya sabemos que la palabra es 7 entonces la diferencia entre 19 – 7 = 12. 12 bis son los que necesitamos para la etiqueta y el conjunto Dirección de 19 bits 12 bits
65. EJEMPLO Sabemos que la cache tiene 64 líneas que están divididas en conjuntos de 4 y queremos saber cuantos conjuntos hay. Esto es 24 entonces el número de conjuntos que tiene la memoria cache es de 4 Dirección de 19 bits 12 bits
67. La memoria es cara, por ello si queremos una memoria rápida deberá ser pequeña. Las memorias cada vez son más rápidas, grandes y baratas, pero no avanzan solas, las memorias cache no se quedan atrás. De todas maneras la diferencia de velocidad entre el procesador y la memoria sigue siendo un hecho, y mientras no se igualen, se seguirá usando la cache. La jerarquización de la memoria en niveles no será posible sin el principio de localidad, el cual nos permite acceder lo mínimo posible a los niveles más lentos. 58 CONCLUSIONES