Prévia do material em texto
Aluna: Tainá Isabela Monteiro da Silva RGA: 202011722019 Disciplina: Laboratório de Arquitetura de Computadores Resumo: Hardware Programável O hardware programável é fruto de uma busca por chips que pudessem ser dinamicamente reconfiguráveis em sua lógica, sendo chamado também de FPGAs ou Hardware reconfigurável. Sendo uma tecnologia bastante flexível é possível dar inúmeros fim a ela, seja utilizando um Arduino ou um Altera por exemplo, no quais por meio de entradas sejam essas sensores, botões, switches entre outros, podem gerar desde sistemas de irrigação doméstica à execução de jogos do tipo super mario. Esse tipo de chip permite a criação de arquiteturas funcionais personalizadas de acordo com a necessidade de dado projeto ou aplicação. Em outras palavras: com FPGA é possível criar uma arquitetura computacional e o programa/instruções que irão controlar a arquitetura criada. Assim como você apaga o programa de um chip, como um Arduino por exemplo, também é possível apagar a lógica gravada em uma FPGA, e gravar uma outra lógica novamente. Uma das mais proeminentes aplicações de FPGAs atualmente é na área de telecomunicações. Elas são fundamentais em equipamentos de redes ópticas , dada a sua capacidade de lidar com processamento paralelo em frequências diversas, requisito crítico e fundamental para a operação dos vários tipos de protocolos adotados em redes OTN. Outra área que também tem se destacado com o uso das FPGAs é a área de Rádio Definido por Software. Como esse recurso depende de uma estrutura bem elaborada de aquisição, processamento e reação, as FPGAs tem sido adotadas por conta da flexibilidade em implementar, configurar e executar dinamicamente blocos computacionais para processar diversos sinais e protocolos específicos em comunicação via ondas de rádio. A execução de algoritmos de criptografia, processamento de sinais e até mesmo visão computacional demandam exaustivamente o uso de recursos computacionais em CPU, dado o expressivo uso de matrizes e transformadas realizadas para obter os resultados desejados. Dessa forma, a abordagem mais comumente adotada no uso conjunto das FPGAs como coprocessadores é levar o trabalho pesado para as FPGAs, numa forma bem dimensionada com o objetivo de garantir uma fluidez na execução do programa. O desenvolvimento em FPGAs é pensado na forma de criar unidades lógicas para o desempenho de uma dada função: sejam memórias, circuitos para soma, multiplexadores/demultiplexadores, etc. Essa salada de frutas misturada irá desempenhar uma ação desejada (por exemplo, identificar rapidamente um rosto numa matriz que corresponde a uma imagem). Mas para chegar até lá, a FPGA precisa estar carregada com a lógica necessária para essa função. As ferramentas fornecidas pelos fabricantes de FPGAs são capazes de interpretar a descrição apresentada em linguagem VHDL e a partir dela criar os circuitos lógicos para o desempenho das funções descritas.