Mein Verständnis ist, dass Hardware Prefetching nie Seitengrenzen überschreiten wird. Ich frage mich, ob ein Software-Prefetch die gleiche Einschränkung hat, d. H. Kann ich einen Software-Prefetch verwenden, um einen zukünftigen TLB-Fehler zu vermeiden. Aus der Suche heraus scheint es möglich zu sein, aber ich konnte nichts definitives in der Dokumentation finden, also wäre ein Hinweis gut.Software Vorabholung über Seitengrenze auf x86
Ich interessiere mich speziell für Nehalem, Sandy Bridge und Westmere.
Update: IvyBridge führt HW-Prefetch über Seitengrenzen hinweg durch. https://stackoverflow.com/a/20758769/224132. Es ist ein neues Feature in IvB, und von anderen Dingen, die ich gelesen habe, denke ich, es ist richtig zu sagen, dass SnB und früher Intel nicht in die nächste Seite einlesen. Spekulative TLB-Ladevorgänge sind jedoch eine Sache, zumindest wenn sie durch spekulative Ausführung eines Lade-/Speicherbefehls ausgelöst werden. –