Które procesory obsługują strony 1 GB?

19

Niektóre procesory Intel obsługują strony o pojemności 1 GB. Można to zidentyfikować, patrząc na CPUID 0x80000001, bit EDX 26 . Jądro Linux udostępnia to /proc/cpuinfojako pdpe1gbflagę .

Gdzie dowiadujemy się, które procesory to obsługują, a które nie? Lub która linia produktów obsługuje tę funkcję? Na tych stronach Intel ARK nie ma nic, co wskazuje na obsługę tej funkcji.

Procesory że zrobić wsparcia stron 1GB:

Inne procesory, które nie obsługują stron o pojemności 1 GB:

Jonathon Reinhart
źródło

Odpowiedzi:

4

Według tej strony :

oprócz standardowych stron o wielkości 4 KB nowsze procesory x86-64, takie jak nowsze procesory AMD64 AMD i procesory Intel Westmere i nowsze, mogą używać stron o pojemności 1 GB w trybie długim

Wydaje się, że to prawda, ponieważ była to nowa funkcja procesorów Westmere .

Wiaczesław Rodionow
źródło
5
Tak, zdecydowanie obejrzałem wszystkie strony Wikipedii! Jednak ta odpowiedź jest nieprawidłowa. Sandy Bridge jest nowszy niż Westmere, a teraz mam dwa procesory Sandy Bridge, które go nie obsługują.
Jonathon Reinhart
2
@JonathonReinhart: ogromny minus Hugepages do ogólnego użytku, szczególnie. Strony 1G polegają na tym, że cała strona związana jest z tak dużą ilością pamięci RAM. Jeśli proces alokuje 1GiB normalnie, tylko części, które kiedykolwiek dotknęły, faktycznie zajmują pamięć wirtualną. (overcommit pozwala nawet na przydziały, które jądro nie ma wystarczającej przestrzeni wymiany do obsługi). Linux nie może stronicować stronicowania na dysk, nawet gdy proces jest zatrzymany, więc przydział stronicowania skutecznie blokuje / blokuje tak dużo pamięci fizycznej.
Peter Cordes,
1
Hugepages 2M sensu, gdy nie zostaną pozostawione w połowie pusta (np gdy wiesz na pewno, że zamiar napisać każdą 4k 2M tak), ale brak stronicowania jest wielka sprawa. Projektowanie oprogramowania ogólnego przeznaczenia, aby działało strasznie źle na komputerach z ograniczoną pamięcią, nie jest dobrym pomysłem. Nie sądzę, że można nawet zmapować plik na dysku ze stronami 2M, ale byłby to zły pomysł dla plików wykonywalnych, ponieważ w bloku 2M będzie kilka stron 4k, które nie zostaną dotknięte. Mogą zostać eksmitowani z pamięci podręcznej (zakładając, że zostały wstępnie pobrane), uwalniając pamięć RAM.
Peter Cordes,
1
Biorąc pod uwagę, że obecne procesory mają wielopoziomowe TLB, całkowity czas spędzony na brakach TLB prawdopodobnie nie jest taki zły, prawda? Nie profilowałem dużych rzeczy, takich jak Firefox. Byłbym zainteresowany, aby zobaczyć czytelne podsumowanie tego, ile czasu spędza na brakach TLB, (szczególnie na podchodzeniu do strony), i rzeczach takich jak brak pamięci podręcznej L1 I. Wiem, że mógłbym po prostu perfna to wskazać ... Nawet jeśli chciałbyś użyć stron internetowych 2M dla firefoxa, domyślam się, że wiele jego wewnętrznych danych jest podzielonych na mniejsze części. Byłoby narzutem, aby upewnić się, że zminimalizowałeś zewnętrzne rozdrobnienie przydziałów w buforze strony na stronie.
Peter Cordes,
1
Błędy w TLB są kosztowne w operacjach o wysokim dostępie i dostępie swobodnym, takich jak wiele aplikacji bazodanowych. Ogromne strony mają znaczącą różnicę - ale nawet tam mówią o stronach 2 MB, a nie 1 GB. System operacyjny jest najbardziej prawdopodobnym użytkownikiem stron o pojemności 1 GB dzięki bezpośredniemu mapowaniu całej fizycznej przestrzeni adresowej.
GreenReaper,