Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA
Autor(a) principal: | |
---|---|
Data de Publicação: | 2000 |
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/1607949 |
Resumo: | Orientador: Guido Costa Souza de Araujo |
id |
UNICAMP-30_9c19970ea9e91e30013838ff87de7485 |
---|---|
oai_identifier_str |
oai::433407 |
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 usando cobertura do grafo de indexação e uma variação da forma SSALinguagem de programação (Computadores)Compiladores (Computadores)Arquitetura de computadorOrientador: Guido Costa Souza de AraujoDissertação (mestrado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: O modo de endereçamento indireto é o modo mais utilizado para acessos a arrays em programas que executam em arquiteturas CISC dedicadas. A razão para isto é que o endereçamento indireto permite o cálculo rápido de endereços usando instruções curtas. Este trabalho propõe uma solução para o problema de alocação de registradores de endereçamento para referências a elementos de arrays em laços, utilizando modo de endereçamento indireto combinado com auto-incremento. O resultado é um algoritmo que minimiza o número de registradores de endereçamento e instruções de redirecionamento requeridas por um programa. Este trabalho propõe uma extensão, para o caso multi-dimensional. de trabalhos anteriores baseados na cobertura do Grafo de Indexação(IG). Este trabalho propõe ainda um algoritmo de alocação global baseado em uma variação de Static Single Assignment Forra e uma heurística para a redução do número de registradores requeridos pela cobertura do IG. Um compilador otimizante pertencente à Conexant Systems Inc. é utilizado para testar estas idéias. Resultados experimentais, usando programas reais, mostraram uma melhoria de desempenho de 11.3% no tempo de execução quando comparado com uma técnica de coloração baseada em prioridade. Devido ao impacto da alocação de registradores na geração de código, esta técnica pode melhorar substancialmente o tamanho do código gerado, reduzindo a dissipação de energia e aumentando o desempenho do sistema. Estas características são extremamente desejáveis para o projeto de computadores portáteis modernos.Abstract: Indirect addressing is by far the most used addressing mode in programs running in embedded CISC architectures. The reason is that it enables fast address computation combined with short instructions. This work proposes a solution to the problem of allocating address registers to array references within loops, when using indirect addressing combined with auto-increment. The result is an algorithm that minimizes the number of address registers and redirect instructions required by a program. It extends previous work using Indexing Graph(lG) covering to the multidimensional case, and proposes a global allocation algorithm based on a variation of Static Single Assignment Form. This work also presents a heuristic that aims at reducing the number of address registers required by the covering of the IG. An optimizing production compiler from Conexant Systems Inc. is used to test the approach. Experimental results, using real world-programs, showed an 11% performance improvement when compared to a priority-based register coloring technique. Because of the impact of register alocation in code generation, this technique can substantially improve code size, power dissipation and performance, without increasing cost. These are very desirable features for the design of modern portable computers.MestradoMestre 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 em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASCintra, Marcelo Silva2000info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdf61f. : il.https://hdl.handle.net/20.500.12733/1607949CINTRA, Marcelo Silva. Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA. 2000. 61f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1607949. Acesso em: 2 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/433407porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-02-18T05:19:21Zoai::433407Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-02-18T05:19:21Biblioteca 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 usando cobertura do grafo de indexação e uma variação da forma SSA |
title |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
spellingShingle |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA Cintra, Marcelo Silva Linguagem de programação (Computadores) Compiladores (Computadores) Arquitetura de computador |
title_short |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
title_full |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
title_fullStr |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
title_full_unstemmed |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
title_sort |
Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA |
author |
Cintra, Marcelo Silva |
author_facet |
Cintra, Marcelo Silva |
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 em Ciência da Computação UNIVERSIDADE ESTADUAL DE CAMPINAS |
dc.contributor.author.fl_str_mv |
Cintra, Marcelo Silva |
dc.subject.por.fl_str_mv |
Linguagem de programação (Computadores) Compiladores (Computadores) Arquitetura de computador |
topic |
Linguagem de programação (Computadores) Compiladores (Computadores) Arquitetura de computador |
description |
Orientador: Guido Costa Souza de Araujo |
publishDate |
2000 |
dc.date.none.fl_str_mv |
2000 |
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/1607949 CINTRA, Marcelo Silva. Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA. 2000. 61f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1607949. Acesso em: 2 set. 2024. |
url |
https://hdl.handle.net/20.500.12733/1607949 |
identifier_str_mv |
CINTRA, Marcelo Silva. Alocação global de registradores de endereçamento usando cobertura do grafo de indexação e uma variação da forma SSA. 2000. 61f. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1607949. 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/433407 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf 61f. : 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_ |
1809188993510670336 |