• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 422
  • 83
  • 3
  • 2
  • 2
  • Tagged with
  • 516
  • 506
  • 273
  • 254
  • 174
  • 114
  • 94
  • 85
  • 69
  • 57
  • 50
  • 49
  • 47
  • 47
  • 44
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
91

Um Servidor de Nomes Embarcado visando Redução do Consumo de Energia

Lages, Diogo de Lima 29 August 2013 (has links)
Submitted by Daniella Sodre (daniella.sodre@ufpe.br) on 2015-03-10T14:00:16Z No. of bitstreams: 2 Dissertaçao Diogo Lages.pdf: 4187750 bytes, checksum: fb9f521e9ef025b2d69f9650ec1a45f4 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) / Made available in DSpace on 2015-03-10T14:00:16Z (GMT). No. of bitstreams: 2 Dissertaçao Diogo Lages.pdf: 4187750 bytes, checksum: fb9f521e9ef025b2d69f9650ec1a45f4 (MD5) license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Previous issue date: 2013-08-29 / O servidor de nomes é um sistema essencial para Internet que se baseia principalmente na tradução de endereços para IPs. Esse serviço é executado em servidores de maneira “dedicada”, no entanto, fazem uso de sistemas operacionais os quais introduzem overhead e necessita compartilhar tempo de processamento com outros processos. Outro fator que tem grande impacto em redes é o consumo das interfaces Ethernet atuais, como exemplo a de 10 Gbps que possui a potência 25x maior do que a potência necessária para interfaces Ethernet com 100 Mbps. Devido a necessidade de otimizar o consumo de energia em ambientes de redes a inserção de mecanismo inteligentes permitem fazer uso dos recursos de potência de maneira “consciente” propiciando a diminuição de gastos com energia sem a degradação do desempenho. Sendo assim, nesse trabalho foi realizado o desenvolvimento e análise de um servidor de nomes, o qual permite otimizar o uso de energia através de regressão linear e recursos de potência sem comprometer o desempenho. Isso é evidenciado através dos resultados onde foi utilizado traces reais e foi verificado que o PC consome 55x a mais de energia do que a proposta desse trabalho e que a quantidade de perdas é abaixo de 7%.
92

Avaliação de desempenho e consumo de energia de aplicações embarcadas: uma estratégia baseada em modelos da arquitetura de hardware e no código da aplicação

Costa e Silva Nogueira, Bruno 31 January 2010 (has links)
Made available in DSpace on 2014-06-12T15:55:23Z (GMT). No. of bitstreams: 2 arquivo2235_1.pdf: 3254202 bytes, checksum: e21eaf5447ba8e4d3152b22177c1247c (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2010 / Conselho Nacional de Desenvolvimento Científico e Tecnológico / O projeto de sistemas embarcados usualmente deve levar em consideração diversas restrições não funcionais, tais como: tamanho, peso, custo, confiabilidade e durabilidade. Adicionalmente, com a proliferação de dispositivos portáteis operados por baterias, o projeto de sistemas embarcados de baixo consumo de energia tem despertado muito interesse nos últimos anos. O maior problema é que a evolução da tecnologia das baterias não vem acompanhando a demanda por mais desempenho nestes dispositivos. Além dos aspectos relacionados à demanda do mercado, o aumento da frequência de operação e das funcionalidades colocadas por unidade de área nos circuitos integrados tem levado ao crescimento constante da potência dissipada destes sistemas. Mudanças de projeto tanto nos componentes de hardware, como de software custam caro e podem levar a atrasos na entrega do projeto. Desta forma, projetistas de sistemas embarcados precisam avaliar suas escolhas nas etapas bem iniciais de projeto e devem caracterizar as otimizações do sistema através de estimativas acuradas Esta dissertação apresenta um método para a avaliação de desempenho e consumo de energia para sistemas embarcados. O método proposto adota modelos formais baseados em Redes de Petri Coloridas para modelar o comportamento funcional de processadores e arquiteturas de memória em um alto nível de abstração. Um grupo de aplicações e um microcontrolador de propósito geral foram adotados para demonstrar a aplicabilidade do método. Resultados experimentais demonstram uma exatidão em torno de 96% em comparação com as medidas adquiridas da plataforma real. Adicionalmente, o alto nível de representação comportamental permite a rápida avaliação de consumo de energia e desempenho de sistemas complexos
93

Análise de técnicas de otimização multi-objetivo para ajustar hierarquia de memória visando economia de consumo de energia e desempenho

Rolim Cordeiro, Filipe 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T15:58:10Z (GMT). No. of bitstreams: 2 arquivo3267_1.pdf: 2965692 bytes, checksum: 59e4eb9209a191563dc1d8cd18e07b87 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Com a expansão e o desenvolvimento de aplicações de sistemas embarcados, o mercado tem requerido soluções rápidas e eficientes em torno de parâmetros como desempenho e energia que uma aplicação pode consumir. Estudos mostram que o consumo de energia de hierarquias de memória pode chegar até a 50% da energia consumida por um microprocessador. Desta forma, otimizando-se a arquitetura de memória é possível obter uma redução do consumo de energia do processador e, consequentemente, do sistema embarcado. O ajuste de parâmetros de memória cache para uma aplicação específica pode economizar em média 60% do consumo de energia. No entanto, encontrar uma configuração de cache adequada para uma aplicação específica pode ser uma tarefa complexa e pode requerer um longo período de análise e simulação. Para isso é necessário o uso de técnicas de otimização. Neste trabalho, é proposta a aplicação de seis técnicas de otimização multi-objetivo para a otimização de cache com arquitetura de memória de dois níveis, com segundo nível unificado. A adaptação das técnicas para o problema de cache é feita tentando otimizar os objetivos de consumo de energia e quantidade de ciclos necessário para rodar cada uma das 18 aplicações analisadas. Em seguida, é feita uma análise comparativa do desempenho que cada técnica obteve em achar as melhores configurações para otimizar o desempenho da arquitetura para cada aplicação. A análise entre as técnicas é feita utilizando as métricas de distância generacional, diversidade, hipervolume, energia e quantidade de ciclos necessários para rodar uma aplicação. Foi adotado o simulador Simplescalar para realização das simulações e o modelo do eCACTI para obter as componentes dinâmica e estática de energia. Resultados mostraram que a técnica multi-objetivo baseada em enxame de partículas, o MOPSO, apresentou melhores resultados para as métricas analisadas, para a maioria das aplicações. Foi proposta uma melhoria no MOPSO considerando também busca local variando os parâmetros de cache. A abordagem do MOPSO com busca local mostrou-se superior ao MOPSO original, conseguindo encontrar soluções mais próximas ao pareto optimal, explorando apenas 0.7% do espaço total de exploração
94

ESCORT: um framework de componentes para a construção de software embarcado

MELO, Gustavo André Fernandes Braga de 31 January 2011 (has links)
Made available in DSpace on 2014-06-12T16:00:37Z (GMT). No. of bitstreams: 2 arquivo6811_1.pdf: 2358772 bytes, checksum: 7b56f734951f242c3bff238edfeaa9b4 (MD5) license.txt: 1748 bytes, checksum: 8a4605be74aa9ea9d79846c1fba20a33 (MD5) Previous issue date: 2011 / Imagine um mundo onde a construção de sistemas embarcados é tão fácil como criar sistemas em Java. Imagine se cada fabricante de microcontrolador disponibilizasse pacotes de componentes de software referentes aos seus processadores. Imagine se os desenvolvedores de sistemas operacionais fornecessem bibliotecas de drivers genéricos para os seus produtos. Imagine se os desenvolvedores de software embarcado pudessem criar seus sistemas com uma modelagem de alto nível apenas definindo uma arquitetura de componentes. Imagine ainda se fosse possível gerar código automaticamente para esta modelagem. O ESCoRT se propõe a trazer este imaginário para a realidade. Ele é um arcabouço teórico, metodológico e operacional para o desenvolvimento de sistemas embarcados utilizando componentes. É fundamentado por uma arquitetura que separa os componentes em camadas de acordo com a função que desempenham no sistema, sendo um dos principais trunfos a distinção que é feita atribuindo acesso ao hardware para a camada HAL e deixando para a camada Driver o tratamento de interrupções e a sincronização de acesso. Isto permite que os drivers não fiquem tão atrelados ao hardware, de forma a não ser necessário alterar a implementação dos drivers caso o processador seja substituído por outro. ESCoRT propõe uma metodologia de desenvolvimento focada na portabilidade e reuso, permitindo vários níveis de abstração, como abstração de hardware, abstração de compilador e abstração de kernel. A metodologia aplica um paradigma no qual a parte do desenvolvimento que exige conhecimento específico de sistemas embarcados é separada daquela responsável pela implementação da aplicação, o que permite que um desenvolvedor sem tanto expertise crie uma aplicação embarcada, uma vez que um profissional especializado tenha montado uma plataforma de software. ESCoRT também fornece um framework de componentes configuráveis que gera código automaticamente e é disponibilizado em forma de plugin para o Eclipse. Este trabalho apresenta também três estudos de caso para demonstrar as vantagens do ESCoRT, incluindo um projeto comercial real
95

Validação de uma especificação TDevC para o desenvolvimento de device drives robustos

CARVALHO, Vanessa Larize Alves de 15 September 2016 (has links)
Submitted by Alice Araujo (alice.caraujo@ufpe.br) on 2017-11-29T17:56:29Z No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) dissertação_vanessa_larize_final.pdf: 1152292 bytes, checksum: 2bd44824bd4445f9e134fc21621a468a (MD5) / Made available in DSpace on 2017-11-29T17:56:29Z (GMT). No. of bitstreams: 2 license_rdf: 811 bytes, checksum: e39d27027a6cc9cb039ad269a5db8e34 (MD5) dissertação_vanessa_larize_final.pdf: 1152292 bytes, checksum: 2bd44824bd4445f9e134fc21621a468a (MD5) Previous issue date: 2016-09-15 / FACEPE / O uso de sistemas eletrônicos embarcados está cada vez mais presente no dia a dia da sociedade. Telefones celulares,sistemas de posicionamento global (GPS) e televisores digitais com telas de LCD são exemplos de equipamentos que estão incorporando funcionalidades para atender às demandas dos usuários, e, consequentemente, aumentando a complexidade dos sistemas embarcados nesses dispositivos. De fato, a grande maioria das inovações em sistemas embarcados é atribuída aos avanços na microeletrônica e no projeto de software embarcado. Porém, devido a atual complexidade dos dispositivos, projetos de hardware não conseguem acompanhar o crescimento da capacidade física do hardware, havendo um gap de produtividade entre o desenvolvimento do hardware e o desenvolvimento do software necessário para a sua operação. Esses softwares, também conhecidos como Software dependente do Hardware (Hardware-dependent Software - HdS ), estão no centro do desafio do projeto de sistemas. Dentre esses HdS, pode-se citar os device drivers ou drivers dos dispositivos. Os drivers são codificados com base na documentação disponível pelos fornecedores do hardware, porém, na maioria das vezes, esse documento não é de fácil leitura, podendo levar a erros de interpretação. Atrelado a isso, como essa documentação está escrita em uma linguagem natural, a descrição do dispositivo pode ser muitas vezes ambígua, incompleta, ou até mesmo inconsistente. Além desses problemas, o device driver tem acesso a vários recursos do sistema operacional, assim qualquer erro nesta camada de software pode ser fatal. Por isso, essa camada de software deve ser cuidadosamente desenvolvida e testada. Com o intuito de reduzir os erros nos devices drivers, em MACIEIRA; BARROS; ASCENDINA (2014) foi proposta uma técnica de formalização e validação em tempo de execução de propriedades temporais e protocolos de comunicação de alto nível entre os dispositivos e seus devices drivers utilizando a linguagem TDevC. Mas, na especificação do trabalho anterior, a máquina de estados hierárquica gerada ainda pode conter estados não-determinísticos e propriedades temporais contraditórias. Dessa forma, o presente trabalho propõe uma técnica para validação de uma especificação TDevC para o desenvolvimento de device drivers robustos. Para isso, este trabalho faz uso do provador de teoremas de alto desempenho Z3 e das propriedades dos autômatos de Büchi. Para validação da proposta, foi utilizada a especificação TDevC do dispositivo Ethernet DM9000A.Nos experimentos realizados, verificou-se que o projeto conseguiu detectar as inconsistências na especificação TDevC em 100% dos casos. / The use of electronic embedded system has increased substantially. Mobile phones, Global Positioning System (GPS) and Digital television with LCD screens are examples of equipments that are incorporating features to meet the demands of users, and thereby increasing the complexity of embedded systems in these devices. In fact, the vast majority of innovations in embedded systems is attributed to advances in microelectronics and embedded software design. However, due to the current complexity of devices, hardware design cannot keep up the hardware capacity growth, with a productivity gap between the development of the hardware and the development of the software required for its operation. These softwares, also known as Hardware-dependent Software (HdS) are at the center of the design challenge systems. Among these HdS are the devices drivers. Drivers are encoded based on the documentation available by the hardware vendors, however, most of the time, this document is not easy to read and can lead to misinterpretations. Coupled to this, as this documentation is written in a natural language, the device description can often be ambiguous, incomplete or even inconsistent. In addition to these problems, the device driver has access to various operating system resources, so any error in this software layer can be fatal. Therefore, this software layer must be carefully developed and tested. In order to reduce errors in the device drivers, it has been proposed a technique for formalization and runtime validation of temporal properties in high-level communication protocols between devices and drivers using the TDevC language. But the hierarchical state machine, generate in the previous work, may contain nondeterministic states and contradictory temporal properties. Thus, this approach proposes a technique to validate a TDevC specification for the development of robust device drivers. Therefore, this work makes use of high-performance theorem prover Z3 and Buchi automata properties. Some experiments using the Ethernet device DM9000A TDevC specification showed that this approach is effective in detect TDevC specification inconsistency.
96

Projeto de caches de matrizes particionados baseados em rastros de acesso à memória para sistemas embarcados / Design of trace-based split array caches for embedded applications

Tachibana, Marina 16 August 2018 (has links)
Orientador: Alice Maria Bastos Hubinger Tokarnia / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Elétrica e de Computação / Made available in DSpace on 2018-08-16T03:05:57Z (GMT). No. of bitstreams: 1 Tachibana_Marina_M.pdf: 2745315 bytes, checksum: 91aeb0d6708948d94d06a63e21b98ad6 (MD5) Previous issue date: 2010 / Resumo: Um sistema embarcado executa um único programa ou um conjunto pré-definido de programas repetidamente e, muitas vezes, seus componentes podem ser customizados para satisfazer uma especificação com requisitos referentes à área, desempenho e consumo de energia. Caches on-chip, em particular, são alvos de muitos algoritmos de customização por terem uma contribuição importante no desempenho e no consumo de energia de processadores embarcados. Várias aplicações embarcadas processam estruturas de dados cujos padrões de acesso distintos tornam difícil encontrar uma configuração para o cache que garanta desempenho e baixo consumo. Propomos, neste trabalho, uma metodologia para projetar caches de matrizes particionados que satisfaçam uma restrição de tamanho total e em cujas partições estão mapeadas as matrizes da aplicação. Estas partições exploram a diferença de localidade espacial entre as matrizes. Com base na simulação de rastros de acesso à memória para entradas típicas, definimos uma métrica que quantifica o uso que as matrizes fazem das metades das linhas de um cache de matrizes unificado, associativo por conjunto, que satisfaz uma restrição de tamanho. Esta métrica é usada para dividir as matrizes em dois grupos, que são mapeados em duas partições de cache, uma com mesmo tamanho de linha, e outra com metade do tamanho de linha do cache de matrizes unificado. Este procedimento é repetido para várias organizações de cache de matrizes unificados com um tamanho especificado. No final, os caches de matrizes particionados baseados em rastros de acesso à memória com menor tempo médio de acesso à memória são selecionados. Para um decodificador MPEG-2, dependendo do paralelismo dos acessos de dados, os resultados das simulações mostram que o tempo médio de acesso à memória de um cache de matrizes particionado baseado em rastros de 8K bytes apresenta uma redução de 26% a 60%, quando comparado com o cache de matrizes unificado, associativo por conjunto, de mesmo tamanho, com menor tempo médio de acesso à memória. Existe também uma redução de 46% no consumo de energia entre estes caches / Abstract: An embedded system executes a single application or a pre-defined set of applications repeatedly and, frequently, its components can be fine-tuned to satisfy a specification with requirements related to area, performance, and energy consumption. On-chip caches, in particular, are the target of several customization algorithms due to its important contribution to the performance and energy consumption of embedded processors. Several embedded applications process data structures whose access patterns turn it difficult to find a cache configuration that guarantees performance and low energy consumption. In this work, we propose a methodology for designing a split array cache that satisfies a total size constraint and in whose partitions the arrays of an application are mapped. Those partitions explore the difference in spatial locality among the matrices. Using traces of memory accesses, obtained for typical input patterns, we define a metric that quantifies the use of the two halves of the lines by array accesses in a unified array set-associative cache that satisfies a size constraint. We use this metric to split the arrays in two groups that are mapped to two cache partitions, one with the same line size, and the other with half line size of that of the unified array cache. This procedure is repeated for several unified array cache organizations of a specified size. In the end, the trace based split array caches with lowest average memory access time are selected. For a MPEG-2 decoder, depending on the parallelism of array accesses, simulation results show that the average memory access time of an 8K byte split array cache is reduced from 26% to 60% as compared to that of the unified set associative array cache of same size with the lowest average memory access time. There is also a reduction of 46% in the consumption of energy / Mestrado / Engenharia de Computação / Mestre em Engenharia Elétrica
97

Ambiente baseado em componentes para o desenvolvimento de sistemas computacionais microcontrolados distribuídos

Villela, Cláudio Vianna January 2001 (has links)
A modelagem e desenvolvimento de sistemas embarcados ("embedded systems") de forma distribuída, tende a ser uma tarefa extremamente complexa, especialmente quando envolve sistemas heterogêneos e sincronização de tarefas. Com a utilização do modelo de componentes de software é possível descrever, de uma forma simplificada, todos os elementos de distribuição e de comunicação para este tipo de sistemas. Neste sentido, a especificação de uma ferramenta capaz de auxiliar na modelagem e no desenvolvimento deste tipo de aplicação, certamente irá tornar o trabalho mais simples. Esta dissertação inicia por uma análise comparativa entre as tecnologias passíveis de serem utilizadas na definição de sistemas distribuídos heterogêneos, focando-se principalmente nas metodologias de modelagem, e nos mecanismos e middlewares de comunicação. Dos conceitos formados a partir desta análise é descrita uma ferramenta, baseada em componentes de software. A ferramenta é uma extensão do projeto SIMOO-RT, onde foram adicionados os conceitos de componente de software, biblioteca de componentes e diagrama de implantação. Além disso, foram realizadas modificações no sistema de geração de código, para dar suporte aos novos conceitos da ferramenta. A dissertação termina com a descrição de alguns estudos de caso utilizados para validar a ferramenta.
98

Uma arquitetura para execução de codigo comprimido em sistemas dedicados

Azevedo, Rodolfo Jardim de, 1974- 18 June 2002 (has links)
Orientador : Guido Costa Souza de Araujo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação / Made available in DSpace on 2018-08-01T12:52:13Z (GMT). No. of bitstreams: 1 Azevedo_RodolfoJardimde_D.pdf: 18616768 bytes, checksum: 99d078e8664f7791ae046a28a3108976 (MD5) Previous issue date: 2002 / Resumo: Projetos de sistemas dedicados modernos têm exigido cada vez mais memória de programa para incluir novas funcionalidades como interface com o usuário, suporte a novos componentes, etc. O aumento no tamanho dos programas tem feito com que a área ocupada pela memória em um circuito integrado moderno seja um dos fatores determinantes no seu custo final bem como um dos maiores responsáveis pelo consumo de potência nestes dispositivos. A compressão de código de programa vem sendo considerada como uma estratégia importante na minimização deste problema. Esta tese trata da compressão de programas para execução em sistemas dedicados baseados em arquiteturas RISC. Um amplo estudo demonstra que a utilização do método proposto neste trabalho, Instruction Based Compression (IBC), resulta em boas razões de compressão e implementações eficientes de descompressores. Para a arquitetura MIPS foi obtida a melhor razão de compressão (tamanho final do programa comprimido e do descompressor em relação ao programa original) conhecida (53,6%) utilizando como benchmark programas do SPEC CINT'95. Uma arquitetura pipelined para o descompressor é proposta e um protótipo foi implementado para o processador Leon (SPARC V8). Esta é a primeira implementação em hardware de um descompressor para a arquitetura SPARC, tendo produzido uma razão de compressão de 61,8% para o mesmo benchmark e uma queda de apenas 5,89% no desempenho médio do sistema / Abstract: The demand for program memory in embedded systems has grown considerably in recent years, as a result of the need to accommodate new system functionalities such as novel user interfaces, additional hardware devices, etc. The increase in program size has turned memory into the largest single factor in the total area and power dissipation of a modern System-on-a-Chíp (SoC). Program code compression has been considered recently a central technique in reducing the cost of memory in such systems. This thesis studies the code compression problem for RISC architectures. A thorough experimental study shows that the Instructíon Based Compressíon (IBC) technique proposed herein results in very good compression ratios and efficient decompressor engine implementations. For the MIPS architecture this approach results in the best compression ratio (size of the compressed program divided by the size of the original program) known in the literature (53.6%), when it is evaluated using the SPEC CINT'95 benchmark programs. A decompressor pipelined architecture was developed and prototyped for the Leon (SPARC V8) processor. This is the first implementation of a hardware decompressor on the SPARC architecture, having resulted in a 61.8% compression ratio for the same benchmark, at the expense of a fairly small performance overhead (5.89% on average) / Doutorado / Doutor em Ciência da Computação
99

Proposta de ambiente baseado em computação reconfiguravel para aplicação em prototipos de sistemas embarcados

Lima, Carlos Raimundo Erig 03 August 2018 (has links)
Orentador: João Mauricio Rosario / Tese (doutorado) - Universidade Estadual de Campinas, Faculdade de Engenharia Mecanica / Made available in DSpace on 2018-08-03T16:48:14Z (GMT). No. of bitstreams: 1 Lima_CarlosRaimundoErig_D.pdf: 2265514 bytes, checksum: fd1d47929d36db3e957f661d51ad7b46 (MD5) Previous issue date: 2003 / Doutorado
100

Compressão de codigo baseada em multi-profile

Wanderley Netto, Eduardo Braulio 21 May 2004 (has links)
Orientadores: Paulo Cesar Centoducatte, Rodolfo Jardim de Azevedo / Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Computação Cientifica / Made available in DSpace on 2018-08-03T20:18:33Z (GMT). No. of bitstreams: 1 WanderleyNetto_EduardoBraulio_D.pdf: 1509383 bytes, checksum: 7f2b5d47609daeb50be111be056b2377 (MD5) Previous issue date: 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) / 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 original / Doutorado / Doutor em Ciência da Computação

Page generated in 0.0624 seconds