Documentos de Académico
Documentos de Profesional
Documentos de Cultura
•Arquitectura Pipeline
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
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.
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).
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:
16
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Arquitectura Pipeline
Eficiencia:
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.
Fino: instrucción.
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
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
23
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Procesadores CISC:
Consecuencias.
Compiladores simples.
microprogramadas.
Bajo rendimiento en cadenas pipeline.
24
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
Procesadores CISC:
Lectura de
los operandos:
26
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Procesadores CISC:
Almacenamiento
del resultado:
27
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Procesadores CISC:
Pipeline de dos etapas (instrucciones poco
homogéneas):
Procesadores CISC:
Pipeline de seis etapas:
Pasos 4, 7 y 8 desaparecen. 29
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Procesadores CISC:
Pipeline de seis etapas, conflictos:
Desajustes de tiempos. Inevitables. No usar toda las
30
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
31
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
34
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
35
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
36
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
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
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
Procesadores RISC.
Consecuencias:
40
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
42
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
43
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
Procesadores RISC.
Salto retardado ejemplos:
45
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
46
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
48
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Arq. supersegmentada
49
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
50
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
51
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
52
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
PSEUDODEPENDENCIAS DE OPERANDOS:
Ejecución ordenada.
53
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
PSEUDODEPENDENCIAS DE OPERANDOS:
54
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
PSEUDODEPENDENCIAS DE OPERANDOS:
55
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
56
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
57
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Ii R1 + R2 R3
........................
Ik R4 + R5 R3
58
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
PSEUDODEPENDENCIAS DE OPERANDOS:
Ii R1 + R2 R3
........................
Ik R4 + R5 R1
59
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
Intel 80386
Prefetch: 4/6 etapas
según criterio.
Hasta 4 instrucciones en
ejecución.
MMU Memory Management
61
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
Coprocesadores matemáticos
63
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
Procesadores CRISC.
64
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
66
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
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
68
Ing. Raúl Hinojosa Sánchez
Universidad de San Martín de Porres Arquitectura de Computadoras
69
Ing. Raúl Hinojosa Sánchez