Arquitectura de Procesadores Procesadores Segmentados - PowerPoint PPT Presentation

About This Presentation
Title:

Arquitectura de Procesadores Procesadores Segmentados

Description:

Title: Arquitectura de Procesadores Procesadores Segmentados Author: Flia Monsegur Last modified by: HARBBY SALAZAR Created Date: 5/24/1999 12:57:41 PM – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 52
Provided by: Flia58
Category:

less

Transcript and Presenter's Notes

Title: Arquitectura de Procesadores Procesadores Segmentados


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

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
4
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
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
6
Segmentación y Paralelismo
  • Segmentación Paralelismo
  • Procesadores Vectoriales
  • Sistólicos
  • SIMD (array)
  • Segmentados
  • VLIW
  • Superescalares
  • Multi-threaded
  • Multicomputers
  • Multiprocessors

7
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
Register File
Control
S-out
A-out
B-out
Decode Unit
Decode/ Write Back
S-latch
A-latch
B-latch
Execute Unit
Control
Logic Unit
/ Unit

Execute
Address
PSQ
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.

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
  • P1/(212nsec)44,6 MFLOPS

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 10
7 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 - supe
rescalar 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 Powe
rPC601 1992 RISC 20/15 s 4/1 4/1 17 - superesca
lar 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 -
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 Pentium Pro 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 superesca
lar d 3/1 3/1 17 17
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.

14
Diseño del pipeline
  • Número de Etapas
  • Ventajas más profundogt 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

15
Etapas del R3000
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
  • 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
18
R4000 Supersegmentado
DFF
IFS
IFF
RF
EX
WB
TC
DFS
  • 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.

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

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

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.

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
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

24
Pipeline en la ejecución de instrucciones
  • Pipelines lógicos------gt Pipelines físicos

E1
E2
WB
F
I1
D
I2
E1
E2
E3
E4
E5
WB
E1
E2
DEC a 21064
A
C
WB
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,

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)

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

28
Diferentes y múltiples Pipelines
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
WB
CO
I2
E1
E2
E
29
EjemploPentium, Pipelines Lógicos
Integer
D2
E
WB
FP
D2
C
E1
E2
ER
WB
Load
F
D1
D2
C
WB
Store
D2
C
Branch
D2
E1
E2
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

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

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
WB
CMPL
D
I
F
E1
E3
E2
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

37
Pipelines de Enteros en RISC
RISC
5 -etapas
4 -etapas
D
E
F
WB
C
D
E
F
WB
MIPS (excepto R8000 y R10000), HP PA7100
I860, Sparc, Am29000, PowerPC
38
Pipelines de Enteros en CISC
Registro-Memoria
39
Pipelines de Enteros en CISC
D
F
C
A
E
WB
Lect R
Registro-Registro
Ejecuta
Escribe resultado
40
Pipelines de Enteros en CISC
D
F
C
A
E
WB
Lect R
Genera Dirección
Load
Obtiene operando
Escribe resultado
41
Pipelines de Enteros en CISC
D
F
C
A
E
WB
Lect R
Genera Dirección
Store
Obtiene operando
42
Pipelines de Enteros en CISC(2)
D
F
C/E
WB
A
C/E
Lect R
Genera Dirección
Obtiene operando
Registro-Memoria
Ejecuta
Escribe resultado
43
Pipelines de Enteros en CISC(2)
D
F
C/E
WB
A
C/E
Lect R
Genera Dirección
Ejecuta
Memoria-Registro
Escribe Resultado
44
Pipelines de Enteros en CISC
CISC
5 -etapas
6 -etapas
D
A
F
WB
E/C
D
E
F
WB
A
C
Pentium, i486 R8000, PA8000
MC68040 MC68060
45
Ejemplo i486
  • 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.

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
i960CA (1989) MC88110 (1991) PowerPC 603
(1993) PowerPC 604 (1995) PowerPC620
(1996) R8000 (1994) a21064 (1992)
SuperSparc (1992) Power PC601(1993) R4000 (1992)
Pentium (1993) 68060 (1993) a21164 (1994) Power
2 (1993)
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 ALUgt 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.

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-R
3000 R4000 SuperSparc R6000 a 21064 R8000 PA
7100 PA 7200 a 21164 Power1 (RS/6000) PowerPC
601, 603 Power2
49
i486 LDU0
cortocircuito
MOV Reg1, Mem1
Fetch
D1
D2
WB
Ex
ADD Reg1, Reg2
Fetch
D1
D2
WB
Ex
MOV Mem2, Reg1
Fetch
D1
D2
WB
Ex
50
PowerPC 603 LDU 1
Fetch
D
Ea
WB
CPL
Load
C
Dato Disponible
LUD
Dato necesario
Fetch
D
WB
Ex
Ex
CPL
FX
51
R4000 LDU2
DFF
IFS
IFF
RF
EX
WB
TC
DFS
Dato Disponible
LDU
Dato Necesario
Write a Comment
User Comments (0)
About PowerShow.com