De Core-architectuur (2)
Core heeft een gedeeld L2-cache, wat afhankelijk van de precieze uitvoering 2MB of 4MB groot is. De twee kernen kunnen door elkaar opgevraagde gegevens gebruiken, waardoor de gemiddelde toegangstijd afneemt als ze aan dezelfde taak werken. De capaciteit van het cache wordt dynamisch verdeeld tussen de twee cores, dus als het nodig is kan één thread de volle mep voor zijn rekening nemen. Door het cache te delen wordt ook busbandbreedte bespaard, omdat de onderlinge communicatie via het L2 afgehandeld kan worden. De L1-
Een dualcore Core-processor heeft in totaal acht prefetchers aan boord die samen met het ruime cache helpen om de latency te verlagen. Iedere core heeft er op L1-niveau twee voor data en één voor instructies, en nog eens twee worden er door de cores gedeeld in het L2. De reden om meerdere prefetchers voor hetzelfde cache te gebruiken is om verschillende toegangspatronen te kunnen herkennen. In tegenstelling tot oudere ontwerpen controleren de prefetchers van Core of de data die ze klaarzetten ook daadwerkelijk nuttig gebruikt wordt, zodat ze minder onnodige belasting van de bus veroorzaken en ook minder zinvolle gegevens per ongeluk uit het cache duwen. Verder krijgen leesopdrachten die uit de programmacode afkomstig zijn voorrang boven die van de verschillende prefetchers, waardoor het risico op een prestatieverslechtering door overenthousiaste prefetchers minimaal wordt.

Hoewel de latency van Core door het gebrek aan een geïntegreerde geheugencontroller nog steeds hoger is dan die van de K8, werkt de combinatie van het cache en de prefetchers zo goed dat zelfs verschillende latencybenchmarks (die specifiek zijn ontworpen om primitievere prefetchers te omzeilen) voor de gek worden gehouden. Het enige nadeel van de prefetchers is dat ze zo druk bezig kunnen zijn dat ze het stroomverbruik verhogen. Intel heeft daarom een optie ingebouwd om de agressiviteit in te stellen, waarbij de mobiele Merom van huis uit de mildste instellingen meekrijgt en Woodcrest als serverchip de zwaarste.
Om Core efficiënter te maken dan zijn voorgangers wordt niet alleen 65nm-productietechniek gebruikt, maar vooral ook slimme ontwerptrucs: zo ongeveer ieder onderdeel van de core kan in- en uitgeschakeld worden. Het oppervlak is opgedeeld in enkele tientallen verschillende gebieden die alleen maar actief zijn op de momenten dat ze ook daadwerkelijk gebruikt worden. Sommige delen, zoals caches, bussen en buffers, kunnen zelfs gedeeltelijk worden uitgeschakeld. Normaalgesproken brengt het uitschakelen van onderdelen een vervelend nadeel met zich mee, namelijk dat het tijd kost om ze weer in te schakelen als ze nodig zijn. Hierdoor gaat de reactietijd omhoog en daar kunnen de prestaties onder lijden. Er is echter een systeem bedacht dat van te voren voorspelt wanneer het nodig is om een bepaald deel van de chip te activeren, zodat deze steeds net op tijd gereed zijn.

Core is de eerste processor die 128-bits SSE-instructies in één klap kan verwerken. Eerdere ontwerpen moesten deze opsplitsen in twee brokken van 64 bits, wat sowieso minstens één extra kloktik vertraging betekent, maar ook voor de interne boekhouding minder efficiënt is dan gewoon één instructie uitvoeren. Door de brede datapaden voor multimedia kunnen er vier 64-
Volgende pagina (Blackford-chipset - 5/16)
