Hva er en instruksjonsrørledning?

Enhver prosessorinstruksjon har flere trinn i driften. Hvert av disse stadiene tar en enkelt CPU-syklus å fullføre. Disse stadiene er Instruksjonshenting, Instruksjonsdekoding, Utfør, Minnetilgang og Tilbakeskrivning. Disse får henholdsvis instruksjonen som skal fullføres, skiller operasjonen fra verdiene som opereres på, utfører prosessen, åpner registeret som resultatet skal skrives på og skriver resultatet til det åpnede registeret.

Historiske prosessorer i rekkefølge

I tidlige datamaskiner brukte ikke CPU en instruksjonsrørledning. I disse CPUene måtte hver enkeltsyklusoperasjon skje for hver instruksjon. Dette betydde at det tok fem klokkesykluser før den gjennomsnittlige instruksjonen ble behandlet helt før den neste kunne startes. Noen operasjoner trenger kanskje ikke å skrive noe resultat ut til et register, noe som betyr at minnetilgangs- og tilbakeskrivningsstadiene kan hoppes over.

Hva er en instruksjonsrørledning?

I en subskalær prosessor uten pipeline, blir hver del av hver instruksjon utført i rekkefølge.

Det er imidlertid et problem som lurer når du kjører en fullstendig instruksjon i rekkefølge før du kan gå videre til neste instruksjon. Problemet er cache-missen. CPU-en lagrer data den aktivt behandler i registeret. Dette kan nås med en en-syklus latency. Problemet er at registeret er lite fordi det er innebygd i prosessorkjernen. CPU-en må gå til den større, men tregere L1-cachen hvis dataene ikke allerede er lastet inn. Hvis den ikke er der, må den gå til den større og tregere L2-cachen igjen. Det neste trinnet er L3-cachen; det siste alternativet er system-RAM. Hvert av disse alternativene tar flere og flere CPU-sykluser å sjekke.

Nå kan denne ekstra ekstra ventetiden være et stort problem i et system som må fullføre hver instruksjon i sin helhet før du starter neste instruksjon. Det som hadde vært en 5-syklus per instruksjonsprosessor, kan plutselig bli hengt opp i én instruksjon for dusinvis eller hundrevis av klokkesykluser. Hele tiden kan ingenting annet skje på datamaskinen. Teknisk sett kan dette lindres noe ved å ha to uavhengige kjerner. Ingenting hindrer dem begge i å gjøre det samme, potensielt samtidig. Så å gå nedover flerkjerneruten løser ikke dette.

Den klassiske RISC-rørledningen

RISC står for Reduced Instruction Set Computer . Det er en prosessordesignstil som optimerer ytelsen ved å gjøre dekodingen av hver instruksjon enklere. Dette er i forhold til CISC eller Complex Instruction Set Computer, som designer mer komplekse instruksjonssett som gjør at færre instruksjoner er nødvendige for å utføre de samme oppgavene.

Den klassiske RISC-designen inkluderer en instruksjonsrørledning. I stedet for å kjøre noen av de fem instruksjonstrinnene i en gitt syklus, lar rørledningen alle fem trinnene utføres. Selvfølgelig kan du ikke kjøre alle fem trinnene i en instruksjon i en syklus. Men du kan stille fem påfølgende instruksjoner i kø med en forskyvning på ett trinn hver. På denne måten kan en ny instruksjon fullføres hver klokkesyklus. Tilbyr en potensiell 5x ytelsesøkning for en relativt lav økning i kjernekompleksitet.

Hva er en instruksjonsrørledning?

I en skalær pipelinet prosessor kan hvert trinn i en instruksjonsutførelse utføres én gang per klokkesyklus. Dette tillater en maksimal gjennomstrømning på én fullført instruksjon per syklus.

Prosessorer som ikke har en pipeline kan bare være sub-skalære, siden de ikke kan utføre en komplett instruksjon per syklus. Med denne primære fem-trinns pipeline kan du lage en skalar CPU som kan fullføre en instruksjon for hver prosess. Ved å lage enda mer vidtrekkende rørledninger kan du lage superskalære CPUer som kan utføre mer enn én instruksjon per klokkesyklus. Selvfølgelig er det fortsatt potensielle problemer.

Fortsatt sekvensiell

Ingenting av dette løser problemet med å vente i mange sykluser på svar når det er behov for å spørre etter de forskjellige nivåene av cache og RAM. Det introduserer også et nytt problem. Hva om en instruksjon er avhengig av utdata fra den forrige instruksjonen? Disse problemene løses uavhengig med en avansert dispatcher. Den planlegger utførelsesrekkefølgen nøye slik at ingen instruksjoner som er avhengige av utdata fra en annen er for nær hverandre. Den håndterer også cache-misser ved å parkere en instruksjon og erstatte den i rørledningen med andre instruksjoner som er klare til å kjøre og som ikke krever resultatet, og fortsetter instruksjonen når den er klar.

Disse løsningene kan fungere på prosessorer uten pipeline, men de kreves for en superskalarprosessor som kjører mer enn én instruksjon per klokke. En grenprediktor er også svært nyttig ettersom den kan prøve å forutsi utfallet av en instruksjon med mer enn ett potensielt utfall og fortsette å anta at det er riktig med mindre annet er bevist.

Konklusjon

En pipeline gjør at alle prosessorens distinkte muligheter kan brukes i hver syklus. Den gjør dette ved å kjøre forskjellige stadier av forskjellige instruksjoner samtidig. Dette legger ikke engang mye kompleksitet til CPU-designet. Det baner også vei for å tillate mer enn én instruksjon å utføre et enkelt trinn per syklus.


Leave a Comment

Slik installerer du en SSD på stasjonære og bærbare PC-er

Slik installerer du en SSD på stasjonære og bærbare PC-er

Har du nettopp kjøpt en SSD og håper å oppgradere den interne lagringen på PC-en din, men vet ikke hvordan du installerer SSD? Les denne artikkelen nå!

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Grunnleggende om 3D-utskrift: En viktig vedlikeholdssjekkliste

Å holde utstyret ditt i god stand er et must. Her er noen nyttige tips for å holde 3D-printeren din i topp stand.

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

10 Beste NAS-lagringsenheter for hjem og profesjonell bruk

Enten du leter etter en NAS for hjemmet eller kontoret, sjekk ut denne listen over de beste NAS-lagringsenhetene.

Hvordan finne IP-adressen til en skriver

Hvordan finne IP-adressen til en skriver

Har du problemer med å finne ut hvilken IP-adresse skrivere bruker? Vi viser deg hvordan du finner den.

5 Grunner til at Laptopen Din Overopphetes

5 Grunner til at Laptopen Din Overopphetes

Finn ut noen av de mulige årsakene til at laptopen din overopphetes, sammen med tips og triks for å unngå dette problemet og holde enheten din avkjølt.

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hva du skal gjøre hvis Powerbeats Pro ikke lader i saken

Hvis Powerbeats Pro ikke lader, bruk en annen strømkilde og rengjør øreproppene. La saken være åpen mens du lader øreproppene.

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Grunnleggende om 3D-utskrift: Vedlikeholdstips for 3D-printeren din

Å vedlikeholde 3D-printerne dine er veldig viktig for å få de beste resultatene. Her er noen viktige tips å huske på.

Slik fikser du GeForce Now feilkode 0xC272008F

Slik fikser du GeForce Now feilkode 0xC272008F

Du gjør deg klar for en kveld med spilling, og det kommer til å bli stort – du har nettopp kjøpt "Star Wars Outlaws" på GeForce Now streamingtjenesten. Oppdag den eneste kjente løsningen som viser deg hvordan du fikser GeForce Now feilkode 0xC272008F, slik at du kan begynne å spille Ubisoft-spill igjen.

Slik bruker du AirPods med Samsung-telefoner

Slik bruker du AirPods med Samsung-telefoner

Er du usikker på om du skal kjøpe AirPods til din Samsung-telefon? Denne guiden vil helt klart hjelpe. Det mest åpenbare spørsmålet er om de to er

Canon Pixma MG5220: Skann uten blekk

Canon Pixma MG5220: Skann uten blekk

Hvordan aktivere skanning på Canon Pixma MG5220 når du går tom for blekk.