Что такое потоки процессора?

Во многих процессорах топового уровня есть потоки, как и ядра. Я постараюсь объяснить в чем отличие потока от ядра, и в чем преимущество этих потоков. Потоки появились достаточно давно, а именно еще во времена правления Pentium 4 (до них она был в Ксеонах как суперпоточность).

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

Но на самом деле, производительность не падала, просто на то время программ, которые могли грамотно работать с двумя потоками — вообще не было. Поэтому, потоки это скорее всего была экспериментальная технология в то время, кстати почти все Pentium D также не имели ее за исключением топовых моделе D955, D965 (это двухядерники с четырьмя потоками).

Теперь немного разберемся с тем, что это вообще такое. Технология потоков называется Hyper-threading и отображается сокращенно: HT (как правило указывается на коробках сбоку). На одно ядро допустим один поток. Если вы задавались иногда вопросом «как увеличить количество потоков процессора», то я вас разочарую — это невозможно, и даже не думайте об этом, это глупости =).

Hyper-threading позволяет хранить состояние сразу двух потоков, поэтому в из под Windows такие потоки выглядят как ядра. То есть, если у вас имеет процессор 2 ядра, то это 4 потока. Соответственно я имею ввиду процессор, который поддерживает гипертрейдинг.

Как работает Hyper-threading? Чтобы вы понимали, то процессор выполняет не только ваши задачи, но и другие, и в том числе служебные. Так вот, обрабатывая данные, поток потом их отправляет, или ждет новых данных из оперативной памяти. В это время, пока он ждет, он может помогать другому потоку. То есть гипертрейдинг призван увеличить производительность процессора, уменьшая время бездействия.

То есть, можно сделать вывод, что количество потоков всегда равно количеству ядер умноженное на два. Никак иначе. Эту технологию разработала Intel, соответственно в AMD-процессорах ее нет, но есть мнение, что у них есть подобная технология, именно поэтому многие считают что в восьми-ядерных процессорах AMD восемь не ядре, а потоков.

В любом случае, эта технология полезна, хоть это и виртуальные ядра — лучше с HT, чем без нее.

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

Теперь вас наверно заинтересует — как узнать количество потоков процессора? Это очень просто. Вам нужно открыть диспетчер задач (по панели задач нажмите правой кнопкой), и перейти на вкладку производительность. Там будет поле ядра, а под ним — количество потоков, вам нужно последнее:

Как видите, число потоков равно числу ядер, потому что мой Pentium G3220 к сожалению не поддерживает технологию HT.

Современные процессоры Intel Core i3, i7 ее поддерживают, а вот i5 — нет (вроде бы только в ноутбуках есть i5 с двумя ядрами и HT, и некоторые процессоры на 1156 сокет, там тоже два ядра и HT). Думаю что маркетинговый ход, чтобы было равно-мерное увеличение производительности моделей серии i.

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


Вернуться на главную!

Поделитесь своим мнением

/chto-takoe-potoki-protsessora.htmlКарта