grado en ingenierÍa de computadores - uahatc2.aut.uah.es/~frutos/areinco/pdf/vliw_super.pdf1 prof....
TRANSCRIPT
-
1
Prof. Dr. José Antonio de Frutos Redondo Curso 2013-2014
GRADO EN INGENIERÍA DE COMPUTADORES Arquitectura e Ingeniería de Computadores
Departamento de Automática Computadores VLIW Computadores superescalares
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 2
Computadores VLIW y superescalares
n Aplicación del paralelismo a nivel de instrucción. n VLIW
n Itanium n Computadores superescalares
n Decodificación paralela. n Emisión superescalar de instrucciones.
-
2
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 3
n Clases de maquinas ILP:
Computadores VLIW y superescalares
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 4
n VLIW y Superescalares
Register file
Cache/memory Fetchunit
EU EU EU
Single multi-operation instruction
Multi-op.instruction
EU EU EU
Register file
Cache/memory
Fetchunit
Decode/issueunit
Sequential streamof instructions
Multipleinstructions
VLIW approach Superscalar approach
EU : execution unit
instruction/controldata
Computadores VLIW y superescalares
-
3
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 5
VLIW
n Características n La longitud de instrucción depende del número de unidades de
ejecución disponibles y la longitud de código necesario para cada unidad (entre 100 bits y 1 Kbit).
n El paralelismo en las instrucciones es fijado en la compilación. Se incluye en las instrucciones-máquina.
n El procesador ejecuta en paralelo lo que se le indica en la instrucción .
n Requiere circuitos menos complejos (mayores velocidades de reloj).
n El compilador tiene mucho más tiempo para determinar las posibles operaciones paralelas.
n El compilador ve el programa completo.
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 6
n Dificultades n Compiladores complejos y muy dependientes de la arquitectura
de la máquina. n Modificaciones en la tecnología o en la arquitectura de la
máquina exigen n Un nuevo compilador. n En muchos casos, recompilación de las aplicaciones.
n Cuando no se pueden llenar todos los espacios en las instrucciones se desaprovecha la memoria y el ancho de banda de ésta.
n En el proceso de paralelización el compilador debe siempre considerar el caso peor, lo que puede reducir el rendimiento. Por ejemplo, en los accesos a cache siempre debería considerar la posibilidad de fallo.
VLIW
-
4
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 7
Itanium
n VLIW microprocesador n Intel & HP hablan de
EPIC ( Explicit Parallel Instruction Computing)
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 8
n Mazo de 128 bits n Contiene tres instrucciones más la plantilla. n Se pueden buscar uno o más mazos al mismo tiempo. n La plantilla contiene información acerca de qué
instrucciones se pueden ejecutar en paralelo. n No está limitado a un solo mazo; por ejemplo, se
pueden ejecutar hasta 8 instrucciones en paralelo. n El compilador reordenará instrucciones para formar
mazos contiguos. n Se pueden mezclar instrucciones dependientes e
independientes en el mismo mazo. n La longitud de cada instrucción es de 41 bits.
Itanium
-
5
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 9
Itanium
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 10
Computadores superescalares y supersegmentados
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
f d e m
1 2 3 4 5 6 7 98
SUPERSEGMENTADO
SEGMENTADO
SUPERESCALAR
Computadores Superescalares
-
6
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 11
F1
F2
F3
d1
d2
d3
m1 m2 m3
a1 a2
e1
e2
S1
S2
Etapa de busqueda
Etapa de decodificación
Etapa de ejecución
Etapa de almacenamiento
de la cachede datos
de la cachede instrucciones
ventana de anticipación
multiplicación
suma
op. lógicas
op. de carga
Computadores Superescalares
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 12
n Tareas específicas del procesamiento superescalar. n Decodificación paralela. n Emisión superescalar de instrucciones.
n Ejecución paralela de instrucciones. n Mantener la consistencia de la ejecución secuencial
n Permitir la finalización de instrucciones fuera de orden. n Obligar a las instrucciones a finalizar en orden (buffer de
reordenación ROB). n Mantener la consistencia del procesamiento secuencial de
excepciones n Interrupciones precisas.
n Interrupciones imprecisas.
Computadores Superescalares
-
7
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 13
Decodificación paralela
n Mayor complejidad que en segmentados. n Capturar y decodificar más instrucciones en un ciclo. n Búsqueda de dependencias entre las capturadas. n Búsqueda de dependencias entre las capturadas y las que
están en ejecución (mayor número en ambas que en el segmentado).
n Esta complejidad hace que los computadores superescalares tiendan a usar dos e incluso tres ciclos para la decodificación (PowerPC 601, PowerPC604 y UltraSparc usan 2 ciclos; Alfa 21064 usa 3 ciclos; PentiumPro puede necesitar hasta 4.5 ciclos).
n Una camino para tratar este problema consiste en la predecodificación.
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 14
Icache
Superscalar issue
DF . . .I
Decode / IssueDecode / Issue
Scalar issue
Typical FX-pipeline layout D/IF . . .
Icache
Instructionbuffer
Instructionbuffer
Decodificación paralela
-
8
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 15
n Predecodificación
Second-level cache(or memory)
Predecodeunit
Icache
Typically 128 bits/cycle
When instructions are written into the Icache,the predecode unit appends 4-7 bits to eachRISC instruction
E.g. 148 bits/cycle 1
In the AMD K5, which is an x86-compatible CISC-processor,the predecode unit appends 5 bits to each byte
1
Decodificación paralela
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 16
n Los bits añadidos en la fase de predecodificación indican:
n La clase de instrucción. n El tipo de recursos que necesita para su ejecución. n En algunos procesadores indican también que la dirección de
destino de un salto ha sido ya calculada en la fase de predecodificación.
Decodificación paralela
-
9
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 17
Emisión superescalar de instrucciones
n Política de emisión: cómo se tratan las dependencias durante el proceso de emisión. n Tratamiento de las falsas dependencias.
n No se actúa en este sentido. n Renombramiento de registros.
n Tratamiento de las dependencias de control. n Esperar a que se resuelvan. n Ejecución especulativa.
n Uso de shelving. n Manejo de los bloqueos en la emisión.
n Orden de emisión. n Alineación en la emisión.
n Velocidad de emisión: máximo numero de instrucciones que se pueden emitir en un ciclo.
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 18
n Emisión de instrucciones con bloqueo (sin usar shelving)
Decode/check/issue
EUEUEU
Icache
I-bufferIssue window (n)
Dependent instructions block
Issue
instruction issue.
n
Emisión superescalar de instrucciones
-
10
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 19
n Uso de shelving
Decode/issue(Without dep. check)
Shelvingbuffer
Shelvingbuffer
Instructions wait here untildependencies are resolved.
Instructions are checkedfor dependencies.A not-dependentinstruction is forwardedto the associated EUs.
Issue
Dispatch
will be despitedependencies to shelving buffers
issued
I-buffer
EU
Dispatch(+Dependency check)
EU
Dispatch(+Dependency check)
constraints, instructionsIn the absence of hardware
Emisión superescalar de instrucciones
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 20
n Emisión de instrucciones en orden y en desorden.
Emisión superescalar de instrucciones
-
11
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 21
n Alineación en la emisión de instrucciones
Emisión superescalar de instrucciones
© J. A. de Frutos Redondo 2013
Arq
uite
ctur
a e
Inge
nier
ía d
e C
ompu
tado
res
VLIW y superescalares 22
Emisión alineada Emisión no alineada
Emisión superescalar de instrucciones