Co to jest pamięć podręczna?

click fraud protection

Co to jest pamięć podręczna i dlaczego ją posiadają procesory, procesory graficzne i inne rodzaje procesorów? Oto wszystko, co musisz wiedzieć.

Szybkie linki

  • Pamięć podręczna: niewielka ilość szybkiej pamięci
  • Poziomy pamięci podręcznej i hierarchia pamięci
  • Pamięć podręczna jest konieczna, ale sama w sobie nie poprawia wydajności

Chociaż o pamięci podręcznej nie mówi się tyle, co o rdzeniach, Baran (pamięć o dostępie swobodnym), lub VRAM, prawdopodobnie już o tym słyszałeś, szczególnie ostatnio. AMD z dumą reklamuje wydajność swoich produktów w grach Procesory Ryzen z pamięcią podręczną V-Cache 3D w wyniku użycia pamięci podręcznej, a jednym z największych ulepszeń Intela w procesorach Raptor Lake 13. generacji było dodanie większej ilości pamięci podręcznej.

Ale w jaki sposób pamięć podręczna może poprawić wydajność, gdy mierzy się ją w megabajtach? Nawet najtańsze zestawy pamięci RAM są obecnie wyposażone w 16 GB, więc w jaki sposób dodanie zaledwie kilku dodatkowych megabajtów pamięci podręcznej może mieć tak duży wpływ na wydajność? Cóż, pamięć podręczna nie jest normalnym typem pamięci.

Pamięć podręczna: niewielka ilość szybkiej pamięci

źródło: AMD

Pamięć podręczna to w rzeczywistości całkiem nowe osiągnięcie w procesorach, którego początki sięgają lat 90. XX wieku i zostało wynalezione dzięki pamięci RAM. Pamięć RAM to kluczowy element komputerów, przechowujący znaczną ilość danych, których procesory (takie jak procesory CPU i GPU) zwykle potrzebują dość często. Przez długi czas poprawa wydajności pamięci RAM dotrzymywała kroku poprawie wydajności procesora, ale w latach 90. oczywiste, że pamięć RAM nie będzie w stanie dotrzymać kroku najnowszym procesorom. RAM miał dużą pojemność, ale prędkość transferu była zbyt duża powolny.

Tutaj pojawia się pamięć podręczna. Nie jest tak duża jak pamięć RAM, ani fizycznie, ani pod względem pojemności, ale znajduje się w samym procesorze i może przesyłać dane bardzo szybko i przy bardzo małych opóźnieniach. Dopóki pamięć podręczna przechowuje dane, których faktycznie potrzebuje procesor, może zaoszczędzić czas, ponieważ żądanie pamięci RAM o te same dane jest wielokrotnie wolniejsze. Było to świetne rozwiązanie problemu pamięci RAM i umożliwiło projektantom procesorów dalsze tworzenie szybszych procesorów i Projektanci pamięci RAM, aby stale zwiększać pojemność pamięci RAM, nie martwiąc się o to tak bardzo wydajność. Obecnie pamięć podręczna znajduje się w prawie każdym typie procesora.

Być może zastanawiasz się, dlaczego pamięć podręczna jest tak mała. Cóż, głównie chodzi o przestrzeń i pieniądze. Nawet 32 ​​MB pamięci podręcznej może zająć sporo miejsca na procesorze, a całkowita powierzchnia nowoczesnych chipów jest ograniczona do około 600 mm2, z czego należy korzystać mądrze. Oznacza to, że przeznaczenie większego obszaru na pamięć podręczną może być dość kosztowne ta sytuacja w rzeczywistości się pogarsza, a nie poprawia. Najnowsze procesy produkcyjne skutkują coraz mniejszą poprawą gęstości pamięci podręcznej, a firmie TSMC w ogóle nie udało się zmniejszyć rozmiaru pamięci podręcznej w pierwszej iteracji procesu 3 nm.

Poziomy pamięci podręcznej i hierarchia pamięci

Źródło: Carlos Carvalho

Wynalezienie pamięci podręcznej oznaczało nową warstwę dla wszystkich urządzeń do przechowywania danych w komputerze. Warstwy te tworzą tak zwaną hierarchię pamięci, którą widać na powyższym obrazku i jej szczegóły jaka pamięć jest umieszczana w typowym systemie w procesorze (chociaż inne rodzaje procesorów będą wyglądać bardzo podobny). Obecnie współczesna hierarchia pamięci obejmuje nie tylko pamięć podręczną, pamięć RAM i urządzenia trwałej pamięci masowej, ale także hierarchię pamięci w samej pamięci podręcznej.

Większość procesorów ma różne poziomy pamięci podręcznej do różnych celów. Pierwszy i najmniejszy poziom pamięci podręcznej to L1, w którym przydzielane są indywidualne rdzenie do przetwarzania danych, które są potrzebne natychmiast. Pamięć podręczną L1 często mierzy się w kilobajtach, przy czym najnowsze procesory Ryzen 7000 mają 64 KB pamięci podręcznej L1 na rdzeń. Ponadto nowoczesna pamięć podręczna L1 jest często dalej podzielona na L1I (dla instrukcji) i L1D (dla danych).

Następny w kolejce jest L2, który jest przeznaczony dla grupy rdzeni, a nie pojedynczych. Naturalnie pamięć podręczna L2 jest większa niż pamięć podręczna L1, często o rząd wielkości, ale jest znacznie większa i wymaga obsługi większej liczby rdzeni, co oznacza, że ​​jest wolniejsza i ma większe opóźnienia. Niektóre procesory, w szczególności procesory graficzne i wolniejsze procesory, będą korzystać tylko z pamięci podręcznej L2.

Następnym krokiem jest L3, który jest zwykle używany przez wszystkie rdzenie chipa. Jego rozmiar może wahać się od kilkukrotnie większego niż pamięć podręczna L2 do ponad rząd wielkości większego, w zależności od procesora. Oznacza to, że jest nawet wolniejszy niż pamięć podręczna L2, ale nadal przewyższa pamięć RAM. Ponadto pamięć podręczna L3 często działa również jako „pamięć ofiar”, do której trafiają dane usunięte z pamięci podręcznej L1 i L2. Może zostać dodatkowo usunięty z pamięci podręcznej L3, jeśli nie jest potrzebny. Obecnie pamięć podręczna L3 jest dla AMD szczególnie ważna ze względu na technologię chipletów. Chipy Ryzen 3D V-Cache zawierają 64 MB pamięci podręcznej L3, a kości pamięci podręcznej RX 7000 (lub MCD) zawierają po 16 MB pamięci podręcznej L3.

Najwyższy poziom pamięci podręcznej spotykany w większości procesorów to L4, który często jest tak duży, że faktycznie stanowi pamięć RAM. W rzeczywistości najnowszymi procesorami korzystającymi z pamięci podręcznej L4 są chipy Intel Sapphire Rapids Xeon, które wykorzystują HBM2 jako pamięć podręczną L4 w modelach z najwyższej półki. Z drugiej strony AMD nigdy nie korzystało z pamięci podręcznej L4 i zamiast tego zadowala się powiększeniem pamięci podręcznej L3 do dużych pojemności poprzez dodanie większej liczby procesorów i chipletów V-Cache. Pamięć podręczna L4 zazwyczaj przynosi większe korzyści zintegrowanym procesorom graficznym, ponieważ jest to rozwiązanie wbudowane, które może udostępniać dane pomiędzy procesorem a zintegrowanym procesorem graficznym.

W niektórych chipsetach, głównie mobilnych, istnieje inny typ pamięci podręcznej: pamięć podręczna na poziomie systemu (SLC). Ta pamięć podręczna jest następnie używana w całym chipsecie, takim jak procesor graficzny, NPU i procesor. Pamięć podręczna może zastąpić potrzebę wysyłania żądań do pamięci głównej, więc SLC przynosi korzyści całemu SoC.

Pamięć podręczna jest konieczna, ale sama w sobie nie poprawia wydajności

Pomimo całego szumu wokół najnowszych innowacji w zakresie pamięci podręcznej, nie jest to skuteczny sposób na poprawę wydajności. W końcu pamięć podręczna nie ma możliwości przetwarzania; po prostu przechowuje dane i to wszystko. Chociaż każdy procesor może w pełni skorzystać na posiadaniu większej pamięci podręcznej, dodanie większej ilości pamięci podręcznej niż dokładnie wymagana jest często zbyt kosztowne. Dodanie większej ilości pamięci podręcznej może nawet nie poprawić wydajności w zależności od obciążenia, co stanowi kolejną zachętę, aby nie obciążać procesora zbyt dużą ilością pracy.

Biorąc to pod uwagę, możliwość dodania dużej ilości pamięci podręcznej może być pożądana w niektórych sytuacjach. Procesory z dużą ilością pamięci podręcznej zwykle działają lepiej na przykład w grach. Procesory AMD Ryzen z pamięcią podręczną 3D V-Cache są dość szybkie w grach, mimo że mają niższą częstotliwość niż chipy bez pamięci podręcznej V-Cache, a Procesory Intela 13. generacji są znacznie szybsze niż chipy 12. generacji, a jedynym znaczącym ulepszeniem jest powiększony Pamięć podręczna.

Ostatecznie istnieje pamięć podręczna, dzięki czemu procesory mogą omijać pamięć RAM tak często, jak to możliwe, a wydajność jest tak nieograniczona, jak to tylko możliwe. Projektanci procesorów muszą zrównoważyć pojemność pamięci podręcznej z rozmiarem, a co za tym idzie, kosztem, co staje się coraz trudniejsze wraz z każdą generacją nowych procesów produkcyjnych. Mimo że nowe sposoby dodawania pamięci podręcznej do procesorów są wprowadzane dziesiątki lat po wynalezieniu pamięci podręcznej, trudno sobie wyobrazić, że przeznaczenie tego kluczowego elementu procesorów kiedykolwiek się zmieni.