Re: Как возможна загрузка CPU под 100%?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 09.10.19 10:16
Оценка: 1 (1) +4
Здравствуйте, Sharov, Вы писали:

S>Внезапно обнаружил, что не очень понимаю, как возможна загрузка cpu(всех ядер) под 100%.

S>Судите сами, состоянии когда конвейер пуст и процессор вообще ничего не делает невозможно. Т.е. проц. постоянно что-то делает, переключается между процессами и тд.

Нет.
Процессор может просто быть остановлен и ожидать прерывания. Даже если никто другой (внешнее устройство, другое ядро и т.д., его не дёрнуло) — когда таймер скажет "просыпайся и перепроверь", он пойдёт работать снова.
Конкретные реализации этого разные — на x86 может быть HLT при разрешённых прерываниях, может быть MWAIT, может быть нужно ещё отдать команду северному мосту притормозить... — но оно всегда есть.

А 100% это когда он никогда не впадает в такой останов, потому что при проверке "а есть ли задачи, которые хотят процессора?" очередь таких задач непуста.
The God is real, unless declared integer.
Отредактировано 09.10.2019 10:27 netch80 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.