La maggior parte dei linguaggi moderni fa un uso pesante di puntatori / riferimenti: un tipico linguaggio OOP usa le ricerche VMT, un tipico linguaggio funzionale crea strutture di dati chiave fuori dai puntatori, ecc. Anche il tipico codice C spesso mette in mostra cose come foo->bar->baz
.
È noto che il dereferenziamento di un puntatore è cache-unfriendly , a meno che il puntatore non sia puntato molto vicino ad alcuni posizione appena raggiunta e raggiunge la stessa riga della cache.
C'è o c'è stato hardware che tenta di risolvere questo problema? Al momento non è molto diffuso; perché?
Il colpire la cache L1 o L2 è molto più veloce che colpire la RAM sull'hardware corrente che l'obiettivo di rendere il dereferenziamento dei puntatori raccolga alcuni dei vantaggi di memorizzazione nella cache sembra degno.