12.04.2013 Views

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

pdf (90) - Faculdade de Informática - pucrs

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!