Интерфейсы информационных систем, страница 9

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

Шина адреса.

В этом способе имеется некоторое количество линий связи, общих для всех модулей. При необходимости обратиться к одному из устройств ведущее устройство выставляет на шину адреса код (адрес) нужного устройства. Остальные устройства должны «прослушивать» шину адреса, и только при совпадении собственного адреса с адресом, выставленным на шине, откликаться на передаваемые сообщения. Хотя этот способ не самый эффективный, но благодаря относительной простоте применяется довольно часто. Примером интерфейса, использующего такой метод адресации, является интерфейс VME.

Мультиплексированная шина адреса и данных.

Мультиплексирование данных и адреса на одной шине можно выделить как отдельный метод адресации. Преимущества и недостатки мультиплексирования были рассмотрены выше. Примером интерфейса с такой адресацией является интерфейс PCI.

Поле адреса в пакете данных.

Самым сложным, но вместе с тем и самым эффективным с точки зрения использования ресурсов интерфейса является адресация с использованием специальных полей в пакете данных. Этот метод схож с предыдущим, в котором данные и адрес передаются по одной шине. Отличие состоит в том, что разделяются они не на физическом уровне, а на логическом. Это упрощает и удешевляет реализацию интерфейса. Такой способ адресации используют почти все сетевые интерфейсы, например, Ethernet.

Арбитраж

Арбитраж это процедура определения порядка использования ресурсов интерфейса. Рассмотрим основные методы арбитража, применяемые в современных интерфейсах.

Централизованный арбитраж

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

На рисунке приведены временные диаграммы работы арбитра в интерфейсе PCI. В этом интерфейсе от каждого устройства к арбитру проведено две линии ­– запроса магистрали REQ (request – запрос) и разрешения на занятие магистрали GNT (grant – разрешение). Оба этих сигнала инверсные, т.е. запрос и разрешение выставляются с помощью логического нуля. В примере магистраль запрашивают два устройства – «a» и «b».

В первом такте запрос на занятие магистрали выставлен только устройством «a». Во втором такте арбитр выдал устройству «a» разрешение на занятие магистрали. В третьем и четвертом такте это устройство передает данные. Одновременно, в четвертом такте происходит определение устройства, которое займет магистраль следующим. Запросы выставили оба устройства. Арбитр, в соответствии с заложенным в него алгоритмом, решает, что магистраль нужно предоставить устройству «b» и выставляет соответствующий сигнал.

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

Арбитраж с помощью daisy chain

Для экономии количества линий связи используемых арбитром применяется арбитраж при помощи дейзи-цепочек.

Рассмотрим принцип работы такого арбитража на примере интерфейса VME.

На рисунке изображены 3 модуля, которые могут участвовать в арбитраже. Запрос на занятие магистрали они могут выставлять на линии ВR (Bus Request – запрос магистрали). Таких линий требуется не много, поскольку они используются всеми модулями.

Арбитр, получив запрос, выдает разрешение по одной из линий BG (Bus Grant – разрешение магистрали). Эти линии также общие для всех модулей.

Линии BG присоединены к модулям по принципу дейзи-цепочки: от арбитра линия заходит на вход первого модуля, с выхода первого модуля линия идет к входу второго и т.д. Если первый модуль запрашивал магистраль, то он, получив сигнал разрешения, не передает его дальше и занимает магистраль. Если первый модуль не выставлял запроса, то он передает сигнал разрешения следующему модулю. Все последующие модули поступают точно также. Таким образом, разрешение на запрос магистрали достанется модулю, находящемуся ближе всех к арбитру среди всех модулей, выставивших запрос.

Арбитраж с помощью дейзи-цепочек реализует позиционную систему приоритетов – чем ближе модуль к арбитру, тем выше его приоритет. Интерфейс VME имеет и вторую составляющую приоритета – циклическую. Она реализуется за счет использования нескольких пар линий запрос и разрешения магистрали (на рисунке изображены 2 пары, реально в интерфейсе их 4).. Для этого арбитр циклически выдает разрешения на различные линии BG.

На следующем рисунке показаны временные диаграммы работы арбитража в интерфейсе VME.

Самоарбитраж

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