Está en la página 1de 34

Universidad de Burgos

Departamento de Ingeniería Electromecánica

ARQUITECTURA DE COMPUTADORES
Grado en Ingeniería Informática
2º Curso – 3er Semestre

Profesor: César Represa Pérez


e-mail: crepresa@ubu.es
Universidad de Burgos

Departamento de Ingeniería Electromecánica

TEMA 5:

Arquitecturas
monoprocesador avanzadas
Tema 5: Arquitecturas monoprocesador
avanzadas

Contenidos

Bloque I: Procesadores Escalares

Bloque II: Técnicas de Aumento de Prestaciones

Bloque III: Jerarquía de Memoria

Bloque IV: Entrada y Salida

Arquitectura de Computadores - 2º GII 3


Tema 5: Arquitecturas monoprocesador
avanzadas

Contenidos

Bloque II: Técnicas de Aumento de Prestaciones

• Tema 04: Procesadores segmentados

• Tema 05: Arquitecturas monoprocesador avanzadas

Arquitectura de Computadores - 2º GII 4


Tema 5: Arquitecturas monoprocesador
avanzadas

Contenidos

Tema 5: Arquitecturas monoprocesador avanzadas

Arquitecturas SISD

Arquitecturas SIMD

Arquitectura de Computadores - 2º GII 5


Tema 5: Arquitecturas monoprocesador
avanzadas

1. Arquitecturas SISD

 El aumento de prestaciones de un computador se consigue introduciendo


el paralelismo en el diseño.
 En máquinas monoprocesador SISD esto se realiza a través del
paralelismo a nivel de instrucción (ILP).
 La primera técnica de aumento de prestaciones fue la segmentación.
 La máxima ganancia alcanzada por un procesador segmentado
respecto de un procesador multiciclo de las mismas características era:

1 tsegmentado t multiciclo I  n T
G     n
1 t multiciclo tsegmentado n  T  I  1 T I  n

Arquitectura de Computadores - 2º GII 6


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores hipersegmentados

 Una de las estrategias para incrementar el rendimiento de un procesador


segmentado consiste en aumentar el número de etapas reduciendo lo
más posible el periodo de reloj T.
 Esta técnica se conoce como hipersegmentación.
 No obstante existe un límite en el número de etapas impuesto por el
hardware adicional necesario y por la dificultad de conseguir un equilibrio
entre etapas.

Arquitectura de Computadores - 2º GII 7


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores hipersegmentados

Periodo
Periodo oo Ciclo
Ciclo

Arquitectura de Computadores - 2º GII 8


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores hipersegmentados

 La ganancia conseguida con un procesador hipersegmentado respecto


de un procesador segmentado depende de lo que se haya podido
reducir su periodo de reloj Th:

1 t hipersegmentado tsegmentado ns  Ts  I  1 Ts Ts


G   I   
1 tsegmentado t hipersegmentado nh  Th  I  1 Th  ns , nh
Th

Arquitectura de Computadores - 2º GII 9


Tema 5: Arquitecturas monoprocesador
avanzadas

Emisión múltiple de instrucciones

 Otra de las estrategias empleadas para el incremento de prestaciones de


un procesador segmentado es la emisión múltiple de instrucciones.
 Esta técnica permite comenzar, ejecutar y terminar más de una
instrucción por ciclo.
 De esta forma se puede reducir el valor de CPI por debajo de 1, mientras
que con las técnicas anteriores se perseguía reducir el valor de CPI
hasta el valor ideal de 1.
 Existen diferentes arquitecturas que permiten emitir más de una
instrucción por ciclo: arquitecturas superescalares y arquitecturas VLIW.

Arquitectura de Computadores - 2º GII 10


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

 Un procesador superescalar típico puede emitir entre 1 y 8 instrucciones


por ciclo.
 La máxima ganancia alcanzable por un procesador superescalar
respecto de un procesador segmentado de las mismas características,
depende del número de instrucciones lanzado simultáneamente (m):

1 tsuperescalar tsegmentado n  T  I  1 T


G   I  m
1 tsegmentado tsuperescalar  I  m   nm
n T    T
 m 

Arquitectura de Computadores - 2º GII 11


Tema 5: Arquitecturas monoprocesador
avanzadas

Arquitectura de Computadores - 2º GII 12


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

 La emisión múltiple se realiza de forma dinámica (hardware), es decir,


se decide el número de instrucciones emitidas en tiempo de ejecución.
 La planificación puede ser estática (software) o dinámica (hardware).
 En la planificación estática la emisión y la ejecución se realizan en orden
y los riesgos se detectan y se resuelven antes de la emisión.
Para un óptimo funcionamiento el compilador debe reordenar las
instrucciones de la mejor forma posible.
 En la planificación dinámica la emisión se realiza en orden pero se
pueden ejecutar fuera de orden, por lo que se pueden emitir dos o más
instrucciones arbitrarias por ciclo.

Arquitectura de Computadores - 2º GII 13


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

Arquitectura de Computadores - 2º GII Planificación


Planificaciónestática
estática 14
Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

Arquitectura de Computadores - 2º GII Planificación


Planificacióndinámica
dinámica 15
Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

 Para poder emitir arbitrariamente instrucciones de acceso a memoria o


instrucciones que dependan de predicciones de saltos se introduce el
concepto de especulación.
 Con la especulación se ejecutan estas instrucciones suponiendo que las
decisiones son correctas y más tarde se comprueba si realmente había
que ejecutarlas.
 Esta técnica obliga a añadir una nueva etapa de terminación o Commit
(C) para comprobar los resultados y a incorporar a su vez mecanismos
para deshacer lo que se ha ejecutado incorrectamente.

Arquitectura de Computadores - 2º GII 16


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores superescalares

Especulación
Especulación
Arquitectura de Computadores - 2º GII 17
Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo:

 Se dispone de un procesador superescalar que funciona a 2 GHz y que


está diseñado para emitir un máximo de 4 instrucciones por ciclo.
 Determinar el rendimiento del procesador cuando ejecuta un código
compuesto por 6 millones de instrucciones donde el 80% de las
intrucciones se pueden emitir de cuatro en cuatro, el 15% se emiten de
dos en dos y el resto de instrucciones se emiten de una en una.

Arquitectura de Computadores - 2º GII 18


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores VLIW

 Los procesadores VLIW (Very Long Instruction Word) utilizan emisión


estática de instrucciones.
 En este tipo de arquitectura el compilador empaqueta en una única
instrucción muy larga un conjunto de instrucciones que pueden
ejecutarse en paralelo en unidades funcionales diferentes.
 El compilador debe tener en cuenta que no existan riesgos entre las
instrucciones que empaqueta juntas y que haya recursos suficientes para
ejecutarlas.
 Lo habitual es que cada subinstrucción avance de forma sincronizada,
comenzando así cada etapa de ejecución todas al mismo tiempo.

Arquitectura de Computadores - 2º GII 19


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores VLIW

Arquitectura de Computadores - 2º GII 20


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores VLIW

 El principal problema es que en cada instrucción suelen quedar huecos.


 Además existen problemas de incompatibilidad incluso entre diferentes
implementaciones de la misma arquitectura (familia).
 Una nueva unidad funcional o una latencia diferente obligaría a
recompilar el código para planificar adecuadamente las subinstrucciones.
 Esta técnica ha evolucionado bajo el nombre de arquitectura EPIC
(Explicitly Parallel Instruction Computing ) impulsada por HP© e Intel©.

Arquitectura de Computadores - 2º GII 21


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo:

 Un procesador VLIW que funciona a 2 GHz está diseñado para ejecutar


en cada ciclo de reloj un paquete de 3 instrucciones.
 Determinar el rendimiento del procesador cuando ejecuta un código
compuesto por 6 millones de instrucciones donde el compilador ha
generado paquetes completos con el 75% de las intrucciones y paquetes
con un hueco con el resto de instrucciones.

Arquitectura de Computadores - 2º GII 22


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64 (Itanium)

 El término EPIC (Explicitly Parallel Instruction Computing) fue acuñado


en 1997 por HP© e Intel© para referirse a la arquitectura del nuevo
procesador Itanium©.
 Con el paralelismo explícito se planifica las instrucciones en tiempo de
compilación.
 Se trata de una nueva arquitectura de 64 bits, no una extensión de la
arquitectura x86 de 32 bits  incompatibilidad.
 Intel© ha reemplazado el término IA64 por IPF (Itanium Processor
Family) para no confundirlo con la extensión a 64 bits de la arquitectura
x86.

Arquitectura de Computadores - 2º GII 23


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64 (Itanium)

 Las principales características de la arquitectura IA64 son:


 Paralelismo a nivel de instrucción, con palabras de instrucción
muy largas (VLIW).
 Ejecución de saltos basada en predicados.
 Carga de datos especulativa.

Arquitectura de Computadores - 2º GII 24


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64 (Itanium)

 Registros de propósito general: 128 registros de 64 bits.


 Registros para uso con punto flotante: 128 registros de 82 bits.
 Registros de predicados: 64 registros de 1 bit.
 Múltiples unidades de ejecución clasificadas en cuatro tipos:
Unidad I para operaciones con enteros.
Unidad M para cargas y almacenamientos.
Unidad B para instrucciones de salto.
Unidad F para instrucciones un punto flotante.

Arquitectura de Computadores - 2º GII 25


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64 (Itanium)

Arquitectura de Computadores - 2º GII Formato


Formatode
deinstrucción
instrucción 26
Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64

Ejecución
Ejecucióncon
conpredicados
predicados

Arquitectura de Computadores - 2º GII 27


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64

Carga
Cargaespeculativa
especulativa

Arquitectura de Computadores - 2º GII 28


Tema 5: Arquitecturas monoprocesador
avanzadas

Ejemplo: Arquitectura IA64 (Itanium)

SUPERESCALAR IA-64 (Itanium)

Instrucciones de tipo RISC, una por Instrucciones de tipo RISC puestas en


palabra grupos de tres

Múltiples unidades de ejecución en Múltiples unidades de ejecución en


paralelo paralelo

Reordena y optimiza el flujo de Reordena y optimiza el flujo de


instrucciones en tiempo de ejecución instrucciones en tiempo de compilación

Predicción de saltos con ejecución Ejecución con predicados de los dos


especulativa de un camino caminos de una bifurcación

Carga datos desde memoria sólo cuando Carga datos especulativamente antes de
es necesario que se necesiten
Arquitectura de Computadores - 2º GII 29
Tema 5: Arquitecturas monoprocesador
avanzadas

2. Arquitecturas SIMD

 Las arquitecturas SIMD explotan el paralelismo a nivel de datos.


 Todas las unidades de ejecución responden a una única instrucción pero
cada una tiene datos diferentes.
 La motivación original fue amortizar el coste de la unidad de control en
docenas de unidades de ejecución.
 Los procesadores en array inspiraron esta arquitectura.
 Actualmente esta idea se encuentra presente en las extensiones
multimedia (MMX) y SSE (Streaming SIMD Extensión) de los
procesadores de la familia x86.

Arquitectura de Computadores - 2º GII 30


Tema 5: Arquitecturas monoprocesador
avanzadas

2. Arquitecturas SIMD

Arquitectura de Computadores - 2º GII 31


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores vectoriales

 A diferencia de los procesadores en array originales, en lugar de tener


multitud de ALU haciendo operaciones simultáneamente, se segmenta la
ALU para alcanzar buenas prestaciones a un coste más reducido.
 Aprovecha el paralelismo de datos agrupando las variables en vectores:
los operandos y los resultados son siempre vectores.
 Incluyen recursos hardware que permiten tratar valores vectoriales como
si fueran escalares.
 El elemento clave es el conjunto de registros vectoriales.

Arquitectura de Computadores - 2º GII 32


Tema 5: Arquitecturas monoprocesador
avanzadas

Procesadores vectoriales

Arquitectura de Computadores - 2º GII 33


Universidad de Burgos

Departamento de Ingeniería Electromecánica

ARQUITECTURA DE COMPUTADORES
Grado en Ingeniería Informática
2º Curso – 3er Semestre

Profesor: César Represa Pérez


e-mail: crepresa@ubu.es

También podría gustarte