A mechanism is described that prefetches instructions and data into the cache using a branch instruction as a prefetch trigger. The prefetch is initiated if the predicted execution path after the branch instruction matches the previously seen execution path. This match of the execution paths is determined using a branch history queue that records the branch outcomes (taken/not taken) of the branches in the program. For each branch in this queue, a branch history mask records the outcomes of the next N branches and serves as an encoding of the execution path following the branch instruction. The branch instruction along with the mask is associated with a prefetch address (instruction or data address) and is used for triggering prefetches in the future when the branch is executed again. A mechanism is also described to improve the timeliness of a prefetch by suitably adjusting the value of N after observing the usefulness of the prefetched instructions or data.

Eine Einheit wird beschrieben, die prefetches Anweisungen und Daten in den Pufferspeicher, der einen Verzweigungsbefehl als prefetch verwendet, auslösen. Das prefetch wird eingeleitet, wenn der vorausgesagte Durchführung Weg nach dem Verzweigungsbefehl den vorher gesehenen Durchführung Weg zusammenbringt. Dieses Gleiche der Durchführung Wege wird mit einer Niederlassung Geschichte Warteschlange festgestellt, die die Niederlassung Resultate (taken/not genommen) der Niederlassungen im Programm notiert. Für jede Niederlassung in dieser Warteschlange, notiert eine Niederlassung Geschichte Schablone die Resultate der folgenden N Niederlassungen und dient als kodierung des Durchführung Weges nach dem Verzweigungsbefehl. Der Verzweigungsbefehl zusammen mit der SchabloneIST mit einer prefetch Adresse (Anweisung oder Datenadresse) verbunden und wird für prefetches zukünftig auslösen verwendet, wenn die Niederlassung wieder durchgeführt wird. Eine Einheit wird beschrieben auch, um die Rechtzeitigkeit eines prefetch zu verbessern, indem man passend den Wert von N, nachdem man die Verwendungsfähigkeit von beobachtet hat, prefetched Anweisungen oder Daten justiert.

 
Web www.patentalert.com

< (none)

< Security system for portable computer, and the like

> Method and apparatus for implementing a highly efficient, robust modified files list (MFL) for a storage system volume

> (none)

~ 00070