Základy mikroprocesorové techniky 9. Týden – Mikroprocesorové systémy Garant: Prof. Zdeněk Bohuslávek, CSc. Přednášející: Ing. Jiří Nesládek Podklady: http://www.rabaka.net/ZMT
Co je to mikroprocesor? Logický sekvenční obvod Jeho činnost je řízena programem Program se skládá z instrukcí Mikroprocesor zajišťuje opakované provádění operací – instrukční cyklus Provádění všech operací instrukčního cyklu je řízeno řadičem mikroprocesoru
dekodér instrukce, řadič Blokové schéma data řídící signály toky dat datová sběrnice latch vnitřní sběrnice adresová sběrnice ALU registry latch adresa dekodér instrukce, řadič hodiny reset přerušení řídící signály
Vnitřní uspořádání Řadič – interpretuje instrukce a generuje řídící signály pro ostatní výkonné bloky mikroprocesoru; Aritmeticko-logická jednotka (ALU) – realizuje aritmetické operace (sčítání, odčítání, násobení, dělení, …), bitové logické operace (NOT, AND, OR, XOR) a různé druhy bitových posunů; Registry – slouží jako „vnitřní paměť“ procesoru, ukládají se do nich momentálně zpracovávaná data a výsledky operací. Počet a jejich přesné použití se u jednotlivých mikroprocesorů liší; Sběrnice – ostatní části systému (např. paměti) komunikují s procesorem prostřednictvím sběrnic, po kterých se přenáší adresy, data a řídící signály. Podle počtu signálů, které tvoří sběrnici, hovoříme o šířce sběrnice (8-mi, 16-ti, x-bitová sběrnice).
Architektura počítačů von Neumannova – společná paměť programu (kódu) a dat Operační paměť ALU Řadič Vstupní zařízení Výstupní zařízení řídící signály toky dat
Architektura počítačů harvardská – oddělené paměti programu (kódu) a dat ALU Datová paměť Řadič Vstupní zařízení Výstupní zařízení Paměť programu řídící signály toky dat Paměť programu je ve vestavných mikropočítačích realizována zpravidla jako nevolatilní (ROM, EPROM, EEPROM, FLASH)
Architektura řadičů CISC (Complex Instruction Set Computing) stovky instrukcí proměnná délka instrukce instrukční cyklus různé délky složitý řadič RISC (Reduced Instruction Set Computing) nízký počet vybraných instrukcí typicky jednoslovné instrukce (s výjimkou přímé adresace) konstantně dlouhý instrukční cyklus, typicky 1 hodinový cyklus (s výjimkou přístupu do paměti) více univerzálních registrů důsledné použití zřetězeného zpracování jednodušší řadič CISC >100 až 300 instrukcí často velký počet hodinových cyklů RISC 35+ instrukcí převážně ortogonální instrukční sada prefetching
Zřetězené zpracování (pipelining) Počet fází instrukce závisí na architektuře mikroprocesoru. Pohybuje se od 2 do cca 10. Příklad fází instrukcí: F – čtení operačního kódu instrukce D – dekódování op. kódu instrukce O – čtení operandů E – vykonání instrukce a uložení výsl. F D O E 1 2 3 4 5 6 7 1. instrukce 2. instrukce 3. instrukce 4. instrukce 5. instrukce Strojové cykly procesoru současné zpracování fází čtyř instrukcí Superskalární architektura je trochu něco jiného. Superskalární procesory mohou skutečně v jednom taktu provádět několik operací.
Charakteristiky mikroprocesorů Univerzální do PC, serverů a superpočítačů 32/64 b CISC více ALU a FPU (Floating Point Unit) MMU, cache hodiny až jednotky GHz velký příkon do vestavných mikropočítačů 4/8/16/32 b často RISC do cca 100 MHz často bateriové napájení s nízkým příkonem DSP – spec. Instr. v jednom taktu provedou násobení dvou hodnot v paměti a výsledek přičtou do akumulátoru – podpora implementace kruhových bufferů Signálové (DSP – Digital Signal Processor) určené pro zpracování signálů – filtrace, FFT, (de)modulace, … speciální instrukce, saturační aritmetika více výpočetních jednotek, vnitřních sběrnic paralelismus
Související pojmy Jednočipový mikropočítač (single-chip microcomputer) Integrovaný obvod, který na jednom čipu sdružuje přinejmenším mikroprocesor, generátor hodinového signálu, paměť a V/V brány v rozsahu umožňujícím alespoň v malé míře samostatnou činnost. Vestavný (embedded) procesor Pro mikropočítače, které nesplňují kritérium jednoho čipu se často používá termín „Embedded Processor“ nebo „Embedded Controller“. Přestože nejde o čistě jednočipové mikropočítače, tak na jednom čipu vedle vlastního mikroprocesoru obsahují řadu periferních obvodů (V/V brány, A/D převodník, UART, USB, …), které je předurčují pro použití ve vestavných aplikacích. Mikrořadič (microcontroller) Není vhodný název – vágní /žádná definice, používá se v několika významech: synonymum pro jednočipový mikropočítač; jednočipový mikropočítač s omezeným počtem vývodů, typicky bez možnosti připojení vnější paměti; v původním významu jde o obvod, který realizuje řídící stavový automat – může se jednat jak o řídící blok uvnitř mikroprocesoru, tak o zapojení vytvořené pomocí jednodušších elektronických součástek
Jednočipové mikropočítače 8051 mnoho výrobců elektronický součástek stále nabízí procesory s tímto jádrem ačkoliv se tyto procesory nabízí s pamětí FLASH a bývají vybaveny moderními periferiemi, architektura už je překonaná 1 strojový cyklus se skládá z 12-ti hodinových horší poměr výkon / spotřeba nešikovná instrukční sada, většina operací používá akumulátor AVR (Atmel), PIC (Microchip) nejvýznamnější výrobci jednočipových počítačů moderní 8-mi bitová RISC architektura většina instrukcí se zpracovává v jednom hodinovém cyklu (1MIPS / 1MHz) dostupné v provedení s integrovanou pamětí FLASH pro kód, SRAM pro data a EEPROM pro ukládání konfigurace, kalibračních konstant apod. ochrana kódu proti přečtení a nežádoucímu kopírování MSP (Texas Instruments) 16-ti bitová RISC architektura příznivý poměr cena / výkon