lshw i lscpu nie zgadzają się na pamięć podręczną - co jest słuszne?


14

Próbuję znaleźć szczegółowe informacje na temat pamięci podręcznych (w szczególności, które pamięci podręczne są dzielone między rdzeniami, a które nie są) i natknąłem się na niespójność.

sudo lshw mówi

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

ale lscputwierdzi

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

Nie przejmuję się zbytnio dodawaniem instrukcji i bufora danych, ale gdzie poszło L2?

Obserwowane na komputerze z systemem Ubuntu 10.10 lub uname -amówiąc:

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

To ogólne pytanie, ale zauważ, że ani najbardziej precyzyjna specyfikacja producenta, jaką mogłem znaleźć, ani Wikipedia nie mają niezbędnych szczegółów.

Niespowiązane pytanie bonusowe: czy External Cacheoznacza, że ​​pamięć podręczna jest współdzielona między (czterema) rdzeniami (i Internal Cacheodwrotnie)?


Dwie myśli Po pierwsze, co mówi producent? Moim podejściem byłoby prawdopodobnie sprawdzenie specyfikacji procesora, a następnie próba uzasadnienia. Po drugie, jeśli jest to coś, co możesz zrobić, byłbym ciekawy, co masz, gdybyś spróbował tego po uruchomieniu Live CD / USB dla najnowszej wersji Ubuntu lub Fedory. (Może jest to błąd, który został już naprawiony? Przypuszczam, że istnieją inne sposoby sprawdzenia, czy błąd istnieje i został naprawiony, ale ...)
irracjonalny Jan

@irrationalJohn: Dobra uwaga na temat oficjalnych specyfikacji (choć niezwiązana z bardziej ogólnym pytaniem). Niestety specyfikacje nawet nie pomagają (patrz edycja). Nie mogę też manipulować przy maszynie.
Raphael

Odpowiedzi:


3

Dziękujemy za dodanie dodatkowych informacji o procesorze do pytania. Pomaga wiedzieć, że zamieszczone przykłady odnoszą się do Intel Core i7-920 Processor.

Informacje dostarczone przez lscpusą dokładniejsze, ponieważ obejmują wszystkie trzy poziomy pamięci podręcznej, L1, L2 i L3. Wygląda na to, że lshwzostał jedynie minimalnie zmodyfikowany, aby odzwierciedlić dodanie przez Intel procesora pamięci podręcznej L3. Zamiast wyświetlać informacje o wszystkich trzech poziomach pamięci podręcznej, informacje o wielkości pamięci podręcznej L3 są najwyraźniej zgłaszane jako pamięć podręczna L2.

Zakładam, że specyfikacje, które oglądałeś, nie obejmowały pamięci podręcznej L1 i L2, ponieważ w ramach danej mikroarchitektury wszystkie są takie same. Na przykład dla Nehalem jest to64 KB pamięci podręcznej L1 / rdzeń (32 KB danych L1 + 32 KB instrukcji L1) i 256 KB pamięci podręcznej / rdzenia L2 ”.

Wierzę, że nadanie każdemu rdzeniu własnego L1 i L2 z jednym, znacznie większym wspólnym L3 zostało wprowadzone po raz pierwszy jako część Nehalem (mikroarchitektura) (w listopadzie 2008?).

Nie wiem, dlaczego lshwużywa tego terminu External Cachew odniesieniu do L3. Ale wydaje mi się to mylące, ponieważ pamięć podręczna L3 znajduje się na kości procesora, a nie to, co uważam za zewnętrzne . Znowu wydaje się, że to próba użycia starego oprogramowania do opisania nowego sprzętu, przy minimalnych zmianach w oprogramowaniu.

(Prawdopodobnie więcej można się dowiedzieć patrząc na rzeczywisty kod źródłowy, ale nie miałem czasu, aby to zrobić.)

Wreszcie tak, pamięć podręczna L3 jest współdzielona między rdzeniami / wątkami. Poniższy cytat z artykułu Wikipedia połączone powyżej „ hiperwątkowość jest ponownie wraz ze zmniejszeniem L2, który został włączony jako L3 cache , które nadaje się do użytku przez wszystkie rdzenie .


Dzięki za pomoc dotyczącą specyfikacji. Mimo to, szukanie specyfikacji jest do bani, jeśli mamy narzędzia udające to, czego chcemy.
Raphael

@RI nie wiedział, że (wciąż) szukasz czegoś. Szczerze mówiąc, problem, który zwykle mam z Intelem, polega na tym, że dostarczam zbyt wiele informacji. Jakimi informacjami jesteś zainteresowany? Patrząc w prawo na stronie Intel i7-920 zobaczysz Szybkie linki . Link do arkusza danych prowadzi do strony Dokumenty techniczne . Istnieją dwa tomy procesorów i7-900, zanim jeszcze podają parametry mechaniczne i termiczne. Deweloper oprogramowania obsługuje inną stronę. Zbyt wiele do wymienienia.
irracjonalny Jan

Cóż, porównałem algorytmy równoległe, więc architektura pamięci podręcznej była ważna. Bani, że narzędzia GNU / Linux najwyraźniej nie są (wszystkie) niezawodne. W każdym razie pytanie dotyczyło raczej narzędzi niż konkretnej maszyny, nad którą pracowałem.
Raphael

@Raphael Naprawdę nie wiem, dlaczego lshwzwraca wyniki pamięci podręcznej. Ale być może nie chcieli zmienić formatu wyjściowego z obawy, że mogą zepsuć skrypt analizujący wyniki. Za pomocą narzędzi programowych możesz zbyt łatwo zamalować się w kącie.
irracjonalny Jan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.