Информационные технологииStfw.Ru 🔍
🕛

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

При использовании интерфейса SCSI на ВПО хост-адаптера или контролера ПУ возлагается также функция поддержки 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-шине, а также управление ПДП.
Script- алгоритм включает программы управления такими операциями, как Выбор/Перевыбор; Отсоединение/Повторное соединение; Изменение фазы SCSI-шины; Передача информации и др.
Реализация развитых управляющих алгоритмов, естественно, требует большого обьема памяти. Если этот алгоритм выполняется средствами хост-системы(по типу BIOS), он становится зависимым от типа системной
шины и, следовательно теряет свою инвариантность. Если же он
выполняется самим контроллером, требуется большой объем внутренней памяти. Особенностью и неоспоримым достоинством контроллеров серии 53C7XX является их способность непосредственно работать с памятью хост-системы, где и может быть размещен Script-алгоритм.
Набор Script-команд включает три основных типа операций:
Блочные пересылки, выполняющие передачу данных между SCSI шиной и основной памятью. При этом обеспечивается свободный доступ по адресам, а также равнозначность управляющей информации на SCSI шине и пользовательской информации.
Команды ввода-вывода выполняющие различные операции на SCSI шине и напрямую адресующие узлы SCSI-ядра контроллера.
Команды управления позволяющее сравнить содержимое внутренних регистров с сигналами на SCSI-шине либо с первым байтом передаваемой последовательности. По результатам сравнения
управление может быть передано по другому адресу. Таким образом, все типы переходов (jump, call, return) в Script программе могут быть основаны на непосредственном сравнении фаз SCSI-шины, что удобно для принятия решений в реальном времени.
Мощные Script-команды существенно сокращают накладные расходы SCSI шины. Например, при использовании команд блочной пересылки при работе с рассредоточенными блоками данных за одну команду может быть передана страница данных для программы пользователя.

Также по теме:
Новые программы для Windows, Linux и Android.