Compressão de codigo baseada em multi-profile

AUTOR(ES)
DATA DE PUBLICAÇÃO

2004

RESUMO

A compressão de códigos de programas representa uma alternativa para diminuição de área de silício usada na fabricação de chips para sistemas embarcados. Este requisito tem sido fortemente influenciado pela crescente funcionalidade, incluíndo aplicações em multimídia, exigida para os softwares que neles executam. Recentes estudos apresentam a compressão de código como alternativa também para melhorar o desempenho e reduzir o consumo de energia nestes sistemas. Este trabalho apresenta um novo método de compressão, o ComPacket, baseado em pequenos dicionários incompletos com um descompressor em hardware situado entre a cache e o processador (RISC), permitindo assim que a cache guarde o código comprimido e portanto possibilitando uma maior capacidade de armazenamento. Além disto, um novo paradigma de construção de dicionários é introduzido de tal forma a propiciar uma melhor exploração da tríade de requisitos área-desempenho-consumo de energia. Este paradigma baseia-se ao mesmo tempo em informações estatísticas obtidas de profiles dinâmico e estático do uso de instruções em um programa e por isto é denominado Multi-Profile. Foram realizados experimentos de uso de dicionários Multi-Profile em dois métodos de compressão de código: o Instruction Based Compression (IBC), desenvolvido anteriormente em nosso laboratório e o novo ComPacket. Para o IBC, a razão de compressão média varia entre 71% e 77% para um conjunto de aplicações retiradas das suites Mediabench e MiBench, enquanto o número de ciclos de clock usados para execução do código comprimido varia em média de 75% a 65% dos valores obtidos sem compressão. Usando o mesmo conjunto de aplicações e o ComPacket, a razão de compressão média varia entre 72% e 88%, o número de ciclos de clock chega a 52% do original para uma construção específica do dicionário e a redução no consumo de energia na cache de instruções chega a 46% do valor original (sem com pressão)

ASSUNTO(S)

arquitetura de computador sistemas embutidos de computadores compressão de dados (computação)

Documentos Relacionados