Top Banner
Tema 1: PROCESADORES SEGMENTADOS 1.1. Procesadores RISC frente a procesadores CISC. 1.2. Clasificación de las arquitecturas paralelas. 1.3. Evaluación y mejora del rendimiento de un computador. 1.4. Características de los procesadores segmentados. 1.5. Arquitectura segmentada genérica. 1.6. Riesgos en la segmentación. 1.7. Planificación dinámica: Algoritmo de Tomasulo.
36

Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Oct 11, 2018

Download

Documents

lamcong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Tema 1: PROCESADORES SEGMENTADOS

• 1.1. Procesadores RISC frente a procesadores CISC.

• 1.2. Clasificación de las arquitecturas paralelas.

• 1.3. Evaluación y mejora del rendimiento de un computador.

• 1.4. Características de los procesadores segmentados.

• 1.5. Arquitectura segmentada genérica.

• 1.6. Riesgos en la segmentación.

• 1.7. Planificación dinámica: Algoritmo de Tomasulo.

Page 2: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

CARACTERÍSTICAS DE LOS PROCESADORES

SEGMENTADOS

• Segmentación (pipelining): técnica empleada en el diseño de procesadores que trata de aprovechar el paralelismo intrínseco que existe entre instrucciones en un flujo secuencial.

• Un elemento (unidad funcional, procesador, circuito etc.) se divide en una serie de etapas que funcionan de forma independiente por las que van pasando los operandos y las instrucciones

Page 3: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Tarea procesada de forma totalmente secuencial

Page 4: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Tarea ejecutada mediante un procesador segmentado

(equivale a una cadena de montaje)

profundidad de la

segmentación=

número de etapas en que puede

dividirse el procesamiento de una

instrucción

Page 5: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

ARQUITECTURA SEGMENTADA

GENÉRICA (ASG) Sencilla arquitectura con propósitos educativos.

Memoria principal

CO OP=16

DO

200 +

RB

216

CP

Relativo a Registro

Base

DE

Operaciones

carga/almacenamiento Modo de direccionamiento

con desplazamiento

DE=<Registro base>+OP

DE= Dirección efectiva

RB= Registro base (R1,R2…) OP= Desplazamiento

CP=Contador de programa

CO= Código operación DO= Dato operando en memoria

Las instrucciones aritmético lógicas utilizan 3 operandos

y ninguno hace referencia a memoria. (instrucciones registro –registro)

Page 6: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Repertorio de instrucciones de la ASG

• Aritméticas y lógicas

• Transferencia de datos

• Bifurcaciones o saltos incondicionales

• Saltos condicionales

CO Opd(destino) Op1(fuente 1) Op2(fuente 2)

• 32 registros genéricos de 32 bits R0,R1,R2..R31

• 32 registros de 32 bits para simple F0,F1,F2..F31

• o doble precisión F0,F2,F4..F30

Page 7: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Repertorio de instrucciones de la ASG

• Aritméticas y lógicas

• Transferencia de datos – (entre paréntesis

aparece el Registro Base propio del Direccionamiento con desplazamiento)

– realizan movimiento entre memoria y registro o viceversa

• Bifurcaciones o saltos incondicionales

• Saltos condicionales

• Un salto es efectivo cuando la condición probada por la instrucción es verdadera

Page 8: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

IMPLEMENTACIÓN DE LA SEGMENTACIÓN DE

INSTRUCCIONES EN LA ASG

EL CICLO DE UNA INSTRUCCIÓN SE DESCOMPONE EN CINCO ETAPAS BÁSICAS

• IF (Instruction Fetch): Lectura de la instrucción de la caché de instrucciones

• ID (Instruction Decoding): Decodificación de la instrucción y lectura de sus operandos del fichero de registros

• EX (Execution): Ejecución de las operaciones si se trata de una instrucción aritmético-lógica y del cálculo de la condición y de la dirección de salto si se trata de una bifurcación o salto condicional. Cálculo de dirección en instrucción de carga y almacenamiento

• MEM (Memory Access): Acceso a la caché de datos para lecturas (cargas) o escrituras (almacenamientos)

• WB (Write-Back results): Escritura del resultado en el fichero de registros.

Page 9: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

IMPLEMENTACIÓN DE LA SEGMENTACIÓN DE

INSTRUCCIONES EN LA ASG

Page 10: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

Page 11: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

OP

ER

A C

IÓN

ALU

Page 12: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

CA

RG

A

DE

M

EM

OR

IA

Page 13: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

ALM

AC

EN

AM

IEN

TO

E

N M

EM

OR

IA

Page 14: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

SA

LT

O IN

CO

ND

ICIO

NA

L

Page 15: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Eje

mp

lo d

e s

egm

enta

ció

n d

e instr

uccio

nes

Etapa IF

Etapa ID

Etapa EX

Etapa MEM

Etapa WB

SA

LT

O C

ON

DIC

ION

AL

Page 16: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Segmentación en cinco etapas de la ASG

• Se incrementa

la

productividad,

es decir, el

número de

instrucciones

completadas

por unidad de

tiempo

Page 17: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Ventajas de la segmentación

• No reduce el tiempo de ejecución de una instrucción individual (algo superior debido a – Cerrojo o buffers de

contención para aislar la información entre etapas.

– La duración de todas las etapas es similar y viene determinada por la duración de la etapa más lenta

– Los riesgos que se producen en la segmentación (siguiente apartado)

Page 18: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación

• Se denomina riesgo a la dependencia entre instrucciones que provoca que la instrucción que sucede a aquella con la cual posee dependencias no pueda ejecutarse en el ciclo de reloj que le corresponde ya que ha de esperar algún resultado para poder efectuar su ejecución

• Existen 1. RIESGOS ESTRUCTURALES

2. RIESGOS POR DEPENDENCIA DE DATOS

3. RIESGOS DE CONTROL

Page 19: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación 1. Riesgos estructurales

Conflictos en los recursos; una instrucción en una etapa no puede avanzar a la

siguiente porque el hardware que necesita lo está usando otra.

Ejemplo: máquina con un único puerto de memoria (no dispone de dos memorias

caché). SOLUCIÓN: Una detención no resuelve el problema globalmente (con

estas instrucciones sí).

ASG dispone de dos cachés

(datos + instrucciones)

Page 20: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación 1. Riesgos estructurales

No todas las etapas tienen la

misma duración

I1: ADD R3, R6, R7

I2: MULT R4, R1, R2

I3: MULT R5, R8, R9

I4: SD 7(R11), R10

Page 21: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación

• RAW - Read After Write (dependencia verdadera)

• Una dependencia RAW hace referencia a una situación donde se necesita un dato que aún no ha sido calculado, por ejemplo:

• ADD R1, R2, R3 SUB R4, R1, R5

2. Riesgos por dependencias de datos (dos

instrucciones comparten algún dato)

Page 22: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación

2. Riesgos por dependencias de datos • WAR - Write After Read (antidependencia o dependencia

falsa)

• Una dependencia WAR representa un problema de ejecución concurrente, por ejemplo:

• ADD R1, R2, R3 SUB R2, R4, R5

• Es necesario asegurarse de que no se almacenará el resultado en el registro R2 antes de que la instrucción 1 haya podido leer sus operandos.

Page 23: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación

2. Riesgos por dependencias de datos • WAW - Write After Write

• Una dependencia WAW es otra de las posibles situaciones problemáticas en un entorno de ejecución concurrente, por ejemplo:

• ADD R1, R2, R3 SUB R1, R4, R5

• Debe retrasarse la escritura (etapa WB) de la instrucción 2 hasta que la instrucción 1 haya finalizado.

Page 24: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación

2. Riesgos por dependencias de datos

• RAR (Read After Read) no es un riesgo.

• La ASG solo tiene riesgos de tipo – RAW->SOLUCIONES

• REORGANIZACIÓN DEL CÓDIGO.

• INTERBLOQUEO ENTRE ETAPAS

• ADELANTAMIENTO

• WAR no se presenta pues lecturas de registro en ID es anterior a escrituras de registro en WB

• WAW no se produce pues solo se escribe en una etapa WB

Page 25: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW-> 1. SOLUCIONES

REORGANIZACIÓN DEL CÓDIGO

• Entre instrucciones de tipo RAW existen instrucciones que permiten retrasar la segunda hasta que la primera haya escrito su resultado.

problema

solución

Page 26: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW-> 1. SOLUCIONES

REORGANIZACIÓN DEL CÓDIGO

• Se trata de una técnica software. Se

cargan en ese orden las instrucciones en

la caché de instrucciones otra solución

Page 27: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW-> 1. SOLUCIONES

REORGANIZACIÓN DEL CÓDIGO

• Reorganización cuando la escritura se realiza en el flanco de subida y la lectura en el flanco de bajada.

otra solución

otra solución

aun mejor con

reordenación de

´código

Page 28: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW-> 1. SOLUCIONES

REORGANIZACIÓN DEL CÓDIGO

No se pueden reordenar sin alterar la

lógica del programa:

SOLUCIÓN: inclusión de instrucciones

NOP

Page 29: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW-> 2. SOLUCIONES

INTERBLOQUEO ENTRE ETAPAS

• Introduce elementos hardware para

detectar la existencia de dependencias. El

programa termina correctamente pero se

siguen perdiendo ciclos

Page 30: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

RAW->3. SOLUCIONES

ADELANTAMIENTO (caminos de bypass o

forwarding) • Al detectar dependencia RAW se habilitan unos caminos que permiten que

los resultados de una etapa pasen a la etapa donde sean necesarias. En el ejemplo se comprueba si Registro destino coincide con alguno de los registros fuente de la instrucción siguiente.

Page 31: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8 Riesgos en la segmentación 1 RIESGOS ESTRUCTURALES 2 RIESGOS POR DEPENDENCIA DE DATOS 3 RIESGOS DE CONTROL: En la instrucción de salto, hasta que no pasan tres ciclos no se ha verificado la condición y calculado la nueva dirección del PC.

Redundante si

el salto no es

efectivo

Podemos leer la siguiente

instrucción en la secuencia aun

a riesgo de que no sea efectivo

el salto

Page 32: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8.3

Rie

sg

os d

e c

on

tro

l.

Imple

men

tació

n d

e lo

s s

alto

s

con

dic

ion

ale

s e

n A

SG

Page 33: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

8.3 Riesgos de control en instrucciones de salto

(SOLUCIONES EN TIEMPO DE COMPILACIÓN):

SOLUCIÓN 1: Detener las segmentación hasta que se

conoce el resultado del salto->Introducción de

instrucciones NOP

Reduce

rendimiento

segmentación

Page 34: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

SOLUCIÓN 1: Introducción de NOP

(SOLUCIONES EN TIEMPO DE COMPILACIÓN)

SOLUCIÓN 2: Técnica de salto retardado(delayed branch)

para

evitar las

NOP

Page 35: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

(SOLUCIONES EN TIEMPO DE COMPILACIÓN)

SOLUCIÓN 3: Ejecución especulativa. Se predice el salto como no

efectivo. Si al final el salto es efectivo se detiene la segmentación y se

recomienza la búsqueda de la instrucción destino del salto (cuidado

con no cambiar el estado de la máquina al retroceder)

Page 36: Tema 1: PROCESADORES SEGMENTADOS - … · Tema 1: PROCESADORES SEGMENTADOS • 1.1. Procesadores RISC frente a procesadores CISC. • 1.2. ... Tarea ejecutada mediante un procesador

Solución hardware al Riesgos de control.

Inclusión en la etapa ID del hardware que detecta

la instrucción de salto, acceda al registro para

evaluar la condición y calculo la dirección de

destino del salto

Redundante si

el salto no es

efectivo