The RSX ' Reality Synthesizer '- это проприетарный графический процессор (GPU), разработанный Nvidia и Sony для игровой консоли PlayStation 3. Это графический процессор на базе графического процессора Nvidia 7800GTX и, согласно Nvidia, представляет собой гибридную архитектуру G70 / G71 (ранее известную как NV47) с некоторыми модификациями. RSX имеет отдельные конвейеры вершинных и пиксельных шейдеров . Графический процессор использует 256 МБ GDDR3 ОЗУ с тактовой частотой 650 МГц с эффективной скоростью передачи 1,3 ГГц и до 224 МБ основной памяти XDR с частотой 3,2 ГГц через ЦП (максимум 480 МБ). Хотя он выполняет большую часть обработки графики, Cell Broadband Engine, CPU консоли, также используется дополнительно для некоторых связанных с графикой вычислительных нагрузок консоли.
Если не указано иное, следующие характеристики основаны на пресс-релизе Sony на конференции E3 2005, слайдах с той же конференции и слайдах из презентации Sony на конференции разработчиков игр 2006.
Другие функции: поддержка билинейного, трилинейного, анизотропного, quincunx фильтрация текстур, сглаживание quincunx, до 4x MSAA, SSAA, Alpha to Coverage и Alphakill.
90 нм:
65 нм:
40-нм:
Хотя RSX имеет 256 МБ ОЗУ GDDR3, не вся она пригодна для использования. Последние 4 МБ зарезервированы для отслеживания внутреннего состояния RSX и выданных команд. 4 МБ данных графического процессора содержат RAMIN, RAMHT, RAMFC, объекты DMA, графические объекты и графический контекст. Ниже приводится разбивка адресов в пределах 256 МБ RSX.
Диапазон адресов | Размер | Комментарий |
---|---|---|
0000000-FBFFFFF | 252 МБ | Буфер кадра |
FC00000-FFFFFFF | 4 МБ | Данные графического процессора |
FF80000-FFFFFFF | 512KB | RAMIN: память экземпляра |
FF90000-FF93FFF | 16KB | RAMHT: хеш-таблица |
FFA0000-FFA0FFF | 4KB | RAMFC: FIFO Context |
FFC0000-FFCFFFF | 64KB | Объекты DMA |
FFD0000-FFDFFFF | 64KB | Графические объекты |
FFE0000-FFFFFFF | 128KB | GRAPH: Графический контекст |
Кроме того локальная память GDDR3, основная память XDR также доступна RSX, который ограничен:
Пропускная способность системы (теоретический максимум):
Из-за вышеупомянутой схемы канала связи между различными микросхемами, а также разницы в задержке и пропускной способности между различными компонентами, существуют разные скорости доступа в зависимости от направления доступ по отношению к источнику и месту назначения. Ниже приведена диаграмма, показывающая скорость чтения и записи в память GDDR3 и XDR с точки зрения Cell и RSX. Обратите внимание, что это измеренные скорости (а не расчетные скорости), и они должны быть хуже, если задействован доступ RSX и GDDR3, потому что эти цифры были измерены, когда RSX работал на частоте 550 МГц, а память GDDR3 - на частоте 700 МГц. Поставляемая PS3 имеет RSX с тактовой частотой 500 МГц (передняя и задняя части, хотя пиксельные шейдеры работают отдельно внутри на 550 МГц). Кроме того, память GDDR3 также была понижена до 650 МГц.
Процессор | 256 МБ XDR | 256 МБ GDDR3 |
---|---|---|
Чтение ячеек | 16,8 ГБ / с | 16 МБ / с (15,6 МБ / с при 650 МГц) |
Запись ячейки | 24,9 ГБ / с | 4 ГБ / с |
Чтение RSX | 15,5 ГБ / с | 22,4 ГБ / с (20,8 ГБ / с при 650 МГц) |
Запись RSX | 10,6 ГБ / с | 22,4 ГБ / с (20,8 ГБ / с при 650 МГц) |
Из-за очень низкой скорости чтения ячеек из 256 МБ памяти GDDR3, для ячейки более эффективно работать в XDR, а затем RSX извлекает данные из XDR и записывает их в GDDR3 для вывода на Дисплей HDMI. Вот почему в RSX были включены дополнительные инструкции по поиску текстур, позволяющие загружать данные из памяти XDR (в отличие от локальной памяти GDDR3).
RSX предназначен для трехмерной графики, и разработчики могут использовать различные библиотеки API для доступа к его функциям. Самый простой способ - использовать PSGL высокого уровня, который по сути представляет собой OpenGL | ES с добавленным программируемым конвейером, однако это непопулярно из-за накладных расходов на производительность на относительно слабом процессоре консоли. На более низком уровне разработчики могут использовать LibGCM, который представляет собой API, который строит командные буферы RSX на более низком уровне. (PSGL фактически реализован поверх LibGCM). Это делается путем настройки команд (через контекст FIFO) и объектов DMA и отправки их в RSX через вызовы DMA.
RSX 'Reality Synthesizer' основан на архитектуре G70, но имеет несколько изменений в ядре. Самая большая разница между двумя чипами заключается в том, как работает пропускная способность памяти. G70 поддерживает рендеринг только в локальную память, тогда как RSX может выполнять рендеринг как в системную, так и в локальную память. Поскольку рендеринг из системной памяти имеет гораздо более высокую задержку по сравнению с рендерингом из локальной памяти, пришлось изменить архитектуру чипа, чтобы избежать потери производительности. Это было достигнуто путем увеличения размера микросхемы для размещения более крупных буферов и кэшей, чтобы поддерживать графический конвейер заполненным. В результате RSX имеет только 60% пропускной способности локальной памяти G70, что заставляет разработчиков использовать системную память для достижения целевых показателей производительности.
Разница | RSX | nVidia 7800GTX |
---|---|---|
Шина памяти GDDR3 | 128bit | 256bit |
ROPs | 8 | 16 |
Post Transform and Lighting Cache | Максимум 63 вершины | 45 макс. Вершин |
Общий кэш текстур на четыре пикселя (L1 и L2) | 96 КБ | 48 КБ |
Интерфейс ЦП | FlexIO | PCI-Express 16x |
Технология | 28 нм / 40 нм / 65 нм / 90 нм | 110 нм |
Другие особенности / отличия RSX:
Сотрудники Sony цитировались в PlayStation В журнале говорится, что «RSX во многом похож на NVIDIA 7800, основанную на архитектуре G70». Поскольку G70 способен выполнять 136 операций шейдера за такт, ожидалось, что RSX будет иметь такое же количество параллельных конвейеров пиксельных и вершинных шейдеров, что и G70, который содержит 24 пиксельных и 8 вершинных конвейеров.
Генеральный директор Nvidia Джен-Сун Хуанг заявил во время предвыборной пресс-конференции Sony на E3 2005, что RSX вдвое мощнее GeForce 6800 Ultra.