5. Procesory Intel: Vývojová řada, základní rysy a vnitřní architektura.



Podobné dokumenty
Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

Architektura Intel Atom

Roman Výtisk, VYT027

Charakteristika dalších verzí procesorů v PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

CHARAKTERISTIKA MODERNÍCH PENTIÍ. Flynnova klasifikace paralelních systémů

Architektura Intel Nehalem

Cache paměť - mezipaměť

Výkonnost mikroprocesoru ovlivňují nejvíce dvě hlediska - architektura mikroprocesoru a tzv. taktovací frekvence procesoru.

ARCHITEKTURA PROCESORŮ

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

OPS Paralelní systémy, seznam pojmů, klasifikace

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Pokročilé architektury počítačů

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Referát (pokročilé architektury počítačů)

Charakteristika dalších verzí procesorů Pentium

Představení a vývoj architektur vektorových procesorů

Architektura Intel Nehalem

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Paměťový podsystém počítače

Úvod do architektur personálních počítačů

ARCHITEKTURA PROCESORŮ

Pohled do nitra mikroprocesoru Josef Horálek

Využití ICT pro rozvoj klíčových kompetencí CZ.1.07/1.5.00/

Rodina Intel Nehalem:

PROCESOR. Typy procesorů

Vícejádrový procesor. Dvě nebo více nezávislých jader Pro plné využití. podporovat multihreading

Princip funkce počítače

Vlastnosti mikroprocesorů Josef Horálek

Přednáška. Správa paměti II. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Intel Microarchitecture Nehalem

MIKROPROCESOR. (c) Ing. Josef Varačka. Title: XI 28 11:40 (1 of 8)

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Procesor. Procesor FPU ALU. Řadič mikrokód

ORGANIZAČNÍ A VÝPOČETNÍ TECHNIKA

Volitelný počet jader

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

Profilová část maturitní zkoušky 2014/2015

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Procesory. Autor: Kulhánek Zdeněk

Profilová část maturitní zkoušky 2015/2016

Architektury počítačů a procesorů

Systém adresace paměti

Architektury CISC a RISC, uplatnění v personálních počítačích

Jan Nekvapil ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Výstavba PC. Vývoj trhu osobních počítačů

Identifikátor materiálu: ICT-1-08

Z čeho se sběrnice skládá?

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

Architektura počítačů

Paměti Josef Horálek

Struktura a architektura počítačů (BI-SAP) 11

Architektura procesoru ARM

Intel Pentium D (1) Intel Pentium D (4) Intel Pentium Extreme Edition (1) Intel Pentium D (5)

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Xbox 360 Cpu = IBM Xenon

Základní deska (mainboard)

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Procesor. Hardware - komponenty počítačů Procesory

logický obvod instruk ní sadou program napsaný v mikroinstrukcích RISC CISC registry adresovacích mechanism Instruk ní sada mikroprocesoru

Historie procesoru Pentium a jeho konkurence. Rostislav Kreisinger a Kamil Perutka

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Pokročilé architektury počítačů

Pokročilé architektury počítačů

Intel Procesor a jeho konstrukce. Vývojové typy, činnost procesoru

Procesor EU peníze středním školám Didaktický učební materiál

Pokročilé architektury počítačů

Intel Pentium D (1) Intel Pentium D (4) Intel Pentium Extreme Edition (1) Intel Pentium D (5)

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Architektury CISC a RISC, uplatnění v personálních počítačích - pokračování

ARCHITEKTURA AMD PUMA

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

PROCESOR. Rozdělení procesorů

Úvod do architektur personálních počítačů

Počítač jako elektronické, Číslicové zařízení

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Jak do počítače. aneb. Co je vlastně uvnitř

Počítač jako prostředek řízení. Struktura a organizace počítače

AGP - Accelerated Graphics Port

Technické prostředky počítačové techniky

Procesor. Základní prvky procesoru Instrukční sada Metody zvýšení výkonu procesoru

Informační a komunikační technologie

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Strojový kód. Instrukce počítače

Architektura počítače

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Číslo projektu: CZ.1.07/1.5.00/ III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Zdeněk Dostál Ročník: 1. Hardware.

Linux a 64 bitů. SUSE Labs. Michal Ludvig Vojtěch Pavlík

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Transkript:

5. Procesory Intel: Vývojová řada, základní rysy a vnitřní architektura. Obsah 5. Procesory Intel: Vývojová řada, základní rysy a vnitřní architektura.... 1 5.1. 4004 až 80486... 2 5.2. Pentium a Pentium MMX... 3 5.2.1. Pentium... 3 5.2.2. Pentium MMX... 4 5.3. Rodina P6... 5 5.4. Pentium 4... 7 5.5. Procesory Intel Core Duo... 9 4.6 Intel Core 2 Quatro... 18 QPI (Quick Path Interface)... 19 Intel Turbo Boost Technology... 19 Hyper-Threading Technology (HT Technology)... 21 Intel Virtualization Technology (Intel VT)... 21 Digital Media Boost... 22 Trusted Execution Technology... 22 AES New Instructions... 22 Enhanced Intel SpeedStep Technology... 22 Execute Disable Bit... 23 Nové instrukce SSE 4.2... 23 Podrobnější pohled na čtyřjádrovou architekturu Intel (jádro Nehalem):... 23 Architektura Intel Nehalem... 24 Změny na úrovni platformy... 25 Pohled na architekturu Intel Nehalem... 28 Integrovaný řadič paměti... 36 4.7 Závěr:... 38 4.8 Literatura... 38 Klíčová slova... 38 Slovník... 38 Časová náročnost kapitoly: 370 minut V této kapitole se zaměříme na popis procesoru firmy Intel. Historickým vývojem se vás pokusím seznámit s charakteristickými vlastnostmi prvního 4004 až posledního již na odchodu procesoru Intel 80486. Dále již podrobněji se budeme věnovat popisu procesoru Pentium,, Pentium 4. Po prostudování tohoto textu byste získali ucelenou představu o vývoji a vlastnostech procesorů firmy Intel.

5.1. 4004 až 80486 4004: V roce 1968 pánové Robert Noyce a Gordon Moore založili firmu Intel (Integrated Electronics), která o dva roky později představila první mikroprocesor označený 4004, který měl 4-bitovou strukturu. 8008: První 8-bitový mikroprocesor 8008 dává firma na trh v roce 1972. 8080 a 8085: Mikroprocesor 8080 z roku 1974 byl konstruován pro široké uplatnění. Je to 8-bitový procesor s instrukčním souborem kompatibilním s typem 8008 a s 30 nových instrukcí. Později byla na trh uvedena vylepšená modifikace 8080 jako 8080A. Mikroprocesor 8085 je označován jako vylepšení 8080 z hlediska HW. Je zde nový přerušovací systém a sériový vstup-výstupní kanál. 8086 a 8086: První 16-bitový mikroprocesor Intel 8086 je z roku 1978. Jde o první člen řady iapx 86. Jeho instrukční soubor je částečně zdola kompatibilní (programy z 8080 bylo možno spouštět po rekompilaci). Adresovací prostor procesoru je 1MB paměti. K procesoru 8086 bylo možno připojit matematický koprocesor pro operace v pohyblivé řádové čárce s označením Intel 8087. Z roku 1979 pochází Intel 8088, což je modifikace 8086. Liší se tím, že má vnější 8-bitovou strukturu. 80186 a 80188: Procesory Intel 80186 a 80188 jsou rozšířením procesorů 8086 a 8088 o dva kanály rychlého přístupu k paměti (DMA), tři programovatelné časovače, programovatelný řadič přerušení, generátor časovacích impulsů a o instrukce usnadňující volání a návrat z procedur ve vyšších programovacích jazycích a o instrukce umožňující efektivnější práci se zásobníkem. 80286: Mikroprocesor Intel 80286 byl dán na trh v roce 1983. Tento procesor má dva pracovní režimy: reálný a chráněný. V reálném režimu je procesor vlastně jenom rychlejší 8086. V chráněném režimu jsou programátorovi dostupné všechny vlastnosti 80286. Pro spolupráci s matematickým koprocesorem 80287 je vybaven prostředky umožňující současnou práci procesoru a koprocesoru. Dále procesor podporuje sdílení více programů v operační paměti včetně ochrany paměťových segmentů úrovněmi oprávnění. 80386: Zrod 32-bitového mikroprocesoru Intel 80386 se datuje rokem 1985. Má osm 32-bitových univerzálních registrů a dva nové segmentové registry. Dostupná kapacita fyzické paměti je 4GB a virtuální paměti 64GB. Má tři "pracovní režimy" reálný, chráněný a virtuální 8086. Je zabudován mechanismus virtuální paměti a dva způsoby členění paměti: na segmenty a stránky. Instrukční soubor mikroprocesoru Intel 80386 obsahuje kromě všech instrukcí typů 8086-80286 nové bitově orientované instrukce, instrukce pro posuny dvojnásobné délky a pro převod mezi 8-, 16- a 32-bitovými operandy. Procesor 80386 může spolupracovat s koprocesorem 80387. Procesor 80386SX je 32-bitový procesor s vnější 16-bitovou datovou sběrnicí. 80486: Rok 1989 přinesl nový typ procesorů Intel, lišící se od předchozích pokročilejší výrobní technologií. Procesor Intel 80486 je programově slučitelný s procesorem 80386. Je 3 až 5 krát rychlejší a na čipu má integrován rovněž matematický koprocesor a rychlou vyrovnávací paměť (Cache). Je zavedeno také zřetězené zpracovávání instrukcí (skalární vlastnost), které umožňuje podstatně urychlit spolu s inovovaným dekodérem instrukcí a novým mikrořadičem zpracovávat podstatnou podmnožinou instrukčního souboru během jediného hodinového taktu. V jediném okamžiku mohou být rozpracovány až čtyři instrukce (každá v jiné fázi zpracování načítání kódu,

dekódování, vykonávání a ukládání výsledků). Toto lze provádět za předpokladu, že instrukce se navzájem neovlivňují a toto rozhodování je součástí části procesoru, řídícího funkci instrukční roury. Mikroprocesory rodiny 486 existuje v několika různých provedeních, která výrobce označuje příponami DX, SX, SL a OverDrive. Původní model 486 byl označen DX. Verze i486sx je redukovaná verze čipu 486 nemá matematický koprocesor a verze 486SL je určená především pro přenosné počítače. Liší se možností přechodu do úsporného módu a může být napájen ze zdroje 3.3V. Označení i486dx2 nesou procesory sestavené technologií "zdvojení rychlosti" (speed doubling). 5.2. Pentium a Pentium MMX 5.2.1. Pentium Časová náročnost kapitoly: 30 minut V tomto procesoru můžeme vysledovat tendenci vývoje firmy INTEL - zvyšovat výkon procesoru pomocí implementace HW prostředků, do této doby používaných při konstrukci procesorů typu RISC s výhodou zachování instrukční sady procesoru CISC binárně kompatibilní se všemi 16 a 32 bitovými procesory firmy. Tato strategie vedla k velkému komerčnímu úspěchu, protože na nových, vysoce výkonných procesorech vyráběných ve velkých množstvích lze provozovat velké množství velmi levných aplikací, plně splňujících požadavky uživatelů. Nové vlastnosti Pentia: Díky své superskalární koncepci a dvojitému zřetězení (tzv. pipeliningu) je schopen provést více než jednu instrukci za jeden hodinový cyklus. Množství výkonných jednotek (ALU) procesoru větší než jedna nám říká, že procesor je superskalární, přičemž počet (možných) dokončených instrukcí za hodinový cyklus se označuje jako řád superskalarity. V tomto ohledu je Pentium superskalární procesor řádu 2. Byly také vylepšeny dekódovací a výkonné jednotky procesoru dalším zvětšením počtu instrukcí, které lze vykonat během jedné periody hodinového kmitočtu procesoru. Těmto instrukcím se někdy říká "zadrátované" (hardwired), protože nevyžadují rozkódování své činnosti do mikroinstrukcí vykonávaných řadičem mikroinstrukcí. Toto podstatně zvyšuje výkon procesoru bez toho, aby se to dotklo programové kompatibility procesoru. Byla vylepšena jednotka FPU, což přineslo výrazné zrychlení aplikací vyžívajících FPU. Zlepšení bylo dosaženo použitím technologií a principů, které byly odzkoušeny u procesorů RISC řady R6000. Pentium má dvojici mnohostrannějších a efektivnějších interních vyrovnávacích pamětí - jednu pro data a jednu pro instrukce. Každá z nich má kapacitu 8 KB a obě jsou organizovány jako dvoucestné asociativní. Dále byl implementován plnohodnotný mechanismus předvídání skoků, což je další prvek, známý do této doby z procesorů typu RISC. Interní vyhodnocování parity má odhalit případné chyby ve zpracování.

Prostředky pro řízení příkonu (power management) pomohou konstruovat nízkopříkonové počítače a vybavit je i dalšími výhodnými vlastnostmi pro potřeby zabezpečení. Celková koncepce - soubor instrukcí, skladba univerzálních i segmentových registrů, datových typů a adresovacích způsobů - stále plně odráží model zavedený procesory 386 a 486. Obecně lze říci, že se reálný režim, chráněný režim (protected mode) i režim V86 (virtual 86 mode) změnily jen málo. I mechanismus segmentace, vychází z konvencí procesorů 386 a 486. V reálném režimu používá 16-bitové segmentové registry, v chráněném režimu pak tytéž registry jako 16-bitové selektorové registry. Mechanismus stránkování dovoluje používat stránky o velikosti 4KB (jako u 386 a 486) nebo 4MB nebo kombinace obou. Myšlenku zřetězeného zpracování instrukcí (pipelining) implementovaly už procesory 386/486. Pentium jde však v tomto ohledu dále, pracuje se dvěma takovýmito řetězci. Výsledným efektem struktury se dvěma řetězci rozpracovaných instrukcí je schopnost dokončit více než jednu strojovou instrukci za jeden cyklus hodin. Posloupnost úkonů v rámci řetězce je následující: PF = prefetch načtení instrukce z paměti D1 = decode 1 první část dekódování D2 = decode 2 druhá část dekódování Ex = execute výkonná fáze WB = write-back zpětný zápis výsledků provedené operace. Zpracování instrukcí dvěma řetězci současně je založena na dvou řetězcích rozpracovaných instrukcí, což umožňuje dokončit najednou více než jednu instrukci. Jednotlivé řetězce se označují U a V a instrukce se mezi ně rozdělují tak, aby počet dokončených instrukcí za jednotku času byl větší než jedna. Oba řetězce nejsou ekvivalentní: řetězec U je schopen provádět instrukce v celočíselné aritmetice a instrukce v pohyblivé řádové čárce, řetězec V pouze jednoduché celočíselné instrukce a instrukce pro výměnu obsahu registrů pro pohyblivou řádovou čárku. 5.2.2. Pentium MMX Časová náročnost kapitoly: 30 minut Základní charakteristiky: podpora technologie Intel MMX superskalární architektura (dvě zřetězené celočíselné jednotky, zřetězená FPU jednotka, zřetězená MMX jednotka) samostatná datová a instrukční cache o velikosti 16KB

Architektura procesoru Pentium MMX vychází z architektury procesoru Pentium a je rozšířena o podporu technologie Intel MMX, datová a instrukční cache jsou zvětšeny z 8KB na 16KB a vylepšení jednotky predikce skoků. Architektura procesoru se shoduje s klasického Pentia, doplněna byla pouze jednotka MMX. Technologie MMX je určena k urychlení multimediálních a komunikačních operací. Zahrnuje v sobě nové instrukce a datové typy, které aplikacím umožňují dosáhnout významného zvýšení výkonu. Klíčové vlastnosti multimediálních a komunikačních aplikací, které byly brány v potaz při návrhu technologie MMX jsou: malé celočíselné datové typy (například 8bitové grafické body, 16bitové zvukové vzorky) malé smyčky s velkým počtem opakování časté násobení a ukládání výpočetně náročné algoritmy Technologie MMX je tvořena soustavou jednoduchých univerzálních celočíselných instrukcí, které je možno jednoduše použít pro potřeby řady různých multimediálních a komunikačních aplikací. Základní rysy technologie jsou: Technika SIMD (Single Instruction, Multiple Data) 57 nových instrukcí 8 nových 64bitových MMX registrů čtyři nové datové typy Základem technologie MMX je technika nazvaná SIMD, která umožňuje současné zpracování více informací jednou instrukcí, čímž se zavádí paralelismus, vysoce zvyšující výkon. 5.3. Rodina P6 Časová náročnost kapitoly: 60 minut Změny architektury uvedené v procesoru Pentium Pro jsou natolik zásadní, že se procesory Pentium Pro a vyšší označují jako procesorová rodina P6. V procesoru Pentium II byla architektura Pentium Pro doplněna o technologii MMX a byly zavedeny nové technologie zapouzdření procesoru. Nejnovějším členem této architektury je procesor Pentium III, založený na architekturách Pentium Pro a Pentium II. Procesor Pentium III obsahuje 70 nových instrukcí, umožňující efektivnější práci se stávajícími jednotkami procesoru i s novou jednotkou SIMD- FPU. Prvním procesorem rodiny P6 byl procesor Pentium Pro, následovaný procesorem Pentium II. Jako levnější varianta procesoru Pentium II je nabízen procesor Intel Celeron, určený pro potřeby běžných uživatelských systémů. Pracuje s kmitočtem až 500 MHz a více, je vybaven L1 cache o velikosti 32 KB a L2 cache o velikosti 128 KB. Naopak pro náročnější aplikace je určen procesor Pentium II Xeon,

vybavený větší L2 cache. Nejnovějším členem rodiny P6 je procesor Pentium III, učený pro výkonově náročné oblasti, zejména pro servery. Pracuje s kmitočtem až 600 MHz a více, L2 cache má velikost 512 KB. Umožňuje nasazení ve dvouprocesorových systémech. Nejvýkonnější procesor rodiny P6 je Pentium III Xeon a umožňuje nasazení až ve čtyřprocesorových systémech s L2 cache o velikosti až 2 MB. Základní architektura všech procesorů rodiny P6 je shodná, rozdíly jsou pouze v technologii výroby umožňující zvýšení hodinového kmitočtu, v zapouzdření a v doplnění některých nových instrukcí. Všechny procesory rodiny P6 s výjimkou procesoru Pentium Pro jsou vybaveny technologií MMX. Popis mikroarchitektury rodiny P6: paměťový subsystém systémová sběrnice, L2 cache, jednotka řízení sběrnice (bus interface unit), instrukční L1 cache, datová L1 cache, jednotka řízení paměti (memory interface unit) a buffer řízení paměti (memory reoder buffer). jednotka výběru a dekódování (fetch/decode unit) jednotka výberu instrukce (instruction fetch unit), buffer skoků (branch target buffer), dekodér instrukcí (instruction decoder), sekvencér mikrokódu (microcode sequencer) a tabulka registrových aliasů (register alias table). řídící a výkonná jednotka (dispatch/execute unit) rezervační stanice (reservation station), dvě celočíselné jednotky, jedna FPU jednotka, dvě jednotky generování adresy a dvě FPU-SIMD jednotky. vyřazovací jednotka (retirement unit) vyřazovací jednotka a jednotka vyřazování registrů. Paměťový subsystém je tvořen hlavní systémovou pamětí, primární pamětí cache (L1) a sekundární pamětí cache (L2). Jednotka řízení sběrnice přistupuje k hlavní systémové paměti prostřednictvím externí systémové sběrnice. Jedná se o 64bitovou transakčně orientovanou sběrnici. K L2 cache přistupuje jednotka řízení sběrnice prostřednictvím 64bitové cache sběrnice rovněž transakčně orientována a podporuje až čtyři současné přístupy k paměti cache. Přístup k pamětem L1 se odehrává prostřednictvím interních sběrnic. Požadavky na paměť z výkonných jednotek procesoru se zpracovávají přes jednotku řízení paměti a buffer řízení paměti. Jednotka výběru a dekódování načítá instrukce architektury Intel z L1 cache a dekóduje je na sekvence mikrooperací. Proud mikroinstrukcí se ukládá do instrukčního poolu. Nejdůležitější částí procesu je predikce skoků zajišťovaná bufferem skoků. V rámci tohoto instrukčního okna může být řada větvení, volání procedur a návratů, které je nutné správně předpovídat. Dekodér instrukcí obsahuje tři paralelní dekodéry: dva pro dekódování jednoduchých instrukcí a jeden dekodér složitých instrukcí. Před vstupem do instrukčního poolu jsou mikrooperace uspořádány ve stejném pořadí jako původní strojové instrukce. Instrukční pool je pole 40 registrů mikrooperací. Výkonná jednotka může provádět instrukce z instrukčního poolu v libovolném pořadí. Řídící a výkonná jednotka zajišťuje plánování a provádění mikrooperací uložených v instrukčním poolu podle datových závislostí a dostupnosti prostředků a zpět do poolu ukládá výsledky takto spekulativně provedených instrukcí. Plánování a přebírání mikrooperací z poolu je obsluhováno rezervační stanicí. Po provedení instrukce dojde k jejímu opětnému uložení do poolu. Na obsluhu skoků je určena jedna celočíselná jednotka. Pokud se detekuje mikrooperace skoku, zjistí, zda byl skok predikován dobře nebo chybně a podle

toho se urči další cesta. Správná cílová adresa se pak předá bufferu skoků, který následně restartuje proudové zpracování od nové adresy. Paměťová jednotka realizuje mikrooperace čtení a zápisu. Čtecí instrukce vyžadují uvedení pouze jedné paměťové adresy. Zápisové instrukce musí obsahovat jednak adresu zápisu a jednak zapisovaná data. Vyřazovací jednotka převádí výsledky spekulativně provedených mikrooperací na strojový stav procesoru a vybírá provedené mikrooperace z instrukčního poolu. Podobně jako rezervační stanice trvale prohledává pool a vyhledává již provedené mikrooperace bez závislostí na jiných mikrooperacích v poolu. 5.4. Pentium 4 Časová náročnost kapitoly: 60 minut Procesor Pentium 4 je dalším z řady 32-bitových procesorů x86 firmy Intel (firma tuto radu nazývá IA-32). Procesor Pentium 4 je založen na mikroarchitektuře NetBurst. Procesor se umísťuje do nové patice Socket 478 a je vyroben 0.18 mikronovou technologií. Díky mikroarchitektuře NetBurst a vetší dosažitelné frekvenci jádra procesoru (procesor je dostupný v rozsahu frekvencí 1.3 až 2GHz) je výkon této generace procesoru Intel lepší oproti generaci P6 procesoru této firmy (což jsou procesory Pentium III). Procesor je podporován chipsetem Intel 850. Pro uživatele je výhodná plná kompatibilita s existujícím softwarem založeným na 32-bitové architektuře Intel. Mikroarchitektura NetBurst přináší několik novinek a zlepšení jako například Hyper Pipelined Technology, 400MHz systémovou sběrnici, Execution Trace Cache a Rapid Execution Engine. Stejně tak jako množství rozšíření jako například Advanced Transfer Cache, Advanced Dynamic Execution, vylepšená jednotka pro výpočty v plovoucí řádové čárce a Streaming SIMD Extensions 2 (SSE2). Nyní budou představeny jednotlivé rysy mikroarchitektury Net-Burst: Technologie Hyper Pipelined: Tato technologie mikroarchitektury NetBurst zdvojuje hloubku pipeline v porovnání s architekturou P6. Jeden z klíčů pipelines je implementován ve 20 stupních, což je tedy zdvojení oproti 10 stupňům mikroarchitektury P6. Tato technologie význame zvyšuje výkon a umožňuje dosáhnutí vyšších frekvencí procesoru. 400MHz systémová sběrnice: Procesor Pentium 4 podporuje systémovou sběrnici schopnou přenést ven a dovnitř procesoru 3.2GB/s. Takovýto přenos je možný díky fyzickému signálovacímu schématu čtyrnásobného přenosu dat nad systémovou sběrnicí casovanou na 100MHz a bufrovacímu schématu, které umožňuje podporovat 400MHz přenos dat. Díky temto novým vlastnostem došlo ke zlepšení přenosová rychlosti a frekvence systémové sběrnice oproti přenosu 1.06GB/s procesoru Pentium III se 133MHz systémovou sběrnicí..

Konkurenční firma AMD aktuálně dosáhla 266MHz systémové sběrnice u sedmé generace svých procesoru (což jsou procesory Thunderbird (Athlon) a Duron). Musíme si ovšem uvědomit, že pro takové systémové sběrnice jsou nutné i nové paměti. V případe Pentium 4 jsou to paměti RDRAM, v případe sedmé generace procesoru firmy AMD jsou to paměti DDR SDRAM. Dnes jsou k dispozici chipsety, které umožňují zapojovat tyto procesory s pamětmi SDRAM 133MHz, ale při jejich použití ztrácíme výhodu vyšších datových přenosových rychlostí. Level 1 Execution Trace Cache: Vyrovnávací paměť prvního stupně (L1 cache) byla zmenšena na 8KB, ale Pentium 4 navíc obsahuje Execution Trace Cache, do které se ukládá 12K dekódovaných mikrooperací (tzv. mops) v poradí vykonávání programu. Execution Trace Cache zvyšuje výkon díky vyjmutí dekodéru z hlavní vykonávací smyčky a zefektivňuje použití ukládacího prostoru cache, poněvadž instrukce, které se rozvětvují se neukládají. Výsledkem je přenos velkého objemu instrukcí k vykonávací jednotce procesoru a redukce celkového casu požadovaného k pokrytí větvení, které nebyly predpovězeny. Rapid Execution Engine: Dvě aritmeticko-logické jednotky (ALU) procesoru Pentium 4 jsou casovány na dvojnásobné frekvenci jádra procesoru. Dvojnásobná frekvence umožňuje vykonávat základní celočíselné instrukce jako jsou sčítání, odmítání, logický součin, logický součet atd. v polovině hodinového cyklu. Pro názornost uveďme, že Rapid Execution Engine procesoru Pentium 4 1.5GHz je taktována na frekvenci 3GHz. Level 2 Advanced Transfer Cache: Level 2 Advanced Transfer Cache, která má velikost 256KB, přináší vyšší datovou propustnost mezi vyrovnávací pamětí druhého stupně (Level 2 cache) a jádrem procesoru. Advanced Transfer Cache je vyrovnávací paměť s 8-cestnou asociativitou a délkou řádku 128B. Advanced Transfer Cache se skládá ze 256-bitového (32B) rozhraní, které přenáší data na každý hodinový impuls jádra. Výsledkem je, že L2 cache procesoru Pentium 4 1.5GHz je schopna datového přenosu 48GB/s. Tuto hodnotu můžeme porovnat s přenosovou rychlostí 16GB/s procesoru Pentium III taktovaného na frekvenci 1GHz. Advanced Dynamic Execution: Advanced Dynamic Execution provádí spekulativní vykonávání instrukcí a dodává vykonávací jednotce instrukce. Advanced Dynamic Execution také zahrnuje rozšířený algoritmus předpovědi větvení, který redukuje počet nepředpovězených předpovědí okolo 33% oproti předpovědi větvení generace P6 procesoru Intel. Taková redukce je možná díky přidání vyrovnávací paměti branch target (BTB) o velikosti 4KB, ve kterém je uloženo vícedetailu o historii minulých větvení a také díky implementaci více pokročilého algoritmu předpovědi větvení.. Vylepšená jednotka pro výpočty v plovoucí řádové čárce: Procesor Pentium 4 rozšiřuje registry jednotky pro výpočty v plovoucí radové čárce na plných 128 bitu a přidává registr pro pohyb dat, který zlepšuje výkon operací v plovoucí radové čárce.. Streaming SIMD Extensions 2 (SSE2): Intel u procesoru Pentium 4 rozšiřuje stávající výpočetní techniku single-instruction, multiple-data (SIMD), tzn.

techniku umožňující naráz provést několik aritmetických operací. Jedná se tedy již o v poradí třetí rozšíření po MMX (procesory Pentium MMX) a SSE (procesory Pentium III). SSE2 disponuje 144 instrukcemi, které do stávající instrukční sady SSE přidávají schopnost operovat se 128-bitovými zahuštěnými čísly s dvojitou přesností v plovoucí radové čárce a 128-bitovými zahuštěnými celými čísly.. Intel tradičně uvádí, že tyto instrukce by mely najít uplatnění například v multimediích nebo kryptování. Superskalární vykonávací jednotka umožňuje vykonávání mimo poradí a muže také provádět různé mikrooperace paralelně. V každém cyklu muže jednotka odbavit mikrooperace do ctyr portu. Každý z techto portu provádí jiné typy mikrooperací. Přínosem procesoru Pentium 4 by mel být vyšší výkon a to nejen kvůli vyšší dosažitelné frekvenci. Porovnání výkonu s jinými srovnatelnými procesory (ať již s procesory Pentium III nebo s procesory sedmé generace firmy AMD) není prozatím presvědčivé. Výkon tohoto procesoru se ale v plné šíři projeví až v aplikacích optimalizovaných přímo pro tento procesor. 5.5. Procesory Intel Core Duo Časová náročnost kapitoly: 120 minut Conroe, Merom a Woodcrest jsou první čipy, které budou obsahovat zcela novou architekturu. Core je v zásadě zcela nová generace procesorů. Přesto se velmi inspiruje v Pentiu III, respektive v Pentiu M. Velmi zjednodušeně řečeno je vztah mezi Pentiem M a Core takový, že Core je Pentium M + širší paralelismus + více zdrojů pro provedení výpočtů + vyšší frekvence + některá další vylepšení. Sice bychom procesory Conroe, Merom a Woodcrest těžko mohli nazvat Pentiem M (změn je příliš mnoho, celá pipeline byla předělána), ale základní přístup si bere právě z něj. Procesor CPUID Pentium Pro 0611 Pentium II 0633 Pentium III 0672 Pentium M 0695 Pentium M dual-core (Yonah) 06E8 Conroe 06F1 Pentium 4 0F07 Pentium D Smithfield 0F44

Patrně proto, aby Intel uctil památku Pentia III, budou se nové procesory identifikovat podobně jako starší generace Pentia III a Pentia M. Instrukce CPUID navrací při identifikaci čipu hodnoty Family, Model a Stepping. První jmenovaná - Family - je určující pro základní architekturu. Všechny procesory Pentium Pro a následující stejného typu vrací hodnotu 6. Navzájem jsou pak rozlišeny jen hodnotu Model, která například u Pentia II činí 3, zatímco u Pentia III 7 Dekódování - až pět instrukcí za takt Jednou z nejvíce modifikovaných částí oproti Pentiu M je dekódování (tzv. Front-End). Tato část procesoru se stará o "přivezení" (makro)instrukcí z paměti RAM (resp. z cache) a jejich proměnu na microops. microops jsou vnitřní "malé instrukce" (nazvěme je povely), které jsou v pipeline "nasypány" přímo do výpočetních jednotek a na jejichž základě procesor provádí výpočty. Na paralelizaci dnes stojí celý výkon procesorů. Možnost zpracovávat dvě úlohy najednou prakticky zdvojnásobuje výkon - procesor se pak chová, jako kdyby měl dvojnásobnou frekvenci. Dnešní procesory umí zpracovat paralelně mnoho instrukcí. Počet microops dodaných Front-endem do výpočetní části má velký význam pro celkový výkon čipu. Čím více microops za stejný čas přibude, tím více výpočetních úloh je k dispozici a tím může být silnější paralelizace, základní determinanta výkonu. Architektura Core má k dispozici čtyři instrukční dekodéry. Tři jsou určeny pro jednoduché instrukce (např. sečítání, odčítání), které se dekódují do maximálně jedné microop. Jeden dekodér je určen pro komplexní instrukce, které se přetvoří do až čtyřech microops (samozřejmě zvládá i ony jednoduché). Celkově tak dekódování umí dodat do microop Bufferu

(paměťového vyrovnávacího skladu microops umístěného ihned za dekodéry) až sedm microops za takt. Macro-fusion, microops vision Specialitou architektury core spojenou s Front-End částí je Macro-fusion (fúzování makroinstrukcí - tedy instrukcí x86, x87 atp.). Tato technika se snaží o dekódování v programu se vyskytujících dvou instrukcí na jednu microop, která je vystihne obě. Na příkladu na obrázku je pět instrukcí počínaje čtení z paměti do eax registru (load eax, [mem1] ) a konče zvětšením registru ecx o jedničku (inc ecx). Za normálních okolností musí těchto pět instrukcí projít "pěti" dekodéry (co dekodér, to jedna zpracovaná instrukce).

V případě Macro-fusion dojde ke sloučení dvou instrukcí, konkrétně instrukce požadující porovnání obsahu registru eax s daty v paměti (cmp eax, [mem2] ) s ihned za ní následující podmínkovou instrukcí žádající v případě neshody dat odskok na adresu v paměti (jne targ = jump if not equal to target). Takto sloučené instrukce pak převezme jeden dekodér a vytvoří z nich jednu microop. Za jeden hodinový cyklus je možné takto sloučit jeden pár provést libovolný ze čtyřech dekodérů.instrukcí a toto sloučení může Když to shrneme, čtyři dekodéry mohou za jistých okolností dekódovat až pět instrukcí (tři dekodéry jednu a jeden dvě fúzované). Výstupem dvou fúzovaných instrukcí je jedna microop. Celkově tedy procesor může dekódovat více instrukcí najednou a zároveň pomocí méně microops vystihne stejnou práci (... což má pozitivní efekty ve výpočetní části, jak si dále ukážeme). Out-of-Order zpracování Architektura Core je, stejně jako všechny dnešní procesory s pokročilým návrhem, tzv. Out-of-Order. Umožňuje tedy zpracování instrukcí mimo v programu stanoveném pořadí tak, aby se co nejvíce využilo dostupného výpočetního výkonu. Out-of-Order probíhá následovně: Přeřazení do optimálního pořadí -> vykonání výpočtu -> seřazení zpět do pořadí Out-of-Order zpracování probíhá pomocí microops, které, jak už bylo řečeno, reprezentují jednoduché operace původně přikázané instrukcemi jako x86, x87, SSE atp..

Řízení Out-of-Order řazení následuje ihned za dekódováním. Z microops Bufferu jsou převzaty až čtyři microops za hodinový cyklus a následně poslány do jednotky zodpovědné za přiřazení registru (Register Alias Table, Allocator). Operace počítačů PC probíhají s daty v registrech. To je několik extrémně rychlých paměti o velikosti 8 až 64 bitů (resp. až 128 bitů u SSE, ale to je trochu specifický případ), z nichž jsou přímo zásobovány výpočetní jednotky. Registry jsou značeny eax, ebx atd. a jejich počet se liší v závislosti na použitém režimu (64 bit režim má těchto registrů nejvíc). Protože po sobě následující instrukce často vyžadují stejný registr (programátor to tak prostě vymyslel), nebylo by možné vykonávat tyto instrukce paralelně, aniž by došlo k přejmenování. Registr eax se tak ocitne někde v interní paměti procesoru hned několikrát, pokaždé s jinou adresou, ale pokaždé (z hlediska instrukce) pojmenovaný eax. V zásadě je totiž úplně jedno, kde data jsou, důležité je, že jsou přiřazeny ke správné instrukci. Po přejmenování registrů jsou microops upraveny tak, aby odkazovaly na konkrétní datové místo v Register Alias Table. Následně putují do Reorder Buffer, což je paměť, v níž se microops přeřadí tak, aby je bylo možné vykonávat co možná nejvíc paralelně. Velikost tohoto bufferu je určující pro tzv. "in-flight microops" (někdy také "in-flight (micro)instructions" nebo "instruction window"), což by se dalo přeložit jako "počet najednou přeřazených microops". Tento počet je jedním z největších determinantů výkonu. Výpočetní jednotky Protože Core má širší pipeline o rychlosti čtyř microops za cyklus, musely být do návrhu přidány další výpočetní jednotky. Oproti Pentiu M tak přibyla jedna jednotka pro celočíselné výpočty a jedna SSE jednotka.

Výpočetní část tak tvoří tři celočíselné skalární jednotky (ALU), dvě FPU s možností vektorování SSE instrukcí pracujícíh s desetinnou čárkou a tři celočíselné SSE jednotky. Z nich některé jsou specializované a umí operace, které jiné neumí. Tyto jednotky jsou uspořádány do třech Issue Portů: Port 0 - komplexní ALU, FPU / SSE jednotka a celočíselná SSE jednotka Port 1 - jednoduchá ALU, FPU / SSE, celočíselná SSE jednotka Port 2 - jednoduchá ALU a celočíselná SSE Issue Port je místem, do kterého se posílají microops z Reservation Station. V rámci každého Issue Portu operuje v jednom okamžiku pouze jediná jednotka, které lze odeslat jedinou microop. Pozicování jednotek na jednotlivé Issue Porty a počet samotných Issue Portů jsou tak klíčové faktory pro dosahování optimálního paralelismu. sahovat nejvyššího výkonu ze všech v současnosti provozovaných architektur. Jednotky pro práci s pamětí Vyjma výpočetních jednotek je pipeline architektury Core tvořena také jednotkami pro načítání a ukládání informací.

Konkrétně se zde nachází tři jednotky, přičemž každá má svůj vlastní Issue Port. Celkově tak Core obsahuje celkem šest Issue Portů, zatímco Pentium M jich má pět a NetBurst dokonce pouze čtyři. Jedna jednotka se stará o ukládání dat, druhá o ukládání adres a třetí o načítání adres. Tyto jednotky pracují s gigantickým datovým Translation Look-Aside Bufferem o kapacitě 256 záznamů. To je 8x více než má NetBurst a Athlon 64 a dvakrát více, než má Pentium M. Translation Look-Aside Buffer (TLB) slouží jako vyrovnávací paměť (cache) mezi převodem virtuálních adres na adresy fyzické. Virtuální adresy jsou ty adresy, které vidí program - tedy například rozsah 00000000h až 007FFFFFh. Cache a sdílení dat mezi jádry Procesory Conroe, Woodcrest a Merom, první generace čipů architektury Core, budou obsahovat dvě úrovně pamětí cache. Procesor obsahuje sdílenou L2 cache Cache první úrovně je, jako již tradičně u všech moderních návrhů, rozdělena na datovou a instrukční část. Z datové části jsou, jak jsme již hovořili, zásobovány výpočetní jednotky a do ní jsou naopak zapisovány výsledky pomocí jednotek pro práci s pamětí umístěných na Issue Portech 3-5. Instrukční L1 cache má stejnou velikost jako cache datová - 32 kbyte. Je umístěna přímo před dekodéry a její datová šířka činí 160 či více bitů (přesný údaj není znám). To je poměrně významné navýšení oproti procesoru Pentium M, u nějž to bylo 128 bitů. Toto rozšíření je zde z důvodu přidání dalšího dekodéru - nový hardware má samozřejmě vyšší nároky na objem dat. Hovořit o rychlosti instrukční cache nemá příliš smysl, neboť její práce má vysloveně sekvenční (burst) charakter. Všechny cache paměti jsou spojeny do unifikované cache paměti druhé úrovně (ta tedy obsahuje jak data, tak také instrukce). Velikost této L2 cache je u první generace čipů 2 nebo 4 MB, přičemž u druhé generace

má vzrůst na 3, resp. 6 MB. Latence není známa, dá se ale očekávat, že bude stejně jako u Yonahu kolem 14 hodinových cyklů. To je sice o 40 % pomalejší než první a druhá generace Pentií M (jádra Banias a Dothan), na druhou stranu je to stále cca. dvojnásobná rychlost oproti NetBurstu. Nižší latence by také zřejmě znemožnila čipu dosahovat frekvencí nad 3 GHz, proto tak "pomalé" hodnoty. Mezi L1 a L2 cache platí non-inclusive a zároveň non-exclusive hierarchie. To znamená, že L2 cache může obsahovat některá data / instrukce obsažené v L1 cache. Zároveň zde ale není požadavek na duplikování všeho. Tento režim je ze všech nejlepší, neboť poskytuje dobrý výkon a zároveň neplýtvá datovým prostorem. Inclusive systém znamená, že celý obsah L1 cache je duplikován v L2 cache. Kvůli tomu je reálná úložná kapacita obou cache menší než jejich součet (L2 je takto virtuálně snížena o velikost L1). Výhodou je, že jakmile procesor potřebuje obměnit data / instrukce v L1 cache, jednoduše její obsah zahodí a načte data z L2 (jinými slovy data přepíše těmi z L2 a vymění záznamy o tom, co je v L1 uloženo). Stačí tedy jedna operace a to čtení z L2 a zápis do L1. Inclusive se hodí zejména pro procesory s malou velice rychlou cache první úrovně, kde jsou často potřeba výměny dat. Exclusive systém pracuje na principu zcela odděleného obsahu. Co je v L1 cache, není v L2 cache. Celková kapacita je proto součtem velikostí L1 a L2 cache. Speculative precomputation a prefetch Přestože spekulativní předpočítávání není součástí žádné architektury (jedná se totiž o softwarovou záležitost), jedná se o princip, který bezpochyby velmi významně ovlivnil návrh nových procesorů Conroe, Woodcrest a Merom. Co to spekulativní předpočítávání je? Jedním z největších problémů při snaze o dosažení vysokého výkonu jsou latence pamětí RAM. Operační paměť (dnes obvykle DDR2 SDRAM) je prostě příliš pomalá a než dodá nějaká data, uplyne věčnost. Pokud při Out-of-Order řazení instrukcí procesor zjistí, že nemá příslušná data, nepošle microop do výpočetní jednotky. Tato microop bude místo toho muset počkat. V situaci, kdy přístup do paměti RAM může trvat klidně 200 hodinových cyklů procesoru, je zpomalení obrovské - pokud by vše s dodávkou dat probíhalo bez problémů, Core by dokázal vykonat za stejnou dobu cca. 800 microops. Pokud se ale celý výpočet zadrhne na jedné instrukci, celá pipeline se zastaví a výkon bude prakticky nulový.

Spekulativní předpočítávání generuje pomocná výpočetní vlákna Jedním ze způsobů, jak tento problém obejít, je dodat data do vyrovnávací paměti cache, která je podstatně rychlejší než RAM. Dodávka probíhá jednak na úrovni cache line požadavků, ale také na úrovni prefetch mechanismů (prefetch můžeme přeložit jako dodávku dat ještě před tím, než jsou vyžadovány). Cache je v procesoru organizována do tzv. lines. To jsou datové bloky o určité velikosti - obvykle 64 bytů (512 bitů). Programy vytvořené se statickými proměnnými, tedy proměnnými definovanými přímo ve zdrojovém kódu (... a nikoli těmi, které se vytváří na základě nějakého dynamicky (za chodu) se sestavujícího řetězce údajů s adresami na další záznam), kompilátor při tvorbě strojového kódu obvykle umístí ihned vedle sebe. Procesor tohoto faktu využívá k vylepšování rychlosti formou přísunu dat do cache a to tak, že načte nejen požadovanou proměnnou, ale také data kolem ní. Paměť RAM má velmi dlouhou dobu vyhledávání, ale samotná dodávka dat je poměrně rychlá. Pokud tedy dodá nejen jedinou proměnnou o velikosti např. 4 byte, ale také další byty okolo, nebude jí to trvat příliš mnoho času navíc. Procesor takto načte nejen požadovanou proměnnou, ale také mnoho proměnných umístěných v kódu hned vedle, přičemž pravděpodobnost přístupu k datům hned vedle nedávno požadované proměnné je velmi vysoká (často téměř 100%). Tím dojde k obrovskému zvýšení rychlosti. Nevýhodou načítání dat na bázi cache line je, že neeliminují prvotní čekání. Systém tak sice odstraní velkou většinu čekání, nikoli ale všechny. Z toho důvodu jsou ještě používány prefetch mechanismy. Prefetch instrukce je příkaz procesoru, že má načíst určitý blok dat z paměti RAM do paměti cache. První prefetch instrukce byly součástí sady 3Dnow! u procesorů AMD K6-2. Intel je poprvé uvedl v SSE v Pentiu III. Prefetch instrukce jsou dobré pro odstranění prvotního čekání, mají však dva velké nedostatky. Prvním (a zároveň nejzávažnějším) je, že adresa umístění dat v paměti musí být známa. Pokud tato závisí na předchozích výpočtech, nelze prefetch příliš uspíšit před okamžikem, kdy jsou data skutečně potřeba, neboť Out-of-Order zpracování se týká relativně malého počtu instrukcí (v architektuře Core "pouze" 96 záznamů v Reorder Buffer), zatímco čekání na RAM trvá věčnost. Druhým problémem pak je,

že prefetch instrukce vyžaduje vygenerování microop, takže snižuje aktuálně dostupný výpočetní výkon. Kompletní schéma jádra architektury Intel Core 4.6 Intel Core 2 Quatro Časová náročnost kapitoly: 120 minuta Technologie používané v procesorech řady CORE i QPI Quick Path Interface Intel Turbo Boost Technology Hyper-Threading Technology (HT Technology) Intel Virtualization Technology (Intel VT) Intel Trusted Execution Technology (Intel TXT) AES New Instructions Enhanced Intel SpeedStep Technology Execute Disable Bit New Instruction SSE

QPI (Quick Path Interface) QPI je vysokorychlostí sériové propojení, skládající se ze dvou 20-bitových spojů (jeden pro každý směr). Z těch je 16 vyhrazeno pro data, zbývající 4 pro detekci chyb a řízení přenosu. To dává propustnost 12.8GB/s v každém směru. Nejrychlejší verze sběrnice FSB, operující na 1600MHz, měla teoreticky také 12.8GB/s, jenže v obou směrech dohromady. Navíc, většina běžných dvoupaticových serverů stejně používala nižší rychlosti 1066 nebo 1333 MHz. Po této sběrnici šel navíc jak provoz k paměti, tak k periferiím. Nyní máme celou tuto propustnost k dispozici pouze pro periferie - paměti jsou přece obsluhovány řadičem v procesoru. Navíc, spoj QPI je jeden z prvků stavebnice a tak může návrhář použít jeden (jako má Core i7), ale také čtyři tyto spoje pro vzájemnou komunikaci procesorů a komunikaci s periferiemi. Intel Turbo Boost Technology Intel turbo boost technology je jednou ze zajímavých vlastností zabudovaných do procesorů generace Core i, od jádra Nehalem. Umožňuje zvýšení taktu jednotlivých jader procesoru při vyšším požadavku na výkon. Zvýšení taktu je možné u jednotlivých jader nezávisle na ostatních, je tedy možné zvýšit výkon jak jednoho, dvou, tří nebo i všech čtyř jader (v případě čtyřjádrové technologie Core i). Tato technologie není úplnou novinkou již dříve se objevila u procesorů typu Core 2, ovšem pod názvem Enhanced Intel Dynamic Acceleration, zde bylo možné zvyšování frekvence u jednoho z dvou jader. Procesor dokáže detekovat využívání jednotlivých jader, jakmile zjistí že pro zpracování úkolu vystačí s méně jádry dokáže např. přesměrovat tok instrukcí ze čtyř jader pouze do dvou, s tím že je zvýšena, je-li to nutné, i jejich taktovací frekvence (turbo boost). Toto je samozřejmě možné i při využití jen jednoho

jádra. Toto je nejčastější scénář při využívání Turbo boost technologie. Samozřejmě je možné zvýšení výkonu všech jader procesoru např. při spuštění více náročných aplikací, jako jsou zpracování multimediálních dat, kódování videa atd.. U procesorů určených pro mobilní aplikace, které mají integrované grafické jádro na stejné ploše jako procesor bude technologie turbo boost využita i pro tento grafický čip. Při využití turbo boost je zároveň monitorována teplota procesoru a v případě zvyšování teploty k limitu kdy by mohlo dojít k poškození procesoru, je taktovací frekvence opět snížena.

Hyper-Threading Technology (HT Technology) Technologie HyperThreading se poprvé objevila u procesorů Pentium 4. U této mikroarchitektury, které měla extrémně dlouhé dekódovací potrubí (pipeline) byla cestou, jak využít nezaměstnané výpočetní jednotky v době, kdy by se jinak čekalo například na dodávku dat z hlavní paměti. Ačkoliv je princip jednoduchý, jeho verifikace a validace je velmi složitá a proto byla tato technologie u architektury Core vynechána - už tak se jednalo o velmi hlubokou změnu, nebylo žádoucí si cíl ještě dále komplikovat. V moderních procesorech instrukce prochází mnoha stupni - dekódování, načtení operandů, výpočet (celočíselný nebo plovoucí čárka) a uložení výsledků. O vykonání jednotlivých činností se starají exekuční jednotky. Jedná-li se například o celočíselnou operaci, jednotka plovoucí čárky zahálí. Nápad ve své jednoduchosti geniální byl zdvojit vše, co udržuje stav procesoru - registry, instrukční čítač atd. - a tyto zdvojené sady jdou "cvaknutím vypínače" v jednom taktu hodin přepnout. Tak se jeden procesor začne chovat jako dva logické procesory. Nárůst výkonu není takový, jako u skutečného druhého jádra, ale je cca 30%. Díky tomu se v operačním systému čtyřjádrový procesor jeví jako procesor s osmi (logickými) jádry. Intel Virtualization Technology (Intel VT) Procesor s IVT dokáže pracovat režimu, který se nazývá VMX operation (Virtual Machine extension). Tento režim můžeme rozdělit na dva druhy: root-operation a non-root operation. V root-operation běží nadřazený software zvaný VMM (Virtual Machine Monitor), v non-root operation běží samotný virtuální počítač, především tedy operační systém. Takový operační systém poběží v non-root VMX skoro stejně, jako by běžel na procesoru bez podpory virtualizační technologie. Ačkoli VMM může zabránit ve virtuálním počítači běžícímu softwaru, aby věděl o tom, že je ve virtuálním počítači, nikdy to nebude takové, jakoby běžel operační systém na počítači samostatně. Operační systémy mohou běžet pouze v tzv. stránkovaném chráněném režimu. To znamená, že např. běh programů v tzv. reálném režimu bude ve virtuálním počítači vždy emulovaný pomocí VMM. To se

týká třeba provozu MS-DOSu. VMM k této emulaci může využít virtual-8086 režim. Důsledkem toho je možné na počítači provozovat režim s během více operačních systémů. Rozdíl oproti dosavadní emulaci spočívá v tom, že s IVT už nebude hardware emulovaný, ale skutečný. Hostující operační systém tak bude normálně používat ovladače např: zvukové, grafické nebo síťové karty, tak jako operační systém který je tomuto systému nadřazený. Digital Media Boost Technologie Intel Digital Media Boost procesoru Intel Core Duo zajišťuje vyšší výpočetní výkon s plovoucí desetinnou čárkou, důležitý zvláště u aplikací, jako jsou CAD nástroje, 3D a 2D modelování, střih videa, digitální hudba, digitální fotografie a hry. Špičková podpora technologie Vivid zajišťuje unikátní podporu grafického výkonu v HD kvalitě, což lze dokonale využít při přehrávání filmů. Trusted Execution Technology Trusted Execution Technology, dříve též označována LaGrande Technolohy je jedna z klíčových komponent tzv. safer computingu. Jedná se o technologii Intelu pro lepší zabezpečení běžících programů. TXT je HW výjimka, která by měla poskytnout uživatelům a organizacím vyšší úroveň důvěry při přistupování, úpravě, či vytváření citlivých dat a kódů. AES New Instructions Šifrování a následné dešifrování dat je často nároční na hw. Prostředky počítači, procesory Intel obsahují instrukce, které pomáhají urychlit tyto operace pro nejběžněji využívané šifrování založeného na AES. Advanced Encryption Standard standard pro symetrické šifrování, je důvěryhodný bezpečný a efektivní způsob šifrování dat, který je pro své vlastnosti využíván v mnoha aplikacích. Nové protokoly aplikací, které vyžadují symetrické šifrování již v dneštní době podporují AES šifrování. AES instrukce jsou obsahují procesory intel od jádra typu Westmere. Tyto instrukce umožňují rychlé a bezpečné zakódování a rozkódování dat. Architektura obsahuje šest instrukcí které nabízí plnou hardwarovou podporu pro AES. Čtyři instrukce pro zakódování a rozkódování (AESENC, AESENCLAST, AESDEC, and AESDELAST), a dvě instrukce podporující AES rozšířené klíče (AESIMC and AESKEYGENASSIST). Nové AES instrukce mohou podporovat AES kódování s jedním z klíčů standardní délky (128, 192 a 256 bitů), použitím bloku standardní velikosti 128 bitů. Jsou dobře přizpůsobeny pro nejpoužívanější šifrovací modely systémů jako jsou ECB, CBC, CTR-DRBG. Enhanced Intel SpeedStep Technology Enhanced SpeedSteep je vlastnost procesorů Intel, která je podobná technologii Turbo boost, jen opačného významu. Zatímco u Turbo boost šlo o zvyšování taktovací frekvence v případě Enhanced SpeedStep se jedná o dočasné snížení taktu procesoru. Toto snížení taktu procesoru se děje na základě monitoringu jeho vytížení, v případě že procesor běží na své default frekvenci ale pro běh systémových prostředků a aplikací je využívána jen část jeho výkonu sníží se taktovací frekvence na optimální úroveň. Výhody tohoto řešení jsou nejlépe využitelné u mobilních řešení, u kterých tím dochází ke snížení spotřeby a tím i delšího provozu na baterie, ale i v desktop nasazení má toto řešení svá pozitiva a to snížením rychlosti otáček ventilátoru chladících CPU a s tím související nižší hlučnosti.

Execute Disable Bit Použití funkce Exekute Disable Bit, kterou využívají procesory Intel (ale i AMD), má za úkol ochránit systém před útoky využívající přetečení zásobníku - zahlcení stroje množstvím dat kdy v paměti počítače dojde k zahlcení instrukční části a data jsou přesunována do datové části odkud je možno škodlivý kód spustit a ten se pak může dále šířit. Exekute Disable Bit povolí procesoru označit paměťové oblasti, ve kterých může a nemůže být spuštěn aplikační kód. V přístupu k datům není bráněno - takto označený segment lze číst a lze do něj zapisovat data, pokud se však do něj červ pokusí spustit kód, procesor zabrání spuštění kódu a tím zabrání vzniku škody nebo šíření červa. Díky hardwarové podpoře procesoru tato průběžná kontrola probíhá naprosto transparentně a nepředstavuje žádnou režii z hlediska výpočetního výkonu. XD bit od konce roku 2004 podporují všechny desktopové procesory Intelu, mobilní procesory od roku 2005. Nové instrukce SSE 4.2 V procesorech Core i generace přibyly instrukce pro spočítání nenulových bitů v registru (podle Intelu představuje výrazný přínos při rozpoznávání hlasu, sekvencování DNA a podobných činnostech) a instrukce pro výpočet CRC32, zabezpečovacího polynomu, naprosto všeobecně používaného ve výpočetní technice pro ověření správnosti přenosu všude od čtení dat z pevného disku po přenosy po síti. Podrobnější pohled na čtyřjádrovou architekturu Intel (jádro Nehalem): Změny na úrovni platformy někteří představitelé Intelu prezentují jako nejzásadnější změny architektury procesorů Intel, alespoň za posledních 10 let. Co tedy Nehalem přináší? Stejné jádro pro všechny segmenty trhu, vysoký výkon a škálovatelnost při zachování spotřeby minulé generace procesorů. Řada dalších vylepšení se týká zejména specifických částí trhu, ale těžit z ní mohou samozřejmě všechny segmenty.

Architektura Intel Nehalem Nová architektura Intel Nehalem je původně vycházející z architektury Intel Core, ale celý přístup byl již od návrhu čipu zaměřen na efektivně škálovatelnou architekturu a škálovatelný návrh čipu. Cílem Nehalemu bylo možné nasazení procesorů ve všech segmentech trhu, a proto bylo nutné odstranit dosavadní bariéry možného růstu výkonu, umožnit škálování ve vícesocketových systémech a zároveň udržet dosavadní spotřebu (případně ji dokonce snížit pro možné nasazení v mobilních počítačích). Na první pohled takřka neřešitelný problém, který se ale podařilo vyřešit pomocí řady inovací. Intel Nehalem je od základu tvořen ze stavebních bloků, které je možné kombinovat podle segmentu trhu, předpokládaného nasazení, požadovaného výkonu a tak dále. Procesor lze proto poměrně jednoduše rozšířit o další jádro, přidat L3 cache, více QPI (pro efektivnější komunikaci v případě vícesocketových systémů) až po integraci grafického jádra IGP (Integrated Graphics Processor).

Řada vylepšení je také na úrovni architektury samotného jádra. Implementována byla řada nových technologií pro šetření energií a pro multithreaded prostředí, nová je hierarchie cache o 3 úrovních, integrován byl řadič paměti a řádně naddimenzovaná byla také QuickPath sběrnice. Postupně se na všechna vylepšení podíváme podrobněji. Změny na úrovni platformy Zřejmě největší slabinou procesorů s architekturou Intel Core jsou vícesocketové systémy. Standardní architektury s FSB (Front Side Bus) sběrnicí jsou nejvíce limitované právě s rostoucím počtem jader a socketů. Požadavky na přísun dat rostou s každým přidaným procesorem, a proto efektivita architektur s FSB a poměrně limitovanou propustností paměťového subsystému s rostoucím počtem socketů a jader klesá. Od určitého bodu se nejedná o problém výpočetního výkonu, který fakticky roste s každým přidaným jádrem, ale problém jak zajistit efektivní škálování (komunikaci mezi jádry a jak každému jádru zajistit dostatečný přísun dat). V případě serverových řešení, ve vícesocketových systémech, je tento nedostatek řešen pomocí více nezávislých sběrnic a velkou cache, ale to je z dlouhodobého hlediska samozřejmě velice neefektivní.

Zde již dostává slovo nová architektura, Intel Nehalem a QuickPath. Technologie QuickPath, respektive QPI, byla dříve oficiálně nazývaná CSI (Common System Interface) a nahrazuje datovou sběrnici FSB (Front Side Bus). K procesoru je také integrován řadič paměti. Propusnost a škálovatelnost takového systému je samozřejmě neporovnatelně lepší, než pouhé přidání cache nebo několika FSB sběrnic. Typickým řešením tak bude například Nehalem-EP v dvousocketové konfiguraci. Procesory, které používají FSB, používají tuto sběrnici ke komunikaci se severním můstkem a v případě MCM(Multi-Chip Module) může sběrnice spojovat i několik jader. QPI naproti tomu dovoluje vysokorychlostní "point-to-point" komunikaci pro procesory a další části systému, takže ve vícesocketových systémech nebude problém jednotlivá jádra propojit přímo přes samostatnou QPI linku a to samé udělat s čipsetem (stejného řešení se již příští rok dočkáme i v MP systémech, kde budou mít procesory až 4 QPI linky). Výkon QuickPath sběrnice je 4,8 až 6,4 GT/s na linku (možná konfigurace je 5, 10 a 20 bit), s celkovou propustností až 25,6 GB/s. V multiprocesorových systémech tak QPI poskytuje podstatně efektivnější komunikaci procesorů a čipsetu.

Ačkoliv byla FSB dlouho dostačujícím řešením, zejména ve víceprocesorových systémech a na serverovém trhu s více sockety, Intel toto řešení již delší dobu potřeboval. Ruku v ruce s novou platformou a QPI jde také integrovaný řadič paměti, který má zajistit systému efektivní a rychlý přísun dat. Integrovaný řadič paměti přináší výrazné snížení latencí a zvýšení efektivity komunikace s operační pamětí. Implementován zde byl rovnou trojkanálový řadič pamětí DDR3, ačkoliv architektura Nehalemu umožnuje použití i dvojkanálového řadiče paměti (serverové řešení pro 4 socketové systémy přinese dokonce čtyřkanálový řadič paměti). IMC v Nehalemu podporuje až 3 kanály a kromě standardních pamětí také RDIMM a UDIMM (ve srovnání s 1600MHz Harpertownem v dvousocketové konfiguraci poskytuje Nehalem efektivně 4x vyšší propustnost). V případě víceprocesorových systémů je výhodou škálování paměťového subsystému s