lshw і lscpu не згодні в кешах - що правильно?


14

Я намагаюся з’ясувати особливості кеш-пам'ять (зокрема, які кеші поділяються між ядрами, а які ні) і натрапили на невідповідність.

sudo lshw каже

*-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

але lscpuпретензії

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

Я не переживаю над тим, щоб кеш інструкцій та даних додався разом, але куди пішов L2?

Спостерігається на машині під керуванням Ubuntu 10.10 або, якщо uname -aговорити:

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

Це загальне питання, але зауважте, що ні найточніші характеристики виробників, яких я міг знайти, ні Вікіпедія не мають необхідних деталей.

Непов’язане питання про бонус: чи External Cacheозначає кеш спільний між (чотирма) ядрами (і Internal Cacheпротилежними)?


Дві думки. По-перше, що говорить виробник? Мій підхід, ймовірно, полягав би в тому, щоб шукати характеристики процесора, а потім спробувати міркувати звідти. По-друге, якщо це щось, що ви можете зробити, мені буде цікаво подивитися, що ви отримали, якщо ви спробували це після завантаження Live CD / USB для останніх Ubuntu або Fedora. (Можливо, це помилка, яка вже виправлена? Я припускаю, що існують інші способи перевірити, чи існувала помилка та була виправлена, але ...)
нераціональний Джон

@irrationalJohn: Хороший момент щодо офіційних специфікацій (хоча і не пов'язаний із більш загальним питанням). На жаль, характеристики навіть не допомагають (див. Редагування). Крім того, я не можу підробляти машину.
Рафаель

Відповіді:


3

Дякуємо, що додали додаткову інформацію про процесор до свого питання. Це допомагає дізнатися, що опубліковані вами приклади стосуються Intel Core i7-920 Processor.

Інформація, яку надає, lscpuє більш точною, оскільки включає всі три рівні кешу, L1, L2 та L3. Здається, він lshwбув лише мінімально модифікований, щоб відобразити додавання Intel до кешу L3 до своїх процесорів. Замість того, щоб відображати інформацію про всі три рівні кешу, інформація про розмір кешу L3, очевидно, повідомляється як кеш L2.

Я припускаю, що характеристики, які ви подивилися, не включали кеш L1 та L2, тому що в межах даної мікроархітектури вони однакові. Наприклад, для Nehalem це " 64 КБ L1 кеш / ядро ​​(32 КБ L1 дані + Інструкція 32 КБ L1) та 256 КБ кеш-пам'ять L2 / ядро. "

Я вважаю, що надання кожному ядру власних L1 та L2 єдиним, набагато більшим загальним L3 було вперше введено як частину Nehalem (мікроархітектура) (у листопаді 2008 року?).

Я не знаю, чому lshwвикористовується термін External Cacheдля позначення L3. Але це вражає мене як оману, оскільки кеш L3 знаходиться на процесорному процесорі, а не те, що я вважав би зовнішнім . Знову ж таки, це намагається використовувати старе програмне забезпечення для опису більш нової апаратури, вносячи лише мінімальні зміни в програмне забезпечення.

(Напевно, більше можна було б дізнатися, переглянувши власне вихідний код, але я не встиг це зробити.)

Нарешті, так, кеш L3 поділяється між ядрами / потоками. Нижче наводиться цитата зі статті Вікіпедії пов'язана вище, « Гіперпоточность знову вводиться поряд зі зменшенням L2, який включений в якості кеш - пам'яті L3 , яка може використовуватися всіма ядрами . »


Дякуємо за допомогу щодо специфікацій. І все-таки відшукувати технічні характеристики відстійно, якщо у нас є інструменти, які претендують на те, що ми хочемо.
Рафаель

@RI не знав, що ти (ще) щось шукаєш. Відверто кажучи, проблема, яку я зазвичай маю з Intel, полягає в тому, що надається занадто багато інформації. Яка інформація вас цікавить? Поглянувши праворуч на сторінку Intel i7-920, ви побачите швидкі посилання . Посилання з таблицею даних перенесе вас на сторінку технічних документів . На процесорах i7-900 є два томи, перш ніж вони навіть перераховують механічні та теплові характеристики. Розробник програмного забезпечення знаходиться на іншій сторінці. Занадто багато, щоб перелічити.
нераціональний Джон

Ну, я орієнтував паралельні алгоритми, щоб архітектура кешу була важливою. Це гадає, що інструменти GNU / Linux, мабуть, не (усі) надійні. У всякому разі, питання стосувалося більше інструментів, ніж конкретної машини, над якою я працював.
Рафаель

@Raphael Я не знаю, чому lshwповертає результати кешу. Але, можливо, вони не захотіли змінювати вихідний формат із занепокоєння, вони могли б зламати сценарій, який аналізував їх вихід. Ви можете занадто легко намалювати себе в куточку за допомогою програмних засобів.
ірраціональний Джон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.