Bijvoorbeeld: een virusscanner heeft een serie instructies om een viruswaarschuwing te geven, die serie wordt alleen uitgevoerd als u (a) opdracht geeft tot een scan en (b) de scanner een virus vindt.
Bovenstaande schematische afbeelding is van een Core i7, maar het schema van een Core 2 is praktisch identiek. De blokken en pijlen geven de weg aan door de processor die een instructie aflegt om uitgevoerd te worden. De machinetaal die moderne computers gebruiken, is afgeleid van een taal die een handjevol Intel-ontwerpers ongeveer 25 jaar geleden bedacht, x86 genaamd. Om compatibiliteit met oude programma’s te handhaven, werkt de Core i7 nog steeds met de eerste versies ervan.
Helaas is x86 voor processorontwerpers een grote nachtmerrie. De taal is zo inefficiënt, dat processors sinds de Pentium Pro alle x86-instructies eerst vertalen naar een handzamere machinetaal. Vervolgens voeren ze de vertalingen uit. De eerste stap om een instructie uit te voeren is de ‘fetch en predecode’-fase. Hier verzamelt de processor alle benodigde x86-instructies (fetch) en begint voorbereidingen om ze te vertalen (predecode). In het ideale geval haalt de processor de betreffende instructies uit de Level 1 instruction cache (L1-cache), omdat die het snelst is. Langzamere alternatieven zijn de grotere L2- en L3-caches. In het ergste geval moet de processor de instructie helemaal uit het geheugen halen, wat voor enorme vertraging zorgt. Beide ‘translation lookaside buffers’ (TLB, zie schema) werken als een beperkte inhoudsopgave van de caches en het geheugen, om de benodigde instructie daar sneller te kunnen vinden.
Aangekomen bij de ‘decode’-fase worden de instructies daadwerkelijk vertaald. De Core i7 kan vier instructies tegelijk vertalen. De volgorde waarin de processor instructies krijgt aangevoerd door een programma is meestal niet de beste om ze ook uit te voeren. Bijvoorbeeld als een instructie nog wacht op invoergegevens, terwijl chronologisch daaropvolgende instructies al wachten om verwerkt te worden. Via het ‘rename/allocate’-stadium komen de instructies terecht in de ‘reservation station’-fase, waarvandaan ze in een zo efficiënt mogelijke volgorde met zes tegelijk naar de uitvoeringseenheden worden gestuurd.
Uiteindelijk worden de resultaten opgeslagen in de L1 data cache voor verder gebruik door andere instructies, of gaan ze via de ‘retirement unit’ naar het geheugen.
Core i7 gevoed houden
Snel instructies kunnen verwerken heeft alleen nut als de betreffende instructies ook in een hoog tempo aangevoerd worden. Sommige programma’s zijn daar beter geschikt voor dan andere. Maar hoewel Core i7 in theorie vier instructies tegelijk kan verwerken, halen veel programma’s in de praktijk een gemiddelde van minder dan twee.

De afbeelding links is van een Core i7-processor, opgebouwd uit meerdere ‘cores’. Elke core heeft de beschikking over eigen L1- en L2-caches. Ze maken gezamenlijk gebruik van een grotere L3-cache. De L2-cache van de Core i7 is met 256 KB relatief klein, maar ook uitzonderlijk snel. De L3-cache van 8 MB bevat de complete inhoud van de L1- en L2-caches van elke core, en heeft daarbij nog ruimte over. Intel kan gemakkelijk het formaat van de L3 aanpassen in toekomstige processors, met extra cache voor processors met meer cores, of minder voor goedkopere.

De tweede afbeelding doet sterk denken aan die van Athlon 64, vijf jaar geleden. Core i7-processors hebben een ingebouwde geheugencontroller en maximaal vier Quickpath-verbindingen voor communicatie met de chipset of met elkaar in een multi-processorsysteem.
Geheugencontroller
De geheugencontroller ondersteunt drie kanalen, wat in combinatie met DDR3-geheugen voor een enorme hoeveelheid bandbreedte zorgt. De theoretisch haalbare bandbreedte met DDR3 1066 is 26,6 GB/s. Naarmate sneller geheugen beschikbaar komt, neemt dit nog toe (bijvoorbeeld 38,4 GB/s voor DDR3 1600). De processor gebruikt deze bandbreedte niet alleen om zichzelf van benodigde gegevens te voorzien, maar ook om gegevens aan te voeren waarvan hij oordeelt dat ze misschien later nodig zullen zijn.
Omdat geheugenverkeer verreweg het grootste deel van de communicatie van de processor voor zijn rekening neemt, heeft de Quickpath-verbinding in systeem met één processor weinig te doen. En omdat de eerste Core i7’s quad core zijn, hebben weinig consumenten belang bij een multi-processorsysteem. Maar voor professionele servers zorgen de vier Quickpath-verbindingen dat zelfs in een systeem met vier cpu’s – totaal dus zestien cores – elke twee processors rechtstreeks met elkaar verbonden zijn. Elke Quickpath-verbinding heeft in elke richting een bandbreedte van 12,8 GB/s.