Letem světem mikroprocesorů
Transkript
Letem světem mikroprocesorů
MASARYKOVA UNIVERZITA Pedagogická fakulta Seminární práce z VÝPOČETNÍ TECHNIKY LETEM MIKROPROCESOROVÝM SVĚTEM I4004 Bartes Jan - PENTIUM III 1. ročník Fy - Te ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem OBSAH str. 3 4 4 4 5 5 5 6 6 6 6 7 7 7 8 9 9 9 9 11 13 16 17 18 19 21 1. úvod 2. výroba mikroprocesoru 3. anatomie mikroprocesoru 3.1. registry 3.2. adresování 3.3. správa paměti 3.4. cache paměť 3.5. systém přerušení 4. Intel corporation 4.1. i4004 4.2. i8008 4.3. i8080 4.4. i8085 4.5. i8086 4.6. i8088 4.7. i80186 4.8. i80188 4.9. i80286 4.10. i80386 4.11. i80486 4.12. Intel Pentium 4.13. Intel Pentium Pro 4.14. Intel Pentium II 4.15. Intel Pentium III 5. rejstřík 6. literatura - 2 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 1. ÚVOD Na přelomu šedesátých a sedmdesátých let se objevil nový druh elektronické součástky - mikroprocesor. Ten úplně změnil historii počítacích strojů. Staly se mnohem menší, výkonnější, levnější. Co to vlastně je mikroprocesor? Již na první pohled zjistíme, že je to spojení dvou slov „mikro“ a „procesor“. Mikro značí něco miniaturního a procesor věc, jenž dovede podle zadaného programu zpracovávat data. Z toho plyne, že mikroprocesor je malá krabička se spoustou nožiček, která dovede neuvěřitelně rychle pracovat s daty. Základní předností mikroprocesoru oproti jiným elektronickým součástkám je programovatelnost. Druhou zásadní vlastností je, že se jedná pouze o jeden jediný obvod a ne o mnoha dílné zařízení. Z předchozího odstavce je zřejmé, že mikroprocesor měl dva předchůdce: procesory sálových počítačů a integrované obvody. Po sálových počítačích zdědil svou univerzalitu (programovatelnost) a po integrovaný obvodech kompaktnost a snadnou použitelnost. Při návrhu mikroprocesoru se volí mezi koncepcí von Neumannovou a harwardskou. Zatímco von Neumannova architektura používá jednu společnou paměť pro program a data, hardwardská architektura zavádí dvě odlišné paměti: paměť programu a paměť dat. V dnešní době se hardwardská koncepce používá převážně u jednočipových mikroprocesorů, což jsou obvody, jenž mohou pracovat samy o sobě. Tzn. bez různých přídavných pamětí (mají paměť integrovánu v sobě), doplňujících obvodů, apod. Pro tyto vlastnosti se „jednočipy“ používají ve spotřebičích jako jsou ledničky, pračky,... Von Neumannova koncepce se prosadila u osobních počítačů, které oproti jednočipům nabízí větší modifikovatelnost celého systému. Toho se využívá například v osobních počítačích, kde je paměť, sběrnice, podpůrné obvody, apod. umístěny mimo obvod, což umožňuje levnější modernizování a rozšiřování systému. Přibližně v době vzniku 32-bitových mikroprocesorů se objevily dvě koncepce zpracování instrukcí: RISC (Reduced Instruction Set Computer) a CISC (Complete Instruction Set Computer), které se týkají pohledu na počet a vykonávání instrukcí programu. Zatímco RISC architektura sází na malý počet instrukcí a velice rychlý výpočet, tak CISC zavádí velmi rozšířenou sadu instrukcí, ale „pomalejší“ zpracování. Každá architektura má své pro a proti. V dnešní době se tyto koncepce slučují do jedné, která přejímá to nejlepší z obou. U nejmodernějších mikroprocesorů se objevuje pojem superskalární architektura. Ta značí schopnost zpracování více instrukcí najednou. Toho lze dosáhnout buď znásobením některých částí mikroprocesoru nebo fundovaným návrhem celého systému. Paralelní zpracování ovšem nepřináší pouze výhody. Je jasné, že výkon superskalárního mikroprocesoru oproti klasickému sekvenčnímu se zvýší ovšem na úkor „snadnosti“ návrhu synchronizace obvodových částí. Další problémy nastanou např. u instrukcí, které modifikují paměť - případ kdy dvě současně prováděné instrukce modifikují stejnou paměťovou buňku. - 3 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 2. VÝROBA MIKROPROCESORU Prvním bodem výroby mikroprocesoru je jeho návrh. Ten je testován na simulačních počítanávrh čích a slouží k odhalení chyb. Po úspěšném otestování funkcí se přechází k fázi výroby simulace křemíkových plátků, které jsou od začátku vyráběny v superčistém prostředí. Na rozdíl od výroba křemíkových běžné místnosti, ve které je asi 15 milionů plátků prachových částic na 28 400cm2, obsahuje „čistá“ místnost ve stejném objemu méně než 1 zapouzdření prachovou částici. Křemík (hlavní složka písků) je základní součástí všech mikroprocesokonečné testování rů. Ten se musí nejprve vyčistit na 99,9999999%, poté se roztaví a odlije do válcových forem, ve kterých vzniknou krystalické obr. 2.1. výroba procesoru ingoty. Ingoty se poté nařežou na tenké plátky, jejichž povrh se vyleští do dokonale hladkého stavu. Z jednoho takto upraveného plátku lze vyrobit až 100 mikroprocesorů. Každý mikroprocesor je konstruován stejně jako vícepatrová budova, více vrstev materiálu spolu vytváří celek. Při výrobě jednotlivých vrstev se používá technologie známá jako fotolitografie. Prostřednictvím fotolitografie přenášíme postupně po jednotlivých vrstvách design jednotlivých obvodů na křemíkový plátek. Schematický návrh obvodů je připraven pro každou vrstvu ve formě masky či šablony. Ta působí do jisté míry jako fotografický negativ tím, že se na křemíkový plátek přenese pouze část schématu obvodů. V závislosti na typu vrstvy se na plátek následně nanesou různé vodivé nebo izolační materiály, umístí se přes něj maska a celý je vystaven působení ultrafialovému záření, čímž dojde k změkčení nezakrytých oblastí, které jsou posléze rozpuštěny chemickými rozpouštědly. Celý tento proces se opakuje pro všechny vrstvy obvodů, přičemž vrstvy mají často velikost bakteriální buňky. Poté co křemíkový plátek projde asi 250 výrobními operacemi, je speciálními lasery nařezán na jednotlivé mikroprocesory (polovodičový substrát - Die). Každý substrát je vložen do ochranného pouzdra se špičkami (piny), kterými je možné mikroprocesor připojit k jiným zařízením. 3. ANATOMIE MIKROPROCESORU 3.1. REGISTRY Každý mikroprocesor dokáže pracovat s daty uloženými ve vnější paměti. Kromě toho má také malou (v porovnání s externí) vnitřní paměť pro dočasné „bleskové“ operace s daty. Tato vnitřní paměť se dělí do několika tzv. registrů, jejichž počet se u různých mikroprocesorů liší. Nejčastěji se setkáme s těmito registry: • akumulátor (střadač) - univerzální registr, se kterým jako jediným lze provádět všechny operace. Moderní mikroprocesory zavádí kvůli usnadnění více akumulátorů. • indexový registr - umožňuje uchovávat adresu vnějších dat, které mikroprocesor právě zpracovává. • ukazatel zásobníku - speciální případ indexového registru. Zásobník se používá pro odkládání obsahu registrů a jejich opětovného obnovení, při zpracování podprogramu nebo přerušení. • čítač programu - tento registr ukazuje na adresu právě prováděné instrukce. K tomuto registru nemá programátor přístup. • stavový registr - slouží k uchovávání některého stavu mikroprocesoru. Mikroprocesor obvykle obsahuje více stavových registrů. - 4 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 3.2. ADRESOVÁNÍ Adresovací systém mikroprocesoru umožňuje programátorovi přistupovat k paměti. Teoreticky může existovat velké množství adresovacích modů, avšak v praxi se používají tyto: • registr - jméno některého registru (u 80x86 DX, CX, ...). Nabízí nejrychlejší manipulaci, díky umístění v jádře mikroprocesoru. • nepřímá adresa - je obvykle tvořena součtem tří hodnot: dvou registrů (bázového a indexového) a explicitně zadané hodnoty. • autorelativní adresa - používá se především u podmíněných skoků, kdy se adresa skoku určí posunutím vůči aktuální pozici • přímý operand - je uložen za instrukcí jako součást programu 3.3. SPRÁVA PAMĚTI Moderní mikroprocesory obsahují i jednotku řízení paměti, jejímž úkolem je efektivní zpráva a rozdělování paměti běžícím programům aniž by o její existenci věděly. Dalším neméně důležitým úkolem je ochrana paměti jednoho programu před přístupem druhých. Tato vlastnost nachází uplatnění v prostředí, kde běží „současně“ více programů. 3.4. CACHE PAMĚŤ Současné mikroprocesory dokáží pracovat mnohem rychleji než standardní paměťové obvody. To znamená, že pokud bychom chtěli synchronizovanou komunikaci paměti s procesorem vyšlo by nás to velmi draho. Proto se přidává tzv. cache paměť, která je rychlá a pracuje jako prostředník mezi procesorem a pomalou operační pamětí. Její funkce spočívá v pravděpodobnosti použití stejných dat v krátkém časovém odstupu. Dnes existuje soustava cache pamětí - v procesoru (řád desítek kB) a mezi operační pamětí a procesorem (řád stovek kB). instrukční registr adresový registr dekodér instrukcí řadič vnitřní řídící sběrnice všeobecné registry vnitřní sběrnice dat, instrukcí a výsledků zásobníková paměť vnitřní sběrnice operandů ukazatel zásobníku indexové registry programový čítač stavový registr akumulátor aritmeticko-logická jednotka obousměrný zesilovač sběrnice dat řídící sběrnice datová sběrnice zesilovač sběrnice adres adresová sběrnice obr. 3.1 obecná struktura univerzálního mikroprocesoru - 5 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 3.5. SYSTÉM PŘERUŠENÍ Pravděpodobně všechny dnešní procesory obsahují tzv. vektorový systém přerušení. Každé přerušení je identifikováno číslem. Na určitém místě v operační paměti je tabulka vektorů přerušení, ve které je jsou uchovány adresy obslužných rutin. V okamžiku přerušení je stav procesoru uložen a řízení je předáno na adresu v tabulce vektorů, která je určena číslem přerušení. Tato schopnost umožňuje použít vlastní obsluhovací rutiny jednoduchým zapsáním jejich adresy v operační paměti do tabulky vektorů. 4. INTEL CORPORATION Firma byla založena Gordonem E. Moorem (moorův zákon str.)a Robertem N. Noycem v roce 1968 se záměrem konstruovat složité křemíkové čipy. Výrobní program společnosti Intel se od počátku soustředil na vývoj a výrobu integrovaných obvodů. Podle tohoto vytýčeného programu vytvořily název firmy Integrated Electronic. Intel stál na počátku 70. let u zrodu mikroprocesoru a dynamické paměti. 4.1. I4004 Mikroprocesor i4004 byl vyroben v roce 1970 na zakázku pro japonskou firmu Busicom. Čip , jehož autorem byl Marcian Hoff, obsahoval 2300 tranzistorů na křemíkovém plátku 3 mm x 4 mm a byl určen pro použití v kapesních kalkulátorech. 4-bitový, 108 kHz procesor se prodával za cenu 200 dolarů, což mu zaručilo poměrně dobrou prodejnost. Mikroprocesor se od existujících integrovaných obvodů lišil především svou schopností pracovat s instrukcemi. Obvod byl vyroben 10 mikronovou technologií. předchůdci i4004: 4001 4002 4003 4004 - 2,048-bit ROM paměť 320-bit RAM paměť 10-bit I/O posuvný registr 4-bit centrální procesorová jednotka (Central Processor Unit) 4.2. I8008 První osmibitový mikroprocesor i8008 byl vyvinut v roce 1971. Byl sestaven z 3500 tranzistorů, uměl adresovat až 64 kB paměti a pracoval na frekvenci 200 kHz. Jeho výkon se pohyboval kolem 60.000 instrukcí budič sběrnice vnitřní sběrnice registr a registr b aritmeticko-logická jednotka příznaky instrukční registr dekodér instrukcí časování a řízení obr. 4.1. blokové schéma i8008 - 6 - systémový zásobník pole registrů ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem za sekundu. Byl vyráběn technologií MOS s P-kanálem se šířkou spojů 10 mikronů. Sestavu mikropočítačového systému tvoří CPU 8008 ve spojení s obvody I/O a libovolným typem rychlých polovodičových pamětí. Mikroprocesor i8008 obsahuje 6 osmibitových registrů dat, osmibitový střadač, 2 osmibitové pomocné registry a,b, 4 testovatelné příznakové bity, osmibitovou paralelní aritmetickou jednotku, 14-bitový programový čítač a 7 14-bitový registrů, které tvoří zásobník návratových adres, při volání podprogramů. 4.3. I8080 Mikroprocesor i8080 byl uveden na trh v roce 1974, obsahoval 6000 tranzistorů. Použitá technologie MOS s N-kanálem se šířkou spojů 6 mikronů a základní frekvencí 2 MHz umožnila vykonávat 20 krát více instrukcí za sekundu než i4004. CPU (central processor unit) obsahuje 6 registrů dat, 4 dočasné registry, akumulátor (vše 8-bitové), 5 testovatelných příznakových bitů a 8-bitovou paralelní ALU (arithmeticallogical unit). Procesor má dvě sběrnice: 16-bitovou adresovou a 8bitovou datovou. Instrukční soubor i8080 umožňuje: • pracovat s registry: přesuny registr<->registr, registr<->paměť • aritmetické operace s registry a střadačem: inkrement, dekrement, binární součin nebo rozdíl střadače s registrem nebo pamětí, operace s dekadickými čísly, komparace • logické operace: AND, OR, ekvivalence, nonekvivalence střadače s registry a pamětí • instrukce programového čítače: podmíněné a nepodmíněné - skoky, volání procedur, návraty • instrukce vstupu a výstupu • instrukce s čítačem programu a ukazatelem zásobníku • instrukce ošetření přerušení: povolení, zabránění, restart • instrukce HLT Instrukce mohou mít velikost 1, 2 nebo 3 byty. Typické jednobajtové instrukce jsou přesuny, aritmetická a logické operace, rotace, PUSH (uložení na zásobník), POP (vyzvednutí ze zásobníku). Mezi dvoubajtové instrukce patří instrukce, které nahrávají následná data nebo operace Input/Output. Instrukce skoků (JMP, CALL) patří do skupiny tříbajtových instrukcí. 4.4. I8085 Na počátku roku 1976 začat Intel vyrábět a prodávat i8085. Pracoval na frekvenci 5 MHz a využíval 6 500 tranzistorů. i8085 je až na dvě nové instrukce totožný s i8080. 4.5. I8086 Byl uveden v březnu 1976 a obsahoval 29 000 tranzistorů při použití technologie HMOS se šířkou kanálu 3 mikrony. CPU může pracovat s daty o šířce 8 nebo 16 bitů. Je taktován 4,77 MHz krystalem (později 8 MHz). i8086 byl vůbec prvním 16-bitovým mikroprocesorem a díky tomu se stal základem nejrozšířenějších počítačů třídy IBM PC XT. i8086 má dvanáct vnitřních šestnáctibitových registrů přístupných přímo a dva registry přístupné nepřímo (čítač instrukcí a registr přepínačů). Mezi přímo přístupné registry patří čtveřice segmentových registrů - CS, DS, SS, ES. Zbylá osmice registrů lze označit za polouniverzální, neboť žádné dva registry nejsou ekvivalentní při použití. Čtyři z nich jsou datové registry - AX, BX, CX, DX. Poslední čtyři registry - ukazatel zásobníku SP, base pointer BP, source index SI a destination index DI. Instrukční soubor je oproti svým předchůdcům doplněn o násobení, dělení, zpracování dat v dekadickém tvaru, operace s jednotlivými bity, byty, slovy nebo bloky dat. Příjemným rozšířením instrukční sady pro práci s řetězci je přidání sady prefixů REPx. Po- - 7 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem kud před instrukci pro práci s řetězci umístíme tento prefix bude se daná operace opakovat dokud nenastane určitá podmínka(určená REP, REPE, REPNE), nebo dokud neuplyne zadaný počet opakování. budič sběrnice AH AL BH BL CH CL DH DL SP BP SI DI ALU operand 1 operand 2 příznaky First In First Out fronta Σ dekodér instrukcí ES CS SS DS IP (PC) časování a řízení obr. 4.2. blokové schéma i8086 i8086 dovoluje adresovat až 1 MB operační paměti, která je dělena na 64 kB bloky - segmenty, ke kterým se přistupuje pomocí segment registru v kombinaci s offset registrem. Počáteční adresy segmentů jsou uloženy ve speciálních segmentových registrech CS, SS, DS a ES. Při dekódování dvacetibitové adresy se segmentové registry používají jako horních šestnáct bitů. Zbylé čtyři bity jsou doplněny nulami. Pro získání konečné adresy se k této hodnotě ještě přičte offsetový registr (viz obr, 4.3.). O použití segmentových registrů rozhoduje systémová logika tímto způsobem: • registr CS - odkazy do kódu, tj. skoky, adresy podprogramů • registr SS - operace se zásobníkem nebo pokud se používá ještě registr BP • registr ES - operace s řetězci bytů • registr DS - ostatní manipulace s daty offset segment 0000 součet adresa paměti obr. 4.3. generace 20-ti bitové adresy Adresa uvnitř segmentu je v programu určena běžným způsobem. Instrukce může obsahovat tři adresní části: základní registr, indexový registr a posunutí. Všechny části se sečtou a vytvoří výslednou adresu. Existují však jistá omezení: • jako základní registr se může použít pouze registr BX nebo BP • jako indexový registr lze použít pouze registr SI nebo DI 4.6. I8088 i8088 se začal vyrábět 3 mikronovou technologií v červnu 1979. Konstrukčně vycházel z mikroprocesoru i8086 a byl sním plně instrukčně kompatibilní. Pouze jeho externí sběrnice byla přepracována pro zapojení do 8-bitových systémů. Stejně jako i8086 byl i i8088 vyráběn v - 8 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 4,77 MHz verzi, kterou postupně nahradila frekvence 8 MHz. Toto zvýšení frekvence přineslo zvýšení výkonu z 0,33 na 0,75 MIPS (million instruction per second). 4.7. I80186 Následník i8086, který se objevil v červnu 1982. Byl rozšířen o dva kanály rychlého přístupu do paměti (DMA - direct memory access), tři programovatelné časovače, programovatelný řadič přerušení, generátor časových impulsů a o několik málo instrukcí. 4.8. I80188 Následník i8088 se stejným rozšířením jako i80186. Byl uveden nedlouho po i80186. 4.9. I80286 Mikroprocesor i80286 se objevil v únoru 1982. Skládal se ze 134 tisíc tranzistorů s šířkou kanálu 1,5 mikronu a používal plně 16 bitovou sběrnici. i80286 byl vůbec první mikroprocesor jenž obsahoval jednotku řízení paměti. Tato jednotka fungovala pouze v chráněném režimu, což byl nově zavedený režim práce mikroprocesoru, ve kterém mohlo být adresováno až 16 MB paměti skutečné a až 1 GB paměti virtuální. V reálném režimu mohl stejně jako i8086 adresovat maximálně 1 MB paměti. Kvůli značné komplikovanosti použití chráněného režimu se téměř nepoužíval. První verze byla taktována 6 MHz krystalem. Následovaly verze 10 a 12 MHz. Výkon mikroprocesoru se pohyboval od 0,9 MIPS (6 MHz) až po 2,66 MIPS (12 MHz). i80286 se stal základním kamenem počítačů kompatibilních s IBM PC AT. 4.10. I80386 Říjen 1985 byl ve znamení nového mikroprocesoru - i80386. Technologický rozdíl mezi i80286 a i80386 byl stejně velký jako mezi i80286 a i8086. Nejprve byl vyráběn technologií 1,5 (275.000 tranzistorů) a posléze 1,0 mikronu (855.000 tranzistorů). Taktovací frekvence se pohybovala mezi 16 - 33 MHz. Registry mikroprocesoru i80386 můžeme rozdělit do tří skupin: • aplikační registry - slouží pro obyčejné datové operace. Oproti i80286 jsou rozšířeny na 32 bitů. Kromě tohoto rozšíření se v ničem neliší. • systémové registry - do této skupiny patří skupina řídících registrů CRx, jenž slouží pro řízení či zjišťování stavu procesoru. Do jisté míry je lze chápat jako rozšíření registru příznaků. Dále v této skupině nalezneme registry, které obsahují adresy důležitých systémových oblastí jako jsou: tabulka vektorů přerušení (IDT - interrupt descriptor table), globální tabulka deskriptorů (GDT - global descriptor table), lokální tabulka deskriptorů (LDT - local descriptor table) • ladící registry - DR0 až DR7. Rozšiřují možnosti programového ladění. Aplikační registry můžeme rozdělit do tří skupin (viz. obr.): • obecné - 16-bitové registry - šest registrů shodných s i80286 32-bitové registry - osm registrů • systémové - 32-bitové registry - EIP (čítač programu), ESP (ukazatel zásobníku) • segmentové - 32-bitové registry - jsou známy od i8086. Zde je tato sada rozšířena ještě o FS a GS, které nemají specifické určení. - 9 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem obecné registry: řídící registry: EIP EAX IP EFLAGS FLAGS AX AH AL EBX ECX EDX ESP EBP ESI EDI segmentové registry: CS DS SS ES FS GS obr. 4.4. registry i80386 Instrukční sada i80386 je rozšířena o některé bitově orientované instrukce. Bity operandu lze testovat, nastavovat na požadovanou hodnotu a měnit. Další novinkou je možnost uložení (načtení) obsahů všech registrů do (ze) zásobníku jedinou instrukcí. Správa paměti i80386 se skládá ze dvou samostatných vrstev: vyšší (zajišťuje segmentaci) a nižší (zajišťuje stránkování). Mikroprocesor i80386 zdokonaluje systém segmentů z 8086 ve dvou směrech: • segmentový registr neobsahuje přímo adresu segmentu, ale tzv. selektor - index do systémové tabulky (GDT), která popsuje jednotlivé segmenty. Teprve v této tabulce je uvedena adresa, na které je segment v paměti uložen (plus řada doplňujících informací). • offset uvnitř segmentu může být 32-bitový, diky čemuž není nutné používat segmenty na rozšíření paměťového prostoru. 15 3 selektor 2 1 0 31 TI RPL 0 offset GDT / LDT 8 192 položek tabulek popisovačů segmentů GDT nebo LDT + 63 32-bitová reálná adresa TI - table indicator (LDT = 1 GDT = 0) RPL - úroveň oprávnění 0 obr. 4.5. zpracování adresy Každý segment paměti je tedy popsán řádkem v tabulce GDT/LDT tzv. deskriptorem. Deskriptor obsahuje všechny důležité informace o segmentu jako jsou: umístění segmentu v paměti, jeho typu a kódu ochrany obsahuje-li data nebo kód, smí-li se obsah segmentu měnit, patří-li segment systému nebo jinému programu a podobně.Díky tomu může jednotka správy paměti zamezit neoprávněné manipulaci s pamětí. Nedílnou součástí deskriptoru je také bit (present) informující o umístění segmentu (0 - virtuální paměť, 1 - operační paměť). Pokud systém zjistí, že segment není v operační paměti vyvolá přerušení a je na samotném systému jak tuto událost obslouží. Deskriptor nemusí určovat skutečný paměťový segment. Mikroprocesor i80386 obsahuje několik typů deskriptoru, které slouží ke speciálním účelům. Takovým deskriptorům říkáme brány. I80386 obsahuje velice propracovaný systém ochrany. Každý program pracující v chráněném režimu má přidělenu jednu ze čtyř úrovní priority. Nejvyšší je vyhrazena jádru operačního systému, druhá pro zbytek operačního systému. Na třetí úrovni mohou pracovat některé do- - 10 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem plňky a čtvrtá je určena pro běžné aplikace. Pokud program přistupuje k paměti je nejprve zkontrolována priorita procesu a prioritu segmentu. Pokud je priorita programu nižší než priorita segmentu, není přístup k datům povolen. Pokud ovšem potřebuje aplikace volat služby operačního systému nebylo by to možné. Z tohoto důvodu se používají již zmíněné brány. Brána nereprezentuje žádný paměťový prostor, ale jakýsi vstupní bod (adresu pro volání podprogramu). Při použití brány procesor ignoruje hodnotu offsetu a nahradí ji adresou na které začíná daný podprogram. Tím je zajištěn přístup, ale není umožněno „skákat“ kamkoli. Princip brány je použit taktéž u tabulky vektorů přerušení. Systém stránkování představuje po segmentování druhou úroveň řízení paměti mikroprocesoru i80386. Programy pracující v chráněném módu pracují s dvourozměrnou virtuální adresou, složenou ze selektoru a offsetu. Systém segmentů převede tuto adresu na tzv. lineární 32-bitovou 31 22 21 adresář 12 11 tabulka stránkový adresář 0 offset stránková tabulka + Fyzická paměť CR3 DBA 31 0 31 0 obr. 4.6. převod logické adresy na fyzickou adresu. Systém stránkování dělí celý adresový prostor na 4 kB bloky stránky. Těchto stránek (logické stránky) je v celém adresovém prostoru právě 1 045 576. Fyzická operační paměť je taktéž rozdělena na stránky (fyzické stránky) o velikosti 4 kB, jejichž počet závisí na kapacitě operační paměti instalované v konkrétním systému. Každé logické stránce nemusí být přiřazena stránka fyzická - vzniká prázdný adresový prostor. Tabulka popisující rozložení stránek obsahuje pro každou stránku přepínač (podobně jako přepínač present v deskriptoru), který určuje fyzickou existenci dané stránky. Pokud se program pokusí použít lineární adresu, která je součástí některé logické stránky bez odpovídající stránky fyzické, generuje mikroprocesor přerušení a je na operačním systému aby tuto událost obsloužil - například nahrál požadovanou stránku do paměti. Mechanismus spojení fyzických a logických stránek se podobá mechanismu segmentů. Mikroprocesor i80386 spravuje další sadu tabulek, které obsahují pro každou logickou stránku adresu odpovídající stránky fyzické. Tyto tabulky jsou velmi podobné tabulce deskriptorů. Jediným rozdílem je že tyto tabulky jsou dvouúrovňové - jednoúrovňová by byla příliš velká. Celou situaci přibližuje obr. 4.6. 4.11. I80486 Mikroprocesor i80486 byl představen v dubnu 1989. Nejdříve byl vyráběn 1,0 mikronovou technologií, kterou později vystřídala technologie 0,8 mikronu. Obsahoval 1,2 milionu tranzistorů. Taktovací frekvence se pohybovala od 25 do 66 MHz. Mikroprocesor i80486 byl oproti i80386 doplněn o: • jednotku operací v pohyblivé řádové čárce • interní vyrovnávací paměť • novou technologii blízkou RISC Na jednom čipu je spolu s procesorem integrována jednotka operací v pohyblivé řádové čárce (FPU - Floating-point Unit). Je to v podstatě - 11 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem aritmeticko-logická jednotka segmentovací floatingpoint jednotka řídící a ochranná jednotka jednotka stránkovací jednotka jednotka cache dekodér instrukcí předpověď větvení systémový interface obr. 4.7. blokové schéma mikroprocesoru i80486 zařízení totožné s externím obvodem i80387, které spolupracovalo s i80386. Nová FPU je plně kompatibilní s i80387. FPU pracuje s osmi různými typy dat: • word integer - 16-bitové celé číslo se znaménkem uložené ve dvojkovém doplňkovém kódu • short integer - 32-bitové celé číslo (taktéž znaménkové) ve dvojkovém doplňkovém kódu • long integer - 64-bitové celé číslo (opět znaménkové) ve dvojkovém doplňkovém kódu • packed BCD - zhuštěné BCD číslo. 18 BCD číslic se znaménkem v 80-ti bitech. Znaménko je uloženo v bitu nejvyššího řádu stejně jako u celých čísel. • single precision - 32-bitové reálné číslo podle IEEE • double precision - 64-bitové reálné číslo podle IEEE • extended precision - 80-bitové reálné číslo podle IEEE FPU interně pracuje pouze s 80-bitovým reálným číslem. Ostatní formáty jsou použity pro vstup a výstup. Reálná čísla jsou uložena podle standardu IEEE 754 (Institute of Electrical and Electronic Engineers).Reálné číslo je rozloženo do tří částí: • nejvyšší bod je označen značkou S (sign), to značí znaménkový bit. Je-li nulový pak uložené číslo je kladné. • exponent nese informaci o velikosti čísla • mantisa uchovává číslice číslo Do mantisy jsou ukládány pouze významné číslice, levostranné nuly jsou odstraněny.Mantisa vyjadřuje číslo jako 1.xxxxx. Exponent potom určuje počet binárních řádů o které je nutno mantisu posunout, abychom dostali požadované číslo. Číslo lze vyjádřit matematicky: mantisa×2exponent. Mikroprocesor rozpozná, že instrukce programu je určena pro matematický koprocesor tím, že instrukce začíná 11011 (prvních 5 bitů). Mikroprocesor i80486 používá interní vyrovnávací paměť (cache) o velikosti 8 kB společnou jak pro data tak pro program. Přítomnost interní vyrovnávací paměti je pro programy, které s ní nepočítají, neviditelná, proto je zachována plná kompatibilita s rodinou 80x86. Cache je čtyřcestná asociativní paměť obsahující 4x128 klíčů. 21-bitový klíč obsahuje nejvyšších 21 bitů fyzické adresy. Ke každému klíči je přiřazeno 16 B jako obsah položky. Kapacita této datové oblasti je 8 kB. První slabika 16 B položky musí ležet na adrese dělitelné 16. Ke každému klíči je přiřazen jeden bit (V - valid), jenž označuje platnost dat. Každému řádku jsou navíc určeny navíc tři bity (algoritmus LRU - - 12 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem last recently used), pomocí nejdéle nepoužitý klíč. LRU řádek,r0 r1 r2,c0 c1 c2 c3 kterých lze na klíče c0 řádku přibližně určit data c1 c2 c3 c0 c1 c2 c3 0 n 127 21b 16B výběr slabiky fyzická adresa klíč 31 řádek 11 10 4 slabika 3 0 obsah data 7 0 obr. 4.8. struktura vnitřní vyrovnávací paměti i80486 V roce 1992 se objevila modifikace mikroprocesoru i80486, jenž používala dvojnásobnou interní frekvenci oproti externí frekvenci sběrnice, což umožňovalo použití ve starších základních deskách, které nebyly tak nákladné. Tato modifikace byla označena 486DX2. Obecně značení DX značí mikroprocesor s interním matematickým koprocesorem (FPU), kdežto SX označuje mikroprocesor s mechanicky odpojenou interní FPU. Verze SX byla díky tomu levnější a jediný rozdíl byl v rychlosti výpočtu operací s pohyblivou desetinnou čárkou. O dva roky později (1994) byla vyvinuta další verze, jejíž výrobní technologie 0,6 mikronu umožnila zvýšení interní frekvence na trojnásobek, označená jako DX4 (ne opravdu to není překlep). DX4 používá snížené interní napětí na 3,3 V (DX2 - 5 V), což snižuje spotřebu elektrické energie a množství vyzářeného ztrátového tepla na 2,5 W (DX2 - 4 W). Je paticově i instrukčně kompatibilní s i80486. Dále byla zvětšena interní vyrovnávací paměť na 16 kB a rozšířena správa napájení SL. Interní frekvence se vyšplhala až na 120 MHz. Mikroprocesor i80486DX4 vyplňoval výkonnostní a cenovou mezeru mezi i80486 a Pentiem. 4.12. INTEL PENTIUM Mikroprocesor Intel Pentium byl poprvé představen na výstavě CEBIT ’93. Nejprve se měl jmenovat Intel 586, ale protože číselné názvy nelze chránit značkou bylo jeho jméno změněno. Pentium bylo realizováno (první verze) technologií BICMOS se základní strukturou 0,8 mikronů a obsahovalo 3,1 milionu tranzistorů na ploše necelého cm2 (2,16 inch2). Pentium je superskalární implementace rodiny mikroprocesorů 80x86, což zajišťuje zpětnou kompatibilitu. Za použití různých technologických vylepšení je schopen pracovat dvakrát rychleji ve výpočtech s celočíselnými hodnotami a 3-7 krát rychleji v operacích s pohyblivou desetinou čárkou než jeho předchůdce 80486 (na stejné frekvenci 66 MHz). Procesor Pentium je vytvořen na 32bitové základně, což znamená, že pracuje s 32-bitovým logickým i fyzickým adresováním. Aby bylo docíleno co nejvyššího dynamického výkonu má implementovánu 64-bitovou interní sběrnici se speciální 64-bitová jednotkou pro čtení a zápis. CPU obsahuje dvě stejné cesty pro provádění instrukcí U a V. Obě dvě výpočetní jednotky pracují paralelně a provádí celočíselné instrukce. Současné sdílení U a V bývá označováno jako párování instrukcí. Zpracování instrukce probíhá v těchto stupních: • PF (prefetch) - předprovádění instrukce • D1 (instruction decode) - dekódování instrukce - 13 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem • D2 (address generate)- vytvoření adresy • EX (execute) - provedení instrukce - jednotky ALU a cache • WB (write back) - dokončení instrukce + aktualizování registračního souboru předprováděcí buffer cache programu předpověď větvení + + dekodér instrukcí systémový interface stránkovací jednotka kontrolní ROM řídící a ochranná jednotka adresový generátor U-pipe V-pipe ALU U-pipe V-pipe Provázaná FPU (floating point unit) cache dat obr. 4.9. blokové schéma mikroprocesoru Pentium V prvním kroku (PF) se z paměti (nebo z cache paměti) načítají instrukce a díky tomu, že má CPU oddělenou datovou a instrukční (programovou) cache paměť, nedochází ke kolizím při současném předprovádění instrukce a práci na datových jednotkách. Obě dvě předprováděcí vyrovnávací paměti pracují s Branch-Target-Buffer (BTB). BTB je použit k tomu, aby předpověděl větvení programu, a aby zabránil přerušení výpočetní cesty v důsledku chybného předprovádění. V kroku D1 je určen typ příkazu a objasněno zda mohou sdílet obě dvě výpočetní cesty jeden nebo dva příkazy. Ve druhém stupni dekódování instrukce (D2) je určena adresa. Instrukce, které požadují přímé operandy a dodatečné přemístění nebo současné bázové i indexové adresování mohou být (narozdíl od i80486) provedeny v jednom taktu. Prováděcí fáze instrukce vykonávají ALU jednotky a jednotka cache. Pokud příkaz potřebuje pracovat i s jinými částmi je proveden v několika cyklech. Poslední krok - zpětné zapsání slouží k aktualizaci stavových registrů mikroprocesoru, aby se zabránilo chybám v následném zpracování. Procesor Pentium obsahuje narozdíl od i486 oddělenou instrukční a datovou rychlou vyrovnávací paměť - cache, každou o velikosti 8 kB. Oddělení obou pamětí není pro programové prostředky viditelné, čímž je zajištěna binární kompatibilita s ostatními členy rodiny 80x86. Obě jednotky jsou organizovány jako tzv. dvoucestně sdružená cache. Každá cesta se skládá ze 128 řádků o velikosti 32 B. Datová cache podporuje současně dvě jednotky, vždy jednu z U nebo V cesty. Aby se předešlo konfliktům na jednotkách je paměť datové cache koncipována jako osminásobně proložená. Jeden řádek (32 B) je rozdělen na osm dílů (4 B). Takto mohou obě celočíselné prováděcí cesty paralelně pracovat s datovou cache. Aby se předešlo konfliktům při použití fyzické adresy, má každá cache implementován oddělený Translation-Location-Buffer (TLB), jenž převádí logické adresy na fyzické. Vnitřní paměť cache může být vypnuta externími technickými prostředky nebo programově. Datová cache může pracovat ve dvou režimech: Write Back nebo Write Through. - 14 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem Jednotka pohyblivé řádové čárky (Floating-point Unit) v mikroprocesoru Pentium je kompletně přepracovaná a nyní pracuje s osmistupňovou výpočetní posloupností: • PF - předprovádění • D1 - dekódování instrukce • D2 - vytvoření adresy • EX - čtení paměti a registrů + konvertování na požadovaný formát • X1 FP - konvertování externího datového formátu na interní • X2 FP - prováděcí krok 2 • WF - zaokrouhlování a zápis výsledku do registračního souboru • ER - chybová hlášení tj. aktualizace stavových registrů Jednotka FPU používá osm registrů, které fungují na principu zásobníku. Výkon této nové FPU je asi 4-10 krát větší než u i486DX/33 a až sedmkrát vyšší než u i486/50 viz. tabulka. Instrukce FXCH FLD FST FASS/FSUB FMUL FDIV Taktovací cyklus procesoru Pentium 1 nebo paralelně 1 2 3 3 39 Taktovací cyklus i486DX 4 3 3 10 16 73 Sběrnice procesoru Pentium je v mnoha ohledech podobná sběrnici i486. Velmi významnou odlišností je zvětšení šířky datové sběrnice na 64-bitů. Dalším rozdílem oproti i486 je sběrnicový Pipelining - zřetězené zpracování instrukcí (zatímco se jedna instrukce provádí další se načítá). Stejně jako u i486 je datová sběrnice paritně chráněna. Procesor sám nevykonává žádné kroky k vyhodnocení chyby parity. Ty přenechává externímu výpočetnímu systému. Soubor instrukcí procesoru Pentium je obohacen o šest nových instrukcí, z nichž jsou nejzajímavější tyto tři: CMPXCHG8B (Compare and exchange 8B) - existoval již u i486, ale zde je rozšířen na 64bitové slovo. CPUID - identifikace procesoru CR4 - nový řídící registr mikroprocesoru, jehož hodnota může být zjištěna pomocí standardního příkazu MOV. Osmého ledna 1997 se začal prodávat mikroprocesor Pentium, jenž obsahoval rozšíření instrukčního souboru o 57 nových instrukcí (MMX multimedia extension). Ty zvyšují rychlost některých výpočetně náročných smyček, které se objevují v aplikacích při zpracování grafiky, obrazu a zvuku. Nový mikroprocesor je postaven na technologii 0,35 mikronu, která dovoluje při sníženém vnitřním napětí zvýšit výkon. V případě Pentia MMX bylo sníženo vnitřní napětí na 2,8 V (2,45 V u verze pro mobilní počítače). Externí napájení zůstává kvůli kompatibilitě s ostatními součástkami na stejné úrovni. Toto snížení se projevilo na snížení vyzářené tepelné ztráty na 15,7 W (7,8 W mobilní verze). Mimo nové instrukce je podstatnou změnou zdvojnásobení vnitřní paměti cache na 32 kB a přepracování algoritmu předpovědi větvení programu. Procesor dále obsahuje osm nových 64-bitových registrů MMX (kryjí se s registry matematického koprocesoru), využívajících technologii SIMD (single instruction multiple data) to znamená, že až osm bytů zpracovávaných stejnou instrukcí může být seskupeno do jednoho 64-bitového bloku (quadword), přesunuto do jednoho registru a naráz zpracováno v jediném taktu (dosud se tento objem dat zpracovával v osmi taktech). Taktovací frekvence mikroprocesoru Pentium MMX se vyšplhala na 233 MHz. - 15 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem Každý vytvořený mikroprocesor obsahuje alespoň minimální chybu (nic není dokonalé). Ovšem 30. října 1994 se začala šířit panika kvůli zjištění chyby instrukce FDIV a Intel na požádání vyměňoval vadné čipy. Chyba se projevuje při dělení dvou čísel s pohyblivou řádovou čárkou a to „pouze“ u určitých kombinací čísel. Jako test chybovosti konkrétního mikroprocesoru Pentium lze použít jakýkoli počítací program a zadat výraz: 5505001/294911. Výsledek má být 18,66665197, kdežto chybové Pentium vrátí hodnotu 18,66600093. Chyba dělení se projevuje na 1738 kombinacích. Další chybou trpí všechny mikroprocesory Pentium, Pentium MMX. Netrpí jí Pentium PRO a Pentium II, protože mají jinou vnitřní architekturu. Chyba se projeví jako zatuhnutí systému a je způsobena sekvencí čtyř instrukcí. Aktuální operační systémy tuto chybu umí filtrovat a tudíž žádné nebezpečí nehrozí. 4.13. INTEL PENTIUM PRO Mikroprocesor Pentium Pro byl uveden na trh 11. ledna 1995. Vlastní mikroprocesor je složen z pěti a půl miliónů tranzistorů. Technologie výroby je BiCMOS se šířkou kanálu 0,35 mikronu. S novým procesorem Pentium Pro začal Intel v mnohém od počátku. Vzhled procesoru (v jehož obdélníkovém obalu jsou dva křemíkové čipy) a zcela změněný design hlavních desek v počítačích nejmladší generace jsou jen nejnápadnější znaky. Mezi další novinky patří tři pipelines, jenž se starají o rychlé zpracování příkazů. Procesor Pentium Pro zpracovává jednotlivé příkazy zcela odlišně oproti svým předchůdcům a to tak, že všechny příkazy, které dostává „rozseká“ na malé kousky. Nezpracovává je však postupně, ale volí co nejoptimálnější pořadí, ve kterém mohou být příkazy nejrychleji provedeny. Aby mohl takto pracovat není potřeba žádný nový software. Pentium Pro dokáže pracovat s dosavadní instrukční sadou procesorů Intel a díky tomu je kompatibilní se svými předchůdci. Ovšem mnohé z triků, které měly zvýšit výkonnost procesoru i80486 a Pentia, nyní dělají potíže. To, co se u starších mikroprocesorů staralo o rychlejší běh, způsobuje Pentiu Pro problémy. Malými sousty se dokonale zahltí, i když by je vlastně nový přístup zpracování příkazů měl vykonávat jako na běžícím pásu. Pentium Pro potřebuje pro optimální výkon především 32-bitové programy. Nejnápadnějším znakem je integrovaná vyrovnávací paměť druhé úrovně - Second level cache (L2-cache), jenž se obvykle nachází mimo hlavní mikroprocesor. Slouží jako rychlá mezipaměť pro častěji používaná data. Díky této integraci se celkový počet tranzistorů zvětšil o dalších 15,5 miliónů tranzistorů (256 kB verze). CPU a L2 cache komunikují po 64-bitovém rozhraní. Mimoto je tato vyrovnávací paměť uspořádána tak, že neblokuje procesor. Ten není akcemi vyrovnávací paměti ani zastavován, ani nemůže dojít ke zpoždění transakcí na procesorové sběrnici. Pokud například nejsou potřebná data ve vyrovnávací paměti nalezena, provede procesor okamžitě jiné instrukce. Zároveň proběhne pokus získat data chybějící v této paměti přes paměťovou sběrnici, rovněž 64bitovou. Pentium Pro zvládne až čtyři takto rozpracované instrukce najednou. Dynamic execution je pojem, kterým Intel popsal nový přístup ke zpracování instrukcí. Skrývá se za ním kombinace tří technik použitých v Pentiu Pro za účelem urychlení programů. Jsou to: • Předpověď skoků - procesor se dívá několik kroků v programu dopředu a určuje, které skoky s velkou pravděpodobností nastanou a které skupiny instrukcí proto budou zřejmě zpracovány jako další. • Analýza toku dat - v dalším kroku procesor zkoumá, jaké instrukce jsou závislé na jiných výsledcích a datech. Tím sestavuje optimální časový plán pro zpracování jednotlivých příkazů. Původní pořadí příkazů přitom nemusí být zachováno - Out Of Order Execution. Díky tomu je možné obejít některé případy, které si v Pentiu vynucují čekací stavy, protože se postupuje pouze krok za krokem. - 16 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem • Spekulativní provádění - na základě časového plánu se provádí potenciální instrukce a procesor je díky tomu smysluplně zaměstnán. Pro uskutečnění Dynamic execution musel Intel najít nová řešení, protože jinak by nebylo možné překonat výkony Pentia. Pipeline Pentia se skládá z pěti stupňů, zatímco Pentium Pro jich má 14. Zatímco Pentium dovede zpracovat najednou dvě instrukce, tak Pentium Pro zvládne v jednom taktu provést instrukce tři. Lineární zpracování instrukcí s klasickými fázemi fetch a execute u Pentia Pro nahrazuje tzv. instruction pool. Zde procesor sestavuje plán pro zpracování příkazů. V něm by mohli například být čtyři příkazy, z nichž první nemůže být okamžitě proveden, protože potřebná data se nenachází ve vyrovnávací paměti a musejí být nejprve vyzvednuta z operační paměti. Pokud druhá instrukce závisí na první, musí tradiční CPU nejprve počkat - Pentium Pro naproti tomu může dopředu spekulativně provádět třetí a čtvrtý příkaz, pokud k nim nepotřebují předchozí výsledky. Výsledky se vrací zpět do instruction pool a tam čekají na další zpracování. Schopnost Out-of-order execution, jenž je klíčem k rychlosti Pentia Pro, se v některých situacích stává brzdou. Například přečtení kompletního registru může zastavit zpracování příkazů. Pokud odpovídající příkaz následuje bezprostředně za zápisovou instrukcí pro segment tohoto registru. Tyto stavy se vyskytují v malé míře především v 16bitových aplikacích. Bez jakýchkoli přídavných obvodů je v multiprocesorovém systému možno připojit až čtyři procesory Pentium Pro přímo na procesorovou sběrnici. Každý procesor má interní potřebnou logiku, aby byla zajištěna koherence dat. Další skupiny procesorů je možno připojit na procesorovou sběrnici přes tzv. Cluster Bridge. Aby byly možné současné přístupy na sběrnici, aniž by vznikaly elektrické problémy, rozloučil se Intel s tradiční TTL (TranzistorTranzistor Logic). Pentium Pro namísto toho používá logiku GTL+ (Gunning Tranzistor Logic). 4.14. INTEL PENTIUM II Procesor Pentium II byl představen 24. října 1998. Obsahoval 7,5 miliónu tranzistorů. Minimální vnitřní vzdálenost se menšila na 0,25 mikronů. Taktovací frekvence se pohybuje ve stovkách megahertzů. Intel poprvé použil zcela novou patici nazvanou Slot 1. Později Intel vyrobil modifikaci Pentia II, jenž neobsahovala interní vyrovnávací paměť L2 cache. Díky tomu vyplnila výkonnostní (a cenovou) mezeru mezi Pentiem a Pentiem II. „Nový“ procesor dostal jméno CELERON. První verze Celeronu používala stejnou patici a externí systémovou frekvenci 66 MHz. Interní frekvence 266 a 300 MHz umožnila dostatečný výkon v plovoucí řádové čárce a MMX. Nejnovější verze Celeronu (MENDOCINO) dostala 128 kB interní L2 cache, jenž zvýšila počet tranzistorů na 19 miliónů. Interní frekvence se zvýšila až na 333 MHz. Snadná přetaktovatelnost (možnost zvýšit interní frekvenci), a tím i zvýšení výkonu, mu získala velkou popularitu. Verze uvedená 15. dubna 1999 využívá 0,18 mikronovou technologii a interní frekvenci 466 MHz. 31. července 1999 byla „vypuštěna“ 500 MHz verze, jenž obsahuje 256 kB interní L2 cache. Podobně jako Celeron, jenž byl určen převážně pro domácnosti, byla uvedena verze určena pro výkonné pracovní stanice a servery - XEON. Nejnovější verze z 5. ledna 1999 obsahuje 512 kB, 1 MB nebo 2 MB interní L2 cache. Vnitřních 7,5 miliónu tranzistorů je poháněno 450 MHz. Xeon podporuje multiprocessing. Modifikace Pentia II, Celeronu i Xeonu, které mají snížený ztrátový tepelný výkon, se používají též v mobilních počítačích. - 17 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 4.15. INTEL PENTIUM III Pentium III se vyrábí od 3. března 1999. Dodává se ve dvou typech pouzder - SECC (slot 1) a SECC 2, které odpovídají pouzdrům používaných předcházející generací a je možné je integrovat do základních desek určených pro Pentium II, založených na čipové sadě 440BX AGP . SECC 2 se od SECC odlišuje v malých detailech, které se týkají umístění čipů na desce s ohledem na odvod tepla. Mikroprocesory byly vyráběny 0,25 mikronovou technologií a jádro obsahuje více než 9,5 miliónu tranzistorů. Stejně jako předcházející generace mikroprocesorů používá Pentium III architekturu DIB, oddělenou paměť cache první úrovně (pro data a instrukce) s kapacitou 2 x 16 kB, implementovanou přímo v jádře mikroprocesoru, a 512 kB cache druhé úrovně, která pracuje na poloviční frekvenci oproti jádru. V jádře mikroprocesoru došlo v souvislosti se zavedením KNI (Katmai new instructions) také k úpravám, které se dotkli analýzy toku dat. Úplnou novinkou, která vyvolala obrovské diskuse, je integrace podpory „sériových“ čísel mikroprocesorů, kdy každý mikroprocesor obsahuje zakódované sériové číslo. V podstatě nejde o nic jiného, než o rozšíření známé instrukce CPU-ID. Katmai new instruction - je v podstatě rozšíření instrukčního souboru MMX o několik nový instrukcí, jež mají za úkol urychlit hojně se opakující akce. Největší důraz je kladen na podporu 3D, dále na animaci a video a rozpoznávání hlasu. U Pentia III, podobně jako u procesoru Pentium II, byla 17 května 1999 uvedena modifikace Xeon pracující na frekvenci 500 a 550 MHz. Čip je vyroben 0,25 mikronovou technologií a obsahuje 9,5 miliónu tranzistorů. Pentium III Xeon je určen podobně jako jeho předchůdce pro pracovní stanice a výkonné (1, 2, 4, 8 procesorové) servery. - 18 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 5. REJSTŘÍK A str. adresa nepřímá autorelativní address generate akumulátor architektura hardwardská superskalární von Neumannova arithmetical-logical unit 5 5 14 4 3 3 3 7 B branch-target-buffer brány 14 10 C Celeron complete instruction set computer central procesor unit cluster bridge CPUID CR4 17 3 7 17 15 15 Č čítač programu 4 D deskriptor Die direct memory access dynamic execution 10 4 8 16 E execute 14 G global descriptor table 9 I IBM PC AT IBM PC XT integer long short word Institute of Electrical and Electronic Engineers instruction pool instruction decode interrupt descriptor table 9 7 11 11 11 12 17 14 9 K Katmai new instructions 17 L last recently used local descriptor table 12 9 - 19 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem M Mendocino million instructions per second multimedia extension 17 8 15 O operand přímý out of order execution 5 16 P paměť cache packed BCD pipelining precision double extended single prefetch 5 11 14 11 11 11 14 R reduced instruction set computer registr aplikační indexový ladící obecné segmentové stavový systémové 3 4 9 4 9 9 9 4 9 S secc secc 2 segment selektor single instruction multiple data stránky fyzické logické 18 18 8 9 15 11 11 11 T translation-location-buffer 15 U ukazatel zásobníku 4 W write back through 14 14 X Xeon 17 - 20 - ©1999 Jan Bartes ([email protected]) Letem mikroprocesorovým světem 6. LITERATURA Bayer J., Bílek J. : Mikroprocesory - úvod, skripta ČVUT, Praha 1989 Chip 93-99 - počítačový měsíčník Computerworld 91-99 - počítačový čtrnáctideník www.intel.com www.mdronline.com www.mkdata.dk - domovská stránka Intel Corporation - domovská stránka Microdesign Resources - přehled počítačových komponent - 21 -
Podobné dokumenty
Přednáška č
Moderní CPU pro PC představují kombinaci obou přístupů (z vnějšku se CPU chová
jako von Neumann, uvnitř harvard – oddělená cache pro instrukce a pro data)
Procesory 2010
po výkonné počítače. Mezi výhody těchto čipů patří nízká cena, malé rozměry a nízká
spotřeba energie. Tyto procesory jsou vyráběna pro přesně určenou specifickou činnost a
mají jen malou možnost ro...