PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Шина IEEE 1394 — FireWire

Архитектура сети

Архитектура IEEE 1394 позволяет организовывать сети, состоящие из одной или нескольких (до 1023) шин, причем не только последовательных. К шинам IEEE 1394 подключаются физические устройства, которые должны иметь по крайней мере один порт. Физическое устройство может иметь сложную внутреннюю структуру, что иллюстрирует см. рисунок. К топологии сети относятся следующие понятия:

  • сеть — совокупность узлов, подключенных к одной шине или нескольким шинам, соединенным мостами. Все узлы сети имеют возможность взаимодействия друг с другом;
  • шина — совокупность узлов, связанных друг с другом кабельными сегментами. Все узлы шины используют ее общую (разделяемую) среду передачи, получая право на передачу путем арбитража. Подключение-отключение узлов вызывает реконфигурацию данной шины, в ходе которой узлы получают новые номера (физические адреса);
  • модуль (module) — физическое устройство («коробка»), подключаемое к шине, и содержащее один или несколько узлов;
  • узел (node) — логический объект, имеющий уникальный физический адрес на шине. Узел имеет собственное адресное пространство, в котором обязательно присутствуют стандартные регистры управления и состояния (CSR), а также постоянная память (ROM) со стандартным набором структур, описывающих узел;
  • порт (port) — внешний физический интерфейс узла, обеспечивающий соединение узлов в шину. Узел может иметь несколько портов, что обеспечивает связь множества узлов без использования каких-либо дополнительных устройствконцентраторов;
  • блок (unit) — часть узла, обеспечивающая его отдельную функциональность: память, ввод/вывод, обработку данных. Блоки имеют свои регистры и/или области памяти, отображенные на общее адресное пространство узла. Блоки функционируют относительно независимо и управляются собственными драйверами.

 

 

Если проводить параллели с USB, блок (IEEE 1394) можно соотнести с интерфейсом (USB), узел 1394 — с устройством USB, а модуль 1394 — с композитным устройством USB, содержащим несколько функций и хаб. Понятие шины в USB и IEEE 1394 совпадает, хотя организация и возможности этих шин значительно различаются. Аналога сети в USB нет.

Шина IEEE 1394 позволяет любому узлу взаимодействовать с другими различными путями:

  • выполнять асинхронные транзакции чтения и записи с регистрами и областями памяти другого (удаленного) узла. При этом сами операции в удаленном узле могут выполняться как чисто аппаратно (прямой доступ к памяти удаленного узла), так и программными средствами удаленного узла;
  • передавать и принимать потоки данных по изохронным каналам (с гарантированной полосой пропускания, но без гарантий доставки);
  • передавать и принимать асинхронные потоки данных (без гарантий);
  • выполнять блокированные транзакции (чтение-модификация запись) со специальными регистрами удаленного узла. Эти транзакции служат для упорядочивания взаимодействия с какими-либо ресурсами, к которым может обращаться множество узлов шины;
  • вызывать прерывания на удаленном узле (асинхронно транзакцией записи в специальный регистр узла).

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