Шрифт:
Так что же, все настолько печально и никакого толку от этих много-много-многогигагерцовых десятипоточных процессоров в играх не будет? Отнюдь. Например, 'незадействованные' ядра 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 долларов?
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 виднее, как свои приставки проектировать.