СПОСОБ УПРАВЛЕНИЯ ЭНЕРГОПОТРЕБЛЕНИЕМ В ГЕТЕРОГЕННОЙ СИСТЕМЕ НА КРИСТАЛЛЕ
METHOD OF CONTROLLING POWER CONSUMPTION IN A HETEROGENEOUS SYSTEM ON A CHIP

Изобретение относится к области электротехники, а именно к способам управления режимами энергосбережения многоядерных вычислительных устройств, и может применяться во встраиваемых системах на основе вычислительных устройств, а также в портативных вычислительных устройствах разного назначения.
Существуют несколько способов управления энергопотреблением вычислительных устройств. Один из способов управления энергопотреблением заключается в измерении производительности, температуры и потребления электроэнергии вычислительными или периферийными узлами гетерогенной системы с помощью специальных датчиков и перераспределения вычислительной нагрузки между узлами системы. В качестве специальных датчиков могут выступать внутренние встроенные датчики, так и внешние портативные устройства.
Существуют способы косвенного программного управления энергоэффективностью путем перераспределения задач между вычислительными ядрами в гетерогенной системе или путем управления маршрутизаторами в сетевой системе на кристалле.
Практикуются способы централизованного и многоуровневого управления энергоэффективностью с системой синхронизацией. В зависимости от особенностей гетерогенной системы применяют тот или иной способ построения подсистемы управления энергоэффективностью.
Наиболее близким к заявленному изобретению является способ управления энергопотреблением в гетерогенной системе на кристалле, описанный в патенте US 2017269652 (А1), в котором используют специальное внешнее переносное вычислительное устройство (portable computing device, PCD) с помощью которого осуществляют несколько способов термического интеллектуального управления энергопотреблением, при этом уменьшают нежелательную миграцию рабочей нагрузки, которая может усугубить генерацию тепловой энергии в компоненте обработки. Данный способ выбран в качестве прототипа заявленного изобретения.
Недостатки способа прототипа заключаются в его недостаточной эффективности, а именно в использовании отдельного устройства, которое не всегда применимо в штатных системах на кристралле. Кроме в прототипе не решены задачи управления энергопотреблением при простаивании вычислительных ресурсов (аппаратных компонентов).
Техническим результатом заявленного изобретения является создание более эффективного способа управления энергопотреблением в гетерогенной системе на кристалле с меньшим энергопотреблением, позволяющего управлять питанием отдельных аппаратных компонентов системы, которые не используются в настоящее время, без блокировки пространства пользователя и без использования сетевых каналов, за счет отключения электропитания неиспользуемых аппаратных компонентов и включения его по мере необходимости, а также за счет понижения производительности не полностью используемых аппаратных компонентов.
Поставленный технический результат достигнут путем создания способа управления энергопотреблением в гетерогенной системе на кристалле, в котором
- управляют, с помощью доменов 6 питания, состоянием входящих в них аппаратных компонентов 8, при этом принимают и обрабатывают, с помощью доменов 6 питания, на основании управляющих команд на отключение энергопотребления от ядра 5 управления энергопотреблением, сигналы, сформированные блоком 1 управления энергопотреблением, с использованием значений регистров, установленных с помощью функций драйвера 4 управления энергопотреблением аппаратных компонентов и драйвера 3 доменов питания;
- переводят, с помощью управляющих команд от ядра 5 управления энергопотреблением, в режимы «включен» и «выключен» домены 6 питания и входящие в них аппаратные компоненты 8, при этом принимают и обрабатывают, с помощью доменов 6 питания, сигналы включения и выключения от блока 1 управления энергопотреблением, сформированные на основании значений регистров блока 1 управления энергопотреблением, установленных с помощью функций драйвера 4 управления энергопотреблением аппаратных компонентов и драйвера 3 доменов питания;
- управляют, с помощью подсистемы 2 динамического управления и синхронизации частот и драйвера 7 аппаратных компонентов, состоянием аппаратных компонентов 8, при этом формируют и пересылают в аппаратные компоненты 8 через драйверы 7 аппаратных компонентов, с помощью подсистемы 2 динамического управления и синхронизации частот, рабочие частоты доменов 6 питания, а также формируют и пересылают в аппаратные компоненты 8 сигналы включения и выключения рабочих частот, с помощью блока 9 управления частотой тактового генератора;
- с помощью драйвера 7 аппаратного компонента, переводят аппаратный компонент 8 из активного состояния сначала в приостановленное состояние, в случае отсутствия выполняемых им операций или действий, а потом в выключенное состояние или обратно в активное состояние.
В предпочтительном варианте осуществления способа с помощью драйвера 7 аппаратного компонента, переводят аппаратный компонент 8 из активного состояния сначала в приостановленное состояние, в случае отсутствия выполняемых им операций или действий, для аппаратных компонентов 8, у которых нет активных дочерних компонентов, а также для аппаратных компонентов 8, дочерние компоненты которых можно проигнорировать.
В предпочтительном варианте осуществления способа, в случае использования системой не всех аппаратных компонентов 8, входящих в один домен питания, неиспользуемые компоненты сначала переводят в приостановленное состояние, потом в выключенное состояние, а, в случае бездействия всех аппаратных компонентов 8, входящих в один домен питания, переводят, с помощью команд управления ядра 5 управления энергопотреблением через сигналы блока 1 управления энергопотреблением, в режим «выключен» этот домен 6 питания и входящие в него аппаратные компоненты 8.
В заявленном способе управления энергопотреблением в гетерогенной системе на кристалле:
динамически управляют энергопотреблением, при этом отключают домены питания и регулируют рабочую частоту;
- понижают до минимальной тактовую частоту или выключают электропитание аппаратных компонентов;
- используют централизованную одноуровневый метод управления с обратной связью;
- управляют энергопотреблением периферийных устройств и вычислительными ядрами разной архитектуры;
- отсутствует привязка к сетевым каналам связи и управления;
- осуществляют управление энергопотреблением со стороны пользователя и автоматизированное управление энергопотреблением со стороны аппаратной системы, при этом драйверы контроллеров внешних интерфейсов указывают, когда ожидаются входящие данные, чтобы предотвратить отключение питания и избежать потери данных.
Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими графическими материалами.
Фиг. 1. Общая схема способе управления энергопотреблением в гетерогенной системе на кристалле, выполненная согласно изобретению.
Элементы:
1 - блок управления энергопотреблением;
2 - подсистема динамического управления и синхронизации частот;
3 - драйвер управления энергопотреблением домена;
4 - драйвер управления энергопотреблением аппаратных компонентов;
5 - ядро управления энергопотреблением;
6 - домен питания гетерогенной системы на кристалле;
7 - драйвер аппаратных компонентов;
8 - аппаратный компонент гетерогенной системы на кристалле;
9 - блок управления частотой тактового генератора (PLL - Phase-Locked Loop).
Фиг. 2. Общая схема переключения режимов и состояний аппаратных компонентов в гетерогенной системе на кристалле, выполненная согласно изобретению.
Рассмотрим более подробно функционирование заявленного способа управления энергопотреблением в гетерогенной системе на кристалле (фиг. 1, 2).
В заявленном способе управления энергосбережением в гетерогенных системах-на-кристалле применяют централизованную систему управления с обратной связью для аппаратных компонентов с разной архитектурой и назначением без использования сетевых каналов.
Существует несколько состояний гетерогенной системы на кристалле: рабочее состояние, состояние ожидания, состояние глубокого сна. В рабочем состоянии аппаратные компоненты 8 поддерживают режимы работы включен и выключен. Во включенном режиме аппаратный компонент 8 может быть в активном состоянии, приостановленном или бездействии.
Каждый аппаратный компонент 8 входит в домен 6 питания, который управляет состоянием аппаратных компонентов и обрабатывает запрос на отключение энергопотребления от блока 1 управления энергопотреблением, драйвера 4 управления энергопотреблением аппаратных компонентов и драйвера 3 доменов питания.
Посредством управляющих сигналов сброса, изоляции и включения доменов 6 питания, входящих в блок 1 управления энергопотреблением, и управляющих команд ядра 5 управления энергопотреблением домены 6 питания и аппаратные компоненты 8 переводят в режимы «включен» и «выключен» (фиг. 2). В случае использования системой не всех аппаратных компонентов 8 из одного домена 6 питания, домен 6 переводят в режим «выключен».
Состоянием аппаратных компонентов 8 управляют совместно с подсистемой динамического 2 управления и синхронизации частот и драйвером 7 аппаратных компонентов. С помощью подсистемы 2 динамического управления и синхронизации частот задают рабочие частоты внутри доменов 6 питания и производят включение/отключение частот с помощью блока 9 управления частотой тактового генератора. Динамическое управление частотами позволяет гибко настраивать рабочие частоты аппаратных компонентов и доменов питания.
С помощью драйвера 7 аппаратного компонента переводят аппаратный компонент 8 в приостановленное состояние, в случае отсутствия выполняемых им операций и действий (компонент находится в состоянии «бездействия»). Функции «переход в состояние бездействия» и «приостановления» выполняют только для аппаратных компонентов 8, у которых нет "активных" дочерних компонентов или чьи дочерние компоненты можно проигнорировать. После выполнения функции "переход в состояние приостановлен" вызывают функцию "выключения", которая сохраняет текущее состояние и отключает питание, или функцию "возобновления работы (переход в активное состояние)", которая восстанавливает подачу питания и загружает необходимое состояние.
В заявленном способе управления энергопотреблением:
- аппаратные компоненты 8 входят в состояние энергосбережения (выключен или приостановлен) во время работы системы независимо от других процессов управления энергопотреблением;
- энергосбережение дочерних аппаратных компонентов 8 зависит от родительских;
- алгоритм управления энергосбережением аппаратных компонентов зависит от его типа и способа коммуникации с ним. Например, алгоритм управления энергосбережением зависит от типа шины, к которому подключен аппаратный компонент 8, поэтому требуются операции, предназначенные для данной шины.
Для функционирования заявленного способа важна синхронная работа следующих программных подсистем: драйвера 7 аппаратного компонента, драйвера соответствующей аппаратной подсистемы и ядра управления энергопотреблением, при этом:
- алгоритмы управления «приостановления» и «возобновления» питания аппаратных компонентов функционируют без потери данных и перерывов в обслуживании;
- ядро управления энергопотреблением вызывает обработчики для аппаратных компонентов;
- важной стадией перехода к состоянию пониженного энергопотребления является "переход в состояние приостановлен";
- после осуществления функции "переход в состояние приостановлен" вызывается функция "выключения" (сохраняющая текущее состояние и отключающая питание) или функция "возобновления работы (переход в активное состояние)" (которая восстанавливает подачу питания и загружает необходимое состояние);
- ядро управления энергопотреблением следит за активностью каждого аппаратного компонента 8;
- реализация модели перехода в состояния покоя (выключение, приостановления), сохранения текущего состояния и понижения энергопотребления для каждого типа аппаратного компонента может отличаться;
- функции «приостановления» и «возобновления» являются взаимоисключающими (не могут выполняться параллельно);
- функции «переход в состояние бездействия», «приостановления» и «выключения» выполняют только для "активных" аппаратных компонентов 8;
- функции «переход в состояние бездействия» и «приостановления» выполняют только для аппаратных компонентов 8, у которых нет "активных" дочерних компонентов или чьи дочерние компоненты можно проигнорировать (соответствующий флаг в драйвере компонента).
- функцию «возобновления» работы выполнить только для "приостановленных" аппаратных компонентов.
Хотя описанный выше вариант выполнения изобретения был изложен с целью иллюстрации заявленного изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла заявленного изобретения, раскрытого в прилагаемой формуле изобретения.