VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/2000 - 1Jorge Morais.

Slides:



Advertisements
Apresentações semelhantes
M.R.U..
Advertisements

Checkpoint SGBD com alta demanda de transações Checkpoint
gerador de código intermediário
CPU: Controle e processamento
WebDesign Redes de Computadores Aula 05
Algoritmo I Aula 04 Expressões Lógicas.
II – Análise léxica DEI Papel do analisador léxico.
II – Análise léxica DEI Conversão de expressões regulares em autómatos finitos determinísticos mínimos Bibliografia aconselhada: Aho, Sethi e Ullman –
III – Análise sintáctica
III – Análise sintáctica
II – Análise léxica DEI lex: linguagem de especificação para analisadores léxicos Implementação de simuladores de autómatos finitos Bibliografia aconselhada:
III – Análise sintáctica
I - Noções dum compilador
III – Análise sintáctica
III – Análise sintáctica Parsers ascendentes Instruções shift-reduce Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.5 LFA 1999/ Jorge.
I - Noções dum compilador
III – Análise sintáctica
IV – Análise semântica DEI Associação de regras semânticas a produções
I - Noções dum compilador Partes dum compilador Ferramentas de construção de compiladores Bibliografia aconselhada: –Aho, Sethi e Ullman – Cap. 1 LFA 1999/2000.
III – Análise sintáctica
III – Análise sintáctica
V – Geração de código Chamada de funções Organização de memória Passagem de parâmetros Representação de código intermédio Bibliografia aconselhada: –Aho,
III – Análise sintáctica Geradores de parsers Bibliografia aconselhada: –Aho, Sethi e Ullman – secção 4.9 LFA 1999/ Jorge Morais.
IV – Análise semântica DEI Implementação da tabela de símbolos
I - Noções dum compilador
Linguagens Formais e Autómatos
Exercícios da Aula 17 Marta Rebuá.
Eveline Alonso Veloso PUC-MINAS
Introdução da Disciplina
ROBOTABLE Estudos Funcionais de uma Plataforma para um Sistema Robótico Humanóide Orientadores: Prof. Vítor Santos Orientadores: Prof. Vítor Santos Prof.
Alexandre Suaide Ed. Oscar Sala sala 246 ramal 7072
Marcia Moura Edifício Oscar Sala – ramal 6837
HAC MD -junho/ Noções de algoritmos e estudo de casos das principais tarefas de Mineração de dados.
Metodologias de Controle de Tempo em Transações Assinadas Digitalmente
Compiladores Prof. Yandre Maldonado Compiladores - Prof. Yandre - 1.
Trabalho de Conclusão de Curso
Árvore Binária - altura máxima A: Inserção de 1, 2, 3, 4, 5, 6 e 7 Pior caso: O(n)
Sistema de dois componentes - condensado
Construção de Compiladores
Crineu Tres Daniel Perez Frederico... Roberto Hartke Neto
Prof. MSc Sofia Mara de Souza AULA6
Resolução do 1º teste Ano lectivo 2000/
Programação em Assembly Optimização do código
Arquitecturas RISC Programação em assembly
Profa. Dra. Marisa S. A. R. Faulin
Alocação de Registos (exercício) Compiladores João M. P. Cardoso.
Sistema de três componentes componentes
Aula 3©Universidade do Algarve 1 Do alto-nível ao assembly Compiladores, Aula Nº 3 João M. P. Cardoso.
Classes de Arquiteturas Tipos de operação Codificação das operações
O problema da estabilidade. Caso I Alteração da componente autónoma.
Amostragem de uma sinusóide de 25 Hz com uma frequência de amostragem de 20 Hz.
Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação CIC272 – Inteligência Computacional para Otimização.
Aveiro, 28 de Abril de Arquitectura de Computadores II Ano lectivo 2003/2004 Nuno
Geração de Código Intermediário
Redes de Petri Sistema Fila-Máquina Aula 3
Escalonamento de sistemas
Escoamento Turbulento
PUCC 1 Agenda Memória CACHE. PUCC 2 Memória Cache Motivo –Melhorar a relação entre o tempo de acesso a dados e instruções e a velocidade dos processadores.
Monitoramento do Desmatamento da Amazônia por Satélite
Geração de Código Intermediário
Linguagem Pascal Prof. Sérgio Rodrigues.
Unidade Central De Processamento: Processador
Engenharia e Gestão da Produção Teoria de Sistemas de Controlo Linear Copyright 2000, Jorge Lagoa Resolução do 2º teste Ano lectivo 1999/2000.
Definição O processador é o C.I. mais importante do computador. Ele é considerado como o cérebro do computador e funciona como uma UCP – Unidade Central.
Back-End Compilação aula-11-back-end.pdf.
Blocos básicos e Traces Departamento de Estatística e Informática Universidade Federal de Sergipe Compiladores Giovanny Lucero
Geração de Código Fase final do compilador
VII – Conceitos avançados Garbage Collection Linguagens orientadas a objectos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais.
O que devem fazer os Microprocessadores ?
Estruturas de repetição ou ciclos
Transcrição da apresentação:

VI – Optimização de código Blocos básicos Optimização de ciclos Bibliografia aconselhada: –Apontamentos LFA 1999/ Jorge Morais

Blocos básicos Início dum bloco básico –A primeira instrução do programa –Instrução com um rótulo (label) –Instruções a seguir a um ramo A partir deste bloco consideramos todas as instruções até ao início dum novo bloco ou até ao fim do programa LFA 1999/ Jorge Morais

Exemplo i = 17 s = l1: ifz i goto l s = s + i i = i – 1 goto l l2: LFA 1999/ Jorge Morais

Exemplo LFA 1999/ Jorge Morais i = 17 s = 0 l1: ifz i goto l2 s = s + 1 i = i – 1 goto l1 l2:...

Optimizações Eliminação de sub-expressões comuns Propagação de código Eliminação de código morto Transformações aritméticas –Cálculo de constantes –Transformações algébricas –Redução de força Empacotamento de temporários LFA 1999/ Jorge Morais

Exemplo b = 4 – 2 t1 = b / 2 t2 = a * t1 t3 = t2 * b t4 = t3 + c t5 = t2 * b t6 = t5 + c d = t4 * t6 LFA 1999/ Jorge Morais

Optimização de ciclos Identificação de ciclos –Dominadores –Back edges –Cabeçalho do ciclo –Pré-cabeçalho Elevação de código Variáveis de indução LFA 1999/ Jorge Morais

Exemplo i = 42 l1: ifz i goto l2 s = 0 i = i – 1 j = i * 4 goto l1 l2:... LFA 1999/ Jorge Morais i = 42 l1: ifz i goto l2 s = 0 i = i – 1 j = i * 4 goto l1 l2:...