Литмир - Электронная Библиотека
Содержание  
A
A

В прошлом AS/400 не обладала очень уж быстрыми процессорами. Тем не менее, она прекрасно выглядела при сопоставлении с другими системами и, зачастую, могла посрамить систему с более быстрым процессором. Совершать такие подвиги ей позволяло и позволяет «секретное оружие» — одна из самых искусных и мощных систем ввода-вывода.

Упрощенно, есть два способа проектирования системы ввода-вывода.

Можно полностью положиться на процессор, и взвалить на него все вычисления и обработку ввода-вывода. Тогда в один момент времени процессор занят исполнением команд различных пользовательских и системных программ, в другой — занимается управлением вводом-выводом. Такой тип ввода-вывода пришел из мира ПК и Unix, где ввод-вывод очень прост. Беда лишь в том, что процессор в каждый момент времени может делать лишь что-то одно. Интенсивный ввод-вывод негативно влияет на остальные вычисления в системе.

При другом подходе для обработки ввода-вывода используются отдельные процессоры. Это позволяет выполнять множественные операции ввода-вывода параллельно, лишь незначительно или вообще не снижая производительность главных процессоров. Именно такой подход, с использованием множественных процессоров ввода-вывода (IOP), применяется в AS/400.

Немногие могут похвастаться, что знают что-либо о структуре ввода-вывода AS/400, помимо факта наличия множественных IOP, и буквально единицы понимают, как это работает. В этой главе мы рассмотрим некоторые аспекты системы ввода-вывода AS/ 400, как самые популярные, так и не очень известные. Начнем с эволюции системы ввода-вывода и причин, ее стимулировавших.

Время перемен

Система ввода-вывода AS/400 находится на переходном этапе. В начале устройства ввода-вывода подсоединялись к системе только посредством IOP, подключенных к особой шине ввода-вывода. Она называется шиной SPD[ 77 ] и отлично служит на протяжении многих лет, включая серию AS/400е. Лишь сейчас мы начали использовать в AS/400е и другие шины ввода-вывода.

У нестандартной шины SPD крупный недостаток: почти вся поддержка для нее ограничена разработками IBM. Заказчики не могут использовать иные программы и драйверы устройств, напрямую обращающиеся к шинам, IOP или устройствам ввода-вывода, за исключением весьма ограниченных средств OS/400. Впрочем, есть несколько примеров сторонних разработок, наиболее значительные из них — IOP для факсов и беспроводных ЛВС. Сейчас мы начали использовать стандартные интерфейсы ввода-вывода, что позволит разнообразить выбор дешевых устройств.

Базовые концепции ввода-вывода

Пока мы еще не погрузились слишком глубоко в работу компонентов системы ввода-вывода, рассмотрим основополагающие понятия. Устройства ввода-вывода подключаются к компьютеру с помощью шины ввода-вывода. Шина — это просто электрическое соединение между двумя аппаратными компонентами. Часто, между компьютером и устройством располагается много шин. Обычно, шина ввода-вывода насчитывает примерно от 20 до 100 линий, некоторые из которых используются для передачи данных, а другие — для передачи управляющей информации на устройство и назад. Например, в шине SPD 32 линии (каждая соответствует биту) для передачи данных, 8 — для передачи команд и информации состояния, 8 — для идентификации точек отправления и назначения и несколько линий управления. Эти линии можно рассматривать как отдельные провода, но на самом деле там используются лишь несколько высокоскоростных оптических линий, и электрические сигналы посылаются по ним как цепочки разрядов, так что аналогия с отдельными проводами нарушается.

Устройство ввода-вывода состоит из двух частей. Одна содержит большую часть электроники и называется контроллером ввода-вывода, другая — само физическое устройство, например, диск. Задача контроллера состоит в управлении устройством и обслуживании доступа к шине. Например, когда программе нужны данные с диска, она посылает команду контроллеру диска, который затем выдает устройству команды позиционирования и другие.

В простейшем компьютере, например в ПК, для соединения процессора, памяти и адаптеров ввода-вывода используется единственная шина. Адаптером ввода-вывода обычно называют контроллер ввода-вывода, часть или вся электроника которого расположена на плате ПК. Задача адаптера — преобразование специфического интерфейса устройства ввода-вывода в стандартный интерфейс шины ПК. Таким образом, в ПК могут быть установлены адаптер дисплея, адаптер принтера и так далее для каждого устройства. А любая электроника, расположенная на самом устройстве, по-прежнему называется котроллером.

Единственную шину ПК, соединяющую процессор и память, часто называют локальной шиной. Она работает на той же тактовой частоте, что и процессор (или на какой-либо части это частоты). До последнего времени адаптеры большинства ПК подключались к локальной шине непосредственно. Шина использовалась не только кот-роллерами ввода-вывода, но также и процессором для выборки команд и данных.

Если процессор и адаптер ввода-вывода пытаются использовать локальную шину в один и тот же момент времени, то выбор между ними делает микросхема, называемая арбитром шины. Обычно, предпочтение отдается адаптеру ввода-вывода, так как диски и другие устройства нельзя останавливать из-за угрозы потерять информацию. Когда устройство ввода-вывода не вмешивается, процессор использует все циклы локальной шины для своих нужд. Но если при этом будет работать устройство ввода-вывода, то оно будет запрашивать и получать управление шиной по мере необходимости. Это явление, называемое кражей циклов (cycle stealing), замедляет работу системы.

Новейшая тенденция состоит в установке на ПК отдельной шины, изолированной от процессора, но по-прежнему имеющей доступ к основной памяти. Для подключения этой отдельной шины к локальной шине и к памяти используется контроллер шины памяти. В этом случае контроллер также конкурирует за циклы локальной шины, но теперь множество устройств может быть подключено к отдельной шине. Преимущество отдельной шины в том, что у нее свой тактовый генератор, который работает с фиксированной скоростью и независим от процессора. Это удешевляет подключение устройств, работающих с процессорами любой частоты.

Вероятно, самая популярная из таких отдельных шин — шина PCI (Peripheral Component Interconnect). Частота шины PCI равна 33 МГц, и в будущем планируется ее повышение. Некоторые компоненты ЛВС и интерфейсы жестких дисков, такие как SCSI (Small Computer System Interface), иногда по-прежнему подключаются к локальной шине напрямую.

К шине PCI можно подключить до 16 плат адаптеров, обеспечивающих интерфейс устройства ввода-вывода к шине. Стандарт PCI определяет тип используемого разъема, а также размер и форму плат. Обычно, эти параметры называют фактором формы PCI (PCI form factor).

Только что описанная структура ввода-вывода ПК чаще всего неприемлема для более мощного компьютера, выполняющего много операций ввода-вывода. Большим системам требуется несколько шин, а также желателен некоторый способ разгрузки основного процессора. Один из таких способов — использование канала, иначе говоря, специализированного компьютера, устанавливаемого рядом с основным процессором. Шины ввода-вывода подключаются непосредственно к каналу, а не к основному процессору.

У канала собственный набор команд, предназначенный специально для взаимодействия с присоединенными к шине адаптерами и обмена данных между устройством ввода-вывода и памятью. Канал получает программы (так называемые канальные) от основного процессора. Такие программы могут выполняться каналом параллельно с выполнением других программ основным процессором. Таким образом, эти два процессорных устройства мало влияют друг на друга. Когда канал завершает обработку своей программы, он прерывает основной процессор для получения нового задания.

вернуться

77

Шина SPD пришла из неудачного проекта Fort Knox, история которого рассказана в Приложении. Своим именем она обязана System Products Division — подразделению IBM, занимавшемуся созданием Fort Knox.

89
{"b":"137615","o":1}