например, в комплект поставки сканеров, а подключение к ним диска может оказаться невозможным. Высокопроизводительные адаптеры имеют собственный специализированный процессор, большой объем буферной памяти и используют высокоэффективные режимы прямого управления шиной для доступа к памяти компьютера. Адаптеры SCSI существуют для всех шин расширения (ISA, EISA, MCA, PCI, VLB, PCMCIA, CardBus), шин USB и FireWire и для LPT-порта. Ряд системных плат имеют встроенный SCSI-адаптер, подключенный к одной из локальных шин. При выборе интерфейса, к которому подключается хост-адаптер, учитывайте производительность — интерфейс не должен стать узким местом при обмене с высокопроизводительными устройствами SCSI. Наибольшую эффективность имеют хост-адаптеры для шины PCI. Конечно, за мощный адаптер для сервера приходится платить — его цена может превышать цену рядового настольного компьютера. Еще дороже хост-адаптеры с встроенными контроллерами RAID- массивов, которые содержат мощный RISC-процессор и большой объем локальной памяти.
Конфигурирование хост-адаптеров с точки зрения шины SCSI не отличается от конфигурирования других устройств. Для современных адаптеров вместо джамперов используется программное конфигурирование. Утилита конфигурирования обычно входит в расширение BIOS, установленное на плате адаптера, и приглашение к ее вызову выводится на экран во время теста POST.
Как и всякая карта расширения, хост-адаптер должен быть сконфигурирован с точки зрения шины расширения, к которой он подключается. Системные ресурсы для шинного SCSI-адаптера включают:
♦ область памяти для расширения ROM BIOS, необходимого для поддержки конфигурирования устройств и дисковых функций (если в системе установлено несколько однотипных хост-адаптеров, для них используется ROM BIOS с одного адаптера, а разнотипные хост-адаптеры не всегда могут работать вместе);
♦ область разделяемой буферной памяти;
♦ область портов ввода-вывода (I/O port);
♦ IRQ — запрос прерывания;
♦ DMA — канал прямого доступ к памяти (для шин ISA/EISA), часто используемый для захвата управления шиной (bus mastering).
Всем устройствам SCSI, в том числе и хост-адаптеру, требуются специальные драйверы. Базовый драйвер дисковых устройств входит в BIOS хост-адаптера; он обычно эмулирует трехмерную адресацию дискового сервиса Int 13h. Расширения, например ASPI (Advanced SCSI Programming Interface), загружаются отдельно. От драйверов сильно зависит производительность устройств SCSI. «Умное» ПО способно эффективно загружать работой устройства, а иногда и «срезать углы» — выполнять копирование данных между устройствами без выхода на системную шину компьютера. Наиболее предпочтительны драйверы, работающие в режиме прямого управления шиной (bus mastering); их применение позволяет реализовать все преимущества SCSI в многозадачных системах.
5.4. Управление интерфейсом и выполнение команд
Для управления интерфейсом служит система сообщений —
С помощью сообщений согласуются параметры синхронного режима и разрядность данных. Процесс согласования синхронного обмена называется REQ/ACK. Если другой участник обмена поддерживает синхронный режим, он предложит свои параметры. Согласованными параметрами будут максимальный период и минимальное отставание (нулевое отставание эквивалентно асинхронному режиму). Выбранный режим будет относиться только к фазам передачи между данной парой устройств. Отвергнутое сообщение является требованием асинхронного режима. Поскольку старые хост-адаптеры не поддерживали согласование синхронного режима, на ЦУ запрос синхронного режима может быть заблокирован. О возможности работы в синхронном режиме хост может узнать, послав команды Request Sense и Inquiry.
Разрядность передач согласуется аналогично посредством сообщений
Рассмотрим процесс на шине SCSI на примере Read. ИУ имеет активный набор указателей и несколько сохраненных наборов, по одному на каждый из допустимого числа одновременных конкурирующих процессов. ИУ восстанавливает указатели процесса в активный набор и, выиграв арбитраж, выбирает ЦУ. Как только ЦУ выбрано, оно берет на себя управление процессом. В фазе ATN#, сообщая о намерении послать сообщение Identify с указанием адресуемого ЛУ. ЦУ переходит в фазу Read. Интерпретировав команду, ЦУ переходит в фазу
Рассмотрим тот же пример, но при условии Read, определит, что для получения затребованных данных необходимо много времени, оно освободит шину, послав сообщение Message IN пошлет ему сообщение
Теперь рассмотрим процесс с Search Data, по которой на диске будет найден блок, содержащий информацию, совпадающую с эталоном поиска. Связав с ней команду чтения Read, можно прочитать этот блок или блок с указанным смещением относительно
