Home » Processor » AMD’s nye Horyzen – et dybt dyk ned i AMD’s nyeste arkitektur
AMD’s nye Horyzen – et dybt dyk ned i AMD’s nyeste arkitektur

AMD’s nye Horyzen – et dybt dyk ned i AMD’s nyeste arkitektur

Share

Det sker ikke ret tit, at vi ser så monumental en omvæltning i branchen, som vi har set med Ryzen. Men vi har sandt for dyden råbt på denne omvæltning længe.

Siden AMD forlod både den høje ende af markedet og mainstream-markedet i 2012, har Intels jerngreb om forbrugermarkedet ført til en stagneret udvikling, samtidig med at priserne for det samme antal kerner, som vi har fået i de seneste 11 år, er steget gevaldigt.

Det betyder ikke, at det hele er Intels skyld. AMD drømte ikke om at komme i denne situation med sine FX-chips, og Intel havde ikke forventet, at firmaets Core-arkitektur ville blive så stor en succes. Resultatet er imidlertid blevet, at på grund af ringe konkurrence og dermed intet behov for fornyelse er kerneantallet og ydelsen hos Intels produkter stagneret.

Enkeltkerne-ydelsen er kun blevet forbedret med i gennemsnit otte procent om året med hver ny generation af mainstreamchips. Hvem har skylden? Bestyrelsesmedlemmer og investorer. Mangel på konkurrence har ført til den situation, vi står i, fordi det er meget sværere at bede om penge til forskning og udvikling, når man ingen rivaler har. Det er grunden til, at Ryzen gennemgående har været udsat for mere hype og fanfare end nogen anden processorlancering i de seneste 20 år.

For første gang siden 2009 er forbrugerne sendt tilbage til en situation, hvor der er noget at vælge imellem. Nu er det ikke længere blot et spørgsmål om, hvilken Intel-chip man har råd til. Vi er tilbage til det gamle dilemma: Skal man vælge AMD eller Intel? Og hvor har vi dog savnet den valgmulighed. Ryzen er intet mindre end fænomenal. Dens enkeltkerne-ydelse er på højde med Intels 2011-3 Broadwell-E-chips, og dens multikerne-ydelse kan snildt udkonkurrere dens Intel-modstykker – til en brøkdel af prisen,

Det store spørgsmål er så: Hvordan er det lykkedes for AMD? Og hvordan fungerer Ryzens arkitektur? Det kan du læse om her.

Forstå Processorerne

Hvad betyder alt dette? Hvordan fungerer processorer? Det må vi hellere se på. Før vi kommer ind på AMD’s svar på Intels Hyper-Threading, må vi forstå, hvordan beregninger og data bliver behandlet via cpu’er. Generelt set stiller software en række spørgsmål, et ad gangen, som traditionelt bliver beregnet af processoren, det ene efter det andet.

Se også:  AMD Ryzen Mobile vs. Intel 8th Gen Mobile [TEST]: Hvilken mobilprocessor er bedst?

Men da processorer behandler problemer langt hurtigere, end de kan trække data fra ram, ssd’er og harddiske, kan der opstå forsinkelser, idet datastrenge ikke altid befinder sig i processorens cache, men et andet sted i systemet.

Traditionelt foregår det omtrent sådan: Beregning A leverer svar B, der bliver brugt i beregning C, idet der bliver trukket data fra dram, hvorefter beregning E finder sted. Men da vi venter på data D, går enheden i stå i stedet for at bruge disse eksekveringsenheder ved 100 procent belastning.

Det ser ud til, at OoOE (Out-of-order-execution) kan afhjælpe problemet ved at afgøre, hvilke instruktioner der kræver data, som er gemt i hukommelsen, hvor lang tid det tager at hente disse data og genbestille instruktionerne. Det vil sige, at man i stedet for at bestille instruktionerne i den oprindelige programrækkefølge kan køre i overensstemmelse med de data, der er til rådighed.

I vores scenario vil det altså se således ud: Beregning E kommer først, efterfulgt af beregning A, der bliver fulgt af beregning C. Og når beregning C begynder, er der forhåbentlig forløbet så mange clock-cyklusser, at processoren kan trække de fraværende data ind i registrene fra dram. Den beregning, der er foregået før ankomsten af data D, bliver opbevaret i en såkaldt retire-kø, og når den endelige beregning er foretaget, bliver de genbestilt og sendt tilbage til programmet via processoren.

Såkaldt branch prediction er det næste skridt opad efter OoOE. Her ser man på hver gren i et programs kode, analyserer den og prøver at forudse, i hvilken enhed hver gren af instruktioner skal placeres.

ArkitekturDesign

Ned i detaljen. Hvad får Ryzen til at virke? Hvordan virker den? Hvad er nyt? Og hvad kan brugerne glæde sig til at opleve i fremtiden? I 2011 erkendte AMD, at man haltede bagefter med chip-udvikling, og man gik derfor tilbage til tegnebrættet og hyrede den legendariske Jim Keller til at støbe fundamentet for chippens arkitektur.

KerneDesign

Hvis vi analyserer 7 1800X, kan vi dele den op i kerne efter kerne. Hver Ryzen 7-cpu rummer i alt otte kerner. Hver cpu har 32 KB D-cache (hvor cpu’en lagrer datastreng-mængden og gemmer anmodninger efter beregning) og 64 KB I-cache (hvor cpu’en lagrer de instruktioner, der er trukket fra programmer). Den kaldes L1-cache.

Et tværsnit af en Ryzen-blok med fire kerner. Man kan se L1-cachen i hver kerne og de eksterne L2 og L3.

Hertil kommer, at hver kerne har en blok på 512 KB lidt langsommere L2-cache, som man kan bruge til samtidig at lagre både data og instruktionssæt. Og som om det ikke var nok, har hver kerne fire heltalsenheder med hver 42 registre, seks schedulers, fire ALU’er og to AGU’er.

Se også:  Byg selv: Et sandt kabinetspørgsmål

Adskilt fra heltalsenhederne er der også to flydende komma-enheder, 72 out-of-order-supports og naturligvis to threads pr. kerne. Hvis man skalerer det op, får hver blok med fire kerner en delt L3-cache på 8 MB stykket, hvilket giver i alt 16 MB L3-cache og 4 MB L1/L2-cache til hver eneste ottekerne-processor – plus 16 threads via AMD’s SMT, naturligvis

Jargon Buster

AGU: Address Generation Unit. AGU’er findes i heltalsenheden, og de beregner de adresser af datastrenge, der er gemt i systemmedier, uanset om det er cache, ddr, ssd, harddiske eller andre medier.

ALU: Arithmetic Logic Unit. Det er den del af en processor, der håndterer aritmetiske beregninger og bitwise-beregninger (binære) ved hjælp af registre.

Branch: Instruktioner, der findes i programmer, og som fortæller processoren, at den skal begynde at eksekvere en anden instruktionssekvens i et program.

Flydende komma-enhed: Svarer til heltalsenheden, men flydende komma-enheden laver beregninger på flydende komma-tal såsom multiplikation, division, kvadratrod og bit-flytning. De er delt op i separate eksekveringsenheder – i dette tilfælde to, der tager sig af multiplikation, og to, der tager sig af addition. Resten af de mindre almindelige beregninger bliver håndteret på et softwarebiblioteks-niveau. En FPU kaldes også en eksekveringsenhed.

Heltalregister-fil Arbejder sammen med OoOE og tilbageholder instruktioner fra eksekveringsenhederne, indtil der er behov for dem.

Heltalsenhed: Rummer både ALU’er og AGU’er. Kaldes også en eksekveringsenhed.

Register: Registre kan rumme både data og instruktioner, og det er her, en processor beregner en opgave. For eksempel kan et instruktionssæt være X + Y = Z, idet dataene udgør X og Y. Ét register kan rumme instruktionen, et andet register rummer X, et tredje rummer Y, og det endelige resultat, Z, bliver rummet i et fjerde register til brug i andre beregninger. Hvis der ikke længere er brug for det, bliver det skubbet til den relevante cache til senere brug.

TAGS
AMD
hardware
processorer

DEL DENNE
Share

Seneste Tech test
Seneste konkurrencer

Mest populære
Populære
Nyeste
Tags

Find os på de sociale medier

Modtag dagligt IT-nyhedsbrev

Få gratis tech-nyheder i din mail-indbakke alle hverdage. Læs mere om IT-UPDATE her

Find os på FaceBook

Alt om DATA

Lautrupsgade 7,
DK-2100 København Ø
Telefon: 33 91 28 33
redaktion@altomdata.dk

Datatid TechLife

Lautrupsgade 7,
DK-2100 København Ø
Telefon: 33 91 28 33
redaktion@datatid.dk

Audio Media A/S

CVR nr. 16315648,
Lautrupsgade 7,
DK-2100 København Ø
Telefon: 33 91 28 33
info@audio.dk
Annoncesalg / Prislister:
Lars Bo Jensen: lbj@audio.dk Telefon: 33 74 71 16
Annoncer: Medieinformation


Alt om DATA, Datatid TechLife  © 2019
Privatlivspolitik og cookie information - Audio Media A/S