Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial Internet of Things >> Incrustado

Eliminando el misterio de las extensiones personalizadas en el diseño de SoC RISC-V

Hablar de configurar un procesador base o agregar extensiones personalizadas para resolver las compensaciones de diseño de hardware y software en un sistema en chip (SoC) no es nuevo. Esta ha sido una parte clave de la propuesta de valor adoptada por la comunidad RISC-V, con mucha información publicada sobre sus beneficios, como esta, “ Una guía para acelerar aplicaciones con las instrucciones personalizadas de RISC-V adecuadas . ”

Al diseñar un sistema para muchos productos en la actualidad, el consumo de energía, el rendimiento y el área de la matriz limitan muchos de los complejos requisitos de SoC artificial (AI) y de aprendizaje automático (ML).

La ampliación de la arquitectura del conjunto de instrucciones (ISA) de código abierto RISC-V a menudo se pasa por alto como un medio eficaz para abordar estas limitaciones. Un panel de seminarios web reciente dirigido por Quantum Leap Solutions, una compañía de servicios de diseño para la industria de semiconductores, intentó ayudar a eliminar el misterio de extender el RISC-V ISA para diseños de SoC. El seminario web titulado " Flexibilidad de RISC-V:el poder de las extensiones personalizadas , ”Respondió preguntas de más de 100 asistentes.

Los panelistas intentaron brindar información sobre el papel de la ISA modificada en el diseño de aplicaciones emergentes y cómo los diseñadores ven las extensiones de la nueva arquitectura del conjunto de instrucciones RISC-V.

Moderado por Mike Ingster, fundador y presidente de Quantum Leap Solutions, los panelistas fueron:

Mike Ingster: ¿Por qué RISC-V es una mejor opción para las aplicaciones de aprendizaje de IA y ML que otras arquitecturas de CPU?

John Min :La época en la que se inventó RISC-V coincidió con la llegada de la IA a la corriente principal. El conjunto de instrucciones vectoriales RISC-V se diseñó teniendo en cuenta los tipos de aplicaciones de AI y VR.

Larry Lapides :Yo agregaría que en una aplicación de inteligencia artificial con una matriz multiplex de procesadores heterogéneos, una arquitectura que hemos visto implementada en más de una ocasión, el diseñador puede combinar procesadores escalares y vectoriales dentro de la matriz. En segundo lugar, la arquitectura RISC-V permite al diseñador eliminar la funcionalidad innecesaria al tiempo que conserva las instrucciones vectoriales. Esto proporciona un mejor precio, rendimiento y superficie:PPA.

Ingster :¿Pueden los núcleos RISC-V con extensiones vectoriales también ampliarse con instrucciones personalizadas?

Mín. :Sí. Un ejemplo es un núcleo de vector RISC-V con una implementación de referencia que emplea extensiones de cliente para agregar búferes adicionales. Esto evita que la unidad vectorial se detenga por falta de datos.

Lapides :Imperas y Andes tienen clientes conjuntos que han implementado funciones personalizadas para ayudar en esta área.

Ingster :En una matriz de multiprocesador, ¿es necesario que todas las CPU tengan la misma configuración? ¿O pueden tener instrucciones personalizadas diferentes?

Lapides :Sí, los procesadores heterogéneos en un diseño de SoC son comunes. Además, no son solo las instrucciones personalizadas las que pueden variar de un procesador a otro. Las instrucciones básicas de cada procesador también pueden variar. Por ejemplo, un procesador podría tener instrucciones vectoriales y otro procesador instrucciones escalares. Estos se pueden intercalar y combinar.

Mín. :En una matriz multiplexada, tanto las CPU como los simuladores pueden ser heterogéneos para permitir la simulación multinúcleo.

Ingster :¿Ve un procesador RISC-V de clase de servidor en el mercado?

Mín. :Está viniendo. El diseño de la CPU con el tiempo se vuelve más rápido de diferentes maneras. Uno es aumentando la frecuencia. Otro es ampliar la canalización de la CPU. Otro es diseñar el procesador para ejecutar instrucciones fuera de orden. Y habrá una ampliación del ancho de ejecución para proporcionar una organización más superescalar o, lo que se está volviendo común hoy en día, diseños que emplean miles de núcleos múltiples. Es solo cuestión de tiempo antes de que veamos estos elementos incorporados en los procesadores RISC-V de próxima generación para aplicaciones empresariales de inteligencia artificial.

Lapides :Si miramos la historia pasada de RISC-V, vemos que inicialmente, había SoC de prueba de concepto que eran de 32 y 64 bits, pero hace aproximadamente dos años comenzamos a ver SoC enfocados en seguridad e IoT:SoC de 32 bits competitivos con microcontroladores. Ahora estamos empezando a ver los primeros procesadores de clase de aplicación. No son de clase de servidor, pero estamos viendo silicio inicial en procesadores RISC-V de 64 bits que ejecutan RTOS reales en aplicaciones de gama alta. Estamos empezando a ver que se están construyendo algunas tuberías fuera de servicio. Esperaría los primeros procesadores RISC-V de clase de servidor en los próximos dos o tres años.

Ingster :¿Pueden las extensiones personalizadas proporcionar seguridad a los dispositivos y administración del ciclo de vida?

Mín. :Sí, dependiendo de la implementación. Por ejemplo, habilitando una extensión de instrucción para realizar comprobaciones. El programa busca la extensión personalizada. Si no está presente, se impide la ejecución del software. Otra opción es implementar un puerto personalizado a la memoria. Por lo tanto, la CPU RISC-V tendría un bus privado a la memoria en lugar de usar el bus principal.

Taek Nam :Los diseñadores pueden utilizar la IP de análisis integrada Tessent para la seguridad y la gestión del ciclo de vida en SoC con extensiones personalizadas.

Ingster :¿Por qué el enfoque RISC-V de las instrucciones personalizadas es diferente de otros como ARC y Tensilica?

Mín. :Las CPU emplean extensiones personalizadas para acelerar una tarea específica. Lo que hace que RISC-V sea diferente es que ofrece un mecanismo formal para incorporar la extensión personalizada en el estándar.

Ingster :¿Cómo puede un desarrollador compartir instrucciones personalizadas con clientes o socios?

Mín. :Hay tres opciones. Primero, manténgalo en privado. En segundo lugar, proponga la adición de RISC-V International para su inclusión en el estándar. Por ejemplo, Andes donó un conjunto de instrucciones DSP a RISC-V International. Estas son ahora las extensiones P del estándar RISC-V. En tercer lugar, si comparte el uso de la instrucción con otros, estará compartiendo el archivo intrínseco y de encabezado. Si planea compartir la implementación de la instrucción personalizada, es posible que deba hacer un NDA de tres vías.

Lapides :El desarrollador de extensiones personalizadas puede transmitir el modelo a sus clientes o socios como un modelo binario o de código abierto, un ISS o un modelo de procesador con instrucciones precisas, que se puede utilizar para el desarrollo temprano de software previo al silicio.

Ingster :¿Las extensiones personalizadas generarán problemas de compatibilidad dentro de la comunidad RISC-V?

Mín. :Esto dependerá de cómo se utilicen las instrucciones personalizadas. Si una instrucción personalizada se mantiene como propietaria, por definición no causará fragmentación ya que el desarrollador es el único que la usa. Si la instrucción personalizada tiene tanto éxito que la están utilizando muchos otros, quizás sea el momento de incorporarla al conjunto básico de RISC-V. La decisión depende del creador de hacerlo público o mantener su propiedad. De cualquier manera, no se producirá ninguna fragmentación.

Ingster :¿El procesador vectorial es compatible con un compilador en su versión actual?

Mín. :Las extensiones vectoriales RISC-V, versión 0.8, son lo suficientemente estables como para que los compiladores las admitan. Tanto GCC como LLVM admiten la versión 0.8 existente de la especificación. Las versiones finales de los compiladores estarán disponibles cuando se haya finalizado la especificación de la extensión vectorial RISC-V.

Ingster :¿Cómo se admiten las extensiones personalizadas en la cadena de herramientas de software?

Lapides :Los diseñadores agregan las extensiones personalizadas a su modelo RISC-V, proporcionando así un simulador de conjunto de instrucciones que se puede utilizar para el desarrollo de software. En el lado de la cadena de herramientas, se puede agregar soporte para nuevas extensiones personalizadas en GCC y LLVM. Ambas son cadenas de herramientas de código abierto y pueden modificarse a discreción del cliente. Los diseñadores también pueden ensamblar una implementación de macro para respaldar una instrucción personalizada.

Ingster :¿Cómo se informa el compilador de una instrucción personalizada recién creada?

Lapides :El equipo de software debe implementar la instrucción en el compilador.

Mín. :Una alternativa sin el arduo trabajo de hacer la adición, especialmente si la intención es mantener la instrucción propietaria es tratar la instrucción personalizada como una biblioteca, por ejemplo, bibliotecas DSP. Luego, cuando se necesite la instrucción personalizada en la ejecución del programa, llame a la biblioteca con un archivo de encabezado. Por lo tanto, para un trabajo mínimo, el equipo de diseño logra gran parte de la ganancia que se espera de la creación de una función personalizada.

Ingster :¿Qué sistemas operativos son compatibles con RISC-V y hay compatibilidad con Android?

Lapides :No he visto que sea compatible con Android, pero hay algunos dispositivos portátiles diseñados con RISC-V. El RTOS gratuito de Linux, el Zephyr RTOS son los principales compatibles. Se admiten otros sistemas operativos en tiempo real. La página web del software de RISC-V International tiene una lista completa.

Mín. :El sistema operativo Android no se ha verificado en los procesadores RISC-V. Creo que es más un ejercicio de adaptación que una cuestión de si se puede ejecutar. Los núcleos RISC-V actualmente ejecutan Linux.

Ingster :¿Cómo se verifican las extensiones personalizadas?

Lapides :Las extensiones personalizadas se agregan al RTL del diseño, pero también deben agregarse al modelo del procesador. Las instrucciones personalizadas, así como los registros personalizados, se pueden verificar utilizando esta capacidad. Por lo general, agregar extensiones al modelo de procesador que se ejecuta en un simulador de conjunto de instrucciones permite el desarrollo de software.

Taek: Recientemente, un cliente implementó instrucciones personalizadas en su SoC. Usando nuestra IP de análisis integrada, su objetivo era verificar la mejora del rendimiento de su software al agregar las extensiones personalizadas. Esto se logró mediante el uso de rastreo para rastrear la ejecución de datos e instrucciones. Este es un medio eficaz para validar la mejora del rendimiento.

Ingster :¿Cuánta área se requiere para agregar la IP de análisis incrustada?

Taek: No hay una respuesta estándar, pero el 1 por ciento es una cotización típica para el área dedicada a la analítica integrada de IP. Esta estimación incluye modelos analíticos, comunicador y estructura de mensajes que conectan estos elementos. Debido a que los bloques tienen múltiples opciones, son posibles diferentes configuraciones. Se evalúa el diseño de cada cliente y la IP de análisis integrada se configura para implementarla en su diseño. De esta forma se estima el área total. Determinamos una solución que puede minimizar el impacto del área para brindar el mejor valor a un diseño dado.

Estos son aspectos destacados del panel, cuya versión completa está alojada por Soluciones Quantum Leap .


Incrustado

  1. ¿Qué es el "alcance" de un imán?
  2. El papel del diseño asistido por computadora (CAD) en la impresión 3D
  3. Los desafíos del diseño de productos
  4. Qué es el diseño de sistemas integrados:pasos en el proceso de diseño
  5. Optimización de la línea de alimentación de RF en el diseño de PCB
  6. Bluetooth 5.1 SoC está diseñado para reducir el tamaño y el costo del diseño
  7. El paquete de diseño de PCB lleva a la nube
  8. Los beneficios de la creación de prototipos de PCB
  9. Hemos actualizado el recurso "Cómo diseñar gabinetes personalizados para placas base"
  10. Por qué la fabricación personalizada es el futuro
  11. El papel de las instrucciones de trabajo en la empresa