Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): André Leonardo Bieging
Título: Implementação M++ em FPGA
 
Introdução:
As tecnologias dos microprocessadores vêm avançando rapidamente desde a invenção do transistor em 1947. De mainframes gigantes capazes de realizar até 3 milhões de cálculos por segundo (VAUGHAN-NICHOLS, 2018), a minúsculos chips contendo bilhões de transistores e racks de servidores capazes de executar quadrilhões de operações por segundo e transferir dados a taxas gigantescas (CUTRESS, 2018). Atualmente, estes chips estão divididos em três categorias: Application-Specific Standard Products (ASSPs), Application- Specific Integrated Circuits (ASICs) e os Field Programmable Gate Array (FPGAs). Os ASICs são componentes criados para uma única aplicação e são desenvolvidos para serem usados, normalmente, por apenas uma empresa. Os ASSPs são desenvolvidos para aplicações de uso geral, como os processadores dos nossos computadores, e são vendidos para uma quantidade maior de clientes. Mas os ASICs e ASSPs tem suas limitações. Para criá-los é necessário uma equipe de engenheiros capazes e de grandes recursos financeiros. Além de demandar um tempo de desenvolvimento chegando a 1 ano (MURALI, 2013), pequenos erros ou mudanças de arquitetura podem levar o projeto à estaca zero, pois, uma vez que lançado, o produto não pode mais sofrer modificações de hardware. Os FPGAs, segundo Moore (2017, p. 4, tradução nossa), “dispositivos semicondutores cuja função pode ser definida após sua fabricação, [...] podendo ser modificada [...] para atender a aplicações específicas mesmo após o produto estar instalado no campo”. Esta definição mostra que um FPGA é muito mais flexível do que os ASSPs e ASICs, já que erros podem ser corrigidos e funções podem ser adicionadas facilmente. Além disso, esta tecnologia é muito mais barata por possuir um tempo de desenvolvimento menor e por haver kits de desenvolvimento bem acessíveis. Com base no que foi apresentado, este trabalho propõe a implementação de um microprocessador na plataforma FPGA. A arquitetura será baseada na M++ (BORGES, 2003), um processador criado em um software de simulação de lógica. Para isso será preciso traduzir corretamente a arquitetura de uma plataforma digital para uma física, resolver problemas específicos relacionados ao desenvolvimento no hardware e aprender o uso correto desta tecnologia, por ser bastante complexa.