Нет, тактовые частоты просто так не работают. Исполнительные блоки в ядре работают с одинаковой скоростью независимо от того, от какого потока они работают, от имени или от того, включен или отключен HT на физическом ядре.
получить половину скорости процессора для одного потока, если HT включен?
Например, если у меня будет одно ядро с частотой 2,6 ГГц, это будет означать, что при гиперпоточности у меня будет только 1,3 ГГц для одного потока, который есть в моем приложении, или он используется по требованию, только если я буду его использовать (допустим, мое приложение - единственное, что работает на компе ... ради дела ни ос не бегает)
однопоточный одноядерный без HT: поток работает на 2,6 ГГц однопоточный одноядерный с HT: поток работает на 1,3 ГГц?
если это не половина скорости, при условии, что у меня работает только один поток, насколько он ухудшается при включенном HT? 10%? еще?
2 ответа на вопрос
Нет, это не значит. Каждая задача может выполняться в одном потоке на полной скорости ядра. Когда один из них блокируется (например, во время ожидания относительно медленного ввода-вывода из основной памяти), другой поток может работать на полной скорости ядра.
Обратите внимание, что при использовании двухъядерной установки с одним ядром вы можете одновременно использовать только некоторые ресурсы в одном потоке. Например, если вам нужно запустить два потока и оба должны прочитать данные из основной памяти, то это может сделать только один поток. Другим придется подождать. Если у вас есть два потока, и один из них выполняет что-то исключительно на кристалле (например, используя ALU), в то время как другой читает из основной памяти, то оба могут работать одновременно.
Думайте об этом как о наличии магазина с двумя сотрудниками, но только с одним кассовым аппаратом. Если оба должны получить доступ к кассовому аппарату, тогда придется ждать (ничего не делать). Или, если повезет, только один должен получить доступ к кассовому аппарату, а другой занят разговором со следующим клиентом, пока первый человек управляет регистром. (Таким образом, делая две вещи одновременно).
если это не половина скорости, при условии, что у меня работает только один поток, насколько он ухудшается при включенном HT? 10%? еще?
Это зависит от программы. Наихудший живой случай, который я слышал, - это общее замедление на 30% * 2 (как на самом деле медленнее при включенном HT). Лучший теоретический случай - это почти 100% прирост. На практике, кажется, в среднем около 30% выигрыша в скорости по сравнению с без HT.
* 2 : 30% замедление было в реальном производственном коде веб-паука. Но худшие вещи возможны. Например, база данных допускает только два потока в двухъядерном, четырехпотоковом процессоре и планировщике, который постоянно планирует оба потока в одном и том же физическом ядре.
10-09-2014: добавлены две ссылки с соответствующей информацией:
Википедия: Гиперпоточность
Википедия: Одновременная многопоточность
Похожие вопросы
-
8
Должен ли я выбрать 32 или 64 бит для Linux?
-
12
Процессорные ядра: чем больше, тем лучше?
-
5
Почему мой компьютер начинает загружаться, а затем внезапно выключается?
-
-
2
Максимальная температура процессора для Core 2 Duo E6400
-
4
Насколько быстро каждое ядро в двухъядерном процессоре?
-
7
Могу ли я уменьшить скорость процессора моего MacBook при работе от батареи?
-
2
Предлагает ли Intel i7 реальное улучшение по сравнению со своими предшественниками?
-
4
Может ли 32-битная ОС работать на 64-битном процессоре?
-
3
Возможно ли использовать процессор Intel Q8400 в моем ASUS P5N-EM HDMI mobo?
-
3
Отпускает ли загрузка процессора / теплоотвода темп?