Sei sulla pagina 1di 43

Arquitectura de

computadoras
UI Arquitecturas de cmputo

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura Segmentada o Pipeling


(introduccin)

Ejemplo

de la Lavandera

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura Segmentada o Pipeling


(introduccin)

Cuatro cargas de Ropa

Lavado (30 minutos)

Secado (30 minutos)

Planchado y doblado (30 minutos)

Puesta de la ropa en su lugar (30 minutos)

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Primer caso: Lavado secuencial

El tiempo total de lavado para las cuatro cargas sera de 8 Horas

Cunto tiempo tomara si se hiciera por segmentacin


de tareas?

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Lavado segmentado

Las cuatro cargas se haran en

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

3.5 horas!!!

Arquitectura Segmentadas

(1/5)

Las arquitecturas segmentadas o con segmentacin del cauce buscan mejorar


el desempeo realizando paralelamente varias etapas del ciclo de instruccin
al mismo tiempo.

El procesamiento se realiza con la ayuda de varios elementos fsicos como:

Procesador

Memoria

Entrada y salida

Bus

Registros

ALU

Unidad de Control

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura Segmentadas

(2/5)

Ciclo de Instruccin (1/3)

Un procesador para realizar una instruccin tiene que hacer los siguientes pasos:

Paso 1. BUSQUEDA. Obtener la de la memoria de programa la operacin o instruccin que se va


a realizar.

Paso 2. RECUPERACION. Llevarla dentro de sus registros

Paso 3. DECODIFICACION. La instruccin leda tiene que ser comnmente desenvuelta o


Traducida para que pueda interpretarse.

Paso 4. DIRECCIONAMIENTO. Un vez interpretada la instruccin, esta seala frecuentemente que


ahora es necesario ir a localizar los datos que se van a operar, que en trminos ms tcnicos se
les dice operandos. Estos dependiendo de varias circunstancias pueden localizarse en los
registros o en la memoria de programa pero comnmente los tomar de la memoria de datos.

Paso 5. EJECUCIN. Una vez que ha localizado los operandos, los lleva dentro del CPU,
comnmente a la ALU para operarlos.

Paso 6. ALMACENAMIENTO. El resultado de la operacin anterior, es almacenado en algn lugar,


comnmente la memoria de datos

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura Segmentadas

(2/5)

Ciclo de Instruccin (2/3)

Esto muestra el proceso para ejecutar una instruccin


BUSQUEDA

RECUPERACION

De manera resumida

INTERPRETACION
(Decodificacion)

DIRECCIONAMIENTO

EJECUCION

R I
D E A
Ciclo de instruccin

Y si queremos ejecutar 10 instrucciones seguidas que tendramos que hacerle a


este proceso?

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

ALMACENAMIENTO

Arquitectura Segmentadas

(2/5)

Ciclo de Instruccin (3/3)

BUSQUEDA

RECUPERACION

INTERPRETACION
(Decodificacion)

DIRECCIONAMIENTO

Se retorna al inicio y se repite de manera indefinida e ininterrumpida

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

EJECUCION

ALMACENAMIENTO

Arquitectura Segmentadas

(3/5)

Ciclo de instruccin en una ejecucin NO segmentada


t0
B

t1 t2 t3 t4 t5
R I
D E A
Ciclo de instruccin 1

t6
B

t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23
R I
D E A B R I
D E A B R I
D E A
Ciclo de instruccin 2
Ciclo de instruccin 3
Ciclo de instruccin 4

De manera simplificada lo podemos agrupar como:


B

LOCALIZACION

OPERACIN

Por lo que una secuencia de cuatro instruccin sera:


t0

t3

t6

t9

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Instruccin 1

t12

Instruccin 2

t15

t18

O
Instruccin 3

t21

t24

O
Instruccin 4

Arquitectura Segmentadas

(4/5)

Considerando que la arquitectura de la mquina posea de manera separada sus unidades de


hardware relacionadas con la localizacin y la operacin.

Unidad de
Localizacin de la
Instruccin

Cola de Instruccones

Unidad de Operacin
o de ejecucin de ls
operandos

LOCALIZACION

OPERACIN

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura Segmentadas

(4/5)

No segmentada

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

* Load-store unit (LSU). Integer or arithmetic-logic unit (ALU) & Floating-point unit (FPU)

Segmentada

Arquitectura Segmentadas

(5/5)

Ciclo de instruccin en una ejecucin segmentada


t0

t2

t3

L1

Unidad de Localizacin
Unidad de Operacin

t0
Cauce, Segmento o
Tubera 1

t1

t1

t4

t5

t6

L2
O1

t2

t3

t4

t7

t5

t6

t7

t10 t11 t12 t13 t14

L4
O3

t8

Instruccin 1

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

t9

L3
O2

Cauce, Segmento o
Tubera 2

t8

t9

O4

t10 t11 t12 t13 t14

O
Instruccin 3

O
Instruccin 2

O
Instruccin 4

El tiempo de ciclo de reloj es el mismo.

La Segmentacin no ayuda a disminuir el tiempo de una tarea sino del conjunto

El hacer mltiples tareas significa necesariamente mltiples recursos trabajando


simultneamente.

La segmentacin mejora el rendimiento del procesador

Porqu?

La mejora en el rendimiento mejor al aumentar ms segmentos pero no es


proporcional al nmero de estos y tiene un lmite

Porqu ?

Qu obstculos pueden encontrarse para la efectividad de este mtodo?

Qu es la supersegmentacin?. Explicacin y diagramas

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Supersegmentacin

La supersegmentacin consiste en dividir las etapas de un cauce en subetapas aprovechando el hecho de que muchas tareas requieren menos de la
mitad de un ciclo de reloj para completarse. Aumenta el nmero de
instrucciones en el cauce en un determinado instante.

Dividiendo cada etapa en dos y utilizando un reloj interno del doble de


frecuencia (supersegmentado de grado dos) se pueden obtener dos
instrucciones por ciclo de reloj.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Supersegmentacin

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

TPP y TPN
Transicin de pendiente Positiva y negativa

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Ejemplo a bloques de un sistema


supersegmentado

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Arquitectura de Computadoras
De Multiprocesadores

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Qu

significa tener
multiprocesamiento?

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Multiprocesamiento

(2/2)

Multiprocesamiento es la capacidad de un sistema de computo relacionado de


ejecutar ms de una instruccin de forma simultanea siempre y cuando estas
pertenezcan al conjunto de todas las instrucciones que definen un mismo
programa o tarea.

La omisin de la ejecucin de una instruccin o una tarea por una unidad


parcial de procesamiento(Core, procesador o computadora) dentro del
sistema de multiprocesamiento no necesariamente significa que el resultado
final del sistema fallar, ya que la actividad omitida por una unidad puede
ser suplida y ejecutada por otra unidad.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Multiprocesamiento
Multicores

Multiprocesadores

Multicomputadoras o
Clusters
Super computadoras

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

(2/2)

Multicores. Procesamiento superescalar

Un procesador superescalar utiliza paralelimo a


nivel de instrucciones y de flujo para poder
ejecutar ms de una microinstruccin por ciclo de
reloj.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Ejecucin Super escalar de grado dos

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

IF = Instruction Fetch,

ID = Instruction Decode, EX = Execution, MEM = Write Data Memory, WB = Write Back to Registers

Arquitectura Superescalar

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Ejecucin Super escalar

Captura de multiples instructions

Logica para determina dependencias verdaderas en las operaciones entre los


registros

Mecanismos para comunicar esos valores

Mechanisms para iniciar multiples operaciones en paralelo

Resources fsicos par< la ejecucin paralela

Mecanismos para completer los procesos en el rden correcto conforme a la


secuencia lgica de las instrucciones

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

SuperEscalar

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Problemticas de la implementacin
Superescalar

DEPENDENCIA DE DATOS VERDADERA

DEPENDENCIAS RELATIVAS AL PROCEDIMIENTO

CONFLICTO DE RECURSOS/DEPENDENCIA DE SALIDA

ANTIDEPENDENCIA

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Problemticas de la implementacin
Superescalar

DEPENDENCIA DE DATOS VERDADERA (Tipo, Read after Write)

Se presenta cuando una instruccin no puede realizarse debido a que una de sus
variables independientes aun no recibe el valor con el que debe de ser operada
debido a que este se obtiene en una instruccin anterior que se esta intentando
intentar simultneamente con una posterior.

Ej.

ADD R1,R2
MOV R3,R1

(R1 = R1+R2)
(R3=R1)

El valor de R1 depende de que la primera instruccin se termine


Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Problemticas de la implementacin
Superescalar

Dependencia relativa al procedimiento

Este problema se presenta cuando existe una bifurcacin en el software (un salto)
debido a que estrictamente hablando, la siguiente instruccin no se puede captar
sino hasta que se ha calculado la nueva direccin donde se encuentra la instruccin
posterior al salto.
Ej.

a=c+d
Si
a>5
No

z= a-y
x =z+g

Aunque no se pone de manera expresa esta


lnea de salto es una instruccin goto que
debe ser capturada y debe calcularse donde
contina el programa

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

CONFLICTO DE RECURSOS.

Se produce cuando se intenta utilizar un mismo recurso por dos instrucciones al


mismo tiempo.
Ej.
- Las memorias
- Los Caches
- Los puertos
- Las ALUs
- Los Registros
- Etc
Aunque se podra parecer a una dependencia de datos verdadera, la diferencia radica en
que algunos de estos conflictos pueden superarse duplicando los recursos que generan
conflicto mientras que una dependencia de datos verdadera no se puede eliminar.
Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Dependencia de salida (Del tipo WAW, write after write)

Similar a la dependencia de recursos, se produce, por ejemplo cuando se intenta


escribir al mismo tiempo en un mismo registro
Ej.
mul r2, r2, r3

; r2 = r2 * r3

add r2, r3, 1

; r2 = r3 + 1

Si se intenta ejecutar de manera simultnea tendremos una dependencia de


salida.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Antidependencia(Tipo WAR, write after read)

Esta se presenta cuando en una variable se escribe (indepbidamente y luego se lee. Esto
solo se puede producir al intentar corregir el proceso de dependencia de datos
verdaderas cambiando el orden de las instrucciones

Ej.
ADD F9,F0,F8

(significa que se realizar F9=F0+F8)

SUB F8,F8,F14

(significa que se realizar F8=F8-F14)

ORDENADO

EJECUCION FUERA DE ORDEN

ADD F9,F0,F8

SUB F8,F8,F14

SUB F8,F8,F14

ADD F9,F0,F8

Como se puede notar, en la ejecucin desordenada se crea una dependencia que antes no
exista y que algortmicamente hablando no debera ser motivo de conflicto ya que fue
programada de una manera en la que no se tena ninguna dependencia

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Recursos para resolver las dependencias producidos


por la ejecucin simultanea o paralela
Ejecucin

Desordenada

Renombramiento
Prediccin

de saltos

Duplicacin
Cmo

de Registros

de recursos

funcionan estos?

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Ejecucin desordenada

Mediante esta tcnica, el procesador busca las dependencias existentes y va


tomando de manera desordenada las instrucciones para irlas ejecutando
adelantando procesos. Puede haber diversa polticas de emisin desordenada.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Renombramiento de Registros
Sirve para disminuir la dependencia de salida
Caractersticas:

El hardware mantiene una lista grande de registros.

Los registros son invisibles al programador y no


necesariamente son registros fsicos.

Se asignan dinmicamente segn se necesitan.

Puede haber varias versiones de un registro fsico al


mismo tiempo.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Renombramiento de registros

Ejemplo:

1. mul r2, r2, r3 ; r2 = r2 * r3

2. add r4, r2, 1

; r4 = r2 + 1

3. add r2, r3, 1

; r2 = r3 + 1

4. div r5, r2, r4

; r5 = r2 / r4

Hay una dependencia de salida entre 1 y 3.

Hay una antidependencia entre 2 y 3.

Hay una dependencia de datos entre 3 y 4.

La instruccin 3 no puede comenzar hasta que la 1 haya terminado y la 2 haya


comenzado.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Renombramiento de registros

Al renombrarlos los registros se pueden etiquetar:


1. mul r2_b, r2_a, r3_a

; r2 = r2 * r3

2. add r4_b, r2_b, 1

; r4 = r2 + 1

3. add r2_c, r3_a, 1

; r2 = r3 + 1

4. div r5_b, r2_c, r4_b ; r5 = r2 / r4

Ahora la instruccin 3 puede comenzar porque usa un registro r2 diferente


que 1 y 2.

Las etiquetas funcionan como historia de cada registro: r2_c es la versin mas
nueva de r2, mientras que r2_a es la versin mas vieja.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Pre-captar instrucciones despus del salto,


prediccin de saltos
Esta tcnica se basa en adivinar cual ser la siguiente instruccin despus del
salto a pesar de no haberse resuelto esta.
Puede haber de varias formas
Estticas:
1) Siempre salta
2) Nunca salta
3) Segn el cdigo de operacin
Dinmicas:
4) Una ves salta otra vez no salta (Conmutador)
5) Tabla de historia de saltos (estadstico). Es una pequea memoria cache
asociada a la etapa de captacin de instruccin del cauce
Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Diagrama de flujo de
Prediccion de Saltos

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Duplicacin de Recursos
Pretende resolver el conflicto de recursos y consiste en aumentar determinados
recursos del procesador durante su diseo para evitar los conflictos de accesos
hacia un mismo elemento de hardware. Un claro ejemplo de esto es duplicando
las ALU o las unidades de punto flotante con la finalidad de poder realizar
operaciones de forma simultanea.
La alternativa es insertar tiempos de espera.

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Ejecucin Supr escalar

Instituto Tecnolgico de Mrida - Arquitectura de computadoras - WMM

Potrebbero piacerti anche