Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

4.1.4. Математический сопроцессор 80287.

Сопроцессор 80287 предназначен для расширения вычислительных возможностей центрального процессора (CPU) 80286 и 386. Функционально он напоминает сопроцессор 8087, но имеет возможность работы в реальном и защищенном режимах, выполняет некоторые дополнительные инструкции и иначе обрабатывает исключения. Интерфейс взаимодействия с основным процессором существенно отличается от связки За счет изменения архитектуры повышена производительность вычислений. Более поздняя модификация, официально называемая lntel287 XL МСР (Math Coprocessor), имеет улучшенную архитектуру, повышенную производительность (сокращено количество тактов на выполнение f операций) и поддерживает инструкции, доступные для 387+ К этой модификации относятся также и все математические отличия, которыми обладают сопроцессоры 387+ относительно 8087 и 80287.

Аппаратный интерфейс рассчитан на подключение к локальной шине процессора 80286 или 386 Расположение выводов приведено на рис. 4.9, назначение сигналов — в табл. 4.6.

Обмен данными между процессором и сопроцессором 80287 происходит по локальной шине данных в циклах чтения и записи портов ввода/вывода. Для сопроцессора в адресном пространстве ввода/вывода зарезервирована область 00F8-00FFh. Внешний дешифратор адреса при обращении к этой зоне подает на сопроцессор сигналы NPS1# = 0 и NPS2 = 1. На входы CMDO, CMDI подаются защелкнутые по сигналу ALE биты А1 и А2 шины адреса. Назначение шинных циклов приведено в табл. 4. 7.

НЕ нашли? Не то? Что вы ищете?

Сигнал

I/O

Назначение

CLK

I

Clock — внешний сигнал синхронизации процессора

СКМ

I

Clock Mode — режим синхронизации при СКМ=1 внутренняя частота сопроцессора совпадает с внешней, при СКМ°0 внутренняя частота получается делением CLK на 3 (или на 2 в 287XL)

RESET

I

Сигнал аппаратного сброса (высоким уровнем)

PEREQ

O

Processor Extension Operand Request — запрос на передачу операнда во внутренний FIFO-буфер сопроцессора или из него

PEACK#

I

Processor Extension Operand Acknowledge — окончание передачи операнда

BUSY#

О

Processor Extension Busy — сигнал занятости выполнением операции

ERROR#

O

Processor Extension Error — сигнал ошибки (отражает значение бита ES слова состояния)

D [0:15]

I/O

Линии шины данных

NPRD#

I

Numeric Processor Read — сигнал чтения данных сопроцессора (соединяется с линией IORD#)

NPWR#

I

Numeric Processor Write — сигнал записи данных в сопроцессор (соединяется с линией IOWR#)

NPSI#, NPS2#

I

Numeric Processor Select — выборка сопроцессора обращение к 80287 возможно лишь при NPSI#=0 и NPS2#=1

CMDO, CMDI

I

Command Selects — сигналы выбора команды обмена

В отличие от 8087 сопроцессор 80287 не обращается к памяти напрямую, оставляя все заботы адресации основному процессору Все обмены данными инициируются процессором по инструкции ESCAPE Получив и декодировав инструкцию, сопроцессор выставляет запрос PEREQ, и процессор, установив сигнал подтверждения РЕАСК#, передает данные в шинных циклах ввода/вывода. По окончании пересылки процессор снимает сигнал РЕАСК#. Если этот выход соединить с одноименным входом процессора, то при следующей инструкции WAIT и ряде команд ESCAPE будет генерироваться исключение 16 (l0h). Однако в РС/АТ-286 этот выход заводится на вход вторичного контроллера прерываний IRQ13, вызывая в случае исключения прерывание 117 (Int 75h). В отличие от сопроцессора 8087, операция WAIT встроена во все инструкции, относящиеся к сопроцессору, поэтому сопроцессор 287 применения отдельной инструкции WAIT перед каждой командой не требует.

Таблица 4.7. Назначение шинных циклов сопроцессора 80287.

Адрес

CMDI

CMDO

NPRD#

NPWR#

Назначение цикла

00F8

0

0

1

0

Запись кода операции в 80287

00F8

0

0

0

1

Чтение SW или CW из 80287

00FA

0

1

0

1

Чтение данных из 80287

00FA

0

1

1

0

Запись данных в 80287

00FC

1

0

1

0

Запись указателей исключений

00FC

1

0

0

1

Зарезервировано

После аппаратного сброса сопроцессор устанавливается в реальный режим, в котором связка 80286/80287 программно совместима с 8086/8087. В защищенный режим сопроцессор переключается по инструкции FSETPM, из которого, в отличие от основного процессора 80286, он может вернуться в реальный по инструкции FRSTPM Перевод в защищенный режим изменяет форматы административных инструкций, которые обычно используются только обработчиками исключений, так что на прикладном уровне 80287 в обоих режимах обратно совместим с 8087.