Опубликован: 18.05.2006 | Уровень: для всех | Доступ: платный | ВУЗ: Ульяновский государственный университет
Лекция 8:

Сопроцессоры

< Лекция 7 || Лекция 8: 123 || Лекция 9 >

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

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

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

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

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

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

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

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

Таблица 8.4. Регистры сопроцессорного интерфейса (CIR)
Адрес Назначение
31			16
15			0
$00 Регистр ответа Регистр управления
$04 Регистр сохранения Регистр восстановления
$08 Слово операции Регистр команды
$0C резерв. Регистр условия
$10 Регистр операнда
$14 Регистр выбора резерв.
$18 Регистр адреса инструкции
$1C Регистр адреса операнда

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

Вопросы для самоконтроля

  1. Что такое сопроцессор?
  2. Назовите основные способы обмена информацией между процессором и сопроцессором.
  3. Перечислите функции математического сопроцессора.
  4. Опишите форматы чисел с плавающей точкой по стандарту IEEE-754.
  5. Назовите основное отличие структуры сопроцессора 8087 от 80287.
< Лекция 7 || Лекция 8: 123 || Лекция 9 >
Виктория Монахова
Виктория Монахова
Евгений Коваленко
Евгений Коваленко
Сергей Бурнышев
Сергей Бурнышев
Россия
Леонид Сустретов
Леонид Сустретов
Россия, Аксайский р-н