mikropoČÍtaČe
DESCRIPTION
MIKROPOČÍTAČE. Prof. Ing.Vladimír Vašek, CSc. 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ů - PowerPoint PPT PresentationTRANSCRIPT
MIKROPOČÍTAČE
Prof. Ing.Vladimír Vašek, CSc.
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)
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
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ů
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ů
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č.
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í
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
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)
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í.
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
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
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.
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.
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.
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.
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.
Formáty instrukcí
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
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
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
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í
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.
Číselné soustavy
Požívané soustavy desítkové dvojkové (binární osmičkové (octalová) šestnáctkové (hexadecimální)
Čí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
Čí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…)
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
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í
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(
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
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
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
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
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
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
Základní logické funkce (3) Negace
A B
0 1
1 0AB
BA
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
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
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
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
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
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
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
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
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