 |
внутренний запрос, ожидающий обслуживание
"9"-READY# неактивизирован * NA# неактивизирован
"10"-(нет внутреннего запроса * HOLD активизирован) * NA#
активизирован * READY# неактивизирован
"11"-NA# активизирован * (HOLD активизирован * нет внутрен-
него запроса)
"12"-READY# неактивизирован * NA# активизирован * HOLD не-
активизирован * есть внутренний запрос, ожидающий обс-
луживание
"13"-NA# активизирован * HOLD неактивизирован * есть внут-
ренний запрос, ожидающий обслуживание
"14"-READY# активизирован
"15"-READY# неактивизирован * (нет внутреннего запроса *
HOLD активизирован)
"16"-READY# неактивизирован * есть запрос, ожидающий обслу-
живание * HOLD неактивизирован
"17"-READY# неактивизирован
Состояния шины :
Т1-первое состояние неконвейерного цикла шины (80386 выда-
ет новый адрес и устанавливает активный уровень ADS#).
Т2-последующие состояния цикла шины, когда при просмотре
сигнала NA# в текущем цикле шины он оказывается в неак-
тивном состоянии.
Т2i-последующие состояния цикла шины, имеющие место когда
обнаружен активный уровень NA# в текущем цикле шины, но
еще отсутствует внутренний запрос шины, ожидающий обс-
луживание (80386 не выдаст новый адрес или не установит
активный уровень ADS#).
Т2Р-последующие состояния цикла шины, имеющие место когда в
текущем цикле шины обнаружен активный уровень NA#, и
имеется внутренний, ожидающий обслуживание, запрос шины
(80386 выдаст новый адрес и активизирует сигнал ADS#).
Т1Р-первое состояние конвейерного цикла шины.
Ti-нерабочее состояние.
Th-состояние подтверждения захвата шины (80386 устанавли-
вает активный уровень HLDA).
Установка активного уровня NA# для конвейерной адреса-
ции может повлечь за собой одно из трех типов состояний шины:
Т2i,Т2Р и Т1Р.
В режиме конвейерной адресации самый короткий цикл шины
состоит из состояний Т1Р и Т2Р.
Рис.6-20. Диаграмма всех возможных состояний шины (включая
режим конвейерной адресации)
Самый короткий цикл шины в режиме конвейерной адресации
состоит только из двух состояний шины, Т1p и Т2p (напомним,
что для режима неконвейерной адресации такими состояниями яв-
ляются состояния Т1 и Т2). Т1p является первым состоянием ши-
ны конвейерного цикла.
6.4.3.5 Инициализация и поддержание режима конвейерной
адресации
Пользуясь диаграммой состояний на рис.6-20, проследим
переходы шины из нерабочего состояния Тi, в начало конвейер-
ного цикла шины Т1p. Цикл шины, первый после нерабочего сос-
тояния шины Тi, должен начинаться с состояния Т1, следова-
тельно этот цикл будет неконвейерным. Однако, если будет ус-
тановлен активный уровень NA#, и первый цикл шины закончится
в состоянии Т2p, то следующий цикл шины будет конвейерным
(адрес для следующего цикла шины выдается в состоянии Т2p
первого цикла). Кратчайший путь от нерабочего состояния к
циклу шины с конвейерной адресацией показан ниже:
Тi,Тi,Тi Т1-Т2-Т2p Т1p-Т2p
нерабочее неконвейерный конвейерный
состояние цикл цикл
Т1-Т2-Т2p - состояние цикла шины, в течение корого уста-
навливается адрес (конвейерный) для следующего цикла шины,
начинающегося с состояния Т1p. Переход к конвейерному циклу
из состояния подтверждения захвата шины осуществляется анало-
гично и показан ниже:
Тh,Тh,Тh Т1-Т2-Т2p Т1p*Т2p
состояние неконвейерный конвейерный
подтверждения цикл цикл
захвата
Переход к ковейерной адресации показан на рис.6-17 Цикл
1. Цикл 1 используется для перехода в режим конвейерной адре-
сации для выполнения последовательности конвейерных циклов 2,
3 и 4. В соответствующий момент устанавливается активный уро-
вень NA# для того, чтобы выбрать конвейерный адрес для циклов
2, 3 и 4.
Когда выполняется цикл шины, и достоверное значение те-
кущего адреса удерживается в течение одного состояния шины,
состояние входа NA# анализируется в конце каждой первой фазы
до тех пор, пока этот цикл не получит подтверждение. Следова-
тельно, в Цикле 1 на рис.6-17 процессор начинает анализ NA# в
состоянии Т2. Как только в текущем цикле NA# оказывается ус-
тановленным в активный уровень, 80386 освобождается, чтобы
выдать на шину новый адрес и тип цикла до начала следующего
состояния шины. Например, в Цикле 1 обеспечивает переход в
режим конвейерной адресации, так как он начинается с состоя-
ния Т1, но заканчивается состоянием Т2p. Поскольку адрес для
Цикла 2 устанавливается еще до начала Цикла 2, последний на-
зывается конвейерным циклом шины и начинается с состояния
Т1p. Цикл 2 начнется, как только активный сигнал READY# за-
вершит Цикл 1. Примерами переходных циклов шины являются Цикл
1 на рис.6-17 и Цикл 2 на рис.6-16. На рис.6-17 показан пере-
ход в течение цикла шины, первого после нерабочего состояния
шины, это самый кратчайший из возможных переходов в режим
конвейерной адресации. Цикл 2 на рис.6-16 иллюстрирует пере-
ходной цикл шины, имеющий место внутри последовательности ра-
бочих циклов шины. В любом случае переходные циклы осуществ-
ляются аналогично независимо от момента их появления: пере-
ходной цикл состоит по меньшей мере из состояний Т1, Т2 (в
этот момент вы устанавливаете активный сигнал NA#), Т2p (при
условии, что 80386 уже имеет ожидающий обслуживания внутрен-
ний запрос шины, это условие выполняется почти всегда). Сос-
тояния Т2p повторяются, если цикл дополняется состояниями
ожидания.
Отметим три состояния (Т1, Т2 и Т2p), комбинация которых
требуется только в цикле шины, выполняющем переход из режима
неконвейерной адресации в режим конвейерной адресации, напри-
мер, Цикл 1 на рис.6-17. Циклы 2, 3 и 4 на рис.6-17 показыва-
ют, что в режиме конвейерной адресации могут выполняться цик-
лы шины из двух состояний каждый, включающие только состояния
Т1p и Т2p.
Когда выполняется конвейерный цикл шины, режим конвейер-
ной адресации поддерживается путем установки активного сигна-
ла NA# и определением того, что 80386 устанавливает состояние
Т2p шины в текущем цикле шины. Текущий цикл шины должен за-
канчиваться состоянием Т2p для того, чтобы режим конвейерной
адресации был сохранен и в следующем цикле. Состояние Т2p
идентифицируется установкой активного сигнала ADS#. На
рис.6-16 и 6-17 режим конвейерной адресации заканчивается
после Цикла 4, так как последним состоянием Цикла 4 является
состояние Т2i. Это означает, что 80386 не имел внутреннего
запроса шины перед получением подтверждения Цикла 4. Если
цикл заканчивается состоянием Т2 или Т2i, то следующий цикл
будет неконвейерным.
В действительности, конвейерный адрес почти всегда уста-
навливается сразу после обнаружения активного уровня NA#. Это
происходит потому, что при отсутствии любого другого запроса
внутренний запрос предварительной выборки команды почти всег-
да ожидает обслуживания до тех пор, пока занят дешифратор ко-
манд и полностью заполнена очередь предварительно выбранных
команд. Следовательно, конвейерный адрес устанавливается для
длинных цепочек циклов шины, если шина доступна, и в каждом
цикле шины оказывается установленным активный уровень сигнала
NA#.
6.4.3.6 Конвейерная адресация при изменении
размера шины данных
Наличие сигнала BS16# обеспечивает простое соединение с
16-разрядными шинами данных. Когда установлен активный уро-
вень BS16#, схема шинного интерфейса 80386 выполняет соответ-
ствующие переключения, чтобы осуществить передачу, используя
16-разрядную шину данных, соединенную с линиями D0-D16.
Однако, при одновременном использовании сигналов NA# и
BS16# имеет место некоторое взаимное влияние этих сигналов
друг на друга. Это взаимное влияние проявляется тогда, когда
требуются многократные циклы шины для передачи 32-разрядных
операндов по 16-разрядной шине. Если операнду требуются обе
16-разрядные половины 32-разрядной шины, то в соответствии с
этим требованием 80386 должен выполнить второй цикл шины для
того, чтобы полностью передать весь операнд. Именно это тре-
бование приводит к конфликтной ситуации при использовании
сигнала NA#.
Когда NA# оказывается установленным в активный уровень,
80386 дает себе разрешение на обработку следующего внутренне-
го, ожидающего обслуживания запроса шины и выдает на шину
следующий подготовленный внутри адрес. Следовательно, активи-
зация NA# делает невозможным повторную выборку в следующем
цикле шины текущего адреса по линиям A2-A31, как это может
потребоваться, когда сигнал BS16# активизирован внешним уст-
ройством.
Для разрешения этого конфликта схема 80386 разработана
таким образом, чтобы удовлетворять следующим двум условиям:
1). Для разрешения конфликта 80386 разработан таким об-
разом, чтобы игнорировать сигнал BS16# в текущем цикле шины,
если NA# уже оказался установленным в текущем цикле. Если NA#
оказался установленным, то текущий размер шины данных прини-
мается равным 32 разрядам.
2). Также для разрешения конфликта в том случае, если и
NA# и BS16# оказались установленными в один и тот же момент
времени, активный BS16# обладает более высокими по сравнению
с активным NA# приоритетом, и 80386 функционируется так, как
если бы в этот момент сигнал NA# оказался неактивным. Внут-
ренняя схема 80386, схематично показанная на рис.6-18 работа-
ет таким образом, чтобы сигнал BS16# воспринимался активным и
сигнал NA# воспринимался неактивным, если оба входных сигнала
активизированы внешними устройствами в один и тот же момент
просмотра этих сигналов.
6.4.4 Циклы подтверждения прерывания(INTA)
В ответ на запрос прерывания, поступивший на вход INTR,
когда прерывания разрешены, 80386 выполнит два цикла подтвер-
ждения прерывания. Эти циклы шины аналогичны циклам чтения, в
которых имеющий место вид деятельности шины соответствует
сигналам определения типа цикла шины, и каждый цикл продолжа-
ется до тех пор, пока процессор не получит подтверждение,
наблюдая за сигналом READY#.
В зависимости от значения адресного разряда А2 различа-
|