а є командою співпроцесора, він починає переходити в активний режим. Повністю активним він стає, коли мікропроцесор починає виконувати його команду.
Система команд співпроцесора включає в себе більше 80 команд, проте мікропроцесор сприймає все їх як одну команду esc (escape). З точки зору мікропроцесора є 3 різновиди цієї команди.
команда працює з внутрішніми регістрами співпроцесора і не вимагає звернення до оперативної пам'яті. ВМ86 і ВМ87 одночасно починають виконання цієї команди. При цьому ВМ86 виконує її як команду nop (nooperation) і переходить до виконання наступної команди програми, а ВМ87 продовжує правильне виконання заданої команди. Далі обидва процесора працюють паралельно.
команда читає операнд, з оперативної пам'яті заносить його у внутрішній регістр співпроцесора. Адреса перехоплює співпроцесор і заносить його в свій спеціальний внутрішній регістр. З оперативної пам'яті по виставленому адресою зчитується слово, яке співпроцесор приймає, а мікропроцессорігнорірует. Далі мікропроцесор переходить до виконання наступної команди програми. Операнди співпроцесора займають в пам'яті до 10-ти байт, тому що залишився «хвіст» операнда співпроцесор повинен вважати самостійно. Для цих цілей співпроцесор запитує у мікропроцесора шину по лінії RQ / GT і зчитує залишок операнда з оперативної пам'яті, використовуючи перехоплений адресу.
команда заносить в пам'ять вміст внутрішнього регістра співпроцесора. ВМ86 виробляє адреса, який перехоплює співпроцесор. За цією адресою з оперативної пам'яті зчитується слово, яке ігнорують обидва процесора. Потім ВМ87 запрошувати шину по лінії RQ / GT і проводить запис в оперативну пам'ять, використовуючи перехоплений адресу.
Команди співпроцесора складні, і для їх виконання потрібно багато часу. Тому висока ймовірність того, що до початку виконання наступної команди співпроцесора останній не встигне завершити виконання попередньої команди. Перед командами співпроцесора в програмах рекомендується ставити команду wait (чекати). Ця команда перевіряє сигнал на вході TEST і, якщо там стоїть одиниця, мікропроцесор чекає, поки на вході TEST чи не з'явиться нуль. Сигнал на вхід TEST заводиться з виходу BUSY (зайнятий) співпроцесора. При цьому якщо на BUSY варто одиниця, значить ВМ87 зайнятий виконанням команди.
2.3 Функції математичного співпроцесора
Співпроцесори виконують такі складні операції, як ділення довгих операндів, обчислення тригонометричних функцій, витяг квадратного кореня і знаходження логарифма, в 10-100 разів швидше основного процесора і при цьому значно точніше Операції додавання, віднімання та множення виконуються основним процесором і не передаються сопроцессору.
Співпроцесор працює паралельно з мікропроцесором, це скорочує час обчислень, дозволяючи сопроцессору виконувати математичні операції, в той час як мікропроцесор займається виконанням інших функцій.
Вся діяльність математичного співпроцесора визначається центральним процесором, який може посилати математичному сопроцессору команди на виконання програм та формування результатів.
У звичайному режимі центральний процесор виконує всі функції комп'ютера. І лише, коли зустрічається завдання, з якою краще впорається математичний співпроцесор, йому ...