ILP

35
> ARQUITECTURA DE COMPUTADORES 1 INSTRUCTION-LEVEL PARALLELISM PROCESSING History and overview (B. RAMAKRISHNA RAU AND JOSEPH A.FISHER)

description

> ARQUITECTURA DE COMPUTADORES 1INSTRUCTION-LEVEL PARALLELISM PROCESSING History and overview(B. RAMAKRISHNA RAU AND JOSEPH A.FISHER)1. Introducción 2. Historia ILP 3. Arquitecturas ILP 3.1. Arquitectura Secuencial 3.2. Arquitectura Dependiente 3.3. Arquitectura Independiente 4. Técnicas hardware para soportar la ejecución IPL 5. Conclusiones

Transcript of ILP

Page 1: ILP

> ARQUITECTURA DE COMPUTADORES 1

INSTRUCTION-LEVEL PARALLELISM PROCESSING History and overview(B. RAMAKRISHNA RAU AND JOSEPH A.FISHER)

Page 2: ILP

1. Introducción2. Historia ILP3. Arquitecturas ILP

3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución IPL

5. Conclusiones

ÍNDICE > ÍNDICE

ILP: HISTORY AND OVERVIEW

ARQUITECTURA DE COMPUTADORES 1

Page 3: ILP

Técnica de diseño del procesador que permite la superposición de las operaciones individuales de la máquina.

Múltiples operaciones ejecutándose en paralelo.

Objetivo: Aumentar la rapidez de ejecución

Ejemplos:

load R1 R2 add R3 R3, “1”

add R3 R3, “1” add R4 R3, R2

add R4 R4, R2 store [R4] R0

> INTRODUCCIÓNARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 1

1.Introducción2. Historia ILP3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Page 4: ILP

> INTRODUCCIÓN

Ejecución simple de un procesador ILP

Functional UnitOperations Performed

Latency

Integer Unit 1

Integer ALU OperationsInteger multiplicationLoadsStores

1221

Integer Unit 2 / Branch Unit

Integer ALU OperationsInteger multiplicationLoadsStoresTest-and-branch

12211

Floating-point Unit 1Floating-point Unit 2

Floating-point operations

3

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 2

1.Introducción2. Historia ILP3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Page 5: ILP

Ejecución secuencial vs procesador ILP

Ejecución secuencial Total: 37 ciclos

ILP: HISTORY AND OVERVIEW >> 3

> INTRODUCCIÓNARQUITECTURA DE COMPUTADORES 1

1.Introducción2. Historia ILP3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Page 6: ILP

> HISTORIA ILP

1940 1970El paralelismo a nivelde instrucción es considerado porlos diseñadores de máquinas1

94

0

Paralelismo (microcódigohorizontal) es usado enPilot ACE

19

46

Wilkes and Stringer:

“In some cases it may be possible fortwo or more micro-operations to takeplace at the sametime”

19

53

Equipos transistores:

-Más salidas para una CPU de propósito general.- ILP como lenguaje máquina.1

96

0

Control Data Corporation da luz al CDC 6600

- 10 unidades funcionales- Cualquier unidad puede comenzar la ejecución en un ciclo incluso si otras unidades procesaban datos de otras operaciones.

19

63

IBM delibera el 360/91

- Menos unidades funcionales que CDC 6600- Más agresivo en su intento de reorganizar el flujo de instrucciones para mantener las unidades funcionales ocupadas.

19

67

ILP: HISTORY AND OVERVIEW >> 4

ARQUITECTURA DE COMPUTADORES 1

Page 7: ILP

> HISTORIA ILP

ILP: HISTORY AND OVERVIEW >> 5

ARQUITECTURA DE COMPUTADORES 1

1970 2000Equipos especializados en procesamiento de señales.- Microcódigo Horizontal- Otros algoritmos.

19

70

Diferencia mínima de velocidad entre escritura y lectura en memoria.

Desaparecen ventajas del almacenamiento de control de lectura.

19

80

Microprocesadores de propósito general toman el concepto de las RISC

19

82

Procesadores especializados de control de escritura dando a los usuarios acceso a ILP. Very Long Instruction Word (VLIW)

19

83

Más silicio del necesario en implementaciones de microprocesadores RISC1

99

0

Todos los diseños prácticamente deciden tomar las ventajas del ILP. Principalmente a su capacidad superescalar.1

99

5

Page 8: ILP

CLASIFICACIÓN:

Arquitecturas Secuenciales: El programa no espera transmitir ninguna

información explícita sobre el paralelismo.

Arquitecturas DependientesEl programa indica de manera explícita las

dependencias entre las operaciones.

Arquitecturas IndependientesEl programa proporciona información sobre qué

operaciones son independientes unas de otras.

> ARQUITECTURAS ILPARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 6

1. Introducción2. Historia ILP

3.Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Page 9: ILP

> ARQUITECTURAS ILPARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 7

1. Introducción2. Historia ILP

3.Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Se deben determinar las siguientes funciones entre el compilador y el tiempo de ejecución del hardware:

Las dependencias entre operaciones.

Las operaciones que son independientes de cualquier otra operación que aún no se ha completado.

Se deben programar las operaciones independientes para ejecutarse en un momento determinado, en alguna unidad funcional específica, y asignarle un registro que puede ser el resultado.

Page 10: ILP

> ARQUITECTURAS ILPARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 8

Responsabilidades entre el compilador y el hardware para las tres arquitecturas

1. Introducción2. Historia ILP

3.Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Page 11: ILP

> ARQUITECTURA SECUENCIALARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 9

1. Introducción2. Historia ILP

3. Arquitecturas ILP

3.1. Arquitectura

Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

El programa no contiene información explícita sobre las dependencias que existen entre las instrucciones.

Estas dependencias deben ser determinadas por el hardware.

Solo para determinar las dependencias de forma secuencial con las instrucciones anteriores que han sido emitidas pero aún no terminaron todavía

Compilador puede reorganizar las instrucciones para facilitar al hardware el paralelismo.

Page 12: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 10

1. Introducción2. Historia ILP

3. Arquitecturas ILP

3.1. Arquitectura

Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Procesador superescalar es una implementación representativa ILP de este tipo de arquitectura.

Para todas las instrucciones emitidas por un procesador superescalar, el hardware debe comprobar si los operandos interfieren con los operandos de otras operaciones.

Ya en ejecución Han sido emitidos pero se esperan para la

realización de las instrucciones de interferencia que se han ejecutado anteriormente.

Se ejecutada simultáneamente, cuando debía haber sido ejecutada anteriormente.

> EJEMPLO – Superscalar processors

Page 13: ILP

> EJEMPLO – Superscalar processorsARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 11

1. Introducción2. Historia ILP

3. Arquitecturas ILP

3.1. Arquitectura

Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Procesadores superescalares intentan emitir muchas instrucciones por ciclo.

Sin embargo, las dependencias esenciales son especificadas como secuenciales y deben ser procesadas en orden secuencial.

Supondrían un rendimiento muy costoso de mantener.

Alternativa para las múltiples instrucciones por ciclos está en la segmentación y emitir las instrucciones más rápido.

Page 14: ILP

> ARQUITECTURA DEPENDIENTEARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 12

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial

3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

En este tipo de arquitectura:

1. El compilador(programa) identifica el paralelismo entre instrucciones y lo comunica al hardware (especificando las dependencias entre las operaciones)

2. El hardware debe entonces determinar en tiempo de ejecución cuando cada operación es independiente de las demás, y realiza la programación

No hay análisis del programa secuencial en el orden original para determinar las dependencias.

Page 15: ILP

> EJEMPLO - Dataflow processorsARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 13

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial

3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Los procesadores de flujo de datos son un ejemplo de este tipo de arquitectura. (Dataflow Processors)

El objetivo es ejecutar la instrucción tan pronto como sea posible (sujetas a la disponibilidad de los operandos de entrada y unidades funcionales)

Para ello cuenta con el programa que proporciona información sobre las dependencias entre las instrucciones.

Se logra incluyendo en cada instrucción una lista instrucciones sucesoras

Page 16: ILP

> EJEMPLO - Dataflow processorsARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 14

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial

3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Cuando una instrucción se completa, se crea una copia de su resultado para cada sucesora. En cuanto todos los operandos de entrada de una instrucción están disponibles, el equipo recupera la instrucción que especifica la operación a realizar y la lista de sucesoras.

Las instrucciones son ejecutadas tan pronto como la unidad funcional esta disponible.

Actualmente existen pocos procesadores de flujo de datos.

Page 17: ILP

> VENTAJAS E INCONVENIENTES - Dataflow proc.ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 15

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial

3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP5. Conclusiones

Estos procesadores usan paralelismo de control solo para utilizar plenamente el FU.

Tienen mas éxito que otros al mirar mas lejos en el camino de ejecución del programa para encontrar el paralelismo de control

Cuando tiene éxito es mejor que la ejecución especulativa:

Cada instrucción que se ejecuta es útil.

El procesador no tiene que hacer frente a las condiciones de error debido a operaciones especulativas.

Page 18: ILP

> ARQUITECTURA INDEPENDIENTEARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 16

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Se tiene información de las operaciones independientes.

El hardware no necesita chequear nada mas para determinar qué instrucciones se pueden emitir en el mismo ciclo.

El conjunto de operaciones independientes es mucho mayor que el de operaciones dependientes.

Sólo se especifican un subconjunto de operaciones independientes.

Page 19: ILP

> ARQUITECTURA INDEPENDIENTEARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 17

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Además el compilador puede especificar en que unidad funcional y en que ciclo se puede ejecutar una operación.

El hardware no necesita tomar decisiones en tiempo de ejecución porque es el compilador el que se encarga de especificar el paralelismos directamente.

Page 20: ILP

> EJEMPLO – VLIW processorsARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 18

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Un ejemplo de estos procesadores son los VLIW.

Especifica exactamente en que unidad funcional esta siendo ejecutada cada operación y cuando se esta emitiendo cada operación.

Las operaciones son independientes de otras operaciones emitidas al mismo tiempo, así como de aquellas que están en ejecución.

El compilador emula en tiempo de compilación el flujo de datos que el procesador hace en tiempo de ejecución.

Page 21: ILP

> EJEMPLO – VLIW processorsARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 19

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Operaciones vs instrucciones: Operación: unidad de computación (add,

load, branch = instrucción en el contexto de arquitectura secuencial)

Instrucción: Conjunto de operaciones que son entendidas para ejecutarse al mismo tiempo.

El compilador decide que operaciones van en cada instrucción. (Programación- scheduling)

Todas las operaciones que se supone que empezaran a la vez, se empaquetan en una sola instrucción VLIW.

Page 22: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 20

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Ventajas. No existe un hardware complejo,

simplemente se trata de una serie de unidades funcionales (sumas, restas, etc) conectadas por un bus, además de algunos registros y la cache.

Mas silicio para el procesamiento actual en lugar de gastarlo predicción de la traza.

Debe ir mas rápido, ya que el único límite es la latencia de las unidades de función en sí mismos.

Programación de un chip VLIW es muy parecido a escribir microcódigo.

> VENTAJAS E INCONVENIENTES - VLIW

Page 23: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 21

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente

3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Inconvenientes. Es necesario un compilador muy potente.

Se incrementa el tamaño del código derivado de unas políticas de programación agresivas.

Se necesita mayor ancho de banda de memoria y de registros de archivo.

Limitaciones debido a:

la operación de bloqueo. la compatibilidad binaria entre las distintas

implementaciones con un número variable de unidades funcionales y latencias.

> VENTAJAS E INCONVENIENTES - VLIW

Page 24: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 22

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Segmentación

Aumento de unidades funcionales

Instruction Issue Unit

Ejecución especualtiva

> TÉCNICAS HARDWARE EJECUCION ILP

Page 25: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 23

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Ventajas

Relativamente bajo costo de implementación- requiere cierres sin unidades funcionales.

Con la segmentación ILP puede ser duplicada, triplicada, …

Desventajas

Añade retrasos en la ejecución de las operaciones individuales.

El aumento de la latencia finalmente contrarresta el aumento de la ILP

> SEGMENTACIÓN

Page 26: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 24

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

> UNIDADES FUNCIONALES ADICIONALES

Ventajas

No se sufre el cuello de botella por el aumento de la latencia.

Desventajas

La cantidad de hardware de la unidad funcional es proporcional al grado de paralelismo.

La red de interconexión y el tamaño de los registros de archivo son proporcionales al cuadrado del numero de unidades funcionales.

Page 27: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 25

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

> INSTRUCCIÓN ISSUE UNIT

Número de unidades de instrucción

Se debe tener cuidado con no emitir mas de una instrucción si otra instrucción de la que depende no ha terminado su ejecución.

Requiere una lógica de control compleja para los procesadores Superescalares.

Lógica de control prácticamente trivial en los procesadores VLIW.

Grandes ahorros en consumo energético

Page 28: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 26

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

> EJECUCION ESPECULATIVA

Pocos ILP se encuentran propiamente en bloques básicos.

Una secuencia lineal de operaciones sin intención del flujo de control.

Múltiples bloques base deben ejecutarse en paralelo.

La ejecución puede continuar a través de múltiples rutas de acceso antes de que se conozca el camino por el que va a ser ejecutada

Page 29: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 27

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Terminar el calculo especulativo innecesario una vez que la traza se ha resuelto.

Deshacer los efectos de operaciones ejecutadas especulativamente que no se deberían haber ejecutado.

Asegurarse que las excepciones no se presentan hasta que se sepa que la operación con excepción ha sido ejecutada.

Preservar el estado de ejecución lo suficiente para cada pto. de traza especulativa para permitir reanudarla por la ruta correcta si la ejecución especulativa no va bien.

> EJECUCION ESPECULATIVA: REQUISITOS

Page 30: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 28

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Costosa en hardware.

Una alternativa es realizar movimientos de código especulativo en tiempo de compilación.

Mover las operaciones de los bloques siguientes hasta pasar la traza de operaciones en el procedimiento de bloques

> EJECUCION ESPECULATIVA

Page 31: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 29

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente

4. Técnicas hardware para soportar la ejecución ILP

5. Conclusiones

Requiere menos demanda de hardware

Un mecanismo para garantizar que excepciones son causadas por la programación de operaciones especulativa es informar sí y solo sí el flujo de control es tal que podría haber sido ejecutado en una versión de código no especulativo.

Utilizar registros adicionales para mantener el estado de la ejecución especulativa.

> EJECUCION ESPECULATIVA

Page 32: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 30

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP

5. Conclusiones

> CONCLUSIONES

Arquitectura Secuencial

Arquitectura Dependiente

Arquitectura independiente

Información adicional requerida en el programa

Ninguna Especificación de dependencia entre operaciones

Como mínimo, una lista parcial de las independencias. Una descripción completa de cuándo y dónde se ejecutará cada operación

Tipo típico de procesador ILP

Superescalar Flujo de datos VLIW

Análisis de dependencias

Realizado por HW

Realizado por compilador

Realizado por compilador

Análisis de independencias

Realizado por HW

Realizado por HW

Realizado por compilador

Programación – scheduling

Realizado por HW

Realizado por HW

Realizado por compilador

Rol del compilador

Reorganiza el código para hacer el análisis y la programación de HW más exitosa

Sustituye a un análisis HW

Sustituye a casi la totalidad de los análisis y la programación de HW

Page 33: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 31

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP

5. Conclusiones

> CONCLUSIONES

En procesadores Superescalares

La arquitectura es “auto-dirigida”

en particular el análisis de la dependencia de la instrucción y la programación se hace por el hardware

En procesadores VLIW

El compilador gestiona los recursos hardware

La sinergia entre el compilador y el hardware es la clave.

Page 34: ILP

ARQUITECTURA DE COMPUTADORES 1

ILP: HISTORY AND OVERVIEW >> 31

1. Introducción2. Historia ILP

3. Arquitecturas ILP3.1. Arquitectura Secuencial3.2. Arquitectura Dependiente3.3. Arquitectura Independiente4. Técnicas hardware para

soportar la ejecución ILP

5. Conclusiones

> CONCLUSIONES

VLIW: La tecnología de procesadores integrados

Arquitecturas VLIW son diseños más simples que ofrecen la posibilidad de reducir los requisitos de energía.

Arquitecturas VLIW permiten que el compilador programe estáticamente instrucciones.

Page 35: ILP

> ARQUITECTURA DE COMPUTADORES 1

FIN DE LA PRESENTACION

María Dolores Martínez JuradoÁngel Rafael González Toro

ILP: HISTORY AND OVERVIEW ILP: HISTORY AND OVERVIEW