Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação

Autor: Mendonça, Alexandre Keunecke Ignácio de
Přispěvatelé: Universidade Federal de Santa Catarina, Santos, Luiz Claudio Villar dos, Guntzel, Jose Luis
Jazyk: portugalština
Rok vydání: 2013
Předmět:
Zdroj: Repositório Institucional da UFSC
Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
Popis: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2010 Memórias do tipo scratchpad (SPMs) são alternativas promissoras para sistemas embarcados energeticamente eficientes. Muitas das técnicas de otimização para o mapeamento de dados e código para SPMs assumem a disponibilidade do código-fonte da aplicação. Porém, o desenvolvimento de software embarcado deve lidar com código legado, bibliotecas de ter- ceiros e blocos de propriedade intelectual (IPs) para os quais podem estar disponíveis somente os arquivos-binários. As poucas técnicas que reali- zam otimizações diretamente em arquivos binários operam em arquivos executáveis e limitam-se a tratar somente código ou somente dados. Este trabalho propõe uma nova técnica que pode alocar tanto código quanto dados para a SPM. Operando diretamente em binários, a técnica permite que elementos encapsulados em bibliotecas façam parte do ma- peamento para SPMs. A técnica consiste de três principais mecanismos: o profiler, o mapeador e o patcher. O patcher foi projetado para operar utilizando arquivos-objeto relocáveis, contornando assim a limitação de se gerenciar relocações para SPM em arquivos-objeto executáveis. A maior eficiência ao se tratar arquivos binários relocáveis resultou em tempos de execução inferiores em pelo menos uma ordem de magnitude se compara- dos às técnicas relacionadas. O tempo médio de patching foi de 0,7s em uma estação de trabalho com quatro núcleos de processamento. Comparando-se com o mapeamento de somente código, a proposta de também alocar dados em SPM resultou em economia extra de energia de 21%, em média, para um variado conjunto de programas do benchmark MiBench e diversas configurações de memória. Apesar de uma média re- lativamente baixa, instâncias de caso de uso reais com maior conteúdo de dados estáticos puderam ser encontradas, para as quais economias extra de energia de 67% e 91% foram observadas, quando dados também são passíveis de serem mapeados para SPM. Foi também observado que, para todos os casos de uso reais usados nos experimentos, os parâmetros de caracterização para mapeamento em SPM são bastante descorrelatados, o que significa - à luz de trabalhos anteriores - que o mapeamento exato obtido pelo assim-chamado algoritmo MINKNAP provavelmente manterá sua alta eficiência, mesmo diante do crescimento do número de elementos de programas resultante da crescente complexidade do software embarcado. Ao se combinar a inclusão de dados e bibliotecas na alocação em SPM com a eficiência do mapeamento e a eficiência do patching, a técnica proposta torna-se um enfoque promissor para a otimização energeticamente consciente de código embarcado pré-compilado.
Databáze: OpenAIRE