Rezumat: În acest curs, vorbim despre modul în care schimbul de informații între CPU și un coprocesor, un coprocesor matematic funcții și caracteristici ale PC-ului de programare cu un coprocesor. Structura coprocessor Familia Intel X87 si procesoare Pentium unitate aritmetică reală (FPU) și organizarea coprocesor interfeței procesorului familiei MC680h0 Motorola. Obiectiv: Pentru a introduce principiile de bază ale organizării coprocesoare, forma și abilitățile necesare pentru înțelegerea funcționării sistemelor cu coprocesoare.
Coprocesoare. Metode pentru schimbul de informații între CPU și coprocesorului
Coprocessor - un circuit integrat specializat. care lucrează în cooperare cu CPU, dar mai puțin versatil. Spre deosebire de CPU, coprocesorul are un contor de program. Coprocessor adecvată pentru efectuarea unui anumit set de funcții, cum ar fi operații cu numere reale - coprocesor matematic. pregătirea scenelor tridimensionale grafică și - coprocessor grafica, procesarea semnalului digital - semnal coprocessor et al.
Utilizarea de co-procesoare cu caracteristici diferite permite rezolvarea unei game largi de probleme:
- prelucrarea informațiilor economice;
- modelare;
- de conversie a imaginii;
- control industrial;
- Sistemul de control numeric;
- roboți;
- navigație;
- Colectarea datelor și altele.
două moduri de a face schimb de informații între CPU și coprocesorul se pot distinge:
- conectarea directă a porturilor de intrare și ieșire (CPU are o interfață specială pentru coprocesorul);
- cu schimb prin intermediul memoriei (schimbul de informații între CPU și coprocesorul se datorează memoriei de acces coprocesor prin coloana vertebrală a sistemului).
Math coprocessor: funcțiile de bază
Una dintre cele mai comune tipuri de co-procesoare - coprocesor matematic. Math coprocessor pentru efectuarea de operații aritmetice rapid, punctul plutitoare, de constantă reale utilizate în mod obișnuit (, log 10 februarie log 2 e, In2.), Și alte calcule trigonometrice funcțiilor transcendentale (tg, arctg, log.).
Cele mai multe coprocessor matematice moderne pentru a reprezenta numere reale folosind IEEE 754-1985 standardul „IEEE 1 Institutul de Inginerie Electrică și Electronică - Institutul de Inginerie Electrică și Electronică standard pentru binar Floating-punct aritmetica“. bit semnificativ de reprezentarea binară a unui număr real este întotdeauna codifică semnul numărul. Restul de împărțit în două părți: exponent și mantisa. Numărul real se calculează ca: (-1) S · 2 E · M. unde S - numărul de biți semn, E - expozantul. M - mantisă. În cazul în care 1<=M<2. то такое число называется нормализованным. При хранении нормализованных чисел сопроцессор отбрасывает целую часть мантиссы (она всегда 1), сохраняя лишь дробную часть. Экспонента кодируется со сдвигом на половину разрядной сетки, таким образом, удается избежать вопроса о кодировании знака экспоненты. Т.е. при 8-битной разрядности экспоненты код 0 соответствует числу -127, 1 - числу -126. 255 числу +126 ( экспонента вычисляется как код 127).
standardul IEEE -754 definește trei metode de codificare de bază (tip) de numere reale.
Tabelul 8.1. Tipuri (mijloace) care codifică numere reale