Создание события для 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 завершила разработку обновления, в котором добавлено множество функций. Обновление содержит как доработку уже имеющихся систем, так...

подробнее

 

Все новости...

 

Научно-Техническое Объединение

Тел.: +7(4752) 55-95-86

E-mail:e-mail