Escolar Documentos
Profissional Documentos
Cultura Documentos
Materia:
GRADO Y GRUPO:
7 A
PRESENTAN:
FACILITADOR:
Contenido
Introduccin ................................................................................................................................. 3
3.1. Tipos de Optimizacin........................................................................................................ 3
3.1.1. Local. ................................................................................................................................. 3
3.1.2. Ciclos ................................................................................................................................. 4
3.1.3. Globales ............................................................................................................................ 5
3.1.4. Mirilla ................................................................................................................................. 5
3.2 Costos.................................................................................................................................... 6
3.2.1. Costos de ejecucin. (Memoria, registros, pilas) ....................................................... 6
3.2.2. Criterios para mejorar el cdigo .................................................................................... 7
3.2.3. Herramientas para el anlisis del flujo de datos ......................................................... 8
Bibliografa ................................................................................................................................... 9
Introduccin
Los copuladores que requieren producir programas de destino eficientes
incluyen una fase de optimizacin antes de la generacin de cdigo. El
optimizador asigna la representacin intermedia a otras representacin
intermedia desde la cual puede generarse condigo ms eficiente.
3.1.2. Ciclos
Los ciclos son importantes ya que el programa invierte la mayor parte de tiempo
ejecutndolos y la optimizacin que mejora su rendimiento pueden tener un
impacto considerable. Los ciclos tambin afectan el tiempo de ejecucin de los
anlisis de los programas. Si un programa no contiene ciclos, podemos obtener
respuestas a los problemas de flujo de datos realizando solo una pasada a travs
del programa. Por ejemplo: un problema de flujo de datos hacia delante puede
resolverse visitando todos los nodos una vez, en orden topolgico.
3.1.3. Globales
La mayora de las optimizaciones globales se basan en el anlisis de flujo de
datos, que son algoritmos para recopilar informacin acerca de un programa.
Todos los resultas de los anlisis de flujo de datos tiene la misma forma para
cada instruccin en el mismo, especifica cierta propiedad que debe aplicarse
cada vez que se ejecuta la instruccin. Los anlisis difieren en las propiedades
que calculan. Por ejemplo un anlisis de propagacin de constantes calcula, para
cada punto en el programa, y para cada variable utilizada por el programa, si la
variable tiene un valor constante, nico en ese punto. Por ejemplo. Esta
informacin puede utilizarse para sustituir las referencias a las variables por
valores constantes. Como otro ejemplo, un anlisis del estado de vida determina,
para cada punto en el programa, si es seguro que el valor que contiene una
variable especifica en ese punto se sobrescriba antes de leerlo. De ser a si no
necesitamos preservar ese valor, ya sea en un registro o en una ubicacin en
memoria.
3.1.4. Mirilla
Una optimizacin simple pero efectiva para mejorar el cdigo destino en forma
local es la optimizacin de m Mirilla, la cual se lleva a cabo mediante el anlisis
de una ventana deslizable de instrucciones de destino, y sustrayendo las
secuencias de instrucciones de destino dentro de la mirilla por una secuencia
ms corta o rpida cada vez que sea posible. La optimizacin de mirilla tambin
puede aplicarse de manera directa despus de la generacin de cdigo, para
mejora la representacin intermedia.
La mirilla es una pequea ventana deslizable en un programa. El cdigo en la
mirilla no tiene que ser continuo, aunque algunas implementaciones lo requieran.
Una caracterstica de la optimizacin de mirilla es que cada mejora puede
engendrar oportunidades para mejoras adicionales. En general, es necesario
realizar varias pasadas a travs del cdigo fuente para obtener el beneficio
mximo.
Caractersticas
Simplificaciones algebraicas
3.2 Costos
3.2.1. Costos de ejecucin. (Memoria, registros, pilas)
Memoria
La memoria es uno de los recursos ms importantes de la computadora y, en
consecuencia, la parte del sistema operativo responsable de tratar con este
recurso, el gestor de memoria, es un componente bsico del mismo. El gestor
de memoria del sistema operativo debe hacer de puente entre los requisitos de
las aplicaciones y los mecanismos que proporciona el hardware de gestin de
memoria.
Registros
Los registros del procesador se emplean para controlar instrucciones en
ejecucin, manejar direccionamiento de memoria y proporcionar capacidad
aritmtica. Los registros son espacios fsicos dentro del microprocesador con
capacidad de 4 bits hasta 64 bits dependiendo del microprocesador que se
emplee. Los registros son direccionables por medio de una vieta, que es una
direccin de memoria. Los bits, por conveniencia, se numeran de derecha a
izquierda (15, 14,13. 3, 2, 1,0), los registros estn divididos en seis grupos los
cuales tienen un fin especfico.
La pila La aparicin de lenguajes con estructura de bloque trajo consigo la
necesidad de tcnicas de alojamiento en memoria ms flexibles, que pudieran
adaptarse a las demandas de memoria durante la ejecucin del programa.
En, en general los compiladores, la asignacin de memoria de variables locales
se hace de una forma flexible, atendiendo al hecho de que solamente necesitan
memoria asignada desde el momento que comienza la ejecucin de la funcin
hasta el momento en que sta finaliza. Para que una variable pueda ser
almacenada en memoria esttica, es necesario conocer su tamao (nmero de
bytes necesarios para su almacenamiento) en tiempo de compilacin. Como
consecuencia, aunque una variable (u objeto) sea de mbito global, no podrn
Bibliografa
Ttulo: Compiladores, principio , tcnicas y herramientas.
Segunda Edicion
Autores: Alfred V. Aho, Monica S. Lam, Ravi Sethi