 |
запрос шины (запрос на захват шины самим процессором), или
состояние Тi, если такого запроса нет, или состояние Тh, если
установлен активный уровень входного сигнала HOLD.
Диаграмма состояния шины на рис.6-13 справедлива при лю-
бом значении сигнала BS16#. Если 80386 выполнит внутренние
переключения, необходимые для установки 16-разрядного размера
шины, то эти переключения не повлияют на состояния внешней
шины. Если для выполнения передачи по 16-разрядной шине тре-
буется дополнительный 16-разрядный цикл шины, он также будет
выполняться в соответствии с переходами состояний, показанны-
ми на рис.6-13.
В режиме конвейерной адресации в 80386 могут иметь еще
три типа состояния шины, не показанные на рис.6-13. На
рис.6-20 в параграфе 6.4.3.4 "Конвейерная адресация" показана
более подробная диаграмма состояния шины, включающая циклы в
режиме конвейерной адресации.
Состояния шины:
Т1 - первое состояние неконвейерного цикла шины (80386
выдает новый адрес и устанавливает активный уровень
ADS#);
Т2 - последующие состояния цикла шины, когда при прос-
мотре сигнала NA# в текущем цикле шины он оказывается в
неактивном состоянии;
Тi - нерабочее состояние;
Тh - состояние подтверждения захвата шины (80386 уста-
навливает активный уровень HLDA).
Самый короткий цикл шины состоит из двух состояний: Т1 и Т2.
Четыре основные состояния шины описывают функционирова-
ние шины, когда не используется конвейерная адресация. Эти
состояния распространяются на оба размера шины: 32 бит и 16
бит, т.е. справедливы для любого значения BS16#. Если при ак-
тивном уровне сигнала BS16# требуется выполнение второго
16-разрядного цикла, последний выполняется перед формировани-
ем процессором сигнала подтверждения захвата шины.
6.4.3.3 Режим неконвейерной адресации при изменении
размера шины данных
Ширина физической магистрали данных для любого неконве-
йерного цикла шины может составлять или 32 разряда, или 16
разрядов. В начале цикла шины процессор ведет себя так, как
если бы ширина шины данных составляла 32 бита. Когда цикл ши-
ны подтверждается установкой активного уровня сигнала READY#
в конце состояния Т2, то анализируемый в этот момент уровень
сигнала BS16# окажется в неактивном состоянии, то размер фи-
зической шины данных принимается равным 32 разрядам. Если же
наблюдается активный уровень BS16#, то размер шины принимает-
ся равным 16 разрядам.
Когда установлен активный уровень BS16#, и для выполне-
ния одной передачи требуется два 16-разрядных цикла, то ак-
тивный уровень сигнала BS16# должен быть установлен и во вто-
ром цикле. Иначе 16-разрядный размер шины не будет сохранен
во втором цикле. Также, как и любой другой цикл шины, второй
16-разрядный цикл должен быть подтвержден установкой активно-
го уровня READY#.
Когда требуется второй 16-разрядный цикл для выполнения
одной передачи по 16-разрядной шине, то адреса, формируемые
для двух 16-разрядных циклов шины, тесно взаимосвязаны. Эти
адреса идентичны за исключением разрядов BE0# и BE1#, которые
всегда переключаются в неактивное состояние (высокий уровень)
во втором цикле, так как сигналы данных D0-D15 были уже пере-
даны в первом 16-битном цикле.
На рис.6-14 и 6-15 показаны передачи, при которых уста-
новка активного уровня BS16# требует второго 16-битного цикла
для выполнения передачи всего операнда. Рис.6-14 иллюстрирует
циклы без состояний ожидания. Рис.6-15 иллюстрирует циклы с
одним состоянием ожидания. Отметим, что в цикле 1 на
рис.6-15, в течение которого устанавливается активный уровень
сигнала BS16#, сигнал NA# должен быть обязательно переключен
в неактивный уровень в состоянии(ях) Т2, предшествующем(их)
последнему состоянию Т2. Это необходимо для того, чтобы в фи-
нальном состоянии Т2 процессор воспринял установленный актив-
ный уровень BS16# в режиме неконвейерной адресации.
6.4.3.4 Конвейерная адресация
В режиме конвейерной адресации адрес и тип цикла для
следующего цикла шины, который будет обслуживать ждущий обра-
ботки,внутреннии запрос процессора, запрашиваются еще до то-
го, как будет получено подтверждение текущего цикла по линии
READY#. Когда следующий адрес подготовлен и выдан, 80386 ус-
танавливает активный уровень сигнала ADS#. Протокол режима
конвейерной адресации строится на основе совмещения циклов и
с помощью входного сигнала NA#.
Когда выполняется цикл шины и текущий адрес должен иметь
достоверное значение в течение по меньшей мере одного полного
состояния шины, значение входного сигнала NA# анализируется в
конце каждой первой фазы состояния до тех пор, пока цикл шины
не получит подтверждение. В течение неконвейерных циклов ши-
ны, следовательно, NA# анализируется в конце первой фазы в
каждом состоянии Т2. Примером может служить Цикл 2 на
рис.6-16, в течение которого NA# анализируется в конце первой
фазы каждого Т2 (NA# был установлен в активный уровень один
раз в течение первого состояния Т2 и не оказывает дальнейшего
воздействия на выполнение этого цикла шины).
Если процессор при просмотре NA# обнаружит активный уро-
вень этого сигнала, то 80386 освобождается, чтобы выдать ад-
рес и тип цикла следующего цикла, и установить активный уро-
вень сигнала ADS#, как только в процессоре появится ожидающий
обслуживания внутренний запрос шины. Процессор может выдать
следующий адрес уже в следующем состоянии шины, независимо от
того получил ли в этот момент подтверждение текущий цикл или
не получил.
Что касается режима конвейерной адресации, то в этом ре-
жиме 80386 имеет следующие особенности:
1) для того, чтобы процессор воспринял активный уровень
сигнала NA#, сигнал BS16# должен быть переключен в неактивный
уровень на время просмотра сигнала NA# (см. рис.6-16 Циклы 3
и 4; рис.6-17 Циклы 2-4);
В том случае, если сигналы NA# и BS16# окажутся оба ак-
тивными в течение последнего периода Т2 цикла шины, приорите-
том будет обладать активный сигнал BS16#. Следовательно, если
оба сигнала активны, то текущий размер шины принимается рав-
ным 16 разрядам, а следующий адрес будет неконвейерным. Схе-
матично рис.6-18 показывает внутреннюю логику 80386, обеспе-
чивающую эти особенности.
2) следующий адрес может появиться в состоянии шины,
следующем сразу после момента обнаружения активного уровня
NA# (см. рис.6-16 или 6-17);
В этом случае сразу шина перейдет в состояние Т2p. Одна-
ко, если в этот момент отсутствует ожидающий обслуживания
внутренний запрос шины, то следующий адрес не будет установ-
лен сразу после активизации NA#, и вместо состояния Т2p шина
перейдет в состояние Т2i (см. рис.6-19 Цикл 3). При условии,
что текущий цикл шины еще не получил подтверждение по линии
READY#, шина перейдет в состояние Т2p как только 80386 выдает
следующий адрес. Внешние устройства, поэтому, должны следить
за состоянием выходного сигнала ADS#, подтверждающим выдачу
на шину достоверного следующего адреса.
3) в том случае, когда 80386 при просмотре обнаружит ак-
тивный уровень NA#, 80386 сам принимает решение на обслужива-
ние самого приоритетного внутреннего запроса шины, ожидающего
обслуживания. Процессор не сможет больше выполнить другую
16-разрядную передачу по тому же адресу, даже если BS16# бу-
дет установлен в активный уровень внешним устройством, так
как после восприятия процессором активного сигнала NA# теку-
щий размер шины принимается равным 32-м разрядам;
Следовательно, если процессор опознал активный сигнал
NA# в течение цикла шины, то после этого сигнал BS16# игнори-
руется в этом цикле шины (см. рис.6-16, 6-17, 6-19). Таким
образом, нельзя активизировать сигнал NA# в тех циклах шины,
в которых 16-разрядный размер шины должен быть задан установ-
кой активного уровня сигнала BS16#. См. 6.4.3.6 "Изменение
размера шины в режиме конвейерной адресации".
4) любой адрес, достоверное значение которого подтверж-
дено выходным импульсным сигналом 80386 ADS#, будет сохра-
няться на адресных выводах в течение по меньшей мере двух пе-
риодов тактовой частоты процессора. 80386 не может выдавать
новый адрес чаще, чем каждые два периода тактовой частоты
процессора (см. рис.6-16, 6-17, 6-19);
5) из всех сигналов, необходимых для следующего цикла
шины, процессор выдает только адрес и тип цикла шины;
Уровень совмещения в режиме конвейерной адресации не бо-
лее, чем один цикл шины (см. рис.6-19 Цикл 1).
Полная диаграмма переходов состояний шины, включая функ-
ционирование в режиме конвейерной адресации, дана на
рис.6-20. Отметим, что эта диаграмма включает диаграмму,
справедливую только для режима неконвейерной адресации, и до-
полнительные три состояния шины для режима конвейерной адре-
сации.
"1"
ЙНННН»
V є
ЙНННННННН» "2"
ЙННННННННННННННН№ Тh є<НННННННННННННННННННННННННН»
є ЙННННННННН>є є "2" є
є"4" є"1" ИННННЛНННј<ННННННННННННН» є
"5" є ЙННј "6" "3"є є є
НННННН» є єЙНННННННННННННННННєНННННННННННННН» є є
V V єє V є є є
ЙННННН»є ЙННННННН» є ЙНКННННН» є
ЙНН>є Тi Мј "3" є Т1 є Всегда И>є Т2 МНННН» є
є є МНННННННННННН>є МНННННННННННН>є є<Н» є є
ИНННИНННННј ИНННННННј<ННННННННННННИННННННЛј є є є
"4" Л Л "8" є Л є є є є
є "8" є "12" є ИННј є є є
є"6 ЙННННННННННННННј ЙННННННННННННННј "9" є є є
є є V "7"є є є
"15"ЙННКННН» є ЙНННННННН» ЙНННННН» є є є
ЙНН>є Т2i МНј "16" є Т2Р є "14" є Т1Р є є є є
є є МНННННННННННН>є МНННННННННННН>є МНј є є
ИНННИННННННј ИННННННЛНј<ННННННННННННИНННЛННј є є
є Л Л Л є "13" є є є
є є є ИНННј є є є
є є є "11" "17" є "10"є є
є є ИННННННННННННННННННННННННННННННННННННННННј є є
є ИНННННННННННННННННННННННННННННННННННННННННННННННННННј є
ИНННННННННННННННННННННННННННННННННННННННННННННННННННННННј
"1"-HOLD активизирован
"2"-READY# активизирован * HOLD активизирован
"3"-HOLD неактивизирован * есть внутренний запрос, ожидаю-
щий обслуживание
"4"-HOLD неактивизирован * нет внутреннего запроса
"5"-RESET активизирован
"6"-READY# активизирован * HOLD неактивизирован * нет
внутреннего запроса
"7"-NA# неактивизирован
"8"-READY# активизирован * HOLD неактивизирован * есть
|