p klad v vojov ho diagramu adi e adi s dic mi et zci: adi s ta em
Transkript
pklad vvojovho diagramu adie adi s dicmi etzci: (viz UPS12 { 10) 20 ! ten instrukce 22 24 0 IPA1 - ??? M0 0 HOLD M2 M3 MR DB RI 1 READY 1 25 27 1 23 M4 INCIP IPA0 I1B 1 M5 ??? M1 HLDA 0 26 ??? M9 konec adi NLP2000/01 1 5.12.1995 c A. Pluhek adi s taem: Dek. READY HOLD r r r - Ovl. Dek. . . . dekodr STOPSET 2r r r - HLDA - MR ta NLP2000/01 .. jinak adi t 3 5.12.1995 c A. Pluhek 5.12.1995 c A. Pluhek kdovn podm nek: VP podm nka 0 adr0 1 READY 2 HOLD 3 I1B . .. . .. program OZ Ovl. . . . ovldn tae .. 2 mikroprogramovan adi | horizont ln mikroprogramov n: r r r Ovldn tae: ta podm nka ovldn 0 HOLD SET 2 nastaven na 2 1 HOLD STOP net 3 READY STOP net 4. I1B SET 9 nastaven na 9 . . .. adi NLP2000/01 M0 M2 M1 M3 M4 M9 M5 . .. 20 21 22 23 24 25 26 27. . . NLP2000/01 . . . HLDA MR IPA0 IPA1 INCIP DRI1 . .. ? ? 0 1 0 0 ? ? .. . . .. ? ? 0 0 1 0 ? ? .. . adi . .. . .. ? ? 0 0 0 ? ? 1 0 0 0 ? ? 1 ? ? .. . .. . 4 . .. ? ? 0 0 0 1 ? ? .. . . .. ... ? ... ? ... 0 ... 0 ... 1 ... 0 ... ? ... ? ... .. . ... adr VP . .. . .. 22 ?? 24 22 24 26 2 ? 0 2 1 3 .. . .. . ?? ?? ? ? 5.12.1995 c A. Pluhek Obvody pro posuv shifters] P.: posuv vpravo o 1 msto pm kd | bez detekce ztr ty pesnosti logick cyklick arit cykl 0 dic sign ly: 0 1 1 0 1 0 1 aritmetick logick cyklick aritmetick ??? Obvody pro posuv - II. P.: posuv vpravo o 2 msta pm kd | s detekc ztr ty pesnosti (ZP ) logick cyklick aritmetick P.: aritmetick posuv vlevo o 2 msta pm kd | s detekc peplnn (PP ) P.: doplkov kd | aritmetick posuv o 2 msta vlevo s detekc peplnn (PP ) a vpravo bez detekce ztr ty pesnosti NLP2000/01 Aritmetika 1 barrel shifter 17.9.1998 c A. Pluhek NLP2000/01 Aritmetika 2 17.9.1998 c A. Pluhek trivi ln posuvn registr ] posuvn registr s paralelnm vstupem NLP2000/01 Aritmetika 3 17.9.1998 c A. Pluhek NLP2000/01 Aritmetika 4 21.9.1998 c A. Pluhek pln staka NOT{AND{OR full adder] NAND{NAND{NAND pln staka plstaky NOT{AND{OR NAND{NAND{NAND s = abp + abp + abp + abp Vyuv se nap. vztah: q = ab + ap + bp a ab ac = abc apod. polovin staka (plstaka) half adder] s = (a b) p q = ab + p(a b) G = ab ... penos se Generuje (vznik) P = a b... penos Prochz Vyuv se vztah s = ab + ab = a b q = ab a ab = ab a ab b = ab NLP2000/01 Aritmetika 5 16.10.1998 c A. Pluhek Vhybka Pozn.: Lze pout tak P = a + b NLP2000/01 Aritmetika 6 Predikce penos (3bitov sekce) Generate] Propagate] 19.10.1998 c A. Pluhek carry look-ahead] Nen nakresleno: G = G000 + P 000 G00 + P 000 P 00 G0 P = P 000 P 00 P 0 NLP2000/01 Aritmetika 7 19.10.1998 c A. Pluhek NLP2000/01 Aritmetika 8 19.10.1998 c A. Pluhek Destkov staka{odtaka v dopl kovm kdu Inverzn kd X je-li X 0 I(X ) = jg X j = Z ; " + X je-li X 0 nebo jg X j = Z ; " ; jX j = Z ; " + X I(X ) z = 2 jednikov doplnk 6 e " Z - u -" z = 10 devtkov doplnk 1Z 2 eu e u eu u ; 21 Z 0 -X ue 1 2 Z ; 12 Z < X < 21 Z rozsah: symetrick zobrazen: nen jednoznan: kladn a z porn nula znamnko: slice v nejvym du | jako u doplkovho kdu, ale: kladn a z porn nula (odvozen jako u doplkovho kdu) NLP2000/01 Aritmetika 9 19.10.1995 c A. Pluhek NLP2000/01 Inverzn kd | II. P.: z = 2 Z = 10002 X +0 +1 +2 +3 ;3 ;2 ;1 ;0 0 0 0 0 1 1 1 1 I(X ) 0 0 1 1 0 0 1 1 0 kladn nula 1 0 1 0 1 0 1 z porn nula P.: z = 10 Z = 100010 X +0 +. 1 .. +499 ;499 .. . ;1 ;0 NLP2000/01 "=1 I(X ) "=1 0 0 0 kladn nula 0 0. 1 .. 4 9 9 5 0. 0 .. 9 9 8 9 9 9 z porn nula Aritmetika 11 9.10.1995 c A. Pluhek Aritmetika 10 8.10.1996 c A. Pluhek Stn v inverznm kdu I(A)+I(B) I(A + B) A 0 B 0 A+B A+B A 0 B 0 A + B + Z -" A+B A0 B 0 A + B + Z-" A 0 B 0 A + B + Z-"+ Z -" A + B + Z-" A) + I(B) I(A + B) = I( I(A) + I(B) ; Z + " Setou se obrazy a penos z nejvyho du se zavede do nejniho du kruhov penos peplnn: jako u doplkovho kdu P.: z = 2 Z = 10002 "=1 Aritmetika 12 NLP2000/01 3.8.1999 c A. Pluhek Nsoben | 1 Nsoben | 2 Nsoben nezpornch sel Nsoben modul jednotka A Z = zn + 1 " = z;m B Y = z) + 1 = z; A = A=" cel sla B = B= A<Z B<Y B = P bi zi =) A B = P A bi zi i =0 i =0 A bi = ? (jinak stn a posuvy) A B = A B " A B = A B z;m ; A B < Z Y = zn + 1 + + 1 poty slic ped rkou za rkou A n+1 m B +1 AB n+1+ +1 m+ n soben ;! n soben celch sel dle: pouze nsoben celch sel !!! NLP2000/01 Aritmetika 13 25.10.1995 c A. Pluhek 1 z = 2: A bi = 0A 2 z 6= 2: A0 A1 A2 A3 staka (destkov) posuvy (destkov) registr B: sestupn ta (aspo nejni d) staka, obvod pro posuv a registr C1: o 1 d ir (nelze vyut penos | nesta) posuv a po zpracov n 1 slice (po vynulovn posledn slice v registru B) Aritmetika NLP2000/01 0 0 1 1 zn (A B ) = zn (A) P.: 0 1 0 1 0 1 1 0 zn (B ) 0 1 0 1 1 = 1 b1 1 0 b1 016+18+04+12+11=116;18+14+02;11 8 + 2 + 1 = 16 ; 8 + 4; 1 i 4 3 2 1 0 bi 0 1 0 1 1 i 1 b1 1 0 b1 = f (b ) = ? 6= f 0(b ) . . . konen automat b ! 0 ! 0 & nic 1 ! b1 & bi + 1 := bi + 1 + 1 ::: b bi ; 1 0 1 0 1 Q0 0 ;1 Q0 Q1 ) 0 i i i i i i i Q1 1 0 Q0 Q1 po ten stav: Q0 NLP2000/01 Aritmetika 3.8.1999 c A. Pluhek z=2 1 Boothova metoda slice: 0, 1 a ;1 | tzv. relativn slice konvence: b1 = ;1 (obecn: ba = ;a) abs. hodn.: nezporn sla + ; ; + 14 Nsoben sel v doplkovm kdu jA Bj = jAj jBj + ; + ; A A+A A+A+A Nsoben v doplkovm kdu | 1 Nsoben sel v pmm kdu absolutn hodnota: + + ; ; .. . 0 ? dvojkov ! destkov nsobika ? Nsoben v pmm kdu znamnko: = = = = (UPS8 { 1) 15 15.10.1995 c A. Pluhek NLP2000/01 Aritmetika : : : stav Q0 : : : stav Q1 bi 0 1 0 ;1 1 1 0 b;1 = 0 16 25.10.1995 c A. Pluhek Nsoben v doplkovm kdu | 2 Nsoben sel v doplkovm kdu Nsoben v doplkovm kdu | 3 1 | II. D(B) = P bDi 2i modul: Y i =0 ozname: Bb slo zskan pevodem obrazu D(B ) A bD = 1 ) B < 0 automat skon ve stavu Q1 ) ) nepietla se 1 v du +1 ) Bb = D(B) ; Y = Y + B ; Y ) Bb = B P.: cel sla | 4 bity B = ;5 = ;1012 D(B) = 1011 Bb = b110b1 = ;8 + 4 ; 1 = ;5 B bD = 0 ) B 0 automat skon ve stavu Q0 ) ) Bb = D(B) = B ) Bb = B NLP2000/01 Aritmetika 17 25.10.1995 c A. Pluhek Nsoben sel v doplkovm kdu P.: A = ;112 B = ;0102 A B =1102 D(A) =101 D(B) =110 D0 (A B) =000 110 B = ;010 = 0b10 1 1 1 1 0 1 0 b1 0 000000 000000 0 000000 b1 00010 negace 1 hork 1 00011 0000 0 0001 pouit 4bitov staky 1 1 0 1 0 b1 0 0000 0000 0 00000 b1 0010 negace 1 hork 1 00011 0000 0 0001 NLP2000/01 Nsoben v doplkovm kdu | 4 Nsoben sel v doplkovm kdu 1 | p. Aritmetika 18 23.10.1995 c A. Pluhek Nsoben v doplkovm kdu | 5 1 | schma Nsoben sel v doplkovm kdu 2 2 jin zpsob: D(B) = P bDi 2i = B0 + B00, i =0 ;1 kde B0 = bD 2 a B00 = P bDi 2i i =0 0 ;! b10 0 pevede se pouze B 0 = 10 00 0 ;! 00 0 Tedy: Prvn bit D(B ) zleva (tzn. bD ) m opanou v hu, tzn. v hu ;2 (nikoliv v hu +2 ). Zvr: NLP2000/01 Aritmetika 19 25.10.1995 c A. Pluhek jako nez porn sla, ale v poslednm kroku odt n (0 nebo 1nsobku) msto pit n. P.: A = ;112 B = ;0102 A B =1102 D(A) =101 D(B) =110 ;! b110 1101110 0000 + 0000 0 00000 + 1101 1 11101 znam. rozen b1 negace ;0010 1 hork 1 0001 NLP2000/01 Aritmetika 20 25.10.1995 c A. Pluhek Dlen | 1 Dlen | 2 Dlen A=B = ? Dlen | nez porn dvojkov lbitov sla < 1 B 6= 0 !!! nez porn sla | dvojkov soustava Z = 1 ) A < 1 B < 1 I. | s n vratem pes nulu | bez n vratu pes nulu (UPS8 { 2) (UPS8 { 3) sch. " = 1 ) cel sla AB = ? A%B = ? 1 N hrada dlitele: B B z k = B<<k , kde k je max. takov slo, e: B zk A nebo B<<k nelze provst 0!C & k+1 krok# podle I. zbytek := zbytek >>k p. 1 2 $dlouh% registr pro dlence A: dlenec A: l bit# dlitel B : k bit# dlka registru A: l + k p. 2 II. NLP2000/01 Aritmetika 21 8.10.1996 c A. Pluhek ' NLP2000/01 1 p. 1a pozorov n 111 : 011 ) B << k = 110 ) k=1 ) ) 2 kroky A= 111 B= 110 0 1 1 1 ; 1 0 0 1 negace 1 hork 1 10001 + ) 1 ### 0010 ; 1001 1 01100 ; ) 0 ### 0 1 0 0 N 0 1 1 0 nvrat 01010 ### 010 0 1 , 0 | zbytek 1 0 | pod l Aritmetika 22 25.10.1995 c A. Pluhek Dlen | 4 dlen celch sel NLP2000/01 podl . . . C zbytek . . . A Aritmetika Dlen | 3 A = 111 B = 011 l+1 (pop. l+2) takt# 1. takt 0 | 1 dal takty 1 1 0 n vrat 0 0 0 23 30.9.1997 c A. Pluhek dlen celch sel A = 111 B = 011 A= 111 ### 0 1 1 1 ; 1001 1 10001 ### A:= 0 0 1 ... 0010 ; 1001 1 01100 ### A:= 1 0 0 ### 0 1 0 0 N 0110 0 1 0 1 0 ### 010 0 1 ,0 NLP2000/01 1 p. 1b ) B << k = 110 ) k=1 B= 110 ) ) 2 kroky negace hork 1 + ) 1 ; ) 0 nvrat | zbytek Aritmetika 1 0 | pod l 24 8.10.1996 c A. Pluhek Dlen | 5 Dlen | 6 dlen celch sel 2 p. 2a pozorov n 111 : 011 ; 0 + ; N 000111 1 1 0 0 : : 1 : : 1110 : : #### : 1101 : 0 0 1 1 : 100001 #### 0001 1 1 0 0 1 01110 0011 10001 001 NLP2000/01 A = 111 ; 0 : 0 011 negace hork 1 ; ) 0 + + ) 1 ; 1 0 N ; )0 nvrat | zbytek Aritmetika 0 1 0 | pod l 25 30.9.1997 c A. Pluhek Dlen | 7 dlen celch sel ' 1. takt 1 0 | 1 dal takty 1 0 1 0 n vrat 0 1 0 0 NLP2000/01 dlen celch sel Aritmetika 2 l (pop. l+1) takt# podl . . . ni dy A zbytek . . . vy dy A 27 24.10.1995 c A. Pluhek 1 2 p. 2b B = 011 000111 : 0011 1 1 0 0 : : negace 1 : : hork 1 1110 : : ;)0 ...... 11011? 0 0 1 1 : : 00001 : +) 1 ...... 0001?? 1 1 0 0 : : 1 : : 1110 : : ;) 0 ...... 110??? 0 1 1 0 : : nvrat 001? : : ###### 001??? 0 0 1 | zbytek 0 1 0 | pod l NLP2000/01 Aritmetika 26 8.10.1996 c A. Pluhek Bezpenostn kdy | 1 Bezpenostn kdy | 2 BEZPENOSTN KDY chyby ? a - pam, cesta, jednotka, - d= ? d 6= a d=a KANL modely kanl (charakter chyb): kanl symetrick: pravd(0!1)=pravd(1!0) nesymetrick: 6= s vmazem kanl bez pamti | nezvisl chyby s pamt | shluky chyb 9 8 P.: a = 1110 1111> >3 chyby nebo d = 1011 0111= <1 shluk dlky 4 anebo # ## > > : 0101 1000 2 shluky dlky 1 a 2 ad NLP2000/01 B. k. 1 kodr dekodr emn am cm bm ? dm k K n KANL n D k m m s -syndrom 19.11.1995 c A. Pluh ek a = (a1 . . . ak ) ..b = (b1 . . . bn) slovo, vektor, znak, . . . . ( ( kdov, ppustn, slova nekdov, nebo znaky neppustn. ozn.: B = fkdov slovag kd K : a!b !!! nkdy pouze B !!! P.: b a K K 1 2 00 000 111 01 011 001 10 101 010 11 110 100 NLP2000/01 B. k. 3 00000 01011 10101 11110 2 K 3.8.1999 c A. Pluh ek Bezpenostn kdy | 3 Bezpenostn kdy | 4 dvojkov kd: bi 2 f0 1g blokov kd (n,k) | ureno n a k 9 k informan (rozhodovac) obsah, > = shannon mra informace, informan entropie> (nespr. bit) m = n ; k redundance, nadbytenost 9 k=n norma kdu, penosov rychlost, > = pomrn (relativn) mra informace> % m=n pomrn (relativn)(redundance informan st systematick kd: slovo kontroln st nap. K1 , K3 | syst. K2 | nesyst. chyby: vektor chyb e = b c c = b e () b = c e zjiovn chyb: c 62 B oprava chyb: c nahradit nejpodobnjm b P.: K3 c = 1 0 1 1 1 62 f g b = 1 0 1 0 1 = =) d=10 e = 00010 detekn kd | detekce (zjitn) chyb samoopravn kd | korekce (oprava) chyb bezpenostn kd | detekn / samoopravn kd Hammingova vzdlenost: 1 slov b' a b": vzd(b',b") | poet odlinch bit NLP2000/01 B. k. 3 19.11.1995 c A. Pluh ek P.: 2 3 3 4 4 3 3 3 K kdu | kdov vzdlenost | kvzd = min vzd(b',b") nap. pro K3 : kvzd= 3 vha slova | poet jedniek P.: NLP2000/01 3 K 0 3 3 4 vzd(b',b") = vha(b'b") B. k. 4 22.11.1995 c A. Pluh ek Bezpenostn kdy | 5 Bezpenostn kdy | 6 geometrick interpretace vzdlenosti: dch < kvzd detekce: dch . . . detekovateln chyby dch + och < kvzd oprava: och . . . opraviteln chyby och dch P.: kvzd= 4 dch 3 2 D | detekce och 0 1 (bez korekce) 1 ch. 2 ch. 3 ch. 4 ch. K K | korekce D N | nic # # | patn korekce N D D D N kvzd SED j j # j j D etecting j # C orrecting # E rror S ingle D ouble T riple Q uadruple NLP2000/01 B. k. 5 21.11.2000 c A. Pluh ek NLP2000/01 2 3 4 .. . 6 B. k. Bezpenostn kdy | 7 24.11.1995 c A. Pluh ek jeden Hammingv kd | 1 Jednoduch bezpenostn kdy opakovac kd (n, 1): 1 b 1 = . . . = b n = a1 kvzd = n velk redundance =) mal informan obsah jeden Hammingv kd 2 koktav kd (jk, k): jkrt se opakuje tot$ (k bit) velk redundance =) mal informan obsah 3 parita (k+1, k): b = (a(1 . . . ak , p) sud: p = a a parita lich: p = a1 ak 1 1 k minimln redundance pouze detekce 1 chyby kvzd = 3 = b1 b2 b3 a1 a2 a3 B. k. 7 4.5.1998 c A. Pluh ek | kd (7,4) p1 = a1 a2 a4 p2 = a1 a3 a4 p3 = a2 a3 a4 ) 4 p n a podln parita: P.: k = 4 = 22 a1 a2 p1 a1 a2 p1 a3 a4 p2 a3 a4 p2 p3 p4 p3 p4 p5 kvzd = 3 kvzd = 4 kd (8,4) kd (9,4) NLP2000/01 SED SEC nebo DED SEC-DED nebo TED SEC (nebo DED) b4 a4 b5 p1 b6 p2 b7 p3 b1 b2 b3 b4 b5 b6 b7 p1 p2 a1 p3 a2 a3 a4 x NLP2000/01 x B. k. x x x x x 8 x x x x x 28.11.1995 c A. Pluh ek jeden Hammingv kd | 2 b1 = a1 b2 = a1 b3 = a1 b4 = a2 b5 = a2 b6 = a3 b7 = a4 b1 = b3 b2 = b3 b4 = b5 $dn chyba = ci = bi nap.: c1 = c3 c5 c7 = c1 c3 c5 c7 = 0 jeden Hammingv kd | 3 a2 a4 a3 a4 a3 a4 b=a G 01 1 1 0 0 0 01 B 1 0 0 1 1 0 0 CC G=B @0 1 0 1 0 1 0A 1 1 0 1 0 0 1 generovac matice b5 b7 b6 b7 b6 b7 s = c HT 00 0 0 1 1 1 11 H=@ 0 1 1 0 0 1 1 A ) ) 1 0 1 0 1 0 1 kontroln matice e 0000000 1000000 .. . 0000010 0000001 s3 = c1 c3 c5 c7 s2 = c2 c3 c6 c7 s1 = c4 c5 c6 c7 NLP2000/01 B. k. 9 s 000 001 .. . 110 111 28.11.1995 c A. Pluh ek M vbec smysl pou$vat bezpenostn kdy ??? .. . SED: SEC: .. . polovina chyb ??? n n. z 2 ; 1 chyb ??? .. ??? Pravdpodobnost: P . . . pravdpodobnost vskytu bitu ;n chybnho i n;i n bit i chybnch: P ( 1 ; P) i P jinak: P.: P = 10;9 32b / 1sec njak chyba: 32 10;9 ... 31 sec SED (33,32): njak chyba: 33 10;9 sud poet chyb: 5,3 10;16 . . . 61,3 rok SEC (38,32): njak chyba: 38 10;9 neopraviteln chyba: 7 10;16 . . . 46,0 rok NLP2000/01 B. k. 11 25.11.1995 c A. Pluh ek *dky ka$d z matic tvo bzi tzv. vektorovho neboli linernho prostoru. domc kol: Najdte generovac a kontroln matici pro dve uveden kdy! Pro lichou paritu a pro kd K2 by se Vm to vak nemlo podait. NLP2000/01 B. k. 10 18.9.1998 c A. Pluh ek linern kdy | 1 linern kdy | 2 skalrn souin vektor u a v: (u1 . . . un ) (v1 . . . vn) = u1 v1 + + un vn p: 01011 11101 = 0+1+0+0+1 = 0 ortogonln vektory: u ? v , u v = 0 p: 01011 ? 11101 vektorov / linern prostor mnoina vech slov dvojkovho blokovho kdu & operace: vektorov neboli linern prostor V se skalrn m souinem nad tlesem GT(2) Galoisovo (konen) 2prvkov tleso GT(2) 0 1 + 0 1 eld] 0 0 1 0 0 0 1 1 0 1 0 1 XOR AND x+t=y , x=y+t =) odtn stn t 2 GT(2) skalr v = (v1 . . . vn ) 2 V vektor operace: souet vektor | Abelova (komutativn) grupa nsoben vektoru skalrem: 0 v = 0 Podprostor W prostoru V : uzavenost Podprostor W je sm prostorem. Vechny linern kombinace vektor u : : : v tvo vektorov (linern) prostor. Vektory linern nezvisl =) bze (prostoru) Stejn poet vektor kad bze ! dimenze f0,1g ortogonln doplnk U k prostoru V : U ?V u 2 U () (8u 2 U ) (8v 2 V ) u?v U je prostor, tzv. nulov prostor prostoru V U ?V 1v = v asociativn zkon: (s t) v = s (t v) distributivn zkony: (s + t) v = s v + t v t (u + v) = t u + t v NLP2000/01 Lin. k. 1 18.9.1998 c A. Pluh ek () NLP2000/01 Lin. k. b = a G = a1 g1 ak gk gi = it dek G b = lin. komb. g1 : : : gk vechna b = a G ! linern prostor bze: g1 : : : gk dky G lin. nezvisl (Pro?) G ! prostor V H ! prostor U (= V ?U dky H lin. nezvisl (Pro?) G HT = 0 =) m + k = n c 2 V () (8u 2 U ) c u = 0 c 2 V () c HT = 0 G: k n, H: m n 3 2 3.8.1999 c A. Pluh ek linern kdy | 4 Linern kdy kdov slova tvo linern prostor popis linern ch kd: matice grupov kdy | dvojkov (?) linern kdy Lin. k. V ?U ortogonalita prostor () ortogonalita bz v 2 V () (8u 2 U ) u?v linern kdy | 3 NLP2000/01 W V 23.11.1995 c A. Pluh ek b HT =a G HT =0 b=aG s = c HT c=b + e T s = e H =) syndrom zvis pouze na chyb chyba v pozic ch i iaj .. . sT e 0. . . 010. . . 0 i-t sloupecH + j -t 0. . . 010. . . 010. . . 0 i-t sloupecH .. .. . . = poet lin. nezvislch sloupc matice H dch kvzd 1 1 2 2 2 3 kvzd= + 1 3. .. 3. .. NLP2000/01 4. .. Lin. k. 4 25.11.1995 c A. Pluh ek linern kdy | 5 G = (Ik , F) H = (FT , Im ) linern kdy | 6 systematick kd Ij . . . jednotkov matice j j elementrn operace s dky: zmna dk piten linern kombinace jinch dk (nsoben dku nenulovm skalrem) G ! G' t mnoina kdovch slov H ! H' jin (vyhovuj c ) kontroln matice !!! syndromy maj jin vznam !!! G = H = ? H = G = ? Nelze-li *: NLP2000/01 elementrn operace + + ve uveden vztahy permutace sloupc nalezen matice opan permutace sloupc Lin. k. 5 Hammingv kd (7,4) | trochu jin 6.12.1995 c A. Pluh ek NLP2000/01 Lin. k. 6 linern kdy | 8 kodr dekodr 0 0 0 1 Lin. k. elemententrn operace: 1 + 2 ! 1' 3 + 1' ! 3' 2 + 3' ! 2' 00 1 1 1 1 0 01 H' = @ 1 0 1 1 0 1 0 A 1 1 0 1 0 0 1 01 0 0 0 0 1 11 B 0 1 0 0 1 0 1 CC G=B @0 0 1 0 1 1 0A 0 0 0 1 1 1 1 linern kdy | 7 01 0 0 0 B0 1 0 0 G=B @0 0 1 0 NLP2000/01 P.: oprava 1 chyby =) vzjemn rzn sloupce H: 00 0 0 1 1 1 11 H=@ 0 1 1 0 0 1 1 A 1 0 1 0 1 0 1 7 0 1 1 1 1 0 1 1 1 1 0 1 1 CC A 27.11.1995 c A. Pluh ek 24.11.1995 c A. Pluh ek 00 0 0 1 1 1 11 H=@ 0 1 1 0 0 1 1 A 1 0 1 0 1 0 1 NLP2000/01 Lin. k. 8 27.11.1995 c A. Pluh ek linern kdy | 9 Hammingovy kdy kdov vzdlenost: vzd(b',b") = vha(b' b") lin. kd =) b' b" je kdov slovo lin. kd =) kvzd = minim. vha 6= 0 lin. kd K | lich kdov vzdlenost lin. kd K | kd K + parita (sud) kvzd(K) = kvzd(K) + 1 P.: Hamm. k.: kvzd = 3 Hamm. k. + parita: kvzd = 4 # roz en Hammingv kd P.: NLP2000/01 p n a podln parita analogicky kvzd: 3 ! 4 Lin. k. 9 perfektn kdy SEC | vechny syndromy vyuity kvzd = 3 n = 2m ; 1 k = n ; m m 2 3 4 5 ... kd (3,1) (7,4) (15,11) (31,26) . . . odvozen kdy: men k =) n% nap. kdy (12,8), (21,16), (38,32), . . . rozen Hammingovy kdy kvaziperfektn kdy SEC{DED | vechny syndromy vyuity 00 0 0 0 1 1 1 11 P.: B 0 0 1 1 0 0 1 1 CC H=B @0 1 0 1 0 1 0 1A 1 1 1 1 1 1 1 1 s = x x x 1 =) 1 chyba s = x x x 0 =) 2 chyby (krom s = 0000) (dn chyba) obecn: kvzd = 4 n = 2m ; 1 k = n ; m m 3 4 5 6 ... kd (4,1) (8,4) (16,11) (32,26) . . . 6.12.1995 c A. Pluh ek NLP2000/01 Lin. k. 10 18.9.1998 c A. Pluh ek Kdy RM | 1 Kdy RM | 2 kdy RM (Reed { Muller) parametry: a jlenn logick souiny promnnch (pomocnch) P.: =3 j souiny 0G 0 1 1 1 1 1 1 1 1 1 10000 1111 1G 0 0 1 1 0 0 1 1 0101 0101 # 20000 0011 2G 0 0 0 0 0 1 0 1 # 0 0 0 1 0 0 0 1 # 3G 3 0 0 0 0 0 0 0 1 # G 0 1 2 0 00G1 0 G 1 G @1 G A G 2G P.: kvzd = 2 ; n = 2 k = poet dk G NLP2000/01 Lin. k. 11 9.11.2000 c A. Pluh ek NLP2000/01 RM (1, 3) = 3, = 1, kvzd = 4 n = 8, k = 4, kd (8,4) | SEC-DED 01 1 1 1 1 1 1 11 B 0 0 0 0 1 1 1 1 CC G=B @0 0 1 1 0 0 1 1A 0 1 0 1 0 1 0 1 b1 = a1 b2 = a1 + a4 b3 = a1 + a3 b4 = a1 + a3 + a4 b5 = a1 + a2 b6 = a1 + a2 + a4 b7 = a1 + a2 + a3 b8 = a1 + a2 + a3 + a4 a4 = b1 + b2 = b3 + b4 = = b5 + b6 = b7 + b8 a3 = b1 + b3 = b2 + b4 = = b5 + b7 = b6 + b8 a2 = b1 + b5 = b2 + b6 = = b3 + b7 = b4 + b8 Lin. k. Kdy RM | 3 P.: a = (a1 a2 a3 a4 ) = (0a1 a), kde 0 a = (a ) a 1 a = (a a a ) 1 2 3 4 b = a G = ( a a) b = 0a 0G = b 0 0G 1 ; 1 0 a 1G 00 b = (b1 b2 : : : b8 ) = a1 (11. . . 1) b = (b1 b2 : : : b8 ) = (a1 a1 : : : a1 ) 0 0 0 0 0 0 0 0 a1 = b1 = b2 = 0 NLP2000/01 0 Lin. k. = b8 0 13 8.11.2000 c A. Pluh ek =2 0 0G 1 b = a G = (0 a1 a2 a) @ 1 G A = 2G 0 1 1 2 2 0 = a G+ a G+ a G 1. Urit 2 a. 2. Urit b = b 3. Urit 1 a. 4. Urit b = b 5. Urit 0 a = a1 . = 0a 0 G +1 a 1 G G 12 Kdy RM | 4 pklad { pokraovn 0 1 1 1 2 1 2 3 8.11.2000 c A. Pluh ek NLP2000/01 ; ; 0 a 2 G. 2 a 1 G. 1 Nkter kdy RM 4 5 5 6 6 6 Lin. k. n 16 32 32 64 64 64 k 5 6 16 7 22 42 14 m 11 26 16 57 42 22 kvzd 8 16 8 32 16 8 9.11.2000 c A. Pluh ek Kdy BCH | 1 Kdy BCH | 2 Kdy BCH Konen (Galoisova) tlesa P.: Pro kad prvo slo p a pro kad pirozen j > 0 existuje prv jedno konen tleso GT(pj ), kter m pj prvk. !!! Jin konen tlesa neexistuj . P.: GT(4) = GT(22 ) } ~ | nap.: } ... ~ ... }~| | }}}}} | ~}~| }~ |}|~ ~} }~| | + ~ = nebo | ~ = | nula (} = 0) jednika (~ = 1) ~ } | NLP2000/01 i 0 1 2 3 00 Lin. k. 15 8.11.2000 c A. Pluh ek 00 P.: GT(16) = GT(24 ) V kadm konenm tlese existuje primitivn prvek , tzn. takov prvek , e (8 6= 0) (9i) = i P.: = | = 1 |=| =| = 1 = = |2 = | | | = 2 = ~ = |3 = | | | ~ = 3 = 0 00 01 10 11 00 00 01 10 11 00 00 00 00 00 01 01 00 11 10 01 00 01 10 11 10 10 11 00 01 10 00 10 11 01 11 11 10 01 00 11 00 11 01 10 = 10 = (lze vak pout tak =11) 1 = 10 2 = 11 3 = 01 = 0 S tn : XOR nap.: 10+11=01 Nsoben : i j = i + j , nap. 10 11 = 1 2 = 3 = 0 = = 01 NLP2000/01 i 0001 0010 0100 1000 i 4 5 6 7 Lin. k. Kdy BCH | 3 (Bose { Chaudhuri { Hoquenghem) (zjednodueno) kdy (n,k) pro opravu t chyb (tj. kd t EC) n = 2 ; 1 a m = n ; k je primitivn prvek tlesa GT(2m ) H = 1 2 n kvzd = 3 . . . SEC 3 6 2 3nn kvzd = 5 . . . DEC H= 1 0 5 10 5n 1 H = @ 3 6 3n A kvzd = 7 . . . TEC 1 2 n .. . P.: n = 31 =) GT(32) =) 5bitov prvky kvzd = 3 =) m = 5 =) kd (31,26) kvzd = 5 =) m = 10 =) kd (31,21) atd. P.: 17 i 0011 0110 1100 1011 8 9 10 11 i 0101 1010 0111 1110 16 i 12 13 14 15 i 1111 1101 1001 0001 8.11.2000 c A. Pluh ek 8.11.2000 c A. Pluh ek 01 1 1 1 BB 0 1 0 1 BB 0 0 1 1 B0 0 0 1 H=B BB 0 0 1 0 BB 0 1 0 0 @ kd(15,7) 0111 0010 0001 1000 0110 1101 1001 1010 0001 0011 Rozen kdy BCH parita nav c 6 8 10 12 14 16 22 24 28 32 NLP2000/01 1011 1001 1000 1100 1011 0111 1111 0101 1 1 01 0 1 0C CC 1 1 0C 0 1 1C C 1 1 0C C 1 0 0C C 0 0 0A 111 oprava t chyb detekce t+1 chyb (srov. rozen Hammingv kd) Nkter rozen kdy BCH ) kvzd n Pozn.: Uveden kdov vzdlenost je tzv. zaruen. Skuten kdov vzdlenost me bt vt . Lin. k. i Kdy BCH | 4 kdy BCH NLP2000/01 0 +}~| } ~ | + 00 01 10 11 k n 16 7 32 16 5 (!) 32 Lin. k. k n 64 64 64 32 11 (!) 64 64 32 6 (!) 64 64 64 64 64 18 21 16 k 51 45 39 36 (!) 30 (!) 24 (!) 18 (!) 16 (!) 10 (!) 7 (!) 10.11.2000 c A. Pluh ek Mnoholeny nad tlesem GT(2) | 1 Mnoholeny nad tlesem GT(2) | 2 Nsoben mnoholen Kdy a mnoholeny mnoholeny nad tlesem GT(2): C (x) = cn;1xn;1 + + c1x + c0 ci 2 GT(2) x 2 ? !!! P.: Mnoholeny stupn < n: vektorov/linern prostor (bez skalrnho souinu) izomorfn s prostorem uspodanch ntic: cn;1xn;1 + + c0 (cn;1 : : : c0) p.: n=7 x5+ x3 + x + 1 0101011 izomore | jen: souet & nsoben skalrem P.: B (x) = G(x)A(x) = (x3+x+1) (x3+x) 1x6+0x5+1x4+1x3 G(x)x3 5 4 3 2 0x +0x +0x +0x G(x)0 4 3 2 1x +0x +1x +1x G(x)x 0x3+0x2+0x+0 G(x)0 1x6+0x5+0x4+1x3+1x2+1x+0 = B (x) zkrcen zpis: 1 0 1 1 1 0 1 0 1011 0000 1011 0000 1001110 b=ga (zde neoznauje skalrn souin!) Mnoholeny: nsoben a dlen mnoholen | obv. postup analogie s okruhem celch sel | dlitelnost NLP2002/3 Cykl. k. 1 15.11.2000 c A. Pluhek NLP2002/3 Mnoholeny nad tlesem GT(2) | 3 + zbytek C (x) % G(x) = x+1 podl C (x) G(x) = x3+x+1 zkrcen zpis: 6 5 4 3 2 1 0 C (x) 1000110 G(x) 1011 C (x) % G(x) 1011 C (x) G(x) 011 NLP2002/3 Cykl. k. 3 2 20.11.2002 c A. Pluhek Mnoholeny nad tlesem GT(2) | 4 Dlen mnoholen P.: C (x) = x6+x2+x G(x) = x3+x+1 1x6+0x5+0x4+0x3+1x2+1x+0 =) 1x6+0x5+1x4+1x3 0x5+1x4+1x3+1x2 =) 5 4 3 2 + + + 0x 0x 0x 0x 1x4+1x3+1x2+1x =) 1x4+0x3+1x2+1x 1x3+0x2+0x+0 =) 1x3+0x2+1x+1 0x2+1x+1 Cykl. k. Dlen mnoholen P.: 1x3 - C (x) : G(x) C (x) = x6+x2+x = c6 x6 + + c0 G(x) = x3+x+1 = g3 x3 + + g0 1000 1011 0 0 1 1 000 0 1 1 10 0 1 1 0x2 - 1x 1 - + 0 2 1 1 0:1011=1011 #jj 1 j j 0#j 11j 11# 000 011 011 ( 20.11.2002 c A. Pluhek NLP2002/3 Cykl. k. 4 20.11.2002 c A. Pluhek Kdy generovan mnoholenem | 1 Mnoholeny nad tlesem GT(2) | 5 Dlitelnost mnoholen deg P (x) | stupe mnoholenu P (x) deg 0 = ;1 deg (P (x)G(x)) = deg P (x) + deg G(x) G(x) 6= 0 deg (P (x)%G(x)) < deg G(x) deg (P (x)G(x)) = deg P (x) ; deg G(x) P (x)%G(x) = 0 () G(x) j P (x) 6= Kdy generovan mnoholenem (?) () G(x) 6 j P (x) G(x) j P (x) () 9Y (x) P (x) = G(x)Y (x) G(x) je dlitelem P (x) nerozloiteln (ireducibiln) mnoholen P (x): nem jin dlitele ne 1 a P (x) pro GT(2)! obdoba prvosel rozklad na prvoinitele je jednoznan prvoinitel = nerozloiteln mnoholen P.: x7 + 1 = (x3+x2+1) (x3+x+1) (x+1) NLP2002/3 Cykl. k. 5 19.3.1998 c A. Pluhek G(x) = xm + gm;1xm;1 + . . . + g1x + 1 m = deg G(x) > 0 G(x) . . . generovac mnoholen A(x) a . . . k bit =) k;1 deg A(x) B(x) = A(x) G(x) B(x) b . . . n bit =) n;1 deg B(x) n=k+m m = deg G(x) . . . redundance P.: G(x) = x3+x+1 a = 0101 b = 010 0111 (viz p. na nsoben mnoholen) Pozorovn: x j G(x) =) B (x) = B (x) x =) b = x. . . x0 Zvr: mus platit x 6 j G(x) 0 NLP2002/3 Kdy generovan mnoholenem | 2 Pozorovn: A(x) = ak;1 xk;1 + + a0 A(x) G(x) = ak;1 G(x) xk;1+. . . +a0 G(x) G(x) xk;1, . . . , G(x) | linern nezvisl | bze linernho prostoru A(x) G(x) | v"echny linern kombinace Zvr: P.: K#d generovan mnoholenem je linern 0 B G= B B@ gm gm;1 . .. 0 1 0 gm . .. 0 C CC .. .. . . ... A 0 0 . .. g0 G(x) =0 x3+x+1 1 1 0 1 1 0 0 0 G= B @0 1 0 1 1 0 0C A 0 0 1 0 1 1 0 0 0 0 1 0 1 1 kol: Ovte, e kdy generovan mnoholenem G(x) a matic G jsou stejn. Najdte kontroln matici H a vimnte si, e je to matice Hammingova kdu (7,4). NLP2002/3 Cykl. k. 7 4.5.1998 c A. Pluhek 6 Cykl. k. 13.11.2000 c A. Pluhek Kdy generovan mnoholenem | 3 B(x) b . . . vyslan slovo C (x) c . . . pijat slovo E(x) e . . . chybov mnoholen C (x) = B(x) + E(x) S(x) = C (x) % G(x) . . . syndrom B(x) % G(x) = 0 S(x) = E(x) % G(x) syndrom zvis pouze na chybch E(x) = E (x) xj x 6 j E (x) E(x) . . . shluk chyb d lky l = (deg E (x))+1 P.: E (x) 0101100 . . . shluk chyb d lky 4 E (x) 01011 j = 2 deg E (x) = 3 detekce chyb: S (x) = E (x) % G(x) = 0 ? x 6 j G(x) =) xj nem vliv E (x) % G(x) = 0 ? E (x) = 6 0 & deg E (x) < deg G(x) =) =) E (x) % G(x) = 6 0, tedy: detekce shluk chyb d lky l m = deg G(x) P.: G(x) = x16+1 =) l 16 0 0 0 0 0 0 0 0 0 NLP2002/3 Cykl. k. 8 19.3.1998 c A. Pluhek Cyklick kdy | 1 Cyklick kdy | 2 Cyklick kdy (1) linern k#dy (2) cyklick posuv k#dov ho slova ! k#dov slovo P.: K1 | cyklick (viz B. k. 2) K2 | nespluje (1) K3 | nespluje (2) dle pedp.: G(x) j (xn ; 1), tzn.: G(x) H (x) = xn ; 1 9H (x) H (x) | kontroln mnoholen (m podstatn men vznam ne kontroln matice) Pozorovn: B(x) = bn;1 xn;1 + + b0 = G(x) A(x) cykl. pos. vlevo: B (x) = B(x) x ; bn;1 xn + bn;1 = = B (x) x ; bn;1 (xn ; 1) = = A(x) G(x) x ; bn;1 G(x) H (x) = = %A(x) x + bn;1 H (x)] G(x) Zvr: Mnoholen G(x) generuje cyklick k#d P.: G(x) = x3+x+1 G(x) j (x7 ; 1) k#d (7,4) generovan G(x) je cyklick K | cyklick k#d =) 9 K': k#dy K a K': stejn mnoina k#dovch slov k#d K': generovn mnoholenem G(x) G(x) =6 0 . . . nejni" stupe P.: k#d K1 je cyklick (viz B. k. 2) k#d K1 ': G(x) = x + 1 t mnoina k#dovch slov: f 000, 011, 101, 110 g 0 NLP2002/3 Cykl. k. 9 18.11.2000 c A. Pluhek Cykl. k. 10 13.11.2000 c A. Pluhek Cyklick kdy | 3 Cyklick kdy | 4 Systematick cyklick kdy Nkter cyklick kdy: B(x) = A(x) G(x) | k#d nen systematick (existuj vjimky) Systematick k#d: B(x) = A(x) xm + A(x) xm%G(x) , kde m = deg G(x) P.: G(x) = x3+x+1 A(x) 0101 3 A(x) x 0101 000 3 A(x) x % G(x) 100 B(x) 0101 100 !!! Mnoina k#dovch slov je u obou k#d stejn !!! NLP2002/3 NLP2002/3 Cykl. k. 11 15.11.2000 c A. Pluhek G(x) = x + 1 B(x) = G(x) A(x) x = 1 =) G(x) = G(1) = 0 =) B(x) = 0 =) B (x) = bn ; 1 + + b0 = 0 =) parita (sud) G(x) = xm + 1 xm 1 mod G(x) ... kongruence stejn zbytek po dlen C (x) = Cj (x) (xm)j + + C0(x) (xm)0 C (x) Cj (x) + + C0(x) mod G(x) =) pod ln parita mtic bit (sud) Hammingovy k#dy nap.: 3 G(x) = x + x + 1 k#d (7,4) G(x) = x4 + x + 1 k#d (15,11) G(x) = x5 + x2 + 1 k#d (31,26) BCH k#dy (viz linern kdy) RS k#dy Reed { Solomon Fireovy k#dy NLP2002/3 Cykl. k. 12 17.11.2000 c A. Pluhek Fireovy kdy | 1 Fireovy kdy | 2 d r mnoholenu P (x) je nejmen" takov r, e P (x) j (xr ; 1) P.: d x3+x+1 je roven 7 (ale stupe je roven 3) Fireovy kdy x ; 1 j x ; 1 () i j j shluky chyb E1 (x) a E2(x) E1(x) = E (x) x x 6 j E (x) E2(x) = E (x) x x 6 j E (x) deg E (x) + deg E (x) < q ji otzka: Kdy E1 (x) E2 (x) mod xq +1 vahy: E1(x) ; E2 (x) 0 mod xq +1 (E (x)+E (x) xj ; i ) xi 0 mod xq +1 xi neobsahuje prvoinitele xq +1 E (x)+E (x) xj ; i 0 mod xq +1 odpov*: Prv kdy E (x) = E (x) a q j j ; i E (x) = E (x) = E (x) deg E (x) < deg P (x) a P (x) m d r otzka: Kdy E (x) (xj ; i + 1) 0 mod P (x) odpov*: Prv kdy r j j ; i i j i 0 0 j 00 0 00 00 0 00 0 00 0 0 00 P (x) . . . nerozloiteln mnoholen du r Q(x) = xq+1 ! q a r nesoudln p = deg P (x) q = deg Q(x) n = NSN (q, r) nejmen spolen nsobek G(x) = P (x) Q(x) generovac mnoholen nbitov ho Fireova k#du ( q+1 l1 l2 l1 + ll2 1p detekce shluk chyb d lky l2 oprava shluk chyb d lky l1 - P.: 00 P (x) = x3+x+1 =) p=3 Q(x) = x5+1 =) q=5 n = 35 l1 = l2 = 3 nebo anebo NLP2002/3 Cykl. k. 13 18.11.2000 c A. Pluhek NLP2002/3 l1 l1 =2 =1 l2 l2 =4 =5 14 Cykl. k. r=7 q6jp 18.11.2000 c A. Pluhek Fireovy kdy | 3 Oprava shluku chyb Prodlouen Fireovy kdy Msto jednoho mnoholenu P (x) se pouije nkolik mnoholen P 1(x), P 2(x), . . . D lka k#dov ho slova: n = NSN (q, r1, r2, . . . ), kde r1, r2, . . . jsou dy P 1(x), P 2(x), . . . P.: P 1(x) = x11+x7+x6+x+1 P 2(x) = x12+x11+ +x+1 P 3(x) = x11+x9+x7+x6+x5+x+1 Q(x) = x22+1 G(x) = P 1(x) P 2(x) P 3(x) Q(x) k#d (558 442, 558 386), tzn. m=56 shluky d lky 11 (princip Meggittova dekod ru) cyklick k#d: 9H (x) G(x) H (x) = xn + 1 xn = G(x) H (x) + 1 syndrom: S(x) = E(x) % G(x) shluk chyb: E (x) = E (x) xj x 6 j E (x) n ; j E(x) x = E (x) xn E(x) xn;j = E (x) G(x) H (x) + + E (x) n ; j E(x) x E (x) mod G(x) S(x) xn;j E (x) mod G(x) deg E (x) deg G(x) E (x) = (S(x) xn;j ) % G(x) 0 0 0 0 0 0 0 0 0 oprava: Pot se S (x), S (x) x, S (x) x2 , atd., dokud nen vsledkem mnoholen, kter pslu" opraviteln chyb. Vsledn mnoholen je roven E (x) a poet provedench krok uruje hodnotu j. 0 NLP2002/3 Cykl. k. 15 18.11.2000 c A. Pluhek NLP2002/3 Cykl. k. 16 18.11.2000 c A. Pluhek !"# "!"# !"# $ "!"# % ) * &'( $ &'( )* &'( ! "#$ ÆÄȾ¼¼¾»¿ ÆÄȾ¼¼¾»¿ / - 0 + , -. , -. , / + 0+ ÆÄȾ¼¼¾»¿ ÆÄȾ¼¼¾»¿ ! $ / - 0+ 1 - , -. , 2 - + - 0 $ , 1 33 424 $ % + - 0 "!& ' "#$ ! &% 0 "(& ' "#$ ( &% - . - + - $5 - $ , 1 -3 $ - ÆÄȾ¼¼¾»¿ ÆÄȾ¼¼¾»¿ #$%& " 678 679 67/ . . . 1 79 7/ . . . 1 -. $5 , , $ , , , ÆÄȾ¼¼¾»¿ ÆÄȾ¼¼¾»¿ ' " #$%& #$%& ! %$ )* +# ÆÄȾ¼¼¾»¿ ' " ÆÄȾ¼¼¾»¿ ' " #$%& #$%& " $ !"# + 0 0 0 . 1 : 1 : ,-./ ,, + ,-./ 0 # ) ,, 0 # ÆÄȾ¼¼¾»¿ ' " ÆÄȾ¼¼¾»¿ %$%& %$%& $+ 1 ;;; ;;; < 8 < 8 < 8 ' ' 9 < 8 < 8 ! ' 9 < 8 6 6 9 ! 8 ' 9 2 8 6 9 ' 9 ' 2 6 9 ' 8 2 2 6 9 ÆÄȾ¼¼¾»¿ 8 8 8 8 ! 8 ' 9 ! 8 ÆÄȾ¼¼¾»¿ %$%& ! ' %$%& %$ )* +# , - + , 3 ÆÄȾ¼¼¾»¿ ÆÄȾ¼¼¾»¿ ( ) ( ) ,4 5 #46 0 +7 8 ÆÄȾ¼¼¾»¿ " ÆÄȾ¼¼¾»¿ ( ) ! 7+ 1 $ $ 9 9 9 : - 8 8 8 : 9 / D E / < F < < D < < F < 9 F 9 9 < 8 F < 9 9 F 9 E < < < F < 8 < F < 8 8 F F 9 9 9 F 8 9 9 F 8 9 8 8 F 8 9 8 9 F 9 9 F 9 9 8 8 F 9 9 F 9 8 8 8 F 8 8 8 8 F 8 8 8 F 9 9 9 F F 8 8 < 9 F 8 9 0+ 9 / D ÆÄȾ¼¼¾»¿ " F 8 < < .% &- 0 *# 9 F < < < = :>:4 : ? ( ) @ A BC ) + 9 9 .+ ? - $ , G - . 8 / D E ' " ÆÄȾ¼¼¾»¿ ! ( ) " ( ) !+ #46 #9# 4# +$ 5 ÆÄȾ¼¼¾»¿ H9 !" ( ) ' !+ #46 !"# "!"# &$ - 3 $ :&-; 0 )) )* 75< # )9 )) +=$ >$ I AB Æ "!"# K $ $ :&-; 0 ) 4 >* >$ Æ )3 * AB 75< ÆÄȾ¼¼¾»¿ ?@A 0 B+* :&-; 9 @IJ C @ C AB $ $ 5 '? ÆÄȾ¼¼¾»¿ PRINCIPY LOKALIT Lokality dat asov lokalita temporal locality] Jsou-li pouita njak data, d se oekvat, e t data budou brzy pouita znovu. Prostorov lokalita spatial locality] Jsou-li pouita njak data, d se oekvat, e brzy budou pouita data uloen na blzk adrese. Lokality instrukc asov lokalita temporal locality] Je-li pouita njak instrukce, d se oekvat, e t instrukce bude brzy pouita znovu. Prostorov lokalita spatial locality] Je-li pouita njak instrukce, d se oekvat, e brzy bude pouita instrukce uloen na blzk adrese. NLP2000/01 Cache 1 2.12.2000 c A. P. skryt pam cache | 1 skryt pam cache | 2 Skryt pam !!! cache ] (Rychl vyrovnvac pam) buer] Termn skryt pam nen bn pouvn !!! skryt pam: asociativn pam (CAM) HP . . . hlavn pam procesor HP ! ! ! SP SP .. . skryt pam data/instrukce 2 SP =) nete se z HP, ale ze SP SP vrazn rychlej ne HP (jinak to nem smysl) skryt pam: asociativn pam (CAM) kl: adresa v HP data: pslun bloky dat/instrukc nezapomenout na bit platnosti ! vyuv se princip asov lokality vt kapacita SP =) astji se te ze SP ! omezen stupe asociativity vyuv se princip prostorov lokality: netou se jednotliv slova/slabiky, ale bloky jako tag se pouij vy dy NLP2000/01 Cache 2 12.12.2000 c A. P. Pklad: HP: kapacita = 64KB = 216 B .. . 0FF0 F0F1 F2 F3 F4 F5 F6F7 00 01 02 03 04 05 06 07 1000 08090A0B0C0D0E0FFFFEFDFCEFEEEDED .. . SP: 4 adresy stupe asociativity = 2 d lka blok = 4 kapacita = 32B = 442 B 0 987 10 20 30 40 P 100 08 09 0A 0B P 0 1 100 0C 0D 0E 0F P 0FF 0C 0D 0E 0F P 0 2 000 11 22 33 44 N 321 FF FF FF FF N 1 3 100 EF EE ED ED P 0FF 04 05 06 07 P 0 100 EF EE ED ED P 0FF 04 05 06 07 P 0FF 6= P = . P 04 05 06 07 0 1 2 3 *** "ten obsahu pamov ho msta v HP na adrese 0FFE16 = 0000 1111 1111 11 10 2 0FF 3 2 NLP2000/01 Cache 3 12.12.2000 c A. P. skryt pam cache | 3 "TEN# koe$cient %spnosti u koe$cient vpadku bloku v = 1 ; u t . . . vybavovac doba SP T . . . vybavovac doba HP . . . prmrn vybavovac doba skryt pam cache | 4 hit ratio] miss ratio] s riov ten look-through] nejprve ten ze SP ne%spn ten ze SP =) ten z HP = t + v T = u t + v (t + T ) nezatuje zbyten sbrnice paraleln ten look-aside] souasn ten ze SP i z HP %spn ten ze SP =) zastav se ten z HP = ut + v T < t + v T rychlej ne s riov ten NLP2000/01 Cache 4 5.12.2000 c A. P. Konzistence (neboli koherence) dat (zejm. v multiprocesorovch syst mech) prbn zpis + zkaz ukldn urench dat (strnek) do SP prbn zpis + hldn sbrnice snooping] ! hlda watch dog] odloen zpis ???!!!??? protokol MESI . . . Modify Exclusive Shared Invalid Cache odloen copy-back] zpisy se provdj pouze do SP =) men zaten sbrnic =) rychlej zpis ??? konzistence dat v HP a ve SP ??? pznak modi$kace dirty, modied, write-into] (vedle bitu platnosti) present, valid] Ped pepsnm modi$kovan ho bloku v SP je teba tento blok uloit do HP. NLP2000/01 skryt pam cache | 5 zpis pmo pes vyrovnvac pam (buer) NLP2000/01 Z&PIS prbn write-through] kad zpis se provd do HP je zajitna konzistence dat v HP a ve SP allocate-write] s rezervac msta ten bloku z blok 62 SP =) + zpis dat doHPSPdo SP bez rezervace msta non-allocate-write] blok 62 SP =) data ze zap pouze do HP Budou-li tato teba, bude nutn ten z HP! 6 12.12.2000 c A. P. Cache 5 6.12.2000 c A. P. skryt pam cache | 6 (data + instrukce) ? 1 nebo 2 SP ? SP by mla bt transparetn, a proto: 1 SP . . . procesory von Neumanova typu 2 SP . . . procesory harvardsk ho typu (klasick ) Je vhodn vzt v %vahu: 1 SP . . . zajiuje trasparenci i pi pepisovn instrukc 2 SP . . . nemus bt stejn vyuvany ? 1 nebo 2 SP ? Hierarchie SP (jinak) motivace: vt kapacita () men rychlost procesor () SP1 () SP2 () () HP sbrnice zprav.: SP1 . . . prbn zpis write-through] SP2 . . . odloen zpis copy-back] NLP2000/01 Cache 7 12.12.2000 c A. P. Virtuln pam | 1 Virtuln pam | 2 Virtuln pam (VP) pomysln pam | vyuv se jako dn pam pamov msta jsou chvli tam { chvli jinde hlavn pam + vnj pam | adresovan jinak HP . . . hlavn pam motivace: zven kapacity pamti VP HP (ale podstatn vt kapacita) peadresovn (nein probl my) ochrana pamti (jedna z monost) typy: strnkovan segmentovan Segmentace nap. u 8086 reprezentuje zcela jin problm. !!! kombinovan p.: 80x86, kde x86 386 a je pouit tzv. (nikoliv tzv. reln) reim virt. a. ! segm ! lin. a. ! str ! fyz. a. !!! NLP2000/01 Virt. p. 1 18.12.2000 c A. P. Strnkovan virtuln pam | 1 strnka . . . mnoina K = 2k pamovch mst zan na adrese dliteln K typick velikost 4kB = 212B adresov prostor HP lze rozdlit do rmc frames] rmec strnka analogicky lze rozdlit do rmc adresov prostor VP Vyuit HP: Nkter z rmc vyivaj systmov programy (normln programy je tedy vyuvat nemohou). Systmov programy (jdro operanho systmu) zajiuj nap. zpracovn peruen a pod. a obsahuji nap. tabulku peruovacch vektor, (dle diskutovanou) tabulku strnek apod. Ostatn rmce jsou vyivny pro implementaci virtulni pamti (a jsou tedy vyuvny pro normln programy). NLP2000/01 Virt. p. 3 virtuln ! fyzick HW nen-li to mon page fault] peruen a potom: virtuln ! na vnj pamti SW a pesun z vnj pamti do HP peklad adres: 2 NLP2000/01 Virt. p. 18.12.2000 c A. P. Strnkovan virtuln pam | 2 Strnkovan virtuln pam zkladn principy: Procesor akceptuje pouze data/instrukce uloen v HP. Proto: Nejsou-li data/instrukce uloen v HP pesunou se do n z vnj pamti. princip asov lokality =) data/instrukce budou brzy asi znovu pouita princip prostorov lokality: Kdy u se provd pesun, pesune se toho vc: { cel strnka (nap. 256B, . .. , 4KB, . . . 4MB) { cel segment (nap. 1B 32GB) adresy: virtuln (matematick, logick) fyzick | v HP na vnj pamti 18.12.2000 c A. P. Peklad virtulnch adres na fyzick: VS AvS & peklad # # beze zmny # FS AvS VS . . . virtuln strnka (slo rmce) FS . . . fyzick strnka (v HP) (slo rmce) AvS . . . adresa ve strnce oset] Peklad provd technick vybaven (HW) a vyaduje: tabulku strnek (TS) v HP registr ZTS | registr zatku tabulky strnek registr DTS | registr dlky tabulky strnek Registry ZTS a DTS jsou programov dostupn. Nepovede-li se peklad, dojde k peruen programu. =) Systmov programy (tedy SW) zmn obsazen HP (zavede se do n VS), aktualizuje TS, ZTS a DTS Potom se bude pokraovat v programu (od msta peruen). NLP2000/01 Virt. p. 4 18.12.2000 c A. P. Strnkovan virtuln pam | 3 Strnkovan virtuln pam | 4 Tabulka strnek TS (uloen v HP): Poloky TSi] jsou indexovny i = 0, 1, 2, 3, . . . " poloka TSi] pslu VS (virtuln strnce) i. Kad poloka mus obsahovat: { slo rmce HP psluejcho dan VS (pokud je VS vbec v HP | jinak cokoliv) { bit platnosti (1 () VS je v HP) Poloky jsou stejn dlouh (a to dostaten). Dlka poloky se vol tak, aby mohla bt uloena l v L = 2 pamovch (adresovatelnch) mstech (nap. 4B). =) adresa(TSi]) = ZT S + i L, neboli adresa(TSi]) = ZT S + i / l, kde ZT S je obsah registru ZTS a i / l oznauje posuv i o l mst vlevo. Poloka TSi] pslu VS uloen v HP prv tehdy, kdy bit platnosti je roven 1 a i < DT S , kde DT S je obsah registru DTS. NLP2000/01 Virt. p. 5 18.12.2000 c A. P. Strnkovan virtuln pam | 5 virtuln adresa: NS SvNS AvS NS . . . nadstrnka SvNS . . . strnka v nadstrnce AvS . . . adresa ve strnce virtuln adresa DTNS dlka TNS NS SvNS AvS ZTNS zatek TNS ? + /i /j 0 ? -1 -+ 1 -1 0 ? + 1 0 R 01 1TS TNS tabulka tabulky strnek nadstrnek 1 ? ? fyzick adresa Pozn.: poloka TNS me obsahovat tak dlku TS vcerovov tabulka strnek | analogicky 7 virtuln adresa > 00002 12A DTS 00005 ZTS 008000 008004 +? 00004 /1 - 008000 008002 008004 008006 008008 NLP2000/01 Virt. p. 1 1 1 0 1 14F C0F EEF A11 129 ? ? EEF 12A fyzick adresa 6 18.12.2000 c A. P. Strnkovan virtuln pam | 6 2rovov tabulka strnek NLP2000/01 Virt. p. P.: 1 strnka 4KB = 212B 1 rmec VP . . . 4GB = 232B 1M = 220 rmc HP . . . 16MB = 224B 4K = 212 rmc poloka TS: l 12b+1b =) L = 2B max. velikost TS = 2MB 18.12.2000 c A. P. Pklady HP: 224B = 16MB 212 = 4K rmc & 212 B = 4KB 1. 20b 12b VS AvS TS : 1M poloek & 2B = 2 MB 2. 14b 6b 12b NS SvNS AvS TNS : 16K poloek & 4B = 64 KB TS: max. 64 poloek & 2B = 128B max. < 4K TS = 512 KB 576 KB 3. 10b 10b 12b NS SvNS AvS TNS : 1K poloek & 4B = 4 KB TS: max. 1K poloek & 2B = 2KB max. < 1K TS = 2000 KB 2004 KB ad 3.: Byl uvaovn hor ppad ne nejhor mon ! St budou posledn nejpouvanj strnky v pli mnoha nadstrnkch ( prostorov lokalita NLP2000/01 Virt. p. 8 18.12.2000 c A. P. Strnkovan virtuln pam | 7 Strnkovan virtuln pam | 8 1 )rov*ov tabulky strnek: pi kadm pstupu do VP 1 ten z HP navc tedy: VP je 2 pomalej ne HP vce )rov*ov tabulky strnek: mn pamti dal ten z HP =) del cyklus pamti ??? e en ??? TLB : Transfer Look-aside Buer] asociativn pam (CAM) | velmi asto pln asociativn (!!!) kl: virtuln strnka data: fyzick strnka + kapacita < max. poet fyzickch strnek (obvykle) typicky 64 slov trasparentn (obvykle) nen pam funkn nezbytn (obvykle) kopie poloek jsou v TS (pop. v TNS) (jejich ten vak trv d le) NLP2000/01 Virt. p. 9 18.12.2000 c A. P. Vmna strnek v HP VS 62 HP =) peruen =) je teba: VS ! HP otzky: 1. Je msto v HP? 2. Co vyhodit? 3. Jak vyhodit? ad 1.: ano =) Nen o em diskutovat! ad 2.: e se prostedky SW =) lze pout i sloitj algoritmy =) HW tomu mus poskytnout podporu ad 3.: e se prostedky SW: Dolo ke zmn VS umstn v HP (dolo k zpisu)? ANO =) ped pepsnm strnky v HP je nutn zajistit konzistenci (uloit pepisovanou strnku) NE =) nic HW: je teba uloit programov dostupn pznak zmny modify, dirty] vhodn msto (programov dostupn) | poloka TS NLP2000/01 Virt. p. 10 Strnkovan virtuln pam | 9 Strnkovan virtuln pam | 10 Vmna strnek v HP ad 2. (jet jednou) Jak vybrat tu sprvnou strnku k vyhozen ? nejlpe: Vyhodit strnku, kter bude(!) poteba nejpozdji. ?progn"za ? ,e se prostedky SW. To vyaduje podporu HW : used, referenced] pznak pouit strnky vhodn msto (programov dostupn) | poloka TS 1 )rov*ov tabulka strnek 18.12.2000 c A. P. Pouv se reim tzv. krjen asu . time slicing] Program je peruovn asovaem. (nap. po msec) Pi kadm peruen dojde | k vyhodnocen pznak | k vymazn (te# ji starch) pznak NLP2000/01 Virt. p. 11 18.12.2000 c A. P. NLP2000/01 Virt. p. 12 18.12.2000 c A. P. Strnkovan virtuln pam | 11 Strnkovan virtuln pam | 12 2 )rov*ov tabulka strnek NLP2000/01 Virt. p. 13 Vmna strnek v HP ad 2. (do tetice) Jak vybrat tu sprvnou strnku k vyhozen? $e se prostedky SW !!! LRU Least Recently Used] matice ? (viz asociativn pamti) ? rozmry ? tae ? | pro kadou fyzickou strnku jeden | ponkud nestandardn ta | poet bit = poet strnek tn potu peruen zpsobench asovaem t = slo takovho peruen strnka byla pouit =) pidlit j hodnotu t minimln t . . . nejdle nepouito FIFO First-In First-Out] Vyhod se to nejstar. modif.: ochrana posledn pouitch strnek LFU Least Frequently Used] poet interval od posledn vmny strnek, v nich byla strnka pouita Vyhod se strnka s minimlnm ohodnocenm. 18.12.2000 c A. P. NLP2000/01 Virt. p. Strnkovan virtuln pam | 13 Tabulka strnek TS Segmentovan virtuln pam (znovu a &plnji): segment . . . mnoina pamovch mst velikost je omezena me bt umstn kdekoliv v HP p.: 1B 4GB 2 max. 4GB HP vyuit HP: -st vyuivaj systmov programy. Zbytek vyuivaj normln programy. Obdobn principy jako u strnkovan VP. 15 18.12.2000 c A. P. Segmentovan virtuln pam | 1 Poloka TS by mla (me) obsahovat: slo rmce HP (slo fyzick strnky) bit platnosti present, valid] bit zmny (zpis do strnky) dirty, modi'ed] bit pouito used, referenced] jin tzv. dic bity, nap. zkaz ukldn do SP (skryt pam | cache) zkaz zpisu do strnky (tzv. ochrana pamti | ze strnky lze st, ale nelze do n zapisovat) NLP2000/01 Virt. p. 14 18.12.2000 c A. P. ??? -m se li ??? velikost strnky / segmentu (stejn / rzn) umstn strnky / segmentu (i K / kdekoliv) tabulka strnek / tabulka segment poloka tabulky segment, tzv. popisova segmentu segment descriptor], mus obsahovat informaci o dlce segmentu pro uren fyzick adresy nutn staka NLP2000/01 Virt. p. 16 18.12.2000 c A. P. SBRNICE BUS] soubor vodi a pravidel uren k propojen jednotek potae styk = propojen = rozhran interface] podsbrnice | obv. t nazvan sbrnice: adresov Address Bus] datov Data Bus] dic . . . dic a stavov sign ly Control Bus] adresy a data mohou bt multiplexov ny (asov): ) sta jedin sbrnice pro adresy i data ) je teba dic sign l adresa / data pipojen jednotek ke sbrnici | vstupy: oteven kolektor | nkolik jednotek me vyslat souasn sign l (nulu) na t vodi 3stavov vstup | vyslat me pouze ta jednotka, kter to m povoleno NLP2000/01 Sbrnice 1 24.10.1997 c A. Pluhek operace (typick): ten z pis ten { zmna { z pis z pis { ten penos bloku read] write] read { modify { write] read after write] block data transfer] broadcast (obnk?): pkaz vem jednotk m broadcall (???): informace ode vech jednotek (pop. od urench jednotek) NLP2000/01 Sbrnice 2 3.1.1997 c A. Pluhek korespondenn reim sbrnice: } jednoelov (soukrom) dedicated] } sdlen shared, non-dedicated] { systmov { lok ln { V/V sbrnice: ~ paraleln ~ sriov . . . aktivn .. . prv komunikuj pasivn aktivn jednotka: dic (nadzen , adi) master] zen (podzen ) slave] aktivn jednotka: ~ vyslajc (vysla, zdroj) source, talker] ~ pijmajc (pijma, cl) destination, listener] jednotky z lon a pro systmov ely hand shake] non-interlocked] half interlocked] fully interlocked] 1h jednodue v zan 2h stedn v zan 3h pln v zan 1h 2h 3h operace poadavek potvrzen - - - - - trv stanovenou dobu ukoneno po pijet odpovdi P.: z pis | adresa: zrove s daty (nezakreleno) sbrnice: synchronn hodiny jednosmrn zen one-way control] asynchronn zprav. obousmrn zen two-way control] ) korespondenn reim pseudosynchronn (semisynchronn, polosynchr.) hodiny + sign l(y) ek n WAIT] (obousmrn zen) NLP2000/01 Sbrnice 3 5.1.1997 c A. Pluhek NLP2000/01 Sbrnice 4 8.1.1997 c A. Pluhek pidlovn sbrnic: centralizovan: pidlova sbrnice bus arbiter] (funkci pidlovae nkdy zastv procesor) paraleln = nez visl dosti a potvrzen independent requests and grants] sriov daisy chain] kombinovan | paraleln a sriov cyklick vzvy pooling] dost o pidlen sbrnice ) ) pidlova nabz postupn a adresn sbrnici jednotlivm jednotk m distribuovan . . . bez pidlovae prioritn pi vtm zaten sbrnice: starvation (vyhladovn): jednotky s nzkou prioriou nemaj anci een: fairness (korektnost, slunost) round-robin: jednotky si cyklicky ped vaj pr vo pstupu na sbrnici (srov.: token ring) pozn.: pidlov n lze prov dt s pedstihem NLP2000/01 Sbrnice 5 8.1.1997 c A. Pluhek Distribuovan pidlovn (prioritn) NLP2000/01 Centralizovan pidlovn: Ji jednotka Pi pidleno paraleln: rrr pidlova 6 1 J1 obsazeno pidlova 1 P1 - obsazeno NLP2000/01 ?P1 2 J2 6? sriov: 6 i dost 6 6 - J1a 6? Sbrnice rrr 6? potvrzen vbru 6 ?P2 J1b 6 - 6? 6 10.1.1997 c A. Pluhek 8 11.12.1995 c A. Pluhek Fairness: . . . oteven kolektor Sbrnice 7 15.1.1997 c A. Pluhek NLP2000/01 Sbrnice Logick a geogra ck adresovn: Nkter sbrnice UNIBUS MUBUS S-100 MULTIBUS STD-BUS VME DEC vc. feder. technol. stav 1975 MITS 1976 IEEE 696 Intel 1974 IEEE 796 Pro-log 1981 IEEE 961 Motorola, Mostek, IEEE 1096, Philips-Signetics, IEEE 1132, Thomson-CSF 1981 . . . NUBUS MIT 1979 ANSI/IEEE (Western Digital, 1196/1987 Texas Instruments) MULTIBUS II. Intel 1983 IEEE 1296 FUTUREBUS+ 1983 IEEE 896.1-1987 V/V: Centronics SCSI ANSI X3.131-1986 PC: ISA, EISA, MCA, VL-BUS, PCI SPARC: SBUS, MBUS NLP2000/01 Sbrnice 9 8.1.1997 c A. Pluhek NLP2000/01 Sbrnice 10 10.1.1997 c A. Pluhek Komprese dat (Komprimace dat) P.: zakdovat slovo ARARAUNA K1 K2 etnost absolutn relativn A 00 0 4 0,500 N 01 111 1 0,125 R 10 10 2 0,250 U 11 110 1 0,125 kd K1 : 00 10 00 10 00 11 01 00 . . . 16 bit kd K2 : 0 10 0 10 0 110 111 0 . . . 14 bit prexov kd: dn kdov slovo nen prexem (zatkem) jinho kdovho slova P.: K1 | blokov kd (viz t bezpenostn kdy) K2 | prexov kd postxov kd: dn kdov slovo nen postxem (koncovkou) jinho kdovho slova axov kd: kd, kter je prexov i postxov NLP2000/01 Komprese 1 1.12.1996 c A. Pluhek informan entropie m men je pravdpodobnost p zprvy, tm je zprva cennj | tm vt je jej informan obsah E , tzn.: p1 roste =) roste E logaritmick mra: E = log2 p1 = ;log2 p E = ;log2 p (shannon) E . . . informan entropie, informan obsah, mra mnostv informace aj. (viz t bezpenostn kdy) stejn pravdpodobn nbitov sla: poet sel: N = 2n pravdpodobnost: p = N1 = 2;n entropie: E = n (shannon bit) v nbitovm sle me bt n shannon pi . . . pravdpodobnost it z k monch zprv k H = ; P (pi log2 pi) prmrn entropie i=1 NLP2000/01 Komprese 3 21.9.1998 c A. Pluhek komprese (t komprimace): kdovn (pesn ji: pekdovn) | snen potu bit dekdovn: dekomprese (dekomprimace) nov dlka kompresn pomr KP = pvodn dlka P.: pedp.: K1 : pvodn kd K2: nov kd | komprimovan data KP = 14/16 = 87,5% (pro ARARAUNA) zprva = etz dlch zprv nap.: text = etz psmen a dalch znak zdrojov jednotka Sj | (pvodn) dl zprva kdov jednotka Cj | zakdovan dl zprva NLP2000/01 Komprese 2 3.12.1996 c A. Pluhek P.: pkl. ARARAUNA pedp.: pravdpodobnost = relativn etnost entropie psmen 4/8 A, 1/8 N, 2/8 R, 1/8 U: 1, 3, 2, 3 prmrn entropie 1 psmene: H = 0,51 + 0,1253 + 0,252 + 0,1253 = 1,75 pj . . . pravdpodobnost zdrojov jednotky Sj Ej . . . entropie zdrojov jednotky Sj Hj . . . prmrn entropie jt dl zprvy zprva S1,S2 , . . . , Sm: pravdpodobnost p = p1 p2 pm Pm E entropie E = ;log2 p, tzn.: E = j =1 j prmrn entropie (analogicky): H= Pm H j=1 j P.: entropie zprvy ARARAUNA: E = 1+2+1+2+1+3+3+1 = 14 (shannon) prmrn entropie 8psmenovho slova: H = 81,75 = 14 (shannon) NLP2000/01 Komprese 4 21.9.1998 c A. Pluhek redundance (nadbytenost) E . . . entropie zprvy L . . . dlka zpisu = max. mon entropie redundance: R = L ; E pi . . . pravdpodobmost it z k monch zprv Ei . . . entropie it zprvy Li . . . dlka zpisu it zprvy H . . . prmrn entropie Pk prmrn redundance: Q = pi (Li ; Ei ) i=1 kP Q = pi Li ; H i=1 P.: pkl. ARARAUNA kd K1 pedp.: pravdpodobnost = relativn etnost R = Q = 16 ; 14 = 2 (shannon) komprese dat: snit redundanci na minimum! NLP2000/01 Komprese 5 8.12.1996 c A. Pluhek Eliasv kd I. kdovn pirozench sel (v tch ne 0) pedpoklad: men sla | astj vskyt princip: nbitov zpis sla, zanajc 1 ped tento zpis umstit n;1 nul =) prexov kd 1 2 3 4 5 6 7 8 9 ... 0 0 0 0 0 0 0 0 0 0 ... 0 0 1 1 1 1 1 0 1 0 0 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 Eliasv kd II. ped nbitov zpis sla umstit n v Eliasov kdu I. z nbitovho zpisu sla vypustit prvn bit (jedniku) P.: 38610 = 1 1000 00102 ) n = 9 000 1001 vsledn kdovn: 000 1001 1000 0010 NLP2000/01 Komprese 7 4.5.1998 c A. Pluhek Metody komprese (vybran:) speciln sla Elias Fibonacci obrazov informace (prstky) databze (jmna, data narozen apod.) obecn I. statick | t kd pro rzn data Shannon { Fano Hu%man aritmetick k. hybridn = semiadaptivn | kd 2 data dynamick = adaptivn | t algoritmus kompresi i dekompresi proFGK (Faller { Gallager { Knuth) V (Vitter) obecn II. | slovnkov metody statick hybridn = semiadaptivn dynamick = adaptivn Lempel { Ziv (LZ77, LZ78) BSTW (Bentley { Sleator { Tarjan { Wei) NLP2000/01 Komprese 6 8.12.1996 c A. Pluhek Fibonacciho kd kdovn pirozench sel (v tch ne 0) pedpoklad: men sla | astj vskyt Fibonacciho sla (du 2): F;1 = F0 = 1, Fi = Fi ; 1 + Fi ; 2 pro i = 1, 2, 3, . . . , F0, F1, F2, . . . pouijeme jako 'vhy( zpisu sel: i . . . 5 4 3 2 1 0 ;1 Fi . . . 13 8 5 3 2 1 1 1 1 2 1 0 3 1 0 0 1 0 1 4 5 1 0 0 0 1 0 0 1 6 7 1 0 1 0 1 0 0 0 0 8 9 1 0 0 0 1 ... ... v zpisech nejsou 2 jedniky vedle sebe NLP2000/01 Komprese 8 8.12.1996 c A. Pluhek Fibonacciho kd (du 2): Shannon { Fanov kd obrtit poad bit (v pedchozch zpisech) pidat 1 na konec =) prexov kd 1 1 0 0 1 0 1 0 0 1 1 2 3 4 5 6 7 8 9 ... 2 3 1 1 0 0 0 0 1 0 0 ... 5 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 8 seadit znaky podle etnosti (abs. nebo rel.) dlit podle etnosti na poloviny (pokud mono) 0 ! 1 (nebo naopak) ... P.: pkl. ARARAUNA A R U N 4 2 1 1 1/2 1/4 1/8 1/8 0 1.. 10 11. 110 111 1 1 1 tzv. kdov 1 1 1 1 A R U N 8m strom : A1 A 4 Komprese 9 8.12.1996 c A. Pluhek Humanv kd seadit znaky podle etnosti (abs. nebo rel.) znaky ! uzly ohodnocen etnost nov uzly: dvojice minimln ohodnocench uzl ohodnotit soutem ohodnocen P.: pkl. ARARAUNA 8 A1 A 4 A1 A 0 2 0 A1 A R U N 6 0 0 10 110 111 4 5 4 A 3 2 R 2 1 U tzv. sourozeneck NLP2000/01 Komprese 1 A 1 N vlastnost 11 NLP2000/01 Komprese 10 A1 A 0 2 R 0 1 U 2m A1 A 1 N 8.12.1996 c A. Pluhek Kdy Shannon { Fanov a Humanv kdov strom : 7 4m 0 A NLP2000/01 0 10 110 111 8.12.1996 c A. Pluhek pedstavitel statickch metod velmi mal a minimln redundance P.: znak etnost S-F H A 11 00 0 B 5 01 100 C 5 10 101 D 4 110 110 E 3 111 111 28 znak: Shannon { Fano 63 bit Hu%man 62 bit semiadaptivn (hybridn) kdovn dva prchody: 1. uren etnost dlch zprv ! kd 2. vlastn kdovn s daty je nutno penst/zapsat i kdovac tabulku NLP2000/01 Komprese 12 3.12.1996 c A. Pluhek metoda FGK | 1 metoda FGK | 2 metoda FGK metoda FGP | pklad I. zakdovat etz znak 'METEME ' (Faller { Gallager { Knuth) postupn vytven a modikace kdovho stromu: na potku tvo strom jen 'zvltn( uzel | uzel (list) ohodnocen 0: nulov list nov znak na vstupu: vyle se kd nulovho listu (poprv nic) vyle se vstupujc znak (nap. v kdu ASCII) nulov list se nahrad binrnm podstromem: koen ohodnocen 1 lev list: nulov list prav list pslu znaku | ohodnocen 1 'znm( znak na vstupu: vyle se kd znaku pro list, kter znaku pslu, a postupn pro vechny jeho pedchdce (sm rem ke koenu) se zamn uzel s podstromem (pokud existuje): jeho koen je stejn ohodnocen uzel m vy slo | uzly jsou slovny zdola nahoru a zleva doprava ohodnocen uzlu a vech jeho pedchdc se zv o 1 vstup vstup 1 'M' Komprese 13 3.12.1996 c A. Pluhek 'M' 0 'E' 0'E' 0 5 0 'E' 2 00'T' 14 2m 6 1 A1 A A1 A 1 5 M 2 E 3 E 0 1 T 'E' 4m 0 A1 A 2m 2 0 A1 E A 1m 1 5 3 1 'M' NLP2000/01 Komprese 15 E 7 0 4 1 5 E 0 T 8.12.1996 c A. Pluhek 3 3 M ' ' NLP2000/01 100' 6 0 3m A1 A 1m 4 2 M A1 A 1 T 6m A1 A 6 0 3m A1 A 1m 2 4 A1 A 1 M 1 2 16 8.12.1996 c A. Pluhek ' Komprese A1 A 2 0 6 A1 A 2 01 M 8.12.1996 c A. Pluhek 0 7 0 1 metoda FGP | pklad III. vstup vstup strom 'M' 01 7 5m A1 A 1m 4 1 2 01 A1 A 1 Komprese A1 4 3 NLP2000/01 2m A 1m 1 0 'T' 1 M metoda FGK | 4 0 1 2 5 metoda FGP | pklad II. vstup vstup strom 'T' 00'T' 7 3m 3 A1 A 1 metoda FGK | 3 0 1m 3 NLP2000/01 strom T Slovnkov metody orientovny na opakujc se podetzce, tzv. frze, pop. digramy, trigramy, . . . vytv se 'slovnky( frz, . . . metoda LZ78 poloky ve slovnku slovny od 1 0 przdn etz do slovnku se ukld vstup podetz ve slovnku se hled nejdel podetz na vstupu vstup: slo poloky & nsledujc znak P.: zakdovat: ARA ARARAUNA vstup vstup 1 A 0A 2 R 0R 3 A 1 4 AR 1 R 5 ARA 4 A 6 U 0U 7 N 0N 8 A 3 NLP2000/01 Komprese 17 (13 znak) 8.12.1996 c A. Pluhek ! " ! #" ! " ! " $ ! " ! %" ! " ! " $ $ ! &" ' ! " ! " $ $ ! (" ) * + ,* , ! " $ ! -" ' ! " ' ' ) . )/ 0 # '/ ' ½ 1 ' ' ' ) 2* * ' * ' ) ' ! " . !2#" ' ! " !.". $ .!." !2%" ' ! " . $ . !2&" ! 0" ! " .0 $ 0. $ !2(" ! " ! !"" .!" $ !". $ 0 !2-" ) ! " !23" !24" ) ! " ! " $ ! " ! #" ! " 0 $ # $ !25" ! $0" ! ½" ½ $ ½ $ 0 !26" ! " !." $ . !2#0" ! " !." $ . !2##" * + ,* , ) ! " $ !2#%" 7 ' ' 8 )/ / * ) + ' ) 8 )/ / * # 9 / !) " * 8 / ) : : * 9 * ! " / 0 / # ; !2(" !25" < = 8 ' ' < ' ) >' : ! #" ! -" + . ? * + / ! "! "! " ! " $ ! " !9#" ! " # $ !9%" @ ! "! "! " ! . " $ . !9&" @@ ! "! "! " ! . " $ . !9(" A *+ : / ! " 0 $ / ! / 8 " 7 '+ 1* , )/ : $ !½ " )/ : $ !½ " $ !½ " $ ½ ½ . . !A * ' , * " %
Podobné dokumenty
profitest mbase mtech
Je-li p˚stroj pouûv‰n pouze k ˝Îelu, ke kterÏmu byl vyroben,
bezpeÎnost obsluhy i p˚stroje je zajiötÔna.
P˚ed pouûitm p˚stroje si peÎlivÔ p˚eÎtÔte celý n‰vod k pouûit. ÿiÚte se
vöemi pokyny, ...
V. Koubek: Automaty a gramatiky
o Mealyho nebo Mooreùv automat, a pí¹eme 2 X , mìlo by být pod èarou poznamenáno,
¾e pro Mealyho je 2 X + . Vzhledem k tomuto odstavci to nadále pova¾uji za samozøejmost
a poznámky pod èarou ...
Databázové servery pro nejvy‰‰í nároky a pro zpracování jak
a to v plné mífie platí i pro databázové
servery IBM - IBM Informix a IBM DB2.
Databázové servery jsou nezbytné
pro systémy transakãního zpracování,
pro aplikace ERP, CRM a SCM.
VyuÏívají se pro ana...
Nestandardní zápisy £ísel
1 neplatila. To zjistíme tak, ºe −1 ani −i se nám nepoda°í v této bázi vyjád°it.
Kdybychom totiº cht¥li na výpo£et posledního koecientu v rozvoji £ísla −i v bázi
β = i + 1 pouºít v¥tu 2, dostaneme...
čtení - Publi.cz
displejem iPhone (2007) anebo tablet iPad (2010). Také v oblasti počítačů
byla tato společnost mezi prvnímí mezi all-in-one počítači produktem iMac
(Obrázek 2, 1998), kdy v této době byly běžně poč...
PROFiTEST 0100S-II
Volba komunikaÎnho jazyka
Nastaven z‰kladnch a vedlejöch funkc ...........................................8
Test bateri nebo akumul‰tor¸ .........................................................
Operaˇcní systémy
lepší je situace u (stále experimentálních) mikrojader 2. generace (např. L4:
minimalismus, optimalizace pro konkrétní architekturu), nicméně tato nevýhoda
přetrvává.
Úvod – p.15/30
Hammingův kód
8. Napište polynom G(x), který přísluší vektoru 100101. Polynom G(x) je generovacím
polynomem cyklického kódu (31, k). Určete hodnotu k. Kolik informačních bitů a kolik
kontrolních bitů bude obsaho...