SlideShare una empresa de Scribd logo
{
1982

1985

1987

Cheetah América Multitan

1988

Alpha

1989
procesador
RISC de
Intel 960CA

Después

arquitectura CISC.

Algunos procesadores:

• Power
• Power PC
• Power PC 601 y 603

• Pentium PRO II, III y 4
• K5 , K6 y K7
Procesadores superescalares
Procesadores superescalares
Grado en el que, en
promedio, las instrucciones
de un programa se pueden
ejecutar en paralelo

Medida de la capacidad del procesador para
sacar partido del paralelismo a nivel de
instrucciones. El paralelismo de la máquina
dependerá del número de instrucciones que
se pueden captar y ejecutar al mismo tiempo,
y de la capacidad del procesador para
localizar instrucciones independientes.
Ejecución
(EX)
Procesadores superescalares
Procesadores superescalares
La etapa de decodificación de un
procesador superescalar debe ser capaz de
decodificar varias instrucciones por ciclo.
En esta etapa de predecodificación se suele
encargar de determinar el tipo de
instrucción y, con ello, facilita la
identificación posterior de los recursos que
se van a necesitar.
La unidad ID toma las instrucciones de la cola de las instrucciones
captadas son almacenadas por parte de la etapa IF y tras
decodificarlas, las pones en una estructura de buffers desde donde la
unidad ISS determinan que instrucciones de las que se encuentran
dentro de una ventana definida en una estructura de buffers pueden
pasar a ejecutarse y a qué unidad funcional.
La etapa de emisión se encarga de determinar
que instrucciones pueden emitirse al disponer
de sus operandos y existir unidades
funcionales libres para su ejecución.
 POLITICAS DE EMISION:
- Emisión Alineada.
- Emisión no Alineada.
- Emisión Ordenada.
- emisión no Ordenada

En la figura se ilustran las diferencias entre emisión
ordenada y desordenada, emisión alineada y no alineada.


La idea consiste en que, en lugar de existir
una única ventana desde donde las
instrucciones se emiten a las distintas
unidades funcionales



Por esta esta etapa se divide en dos:
Decodificador Emisor y envío
PROCESAMIENTO DE LAS
INSTRUCCIONES DE
SALTO
Detección de la instrucción del salto



Gestión de saltos condicionales no resueltos





Acceso a las instrucciones de destino del salto
Detección de la instrucción del salto




Detección anticipada.-

Detección paralela.-



Detección integrada
en la captación.-
Gestión de saltos condicionales
no resueltos
Procesadores superescalares
Clasificación de los procedimientos
de predicción de saltos


Predicción Fija:

Se toma siempre la misma decisión, el salto siempre se realiza



Predicción Verdadera:

La decisión de si se realiza o no los saltos se toma mediante


Predicción Estática: Según los atributos de la instrucción
de salto. (Código de operación, desplazamiento, decisión
del compilador )



Predicción Dinámica: Según el resultado de ejecuciones
pasadas de la instrucción. (historia de la instrucción de
salto)
Ejemplo de Predicción dinámica explicita
 Para saber si las instrucciones son paralelizables, el
procesador sigue un sencillo algoritmo. Para
ejecutar las instrucciones I1 e I2:
IF I1 es simple
AND I2 también simple
AND I1 no es salto
AND destino de I1 no es fuente de I2
AND destino de I1 no es destino de I2
THEN
envía I1 a U
envía I2 a V
ELSE
envía I1 a U, para I2 (será evaluada con I3)
 Si se utiliza un compilador que conoce este modo de
funcionamiento, mejora hasta un 30% la velocidad
RENOMBRAMIENTO DE REGISTROS
Como hemos visto, el hecho de permitir la emisión desordenada de
instrucciones y la finalización desordenada puede originar dependencias
de salida y antidependencias. La naturaleza de estas dependencias es
diferente a la de las dependencias de datos verdaderas, que reflejan el
flujo de datos a través de un programa y su secuencia de ejecución
Las antidependencias y las dependencias de salida son realmente
conflictos de almacenamiento. Son un tipo de conflicto por los recursos en
el que varias instrucciones compiten por los mismos registros
Un método para resolver tales conflictos se basa en la solución tradicional
de los conflictos con los recursos: la duplicación de recursos. Esta técnica
se denomina renombramiento de registros. Consiste en que el hardware del
procesador asigne dinámicamente los registros, que están asociados con
los valores que necesitan las instrucciones en diversos instantes de
tiempo.
Para ilustrar esta técnica, vamos a considerar la secuencia de instrucciones
utilizada anteriormente:
I1: r3 ← r3 op r5
I2: r4 ← r3 + 1
I3: r3 ← r5 + 1
I4: r7 ← r3 op r4
Que, como ya hemos visto, tiene varias dependencias, incluidas una
dependencia de salida y una antidependencia. Si aplicamos el
renombramiento de registros a dicho código tendremos:
I1: r3b ← r3a op r5a
I2: r4b ← r3b + 1
I3: r3c ← r5a + 1
I4: r7b ← r3c op r4b

El resultado es que utilizando el renombramiento de registros I1 e I3
pueden ejecutarse en paralelo.
PARALELISMO DE LA MÁQUINA
Existen tres técnicas hardware que se pueden
utilizar en un procesador superescalar para
aumentar sus prestaciones.
Estas son:

 duplicación de recursos,
 emisión desordenada y
 renombramiento de registros
BUFFER DE PREDICCION DE SALTOS (BPB)
BUFFER DE DESTINOS DE SALTOS (BTB)

Contador de programa (PC)
PREDICTOR MULTINIVEL LOCAL
 Los predictores vistos hasta ahora son locales
ya que solo tienen en cuenta información
referente a la instrucción de salto objeto de la
predicción.
 Los predictores globales además tienen en
cuenta la información sobre otras instrucciones
de salto del programa.
PREDICTORES GLOBALES
EJECUCIÓN ESPECULATIVA
La ejecución especulativa es una estrategia que se usa en la mayoría de
procesadores de altas prestaciones. Consiste en realizar la ejecución del
código (instrucciones o partes de instrucciones), antes de estar seguro de si
esta ejecución se requiere. Es una técnica de optimización de prestaciones.

Los procesadores usan ejecución especulativa para reducir el coste de las
bifurcaciones (instrucciones de salto condicional). Así, cuando se encuentra
un salto condicional, el procesador realiza una predicción sobre cuál es el
camino más probable a seguir (utilizando técnicas de predicción de saltos), e
inmediatamente prosigue la captación, decodificación y ejecución de
instrucciones desde dicho punto, sin esperar a saber si es el camino correcto.
Si, posteriormente, la predicción resulta ser errónea, el procesador descarta
las instrucciones ejecutadas a partir del punto de salto, y continúa la
ejecución de las instrucciones del camino correcto. Si la predicción resulta
correcta, el procesador continua la ejecución de las instrucciones.
 Los procesadores que utilizan ejecución especulativa, ejecutan
muchas más instrucciones de las que necesita el flujo del
programa. Así pues, esta estrategia debe poseer un mecanismo
para que una instrucción ejecutada pueda ser descartada tras su
ejecución, pues ¿cómo sino se podría deshacer la ejecución de
una instrucción, cuando se decide que ésta nunca hubiera sido
ejecutada por una máquina secuencial? Este mecanismo consiste
en que:

- El almacenamiento y los registros visibles no se pueden
actualizar inmediatamente después de su ejecución.
- Se han de mantener en algún tipo de almacenamiento temporal
para después convertirlo en permanente una vez que se determine
que el modelo secuencial habría ejecutado la instrucción.
EJECUCIÓN SUPERESCALAR
Procesadores superescalares

Más contenido relacionado

DOCX
Procesamiento superescalar
PDF
Tema 2: Procesadores superescalares.
PPTX
Sistemas Operativos Distribuidos.
PDF
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
PPT
Sistemas operativos distribuidos
PPTX
PARADIGMA IMPERATIVO
PPTX
Ciclo de instrucciones CPU
PPTX
Programacion Orientada a Objetos - Undiad 4 polimorfismo
Procesamiento superescalar
Tema 2: Procesadores superescalares.
Sistemas Operativos Distribuidos.
Portafolio unidad 2 [Lenguajes y autómatas]- Expresiones y lenguajes regulares
Sistemas operativos distribuidos
PARADIGMA IMPERATIVO
Ciclo de instrucciones CPU
Programacion Orientada a Objetos - Undiad 4 polimorfismo

La actualidad más candente (20)

DOCX
Unidad 6 Protección y seguridad.
PDF
Alfabetos-Lenguajes y Automatas 1
PDF
Ingenieria de software (conceptos básicos)
PPTX
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
PPTX
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
PPTX
Modelos de arquitecturas de computadoras
PDF
Arquitectura de software
PPTX
Administración de memoria
PPT
Metodologias de desarrollo
PPTX
Funciones de administracion de memoria
PDF
Lenguajes autómatas.
PDF
ESPRESIONES REGULARES
DOCX
Dispositvos de entrada y salida
PDF
Acceso Directo de Memoria
PDF
Estructuras de control
PPTX
Historia y aplicaciones de la graficacion
PPTX
Unidad 3 topicos avanzados de programacion
PDF
Introduccion a los sistemas operativos
DOCX
Estructura jerarquica
PPT
Lenguaje Ensamblador
Unidad 6 Protección y seguridad.
Alfabetos-Lenguajes y Automatas 1
Ingenieria de software (conceptos básicos)
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Unidad 3 administracion de memoria(recoplilacion de todas las exposiciones)
Modelos de arquitecturas de computadoras
Arquitectura de software
Administración de memoria
Metodologias de desarrollo
Funciones de administracion de memoria
Lenguajes autómatas.
ESPRESIONES REGULARES
Dispositvos de entrada y salida
Acceso Directo de Memoria
Estructuras de control
Historia y aplicaciones de la graficacion
Unidad 3 topicos avanzados de programacion
Introduccion a los sistemas operativos
Estructura jerarquica
Lenguaje Ensamblador
Publicidad

Similar a Procesadores superescalares (20)

PPTX
Arquitectura de computadora_04-Superescalar.pptx
PPTX
Unidad central de procesamiento
DOCX
Ejecuta maider
PPTX
Metodología de la programación
DOCX
Ciclo de instrucciones
PPTX
Ejecuta alicia
PPTX
El ciclo de instrucciones
PPTX
Ejecuta miriam
DOCX
Ciclo de instruccion ensayo
PPSX
Yeimir rincon 20%
DOCX
Ensayo de ciclo de instruccion
DOCX
Ensayo de ciclo de instruccion
PDF
Capacidad de la unidad de procesamiento por andres maica
DOCX
Microprocesadores
PDF
T22 ejecutainstruccion iñaki_lazaro
PPTX
Paralelismo a nivel de Instrucciones
PDF
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
PPT
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
Arquitectura de computadora_04-Superescalar.pptx
Unidad central de procesamiento
Ejecuta maider
Metodología de la programación
Ciclo de instrucciones
Ejecuta alicia
El ciclo de instrucciones
Ejecuta miriam
Ciclo de instruccion ensayo
Yeimir rincon 20%
Ensayo de ciclo de instruccion
Ensayo de ciclo de instruccion
Capacidad de la unidad de procesamiento por andres maica
Microprocesadores
T22 ejecutainstruccion iñaki_lazaro
Paralelismo a nivel de Instrucciones
REGISTRO E INSTRUCCIONES DEL MICROPROCESADOR, MODOS DE DIRECCIONAMIENTO.
dokumen.tips_arquitectura-de-von-neumann-unidad-de-control-ula-registradores-...
Publicidad

Más de DiskCom - Negocios (7)

DOC
Javier veran el mundo de hoy
PPTX
Comunitaria 2 medicina compementaria
DOCX
Catedra de sociedad compartida
DOC
capitulo v materiales y métodos
DOCX
materiales y métodos
DOCX
Gestion del conocimiento
PPTX
Presentacion robot seguidor
Javier veran el mundo de hoy
Comunitaria 2 medicina compementaria
Catedra de sociedad compartida
capitulo v materiales y métodos
materiales y métodos
Gestion del conocimiento
Presentacion robot seguidor

Último (20)

PPTX
ECONOMIA PLURAL para el entendimiento empresarial
PDF
NIAS 250 ............................................
PDF
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
PPTX
CONFERENCIA MAGISTRAL TRIBUTA 2025 12.pptx
PDF
Otros Coeficientes Correlación_FHE_UCV.pdf
PPTX
Slide_Introducci_n_a_las_empresas.pptx__
PDF
alejandrobcjjjjjjjjjjjjjjjjjjjjjjjjjjj.pdf
PDF
Indicadores Clave de Desempeño (KPI) para transporte
PDF
Estrategias de orientación en facturación electrónica para grandes contribuye...
PDF
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
PPT
Teoria General de Sistemas empresariales
PDF
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
PPTX
ASERTIVIDAD EN EL TRABAJO PARA EL MANEJO DE RRHH
PPT
RELACION DE MARKETING CON EL CLIENTE DE EXPE
PPTX
Innovación en el Emprendimiento_Clase.pptx
PPTX
El Estado De Derecho Mateo Ruiz WWWWWWWWWWWWWWWWWWW
PDF
MODELO DE INNOVACION VERNE,HERRAMIENTAS Y METODO.pdf
PPT
Administración Financiera diapositivas.ppt
PPTX
CREACION DE MARCA EMPRESAS CONTEXTO EMPRESARIAL
PPTX
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN
ECONOMIA PLURAL para el entendimiento empresarial
NIAS 250 ............................................
03 - Unidad II - La Plataforma .NET y C# - 2. Tipos Primitivos y Expresiones.pdf
CONFERENCIA MAGISTRAL TRIBUTA 2025 12.pptx
Otros Coeficientes Correlación_FHE_UCV.pdf
Slide_Introducci_n_a_las_empresas.pptx__
alejandrobcjjjjjjjjjjjjjjjjjjjjjjjjjjj.pdf
Indicadores Clave de Desempeño (KPI) para transporte
Estrategias de orientación en facturación electrónica para grandes contribuye...
D08_SESION 15 y 16_2024.12.06_ISO-26000.pdf
Teoria General de Sistemas empresariales
ORD-REG-ELEMENTOS-PUBLICITARIOS-AMSS-12-MARZO.pdf
ASERTIVIDAD EN EL TRABAJO PARA EL MANEJO DE RRHH
RELACION DE MARKETING CON EL CLIENTE DE EXPE
Innovación en el Emprendimiento_Clase.pptx
El Estado De Derecho Mateo Ruiz WWWWWWWWWWWWWWWWWWW
MODELO DE INNOVACION VERNE,HERRAMIENTAS Y METODO.pdf
Administración Financiera diapositivas.ppt
CREACION DE MARCA EMPRESAS CONTEXTO EMPRESARIAL
EXPO ADMINISTRACION ESTRATEGICA HISTORIA Y EVOLUCIÓN DE LA ADMINISTRACIÓN

Procesadores superescalares

  • 1. {
  • 2. 1982 1985 1987 Cheetah América Multitan 1988 Alpha 1989 procesador RISC de Intel 960CA Después arquitectura CISC. Algunos procesadores: • Power • Power PC • Power PC 601 y 603 • Pentium PRO II, III y 4 • K5 , K6 y K7
  • 5. Grado en el que, en promedio, las instrucciones de un programa se pueden ejecutar en paralelo Medida de la capacidad del procesador para sacar partido del paralelismo a nivel de instrucciones. El paralelismo de la máquina dependerá del número de instrucciones que se pueden captar y ejecutar al mismo tiempo, y de la capacidad del procesador para localizar instrucciones independientes.
  • 9. La etapa de decodificación de un procesador superescalar debe ser capaz de decodificar varias instrucciones por ciclo. En esta etapa de predecodificación se suele encargar de determinar el tipo de instrucción y, con ello, facilita la identificación posterior de los recursos que se van a necesitar. La unidad ID toma las instrucciones de la cola de las instrucciones captadas son almacenadas por parte de la etapa IF y tras decodificarlas, las pones en una estructura de buffers desde donde la unidad ISS determinan que instrucciones de las que se encuentran dentro de una ventana definida en una estructura de buffers pueden pasar a ejecutarse y a qué unidad funcional.
  • 10. La etapa de emisión se encarga de determinar que instrucciones pueden emitirse al disponer de sus operandos y existir unidades funcionales libres para su ejecución.  POLITICAS DE EMISION: - Emisión Alineada. - Emisión no Alineada. - Emisión Ordenada. - emisión no Ordenada 
  • 11. En la figura se ilustran las diferencias entre emisión ordenada y desordenada, emisión alineada y no alineada.
  • 12.  La idea consiste en que, en lugar de existir una única ventana desde donde las instrucciones se emiten a las distintas unidades funcionales  Por esta esta etapa se divide en dos: Decodificador Emisor y envío
  • 13. PROCESAMIENTO DE LAS INSTRUCCIONES DE SALTO Detección de la instrucción del salto  Gestión de saltos condicionales no resueltos   Acceso a las instrucciones de destino del salto
  • 14. Detección de la instrucción del salto   Detección anticipada.- Detección paralela.-  Detección integrada en la captación.-
  • 15. Gestión de saltos condicionales no resueltos
  • 17. Clasificación de los procedimientos de predicción de saltos  Predicción Fija: Se toma siempre la misma decisión, el salto siempre se realiza  Predicción Verdadera: La decisión de si se realiza o no los saltos se toma mediante  Predicción Estática: Según los atributos de la instrucción de salto. (Código de operación, desplazamiento, decisión del compilador )  Predicción Dinámica: Según el resultado de ejecuciones pasadas de la instrucción. (historia de la instrucción de salto)
  • 18. Ejemplo de Predicción dinámica explicita
  • 19.  Para saber si las instrucciones son paralelizables, el procesador sigue un sencillo algoritmo. Para ejecutar las instrucciones I1 e I2: IF I1 es simple AND I2 también simple AND I1 no es salto AND destino de I1 no es fuente de I2 AND destino de I1 no es destino de I2 THEN envía I1 a U envía I2 a V ELSE envía I1 a U, para I2 (será evaluada con I3)  Si se utiliza un compilador que conoce este modo de funcionamiento, mejora hasta un 30% la velocidad
  • 20. RENOMBRAMIENTO DE REGISTROS Como hemos visto, el hecho de permitir la emisión desordenada de instrucciones y la finalización desordenada puede originar dependencias de salida y antidependencias. La naturaleza de estas dependencias es diferente a la de las dependencias de datos verdaderas, que reflejan el flujo de datos a través de un programa y su secuencia de ejecución Las antidependencias y las dependencias de salida son realmente conflictos de almacenamiento. Son un tipo de conflicto por los recursos en el que varias instrucciones compiten por los mismos registros Un método para resolver tales conflictos se basa en la solución tradicional de los conflictos con los recursos: la duplicación de recursos. Esta técnica se denomina renombramiento de registros. Consiste en que el hardware del procesador asigne dinámicamente los registros, que están asociados con los valores que necesitan las instrucciones en diversos instantes de tiempo.
  • 21. Para ilustrar esta técnica, vamos a considerar la secuencia de instrucciones utilizada anteriormente: I1: r3 ← r3 op r5 I2: r4 ← r3 + 1 I3: r3 ← r5 + 1 I4: r7 ← r3 op r4 Que, como ya hemos visto, tiene varias dependencias, incluidas una dependencia de salida y una antidependencia. Si aplicamos el renombramiento de registros a dicho código tendremos: I1: r3b ← r3a op r5a I2: r4b ← r3b + 1 I3: r3c ← r5a + 1 I4: r7b ← r3c op r4b El resultado es que utilizando el renombramiento de registros I1 e I3 pueden ejecutarse en paralelo.
  • 22. PARALELISMO DE LA MÁQUINA Existen tres técnicas hardware que se pueden utilizar en un procesador superescalar para aumentar sus prestaciones. Estas son:  duplicación de recursos,  emisión desordenada y  renombramiento de registros
  • 23. BUFFER DE PREDICCION DE SALTOS (BPB)
  • 24. BUFFER DE DESTINOS DE SALTOS (BTB) Contador de programa (PC)
  • 26.  Los predictores vistos hasta ahora son locales ya que solo tienen en cuenta información referente a la instrucción de salto objeto de la predicción.  Los predictores globales además tienen en cuenta la información sobre otras instrucciones de salto del programa.
  • 28. EJECUCIÓN ESPECULATIVA La ejecución especulativa es una estrategia que se usa en la mayoría de procesadores de altas prestaciones. Consiste en realizar la ejecución del código (instrucciones o partes de instrucciones), antes de estar seguro de si esta ejecución se requiere. Es una técnica de optimización de prestaciones. Los procesadores usan ejecución especulativa para reducir el coste de las bifurcaciones (instrucciones de salto condicional). Así, cuando se encuentra un salto condicional, el procesador realiza una predicción sobre cuál es el camino más probable a seguir (utilizando técnicas de predicción de saltos), e inmediatamente prosigue la captación, decodificación y ejecución de instrucciones desde dicho punto, sin esperar a saber si es el camino correcto. Si, posteriormente, la predicción resulta ser errónea, el procesador descarta las instrucciones ejecutadas a partir del punto de salto, y continúa la ejecución de las instrucciones del camino correcto. Si la predicción resulta correcta, el procesador continua la ejecución de las instrucciones.
  • 29.  Los procesadores que utilizan ejecución especulativa, ejecutan muchas más instrucciones de las que necesita el flujo del programa. Así pues, esta estrategia debe poseer un mecanismo para que una instrucción ejecutada pueda ser descartada tras su ejecución, pues ¿cómo sino se podría deshacer la ejecución de una instrucción, cuando se decide que ésta nunca hubiera sido ejecutada por una máquina secuencial? Este mecanismo consiste en que: - El almacenamiento y los registros visibles no se pueden actualizar inmediatamente después de su ejecución. - Se han de mantener en algún tipo de almacenamiento temporal para después convertirlo en permanente una vez que se determine que el modelo secuencial habría ejecutado la instrucción.