Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs

Detalhes bibliográficos
Autor(a) principal: Ottoni, Desirée Leopoldo da Silva
Data de Publicação: 2004
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/1597894
Resumo: Orientador: Guido Costa Souza de Araujo
id UNICAMP-30_a09d7c17af4961c8408054eda2813b18
oai_identifier_str oai::318210
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 Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPsCompiladores (Computadores)Linguagem de programação (Computadores)Arquitetura de computadorOrientador: Guido Costa Souza de AraujoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: Nos últimos anos, uma classe importante de aplicações em telecomunicações e multimídia tem despertado um grande interesse no projeto e pesquisa de processadores dedicados, em particular de DSPs2. Além de desempenho, estas aplicações demandam baixo consumo de potência e custo reduzido. Com o propósito de atender a esta demanda, projetistas de DSPs precisam especializar suas arquiteturas com unidades funcionais dedicadas. Devido a rigorosas restrições de projeto, é comum encontrar DSPs com poucos registradores de propósito geral e modos de endereçamento restritos, baseados em unidades especializadas no cálculo de endereços de memória. Por serem arquiteturas irregulares, as otimizações de código existentes nos compiladores para processadores de propósito geral não são eficientes para DSPs. Isto resultou em um aumento no interesse por pesquisa de técnicas de otimizações para estes processadores. Esta dissertação propõe duas novas técnicas de otimização de código para o problema de Offset Assignment(OA). Uma solução para OA visa encontrar uma disposição das variáveis automáticas de um programa na memória, de forma a minimizar o uso de instruções explícitas de endereçamento, obtendo assim um código de melhor desempenho. Este tipo de otimização é um dos problemas centrais de compilação para DSPs, dado que grande parte das instruções geradas para estes processadores é de endereçamento. Uma extensa revisão bibliográfica sobre Offset Assignment é apresentada nesta dissertação. Além disso, são propostos dois novos algoritmos que resolvem variações deste problema: a heurística CSOA, que resolve o problema de Simple Offset Assignment, e a heurística CGOA, que resolve o problema de General Offset Assignment. As duas heurísticas utilizam informações de longevidade das variáveis de modo a realizar união seletiva de variáveis na memória, resultando em uma melhor utilização de modos de endereçamento de auto-incrementojdecremento. Além das duas técnicas propostas, foram implementadas outras quatro técnicas existentes na literatura. Uma análise comparativa, baseada num conjunto de experimentos usando o benchmark Mediabench, revelou a superioridade de CSOA e CGOA sobre os outros métodosAbstract: In recent years, an important class of applications in telecommunication and multimedia has created a large interest in the design and research of dedicated processors, specially Digital Signal Processors (DSPs). In addition to performance, these applications demand low power consumption and reduced cost. In order to achieve these goals, DSP designers need to specialize the architecture with dedicated functional units. Due to their stringent design constraints, it is common to find DSPs containing very few general-purpose registers, and restricted addressing modes, typically based on specialized address generation units. Given their irregular architectures, compiler code optimization techniques for general-purpose processors are not efficient for DSPs. This has resulted in an increasing interest in the research of optimization techniques target to such processors. This dissertation proposes two novel code optimization techniques for the Offset Assignment (OA) problem. A solution to OA aims at finding a memory layout for automatic variables in a program, such that the use of explicit memory addressing instructions is minimized, thus increasing the performance of the resulting code. This type of optimization is one of the central problems in compilation for DSPs, as address computation accounts for a large share of the instructions generated for these processors. A long survey on OA is presented in this dissertation. Moreover, two new algorithms to solve variations of OA are proposed: the CSOA heuristic, to solve the Simple Offset Assignment problem; and the CGOA heuristic, which solves the General Offset Assignment. Both techniques use liveness information to perform selective coalescing of variables in memory, resulting in an improved use of auto-increment/decrement addressing modes. In addition to the two proposed algorithms, four other techniques from the literature have been implemented. A comparative analysis, based on a set of experiments using the Media Bench benchmark, has revealed the superiority of CSOA and CGOA with respect to the other methodsMestradoMestre em Ciência da Computação[s.n.]Araújo, Guido Costa Souza de, 1962-Kowaltowski, TomaszBigonha, Roberto da SilvaUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação não informadoUNIVERSIDADE ESTADUAL DE CAMPINASOttoni, Desirée Leopoldo da Silva20042004-03-19T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf42fl. : il.https://hdl.handle.net/20.500.12733/1597894OTTONI, Desirée Leopoldo da Silva. Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs. 2004. 42fl. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1597894. Acesso em: 2 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/318210porreponame: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:44:16Zoai::318210Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2018-10-24T09:44:16Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
title Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
spellingShingle Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
Ottoni, Desirée Leopoldo da Silva
Compiladores (Computadores)
Linguagem de programação (Computadores)
Arquitetura de computador
title_short Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
title_full Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
title_fullStr Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
title_full_unstemmed Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
title_sort Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
author Ottoni, Desirée Leopoldo da Silva
author_facet Ottoni, Desirée Leopoldo da Silva
author_role author
dc.contributor.none.fl_str_mv Araújo, Guido Costa Souza de, 1962-
Kowaltowski, Tomasz
Bigonha, Roberto da Silva
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, Desirée Leopoldo da Silva
dc.subject.por.fl_str_mv Compiladores (Computadores)
Linguagem de programação (Computadores)
Arquitetura de computador
topic Compiladores (Computadores)
Linguagem de programação (Computadores)
Arquitetura de computador
description Orientador: Guido Costa Souza de Araujo
publishDate 2004
dc.date.none.fl_str_mv 2004
2004-03-19T00: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/1597894
OTTONI, Desirée Leopoldo da Silva. Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs. 2004. 42fl. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1597894. Acesso em: 2 set. 2024.
url https://hdl.handle.net/20.500.12733/1597894
identifier_str_mv OTTONI, Desirée Leopoldo da Silva. Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs. 2004. 42fl. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1597894. 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/318210
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
42fl. : il.
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_ 1809188910201307136