Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
Autor(a) principal: | |
---|---|
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 |