Академический Документы
Профессиональный Документы
Культура Документы
DE COMPUTADORES
PARALELISMO A NIVEL DE
INSTRUCCIN
ARQUITECTURA E INGENIERA DE
COMPUTADORES
TEMA2
NDICE (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Rendimiento de un procesador
TCPU = C x T
CPI = Nmero medio de ciclos por instruccin
I = Nmero de instrucciones por tarea
GRUPO DE ARQUITECTURA
DE COMPUTADORES
NDICE (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
10
GRUPO DE ARQUITECTURA
DE COMPUTADORES
11
Evolucin de la tecnologa de
memorias y empaquetamiento
GRUPO DE ARQUITECTURA
DE COMPUTADORES
12
GRUPO DE ARQUITECTURA
DE COMPUTADORES
13
GRUPO DE ARQUITECTURA
DE COMPUTADORES
En funcin del factor componente del rendimiento que se pretende reducir obtenemos
otras tantas soluciones arquitectnicas.
AEC: TEMA2
14
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
15
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
16
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
17
GRUPO DE ARQUITECTURA
DE COMPUTADORES
independientes entre s.
18
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Procesadores VLIW
El anlisis de dependencias en tiempo de compilacin
Muchas operaciones por instruccin ( IA64 packet, Tramsmeta molecula)
Todas las operaciones de una instruccin se ejecutan en paralelo
Instrucciones con muchos bits
Muchas operaciones vacas (NOP)
IP
Instruccin: Incluye varias instrucciones
convencionales de tres operandos
una por ALU
Bloque de registros,
3 puertas por ALU
AEC: TEMA2
19
GRUPO DE ARQUITECTURA
DE COMPUTADORES
asf
Clock =1/tc.
108 KHz.
Transistors.
Micras
2300
10
I4004
1971/11
I8080
I8086
1974/04
1978/06
2 MHz.
10 MHz.
6000
29000
6
3
I80286
I486DX
1982/02
1989/04
12 MHz.
25 MHz.
0.13 m.
1.2 m.
1.50
1
Intel DX2
Pentium
1992/03
1993/03
100 MHz.
60 MHz.
1.6 m
3.1 m
0.8
0.8
Pentium Pro
Pentium II
1995/11
1998/
200 MHz.
450 MHz
5.5 m
7.5 m.
0.35
0.25
Pentium III
P4
2000/01
2000/09
1000 MHz.
1400 MHz.
28 m.
42 m.
0.18
0.18
PEE (2cores)
Core Du o
2005/09
2006
3200 MHz
2160 Mhz
230 m.
152 m
0.09
0.65
Core 2 Duo
2007
2930 Mhz
192m
0,65
AEC: TEMA2
20
Microcesadores comerciales
(hace 5 aos)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
asf
AEC: TEMA2
21
Microcesadores comerciales
(2010)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
asf
AEC: TEMA2
22
NDICE (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
23
Objetivos:
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Estrategias:
Desenrollamiento de bucles
Software pipelining
Salto retardado
AEC: TEMA2
24
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
25
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Etapa ID :
Decodificacin de la instruccin
Acceso al fichero de registros
Etapa EX :
Etapa MEM :
Acceso a memoria
Modificacin PC
Etapa WB :
de carga (LOAD)
AEC: TEMA2
26
Revisin:Problemas de la
segmentacin -> dependencias (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Dependencias de datos
Ejecucin segmentada:
ADD R1,R2,R3
SUB R4,R5,R1
IF
--
---
ID EX MEM WB
Dependencias de control
IF ID EX MEM WB
IF ID EX MEM WB
IF
--
---
IF ID EX MEM WB
AEC: TEMA2
27
Revisin:Problemas de la
segmentacin -> dependencias (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
28
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
29
Planificacin software en la
segmentacin
GRUPO DE ARQUITECTURA
DE COMPUTADORES
(*)Latencia en ciclos : nmero de ciclos que debe ser detenida la instruccin destino en el caso de que la
instruccin lanzada a ejecutar en el ciclo anterior sea la instruccin que produce el resultado
Adicionalmente:
30
GRUPO DE ARQUITECTURA
DE COMPUTADORES
31
GRUPO DE ARQUITECTURA
DE COMPUTADORES
LD F0,0(R1)
=>
ADDD F4,F0,F2
=>
SD 0(R1),F4
=>
SUB R1,R1,#8
=>
Resta: R1 R1-8(byte)
BNEZ R1,LOOP
=>
AEC: TEMA2
32
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Loop:
LD
F0,0(R1)
detencin
ADDD F4,F0,F2
detencin
detencin
SD 0(R1),F4
SUB R1,R1,#8
BNEZ
R1,LOOP
detencin
33
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Loop:
LD
F0,0(R1)
detencin
ADDD F4,F0,F2
SUB R1,R1,#8
BNEZ R1,LOOP
SD 8(R1),F4
1
2
3
4
5
6
; salto retardado
; cambiado a causa del intercambio con SUB
34
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
35
Desenrollamiento de bucles
(loop unrolling)(I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
sobre el vector (LD,ADDD,SD) y 3 ciclos debidos a gastos del bucle (SUB,BNEZ y una detencin).
entre las ejecuciones de los saltos del bucle; esta tcnica recibe el nombre de desenrollamiento de bucles.
Loop
LD
F0,0(R1)
ADDD F4,F0,F2
SD
0(R1),F4
LD
F6,-8(R1)
ADDD F8,F6,F2
SD
-8(R1),F8
LD
F10,-16(R1)
ADDD F12,F10,F2
SD
LD
-16(R1),F12
F14,-24(R1)
ADDD F16,F14,F2
SD
-24(R1),F16
SUB
R1,R1,#32
BNEZ R1,LOOP
AEC: TEMA2
36
Desenrollamiento de bucles
(loop unrolling) (II)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
37
Desenrollamiento de bucles
(loop unrolling) (III)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Loop:
LD
F0,0(R1)
LD
F6,-8(R1)
LD
F10,-16(R1)
LD
F14,-24(R1)
ADDD F4,F0,F2
ADDD F8,F6,F2
ADDD F12,F10,F2
ADDD F16,F14,F2
SD
0(R1),F4
SD
-8(R1),F8
SD
-16(R1),F12
SUB
BNEZ R1,LOOP
SD
38
Desenrollamiento de bucles
(loop unrolling) (IV)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
39
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
40
Otra posibilidad para evitar las detenciones en un diseo superescalar consiste en dotar al
compilador de capacidades de optimizacin del cdigo a ser introducido en la CPU superescalar.
Para ilustrar este tipo de planificacin utilizamos el diseo superescalar siguiente:
IF
2)
ID
Decodificacin de la instruccin
3)
EX
Ejecucin de la instruccin
4)
5)
WB
Fetch de la instruccin
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Almacenamiento
Salto
Los ciclos de retardo entre instrucciones que pueden provocar conflictos siguen siendo los
mismos que los de los considerados en la tabla del comienzo de este apartado.
AEC: TEMA2
41
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
42
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
43
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Resumen:
AEC: TEMA2
44
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
45
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Sea un procesador VLIW capaz de emitir 2 referencias a memoria, 2 operaciones de punto flotante y
una operacin entera o de salto en cada ciclo de reloj.
Suponer los ciclos de detencin debidos a dependencias entre instrucciones de la tabla utilizada en
los casos anteriores.
Suponer que no existen huecos de retardo de salto.
La tabla muestra el bucle ejemplo utilizado utilizado en los casos anteriores desenrollado y planificado
para ejecutarse sin detenciones sobre la arquitectura VLIW propuesta.
AEC: TEMA2
46
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
47
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
48
Iteracin 4
Iteracin 5
Iteracin SW
Pipelened
49
Time
Loop Unrolled
Time
Software Pipelining
52
NDICE (I)
Rendimiento de un procesador
Planificacin esttica/software
Desenrollamiento de bucles
Segmentacin software
AEC: TEMA2
GRUPO DE ARQUITECTURA
DE COMPUTADORES
53
Deteccin y eliminacin de
dependencias (I)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Ejemplo 1:
for (i=1;i<=100;i=i+1){
A[i] = B[i] + C[i];
D[i] = A[i] * E[i];
}
54
Deteccin y eliminacin de
dependencias (II)
Ejemplo 2 :
Ejemplo 3 :
for (i=2;i<=100;i=i+1) {
Y[i] = Y[i-1] + Y[i]; }
GRUPO DE ARQUITECTURA
DE COMPUTADORES
for (i=6;i<=100;i=i+1) {
Y[i] = Y[i-5] + Y[i]; }
Distancia de dependencia 5.
A mayor distancia de dependencia ms paralelismo puede obtenerse
potencialmente en el bucle.
AEC: TEMA2
55
Deteccin y eliminacin de
dependencias (III)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
En general, los algoritmos de anlisis de dependencias asumen ndices de los arrays tipo afn:
Los ndices son de la forma a x i + b, donde a y b son constantes e i es la variable ndice del
lazo.
; m<=i<=n
existen dos ndices j y k dentro de los lmites del lazo: m<=j, k<=n para lo que
2)
el lazo almacena el elemento del array indexado por a x j + b y despus carga el mismo
elemento del array indexado por c x k + d tal que:
axj+b=cxk+d
AEC: TEMA2
56
Deteccin y eliminacin de
dependencias (IV)
GRUPO DE ARQUITECTURA
DE COMPUTADORES
/*divisin entera*/
57
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
58
Planificacin dinmica
superescalar:
emisin de instrucciones
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Tipos:
AEC: TEMA2
59
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
60
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
61
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
62
GRUPO DE ARQUITECTURA
DE COMPUTADORES
63
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2)
3)
Ejemplo:
I1 R3 := R3 op R5
I2 R4 := R3 + 1
I3 R3 := R5 + 1
I4 R7 := R3 op R4
64
GRUPO DE ARQUITECTURA
DE COMPUTADORES
En la emisin en orden
Solucin:
2.
Entre las instrucciones situadas en la ventana busca aquellas que puedan ser
ejecutadas sin problemas de dependecias respecto a otra en ejecucin.
3.
65
GRUPO DE ARQUITECTURA
DE COMPUTADORES
66
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Ejemplo:
I1 R3:= R3 op R5
I2
R4:= R3 + 1
I3
R3:= R5 + 1
I4
R7:= R3 op R4
AEC: TEMA2
67
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
68
GRUPO DE ARQUITECTURA
DE COMPUTADORES
dependencias de nombre:
Software (compilador)
69
GRUPO DE ARQUITECTURA
DE COMPUTADORES
F0,0(R1)
ADDD
F4,F0,F2
SD
0(R1),F4
LD
F0,-8(R1)
ADDD
F4,F0,F2
SD
-8(R1),F4
LD
F0,-16(R1)
ADDD
F4,F0,F2
SD
-16(R1),F4
SUBI
R1,R1,#24
BNEZ
R1,Loop
Las dependecias de nombre obligan a que las instrucciones del lazo se ejecuten
AEC: TEMA2
70
GRUPO DE ARQUITECTURA
DE COMPUTADORES
SOLUCIN: El renombre de registros utilizado en cada copia del cuerpo del lazo
F0,0(R1)
ADDD
F4,F0,F2
SD
0(R1),F4
LD
F6,-8(R1)
ADDD
F8,F6,F2
SD
-8(R1),F8
LD
F10,-16(R1)
ADDD
F12,F10,F2
SD
-16(R1),F12
SUBI
R1,R1,#24
BNEZ
R1,Loop
AEC: TEMA2
71
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
72
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Buffer de reordenamiento.
AEC: TEMA2
73
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
74
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2.
2.
3.
4.
75
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2.
3.
b)
b)
b)
76
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2.
3.
4.
5.
77
GRUPO DE ARQUITECTURA
DE COMPUTADORES
78
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
79
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Las direcciones de memoria son bastante grandes (en procesadores RISC una
direccin de memoria es tipicamente de 32 bits).
2.
3.
AEC: TEMA2
80
GRUPO DE ARQUITECTURA
DE COMPUTADORES
En el procesador superescalar (emisin fuera de orden con finalizacin fuera de orden) propuesto en
la seccin anterior:
Las cargas y almacenamientos pueden ser decodificados al mismo tiempo y colocados en sus
respectivas estaciones de reserva.
Slo una carga o almacenamiento es emitida por ciclo desde las estaciones de reserva a la cach
de datos utilizando un nico interfaz (dependencia de recursos por la utilizacin de la cach de
datos).
2.
3.
En caso de conflicto de un almacenamiento con una carga por el interfaz de la cach de datos:
El almacenamiento se realiza sobre un buffer de almacenamiento hasta poder ser
finalizado.
4.
5.
Emisin fuera de orden de una carga respecto a las instrucciones previas de almacenamiento:
se permite a las cargas sobrepasar (se emiten fuera de orden) a los almacenamientos
precedentes en espera en el buffer de almacenamiento y utilizar los datos cargados en
computaciones subsiguientes
AEC: TEMA2
81
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2.
AEC: TEMA2
82
GRUPO DE ARQUITECTURA
DE COMPUTADORES
STORE V
2.
ADD
3.
LOAD W
4.
LOAD X
5.
LOAD V
6.
ADD
7.
STORE W
Dependencia verdadera: 1 5
Antidependencia 3 ' 7: No da lugar a conflicto ya que las instrucciones store se
ejecutan slo cuando todas las instrucciones previas se hayan completado.
AEC: TEMA2
83
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
84
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
85
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
86
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
87
Reduccin de la penalizacin
de salto
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
88
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
89
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
90
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Salto no tomado
Salto tomado
AEC: TEMA2
91
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
92
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Idea: utilizacin de los ciclos de penalizacin de salto para introducir en el pipeline intrucciones
que pueden ser tiles posteriormente y que son independientes del resultado del salto.
AEC: TEMA2
93
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
94
GRUPO DE ARQUITECTURA
DE COMPUTADORES
95
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Primera columna: condiciones que deben cumplirse para rellenar el hueco de retardo
AEC: TEMA2
96
GRUPO DE ARQUITECTURA
DE COMPUTADORES
2.
AEC: TEMA2
97
GRUPO DE ARQUITECTURA
DE COMPUTADORES
El compilador puede utilizar sin problemas las polticas de planificacin (b) y (c), con lo
que cuenta con mayor nmero de instrucciones disponibles para rellenar el hueco de
retardo.
AEC: TEMA2
98
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Carga retardada
IF
ID
EXE MEM WB
IF
ID
EXE
MEM WB
el dato cargado
AEC: TEMA2
99
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
100
GRUPO DE ARQUITECTURA
DE COMPUTADORES
toma) en funcin de cmo se comport la ltima vez esa misma instruccin de salto.
Contiene un bit que informa sobre si el salto fue recientemente tomado o no:
Slo reduce el retardo de salto cuando ste es superior al tiempo de clculo de los posibles
destinos de salto: se calcula antes la direccin destino de salto que el test de salto.
Prediccin correcta: reduccin penalizacin de salto, y
mantenimiento del bit de prediccin.
AEC: TEMA2
101
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
102
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Funcionamiento:
Observacin:
AEC: TEMA2
103
GRUPO DE ARQUITECTURA
DE COMPUTADORES
predicha (es decir, utilizamos como prediccin la instruccin a la que salt por
ltima vez la actual instruccin de salto)
104
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
105
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
106
GRUPO DE ARQUITECTURA
DE COMPUTADORES
107
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
108
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
109
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Ejemplo representativo:
- Instruccin MOVE condicional (mueve un valor de un registro a otro si la condicin es cierta).
1. Cdigo fuente:
if (A=0) {S=T;}
110
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
111
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
112
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
113
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Especulacin (I)
Idea: Permitir la ejecucin de una instruccin antes de que el procesador sepa si esa
instruccin debe ejecutarse o si va a ser til al procesador finalmente.
Especulacin de control:
Especulacin de datos:
Mueve instrucciones load para ejecutarlas de forma previa a instrucciones store que
podran modificar la misma posicin de memoria que va a ser utilizada por el load.
Se hace un chequeo posterior para comprobar que la instruccin de load ejecutada de
forma especulativa ha proporcionado al procesador un dato vlido (que no ha habido una
instruccin store que debiera haber modificado previamente a la de load la misma posicin
de memoria).
AEC: TEMA2
114
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Especulacin (II)
AEC: TEMA2
115
NDICE (II)
Planificacin dinmica/hardware
GRUPO DE ARQUITECTURA
DE COMPUTADORES
Renombre de registros
Especulacin
AEC: TEMA2
116
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AMD Athlon
Profundidad de la segmentacin:
AEC: TEMA2
117
GRUPO DE ARQUITECTURA
DE COMPUTADORES
AEC: TEMA2
118