Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Generación de Código No Optimizado




Enviado por Pablo Turmero



Partes: 1, 2


    Monografias.com

    Resumen
    Introducción
    Overview de un procesador moderno
    Lenguaje de Máquina
    Convenciones de Llamado
    Generación de Expresiones
    Generación de Control de Flujo
    Generación de Procedimientos
    Linking

    Monografias.com

    Anatomía de un Compilador
    Optimizador de Código Intermedio
    Generador de Código
    (Gp:) Representación Intermedia Optimizada

    (Gp:) Código en Assembler

    Generador de Código Intermedio
    (Gp:) Representación Intermedia

    Analizador Léxico (Scanner)
    Analizador Sintáctico (Parser)
    (Gp:) Token Stream

    Arbol de Parseo
    (Gp:) Programa (character stream)

    Monografias.com

    Anatomía de un Compilador
    Generador de Código
    Representación Intermedia
    (Gp:) Código en Assembler

    High-level IR
    Analizador Léxico (Scanner)
    Analizador Sintáctico (Parser)
    (Gp:) Token Stream

    Arbol de Parseo
    (Gp:) Programa (character stream)

    Low-level IR
    Generador de Código Intermedio

    Monografias.com

    Representación en Formato Intermedio
    while (i < v.length && v[i] != 0) {
    i = i+1;
    }
    entry
    ldl i
    len
    <
    cbr
    stl i
    exit
    ldf v
    lda
    0
    !=
    cbr
    ldf v
    ldl i
    ldl i
    0
    +

    Monografias.com

    El Generador de Código debe…
    Traducir todas las instrucciones en la representación intermedia a lenguaje ensamblador
    Asignar espacio para variables, arreglos, etc.
    Adherirse a las convenciones de llamado
    Crear la información simbólica necesaria

    Monografias.com

    Resumen
    Introducción
    Resumen de un procesador moderno
    Lenguaje de Máquina
    Convenciones de Llamado
    Generación de Expresiones
    Generación de Control de Flujo
    Generación de Procedimientos
    Linking

    Monografias.com

    Resumen de un Procesador Moderno
    ALU
    Control
    Memoria
    Registros
    Memory
    Registers
    ALU
    Control

    Monografias.com

    Arithmetic and Logic Unit
    Hace la mayoría de operaciones
    Con forma:OP Rdest, Rsrc1, Rsrc2
    Operaciones son:
    Operaciones aritméticas (add, sub, mul)
    Operaciones lógicas (and, sll)
    Operaciones de comparación (seq, sge, slt)
    Memory
    Registers
    Control
    ALU

    Monografias.com

    Arithmetic and Logic Unit
    Muchas operaciones aritméticas pueden causar una excepción
    overflow y underflow
    Puede operar en distintos tipos de datos
    8, 16, 32 bits
    Aritmética con y sin signo
    Operaciones de punto flotante (ALU separada)
    Instrucciones para convertir entre formatos (cvt.s.d)
    Memory
    Registers
    Control
    ALU

    Monografias.com

    Control
    Maneja la secuencia de Instrucciones
    Ejecución de Instrucciones
    Todas las instrucciones están en memoria
    Fetch de la instrucción a la que apunta el PC y ejecutarla
    Para instrucciones generales, incrementar el PC para que apunte a la siguiente posición de memoria
    Memory
    Registers
    ALU
    Control

    Monografias.com

    Control
    Saltos no condicionales
    Fetch de la siguiente instrucción de una localidad diferente
    Salto incondicional a una dirección dada
    j label
    Salto incondicional a una dirección en un registro
    jr rsrc
    Para manejar llamadas a procedimientos, se hace un salto incondicional, pero se guarda la siguiente dirección en la secuencia actual en un registro
    jal label jalr rsrc
    Memory
    Registers
    ALU
    Control

    Monografias.com

    Control
    Saltos Condicionales
    Ejectuamos un test,si es éxitoso, fetch de instrucciones de una nueva dirección,de otra forma fetch de la siguiente instrucción
    Las instrucciones son de la forma: brelop Rsrc1, Rsrc2, label
    relop es de la forma: eq, ne, gt, ge, lt, le
    Memory
    Registers
    ALU
    Control

    Monografias.com

    Control
    Transferencia de control en casos especiales (raros)
    traps y excepciones
    Mecanismo
    Guardar la posición de la siguiente instrucción (o la actual)
    Encontrar la dirección a la que hay que saltar (de un vector de excepciones)
    Saltar a esa posición

    Memory
    Registers
    ALU
    Control

    Monografias.com

    Memory
    Espacio de Direcciones plano
    Compuesto de words
    Direccionable por bytes
    Necesitamos guardar
    Programa
    Variables locales
    Stack
    Heap
    Memory
    Registers
    ALU
    Control

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter