Procesory CISC- historie procesorů Intel x86



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

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

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

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

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:

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

Charakteristika dalších verzí procesorů v PC

Charakteristika dalších verzí procesorů Pentium

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

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

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

Cache paměť - mezipaměť

Procesor z pohledu programátora

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

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

Architektura Intel Atom

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

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

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

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

Operační systémy. Přednáška 8: Správa paměti II

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

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

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

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

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

Principy počítačů I ZVYŠOVÁNÍ VÝKONU PROCESORŮ. Sériové zpracování. Pipeline. Úspora při použití pipeline. Problém 1: přístup k datům.

ARCHITEKTURA PROCESORŮ

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

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

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

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

PROCESOR. Typy procesorů

Pokročilé architektury počítačů

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

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

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

Pokročilé architektury počítačů

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

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

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

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

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

Pohled do nitra mikroprocesoru Josef Horálek

2010/2011 ZS. operačních systémů. Copak je po jméně? Co růži zvou, i zváno jinak vonělo by stejně. William Shakespeare

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

CHARAKTERISTIKA PROCESORU PENTIUM První verze:

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

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

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

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

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

Vývoj principů adresování operační paměti Princip adresování paměti - mikroprocesor I8086

Architektury VLIW M. Skrbek a I. Šimeček

Roman Výtisk, VYT027

Architektura počítačů

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

Intel Itanium. Referát. Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky

Mikrokontroléry. Doplňující text pro POS K. D. 2001

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

Kryptoanalýza šifry PRESENT pomocí rekonfigurovatelného hardware COPACOBANA

CHARAKTERISTIKY MODELŮ PC

Architektura procesoru ARM

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

PROCESORY. Typy procesorů

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

Metody připojování periferií BI-MPP Přednáška 2

Architektura Intel Nehalem

Paměti Josef Horálek

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

Vývoj architektur PC 1

Pokročilé architektury počítačů

Úvod do paralelních systémů

Architektura počítačů

ARCHITEKTURA PROCESORŮ

Základní deska (mainboard)

Xbox 360 Cpu = IBM Xenon

Vlastnosti mikroprocesorů Josef Horálek

Architektura Pentia 1

2 Hardware a operační systémy

Pamět ová hierarchie, virtuální pamět. doc. Ing. Róbert Lórencz, CSc.

Akademický rok: 2004/05 Datum: Příjmení: Křestní jméno: Osobní číslo: Obor:

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

Koncepce DMA POT POT. Při vstupu nebo výstupu dat se opakují jednoduché činnosti. Jednotlivé kroky lze realizovat pomocí speciálního HW.

Operační systémy. Přednáška 7: Správa paměti I

Základní uspořádání pamětí MCU

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

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

Princip funkce počítače

Operační paměti počítačů PC

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

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

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

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

Pokročilé architektury počítačů

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

Architektura počítače

HISTORIE VÝPOČETNÍ TECHNIKY. Od abakusu k PC

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

Operační systémy. Správa paměti (SP) Požadavky na SP. Spojování a zavedení programu. Spojování programu (linking) Zavádění programu (loading)

Transkript:

Procesory CISC- historie procesorů Intel x86 Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1

1 Procesory CISC- jeden příklad za všechny Vzhledem k rozmanitosti výrobků a výrobců procesorů, je obtížné zvolit nějakého typického zástupce pro ilustraci vývoje technologií a architektury procesorů CISC. Popisovat však více procesorů současně v časové ose a provádět jejich porovnání by však nebylo pro čtenáře přehledné. V tomto textu bude probrána řada procesorů, která udržuje v historii procesorů asi nejdelší kontinuální vývojovou řadu a je pro většinu populace nejznámější a nejdostupnější. V žádném případě však tímto nechceme říci, žebysemělojednatoprocesorys nej vlastnostmi.zvolenouarchitekturou bude řada procesorů Intel x86 2 Historie procesorů Intel x86 Každémuprocesoru,kterýsevevývojovéřadězaposlednívicenež35let objevil, budeme věnovat krátkou kapitolu, kde budou popsány charakteristické rysy, nové technologie a vlastnosti. U některých si uvedeme i vnitřní schéma, abychom mohli lépe pochopit vnitřní mikroarchitekturu. Na celé vývojové řadě tak bude možno pozorovat technický i technologický vývoj. Patrný je i postupný přerod typického procesoru CISC v procesory, které jsou konstruovány jako procesory RISC a přitom si zachovávají úplnou zpětnou kompatibilitu. Srovnatelných řešení v praxi mnoho nenalezneme. 2.1 Intel 8080 Uvedení 1974 Technologie NMOS, 6µm Tranzistory 6000 Frekvence 2 MHz Datovásb. 8bit Adresnísb. 16bit Tento 8 bitový mikroprocesor není přímo prvním členem v řadě x86, přesto jej nemůžeme vynechat. Tento mikroprocesor se stal základem pro celou řadu prvních jednodeskových počítačů a také svou instrukční sadou inspiroval další výrobce při vývoji 8 bitových procesorů a je na úrovni assembleru kompatibilní s následnou 16 bitovou verzí 8086. Vroce1977bylnahrazennovějšíverzí8085avyrábělseaždopoloviny osmdesátých let. 2

2.2 Intel 8086 Výroba 1976 1990 Technologie HMOS, 3.2µm Tranzistory 29000 Frekvence 4.77MHz 10MHz Datovásb. 16bit Adresnísb. 20bit Tento procesor je prvním 16 bitovým procesorem. Dovoloval adresovat až1mbpamětiatodíkysegmentacipamětina64kbbloky. Prováděcí jednotka Řízení sběrnice Registry 8x16 bit AH AL AX BH BL BX CH CL CX DH DL DX SP BP SI DI Interní sběrnice Segmentové registry 16xSEG+OFF CS DS SS ES IP Řadič sběrnice A0-A19 D0-D15 Bus- Operandy Indikátory Řadič 1 2 3 4 5 6 Fronta instrukcí Obrázek 1: Architektura procesoru i8086 Vnitřní schéma je na obrázku 1. Z obrázku je patrná jednoduchá vnitřní architektura s oddělením výkonné a adresovací části procesoru. Osm 16 bitových registrů tvoří základ, který je implementován ve všech následujících generacích x86. 3

2.3 Intel 8088 Rokpouvedeníprocesoru8086byluvedentyp8088.Nejednáseonovýtyp, vnitřní architektura zůstala zcela zachována, změnil se jen výstup datové sběrnice. Byla zúžena na 8 bitů. Došlo tím ke zpomalení práce procesoru, protože přístup k 16 bitovým datům musel být na sběrnici multiplexován, ale ekonomické důvody byly významnější. Počítače s užší datovou sběrnicí bylomožnokonstruovatlevnějianavícbylovtédoběmožnovyužítcelou řadu periférní obvodů, navržených pro 8 bitové mikroprocesory. Asi nejlepším důkazem o vhodnosti využití tohoto procesoru pro výrobu osobních počítačů byl nový standard PC-XT, navržený firmou IBM. 2.4 Intel 80186/188 Výroba 1982 2007 Technologie HMOS, 1.3µm Tranzistory 55000 Frekvence 6MHz 25MHz Datová sb. 16/8 bit Adresnísb. 20bit V roce 1982 přichází Intel s vylepšenou verzí procesoru 8086/88. Byla vylepšena architektura, přidány, upraveny a zrychleny některé instrukce. Procesor byl ale primárně navržen pro vestavěná(embedded) zařízení a obsahoval celou řadu pomocných obvodů přímo na čipu. Zejména DMA, hodiny, časovače a porty. Tímto se stal nekompatibilní s platformou PC-XT, i když na úrovni strojového kódu zůstala zachována plná kompatibilita. Oúspěšnostitohotoprocesorusvědčíito,žebylvyráběn25letaběhem těchto let byl postupně modernizován. 2.5 Intel 80286 Výroba 1982 1993 Technologie CMOS, 1.5µm Tranzistory 134000 Frekvence 6MHz 25MHz Datovásb. 16bit Adresnísb. 24bit Druhá generace procesoru s označením 80286 přinesla navýšení výpočetního výkonu zkrácením času potřebného pro vykonání většiny instrukcí a možností taktovat procesor na vyšší frekvence. Procesor také představil řadu technických novinek(ale také problémů). 4

Procesor umožňuje přepnutí do tzv. protected mode, ve kterém je možné adresovat až 16MB paměti. V tomto režimu mohou být programy a jejich části vykonávány se 4 různými úrovněmi opravnění. Režim práce procesoru kompatibilní s předchozí verzí procesoru se nazývá real mode. Bohužel programy napsané pro R-M nemohou v P-M pracovat. Tím byli postaveni uživatelé a vývojáři OS do patové situace, kdy nebylo možno vytvořit takový OS, který by využíval všechny možnosti procesoru a zároveň dovoloval využívat existující programy. Proto byly procesory 80286 využíványtéměřna100%vr-m.navícpopřepnutídop-mnebylomožno sevrátitzpětdor-mjinak,nežresetem. Procesor byl vybaven jednotkou MMU(Memory Management ), která umožňovala stránkování. Tím se tato technologie, používáná v té době zejména u sálových počítačů, přenesla i do počítačů personálních. Kromě stránkování bylo možno používat i virtuální paměť. Procesor byl schopen pracovat s 30 bitovou adresou, mohl tedy adresovat virtuálně až 1GB paměti. Schéma procesoru je uvedeno na obrázku 5 v příloze textu 2.6 Intel 80386DX Výroba 1985 2007 Technologie CHMOS,1.5 1µm Tranzistory 275000 Frekvence 16MHz 40MHz Datovásb. 32bit Adresnísb. 32bit První plně 32 bitový procesor řady x86 byl procesor třetí generace, označený 80386. Procesoru zůstala plná zpětná kompatibilita s předchozími typy, všech osm registrů procesoru však bylo rozšířeno na 32 bitů. Na stejnou šířku se rozšířila i datová a adresní sběrnice. Byla také přidána celá řada nových instrukcí. Další novinkou bylo rozšíření real mode a protected mode o další režim, označovaný virtual mode. V tomto režimu bylo možno po přepnutí do P-M vykonávat programy napsané pro R-M. Tímto se otevřela cesta i pro zpětnou kompatibilitu se staršími programy v nových OS. Další novinkou procesoru byl řadič pro vyrovnávací paměti. Bylo možno na základní desce počítače implementovat Cache L1. Tato implementace se ukázala jako nezbytná pro procesory, které byly taktovány na frekvenci 33 MHzavýše.ŠloopamětivelikostiřádovějednotkyaždesítkykB. Výrazně modernizován byl i systém pro správu virtuální paměti. Bylo možno adresovat virtuálně až 64TB paměti. Tento způsob adresování už zůstal zachován ve všech dalších generacích procesorů x86 až do doby nástupu 5

64 bitových technologií. Pro představu o složitosti vnitřní architektury procesoru je v příloze textu uvedena na obrázku 6. Bez zajímavosti není ani informace, že prvním výrobcem, který implementoval procesor 80386 v počítači PC byla firma COMPAQ. Bylo to poprvé, kdy prvním výrobcem nebyla firma IBM. 2.7 Intel 80386SX V roce 1988 uvedla firma Intel na trh verzi procesoru 80386SX. Nejednalo sealeoinovaci,jakospíšeokrokzpět.stejnějakouprocesoru8088,vedly ekonomické důvody k výrobě upravené verze se zúženou datovou sběrnicí, vtomtopřípaděna16bitů.tímsemohlazlevnitvýrobazákladníchdesek počítačů a využít součástková základna používaná pro počítače s procesory 80286. 2.8 Intel 8087/287/387 Všechny dosud vyjmenované procesory byly určeny jen pro výpočty s celými čísly. Pokud uživatelé počítače požadovali i výpočty s čísly s plovoucí desetinnou tečkou(fpu), museli si svůj počítač rozšířit o matematický koprocesor. Jednalo se o obvody navržené vždy pro konkrétní typ procesoru, se kterým musely spolupracovat. Jejich samostatná činnost nebyla možná. Na základní desce počítače musel výrobce počítače umístit patici, do které se potřebný koprocesor vkládal. Značení obvodů bylo vždy v souladu s hlavním procesorem, jen pro odlišení byla poslední číslice 7. 2.9 Intel 80486DX/i486DX Výroba 1989 2007 Technologie CHMOS,1 0.6 µm Tranzistory 1.2 10 6 Frekvence 16MHz 100MHz Datovásb. 32bit Adresnísb. 32bit Čtvrtá generace procesoru zůstává plně 32 bitová, ale téměř pětinásobný počet tranzistorů oproti předchůdci avízuje, že došlo k výrazným změnám. Procesor vykazuje dvojnásobný výkon ve srovnání s procesorem 80386 při stejné frekvenci. Navýšení výkonu bylo dosaženo vylepšením, delší frontou instrukcí a zlepšením propustnosti mezi jednotlivými jednotkami procesoru. Na zvýšení výkonu měla také zásadní vliv implementace vyrovnávací pamětil1přímovprocesoru.bylaspolečnáprodataiprokódaměla 6

velikost 8kB. Vylepšena byla i MMU jednotka a urychlila se tak činnost procesoru v režimu protected mode. Schéma procesoru je prakticky shodné s jeho modernější variantou uvedenounaobrázku7vpříloze. Další novinkou byla integrace matematického koprocesoru. Nenavýšila se tím samozřejmě výkonnost jednotky, ale pro výpočty s FPU nebylo nutno do počítače instalovat další samostatný obvod. Navíc připojením FPU přímo na vnitřní sběrnici bylo dosaženo daleko většího výkonu, ve srovnání s koprocesorem 80387. V roce 1991 představuje Intel verzi procesesoru i486sx. Jde opět o levnější variantu procesoru, zkratka SX ale neznamená zúžení datové sběrnice, jako tomu bylo u 80386SX. Tato verze procesoru neobsahuje jednotku FPU. Další modernizaci zaznamenaly procesory v roce 1992, kdy Intel představil verzi i486dx2. Jde o variantu, kdy se vnitřní frekvence procesoru násobí dvěmi. První verze byly 50/25 MHz, další pak 66/33 MHz. Výhodou tohoto řešení bylo, že se předchozí procesory DX daly přímo nahrazovat verzemi DX2. Vnitřní schéma tohoto procesoru je na obrázku 7 v příloze textu. V roce 1994 přichází Intel s dalším urychlením procesoru, tentokrát ve verzi i486dx4. Zde ale nejde, jak bychom očekávali, o navýšení vnitřní frekvence4x,alejen3x.šlooverze75/25mhza100/33mhz.sohledemna vyšší frekvence musel být procesor napájen už jen 3.3V. Tím ztratil pinovou kompatibilitu s verzemi DX a DX2. 2.10 Intel Pentium Výroba 1993 2001 Technologie BiCMOS, 0.8 0.25 µm Tranzistory 3.1 10 6 Frekvence 60MHz 300MHz Datovásb. 64bit Adresnísb. 32bit Procesorem Pentium představil Intel svou pátou generaci procesorů. Jde o první procesor v řadě x86, kde jsou uplatněna technická řešení typická pro procesory RISC. V tomto případě jde o superscalární architekturu, tvořenou dvěma paralelními jednotkami. V ideálním případě tak mohl procesor zpracovávat i dvě jednoduché instrukce současně. U složitějších instrukcí naopak obě jednotky spolupracovaly při vykonávání jedné instrukce, např. u řetězcových instrukcí. ZjednodušenéschémaPentiajenaobrázku2.Zobrázkujepatrnéi rozdělenívyrovnávacípaměticachel1nadvě-prokódaprodata.patrné je rozšíření sběrnic a poprvé se objevuje jednotka pro predikci skoků. Co ale 7

i zde zůstává, je oddělená FPU jednotka od celočíselné prováděcí jednotky. Samotná FPU jednotka však byla velmi výkonná. Pentium Block Diagram 64 Code cache 256 Branch prediction 64-bit bus interface U-pipe Prefetch Buffers Integer Integer 64 64 32 32 Register set 32 32 Data cache V-pipe Pipelined float-point unit Multiplier Adder Divider Obrázek 2: Zjednodušené blokové schéma procesoru Pentium Překvapivě ale byly první verze procesoru Pentium uvedeného na trh napájeny 5 V a vyrobeny technologii 0.8µm s frekvencemi 60/66 MHz. Procesorůmsekuloárechříkalo ohřívačekávy avnovýchpočítačíchsejich mnoho neohřálo.teprveverzeprocesorupředstavenárokapůlpouvedení prvního Pentia, tedy koncem roku 1994, s frekvencemi 75/90/100/120 MHz a napájením 3.3 V, byla očekávaným krokem vpřed. Během následujících sedmi let prošel procesor mnoha technologickými vylepšeními, kde asi nejvýznamnější z pohledu uživatelů byla verze představenávroce1997.šlooprocesorrozšířenýojednotkummxspodporu multimediálních instrukcí. Velmi úspěšné byly i nízkopříkonové procesory pro přenostné počítače. V příloze textu je na obrázku 8 uveno podrodnější schéma procesoru PentiumisjednotkouMMX,kdebylapaměťcacheL1zvětšenanadvojnásobek. 8

2.11 Intel Pentium Pro Výroba 1995 1998 Technologie BiCMOS, 0.5 0.35 µm Tranzistory jádro5.5 10 6 +15.5 10 6 pro256kbcachel2 Frekvence 150MHz 200MHz Datovásb. 64bit Adresnísb. 36bit Šestá generace procesoru x86 označená jako Pentium Pro přinesla zásadní technologický zlom v konstrukci procesorů řady x86. Vývoj procesoru probíhal současně s vývojem procesoru Pentium, ale protože cíle byly vyšší, byldelšíivývojaprvníprocesorbylpředstavenvroce1995.primárněbyl procesor určen pro segment serverů a ne desktopů, čemuž odpovídala nejen cena, ale i poskytovaný výpočentí výkon. Ten byl ve srovnání s Pentiem zhruba o 50% vyšší, při stejné frekvenci. Protože tento procesor znamenal zásadní technický přelom, bude popisu procesoru věnován větší prostor. Pentium Pro Block Diagram System Bus L2 Cache Bus Interface L1 ICache L1 DCache Fetch Load Store Fetch/ Decode Dispatch /Execute Retire Pool Obrázek 3: Zjednodušené blokové schéma procesoru Pentium Pro 9

Zjednodušené schéma procesoru je na obrázku 3. Ze schématu je patrných několik zásadních změn v konstrukci procesoru i ve fungování jádra procesoru. Přímo na procesoru je implementována paměť cache L2. Nejedná sealeopaměťimplementovanousprocesoremnajednomčipu,jdeosamostatný čip, pracující na stejně frekvenci jako samotný procesor. Další změnou byl způsob, jakým procesor provádí instrukce. Při vývoji procesoru bylo zřejmé, že cesta ke zvýšení výkonu je jedině přes architekturu RISC. Bylo ale naprosto nezbytné, zachovat kompatibilitu se stávající instručnísadou,navrženouužproi8086atutoirozšířitoněkoliknovýchinstrukcí. S tímto požadavkem se vypořádali kontruktéři tak, že Fetch/Decode jednotkavybírázpamětiinstrukcex86adekódujejena118bitovérisc instrukce, které intel ve své terminologii označuje jako mikro-operace. Konstrukce dekódovací jednotky je sice složitější, ale za touto jednotkou už může následovat plnohodnotný RISC procesor. Mikro-operace z dekódovací jednotky se ale neřadí do fronty, jak by se dalo očekávat, ale je použita nová technologie. Instrukce jsou ukládány do banky dékodovaných instrukcí, označené na obrázku jako Intruction Pool. Ztétobankyintrukcí,kamsemůžeumístitaž40mikro-operací,simůže prováděcí jednotka Dispatch/Execute vybírat instrukce mimo pořadí- outof-order. Prováděcí jednotka tak sama může maximalizovat svůj výkon a při urdržení datové konzistence vykonávat instrukcí mimo pořadí a stále maximálně využívat všechny obvody prováděcí jednotky. Provedené instrukce jsou z prováděcí jednotky uloženy zpět do banky instrukcí, odkud jsou vybírány ukončovací jednotkou Retire. Odtud plynoudatazpětdoregistrůapaměticachel1.dálepakpředrozhraní sběrnicedocachel2adohlavnípaměti Abychom si ještě více ozřejmili, proč je možno(a vlastně nutno) použít vykonávání instrukcí mimo pořadí, musíme se podívat na podrobnější schéma procesoru na obrázku 9. Ve schématu se ukazuje superkalární architektura dekódovací jednotky, která je trojcestná. Dvě jednotky pro jednoduché instrukce a jedna pro ty složitější. Dekódovací jednotka tak může vyprodukovat až 4 mikro-operace v jediném cyklu. Superskalárně proto musí být samozřejmě konstruována i prováděcí jednotka, kde je ve schématu patrných pět paralelně pracujících jednotek. Aby bylo možno takový vykonný systém využít naplno, není možné jej propojit obyčejnou lineární frontou instrukcí. Jedině banka instrukcí zajistí, že si prováděcí jednotka bude umět sama rozhodovat o pořadí provádění instrukcí, aby maximálně využila paralelní činnost všech svých obvodů. Dále podrobnější schéma procesoru odkrývá jen jednotku pro predikci skoků. Tato jednotka si může pamatovat 512 hodnot a vykazuje 90% úspěšnost. Zbylé části procesoru už jsou známy ze zjednodušeného schématu. 10

2.12 Intel Pentium II Výroba 1997 Technologie BiCMOS, 0.35 0.18 µm Tranzistory jádro7.5 10 6 +20 10 6 pro265kbcachel2 Frekvence 233MHz 533MHz Datovásb. 64bit Adresnísb. 36bit Verze procesoru s označením Pentium II už nepředstavovala žádné velké změny v konstrukci mikroarchitektury a procesor přebírá celé technické řešení z Pentia Pro. Nárůst počtu tranzistorů jádra procesrou byl dán hlavně rozšířením prováděcích jednotek o jednotku MMX. S vyššími frekvencemi, než mělo PPro, bylo nutno snížit řídící frekvenci paměti cache L2 na polovinu frekvence procesoru. Nejvýkonější verze pro servery byla představena v roce 1998, měla 512 kb cache L2, navíc pro dosažení lepšího výkonu taktovanou přímo frekvencí procesoru, stále však implementovanou jako samostatný čip na modulu procesoru. Tyto High-end procesory nesly označení Xeon. Teprve v roce 1999 byla představena verze procesoru s integrovanou pamětícachel2256kbspolečněsprocesoremnajednomčipu.procesorbyl určen pro přenosné počítače. 2.13 Intel Pentium III Výroba 1999 2003 Technologie BiCMOS, 0.25 0.13 µm Tranzistory jádro9.5 10 6 +18.5 10 6 pro265kbcachel2 Frekvence 450MHz 1.4GHz Datovásb. 64bit Adresnísb. 36bit Nástupce procesoru PII je označován jako Pentium III. Jde o přímé pokračování předchozí verze, samozřejmě s dalšími modernizacemi. První verze PIII byly vyráběny stejně jako PII se samostatnou pamětí cache L2. Alejenkrátce.Ještětéhožroku,aleošestměsícůpozdějipouvedeniprvního procesoru PIII, byla představena verze s integrovanou verzí paměti cache L2 společně na jednom čipu s procesorem. Samotný procesor byl rozšířen o další prováděcí jednotky, kterých je deset. Pro většinu uživatelů ale bylo nejpodstatnější přídání jednotky SSE. Zlepšuje se predikce skoků a je optimalizováno řízení obvodů procesoru s ohledem na minimalizaci spotřeby. Procesor se stává na několik let nejvhodnějším procesorem Intelu pro přenosné počítače. 11

2.14 Intel Pentium 4 Výroba 2000 2008 Technologie BiCMOS, 0.18 65 nm Tranzistory 42 10 6 včetně256kbcachel2 Frekvence 1.3GHz 3.8GHz Datovásb. 64bit Adresnísb. 36bit Procesor Pentium 4 byl představen v roce 2000 s velkou slávou. Nový procesor s novou mikroarchitekturou NetBurst! Reklama vzbuzovala dojem, že jde o převratné řešení pro nový multimediální svět. Po prvních prezentacích ale odborníci žádné nadšení nesdíleli. Procesor měl při stejné frekvenci jako PIII zhruba stejný výkon a výrazně více se zahříval. Sledujeme-li tento procesor z dnešního pohledu, můžeme mít v některých chvílíchdojem,žesitímtointelhodilklacekpodnohysámsobě. System Bus Bus Level 1 Data Cache Level 2 Chache Memory Subsystem Execution s Integer and FPU Execution s Fetch/Decode Trace Cache Microcode ROM Out-of-order Execution Logic Retirement BTB/Branch Prediction Front End Branch History Update Out-of-order Engine Obrázek 4: Zjednodušené blokové schéma procesoru Pentium 4 Podívejme se ale na procesor technicky. Zjednodušené schéma je na obrázku 4. Blokové schéma odpovídá zhruba architektuře PPro. Procesor je zde rozdělen na 4 logické jednotky. I zde superkalarní dekódovací jednotka předává dekódované mikro-operace do banky instrukcí a superskalární pro- 12

váděcí jednotka je vykonává mimo pořadí. Na první pohled nic nového. Pozornému čtenáři by ale neměla uniknout jedna zásadní změna. Kam se poděla Cache L1 pro instrukce? SkrývásepodnázvemTraceCache.Došlozdekzásadnízměně,instrukční Cache L1 obsahuje dekódované mikro-operace. Významně se tím šetří práce dekódovací jednotce, které nemusí krátké opakující se sekvence kódu opakovaně dekódovat. Dalšízměnyužmusímehledatvpodrobnémschématunaobrázku10.V prováděcí jednotce si můžeme všimnou první technické novinky. Celočíselné jednotky pro jednoduché instrukce mají označení 2x. Nejde o vnitřní zdvojení, jednotky pracují na dvojnásobné frekvenci, než zbytek procesoru. Další zajímavostí je predikce skoků. Díky vyrovnávací paměti s dekódovanými instrukcemi je predikce skoků dvouúrovňová. Jedna predikce skoků pracuje před dekódovacími jednotkami a druhá, menší, pomáhá při předávání již dekódovaných instrukcí do baky instrukci. Nic dalšího už ve schématu procesoru nenajdeme. Musíme ale ještě uvést, že architektura NetBurst zavádí při zřetězeném zpracování v prováděcích jednotkách 20 úrovňové zřetězení. To je dvojnásobek,nežsepoužívalouppro. 2.15 Intel Pentium 4 EM64T Výroba 2004 Technologie BiCMOS, 90 nm Tranzistory 125 10 6 včetně1mbcachel2 Frekvence 2.8 GHz Datovásb. 64bit Adresnísb. 40bit U procesoru P4 nemůžeme vynechat jeden zásadní milník ve vývoji procesorů řady x86. Přerod architektury na 64 bitů. Intel měl původně trochu jiné plány s přechodem na 64 bitovou platformu, a to procesorem Itanium (krátce zmíníme později). Konkurencí firmu AMD a úspěchem jejich procesorů na trhu, byl Intel donucen svou strategii narychlo přehodnotit. Musel převzít návrh 64 bitové architektury od AMD. I za cenu ne optimálního technického řešení se na trhu objevuje v roce 2004 první verze procesoru P4 s technologii EM64T(později přejmenovanou na Intel 64). V procesoru byly registry rozšířeny na 64 bitů, datová sběrnice byla 40 bitová. Pro dosažení potřebného výkonu bylo implementováno v prováděcích jednotkách velmi hluboké 30 úrovňové zřetězení. Procesory musely být taktovány na frekvencích od 3 GHz výše, aby podávaly potřebný výpočetní výkon a velice se přehřívaly. Jejich ztrátový výkon bylod85aždo115w! 13

2.16 Intel Pentium M Výroba od 2003 2008 Technologie BiCMOS,130nm 90nm Tranzistory 77 10 6 včetně1mbcachel2 Frekvence 900MHz 2.2GHz Datovásb. 64bit Adresnísb. 32bit V prvním čtvrtletí roku 2003 představil Intel procesor Pentium M určený pro přenosné počítače. Už při rychlém seznámení s procesorem se ukázalo, že jde o velmi výkonný procesor s nízkoku spotřebou. Další překvapení se skrývalo uvnitř. Procesor nebyl postaven na platformě P4, ale byl pokračovatelem vydařeného procesoru PIII. Vývojáři převzali energeticky nenáročný procesor PIII a využili nové zkušenosti z konstrukce P4. Využili stejné principy pro konstrukci rozhraní systémové sběrnice, jako u P4. Vylepšili dekódování instrukcí a zlepšili predikci skoků. Přímo na čip umístili i 1 MB cache L2. A výsledek? Procesor pří frekvenci 1.5 GHz poskytoval nepatrně nižší výkon, než P4 při 2.5 GHz. Navíc při téměř třetinové spotřebě energie! S těmito výbornými technickými vlastnostmi byl ale PM výrobcem určen jen pro přenosné počítače a stěží bychom hledali stolní počítače, do kterých byl umístěn. Pro platformu desktopů a serverů Intel dále prosazoval platformu P4. Představením procesoru PM Intel jasně ukázal, kam bude směřovat další vývoj, i když samotná firma to ještě tehdy otevřeně nepřiznala. Pravděpodobně nechtěla znehodnotit své investice do vývoje 64 bitové verze procesoru P4,kteráužbylanaobzoru. 2.17 IntelCore,CoreDuo,CoreSolo Výroba od 2006 Technologie BiCMOS, 65 nm Jádra 1, 2 Frekvence 1.5GHz 2.2GHz Datovásb. 64bit Adresnísb. 36bit Řada procesorů PM dále pokračovala jako procesory označené Core. Oproti PM stojí za povšimnutí několik změn. Opětovné rozšíření adresní sběrnicena36bitů.díkypřechodunatechnologiivýroby65nmsepříkon procesoru snížil natolik, že bylo možno implementovat na jeden čip dvě jádra procesoruipropřenosnépočítače.paměťcachel2serozrostlana2až4 14

MBabylaspolečnáproobějádra.Procesoružnebylurčenjenpropřenosné počítače, ale stal se i běžnou součástí desktopů. 2.18 Core2 Výroba od 2006 Technologie 65nm,45nm Tranzistory 291 10 6 2.3 10 9 Jádra 1,2,4 Frekvence 1GHz 3.3GHz Datovásb. 64bit Adresnísb. 36nebo40bit Půl roku po představení prvních procesorů Core jsou představeny i procesory Core 2. Procesory už mají 64 bitovou architekturu Intel 64(EM64T). Jádro je i nadále založeno na architektuře PPro. Představením tohoto procesoru byl prakticky ukončen vývoj procesorů P4 s architekturou NetBurst. Procesory samozřejmě přinesly významnou modernizaci jádra procesoru, protiverzicore.navnitřníschémasemůžemepodívatnaobrázku11.z obrázku je patrné zejména posílení dekódovací jednotky a přidání dalších prováděcích jednotek. Pro urychlení zpracování instrukcí, byla vylepšena cesta zinstrukčnícachel1aždobankyinstrukcí. 2.19 Intel Atom Výroba od 2008 Technologie 45 nm Tranzistory 47 10 6 včetněcachel2 Jádra 1, 2 Frekvence 800MHz 2GHz Datovásb. 64bit Adresnísb. 32bit Dlouhou dobu chyběl v nabídce firmy Intel procesor s velmi nízkým příkonem pro ultralehké přenosné počítače a vestavěná zařízení. Firma AMD nabízelaprocesorygeodeafirmaviaprocesoryviaedenac7.vroce 2008 Intel zaplnil tuto svou mezeru na trhu procesorem Intel Atom. Mnoho uživatelů po přečtení prvních údajů o procesoru, což je frekvence, příkon,šířkadatovéaadresnísběrniceavelikostpaměticachel2-512kb, získávádojem,žejdejenoochuzenýprocesorpentiumm.nenítomutak. Procesor Atom je založen na zcela odlišné architektuře Bonnell, které nemá s architekturou PPro a NetBurst nic společného. Snad jen myšlenku dekódování CISC instrukcí x86 na mikro-operace. 15

Pro úplnost je architektura procesoru uvedena na obrázku 12. Pro její lepší pochopení je třeba hned na úvod říci, že procesor má implementovanou technologii HT(Hyper-Threading) a proto má frontu instrukcí i sady registrů zdvojené. Dále jsou jednotlivé logické celky procesoru nazývány trochu nezvyklejako clusters. Pokud si odmyslíme technologii HT, je popis fungování procesoru snadný. Instrukce vybrané z paměti jsou dekódovány dvěma jednotkami XLAT/FL a ukládány do fronty. Z této fronty mikro-operací si je vybírají prováděcí jednotky, a to buď FP/SIMD nebo celočíselná. Výpočet adres(agu) a řízení datové vyrovnávací paměti zajišťuje jednotka správy paměti. Komunikace s okolím je pak řízena jednotkou BIU. Jedná se tedy o poměrně jednoduchý procesor, jehož návrh je směrován k minimalizaci spotřeby a ne maximalizaci výpočetního výkonu. Jen pro srovnání, procesor poskytuje zhruba poloviční výkon, než Pentium M při stejné frekvenci. 2.20 Itanium, Itanium 2 Výroba od 2001/ 2002 Technologie 180nm 65nm Tranzistory 220 10 6 2 10 9 Jádra 1,2,4 CacheL3 1.5 24MB Frekvence 733MHz 1.7GHz Datovásb. 128bit Adresnísb. 50bit Procesor Itanium byl představen v roce 2001. Rok poté byla představena jehonovějšíverzeitanium2,kteréjenatrhudodnes.jednáseoprocesor RISCurčenýprovýkonnéservery.Jehovývojzahájilaužvroce1999firma HPavývojbyldokončenspolečněsfirmouIntel. Procesor je plně 64 bitový s architekturou označovanou IA-64. Má zcela novou instrukční sadu odlišnou od procesorů x86. Využívá paralelismus na úrovni vykonávaných instrukcí a potřebné pořadí instrukcí musí být připraveno překladačem. Vnitřní schéma je na obrázku 13. Architektura je dostatečně přímočará a nepotřebuje další komentář. Největší slabinou procesoru byla jeho zpětná kompatibilita s 32 bitovu architekturou x86. Starší aplikace na prvním procesoru běžely jako na Pentiu 100 MHz! V roce 2006 Intel pro starší aplikace navrhnul programový emulátor, který byl rychlejší než HW. Ipřesto,žeseItaniumnatrhuneprosadil,jakbyloočekáváno,ato zejménadíkysvé32bitové pomalosti,voblastivýkonnýchserverůbyl např. v roce 2008 čtvrtým nejprodávanějším procesorem. Pro Itanium jsou 16

na trhu dostupné operační systémy Windows Server, komerční UNIXy i několik distribucí Linuxu. A Přílohy 17

Intel 80286 architecture Address (AU) 18 Obrázek 5: Architektura procesoru i80286 Offset Adder Segment Limit Checker Registers Segment Bases Segment Sizes Physical Address Adder 3 Decoded Queue Prefetcher Address Latches and Drivers Decoder Bus Data Tranceivers 8 Byte Prefetch Queue Processor Extension Interface Bus (BU) A A 23 0 BHE#, M/IO# PEACK# PEREQ READY#, HOLD S1#, S0#, COD/INTA# LOCK#, HLDA D 15 D 0 RESET CLK Vss Vcc Execution (EU) (IU) CAP NMI INTR BUSY ERROR

Intel 80386DX Architecture Effective Address Bus Segmentation Paging Bus 3-Input Adder Adder Reguest Prioritize HOLD, INTR, NMI, ERROR, BUSY, RESET, HLDA 19 Obrázek 6: Architektura procesoru i80386dx Barrel Shifter, Adder Multiply / Divide Register File Status Flags Effective Address Bus Protection Test Decode and Sequencing ROM Displacement Bus Descriptor Registers Limit and Attribute PLA Internal Bus Decoder 3-Decoded Queue Linear Address Bus Code Stream Page Cache and Attribute PLA Prefetcher / Limit Checker 16 Bytes Code Queue Code Fetch / Page Table Fetch Phusical Address Bus Address Driver Pipeline / Bus Size Multiplexer / Transceivers BE0# - BE3#, A2 - A31 M/IO#,D/C#, W/R#, LOCK#, ADS#, NA#, BS16#, READY# D0 - D31 Precode Prefetch Dedicated Bus

Intel 80486DX2 Architecture 64 Bit Interunit Transfer Bus 32 Bit Data Bus 32 Bit Data Bus Core Clock Clock Multiplier Clock 20 Obrázek 7: Architektura procesoru i80486dx2 Barrel Shifter Register File FPU Floating Point Register File 32 Bit Micro- Segmentation Descriptor Registers Limit and Attribute PLA & Protection Test ROM Decoded Path Linear Address 32 Bit PCD PWT 2 Paging Translation Lookaside Buffer Displacement Bus Decode 20 Bit Physical Address 32 Bit 24 Bit Code Stream Cache 8 KByte Cache 128 Bit Prefetcher 32 Byte Code Queue (2 x 16 Byte) 32 Bit 32 Bit 32 Bit Address Drivers Write Buffers 4 x 32 Data Bus Transeivers Bus Request Sequenzer Burst Bus Bus Size Cache Parity Generation and A31 - A2, BE3# - BE0# D31 - D0 ADS#, W/R#, D/C#, M/IO#, PCD, PWT, RDY#, LOCK#, PLOCK#, BOFF#, A20M#, BREQ, HOLD, HLDA, RESET, SRESET, INTR, NMI, SMI#, SMIACT#, FERR#, IGNNE#, STPCLK# BRDY#, BLAST# BS16#, BS8# KEN#, FLUSH#, AHOLD, EADS# DP3 - DP0, PCHK# Boundary Scan TCK, TMS, TDI, TD0

Intel Pentium MMX Microarchitecture 21 Obrázek 8: Mikroarchitektura procesoru Pentium MMX 64 Bit Data Bus 32 Bit Address Bus Bus 64 64 Bit Data Bus 32 Page 32 Bit Address Bus Branch Verif. & Target Addr. Branch Target Buffer Prefetch Address Pointer 32 32 32 TLB Address Address Generate Generate (U Pipeline) (Y Pipeline) Integer Register File (U Pipeline) Barrel Shifter TLB Code Cache 16 KBytes 256 Prefetch Buffers Decode Data Cache 16 KBytes (Y Pipeline) 32 32 32 ROM 80 Floating Point Register File Add Divide 80 Multiply

System Bus (External) L2 Cache Pentium Pro Microarchitecture Cache Bus Bus Interface Fetch Cache L1 Next IP Simple Decoder Decoder Simple Decoder Complex Decoder Branch Target Buffer Microcode Sequencer From Integer Memory Reorder Buffer Register Alias Table Retirement Reorder Buffer ( Pool) Retirement Register File (Intel Arch. Registers) Data Cache L1 Reservation Station Execution SIMD FP (FPU) Float Point (FPU) Integer Integer Memory Interface Internal Data-Result Buses Obrázek 9: Mikroarchitektura procesoru Pentium Pro 22

Front-End BTB (4K Entries) Trace Cache BTB (512 Entries) TLB/Prefetcher Decoder Trace Cache (12K μops) μop Queue Quad Pumped 3.2 GB/s Allocator / Register Renamer 64 bits Microcode ROM Pentium 4 Microarchitecture System Bus Memory μops Queue Integer / Floating Point μop Queue Memory Scheduler Fast Slow/General FP Scheduler Simple FP BUS Interface Integer Register File/Bypass Network FP Register / Bypass AGU Load Address AGU Store Address 2x Simple Instr. 2x Simple Instr. Slow Complex Instr. FP MMX SSE SSE2 FP Move L2 Cache (256K Byte 8-way) 48 GB/s L1 Data Cache (8Kbyte 4-way) 256 bits Obrázek 10: Mikroarchitektura procesoru Pentium 4 23

128 Entry ITLB Fetch 32 KB Cache (8 way) 128 Bit 32 Byte Pre-Decode, Fetch Buffer 6 s 18 Entry Queue Intel Core 2 Architecture Shared Bus Interface Microcode Complex Decoder Simple Decoder Simple Decoder Simple Decoder 4 µops 1 µop 1 µop 1 µop 7+ Entry µop Buffer 4 µops Register Alias Table and Allocator 4 µops 96 Entry Reorder Buffer (ROB) 4 µops 4 µops 32 Entry Reservation Station Retirement Register File (Program Visible State) Port 0 Port 1 Port 5 Port 3 Port 4 Port 2 Shared L2 Cache (16 way) 256 Entry L2 DTLB SSE Shuffle SSE Shuffle MUL Branch SSE Store Address Store Data Load Address 128 Bit FMUL FDIV 128 Bit FADD Memory Ordering Buffer (MOB) Internal Results Bus 128 Bit Store 128 Bit 32 KB Dual Ported Data Cache (8 way) Load 16 Entry DTLB 256 Bit Obrázek 11: Mikroarchitektura procesoru Core 2 24

MS Branch Prediction Front-end Cluster Intel Atom Microarchitecture Bonnell 25 Obrázek 12: Architektura procesoru Intel Atom Per-thread Queues Shuffle SIMD multiplier FP multiplier FP move FP ROM FP divider FP store Per thread FP Register File XLAT/ FL XLAT/ FL FP adder 2-wide ILD AGU Per hread Prefetch Buffers Per thread Integer Register FIle Data Cache Shifter AGU JEU Cache DATA TLBs Inst. TLB Integer Execution Cluster Memory Execution Cluster DL1 prefetcher PHM Fill + Write combining buffers Fault/ Retire L2 Cache BIU APIC Bus Cluster FSB FP/SIMD Execution cluster

Itanium Procesor Architecture L1 Cache 16 KByte (4-way, 32 Byte / Chae Line) PC Fetch Engine Branch Predictors 256 256 26 Obrázek 13: Architektura procesoru Itanium Data Frontside Bus (2x133 MHz) 64 Addr. L2 Cache (96 KByte 6-way, 64 Byte / Cache Line) L3 Chace - and Systembus 256 1 IA-32 Decode, 8 Bundles 6 s B B B M M I I F F Branch 0 1 64 Branch & Predicate Registers 2 64 Integer & MM s 0 128 Interger Registers 64 64 1 2 Addr. 3 82 Addr. 128 Float Points 0 SIMD FMAC 128 Floating Point Registers 128 1 9 Issue Ports Register Stack Engine and Re-Mapping 128 Backside Bus from / to L3 Cache L1 Data Cache 16 KByte (Dual Ported, 4-way, 32 Byte / Cache Line) ALAT