Click here to load reader

Tema t4.pdf · PDF file• IDEA: Descomposición en etapas de la ejecución de la instruc. (Busqueda instruc., operandos, etc.) ... Tema 4: Procesadores Segmentados 7 ¾ Tras un intervalo

  • View
    231

  • Download
    0

Embed Size (px)

Text of Tema t4.pdf · PDF file• IDEA: Descomposición en etapas de la...

  • Arquitectura de Computadores

    Tema 4 PROCESADORES SEGMENTADOS

  • Tema 4: Procesadores Segmentados 1

    1. Arquitecturas RISC y CISC.

    2. Unidad de Control monociclo y multiciclo.

    3. Segmentacin.

    3.1. Ruta de datos del MIPS R2000. 3.2. Control segmentado.

    3.2.1. Riesgos de la segmentacin. 3.2.2. Riesgos estructurales. 3.2.3. Riesgos por dependencia de datos. 3.2.4. Riesgos de control

    3.3. Segmentacin en los operadores aritmtico-lgicos.

    4. Supersegmentacin.

  • Tema 4: Procesadores Segmentados 2

    1. Arquitecturas RISC y CISC. El Juego de Instrucciones es una de las decisiones ms importantes que debe tomar el diseador.

    N de instrucciones. Duracin (en ciclos de reloj). Tamao (RI). N operandos. Tipo.

    Hablemos del tipo.

    En los primeros computadores haba pocas instrucciones con 1 o 2 modos de direccionamiento.

    En 1964 Wilkes introduce la microprogramacin.

    Las seales de control se almacenan en una memoria pequea y rpida Memoria de Control.

    Se simplifica la circuitera. Los juegos de intrucciones se hacen cada vez ms complejos. Las instrucciones se acercan a las de los lenguajes de alto nivel.

    Sw

    Hw

    Tendencia a incluir + instrucciones, + potentes y + modos de direccionamiento.

    Arquitectura CISC (Complex Instruction Set Computers). Ej: VAX 200 instruc. y 12 modos de direcc. Acab siendo un freno a la velocidad del computador.

  • Tema 4: Procesadores Segmentados 3

    Aos 70 Cambio de filosofa.

    Estudio de la frecuencia de ejecucin de las instrucciones. Se ejecutan ms a menudo las ms simples (transferencias, sumas,

    incrementos). Se vuelve a juegos de intrucciones ms sencillos con pocos modos

    de direccionamiento.

    Sw

    Hw

    Se puede implementar con Control Cableado (+ rpido). Arquitectura RISC (Reduced Instruction Set Computers). Aumenta la complejidad de los compiladores. PRINCIPIO BSICO: ejecutar una instruccin por ciclo de reloj. Requieren memorias muy rpidas (cachs).

    Ejemplos:

    CISC: Intel 80x86, Motorola 680x0 RISC: MIPS Rx000, Motorola Power-PC, Sun SPARC.

    Tendencias:

    Hbridos que llevan lo mejor de cada uno. No hay una lnea divisoria clara.

  • Tema 4: Procesadores Segmentados 4

    2. Unidad de Control monociclo y multiciclo. TIEMPO DE CICLO DEL RELOJ (TCLK): duracin del periodo de reloj del sistema. (F = 1 / TCLK Mhz)

    Las seales de control se activan y desactivan en sincrona con los pulsos del reloj.

    nivel bajo

    nivel alto

    flanco desubida

    flanco debajada

    periodo (TCLK)

    Seal de reloj

    N DE CICLOS POR INSTRUCCIN: Tejec. instr. / TCLK

    Tiempo de ejecucin de una instruccin en ciclos de reloj. Segn se implemente la UC, una instruc. se ejecutar en uno o ms

    ciclos de reloj.

    UNIDAD DE CONTROL MONOCICLO: Cada instruccin se ejecuta en un ciclo de reloj. PROBLEMA: El tiempo de ciclo de ejecucin de instruccin se debe

    adaptar al de la instruc. ms larga. Todas las instruc. tardan lo mismo, aunque no lo necesiten. Desaprovecha recursos Hw. del procesador (ocioso).

    TCLK

  • Tema 4: Procesadores Segmentados 5

    UNIDAD DE CONTROL MULTICICLO:

    Hay instrucciones que no utilizan todas las etapas o su fase de ejecucin dura menos.

    IDEA: Descomposicin en etapas de la ejecucin de la instruc. (Busqueda instruc., operandos, etc.)

    Cada etapa se ejecuta en un ciclo de reloj. CICLO DE RELOJ: Tan largo como la etapa de instruc. ms larga. Varios tipos de instruc. en funcin de las etapas que utilizan. Cada instruc. se ejecutar en tantos ciclos como etepas tenga (segn

    su complejidad). Lo normal es que las UC sean Multiciclo. Permite mejorar las prestaciones del procesador usando tcnicas

    como la SEGMENTACIN.

    CONTROL MONOCICLO

    TODAS LAS INSTRUCCIONES

    CONTROL MULTICICLO

    INSTRUCCIONES CLASE I

    INSTRUCCIONES CLASE II

    INSTRUCCIONES CLASE III

    INSTRUCCIONES CLASE IV

    TCLK

    TCLK

  • Tema 4: Procesadores Segmentados 6

    3. Segmentacin. La ejecucin de una instruccin pasa por varias etapas:

    1. Bsqueda de Instruccin. 2. Decodificacin. 3. Bsqueda de Operandos. 4. Ejecucin. 5. Almacenamiento de Resultados.

    En un procesador NO segmentado las instrucciones se ejecutan secuencialmente.

    Operacin de un procesador secuencial

    1

    Bsqueda1

    2

    Decodifica1

    3

    B.Operandos1

    4

    Ejecucin1

    5

    Almacena1

    6

    Bsqueda2

    7

    Decodifica2

    ...

    ...

    En un procesador SEGMENTADO cuando una instruc. termina por una etapa, esa etapa la ocupa la siguiente instruc.

    Operacin de un procesador segmentado de 5 etapas

    1

    Bsqueda1

    2

    Decodifica1

    3

    B.Operandos1

    4

    Ejecucin1

    5

    Almacena1

    6

    ...Bsqueda2

    Decodifica2

    Bsqueda3

    Decodifica3

    B.Operandos2

    Bsqueda4

    Decodifica4

    B.Operandos3

    Ejecucin2 Ejecucin3

    B.Operandos4

    Almacena2

    ...

    ... ...

    ... ... ...

    ... ... ... ...

    Bsqueda5

    Decodifica5

    7

    ...

    Ejecucin4

    B.Operandos5

    Almacena3

    ...

    Es como en las cadenas de montaje o los tneles.

  • Tema 4: Procesadores Segmentados 7

    Tras un intervalo de tiempo se termina de ejecutar una instruccin en cada ciclo de reloj.

    NOTA: No se reduce el tiempo de ejecucin de la instruccin.

    Mejora la PRODUCTIVIDAD: N instruc. por unidad de tiempo.

    Se reduce el TIEMPO MEDIO DE EJECUCIN de las instrucciones.

    ._.___.

    ._ instrucNT

    T instruclastodasejecejecmedio =

    En un procesador segmentado ideal, la velocidad se multiplicara por el n de etapas en que est segmentado (x5 en el ejemplo).

    No va a ser as:

    Las etapas no estn equilibradas.

    50 50 60 50 50 50 50 .....

    260 ms

    INSTRUCCIN 1 INSTRUCCIN 2

    NO SEGMENTADO

    300 ms

    60 60 60 60 60SEGMENTADO

    60 60 60 60 60

    La segmentacin involucra gasto (TEJEC. ETAPA SEG > TEJEC. ETAPA NO SEG.).

    325 ms

    65 65 65 65 65

    65 65 65 65 65

  • Tema 4: Procesadores Segmentados 8

    ACELERACIN: Mejora en tiempo de ejecucin de una mquina segmentada frente a la misma no segmentada.

    465260

    .__

    .__ ===segconmedio

    segsinmedio

    TT

    A

    Veamos cmo se implementa una UC segmentada y cmo sera la ruta de datos en la ejecucin de una instruccin.

  • Tema 4: Procesadores Segmentados 9

    3.1. Ruta de datos del MIPS R2000. Ruta de datos sin segmentar:

    Ruta de datos para la arquitectura MIPS

    Add

    Add4

    MUX

    cp Direccinde lectura

    instruccin

    MEMORIA DEINSTRUCCIONES

    registro delectura 1registro delectura 2registro deescrituradato deescritura

    Salida 1

    Salida 2

    BANCO DEREGISTROS

    Cero

    Resultado

    UAL

    extensinde signo

    Direccinde lectura

    Direccinde escritura

    dato deescritura

    MEMORIA DEDATOS

    lecturadato

    despl.izq. 2

    16 32

    MUX

    MUX

    Instrucciones y datos se desplazan de izda. a dcha., salvo:

    Guardar resultado en registros. Se cambia el CP (saltos).

    Elegir con el MUX, CP+4 (instruc. de 32 bits) No hay salto. Dir. salto calculada en la fase de ejecucin Salto.

    La UAL se utiliza tambin para calcular la direccin de memoria donde leer/escribir un dato.

  • Tema 4: Procesadores Segmentados 10

    La ejecucin de una instruccin se puede dividir en varias etapas.

    En el MIPS R2000 se divide en 5 etapas.

    Ello implica dividir la ruta de datos en 5 secciones.

    Cada una corresponder a una etapa de la segmentacin.

    Ruta de datos para la arquitectura MIPS donde se observan las etapas de ejecucinde las instrucciones

    Add

    Add4

    MUX

    CPDireccinde lectura

    instruccin

    MEMORIA DEINSTRUCCIONES

    registro delectura 1registro delectura 2registro deescrituradato deescritura

    Salida 1

    Salida 2

    BANCO DEREGISTROS

    Cero

    Resultado

    UAL

    extensinde signo

    Direccinde lectura

    Direccinde escritura

    dato deescritura

    MEMORIA DEDATOS

    lecturadato

    despl.izq. 2

    16 32

    Bsqueda de la instruccin Bsqueda registros ydecodificacin de la

    instruccin

    Ejecucin y clculode la direccin de

    salto

    Acceso a memoria Guardar elresultado

    MUX

    MUX

  • Tema 4: Procesadores Segmentados 11

    Funcionamiento de la segmentacin en el MIPS R2000.

    A la MEMORIA DE INSTRUCCIONES slo se accede en la 1 etapa de ejecucin.

    Puede ser compartida en la ejecucin de otras instrucciones. Cuando la 1 se encuentre en las otras 4 etapas.

    Pero en el siguiente ciclo de reloj se perder la 1 instruccin. La MEMORIA DE INSTRUCCIONES se usar para obtener la siguiente

    instruccin a ejecutar. Para el resto de sus etapas no estar disponible.

    Es necesario tener un REGISTRO TEMPORAL que guarde la instruc. para la siguiente etapa.

    Para el resto de etapas ocurrir lo mismo. La ruta de datos contendr una serie de registros temporales al final

    de cada etapa de segmentacin. Todas las instruc. avanzan durante cada ciclo de reloj de un registro

    al siguiente.

    Memoriade

    instrucciones Regi

    stro

    ste

    mpo

    rale

    s

    Banco deregistros(lectura) Re

    gist

    ros

    tem

    pora

    les

    UAL

    Regi

    stro

    ste

    mpo

    rale

    s

    Memoriade

    datos Regi

Search related