Главная страница  Цифровые системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [ 52 ] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

Главаб. Остемн,

8.2.6. Синхронная передача данных

Наиболее частая операция шины - обмен данными между двумя устро" Эта операция наглядно демонстрирует разницу между синхронной и асин*" передачей. При рбмене данными ведущая плата устанавливает адрес и акт одну или более управляющих линий для того, чтобы подтвердить правильн реса и указать тип операции - чтение или запись.

При синхронном выполнении операции чтения адресуемое (ведомое) устрой должно передать данные на шину за определенное число тактов (рис. 8.13) Вп денном примере все присоединенные платы "знают", что адрес действителен в ние пяти тактов после начала операции, а данные - только в течение тактов 6 Г"* Операция синхронной записи аналогична, стой лишь разницей, что ведущее устр„. ство "ответственно" за поступление данных на шину. Ведомое устройство долж1 считать данные с шины в течение нескольких тактов.

адрес

(от ведущего)

подтверждение адреса (от ведущего)

запрос на чтение

адрес

данных (от ведущего)

данные

(от ведомого)

синхронизация (от ведущего)

достоверныеК данные 7"

1 2 3 4 5 6 7 8 9 10 И 12

Рис. 8.13. Синхронное чтение данных. При каждом импульсе синхронизации на шине должен быть выставлен определенный сигнал. В данном примере адрес должен удеР живаться на шине в промежутке между импульсами 2 и 7; подтверждение адреса в полняется отдельным сигналом. Запрос на чтение данных должен удерживаться шине между импульсами 4 и 7. Ведомое устройство отвечает передачей запрошеннь данных между 6 и 8 импульсами. Сигналы адреса и данных должны присутствовать линии уже в начале импульса синхронизации

Моментом синхронизации всегда считается изменение полярности °°°г, пульса. Какие сигналы, когда и какой продолжительности должны присутств на шине - определяется ее потоком. Например, если частота синхронизации со ляет 10 МГц, то интервал между последовательными положительными (или тельными) импульсами составляет 100 не. Схемы интерфейса на платах добыть способны реагировать в рамках такого временного промежутка.

Если адресуемая плата не в состоянии декодировать адрес и выдать запрои",-данные вовремя, то она активирует линию ЖДАТЬ, чтобы показать остальные*

T-vna и принципы работы шин 327

jCTpyLi!

операция отложена. Когда медленная плата готова продолжать, она сбрасы-гнал ЖДАТЬ и продолжает нормальную работу. Это действие называется И „ем тактов ожидания.

- Асинхронная передача данных

V асинхронных шин линия синхронизации отсутствует. Вместо этого для под-ждения готовности источника и получателя к обмену, достоверности адреса

здных и завершения приема получателем используются несколько линий кви-

..рования.

(данные приняты,

/ Г Ч адрес больше не действителен)

йврес / адрес \

(от ведущего)

зйярос J V (данные приняты)

тчтение / \

кшых

(т ведущего)

V / \ (данные больше не действительны) (от ведомого) -( достоверные данные

подтверждение j-. л л - ч

Оаннъа / \ (данные больше не действительны)

(от ведомого)

I I I I М I I I I I I I I I I I I I I I I I I I I

время

Рис. 8.14. Асинхронное чтение данных. Ведущее устройство задает адрес на шине и под-ерждает его правильность активацией линии ЧТЕНИЕ ДАННЫХ (в этом примере).

i плата в ответ помещает данные на шину и подтверждает операцию с помощью -инии ДАННЫЕ ГОТОВЫ. Ведущий сбрасывает линию ЧТЕНИЕ ДАННЫХ, чтобы Дтвердить прием данных, а ведомый отвечает прекращением передачи и сбросом "ИИ ДАННЫЕ ГОТОВЫ в качестве последнего подтверждения.

""нении операции чтения (рис. 8.14) ведущее устройство начинает с пе-1ини"""" адреса назначения и сразу после этого подтверждает адрес активаци--ии АДРЕС ДЕЙСТВИТЕЛЕН. Дополнительная линия указывает, что запра-,,ая операция - ЧТЕНИЕ данных. Когда линия АДРЕС ДЕЙСТВИТЕЛЕН •Дан расшифровывают адрес. Адресуемая плата передает требуе-

j g ные на шину и подтверждает операцию активацией линии ДАННЫЕ ГОТО-Ьжп" Устройство подтверждает прием данных по линии ДАННЫЕ ПОД-fuoG Теперь ведомое устройство может сбросить линию ДАННЫЕ ГОТОВЫ

Q °Дить шину; в ответ ведущий сбрасывает линию ДАННЫЕ ПОДТВЕРЖДЕ-1 перация чтения данных завершена, екоторых типах асинхронных шин линии подтверждения адреса и управления

Иями организованы иначе. Например, активация линии ЗАПИСЬ В ПА-



МЯТЬ одновременно указывает, что адрес также действителен. При такой оц ции для каждой из возможных операций необходима только одна линия,

Операция записи данных аналогична операции чтения. В этом случае ве устройство передает на шину адрес назначения и данные. Для того чтобы у"** операцию ЗАПИСЬ и подтвердить, что адрес и данные действительны, активиру" ся соответствующие линии. В этот момент все платы читают и расшифровываю"!." рес; адресуемая плата, кроме того, читает и данные, а и когда операция чтения заве шена, она сообщает об этом, активируя линию ДАННЫЕ ПОДТВЕРЖДЕН! Ведущая плата затем может сбросить линию ДАННЫЕ ЕОТОВЫ, чтобы показ-что данные и адрес больше не действительны. Ведомое устройство сбрасываетлин} ДАННЫЕ ПОДТВЕРЖДЕНЫ, и операция записи завершается.

8.2.8. Блочная передача

Пересылка данных между оперативной памятью и периферийными устройства.м1! (дисковые накопители или видеоплаты) - это самая частая операция в вычислительной системе. Такие обмены обычно происходят в виде блоков, состоящих из сотенi: даже тысяч байт. Аналогичные операции встречаются при пересылке между облает., ми памяти данных, организованных в блоки, например, текстов, массивов и символьных строк. Характерной особенностью данных этого типа является то, что они размещены по последовательным адресам памяти.

При блочной передаче {block transfer) вместе с адресом начала блока передаен" его длина. Затем данные последовательно записываются принимающим ycipi ством в соответствии с тактовыми сигналами при синхронной передаче или па каждого квитирования при асинхронной. При блочных операциях нет необходп- сти передавать и подтверждать адрес каждого байта, поскольку адреса чтения и за! си автоматически увеличиваются источником и получателем.

Технология блочной передачи требует дополнительных логических схем напл-тах для автоматической генерации новых адресов. Благодаря тому что блочная пе-дача существенно улучшает скорость передачи и пропускную способность cиcтe-в новых шинах она является стандартной возможностью.

дает сигнал на линию подтверждения прерывания, после этого запрашиваю-"jpqhctbo сбрасывает запрос на прерывание.

Когда)

несколько устройств запрашивают прерывание, необходимо организовать дросы в соответствии с некоторым порядком очередности, поскольку в каждый leHT времени только одно устройство может получить обслуживание. Поэтому -!огие1ИИНЫ имеют несколько линий запроса прерывания, каждой из которых зара-дазначен приоритет, т. е. прерывания обслуживаются в соответствии с приорите-,7ияии, на которой выставлен запрос. Устройство, обслуживающее прерывание, исывает его номер на шину, и запрашивающее устройство в состоянии распо-когда ее запрос обслужен. Такая схема требует только одну линию для под-5рждения запроса на прерывание, а линии данных используются для определения („источника.

Другой подход использует разделяемые прерывания {shared interrupts), когда 53(дая линия прерывания доступна нескольким устройствам. Поскольку каждая яаия прерывания может быть активирована более чем одним устройством, обслу-вшающее устройство должно определить источник прерывания, опрашивая все уст-зойства, присоединенные к одной линии. Первое устройство, которое подтвердит шрос, будет обслужено. Следует отметить, что этот метод чреват потенциальными конфликтами, если несколько устройств одновременно генерируют одинаковый запрос на прерывание.

Другим методом разделения прерываний является шлейфовое подключение hisy-chain connection) (рис. 8.15). Общая линия прерывания проходит через все ус-лйства, которые могут быть источником сигнала прерывания. Каждое устройство жет приостановить распространение сигнала прерывания своим электронным

ючом.

плата 1

плата!


запрос прерывания от этой платы

2Щему Тройству

8.2.9. Обработка прерываний

Прерывание {interrupt) - это сигнал, который периферийное устройство пось ет центральному процессору или другому устройству для того, чтобы fy, служивание. В ответ на прерывание процессор прекращает текущую работу няет служебную процедуру обработки прерывания, после завершения исполнение прерванной задачи может быть продолжено (раздел 10.6.4). jhi"

Прерывание показывает, что произошло событие, асинхронное по ,на- 8-15. Шлейфовое подключение

к текущей программе. Это может быть появление новых данных в канале жатие кнопки или завершение операции, в результате чего устройство, „ре-сигнал прерывания, запрашивает внимание процессора. По самой своей прИР рывания могут возникнуть в любой момент. ,

Устройство генерирует прерывание активацией линии запроса прер в большинстве случаев прерывание адресуется устройству, являющемуся в Д момент ведущим. Когда ведущее устройство шины готово обслужить прерь

другие линии шины

к другим платам

уменьшение приоритета прерываний

S уГ.?"""" «"оянии все устройства удерживают соединение замкнутым. Пол ™° требует обслуживания, его логическая цепь перестает пропус-. Дтверждающий сигнал к следующим устройствам, если они запрашивают Чы в тот же момент времени. Получив подтверждение от обработчика пре-и, устройство передает на шину код идентификации. На шинном разъеме *Д0и шлейфовой линии нужны два контакта. Если устройство в разъеме



Глава 8. Систе!

"ные.

pyiypa и принципы работы шин

отсутствует, контакты, относящиеся к шлейфовой линии, должны быть ны перемычкой. °Р°Че.

При шлейфовом подключении платы, установленные ближе к ведущему f. ству, имеют преимущество, поскольку они могут не пропускать сигнал подтвепж от плат, установленных после них. Недостатком шлейфовой схемы является то передача сигнала подтверждения по шлейфу требует определенных затрат време ""

Обработка прерываний усложняется, когда в системе имеется несколько пп"" соров, и должен быть определен не только источник, но и приемник прерьт Из-за этого в наиболее современных конструкциях шин прерывания рассматриваю ся как сообщения и посылаются от источника к адресату как любые другие данньк

8.2.10. Арбитраж шины

В каждый момент времени только одно устройство на шине может ифать роль ведущего. В ситуации, когда несколько устройств претендуют на роль ведущего, применяется некоторая процедура выбора, которая называется арбитражем шины {bus arbitration).

Существуют два основных подхода к выбору ведущего устройства. В первом случае одно из устройств назначается арбитром {arbiter). Устройство, желающее получить управление шиной, сообщает об этом арбитру через прерывание по линии ЗАПРОС ШИНЫ. Арбитр проверяет относительный приоритет текущего ведущего шины (т. е. собственный, но это может быть и другое устройство) и запрашивающего устройства и решает, кому должно быть передано управление шиной.

При другом подходе арбитр как таковой отсутствует. Устройство, которое претендует на права ведущего, делает запрос через линию распределения, которая является общей для всех устройств (могут использоваться несколько линий, чтобы разделить несколько уровней приоритетов). Ведущее устройство определяет запрашивающее устройство и сравнивает его приоритет со своим. Если приоритет запрашивающего устройства выше, права ведущего передаются. Все устройства, способные выполнять функции ведущего, имеют логику определения ведущего.

При выборе ведущего устройства могут применяться два алгоритма - шклпчес кий и распределение приоритетов. При циклическом алгоритме управление шияои в определенном порядке передается каждому из устройств - этот способ иначе назы вается принципом "справедливости". Не делается никаких различий в отнотяе уровня приоритетов, и управление поочередно передается устройствам в соот

таивы<

ствии с предопределенным порядком.

При распределении приоритетов управление передается устройству с на шим приоритетом. Приоритеты могут изменяться во времени, чтобы "Рщой постоянный контроль над шиной устройствами с высоким приоритетом и боль

активностью.

шолняется с помощью специальны-

л"

в некоторых системах арбитраж шины выпилплс i nwi-ivj. ний одновременно с передачей данных, а в других системах передача данных и деление ведущего не могут выполняться одновременно. Если арбитраж "Рую происходит интенсивно, то способ выбора ведущего устройства влияет на о э(зфективность работы системы.

Захват шины является частным случаем более общей проблемы рйспр№ (защиты) ресурсов, которая постоянно встречается во многих ситуациях, связа

да! мультипрограммирования, работой многопроцессорных систем, в распре-сР* системах и системах связи, независимо от того, являются ли ресурсы аппа-щ или программными. В данном случае шина представляет собой общий ре-

й" , ,тН- TTTrWQTJ (tTTTL ОПтттТТТТОи iT ПТТХТПТЗГОЛЛОТЛЛПТ-Т» ТТП Г ТЛ ГТТ Q ТТ Р>гГП ТГ Т-!/ ТЛ V

яств. Принципы решения проблем, связанных с защитой ресурсов, одинаковы, "висимо от того, к какому типу относится ресурс. Эти принципы более детально

...тМИ и

который должен быть защищен от одновременного доступа нескольких

(.урС, уСТрО

рассмотрены в разделах 9.5 и 10.3.

g2l1- Подготовка шины к работе

Подготовка системной шины к эксплуатации обычно не сложнее, чем просто установка всех плат в разъемы в стойке. Однако требуются определенные усилия, чтобы система имела конфигурацию, обеспечивающую максимальную эффективность.

Платы должны быть классифицированы по важности генерируемых ими прерываний, а в многопроцессорной системе - и в соответствии с их относительной важностью в качестве ведущего устройства шины. Выше было сказано, что при шлейфовом подключении платы ближайшие к процессору или арбитру шины первыми же и обслуживаются. При такой конфигурации платы должны располагаться на шине в порядке своих приоритетов. В ряде случаев доступ к линиям прерывания и установка приоритета выполняются на плате с помощью перемычек и встроенных переключателей {Dual-in-Line Package switch - DIP-switch). Кроме того, перемычки могут использоваться для установки других рабочих параметров, например используемого по умолчанию имени дисковода или типа сигналов ввода/вывода. Если один или более разъемов между платами со шлейфовым соединением свободны, они должны быть замкнуты накоротко с помощью перемычек.

В зависимости от типа применяемой операционной системы установленные устройства и некоторые рабочие параметры должны быть описаны программно в каком-либо системном файле или файле начальной загрузки. Настройка системы состоит "а нескольких этапов, которые можно успешно выполнить только после того, как "пределены точные функциональные требования каждого устройства. Еще одним важным моментом является подключение оконечных цепей с обеих сторон шины Нагрузочных резисторов со стороны открытого коллектора для линий "распреде-*Нного ИЛИ".

Наконец, перед тем как вставить все платы в кожух, необходимо проверить, что: ~ мощность источника питания соответствует суммарной потребности всех плат; ~ вентиляция обеспечивает отвод выделяемого тепла; ~ Экранирование и изоляция выполнены правильно.

1енн" являются очень общими и не связаны с каким-либо опреде-itflo ™г10м шины. За всеми техническими деталями необходимо обращаться Oi-gTy и следовать соответствующим указаниям. Необходимо помнить ече>!° взаимодействии между аппаратной частью (шина) и программным обес-

(операционная система и прикладные программы). Если функциональ-Дачи (что должна делать система) ясны, то привести в соответствие пара-НЗо шины и операционной системы проще. С другой стороны, самые Нь.Ренные процедуры самоконфигурации не могут компенсировать плохое пла-Р°вание.




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [ 52 ] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

0.0158