Аппаратные интерфейсы ПК. Энциклопедия - Михаил Гук
- Дата:20.06.2024
- Категория: Компьютеры и Интернет / Компьютерное "железо"
- Название: Аппаратные интерфейсы ПК. Энциклопедия
- Автор: Михаил Гук
- Просмотров:4
- Комментариев:0
Шрифт:
Интервал:
Закладка:
В спецификации SCSI-1 момент возобновления передачи после устранения отставания описан нечетко, в результате разработчики могли посчитать, что очередной запрос (и данные) может последовать лишь после окончания (положительного перепада) сигнала ACK#. Устройство, на это рассчитанное, может терять данные: для него последний сигнал REQ# (и данные) является неожиданным и выглядит как превышение согласованного смещения.
Рис. 5.6. Временные диаграммы синхронного обмена: а — передача; б — прием
Обмен при разрядности 16 бит происходит аналогично. Если в последней фазе данных используются не все байты, передатчик обязан снабдить корректным битом паритета и неиспользуемые байты.
При описании фаз передачи данных не говорилось о временных задержках. Они определяются спецификацией так, чтобы возможный «перекос» — неодновременный приход сигналов, вызванный задержкой как в электронных схемах, так и в разных проводах кабеля, — не влиял на устойчивость протокола. В асинхронном режиме обмена на скорость передачи информации влияет и длина кабеля, поскольку изменения состояний участников обмена привязываются к сигналам, распространяющимся по кабелю с ограниченной скоростью. Если в широкой шине имеется пара кабелей (А и В, что на практике встречается редко), то в каждом из них используется своя пара управляющих сигналов (REQ#/ACK# и REQB#/ACKB#), поскольку эти кабели могут иметь разную длину.
В фазе Command ЦУ запрашивает от ИУ команду. В фазе Status ЦУ делает запрос на передачу ИУ информации о своем состоянии. В фазах Data IN и Data OUT ЦУ делает запросы на передачу данных к ИУ и от него соответственно. Фазы Message IN и Message OUT служат для передачи сообщений. Фазу Message OUT ЦУ вводит в ответ на условие Attention, порождаемое ИУ сигналом ATN#, когда оно нуждается в посылке сообщения ЦУ. Фазу Message IN ЦУ вводит при необходимости посылки сообщения ИУ.
Между фазами передачи информации сигналы BSY#, SEL#, REQ# и ACK# должны оставаться в неизменном состоянии, меняться могут только значения сигналов C/D#, I/O#, MSG# и шины данных.
Сигналы ATN# и RST# могут порождать условия Attention и Reset соответственно, причем асинхронно по отношению к фазам шины. Эти условия могут привести к изменению предопределенного порядка фаз. Сигнал ATN# вводится ИУ во время любой фазы, кроме арбитража и состояния покоя шины. Сигнал RST# вводится в любой момент любым устройством, и по условию Reset все устройства должны немедленно освободить шину. В зависимости от настройки, принятой для всех устройств конкретной системы, возможно выполнение одного из двух вариантов сброса. «Жесткий» сброс переводит устройства в состояние, принятое по включению питания, сбрасывая все текущие процессы, очереди и т. п. В случае «мягкого» сброса после освобождения шины устройства пытаются завершить начатые операции, сохраняя текущие значения настроек.
Каждый процесс ввода-вывода состоит из следующей последовательности фаз шины: из состояния Bus Free через фазу Arbitration переход к фазе Selection или Reselection. Далее следуют фазы передачи информации (Command, Data, Status, Message), Завершающей фазой является Message In, в которой передается сообщение Disconnect или Command Complete, после чего шина переходит в состояние покоя Bus Free.
Архитектура SCSI обеспечивает для каждого процесса ввода-вывода сохранение набора из трех указателей (saved SCSI pointers): для команды, состояния и данных. ИУ имеет текущий набор указателей (только один), в который копируется сохраненный набор для текущего процесса. Текущие указатели указывают на очередной байт команды, состояния и данных, которые будут передаваться между памятью ИУ и ЦУ. Сохраненные указатели команды и состояния всегда указывают на начала блоков дескрипторов команд и состояния. Сохраненный указатель данных указывает на начало блока данных до тех пор, пока ЦУ не пришлет сообщение Save Data Pointer. По его приему будет сохранен текущий указатель данных. Когда ЦУ отключается от шины, информация о текущем процессе ввода-вывода содержится в сохраненном наборе указателей. При возобновлении процесса ЦУ сообщением Restore Pointers может потребовать у ИУ скопировать сохраненный набор в текущий и продолжить выполнение команд данного процесса ввода-вывода.
ВНИМАНИЕПоскольку указатель данных может быть модифицирован ЦУ до завершения ввода-вывода, определение реального количества переданных данных с помощью указателя дает ненадежные результаты.
5.1.4. Конфигурирование устройств
Все устройства на шине должны быть согласованно сконфигурированы. Для них требуется программно или с помощью джамперов установить перечисленные ниже основные параметры.
♦ Идентификатор устройства (SCSI ID) — адрес 0–7 (для Wide SCSI 0-15), уникальный для каждого устройства на шине. Обычно хост-адаптеру, который должен иметь высший приоритет, назначается адрес 7 (15 для Wide SCSI, если все устройства 16-битные). Позиционный код, используемый для адресации, обеспечивает совместимость адресации 8- и 16-битных устройств на одной шине. Ряд версий BIOS считает загрузочным только устройство с SCSI ID=0.
♦ Контроль паритета (SCSI Parity). Если хотя бы одно устройство не поддерживает контроль паритета, он должен быть отключен для всех устройств на шине. Контроль паритета, особенно для дисковых устройств, является необходимым средством защиты от искажения данных при передаче по шине.
♦ Включение терминаторов (Termination). В современных устройствах применяются активные терминаторы, которые могут включаться одним джампером или программно-управляемым сигналом. Терминаторы должны включаться только на крайних устройствах в цепочке. Современные хост-адаптеры позволяют автоматически включать свой терминатор, если они являются крайними, и отключать, если используются внутренний и внешний разъем канала. Это позволяет подключать и отключать внешние устройства, не заботясь о переключении терминаторов. Ранее приходилось открывать корпус и переставлять джампер, а пассивные терминаторы устанавливать в специальные гнезда (и извлекать их оттуда). При отсутствии внутренних терминаторов пользователь был вынужден применять внешние, устанавливаемые на кабель.
ВНИМАНИЕПравильная установка терминаторов крайне существенна — отсутствие/избыток терминаторов может привести к неустойчивости или неработоспособности интерфейса.
♦ Питание терминаторов (Terminator power) должно быть включено (джампером или программно) хотя бы на одном устройстве.
♦ Согласование скорости синхронного обмена (SCSI synchronous negotiation). Режим синхронного обмена, обеспечивающий высокую производительность, включается по взаимному согласию устройств. Если хотя бы одно устройство на шине его не поддерживает, рекомендуют запретить согласование на хост-адаптере. Если обмен будет инициирован целевым устройством, поддерживающим синхронный режим, «нормальный» хост-адаптер поддержит этот режим. Целевому устройству можно запретить запрос синхронного режима специальным джампером, который может называться «Enable TI-SDTR» (Target Initiated Synchronous Data Transfer Request Negotiation).
♦ Разрешение отключения (Enable disconnection). Позволяет устройствам отключаться от шины при неготовности данных во время длительных операций с носителем, что весьма эффективно в многозадачном режиме при нескольких ПУ на шине. В случае одного устройства отключение приводит только к дополнительным затратам времени на повторное соединение.
♦ Согласование ширины шины данных тоже выполняется по протоколу шины, исходя из возможностей обоих участников обмена. Целевому устройству можно запретить запрос 16-битного режима специальным джампером, который может называться «Enable TI-WDTR» (Target Initiated Wide Data Transfer Request Negotiation).
♦ Запрет 16-разрядного режима (Disable wide). Позволяет подключить «широкое» устройство к «узкой» шине.
♦ Принудительное переключение в линейный режим (Force SE). Позволяет перевести устройство LVD в режим SE, независимо от состояния линии DIFFSENS.
♦ Запрет синхронизации по обоим фронтам (Disable U160). Позволяет принудительно перевести устройство Ultra3 SCSI в режим Ultra2.
♦ Старт по команде (Start on command), или запрет автоматического запуска шпиндельного двигателя (Disable Auto Spin up). При установке этого параметра запуск двигателя устройства выполняется только по команде от хост-адаптера, что позволяет снизить пик нагрузки блока питания в момент включения. Хост будет запускать устройства последовательно.
- Защита компьютера на 100%: cбои, ошибки и вирусы - Петр Ташков - Компьютерное "железо"
- Время — деньги. Создание команды разработчиков программного обеспечения - Эд Салливан - Деловая литература
- Шлюпка. Устройство и управление - Л. Иванов - Техническая литература
- Формирование технологии разработки и принятия предпринимательских решений - Д. Кенина - Управление, подбор персонала
- Язык программирования C++. Пятое издание - Стенли Липпман - Программирование