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

Центральный процессор Sony Computer Entertainment и Toshiba
Процессор 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

Emotion Engine состоит из восьми отдельных «блоков», каждый из которых выполняет определенную задачу, интегрированных в один кристалл . Эти блоки: ядро ​​ЦП, два векторных процессора (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-килобайтный двухсторонний ассоциативный кэш инструкций , 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-битных значений с плавающей точкой одинарной точности , которые распределяются по четырем блокам FMAC одинарной точности (32-битным) для обработки. Эта схема похожа на расширения 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-битный выделенный путь между CPU и VPU0 и 128-битный выделенный путь между VPU1 и GIF. На частоте 150 МГц внутренняя шина данных обеспечивает максимальную теоретическую пропускную способность 2,4 ГБ/с.

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

Связь между Emotion Engine и RAM осуществляется через два канала DRDRAM (Direct Rambus Dynamic Random Access Memory) и контроллер памяти , который взаимодействует с внутренней шиной данных. Каждый канал имеет ширину 16 бит и работает на частоте 400 МГц DDR (Double Data Rate). В совокупности два канала 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 мкм ( 0,18 мкм эффективная длина волны ) комплементарной металл-оксид-полупроводник (КМОП) технологии с четырьмя уровнями межсоединений.

Упаковка

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

Использует

Основным применением Emotion Engine было использование в качестве центрального процессора PlayStation 2 .

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

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

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

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

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

Ссылки

  1. ^ Гилберт, Бен (7 января 2013 г.). «Sony подтверждает окончание производства PlayStation 2 по всему миру». Engadget . Получено 23 июня 2013 г.
  2. ^ Стоукс, Джон (16 февраля 2000 г.). «Звук и зрение: технический обзор Emotion Engine». Ars Technica . Архивировано из оригинала 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 Sporny, Many; Carper, Gray; Turner, Jonathan (2002). "The Playstation 2 Linux Kit Handbook". Free Software Foundation . Архивировано из оригинала 18 сентября 2003 года . Получено 10 июня 2015 года .
  6. ^ Дифендорф 1999, стр. 5
  7. ^ Хеннесси, Джон Л .; Паттерсон, Дэвид А. (29 мая 2002 г.). Архитектура компьютера: количественный подход (3-е изд.). Морган Кауфманн. стр. 491. ISBN 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.

Ссылки

  • Хеннесси, Джон Л.; Паттерсон , Дэвид А. (29 мая 2002 г.). Архитектура компьютера: количественный подход (3-е изд.). Морган Кауфманн. ISBN 978-0-08-050252-6. Получено 9 апреля 2013 г.
  • Дифендорф, Кит (19 апреля 1999 г.). «Эмоционально заряженный чип Sony». Отчет о микропроцессорах . 13 (5). Ресурсы микродизайна.
Взято с "https://en.wikipedia.org/w/index.php?title=Emotion_Engine&oldid=1263430910#Vector_processing_units"