Professional Documents
Culture Documents
Material desarrollado por Dra. Maricela Quintana Lpez, Dr. Miguel Gonzlez Mendoza y Dr. Jorge Ramrez Uresti
Objetivos:
5.1 Jerarqua de sistemas de memoria: registros, cach, principal, secundaria, capacidades y velocidades 5.2 Clasificacin de memoria: RAM y ROM 5.3 Concepto de Celda Binaria
Capacidad
Unidad de transferencia Mtodo de acceso
Registros
En CPU
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Memoria externa
Memoria de respaldo
Capacidad
Unidad de transferencia Mtodo de acceso
Tamao de la palabra
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Nmero de bits utilizados para representar nmeros o longitud de instruccines. Excepciones: CRAY-1, VAX.
Nmero de palabras
Capacidad
Unidad de transferencia Mtodo de acceso
Para la memoria principal, nmero de bits que se leen o se escriben en memoria a la vez.
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Capacidad
Unidad de transferencia Mtodo de acceso Prestaciones Dispositivo Fsico Caractersticas fsicas Organizacin
Acceso secuencial
Acceso directo
Acceso aleatorio Acceso asociativo
Tiempo de acceso
Capacidad
Unidad de transferencia Mtodo 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 posicicn deseada.
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Tiempo de ciclo
Se aplica principalmente a las memorias de acceso aleatorio, se define como el tiempo de acceso ms el tiempo que se requiere para poder iniciarse un segundo acceso a la memoria.
Capacidad
Unidad de transferencia Mtodo de acceso
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
TN
TA
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: N TN TA R
Tiempo de acceso aleatorio
Nmero de bits
Velocidad de transferencia en bits por segundo (bps)
Semiconductor
Capacidad
Unidad de transferencia Mtodo de acceso
Soporte magntico
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Soporte ptico
Magneto ptico
Capacidad
Unidad de transferencia Mtodo de acceso
Voltil / no voltil
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
Borrable / no borrable
RAM / ROM
Capacidad
Unidad de transferencia Mtodo de acceso
Prestaciones
Dispositivo Fsico Caractersticas fsicas Organizacin
En el diseo de la memoria de una computadora existe un compromiso entre las caractersticas 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.
Memoria ideal
Sin embargo
Moores Law
Rendimiento 100 10
Less Law?
DRAM
1
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000
Tiempo
Principio de localidad
Los programas accede una porcin relativamente pequea del espacio de direcciones en algn instante de tiempo.
Probabilidad De referencia
Espacio de direcciones
Localidad temporal Si un dato es referenciado, se tiende a ser referenciado de nuevo en un tiempo prximo (bucles o subrutinas) Localidad espacial Si un dato es referenciado, los datos con direcciones cercanas tienden a ser referenciados pronto (tablas o matrices)
Hit: el dato est en algn bloque en el nivel superior (ejemplo: Bloque X) Hit Rate: Fraccin 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 trado 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
Nivel de memoria inferior
Bloque Y
Del procesador
Ejemplo
Acceder a dos niveles de memoria
Nivel 1: 1,000 palabras, tiempo acceso: 0.1 s Nivel 2: 100,000 palabras, tiempo acceso: 1 s
Presenta al usuario tanta memoria como est disponible con la tecnologa ms econmica. Provee acceso con la velocidad disponible con la tecnologa ms rpida.
Processor Control Second Level Cache (SRAM) Main Memory (DRAM) Secondary Storage (Disk) Registers On-Chip Cache Tertiary Storage (Tape)
Datapath
1s 100B
10s KB
100s MB
Registros
Cache
Por el hardware
Memoria principal
Por el hardware Por el sistema operativo (cach de disco & memoria virtual) Por el programador (archivos)
Clasificacin de memoria
Memoria RAM (Random-Access Memory)
Todas las memoria mostradas son de acceso aleatorio Leer y escribir datos rpidamente en ellas Voltil. Almacenamiento temporal
Dinmica. Est hecha con celdas que almacenan los datos como cargas en los condensadores.
Esttica. Almacenan los datos utilizando configuraciones de puertas que forman biestables (flip-flops)
SRAM: Memoria de acceso aleatoria esttica Baja densidad high power Cara Rpida Esttica: El contenido durar mientras est alimentada
Memoria ROM
Memoria ROM (Read-Only Memory)
Aplicaciones: microprogramacin, subrutinas de biblioteca para funciones de uso frecuente, programas del sistema, tablas de funciones.
EPROM: Memoria de slo lectura programable borrable Antes de escribir una operacin, todas las celdas de almacenamiento deben ser borradas al estado inicial exponiendo el chip a radiacin ultravioleta. Puede ser alterada mltiples veces. Ms cara que la PROM, pero tiene la ventaja de que puede ser actualizada mltiples veces.
EEPROM:
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 ms rpida que la EPROM. Puede borrar bloques especficos de memoria. No provee borrado a nivel de bytes. Tiene la densidad alta de las EPROM.
Borrado
Mecanismo de escritura
PROM
EPROM EEPROM
"
Lecturafrecuente "
"
Luz ultravioleta Elctricamente
Elctricamente
" "
"
" "
Memorias no aleatorias
Tecnologa de acceso a memoria-no tan-aleatoria: El tiempo de acceso vara de locacin a locacin y de tiempo a tiempo
Celda Binaria
Es el elemento bsico 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
Tres terminales capaces de llevar una seal elctrica. El selector selecciona una celda. El control indica el tipo de operacin: lectura o escritura. Escribir, la otra terminal provee una seal que pone a la celda en 1 o 0. Para leer, es usada como salida de la celda
Ejemplo
Memoria de 16x8
Palabra de memoria (renglon - lnea de palabra) Lneas de bit al circuito de lectura/escritura Lineas de entrada/salida (bidireccional)
2D 21/2D
Organizacin 2D
Disposicin fsica = lgica. El arreglo de memoria est organizado en W palabras de B bits Todos los bits de una palabra en el mismo chip
Organizacin 2D
En esta organizacin : # lneas de direccin
Organizacin 2D
1.
Ejemplos:
Ej: Disee una memoria de 2D de 1Kb con palabras de 16 bits. Ej: Si se sabe que una memoria 2D tiene 5 lneas de direccin y 2048 celdas de capacidad, entonces:
2.
3.
Ej: Cul es el efecto en la capacidad de una memoria 2D si se agrega una lnea de direccin?
Ejemplos: Organizacin 2D
Cuntas palabras puedo direccionar? Cul es la longitud de la palabra? Cul es la capacidad de la memoria en bits? Cul 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.
Organizacin 21/2 D
Organizacin 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: cuntas
se necesitan?
Organizacin 2D
1Kbit de capacidad (# celdas en la memoria), entonces: # palabras = 1K = 1024 # lneas de direccin = 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).
Ventajas 2 D sobre 2D
Encapsulado de chips
14 pines + 2 (E y T)
1Kbit (128x8)(2D)
19 conexiones
1Kbit (32x1) (2 D)
16 conexiones
1Kb (1024x1) 2 D
Encapsulado de chips
RAM 16x8 2D
Encapsulado de chips
Encapsulado de chips
2D
2D
Organizacin modular
Arreglo de chips
1M x 8 RAM 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 mdulo con los chips de forma que se ajuste al tamao de palabra. Da el diagrama del mdulo. Usando mdulos, genere el diagrama de bloque para la memoria de forma que su capacidad sea de 256Kx16.
Memoria Cach
Velocidad ejecucin CPU depende de velocidad transferencia de datos. Problema: CPU ms rpido que Memoria. Solucin ideal: memoria construida con tecnologa utilizada en registros del CPU (muy costoso). Solucin real: memoria pequea y rpida localizada entre el CPU y la memoria (Memoria Cach).
Programadores no accesan la memoria de forma completamente aleatoria. Comn 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 slo una fraccin de la memoria. Esas fracciones son las que se busca tener cargadas en memoria cach.
CPU
Transferencia de Palabra
Cache
Transferencia de Bloque
La memoria principal
Principio de Localidad
Las referencias a memoria realizadas en un intervalo de tiempo corto tienden a usar slo una fraccin de la memoria total tambin conocido como bloque de memoria.
Direcciones de memoria
Datos
Etiqueta
Bloque
0 1 2 3
Bloque (k palabras)
El Mapeo
Mapa, mapear, proyectar, corresponder. Transferir un conjunto de objetos de un lugar a otro. Por ejemplo los mdulos 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 lgica se proyecta sobre la base de datos fsica.
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. Tcnica para determinar cual bloque de memoria principal ocupa que slot de cach. La eleccin del algoritmo de mapeo nos dice como se encuentra organizada la cach. Dos tcnicas
directa, asociativa.
El mapeo directo
A cada bloque de memoria principal se le mapea dentro de un solo slot de la cach. Evita la bsqueda poniendo cada bloque en un slot, cuyo nmero se puede calcular a partir del nmero de bloque. Mapeo expresado a partir de slot cach = (nmero bloque) % (total slots cach) Ventaja: eliminan problema de bsqueda. Desventaja: como saber cul de los diferentes bloques que corresponden a un slot lo esta ocupando.
Por lo que los slots almacenarn: slot 0: bloque 0 bloque 3 bloque 6 bloque 9 slot 1: bloque 1 bloque 4 bloque 7 bloque 10 slot 2: bloque 2 bloque 5 bloque 8 bloque 11
Interpretacin direccin
Las direcciones de memoria principal tienen dos interpretaciones Interpretacin memoria principal dos campos: bloque y palabra
bloque palabra
Interpretacin memoria cach se divide el campo bloque, lo que proporciona tres campos: etiqueta, slot y palabra
etiqueta slot palabra
Ejemplo direccin 12 bits: 101010101010 (3 palabra, 6 slot) memoria principal: 101010101 010 memoria cach: 101 010101 010
L0
B0
s-r
Li
Bj
(escondida en cach)
(puesta en cach)
Un primer escenario
Tamao direcciones: 6 bits Tamao palabra: 8 bits = 1 byte Tamao memoria principal: 26=64 bytes Tamao memoria cach: 25=32 bytes Tamao del bloque: 4 bytes Calculando: Bloques en memoria principal: Slots en memoria cach: 64/4=16 bloques
25=32/4=8 slots
B15
3 2 1 0
Esquema Escenario 1
etiqueta bloque almacenado
:
B7
3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
B6
B5 B4 B3 B2 B1 B0
011111 011110 011101 011100 011011 011010 011001 011000 010111 010110 010101 010100 010011 010010 010001 010000 001111 001110 001101 001100 001011 001010 001001 001000 000111 000110 000101 000100 000011 000010 000001 000000
L7 L6 L5 L4 L3 L2 L1 L0
Interpretacin direccin: Memoria cach:
etiqueta slot
palabra
Memoria principal:
bloque palabra
Segundo Escenario
Tamao cach: 64 Kbytes=64x210 bytes = 26x210 bytes = 216 bytes Tamao bloques: 4 bytes Tamao palabra: 1 byte Memoria principal: 16Mbytes =16x220 bytes =224 bytes Calculando Tamao direcciones =
01 FF
~
00 01 00 87654321 11235813 13579246
32 bits
FFFC FFF8 01
12345678
~
11235813
8 bits
~
87654321
~
13579246
Etiqueta 8
Palabra 2
00
Palabra 2
Bloques de memoria principal asignado 0,m, ....., 2s-m 1,m+1,.....,2s-m+1 . . . . m-1, 2m-1, ....., 2s-1
Mapeo Asociativo
Permite que un bloque de memoria principal se cargue en cualquier slot de la cach. La lgica de control de la cach interpreta una direccin de memoria como una etiqueta y una palabra. La etiqueta solo identifica un bloque en la memoria principal.
etiqueta palabra
Para verificar si el bloque esta cargado, el control de lgica debe examinar simultneamente 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 desempeo. Principal desventaja: la complejidad de la circuitera requerida para examinar todos las etiquetas de los slots de la cach.
Los slots pueden almacenar: slot 0: bloque 0,1,2,3,4,5,6,7,8,9,10,11 slot 1: bloque 0,1,2,3,4,5,6,7,8,9,10,11 slot 2: bloque 0,1,2,3,4,5,6,7,8,9,10,11
L0
B0
...
Comparar x w Li
Bj
(escondida en cach)
s Lm-1
(puesta en cach)
~
1633A0 16339C 163398 87654321
~
16339C FFFFF8 22 bits 87654321 11223344 32 bits
~
0001 0000 (14 bits)
~
000008 000004 000000
~
Direccin Memoria Principal Etiqueta 22 Palabra 2
12345678
Algoritmos de Reemplazo
mapeo directo: slot ya esta asignado mapeo asociativo: necesario un algoritmo de reemplazo LRU Least Recently Used cada slot utiliza un bit de uso FIFO First In First Out implementado fcilmente como round-robin o buffer circular LFU Least Frequently Used asociar un contador a cada slot Random simulacin: desempeo ligeramente inferior a los otros algoritmos
Actualizacin inmediata de memoria con monitoreo por parte de los dems procesadores Hardware adicional para sincronizar todas las cachs y la RAM
Transparencia de Hardware
Solo una porcin de la memoria principal se comparte con ms de un procesador. La memoria compartida nunca se copia a cach.
Nmero de cachs
Pueden ser utilizadas, una para cargar las instrucciones y la otra los datos
Organizacin de Cach
80386 no tiene cach on chip 80486 Incluye cach on chip Pentium: 2 cachs on chip (L1): una para datos y otra para instrucciones (8kbytes y un a tamao de lnes de 32 bytes), y una cach L2 (256kbytes a 1 mbyte)