170 likes | 254 Views
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
E N D
HW-SW codesignoua 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
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?