One embodiment of the present invention provides a system that facilitates
speculative load operations in a multiprocessor system. This system
operates by maintaining a record at an L2 cache of speculative load
operations that have returned data values through the L2 cache to
associated L1 caches, wherein a speculative load operation is a load
operation that is speculatively initiated before a preceding load
operation has returned. In response to receiving an invalidation event,
the system invalidates a target line in the L2 cache. The system also
performs a lookup in the record to identify affected L1 caches that are
associated with speculative load operations that may be affected by the
invalidation of the target line in the L2 cache. Next, the system sends
replay commands to the affected L1 caches in order to replay the affected
speculative load operations, so that the affected speculative load
operations take place after invalidation of the target line in the L2
cache.
Één belichaming van de onderhavige uitvinding verstrekt een systeem dat speculatieve ladingsverrichtingen in een multiverwerkersysteem vergemakkelijkt. Dit systeem werkt door een verslag bij een L2 geheim voorgeheugen van speculatieve ladingsverrichtingen te handhaven die gegevenswaarden door het L2 geheime voorgeheugen op bijbehorende L1 geheime voorgeheugens zijn teruggekomen, waarin een speculatieve ladingsverrichting een ladingsverrichting is die speculatief in werking wordt gesteld alvorens een voorafgaande ladingsverrichting is teruggekeerd. In antwoord op het ontvangen van een ongeldigverklaringsgebeurtenis, maakt het systeem een doellijn in het L2 geheime voorgeheugen ongeldig. Het systeem voert ook een raadpleging in het verslag uit om beïnvloede L1 geheime voorgeheugens te identificeren die met speculatieve ladingsverrichtingen worden geassocieerd die door de ongeldigverklaring van de doellijn in het L2 geheime voorgeheugen kunnen worden beïnvloed. Daarna, verzendt het systeem replay bevelen naar de beïnvloede L1 geheime voorgeheugens om de beïnvloede speculatieve ladingsverrichtingen over te spelen, zodat de beïnvloede speculatieve ladingsverrichtingen na ongeldigverklaring van de doellijn in het L2 geheime voorgeheugen plaatsvinden.