• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 37
  • 3
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 40
  • 40
  • 40
  • 40
  • 34
  • 29
  • 20
  • 20
  • 17
  • 13
  • 13
  • 12
  • 12
  • 12
  • 11
  • 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.
1

Um modelo para configuração de nucleos para tempo real

Zabeu, Maria Cristina Amim 15 March 1990 (has links)
Orientador : Mauricio Ferreira Magalhães / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-14T03:57:30Z (GMT). No. of bitstreams: 1 Zabeu_MariaCristinaAmim_M.pdf: 7357754 bytes, checksum: 6c53feef0f2581b458cffec6a58f8b75 (MD5) Previous issue date: 1989 / Resumo: Este trabalho propõe um modelo para o desenvolvimento de núcleos de tempo real de forma a configurá-Ios de acordo com as necessidades das aplicações que os utilizam. A configuração do núcleo pode ser feita com o uso de um sistema baseado em tabelas, ou então com um sistema baseado em conhecimento (sistema especialista); ambos são delineados neste trabalho. São discutidos também uma implementação de um núcleo de acordo com o modelo proposto e uma particularização para uma dada aplicação (implementação de protocolos) / Abstract: A model for the development of real-time kernels is proposed, in order to make feasible their configuration to meet application needs. This configuration is discussed and two methods are given, one based on information tables and the other based in knowledge-based systems. A prototype implementation is also discuted, as well as the kernel specification to an application (protocol implementation) / Mestrado / Automação / Mestre em Engenharia Elétrica
2

Nucleo multiprocessado para aplicações em tempo-real

Hexsel, Roberto Andre 19 September 1988 (has links)
Orientador: Rogerio Drummond / Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Matematica, Estatistica e Ciencia da Computação / Made available in DSpace on 2018-07-17T23:29:28Z (GMT). No. of bitstreams: 1 Hexsel_RobertoAndre_M.pdf: 2603589 bytes, checksum: 63a5073b316e9b7dd4121ccfbde1245d (MD5) Previous issue date: 1988 / Resumo: Esta Dissertação descreve o núcleo de tempo-real do Multiprocessador para Sistemas de Controle (MSC). O MSC foi desenvolvido no Instituto de Automação do Centro Tecnológico para Informática e possui características que o tornam adequado a aplicações em controle de processos e automação industrial. Estas aplicações exigem respostas rápidas a eventos externos e grande capacidade de processamento. O MSC pode ser configurado para satisfazer as mais diversas aplicações e diferentes níveis de desempenho, desde controladores de robô até gerenciadores de sistemas integrados de manufatura. O MSC é baseado no barramento VME e pode conter um ou mais processadores MC 68000 e zero ou mais processadores Z80. O barramento VME suporta a comunicação de baixo nível entre os programas executados em paralelo pelos processadores. Cada processador (MC 68000) executa o código (aplicativos e NÚCLEO) armazenado em sua memória local, à qual é conectado por um barramento privativo (padrão VMX). A sincronização e comunicação de alto nível entre os programas ocorre através da memória global, a que os processadores tem acesso pelo barramento VME. Os processadores de Entrada/Saída (PE/S) são escravos dos demais processadores. Os PE/S são interligados ao VME por memória dual-port: uma das portas é mapeada como memória global (no VME) e a outra é ligada ao barramento interno do PE/S. O NÚCLEO do MSC é estruturado segundo o modelo estratificado. A unidade lógica de computação é o processo. O mecanismo de sincronização interprocessos é uma extensão de semáforos para uso no ambiente multiprocessado do MSC. O mecanismo de comunicação interprocessos é a troca de mensagens através de caixas postais. A localização (em memória global ou local) dos objetos suportados pelo NÚCLEO é especificada somente na sua criação. Todas as outras operações referenciam apenas aos identificadores dos objetos (números inteiros). Chamamos esta caraçterística de Transparência de Multiprocessamento. Graças a ela, a programação do MSC, um multiprocessador, oferece um grau de dificuldade não maior que aquele apresentado por sistemas multitarefa convencionais. Além disso, se todos os objetos necessários à execução de um programa forem criados num mesmo processo, um aplicativo pode ser transportado para uma máquina com um número diferente de processadores sem alterações no seu código (exceto nos locais onde os objetos/recursos são criados). O NÚCLEO oferece primitivas para a criação e destruição de processos (locais e remotos), operações P e V sobre semáforos, operações sobre conjuntos de armazenadores e troca de mensagens através de caixas postais. Os semáforos possibilitam soluções simples e eficientes para problemas de exclusão mútua e sincronização condicional. As caixas postais permitem a implementação de vários paradigmas de comunicação interprocessos, tais como comunicação síncrona ou assíncrona, "pipes" e "rendezvous". / Abstract: This dissertation describes the real-time kernel for a Multiprocessor aimed at Control Systems Applications (MSC for short). The MSC multiprocessor was developed at Instituto de Automação, Centro Tecnológico para Informática. It has features that make it suitable for applications in industrial process control. These applications demand high throughput and prompt response to external events. The MSC can be configured to solve a wide variety of problems in control and automation, from robot controllers up to supervising chores in flexible manufacturing systems. The MSC is built around a VME bus and may have one or more MC 68000 based processors and zero or more Z80 based I/O processors. The VME bus supports the low leveI communication between the processors. Each processor (MC 68000) executes the code (application and KERNEL) stored in its local memory, to which it is connected, by a private bus (VMX bus). The high leveI synchronization and communication between the programs occurs through the global memory, which is accessed by the processors via the VME bus. The I/O processors interface to the VME bus is a dual ported memory: one port is connected to the global bus (mapped as global memory) and the other is connected to the I/O processor's internal bus. The MSC's KERNEL was designed as a layered structure. The logical unit of computation is the process. The interprocess syhchronization mecanism is an extension to semaphores so they can be used in the distribuited MSC's environrnent. The interprocess communication mecanism is message exchange through mailboxes. The loci (in either global or local memory) of the objects supported by the KERNEL is specified only at its creation. All the other operations upon them refer just to their identifiers (which are integers). We call this feature Multiprocessing Transparency. Thanks to it, the MSC's (a multiprocessor) programming presents no more difficulty than that of conventional multitasking systems. Furthermore, if alI the objects needed to a program's execution are created on one process, this program may be ported to a machine with a different number of processors without any changes to its code (except, of course, to the places where the objects are created). The KERNEL supports primitives for the creation and killing of processes (local and remote ones), P and V operations on semaphores, operations on buffer pools (get, release) and message exchange through mailboxes. The semaphores provide simple and effident solutions to mutual exclusion and condition synchronization problems. The mailboxes allow the implementation of many interprocess communication paradigms, such as synchronous and assynchronous communication, pipes and rendezvous. / Mestrado / Mestre em Ciência da Computação
3

Suporte de tempo real para um ambiente de programação concorrente

Adán Coello, Juan Manuel 14 July 2018 (has links)
Orientador : Mauricio Ferreira Magalhães / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia de Campinas / Made available in DSpace on 2018-07-14T03:00:24Z (GMT). No. of bitstreams: 1 AdanCoello_JuanManuel_M.pdf: 4540458 bytes, checksum: a95fda9fbdf71fd60ffaddcc98159b7c (MD5) Previous issue date: 1986 / Resumo: Este trabalho apresenta a implementação do suporte de tempo real de um ambiente orientado ao desenvolvimento de software para aplicações de controle de processos. A construção de um programa de aplicação neste ambiente divide-se em duas etapas: a programação dos módulos que implementam as funções do sistema e a configuração da aplicação a partir dos módulos disponíveis / Abstract: This work presents the real time support implementation of an environment oriented to software development for process control applications. An application program construction in this environment is divided into two phases: the programming of modules that implement system functions, and, application configuration using available modules / Mestrado / Mestre em Engenharia Elétrica
4

Arquitetura de um microcomputador para controle de processos concorrentes em tempo real

Geus, Paulo Lício de, 1956- 19 July 1985 (has links)
Orientador: Mario Jino / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia de Campinas / Made available in DSpace on 2018-07-15T00:27:01Z (GMT). No. of bitstreams: 1 Geus_PauloLiciode_M.pdf: 1691127 bytes, checksum: aef71a0657fedc22b59e437b8638c86b (MD5) Previous issue date: 1985 / Resumo: Este trabalho descreve. Modificações introduzidas sobre a arquitetura existente de um microcomputador modular para atender requisitos de novas aplicações propostas. Tais aplicações envolvem aquisição de dados e processamento em tempo rea1 , além do gerenciamento de um grande número de interfaces de comunicação série. O objetivo procurado foi a obtenção de um sistema com baixo tempo de resposta a eventos assíncronos, otimização do fluxo de dados e boa taxa de processamento, dentro das limitações de gerenciamento de memória implícitas à CPU"de 8 bits utilizada. As principais modificações de hardware introduzidas são: uma unidade de gerenciamento de memória. com página.s de 4 Kbytes é 64 contextos de paginação residentes; um esquema de interrupções vetorizadas (família Z80) para a identificação automática de até 128 eventos diferentes; um controlador de DMA dispondo de 11 canais independentes com acesso ao espaço total de 1 Mbyte do microcomputador. / Abstract: This work describes enhancements made over the existing architecture of a modular microcomputer to support the requirements of proposed new applications. Such applications involve data aquisition and real-time processing, as well as the management of several serial communication interfaces. The desired goal was to get a system with low response time to asynchronous events, optimized data flow and good throughput, within the memory management limitations implied by the use of an 8 bit CPU. The main hardware alterations are: a memory-management unit with 4K byte pages and 54 resident pagination contexts; a vectorized interrupt scheme (Z80 family) for automatic identification of up to 128 different events; a DMA controller supporting 11 independent channels, with access to the full 1 Mbyte space of the microcomputer. / Mestrado / Mestre em Engenharia Elétrica
5

A distribuição do ambiente para desenvolvimento de software tempo real- STER

Guimarães, Eliane Gomes 23 November 1990 (has links)
Orientador: Mauricio F. Magalhães / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-13T21:56:53Z (GMT). No. of bitstreams: 1 Guimaraes_ElianeGomes_M.pdf: 10248156 bytes, checksum: f866147dab4814591415f2553968fe66 (MD5) Previous issue date: 1990 / Resumo: Este trabalho apresenta a implementação de um ambiente para programação distribuída de tempo real baseado na troca de mensagens - STER. O ambiente destina-se, fundamentalmente, a aplicações na área de sistemas distribuídos em automação industrial. OSTER proporciona uma abordagem baseada em linguagem para a programação de aplicações distribuídas, diferente de alguns sistemas existentes que proporcionam somente a conexão de sistemas autônomos. A abordagem utilizada reduz a complexidade na construção de aplicações distribuídas proporcionando modularidade, concorrência, comunicação e sincronização, integradas na estrutura de uma única linguagem. As suas principais características traduzem-se em: programação modular; independência dos módulos da aplicação relativamente ao fato da arquitetura alvo ser centralizada ou distribuída; possibilidades de reconfiguração dinâmica e de tolerância a falhas. O STER proporciona um conjunto de ferramentas para a compilação, configuração, depuração e execução de programas em um ambiente distribuído. O desenvolvimento de um programa de aplicação divide-se em duas etapas: a programação dos módulos que implementam as funções do sistema e a configuração da aplicação a partir dos módulos disponíveis. O ambiente consiste basicamente de uma metodologia; de um Núcleo Operacional Distribuído Tempo Real (NOD); e de duas linguagens: a Linguagem de Programação de Módulos (LPM) e a Linguagem de Configuração de Módulos (LCM). A LCM é utilizada para especificar a configuração de componentes de software em estações lógicas, o que proporciona uma descrição de configuração concisa e facilita o reuso dos módulos componentes em configurações diferentes. As aplicações são construídas a partir de uma ou mais estações lógicas interconectadas.A versão implementada permite a execução de aplicações distribuídas em equipamentos compatíveis com o IDM-PC, interligados por rede local. Atualmente, o ambiente suporta apenas configuração estática das aplicações. Uma evolução do trabalho é a extensão do ambiente de forma a suportar a reconfiguração dinâmica e o transporte do STER para estações de trabalho executando sistemas UNIX / Abstract: This work presents the implementation of the environment to distributed real time programming based on message passing - STER. The main application area of the environment is Distributed Systems in Industrial Automation. The STER provides a language-based approach to build dístributed applications, unlike of existing systems which merely provi de interconnection of autonomous systems. The approach used reduce the complexity of constructing distributed applications by providing modularity, concurrency, synchronisation and communication facilities integrated into a single language. The characteristics of this environment are: modular programming, applications modules independent of the target hardware architecture (centralized or distributed); possibilities of dynamic reconfiguration and fault-tolerance. The STER provides a set of tools for program compilation, configuration, debugging and execution in a distributed environment. The development of an application program consists of two phases: the programming of modules that implement system functions and the configuration of the application using available modules. This environment integrares a design methodology; a Real Time Distributed Kemel (NOD) and the two languages: the Modules Programming Language (LPM) and the Modules Configuration Language (LCM). The LCM is employed to specify the configuration of software components into logical stations. This provides a concise configuration and facilitates the re-use of modules components in different configurations. Aplications are constructed as sets of one or more interconnected logical stations. The version implemented allows distributed applications running on ffiM-PC compatible equipaments, interconnected via local networks. Currently, the environment suppons only static configuration of the applications. Future steps related to the continuity of this work should include the suppon of dynamic reconfiguration and the transpon of STER' s tools to UNIX operating systems based workstations / Mestrado / Mestre em Engenharia Elétrica
6

Estudo e analise de algoritmos de escalonamento para aplicações de tempo real critico

Hsieh, Yi Zung 29 March 1991 (has links)
Orientador: Mauricio F. Magalhães / Dissertação (mestrado) - Universidade Estadual de Campinas, Faculdade de Engenharia Eletrica / Made available in DSpace on 2018-07-13T22:54:12Z (GMT). No. of bitstreams: 1 Hsieh_YiZung_M.pdf: 7322412 bytes, checksum: a256acb27a523ba0592d2046e46481a3 (MD5) Previous issue date: 1991 / Resumo: As restrições de temporização dos processos num sistema de tempo real crítico (Hard Real Time System - HRTS) é um fator da máxima importância; os problemas de escalonamento geralmente envolvem a garantia da exequibilidade dentro das limitações impostas pelas aplicações e, conforme a relação interprocessos dentro de um sistema, aumenta-se o grau de complexidade do escalonador. Neste trabalho, será realizada uma série de análises sobre os problemas verificados diferentes. Nos escalonadores de HRTS exercitados em seis ambientes representantes de Os duas estudos estão concentrados sobre dois escalonadores categorias diferentes o escalonador estático "Taxa Monotônica" e o escalonador dinâmico "Earliest Deadline"; seus desempenhos são discutidos e questionados de diversas maneiras durante as respectivas apresentações; algumas propostas também serão levantadas visando a melhoria dos algoritmos de escalonamento / Mestrado / Mestre em Engenharia Elétrica
7

Aplicações de tempo real em um ambiente baseado em multicomputador : serviços de suporte e avaliação de desempenho /

Corrêa, Edgard de Faria January 1998 (has links)
Dissertação (Mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. / Made available in DSpace on 2012-10-17T06:43:08Z (GMT). No. of bitstreams: 0Bitstream added on 2016-01-09T01:03:39Z : No. of bitstreams: 1 138344.pdf: 1738155 bytes, checksum: 1a6f20d3d9bdc367925c698a0229ff9a (MD5)
8

DESENVOLVIMENTO DE UM SISTEMA PARA NAVEGAÇÃO E TELEMETRIA DE UM ROV ATUANDO EM ÁGUAS RASAS

Soares Júnior, Luiz Carlos Simões 17 December 2008 (has links)
Submitted by Diogo Barreiros (diogo.barreiros@ufba.br) on 2017-02-17T15:18:14Z No. of bitstreams: 1 mestrado_Luiz.pdf: 2296935 bytes, checksum: cfe40df7ba936424cec5e47234d51af1 (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-02-17T15:30:29Z (GMT) No. of bitstreams: 1 mestrado_Luiz.pdf: 2296935 bytes, checksum: cfe40df7ba936424cec5e47234d51af1 (MD5) / Made available in DSpace on 2017-02-17T15:30:29Z (GMT). No. of bitstreams: 1 mestrado_Luiz.pdf: 2296935 bytes, checksum: cfe40df7ba936424cec5e47234d51af1 (MD5) / O ROV, VeÍculo Operado Remotamente, É um robÔ subaquático que permite ao operador permanecer em um ambiente seguro enquanto este veículo efetua uma tarefa perigosa. Para facilitar a navega¸c˜ao com estes ve´ıculos s˜ao necess´arios dados que forne¸cam informa¸c˜oes sobre o posicionamento e o estado do ve´ıculo. Esta disserta¸c˜ao descreve o desenvolvimento de um sistema eletrˆonico de sensoriamento para navega¸c˜ao de ROV atuando em ´aguas rasas, at´e 30 metros. S˜ao consideradas v´arias estrat´egias, t´ecnicas e teorias envolvendo o projeto, o desenvolvimento, a montagem e os testes de circuitos eletrˆonicos, da calibra¸c˜ao de sensores, dos protocolos de comunica¸c˜ao e linhas de transmiss˜ao para robˆos submers´ıveis. O sistema de sensoriamento ´e composto por sensores que informam: perfis em trˆes dimens˜oes do campo magn´etico terrestre (b´ussola), acelera¸c˜ao, velocidade, posi¸c˜ao do ve´ıculo, medida da profundidade, vis˜ao colorida em duas dimens˜oes e o estado de carga da bateria de bordo. A combina¸c˜ao destes dados fornece ao operador informa¸c˜oes sobre o estado do ve´ıculo, o que possibilita uma navega¸c˜ao segura e eficiente. Para a leitura dos sinais dos sensores e transmiss˜ao destes dados `a central de controle foi desenvolvido um sistema embarcado baseado em um microcontrolador PIC. Toda a eletrˆonica desenvolvida neste trabalho foi projetada de forma modular, de modo que os diversos elementos desenvolvidos possam ser reaproveitados em outros trabalhos. Como resultados mais relevantes podemos destacar: a unidade de medida de acelera¸c˜ao que mostrou-se sens´ıvel para est´ımulos da ordem de 0,03 g, a b´ussola eletrˆonica que apresentou um erro m´aximo de 9o para as medidas de ˆangulo e o profundimetro que apresentou uma resolu¸c˜ao de 0,04 m. Estes resultados s˜ao extremamente vi alentadores e mostram que, com a continuidade e a consolida¸c˜ao das pesquisas em rob´otica m´ovel no Laborat´orio de Propriedades Opticas (LaPO), melhores resultados podem ser obtidos em um futuro pr´oximo. . Aplicações para os ROVs incluem resgate, manutenção e construção de estrutura submarinas, manutenção de plantas nucleares, medidas de poluição da água e observação.
9

Desenvolvimento de um sistema para navegação e telemetria de aeronaves não-tripuladas

Filardi, Vitor Leão 22 September 2006 (has links)
Submitted by Marcio Filho (marcio.kleber@ufba.br) on 2017-06-09T12:54:47Z No. of bitstreams: 1 mestrado_vitor.pdf: 2209704 bytes, checksum: d39df531f410d6533d4c54bd9255e48c (MD5) / Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-13T15:15:44Z (GMT) No. of bitstreams: 1 mestrado_vitor.pdf: 2209704 bytes, checksum: d39df531f410d6533d4c54bd9255e48c (MD5) / Made available in DSpace on 2017-06-13T15:15:44Z (GMT). No. of bitstreams: 1 mestrado_vitor.pdf: 2209704 bytes, checksum: d39df531f410d6533d4c54bd9255e48c (MD5) / A pesquisa para o desenvolvimento do conjunto de circuitos eletrônicos (hardware) para aquisição de dados e sistemas de controle de vôo para aeronaves n˜ao-tripuladas(UAV -Unmanned Aerial Vehicle) tem gerado novos conhecimentos aeronauticas, com aplicações em monitoramento ambiental e controle de areas agrícolas e de pragas. Neste trabalho, foi concebido o desenvolvimento de todo o aparato eletrônico necessário para um UAV, sendo este desenvolvimento parte integrante do projeto UAV-UFBA. Apresenta-se aqui um detalhamento do funcionamento dos sensores utilizados para o sistema de navegação inercial, bem como todas as equações necessárias para a conversão dos valores de tens˜ao adquiridos pelos sensores em suas respectivas unidades de medida: aceleração, press˜ao, velocidade do angular e outros. S˜ao também apresentados os filtros analógicos e digitais desenvolvidos e os circuitos de condicionamento de sinal de cada sensor. O sistema de processamento ´e composto por dois microcontroladores da família MCS-51, como módulo de interface entre o sistema de navegação e a aeronave. A arquitetura desenvolvida ´e flexível, podendo ser utilizada de várias formas e expandida de acordo com a necessidade. Para validar o equipamento foram feitos diferentes tipos de ensaio. As respostas obtidas tiveram erros inferiores a 4%, levando em considera¸c˜ao que se esperava erros maiores, próximos a 20%, visto que a equipe n˜ao tinha experiência nesta área, nem outros trabalhos como referência. Desta maneira mostra que com a continuidade e o aprofundamento da pesquisa, pode-se obter resultados ainda melhores.
10

WCET-aware prefetching of unlocked instruction caches

Wuerges, Emílio January 2015 (has links)
Tese (doutorado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2015. / Made available in DSpace on 2015-09-08T04:10:00Z (GMT). No. of bitstreams: 1 334103.pdf: 474482 bytes, checksum: e8c8770f10b59df4df1e70854aa60a94 (MD5) Previous issue date: 2015 / A computação embarcada requer crescente vazão sob baixa potência. Ela requer um aumento de eficiência energética quando se executam programas de crescente complexidade. Muitos sistemas embarcados são também sistemas de tempo real, cuja correção temporal precisa ser garantida através de análise de escalonabilidade, a qual costuma assumir que o WCET de uma tarefa é conhecido em tempo de projeto. Como resultado da crescente complexidade do software, uma quantidade significativa de energia é gasta ao se prover instruções através da hierarquia de memória. Como a cache de instruções consome cerca de 40% da energia gasta em um processador embarcado e afeta a energia consumida em memória principal, ela se torna um relevante alvo para otimização. Entretanto, como ela afeta substancialmente o WCET, o comportamento da cache precisa ser restrito via  cache locking ou previsto via análise de WCET. Para obter eficiência energética sob restrições de tempo real, é preciso estender a consciência que o compilador tem da plataforma de hardware. Entretanto, compiladores para tempo real ignoram a energia, embora determinem rapidamente limites superiores para o WCET, enquanto compiladores para sistemas embarcados estimem com precisão a energia, mas gastem muito tempo em  profiling . Por isso, esta tese propõe um método unificado para estimar a energia gasta em memória, o qual é baseado em Interpretação Abstrata, exatamente o mesmo substrato matemático usado para a análise de WCET em caches. As estimativas mostram derivadas que são tão precisas quanto as obtidas via  profiling , mas são computadas 1000 vezes mais rápido, sendo apropriadas para induzir otimização de código através de melhoria iterativa. Como  cache locking troca eficiência energética por previsibilidade, esta tese propõe uma nova otimização de código, baseada em pré-carga por software, a qual reduz a taxa de faltas de caches de instruções e, provadamente, não aumenta o WCET. A otimização proposta é comparada com o estado-da-arte em  cache locking parcial para 37 programas do  Malardalen WCET benchmark para 36 configurações de cache e duas tecnologias distintas (2664 casos de uso). Em média, para obter uma melhoria de 68% no WCET,  cache locking parcial requer 8% mais energia. Por outro lado, a pré-carga por software diminui o consumo de energia em 11% enquanto melhora em 15% o WCET, reconciliando assim eficiência energética e garantias de tempo real.<br> / Abstract : Embedded computing requires increasing throughput at low power budgets. It asks for growing energy efficiency when executing programs of rising complexity. Many embedded systems are also real-time systems, whose temporal correctness is asserted through schedulability analysis, which often assumes that the WCET of each task is known at design-time. As a result of the growing software complexity, a significant amount of energy is spent in supplying instructions through the memory hierarchy. Since an instruction cache consumes around 40% of an embedded processor s energy and affects the energy spent in main memory, it becomes a relevant optimization target. However, since it largely impacts the WCET, cache behavior must be either constrained via cache locking or predicted by WCET analysis. To achieve energy efficiency under real-time constraints, a compiler must have extended awareness of the hardware platform. However, real-time compilers ignore energy, although they quickly determine bounds for WCET, whereas embedded compilers accurately estimate energy but require time-consuming profiling. That is why this thesis proposes a unifying method to estimate memory energy consumption that is based on Abstract Interpretation, the very same mathematical framework employed for the WCET analysis of caches. The estimates exhibit derivatives that are as accurate as those obtained by profiling, but are computed 1000 times faster, being suitable for driving code optimization through iterative improvement. Since cache locking gives up energy efficiency for predictability, this thesis proposes a novel code optimization, based on software prefetching, which reduces miss rate of unlocked instruction caches and, provenly, does not increase the WCET. The proposed optimization is compared with a state-of-the-art partial cache locking technique for the 37 programs of the Malardalen WCET benchmarks under 36 cache configurations and two distinct target technologies (2664 use cases). On average, to achieve an improvement of 68% in the WCET, partial cache locking required 8% more energy. On the other hand, software prefetching decreased the energy consumption by 11% while leading to an improvement of 15% in the WCET, thereby reconciling energy efficiency and real-time guarantees.

Page generated in 0.0801 seconds