Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
OpublikowałBogumiła Łangowski Został zmieniony 11 lat temu
1
Wykład 2: Liczby rzeczywiste (stało i zmiennoprzecinkowe) Koprocesor
budowa podstawowe operacje
2
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 Tabela 1a. Wartości (wagi) bitów w zapisie binarnym liczb rzeczywistych stałoprzecinkowych ( słowo 16 bitowe, zapis 8.8 ) - zakres:
3
Liczby rzeczywiste stałoprzecinkowe
Przykład 1 (zapis 8.8) Nr liczba b reprezentuje wartość 1*24 + 1*21 + 1* * *2-8 = 1/2 + 1/8 + 1/256
4
Liczby rzeczywiste stał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:
5
Liczby rzeczywiste stałoprzecinkowe
Przykład 2 (zapis 1.15) Nr Z liczba b reprezentuje wartość 1* *2-6 + 1* * *2-15 = 1/8 + 1/64 + 1/ / /32768
6
Liczby rzeczywiste stałoprzecinkowe
Rozdzielczość zapisu stałoprzecinkowego /215 = 1/( ) = Rozdzielczość zapisu stałoprzecinkowego /223 = 1/( )= = Rozdzielczość zapisu stałoprzecinkowego /231 = 1/( )= = Rozdzielczość zapisu stałoprzecinkowego /27 = 1/128 = = (-1..+1)
7
Liczby rzeczywiste zmiennoprzecinkowe
Co oznacza zapis? e-5 = *10-5 /100000
8
Liczby rzeczywiste zmiennoprzecinkowe
Zapis zmiennoprzecinkowy: single (32 bity) 31 22...0 znak wykładnik mantysa wartość = (-1)znak * mantysa * 2 wykładnik wartość = (-1)znak * 1.xxxxx * 2 wykładnik znak = 0/1 mantysa = wykładnik = ( : 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| | = 3F h
10
Liczby rzeczywiste zmiennoprzecinkowe
Przykład 2: liczba rzeczywista = = * 27 znak = 0 , wykładnik= +7, mantysa = (1) (=127+7=134) | | | = b = h
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– ~= double (64 bity): ~16 cyfr znaczących zakres: 2– ~= extended (80 bitów): ~19 cyfr znaczących zakres: 2– ~=
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
16
Operacje na stosie koprocesora
FINCSTP FDECSTP FFREE ST(1) 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)
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.