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