Capítulo IIIArquitectura de Computadores1Organización y Arquitectura de ComputadoresCAPÍTULO III“MEMORIA”ING. GREYSON PAUL ALBERCA PRIETO
Organización del ComputadorComponentes de computador y BusesMEMORIAEntrada/SalidaBibliografía・Organización y Arquitectura de Computadores, William StallingCapítulo III2CONTENIDOS
Capítulo IIIArquitectura de Computadores3OBJETIVOSIdentificarlos diferentes tipos de memoria junto con sus características principales
Conocer las jerarquía de los sistemas de memoria y así poder diferenciar capacidades, rapidez, costos.
Ejemplificar los tipos de memoria de acuerdo a la aplicabilidad y uso adecuados.Capítulo IIIArquitectura de Computadores4UNIDAD DE TRANSFERENCIA
Capítulo IIIArquitectura de Computadores5UNIDAD DE TRANSFERENCIA
Capítulo IIIArquitectura de Computadores6UNIDAD DE TRANSFERENCIA
Capítulo IIIArquitectura de Computadores7MÉTODO DE ACCESOM. cache
8VELOCIDAD.
9VELOCIDAD.
10VELOCIDAD.
Capítulo III11DISPOSITIVOS FÍSICOSLos sistemas de memorias empleados en los computadores utilizan diferentes dispositivos físicos.Para la MEMORIA PRINCIPAL se utilizan memorias semiconductoras.
Para MEMORIA SECUNDARIA, ya que responden a la necesidad de almacenar grandes cantidades de información, se emplean:
Memorias magnéticas, cintas, discos, etc.
Memorias ópticas, utilizadas.
Memorias magneto−ópticas.ALTERABILIDAD. Memorias ROM (ReadOnlyMemory) y RWM (ReadWritableMemory).PERMANENCIA DE LA INFORMACIÓN. Relacionado con la duración de la información almacenada en memoria:LECTURA DESTRUCTIVA. Memorias de lectura destructiva DRO (DestructiveReadOut) y memorias de lectura no destructiva NDRO (Non DestructiveReadOut).VOLATILIDAD. corte en el suministro eléctrico. Memorias volátiles y no volátiles.ALMACENAMIENTO ESTÁTICO/DINÁMICO. SRAM (StaticRandom Access Memory) DRAM (DynamicRandom Access Memory)12CARACTERÍSTICAS FÍSICAS
Capítulo IIIArquitectura de ComputadoresJERARQUÍA DE MEMORIA“La vida es cuestión de prioridades”Costo por bitCapacidadTiempo de accesoFrecuencia de acceso
Capítulo III14
Capítulo IIIArquitectura de Computadores15MEMORIA SEMICONDUCTORA
La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermediaCapítulo IIIMEMORIA CACHÉCPUCACHEMEMORIA RAM
Capítulo IIIArquitectura de Computadores
Capítulo IIIArquitectura de ComputadoresLECTURA DE UNA CACHE
Arquitectura de Computadores19
TamañoFunción de correspondenciaAlgoritmo de sustituciónPolítica de escrituraTamaño del bloqueNúmero de cachesCapítulo IIIArquitectura de Computadores20ELEMENTOS DE DISEÑO DE CACHE
Capítulo IIIArquitectura de Computadores21
Capítulo IIIArquitectura de Computadores22Correspondencia directa
Cada bloque tiene solamente un lugar donde puedeaparecer en la cache.Correspondencia asociativa.
Se puede colocar un bloque en cualquier parte.
Correspondencia asociativa por conjuntos.
Primero se determina un conjunto de forma directa, ydentro del conjunto puede ubicarse en cualquier lugar.Un conjunto es un grupo de bloques.
Si hay n bloques en un conjunto, la caché se diceasociativa por conjuntos de n vias (n-asociativa).
Cada bloque(memoria principal) solo puede ir en una posición de la cacheCapítulo IIICORRESPONDENCIA DIRECTACj  Mi  si i= j (mod C).Siendo  Cj = línea j de la cacheMi = bloque i de la M. principalC = nº de líneas de la cache
FORMATO DE INSTRUCCIÓNcodifica el nº de línea de cache donde se realiza la búsquedacodifica el nº de palabras de memoria de cada bloque de memoriacodifica el bloque de memoria asociado a esa línea de cache
ESTRUCTURA DE LA DIRECCIÓNDirección de 24 bitsbloques de 4 bytesIdentificador de bloque de 22 bits.Etiqueta de 8 bits (=22-14).Ranura o línea de 14 bits.Ninguno de los dos bloques en la misma línea tiene el mismo campo de etiqueta.Compruebe los contenidos de la cache mediante la búsqueda de la línea y la comprobación de la etiqueta.
Capítulo IIIArquitectura de Computadores26MECANISMO DE BÚSQUEDA
Capítulo IIIArquitectura de Computadores27EJEMPLOPodemos 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 kpalabrasCache           = 512 palabrasCada bloque = 8 palabras
28EJEMPLOAnalizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasAhora para saber cuantos bloques  tendrá la M. principal debemos dividir  las 32 kpalabras para las 8 palabras que contiene cada bloqueEl # de bloques de la M. principal es 4 kbloques
EJEMPLOAnalizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabraspara saber cuantas líneas  tendrá la M. cache debemos dividir  las 512 palabras para las 8 palabras que contiene cada bloqueEl # de líneas de la cache es 64 líneas
EJEMPLOAnalizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasTenemos:# de bits
EJEMPLOAnalizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasPor ultimo debemos calcular w8 palabras  = 23W = 23
EJEMPLOAhora vamos a colocar los datos obtenidos en la grafica de la dirección de memoriaRecordemos que w = 23 es decir se necesitan  3 bits en la palabra
EJEMPLOAhora vamos a colocar los datos obtenidos en la grafica de la dirección de memoriaTambién teníamos que la línea tiene o necesita 6 bits
EJEMPLOAhora vamos a colocar los datos obtenidos en la grafica de la dirección de memoriaFinalmente la etiqueta es igual a s-r, en nuestro ejemplo 12-6 = 6
Capítulo IIIArquitectura de Computadores35EJEMPLO
Simple, sin algoritmos de reemplazoPoco costosaHay 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)36VENTAJAS Y DESVENTAJAS
Cada bloque(memoria principal) puede ir en cualquier posición(línea) de cacheCapítulo IIIArquitectura de Computadores37CORRESPONDENCIA ASOCIATIVA
Etiqueta indica el nº de bloque de memoria principal que se está buscandoCapítulo IIIArquitectura de Computadores38FORMATO DE INSTRUCCIÓN
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 cacheFFFFFC	       FFFFFC	          24682468	         3FFFCapítulo IIIESTRUCTURA DE LA DIRECCIÓN
Capítulo IIIArquitectura de Computadores40MECANISMO DE BÚSQUEDA
Capítulo IIIArquitectura de Computadores41EJEMPLO
Necesita el uso de memorias asociativasNecesita algoritmos de reemplazoEs la mas eficiente en la ocupación de la cache.Capítulo IIIArquitectura de Computadores42VENTAJAS Y DESVENTAJAS
Conjunto: grupo de línea de la cachePrimero 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 IIIArquitectura de Computadores43ASOCIATIVA POR CONJUNTO
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 IIIArquitectura de Computadores44
Capítulo IIIArquitectura de Computadores45FORMATO DE LA INSTRUCCIÓNcodifica el nº de conjunto de cache donde se realiza la búsquedacodifica el nº de palabras de memoriacodifica el bloque de memoria asociado a ese conjunto
ESTRUCTURA DE LA DIRECCIÓNDirección de 24 bitsUtilice 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 conjuntos1FF 7FFC         1FF	          12345678	             1FFF001 7FFC         001	          11223344	             1FFF
Capítulo IIIArquitectura de Computadores47MECANISMO DE BÚSQUEDA
EJEMPLOUn 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.
Capítulo IIIArquitectura de Computadores49ASOCIATIVA  DE  DOS  VÍAS

Memoria del computador

  • 1.
    Capítulo IIIArquitectura deComputadores1Organización y Arquitectura de ComputadoresCAPÍTULO III“MEMORIA”ING. GREYSON PAUL ALBERCA PRIETO
  • 2.
    Organización del ComputadorComponentesde computador y BusesMEMORIAEntrada/SalidaBibliografía・Organización y Arquitectura de Computadores, William StallingCapítulo III2CONTENIDOS
  • 3.
    Capítulo IIIArquitectura deComputadores3OBJETIVOSIdentificarlos diferentes tipos de memoria junto con sus características principales
  • 4.
    Conocer las jerarquíade los sistemas de memoria y así poder diferenciar capacidades, rapidez, costos.
  • 5.
    Ejemplificar los tiposde memoria de acuerdo a la aplicabilidad y uso adecuados.Capítulo IIIArquitectura de Computadores4UNIDAD DE TRANSFERENCIA
  • 6.
    Capítulo IIIArquitectura deComputadores5UNIDAD DE TRANSFERENCIA
  • 7.
    Capítulo IIIArquitectura deComputadores6UNIDAD DE TRANSFERENCIA
  • 8.
    Capítulo IIIArquitectura deComputadores7MÉTODO DE ACCESOM. cache
  • 9.
  • 10.
  • 11.
  • 12.
    Capítulo III11DISPOSITIVOS FÍSICOSLossistemas de memorias empleados en los computadores utilizan diferentes dispositivos físicos.Para la MEMORIA PRINCIPAL se utilizan memorias semiconductoras.
  • 13.
    Para MEMORIA SECUNDARIA,ya que responden a la necesidad de almacenar grandes cantidades de información, se emplean:
  • 14.
  • 15.
  • 16.
    Memorias magneto−ópticas.ALTERABILIDAD. MemoriasROM (ReadOnlyMemory) y RWM (ReadWritableMemory).PERMANENCIA DE LA INFORMACIÓN. Relacionado con la duración de la información almacenada en memoria:LECTURA DESTRUCTIVA. Memorias de lectura destructiva DRO (DestructiveReadOut) y memorias de lectura no destructiva NDRO (Non DestructiveReadOut).VOLATILIDAD. corte en el suministro eléctrico. Memorias volátiles y no volátiles.ALMACENAMIENTO ESTÁTICO/DINÁMICO. SRAM (StaticRandom Access Memory) DRAM (DynamicRandom Access Memory)12CARACTERÍSTICAS FÍSICAS
  • 17.
    Capítulo IIIArquitectura deComputadoresJERARQUÍA DE MEMORIA“La vida es cuestión de prioridades”Costo por bitCapacidadTiempo de accesoFrecuencia de acceso
  • 18.
  • 19.
    Capítulo IIIArquitectura deComputadores15MEMORIA SEMICONDUCTORA
  • 20.
    La CPU yla memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermediaCapítulo IIIMEMORIA CACHÉCPUCACHEMEMORIA RAM
  • 21.
  • 22.
    Capítulo IIIArquitectura deComputadoresLECTURA DE UNA CACHE
  • 23.
  • 24.
    TamañoFunción de correspondenciaAlgoritmode sustituciónPolítica de escrituraTamaño del bloqueNúmero de cachesCapítulo IIIArquitectura de Computadores20ELEMENTOS DE DISEÑO DE CACHE
  • 25.
  • 26.
    Capítulo IIIArquitectura deComputadores22Correspondencia directa
  • 27.
    Cada bloque tienesolamente un lugar donde puedeaparecer en la cache.Correspondencia asociativa.
  • 28.
    Se puede colocarun bloque en cualquier parte.
  • 29.
  • 30.
    Primero se determinaun conjunto de forma directa, ydentro del conjunto puede ubicarse en cualquier lugar.Un conjunto es un grupo de bloques.
  • 31.
    Si hay nbloques 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 cacheCapítulo IIICORRESPONDENCIA DIRECTACj Mi si i= j (mod C).Siendo Cj = línea j de la cacheMi = bloque i de la M. principalC = nº de líneas de la cache
  • 33.
    FORMATO DE INSTRUCCIÓNcodificael nº de línea de cache donde se realiza la búsquedacodifica el nº de palabras de memoria de cada bloque de memoriacodifica el bloque de memoria asociado a esa línea de cache
  • 34.
    ESTRUCTURA DE LADIRECCIÓNDirección de 24 bitsbloques de 4 bytesIdentificador de bloque de 22 bits.Etiqueta de 8 bits (=22-14).Ranura o línea de 14 bits.Ninguno de los dos bloques en la misma línea tiene el mismo campo de etiqueta.Compruebe los contenidos de la cache mediante la búsqueda de la línea y la comprobación de la etiqueta.
  • 35.
    Capítulo IIIArquitectura deComputadores26MECANISMO DE BÚSQUEDA
  • 36.
    Capítulo IIIArquitectura deComputadores27EJEMPLOPodemos 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 kpalabrasCache = 512 palabrasCada bloque = 8 palabras
  • 37.
    28EJEMPLOAnalizando vemos que:M.Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasAhora para saber cuantos bloques tendrá la M. principal debemos dividir las 32 kpalabras para las 8 palabras que contiene cada bloqueEl # de bloques de la M. principal es 4 kbloques
  • 38.
    EJEMPLOAnalizando vemos que:M.Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabraspara saber cuantas líneas tendrá la M. cache debemos dividir las 512 palabras para las 8 palabras que contiene cada bloqueEl # de líneas de la cache es 64 líneas
  • 39.
    EJEMPLOAnalizando vemos que:M.Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasTenemos:# de bits
  • 40.
    EJEMPLOAnalizando vemos que:M.Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabrasPor ultimo debemos calcular w8 palabras = 23W = 23
  • 41.
    EJEMPLOAhora vamos acolocar los datos obtenidos en la grafica de la dirección de memoriaRecordemos que w = 23 es decir se necesitan 3 bits en la palabra
  • 42.
    EJEMPLOAhora vamos acolocar los datos obtenidos en la grafica de la dirección de memoriaTambién teníamos que la línea tiene o necesita 6 bits
  • 43.
    EJEMPLOAhora vamos acolocar los datos obtenidos en la grafica de la dirección de memoriaFinalmente la etiqueta es igual a s-r, en nuestro ejemplo 12-6 = 6
  • 44.
    Capítulo IIIArquitectura deComputadores35EJEMPLO
  • 45.
    Simple, sin algoritmosde reemplazoPoco costosaHay 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)36VENTAJAS Y DESVENTAJAS
  • 46.
    Cada bloque(memoria principal)puede ir en cualquier posición(línea) de cacheCapítulo IIIArquitectura de Computadores37CORRESPONDENCIA ASOCIATIVA
  • 47.
    Etiqueta indica elnº de bloque de memoria principal que se está buscandoCapítulo IIIArquitectura de Computadores38FORMATO DE INSTRUCCIÓN
  • 48.
    La etiqueta de22 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 cacheFFFFFC FFFFFC 24682468 3FFFCapítulo IIIESTRUCTURA DE LA DIRECCIÓN
  • 49.
    Capítulo IIIArquitectura deComputadores40MECANISMO DE BÚSQUEDA
  • 50.
    Capítulo IIIArquitectura deComputadores41EJEMPLO
  • 51.
    Necesita el usode memorias asociativasNecesita algoritmos de reemplazoEs la mas eficiente en la ocupación de la cache.Capítulo IIIArquitectura de Computadores42VENTAJAS Y DESVENTAJAS
  • 52.
    Conjunto: grupo delínea de la cachePrimero 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 IIIArquitectura de Computadores43ASOCIATIVA POR CONJUNTO
  • 53.
    Dentro de cadaconjunto 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 IIIArquitectura de Computadores44
  • 54.
    Capítulo IIIArquitectura deComputadores45FORMATO DE LA INSTRUCCIÓNcodifica el nº de conjunto de cache donde se realiza la búsquedacodifica el nº de palabras de memoriacodifica el bloque de memoria asociado a ese conjunto
  • 55.
    ESTRUCTURA DE LADIRECCIÓNDirección de 24 bitsUtilice 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 conjuntos1FF 7FFC 1FF 12345678 1FFF001 7FFC 001 11223344 1FFF
  • 56.
    Capítulo IIIArquitectura deComputadores47MECANISMO DE BÚSQUEDA
  • 57.
    EJEMPLOUn bloque determinadose 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.
  • 58.
    Capítulo IIIArquitectura deComputadores49ASOCIATIVA DE DOS VÍAS