12,214 research outputs found

    Compressão de codigo baseada em multi-profile

    Get PDF
    Orientadores: Paulo Cesar Centoducatte, Rodolfo Jardim de AzevedoTese (doutorado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Computação CientificaResumo: 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)Abstract: Code compression is an approach to reduce the silicon area requirement to produce embedded systems chips. This requirement is stronlgy affected by the increasing functionality, including multimedia applications, required by the embedded softwares. Recently, some researches point out the code compression as an alternative to increase performance and reduce energy consumption. This work introduces a new code compression method, the ComPacket, based on small, incomplete dictionary and a new decompressor hardware which is located between the cache and the processor (RIS C), thus making the cache to keep compressed instructions augmenting its storage capacity. Moreover, a new paradigm to build dictionaries is introduced, such that a better exploration of area-performance-energy consumption trade-offs is achieved. This paradigm is based on both dynamic and static profiles informations at the same time, which led the name of Multi-Profile. We used this paradigm on two code compression scheme: the Instruction Based Compression (IBC), formerly developed in our Laboratory, and the new ComPacket. For the IBC, the average compression ratio varies from 71% to 77% for the benchmarks excerpted from Mediabench and MiBench suites, while a cycle count reduction of 75% to 65% were achieved (related to original uncompressed execution of the code). For the ComPacket, the average compression ratio varies from 72% to 88% and the cycle count reduction is as low as 52% for a special case of dicionary construction. The instruction cache energy reduction reaches 46% of the originalDoutoradoDoutor em Ciência da Computaçã

    DeSyRe: on-Demand System Reliability

    No full text
    The DeSyRe project builds on-demand adaptive and reliable Systems-on-Chips (SoCs). As fabrication technology scales down, chips are becoming less reliable, thereby incurring increased power and performance costs for fault tolerance. To make matters worse, power density is becoming a significant limiting factor in SoC design, in general. In the face of such changes in the technological landscape, current solutions for fault tolerance are expected to introduce excessive overheads in future systems. Moreover, attempting to design and manufacture a totally defect and fault-free system, would impact heavily, even prohibitively, the design, manufacturing, and testing costs, as well as the system performance and power consumption. In this context, DeSyRe delivers a new generation of systems that are reliable by design at well-balanced power, performance, and design costs. In our attempt to reduce the overheads of fault-tolerance, only a small fraction of the chip is built to be fault-free. This fault-free part is then employed to manage the remaining fault-prone resources of the SoC. The DeSyRe framework is applied to two medical systems with high safety requirements (measured using the IEC 61508 functional safety standard) and tight power and performance constraints
    corecore