Hvad er en hukommelsesbarriere?

Historisk set har CPU'er været perfekt sekventielle maskiner. Dette er meget logisk og let at forstå, men kan være et præstationsproblem. I årenes løb har der været mange geniale justeringer af CPU-design for at udvinde så meget ydeevne som muligt fra siliciumwafers. En af de mere interessante er dog udførelse i uorden. I CPU'er, der ikke er i orden, behøver instruktionerne ikke nødvendigvis at blive udført i den rækkefølge, de udstedes i.

Står i orden

Det vigtigste præstationsproblem, som en in-order CPU løber ind i, kaldes en pipeline stall. Dette sker, når en instruktion er afhængig af en eller anden hukommelse, men denne hukommelse er ikke direkte tilgængelig i et register. I dette tilfælde skal CPU'en finde denne værdi i hukommelsen. CPU-cachen tjekkes først, da disse er det hurtigste hukommelsesniveau. Hvis værdien ikke er der, kontrolleres systemets RAM. I løbet af denne tid skal CPU'en sidde inaktiv, da den hukommelsesafhængige instruktion skal udføres i rækkefølge før de følgende instruktioner.

Ydeevnepåvirkningen af ​​en rørledningsstop er måske ikke så slem, men den kan også være relativt alvorlig. For eksempel kan L1-cachen typisk returnere et resultat i størrelsesordenen 5 CPU-cyklusser. L2-cachen kan tage 20 cyklusser, L3 omkring 200 cyklusser og system-RAM omkring 400 cyklusser. I betragtning af at en CPU kan fungere ved omkring 5 GHz, det vil sige 5 milliarder clock-cyklusser i sekundet, er selv 400 cyklusser ikke så slemt (0,000008%). Men hvis du har mange instruktioner, der skal henvise til data længere nede i cache-niveauerne, kan den kumulative effekt forårsage en mærkbar afmatning.

Udelukket udførelse og omdøbning af register

Udførelse uden for orden er en teknik, der gør det muligt for planlæggeren at omarrangere instruktionerne i sin kø. Gennem denne genbestilling kan den vælge at prioritere specifikke tråde frem for andre. Det kan også skubbe instruktioner tilbage i køen, når de har en dataafhængighed, der endnu ikke er blevet opfyldt. Dette forhindrer så vidt muligt rørledningsstop, hvilket minimerer tomgangscyklusser.

Udelukket udførelse kræver en funktion kaldet registeromdøbning. CPU'en kan få adgang til data i registre inden for en enkelt cyklus. Registre bruges til at lagre data, der læses og skrives. Det er dog vigtigt at sikre, at computeren som helhed ser alt, der sker i den logiske rækkefølge, ikke i den ude af rækkefølge, CPU-cyklusoptimeret rækkefølge. For at muliggøre dette har CPU'er mange flere logiske registre, end CPU-arkitekturen kræver.

Data, der skal udskrives, men som har en "tidligere" instruktion, som endnu ikke er afsluttet, lægges i et beholdningsregister. Disse data overføres ikke til et andet register, når ordren er ordnet af sig selv. I stedet ændres navnet på registret til det register, det skal stå i. Det svarer lidt til at tilberede en dessert før hovedretten, men så opbevare den i køleskabet, indtil den skal serveres.

Disse logiske registre er fuldstændig uadresserede. CPU'en kan kun virkelig adressere de logiske registre, der i øjeblikket deler navnet på de arkitektoniske registre. Når det er sagt, er CPU'en også opmærksom på dem nok til, at hvis andre omarrangerede instruktioner er afhængige af dataene i det logiske holding-register, kan de bruge dem i stedet for de "forældede" data i det arkitektoniske register på det pågældende empiriske tidspunkt.

Hukommelsesbarrierer

En hukommelsesbarriere – også kaldet en membar, memory fence eller hegnsinstruktion – er en instruktion i computerkode. Det giver en programmør mulighed for at håndhæve en ordrebegrænsning på hukommelsesoperationer udstedt før og efter hukommelsesbarrieren. Hukommelsesbarrieren instruerer CPU-planlæggeren om at sikre, at alle instruktioner behandles før enhver instruktion efter barrieren. Dette gøres for at sikre, at vigtige operationer udføres i den rigtige rækkefølge.

Generelt på moderne computere burde dette ikke være nødvendigt. Udelukket udførelse og omdøbning af registreringsdatabasen er veletablerede og modne felter. Ikke desto mindre kan en hukommelsesbarriere være nyttig for ældre, mindre sofistikerede, ude af drift processorer eller brugt i kritiske hukommelsesoperationer.

Hukommelsesbarrierer kan komme med en vis ydeevneskade. Dette skyldes, at de aktivt forhindrer CPU-planlæggeren i at optimere specifikke dele af instruktionsflowet. Dette øger chancen for en rørledningsstop.

Konklusion

En hukommelsesbarriere er en instruktion, der sikrer en bestillingsbegrænsning på hukommelsesoperationer. Dette er vigtigt, fordi processorer, der ikke er i orden, kan omarrangere specifikke instruktioner. Selvom omdøbning af registreringsdatabasen er veletableret som en metode til at sikre hukommelsesintegritet i dette miljø, kan det være nyttigt at sikre det manuelt.

Hukommelsesbarrieren tvinger CPU-planlæggeren til at sikre, at instruktionerne er fuldført før enhver instruktion efter barrieren. Dette forhindrer hukommelseshandlinger i at blive omorganiseret. Det forhindrer også CPU'en i at optimere instruktionsflowet, hvilket kan påvirke ydeevnen.


Leave a Comment

Sådan bruger du Samtalebevidsthed og Live Listen på AirPods

Sådan bruger du Samtalebevidsthed og Live Listen på AirPods

Ved første øjekast ligner AirPods alle andre ægte trådløse øretelefoner. Men alt dette ændrede sig, da et par mindre kendte funktioner blev opdaget.

Sådan tilføjer du en printer til Windows 10

Sådan tilføjer du en printer til Windows 10

Det er enkelt at tilføje en printer til Windows 10, selvom processen for kablede enheder vil være anderledes end for trådløse enheder.

Sådan kontrollerer du RAM og RAM-fejl på din computer med den højeste nøjagtighedsrate

Sådan kontrollerer du RAM og RAM-fejl på din computer med den højeste nøjagtighedsrate

Som du ved, er RAM en meget vigtig hardwaredel i en computer, der fungerer som hukommelse til at behandle data og er den faktor, der bestemmer hastigheden på en bærbar computer eller pc. I artiklen nedenfor vil WebTech360 introducere dig til nogle måder at kontrollere for RAM-fejl ved hjælp af software på Windows.

Sådan installer du en SSD på stationære og bærbare computere

Sådan installer du en SSD på stationære og bærbare computere

Har du lige købt en SSD i håbet om at opgradere din computers interne lager, men ved ikke, hvordan du installerer SSD? Læs denne artikel nu!

Canon Pixma MG5220: Scan Uden Blæk

Canon Pixma MG5220: Scan Uden Blæk

Sådan aktiveres scanning på Canon Pixma MG5220, når du er løbet tør for blæk.

10 Bedste NAS Lagringsenheder til Hjem og Professionelt Brug

10 Bedste NAS Lagringsenheder til Hjem og Professionelt Brug

Uanset om du leder efter en NAS til dit hjem eller kontor, så tjek denne liste over de bedste NAS lagringsenheder.

Hvad skal man gøre, hvis Powerbeats Pro ikke oplades i etui

Hvad skal man gøre, hvis Powerbeats Pro ikke oplades i etui

Hvis din Powerbeats Pro ikke oplades, skal du bruge en anden strømkilde og rengøre dine earbuds. Lad etuiet være åbent, mens du oplader dine earbuds.

Sådan Fixer du GeForce Now Fejlkode 0xC272008F

Sådan Fixer du GeForce Now Fejlkode 0xC272008F

Du er klar til en aften med gaming, og det bliver en stor aften - du har lige hentet "Star Wars Outlaws" på GeForce Now streamingtjenesten. Opdag den eneste kendte løsning, der viser dig, hvordan du kan fikse GeForce Now Fejlkode 0xC272008F, så du kan begynde at spille Ubisoft-spil igen.

Sådan forbinder du Windows 11 bærbar computer til projector/TV

Sådan forbinder du Windows 11 bærbar computer til projector/TV

Læs denne artikel for at lære om den enkle trin-for-trin proces for at forbinde en bærbar computer til en projector eller TV på Windows 11 og Windows 10 OS.

Sådan Finder Du IP-adressen til en Printer

Sådan Finder Du IP-adressen til en Printer

Har du problemer med at finde ud af, hvilken IP-adresse din printer bruger? Vi viser dig, hvordan du finder den.