Upload
sofylutqm
View
16.575
Download
5
Embed Size (px)
Citation preview
Capítulo III Arquitectura de Computadores
1
ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORESCAPÍTULO III“MEMORIA”
ING. GREYSON PAUL ALBERCA PRIETO
1. Organización del Computador2. Componentes de computador y
Buses3. MEMORIA
4. Entrada/Salida
Bibliografía ・ Organización y Arquitectura de Computadores, William Stalling
Capítulo III 2
CONTENIDOS
Capítulo III Arquitectura de Computadores
3
Identificarlos 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.
OBJETIVOS
Capítulo III Arquitectura de Computadores
4
UNIDAD DE TRANSFERENCIA
Palabra.
• Igual al número de bits utilizados para representar un número entero y la longitud de una instrucción.
Capítulo III Arquitectura de Computadores
5
Unidad direccionable.
• Es el tamaño mínimo que podemos direccionar en la memoria. El tamaño puede o no coincidir con el ancho de palabra
UNIDAD DE TRANSFERENCIA
Capítulo III Arquitectura de Computadores
6
Unidad de transferencia.
• Para la memoria principal es el número de bits que se leen o escriben en memoria a la vez, lo mínimo que puedo leer.
UNIDAD DE TRANSFERENCIA
Capítulo III Arquitectura de Computadores
7
Acceso secuencial •(SAM: Sequencial Access Memory). •Gran capacidad de almacenamiento
Acceso directo •(DAM: Direct Access Memory). •Acceso directo y luego uno secuencial
Acceso aleatorio•(RAM: Random Access Memory).
Acceso asociativo •(CAM: Content Addressable Memory). •Modo de acceso por contenido se busca en toda la memoria al mismo tiempo
M. cache
MÉTODO DE ACCESO
8
.
VELOCIDAD
Tiempo de Acceso (TA).
• RAM: tiempo que transcurre desde el instante en el que se presenta una dirección a la memoria hasta que el dato, o ha sido memorizado, o está disponible para su uso (es decir, desde que doy la dirección hasta que L/E en memoria).
• CAM o la SAM: tiempo que se emplea en situar el mecanismo de L/E en la posición deseada, es decir, tiempo que tarda en el registro.
9
.
VELOCIDAD
Tiempo de Ciclo de memoria (TC).
• Tiempo que transcurre desde que se da la orden de una operación de L/E hasta que se puede dar otra orden de L/E porque sino NO le da tiempo a responder y crearía un tiempo muerto que nos interesa que sea lo menor posible
10
.
VELOCIDAD
Velocidad de Transferencia (VT).
• Es la velocidad a la que se pueden transferir datos a, o desde, una unidad de memoria. Según el tipo de memoria existen dos casos de velocidad:
Capítulo III 11
DISPOSITIVOS 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 (Read Only Memory) y RWM (Read Writable Memory).
PERMANENCIA DE LA INFORMACIÓN. Relacionado con la duración de la información almacenada en memoria:
LECTURA DESTRUCTIVA. Memorias de lectura destructiva DRO (Destructive Read Out) y memorias de lectura no destructiva NDRO (Non Destructive Read Out).
VOLATILIDAD. corte en el suministro eléctrico. Memorias volátiles y no volátiles.
ALMACENAMIENTO ESTÁTICO/DINÁMICO. SRAM (Static Random Access Memory) DRAM (Dynamic Random Access Memory)
12
CARACTERÍSTICAS FÍSICAS
Capítulo III Arquitectura de Computadores
JERARQUÍA DE MEMORIARegistros
Caché N1-N2
Memoria principal
Disco Magnético
Cinta Magnética Disco Óptico
Costo por bit
Capacidad
Tiempo de acceso
Frecuencia de acceso
“La vida es cuestión de prioridades”
Capítulo III 14
NIVELTECNOLOGÍ
A
TIEMPO DE
ACCESO
COSTO POR MBYTE
CACHÉ SRASM 3 - 10 ns $ 100 - 150
MEMORIA PRINCIPAL
DRAM 80 - 400 ns $ 5 - 10
DISCODisco Magnético
2 - 5 ms $ 1 - 0.2
Capítulo III Arquitectura de Computadores
15
Tipo de memoria
Clase Borrado Mecanismo de escritura
Volatilidad
RAM Lectura/escritura
Eléctricamente por bytes
Eléctricamente Volátil
ROM Solo lectura No posible Mediante mascaras
No volátil
PROM
Electrónicamente
EPROM Memoria de sobretodo-lectura
Luz ultravioleta
FLASH Eléctricamente por bloques
EEPROM Eléctricamente por bytes
MEMORIA SEMICONDUCTORA
La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situación se inserta una memoria intermedia
Capítulo III
CPU MEMORIA RAMCACHE
MEMORIA CACHÉ
Capítulo III Arquitectura de Computadores
Capítulo III Arquitectura de Computadores
LECTURA DE UNA CACHE
Arquitectura de Computadores
19
Tamaño Función de
correspondencia Algoritmo de sustitución Política de escritura Tamaño del bloque Número de cachesCapítulo III Arquitectura de
Computadores20
ELEMENTOS DE DISEÑO DE CACHE
Capítulo III Arquitectura de Computadores
21
Capítulo III Arquitectura de Computadores
22
Correspondencia directa
Cada bloque tiene solamente un lugar
donde puede aparecer en la cache
Cada bloque(memoria principal) solo puede ir en una posición de la cache
Capítulo III
Siendo Cj = línea j de la cacheMi = bloque i de la M. principalC = nº de líneas de la cache
Cj Mi si i= j (mod C).
CORRESPONDENCIA DIRECTA
Etiqueta (s-r bits) Línea (r bits)
Palabra (w bits)
codifica el bloque de memoria
asociado a esa línea de
cache
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
FORMATO DE INSTRUCCIÓN
Compruebe los contenidos de la cache mediante la búsqueda de la línea y la comprobación de la etiqueta.
8 14 2
Etiqueta (s-r bits)
Línea (r bits) Palabra (w bits)
Dirección de 24 bits
bloques de 4 bytes
Identificador 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.
ESTRUCTURA DE LA DIRECCIÓN
Capítulo III Arquitectura de Computadores
26
MECANISMO DE BÚSQUEDA
Capítulo III Arquitectura de Computadores
27
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 kpalabrasCache = 512 palabrasCada bloque = 8 palabras
EJEMPLO
28
Analizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada 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
48
32
El # de bloques de la M. principal es 4 kbloques
EJEMPLO
Analizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada 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
648
512
El # de líneas de la cache es 64 líneas
EJEMPLO
Analizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabras
Tenemos:M.
Principal =
4kpalabras
212 sCache
= 64 líneas
26 r
# de bits
EJEMPLO
Analizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabras
Por ultimo debemos calcular w
8 palabras = 23
W = 23
EJEMPLO
Etiqueta (s-r bits) Línea (r bits)Palabra (r
bits)
EJEMPLOAhora vamos a colocar los datos obtenidos en la grafica de la dirección de memoria
Etiqueta (s-r bits)
Línea (r bits) Palabra (w bits)
Recordemos que w = 23 es decir se necesitan 3 bits en la palabra
Etiqueta (s-r bits) Línea (r bits)Palabra (3bits)
Etiqueta (s-r bits) Línea (r bits)Palabra (3bits)
EJEMPLOAhora 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
Etiqueta (s-r bits) Línea (6 bits)Palabra (3bits)
Cache = 64 líneas 26 r
Etiqueta (s-r bits) Línea (6 bits)Palabra (3bits)
EJEMPLOAhora 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
Etiqueta (6 bits)
Línea (6 bits)Palabra (3bits)
M. Principal
= 4kpalabr
as
212 s
Cache = 64 líneas 26 r
Capítulo III Arquitectura de Computadores
35
EJEMPLO
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
Cada bloque(memoria principal) puede ir en cualquier posición(línea) de cache
Capítulo III Arquitectura de Computadores
37
CORRESPONDENCIA ASOCIATIVA
Etiqueta indica el nº de bloque de memoria principal que se está buscando
Capítulo III Arquitectura de Computadores
38
FORMATO DE INSTRUCCIÓN
Etiqueta (s bits)
Palabra (w bits)
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
Etiqueta (22 bits) Palabra (2 bits)
Capítulo III Arquitectura de Computadores
40
MECANISMO DE BÚSQUEDA
Capítulo III Arquitectura de Computadores
41
EJEMPLO
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
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
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
Capítulo III Arquitectura de Computadores
45
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (w bits)
codifica el bloque de memoria
asociado a ese conjunto
codifica el nº de conjunto
de cache donde se realiza la búsqueda
codifica el nº de palabras de memoria
FORMATO DE LA INSTRUCCIÓN
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
Etiqueta (9 bits)
Conjunto (13 bits) Palabra (2 bits)
Dirección de 24 bits
ESTRUCTURA DE LA DIRECCIÓN
Capítulo III Arquitectura de Computadores
47
MECANISMO DE BÚSQUEDA
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.
EJEMPLO
Capítulo III Arquitectura de Computadores
49
ASOCIATIVA DE DOS VÍAS
Capítulo III Arquitectura de Computadores
50
Capítulo III Arquitectura de Computadores
51
EJEMPLO
Capítulo III Arquitectura de Computadores
52
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.
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (w bits)
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
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (w bits)
Dirección de 19 bits
EJEMPLO
54
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
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (w bits)
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (7 bits)
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
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (7 bits)
Dirección de 19 bits
12 bits
EJEMPLO
Sabemos que la cache tiene 64 líneas que están divididas en conjuntos de 4 y queremos saber cuantos conjuntos hay.
Etiqueta (s-d bits)
Conjunto (d bits)
Palabra (7 bits)
Dirección de 19 bits
12 bits
164
64
Esto es 24 entonces el número de conjuntos que tiene la memoria cache es de 4
Etiqueta (s-d bits)
Conjunto (4 bits)
Palabra (7 bits)
EJEMPLO
Dirección de 19 bits
12 bits
Etiqueta (s-d bits)
Conjunto (4 bits)
Palabra (7 bits)
Finalmente restamos 4 – 12 y nos da el valor de la etiqueta que es 8
Etiqueta (8 bits)
Conjunto (4 bits)
Palabra (7 bits)
EJEMPLO
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