LINUX.ORG.RU

История изменений

Исправление lesopilorama, (текущая версия) :

все давно придумано :) Hyperthreading - одновременое выполнение двух, а то четырех инструкций на одном аппаратном проце, если онные инструкции используют разные функциональные модули процессора.

HT - это вроде бы просто маркетинговое название некой аппаратной реализации проца, когда догадались сделать побольше «фронтендов», выглядящих как отдельный проц, имеющих свой набор РЕГИСТРОВ и свой конвейер. Фронтенд декодировал инструкции, предсказывал переходы, планировал к исполнению на реальных исполнительных внутренних блоках ядра проца, разделяемых между несколькими фронтендами. Идея была нужна, потому что был длинный конвеер (31 шаг) в pentium 4 и когда проц ошибался в предсказании переходов, этот конвейер приходилось чистить и всё выкидывать и проц простаивал. Тогда прикрутили второй такой же конвейер - вероятность что будут ошибаться сразу два ниже, поэтому ядро проца удавалось загрузить сильнее. Но если НЕ ошибались оба, то была жопа. Но производительность одного ядра такой хрени проигрывала иногда даже Pentium-3 и AMD Athlon XP. Чтобы оно не проигрывало, надо было ещё наращивать частоту Pentium 4 (длинный конвейер был плох на низких частотах). А если растить частоту, оно начинало так греться как треш и угар. В итоге выкинули, пойдя по пути увеличения числа нормальных, но более медленных ядер - фича оказалась более профитной, чем HT.

Исправление lesopilorama, :

все давно придумано :) Hyperthreading - одновременое выполнение двух, а то четырех инструкций на одном аппаратном проце, если онные инструкции используют разные функциональные модули процессора.

HT - это вроде бы просто маркетинговое название некой аппаратной реализации проца, когда догадались сделать побольше «фронтендов», выглядящих как отдельный проц, имеющих свой набор РЕГИСТРОВ, декодирующих и планирующих инструкции к исполнению на реальных исполнительных внутренних блоках ядра проца, разделяемых между несколькими фронтендами. Идея была нужна, потому что был длинный конвеер (31 шаг) в pentium 4 и когда проц ошибался в предсказании переходов, этот конвейер приходилось чистить и всё выкидывать и проц простаивал. Тогда прикрутили второй такой же конвейер - вероятность что будут ошибаться сразу два ниже, поэтому ядро проца удавалось загрузить сильнее. Но производительность одного ядра такой хрени проигрывала иногда даже Pentium-3 и AMD Athlon XP. Чтобы оно не проигрывало, надо было ещё наращивать частоту Pentium 4 (длинный конвейер был плох на низких частотах). А если растить частоту, оно начинало так греться, что жопа. В итоге выкинули, пойдя по пути увеличения числа нормальных, но более медленных ядер - фича оказалась более профитной, чем HT.

Исходная версия lesopilorama, :

все давно придумано :) Hyperthreading - одновременое выполнение двух, а то четырех инструкций на одном аппаратном проце, если онные инструкции используют разные функциональные модули процессора.

HT - это вроде бы просто маркетинговое название некой аппаратной реализации проца, когда догадались сделать побольше «фронтендов», выглядящих как отдельный проц, имеющих свой набор инструкций, декодирующих и планирующих инструкции к исполнению на реальных исполнительных внутренних блоках ядра проца, разделяемых между несколькими фронтендами. Идея была нужна, потому что был длинный конвеер (31 шаг) в pentium 4 и когда проц ошибался в предсказании переходов, этот конвейер приходилось чистить и всё выкидывать и проц простаивал. Тогда прикрутили второй такой же конвейер - вероятность что будут ошибаться сразу два ниже, поэтому ядро проца удавалось загрузить сильнее. Но производительность одного ядра такой хрени проигрывала иногда даже Pentium-3 и AMD Athlon XP. Чтобы оно не проигрывало, надо было ещё наращивать частоту Pentium 4 (длинный конвейер был плох на низких частотах). А если растить частоту, оно начинало так греться, что жопа. В итоге выкинули, пойдя по пути увеличения числа нормальных, но более медленных ядер - фича оказалась более профитной, чем HT.