E. Pohyblivářádováčárka

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

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

Pohyblivářádováčárka

Y36SAP - aritmetika. Osnova

Aritmetické operace a obvody pro jejich realizaci

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

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

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

Architektury počítačů

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

v aritmetické jednotce počíta

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

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

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

Mikroprocesorová technika (BMPT)

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

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

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

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

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

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

Odčítáníazobrazení zápornýchčísel

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

1. Chyby vstupních dat metody převedení úlohy na numerickou (řád použité metody) zaokrouhlovací reprezentace čísel v počítači

Čísla a číselné soustavy.

Informatika Datové formáty

Principy počítačů I Reprezentace dat

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

Aplikovaná numerická matematika

Struktura a architektura počítačů

Architektura počítačů

Variace. Mocniny a odmocniny

VÝRAZY výrazy = operandy prokládané operátory, vyhodnocované podle priority operátorů

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

Algoritmy a datové struktury

Struktura a architektura počítačů

Datové typy a jejich reprezentace v počítači.

Čísla, reprezentace, zjednodušené výpočty

PB002 Základy informačních technologií

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Čísla, reprezentace, zjednodušené výpočty

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

C2115 Praktický úvod do superpočítání

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

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

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

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

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

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

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

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

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.

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

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

Floating Point. Jak je reprezentovaný a proč někdy nefunguje. 2. června 2013

Úvod do programování 7. hodina

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

1. Základní pojmy a číselné soustavy

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

Exponent. Integer 4 bajty až Double Integer 8 bajtů až

uvedení do problematiky i Bezpečnostní kódy: detekční kódy = kódy zjišťující chyby samoopravné kódy = kódy opravující chyby příklady kódů:

Základní jednotky používané ve výpočetní technice

Poznámka: Násobení je možné vyložit jako zkrácený zápis pro součet více sčítanců. Například:

REPREZENTACE DAT. Principy počítačů I. Literatura. Literály. Typy dat. Literály. Čísla Instrukce. Znaky. Logické hodnoty

Kódováni dat. Kódy používané pro strojové operace

Čísla v počítači Výpočetní technika I

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

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače

Algoritmizace a programování

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

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

DIGITÁLNÍ UČEBNÍ MATERIÁL. Název školy SOUpotravinářské, Jílové u Prahy, Šenflukova 220. Název materiálu VY_32_INOVACE / Matematika / 03/01 / 17

Zavedení a vlastnosti reálných čísel

Operace v FP a iterační algoritmy. INP 2008 FIT VUT v Brně

Strojový kód. Instrukce počítače

8. Laboratoř: Aritmetika a řídicí struktury programu

Číselnésoustavy, sčítáníasčítačky

Racionální čísla, operátory, výrazy, knihovní funkce

Počítání s neúplnými čísly 1

Sada 1 - Základy programování

Úvod do problematiky numerických metod. Numerické metody. Ústav matematiky. 6. února 2006

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

pro každé i. Proto je takových čísel m právě N ai 1 +. k k p

1. 1 P Ř I R O Z E N Á Č Í S L A

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Operace ALU. INP 2008 FIT VUT v Brně

Architektury počítačů a procesorů

LEKCE 6. Operátory. V této lekci najdete:

5 Přehled operátorů, příkazy, přetypování

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

Variace. Číselné výrazy

Pohled do nitra mikroprocesoru Josef Horálek

Způsoby realizace této funkce:

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

ČÍSELNÉ SOUSTAVY PŘEVODY

Úvod do teorie měření. Eva Hejnová

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

Program "Světla" pro mikropočítač PMI-80

Transkript:

E. Pohyblivářádováčárka pevná a pohyblivá řádová čárka formát US Air Force MIL-STD-1750A základní operace normalizace přetečení a nenaplnění formátbflm 1 přímý kód sčítání a odčítání násobení, dělení a posuvy obvody pro posuv aditivní kód sčítání a odčítání formátbflm 2 formát ANSI/IEEE Std 754-1985 JPO 2005/6 c A. Pluháček 12.4.2006

pevná a pohyblivá řádová čárka řádová mřížka(dosud uvažovaná)... pevná řádová čárka = omezený rozsah čísel změna rozsahu(ale nikoliv změna přesnosti!): vhodné(konstantní) měřítko proměnné měřítko(mění se podle potřeby) pohyblivá řádová čárka (M, E) A=M z E M mantisa... Jakéčíslice? E exponent nebo charakteristika... Kam umístit čárku? znaménko(a) = znaménko(m) JPO 2005/6 E 1 c A. Pluháček 12.4.2006

pohyblivá řádová čárka příklad formátu Příklady 1 a 2:(US Air Force MIL-STD-1750A) 24 bitů D (M) 8bitů D (E) dvojková čárka dvojková čárka D (M)... doplňkovýkód,modul Z=2, t.j.2 0+1 D (E)... doplňkovýkód,modul Z=256, t.j.2 7+1 1. A A8000003 16 = 101010000...000000011 2 D (M)=1,0101 2 M= 0,1011 2 D (E)=11 2 E=11 2 =3 10 A = 0,1011 2 3 10 = 101,1 2 = 5,5 10 2. A 580000FF 16 = 010110000...011111111 2 D (M)=0,1011 2 M=0,1011 2 D (E)=11111111 2 E= 1 2 = 1 10 A=0,1011 2 1=0,01011 2 =0,343750 10 JPO 2005/6 E 2 c A. Pluháček 12.4.2006

základní operace i násobení a dělení: M 1 z E 1 M 2 z E 2 = M 1 M 2 z E 1+E 2 základní princip(pouze!): M 1 z E 1 M 2 ze 2 = M 1 M 2 z E 1 E 2 (M 1, E 1 ) (M 2, E 2 )=(M 1 M 2, E 1 +E 2 ) (M 1, E 1 ) /(M 2, E 2 )=(M 1 /M 2, E 1 E 2 ) sčítání: M 1 z E 1 + M 2 z E 2=? JPO 2005/6 E 3 c A. Pluháček 12.4.2006

základní operace ii Příklad 3: A F5000006 16 = 111101010...000000110 2 D (M)=1,1110101 2 M= 0,0001011 2 D (E)=110 2 E=110 2 =6 10 (MIL-STD-1750A) A = 0,0001011 2 6 10 = 101,1 2 = 5,5 10 F5000006 16 5,5 10 A8000003 16 5,5 10 vizpř.1 obecně: M z E = M z j z E j = M j z E j,popř. M z E = M z j z E+j = M j z E+j jinak: (M, E)=(M j, E j), popř. (M, E)=(M j, E+j) } M j?ztrátupřesnosti?? platnost vztahů? M j?přeplnění? JPO 2005/6 E 4 c A. Pluháček 12.4.2006

základní operace iii sčítání(2): úprava na stejný exponent (M 1, E 1 )+(M 2, E 2 )=(M 1, E)+(M 2, E)= =(M 1 + M 2, E), neboť M 1 ze +M 2 ze = (M 1 + M 2 ) ze Pokud je to možné, provádět posuv mantisy příslušející většímu exponentu vlevo(a tento exponent snižovat). Není-li to již možné, provádět posuv mantisy příslušející většímu exponentu vpravo(a tento exponent zvyšovat). zjednodušení algoritmu vyloučit posuv mantis vlevo, tzn. připustit pouze normalizovaný tvar: mantisa je posunuta co nejvíce vlevo, popř. exponent je nejmenší možný JPO 2005/6 E 5 c A. Pluháček 12.4.2006

základní operace iv Příklad 4: A8000003 16 normalizovanýtvarčísla 5,5 10 (př.1) F5000006 16 nenormalizovanýtvarčísla 5,5 10 (př.3) F5000006 16 =111101010...000000110 2 obrazmantisyvdoplňkovémkódu=11110101... možný aritmetický posuv o 3 místa vlevo (MIL-STD-1750A) sčítání(3): srovnat na větší z exponentů: M 1 z E 1 + M 2 z E 2 =(M 1 z E 1 E 2 + M 2 ) z E 2 =(M 1 + M 2 z E 2 E 1 ) z E 1 (M 1, E 1 )+(M 2, E 2 ) =(M 1 (E 2 E 1 )+M 2, E 2 ) =(M 1 + M 2 (E 1 E 2 ), E 1 ) odčítání analogicky: (M 1, E 1 ) (M 2, E 2 )=(M 1 (E 2 E 1 ) M 2, E 2 ) =(M 1 M 2 (E 1 E 2 ), E 1 ) JPO 2005/6 E 6 c A. Pluháček 12.4.2006

rozklad operandů a složení výsledku před vlastní operacíjetřeba operandyrozložit po operací je třeba výsledek složit Příklad 5: (MIL-STD-1750A) 50000004 10 40000001 1 E 1 =4 E 2 =1 E 1 > E 2 M 1 =0,101 2 M 2 =0,1 2 E 1 E 2 =3 M 1 =0,101 2 M 2 = M 2 3 M 2 =0,0001 2 E= E 1 M=0,101+0,0001=0,1011 2 E=4 01011000...0000 00000100 2 =58000004 16 11 JPO 2005/6 E 7 c A. Pluháček 19.4.2006 (opraveno)

Příklad 6: úpravy řádové mřížky 60000002 3 40000002 2 E 1 = E 2 =2 M 1 =0,11 2 M 2 =0,1 2 E=2 (MIL-STD-1750A) 0,11+0,1=1,01=D (M) M <0 špatně! rozšířená řádová mřížka pro mantisu: 00,11+00,1=01,01=D (01,01 2 ) mantisa: 01,01 1=00,101 pozkrácení:0,101 exponent(zvýšenío1): 2+1=3 výsledek: 50000003 5=3+2 rozšířenířádovémřížky,posuv(nebo neposuv )anásledné zkrácení lze provést mimo registry, tzn. v kombinačních obvodech(sčítačka, obvod pro posuv a multiplexor) alternativní řešení: posuv operandů vpravo a příslušná úprava výsledku JPO 2005/6 E 8 c A. Pluháček 12.4.2006

normalizace Příklad 7: (MIL-STD-1750A) 40000005 16 8800004 15 E 1 =5 E 2 =4 E 1 > E 2 D (M 1 )=00,1000 D (M 2 )=11,0001 E 1 E 2 =1 posuv D (M 2 )o1místovpravo D (M 2 ) 11,10001 E= E 1 =5 00,1000000... 0 11,1000100... 0 00,0000100... 0 04000005 1 normalizovaný tvar: 40 00 00 01 1 Na konci každé operace je nutno výsledek převést na normalizovaný tvar normalizace. Pak lze výsledek použít jako operand. JPO 2005/6 E 9 c A. Pluháček 12.4.2006

normalizovaný obraz nuly Příklad 8: 654321FB 0,0654321 16 0000000 0 E 1 = 5 E 2 =0 E 1 < E 2 (MIL-STD-1750A) 0,11001010100001100100001 5= E= E 2 =0 =0,0000011001010100001100100001 přičíst0asložit výsledek=032a1900 0,0654300 16 0,0654300 0,0654321 + 0 špatně! Nula nesmí mít větší exponent než jiné číslo! normalizovaný obraz nuly nejmenší možný exponent Př. (MIL-STD-1750A): 0 00000080 D (E)=80 16 E= 128 10 mantisu lze posouvat, ale exponent nelze snižovat JPO 2005/6 E 10 c A. Pluháček 12.4.2006

přetečení a nenaplnění výsledekoperace: (M, E) A=M z E požadováno: E min E Emax např. 128 E 127 E > Emax přeplnění(nebo přetečení) angl. overflow E < E min nenaplnění(nebopodtečení) angl. underflow E z E 0 A 0 JPO 2005/6 E 11 c A. Pluháček 12.4.2006

jiný formát Příklad: formát označovaný dále BFLM P(M) A(E) M dvojkováčárka(pro Mipro E) mantisa: přímý kód znaménko a absolutní hodnota exponent: aditivní kód(kód s posunutou nulou) pozn.: FormátBFLMjejakýsi kříženec formátuibm-360a dále diskutovaného formátu ANSI/IEEE Std 754-1985. JPO 2005/6 E 12 c A. Pluháček 12.4.2006

přímý kód Přímý kód: P(X) ± absolutní hodnota znaménkový bit: 0 + 1 Z 1 2 Z Př.: X P(X) +0,00 000 kladná +0,01 001 nula +0,10 010 +0,11 011 0,00 100 záporná 0,01 101 nula 0,10 110 0,11 111 1 2 Z 0 1 2 Z X JPO 2005/6 E 13 c A. Pluháček 12.4.2006

A+B A nebo A B A sčítání a odčítání v přímém kódu sčítání ne za=zb ano aa+ ab aa přenos 1 za... znaménko A aa... A zb... znaménko B ab... B přeplnění odčítání ano za=zb ne aa ab aa 0 1 přenos 0 0 aa aa za za konec JPO 2005/6 E 14 c A. Pluháček 12.4.2006

násobení, dělení a posuvy v přímém kódu znaménko: +++ + + + 0 0 0 0 1 1 1 0 1 1 1 0 XOR absolutní hodnota nezáporné číslo násobení a dělení nezáporných čísel již bylo diskutováno aritmetický posuv: znaménkový bit se nemění; posouvá se část obsahující absolutní hodnotu; vypadne-li nenulový bit při posuvu doleva, dochází k přeplnění; vypadne-li nenulový bit při posuvu doprava, dochází k ztrátě přesnosti JPO 2005/6 E 15 c A. Pluháček 12.4.2006

obvody pro posuv obvodangl.nazývaný barrelshifter JPO 2005/6 E 16 c A. Pluháček 12.4.2006

Aditivní kód: A(X)=X+ K K= 1 2 Z K= 1 2 Z ε aditivní kód A(X) Z K K X < Z K Zde budeme uvažovat K= 1 2 Z 1,tzn. A(X)=X+ 1 2 Z 1 takže 1 2 Z+1 X 1 2 Z první bit znaménko K 0 Z K Př.: X A(X) -3 000-2 001-1 010 0 011 1 100 2 101 3 110 4 111 X JPO 2005/6 E 17 c A. Pluháček 12.4.2006

sčítání a odčítání v aditivním kódu i A(A+B)=A(A)+A(B) K A(A B)=A(A) A(B)+ K A(A+B)=A(A)+A(B) 1 2 Z+1 A(A B)=A(A) A(B)+ 1 2 Z 1 1 2 Z +1 2 Z (mod Z) 1 2 Z 100...00 1 2 Z +1 2 Z přeplnění: (mod Z) negacebituvnejvyššímřádu sčítání: stejná znaménka sčítanců a jiné znaménko výsledku odčítání: znaménka menšence a menšitele se liší a liší se znaménka menšence a výsledku (odvození analogické jako u doplňkového kódu) JPO 2005/6 E 18 c A. Pluháček 12.4.2006

sčítání a odčítání v aditivním kódu ii a n b n p n q n s n 0 0 0 0 0 q n = s n 0 0 1 0 1 q n s n 0 1 0 0 1 q n s n 0 1 1 1 0 q n s n 1 0 0 0 1 q n s n 1 0 1 1 0 q n s n 1 1 0 1 0 q n s n 1 1 1 1 1 q n = s n over=q n s n JPO 2005/6 E 19 c A. Pluháček 12.4.2006

sčítání a odčítání v aditivním kódu iii JPO 2005/6 E 20 c A. Pluháček 12.4.2006

vlastnosti formátu BFLM P(M) A(E) M dvojkováčárka(pro Mipro E) obraz nejmenšího možného exponentu = 0 normalizovaný obraz nuly = nula (se znaménkem plus či mínus) porovnání: A B A B 0 obrazyčísel AaBlzeodečístjakočísla vpřímémkóduavpevnéřádovéčárce normalizovaný tvar nenulového čísla má v nejvyšším řádu M vždyjedničku tulzezezápisuvypustit lze použít princip skryté jedničky JPO 2005/6 E 21 c A. Pluháček 12.4.2006

formát ANSI/IEEE Std 754-1985 i ANSI/IEEE Std 754-1985 jednoduchý formát 32b 8b E+127 24b ± M dvojkováčárka(pro Mipro E) 8b 23b s g f g=0af=0 ( 1) s 0 g=0af 0 ( 1) s f 2 126 g 1, 254 ( 1) s (1+f) 2 g 127 g=255af=0 ( 1) s g=255af 0 NaN JPO 2005/6 E 22 c A. Pluháček 12.4.2006

ANSI/IEEE Std 754-1985 ii Příklad: 5,5 10? 5,5 10 =101,1 2 =(1,011 10) 2 f=0,011000...000 2 g=(127+2) 10 =10000001 2 obrazčísla 5,5 10 : 110000001011000...000 2 = =11000000101100000000000000000000 2 = =C0B00000 16 JPO 2005/6 E 23 c A. Pluháček 12.4.2006

ANSI/IEEE Std 754-1985 iii ANSI/IEEE Std 754-1985 dvojitý formát 64b g... 11b f... 52b g=0af=0 ( 1) s 0 g=0af 0 ( 1) s f 2 1022 g 1, 2046 ( 1) s (1+f) 2 g 1023 g=2047af=0 ( 1) s g=2047af 0 NaN JPO 2005/6 E 24 c A. Pluháček 12.4.2006