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

Detalhes bibliográficos
Autor(a) principal: Mendonça, Alexandre Keunecke Ignácio de
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