1 / 51

Arquitectura de Procesadores Procesadores Segmentados

Arquitectura de Procesadores Procesadores Segmentados. 2 do Cuatrimestre de 1999. Segmentación y Paralelismo. Dos formas básicas para explotar el paralelismo en las arquitecturas paralelas Segmentación : solapamiento temporal Paralelismo : solapamiento espacial. Segmentación.

cade
Download Presentation

Arquitectura de Procesadores Procesadores Segmentados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Arquitectura de ProcesadoresProcesadores Segmentados 2do Cuatrimestre de 1999

  2. Segmentación y Paralelismo Dos formas básicas para explotar el paralelismo en las arquitecturas paralelas • Segmentación: solapamiento temporal • Paralelismo: solapamiento espacial Segmentados

  3. Segmentación Descompone una determinada operación en n suboperaciones a realizar en etapas distintas, de manera que se puedan realizar n operaciones simultáneas, cada una en una etapa distinta. • Divide una operación en suboperaciones • Desacopla las suboperaciones F F2 F3 F1 Segmentados

  4. Fa Paralelismo Realización Concurrente de cálculos, iguales o distintos, sobre distintos conjuntos de datos por parte de varias unidades funcionales. • Replica la Unidad Funcional Fc Fb Segmentados

  5. Segmentación y Paralelismo F1 X Y Z F2 X Y Z F3 X Y Z Fa X X X Fb Y Y Y Fc Z Z Z Segmentados

  6. Segmentación y Paralelismo Segmentación Paralelismo Procesadores Vectoriales Sistólicos SIMD (array) Segmentados VLIW Superescalares Multi-threaded Multicomputers Multiprocessors Segmentados

  7. Multiplexores y Latches Multiplexores y Latches Tc Tc Etapa n Etapa 1 EU EU EU EU Multiplexores y Latches Multiplexores y Latches Estructura General del Pipeline

  8. Estructura del Pipeline de Enteros de IBM Power1 (RS/6000) Ftech D-latch T-latch Instruction Buffer D-in T-in Control Register File S-out A-out B-out Decode Unit Decode/ Write Back S-latch A-latch B-latch Execute Unit Control Logic Unit * / Unit + Execute PSQ Address Cache Data Out Cache Data In Cache Cache Address

  9. Medidas de rendimiento • Tiempo ciclo: tiempo de la etapa más larga. • Latencia: tiempo que tarda el resultado de una instrucción en estar disponible para su posterior utilización. • Latencia debida al load • Latencia debida al uso de un dato que una instrucción precedente calcula • Intervalo de Iniciación (repetition rate): es el más corto intervalo entre subsiguientes instrucciones del pipeline. • Para el pipeline básico, el Intervalo de Iniciación es 1 • Para una UF particular, por ejemplo la de multiplicación, el Intervalo de Iniciación puede ser de 2 o más ciclos. Segmentados

  10. Medidas de rendimiento • P=rendimiento del pipeline: número de instrucciones que se pueden ejecutar por segundo (intervalo de tiempo unitario) I= es el Intervalo de Iniciación del pipeline t= es el tiempo de ciclo • Ejemplo: multiplicación en el PowerPC 603 P=1/(2*12nsec)=44,6 MFLOPS Segmentados

  11. Medidas de rendimiento Procesador Año Carac. Tc(nsec) Precision FADD FMUL FDIV FSQRT MC68040 1990 CISC, 40 s 7/3 9/5 42 107 escalar d SuperSparc 1992 RISC, 30..17 s 1/1 3/1 6/4 8/6 superescalar d 9/7 12/10 a21064 1992 RISC 7/5 s 6/1 6/1 34 - superescalar d 6/1 6/1 63 - HP PA 7100 1992 RISC 16/10 s 2/1 2/1 8 8 superescalar d 2/1 15 15 15 PowerPC601 1992 RISC 20/15 s 4/1 4/1 17 - superescalar d 5/2 31 - MC 88110 1993 RISC 20 s 5/1 6/1 30 - superescalar d 6/2 9/2 60 - PowerPC603 1993 RISC 15/12 s 3/1 3/1 18 - superescalar d - 4/2 33 - Segmentados

  12. Medidas de rendimiento Procesador Año Carac. Tc(nsec) Precision FADD FMUL FDIV FSQRT Power2 1993 RISC, 18/15/14 s 2/1 2/1 27 superescalar d 2/1 2/1 Pentium 1993 CISC, 16..5 s 3/1 3/1 39 70 superescalar d 3/1 3/1 39 70 e 3/1 3/1 39 70 PentiumPro 1995 RISC 7/5 s 3/1 5/2 18 29 superescalar d 3/1 5/2 e 3/1 5/2 PowerPC604 1995 RISC 10..6.7 s 3/1 3/1 18 - superescalar d 3/1 3/1 18 - HP PA 8000 1996 RISC 5.6 s 3/1 3/1 17 17 superescalar d 3/1 3/1 17 17 Segmentados

  13. Medidas de rendimiento • Adiciones y Multiplicaciones se segmentan, divisiones y raíz cuadrada no. • Las latencias de las operaciones no segmentadas han ido decreciendo. • Las latencias de las operaciones segmentadas son estables o dependen de la frecuencia del reloj. Segmentados

  14. Diseño del pipeline • Número de Etapas: • Ventajas: más profundo==> más paralelismo • Desventajas: • aumentan las dependencias de datos y de control • etapas desbalanceadas • aumenta el sesgo del reloj • Primeros procesadores: pocas etapas (2 en RISC-1; 3 en RISC II). Procesadores contemporáneos : de 5 a 10. • Supersegmentados: DEC línea a( a 21064 , a 21164 , a 21264) , Pentium , R4000, MC68060 Segmentados

  15. Etapas del R3000 IF RD ALU/ EA Memoria WB WB operación D-Cache TLB I-Cache RF WB EA TLB IDEC IA Etapa Fase Función IF F1 Usando la TLB, traduce una dirección virtual a una dirección física (ITLB) IF F2 Acceso a la cache de instrucciones (I-Cache) RD F1 Llega la instrucción leída de la caché, comprueba tag y validez (I-Cache) RD F2 Decodifica instrucción (IDEC) Lee el Banco de Registros (RF) Si es un salto, calcula la dirección de salto (IA) ALU F1+ F2 Si es R-R, se realiza la operación (ALU OP) ALU F1 Si es salto, decide si saltar o no. ALU F1 Si es una referencia a memoria, calcula su dirección virtual (DA) ALU F2 Si es una referencia a memoria, traduce su dirección virtual a física (DTLB) MEM F1 Si es una referencia a memoria, envía la dirección a la cache de datos (D-cache) MEM F2 Si es una referencia a memoria, recibe el dato de la caché y chequea el tag. (TC) WB F1 Escribe en el Banco de Registros

  16. Ejemplo: del R3000 al R4000 IF RD ALU/ EA Memoria WB WB operación D-Cache ITLB I-Cache RF WB DA DTLB IDEC IA • Tecnología permite cortar por la mitad el tiempo de ciclo • Acceder al Banco de Registros en la mitad de tiempo • Incorporar la cache de instrucciones y de datos dentro del chip

  17. Ejemplo: del R3000 al R4000 IF RD ALU/ EA Memoria WB WB operación D-Cache TC ITLB I-Cache RF WB DA DTLB IDEC IA Reducción de latencias Reducción de latencias: ALU y L/S duplican velocidad I-Cac RF DTLB WB ITLB D-Cache D-Cache ITLB RF ALU WB TC ALU DTLB I-Cache Acceso Paralelo al TLB y a la Cache indexada virtualmente D-Cache ITLB RF WB TC DTLB ALU I-Cache

  18. DFF IFS IFF RF EX DFS TC WB R4000 Supersegmentado DFF IFS IFF RF EX DFS TC WB • Cada etapa opera a un múltiplo de la frecuencia base: grado de supersegmentación . Por ejemplo, 2 en R4000. • La frecuencia del reloj externo es la frecuencia base. Internamente, la frecuencia del reloj se multiplica por dos permitiendo la ejecución de dos tareas en un ciclo • 8 etapas : 8 instrucciones simultáneas • El pipeline avanza a razón de dos etapas por ciclo. Segmentados

  19. IF RD ALU Mem WB WB DFF IFS IFF RF EX DFS TC WB R3000-R4000 IF RD ALU Mem WB WB DFF IFS IFF RF EX DFS TC WB • R3000 • ciclos de 60nseg • 5 etapas • avanza 1 etapa por ciclo ta tb • R4000 • ciclo base de 30nseg • 8 etapas • avanza 2 etapas por ciclo base Segmentados

  20. Diseño del pipeline • Secuenciamiento de las etapas • Una etapa puede o no repetirse (multiplicaciones y divisiones) Segmentados

  21. Diseño del pipeline • Existencia de cortocircuitos • Elimina los retardos (define-use) en las operaciones de poca latencia (FX). • Todos los procesadores actuales los usan. Excepción: a 21064 tiene UN ciclo de retardo en su pipeline de enteros • En las operaciones de FP, se reducen en un ciclo los retardos utilizando cortocircuitos. Segmentados

  22. Diseño del pipeline • Síncronos o asíncronos • Los procesadores actuales tienen todos pipelines síncronos. • Resolución de Dependencias Método de Resolución Combinado MIPS-R: R2000 y R3000. R6000, R4000 Estático MIPS i860 Dinámico La mayoría de los pipelines Segmentados

  23. Aplicación de la técnica de pipeline • Ejecución de secuencias de la misma operación • Por ejemplo: suma de los elementos de dos vectores. Se usa para ejecutar instrucciones vectoriales • Ejecución de instrucciones • Ejecución de operaciones Segmentados

  24. Pipeline en la ejecución de instrucciones • Pipelines lógicos------> Pipelines físicos E1 E2 WB F I1 D I2 E1 E2 E3 E4 E5 WB E1 E2 DEC a 21064 A C WB Segmentados

  25. Pipelines lógicos, Pipelines físicos • Mismo Pipeline Físico para FX, FP, L/S y B: MIPS 4200 (1994) • Mismo Pipeline Físico para FX, L/S y B: master pipeline • El adder de FX se utiliza para calcular direcciones efectivas de L/S y B. • Ejemplos: MIPS-X; MIPS-R; i486; Pentium • Pipelines dedicados • Múltiples pipelines especializados operando en paralelo • Ejemplos: Power-PC 603, 604, DEC a, Segmentados

  26. Multiplicidad de Pipelines • Algunos procesadores REPLICAN los pipelines físicos: • Las instrucciones más frecuentes son las de aritmética entera y booleana (30-40%). • Loads/Stores representan el 25% y 10% • Saltos, 30% • Ejemplos: Pentium(1993) , Power2(1993) y DEC a 21164(1995) Segmentados

  27. Diferentes y múltiples Pipelines • Completan instrucciones fuera de orden • Métodos para asegurar consistencia: • WB controlado por el software: las instrucciones de CF operan y hay una instrucción especial para realizar la escritura.(sincronización copro con el procesador principal) • Forzar terminación en orden • Reorden en la etapa de finalización Segmentados

  28. Diferentes y múltiples Pipelines E1 WB F D E1 E2 E3 WB R2000- R3000 SPARC(198..) ARM 29000 (1987) i486 (1988) Pentium (1993) PA7100 (1993) MC88110 (1993) Power2(1993) Power 603(1993) Power 604(1995) DEC a 21064 Pentium Pro (1995) E1 F E1 E2 E3 CO WB I2 E1 E2 Segmentados E

  29. Ejemplo:Pentium, Pipelines Lógicos Integer D2 E WB FP D2 C E1 E2 WB ER Load F D1 D2 C WB Store D2 C Branch D2 E1 E2 Segmentados

  30. Pentium: Etapas • Fetch • D1: Decodificación del código de operación. • Integer Pipe: • Operaciones Registro-Registro: D2 X WB • Operaciones Registro-Memoria: D2 calcula la dirección efectiva E: accede a la cache E: operación WB: escribe en los registros Segmentados

  31. Pentium: Etapas • Fetch • D1: Decodificación del código de operación. • FP Pipe: D2 calcula la dirección efectiva C: accede a la cache E: se escribe el operando en los registros FP E: operación (se repite lo que sea necesario) WB: se escribe en FP registers ER: reporte de excepciones Segmentados

  32. Pentium: Pipelines Físicos Branch Prediction Code cache Prefetch Buffers Decode-Issue FP-Register File U-Pipe V-Pipe FP MUL FP ADD FX-Register Cache FP DIV Data Cache

  33. Pentium • Inicia 2 instrucciones de enteros por ciclo, o una de enteros y una de CF. • 5 pipelines lógicos, 3 pipelines físicos: dos master que procesan load/store, Branch e Integer y 1 pipeline de FP. • U-pipe procesa las 5 primeras etapas de FP-pipe • Consistencia secuencial e interrupciones precisas obtenidas por el método de retardar las operaciones hasta que las más largas han finalizado (sincronización).

  34. Power PC 604: Pipelines Lógicos Single-Cycle Integer Pipe E Single-Cycle Integer Pipe E E1 E2 E3 Multi - Cycle Integer Pipe CMPL WB F D I E1 E2 E3 FP pipe E Branch E Load/Store

  35. Power PC 604: Pipelines Físicos

  36. PowerPC 604 • Cada pipeline lógico está implementado con una UF dedicada. • Características más importantes: • Inicio: 4 instrucciones por ciclo • 6 UF, 2 Bancos de Registros • Estaciones de Reserva (Ejecución en desorden) • Buffer de Reorden en la etapa CMPL garantiza terminación en orden (4 instrucciones por ciclo) y excepciones precisas • Buffers de Renombre • Predicción Dinámica Segmentados

  37. Pipelines de Enteros en RISC RISC 5 -etapas 4 -etapas F D E C WB F D E WB MIPS (excepto R8000 y R10000), HP PA7100 I860, Sparc, Am29000, PowerPC Segmentados

  38. F D C A E WB Lect R Genera Dirección Obtiene operando Ejecuta Escribe resultado Pipelines de Enteros en CISC Registro-Memoria Segmentados

  39. Pipelines de Enteros en CISC F D C A E WB Lect R Registro-Registro Ejecuta Escribe resultado Segmentados

  40. Pipelines de Enteros en CISC F D C A E WB Lect R Genera Dirección Load Obtiene operando Escribe resultado Segmentados

  41. Pipelines de Enteros en CISC F D C A E WB Lect R Genera Dirección Store Obtiene operando Segmentados

  42. Pipelines de Enteros en CISC(2) F D C/E A C/E WB Lect R Genera Dirección Obtiene operando Registro-Memoria Ejecuta Escribe resultado Segmentados

  43. Pipelines de Enteros en CISC(2) F D C/E A C/E WB Lect R Genera Dirección Ejecuta Memoria-Registro Escribe Resultado Segmentados

  44. Pipelines de Enteros en CISC CISC 5 -etapas 6 -etapas F D A E/C WB F D A C E WB Pentium, i486 R8000, PA8000 MC68040 MC68060 Segmentados

  45. Ejemplo: i486 Fetch D1 D2 Ex WB • Fetch: Mueve 16 bytes de la cache a la cola de prefetch (5 instrucciones) • D1: Determina la longitud de la instrucción, decodifica prefijos y códigos de operación • D2: Computa direcciones de operandos. • Ex: Acceso a Caché. Lectura de Registros. Ejecución • WB: Actualización de los registros con datos de la ALU o de memoria. Incluye cortocircuito ALU-ALU. Segmentados

  46. Pipeline de Instrucciones L/S Ejecución de L/S Secuencial con Fx Direcciones son calculadas por el pipeline FX En Paralelo con FX Hay una UF dedicada SuperSparc (1992) Power PC601(1993) R4000 (1992) Pentium (1993) 68060 (1993) a21164 (1994) Power 2 (1993) i960CA (1989) MC88110 (1991) PowerPC 603 (1993) PowerPC 604 (1995) PowerPC620 (1996) R8000 (1994) a21064 (1992) Segmentados

  47. Pipeline de Instrucciones L/S • Secuencial con Fx • Master Pipeline • Paralelo con Fx • requiere recibir datos del Banco de Registros en paralelo con la ALU==> puertos adicionales • pueden operar sincronizadamente con el resto de los pipelines o de forma desacoplada. • El desacople se implementa mediante colas de loads y stores pendientes. Segmentados

  48. Load Use Delay • Es un parámetro de la arquitectura y depende de la estructura del pipeline y de la implementación de la caché : LUD • Puede ser resuelto estática o dinámicamente 0 1 2 o 3 i486 MIPSX MC 88100 Pentium R2000-R3000 R4000 SuperSparc R6000 a 21064 R8000 PA 7100 PA 7200 a 21164 Power1 (RS/6000) PowerPC 601, 603 Power2 Segmentados

  49. i486: LDU=0 cortocircuito MOV Reg1, Mem1 Fetch D1 D2 Ex WB ADD Reg1, Reg2 Fetch D1 D2 Ex WB MOV Mem2, Reg1 Fetch D1 D2 Ex WB Segmentados

  50. PowerPC 603: LDU = 1 Load Fetch D Ea CPL WB C Dato Disponible Dato necesario LUD FX Fetch D Ex Ex CPL WB Segmentados

More Related