Mikroarchitektura i wydajność procesora: poza GHz

Ostatnia aktualizacja: 23 marca 2026
  • Mikroarchitektura definiuje sposób, w jaki procesor implementuje ISA, i determinuje jego IPC, wewnętrzny paralelizm i rzeczywistą wydajność, wykraczając poza częstotliwość i rozmiar pamięci podręcznej.
  • Projekty takie jak AMD Zen i Zen 2 łączą zoptymalizowaną pamięć podręczną, wykonywanie poza kolejnością, SMT i duże jednostki wektorowe, co pozwala zwiększyć wydajność na cykl i na wat.
  • Strategia oparta na chipletach i Infinity Fabric umożliwia skalowanie liczby rdzeni w procesorach EPYC i Ryzen przy jednoczesnym zachowaniu kontrolowanych kosztów i bardzo konkurencyjnej wydajności.

Mikroarchitektura i wydajność procesora

La Mikroarchitektura procesora Często jest to wartość drugorzędna w porównaniu z bardziej rzucającymi się w oczy liczbami, takimi jak GHz czy MB pamięci podręcznej, ale to właśnie tam, w wewnętrznej konstrukcji procesora, decyduje się o jego rzeczywistej wydajności, efektywności, a nawet o tym, jaki typ oprogramowania najlepiej ją wykorzysta.

Kiedy czytasz specyfikacje techniczne, które mówią o rdzenie, wątki, pamięć podręczna L3 lub AVX2To, co naprawdę widzisz, to konkretne konsekwencje konkretnej mikroarchitektury. Zrozumienie, jak te elementy są zorganizowane wewnętrznie, czym różni się Zen 3 od Zen 2 lub hybrydowy Intel od klasycznego Ryzena, jest kluczem do mądrego wyboru kolejnego procesora i zrozumienia, dlaczego niektóre sprawdzają się w grach, inne w renderowaniu, a jeszcze inne w zadaniach serwerowych.

ISA, makroarchitektura i mikroarchitektura: porządkowanie pojęć

Zanim zagłębimy się w zawiłości potoków i predyktorów, warto rozróżnić trzy poziomy, które często są mylone: makroarchitektura systemów, ISA i mikroarchitekturaKażdy z nich opisuje inną warstwę komputera.

Po jednej stronie jest makroarchitektura lub projektowanie systemów globalnychObejmuje to wszystko, co widzisz na płycie głównej: procesor, kontrolery pamięci, magistrale, pamięć główną, układy wejścia/wyjścia, kontrolery pamięci masowej, wszelkie zewnętrzne akceleratory i logikę DMA. To ogólny obraz tego, jak łączą się duże komponenty sprzętowe i jak przepływa między nimi dane.

Powyżej jest ISA (architektura zestawu instrukcji)który jest zestawem instrukcji, który procesor rozumie: typy danych, które obsługuje, rozmiar słowa, liczba i typ rejestrów, tryby adresowania, formaty instrukcji itp. Podczas programowania w języku asemblera za pomocą mnemoników, takich jak DODAJ, PODPISZ, MNOŻ Albo gdy wywołujesz rozszerzenia takie jak SSE, AVX lub NEON, komunikujesz się bezpośrednio z ISA.

I na koniec mamy mikrokod lub μISADefiniuje wewnętrzne mikrooperacje, za pomocą których niektóre złożone architektury (takie jak x86) implementują instrukcje CISC. Ten mikrokod można aktualizować za pomocą oprogramowania układowego w celu poprawienia błędów lub dodania obsługi nowych instrukcji.

Czym właściwie jest mikroarchitektura procesora?

La Mikroarchitektura procesora W istocie to płaszczyzna wewnętrzna decyduje o sposobie wykonywania instrukcji ISA i przepływie danych w układzie. Dwa procesory mogą współdzielić ISA (na przykład AMD64 w procesorach Intel i AMD), a mimo to charakteryzować się radykalnie odmiennym zachowaniem i wydajnością ze względu na – lub dzięki – swoją mikroarchitekturę.

Projekt ten obejmuje takie elementy jak rodzaj Jednostka sterującaCzy używany jest programowalny mikrokod czy sztywna logika, hierarchia pamięci, głębokość potoku, liczba jednostek funkcyjnych pracujących równolegle lub to, czy procesor jest w stanie wykonywać instrukcje nie w porządku i w sposób spekulatywny.

Ponadto projektant musi wybrać głębokość rurociąguOd prostych procesorów bez przetwarzania potokowego, gdzie każda instrukcja jest przetwarzana od początku do końca przed rozpoczęciem następnej, aż po nowoczesne projekty z wieloma etapami (pobieranie, dekodowanie, zmiana nazwy, wysyłanie, wykonywanie, zapis zwrotny, wycofywanie...), które pozwalają na jednoczesne wykonywanie dziesiątek instrukcji.

Z tym wiąże się liczba i rodzaj jednostki egzekucyjneJednostki ALU do obliczeń liczb całkowitych, jednostki mnożenia, dzielniki, jednostki FPU do obliczeń zmiennoprzecinkowych skalarnych i wektorowych, jednostki AGU (Address Generation Units) do obliczania adresów pamięci, jednostki skoku itd. Jeżeli istnieje kilka jednostek tego samego typu, mówimy o procesorach superskalarnych, zdolnych do wysyłania wielu instrukcji na cykl.

Na tym fundamencie opierają się zaawansowane techniki, takie jak: wykonanie spekulacyjneW tym scenariuszu procesor przewiduje rozwiązanie gałęzi i wykonuje instrukcje z jednej z gałęzi z wyprzedzeniem. Jeśli przewidywanie jest prawidłowe, oszczędza się czas; jeśli nie, wykonana praca zostaje odrzucona, a potok opróżniony, co skutkuje karą.

Większość obecnych wydajnych procesorów wykorzystuje również wykonywanie poza kolejnością (OoO)Zamiast ściśle przestrzegać kolejności programu, procesor wewnętrznie zmienia kolejność instrukcji i wykonuje w pierwszej kolejności te, których dane są już gotowe, unikając w ten sposób martwych cykli, podczas gdy inne instrukcje czekają na pamięć lub wynik poprzednich operacji.

Aby to wszystko działało bez naruszania semantyki programu, uciekamy się do rekordowa sławaKompilator widzi ograniczony zestaw rejestrów logicznych, ale mikroarchitektura przekształca je w większy bank rejestrów fizycznych, dynamicznie przypisując nowe miejsca docelowe w celu wyeliminowania fałszywych zależności i umożliwienia większego paralelizmu.

Na koniec projekt może zdecydować się na dodanie paralelizm na poziomie rdzenia i wątkówDotyczy to wszystkiego, od procesorów jednordzeniowych po układy z dziesiątkami lub setkami rdzeni (wielordzeniowe). systemy wieloprocesorowe z kilkoma gniazdami połączonymi ze sobą za pomocą szybkich siatek (Infinity Fabric, Intel Mesh, NVLink itp.) i obsługą jednoczesnego przetwarzania wielowątkowego (SMT), dzięki czemu każdy rdzeń fizyczny może obsługiwać dwa lub więcej wątków logicznych.

Zgodność, ISA i rodziny mikroarchitektur

Ponieważ mikroarchitektura jest tylko jedną konkretna implementacja ISAPojedyncza architektura ISA może mieć dziesiątki różnych mikroarchitektur na przestrzeni lat i u różnych producentów. Dokładnie tak jest w przypadku x86-64/AMD64 czy ARM.

Jeśli przyjrzymy się tylko AMD w ramach ISA AMD64, znajdziemy rodziny tak różnorodne jak K8/Młot, K10, Buldożer i cała saga Zen (Zen, Zen+, Zen 2, Zen 3, Zen 4…). Wszystkie wykonują ten sam podstawowy zestaw instrukcji, ale ich wewnętrzna organizacja, pamięci podręczne, potok czy podejście do wykonywania równoległego są zupełnie inne.

  Czym jest chipset komputerowy i dlaczego wpływa na wydajność?

Kiedy zmieniamy ISA, skok w kompatybilności jest absolutny. Procesor oparty na ARM A64 (jak Apple Silicon) nie mogą uruchamiać plików binarnych skompilowanych dla architektury x86-64 i odwrotnie, chyba że interweniuje warstwa translacji lub emulacji, np. Rosetta 2, QEMU lub podobna, co wiąże się z odpowiednim obciążeniem wydajności.

Nawet jeśli procesory współdzielą interfejs ISA, nie ma gwarancji, że wszystkie będą go obsługiwać. ten sam zestaw instrukcji lub rozszerzeń. Starszy układ może nie obsługiwać AVX2 lub AVX-512, a układ SoC ARM może implementować tylko podzbiór opcjonalnych rozszerzeń. W związku z tym plik binarny, który w dużym stopniu opiera się na AVX-512, może nie uruchomić się na procesorze obsługującym tylko SSE4.

Podczas kompilacji oprogramowania często generuje się pliki binarne generyczne dla konkretnego ISA (na przykład x86-64 z co najmniej SSE2) bez pełnego wykorzystania mikroarchitektury, tak aby plik wykonywalny działał na jak największej liczbie procesorów. Jednakże, jeśli zostanie skompilowany z dostrajanie flag dla konkretnej mikroarchitektury (-march=znver3, -mtune=skylake itd.) Można uzyskać o wiele większą wydajność z tej konkretnej rodziny, ale kosztem utraty kompatybilności z innymi.

Licencje ISA i własność intelektualna projektu

Kod programu jest nie tylko chroniony licencjami: ISA i mikroarchitektury Stanowią one również własność intelektualną. Nikt nie może legalnie klonować ISA x86 lub AMD64 bez licencji, tak jak nie można kopiować zastrzeżonego projektu procesora bez zezwolenia.

W obszarze ISA istnieją trzy główne podejścia. Z jednej strony są to: Zamknięte ISAgdzie właściciel ściśle kontroluje, kto może wdrażać kompatybilne rdzenie. Klasycznym przykładem jest IA-32 (x86-32), historycznie należący do Intela, który udzielił licencji AMD, VIA i innym, nie bez batalii prawnych.

Coś podobnego dzieje się z AMD64/x86-64Początkowo zaprojektowany przez AMD, a później licencjonowany przez firmę Intel (która nazwała go EM64T) w ramach umów wzajemnych. Inni gracze, tacy jak Hygon w Chinach, również uzyskali licencje na konkretne wersje (na przykład Zen 1 na rynek chiński).

Następnie mamy ISA z elastyczne licencjonowaniegdzie właściciel oferuje zarówno licencje ISA, jak i gotowe do integracji rdzenie IP. ARM, SPARC lub OpenPOWER pasują tutaj: możesz zapłacić za korzystanie z Cortex A/M/R lub Neoverse w obecnej formie, albo za licencję, która pozwala na projektowanie własnych mikroarchitektur na bazie ISA, tak jak Apple robi to ze swoimi M1/M2/M3, a Qualcomm ze swoim Kryo.

I na koniec są Otwarte ISA w stylu open-source, gdzie każdy może tworzyć kompatybilne mikroarchitektury bez płacenia tantiem za ISA (choć może opatentować lub zamknąć własną implementację). RISC-V jest najlepszym przykładem: ISA jest objęta liberalną licencją BSD i oferuje wszystko, od całkowicie otwartych jąder w Verilog lub Chisel po zamknięte projekty komercyjne.

Oprócz ISA, każdy mikroarchitektura betonowa (Rdzeń Zen 4, Cortex X4, projekt GPU itp.) to blok opatentowanej lub zarejestrowanej własności intelektualnej. Otwarte projekty, opublikowane jako miękkie rdzenie w HDL, które mają być syntezowane w układach FPGA lub integrowane z niestandardowymi układami SoC.

Zagłębiając się w nowoczesne mikroarchitektury: przypadek AMD Zen

Aby zobaczyć, jak to wszystko przekłada się na wydajność w warunkach rzeczywistych, nie ma nic lepszego niż rozłożenie na czynniki pierwsze konkretnej rodziny produktów. AMD radykalnie przekształciło swoją działalność dzięki Zen i jego kolejne iteracje, przechodząc od skomplikowanego etapu Bulldozer i starego FX do bezpośredniej rywalizacji (a czasami lepszej) z Intelem na rynku komputerów stacjonarnych, serwerów i laptopów.

Po potknięciu strategicznym Fuzja AMDFirma przeprowadziła restrukturyzację i wybrała wysokowydajną konstrukcję, której przewodził między innymi Jim Keller. Plan Zen miał na celu agresywne zwiększenie IPC (liczby instrukcji na cykl) w porównaniu z Bulldozerem, poprawę wydajności na wat i odzyskanie przewagi w wydajności pojedynczego rdzenia, gdzie Intel od lat był liderem.

Jedną z kluczowych zmian było wzmocnienie front-end, część odpowiedzialna za dostarczanie i przygotowywanie instrukcji. Zen wprowadził pamięć podręczna mikrooperacji który przechowuje wstępnie zdekodowane mikrooperacje, podobnie jak niektóre mikroarchitektury Intela, takie jak Conroe, w swoich czasach. W Bulldozerze brakowało tego i bardziej opierał się na klasycznej hierarchii pamięci podręcznej instrukcji, co obniżało jego przepustowość.

Dekoder Zen może tłumaczyć do czterech instrukcji CISC x86-64 na cykl do mikrooperacji typu RISC. Te mikrooperacje są następnie umieszczane w kolejce obsługiwanej przez bufor mikrooperacji, który z kolei może wysłać do sześciu mikrooperacji na cykl do planistów zaplecza. Tam rozpoczyna się wykonywanie poza kolejnością.

AMD wyraźnie oddzieliło ścieżkę liczby całkowite i zmiennoprzecinkowePo stronie liczb całkowitych kolejka mikrooperacji przekazuje dane do jednostek ALU, AGU i logiki ładowania/zapisywania, która jest w stanie wykonać dwa ładowania 16-bajtowe i jedno przechowywanie 16-bajtowe z 32-kilobitowego układu L1D o 8 wejściach i z polityką zapisu zwrotnego.

Strona zmiennoprzecinkowe i wektorowe Zasila jednostki FMAC i AVX. Dzięki dwóm portom mnożnika i dwóm portom dodawania, Zen może jednocześnie wykonywać dwie 128-bitowe operacje FMA lub jedną 256-bitową operację AVX w jednym cyklu zegara. Ten paralelizm na poziomie instrukcji jest jednym z kluczy do wysokiej wydajności w przypadku obciążeń wymagających dużej mocy obliczeniowej.

Hierarchia pamięci podręcznej, TLB i organizacja pamięci w Zen

Hierarchia pamięci w Zen podzielona jest na trzy poziomy pamięci podręcznej: L1 oddzielny dla instrukcji i danych, L2 prywatny dla każdego rdzenia i L3 współdzielonyMimo że dziedziczy podstawową strukturę poprzednich mikroarchitektur, rozmiary, asocjatywność i zasady zostały zmodyfikowane.

  Wolny dysk SSD w systemie Windows 11: przyczyny, testy i skuteczne rozwiązania

La L1I Pamięć podręczna instrukcji oferuje 64 KB na rdzeń z 4 ścieżkami asocjacyjnymi, co podwaja liczbę ścieżek na moduł w Bulldozerze i zmniejsza konflikty. L1D (pamięć podręczna danych) osiąga 32 KB, 8-kierunkową obsługę i politykę zapisu zwrotnego, w porównaniu do 16 KB, 4-kierunkowej obsługi i polityki zapisu przelotowego w systemie Bulldozer, co znacznie zwiększa zarówno wskaźnik trafień, jak i wydajność zapisu.

Pamięć podręczna L2 Zastosowano architekturę 512 KB na rdzeń i 8-wątkową, zamiast 2 MB współdzielonych na moduł 16-wątkowych modułów poprzedniej generacji. L3Oferuje on z kolei kilka MB na rdzeń z 16 ścieżkami asocjacyjnymi, pełniąc funkcję ostatniego współdzielonego poziomu przed przejściem do pamięci DRAM.

Równocześnie Zen rozdziela TLB na ITLB (dla instrukcji) i DTLB (dla danych)Każdy z wieloma poziomami i setkami wpisów, wszystkie z ochroną parzystości. To znacznie zmniejsza opóźnienie translacji adresów wirtualnych na fizyczne, które staje się coraz bardziej krytyczne wraz ze wzrostem rozmiarów pamięci.

Kiedy mówimy o pamięci podręcznej, 2-drożny, 4-drożny, 8-drożnyOpisano jego asocjatywność, która jest ściśle związana z ideą przeplotu w pamięci. Większa asocjatywność oznacza więcej różnych sposobów przechowywania bloku pamięci w tej pamięci podręcznej, co zmniejsza liczbę konfliktów, w zamian za nieco bardziej złożoną logikę i nieznaczne zwiększenie opóźnień.

Ważne jest również zrozumienie różnicy pomiędzy zapis przelotowy i zapis zwrotnyW pierwszym przypadku każdy zapis aktualizuje jednocześnie pamięć podręczną i pamięć główną, co upraszcza spójność Ale to zwielokrotnia ruch. W drugim przypadku zapisywana jest tylko pamięć podręczna, a linia jest oznaczana brudnym bitem; pamięć DRAM jest aktualizowana tylko po usunięciu danych z tej linii, co oszczędza przepustowość i poprawia wydajność kosztem nieco bardziej skomplikowanej logiki.

Zen i Zen+: skok w CPI i wydajności

Zen był skokiem naprzód dla AMD Wskaźnik CPI bardzo wyraźnie porównywany do wskaźnika Bulldozerdzięki połączeniu lepszego front-endu, lepszego predyktora rozgałęzień, większej liczby jednostek wykonawczych, SMT zamiast CMT (każdy pełny rdzeń obsługuje dwa wątki, zamiast dzielić część FPU pomiędzy dwa logiczne rdzenie) i znacznie rozsądniejszej hierarchii pamięci podręcznej.

Oprócz projektu, AMD skorzystało z bardziej zaawansowanych procesów produkcyjnych, FinFET i mniejsze węzłyktóre umożliwiają zwiększenie gęstości tranzystorów, zmniejszenie zużycia energii przy tej samej wydajności lub wyższe częstotliwości przy zachowaniu rozsądnych wartości TDP (krzywa napięcie-częstotliwośćTa równowaga między wydajnością a mocą pobieraną przez firmę miała kluczowe znaczenie dla ponownego osiągnięcia konkurencyjności na rynku laptopów i serwerów.

Przejście z Buldożer do Zen Przyniosło to również dłuższe kolejki wycofywania, większe harmonogramy instrukcji, większą przepustowość wewnętrzną, przewidywanie rozgałęzień za pomocą technik opartych nawet na prostych sieciach neuronowych oraz SMT zdolny do lepszego wykorzystania dostępnych jednostek wykonawczych.

W tym kontekście wydaje się, Zen +Można to postrzegać jako odpowiednik „tykania” w starej strategii Intela Tick-Tock: ta sama podstawowa konstrukcja co w Zen, ale wyprodukowana na bardziej dopracowanym węźle, z poprawą częstotliwości, niewielką redukcją opóźnień i wewnętrznymi korektami taktowania. Nie jest to rewolucja architektoniczna, a raczej udoskonalenie, które przekłada się na kilka dodatkowych punktów wydajności.

Zen 2: chiplety, pełna wersja AVX2 i głębokie udoskonalenie

z Zen 2AMD nie ogranicza się już tylko do udoskonalania procesu: wprowadza znaczące zmiany w mikroarchitekturze i masowo wdraża swoją strategię chipletyZamiast jednego dużego monolitycznego układu scalonego, podzielono konstrukcję na kilka mniejszych 7-nm układów obliczeniowych (CCD) oraz oddzielny 12-nm układ wejścia/wyjścia odpowiadający za pamięć, PCIe i połączenia.

To podejście oparte na chipletach poprawia wydajność na opłatek (Łatwiej jest produkować małe, bezbłędne struktury), obniża to koszty i ułatwia skalowanie liczby rdzeni: wystarczy dodać więcej matryc CCD, aby osiągnąć 16, 32 lub więcej rdzeni w procesorach EPYC i Threadripper. Ceną jest nieco bardziej złożona komunikacja wewnętrzna, zależna od połączenia Infinity Fabric, które AMD udoskonala z generacji na generację.

Jeśli chodzi o wydajność, AMD mówi o około jednym dla Zen 2 +15% CPI w porównaniu do Zen+ przy tej samej częstotliwości i ogólnej poprawie wydajności na wat, która może wynieść około 75% w porównaniu z pierwszym modelem Zen, gdy połączy się udoskonalenia konstrukcyjne i procesowe.

W zapleczu wektorowym Zen 2 wykonuje brakujący krok: oferuje pełna obsługa 256-bitowego AVX2 w jednym mikroprocesorzebez dzielenia instrukcji na dwie 128-bitowe operacje, jak miało to miejsce w Zen/Zen+. Oznacza to, że wektorowe jednostki wykonawcze są teraz prawdziwie 256-bitowe i mogą przetwarzać obciążenia AVX2 z pełną prędkością, przy znacznie mniejszym obciążeniu częstotliwością niż w innych projektach.

Wzmocniona zostanie również pamięć podręczna mikrooperacji, która jest teraz Wpisy 4K (podwójnie), wykorzystując część obszaru zwolnionego przez zmniejszenie o połowę L1I, ale podwajając jego asocjatywność z 4 do 8. Wewnętrzne symulacje doprowadziły AMD do wniosku, że w przypadku większości rzeczywistych obciążeń bardziej opłacalne jest posiadanie większej pamięci podręcznej UOP niż większej L1I.

L3 na blok rdzeniowy to podwaja pojemnośćPomaga to zmniejszyć liczbę awarii ostatniego poziomu, chociaż opóźnienie dostępu wzrasta z około 35 do 40 cykli. Aby złagodzić ten efekt, Zen 2 zwiększa przepustowość wysyłania i przechowywania danych oraz udoskonala politykę wstępnego pobierania.

  SSD kontra NVMe: rzeczywiste różnice, zalety i kiedy wybrać

Kolejnym ważnym aspektem jest predyktor skoków. Zen 2 wykorzystuje Predyktor TAGE (TAG GEometric) z ponad 7 tys. wpisów, umożliwiający wykorzystanie historii o zmiennej długości i wpisów oznaczonych. Zmniejsza to aliasing między różnymi gałęziami i, według AMD, zmniejsza liczbę błędnych predykcji o około 30% w porównaniu z poprzednim schematem, co bezpośrednio przekłada się na mniejszą liczbę przepłukiwań potoku i wyższy wskaźnik IPC.

Zaplecze Zen 2: AGU, bufory i dostosowane opóźnienia

W całym zapleczu Zen 2 nadal zapewnia do sześciu mikrooperacji na cykl z bufora reorderingu, który został rozszerzony do około 224 wpisów (w porównaniu do 192 w Zen). Jednostki programujące są podzielone na cztery kolejki dla jednostek ALU po 16 wpisów każda i jedną kolejkę dla jednostek AGU po 28 wpisów.

Liczba AGU (jednostki generowania adresów) Rozkład ten waha się od dwóch do trzech, choć nie wszystkie są identyczne: dwa z nich mogą obsługiwać zarówno ładowanie, jak i zapis, a trzeci specjalizuje się w operacjach na pamięci masowej. Ten rozkład jest dostosowany do typowych profili oprogramowania, w których ładowanie jest zazwyczaj częstsze i bardziej krytyczne niż operacje na pamięci masowej.

W płaszczyźnie zmiennoprzecinkowej, back-end może akceptować cztery mikrooperacje na cykl do 256-bitowych jednostek wektorowych FMA, obsługiwanych przez 160-wpisowy plik rejestrów fizycznych. 256-bitowe ścieżki ładowania/zapisywania zostały ulepszone, aby zapewnić tym jednostkom stałą wydajność przy dużych obciążeniach wektorowych.

Zen 2 dostosowuje również opóźnienia niektórych operacjiNa przykład mnożenie zmiennoprzecinkowe zmniejsza opóźnienie z 4 do 3 cykli, co pomaga w przypadku bardzo zwartych pętli obliczeń numerycznych. Ogólnie rzecz biorąc, istnieje zestaw drobnych optymalizacji rozproszonych w całym potoku, które sumują się do dodatkowego IPC widocznego w testach syntetycznych i rzeczywistych zastosowaniach.

W odniesieniu do wewnętrznej hierarchii według grup głównych AMD stosuje koncepcję CCX (Kompleks Rdzenia)Blok 4 rdzeni współdzielących tę samą pamięć podręczną L3 (16 MB w Zen 2). Ten dodatkowy rozmiar wiąże się z nieco większym opóźnieniem, ale w zamian zmniejsza wskaźnik awaryjności, szczególnie w aplikacjach z dużymi zestawami roboczymi.

Aby dać ci pojęcie, możemy przypomnieć przybliżone wartości opóźnienia wewnętrznego: około 4 cykle dla L1Około 12 cykli dla warstwy L2 i około 40 cykli dla warstwy L3. Kluczem jest utrzymanie jak największej ilości danych na warstwach L1/L2 i ograniczenie ruchu do warstw L3 i L3. Pamięć DRAM, nad czym współpracują mikroarchitektura i kompilatory.

Infinity Fabric: klej stosowany w chipletach i jego wpływ na wydajność

Jednym z elementów, który nie zawsze jest kojarzony z mikroarchitekturą, ale jest istotny w grach Zen 2 i późniejszych, jest Tkanina nieskończonościTa zastrzeżona magistrala działa jako „autostrada” komunikacyjna między układami CCX, CCD, kością I/O, pamięcią i ogólnie między wszystkimi blokami SoC.

Infinity Fabric to Ewolucja HyperTransportuTo szybka magistrala, której AMD jest pionierem od lat i która była również wykorzystywana przez firmy zewnętrzne, takie jak NVIDIA, Cisco, Sun i innych członków konsorcjum. IF dziedziczy filozofię skalowalnych połączeń punkt-punkt, ale jest dostosowana do potrzeb nowoczesnych układów SoC oraz połączeń między procesorami i kartami graficznymi.

W Zen 2 AMD wprowadza IF2Dzięki obsłudze PCIe 4.0 i 512-bitowej magistrali wewnętrznej pomiędzy układami CCX (dwukrotnie większej niż w pierwszej wersji) przekłada się to na efektywniejszą przepustowość i poprawę efektywności, którą AMD szacuje na około 27% w porównaniu z IF1, co pomaga złagodzić spadek wydajności wynikający z przełączania pomiędzy chipletami.

Ponadto zegarek Infinity Fabric jest częściowo odsprzęga się od pamięci DRAMDzięki temu pamięć główna może w pewnych scenariuszach skalować się do wyższych częstotliwości, bez konieczności wymuszania na procesorze pośrednim nadążania, co zapewnia większe pole do precyzyjnego dostrajania dla entuzjastów i projektantów systemów.

W procesorach serwerowych, takich jak EPYCDzięki czterem lub większej liczbie chipletów obliczeniowych technologia Infinity Fabric umożliwia połączenie wszystkich chipów w niemalże kompletnych topologiach (obrót o 180º, połączenia bezpośrednie itd.), co pozwala na osiągnięcie przepustowości między układami scalonymi, która może z łatwością przekroczyć 150 GB/s w obu kierunkach, w zależności od szybkości używanej pamięci DDR.

Połączenie A solidna mikroarchitektura w każdym rdzeniuSkalowalna konstrukcja wykorzystująca chiplety i wystarczająco szybkie połączenia międzysystemowe pozwala firmie AMD na tworzenie procesorów z 32, 64 lub większą liczbą rdzeni o niezwykłej wydajności w przypadku obciążeń o wysokim stopniu równoległości, przy jednoczesnym zachowaniu konkurencyjnego wskaźnika IPC na wątek.

Ostatecznie, porównując procesory w testach wydajności gier, renderowaniu 3D, kompilacjach masowych czy symulacjach naukowych, liczba GHz i rdzeni przedstawia tylko część obrazu. To, co naprawdę robi różnicę, to sposób, w jaki… mikroarchitektura koordynuje wewnętrzne wykonywaniew jaki sposób wykorzystuje lub marnuje każdy cykl zegara i jakie kompromisy poszedł producent pod względem opóźnień, przepustowości, zużycia energii i złożoności.

Optymalizacja pamięci podręcznej procesora
Podobne artykuły:
Optymalizacja pamięci podręcznej procesora i wydajność w systemie Windows