ps3 cechc08 чем отличается

Ps3 cechc08 чем отличается

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличается

Все манипуляции с консолью Вы делаете на свой страх и риск, администрация и пользователи в неработоспособности или блокировке ваших аккаунтов/консолей не виноваты.

Часть 4.
Если Вы это читаете, то значит вашу консоль нельзя прошить на CFW. Чтобы взломать консоль нужно установить HEN.
Если на консоли установлен ODE (эмулятор привода), то этот пост может помочь с обновлением OFW.
Как установить HEN. В данной теме настоятельно рекомендую изучить абсолютно все вкладки и кликабельные ссылки (обычно выделены синим цветом). Начинать изучение с вкладки ВВЕДЕНИЕ.

Перед установкой прошивки обязательно извлеките Blu-Ray диск с игрой из PS3, если таковой имеется в приводе (это необходимо по той причине, что PS3 сначала обновляется с диска).
Способ №1
01. Переименуйте скаченный файл с прошивкой в PS3UPDAT.PUP.
02. Скопируйте файл с прошивкой PS3UPDAT.PUP на USB флешку (FAT32 mbr) в папку PS3/UPDATE.
03. Вставьте USB флешку в PS3.
04. Включите PS3.
05. На PS3 выберете обновление системы, обновление с носителя информации, далее следовать инструкции на экране.
06. Прошивка установлена.

Способ №2
01. Переименуйте скаченный файл с прошивкой в PS3UPDAT.PUP.
02. Скопируйте файл с прошивкой PS3UPDAT.PUP на USB флешку (FAT32 mbr) в папку PS3/UPDATE.
03. Вставьте USB флешку в PS3.
04. Отключите PS3.
05. Нажмите на кнопку включения и держите, пока не услышите два коротких сигнала, после которых PS3 отключится, затем отпустите кнопку.
06. Снова нажмите на кнопку включения и держите её, пока не услышите сначала один короткий сигнал, а затем два коротких сигнала, потом отпустите кнопку.
07. Сделайте всё по инструкции на экране, выберите системный апдейт, расположенный в самом последнем пункте.
08. PS3 несколько раз отключится (не трогайте приставку в этот момент) и в результате выведет вам экран начальной настройки.
09. Прошивка установлена.

Иногда бывает, что консоль не видит прошивку на флешке, пишет «Данные системного обновления не найдены«. Чаще всего это может происходить по причинам:

Источник

Архитектура PlayStation 3, часть 1: Cell

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

Вместо этого, перевод будет разбит на несколько частей, каждая из которых описывает одну большую или небольших тем из оригинала. Часть 1 описывает устройство процессора Cell. Если Вам данный цикл переводов будет интересен, то будут выложены и следующие части. А пока, приятного чтения!

1. Краткое введение

В 2006 году Sony выпустила долгожданную игровую консоль «следующего поколения». Это блестящая (хоть и тяжелая) машина, чья базовая аппаратная архитектура развивает идеи Emotion Engine из PS2, то есть фокусируется на векторных вычислениях для достижения высокой производительности, даже ценой сложности. И в то же время, их новый «суперпроцессор», Cell Broadband Engine, был разработан в эпоху кризиса инноваций. Он должен будет идти в ногу с развитием тенденций в области мультимедиа.

В этой статье подробно рассматривается совместный проект Sony, IBM, Toshiba и Nvidia, а также его реализация и влияние на индустрию.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяРевизия материнской платы COK-001 (самая первая), взятая из моей модели CECHA12. Оставшиеся 128 МБ флэш-памяти NAND и разъемы PATA для привода Blu-ray, дочерняя плата Wi-Fi/BT, передняя панель и карт-ридер установлены сзади. ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяТа же материнская плата, но с помеченными важными частями. ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяДиаграмма основной архитектуры

1.1. О длине статьи

Я боюсь, что эта статья не будет из тех, которые я обычно пишу про другие консоли в данной серии статей. Если вы заинтересованы узнать про каждый технический аспект PlayStation 3, то вас ждёт увлекательное путешествие! Стоит отметить, что эта работа охватывает

6 лет исследований и разработок, проведенных бесчисленным количеством инженеров. Поэтому я не ожидаю, что вы сможете переварить всё это за один раз. Пожалуйста, не торопитесь при чтении (и делайте перерывы при необходимости). Если в конце вам захочется ещё, то проходите в раздел «Источники»!

2. CPU

Время познакомится с самой узнаваемой и инновационной частью данной консоли.

2.1. Введение

2.1.1. Состояние прогресса

Прошло почти десять лет после выхода оригинальной PlayStation на процессоре MIPS, и мы находимся в начале 2000-х. В это время дела у SGI/MIPS шли не очень хорошо. Nintendo недавно отказалась от них в пользу бюджетного ядра PowerPC от IBM, в то время как Microsoft, будучи новичком на этом рынке, выбрала Intel и их доминирующую x86.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяEmotion Engine, процессор PS2 (2001). Создан Toshiba, опять же, на основе MIPS

2.1.2. Новые конструкторские решения

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяПроцессор Cell Broadband Engine. К сожалению, он слишком блестящий для моей камеры.

С каждым годом потребители требуют всё больших скоростей. Это было всегда. Однако, последний подход, призванный это решить (конвейер данных и увеличение частот), теперь не справляется с масштабированием. Архитектура NetBurst от Intel не смогла развиваться дальше, а обещанный преемник так и не появился. Аналогично, IBM в своем PowerPC 970/G5 не смогла предоставить ни обещанных «3 ГГц», ни низкое энергопотребление (а значит, Apple не может поставлять ноутбуки с этим процессором) [4]. В общем, похоже, что инженеры столкнулись с новым кризисом масштабируемости.

Поэтому, фокус сместился на распределенные вычисления [5]. Другими словами, зачем увеличивать производительность одной машины, если вместо этого можно использовать несколько небольших машин, распределяющих рабочую нагрузку? Напротив, этот подход не является чем-то новым, поскольку все консоли, проанализированные на этом веб-сайте, содержат более одного процессора. Однако именно разработка «единого процессора с несколькими ядрами» открывает новые возможности для проектирования процессоров (которые могут использоваться не только в консолях).

Следовательно, Cell является частью этой новой волны исследований и разработок. Новый процессор сочетает в себе многоядерный дизайн с особым акцентом на векторные вычисления. Если помните, векторные вычисления являются оптимальными для симуляций (физика, освещение и подобное). Эту задачу ранее выполняли Geometry Transformation Engine или два блока Vector Unit. Но вы также увидите, почему дизайн Cell является большим шагом вперед по сравнению с двумя предыдущими решениями.

2.1.3. Новая эра многоядерности

Если задуматься, то и процессор PS1, и Emotion Engine уже были многоядерными. Тогда почему же вокруг Cell было так много шума? Ну, два предыдущих чипа состояли из одного универсального ядра и нескольких ядер для конкретных задач (аудио-процессор, декомпрессия изображений). Эти ядра сочетали различные архитектуры, в которых универсальное ядро управляло другими ядрами.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяПример гетерогенного дизайна. По сей день это де-факто архитектура многих мощных консолей.

Этот тип архитектуры процессора относят к Гетерогенным вычислениям, и он являлся де-факто выбором для создания машин, которые предназначены для выполнения конкретных задач (в данном случае, игр). Аналог в виде Гомогенных вычислений более преобладает на рынке ПК, где процессоры должны выполнять более широкий круг задач (и все они имеют одинаковый приоритет). Поэтому, в последнем типе может быть несколько ядер одного и того же типа.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяПример гомогенного дизайна. Каждое ядро могло выполнять те же задачи, что и раньше. Они не обязательно ограничены одной задачей.

Возвращаясь назад к теме, Cell сочетает обе модели: в этом процессоре одно универсальное «главное» ядро и 8 векторных «вспомогательных» ядер. Эти векторные ядра могут принимать различные роли, и при этом они выполняют те предыдущие задачи, которые первоначально решались с помощью гетерогенных конструкций.

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

2.2. Взгляд на Cell

Рассказав всю эту историю и теорию, думаю, что мы готовы представить нашего главного героя этого раздела. Знакомьтесь, Cell:

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяCell Broadband Engine (вариант для PS3). Создан IBM для суперкомпьютеров и научных исследований. Перечеркнутый блок «SPE» означает, что он отключен (не используется). Другие «SPE» слева предназначены для операционной системы.

К концу этого раздела вы будете знать, что делает каждый компонент.

2.2.1. Общая архитектура

Cell работает на частоте в 3.2 ГГц и состоит из множества компонентов. Итак, для целей этого анализа этот процессор можно разделить на три основные части [6]:

Управляющая: это часть Cell управляет остальной частью схемы. Здесь мы находим элемент под названием Power Processing Element (PPE).

Вспомогательная: эта часть столь же важна, как и PPE, но возможности её элементов ограничены ролью помощника или ускорителя. Эта часть состоит из 8 элементов Synergistic Processing Element (SPE).

Интерфейсная: так как потребность в пропускной способности растет экспоненциально, то внедряются новые интерфейсы для перемещения данных без создания узких мест. В этой группе мы находим несколько протоколов: шина Element Interconnect Bus (EIB), блок Broadband Engine Interface Unit (BEI), контроллер Memory Interface Controller (MIC) и шина Flex I/O.

2.2.2. Как организовано это исследование

Видя эту структуру, мне пришлось организовать её так, чтобы вам не надоело от большого количества информации. Поэтому мы собираемся проанализировать Cell путем изучения каждого его компонента в следующем порядке:

Шина Element Interconnect Bus (EIB), которая соединяет все компоненты.

PowerPC Processing Element (PPE) и его основной элемент PowerPC Processing Unit (PPU).

Какая память общего назначения доступна в этой консоли.

Блоки Synergistic Processing Element (SPE) и их основной элемент Synergistic Processing Unit (SPU).

Модель программирования, разработанная для эффективного программирования под Cell.

Учитывая это, давайте приступим к настоящему анализу.

2.3. Cell изнутри: Сердце

С момента своего анонса Cell упоминается как сеть на кристалле (Network-on-Chip, NoC) [7] вместо стандартного определения «системы на кристалле» (System-On-Chip, SoC). Это связанно с неортодоксальной шиной данных чипа Element Interconnect Bus (EIB). До сих пор мы видели, насколько требовательными могут быть компоненты процессора, если учитывать, в какой степени система подвержена узким местам. Чтобы решить эту проблему в одиннадцатый раз, IBM разработала новый дизайн … и задокументировала его, используя термины, аналогичные дорожному движению.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная схема шины Element Interconnect Bus (EIB). Каждая стрелка между «рампами» (узлами) представляет собой две однонаправленные шины, поэтому каждый узел подключен к следующему по четырем каналам.

Теперь вы можете подумать, в чем смысл маркерного кольца, если данные могут проходить более длинные пути (по сравнению с одной прямой шиной)? Ну, одна шина довольно сильно подвержена перегрузками данных. Поэтому инженеры шины EIB решили использовать эту топологию, чтобы обеспечить большой объем параллельного трафика (читайте дальше, если хотите узнать, как помогло данное кольцо).

Данные передаются в виде 128-битных пакетов [8]. Каждое кольцо может осуществлять до трех передач одновременно при условии, что пакеты не пересекаются. Шина EIB работает с использованием командных кредитов. Другими словами, всякий раз, когда компоненту нужно начать передачу, он отправляет запрос арбитру данных (Data Arbiter), который управляет трафиком внутри колец.

После утверждения запроса пакеты вводятся в кольцо и получают «маркер», который арбитр данных использует в качестве метаданных для контроля передачи. Кроме того, некоторые компоненты имеют более высокий приоритет, чем другие, например, контроллер Memory Interface Controller (MIC), в котором находится ОЗУ. Наконец, арбитр данных никогда не будет размещать пакеты в кольцах, путь которых длиннее половины кольца.

Каждая рампа участвует в передаче. Она читает адрес назначения пакета, чтобы знать, отправлять ли данные в свой компонент или передать их следующей рампе. Во время каждого тактового цикла рампы могут одновременно принимать и отправлять пакеты размером в 128 бит (16 байт). Итак, если учитывать наличие четырех каналов и частоту шины EIB в 1.6 ГГц (половина частоты Cell), то теоретическая максимальная скорость передачи составляет:

16 байт х 2 передачи/такт х 4 кольца х 1.6 ГГц = 204.8 ГБ/с

Конечно, это значение слишком оптимистичное, и есть много других внешних факторов (путь отправления или назначения, состояние шины), определяющих производительность. В любом случае, во многих исследовательских работах, выполненных IBM и другими авторами, были получены более реалистичные скорости с использованием практических экспериментов [9].

Теперь, когда вы увидели, как каждый компонент Cell связан между собой, пришло время рассмотреть первый компонент этого чипа.

2.4. Cell изнутри: Лидер

2.4.1. Состав PPE

Помните, как я ранее разделил Cell на разные области? То же самое можно сделать с PPE. IBM использует термин «элемент» для описания независимой машины [10], но, описывая её изнутри, использует термин «юнит», чтобы отделить основную схему от интерфейсов, которые взаимодействуют с остальной частью Cell.

Исходя из вышесказанного, PowerPC Processing Element неожиданно состоит из двух частей:

PowerPC Processing Unit (PPU): это логическая часть PPE («ядро» процессора). Не забывайте, что это не PPU от Nintendo! (хоть и они состоят из одних и тех же букв латинского алфавита. в том же самом порядке. ).

PowerPC Processor Storage Subsystem (PPSS): большой интерфейс, который соединяет PPU с остальной частью Cell. Кроме того, он содержит огромный кэш L2 размером в 512 КБ.

Как вы можете видеть, архитектура PPE (и остального Cell) довольно модульная, что соответствует принципам архитектуры RISC. Вы скоро увидите, что модульность применяется даже внутри PPU.

2.4.2. PowerPC Processing Unit

Сейчас мы рассмотрим внутренности PPU. Напоминаю, мы сначала погрузились в Cell, потом в PPE, а затем в PPU. Мы проанализируем PPU так же, как и любое другое ядро процессора.

2.4.2.1. Знакомая архитектура

Начнем с того, что PPU не создан с нуля, а cтроится на основе существующей архитектуры PowerPC. Однако, в отличие от предыдущих итераций, когда IBM брала существующий процессор и немного обновляла его для соответствия новым требованиям, PPE не является преемником какого-либо предыдущего дизайна процессора.

Вместо этого IBM создала новый процессор, который реализует спецификацию PowerPC версии 2.02 (это последняя спецификация PowerPC перед ребрендингом в «Power ISA»). Суммируя вышесказанное, можно сказать, что с этого времени вы не найдете такой же дизайн PPU ни в одном существующем чипе того времени. Но он имеет те же машинные коды, что и в других чипах PowerPC.

Стоит отметить, что IBM была одним из автором первых чипов PowerPC совместно с Motorola и Apple (вспомните об альянсе AIM). Как бы то ни было, к началу 00-х годов так называемые участники альянса уже работали отдельно, где Motorola/Freescale разрабатывали отличную от IBM серию PowerPC.

2.4.2.2. Отличительные особенности

PPU имеет общую историю с PowerPC 970 (Apple называла его G5). Оба являются потомками POWER4, предшественника PowerPC, который в основном использовался в рабочих станциях и суперкомпьютерах. Это станет более очевидным, когда я скоро покажу вам модульные исполнительные устройства. Это радикальное изменение по сравнению с процессором линейки 750 в GameCube, который имел значительный вклад от Motorola, но затем был слегка изменен IBM.

Наличие 64-битных регистров общего назначения (всего их 32).

Шина данных, как минимум, шириной в 64 бита. В следующих главах статьи вы увидите она гораздо длиннее, но пока имеете в виду, что передача 64-битных слов не снижает производительность.

Адресная шина имеет ширину в 64 бита. В теории, процессор может адресовать до 16 экзабайт памяти. На практике это очень дорого обходится, если машина не вмещает всю эту память. Поэтому современные процессоры делегируют адресацию блоку управления памятью (Memory Management Unit, MMU), чтобы обеспечить больше возможностей для использования адресной шины.

Наконец, PPU реализует набор инструкций PowerPC версии 2.02, включая опциональные опкоды для квадратного корня с плавающей точкой [12]. Ядро также было расширено группой SIMD-инструкций, называемых Vector/SIMD Multimedia Extension (VMX). С другой стороны, в первоначальной спецификации нет некоторых элементов, в частности, режима little-endian (Cell работает только в режиме big-endian) и нескольких опкодов.

2.4.3. Строительные блоки PPU

Применяя «микроскопический» вид к PPU, мы можем видеть, что это устройство состоит из различных блоков или подблоков, выполняющие независимые операции (загрузка значений из памяти, выполнение арифметики и так далее). Возможности PPU определяются тем, что и как может делать каждый блок:

2.4.3.1. Инструкции

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная схема блока команд (IU)

Первый блок называется блоком команд (Instruction Unit, IU). Как следует из названия, он берёт инструкции из кэша L2 и даёт сигналы другим устройствам для выполнения запрошенной операции. Как и в современниках i686, часть набора инструкций интерпретируется при помощи микрокода (для этого IU включает в себя небольшой ROM). Наконец, в IU также размещен кэш L1 размером в 32 КБ для инструкций.

Обработка инструкции осуществляется с помощью 12-уровневого конвейера, хотя на практике общее количество уровней будет сильно различаться в зависимости от типа инструкции. Например, модуль предсказания переходов может пропустить большую часть конвейера. Если мы объединим IU с соседними блоками, то финальное число уровней часто приближается к 24 (да, это большое число, но помните, что Cell работает на частоте 3.2 ГГц).

Теперь самое интересное: IU имеет двойную обработку (dual-issue): в некоторых случаях IU может обработать до двух инструкций за такт, что значительно повышает пропускную способность. На практике, однако, существует множество условий для того, чтобы это работало, поэтому программисты или компиляторы отвечают за оптимизацию своих процедур, чтобы их последовательность инструкций могла использовать преимущества этой функции.

Кстати, двойная обработка реализована и в других процессорах, и этот термин может различаться между производителями. Поэтому я использовал определение от IBM.

В довершение всего, IU также многопоточный, то есть блок может одновременно выполнять две разные последовательности инструкций (называемых «потоками»). За кулисами, IU просто чередуется между двумя потоками за такт, создавая иллюзию многопоточности. По какой-то причине это поведение похоже на то, что в данный момент Intel определяет как hyper-threading. Возможно, что последнее ещё не было придумано. Тем не менее, многопоточность от IBM смягчает нежелательные эффекты, такие как остановка конвейера, поскольку процессор больше не будет блокироваться всякий раз, когда одна инструкция блокирует поток.

В общем, объединяя два потока с двойной обработкой, IU способен выполнять до четырех инструкций за такт. Несмотря на то, что это «наилучший сценарий», он все ещё предоставляет возможности оптимизации, которые пользователи в конечном итоге заметят в частоте кадров игры!

2.4.3.2. Управление памятью

Следующие блоки дают PPU возможность выполнения инструкций загрузки/сохранения и осуществлять управление памятью.

Начнем с того, что блок загрузки/сохранения (Load-Store Unit, LSU) выполняет опкоды «load» и «store», используя 32 КБ кэша данных L1. Как следствие, этот блок имеет прямой доступ к памяти и регистрам.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная диаграмма блока загрузки-сохранения (Load-Store Unit, LSU) и его соседей

Кроме того, LSU содержит Memory Management Unit (MMU), который является обычным явлением в современном оборудовании. Короче говоря, MMU занимается адресацией памяти с помощью таблицы виртуальных адресов в сочетании с защитой памяти. Для улучшения последней MMU, в частности, оснащен сегментным блоком, который группирует адреса памяти, используя диапазоны под названием «сегменты». Также, что предотвратить снижение производительности в процессе работы, были включены Translation Lookaside Buffer (TLB) (кэширует преобразованные адреса) и Segment Lookaside Buffer (SLB) (кэширует сегменты).

2.4.3.3. Арифметика

Осталось объяснить всего два блока PPU, которые вычисляют математику, необходимую для любой игры.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная диаграмма блоков, выполняющих арифметику

Если вы посмотрите на диаграмму, вы увидите, что FXU, LSU и MMU объединены в один блок под названием исполнительный блок (Execution Unit, XU). Это потому, что они имеют один и тот же регистровый файл.

Второй блок куда более интересный. Vector/Scalar Unit (VSU) выполняет операции с числами с плавающей точкой и векторами. Он состоит из 64-битного блока FPU (на основе стандарта IEEE 754) и блока Vector/SIMD Multimedia Extension (VXU), который исполняет набор SIMD-инструкций под названием VMX. Эти вектора длиной в 128 бит состоят из двух или трех 8/16/32-битных значений.

Возможно, вы уже слышали об расширении «VMX» раньше. Оно также называется «Altivec» у Motorola или «Velocity Engine» у Apple (да здравствуют торговые марки). И наоборот, конкурентные возможности SIMD в Cell можно найти и в другом процессоре, так что пока не расслабляйтесь!

2.4.4. Суммируя PPE

Вы только что видели, как работает PPE и что было сделано, но что это всё значит для разработчика?

2.5. Cell снаружи: Основная память

Давайте немного уйдем в сторону от Cell. Не столь важно то, насколько хорош PPE, если у нас нет подходящего рабочего пространства (памяти), чтобы заставить его работать.

Поэтому Sony добавила ОЗУ в виде XDR DRAM памяти объемом 256 МБ. Но опять-таки, что это всё значит? Для ответа на это, на нужно взглянуть на то, как работают блоки памяти и как они подключаются к Cell.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяCell рядом с четырьмя чипами XDR DRAM на 64 МБ

Прежде всего, тип установленной памяти называется Extreme Data Rate (XDR). Вы можете думать о XDR DRAM, как о преемнике прó‎клятой RDRAM, установленной в Nintendo 64 и PlayStation 2. Но пока не спешите с выводами!

Rambus, как и любая другая компания, совершенствует свои изобретения. Их третья версия (XDR) теперь передает за такт 8 бит (это в 4 раза больше, чем у DDR DRAM) [13]. Задержка больше не создает проблем. Если мы посмотрим на данные одного из производителей, то задержка XDR составляет от 28 до 32 наносекунд [14], что почти в 10 раз быстрее, чем первое поколение чипов RDRAM.

Первая ревизия материнской платы PlayStation 3 содержит 4 чипа по 64 МБ, которые обрабатываются парами. XDR подключен к Cell, используя две 32-битных шины, по одной на каждую пару. Поэтому когда PPU записывает слово (64-битные данные), оно разделяется между двумя чипами XDR.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяCell рядом с четырьмя чипами XDR DRAM на 64 МБ

Cell соединяется с чипами XDR при помощи Memory Interface Controller (MIC), другой компонент внутри Cell (как и PPE). Дополнительно, MIC буферизирует передачи памяти для улучшения пропускной способности, но имеет одно ограничение: выравнивание больших байтов.

По сути, при передаче наименьший размер данных MIC составляет 128 байт, что хорошо работает для последовательного чтения и записи. Но если данные меньше, чем 128 байт, или требуется чередование между записью и чтением, то возникают проблемы с производительностью.

Как бы то ни было, Sony утверждает, что скорость передачи данных составляет 25.6 ГБ/с. Однако на практике существует слишком много факторов, которые будут определять конечную скорость (вы видели, насколько сложно перемещать данные из одного места в другое в Cell).

Это все, что касается ОЗУ, но есть ещё больше памяти в другом месте: жесткий диск. PS3 позволяет играм использовать 2 ГБ на внутреннем жестком диске в качестве рабочей области (аналогично тому, что было в оригинальном Xbox) [15].

2.6. Cell изнутри: Помощники

Мы уже видели ранее, что Sony всегда добавляет к процессору общего назначения (в данном случае, PPE) дополнительные ускорители для достижения приемлемой производительности в играх (блоки VPU и IPU в случае с PS2; или GTE и MDEC с PS1).

Это обычная практика для аппаратного обеспечения игровых консолей, поскольку универсальный процессор может выполнять широкий спектр задач, при этом ни на чем не специализируясь. Консолям требуется лишь некоторый набор навыков (например, физика, графика и аудио), поэтому сопроцессоры позволяют им справляться с этими задачами.

– Доктор Майкл Перроне, менеджер Отдела по разработке Cell, Исследовательский Центр IBM TJ Watson

Ускорители, входящие в состав Cell на PS3, это элементы Synergistic Processor Element (SPE). В Cell их восемь, однако один элемент отключается во время запуска консоли. Это связано с тем, что производство микросхем требует исключительной точности (изначально Cell создавался при техпроцессе в 90 нм), а оборудование не является совершенным.

Поэтому вместо того, чтобы выбрасывать схемы, которые оказались бракованными менее чем на 10%, Cell включает один запасной SPE. Таким образом, если один из них выходит из строя, весь чип не отбраковывается. Теперь этот запасной SPE всегда будет отключен, независимо от того, хорошо ли это или нет (у Sony не может быть две PS3 с разными версиями процессора на рынке).

2.6.1. Состав SPE

Что ж, эти сопроцессоры в некоторой степени универсальны и не ограничиваются одним приложением, поэтому они смогут помогать в решении широкого круга задач, то есть до тех пор, пока разработчики смогут их правильно запрограммировать.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная диаграмма Synergistic Processor Element (SPE), в Cell этих элементов 8 (один отключен)

Как и в случае с PPE, мы рассмотрим SPE поподробнее. Это будет кратко, поэтому, если в конце вы хотите узнать больше о SPE, ознакомьтесь с разделом «Источники» в конце статьи. Итак, давайте начнем.

2.6.1.1. Memory Flow Controller

Для выполнения своих обязанностей MFC содержит в себе контроллер DMA, чтобы поддерживать связь между шиной EIB и локальной памятью SPU. Кроме того, MFC содержит другой компонент под названием Synergistic Bus Interface (SBI), который находится между шиной EIB и контроллером DMA.

Это довольно сложная схема для обобщения, но она в основном интерпретирует команды и данные, полученные извне, и подает сигналы внутренним блокам SPE. Являясь входной дверью для Cell, SBI работает в двух режимах: ведущая шина (master) (где SPE адаптирован для запросов данных снаружи) и ведомая шина (slave) (где SPE настроен на прием запросов извне).

Любопытный факт: если учитывать ограничение пакетов EIB (длиной до 128 бит), то в MFC блок DMA может перемещать только до 16 КБ данных за такт, иначе EIB вызовет исключение «Bus Error» во время выполнения [17].

2.6.1.2. Synergistic Processor Unit

В отличии от PPU, SPU изолирован от остальной части Cell. Следовательно, между PPU или другими блоками SPU нет общей памяти. Вместо этого SPU содержит локальную память, используемую в качестве рабочей области. Однако, содержимое локальной памяти можно перемещать туда и обратно с помощью MFC.

Что касается функциональности, то SPU гораздо более ограничены, чем PPU. Например, SPU не включает в себя никаких функций управления памятью (трансляция адресов или защита памяти) и даже самых современных функций (динамическое предсказание переходов). Тем не менее, он исключительно хорошо выполняет векторные вычисления.

Для программирования этого блока разработчики используют PPU для вызова процедур, предоставляемых ОС PlayStation 3. Эти процедуры загружают исполняемый файл, специально написанный для SPU, в выбранный SPU и дают ему сигнал начать выполнение. После этого PPU сохраняет ссылку на поток SPU для дальнейшей синхронизации [18].

2.6.2. Архитектура SPU

В результате, в SPU есть 128 128-битных регистров общего назначения, которые хранят вектора из 32/16-битных целочисленных чисел или чисел с плавающей точкой. С другой стороны, чтобы сэкономить память, инструкции SPU маленькие, длиной 32 бита. Первая часть содержит код операции, а остальные могут ссылаться на три операнда, которые вычисляются параллельно.

Это очень похоже на предыдущий блок Vector Floating Point Unit из PS2, но с тех пор многое что изменилось. Например, SPU не требует, чтобы разработчики изучали новый проприетарный язык ассемблера. IBM и Sony предоставляли инструментарий для программирования на SPU, используя C или C++.

Давайте теперь посмотрим на два конвейера [19]:

2.6.2.1. Нечётный конвейер

Нечетный конвейер выполняет большинство инструкций, кроме арифметических. Прежде всего, вы найдете в SPU блок загрузки/сохранения (SLS), который делает три важные вещи:

Содержит локальную память в 256 КБ для хранения инструкций и данных. Тип встроенной памяти однопортовый (учитывая, что это критическая область, немного разочаровывает, что они не использовали двухпортовые чипы. ). Кроме того, адресная шина длиной в 32 бита.

Выполняет загрузку и хранение инструкций.

Передает инструкции другому блоку для обработки.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяУпрощенная схема нечетного конвейера

Обратите внимание, что для хранения программы доступно только 256 КБ. Учитывая, что программы SPU могут быть скомпилированы с помощью C/C++, трудно предсказать, насколько велика будет программа. По этой причине рекомендуется, чтобы программы думали, что имеется только половина доступной памяти (128 КБ) [20]. Это оставляет достаточно места, чтобы скомпилированный код занимал столько места, сколько ему нужно, хотя это и происходит за счет хранилища и эффективности.

Наконец, есть также блок SPU Channel and DMA Transport (SCC), который контроллер Memory Flow использует для заполнения и/или получения локальной памяти, и хилый АЛУ Fixed-Point Unit, который умеет только перемешивать и поворачивать вектора.

2.6.2.2. Чётный конвейер

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличается

Четный конвейер отличается своими арифметическими возможностями. Здесь мы находим настоящий блок АЛУ Fixed-point Unit (FXU), который выполняет основные арифметические, логические операции (И, ИЛИ и другие), битовые сдвиги.

И последнее, но не менее важное: есть математический блок Floating-point Unit (FPU), который выполняет операции с числами одинарной точности (32-битные float ), двойной точности (64-битные double ), а также с целыми числами (32-битные int ). Это соответствует стандарту IEEE с некоторыми отклонениями (значения float ведут себя аналогично в PS2.

2.7. Cell изнутри: Стили программирования

2.7.1. Подходы, ориентированные вокруг PPE

Эти подходы представляют собой набор паттернов программирования, которые возлагают основные обязанности на PPE и оставляют SPE для разгрузки. Есть три возможных паттерна:

Модель многоуровневого конвейера: PPE поручено отправлять работу одному SPE, который, в свою очередь, выполняет необходимые вычисления и передает результаты следующему SPE. Это продолжается до тех пор, пока последний SPE в цепочке не отправит обработанные данные обратно в PPE.

По очевидным причинам IBM не предлагает данный подход для основных задач, так как для него требуется значительной пропускной способности, и его, как правило, трудно поддерживать.

Модель параллельных уровней: PPE разделяет свою главную задачу на независимые подзадачи и отправляет каждую из них разным SPE. Затем каждый SPE возвращает обработанные данные в PPE после их завершения, и в конце PPE объединяет их для получения конечного результата.

Модель сервисов: каждому SPE назначается одна задача ( декодирование MPEG, стриминг аудио, перспективная проекция, вершинное освещение и прочее), а PPE отвечает за отправку необработанных данных конкретному SPE. В ожидании результата PPE выполняет другие функции.

Хоть это и подразумевает, что у каждого SPE будет одна задача, они не должны исполнять её вечно. PPE должен переопределять другие задачи на лету по мере изменения потребностей программы.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяPPE распределяет различные задачи каждому SPE, который затем индивидуально работает с ней.

2.7.3. Подходы, ориентированные вокруг SPE

Вместо того, чтобы использовать блоки SPE для обслуживания PPE, есть другой подход. Используя внутренний DMA, блоки SPE получают и выполняют задачи, хранящиеся в основной памяти, в то время как PPE ограничивается управлением ресурсами.

ps3 cechc08 чем отличается. Смотреть фото ps3 cechc08 чем отличается. Смотреть картинку ps3 cechc08 чем отличается. Картинка про ps3 cechc08 чем отличается. Фото ps3 cechc08 чем отличаетсяКаждый SPE отвечает за свою функциональность и взаимодействует с PPE только, чтобы получить ресурсы.

Эта модель гораздо более радикальна, чем остальные, в том смысле, что предыдущие модели ближе к традиционным и похожи на парадигму «универсальный процессор со сопроцессорами», применяемую в ПК. Поэтому кодовые базы, реализующие алгоритмы вокруг SPE, может быть сложнее перенести на другие платформы.

2.8. Вывод

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

Для примера, разработчики движка Unreal Engine 3 (Epic Games) демонстрировали ограничения SPU, пытаясь реализовать свою систему обнаружения коллизий [22]. Их реализация опирается на двоичном разбиении пространства (Binary Space Partitioning, BSP), алгоритм, который сильно зависит от сравнений (ветвлений).

Поскольку блоки SPU не обеспечивают динамические предсказания переходов, как PPU, их реализация разочаровала пользователей PlayStation 3 по сравнению с другими платформами (Xbox 360 или i386) на ПК, оба из которых обеспечивают продвинутые техники предсказания во всех своих ядрах). Следовательно, Epic Games пришлось прибегать к дальнейшим оптимизациям, совместимыми только с Cell.

Источники про Cell

Sandeep Koranne, Practical Computing on the Cell Broadband Engine. ↩︎ Page 5 ↩︎, Page 62 ↩︎,

Arevalo et al., Programming the Cell Broadband Engine™ Architecture. IBM Redbooks. Page 8 ↩︎,

Rosquete, Daniel & Pérez, José & Futrillé, Daniel & Larrazabal, German, HPC on Playstation 3?. 2009. ↩︎ Page 4 ↩︎,

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *