MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Úvod Struktura počítače Logické obvody České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 01 Ver.1.40 J. Zděnek, 20171
Struktura předmětu Trochu historie digitální techniky Přechod od analogové světa do digitálního Číslicový počítač, struktura, jednotky, propojení Transistor v digitální technice Logické obvody, formy popisu, Kombinační obvody, návrh a realizace z hradel Sekvenční obvody, návrh a realizace Typické kombinační a sekvenční obvody v počítačích výkonových systémů Data, jejich zobrazení a zpracování Systémová struktura počítače Procesor, paměti Systém přerušení Periferie pro řízení výkonových systémů Periferie pro komunikaci A1B14MIS Mikroprocesory pro výkonové systémy 01 2
Cíle předmětu Přehled o architektuře mikropočítačů pro řízení výkonových systému, včetně historických souvislostí vývoje digitální techniky Náplň odpovídá předmětům Digital Design a "Embedded Systems" Využívá programovatelné obvody Seznamuje s moderními návrhovými CAD nástroji (Computer Aided Design) Seznamuje s postupem návrhu číslicových obvodů včetně metodiky ověření návrhu v hardware Seznamuje s postupem návrhu řídících programů mikropočítačů výkonových systémů (používá programovací jazyk C A1B14MIS Mikroprocesory pro výkonové systémy 01 3
Podmínky zápočtu a zkoušky Předmět A1B14MIS: 2+2 týdně, zápočet, zkouška Cvičení všechna laboratorní Zápočet za body z laboratorních úloh a testu na cvičení: Max 65 bodů, na zápočet min 32 bodů 24 bodů čtyři fungující laboratorní úlohy 5 bodů - Kombinační obvody (blok KOM) 6 bodů Sekvenční obvody (blok SEQ) 6 bodů Malý servopohon, část 1 (blok MSP1) 7 bodů Malý servopohon, část 2 (blok MSP2) 36 bodů test na cvičení (min 18 bodů) 5 bodů aktivita na cvičení Zkouška: Min 55 bodů ze cvičení = zkouška jen malá ústní (hodnocení A, B, C) Jinak body ze cvičení + písemný zkouškový test (až 35 bodů, min 10) Možnost: +ústní zkouška (odečte se 10 bodů, možno získat 20 bodů) A1B14MIS Mikroprocesory pro výkonové systémy 01 4
Program laboratorních cvičení Týden Blok Program Týden Blok Program 1. - Úvod do ISE 7. MSP1 Malý servopohon, část 1 2. KOM Kombinační obvody 8. MSP1 Malý servopohon, část 1 3. KOM Kombinační obvody 9. MSP2 Malý servopohon, část 2 4. SEK Sekvenční obvody 10. MSP2 Malý servopohon, část 2 5. SEK Sekvenční obvody 11. MSP2 Malý servopohon, část 2 6. - Úvod do MPLAB 12. - Test 13. - Dodatečné odevzdání úloh Bloky KOM a SEK se cvičí na CAD systému Xilinx ISEWebpack a FPGA Spartan Bloky MSP1 a MSP2 se cvičí na IDE Microchip MPLAB a pic18f Software ISEWebpack i MPLAB jsou pro domácí práci studentů k dispozici ke stažení z webu a instalaci zdarma Úspěšnéřešení laboratorních úloh => předpokládá účast na přednáškách a podstatnou domácí přípravu A1B14MIS Mikroprocesory pro výkonové systémy 01 5
Zdroje informací Přednášky k předmětu A1B14MIS Web předmětu A1B14MIS http://motor.feld.cvut.cz Řešené příklady na webu předmětu Návody k přípravkům používaných v laboratorních cvičeních (jsou na webu předmětu) Návod na stažení a instalaci CAD Xilinx ISEWebpack (web předmětu) Návod na stažení a instalaci IDE Microchip MPLAB (web předmětu) Firemní materiály firem Digilent a Microchip k přípravkům používaných v laboratorních cvičeních (web předmětu) On line help v ISEWebpack On line help v MPLAB Pinker J., Poupa M.:Číslicové systémy a jazyk VHDL, BEN, Praha 2006. A1B14MIS Mikroprocesory pro výkonové systémy 01 6
Co je číslicový počítač (Digital Computer)? Zobrazení dat Nespojité diskrétní (digitální, číslicové) Spojité analogové Počítač Číslicový nespojité zobrazení dat Analogový spojité zobrazení dat Hybridní oba způsoby A1B14MIS Mikroprocesory pro výkonové systémy 01 7
Technologie dramatický rozvoj Procesory Logická kapacita: o 30% za rok Hodinová frekvence: o 20% za rok Hlavní paměť Mooreův zákon DRAM kapacita: o 60% za rok (4x každé 3 roky) Rychlost přístupová doba: o 10% za rok Cena za bit: snížení o 25% za rok Disk Kapacita: o 60% za rok Využití dat: o 100% každých 9 měsíců Počítačové sítě Sířka pásma o 100% za rok! Embedded (vestavné) mikroprocesory Plovoucíčárka, 32bitů, velká paměť programu i dat, velký výkon Vestavěnéřadiče pro komunikaci (Ethernet, CAN, ) A1B14MIS Mikroprocesory pro výkonové systémy 01 8
Mooreův zákon The number of transistors on a chip doubles every 18 months, By Intel co-founder Gordon Moore regarding the pace of semiconductor technology. He made this famous comment in 1965 when there were approximately 60 devices on a chip. Proving Moore's law to be rather accurate, four decades later, Intel place 1.7 billion transistors on its Itanium chip. In 1975, Moore extended the 18 months to 24 months. More recently, he said that: The cost of a semiconductor manufacturing plant doubles with each generation of microprocessor. A1B14MIS Mikroprocesory pro výkonové systémy 01 9
Mooreův zákon Itanium Počet transistorů na čipu Pentium 8080A 8086 1.000.000 x 4004 40 let A1B14MIS Mikroprocesory pro výkonové systémy 01 10
Výkon vs roky Výkon 100.000 x 40 let A1B14MIS Mikroprocesory pro výkonové systémy 01 11
Historie vývojové mezníky 3000 let př.n.l. Babylon vynalezen Abakus Současný model Starověký Řím A1B14MIS Mikroprocesory pro výkonové systémy 01 12
Historie vývojové mezníky 1623 W. Schickard první mechanický kalkulátor 1642 B. Pascal více rozšířený mechanický kalkulátor 1834 Ch. Babbage - kalkulátor pro výpočet logaritmů 1792-1871 Charles Babbage analytical engine (1834) První skutečný počítač Měl čtyři části Store (paměť), Mill (CPU), Input section (čtečka děrných karet z měděného plechu), Output section (děrovačka karet). Neměl operační systém. Kapacita paměti 1000 slov (slovo 50 dekadických cifer) Millčetl operandy z paměti, uměl +, -, *, -, a výsledek zapsal zpět do paměti. Velký pokrok počítač byl universální,četl program a data z děrných karet a výsledek přenesl do výstupních karet Programoval se v jednoduchém assembleru Programátorka Ada Lovelace (dcera básnika Byrona) Počítač nikdy nepracoval uspokojivě, nepřesné mech.součásti Literatura: [2],[3] A1B14MIS Mikroprocesory pro výkonové systémy 01 13
Historie vývojové mezníky 1854 G. Boole matematické základy logiky 1890 H. Holleright založil TMC z niž v r. 1924 vzniklo IBM 1936 A. M. Turing teorie konečných automatů (FSA, FSM) 1938 K. Zuse první binární elektromechanický kalkulátor 1943 fa IBM & Harvard un. MARK 1 velký elektromech. kalkulátor 1944 Pennsylvania un. ENIAC první zcela funkční elektronický kalk. 1947 W. Schockley, W. Brattain, J. Bardeen vynález tranzistoru 1951 fa UNIVAC první komerční počítač 1953 fa IBM elektronický počítač IBM 701 1958 fa Texas Instruments první integrovaný obvod 1959 fa Fairchild planární proces základ masové výroby integr. obvodů 1963 fa Fairchild první hradla MOSFET (CMOS) A1B14MIS Mikroprocesory pro výkonové systémy 01 14
Historie vývojové mezníky 1963 fa DEC první minipočítač 1965 G. Moore Mooreův zákon o rychlosti růstu integrace 1969 fa IBM programovatelné logické pole (PLA) na čipu 1971 fa Intel první mikroprocesor (i4004) 1978 fa Monolitc Memories Programmable Array Logic (PAL pak GAL) 1979-81 Embedded mikroprocesory (8048, 8051, Z8, ) 1982 fa Texas Instruments Signálový procesor 1981 fa IBM osobní počítač (PC) 1983 Intermetrics, IBM, Texas Instruments VHDL (Hardware Description Language) jazyk pro návrh a simulaci logických obvodů 1984 fa XILINX obvody FPGA Field Programmable Gate Arrays) 1984 fa GDA Verilog jazyk pro návrh logických obvodů 1987 VHDL IEEE standardem 1995 Verilog IEEE standardem Dnes typický pohonářský signálový procesor např. TI320F28335 A1B14MIS Mikroprocesory pro výkonové systémy 01 15
Historie blízká minulost - shrnutí Více než 50 let od vytvoření 1. univerzálního elektronického počítače Dnešní PC jsou výkonnější než počítač z r. 1980 za miliony HW průlom: VLSI technologie a mikroprocesory (70. léta) SW průlom: univerzální na výrobci nezávislé OS (UNIX) a přechod od programování ve strojovém jazyku (SOJ) k vyšších programovacím jazykům Nástup RISC (Reduced Instruction Set Computer) - důsledek: paralelizmus na úrovní zpracování instrukcí ILP (Instruction Level Parallelism), tj. proudové zpracování instrukcí atd. používaní vnitřních vyrovnávacích skrytých pamětí (cache) Průlom v navrhování: vývoj kvantitativního přístupu k návrhu a analýze počítačů, který využívá empirické pozorování, experimentování a simulace A1B14MIS Mikroprocesory pro výkonové systémy 01 16
Chronologie v datech - shrnutí 60. léta: dominantní velké sálové počítače s aplikacemi jako: zpracováni dat ve finanční sféře rozsáhlé vědeckotechnické výpočty 70. léta: minipočítače pro aplikace ve vědeckých laboratořích a ve školách 80. léta: Nástup vestavných (embedded) počítačů do různých oblastní techniky Stolní počítače založené na mikroprocesorech, servery a lokální sítě pro větší úlohy s větší pamětí a výkonem 90. léta: Embedded počítače ve všech oblastech techniky Internet a WWW technologie Současnost: rozdělení počítačového trhu na 3 oblasti charakterizované rozdílným použitím, požadavky a počítačovou technologií: osobní, stolní a přenosné počítače servery a výkonné paralelní počítače a superpočítače vestavné (embedded) a řídící počítače v jednoúčelových zařízeních A1B14MIS Mikroprocesory pro výkonové systémy 01 17
Číslicový počítač (Digital Computer) Svět v okolí počítače většínou analogový, někdy digitální Zobrazení dat uvnitřčíslicového počítače Nespojité diskrétní (digitální, číslicové) Vstup počítače Analogový signál nutno převést na digitální Digitální použije počítač přímo (někdy po upravě),? Příklad? Výstup počítače Digitální signál nutno převést na analogový (pokud požadováno) Digitální výstup ovládá počítač přímo (někdy po upravě)? Příklad? A1B14MIS Mikroprocesory pro výkonové systémy 01 18
Spojitá funkce času Spojitá funkce času x (t) 16 14 12 10 x (t) 8 6 4 2 0 0.000 0.005 0.010 0.015 0.020 0.025 t [s] A1B14MIS Mikroprocesory pro výkonové systémy 01 19
Vzorkování v čase Vzorkování v čase, číselné vzorky x (k) 16 14 12 10 x (k) 8 6 4 2 0 Vzorky označené pořadovým číslem k, skutečný čas t = kt) 0 5 10 15 20 25 k [1] A1B14MIS Mikroprocesory pro výkonové systémy 01 20
Kvantování v amplitudě Číselné vzorky, kvantování v amplitudě x1 (k) 16 14 Vzorky odebrané ze spojitého signálu Vzorky po kvantování v amplitudě 12 Proč kvantovat? 10 x (k), x1(k) 8 6 4 2 0 V počítači kvantování v amplitudě (podle počtu bitů slova, zde 4 bity) 0 5 10 15 20 25 k [1] A1B14MIS Mikroprocesory pro výkonové systémy 01 21
Přechod spojitý signál počítač (číslo) A1B14MIS Mikroprocesory pro výkonové systémy 01 22
Číselné vzorky zpracované počítačem Číselné vzorky zpracované poč ítačem, y (k) 16 14 12 10 y (k) 8 6 4 2 0 0 5 10 15 20 25 k [1] A1B14MIS Mikroprocesory pro výkonové systémy 01 23
Přechod počítač (číslo) spojitý signál Program Počítač Číslo y(k) FOH First Order Hold Tvarovací obvod Spojitý signál y(t) y(t) Clock Informace v amplitudě signálu t A1B14MIS Mikroprocesory pro výkonové systémy 01 24
Rekonstrukce signálu z čísel Rekonstruovaný signál y(t) z č ísel y(k) 16 14 12 10 y (t) 8 6 4 2 0 0.000 0.005 0.010 0.015 0.020 0.025 t [s] A1B14MIS Mikroprocesory pro výkonové systémy 01 25
Přechod počítač (číslo) spojitý signál A1B14MIS Mikroprocesory pro výkonové systémy 01 26
Číslicový řídicí systém (princip) A1B14MIS Mikroprocesory pro výkonové systémy 01 27
Výkonový systém (př. elektrický pohon) A1B14MIS Mikroprocesory pro výkonové systémy 01 28
Co je Embedded Computer? Embedded Computer = vestavný/vestavěný počítač tj. počítač vestavěný do zařízení, které jako počítač nevypadá. Embedded Computer mářadu speciálních periferií nezbytných pro realizaci řídicích funkcí (viz dále v lekci i semestru) Příklady: Laserová tiskárna Scanner Digitální fotoaparát Mobilní telefon Pračka Řídicí jednotka spalovacího motoru auta Elektrický pohon metra Elektrický pohon auta Elektrické pohony robota ve svařovně automobilky Elektrický pohon lokomotivy atp A1B14MIS Mikroprocesory pro výkonové systémy 01 29
Řidicí počítač - hardware (zjednodušeno) Řidicí počítač (Hardware) Procesor Paměť Programu & Dat Modulátor (PWM) Impulsní výstupy Nadřazený Systém (počítač/člověk) Komunikace (UART, Ethernet, CAN) Časovač Řadič přerušení Analogově číslicový převodník Měření Impulsních signálů Logické vstupy & výstupy Logické výstupy Analogový signál (napětí) Impulsní signál Logické vstupy A1B14MIS Mikroprocesory pro výkonové systémy 01 30
Control Computer (Simplified) A1B14MIS Mikroprocesory pro výkonové systémy 01 31
Realizace řídícího počítače (hardware) Realizace hardware několik možností: Komerční mikroprocesor a ostatní součástky Komerční mikroprocesor a část specielních obvodů v FPGA (typicky modulátor, část měření impulsních signálů tzv. ochrany ) Vše včetně mikroprocesoru v FPGA: Pak vzniká SoC System on Chip. Návrh procesoru se kupuje jako Intelectual property od firmy produkující FPGA. Návrh procesoru je v HDL (Hardware Description Language). HDL popis je zpracován CAD systémem pro návrh obsahu FPGA a je připojen k ostatnímu návrhu (schema nebo též HDL) uživatele. A1B14MIS Mikroprocesory pro výkonové systémy 01 32
Řidicí počítač část v FPGA A1B14MIS Mikroprocesory pro výkonové systémy 01 33
Řidicí počítač celý v FPGA (SoC System on Chip) System on Chip (SoC) ADC mimo FPGA A1B14MIS Mikroprocesory pro výkonové systémy 01 34
Reprezentace digitálního systému Funkční (behavioral or functional representation) Popis funkce ne implementace Black-box + závislosti výstupů na vstupech v čase Co to má dělat Strukturní Popis implementace bez zvláštního popisu funkce (ta vyplývá ze vzájemného spojení bloků o známé funkci) Vnitřek black-boxů Jak je to zapojeno Fyzikální Popisuje fyzikální vlastnosti každého black-boxu Popisuje přesné vztahy mezi bloky (velikost, hmotnost, spotřebu, zahřátí, časování, a to v každém bodě, vstupním i výstupním pinu) Jak to vyrobit A1B14MIS Mikroprocesory pro výkonové systémy 01 35
Úrovně abstrakce digitální technika Funkční, strukturní i fyzikální reprezentace může být použita na různém úrovni abstrakce (granularity) podle použitých typů objektů. Úroveň Funkční Strukturní Fyzikální Abstrakce Popis Bloky objekty Transistor Diferenciální rovnice, Volt-ampérové Transistor, Odpor, Analogové a číslicové buňky, charakteristiky Kondenzátor Tvar na substrátu Hradlo Booleovské rovnice, Hradlo, Moduly, Kombinační obvod, Klopný obvod Bloky Sekvenční obvod procesor Algoritmus, Vývojový diagram Soubor instrukci Sčítačka, komparátor, multiplexer, registr, čítač Mikročipy počítač Specifikace funkce, Program Procesor, Paměť, Desky plošných spojů, Vícečipové moduly Periferie (V/V bloky) Literatura: [1] A1B14MIS Mikroprocesory pro výkonové systémy 01 36
Návrh počítače metodou zdola-nahoru - MIS TRANSISTORS, RESISTORS, CAPACITORS DIGITAL CIRCUIT DESIGN ANALOG CIRCUIT DESIGN ELECTRONICS BOOLEAN ALGEBRA LOGIC GATES, FLIP-FLOPS ANALOG COMPONENTS FINITE-STATE MACHINES BINARY SYSTEM, DATA REPRESENTATION LOGIC DESIGN TECHNIQUES SEQUENTIAL DESIGN TECHNIQUES VLSI DESIGN COMBINATIONAL COMPONENTS STORAGE COMPONENTS INTERFACE COMPONENTS GENERALIZED FINITE STATE MACHINEs REGISTER-TRANSFER DESIGN (RTL) PROCESSOR COMPONENTS SOFTWARE DESIGN AND ENGINEERING COMPUTER DESIGN A1B14MIS Mikroprocesory pro výkonové systémy 01 37
Postup řešení zdola-nahoru vs shora-dolů Programování A0B36PRI Algoritmy Typy a struktury dat Programové konstrukce Průmyslové počítačové systémy A1B13PPS Shora Mezi Mikroprocesory pro výkonové systémy A1B14MIS Struktura řídicího počítače Speciální bloky pro řídicí aplikace Jak fungují, jak je připojit nebo postavit z hradel Jak řídicí počítač programovat (zde ve vyšším prog. jazyku C ) Výkonové součástky a technologie A1B13VST Materiály pro výkonovou elektrotechniku A1B13MVE Transistory, rezistory, kondenzátory Zdola A1B14MIS Mikroprocesory pro výkonové systémy 01 38
Počítačový software Firmware BIOS (Basic Input Output Systém), adresové módy, architektura souboru instrukcí ( ISA - Instruction Set Architecture), jazyk symbolických instrukcí assembler Operační systém Plánovač (Scheduler), exekutiva (Dispatcher) přepínání úloh, správa paměti, privilegia a ochrana, struktura souborů na disku, správa periferií (správa zařízení). V embedded aplikacích specializovaný operační systém nebo též žádný (jednoduché aplikace). Vývojářský software Asembler, kompilátory ( C, ), linker, simulátor, ladící prostředky (debugger), RT-monitory, loadery, knihovny, správa versí. Aplikace Programovací jazyky, řídící aplikace (př. vozy metra, řízení motoru automobilu, řízení pračky), editory, prohlížeče, hry, A1B14MIS Mikroprocesory pro výkonové systémy 01 39
Počítačový hardware Architektura procesoru Architektura procesoru, provádění instrukcí, tok dat, řízení, Paměťová hierarchie Správa paměťového systému, vyrovnávací paměť (cache), segmentace a stránkování (MMU virtual memory) Systémová rozhraní Přerušovací systém, DMA (Direct Memory Access), periferie pro měření a generování signálů (řidicí aplikace), periferie pro synchronizaci v čase (Timer, RTC), komunikační periferie, komunikační protokoly, HDD rozhraní, Uživatelská rozhraní Display, klávesnice, (myš), audio rozhraní, speciální aplikační rozhraní (ovládací prvky, řídicí páky, tlačítka, přepínače), A1B14MIS Mikroprocesory pro výkonové systémy 01 40
Architektura počítače - hardware Hlavní komponenty počítače Paměť programu a dat Vstupní a výstupní zařízení Komunikace s okolním světem Procesor Výpočetní část Mezipaměť výsledků Řízení Řadič (Controller) A1B14MIS Mikroprocesory pro výkonové systémy 01 41
Architektura typu von Neumann Společná paměť programu (instrukcí) a dat NELZE paralelně číst instrukce a přenášet data (cesta je společná) A1B14MIS Mikroprocesory pro výkonové systémy 01 42
Architektura typu von Neumann Instrukce a data jsou uložena v téže paměti. Instrukce a data nelze přenášet po sběrnici současně (společná cesta) pomalejšíčinnost Jednodušší propojení procesoru s pamětí Paměť je organizována lineárně (tzn. jednorozměrně) a je rozdělena na stejně velké buňky, které se adresují celými čísly (zprav. 0, 1, 2, 3,... ). Data ani instrukce nejsou explicitně označeny. Explicitně nejsou označeny ani různé datové typy. Pro reprezentaci dat i instrukcí se používají dvojkové signály. Instrukce se provádějí jednotlivě, a to v pořadí, v němž jsou zapsány v paměti, pokud není toto pořadí změněno speciálními instrukcemi (nazývanými skoky). Počítač tvoří: Processor (ALU aritmetická a logická jednotky, registry, řídicí část (řadič controller), hlavní paměť (main memory) společně instrukce a data, systém přerušení, vstupní a výstupní zařízení (periferie peripherals) A1B14MIS Mikroprocesory pro výkonové systémy 01 43
Architektura typu Harvard Oddělená paměť programu (instrukcí) a dat LZE paralelně číst instrukce a přenášet data (cesty jsou oddělené) A1B14MIS Mikroprocesory pro výkonové systémy 01 44
Architektura typu Harvard Instrukce a data jsou uložena v oddělených pamětech. Instrukce lze číst současně s přenosem dat (oddělené cesty) rychlejší činnost Šířka přenosové cesty instrukcí může být jiná (větší) než přenosová cesta dat. Složitější propojení procesoru s pamětmi (vs von Neumann ) Data a instrukce jsou explicitně označeny Paměť je organizována lineárně (tzn. jednorozměrně) a je rozdělena na stejně velké buňky, které se adresují celými čísly (zprav. 0, 1, 2, 3,... ). Pro reprezentaci dat i instrukcí se používají dvojkové signály. Instrukce se provádějí jednotlivě, a to v pořadí, v němž jsou zapsány v paměti, pokud není toto pořadí změněno speciálními instrukcemi (nazývanými skoky). Počítač tvoří: Processor (ALU aritmetická a logická jednotky, registry, řídicí část (řadič controller), paměť programu (instrukcí), paměť dat, systém přerušení, vstupní a výstupní zařízení (periferie peripherals) A1B14MIS Mikroprocesory pro výkonové systémy 01 45
Vývoj software úrovně abstrakce Literatura: [1] A1B14MIS Mikroprocesory pro výkonové systémy 01 46
Vývoj software úrovně abstrakce Překladač (sw) Asembler (sw) Processor (hw) if( z < 0 z > 35} x++; else y++; cmp z, #0 bnc Cont1 cmp z, LIM bc Cont1 inc x 1001 0011 0101 0001 0110 1101 0011 1010 0001 1110 1100 0011 0111 0010 1010 0001 0101 1110 0010 0011 *WR *RD DB 1 2 3 4 A1B14MIS Mikroprocesory pro výkonové systémy 01 47
Organizace hlavní paměti (program, data) Hlavní paměť je rozdělena na buňky paměťová místa, kterým jsou přiřazena nezápornáčísla nazývaná adresy Obsah paměťového místa je slovo slovo (word) velikost závisí na procesoru (např. 16b, 24b, 32b, 64b), b značí bit (binary digit) B značí byte (slabika), 8b = 1B, byte je uspořádaná osmice bitů, obvykle 2 nebo i více byteů tvoří slovo, např. u procesorů Intel řady x86 1 slovo = 2B = 16b. Obsah paměťového místa na adrese adr bývá někdy označován <adr>; nehrozí-li nedorozumění píše se však často adr místo <adr>. A1B14MIS Mikroprocesory pro výkonové systémy 01 48
Zobrazení dat v paměti Numerická data čísla: V pevnéřádovéčárce (fixed point) celáčísla (integer format) byte, word, racionálníčísla (fraction format) byte, word, V pohyblivéřádovéčárce (floating point), racionálníčísla, double, float,, matisa+charakteristika Formát zobrazení: Dvojková (binary), př. 10100011b Šestnáctková (hexadecimal), př. A3h nebo 0xA3 Desítková (decimal), př. 163d nebo 163 Bez znaménka (unsigned), pouze nezáporná, byte, word, unsigned Se znaménkem (signed), integer, short int, signed Různě dlouhá, různý rozsah hodnot (short int, integer, long int, byte, word, double, A1B14MIS Mikroprocesory pro výkonové systémy 01 49
Aplikace digitální techniky (Pro zájemce)? Bod obratu? A1B14MIS Mikroprocesory pro výkonové systémy 01 50
První transistor (Pro zájemce) 1947 W. Schockley, W. Brattain, J. Bardeen vynález tranzistoru Bell Laboratories, první hrotový transistor Literatura: [7] A1B14MIS Mikroprocesory pro výkonové systémy 01 51
Transistor (Důležité) Dva způsoby použití: Zesilovač Elektronický spínač V digitální technice se tranzistor používá jako spínač c c b b e NPN e PNP Bipolární Řízený proudem báze (b) Unipolární Řízený napětím hradla (U gs ) A1B14MIS Mikroprocesory pro výkonové systémy 01 52
Materiál pro výrobu transistorů křemík (Si) (Pro zájemce) Základní materiál pro výrobu tranzistorů je dnes křemík (Si) Do určitých oblastí křemíku se přidají nečistoty (př: arsén (As), bór (B)) Periodická tabulka prvků (Mendělejev) Literatura: [6] A1B14MIS Mikroprocesory pro výkonové systémy 01 53
Krystalová mřížka křemíku (Pro zájemce) Křemík je polovodič Čistý křemík je špatný vodič nemá žádné volné nosiče náboje Křemík (Si) patří do 4. skupiny Periodické tabulky prvků Záměrným přidáním nečistot ze 3. nebo 5. skupiny Periodické tabulky prvků se zvýší jeho vodivost Si Si Si Si Si Si Si Si Si Krystalová mřížka křemíku (Si) Není volný nosič náboje Literatura: [4] A1B14MIS Mikroprocesory pro výkonové systémy 01 54
Zvýšení vodivosti křemíku (Pro zájemce) Křemík je polovodič Čistý křemík je špatný vodič nemá žádné volné nosiče náboje Křemík (Si) patří do 4. skupiny Periodické tabulky prvků Záměrným přidáním nečistot ze 3. nebo 5. skupiny se zvýší jeho vodivost Si Si + Si Si Si - Si Si B - Si Si + As Si Si Si Si Si Si Si Přidáním atomů prvku ze 3. skupiny Chybí elektron (vzniká díra ) Získáme polovodič typu-p Přidáním atomů prvku z 5. skupiny Přebývá elektron Získáme polovodič typu-n A1B14MIS Mikroprocesory pro výkonové systémy 01 55
Transistor nmos (Pro zájemce) Metal(Gate) Oxide(SiO 2 ) Semiconductor(Body) Transistor (MOS Transistor) Dnes však gate z polysilikonu (nikoliv z kovu) SiO 2 velmi dobrý izolant, Polysilicon vodič Základna (substrát, body) transistoru je polovodič typu-p Symbol nmos trasistoru Literatura: [4] A1B14MIS Mikroprocesory pro výkonové systémy 01 56
Funkce transistoru nmos Vypnuto (Off) (Pro zájemce) Gate a Body připojeny na stejný potenciál (typicky 0V) Vodivý kanál mezi Gate a Drain neexistuje stav vypnuto (Off) Vodivý kanál není A1B14MIS Mikroprocesory pro výkonové systémy 01 57
Funkce transistoru nmos Zapnuto (On) (Pro zájemce) Body (substrát) připojeno na 0V, Gate na kladné napětí (+V) Záporné náboje jsou vtahovány do substrátu pod Gate Vznikne vodivý kanál typu-n mezi Gate a Drain stav zapnuto (On) Source Gate + Drain Polysilicon SiO 2 n+ n+ p bulk Si Vodivý kanál Body A1B14MIS Mikroprocesory pro výkonové systémy 01 58
Transistor pmos (Pro zájemce) Metal(Gate) Oxide(SiO 2 ) Semiconductor(Body) Transistor (MOS Transistor) Typy oblastí vytvářející transistor pmos jsou opačné proti nmos Podobná funkce jako nmos, ale napětí na Gate a Body opačná proti nmos Body +V: Gate +V stav vypnuto (Off), Gate 0V stav zapnuto (on) Symbol pmos trasistoru A1B14MIS Mikroprocesory pro výkonové systémy 01 59
Napájecí napětí transistorů MOS (v digitálních obvodech) Důležité 0V značí se GND (zkratka z Ground) +V značí se V DD V DD = 5V u starších obvodů V DD = 3,3V nebo 2,5V nebo 1,8V nebo 1,5V,. Větší integrace (více transistorů na čipu) menší tranzistory nutno nižší napětí, aby nedocházelo k průrazu. A1B14MIS Mikroprocesory pro výkonové systémy 01 60
MOS transistory jako elektrické spínače (Důležité) Pro zjednodušení označíme: 0V jako log 0 symbolem 0 +V jako log 1 symbolem 1 Literatura: [5] A1B14MIS Mikroprocesory pro výkonové systémy 01 61
CMOS invertor (funkce NOT) (Pro zájemce) V DD kladné napětí a f NOT a f 0 1 1 0 f = NOT a zapisujeme: f = a A1B14MIS Mikroprocesory pro výkonové systémy 01 62
CMOS invertor realizace v křemíku (Pro zájemce) CMOS invertor ralizace planární technologií (příčný řez) Literatura: [4] A1B14MIS Mikroprocesory pro výkonové systémy 01 63
V DD kladné napětí CMOS hradlo NAND (Pro zájemce) a b f V DD NAND a b f 0 0 1 0 1 1 1 0 1 1 1 0 f = a NAND b zapisujeme : f = a. b a b f A1B14MIS Mikroprocesory pro výkonové systémy 01 64
Transistor jako elektronický spínač (Důležité) A1B14MIS Mikroprocesory pro výkonové systémy 01 65
Transmission Gate (TG) Analog Switch (Důležité) A1B14MIS Mikroprocesory pro výkonové systémy 01 66
Kviz Co to je? (Pro zájemce) CLK Q D Q CLK CLK CLK Literatura: [5] A1B14MIS Mikroprocesory pro výkonové systémy 01 67
Kviz Co to je? (Pro zájemce) A1B14MIS Mikroprocesory pro výkonové systémy 01 68
D Latch (paměťový člen) (Pro zájemce) A1B14MIS Mikroprocesory pro výkonové systémy 01 69
Digitální (číslicový) signál (Důležité) Idealizovaný tvar digitálního signálu A1B14MIS Mikroprocesory pro výkonové systémy 01 70
Digitální (číslicový) signál (Důležité) Skutečný tvar digitálního signálu A1B14MIS Mikroprocesory pro výkonové systémy 01 71
Výstupní a vstupní logické úrovně (Důležité) Výstupní a vstupní úrovně logických členů (zde příklad tzv. TTL úrovní) A1B14MIS Mikroprocesory pro výkonové systémy 01 72
Realizace funkcí digitálních (číslicových) obvodů (Důležité) Komerční (připravené funkce, paměti, procesory, ) LSI nízká integrace (hradla) MSI čítače, multiplexery,.. LSI vysoká integrace (paměti, starší procesor,.. VLSI všechno ostatní (většína dnešních digitálních obvodů) Hradlová pole (FPGA, CPLD, ) Připravené základní obvody a propojovací pole, dané funkce si uživatel navrhne pomocí CAD systému a nahraje do hradlového pole. Tím připravené obvody propojí do požadované funkce. ASIC obvody (Application Specific Integrated Circuits) VLSI obvody, kde funkce je realizována podle návrhu zadavatele přímo do křemíku (vhodné pro velké série) Kombinace Funkce realizována propojení z obvodů všech tříd uvedených výše. A1B14MIS Mikroprocesory pro výkonové systémy 01 73
Pouzdra integrovaných obvodů (Důležité) Literatura: [7] A1B14MIS Mikroprocesory pro výkonové systémy 01 74
Příklad digitální přepínač (Multiplexer) (Důležité) Princip: D0, D1 - digitální vstupy, S řídicí vstup, Y digitální výstup S = 0 S = 1 S S D0 D1 Y D0 D1 Y A1B14MIS Mikroprocesory pro výkonové systémy 01 75
Příklad digitální přepínač (Multiplexer) (Viz. Lec.02) Popis funkce pravdivostní tabulkou (Truth Table) D S D1 D0 Y 0 0 0 0 0 1 0 0 1 1 2 0 1 0 0 3 0 1 1 1 4 1 0 0 0 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 A1B14MIS Mikroprocesory pro výkonové systémy 01 76
Příklad digitální přepínač (Multiplexer) (Viz. Lec.02) Symbol multiplexeru A1B14MIS Mikroprocesory pro výkonové systémy 01 77
Realizace??? (Viz. Lec.02) Hradlo (gate) a b a f 1 f 2 b a f 3 f 1= a AND b f 2= a OR b f 3= NOT a Logická funkce Logický operátor a b a a f 4 f 5 f 6 b b f 4= a NAND b f 5= a NOR b f 6= a XOR b A1B14MIS Mikroprocesory pro výkonové systémy 01 78
Funkce hradel, Booleova algebra (Viz. Lec.02) a b a f 1 f b 2 a f 3 AND OR NOT a b f 1 0 0 0 0 1 0 1 0 0 1 1 1 a b f 2 0 0 0 0 1 1 1 0 1 1 1 1 a f 3 0 1 1 0 f 1= a ANDb zapisujeme : f 1= a. b f = a 2 OR b zapisujeme : f 2 = a + b f 3= NOT a zapisujeme : f 3= a A1B14MIS Mikroprocesory pro výkonové systémy 01 79
Funkce hradel, Booleova algebra (Viz. Lec.02) a b f a a 4 b f 5 b f 6 NAND a b f 4 0 0 1 0 1 1 1 0 1 1 1 0 NOR a b f 5 0 0 1 0 1 0 1 0 0 1 1 0 XOR a b f 6 0 0 0 0 1 1 1 0 1 1 1 0 f 4 a = NAND zapisujeme : f 4 = a. b b f 5= a NOR b zapisujeme : f 5= a + b f 6= a XOR b zapisujeme : f 6= a + b A1B14MIS Mikroprocesory pro výkonové systémy 01 80
Alternativní značení hradel (Důležité) & 1 & 1 1 =1 (kolečko) = negace Jiné značení A1B14MIS Mikroprocesory pro výkonové systémy 01 81
Příklad digitální přepínač (Multiplexer) (Viz. Lec.02) Intuitivně zapojení multiplexeru (Metodou pokus-omyl) Použijeme hradla NAND a NOT A1B14MIS Mikroprocesory pro výkonové systémy 01 82
MIS laboratorní cvičení (KOM, SEK) Software Hardware BASYS2 FPGA Device A1B14MIS Mikroprocesory pro výkonové systémy 01 83
Testovací hardware MIS laboratorní cvičení (KOM, SEK) A1B14MIS Mikroprocesory pro výkonové systémy 01 84
Testovací hardware MIS - laboratorní cvičení (KOM, SEK) A1B14MIS Mikroprocesory pro výkonové systémy 01 85
Testovací hardware MIS laboratorní cvičení (KOM, SEK) A1B14MIS Mikroprocesory pro výkonové systémy 01 86
CAD Xilinx ISE Návrh logických obvodů MIS laboratorní cvičení (KOM, SEK) A1B14MIS Mikroprocesory pro výkonové systémy 01 87
Použitá literatura [1] Kubátová, H.: Struktura a architektura počítačů, Přednášky FEL, 2009. [2] McIver McHoes, A Flynn, I.M.: Understanding Operating Systems.Thomson, 2008. [3] Tanenbaum, A: Modern Operating Systems. Prentice Hall, New Jersey, 2008. [4] Weste,N.H.E.- Harris,D.M.: CMOS VLSI Design. Addison-Wesley, 2011. [5] Vahid, F.: Digital Design. Wiley, 2011. [6] http://wiki.goal.cz/periodicka_tabulka_prvku [7] Floyd, T.L.: Digital Fundamentals, Pearson, 2009. A1B14MIS Mikroprocesory pro výkonové systémy 01 88
MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Úvod Struktura počítače Logické obvody KONEC České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 01