Информационно-справочный портал MorePC.ru

Небольшая революция,или Все возвращается на круги своя

Свершилось!

К нам в тестовую лабораторию попал наконец экземпляр нового процессора Intel, о котором уже циркулирует немало слухов и восторженных отзывов.

Я не отношусь к приверженцам той или иной аппаратной платформы. Об этом может свидетельствовать хотя бы список процессоров, которые в разное время стояли в моем домашнем компьютере: КР580ИК80А (отечественный аналог Intel 8080), Zilog Z80, К1810ВМ86 (отечественный аналог Intel 8086), Cyrix 386DLC, AMD 486DX, Intel Pentium MMX, Intel Celeron Coppermine, AMD Athlon XP. Но в последние годы, как видно из списка, я отдавал предпочтение продукции AMD. А началось все с шока, испытанного мною при первом знакомстве с Pentium 4. Дело в том, что производительность процессора можно вычислить как произведение тактовой частоты на количество инструкций, выполняемых за такт. В пределах одного модельного ряда их количество можно считать константой, а при переходе к каждому последующему поколению процессоров Intel оно неизменно увеличивалось. Другими словами, производительность процессоров росла быстрее их тактовой частоты. И вот, сравнив производительность 850-МГц Pentium III и 1400-МГц Pentium 4, я с большим удивлением обнаружил, что они практически идентичны. То есть у нового поколения процессоров (на тот момент Pentium 4) за такт исполнялось в полтора раза меньше инструкций, чем у предыдущего! Этого я компании Intel простить не мог.

Обратимся, однако, к истории эволюции х86-совместимых процессоров, начало которой положил Intel 8086.

Включившись в бизнес ЦП для ПК, компания AMD сначала выпускала процессоры по лицензии Intel (386, 486), но затем начала вносить в них мелкие изменения. Потом появился революционный Pentium, содержащий целый ряд существенных архитектурных новшеств и способный выполнять две инструкции одновременно. Intel не стала давать конкурентам лицензий на его производство и даже впервые присвоила процессору собственное имя, чтобы сохранить за собой право не только на технологии, но и на название. На выпуск Pentium и Pentium II компания AMD ответила самостоятельными разработками — линейками К5 и К6. Последняя, кстати, была интересна тем, что, с одной стороны, в большинстве случаев при обработке целочисленных данных опережала Pentium II, а с другой — содержала векторный блок вычислений с плавающей запятой 3DNow!, аналог которого Intel смогла реализовать лишь в следующем поколении — Pentium III (блок SSE). Однако целочисленная производительность отошла на второй план из-за начавшегося бума вокруг трехмерных игр, в которых была важна скорость вычислений с плавающей запятой, а векторный блок AMD не приобрел популярности у программистов из-за малой распространенности этих процессоров.


Все изменилось после выхода AMD Athlon. Хотя эта компания и отставала от Intel по скорости освоения новых, более тонких технологических норм, ей удалось создать процессор, ни в чем не уступающий изделиям Intel, а по мнению некоторых аналитиков, подкрепленному результатами тестовых испытаний, и превосходящий их. И даже рубеж тактовой частоты в 1 ГГц AMD удалось преодолеть раньше.

Естественно, компания Intel, как многолетний лидер отрасли, не могла мириться с таким положением. В то же время потенциала для существенного увеличения производительности архитектуры Pentium III у Intel не было. И тогда она пошла на оригинальный шаг — разработала технологию NetBurst, позволяющую достигать существенно более высоких тактовых частот, но в ущерб производительности. То есть снижение количества инструкций, выполняемых за такт, было больше, чем рост тактовой частоты. В то же время определение реальной производительности — дело специалистов, а в среде обычных пользователей высокая тактовая частота сулила немалые маркетинговые преимущества.

Если ранние процессоры выполняли инструкции последовательно одну за другой, то во всех современных ЦП есть конвейер. На автомобильном заводе сборка автомобиля может занимать не один час, но при этом с конвейера каждые несколько минут сходит новая машина, и все за счет того, что в сборке на разных ее стадиях одновременно находится много автомобилей. Примерно так же функционирует и конвейер в процессоре, только у него есть две особенности. Первая заключается в том, что нередко для выполнения одной инструкции требуется результат выполнения предыдущей, из-за чего ее прохождение по конвейеру задерживается. Вторая — то, что процессору приходится выполнять все время меняющийся поток инструкций, т.е. необходима постоянная перестройка конвейера. Чем он длиннее, тем на более мелкие «кусочки» можно разбить инструкцию, сократить время выполнения каждого из них и тем самым поднять тактовую частоту. Но в то же время тем больше времени теряется на перестройку конвейера или на сбой предсказания ветвления. Собственно, сам блок предсказания ветвлений служит именно для того, чтобы при возникновении ситуации, когда требуется совершить условный переход, но пока неизвестно куда, не останавливать процессор, а заставить его выполнять одну из веток условия. Какую — как раз и решает блок предсказания ветвления. Если он предсказал правильно — выполнение пройдет без задержек, а если ошибся — все содержимое конвейера придется сбрасывать и начинать вычисление альтернативной ветки с нуля.

В среднем направление перехода удается угадать более чем в 90—95% случаев, но существуют алгоритмы, при которых этот показатель заведомо не может существенно превышать 50%.

Процессор Pentium 4 способен выполнять до трех инструкций за такт, и его последнее поколение имеет конвейер длиной в 31 стадию. Другими словами, при каждом неверном предсказании программа может быть отброшена назад почти на сотню инструкций. Поэтому при существующей системе команд и многообразии приложений оптимальная длина конвейера лежит в пределах 10—14 стадий. Превышение этой длины в большинстве случаев ведет к снижению производительности. Но и здесь имеются варианты.

С точки зрения характера ресурсоемкости все программы, используемые на ПК, можно условно разделить на четыре категории:

нересурсоемкие программы - офисные приложения, большая часть игр, программы для Интернета, программы общего назначения - всего более 90% используемого ПО;
компьютерные 3D-игры - сегодня, пожалуй, самые ресурсоемкие из широко используемых приложений;
аудиовидеокомпрессия/декомпрессия - набор алгоритмов, требующий вполне конкретной производительности; при ее недостатке наблюдается потеря кадров и другие чрезвычайно неприятные явления;
узкоспециализированные ресурсоемкие профессиональные приложения.
Программы первого типа работают без проблем на любом самом маломощном из современных компьютеров, а зачастую неплохо себя чувствуют и на компьютерах прошлого-позапрошлого поколений. Второй тип — на сегодня основной локомотив прогресса аппаратных средств. Четвертый занимает слишком незначительную долю рынка, чтобы принимать его в расчет при выработке стратегии усовершенствования процессоров. А у программ третьего типа есть особенность — многократная единообразная обработка больших массивов данных, которая хорошо ложится на длинный конвейер. Другими словами, принимая решение о переходе на технологию NetBurst, Intel заботилась не только о маркетинговых преимуществах высокой тактовой частоты, но и о соблюдении определенных приоритетов: повысить скорость критичного к производительности аудиовидеосжатия (третья группа) ценой снижения производительности в тех приложениях, где она и так избыточна (первая группа). Таким образом, «незакрытыми» оставались только сегменты второй и четвертый. По части компьютерных игр Intel избрала несколько другую стратегию: так как ее продукция составляет около 80% рынка, при этом разработчики игр традиционно тщательно «вылизывают» свои программы с точки зрения производительности, то Intel снабдила их высокоэффективным компилятором, осуществляющим оптимизацию именно под архитектуру Pentium 4. То есть недостаток производительности в этой области маскировался тем, что оптимизация кода осуществлялась под неэффективный процессор, занимающий тем не менее 4/5 рынка. Ну а профессионалам, работающим с ресурсоемкими приложениями четвертого типа, оставалось лишь стать приверженцами AMD.

Но все рано или поздно кончается. Как упоминалось выше, видеосжатие требует вполне конкретной производительности, и для максимально возможного сегодня формата кадра 768х576 точек она примерно соответствует Pentium 4 с тактовой частотой 2,5 ГГц. С широким распространением ТВЧ эти цифры, естественно, изменятся, но в целом оказывается, что время, когда актуально было ради скорости видеосжатия жертвовать остальными аспектами производительности, уже кануло в Лету. Другими словами, вследствие консервативности медиаформатов и роста вычислительных мощностей видеосжатие постепенно перемещается из третьей группы в первую. И рынок не замедлил отреагировать: если из-за инерционности корпоративного сектора общая расстановка сил серьезно не изменилась, то в наиболее мобильной сфере розничной торговли доля продаж компьютеров на базе процессоров AMD превысила 50%!

И вот сегодня мы вновь видим процессор, являющийся наследником архитектуры Pentium III. Снова короткий, в 14 стадий, конвейер и никакого HyperThreading. Собственно, технология HyperThreading появилась лишь как попытка чем-то занять простаивающие из-за слишком длинного конвейера исполняющие блоки, заставив их работать на другую программу в многозадачной среде. Но сама идея такой, даже «мнимой» многопроцессорности оказалась удачной. Обычно реакция на действия пользователя не требует много времени, но при наличии в системе каких-либо ресурсоемких процессов, например антивирусного сканирования или архивации данных, у пользователя создавалось ощущение, что компьютер «тормозит». Обработка двух независимых потоков инструкций позволила даже без увеличения производительности уменьшить время реакции на действия пользователя — «реагировало» устройство, не занятое ресурсоемким процессом. Но теперь уже становится нормой «истинная» многопроцессорность, и потребность в оправданной в свое время технологии отпадает.

Знакомство с новинкой у меня обычно начинается с утилиты BIOS Setup. Новый процессор прекрасно себя чувствует в старом гнезде LGA 775, что уже приятно, — при переходе к новой технологии, возможно, достаточно будет заменить лишь один ЦП, а не весь компьютер целиком. Впрочем, мне все равно пришлось перепрошить BIOS, для чего понадобился старый добрый Pentium 4. Заодно сравнил их по температуре кристалла, индицируемой этой утилитой (BIOS Setup). И увиденное меня, честно говоря, поразило. Если 3,6-ГГц Pentium 4 нагревался до 73 °С, то новый процессор — лишь до 40 °С. Как раз стояла июльская жара и температура в помещении была 26 °С. То есть кристалл нагревался всего на 14° выше температуры окружающей среды против 47° для Pentium 4. При этом у последнего вентилятор крутился со скоростью 2700 об/мин, а у нового процессора — лишь 2500 об/мин. Дальше — больше. В BIOS Setup происходит постоянный опрос клавиатуры, т.е. процессор не простаивает, тогда как в Windows ЦП в отсутствие нагрузки принудительно останавливается, в результате чего его температура в режиме ожидания действий пользователя опустилась до 34 °С, что только на 8° выше температуры окружающей среды. Уже один этот факт вызывает уважение. Однако пойдем дальше.


До сих пор я нигде не упоминал имя нового процессора. Официально он называется Intel® Core™2 Duo processor E6700, сообщая о себе в тестовой программе: «Intel® Core™ 2 CPU 6700 @ 2.66GHz». Причем именно так — с десятком пробелов в середине строки.

Честно говоря, не меньшее удивление, чем низкая температура кристалла, вызвали у меня и результаты проведенных тестов. Возникало даже подозрение, уж не «обманывает» ли процессор каким-то образом тестовые программы, демонстрируя неправдоподобно высокую производительность. Пришлось, однако, его отбросить, поскольку это технически невозможно.

Не хочу утомлять читателя детальным описанием результатов проведенных тестов и сравнением их особенностей. Часть таблиц и графиков с результатами измерения производительности системы, собранной на Intel Core2, по сравнению с четырьмя другими системами, включающими процессоры Intel и AMD, представлены на страницах журнала, а остальные можно найти на «Мир ПК-диске». Поделюсь лишь несколькими собственными выводами, сделанными на основании полученных данных.

Само по себе ядро Intel Core2, т.е. арифметико-логическое устройство процессора, собственно, ничем особенным не выделяется. Оно, конечно, заметно быстрее, чем у Pentium 4, но примерно такое же, а иногда и медленнее, чем у Athlon 64. Ощутимый рост производительности целиком обусловлен значительно увеличенным объемом и фантастической скоростью работы кэш-памяти как первого, так и второго уровня, а также существенно отличающимся и намного более эффективным алгоритмом write-back, т.е. синхронизации данных в кэш- и основной памяти. Впрочем, ничего удивительного в этом нет: процессорное ядро способно выполнять до четырех инструкций за такт, в то время как на считывание одного байта из памяти нужно затратить около 200 тактов. В этих условиях именно интерфейс памяти (т.е. объем, архитектура и скорость обмена кэш-памяти) способен стать узким местом производительности, и именно усовершенствование этого узла должно было дать наиболее ощутимый эффект по увеличению общей производительности системы.

Поразительно другое: объективные данные латентности кэш-памяти, измеренные утилитой CPU-Z, показывают, что она практически такая же или даже больше, чем у Athlon 64, хотя и заметно меньше, чем у Pentium 4. Но при последовательном обмене данными тем не менее работает существенно быстрее, возможно, за счет большей ширины шины, а при произвольной записи намного слабее зависит от объема данных, скорее всего, из-за более совершенного механизма write-back. Учитывая, что AMD взяла курс на уменьшение среднего объема кэш-памяти в своих процессорах (за счет отказа от многих моделей, содержавших 1 Мбайт L2 в пользу 512-Кбайт моделей), ей будет трудно угнаться за Intel, возвратившей себе желтую майку лидера.

Ну и еще раз о тепловыделении. Бурно прогрессирующий рост потребляемой процессорами мощности приводит к необходимости увеличивать размеры и скорость вращения устанавливаемых на них вентиляторов, размещать дополнительные вентиляторы в корпусе и более мощные — в блоке питания, а все это ведет к заметному усилению шума, производимого компьютером. Я вспоминал времена 386-го, который мог работать вообще без теплоотвода, даже пассивного, и всерьез задумывался о возможности применения процессора от мобильного компьютера в настольном. Похоже, мои мечты воплощаются в реальность. Мне лично надоело работать за шумным системным блоком, а вам?

Производительность в синтетических тестах

Процессор Пере-сылка SSE, Мбайт/с Гене-ратор ПСЧ, млн./с Вычисления с плаваю-щей точкой, Mwhetstones Целочи-сленные вычисления, Kdrystones Гене-рация псевдо-текста, Мбайт/с Комп-рессия LZW, Мбайт/с Деком-прессия LZW, Мбайт/с
2,66-ГГц Intel Core Duo 2 6700 2105,3 346,6 1890,8 1758,1 4,800 33,582 122,964
3,46-ГГц Intel Pentium XE-955 2003,1 225,1 1411,0 865,1 7,864 30,549 95,868
3,6-ГГц Intel Pentium 4 1843,7 233,3 1466,6 898,6 7,464 31,599 99,142
2,8-ГГц AMD Athlon 64 FX-62 3388,5 548,2 1786,7 3556,2 13,325 32,944 112,688
2,2-ГГц AMD Athlon 64 3500+ 2224,2 431,6 1402,0 2907,0 10,628 25,106 88,439

Результаты тестов FutureMark при разрешении, точки

Процессор 3DMark03, 3DMark 3DMark05, 3DMark 3DMark06, 3DMark PCMark
CPU 640х 480 1024х 768 1600х 1200 CPU 640х 480 1024х 768 1600х 1200 CPU 640х 480 1024х 768 1600х 1200 CPU RAM HDD
2,66-ГГц Intel Core Duo 2 6700 1661 14 662 9673 5467 10 341 5153 4041 2627 2305 3176 2341 1522 10 418 32 927 1522
3,46-ГГц Intel Pentium XE-955 1103 12 708 8926 5304 7546 4898 3899 2598 - - - - 7713 18 857 1526
3,6-ГГц Intel Pentium 4 864 12 445 8844 5276 4392 4880 3896 2608 1075 2876 2181 1452 7503 11 247 1506
2,8-ГГц AMD Athlon 64 FX-62 1433 12 946 8960 5299 8137 4997 3936 2606 2158 3144 2330 1517 9238 11 977 1542
2,2-ГГц AMD Athlon 64 3500+ 903 12 020 8462 5184 4924 4913 3878 2588 - - - - 7188 9342 1511

Характеристики процессоров

  Intel Core Duo 2 6700 Intel Pentium XE-955 Intel Pentium 4 AMD Athlon 64 FX-62 AMD Athlon 64 3500+
Номинальная частота, МГц 2660 3460 3600 2800 2200
Технологические нормы, мкм 0,065 0,065 0,09 0,09 0,13
Число ядер 2 2 1 2 1
Число логических устройств 2 4 2 2 1
MMX
CMOV
3DNow! ? ? ?
3DNow! Ext ? ? ?
SSE
SSE2
SSE3 ?
HyperThreading •? •? ?
X86 64-bit Ext ?
Extended Name Intel® Core™2 CPU 6700 @ 2.66GHz Genuine Intel® CPU 3.46GHz Genuine Intel® CPU 3.60GHz AMD Athlon™ 64 FX-62 Dual Core Processor AMD Athlon™ 64 Processor 3500+
Кэш-память L1 code (на каждое ядро), Кбайт 32 12 12 64 64
Кэш-память L1 data (на каждое ядро), Кбайт 32 16 16 64 64
Кэш-память L2 (на каждое ядро), Кбайт 4096? 2048 1024 1024 512
Процессорный разъем LGA 775 LGA 775 LGA 775 Socket AM2 Socket-939

?Действительно установлен в "1" бит, означающий наличие HyperThreading. С легкой руки AMD это теперь означает наличие двух ядер.
?На оба ядра, но распределение объема кэш-памяти между ядрами происходит динамически.
• - есть, ? - нет

Время доступа к кэш-памяти различных процессоров

Процессор Время доступа (latency time), такты
L1 L2
Intel Core Duo 2 3 14
Intel Pentium 4 4 32
AMD Athlon 64 3 12

Результаты теста SYSmark 2004

Процессор Internet Content Creation Office Productivity Ra-ting
Ove-rall 3D Crea-tion 2D Crea-tion Web Publi-cation Ove-rall Com-muni-cation Docu-ment Creation Data Ana-lysis
2,66-ГГц Intel Core Duo 2 6700 444 389 536 421 305 291 353 276 368
3,46-ГГц Intel Pentium XE-955 327 286 386 317 224 223 231 217 271
3,6-ГГц Intel Pentium 4 246 230 303 213 210 217 210 203 227
2,8-ГГц AMD Athlon 64 FX-62 382 338 445 370 251 275 281 204 310
2,2-ГГц AMD Athlon 64 3500+ 204 190 249 180 184 218 184 156 194

Результаты игровых тестов MDK2 (OpenGL) и Unreal Tournament 2003 (DirectX), кадр/с, при разрешении, точки

Процессор MDK2 Unreal Tournament 2003 (Flyby) Unreal Tournament 2003 (Botmatch)
640х 480 1024х 768 1600х 1200 640х 480 1024х 768 1600х 1200 640х 480 1024х 768 1600х 1200
2,66-ГГц Intel Core Duo 2 6700 496,6 490,8 365,6 491,0 373,5 189,8 150,5 150,1 127,0
3,46-ГГц Intel Pentium XE-955 260,9 265,8 263,7 273,1 269,6 188,8 90,5 90,2 88,1
3,6-ГГц Intel Pentium 4 194,4 182,1 176,0 257,6 256,9 187,7 81,8 87,8 64,7
2,8-ГГц AMD Athlon 64 FX-62 393,7 393,6 349,3 361,3 330,3 191,6 121,0 120,8 109,3
2,2-ГГц AMD Athlon 64 3500+ 278,0 277,6 273,7 267,4 265,2 188,6 91,1 91,0 89,1

Результаты тестов SPECviewperf, кадр/с

Процессор SPECviewperf (OpenGL)
3dsmax-03 catia-01 ensight-01 light-07 maya-01 proe-03 sw-01 ugs-04
2,66-ГГц Intel Core Duo 2 6700 24,16 19,74 16,46 19,48 41,01 24,48 17,82 7,26
3,46-ГГц Intel Pentium XE-955 20,59 14,32 14,55 10,82 26,89 21,73 17,08 7,15
3,6-ГГц Intel Pentium 4 20,48 13,48 13,92 10,01 23,51 19,81 16,41 6,98
2,8-ГГц AMD Athlon 64 FX-62 22,35 17,47 14,83 15,13 31,65 24,00 17,26 7,08
2,2-ГГц AMD Athlon 64 3500+ 19,49 13,94 13,54 11,78 24,35 19,15 15,86 6,69

Время выполнения синтетических тестов, мс

Процес-сор Нахо-ждение кратча-йшего пути, 65 536 вершин Микши-рование звука, MMX, 60 с 8 ка-налов Преобра-зование цвета, MMX, 1024х 768 точек Фрактал Манде-льброта, 1024х 768 точек Фра-ктал Жю-лиа, 1024х 768 точек "Реше-то Эра-тос-фена", 16 Мбайт Быс-трая сорти-ровка Хоара, 16 Мбайт
2,66-ГГц Intel Core Duo 2 6700 0,454 17,220 1,849 75,817 585,0 570,2 794,6
3,46-ГГц Intel Pentium XE-955 0,837 29,957 2,282 96,454 1038,7 663,6 1083,1
3,6-ГГц Intel Pentium 4 0,801 29,636 2,235 93,335 1005,0 703,6 1055,6
2,8-ГГц AMD Athlon 64 FX-62 0,382 23,325 1,867 79,241 750,5 638,7 869,0
2,2-ГГц AMD Athlon 64 3500+ 0,618 29,346 2,419 101,071 1000,8 745,1 1119,1

Сергей Андрианов

Мир ПК #10/2006