Professional Documents
Culture Documents
Arquitecturas de Memoria
5-2
Contenido
5.1 Jerarquas 5.2 RAM. Memorias de Acceso Aleatorio 5.3 Organizacin en Circuito Integrado 5.4 Mdulos comerciales 5.5 ROM. Memorias slo-lectura 5.6 Memorias Cache 5.7 Memoria Virtual 5.8 Tpicos avanzados 5.9 Caso de estudio: Intel Pentium Memory System
5-3
Jerarqua
Rpida y cara
Registros Cache
Memoria principal Memoria secundaria (disco) Almacenamiento masivo (cinta) Lenta y barata
1999 M. Murdocca and V. Heuring
5-4
D Q
CLK
Select
Data In/Out
1999 M. Murdocca and V. Heuring
5-5
A0-Am-1
Memory Chip
D0-Dw-1
CS
5-6
D3 D1 D2 D0
WR
WR Word 0 CS
2-to-4 decoder 00 A0 A1 01 10 11
WR Word 1 CS
WR Word 2 CS
Word 3
Q3 Q1 Q2 Q0
1999 M. Murdocca and V. Heuring
5-7
D3 D2 D1 D0 WR A0 44 RAM CS A1 Q3 Q2 Q1 Q0
5-8
Read
D Q
A0 A1 A2
Row Decoder
CLK
Celda 1-Bit
A3 A4 A5
Two bits wide: One bit for data and one bit for select.
5-9
D7 D6 D5 D4 CS WR A0 A1
D3 D2 D1 D0
44 RAM
44 RAM
Q7 Q6 Q5 Q4
1999 M. Murdocca and V. Heuring
Q3 Q2 Q1 Q0
5-10
WR A0 A1 1-to-2 decoder A2 0 1
44 RAM CS
CS
44 RAM CS
Q3 Q2 Q1 Q0
5-11
PIN NOMENCLATURE A0-A9 CAS DQ1-DQ8 NC RAS Vcc Vss W Address Inputs Column-Address Strobe Data In/Data Out No Connection Row-Address Strobe 5-V Supply Ground Write Enable
5-12
Q3
Q2
Q1
Q0
5-13
Operando A
Operando B Funcin
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
Salida
0 0 1 1
0 1 0 1
5-14
- Principio de LOCALIDAD: Una posicin de memoria puede ser usada de nuevo (localidad temporal); una posicin vecina de la posicin de memoria referenciada puede ser usada inmediatamente despus (localidad espacial).
1999 M. Murdocca and V. Heuring
5-15
27
Slot 0
Slot 1 Slot 2 . . . Slot 2141 Cache
5-16
27 bits
5 bits
- Si la palabra direccionada est en la cache, se encontrar (14)16 la palabra de un segmento (tag) (501AF80)16. Este TAG, est formado por los 27 bits ms significativos de la direccin. Si la palabra no est en cache, entonces el bloque corresponde a un campo del tag (501AF80)16 es "ledo" de memoria dentro del segmento correspondiente en la cache, la referencia a memoria es entonces leda de la cache.
Tag
Word
101000000011010111110000000 10100
1999 M. Murdocca and V. Heuring
5-17
Polticas de Reemplazo
- Cuando no hay segmentos disponibles en donde colocar un bloque es necesario implantar un mtodo. Este mtodo gobierna como el segmento es liberado para albergar el bloque nuevo. - Los mecanismos de reemplazo son usados para esquemas asociativos de memoria y para memoria virtual. Estos son los siguientes: - ltimo recientemente empleado. "Least recently used" (LRU) - Primero que entra/primero que sale. "First-in/first-out" (FIFO) - El menos frecuente empleado. "Least frequently used" (LFU) - Aleatorio. "Random" - ptimo. (Usado por anlisis en tiempo siguiendo una estrategia para una secuencia particular de referencias a memoria).
5-18
Block 0 Block 1 . . . Block 214 Block 214+1 . . . Block 227 Main Memory
5-19
Tag 13 bits
Slot 14 bits
Word 5 bits
- Si la referencia a memoria est en la cache, se encontrar en (14)16 del segmento (2F80)16 el cual tendr un TAG de (1406)16
Tag
Slot
Word
5-20
Slot 0 Slot 1
Block 0 Block 1 . . . Block 213 Block 213+1 . . . Block 2271 Main Memory
Set 1
Slot 2 . . .
Set 2131
5-21
Tag 14 bits
Set 13 bits
Word 5 bits
Los 14 bits de la izquierda forman el campo tag, seguidos de 13 bits para el campo del conjunto, seguido de 5 bits para el campo de la palabra:
Tag
Set
Word
5-22
Escritura/lectura en Cache
Cache Read Cache Write
Dato en cache ?
Dato en cache ?
Perfecto ! a CPU.
Load Through: Envo de la palabra a la vez que que a la cache -oEscribe en cache entonces enva a CPU
Write Through: Escribe datos en ambos cache y memoria principal, -oWrite Back: Escribe datos a cache solamente. Espero a la memoria princ. hasta que la cache se haya reemplazado (Flushed))
Write Allocate: Trae la lnea a cache y reemplaza -oWrite No-Allocate Actualiza unicamente memoria principal
5-23
5-24
- La cache de mapeo directo es de 16 palabras Cache x 4 segmentos, un hit time de 80 ns, y un miss (prdida) de 2500 ns. Se emplea load-through como poltica de reemplazo. La cache est inicialmente vaca.
1999 M. Murdocca and V. Heuring
5-25
5-26
Calculo del Hit Ratio and Tiempo efectivo de acceso para un Programa ejemplo
5-27
Cache slot
0 1 2 3 0 0 1 1 1 1 0 0 0 0 2 0 0 0 0 3 0 0 0 0
0 0 0 1 0 2 1
1 1 0 1
2 0 0 0
3 1 0 1
3 0 0 0 0 0, 2
0 0 0 1 0 1 1 0 1 0 2 0 0 0 0 3 1 1 1 0
Initial
0 0 0 1 1 1 1 0 1 1 2 0 0 0 1 3 0 0 0 0
Block accesses: 0
1 0 0 0 0 2 0 1 0 1 3 0 1 0 0
0 1 2 3
0 1 2 3
0 0 1 1 1
0 1 2 3 0 0 1 1 1 1 0 0 1 1 2 0 0 0 0 3 0 0 1 0
0 1 2 3
0, 2, 3
1999 M. Murdocca and V. Heuring
0, 2, 3, 1
0, 2, 3, 1, 5
0, 2, 3, 1, 5, 4
5-28
Overlays
Particin de un grafo para un programa principal y 3 subrutinas:
Compiled program Physical Memory
Main
Main Routine
Partition #0
Subroutine A
Partition #1
Subroutine B
Partition graph
Subroutine C
1999 M. Murdocca and V. Heuring
5-29
Memoria Virtual
La memoria virtual es almacenada en una imagen del disco duro. La memoria mantiene un pequeo nmero de pginas virtuales en bloque fsicos de memoria. Mapeo de memoria virtual en memoria fsica:
Virtual addresses Virtual memory 0 - 1023 1024 - 2047 2048 - 3071 3072 - 4095 4096 - 5119 5120 - 6143 6144 - 7167 7168 - 8191 Page 0 Page 1 Page 2 Page 3 Page 4 Page 5 Page 6 Page 7
1999 M. Murdocca and V. Heuring
Page frame 1 1024 - 2047 Page frame 2 2048 - 3071 Page frame 3 3072 - 4095
5-30
Tabla de Paginacin
La paginacin mapea una tabla entre la memoria virtual y la memoria fsica. Present bit Page frame Page # Disk address
0 1 01001011100 00 1 0 11101110010 xx 2 1 10110010111 01 3 0 00001001111 xx 4 1 01011100101 11 5 0 10100111001 xx 6 0 00110101100 xx 7 1 01010001011 10
1999 M. Murdocca and V. Heuring
5-31
100 1101000101
0 1 2 3 4
1 0 1 0 1
00 xx 01 xx 11 xx xx 10
Page table
1999 M. Murdocca and V. Heuring
5-32
Paginacin
(continuacin)
0 1 2 3 4
0 01001011100 xx 1 11101110010 00 0 10110010111 xx 0 00001001111 xx After fault on 0 01011100101 xx page #1 0 10100111001 xx 0 00110101100 xx 0 01010001011 xx
0 1 2 3 4 5 6 7
0 01001011100 xx 1 11101110010 00 1 10110010111 01 0 00001001111 xx After fault on 0 01011100101 xx page #2 0 10100111001 xx 0 00110101100 xx 0 01010001011 xx
un programa.
0 1 0 01001011100 xx 1 11101110010 00 1 10110010111 01 1 00001001111 10 After fault on 0 01011100101 xx page #3 0 10100111001 xx 0 00110101100 xx 0 01010001011 xx
Inicialmente est la tabla vaca. En el proceso de configuracin, 4 pags. estn en memoria fsica.
1999 M. Murdocca and V. Heuring
2 3 4 5 6 7
0 1 2 3 4 5 6 7
0 0 1 1 1
xx xx 01 10 Final 11 00 xx xx
5-33
Segmentacin
Un segmento de memoria permite a dos usuarios compartir la misma palabra de memoria en el cdigo, con diferente espacio de datos:
Address space for code segment of word processor Data space for user #0 Data space for user #1
5-34
Fragmentacin
(a) Free area of memory after initialization; (b) after fragmentation; (c) after coalescing.
Operating System Operating System Program A Free Area Program B Free Area Free Area Program C Free Area Free Area Dead Zone I/O Space (a) Dead Zone I/O Space (b) Operating System Program A Free Area Program B Free Area Program C Free Area Dead Zone I/O Space (c)
5-35
Valid 1 1 0 0 1 0 1 0
1999 M. Murdocca and V. Heuring
5-36
Decodificador 3-Variables
- Cuidado !! el tamao no es expandible debido a las cargas "fan-in" x linea. El aumento de una lnea duplica el tamao del decodificador.
a0 d0 d1 d2 a2 d3 d4 d5 d6 d7
1999 M. Murdocca and V. Heuring
a1
5-37
Decodificiador - 3 Variables
- Un rbol de decodificacin es necesario para gobernar grandes bloques. Se ajusta el "fan-out", de acuerdo a la profundidad de niveles.
Fan-out buffers
a0
d0 d1
a0
d0 d1
a1
d2 d3 d4 d5 d6 d7 (a)
a1
d2 d3 d4 d5 d6 d7 (b)
a2
a2
5-38
0___
1___
Level 0
00__ 01__ 10__ 11__
Level 1
000_ 001_ 010_ 011_ 100_ 101_ 110_ 111_
Level 2
Level 3
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1999 M. Murdocca and V. Heuring
5-39
Field2 A 0 7 4 E C 0 1
4 bits
Field3 9E F0 01 00 FE 6E 50 84
8 bits
5-40
Arquitectura CAM
Central Control Comparand
Cell 1
T1
Cell 2
T2
Cell 4095
1999 M. Murdocca and V. Heuring
T4095
Source: (Foster, C. C., Content Addressable Parallel Processors, Van Nostrand Reinhold Company, 1976.)
Mask
Cell 0
T0
5-41
5-42
20 A Address A0 A19 20 20 B Address B0 B19 WR Data In 220 Word 8 bits B RAM WR CS 8 Port B
CS
1999 M. Murdocca and V. Heuring
5-43
256