IMTEE 7 / 8 Přednášk č. 7 Vícebytová celočíselná ritmetik = bitová šířk zprcovávných dt > než šířk slov PU npř.: 8 b PU zprcovává b dt dále teoretické příkldy: b PU zprcovává 6 b slov Uložení dt v pměti dt nutno rozdělit do několik PM (Př.: 4 b slovo n 8 b PU) b Slovo b b 7 B b b 7 B b b 7 B b dle zrovnání: o Little-Endin o Big-Endin n nižší drese nejméně význmný byte n nižší drese nejvýznmnější byte RM dresy RMEND RM dresy RMEND B B B dr + dr + dr B B B dr + dr + dr x x LE BE Sčítání Princip: příznk = mezi byty běžný přenos příkld: 9 b slov n b PU 86 +4 6 B B B + + X Y kód v JS VR: využijeme dc Rd, Rr (dd with rry, Rd = Rd + Rr + ) dd BX, BY dc BX, BY dc BX, BY // výsledek je v BX BX BX Odčítání Princip: příznk = mezi byty běžná výpůjčk
IMTEE 7 / 8 Přednášk č. 7 příkld: 9 b slov n b PU 7-84 86 B B Násobení kód v JS VR: využijeme sbc Rd, Rr (Substrct with rry, Rd = Rd Rr ) sub BX, BY sbc BX, BY sbc BX, BY // výsledek je v BX BX BX násobení * využijeme vícebitový posuv o princip: postupná rotce skrz H. o kód v JS VR: clc rol rol L H Obecné násobení (6 b násobení n b PU): OH OH. OL OL L OH OH OL OL * OL * OL * OH OH OL OL OL * OL OL * OH OH * OL OH * OH V4 V V V Dělení lze využít násobičku procesoru vícebitové posuny Dělení / ekvivlentní * (obrácené pořdí opercí):
IMTEE 7 / 8 Přednášk č. 7.. H L lsl H // signed: sr rol L Obecné dělení o přípdnou děličku nelze použít o nutno rozšířit (vícebitové odčítání posuvy) dříve prezentovný lgoritmus pro PU bez děličky eločíselná vícebytová ritmetik BD kód Princip použijeme bezznménkové postupy (binry code digit) pro reprezentci desítkových čísel v pměti procesoru velké množství BD kódů nejčstěji BD84 (dále jen BD) o 84 = váhy jednotlivých bitů (normální vyjádření čísel od do 9) o kždá dekdická číslice = 4 b kódovcí tbulk 8 9 zkázné kombince: ž 5 Desítkové číslo dvojkově zpsné zbírá větší počet míst, než jeho dvojkový ekvivlent = = BD84 pkovný zápis (pcked number) v jednom bytu uloženy desítkové číslice. o Př.: 6b číslo ( 6556) v pcked BD kódu byty. 45 = BD84 ritmetik Sčítání problém: PU nemjí BD sčítčku, le binární:
IMTEE 7 / 8 Přednášk č. 7 Odčítání Převody BIN binární sčítčk: n 4 b operce modulo 6. 9 5 4 o BD součet: n 4b nutno operci modulo 9 5 4 Náprv: nutno provést tzv. dekdickou korekci (D decdic ddition): o je-li n nižších 4 bitech po součtu číslo větší než 9, nebo byl překročen modul sčítčky (součet byl větší než 5), je k výsledku přičten hodnot x6 (rozdíl mezi součtem modulo modulo 6) o je-li n vyšších 4 bitech po součtu číslo větší než 9, nebo překročen modul sčítčky (součet byl větší než 55), je k výsledku přičten hodnot x6. Příkld: D v nižším řádu: +48 6() plikce D (+x6): 6() +6 7 převedením n součet v desítkovém doplňku Příkld: 68 44; L () = o 44 v desítkovém doplňku Z = z n = = D() = Z + = 44 + = 956 o BD součet 68 (-44)+956 4 přenos ignorujeme BD Metody řešení: o Postupné dělení binárního čísl zákldem o Postupné odečítání zákldu o Převod přes Hornerovo schém BD zkázná kombince 4
IMTEE 7 / 8 Přednášk č. 7 Postupné dělení binárního čísl zákldem Kždé celé dekdické číslo lze vyjádřit jko: m i i i princip = postupné dělení převáděného čísl zbytků po předcházejícím dělení mocninmi čísl i Př.: 4 = * + * + * + 4 4/ =, zbytek 4 4/ =, zbytek 4 4/ =, zbytek 4 Výhody: o U jednobytových čísel jsný, jednoduchý lgoritmus. Nevýhody: o nutnost dělení o čísl delší než šířk slov LU komplikovná relizce (vícebytové dělení) Postupné odečítání zákldu dělení nhrzeno odečítáním mocnin i. Po kždém kroku se zkoumání, je-li výsledek záporný o ne inkrementován čítč n dné pozici i. o no = dný řád byl eliminován; čítč obshuje počet zákldů pro dný řád (tedy hlednou číslici v dném řádu) Příkld: tisíce = 4 = 4 < ne, tisíce = 4 = 766 < no, hledné tisíce =, 4 je zákld pro eliminci v řádu vek stovky = 4 = 4 < ne, stovky = 4 = 4 < ne, stovky = 4 = 76 < no, hledné stovky =, 4 je zákld pro eliminci v řádu tek td Výhody: o poměrně jednoduchá relizce i pro delší čísl (vícebytové odčítání je jednoduché). Nevýhody: o nekonstntní dob převodu (závislá n převáděném čísle) 5
IMTEE 7 / 8 Přednášk č. 7 Převod přes Hornerovo schém Kždé celé binární číslo šířky n bitů lze vyjádřit pomocí vzthu n i n n ( ) i n n... i lze pomocí postupného vytýkání zákldu ve vyšších řádech sndno uprvit n tzv. Hornerovo schém ( ) n n ) n )... ) (...( o Pozn.: pltí pro jkýkoli zákld Příkld: 4-bitové číslo () ( (( ) ) ) Princip: hledné dekdické číslo lze vytvářet od nejvyššího bitu postupným násobením mezivýsledků dvěm přičítáním dlšího následujícího nižšího bitu. Budeme-li toto číslo od zčátku chápt jko dekdické (v BD kódu), bude dekdickým i po kždé operci (násobení součet), pokud ne (viz. BD sčítání), lze n něj plikovt dekdickou korekci, po které opět získáme dekdické číslo. 6
IMTEE 7 / 8 Přednášk č. 7 Př.: 5 () = () legend BD BIN operce. krok * *+7=7 D. krok 7* 7*+6 D. krok (7*+6)* (7*+6)*+5 D 4. krok ((7*+6)*+5)* ((7*+6)*+5)*+4 D 5. krok 6 (((7*+6)*+5)*+4)* 6 (((7*+6)*+5)*+4)*+ 6 D 6. krok () ((((7*+6)*+5)*+4)*+)* () ((((7*+6)*+5)*+4)*+)*+ D 7. krok 6 (((((7*+6)*+5)*+4)*+)*+)* 6 (((((7*+6)*+5)*+4)*+)*+)*+ 6 D 8. krok 4() ((((((7*+6)*+5)*+4)*+)*+)*+)* 4() ((((((7*+6)*+5)*+4)*+)*+)*+)*+ 5 D Převody BD o Pozn.: Výsledek je v komprimovném formátu. Výhody: o lze relizovt ve smyčkách pro jkkoli dlouhé číslo. Nevýhody: o nejsou BIN nejvýhodnější je rozkld n Hornerovo schém Př: čtyřmístné BD číslo = bcd o násobení x lze nhrdit posuvy 7