Předmluva 11 // Předmluva k II. vydání 12 // 1. Přehled vývoje mikropočítačové techniky 13 // 1.1. Mikroprocesor 13 // 1.2. Mikropočítačové stavebnice (MCS) 14 // 1.3. Mikropočítač 15 // 1.4. Pseudomikroprocesor 16 // 1.5. Dosavadní vývoj mikropočítačové techniky 16 // 2. Technologie číslicových polovodičových obvodů // a paměti LSI 21 // 2.1. Přehled technologií polovodičových číslicových obvodů 21 // 2.1.1. Bipolární technologie 22 // 2.1.2. Unipolámí technologie 23 // 2.2. Polovodičové paměti 24 // 2.2.1. Rozdělení polovodičových pamětí 25 // 2.2.2. Paměti typu RWM - RAM 25 // 2.2.3. Paměti ROM 28 // 2.2.4. Pamětí SAM 30 // 3. Základní pojmy výpočetní techniky a obecné vlastnosti mikroprocesorů 32 // 3.1. Základní pojmy výpočetní techniky 32 // 3.1.1. Řadič (Control Unit, Controller) 32 // 3.1.2. Doba (Time-Period) 32 // 3.1.3. Fáze (Beat) 32 // 3.1.4. Takt (Machine Cycle) 33 // 3.1.5. Instrukční cyklus (Instruction Cycle) 33 // 3.1.6. Mikrooperace 33 // 3.1.7. Mikroinstrukce 33 // 3.1.8. Mikroprogram 33 // 3.1.9. Mikroprogramování 33 // 3.1.10. Strojová instrukce 34 // 3.1.11. Makroinstrukce 34 // 3.1.12. Pseudoinstrukce 34 // 3.2. Způsoby adresování 34 // 3.2.1. Imphcitní adresování 34 // 3.2.2. Přímý operand — adresa nultého řádu 35 // 3.2.3. Přímá adresa — adresa prvního řádu 35 // 3.2.4. Nepřímá adresa — adresa druhého řádu 35 // 3.2.5. Nepřímé adresy vyšších řádů — adresy třetího a vyšších řádů 35 // 3.2.6. Adresy v operačním znaku 35 // 3.2.7. Registrové adresování 36 // 3.2.8. Relativní adresování 36 // (5) 3.2.9. Autorelativní adresování 36 // 3.2.10. Adresování ukazateli 37 // 3.3. Obecné vlastnosti mikroprocesorů 37 // 3.3.1. Zápisníková paměť 37 // 3.3.2. Zásobníková paměť a volání podprogramu 38 //
3.3.3. Délka slova 39 // 3.3.4. Rychlost 40 // 3.3.5. Stykové možnosti 41 // 3.3.6. Rozměry, příkon a cena 42 // 3.3.7. Poěet spojových desek a integrovaných obvodů 44 // 3.3.8. Programové vybavení mikroprocesorů 44 // 3.4. Styk s periferními zařizenimi 44 // 3.4.1. Programové řízení 45 // 3.4.2. Přerušení 48 // 3.4.3. Přímý přístup k paměti 51 // 4. Mikroprocesory a mikropočítačové stavebnice 53 // 4.1. Mikroprocesor typu 8080A 53 // 4.1.1. Popis mikroprocesoru 8080A 53 // 4.2. Instrukční soubor mikroprocesoru Intel 8080A 62 // 4.2.1. Způsoby adresování 63 // 4.2.2. Tabulka instrukci 68 // 4.2.3. Instrukce přesunu osmibitových dat 68 // 4.2.4. Instrukce přesunu šestnáctibitových dat 69 // 4.2.5. Aritmetické instrukce pro osmibitová data 69 // 4.2.6. Aritmetické instrukce pro šestnáctibitová data 69 // 4.2.7. Logické instrukce 69 // 4.2.8. Instrukce rotací 69 // 4.2.9. Instrukce skoků 70 // 4.2.10. Instrukce volání podprogramu 70 // 4.2.11. Instrukce návratu z podprogramu 70 // 4.2.12. Instrukce vstupu a výstupu dat 70 // 4.2.13. Ostatní instrukce 71 // 4.3. Mikropočítačová stavebnice MCS-48/80/85 71 // 4.3.1. Obvody typu 8216/8226, 8205, 8212 a 8214 72 // 4.3.2. Obvody typu 8224, 8228 a 8238 77 // 4.3.3. Obvod typu 8255 a další programovatelné součástky 80 // 4.3.4. Sdružené obvody typů 8155 a 8355/8755 85 // 4.4. Zapojení mikropočítačů s 8080 86 // 4.5. Mikroprocesor typu 8008 88 // 4.5.1. Popis mikroprocesoru 8008 89 // 4.6. Mikroprocesor MC6800 92 // 4.6.1. Struktura MC6800 93 // 4.6.2. Časování 94 // 4.6.3. Spolupráce s vnějšími zařizenimi 94 // 4.6.4. Systém přerušení 95 // 4.6.5. Přimý přistup k paměti (DMA) 96 // 4.6.6. Mikroprocesor MC6802 96 // 4.7. Instrukční soubor mikroprocesoru MC6800 97 // 4.7.1. Způsoby adresování 97 // 4.7.2. Tabulka instrukcí 102 //
4.7.3. Instrukce přesunu osmibitových dat 102 // 4.7.4. Instrukce přesunu šestnáctibitových dat 102 // 4.7.5. Aritmetické instrukce pro osmibitová data 103 // 4.7.6. Aritmetické instrukce pro šestnáctibitová data 103 // 4.7.7. Instrukce logické 103 // 4.7.8. Instrukce rotaci a posimů 103 // 4.7.9. Instrukce skoků 103 // 4.7.10. Instrukce volání podprogramu 104 // 4.7.11. Instrukce návratu z podprogramu 104 // 4.7.12. Instrukce nulování a nastavování indikátorů 104 // 4.7.13. Ostatní instrukce 104 // 4.8. Stavebnice pomocných obvodů MC6800 104 // 4.8.1. Generátory hodin 104 // 4.8.2. Paměťové obvody 105 // 4.8.3. Univerzální stykové obvody 105 // 4.8.4. Specializované pomocné obvody 108 // 4.9. Základní zapojení s MC6800 108 // 4.10. Mikroprocesor Z80-CPU 110 // 4.10.1. Struktura Z80-CPU 110 // 4.10.2. Časování 112 // 4.10.3. Styk se spolupracujícimi zařizenimi 113 // 4.10.4. Přerušení 113 // 4.10.5. Přímý přistup k paměti 114 // 4.10.6. Pomocné obvody stavebnice Z80 114 // 4.11. Instrukční soubor Z80-CPU 115 // 4.11.1. Způsoby adresování 125 // 4.11.2. Tabulky instrukcí 125 // 4.11.3. Instrukce přesunu osmibitových dat 125 // 4.11.4. Instrukce přesunu šestnáctibitových dat 125 // 4.11.5. Aritmetické instrukce pro osmibitová data 125 // 4.11.6. Aritmetické instrukce pro šestnáctibitová data 126 // 4.11.7. Logické instrukce 126 // 4.11.8. Instrukce rotací a posunů 126 // 4.11.9. Instrukce skoků 126 // 4.11.10. Instrukce volání podprogramu 126 // 4.11.11. Instrukce návratu z podprogramu 127 // 4.11.12. Instrukce vstupu a výstupu 127 // 4.11.13. Instrukce přesunu bloků dat 127 // 4.11.14. Instrukce vyhledávání v blocích dat 128 // 4.11.15. Instrukce bitových operaci 128 // 4.11.16. Ostatní instrukce 128 // 4.12. Mikroprocesor typu 8085 128 // 4.12.1. Popis mikroprocesoru 8085 129 //
4.13. Mikroprocesory řady 8048 132 // 4.13.1. Mikroprocesory 8048/8748/8035 132 // 4.13.2. Stykový mikroprocesor 8041/8741 (UPI-41) 136 // 4.13.3. Pokračování řady 8048 138 // 4.14. Porovnání instrukčních souborů osmibitových mikroprocesorů 140 // 4.14.1. Způsoby adresování pro osmibitové operace 141 // 4.14.2. Způsoby adresování pro šestnáctibitové operace 142 // 4.14.3. Aritmetické operace pro osmibitová data 142 // 4.14.4. Aritmetické operace pro šestnáctibitová data 143 // 4.14.5. Logické operace 143 // 4.14.6. Skokové operace 143 // 4.14.7. Instrukce pro styk s uzavřenými podprogramy 143 // 4.14.8. Využití vnitřních registrů 144 // 4.14.9. Souhrnné porovnání 145 // 5. Řezové procesorové stavebnice 146 // 5.1. Základní pojmy struktury mikroprogramovatelných procesorů 147 // 5.1.1. Řadič 147 // 5.1.2. Řídicí paměť 148 // 5.1.3. Registr adresy mikroprogramu 148 // 5.1.4. Logické obvody příští adresy 149 // 5.1.5. Registr instrukcí 149 // 5.1.6. Registr mikroinstrukcí 149 // 5.1.7. Dekodér mikroinstrukcí 149 // 5.1.8. Mikrořadič 149 // 5.1.9. Aritmetická jednotka 149 // 5.1.10. Zápisníková paměť 150 // 5.1.11. Blok stavového slova 150 // 5.1.12. Blok styku se sběrnicemi 150 // 5.1.13. Blok přerušení 150 // 5.2. Stavebnice Intel 3000 151 // 5.2.1. Mikrořadič I3001 151 // 5.2.2. Procesorový řez I3002 153 // 5.2.3. Generátor zrychleného přenosu I3003 159 // 5.2.4. Příklad aplikace stavebnice Í3000 160 // 5.3. Stavebnice Am2900 161 // 5.3.1. Mikrořadičový řez Am2909 161 // 5.3.2. Mikrořadičový řez Am2911 162 // 5.3.3. Procesorový řez Am2901 162 // 5.3.4. Generátor zrychleného přenosu Am2902 166 // 5.3.5. Řídicí obvody systémů přerušení Am2914 a Am2913 166 // 5.3.6. Výkonové budiče sběmic 167 // 5.3.7. Ostatní obvody stavebnice Am2900 167 //
5.3.8. Příklad aplikace stavebnice Am2900 168 // 5.4.’ Přehled dalších řezových procesorových stavebnic 169 // 5.5. Problémy aplikace řezových procesorových stavebnic 170 // 6. Mikropočítače 172 // 6.L Systémy pro vývoj mikropočítačů 172 // 6.1.1. INTELLEC 800 172 // 6.1.2. Další systémy pro vývoj 175 // 6.1.3. Práce se systémem pro vývoj 175 // 6.2. Jednodeskové mikropočítače 176 // 6.2.1. Jednodeskové mikropočítače řady SBC 80 176 // 6.2.2. Další členy řady SBC 80 178 // 6.2.3. Mikropočítač ROBOTRON ZE1 178 // 7. Programové vybavení mikropočítačů 180 // 7.1. Programovací jazyky 180 // 7.1.1. Jazyk symbolických adres 180 // 7.1.2. Jazyk BASIC 182 // 7.1.3. Modifikace PL/1 рго mikropočítače 183 // 7.1.4. Mikroprogramovací jazyky 184 // 7.2. Vlastní programové vybavení 185 // 7.2.1. Monitor 185 // 7.2.2. Redakční program 186 // 7.2.3. Odladovací program 186 // 7.2.4. Operační systém pro řízení v reálném čase 187 // 7.3. Nevlastní programové vybavení 188 // 8. Aplikace mikroprocesorů 190 // 8.1. Základní třídy aplikací mikroprocesorů // 8.1.1. Jednoúčelové automaty s mikroprocesory 191 // 8.1.2. Modulární mikropočítačové stavebnice 191 // 8.1.3. Laboratorní a střediskové mikropočítače 192 // 8.1.4. Cenové relace 193 // 8.2. Výpočetní technika 195 // 8.2.1. Multiprocesorové systémy 195 // 8.2.2. Mikroprocesory jako součást periferních zařízení 197 // 8.3. Sběr a předzpracování dat 198 // 8.3.1. Sběr a zpracování ekonomicko-administrativních dat. 199 // 8.3.2. Sběr a předzpracování průmyslových dat 199 // 8.3.3. Mikroprocesory v měřicích přístrojích 200 // 8.4. Mikroprocesory v automatickém řízení průmyslových provozů 201 // 8.4.1. Logické řízení 202 // 8.4.2. Řízení spojitých soustav 203 //
8.5. Použití mikroprocesorů ve spotřební elektronice 205 // 8.5.1. Řízení elektrických zařízení v domácnosti 205 // 8.5.2. Automobilová technika 206 // 8:5.3. Elektronické hry 206 // 8.6. Příklady konkrétních aplikací 207 // 8.6.1. Jednotka pro automatizované měření viskozít 207 // 8.6.2. Systém sběru a předzpracování dat pro regulaci v uzavřené smyčce 211 // 9. Šestnáctibitové mikroprocesory Intel a stavebnice iAPX 86 216 // 9.1. Mikroprocesory typu 8086 a 8088 217 // 9.1.1. Základní vlastnosti mikroprocesorů 8086 a 8080 218 // 9.1.2. Organizace paměti a segmentace 224 // 9.1.3. Vstupy, výstupy a DMA 229 // 9.1.4. Přizpůsobení 8086 pro multiprocesorové systémy a stavové // signály 229 // 9.1.5. Možnosti přerušování programu 233 // 9.1.6. Časování a základní zapojení s 8086 236 // 9.2. Instrukční soubor mikroprocesorů 8086/88 240 // 9.2.1. Typy dat 240 // 9.2.2. Způsoby adresování 241 // 9.2.3. Tabulka instrukcí 243 // 9.2.4. Instrukce přesunu dat 244 // 9.2.5. Aritmetické instrukce 252 // 9.2.6. Logické instrukce 252 // 9.2.7. Instrukce rotací a posunů 252 // 9.2.8. Instrukce skoků 252 // 9.2.9. Instrukce volání podprogramů a návratu 253 // 9.2.10. Prefixové instrukce 253 // 9.2.11. Ostatní instrukce 254 // 9.2.12. Slučitelnost instrukčních souborů mikroprocesorů 8080 a 8086 255 // 9.3. Základní programové vybavení pro mikroprocesory řady iAPX 86/88 256 // 9.3.1. Jazyk symbolických adres ASM86 256 // 9.3.2. Konverzní program CONV86 260 // 9.3.3. Jazyk PLM86 262 // 9.3.4. Programové soubory iRMX-88 a iRMX-86, obvod 80130 263 // 9.4. Pomocné mikroprocesory typu 8087 a 8089 265 // 9.4.1. Obvod 8087 — numerický koprocesor 265 // 9.4.2. Obvod 8089 — stykový mikroprocesor 270 // 9.5. Základní pomocné obvody řady iAPX 86 275 //
9.5.1. Obvod 8284A — generátor hodin 275 // 9.5.2. Obvod 8282/83 — osmibitové registry 278 // 9.5.3. Obvod 8286/87 — osmibitové obousměrné budiče 279 // 9.6. Obvody řízení styku se systémovou sběrnici 279 // 9.6.1. Obvod 8288 — řadič systémové sběrnice 280 // 9.6.2. Obvod 8289 — arbitrážní obvod systémové sběrnice 281 // 10. Numerické koprocesory 8231 a 8232 286 // 10.L Koprocesor APU 8231 287 // 10.2. Přiklad použití APU 8231 291 // 10.3. Koprocesor FPU 8232 292 // 11. Perspektivy rozvoje mikroprocesorové techniky 296 // Literatura 300 // Rejstřík 301