Несмотря на распространённое название, этот раздел содержит информацию, интересную абсолютному большинству пользователей. Здесь нет заурядного описания (за редким исключением) всевозможных процессоров, HDD и т.п. В этом разделе собраны интересные статьи и обзоры всех НОВИНОК и современных ДОСТИЖЕНИЙ компьютерного мира, сравнение и результаты тестирования действительно стоящих моделей, а также общие данные о принципах работы и видах различных устройств компьютера. И ещё 1 плюс - во многих статьях приведены ссылки на сайты, содержащие подробную информацию о данных устройствах или же на очень полезный софт, применительно к ним!

Тематические разделы:

Чипы и материнки

Процессоры

Видеокарты

Мониторы

HDD

Память

Аудио

CD-R/RW/DVD

Клавиатуры, мыши и проч.

Ноутбуки, мини-компьютеры и проч.

 

К списку новостей

Процессоры:

Одна голова - хорошо, а две...

Дмитрий Лаптев | биография и другие статьи автора

12002 год подарил нам технологию логического раздвоения процессоров Intel — Hyper-Threading1 (HT). Впрочем, слово «подарил» — не более чем фигура речи, цена на новые 3-гигагерцовые P4 с поддержкой HT поначалу установилась на уровне семисот предельно конкретных денежных единиц. Стоит ли говорить, что на эти деньги можно купить парочку флагманских ЦП от AMD, да и самой Intel без Hyper-Threading? Или, пусть сравнение будет некорректным, но наглядным — точно по той же цене в дни рождественских распродаж предлагались ноутбуки RoverBook RT6 с 14-дюймовым экраном, Celeron 1200 и остальной вполне современной начинкой. Характерно, что на многих задачах (как офисных, так и графических) такой ноутбук дает достаточную производительность, даже на взгляд человека, избалованного возможностями настольных компьютеров.
Но вышесказанное ни в коем случае не означает, что Hyper-Threading так и останется запредельно дорогой технологией и потому «не интересна». Во-первых, производство P4HT обходится Intel ровно во столько же, как и изготовление простых «четверок». Ведь Hyper-Threading в заблокированном состоянии уже давно имеется во всех ныне существующих P4 с ядром Northwood. Следовательно, объективно-технологических причин держать высокую цену нет. А маркетинговые, надо думать, со временем сойдут на нет, поскольку в дальнейшем Intel едва ли откажется от логической двухпроцессорности на всех платформах, вплоть до бюджетных и мобильных. А во-вторых, еще очень многим задачам, пусть менее распространенным, нежели простейшие офисные, глубоко наплевать на наши умозаключения по поводу бессмысленности дальнейшего прогресса — они способны с аппетитом и без остатка съедать ресурсы даже самых лучших процессоров.
Посему от слов перейдем к делу. Возьмем «свеженький» Р4 3,06 ГГц, поместим его на материнскую плату Gigabyte 8PE667 Ultra (на чипсете Intel 845PE), добавим вдоволь хорошей памяти Corsair (512 Мбайт DDR400 3200 CL=2), навесим сбоку винчестер без тормозов (Seagate Barracuda ATA V) и не самую слабую видеокарту (ATI Radeon 9500 64 Mбайта) — чтобы в скорости игрушек не прогадать. И проверим, насколько быстро работают программы при включенной Hyper-Threading и при выключенной.

«Прирост». От –30 до –5%
Как так минус? Разве два процессора, хотя бы и логических, могут соображать хуже одного?
К сожалению, это не надуманный случай. Дело в том, что два потока команд, которые Hyper-Threading пропускает в процессор, обрабатываются все тем же единственным набором функциональных блоков (целочисленный блок — ALU, блок для чисел с плавающей точкой — FPU, мультимедийные расширения MMX, SSE и т. п.). И для задач, перемалывающих один тип данных, разделение на два потока приводит лишь к тому, что процессор вынужден постоянно переключаться между ними. К тому же, потоки команд не существуют сами по себе, они непременно связаны с какими-то данными в памяти, которые, собственно и обрабатывают. Получается, что каждый поток тащит за собой свои данные в процессорный кэш, где они замещают данные конкурирующего потока, и процессору после переключения приходится их восстанавливать. Отмечу, что краски в этом пояснении сгущены — на самом деле, конечно, защита данных и интеллектуальное разделение пространства кэша имеются, только не во всех случаях эти алгоритмы работают, порой просто не хватает объема кэша, который остался на том же уровне, что и в Р4 без поддержки Hyper-Threading.
Ситуацию усугубляют отдельные программы, знающие о физической многопроцессорности и услужливо создающие для каждого процессора свой «контекст» (окно) в памяти, из которого берутся данные и куда выводятся конечные результаты. И поскольку физически двух процессоров нет, Hyper-Threading’у приходится особенно туго. Ведь назвавшись груздем (двумя процессорами), ему приходится переключаться между этими контекстами, что связано с перезагрузкой внутренних регистров и прочими совершенно неоправданными накладными расходами.
Какие же именно программы страдают больше всех? Например, пакеты трехмерной OpenGL-анимации, в частности любимый народом 3D Studio MAX. В меньшей степени — программы твердотельного CAD-моделирования типа SolidWorks, SolidEdge.

Ну, прирост. От –5 до +10%
В этих «околонулевых» процентах заключен эффект от HT для самой большой категории нынешних «гражданских» программ, неоптимизированных под многопроцессорность вообще и Hyper-Threading в частности. Сюда же приходится отнести и Adobe Photoshop. Этот графический редактор заметно подстегивается, будучи запущенным на настоящей двухпроцессорной системе. Но большинство его графических фильтров если и разбиваются на два потока, то почти всегда снабжают эти потоки однотипными данными.
На бобах оказываются и все современные игры, за исключением, разве что, Unreal Tournament 2003 и AquaNox 2, получающих от HT наибольшую выгоду (за счет формальной, поверхностной оптимизации под эту технологию). Впрочем, о реальном преимуществе Hyper-Threading в играх и «серьезных» приложениях можно будет судить, только когда оптимизации подвергнутся массовые программы, а не отдельные экземпляры. Последними вы, возможно, никогда и не захотите пользоваться, несмотря на все их техническое совершенство (никакие технологии не скомпенсируют скучный игровой сюжет, неудобный интерфейс и т. п.).
Но уже сейчас очевидно, что даже минимальной подстройки любой программы (добавление инструкций HALT, блокирующих деление команд на два потока) достаточно, чтобы она, как минимум, работала на «якобы двухпроцессорном» Pentium 4 не медленнее, чем на простом. Скажете, смешно, экое достижение, что приходится переписывать программы, чтобы они хотя бы не тормозили на новом процессоре? На самом же деле редкое серьезное нововведение обходится без отрицательных последствий, и это не страшно, лишь бы «минусы» с лихвой компенсировались «плюсами». А учитывая авторитет Intel, не приходится сомневаться, что разработчики программ подойдут к оптимизации творчески, и в каком-нибудь из будущих обзоров интеловских процессоров мы начнем свою шкалу, как минимум, с +5%.
Кстати, рост в пределах 5% обнаруживается уже сейчас в задачах статичного 3D-моделирования в программах Lightwave, Maya. Любопытно, что и 3D Studio MAX в случае статичного моделирования ускоряется (то есть эффект зависит не от конкретного приложения, а от специфики исполняемых в данный момент процедур).

Прирост!!! От 10 до 60%
Впечатляющая «вилка», не правда ли? Но точнее локализовать успехи Hyper-Threading в некоторых категориях задач не получается.
Дело в том, что основная, «домашне-офисная» миссия новой технологии не в ускорении отдельных приложений, игр или внутренних задач операционной системы. По отдельности они действительно не вызывают раздражения и мыслей о «тормознутости» любого современного ПК. Но как же редко теперь приходится встречать компьютеры, на экране которых висело бы единственное окошко! Нам ведь хочется и письмо с объемным вложением развернуть, и подправить свежескачанные с цифровой камеры или отсканированные изображения в графическом редакторе, и закодировать в MP3/MPEG4 взятые напрокат аудио/видеодиски, и… много чего еще. А кому не приходилось раздражаться по поводу некстати (но по заданному расписанию!) стартовавшего антивирусного сканера? А как насчет «нарезки болванок» и неизменного WinAmp’а на фоне всего этого «безобразия» или поиска внеземного разума и расшифровки строения какого-нибудь вирусного белка (для участников многочисленных систем распределенных вычислений)? Наконец, часть ресурсов съедают пасущиеся на экране овечки-скринмейты, ПК-версии тамагочи или саморазвивающиеся персонажи Progress Quest.
В зависимости от числа и сложности задач реакция компьютера на наши попытки переключиться с одной на другую может варьироваться от полного ступора до легкого подтормаживания. Важно, что темп работы (а с ним и удовольствие от нее) бесповоротно теряются в любом случае. Но может ли всего лишь двухпроцессорный мозг, да и то с приставочкой «псевдо», помочь справится с парой сотен процессов? Я не преувеличиваю, ведь программы обычно состоят из нескольких процессов, и сама ОС — тоже, в чем легко убедиться, если нажать Ctrl+Alt+Del в Windows XP или 2000 и заглянуть в окошко «Процессы». А выделять каждому из них по «личному» процессору бессмысленно даже теоретически — в разгар работы за ресурсы ЦП борются лишь несколько процессов, а остальные ожидают либо поступления данных, либо пользовательского внимания. Зато среди всего набора процессов, принадлежащих различным программам, почти наверняка найдутся охотники до разнотипных процессорных ресурсов, а значит, есть все шансы, что на компьютере с Pentium 4 HT они будут работать параллельно. Аминь!
Что же мы получаем на практике? В соответствии с теорией «оркестрик» из всех вышеописанных приложений стал играть слаженнее. Да и стойкое ощущение большей боеготовности Windows никак не хотело отступать перед здравыми рассуждениями — мол, на 3-гигагерцовом процессоре все и так должно летать, а скорость загрузки программ и самой ОС в куда большей степени зависит от скорости чтения винчестера и скорости&емкости оперативной памяти. Спору нет, и с выключенным HT подопытный Pentium 4 не давал повода для критики, однако неизменно проигрывал заметные на глаз доли секунды в «пиковые» моменты.
Но поскольку такое неслепое субъективное тестирование (когда оценщику известно, в каком режиме сейчас работает «железо» и когда оно должно теоретически работать быстрее) легко может оказаться ошибочным, пришлось провести несколько экспериментов с замерами.
Для начала мы отжали в DivX «воду» из видеоролика на фоне сжатия в MP3 полугигабайта музыки компрессором Lame. И преимущество P4 HT во времени кодирования видео оказалось 1,7-кратным!
В следующем тесте этот сжатый видеоролик был запущен на просмотр и служил фоном для архиватора WinRAR, которому было поручено сжимать файл объемом около 128 Мбайт (своп-файл Windows). На HT-системе архиватор управился быстрее в 1,2 раза. Наконец, фоном снова послужил Lame, а запущено было несколько современных 3D-игр по очереди. С выключенным HT играть оказалось невозможно из-за хаотического подтормаживания, действующего на нервы гораздо сильнее, нежели даже постоянно низкая частота кадров. С HT результат превзошел все ожидания: мало того, что средняя частота кадров в играх оказалась на 60 и более процентов выше, но даже в самых процессорозависимых играх картинка обновлялась с завидной плавностью.

И немного прогнозов
Как уже говорилось, логическая многопроцессорность — это всерьез и надолго. Не исключено, что сама технология Hyper-Threading со временем будет имитировать не два, а, например, четыре логических процессора для одного физического суперчипа. А основной конкурент Intel — компания AMD — планирует порадовать нас настоящими двухпроцессорными мозгами — на одном физическом кристалле ядра будут помещаться два полнофункциональных, что, безусловно, дороже решения Intel, но потенциально не менее заманчиво. Правда, ждать этого придется до появления следующего поколения процессоров.3


1 Вернее, технология распространилась на настольные компьютеры, а ранее применялась лишь в серверах и рабочих станциях на процессоре Pentium 4 Xeon.

 

Используются технологии uCoz