IDE и SCSI интерфейсыРефераты >> Программирование и компьютеры >> IDE и SCSI интерфейсы
Фаза «Выборка» дает возможностбь инициатору выбрать исполнителя, чтобы инициировать выполнение им соответствующей функции, например комманды чтения READ. Согласно протоколу спецификации SCSI-2 фаза «Выборка» всегда наступает после фазы «Арбитраж». В спецификации SCSI-1 предусматривается вариант системы с одним инициатором, где необходимость арбитража отсуствует, и в фазу выборки можно входить сразу же после фазы «Шина свободна». В обоих случаях для выборки исполнителя инициатор выдает его ID-бит на соответствующую линию данных шины SCSI и формирует сигнал выборки SEL.
Необязательная фаза перевыборка возможна, когда исполнитель хочет воссиановить связь с тем инициатором, который ранее послал ему комманду. Эта фаза в принципе напоминает фазу «Выборка», с тем исключением, что вместе с сигналом выборки SEL переходит в активное состояние линия I/O, что позволяет различать эти две фазы.
Фазы «Комманда», «Данные», «Состояние » и «Сообщение» образуют группу фаз передачи информации, поскольку все они используются для передачи данных или управляющей информации по шине данных. Чтобы их различать, используются сигналы C/D – управление, I/O – ввод-вывод и MSG – сообщение, вырабатываемые исполнителями, который тем самым управляет всеми переходами из одной фазы в другую. Для управления передачей данных между исполнителем и инициатором в фазах передачи информации используются сигналы линий REQ/ACK – запрос/подтверждение (в версии SCSI-2 дополнительно применяются линии REQB/ACKB).
Реальный обмен данными может осуществляться синхронным и асинхронным способом. В обоих случаях для выполнения квитирования используются сигнальные линии ACK и REQ. Для исполнителя режим синхронной передачи является необязательным. Инициатор может потребовать, чтобы исполнитель осуществлял синхронную передачу, одноко если последний отвергнет этот запрос, то будет использоваться асинхронный режим.
Чтобы передать данные инициатору в ассинхронном режиме, исполнитель выдает их на линии данных шины SCSI вместе с сигналом REQ. Данные должны удерживаться на шине до тех пор, пока от нициатора не будет принят сигнал подтверждения ACK. После этого на шину выдаются следующие данные, и процесс повторяется. Если передача данных должна происходить в противоположном направлении, исполнитель выдает сигнал запроса REQ, говорящий о том, что он готов к приему данных. Инициатор выдает данные на линию данных шины SCSI, а за тем формирует сигнал ACK. Инициатор продолжает удерживать данные на шине до тех пор, пока линия REQ, не переключится в пассивное состояние. Затем исполнитель сбрасывает сигнал REQ, инициатор выдает новые данные, и процесс повторяется.
Если в фазе «Сообщения» устройства согласились использовать синхронный режим обмена, то исполнитель не будет ждать поступления сигнала подтверждения ACK перед выдачей сигнала REQ для приема следующих данных. Он может генерировать один или более импульсов REQ без ожидания соответствующих импульсов ACK(до заранее оговоренного максимума, называемого смещением REQ/ACK).
При выдаче всех запланированных импульсов REQ исполнитель сравнивает число запросов REQ и подтверждений ACK, чтобы удостовериться в том, что каждая группа данных принята успешно. При подготовке синхронного режима обмена устройства задают смещение REQ/ACK и период передачи. Период передачи определяет интервал времени между окончанием передачи очередного байта и началом передачи следующего.
Дополнительные средства спецификации SCSI-2
Хотя исходная спецификация SCSI, опублткованная в 1986г.(SCSI-1), представляла большой шаг вперед, у нее были и некоторые серьезные недостатки. В частности не бало четкой регламентации всех аспектов, гарантирующих совместимость между устройствами, были ссылки на целый ряд различных комманд, однако в действительности она требовала обязательной реализации только одной комманды REQUEST SENSE («уточнить состояние»). В результате различные устройства поддерживали различные комманды, что существенно ограничивало число контроллеров, которые могли бы работать в любой SCSI-системе. Специалисты осознали это ограничение уже на завершающем этапе выработки спецификации SCSI-1, поэтому была создана группа по разработке единого набора комманд (CCS), которая должна была решить данную проблему, предложив расширенный набор комманд SCSI. Набор комманд был расширен с тем, чтобы устройство могло посылать и принимать более детальную информацию. Подмножество всех возможных комманд было выбрано таким образом, чтобы его могли без особого труда реализовать изготовители ПУ. Ограничение числа комманд, на которые должно реагировать SCSI-устройство, увеличивает вероятность того, что все эти комманды будут реализованы. Хотя документ CCS включен в спецификацию SCSI-1, он был опубликован, и его принципы были рекомендованы как стандарт де-факто, которому должны следовать изготовители устройств с интерфейсом SCSI. Благодаря этому уменшился уровень несовместимости SCSI-устройств, не позволяющий использовать готовые ПУ в системе без дополнительных доработок.
Принципы SCSI были включены в спецификацию SCSI-2, где команды делятся на три категории: обязательные, факультативные и определяемые изготовителем. SCSI-устройства должны поддерживать все обязательные комманды устройств своего типа. В спецификации SCSI -2 были описаны комманды для ПУ непосредственного доступа (дисковых накопителей), последовательного доступа (НМЛ), принтеров, процессоров, устройств памяти с однократной записью (оптических дисковых накопителей), ПЗУ на базе компакт-дисков, сканеров, устройств оптической памяти.
В спецификацию SCSI-2 была включена также еще одна концепция, предложенная в документе CCS, а именно - концепция обратной выборки, или перевыборки. Согласно протоколу SCSI–1, если инициатор посылает комманду исполнителю, он будет занимать шину до тех пор, пока исполнитель не завершит выполнение этой комманды. Когда исполнитель выполнит комманду, он через механизм арбитража потребует доступа к шине с целью перевыборки инициатора, который выдал ему эту комманду. Операция завершается передачей исполнителем соответствующих данных и статуса. Таким образом, инициатору не приходится ждать, пока исполнитель закончит текущую комманду, и он может в принципе посылать комманды другим исполнителям с целью их параллельного выполнения.
Это может быть полезно для системы, содержащей более одного исполнителя, однако чаще бывает необходимо послать следующую комманду тому же самому исполнителю. Спецификация SCSI-1 предусматривает передачу только одной комманды от инициатора логическому устройству SCSI-контроллера исполнителя. При работе с дисковыми накопителями такой режим может быть весьма неэффективным. Предположим, например, что у ЦП имеются четыре отдельных запроса от операцирнной системы на чтение секторов диска, размещающихся на дорожках 1,50,2 и 52. Поскольку ЦП работает c устройствами шины SCSI в терминах логических блоков данных, он не имеет представления о том, где( или каким образом) эти данные хранятся в устройстве), и, следовательно, не в состоянии оптимизировать последовательность комманд перед их выдачей в SCSI- устройство. Такая возможность, называемая формированием очереди или цепочки комманд, предусмотрена в спецификации SCSI-2(в очередь могут быть установлены до 256 команд). Чтобы устройство могло одновременно следить за несколькими командами, ждущими выполнения, каждой команде присваивается тег очереди, определяющий однозначный механизм обращения к ней. Когда устройство выбрано на шине SCSI и передано сообщение идентификации IDENTIFY, посылается двухбайтовое сообщение тега очереди QUEUE TAG, которое содержит нужную команду очереди и идентификатор инициатора. Когда контроллер исполнителя производит перевыборку инициатора, это сообщение с тегом посылается после идентификатора устройства. Команды, посылаемые без тега очереди, выполняются в порядке поступления, однако при этом ожидать выполнения может только одна команда, что регламентируется стандартным протоколом SCSI-1.