1 / 20

Wykład 2:

Wykład 2:. L iczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor budowa podstawowe operacje. Liczby rzeczywiste stałoprzecinkowe. Zapis 8.8 oznacza 8 bitów części całkowitej (w tym bit znaku) i 8 bitów części ułamkowej

floria
Download Presentation

Wykład 2:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Liczby rzeczywistestałoprzecinkowe 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

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

  4. Liczby rzeczywistestałoprzecinkowe 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

  5. Liczby rzeczywistestałoprzecinkowe 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

  6. Liczby rzeczywistestałoprzecinkowe Rozdzielczość zapisu stałoprzecinkowego 1.15 1/215 = 1/( 32 768 ) = 0.000030517578125 Rozdzielczość zapisu stałoprzecinkowego 1.23 1/223 = 1/( 8 388 608 )= = 0.00000011920928955078125 Rozdzielczość zapisu stałoprzecinkowego 1.31 1/231 = 1/( 2 147 483 648 )= = 0.0000000004656612873077392578125 Rozdzielczość zapisu stałoprzecinkowego 1.7 1/27 = 1/128 = = 0.0078125 (-1..+1)

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

  8. Liczby rzeczywistezmiennoprzecinkowe Zapis zmiennoprzecinkowy: single (32 bity) 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)

  9. Liczby rzeczywiste zmiennoprzecinkowe Przykład 1: liczba rzeczywista 1.0 = 1. 0 * 20 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

  10. Liczby rzeczywiste zmiennoprzecinkowe Przykład 2: liczba rzeczywista 178.125 = 1011 0010 . 001 = 1. 0110 0100 01 * 27 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

  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 ... 2127 ~= 10-38 ... 1038 double (64 bity): rozdzielczość: ~16 cyfr znaczących zakres: 2–1022 ... 21023 ~= 10-308 ... 10308 extended (80 bitów): rozdzielczość: ~19 cyfr znaczących zakres: 2–16382 ... 216383 ~= 10-4932 ... 104933

  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 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 Rys.4 Przykład operacji na koprocesorze

  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)

More Related