Estudo e implementação da otimização de Preload de dados usando o processador XScale

Orientador: Guido Costa Souza Araujo === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-06T14:27:52Z (GMT). No. of bitstreams: 1 Oliveira_MarcioRodrigode_M.pdf: 1563381 bytes, checksum: 52e2e029998b3539a26f5c2b76284d88 (MD5...

Full description

Bibliographic Details
Main Author: Oliveira, Marcio Rodrigo de
Other Authors: UNIVERSIDADE ESTADUAL DE CAMPINAS
Format: Others
Language:Portuguese
Published: [s.n.] 2005
Subjects:
Online Access:OLIVEIRA, Marcio Rodrigo de. Estudo e implementação da otimização de Preload de dados usando o processador XScale. 2005. 133p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/276447>. Acesso em: 6 ago. 2018.
http://repositorio.unicamp.br/jspui/handle/REPOSIP/276447
id ndltd-IBICT-oai-repositorio.unicamp.br-REPOSIP-276447
record_format oai_dc
collection NDLTD
language Portuguese
format Others
sources NDLTD
topic Compiladores (Computadores)
Sistemas de memória de computadores
Arquitetura de computador
Compiling (Eletronic computers)
Computer memory systems
Computer architecture
spellingShingle Compiladores (Computadores)
Sistemas de memória de computadores
Arquitetura de computador
Compiling (Eletronic computers)
Computer memory systems
Computer architecture
Oliveira, Marcio Rodrigo de
Estudo e implementação da otimização de Preload de dados usando o processador XScale
description Orientador: Guido Costa Souza Araujo === Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação === Made available in DSpace on 2018-08-06T14:27:52Z (GMT). No. of bitstreams: 1 Oliveira_MarcioRodrigode_M.pdf: 1563381 bytes, checksum: 52e2e029998b3539a26f5c2b76284d88 (MD5) Previous issue date: 2005 === Resumo: Atualmente existe um grande mercado para o desenvolvimento de aplicações para sistemas embutidos, pois estes estão fazendo parte crescente do cotidiano das pessoas em produtos de eletrônica de consumo como telefones celulares, palmtop's, agendas eletrônicas, etc. Os produtos de eletrônica de consumo possuem grandes restrições de projeto, tais como custo reduzido, baixo consumo de potência e muitas vezes alto desempenho. Deste modo, o código produzido pelos compiladores para os programas executados nestes produtos, devem executar rapidamente, economizando energia de suas baterias. Estes melhoramentos são alcançados através de transformações no programa fonte chamadas de otimizações de código. A otimização preload de dados consiste em mover dados de um alto nível da hierarquia de memória para um baixo nível dessa hierarquia antes deste dado ser usado. Este é um método que pode reduzir a penalidade da latência de memória. Este trabalho mostra o desenvolvimento da otimização de preload de dados no compilador Xingo para a plataforma Pocket PC, cuja arquitetura possui um processador XScale. A arquitetura XScale possui a instrução preload, cujo objetivo é fazer uma pré-busca de dados para a cache. Esta otimização insere (através de previsões) a instrução preload no código intermediário do programa fonte, tentando prever quais dados serão usados e que darão miss na cache (trazendo-os para esta cache antes de seu uso). Com essa estratégia, tenta-se minimizar a porcentagem de misses na cache de dados, reduzindo o tempo gasto em acessos à memória. Foram usados neste trabalho vários programas de benchmarks conhecidos para a avaliação dos resultados, dentre eles destacam-se DSPstone e o MiBench. Os resultados mostram que esta otimização de preload de dados para o Pocket PC produz um aumento considerável de desempenho para a maioria dos programa testados, sendo que em vários programas observou-se uma melhora de desempenho maior que 30%! === Abstract: Nowadays, there is a big market for applications for embedded systems, in products as celIular phones, palmtops, electronic schedulers, etc. Consumer electronics are designed under stringent design constraints, like reduced cost, low power consumption and high performance. This way, the code produced by compiling programs to execute on these products, must execute quickly, and also should save power consumption. In order to achieve that, code optimizations must be performed at compile time. Data preload consists of moving data from a higher leveI of the memory hierarchy to a lower leveI before data is actualIy needed, thus reducing memory latency penalty. This dissertation shows how data preload optimization was implemented into the Xingo compiler for the Pocket PC platform, a XScale based processor. The XScale architecture has a preload instruction, whose main objective is to prefetch program data into cache. This optimization inserts (through heuristics) preload instructions into the program source code, in order to anticipate which data will be used. This strategy minimizes cache misses, allowing to reduce the cache miss latency while running the program code. Some benchmark programs have been used for evaluation, like DSPstone and MiBench. The results show a considerable performance improvement for almost alI tested programs, subject to the preload optimization. Many of the tested programs achieved performance improvements larger than 30% === Mestrado === Otimização de Codigo === Mestre em Ciência da Computação
author2 UNIVERSIDADE ESTADUAL DE CAMPINAS
author_facet UNIVERSIDADE ESTADUAL DE CAMPINAS
Oliveira, Marcio Rodrigo de
author Oliveira, Marcio Rodrigo de
author_sort Oliveira, Marcio Rodrigo de
title Estudo e implementação da otimização de Preload de dados usando o processador XScale
title_short Estudo e implementação da otimização de Preload de dados usando o processador XScale
title_full Estudo e implementação da otimização de Preload de dados usando o processador XScale
title_fullStr Estudo e implementação da otimização de Preload de dados usando o processador XScale
title_full_unstemmed Estudo e implementação da otimização de Preload de dados usando o processador XScale
title_sort estudo e implementação da otimização de preload de dados usando o processador xscale
publisher [s.n.]
publishDate 2005
url OLIVEIRA, Marcio Rodrigo de. Estudo e implementação da otimização de Preload de dados usando o processador XScale. 2005. 133p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/276447>. Acesso em: 6 ago. 2018.
http://repositorio.unicamp.br/jspui/handle/REPOSIP/276447
work_keys_str_mv AT oliveiramarciorodrigode estudoeimplementacaodaotimizacaodepreloaddedadosusandooprocessadorxscale
AT oliveiramarciorodrigode studyandimplementationofdatapreloadoptimizationusingxscale
_version_ 1718878197189181440
spelling ndltd-IBICT-oai-repositorio.unicamp.br-REPOSIP-2764472019-01-21T20:51:27Z Estudo e implementação da otimização de Preload de dados usando o processador XScale Study and implementation of data Preload optimization using XScale Oliveira, Marcio Rodrigo de UNIVERSIDADE ESTADUAL DE CAMPINAS Araújo, Guido Costa Souza de, 1962- Santos, Andre de Medeiros Centoducatte, Paulo Rigo, Sandro Compiladores (Computadores) Sistemas de memória de computadores Arquitetura de computador Compiling (Eletronic computers) Computer memory systems Computer architecture Orientador: Guido Costa Souza Araujo Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Made available in DSpace on 2018-08-06T14:27:52Z (GMT). No. of bitstreams: 1 Oliveira_MarcioRodrigode_M.pdf: 1563381 bytes, checksum: 52e2e029998b3539a26f5c2b76284d88 (MD5) Previous issue date: 2005 Resumo: Atualmente existe um grande mercado para o desenvolvimento de aplicações para sistemas embutidos, pois estes estão fazendo parte crescente do cotidiano das pessoas em produtos de eletrônica de consumo como telefones celulares, palmtop's, agendas eletrônicas, etc. Os produtos de eletrônica de consumo possuem grandes restrições de projeto, tais como custo reduzido, baixo consumo de potência e muitas vezes alto desempenho. Deste modo, o código produzido pelos compiladores para os programas executados nestes produtos, devem executar rapidamente, economizando energia de suas baterias. Estes melhoramentos são alcançados através de transformações no programa fonte chamadas de otimizações de código. A otimização preload de dados consiste em mover dados de um alto nível da hierarquia de memória para um baixo nível dessa hierarquia antes deste dado ser usado. Este é um método que pode reduzir a penalidade da latência de memória. Este trabalho mostra o desenvolvimento da otimização de preload de dados no compilador Xingo para a plataforma Pocket PC, cuja arquitetura possui um processador XScale. A arquitetura XScale possui a instrução preload, cujo objetivo é fazer uma pré-busca de dados para a cache. Esta otimização insere (através de previsões) a instrução preload no código intermediário do programa fonte, tentando prever quais dados serão usados e que darão miss na cache (trazendo-os para esta cache antes de seu uso). Com essa estratégia, tenta-se minimizar a porcentagem de misses na cache de dados, reduzindo o tempo gasto em acessos à memória. Foram usados neste trabalho vários programas de benchmarks conhecidos para a avaliação dos resultados, dentre eles destacam-se DSPstone e o MiBench. Os resultados mostram que esta otimização de preload de dados para o Pocket PC produz um aumento considerável de desempenho para a maioria dos programa testados, sendo que em vários programas observou-se uma melhora de desempenho maior que 30%! Abstract: Nowadays, there is a big market for applications for embedded systems, in products as celIular phones, palmtops, electronic schedulers, etc. Consumer electronics are designed under stringent design constraints, like reduced cost, low power consumption and high performance. This way, the code produced by compiling programs to execute on these products, must execute quickly, and also should save power consumption. In order to achieve that, code optimizations must be performed at compile time. Data preload consists of moving data from a higher leveI of the memory hierarchy to a lower leveI before data is actualIy needed, thus reducing memory latency penalty. This dissertation shows how data preload optimization was implemented into the Xingo compiler for the Pocket PC platform, a XScale based processor. The XScale architecture has a preload instruction, whose main objective is to prefetch program data into cache. This optimization inserts (through heuristics) preload instructions into the program source code, in order to anticipate which data will be used. This strategy minimizes cache misses, allowing to reduce the cache miss latency while running the program code. Some benchmark programs have been used for evaluation, like DSPstone and MiBench. The results show a considerable performance improvement for almost alI tested programs, subject to the preload optimization. Many of the tested programs achieved performance improvements larger than 30% Mestrado Otimização de Codigo Mestre em Ciência da Computação 2005 2018-08-06T14:27:52Z 2018-08-06T14:27:52Z 2005-10-08T00:00:00Z info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis (Broch.) OLIVEIRA, Marcio Rodrigo de. Estudo e implementação da otimização de Preload de dados usando o processador XScale. 2005. 133p. Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: <http://www.repositorio.unicamp.br/handle/REPOSIP/276447>. Acesso em: 6 ago. 2018. http://repositorio.unicamp.br/jspui/handle/REPOSIP/276447 por info:eu-repo/semantics/openAccess 133p. : il. application/octet-stream [s.n.] Universidade Estadual de Campinas. Instituto de Computação reponame:Repositório Institucional da Unicamp instname:Universidade Estadual de Campinas instacron:UNICAMP