Download - MIKROPOČÍTAČE
![Page 1: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/1.jpg)
MIKROPOČÍTAČE
Prof. Ing.Vladimír Vašek, CSc.
![Page 2: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/2.jpg)
Historie (1)
1946 - John von Neumann formuloval moderní koncepci číslicového počítače
1957 – 58 - první aplikace číslicových počítačů pro řízení technologických procesů
1960 - první minipočítače, řídící počítače se z nich vytváří koncem šedesátých let
1971 - mikroprocesor 4004 Intel - 4 bity 1972 - mikroprocesor 8008 Intel – 8 bitů
stavebnice MCS 4, MCS 6 (8)
![Page 3: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/3.jpg)
Historie (2)
1974 – mikroprocesor 8080 1976 - I 8085, Z 80, M 660 1978 - I 8086, Z 8000, M 6800 – 16 bitů
jednočipové mikropočítače I 8048 1984 - I 80286 – 16 bitů až 16 MB RAM,
2 módy práce (reálný x chráněný) 1985 - I 80386 – 32 bitů (80386 SX
vnitřně) až 4 GB RAM
![Page 4: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/4.jpg)
Přehled použití µP
měřící a regulační technika – měřící ústředny, regulátory, řídicí systémy …
výpočetní technika – procesory, terminály …
číslicové řízení strojů – obráběcí stroje, vstřikovací stroje, dopravníky, vlastní výroba µ elektronických součástek
řízení robotů a manipulátorů
![Page 5: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/5.jpg)
Přehled použití µP
automobily – řízení zapalování, signalizace, (úspora energie)
registrační pokladny – digitální zobrazovače, mincové automaty, prodej jízdenek, systémy rezervace letenek …
domácnosti – tzv. domácí počítače hračky – využití nedokonalých obvodů
![Page 6: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/6.jpg)
![Page 7: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/7.jpg)
![Page 8: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/8.jpg)
![Page 9: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/9.jpg)
Základní pojmy (1)
Mikroprocesor - základní část mikropočítače,
- centrální jednotka CPU (Central Procesing Unit),
- obsahuje aritmeticko logickou jednotku ALU (Aritmetic Logic Unit), pracovní registry vyrovnávací paměti a řídicí obvody – řadič.
![Page 10: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/10.jpg)
Základní pojmy (1)
Mikropočítač: mikroprocesor, operační paměť, obvody zajišťující komunikaci s okolím (V/V
zařízení),
Mikropočítačový systém: technické vybaveníprogramové vybavení
![Page 11: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/11.jpg)
Základní pojmy (2)
Programové vybavení: základní aplikační
Základní: programovací jazyky
strojově orientované problémově orientované
překladače jazyků operační systémy pro práci v reálném čase služební programy testovací a diagnostické programy problémově orientované knihovny
![Page 12: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/12.jpg)
Základní pojmy (2)
Aplikační: vytváří si uživatel sám universální aplikační moduly (pro řešení stejné
třídy úloh) technologicky orientované moduly (pro jistý typ
aplikace)
![Page 13: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/13.jpg)
Základní pojmy (3)
Délka slova mikroprocesoru 8 byte; 4,8,16,32 max.č. 255 větší čísla – použití více bitů zobrazení vyjádření malých a velkých čísel – aritmetika
s pohyblivou čárkou výhody mikroprocesorů s větší délkou slova:
- vyšší rychlost- větší rozsah čísel, které lze v jednom slově vyjádřit
a zpracovat jednou instrukcí.
![Page 14: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/14.jpg)
Registry CPU
Registr – logický obvod pro dočasné uložení informace
Registry přístupné programátorovi Registry nepřístupné programátorovi (interní registry
mikroprocesoru) Osmibitový registr Šestnáctibitový registr
![Page 15: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/15.jpg)
Základní registry (přístupné programátorovi) Čítač instrukcí (program counter) – obsahuje
vždy adresu instrukce, která se bude realizovat v příštím kroku programu
![Page 16: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/16.jpg)
Základní registry (přístupné programátorovi)
Universální registry – mají obvykle délku jeden nebo dva byte a jsou určeny k uložení dat, která slouží jako operandy při provádění instrukcí..
Indikační registry – obvykle jednobitové registry, které indikují stav výsledků provedených instrukcí, např. příznak znaménka nuly, přenosu, parity.
![Page 17: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/17.jpg)
Základní registry (přístupné programátorovi)
Ukazatel zásobníku (stach pointer)- SP – aktuální adresa, na kterou se bude ukládat (nebo vybírat) hodnota (do zásobníku - část paměti určeno pro rychlé, dočasné ukládání dat). SP obsahuje (podle systému) adresu posledního uloženého byte nebo prvního místa v zásobníkové paměti.
![Page 18: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/18.jpg)
Registry nepřístupné programátorovi Instrukční registr – obsahuje instrukci, která
se právě provádí.
Adresový registr paměti – obsahuje adresu místa paměti, s níž se právě pracuje.
Datový registr paměti – slouží k uložení informací (dat nebo instrukcí) přenášených mezi hlavní pamětí a CPU.
![Page 19: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/19.jpg)
![Page 20: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/20.jpg)
Instrukce
Každá dílčí činnost programu – operace – je uskutečněna jednou instrukcí.
Počet instrukcí u současně používaných µ - procesorů je max 255.
![Page 21: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/21.jpg)
Instrukce
Součásti instrukce: instrukční kód udává, jaká operace se má
provést definice způsobu adresování operandy date, se kterým instrukce pracuje
(nepovinná položka pro všechny instrukce) Délka instrukce 1 – 3 byty.
![Page 22: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/22.jpg)
Formáty instrukcí
![Page 23: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/23.jpg)
Paměti
Charakteristické parametry pamětí kapacita – množství dat, které lze do paměti
umístit (byty, kB – nás. 1024, MB – nás. 1048 576).
cyklus paměti – minimální časový interval mezi po sobě jdoucími příkazy k činnosti paměti
vybavovací doba – časový interval mezi požadavkem na přenos informace z paměti a objevením informace na výstupu paměti
cena jednoho bitu – podíl ceny a kapacity paměti
![Page 24: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/24.jpg)
Typy polovodičových pamětí
Paměti pro uložení dat RAM – (Random Access Memory), RWM –
(Read Write Memory) výběr i uložení po vypnutí napájení ztrácí informaci po zapnutí náhodný obsah použití pro data při ladění programu
ROM – (Read Only Memory) data ukládá při výrobě IO
![Page 25: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/25.jpg)
Typy polovodičových pamětí
PROM – (Programmable Read Only Memory) data si zavádí uživatel
Paměti pro uložení programů a konstant EPROM – (Eraseable PROM)
opakované nahrávání (omezený počet) uživatelem,
mazání UV zářením EEPROM – elektronicky mazatelné pevné
paměti
![Page 26: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/26.jpg)
Zásobníková paměť vymezený úsek paměti RAM pro uchování
(dočasné) dat.
Využívá se: automaticky
při volání podprogramů, při obsloužení přerušení
uživatelsky – dočasné odkládání mezivýsledků prováděných operací
![Page 27: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/27.jpg)
Zásobníková paměť
Zásobníková paměť typu LIFO (last in- first out)
Ukazatel zásobníku (SP) obsahuje adresu vrcholu zásobníku.
![Page 28: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/28.jpg)
![Page 29: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/29.jpg)
Číselné soustavy
Požívané soustavy desítkové dvojkové (binární osmičkové (octalová) šestnáctkové (hexadecimální)
![Page 30: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/30.jpg)
Číselné soustavy
Zobrazení čísla N, kde r je základ soustavy
Př:
)...........( 00
11
nn
nn
nn rarararaN
5,9375,0730900)10*5()10*7()10*3()10*9()5,937( 101210
)2*1()2*1()2*0()2*1()2*1()2*0()2*1()11,10110( 21012342
ai – koeficienty číselné soustavy 0 ÷r
ai = 0 – 9; r = 10
![Page 31: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/31.jpg)
Číselné soustavy
Desítková (dekadická) soustava je třeba zobrazit 10 stavů
Dvojková (binární) soustava používá pouze 2 stavy (např. vypnuto
– zapnuto, vyšší úroveň signálu – nižší úroveň signálu apod…)
![Page 32: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/32.jpg)
Převod desítkového čísla na dvojkové
102:2=51 zbytek 051:2=25 125:2=12 112:2=6 06:2=3 03:2=1 11:2=0 1
Zkouška:
210 )1100110()102(
1026432422*12*12*02*02*12*12*0 6543210
![Page 33: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/33.jpg)
Binární soustava
Pravidla dvojkové aritmetiky: 0+0=0 0+1=1 1+0=1 1+1=0 (1)
Nevýhody: čísla jsou dlouhá časté chyby špatně se pamatují
![Page 34: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/34.jpg)
Binární (dvojková) soustava
7 6 5 4 3 2 1 0
1 0 0 1 0 1 0 1
210
7654210
)10010101()149(1281641
2*12*02*02*12*02*12*02*1
max 102 )255()11111111(
![Page 35: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/35.jpg)
Octalová (osmičková) soustava
2 2 5
149: 1 0 0 1 0 1 0 1
810210 )225()149(1281658*28*28*5
3 7 4
252: 1 1 1 1 1 1 0 0
810210 )374()252(1925648*38*78*4
108 )255()377(
tři číslice : nejvyšší řád 0÷3 zbývající řády 0÷7
max
![Page 36: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/36.jpg)
Hexadecimální (šestnáctková) soustava
Kód 8421:
0 0 0 0 0 7 0 1 1 1 14 (E) 1 1 1 0
1 0 0 0 1 8 1 0 0 0 15 (F) 1 1 1 1
2 0 0 1 0 9 1 0 0 1
3 0 0 1 1 10 (A) 1 0 1 0
4 0 1 0 0 11 (B) 1 0 1 1
5 0 1 0 1 12 (C) 1 1 0 0
6 0 1 1 0 13 (D) 1 1 0 1
![Page 37: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/37.jpg)
Hexadecimální (šestnáctková) soustava
161010 )95()149(144516*916*5
vyšší hex. číslice
nižší hex. číslice
9 5
149: 1 0 0 1 0 1 0 1
F C
252: 1 1 1 1 1 1 0 0
161010 )()252(2401216*1516*12 FC
max 1016 )255()( FF
dvě hex. číslice 0 ÷ F
![Page 38: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/38.jpg)
BCD kód (Binary Coded Decimal)
vyšší dek. číslice
nižší dek. číslice
9 7
97: 1 0 0 1 0 1 1 1
10)99(
Dvě číslice 0 ÷ 9
Max
![Page 39: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/39.jpg)
Základní logické funkce (1) Logický součet (NEBO, OR)
A + B = C
A U B
A B C
0 0
0 1 1
1 0 1
1 1 1
A B C
0 0
0 1
1 0
1 1
A B C
0 0 0
0 1 1
1 0 1
1 1 1
![Page 40: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/40.jpg)
Základní logické funkce (2) Logický součin („A“, AND)
A * B = C
A ∩ B
A B C
0 0
0 1
1 0
1 1
A B C
0 0
0 1
1 0
1 1 1
A B C
0 0 0
0 1 0
1 0 0
1 1 1
![Page 41: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/41.jpg)
Základní logické funkce (3) Negace
A B
0 1
1 0AB
BA
![Page 42: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/42.jpg)
Základní logické funkce (4) Ekvivalence
A B C
0 0
0 1
1 0
1 1
BABABBBABAAA
BABABABABABAC
)(*)(*****A B C
0 0 10 1
1 0
1 1 1
A B C
0 0 10 1 01 0 01 1 1
![Page 43: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/43.jpg)
Základní logické funkce (5) Exklusive - OR
A B C
0 0
0 1 11 0 11 1
ABBABBABBAAA
BABABAABABABC
)(*)(*
A B C
0 0
0 1
1 0
1 1
A B C
0 0 00 1 11 0 11 1 0
![Page 44: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/44.jpg)
Zobrazení číselných hodnot (1) Zobrazení ve dvojkovém doplňkovém kódu
kladné hodnoty v přímém dvojkovém kódu záporné hodnoty – dvojkové doplňky
7. bit stability představuje znaménko 0 - + 1 - B
Vytváření dvojkového doplňku = negace kladného čísla a přičtení 1 k nejvyššímu řádu.
Př: 0000 1100
1111 0011
+ 0000 0001
1111 0100
![Page 45: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/45.jpg)
Zobrazení číselných hodnot (2)
Při práci s většími čísly slučujeme několik slabik vedle sebe (znaménkový bit je nejvyšší).
+127 - 0111 1111
..
0 - 0000 0000
-128 - 1000 0000
Zobrazení čísel od
![Page 46: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/46.jpg)
Zobrazení v přímém kódu
kladná i záporná čísla v přímém kódu na bitech 0 ÷ 6; 7.bit znaménkový
Př.:
5: 0000 0101
-5: 1000 0101
Při práci pouze s kladnými hodnotami zobrazení v rozsahu 0 ÷ 255
![Page 47: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/47.jpg)
Dosazování příznaku přenosu (C)
Sečítání: C=1, když vznikne přenos z nejvyššího řádu:
jsou-li vstupní operandy sčítání v rozsahu (127, -128) je vždy C=1 při součtu dvou záporných čísel
jsou-li operandy nezáporné čísla (0 – 255) je C=1 při vzniku výsledku většího než 255
![Page 48: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/48.jpg)
3: 0000 0011
1111 1100
Př.: (- 3) + (- 5) = (- 8)
3: 0000 0011 3: 0000 0011
1111 1100
+ 1
3: 0000 0011
1111 1100
+ 1
-3: 1111 1101
3: 0000 0011 5: 0000 0101
1111 1100 1111 1010
+ 1 + 1
-3: 1111 1101 -5: 1111 1011
3: 0000 0011 5: 0000 0101
1111 1100 1111 1010
+ 1 + 1
-3: 1111 1101 -5: 1111 1011 = 1111 1000
Přenos C = 1
3: 0000 0011 5: 0000 0101
1111 1100 1111 1010
+ 1 + 1
-3: 1111 1101 -5: 1111 1011 = 1111 1000
Přenos C = 1
8: 0000 1000
1111 0100
+ 1
-8: 1111 1000
![Page 49: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/49.jpg)
Př.: 255 + 1 = 256 (>255)
Sčítání s operandy většími než jedna slabika se provádí podprogramy, které využívají instrukce sečítání s přenosem.
1111 11111111 1111
+ 1
1111 1111
+ 1
C=1 0000 0000
A:A:
B:
A:
B:
CY CY CY
A:
B:
CY CY CY
A:
B:
CY CY CY
A:
B:
CY CY CY
A:
B:
CY CY CY
CY
![Page 50: MIKROPOČÍTAČE](https://reader036.vdocuments.pub/reader036/viewer/2022081503/56812b99550346895d8fbaaa/html5/thumbnails/50.jpg)
Odečítání U instrukcí odečítání se do C dosadí negovaná hodnota
bitu přenosu. („výpůjčka„)
Př.: 5 - 3Př.: 5 - 3 5: 0000 0101
-3: 0000 0011
1111 1100
+ 1
1111 1101
0000 0101Př.: 5 - 3 5: 0000 0101 0000 0101
1111 1101
0000 0101
1111 1101
1 0000 0010
0000 0101
1111 1101
1 0000 0010
Po ukončení C = 1 = 0
Př.: 4 - 6Př.: 4 - 6 4: 0000 0100Př.: 4 - 6 4: 0000 0100
-6: 0000 0110
1111 1001
+ 1
1111 1010
0000 01000000 0100
1111 1101
0000 0100
1111 1101
0 1111 1110
0000 0100
1111 1101
0 1111 1110
Po ukončení C = 0 = 1
2: 0000 0010
1111 1101
+ 1
-2: 1111 1110