Úvod do svĚta poČÍtaČŮ [email protected] fee.vutbr.cz/~kunovsky
DESCRIPTION
ÚVOD DO SVĚTA POČÍTAČŮ [email protected] www.fee.vutbr.cz/~kunovsky. Zpracování dat zpracování nenumerických dat zpracování numerických dat. Zpracování nenumerických dat Zpracování textu Textová data Textový editor Čtyři základní fáze pořizování dokumentu: - PowerPoint PPT PresentationTRANSCRIPT
Zpracování dat
• zpracování nenumerických dat• zpracování numerických dat
Zpracování nenumerických datZpracování textu
Textová dataTextový editor
Čtyři základní fáze pořizování dokumentu:1. základní práce s dokumentem2. editace dokumentu3. formátování dokumentu4. tisk dokumentu
Zpracování numerických dat
Přesnost zobrazení reálných číselPřesnost výpočtuSložitost výpočtu
Metodika sériového a paralelního výpočtu
Na příkladu řešení soustavy rovnic se prezentuje seriový postup výpočtu (Cramerovým pravidlem) a paralelní postup výpočtu (vytvoří se paralelní model - všechny jednotky pracují současně). Paralelní systémy jsou charakteristické zpětnou vazbou.
Mějme následující soustavu rovnic:
ax + by = cdx + ey = f
bdae
cdafy
bdae
bfcex
Sériový výpočet
A1 := c * e;A2 := b * f;A3 := A1 – A2;A4 := a * e;A5 := b * d;A6 := A4 – A5;A7 := A3 / A6;
.
.
.
bdae
bfcex
SISD computer
CU PU MM
IS
IS DS
CU: control unit PU: processor unit MM: memory module IS: instruction stream DS: data stream
Struktura počítače a funkce jeho základních částí
Definují se pojmy procesor, řadič (zajišťuje automatické řízení celého systému podle programu zapsaného v paměti), aritmeticko-logická jednotka (provádí aritmetické a logické operace), paměť (uchovává informace, v případě potřeby jejich výběr, případně ukládání nových informací. Údaj ukládaný do paměti je zakódován do binární podoby.) a periferie (V/V zařízení, vnější paměti, ovládací zařízení, prostředky pro přenos dat).
Paralelní výpočetax + by = cdx + ey = f
e
dxfy
a
bycx
*
a
bycx
b
y
* –
b c
y
a
bycx
* – :
b c a
y x
a
bycx
* – :
*
e
dxfy
b c a
d
y x
x
* – :
* –
b c a
d f
y x
x
e
dxfy
* – :
* – :
b c a
d f e
y
y
x
x
e
dxfy
* – :
* – :
e
dxfy
a
bycx
b c a
d f e
y
y
x
x
yapyazbyp
zbyapyayp
ICzbyayay
0102
0012
001 0
+p2y
-a0y
-a1py
b0z
ypp
py 21
yapyazbyp 0102
pyp2y
ypp
py 21
yapyazbyp 0102
pyp
y1
ypy
+p2y
-a0y
-a1py
b0z
pyp2y
ypy
+p2y
-a0y
-a1py
b0z
py
y
-a1 -a0
SIMD computer
DS1PU1
DS2PU2
DSnPUn
MM1
MM2
MMm
CUIS
SM
IS
MIMD computer
DS1PU1
DS2PU2
DSnPUn
MM1
MM2
MMm
CU1IS1
SM
IS
CU2
CUn
IS2
ISn
IS1
IS2
ISn
IS1
IS2
ISn
Matematické stroje
Provádí se rozdělení
• na analogové počítače (matematický děj se modeluje analogickým dějem fyzikálním) a
• na číslicové počítače (čísla se zobrazují pozičně, jako konečné posloupnosti cifer).
Historický vývoj výpočetní techniky
před 5000 lety tabulkový systém abakus
1642 - Francouz Bleise Pascal - sčítací stroj
1694 - Němec Wilhelm Leibnitz - sčítací a násobící stroj
1833 - Angličan Charles Babbage - Analytical Engine první mechanický samočinný počítač. Paměť a řízení podledaného programu
1855 - kalkulátory pro vykonávání základních aritmetických úkonů
1937 - Američan Howard Hathaway Aiken se znovu vyslovilo automatizovánívýpočtů podle dopředu sestaveného programu.
1938 - Angličan Alan Mathisom Turing matematicky zdůvodnil možnost zkonstruovat univerzální samočinný počítač.
1941 - Němec Zuse - počítač Z3.
1944 - IBM (International Business Machines Corporation) – reléový počítač MARK-1 (elektromechanické relé).
1946 - ENIAC - elektronkový.
1945 - John von Neumann, program i data ve vnitřní paměti počítače.
Generace počítačůDělení se provádí podle konstrukční, technické úrovně.
Každá vyšší generace znamená• pokrok v součástkové základně• zvýšení operační rychlosti• snížení příkonu• zlepšení programového vybavení• zlepšení formy styku počítače s člověkemJsou specifikovány reléové, elektronkové, tranzistorové
počítače, počítače s integrovanými obvody a počítače s velmi vysokým stupněm integrace.
Proudové (zřetězené) a neproudové zpracování
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
IF ID OF EX
S1 S2 S3 S4
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7
Doba zpracování = n + k – 1
Proudové zpracování
n … sekcí k … úloh
Neproudové zpracování
Doba zpracování = n * k
n … sekcí k … úloh
EX . . .
OF . . .
ID . . .
IF . . .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Součinitel zvýšení propustnosti
1
kn
knq
k >> n k
n
kkn
nq
k
11
lim
1
kn
knq
Číselné soustavy
Obecně lze libovolné celé kladné číslo zapsatpolynomem
an zn + an-1 zn-1 + … + a0 z0 ,
kde z je libovolné přirozené číslo větší než 1, tzv.základ soustavy, a koeficienty ai jsou přirozená čísla,tzv. číslice soustavy, splňující nerovnost 0 ai z.Při zápisu čísla se obvykle používá zkrácený zápis
(anan-1 … a0)z, resp.
anan-1 … a0,
pokud nemůže dojít k pochybnosti, v jaké soustavěje číslo vyjádřeno.
• jejím základem je číslo deset (z = 10)
• používá deset číslic (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
• v běžném životě nejpoužívanější
• čísla vyjadřujeme v jednotkách (100), desítkách (101), stovkách (102), tisících (103) atd.
Desítková (dekadická) soustava
Např. číslo 6307 můžeme vyjádřit jako:
6 3 0 7
6 tisíc + 3 sta + 0 desítek + 7 jednotek
6 1000 + 3 100 + 0 10 + 7 1
6 103 + 3 102 + 0 101 + 7 100 = 6307,
tedy a3 z3 + a2 z2 + a1 z1 + a0 z0, kde z = 10 (základ),
a0 = 7, a1 = 0, a2 = 3, a3 = 6, a4, a5, a6, … = 0 (číslice)
Dvojková (binární) soustava
• jejím základem je číslo dvě (z = 2)
• používá dvě číslice (0, 1)
• v oblasti výpočetní techniky nejpoužívanější
• desítkové číslo 11 můžeme vyjádřit jako dvojkové číslo 1011:
1 23 + 0 22 + 1 21 + 1 20
1 8 + 0 4 + 1 2 + 1 1 = 11 … dekadicky
• pokud by mohlo dojít k nejasnostem, v jaké soustavě je dané číslo zapsáno, používá se forma zápisu
(1011)2 = (11)10,
což čteme jako „dvojkové (binární) číslo jedna nula
jedna jedna je rovno desítkovému (dekadickému)
číslu jedenáct“.
Převody mezi číselnými soustavami
Příklad: Převeďte číslo 10 z desítkové soustavydo dvojkové.
Požadované desítkové číslo postupně dělíme dvěma,zapíšeme zbytek a každý výsledek opět dělíme dvěma,až dostaneme nulový podíl. První číslicí ve dvojkovésoustavě bude zbytek získaný posledním dělením.
výsledekpo dělení 2
zbytek
10 : 2 = 5 0
5 : 2 = 2 1
2 : 2 = 1 0
1 : 2 = 0 1
(10)10 = (1010)2
Převody mezi číselnými soustavami
Příklad: Převeďte dvojkové číslo 101110 do desítkovésoustavy.
Dvojkové číslo 101110 můžeme zapsat jako
1 25 + 0 24 + 1 23 + 1 22 + 1 21 + 0 20
1 32 + 0 16 + 1 8 + 1 4 + 1 2 + 0 1 = 46
(101110)2 = (46)10
výsledekpo dělení 2
zbytek
586 : 2 = 293 0
293 : 2 = 146 1
146 : 2 = 73 0
73 : 2 = 36 1
36 : 2 = 18 0
18 : 2 = 9 0
9 : 2 = 4 1
4 : 2 = 2 0
2 : 2 = 1 0
1 : 2 = 0 1
Převod celého čísla (před desetinnou čárkou)
(586)10 = (1001001010)2
0 248 x 2
0 496
0 992
1 984
1 968
1 936
1 872
1 744
1 488
0 976
1 952
Převod desetinného čísla (za desetinnou čárkou)
(0.248)10 = (0.0011111101)2
(586.248)10 = (1001001010.0011111101)2
29 + 26 + 21 + 2-3 + 2-4 + 2-5 + 2-6 + 2-7 + 2-8 + 2-10 == 586.24707
Realizace převodu záporných čísel
Př. (58.625)10 = (000111010.1010000)2PŘ = . . . 2INV = . . . 2DOP
(100111010.1010000)2TRN
(–58.625)10 = (100111010.1010000)2PŘ
(111000101.0101111)2INV
(111000101.0110000)2DOP
(011000101.0110000)2TRN
Informaci o znaménku nese nejvyšší bit – bit znaménka
Nejčastěji se užívá kód doplňkový – lze sečítat libovolná kladná nebo záporná čísla, případný přenos ze znaménkového bitu se zanedbává.
Př. máme 8-bitové zobrazení (n = 4, m = 4) a) 3.625 0 011.1010 2.125 0 010.0010
5.750 0 101.1100 nedošlo k žádnému přenosu, výsledek je správný
b) 2.125 0 010.0010 – 3.625 1 100.0110 – 1.500 1 110.1000 nedošlo k žádnému přenosu, výsledek je správný c) 3.625 0 011.1010 – 2.125 1 101.1110
1.500 1 0 001.1000 došlo k oběma přenosům, výsledek je správný
d) – 2.125 1 101.1110 – 3.625 1 100.0110 – 5.750 1 1 010.0100 došlo k oběma přenosům, výsledek je správný e) 3.625 0 011.1010
5.750 0 101.11009.375 1 001.0110
došlo pouze k jednomu přenosu, výsledek je
chybný
10011 x 01101 10011 00000 10011 10011 000000011110111
Logický součin
&0
00
&0
10
&1
00
&1
11
Aritmetický součetS
A
CI
B
CO
1 0 0 1 1
& & & & &
0 0 0 0 0 0 0 0 0 0
1 0 0 1 1
0 1 1 0 1
1 0 0 1 1
SUM
SBO
ACC
Nulování akumulátoru ACC
1
& & & & &
1 0 0 1 1 0 0 0 0 0
SUM
SBO
ACC
Zápis do akumulátoru ACC
2
0 1 0 0 1
& & & & &
0 1 0 0 1 1 0 0 0 0
0 0 1 1 0
0 0 0 0 0
SUM
SBO
ACC
Posuv ACC vpravoPosuv násobitele vpravo
3
& & & & &
0 1 0 0 1 1 0 0 0 0
SUM
SBO
ACC
Zápis do ACC
4
1 0 1 1 1
& & & & &
0 0 1 0 0 1 1 0 0 0
0 0 0 1 1
1 0 0 1 1
SUM
SBO
ACC
Posuv ACC vpravoPosuv násobitele vpravo
1 0 0 1 1
5
& & & & &
1 0 1 1 1 1 1 0 0 0
SUM
SBO
ACC
Zápis do ACC
6
1 1 1 1 0
& & & & &
0 1 0 1 1 1 1 1 0 0
0 0 0 0 1
1 0 0 1 1
SUM
SBO
ACC
Posuv ACC vpravoPosuv násobitele vpravo
1 0 0 1 1
7
& & & & &
1 1 1 1 0 1 1 1 0 0
SUM
SBO
ACC
Zápis do ACC
8
0 1 1 1 1
& & & & &
0 1 1 1 1 0 1 1 1 0
0 0 0 0 0
0 0 0 0 0
SUM
SBO
ACC
Posuv ACC vpravoPosuv násobitele vpravo
9
& & & & &
0 1 1 1 1 0 1 1 1 0
SUM
SBO
ACC
Zápis do ACC
10
& & & & &
0 0 1 1 1 1 0 1 1 1
SUM
SBO
ACC
Posuv ACC vpravoPosuv násobitele vpravo
11
& & & & &
0 0 1 1 1 1 0 1 1 1
SUM
SBO
ACC
Zápis do ACC
12
10011 x 01101 10011 00000 10011 10011 000000011110111
Dělení
Dělení
Příklad
Zobrazení v pohyblivé řádové čárce
číslo = (mantisa) * 2exponent
Příklad
Slovo má 1+32 bitů. Zobrazte reálné číslo:
–145,625 v přímém kódu
• znaménko čísla ve znaménkovém bitu
• mantisa v horních 24 bitech
• exponent v nejnižších 8 bitech, nejvyšší z nich obsahuje znaménko exponentu
1) převedeme do dvojkové soustavy
(145,625)10 = (10010001,101)2
2) posuneme řádovou čárku před nejvyšší bit a vynásobíme příslušnou mocninou základu 2
x = 0,10010001101 * 28
3) připojíme znaménko-145,625 =
1,10010001101000000000000000001000