Intel Pentium 4 3,06 ГГц с поддержкой технологии Hyper-Threading

— временем выполнения кода программы № 1

— временем выполнения кода программы № 2

— временными издержками на переключение между фрагментами кода программ № 1 и № 2

А вот при наличии данной технологии на процессоре дело облегчается:

— время выполнения программы № 1 на процессоре № 1 (виртуальном)

— время выполнения программы № 2 на процессоре № 2 (виртуальном)

  • время на переключение одного физического ядра (как набора требуемых обеим программам
  • исполняющих блоков) между двумя эмулируемыми «виртуальными CPU»

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

Но проблемы все равно остаются, ведь Pentium 4 приходится иметь дело с классическим x86-кодом, в котором активно используется прямое адресование ячеек и даже целых массивов, находящихся за пределами процессора — в ОЗУ. К тому же большинство обрабатываемых данных чаще всего находится там. Поэтому делить между собой виртуальные CPU будут не только регистры, но и общую для обеих процессорную шину, минуя которую данные в CPU попасть просто не могут.

На сегодняшний день «честные» двухпроцессорные системы на Pentium III и Xeon находятся в точно такой же ситуации! Потому что шина AGTL+, доставшаяся в наследство всем сегодняшним процессорам Intel от знаменитого Pentium Pro (в дальнейшем ее лишь подвергали модификациям, но идеологию практически не трогали) — всего одна, сколько бы CPU ни было установлено в системе.

Рискуя всем, отойти от схемы на x86 попробовала только AMD со своим Athlon MP — у AMD 760MP/760MPX от каждого процессора к северному мосту чипсета идет отдельная шина. Впрочем, даже в таком варианте проблема отодвигается не очень далеко, так как шина памяти точно одна, причем вот в этом случае уже везде.