К. Хамахер, З. Вранешич, С. Заки - Организация ЭВМ - 5-е издание (2003) (1114649), страница 73
Текст из файла (страница 73)
Последние пять разрядов в пакете предназначены для его же проверки на наличие ошибок. Для этой цели предназначен метод, называемый циклическим контролем избыточности (СусИс Кейшбапсу СЬес1с, СКС), Биты СКС вычисляются на основе содержимого полей адреса и конечной точки. С помощью обратного вычисления устройство-получатель может определить наличие ошибок в пакете.
Пакеты, содержащие входные и выходные данные, имеют формат, показанный на рис. 4А5, в. За полем идентификатора пакета следуют не более 8192 бит данных, затем 16 контрольных битов. Для идентификации пакетов используются три разных значения Р1Э, так что пакеты данных могут иметь номера О, 1 и 2.
Обратите внимание, что пакеты данных не содержат ни адреса устройства, ни номера конечной точки. Такого рода информация включается в пакет Вч или ОПТ, инициировавший пересылку данных. Рассмотрим пример, в котором выходное устройство подключено к хабу ПЯВ, который, в свою очередь, подключен к хост-компьютеру. Пример операции вывода для такой конфигурации показан на рис. 4.4К Хост-компьютер отсылает хабу пакет маркера типа ОПТ, а за ним пакет данных, содержащий выходную информацию. Поле Р1П пакета данных идентифицирует его как пакет данных с номером О.
Хаб убеждается, что пересылка выполнена без ошибок, проверив контрольные биты пакета, а затем отсылает хосту пакет-подтверждение (АСК). Пакет маркера и пакет данных хаб отсылает далее, вниз по дереву. Эти пакеты получают все устройства ввода-вывода, но только одно из них распознает свой адрес в пакете маркера и принимает данные, содержащиеся в следующем пакете. Убедившись, что переданная информация не содержит ошибок, устройство отсылает хабу пакет АСК.
Пакет данных, успешно пересланный на полной или низкой скорости, имеет соответственно номер О или 1. Это упрощает процесс восстановления данных после обнаружения ошибок, связанных с пересылкой. Если в результате ошибки, допущенной при пересылке, теряется пакет маркера, пакет данных или пакет- подтверждение, отправитель должен повторно отослать весь набор пакетов. Проверив номер пакета данных в поле РП), получатель может выявить и проигнорировать повторяющиеся пакеты. Высокоскоростные пакеты данных последовательно нумеруются как О, 1, 2, О и т.
д. Операции ввода выполняются аналогичным образом. Хост отсылает пакет маркера типа 1И, содержащий адрес устройства. Этот пакет используется для опроса и дает указание распознавшему свой адрес устройству отправить имеющиеся у него входные данные. Устройство отвечает отправкой пакета данных, а также пакета АСК. Если устройство не содержит готовых к отправке данных, оно сообщает об этом, отсылая пакет МАК. 314 Глава 4. Ввод-вывод Устройство ввода-вывода Хаб Хост Токен ДаштыеО Время АСК Токен Данные 1 АСК Рис. 4.46.
Пересылка выходных данных Мы уже говорили о том, что если к шине наряду с низко- и полноскоростными линиями подключены высокоскоростные, шина может работать в разделенном режиме, чтобы не задерживать сообщения, направляемые по высокоскоростным линиям. В таких случаях пакеты 1Х и 011Т, предназначенные для полно- и низкоскоростных устройств, предваряются специальными управляющими пакетами, инициирующими переход в режим разделенного трафика. 316 Глава 4.
Ввод-вывод Основным требованием к изохронному трафику является строгое тактирование. При этом вполне допустимы отдельные случайные ошибки. Это означает, что нет нужды ни в повторной отправке потерянных пакетов, ни в подтверждении факта получения каждого пакета. На рис. 4.47, б показаны два первых фрагмента данных, следующих за пакетом 5ОР, а именно управляющий пакет с адресом устройства 3 и пакет данных для этого устройства. Данные могут быть входными или выходными, в зависимости от того, относится управляющий пакет х типу Пч или ОПТ. Подтверждающий пакет в этом случае не отправляется. Следующая группа пакетов относится к устройству 7.
Пакет данных для устройства 3 может, к примеру, содержать 8 байт данных. В каждом кадре отправляется один такой пакет, в результате чего создается изохронный канал с пропускной способностью 84 Кбит/с. Такой канал может использоваться для голосовой связи. Для пересылки 8 байт данных необходим 3-байтовый пакет маркера, за которым следует 11-байтовый пакет данных (включающий поля Р1П и СВС), — итого 132 бита. Е~це как минимум 3 байта нужны для синхронизационного пакета и пакета, отмечающего конец последовательности пакетов. При скорости 12 Мбит/с вся пересылка займет около 13 мкс.
Очевидно, что в течение оставшегося времени кадра можно обслужить еще несколько таких устройств. После обслуживания всех подключенных к шине изохронных устройств оставшееся время кадра используется для обслуживания асинхронных устройств и обмена управляющей информацией и информацией о состоянии. Изохронные данные могут передаваться только по полно- и высокоскоростным линиям. В случае высокоскоростных соединений в течение каждого кадра, длительность которого составляет 1 мс, пакет 5ОР повторяется восемь раз, через равные промежутки времени, в результате чего создаются микрокадры длительностью 125 мкс.
Электрические характеристики шины Кабели, используемые для 05В-соединений, состоят из четырех проводов. Два ю них (+5 В и «земляь) предназначены для подачи питания. Поэтому хабы и устройства ввода-вывода могут иметь собственные источники питания, а могут питаться непосредственно от шины. Два других провода предназначены для пересылки данных. В случае низкоскоростных устройств передача единиц и нулей производится путем установки на одном или двух сигнальных проводах напряжения 5 В. При высоковольтном соединении применяется дифференциальная пересылка. 4.8. Резюме В настоящей главе были рассмотрены три базовых подхода к операции пересылки входных и выходных данных. Простейшим из них является программируемый ввод-вывод, который управляется процессором, выполняющим команды программы.
Второй подход основан на использовании прерываний; этот механизм позволяет прерывать нормальное выполнение программы для обслуживания запросов с более высоким приоритетом, которым срочно требуется уделить внимание. Механизмы для обработки подобных ситуаций предусмотрены во всех компьютерах, Упражнения 317 но схемы обработки прерываний у одних компьютеров проще, а у других, наоборот, сложнее.
Третья схема ввода-вывода основана на прямом доступе к памяти— аппаратной технологии, суть которой заключается в том, что специальный контроллер ПДП пересылает данные между устройством ввода-вывода и основной памятью без постоянного участия процессора. При этом доступ к памяти по очереди получают то процессор, то контроллер ПДП вЂ” каждый для своих нужд. Были рассмотрены три популярных стандарта подключения к компьютеру устройств ввода-вывода: РС1, ЯС51 и ПЯВ. Они представляют различные подходы к передаче данных для устройств различных типов, поддерживающих механизм р1пй-аш1-р1ау. Упражнения 4.1. Бит состояния в интерфейсной схеме устройства ввода очищается сразу после чтения данных из входного буфера данных. Почему? 4.2.
Напишите программу, которая выводила бы на видеодисплей содержимое 10 байт основной памяти в шестнадцатеричном формате. Можете использовать либо ассемблерные команды выбранного вами процессора, либо псевдокоманды. Начните с адреса памяти 1.ОС и используйте для кодировки каждого байта по два шестнадцатеричных символа. Содержимое последовательных байтов должно быть разделено пробелом. 4.3. Адресная шина компьютера состоит из 16 адресных линий, Аш э, Если некоторому устройству присвоен адрес ?СА4ы, а декодер адреса для этого устройства игнорирует линии Аз и Аэ, то на какие адреса будет отвечать данное устройство? 4.4. В чем различие между подпрограммой и программой обработки прерывания? 4.5. В этой главе предполагалось, что прерывания не подтверждаются до тех пор, пока не будет закончено выполнение текущей машинной команды. Рассмотрите возможность приостановления операции прямо в тот момент, когда команда будет выполнена наполовину.
Какие трудности могут при этом возникнуть? 4.6. К шине компьютера подключены три устройства: А, В и С. При выполнении операций ввода-вывода всеми этими устройствами используются прерывания. Вложенность прерываний для устройств А и В не допускается, но запросы прерывания С могут обслуживаться во время обработки прерываний А и В. Предложите различные способы выполнения этой задачи для каждого из перечисленных ниже случаев. а) Компьютер имеет одну линию запроса прерывания. б) Имеются две линии запроса прерывания, 1ХТК1 и 1МТК2, первая из которых обладает более высоким приоритетом.
Объясните, когда и как разрешаются и запрещаются прерывания в каждом из этих случаев. В~В Глава 4. Ввод-вывод 4.7. 4.8. 4тй 4.10. Рассмотрите работу компьютера, в котором несколько устройств соединены с общей линией запроса прерывания, как на рис. 4.8, а. Объясните, как добиться того, чтобы прерывания от устройства7' принимались до завершения выполнения программы обработки прерываний от устройства й Укажите, в какие моменты должны разрешаться и запрещаться прерывания в разных точках системы. Обратимся к гирляндной схеме, приведенной на рис.