Zgłoś błąd

X

Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.

Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
.
Załóż konto
EnglishDeutschРусскийFrançaisEspañol中国

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2

Sebastian Oktaba | 07-07-2019 15:01 |

AMD Zen 2 - Charakterystyka architektury

Procesory AMD Ryzen 3000 występujące pod nazwą kodową Matisse, zostały zbudowane według założeń architektury Zen 2, będącej pierwszą solidną ewolucją ponad dwuletniej architektury Zen, wykonaną w litografii 7 nm FinFET w fabrykach TSMC. Przejście na niższy proces technologiczny zaowocowało wymiernymi korzyściami m.in. niższym pobórem energii, większą ilość tranzystorów i wyższym maksymalnym taktowaniem sięgającym 4600 MHz. Zmiany w budowie chipów okazują się poważne m.in. poprawiono sekcję obliczeń stałoprzecinkowych oraz zmiennoprzecinkowych. Reorganizacji doczekała się także fizyczna struktura krzemowych jąder - pojedynczy układ zawierający dotychczas dwa czterordzeniowe moduły CCX z pamięcią podręczną L3, kontrolerem DDR4, PCI-Express, USB 3.0 itp. został rozdzielony.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [11]

Wszystko razem spina Infinity Fabric drugiej generacji, mogąca pochwalić się dwukrotnie szerszą magistralą, przetwarzającą 512 bitów w jednym takcie zegara. Częstotliwość Infinity Fabric odpowiada teraz faktycznemu (1:1) taktowaniu pamięci RAM, zamiast połowie tej wartości, czyli ponownie mamy do czynienia z dwukrotnym wzrostem. Opcjonalny dzielnik umożliwia ustawienie relacji 2:1, aby uzyskać bardzo wysokie taktowania RAM sięgające nawet 5000 MHz, bowiem przy standardowych ustawieniach AMD określa granicę stabilności na 3733-3800 MHz. Najważniejszą informacją jest jednak około 15% wzrost IPC, czyli wydajności jednowątkowej, będącej dotychczas dużym problemem w architekturach AMD. Jak tego dokonano?

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [3]

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [4]

Pojedynczy CCD (Core Chiplet Die) otrzymał dwa moduły CCX po cztery rdzenie oraz 16 MB Cache L3, mieszcząc jeszcze SMU (System Management Unit) oraz wysokowydajne łącze komunikacyjne. Drugiemu krzemowemu rdzeniowi (cIOD) przypadły wszystkie kontrolery łącznie z kontrolerem pamięci DDR4-3200, PCI-Express 4.0, PSP, generatorem sygnałów zegarowych itp. AMD dzięki takiemu zabiegowi (separacji chipletów) może równolegle korzystać z dwóch litografii, wytwarzając moduły z rdzeniami x86 w procesie 7 nm, natomiast kontrolery I/O zamawiać w 12 nm. Powinno to znacznie poprawić uzysk krzemowych rdzeni i zmniejszyć koszty produkcji jednostek, zwłaszcza tych tańszych, dzięki możliwość redukcji liczby chipletów.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [5]

Jednostka zmiennoprzecinkowa ma niezmiennie czteropotokową budowę, niemniej każda jest 256-bitowa (wcześniej 128-bitowe). Operacje mnożenia wykonywane będą teraz w trakcie 3 zamiast 4 cykli zegara. Poczynione zmiany znajdą bezpośrednie przełożenie na wydajność przy obrabianiu 256-bitowych instrukcji (AVX2), jak również tych starszych (AVX i SSE). Architektura Zen 2 przeszła także szereg zmian wewnętrznych, zwłaszcza bufory pamięci podręcznej (m.in. L1 powiększono kolejkę zapisu 44 → 48 pozycji), które rozszerzono bądź całkowicie przemodelowano jak algorytm TLB dla pamięci L2. Sekcja stałoprzecinkowa otrzymała dodatkową jednostkę wykonawczą (7 zamiast 6) oraz kolejną (3) jednostkę generowania adresów (AGU). Każda jednostka wykonawcza w architekturze Zen kolejkowała 14 mikrooperacji, zaś sukcesorowi limit zwiększono do 16 mikrooperacji (przed ALU) oraz 28 mikrooperacji (przed AGU) dzięki zespoleniu dwóch schedulerów.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [6]

Zen 2 przetwarza maksymalnie 32 bajty kodu w cyklu zegara, podczas gdy faktyczna wartość dla poprzednika wynosiła 16 bajtów (teoretyczna 32, ale w praktyce nie była wykorzystywana). Solidnej optymalizacji doczekał się system przewidywania rozgałęzień i system przewidywania skoków, oparty na pojedynczym perceptronie będącym najprostszą odmianą sieci neuronowej wykorzystywanej w zakresie uczenia maszynowego (machine learning), wspomagany układem dedykowanym do przechowywania historii już wykonanych skoków (Tagged Geometric History Length Branch Predictor). Pierwszy jest najbardziej efektywny w przypadku krótkich operacji, drugi zdecydowanie lepiej spisuje się w realizacji dłuższych sekwencji.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [7]

Procesorom bazującym na architekturze Zen 2 powiększono bufory predykcyjne rozgałęzień (BTB) przeznaczone dla instrukcji przechowywanych w pamięci podręcznej L1 i L2, jak również zwiększono podstawową pamięć L1, której struktura jest teraz 8-kanałowa zamiast 4-kanałowej. Efektywność rekompensuje mniejszą pojemność (64 → 32 KB), natomiast zwolnione miejsce przeznaczono na dwukrotne powiększenie pamięci L0. Dodatkowa przestrzeń zarezerwowana dla makrooperacji (2048 → 4096) przyspieszyła ich przetwarzanie dwukrotnie, jednocześnie ograniczając ich ilość. Korzyść z tego zabiegu jest następująca - jeżeli dekoder rozkazów znajdzie w pamięci gotową instrukcję, może zostać wyłączony dla poprawy efektywności energetycznej.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [8]

Reszta pozostała z grubsza po staremu - w jednym cyklu zegara przesyłane jest maksymalnie 10 mikooperacji - 6 trafia do jednostek stałoprzecinkowych, a kolejne 4 do zmiennoprzecinkowych. Dekoder rozkazów nadal jest czterokanałowy, jednak zwiększono jego przepustowość oraz dodano funkcję konsolidowania, potrafiącą połączyć osiem instrukcji x86 w jedna paczkę. Zmianie podlega także wykonywanie instrukcji AVX2, przetwarzanych w jednym takcie zegara za pomocą pojedynczej jednostki dekodującej. Scheduler w Zen 2 równolegle obsługuje dwa wątki SMT również dla informacji pochodzących z sekcji stałoprzecinkowej, a dodatkowo reorder buffer odpowiedzialny za kolejkowanie instrukcji zwiększono z wartości 192 do 224.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [9]

Rozmiar pamięci Cache L2 dla każdego rdzenia pozostał bez zmian, natomiast ilość współdzielonej pamięci Cache L3 przydzielonej do bloków CCX podwojono - cztery rdzenie dysponują teraz 16 zamiast 8 MB. Niestety, zwiększenie pojemności Cache L3 zaowocowało też zwiększeniem czasu dostępu względem poprzednika. Warto jeszcze zauważyć, że rzeczywista pojemność wykorzystywanej Cache L3 jest nie dwukrotna lecz w zasadzie trzykrotnie większa, ponieważ wcześniej połowę wykorzystywano na przetrzymywanie w Cache L3 danych z pamięci Cache L2 (4 MB), a teraz będzie jej odpowiednio więcej (12 zamiast 4 MB na każdy CCX).

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [10]

Określenie GameCache jakie można gdzieniegdzie spotkać dotyczy zsumowanej pamięci Cache L2 i Cache L3, celowo odnosząc do gier, ponieważ to właśnie w nich odgrywa bardzo istotną rolę. Znacznie zwiększenie jej rozmiaru powinno zniwelować wyższe opóźnienia. Efektywność podsystemu pamięci podręcznej zwiększają także nowe mechanizmy wymiany danych, odpowiadające funkcjom stosowanym w serwerowych procesorach Intel Xeon. Wprowadzono również dwie dodatkowe instrukcje (CLWB i WBNOINVD) umożliwiające zarządzanie danymi wymienianymi między pamięci podręczną i operacyjną.

Test procesora AMD Ryzen 7 3700X - Premiera architektury Zen 2 [13]

318
Zgłoś błąd
Sebastian Oktaba
Liczba komentarzy: 826

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.