Y36SAP - aritmetika. Osnova



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

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

E. Pohyblivářádováčárka

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

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

v aritmetické jednotce počíta

Aritmetické operace a obvody pro jejich realizaci

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

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

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

Kubatova Y36SAP procesor - control unit obvodový a mikroprogramový řadič RISC Y36SAP-control unit 1

Datové typy pro reálná čísla

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

Mikroprocesorová technika (BMPT)

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

A0M15EZS Elektrické zdroje a soustavy ZS 2011/2012 cvičení 1. Jednotková matice na hlavní diagonále jsou jedničky, všude jinde nuly

Vnitřní reprezentace dat

Architektury počítačů

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

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

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

Tato tematika je zpracována v Záznamy přednášek: str materiál: PrikladyZobrazeniCisel.pdf

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

I. Zobrazení dat a operace.

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

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

Struktura a architektura počítačů

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

Struktura a architektura počítačů

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

Pohyblivářádováčárka

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

Informace, kódování a redundance

3. D/A a A/D převodníky

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

Algoritmy a datové struktury

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

SIGNÁLNÍ GENERÁTORY DDS2, DDS7 A DDS20 - PROVOZNÍ MANUÁL

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

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

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

PB002 Základy informačních technologií

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

Architektury počítačů a procesorů

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

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

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

Adresní mody procesoru

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

Čísla a číselné soustavy.

Jazyk VHDL zápis čísel, znaků a řetězců. Jazyk VHDL základní datové typy a operátory. Kurz A0B38FPGA Aplikace hradlových polí

5. Maticová algebra, typy matic, inverzní matice, determinant.

OPERAČNÍ ZESILOVAČE. Teoretický základ

Úvod do programování 7. hodina

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

Architektura počítačů Logické obvody

Architektura počítačů Logické obvody

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

Principy počítačů I Reprezentace dat

Informatika Datové formáty

Jak pracovat s absolutními hodnotami

Kódy pro detekci a opravu chyb. INP 2008 FIT VUT v Brně

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

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

Informace, kódování a redundance

VY_32_INOVACE_ENI_2.MA_04_Zesilovače a Oscilátory

napájecí zdroj I 1 zesilovač Obr. 1: Zesilovač jako čtyřpól

STRUKTURA POČÍTAČŮ JIŘÍ HRONEK, JIŘÍ MAZURA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

2.4.2 Kreslení grafů funkcí metodou napodobení výpočtu I

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

MATEMATICKÁ OLYMPIÁDA

Ing. Igor Kopetschke TUL, NTI

Skalár- veličina určená jedním číselným údajem čas, hmotnost (porovnej životní úroveň, hospodaření firmy, naše poloha podle GPS )

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

Aritmetika s velkými čísly na čipové kartě

Registry 32 bitové pro všeobecné použití: EAX, EBX, ECX, EDX, ESI, EDI, EBP, ESP.

PROTOKOL O LABORATORNÍM CVIČENÍ



Architektura počítače

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

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

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

DATABÁZE MS ACCESS 2010

TECHNICKÝ MANUÁL. Obj. č.:

1. Programování PLC. Programovatelné automaty II - 1 -

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

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

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

Pátravé pohledy strážců

ACASYS-KS Komunikace v systému ACASYS

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

Způsoby realizace této funkce:

TVORBA WEBOVÝCH STRÁNEK

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

Charakteristika dalších verzí procesorů v PC

Operace ALU. INP 2008 FIT VUT v Brně

Přehled DSP, základní vlastnosti, rozdělení, architektura, typické výpočetní jednotky, aplikace DSP

ISU Cvičení 3. Marta Čudová

Základy číslicové techniky z, zk

Transkript:

Y36SAP - aritmetika Čísla se znaménkem a aritmetické operace pevná a pohyblivá řádová čárka Kubátová 2007 Y36SAP-aritmetika 1 Osnova Zobrazení záporných čísel Přímý, aditivní a doplňkový kód a operace sčítání a odčítání, přetečení Čísla s pohyblivou řádovou čárkou Zobrazení v řádové mřížce Provádění základních aritmetických operací Normalizovaný tvar, skrytá jednička Kubátová 2007 Y36SAP-aritmetika 2 1

Řádová mřížka (opakování) Zobrazení čísel na počítači je limitováno (rozsahem registrů, paměť. míst, apod.) Řádová mřížka určuje formát zobrazitelných čísel (tj. definuje nejvyšší řád n a nejnižší řád - m) Příklad řádových mřížek řádová čárka n = 3, -m = 0 n = 0, -m = -3 Kubátová 2007 Y36SAP-aritmetika 3 Aritmetické operace v ř.m. - chyby Někdy se lze chybám vyhnout změnou délky ř.m. rozšiřování zkracování ř.m. Př. 1 5 5 0 rozšiř. zkrac. 0 1 5 5 0 0 0 Při ztrátě přesnosti můžeme velikost chyby ovlivnit způsobem zaokrouhlení zaokrouhlení nahoru/dolů zaokrouhlení s pref. sudé číslice zaokrouhlení s pref. většího čísla Kubátová 2007 Y36SAP-aritmetika 4 2

Aritmetické operace v ř.m. (3) Zaokrouhlení dolů (oříznutí) 0 1 2 5 0 1 2 Zaokrouhlení nahoru + 0 1 2 5 0 1 3 0 0 1 0 1 3 5 Kubátová 2007 Y36SAP-aritmetika 5 Aritmetické operace v ř.m. Zaokrouhlení s preferencí sudé číslice 0 1 2 4 0 1 2 0 1 2 5 0 1 2 0 1 2 6 0 1 3 Zaokrouhlení s preferencí většího čísla 0 1 2 4 0 1 2 0 1 2 5 0 1 3 Kubátová 2007 Y36SAP-aritmetika 6 3

Řádová čárka vzhledem k ř.m. Pevně definovaná pozice čísla s pevnou řádovou čárkou (fixed-point) nejpoužívanější rezervováno pro znaménko integer fractional Řádová čárka je definována posunem vůči definované pozici čísla s pohyblivou řádovou čárkou (floating-point) rezervováno pro znaménko Počáteční pozice řád. čárky, číslo ve posun vůči níž je vztažen posun. zlomkovém řád. čárky Kubátová 2007 tvaru Y36SAP-aritmetika 7 Zobrazení záporných čísel Standardní polyadické soustavy pouze nezáporná čísla Zobrazení záporných čísel číselné kódy popisují transformaci z omezené množiny celých čísel do omezené množiny nezáporných čísel Nejpoužívanější číselné kódy: přímý aditivní doplňkový Kubátová 2007 Y36SAP-aritmetika 8 4

Přímý kód Nejvyšší řád ř.m. představuje znaménko, zbytek ř.m. je absolutní hodnota Znaménko reprezentováno číslicí: + 0, - 1 Znázornění zobrazení: +/- absolutní hodnota Kubátová 2007 Y36SAP-aritmetika 9 Příklady přímý kód M = 1000... tzn. 3bitová čísla -25 10 P 1 0 2 5 +101 2 P 0 1 0 1 +0,05 10 P P 0 0 5 0-0,11 2 1 1 1 0 Kubátová 2007 Y36SAP-aritmetika 10 5

Sčítání a odčítání Pracuji zvlášť se znaménkem a absolutní hodnotou Absolutní hodnota je nezáporné číslo Příklad pro 3 bitová nezáporná čísla: Kubátová 2007 Y36SAP-aritmetika 11 Sčítání a odčítání v přímém kódu A + B, A B, výsledek ulož do A kde A ~ (za, aa), B ~ (zb, ab) z znaménko, a absolutní hodnota Kubátová 2007 Y36SAP-aritmetika 12 6

Aditivní kód Též označovaný jako kód s posunutou nulou Formální definice: K vhodná konstanta často se volí: K = ½ Z A(X) = X + K pro -K X < M - K Kubátová 2007 Y36SAP-aritmetika 13 Příklady aditivní kód -25 10 A K=5000 4 9 7 5 +101 2 A K=1000 2 1 1 0 1 +0,05 10 A A 1 0 5 0-0,11 2 K=1,000 K=1,000 2 0 0 1 0 Kubátová 2007 Y36SAP-aritmetika 14 7

Doplňkový kód Definice: D (X) = X, je-li X 0 M + X, je-li X < 0 Příklad napsat všechna 3 bitová čísla (M = 1000, ε = 1, l = 3) Znaménko je určeno prvním bitem zleva, ale tento bit je organickou součástí obrazu!!! Kubátová 2007 Y36SAP-aritmetika 15 Doplňkový kód - pokračování Obraz záporného čísla X je doplňkem jeho hodnoty do modulu M řádové mřížky Př. -25 10 D 9 9 7 5 +101 2 D 0 1 0 1 +0,05 10 D D 0 0 5 0-0,11 2 1 0 1 0 Kubátová 2007 Y36SAP-aritmetika 16 8

Sčítání a odčítání v doplňkovém kódu Sečtou se obrazy a ignoruje se přenos!!! Příklady viz tabule a cvičení Kubátová 2007 Y36SAP-aritmetika 17 Přeplnění Přeplnění (overflow) není přenos (carry)!!!!! Pro dvojkovou soustavu: XOR přenosů do a z nejvyššího řádu Příklady minule... A viz tabulka pro sčítačku Kubátová 2007 Y36SAP-aritmetika 18 9

Přeplnění a b p q s 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Overflow = p xor q Kubátová 2007 Y36SAP-aritmetika 19 Odčítání v doplňkovém kódu Příklad pro 3 bitová nezáporná čísla: V doplňkovém kódu: A B = A + (-B) D(B) + D(-B) = B + (-B) + M = M D B) = M - D(B) ï D(-B) = D(B) + 1 A B = D(A) + D(B) + 1 detekce přeplnění je stejná jako u sčítání Kubátová 2007 Y36SAP-aritmetika 20 10

Dplňkový kód pro desítkovou soustavu 10 s complement Příklad 3 místná desítková čísla: M = 1000 10 znaménko je určeno první číslicí zleva: 0 4... + (kladná čísla) 5 9... (záporná čísla) Kubátová 2007 Y36SAP-aritmetika 21 Pohyblivá řádová čárka Čísla s pevnou řádovou čárkou mají výrazně omezený rozsah Př. z = 2, délka ř.m. l = 32 (tj. 32-bitovéčíslo) max. celé číslo A < 2 32 < 5 10 9 min. zlomkové číslo A > 2-32 > 2 10-9 Pro zvětšení rozsahu přidáme exponent e X z e odpovídá posunu řádovéčárky v čísle X o e čísla s pohyblivou řádovou čárkou Kubátová 2007 Y36SAP-aritmetika 22 11

...pohyblivá řádová čárka Řádová mřížka má 2 části (podmřížky): mantisa (m) - informace o hodnotě čísla, často zlomkový tvar exponent (e) - informace o pozici řád. čárky, celé číslo m i e používají kódy pro zobrazení záporných čísel Ukázky možných formátů ř.m. D(M) D(e) Př. (-25 10 2 ) 10 9 9 7 5 0 0 4 ± A(e) m Př. (0,02 10-5 ) 10 0 4 9 5 0 2 0 Kubátová 2007 Y36SAP-aritmetika 23...pohyblivá řádová čárka Normalizovaný tvar je tvar čísla, kdy už nelze mantisu posunout více doleva zjednodušuje aritmetické operace Normal. tvar operandů nezaručí normal. tvar výsledku normalizace Př. tj. úprava výsledku na normal. tvar nutno provádět po každé operaci 0 4 9 2 5 0 A = 0,025 10 0 5 0 0 2 5.. nenormaliz. tvar.. 0 0 2 5 0 0 2 5 0 0 9 8 normalizovaný tvar... Kubátová 2007 Y36SAP-aritmetika 24 12

...pohyblivá řádová čárka Skrytá jednička předpokl. z = 2, normaliz. tvar, M přímý kód, M 0, A(e) 0 v nejvyšším řádu mantisy bude vždy 1 tuto 1 můžeme skrýt (tj. vynechat ze zápisu čísla v ř.m.) A = 1,0 2... používá se např. u standardu ANSI/IEEE Std. 754-1985 V případě A(e) = 0 se skrytá jednička nepoužívá!!! A = (2-3 ) 2... 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0!!! A(e) = e 2-11 2!!! 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 A = 0 2... 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Kubátová 2007 Y36SAP-aritmetika 25 ANSI/IEEE Std. 754-1985 32 b znaménko 1b exponent 8b mantisa 23 (24)b exponent aditivní kód, K=127 mantisa přímý kód, M <2 64 b 1b 11b 52 (53)b 32 b: Kubátová 2007 Y36SAP-aritmetika 26 13

Pohyblivá řádová čárka e 0 0 1..254 255 255 M = 0 0 - = 0 0 A 0 (-1) s M 2-126 (-1) s (M + 1) 2 e-127 (-1) s NaN (Not a Number) Skrytá jednička! Kubátová 2007 Y36SAP-aritmetika 27 pohyblivářádová čárka Např. -58 10 = -11 1010 2 = (-1,1101 0 x 10 101 ) 2 m = 1,1101 0 f = 1101 00...0 e = 101 g = 1000 0100 1 1000 0100 1101 0000 00... 0 C 2 6 8 0 0 0 0 v little endian je tedy postupně uloženo ve slabikově organizované paměti: adr1 00 adr2 00 adr3 68 adr4 C2 Kubátová 2007 Y36SAP-aritmetika 28 14

Aritmetika v pohyblivé ř.č. Aritmetické operace: sčítání/odčítání: Srovnat exponenty a sečíst/odečíst mantisy. násobení: Sečíst exponenty a vynásobit mantisy. dělení: Odečíst exponenty a vydělit mantisy. porovnání: Srovnat exponenty a porovnat mantisy. posuv: Posunem mantisy nebo zvětš./zmenš. exponentu. Normal. tvar operandů nezaručí normal. tvar výsledku normalizace tj. úprava výsledku na normal. tvar nutno provádět po každé operaci Kubátová 2007 Y36SAP-aritmetika 29 Úloha: Zapište v normalizovaném tvaru. Předpokládejte délku délku ř.m. l = 12, přitom délka podmřížky exponentu je l e = 4. Exponent v aditivním kódu, mantisa v přímém kódu, aditivní konstanta pro exponent je 8. 1. -(1010,11 2 ) 2. 7,375 10 3. 13,C 16 4. -(46,875 10-2 ) 10 1 1 1 0 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 0 1 1 0 0 1 1 0 1 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 1 0 0 0 Kubátová 2007 Y36SAP-aritmetika 30 15

Příklad: Sčítání v pohyblivé ř.č. Zapište čísla 3,5 10 a 0,625 10 v normalizovaném tvaru a pak je sečtěte. 3,5 10 = 11,1 2 = 0,111 2 2 2 0,625 10 = 0,101 2 2 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 3,5 10 + 0,625 10 = 0,111 2 2 2 + 0,101 2 2 0 = = (0,111 2 + 0,00101 2 ) 2 2 = = (1,00001 2 ) 2 2 = 0,100001 2 2 3 + 0 1 0 1 1 1 0 0 0 0 1 0 Kubátová 2007 Y36SAP-aritmetika 31 Příklad: Násobení v pohyblivé ř.č. Zapište čísla 3,5 10 a 0,625 10 v normalizovaném tvaru a pak je vynásobte. 3,5 10 = 0,111 2 2 2 0,625 10 = 0,101 2 2 0 0 1 0 1 0 1 1 1 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0,111 2 0,101 2 0,0111 2 0,00000 2 0,000111 2 + + 0 1 0 1 0 1 0 0 0 1 1 0 0,100011 2 Kubátová 2007 Y36SAP-aritmetika 32 16

Úloha: Spočítejte v pohyblivé ř.č. Poznámka spočtěte doma!!! Předpokládejte délku délkuř.m. l = 12, přitom délka podmřížky exponentu je l e = 4. Exponent v aditivním kódu, mantisa v přímém kódu. 1.10,375 10 0,125 10 2.13,625 10 + 1,375 10 3.4,C 16-3 16 4.(-0,40625 10 2-3 ) (-0,28125 10 ) Kubátová 2007 Y36SAP-aritmetika 33 Úloha: Spočítejte v pohyblivé ř.č. 1. 0 1 1 0 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 2. 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 0 0 + 0 1 1 0 0 1 1 1 1 0 0 0 3. 0 1 0 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 0 0 0 0 + 0 1 0 0 1 1 1 1 0 0 0 0 4. 1 0 1 0 0 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 Kubátová 2007 Y36SAP-aritmetika 34 17

Alfanumerické kódy Kubátová 2007 Y36SAP-aritmetika 35 Kubátová 2007 Y36SAP-aritmetika 36 18