Смекни!
smekni.com

На канальном уровне обеспечивается надежная передача данных через физический канал, осуществляется обслуживание двух типов доставки пакетов - синхронного и асинхронного.

На сетевом уровне поддерживается асинхронный протокол записи, чтения и блокировки команд, обеспечивая передачу данных от отправителя к получателю и чтение полученных данных. Блокировка объединяет функции команд записи/чтения и производит маршрутизацию данных между отправителем и получателем в обоих направлениях.

"Менеджер шины" обеспечивает общее управление ее конфигурацией, выполняя следующие действия: оптимизацию арбитражной синхронизации, управление потреблением электрической энергии устройствами, подключенными к шине, назначение ведущего устройства в цикле, присвоение идентификатора синхронного канала и уведомление об ошибках.

Чтобы передать данные, устройство сначала запрашивает контроль над физическим уровнем. При асинхронной передаче в пакете, кроме данных, содержатся адреса отправителя и получателя. Если получатель принимает пакет, то подтверждение возвращается отправителю. Для улучшения производительности отправитель может осуществлять до 64 транзакций, не дожидаясь обработки. Если возвращено отрицательное подтверждение, то происходит повторная передача пакета.

В случае синхронной передачи отправитель просит предоставить синхронный канал, имеющий полосу частот, соответствующую его потребностям. Идентификатор синхронного канала передается вместе с данными пакета. Получатель проверяет идентификатор канала и принимает только те данные, которые имеют определенный идентификатор. Количество каналов и полоса частот для каждого зависят от приложения пользователя. Может быть организовано до 64 синхронных каналов.

Шина конфигурируется таким образом, чтобы передача кадра начиналась во время интервала синхронизации. В начале кадра располагается индикатор начала и далее последовательно во времени следуют синхронные каналы 1, 2… На рисунке изображен кадр с двумя синхронными каналами и одним асинхронным

Оставшееся время в кадре используется для асинхронной передачи. В случае установления для каждого синхронного канала окна в кадре шина гарантирует необходимую для передачи полосу частот и успешную доставку данных.

Резюме

Таким образом, в скором будущем, на задней панели компьютера можно будет увидеть выходы всего двух последовательных шин: USB для низкоскоростных применений и Firewire - для высокоскоростных. Причем путь в жизнь у шины IEEE 1394 произойдет гораздо быстрее, чем у USB. В этом случае производители программных продуктов и аппаратуры действуют сообща. Уже сейчас доступны различные виды устройств с шиной Firewire, поддержка этой шины будет встроена в операционную систему Windows 98 и в ближайшем будущем ведущие производители чипсетов для PC встроят поддержку этой шины в свои продукты. Так что 1999 год станет годом Firewire.

(Intelligent Input/Output)

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

Модуль обслуживания операционной системы - OSM

OSM обеспечивает интерфейс между операционной системой и уровнем сообщений I2O. В используемой модели драйверов, OSM представляет собой ту часть драйвера, которая обеспечивает интерфейс между системно-зависимым API и абстрактным форматом сообщений, посылаемых в HDM для обработки. OSM зависят от операционных систем и создаются их разработчиками.

OSM переводит сообщения операционной системы в формат, который может быть понят HDM. Передача информации обратно, от HDM к операционной системе реализуется также через OSM посредством уровня сообщений I2O.

Один OSM может обслуживать множественные HDM. Благодаря существованию дескрипторов на уровне сообщений, OSM обладает возможностью рассылать свои сообщения многим адресатам, а также организовывать пересылку информации между ними.

Аппаратный модуль устройства - HDM

HDM - низкоуровневый модуль в среде I2O. HDM представляет собой аппартно-зависимую часть драйвера, обеспечивающую взаимодействие с контроллером или непосредственно устройством. Можно провести аналогию между HDM и аппаратно зависимой частью драйвера сети или драйвером SCSI в том виде, в котором он существует сегодня. Каждый HDM уникален для каждого конкретного устройства и производителя. Он поддерживает все низкоуровневые операции устройства, такие как синхронные и асинхронные запросы, а также транзакции управляемые событиями.

HDM окружен средой I2O, которая изолирует его от общения с операционной системой и шинными протоколами. Таким образом, один HDM может быть использован не только с различными операционными системами, но даже с различными платформами. HDM пишется производителем устройства и обычно прошивается в адаптер.

Системная среда

Модель I2O может быть применена в любых условиях - как и в однопроцессорных, так и многопроцессорных системах.

Интерфейсы OSM и HDM входят в основной API I2O. Среда выполнения OSM зависит от операционной системы, что оказывает влияние на реализацию некоторых функций API. В задачи OSM входит реализация связи между API, используемого операционной системой, и HDM, управляющим устройством.