Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Програмная поддержка SCSI устройств

Характеристики современных хост-адаптеров.

Хост – адаптеры.

 

Хост-адаптер реализует функции сопряжения шины SCSI с системными ресурсами, прежде всего с системной шиной и операционной системой компьютера. Он, как правило выполняет роль инициатора на шине SCSI, хотя в сложных(например, в мультипроцессорных и мультимашинных) SCSI-системах может динамически изменяться (инициатор/исполнитель).

К числу основных функций хост-адаптера, определяющих его структуру и характеристики, относятся:

- реализация протокола шины SCSI, а также физических и электрических спецификаций стандарта;

- сопряжение с аппаратными и программными системными ресурсами

 

Реализация протокола шины SCSI, как правило, осуществляется специализированной БИС контроллера шины SCSI. Обычно эта схема обеспечивает и реализацию электрических спецификаций стандарта.

Сопряжение с аппаратными системными средствами предполагает прежде всего согласование разрядности и пропускной способности шины SCSI и системной шины хост-системы, а также реализацию развитых средств доступа к системной памяти. Структура узла согласования разрядности шин зависит от назначения хост-адаптера и используемой версии стандарта SCSI(8 разрядов для SCSI-1;16 или 32 разряда для

SCSI-2). Основным средством согласования пропускной способности системной и SCSI-шин является буферная память, реализуемая обычно в виде буфера FIFO, либо двухпортового ОЗУ. Наиболее распространенный алгоритм доступа к системной памяти – прямой доступ, реализуемый чаще всего с помощью контроллера ПДП хост-системы.

Сопряжение с программными системами предполагает наличие SCSI- драйвера для конкретной ОС.

 

 

Среди используемых БИС SCSI-контроллеров для шины AT доминирует модели фирмы NCR. Следом идут известные WD33C93 фирмы Western Digital и ALC 6250/60 фирмы Adaptec(США). Хост-адаптером чаще всего поддерживают как синхронный, так и асинхронный

режимы обмена по шине SCSI. Скорость обмена существенно зависит от типа используемого контроллера. В простых хост-адаптерах она колеблется от 0,25 до 1 Мбайт/с в асинхронном режиме и синхронном режимах соответственно.

Размер буфера данных также варьируется в достаточно широких пределах: от использования внутренних буферов БИC SCSI-контроллера небольшой емкости, до ОЗУ значительной емкости (1Мбайт). Наличие большого буфера существенно увеличивает стоимость хост-адаптера.

 

 

 

Задача программирования SCSI систем и устройств является многоуровневой и может быть разделена следующие относительно независимые подзадачи:

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

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

- Реализация 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-шине, а также управление ПДП.

Script- алгоритм включает программы управления такими операциями, как Выбор/Перевыбор; Отсоединение/Повторное соединение; Изменение фазы SCSI-шины; Передача информации и др.

Реализация развитых управляющих алгоритмов, естественно, требует большого обьема памяти. Если этот алгоритм выполняется средствами хост-системы(по типу BIOS), он становится зависимым от типа системной

шины и, следовательно теряет свою инвариантность. Если же он

выполняется самим контроллером, требуется большой обьем внутренней памяти. Особенностью и неоспоримым достоинством контроллеров серии 53C7XX является их способность непосредственно работать с памятью хост-системы, где и может быть размещен Script-алгоритм.

Набор Script-команд включает три основных типа операций:

1) Блочные пересылки,выполняющие передачу данных между SCSI шиной и основной памятью. При этом обеспечивается свободный доступ по адресам, а также равнозначность управляющей информации на SCSI шине и пользовательской информации.

2) Командды ввода-вывода выполняющие различные операции на SCSI шине и напрямую адресующие узлы SCSI-ядра контроллера.

3) Команды управления позволяющее сравнить содержимое внутренних регистров с сигналами на SCSI-шине либо с первым байтом передаваемой последовательности. По результатам сравнения

4) управление может быть передано по другому адресу. Таким образом, все типы переходов (jump,call,return) в Script программе могут быть основаны на непосредственном сравнении фаз SCSI-шины, что удобно для принятия решений в реальном времени.

Мощные Script-команды существенно сокращают накладные расходы SCSI шины. Например, при использовании команд блочной

пересылки при работе с рассредоточенными блоками данных за одну

команду может быть передана страница данных для программы пользователя.


<== предыдущая лекция | следующая лекция ==>
Дополнительные средства спецификации SCSI-2 | Интерфейс AGP
Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 506; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.041 сек.