руководство
Intel Hyper-Threading Technology техническое руководство пользователя содержит некоторые подсказки о том, почему
Intel не пытался более двух потоков на ядро в своих потребительских процессоров,
что он и сделал в некоторых серверных процессорах.
объясняя технологию Hyper-Threading, он говорит:
каждый логический процессор
- имеет свое собственное состояние архитектуры
- выполняет свой собственный поток кода одновременно
- можно прервать и остановить независимо
два логических процессоров одинаковые
- выполнение движка и кэш
- прошивка и интерфейс системной шины
важная часть заключается в том, что два логических процессора одинаковые
Механизм выполнения, означающий, что единицы, составляющие ядро, не являются
дублированный. Один раз, например, арифметическая единица используется одним потоком,
она не может использоваться другим потоком.
Это предотвращает полный параллелизм, поэтому не позволяет выполнять два потока
параллельно инструкции одного типа-надо ждать другую
дочитать до конца.
Intel подсчитала средний прирост производительности по потокам следующим образом:
процессор с технологией Hyper-Threading может обеспечить производительность
увеличение 30 процентов при выполнении многопоточной операционной системы и
код приложения по сравним архитектуру Intel
процессор без технологии Hyper-Threading.
статистический выигрыш двух потоков по сравнению с одним, следовательно, только в порядке
30%, что очень далеко от 100%, что можно было бы ожидать, если два потока
на таком же ядре смогл сделать двойную работу одного.
поэтому я бы оценил, что если бы Intel включил, скажем,
3 потока на ядре, статистически увеличение были бы гораздо ниже,
может быть порядка 10% или менее.
учитывая тот факт, что некоторые аппаратные средства должны быть дублированы в каждом потоке,
а именно состояние архитектуры и логика прерываний,
усиление, вероятно, не стоит того, что это дополнительное оборудование добавит
к цене самого ядра.
для эффективного Hyper-Threading, Intel пришлось бы увеличить число
однотипных внутри каждого ядра.
Оно делал как раз то в
микроархитектуру Haswell
что имеет 4 порта для нагрузки / магазинов, 4 для целого числа и 2 для ветви, так
даже два потока с одинаковыми целочисленными рабочими нагрузками, вероятно, не представят
много споров. Тем не менее, Intel до сих пор сохранил модель из двух
гипер-потоков на ядро, я думаю, наверное, в целях экономии на
оборудование, необходимое для обеспечения большего количества гиперпотоков, или, может быть, даже потому, что
современные операционные системы не могут эффективно использовать такую архитектуру.