Een eenvoudige loop neemt bijvoorbeeld het getal 80, en telt daar net zo lang 5 bij op, totdat het resultaat groter is dan 132.
Omdat loops steeds dezelfde bewerkingen herhalen, introduceerde Intel met de Core 2-processor een zogenoemde ‘Loop Stream Detector’ (LSD). Deze slaat een deel van het gedane werk op, zodat wanneer de loop opnieuw langskomt de processor niet al het werk opnieuw hoeft te doen. Deze LSD bevond zich na de ‘fetch’-fase.
In de Core i7 heeft Intel de LSD opgeschoven tot na de ‘decode’-fase. Dit betekent dat de instructies binnen een loop de volgende keer dat ze langskomen niet meer opnieuw vertaald hoeven te worden. Bovendien heeft de Core i7 een LSD die meer instructies onthoudt, waardoor het systeem ook met grotere loops werkt.
HyperThreading
HyperThreading, bekend van de oude Pentium 4, is terug. Software bestaat uit series instructies en een normale processorkern verwerkt één serie tegelijk. Het voordeel van een dual core-processor is dat deze twee series tegelijk verwerkt. Met HyperThreading kon een single core Pentium dat ook.
Omdat de quad core Core i7 ook HyperThreading heeft, kan deze processor maximaal acht series verwerken: twee series per core maal vier cores per processor.
Het theoretische voordeel van HyperThreading blijkt uit de afbeelding hieronder. Als de processor op instructies voor de ene thread moet wachten, kan hij alvast aan de volgende thread werken. In de praktijk zullen professionele servers hier veel meer voordeel uit halen dan consumenten-pc’s. HyperThreading is alleen handig als het aantal series te verwerken instructies het aantal processorkernen overtreft. Met consumentensoftware in combinatie met een quad core-processor is dat zelden of nooit het geval.
Bandbreedte en latency
Het grootste verschil tussen een Core 2 Quad en Core i7 is de ingebouwde geheugencontroller. Cachemem is een oude benchmark, maar nog steeds ideaal om bijvoorbeeld de ‘latency’ te meten: dat is de tijd die een processor nodig heeft om een dataset op te vragen. Deze wachttijd drukken we uit in het aantal klokcycli van de processor dat ondertussen verstrijkt. Cachemem geeft deze waarde voor datasets variërend van 8 KB tot 32 MB.
| Cachemem latency per dataset | Intel Core i7 965 Extreme Edition (3,2 GHz) | Intel Core i7 920 (2,66 GHz) | Intel Core 2 Quad QX9650 (3,0 GHz) |
| 8 KB | 3 | 3 | 3 |
| 16 KB | 3 | 3 | 3 |
| 32 KB | 3 | 3 | 3 |
| 64 KB | 9 | 9 | 15 |
| 128 KB | 9 | 9 | 17 |
| 256 KB | 9 | 9 | 17 |
| 512 KB | 46 | 47 | 17 |
| 1024 KB | 46 | 47 | 17 |
| 2048 KB | 46 | 47 | 24 |
| 4096 KB | 55 | 56 | 22 |
| 8192 KB | 119 | 95 | 242 |
| 16 MB | 206 | 190 | 245 |
| 32 MB | 211 | 191 | 247 |
De kleinste datasets passen geheel in de L1-datacache. Omdat deze even groot en snel is in de Core 2 als in de Core i7, zien we dat alledrie de cpu’s (zie tabelletje hierboven) slechts drie klokcycli hoeven te wachten op sets tot 32 KB/s. De L1-datache is inderdaad 32 KB groot.
Verschillen treden op vanaf de L2-cache. Die van de Core 2 is groter, maar de L2-cache van de Core i7 is sneller. Programma’s met een dataset die te groot is voor de L2-cache van de Core i7, maar klein genoeg voor die van de Core 2 hebben dus een voordeel bij die laatste.
Ondanks dat de Core i7 een L3-cache van 8 MB heeft, zien we dat de latency bij datasets van 8 MB een stuk hoger is dan bij 4 MB. De reden is dat deze L3-cache altijd de volledige inhoud van de L1- en L2-caches van alle processorkernen bevat. Daardoor blijft iets minder ruimte over voor de dataset van de benchmark, die slechts op één core actief is.
Verder zien we dat de Core i7 2,66 GHz bij een dataset vanaf 8 MB beter scoort dan de Core i7 3,2GHz. De reden is dat Cachemem latency uitdrukt in klokcycli van de processor, terwijl datasets groter dan 8 MB uit het geheugen moeten worden gehaald. Beide processors gebruiken even snel geheugen, en moeten daar dus even lang op wachten. De 3,2GHz-processor heeft een hogere kloksnelheid, dus doorloopt meer klokcycli gedurende dezelfde tijd – overigens is dat laatste niet geheel waar, omdat de geheugencontroller van de 3,2GHz-processor wel sneller werkt dan die van het 2,66GHz-model. Daarom haalt die eerste een hogere geheugenbandbreedte.
| Cachemem geheugenbandbreedte | Lezen (MB/s) | Schrijven (MB/s) |
| Intel Core i7 965 Extreme Edition (3,2 GHz) | 10.005,60 | 7.552,90 |
| Intel Core i7 920 (2,66 GHz) | 8.852,00 | 6.969,70 |
| Intel Core 2 Quad QX9650 (3,0 GHz) | 6.371,20 | 2.651,10 |
Opvallend is het grote verschil in bandbreedte tussen de Core i7 en Core 2. Leesbandbreedte is meestal belangrijker dan schrijfbandbreedte, daarom is de Core 2 daarvoor sterk geoptimaliseerd. Het verschil in schrijfbandbreedte daarentegen is enorm, maar dat was te verwachten als we bedenken dat Core i7 triple channel-geheugen gebruikt in combinatie met een veel snellere geheugencontroller.