4. Entrada/Salida
Bibliografa Organizacin y Arquitectura de Computadores, William Stalling
Captulo III 2
Identificarlos diferentes tipos de memoria junto con sus caractersticas principales Conocer las jerarqua de los sistemas de memoria y as poder diferenciar capacidades, rapidez, costos. Ejemplificar los tipos de memoria de acuerdo a la aplicabilidad y uso Captulo III 3 adecuados. Arquitectura de Computadores
Palabra.
Igual al nmero de bits utilizados para representar un nmero entero y la longitud de una instruccin.
Captulo III Arquitectura de Computadores 4
Unidad direccionable.
Es el tamao mnimo que podemos direccionar en la memoria. El tamao puede o no coincidir con el ancho de palabra
Captulo III Arquitectura de Computadores 5
Unidad de transferencia.
Para la memoria principal es el nmero de bits que se leen o escriben en memoria a la vez, lo mnimo que puedo leer.
Captulo III Arquitectura de Computadores 6
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).
(CAM: Content Addressable Memory). Modo de acceso por contenido se busca en toda la memoria al Arquitectura de Computadores 7 mismo tiempo
10
Los sistemas de memorias empleados en los computadores utilizan diferentes dispositivos fsicos. Para la MEMORIA PRINCIPAL se utilizan memorias semiconductoras. Para MEMORIA SECUNDARIA, ya que responden a la necesidad de almacenar grandes cantidades de informacin, se emplean: Memorias magnticas, cintas, discos, etc. Memorias pticas, utilizadas. Captulo III 11 Memorias magnetopticas.
ALTERABILIDAD. Memorias ROM (Read Only Memory) y RWM (Read Writable Memory). PERMANENCIA DE LA INFORMACIN. Relacionado con la duracin de la informacin 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 elctrico. Memorias voltiles y no voltiles. ALMACENAMIENTO ESTTICO/DINMICO. SRAM (Static Random Access Memory) DRAM (Dynamic Random Access 12 Memory)
Tiempo de acceso
Frecuencia de acceso
Captulo III
Arquitectura de Computadores
TECNOLOGA SRASM
TIEMPO DE ACCESO
3 - 10 ns
DRAM
Disco Magntico
80 - 400 ns
2 - 5 ms
$ 5 - 10
$ 1 - 0.2
14
Clase
Borrado
Volatilidad
Voltil
ROM
Mediante mascaras
No voltil
PROM EPROM Memoria de Luz sobretodoultravioleta lectura Elctricamen te por bloques Elctricamen Arquitectura bytes te por de Computadores
Electrnicamente
FLASH
15
La CPU y la memoria tienen tiempos de acceso muy diferentes. Para mejorar la situacin se inserta una memoria intermedia
CPU
CACHE
MEMORIA RAM
Captulo III
Captulo III
Arquitectura de Computadores
Captulo III
Arquitectura de Computadores
Arquitectura de Computadores
19
Tamao Funcin de correspondencia Algoritmo de sustitucin Poltica de escritura Tamao del bloque Nmero de caches
Captulo III Arquitectura de Computadores 20
Captulo III
Arquitectura de Computadores
21
Correspondencia directa
Correspondencia asociativa.
Si hay n bloques en un conjunto, la cach se dice asociativa por conjuntos de n vias (n-asociativa).
Captulo III Arquitectura de Computadores 22
Captulo III
Lnea (r bits)
Palabra (w bits)
Lnea (r bits)
Direccin de 24 bits
Palabra (w bits)
14
2
bloques de 4 bytes
Identificador de bloque de 22 bits. Etiqueta de 8 bits (=22-14). Ranura o lnea de 14 bits. Ninguno de los dos bloques en la misma lnea tiene el mismo campo de etiqueta.
Captulo III
Arquitectura de Computadores
26
Podemos ver un ejemplo con una memoria principal de 32 Kpalabras y una cache de 512 palabras con bloques de 8 palabras. El nde bits de cada campo ser:
Captulo III
Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras
Arquitectura de Computadores
27
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
32 4 8
El # de bloques de la M. principal es 4
kbloques
28
Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras
para saber cuantas lneas tendr la M. cache debemos dividir las 512 palabras para las 8 palabras que contiene cada bloque
512 64 8
El # de lneas de la cache es 64
lneas
Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras
Tenemos: # de bits
12 2
6 2
Analizando vemos que: M. Principal = 32 kpalabras Cache = 512 palabras Cada bloque = 8 palabras
Por ultimo debemos calcular w
8 palabras = 23
W=
3 2
Lnea (r bits)
Palabra (w bits)
26
26 212
r s
Finalmente la etiqueta es igual a s-r, en nuestro ejemplo 12-6 = 6 Etiqueta (6 bits) Etiqueta (s-r bits)
Captulo III
Arquitectura de Computadores
35
Simple, sin algoritmos de reemplazo Poco costosa Hay una posicin concreta para cada bloque dado:
Si un programa accede a dos bloques que se corresponden a la misma lnea de forma repetida, las prdidas de cache son muy grandes (ocupacin de cache ineficiente) 36
Captulo III
Arquitectura de Computadores
37
Etiqueta (s bits)
Palabra (w bits)
Palabra (2 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 direccin de 2 bits menos significativa identifica qu palabra de 16 bits se necesita en un bloque de datos de 32 bits.
Ejemplo: Direccin FFFFFC
Captulo III
Etiqueta FFFFFC
Datos 24682468
Captulo III
Arquitectura de Computadores
40
Captulo III
Arquitectura de Computadores
41
Necesita el uso de memorias asociativas Necesita algoritmos de reemplazo Es la mas eficiente en la ocupacin de la cache.
Captulo III Arquitectura de Computadores 42
Conjunto: grupo de lnea de la cache Primero las lneas 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.
Captulo III
Arquitectura de Computadores
43
Dentro de cada conjunto la correspondencia es asociativa. Al nmero de bloques del conjunto se le llama nmero de vas o grado de asociatividad.
Captulo III
Arquitectura de Computadores
44
Palabra (w bits)
45
Direccin de 24 bits
Etiqueta (9 bits)
Palabra (2 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: Direccin 1FF 7FFC Etiqueta 1FF Datos 12345678 Nmero de conjuntos 1FFF
001 7FFC
001
11223344
1FFF
Captulo III
Arquitectura de Computadores
47
Captulo III
Arquitectura de Computadores
49
Captulo III
Arquitectura de Computadores
50
Captulo III
Arquitectura de Computadores
51
Considere que una cache asociativa por conjuntos consta de 64 lneas divididas en conjuntos de 4 lneas. La memoria principal contiene 4K bloques de 128 palabras cada uno.
Etiqueta (s-d bits) Conjunto (d bits)
Captulo III Arquitectura de Computadores
Palabra (w bits)
52
4*1024*128 = 524288 esto equivale a 219 palabras entonces el tamao del formato de direccin de memoria principal en bits es 19
Direccin de 19 bits
Palabra (w bits)
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 estn dentro del bloque de memoria
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
Direccin de 19 bits
Palabra (7 bits)
Sabemos que la cache tiene 64 lneas que estn divididas en conjuntos de 4 y queremos saber cuantos conjuntos hay. Esto es 24 entonces el nmero de conjuntos 64 16 que tiene la memoria cache es de 4
Direccin de 19 bits
Palabra (7 bits)
Direccin de 19 bits
Palabra (7 bits)
La memoria es cara, por ello si queremos una memoria rpida deber ser pequea. Las memorias cada vez son ms rpidas, grandes y baratas, pero no avanzan solas, las memorias cache no se quedan atrs. 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 jerarquizacin de la memoria en niveles no ser posible sin el principio de localidad, el cual nos permite acceder lo mnimo posible a los niveles58 ms lentos.