 |
Сопроцессор устанавливает сигнал BUSY если он выполняет
команду. 80386 Не посылает следующую команду сопроцессору до
тех пор, пока сигнал BUSY - низкий. Программное обеспечение
может синхронизировать процессор 80386 с сопроцессором, выда-
вая команду WAIT, которая приостанавливает 80386 до тех пор,
пока сигнал BUSY остается неактивным. Сопроцессор устанавли-
вает сигнал ERROR, когда он обнаруживает особую ситуацию, ко-
торая должна быть обработана операционной системой, в ответ
на это 80386 вызывает обработчик особых ситуаций числового
сопроцессора, выдавая особую ситуацию 7. Вывод PEREQ исполь-
зуется для реализации сопроцессорного протокола процессора
80386.
6. Сведения о функционировании
6.1 Введение
Характерной чертой 80386 является наличие простого функ-
ционального интерфейса для взаимосвязи с внешними модулями.
В 80386 имеются две раздельные шины: шина адреса и шина
данных. Шина данных - 32-разрядная и двунаправленная. В боль-
шинстве применяемых модулей для высококоростной локальной ши-
ны используются 32 разряда адреса, передаваемого по адресной
шине, из них 2 младших разряда дешифрируются в 4 сигнала
строба данных (каждый из этих сигналов разрешает или запреща-
ет передачу соответствующего байта данных), а остальные 30
разрядов представляют собой двоичный код адреса. Для управле-
ния обменом по шине адреса и шине данных используются соот-
ветствующие управляющие сигналы.
Изменяемая ширина (разрядность) шины данных позволяет
процессору взаимодействовать как с 32-х, так и с 16-разрядны-
ми внешними шинами в синхронном режиме (см. 6.3.4).
Если передача информации состоит из нескольких циклов
обмена, каждый из которых требует 16-разрядной ширины шины
данных, то все равно 80386 в каждом цикле автоматически вы-
полнит необходимую процедуру установления разрдности шины.
*-разрядные периферийные устройства могут быть подключены к
32-х или 16-разрядным шинам, при этом их производительность
не снижается. В 80386 применяется новый режим конвейерной ад-
ресации, который обеспечивает в случае 32-х и 16-разрядной
шин наиболее рациональное использование памяти, особенно это
проявляется в очень напряженном режиме работы с ресурсами па-
мяти (когда доступ к памяти требуется большому числу абонен-
тов).
Режим конвейерной адресации по сравнению с другими спо-
собами адресации значительно сокращает время нахождения ин-
терфейса памяти в состоянии ожидания (см. 6.4.2). Конвейерную
адресацию целесообразно применять в системах, имеющих в своем
составе память с расслоением. В системах с рабочей частотой
16 МГц, включающих в себя память с расслоением со временем
обращения 100 Нс (динамические ОЗУ), можно совсем исключить
состояние ожидания, применяя конвейерную адресацию. Когда
внешние модули потребуют режим конвейерной адресации, 80386
сформирует адрес и определит длительность цикла шины для
предстоящего цикла шины (если позволяют внутренние ресурсы),
даже если в настоящий момент процессор ожидает подтверждение
в текущем цикле.
Однако, неконвейеризированный способ адресации идеально
подходит для устройств, в состав которых входит кэш-память,
так как высокое быстродействие кэш-памяти позволяет работать
в неконвейеризированном режиме. Для обеспечения максимальной
гибкости системы на основе совмещения циклов конвейерный спо-
соб адресации применяется в синхронных системах.
Цикл шины процессора является основным средством переда-
чи информации из системы в процессор или из процессора в сис-
тему.
Минимальная длительность цикла передачи данных по шине в
80386 состовляет два периода тактовой частоты. Поскольку про-
цессор 80386 имеет 32-разрядную шину данных и рабочую частоту
16 МГц, то следовательно максимальная пропускная способность
80386 составляет 32 Мбайт/сек. Однако, длительность любого
цикла шины может быть увеличена, если в этом цикле задержива-
ется выдача подтверждения обмена от внешнего модуля. В соот-
ветствующий момент времени подтверждение выдается путем фор-
мирования сигнала на входе READY (ГОТОВ) процессора 80386.
80386 может терять доступ к своим локальным шинам, пере-
давая управление ими другим устройствам, например, каналам
прямого доступа к памяти. При этом, за исключением единствен-
ного выхода HLDA, формируемого 80386, обеспечивается почти
полная изоляция процессора от системы. Изолязия процессора
необходима при передаче управления тестовому оборудованию или
в отказоустойчивых применениях (в многопроцессорных системах
для изоляции отказавшего процессора и замены его другим).
В данном разделе представлены сведения об интерфейсе
процессора. Во-первых, описано назначение и функции выводов
процессора (см. 6.2 Описание сигналов). Кроме того, описаны
изменения сигналов в течение циклов шины (см. 6.3 Механизм
обмена по шине, 6.4 Описание функционирования шины и 6.5 Дру-
гие сведения по функционированию).
6.2 Описание сигналов
6.2.1 Введение
Подраздел начинается с краткого описания входных и вы-
ходных сигналов 80386, объединенных в функциональные группы.
Отметим, что наличие символа # после названия сигнала означа-
ет, что активное состояние сигнала - состояние низкого уров-
ня. И наоборот, когда такого символа # нет после названия
сигнала, то сигнал активен при высоком уровне.
Пример обозначения сигнала: M/IO#
- Высокий уровень означает обращение к памяти.
- Низкий уровень означает обращение к устройст-
вам ввода/вывода.
В описаниях сигналов встречаются иногда обозначения вре-
менных параметров, таких как "t25 Reset/Setup Time" (Время
сброса при включении питания) и "t26 Reset Hold Time" (Время
удержания сигнала сброса). Значения этих параметров приведены
в табл.7-4 и табл.7-6.
6.2.2 Синхросигнал (CLK2)
CLK2 обеспечивает основную синхронизацию работы 80386.
Эта тактовая частота делится пополам для того, чтобы сформи-
ровать внутреннюю процессорную тактовую частоту, используемую
при выполнении команд внутри процессора. Внутренний синхро-
сигнал состоит из двух фаз: "фазы один" и " фазы два". Каждый
период частоты. На рис.6-2 показано соотношение двух синхро-
сигналов. Если необходимо, фаза внутреннего синхросигнала мо-
жет быть синхронизирован от такого отрицательного фронта сиг-
нала RESET, который обеспечит заданные времена установки и
удержания, t25 и t26 (setup and hold times).
6.2.3 Шина данных (D0-D31)
Двунаправленные с тремя состояниями линии шины данных
обеспечивают перемещение данных от 80386 к другим устройст-
вам. Наличие высокого уровня напряжения на входах/выходах ши-
ны данных обозначает наличие кодов логической единицы "1" на
этих выводах. Шина данных может передавать данные как на 32-,
так и на 16-разрядные шины благодаря тому, что есть возмож-
ность изменения размера шины данных; размер шины данных опре-
деляется значением входного сигнала BS16# (см. параграф 6.2.6
Шина управления).
Для правильного выполнения операций считывания сигналов
с шины данных требуется обеспечение необходимых значений вре-
мени установки t21 и времени удержания t22 считываемых дан-
ных.
При любой операции записи (включая циклы останова и вык-
лючения) 80386 всегда передает все 32 разряда данных, даже
если в текущем цикле размер шины обмена равен 16 разрядам.
6.2.4 Шина адреса (BE0#-BE3#, A2-A31)
Эти выходы с тремя состояниями обеспечивают физическую
адресацию памяти или адресацию устройств ввода/вывода. Шина
адреса обеспечивает физическое пространство адресов памяти
объемом 4 гигабайта (от 00000000H до FFFFFFFFH) и пространст-
во адресов ввода/вывода объемом 64 килобайта (от 00000000H до
0000FFFFH) для обращения к устройствам ввода/вывода. Для пе-
редачи сигалов ввода/вывода, автоматически формируемых для
обеспечения взаимодействия 80386 с сопроцессором, использует-
ся адресное пространство ввода/вывода от 800000F8H до
800000FFH, так как для обращения к сопроцессору необходимо
совпадение двух условий: наличие высокого уровня напряжения
на линии адреса А31 и наличие низкого уровня на линии M/IO#.
Значения сигналов стробов данных BE0#-BE3# определяют
соответственно те байты 32-разрядной шины данных, которые
участвуют в текущей передаче. Это особенно удобно для взаимо-
действия с внешней аппаратурой.
BE0# определяет участие в обмене разрядов D0-D7,
BE1# -"- D8-D15,
BE2# -"- D16-D23,
BE3# -"- D24-D31.
Количество стробов данных BE0#-BE3#, находящихся в ак-
тивном состоянии, определяет размер операнда обмена (1,2,3
или 4 байта) (см. параграф 6.3.6 Выравнивание данных).
Когда выполняется цикл записи в память или в устройство
ввода/вывода, и передаваемый операнд занимает только старшие
16 разрядов шины данных (D16-D31), копия этого операнда од-
новременно передается по младшим 16 разрядам шины данных
(D0-D15). Это дублирование выполняется для обеспечения опти-
мального режима записи на 16-разрядные шины. Процедура дубли-
рования записываемых данных зависит от значений стробов дан-
ных BE0#-BE3#.
Таблица 6-1.
Зависимость дублирования записываемых данных
от значений BE0#-BE3#
ЙНННННННННННННННННННЛННННННННННННННННННННННННННННЛННННННННННН»
єСтробы данных 80386єЗаписываемые данные 80386 єЕсть ли ав-є
МННННЛННННЛННННЛННННОНННННННЛНННННННЛННННННЛННННН№томатичес- є
єBE3#єBE2#єBE1#єBE0#єD24-D31єD16-D23єD8-D15єD0-D7єкое дубли- є
є є є є є є є є єрование? є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
євыс.євыс.євыс.єниз.єнеопр. єнеопр. єнеопр.є А є нет є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
євыс.євыс.єниз.євыс.єнеопр. єнеопр. є В єнеопрє нет є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
євыс.єниз.євыс.євыс.єнеопр. є С єнеопр.є С є да є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
єниз.євыс.євыс.євыс.є D єнеопр. є D єнеопрє да є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
євыс.євыс.єниз.єниз.єнеопр. єнеопр. є В є А є нет є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
євыс.єниз.єниз.євыс.єнеопр. є С є В єнеопрє нет є
МННННОННННОННННОННННОНННННННОНННННННОННННННОНННННОННННННННННН№
єниз.єниз.євыс.євыс.є D є С є D є С є да є
|