Во время чтенияОтвет Денниса, это заставляет меня задуматься о том, что определяет температуру процессора. Ниже приведено мое понимание.
Температура процессора определяется исключительно загрузкой процессора за единицу времени.
Загрузка ЦП за единицу времени равна проценту загрузки ЦП, умноженному на частоту ЦП.
Таким образом, по мере уменьшения процента использования ЦП или частоты ЦП, уменьшается использование ЦП в единицу времени и снижается температура ЦП.
Ниже приводится цитата частиОтвет Денниса, с чем мое вышеизложенное понимание не согласуется:
Более высокий расход означает более высокую температуру. Более низкий расход означает более низкую температуру.
Снижение частоты процессора с помощью cpufreq повлияет только на процент использования процессора, не снижая температуру.
Процент — это абсолютно бессмысленное значение. При одинаковой нагрузке ваш процент может увеличиваться или уменьшаться при разгоне или понижении процессора. Но это все равно та же нагрузка, поэтому любой потенциальный вред (а я не уверен, что он есть), вызванный использованием, будет точно таким же.
Аналогично, cpulimit ограничивает использование процессора, тем самым поддерживая низкий процент загрузки и температуру.
Можете ли вы сказать, кто из них правильный, Деннис или я? Почему?
Спасибо!
решение1
Температура ЦП определяется исключительно загрузкой ЦП в единицу времени. [...] Таким образом, по мере уменьшения процента загрузки ЦП или частоты ЦП загрузка ЦП в единицу времени уменьшается, а вместе с ней уменьшается и температура ЦП.
Потребляемая мощность (т.е. вырабатываемое тепло) неисключительноопределяется загрузкой ЦП, хотя это также зависит от того, какие инструкции выполняет ЦП. В цифровой синхронной схеме КМОП (такой как ваш процессор) потребление энергииможно вычислить как:
P = C x V^2 x f
Где C
- емкость цифровой схемы (изменяется в зависимости от того, какие инструкции выполняются), V
- напряжение ЦП, f
- тактовая частота. Некоторые инструкции используютбольше власти, чем у других, поэтому мы предположим, что здесь это исправлено (т.е. запущены те же программы, которые делаютнекоторыйзаметная работа, кроме простоя). Как побочный эффект этого, температура процессораволяуменьшаются в режиме ожидания (всего лишь NOP
с) даже при той же тактовой частоте.
Однако следует отметить, что потребляемая процессором мощность по-прежнему напрямую связана с частотой и напряжением. Уменьшение частоты вдвое снизит потребление энергии до 50%, а уменьшение напряжения вдвое снизит потребление энергии до 25% от исходного значения. Это имеетогромныйвлияет на выработку тепла, даже если мы хотим выполнить тот же объем работы (напомним, что мощность — это работа за единицу времени; см. ниже).
Более высокий расход означает более высокую температуру. Более низкий расход означает более низкую температуру.
Да, это правда. Когда ваш компьютер простаивает, он часто «ничего не делает» (т.е. NOP
инструкции, находится в состоянии низкого энергопотребления или просто не выполняет энергоемкие инструкции). Когда он что-то делает, например, рендерит графику, он использует гораздо большекомпоненты в ЦП(например, ALU, FPU, MIU), выделяя больше тепла.
Снижение частоты процессора с помощью cpufreq повлияет только на процент использования процессора, не снижая температуру.
Нет, это ложь.. См. уравнение выше. Снижение тактовой частоты приведет к тому, что программы будут выполняться в более длительном промежутке времени, но потребляемая цепью мощностьволяуменьшение. Потребляемая мощность КМОП напрямую связана с количеством логических переключателей в единицу времени.
Это очень интуитивно понятно, учитывая определениевласть, что просторабота в единицу времени, или скорость, с которой мы выполняем работу/вычисления. Если мы запустим одну и ту же программу до конца с заданной частотой f
, а затем сравним ее выполнение с частотой f/2
, в последнем случае, хотя мы взялив два раза длиннеедля выполнения программы мы сделалито же самое количестворабота- и таким образом, мощность, потребляемая процессором за это время, будет равнаполовина.
Таким образом, процессор будет работать при более низкой температуре, хотя для выполнения того же объема работы ему потребуется больше времени, поскольку теперь у него больше времени для рассеивания тепла в процессоре. Андерклокинг также позволяет работать процессору при более низком напряжении (андервольтинг), что еще больше снижает энергопотребление без влияния на работу.
решение2
Зависит от вашего процессора, но ограничение максимального значения процессора определенно может уменьшить количество выделяемого тепла. Во-первых, помните, что тепло определяется напряжением Vcore, а не частотой. Поэтому, если вы можете ограничить свой процессор до более низкого состояния P, это также ограничит напряжение vcore. Помните, что это касается только новых процессоров Intel (я предполагаю, что AMD — это что-то похожее), поэтому я думаю, что отсюда и возникла путаница. Я провел несколько тестов, чтобы доказать свою теорию.
- Сначала я прогнал свой I7 3930k @ 4.2Ghz через LinPack и сделал снимок экрана с напряжением ядра и температурами:
Как вы видите, после одного прохода linpack мой процессорный пакет нагрелся до 55C.
Теперь я ограничил до 75% и запустил еще один проход linpack:
Обратите внимание на разницу в vcore на 4,2 ГГц против 2,4 ГГц, 1,280 и .984. С точки зрения Vcore это ОГРОМНАЯ разница. Обратите внимание, как это отражается в выделяемом тепле: 55C против 40C.
Так что есть доля правды в том, что ограничение частоты снижает тепловыделение. Хотя ЦП на 3,8 ГГц с 1,28 Vcore и ЦП на 4,2 ГГц с 1,28 Vcore будут генерировать одинаковое количество тепла, поэтому это актуально только для ЦП, которые понижают напряжение и частоту.
решение3
Деннис сказал, что понижение частоты процессора с помощью cpufreq повлияет только на процент. Это означает, что рабочая нагрузка та же, но процент будет низким (на самом деле он высокий). Поскольку рабочая нагрузка выше, температура процессора будет выше.