Segmentación de Cauce.pdf

February 19, 2019 | Author: Anibal Morales | Category: Central Processing Unit, Computer Hardware, Computer Architecture, Office Equipment, Computing
Share Embed Donate


Short Description

Download Segmentación de Cauce.pdf...

Description

Segmentación de Ca Cauce y Procesadores Segmentados Curso : ARQUITECT ARQUITECTURA URA DE COMPUT COMPUTADORAS ADORAS 2018A

Contenido 2.1 Introducción Introducción:: Definición

y No Notas tas Hi Histó stóric ricas as Prin inci cipi pios os de la la Segm Segmen enta taci ción ón y 2.2 Pr Mejora Mej ora de Pre Presta stacio ciones nes 2.3 Diseño De Un Procesador Segmentado. Gestion Gesti on De Riesgos Riesgos De Datos, Datos, Contro Controll Y

Contenido 2.1 Introducción Introducción:: Definición

y No Notas tas Hi Histó stóric ricas as Prin inci cipi pios os de la la Segm Segmen enta taci ción ón y 2.2 Pr Mejora Mej ora de Pre Presta stacio ciones nes 2.3 Diseño De Un Procesador Segmentado. Gestion Gesti on De Riesgos Riesgos De Datos, Datos, Contro Controll Y Estructurales

PIPELINING Es

una técnica empleada en el diseño de procesadores, basada en la división de la ejecución de las instrucciones en etapas, consiguiendo así que una instrucción empiece a ejecutarse antes de que hayan terminado las anteriores y, por tanto, que haya varias instrucciones procesándose simultáneamente.

Contenido 2.1 Introducción Introducción:: Definición

y No Notas tas Hi Histó stóric ricas as Prin inci cipi pios os de la la Segm Segmen enta taci ción ón y 2.2 Pr Mejora Mej ora de Pre Presta stacio ciones nes 2.3 Diseño De Un Procesador Segmentado. Gestion Gesti on De Riesgos Riesgos De Datos, Datos, Contro Controll Y Estructurales

PIPELINING Es

una técnica empleada en el diseño de procesadores, basada en la división de la ejecución de las instrucciones en etapas, consiguiendo así que una instrucción empiece a ejecutarse antes de que hayan terminado las anteriores y, por tanto, que haya varias instrucciones procesándose simultáneamente.

PIPELINING Es

una técnica empleada en el diseño de procesadores, basada en la división de la ejecución de las instrucciones en etapas, consiguiendo así que una instrucción empiece a ejecutarse antes de que hayan terminado las anteriores y, por tanto, que haya varias instrucciones procesándose simultáneamente.

Mejorar

desempeño realizando paralelamente varias etapas del ciclo de instrucción al mismo tiempo.

En

el procesador las unidades funcionales se dividen entre ellas el procesamiento de las instrucciones.

En

el procesador las unidades funcionales se dividen entre ellas el procesamiento de las instrucciones.

La

segmentación se utiliza para hacer procesadores mas rapidos

La

segmentación se utiliza para hacer procesadores mas rapidos

Segmentación

del procesador en etapas para procesar una instrucción diferente en cada una de ellas y trabajar con varias a la vez.

Segmentación

del procesador en etapas para procesar una instrucción diferente en cada una de ellas y trabajar con varias a la vez.

IBM 709 Computador

basado en tubos de vacío con memoria de núcleos de ferrita. Apareció en 1958 como mejora del IMB 704, este incorporaba canales los cuales permitían el solapamiento de instrucciones y las entradas y salidas. Con la misma frecuencia de reloj se conseguia 60% mas de prestaciones.

IBM 70941 Apareció

en 1962 Computador implementado con transistores y memoria de núcleos de ferrita y que incluía un registro IBR(Instruction Backup Register). IBR almacena la siguiente instrucción a ejecutar Con una frecuencia 6 veces mayor se obtiene una velocidad 7,5 veces mayor. 25% mas de prestaciones

IBM 70941 Apareció

en 1962 Computador implementado con transistores y memoria de núcleos de ferrita y que incluía un registro IBR(Instruction Backup Register). IBR almacena la siguiente instrucción a ejecutar Con una frecuencia 6 veces mayor se obtiene una velocidad 7,5 veces mayor. 25% mas de prestaciones Se observa que se puede lograr una mejora en la velocidad que no se basa exclusivamente en el aumento de la velocidad del circuito.

IBM 7030 STRECH Proyecto

Strech primero en utilizar termino “segmentación de cauce” Primer procesador de propósito general segmentado. Implementado a través de un cauce con cuatro etapas que solapaban la captación, decodificación y la ejecución. Años 50, 60 y 70 la segmentación de cauce pasa a un

IBM 7030 STRECH Proyecto

Strech primero en utilizar termino “segmentación de cauce” Primer procesador de propósito general segmentado. Implementado a través de un cauce con cuatro etapas que solapaban la captación, decodificación y la ejecución. Años 50, 60 y 70 la segmentación de cauce pasa a un segundo plano.

En

1981 se publica 1er libro “Kogge” dedicado a la segmentación de cauce En los 80 resurge la segmentación de cauce gracias a las instrucciones RISC Procesadores RISC se diseñaron desde principio como “procesadores segmentados” Para los años 90 la segmentación se utiliza incluso en los procesadores embebidos los cuales necesitaban

En

1981 se publica 1er libro “Kogge” dedicado a la segmentación de cauce En los 80 resurge la segmentación de cauce gracias a las instrucciones RISC Procesadores RISC se diseñaron desde principio como “procesadores segmentados” Para los años 90 la segmentación se utiliza incluso en los procesadores embebidos los cuales necesitaban prestaciones aún mas elevadas. Primer procesador con cauce supersegmentado fue MIPS R4000.

2.2 PRINCIPIOS DE LA SEGMENTACIÓN Y MEJORA DE LAS PRESTACIONES

2.2 PRINCIPIOS DE LA SEGMENTACIÓN Y MEJORA DE LAS PRESTACIONES

Consideremos

que una operación se ejecuta en un tiempo T, la segmentación se basa en dividir la ejecución en fases que se realicen una después de la otra pero de forma independiente.

Consideremos

que una operación se ejecuta en un tiempo T, la segmentación se basa en dividir la ejecución en fases que se realicen una después de la otra pero de forma independiente.

GANANCIA DE VELOCIDAD “n” operaciones 

 =

TLI:

_ 

=

   

tiempo de latencia inicial. N: número de operaciones en el cauce t: tiempo de procesamiento de una etapa. T: tiempo de ejecución de una operación. k: número de etapas.

GANANCIA DE VELOCIDAD “n” operaciones 

 =

_ 

=

   

TLI:

tiempo de latencia inicial. N: número de operaciones en el cauce t: tiempo de procesamiento de una etapa. T: tiempo de ejecución de una operación. k: número de etapas.

Si

el número de instrucciones tiende a infinito.

á

=

 

TLI=k

.t Si T=TLI 

 =

_ 

=

    

 =

 

Si

el número de instrucciones tiende a infinito.

á

=

 

TLI=k

.t Si T=TLI 

 =

_ 

=

    

 =

 

Inserta un registro de desacoplo entre etapas

2.3 DISEÑO DE UN PROCESADOR SEGMENTADO. GESTION DE RIESGOS DE DATOS, CONTROL Y ESTRUCTURALES

Consideramos

una instrucción que codifica una operación con dos registros como operandos y un registro como destino: Rc Ra op Rb ←

Esta

distribución de tareas nos lleva a un cauce con cuatro etapas: -IF(Instruction Fetch) -ID/OF(Instruction Decode/Operand

Consideramos

una instrucción que codifica una operación con dos registros como operandos y un registro como destino: Rc Ra op Rb ←

Esta

distribución de tareas nos lleva a un cauce con cuatro etapas: -IF(Instruction Fetch) -ID/OF(Instruction Decode/Operand Fetch) -ALU -OS(Operand Store)

Distribución inicial de etapas en el diseño de un procesador segmentado

Distribución inicial de etapas en el diseño de un procesador segmentado

• Considerando solo este tipo de instrucciones, se pueden presentar situaciones que reducen el rendimiento del cauce. Riesgos de datos surgen por dependencia entre operandos y resultados de instrucciones distintas

• Existen una serie de condiciones que pueden hacer que un cauce no genere resultados correctos a no ser que se interrumpa su funcionamiento durante un numero de ciclos

• Considerando solo este tipo de instrucciones, se pueden presentar situaciones que reducen el rendimiento del cauce. Riesgos de datos surgen por dependencia entre operandos y resultados de instrucciones distintas

• Existen una serie de condiciones que pueden hacer que un cauce no genere resultados correctos a no ser que se interrumpa su funcionamiento durante un numero de ciclos determinado. Por tanto disminuirá el rendimiento del cauce, a no ser que se empleen una serie de técnicas.



Así un riesgo o dependenciahazard , en ingles! es cualquier condici"n que pueda interrumpir el flu#o continuo, en este caso, de instrucciones, a tra$és del cauce. %e distinguen tres tipos& 'Riesgos de (atos 'Riesgos de control 'Riesgos Estructurales

Riesgos Estructurales o coliiones surgen cuando instrucciones diferentes necesitan un recurso al mismo tiempo

R)E%*+% (E (A+%

Riesgos de control surgen por



Así un riesgo o dependenciahazard , en ingles! es cualquier condici"n que pueda interrumpir el flu#o continuo, en este caso, de instrucciones, a tra$és del cauce. %e distinguen tres tipos& 'Riesgos de (atos 'Riesgos de control 'Riesgos Estructurales

Riesgos Estructurales o coliiones surgen cuando instrucciones diferentes necesitan un recurso al mismo tiempo

R)E%*+% (E (A+%

Riesgos de control surgen por instrucciones de salto condicional

• -a escritura en el anco de registros siempre se hace en la ultima etapa, la etapa +%. Por lo tanto, en el dise/o de cauce que se planteo, los riesgos de tipo 0AR y RA0 no causan prolemas de ning1n tipo.

• -a escritura en el anco de registros siempre se hace en la ultima etapa, la etapa +%. Por lo tanto, en el dise/o de cauce que se planteo, los riesgos de tipo 0AR y RA0 no causan prolemas de ning1n tipo.

2.3.1 Soluciones para la dependencias de datos de tipo RAW

• -as alternati$as mas importantes para e$itar los prolemas de los riesgos RA0 son&  – Reorgani2aci"n de c"digo  – )nterloqueo entre etapas  – -os ata#os bypass paths o forwarding!

2.3.1 Soluciones para la dependencias de datos de tipo RAW

• -as alternati$as mas importantes para e$itar los prolemas de los riesgos RA0 son&  – Reorgani2aci"n de c"digo  – )nterloqueo entre etapas  – -os ata#os bypass paths o forwarding!

3. Reorgani2aci"n de C"digo

3. Reorgani2aci"n de C"digo

2. Interbloqueo entre etapas

• %e introducen elementos hard4are en el cauce para detectar la existencia de dependencias.

2. Interbloqueo entre etapas

• %e introducen elementos hard4are en el cauce para detectar la existencia de dependencias.

3. Atajos (bypass paths o forwarding)

3. Atajos (bypass paths o forwarding)

Alumno 5orales 5oya Ed4ard Anial

• E#emplo de e#ecuci"n de dos instrucciones con dependencia RA0 que ilustra el funcionamiento de la técnica de caminos de ypass.

• E#emplo de e#ecuci"n de dos instrucciones con dependencia RA0 que ilustra el funcionamiento de la técnica de caminos de ypass.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF