Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor budowa podstawowe operacje.

Podobne prezentacje


Prezentacja na temat: "Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor budowa podstawowe operacje."— Zapis prezentacji:

1 Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor budowa podstawowe operacje

2 Zapis 8.8 oznacza 8 bitów części całkowitej (w tym bit znaku) i 8 bitów części ułamkowej Tabela 1a. Wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych ( słowo 16 bitowe, zapis 8.8 ) - zakres: -128.00000000... +127.99609375 Liczby rzeczywiste stałoprzecinkowe

3 Przykład 1 (zapis 8.8) Nr 7654 3210 1234 5678 liczba 0001 0010 1010 0001b reprezentuje wartość 1*2 4 + 1*2 1 + 1*2 -1 + 1*2 -3 + 1*2 -8 = 16 + 2 + 1/2 + 1/8 + 1/256 = 18.62890625 Liczby rzeczywiste stałoprzecinkowe

4 Zapis 1.15 oznacza 0 bitów części całkowitej (1 bit znaku) i 15 bitów części ułamkowej Tabela 1b. Wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych (słowo 16 bitowe, zapis 1.15 ) - zakres: -1.0000000000...+0.999969482421875 Liczby rzeczywiste stałoprzecinkowe

5 Przykład 2 (zapis 1.15) Nr Z123 4567 89... liczba 0001 0010 1010 0001b reprezentuje wartość 1*2 -3 + 1*2 -6 + 1*2 -8 + 1*2 -10 + 1*2 -15 = 1/8 + 1/64 + 1/256 + 1/1024 + 1/32768 = 0.145538330078125 Liczby rzeczywiste stałoprzecinkowe

6 Rozdzielczość zapisu stałoprzecinkowego 1.15 1/2 15 = 1/( 32 768 ) = 0.000030517578125 Rozdzielczość zapisu stałoprzecinkowego 1.23 1/2 23 = 1/( 8 388 608 )= = 0.00000011920928955078125 Rozdzielczość zapisu stałoprzecinkowego 1.31 1/2 31 = 1/( 2 147 483 648 )= = 0.0000000004656612873077392578125 Rozdzielczość zapisu stałoprzecinkowego 1.7 1/2 7 = 1/128 = = 0.0078125 (-1..+1) Liczby rzeczywiste stałoprzecinkowe

7 Co oznacza zapis? 3.0517578125e-5 = 3.0517578125*10 -5 = 3.0517578125/100000 = 0.000030517578125 Liczby rzeczywiste zmiennoprzecinkowe

8 Zapis zmiennoprzecinkowy:single (32 bity) Liczby rzeczywiste zmiennoprzecinkowe wartość = (-1) znak * mantysa * 2 wykładnik wartość = (-1) znak * 1.xxxxx * 2 wykładnik znak = 0/1 mantysa = 1.0...1.99999988079071044921875 wykładnik = 0...255 (-126..+127: offset=127) 3130...2322...0 znakwykładnikmantysa

9 Przykład 1: liczba rzeczywista 1.0 =1. 0 * 2 0 znak = 0, wykładnik = 0, mantysa = 1.0 | | 0 011 1111 1 | 000 0000 0000 0000 0000 0000 = 0|011 1111 1|000 0000 0000 0000 0000 0000 = 3F80 0000h Liczby rzeczywiste zmiennoprzecinkowe

10 Przykład 2: liczba rzeczywista 178.125 = 1011 0010. 001 =1. 0110 0100 01 * 2 7 znak = 0, wykładnik= +7, mantysa = (1).0110 0100 01 (=127+7=134) | | 0 1000 0110 | 0110 0100 0100 0000 0000 0000 = 0100 0011 0011 0010 0010 0000 0000 0000b = 43 32 20 00h Liczby rzeczywiste zmiennoprzecinkowe

11 Liczby rzeczywiste zmiennoprzecinkowe - zestawienie: Rys. 1

12 Liczby rzeczywiste zmiennoprzecinkowe - zestawienie: Rozdzielczość i zakres: single (32 bity): rozdzielczość: ~7 cyfr znaczących zakres:2 –126... 2 127 ~= 10 -38... 10 38 double (64 bity): rozdzielczość: ~16 cyfr znaczących zakres:2 –1022... 2 1023 ~= 10 -308... 10 308 extended (80 bitów): rozdzielczość: ~19 cyfr znaczących zakres:2 –16382... 2 16383 ~= 10 -4932... 10 4933

13 Liczby rzeczywiste zmiennoprzecinkowe - wartości specjalne: quiet NaNs (QNaNs) signaling NaNs (SNaNs)

14 Budowa koprocesora Rys.2 Rejestry koprocesora

15 Budowa koprocesora Rys.3 Stos rejestrów koprocesora FLD value1 FLD value2 FLD value3

16 Operacje na stosie koprocesora FINCSTP FDECSTP FFREE ST(1) FINCSTP FXCH ST(2) FINIT

17 Koprocesor - podstawowe działania Rys.4 Przykład operacji na koprocesorze wynik = (5.6* 2.4) + (3.8*10.3) FLD value1 // a value1=5.6 FMUL value2 // b value2=2.4 FLD value3 FMUL value4 // c value3=3.8 FADD ST,ST(1) //d value4=10.3 FST wynik // wynik=52.58 lub FSTP wynik

18 Pozostałe rozkazy Rys.5 Zdefiniowane stałe koprocesora Rys.6 Instrukcje trygonometryczne koprocesora

19 Budowa koprocesora Rys.7 Słowo stanu koprocesora (FPU Status Word) C0 == Carry Flag C3 == Zero Flag (C0,C3 – ustawiane po instrukcjach testujących lub porównujących, np. FTST)

20 Budowa koprocesora Rys.8 Słowo kontroli koprocesora (FPU Control Word)


Pobierz ppt "Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor budowa podstawowe operacje."

Podobne prezentacje


Reklamy Google