The present invention integrates data prefetching into a modulo scheduling technique to provide for the generation of assembly code having improved performance. Modulo scheduling can produce optimal steady state code for many important cases by sufficiently separating defining instructions (producers) from using instructions (consumers), thereby avoiding machine stall cycles and simultaneously maximizing processor utilization. Integrating data prefetching within modulo scheduling yields high performance assembly code by prefetching data from memory while at the same time using modulo scheduling to efficiently schedule the remaining operations. The invention integrates data prefetching into modulo scheduling by postponing prefetch insertion until after modulo scheduling is complete. Actual insertion of the prefetch instructions occurs in a postpass after the generation of appropriate prologue-kernel-epilogue code. Concurrently, appropriate rules are employed to permit the co-existence of data prefetching instructions within the modulo scheduled code. The present invention also simplifies the addition of data prefetching capabilities to a compiler already capable of modulo scheduling.

A invenção atual integra os dados que prefetching em uma técnica programando do modulo para fornecer para a geração do código do conjunto que melhora o desempenho. Programar do modulo pode produzir o código optimal do estado constante para muitos casos importantes suficientemente separando definindo instruções (produtores) de usar as instruções (consumidores), evitando desse modo ciclos da tenda da máquina e maximizing simultaneamente a utilização do processador. Dados integrando que prefetching dentro do código programando do conjunto do desempenho elevado dos rendimentos do modulo prefetching dados da memória ao ao mesmo tempo usar o modulo que programa para programar eficientemente as operações restantes. A invenção integra os dados que prefetching no modulo que programa postponing a inserção do prefetch até que após o modulo programar esteja completo. A inserção real das instruções do prefetch ocorre no postpass após a geração do código apropriado da prologue-semente-epilogue. Simultaneamente, as réguas apropriadas são empregadas para permitir o co-existence de instruções prefetching dos dados dentro do código programado modulo. A invenção atual simplifica também a adição de potencialidades prefetching dos dados a um compilador já capaz de programar do modulo.

 
Web www.patentalert.com

< (none)

< Laser shock peening quality assurance by acoustic analysis

> Uninitialized memory watch

> (none)

~ 00086