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

Шина IEEE 1394 — FireWire

Уровни потребления узла и блоков

В IEEE 1394a введены понятия уровней потребления (Power States), относящиеся к узлу в целом и отдельным его блокам. Узел и блок могут поддерживать до четырех уровней (0…3), из которых нулевой (обязательный) соответствует функционированию в самом полном объеме.

Уровни потребления узла (Node Power States) N0…N3 определяют состояния уровней PHY и LINK:

  • N0 — состояние полной дееспособности узла: PHY-уровень запитан (может принимать, посылать и транслировать пакеты и сигналы), LINK-уровень способен отвечать на транзакции, обращенные к узлу. Контекст узла (все его конфигурационные регистры CSR и PHY) действителен. При этом возможны два варианта:
         -----LINK-уровень полностью запитан — полная функциональность узла (нормальные ответы на все транзакции);
         -----LINK-уровень находится в состоянии Standby (с пониженным потреблением). Узел способен декодировать адрес обращенных к нему транзакций и ответить на них квитанцией Ack_TRDY, что вызовет повтор транзакции инициатором в следующем интервале справедливости. За это время LINKуровень узла успеет включиться, и на следующую попытку узел ответит нормальным образом;
  • N1 — состояние со включенным PHY (узел транслирует сигналы и пакеты) и отключенным LINK-уровнем. Это соответствует состоянию узла после сброса до получения пакета Link-On. Состояние контекста узла стандартом не регламентировано;
  • N2 — состояние с приостановленным (suspended) PHY и отключенным LINKуровнем. Узел не транслирует пакеты и сигналы, он может только реагировать на внешние сигналы, вызывающие возобновление (или на сигнал от своего приложения). Контекст не определен; информация, связанная с топологией, недействительна (после возобновления будет сброс);
  • N3 — полностью обесточенный узел, контекст потерян.

Уровни потребления блока (Unit Power States) D0…D3 отражают функциональность и потребление блока:

  • D0 — состояние полной функциональности и полного потребления, обязательное для всех блоков;
  • D1 — состояние пониженного потребления, контекст блока сохраняется, но функциональность может быть ограничена. Переход D1→D0 может совершаться довольно быстро;
  • D2 — состояние еще меньшего потребления, с меньшей функциональностью и, возможно, потерей контекста блока. Переход в D0 (или D1) может занимать большее время, чем D1→D0;
  • D3 — полное обесточивание блока.

Возможные состояния уровней потребления узла и входящих в него блоков связаны между собой: номер уровня потребления узла должен быть не больше, чем наименьший номер уровня потребления его блоков. Например, если в узле два блока и их текущие уровни потребления D1 и D2, то узел может находиться на уровне N0 или N1. Попытка (запрос) перевода уровня узла с N0 на N2 или N3 приведет к переводу только на уровень N1.

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