lshw e lscpu non sono d'accordo sulle cache - che è giusto?


14

Sto cercando di scoprire dettagli specifici sulle cache (in particolare quali cache sono condivise tra core e quali no) e sono inciampate in un'incoerenza.

sudo lshw dice

*-cache:0
     description: L1 cache
     physical id: a
     slot: Internal Cache
     size: 64KiB
     capacity: 64KiB
     capabilities: synchronous internal write-back
*-cache:1
     description: L2 cache
     physical id: b
     slot: External Cache
     size: 8MiB
     capabilities: synchronous internal write-back

ma lscpusostiene

L1d cache:   32K
L1i cache:   32K
L2 cache:   256K
L3 cache:  8192K

Non mi preoccupo troppo dell'aggiunta di istruzioni e cache di dati, ma dove è andato L2?

Osservato su una macchina che esegue Ubuntu 10.10 o per far uname -aparlare:

Linux name 2.6.35-32-generic #66-Ubuntu SMP Mon Feb 13 21:04:32 UTC 2012 x86_64 GNU/Linux

Questa è una domanda generale, ma nota che né le specifiche del produttore più precise che ho trovato né Wikipedia hanno i dettagli necessari.

Domanda bonus non correlata: External Cachesignifica che la cache è condivisa tra i (quattro) core (e Internal Cacheil contrario)?


Due pensieri. Innanzitutto, cosa dice il produttore? Il mio approccio sarebbe probabilmente quello di cercare le specifiche della CPU e quindi provare a ragionare in avanti da lì. In secondo luogo, se è qualcosa che potresti fare, sarei curioso di vedere cosa hai ottenuto se lo avessi provato dopo aver avviato un Live CD / USB per Ubuntu o Fedora più recenti. (Forse è un bug che è già stato risolto? Suppongo che ci siano altri modi per verificare se esiste un bug ed è stato corretto, ma ...)
irrazionale John

@irrationalJohn: buon punto sulle specifiche ufficiali (anche se non correlato alla domanda più generale). Purtroppo, le specifiche non aiutano nemmeno (vedi modifica). Inoltre, non riesco a manomettere la macchina.
Raffaello

Risposte:


3

Grazie per aver aggiunto ulteriori informazioni sul processore alla tua domanda. Aiuta a sapere che gli esempi che hai pubblicato fanno riferimento a un Intel Core i7-920 Processor.

Le informazioni fornite da lscpusono più accurate perché includono tutti e tre i livelli di cache, L1, L2 e L3. Sembra che sia lshwstato solo minimamente modificato per riflettere l'aggiunta di Intel di una cache L3 alle loro CPU. Invece di visualizzare informazioni su tutti e tre i livelli di cache, le informazioni sulla dimensione della cache L3 sono apparentemente riportate come cache L2.

Suppongo che le specifiche che hai esaminato non includessero cache L1 e L2 perché all'interno di una determinata microarchitettura sono tutte uguali. Ad esempio, per Nehalem questo è " 64 KB cache / core L1 (32 KB dati L1 + 32 KB istruzioni L1) e 256 KB cache / core L2 ".

Credo che dare a ciascun core il proprio L1 e L2 con un singolo L3 comune molto più ampio sia stato introdotto per la prima volta come parte della Nehalem (microarchitettura) (nel novembre 2008?).

Non so perché lshwusi il termine External Cacheper fare riferimento a L3. Ma mi sembra fuorviante poiché la cache L3 si trova sulla CPU e non è ciò che considererei esterno . Ancora una volta, sembra di provare a utilizzare un vecchio software per descrivere l'hardware più recente, apportando solo modifiche minime al software.

(Probabilmente si potrebbe imparare di più guardando il vero codice sorgente, ma non ho avuto il tempo di provare a farlo.)

Infine, sì, la cache L3 è condivisa tra i core / thread. La seguente citazione proviene dall'articolo di Wikipedia collegato sopra, "L' hyper-threading viene reintrodotto insieme a una riduzione di L2, che è stata incorporata come cache L3 che è utilizzabile da tutti i core " .


Grazie per l'aiuto riguardo alle specifiche. Tuttavia, dover dare la caccia alle specifiche fa schifo se abbiamo strumenti che fingono di ciò che vogliamo.
Raffaello,

@RI non sapeva che stavi (ancora) cercando qualcosa. Francamente, il problema che di solito ho con Intel è che sono troppe le informazioni fornite. A che tipo di informazioni sei interessato? Guardando a destra nella pagina Intel i7-920 vedrai i collegamenti rapidi . Il collegamento alla scheda tecnica porta a una pagina di documenti tecnici . Ci sono due volumi sui processori i7-900 prima ancora di elencare le specifiche meccaniche e termiche. Lo sviluppatore di software si trova su un'altra pagina. Troppi da elencare.
irrazionale John,

Bene, ho analizzato gli algoritmi paralleli, quindi l'architettura della cache era importante. Fa schifo che gli strumenti GNU / Linux apparentemente non siano (tutti) affidabili. Ad ogni modo, la domanda riguardava più gli strumenti che la macchina specifica su cui stavo lavorando.
Raffaello,

@Raphael Non so davvero perché lshwrestituisca i risultati della cache. Ma forse non volevano cambiare il loro formato di output per timore di poter interrompere uno script che analizzava il loro output. Puoi dipingere te stesso in un angolo troppo facilmente con strumenti software.
irrazionale John,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.