One embodiment of the present invention provides a system that prefetches instructions by using an assist processor to perform prefetch operations in advance of a primary processor. The system operates by executing executable code on the primary processor, and simultaneously executing a reduced version of the executable code on the assist processor. This reduced version of the executable code executes more quickly than the executable code, and performs prefetch operations for the primary processor in advance of when the primary processor requires the instructions. The system also stores the prefetched instructions into a cache that is accessible by the primary processor so that the primary processor is able to access the prefetched instructions without having to retrieve the prefetched instructions from a main memory. In one embodiment of the present invention, prior to executing the executable code, the system compiles source code into executable code for the primary processor. Next, the system profiles the executable code to create instruction traces for frequently referenced portions of the executable code. The system then produces the reduced version of the executable code for the assist processor by producing prefetch instructions to prefetch portions of the instruction traces into a cache that is accessible by the primary processor. The system also inserts communication instructions into the executable code for the primary processor and into the reduced version of the executable code for the assist processor to transfer progress information from the primary processor to the assist processor. This progress information triggers the assist processor to perform the prefetch operations.

Eine Verkörperung der anwesenden Erfindung liefert ein System, das prefetches Anweisungen dieses ist, indem sie einen Vorlage Prozessor verwendet, um prefetch Betriebe im Vorsprung vor einem Primärprozessor durchzuführen. Das System funktioniert, indem es vollziehbaren Code auf dem Primärprozessor durchführt, und gleichzeitig eine verringerte Version des vollziehbaren Codes auf dem Vorlage Prozessor durchführt. Diese verringerte Version des vollziehbaren Codes führt schneller als der vollziehbare Code durch und führt prefetch Betriebe für den Primärprozessor im Vorsprung vor durch, wenn der Primärprozessor die Anweisungen erfordert. Das System speichert auch prefetched Anweisungen in einen Pufferspeicher, der durch den Primärprozessor zugänglich ist, damit der Primärprozessor ist, zugänglich zu machen prefetched Anweisungen, ohne zu müssen, zurückzuholen, prefetched Anweisungen von einem Hauptspeicher. In einer Verkörperung der anwesenden Erfindung, vor der Durchführung des vollziehbaren Codes, kompiliert das System Quellenprogramm in vollziehbaren Code für den Primärprozessor. Zunächst profiliert das System den vollziehbaren Code, um Anweisung Spuren für häufig bezogene Teile des vollziehbaren Codes zu verursachen. Das System produziert dann die verringerte Version des vollziehbaren Codes für den Vorlage Prozessor, indem es prefetch Anweisungen zu den prefetch Teilen der Anweisung Spuren in einen Pufferspeicher produziert, der durch den Primärprozessor zugänglich ist. Das System setzt auch Kommunikation Anweisungen in den vollziehbaren Code für den Primärprozessor und in die verringerte Version des vollziehbaren Codes für den Vorlage Prozessor zu den Übergangsfortschrittinformationen vom Primärprozessor zum Vorlage Prozessor ein. Diese Fortschrittinformationen lösen den Vorlage Prozessor aus, um die prefetch Betriebe durchzuführen.

 
Web www.patentalert.com

< Compliant tissue sealants

< Arrangement and construction of crew protective device for automobile

> Method of forming a hybrid lens

> Method and apparatus for making ceramic cores and other articles

~ 00097