Итак,
чип Flipper содержит 51 миллион транзисторов, создан он по техпроцессу
0,18 мкм (на этот раз меди в нем нет), а компания-производитель
- NEC. Несмотря на большое количество транзисторов, и несмотря на
такую мощь и функциональность ядра, по размерам Flipper не превышает
106 квадратных миллиметров. Можно считать, по размерам он равен
процессору Xbox. Единственный видимый недостаток - техпроцесс. Ведь
новые графические процессоры ATI, как и интегрированный графический
процессор Xbox созданы по техпроцессу 0,15 мкм. Благодаря этому
примерно на 30% уменьшается размер ядра, по сравнению с 0,18 мкм
собратьями. Быть может, в ближайшем будущем графический процессор
Xbox будет выпускаться по техпроцессу 0,13 мкм - ведь ко второй
половине 2002 года TSMC дозреет до техпроцесса 0,13 мкм. Причину,
по которой Flipper выпускается по техпроцессу 0,18 мкм, мы объясним
позднее.
Именно
на Flipper возложена роль северного моста - ведь он соединен с главным
процессором Gekko 64-битной шиной, работающей на частоте 162МГц.
Сам чип работает тоже на частоте 162МГц, что благотворно влияет
на сокращения задержек при выполнении операций, ведь при этом все
шины работают синхронно. Кроме того, это означает, что и графическое
ядро работает на той же частоте.
Несколько
слов о графическом ядре Flipper - это достаточно простой графический
процессор с фиксированной функциональностью. Работу ядра обеспечивает
память с большой пропускной способностью. Но сначала все же рассмотрим
архитектуру самого графического ядра. Итак, в каждый момент времени
Flipper работает с четырьмя пикселями благодаря использованию четырех
пиксельных конвейеров. Каждый из этих конвейеров может накладывать
по одной текстуре на пиксель. Это сразу же наводит на мысль, что
на дизайн ArtX ATI вообще никак не повлияла. А то, что конвейеры
и Radeon, и GeForce2 могут накладывать одновременно минимум по две
текстуры на пиксель - сейчас оказывается очень даже кстати, ведь
уже ни одна современная игра не использует только одну текстуру
на пиксель.
То,
что функциональность T&L модуля у Flipper фиксирована - несколько
разочаровывает. Но для ArtX было практически невозможно внедрить
технологию SmartShader от ATI - технологию программируемых пиксельных
и вершинных шейдеров, и при этом уложится в график Nintendo. Единственное,
что говорит в пользу GameCube - это то, что Flipper полностью задумывался
как процессор для игровой приставки, и его T&L устройство более
соответствует требованиям разработчиков, нежели более ранние модели
T&L устройств для графических карт ПК. И хотя может быть оно
лучше подходит для игровых приставок, чем первые T&L устройства
для персональных компьютеров, факт остается фактом. Из-за фиксированной
функциональности конвейера T&L, разработчики игр столкнутся
с некоторыми ограничениями. За два года мы уже разобрались, чем
чревата фиксированная функциональность T&L модулей в играх на
ПК, и не хотелось бы, чтобы те же проблемы возникли и перед разработчиками
игр на Flipper.
Когда
речь идет об игровых приставках, очень важным фактором считается
возможность полноэкранного сглаживания. Поэтому отметим, что Flipper
поддерживает полноэкранное сглаживание. Ядро обеспечивает 7-семпловое
multisample полноэкранное сглаживание. Но справедливости ради отметим,
что в таком режиме игры будут тормозить. ATI заявила, что количество
сэмплов можно изменять - все зависит от воли разработчика. Но пока
же, как и в случае с Xbox, мы не обнаружили ни одного случая, когда
бы применялось полноэкранное сглаживание - пока таких игр ещё не
появилось.
Зная
рабочую частоту ядра (162МГц), можно сказать, что графическое ядро
Flipper в отношении скорости заполнения ничего особенного не представляет.
Тем не менее, это достаточно эффективный графический процессор.
Эффективность обусловлена использованием встроенной памяти DRAM.
"Если
кэш такой быстрый, почему бы не поместить всю память в кэш?"
Самым
интересным в дизайне GameCube, пожалуй, является эффективность пропускной
способности памяти. Эффективность достигается путем использования
памяти специального типа, известной как 1T-SRAM. Эта память позволяет
снизить задержки и более эффективно использовать шину, чем традиционная
DRAM. Перед тем, как мы обратимся непосредственно к самой 1T-SRAM,
сначала рассмотрим отличия традиционной DRAM и SRAM.
Кэш на кристалле процессора Gekko, как и любого другого графического
процессора, представляет собой статический тип памяти - Static RAM,
SRAM. Слово "статическая" появилось в результате того,
что в отличие от DRAM (Dynamic Random Access Memory), ячейки этой
памяти не должны постоянно "обновляться", чтобы хранить
данные (ведь в основу DRAM положено емкостное сопротивление: через
некоторое время заряд теряется, и если его не "обновить",
данные потеряются). Одна из причин, по которой DRAM работает медленнее,
чем SRAM - это постоянный процесс "обновления". А самый
популярный способ "обновлять" данные - это считывать данные.
Все
это было бы просто замечательно, если бы не необходимость в считывании
или записи для "обновления" данных. SRAM избегает этого
с помощью 4-6 транзисторов, которые статически сдерживают данные
в памяти. С другой стороны, для хранения данных в DRAM используется
всего лишь один транзистор в сочетании с конденсатором. Благодаря
конденсатору значительно уменьшается размер ячеек DRAM на кристалле.
В результате производство памяти обходится дешевле. Но при этом
возникает проблема "обновления" данных, о которой мы уже
рассказали.
Именно
вследствие ценового фактора память SRAM не используется в больших
количествах. Ведь она в несколько раз дороже DRAM. Поэтому SRAM
не используют в качестве основной памяти системы. Но применение
этой памяти в небольших объемах очень даже оправдано. Например,
она идеально подходит для кэша.
Компания
Monolithic System Technology, Inc. (MoSys) предложила более разумный
дизайн памяти. Благодаря этому решению производительность новой
памяти не уступала SRAM, а стоимость при этом сильно не возросла.
Технология,
над которой работала MoSys, носит название 1T-SRAM. Название указывает
на то, что в памяти используется один единственный транзистор (1
transistor - 1T) вместо стандартных 6 транзисторов. По сути дела,
такое решение больше похоже на модернизацию DRAM, а не на SRAM.
А все потому, что для сохранения данных эта память все так же требует
"обновления" ячеек. Разница лишь в том, как именно происходит
это "обновление". По сведениям MoSys, дизайн 1T-SRAM позволяет
добиться "маскировки" процесса обновления данных, в результате
по времени задержки и по пропускной способности новая память не
уступает традиционной SRAM (хотя и не превосходит). Очевидно, что
подтвердить такое утверждение, или опровергнуть его будет очень
сложно, так как пока память 1T-SRAM используется лишь на очень малом
числе пригодных для тестирования платформ. Но очевидно и то, что
задержки на самом деле меньше, и пропускная способность используется
эффективнее. Остается вопрос, сколько это будет стоить.
MoSys
утверждает, что размер кристалла памяти 1T-SRAM 64Мбит является
на 10-15% больше, чем у аналогичной памяти SDRAM. И хотя кому-то
это может показаться незначительным, не стоит забывать, что по размерам
64Мбит RDRAM память на 15-30% больше 64 Мбит SDRAM. В результате
добавочная стоимость чипа 1T-SRAM будет составлять от 30% до 100%
добавочной стоимости чипа RDRAM (мы оцениваем лишь цену производства
без лицензионных выплат) по сравнению с чипом SDRAM. Тем не менее,
1T-SRAM будет в любом случае дешевле, чем обычная память SRAM, опять
же вследствие того, что вместо шести транзисторов используется лишь
один.
В смысле
же производительности оценить 1T-SRAM будет очень сложно, так как
мы не встречали ещё пригодных для тестирования платформ с этой памятью.
Поэтому делать какие-либо предположения или сравнения очень сложно.
Отметим только, что Nintendo планирует полностью использовать память
1T-SRAM в своих приставках GameCube.
Встроенная
во Flipper DRAM
Итак,
подход Flipper заключается в использовании 0,18 мкм техпроцесса
NEC для встраивания 1T-SRAM от MoSys, которая составляет два кэша
очень большой емкости: Z-буфер на 2Мб и кэш текстур на 1Мб. В итоге
такое решение получается дешевле, чем оснащение чипа тремя мегабайтами
SRAM памяти. А если говорить о размере кристалла и о стоимости чипа,
то такое решение могло бы дать фору большинству серверных процессоров
(GameCube не обрела бы такого успеха, если бы Nintendo теряла с
каждой приставки $500, как не обрела бы успеха и если бы приставка
стоила $700). Теоретически встроенная память работает быстрее DRAM
в свете уже описанных преимуществ 1T-SRAM.
Итак, графическое устройство Flipper состоит из 51 миллиона транзисторов,
примерно половина из которых предназначена для 1T-SRAM. Если бы
Flipper использовал традиционную SRAM, в нем бы работало не 51,
а 170 миллионов транзисторов. В результате размер кристалла оказался
бы больше, чем размер обоих кристаллов Xbox. Использование 1T-SRAM
вместо традиционной SRAM необходимо для обеспечения Flipper достаточным
объемом памяти.
2 Мб
Z-буфер/кадровый буфер оказывается как нельзя кстати. Из наших опытов
с HyperZ и популярными архитектурами рендеринга, с которыми работает
Z-буфер, мы знаем, как сильно они используют пропускную способность
памяти. Итак, этот Z-буфер на кристалле полностью исключает обращения
к основной памяти, в результате чего снижается нагрузка на и без
того ограниченный по пропускной способности канал от графического
устройства Flipper к основной памяти. Для тех, кого интересуют подробности,
скажем, что в чипе имеется четыре устройства памяти 1T-SRAM, в сумме
дающие 2Мб. Каждое из этих устройств соединяется по 96-битной шине,
что в сумме дает пропускную способность в 7,8 Гбайт/с. Такую пропускную
способность Z-буфера можно сравнить с монстрами типа Radeon 8500
или GeForce3 Ti 500. Так как память 1T-SRAM скоростная, то и все
обращения к Z-буферу происходят очень быстро. Кроме того, отображаемая
поверхность также сначала попадает в эти 2Мб, а уже затем пересылается
на внешнюю память для отображения. В результате этого снижается
зависимость от пропускной способности основной памяти.
Кэш
текстур на 1Мб обеспечивает систему текстурами, но он не играет
такой роли, как, скажем, Z-буфер на 2Мб. В нем используется 32 устройства
1T-SRAM (каждое по 256 кбит), и каждое из них соединено 16-битной
шиной. В результате пропускная способность кэша составляет 10,4
Гбайт/с.
Первое,
что заставляет задуматься насчет устройств 1T-SRAM на кристалле
Flipper - это то, что они очень кстати подошли бы для платформы
PC. Впрочем, вряд ли кто-то вздумает просчитывать графику на Flipper
в разрешении большем, чем 640 x 480 (надо сказать, это разрешение
не сильно загружает пропускную способность памяти), при современных
графических картах лишь немногие игроки согласятся играть в разрешениях,
меньших, скажем, чем 1024 x 768. Но хорошо бы оснастить карты таким
же 2 Мб Z-буфером, встроенным в кристалл. Это положительно бы сказалось
на производительности, особенно если учитывать, насколько требовательнее
к пропускной способности памяти большинство игр для PC. ATI, пожалуй,
в самом деле стоит задуматься об использовании подобных технологий
в своих продуктах для PC. Но скорее всего, это окажется слишком
дорогим удовольствием.
Кроме
того, возможно, со временем производить Flipper станет дешевле.
В настоящее время NEC выпускает встроенную DRAM по 0,15 мкм технроцессу,
но пока эта технология не настолько хороша, как 0,18 мкм eDRAM.
Именно по этой причине в настоящее время Flipper производится по
техпроцессу 0,18 мкм. Ко второй половине следующего года, вероятно,
развитие технологии позволит создавать eDRAM по техпроцессу 0,13
мкм. А это означает, что в 2003 году мы сможем увидеть Flipper с
техпроцессом 0,13 мкм. Переход на 0,13 мкм техпроцесс позволит вдвое
уменьшить размер ядра, а производить кристалл меньших размеров дешевле.
Но все это зависит от NEC.
1T-SRAM
вне Flipper
В качестве
главной памяти в GameCube используется ещё 24 Мбайт 1T-SRAM. 64-битная
шина памяти работает на вдвое большей частоте, чем Flipper (то есть
324МГц), в результате чего пропускная способность шины, соединяющей
Flipper и основную память составляет 2,6 Гбайт/с. И хотя такая пропускная
способность соответствует GeForce 256, напомним, что все обращения
к Z-буферу используют встроенную 1T-SRAM, и прорисовываемый кадр
вначале обрабатывается во встроенном на кристалле 2Мб буфере. В
результате требования к пропускной способности становятся не такими
высокими. |