Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Lenguajes y Automatas (3)

Exposicion de la tercera unidad de Lenguajes y Automatas
by

Mike Marin

on 27 January 2014

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Lenguajes y Automatas (3)

Sensores Opticos
Se pueden dividir
Tecnicas dependientes
Tecnicas independientes
Tecnicas locales
Tecnicas globales
El objetivo de las tecnicas de optimizacion es mejorar el programa objeto para que nos de un rendimiento mayor.

Optimizacion
Existen 3 criterios para mejorar el codigo
Optimizacion en Ciclos
Es muy importante en ciclos ya que se realizan acciones repetitivas y si estan mal realizadas, el problema se hace N veces mas grande.

Ejemplo
Asignacion
de
Registro

Operaciones
Innecesarias

Operaciones
Costosas

Unidad 1
que solo se pueden aplicar a una determinada maquina objeto

que son aplicables a cualquier maquina objeto

analizaran solo pequeñas porciones de codigo y en ellas realizaran mejoras

abarcan todo
el codigo

Optimizaciones Globales
Optimizaciones entre Bloques Basicos

Optimizaciones Tipicas

Optimizacion de llamadas a procedimientos

Optimizacion-Bloque basico
Un bloque basico es un fragmento de codigo que tiene una unica entrada y salida, y cuyas instrucciones se ejecutan secuencialmente.

Optimizacion Llamadas a Procedimientos
Gestion de Registros de Activacion
Paso de parametros mas asignacion de datos locales

Minimizar copia de parametros y no registros a salvar
Uso almacenamiento estatico si no hay llamadas recursivas
Expansion en linea.
Mejoras
Optimizacion Mirilla
La mirilla es una ventana pequeña que se mueve en el programa objeto. No hace falta que el codigo dentro de la mirilla sea contiguo , aunque algunas aplicaciones lo exigen.

Aplicable en codigo intermedio o codigo objeto.
La optimizacion de mirilla trata de estructurar
de manera eficiente el flujo del programa, sobre todo en instrucciones de bifurcacion como son las decisiones, ciclos y saltos de rutinas.

Funcionamiento
Se recorre el codigo buscando combinaciones de instrucciones que puedan ser reemplazadas por otras equivalentes mas eficientes.

Se utiliza una ventana de n instrucciones y un conjunto de patrones de transformacion.

Si las instrucciones de la ventana encajan con algun patron se reemplazan por lo secuencia de reemplazamiento asociada.

Las nuevas instrucciones son reconsideradas para las futuras optimizaciones.

Marin Soto Miguel Angel 10211167
Santana Corona Ruben 10211670
Lenguajes y
Automatas II
Docente: Jesus Jaime Gonzalez G.
Transformaciones usuales mediante la optimizacion de mirilla
Eliminacion de instrucciones redundantes.
Optimizaciones del flujo de control.
Simplificaciones algebraicas.
Uso de instrucciones especiales de la maquina.

Costos de Ejecucion
Dichos costos son perdidas de tiempo y/o espacio. Vienen implicitos al ejecutar el programa.

Los costos son el factor mas importante a tomar en cuenta a la hora de optimizar.

Otro aspecto a tener en cuenta es que la optimizacion puede ser muy costosa en cuanto a tiempo en generarla y poder implementar soluciones.

Memoria
El gestor de memoria es un componente basico de un ordenador.
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 gestion de memoria.

Organizacion de la memoria
en tiempo de ejecucion
- Memoria Estatica.
- La Pila.
- El Monton (Heap)
.
Registros
Los registros son espacios fisicos dentro del microprocesador que se emplean para controlar:
Instrucciones en ejecucion
Direccionamiento de memoria
Ademas proporcionan capacidad aritmrtica.
Existen 3 criterios que siempre se deben tomar en cuenta a la hora de optimizar codigo
Acelerar la eficiencia del programa
Debe estar de acuerdo a los costos
Preservar el significado del programa
Analisis de flujos
de datos
El diagrama de flujo de datos (DFD), es una herramienta que permite visualizar un sistema como una red de procesos funcionales, conectados entre si por "conductos" y "tanques de almacenamiento" de datos.
Diagrama de Arbol
Un diagrama de arbol es un metodo grafico para identificar todas las partes necesarias para alcanzar algun objetivo final. En mejora de la calidad, los diagramas de arbol se utilizan generalmente para identificar todas las tareas necesarias para implantar una solucion.

Proceso de
generacion
de un diagrama
de arbol
1. Escribir el objetivo principal en el extremo izquierdo de un papel amplio.

2. Subdividir y separar el objetivo principal en objetivos secundarios.

3. Continuar subdividiendo o separando, identificando y relacionando otros objetivos.

4. Garantizar una relacion directa causa-efecto entre un subtitulo y sus divisiones.

5. Confirmar que alcanzando todas las submetas y tareas se logra el objetivo principal
Gracias por su atencion
Full transcript