Upload
erika-cruz
View
13
Download
3
Embed Size (px)
DESCRIPTION
Libro de Morris Mano
Citation preview
Arquitectura de
computadoras
UI Arquitecturas de cómputo
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentada o Pipeling
(introducción)
Ejemplo de la Lavandería
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentada o Pipeling
(introducción)
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 Tecnológico de Mérida - Arquitectura de computadoras - WMM
Primer caso: Lavado secuencial
El tiempo total de lavado para las cuatro cargas sería de 8 Horas
¿Cuánto tiempo tomaría si se hiciera por segmentación
de tareas?
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Lavado segmentado
Las cuatro cargas se harían en 3.5 horas!!!Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (1/5)
Las arquitecturas segmentadas o con segmentación del cauce buscan mejorar el desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo.
El procesamiento se realiza con la ayuda de varios elementos físicos como:
Procesador
Memoria
Entrada y salida
Bus
Registros
ALU
Unidad de Control
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (2/5)
Ciclo de Instrucción (1/3)
Un procesador para realizar una instrucción tiene que hacer los siguientes pasos:
Paso 1. BUSQUEDA. Obtener la de la memoria de programa la operación o instrucción que se va
a realizar.
Paso 2. RECUPERACION. Llevarla dentro de sus registros
Paso 3. DECODIFICACION. La instrucción leída tiene que ser comúnmente “desenvuelta” o
“Traducida” para que pueda interpretarse.
Paso 4. DIRECCIONAMIENTO. Un vez interpretada la instrucción, esta señala frecuentemente que
ahora es necesario ir a localizar los datos que se van a operar, que en términos más técnicos se
les dice operandos. Estos dependiendo de varias circunstancias pueden localizarse en los
registros o en la memoria de programa pero comúnmente los tomará de la memoria de datos.
Paso 5. EJECUCIÓN. Una vez que ha localizado los operandos, los lleva dentro del CPU,
comúnmente a la ALU para operarlos.
Paso 6. ALMACENAMIENTO. El resultado de la operación anterior, es almacenado en algún lugar,
comúnmente la memoria de datos
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (2/5)
Ciclo de Instrucción (2/3)
Esto muestra el proceso para ejecutar una instrucción
De manera resumida
¿Y si queremos ejecutar 10 instrucciones seguidas que tendríamos que hacerle a este proceso?
BUSQUEDA RECUPERACIONINTERPRETACION
(Decodificacion)DIRECCIONAMIENTO EJECUCION ALMACENAMIENTO
B R I D E A
Ciclo de instrucción
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (2/5)
Ciclo de Instrucción (3/3)
Se retorna al inicio y se repite de manera indefinida e ininterrumpida
BUSQUEDA RECUPERACIONINTERPRETACION
(Decodificacion)DIRECCIONAMIENTO EJECUCION ALMACENAMIENTO
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (3/5)
Ciclo de instrucción en una ejecución NO segmentada
De manera simplificada lo podemos agrupar como:
Por lo que una secuencia de cuatro instrucción sería:
B R I D E A
L O
LOCALIZACION OPERACIÓN
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20 t21 t22 t23
B R I D E A B R I D E A B R I D E A B R I D E A
Ciclo de instrucción 1 Ciclo de instrucción 2 Ciclo de instrucción 3 Ciclo de instrucción 4
t0 t3 t6 t9 t12 t15 t18 t21 t24
L O
Instrucción 2 Instrucción 3 Instrucción 4
O
Instrucción 1
L O L OLInstituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (4/5)
Considerando que la arquitectura de la máquina posea de manera separada sus unidades de
hardware relacionadas con la localización y la operación.
B R I
L
LOCALIZACION
D E A
O
OPERACIÓN
Unidad de
Localización de la
Instrucción
Unidad de Operación
o de ejecución de ls
operandos
Cola de Instruccones
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (4/5)
* Load-store unit (LSU). Integer or arithmetic-logic unit (ALU) & Floating-point unit (FPU)
No segmentada Segmentada
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Segmentadas (5/5)
Ciclo de instrucción en una ejecución segmentada
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14
Unidad de Operación
Unidad de Localización
O4
L1 L2 L3 L4
O1 O2 O3
t0 t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14
Cauce, Segmento o
Tubería 1
Cauce, Segmento o
Tubería 2
L O
L O
Instrucción 1
Instrucción 2
Instrucción 3
Instrucción 4
L O
L O
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
El tiempo de ciclo de reloj es el mismo.
La Segmentación no ayuda a disminuir el tiempo de una tarea sino del conjunto
El hacer múltiples tareas significa necesariamente múltiples recursos trabajando simultáneamente.
La segmentación mejora el rendimiento del procesador
¿Porqué?
La mejora en el rendimiento mejor al aumentar más segmentos pero no es proporcional al número de estos y tiene un límite
¿Porqué ?
¿Qué obstáculos pueden encontrarse para la efectividad de este método?
¿Qué es la supersegmentación?. Explicación y diagramas
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Supersegmentación
La supersegmentación consiste en dividir las etapas de un cauce en sub-
etapas aprovechando el hecho de que muchas tareas requieren menos de la
mitad de un ciclo de reloj para completarse. Aumenta el número 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 Tecnológico de Mérida - Arquitectura de computadoras - WMM
Supersegmentación
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
TPP y TPN
Transición de pendiente Positiva y negativa
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Ejemplo a bloques de un sistema
supersegmentado
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura de Computadoras
De Multiprocesadores
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
¿Qué significa tener
multiprocesamiento?
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Multiprocesamiento (2/2)
- Multiprocesamiento es la capacidad de un sistema de computo relacionado de ejecutar más de una instrucción de forma simultanea siempre y cuando estas pertenezcan al conjunto de todas las instrucciones que definen un mismo programa o tarea.
- La omisión de la ejecución de una instrucción 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 Tecnológico de Mérida - Arquitectura de computadoras - WMM
Multiprocesamiento (2/2)
Multicores
Multiprocesadores
Multicomputadoras o
Clusters
Super computadorasInstituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Multicores. Procesamiento superescalar
Un procesador superescalar utiliza paralelimo a
nivel de instrucciones y de flujo para poder
ejecutar más de una microinstrucción por ciclo de
reloj.
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Ejecución Super escalar de grado dos
IF = Instruction Fetch, ID = Instruction Decode, EX = Execution, MEM = Write Data Memory, WB = Write Back to Registers
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Arquitectura Superescalar
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Ejecución 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 físicos par< la ejecución paralela
Mecanismos para completer los procesos en el órden correcto conforme a la
secuencia lógica de las instrucciones
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
SuperEscalar
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Problemáticas de la implementación
Superescalar
DEPENDENCIA DE DATOS VERDADERA
DEPENDENCIAS RELATIVAS AL PROCEDIMIENTO
CONFLICTO DE RECURSOS/DEPENDENCIA DE SALIDA
ANTIDEPENDENCIA
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Problemáticas de la implementación
Superescalar
DEPENDENCIA DE DATOS VERDADERA (Tipo, Read after Write)
Se presenta cuando una instrucción 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 instrucción anterior que se esta intentando
intentar simultáneamente con una posterior.
Ej.
ADD R1,R2 (R1 = R1+R2)
MOV R3,R1 (R3=R1)
El valor de R1 depende de que la primera instrucción se termineInstituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Problemáticas de la implementación
Superescalar Dependencia relativa al procedimiento
Este problema se presenta cuando existe una bifurcación en el software (un salto)
debido a que estrictamente hablando, la siguiente instrucción no se puede captar
sino hasta que se ha calculado la nueva dirección donde se encuentra la instrucción
posterior al salto.
Ej.a=c+d
a>5
z= a-y
x =z+g
Si
NoAunque no se pone de manera expresa esta
línea de salto es una instrucción goto que
debe ser capturada y debe calcularse donde
continúa el programa
Instituto Tecnológico de Mérida - 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 podría 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 Tecnológico de Mérida - 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 simultánea tendremos una dependencia de
salida.
Instituto Tecnológico de Mérida - 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 ejecución desordenada se crea una dependencia que antes no existía y que algorítmicamente hablando no debería ser motivo de conflicto ya que fue programada de una manera en la que no se tenía ninguna dependencia
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Recursos para resolver las dependencias producidos
por la ejecución simultanea o paralela
Ejecución Desordenada
Renombramiento de Registros
Predicción de saltos
Duplicación de recursos
¿Cómo funcionan estos?
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Ejecución desordenada
Mediante esta técnica, el procesador busca las dependencias existentes y va
tomando de manera desordenada las instrucciones para irlas ejecutando
adelantando procesos. Puede haber diversa políticas de emisión desordenada.
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Renombramiento de Registros
Sirve para disminuir la dependencia de salida
Características:
El hardware mantiene una lista grande de registros.
Los registros son invisibles al programador y no
necesariamente son registros físicos.
Se asignan dinámicamente según se necesitan.
Puede haber varias versiones de un registro físico al
mismo tiempo.
Instituto Tecnológico de Mérida - 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 instrucción 3 no puede comenzar hasta que la 1 haya terminado y la 2 haya
comenzado.
Instituto Tecnológico de Mérida - 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 instrucción 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 versión mas
nueva de r2, mientras que r2_a es la versión mas vieja.
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Pre-captar instrucciones después del salto,
predicción de saltos
Esta técnica se basa en “adivinar” cual será la siguiente instrucción después del salto a pesar de no haberse resuelto esta.
Puede haber de varias formas
Estáticas:
1) Siempre salta
2) Nunca salta
3) Según el código de operación
Dinámicas:
4) Una ves salta otra vez no salta (Conmutador)
5) Tabla de historia de saltos (estadístico). Es una pequeña memoria cache asociada a la etapa de captación de instrucción del cauce
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Diagrama de flujo de
Prediccion de Saltos
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM
Duplicación de Recursos
Pretende resolver el conflicto de recursos y consiste en aumentar determinados
recursos del procesador durante su diseño 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 Tecnológico de Mérida - Arquitectura de computadoras - WMM
Ejecución Supér escalar
Instituto Tecnológico de Mérida - Arquitectura de computadoras - WMM