�rea Cient�fica: Informática Industrial
Modelo Paralelo de Co-Tradução e Execução para um Tradutor Binário Dinâmico
Publicada a 2015-01-23
Aluno: Emanuel João Miranda Ribeiro       N�mero: 62027       Email: a62027@alunos.uminho.pt
Data in�cio: 01/09/2014   

Orientador(es):
Nome: Adriano José C. Tavares
Email: atavares@dei.uminho.pt   

Descri��o:

Os avanços na investigação e o cumprimento da \"Lei de Moore\" promovem o surgimento de novas arquiteturas de computadores, cada vez com melhor desempenho e mais adaptadas a determinadas aplicações. Frequentemente, é desejável que as aplicações com-piladas para uma arquitetura, por vezes mais antiga, possam ser executadas numa outra, utilizando eficientemente os recursos que a última tem. Esta necessidade deve-se a motivos como o upgrade do hardware do sistema, redução de custos de manutenção ou ainda como manobra de entrada em mercados de hardware . Um dos métodos utilizados para fazer esta compatibilização é a tradução binária dinâmica.
A tradução binária dinâmica permite a execução de uma aplicação compilada para uma arquitetura fonte numa arquitetura alvo. Como este tipo de emulação apenas utiliza o binário da aplicação, não é necessário o código fonte da aplicação ou bibliotecas. Por outro lado, esta técnica permite também, entre outras aplicações, a migração entre arquiteturas não compatíveis sem as alterações no código fonte que poderiam ser necessárias.
Embora a tradução binária dinâmica conte já com cerca de vinte anos de desenvolvimento, muitas das técnicas utilizadas no profiling e otimização dinâmicos são demasiado exigentes para sistemas com poucos recursos. Assim, a adaptação desta tradução a sistemas embebidos é um assunto atual e em evolução. Particularmente, os tradutores binários dinâmicos que suportam múltiplas arquiteturas fonte ( resourceable ) e/ou alvo ( retargetable ) têm associado um overhead causado pela inclusão de uma camada de abstração que aumenta a transparência no emparelhamento entre as várias arquiteturas fonte e alvo.
Nesta dissertação pretende-se adaptar um tradutor binário dinâmico resourceable e retargetable para execução em sistemas embebidos e paralelizar e migrar funcionalidades do motor de tradução de performance crítica para hardware . Para além disto, são também objetivos o estudo do impacto desta adaptação pela análise de várias métricas, como requisitos de memória e a relação entre os aumentos do desempenho, o tamanho do executável e a área de silício. Para isto, será desenvolvido um método alternativo de geração de código que substitua a camada de abstração (representação intermédia) e mantenha parte da portabilidade inicial. Com isto, esta dissertação propõe-se a contribuir para a evolução da tradução binária para sistemas embebidos, com o estudo de alternativas que permitam a redução do overhead de tradução e a manutenção de parte da otimização e portabilidade presente em tradutores de sistemas com mais recursos.


Objectivos:

Os principais objetivos desta dissertação, formados a partir da análise do estado da arte e da contextualização do projeto, são apresentados no presente capítulo. O objetivo primário desta dissertação é a adaptação de um tradutor binário dinâmico resourceable e retargetable para aplicação em sistemas embebidos. Dado que os recursos existentes num ambiente embebido são mais escassos que os que compõem um sistema computacional de propósito geral, vários são os tópicos de trabalho que devem ser endereçados.
É usual que um tradutor binário dinâmico que aceita mais do que uma arquitetura fonte e alvo utilize uma representação intermédia entre as duas, para que o emparelhamento entre cada uma das arquiteturas seja feito da forma mais transparente possível. Em sistemas com poucos recursos, esta camada de abstração representa um grande overhead para o motor de DBT, pelo que deve ser encontrado um método de geração de código alternativo a este. Assim, é a redução do overhead do motor de DBT que leva à busca de um novo método de geração de código, mas a portabilidade e a dimensão do executável não devem ser descuradas.
O aumento do desempenho do motor de tradução binária em sistemas com poucos recursos deve também ser um objetivo sempre presente no desenvolvimento do projeto. A utilização de lógica programável com interface com o microprocessador permite que tarefas críticas, como a gestão de caches e o tratamento de condition codes, tenham um impactomais reduzido na execução do tradutor binário dinâmico.
Por último, um compromisso entre as diversas métricas que caracterizam um sistema embebido deve ser alcançado, sendo para isto necessário ponderar o aumento de desempenho que o cumprimento dos objetivos acima indicados permite e dos custos que este acarreta ao sistema computacional.


Copyright © DEI Universidade do Minho - Todos os direitos reservados
Powered byNetmove