Компьютер на основе девятиядерного процессора IBM (частота 3,2 ГГц, кэш 2,5 Мбайт), графический ускоритель Nvidia GeForce 7800 Ultra, двухканальная оперативная память перспективного стандарта Rambus XDR (тактовая частота 3,2 ГГц), оптический привод Blu-Ray. Цена 500 долларов, возможен торг.

Думаете, это фантастика и прогнозы на далекий от нас 2008, а то и 2010 год? Вовсе нет, на самом деле это всего лишь технические характеристики представленной в мае на выставке Electronic Entertainment Expo (E3) игровой приставки Sony PlayStation 3, купить которую можно будет уже через полгода.

Как же такое возможно, спросит читатель? Ведь сопоставимый процессор стоит сегодня под 1000 долларов, видеокарта - под 800, бытовой BD-плейер - больше 500, 256 Мбайт оперативной памяти XDR - еще 200. А приплюсуйте сюда встроенный полупрофессиональный сетевой переключатель (три порта Gigabit Ethernet и WiFi 802.11b/g, $50-100), а также поддержку Bluetooth, перспективного видеоинтерфейса HDMI, полноценного воспроизведения и записи видео высокого разрешения - и вы поймете, почему за этой приставкой еще за полгода до ее выхода выстраиваются очереди, причем не только из «игроков».

Впрочем, если отказаться от функциональности BD-плейера и прочих второстепенных для настоящего игрока «фич», то приобщиться к будущему можно и за гораздо меньшие деньги, поскольку конкурирующие решения с сопоставимой производительностью на все той же E3 выкатили и оба главных соперника Sony на «приставочном» рынке - Microsoft (Xbox 360, $300) и Nintendo (Revolution, $250). Точных данных о начинке последней пока нет, однако ее предполагаемые характеристики говорят сами за себя: крошечная коробочка размером всего лишь с два DVD-бокса является прямым аналогом нынешних двухтысячедолларовых «Маков» (двухъядерный IBM PowerPC G5 1,8-2,5 ГГц; мощный графический процессор ATI следующего поколения; 256 Мбайт графической памяти плюс 128 Мбайт сверхбыстрой статической оперативной памяти 1T-SRAM). И это - самая слабая и самая дешевая из приставок следующего поколения!

Не правда ли, впечатляет? Откуда же берется сие футуристическое изобилие, да еще и по смехотворным ценам? Все дело в том, что большинство современных приставок выпускаются и продаются по цене, гораздо меньшей себестоимости. Пользователя как бы «подсаживают на иглу», предлагая соблазнительный и навороченный «девайс», который, будучи единожды купленным, тут же превращается в мощнейшее средство выкачивания из потребителя денег на все новые и новые игры, оплату счетов за многопользовательские сетевые миры и приобретение разных аксессуаров к приставке. И лишние 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 - использует для этих целей весьма своеобразную систему 'реплея' (), являющуюся, по мнению ряда экспертов, одной из главных причин высокого тепловыделения, огромной сложности и серьезных проблем с производительностью 'на мегагерц'. С другой стороны, отсутствие 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 можете даже не надеяться.

Sony (в альянсе с Toshiba и IBM) пошла еще дальше - оставив в процессоре лишь одно ядро «общего назначения» (как и в Xenon, гиперконвейеризованное, с упорядоченным выполнением инструкций и поддерживающее одновременную работу с двумя потоками данных) и добавив к нему аж восемь «ядрышек» - Synergetic Processing Elements, SPE, лишенных не только OoO-логики, но и таких «бесполезных» изобретений человечества, как MMU (Memory Management Unit, отвечает за реализацию механизмов виртуальной памяти), TLB (это кэш, используемый MMU) и… собственно кэшей вообще всех уровней. Фактически каждый SPE - это современный высокочастотный гиперконвейеризованный векторный аналог… 286-го процессора. Каждый такой SPE «изолирован» от внешней системы и может работать только со специальной «локальной» SRAM-памятью объемом 256 Кбайт, интегрированной в кристалл процессора. То, что находится за пределами этого «компьютера в миниатюре», со своим процессором и оперативной памятью, для SPE практически недоступно: все, что он может делать, - это отдельной специальной инструкцией пересылать, считывать или записывать данные в локальную память большими блоками либо работать в «потоковом» режиме, непрерывно принимая по шине данные, тут же выполняя над ними однотипную операцию и сразу же передавая данные обратно или другому SPE. Microsoft даже презрительно окрестила SPE разновидностью DSP-процессоров[Digital Signal Processors, специализированные программируемые микросхемы, предназначенные для выполнения над потоками данных одних и тех же операций], однако это утверждение весьма далеко от истины. SPE могут делать практически все, что угодно, причем стандартные алгоритмы написания хороших параллельных программ прекрасно ложатся на схему «один большой и главный процессор плюс много простых вспомогательных с локальной памятью»: если бы не пониженная «одинарная» (32-битная) точность вычислений с плавающей точкой, этот процессор ожидало бы большое будущее в научной сфере. Но для расчетов игровой физики и там, где высокая точность все равно не требуется (как в случае, например, рэйтрейсинга), Cell - процессор практически идеальный.

Cell - первый в мире процессор, который широко использует для своих целей оперативную память следующего поколения Rambus XDR с последовательной шиной передачи данных[Подробнее см. на offline.computerra.ru/2004/547/34190], работающей на полной частоте процессора - 3,2 ГГц. Контроллер памяти XDR интегрирован непосредственно в процессор Cell, всего поддерживается две 32-разрядные шины общей пропускной способностью 25,6 Гбайт/с - втрое-вчетверо выше, чем у самых быстрых процессоров Intel и AMD. Cell куда совершеннее даже такого шедевра компьютерной архитектуры, каким является AMD Athlon 64, поскольку объединяет в себе все положительные черты AMD’шной архитектуры (все-таки IBM и AMD - партнеры по разработке процессоров), на основе гораздо более высокопроизводительных (по сравнению с Hyper-Transport) последовательных интерфейсов RaSer от Rambus. Графический процессор подключается напрямую к Cell по шине с пропускной способностью 20 Гбайт/с в сторону Cell и 15 Гбайт/с в сторону GPU; а южный мост - по независимой шине с пропускной способностью 1,5 Гбайт/с. Это перекрывает достижения AMD по пиковой пропускной способности каналов ввода-вывода в полтора-четыре раза и делает оправданным применение в столь быстром графическом чипе, как RSX, технологии, аналогичной TurboCache (которую Nvidia использует в своих самых дешевых видеокартах) и позволяющей графическому процессору использовать в качестве видеопамяти обычную системную оперативную память.

***

Еще я бы отметил тщательно продуманные возможности для «неигрового» развлекательного применения PlayStation 3. Если видеовыход - то реализованный в виде двух портов цифрового интерфейса HDMI[См. «КТ» #541 (offline.computerra.ru/2004/541/33568) ], обеспечивающих с небольшим кабелем картинку вплоть до HDTV 1080p (самого «продвинутого» стандарта для видео высокого разрешения) и полноценный шестиканальный звук (декодируемый одним из SPE Cell). Если оптический привод - так для Blu-Ray-дисков (BD-ROM), что дает не только практически неограниченное пространство для записи сегодняшних и будущих игр, но и отличную возможность для использования PlayStation 3 в качестве BD-плейера. Благо мощности Cell хватает для одновременного декодирования аж двенадцати видеопотоков HDTV, сжатых кодеком H.264. Интегрированная сеть - уже упоминавшиеся три порта Gigabit Ethernet, причем PlayStation 3 может для них, а также для интегрированного WiFi стандарта 802.11b/g выступать роутером. Этого как раз хватает, чтобы подключить PS3 к Интернету посредством домовой сети, подключить к локальной домашней сети через PlayStation «большой» домашний компьютер и ноутбук, а заодно обеспечить быструю беспроводную сеть. По уже упоминавшемуся HDMI к PS3 можно подключить цифровую видеокамеру и сохранить отснятый материал на встроенный 2,5-дюймовый жесткий диск (правда, сам диск придется покупать отдельно); используя встроенный кардридер - посмотреть и сохранить отснятые любым фотоаппаратом снимки (SD, CF и MemoryStick практически исчерпывают спектр используемых карт памяти). Интегрированный Bluetooth позволит использовать совместно с PS3 стандартные устройства (например, обычные телефонные гарнитуры) и наоборот - использовать устройства для PlayStation 3 не только с самой приставкой. А заодно - легко синхронизировать с PS3 современные КПК и телефоны. Ну и, наконец, шести портов USB 2.0 за глаза хватит для подключения любых манипуляторов (джойстиков, мыши, клавиатуры) и флэшек. Не правда ли, приставка стоит своих 500 долларов?

X-ящик номер 360 и графика DirectX.Next

Microsoft, как ни забавно, плавает гораздо мельче: в отличие от первой Xbox, усовершенствованная Xbox 360 на звание самого-самого революционного творения, увы, не тянет. Зато она прекрасно справляется со своей основной задачей - с играми следующего поколения.

Предмет законной гордости микрософтовского творения - графический процессор ATI Xenos (R500). Nvidia RSX - очень мощный по нынешним меркам GPU, однако основан он на старой, «классической» архитектуре с раздельными пиксельными и вершинными конвейерами. Фактически RSX - просто слегка усовершенствованная версия GPU G70 и (поскольку G70 - лишь «работа над ошибками» NV4x) непосредственный наследник линейки ускорителей GeForce 6xxx, разве что работающий примерно вдвое быстрее бывшего кумира - GeForce 6800 Ultra. А вот Xenos - совсем другое дело: это не просто принципиально иной чип для самой ATI, это еще и принципиально иная архитектура графических процессоров, следующее ее поколение. В Xenos (он же R500) вообще нет выделенных специализированных пиксельных или вершинных конвейеров, а вместо них - 48 (!) универсальных программируемых конвейеров, способных производить над данными произвольные вычисления и с одинаковой эффективностью выполнять любые шейдеры. То есть если в простой сцене для расчета геометрии достаточно четырех конвейеров, то оставшиеся 44 можно бросить на расчет сложных пиксельных шейдеров и наоборот - в сложной геометрической сцене с минимумом шейдеров можно задействовать большинство конвейеров для расчета геометрии, оставив для нужд пиксельных вычислений лишь необходимый минимум. В итоге неважно, какая сцена рендерится, - GPU загружен на полную мощность всегда. А гибкость этих программируемых конвейеров вполне достаточна, чтобы наконец-то реализовать поддержку Shader Model 3.0 и в графических чипах производства ATI.

Да что там шейдеры третьей версии! Unified Shader Architecture с ее универсальными вычислительными ресурсами графического процессора - это шаг вперед, от DirectX 9 (с которым мы живем вот уже больше трех лет, постепенно переходя от версии 9.0a к 9.0b и свежей 9.0c) к «десятому» поколению DirectX (более известному как DirectX.Next или Windows Graphics Foundation 2.0), которое должно лечь в основу ОС Longhorn. Причем объясняется этот «переход» отнюдь не маркетинговыми соображениями, а возможностью использования ускорителя архитектуры USA в качестве практически полноценного и самодостаточного программируемого процессора! Попросту говоря, Xenos позволяет за один такт исполнить до 48 произвольных скалярных и 48 произвольных векторных инструкций, а что за данные при этом обрабатываются - закрашивается ли треугольник, рассчитывается ли сложная геометрическая сцена или производится моделирование процессов сворачивания белка, - ему все равно. Все необходимые для подобного «нецелевого» использования библиотеки (ATI Modeling Engine) канадская компания разработчикам уже предоставила.

***

Еще одна интересная «фича» R500 - наличие 10 Мбайт интегрированной видеопамяти, играющей роль быстродействующего (256 Мбайт/с) объемистого кэша. ATI утверждает, что эти самые десять «быстрых» мегабайт позволят реализовывать на Xenus качественный полноэкранный антиалисинг ценой потери всего лишь… 1-5% скорости! Отнюдь не лишний бонус для приставки, предназначенной для совместной работы с телевизорами и мониторами высокого разрешения. Правда, 10 Мбайт кэш-памяти - это и весьма впечатляющее (несколько десятков миллионов) количество транзисторов, и здоровенный кусок кристалла GPU, так что в итоге кристалл и без того немаленького Xenos оказался столь громоздким, что технологи разделили его на два независимых чипа, ставящихся на одну подложку. «Базовый» чип - это собственно и есть сам R500 с его 48 универсальными конвейерами, обслуживающей их логикой и контроллером видеопамяти; существенно меньших размеров «дочерний» кристалл - те самые 10 Мбайт буфера видеопамяти и блоки растровых операций ROP (Raster Operations), которые выполняют запись рассчитанных графическими конвейерами данных во фрейм-буфер, ведают отсечением невидимых пикселов (z-test), смешением полупрозрачных цветов (блендингом) и тому подобными «вспомогательными» операциями. Пропускная способность шины, соединяющей чипы, - «всего лишь» 30 Гбайт/с, однако для передачи предварительно сжатых, еще «недообработанных» данных этого, видимо, достаточно.

Интересно, что Microsoft полностью отказалась от использования в приставке Xbox 360 обычной «системной» оперативной памяти, решив, что для нужд центрального процессора должно хватить 512 Мбайт далеко не самой быстрой (1400 МГц GDDR3, но с узкой 128-разрядной шиной) видеопамяти. Получилась классическая Unified Memory Architecture с оперативной памятью, общей для всех компонентов системы, только «вывернутая наизнанку» - не графический процессор подключается к чипсету и процессору и «забирает» у них необходимую пропускную способность, а наоборот, центральный процессор и чипсет «расходуют» пропускную способность видеопамяти. С моей точки зрения, решение довольно спорное (хотя по соображениям надежности видеопамять, работающая на предельно высоких тактовых частотах, - не самое подходящее место для хранения принципиально важных данных); однако Microsoft виднее, как свои приставки проектировать.

«Революция» от Nintendo и вопросы совместимости

Революция - дело, требующее конспирации. Вот и в некогда могущественной Nintendo, похоже, так считают, поскольку о ее новой «революционной» приставке на сегодняшний момент известно лишь следующее:

кодовые названия и производители процессора (IBM Broadway) и графического чипа (ATI Hollywood);

тип используемой оперативной памяти (1T-SRAM);

в роли постоянного накопителя выступит встроенная флэш-память (512 Мбайт);

в приставку будет встроен адаптер WiFi 802.11b/g;

поддерживаемые интерфейсы - 2x USB, 2x SD, четыре порта контроллеров GameCube;

приставка (за отдельную плату) будет работать в качестве DVD-плейера, а игры к ней по-прежнему будут поставляться на GCN-дисках;

внешний вид по сравнению с показанным на E3 прототипом изменится (серийная приставка будет несколько меньше).

Неизвестны ни производительность, ни цена, ни дата выхода приставки в свет. Зато у Revolution есть одна уникальная черта - это совместимость буквально со всем спектром когда-либо выпускавшихся для Nintendo (и, возможно, для Sega) игр - с тайтлами для GameCube Revolution совместима изначально, а более ранние игрушки можно будет загружать из Сети и сохранять на встроенном в приставку флэш-диске (старые приставки Revolution будет программно эмулировать). Казалось бы, во что там можно играть из старья десятилетней давности… Например, я (как, наверное, и все игроки, начинавшие с Dune, Desert Strike, Transport Tycoon и Full Throttle) этот маленький штришок оценил по достоинству: старые игры почти ничего не стоят и не занимают много места, а удовольствия проведенный за старой доброй игрой вечер доставляет немало.

Впрочем, Sony и Microsoft тоже не забывают о совместимости с предыдущим поколением. Популярность любой приставки в очень и очень большой степени обуславливается выбором игр для нее - и накопленный «пул» игр (больше 10 тысяч наименований для PlayStation) и накопленная за несколько лет «игротека» (это ведь только у нас новая игра стоит гроши) становятся весомым аргументом при выборе новой приставки. Благо что многократно выросшая производительность центральных процессоров и GPU позволяет новым приставкам с приличной скоростью эмулировать старое железо.