Перейти на главную Журналы

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 91 92 93 94 95 96 97 98 [99] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

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

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

При синхронном выполнении операции чтения адресуемое (ведомое) уСтройст,. должно передать данные на шину за определенное число тактов (рис. 8.13). В прк: денном примере все присоединенные платы "знают", что адрес действителен в те ние пяти тактов после начала операции, а данные - только в течение тактов б, 71;-Операция синхронной записи аналогична, с той лишь разницей, что ведунееустро. ство "ответственно" за поступление данных на шину. Ведомое устройство долж; считать данные с ншны в течение нескольких тактов.

адрес

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

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

<

адрес

запрос на чтение да!шых (от ведущего)

данные

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

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

достоверные данные

1 2 3 4 5 6 7

9 10 И 12

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

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

Если адресуемая плата не в состоянии декодировать адрес и выдать занронгени!- данные вовремя, то она активирует липикэ ЖЛЛТЬ, чтобы показать остальным пл-



,j)i,4T0 операция отложена. Когда медленная плата готова продолжать, она сбрасы-jjfTCHraaT ЖДАТЬ и продолжает нормальную работу. Это действие называется jjaeHHCM тактов ожидания.

j2,7. Асинхронная передача данных

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

роваиия.

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

„fjf,gr / \ Ч адрес больше не действителен)

(Z ведущего) -<

ттение / \ (дшшые приняты)

Ыных

(т ведущего)

ищь1е / \ (да7шые больше не действительны)

(т ведомого) -( достоверные данные

подтверждение ,-.

(1аццъ / \ (данные больше пе деистеителыт)

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

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

время

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

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

некоторых тиггах асинхронных шин линии подтверждения адреса и управления

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



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

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

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

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

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

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

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

Прерывание (intempt) - это сигна/г, который нерифериЙ1юе усгроясгао лось, ет центральному ггроцессору или друго.му устройству для того, чгобы з&ирость служивапие. В ответ па ггрерьшание процессор прекращает TCKyjnyio работу и bki. пяет служебную процедуру обработки прерывания, посте завершения догори- игпо.тнение прервашюй задачи может быть продолжено (ра.здел 10.6.4).

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

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




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 91 92 93 94 95 96 97 98 [99] 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175