180 likes | 308 Views
Arquiteturas Reconfiguráveis e GARP. Karina Zupo de Oliveira - RA 028520 MO401 – Prof. Rodoldo Novembro 2005. Agenda. GARP – Objetivos ISACs, FPGAs Arquiteturas Reconfiguráveis GARP – Arquitetura GARP – Software GARPCC. GARP - Objetivos. Melhorar desempenho do processador
E N D
Arquiteturas Reconfiguráveis e GARP Karina Zupo de Oliveira - RA 028520 MO401 – Prof. Rodoldo Novembro 2005
Agenda • GARP – Objetivos • ISACs, FPGAs • Arquiteturas Reconfiguráveis • GARP – Arquitetura • GARP – Software • GARPCC
GARP - Objetivos • Melhorar desempenho do processador • Colorário: 10% do código (kernel) executa por 90% do tempo • Uso de FPGAs • Arquitetura reconfigurável em computador desktop
ISACs • Circuitos integráveis com lógica para aplicações específicas • Programados e elaborados em fábrica • Rápidos e altamente otimizados • Caros • Computadores desktop: não fazem sentido utilizar
FPGAs • Circuitos integráveis reprogramáveis depois de fabricados • Array de blocos lógicos • Implementados em RAM • Passado: caros, grandes e lentos
Arquiteturas Reconfiguráveis • Aplicações específicas • Sequenciamento de genoma, tratamento de imagens, etc • Splash-2 • DECPeRLe
Arquiteturas Reconfiguráveis 2 • Granularidade • Fora do chip do processador: PRISM • Dentro do datapath do processador: Chimaera, PRISC • Conectado ao processador: Garp, Spyder • Somente FPGA: DISC
GARP - Arquitetura • Processador MIPS-II • Acesso a memória • Acesso à cache de dados • Filas de memória • Configurações • Instruções especiais: gaconf, mtga, mfta, gasave, garestore...
GARP – Arquitetura 2 • FPGA • 24 Blocos por linhas • Blocos de controle • Bus de Memória • Wires verticais e horizontais • Cache de configurações
GARP – Arquitetura 4 • Definição de ciclo de clock • Compatibilidade binária de FPGA • Contador de clock: defini quantos passos dura uma execução do FPGA • Quando contador = 0 o FPGA para • Processador define contador através de instruções específicas
GARP –Software • Geração de código • Configurador • Compilador C • Montador Modificado
GARP – Software 2 • Experimentos em simulador • Baseado UltraSPARC, adicionado MIPS-II
GARP – Software 3 • Experimentos • Ganhos: Laços longos, entradas grandes, Paralelizáveis • Sort: acessos randômicos memória
GARPCC • Compilador SUIF • Técnicas de VLIW e uso de hiperblocos • Profiling para achar melhor blocos • Loads especulativos • Pipelining de iterações de laços • Uso extensivo de filas de memória
GARPCC - 2 • Problemas • Falhas de acesso ao cache • Bibliotecas C • Melhor seleção dos laços • Aplicações genéricas: desempenho não muito melhor que computadores comuns
Conclusão • Estudo: FPGA integrado com MIPS-II • Foco: computadores desktop • Ganho: programas paralelizáveis • Compilador garpcc: ainda não é o suficiente • Meta: ganhos reais em aplicações de uso genérico • Realidade daqui 10-15 anos?
Referências • http://brass.cs.berkeley.edu/garp.html Site do GARP na Universidade de Berkeley • Garp: A MIPS Processor with a Reconfigurable Coprocessor John R. Hauser and John Wawrzynek, IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM '97, April 16-18, 1997) • The Garp Architecture and C Compiler Timothy J. Callahan, John R. Hauser, and John Wawrzynek, IEEE Computer, April 2000 • Augmenting a Microprocessor with Reconfigurable Hardware John Reid Hauser, Ph.D. Thesis, December 2000 • Automatic Compilation of C for Hybrid Reconfigurable Architectures Timothy John Callahan, Ph.D. Thesis, Fall 2002
Perguntas • e-mail: karinazupo@yahoo.com.br