IMPLEMENTAÇÃO DE UM SISTEMA OPERACIONAL BASEADO EM AUTÔMATO FINITO IMPLEMENTADO EM FPGA Douglas Rafael Gomes, Marco Antonio Assis de Melo Centro Universitário da FEI [email protected], [email protected] Resumo: Este projeto tem por objetivo o desenvolvimento de um Sistema Operacional usando Autômatos Finitos em seu modelamento. Ele será implementado em linguagem C e executado através do processador NIOS II, um softprocessor em um dispositivo eletrônico programável do tipo FPGA, Field Programmable Gate Array. Os resultados da implementação serão visualizados em um monitor externo, além de um teclado para entrada de comandos e dados. 1. Introdução Sistemas Computacionais são parte integrante da vida cotidiana. Em vários equipamentos e dispositivos modernos, como televisores, forno de micro ondas, ar condicionado, sistema elétrico de um automóvel e outros, possuem um sistema computacional dedicado para as tarefas que se propõem. Outros equipamentos já possuem um sistema de comunicação em rede, como os smartfones. Uma maneira de descrever o funcionamento destes sistemas computacionais é através da reconhecedores autômatos [1], que são dispositivos de computação formais. Um exemplo mais elaborado é o reconhecimento de comandos ou palavras válidas pelo Sistema Operacional, usando um Analisador Léxico. O Analisador Léxico faz o reconhecimento de uma seqüência válida como mostrado na figura 1 para a palavra chave “then”. Figura 2 – Kit de Desenvolvimento DE2-70 Como exemplo, será executado um programa que soma números contidos em um vetor. A Figura 3 mostra o sistema completo, onde através de um monitor teremos a interface de saída. A interface de entrada para carregar o programa será a ferramenta Quartus II da Altera e um teclado para digitação dos comandos. Figura 3 – Sistema Proposto 4. Conclusões Figura 1 – Reconhecedor autômato da palavra chave “then” O sistema operacional proposto permitirá que um usuário do sistema de computação execute um programa carregado no Processador NIOS II através dos seguintes comandos: Run Program, Dir, Stop e Error Run Program. 2. Metodologia Uma plataforma de desenvolvimento em tempo real formada por uma placa FPGA DE2-70 da Terasic (KIT de desenvolvimento) com dispositivo FPGA Altera Cyclone® II 2C70 será usada para executar o Sistema Operacional carregado no softprocessor NIOS II [2]. Nesta plataforma, poderemos executar programas em linguagem C, que serão supervisionados pelo Sistema Operacional concebido por esta Iniciação Científica. O projeto esta em sua fase inicial e tem data de conclusão prevista para Dezembro/2012. Para melhor exemplificar o projeto, foi desenvolvido um protótipo do sistema em linguagem C para ambiente Windows. Espera-se que, ao final deste trabalho, os resultados possam ser utilizados em disciplinas que contenham processamento digital de sinais, assim como arquitetura de computadores. 5. Referências [1] Introduction to Automata Theory, Languages, and Computation. John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Editora: Addison Wesley. [2] Curso Altera Nios II. Disponível em: <http://www.altera.com/customertraining/webex/Using_ NiosII_Proc/player.html>. Acesso em Agosto de 2012. Agradecimentos Ao Centro Universitário da FEI pelo apoio e confiança em nosso trabalho.