Está en la página 1de 69

Universidad de San Martín de Porres Arquitectura de Computadoras

•Conceptos Avanzados de Paralelismo

•Arquitectura Pipeline

•Arquitecturas Risc vs. Ciscs

1
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Paralelismo producido internamente
dentro de la CPU

 Estructura pipeline.
 Arquitectura RISC.
 Arquitecturas superescalar y
supersegmentada.
 Aplicación a las familias de Intel 80x86 y
Pentium.

2
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Paralelismos a nivel de máquina

 Máquinas para el aprovechamiento del


paralelismo de datos.
 Multiprocesadores.
 Arquitecturas específicas diseñadas para
ámbitos de aplicación concretos.

3
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Necesidades de mayor capacidad de
computación:
 Tratamiento de complejos modelos matemáticos
(meteorología, ecología, bioquímica, …)
 Manejo masivo de datos en tiempo real,
fundamentalmente aplicables al campo de las
comunicaciones.
 Explotación de grandes bases de datos; extracción de
patrones y tendencias de los datos.
 Aplicaciones multimedia: imágenes de alta definición,
música de alta fidelidad, reconocimiento del lenguaje
hablado...
 Inteligencia artificial y sistemas expertos.

4
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Mejora de la capacidad de
computación:
 Aumento de la velocidad (frecuencia de
funcionamiento de los circuitos electrónicos).
Limitaciones tecnológicas y físicas.
 Uso del Paralelismo.

Paralelismo: Capacidad de una máquina para realizar


acciones simultaneas. Vinculado al aumento del
rendimiento de la máquina (velocidad, capacidad de
proceso).

5
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Exclusiones:
 Simultaneidad entre acciones de CPU y
periféricos (Operaciones en segundo plano).

 Redundancia en procesos para conseguir


fiabilidad.

6
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Modos de Paralelismo
Estructuras que producen el
paralelismo:
Unidades funcionales: Cada parte de una
máquina capaz de realizar acciones
simultáneas al resto.
Configuración de las Unidades Funcionales.
 Pipeline (segmentada).

 Paralela.

 Pseudopipeline.

7
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline

Configuración pipeline:

8
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Configuración pipeline:
 Conexión en cascada, cada unidad recibe
como entrada la salida de la anterior.
 Acciones uniformes en fases y tiempos.
 Solapa el tiempo de proceso de las acciones.
 Una acción finalizada en cada intervalo si la
cadena está llena.

9
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline

Configuración paralela:

10
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Configuración paralela:
 Las entradas y las salidas son comunes a
todas las unidades.
 UFs sincronizadas.
 Las acciones se realizan completas en cada
UF.
 Conflicto: acceso a recursos compartidos.

11
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline

Configuración pseudopipeline:

12
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Configuración pseudopipeline :
 Conexión de UFs en paralelo.
 Desfase en la entrada de acciones de n ciclos
( al menos 1).
 Resultado indistinguible de PIPELINE.
 Reduce conflictos de PARALELA pero obtiene
peor respuesta en el tiempo.

13
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Conflictos del paralelismo, tipos :
 Desajustes de tiempo: Diferentes tiempos
entre diferentes UFs. Imponen parones en el
pipeline.
 Accesos a recursos compartidos: Afectan
fundamentalmente a configuraciones
paralelas.
 Dependencias: Afectan a la simultaneidad
de acciones.
• De operandos
• De saltos (condicionales e incondicionales)

14
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Conflictos del paralelismo:
Patrón en un pipeline

15
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Grado de paralelismo:

 Número de acciones simultáneas que se


realizan.
 Aplicable a la máquina o a parte de ella.
 El máximo lo establece el número de
unidades funcionales existentes.
 Queda limitado por las características de la
aplicación en curso.

16
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Eficiencia:

 Relación entre el Grado de paralelismo y la


capacidad teórica de paralelismo de la
máquina.
 El aumento de unidades funcionales,
aumenta los conflictos y disminuye la
eficiencia.
 Se trabaja con valores medios.

17
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Grano de paralelismo:
Tamaño de cada una de las acciones en las que
se divide el proceso para su realización
simultánea.
Clasificación cualitativa:
 Muy grueso: programas.

 Grueso: subprogramas, tareas hijas, ...

 Fino: instrucción.

 Muy fino: fases de instrucción.

Clasificación cuantitativa: Medido en nº de


instrucciones.
18
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Tipos de paralelismo:
En función de quién especifique las acciones que
se pueden realizar simultáneamente.
 Explícito: El propio programa identifica las

acciones (programación concurrente).


 Implícito: No lo especifica el programa sino

la máquina.
• Por azar: Acciones independientes. Entorno
multiusuario.
• Extraído por la máquina (compilador).

19
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Fuentes de paralelismo:
Control. Diferentes acciones que se pueden
realizar simultáneamente.

20
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Fuentes de paralelismo:
Datos. Misma acción sobre un conjunto
estructurado de datos.

21
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Pipeline
Fuentes de paralelismo:
Flujo. Mismos procesos sobre una gran
conjunto de datos.

22
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

RISC vs. CISC:


Años 80. Implantación de modelos de control del
rendimiento. Nueva tecnología RISC: Simplificar
la unidad de control para mejorar su eficiencia.
Tecnología CISC: La existente hasta el momento.
Instrucciones muy complejas, a veces específicas
y muy numerosas.
 Salto semántico.

 Reducción de los ciclos de fetch.

 Tamaño del programa.

23
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Consecuencias.
 Compiladores simples.

 Unidades de control complejas,

microprogramadas.
 Bajo rendimiento en cadenas pipeline.

24
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Ejecución de
una instrucción:

25
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Lectura de
los operandos:

26
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Almacenamiento
del resultado:

27
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Pipeline de dos etapas (instrucciones poco
homogéneas):

 Conflicto de desajuste de tiempos.


 Conflicto de acceso a recursos.

 Conflicto de dependencia de saltos.

 No hay conflicto de dependencia de


operandos. 28
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Pipeline de seis etapas:

Máquinas de una sola dirección sin


direccionamiento indirecto ni ejecución
múltiple.
 Pasos 3, 5, y 9 una sola vez.

 Pasos 4, 7 y 8 desaparecen. 29
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores CISC:
Pipeline de seis etapas, conflictos:
Desajustes de tiempos. Inevitables. No usar toda las

UFs. Tipo de instrucciones o dir. Fallos de caché.


 Acceso a recursos: FE, LO y ER acceden a memoria

Sol: Más registros, caché doble pto., doble caché.


 Dependencia de operandos: Requiere identificación para
evitar errores, reduce el rendimiento.
• Operandos registros: Bit de bloqueo.
• Operandos en memoria: Lista de direcciones
bloqueadas.
 Dependencia de saltos.

30
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Dependencia de


operandos:
Ejemplo:
A+BA
C + (A + 8)  C

31
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Dependencia de


saltos:
 Saltos incondicionales: Identificación
temprana, más simple. Durante FE o LO.
 Saltos condicionales: Incertidumbre. Pérdida

de rendimiento.
• Flujos múltiples. Duplicar primeras etapas del
pipeline.
• Precaptar destino del salto. Leer ambas alternativas.
• Buffer de bucles. Prefetch mejorado para bucles.
• Salto retardado (RISC).
• Predicción de salto.
32
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Predicción de saltos:


Optar por una alternativa: Saltar / No saltar. Si acierta
sigue, si no deshacer proceso realizado

Criterios estáticos, no depende de la historia anterior.


• No cumple condición. Alternativa más simple.
• Cumple condición. Mantener antiguo PC.
• Decisión según el código de operación. Instr. bucle.
• Evaluación previa de la condición. Ayuda del
compilador.
Consideraciones:
• Dirección del salto.
• Entornos paginados y saltos de página.
33
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Predicción de saltos:


 Saltos dinámicos, depende de la historia
anterior.

• Conmutador saltar/ no saltar. Asignación de un


estado a cada instrucción de salto. Al ejecutarla se
observa el resultado, que podrá cambiar de nuevo el
estado.
• Tabla de historias de saltos (BHT). Similar al
anterior, almacena además del estado la dirección
de destino del salto. Mayor tamaño de la tabla y no
aplicable a todos los direccionamientos.

34
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Predicción de saltos:


Saltos dinámicos, diferentes ejemplos:

35
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Proc. CISC. Predicción de saltos:


Saltos dinámicos, diferentes ejemplos:

36
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
 Justificación:
• Instrucciones complejas poco utilizadas.
• Set amplio y complejo  Mayor dificultad de
optimización.
• Instrucciones y operandos largos  posible mayor
uso de memoria a pesar del menor número de
instrucciones.
• Ciclos de fetch más largos y cambios de página frec.
• Efectividad pipeline mermada por los desajustes de
tiempos.
 Solución: Conjunto de instrucciones simples,
uniformes, generales y poco numerosas.
37
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
 Principios generales:
• Aumentar el número de registros internos del micro.
Esto reduce los conflictos de acceso a memoria y el
tiempo empleado.
• Optimizar diseño del pipeline para mejorar su
rendimiento. Una instrucción por ciclo. Evitar
conflictos y desajustes de tiempos.
• Conjunto de instrucciones limitado, sencillo y
homogéneo. Única manera de mejorar el pipeline.

38
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
 Características:
• Instrucciones de mismo tamaño (32 bits) y mismo
formato. Facilita diseño decodificador y control de
ajuste de tiempos.
• Unidad de control cableada. Mejora de la eficiencia.
• Pocos modos de direccionamiento de memoria. No al
direccionamiento indirecto.
• Máximo un operando en memoria.
• Instrucciones de proceso (ALU) sólo con registros.
• Operandos en memoria siempre alineados.

39
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
 Consecuencias:

• Compiladores más elaborados.


• Programas con mayor número de instrucciones más
cortas.
• Aumento del rendimiento. Poder despachar una
instrucción ejecutada en cada ciclo de reloj.

40
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
Ficheros de registros.
Se usan en algunas CPUs
Además registros
globales y de coma
flotante.
Normalmente entre 8
y 16 niveles.
Al desbordarlo se usa
la Memoria Principal.

41
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC. Pipeline.


 Instrucciones que acceden a memoria:
• Lectura y decodificación de la instrucción.
• Calculo de la dirección del operando.
• Lectura o escritura del operando.
 Instrucciones que NO acceden a memoria:
• Lectura y decodificación de la instrucción.
• Ejecución.

42
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC. Pipeline.


Conflictos:
• Desajustes de tiempos: Minimizados.
• Accesos a memoria: Sólo en F/D y
L/EO.
• Dependencias de operandos: Sólo
entre registros.
• Dependencias de saltos: Como en
CISC y además salto retardado.

43
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
Salto retardado:
• Intercambiar la instrucción de salto con la anterior a
ella.
• Siempre se ejecutará la instrucción posterior al salto.
• Se evita el vaciado del pipeline.
No aplicable si:
• Hay dos instrucciones de salto seguidas.
• Salto es destino de varios orígenes.
• La instrucción modifica la condición de salto.
En estos casos se añade una instrucción NOP al salto.

44
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC.
Salto retardado ejemplos:

En estos casos se añade una instrucción NOP al salto.

45
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Tecnologías RICS Y CISCS

Procesadores RISC. Salto retardado:

46
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Arq. superescalar:
• Más de un pipeline trabajando en paralelo. Algún
pipeline puede ser de tipo específico.
• El grado de la arquitectura es igual al de pipelines.
• Si no hay conflictos se despachan tantas instrucciones
como pipelines hayan disponibles.

Arq. supersegmentada:
• Consiste en desdoblar en subfases las acciones que
duren menos de un ciclo (medio ciclo).
• Grado de la arquitectura: instrucciones que se pueden
finalizar en un ciclo.

47
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Arquitectura superescalar

48
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Arq. supersegmentada

49
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

EJECUCIÓN DESORDENADA DE INSTRUCCIONES:

• Reduce la pérdida de rendimiento por dependencias de


operandos.
• Aprovechar los tiempos muertos de las etapas de la
CPU con instrucciones posteriores mientras no se
altere el resultado
• Existen distintas alternativas según la fase en la que se
admita el desorden (emisión, será necesario un buffer,
o ejecución)

50
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

EJECUCIÓN DESORDENADA DE INSTRUCCIONES :

51
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada


EJECUCIÓN DESORDENADA DE INSTRUCCIONES:

• FD1 y FD2 son etapas de prefetch y decodificación.


• EJ1 y EJ2 son unidades de ejecución de enteros y EJ3
de coma flotante.
• ER1 y ER2 representan escritura de resultado.
• Secuencia de instrucciones: I1 .. I9.
• Instrucciones de 3 ciclos de duración, 1 por etapa,
salvo I1 que requiere dos ciclos en la fase de
ejecución.
• I3 e I4 operan con datos en coma flotante.
• I5 e I6 presentan dependencia de operandos.

52
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

PSEUDODEPENDENCIAS DE OPERANDOS:

Ejecución ordenada.

53
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

PSEUDODEPENDENCIAS DE OPERANDOS:

Ejecución desordenada en escritura de resultados.

54
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

PSEUDODEPENDENCIAS DE OPERANDOS:

Ejecución desordenada en emisión de instrucciones y ER.

55
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada


PSEUDODEPENDENCIAS DE OPERANDOS:

 Dependencia real (escritura/lectura): operando de Ik


es resultado de Ii. Se pueden producir siempre que
haya ejecución paralela.
R1 + R2  R3
R3 + R4  R5
 Pseudodependencia de salida (escritura/escritura): Ik e
Ii escriben sobre el mismo operando.
 Antidependencia (lectura/escritura): Ii lee un operando
que debe escribir Ik.
 Las pseudodependencias se resuelven con la técnica de
renombrado de registros

56
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada


PSEUDODEPENDENCIAS DE OPERANDOS:

 Dependencia real (escritura/lectura): operando de Ik


es resultado de Ii. Se pueden producir siempre que
haya ejecución paralela.
Ii  R1 + R2  R3
Ik  R3 + R4  R5

57
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada


PSEUDODEPENDENCIAS DE OPERANDOS:

 Pseudodependencia de salida (escritura/escritura): Ik e


Ii escriben sobre el mismo operando.

Ii  R1 + R2  R3
........................
Ik  R4 + R5  R3

Se resuelve con la técnica de


renombrado de registros

58
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

PSEUDODEPENDENCIAS DE OPERANDOS:

 Antidependencia (lectura/escritura): Ii lee un


operando que debe escribir Ik.

Ii  R1 + R2  R3
........................
Ik  R4 + R5  R1

Sólo se produce si en la ejecución desordenada se


ejecuta Ik antes que Ii
Se resuelve con la técnica de renombrado de registros

59
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel 8086 .. 80286


EU BIU
Unidad de Control Registros de segmento
ALU ALU Cálculo de direcciones
Registros Propósito Cola de Prefetch
general e índices

Paralelismo:
Mientras se ejecutan instrucciones en la EU (Execution Unit)
se calculan direcciones de operandos y se producen ciclos de
fetch adelantados en la BIU (Bus Interface Unit).
60
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel 80386
Prefetch: 4/6 etapas
según criterio.
Hasta 4 instrucciones en

ejecución.
 MMU Memory Management

Unit. Gestiona las tareas


de segmentación y
paginación.

61
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel 80486
- Prefetch: 5/9 etapas
según criterio.
- Hasta 6 instrucciones en
ejecución.
- Decodificador con lógica
cableada para instr. simples
y microprogramado para
las complejas.

62
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Coprocesadores matemáticos

 Circuitos inicialmente externos, cooperan con la CPU.


 Leen las instrucciones a la vez que la CPU. Si una
instrucción es de tipo matemática, el coprocesador la
ejecutan.
 Si la instruccion tiene operandos en la memoria, la CPU
calcula y vuelca su dirección.
 Trabaja en paralelo con la CPU. Si la CPU debe esperar
al coprocesador, se inserta la instrucción FWAIT.

63
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Procesadores CRISC.

 Disponen de características de CISC y de RISC.


 intel 80486 dispone de un núcleo cableado y otro
microprogramado.
 El cableado ejecuta las que se definen como core
instructions. Puede despachar una de estas instrucciones
ejecutada a cada ciclo de reloj.
 Resto de instrucciones en el núcleo microprogramado
requieren múltiples ciclos de reloj.

64
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel Pentium
- Arquitectura superescalar
de grado 2 (Pipes U y V).
- Ejecución ordenada.
- Doble caché.
- Unidad predicción saltos.
- Prefetch 128 bytes.
- Pipeline 5 etapas.
- MMU no representada.

65
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel Pentium Pro


Arquitectura superesc.
de grado 3.
Ejecución desordenada.
Doble caché L1 y L2.
Unidad predicción saltos.
Prefetch 128 bytes.
Pipeline 5 etapas.
MMU no representada.

66
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel Pentium Pro


Dispone de 3 decodificadores de instrucciones que
trabajan de forma ordenada.
Convierten las instrucciones en secuencias de
microoperaciones.
 Instrucciones 'simples'  conversión rápida.

 Instrucciones 'complejas'  conversión por medio de un

microprograma.
Las microoperaciones se almacenan en el Instruction
Pool.
5 Unidades de ejecución. 2 de enteros 2 de como flotante
1 de lectura de memoria. Retiran las operaciones de
forma desordenada.
67
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel Pentium Pro


Ejemplo:
mem  regtemp (1 op.)
mem + reg  mem regtemp + reg  regtemp2
(1op)
regtemp2  mem (2 op.)

Registros 'alias': 40 registros de uso interno asignados por


los decodificadores a las microoperaciones.
Retire Unit: Permite ir retirando las operaciones del
Instruction Pool e ir escribiendo los resultados en los
destinos correspondientes.

68
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras

Arquitectura Superescalar y Súper segmentada

Intel Pentium Pro


BTB: Branch Target Buffer. Almacena la dirección de las
instrucciones de salto, la historia relacionada con ella
(estado) y la dirección de destino.

Si no se ha ejecutado nunca se usa una predicción


estática: que se saltará si el salto es incondicional o hacia
atrás en otro caso se decide no saltar.

69
Ing. Raúl Hinojosa Sánchez

También podría gustarte