Abstract:
|
Este trabalho tem como objetivo resolver um problema clássico da Síntese de Alto Nível através de uma abordagem orientada à exploração de soluções alternativas. O problema consiste no escalonamento de operações de um dado algoritmo sob restrição de recursos físicos de forma que cada operação é executada respeitando a ordem de precedência imposta pelo algoritmo. Para abordar o problema acima, utilizou-se as técnicas de Loop Pipelining e Loop Unrolling, onde operações de diferentes iterações podem ser executadas em um mesmo estado. Estas técnicas, por exporem mais paralelismo, permitem uma melhor utilização dos recursos. Este trabalho descreve a abordagem proposta, a modelagem que a ampara e a implementação de ferramentas que a suportam (escalonador e paralelizador). São apresentados resultados experimentais obtidos a partir de exemplos clássicos da literatura. |