1 | |
Что есть Hyper Threading11.07.2012, 20:27. Показов 1792. Ответов 4
Метки нет (Все метки)
Прочитал статью уважаемого Evg "Влияние конвейера на скорость исполнения кода" у него в блоге. Возник вопрос: (параллельные) конвейеры имеют какое-то отношение к технологии Hyper Threading? Что последнее вообще такое?
Не по теме: Затрудняюсь выбрать раздел. Модераторам просьба не зверствовать.
0
|
11.07.2012, 20:27 | |
Ответы с готовыми решениями:
4
Есть ли аппаратное различие процессоров INTEL с Hyper-threading и процессоров без него? Hyper-threading, нюансы что это и с чем его "едят"... hyper-threading и виртуализация Обсуждение Hyper-Threading |
11.07.2012, 21:02 | 2 |
Возьмём процессор с одним ядром и четырьмя конвейерами. Такая конструкция означает, что процессор может исполнять четыре операции за такт. Но чтобы их исполнять, программа должна обладать такими свойствами, что в ней есть фрагменты, которые исполняются независимо друг от друга, а потому можно их исполнять параллельно. Не помню в каком году, но ещё до появления hypethreading'а видел опубликованные цифры по средней загрузке конвейеров intel'овского процессора на реальных задачах. Цифра была чуть меньше двух. Т.е. из четырёх конвейеров в среднем работают только два, а два простаивают вхолостую. И тогда у инженеров появилась мысль, что эти в среднем два конвейера можно загрузить полезной работой. При этом процессор будет делать вид, что это не один процессор, а два. И операционная система будет видеть, что на машине как будто два процессора и будет загружать их одновременно двумя задачами. А дальше схемотехника процессора реально будет исполнять одну задачу, а на ходу по мере возникновения незанятых конвейеров заполнять их исполнением другой задачи.
На пальцах что-то типа такого. Технических деталей я не знаю, но это дело должно быть несколько более сложным. Ведь в процессоре по прежнему только один набор регистров, который не может быть полноценно задействован на две параллельные задачи. Как эти проблемы решаются - надо уже читать технические статьи. Добавлено через 25 минут Тут Hyper-threading, нюансы что это и с чем его "едят"... написано, что у процессора с hyperthreading'ом два набора регистров и прочих причиндалов. Так что его можно рассматривать как два ядра на кристалле, но при этом один набор исполняющих устройств на оба ядра. Т.е. как бы два процессора с переменной производительностью, но суммарно их производительность не превышает предельной производительности одного процессора без hyperthreading
1
|
12.07.2012, 02:47 | 3 |
Надо просто понимать что если у вас 4 ядра то вы можете выполнить любые 4 потока.
А если у вас 2 ядра и 2 виртуальных то только 2 любых и возможно еще 2 но нелюбых Добавлено через 20 минут чтобы было понятно представим что 1 ядро может складывать и умножать то есть в 1 ядре два блока один блок складывает-вычитает другой умножает-делит. если поток один то загружается только 1 блок или сложения, или умножения, один из блоков простаивает А если загрузить два этих блока то за 1цкл вы получите 2 работы Но нельзя загрузить два блока например только данными сложения или данными умножения поэтому и получается что 4 ядра выплняют 4 любые операции, получите 4 результата а 2 ядраи 2 виртуальных, 2 команды и теоретически если приложение оптимизировано к отправке запросов определенной последовательности (То есть если ушли 2 команды сложения и 2 команды умножения) то тоже 4 результата
0
|
21.01.2014, 23:01 | 4 |
Пришло в голову объяснение "на пальцах", но оно оказалось большим, а потому закинул в блог
https://www.cyberforum.ru/blog... g1936.html
1
|
21.01.2014, 23:13 | 5 |
0
|
21.01.2014, 23:13 | |
21.01.2014, 23:13 | |
Помогаю со студенческими работами здесь
5
Функция Hyper-Threading Hyper Threading Intel Pentium 4 Как выключить Hyper-Threading? Технология Hyper Threading на процессоре i7 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |