Wat is processorsnelheid?
Voordat we gaan kijken naar de vernieuwingen binnen de architectuur van de Pentium 4 processor, is het belangrijk om even na te denken over de vraag ‘Wat is processorsnelheid?’. Veel mensen die niet zo thuis zijn in de computer-wereld, associëren processorsnelheid maar met één ding, namelijk de klokfrequentie waar de processor op draait, ofwel ‘het aantal MHz’. Vandaar ook dat verkopers in een computerwinkel vaak te maken hebben met het type klant dat ik een ‘Megahertz en Gigabyte koper’ noem: als een PC maar genoeg MHz en genoeg GB heeft, moet het wel een goede zijn.
Zij die wat meer geïnformeerd zijn, weten wel beter: de ene processor op 800 MHz kan best sneller of langzamer zijn dan de andere processor op 800 MHz. Onze recente 700 MHz processors vergelijkingstest bewijst dat: de performance van een Intel Celeron II, Intel Pentium III, AMD Duron en AMD Thunderbird
verschilt behoorlijk, al werken ze allemaal op 700 MHz...
Een beter maatstaaf voor de performance van een processor
krijg je op de volgende manier:
Performance = (IPC * Klokfrequentie) / (Gem. aantal instructies per taak)
Deze formule behoeft enige uitleg. IPC staat voor ‘Intstructions per Clockcycle’ en is het gemiddeld aantal instructies dat een processor per klokslag kan voltooien. Bij vroegere processor was de IPC altijd een getal tussen de 0 en 1, met de huidige superscalar processors is een IPC van meer dan 1 absoluut geen uitzondering. Dat is ook niet gek, want superscalar betekent in principe niets meer en niets minder dan dat er meer dan één verwerkingsunits in één CPU zitten: de AMD Athlon bijvoorbeeld heeft maar liefst negen verwerkingsunits onder de motorkap.
IPC maal de Klokfrequentie zou in principe een maat voor de performance zijn, maar een belangrijk iets mag niet vergeten worden: het gemiddeld aantal instructies dat nodig is om een taak uit te voeren. Hier komen zaken als MMX, 3Dnow! en SSE om de hoek kijken. Door extra instructies aan de processor toe te voegen die moeilijke taken makkelijker uitvoerbaar maken, daalt het gemiddelde aantal instructies dat nodig is voor taken en stijgt dus de performance!
Als je een processorarchitectuur wilt versnellen kun je dat simpel gezegd op drie manieren doen: de klokfrequentie verhogen, de IPC verhogen of het gemiddeld aantal instructies per taak verlagen.
Aan alle drie methodes zitten haken en ogen: de haalbare klokfrequentie is bijvoorbeeld erg afhankelijk van het gebruikte productieprocédé en de internet opbouw van de chip. Als het makkelijk was geweest om een Pentium III op 2 GHz te laten werken, had Intel dat natuurlijk al lang gedaan, maar de opbouw van deze processor zorgt ervoor dat versnelling bij het huidige productieprocédé bij ongeveer 1 GHz blijft steken. Om de IPC te verhogen moet de hele architectuur omgegooid worden: we zullen op de volgende pagina zien dat een van de beste methoden om de klokfrequentie op te schroeven, nadelige gevolgen voor de IPC heeft. Het moge duidelijk zijn dat het verlagen van het gemiddeld aantal instructies per taak niet eenvoudig is. Niet alleen maken toegevoegde processor-instructies de processor groter en complexer, maar ook moeten deze nieuwe instructies in de software worden verwerkt, voordat ze succesvol kunnen worden toegepast.
Op de volgende pagina’s zullen we zien welke ‘trucs’ Intel heeft toegepast om de Pentium 4 sneller te maken dan zijn voorganger.