Создание события для ASPI
Интерфейс SCSI — это интерфейс системного уровня. Шина SCSI представляет собой шину ввода-вывода, которая может использоваться в широком диапазоне скоростей (SCSI-1 — до 5 Мбайт/с, Ultra2 SCSI — до 40 Мбайт/с, Ultra320 SCSI — до 320 Мбайт/с) для передачи данных между периферийным устройством и компьютером. Главной задачей интерфейса SCSI является обеспечение универсальности работы при подключении различных классов устройств к компьютеру. Стандарт SCSI-2, рассматриваемый в данной книге, полностью поддерживает предыдущий стандарт SCSI-1. Все команды управления более раннего стандарта поддерживаются в новой редакции. Каждая команда имеет один из трех типов поддержки: обязательная — поддерживается всеми устройствами класса, необязательная — поддерживается некоторыми устройствами и определяемая производителем — поддержка зависит от изготовителя устройства.
Шина SCSI реализуется в виде кабельного шлейфа. С шинами расширения компьютера (ISA или PCI) она связывается с помощью главного, или иначе хост-адаптера (Host Adapter). Шина SCSI позволяет подключить до 8 устройств. При этом в один момент времени связь может быть осуществлена только между двумя устройствами. Каждое устройство на шине имеет свой идентификационный номер (ID), имеющий значения от 0 до 7. Обычно хост-адаптеру, который должен иметь высший приоритет, назначается ID7. После соединения двух устройств, одно из них становится инициатором, а другое — адресатом. Инициатор определяет операцию, а адресат выполняет ее. Более подробно о работе SCSI устройств можно узнать из соответствующей литературы.
Перед тем как начать описание команд SCSI, следует оговорить способ представления формата отдельно взятой команды. Каждая команда состоит из набора байтов (обычно 6, 10 или 12). Байты, в свою очередь, могут кодироваться изменяемыми значениями битов, определяющими их. Поскольку использование битов затрудняет восприятие, то для представления структуры команды в более удобном виде используется таблица. Так, для примера приведем стандартную таблицу описания команды (табл. 1).
Таблица 1. Пример описания команды
Байты | Биты | |||||||
---|---|---|---|---|---|---|---|---|
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | Код команды (36h) | |||||||
1 | ЛНУ | Резерв | Блок | ОА | ||||
2 | (СЗБ)
Логический адрес (МЗБ) |
|||||||
3 | ||||||||
4 | ||||||||
5 | ||||||||
6 | Резерв | |||||||
7 | (СЗБ)
Количесвто блоков (МЗБ) |
|||||||
8 | ||||||||
9 | Служебный байт |
Таблица разделена на два основных поля: в верхнем пронумерованы восемь битов, составляющие один байт команды, а в левом проставлены байты (от 0 до 9 или более), определяющие размер выбранной команды. Каждый байт тоже может состоять из нескольких логических частей, что указывает на возможность использования его отдельных битов. Поля, не задействованные в команде, являются зарезервированными, и их установка необязательна. Используемые биты в большинстве случаев обозначены в виде сокращенных названий (аббревиатур), описание которых приводится при рассмотрении соответствующей команды. Здесь же только объясним значения двух сокращений: СЗБ (старший значащий бит) и МСБ (младший значащий бит). Код команд представлен в шестнадцатеричной системе счисления, на что указывает обозначение h в конце кода. При кодировании больших величин, использующих более одного байта, записать нужное значение можно только, если разбить его на части. При этом старшую часть значения следует поместить в его старшем байте, а младшую — в младшем. По ходу книги будет продемонстрировано, как это следует правильно делать.
Итак, приступим к рассмотрению команд, которые поддерживаются всеми устройствами с интерфейсом SCSI, полный список которых представлен в табл. 2.
Таблица 2. Список команд для всех устройств
Имя команды | Код команды | Поддержка |
---|---|---|
CHANGE DEFINITION | 40h | Необязательная |
COMPARE | 39h | Необязательная |
COPY | 18h | Необязательная |
COPY AND VERIFY | 3Ah | Необязательная |
INQUIRY | 12h | Обязательная |
LOG SELECT | 4Ch | Необязательная |
LOG SENSE | 4Dh | Необязательная |
MODE SELECT (6) | 15h | Определяется устройством |
MODE SELECT (10) | 55h | Определяется устройством |
MODE SENSE (6) | 1Ah | Определяется устройством |
MODE SENSE (10) | 5Ah | Определяется устройством |
READ BUFFER | 3Ch | Необязательная |
RECEIVE DIAGNOSTIC RESULTS | 1Ch | Необязательная |
REQUEST SENSE | 03h | Обязательная |
SEND DIAGNOSTIC | 1Dh | Обязательная |
TEST UNIT READY | 00h | Обязательная |
WRITE BUFFER | 3Bh | Необязательная |
2021-04-01
Google сообщил о запуске проекта Dunant
Проект Dunant, начатый в 2018 году, был запущен в эксплуатацию. Трансатлантический интернет-кабель соединяет США и континентальную Европу. Общая протяженность...
подробнее2020-04-06
Новшества в обновленной Windows 10
Корпорация Microsoft завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...
подробнее