ARAÚJO, Sílvio Roberto Fernandes. ESTUDO DA VIABILIDADE DO
DESENVOLVIMENTO DE SISTEMAS INTEGRADOS BASEADOS EM REDES EM
CHIP SEM PROCESSADORES: SISTEMA IPNOSYS. Dissertação submetida ao Programa
de Pós-Graduação em Sistemas e Computação do Departamento de Informática e Matemática
Aplicada da Universidade Federal do Rio Grande do Norte como parte dos requisitos para
obtenção do título de Mestre em Sistemas e Computação, Natal, 2008.
Resumo
O aumento na capacidade de integração de transistores permitiu o
desenvolvimento de sistemas completos, com inúmeros componentes, dentro de um único
chip, são os chamados SoCs (System-on-Chip). No entanto, o subsistema de interconexão
utilizado pode limitar a escalabilidade dos SoCs, como os barramentos, ou ser uma solução ad
hoc, como a hierarquia de barramentos. Desse modo, a solução ideal para interconexão no
SoCs são as redes em chip ou NoCs (Network-on-Chip). As NoCs permitem múltiplas
conexão ponto-a-ponto entre os componente e podem ser reusadas em projetos diversos.
Entretanto, o uso de NoCs pode representar o aumento na complexidade do projeto do
sistema, da área em chip e/ou potência dissipada. Dessa forma, é necessário ampliar o
horizonte de utilização dos sistemas ou quebrar o paradigma do seu desenvolvimento.
Assim, é proposto um sistema baseado em uma NoC, onde as aplicações são
descritas em forma de pacotes e executadas de roteador em roteador durante o percurso entre
origem e destino dos pacotes, sem a necessidade do uso de processadores convencionais. Para
permitir a execução de aplicações, independente do número de instruções e das dimensões da
rede, foi desenvolvido o algoritmo spiral complement, que permite re-rotear pacotes até que
todas as instruções contidas nele sejam executadas.
Portanto, o objetivo desse trabalho foi estudar a viabilidade do
desenvolvimento de tal sistema, denominado sistema IPNoSys. Nesse estudo, foi
desenvolvida em SystemC, com precisão de ciclo, uma ferramenta para simulação do sistema,
a qual permite executar aplicações implementadas na linguagem de descrição de pacotes,
também desenvolvida para esse fim. Através da ferramenta podem ser obtidos diversos
resultados que permitem avaliar o funcionamento e desempenho do sistema. A metodologia
empregada para descrição das aplicações corresponde, a priori, em obter o grafo de fluxo de
dados da aplicação em alto nível, e desse grafo descrevê-la em um ou mais pacotes.
Utilizando essa metodologia, foram realizados três estudos de casos: contador,
DCT-2D e adição de ponto flutuante. O contador foi usado para avaliar a capacidade do
sistema em tratar situações de deadlock e executar aplicações em paralelo. A DCT-2D foi
utilizada para realizar comparações com a plataforma STORM. E, finalmente, a adição de
ponto flutuante teve como objetivo ser usada como rotina de tratamento de uma instrução não
implementada em hardware.
Os resultados de simulação apontam favoravelmente com relação à viabilidade
do desenvolvimento do sistema IPNoSys. Mostrando que é possível executar aplicações em
forma de pacotes, inclusive paralelamente, sem interrupções provocadas por eventuais
deadlocks, e ainda indicam maior eficiência do sistema IPNoSys a respeito do tempo de
execução comparada a plataforma STORM.
Palavras-chave: sistema em chip (SoC), redes em chip (NoC), algoritmo spiral complement,
sistema IPNoSys.