Выбрать главу

Не правда ли, впечатляет? Откуда же берется сие футуристическое изобилие, да еще и по смехотворным ценам? Все дело в том, что большинство современных приставок выпускаются и продаются по цене, гораздо меньшей себестоимости. Пользователя как бы «подсаживают на иглу», предлагая соблазнительный и навороченный «девайс», который, будучи единожды купленным, тут же превращается в мощнейшее средство выкачивания из потребителя денег на все новые и новые игры, оплату счетов за многопользовательские сетевые миры и приобретение разных аксессуаров к приставке. И лишние 100, а то и 300 долларов[Именно такой порядок потерь, по наблюдениям некоторых специалистов, будет нести первое время Sony с каждой проданной PS3], которые потерял производитель на первой продаже, довольно быстро к нему же и возвращаются. Именно поэтому все представленные на майской E3 приставки так дешевы.

А техническая продвинутость новых приставок - всего лишь лицевая сторона необходимости как можно более редкой смены «аппаратной платформы», для которой все эти игры и аксессуары предназначаются. Ведь если для того, чтобы нормально запустить вышедшую вчера игрушку, потребуется заменить купленную год назад приставку (неважно почему - из-за недостаточной производительности или отсутствия поддержки HD-DVD-дисков), то в дурацкой ситуации окажутся и покупатель, и продавец, причем первый будет возмущаться тем, что ему приходится покупать все новые и новые приставки, а второй - необходимостью постоянно за эти приставки приплачивать из собственного кармана. Так вот и получается, что единожды выпущенное на рынок поколение консолей живет с минимальными косметическими изменениями лет пять, постепенно отставая от новых веяний игровой индустрии, - до тех пор, пока его не сменяет следующее поколение.

PlayStation 3 и процессоры следующих поколений

Так что же нас ждет в конце 2005 - начале 2006 года? Информации на этот счет столько, что, ограниченный gznm. журнальными полосами, я даже не буду пытаться рассказывать обо всем: читателю, желающему получить предельно точное представление о PlayStation 3, Xbox 360 и Nintendo Revolution, предлагаю посмотреть на фотографии этих приставок и заглянуть в табличку, где вкратце перечисляются их технические характеристики. А я попробую вкратце остановиться лишь на самых интересных и интригующих моментах.

***

Во-первых, новые приставки получат в свое распоряжение процессоры потрясающей вычислительной мощности. Даже в дешевую Revolution, по слухам, будет устанавливаться топовый «настольный» процессор IBM - двухъядерный PowerPC G5, работающий на тактовой частоте 1,8 ГГц (по другим данным - 2,5 ГГц). И это - приставка стоимостью $250; более дорогие Xbox 360 и PS3 получат не просто новые, более быстрые и «кэшастые» CPU - они получат принципиально иные процессоры архитектуры следующего и даже послеследующего поколений! Не поленитесь набрать этот длинный адрес (images.anandtech.com/reviews/tradeshows/IDF/2005/Spring/Day3/FutureCPU/evolution.jpg) и взляните на слайд, демонстрировавшийся компанией Intel на IDF 2005 в ходе презентации Pentium Extreme Edition.

Первое поколение многоядерной архитектуры уже хорошо знакомо читателям по нашему циклу статей, посвященному двухъядерным процессорам Intel и AMD: и те и другие с технической точки зрения являются простым объединением на одном кристалле традиционной SMP-системы в миниатюре (два идентичных непересекающихся независимых ядра плюс, в случае AMD, обслуживающий ядра северный мост чипсета). Следующее поколение - это «существенно многоядерные» процессоры, в которых используется большой массив однотипных упрощенных ядер, объединенных общей логикой, интерфейсом шины и кэшем, - именно такое ядро (IBM Xenon) будет использовать в своих приставках Microsoft. Всего в Xenon три ядра, каждое из которых умеет работать с двумя программными потоками одновременно; причем ядра эти гиперконвейеризованы и лишены логики внеочередного исполнения команд, что упрощает их (одно ядро получается вдвое проще аналогичного ядра Intel Pentium 4 Prescott), позволяет работать на очень высокой (3,2 ГГц) частоте - но в то же время делает непригодным для целого ряда применений.

Out-of-Order execution и 'тупые блондинки' искусственного интеллекта

Внеочередное исполнение команд (Out-of-Order execution) означает, что процессор может переупорядочивать 'по своему вкусу' поток входных инструкций, при условии, что это не приведет к изменению результатов работы программы. Все современные x86-процессоры (и большинство RISC-) являются OoO-процессорами, а вот Xenon и Cell этой поддержки лишены: ее слишком сложно реализовывать в гиперконвейеризованных процессорах. Живой пример такой реализации - Pentium 4 - использует для этих целей весьма своеобразную систему 'реплея' (www.xbitlabs.com/articles/cpu/display/netburst-1.html), являющуюся, по мнению ряда экспертов, одной из главных причин высокого тепловыделения, огромной сложности и серьезных проблем с производительностью 'на мегагерц'. С другой стороны, отсутствие OoO мешает достигнуть высокой производительности при обращении к памяти (OoO-процессор может одновременно с поиском данных в кэше выполнять еще какие-то действия) и затрудняет проведение условных переходов. 'Упрощенный' не-OoO-процессор, встретив любую инструкцию перехода, загрузки или сохранения данных (а это частые гости в любом программном коде), вынужден приостанавливать выполнение текущей задачи до тех пор, пока не будет выполнена инструкция. Приплюсуйте сюда традиционные проблемы гиперконвейерной архитектуры (длиннющий конвейер, необходимый для того, чтобы достичь высоких тактовых частот), в которой любая подобного рода приостановка означает снижение скорости на данном участке кода в разы (!), - и вы поймете, что отсутствие OoO (которое, по некоторым наблюдениям, упрощает процессор в два-четыре раза) резко осложняет жизнь разработчикам, старающимся получить более или менее быстро работающий код. Фактически на Cell и Xenon быстро будут 'считаться' только всевозможные 'тяжелые' вычислительные спецэффекты, математические формулы (скажем, рэйтрейсинг сцены в реальном времени) да некоторые физические расчеты - и ничего больше! Все мы хорошо знаем, какие трудности испытывают в играх процессоры Pentium 4 (причем чем сложнее AI в игре, тем хуже ситуация), однако 'суперскалярные процессоры с упорядоченным выполнением команд' будут натыкаться на те же проблемы в удесятеренном масштабе (Pentium 4 зачастую верно 'угадывает' поведение программы в 'неприятных' для него местах; не-OoO-процессор спотыкается в таких местах всегда).

Так что же, все настолько печально и никакого толку от этих много-много-многогигагерцовых десятипоточных процессоров в играх не будет? Отнюдь. Например, 'незадействованные' ядра Cell или Xbox 360 могут блестяще заменить собой 'геометрические' блоки графических процессоров: все расчеты по вершинным шейдерам эти процессоры могут без заметных потерь производительности взять на себя. Есть даже предположения, что графический чип RSX в PlayStation 3 может и не иметь стандартных восьми вершинных конвейеров G70, а на их месте могут располагаться лишних 4-8 пиксельных конвейеров, которые при сохранении прежней себестоимости RSX значительно увеличат его производительность по сравнению с 'прародителем'. Кроме того, оказалось, что на Xenon и особенно на Cell очень удобно переложить и всю обработку объемного звука в играх. На этих процессорах неплохо считается игровая физика, воспроизводится и кодируется видео, осуществляется постпроцессинг в играх и рендеринг сцен без участия графического ускорителя. Но вот на 'AI следующего поколения' от Xenon и Cell можете даже не надеяться.