Cykl rozkazowy, w informatyce ciąg czynności, które wykonuje układ sterowania jednostki centralnej w czasie realizowania jednego rozkazu



Pobieranie 7.28 Mb.
Strona30/52
Data30.10.2017
Rozmiar7.28 Mb.
1   ...   26   27   28   29   30   31   32   33   ...   52

Tabela VII-2. Typy numeryczne obsługiwane przez FPU


Typy rzeczywiste (format zmiennoprzecinkowy)


Delphi

Pascal

C++

Microsoft

VB

Zakres

Cyfry znaczące



Bajty

Odpowiednik w normie IEEE-P754

Nazwa


Nazwa

Nazwa

±(2.9e-39...1.7e38)

11-12

6

-

Real***

-

-

±(1.5e-45...3.4e38)

7-8

4

Single

Single

Float

Single

±(5.0e-324...1.7e308)

15-16

8

Double

Double

Double

Double

±(3.4e-4932...1.1e4932)

19-20

10

Double Extended

Extended

Long Double****

-



Rys VII-2. Typy danych obsługiwane przez jednostkę FPU (ang. Floating Point Unit) zgodną z Intel x87


Tabela VII-3. Wartości specjalne

Pole znaku

Wykładnik

Mantysa

Wartość

m0

m1…mk

1

1…1

1*

0…0

– ∞

0

1…1

1*

0…0

+ ∞

?

1…1

1*

≠0

QNaN (ang. quiet not a number)

?

1…1

1*

≠0

SNaN (ang. signaling not a number)

1

0…0

0*

0…0

– 0

0

0…0

0*

0…0

+ 0

1

0…0

0

≠0

liczba zdenormalizowana

0

0…0

0

≠0

+ liczba zdenormalizowana

QNaN nie powodują zgłaszania wyjątku I propagują się przez wiekszość operacji arytmetycznych. SNaNs są używane do prowokowania konieczności obsługi wyjątku (ang. trap) – wykorzystywane w fazie testowania oprogramowania do analizy kodu i danych (ang. debugging). SNaN muszą być przypisane do zmiennej, gdyż procesor nigdy nie generuje SNaN jako wynik operacji zmiennopozycyjnej.


Przykład 14 (Matlab):

>>x=4 >>x=4

>>y=3 >>y=0

>> z=x/y >> z=x/y

z=1.3333 Warning: Divide by zero. {obsługa wyjątku}

z=Inf


>>w=z*0 >>w=z*0

w=0 w=NaN”


>>x=-3 >>x=realmax

>>sqrt(x) >>y=x*2

0 + 1.7321i Inf

Sytuacje generujące wyjątek (ang. exception) zgodnie z IEEE 754 i Intel x87:

• niewłaściwa operacja arytmetyczna (zwraca QNaN):


• dzielenie przez zero (zwraca ∞),

• nadmiar numeryczny (liczba za duża – zwraca ∞),

• niedomiar numeryczny (liczba za mała – zdenormalizowy wynik≈0),

• przybliżony rezultat operacji (wystąpiło zaokrąglenie lub obcięcie wyniku),

• zdenormalizowany operand (operand nie jest prawidłową liczbą typu single lub double)*,

nadmiar/niedomiar stosu (stos poza R7 lub R0 – niebezpieczeństwo nadpisania danych)*,

--------------

* rozwiązanie rozpowszechnione przez Intel’a, mimo że norma IEEE 754 nie specyfikuje.


Przykład 15: liczby zdenormalizowane

Niech najmniejsza liczba znormalizowana jest równa 1,0*2-3. Porównanie dwóch liczb x=1,1*2-3 i y=1,0*2-3 zwraca niezerowy wynik w postaci liczby zdenormalizowane, gdyż x-y=0,1*2-3! Zaokrąglenie do zera może spowodować błędne zachowanie programu, gdyż FPU zwraca wynik x-y=0, czyli x=y.


Podstawowe rejestry koprocesora x87:

Pobieranie 7.28 Mb.

Share with your friends:
1   ...   26   27   28   29   30   31   32   33   ...   52




©operacji.org 2020
wyślij wiadomość

    Strona główna
warunków zamówienia
istotnych warunków
przedmiotu zamówienia
wyboru operacji
Specyfikacja istotnych
produktu leczniczego
oceny operacji
rozwoju lokalnego
strategii rozwoju
kierowanego przez
specyfikacja istotnych
Nazwa przedmiotu
Karta oceny
ramach działania
przez społeczno
obszary wiejskie
dofinansowanie projektu
lokalnego kierowanego
Europa inwestująca
Regulamin organizacyjny
przetargu nieograniczonego
kryteria wyboru
Kryteria wyboru
Lokalne kryteria
Zapytanie ofertowe
Informacja prasowa
nazwa produktu
Program nauczania
Instrukcja obsługi
zamówienia publicznego
Komunikat prasowy
programu operacyjnego
udzielenie zamówienia
realizacji operacji
opieki zdrowotnej
przyznanie pomocy
ramach strategii
Karta kwalifikacyjna
oceny zgodno
Specyfikacja techniczna
Instrukcja wypełniania
Wymagania edukacyjne
Regulamin konkursu
lokalnych kryteriów
strategia rozwoju
sprawozdania finansowego
ramach programu
ramach poddziałania
kryteriów wyboru
operacji przez
trybie przetargu