Непреклонность и беспощадность – вот те
качества, которые надлежит осознать и
прочувствовать нашему потенциальному
противнику!
Приписывается Бисмарку.
Вступление
Вот уже несколько тысячелетий у человечества есть одна и та же любимая игра – попытаться угадать будущее. Даже шахматы, карты и "наперстки" во всех своих видах уступают распространенности и, главное, интересу к попыткам предсказать правильный вариант развития той или иной ситуации. Не стали исключением и мы – попытаемся внятным образом изложить наши мысли и мнение о том, что ожидает компьютерный рынок в области процессоров. Заранее оговоримся, что мы не обладаем никаким сакральным знанием, не пользовались закрытыми корпоративными источниками и не пытаемся научить всех жить. Нет, то, что читатель прочтет ниже, основано сугубо на наблюдениях за развитием ситуации, изучении всевозможных слухов и данных, появляющихся в Интернете, а также на некоем обобщении нашего скромного опыта в компьютерном бизнесе. В данной статье мы отважимся на заведомо неблагодарное дело – попытаемся предсказать, куда и как будут развиваться процессоры Intel, по пути обсудив различные смежные вопросы. Неизвестно, что выйдет из такой попытки – но, в любом случае, пора навести порядок в собственных мыслях после того "шороха", который навели маркетинговые работники двух гигантов "процессоростроения".
Немного о рынке
Для начала попытаемся определиться, что же мы видим в данной области на сегодняшний момент. У Intel текущим процессором является Pentium 4, AMD в процессе перехода на процессоры нового поколения, Athlon 64 и Athlon FX (оба они основаны на ядре K8). Старшей моделью процессора от Intel на сегодня является Pentium 4 XE 3.2ГГц – разновидность процессора, содержащая кэш третьего уровня 2MБ. Соответственно, у AMD это Athlon FX, в той же степени экстремальная модель. Забавно, что и тот, и другой производитель сделали старшие модели, минимальным образом переделав серверные версии своих процессоров. Так сказать, решили задачу наименьшими средствами.
Какая же это была задача? По нашему мнению, одним из признаков современного компьютерного рынка является его диверсификация: рынок постепенно разделяется на несколько смежных сегментов, для которых предлагается свой, нишевый продукт. Оставляя за кадром вопрос об искусственности или естественности такой диверсификации, отметим, что таким образом ведут себя
и Intel,
и AMD. Другими словами, это нельзя назвать прихотью одной из корпораций. Похоже, что пора переосмысливать концепцию "универсального ПК" - полностью от универсальности [пока?] никто не отказывается, но все чаще раздаются "тревожные звоночки" от покупателей. Далеко не все готовы платить за новый виток гонки производительности центральных процессоров. Более того, сформировались некоторые концепции компьютеров, для которых производительность совсем не главное. Как пример, приведем пресловутый "офисный ПК" - уже довольно давно в качестве центрального процессора чаще всего применяются
младшие из серийно выпускаемых [на данный момент] процессоров. В результате вполне естественно, что покупателям таких машин будет предложено оборудование соответствующего класса – не только по частоте (производительности), но и по позиционированию, обвязке, и даже по
brand-имени. Как пример, припомним Celeron или Duron – являясь на сегодня весьма популярными, эти процессоры продемонстрировали вполне приемлемую производительность за весьма скромные деньги, чем и завоевали любовь покупателей.
Противоположная, и, тем не менее, до странности похожая ситуация на другом конце ценовой шкалы. Давно уже сложилась категория покупателей, которые приобретают технику "для имиджа". В этой технике важна, опять-таки, не столько производительность (хотя она обязана быть "на уровне"), сколько эксклюзивность. Другими словами,
эти люди готовы платить за то, чтобы их техника отличалась от популярных на данный момент устройств. Естественно, что ни одна корпорация в здравом уме и трезвом рассудке не станет пренебрегать возможностью переманить на свою сторону наиболее денежную категорию покупателей. Вернее сказать, категорию покупателей, которая тратит на компьютерные системы наибольшие (а частенько и экстремально высокие) суммы.
Больше скорости!
Тем не менее, основной рынок для производителя микропроцессоров – процессоры "среднего" диапазона. Именно их продается больше всего, именно они служат основным источником дохода для производителей. Соответственно, до недавнего времени основным маркетинговым инструментом в сравнении с конкурентами были показатели производительности в тех или иных признанных тестах. Со временем мастерство маркетинговых отделов (равно, как и "противостоящих" им тестеров) росло, а результаты становились все более странными и неоднозначными. Ну а на сегодняшний момент мы пришли и вовсе к непонятной для начинающего пользователя ситуации – в данный момент назвать однозначного лидера попросту невозможно. Собственно, даже опытный пользователь или журналист на вопрос "А что быстрее?" будет вынужден задать несколько уточняющих вопросов: "а в чем быстрее?" А для какой задачи? А что собираемся делать? Любой опытный тестер найдет пару десятков тестов, в которых выиграет заранее указанный процессор, не особо при этом изощряясь. А в особо "извращенных" случаях результаты тестирования даже в одном и том же приложении зависят от того, какую сцену мы применим. Сомневающихся в этом утверждении просим припомнить ситуацию в LightWare 7.0b, когда, в зависимости от выбора одной из двух сцен, входивших в комплект поставки, выигрывал тот или иной процессор. Таким образом, вместо ситуации, когда тесты должны упрощать выбор, получаем ситуацию, когда тесты на две страницы требуют чуть ли не двух десятков страниц толкования. Другими словами, обычные испытания на скорость практически потеряли свой первоначальный смысл. Собственно, никакого "заговора производителей" здесь нет – попросту устройство современных процессоров и платформ на их основе настолько отличается друг от друга, что прямое сравнение уже ничего особого не говорит…. Скажем, как ничего не скажет потенциальному покупателю сравнение спидометров джипа Land Rover и спортивного Ferrari. Понятно, что у Ferrari цифры будут больше. Но всегда ли он обгонит джип? А в грязи? А вне дороги?
Именно такая ситуация и наблюдается у нас. Отныне недостаточно сказать – вот этот процессор быстрее. Необходимо уточнять – он быстрее вот в таких-то приложениях и при таких условиях.
Все это привело к тому, что в качестве маркетинговых стимулов стали выступать совсем другие параметры. Как-то: нагрев, шум системы охлаждения, наличие/необходимость SSE2, ну а в последнее время, например, "64-битность".
64 бита в каждый дом!
Думаю, мы не окажемся слишком неправыми, если предположим, что именно вокруг этой темы разворачивается основная интрига, связанная с будущими процессорами от Intel. AMD на данном этапе "обошла на повороте" Intel, предложив вариант дальнейшего развития архитектуры x86. В результате маркетологи Intel оказались в достаточно сложной ситуации. С одной стороны, на сегодняшний момент у большинства пользователей действительно нет особой нужды в 64-битном программном обеспечении (за исключением узких сегментов рынка – вроде криптографии или баз данных под управлением соответствующих операционных систем). С другой стороны, это весьма привлекательный маркетинговый лозунг, который, к тому же, уже использовался Intel в свое время, во время перехода на i386. И теперь будет весьма непросто сражаться с конкурентом, у которого такое расширение есть – необходимо будет всем и каждому объяснять, что оно "не очень-то и нужно". Следует отметить, что у Intel есть собственная 64-битная архитектура, IA64, но по понятным причинам (стоимость аппаратной платформы и весьма небольшая скорость исполнения х86 кода, а также не очень обширный [по сравнению с х86] список доступного программного обеспечения), на массовом рынке эта платформа "не играет". Соответственно, вариантов поведения у корпорации Intel несколько:
- Не вводить никаких 64-битных расширений к архитектуре х86, сосредоточившись только на скоростных показателях своих IA32 процессоров
- Ввести собственное, несовместимое с AMD64 расширение архитектуры х86
- Ускорить внедрение на рынке десктоп-систем архитектуры IA64
- Воспользоваться уже готовым решением, лицензировав технологию AMD64
Присмотримся к этим вариантам поподробнее.
Первый вариант требует, как ни странно, достаточно больших усилий. Во-первых, как уже упоминалось выше, необходимо будет всем и каждому объяснять, что вот лично ему ничего переход на 64-битное программное обеспечение не даст. Во-вторых, в тех задачах, в которых все же наблюдается большой выигрыш от перехода на 64 бита и/или плоскую адресацию больших массивов памяти, придется исхитряться, чтобы не слишком отстать. В-третьих, придется постоянно следить за тем, чтобы собственные, 32-битные процессоры,
всегда были быстрее процессоров от конкурента – иначе, при равной скорости, вполне естественное человеческое желание получить "на всякий случай" все, что можно, сыграет роковую роль. При одинаковых или примерно равных показателях производительности человек может выбрать продукцию конкурента, поскольку она поддерживает
больше наборов инструкций, являясь, в некотором смысле, более "универсальной". Таким образом, можно предположить, что этот вариант скорее временный – до введения в действие вариантов 2, 3, или 4 (причем в последнем случае будет достаточно сложно объяснить, почему раньше необходимость в 64 битах отрицалась, а теперь вот неожиданно понадобилось).
Теперь перейдем ко второму пункту. Здесь ситуация сложнее: безусловно, Intel вполне по силам ввести собственную архитектуру, а затем планомерно внедрять ее в процессоры всех уровней вплоть до того момента, пока количество поддерживающих новую архитектуру процессоров не достигнет критического уровня. После чего производители программного обеспечения с удовольствием подхватят знамя поддержки нового набора инструкций. Собственно, за примерами далеко ходить не надо, достаточно припомнить историю с SSE2. Если в первое время этот набор инструкций практически у всех вызывал сдержанное недоумение, позднее воспринимался просто как особенность процессоров от Intel, то сейчас уже достаточно много программного обеспечения оптимизировано для его поддержки, и отныне поддержка этого набора выглядит насущной для современного процессора необходимостью. К тому же, подобный вариант вполне согласовывается с "политическими" мотивами – Intel
никогда не использовала решений AMD в своих продуктах. Дескать, "не гоже". Это потребует серьезных усилий (необходимо будет обосновать, почему этот вариант лучше, чем уже существующее решение от конкурента), довольно значительных капиталовложений в исследования и маркетинг. Но тут есть еще один неприятный для Intel нюанс – такой стиль внедрения хорош тогда, когда конкуренту нечего ему противопоставить. Поскольку на сегодняшний момент такой архитектуры у Intel [похоже] нет, необходимо ее придумать, обкатать, обнародовать набор инструкций, создать руководства по оптимизации, помочь компиляторами и инструментарием отладки – словом, делать все то, что делала AMD
последних два года перед выпуском К8. Ничего этого Intel не сделала – следовательно, готового решения, видимо, нет. Ибо ему самое время появиться – если этого не сделать, то конкурент укрепится на рынке 64-битного программного обеспечения, и выбить его из заранее укрепленных позиций будет ох как непросто. Да и, в самом деле, какой смысл для производителя программного обеспечения менять "шило на мыло" и тратить силы на поддержку второго набора инструкций, по сути дублирующего первый? Начни Intel пропагандировать свой набор инструкций одновременно (или с небольшой задержкой) с AMD – и выбор был бы ясен. А вот если дать AMD несколько лет форы – все становится уже не так очевидно. Другими словами, авторам этот вариант развития событий кажется все-таки слишком затратным при отсутствии явных выгод, разве что поступать "назло" AMD. Правда, опыт показывает, что в жизни корпорации редко руководствуются подобными мотивами – в основном все определяют финансовые перспективы того или иного решения. Таким образом, в этот вариант авторы тоже не слишком верят, хотя есть некоторые свидетельства того, что подобное развитие событий всерьез прорабатывалось в Intel. По-видимому, отголосками этого рассмотрения были слухи о проекте Yamhill, которые некоторое время назад активно муссировались в Интернете.
Третий вариант говорит о том, что Intel вполне может продвигать "вниз" то высокоуровневое решение, которое у него есть. Речь об архитектуре IA64 и процессорах Itanium. Теоретически, такой вариант действительно есть. Он требует двух вещей: приемлемой для массового рынка стоимости платформы и возможности безболезненного исполнения [с приемлемой производительностью] огромной базы уже существующего софта. Технически решение выглядит красиво – наконец-то можно будет попрощаться с х86 со всеми ее "нюансами", будь они неладны, – но не будем идеализировать ситуацию. Припомним, что эта архитектура создавалась для борьбы с RISC процессорами, с каковыми она вполне успешно конкурирует. Да, производительность у нее попросту лучшая, с этой стороны все в порядке. Но вот стоимость…. При всем притом, что архитектура продается за сравнимые (и даже меньшие) с другими RISC архитектурами деньги, это более чем на порядок дороже того уровня, который нужен для действительно массового спроса у нынешних покупателей персональных компьютеров. Многослойные материнские платы, широкие и быстрые шины, многоканальный интерливинг памяти, "многометровые" кэши – все это красиво с технической точки зрения, но вызовет просто непрекращающиеся судороги у какого-нибудь "народного" китайского производителя имени PC Chips. Да и нет никакой надежды на то, что покупатели, вдруг вдохновившись великолепными показателями производительности, увеличат на порядок расходы на ИТ. Лично авторы бы не увеличили. Можно, конечно, урезать частоты, кэши, шины – но тогда от великолепной производительности IA64 ничего, собственно, и не останется. Так что до нормального внедрения такой архитектуры должны быть технологические возможности, каковых на сегодняшний момент времени попросту не видно.
С этой точки зрения вторая часть мероприятия по внедрению IA64 – обеспечить приемлемый уровень производительности кода х86 – выглядит чисто технической задачей. В самом деле, в свое время у Digital уже был софт под названием FX32!, который служил транслирующей прослойкой для исполнения х86 программ на платформе Alpha. Кстати, ценой потери всего 30% производительности (правда, по другим источникам, потери производительности превышали 50%). Вроде немало – но если припомнить, что IA64 взяла барьер в 2000 SPEC CPU, то оставшихся две трети производительности представляют уровень практически топового процессора Pentium 4. Даже пусть потери составят 50% (учтем пессимистическую точку зрения), все равно получим весьма достойную производительность такого решения, плюс потенциал прироста производительности вдвое при перекомпиляции приложений (и, видимо, при переписывании их – слишком уж разные "идеологии" у х86 ПО и ПО под Itanium). Другими словами, авторы считают первую проблему гораздо более значимой, нежели вторую. Соответственно, данный вариант представляется на сегодняшний момент весьма маловероятным.
Остался четвертый вариант. Достаточно сложный для обдумывания вариант, надо сказать… Слишком уж много посторонних факторов оказываются важными при рассмотрении этого варианта.
Прежде всего, напомним, что Intel
никогда ранее не использовала ни единой технологии AMD. Может быть, из-за политических соображений. Может быть, из-за того, что всегда была та или иная альтернатива. Трудно что-либо заявлять в этом вопросе – корпорация никогда всерьез не комментировала эту ситуацию. Но в любом случае, данное обстоятельство, похоже, является категорическим императивом – то есть весьма маловероятно, чтобы в данном случае Intel изменила своим привычкам.
Для индустрии программного обеспечения и для пользователей подобный шаг корпорации пошел бы скорее во благо, достаточно утомительно поддерживать десяток разных версий программ для разных наборов платформ. В свое время сила х86-архитектуры заключалась именно в единстве программной модели: возвратись эти времена опять, и пользователи, и производители вздохнули бы с немалым облегчением. Правда, о совсем полной совместимости, опять таки, можно только мечтать – уже в следующем ядре, Prescott, Intel введет новый, дополнительный набор инструкций. Пока он имеет рабочее название PNI (Prescott New Instruction), но, насколько нам известно, получит маркетинговое имя SSE3.
Возможно, что определенным выходом для корпоративной "гордости" (хотя это скорее трезво выбранная позиция, нежели "простое человеческое упрямство") было бы продвижение технологии AMD64 под ее первоначальным именем – х86-64. В конце концов, словосочетание "х86" у всех четко ассоциируется с именем Intel, поэтому возможно, что маркетинговый отдел Intel сочтет такой компромисс приемлемым. Лично авторам этот вариант кажется достаточно выгодным. Более того, он, в общем-то, выгоден и самой Intel, ибо, сделав поддержку х86-64 под тем или иным именем, корпорация выбьет из рук соперника главный его маркетинговый козырь. Тогда как собственный козырь – технология Hyper Threading – будет приносить дивиденды еще сравнительно долго; по-видимому, до появления у AMD ядра К9, в котором обещается нечто подобное. Либо до появления двухядерных К8, что тоже ожидается отнюдь не завтра. Кроме того, весьма интересным видится взаимодействие технологий Hyper Threading и х86-64 в серверном программном обеспечении. Именно там, по мысли авторов, и будут наиболее заметны все преимущества обоих технологий.
Подытожим: если выбирать два наиболее вероятных варианта дальнейшего развития событий, то авторы отвели бы примерно равную долю вероятности двум вариантам, первому и четвертому. То есть, с нашей точки зрения, либо надо "не обращать внимания" на то, что у конкурента есть 64 бита и сосредоточиться на быстрых 32-битных решениях, либо принимать предложенное AMD расширение х86. Безусловно, выбор между этими двумя вариантами во многом будет определяться тем, какую активность и результативность продемонстрирует AMD. Если AMD не удастся убедить большинство покупателей в необходимости такого решения, то ничего делать не надо. Если же AMD преуспеет в подобном начинании, то Intel, будучи, прежде всего, весьма прагматичной корпорацией, сделает все возможное, чтобы на этом пути стать "святее Папы Римского". К примеру, сделает так, чтобы ее собственное, "АMD64 совместимое расширение" демонстрировало большую производительность и/или функциональность.
Не в последнюю очередь ситуация зависит и от крупных производителей софта, например, Microsoft. Кстати, большое количество производителей "серьезного" софта (CAD, CAM, ГИС) уже отнеслись к инициативе AMD сдержанно-одобрительно. Microsoft пока хранит скорее нейтралитет, но известно, что совместная работа с AMD над Windows 2003 AMD64 Edition давно уже ведется, продукт в настоящее время имеет статус release candidate, что достаточно красноречиво указывает на интерес крупнейшего производителя ОС. Недавно Microsoft совершенно официально объявила, что Windows Server 2003 Standard Edition for 64-Bit Extended Systems (AMD64), Windows Server 2003 Enterprise Edition for 64-Bit Extended Systems (AMD64), и Windows XP для AMD64 выйдут во второй половине 2004 года одновременно с Windows Server 2003 Standard Edition for Intel Itanium Systems. Собственно, оно и понятно – как бы нÐ