Немногие могут похвастаться, что знают что-либо о структуре ввода-вывода AS/400, помимо факта наличия множественных IOP, и буквально единицы понимают, как это работает. В этой главе мы рассмотрим некоторые аспекты системы ввода-вывода AS/ 400, как самые популярные, так и не очень известные. Начнем с эволюции системы ввода-вывода и причин, ее стимулировавших.
Система ввода-вывода AS/400 находится на переходном этапе. В начале устройства ввода-вывода подсоединялись к системе только посредством IOP, подключенных к особой шине ввода-вывода. Она называется шиной SPD [ 77 ] Шина SPD пришла из неудачного проекта Fort Knox, история которого рассказана в Приложении. Своим именем она обязана System Products Division — подразделению IBM, занимавшемуся созданием Fort Knox.
и отлично служит на протяжении многих лет, включая серию AS/400е. Лишь сейчас мы начали использовать в AS/400е и другие шины ввода-вывода.
У нестандартной шины SPD крупный недостаток: почти вся поддержка для нее ограничена разработками IBM. Заказчики не могут использовать иные программы и драйверы устройств, напрямую обращающиеся к шинам, IOP или устройствам ввода-вывода, за исключением весьма ограниченных средств OS/400. Впрочем, есть несколько примеров сторонних разработок, наиболее значительные из них — IOP для факсов и беспроводных ЛВС. Сейчас мы начали использовать стандартные интерфейсы ввода-вывода, что позволит разнообразить выбор дешевых устройств.
Базовые концепции ввода-вывода
Пока мы еще не погрузились слишком глубоко в работу компонентов системы ввода-вывода, рассмотрим основополагающие понятия. Устройства ввода-вывода подключаются к компьютеру с помощью шины ввода-вывода. Шина — это просто электрическое соединение между двумя аппаратными компонентами. Часто, между компьютером и устройством располагается много шин. Обычно, шина ввода-вывода насчитывает примерно от 20 до 100 линий, некоторые из которых используются для передачи данных, а другие — для передачи управляющей информации на устройство и назад. Например, в шине SPD 32 линии (каждая соответствует биту) для передачи данных, 8 — для передачи команд и информации состояния, 8 — для идентификации точек отправления и назначения и несколько линий управления. Эти линии можно рассматривать как отдельные провода, но на самом деле там используются лишь несколько высокоскоростных оптических линий, и электрические сигналы посылаются по ним как цепочки разрядов, так что аналогия с отдельными проводами нарушается.
Устройство ввода-вывода состоит из двух частей. Одна содержит большую часть электроники и называется контроллером ввода-вывода, другая — само физическое устройство, например, диск. Задача контроллера состоит в управлении устройством и обслуживании доступа к шине. Например, когда программе нужны данные с диска, она посылает команду контроллеру диска, который затем выдает устройству команды позиционирования и другие.
В простейшем компьютере, например в ПК, для соединения процессора, памяти и адаптеров ввода-вывода используется единственная шина. Адаптером ввода-вывода обычно называют контроллер ввода-вывода, часть или вся электроника которого расположена на плате ПК. Задача адаптера — преобразование специфического интерфейса устройства ввода-вывода в стандартный интерфейс шины ПК. Таким образом, в ПК могут быть установлены адаптер дисплея, адаптер принтера и так далее для каждого устройства. А любая электроника, расположенная на самом устройстве, по-прежнему называется котроллером.
Единственную шину ПК, соединяющую процессор и память, часто называют локальной шиной. Она работает на той же тактовой частоте, что и процессор (или на какой-либо части это частоты). До последнего времени адаптеры большинства ПК подключались к локальной шине непосредственно. Шина использовалась не только кот-роллерами ввода-вывода, но также и процессором для выборки команд и данных.
Если процессор и адаптер ввода-вывода пытаются использовать локальную шину в один и тот же момент времени, то выбор между ними делает микросхема, называемая арбитром шины. Обычно, предпочтение отдается адаптеру ввода-вывода, так как диски и другие устройства нельзя останавливать из-за угрозы потерять информацию. Когда устройство ввода-вывода не вмешивается, процессор использует все циклы локальной шины для своих нужд. Но если при этом будет работать устройство ввода-вывода, то оно будет запрашивать и получать управление шиной по мере необходимости. Это явление, называемое кражей циклов (cycle stealing), замедляет работу системы.
Читать дальше