Dělení. INP 2008 FIT VUT v Brně

Podobné dokumenty
Dělení. Demonstrační cvičení 8 INP

Aritmetické operace a obvody pro jejich realizaci

VY_32_INOVACE_CTE_2.MA_04_Aritmetické operace v binární soustavě Střední odborná škola a Střední odborné učiliště, Dubno Ing.

Dělení. MI-AAK(Aritmetika a kódy)

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Struktura a architektura počítačů (BI-SAP) 5

Struktura a architektura počítačů (BI-SAP) 6

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Rozšiřování = vynásobení čitatele i jmenovatele stejným číslem různým od nuly

Nerovnice a nerovnice v součinovém nebo v podílovém tvaru

E. Pohyblivářádováčárka

ZŠ ÚnO, Bratří Čapků 1332

Násobení pomocí sčítání

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Numerická matematika 1

B. Sčítání,odčítání adoplňkovýkód

Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.

Architektura počítačů Logické obvody

Název školy. Moravské gymnázium Brno s.r.o. Mgr. Marie Chadimová Mgr. Věra Jeřábková. Autor. Matematika1.ročník Operace s mnohočleny. Text a příklady.

Grafy elementárních funkcí v posunutém tvaru

Převod Bin do BCD pomocí Hornerova schématu

6. Lineární (ne)rovnice s odmocninou

Už známe datové typy pro representaci celých čísel i typy pro representaci

Architektura počítačů Logické obvody

35POS 2010 Počítačové systémy 1 Úvod, jazyk C Doc. Ing. Bayer Jiří, Csc. Ing. Pavel Píša

Variace. Mocniny a odmocniny

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

15. KubickÈ rovnice a rovnice vyööìho stupnï

Způsoby realizace této funkce:

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Fz =a z + a z +...+a z +a z =

Nápovědy k numerickému myšlení TSP MU

Principy počítačů a operačních systémů

Mikroprocesorová technika (BMPT)

GEODETICKÉ VÝPOČTY I.

Operace ALU. INP 2008 FIT VUT v Brně

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Podíl dvou čísel nazýváme číslo racionální, která vyjadřujeme ve tvaru zlomku.

Lineární funkce, rovnice a nerovnice 4 lineární nerovnice

Násobení. MI-AAK(Aritmetika a kódy)

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

a a

BI-JPO (Jednotky počítače) Cvičení

cv3.tex. Vzorec pro úplnou pravděpodobnost

M - Kvadratické rovnice a kvadratické nerovnice

Převody mezi číselnými soustavami

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

ASYNCHRONNÍ ČÍTAČE Použité zdroje:

Sčítání a odčítání Jsou-li oba sčítanci kladní, znaménko výsledku je = + 444

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

M - Kvadratické rovnice

Projekt OPVK - CZ.1.07/1.1.00/ Matematika pro všechny. Univerzita Palackého v Olomouci

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Číselné soustavy. Binární číselná soustava

Matematika - 6. ročník Vzdělávací obsah

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

Čísla a číselné soustavy.

Architektury počítačů

KVADRATICKÁ FUNKCE URČENÍ KVADRATICKÉ FUNKCE Z PŘEDPISU FUNKCE

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Řešení druhé série ( )

KOMBINAČNÍ LOGICKÉ OBVODY

1.8.5 Sčítání a odčítání celých čísel I

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

+ 2 = 1 pomocí metody dělení definičního oboru. ( )

Definice 7.2. Nejmenší přirozené číslo k, pro které je graf G k-obarvitelný, se nazývá chromatické číslo (barevnost) grafu G a značí se χ(g).

Horner's Method using Excel (výpočet hodnoty polynomu v Excel s využitím historické Hornerovy metody) RNDr. Miroslav Kružík UPOL Olomouc

POČET PLATNÝCH ČÍSLIC PRAVIDLA PRO UVÁDĚNÍ VÝSLEDKŮ MĚŘENÍ 2

VZOROVÝ TEST PRO 3. ROČNÍK (3. A, 5. C)

Připomenutí co je to soustava lineárních rovnic

(Cramerovo pravidlo, determinanty, inverzní matice)

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

( ) ( ) Lineární nerovnice II. Předpoklady: Jak je to s problémem z minulé hodiny? Získali jsme dvě řešení nerovnice x < 3 :

Sekvenční logické obvody

Aplikovaná numerická matematika

M - Příprava na 1. zápočtový test - třída 3SA

Předmět: MATEMATIKA Ročník: PRVNÍ Měsíc: učivo:. ZÁŘÍ ŘÍJEN LISTOPAD PROSINEC

Matematika Kvadratická rovnice. Kvadratická rovnice je matematický zápis, který můžeme (za pomoci ekvivalentních úprav) upravit na tvar

M - Příprava na pololetní písemku č. 1

v aritmetické jednotce počíta

Přirozená čísla do milionu 1

Logaritmická rovnice

Každé dítě bude mít 4 kuličky. Zkouška: (např. sečtením kuliček každého z dětí) = 20.

popsat činnost základních zapojení operačních usměrňovačů samostatně změřit zadanou úlohu

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Lineární rovnice. Rovnice o jedné neznámé. Rovnice o jedné neznámé x je zápis ve tvaru L(x) = P(x), kde obě strany tvoří výrazy s jednou neznámou x.


Kvadratické rovnice. Řešení kvadratických rovnic. Kvadratická rovnice bez lineárního členu. Příklad 1:

GEODETICKÉ VÝPOČTY I.

P2 Číselné soustavy, jejich převody a operace v čís. soustavách

1.8.1 Méně než nula I

Úvod do programování 7. hodina

Úloha 1 Spojte binární obrazy na obrázku s hodnotami, které reprezentují.

SEKVENČNÍ LOGICKÉ OBVODY

Variace. Číselné výrazy

6 Algebra blokových schémat

Dělitelnost přirozených čísel. Násobek a dělitel

Transkript:

ělení INP 28 FIT VUT v Brně

ělení čísel s pevnou řádovou čárkou Nejdříve se budeme zabývat dělením čísel s pevnou řádovou čárkou bez znaménka. Pro jednotlivé činitele operace dělení zavedeme symboly d Q q i R i dělenec dělitel podíl i-tý bit podílu i-tý (průběžný) zbytek Máme tedy vypočítat Q, R tak, aby byla splněna rovnice = Q.d + R, R < d. Pro d, Q, R máme k dispozici n bitů, pro vyhradíme 2n bitů. Nejdříve si ukážeme dělení čísel bez znamének, resp. dělení jejich absolutních hodnot. 2

Příklad 38:5 V kroku i se pokoušíme odečíst od průběžného zbytku R i posunutý dělitel 2 -i d = d= (n=3, 2n=6) Q= qn q = q3 q2 q q Ri+= Ri - qn-i2 -i d =. 2. 3. 4. i= R= 2 -i d > Ri => qn-i= q3 = - q32 d (5.) i= R 2 -i d < Ri => qn-i = q2 = - q22 - d i=2 R2 2 -i d < Ri => qn-i = q = - q2-2 d i=3 R3 2 -i d < Ri => qn-i = q = - q2-3 d R=R4 3

Postup rozhodování při dělení Při rozhodování o hodnotě bitu podílu q n-i jsme postupovali podle vztahů: je-li 2 -i d menší než R i, pak q n-i =, je-li 2 -i d větší než R i, pak q n-i = ------------------------------------------------------------------------------------------------------- Tedy Q = q 3 q 2 q q =. Nový zbytek se vypočte: R i+ := R i - q n-i 2 -i d V praxi se posouvá dílčí/průběžný zbytek vlevo, d je v pevné poloze, takže R i+ := 2R i - q n-i d 4

ělení modifikovaný postup (Praxe: posuv Ri vlevo, d v pevné poloze) = d= (n=3, 2n=6) Q= qn q = q3 q2 q q = Ri+= 2Ri - qn-id i= 2R= d > 2R => Q= - q3d i= R x 2R d < 2R => Q= - q2d i=2 x R2 xx 2R2 d < 2R2 => Q= - qd i=3 xxx R3 xxxx 2R3 d < 2R3 => Q= - qd xxxx R4 =2 4 R => R = 2-4 R4 5

Pravidlo pro určení q n-i Pravidlo pro určení q n-i : když d je větší než 2R i, pak q n-i = jinak q n-i = ---------------------------------------------------- V praxi se porovnávání čísel založené na použití komparátorů nepoužívá. Odečtení se provede (zkusmo), tedy když 2R i - d je menší než, pak q n-i = jinak q n-i = ----------------------------------------------------------- 6

va postupy dělení Máme k dispozici dva hlavní algoritmy dělení: a) Je-li q n-i =, je výsledek "zkušebního" odečtení R i+ = 2R i - d, správný zbytek má být R i+ = 2R i. Správný zbytek dostaneme opravou přičtením +d, což nazýváme restaurací nezáporného zbytku (návrat k nezápornému zbytku), tedy R i+ := R i+ + d. Je-li pravděpodobnost výskytu jedničky v podílu Q rovna p(q n-i = ) = /2, potřebujeme pro n odečtení v průměru ještě n/2 krát přičítat. Grafické znázornění dělení s restaurací nezáporného zbytku je na následujícím obrázku. b) Postup bez restaurace nezáporného zbytku (bez návratu k nezápornému zbytku). Restaurací provádíme operaci R i := R i + d. V dalším kroku po odečtení d dostaneme R i+ := 2R i - d () nebo po přičtení d R i+ := 2R i + 2d - d = 2R i + d (2) Vidíme, že můžeme postupovat podle rovnic (), (2): když q n-i = (R i větší než ), použijeme vztah (), když q n-i =, použijeme vztah (2). Postup je úspornější, protože v každém kroku pak jen přičítáme d, nebo odčítáme d, nikdy neprovádíme obě operace. Při dělení bez restaurace tedy provedeme n aritmetických operací (+ nebo -), pro dělení s restaurací 3/2 n operací. 7

Grafické znázornění dělení s restaurací r 5 -d +d r 2 r -d +d r 3 r 4 x2 2r 2 x2 -d x2 x2 2r 4 -d 2r 2r 3 -d t konverguje k nezápornému zbytku 8

Příklad: ělení bez návratu k nezápornému zbytku = = (97), d = = (), v bitu S se zaznamenává znaménko průběžného zbytku a to pak rozhoduje o následující operaci (+ -). krok S A Q ---------------------------------------------------------------------------- x = - -d --------- x q 3 = Pos. vl. xx 2 - -d --------- xx q 2 = Pos. vl. xxx 3 + +d --------- xxx q = Pos. vl. xxxx 4 + +d --------- xxxx q = R Q = 9

3=, 7=, -7= + -d < => c4 = x posuv <- + +d x < => c3 = xx + +d posuv xx > => c2 = xxx + -d posuv xxx < => c = xxxx + +d posuv xxxx < => c = + +d (korekce na kladný zbytek) xxxx zbytek 2 Příklad: 3:7=4, zb 2 bez návratu k nezápornému zbytku

ělení bez restaurace poslední zbytek je kladný Vyjde-li poslední zbytek záporný, musí se upravit na nezápornéčíslo korekcí, tedy přičtením dělitele. Grafické znázornění dělení bez restaurace nezáporného zbytku pro případ kladného a záporného posledního zbytku: -d r x2 2r +d r 2 x2 2r 2 -d r x2 3 2r 3 +d r 4 kladný zbytek t

ělení bez restaurace poslední zbytek je záporný 2r r -d +d r 2 2r 3 x2 -d r 3 2r 2 +d záporný zbytek! r 4 +d korekce korekce r 4 kor t 2

ělení SRT - tabulka odhadů podle tří bitů R i ělení čísel se znaménkem se po dlouhou dobu převádělo na dělení absolutních hodnot a dodatečné určení znaménka výsledku. Tuto nedokonalost odstranil algoritmus SRT autorů Sweeneyho, Robertsona a Tochera (958). Prováděné operace se pro každý krok určují například (je to školní příklad) podle nejvyšších tří bitů průběžného zbytku R i. Ri d> bit podílu d> operace d< bit podílu d< operace posuv vlevo posuv vlevo -d, posuv vlevo - +d, posuv vlevo - +d, posuv vlevo -d, posuv vlevo 3

49=, 7=, -7= -49= (d>) - +d <- + x -d x xx <- + xxx <- -d xxx <- - xxxx +d xxxx zbytek Q = - = = -6+8++2- = -7 Ri - Příklad: -49:7=-7, zb. SRT d> bit podílu d> operace posuv vlevo -d, posuv vlevo +d, posuv vlevo d< bit podílu - d< operace posuv vlevo +d, posuv vlevo -d, posuv vlevo 4

Zdokonalený algoritmus dělení SRT Odhad podle tří bitů průběžného zbytku je nedostatečný a způsobuje časté chybování postupu SRT. Praktické realizace postupu (např. Pentium) odhadují hodnotu číslice podílu více bitů průběžného (okamžitého) zbytku, a podle více bitů dělitele. Je to aplikace principu zobecněného ukazatele do tabulky odhadů. Například v Pentiu se odhaduje číslice podílu podle 7 bitů průběžného zbytku a podle 5 bitů hodnoty dělitele. Jinou modifikací algoritmu dělení je postup 2 bity najednou, tedy s radixem 4. Obecný vzorec: r radix R i+ = rr i q n-i d 5

Chyba dělení u Pentia (listopad 994) $475M 6

Obvodová realizace dělení - sekvenční dělička SRT posuv P ělenec B A n n- n-2 n- n bitů n bitů n bitů operace +/-/ prázdná řízení operací n- A B dělitel d 7

Postup sekvenčního dělení. Má-li dělenec i dělitel d k levostranných nul, posunou se obsahy registrů PA i B o k bitů vlevo. V této fázi lze v zájmu zrychlení operace dělení odstranit levostranné nuly dělence nebo dělitele posuvem obsahu příslušného registru vlevo. To se však na závěr musí kompenzovat odpovídajícím posuvem výsledku.. Je-li p n = p n- = p n-2, pak q n-i = posuv registru PA o bit vlevo Je-li p n = pak q n-i =, odečtení PA - B, posuv registru PA o bit vlevo Je-li p n = pak q n-i = -, přičtení PA + B, posuv registru PA o bit vlevo Krok provedeme celkem (n - k) krát. 2. Je-li koncový zbytek menší než nula, přičti P + B a odečti Q-. 8

Kombinační dělička s restaurací odečítačka x - bit dělence y - bit dělitele u a - výstup výpůjčky - řídicí signál t a - vstup výpůjčky - řídicí signál z y - bit dělitele - výstup rozdílu kde x je vstup jednoho bitu dělence, y je vstup jednoho bitu dělitele, t je vstup výpůjčky, a je řídící vstup ( odčítej, neodčítej), který vede i do sousední buňky vpravo, z je výstup rozdílu, u výstup výpůjčky. Rovněž bit dělitele y je veden do sousední buňky dole. Pro a = se odečítá, tedy z = x - (y + t), pro a = se neodečítá, tedy z = x. Funkci odečítačky definuje pravdivostní tabulka. 9

Pravdivostní tabulka odečítačky ostáváme tak rovnice z = x a ( y t ) (a je řídicí vstup: odčítej, neodčítej), u = x y + x t + yt 2

Obvodová dělička s restaurací q 4 q 3 6 5 4 d 2 d d = d 3 u - výstup výpůjčky a - řídicí signál 2 x - bit dělence y - bit dělitele t - vstup výpůjčky a - řídicí signál y - bit dělitele z - výstup rozdílu q 2 q q r r r 2 R 2

Obvodová dělička s restaurací - komentář Shora vstupují do kaskády odečítaček jednotlivé bity dělence, bity 6 až, a tříbitový dělitel d. Na levé straně vystupují jednotlivé bity kvocientu Q. Počet řádků kaskády je dán potřebným počtem operací odečítání, oby se poloha tříbitového dělitele dostala do nejnižšího řádu dělence. V této poloze vznikne poslední průběžný rozdíl, tedy konečný zbytek. Jde o kombinatorické dělení podle postupu s návratem k nezápornému zbytku, protože v každé operační úrovni vzniká nezáporný výsledek pokud by vznikl po odečtení záporný mezivýsledek, neodečítá se, tedy nejde odečíst. 22