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 FieldProgrammable 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: [email protected]
Download

Apr