Подробности о графическом ядре Xbox 360

Понедельник, 23 мая 2005 г.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e

Стали известны подробности архитектуры графического процессора, установленного в игровых консолях Microsoft Xbox 360. Напомним, что графическое ядро разрабатывалось канадской компанией ATI специально для консоли.

Схема архитектуры выглядит следующим образом:


Данные, пройдя через начальные блоки, поступают к секвенсор (что-то вроде коммутатора). Целью секвенсора является стопроцентная загрузка всех вычислительных блоков ядра самым эффективным способом. Он способен обрабатывать до 64 программных потоков в единицу времени, используя при этом предвыборку данных, алгоритмы предсказания ветвлений и т.д. Секвенсор может перестраивать очередь потоков таким образом, чтобы ALU не простаивали в ожидании данных от других потоков.

На кристалле ядра расположено 48 арифметических блоков (ALU), разделенных на 3 SIMD-группы по 16. После завершения просчета в конвейере каждый из 16 ALU может записать до 2 блоков информации в имеющиеся в распоряжении 10 Мб памяти EDRAM (о ней ниже). Таким образом, от одного конвейера мы получаем 32 блока, от всего ядра - 96 блоков за такт. При рабочей частоте 500 МГц это означает, что за секунду в EDRAM записывается 48 млрд блоков информации. Каждый из ALU способен производить 5 вычислений с плавающей точкой над шейдером за такт, следовательно, ядро обеспечивает производительность 120 млрд операций с шейдерами в секунду.

ALU сделаны универсальными, т.е. они могут производить вычисления как над шейдерами, так и над пикселями. Весь массив из 48 ALU за один такт может производить только один вид вычислений (либо шейдерные, либо пиксельные), однако на следующем такте они могут переключиться на другой.

Отдельный разговор о памяти. Для непосредственных операций с данными ATI применила быструю память Embedded DRAM объемом 10 Мб. Память расположена в одной упаковке с ядром, но имеет собственное ядро. По мере совершенствования технологий, возможно, EDRAM будет интегрироваться в ядро самого графического процессора. Память работает на частоте 2 ГГц и обеспечивает пропускную способность до 256 ГБит/сек. Отдельно подчеркивается, что это реальная полоса пропускания, а не "эффективная" (с учетом сжатия). GPU записывает все данные из трех буферов (Back Buffer, Z-Buffer и Btencil Buffer) в EDRAM. После того, как ядро просчитывает картинку и рапортует о готовности вывести кадр на монитор, EDRAM переводит данные из Back Buffer в кадровый буфер объемом 512 Мб на основе памяти стандарта GDDR3, работающий на частоте 700 МГц. Текстуры также хранятся в GDDR3, т.к. 10 Мб EDRAM заполняются информацией о каждом пикселе в составе картинки расширением 1280x720 пикселей, включая образцы Z, стенсильных теней и сглаженных суб-пикселей.

Память EDRAM, кроме того, оборудована собственной логикой, которая проводит сравнение Z-субпикселей, Alpha-blending и просчет образцов для сглаживания (Antialiasing samples) в пиксели. Обычно эти операции выполняются ядром и забирают большую часть полосы пропускания памяти, т.к. данные прогоняются из памяти к ядру и обратно. Именно поэтому при активации сглаживания так падает производительность. Использование отдельной логики позволит значительно повысить скорость просчета картинки в "тяжелых" для ядра режимах.

Графический процессор соединен с центральным процессором консоли шиной с пропускной способностью 22 ГБ/сек, и с южным мостом SiS и контроллером ввода-вывода через две линии PCI Express. 256-битная шина между ядром и памятью GDDR3, работающей на частоте 700 МГц, обеспечивает пропускную способность 25,6 ГБ/сек.

Ядро, по словам ATI, достаточно небольшое. При этом, даже работая на полную мощность на частоте 500 МГц, оно потребляет всего 35 Вт, включая EDRAM. Ядро поддерживает продвинутые функции энергосбережения, позволяя динамически отключать неиспользуемые блоки.

ATI сообщила, что ядро разрабатывалось без ориентации на какой-то особенный программный интерфейс (API). Более того, при разработке не делалась оглядка на ядра, создающиеся для персональных компьютеров. Разработка велась с уклоном в максимальную производительность и гибкость "в чистом виде", а не с конкретным API.

Ядро, по словам ATI, довольно легко производить. Как мы знаем, наибольшей проблемой, с которой сталкивается разработчик после того, как создается ядро, является процент выхода годных кристаллов. Именно поэтому на рынке настолько мало видеокарт Radeon X800 XT PE. Однако, по словам компании, этот видеопроцессор производить даже легче, чем ядра для ПК. Это объясняется тем, что в ядрах предусмотрено резервирование ALU и кэшей. Таким образом, если какой-то из ALU или участков кэша демонстрирует нестабильность при тестировании, его просто литографическим методом отключают и подключают резервные. Естественно, всяких вариантов SE и LE не будет, все ядра для Xbox 360 будут одинаковыми. Причем это относится и к вариантам, когда все элементы будут полностью стабильными. Тогда отключенным окажется резерв.

Как видим, подход к созданию Xbox 360 радикально отличается от подхода к созданию прародительницы - Xbox. Xbox была своего рода Barebone-системой, практически все компоненты были аналогичны применяющимся в ПК. Теперь же речь идет об абсолютно новом уровне.

Следите за нами в ВКонтакте, Facebook'e и Twitter'e


Просмотров: 1060
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003