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...
Main Author: | |
---|---|
Other Authors: | |
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 |