pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
pdf (90) - Faculdade de Informática - pucrs
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
hardware <strong>de</strong> tamanho arbitrário. Além do mais, a composição em tempo <strong>de</strong> execução dos grafos é su-<br />
portada, possibilitando uma estrutura <strong>de</strong> aplicação orientada a dados, alocação dinâmica <strong>de</strong> recursos<br />
e integração entre módulos <strong>de</strong> hardware (cores) <strong>de</strong>senvolvidos ou compilados separadamente.<br />
2.4.4 Pipeline <strong>de</strong> Configurações<br />
Analisando-se a natureza estática <strong>de</strong> uma configuração, verifica-se a existência <strong>de</strong> dois problemas<br />
significativos:<br />
a) Uma computação po<strong>de</strong> requerer mais hardware do que há disponível;<br />
b) Um projeto <strong>de</strong> hardware não explora recursos adicionais <strong>de</strong> hardware que serão disponibiliza-<br />
dos em futuras gerações <strong>de</strong>sse hardware.<br />
Uma técnica chamada <strong>de</strong> reconfiguração por pipeline <strong>de</strong> configurações po<strong>de</strong> implementar uma<br />
lógica maior que a capacida<strong>de</strong> do dispositivo alvo, através <strong>de</strong> rápidas e sucessivas reconfigurações<br />
<strong>de</strong>sse hardware [GOL00].<br />
Pipeline <strong>de</strong> configurações envolve a virtualização do hardware pela divisão da lógica estática em<br />
pequenos pedaços que correspon<strong>de</strong>rão a estágios do pipeline na aplicação. A Figura 2.9 ilustra o<br />
processo <strong>de</strong> virtualização <strong>de</strong> uma lógica com cinco estágios em um dispositivo capaz <strong>de</strong> implementar<br />
apenas três <strong>de</strong>sses estágios. A Figura 2.9-a mostra a aplicação com 5 estágios, e cada estágio do<br />
pipeline em sete ciclos consecutivos <strong>de</strong> relógio. A Figura 2.9-b ilustra o estado dos estágios imple-<br />
mentados no dispositivo, bem como a forma que a aplicação é executada. Neste exemplo, o primeiro<br />
estágio do pipe virtual é configurado no ciclo 1, e está pronto para ser executado no ciclo seguinte,<br />
e é executado por dois ciclos consecutivos. Embora não haja 4 estágios físicos no pipe, no ciclo 4,<br />
o quarto estágio do pipe virtual é configurado no estágio físico 1, substituindo o primeiro estágio<br />
virtual.<br />
Em geral, quando uma aplicação é virtualizada através <strong>de</strong> um dispositivo (ver Item 2.5.2.1) com <br />
estágios virtuais, em um dispositivo com capacida<strong>de</strong> para implementar estágios, com , a vazão<br />
da implementação é proporcional a . A vazão é uma função linear da capacida<strong>de</strong> do dispositivo.<br />
Portanto, o aumento <strong>de</strong> <strong>de</strong>sempenho não ocorre apenas quando novas gerações <strong>de</strong> dispositivos au-<br />
mentam sua freqüência <strong>de</strong> relógio; mas também acontece quando diminui o tamanho dos transistores,<br />
pelo acréscimo <strong>de</strong> recursos em um mesmo circuito integrado, até que .<br />
Como alguns estágios são configurados enquanto outros estão sendo executados, a reconfiguração<br />
não diminui a performance. Uma reconfiguração por pipeline <strong>de</strong> configurações é consi<strong>de</strong>rada bem<br />
sucedida quando tem-se a configuração <strong>de</strong> um estágio do pipe por ciclo <strong>de</strong> relógio. Para obter-se<br />
isto conectou-se ao dispositivo um buffer <strong>de</strong> configuração on-chip, enquanto um pequeno controlador<br />
gerencia o processo <strong>de</strong> configuração.<br />
Contudo, a reconfiguração por pipeline impõe algumas restrições quanto aos tipos <strong>de</strong> aplicações<br />
35