In jullie artikel over skylake staat een fout op de pagina over de cpu kernen. Jullie vermelden namelijk: "... net als de out-of-order buffers; daarmee wordt het parallelisme verder vergroot."
Dit is echt fout, out-of-order execution wordt gebruikt voor het verminderen van pipeline stalls (en dus voor een hoge IPC). Out of order execution werkt grofweg als volgt: instructie 1 deelt x door 4.
Instructie 2 kijkt of x groter is dan y
Instructie 3 zet z op 0 als het waar is.
Met een diepe pipeline zoals intel heeft moet er gewacht worden tot x door 4 is gedeeld voordat er verder kan worden gegaan met de uitvoer. Dit is een pipeline stall. Out of order execution zorgt ervoor dat de cpu verder kijkt in het programma. Als daar bijvoorbeeld staat:
Instructie 4 sla 9+5 op in w
Dan kan die instructie alvast uitgevoerd worden terwijl instructie 2 en 3 staan te wachten op het resultaat van 1. Hoe dieper de OoO unit kan kijken hoe meer onafhankelijke instructies (ook wel parallele instructie segmenten genoemd) gevonden kunnen worden en dus hoe minder pipeline stalls er zijn. Dit is dus echt anders dan het verbeteren van het parallisme.
Ik hoop dat mijn verhaal duidelijk is.
Dit is echt fout, out-of-order execution wordt gebruikt voor het verminderen van pipeline stalls (en dus voor een hoge IPC). Out of order execution werkt grofweg als volgt: instructie 1 deelt x door 4.
Instructie 2 kijkt of x groter is dan y
Instructie 3 zet z op 0 als het waar is.
Met een diepe pipeline zoals intel heeft moet er gewacht worden tot x door 4 is gedeeld voordat er verder kan worden gegaan met de uitvoer. Dit is een pipeline stall. Out of order execution zorgt ervoor dat de cpu verder kijkt in het programma. Als daar bijvoorbeeld staat:
Instructie 4 sla 9+5 op in w
Dan kan die instructie alvast uitgevoerd worden terwijl instructie 2 en 3 staan te wachten op het resultaat van 1. Hoe dieper de OoO unit kan kijken hoe meer onafhankelijke instructies (ook wel parallele instructie segmenten genoemd) gevonden kunnen worden en dus hoe minder pipeline stalls er zijn. Dit is dus echt anders dan het verbeteren van het parallisme.
Ik hoop dat mijn verhaal duidelijk is.