
| Процессоры | Системные платы | Видеосистема | Носители информации | Мультимедиа | Периферия | Коммуникации | Поиск по сайту |
Технология I2O |
I2O (Intelligent Input/Output) - спецификация, определяющая стандартную архитектуру интеллектуального ввода/вывода, не зависящую от специфических устройств и операционной системы. Спецификация I2O призвана решить две ключевые проблемы:
Суть архитектуры I2O заключается в обработке низкоуровневых прерываний ввода-вывода, поступающих от устройств, не центральным процессором (CPU), а специализированным процессором ввода-вывода (IOP), разработанным специально для этой цели. В настоящий момент эта задача решается применением RISC-процессора i960, работающего на частоте 66 МГц со своей собственной памятью, объёмом до 64 МБ. При поддержке обмена сообщениями между несколькими процессорами, архитектура I2O разгружает центральный процессор и позволяет выполнение задач, требующих интенсивного ввода-вывода и широкой полосы пропускания, например видеоприложений или работы в среде клиент-сервер. Применения I2O не ограничены и она может быть использована как в однопроцессорных, так и многопроцессорных и кластерных системах. Спецификация I2O определяет разбиение драйвера устройства на две части: ОС-зависимого и аппаратно-зависимого модуля, созданного для конкретного устройства. Эти модули работают автономно и могут выполнять задачи независимо. В настоящее время поддержка I2O обеспечивается в NetWare 4, Windows NT Server 5.0 и UnixWare. Таким образом, технология с разбиением драйвера, уменьшает общее число требуемых драйверов: производители операционных систем пишут по одному драйверу на каждый класс устройств, например дисковые контроллеры, а производители оборудования - по одному драйверу на каждое свое устройство, который может быть использован с любой операционной системой поддерживающий I2O. Одна из целей создания открытой архитектуры I2O - обеспечение возможности легкого подключения устройств и написания драйверов, расширяющей возможности для создания новых систем. ![]() Краткий обзорДве части драйвера I2O устройства представляют собой Operating System Services Module (OSM), модуль обслуживания операционной системы, обеспечивающий интерфейс с ней и Hardware Device Module (HDM), модуль устройства, обеспечивающий управление оборудованием. OSM работает со внешним устройством посредством HDM. Общение между этими модулями происходит на двух уровнях - уровне сообщений, на котором происходит установление связи и транспортном уровне, определяющим способы разделения информации. Как и в большинстве протоколов связи, уровень сообщений базируется на транспортном уровне. Модель связи I2O, в комбинации со средой выполнения и конфигурационным интерфейсом, обеспечивает независимый интерфейс с HDM. Модули способны связаться друг с другом без знания архитектуры шины или топологии системы. Передаваемые сообщения формируют некий метаязык, не зависящий от аппаратной реализации. Вся эта технология сильно напоминает сеть TCP/IP. Такая реализация I2O, кроме всего прочего, обеспечивает мобильность устройств ввода-вывода. ![]() Модель связи I2OМодель связи для I2O - это система обмена сообщениями. Когда OSM получает запрос от операционной системы, он транслирует его в запрос I2O и передает его HDM для обработки. После обработки запроса, HDM возвращает результат обратно OSM, посылая сообщение посредством уровня сообщений I2O. Далее результат передается операционной системе, как от любого другого драйвера устройства. ![]() Уровень сообщенийУровень сообщений определяет открытый, стандартный и абстрактный механизм для связи между сервисными модулями, обеспечивая основу для интеллектуального ввода - вывода. Этот уровень, управляя пересылкой всех запросов, а также обеспечивая функционирование API (Application Programming Interface), связывает модель драйверов I2O. Уровень сообщений состоит из трех основных компонент: дескриптора сообщения, сервисной программы сообщения (Message Service Routine - MSR), и очереди сообщений. Дескриптор по существу является адресом ресурса, к которому идет обращение. Для каждого сообщения, проходящего на уровне сообщений создается свой дескриптор. Очередь сообщений организуется между передающим и приемным устройствами. Когда драйвер формирует сообщение, оно помещается в очередь и для его обработки активизируется MSR. Сообщение содержит две части - заголовок и тело. Заголовок содержит тип сообщения и адрес его отправителя. I2O базируется на очереди между MSR и отправителем. Инициатор запроса и сервисный модуль обслуживаются IOP. I2O определяет также формат памяти, необходимой для функционирования технологии, не зависящий от организации операционной системы. Модуль обслуживания операционной системы - OSMOSM обеспечивает интерфейс между операционной системой и уровнем сообщений I2O. В используемой модели драйверов, OSM представляет собой ту часть драйвера, которая обеспечивает интерфейс между системно-зависимым API и абстрактным форматом сообщений, посылаемых в HDM для обработки. OSM зависят от операционных систем и создаются их разработчиками. OSM переводит сообщения операционной системы в формат, который может быть понят HDM. Передача информации обратно, от HDM к операционной системе реализуется также через OSM посредством уровня сообщений I2O. Один OSM может обслуживать множественные HDM. Благодаря существованию дескрипторов на уровне сообщений, OSM обладает возможностью рассылать свои сообщения многим адресатам, а также организовывать пересылку информации между ними. Аппаратный модуль устройства - HDMHDM - низкоуровневый модуль в среде I2O. HDM представляет собой аппартно-зависимую часть драйвера, обеспечивающую взаимодействие с контроллером или непосредственно устройством. Можно провести аналогию между HDM и аппаратно зависимой частью драйвера сети или драйвером SCSI в том виде, в котором он существует сегодня. Каждый HDM уникален для каждого конкретного устройства и производителя. Он поддерживает все низкоуровневые операции устройства, такие как синхронные и асинхронные запросы, а также транзакции управляемые событиями. HDM окружен средой I2O, которая изолирует его от общения с операционной системой и шинными протоколами. Таким образом, один HDM может быть использован не только с различными операционными системами, но даже с различными платформами. HDM пишется производителем устройства и обычно прошивается в адаптер. Системная средаМодель I2O может быть применена в любых условиях - как и в однопроцессорных, так и многопроцессорных системах. Интерфейсы OSM и HDM входят в основной API I2O. Среда выполнения OSM зависит от операционной системы, что оказывает влияние на реализацию некоторых функций API. В задачи OSM входит реализация связи между API, используемого операционной системой, и HDM, управляющим устройством. Кроме основных функций в API HDM может быть введен дополнительный набор команд. Этот набор необходим для прямого общения операционной системы с HDM и применяется при ее загрузке для инициализации ядра. Примерно это и реализуется в основных многозадачных средах. Однако этот дополнительный набор также является единым для всех устройств одного класса. Так что технология I2O не несет в себе никаких ограничений для области ее использования. ![]() Реализация архитектуры I2OГибкая, открытая архитектура I2O предоставляет разработчикам различные варианты для реализации. Основные три подхода следующие:
Практика использования I2OУстройства, совместимые с технологией I2O будут маркироваться производителями как "I2O ready". Однако в одной системе можно будет применять, как и I2O устройства, так и обычные, неинтеллектуальные устройства. Это позволит организовать легкий переход к новой архитектуре. Тем более стоимость материнской платы с IOP возрастет максимум на $10-15. Можно ожидать, что в связи со введением дополнительных устройств (IOP) и разбиения драйвера на части, скорость обмена информацией может упасть. В принципе, это мнение оправдано. Однако, в связи с тем что во-первых упрощается задача написания драйверов, а во-вторых разгружается центральный процессор, общая эффективность системы должна возрасти. Пример подобного роста эффективности - применение IDE Bus Master драйверов. Внедрение технологии интеллектуального ввода-вывода должно произойти в ближайшее время, тем более что ведущие производители материнских плат уже представили свои изделия с установленным на борту IOP i960, единственным на настоящее время процессором для реализации I2O. Первое время I2O будет использоваться в серверах, однако в ближайшем будущем может распространиться и на домашние системы. ЗаключениеТаким образом, I2O предлагает новый подход к организации интеллектуального
ввода-вывода, упрощая жизнь, как разработчиком устройств, так и производителям операционных
систем благодаря разделению функций драйверов. Кроме того, I2O призвана
реализовать новую высокопроизводительную концепцию высокопроизводительного и
платформенно-независимого интеллектуального ввода-вывода. Открытость этого стандарта
позволяет легко перейти от сегодняшних реалий в мир интеллектуального обмена информацией.
7 Февраля 1998 г.
|
| Комментарии? Поправки? Дополнения? gavric@ixbt.com |

| Процессоры | Системные платы | Видеосистема | Носители информации | Мультимедиа | Периферия | Коммуникации | Поиск по сайту |
Copyright (c) by iXBT, 1998. Produced by pavel@ixbt.com & gavric@ixbt.com Дизайн (с) 1998 студия РусАрт |