arquivo1 - Inf

Propaganda
HW-SW codesign
ou
a solução errada para o problema certo
CMP502
2002/II
Parte do contexto
• Década de 90: consolidação da síntese de
alto nível (10 anos)
• Mercado de semicondutores:
– foco no volume
– projeto de chips envolve basicamente hardware
– mesmo processadores são basicamente HW
• Mercado mundial de eletrônica: sistemas
Síntese de sistemas
• Uma perspectiva do início dos anos 90:
• Como capturar o SW que o sistema deve
executar?
– VHDL-OO
– Handle-C
• Como decidir o que é SW e o que é HW?
Uma perspectiva histórica
• De Micheli-Gupta
– partindo do HW, move operações não críticas
ou custosas para SW (91)
• Athanas, Silverman
– identifica no código parcelas críticas, e move
operações para HW na medida das necessidades
• HW modificável: densidade aumenta
selvagemente no início dos 90!
O problema
• Projeto de HW feito com conjunto de
ferramentas diferentes que o de SW
• conceitos como paralelismo são diferentes
em cada domínio
• maioria dos sisteemas digitais contém
ambos, mas há uma serialização de tarefas
Um resumo dos esforços
• Classificação: Jay Adams, Donald Thomas
• Modelo tipo I: o HW executa o SW
– relação de abstração simples entre HW-SW
– mais de um componente físico possível
– modelo mais clássico de como se faz projeto
• Modelo tipo II: HW e SW modelados da
mesma maneira
– microprocessador sintetizados a partir de
síntese comportamental
Vantagens e desvantagens
• Modelo I:
– config. SW e HW interdependente
– fronteira móvel
• Modelo II:
– mais espaço de projeto para mover a fronteira
– especificação comun
Tarefas de projeto I
• Co-simulação
– domínios diferntes, granularidades diferentes
– desempenho do simulador crítico
– modelo do HW tem de estar disponível cedo
para avaliação de desempenho
– a interface de comunicação tem de estar
presente (bus e suas transações)
Tarefas II
• Co-síntese
–
–
–
–
–
partição, problema ou não
critérios de partição
como estabelecer critérios adequados
foi a festa de 5 anos
performance, custo, ‘possibiloidade de
modificações tardias, natureza da computação,
concorrência e overhead de comunicação
Fluxo de projeto
• modelar HW e SW como grafo
• usar o domínio de aplicação para limitar o
problema
• colocar pesos nos arcos segundo algum
critério
• definir problema como NP-completo
• definir heurística adequada
• publicar paper
O modelo de HW
•
•
•
•
Processador embarcado
Sistema heterogêneo
ASIPs
Co-processadores
Resultados publicados
• Aceleração sim, mas pouca comparação
com realidade
• Processador + HW dedicado: as vezes mais
lento que só processador
• Por que não usar vários processadores?
Custo até mais baixo
• O exemplo certo é tudo
Resultados comerciais
• Coware
– modelo processador único (ARM)
– aplicações DSP para comunicações
• Arexys
– modelo processadores heterogêneos
distribuídos
– mercado militar
Olhar apresentações correlatas
A novidade: REUSO
• A questão da especificação conjunta
• Como incorporar núcleos a partir da
especificação?
– Uso de modelos abstratos para especificação
– Uso de modelos estruturais para HW alvo
A nova realidade (ou não)
• Volumes cada vez maiores são exigidos
– custo de máscaras para tecnologia d eponta
devem ser amortizados
– custo de foundries absurdo
• Microprocessadores encontrados em todos
os tamanhos, desempenhos e potência
• Avanços na computação paralela e
distribuída
Consequentemente...
• HW único, muda só o SW
• Projeto basedo em plataforma
• Mas há outras mudanças
– HW cconfigurável cada vez mais barato e de
maior desempenho
– aplicações demandam cada vez menor consumo
de potência, HW genérico é péssimo
– é uma corrida ou uma luta acadêmica?
Download