Alocação global de registradores de endereçamento para referencias a vetores em DSPs
Autor(a) principal: | |
---|---|
Data de Publicação: | 2002 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
Texto Completo: | https://hdl.handle.net/20.500.12733/1593432 |
Resumo: | Orientador: Guido Costa Souza de Araujo |
id |
UNICAMP-30_0e2b8d99a99656a2bae3c2cbbc2c81ea |
---|---|
oai_identifier_str |
oai::275878 |
network_acronym_str |
UNICAMP-30 |
network_name_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository_id_str |
|
spelling |
Alocação global de registradores de endereçamento para referencias a vetores em DSPsCompiladores (Computadores)Algoritmos de computadorArquitetura de computadorOrientador: Guido Costa Souza de AraujoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: O avanço tecnológico dos sistemas computacionais tem proporcionado o crescimento do mercado de sistemas dedicados, cada vez mais comuns no dia-a-dia das pessoas, como por exemplo em telefones celulares, palmtops e sistemas de controle automotivo. Devido às suas características, estas novas aplicações requerem sistemas que aliem baixo custo, alto desempenho e baixo consumo de potência. Uma das maneiras de atender a estes requisitos é utilizando processadores especializados. Contudo, a especialização na arquitetura dos processadores impõe novos desafios para o desenvolvimento de software para estes sistemas. Em especial, os compiladores - geralmente responsáveis pela otimização de código - precisam ser adaptados para produzir código eficiente para estes novos processadores. Na área de processamento de sinais digitais, como em telefonia celular, processadores especializados, denominados DSPs2, são amplamente utilizados. Estes processadores tipicamente possuem poucos registradores de propósito geral e modos de endereçamento bastante limitados. Além disso, muitas das suas aplicações envolvem o processamento de grandes seqüências de dados, as quais são geralmente armazenadas em vetores. Como resultado, o estudo de técnicas de otimização de referências a vetores tornou-se um problema central em compilação para DSPs. Este problema, denominado Global Array Reference Allocation (GARA), é o objeto central desta dissertação. O sub-problema central de GARA consiste em se determinar, para um dado conjunto de referências a vetores que serão alocadas a um mesmo registrador de endereçamento, o menor custo das instruções que são necessárias para manter este registrador com o endereço adequado em cada ponto do programa. Nesta dissertação, este sub-problema é modelado como um problema em grafos, e provado ser NP-difícil. Além disso, é proposto um algoritmo eficiente, baseado em programação dinâmica, para resolver este sub-problema de forma exata sob certas restrições. Com base neste algoritmo, duas técnicas são propostas para resolver o problema de GARA. Resultados experimentais, obtidos pela implementação destas técnicas no compilador GCC, comparam-nas com outros resultados da literatura. Os resultados demonstram a eficácia das técnicas propostas nesta dissertaçãoAbstract: The technological advances in computing systems have stimulated the growth of the embedded systems market, which is continuously becoming more ordinary in people's lives, for example in mobile phones, palmtops and automotive control systems. Because of their characteristics, these new applications demand the combination of low cost, high performance and low power consumption. One way to meet these constraints is through the design of specialized processors. However, processor specialization imposes new challenges to the development of software for these systems. In particular, compilers - generally responsible for code optimization - need to be adapted in order to produce efficient code for these new processors. In the digital signal processing arena, such as in cellular telephones, specialized processors, known as DSPs (Digital Signal Processors), are largely used. DSPs typically have few general purpose registers and very restricted addressing modes. In addition, many DSP applications include large data streams processing, which are usually stored in arrays. As a result, studing array reference optimization techniques became an important task in compiling for DSPs. This work studies this problem, known as Global Array Reference Allocation (GARA). The central GARA subproblem consists of determining, for a given set of array references to be allocated to the same address register, the minimum cost of the instructions required to keep this register with the correct address at alI program points. In this work, this subproblem is modeled as a graph theoretical problem and proved to be NP-hard. In addition, an efficient algorithm, based on dynamic programming, is proposed to optimally solve this subproblem under some restrictions. Based on this algorithm, two techniques to solve GARA are proposed. Experimental results, from the implementation of these techniques in the GCC compiler, compare them with previous work in the literature. The results show the effectiveness of the techniques proposed in this workMestradoMestre em Ciência da Computação[s.n.]Araújo, Guido Costa Souza de, 1962-Bigonha, Roberto da SilvaKowaltowski, TomaszUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação não informadoUNIVERSIDADE ESTADUAL DE CAMPINASOttoni, Guilherme de Lima20022002-12-17T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf63f.https://hdl.handle.net/20.500.12733/1593432OTTONI, Guilherme de Lima. Alocação global de registradores de endereçamento para referencias a vetores em DSPs. 2002. 63f Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação , Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1593432. Acesso em: 2 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/275878porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2018-10-24T09:48:28Zoai::275878Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2018-10-24T09:48:28Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false |
dc.title.none.fl_str_mv |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
title |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
spellingShingle |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs Ottoni, Guilherme de Lima Compiladores (Computadores) Algoritmos de computador Arquitetura de computador |
title_short |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
title_full |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
title_fullStr |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
title_full_unstemmed |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
title_sort |
Alocação global de registradores de endereçamento para referencias a vetores em DSPs |
author |
Ottoni, Guilherme de Lima |
author_facet |
Ottoni, Guilherme de Lima |
author_role |
author |
dc.contributor.none.fl_str_mv |
Araújo, Guido Costa Souza de, 1962- Bigonha, Roberto da Silva Kowaltowski, Tomasz Universidade Estadual de Campinas (UNICAMP). Instituto de Computação Programa de Pós-Graduação não informado UNIVERSIDADE ESTADUAL DE CAMPINAS |
dc.contributor.author.fl_str_mv |
Ottoni, Guilherme de Lima |
dc.subject.por.fl_str_mv |
Compiladores (Computadores) Algoritmos de computador Arquitetura de computador |
topic |
Compiladores (Computadores) Algoritmos de computador Arquitetura de computador |
description |
Orientador: Guido Costa Souza de Araujo |
publishDate |
2002 |
dc.date.none.fl_str_mv |
2002 2002-12-17T00:00:00Z |
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 |
https://hdl.handle.net/20.500.12733/1593432 OTTONI, Guilherme de Lima. Alocação global de registradores de endereçamento para referencias a vetores em DSPs. 2002. 63f Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação , Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1593432. Acesso em: 2 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1593432 |
identifier_str_mv |
OTTONI, Guilherme de Lima. Alocação global de registradores de endereçamento para referencias a vetores em DSPs. 2002. 63f Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação , Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1593432. Acesso em: 2 set. 2024. |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
https://repositorio.unicamp.br/acervo/detalhe/275878 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf 63f. |
dc.publisher.none.fl_str_mv |
[s.n.] |
publisher.none.fl_str_mv |
[s.n.] |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) instname:Universidade Estadual de Campinas (UNICAMP) instacron:UNICAMP |
instname_str |
Universidade Estadual de Campinas (UNICAMP) |
instacron_str |
UNICAMP |
institution |
UNICAMP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
collection |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP) |
repository.mail.fl_str_mv |
sbubd@unicamp.br |
_version_ |
1809188880027484160 |