SCSI-Интерфейс

- Доступ к SCSI устройствам ОС и прикладных задач.

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

I. Програмирование аппаратных средств периферийных устройств.

Конечным звеном средств програмной поддержки ПУ в силу специфичности физических принципов их реализации неизбежно являются узкоспециализированные программы низкого уровня.Из-за того, что программирование на таком уровне сложно даже для общесистемных, не говоря уже о прикладных програмистах, имеется тенденция к повышению уровня средств программирования ПУ за счет маскирования специфики ПУ на уровне так называемого firmware( внутреннего

програмного обеспечения –ВПО). Примером может служитть маскирование функций непосредственного управления дисковыми накопителями на уровне внутренних комманд дисковых контроллеров WD2010,8272 и др.

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

Использование интерфейса SCSI еще более повышает уровень программирования ПУ за счет использования определенного стандартом набора комманд общего вида. Для прикладного програмиста использование стандартных функций BIOS становится при этом практически невозможным.

Однако как элементуправления устройствомони,естественно,

сохраняются на уровне ВПО контроллера ПУ и реализуется либо локальнам микропроцессором (МП) контроллера, либо микроконтроллером, встроенным в базовую БИС контроллера ПУ.

В целях сохранения наработанных програмных средств управления электроникой ПУ, в настоящее время широко используется эмуляция стандартных интерфейсов ПУ, предполагающая преобразование логических адресов SCSI в физические адреса конкретного устройства. Примером может служить контроллер SmartConnex/ISA фирмы Distributed Proccessing Е Technology. Он использует интерфейс известного дискового контроллера WD1003 фирмы Western Digital, в результате чего компьютер “видит” контроллер как обычное устройство, совместимое с интерфейсом ST-506.

Реально эмуляцию интерфейса выполняет невидимый для пользователя драйвер , запоминаемый при форматировании в последнем блоке НМД. Соответствующие драйверы имеются для наиболее распространенных ОС

(MS-DOS,OS/2,Xenix/Unix,Novell NetWare). Установка контроллера SmartConnex

в систему осуществляется с помощью специальной утилить, поставляемой фирмой.

В известных контроллерах WD 33C92/93 фирмы Western Digital имеется даже встроенная комманда преобразования форматов логических адресов в физические.

Таким образом, для реализации различных ПУ в стандарте SCSI могут

использоваться фрагменты готовых программ, поддерживающие такие стандартные функции управления ПУ в MS-DOS, как INT 13, INT 11 и др.

Следует отметить, что такой подход, видимо не в полной мере соответствует идеологии SCSI, и в перспективе будут использоваться специальные программы непосредственного управления SCSI устройством на базе SCSI-комманд.

II. Реализация протокола SCSI-шины

При использовании интерфейса SCSI на ВПО хост-адаптера или контролера ПУ возлагается также функция поддержки SCSI – операций.

При этом степень необходимой прграмной поддержки зависит отуровня интеллектуальности используемой БИС контроллера SCSI-шины. По некоторым оценкам, при использовании БИС SCSI-контроллеров первого, второго и третьего поколений обьем необходимого для реализации SCSI-протокола ВПО составляет около 400,2500 и несколько сотен комманд соответственно.

Контроллеры разных поколений отличаются числом и сложностью возлагаемых на них функций принятия решения по ситуациям в SCSI-

системе.

Например, контроллер первого поколения NCR 5380работает на уровне обработки и формировании логических сигналов SCSI-шины. Функции анализа ситуаций и принятия решений полностью возлагаются на ВПО. Такой режим характеризуется большим обьемом управляющего кода, высокой интенсивностью прерываний на уровне ВПО и, как следствие, высокими накладными расходами на время выполнения операций.

Подобная схема используется в SCSI-подсистемах ПК Macintosh фирмы Apple. Для программирования SCSI-подсистем фирмой разработано специальное програмное средство – Mac’s SCSI Manager, включающее

14 программ, обслуживающих различные фазы протокола SCSI шины. Среди них: чтение/запись данных в различных режимах, участие в арбитраже, обработка комманд,статуса, сообщений, и др.

Все перечисленные функции реализуются путем непосредственного программирования аппаратных устройств SCSI-контроллера. Поскольку во всех компьютерах семейства Mac используются хост-адаптеры SCSI-шины на базе контроллера NCR 5380, ВПО для всех моделей строится по одному принципу.Однако имеются нюансы, существенные для программирования на нижнем уровне.Например, в разных моделях ПК контроллер 5380 имеет разные адреса. Кроме того, по-разному используются некоторые режимы работы контроллера 5380. В частности,имеется отличие в реализации

операции чтения/зыписи данных в синхронном режиме, что обусловлено различной степенью аппаратной поддержки процедуры «рукопожатия» в различных моделях семейства Мас. Если в модели Мас Plus синхронный режим требует полного програмного контроля линий чтения/записи и данных,то а машинах Мас SE и Мас II реализована порлная аппаратная поддержка данного режима. Особенностью мождели Мас IIfx является использование специальной заказной БИС – SCSI-контроллера ПДП, в состав которой входит контроллер 5830.

Похожие функции выполняет и програмный интерфейс ASPI (Advanced SCSI programming interface), предлагаемый фирмой Adaptec для програмирования SCSI- устройств в среде MS-DOS. Интерфейс ASPI также обеспечивает выполнение нижнего уровня протокола SCSI-штны и включает шесть команд, позволяющих выполнить следующие функции:

- определение числа хост –адаптеров в составе системы;

- определение типа периферийного SCSI- устройства;

- определение операции ввода/вывода на SCSI-шине;

- преккращение выполнения SCSI-операции;

- сброс устройств на SCSI-операции;

- установка параметров хост-адаптера.

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

набор команд , которые, во-первых упрощают процесс программирования, а, во –вторых , маскируют типичные для контроллеров первогопоколения прерывания при смене фаз на SCSI шине.

К третьему поколению однокристальных SCSI-когтроллеров можно отнести БИС NCR 53С700 NCR53C710 фирмы NCR, в которых внедрена новая програмная концепция фирмы NCR – так называемый Script- процессор. Оба контроллера содержат мощный встроенный процессор производительностью 2 млн. операций в секунду, обеспечивающий автономное управление операциями на SCSI-шине, а также управление ПДП.


Страница: