Please use this identifier to cite or link to this item: http://repositorio.unicamp.br/jspui/handle/REPOSIP/276517
Type: TESE
Title: Algoritmos para alocação de pilha de execução baseados em união de variaveis para DSPs
Author: Ottoni, Desiree Leopoldo da Silva
Advisor: Araújo, Guido Costa Souza de, 1962-
Araujo, Banda: Guido Costa Souza de
Abstract: Resumo: 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étodos

Abstract: 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 methods
Subject: Compiladores (Computadores)
Linguagens de programação (Computadores)
Arquitetura de computador
Language: Português
Editor: [s.n.]
Date Issue: 2004
Appears in Collections:IC - Tese e Dissertação

Files in This Item:
File SizeFormat 
Ottoni_DesireeLeopoldodaSilva_M.pdf1.78 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.