Wat is een instructiepijplijn?

Elke processorinstructie heeft meerdere stadia in zijn werking. Elk van deze fasen duurt een enkele CPU-cyclus om te voltooien. Deze stadia zijn Instructie ophalen, Instructie decoderen, Uitvoeren, Geheugentoegang en Terugschrijven. Respectievelijk krijgen deze de instructie die moet worden voltooid, scheiden de bewerking van de waarden waarop wordt geopereerd, voeren het proces uit, openen het register waarin het resultaat zal worden geschreven en schrijven het resultaat naar het geopende register.

Historische In Order-verwerkers

In vroege computers maakte de CPU geen gebruik van een instructiepijplijn. In deze CPU's moest elke bewerking met één cyclus voor elke instructie worden uitgevoerd. Dit betekende dat het vijf klokcycli duurde voordat de gemiddelde instructie volledig was verwerkt voordat de volgende kon worden gestart. Sommige bewerkingen hoeven mogelijk geen resultaat naar een register te schrijven, wat betekent dat de geheugentoegangs- en terugschrijffasen kunnen worden overgeslagen.

Wat is een instructiepijplijn?

In een subscalaire processor zonder pijplijn wordt elk deel van elke instructie op volgorde uitgevoerd.

Er ligt echter een probleem op de loer wanneer u een volledige instructie op volgorde uitvoert voordat u door kunt gaan naar de volgende instructie. Het probleem is de cachemisser. De CPU slaat gegevens op die actief worden verwerkt in het register. Dit is toegankelijk met een latentie van één cyclus. Het probleem is dat het register klein is omdat het in de processorkern is ingebouwd. De CPU moet naar de grotere maar langzamere L1-cache gaan als de gegevens nog niet zijn geladen. Als het er niet is, moet het weer naar de grotere en langzamere L2-cache gaan. De volgende stap is de L3-cache; de laatste optie is het systeem-RAM. Voor elk van deze opties zijn steeds meer CPU-cycli nodig om te controleren.

Nu kan deze extra toegevoegde latentie een groot probleem zijn in een systeem dat elke instructie in de juiste volgorde moet voltooien voordat de volgende instructie wordt gestart. Wat ooit een processor met 5 cycli per instructie was, kan plotseling tientallen of honderden klokcycli aan één instructie blijven hangen. Al die tijd kan er niets anders gebeuren op de computer. Technisch gezien kan dit enigszins worden verlicht door twee onafhankelijke kernen te hebben. Niets weerhoudt hen er echter van om hetzelfde te doen, mogelijk tegelijkertijd. Dus het volgen van de multi-core route lost dit niet op.

De klassieke RISC-pijplijn

RISC staat voor Reduced Instruction Set Computer . Het is een stijl van processorontwerp die de prestaties optimaliseert door het decoderen van elke instructie gemakkelijker te maken. Dit is in vergelijking met CISC of Complex Instruction Set Computer, die complexere instructiesets ontwerpt waardoor er minder instructies nodig zijn om dezelfde taken uit te voeren.

Het klassieke RISC-ontwerp bevat een instructiepijplijn. In plaats van een van de vijf instructiefasen in een bepaalde cyclus uit te voeren, staat de pijplijn toe dat alle vijf fasen worden uitgevoerd. Natuurlijk kun je niet alle vijf fasen van één instructie in een cyclus uitvoeren. Maar u kunt vijf opeenvolgende instructies in de wachtrij plaatsen met elk een offset van één fase. Op deze manier kan elke klokcyclus een nieuwe instructie worden voltooid. Biedt een potentiële 5x prestatieverbetering voor een relatief lage stijging van de kerncomplexiteit.

Wat is een instructiepijplijn?

In een scalaire pijplijnprocessor kan elke fase van de uitvoering van een instructie één keer per klokcyclus worden uitgevoerd. Dit maakt een maximale doorvoer mogelijk van één voltooide instructie per cyclus.

Processors die geen pijplijn hebben, kunnen alleen maar subscalair zijn, omdat ze niet één volledige instructie per cyclus kunnen uitvoeren. Met deze primaire pijplijn met vijf fasen kunt u een scalaire CPU maken die een instructie voor elk proces kan voltooien. Door nog verdergaande pijplijnen te maken, kun je superscalaire CPU's maken die meer dan één instructie per klokcyclus kunnen uitvoeren. Natuurlijk zijn er nog steeds potentiële problemen.

Nog steeds sequentieel

Niets van dit alles lost het probleem op van het vele cycli wachten op een antwoord wanneer de verschillende niveaus van cache en RAM moeten worden opgevraagd. Het introduceert ook een nieuw probleem. Wat als een instructie afhankelijk is van de uitvoer van de vorige instructie? Deze problemen worden zelfstandig opgelost met een geavanceerde dispatcher. Het plant zorgvuldig de volgorde van uitvoering, zodat geen instructies die afhankelijk zijn van de uitvoer van een ander te dicht bij elkaar staan. Het verwerkt ook cache-missers door een instructie te parkeren en deze in de pijplijn te vervangen door andere instructies die klaar zijn om te worden uitgevoerd en waarvan het resultaat niet nodig is, en de instructie te hervatten wanneer deze gereed is.

Deze oplossingen kunnen werken op niet-gepipelinede processors, maar ze zijn vereist voor een superscalaire processor die meer dan één instructie per klok uitvoert. Een vertakkingsvoorspeller is ook zeer nuttig omdat deze kan proberen de uitkomst van een instructie met meer dan één mogelijke uitkomst te voorspellen en blijft aannemen dat deze correct is, tenzij het tegendeel wordt bewezen.

Conclusie

Een pijplijn zorgt ervoor dat alle afzonderlijke mogelijkheden van de processor in elke cyclus kunnen worden gebruikt. Het doet dit door verschillende fasen van verschillende instructies tegelijkertijd uit te voeren. Dit voegt niet eens veel complexiteit toe aan het CPU-ontwerp. Het maakt ook de weg vrij om meer dan één instructie toe te staan ​​om een ​​enkele fase per cyclus uit te voeren.



Leave a Comment

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Wat te Doen Als Powerbeats Pro Niet Opladen in de Case

Als uw Powerbeats Pro niet opladen, gebruik dan een andere voedingsbron en maak uw oordopjes schoon. Laat de case open terwijl u uw oordopjes oplaadt.

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

De Basisprincipes van 3D-printen: Een Onmisbare Onderhoudschecklist

Het behoud van uw apparatuur in goede staat is essentieel. Hier zijn enkele nuttige tips om uw 3D-printer in topconditie te houden.

Canon Pixma MG5220: Scannen Zonder Inkt

Canon Pixma MG5220: Scannen Zonder Inkt

Hoe te scannen met de Canon Pixma MG5220 wanneer je zonder inkt zit.

5 Redenen waarom je laptop oververhit

5 Redenen waarom je laptop oververhit

Ontdek enkele mogelijke redenen waarom je laptop oververhit raakt, samen met tips en trucs om dit probleem te vermijden en je apparaat koel te houden.

Hoe een SSD te installeren op desktop- en laptop-pc's

Hoe een SSD te installeren op desktop- en laptop-pc's

Heb je net een SSD gekocht in de hoop de interne opslag van je pc te upgraden maar weet je niet hoe je een SSD moet installeren? Lees dit artikel nu!

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Hoe GeForce Now Foutcode 0xC272008F op te lossen

Je maakt je klaar voor een avond gamen en het wordt een grote – je hebt net “Star Wars Outlaws” opgepakt op de GeForce Now streamingdienst. Ontdek de enige bekende workaround die je laat zien hoe je GeForce Now Foutcode 0xC272008F kunt oplossen, zodat je weer Ubisoft-games kunt spelen.

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

3D Printen Basisprincipes: Onderhoudstips voor uw 3D-printer

Het onderhouden van uw 3D-printers is zeer belangrijk om de beste resultaten te behalen. Hier zijn enkele belangrijke tips om in gedachten te houden.

Hoe de IP-adres van een printer te vinden

Hoe de IP-adres van een printer te vinden

Problemen met het vinden van het IP-adres dat je printer gebruikt? Wij laten je zien hoe je het kunt vinden.

Hoe AirPods te Gebruiken met Samsung Telefoons

Hoe AirPods te Gebruiken met Samsung Telefoons

Als je onzeker bent of je AirPods voor je Samsung-telefoon moet kopen, kan deze gids je zeker helpen. De meest voor de hand liggende vraag is of de twee compatibel zijn, en het antwoord is: ja, dat zijn ze!

Wat doet Scroll Lock?

Wat doet Scroll Lock?

Scroll lock is een toets op de meeste toetsenborden, hoewel de meeste mensen het nooit echt gebruiken. Ontdek het nut en gebruik van scroll lock in moderne software.