41 |
Design and evaluation of a VLIW processor for real-time systemsStarke, Renan Augusto January 2016 (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, 2016. / Made available in DSpace on 2016-09-20T04:55:57Z (GMT). No. of bitstreams: 1
341955.pdf: 2527922 bytes, checksum: cb4fdb63c7ce3111b1bdc061bbeec1d1 (MD5)
Previous issue date: 2016 / Atualmente, aplicações de tempo estão tornando-se cada vez mais complexas e, conforme os requisitos destes sistemas aumentam, maior é a demanda por capacidade de processamento. Contudo, o correto funcionamento destas aplicações não está em função somente da correta resposta lógica, mas também no tempo que ela é produzida. O projeto de processadores de propósito geral gera dificuldades para análises de tempo real devido ao seu comportamento não determinista causado pelo uso de memórias cache, previsores de fluxo dinâmicos, execução especulativa e fora de ordem. Nesta tese, investiga-se uma arquitetura de processador Very-Long Instruction Word (VLIW) especificamente projetada para sistemas de tempo real considerando sua análise do pior tempo de computação (Worst-case Execution Time WCET). Técnicas para obtenção do WCET para máquinas VLIW são consideradas e quantifica-se a importância de técnicas de hardware como previsor de fluxo estático, predicação, bem como velocidade do processador para instruções complexas como acesso a memória e multiplicação. Arquitetura de memória não faz parte do escopo deste trabalho e para tal utilizamos uma estrutura determinista formada por uma memória cache com mapeamento direto para instruções e uma memória de rascunho (scratchpad) para dados. Nós também consideramos a implementação em VHDL do protótipo para inferir suas características temporais mantendo compatibilidade com o conjunto de instruções (ISA) HP VLIW ST231. Em termos de avaliação, foi utilizado um conjunto representativo de código exemplos da Universidade de Mälardalen que é amplamente utilizado em avaliações de sistemas de tempo real.<br> / Abstract : Nowadays, many real-time applications are very complex and as the complexity and the requirements of those applications become more demanding, more hardware processing capacity is necessary. The correct functioning
of real-time systems depends not only on the logically correct response, but also on the time when it is produced. General purpose processor design fails to deliver analyzability due to their non-deterministic behavior caused by the use of cache memories, dynamic branch prediction, speculative execution and out-of-order pipelines. In this thesis, we design and evaluate the performance of VLIW (Very Long Instruction Word) architectures for real-time systems with an in-order pipeline considering WCET (Worst-case Execution Time) performance. Techniques on obtaining the WCET of VLIW machines are also considered and we make a quantification on how important are hardware techniques such as static
branch prediction, predication, pipeline speed of complex operations such as memory access and multiplication for high-performance real-time systems. The memory hierarchy is out of scope of this thesis and we used a classic deterministic structure formed by a direct mapped instruction cache and a data scratchpad memory. A VLIW prototype was implemented in VHDL from scratch considering the HP VLIW ST231 ISA. We also show some compiler insights and we use a representative subset of the Mälardalen s WCET benchmarks for validation and performance quantification. Supporting our objective to investigate and evaluate hardware features which reconcile determinism and performance, we made the following contributions: design space investigation and evaluation regarding VLIW processors, complete WCET analysis for the proposed design, complete VHDL design and timing characterization, detailed branch architecture, low-overhead full-predication system for VLIW processors.
|
42 |
Uso de computação imprecisa e reflexão computacional como mecanismo de adaptação para aplicações tempo realSchmidtke, Sandro Luís January 2001 (has links)
Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico. Programa de Pós -Graduação em Computação. / Made available in DSpace on 2012-10-19T11:59:17Z (GMT). No. of bitstreams: 0Bitstream added on 2014-09-26T00:48:36Z : No. of bitstreams: 1
182000.pdf: 2085568 bytes, checksum: 425f996e4bc63a69e139eb94e617b702 (MD5) / Este trabalho mostra como a técnica de Computação Imprecisa, implementada através de Reflexão Computacional, pode ser utilizada para permitir a adaptação de aplicações de Tempo Real a diferentes plataformas no contexto da Internet, bem como em sistemas de uso geral. Utilizamos o modelo de programação RTR para ilustrar a forma como esta adaptação poderá ser implementada.É usada a técnica da Computação Imprecisa para flexibilizar o escalonamento tempo real, já que nela as tarefas da aplicação são capazes de gerar resultados com diferentes níveis de qualidade ou precisão, porque cada tarefa é dividida em parte obrigatória (mandatory) e parte opcional (optional). A parte obrigatória da tarefa é capaz de gerar um resultado com qualidade mínima necessária para manter o sistema operando de maneira segura. A parte opcional refina este resultado, até que ele alcance a qualidade desejada.A Reflexão Computacional facilita a implementação da Computação Imprecisa, separando as questões funcionais das questões de controle responsáveis pela adaptação da aplicação. O Modelo Reflexivo Tempo Real (RTR), é o modelo de programação reflexivo e de tempo real caracterizado por permitir, de forma flexível e sistemática, a representação e o controle de aspectos temporais de aplicações tempo real que seguem uma abordagem de melhor esforço.Demonstramos através de um protótipo, a validade do uso da reflexão computacional juntamente com a técnica de computação Imprecisa como um mecanismo de adaptação para aplicações tempo real, e que o modelo RTR através de suas especificações é capaz de suportar esta implementação.
|
43 |
Geração de sistemas supervisórios a partir de modelos orientados a objetosTibola, Leandro Rosniak January 2000 (has links)
Este trabalho aborda o tema da geração de sistemas supervisórios a partir de modelos orientados a objetos. A motivação para realização do trabalho surgiu com o estudo de sistemas supervisórios e de ferramentas de suporte à modelagem de sistemas usando orientação a objetos. Notou-se que nos primeiros, apesar de possuírem como principal objetivo a visualização de estados e grandezas físicas relacionadas a componentes de plantas industriais (nível de um tanque, temperatura de um gás, por exemplo), os modelos computacionais utilizados baseiam-se em estruturas de dados não hierárquicas, nas quais variáveis de contexto global e não encapsuladas, as chamadas “tags”, são associadas às grandezas físicas a serem visualizadas. Modelos orientados a objeto, por outro lado, constituem uma excelente proposta para a criação de modelos computacionais nos quais a estrutura e semântica dos elementos de modelagem é bastante próxima a de sistemas físicos reais, facilitando a construção e compreensão dos modelos. Assim sendo, a proposta desenvolvida neste trabalho busca agregar as vantagens do uso de orientação a objetos, com conceitos existentes em sistemas supervisórios, a fim de obter-se ferramentas que melhor auxiliem o desenvolvimento de aplicações complexas. Classes e suas instâncias são usadas para modelagem de componentes da planta industrial a ser analisada. Seus atributos e estados são associados às grandezas físicas a serem visualizadas. Diferentes formas de visualização são associadas às classes, aumentando assim o reuso e facilitando o desenvolvimento de sistemas supervisórios de aplicações complexas. A proposta conceitual desenvolvida foi implementada experimentalmente como uma extensão à ferramenta SIMOO-RT, tendo sido denominada de “Supervisory Designer”. A ferramenta desenvolvida estende o modelo de objetos e classes de SIMOO-RT, permitindo a adição de informações específicas para supervisão – tais como as definições de limites para os atributos. A ferramenta foi validada através do desenvolvimento de estudos de casos de aplicações industriais reais, tendo demonstrado diversas vantagens quando comparada com o uso de ferramentas para construção de sistemas supervisórios disponíveis comercialmente).
|
44 |
Proposta de ferramenta para validação temporal em barramentos de campoWild, Rafael January 2000 (has links)
Sistemas de controle industriais precisam atender a requisitos temporais para garantir seu correto funcionamento, sendo por isto considerados sistemas tempo-real. Quando tais sistemas são distribuídos, tais como redes de sensores, atuadores e controladores interligados por barramentos de campo, a comunicação desempenha um papel importante no comportamento temporal. Este trabalho propõe uma ferramenta para validar o comportamento temporal da comunicação em um protocolo de barramento de campo, o Foundation Fieldbus. A proposta inclui a especificação de requisitos e a visualização da validação. Pretende-se auxiliar a compreensão do comportamento temporal e possibilitar a depuração de sistemas tempo-real distribuídos. O sistema desenvolvido encontra-se operacional e foi validado em diversos estudos de caso, os quais são descritos no presente trabalho.
|
45 |
INFIMO : um toolkit para experimentos de intrusão de injetores de falhasBarcelos, Patricia Pitthan de Araujo January 2001 (has links)
Técnicas de tolerância a falhas visam a aumentar a dependabilidade dos sistemas nos quais são empregadas. Entretanto, há necessidade de garantir a confiança na capacidade do sistema em fornecer o serviço especificado. A validação possui como objetivo propiciar essa garantia. Uma técnica de validação bastante utilizada é a injeção de falhas, que consiste na introdução controlada de falhas no sistema para observar seu comportamento. A técnica de injeção de falhas acelera a ocorrência de falhas em um sistema. Com isso, ao invés de esperar pela ocorrência espontânea das falhas, pode-se introduzi-las intencionalmente, controlando o tipo, a localização, o disparo e a duração das falhas. Injeção de falhas pode ser implementada por hardware, software ou simulação. Neste trabalho são enfocadas técnicas de injeção de falhas por software, desenvolvidas nos níveis da aplicação e do sistema operacional. O trabalho apresenta o problema da validação, através da injeção de falhas, de um protocolo de troca de pacotes. Enfoque especial é dado ao impacto resultante da inclusão de um módulo extra no protocolo, uma vez que o mesmo apresenta restrições temporais. O trabalho investiga alternativas de implementação de injetores de falhas por software que minimizem este impacto. Tais alternativas referem-se a localização do injetor de falhas no sistema, a forma de ativação das atividades do injetor de falhas e a operação de injeção de falhas em si. Um toolkit para experimentos de intrusão da injeção de falhas é apresentado. O alvo da injeção de falhas é um protocolo com característica tempo real. O toolkit desenvolvido, denominado INFIMO (INtrusiveless Fault Injector MOdule), visa a analisar, de forma experimental, a intrusão do injetor de falhas sobre o protocolo alvo. O INFIMO preocupa-se com protocolos com restrições temporais por esses constituírem um desafio sob o ponto de vista de injeção de falhas. O INFIMO suporta falhas de comunicação, as quais podem ocasionar a omissão de alguns pacotes. O INFIMO apresenta duas ferramentas de injeção de falhas: INFIMO_LIB, implementada no nível da aplicação e INFIMO_DBG implementada com auxílio de recursos do sistema operacional. Destacam-se ainda como contribuições do INFIMO a definição e a implementação do protocolo alvo para experimentos de injeção de falhas, o protocolo INFIMO_TAP. Além disso, o INFIMO apresenta métricas para avaliação da intrusão provocada pelo injetor de falhas no protocolo alvo.
|
46 |
Escalonamento de tarefas imprecisas em ambiente distribuídoOliveira, Romulo Silva de January 1997 (has links)
Sistemas computacionais de tempo real são identificados como aqueles sistemas submetidos a requisitos de natureza temporal. Nestes sistemas, os resultados devem estar corretos não somente do ponto de vista lógico, mas também devem ser gerados no momento correto. Um problema básico encontrado na construção de sistemas distribuídos de tempo real é a alocação e o escalonamento das tarefas nos recursos computacionais disponíveis. Existe uma dificuldade intrínsica em compatibilizar dois objetivos fundamentais: garantir que os resultados serão produzidos no momento desejado e dotar o sistema de flexibilidade para adaptar-se a um ambiente dinâmico e, assim, aumentar sua utilidade. Uma das técnicas existentes na literatura para resolver o problema de escalonamento tempo real é a Computação Imprecisa. Nesta técnica, cada tarefa da aplicação possui uma parte obrigatória e uma parte opcional. A parte obrigatória é capaz de gerar um resultado com a qualidade mínima, necessária para manter o sistema operando de maneira segura. A parte opcional refina este resultado, até que ele alcançe a qualidade desejada. Esta técnica procura conciliar os dois objetivos fundamentais citados antes. Entretanto, não existe na literatura um estudo amplo sobre a questão de "como resolver o problema do escalonamento quando sistemas de tempo real distribuídos são construidos a partir do conceito de Computação Imprecisa". O objetivo geral desta tese é mostrar como aplicações de tempo real, construídas a partir do conceito de Computação Imprecisa, podem ser escalonadas em ambiente distribuído. Em outras palavras, mostrar que o conceito de Computação Imprecisa pode ser adaptado para um ambiente onde tarefas executam em diferentes processadores e a comunicação entre elas é implementada através de mensagens. É mostrado que o problema proposto pode ser dividido em quatro problemas específicos. São eles: - Como garantir que as partes obrigatórias das tarefas serão concluídas antes dos respectivos deadlines, em um ambiente onde tarefas podem executar em diferentes processadores e o emprego de mensagens cria relações de precedência entre elas. - Como determinar que a execução de uma parte opcional não irá comprometer a execução das partes obrigatórias, previamente garantidas. - Como escolher quais partes opcionais devem ser executadas, na medida em que o recurso "tempo de processador disponível" não permite a execução de todas elas. - Como resolver qual tarefa executa em qual processador, de forma que todas as partes obrigatórias das tarefas possam ser garantidas e que as partes opcionais estejam distribuídas de forma que sua chance de execução seja maximizada. Nesta tese são apresentadas soluções de escalonamento para estes quatro problemas específicos. Desta forma, o texto mostra que efetivamente Computação Imprecisa pode ser usada como base para a construção de aplicações distribuídas de tempo real. / Real-time computing systems are defined as those systems subjected to timing constraints. In those systems, results must be not only logically correct but they also must be generated at the right moment. A basic problem one finds when building a distributed real time system is the allocation and scheduling of tasks on the available computing resources. There is an intrinsic difficulty in simultaneously achieving two fundamental goals: to guarantee that results are generated by the desired time and to make the system flexible enough so it can adapt to a dynamic environment and, that way, increase its own utility. The Imprecise Computation technique has been proposed in the literature as an approach to the scheduling of real-time systems. When this technique is used, each task has a mandatory part and an optional part. The mandatory part is able to generate a minimal quality result that is barely good enough to keep the system in a safe operational mode. The optional part refines the result until it achieves the desired quality level. This technique tries to conciliate the two fundamental goals mentioned above. Meanwhile, there is not in the literature a broad study on "how to solve the scheduling problem when real-time distributed systems are built based on Imprecise Computation concepts. "The overall goal of this theses is to show how real-time applications, that are built upon Imprecise Computation concepts, can be scheduled in a distributed environment. We intend to show that Imprecise Computation concepts can be adapted to an environment where tasks execute in different processors and communication among them is done by sending messages. It is shown in the text that we can split this problem in the following four specific problems: - How to guarantee that mandatory parts will be finished before or at the respective task deadline, when we consider that tasks can execute in different processors and the use of messages creates precedence relations among them. - How to know that the execution of an optional part will not jeopardize the execution of previously guaranteed mandatory parts. - How to chose which optional parts should be executed when the resource "available processor time" is not enough to execute all of them. - How to decide which task runs on which processor, in a way that all mandatory parts can be guaranteed and that optional parts are evenly spread over the system so as to maximize the chance they get actually executed. This theses presents scheduling solutions for those four specific problems. In this way, the text shows that Imprecise Computation can effectively be used as the conceptual base for the construction of distributed real-time applications.
|
47 |
Previsão de vazão em tempo real no rio Uruguai com base na previsão meteorológicaAndreolli, Ivanilto January 2003 (has links)
A operação de reservatórios para geração de energia, ou controle de cheias é definida em função dos volumes afluentes que são resultantes das chuvas que ocorrem sobre a bacia. Devido à aleatoriedade e às próprias incertezas envolvidas na ocorrência das precipitações e vazões; a produção de energia, a segurança das barragens e o controle das cheias à montante e jusante ficam comprometidas. Para que as incertezas sejam reduzidas é necessário o aprimoramento das previsões de vazões de afluência em tempo real. A previsão em tempo real pode se realizada com base na vazão de postos de montante e jusante, na precipitação observada e, ou, na precipitação prevista. A previsão de precipitação é necessária para aumentar a antecipação da previsão e melhoria de resultados para tempos futuros além do tempo de concentração da bacia. Esta pesquisa tem como objetivo a avaliação do ganho da previsão de vazão com uso integrado de previsão de precipitação através de uso de um modelo meteorológico regional (meso-escala) com um modelo hidrológico distribuído. Os resultados do modelo meteorológico regional foram fornecidos pelo Laboratório de Planejamento Energético (LabPlan) da Universidade Federal de Santa Catarina (UFSC), onde está sendo utilizado, de forma operacio nal, o Modelo Numérico Regional ARPS (Advanced Regional Prediction System). O modelo hidrológico de transformação chuva-vazão utilizado é um modelo distribuído com discretização em módulos para grandes bacias - MGB (Modelo de Grandes Bacias). O estudo de caso foi realizado na bacia do rio Uruguai até a Usina Hidrelétrica de Machadinho, cuja área de drenagem é de, aproximadamente, 32.000 km2. Diversos cenários de previsão foram simulados. Para o período de 2001 e 2002 foi feita a análise das previsões de eventos isolados, segundo a disponibilidade de dados de previsão meteorológica. Para o período de 2003, durante 6 meses, foi feita a análise das previsões contínuas. Para este período, através de algumas estatísticas, avaliou-se o ganho hidrológico obtido, em termos de vazão prevista com utilização do modelo hidrológico chuva -vazão considerando chuva futura zero e considerando a previsão da chuva com modelo meteorológico regional. Para o período de 2001 a 2003 avaliou-se, também, a importância da rede de pluviógrafos para previsão em tempo real. Formas de atualização simples das variáveis de estado foram testadas e mostraram significativa melhora das previsões. Os resultados da previsão por eventos mostraram ganhos significativos na previsão de vazão quando a previsão de chuva foi incorporada. Já no período de previsão contínua o mesmo não foi observado, porém este período foi bastante seco com poucos eventos de cheia prejudicando a análise do uso das previsões de chuva no modelo hidrológico para previsão. A análise da importância da rede de pluviógrafos destacou a região sul da bacia como a região mais importante em termos de geração de escoamento rápido ao reservatório de Machadinho. Além disso, uma análise simplificada mostrou que uma rede de pluviógrafos distribuídos na bacia, segundo as recomendações da Organização Meteorológica Mundial (OMM), poderia reduzir em aproximadamente 25% o erro padrão nas previsões de vazão com 12 horas de antecedências em Machadinho.
|
48 |
Desenvolvimento de uma arquitetura programável de controle em tempo real para um servoposicionador pneumáticoKunz, Guilherme de Oliveira January 2006 (has links)
Este trabalho aborda o desenvolvimento de uma arquitetura de controle em tempo real para servoposicionadores pneumáticos, baseada em computadores pessoais (PCs). Os servoposicionadores pneumáticos são de baixo custo, leves, não poluentes e de fácil utilização. Como apresentam boa relação entre peso e força, são bastante atraentes em aplicações de robótica. Entretanto, devido a suas não linearidades, os servoposicionadores pneumáticos apresentam dificuldades em seu controle. Visando compensá-las, são desenvolvidos algoritmos de controle cada vez mais complexos, necessitando de ferramentas mais robustas quanto ao poder de processamento. Ferramentas com características necessárias para o desenvolvimento de algoritmos e para o controle em tempo real de sistemas custam caro, o que dificulta o desenvolvimento de novas tecnologias de controle de servoposicionadores pneumáticos. Este trabalho apresenta uma revisão das soluções utilizadas na construção de sistemas pneumáticos de posicionamento e daquelas adotadas no controle digital de sistemas automáticos. Descrevese o processo de construção de uma bancada experimental, e o desenvolvimento das soluções em hardware e software para o controle digital é discutido. Visando uma solução economicamente atraente, são utilizados unicamente softwares de código aberto e de livre utilização, assim como hardwares de baixo custo.Para verificar a eficiência da solução proposta, a arquitetura de controle é utilizada para realizar a identificação dos parâmetros do sistema pneumático. Dentre eles, destacam-se a vazão mássica e o atrito, informações importantes para simulação e controle do sistema. Também são utilizados controladores do tipo Proporcional-Integral-Derivativo, implementados para apoiar o estudo do desempenho da arquitetura no controle do servoposicionador pneumático.
|
49 |
Arquitetura em hardware para co-processamento de tarefas em sistema operacional tempo realGonçalves Júnior, Hermes José January 2004 (has links)
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.
|
50 |
Sistema de validação temporal para redes de barramentos de campoHusemann, Ronaldo January 2003 (has links)
Aplicações recentes no setor de automação industrial utilizam barramentos de campo para prover comunicação entre dispositivos. Estas aplicações normalmente exigem que os barramentos apresentem suporte tempo real. A garantia do adequado atendimento a requisitos temporais restritos é de fundamental importância para o correto funcionamento do sistema. Este documento apresenta um sistema de validação temporal para aplicações desenvolvidas utilizando tecnologias de barramentos de campo. O sistema desenvolvido, chamado BR-Tool, permite monitoração em tempo de execução de uma rede de barramento de campo, confrontando os dados obtidos com requisitos temporais previamente definidos pelo operador. O sistema BR-Tool é composto por dois elementos: um sub-sistema de aquisição de mensagens (placa de aquisição) e um sub-sistema de validação (ferramenta computacional). A placa de aquisição foi especialmente projetada para operar com diferentes interfaces de barramentos de campo, realizando as tarefas de captura de eventos, marcação temporal e salvamento de um histórico de eventos. A ferramenta de validação, que roda no computador, realiza as tarefas de filtragem de eventos, especificação de requisitos e validação temporal, permitindo diversos modos de visualização dos resultados. A comunicação entre a placa de aquisição e a ferramenta de validação é implementada por uma interface PCI, permitindo operar com velocidades de até 12Mbps.
|
Page generated in 0.0968 seconds