Geheugenhiërarchie en prestaties
Bij welke toegang is hardware-prefetching bijzonder effectief?
- AEen array met een vaste stap (stride) achtereenvolgens lezen
- BEen gekoppelde lijst element voor element vanaf het begin doorlopen
- CEen hashtabel met willekeurige sleutels raadplegen
Antwoord en toelichting tonen
Antwoord: A. Een array met een vaste stap (stride) achtereenvolgens lezen
Een hardware-prefetcher herkent regelmaat in de adressen van voorgaande toegangen (opeenvolgend of met vaste stap), voorspelt het volgende adres en leest dit vooraf in. Een array met vaste stride lezen is goed te voorspellen en levert een groot effect. Bij een gekoppelde lijst is het adres van het volgende element pas bekend nadat het huidige is gelezen, zodat er geen regelmaat is en voorspellen onmogelijk is. Ook raadplegingen van een hashtabel met willekeurige sleutels hebben geen regelmaat in de adressen, dus is het effect klein.