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.

Die anwesende Erfindung integriert die Daten, die in eine festlegentechnik des Modulos prefetching sind, um für das Erzeugung des Versammlung Codes zur Verfügung zu stellen Leistung verbessernd. Die Moduloterminplanung kann optimalen Lagecode für viele wichtige Fälle produzieren, indem sie sich genug Anweisungen (Produzenten) definierend vom Verwenden der Anweisungen (Verbraucher) trennt, dadurch esvermeidet esvermeidet Maschine Stallzyklen und gleichzeitig maximiert Prozessoranwendung. Integrierendaten, die innerhalb des festlegenCodes Versammlung hohe Leistung der ergebnisse des Modulos durch das Prefetching Daten vom Gedächtnis beim gleichzeitig Verwenden des Modulos festlegt, um die restlichen Betriebe leistungsfähig festzulegen prefetching sind. Die Erfindung integriert die Daten, die in das Modulo prefetching sind, das indem sie prefetch Einfügung festlegt, hinausschiebt, bis nach Modulo die Terminplanung komplett ist. Tatsächliche Einfügung der prefetch Anweisungen tritt in postpass nach dem Erzeugung des passenden Einleitung-Kern-epilogue Codes auf. Gleichzeitig werden passende Richtlinien eingesetzt, um die Koexistenz der prefetching Anweisungen der Daten innerhalb des Modulo zeitlich geplanten Codes zu ermöglichen. Die anwesende Erfindung vereinfacht auch die Hinzufügung der prefetching Fähigkeiten der Daten zu einem Compiler, der zur Moduloterminplanung bereits fähig ist.

 
Web www.patentalert.com

< (none)

< Method for automating the placement of a repeater device in an optimal location, considering pre-defined blockages, in high frequency very large scale integration/ultra large scale integration (VLSI/ULSI) electronic designs

> Decision feedback equalizers, methods, and computer program products for detecting severe error events and preserving equalizer filter characteristics in response thereto

> (none)

~ 00025