Alocação global de registradores de endereçamento para referencias a vetores em DSPs

Detalhes bibliográficos
Autor(a) principal: Ottoni, Guilherme de Lima
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