Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Управление интерфейсом и выполнение команд
Для управления интерфейсом служит система сообщений — Message System, которыми обмениваются ИУ и ЦУ. Обмен происходит в фазах Message IN/OUT(см. выше), в одной фазе может передаваться несколько сообщений. С помощью сообщений согласуются параметры синхронного режима и разрядность данных. Процесс согласования синхронного обмена называется Synchronous Negotiation. Устройство, запрашивающее синхронный обмен, посылает сообщение Synchronous Data Transfer Request с указанием допустимого периода цикла и отставания REQ/ACK. Если другой участник обмена поддерживает синхронный режим, он предложит свои параметры. Согласованными параметрами будут максимальный период и минимальное отставание (нулевое отставание эквивалентно асинхронному режиму). Выбранный режим будет относиться только к фазам передачи между данной парой устройств. Отвергнутое сообщение является требованием асинхронного режима. Поскольку старые хост-адаптеры не поддерживали согласование синхронного режима, на ЦУ запрос синхронного режима может быть заблокирован. О возможности работы в синхронном режиме хост может узнать, послав команды Request Sense и Inquiry. Разрядность передач согласуется аналогично посредством сообщений Wide Data Transfer Request. Согласованные режимы будут действовать до сброса устройств по сообщению Bus Device Reset или «жесткого» сброса, что приведет к установке предопределенных режимов по включению. Согласование режимов не должно инициироваться в каждом процессе, поскольку затраты времени на эту процедуру сводят на нет выигрыш в производительности. Система команд SCSI включает общие команды, применимые для устройств всех классов, и специфические для каждого класса. Любое SCSI-устройство должно поддерживать обязательные команды общего набора и своего класса, чем обеспечивается высокий уровень совместимости. Команда передается ИУ в ЦУ через блок дескриптора команды (command descriptor block), посылаемый в фазе Command. Некоторые команды сопровождаются блоком параметров, следующим за блоком дескриптора в фазе Data. Форматы блоков стандартизованы; длина блока, определяемая кодом операции (первым байтом блока), может составлять 6, 10 или 12 байт. Рассмотрим процесс на шине SCSI на примере одиночной команды чтения Read. ИУ имеет активный набор указателей и несколько сохраненных наборов, по одному на каждый из допустимого числа одновременных конкурирующих процессов. ИУ восстанавливает указатели процесса в активный набор и, выиграв арбитраж, выбирает ЦУ. Как только ЦУ выбрано, оно берет на себя управление процессом. В фазе Selection ИУ вводит сигнал ATN#, сообщая о намерении послать сообщение Identify с указанием адресуемого ЛУ. ЦУ переходит в фазу Command и принимает блок дескриптора команды Read. Интерпретировав команду, ЦУ переходит в фазу Data IN, передает запрошенные данные, затем переводится в фазу Status и посылает состояние Good. Затем в фазе Message IN устройство посылает сообщение Command Complete, после чего освобождает шину (фаза Bus Free). Процесс завершен. Рассмотрим тот же пример, но при условии отключения от шины (Disconnect) в процессе выполнения команды. Если устройство, получив команду Read, определит, что для получения затребованных данных необходимо много времени, оно освободит шину, послав сообщение Disconnect. Как только требуемые данные готовы в ЦУ, оно, выиграв арбитраж, выберет ИУ (в фазе Reselect) и в фазе Message ДУпошлет ему сообщение Identify. ИУ вернет соответствующий набор указателей в активное состояние и продолжит выполнение процесса, как описано выше. Если ЦУ хочет отсоединиться, когда часть данных уже передана (например, головка диска дошла до конца цилиндра и требуется время на позиционирование), оно посылает сообщение Save Data Pointer, а затем — Disconnect. После повторного соединения передача данных возобновится с точки, определенной последним сохраненным значением указателя. Если произошла ошибка или исключение, ЦУ может повторить обмен данными, послав сообщение Restore Pointers или отсоединившись без сообщения Save Data Pointers. Теперь рассмотрим процесс с цепочкой связанных команд. По успешному завершению каждой команды цепочки ЦУ автоматически переходит к исполнению следующей. Все команды цепочки являются частью одного процесса. Команды не являются полностью независимыми — при относительной адресации последний блок, адресованный предыдущей командой, доступен для следующей. Так, например, можно исполнить команду Search Data, по которой на диске будет найден блок, содержащий информацию, совпадающую с эталоном поиска. Связав с ней команду чтения Read, можно прочитать этот блок или блок с указанным смещением относительно найденного. По выполнении связанных команд ЦУ посылает сообщения Linked Command Complete (возможно, с флагом), а ИУ обновляет набор сохраненных указателей, так что они указывают на очередную команду цепочки. Команды в цепочке выполняются как одиночные, но с возможностью относительной адресации. Команды могут исполняться с использованием очередей. ЦУ могут поддерживать немаркированные и маркированные очереди. Поддержка немаркированных очередей, определенная еще в SCSI-1, позволяет любому ЛУ (LUN) или целевой программе, занятым процессом от одного ИУ, принимать команды (начинать процесс) с другими ИУ. Маркированные очереди (tagged queue) определены в SCSI-2 для ЛУ. Для каждой связи I_T_L (ИУ-ЦУ-ЛУ) существует своя очередь размером до 256 процессов. Каждый процесс, использующий маркированные очереди, идентифицируется связью I_T_L_Q, где Q — однобайтный тег очереди (queue tag). Теги процессам назначаются ИУ, их значения на порядок выполнения операций не влияют. Постановка в очередь выполняется через механизм сообщений, при этом очередной процесс можно поставить в очередь «по честному», а можно «пропихнуть» вне очереди: процесс, поставленный в очередь с сообщением Head Of Queue Tag, будет выполняться сразу после завершения текущего активного процесса. Процессы, поставленные в очередь с сообщением Simple Queue Tag, исполняются ЦУ в порядке, который оно сочтет оптимальным. Процесс, поставленный в очередь с сообщением Ordered Queue Tag, будет исполняться последним. ИУ может удалить процесс из очереди, сославшись на него по тегу. Изменение порядка выполнения команд ЦУ не касается порядка в цепочке команд, поскольку цепочка принадлежит одному процессу, а в очередь ставятся именно процессы. Здесь мы не рассматриваем различные ситуации, приводящие к отклонениям от нормальной последовательности событий интерфейса. К ним относятся некорректные соединения со стороны ИУ, выбор несуществующего ЛУ, неожиданные выборки ИУ, округление параметров, реакция на асинхронные события и т. п.
Более подробную информацию об интерфейсе SCSI, его принципах работы, системной поддержке, принципах использования и программирования можно найти в [2, 50-53, 55].
Последовательная шина USB USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Шина разработана недавно — спецификация версии 1.0 была опубликована в январе 1996 года, — и в ней отразились современные достижения различных областей компьютерной техники. Архитектура USB определялась следующими критериями: · Легко реализуемое расширение периферии PC. · Дешевое решение, поддерживающее скорость передачи до 12 Мбит/с. · Полная поддержка в реальном времени передачи аудио- и сжатых видеоданных. · Гибкость протокола для смешанной передачи изохронных данных и асинхронных сообщений. · Интеграция в технологию выпускаемых устройств. · Доступность в PC всех конфигураций и размеров. · Обеспечение стандартного интерфейса, способного быстро внедриться в продукцию. · Открытие новых классов устройств, расширяющих PC. · С точки зрения конечного пользователя привлекательны такие черты USB: · Простота кабельной системы и подключений. · Изоляция подробностей электрического подключения от конечного пользователя. · Самоидентифицирующаяся периферия, автоматическая связь устройств с драйверами и конфигурирование. · Возможность динамического подключения и реконфигурирования периферии. С середины 1996 года многие фирмы выпускают PC со встроенным контроллером USB, реализуемым прямо чипсетом системной платы. Поначалу USB ехидно расшифровывали как «Unused Serial Bus» — «неиспользуемая последовательная шина», но скоро ситуация, похоже, изменится. Ожидается появление модемов, клавиатур, сканеров, динамиков и других устройств ввода/вывода с поддержкой технологии USB, а также мониторов с USB-адаптерами — такой монитор будет играть роль хаба для подключения других устройств. Физический интерфейс Стандарт USB определяет электрические и механические спецификации шины. Информационные сигналы и питающего напряжения 5 В передаются по четырехпроводному кабелю. Для сигнала используются дифференциальный способ передачи по двум проводам D+ и D- Уровни сигналов передатчиков в статическом режиме должны быть ниже 0, 3 В (низкий уровень) или выше 2, 8 В (высокий уровень). Приемники должны выдерживать входное напряжение в пределах -0, 5...+3, 8 В. Передатчики должны иметь возможность перехода в высокоимпедансное состояние для обеспечения двунаправленной полудуплексной передачи данных по одной паре проводов. Передача по двум проводам USB не ограничивается лишь дифференциальными сигналами. Кроме дифференциального приемника, каждое устройство имеет и линейные приемники сигналов D+ и D-, а передатчики этих линий управляются индивидуально. Это позволяет различать множество состояний линии, используемых для организации аппаратного интерфейса. Состояния Diff0 и Diff1определяются по разности потенциалов на линиях D+ и D- более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания Vse. Состояние, при котором на обоих входах D+ и D- присутствует низкий уровень, называется линейным нулем (SE0 — single-ended zero). Интерфейс определяет следующие состояния: · Data J State и Data К State — состояния передаваемого бита (определяются через состояния Diff0 и Diff1). · Idle State — пауза на шине. · Resume State — сигнал «пробуждения» для вывода устройства из «спящего» режима. · Start of Packet (SOP) — начало пакета (переход из «Idle» в «К»). · End of Packet (EOP) — конец пакета. · Disconnect — устройство отключено от порта. · Connect — устройство подключено к порту. · Reset — сброс устройства. Состояния определяются сочетаниями дифференциальных и линейных сигналов, причем для полной и низкой скоростей состояния Diff0 и Diff1 имеют противоположное назначение. В декодировании состояний Disconnect, Connect и Reset принимается во внимание и время нахождения линий (более 2, 5 мс) в определенных состояниях. Шина имеет два режима передачи. Полная скорость передачи сигналов USB составляет 12 Мбит/с, низкая — 1, 5 Мбит/с. Для полной скорости используется экранированная витая пара с импедансом 90 Ом и длиной сегмента до 5 м, для низкой — невитой и неэкранированный кабель при длине сегмента до 3 м. Низкоскоростные кабели и устройства дешевле высокоскоростных. Одна и та же система может одновременно использовать оба режима, переключение для устройств осуществляется прозрачно. Низкая скорость предназначена для работы с небольшим количеством устройств, не требующих высокой пропускной способности канала.
Рис. 2.62. Подключение полноскоростного устройства
Рис. 2.63. Подключение низкоскоростного устройства.
Рис. 2.64. Кодирование данных по методу NRZI. Скорость, используемая устройством, подключенным к конкретному порту, определяется хабом по уровням сигналов на линиях D+ и D-, смещаемых нагрузочными резисторами R2 приемопередатчиков (см. рис. 2.62, 2.63). Сигналы синхронизации кодируются вместе с данными по методу NRZI (Non Return to Zero Invert), его работу иллюстрирует рис. 2.64. Каждому пакету предшествует поле синхронизации SYNC, позволяющее приемнику настроиться на частоту передатчика. Кроме сигнальной пары, кабель имеет линии VBus и GND для передачи питающего напряжения 5 В к устройствам. Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сигнала и питающего напряжения. Стандарт определяет два типа разъемов (табл. 2.44).
Таблица 2.44. Назначение выводов разъема USB
Разъемы, типа «А> > применяются для подключения к хабам (upstream connector). Они устанавливаются на кабелях, не отсоединяемых от устройств (например, от клавиатуры, мыши и т. п.). Ответная часть к ним устанавливается на нисходящих портах (downstream port) хабов. Разъемы типа «В» (downstream connector) устанавливаются на устройствах, от которых соединительный кабель может отсоединяться (например, на принтеры и сканеры). Его ответная часть устанавливается на соединительном кабеле, противоположный конец которого имеет разъем типа «А». Разъемы типов А и В различаются механически, что исключает возможность петлевых соединений портов хабов, которые недопустимы в USB. Четырехконтактные разъемы имеют ключи, исключающие неправильное присоединение. Конструкция разъемов обеспечивает более позднее соединение и раннее отсоединение сигнальных цепей по сравнению с питающими. Для облегчения распознавания разъема USB на корпусе устройства ставится обозначение, приведенное на рис.2.65.
Рис. 2.65. Обозначение разъема USB
Питание устройств USB возможно как от кабеля (bus-powered devices), rat и от собственного блока питания (self-powered devices). Хост обеспечивает питанием непосредственно к нему подключенные устройства. Каждый хаб (устройство с несколькими портами), в свою очередь, обеспечивает питание устройств, подключенных к его нисходящим портам. При некоторых ограничениях топологии USB допускает применение хабов питающихся от шины. На рис. 2.66 приведен пример схемы соединения устройств USB. Здесь клавиатура, перо и мышь могут питаться от шины. USB имеет развитую систему управления энергопотреблением. Хост-компьютер может иметь собственную систему управления энергопотреблением (power management system), к которой логически подключается и одноименная система USB. Программное обеспечение USB взаимодействует с этой системой, поддерживая такие системные события, как приостанов (SUSPEND) или восстановление (RESUME). Кроме того, устройства USB могут сами являться источниками событий, отрабатываемых системой управления энергопотреблением.
Рис. 2.66. Пример подключения устройств USB
Шина IEEE 1394 — FireWire Стандарт для высокопроизводительной последовательной шины (High Performance Serial Bus), получивший официальное название IEEE 1394, был принят в 1995 году. Целью разработки являлось создание шины, не уступающей по производительности современным стандартным параллельным шинам, при существенном удешевлении и повышении удобств подключения, достижимом при переходе на последовательный интерфейс. Стандарт основан на шине FireWire, используемой фирмой Apple Computer в качестве дешевой альтернативы шины SCSI в компьютерах Macintosh и PowerMac. Название FireWire (огненный провод) теперь применяется и к реализациям IEEE 1394, это название сосуществует и кратким обозначением 1394. · Преимущества FireWire перед другими последовательными шинами: · Многофункциональность: шина обеспечивает цифровую связь до 63 устройств без применения дополнительной аппаратуры (хабов). Устройства —цифровые камкодеры, сканеры, принтеры, камеры для видеоконференций, дисковые накопители — могут обмениваться данными не только с PC (необязательного для шины), но и между собой. FireWire по инициативе VESA является кандидатом на стандарт для «домашней сети». · Высокая скорость обмена и изохронные передачи позволяют даже на начальном уровне (100 Мбит/с) передавать по шине одновременно два канала «живого видео» (30 кадров в секунду) широковещательного качества и стереоаудиосигнал с качеством CD. · Низкая (относительно) цена компонентов и кабеля. · Легкость установки и использования. FireWire расширяет систему Plug and Play. Устройства автоматически распознаются и конфигурируются при включении и отключении. Питание от шины (током до 1, 5 А) позволяет подключенным устройствам общаться с системой даже при отключении их питания. Управлять шиной и другими устройствами могут не только PC, но и другие «интеллектуальные» устройства.
Популярное:
|
Последнее изменение этой страницы: 2016-03-22; Просмотров: 1025; Нарушение авторского права страницы