77
Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 sarrollado por Dra. Maricela Quintana López, Dr. Miguel González Mendoza y Dr. Jorge Ramírez Uresti

Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Embed Size (px)

Citation preview

Page 1: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización y arquitectura de sistemas de memoria

Organización ComputacionalTC 1004

Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel González Mendoza y Dr. Jorge Ramírez Uresti

Page 2: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización y arquitectura de sistemas de memoria

Objetivos:

5.1 Jerarquía de sistemas de memoria: registros, caché, principal, secundaria, capacidades y velocidades5.2 Clasificación de memoria: RAM y ROM5.3 Concepto de Celda Binaria

Page 3: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Registros En CPU

Memoria interna o principal Puede incluir uno o más niveles de

caché “RAM”

Memoria externa Memoria de respaldo

Page 4: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Tamaño de la palabra Número de bits utilizados para

representar números o longitud de instrucciónes.

Excepciones: CRAY-1, VAX.

Número de palabras

Page 5: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Para la memoria principal, número de bits que se leen o se escriben en memoria a la vez.

Para la memoria externa, unidades más grandes denominadas bloques.

Page 6: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Acceso secuencial

Acceso directo

Acceso aleatorio

Acceso asociativo

Page 7: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Tiempo de acceso Memoria de acceso aleatorio: Tiempo

en realizar una lectura o escritura Memoria de otro tipo: Tiempo en situar

el mecanismo de escritura/lectura en la posicicón deseada.

Tiempo de ciclo Se aplica principalmente a las

memorias de acceso aleatorio, se define como el tiempo de acceso más el tiempo que se requiere para poder iniciarse un segundo acceso a la memoria.

Page 8: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Velocidad de transferencia Velocidad a la que se puede transferir

datos a, o desde, una unidad de memoria.

Acceso aleatorio: inverso del tiempo de ciclo.

Otro tipo de acceso:

R

NTT AN

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

NT

AT

NR

Tiempo medio de escritura o de lectura de N bits

Tiempo de acceso aleatorio

Número de bits

Velocidad de transferencia en bits por segundo (bps)

Page 9: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Semiconductor Dispositivos de estado sólido como los

chips. Ej: RAM

Soporte magnético Floppies, cintas, etc.

Soporte óptico DVD, CD, mini disk, etc.

Magneto óptico Mitad magnetico, mitad óptico.

Page 10: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Volátil / no volátil Memoria de superficié

magnética: no volátil Memoria semiconductora:

volátil o no volátil

Borrable / no borrable RAM / ROM

Page 11: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Características de los sistemas de memoria …

Ubicación

Capacidad

Unidad de transferencia

Método de acceso

Prestaciones

Dispositivo Físico

Características físicas

Organización

Disposición o estructura física en bits para formar palabras.

Page 12: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Jerarquía de sistemas de memoria

En el diseño de la memoria de una computadora existe un compromiso entre las características de capacidad, coste y velocidad.

A menor tiempo de acceso, mayor coste por bit. A mayor capacidad, menor coste por bit. A mayor capacidad, mayor tiempo de acceso.

Page 13: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memoria ideal Infinitamente grande y con tiempo de acceso muy corto.

Sin embargo Muy cara Tecnológicamente no factible

Solución: Jerarquía de memoria Unidades grandes y lentas, y Unidades pequeñas y rápidas

Meta de la jerarquía de memoria: Ilusión de una memoria grande, rápida y barata.

Page 14: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

µProc60%/año.(2X/1.5 año)

DRAM9%/año.(2X/10 años)1

10

100

1000

198

0198

1 198

3198

4198

5 198

6198

7198

8198

9199

0199

1 199

2199

3199

4199

5199

6199

7199

8 199

9200

0

DRAM

CPU198

2

Separación de rendimiento Procesador-memoria(crece 50% / año)

Re

nd

imie

nto

Tiempo

“Moore’s Law”

¿Por qué es importante el uso de la jerarquía de memoria?

“Less’ Law?”

Page 15: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Jerarquía de sistemas de memoria

Almacenamiento

fuera de línea Cinta magnética

Medio Óptico

Disco magnético

CD-ROM

CD-RW

DVD+RW

DVD-RAM

Almacenamiento

fuera de la tarjeta

Memoria en tarjeta impresa

Regis-

tros

caché

memoria

principal

Cuando se desciende la jerarquía ocurre:

a) Menor costo por bit

b) Mayor capacidad

c) Menor velocidad

d) Disminución de la frecuencia de acceso a la memoria por parte del procesador

Principio de localidad

Page 16: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

¿Por qué funciona la jerarquía de memoria?

Principio de localidad Los programas accede una porción relativamente

pequeña del espacio de direcciones en algún instante de tiempo.

Espacio de direcciones0

Probabilidad De referencia

Page 17: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Jerarquía de memoria: ¿Cómo trabaja? Localidad temporal

Si un dato es referenciado, se tiende a ser referenciado de nuevo en un tiempo próximo (bucles o subrutinas)

Localidad espacial Si un dato es referenciado, los datos con

direcciones cercanas tienden a ser referenciados pronto (tablas o matrices)

Page 18: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Jerarquía de memoria: Terminología

Hit: el dato está en algún bloque en el nivel superior (ejemplo: Bloque X) Hit Rate: Fracción de acceso a memoria en el nivel superior Hit Time: Tiempo para accesar el nivel superior que consiste en: tiempo

de acceso de RAM + Tiempo para determinar hit/miss

Miss: el dato necesita ser traído de un bloque en el nivel bajo (Bloque Y) Miss Rate = 1 - (Hit Rate) Miss Penalty: Tiempo para reemplazar un bloque en el nivel superior

+ Tiempo para llevar el bloque al procesador

Hit Time << Miss PenaltyNivel de memoria

inferiorNivel memoria

superiorAl procesador

Del procesadorBloque X

Bloque Y

Page 19: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ejemplo

Acceder a dos niveles de memoriaNivel 1: 1,000 palabras, tiempo acceso: 0.1 s

Nivel 2: 100,000 palabras, tiempo acceso: 1 s

Page 20: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Jerarquía de memoria de una computadora moderna

Haciendo uso del principio de localidad: Presenta al usuario tanta memoria como esté disponible con la tecnología más

económica. Provee acceso con la velocidad disponible con la tecnología más rápida.

Control

Datapath

SecondaryStorage(Disk)

Processor

Registers

MainMemory(DRAM)

SecondLevelCache

(SRAM)

On

-Ch

ipC

ache

1’s10,000,000’s

(10’s ms)

Velocidad (ns): 10’s 100’s

100B GBTamaño (bytes): KB MB

TertiaryStorage(Tape)

10,000,000,000’s

(10s sec)TB

Page 21: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

¿Cómo es manejada la jerarquía de memoria? Registros

Por el compilador (¿programador?)

Cache Por el hardware

Memoria principal Por el hardware Por el sistema operativo (caché de disco &

memoria virtual) Por el programador (archivos)

Page 22: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Clasificación de memoriaMemoria RAM (Random-Access Memory)

Todas las memoria mostradas son de acceso aleatorio

Leer y escribir datos rápidamente en ellas Volátil. Almacenamiento temporal

Tipos de memoria RAM

Dinámica. Está hecha con celdas que almacenan los datos como cargas en los condensadores.

Estática. Almacenan los datos utilizando configuraciones de puertas que forman biestables (flip-flops)

Page 23: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memoria RAM dinámica y estática

Acceso aleatorio: el tiempo de acceso es el mismo para todas las locacionesDRAM: Memoria de acceso aleatorio dinámica

Alta densidad low power Económica Lenta Dinámica: Necesita ser “refrescada” regularmente (1-2% de ciclos)

SRAM: Memoria de acceso aleatoria estática Baja densidad high power Cara Rápida Estática: El contenido durará mientras esté alimentada

Page 24: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memoria ROM

Memoria ROM (Read-Only Memory)

Contiene un padrón permanente de datos que no puede alterarse.

Aplicaciones: microprogramación, subrutinas de biblioteca para funciones de uso frecuente, programas del sistema, tablas de funciones.

Page 25: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Tipos de memoria ROM

PROM. Es volátil y sólo se puede escribir en ella una sola vez. El proceso de escritura se lleva a cabo eléctricamente y puede realizarlo el suministrados o el cliente con posterioridad.

Memorias de sobre-todo-lectura: EPROM: Memoria de sólo lectura programable borrable

Antes de escribir una operación, todas las celdas de almacenamiento deben ser borradas al estado inicial exponiendo el chip a radiación ultravioleta. Puede ser alterada múltiples veces.

Más cara que la PROM, pero tiene la ventaja de que puede ser actualizada múltiples veces.

Page 26: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Tipos de memoria ROM EEPROM:

Memoria de sólo lectura programable borrable eléctricamente Puede ser escrita sin borrar contenido anterior. Sólo el o los bytes

direccionados son actualizados. La operación de escritura toma mucho más tiempo que la de lectura. Combina la ventaja de no-volativilidad con la flexibilidad de ser actualizable

usando controles de bus ordinarios, direcciones y línea de datos. Es más cara que la EPROM y puede almacenar menos bits por chip.

Flash Nombrada así por la velocidad a la cual puede ser reprogramada. Es intermedia entre la EPROM y la EEPROM en costo y funcionalidad. Mucho más rápida que la EPROM. Puede borrar bloques específicos de memoria. No provee borrado a nivel de bytes. Tiene la densidad alta de las EPROM.

Page 27: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

CLASIFICACIÓN DE LAS MEMORIAS DE SEMICONDUCTORES

 

Tipo de memoria

Categoría Borrado Mecanismo de escritura

Volatibilidad

RAM Lectura-escritura

Eléctricamente Eléctricamente Volátil

ROM Sólo lectura No es posible Máscaras No volátil

PROM " " Eléctricamente "

EPROM Lectura-frecuente

Luz ultravioleta

" "

EEPROM " Eléctricamente " "

Page 28: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memorias no aleatorias

Tecnología de acceso a “memoria-no tan-aleatoria”: El tiempo de acceso varía de locación a locación y de

tiempo a tiempo Ejemplos: Disco, CDROM

Tecnología de Acceso Secuencial: tiempo de acceso linear en locación (e.g.,Cinta)

Page 29: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Celda Binaria Es el elemento básico de una memoria

semiconductora .

Presentan dos estados estables (o semiestables) que pueden utilizarse para representar el 1 y 0 binarios

Puede escribirse en ellas (al menos una vez) para fijar su contenido

Pueden leerse para detectar su estado

Page 30: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Funcionamiento y estructura de una celda binaria

• Tres terminales capaces de llevar una señal eléctrica. •El selector selecciona una celda.

•El control indica el tipo de operación: lectura o escritura.

•Escribir, la otra terminal provee una señal que pone a la celda en 1 o 0. Para leer, es usada como salida de la celda

Page 31: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Construcción de palabras de memoria a

partir de celdas binarias Palabras

Longitud de palabra

Dirección (0 a n-1 n localidades)

m líneas de dirección 2m localidades

Page 32: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ejemplo

Page 33: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Construcción memorias de semiconductores a partir de palabras

La memoria se forma a partir de palabras

La capacidad se expresa en términos de # palabras x longitud de palabra

Las memorias del ejemplo anterior son: 12x8, 8x12 y 6x16

Chip memoria incluye mecanismos para Decodificar las direcciones Detección/Escritura.

Page 34: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memoria de 16x8 Palabra de memoria (renglon - línea de palabra) Líneas de bit al circuito de lectura/escritura Lineas de entrada/salida (bidireccional)

Page 35: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Diseño de sistemas de memoria de mayor capacidad, a partir de memorias de menor capacidad.

Tecnología de CI adecuada para memorias

Aumenta #bits que se pueden almacenar

1Kbit a 16M bits

Organización de las celdas de memoria 2D 21/2D

Page 36: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 2D

Disposición física = lógica.

El arreglo de memoria está organizado en W palabras de B bits

Todos los bits de una palabra en el mismo chip

Page 37: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 2D …

En esta organización : # líneas de dirección

# celdas de la memoria (capacidad)

# palabras (# unidades direccionables)

# bits por palabra (longitud de palabra)

Page 38: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 2D …

Ejemplos:1. Ej: Diseñe una memoria de 2D de 1Kb con palabras de

16 bits.

2. Ej: Si se sabe que una memoria 2D tiene 5 líneas de dirección y 2048 celdas de capacidad, entonces:

• ¿Cuántas palabras tiene?• ¿Cuántos bits por palabra?

3. Ej: ¿Cuál es el efecto en la capacidad de una memoria 2D si se agrega una línea de dirección?

Page 39: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ejemplos: Organización 2D

1. Dado un MAR de 8 bits y un MDR de 64 bits: ¿Cuántas palabras puedo direccionar? ¿Cuál es la longitud de la palabra? ¿Cuál es la capacidad de la memoria en bits? ¿Cuál es la capacidad de la memoria en bytes?

2. Realice un diagrama de bloque para una memoria de 1MByte en 2D, con longitud de palabra de 16 bits, coloca todos los componentes.

Page 40: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 21/2 D

Un bit por chip

Los bits de una palabra repartidos en varios chips

El chip contiene un arreglo de bits cuadrado

Page 41: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 21/2 D …

Ej: Se tiene una memoria 2½ D con longitud de palabra de 1 bit. Si se sabe que tiene 1Kb de capacidad: ¿cuántas

Palabras Lineas de dirección y Tamaño de matriz

se necesitan?

Page 42: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización 2½D

1Kbit de capacidad (# celdas en la memoria), entonces:

# palabras = 1K = 1024 # líneas de dirección = log2 1024 = 10

(5 al decodificador y 5 a los multiplexores) # bits por palabra = 1 La matriz cuadrada de memoria es de 2 5 x 2

5 (32 x 32).

Page 43: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ventajas 2½ D sobre 2D …

2½ requiere menos líneas de dirección que 2D.

2½ facilita la corrección de errores.

2½ cuadriplica la capacidad por línea de dirección.

2½ es modular (por ser cuadrada).

Page 44: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Encapsulado de chips Circuito conexión RAM 2D

14 pines + 2 (E y T)

1Kbit (128x8)(2D) 19 conexiones

1Kbit (32x1) (2 ½ D) 16 conexiones

1Kb (1024x1) 2 ½ D

Page 45: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Encapsulado de chips …

RAM 16x8 2D

Page 46: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Encapsulado de chips

Organizaciones para una pastilla de 256K: 32K x 8(2D) y 256K x 1(2½D).

Page 47: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ejemplo: chip 27010 EPROM de Intel

Las líneas para direccionar 128K palabras, 17 pines (A0 a A16).

Las líneas para leer los datos de salida. Se necesita un total de 8 pines (D0 a D7).

Suministro de energía (Vcc).

Un pin de Tierra (GND).

El chip select (CS).

El output select (OS).

El pin de programa (PGM). Inicialmente y después de cada "borrado" del chip,

El pin de voltaje de programa (Vpp), que se administra durante la programación.

Un pin No utilizado (NC).

Page 48: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Intel 51C256L 256Kx1-bit RAM.

Din y Dout: Para recibir o Leer el bit de la memoriaRW: Indica si la operación Es lectura o EscrituraA0:A8 Solo 9 bits de DirPara 256 k?(RAS:Row Address Select)(CAS:Column AddressSelect).GND: TierraVCC: Voltaje

Page 49: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Encapsulado de chips

2D

2 ½ D

Page 50: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización modular

#chips = #bits palabra 256K x 8 (2 ½ D) 18 dirección a 8 chips c/u provee un bit

Page 51: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Arreglo de chips

1M x 8 RAM 2 ½ D

Page 52: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Ejercicio Organización Modular 2 ½ D

Proporcione un diagrama de bloque para una memoria de 256Kbx16, utilizando chips de memoria de 64Kbx1. Coloque todas las lineas necesarias, así como el MAR y el MDR. Determine los datos necesarios para el chip de 64Kx1 y

realice el diagrama Forme un módulo con los chips de forma que se ajuste al

tamaño de palabra. Da el diagrama del módulo. Usando módulos, genere el diagrama de bloque para la

memoria de forma que su capacidad sea de 256Kx16.

Page 53: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Memoria Caché Velocidad ejecución CPU depende de velocidad transferencia de datos. Problema: CPU más rápido que Memoria. Solución ideal: memoria construida con tecnología utilizada en registros del

CPU (muy costoso). Solución real: memoria pequeña y rápida localizada entre el CPU y la

memoria (Memoria Caché).

Page 54: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

La memoria caché explota el principio de localidad: Programadores no accesan la memoria de forma

completamente aleatoria.

Común el acceso de localidades de memoria contigua una o varias veces. Ej: Ciclo de instrucciones.

Por lo tanto, las referencias a memoria en un intervalo de tiempo corto tienden a utilizar sólo una fracción de la memoria.

Esas fracciones son las que se busca tener cargadas en memoria caché.

Page 55: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

La memoria cache y principal

CPU

Cache

La memoriaprincipal

Transferencia de Palabra

Transferencia de Bloque

Page 56: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Principio de Localidad

Las referencias a memoria realizadas en un intervalo de tiempo corto tienden a usar sólo una fracción de la memoria total también conocido como bloque de memoria.

Page 57: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Estructura de la memoria cache y principalEstructura de la memoria cache y principal

0123

Tamaño Palabra

Bloque

DatosDireccionesde memoria

2n - 1

Bloque(k palabras)

Número Slot

012

Etiqueta Bloque

Longitud del bloque(k palabras)

Page 58: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

El Mapeo

Mapa, mapear, proyectar, corresponder. Transferir un conjunto de objetos de un lugar a

otro. Por ejemplo los módulos de programas en el disco son proyectados (“mapeados”) en la memoria.

Relacionar un conjunto de objetos con otro. Por ejemplo, una estructura de base de datos lógica se proyecta sobre la base de datos física.

Page 59: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

El algoritmo de mapeo en caché

Existen menos slots caché que bloques de memoria principal, por lo que se necesita un algoritmo para mapear bloques de memoria principal en los slots de la caché.

Técnica para determinar cual bloque de memoria principal ocupa que slot de caché.

La elección del algoritmo de mapeo nos dice como se encuentra organizada la caché.

Dos técnicas directa, asociativa.

Page 60: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

El mapeo directo

A cada bloque de memoria principal se le mapea dentro de un solo slot de la caché.

Evita la búsqueda poniendo cada bloque en un slot, cuyo número se puede calcular a partir del número de bloque.

Mapeo expresado a partir de

slot caché = (número bloque) % (total slots caché) Ventaja: eliminan problema de búsqueda. Desventaja: como saber cuál de los diferentes bloques

que corresponden a un slot lo esta ocupando.

Page 61: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Esquema mapeo directo

Bloque 0

Bloque 1

Bloque 2

Bloque 3Bloque 4

Bloque 6

Bloque 5

Bloque 7

Bloque 8

Bloque 9

Bloque 11

Bloque 10

Memoria principal: 12 bloques

Memoria caché: 3 slots

slot 2

slot 1

slot 0

Por lo que los slots almacenarán:slot 0: bloque 0 bloque 3 bloque 6 bloque 9slot 1: bloque 1 bloque 4 bloque 7 bloque 10slot 2: bloque 2 bloque 5 bloque 8 bloque 11

slot = bloque % (numero slots)slot = bloque %3

Page 62: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Interpretación dirección

Las direcciones de memoria principal tienen dos interpretaciones Interpretación memoria principal

dos campos: bloque y palabra

Interpretación memoria caché se divide el campo bloque, lo que proporciona tres campos: etiqueta,

slot y palabra

Ejemplo dirección 12 bits: 101010101010 (3 palabra, 6 slot)

memoria principal: 101010101 010 memoria caché: 101 010101 010

etiqueta palabraslot

bloque palabra

Page 63: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Etiqueta Línea Palabra

Comparar x

Etiqueta Datos Mem. Caché

Memoria Principal

x

Dirección Memoria

s+w

(escondida en caché)

(puesta encaché)

s-r r w

s-r

w

L0

Li

B0

Bj

W0

W1

W2

W3

W4j

W(4j+1)

W(4j+2)

W(4j+3)

s

w

Organización cachémapeo directo

Page 64: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Un primer escenario

Tamaño direcciones: 6 bits Tamaño palabra: 8 bits = 1 byte Tamaño memoria principal: 26=64 bytes Tamaño memoria caché: 25=32 bytes Tamaño del bloque: 4 bytes Calculando:

Bloques en memoria principal: Slots en memoria caché: 64/4=16 bloques

25=32/4=8 slots

Page 65: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Esquema Escenario 1

B0

:

B4

B2

B1

B3

B7

B6

B5

B15

L7

L6

L5

L4

L3

L2

L1

L0

etiqueta bloque almacenado

0 1 2 3

000011000010000001000000

000111000110000101000100

001011001010001001001000

001111001110001101001100

010011010010010001010000

010111010110010101010100

011111011110011101011100011011011010011001011000

3210

3210

3210

3210

3210

3210

3210

3210

111111111110111101111100

3210

Interpretación dirección:

Memoria caché:palabraslotetiqueta

Memoria principal:palabrabloque

Page 66: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Segundo Escenario

Tamaño caché: 64 Kbytes=64x210 bytes = 26x210 bytes = 216

bytes Tamaño bloques: 4 bytes Tamaño palabra: 1 byte Memoria principal: 16Mbytes =16x220 bytes =224 bytes Calculando

Tamaño direcciones = Número bloques en memoria principal: Número de slots en caché:

por lo que la caché esta organizada en cada uno

16Mbytes/4bytes=4M bloques=222 Bloques

64Kbytes/4bytes= 16k slots= 214 slots 214 slots de 4 bytes

24 bits

Page 67: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Etiqueta Slot+Palabra Dato

FF

FFFCFFF8

000800040000

~ ~11223344

01

FFFCFFF8

000800040000

00

FFFCFFF8

000800040000

~ ~

~ ~

12345678

11235813

13579246

87654321

Dirección Memoria Principal

Etiqueta Dato Número Slot

01 12345678 3FFF FF 11223344 3FFE

00 87654321 0002 01 11235813 0001 00 13579246 0000

~ ~

32 bits8 bits (14 bits)

Palabra caché 16K

16 MBytes de Memoria Principal

Dirección

Etiqueta Slot Palabra

8 14 2

Segundo ejemplo mapeo directo

Bloque Palabra

22 2

Dirección Memoria Caché

Page 68: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Línea Cache Bloques de memoria principal asignado 0 0,m, ....., 2s-m 1 1,m+1,.....,2s-m+1 . . . . . . . . m-1 m-1, 2m-1, ....., 2s-1

Línea Cache Bloques de memoria principal asignado 0 000000,010000,.....,FF0000 1 000001,010001,.....,FF0001 . . . . . . . . 3FF 00FFFC,01FFFC,.....,FFFFFC

Page 69: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Mapeo Asociativo

Permite que un bloque de memoria principal se cargue en cualquier slot de la caché.

La lógica de control de la caché interpreta una dirección de memoria como una etiqueta y una palabra.

La etiqueta solo identifica un bloque en la memoria principal.

etiqueta palabra

Page 70: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Mapeo asociativo (cont)

Para verificar si el bloque esta cargado, el control de lógica debe examinar simultáneamente cada slot de la memoria caché.

Existe flexibilidad en el hecho de que bloque remplazar cuando un nuevo bloque es accedido.

Se tienen algoritmos de reemplazamiento para maximizar el desempeño.

Principal desventaja: la complejidad de la circuitería requerida para examinar todos las etiquetas de los slots de la caché.

Page 71: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Esquema mapeo asociativo

Bloque 0

Bloque 1

Bloque 2

Bloque 3Bloque 4

Bloque 6

Bloque 5

Bloque 7

Bloque 8

Bloque 9

Bloque 11

Bloque 10

Memoria principal: 12 bloques

Memoria caché: 3 slots

slot 2

slot 1

slot 0

Los slots pueden almacenar:slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11

verificación en todoslos slots de la caché

Page 72: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Etiqueta Palabra

Comparar x

Etiqueta DatosMem. Caché

Memoria Principal

x

Dirección Memoria

s+w

(escondida en caché)

(puesta encaché)

s w

s

w

L0

Li

B0

Bj

W0

W1

W2

W3

W4j

W(4j+1)

W(4j+2)

W(4j+3)

s

w

Lm-1

...

Organización cachéasociativa

Page 73: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Dirección Dato

FFFFFCFFFFF8FFFFF4

~ ~

246824681122334433333333

1633A016339C163398

000008000004000000

~ ~

87654321

12345678

Dirección Memoria Principal

Etiqueta Palabra

Etiqueta Dato Número Slot

FFFFFC 24682468 3FFF 0000000 1234567 3FFE FFFFF4 33333333 3FFD

16339C 87654321 0001 FFFFF8 11223344 0000

~ ~

32 bits22 bits (14 bits)

Palabra caché 16K

16 MBytes de Memoria Principal

22 2

Ejemplo mapeo asociativo

Page 74: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Algoritmos de Reemplazo

Asignación slot caché a bloque recién accedido: mapeo directo: slot ya esta asignado mapeo asociativo: necesario un algoritmo de reemplazo

Cuatro opciones para asociativo LRU Least Recently Used

cada slot utiliza un bit de uso FIFO First In First Out

implementado fácilmente como round-robin o buffer circular LFU Least Frequently Used

asociar un contador a cada slot Random

simulación: desempeño ligeramente inferior a los otros algoritmos

Page 75: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Políticas de escritura en caché

Vigilancia del bus con escritura inmediata Actualización inmediata de memoria con monitoreo por

parte de los demás procesadores

Transparencia de Hardware Hardware adicional para sincronizar todas las cachés y la

RAM

Memoria excluída del caché Solo una porción de la memoria principal se comparte con

más de un procesador. La memoria compartida nunca se copia a caché.

Page 76: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Número de cachés

Caché de dos niveles: L1 Interna (caché on chip) L2 Externa (caché off chip)

Pueden ser utilizadas, una para cargar las instrucciones y la otra los datos

Page 77: Organización y arquitectura de sistemas de memoria Organización Computacional TC 1004 Material desarrollado por Dra. Maricela Quintana López, Dr. Miguel

Organización de Caché

80386 no tiene caché on chip 80486 Incluye caché on chip Pentium: 2 cachés on chip (L1): una para

datos y otra para instrucciones (8kbytes y un a tamaño de línes de 32 bytes), y una caché L2 (256kbytes a 1 mbyte)