Главная страница форума Журнал Чат Фотогалерея Версия сайта для КПК (Sony PSP) Личный кабинет в форуме Регистрация на форуме SaleGame.ru Календарь Зарегистрированные пользователи Инструкция по использованию форума

  
Вернуться   Всё о Xbox 360, Playstation 3 и Nintendo Wii > Игровые приставки Sony > Обсуждение консолей от Sony
Имя
Пароль
Обсуждение консолей от Sony Все их особенности "душа", новации, технологии и всё то, что вам бы хотелось обсудить и поделиться с друзьями.

Ответ
 
Опции темы Опции просмотра
Старый 24.08.2007, 00:21   #1
Майор

 
Аватар для SuperNush
 
Регистрация: 31.03.2007
Сообщения: 1,390
Репутация: (44)


Xbox Live: SUPERNUSHRUS
PSN: SUPERNUSHRUS


Получено наград:

Playstation 3 Програмирование Playstation3 Ответы на Вопросы


Ещё одна замечательная статья про ПРОГРАМИРОВНИЕ ПС3 !
Ужас и красота программирования для PlayStation 3.

Какое одно из самых больших предубеждений, когда людей спрашивают о PS3? Я думаю самое большое это, что “для PlayStation 3 сложно программировать, гораздо сложнее, чем для других платформ”. Скажем так, что это заявление в такой форме - глупость. Сравнивая, скажем с PS2, PS3 - это большой шаг вперед. Если на PS2 приходится писать на ассемблере (с помощью машинного кода) буквально все, что касается сложных частей программ, то на PS3 в большинстве случаев все можно сделать с помощью кода на С++ или С. И это справедливо даже для синергических вычислительных элементов (SPE) процессора Cell, в которых и заключается основная разница в программировании.

Перед тем как начать, мне следует сделать несколько оговорок, т.к. сама статья, а также данные, на который она ссылается, являются сложноперевариваемым материалом для неподготовленного читателя. Однако, я попытался использовать, где это было возможно, общую терминологию. Я также дал несколько ссылок на статьи в Wikipedia, которые более подробно объясняют некоторые технологии, приведенные в этой статье.

Ужас.

Конечно, большинство людей считают, что весь ужас программирования заключается в том факте, что все next-gen консоли, как и современные компьютеры, основаны на многоядерной архитектуре, т.е. несколько ЦПУ могут быть использоваться в любое время для обработки самого разного кода параллельно для достижения того, что мы называет next-gen геймплеем. В общем случае нам все равно, как что работает на разных платформах, различий мы не заметим.

Разница станет очевидна только тогда, когда мы заглянем во внутрь,т.е. посмотрим на работу различных ЦПУ, используемых на разных консолях. Начиная с XBox 360, мы найдем так называемый Xenon - ЦПУ, состоящий из 3 симметричных PPC ядер, каждое из которых способно выполнять 2 потока задач одновременно. Каждое из ядер содержит дополнительный векторный вычислительный узел, который используется для быстрых векторных операций. Все эти три ядра - самые обыкновенные ЦПУ общего назначения и программируются совершенно одинаково, при этом используются одни и те же ресурсы оперативной памяти, что делает программирование многопотокового кода сравнительно легкой задачей, хотя бы потому, что при этом используется одна и та же модель программирования.

Компьютеры аналогичны этой модели в плане того, что все последние чипы от Intel и AMD используют симметричные много-ядерные технологии, которые имеют все те же достоинства и недостатки при многопоточном программировании.

В отношении Cell все выглядит немного по-другому: одной из целей при создании процессора было достижение лучшего соотношения производительности и размера. Это было достигнуто путем нарушения большого количества принципов построения процессоров, которые использовались до этого. Во-первых, Cell не является полностью симметричным, рассматривая его с точки зрения технологий Xenon или Intel/AMD. Далее хуже. Во-вторых, Cell не предоставляет таких дорогих нестандартных процессорных возможностей, как прогнозирование ветвления, которые не позволяют конвейерам ЦПУ простаивать. Все это должно быть сделано программно, т.е. программистом или компилятором.



Cell состоит из одного двухпотокового PowerPC элемента (PPE), очень похожего на одно ядро Xenon, который выполняет роль “дирижера” в своеобразном “оркестре”, состоящим из 7 Синергических Вычислительных Элементов (SPE), которые являются симметричными ядрами, и сильно упрощены по сравнению с PPE. Для простоты понимания, считайте ядра SPE очень быстрыми и гибкими векторными узлами. При этом следует учитывать, что одно из SPU предназначено для фоновых задач операционной системы PS3 (фоновое скачивание и т.п.) На рис. 1 показано, что PPE и все SPE соеденены друг с другом через очень быструю межэлементную шину (EIB), кольцевую шину, которая позволяет “общаться” PPE с SPE, а также всем SPE друг с другом. В завершение, доступ к памяти осуществляется через EIB и через различные контроллеры памяти и ввода-вывода.
Что интересно: Несмотря на то, что PS3 имеет отдельную память для Cell и для RSX, память PS3 своего рода унифицирована с той стороны, что RSX имеет доступ к различным видам памяти со максимальной скоростью 20 GB/s. Благодаря этому, архитектура PS3 объединяет в себе лучши свойства обоих архитектурных “миров”: разделенная память (отсутствие проблем с “конкурирующими” областями памяти), но в тоже время ГПУ имеет возможность использовать для своих целей другой вид памяти. К примеру, XBox 360 использует единую объединенную модель памяти, где нет разделения на различные виды памяти, но существует проблемы ее совместного использования ЦПУ и ГПУ. Однако, с программистской точки зрения, работать с XBox 360 проще, т.к. нет необходимости принимать решения о том, куда помещать те или иные данные.

Еще одна сложность, с которой сталкивается программист, это подача и получение данных от и из ядер SPE. В связи с тем, что SPE - это очень простой вычислительный модуль, он имеет в своем распоряжении относительно маленькую локальную память (LS) размером в 256 KB. Эта память используется для хранения маленьких программ, которые работают используя один SPE в единицу времени. Данные, которые необходимы для программы, обрабатываемой SPE, поступают из основной памяти через контроллер DMA, и необходимо, чтобы они поступали вовремя. Аналогично с чтением данных. Помимо этого может возникнуть необходимость передачи данных другому SPE после их обработки первым элементом.



Позвольте мне сделать последнее замечание об архитектуре PS3, перед тем как мы рассмотрим ее положительные стороны. В общем целом архитектура PS3 очень схожа с PS2, если рассматривать ее глобально. Это совершенно не удивительно, ведь создателем обеих платформ был один человек - Кен Кутараги. PPE можно сравнить с ядром MIPS Emotion Engine приставки PS2 (рис.2), а два векторных процессорных узла VU1 и VU2 - с упрощенными SPE. Другими словами, архитектура PS3 расширила возможности PS2. Цель при создании обеих приставок схожа - это мощность и гибкость. Обе приставки оптимизированы для обработки поточных данных. Также заметьте, что прохождение данных через Emotion Engine не имеет фиксированного маршрута, как и случае с модулями SPE процессора Cell. Существует множество различных конфигураций возможных для обеих платформ, однако Cell является более мощным. Более подробно с этим можно ознакомиться по ссылке [3] и [2].

Красота.

Итак мы познакомились с отрицательными сторонами PS3, платформы, которая имеет сложности программирования при обеспечении загруженности различных SPE и эффективного управления различными типами памяти. Теперь посмотрим положительные аспекты - ее гибкость. Как мы видим на рис.1 ГПУ RSX является еще одной важной частью архитектуры PS3.

Чип RSX очень схож с любым стандартным ГПУ для компьютера за исключением того, что он имеет доступ к обеим типам памяти (основной и видео) с одинаковой скоростью. Кроме того он включает в себя 24 пиксельных шейдера, 8 вертексных шейдеров, 8 ROPS (узлов по работе с растеризацией), работающих на частоте 550MHz.

Рассматривая эти шейдеры как очень специализированные векторные узлы, схожие с узлами SPE процессора Cell, можно подумать о переносе некоторой части работы ГПУ на Cell. Другими словами, вы можете использовать Cell для того, чтобы значительно увеличить мощь и возможности ГПУ. Давайте рассмотрим 2 примера, которые уже сейчас можно наблюдать в реальной жизни, а не только на бумаге.

Первый пример обсуждался в презентации “Разделенный рендеринг в Kill Zone 2”, которая была показана на конференции разработчиков в июле месяце в Брайтоне. Для получения дополнительной информации можете прочитать эту статью.

Второй пример я нашел пару дней назад на сайте SCEA research website. Статья "Deferred Pixel Shading on the PLAYSTATION®3" полностью описывает рассматриваемые нами возможности: Cell обеспечивает дополнительные пиксельные шейдеры для графической подсистемы, которые являются более мощными , чем те, которые встроены в RSX. В результатом эксперимента (использование определенного алгоритма мягкого затенения) явилось то, что 5 SPE, действующих в основном в качестве пиксельных шейдеров, достигли производительности соответствующей 24 пиксельным шейдерам, используемым в видеокарте NVIDIA GeForce 7800 GTX, запущенной под OC Linux. Кстати, используемая в эксперименте ГПУ очень похожа на RSX в PS3.

Заключение

Аналогично PS2, платформе которая и сегодня удивляет своими графическими возможностями, которых от нее никто и не ожидал в начале ее жизненного цикла, PS3 очень гибкая игровая платформа. В ней практически нет никаких ограничений и только разработчики смогут высвободить таящийся в ней потенциал. Очень важно, то что мир приставок, в отличии от мира компьютеров не имеет возможности аппаратного апгрейда. Имея жизненный цикл не менее 10 лет, PS3 будет способна исполнять новые алгоритмы и приемы, которые на текущий момент еще не изобретены.
Те два приведенных примера показали нам то, как совместная работа Cell и RSX может достичь возможностей, о которых разработчики приставки не могли даже и мечтать. Если вы спросите меня то я вам скажу что это определенно технология будущего.

Такие вещи невозможны на другой архитектуре с фиксированным аппаратным обеспечением, созданной для облегчения жизни программистам. Естественно, PC вы можете легко апгрейдить, заменив или добавив компьютерные компоненты, но для консолей это невозможно. Скорее всего мы увидим другой XBox всего через пару лет, аналогичное может случиться и с Wii.

Что касается последнего ужасного порта Madden на PS3, я думаю тут проблема не в PS3, а в разработчиках EA, как это случалось уже не раз, которые не смогли нормально перенести код с одной платформы на другую. Хороший пример неграмотности и отсутствия желания что-то изучать. Скорее всего, весь код Madden висит на одном лишь PPE, который, как я уже писал, схож с ядром процессора Xenon, и в этом случае им вообще ничего не пришлось переделывать.

Будет ли тоже самое происходить в дальнейшем? Не думаю. Аналогично, PS2 имел всего 4Mb видеопамяти и программистам приходилось изучать платформу перед тем, как придти к выводу, что большего количества памяти и не нужно, а лучшие примеры кода распространялись бесплатно между членами сообщества разработчиков.

В случае с PS3 дела обстоят гораздо проще, если Emotion Engine и Reality Synthesizer были очень экзотическими устройствами, используемыми только в PS2, то как Cell так и RSX (на базе чипсета G70) - уже довольно хорошо известные устройства, которые поддерживаются IBM и NVIDIA& Иначе говоря, знания распространятся гораздо быстрее по сравнению с PS2. Нужно только что бы компании типа EA или Ubisoft во всем мире использовали лучшие примеры кода при программировании своих продуктов. Что может быть глупее, как неспособность таких компаний применять на практике то, что уже давно известно?

Кому интересны се ссылки - скачивайте статью в формате pdf http://gunnar.comtv.ru/Cellprogramming.pdf
Автор GUNNAR 2906
[Ушёл]   Ответить с цитированием
 

Старый 02.09.2007, 23:50   #2
Рядовой

 
Аватар для Stazz
 
Регистрация: 24.08.2007
Сообщения: 17
Репутация: (0)




По умолчанию


оххххх- ть можно загрузил в конецц чувак! мог бы и по проще все обЪяснить
от Raziel: Оставь свои глупые комментарии при себе.Я тебя последний раз предупреждаю.
__________________
ска панк-это половая ориентация...


Последний раз редактировалось Raziel, 03.09.2007 в 00:19.
[Ушёл]   Ответить с цитированием
 
Старый 03.09.2007, 02:30   #3
Генерал-лейтенант

 
Аватар для Ferting
 
Регистрация: 12.03.2007
Сообщения: 3,071
Репутация: (2108)


Xbox Live: Ferting


Получено наград:

По умолчанию


В озвучке гоблина
: - НУ И ....ЛЯ тогда все с ним мучаются???!!! с этим вашим CELL раз он такой крутой и под него так легко и замечательно программировать )))))))))
__________________
Нельзя недооценивать , предсказуемость человеческой тупизны (с)



Последний раз редактировалось Ferting, 03.09.2007 в 09:52.
[Ушёл]   Ответить с цитированием
 
Старый 03.09.2007, 08:12   #4
Майор

 
Аватар для SuperNush
 
Регистрация: 31.03.2007
Сообщения: 1,390
Репутация: (44)


Xbox Live: SUPERNUSHRUS
PSN: SUPERNUSHRUS


Получено наград:

По умолчанию


Дружище не ожидал такого исчерпывающего комментария! В статье описаны все сложности програмирования и конечный результат!
[Ушёл]   Ответить с цитированием
 
Старый 03.09.2007, 09:37   #5
Генерал-лейтенант

 
Аватар для Ferting
 
Регистрация: 12.03.2007
Сообщения: 3,071
Репутация: (2108)


Xbox Live: Ferting


Получено наград:

По умолчанию


SuperNush
) Согласен, переборщил в нетрезвости)) С кем не бывает


Цитата:
Сообщение от SuperNush Посмотреть сообщение

сама статья, а также данные, на который она ссылается, являются сложноперевариваемым материалом для неподготовленного читателя.
Подтверждаю. Было сложно осилить в ночь.
__________________
Нельзя недооценивать , предсказуемость человеческой тупизны (с)

[Ушёл]   Ответить с цитированием
 
Старый 03.09.2007, 09:45   #6
Майор

 
Аватар для SuperNush
 
Регистрация: 31.03.2007
Сообщения: 1,390
Репутация: (44)


Xbox Live: SUPERNUSHRUS
PSN: SUPERNUSHRUS


Получено наград:

По умолчанию


Я почему-то так и подумал)))))))))))))))
[Ушёл]   Ответить с цитированием
 
Старый 03.09.2007, 09:51   #7
Генерал-лейтенант

 
Аватар для Ferting
 
Регистрация: 12.03.2007
Сообщения: 3,071
Репутация: (2108)


Xbox Live: Ferting


Получено наград:

По умолчанию



Надо будет как нить перечитать сегодня после работы ))) Интересно же все таки.
__________________
Нельзя недооценивать , предсказуемость человеческой тупизны (с)

[Ушёл]   Ответить с цитированием
 
Старый 27.09.2007, 06:44   #8
Рядовой

 
Регистрация: 27.09.2007
Сообщения: 21
Репутация: (0)




По умолчанию


SuperNush. У меня к тебе только один вопрос: КТО ТЫ на ГЕЙМЛЕНДЕ?
[Ушёл]   Ответить с цитированием
 
Старый 27.09.2007, 12:59   #9
Младший лейтенант

 
Аватар для Deniska 740
 
Регистрация: 21.08.2007
Сообщения: 547
Репутация: (8)


Xbox Live: LeXer RUS
PSN: Deniska rulezzzz


По умолчанию


Цитата:
Сообщение от ВецеТТи Посмотреть сообщение
SuperNush. У меня к тебе только один вопрос: КТО ТЫ на ГЕЙМЛЕНДЕ?
блин чет ты как то агресивно настроен.
[Ушёл]   Ответить с цитированием
 
Старый 27.09.2007, 15:57   #10
Лейтенант

 
Аватар для Raziel
 
Регистрация: 03.04.2007
Сообщения: 742
Репутация: (151)


Xbox Live: xxRazielZipxx
PSN: RazielRus


По умолчанию


Цитата:
Сообщение от ВецеТТи Посмотреть сообщение
SuperNush. У меня к тебе только один вопрос: КТО ТЫ на ГЕЙМЛЕНДЕ?
он не Гуннар)
__________________

[Ушёл]   Ответить с цитированием
 
Старый 27.09.2007, 17:31   #11
Гл. редактор

 
Аватар для Dr.Slash
 
Регистрация: 10.03.2007
Сообщения: 3,633
Репутация: (918)


Xbox Live: Dr Slash


Получено наград:

По умолчанию


Статья интересная, думаю вскоре мы увидим достойные игры.
__________________
aka Георгий
[Ушёл]   Ответить с цитированием
 
Старый 28.09.2007, 06:38   #12
Рядовой

 
Регистрация: 27.09.2007
Сообщения: 21
Репутация: (0)




По умолчанию


Знаю, что не Гуннар. То-то и взбесило слегка. Чел малость вольно распоряжаетсячужой интелектуальной собственностью.
Причём видно невооружонным глазом - нихрена сам из опубликованного не понял.
Статья КАК МИНИМУМ интересная.
[Ушёл]   Ответить с цитированием
 
Старый 28.09.2007, 09:16   #13
Майор

 
Аватар для SuperNush
 
Регистрация: 31.03.2007
Сообщения: 1,390
Репутация: (44)


Xbox Live: SUPERNUSHRUS
PSN: SUPERNUSHRUS


Получено наград:

По умолчанию


Цитата:
Сообщение от ВецеТТи Посмотреть сообщение
Знаю, что не Гуннар. То-то и взбесило слегка. Чел малость вольно распоряжаетсячужой интелектуальной собственностью.
Причём видно невооружонным глазом - нихрена сам из опубликованного не понял.
Статья КАК МИНИМУМ интересная.
Уважаемый! Вы как минимум суёте свой нос не в своё дело! Статья была взята с его разрешения и имеется ссылка на автора! Одним геймлэндом форум не ограничевается, поэтому заканчиваем непонятную дискуссию!
[Ушёл]   Ответить с цитированием
 
Старый 28.09.2007, 11:19   #14
Старший сержант

 
Аватар для gunnar2906
 
Регистрация: 25.09.2007
Сообщения: 168
Репутация: (25)


Xbox Live: gunnar2906
PSN: gunnar2906eu


По умолчанию


Nush - мой друг в реале =)
Он просит меня - это не проблема, что он тут разместил что-то =)
[Ушёл]   Ответить с цитированием
 
Старый 29.09.2007, 06:08   #15
Рядовой

 
Регистрация: 27.09.2007
Сообщения: 21
Репутация: (0)




По умолчанию


Тады, вопросов не имею. SuperNush, дяденька, прости засранца.
[Ушёл]   Ответить с цитированием
 
Старый 29.09.2007, 12:33   #16
Майор

 
Аватар для SuperNush
 
Регистрация: 31.03.2007
Сообщения: 1,390
Репутация: (44)


Xbox Live: SUPERNUSHRUS
PSN: SUPERNUSHRUS


Получено наград:

По умолчанию


Цитата:
Сообщение от ВецеТТи Посмотреть сообщение
Тады, вопросов не имею. SuperNush, дяденька, прости засранца.
Всё в порядке! Благодарю за беспокойство!
[Ушёл]   Ответить с цитированием
 
Ответ



Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 00:30 на SaleGame.ru