Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Podobne dokumenty
Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Teoretyczne Podstawy Informatyki

LICZBY ZMIENNOPRZECINKOWE

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Pracownia Komputerowa wykład VI

Mikroprocesor Operacje wejścia / wyjścia

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

Podstawy Informatyki

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Pracownia Komputerowa wyk ad VI

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

LICZBY ZMIENNOPRZECINKOWE

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

Procesory rodziny x86. Dariusz Chaberski

Algorytmy i struktury danych. wykład 1

Arytmetyka stało i zmiennoprzecinkowa

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Jednostki informacji - bit. Kodowanie znaków: ASCII, ISO 8859, Unicode liczb: NKB (BCN), U2, BCD. Liczby zmiennoprzecinkowe standard IEEE 754

Liczby zmiennoprzecinkowe i błędy

Organizacja typowego mikroprocesora

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

dr inż. Jarosław Forenc

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Kodowanie liczb. Reprezentacja liczb całkowitych. Standard IEEE 754. dr inż. Jarosław Forenc

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Metody numeryczne II. Reprezentacja liczb

Standard transmisji równoległej LPT Centronics

BŁĘDY OBLICZEŃ NUMERYCZNYCH

Interfejs urządzeń peryferyjnych

Informatyka 1. Wykład nr 4 ( ) Plan wykładu nr 4. Politechnika Białostocka. - Wydział Elektryczny

Wstęp do informatyki- wykład 1 Systemy liczbowe

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

BŁĘDY PRZETWARZANIA NUMERYCZNEGO

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach

Naturalny kod binarny (NKB)

Temat 4. Kodowanie liczb

Informatyka 1. Wykład nr 4 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Architektura komputerów

Wstęp do informatyki. Architektura co to jest? Architektura Model komputera. Od układów logicznych do CPU. Automat skończony. Maszyny Turinga (1936)

Architektura komputera

Technologie Informacyjne

Arytmetyka binarna - wykład 6

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

EMN. dr Wojtek Palubicki

Stan wysoki (H) i stan niski (L)

Wykład IV. Układy we/wy. Studia Podyplomowe INFORMATYKA Architektura komputerów

Technologie Informacyjne Wykład 4

MIKROKONTROLERY I MIKROPROCESORY

Architektura systemów komputerowych. dr Artur Bartoszewski

8. MAGISTRALE I GNIAZDA ROZSZERZEŃ. INTERFEJSY ZEWNĘTRZNE.

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

METODY NUMERYCZNE. Po co wprowadzamy liczby w formacie zmiennoprzecinkowym (floating point)?

Reprezentacja symboli w komputerze. Liczby całkowite i zmiennoprzecinkowe. Programowanie Proceduralne 1

Wprowadzenie do metod numerycznych. Krzysztof Patan

Dokładność obliczeń numerycznych

Przykładowe pytania DSP 1

Struktura i działanie jednostki centralnej

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

LEKCJA TEMAT: Współczesne procesory.

1.1. Pozycyjne systemy liczbowe

Sprawdzian test egzaminacyjny GRUPA I

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Magistrala systemowa (System Bus)

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Architektura komputerów

Ochrona danych osobowych. Pozycyjne systemy liczbowe. Jednostki informacji. Kodowanie znaków ASCII, ISO 8859, Unicode. Kodowanie liczb NKB, U2, BCD

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

1 Moduł Modbus ASCII/RTU 3

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

1 Moduł Modbus ASCII/RTU

Mikroprocesory rodziny INTEL 80x86

Urządzenia zewnętrzne

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Kod U2 Opracował: Andrzej Nowak

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Pascal typy danych. Typy pascalowe. Zmienna i typ. Podział typów danych:

Podstawy Projektowania Przyrządów Wirtualnych. Wykład 9. Wprowadzenie do standardu magistrali VMEbus. mgr inż. Paweł Kogut

Wprowadzenie do informatyki - ć wiczenia

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Budowa Mikrokomputera

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

ARCHITEKTURA PROCESORA,

Transkrypt:

Mikroinformatyka Koprocesory arytmetyczne 8087, 80187, 80287, i387

Koprocesor arytmetyczny 100 razy szybsze obliczenia numeryczne na liczbach zmiennoprzecinkowych. Obliczenia prowadzone równolegle z procesorem głównym. Rodzina koprocesorów: - 8087 dla 8086-80187 dla 80186-80287 dla 80286 - i387 dla i386 Operacje: - arytmetyczne ( +, -, /, * ) - porównywanie - funkcje trygonometryczne - funkcje wykładnicze - funkcje logarytmiczne

Liczby zmiennoprzecinkowe x = M * B E gdzie: M mantysa (significand, mantissa) B podstawa systemu liczbowego (base) E cecha (exponent) W reprezentacji komputerowej B = 2. Na mantysę i cechę jest przeznaczona ograniczona liczba bitów: skończona dokładność, pewien policzalny zbiór wartości. Mantysa jest znormalizowana, należy do przedziału [1,B). Cecha jest przesunięta (BIAS) i jest zawsze dodatnia. Dodatkowy bit S określa znak liczby. X = (-1) S * M * B E-BIAS

Liczby zmiennoprzecinkowe Typy danych rzeczywistych obsługiwane przez koprocesor: Pojedynczej precyzji 32 bity 31 23 22 0 S E M Podwójnej precyzji 64 bity 63 52 51 0 S E M Rozszerzonej precyzji 80 bitów 79 64 63 62 0 S E I M I część całkowita mantysy

Słowo 16 bitów Podwójne słowo 32 bity Poczwórne słowo 64 bity Spakowana liczba BCD Liczby całkowite Typy danych całkowitych obsługiwanych przez koprocesor: 79 0 D17 D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0

Liczby zmiennoprzecinkowe Wartości specjalne S E M NaN Not a Number SNaN Znaczący QNaN Cichy x 11111111 x 11111111 x 11111111 xxxxx...1...xxxxx 0xxxx...1...xxxxx 1xxxxxxxxxxxxx + 0,0 0 0000000 00000000000000-0,0 1 0000000 00000000000000 Nieskończoność x 11111111 00000000000000

Schemat blokowy 80187

Współpraca 8087 z procesorem

Współpraca 8087 z procesorem Koprocesor jest podłączony do magistral procesora. Oba układy tworzą system wieloprocesorowy. Podział systemów wieloprocesorowych: - systemy ze wspólną pamięcią układ ściśle (silnie) powiązany (tightly coupled) - systemy z przesyłaniem komunikatów układ luźno (słabo) powiązany (loosely coupled), lub z pamięcią rozproszoną (distributed memory) Koprocesor 8087 z procesorem 8086 tworzy układ ściśle powiązany.

Współpraca 8087 z procesorem 8087 śledzi synchronicznie wykonywany przez procesor program. Określa stan procesora na podstawie linii S0, S1, QS0, QS1. Pobiera wszystkie rozkazy wychwytuje rozkazy ESCAPE. Po napotkaniu rozkazu ESCAPE generuje sygnał BUSY. Procesor może kontynuować wykonywanie programu jeśli nie ma kolejnych rozkazów dla 8087. Jeśli program przewiduje oczekiwanie na wynik obliczeń należy użyć rozkazu WAIT. Rozkazy ESCAPE mogą mieć argumenty w pamięci. 8087 nie oblicza adresu adres jest obliczany przez procesor. Przy odczycie pierwszego bajtu 8087 odczytuje również z magistrali adres wygenerowany przez procesor. Jeśli są kolejne bajty koprocesor przejmuje magistrale i generuje adres inkrementując zapamiętaną wartość. W trybie zapisu pierwszy odczytany bajt jest ignorowany.

Współpraca i387 z i386

Współpraca i387 z i386 i387 pracuje jednakowo niezależnie od trybu pracy i386. Wyprowadzenia do synchronizacji z procesorem: PEREQ informacja dla procesora o gotowości transmisji danych. BUSY informacja dla procesora o trwaniu obliczeń. ERROR informacja dla procesora o wyjątku. i387 nie śledzi magistral i386 wysyła do niego rozkazy i dane. i387 współpracuje z i386 jak specjalne urządzenie peryferyjne. Po wykryciu przez i386 instrukcji ESCAPE jest ona wysyłana do 387 Odebranie rozkazu jest sygnalizowane sygnałem PEREQ. Zakończenie wykonania rozkazu jest sygnalizowane sygnałem BUSY

Rozkazy ESCAPE Z odwołaniami do pamięci Bez odwołań do pamięci

Rejestry koprocesora 80-bitowe rejestry ułożone w 8-poziomowy stos. Z każdym rejestrem jest związane 2-bitowe pole w rejestrze TAG. 00 wartość poprawna 01 zero 10 nieskończoność, NaN, wartość zdenormalizowana, błąd 11 rejestr pusty

Rejestry koprocesora Rejestr sterujący (Control Word). Zaokrąglenia (RC): 00 najbliższa wartość 01 w dół 10 w górę 11 obcięcie Precyzja (PC): 00 24 bity (Single Precision) 01 rereserved 10 53 bity (Double Precision) 11 64 bity (Extended Precision)

Rejestr stanu (Status Word). Rejestry koprocesora Przykładowo wynik porównania: (bity C3, C2, C0) 0 0 0 TOP > argument 0 0 1 TOP < argument 1 0 0 TOP = agrument 1 1 1 nie określone