Hallo,
Ein neuer Thread wäre nicht schlecht zu dem Thema
Okay, ich bemühe mich das zeitnah zu schaffen, zur Zeit ist das leider nicht einfach bei mir.
Mein Lieblingsbeispiel für Bedenken ist der PIT, weil der Zugriff alleine schon langsam ist ....
Wenn Du denn PIT immer wieder manuell anlaufen lässt dann geht das natürlich nach hinten los. Du brauchst
zwingenst eine gleichmäßige und monotone Zeitquelle (der Counter im HPET ist da genau das richtige) ansonsten kann man damit nichts genaues timen (und die SW-Uhr geht auch noch falsch).
Mit "Read-Ahead" kann ich schon mehr anfangen (und sowas haben wir ja auch in neueren CPUs). Ich weiß nicht, aber reicht nicht der Prefetcher?
Die Prefetcher usw. moderner CPUs funktionieren nur in "richtig" gecacheten Bereichen. Ich hätte aber gerne etwas das Lesebefehle ordentlich beschleunigt und diese Daten trotzdem nicht für unbestimmte (lange) Zeit im normalen Cache landen. Bei Zugriffen auf Memory-Mapped-I/O-Datenbereiche von PCI-Hardware könnte das echt was nutzen. Für den Frame-Buffer gibt es ja extra das Write-Combining aber für Dinge wo gelesen werden soll gibt es leider nichts entsprechendes.
Grüße
Erik