Story Transcript
¿Cuál es la frecuencia de acceso de una memoria de acceso aleatorio con un tiempo de acceso de 80 nseg. y un tiempo de ciclo de 100 nseg.?. fA
1 tC
tC
1 107 Hz 100 10 9 seg
tA Petición de lectura
Información disponible
Información restaurada
Se pretende diseñar un módulo de memoria de 256 palabras de 4 bits. Calcule el número tamaño de los decodificadores con organización: a) 2D. b) 2½D. a)
b)
8
8
Matriz de celdas 28 x 4
Decodificador 8 2 8 a 256
4
Decodificador 4 a 16
dirección
dirección
24 4 SC
4 4
control
Decodificador 4 a 16
Matriz de celdas 28 x 4
24
R/W ' 4 Dato de entrada
4
4
Dato de salida
SC
4 control
R/W ' 4 Dato de entrada
Arquitectura de Computadoras
1
4 Dato de salida
Ejercicios de Memoria RAM
Una de las situaciones más frecuentes con que se encuentra el ingeniero de sistemas digitales es esta: debe diseñar un sistema con unos requerimientos concretos; y los elementos con que cuenta no se ajustan a dichos requerimientos. Si la funcionalidad de los elementos disponibles fuera superior a la requerida, no habría ninguna dificultad añadida en el diseño. El único inconveniente sería estar infrautilizando unos elementos para unas funciones menos complejas de lo que serían capaces de realizar. Si esta funcionalidad es menor, debe estudiar cómo acoplar varios elementos de un mismo tipo para obtener un elemento con mayores capacidades. Se dispone de circuitos integrados de memoria RAM de 256x4 bits. ¿Cuántos son necesarios para proporcionar una capacidad de memoria de 2048 palabras de 16 bits?. Estructura de la memoria principal requerida: Bus de direcciones 11 R/W'
11
2 palabras de 24 bits SC
16
Estructura de los circuitos integrados disponibles:
Bus de datos
28 palabras de 22 bits SC
Bus de direcciones 8 R/W '
4
Bus de datos
Comenzaremos planteando estas dos ecuaciones: 1) MP (Nº de palabras en Memoria Principal ) Nº de filas *
211 Nº de filas *
Nº de palabras por circuito integrado
28 palabras 211 Nº de filas 23 8 por circuito integrado 2
2) Longitud de palabra en Memoria Principal Nº de columnas *
2 4bits Nº de columnas *
2 2 bits en circuito integrado
A10 A9 A8 A7 A6 A5 A4 A3 A2 A1A0 11
Nº de columnas
24 22 22
A7 A6 A5 A4 A3 A2 A1A0
7
Bus de direcciones
8 3
256x4
R/W' 8
8 D E C O D I F I C A D O R 3a8
8
8
8
R/W'
8
4
4
8 R/W' 8
8
SC
8
4
SC
8 8
R/W'
4
8
8
4
8
8
8
4
SC 8
8 R/W'
4
4
8
SC
SC
256x4
SC
8
SC 8
SC
SC
256x4
R/W' 4
4
256x4 4
8
R/W'
256x4 4
4
SC
R/W' 4
4
SC
256x4
8
4
SC
256x4
8
4
SC
256x4
R/W'
256x4 4
256x4
8
R/W'
SC
R/W'
256x4
R/W'
SC
256x4
8
R/W'
SC
256x4
R/W' 4
SC
256x4
R/W' 4
4
256x4 4
R/W'
SC
256x4
8
R/W'
SC
256x4
R/W' 4
4
SC
256x4
R/W'
SC
256x4
256x4
256x4
R/W'
SC
R/W' 4
4
SC
256x4
8
R/W'
SC
256x4
R/W'
4
SC
256x4
R/W'
SC
256x4
R/W' 8
8
SC
256x4
R/W' 8
4
256x4 4
R/W'
256x4
R/W'
SC
256x4
R/W'
8
SC
256x4
R/W'
4
SC
256x4
R/W'
A10 A9 A8
Longitud de palabra en circuito integrado
8
SC
256x4
R/W'
4
SC
4 8
Bus de datos
16 Por no recargar el diagrama, no se han detallado las conexiones de las patillas R/ W . La selección de función debe ser la misma para todos los CIs. Por este motivo, todas las patillas R/ W deben estar conectadas a una línea común. Esta línea es parte del Bus de Control.
Arquitectura de Computadoras
2
Ejercicios de Memoria RAM
Sea un procesador que dispone de 12 líneas de direcciones A11-A0. Para la construcción de su unidad de memoria se dispone de módulos de 2K palabras, utilizándose la línea A1 para la selección de cada módulo (A0 es la línea menos significativa). ¿En qué módulos residirán las direcciones hexadecimales C89 y C8A?. MP (Nº de palabras en Memoria Principal ) Nº de filas *
Nº de palabras por circuito integrado
11 2 palabras
212 210 Nº de filas * Nº de filas 21 2 11 por circuito integrado 2
Bus de direcciones A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A0
211 palabras
11 A1
SC
DECODIFICADOR 1a2
R/W '
211 palabras
11
SC
R/W '
Bus de datos
Las sucesivas direcciones se distribuyen entre ambos módulos de esta forma: Dirección dentro del módulo módulo 0
1
0
0000 0000 0000 (0)
0000 0000 0010 (2)
1
0000 0000 0001 (1)
0000 0000 0011 (3)
2
0000 0000 0100 (4)
0000 0000 0110 (6)
3
0000 0000 0101 (5)
0000 0000 0111 (7)
4
0000 0000 1000 (8)
0000 0000 1010 (A)
5
0000 0000 1001 (9)
0000 0000 1011 (B)
...
...
...
1100 1000 100b
...
1100 1000 1010 (C8A)
1100 1000 101b
1100 1000 1001 (C89)
...
...
...
...
Por tanto la dirección C89 va al módulo 0 y la C8A va al módulo 1
Arquitectura de Computadoras
3
Ejercicios de Memoria RAM
Sea una memoria entrelazada de orden inferior con 6 módulos de 7 bytes cada uno y con latches en la salida. El procesador emite la siguiente secuencia de direcciones físicas (en base 10): 31, 17, 3, 13 y 34. ¿Cuántos ciclos de memoria son necesarios para completar dicha secuencia?. DF
31 17 3 13 34
Módulo
1
5 3
1
4
Dirección
5
2 0
2
5
31 1
6 5
17 5
6 2
3 3
6 0
13 1
6 2
34 4
6 5
Latches en la salida con acceso simultáneo a los módulos. Módulo 0
latch
Módulo 1
latch
Módulo 5
módulo
mux
latch
2
5
5
4 0
3 2
0/2
1
5
T
2
t = 1/4 T
0 31
17
3
13
34
t
1 21 T =5 T T = T =5.25 T 4 4 Son necesarios 5 ciclos de acceso a memoria, uno para cada módulo Cuando existen algunas direcciones iguales correspondientes a diferentes módulos, nos ahorramos algún ciclo. Existen dos direcciones iguales correspondientes a diferentes módulos: la 17 y la 13.
Arquitectura de Computadoras
4
Ejercicios de Memoria RAM
Sea una memoria principal compuesta por 6 módulos de 4 palabras por módulo. El procesador emite la siguiente secuencia de direcciones físicas (todas son peticiones de lectura): 09, 12, 15, 18 y 21. Calcule el número de palabras por ciclo que se pueden leer: a) Con entrelazamiento de orden superior. b) Con entrelazamiento de orden inferior.
a)
Entrelazado de orden superior.
Distribuimos en cada módulo i; 0 i M-1, todas las direcciones consecutivas entre i · 2n-m e (i+1) · 2n-m-1 Los m bits más significativos de cada dirección indican el módulo y los restantes n-m determinan la posición. 00
04
08
12
16
20
01
05
09
13
17
21
02
06
10
14
18
22
03
07
11
15
19
23
Módulo de la forma 0 i M-1 y dirección K·M+i
00
01
02
03
04
05
Si los cerrojos están a la salida, el proceso debe ser:
06
07
08
09
10
11
Ciclo 1º. 9 Ciclo 2º. 12, 15 Ciclo 3º. 18, 21 (iguales a las direcciones dentro de cada módulo)
12
13
14
15
16
17
18
19
20
21
22
23
Ciclo 1º.
9, 12
Ciclo 2º.
15, 18, 21
b)
Entrelazado de orden inferior.
Si los cerrojos Ciclo 1º. Ciclo 2º. Ciclo 3º.
están a la entrada, el proceso también puede ser: 9, 12 15, 18 21
Arquitectura de Computadoras
5
Ejercicios de Memoria RAM
Sea un sistema con una memoria principal compuesta por cuatro módulos de ocho bytes cada uno, mediante un esquema de entrelazamiento de orden inferior. El procesador emite la siguiente secuencia de direcciones físicas: 8, 10, 13, 13, 5, 7, 6 y 16. Supongamos los dos siguientes casos: i. Latches en la salida. ii. Latches en la entrada. Construya el diagrama de tiempos de acceso a los módulos, analizando en cuál de los dos casos es más rápida la respuesta de la memoria con dicha secuencia. En el entrelazamiento de orden inferior los módulos consecutivos tienen direcciones de palabras consecutivas. Los m bits menos significativos se usan para seleccionar el módulo. El resto, la dirección. dirección módulo 8 10 13 13 5 7 6 16
i.
010 010 011 011 001 001 001 100
00 10 01 01 01 11 10 00
0 2 1 1 1 3 2 0
T t = 1/4 T
Con Latches en la salida. Módulo 0
latch
Módulo 1
latch
Módulo 2
latch
Módulo 3
latch
mux
¿Podrían estas dos posiciones ser accedidas en el mismo ciclo? 3 2
módulo
7
10
6 13
1 0
13
En general no. Podría suceder que el primer acceso sea para lectura y el segundo para escritura.
5
16
8 8 10
13
5 7 6
13
16 t
Tiempo = ii.
1 21 T 1 t=5 T T = T =5.2 T 4 4
Con Latches en la entrada.
3
Módulo 0
latch
Módulo 1
latch
Módulo 2
latch
Módulo 3
módulo
mux
7 6
10
2
13
1 0
latch
13
5
8
16 8 10 13
13
5 7 6 16 t
Tiempo =
2 18 4 T 2 t=4 T T = T =4.5 T 4 4
La estrategia más rápida es la de latches en la entrada.
Arquitectura de Computadoras
6
Ejercicios de Memoria RAM
Sea un sistema con una memoria principal de 1 Kbyte dividida en ocho módulos iguales mediante un esquema de entrelazamiento de orden inferior. Suponga que: ✔ La salida de un dato del sistema de memoria consume 1 unidad temporal. ✔ El acceso a un módulo consume 6 unidades temporales. El procesador emite la siguiente secuencia de direcciones físicas: 0, 1, 2, 7, 8, 9, 10, 255, 256, 120, 121, 122, 615, 616, 1001, 1002, 3, 4 y 5. Construya el diagrama de tiempos de acceso a los módulos en los dos siguientes casos: i. Latches en la salida. ii. Latches en la entrada. 210 =27 33
Direcciones en cada módulo:
, es decir, 7 bits para la posición dentro del módulo.
Dirección física Dirección Módulo Dirección Módulo 0 1 2 7
i.
0000000 0000000 0000000 0000000
000 001 010 111
0 0 0 0
0 1 2 7
8 0000001 9 0000001 10 0000001
000 001 010
1 1 1
0 1 2
255 0011111
111
31
7
256 0100000
000
32
0
120 0001111 121 0001111 122 0001111
000 010 010
15 15 15
0 1 2
615 1001100
111
76
7
616 1001101
000
77
0
1001 1111101 1002 1111101
001 010
125 125
1 2
3 0000000 4 0000000 5 0000000
011 100 101
0 0 0
3 4 5
número de módulo
posición dentro del módulo
Latches en la salida. Gestión a la entrada: en la entrada se selecciona una dirección de entre los diferentes módulos. Módulo 0
latch
Módulo 1
latch
Módulo 7
7
9 8 7 6 5 4 3 2 1 0
módulo 0
mux
latch
31
76
6 0
5
0
4
0
3 2
0
1
15
125
1
0
1
15
125
0
0
1
32
0 1 2 7 6
8 9 10 12
15
255
18
77
256
615
24
30 120
121
36
3 4 5
616
42
48
122 1001
54 t 1002
Uno por cada módulo leído en la anterior etapa
El acceso a los módulos es simultáneo. Tiempo = 9 T + 3 t = 9 · 6 u + 3 u = 57 unidades de tiempo.
Arquitectura de Computadoras
7
Ejercicios de Memoria RAM
ii.
Latches en la entrada. latch
Módulo 0
latch
Módulo 1
módulo
0
7
mux
latch
Módulo 7
31
76
6 0
5 0
4 0
3 0
2 0
1 0
15
1 1
0
15
1
77
256
8 9 10255 12
125
15
32
0 1 2 7 6
125
18
615
24
30 120
121
616
3 4 5
36 122
42 1001
t
1002
El acceso a los módulos es retardado. Tiempo = 6 T = 6 · 6 u = 367 unidades de tiempo.
Arquitectura de Computadoras
8
Ejercicios de Memoria RAM
Considere dos sistemas A y B cuya memoria principal está dividida en 16 módulos idénticos y entrelazados según el esquema de orden inferior. Cada sistema posee 16 cerrojos. En el sistema A están colocados en los buses de direcciones de los módulos. En el sistema B están colocados en los buses de datos (uno en cada bus). Ponga ejemplos de tres secuencias de peticiones de acceso a memoria de tal manera que el número de palabras accedidas por ciclo de memoria sea: a) Mayor en A que en B. b) Igual en A que en B. c) Menor en A que en B. Sistema B
Sistema A latch
Módulo 0
latch
Módulo 1
latch
mux
Módulo 0
latch
Módulo 1
latch
Módulo 15
Módulo 15
mux
latch
El acceso a varias palabras en cada ciclo está permitido si: Sistema A: Las palabras están en módulos diferentes, en cualquier posición. Sistema B: Las palabras están en módulos diferentes, en la misma posición. a)
A>B: 0, 3, 6, 9, 12, 15, 18, 21, ...
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
b)
A = B: 0, 1, 2, 3, 4, 5, 6, 7, ... o también, por ejemplo: 0, 16, 32, 48, 64, ...
00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
c)
A < B: No es posible.
Arquitectura de Computadoras
9
Ejercicios de Memoria RAM
Sea un sistema con una memoria principal de 1 Kbyte compuesta por ocho módulosiguales. El procesador emite la siguiente secuencia de direcciones físicas: 0, 1, 2, 6, 12, 15, 20, 148, 300, 20, 29 y 22. Trace el diagrama de tiempos de acceso a los módulos en cada uno de los tres casos siguientes: i. Esquema de entrelazamiento de orden superior. ii. Esquema de entrelazamiento de orden inferior con latches en la salida. iii. Esquema de entrelazamiento de orden inferior con latches en la entrada. 210 bytes bytes =27 módulo 23 módulos
i.
DF Módulo=
⇒
7 bits por palabra
0 1 2 6 12 15 20 148 300 20 29 22 DF 27
0 0 0 0
Dirección
0
1
0 1 2 6 12 15 20
0
0
20
2
0
0
0
6 6
44 20 25 22
128 0
148 20
128 1
300 44
128 2
Se da el caso de que hay diferentes módulos con iguales direcciones. Tiempo = 7 ciclos de reloj. 128
0
256 Módulo 1
Módulo 0 255
127
384 Módulo 2
383
Módulo 3
4, 5, 6
511
892 Módulo 7 1024
10 direcciones dentro del mismo módulo 10 ciclos de memoria. ii. Entrelazamiento de orden inferior con latches en la salida. Existe el riesgo de un conflicto de memoria por intentar acceder a módulos iguales. DF Módulo=
0 1 2 6 12 15 20 148 300 20 29 22 DF 23
Dirección 2 2
8 0
6 6
0 0 0 0
1
1
2
18
37
2
3
2
0 1 2 6
4
7
4
4
4
4
5
6
8 0
12 4
8 1
15 7
8 1
20 4
8 2
148 68 4
8 18
300 60 4
8 37
20 4
8 2
29 5
8 3
22 6
8 2
Se da el caso de que hay módulos distintos con las mismas direcciones. módulo 7 6
1/15
0/6
2/22 3/29
5 2/20
1/13
4
18/148
37/300
2/20
3 2
0/2
1
0/1
0
0/0
T
2T
4T
6T
8T
t
Tiempo=8T. 8 ciclos de memoria.
Arquitectura de Computadoras
10
Ejercicios de Memoria RAM
iii.
Entrelazamiento de orden inferior con latches en la entrada.
Siempre direcciones diferentes con módulos diferentes. Puede ocurrir un conflicto de memoria por intentar acceder a módulos iguales. DF
0 1 2 6 12 15 20 148 300 20 29 22
Dirección
0 0 0 0
1
1
2
18
37
2
3
2
Módulo
0 1 2 6
4
7
4
4
4
4
5
6
módulo 7
1 2
0
6
3
5 2
1
4
18
37
2
3 0
2 0
1 0
0
0 1 2 6 T Tiempo =
20
12 15 2T
148
300
4T
20 29 22 6T
t
3 27 6T 3 t=6T T = T =6.75 T 4 4
Orden inferior Dirección física 0 1 2 6 12 15 20 148 300 20 29 22
Dirección 000 000 000 000 000 000 000 001 010 000 000 000 Módulo
Módulo
0000 0000 0000 0000 0001 0001 0010 0010 0101 0010 0011 0010
000 001 010 110 100 111 100 100 100 100 101 110
Dirección
Orden superior
Arquitectura de Computadoras
11
Ejercicios de Memoria RAM