В ЦП скорость расчета влияет на выработанное тепло?

9

Возьмите в качестве примера процессор, способный изменять тактовую частоту, например, современный компьютерный процессор (Intel, AMD и т. Д.). Когда он выполняет определенный расчет на определенной тактовой частоте, генерирует ли он то же количество тепла, что и при идентичном вычислении на более низкой тактовой частоте? Я знаю, что теплоотдача и накопление тепла - это разные проблемы, поэтому давайте просто поговорим о генерируемом тепле.

user3629081
источник
Расчет, выполненный с более высокой скоростью, занимает меньше времени.
Евгений Ш.
4
Я думаю, что в компьютере, который является идеальным в смысле Ландауэра , расчет произведет такое же количество тепловой энергии. Но в реальных компьютерах это, вероятно, будет отличаться. В частности, потому что количество тепла, которое уже было произведено и еще не рассеяно (то есть температура полупроводника), будет влиять на его свойства и, следовательно, тепло, которое он генерирует.
Очаг
Конечно, так и будет, я разработал несколько дизайнов ПЛИС, и нам нужно, чтобы он был маломощным. Поэтому мы использовали источник тактовой частоты 10 кГц вместо источника 1 МГц, поскольку нам не нужно было много вычислительной мощности.
lucas92
2
Динамическое энергопотребление пропорционально квадрату тактовой частоты в синхронных ckts. Так что жара тоже должна увеличиться.
Миту Радж
1
@MITURAJ, динамическое энергопотребление пропорционально тактовой частоте. Не квадрат тактовой частоты. Пропорционально квадрату напряжения.
mkeith

Ответы:

14

Помимо тактовой частоты, имейте в виду, что в реальном «большом» процессоре (который имеет кеши, MMU, TLB, конвейерное выполнение, SIMD и т. Д.) Другим важным фактором, определяющим количество выделяемого тепла, будет то, насколько хорошо поток команд используется доступные ресурсы процессора. Если вы запускаете программу с интенсивным использованием памяти, большую часть времени ЦП будет просто нуждаться в данных, ничего не делая, поэтому выделяемое тепло будет относительно низким. Чисто вычислительный код с узкими циклами нагреет больше. Еще больше тепла может быть сгенерировано с помощью строго оптимизированного кода, который почти не вызывает ошибочных предсказаний ветвлений, интенсивно использует блоки SIMD, оптимально использует кэши и т. Д.

Существуют программы, специально предназначенные для работы с ЦП в этом режиме - максимально подчеркивая его, Prime95 является ярким примером для ПК.

Фактически, если ПК уже запускает Prime95 на всех доступных ядрах ЦП, а затем одновременно запускается другое приложение, интенсивно использующее ЦП (например, 3D-рендеринг), вы заметите, что ЦП охлаждается . Это связано с тем, что ему приходится делиться очень тяжелым кодом Prime95 (который «освещает все транзисторы» ) с кодом рендеринга с относительно меньшими требованиями (который, вероятно, содержит много ошибок в кеше и неправильных предсказаниях ветвлений - это позволяет процессору останавливаться для некоторое время и остыть).

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

anrieff
источник
1
Мощность изменяется квадратично по отношению к напряжению для данной тактовой частоты . Обычно вы используете напряжение для линейного изменения тактовой частоты. В результате мощность является кубической по сравнению с напряжением, а тактовая частота линейна. Таким образом, энергопотребление является квадратичным по сравнению с тактовой частотой.
MooseBoys
SIMD может генерировать столько тепла, что некоторые процессоры перегреваются при интенсивном использовании AVX512. +1 за указание на то, что повышение напряжения тоже актуально.
лес
1
@MooseBoys, правда, очень хорошая мысль. Но стоит отметить, что на самом деле, если у высокоскоростного процессора Vcore = 1,2 В, вдвое меньшая тактовая частота не позволит Vcore = 0,6, это просто не сработает :)
anrieff
@anreiff Возможно, я запомнил, но я думаю, что некоторые современные чипы Intel будут снижаться до 0,8 В или около того во время простоя. Они только на частоте ~ 700 МГц, и кеш, вероятно, отключен.
mbrig
Дело в том, что они не приближаются к 0 В, как можно было бы ожидать, если бы тактовая частота процессора и Vcore были пропорциональны. Это больше похоже на 3,5 ГГц @ 1,2 В и 0,7 ГГц @ 0,8 В. Снижение скорости оказывает большее влияние на рассеиваемую мощность, чем на напряжение, даже если первое влияет на него «только» линейно.
Anrieff
5

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

Тони Стюарт Sunnyskyguy EE75
источник
4
  • Мощность будет ниже при более низкой рабочей частоте.

  • При том же напряжении в сердечнике полная энергия будет выше при более низкой тактовой частоте.

  • Но если напряжение ядра снижается с частотой, то общая энергия может быть меньше.

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


    Потребляемая мощность процессора состоит из двух частей.

1) Статическое потребление тока (I_static). Для некоторого конкретного напряжения питания и температуры это потребление тока является постоянным независимо от того, что делает процессор.

Процессор, изготовленный по технологии CMOS, состоит из тысяч или миллионов транзисторов MOSFET. Статическое потребление тока происходит в основном из-за суммарного тока утечки в отключенном состоянии миллионов транзисторов MOSFET.

  • Потребление статического тока обычно увеличивается при увеличении напряжения питания.

  • Статическое потребление тока обычно увеличивается при увеличении температуры процессора.

  • Статическое потребление тока для многих устройств намного меньше, чем динамическое потребление тока.

2) Динамическое потребление тока. Для процессора, построенного с использованием CMOS-процессов, динамический ток возникает, когда транзисторы переключаются между состояниями включения / выключения.

  • Для заданного напряжения питания динамическое потребление тока обычно прямо пропорционально частоте.

  • Динамическое потребление тока увеличивается с увеличением напряжения питания.

Причина в следующем. Каждый MOSFET-транзистор в CPU имеет определенную емкость, связанную с ним. Каждый раз MOSFET переключается; заряд Q = C * V необходим для зарядки / разрядки этой емкости.

Динамическое потребление тока для каждого транзистора I_dynamic = C * V * f.

Независимо от того, на какой частоте выполняются инструкции, определенный набор операций на конкретном ЦП (при условии идентичного поведения кеша и памяти) потребляет определенное количество общего заряда (Q_program) из-за динамического потребления тока, независимо от частоты что инструкции выполнены в.

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

Математически можно написать ...

W = (I_dynamic + I_static) * V_supply

E = W * время = Q_program * V_supply + I_static * V_supply * время

Мы можем видеть, что когда тактовая частота приближается к 0, мощность будет приближаться к фиксированному значению, но энергия, необходимая для вычисления программы, приближается к бесконечности.

Так что, если (основываясь на емкостях транзисторов ЦП) Q_program фиксируется для определенного напряжения питания и набора операций, как современные ЦП экономят энергию, снижая тактовую частоту? Ответ заключается в том, что большинство современных процессоров включают встроенный (или в сопутствующий чип) регулируемый стабилизатор напряжения ядра. Когда они понижают тактовую частоту, они также могут снизить напряжение ядра. Затем Q_program (и E_program) снижается пропорционально напряжению питания.

Обратите внимание, что процессор не может использовать более низкое напряжение на более высоких частотах, потому что при более низких напряжениях время переключения транзистора увеличивается.

Мощность пропорциональна как напряжению (в квадрате), так и току. Таким образом, если напряжение падает одновременно с частотой, то мощность падает с кубом частоты.

user4574
источник
1

Транзисторы используют энергию, которая теряется в виде тепла. Есть два механизма, статическая и динамическая энергия. Статическая энергия постоянна, и динамическая (переключающая) энергия возникает всякий раз, когда она меняет состояние (0-> 1 или 1-> 0). Динамическая (переключающая) энергия обычно является большим источником тепла, чем статическая. Вычисление, которое вы хотите выполнить, займет одинаковое количество тактов и приведет к тому, что одинаковое количество битов транзистора перевернется независимо от тактовой частоты. Следовательно, динамическое тепло одинаково для обеих ситуаций. Статическое тепло ... статично. Таким образом, в итоге, если ЦПУ выполняет ТОЛЬКО этот 1 расчет, тогда потребление энергии / тепла точно такое же, когда оно усредняется за определенный период времени.

Topcat
источник
Вы находитесь на краю правды, но я позволю этому пройти. Уровень энергии для CMOS повышается почти линейно с частотой работы, но удваивает напряжение и энергию в четыре раза. Неприятное уравнение I2R, не считая скорости.
Sparky256
ОП спрашивал чисто о тактовой частоте, не говоря уже о пониженном напряжении.
TopCat
Приведенный выше ответ упоминал штраф за напряжение в сердечнике. Я не подразумевал, что вам нужно было ответить на этот вопрос. Я только комментировал - в поле для комментариев.
Sparky256
Вопрос был о ТЕПЛЕ (измеряется в Джоулях), а не о мощности или температуре. Тепло - это форма энергии. За исключением небольшого количества энергии, получаемой от входных источников и подаваемой на выходные нагрузки, вся энергия, потребляемая устройством, станет теплотой и в конечном итоге будет рассеиваться. В логике CMOS потребление энергии генерирует тепло при изменении состояния машины - обычно один раз за тактовый цикл в тот момент времени, когда затворы находятся на полпути между 0 и 1. Таким образом, ОБОГРЕВ для данной задачи должен быть независимым от тактовой частоты и полностью зависеть на количество тактов.
richard1941
1

В описанном вами сценарии энергия, необходимая для расчета, не зависит от тактовой частоты. Но тепло может быть «мягким» термином. Допустим, расчет занимает 1 Джоуля. Если вы сделаете это за 1 секунду, то это 1 Дж / сек = 1 Вт. Но если это займет 2 секунды, то это 1 Дж / 2 с = 0,5 Дж / с = 0,5 Вт.

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

О, за исключением того, что цифры, которые я вам дал, не должны быть реалистичными. Это просто концепция.

mkeith
источник