Memoria del computador

58
Capítulo III Arquitectura de Computadores 1 ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORES CAPÍTULO III “MEMORIA” ING. GREYSON PAUL ALBERCA PRIETO

Transcript of Memoria del computador

Page 1: Memoria del computador

Capítulo III Arquitectura de Computadores

1

ORGANIZACIÓN Y ARQUITECTURA DE COMPUTADORESCAPÍTULO III“MEMORIA”

ING. GREYSON PAUL ALBERCA PRIETO

Page 2: Memoria del computador

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

Page 3: Memoria del computador

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

Page 4: Memoria del computador

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.

Page 5: Memoria del computador

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

Page 6: Memoria del computador

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

Page 7: Memoria del computador

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

Page 8: Memoria del computador

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.

Page 9: Memoria del computador

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

Page 10: Memoria del computador

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:

Page 11: Memoria del computador

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.

Page 12: Memoria del computador

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

Page 13: Memoria del computador

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”

Page 14: Memoria del computador

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

Page 15: Memoria del computador

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

Page 16: Memoria del computador

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É

Page 17: Memoria del computador

Capítulo III Arquitectura de Computadores

Page 18: Memoria del computador

Capítulo III Arquitectura de Computadores

LECTURA DE UNA CACHE

Page 19: Memoria del computador

Arquitectura de Computadores

19

Page 20: Memoria del computador

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

Page 21: Memoria del computador

Capítulo III Arquitectura de Computadores

21

Page 22: Memoria del computador

Capítulo III Arquitectura de Computadores

22

Correspondencia directa

Cada bloque tiene solamente un lugar

donde puede aparecer en la cache

Page 23: Memoria del computador

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

Page 24: Memoria del computador

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

Page 25: Memoria del computador

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

Page 26: Memoria del computador

Capítulo III Arquitectura de Computadores

26

MECANISMO DE BÚSQUEDA

Page 27: Memoria del computador

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

Page 28: Memoria del computador

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

Page 29: Memoria del computador

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

Page 30: Memoria del computador

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

Page 31: Memoria del computador

Analizando vemos que:M. Principal = 32 kpalabrasCache = 512 palabrasCada bloque = 8 palabras

Por ultimo debemos calcular w

8 palabras = 23

W = 23

EJEMPLO

Page 32: Memoria del computador

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)

Page 33: Memoria del computador

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

Page 34: Memoria del computador

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

Page 35: Memoria del computador

Capítulo III Arquitectura de Computadores

35

EJEMPLO

Page 36: Memoria del computador

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

Page 37: Memoria del computador

Cada bloque(memoria principal) puede ir en cualquier posición(línea) de cache

Capítulo III Arquitectura de Computadores

37

CORRESPONDENCIA ASOCIATIVA

Page 38: Memoria del computador

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)

Page 39: Memoria del computador

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)

Page 40: Memoria del computador

Capítulo III Arquitectura de Computadores

40

MECANISMO DE BÚSQUEDA

Page 41: Memoria del computador

Capítulo III Arquitectura de Computadores

41

EJEMPLO

Page 42: Memoria del computador

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

Page 43: Memoria del computador

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

Page 44: Memoria del computador

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

Page 45: Memoria del computador

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

Page 46: Memoria del computador

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

Page 47: Memoria del computador

Capítulo III Arquitectura de Computadores

47

MECANISMO DE BÚSQUEDA

Page 48: Memoria del computador

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

Page 49: Memoria del computador

Capítulo III Arquitectura de Computadores

49

ASOCIATIVA DE DOS VÍAS

Page 50: Memoria del computador

Capítulo III Arquitectura de Computadores

50

Page 51: Memoria del computador

Capítulo III Arquitectura de Computadores

51

EJEMPLO

Page 52: Memoria del computador

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

Page 53: Memoria del computador

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

Page 54: Memoria del computador

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

Page 55: Memoria del computador

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

Page 56: Memoria del computador

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

Page 57: Memoria del computador

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

Page 58: Memoria del computador

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