stringtranslate.com

superh

SuperH (o SH ) es una arquitectura de conjunto de instrucciones (ISA ) de computación de conjunto de instrucciones reducido (RISC) de 32 bits desarrollada por Hitachi y actualmente producida por Renesas . Se implementa mediante microcontroladores y microprocesadores para sistemas integrados .

En el momento de su introducción, SuperH se destacaba por tener instrucciones de 16 bits de longitud fija a pesar de su arquitectura de 32 bits. El uso de instrucciones más pequeñas tuvo consecuencias: el archivo de registro era más pequeño y las instrucciones generalmente tenían un formato de dos operandos. Sin embargo, para el mercado al que estaba dirigido el SuperH, este era un pequeño precio a pagar por la mejora de la memoria y la eficiencia de la caché del procesador .

Las versiones posteriores del diseño, comenzando con SH-5, incluían instrucciones de 16 y 32 bits, y las versiones de 16 bits se asignaban a la versión de 32 bits dentro de la CPU. Esto permitió que el código de máquina continuara usando instrucciones más cortas para ahorrar memoria, sin exigir la cantidad de lógica de decodificación de instrucciones necesaria si fueran instrucciones completamente separadas. Este concepto ahora se conoce como conjunto de instrucciones comprimido y también lo utilizan otras empresas, siendo el ejemplo más notable ARM por su conjunto de instrucciones Thumb .

En 2015, muchas de las patentes originales para la arquitectura SuperH expiraron y la CPU SH-2 se volvió a implementar como hardware de código abierto con el nombre J2.

Historia

SH-1 y SH-2

SH-2 en Sega 32X y Sega Saturn

La familia de núcleos de procesadores SuperH fue desarrollada por primera vez por Hitachi a principios de los años 1990. El concepto de diseño era para un único conjunto de instrucciones (ISA) que sería compatible con versiones posteriores en una serie de núcleos de CPU .

En el pasado, este tipo de problema de diseño se habría resuelto utilizando microcódigo , con los modelos de gama baja de la serie ejecutando instrucciones no implementadas como una serie de instrucciones más básicas. Por ejemplo, una "multiplicación larga" (multiplicar dos registros de 32 bits para producir un producto de 64 bits) podría implementarse en hardware en modelos de gama alta, pero en cambio realizarse como una serie de adiciones en modelos de gama baja.

Una de las principales conclusiones durante el desarrollo del concepto RISC fue que el microcódigo tenía un tiempo de decodificación finito y, a medida que los procesadores se hacían más rápidos, esto representaba una sobrecarga de rendimiento inaceptable. Para solucionar este problema, Hitachi desarrolló una única ISA para toda la línea, con instrucciones no compatibles que causaban trampas en aquellas implementaciones que no incluían soporte de hardware. Por ejemplo, los modelos iniciales de la línea, el SH-1 y el SH-2, se diferenciaban sólo en su soporte para la multiplicación de 64 bits; el SH-2 admitía MUL, DMULSy DMULU, mientras que el SH-1 causaría una trampa si se encontraran. [3]

El SH-1 era el modelo básico y admitía un total de 56 instrucciones. El SH-2 agregó multiplicación de 64 bits y algunos comandos adicionales para bifurcaciones y otras tareas, lo que eleva el total a 62 instrucciones admitidas. [3] El SH-1 y el SH-2 se utilizaron en Sega Saturn , Sega 32X y Capcom CPS-3 . [4]

ISA utiliza instrucciones de 16 bits para una mejor densidad de código que las instrucciones de 32 bits, lo cual era importante en ese momento debido al alto costo de la memoria principal y el costo de implementación del caché. A partir de 2023, la densidad del código seguirá siendo importante para los pequeños sistemas integrados y los procesadores multinúcleo masivos. Las desventajas de este enfoque eran que había menos bits disponibles para codificar un número de registro o un valor constante. En el SuperH ISA original, solo había 16 registros generales, que requerían cuatro bits para el origen y otros cuatro para el destino; sin embargo, algunas instrucciones tienen implícitos R0, R15 o un registro del sistema como operando adicional. El código de operación de la instrucción tiene una longitud de cuatro, ocho, doce o dieciséis bits, y los campos restantes de cuatro bits se utilizan para registros u operandos inmediatos de varias maneras: hay doce clases de instrucciones, para un total de 142 instrucciones en SH-2. . [5]

Se introducen ramas retrasadas tanto para SH-1 como para SH-2. Las instrucciones de bifurcación incondicionales tienen un espacio de retardo . [6]

SH-3

Unos años más tarde, se añadió a la familia el núcleo SH-3; Las nuevas características incluyeron otro concepto de interrupción , una unidad de administración de memoria (MMU) y un concepto de caché modificado. Estas características requirieron un conjunto de instrucciones extendido, agregando seis instrucciones nuevas para un total de 68. [3] El SH-3 era bi-endian y se ejecutaba en orden de bytes big-endian o little-endian.

El núcleo SH-3 también agregó una extensión DSP , luego llamada SH-3-DSP. Con rutas de datos extendidas para un procesamiento DSP eficiente, acumuladores especiales y un motor DSP de tipo MAC dedicado , este núcleo unificó el mundo del procesador DSP y RISC. También se utilizó un derivado del DSP con el núcleo SH-2 original.

Entre 1994 y 1996, se enviaron 35,1 millones de dispositivos SuperH en todo el mundo. [7]

SH-4

En 1997, Hitachi y STMicroelectronics (STM) comenzaron a colaborar en el diseño del SH-4 para Dreamcast . SH-4 presentaba ejecución de instrucciones superescalares (bidireccionales) y una unidad vectorial de punto flotante (especialmente adecuada para gráficos 3D ). Los chips estándar basados ​​en el SH-4 se introdujeron alrededor de 1998. [8]

Licencia

A principios de 2001, Hitachi y STM formaron la empresa de propiedad intelectual SuperH, Inc., que iba a conceder licencias del núcleo SH-4 a otras empresas y estaba desarrollando la arquitectura SH-5, el primer paso de SuperH al área de 64 bits. Los anteriores SH-1 a 3 siguieron siendo propiedad de Hitachi. [8] [9]

En 2003, Hitachi y Mitsubishi Electric formaron una empresa conjunta llamada Renesas Technology , de la que Hitachi controlaba el 55%. En 2004, Renesas Technology compró la participación de STMicroelectronics en SuperH Inc. y con ella la licencia de los núcleos SH. [10] Renesas Technology más tarde se convirtió en Renesas Electronics, tras su fusión con NEC Electronics .

El diseño del SH-5 admitía dos modos de funcionamiento: el modo SHcompact, que es equivalente a las instrucciones en modo de usuario del conjunto de instrucciones SH-4; y el modo SHmedia, que es muy diferente porque utiliza instrucciones de 32 bits con sesenta y cuatro registros enteros de 64 bits e instrucciones SIMD . En el modo SHmedia, el destino de una bifurcación (salto) se carga en un registro de bifurcación por separado de la instrucción de bifurcación real. Esto permite que el procesador precapture instrucciones para una rama sin tener que espiar el flujo de instrucciones. La combinación de una codificación de instrucciones compacta de 16 bits con una codificación de instrucciones más potente de 32 bits no es exclusiva del SH-5; Los procesadores ARM tienen un modo Thumb de 16 bits (ARM obtuvo la licencia de varias patentes de SuperH para Thumb [11] ) y los procesadores MIPS tienen un modo MIPS-16. Sin embargo, SH-5 se diferencia porque su modo de compatibilidad con versiones anteriores es la codificación de 16 bits en lugar de la codificación de 32 bits.

El último paso evolutivo ocurrió alrededor de 2003, cuando los núcleos desde SH-2 hasta SH-4 se unificaron en un núcleo superescalar SH-X que formó una especie de superconjunto de instrucciones de las arquitecturas anteriores y agregó soporte para multiprocesamiento simétrico .

Disponibilidad continua

Desde 2010, los núcleos, la arquitectura y los productos de la CPU SuperH pertenecen a Renesas Electronics y la arquitectura se consolida en torno a las plataformas SH-2, SH-2A, SH-3, SH-4 y SH-4A. Los productos de sistema en chip basados ​​en microprocesadores SH-3, SH-4 y SH-4A fueron reemplazados posteriormente por generaciones más nuevas basadas en núcleos de CPU con licencia de Arm Ltd. , y muchos de los modelos existentes aún se comercializaron y vendieron hasta marzo de 2025. a través del Programa de Longevidad de Productos de Renesas. [12]

A partir de 2021, Renesas continúa comercializando los microcontroladores SH72xx basados ​​en el SH-2A con disponibilidad garantizada hasta febrero de 2029, junto con productos más nuevos basados ​​en varias otras arquitecturas, incluidas Arm , RX y RH850 .

J-núcleo

La última de las patentes de SH-2 expiró en 2014. En LinuxCon Japan 2015, los desarrolladores de j-core presentaron una reimplementación de sala limpia del SH-2 ISA con extensiones (conocido como "núcleo J2" debido a las marcas comerciales vigentes ). [11] [13] Posteriormente, se presentó un recorrido por el diseño en ELC 2016. [14]

El código VHDL con licencia BSD de código abierto para el núcleo J2 se ha probado en FPGA Xilinx y en ASIC fabricados en el proceso de 180 nm de TSMC , y es capaz de arrancar µClinux . [11] J2 es compatible con ISA hacia atrás con SH-2, implementado como una canalización de 5 etapas con interfaces de memoria de datos e instrucciones separadas, y un decodificador de instrucciones generado por máquina que admite el ISA complejo y denso (en comparación con otras máquinas RISC). Las instrucciones adicionales son fáciles de agregar. J2 implementa instrucciones para cambio dinámico (usando patrones de instrucción SH-3 y posteriores), operaciones atómicas extendidas (usadas para primitivas de subprocesos) y bloqueo/interfaces para soporte multiprocesador simétrico. Los planes para implementar los conjuntos de instrucciones SH-2A (como "J2+") y SH-4 (como "J4") a medida que las patentes pertinentes expiren en 2016-2017. [11] [ necesita actualización ]

Se han citado varias características de SuperH como motivaciones para diseñar nuevos núcleos basados ​​en esta arquitectura: [11]

Modelos

CPU Hitachi SH-3

La familia de núcleos de CPU SuperH incluye:

SH-2

CPU Hitachi SH-2

El SH-2 es una arquitectura RISC de 32 bits con una longitud de instrucción fija de 16 bits para una alta densidad de código y presenta un bloque de multiplicación y acumulación de hardware (MAC) para algoritmos DSP y tiene una canalización de cinco etapas.

El SH-2 tiene un caché en todos los dispositivos sin ROM .

Proporciona 16 registros de propósito general, un registro de base vectorial, un registro de base global y un registro de procedimiento.

Hoy en día, la familia SH-2 abarca desde 32 KB de memoria flash integrada hasta dispositivos sin ROM. Se utiliza en una variedad de dispositivos diferentes con diferentes periféricos como CAN, Ethernet, unidad de temporizador de control de motor, ADC rápido y otros.

SH-2A

El SH-2A es una actualización del núcleo SH-2 que agregó algunas instrucciones de 32 bits. Fue anunciado a principios de 2006.

Las nuevas características del núcleo SH-2A incluyen:

La familia SH-2A hoy abarca un amplio campo de memoria desde 16 KB hasta e incluye muchas variaciones sin ROM. Los dispositivos cuentan con periféricos estándar como CAN , Ethernet , USB y más, así como periféricos más específicos para aplicaciones, como temporizadores de control de motores , controladores TFT y periféricos dedicados a aplicaciones de sistemas de propulsión automotrices.

SH-4

CPU Hitachi SH-4

El SH-4 es una CPU RISC y fue desarrollado para uso principal en aplicaciones multimedia, como los sistemas de juegos Dreamcast y NAOMI de Sega. Incluye una unidad de punto flotante mucho más potente [nota] y funciones integradas adicionales, junto con el procesamiento de enteros estándar de 32 bits y un tamaño de instrucción de 16 bits.

Las características del SH-4 incluyen:

^ No hay FPU en el SH-4 personalizado hecho para Casio, el SH7305.

SH-5

El SH-5 es una CPU RISC de 64 bits. [17]

Casi nunca se lanzó hardware SH-5 no simulado [18] y, a diferencia del SH-4 aún activo, el soporte para SH-5 se eliminó de GCC [19] y Linux.

Referencias

Citas

  1. ^ "La historia del Hitachi SH-2 y Sega Saturn". www.sega-16.com . Renesas . Consultado el 27 de febrero de 2023 .
  2. ^ Procesador abierto J-core
  3. ^ Programa abc 1996, pag. 1.
  4. ^ "Hardware CP System III (CPS3) (Capcom)". www.system16.com . Sistema 16 . Consultado el 3 de agosto de 2019 .
  5. ^ Programa 1996, págs. 30-33.
  6. ^ "Manual de hardware SH7020 y SH7021Motor SuperH RISC". pag. 19,48 . Consultado el 2 de diciembre de 2023 .
  7. ^ "El procesador 360-MIPS SuperH RISC permite sistemas de acceso personal SH7750 lanza la serie SH-4". Noviembre de 1997. Archivado desde el original el 5 de marzo de 2016.
  8. ^ ab "STMicro e Hitachi planean una nueva empresa para desarrollar núcleos RISC". Tiempos EE.UU. 3 de abril de 2001. Hitachi creó la familia de procesadores SH y desarrolló sus primeras cuatro iteraciones principales, pero ha trabajado con ST desde 1997, cuando las empresas acordaron compartir una hoja de ruta común de microprocesadores de alta gama. Desarrollaron conjuntamente el núcleo del procesador SH4 RISC de 32 bits y comenzaron el desarrollo de la arquitectura SH5, que ahora completará SuperH. El producto inicial de SuperH será el núcleo SH4. Las versiones anteriores de SH no formarán parte del acuerdo de escisión.
  9. ^ "SuperH, Inc. formada por Hitachi y STMicroelectronics para impulsar la proliferación de núcleos SuperH en aplicaciones de microprocesadores integrados".[ enlace muerto ]
  10. ^ Clarke, Peter (28 de septiembre de 2004). "Renesas se hará cargo del negocio principal de SuperH". Tiempos EE.UU.
  11. ^ abcde Nathan Willis (10 de junio de 2015). "Resucitando la arquitectura SuperH". LWN.net .
  12. ^ ""MCU de la familia de motores SuperH RISC"". Electrónica Renesas .
  13. ^ ab "Núcleos J". núcleo j. Archivado desde el original el 11 de mayo de 2016 . Consultado el 27 de abril de 2016 .
  14. ^ "Tutorial de diseño de j-core" (PDF) . Archivado (PDF) desde el original el 17 de junio de 2016.
  15. ^ VM Weaver (17 de marzo de 2015). "Explorando los límites de la densidad del código (informe técnico con los resultados más recientes)" (PDF) . Archivado (PDF) desde el original el 13 de julio de 2015.
  16. ^ Kuwabara, M. (25 de julio de 2019). "Manual de servicio Korg EMX/ESX" (PDF) . Archivado desde el original (PDF) el 13 de julio de 2019.
  17. ^ "Núcleo de CPU SH-5, Volumen 1: Arquitectura" (PDF) . Archivado (PDF) desde el original el 20 de marzo de 2009.
  18. ^ "Comunicado de prensa de Wasabi SH-5". 8 de marzo de 2016.
  19. ^ "Cambios, nuevas funciones y correcciones de la serie de versiones de GCC 7". 2 de febrero de 2018.

Bibliografía

enlaces externos