SuperH - SuperH

SuperH (SH)
Дизайнер Hitachi Ltd.
Биты 32-бит (32 → 64)
Введено 1990-е годы
Дизайн RISC
Кодирование SH2: 16-битные инструкции; SH2A и новее: смешанные 16- и 32-битные инструкции
Порядок байтов Би
Открытым Да, и без лицензионных отчислений

SuperH (или SH ) - это 32-битная архитектура набора команд (ISA) для вычислений с сокращенным набором команд (RISC ), разработанная Hitachi и в настоящее время производимая Renesas . Это реализовано микроконтроллерами и микропроцессорами для встраиваемых систем .

На момент своего появления SuperH отличался наличием 16-битных инструкций фиксированной длины, несмотря на 32-битную архитектуру. Это был новый подход; в то время процессоры RISC всегда использовали размер инструкции, равный внутренней ширине данных, обычно 32 бита. Использование меньших инструкций имело последствия: регистровый файл был меньше, а инструкции обычно имели формат с двумя операндами. Но для рынка, на который был нацелен SuperH, это была небольшая цена за улучшенную память и эффективность кеш- памяти процессора .

Более поздние версии дизайна, начиная с SH-5, включали как 16-, так и 32-разрядные инструкции, причем 16-разрядные версии отображались на 32-разрядную версию внутри ЦП. Это позволяло машинному коду продолжать использовать более короткие инструкции для экономии памяти, не требуя при этом количества логики декодирования инструкций, необходимой, если бы они были полностью отдельными инструкциями. Эта концепция теперь известна как сжатый набор инструкций и также используется другими компаниями, наиболее ярким примером которой является ARM для ее набора инструкций Thumb .

По состоянию на 2015 год истекает срок действия многих оригинальных патентов на архитектуру SuperH, и ЦП SH-2 был преобразован в аппаратное обеспечение с открытым исходным кодом под названием J2 .

История

Ш-1 и Ш-2

SH-2 на Sega 32X и Sega Saturn

Семейство процессорных ядер SuperH было впервые разработано Hitachi в начале 1990-х годов. Концепция дизайна была для единого набора инструкций (ISA), который был бы совместим снизу вверх для ряда ядер ЦП .

В прошлом подобная проблема проектирования решалась с помощью микрокода , когда младшие модели этой серии выполняли нереализованные инструкции как серию более простых инструкций. Например, инструкция для выполнения 32 x 32 -> 64-битного умножения, «длинное умножение», может быть реализована аппаратно на моделях высокого класса, но вместо этого выполняться как серия добавлений на моделях низкого уровня.

Одна из ключевых реализаций во время разработки концепции RISC заключалась в том, что микрокод имел конечное время декодирования, и по мере того, как процессоры становились быстрее, это представляло неприемлемые накладные расходы на производительность. Чтобы решить эту проблему, Hitachi разработала единый ISA для всей линейки, с неподдерживаемыми инструкциями, вызывающими ловушки в тех реализациях, которые не включали поддержку оборудования. Например, исходные модели линейки SH-1 и SH-2 отличались только поддержкой 64-битного умножения; SH-2 поддерживает MUL, DMULSи DMULU, тогда как SH-1 вызовет ловушку, если они будут встречены.

ISA использует 16-битные инструкции для лучшей плотности кода, чем 32-битные инструкции, что было большим преимуществом в то время из-за высокой стоимости основной памяти . Обратной стороной этого подхода было то, что для кодирования номера регистра или постоянного значения было доступно меньше битов. В SuperH ISA было всего 16 регистров, требующих четыре бита для источника и еще четыре для назначения. Сама инструкция также состояла из четырех битов, оставив еще четыре бита неучтенными. Некоторые инструкции использовали эти последние четыре бита для смещений при доступе к массиву, в то время как другие объединили второй слот регистра и последние четыре бита для получения 8-битной константы.

Первоначально были представлены две модели. SH-1 была базовой моделью, поддерживающей в общей сложности 56 инструкций. SH-2 добавил 64-битное умножение и несколько дополнительных команд для ветвления и других задач, в результате чего общее количество поддерживаемых инструкций достигло 62. SH-1 и SH-2 использовались в Sega Saturn , Sega 32X и Capcom CPS-3 .

SH-3

Спустя несколько лет к семейству добавился сердечник SH-3; новые функции включали другую концепцию прерывания, блок управления памятью (MMU) и измененную концепцию кэширования. Эти функции требовали расширенного набора инструкций, добавляя шесть новых инструкций, всего 68. SH-3 был двунаправленным , выполнялся либо с прямым порядком байтов, либо с прямым порядком байтов.

Ядро SH-3 также добавило расширение DSP , затем названное SH-3-DSP. Благодаря расширенным трактам передачи данных для эффективной обработки DSP, специальным накопителям и специализированному процессору DSP MAC- типа, это ядро ​​объединило мир DSP и RISC-процессоров. Производная DSP также использовалась с исходным ядром SH-2.

С 1994 по 1996 год по всему миру было отгружено 35,1 миллиона устройств SuperH.

SH-4

В 1997 году Hitachi и STMicroelectronics (STM) начали сотрудничество в разработке SH-4 для Dreamcast . SH-4 отличался суперскалярным (двухсторонним) выполнением инструкций и векторным блоком с плавающей запятой (особенно подходящим для трехмерной графики ). Стандартные микросхемы на базе SH-4 были представлены примерно в 1998 году.

Лицензирование

В начале 2001 года Hitachi и STM сформировали IP-компанию SuperH, Inc., которая собиралась лицензировать ядро ​​SH-4 другим компаниям и разрабатывать архитектуру SH-5, первый шаг SuperH в 64-битную область. Более ранние модели SH-1–3 остались собственностью Hitachi.

В 2003 году Hitachi и Mitsubishi Electric создали совместное предприятие под названием Renesas Technology , в котором Hitachi контролирует 55% этого предприятия. В 2004 году Renesas Technology купила долю собственности STMicroelectronics в SuperH Inc. и вместе с ней лицензию на ядра SH. Позже Renesas Technology стала Renesas Electronics после слияния с NEC Electronics .

Конструкция SH-5 поддерживала два режима работы. Режим SHcompact эквивалентен командам пользовательского режима набора команд SH-4. Режим SHmedia сильно отличается, в нем используются 32-битные инструкции с шестьюдесятью четырьмя 64-битными целочисленными регистрами и инструкции SIMD . В режиме SHmedia место назначения перехода (перехода) загружается в регистр перехода отдельно от фактической инструкции перехода. Это позволяет процессору выполнять предварительную выборку инструкций для перехода без необходимости отслеживать поток инструкций. Комбинация компактного 16-битного кодирования инструкций с более мощным 32-битным кодированием инструкций не уникальна для SH-5; Процессоры ARM имеют 16-битный режим Thumb (ARM лицензировала несколько патентов SuperH для Thumb), а процессоры MIPS имеют режим MIPS-16. Однако SH-5 отличается тем, что его режим обратной совместимости - это 16-битная кодировка, а не 32-битная кодировка.

Последний этап эволюции произошел примерно в 2003 году, когда ядра от SH-2 до SH-4 были объединены в суперскалярное ядро ​​SH-X, которое сформировало своего рода надмножество набора команд предыдущих архитектур и добавило поддержку симметричной многопроцессорной обработки .

Постоянная доступность

С 2010 года процессорные ядра, архитектура и продукты SuperH принадлежат Renesas Electronics, а архитектура объединена вокруг платформ SH-2, SH-2A, SH-3, SH-4 и SH-4A. Продукты System-on-Chip на базе микропроцессоров SH-3, SH-4 и SH-4A были впоследствии заменены более новыми поколениями, основанными на лицензионных ядрах ЦП от Arm Ltd. , при этом многие из существующих моделей все еще продавались и продавались до марта. До 2025 года в рамках Программы долговечности продукции Renesas.

С 2021 года микроконтроллеры SH72xx на базе SH-2A будут продолжать продаваться компанией Renesas с гарантированной доступностью до февраля 2029 года, а также новые продукты, основанные на нескольких других архитектурах, включая Arm , RX и RH850 .

J Core

Последний из патентов SH-2 истек в 2014 году. На LinuxCon Japan 2015 разработчики j-core представили новую версию SH-2 ISA с расширениями (известную как «ядро J2» из-за не истекших товарных знаков ). Впоследствии на ELC 2016 было представлено пошаговое руководство по дизайну.

Открытый источник BSD лицензию VHDL код для ядра J2 было доказано на Xilinx FPGAs и СБИС , изготовленных на TSMC «с 180 нм процесса, и способен к загрузке μClinux . J2 обратно совместим с ISA с SH-2, реализован в виде 5-ступенчатого конвейера с отдельными интерфейсами памяти инструкций и данных, а также сгенерированным машиной декодером инструкций, поддерживающим плотно упакованный и сложный (по сравнению с другими RISC-машинами) ISA. Дополнительные инструкции легко добавить. J2 реализует инструкции для динамического сдвига (с использованием шаблонов инструкций SH-3 и более поздних версий), расширенных атомарных операций (используемых для потоковых примитивов) и блокировки / интерфейсов для поддержки симметричных многопроцессорных систем. Планы по внедрению наборов инструкций SH-2A (как «J2 +») и SH-4 (как «J4»), поскольку соответствующие патенты истекают в 2016-2017 годах.

Некоторые особенности SuperH были названы мотивацией для разработки новых ядер на основе этой архитектуры:

  • Высокая плотность кода по сравнению с другими 32-разрядными RISC ISA, такими как ARM или MIPS, важна для производительности кэш-памяти и пропускной способности памяти.
  • Поддержка существующих компиляторов и операционных систем ( Linux , Windows Embedded , QNX )
  • Чрезвычайно низкие затраты на изготовление ASIC теперь, когда истекает срок действия патентов (около 0,03 доллара США за двухъядерное ядро ​​J2 по 180-нм техпроцессу TSMC).
  • Внедрение без патентов и лицензионных отчислений (лицензия BSD)
  • Полная и активная поддержка сообщества
  • Доступность недорогой платформы разработки оборудования для нулевых затрат на инструменты FPGA.
  • Инструменты генерации и интеграции RTL для ЦП и SoC, создание портативных RTL для FPGA и ASIC и документация
  • Чистый, современный дизайн с открытым исходным кодом, среда генерации, моделирования и проверки

Модели

Процессор Hitachi SH-3

Семейство процессорных ядер SuperH включает:

  • SH-1 - используется в микроконтроллерах для глубоко встроенных приложений ( приводы компакт- дисков, основные устройства и т. Д.)
  • SH-2 - используется в микроконтроллерах с более высокими требованиями к производительности, также используется в автомобилях, таких как блоки управления двигателем или в сетевых приложениях, а также в игровых консолях, таких как Sega Saturn . SH-2 также нашел применение во многих системах управления автомобильными двигателями , включая Subaru , Mitsubishi и Mazda .
  • SH-2A - Ядро SH-2A является расширением ядра SH-2, включая несколько дополнительных инструкций, но, что наиболее важно, переход на суперскалярную архитектуру (она способна выполнять более одной инструкции за один цикл) и две пяти- сценические трубопроводы. Он также включает 15 банков регистров, чтобы обеспечить задержку прерывания в 6 тактовых циклов. Он также хорош в приложениях для управления двигателем, а также в мультимедиа, автомобильной аудиосистеме, трансмиссии, управлении автомобильным кузовом и автоматизации офисов + зданий.
  • SH-DSP - изначально разработан для рынка мобильных телефонов , позже используется во многих потребительских приложениях, требующих производительности DSP для сжатия JPEG и т. Д.
  • SH-3 - используется для мобильных и портативных приложений, таких как Jornada , сильна в приложениях Windows CE и много лет работает на рынке автомобильных навигационных систем. Пещера CV1000 , похожий на Sega Naomi процессора аппаратного обеспечения, также использовали этот процессор. Музыкальные производственные единицы Korg Electribe EMX и ESX также используют SH-3.
  • SH-3-DSP - используется в основном в мультимедийных терминалах и сетевых приложениях, а также в принтерах и факсах.
  • SH-4 - используется, когда требуется высокая производительность, например, автомобильные мультимедийные терминалы, игровые приставки или телевизионные приставки
  • SH-5 - используется в высокопроизводительных 64-битных мультимедийных приложениях
  • SH-X - основное ядро, используемое в различных вариантах (с / без DSP или FPU) в блоке управления двигателем, автомобильном мультимедийном оборудовании, приставках или мобильных телефонах.
  • SH-Mobile - процессор мобильных приложений SuperH; предназначен для разгрузки обработки приложений с LSI основной полосы частот

SH-2

Процессор Hitachi SH-2

SH-2 представляет собой 32-битную архитектуру RISC с 16-битной фиксированной длиной инструкции для высокой плотности кода, имеет аппаратный блок умножения-накопления (MAC) для алгоритмов DSP и имеет пятиступенчатый конвейер.

SH-2 имеет кэш-память на всех устройствах без ПЗУ .

Он предоставляет 16 регистров общего назначения, векторный базовый регистр, глобальный базовый регистр и регистр процедуры.

Сегодня семейство SH-2 простирается от 32 КБ встроенной флэш-памяти до устройств без ПЗУ. Он используется во множестве различных устройств с различными периферийными устройствами, такими как CAN, Ethernet, блок таймера управления двигателем, быстрый АЦП и другие.

SH-2A

SH-2A - это обновление ядра SH-2, в которое добавлены 32-битные инструкции. Об этом было объявлено в начале 2006 года.

Новые функции ядра SH-2A включают:

  • Суперскалярная архитектура: выполнение 2 инструкций одновременно
  • Гарвардская архитектура
  • Два 5-ступенчатых трубопровода
  • Смешанные 16-битные и 32-битные инструкции
  • 15 банков регистров для реакции на прерывания за 6 циклов.
  • Дополнительный FPU

Семейство SH-2A сегодня охватывает широкую область памяти от 16 КБ до и включает в себя множество вариантов без ПЗУ. Устройства оснащены стандартными периферийными устройствами, такими как CAN , Ethernet , USB и др., А также дополнительными периферийными устройствами для конкретных приложений, такими как таймеры управления двигателями , контроллеры TFT и периферийные устройства, предназначенные для автомобильных трансмиссий.

SH-4

Процессор Hitachi SH-4

SH-4 - это 32-битный RISC-процессор, разработанный для основного использования в мультимедийных приложениях, таких как игровые системы Sega Dreamcast и NAOMI . Он включает в себя гораздо более мощный модуль с плавающей запятой и дополнительные встроенные функции, а также стандартную 32-битную целочисленную обработку и 16-битный размер инструкции.

Характеристики SH-4 включают:

  • FPU с четырьмя умножителями с плавающей запятой, поддерживающий 32-битные числа с плавающей запятой одинарной точности и 64-битные числа с плавающей запятой двойной точности
  • 4D операция скалярного произведения с плавающей запятой и умножение матрицы на вектор
  • 128-битная шина с плавающей запятой, обеспечивающая скорость передачи 3,2 ГБ / с из кеша данных
  • 64-битная внешняя шина данных с 32-битной адресацией памяти, позволяющая до 4 ГБ адресуемой памяти со скоростью передачи 800 МБ / с
  • Встроенные контроллеры прерываний, прямого доступа к памяти и управления питанием

^ В пользовательском SH4, сделанном для Casio, SH7305 нет FPU.

SH-5

SH-5 - это 64-битный RISC-процессор.

Практически не было выпущено немоделированное оборудование SH-5, и, в отличие от все еще живого SH-4, поддержка SH-5 была исключена из gcc и Linux.

использованная литература

Цитаты

Библиография

внешние ссылки