Чи впливає на процесор швидкість обчислення на тепло, що генерується?


9

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


Розрахунок, зроблений з більшою швидкістю, займає коротший час.
Євген Ш.

4
У комп’ютері, який ідеально підходить в сенсі Ландауера , я думаю, що розрахунок виробляв би однакову кількість теплової енергії. Але в реальних комп'ютерах це, мабуть, буде відрізнятися. Тим більше, що кількість виробленого і ще не розсіяного тепла (тобто температура напівпровідника) буде впливати на його властивості, а отже і на тепло, яке він виробляє.
Вогнище

Звичайно, це буде, я розробив кілька проектів FPGA, і нам це було потрібно для низької потужності. Тому ми використовували тактову частоту 10 кГц замість джерела 1 МГц, оскільки нам не потрібно було стільки потужності для обробки.
lucas92

2
Динамічне споживання енергії пропорційно квадрату тактової частоти в синхронних ккт. Тож і спека повинна збільшуватися.
Mitu Raj

1
@MITURAJ, динамічне споживання електроенергії пропорційне тактовій частоті. Не квадрат тактової частоти. Пропорційний квадрату напруги.
Маккей

Відповіді:


14

Окрім тактової швидкості, майте на увазі, що у справжнього "великого" процесора (той, у якому є кеші, MMU, TLB, конвеєрне виконання, SIMD тощо), ще одним важливим фактором того, скільки тепла генерується, буде те, наскільки добре використовує потік інструкцій наявні ресурси процесора. Якщо ви запускаєте програму, яка займає пам'ять, більшість часу процесор буде просто голодувати за даними, нічого не роблячи, тому тепло, що виробляється, буде відносно низьким. Чисто обчислювальний код із щільними петлями нагрівав би більше. Ще більше тепло може бути вироблено за допомогою жорстко оптимізованого коду, який не має майже жодних непередбачуваних гілок, інтенсивно використовує блоки SIMD, оптимально використовує кеші тощо.

Існують програми, спеціально розроблені для роботи центрального процесора в цьому режимі - максимально підкреслюючи це, Prime95 є яскравим прикладом для ПК.

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

Інша річ, на яку слід звернути увагу, - це те, що зазвичай кожен процесор має таблицю з допустимими тактовими частотами та основними напругами, пов'язаними з кожною швидкістю. Нижній годинник також відповідає меншій напрузі, оскільки виробник визначив, що процесор буде стабільним при цій напрузі. Споживання енергії змінюється приблизно лінійно від тактової частоти, але квадратично від напруги.


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

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


4
  • На нижній робочій частоті потужність буде нижчою.

  • При однаковій напрузі ядра загальна енергія була б вищою при меншій тактовій частоті.

  • Але якщо напруга в ядрі регулюється вниз з частотою, то загальна енергія може бути меншою.

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


    Споживана потужність ЦП складається з двох частин.

1) Притягнення статичного струму (I_static). Для деяких особливостей напруги та температури подача цього струму є постійною незалежно від того, що робить процесор.

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

  • Притягування статичного струму зазвичай збільшується зі збільшенням напруги живлення.

  • Зниження статичного струму зазвичай збільшується в міру підвищення температури процесора.

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

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

  • Для заданої напруги живлення динамічний струм напруги зазвичай прямо пропорційний частоті.

  • Динамічний розряд струму збільшується зі збільшенням напруги живлення.

Причина така. Кожен транзистор MOSFET в процесорі має з ним певну ємність. Кожен раз, коли MOSFET перемикається; для зарядки / розряду цієї ємності потрібен заряд Q = C * V.

Динамічне виведення струму для кожного транзистора дорівнює I_динамічному = C * V * f.

Незалежно від того, на якій частоті виконуються інструкції, певний набір операцій на певному процесорі (припускаючи однакову поведінку з кеша і пам'яті) споживає певну кількість загального заряду (Q_програма) за рахунок динамічного виведення струму, незалежно від частоти що інструкції виконуються на.

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

Математично можна було написати ...

W = (I_dynamic + I_static) * V_поставка

E = W * час = Q_програма * V_поставка + I_статична * V_поставка * час

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

Отже, якщо (виходячи з ємностей процесорних транзисторів) Q_програма закріплена на конкретній напрузі живлення та наборі операцій, то як сучасні процесори економлять енергію, знижуючи тактову частоту? Відповідь полягає в тому, що більшість сучасних процесорів або включають в себе на борту (або в супутньому мікросхемі) регульований регулятор напруги в ядрі. Коли вони знижують тактову частоту, вони також можуть знижувати напругу основної напруги. Потім програма Q_program (і E_program) знижується пропорційно напрузі живлення.

Зауважте, що процесор не може використовувати нижню напругу на більш високих частотах, оскільки при менших напругах час комутації транзистора збільшується.

Напруга пропорційна як напрузі (у квадраті), так і напрузі. Отже, якщо напруга падає одночасно з частотою, то потужність падає з кубом частоти.


1

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


Ти їдеш на край правди, але я дозволю їй пройти. Рівень енергії для CMOS піднімається майже в лінійній лінії з частотою роботи, але вдвічі збільшує напругу та енергію вчетверо. Спритне рівняння I2R, не враховуючи швидкості.
Sparky256

ОП запитувала суто про тактову частоту, не згадуючи про знижену напругу.
TopCat

Вищевказана відповідь згадувала штраф за напругу в сердечнику. Я не мав на увазі, що вам потрібно відповісти на це питання. Я робив лише коментар - у полі для коментарів.
Sparky256

Питання стосувалося ТЕПЛО (вимірюється в джоулях), а не потужності чи температури. Тепло - це форма енергії. За винятком невеликої кількості енергії, отриманої від вхідних джерел і доставленої до вихідних навантажень, вся енергія, яка споживається в пристрої, буде нагріватися і згодом буде розсіюватися. У логіці CMOS споживання енергії генерує тепло, коли стан машини змінюється - як правило, один раз за тактовий цикл у той момент часу, коли ворота знаходяться посередині між 0 і 1. Отже, ТЕПЛ для даної задачі повинен бути незалежним від тактової швидкості та повністю залежним. на кількість тактових циклів.
richard1941

1

В описаному вами сценарії енергія, необхідна для розрахунку, не залежить від тактової частоти. Але спека може бути терміном «каламутний». Скажімо, розрахунок займає 1 джоуль. Якщо ви зробите це за 1 секунду, це 1 джоуль / сек = 1 Вт. Але якщо це займе 2 секунди, це 1 джоуль / 2 сек = 0,5 джоуль / сек = 0,5 Вт.

Процесор, безумовно, досягне більш високої температури, якщо розрахунок буде зроблено швидше, тому що енергія вивільняється швидше. Я не думаю, що в мені є занадто багато сенсу сказати більше.

О, хіба що цифри, які я вам дав, не повинні бути реалістичними. Це просто концепція.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.