INFORME_ARQUITECTURA_COMPUTADORES

Embed Size (px)

Citation preview

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    1/8

    ARQUITECTURA DE

    COMPUTADORES

    SEGMENTACION DE

    INSTRUCCIONES ENMICROPROCESADORES

    GRUPO 3:

    DIEGO PANCHO

    LUIS HIDALGO

    JUAN PAEZ

    FRANCISCO CORAL

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    2/8

    INFORME

    Tema:Segmentacin de Instrucciones en Microprocesadores

    Objetivo General:

    Comprender que con la Segmentacin de Instrucciones se mejora el rendimiento

    de un Microprocesador.

    Objetivos especficos:

    Determinar el mejor camino para optimizar el tiempo y energa que gasta un

    microprocesador al momento de ejecutar una instruccin.

    Realizar un anlisis y formulacin de una posible solucin utilizando la

    segmentacin de instrucciones para un microprocesador.

    Marco Terico:

    Segmentacin de Instrucciones en Microprocesadores

    La Segmentacin (pipelining) es un mtodo por el cual se consigue aumentar elrendimiento de algunos sistemas electrnicos digitales. Es aplicado, sobre todo, enmicroprocesadores. El nombre viene de que para impulsar el gas en un oleoducto a la

    mxima velocidad es necesaria dividir el oleoducto en tramos y colocar una bombaquede un nuevo impulso al gas. El smil con la programacin existe en que los clculosdeben ser registrados o sincronizados con el reloj cada cierto tiempo para que la rutacrtica (tramo con ms carga o retardo computacional entre dos registros de reloj) sereduzca.La ruta crtica es en realidad la frecuencia mxima de trabajo alcanzada por elconjunto. A mayor ruta crtica (tiempo o retraso entre registros) menor es la frecuenciamxima de trabajo y a menor ruta crtica mayor frecuencia de trabajo. La una es lainversa de la otra. Repartir o segmentar equitativamente el clculo hace que esafrecuencia sea la ptima a costa de ms rea para el almacenamiento o registro de losdatos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida del

    resultado equivalente al nmero de segmentaciones o registros realizados. La ventajaprimordial de este sistema es que, tal y como se muestra en la imagen, una vezelpipeest lleno, es decir, despus de una latencia de cuatro en la imagen, losresultados de cada comando vienen uno tras otro cada flanco de reloj y sin latenciaextra por estar encadenados dentro del mismo pipe. Todo esto habiendo maximizado lafrecuencia mxima de trabajo.

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    3/8

    Detalle de la Segmentacin de Instrucciones:

    El alto rendimiento y la velocidad elevada de los modernos procesadores, se debe,principalmente a la conjuncin de tres tcnicas:

    Arquitectura Harvard (arquitectura que propicia el paralelismo). Procesadores del tipo RISC.

    Segmentacin.

    En el caso de la Segmentacin esta consiste en descomponer la ejecucin de cadainstruccin en varias etapas para poder empezar a procesar una instruccin diferenteen cada una de ellas y trabajar con varias a la vez.En el caso del procesador DLX podemos encontrar las siguientes etapas enuna instruccin:

    IF: Bsqueda

    ID: Decodificacin EX: Ejecucin de la ALU

    MEM: Memoria

    WB: Escritura

    Cada una de estas etapas de la instruccin usa en exclusiva un hardware determinadodel procesador, de tal forma que la ejecucin de cada una de las etapas en principio nointerfiere en la ejecucin del resto.

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    4/8

    En el caso de que el procesado no pudiese ejecutar las instrucciones en etapassegmentadas, la ejecucin de la siguiente instruccin slo se podra llevar a cabo trasla finalizacin de la primera. En cambio en un procesador segmentado, salvoexcepciones de dependencias de datos o uso de unidades funcionales, la siguienteinstruccin podra iniciar su ejecucin tras acabar la primera etapa de la instruccin

    actual.Otro ejemplo de lo anterior, en el caso del PIC, consiste en que el procesador realice almismo tiempo la ejecucin de una instruccin y la bsqueda del cdigo de la siguiente.

    MICROPROCESADOR DLX

    El DLX es unmicroprocesadorRISC diseado porJohn Hennessy yDavid A. Patterson,los diseadores

    principales de la arquitecturaMIPS y deBerkeley RISC (respectivamente), los dos ejemplos de la

    arquitectura RISC. El DLX es bsicamente unMIPS revisado y simplificado con una arquitectura simple

    de carga/almacenamiento de 32 bits. Pensado principalmente para propsitos educativos, se utiliza

    ampliamente en cursos de nivel universitario sobrearquitectura de computadores.

    Las instrucciones DLX se pueden separar en, tipo R, tipo I y tipo J. Las instrucciones de tipo R son

    instrucciones de registro puras, con un operando y tres registros contenidos en la palabra de 32 bits. Las

    de tipo I son similares, pero slo incluyen un registro, y usan los otros 16bits empleados en las de tipo R

    para indicar los otros dos registros para almacenar valores inmediatos. Por ltimo, las de tipo J

    son saltos, conteniendo un operando y una direccin de 26 bits.

    Losopcodes tienen una longitud de 6 bits, lo que hacen un total de 64 posibles instrucciones bsicas.

    Hacen falta 5 bits para seleccionar uno de los 32 registros. En el caso de las instrucciones de tipo J slo

    18 de los 32 bits de la palabra son usados, lo que implica que los 6 bits ms bajos se puedan emplear

    para indicar "instrucciones extendidas". Esto permite al DLX ms de 64 instrucciones, siempre y cuando

    slo trabajen con registros. Es til para, por ejemplo, el soporte deUnidad de coma flotante.

    El DLX, como el MIPS, basa su rendimiento en el uso de la segmentacin de cauce o pipeline. En el

    diseo DLX es un ejemplo sencillo, un concepto clsico del RISC.

    La segmentacin de cauce tiene cinco etapas:

    IF - Unidad de obtencin de instruccin. Tpicamente referida como la "unidad de carga" en

    terminologa moderna.

    http://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/RISChttp://es.wikipedia.org/wiki/John_Hennessyhttp://es.wikipedia.org/wiki/David_A._Pattersonhttp://es.wikipedia.org/wiki/MIPS_architecturehttp://es.wikipedia.org/w/index.php?title=Berkeley_RISC&action=edit&redlink=1http://es.wikipedia.org/wiki/MIPS_(procesador)http://es.wikipedia.org/wiki/Arquitectura_de_computadoreshttp://es.wikipedia.org/wiki/Opcodehttp://es.wikipedia.org/wiki/FPUhttp://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_caucehttp://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_caucehttp://es.wikipedia.org/wiki/FPUhttp://es.wikipedia.org/wiki/Opcodehttp://es.wikipedia.org/wiki/Arquitectura_de_computadoreshttp://es.wikipedia.org/wiki/MIPS_(procesador)http://es.wikipedia.org/w/index.php?title=Berkeley_RISC&action=edit&redlink=1http://es.wikipedia.org/wiki/MIPS_architecturehttp://es.wikipedia.org/wiki/David_A._Pattersonhttp://es.wikipedia.org/wiki/John_Hennessyhttp://es.wikipedia.org/wiki/RISChttp://es.wikipedia.org/wiki/Microprocesador
  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    5/8

    ID - Unidad de decodificacin de instruccin. Esta unidad toma la instruccin del IF, y extrae el

    opcode y los operandos. Tambin obtiene los valores en registros si es necesario.

    EX - Unidad de ejecucin. Ejecuta la instruccin, normalmente referido comoALU en terminologa

    moderna.

    MEM - Unidad de acceso a memoria. Obtiene datos de la memoria, Controlada desde el ID y el EX.

    WB - WriteBack unit. Llamada a la unidad de almacenamiento en terminologa moderna.

    RIESGOS DE LA SEGMENTACIN

    - RiesgosEstructurales:El Hardware no soporta la Ejecucin de 2 instrucciones (Conflicto de Recursos). Un solo Bus de

    Memoria Detencin de 1 ciclo. => Duplicar buses .

    - Riesgos Dependencia de Datos:Los operandos de una instruccin dependen de la anterior (Orden de Acceso los cambia la

    Segmentacin). Detencin de 3 ciclos. => Registros Cerrojos a la Salida de la ALU con realimentacin a

    la Entrada Detencin de 1 Ciclo.

    RAW -j trata de leer antes de que i escriba

    WAR -j trata de escribir antes de que i lea

    WAW -j trata de escribir antes de que i escriba

    - Riesgos de Control:Ejecucin de un Salto, puede o no cambiar el PC a algo diferente de su valor. Detencin de 3 Ciclos. =>

    Realimentacin del PC en Memoria Detencin de 2 ciclos. (Averiguar si el salto es o no Efectivo /Calcular PC Efectivo).

    http://es.wikipedia.org/wiki/ALUhttp://es.wikipedia.org/wiki/ALU
  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    6/8

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    7/8

    Conclusiones:

    Podemos concluir que la Segmentacin de Instrucciones ha participado

    eficazmente en el tratamiento del rendimiento de los procesadores ya que

    siendo un mtodo eficaz sigue siendo usada en muchas arquitecturas, por lo que

    se puede decir que la Segmentacin de Instrucciones se la debe utilizar en

    medida a los requerimientos que necesitemos para nuestros

    microprocesadores/procesadores.

    Se debe tener en cuenta que el diseo del repertorio de instrucciones puede

    afectar negativamente a la segmentacin.

    Longitudes de las instrucciones y tiempos de ejecucin variables pueden

    llevar a un desequilibrio entre las etapas de segmentacin.

    Incrementar la longitud del cauce segmentado no tiene por qu incrementar

    el rendimiento.

    La sobrecarga por los registros de desacoplo puede limitar el aumento en la

    frecuencia del reloj que se consigue con una segmentacin ms

    avanzada.38 El hardware del camino de datos y de control se complica:

    Caminos de anticipacin.

    Lgica para deteccin de conflictos de datos.

    Lgica para prediccin de saltos.

    Desde 1986 se ha mantenido un 60% de incremento anual en el rendimiento de los

    procesadores utilizando tcnicas basadas en la segmentacin.

    La segmentacin mejora la productividad, pero no el tiempo de ejecucin de cada

    instruccin.

    RISC(del ingls Reduced Instruction Set Computer, en espaol Computador con Conjunto de

    Instrucciones Reducidas

    Bibliografa:

  • 7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES

    8/8