42

Sep 29, 2014 05:26

Тут должен был быть пост про Украину, но вечером завалились Миша с Женей, уничтожили остатки моего бара, и вместо стандартных разговоров про Маркса мы почему-то весь вечер говорили о том, о чем я вас и хочу спросить:

"можно ли бесконечным циклом нагреть процессор?"

2014, алкопост, computer science

Leave a comment

Comments 12

ext_707972 September 29 2014, 07:18:56 UTC
У меня монитор от этого умер!

Reply

conwor September 29 2014, 10:11:59 UTC
Это все потому что ты некошерное порно смотрел.

Reply

ext_707972 September 29 2014, 11:53:51 UTC
Посоветуй моник, кстати. Я сейчас сижу, выбираю.

Reply

conwor September 29 2014, 13:00:59 UTC
Не шарю :)

Reply


fenster September 29 2014, 11:57:02 UTC
так-то можно нагреть, а что, это вызывает какие-то проблемы и непонимание?

Reply

conwor September 29 2014, 13:00:28 UTC
Параметры эксперимента. Например, на одноядерной машине, под Windows 95, запуском программы на C:

void main() { while (1); }

Я считаю, что такой эксперимент нифига не нагреет.

Reply

fenster September 29 2014, 13:09:40 UTC
Да лаааадно. Нагреет только в путь. CPU usage 100% независимо от операционной системы.

Вопрос только в мощности процессора, т.е. в том, на сколько именно градусов нагреет. Но если там какой-нибудь Pentium 4, то всё будет как надо.

Reply

conwor October 1 2014, 05:35:03 UTC
Я там ниже Академовцу ответил, что имел ввиду.

Reply


зачем бесконечный цикл? akademovetz October 1 2014, 04:49:44 UTC
Я конечным циклом доводил свой ноут до такой температуры, что можно было ланч на нём разогреть. :D Пришлось бедняжке постоять несколько часов в холодильнике, пока не закончил трудиться. Может быть это было единственное, что спасло его от фатального перегрева.

Reply

Re: зачем бесконечный цикл? conwor October 1 2014, 05:34:44 UTC
Мой аргумент в ночном споре был в том, что в цикле ожидания программы, который реализуется OS, нагружаются те же компоненты процессора, которые участвуют в пустом бесконечном цикле, поэтому его исполнение ничего не изменит.

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

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

Reply

fenster October 1 2014, 16:10:31 UTC
Ты ошибаешься, да. То, о чём ты говоришь, называется busy loop и используется в ОС в отдельно взятых местах (например, спинлоки). Если комп простаивает, то процессор простаивает (idle) большую часть времени.

А нагревается он не только от арифметики с плавающей точки, а от любого использования. Элементарный for ( ; ; ) ; нагреет ничуть не хуже, чем вычисление каких-нибудь косинусов. Абсолютно любой ноут, если ему загрузить ядра такими циклами (а иногда достаточно и одного цикла на одном ядре), через несколько секунд заведёт вентилятор на максимальные обороты - эксперимент оставим в качестве домашнего задания :)

Reply


Leave a comment

Up