Trabajo MIPS

Embed Size (px)

Citation preview

  • 5/21/2018 Trabajo MIPS

    1/5

    SEGMENTACIN

    Existen dos maneras de acelerar un circuito combinacional: Paralelismo espacial (replicacin de hardware) y Pipelines (Caeras) . Nos concentraremos en estaltima.

    Comenzaremos con una definicin muy general: la implementacin de un pipelinea un circuito combinacional ocurre al segmentar o dividir dicho circuito en N etapasde procesamiento.Dnde los resultados procesados por una etapa son la entrada de la siguiente. Losresultados finales debern ser los mismos que en el circuito original, pero stos searrojarn a una mayor velocidad.

    La velocidad de procesamiento, V = cantidad de datos procesados por unidad detiempo (*otros nombres: Throghput, Ancho de banda, Produccin.)

    En base a esto definiremos: Perodo de un circuito, P = 1 / V

    I. PIPELINE.

  • 5/21/2018 Trabajo MIPS

    2/5

    El proceso en pipeline (o segmentado) es similar al utilizado en cualquiercadena de montaje, y el nombre pipeline (tubera) se debe al hecho de que,como en una tubera, en la entrada se aceptan nuevos elementos(instrucciones) antes de que los previamente aceptados salgan por lasalida.

    Empecemos con el ejemplo de una cadena de montaje. Supongamos unagran pastelera en la que las tartas primero se hacen en el horno y despusse empaquetan para la venta. El proceso de empaquetar una tarta consisteen:

    1. Poner una caja vaca en la mesa.2. Meter una tarta en la caja.3. Cerrar y precintar la caja.4. Poner una etiqueta en la caja.5. Llevar la caja a un gran contenedor.

    Si cada una de estas operaciones la realiza un operario en 10 segundos,parece claro que se tarda 50 s en empaquetar una tarta y, por lo tanto, enempaquetar 10 tartas se tardara 500 s.

    Ahora supongamos que se dispone de una cadena de empaquetado detartas con una cinta transportadora sobre la que trabajan cinco operariosespecializados en tareas distintas. El primer operario pone la caja-1 en lacinta transportadora, y sta avanza hasta que la caja-1 est donde el

    segundo operario, que introduce una tarta dentro de la caja-1, al mismotiempo que el primer operario pone otra caja-2 en la cinta. La caja-1 sigueavanzando hasta el tercer operario, que la cierra y la precinta, al mismotiempo que el segundo operario mete otra tarta en la caja-2 y el primeroperario pone otra caja-3 en la cinta. La caja-1 sigue su camino en la cintapasando por el cuarto operario, que pone una etiqueta, hasta llegar alquinto operario, que la retira de la cinta.En el momento que el quinto operario retira la caja de la cinta, hay cuatro

  • 5/21/2018 Trabajo MIPS

    3/5

    cajas ms en la cinta. Si cada una de estas fases de empaquetado serealiza en 10 s, a partir de ahora, cada 10 s saldr una nueva tartaempaquetada, en lugar de hacerlo cada 50 s que se tardaba cuando nohaba cadena de empaquetado. A partir de ahora, en tener 10 tartasempaquetadas se tardar solamente 100 segundos, mientras que en el

    caso de cuando se tena un solo operario se tardaba 500 segundos.Debe quedar claro que aunque ahora sale una nueva tartaempaquetada cada 10 s, la preparacin completa de cada tarta siguerequiriendo 50 s (igual que cuando haba una sola persona preparando lastartas).Ha aumentado el rendimiento, pero se mantiene el tiempo de empaquetadode cada tarta.

    A. COPCEPTOS BASICOS.

    La ejecucin de una instruccin podra descomponerse en las siguientes 5 etapas:

  • 5/21/2018 Trabajo MIPS

    4/5

    1. F:Alimentacin de la instruccin (fetch)2. D: Decodificacin de la instruccin / Lectura de registros3. E: Ejecucin (en la ALU) / Clculo de la direccin efectiva4. M: Acceso a memoria5. W: Escritura del resultado en registros de la CPU

    Con la tcnica de la segmentacin (o pipelining) se consigue que a cada ciclo dereloj finalice una instruccin, o lo que es lo mismo, una velocidad de instruccinpor ciclo.

    Debemos tener en cuenta que:1. Cada etapa dispone de los recursos hardware necesarios para realizar

    su cometido.2. Las ejecuciones de las instrucciones se solapan.3. Todas las etapas tienen la misma duracin (ciclo de reloj).4. La duracin del ciclo de reloj lo fija la etapa ms lenta.

    II. RIESGOS DE SEGMENTACIN.

    A. Riesgos EstructuralesConflictos en el uso de los recursos del cauce segmentado por parte de lasmultiples instrucciones cuya ejecucin se solapa (recursosinsuficientemente replicados o UF no segmentadas).

    Causas: Recursos insuficientes: los recursos no se han replicado lo

    suficiente como para permitir la ejecucin solapada de todas las

    combinaciones de instrucciones sin dar lugar a prdida de ciclos Unidades Funcionales no segmentadas: no es posible iniciar una

    secuencia de instrucciones en la que varias consecutivas utilicenesa unidad funcional sin esperas y por tanto prdida de ciclos

    B. Riesgos por Dependencias de DatosProblemas derivados de dependencias entre instrucciones cuya ejecucinse solapa.Las Lecturas/Escrituras sobre una misma variable (registro) debenefectuarse en el orden que especifica el programa secuencial

    Problema de la Dependencia de Datos Dominio de una Instruccin (D[I]):

    Conjunto de variables (registros) sobre las que la instruccinrealiza lecturas.

    Rango de una Instruccin (R[I]):Conjunto de variables (registros) sobre las que la instruccinrealiza escrituras.

  • 5/21/2018 Trabajo MIPS

    5/5

    C. Riesgos de ControlProblemas derivados de las instrucciones de control de flujo, debido aldesconocimiento temporal de la siguiente instruccin a ejecutar.

    Soluciones de los riesgos.