АДАПТИВНОЕ УПРАВЛЕНИЕ ЭНЕРГОПОТРЕБЛЕНИЕМ
ADAPTIVE CONTROL OF POWER CONSUMPTION

УРОВЕНЬ ТЕХНИКИ
Рыночные требования необходимости охраны окружающей среды, эксплуатационные расходы и ограниченный жизненный цикл батарей диктуют, чтобы компьютеры использовали как можно меньше энергии, по-прежнему предоставляя ресурсоемкие вычислительные службы. Энергией, потребляемой компьютером, можно эффективнее управлять путем предоставления достаточной вычислительной мощности для каждой службы по необходимости вместо предоставления максимальной вычислительной мощности все время. Компьютеры, такие как переносные компьютеры, настольные компьютеры, мейнфреймы, персональные цифровые секретари (PDA), сотовые телефоны и т.п., предоставляют услуги, заставляя инструкции управляющей программы выполняться электронными схемами. В этом отношении различные устройства в компьютере поддерживают электронные схемы, которые потребляют энергию, так что службы могут быть предоставлены.
Большинство компьютеров выполняют компьютерную программу, обычно обозначаемую как операционная система, которая управляет работой компьютера и предоставляет службы другим программам. Более точно, операционная система управляет выделением и использованием аппаратных ресурсов, таких как память, запоминающее устройство большой емкости, периферийные устройства и т.п. Компьютерные инструкции для инициализации и задействования вычислительного устройства типично содержатся в компоненте операционной системы, часто обозначаемом как «ядро». Вскоре после того, как компьютер запущен, ядро начинает исполнение. Поскольку ядро имеет прямое управление аппаратными средствами и доступ к данным, которые описывают состояние компьютера, ядро может использоваться для регулирования вычислительной мощности и управления потреблением энергии иным образом.
По традиции, признаки управления энергопотреблением, предусмотренные операционной системой, состоят из количественного измерения величины выполняемой обработки и перехода между разными состояниями системы (иногда обозначаемых как «S-состояния») на основании занятости/простоя компьютера. Например, некоторые компьютеры и их операционные системы придерживаются стандарта, общеизвестного как усовершенствованный интерфейс управления конфигурированием и энергопотреблением («ACPI»), который поддерживает разные состояния системы, включающие в себя активное состояние (например, S0) и различные состояния сна системы (например, S1-S4). Более того, когда компьютер переходит между состояниями системы, потребляющие энергию устройства в компьютере могут переходить в надлежащее состояние устройства (иногда обозначаемое как «D-состояние»), которое включает в себя активное состояние (например, D0) и различные состояния сна устройства (например, D1-D3). В этом отношении операционная система может быть ответственна за поддержание отображений состояний на устройства, так что отдельные устройства могут переходить в надлежащее состояние устройства.
С одной стороны, каждое удачное более глубокое системное и ассоциированное состояние устройства предлагают бóльшие уровни сбережения энергии по сравнению с активным состоянием. С другой стороны, каждое из более высоких состояний сна системы и устройств ассоциировано с пониженной доступностью аппаратных средств. Например, промежуток времени или накладные задержки могут требоваться для перехода из состояния сна в активное состояние. В любом случае с этими типами существующих систем решения управления энергопотреблением не учитывают величину остающейся мощности. Как результат, промежуток времени, в котором пользователь может выполнять значимые задачи на компьютере, является коротким, в то время как возможности экономии энергии определенных аппаратных устройств не полностью реализуются, даже когда величина оставшейся мощности очень низка.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Описанные в общем смысле варианты осуществления настоящего изобретения направлены на минимизацию потребляемой энергии компьютера наряду с допущением выполнения значимых задач программами, установленными на компьютере. В соответствии с одним из вариантов осуществления предложен способ, который реализует меры сбережения энергии на основании текущей мощности, которая имеется в распоряжении из источника питания. Более точно, в этом варианте осуществления способ включает в себя идентификацию текущего количества энергии, которое доступно компьютеру из источника питания. Затем выполняется определение касательно того, является ли текущее количество энергии, доступное компьютеру, ассоциированным с состоянием пониженной производительности. Если текущее количество энергии ассоциировано с состоянием пониженной производительности, способ изменяет конфигурацию некоторых устройств, потребляющих энергию для перевода компьютера в надлежащее состояние пониженной производительности.
Эта сущность изобретения приведена для представления выбора концепций в упрощенном виде, которые дополнительно описаны ниже в «Подробном описании». Эта сущность изобретения не предназначена для идентификации ключевых признаков заявленного объекта изобретения, также не предназначена, чтобы использоваться в качестве вспомогательного средства при определении объема заявленного объекта изобретения.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеприведенные аспекты и многие из сопутствующих преимуществ этого изобретения будут становиться легче оцениваемыми по достоинству по мере того, как таковые станут лучше понятными, посредством ссылки на последующее подробное описание, при рассмотрении с прилагаемыми чертежами, на которых:
фиг.1 - структурная схема примерного компьютера с компонентами, которые пригодны для реализации аспектов настоящего изобретения; и
фиг.2 - функциональная блок-схема последовательности операций подпрограммы управления энергопотреблением, пригодная для иллюстрации примерного способа для идентификации и выполнения переходов из одного состояния в другое состояние производительности для сбережения электроэнергии, потребляемой компьютером, в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Настоящее изобретение может быть описано в общем контексте машинно-исполняемых инструкций, таких как программные модули, исполняемые компьютером. Описанные в общем смысле программные модули включают в себя подпрограммы, программы, приложения, элементы управления окнами, объекты, компоненты, структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Настоящее изобретение также может быть осуществлено на практике в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через сеть связи. В распределенной вычислительной среде программные модули могут быть расположены на локальных и/или удаленных компьютерных устройствах хранения.
Несмотря на то, что настоящее изобретение, главным образом, будет описано в контексте снижения энергии, потребляемой аппаратными устройствами в компьютере, когда величина доступной энергии ниже определенных пороговых величин, которые могут произвольно настраиваться и конфигурироваться по необходимости, специалисты в данной области техники и другие будут осознавать, что настоящее изобретение также применимо в других контекстах. Так или иначе, последующее описание, прежде всего, дает общий обзор компьютера, в котором могут быть реализованы аспекты настоящего изобретения. Затем описывается подпрограмма или способ для выполнения изобретения в соответствии с одним из вариантов осуществления. Иллюстративные примеры, описанные в материалах настоящей заявки, не подразумеваются исчерпывающими или ограничивающими изобретение точными раскрытыми формами. Подобным образом, этапы, описанные в материалах настоящей заявки, могут быть взаимозаменяемыми с другими этапами или комбинациями этапов, для достижения того же самого результата.
Далее, со ссылкой на фиг.1, будет описан примерный компьютер 100 как с аппаратными, так и с программными компонентами, пригодными для реализации аспектов настоящего изобретения. Специалисты в данной области техники будут осознавать, что компьютер 100 может быть любым одним из многообразия устройств, включающих в себя, но не в качестве ограничения, персональные вычислительные устройства, серверные вычислительные устройства, мини- и мейнфреймы, переносные компьютеры, персональные цифровые секретари («PDA») или другие электронные устройства, имеющие некоторый тип памяти. Для легкости иллюстрации, и так как это не является значимым для понимания настоящего изобретения, фиг.1 не показывает типичные компоненты многих компьютеров, такие как память, клавиатура, мышь, принтер или другие устройства I/O, дисплей и т.п. Однако, как проиллюстрировано на фиг.1, компьютер 100 включает в себя прикладную программу 102, операционную систему 104 и аппаратную платформу 106. В этом варианте осуществления операционная система 104 включает в себя драйверы 108 и подпрограмму 110 управления энергопотреблением. Более того, как дополнительно проиллюстрировано на фиг.1, аппаратная платформа 106 включает в себя CPU 114, энергопотребляющие устройства 116 и источник 118 питания.
Для иллюстративных целей и только в качестве примера фиг.1 изображает компонентную архитектуру для компьютера 100, в которой операционная система 104 управляет доступом к аппаратным ресурсам в интересах прикладных программ. В этом отношении операционная система 104, проиллюстрированная на фиг.1, может быть операционной системой общего применения, такой как операционная система Microsoft, операционная система Linux, операционная система UNIX и т.п. В качестве альтернативы операционная система 104 может быть спроектирована для специализированных аппаратных средств, таких как вычислительные устройства с ограниченными ресурсами. В этом примере операционная система 104 может быть операционной системой Windows CE, операционной системой Palm и т.п. В любом случае компоненты компьютера 100 разделены на уровни, с аппаратной платформой 106 на нижнем уровне и прикладной программой 102 на верхнем уровне. Разделение на уровни компьютера 100 иллюстрирует, что настоящее изобретение может быть реализовано в иерархической среде, в которой каждый уровень компьютера 100 зависим от систем на нижних уровнях. Более точно, прикладная программа 102 не способна непосредственно осуществлять доступ к компонентам аппаратной платформы 106. Взамен прикладная программа 102 посылает запросы в операционную систему 104, когда необходимы услуги, предоставляемые аппаратной платформой 106. По мере того, как принимаются запросы, операционная система 104 осуществляет доступ к драйверам 108, чтобы взаимодействовать с компонентами аппаратной платформы 106. Например, драйверы 108 предусматривают образ действий, чтобы операционная система 104 взаимодействовала с CPU 114 и энергопотребляющими устройствами 116.
В соответствии с одним вариантом осуществления настоящее изобретение расширяет функциональные возможности операционной системы 104 для сбережения энергетических ресурсов. В этом отношении операционная система 104 используется для идентификации требований производительности аппаратных средств прикладной программы 102, когда прикладная программа 102 запускается, или некоторое время спустя. По мере того, как мощность, доступная из компьютера 100, уменьшается, операционная система 102 может переводить аппаратную платформу 106 между разными состояниями производительности, которые могут иметь место в пределах данного состояния системы и/или устройства. Сформулированные в общем смысле аспекты настоящего изобретения расширяют функциональные возможности операционной системы 104, так что операционная система 104 может действовать в качестве посредника, чтобы приводить требования производительности прикладной программы 102 в соответствие с возможностями аппаратной платформы 106.
Для того, чтобы операционная система 104 управляла выполнением программ, получается информация, которая описывает аппаратную платформу 106. Типично, микропрограмма, известная как базовая система ввода/вывода («BIOS»), выполняет функции для инициализации аппаратной платформы 106, когда питание подается на компьютер 100 впервые, после чего BIOS «загружает» операционную систему 104. В этом отношении, когда компьютер 100 включается, BIOS компьютера 100 проводит проверку аппаратных средств, названную самотестированием при включении питания («POST»), чтобы определить, присутствует ли аппаратная платформа 106 и правильно ли работает. Затем инструкции в BIOS передают управление программе, известной как «загрузчик», которая выполняет начальную загрузку операционной системы 104 в системную память компьютера 100, которая обычно реализована в качестве банка оперативного запоминающего устройства («RAM»).
Как проиллюстрировано на фиг.1, компьютер 100 включает в себя источник 118 питания, который ответственен за снабжение электронных схем в компьютере 100 энергией. Источник 118 питания может быть аккумулятором, который содержится в пределах корпуса компьютера 100. В этом случае, по мере того, как пользователь взаимодействует с компьютером 100, величина мощности уменьшается и может стать недоступной, если источник бесперебойного питания не используется для «перезарядки» аккумулятора. Аспекты настоящего изобретения особенно хорошо применимы, когда аккумулятор используется для предоставления электропитания компьютеру. Однако источник 118 питания может быть источником бесперебойного питания, в котором мощность, которая доступна компьютеру 100, не иссякает. В этом случае аспекты настоящего изобретения могут использоваться для сохранения потребления энергетических ресурсов, даже если доступна кажущаяся бесконечная величина мощности.
Типично, когда компьютер 100 загружается, один или более драйверов 108 могут считывать данные, поставляемые BIOS, чтобы раскрывать возможности управления энергопотреблением системных устройств в аппаратной платформе 106 или могут идентифицировать возможности управления энергопотреблением непосредственно из системных устройств через драйверы 108 или другой информации о конфигурационном пространстве. В некоторых системах данные, поставляемые BIOS или непосредственным определением операционной системой 104, пересылаются в службу регулирования мощности, включенную в операционную систему 104, которая управляет мощностью, расходуемой компьютером 100. Например, как упомянуто ранее, в операционной системе 104, которая придерживается стандарта ACPI, служба регулирования мощности может количественно определять объем обработки, выполняемой на компьютере 100, и осуществлять переход между разными состояниями системы на основании простоя/занятости компьютера 100.
Аспекты настоящего изобретения могут быть реализованы в компьютере, в котором существующая служба регулирования мощности осуществляет переход между разными состояниями системы. В этом варианте осуществления, когда компьютер 100 находится в активном состоянии системы (например, «S0»), система адаптивного управления энергопотреблением, предложенная настоящим изобретением, может дехарактеризовать и/или понизить состояние производительности определенных аппаратных устройств на основании текущего уровня мощности и/или потребностей производительности аппаратных средств у прикладных программ, которые выполняются на компьютере 100. Более точно, по мере того, как мощность, доступная компьютеру 100, уменьшается, характеристики аппаратных устройств и/или состояния производительности настраиваются в пределах работающей системы или состояния устройства на уровень, который совместим с оставшейся мощностью. Как результат, производительность компьютера устанавливается на уровень, который максимизирует использование доступной мощности, по-прежнему предоставляя пользователю возможность выполнять значимые задачи. Если служба регулирования мощности переходит из активного состояния в состояние сна системы, дополнительная обработка настоящим изобретением не выполняется. Взамен, переходя между разными состояниями бездействия системы, служба регулирования мощности сберегает потребление мощности на компьютере 100. В еще одном варианте осуществления настоящее изобретение реализовано в компьютере 100, в котором служба регулирования мощности не осуществляет переход между разными состояниями системы для сбережения энергии. В этом случае характеристики аппаратного устройства и/или состояния производительности настраиваются аспектами настоящего изобретения всякий раз, когда условия на компьютере 100 диктуют, что энергия должна сберегаться, например, когда величина мощности, имеющейся в распоряжении, падает ниже определенных пороговых величин.
Как проиллюстрировано на фиг.1, компьютер 100 включает в себя CPU 114, который включен в аппаратную платформу 106. Специалисты в данной области техники и другие будут осознавать, что CPU 114 служит в качестве вычислительного центра компьютера 100, поддерживая исполнение инструкций программ. В этом отношении операционная система 104 побуждает инструкции программы, в том числе инструкции программы, которые реализуют настоящее изобретение, загружаться из устройства хранения (например, накопителя на жестких дисках) в системную память (не проиллюстрирована) компьютера 100. Затем CPU 114 реализует функциональные возможности программы последовательной «выборкой» и «исполнением» инструкций, загруженных в системную память. Специалисты в данной области техники и другие будут осознавать, что некоторые доступные в настоящий момент CPU поддерживают состояния производительности с пониженным энергопотреблением, такие как (1) «P-состояния», в котором пара напряжение/частота CPU 114 может настраиваться для понижения потребления энергии, и (2) «C-состояния», в которых CPU 114 предоставлена возможность быть незанятым в течение предопределенного процента времени. Как более подробно описано ниже, аспекты настоящего изобретения могут побуждать CPU 114 осуществлять переход в «P-состояние» или «C-состояние» с пониженным энергопотреблением, даже в случаях, когда компьютер 100 находится в активном состоянии системы.
Энергопотребляющие устройства 116, проиллюстрированные на фиг.1, могут быть любым существующим или еще только разрабатывающимся устройством, которое использует электричество, предоставляемое источником 118 питания. Например, в существующих компьютерных системах энергопотребляющие устройства 116 могут включать в себя, но не в качестве ограничения, запоминающие устройства большой емкости (например, накопитель на жестких дисках), видеокарты, периферийные устройства, такие как накопители DVD/CD-ROM устройства горячей замены, системная память (например, RAM/ROM) и т.п. Описанные в общем смысле аспекты настоящего изобретения направлены на настройку уровня производительности CPU 114 и других энергопотребляющих устройств 116 для максимизации использования доступной мощности.
Как проиллюстрировано на фиг.1, операционная система 104 включает в себя подпрограмму 110 управления энергопотреблением, которая настраивает уровень производительности CPU 114 и энергопотребляющие устройства 116, чтобы максимизировать промежуток времени, в котором компьютер 100 может выполнять значимые задачи. Однако, поскольку аспекты подпрограммы 110 управления энергопотреблением более подробно описаны ниже со ссылкой на фиг.2, подробное описание подпрограммы 110 здесь приведено не будет. Однако описанная в общем смысле подпрограмма 110 управления энергопотреблением отслеживает величину мощности, которая доступна из источника 118 питания. Если уровень мощности падает ниже определенных уровней пороговых величин, подпрограмма 110 управления энергопотреблением идентифицирует состояние пониженной производительности для определенных аппаратных устройств в компьютере 100. Затем уровень производительности идентифицированных аппаратных устройств настраивается на идентифицированное состояние пониженной производительности. По мере того, как уровень мощности, доступной компьютеру 100, падает, аппаратные устройства переводятся в состояния в большей степени более глубокой пониженной производительности, которые предназначены для максимизации промежутка времени, в котором пользователь может выполнять значимые задачи на компьютере 100.
Специалисты в данной области техники и другие будут осознавать, что компьютер 100, изображенный на фиг.1, является крайне упрощенным примером, который включает в себя только компоненты, которые полезны в аспектах описания настоящего изобретения. В реальных вариантах осуществления компьютер 100 будет содержать дополнительные компоненты, не проиллюстрированные на фиг.1. Более того, компонентная архитектура, проиллюстрированная на фиг.1, должна истолковываться в качестве примерной, в то время как специалисты в данной области техники и другие будут осознавать, что настоящее изобретение может быть реализовано в компьютерах, которые поддерживают разные компонентные архитектуры.
Далее, со ссылкой на фиг.2, примерная подпрограмма 110 управления энергопотреблением, кратко упомянутая выше со ссылкой на фиг.1, будет описана более подробно. Специалисты в данной области техники и другие будут осознавать, что некоторые аппаратные устройства, содержащиеся в современных компьютерах, сконфигурированы для функционирования на разных уровнях производительности и/или имеют характеристики, которые способны подключаться/отключаться. Например, стандартизованные «D-состояния» используются для определения уровней производительности для некоторых аппаратных устройств. В традиционных схемах управления энергопотреблением каждое «D-состояние», к вхождению в которое способно устройство, может быть закреплено за состоянием системы. Подпрограмма 110 управления энергопотреблением может использовать аппаратные устройства, которые сконфигурированы для функционирования на разных уровнях производительности, например, в «D-состояниях». Однако в отличие от традиционных схем управления энергопотреблением подпрограмма 110 управления энергопотреблением может побуждать устройства переходить в более энергосберегающие состояния производительности в пределах активного состояния «D0» устройства на основании величины мощности, которая доступна компьютеру. В качестве предварительного вопроса, прежде чем выполняется подпрограмма 110 управления энергопотреблением, операционная система, установленная на компьютере, может автоматически получать или опрашивать аппаратные устройства для идентификации их возможностей экономии энергии. В соответствии с одним из вариантов осуществления подпрограмма 110 управления энергопотреблением использует информацию, полученную операционной системой, для приведения требований производительности программ в соответствие с возможностями аппаратных устройств сберегать энергию.
Как проиллюстрировано на фиг.2, подпрограмма 110 управления энергопотреблением начинается на этапе 180, где подпрограмма 110 остается неработающей, пока прикладная программа не загружена в системную память. Специалисты в данной области техники и другие будут осознавать, что, когда планируется, что прикладная программа должна выполняться, код программы в устройстве хранения данных (например, накопителе на жестких дисках) загружается из устройства хранения данных в системную память, где код программы легко доступен CPU. Однако, поскольку загрузка кода программы в системную память выполняется с использованием существующих систем, которые в целом известны в данной области техники, дополнительное описание этих систем здесь описано не будет.
На этапе 190 подпрограмма 110 управления энергопотреблением запрашивает у прикладной программы, которая загружалась в системную память на этапе 180, информацию о наборе аппаратных требований. Как более подробно описано ниже, подпрограмма 110 управления энергопотреблением может побуждать аппаратные устройства осуществлять переход в состояния разной производительности в зависимости от величины мощности, доступной компьютеру. Более точно, в соответствии с одним из вариантов осуществления аппаратное устройство может быть в одном из пяти состояний разной производительности, включающих в себя состояние полной производительности и четыре состояния пониженной производительности, каждое из которых сберегает в большей степени бóльшие величины энергии. Информация о наборе аппаратных требований, полученная из прикладной программы, описывает аппаратные требования для прикладной программы в каждом из разных имеющихся в распоряжении состояний производительности. Несмотря на то, что подпрограмма 110 управления энергопотреблением описывает систему, где устройства могут быть в одном из пяти состояний производительности, в альтернативных вариантах осуществления большее или меньшее количество состояний производительности могут быть реализованы, не выходя из объема заявленного объекта изобретения.
На этапе 195 принятия решения подпрограмма 110 управления энергопотреблением ожидает до тех пор, пока не возникает запускающее событие, которое запустит определение того, будет ли выполняться переход между состояниями производительности. Только в качестве примера, операционная система может быть сконфигурирована для выдачи запускающего события с периодическими интервалами или случайным образом. Более того, в другом варианте осуществления операционная система сконфигурирована для выдачи запускающего события, когда оставшаяся мощность падает ниже определенных пороговых величин. Как более подробно описано ниже, подпрограмма 110 управления энергопотреблением определяет, будет ли выполняться переход между состояниями производительности, в ответ на возникновение запускающего события.
На этапе 200 значение, которое представляет оставшуюся мощность, доступную компьютеру, получается подпрограммой 110 управления энергопотреблением. Специалисты в данной области техники и другие будут осознавать, что существующие системы могут использоваться для идентификации величины оставшейся мощности, которая доступна из источника питания, на этапе 200. Например, компьютеры, которые придерживаются ACPI, предусматривают стандартизованный способ, чтобы операционная система взаимодействовала с аппаратной платформой и получала этот тип данных. В этом примере подпрограмма 110 управления энергопотреблением осуществляет доступ к таблице или другой структуре данных, поддерживаемой операционной системой, чтобы получать эти данные. Однако специалисты в данной области техники и другие будут осознавать, что другие технологии могут использоваться для получения значения, которое представляет оставшуюся мощность, на этапе 200, и пример, приведенный в материалах настоящей заявки, должен истолковываться в качестве примерного, а не ограничивающего.
На этапе 202 подпрограмма 110 управления энергопотреблением выполняет сравнение между значением, которое представляет оставшуюся мощность (полученную на этапе 200), с набором предопределенных значений, ассоциированных с состояниями разной производительности. Описанная в общем смысле, по мере того, как мощность, доступная компьютеру, уменьшается, подпрограмма 110 управления энергопотреблением понижает производительность некоторых аппаратных устройств. В соответствии с одним из вариантов осуществления, значение, которое представляет оставшуюся мощность, сравнивается с набором предопределенных значений, на этапе 202, чтобы идентифицировать состояние производительности для устройств в компьютере. Только в качестве примера, если величина доступной мощности меньше, чем восемьдесят процентов (80%) от максимума, подпрограмма 110 управления энергопотреблением осуществляет переход набора потребляющих энергию устройств в состояние пониженной производительности. Однако должно быть хорошо понятно, что значения, описанные в материалах настоящей заявки, которые устанавливают, когда будет происходить переход в состояние пониженной производительности, являются примерными.
На этапе 204 принятия решения подпрограмма 110 управления энергопотреблением определяет, является ли величина оставшейся мощности, доступной из источника питания, 80% или более высокой. Как упомянуто ранее, на этапе 202 выполняется сравнение, чтобы идентифицировать состояние надлежащей производительности для устройств в компьютере, заданное величиной мощности, которая остается. На этапе 204 подпрограмма 110 управления энергопотреблением определяет, указывают ли результаты такого сравнения, что величина оставшейся мощности является 80% или более высокой. Как проиллюстрировано на фиг.2, если величина оставшейся мощности является 80% или более высокой, подпрограмма 110 управления энергопотреблением переходит на этап 206. Наоборот, если величина оставшейся мощности является меньшей, чем 80% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 208, описанный ниже более подробно.
На этапе 206 подпрограмма 110 управления энергопотреблением предоставляет аппаратным устройствам в компьютере, которые реализуют настоящее изобретение, возможность функционировать в состоянии своей наивысшей производительности. В одном из вариантов осуществления, когда доступная мощность является 80% или более высокой, (1) подсистема отображения компьютера снабжает пользователя самым наполненным визуальным впечатлением; (2) энергопотребляющим устройствам, таким как память, CPU, видеокарты, запоминающее устройство большой емкости, сетевые устройства и т.п., предоставлена возможность демонстрировать эффективность со всеми своими признаками, запущенными в работу, и (3) прикладным программам, таким как хранители экрана, предоставлена возможность исполниться в соответствии с определенными пользователем настройками. Затем подпрограмма 110 управления энергопотреблением переходит на этап 223, описанный ниже более подробно.
На этапе 208 принятия решения подпрограмма 110 управления энергопотреблением определяет, составляет ли величина оставшейся мощности, доступной из источника питания, от 60% до 80% от максимума. Как упомянуто ранее, на этапе 202 выполняется сравнение, чтобы идентифицировать состояние надлежащей производительности для устройств в компьютере, заданное величиной мощности, которая имеется в распоряжении. Как проиллюстрировано на фиг.2, если величина оставшейся мощности составляет от 60% вплоть до 80% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 210. Наоборот, если величина оставшейся мощности является меньшей, чем 60% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 212, описанный ниже более подробно.
Как дополнительно проиллюстрировано на фиг.2, на этапе 210, подпрограмма 110 управления энергопотреблением заставляет определенные энергопотребляющие устройства в компьютере, который реализует настоящее изобретение, переходить в первое состояние пониженной производительности. Первое состояние пониженной производительности предназначено для обеспечения надежной работы пользователя наряду с ответственностью за менее чем максимальную величину доступной мощности. В одном из вариантов осуществления, когда доступной мощностью является от 60% вплоть до 80% от максимума, определенные высококачественные характеристики, доступные из подсистемы отображения (например, видеокарты, компьютерного дисплея и т.п.), которые могут использоваться или могут не использоваться прикладными программами на компьютере, «уменьшаются в масштабе», если признаки не используются в текущий момент. Например, в соответствии с одним из вариантов осуществления определенные признаки подсистемы, такие как, но не в качестве ограничения, геометрическое отображение, 64-позиционное текстурирование, 128-битное вычисление, 32-битная цветопередача, средства 3-мерной визуализации и/или многочисленные GPU, понижаются до следующего состояния более низкой производительности, на этапе 210, если прикладная программа не требует состояния наивысшей производительности признака. Как упомянуто ранее, аппаратные требования, используемые выполняющимися в текущий момент прикладными программами, идентифицируются подпрограммой 110 управления энергопотреблением по мере того, как программы загружаются в системную память. К этой информации можно обратиться на этапе 210 для идентификации аппаратных характеристик, которые могут «уменьшаться в масштабе», в первом состоянии пониженной производительности. Более того, реализуются другие меры сбережения энергии, на этапе 210, которые не затрагиваются требованиями выполняющихся в текущий момент прикладных программ. Например, в одном из вариантов осуществления яркость подсветки дисплея в видеоподсистеме переводится в 80% от максимума на этапе 210. Другим потребляющим энергию устройствам, таким как память, CPU, сетевые устройства и тому подобное, предоставлена возможность функционировать на уровне полной производительности в этом варианте осуществления. Однако запоминающее устройство большой емкости (например, накопитель на жестких дисках) переводится в состояние пониженных характеристик, в котором запоминающее устройство большой емкости может «отключать привод вращения диска», когда не используется. Затем подпрограмма 110 управления энергопотреблением переходит на этап 223, описанный ниже более подробно.
На этапе 212 принятия решения подпрограмма 110 управления энергопотреблением определяет, составляет ли величина оставшейся мощности, доступной из источника питания, от 40% вплоть до 60% от максимума. Как упомянуто ранее, на этапе 202 выполняется сравнение, чтобы идентифицировать состояние надлежащей производительности для устройств в компьютере, заданное величиной мощности, которая имеется в распоряжении. Как проиллюстрировано на фиг.2, если величина оставшейся мощности составляет от 40% вплоть до 60% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 214. Наоборот, если величина оставшейся мощности является меньшей, чем 40% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 216, описанный ниже более подробно.
На этапе 214 подпрограмма 110 управления энергопотреблением заставляет аппаратные устройства в компьютере, который реализует настоящее изобретение, переходить во второе состоянии пониженной производительности. В одном из вариантов осуществления, когда доступная мощность составляет от 40% вплоть до 60% от максимума, характеристики, которые могут быть в распоряжении подсистемы отображения, «уменьшаются в масштабе», даже в случаях, когда такие характеристики используются в текущий момент. Например, общие системные задачи отображения выполняются в «2-х измерениях», вычислительная точность перестраивается с 128 бит на 64 бита, 64-битное текстурирование понижается до 32-битного, цветопередача снижается с 32-битной до 24-битной, и подсветка дисплея уменьшается до 70% от максимальной яркости. Другим компонентам компьютера, таким как память, CPU, сетевые устройства и тому подобное, предоставлена возможность функционировать в состоянии полной производительности. Однако в одном из вариантов осуществления запоминающее устройство большой емкости переводится в состояние дополнительно пониженной производительности, в котором управляемая питанием последовательность «разгона» выполняется, когда к запоминающему устройству большой емкости осуществляется доступ.
Во втором состоянии пониженной производительности выбор времени, когда прикладная программа становится активной на компьютере, может оказывать влияние на решения управления энергопотреблением. Например, в соответствии с одним из вариантов осуществления, когда новая прикладная программа начинает исполнение, в то время как компьютер находится во втором состоянии пониженной производительности, приложение наделяется дехарактеризованными аппаратными устройствами только в качестве устройств, которые доступны. В качестве еще одного примера, если активная прикладная программа на компьютере является «хранителем экрана», то определенные энергопотребляющие устройства переводятся в состояние пониженной производительности. В одном из вариантов осуществления, когда «хранитель экрана» активен, CPU переходит в состояния производительности «P2» и «C1». Затем подпрограмма 110 управления энергопотреблением переходит на этап 223, описанный ниже более подробно.
На этапе 216 принятия решения подпрограмма 110 управления энергопотреблением определяет, составляет ли величина оставшейся мощности, доступной из источника питания, от 20% вплоть до 40% от максимума. Как упомянуто ранее, на этапе 202 выполняется сравнение, чтобы идентифицировать состояние надлежащей производительности для устройств в компьютере, заданное величиной мощности, которая имеется в распоряжении. Как проиллюстрировано на фиг.2, если величина оставшейся мощности составляет от 20% вплоть до 40% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 218. Наоборот, если величина оставшейся мощности является меньшей, чем 20%, подпрограмма 110 управления энергопотреблением переходит на этап 220, описанный ниже более подробно.
На этапе 218 подпрограмма 110 управления энергопотреблением заставляет аппаратные устройства в компьютере, который реализует настоящее изобретение, переходить в третье состояние пониженной производительности. Когда доступная мощность составляет от 20% вплоть до 40% от максимума, характеристики, предусмотренные энергопотребляющими устройствами в компьютере, который реализует настоящее изобретение, понижаются, чтобы удовлетворять основным требованиям выполняющихся в настоящий момент прикладных программ.
В соответствии с одним из вариантов осуществления подпрограмма 110 управления энергопотреблением настраивает уровень производительности энергопотребляющих устройств 116 (фиг.1), чтобы соответствовали основным требованиям выполняющихся в текущий момент прикладных программ; на этапе 218. Как упомянуто ранее, аппаратные требования, используемые выполняющимися в текущий момент прикладными программами, идентифицируются подпрограммой 110 управления энергопотреблением по мере того, как программы загружаются в системную память. К этой информации можно обратиться на этапе 218, чтобы идентифицировать основные требования выполняющихся в текущий момент прикладных программ. В этом отношении прикладная программа 102 может использовать энергопотребляющее устройство для реализации функциональных возможностей программы. Однако прикладная программа может не требовать всех из энергопотребляющих характеристик устройства. В этом случае подпрограмма 110 управления энергопотреблением приводит признаки потребляющего энергию устройства в соответствие с основным требованием прикладной программы 102. Например, когда фиксируется третье состояние пониженной производительности, подпрограмма 110 управления энергопотреблением может осуществлять доступ к системным данным, чтобы определять типы прикладных программ, которые активны в текущий момент на компьютере. Если никакие из выполняющихся в текущий момент программ не требуют определенных характеристик графической визуализации; например, если пользователь приводит в исполнение текстовые программы, такие как программы обработки текстов, приложения баз данных и тому подобное, и не приводит в исполнение игры с изощренной графикой, то подсистема отображения компьютера переводится в режим «только текст».
Когда фиксируется третье состояние пониженной производительности, производительность или состояние устройства (например, «D-состояние») дополнительно «уменьшаются в масштабе». Например, в соответствии с одним из вариантов осуществления системная память переводится в режим «самовосстановления», и производительность сетевых устройств понижается, если уменьшение потребления энергии сопровождает снижение производительности. Более того, запоминающие устройства большой емкости опрашиваются для работы на пониженной скорости, например, рабочая скорость жесткого диска компьютера может уменьшаться с 7200 до 5400 оборотов в минуту. Затем подпрограмма 110 управления энергопотреблением переходит на этап 223, описанный ниже более подробно.
На этапе 220 принятия решения подпрограмма 110 управления энергопотреблением определяет, является ли величина оставшейся мощности, доступной из источника питания, меньшей, чем 20% от максимума. Как упомянуто ранее, на этапе 202 выполняется сравнение, чтобы идентифицировать надлежащий уровень производительности для аппаратных устройств в компьютере, заданный величиной мощности, которая имеется в распоряжении. Как проиллюстрировано на фиг.2, если величина оставшейся мощности является меньшей, чем 20% от максимума, подпрограмма 110 управления энергопотреблением переходит на этап 222. Наоборот, если оставшаяся мощность находится на критических уровнях, которые могут устанавливаться в произвольное значение, операционная система начинает процесс стратегии выхода, которая находится за пределами объема настоящего изобретения. В этом случае подпрограмма 110 управления энергопотреблением может переходить обратно, на этап 195, и ожидать, чтобы произошло запускающее событие.
Как дополнительно проиллюстрировано на фиг.2, на этапе 222, подпрограмма 110 управления энергопотреблением заставляет аппаратные устройства в компьютере, который реализует настоящее изобретение, переходить в четвертое состояние пониженной производительности. Четвертое состояние пониженной производительности предназначено для предоставления ресурсов, которые дают пользователю возможность выполнять значимые задачи наряду с активным сбережением энергии. В одном из вариантов осуществления, когда доступная мощность составляет менее 20% от максимума, определенные характеристики, имеющиеся в распоряжении в подсистеме отображения, больше не используются. Например, использование видеопамяти высокой производительности, доступной из видеокарты, прекращается в интересах системной памяти низкой производительности. Более того, в соответствии с одним из вариантов осуществления количество имеющихся в распоряжении «конвейеров» или каналов связи, используемых видеокартой, сокращается до некоторого количества, которое требуется для поддержки минимальных требований текущей прикладной программы.
Когда компьютер находится в четвертом состоянии пониженной производительности, использование других энергопотребляющих устройств вне видеоподсистемы дополнительно «уменьшается в масштабе» или совершенно прекращается. Например, в соответствии с одним из вариантов осуществления состояние производительности CPU понижается с «P0» до «P2», невзирая на текущую выполняющуюся прикладную программу. К тому же, объем системной памяти, которая доступна, снижается до минимальной величины, требуемой для поддержки текущей прикладной программы. Сетевые устройства, которые в текущий момент не присоединены к компьютеру, выключаются из работы, так что не должен выполняться поиск устройства. Более того, любое энергопотребляющее устройство, которое в текущий момент не используется, подвергается переходу в самое глубокое доступное состояние устройства (например, «D3»), пока не требуется прикладной программе или пользователю. Подключенные внешним образом устройства горячей замены, такие как накопители USB или FireWire, переводятся в приостановленное состояние до тех пор, пока не происходит прерывание, которое указывает, что устройство горячей замены необходимо. Затем подпрограмма 110 управления энергопотреблением переходит на этап 223.
Как проиллюстрировано на фиг.2, на этапе 223 принятия решения подпрограмма 110 управления энергопотреблением определяет, завершала ли работу прикладная программа, которая загружалась в системную память на этапе 180. В соответствии с одним из вариантов осуществления подпрограмма 110 управления энергопотреблением используется для регулирования мощности, потребляемой для каждой прикладной программы, которая активна на компьютере. Когда прикладная программа завершает работу, и не представлена иным образом в качестве процесса на компьютере, подпрограмма 110 управления энергопотреблением завершается в отношении завершающей работу программы. В этом случае подпрограмма 110 управления энергопотреблением переходит на этап 224, где она завершается. Наоборот, если прикладная программа, загруженная в систему на этапе 180, не подвергается завершению работы, подпрограмма 110 управления энергопотреблением переходит обратно, на этап 195, и этапы со 195 по 222 повторяются до тех пор, пока программа не завершает работу.
Несмотря на то, что, со ссылкой на фиг.2, были описаны отдельные примеры характеристик сбережения энергии и переходов в состояния пониженной производительности на основании имеющегося в распоряжении источника питания, этот вариант осуществления должен интерпретироваться в качестве примерного, а не ограничивающего. Например, подпрограмма 110 управления энергопотреблением описана выше в качестве имеющей четыре состояния пониженной производительности. Однако в других вариантах осуществления подпрограмма 110 управления энергопотреблением может иметь дополнительные или меньшее количество состояний пониженной производительности, не выходя из объема заявленного объекта изобретения.
Несмотря на то, что были проиллюстрированы и описаны иллюстративные варианты осуществления, будет приниматься во внимание, что различные изменения могут быть произведены в них, не выходя из сущности и объема изобретения.