Организация вычислительных систем

   купить фанеру в Санкт-Петербурге спб дешево - любая. |     

Математические сопроцессоры для ЦП фирмы Motorola


Для своих ЦП MC680x0 фирма Motorola разработала специальный сопроцессорный интерфейс (рис. 8.3). Интерфейс сопроцессора отличается от, например, интерфейса периферийного устройства тем, что сопроцессор добавляет в систему новые инструкции, дополнительные регистры и типы данных, которые обычно не предусматриваются программной моделью целочисленного устройства ЦП. Тем не менее, коммуникационный протокол между ЦП и сопроцессором прозрачен для программиста, т.к. реализован аппаратно. Этот коммуникационный протокол слабо привязан к архитектуре ЦП, так что любой сопроцессор, реализующий данный протокол, может быть использован в системе с ЦП MC680x0. В то же время архитектура ЦП этого семейства свободна от каких-либо априорных предположений о возможностях сопроцессора. Это, очевидно, дает определенную свободу при построении систем с сопроцессором на основе ЦП MC680x0.


Рис. 8.3.  Сопроцессорный интерфейс MC680х0

Обмен информацией между процессором и сопроцессором происходит через внешнюю шину ЦП, не привлекая специальных сигнальных линий:

  • A19-A13 - определяют операцию и тип сопроцессора;
  • FC2-FC0 - передают функциональный код (статус) сопроцессора;
  • А4-А0 - передают номер регистра интерфейса CIR;
  • AS-строб адреса (показывает достоверность адреса на шине адреса);
  • DS-строб данных;
  • R/W-определяет направление пересылки;
  • DSACK1, DSACK2 - подтверждают пересылку и размер операнда (служат для определения пересылки и динамического определения ширины шины данных).

При этом некоторые модели ЦП, например MC68020, допускают для сопроцессора асинхронные циклы шины, так что ЦП и сопроцессор могут работать на разных частотах, сбалансировав, таким образом, свою производительность.

Коммуникационный протокол для передачи сопроцессору инструкций для выполнения использует группу интерфейсных регистров - CIR (Coprocessor Interface Registers). Через эти же регистры сопроцессор сообщает ЦП о своем состоянии (табл. 8.4).

Таблица 8.4. Регистры сопроцессорного интерфейса (CIR)

АдресНазначение
31 1615 0
$00Регистр ответаРегистр управления
$04Регистр сохраненияРегистр восстановления
$08Слово операцииРегистр команды
$0Cрезерв.Регистр условия
$10Регистр операнда
$14Регистр выборарезерв.
$18Регистр адреса инструкции
$1CРегистр адреса операнда

Программная модель сопроцессоров Motorola MC68881/MC68882, реализующих описанный выше сопроцессорный интерфейс, соответствует стандарту IEEE-754, а поэтому весьма схожа с программной моделью сопроцессоров семейства Intel x87.



Содержание раздела