Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFSC |
Texto Completo: | http://repositorio.ufsc.br/handle/123456789/103262 |
Resumo: | 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 |
id |
UFSC_bcc95a3ab4fed9c9ab5b83942d6b8289 |
---|---|
oai_identifier_str |
oai:repositorio.ufsc.br:123456789/103262 |
network_acronym_str |
UFSC |
network_name_str |
Repositório Institucional da UFSC |
repository_id_str |
2373 |
spelling |
Universidade Federal de Santa CatarinaMendonça, Alexandre Keunecke Ignácio deSantos, Luiz Claudio Villar dosGuntzel, Jose Luis2013-07-16T03:57:17Z2013-07-16T03:57:17Z2013-07-16T03:57:17Z276959http://repositorio.ufsc.br/handle/123456789/103262Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Ciência da Computação, Florianópolis, 2010Memó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.1 v.| grafs., tabs.porCiência da computaçãoArquitetura de computadorSistemas de memoria de computadoresAlocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilaçãoinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccessORIGINAL276959.pdfapplication/pdf1939524https://repositorio.ufsc.br/bitstream/123456789/103262/1/276959.pdfa36cdff9e808721ecf841e148dde7c23MD51TEXT276959.pdf.txt276959.pdf.txtExtracted texttext/plain200513https://repositorio.ufsc.br/bitstream/123456789/103262/2/276959.pdf.txt746f5500ae47e74b1730a48bb1068f89MD52123456789/1032622013-08-27 17:13:43.987oai:repositorio.ufsc.br:123456789/103262Repositório de PublicaçõesPUBhttp://150.162.242.35/oai/requestopendoar:23732013-08-27T20:13:43Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false |
dc.title.en.fl_str_mv |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
title |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
spellingShingle |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação Mendonça, Alexandre Keunecke Ignácio de Ciência da computação Arquitetura de computador Sistemas de memoria de computadores |
title_short |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
title_full |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
title_fullStr |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
title_full_unstemmed |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
title_sort |
Alocação de dados e de código em memórias embarcadas: uma aborgagem pós-compilação |
author |
Mendonça, Alexandre Keunecke Ignácio de |
author_facet |
Mendonça, Alexandre Keunecke Ignácio de |
author_role |
author |
dc.contributor.en.fl_str_mv |
Universidade Federal de Santa Catarina |
dc.contributor.author.fl_str_mv |
Mendonça, Alexandre Keunecke Ignácio de |
dc.contributor.advisor1.fl_str_mv |
Santos, Luiz Claudio Villar dos |
dc.contributor.advisor-co1.fl_str_mv |
Guntzel, Jose Luis |
contributor_str_mv |
Santos, Luiz Claudio Villar dos Guntzel, Jose Luis |
dc.subject.classification.en.fl_str_mv |
Ciência da computação Arquitetura de computador Sistemas de memoria de computadores |
topic |
Ciência da computação Arquitetura de computador Sistemas de memoria de computadores |
description |
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 |
publishDate |
2013 |
dc.date.accessioned.fl_str_mv |
2013-07-16T03:57:17Z |
dc.date.available.fl_str_mv |
2013-07-16T03:57:17Z |
dc.date.issued.fl_str_mv |
2013-07-16T03:57:17Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://repositorio.ufsc.br/handle/123456789/103262 |
dc.identifier.other.en.fl_str_mv |
276959 |
identifier_str_mv |
276959 |
url |
http://repositorio.ufsc.br/handle/123456789/103262 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
1 v.| grafs., tabs. |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFSC instname:Universidade Federal de Santa Catarina (UFSC) instacron:UFSC |
instname_str |
Universidade Federal de Santa Catarina (UFSC) |
instacron_str |
UFSC |
institution |
UFSC |
reponame_str |
Repositório Institucional da UFSC |
collection |
Repositório Institucional da UFSC |
bitstream.url.fl_str_mv |
https://repositorio.ufsc.br/bitstream/123456789/103262/1/276959.pdf https://repositorio.ufsc.br/bitstream/123456789/103262/2/276959.pdf.txt |
bitstream.checksum.fl_str_mv |
a36cdff9e808721ecf841e148dde7c23 746f5500ae47e74b1730a48bb1068f89 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC) |
repository.mail.fl_str_mv |
|
_version_ |
1766805050922893312 |