71 |
Ambiente baseado em componentes para o desenvolvimento de sistemas computacionais microcontrolados distribuídosVillela, 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.
|
72 |
Strategies for embedded software development based on high-level models / Strategies for embedded software development based on high-level modelsBrisolara, Lisane Brisolara de January 2007 (has links)
Técnicas que partem de modelos de alto nível de abstração são requeridas para lidar com a complexidade encontrada nas novas gerações de sistemas embarcados, sendo cruciais para o sucesso do projeto. Uma grande redução do esforço pode ser obtida com o uso de modelos quando código em uma linguagem de programação pode ser gerado automaticamente a partir desses. Porém, ferramentas disponíveis para modelagem e geração de código normalmente são dependentes de domínio e o software embarcado normalmente possui comportamento heterogêneo, requerendo suporte a múltiplos modelos de computação. Nesta tese, estratégias para desenvolvimento de software embarcado baseado em modelos de alto nível usando UML e Simulink são analisadas. A partir desta análise, observaram-se as principais limitações das abordagens para geração de código baseadas em UML e Simulink. Esta tese, então, propõe estratégias para melhorar a automação provida por estas ferramentas, como por exemplo, propondo uma abordagem para geração de código multithread a partir de modelos Simulink. A comparação feita entre UML e Simulink mostra que, embora UML seja a linguagem mais usada no domínio de engenharia de software, UML é baseada em eventos e não é adequada para modelar sistemas dataflow. Por outro lado, Simulink é largamente usado por engenheiros de hardware e de controle, além de suportar dataflow e geração de código. Porém, Simulink provê abstrações de mais baixo nível, quando comparado a UML. Conclui-se que tanto UML como Simulink possuem prós e contras, o que motiva a integração de ambas linguagens em um único fluxo de projeto. Neste contexto, esta tese propõe também uma abordagem integradora para desenvolvimento de software embarcado que inicia com uma especificação de alto nível descrita usando diagramas UML, a partir da qual modelos dataflow e control-flow podem ser gerados. Desta maneira, o modelo UML pode ser usado como front-end para diferentes abordagens de geração de código, incluindo UML e a proposta geração de código multithread a partir de modelos Simulink. / The use of techniques starting from higher abstraction levels is required to cope with the complexity that is found in the new generations of embedded systems, being crucial to the design success. A large reduction of design effort when using models in the development can be achieved when there is a possibility to automatically generate code from them. Using these techniques, the designer specifies the system model using some abstraction and code in a programming language is generated from that. However, available tools for modeling and code generation are domain-specific and embedded software usually shows heterogeneous behavior, which pushes the need for supporting software automation under different models of computation. In this thesis, strategies for embedded software development based on high-level models using UML and Simulink were analyzed. We observed that the embedded software generation approaches based on UML and Simulink have limitations, and hence this thesis proposes strategies to improve the automation provided on those approaches, for example, proposing a Simulink-based multithread code generation. UML is a well used language in the software engineering domain, and we consider that it has several advantages. However, UML is event-based and not suitable to model dataflow systems. On the other side, Simulink is widely used by control and hardware engineers and supports dataflow, and time-continuous models. Moreover, tools are available to generate code from a Simulink model. However, Simulink models represent lower abstraction level compared to UML ones. This comparison shows that UML and Simulink have pros and cons, which motivates the integration of both languages in a single design process. As the main contribution, we propose in this thesis an integrated approach to embedded software design, which starts from a high-level specification using UML diagrams. Both dataflow and control-flow models can be generated from that. In this way, an UML model can be used as front-end for different code generation approaches, including UML-based one and the proposed Simulink-based multithread code generation.
|
73 |
Uma avaliação experimental da plataforma parallella utilizando controle preditivo baseado em modelo como um estudo de casoSoudré, Marlon Marques 02 March 2017 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2017. / Submitted by Raquel Almeida (raquel.df13@gmail.com) on 2017-06-06T12:24:42Z
No. of bitstreams: 1
2017_MarlonMarquesSoudré.pdf: 3841755 bytes, checksum: b8cb63f1adbded06ea18d5211ef11182 (MD5) / Approved for entry into archive by Raquel Viana (raquelviana@bce.unb.br) on 2017-06-23T21:06:12Z (GMT) No. of bitstreams: 1
2017_MarlonMarquesSoudré.pdf: 3841755 bytes, checksum: b8cb63f1adbded06ea18d5211ef11182 (MD5) / Made available in DSpace on 2017-06-23T21:06:12Z (GMT). No. of bitstreams: 1
2017_MarlonMarquesSoudré.pdf: 3841755 bytes, checksum: b8cb63f1adbded06ea18d5211ef11182 (MD5)
Previous issue date: 2017-06-23 / Nas últimas décadas, o poder computacional de sistemas embarcados têm crescido de forma muito rápida. Em geral, tais sistema são projetados para operar sob restrições como portabilidade (peso e tamanho), consumo de recursos, baixo consumo de energia e dissipação de potência. Assim, motivado pelos fatores supracitados e pelo avanço tecnológico, assim como pela demanda crescente de desempenho por parte das aplicações embarcadas, têm surgido vários processadores e plataformas de hardware que fazem uso de arquiteturas multicore, com destaque para a Parallella, uma plataforma de alto desempenho e baixo consumo energético. Nesse sentido, o presente trabalho traz a proposta de se avaliar tal plataforma sob uma abordagem experimental, como foco em seu coprocessador Epiphany de 16 cores, quando utilizada como um acelerador em software para aplicações de controle preditivo baseado em modelo como um estudo de caso, devido sua relevância para o grupo de pesquisa do LEIA (Laboratório de Sistemas Embarcados e Aplicações de Circuitos Integrados – Universidade de Brasília). Os resultados mostram que, apesar de restrições críticas como o tamanho da memória local dos cores, a plataforma Parallella se apresenta como uma arquitetura em potencial, podendo ser vista como uma alternativa à aceleração de algoritmos em hardware. Melhorias futuras como a expansão do número de núcleos do MPSoC Epiphany e da memória local dos mesmos, como previsto pelos fundadores do projeto, poderão alavancar ainda mais o uso de tal arquitetura em aplicações embarcadas. / In the last decades, the computational power of embedded systems has grown very fast. In general, such systems are designed to operate under constraints such as portability, resource consumption, low power consumption and power dissipation. Thus, due to the aforementioned factors and technological advances, as well as the increasing demand for performance by embedded applications, there have been several processors and hardware platforms that make use of multicore architectures, with emphasis on a Parallella, a platform of high performance and low consumption. In this sense, the present work presents a proposal to evaluate such platform in an experimental approach, focusing on its Epiphany 16-core co-processor, when used as a software accelerator for model-based predictive control applications as a case study, due to its relevance to the research group of LEIA (Laboratory of Embedded Systems and Applications of Integrated Circuits - University of Brasilia). The results show that, despite critical constraints such as the local memory size of the cores, a Parallella platform presents itself as a potential architecture and can be seen as an alternative to accelerating hardware algorithms. Future improvements such as the expansion of the number of MPSoC Epiphany cores and their local memory, as predicted by the founders of the project, can leverage the use of this architecture in embedded applications
|
74 |
Sistema embarcado baseado em arquiteturas reconfiguráveis do controle dinâmico de uma mão robótica sintonizado com algoritmos bioinspiradosPertuz Mendez, Sergio Andres 23 June 2017 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2017. / Submitted by Raquel Almeida (raquel.df13@gmail.com) on 2017-08-03T17:51:03Z
No. of bitstreams: 1
2017_SergioAndresPertuzMendez.pdf: 6221181 bytes, checksum: 6ead5ebcb0f082dc125c61d6a2ea118d (MD5) / Approved for entry into archive by Raquel Viana (raquelviana@bce.unb.br) on 2017-09-15T15:21:34Z (GMT) No. of bitstreams: 1
2017_SergioAndresPertuzMendez.pdf: 6221181 bytes, checksum: 6ead5ebcb0f082dc125c61d6a2ea118d (MD5) / Made available in DSpace on 2017-09-15T15:21:34Z (GMT). No. of bitstreams: 1
2017_SergioAndresPertuzMendez.pdf: 6221181 bytes, checksum: 6ead5ebcb0f082dc125c61d6a2ea118d (MD5)
Previous issue date: 2017-09-15 / Nos últimos anos grandes avanços tecnológicos formam feitos no campo da computação e áreas correlatas, o que permitiu o desenvolvimento de sistemas robóticos sofisticados como robôs biomiméticos. Esses robôs imitam sistemas biológicos que decorrem robustez e e ciência maiores se comparados com robôs convencionais quando usados em ambientes não estruturados. Por exemplo, uma mão robótica biomimética tem uma destreza e agilidade maior para executar tarefas de manipulação e agarres do que pinças convencionais. Desde os anos oitenta, o desenvolvimento de mãos robóticas biomiméticas é o foco de pesquisa de várias equipes de investigação no mundo. Na atualidade há um número vasto de trabalhos encaminhados à construção e controle dos mesmos, os quais tem o intuito de melhorar a destreza e o desempenho das mãos e incluem tópicos como projeto da mão, mecanismos de movimento para as juntas, plataformas embarcadas e estratégias de controle. Existem várias abordagens a nível computacional que ainda não têm sido exploradas neste tipo de robôs, por exemplo o uso de um chip FPGA para o aumento de desempenho das estratégias de controle dinâmico usadas nos mesmos. O presente trabalho descreve o desenvolvimento de uma arquitetura em hardware baseada em FPGA do controlador dinâmico de uma mão robótica, o qual é sintonizado usando algoritmos de otimização bioinspirada visando para atingir estabilidade de agarre. O projeto da mão robótica realizado neste trabalho inclui o uso de mecanismos para emular os movimentos de exão-extensão dos dedos. Os mecanismos foram otimizados visando minimizar o erro de trajetória usando a mão humana como referência. Os algoritmos bioinspirados PSO, DE e GA foram implementados para otimizar o mecanismo. 32 experimentos foram realizados para cada algoritmo a m de realizar uma análise estatística para determinar o mecanismo com o melhor resultado, o qual é implementado no projeto nal do mecanismo do dedo incluído no CAD da mão completa, o qual é descrito junto com o projeto eletrônico da plataforma. O projeto nal da mão é avaliado com análise cinemática e adaptações do teste de Kapandji. Em seguida o protótipo é fabricado e montado usando diversos processos de fabricação e prototipagem, tais como corte a jato de água, torneamento e impressão 3D. Logo após, foi projetado na plataforma Matlab/Simulink em alto nível o esquema de controle de impedância dos dedos o qual foi validado usando um simulador numérico do dedo para estudar o efeito do controlador no sistema sem colocar em risco a plataforma física. A sintonização do controlador é realizada usando o algoritmo de otimização bioinspirado PSO visando reduzir o tempo de estabilidade, o sobreimpulso e o tempo de subida. Seguidamente, esses resultados foram implementados em plataformas embarcadas nas linguagens de programação C e na linguagem de descrição de hardware HDL. Após ser avaliado, o esquema de controle foi implementado em C na plataforma Arduino e mapeado em FPGA na placa de desenvolvimento ZedBoard. Uma comparação numérica e analítica foi realizada em termos do desempenho e precisão das duas abordagens. O resultado da otimização do mecanismo de exão-extensão produziu um erro de 0.2660% e o uso deste mecanismo permitiu fabricar um protótipo com dimensões e peso similar a uma mão humana real. Além disso, o protótipo atingiu os dez níveis da adaptação do teste de Kapandji. Adicionalmente, a sintonização da estratégia de controle resultou no comportamento desejado, o qual é subamortecido e com um tempo de estabilização 355ms. Similarmente, os resultados da implementação em FPGA foram satisfatórios no sentido do desempenho do tempo de execução da estratégia de controle, o qual melhorou os resultados da implementação em Arduino e outros trabalhos correlatos no estado da arte. / In recent years, huge technological advances have been made in the eld of computing sciences and related areas, which has allowed the development of sophisticated robotic systems such as biomimetic robots. These robots mimic biological systems that result in greater robustness and e ciency compared to conventional robots when used in unstructured environments. For instance, a biomimetic robotic hand has greater dexterity and agility to perform manipulation tasks and grasp than conventional grippers. Since the 1980s, the development of biomimetic robotic hands has been the focus of many research teams all over the world. Nowadays several contributions regarding the construction and control of said systems, which aim to improve the dexterity and performance of the hands and include topics such as hand design, joint mechanisms, embedded platforms and control strategies. However, even with the great available knowledge, there are still no perfect robotic hands, therefore, there is still knowledge to be contributed in the scienti c community. There are several approaches at the computational level that have not yet been explored in this type of robots, for example, the use of a single FPGA chip to increase the performance of the dynamic control schemes used. This work describes the development of an FPGA-based hardware architecture of the dynamic controller in a robotic hand, which is tuned using bioinspired optimization algorithms applied to achieve stability of grasps. The robotic hand design performed in this work includes the use of mechanisms to emulate the exionextension movements of the ngers. The mechanisms were optimized to minimize the trajectory error using the human hand as reference. The bioinspired algorithms PSO, DE and GA were implemented to optimize the mechanism. 32 experiments are performed for each algorithm to perform a statistical analysis to determine 2 the best result. This optimized mechanism was implemented in the nal design of the nger mechanism included in the CAD of the complete hand, which is described together with the electronic design of the platform. The nal hand design is evaluated with kinematic analysis and Kapandji clinical test adaptations. The prototype was manufactured and assembled using various manufacturing and prototyping processes, such as water-jet cutting, turning and 3D printing. Afterwards, the nger impedance control scheme was designed on a high level platform using Matlab/Simulink, in addition to a numerical simulator of the nger for the study of the controller e ect on the system avoiding physical damage to the system. The controller was tuned using the PSO optimization algorithm aiming to reduce the stability time, the overshoot and the rise time. These results are then implemented on embedded platforms in both C and VHDL languages. After being evaluated, the control scheme is implemented in C on the Arduino platform and was manually mapped to FPGA on the ZedBoard development board. A numerical comparison between the two approaches was done in terms of performance and accuracy. The result of the optimization of the exion-extension mechanism produced an error of 0.2660% and the use of this mechanism allowed for manufacturing the prototype with dimensions and weight similar to a real human hand. The prototype reached the ten levels of the Kapandji test tting. In addition, the tuning of the control strategy resulted in the desired behavior, which is underdamped and with a stabilization time of 355ms. Similarly, the FPGA implementation results were satisfactory in the sense of the execution-time performance of the control strategy, which improved the implementation results in Arduino and other related work in the state of the art.
|
75 |
Javal: modelo de ambiente de avaliação remota multiagente baseada em tutores embarcadosEmiliano, José Pereira January 2002 (has links)
Trata o presente objeto de pesquisa da proposta de desenvolvimento de um modelo de ambiente de avaliação remota para Ensino à Distância, baseado no paradigma de Orientação a Objetos e elaborado com base na tecnologia de sistemas multiagentes. Para a validação do modelo, foi desenvolvido um protótipo denominado Javal, capaz de permitir a aplicação e monitoração da realização de avaliações e testes à distância. As soluções comerciais disponíveis no mercado, como Question Mark Perception, Aula Net e WebCT possuem código fechado e custo elevado, além de serem baseadas em soluções proprietárias (QML - Question Mark, ASP - Microsoft, etc.), necessitando de plataforma específica para instalação de servidores e clientes. Quanto ao aspecto funcional, estas ferramentas possuem a base de sua lógica de funcionamento em execução de scripts no servidor. Para cada item de uma avaliação a ser respondido, torna-se necessária a efetivação de uma nova conexão. O modelo proposto traz toda a funcionalidade do sistema para o ambiente do aluno, tornando necessária apenas uma conexão para a busca da avaliação e outra para o envio dos resultados, reduzindo o tráfego na rede. Quanto ao aspecto pedagógico, estas ferramentas limitam-se apenas a apresentar uma avaliação somativa do aluno, geração de graus e estatísticas, não se preocupando em monitorar seus aspectos comportamentais, capazes de apontar indícios de possíveis falhas no aprendizado ou na elaboração da avaliação. A proposta do modelo é da apresentação de um ambiente orientado a objetos, capaz de distribuir elementos representativos das avaliações existentes no modelo tradicional de ensino, incorporando recursos capazes de possibilitar a monitoração de aspectos comportamentais do aluno, pelo emprego de agentes monitores ou tutores, que podem acompanhar o aluno e auxiliá-lo em situações de dificuldade. O modelo proposto por este trabalho envolve as avaliações formativas e somativas, aplicadas de forma assíncrona e individual. Como sugestão para trabalhos futuros, o modelo propõe o desenvolvimento de classes capazes de implementar a aplicação de avaliações síncronas e em grupo. A validação do modelo proposto foi realizado através do desenvolvimento de um protótipo que, com base no desenvolvimento de uma API Javal específica, implementa os principais tipos de questões disponíveis no sistema de ensino tradicional, além de agentes tutores de avaliação.
|
76 |
Framework orientado a objetos para projeto de hardware e software embarcados para sistemas tempo-realWehrmeister, Marco Aurélio January 2005 (has links)
A crescente complexidade dos sistemas tempo-real embarcados demanda novas metodologias e ferramentas para gerenciar os problemas de projeto, análise, integração e validação de sistemas complexos. Este trabalho aborda o tema co-projeto de sistemas tempo-real embarcados, propondo estratégias para a integração das fases iniciais de modelagem de um sistema tempo-real embarcado com as fases subseqüentes do projeto, como a implementação do software e do hardware. É proposto um framework orientado a objetos que permite a criação de modelos orientados a objetos de sistemas tempo-real embarcados, utilizando conceitos temporais similares aos propostos em UML-RT (ou mais especificamente no UML Profile for Schedulability, Performance and Time). É proposta uma estratégia de mapeamento dos requisitos temporais dos diagramas UMLRT para uma interface de programação (API) baseada na “Especificação Tempo-Real para Java” (Real-Time Specification for Java ou RTSJ), a qual pode ser executada tanto em software – em programas RTSJ executando em máquinas virtuais Java (JVM) tempo-real – ou em hardware – em processadores Java Tempo-Real. Para permitir o mapeamento para hardware são propostas extensões tempo-real ao processador Java FemtoJava, desenvolvido no âmbito de dissertações de mestrado e projetos de pesquisa no PPGC, criando-se um novo processador tempo-real denominado de RT-FemtoJava. Dentre as extensões propostas ao processador FemtoJava destaca-se a inclusão de um relógio de tempo-real e o suporte a instruções para alocação e manipulação de objetos. Os conceitos propostos foram validados no âmbito de estudos de caso, sendo os resultados obtidos descritos na presente dissertação.
|
77 |
Projeto de um kit ARM para simulação de um CLP residencial de baixo custo com placa de expansão de relês sem fioOliveira, Ilton Pereira de 14 December 2014 (has links)
Dissertação (mestrado)—Universidade de Brasília, Faculdade de Tecnologia, Departamento de Engenharia Mecânica, 2014. / Submitted by Fernanda Percia França (fernandafranca@bce.unb.br) on 2015-11-25T15:13:31Z
No. of bitstreams: 1
2015_IltonPereiradeOliveira.pdf: 8452704 bytes, checksum: 07e1001d9ac0c50320df03b95c713d97 (MD5) / Approved for entry into archive by Raquel Viana(raquelviana@bce.unb.br) on 2016-05-17T20:23:45Z (GMT) No. of bitstreams: 1
2015_IltonPereiradeOliveira.pdf: 8452704 bytes, checksum: 07e1001d9ac0c50320df03b95c713d97 (MD5) / Made available in DSpace on 2016-05-17T20:23:46Z (GMT). No. of bitstreams: 1
2015_IltonPereiradeOliveira.pdf: 8452704 bytes, checksum: 07e1001d9ac0c50320df03b95c713d97 (MD5) / O objetivo deste trabalho é projetar um sistema embarcado baseado em um microcontrolador da família ARM, com o objetivo de simular um CLP (Controlador Lógico Programável) para aplicação em automação residencial, levando em conta vários requisitos, seguindo normas de segurança brasileiras e internacionais, programação simples, usando uma ferramenta gratuita de desenvolvimento. Neste contexto, há uma grande variedade aplicações que podem ser desenvolvidas usando um CLP residencial, tais como, controle de iluminação, controle básico de equipamentos eletrônicos, climatização de ambientes, acionamento do movimentador de portão, irrigação de jardins, abertura de persianas, alarme de segurança por meio da leitura de sensores na casa, entre outros. A proposta deste trabalho é que o CLP residencial torne-se um projeto de código aberto, incluindo todos os códigos fontes, esquemáticos e manuais de usuário, disponibilizando-os em uma página web disponível para receber modificações para novas aplicações. O sistema embarcado desenvolvido é baseado em um ARM CORTEX M3 LPC1768, incluindo também uma porta Ethernet e interfaces CAN, RS232, RS485, USBe e XBee. O sistema também conta com um RTC (relógio em tempo real), memoria interna de 512k, assim como memórias externas do tipo SD-card e EPROM. Além disso, foi desenvolvido um módulo de expansão para controle de cargas, que pode ser controlado a partir da placa-mãe usando tanto conexão XBee quanto via cabo serial. Este módulo é composto de 8 relés que oferecem conexões opto-isoladas que são dirigidas para as tarefas de automação residencial. Adicionalmente, o sistema desenvolvido foi projetado para ser aplicado em cursos de graduação com foco em disciplinas voltadas para microcontroladores e sistemas embarcados para automação e controle. Neste trabalho o quesito de interface, implícito nos CLPs comerciais, envolvendo linguagens de programação tais como Ladder (Logic Diagram Programming), FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text), SFC (Sequential Function Chart), entre outros, é deixado como trabalho futuro. _______________________________________________________________________________________________ ABSTRACT / The purpose of this work is to design an ARM-based embedded system, addressed to achieve the simulation of a PLC (Programmable Logic Controller) for home automation; taking into account several requirements such as low-cost, international safety standards, following the Brazilian rules, and offering simple programming by using a free tool development. In this context, there are a wide variety of applications that can be developed using a residential PLC, such as lighting control, basic control electronic equipment, air conditioning environments, gate mover driver, irrigation of gardens, opening blinds, security alarm by reading sensors in the home, among others. The purpose of this work is that the proposed residential CLP becomes an open source design, including all software files, data-sheets and user manuals, making available them on an online site, and thus available for receiving modifications for new applications. The developed embedded system is based on an ARM-3 (16-68C), and includes also an Ethernet port, as well as CAN, RS232, RS485, USB, and XBee interfaces. Additionally, the system also has a real time clock, as well as internal 512K memory and SD-card and EPROM external memories. Additionally, a daughter board has been also developed which can be accessed from the mother board using both XBee connection and via parallel cable. This daughter board is composed of 8 relays offering opto-isolated connections which are addressed for home automation tasks. Finally, the developed system has been designed to be applied in undergraduate courses focused in microcontroller application, and automation and control lectures. In this work the interface issue, implicit in commercial PLCs, involving programming languages such as Ladder (Logic Diagram Programming), FBD (Function Block Diagram), LD (Ladder Diagram), ST (Structured Text), SFC (Sequential Function Chart) among others, it is proposed as a future work.
|
78 |
Exploração adaptativa de paralelismo sob restrições físicas e de tempo real em sistemas embarcados tolerantes a falhas / Adaptive parallelism exploitation under physical and real-time constraints for fault tolerant embedded systemsItturriet, Fabio Pires January 2012 (has links)
A constante redução nas dimensões dos transistores foi o principal combustível capaz de manter o crescente desempenho exigido por aplicações. Ao mesmo tempo, as tensões de alimentação dos circuitos também são reduzidas a cada novo nó tecnológico, fazendo com que partículas como nêutrons e partículas alpha, portando quantidades de energia cada vez menores sejam capazes de gerar os chamados soft errors, que impactam diretamente na redução da confiabilidade dos sistemas embarcados atuais. Isto faz com que a implementação de técnicas de tolerância a falhas se tornem praticamente obrigatórias para tecnologias atuais e futuras. Estes mesmos sistemas embarcados, como smartphones, devem apresentar alto poder de processamento, visando atender um crescente conjunto de aplicações de natureza heterogênea, consumindo a mínima potência possível. Nestes sistemas, algumas dessas principais aplicações como codec GSM, cancelamento de eco acústico, processamento de áudio e vídeo apresentam em comum a necessidade de multiplicar matrizes de diferentes dimensões em determinados intervalos de tempo. Pensando nestas demandas, será proposta a arquitetura RA3, cujo objetivo é executar o algoritmo de multiplicação de matrizes em paralelo com a técnica de tolerância a falhas conhecida na literatura como ABFT, visando a aumentar a confiabilidade da mesma. Além disso, a RA3 possui uma estrutura adaptativa que permite que unidades internas como memórias, multiplicadores e somadores sejam ligadas ou desligadas através da aplicação da técnica de power gating em tempo de execução, conforme restrições impostas pela largura da banda de memória, power budgets e deadlines impostos por aplicações de tempo real, visando executar tarefas consumindo a mínima potência possível. Para avaliar as funcionalidades propostas, dois estudos de caso reais são apresentados e o comportamento da arquitetura é avaliado sobre diversos aspectos como desempenho, área, consumo de potência e cobertura de falhas. Finalmente é possível comprovar que a adaptabilidade proposta pela arquitetura RA3 permite que seja encontrada, em diversos cenários, a quantidade exata de recursos necessários para executar determinadas aplicações sem comprometer as restrições impostas principalmente no consumo de potência e por aplicações com deadlines críticos, mantendo ainda altas taxas de cobertura de falhas. / The continuous reduction of transistors’ dimensions was the main drive capable of maintaining the performance increase required by applications. At the same time, supply voltages of the circuits are also reduced with each new technology node, causing particles such as neutrons or alpha particles, even with reduced amounts of energy, to generate so-called soft errors that directly impact on the reliability of embedded systems. This scenario makes the implementation of techniques for fault tolerance mandatory for current and future technologies. Still, embedded systems, such as smartphones, must provide high processing power to execute a growing set of applications of heterogeneous nature, consuming the least possible power. In these systems, applications like GSM codec, acoustic echo cancellation, audio and video processing have in common the need for matrix multiplication operations of different dimensions at certain time intervals. To efficiently support the aforementioned scenario, this dissertation proposes the RA3 architecture whose goal is run the matrix multiplication algorithm in parallel with the fault tolerance technique know in the literature as ABFT, aiming to support software execution with high reliability. Furthermore, the RA3 architecture provides adaptive internal units such as memories, multipliers and adders with adaptive powering on or off by applying power gating at runtime. Runtime power gating enables to meet restrictions imposed by real-time applications or memory bandwidth with minimum power. To evaluate the proposed architecture, two case studies are presented and the behavior of the architecture is evaluated in terms of performance, area, power consumption and fault coverage. Finally, a comprehensive design space exploration shows that the adaptability provided by the RA3 architecture allows the system designer to find, in many scenarios, the exact amount of resources needed to run a set of applications without compromising the restrictions imposed mainly in power consumption and real-time deadlines, while still maintaining a high fault coverage rate.
|
79 |
Run-time reconfigurable RTOS for reconfigurable Systems-on-ChipGotz, Marcelo January 2007 (has links)
Eingebettete Systeme haben eine starke Präsenz in unseren alltäglichen Leben bekommen, in vielen Bereichen sind sie allgegenwartig geworden. Dieses ist eine Herausforderung für die Forschung im Bereich solcher Systeme. Ständig müssen neue adäquate Lösungen gefunden werden. Durch die zunehmenden Anforderungen nimmt die Leistung und Flexibilität bei eingebetteten Systemen ständig zu. Zum Beispiel, eine einzelne Architektur muss in der Lage sein, in bestimmten Fällen, mehrere Applikationen mit verschiedenen Anforderungen zu unterstützen, die asynchron und dynamisch ablaufen können (dynamische Umgebungen). Rekon gurierbare Rechensysteme scheinen ein potentielles Paradigma für diese Szenarien zu sein, weil sie Flexibilität und hohe Rechenleistung für moderne eingebettete Systeme liefern können. Von besonderem Interesse sind jene Architekturen, wo ein Mikroprozessor mit rekon gurierbarer Hardware fest verbunden ist (hybride Plattform). Eine solche hybride Plattform nennt man rekon- gurierbares System-on-Chip (RSoC). Jedoch nimmt die Komplexität in solchen Systemen ständig zu. Deshalb ist die Anwendung eines Betriebssystems (OSs) wesentlich, um eine notwendige Abstraktion von den vorhandenen Ressourcen in rekon gurierbaren Rechensystemen zu ermöglichen. Weiterhin, ist durch die gemeinsame Nutzung von Ressourcen einer solchen Architektur und deren Verwaltung in Bezug auf die Rekon- guration, der Einsatz eines OS zwingend notwendig. Dennoch sind die Ressourcen in eingebetteten Systemen begrenzt. Deshalb muss beim Entwurf eines OS für ein solches System sorgfältig vorgegangen werden, da das OS an sich schon Ressourcen verbraucht. Zusammen mit den Applikationen kann das OS auch von den RSoC Architekturen profitieren dadurch, dass das OS sich selbst auf der hybriden Plattform rekon gurieren kann. Somit kann das OS dieübrigen Ressourcen nutzen, die nicht gegenwärtig von der Applikation benutzt werden. In diesen Rahmen präsentiert die vorliegende Arbeit den Entwurf von geeigneten Methodologien, Strategien, Hardware und Entwurfsunterstützungen für eine geeignete Verwaltung von dynamischen Rekon gurierungsaktivit äten eines Echtzeitbetriebssystems (RTOSs), das auf einer RSoC basierten Plattform läuft. Die Intention dabei ist es die Selbst-Rekon guration der RTOS Dienste auf einer hybriden Plattform zu ermöglichen, wodurch die vorhandenen Ressourcen der Plattform e ektiv ausgenutzt werden können. / Sistemas embarcados estão cada vez mais presentes em nossas vidas e estão se tornando onipresentes. Este fato tem demandado grandes esforços em pesquisa para criação de propostas e soluções para os desafios gerados no desenvolvimento destes sistemas. Por exemplo, uma arquitetura moderna de sistemas embarcados requer alto poder de computação e também grande exibilidade, e a demanda por estes requisitos tem crescido constantemente. Uma única arquitetura deve executar, em certos casos, diferentes aplicações com diferentes requisitos e com inicio de execução indeterminado, caracterizando desta maneira um ambiente dinâmico. A computação reconfigurável aparece como um paradigma promissor para estes casos pois consegue prover alto poder de computação juntamente com exibilidade requeridas pelos sistemas embarcados modernos. Especialmente interessantes são arquiteturas baseadas em System-on-Chip reconfiguráveis (RSoC), nas quais um microprocessador está fortemente conectado a um hardware reconfigurável (plataforma híbrida). Porém a complexidade no desenvolvimento destes tipos de sistemas cresce, tornando o uso de um sistema operacional (SO) indispensável. Entretanto, uma plataforma de execução de um sistema embarcado sofre pela escassez de recursos. Este fato exige um cuidado especial no desenvolvimento de um SO uma vez que este também usa os recursos desta plataforma. Juntamente com as tarefas da aplicação, o SO também pode tirar proveito de uma plataforma baseada em RSoC onde este é capaz de se auto reconfigurar sobre esta plataforma híbrida. Deste modo, o SO pode usar os recursos computacionais, correntemente não requeridos pelas aplicações, para a sua execução. Dentro deste contexto, este trabalho apresenta o design de metodologias, estratégias e suporte em hardware e software para o gerenciamento apropriado das atividades de reconfigurações dinâmicas de um sistema operacional de tempo-real (RTOS), que é executado em uma plataforma baseada em RSoC. A intenção com isto é a de proporcionar ao RTOS meios com os quais este é capaz de se auto reconfigurar nesta arquitetura híbrida com a intenção de atingir um uso mais eficiente dos recursos computacionais desta plataforma de execução. / Embedded systems are massively present in our lives and they are becoming omnipresent. This has demanded strong e orts in research for providing new solutions for the challenges faced in the design of such systems. For instance, the requirements of high computational performance and exibility of the contemporary embedded systems are continuously increasing. A single architecture must be able to support, in certain cases, di erent kind of applications with di erent requirements which can start asynchronously and dynamically (changing environments). Recon gurable computing seems to be a potential paradigm for these scenarios as it can provide exibility and high computational performance for modern embedded systems. Of especial interest are those architectures where a microprocessor is tightly connected with a recon gurable hardware (hybrid platform), constituting a so called recon gurable System-on-Chip (RSoC). However, the complexity in designing such systems rises. Therefore, the usage of an Operating System (OS) is essential to provide the necessary abstraction of the computational resources in recon gurable computing. Moreover, due to the intrinsic overhead caused by the recon guration activities and the potential sharing of computational resources the necessity for support provided by an OS is unquestionable. Nevertheless, embedded system platforms lack in computational resources. This fact requires a careful design of an OS for such a system, since it also consumes its resources. Along with the application tasks, the OS can pro t from a RSoC based architecture by recon guring itself over this hybrid platform. Thereby, the OS can make use of the remaining resources that are not currently required by the application for its execution. Within this context, this work presents the design of proper methodologies, strategies, hardware and design support for a proper management of dynamic recon guration activities of a Real-Time Operating System (RTOS) running on a RSoC based platform. The intention thereby, is to promote the self-recon guration of the RTOS services on this hybrid platform, so that the computational resources of this execution platform are used in an e cient way.
|
80 |
Increasing embedded software radiation reliability through cache memoriesSantini, Thiago Caberlon January 2015 (has links)
Memórias cache são tradicionalmente desabilitadas em aplicações espaciais e críticas porque acredita-se que a área sensível por elas introduzida comprometeria a confiabilidade do sistema. Conforme a tecnologia tem evoluído, a diferença de velocidade entre lógica e memória principal tem aumentado de tal maneira que desabilitando as caches a execução do código é retardada muito mais do que no passado. Como resultado, o processador fica exposto por um tempo muito maior para computar a mesma cargade trabalho. Neste trabalho nós demonstraremos que, em processadores embarcados modernos, habilitar as caches pode trazer benefícios para sistemas críticos: a área exposta maior pode ser compensada pelo tempo de exposição mais curto, levando a uma melhora total na confiabilidade. Nós propomos uma métrica intuitiva e um modelo matemático para avaliar a confiabilidade de um sistema em termos espaciais (i.e., área sensível à radiação) e temporais (i.e., desempenho), e provamos que minimizar a área sensível à radiação não necessariamente maximiza a confiabilidade da aplicação. A métrica e o modelo propostos são experimentalmente validados através de uma campanha extensiva de testes de radiação utilizando um Sistema-em-Chip de prateleira fabricado em 28nm baseado em processadores ARM como estudo de caso. Os resultados experimentais demonstram que, durante a execução da aplicação estudada à altitude de aeronave militar, a probabilidade de executar a carga de trabalho de uma missão de dois anos sem falhas é aumentada em 5.85% se as caches L1 são habilitadas (deste modo, aumentado a área sensível à radiação), quando comparada com nenhum nível de cache habilitado. Entretanto, se ambos níveis L1 e L2 são habilitados a probabilidade é diminuída em 31.59%. / Cache memories are traditionally disabled in space-level and safety-critical applications since it is believed that the sensitive area they introduce would compromise the system reliability. As the technology has evolved, the speed gap between logic and main memory has increased in such a way that disabling caches slows the code much more than in the past. As a result, the processor is exposed for a much longer time in order to compute the same workload. In this work we demonstrate that, on modern embedded processors, enabling caches may bring benefits to critical systems: the larger exposed area may be compensated by the shorter exposure time, leading to an overall improved reliability. We propose an intuitive metric and a mathematical model to evaluate system reliability in spatial (i.e., radiation-sensitive area) and temporal (i.e., performance) terms, and prove that minimizing radiation-sensitive area does not necessarily maximize application reliability. The proposed metric and model are experimentally validated through an extensive radiation test campaign using a 28nm off-the-shelf ARM-based Systemon- Chip as a case study. The experimental results demonstrate that, while executing the considered application at military aircraft altitude, the probability of executing a two-year mission workload without failures is increased by 5.85% if L1 caches are enabled (thus, increasing the radiation-sensitive area), when compared to no cache level being enabled. However, if both L1 and L2 caches are enabled the probability is decreased by 31.59%.
|
Page generated in 0.0459 seconds