stringtranslate.com

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

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

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

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

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

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

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

Он имеет 6-этапный целочисленный конвейер и 15-этапный конвейер с плавающей запятой (FP). Ассортимент регистров состоит из 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 КБ [4] , двусторонний набор ассоциативных неблокирующих кэшей данных объемом 8 КБ [4] и оперативное ОЗУ объемом 16 КБ . Кэш инструкций и данных виртуально индексируются и физически помечаются тегами, в то время как блокнотная оперативная память находится в отдельном пространстве памяти. Для трансляции виртуальных адресов предусмотрен объединенный резервный буфер преобразования 48 инструкций и данных с двойной записью . Прогнозирование ветвей достигается с помощью кэша целевых адресов ветвей с 64 записями и таблицы истории ветвей, интегрированной в кеш инструкций. Штраф за неправильное предсказание ветвления составляет три цикла из-за короткого шестиэтапного конвейера.

Векторные процессоры

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

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

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

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

IPU позволял декодировать сжатые изображения MPEG-2 , что позволяло воспроизводить DVD-диски и игровые FMV . Это также позволило выполнить векторное квантование данных 2D-графики. [5]

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

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

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

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

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

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

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

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

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

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

Упаковка

Emotion Engine был упакован в решетку из пластиковых шариков с 540 контактами (PBGA).

Использование

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

Emotion Engine также использовался в цифровом видеомагнитофоне PSX , а также в моделях телевизоров Sony WEGA HVX (номера моделей KDE-xxxHVX/KDL-xxxHVX) и Sony BRAVIA KDL22PX300 HDTV, все из которых использовали оборудование PlayStation 2.

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

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

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

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

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

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