Architektury počítačů

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

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

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

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

v aritmetické jednotce počíta

Mikroprocesorová technika (BMPT)

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

Architektura počítačů

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

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

Principy počítačů I Reprezentace dat

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

E. Pohyblivářádováčárka

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

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

Algoritmy a datové struktury

Čísla a číselné soustavy.

Aritmetické operace a obvody pro jejich realizaci

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

Struktura a architektura počítačů

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

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

Struktura a architektura počítačů

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

Úvod do programování 7. hodina

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

Aplikovaná numerická matematika

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

Číselné soustavy a převody mezi nimi

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

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

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

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

Informatika Datové formáty

Převody mezi číselnými soustavami

Algoritmizace a programování

Pohyblivářádováčárka

Architektura počítačů

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

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

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.

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

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

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

MATA Př 3. Číselné soustavy. Desítková soustava (dekadická) základ 10, číslice 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

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

Číselné soustavy. Jedná se o způsob reprezentace čísel.

ARITMETICKÉ OPERACE V BINÁRNÍ SOUSTAVĚ

Elementární datové typy

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

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

PB002 Základy informačních technologií

Y36SAP - aritmetika. Osnova

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

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

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

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Variace. Mocniny a odmocniny

ČÍSELNÉ SOUSTAVY PŘEVODY

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

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

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

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

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

Fakulta elektrotechnická Katedra aplikované elektroniky a telekomunikací. Bakalářská práce. Zaokrouhlovací chyby v číslicových systémech

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

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

Datové typy pro reálná čísla

Číselné soustavy. Prvopočátky. Starověký Egypt a Mezopotámie. Již staří Římané

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

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

Pokroky matematiky, fyziky a astronomie

UMÍ POČÍTAČE POČÍTAT?

Číslo materiálu. Datum tvorby Srpen 2012

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

Mocniny. Nyní si ukážeme jak je to s umocňováním záporných čísel.

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Vybrané problémy výpočtů na PC s pohyblivou řádovou čárkou Nomindalai Naranbaatar

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

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

MQL4 COURSE. By Coders guru -4 Operace & Výrazy

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

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

Architektury počítačů

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

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Variace. Číselné výrazy

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

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

KALKULÁTORY EXP LOCAL SIN

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

Jazyk C# a platforma.net

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

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

Základy algoritmizace 2. Proměnné, datové typy

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

DIGITÁLNÍ ARCHIV VZDĚLÁVACÍCH MATERIÁLŮ

Jemný úvod do numerických metod

3. Aritmetika nad F p a F 2

Transkript:

Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1

Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové čárce ) Reprezentace 4 2 1 b i b i 1 b 2 b 1 b 0. b 1 b 2 b 3 b j 1/2 1/4 1/8 bity vpravo od binary point udávají zlomky mocnin 2 reprezentuje reálná čísla 2 i 2 i 1 2 j i b k 2 k k j

Zlomková čísla / Pevná řádová čárka Hodnota Reprezentace 5-3/4 101.11 2 2-7/8 10.111 2 63/64 0.111111 2 Operace Dělení 2 posunem vpravo Násobení 2 posunem vlevo Čísla pod 0.111111 2 jsou menší než 1.0 1/2 + 1/4 + 1/8 + + 1/2 i + 1.0 Přesná notace 1.0

Binární Dekadické 23.47 = 2 10 1 + 3 10 0 + 4 10-1 + 7 10-2 desetinná tečka 10.01 two = 1 2 1 + 0 2 0 + 0 2-1 + 1 2-2 binární tečka = 1 2 + 0 1 + 0 ½ + 1 ¼ = 2 + 0.25 = 2.25 4 Com p Sci 251 -

Dekadické Binární Možno napsat číslo jako součet mocnin 2 0.8125 = 0.5 + 0.25 + 0.0625 = 2-1 + 2-2 + 2-4 = 0.1101 2 Algoritmus: Opakovaně násobíme zlomkovou část 2, dokud nebude 0 - násobením provádíme simulaci posunu vlevo: MSB 0.8125 1.625 0.625 1.25 0.25 0.5 0.5 1.0 LSB 5

Připomínka: Převod celých čísel bez znaménka Desítkové číslo: 13 a) postupným odečítáním mocnin 2 postupně od největší k nejmenší b) dělením 2 13/2 = 6 zbytek 1 LSB 6/2 = 3 zbytek 0 3/2 = 1 zbytek 1 1/2 = 1 zbytek 1 MSB Připomínka: V předmětu SPS se ukazovalo, že celá část čísla se převede dělením 2 a zbytku po dělení - simulace posunu vpravo, a proto je opačné pořadí bitů Snímek převzatý z 1. přednášky SPS 0 32 32 16 16 8 8 4 4 2 2 1 1 32=2 5 větší 0 0 16=2 4 32 16 8 4 2 1 větší 0 0 1 8=2 3 0 32 32 0 1 1 16 16 8 8 4 4 2 2 1 ok, 13-8=5 4=2 2 =8+4=12 ok, 5-4=1 0 0 1 1 2=2 1 0 0 1 1 0 1 1=2 0 32 16 8 4 2 1 =8+4+1=13 1-1=0 1 větší než 1 a

Pozor Konečné dekadické číslo konečné binární číslo Příklad: 0.1 ten 0.2 0.4 0.8 1.6 1.2 0.4 0.8 1.6 1.2 0.4 0.1 10 = 0.00011001100110011 2 = 0.00011 2 (nekonečný řetězec bitů) S více bity se zpřesňuje reprezentace 0.1 10 7 Com p Sci 251 -

Effect of Loss of Precision According to the General Accounting Office of the U.S. Government, a loss of precision in converting 24- bit integers into 24-bit floating point numbers was responsible for the failure of a Patriot antimissile battery. Slide source: UIUC

Effect of Loss of Precision Slide source: UIUC

Reprezentace Omezení lze přesně vyjádřit jen čísla x/2 k Ostatní čísla jsou uložená nepřesně Hodnota Reprezentace 1/3 0.0101010101[01] 2 1/5 0.001100110011[0011] 2 1/10 0.0001100110011[0011] 2

Vědecká notace Dekadické číslo: -123,000,000,000,000-1.23 10 14 0.000 000 000 000 000 123 +1.23 10-16 Binární číslo: 110 1100 0000 0000 1.1011 2 14-0.0000 0000 0000 0001 1011-1.1101 2-16 11 Com p Sci 251 -

HW/SW interfejs Normalizováno jako IEEE754 ve verzích Jednoduchá, Dvojnásobná přesnost. V programovacím jazyce C se deklaruje jako float a double. A0M36APO Architektury počítačů 12

Příklady binárně Znaménko M Poloha řádové čárky (tečky) pro E i M A0M36APO Architektury počítačů 13

Formát čísla v pohyblivé řádové čárce Kód mantisy: přímý kód znaménko a absolutní hodnota Kód exponentu: aditivní kód (s posunutou nulou - posun +127). Znaménko M Poloha řádové čárky (tečky) pro E i M A0M36APO Architektury počítačů 14

Příklady reprezentace některých důležitých hodnot Nula Nekonečno Některé krajní hodnoty A0M36APO Architektury počítačů 15

Skrytý bit Nejvyšší platný bit mantisy (který se do bitové reprezentace operandu neukládá) je závislý na hodnotě obrazu exponentu. Jestliže je obraz exponentu nenulový, je tento bit 1, mluvíme o normalizovaných číslech. Na druhou stranu jestliže je obraz exponentu nulový, je skrytý bit 0. Pak mluvíme o denormalizovaném čísle. A0M36APO Architektury počítačů 16

Denormalizované číslo? Smyslem zavedení denormalizovaných čísel je rozšíření reprezentovatelnosti čísel, která se nacházejí blíže k nule, tedy čísel velmi malých (v následujícím obrázku oblast označena modře). Denormalizovaná čísla mají nulový exponent a i skrytý bit před řádovou čárkou je implicitně nulový. Cenou je nutnost speciálního ošetření případu nulový exponent, nenulová mantisa. A0M36APO Architektury počítačů 17

Podtečení Jde o situaci, kdy zobrazované číslo není rovno nule, ale nedosahuje hodnoty nejmenšího zobrazitelného normalizovaného čísla. Mnoha podtečením lze předejít právě implementací čísel denormalizovaných. podtečení oblast zobrazitelných čísel 0 nejmenší kladné číslo - denormalizované normalizované A0M36APO Architektury počítačů 18

Přehled A0M36APO Architektury počítačů 19

NaN Samé jedničky v exponentu, Mantisa je nenulová. V tom případě není bitový řetězec obrazem žádného čísla, anglicky Not-a-Number, Nan. A0M36APO Architektury počítačů 20

Shrnutí zobrazitelná čísla a výjimky A0M36APO Architektury počítačů 21

ANSI/IEEE Std 754-1985 formáty 32b a 64b ANSI/IEEE Std 754-1985 dvojitý formát 64b g... 11b f... 52b A0M36APO Architektury počítačů 22

double 1 11 52 S E F E není 00 0 (dekadicky 0) nebo 11 1 (dekadicky 2047) Normalized rule: number represented is (-1) S 1.F 2 E-1023 ANSI/IEEE Std 754-1985 dvojitý formát 64 bitů E... 11 bitů f... 52 bitů A0M36APO Architektury počítačů 23

x86 Extended Precision Format používá aritmetický koprocesor x86 3.65 10 4951 to 1.18 10 4932 Zdroj: http://en.wikipedia.org/wiki/extended_precision A0M36APO Architektury počítačů 24

Příklad: 0.75 0.75 10 = 0.11 2 = 1.1 x 2-1 1.1 = 1. F F = 1 E 127 = -1 E = 127-1 = 126 = 01111110 2 S = 0 25 00111111010000000000000000000000 = 0x3F400000

Příklad 0.1 10 - Převeďte na float 0.1 10 = 0.000110011... 2 = 26

Příklad 0.1 10 - Převeďte na float 0.1 10 = 0.000110011... 2 = 1.10011 2 x 2-4 = 1.F x 2 E-127 F = 10011-4 = E 127 E = 127-4 = 123 = 01111011 2 0011 1101 1100 1100 1100 1100 1100 1100 1100 11.. 27 0x3DCCCCCD, proč je D?

IEEE-754 konverze Převeďte -12.625 10 IEEE-754 float formát. Krok #1: Převeďte -12.625 10 = -1100.101 2 Krok #2: Normalizujte -1100.101 2 = -1.100101 2 2 3 Krok #3: Vyplňte pole, znaménko je záporné -> S=1. Exponent + 127 -> 130 -> 1000 0010. Úvodní bit 1 mantisy je skrytý -> 28 1 1000 0010. 1001 0100 0000 0000 0000 000

Kvíz: Rozhodněte o platnosti vztahů int x = ; float f = ; double d = ; Předpokládejme, že d a f nejsou NAN x == (int)(float) x x == (int)(double) x f == (float)(double) f d == (float) d f == -(-f); 2/3 == 2/3.0 d < 0.0 ((d*2) < 0.0) d > f -f > -d d * d >= 0.0 (d+f)-d == f A0M36APO Architektury počítačů 29

Odpovědi na kvíz int x = ; float f = ; double d = ; Předpokládejme, že d a f nejsou NAN x == (int)(float) x Ne: 24 významých bitů x == (int)(double) x Ano: 53 významých bitů f == (float)(double) f Ano : zvýšení přesnosti d == (float) d Ne: ztráta přesnosti f == -(-f); Ano : pouhá změna znaménka 2/3 == 2/3.0 Ne: 2/3 == 0 d < 0.0 ((d*2) < 0.0) Ano! d > f -f > -d Ano! d * d >= 0.0 Ano! (d+f)-d == f Ne: Není asociativní 30 A0M36APO Architektury počítačů

Porovnání dvou čísel ve FP Porovnání: je-li A B A B 0. Obrazy čísel A a B se odečtou jako čísla v přímém kódu a v pevné řádová čárce. To je výhodou zvoleného zobrazení čísel. A0M36APO Architektury počítačů 31

Algoritmus sčítání v pohyblivé řádové čárce Odečteme exponenty. Mantisu čísla s menším exponentem posuneme doprava o počet bitů, který je roven rozdílu exponentů. Sečteme mantisy obou čísel. Určíme počet nul mezi řádovou čárkou a první platnou číslicí součtu mantis. Posuneme součet doleva o tolik míst, kolik nul bylo nalezeno za řádovou čárkou. Zmenšíme původní exponent o počet nalezených nul. Zaokrouhlíme. A0M36APO Architektury počítačů 32

HW FP sčítačky A0M36APO Architektury počítačů 33

Násobení čísel v pohyblivé řádové čárce Exponenty sečteme. Mantisy vynásobíme. Normalizujeme. Zaokrouhlíme. HW FP násobičky je srovnatelně složitý, jako FP sčítačky. Jen má namísto sčítačky násobičku. A0M36APO Architektury počítačů 34