Двигатель эмоций - Emotion Engine

Процессор Sony Emotion Engine

В Двигатель эмоций это центральное процессорное устройство разработан и изготовлен Sony Computer Entertainment и Toshiba для использования в PlayStation 2 игровая приставка. Он также использовался в раннем PlayStation 3 модели, продаваемые в Японии и Северной Америке (номера моделей CECHAxx и CECHBxx) для обеспечения поддержки игр PlayStation 2. Массовое производство Emotion Engine началось в 1999 году и закончилось в конце 2012 года с прекращением производства PlayStation 2.[1]

Описание

Emotion Engine на материнской плате PS2
Архитектура PlayStation 2

Emotion Engine состоит из восьми отдельных «блоков», каждый из которых выполняет определенную задачу, интегрированных в одно и то же. умереть. Это: ядро ​​ЦП, два Блоки векторной обработки (ВПУ), 10-канальный DMA единица, а контроллер памяти, и блок обработки изображений (IPU). Существует три интерфейса: интерфейс ввода-вывода для процессора ввода-вывода, графический интерфейс (GIF) для графического синтезатора и интерфейс памяти для системной памяти.[2]

Ядро ЦП тесно связано с первым VPU, VPU0. Вместе они несут ответственность за выполнение игрового кода и высокоуровневые вычисления моделирования. Второй ВПУ, ВПУ1, предназначен для преобразования геометрии и освещения и работает независимо, параллельно ядру ЦП, управляемый микрокод. ВПУ0, когда не используется, может также использоваться для геометрических преобразований. Списки отображения сгенерированные CPU / VPU0 и VPU1 отправляются в GIF, который определяет их приоритет перед отправкой в Графический синтезатор для рендеринга.

PS2 - самый ранний известный коммерческий продукт, который можно было использовать. сегнетоэлектрическое RAM (FeRAM). Emotion Engine содержит 32 kb (4 кБ ) встроенная FeRAM производства Toshiba. Он был изготовлен с использованием 500 нм комплементарный металл-оксид-полупроводник (CMOS) процесс.[3]

Ядро процессора

Ядро процессора двустороннее суперскалярный чтобы RISC процессор.[4] Основанный на MIPS R5900, он реализует MIPS-III архитектура набора команд (ISA) и большая часть MIPS-IV, в дополнение к пользовательскому набору инструкций, разработанному Sony, который работает с 128-битными группами 32-битных, 16-битных или 8-битных целых чисел в одна инструкция несколько данных (SIMD) (т.е. четыре 32-битных целых числа могут быть добавлены к четырем другим с помощью одной инструкции). Определенные инструкции включают в себя: сложение, вычитание, умножение, деление, мин. / Макс., Сдвиг, логический, счетчик до нуля, 128-битная загрузка / сохранение и сдвиг воронки с 256-битного на 128-битное в дополнение к некоторым, не описанным Sony для конкурентные причины. Вопреки некоторым заблуждениям, эти возможности SIMD не означают, что процессор является «128-битным», поскольку ни адреса памяти, ни сами целые числа не были 128-битными, а были только общие регистры SIMD / целочисленные. Для сравнения, в 32-битном регистре присутствовали 128-битные регистры и инструкции SIMD. x86 архитектура с 1999 г., с внедрением SSE. Однако внутренние тракты данных были шириной 128 бит, и его процессоры могли работать с количествами 4x32 бит параллельно в отдельных регистрах.

Процессор основан на MIPS с модифицированным набором команд. Его основное ядро ​​VU0 представляет собой суперскалярную упорядоченную двухэтапную схему с 6-ступенчатыми целочисленными конвейерами и 15-ступенчатыми конвейерами с плавающей запятой. Его набор регистров состоит из 32 128-битных регистров VLIW SIMD (именование / переименование), одного 64-битного накопителя и двух 64-битных регистров общих данных, 8 16-битных регистров функции исправления, 16 8-битных регистров контроллера. Процессор также имеет два 64-битных целочисленных ALU, 128-битный блок загрузки-хранения (LSU), блок выполнения ветви (BXU) и 32-битный сопроцессор VU1 FPU (который действовал как контроллер синхронизации для VPU0 / VPU1), содержащий ядро базового процессора MIPS с 32 64-битными регистрами FP и 15 32-битными целочисленными регистрами. ALU 64-битные, с 32-битным FPU, не совместимым с IEEE 754. Настраиваемый набор команд 107 MMI (Multimedia Extensions) был реализован путем группирования двух 64-битных целочисленных ALU. И целое число, и с плавающей точкой трубопроводы шесть этапов.

Для подачи на исполнительные блоки инструкций и данных имеется двусторонний набор размером 16 КБ. ассоциативный кеш инструкций, 8 КБ[5] двухсторонний ассоциативный неблокирующий кэш данных и 16 КБ оперативная память блокнота. Кеши инструкций и данных виртуально индексируются и физически маркируются, в то время как оперативная память блокнота существует в отдельной области памяти. Комбинированные 48 команд и данных с двойным вводом резервный буфер перевода предоставляется для перевода виртуальные адреса. Прогноз ветвления достигается с помощью кэша целевого адреса ветвления с 64 записями и таблица истории веток который интегрирован в кэш инструкций. Штраф за неверное предсказание перехода составляет три цикла из-за короткого шестиступенчатого конвейера.

Блоки векторной обработки

Большинство Emotion Engine плавающая точка исполнение обеспечивается двумя векторная обработка единиц (ВПУ), обозначенных ВПУ0 и ВПУ1. По сути, это были DSP разработан для трехмерной математики, и предшественник конвейеры аппаратных вершинных шейдеров. Каждый VPU имеет 32128 бит вектор SIMD регистры (для хранения векторных данных 4D), 16 16-битных регистров с фиксированной точкой, четыре умножение-накопление с плавающей запятой (FMAC), блок деления с плавающей запятой (FDIV) и локальная память данных. Память данных для VPU0 имеет размер 4 КБ, в то время как VPU1 имеет память данных 16 КБ.

Для достижения высокой пропускной способности память данных VPU подключена непосредственно к GIF, и обе памяти данных могут быть прочитаны напрямую с помощью DMA единица. Одна векторная инструкция состоит из четырех 32-битных одинарная точность значения с плавающей запятой, которые распределяются по четырем модулям FMAC с одинарной точностью (32 бита) для обработки. Эта схема похожа на SSEx расширения от Intel.

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

Блок обработки изображений (IPU)

МПС разрешил MPEG-2 декодирование сжатого изображения, позволяющее воспроизводить DVD и игры FMV. Это также позволило выполнить векторное квантование для данных 2D-графики.[6]

DMA, DRAM и блок управления памятью (MMU)

Блок управления памятью, контроллер RDRAM и контроллер DMA обрабатывают доступ к памяти в системе.[6]

Внутренняя шина данных

Связь между ядром MIPS, двумя VPU, GIF, контроллером памяти и другими модулями обрабатывается 128-битной внутренней шиной данных, работающей на половине тактовой частоты Emotion Engine, но для обеспечения большей пропускной способности также имеется 128-битная внутренняя шина данных. -битовый выделенный путь между CPU и VPU0 и 128-битный выделенный путь между VPU1 и GIF. На частоте 150 МГц внутренняя шина данных обеспечивает максимальную теоретическую пропускную способность 2,4 ГБ / с.

Внешний интерфейс

Связь между Emotion Engine и RAM осуществляется по двум каналам DRDRAM (Direct Rambus Dynamic Random Access Memory) и контроллер памяти, который подключается к внутренней шине данных. Каждый канал имеет ширину 16 бит и работает на частоте 400 МГц DDR (двойная скорость передачи данных). В совокупности два канала DRDRAM имеют максимальную теоретическую пропускную способность 25,6 Гбит / с (3,2 ГБ / с), что примерно на 33% больше, чем у внутренней шины данных. Из-за этого контроллер памяти буферизует данные, отправляемые из каналов DRDRAM, чтобы ЦП мог использовать дополнительную полосу пропускания.

Emotion Engine взаимодействует напрямую с синтезатором графики через GIF с выделенной 64-битной шиной 150 МГц, которая имеет максимальную теоретическую пропускную способность 1,2 ГБ / с.[7]

Для обеспечения связи между Emotion Engine и процессором ввода-вывода (IOP) интерфейс ввода-вывода соединяет 32-битную шину ввода-вывода с частотой 37,5 МГц с максимальной теоретической пропускной способностью 150 МБ / с с внутренней шиной данных. Интерфейс обеспечивает достаточную пропускную способность для разъема расширения PCMCIA, который использовался для сетевого адаптера со встроенным интерфейсом P-ATA для более быстрого доступа к данным и онлайн-функциональности. Преимущество высокой пропускной способности состояло в том, что ее можно было легко использовать для внедрения аппаратных расширений, таких как сетевой адаптер со встроенной поддержкой жестких дисков IDE или других расширений для расширения функциональности и жизненного цикла продукта, что можно рассматривать как конкурентное преимущество. Однако в более новых вариантах (например, в тонкой версии) интерфейс будет предлагать значительно большую пропускную способность, чем требуется для устройств ввода-вывода PlayStation, поскольку поддержка жестких дисков была удалена, а от дизайна разъема PCMCIA отказались в пользу более тонкого дизайна.

Изготовление

Emotion Engine содержал 13,5 миллионов металл-оксид-полупроводник (МОП) транзисторы,[8] на Интегральная схема (IC) размер матрицы 240 мм2.[9] Он был изготовлен Sony и Toshiba в 0,25 мкм (0,18 мкм эффективный Lграмм ) комплементарный металл – оксид – полупроводник (CMOS) процесс с четырьмя уровнями соединения.

Упаковка

Emotion Engine был упакован в 540-контактный пластик. массив сетки мячей (PBGA).

Использует

Основное использование Emotion Engine заключалось в том, чтобы служить PlayStation 2 CPU. Первые SKU PlayStation 3 на материнской плате также был установлен движок Emotion Engine для обеспечения обратной совместимости с играми для PlayStation 2. Однако вторая ревизия PlayStation 3 не хватало физического Emotion Engine для снижения затрат, выполняя все свои функции с помощью программной эмуляции, выполняемой Сотовый широкополосный процессор, в сочетании с аппаратным синтезатором графики, который все еще присутствует для достижения обратной совместимости с PlayStation 2. Во всех последующих редакциях графический синтезатор был удален; однако программный эмулятор PlayStation 2 доступен в более поздних версиях системного программного обеспечения для использования с играми Sony PS2 Classics, доступными для покупки в Sony Entertainment Network.

Технические характеристики

Теоретическая производительность

Рекомендации

  1. ^ Гилберт, Бен. «Sony подтверждает прекращение производства PlayStation 2 во всем мире». Engadget. Получено 23 июн 2013.
  2. ^ Стоукс, Джон (16 февраля 2000 г.). «Звук и зрение: технический обзор движка эмоций». Ars Technica. В архиве с оригинала 10 июня 2018 г.. Получено 9 июн 2015.
  3. ^ а б Скотт, Дж. Ф. (2003). «Нано-сегнетоэлектрики». В Цакалакос, Томас; Овидько, Илья А .; Васудеван, Асури К. (ред.). Наноструктуры: синтез, функциональные свойства и применение. Springer Science & Business Media. С. 583-600 (584-5, 597). ISBN  9789400710191.
  4. ^ Дифендорф, Кит (19 апреля 1999 г.). "Эмоционально заряженный чип Sony" (PDF). Отчет микропроцессора. Vol. 13 нет. 5. В архиве (PDF) с оригинала 25 июля 2018 г.. Получено 1 сентября 2017.
  5. ^ Транзисторная память, такая как размеры RAM, ROM, флэш-памяти и кеша, а также размеры файлов, указываются с помощью бинарные значения для K (10241), М (10242), G (10243), ...
  6. ^ а б Sporny, Многие; Карпер, Грей; Тернер, Джонатан (2002). "Руководство по комплекту Linux для PlayStation 2". Фонд свободного программного обеспечения. Архивировано из оригинал 18 сентября 2003 г.. Получено 10 июн 2015.
  7. ^ Diefendorff 1999, стр. 5
  8. ^ Хеннесси, Джон Л.; Паттерсон, Дэвид А. (29 мая 2002 г.). Компьютерная архитектура: количественный подход (3-е изд.). Морган Кауфманн. п. 491. ISBN  978-0-08-050252-6. Получено 9 апреля 2013.
  9. ^ Дифендорф, Кит (19 апреля 1999 г.). "Эмоционально заряженный чип Sony: убийца с плавающей точкой" Emotion Engine "для PlayStation 2000". Отчет микропроцессора. 13 (5). S2CID  29649747.

Смотрите также

Рекомендации

внешняя ссылка