9 resultados para Hardware reconfigurável
em Lume - Repositório Digital da Universidade Federal do Rio Grande do Sul
Resumo:
The work described in this thesis aims to support the distributed design of integrated systems and considers specifically the need for collaborative interaction among designers. Particular emphasis was given to issues which were only marginally considered in previous approaches, such as the abstraction of the distribution of design automation resources over the network, the possibility of both synchronous and asynchronous interaction among designers and the support for extensible design data models. Such issues demand a rather complex software infrastructure, as possible solutions must encompass a wide range of software modules: from user interfaces to middleware to databases. To build such structure, several engineering techniques were employed and some original solutions were devised. The core of the proposed solution is based in the joint application of two homonymic technologies: CAD Frameworks and object-oriented frameworks. The former concept was coined in the late 80's within the electronic design automation community and comprehends a layered software environment which aims to support CAD tool developers, CAD administrators/integrators and designers. The latter, developed during the last decade by the software engineering community, is a software architecture model to build extensible and reusable object-oriented software subsystems. In this work, we proposed to create an object-oriented framework which includes extensible sets of design data primitives and design tool building blocks. Such object-oriented framework is included within a CAD Framework, where it plays important roles on typical CAD Framework services such as design data representation and management, versioning, user interfaces, design management and tool integration. The implemented CAD Framework - named Cave2 - followed the classical layered architecture presented by Barnes, Harrison, Newton and Spickelmier, but the possibilities granted by the use of the object-oriented framework foundations allowed a series of improvements which were not available in previous approaches: - object-oriented frameworks are extensible by design, thus this should be also true regarding the implemented sets of design data primitives and design tool building blocks. This means that both the design representation model and the software modules dealing with it can be upgraded or adapted to a particular design methodology, and that such extensions and adaptations will still inherit the architectural and functional aspects implemented in the object-oriented framework foundation; - the design semantics and the design visualization are both part of the object-oriented framework, but in clearly separated models. This allows for different visualization strategies for a given design data set, which gives collaborating parties the flexibility to choose individual visualization settings; - the control of the consistency between semantics and visualization - a particularly important issue in a design environment with multiple views of a single design - is also included in the foundations of the object-oriented framework. Such mechanism is generic enough to be also used by further extensions of the design data model, as it is based on the inversion of control between view and semantics. The view receives the user input and propagates such event to the semantic model, which evaluates if a state change is possible. If positive, it triggers the change of state of both semantics and view. Our approach took advantage of such inversion of control and included an layer between semantics and view to take into account the possibility of multi-view consistency; - to optimize the consistency control mechanism between views and semantics, we propose an event-based approach that captures each discrete interaction of a designer with his/her respective design views. The information about each interaction is encapsulated inside an event object, which may be propagated to the design semantics - and thus to other possible views - according to the consistency policy which is being used. Furthermore, the use of event pools allows for a late synchronization between view and semantics in case of unavailability of a network connection between them; - the use of proxy objects raised significantly the abstraction of the integration of design automation resources, as either remote or local tools and services are accessed through method calls in a local object. The connection to remote tools and services using a look-up protocol also abstracted completely the network location of such resources, allowing for resource addition and removal during runtime; - the implemented CAD Framework is completely based on Java technology, so it relies on the Java Virtual Machine as the layer which grants the independence between the CAD Framework and the operating system. All such improvements contributed to a higher abstraction on the distribution of design automation resources and also introduced a new paradigm for the remote interaction between designers. The resulting CAD Framework is able to support fine-grained collaboration based on events, so every single design update performed by a designer can be propagated to the rest of the design team regardless of their location in the distributed environment. This can increase the group awareness and allow a richer transfer of experiences among them, improving significantly the collaboration potential when compared to previously proposed file-based or record-based approaches. Three different case studies were conducted to validate the proposed approach, each one focusing one a subset of the contributions of this thesis. The first one uses the proxy-based resource distribution architecture to implement a prototyping platform using reconfigurable hardware modules. The second one extends the foundations of the implemented object-oriented framework to support interface-based design. Such extensions - design representation primitives and tool blocks - are used to implement a design entry tool named IBlaDe, which allows the collaborative creation of functional and structural models of integrated systems. The third case study regards the possibility of integration of multimedia metadata to the design data model. Such possibility is explored in the frame of an online educational and training platform.
Resumo:
As modernas aplicações em diversas áreas como multimídia e telecomunicações exigem arquiteturas que ofereçam altas taxas de processamento. Entretanto, os padrões e algoritmos mudam com incrível rapidez o que gera a necessidade de que esses sistemas digitais tenham também por característica uma grande flexibilidade. Dentro desse contexto, tem-se as arquiteturas reconfiguráveis em geral e, mais recentemente, os sistemas reconfiguráveis em um único chip como soluções adequadas que podem oferecer desempenho, sendo, ao mesmo tempo, adaptáveis a novos problemas e a classes mais amplas de algoritmos dentro de um dado escopo de aplicação. Este trabalho apresenta o estado-da-arte em relação a arquiteturas reconfiguráveis nos meios acadêmcio e industrial e descreve todas as etapas de desenvolvimento do processador de imagens reconfigurável DRIP (Dynamically Reconfigurable Image Processor), desde suas origens como um processador estático até sua última versão reconfigurável em tempo de execução. O DRIP possui um pipeline composto por 81 processadores elementares. Esses processadores constituem a chave do processo de reconfiguração e possuem a capacidade de computar um grande número de algoritmos de processamento de imagens, mais específicamente dentro do domínio da filtragem digital de imagens. Durante o projeto, foram desenvolvidos uma série de modelos em linguagem de descrição de hardware da arquitetura e também ferramentas de software para auxiliar nos processos de implementação de novos algorimos, geração automática de modelos VHDL e validação das implementações. O desenvolvimento de mecanismos com o objetivo de incluir a possibilidade de reconfiguração dinâmica, naturalmente, introduz overheads na arquitetura. Contudo, o processo de reconfiguração do DRIP-RTR é da ordem de milhões de vezes mais rápido do que na versão estaticamente reconfigurável implementada em FPGAs Altera. Finalizando este trabalho, é apresentado o projeto lógico e elétrico do processador elementar do DRIP, visando uma futura implementação do sistema diretamente como um circuito VLSI.
Resumo:
As tarefas de visão computacional incentivam uma significativa parte da pesquisa em todas as áreas científicas e industriais, entre as quais, cita-se a área voltada para o desenvolvimento de arquiteturas de computadores. A visão computacional é considerada um dos problemas mais desafiadores para a computação de alto desempenho, pois esta requer um grande desempenho, bem como um alto grau de flexibilidade. A flexibilidade é necessária pois a visão computacional abrange aplicações em que há diferentes tarefas a serem realizadas com diferentes necessidades de desempenho. Esta flexibilidade é particularmente importante em sistemas destinados a atuar como ambientes experimentais para novas técnicas de processamento visual ou para a prototipação de novas aplicações. Computação configurável tem demonstrado, por meio de exemplos implementados pela comunidade científica, fornecer uma boa relação entre alto desempenho e flexibilidade necessária para a implementação de diferentes técnicas utilizadas na área de visão computacional. Contudo, poucos esforços de pesquisa têm sido realizados na concepção de sistemas completos visando a solução de um problema de visão computacional, incluindo ambos os requisitos de software e de hardware. O principal objetivo deste trabalho é mostrar que as técnicas e tecnologias disponíveis na área de computação configurável podem ser empregadas para a concepção de um sistema capaz de implementar um grande número de aplicações da área de visão computacional na pesquisa e no ambiente industrial. Entretanto, não é escopo deste trabalho implementar um sistema de computação que seja suficiente para abordar os requerimentos necessários para todas as aplicações em visão computacional, mas os métodos aqui introduzidos podem ser utilizados como uma base geral de implementação de várias tarefas de visão computacional. Este trabalho utiliza ambientes que permitem implementações conjuntas de hardware e software, pois os mesmos facilitam a validação das técnicas aqui apresentadas, por meio da implementação de um estudo de caso, sendo parte deste estudo de caso implementado em software e outra parte em hardware.
Resumo:
A tarefa de estimação de movimento, utilizada na compressão de vídeo digital, é normalmente realizada em hardware por processador dedicado, uma vez que demanda expressiva capacidade computacional. Este trabalho propõe e desenvolve uma arquitetura de hardware para realizar o cálculo dos vetores de movimento no contexto de compressão de vídeo digital. Essa arquitetura para estimação de movimento é composta pelos blocos: interface de entrada e saída (E/S), matriz de processamento com 64 elementos de processamento, unidade de comparação e unidade de controle. A arquitetura foi descrita em linguagem VHDL de maneira que o número de bits utilizados para representação da luminância dos pontos é configurável. A partir desta descrição, foi gerado um protótipo para dados representados em 4 bits utilizando um kit de desenvolvimento baseado no dispositivo FPGA XC2S150 da Xilinx. Para validação do algoritmo e da arquitetura implementada, além da simulação, foi desenvolvido um software para plataforma PC capaz de exercitar as funcionalidades do protótipo. O PC é utilizado como dispositivo controlador de E/S para esta validação, na qual uma implementação do algoritmo em software e outra em linguagem de descrição de hardware são comparadas. A máxima freqüência de trabalho do protótipo, estimada por simulação da arquitetura mapeada no FPGA XC2S150, é de 33 MHz. A esta freqüência o núcleo da arquitetura paralela de 64 elementos de processamento realiza cerca de 2,1 GOps (bilhões de operações inteiras por segundo). Esta arquitetura de hardware calcula os vetores de movimento para vídeo no formato 640x480 pontos à taxa de 107,32 quadros por segundo, ou um quadro a cada 9,3 ms. A arquitetura implementada para luminânica em 4 bits ocupa 16 pinos de E/S, 71,1% dos blocos lógicos do FPGA e 83,3% dos blocos de memória disponíveis no dispositivo XC2S150.
Resumo:
This thesis presents the study and development of fault-tolerant techniques for programmable architectures, the well-known Field Programmable Gate Arrays (FPGAs), customizable by SRAM. FPGAs are becoming more valuable for space applications because of the high density, high performance, reduced development cost and re-programmability. In particular, SRAM-based FPGAs are very valuable for remote missions because of the possibility of being reprogrammed by the user as many times as necessary in a very short period. SRAM-based FPGA and micro-controllers represent a wide range of components in space applications, and as a result will be the focus of this work, more specifically the Virtex® family from Xilinx and the architecture of the 8051 micro-controller from Intel. The Triple Modular Redundancy (TMR) with voters is a common high-level technique to protect ASICs against single event upset (SEU) and it can also be applied to FPGAs. The TMR technique was first tested in the Virtex® FPGA architecture by using a small design based on counters. Faults were injected in all sensitive parts of the FPGA and a detailed analysis of the effect of a fault in a TMR design synthesized in the Virtex® platform was performed. Results from fault injection and from a radiation ground test facility showed the efficiency of the TMR for the related case study circuit. Although TMR has showed a high reliability, this technique presents some limitations, such as area overhead, three times more input and output pins and, consequently, a significant increase in power dissipation. Aiming to reduce TMR costs and improve reliability, an innovative high-level technique for designing fault-tolerant systems in SRAM-based FPGAs was developed, without modification in the FPGA architecture. This technique combines time and hardware redundancy to reduce overhead and to ensure reliability. It is based on duplication with comparison and concurrent error detection. The new technique proposed in this work was specifically developed for FPGAs to cope with transient faults in the user combinational and sequential logic, while also reducing pin count, area and power dissipation. The methodology was validated by fault injection experiments in an emulation board. The thesis presents comparison results in fault coverage, area and performance between the discussed techniques.
Resumo:
Dados volumétricos temporais são usados na representação de fenômenos físicos em várias aplicações de visualização científica, pois tais fenômenos são complexos, alteram-se com o tempo e não possuem uma forma de representação definida. Uma solução é usar amostragens sobre um espaço de forma geométrica simples que contém o fenômeno (um cubo, por exemplo), discretizado ao longo de uma grade em células de mesmo formato e usualmente chamado de volume de amostragem. Este volume de amostragem representa um instante da representação do fenômeno e, para representar dados temporais, simplesmente enumera-se tantos volumes quanto forem as diferentes instâncias de tempo. Esta abordagem faz com que a representação seja extremamente custosa, necessitando de técnicas de representação de dados para comprimir e descomprimir os mesmos. Este trabalho apresenta uma nova abordagem para compressão de volumes de dados temporais que permite a visualização em tempo real destes dados usando hardware gráfico. O método de compressão usa uma representação hierárquica dos vários volumes de dados dentro da memória do hardware gráfico, referenciados pelo hardware como texturas 3D. O método de compressão tem melhor desempenho para dados volumétricos esparsos e com alto grau de coerência (espacial e temporal). A descompressão destes dados é feita por programas especiais que são executados no próprio hardware gráfico. Um estudo de caso usando o método de compressão/descompressão proposto é apresentado com dados provenientes do Projeto MAPEM (Monitoramento Ambiental em Atividades de Perfuração Exploratória Marítima). O objetivo do projeto é propor uma metodologia para o monitoramento dos efeitos das descargas de materiais no ecossistema marinho durante a perfuração de um poço de petróleo. Para estimar certos descarregamentos de fluidos, o projeto usa um simulador CFD que permite mostrar tais descarregamentos, gerando grades planares e uniformes 2D ou 3D em qualquer instante de tempo durante a simulação.
Resumo:
Os sistemas operacionais de tempo real, assim como os sistemas embarcados, estão inseridos no desenvolvimento de projetos de automação industrial segmentado em diversas áreas de pesquisa como, por exemplo, robótica, telecomunicações, e barramentos industriais. As aplicações de sistemas modernos de controle e automação necessitam de alta confiabilidade, velocidade de comunicação, além de, determinismo temporal. Sistemas operacionais de tempo real (SOTR) têm-se apresentado como uma solução confiável quando aplicadas em sistemas que se fundamentam no cumprimento de requisitos temporais. Além disso, o desempenho computacional é totalmente dependente da capacidade operacional da unidade de processamento. Em um sistema monoprocessado, parte da capacidade computacional da unidade de processamento é utilizada em atividades administrativas, como por exemplo, processos de chaveamento e salvamento de contexto. Em decorrência disto, surge a sobrecarga computacional como fator preponderante para o desempenho do sistema. Este trabalho tem por objetivo, analisar e fornecer uma arquitetura alternativa para realizar o co-processamento de tarefas em uma plataforma IBM-PC, aumentando a capacidade computacional do microprocessador principal. No presente trabalho, a plataforma de coprocessamento realiza a execução do algoritmo de escalonamento do sistema operacional, desta forma distribuiu-se o gerenciamento temporal das tarefas entre a plataforma IBM-PC e a unidade de co-processamento.
Resumo:
A presente pesquisa aborda os movimentos desencadeados na instituição escolar com a chegada dos ambientes informatizados nas escolas da rede municipal de Porto Alegre, tendo como interface de investigação as categorias de tempo e de espaço. Problematizo a relação escolarizaçãotecnologia no contexto de um cenário social que emerge na hegemonia tecnológica digital das redes de informação e comunicação, para que se tornem evidentes as configurações de tempo e de espaço forjadas no palco de uma proposta de organização da escola pública municipal que, ao reorganizar tempo e espaço escolares, marca a saída do modelo da escola seriada e a entrada da escola por ciclos de formação e autoriza uma forma de escolarização que coloca de forma oficial a materialidade e os saberes da informática educativa na rede de ensino municipal de Porto Alegre. Sob a lógica de uma perspectiva de investigação histórica e cultural, desnaturaliza-se a inserção da informática no tempo e no espaço ao considerá-la como não-imune aos efeitos do contemporâneo fenômeno de compressão do tempo e do espaço. Percorrendo as diferentes experiências espaço-temporais e as configurações assumidas pela sociedade ocidental, ganham visibilidade formas de escolarização que, num processo histórico, conquistaram legitimidade e produziram a escola pública, gratuita, obrigatória, tecnológica e ajustada às transformações e exigências de um cenário social regido por uma imensa acumulação de espetáculos. Continuidades e descontinuidades marcam a inserção das tecnologias de informação e de comunicação na maquinaria escolar, e o disciplinamento cognitivo e comportamental conquista novos dispositivos. Em um corpus de análise em que se entrelaçam documentos, entrevistas, observações e o complexo e ambivalente fenômeno implementado pela permanente revolução das redes digitais de comunicação e de informação, é que a inserção do saber e da materialidade da Informática na Educação no tempo e no espaço escolares passa a ser tematizada. Como um jogo de cara e coroa que, ao revelar sua face de veneno, tornando mais eficiente o controle individual e coletivo, faz, também, girar a moeda, para que o potencial participativo, socializante e emancipador da rede mundial de computadores aponte para a face do próprio remédio. A partir dessa faceta condicionante e nãodeterminista da relação escolarização-tecnologia, tempos e espaços para colonizar são problematizados a fim de fazer emergir, na mesma intensidade, tempos e espaços para fruir, para deixar espraiar a sensibilidade e a interação humanas, para potencializar o aprendizado e a aquisição dos saberes.
Resumo:
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.