Кіріспе

Компьютерлік жылжымалы нүктелік құрылғы

Motorola 68881 және Motorola 68882 – Motorola компаниясының 32 биттік 68020 немесе 68030 микропроцессорларымен бірге кейбір компьютер жүйелерінде қолданылатын жылжымалы нүктелік құрылғылар (FPU). Бұл копроцессорлар – жылжымалы нүктелік есептеулер процессорларда стандартты болмас бұрын жасалған сыртқы чиптер. Motorola 68881 1984 жылы ұсынылған. 68882 – кейіннен шығарылған, жоғары өнімділікке ие нұсқасы.

Шолу

68020 және 68030 процессорлары жеке 68881 чипімен жұмыс істеу үшін жасалған. Олардың нұсқаулар жиынтығы "F" қатарындағы нұсқауларды резервтеді – яғни, "F" гексадецималды санымен басталатын барлық операциялық кодтар сыртқы копроцессорға жіберіле алады немесе "ұстау" ретінде қолданылып, ерекше жағдай тудырып, басқаруды компьютердің операциялық жүйесіне береді. Егер жүйеде FPU болмаса, операциялық жүйе FPU эмуляторын шақырып, 68020 процессорлық толық сандық бағдарламалық кодты пайдаланып нұсқаудың баламасын орындайды, бағдарламаға қате хабарлама жібереді, бағдарламаны тоқтатады немесе жүйе құлап, қайта жүктеу қажет болады.

Сәулет

Motorola 68881/68882 сериялы тіркелгілер 79 63 00 (бит позициясы) Жылжымалы нүктелік тіркелгілер ± экспонент мантисса FP0 ± экспонент мантисса FP1 ± экспонент мантисса FP2 ± экспонент мантисса FP3 ± экспонент мантисса FP4 ± экспонент мантисса FP5 ± экспонент мантисса FP6 ± экспонент мантисса FP7 31 23 15 07 00 (бит позициясы) Бақылау тіркелгісі 0 0 Ерекшеліктерді қосу Басқару режимі FPCR Мәртебе тіркелгісі Шарт коэффициенті Ерекшелік мәртебесі Жиналған ерекшеліктер FPSR Нұсқау адресі тіркелгісі 32 Биттік мекенжай FPIAR

68881 сегіз 80 биттік дерек тіркелгісіне ие (64 биттік мантисса, бір биттік таңба және 15 биттік белгілі экспонент). Ол сандық өрнектеудің жеті әртүрлі режимін ұсынады, соның ішінде бірлік дәлдіктегі жылжымалы нүкте, қос дәлдіктегі жылжымалы нүкте, кеңейтілген дәлдіктегі жылжымалы нүкте, 8, 16 және 32 биттік сандар және жылжымалы нүктелі бинарлық кодталған ондық формат. Бинарлық жылжымалы нүктелік форматтар IEEE 754 жылжымалы нүктелік стандартында анықталған. Ол жылжымалы нүктелі математика үшін арнайы жасалған және жалпы мақсаттағы процессор емес. Мысалы, нұсқаулыққа кез келген мекенжай есептеулері қажет болғанда, 68881 басқаруды қолға алғанға дейін оларды негізгі процессор (CPU) орындайды. CPU/FPU жұбы екеуі де бір уақытта жұмыс істей алатындай етіп жасалған. CPU 68881 нұсқаулығымен кездескенде, ол FPU-ға осы нұсқаулық үшін қажетті барлық операторларды жібереді, содан кейін FPU процессорды (CPU) келесі нұсқаулықты орындау үшін босатады.

68882 - - - - - - - - - -

68882 – 68881-дің жақсартылған нұсқасы, оның құбырлары жақсырақ жасалған, содан кейін жоғары тактоқ жылдамдықтарымен қолжетімді болды. Оның командалар жиынтығы толықтай бірдей. Motorola компаниясы кейбір жарнамалық материалдарында 68882, 68881-ге қарағанда бірдей тактоқ жылдамдығында кейбір командаларды 40%-ға жылдам орындайтынын мәлімдеді, бірақ бұл көрсеткіш нақты өнімділікті көрсетпеді, төмендегі кестеде көрініп тұрғандай, жақсартуы одан әлдеқайда қарапайым болды. 68882, 68881-мен қосқыштар бойынша үйлесімді және көптеген жүйелерде тікелей алмастыру ретінде қолданылуы мүмкін. Бағдарламалық қамтамасымен үйлесімсіздіктің ең маңызды мәселесі – 68882 үлкен FSAVE күйлік блогын пайдаланады, бұл UNIX және басқа да премптивті көп тапсырмалы операциялық жүйелерге әсер етеді, олар үшін оған арналған жад көлемін ұлғайту үшін өзгерістер енгізілуі тиіс болды.

Қолданылуы

68881 немесе 68882 Sun Microsystems Sun 3 жұмыс станцияларында, IBM RT PC жұмыс станцияларында, Apple Computer Macintosh II отбасы, NeXT Computer, Sharp X68000, Amiga 3000, Convergent Technologies MightyFrame, Atari Mega STE, TT және Falcon машиналарында қолданылған. Кейбір үшінші тарап Amiga және Atari өнімдері 68881 немесе 68882 процессорларын 68000 процессорларына жадқа бейімделген перифериялық құрылғы ретінде пайдаланған.

Мұра

Motorola 68040 процессорынан бастап, қалқыма нүктелік есептеулерге қолдау процессордың құрамына енгізілді.