В системе локальной шины, обменом всегда управляет CPU: - формирует адреса выборки команд и операндов, при обмене данными между FPU и DRAM - считывает информацию из ОЗУ и регистров FPU. FPU i387 подключен к CPU параллельно в 32-разрядном формате шины, а i287 - в 16-разрядном.
Взаимодействие FPU с системой осуществляется посредством команд. Все команды, транслируемые в CPU, параллельно поступают и в FPU, но команды FPU имеют особый код ESC (11011).
При встрече в программе команды ESC, выполняются следующие процедуры:
1) CPU записывает в свои регистры: код операции FPU, адреса команды, операнда и направление передачи;
2) в режиме РМ, CPU обеспечивает защиту информации и анализирует линию /BUSY от FPU;
3) если /BUSY=L, CPU переходит в ожидание, так как результат выполнения команды ESC может быть востребован очередной командой;
4) CPU подготавливает линии локальной шины для обмена с FPU;
5) FPU начинает выполнение очередной команды;
6) если FPU требуются данные, он выставляет на линию PE сигнал REQ=H, и тогда, -
7) CPU, имея все сведения для обмена на своих регистрах, активизирует линии /ADS, W/R#, Addres, М/IO#.
Обмен данными с FPU занимает не менее двух циклов CPU (по два внутрипроцессорных такта Ts и Tc, по два такта синхронизации CLK каждый, т. е. всего 8 тактов CLK2).
В первом цикле, CPU либо считывает данные из ОЗУ, запоминая их в своих регистрах, либо данные из арифметических регистров FPU (также запоминая их), теперь - для записи в ОЗУ.
Во втором цикле обмена, CPU, через сигналы своего внешнего интерфейса, записывает данные из своего внутреннего регистра в ОЗУ, либо через порты FPU - в арифметические регистры FPU.
Подключение математического сопроцессора.
Для подключения FPU, системная плата имеет или 40-контактный FPU-chip-socket для i287, или мозаичную 68-контактную розетку для i387, или 114-контактную розетку комбинированного применения для FPU WEITEK.
Если контакты на панели розетки расположены в два ряда - это розетка для FPU фирм INTEL, Cyrix, IIT, ULSI, AMD. Если в три ряда - это для FPU фирмы WEITEK. Могут быть две розетки, или панель типа EMC (Expanded Math Coprocessor), универсальные - и для INTEL, и для WEITEK.
При установке FPU в розетку следует принимать меры предосторожности (CMOS очень чувствительна к статике):
- перед установкой следует временно закоротить специальной гребенкой все выводы чипа FPU;
- заземлить гребенку;
- заземлить корпус РС (вилка питания РС должна быть выключена из сети питания);
- работать следует всегда с антистатическим браслетом на руке;
- только после установки FPU в схему можно снять гребенку.
Контрольные вопросы
1. Каково назначение математического сопроцессора?
2. Какой формат имеют операнды при работе РС с плавающей точкой?
3. Как осуществляется процедура обмена данными FPU c DRAM?
4. Как конструктивно могут быть исполнен математический сопроцессор?
5. Какую внутреннюю разрядность данных имеет FPU?
6. Каков порядок подключения FPU к системной плате?