Intel Core

Dekódovanie

Aby bolo možné dosiahnuť slušnej paralizácie výpočtov, bolo nutné sa pomerne komplexných inštrukcií (x86, x87…) programu zbaviť a zaviesť jednoduché primitívne malé povely, ktoré boli nazvané microOPs. Ďalším z dôvodov, prečo vznikli microOPs, je, že robia návrh výpočetnej jednotky jednoduchším. Ta potom môže pracovať na vyšších frekvenciách. Viac jednotiek na vyšších frekvenciách odvedie minimálne rovnako dobrú prácu ako jedna zložitá jednotka spracovávajúca priamo inštrukcie. Architektúra Core má k dispozícii štyri inštrukčné dekodéry.

Macro-fusion

Táto technika sa snaží o dekódovanie v programu s dvomi inštrukciami na jednu microOP, ktorá ich vystihne obe. V prípade Macro-fusion dôjde k zlúčeniu dvoch inštrukcií. Takto zlúčené inštrukcie potom prevezme jeden dekodér a vytvorí z nich jednu microOP.

MicroOPs fusion

Pokiaľ x86 inštrukcie vyžadujú dve operácie, dekóduje sa za normálnych okolností táto inštrukcia na dve microOPs. Tie potom putujú v pipeline spoločne. Fúzovanie microOPs vychádza z toho, že tieto dve microOPs je možné zlúčiť do jedného. Takto fúzovaná microOP skutočne zaberá iba jednu pozíciu v Reorder Bufferu.

Out-of-Order

Architektúra Core je, rovnako ako všetky dnešné procesory s pokročilým návrhom, tzv. Out-of-Order. Umožňuje teda spracovanie inštrukcií mimo v programe stanoveného poradia tak, aby sa čo najviac využilo dostupného výpočtového výkonu. Out-of-Order prebieha nasledovne:
Preladenie do optimálneho poradia → vykonanie výpočtu → zoradenie späť do poradia

Zmeny v jednotkách

Zásadnou zmenou je, že jednotky pre počítanie s celými číslami (ALU) sú teraz plne 64bit. Core má od základu prerobené jednotky. Vďaka tomu nová architektúra poskytuje plnú podporu inštrukčnej sady AMD64. Mimo toho tieto jednotky zvládajú 64bit operáciu za jediný hodinový cyklus, teda podstatne rýchlejšie ako je tomu u všetkých ostatných architektúr.

Výpočtové jednotky

Pretože Core má širšiu pipeline o rýchlosti štyroch microOPs za cyklus, museli byť do návrhu pridané ďalšie výpočtové jednotky. 
Výpočtová časť tak tvoria 3 celočíselné skalárne jednotky (ALU), dve FPU s možnosťou vektorovania SSE inštrukcií pracujúcich s desatinnou čiarkou a 3 celočíselné SSE jednotky. Z nich niektoré sú špecializované a vedia operácie, ktoré iné nevedia.

Jednotky pre prácu s pamäťou

Okrem výpočtových jednotiek je pipeline architektúry Core tvorená tiež jednotkami pre načítanie a ukladanie informácií. 
Konkrétne sa tu nachádzajú 3 jednotky, pritom každá má svoj vlastný Issue Port. Celkove tak Core obsahuje celkom 6 Issue Portov, zatiaľ co Pentium M ich má 5 a NetBurst dokonca iba 4. Jedna jednotka sa stará o ukladanie dát, druhá o ukladanie adries a tretia o načítanie adries.

Cache

Procesory Conroe, Woodcrest a Merom, prvá generácia čipov architektúry Core, budú obsahovať dve úrovne pamäte cache.
Cache prvej úrovne sú rozdelené na dátovú a inštrukčnú časť.
Inštrukčná L1 cache má rovnakú veľkosť ako cache dátová – 32 kByte. Je umiestnená priamo pred dekodérmi a jej dátová šírka je 160 a viac bitov.
Všetky cache pamäte sú spojené do unifikovanej cache pamäte druhej úrovne (tá teda obsahuje ako dáta, tak aj inštrukcie). Veľkosť tejto L2 cache je od 1 až po 12MB a v ďalšej generácii procesorov by sa mala ešte zväčšiť. Medzi L1 a L2 cache platí non-inclusive a zároveň non-exclusive hierarchia. To znamená, že L2 cache môže obsahovať niektoré dáta / inštrukcie obsiahnuté v L1 cache. Zároveň tu ale nie je požiadavka na duplikovanie všetkého. Tento režim je zo všetkých najlepší, pretože poskytuje dobrý výkon a zároveň neplytvá dátovým priestorom.

Dual-core a zdieľanie informácií

Core má na problém zo zdieľaním  dát medzi jadrami hneď dve odpovede. Prvou je unifikovaná L2 cache obsahujúca dva porty, kde je každý pripojený k L1 cache jedného jadra. To teda znamená, že L2 cache je medzi oboma jadrami zdielaná. Pokiaľ jedno jadro zapisuje nejaké výsledky do pamäti RAM, tieto výsledky sa predtým zapíšu do pamäti L2 cache, kde čakajú na oneskorený zápis (režim write-back). Medzi tím, čo čakajú, ich môže použiť druhé jadro.
Druhým spôsobom, je možnosť priameho prenesenia obsahu medzi dátovými L1 cache cez vnútornú zbernicu k tomuto účelu navrhnutú. Tento systém umožňuje, aby obe jadrá zdieľali obsah najčerstvejších informácií a to aj bez zápisu do L2 cache.

Hardwarový prefetch

Štandardne hardwarový prefetch dodáva dáta z pamäti RAM do L2 cache. U architektúry Core je tomu inak. Tu funguje predbežné načítanie dát nielen do L2, ale tiež  priamo do L1 a to ako z RAM, tak tiež z L2. Procesor tak obsahuje viac hardwarových prefetcherov. Aby nedošlo k zahlteniu, sú tieto koordinované na základe aktuálnych požiadaviek – pokiaľ prvé jadro bude spracovávať dátove náročný výpočet a bude neustále žiadať dáta z pamäte, zatiaľ čo druhé jadro bude využité len málo, priradí hardwarový prefetch prioritu jadru prvému a bude dodávať dáta predovšetkým pre neho. Druhé jadro medzi tým počká.
Teplotný manažment: Dôležitou súčasťou architektúry Core je optimalizácia s cieľom najvyššieho výkonu pri čo najnižšej spotrebe. 
Core  vypína nepoužívané časti procesora. Štandardný stav je pritom vypnutý, takže presnejšie zapína tie časti, ktoré sú potrebné. Napájanie je u novej architektúry realizované s veľmi jemnými krokmi po 0.0125V pomocou sedembitového VID (Voltage Identification) kódu a to v rozmedzí 0.0125V až 1.5000V.

Stack management

Stack je v podstate akási pamäť, ktorá slúži k tomu, aby sa do nej ukladal obsah registrov, prípadne aby sa z nej obsah registrov obnovoval. Vďaka tomu je možné získať nejaký dátový priestor pre výpočty.

Front Side Bus, sockety

Procesory Conroe, Woodcrest a Merom použijú pre spojenie zo svetom už mnoho rokov overenú technológiu FSB (Front Side Bus) známu z NetBurstu. Tá umožňuje pri danej frekvencii preniesť za jeden hodinový cyklus dve adresy a štyri dáta. Rýchlosť FSB:800, 1066, 1333, 1666 MHz.
Conroe je určený pre stolné počítače a je pre socket LGA775, ale vyžaduje nové napájacie okruhy.
Merom je určený pre notebooky.
Woodcrest je určený pre servery a socket LGA771.