Технология intel hyper-threading

Отключение НТ

По аналогии со способами включения НТ существует два способа дезактивации данной функции. Один из них можно выполнить лишь только в процессе инициализации компьютерной системы. Это, в свою очередь, не совсем удобно на практике. Поэтому специалисты останавливают свой выбор на втором методе, который основывается на использовании компьютерной утилиты материнской платы. В первом случае выполняются такие манипуляции:

  1. При загрузке электронно-вычислительной машины заходим в базовую систему ввода — вывода (второе ее название BIOS) по ранее изложенной методике.
  2. Перемещаемся с применением клавиш управления курсором в пункт меню Advanced.
  3. Далее необходимо найти пункт меню Hyper-Threading (в некоторых моделях системных плат он может обозначаться как НТ). Напротив него с помощью кнопок PG DN и PG UP устанавливаем значение Disabled.
  4. Сохраняем снесенные изменения с помощью F10.
  5. Выходим из БИОСа и перезагружаем персональный компьютер.

Во втором случае при использовании диагностической утилиты системной платы нет необходимости перезагружать ПК. Это ключевое его преимущество. Алгоритм в этом случае идентичный. Разница состоит в том, что здесь используется предустановленная специальная утилита от производителя системной платы.

Ранее были описаны два основные способа того, как отключить Hyper-Threading. Хоть и более сложным номинально считается второй из них, но он более практичный по той причине, что не требует перезагрузки компьютера.

Как узнать сколько ядер в процессоре

Основные сведение о компьютере

Перейдите в Свойства компьютера нажав сочетание клавиш Win+Pause&Break. В открывшемся окне напрямую не указывается количество ядер процессора. На примере установленного процессора можно узнать количество ядер непосредственно с его названия (Eight-Core Processor — восьмиядерный процессор). Бывает в названии процессора указывается количество ядер, как Х4 или Х6, в зависимости от модели процессора.

Перейдите в раздел Параметры > Система > О системе. В обновлённом интерфейсе указываются все характеристики компьютера, которые можно увидеть ранее. Непосредственно с названия устройства определяем сколько ядер в установленном в компьютере процессоре.

Приложение сведения о системе

В обновлённом поиске введите Сведения о системе и выберите Запуск от имени администратора. В главном окне открывшего приложения найдите элемент Процессор и посмотрите его значение.

На примере AMD FX(tm)-9370 Eight-Core Processor можно увидеть количество ядер: 4, логических процессоров: 8, хотя в названии процессора указывается значение: 8 физических ядер. Можно предположить, что такие значения указываются из-за своеобразной архитектуры процессора. Но как не странно при правильной оптимизации игровых проектов такой мощности более чем достаточно.

Классический диспетчер задач

Перейдите в диспетчер задач нажав сочетание клавиш Ctrl+Shift+Esc. Классический диспетчер задач в актуальной версии операционной системы можно открыть и другими способами. В открывшемся окне перейдите в закладку Производительность и посмотрите сколько Ядер и Логических процессоров доступно на установленном процессоре.

Стандартная командная строка

В поисковой строке наберите Командная строка, и выберите пункт Запуск от имени администратора. В открывшемся окне выполните команду: WMIC CPU Get DeviceID,NumberOfCores,NumberOfLogicalProcessors.

После выполнения команды пользователю будут выведены значения NumberOfCores — количество ядер и NumberOfLogicalProcessors — количество логических процессоров. Возможно, на только выпущенных процессорах некоторые данные будут неправильно отображаться, но после обновления системы всё встанет на свои места.

Диспетчер устройств в системе

Откройте диспетчер устройств выполнив команду devmgmt.msc в окне Win+R. Теперь перейдите в Процессоры, и посмотрите сколько отображается пунктов (потоков процессора).

В диспетчере устройств можно узнать количество потоков процессора, в случае линейки AMD FX(tm)-9370 количество ядер равно количеству потоков исходя из официальных характеристик устройства (не будем углубляться в подробности построения самого процессора). Здесь отображаются все другие подключённые устройства. Например, можно также узнать, какая видеокарта или процессор стоит на компьютере.

Средство конфигурации системы

О приложении конфигурации системы мы более подробно вспоминали в инструкции: Как зайти в MSConfig Windows 10. Не рекомендуется вносить изменения в конфигурацию системы без ознакомления с описанием каждого параметра.

Выполните команду msconfig в окне Win+R. Перейдите в раздел Загрузка > Дополнительные параметры и после активации пункта Число процессоров можно в ниже представленном списке посмотреть сколько ядер процессора доступно пользователю.

Не применяйте изменения после выбора любого значения, поскольку текущий пункт был создан для ограничения производительности. Вместе со средствами операционной системы можно использовать стороннее ПО. Его использовали для просмотра характеристик компьютера на Windows 10. К самым известным классическим программам относят: CPU-Z, AIDA64 и EVEREST Ultimate Edition.

А также непосредственно современный BIOS материнской платы позволяет ограничить производительность процессора, а значит и можно узнать сколько ядер в установленном процессоре. Для более надёжного и подробного ознакомления с характеристиками процессора рекомендуется посмотреть спецификации на сайте производителя.

Существует много способов узнать сколько ядер в процессоре на Windows 10. Стоит различать значения физических ядер и логических потоков. Поскольку сейчас на рынке есть множество процессоров с разными соотношениями ядрам к потокам. Интерес пользователей сейчас притянут к процессорам с увеличенному количеству потоков в два раза.

Источник

Заявления о производительности

По данным Intel, первая реализация гиперпоточности использовала всего на 5% больше. площадь умереть чем сопоставимый процессор без Hyper-Threading, но производительность была на 15–30% лучше. Intel заявляет об улучшении производительности до 30% по сравнению с идентичным Pentium 4 с неодновременной многопоточностью. Оборудование Тома утверждает: «В некоторых случаях P4, работающий на частоте 3,0 ГГц с включенным HT, может даже превзойти P4, работающий на частоте 3,6 ГГц с отключенным HT». Intel также заявляет о значительном улучшении производительности процессора Pentium 4 с поддержкой гиперпоточности в некоторых алгоритмах искусственного интеллекта.

В целом история производительности гиперпоточности вначале была неоднозначной. Как отмечается в одном из комментариев к высокопроизводительным вычислениям от ноября 2002 года:

В результате улучшения производительности очень зависят от приложения; однако при запуске двух программ, требующих полного внимания процессора, может показаться, что одна или обе программы немного замедляются при включении технологии Hyper-Threading. Это связано с система воспроизведения Pentium 4 связывает ценные ресурсы выполнения, выравнивая ресурсы процессора между двумя программами, что добавляет различное количество времени выполнения. Процессоры Pentium 4 «Prescott» и Xeon «Nocona» получили очередь воспроизведения, которая сокращает время выполнения, необходимое для системы воспроизведения, и полностью преодолевает снижение производительности.

Согласно анализу Intel, проведенному за ноябрь 2009 г., влияние гиперпоточности на производительность приводит к увеличению общей задержки в случае, если выполнение потоков не приводит к значительному увеличению общей пропускной способности, которое варьируется по приложению. Другими словами, общая задержка обработки значительно увеличивается из-за гиперпоточности, при этом негативные эффекты становятся меньше, поскольку существует больше одновременных потоков, которые могут эффективно использовать дополнительное использование аппаратных ресурсов, обеспечиваемое гиперпоточностью. Аналогичный анализ производительности доступен для эффектов гиперпоточности при использовании для обработки задач, связанных с управлением сетевым трафиком, например для обработки запросы на прерывание создано контроллеры сетевого интерфейса (Сетевые карты). В другом документе не говорится об улучшении производительности при использовании гиперпоточности для обработки прерываний.

В каких случаях эту технологию наиболее оптимально использовать?

В некоторых случаях, как было отмечено ранее, НТ увеличивает быстродействие, с которым обрабатывает программный код процессор. Hyper-Threading может эффективно работать только с распаленным софтом. Типичными его примерами являются кодировщики видео и аудиоконтента, профессиональные графические пакеты и архиваторы. Также наличие такой технологии позволяет существенно улучшить быстродействие серверной системы. А вот при однопоточной реализации программного кода нивелируется наличие Hyper-Threading, то есть получается обычный процессор, который решает на одном ядре одну задачу.

Что представляет собой технология?

Чтобы понять Intel Hyper Threading, рекомендуется изучить определение, представленное самими разработчиками. По их утверждению, опция помогает обеспечить эффективное использование ресурсов мозгового центра электронного устройства за счет выполнения на одном ядре сразу нескольких потоков. Быстродействие многопоточных приложений улучшается, тем самым увеличивая пропускную характеристику процессора.

Если перевести название технологии с английского языка, то перевод будет звучать как «гиперточность». Разработчики компании Intel решили внедрить HT после того, как установили, что ядерники используют во время работы не больше 70% мощности. Благодаря разработке не будет наблюдаться простых вычислительных блоков, они будут нагружаться работой с другим потоком. С ее помощью производительность ядра можно увеличить с 10 до 80%.

Попробуем разобрать на конкретном примере, как работают процессоры Hyper Threading. Мозговой центр может совершать несложные вычисления, при этом будут простаивать некоторые расширения. Модуль это сразу обнаружит и отправит туда данные для нового вычисления. Блоки не всегда быстро способны обрабатывать полученные данные, но уже не будут простаивать без дела. Виртуальный поток нельзя сравнивать с полноценным ядром, но вычислительную мощность допустимо увеличить до 100%. Для реализации IHT Technology достаточно всего 5% свободного места на кристалле, при том, что мощность возрастет не меньше чем на 50%.

Основные компоненты со стороны программного обеспечения

Нужно отметить, что даже в случае полноценной поддержки НТ со стороны аппаратных ресурсов не всегда она будет успешно работать на уровне программного обеспечения. Для начала операционная система должна уметь работать одновременно с несколькими вычислительными ядрами. В устаревших на сегодняшний день версиях системного софта MS-DOS или Windows 98 такой возможности нет. А вот в случае Windows 10 каких-либо проблем не возникает, и эта операционная система уже изначально заточена под такие аппаратные ресурсы персонального компьютера.

Теперь разберемся с тем, как включить Hyper-Threading в Windows. Для этого на компьютере должно быть установлено все необходимое управляющее прикладное программное обеспечение. Как правило, это специальная утилита с компакт-диска системной платы. В ней есть специальная вкладка, на которой можно в режиме реального времени изменить значения в БИОСе. Это, в свою очередь, приводит к тому, что уже в нем опция Hyper-Threading переходит в положение Enabled, а также активируются дополнительные логические потоки, причем даже без перезагрузки операционной системы.

Способы увеличения производительности процессоров

Разгон

При увеличении частоты ядра повышается количество исполняемых операций за секунду. Казалось бы, с возрастанием производительности процессора проблемы должны исчезнуть. Но все не так просто, как хотелось бы думать. Прирост от увеличения частоты ЦП нелинейный. Множество процессов все еще делят одно ядро между собой и обращаются к памяти. Кроме того, не решается проблема с кэш-промахами и прерываниями операций, поскольку объем кэша от разгона не изменяется. Разгон — не самый лучший способ решения проблемы нехватки потоков. В пример можно привести всю ту же сборочную линию: рабочий увеличивает темп работы, но по-прежнему не умеет собирать два и более заказа одновременно.

Увеличение количества потоков на ядро

В процессорах Intel данная технология носит название Hyper-Threading, а в процессорах от Amd — SMT. Производители добавляют еще один регистр для работы со вторым конвейером. Пока один поток простаивает, ожидая нужные данные, свободная вычислительная мощность может быть использована вторым потоком. На кристалл же добавлен еще один контроллер прерываний и набор регистров.

Появляется возможность избавиться от последствий прерывания операций и сокращения времени простоя процессорной мощности. Благодаря чему ядро с двумя потоками выполняет больше работы за одинаковый отрезок времени, нежели в случае с однопотоком. На примере с рабочим: у конвейера появляется вторая сборочная линия, на которую выкладываются заказы. Пока производство на первой ленте простаивает в ожидании нужных инструментов, рабочий приступает к работе на второй ленте, сокращая время перерыва.

Увеличение количества ядер

Это самый действенный способ решения проблемы, поскольку каждый конвейер теперь располагает своим FPU, ALU и кэшем, который не придется делить с другим потоком. Разные процессы используют разные ядра, из-за чего реже происходят кэш-промахи и конфликты приоритетных задач. Способ, разумеется, несет в себе некоторые издержки для производителей: дороговизна разработки и производства, увеличение тепловыделения и размера кристалла, и, как результат, повышается итоговая стоимость процессора.

Обзор

Модель процессора Intel Pentium 4 с тактовой частотой 3 ГГц, в которой реализована технология Hyper-Threading.

Технология Hyper-Threading — это форма технологии одновременной многопоточности, представленная Intel, а концепция, лежащая в основе этой технологии, запатентована Sun Microsystems . Архитектурно процессор с технологией Hyper-Threading состоит из двух логических процессоров на ядро, каждое из которых имеет собственное архитектурное состояние процессора. Каждый логический процессор может быть индивидуально остановлен, прерван или направлен на выполнение указанного потока независимо от другого логического процессора, использующего то же физическое ядро.

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

Гиперпоточность работает путем дублирования определенных секций процессора — тех, которые хранят архитектурное состояние — но не дублирует основные ресурсы выполнения . Это позволяет гиперпоточному процессору выглядеть как обычный «физический» процессор и дополнительный « логический » процессор для операционной системы хоста (операционные системы, не поддерживающие HTT, видят два «физических» процессора), позволяя операционной системе планировать два потока. или обрабатывает одновременно и надлежащим образом. Когда ресурсы выполнения не будут использоваться текущей задачей в процессоре без гиперпоточности, и особенно когда процессор остановлен, процессор, оснащенный гиперпоточностью, может использовать эти ресурсы исполнения для выполнения другой запланированной задачи. (Процессор может остановиться из-за , неправильного предсказания ветвления или зависимости данных .)

Эта технология прозрачна для операционных систем и программ. Минимум, который требуется для использования преимуществ гиперпоточности, — это поддержка симметричной многопроцессорной обработки (SMP) в операционной системе, поскольку логические процессоры выглядят как стандартные отдельные процессоры.

Можно оптимизировать поведение операционной системы в многопроцессорных системах с поддержкой гиперпоточности. Например, рассмотрим систему SMP с двумя физическими процессорами, которые являются гиперпоточными (всего четыре логических процессора). Если планировщик потоков операционной системы не знает о гиперпоточности, он будет обрабатывать все четыре логических процессора одинаково. Если только два потока могут выполняться, он может запланировать эти потоки на двух логических процессорах, которые принадлежат одному и тому же физическому процессору; этот процессор будет чрезвычайно загружен, в то время как другой будет бездействовать, что приведет к снижению производительности, чем это возможно при планировании потоков на разных физических процессорах. Этой проблемы можно избежать, улучшив планировщик, чтобы обрабатывать логические процессоры иначе, чем физические процессоры; в некотором смысле это ограниченная форма изменений планировщика, необходимых для систем NUMA .

Простой ответ

Надеюсь, приведенное выше объяснение было достаточно ясным, но давайте разберем его суть дела:

  • Если вы делаете профессиональную, многопоточную работу, Hyperthreading имеет значение.
  • Если вы обычный пользователь, не беспокойтесь об этом.
  • Если вы геймер, расставьте приоритеты, чтобы в следующей сборке было больше ядер, чем по HT, но дополнительно получите HT, если цена приемлимая.

Гиперпоточность — это отличная технология, но она не представляет необходимости для всех. Теперь вы должны знать, является ли этот «кто-то» вами или нет!

Hyper threading — что это — зачем это и как включить данную фишку

Здравствуйте любители компов и железа.

Хотели бы вы в своем компьютере иметь высокопроизводительный процессор, молниеносно выполняющий много задач одновременно? Кто бы отказался, верно? Тогда предлагаю вам познакомиться с технологией hyper threading: что это и как действует, вы узнаете из данной статьи.

Объяснение понятия

Hyper-threading переводится с английского как «гиперточность». Такое громкое название технология получила не просто так. Ведь оснащенный ею один физический процессор операционная система принимает за два логических ядра. Следовательно, обрабатывается больше команд, а производительность при этом не падает.

Как такое возможно? Благодаря тому, что процессор:

  • Сохраняет информацию сразу о нескольких выполняемых потоках;
  • На каждый логический проц приходится по одному набору регистров — блоков быстрой внутренней памяти, а также по одному блоку прерываний. Последний отвечает за последовательное выполнение запросов от разных устройств.

Как это выглядит на деле? Допустим, сейчас физический процессор обрабатывает команды первого логического проца. Но в последнем произошел какой-то сбой, и ему, к примеру, нужно подождать данные из памяти. Физический CPU не будет терять время зря и сразу переключится на второй логический процессор.

О повышении производительности

КПД физического проца, как правило, составляет не более 70 %. Почему? Часто некоторые блоки просто не нужны для осуществления той или иной задачи. К примеру, когда CPU выполняет банальные вычислительные действия, блок инструкций и SIMD расширения не задействованы. Бывает, что происходит сбой в модуле предсказания переходов или при обращении к кэшу.

В подобных ситуациях Hyper-threading заполняет «пробелы» другими задачами. Таким образом, эффективность технологии заключается в том, что полезная работа не простаивает и отдается бездействующим устройствам.

Появление и реализация

Можно считать, что Hyper-threading уже отметила 15-летний юбилей. Ведь она разработана на базе технологии суперпоточности (англ. super-threading), которая выпущена в 2002 году и впервые начала работу в продуктах Xeon, затем в том же году была интегрирована в Pentium 4. Авторское право на эти технологии принадлежит компании Intel.

HT реализована в процессорах, работающих на микроархитектуре NetBurst, которая отличается высокими тактовыми частотами. Поддержка технологии внедрена в модели семейств Core vPro, M и Xeon. Однако в сериях Core 2 («Duo», «Quad») не интегрирована. Схожая по принципу действия технология реализована в процах Atom и Itanium.

Как включить ее? У вас должен быть не только один из вышеперечисленных процессоров, но также поддерживающая технологию операционная система и биос, в котором есть опция включения и выключения HT. Если ее нет, обновите BIOS.

Плюсы и минусы Hyper-threading

О некоторых преимуществах технологии вы уже могли сделать вывод из вышеизложенной информации. Добавлю к ним еще пару слов:

  • Стабильное действие нескольких программ параллельно;
  • Уменьшенное время отклика в процессе интернет-серфинга или работы с приложениями.

Как вы понимаете, не обошлось и без ложки дегтя. Прироста производительности может не быть по таким причинам:

  • Зависимость данных. Допустим, первый поток незамедлительно требует информацию со второго, но она еще не готова или стоит в очередь в другой поток. Также бывает, что циклическим данным нужны определенные блоки для быстрого выполнения задачи, но они уже заняты другой работой.
  • Перегрузка ядра. Случается, что ядро может быть уже чрезмерно нагружено, но, несмотря на это, модуль предсказания все равно посылает ему данные, вследствие чего компьютер начинает тормозить.

Где нужна Hyper-threading?

Технология будет полезна при использовании ресурсоемких программ: аудио-, видео- и фоторедакторов, игр, архиваторов. К ним можно отнести Photoshop, Maya, 3D’s Max, Corel Draw, WinRar и пр.

Важно, чтобы ПО было оптимизировано для работы с Hyper-threading. В противном случае могут возникать задержки

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

Ждем вас в гостях моего блога.

Удачи друзья.

Резюме

Мы теперь имеем неплохое представление о том, как 4- и 6-ядерные процессоры Intel работают с включенной Hyper-Threading по сравнению с отключенной. Если кратко, то производительность приложений при выполнении основных ресурсоемких операций обычно снижалась от 25 до 35%.

Влияние на производительность в играх может существенно различаться в зависимости от самой игры и других факторов, таких как разрешение, настройки графики и, конечно, установленная видеокарта. В тестируемых нами играх, 6-ядерный процессор Intel демонстрирует в основном минимальное влияние на свою производительность, хотя минимальный 1% FPS иногда заметно страдает, и при игре с высокой частотой обновления падение производительности будет весьма ощутимым.

Владельцы процессоров с топологией 8/16, таких как 9900K, практически не заметят никакого влияния Hyper-Threading во время игр, но падение производительности приложений по-прежнему будет сильным – на 25-35% без SMT. С другой стороны, наиболее существенное снижение производительности испытают на себе менее мощные процессоры, которые в гораздо большей степени полагаются на Hyper-Threading. Даже наш четырехъядерный 7700K зачастую демонстрировал значительную потерю производительности в игровых тестах, и это означает, что для владельцев двухъядерных процессоров с поддержкой SMT отключение Hyper-Threading будет еще более болезненным.

На данный момент трудно с уверенностью сказать, какое влияние на производительность окажут программные средства для смягчения риска от четырёх уязвимостей MDS на компьютерах под управлением Windows, но мы можем ожидать, что будут определенные потери, особенно там, где Hyper-Threading оказывает наибольшее влияние. Phoronix протестировал эти программные средства в Linux, и показатели потери производительности варьируются от незначительных до огромных. Кроме того, Phoronix обнаружил, что системы Intel теперь на ~16% медленнее, чем раньше, до установки программного смягчения воздействий Spectre, Meltdown, Foreshadow и Zombieload. В то время как системы AMD показали снижение производительности всего на 3%. Они также утверждают, что таких мер по уменьшению риска достаточно, чтобы приблизить Core i7-8700K к Ryzen 7 2700X и Core i9-7980XE к Threadripper 2990WX.

Если Intel не вытащит кролика из шляпы и не предоставит действительно эффективных программных решений, таких, чтобы можно было бы не отключать Hyper-Threading, то владельцев двух- и четырехъядерных процессоров Intel с поддержкой Hyper-Threading могут ожидать неутешительные последствия. В списке таких процессоров: Core i3 и Core i5 – от Clarkdale до Kaby Lake; все Core i7 вплоть до Kaby Lake; а также процессоры Kaby Lake и Coffee Lake семейства Pentium.

Тем, кто довольствуется более старым оборудованием и не выполняет никаких критически важных задач, до момента явного обнаружения атаки на MDS-эксплойтах, лучшим вариантом сохранить производительность будет, вероятно, отказ от установки обновлений против таких атак. Это не является нашей официальной рекомендацией, а лишь интересная мысль по поводу того, какими могут быть альтернативные пути решения проблемы после выпуска соответствующих обновлений.

В этой статье мы провели интересное исследование того, где функция Hyper-Threading оказывает наибольшее влияние. В ней мы отразили последствия наихудшего сценария, когда SMT приходится полностью исключить, но в свою очередь мы наблюдаем и некоторые движения в направлении не допустить такого сценария. Google отключил Hyper-Threading в Chrome OS, сообщество OpenBSD рекомендует сделать то же самое, в то время как Apple частично пропатчила системы средствами снижения риска проникновения эксплойтов и сообщила, что для полного устранения риска от уязвимостей необходимо отключить Hyper-Threading. Другие производители, такие как Microsoft, еще не заняли определенную позицию.

Что такое потоки процессора?

Во многих процессорах топового уровня есть потоки, как и ядра. Я постараюсь объяснить в чем отличие потока от ядра, и в чем преимущество этих потоков. Потоки появились достаточно давно, а именно еще во времена правления Pentium 4 (до них она был в Ксеонах как суперпоточность).

В то время потоки еще носили сомнительную пользу, некоторые пользователи считали что они только ухудшают производительность.

Но на самом деле, производительность не падала, просто на то время программ, которые могли грамотно работать с двумя потоками — вообще не было. Поэтому, потоки это скорее всего была экспериментальная технология в то время, кстати почти все Pentium D также не имели ее за исключением топовых моделе D955, D965 (это двухядерники с четырьмя потоками).

Теперь немного разберемся с тем, что это вообще такое. Технология потоков называется Hyper-threading

и отображается сокращенно:HT (как правило указывается на коробках сбоку). На одно ядро допустим один поток. Если вы задавались иногда вопросом «как увеличить количество потоков процессора», то я вас разочарую — это невозможно, и даже не думайте об этом, это глупости =).

Hyper-threading позволяет хранить состояние сразу двух потоков, поэтому в из под Windows такие потоки выглядят как ядра. То есть, если у вас имеет процессор 2 ядра, то это 4 потока. Соответственно я имею ввиду процессор, который поддерживает гипертрейдинг.

Как работает Hyper-threading? Чтобы вы понимали, то процессор выполняет не только ваши задачи, но и другие, и в том числе служебные. Так вот, обрабатывая данные, поток потом их отправляет, или ждет новых данных из оперативной памяти. В это время, пока он ждет, он может помогать другому потоку. То есть гипертрейдинг призван увеличить производительность процессора, уменьшая время бездействия.

То есть, можно сделать вывод, что количество потоков всегда равно количеству ядер умноженное на два. Никак иначе. Эту технологию разработала Intel, соответственно в AMD-процессорах ее нет, но есть мнение, что у них есть подобная технология, именно поэтому многие считают что в восьми-ядерных процессорах AMD восемь не ядре, а потоков.

В любом случае, эта технология полезна, хоть это и виртуальные ядра — лучше с HT, чем без нее.

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

Теперь вас наверно заинтересует — как узнать количество потоков процессора? Это очень просто. Вам нужно открыть диспетчер задач (по панели задач нажмите правой кнопкой), и перейти на вкладку производительность. Там будет поле ядра, а под ним — количество потоков, вам нужно последнее:

Как видите, число потоков равно числу ядер, потому что мой Pentium G3220 к сожалению не поддерживает технологию HT.

Современные процессоры Intel Core i3, i7 ее поддерживают, а вот i5 — нет (вроде бы только в ноутбуках есть i5 с двумя ядрами и HT, и некоторые процессоры на 1156 сокет, там тоже два ядра и HT). Думаю что маркетинговый ход, чтобы было равно-мерное увеличение производительности моделей серии i.

Если вы думаете, какой процессор лучше — с потоками или нет, то конечно с ними. Иногда (не буду углубляться) цена с поддержкой HT и без невелика, поэтому стоит доплатить и взять тот, что поддерживает HT. Это я так, в общих чертах вам на будущее.

Рубрика: Процессор / Метки: потоки процессора / 28 Сентябрь 2015 / ПодробнееВернуться на главную!

Коротко о технологии

Понимать такую технологию довольно важно, так как она является одной из основных функций в процессах работы центральных процессоров управления Intеl. Невзирая на успехи, которые были достигнуты для процессоров, у них есть один ощутимый минус – они могут выполнят одновременно лишь одну инструкцию

К примеру, вы запустили такие приложения, как браузер, текстовый редактор, а еще Зум. С точки зрения пользователя, такое программное окружение называют многозадачным, но с точки зрения процессора это совсем не так. Процессорное ядро будет выполнять все так же одну инструкцию за определенный временной промежуток. При этом в задачу центрального процессора управления входит ресурсное распределение времени процессора между отдельными видами программного обеспечения. Так как это последовательное выполнение инструкций выполняется слишком быстро, вы этого не заметите и кажется, словно нет никакой задержки.

Но все же задержка есть. Виртуальные ядра процессора Intеl работают так, что задержка появляется из-за метода снабжения процессора информацией из каждой программы. Каждый из потоков данных должен поступать в определенное время и обрабатываться внутри процессора индивидуально. Такая технология, как Нуреr Thrеаding, дает возможность каждому процессорному ядру планировать обработку данных, а также распределять ресурсы сразу на 2 потока. Стоит также отметить и тот факт, что в ядре современного процессора есть сразу несколько особых исполнительных устройств, причем каждое из них предназначено для того, чтобы выполнять определенные операции над данными. Кроме того, определенная часть исполнительных устройств при обработке данных потока будет попросту простаивать.

Это происходит из-за того, что операционная система Windows считает, будто у каждого ядра есть по 2 логических процессора. Такой термин, как «логический процессор» звучит странно, но в реальности он означает тот центральный процессор управления, которого физически не существует. Операционная система может посылать потоки данных на каждый логический процессор, но в реальности все работу проводит лишь 1 ядро, а потому такое ядро с технологией Нуреr Thrеаding сильно отличается от физических раздельных ядер. Для нормального функционирования технологии требуется ее поддержка со стороны таких программных и аппаратных средств, как чипсет материнской платы, процессор, Биос и операционная система.

Эксплуатация технологии Hyper Threading

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

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

В конечном итоге технологии Hyper Threading (Intel) и SMT можно сравнить с сотрудником (физическим ядром), который собирает ручки из двух частей (потоков приложения).

Из-за того, что одна производственная линия (логическое ядро) не может доставить оба элемента в нужное время, сотруднику приходится некоторое время ждать и, таким способом, он теряет драгоценное время.

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

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

Выступления

Преимущества гиперпоточности следующие:

  • улучшенная поддержка многопоточного кода  ;
  • управление несколькими потоками одновременно;
  • лучшее время реакции, лучшее время отклика  ;
  • в случае компьютерного сервера возможно увеличение числа пользователей.

Согласно Intel, первая реализация использовала только на 5% больше поверхности физического носителя по сравнению с обычным процессором. Такой подход обеспечивает прирост производительности от 15 до 30% в зависимости от приложений. Intel утверждает, что этот прирост составляет до 30% по сравнению с Pentium 4 без этой технологии.

Однако производительность значительно зависит от приложения. В некоторых (нечастых) случаях выполнение идет еще медленнее, если включена гиперпоточность . Эта потеря вызвана присутствующей в Pentium 4 системой воспроизведения  (in), которая ожидает некоторых инструкций, которые не соответствуют условиям, необходимым для их реализации. Это предотвращает выполнение гиперпоточностью других задач.

На производительность также могут влиять эффекты, связанные с кешем . Например, с помощью процессора , содержащего 512  кб кэш — памяти и процессов , работающих на 400  кб данных, два случая можно выделить следующие :

  • два процесса работают индивидуально, процессор может кэшировать данные;
  • когда оба процесса работают одновременно, им требуется  800 КБ кеш-памяти, сбои в кеш-памяти будут частыми.

Сбои кеширования серьезно снижают производительность современных систем, и это может существенно повлиять на выигрыш, достигаемый с помощью гиперпоточности .

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Zoom-Obi
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: