Потребляемая мощность ядра с двумя аппаратными потоками

359
George

Если ядро ​​имеет два аппаратных потока, будет ли ядро ​​потреблять одинаковую мощность в следующих двух сценариях: a) занят только один поток, другой не используется b) оба потока заняты

Насколько я знаю, регуляторы напряжения в современных процессорах относятся к ядру, а не к аппаратному потоку, поэтому мое предположение верно?

0
Терминология. Ядра не имеют «ниток». Ядро с включенной гиперпоточностью способно запускать два потока одновременно. Потоки - это вещи, созданные и существующие внутри процессов в ОС; они не являются частями или атрибутами ядра. На самом деле, процессор вообще не имеет понятия о «потоках» или даже «процессах». У него много механизмов, которые используются ОС для реализации процессов и потоков, вот и все. Jamie Hanrahan 6 лет назад 0
@davidgo Я нашел очень интересный фрагмент в Intel SDM, который объясняет, как Linux может показывать разные тактовые частоты для разных LP! Хотите узнать подробности? Jamie Hanrahan 6 лет назад 0

1 ответ на вопрос

1
Mokubai

«Это зависит» примерно настолько хорошо, насколько мы можем, вероятно, получить.

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

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

Конструкция ЦП также постоянно меняется и совершенствуется, поэтому то, что может быть правдой сегодня, может измениться завтра.

Исследуя это, я обнаружил интересную новость в Intel SDM. Кажется, что каждый логический процессор для системного программиста имеет свою собственную MSR с тактовой модуляцией. Но если для них установлены два разных значения для двух LP в ядре, они оба работают с более высоким процентом возрастного коэффициента заполнения! Независимо от того, что думает ОС. Intel64 / IA-32 SDM, 8.7.13.3: _ "рабочий цикл модуляции должен быть установлен на одно и то же значение [для всех LP в ядре]. Если значения коэффициента заполнения отличаются между LP, тактовая частота процессора будет модулироваться в самый высокий рабочий цикл. "_ Jamie Hanrahan 6 лет назад 0

Похожие вопросы