Нажмите "Enter", чтобы перейти к содержанию

Технология hyper threading что это: Терминология — Hyper-Threading — AlterBit.ru

Терминология — Hyper-Threading — AlterBit.ru

HTT или Hyper-Threading Technology (в переводе с англ., «гиперпоточность») — бренд, созданный компанией Intel специально под разработанную ею же реализацию новой технологии. Речь идет о технологии «одновременной мультипоточности» (Simultaneous multithreading), внедренной в процессоры, построенные на микроархитектуре NetBurst. Это усиленная форма суперпоточности (Super-threading), которая впервые была внедрена в процессоры линейки Intel Xeon, позднее она же была добавлена в процессоры Pentium 4.

Данная технология способна усиливать показатель производительности процессора в определенном диапазоне рабочих нагрузок. Это достигается за счет предоставления исполнительным устройствам «полезной работы». В противном случае, данные устройства начинают бездействовать и производительность падает. 

Любопытно, что процессоры серии Pentium 4, обладающие одним физическим ядром, при активированной технологии Hyper-threading, определяются как два разных процессора.

Процессоры Core 2 Duo не имеют поддержку технологии Hyper-threading. Однако процессоры серии Core i3, Core i5 и Core i7 вновь получили эту технологию. Более того, у них каждое физическое ядро определяется операционной системой как два логических. Также, Hyper-threading внедрена и в некоторые процессоры линейки Atom.

Технология

В процессорах, применяющих данную технологию, каждый физический процессор может иметь состояние сразу двух потоков. Операционная система идентифицирует их как два логических процессора. В физическом смысле, каждый из логических процессоров имеет персональный набор регистров, а также оснащен своим контроллером прерываний (APIC). Остальные элементы процессора являются общими. Если в ходе исполнения потока возникает пауза, управление передается потоку, находящемуся в другом логическом процессоре. Так, пока один процесс ждет, ресурсы физического процессора направляются на обработку другого процесса.

Производительность

Преимущества Hyper-threading: 

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

По данным компании Intel, первая реализация привела к 5%-ному увеличению площади кристалла процессора, при этом позволив увеличить производительность до 30%. Компания уверена, что прибавка к скорости существенна, в сравнении с идентичными процессорами Pentium 4, в которых нет технологии «Simultaneous multithreading». Впрочем, эта прибавка непостоянна и свойственна меняться от приложения к приложению. Это происходит из-за «системы повторения» процессоров Pentium 4. Она расходует вычислительные ресурсы, что приводит к бездействию других потоков.

Hyper Threading или сверехпоточность для процессора

Если вы внимательно просматривали содержимое BIOS Setup, то вы вполне могли заметить там опцию  CPU Hyper Threading Technology. И возможно, задавались вопросом, что же такое Hyper Threading(Сверехпоточность или гиперпоточность, официальное название — Hyper Threading Technology, HTT), и для чего нужна данная опция.

Hyper Threading – это сравнительно новая технология, разработанная компанией Intel для процессоров архитектуры Pentium. Как показала практика, использование технологии Hyper Threading позволило во многих случаях увеличить производительность CPU приблизительно на 20-30%.

Содержание статьи

  • Зачем разработчикам процессоров потребовалась технология
  • История разработки
  • Суть технологии
  • Преимущества технологии
  • Заключение

Зачем разработчикам процессоров потребовалась технология

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

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

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

История разработки

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

Поддержка технологии Hyper Threading впервые появилась в процессорах в 2002 году. Это были процессоры семейства Pentium 4 и серверные процессоры Xeon с тактовой частотой выше 2 ГГц. Первоначально технология носила кодовое название Jackson, но потом ее название сменилось на более понятное для широкой публики Hyper Threading – что можно перевести примерно как «сверхпоточность».

При этом, по утверждению Intel, поверхность кристалла процессора, поддерживающего Hyper Threading, увеличилась по сравнению с предшествующей моделью, ее не поддерживающей, всего на 5% при увеличении производительности в среднем на 20%.

Несмотря на то, что технология в целом хорошо себя зарекомендовала, тем не менее,  по ряду причин корпорация Intel решила отключить технологию Hyper Threading в сменивших Pentium 4 процессорах семейства Core 2. Hyper Threading, однако, позже снова появилась в процессорах архитектур Sandy Bridge, Ivy Bridge и Haswell, будучи в них существенно переработанной.

Суть технологии

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

Несмотря на все успехи, которые были достигнуты процессорами, у них есть один существенный недостаток – они могут исполнять лишь одну инструкцию одновременно. Допустим, что вы запустили одновременно такие приложения, как текстовый редактор, браузер и Skype. С точки зрения пользователя, это программное окружение можно назвать многозадачным, однако, с точки зрения процессора это далеко не так. Ядро процессора будет выполнять по-прежнему одну инструкцию за определенный промежуток времени. При этом в задачу процессора входит распределение ресурсов процессорного времени между отдельными приложениями. Поскольку это последовательное выполнение инструкций происходит чрезвычайно быстро, вы этого не замечаете. И вам кажется, что никакой задержки не существует.

Но задержка все-таки есть. Задержка появляется из-за способа снабжения процессора  данными каждой из программ. Каждый поток данных должен поступать в определенное время и обрабатываться процессором индивидуально. Технология Hyper Threading делает возможным каждому ядру процессора планировать обработку данных и распределять ресурсы одновременно для двух потоков.

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

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

Стоит вам включить компьютер с двуядерным процессором, поддерживающим Hyper Threading и открыть Windows Task Manager (Диспетчер задач) на вкладке Performance (Быстродействие), как вы обнаружите в нем четыре графика. Но это отнюдь не означает, что на самом деле у вас 4 ядра процессора.

Это происходит потому, что Windows считает, что у каждого ядра есть по два логических процессора. Термин «логический процессор» звучит забавно, но он означает процессор, которого физически не существует. Windows может посылать потоки данных к каждому логическому процессору, но на самом деле выполняет работу только одно ядро. Поэтому одно ядро с технологией Hyper Threading существенно отличается от раздельных физических ядер.

Для работы технологии Hyper Threading требуется ее поддержка со стороны следующих аппаратных и программных средств:

  • Процессор
  • Чипсет материнской платы
  • BIOS
  • Операционная система

Преимущества технологии

Теперь рассмотрим следующий вопрос – насколько все же технология Hyper Threading увеличивает производительность компьютера? В повседневных задачах, таких, как Интернет-серфинг и набор текстов, преимущества технологии не столь очевидны. Однако следует иметь в виду, что сегодняшние процессоры настолько мощны, что повседневные задачи редко загружают процессор полностью. Кроме того, многое зависит еще и от того, как написано программное обеспечение. У вас может быть запущено сразу несколько программ, однако, посмотрев на график загрузки, вы увидите, что используется только один логический процессор на ядро. Это происходит потому, что программное обеспечение не поддерживает распределение процессов между ядрами.

Однако в более сложных задачах Hyper Threading может быть более полезной. Такие приложения, как программы для трехмерного моделирования, трехмерные игры, программы кодирования/декодирования музыки или видео и многие научные приложения написаны таким образом, чтобы максимально использовать многопоточность. Поэтому вы можете ощутить преимущества быстродействия компьютера с функцией Hyper Threading, играя в сложные игры, слушая музыку или просматривая фильмы. Повышение производительности может при этом достигать 30%, хотя могут случаться и такие ситуации, когда Hyper Threading не дает преимущества вовсе. Иногда, в том случае, если оба потока загружают все исполнительные устройства процессора одинаковыми заданиями, может даже наблюдаться и некоторое снижение производительности.

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

Заключение

Поскольку максимальное повышение производительности при использовании Hyper Threading составляет 30%, то нельзя сказать, что технология эквивалентна удвоению количества ядер процессора. Тем не менее, Hyper Threading – это полезная опция, и вам, как владельцу компьютера, она не помешает. Ее преимущество особо заметно, например, в таких случаях, когда вы редактируете мультимедиа-файлы или используете компьютер в качестве рабочей станции для таких профессиональных программ, как Photoshop или Maya.

Порекомендуйте Друзьям статью:

Технология Hyper-Threading: преимущества и недостатки

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

 

Как мы все знаем, компьютерная система работает главным образом через ЦП, который отвечает за преобразование ввода пользователя в вывод; гиперпоточность — это технология, используемая для повышения эффективности наших процессоров. Это одно из нововведений, произошедших в ходе эволюции компьютеров под управлением различных операционных систем.

 

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

 

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

 

Читайте также | Что такое шпионское ПО и как его удалить?


 

Что такое технология Hyper-Threading ?

 

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

 

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

 

Логическое ядро ​​можно построить, вставив дополнительный набор регистров в сокет ЦП. Операционная система также должна быть спроектирована таким образом, чтобы она могла обнаруживать гиперпоточность. Другое требование состоит в том, чтобы программы, которые могут выполняться в рамках технологии гиперпоточности, были включены в процессе производства.

 

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

 

Корпорация Intel создала технологию гиперпоточности. Он присутствует в некоторых процессорах Pentium 4, а также во всех процессорах Intel Xeon. Технология Hyper-Threading, также известная как «HT Technology», позволяет процессору одновременно выполнять два потока или набора инструкций.

 

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

 

К счастью, последние версии Windows и Linux поддерживают несколько процессоров, что позволяет им использовать преимущества технологии Hyper-Threading. Например, воспроизведение видео в проигрывателе Windows Media не должно замедляться из-за загрузки веб-страницы в Internet Explorer.

 

Две программы могут обрабатываться как отдельные потоки одновременно благодаря технологии Hyper-Threading. С другой стороны, отдельные программы могут извлечь выгоду из технологии Intel HT только в том случае, если они были разработаны для поддержки нескольких процессоров.

 

Читайте также | Что такое обработка данных и почему это важно?


 

Как работает технология Hyper Threading ?

 

Компания Sun Microsystems запатентовала концепцию технологии Hyper-Threading, которая представляет собой технологию одновременной многопоточности, представленную Intel.

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

 

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

 

Чтобы понять технологию Hyper-Threading, вы должны сначала понять, как работает ваш процессор. Ваш ЦП также известен как центр управления вашим компьютером. Он состоит из двух основных компонентов: блока управления и арифметико-логического блока (АЛУ).

 

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

Арифметико-логическое устройство отвечает за все арифметические и логические операции.

 

ЦП использует следующие шаги для выполнения инструкций:

 

  1. Инструкция получена блоком управления из памяти вашего компьютера.

 

  1. Блок управления считывает инструкцию и определяет ее значение, прежде чем направить требуемые данные из памяти в арифметико-логическое устройство (АЛУ). Время инструкции, или I-время, представляет собой сумму первых двух шагов.

 

  1. Арифметическая или логическая инструкция выполняется АЛУ. В этот момент АЛУ выполняет фактическую операцию над данными.

 

  1. Результат операции сохраняется в памяти или в регистре АЛУ. Шаги 3 и 4 известны как время выполнения или E-время.

 

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

 

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

 

Читайте также | Профилактическое обслуживание: преимущества и реализация


 

Преимущества и недостатки технологии Hyper-Threading  

 

Гиперпоточность работает путем дублирования определенных разделов процессора — тех, которые хранят состояние архитектуры, — но не основных ресурсов выполнения.

 

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

 

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

 

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

 

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

 

Некоторые из основных преимуществ и недостатков технологии Hyper-Threading перечислены ниже:- 

 

Преимущества технологии Hyper-Threading

 

  1. Технология максимально эффективно использует каждое ядро ​​ЦП. Он решает проблему «голодания», характерную для многоядерных процессоров. Голодание — это состояние, при котором конкретное ядро ​​остается бездействующим и неиспользуемым из-за отсутствия назначенных сигналов, данных, задач или инструкций.

 

  1. Это позволяет ЦП обрабатывать больше данных за меньшее время, а также без перерыва обрабатывать больше фоновых данных, что делает его идеальным для многозадачности.

 

  1. Еще одним преимуществом является то, что ЦП может переключать ресурсы между потоками. Например, при запуске видеоигры на переднем плане и нескольких фоновых задач процессор не будет бороться.

 

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

 

Недостатки технологии Hyper Threading

 

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

 

  1. Некоторое программное обеспечение не поддерживает одновременную многопоточность. В условиях интенсивной загрузки процессора приложения, не поддерживающие HT, не будут работать плавно. Чтобы воспользоваться преимуществами технологии, требуется программная реализация.

 

  1. Еще одним недостатком Hyper-Threading является то, что он заставляет ЦП выделять больше тепла. Чтобы избежать снижения производительности оборудования и перегрева, необходимо внедрить надлежащую систему охлаждения.

 

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

 

Читайте также | Лучшие инструменты облачных вычислений на рынке


 

Повысит ли производительность Hyperthreading ?

 

Для системы с одним сокетом технология Hyper-Threading может повысить производительность системы до 30 %. Для систем с двумя сокетами гиперпоточность может повысить производительность до 15%. Для систем с четырьмя сокетами (или выше) рекомендуется проводить тестирование производительности с включенной технологией Hyper-Threading и без нее.

 

На приведенной ниже диаграмме показан пример того, как технология Intel HT может повысить производительность обработки. Каждый 64-разрядный процессор Intel Xeon имеет четыре исполнительных блока на ядро. Когда технология Intel HT отключена, ядро ​​может выполнять только инструкции из потока 1 или потока 2.


Диаграмма Объяснение того, как Intel улучшает производительность


. в течение многих тактов, как и ожидалось. Когда Hyper-Threading включен, исполнительные блоки могут обрабатывать инструкции из потока 1 и потока 2 одновременно. В этом случае технология Hyper-Threading сокращает количество необходимых тактов с 10 до 7.

 

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

 

Если для вашей среды требуется привязка ЦП, обратитесь к документации по вашей операционной системе или гипервизору. Рекомендации по производительности VMware для VMware vSphere 5.5, для /example, состояние

 

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

 

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

 

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

 

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

cpu — В чем разница между гиперпоточностью и многоядерностью?

спросил

Изменено 7 месяцев назад

Просмотрено 32к раз

В разговоре с администратором сети я упомянул, что моя машина двухъядерная. Он сказал мне, что это не так. Я вызвал диспетчер задач, перешел на вкладку производительности и показал ему, что есть два отдельных графика использования ЦП. У меня дома есть четырехъядерный компьютер и у него четыре графика. Он сказал, что на этой конкретной машине было два графика из-за гиперпоточности. Когда-то у меня был процессор Pentium 4 с поддержкой Hyper-Threading, но я так и не понял, что это значит. Так в чем же разница между гиперпоточностью и двухъядерностью? А как узнать какой у тебя?

  • процессор
  • многоядерный
  • гиперпоточность

Гиперпоточность предоставляет несколько логических ядер для одного физического ядра ЦП. Проще говоря, гиперпоточность делает переключение контекста более эффективным для каждого ядра ЦП.

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

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

Вы можете использовать утилиту идентификации ЦП, такую ​​как CPU-Z, чтобы определить, сколько у вас ядер. Как видно в нижней части скриншота, процессор в данном случае имеет 2 физических ядра. Если количество потоков превышает количество ядер, включается гиперпоточность. На сегодняшний день все потребительские процессоры с Hyper-threading имеют 2 потока на ядро, поэтому, если HT включен, количество потоков будет в 2 раза больше количества ядер.

Если у вас процессор Intel, вместо этого вы можете загрузить утилиту Intel CPU ID.

6

Hyper-threading — это когда ваш процессор притворяется, что у него 2 физических ядра, но на самом деле имеет только 1 и еще немного мусора.

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

См. также: Этот вопрос

Hyperthreading — более дешевая и медленная альтернатива многоядерным процессорам кратко. Он содержит следующую диаграмму:

TODO на сколько процентов медленнее в среднем в реальных приложениях?

Гиперпоточность возможна, потому что ядра современных однопроцессорных процессоров уже выполняют несколько инструкций одновременно с конвейером инструкций https://en.wikipedia.org/wiki/Instruction_pipelining

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

Гиперпоточность дополнительно разделяет функции с помощью:

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

    Dual core имеет два бэкэнда, что объясняет большую стоимость и производительность.

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

    Dual core также будет иметь 2 внешних интерфейса, по одному на каждый внутренний сервер.

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

Два гиперпотока в одном ядре совместно используют дополнительные уровни кэша (Сколько TODO? L1?), чем два разных ядра, которые совместно используют только L3, см.:

Интерфейс, который каждый гиперпоток предоставляет операционной системе, аналогичен интерфейсу реального ядра, и ими можно управлять по отдельности. Таким образом, cat /proc/cpuinfo показывает мне 4 процессора, хотя у меня всего 2 ядра с 2 гиперпотоками в каждом.

Ваш комментарий будет первым

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *