Chiarimento sull'interazione tra dimensioni della linea della cache e dimensioni di lettura/scrittura

cs.stackexchange https://cs.stackexchange.com/questions/109347

Domanda

Supponi di avere linee di cache con la dimensione di 64 byte e una cache di associazione set o mappata direttamente. Diciamo anche che la dimensione della parola è 8 byte.

Secondo la mia comprensione, utilizziamo un numero di bit più significativi di un indirizzo di memoria per determinare dove nella cache per posizionare i dati. Ho ragione nel credere che, se voglio che i dati di caricamento a partire, ad esempio, indirizzo 30, tutti i dati a partire dall'indirizzo da 0 a 63 verranno caricati in una riga di cache? O verranno caricati tutti i dati dall'indirizzo da 30 a 93?

Se il primo è il caso, presumo che, se un'istruzione per caricare 16 byte dall'indirizzo, diciamo, 60, questo ci costringe a caricare due linee di cache a 64 byte (una riga 0-63 e un'altra 64-127). È corretto o ho frainteso qualcosa? Inoltre, è qualcosa che si verifica spesso o ci sono ragioni per cui non è così?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top