|
Re: Выбираем комп для ла2
https://msdn.microsoft.com/ru-ru/library/dd335944.aspx
Технология Hyper-Threading доступна на сравнительно новых процессорах Pentium 4, обычно с тактовой частотой от 2,4 ГГц, а также на всех процессорах Xeon от 2,2 ГГц.До появления Hyper-Threading процессор Pentium 4 мог исполнять лишь один поток инструкций одновременно. Процессор поддерживал единственный указатель команд (instruction pointer, IP), и вся многозадачность на однопроцессорных компьютерах базировалась на способности операционной системы распределять процессорное время между потоками. Hyper-Threading позволяет Pentium 4 выполнять два потока инструкций одновременно; процессор поддерживает два указателя команд и состояний машины (machine states) и незаметно для пользовательского кода переключается между ними.
Для выполнения машинной инструкции программы нужен один или более слотов исполнения (execution slots). Слот исполнения соответствует внутреннему ресурсу процессора, например блоку вычислений с плавающей точкой (floating point unit, FPU), и отражает способность процессора выполнить какую-либо операцию, скажем, вычисление значения с плавающей точкой.
Процессор Pentium 4 всегда знает, какие слоты исполнения доступны. Такая функциональность, как Out-Of-Order Execution (когда процессор пытается выполнять инструкции в порядке, отличном от того, в котором они появляются в потоке инструкций), повышает производительность, так как это позволяет обеспечить работой больше слотов исполнения, а не ждать, пока какой-то слот освободится. В результате того, что процессор получил свободу переключения между двумя потоками, можно задействовать еще больше слотов исполнения. Пока один поток инструкций ожидает доступа к блокированному участку оперативной памяти или занятому слоту исполнения, процессор может обрабатывать команды из второго потока инструкций.
В процессорах с поддержкой Hyper-Threading два потока инструкций выполняются одновременно. Точнее, процессор выполняет несколько команд из первого потока, потом несколько команд из второго и т. д. Переключение между ними определяется алгоритмом, который пытается оптимизировать нагрузку между слотами исполнения и свести к минимуму возможность простоев; этот алгоритм также стремится равномерно распределять ресурсы между потоками инструкций. Контекст выполнения (например значения регистров) хранится в потоке инструкций. В итоге один процессор с поддержкой Hyper-Threading эмулирует два физических процессора, каждый из которых на самом деле является логическим.
Hyper-Threading позволяет лучше использовать ресурсы процессора, а следовательно, увеличивает производительность. Обратная сторона вопроса заключается в том, что на самом деле ресурсы процессора разделяются и, когда оба потока инструкций запрашивают один и тот же общий ресурс, производительность может падать.
Помимо общих ресурсов вроде FPU, модуля арифметической логики (ALU), разделяется и пространство внутри кэша процессора (оно делится на кэши уровней 1 и 2, также называемые L1 и L2), где кэшируются недавно использовавшиеся области оперативной памяти. Совместное использование пространства кэша может и повышать, и снижать производительность, но об этом я расскажу позже.
В процессорах с поддержкой Hyper-Threading два потока инструкций выполняются одновременно. Точнее, процессор выполняет несколько команд из первого потока, потом несколько команд из второго и т. д.
Если второго потока инструкций нет, тогда все пространство кэша и другие ресурсы передаются первому потоку. Поскольку многопоточный режим выполнения инструкций приводит к некоторым издержкам, процессор использует его, только если инструкции запланированы к выполнению на обоих логических процессорах. Кроме того, компьютер с одним процессором, но с включенной поддержкой Hyper-Threading использует многопроцессорную версию ядра операционной системы, которое обеспечивает более качественную синхронизацию, но за счет небольшой потери производительности.
В идеальном случае каждый поток инструкций выполняется почти так же быстро, как и на процессоре, обрабатывающем только один поток. Но в действительности ситуация, в которой два потока инструкций могли бы выполняться без частого обращения к разделяемым ресурсам, наблюдается весьма редко. В результате каждый поток выполняется несколько медленнее, чем в идеале. Однако, если работа приложения разделяется на две части в соответствии с рекомендациями, Hyper-Threading может все равно повысить общую производительность этого приложения.
Добавлено через 18 секунд
На i3 прекрасно работает, что позволяет двухядерникам вполне на уровне держаться в игорях.
Rolling, turning, diving
Rolling, turning, diving, going in again
Run, live to fly, fly to live, do or die
Run, live to fly, fly to live. Aces high.
Последний раз редактировалось unomen_renamed_582259_11042021; 18.10.2016 в 11:40.
Причина: Добавлено сообщение
|