I+K technológiák Számrendszerek, kódolás
A tárgyak egymásra épülése Magas szintű programozás ( számítástechnika) Alacsony szintű programozás (jelfeldolgozás) I+K technológiák Gépi aritmetika Számítógép architektúra Irányítástechnika 1 Elektrotechnika 2018.10.15. I+K technológiák 2
Számrendszerek 2 0 1 7 10 3 10 2 10 1 10 0 Alaki érték Helyi érték 2017=2*10 3 +0*10 2 +1*10 1 +7*10 0 Kettes (bináris) számrendszer 0...1 Pl. 10010110 2 =1*2 7 +0*2 6 +0*2 5 +1*2 4 +0*2 3 +1*2 2 +1*2 1 +0*2 0 =150 10 Tízes (decimális) számrendszer 0..9 Tizenhatos (hexadecimális) számrendszer 0...F BC=B(11)*16 1 +C(12)*16 0 =188 10 Nyolcas (oktális) 2018.10.15. I+K technológiák 3
Számrendszerek - átváltás 2 16: 10010110 =96 2 16 9 6 10 n: osztó, szorzó algoritmus 2018.10.15. I+K technológiák 4
Osztó, szorzó algoritmus Osztó: Számok egész része 542 Hányados 2 542 0 271 1 135 1 67 1 33 1 Maradék Szorzó: számok tört része 0,625 0,625 1 0,12 0 0,5 1 0 2 16 0 542 10 =1000011110 2 0,625 10 =0,101 2 8 0 4 0 2 0 1 1 0 Különböző számrendszerekben különböző véges/végtelen törtek vannak... 2018.10.15. I+K technológiák 5
Kódolás Kódolás: információ átalakítása, célzottan számítógépes tároláshoz, adatfeldolgozáshoz Forráskódolás: tárolás-feldolgozás szerinti adatfeldolgozás (eredetivel megegyező információtartalom) Csatornakódolás: adatátvitelhez alkalmas forma (tömörítés, információvesztés) 2018.10.15. I+K technológiák 6
Kódolás - számkódolás a) Tiszta bináris kód: 2-es számrendszerbeli érték nєn b)előjeles bináris kód 1: + 0: - gyakorlatilag csak ábrázolásra 2018.10.15. I+K technológiák 7
Kódolás - számkódolás c) 2-es komplemens kód egész számok: n k = n, ha nєn 2 k - n, ha n<0, k: ábrázolásra használt bitek száma Pl: -5: tört számok: n k = 5 tiszta bináris kódja: 0101 2 negáció: 1010 +0001 1011 n, ha nєn 2- n, ha n<0 pl. -0,75 0,75= 0,11 2 10,000-0,110 01,010 Az ábrázolható számtartományt megfelezzük 2018.10.15. I+K technológiák 8
Példa a 2-es komplemens kód elvére 2018.10.15. I+K technológiák 9
Kódolás - számkódolás c) BCD kód (Binary Coded Decimals) számadatok jegyenkénti kódolása Egyszerű, számjegyenkénti soros kódolás, dekódolás 2 0 1 7 0010 0000 0001 0111 pl. zsebszámológépek 2018.10.15. I+K technológiák 10
Kódolás-számkódolás d) Ciklikus kód: Gray-kód két szomszéd csak egy helyiértékben tér el Digitális méréstechnikai irányítási feladatoknál, főleg lyukszalagos adathordozó esetén 2018.10.15. I+K technológiák 11
Kódolás - számkódolás e) Telex kód Fax elődje hat vezetékes kapcsolatrendszer, 5bites kód minden kódszó kettős jelentéstartalommal rendelkezik a kódhossz a szöveg tartalmától függ, ezért kiszámíthatatlan 2018.10.15. I+K technológiák 12
Példa a telex kódra 2018.10.15. I+K technológiák 13
Példa a telex kódra 3/x+2 11011 számváltó 00001 3 11101 / 11111 betűváltó 11101 x 11011 számváltó 10001 + 10011 2 2018.10.15. I+K technológiák 14
Kódolás - betűkódolás ASCII kód: 7 biten 128 karakter 0000 0000 ( ) 0111 1111 ASCII 1000 0000 ( ) 1111 1111 ASCII - 2 Bővítés: Latin1 -Latin2 nincs megegyezés 2018.10.15. I+K technológiák 15
ASCII kódtábla 2018.10.15. I+K technológiák 16
UNICODE Alap: UTF-32 32 bites: A= 0...0 0...0 0...0 01000001 8 8 8 Kb 4 milliárd karakter... UTF-8: Változó kódhossz, csak annyit használunk fel, amennyire tényleg szükség van 0-val kezdődő: régi ASCII-kód 1: kiterjesztett 2018.10.15. I+K technológiák 18
Betűkódok használata 2018.10.15. I+K technológiák 19
Kódolás analóg típusú információk kódolása képek 2018.10.15. I+K technológiák 20
Kódolás analóg típusú információk kódolása képek 2018.10.15. I+K technológiák 21
Kódolás analóg típusú információk kódolása képek 2018.10.15. I+K technológiák 22
Kódolás analóg típusú információk kódolása képek 2018.10.15. I+K technológiák 23
Kódolás analóg típusú információk kódolása képek 256 értékben kódolunk 2018.10.15. I+K technológiák 24
Kódolás analóg típusú információk kódolása képek 132 értékben kódolunk 2018.10.15. I+K technológiák 25
Kódolás analóg típusú információk kódolása hangok Analóg hang frekvenciatartománya: 20 Hz-20kHz Mintavételi frekvencia: 44,1 khz wav Tömörítés: veszteségmentes: ismétlődő szekvenciákat rövidebb kóddal írjuk le Pl. FLAC, M4A, ALAC, APE Veszteséges: pl. felharmonikusok levágása mp3 2018.10.15. I+K technológiák 26
Kódolás analóg típusú információk kódolása videók Hagyományos Két kép közötti különbség eltétele 2018.10.15. I+K technológiák 27
Csatornakódolás Forráskódolás csatornakódolás Célkódolás Sűrítés Nagyobb átviteli kapacitás Veszteséges/veszteség nélküli Biztonság 2018.10.15. I+K technológiák 28
Csatornakódolás - biztonság 1. Paritás N N P N P generálás P generálás P* Új paritásbit Küldő: Generálás Átvitel Fogadó: ellenőrzés Paritásbit típusa: Páros/Páratlan Az egyesek számát páratlanra egészíti ki 2018.10.15. I+K technológiák 29
Hamming távolság d= eltérő bitek száma Ha h a hibák száma, akkor a hiba Felismerhető, ha h O d-1 Javítható, ha h O d/2 egész része 2018.10.15. I+K technológiák 30
Paritás példa A B C P 0 0 0 1 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 Hiba felismerés: nincs paritás Páratlan számú hibákat felfedi A hiba felfedhető, de nem javítható 2018.10.15. I+K technológiák 31
Paritás - blokkparitás 7 bit Sorparitás 1 hiba felismerhető és javítható 2 hiba: csak felismerhető, de nem javítható 3hiba felismerhető Oszlop paritás 2018.10.15. I+K technológiák 32
8bit Paritás - Szalagszerű paritás 3 hiba felismerése (4-et nem, 5-öt igen, stb) Hamming távolság: 4 2018.10.15. I+K technológiák 33
Egyéb biztonsági megoldások Ellenőrző összeg (checksum) CRC Adathibát felderítő eljárás, mindkét oldalon generálunk egy checksumot Cyclic Redundancy Code : Generátor polinom polinom osztás kódszó CRC maradék A generátorpolinom megválasztásától függően más hibákat szűrünk ki 2018.10.15. I+K technológiák 34
I+K technológiák Gépi számábrázolás
Fix pontos számábrázolás Az alappont a bináris kódszóban előre rögzített helyen van a) Egészek: Ha N, előjel nélküli, ha Z, kettes komplemens n x 2018.10.15. I+K technológiák 36
Fix pontos számábrázolás - példa shortint, byte var i:shortint; [-128;127] j:byte; [0 255] k: integer (16 bites) l: word (tiszta bináris i:=-1 0000 0001 (+1) 1111 1111 (-1) j:= 255 1111 1111 A kódolási eljárás ismerete nélkül nem fogjuk tudni visszfejteni, valahol jeleznem kell, hogy mi a kód típusa! 2018.10.15. I+K technológiák 37
Fix pontos számábrázolás b) Egész+tört Kettedes pont helye Csak elvétve alkalmazzuk c) Csak tört Kettedes pont helye 2018.10.15. I+K technológiák 38
Lebegőpontos számábrázolás Normálálak: 6*10 23 mantissza karakterisztika 1Om<10 10 0 Om<10 1 Lebegő pontos m*2 k Típusai: Rövid lebegőpontos Hosszú lebegőpontos (56 bites mantissza) ICL kód (N= m*16 k ) 2018.10.15. I+K technológiák 39
Lebegőpontos számábrázolás rövid lebegőpontos (1) 32 bites Előjel bit karakterisztika mantissza (1bit) (7bit) (24bit) 0: + eltolt nullpontú számábrázolás 1: - (k+64) tiszta bináris, a legnagyobb kitevő a 63 2018.10.15. I+K technológiák 40
Lebegőpontos számábrázolás rövid lebegőpontos (2) -64 0 63 0 64 127 7 biten, eltolt nullpontú számábrázolás 2018.10.15. I+K technológiák 41
Lebegőpontos számábrázolás tulajdonságok Típus Rövid lebegőpontos Hosszú lebegőpontos ICL kód Ábrázolási számtartomány Pontosság -(1-2 -24 )*2 63 -(1-2 -56 )*2 63 -(1-2 -24 )*2 63 N (1-2 -24 )*2 63 N (1-2 -56 )*2 63 N (1-2 -24 )*2 63 2-24 *2-64 (=2-88 ) 2-56 *2-64 (=2-120 ) nagyobb nagyobb kisebb A pontosság függ az ábrázolt számtól is 2018.10.15. I+K technológiák 42
Rövid lebegőpontos számábrázolás példa (1) 611 300 151 71 31 11 0 0,1250 0,250 0,51 0-61,125= -11101,001=-0,11101001*2 6 k=6 K+64=70 700 351 171 81 40 20 11 0 2018.10.15. I+K technológiák 43
Rövid lebegőpontos számábrázolás példa (2) -64 0 63 k=6 0 64 127 K+64=70 1 1 0 0 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2018.10.15. I+K technológiák 44
I+K techológiák Gépi aritmetika
Gépi aritmetika 1 bites összeadó Félösszeadó (legkisebb helyiérték esetén) A B + S C A, B: összeadandó számok S: Szumma C Carry (átvitel) 2018.10.15. I+K technológiák 46
Gépi aritmetika 1 bites összeadó Teljes összeadó (az összeadás során) A B C S + C A, B: összeadandó számok S: Szumma C : új carry Carry (átvitel) 2018.10.15. I+K technológiák 47
Gépi aritmetika 1 bites összeadó A B C C S C C = AB+AC+BC B 0 0 0 0 0 0 1 0 0 1 0 1 2 0 1 0 0 1 3 0 1 1 1 0 4 1 0 0 0 1 5 1 0 1 1 0 6 1 1 0 1 0 7 1 1 1 1 1 A S A 0 1 3 1 2 4 5 1 7 1 8 1 C S=A (B C) 0 1 1 3 2 1 4 1 5 7 1 8 2018.10.15. I+K technológiák 48 C B
Gépi aritmetika egy bites összeadó A B C & & & 1 C =1 =1 S A B C S + C 2018.10.15. I+K technológiák 49
+ + + + Gépi aritmetika párhuzamos összeadó Carry terjedés Gyors S C S C S C S Bonyolult, sok művelet A B C A B C A B C A B 2018.10.15. I+K technológiák 50
Gépi aritmetika Rekurzív átvitelképzés C i =G i +T i *C i-1 Generálódás Terjedés G i =A i *B i T i =A i +B i C 0 =A 0 *B 0 C 1 =G 1 +T 1 *C 0 =A 1 *B 1 +(A 1 +B 1 )*C 0 =A 1 *B 1 +(A 1 +B 1 )*(A 0 *B 0 ) Tehát egy kétszintes hálózatról van szó 2018.10.15. I+K technológiák 51
+ + + + Gépi aritmetika Rekurzív átvitelképzés Bonyolult hálózat Bizonyos bitszám felett nem éri meg 2018.10.15. I+K technológiák 52
Gépi aritmetika soros összeadó 4 bites összeadó: 4 ciklus alatt, legkisebb helyiértéket összeadja, megjegyzi az átvitelt, majd forgat Jobbra tol, ami kiesik, azt bal oldalon beírja Kevesebb hely, egyszerű kialakítás Lassú 01 0 1 1 0 0 1 + 1 0 01 0 1 1 0 01 10 1 1 M 01 2018.10.15. I+K technológiák 53
Gépi aritmetika Komplemens összeadás (1) a) A>0, B>0 (A+B) k = A+B Pl: 3+2= b) A>0 B<0 A B A k =A B k =2 k+1 - B (A k +B k )=A+2 k+1 - B = =A+B+2 k+1 Pl 3(-2)= 0011 +0010 0101 Felesleges túlcsordulás 0011 (3) +110 (-2) 1 0001 2018.10.15. I+K technológiák 54
Gépi aritmetika Komplemens összeadás (2) c) A<0 B>0 A B A k = 2 k+1 - A B k =B (A k +B k )= 2 k+1 - A +B= =2 k+1 +A+B= 2 k+1 - A+B =(A+B) k Pl: (-3)+2 d)a<0, B<0 A k = 2 k+1 - A B k = 2 k+1 - B (A k +B k )= 2 k+1 - A +2 k+1 - B =2 k+1 +A+B= 2 k+1 +2 k+1 - A+B = 2 k+1 +(A+B) k Pl: (-3)+(-2) 1101 (-3) +0010 (2) 1111 0001=1 => -1 1101 (-3) +1110 (-2) 11011 0101=5 => -5 2018.10.15. I+K technológiák 55
Gépi aritmetika BCD összeadás (1) (c) z 3 (c) z 2 (c) z 1 z 0 1/2 + + 1/2 + K & 1 & C 2 C 1 C 0 C 3 s 3 s 2 s 1 + + + 1/2 + s 0 2018.10.15. I+K technológiák A 3 B 3 A 2 B 2 A 1 B 1 A 0 B 0 56
Gépi aritmetika BCD összeadás (2) tiszta bináris összeg BCD összeg 0 0 0 0 0 1 0 0 0 1 2 0 0 1 0 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 ugyanaz 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 1 0 0 0 0 11 1 0 1 1 1 0 0 0 1 12 1 1 0 0 1 0 0 1 0 13 1 1 0 1 1 0 0 1 1 14 1 1 1 0 1 0 1 0 0 15 1 1 1 1 1 0 1 0 1 S 3 S 1 1 1 1 1 S 0 1 1 K= S 2 S 3 +S 1 S 3 =S 3 (S 1 +S 2 ) K =C+S 3 (S 1 +S 2 ) Differencia +6 (0110) S 2 16 1 0 0 0 0 1 0 1 0 0 17 1 0 0 0 1 1 0 1 0 1 18 1 0 0 1 0 1 1 0 1 0 19 1 0 0 1 1 1 1 0 1 1 2018.10.15. I+K technológiák 57
Gépi aritmetika BCD összeadás (3) Példa: 783+124=907 0111 7 0001 1 1001 9 1 1000 8 0010 2 1010 10 + 0110 K (1)0000 0 0 0011 3 0100 4 0111 7 19+18=37 0111 7 0001 1 1001 9 1001 9 1000 8 (1)0001 17 +0110 K 0111 7 2018.10.15. I+K technológiák 58
Gépi aritmetika szorzás (2) Bináris szorzási algoritmusok 123*456 492 615 738 56088 123*456 738 615 492 56088 2018.10.15. I+K technológiák 59
Gépi aritmetika szorzás (2) 1. Szorzás szorzandó balra léptetésével kinullázzuk Részletösszeg Szorzandó balra léptetve 27*11 11011*1011 00000 +11011 11011 +11011, 101001 +11011, 100101001 16 bites shift regiszter 16 bites összeadó 2018.10.15. I+K technológiák 60
Gépi aritmetika szorzás (3) 2. Szorzás szorzandó jobbra léptetésével 1 1 0 1 1 * 1 0 1 1 0 0 0 0 0 + 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 + 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 + 0 0 0 0 0 1 0 1 0 0 0 1 1 0 1 0 0 0 1 + 1 1 0 1 1 1 0 0 1 0 1 0 0 1 16 bites shift regiszter 8 bites összeadó 2018.10.15. I+K technológiák 61
Gépi aritmetika szorzás (4) 3. Számjegycsoportra bontás 2-es számjegyekre: 00 0 01 1 10 2 11 3 6*99=0110*01 10 00 11 (00) 0*6=00000 (01) 1*6= 00110 (10) 2*6=01100 (11) 3*6=10010 0110*01 10 00 11 00000 10010 10010 00000, 0010010 01100, 11010010 00110, 1001010010 =594 A szorzás eredménye tárolható Lépések felezhetőek Nehezen algoritmizálható 2018.10.15. I+K technológiák 62
Gépi aritmetika szorzás (5) 4. Szorzás 1-es sor felhasználásával??? Sok egyest tartalmaz Hozzáadás a legnagyobb helyiérték előtt Kivonás az egyes sor legkisebb helyiértékén 2018.10.15. I+K technológiák 63
Gépi aritmetika osztás Osztás ismételt kivonással 101:1000=0,101 1010-1000 0010 0100 1000-1000 00000 Sok egyest tartalmaz Hozzáadás a legnagyobb helyiérték előtt Kivonás az egyes sor legkisebb helyiértékén 2018.10.15. I+K technológiák 64
Gépi aritmetika Lebegőpontos számábrázolás A= m a *r Ka ; B= m b *r Kb ÖSSZEADÁS/KIVONÁS Algoritmus: 1. K a és K b összehasonlítása 2. Kisebb karakterisztika jobbra shiftelése, amíg K a =K b 3. Összadás/kivonás a mantisszákon 4. Ha szükséges, az eredmény normalizálása 1. 0,9E02+0,9993E04 2. 0,9E02=0,009E04 3. 0,009E04 +0,993E04 1,002E04 4. 0,100E05 2018.10.15. I+K technológiák 65
Gépi aritmetika Lebegőpontos számábrázolás SZORZÁS: Algoritmus: 1. A mantisszák előjelhelyes szorzása 2. A karakterisztikák összeadása 3. Ha szükséges, normalizálás C=A*B C= m a *m b *r Ka+Kb OSZTÁS Algoritmus: 1. A mantisszák előjelhelyes osztása 2. A karakterisztikák kivonása 3. Ha szükséges normalizálás 2018.10.15. I+K technológiák 66
Miről volt szó? Átszámítás számrendszerek között Kódolások Gépi számábrázolás Fix pontos Lebegőpontos Paritás, blokkparitás Összeadás, Bináris Komplemens BCD Szorzások Balra Jobbra Számjegyes 1-es sor Osztás 2018.10.15. I+K technológiák 67