SlideShare una empresa de Scribd logo
Arquitectura de Computadores

      Planificación de código:
      Segmentación software
Planificación de código
Planificación de código
                            Planificación de código




                                                                  Global
                                                              •     Planificación instrucciones
De bloques básicos                                            •     Planificación de bucles
•   Planificador de
    listas
                                De bucles


                 Desarrollo de bucles       Segmentación software
Planificación de código -> De bucles -> Segmentación Software

            • Reordenación y reorganización de las instrucciones de un bucle
            • Se intercalan instrucciones de distintas iteraciones sin desarrollar el
              bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones
              del bucle original (el objetivo es situar instrucciones dependientes lo
              mas alejadas posible)
  Ej:
                                    Iteración i
                                    ld f0,0(r1)
         Bucle inicial
                                    add f4,f0,f2
   loop: ld f0,0(r1)                sd f4,0(r1)
         add f4,f0,f2                Iteración i +1
         sd f4,0(r1)
         addi r1,r1,#-8              ld f0,0(r1)
Inst.
                                     add f4,f0,f2
Control bnez r1,loop
                                     sd f4,0(r1)
                                     Iteración i +2
                                     ld f0,0(r1)
                                     add f4,f0,f2
                                     sd f4,0(r1)
Planificación de código -> De bucles -> Segmentación Software

            • Reordenación y reorganización de las instrucciones de un bucle
            • Se intercalan instrucciones de distintas iteraciones sin desarrollar el
              bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones
              del bucle original (el objetivo es situar instrucciones dependientes lo
              mas alejadas posible)
  Ej:
                                    Iteración i
                                    ld f0,0(r1)                      Bucle final
         Bucle inicial
                                    add f4,f0,f2
   loop: ld f0,0(r1)                sd f4,0(r1)               loop: sd f4,16(r1)
         add f4,f0,f2                                               add f4,f0,f2
                                     Iteración i +1
         sd f4,0(r1)                                                ld f0,0(r1)
         addi r1,r1,#-8              ld f0,0(r1)                    addi r1,r1,#-8
Inst.                                                                                   Inst.
                                     add f4,f0,f2                   bnez r1,loop
Control bnez r1,loop                                                                    Control
                                     sd f4,0(r1)
                                     Iteración i +2
                                     ld f0,0(r1)
                                     add f4,f0,f2
                                     sd f4,0(r1)
Planificación de código -> De bucles -> Segmentación Software

            • Reordenación y reorganización de las instrucciones de un bucle
            • Se intercalan instrucciones de distintas iteraciones sin desarrollar el
              bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones
              del bucle original (el objetivo es situar instrucciones dependientes lo
              mas alejadas posible)
  Ej:
                                    Iteración i
                                    ld f0,0(r1)                      Bucle final
         Bucle inicial
                                    add f4,f0,f2
   loop: ld f0,0(r1)                sd f4,0(r1)               loop: sd f4,16(r1)
         add f4,f0,f2                                               add f4,f0,f2
                                     Iteración i +1
         sd f4,0(r1)                                                ld f0,0(r1)
         addi r1,r1,#-8              ld f0,0(r1)                    addi r1,r1,#-8
Inst.                                                                                   Inst.
                                     add f4,f0,f2                   bnez r1,loop
Control bnez r1,loop                                                                    Control
                                     sd f4,0(r1)
                                     Iteración i +2
                                     ld f0,0(r1)
                                     add f4,f0,f2
                                     sd f4,0(r1)
Planificación de código -> De bucles -> Segmentación Software

 • Reordenación y reorganización de las instrucciones de un bucle
 • Se intercalan instrucciones de distintas iteraciones sin desarrollar el
   bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones
   del bucle original (el objetivo es situar instrucciones dependientes lo
   mas alejadas posible)

         • La estructura del programa suele ser: Prólogo – Bucle –Epílogo
         • Objetivo:
              Encontrar una secuencia de instrucciones repetitiva que se
                pueda ejecutar en un solo ciclo o en un número pequeño de
                ciclos
              Es realmente una tarea dificultosa y no siempre son iteraciones
                tan favorables
Planificación de código -> De bucles -> Segmentación Software

Ventajas
       • Consume menos espacio de código
       • Se consigue una ejecución con un paralelismo mayor durante más
         tiempo de ejecución
       • Aprovecha mejor el paralelismo de la máquina

Obstáculos
       • Presencia de anti-dependencias
       • Saltos incondicionales
       • Bucles con pocas instrucciones y latencias largas
           • Combinar segmentación software y desarrollo de bucles

Implementación
       • URPR: UnRolling, Pipeling and Rerolling
          1. Planifica el bucle como un bloque básico y lo desarrolla k veces
          2. Reordena las instrucciones para obtener mayor paralelismo
          3. Busca el patrón repetitivo

Más contenido relacionado

La actualidad más candente

Modelos de programacion
Modelos de  programacionModelos de  programacion
Modelos de programacion
David Rodríguez Gómez
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
AngelGabrielTorresGa
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
DARKGIRL93
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridadRodrigo Avendaño
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
emiru48
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
Jose Tannous
 
Listas
ListasListas
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
Daniel Gomez Jaramillo
 
Concavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotasConcavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotas
freddy remache
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
Noel E Jimenez
 
Ventajas y desventajas modelos
Ventajas y desventajas modelosVentajas y desventajas modelos
Ventajas y desventajas modelos
CristHian Martinez
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTOELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
elsiscarolinacaasest
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no Lineales
José Antonio Sandoval Acosta
 
Listas y Pilas
Listas y PilasListas y Pilas
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
José Antonio Sandoval Acosta
 
arboles-b
arboles-barboles-b

La actualidad más candente (20)

Modelos de programacion
Modelos de  programacionModelos de  programacion
Modelos de programacion
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Ordenamiento parte 2
Ordenamiento parte 2Ordenamiento parte 2
Ordenamiento parte 2
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridad
 
hashing y colisiones
hashing y colisioneshashing y colisiones
hashing y colisiones
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
 
Listas
ListasListas
Listas
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Concavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotasConcavidad puntos de inflexión asintotas
Concavidad puntos de inflexión asintotas
 
Colas
ColasColas
Colas
 
Árboles Binarios y Grafos
Árboles Binarios  y GrafosÁrboles Binarios  y Grafos
Árboles Binarios y Grafos
 
Arbol B
Arbol BArbol B
Arbol B
 
Ventajas y desventajas modelos
Ventajas y desventajas modelosVentajas y desventajas modelos
Ventajas y desventajas modelos
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTOELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
ELEMENTOS CLAVES PARA LA SEGURIDAD POR ACCESO REMOTO
 
Estructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no LinealesEstructura de Datos - Unidad IV: Estructuras no Lineales
Estructura de Datos - Unidad IV: Estructuras no Lineales
 
Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
arboles-b
arboles-barboles-b
arboles-b
 

Similar a Arquitectura de computadores segmentacion software

Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
RootedCON
 
Problema vliw 2
Problema vliw 2Problema vliw 2
Problema vliw 2
Pedro Plopezh
 
Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80
Pablo Chumania
 
Modulo 02a ospf-y_e_bgp_basico_ipv6
Modulo 02a ospf-y_e_bgp_basico_ipv6Modulo 02a ospf-y_e_bgp_basico_ipv6
Modulo 02a ospf-y_e_bgp_basico_ipv61 2d
 
Guia 5 3 2015 c2
Guia 5 3 2015 c2Guia 5 3 2015 c2
Guia 5 3 2015 c2
erik19borgnia
 
Análisis de complejidad big o
Análisis de complejidad  big o Análisis de complejidad  big o
Análisis de complejidad big o
UVM
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
lmendi
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
lmendi
 

Similar a Arquitectura de computadores segmentacion software (9)

Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
Javier Moreno & Eloi Sanfélix - Seguridad y explotación nativa en Android [Ro...
 
Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Problema vliw 2
Problema vliw 2Problema vliw 2
Problema vliw 2
 
Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80Rutinas y Sub Rutinas del MicroZ80
Rutinas y Sub Rutinas del MicroZ80
 
Modulo 02a ospf-y_e_bgp_basico_ipv6
Modulo 02a ospf-y_e_bgp_basico_ipv6Modulo 02a ospf-y_e_bgp_basico_ipv6
Modulo 02a ospf-y_e_bgp_basico_ipv6
 
Guia 5 3 2015 c2
Guia 5 3 2015 c2Guia 5 3 2015 c2
Guia 5 3 2015 c2
 
Análisis de complejidad big o
Análisis de complejidad  big o Análisis de complejidad  big o
Análisis de complejidad big o
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 
Lab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84aLab.270910.instrucciones basicas del pic 16 f84a
Lab.270910.instrucciones basicas del pic 16 f84a
 

Último

absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
JuanAlvarez413513
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
SandroNava1
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
Ing. Julio Iván Mera Casas
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 

Último (20)

absorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratoriosabsorcion de gases y practicas de laboratorios
absorcion de gases y practicas de laboratorios
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB  S2. PARA VSATMANUAL DEL DECODIFICADOR DVB  S2. PARA VSAT
MANUAL DEL DECODIFICADOR DVB S2. PARA VSAT
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 

Arquitectura de computadores segmentacion software

  • 1. Arquitectura de Computadores Planificación de código: Segmentación software
  • 3. Planificación de código Planificación de código Global • Planificación instrucciones De bloques básicos • Planificación de bucles • Planificador de listas De bucles Desarrollo de bucles Segmentación software
  • 4. Planificación de código -> De bucles -> Segmentación Software • Reordenación y reorganización de las instrucciones de un bucle • Se intercalan instrucciones de distintas iteraciones sin desarrollar el bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones del bucle original (el objetivo es situar instrucciones dependientes lo mas alejadas posible) Ej: Iteración i ld f0,0(r1) Bucle inicial add f4,f0,f2 loop: ld f0,0(r1) sd f4,0(r1) add f4,f0,f2 Iteración i +1 sd f4,0(r1) addi r1,r1,#-8 ld f0,0(r1) Inst. add f4,f0,f2 Control bnez r1,loop sd f4,0(r1) Iteración i +2 ld f0,0(r1) add f4,f0,f2 sd f4,0(r1)
  • 5. Planificación de código -> De bucles -> Segmentación Software • Reordenación y reorganización de las instrucciones de un bucle • Se intercalan instrucciones de distintas iteraciones sin desarrollar el bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones del bucle original (el objetivo es situar instrucciones dependientes lo mas alejadas posible) Ej: Iteración i ld f0,0(r1) Bucle final Bucle inicial add f4,f0,f2 loop: ld f0,0(r1) sd f4,0(r1) loop: sd f4,16(r1) add f4,f0,f2 add f4,f0,f2 Iteración i +1 sd f4,0(r1) ld f0,0(r1) addi r1,r1,#-8 ld f0,0(r1) addi r1,r1,#-8 Inst. Inst. add f4,f0,f2 bnez r1,loop Control bnez r1,loop Control sd f4,0(r1) Iteración i +2 ld f0,0(r1) add f4,f0,f2 sd f4,0(r1)
  • 6. Planificación de código -> De bucles -> Segmentación Software • Reordenación y reorganización de las instrucciones de un bucle • Se intercalan instrucciones de distintas iteraciones sin desarrollar el bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones del bucle original (el objetivo es situar instrucciones dependientes lo mas alejadas posible) Ej: Iteración i ld f0,0(r1) Bucle final Bucle inicial add f4,f0,f2 loop: ld f0,0(r1) sd f4,0(r1) loop: sd f4,16(r1) add f4,f0,f2 add f4,f0,f2 Iteración i +1 sd f4,0(r1) ld f0,0(r1) addi r1,r1,#-8 ld f0,0(r1) addi r1,r1,#-8 Inst. Inst. add f4,f0,f2 bnez r1,loop Control bnez r1,loop Control sd f4,0(r1) Iteración i +2 ld f0,0(r1) add f4,f0,f2 sd f4,0(r1)
  • 7. Planificación de código -> De bucles -> Segmentación Software • Reordenación y reorganización de las instrucciones de un bucle • Se intercalan instrucciones de distintas iteraciones sin desarrollar el bucle -> Cada iteración tendrá instrucciones de diferentes iteraciones del bucle original (el objetivo es situar instrucciones dependientes lo mas alejadas posible) • La estructura del programa suele ser: Prólogo – Bucle –Epílogo • Objetivo:  Encontrar una secuencia de instrucciones repetitiva que se pueda ejecutar en un solo ciclo o en un número pequeño de ciclos  Es realmente una tarea dificultosa y no siempre son iteraciones tan favorables
  • 8. Planificación de código -> De bucles -> Segmentación Software Ventajas • Consume menos espacio de código • Se consigue una ejecución con un paralelismo mayor durante más tiempo de ejecución • Aprovecha mejor el paralelismo de la máquina Obstáculos • Presencia de anti-dependencias • Saltos incondicionales • Bucles con pocas instrucciones y latencias largas • Combinar segmentación software y desarrollo de bucles Implementación • URPR: UnRolling, Pipeling and Rerolling 1. Planifica el bucle como un bloque básico y lo desarrolla k veces 2. Reordena las instrucciones para obtener mayor paralelismo 3. Busca el patrón repetitivo