mikropoČÍtaČe

50
MIKROPOČÍTAČE Prof. Ing.Vladimír Vašek, CSc.

Upload: christopher-travis

Post on 30-Dec-2015

51 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: MIKROPOČÍTAČE

MIKROPOČÍTAČE

Prof. Ing.Vladimír Vašek, CSc.

Page 2: MIKROPOČÍTAČE

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

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

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

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
Page 7: MIKROPOČÍTAČE
Page 8: MIKROPOČÍTAČE
Page 9: MIKROPOČÍTAČE

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

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

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

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

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

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

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

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

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

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
Page 20: MIKROPOČÍTAČE

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

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

Formáty instrukcí

Page 23: MIKROPOČÍTAČE

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

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

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

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

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
Page 29: MIKROPOČÍTAČE

Číselné soustavy

Požívané soustavy desítkové dvojkové (binární osmičkové (octalová) šestnáctkové (hexadecimální)

Page 30: MIKROPOČÍTAČE

Čí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

Čí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

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

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

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

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

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

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

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

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

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

Základní logické funkce (3) Negace

A B

0 1

1 0AB

BA

Page 42: MIKROPOČÍTAČE

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

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

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

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

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

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

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

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

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