Obrigado por adicionar as informações extras sobre o processador à sua pergunta. É útil saber que os exemplos que você postou se referem a um Intel Core i7-920 Processor
.
As informações fornecidas por lscpu
são mais precisas porque incluem todos os três níveis de cache, L1, L2 e L3. Parece que lshw
foi apenas modificado minimamente para refletir a adição da Intel de um cache L3 em suas CPUs. Em vez de exibir informações sobre todos os três níveis de caches, as informações sobre o tamanho do cache L3 aparentemente são relatadas como cache L2.
Suponho que as especificações que você examinou não incluam o cache L1 e L2, porque dentro de uma determinada microarquitetura elas são todas iguais. Por exemplo, para Nehalem isto é " 64 KB L1 cache / core (32 KB L1 Data + 32 KB L1 Instruction) e 256 KB L2 cache / core. ".
Eu acredito que dar a cada núcleo seu próprio L1 e L2 com um único L3 comum, muito maior, foi introduzido pela primeira vez como parte da Nehalem (microarquitetura) (em novembro de 2008?).
Eu não sei porque lshw
usa o termo External Cache
para se referir ao L3. Mas parece-me enganoso, uma vez que a cache L3 está na CPU e não o que eu consideraria external . Novamente, parece que estamos tentando usar um software antigo para descrever um hardware mais novo, enquanto fazemos apenas alterações mínimas no software.
(Provavelmente mais poderia ser aprendido olhando para o código-fonte real, mas eu não tive tempo para tentar fazer isso.)
Finalmente, sim, o cache L3 é compartilhado entre os núcleos / threads. A citação a seguir é do artigo da Wikipedia vinculado acima, " Hyper-threading é reintroduzido junto com uma redução em L2, que foi incorporada como L3 Cache que é utilizável por todos os núcleos . "