ChipCflow – uma ferramenta para execução de algoritmos utilizando o modelo a fluxo de dados dinâmico em hardware reconfigurável Joelmir José Lopes SERVIÇO DE PÓS-GRADUAÇÃO DO ICMC-USP Data de Depósito: 17/05/2012 Assinatura: ChipCflow – uma ferramenta para execução de algoritmos utilizando o modelo a fluxo de dados dinâmico em hardware reconfigurável Joelmir José Lopes Orientador: Prof. Dr. Jorge Luiz e Silva Tese apresentada ao Instituto de Ciências Matemáticas e de Computação - ICMC-USP, como parte dos requisitos para obtenção do título de Doutor em Ciências - Ciências de Computação e Matemática Computacional. EXEMPLAR DE DEFESA. USP – São Carlos Maio de 2012 Ficha catalográfica elaborada pela Biblioteca Prof. Achille Bassi e Seção Técnica de Informática, ICMC/USP, com os dados fornecidos pelo(a) autor(a) Lopes, Joelmir José L864c ChipCflow - uma ferramenta para execução de algoritmos utilizando o modelo a fluxo de dados dinâmico em hardware reconfigurável / Joelmir José Lopes; orientador Jorge Luiz e Silva. -- São Carlos, 2012. 233 p. Tese (Doutorado - Programa de Pós-Graduação em Ciências de Computação e Matemática Computacional) -- Instituto de Ciências Matemáticas e de Computação, Universidade de São Paulo, 2012. 1. Arquiteturas a fluxo de dados. 2. Arquiteturas paralelas. 3. Sistemas de alto desempenho. 4. Hardware reconfigurável. 5. Protocolos assíncronos. I. Silva, Jorge Luiz e, orient. II. Título. Dedico este trabalho aos meus queridos pais, Jarbas Lopes e Maria Inês Garcia Lopes Aggraadeecimmentoos Aos mmeus pais, Jarbaas Lopes e Mariaa Inês Gaarcia Loopes, peloo carinhho, dediccação e confiannça. Ao meu irmmão Juliiano Hennrique LLopes pello apoioo em toddos os mmomentos. Ao mmeu orieentador, professoor Jorge Luiz e SSilva e ssua esposa Elizabbeth Luisa Morretti e Silva ppelo apooio, connfiança, orientaçções acaddêmicas e pessoaais, e pelaa amizadde. Aos aamigos, pelas aleegrias e dificuldaades commpartilhaadas: Miccahell David Calabrez, JJamile ZZulim, Shheila Alkkin Padiilha, Juliiana Calaabrese, Issabell Pinnto. A toodos os colegas doo ICMC que conntribuíramm diretaa ou inndiretameente parra realizzação ddeste trabbalho. À equuipe do Projeto ChipCfloow, em especial aos coleegas Bruuno de AAbreu Silva e Anntônio CCarlos Feernandes Silva ppelas disccussões extremmamente produutivas e mommentos de desccontraçãoo. Ao CConselho Nacionnal de Desenvolvvimento Científicco e Teccnológicoo (CNPq)) pelo appoio finannceiro. Às fuuncionáriias da seecretaria de pós-ggraduaçãoo do ICMMC- USPP por toddas as infformaçõees e serviiços prestados. Para todos aqueles que direta ou inndiretamente conntribuíramm para a realizzação deeste trabaalho, emm especial a Anggela Crisstina Preegnolato Giampeedro do Centro Culturall da USPP – São CCarlos. Nã o se mede o valor de um homem pelas suas ro upas ou pelos bens que possui, o verdadeiro va lor do homem é o seu caráter, suas ideias e a nobreza dos seus ideais. (Charles Chaplin) Sumário Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v Lista de Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Lista de Abreviaturas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Lista de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii 1 Introdução 1 1.1 Contextualização e Motivação . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Field Programmable Gate Arrays - FPGAs . . . . . . . . . . 2 1.1.2 Computação Reconfigurável . . . . . . . . . . . . . . . . . . 5 1.1.3 O modelo von-Neumann . . . . . . . . . . . . . . . . . . . . . 10 1.1.4 Circuitos assíncronos . . . . . . . . . . . . . . . . . . . . . . 13 1.1.5 Arquiteturas a fluxo de dados . . . . . . . . . . . . . . . . . 15 1.1.6 Projeto ChipCflow . . . . . . . . . . . . . . . . . . . . . . . . 18 1.2 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.3 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.4 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . 20 2 Dispositivos Lógicos Programáveis PLDs 23 2.1 Circuitos Digitais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.2 A tecnologia dos FPGAs . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.2.1 Arquitetura dos FPGAs . . . . . . . . . . . . . . . . . . . . . 27 2.2.2 Tecnologias de programação . . . . . . . . . . . . . . . . . . 31 2.2.3 Classificação dos FPGAs . . . . . . . . . . . . . . . . . . . . 32 2.2.4 FPGAs com Reconfiguração Parcial Dinâmica . . . . . . . . 33 3 Plataforma de desenvolvimento 43 3.1 Família VIRTEX-II Pro da Xilinx . . . . . . . . . . . . . . . . . . . . 43 3.1.1 Plataforma de desenvolvimento XUP V2P . . . . . . . . . . . 47 i
Description: