Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Počítačové systémy 3. Mikroprocesory

Podobné prezentace


Prezentace na téma: "Počítačové systémy 3. Mikroprocesory"— Transkript prezentace:

1 Počítačové systémy 3. Mikroprocesory
Obsah: mikroprocesor a jeho součásti strojová instrukce, RISC, CISC historie mikroprocesorů pro IBM PC Mooreův zákon © Milan Keršláger

2 Procesor CPU – Central Processing Unit česky „hlavní výkonná jednotka“
vykonává aritmetické, logické a řídící instrukce instrukce uloženy v operační paměti (dnes typicky RAM) 1883 – Charles Babbage navrhl mechanický (dřevěný) počítač CPU → mlýnice, RAM → sklad původně CPU složen z diskrétních součástek sálové počítače → i několik skříní elektronky → tranzistory → integrované obvody

3 Mikroprocesor sloučena zhruba desítka integrovaných obvodů
vzniká univerzální integrovaný obvod jeho činnost je řízena programem obsahuje několik základních součástí řadič → řídí činnost CPU (sám taktován hodinami) registry → paměť přímo v CPU (velmi rychlé) ALU → aritmeticko-logická jednotka provádí operace (nad registrem A → akumulátor) dekodér strojových instrukcí řadič paměti → řídí přístupy do paměti převod virtuálních adres na fyzické adresy

4 Blokové schéma procesoru
RAM ALU MMU Řadič paměti Dekodér instrukcí Vstup Akumulátor a ostatní registry Řídící jednotka Výstup

5 Vlastnosti CPU bitovost – šířka akumulátoru (registr A)
v jednom kroku zpracuje příslušně velké číslo větší čísla se zpracovávají několika instrukcemi architektura RISC a CISC klasické (SISD) a vektorové (SIMD) specializace jednočipové, SoC (System on Chip) DSP – digitální převodníky

6 Instrukční a datové proudy
Flynn's taxonomy SISD (Single Instruction, Single Data) jednojádrové procesory (IBM PC) SIMD (Single Instruction, Multiple Data) jedna instrukce zpracovává více dat → vektorové typicky paralelně, např. GPU (procesor grafické karty) pro SISD procesory uvedeny SIMD instrukce rozšíření Intel MMX (1997), AMD 3DNow! (1998) MISD → např. řízení raketoplánu heterogenní systémy se musí shodnout na výsledku MIMD → superpočítače

7 Strojová instrukce provádí nějakou základní operaci
uložena v operační paměti je nedělitelná (atomická) [...ne vždy] strojový kód → více strojových instrukcí různé typy instrukcí aritmetické, logické, operace s pamětí, řídící, … operandy (umístěny v paměti za instrukcí) data, se kterými bude instrukce pracovat operand může být číslo, registr, adresa v paměti mnemonika → symbolický zápis instrukcí jazyk symbolických adres (JSA, Assembly language)

8 Strojový kód převod zápisu v JSA do čísel
provádí assembler (překladač) dříve se dělalo ručně jedna instrukce → 1 nebo více bajtů (slov) i z jiných programovacích jazyků do stroj. kódu výsledek uložen v souboru označujeme jako „binární soubor“ zpětný převod stroj. kódu do JSA pomocí disassembleru netriviální → Kde začít? Co jsou data? Selfmodify?

9 RISC procesory s „redukovanou instrukční sadou“
snaha o zjednodušení procesoru: jednotný formát instrukcí málo univerzálních registrů (dnes větší počet) eliminace složených instrukcí → jen základní 1 instrukce trvá 1 přístup do paměti (1 cyklus) zjednodušní interní stavby procesoru → snížení spotřeby úspěch mají ARM, MIPS, Sparc, ... mobilní telefony, PDA, vestavěná zařízení, … typicky spíše Harvardské schéma zjednodušení logiky, vyšší úspěšnost (L1) cache paralení přístup do paměti RAM a flash

10 CISC procesory s „rozšířenou instrukční sadou“ používány v PC
x86, tj. Intel kompatibilní CPU → IBM PC a kompatibilní obsahují komplikované (složené) instrukce instrukce je složena z více elementárních operací např. načti z paměti, přičti číslo a výsledek ulože zpět jedna instrukce může mít i několik přístupů do paměti instrukce nejsou stejně dlouhé jak co do počtů bajtů, operadndů, ale i trvání v cyklech (taktech) podpora pro komplexní čísla, vektorové operace CISC dnes evidentně méně efektivní horší rychlost i spotřeba elektrické energie současné procesory CISC jsou interně RISC

11 RISC × CISC CISC dříve usnadňoval programování
programátor ručně zapisoval strojový kód dnes již CISC není výhodnější ve strojovém kódu či JSA se již téměř neprogramuje překladač sám vygeneruje sofistikovaný kód rozšiřující instrukce nepřinášejí vyšší výkon v MMX, SSE atd. je málo významných perliček naopak RISC těží z jednoduchého designu lacinější vývoj, menší čip, nižší výrobní náklady nižší spotřeba, snadné přizpůsobení zákazníkovi

12 CISC je interně RISC CISC procesor má RISC jádro
umí vykonávat jen elementární operace čtení z paměti, zápis do paměti, sčítání, odčítání NEumí násobit, vektorové operace, komplexní čísla procesor obsahuje mikrokód CISC instrukce vykonávány pomocí RISC instrukcí jedna CISC instrukce → více RISC instrukcí mikrokód lze upravovat vždy při startu (v procesoru není flash paměť) Intel: k dispozici několik „opravných slotů“ mikrokód je šifrován, zatím nebyl cracknut

13 Chyby v procesorech způsobeny nedostatečným testováním CPU
způsobeny též komplexností CISC CPU F00F bug – Intel použití tohoto prefixu způsobilo zastavení CPU problém víceuživatelských systémech oprava využívá porušení ochrany paměti CPU začne instrukci provádět, ale před zastavením vyvolá kód FDIV bug – Intel chyba při dělení, viditelná třeba v Excelu → bez opravy (vtip) HLT bug – Intel CPU někdy není probuzen ze spánku pro úsporu energie (i486) Cyrix coma bug zastavení CPU

14 CPU pro IBM PC tj. Intel a kompatibilní (AMD, Cyrix, VIA, …)
16bitové – 8086, 8088 1981 → Intel pro IBM PC, Motorola a IBM odmítnuta nevhodný návrh Intelu limituje využitelnou paměť (1 MiB) Microsoft exkluzivní smlouvu s IBM → koupil QDOS 32bitové – 80386 1985 → dotaženy schopnosti CPU (instrukční sada) opět nedostatečný rozsah využitelné paměti (4 GiB) 64bitové – x86-64 2003 → AMD odstranilo limity adresních omezení Intelu provoz různých operačních systémů DOS, Windows, Linux, BSD, Solaris, Mac OS X

15 CPU firmy Intel Rok CPU Bitů Adresní sběrnice Max. RAM 1974 8080 8 16
216 = 64 KiB 1978 8086 8088 20 220 = 1 MiB 1982 80286 24 224 = 16 MiB 1985 80386 32 232 = 4 GiB 2003 x86-64 64 264 = 16 EiB

16 Jednotky KB, MB, ...

17 Kompatibilita x86 původní IBM PC mělo 16bitový CPU
Intel 8088 z roku 1979 vnitřně 16bitový, ale vnější 8bitová sběrnice nižší náklady na výrobu základní desky kompatibilita s 8086 (1978) byla 100% IBM nepoužila vlastní nebo Motorolu pro rychlejší vývoj 80286 (1982) → procesor je stále 16bitový rozšířený režim → dostupných 16 MiB paměti speciální rozšíření uvnitř OS nebo programu Windows 2.1 (1988) ve verzi pro CPU 286 a 386 při koupi si uživatel musel vybrat

18 32bitový CPU – x86 80386 (1985) → 32bitový chráněný režim
procesor startuje v 16bitovém režimu aplikace (v DOSu) nebo jádro OS přepne do 32bit režimu v 32bit režimu je k dispozici tzv. V86 vyhrazení úseku paměti 1MiB, zde 16bit prostředí zde fungují 16bit strojové instrukce a vše ostatní tím zajištěna téměř 100% zpětná kompatibilita pro SW Windows 3.1 (1992) bez podpory 80286 k dispozici jen verze pro 32bitový procesor jádro Windows však plně nevyužívá schopnosti 80386 jen některé ovladače 32bitové, zbytek systému i jádra 16bitový kvůli tomu zamrzání systému kvůli chybám v programech

19 64bitový CPU Itanium (2001) neúspěšný projekt Intel + HP
64bitový, softwarová emulace 32bitového X86-64 (2003 – AMD Opteron) podobně jako i386 → koexistence bit v 64bit (long mode) není přístupný V86 v 64 Windows nelze přímo spouštět 16bit DOSové aplikace 16bit aplikace lze spouštět jen uvnitř virtuálního systému Intel si procesor od AMD licencoval (2004 – Xeon) přesto není kompatibilita 100% → řeší se na úrovni SW Microsoft odkládal uvedení 64bit Windows XP (2005) teprve Windows Vista (2007) mají nativně i 64bitovou verzi

20 Mooreův zákon počet tranzistorů v procesorech se každých 18 (až 24) měsíců zdvojnásobuje – Gordon Moore, 1965


Stáhnout ppt "Počítačové systémy 3. Mikroprocesory"

Podobné prezentace


Reklamy Google