Shakti (estilizado como S HAKTI ) es una iniciativa de código abierto del grupo Reconfigurable Intelligent Systems Engineering (RISE) del Instituto Indio de Tecnología de Madrás (IIT Madrás) para desarrollar el primer procesador indio de grado industrial. [1] [2] Los objetivos de la iniciativa Shakti incluyen la construcción de un procesador de grado de producción de código abierto , sistemas completos en un chip (SoC), placas de desarrollo de microprocesadores y una plataforma de software basada en Shakti . El enfoque principal del equipo es la investigación de la arquitectura informática para desarrollar SoC, que sean competitivos con las ofertas comerciales en el mercado en área, potencia y rendimiento. El código fuente de Shakti es de código abierto bajo la Licencia BSD Modificada . El proyecto fue financiado por el Ministerio de Electrónica y Tecnología de la Información (MeITY), Gobierno de la India . [3] [2]

Procesadores
Los procesadores Shakti se basan en la arquitectura de conjunto de instrucciones RISC-V (ISA). Los procesadores están diseñados para tener nodos de tecnología de transistores de efecto de campo de aletas ( FinFET) de proceso de 22 nm o de semiconductores de óxido metálico complementario ( CMOS ) de proceso de 180 nm, según la planta de fabricación de semiconductores (fundición).
Shakti tiene previsto lanzar una familia de procesadores como parte de su hoja de ruta, que se adaptarán a distintos segmentos del mercado. Se han clasificado en general en "procesadores básicos", "procesadores multinúcleo" y "procesadores experimentales".
Los núcleos de las clases E y C están destinados a los mercados de Internet de las cosas (IoT), sistemas integrados y computadoras de escritorio . El diseño del procesador está libre de regalías y tiene licencia de código abierto bajo la Licencia BSD modificada . [4]
Los núcleos de clase E y clase C están implementados en el lenguaje Bluespec SystemVerilog (BSV), un dialecto de Haskell . [2]
El proyecto Shakti tiene como objetivo construir 6 variantes de procesadores basados en RISC-V ISA.
Clases base de procesadores
Clase E
Los microcontroladores de clase E son de 32 y 64 bits capaces de soportar todas las extensiones de la ISA RISC-V, para aplicaciones informáticas de bajo consumo y bajo consumo. La clase E es una tubería de 3 etapas en orden que tiene una frecuencia operativa de menos de 200 MHz en silicio. Está posicionada contra los núcleos de clase M de ARM (serie Cortex-M ). Puede ejecutar sistemas operativos en tiempo real como FreeRTOS , Zephyr y eChronos. Los segmentos de mercado de los procesadores de clase E admiten tarjetas inteligentes , dispositivos IoT, controles de motores y plataformas robóticas. [5] [6]
El E-arty35T es un SoC construido en torno a la clase E. El SoC E-arty35T es un microcontrolador de clase E de 32 bits de un solo chip con 128 kB de RAM. Tiene 32 pines de entrada/salida de propósito general (GPIO) (de los cuales los 16 pines GPIO superiores están dedicados a los LED y conmutadores integrados), un controlador de interrupción a nivel de plataforma (PLIC), un contador, 2 interfaces periféricas en serie (SPI), 2 receptores-transmisores asíncronos universales (UART), 1 circuito integrado ( I²C ), 6 moduladores de ancho de pulso (PWM) y un convertidor analógico a digital Xilinx incorporado (X-ADC). [7]
Clase C
La clase C es una clase de procesador controlador de 64 bits para aplicaciones integradas de gama media. El núcleo está altamente optimizado, tiene un diseño en orden de 6 etapas con soporte para MMU y la capacidad de ejecutar sistemas operativos como Linux y Sel4 . Es extremadamente configurable con el soporte de las extensiones ISA RV64GC estándar. Es para sistemas informáticos de gama media que funcionan a más de 200-800 MHz. También se puede personalizar hasta 2 GHz. Está posicionado contra el Cortex A35/A55 de ARM. El dominio de aplicación de esta clase va desde sistemas integrados, control de motores, IoT, almacenamiento, aplicaciones industriales hasta aplicaciones basadas en Linux de alto rendimiento y bajo costo como redes, puertas de enlace, etc. [5] [6]
C-arty100T es un SoC construido en torno a la clase C. El SoC C-arty100T es un microcontrolador de clase C de 64 bits de un solo chip con 128 MB de RAM DDR3, 16 pines de entrada y salida de propósito general (GPIO), un controlador de interrupción a nivel de plataforma (PLIC), un contador, 1 transmisor receptor asíncrono universal (UART) y 1 circuito interintegrado (I²C). Está destinado a cargas de trabajo de aplicaciones de rango medio con un consumo de energía muy bajo y soporte para protección de memoria opcional. [8]
Clase I
El I-class es un procesador de 64 bits para plataformas de computación, móviles, de almacenamiento y de redes. Sus características incluyen ejecución fuera de orden , subprocesamiento múltiple , predicción agresiva de bifurcaciones , cachés sin bloqueo y etapas de canalización de instrucciones profundas . La frecuencia de reloj operativa de este procesador es de 1,5 a 2,5 GHz. A partir de abril de 2020, el equipo estaba trabajando en la implementación de atomics, predicción de dependencia de memoria, optimizaciones de ventana de instrucciones/programador, implementación de algunas unidades funcionales, análisis/proyecciones de rendimiento, optimizaciones para cumplir con la frecuencia objetivo de primer corte en 1 GHz en un procesador de 22 nm. [6] [9] [10]
Procesadores multinúcleo
Clase M
Procesador de clase móvil con un máximo de ocho núcleos, siendo los núcleos una combinación de núcleos de clase C e I. Los procesadores de clase M están destinados a aplicaciones de computación de propósito general, servidores de gama baja y móviles. La frecuencia de operación varía hasta 2,5 GHz. Admite grandes problemas, cuatro subprocesos y una estructura NoC opcional. Los procesadores de clase M están optimizados para diversos objetivos de potencia y rendimiento. [9]
Clase S
La clase S es una variante multiproceso y superescalar de 64 bits para usos en servidores empresariales y de escritorio. Admite de 2 a 16 núcleos con una frecuencia de reloj de aproximadamente 1,2 a 3 GHz. [9]
Clase H
La clase H es un procesador de 64 bits para aplicaciones empresariales, de HPC y analíticas altamente paralelas. Los núcleos pueden ser una combinación de clase C o I, y el rendimiento de un solo subproceso determina la elección del núcleo. La clase H tiene hasta 128 núcleos con múltiples aceleradores por núcleo. [9]
Procesadores experimentales
Se trata de proyectos experimentales/de investigación que se centran en el desarrollo de un procesador de alta seguridad y tolerancia a fallos.
Clase T
La clase T tiene como objetivo proporcionar soporte de hardware adicional para proteger la información de ataques basados en la memoria. Su diseño se centra en un marco de hardware unificado para mitigar ataques a la memoria espacial y temporal. [11]
Clase F
La clase F es una versión tolerante a fallas del procesador de clase base. Las características incluyen bloques de cómputo redundantes (como DMR y TMR), módulos de redundancia temporal para detectar fallas permanentes, configuraciones de núcleo en secuencia, circuitos de localización de fallas, ECC para bloques de memoria críticos y estructuras de bus redundantes. [12]
Grabaciones en cinta
Hasta el momento se han producido dos procesadores de clase C (con nombre en código RIMO y Risecreek ) y un procesador de clase E ( Mushik ) .
RIMO
RIMO es el nombre en código del SoC basado en la clase C de Shakti que se ha producido en el Laboratorio de semiconductores (SCL) en Mohali utilizando tecnología de proceso de 180 nm. El chip de 144 mm2 se ha probado para funcionar a una frecuencia de hasta 70 MHz. El chip se ha empaquetado en un paquete plano cuádruple cerámico (CQFP) de 208 pines. [5]
arroyo rise
CREEK es el nombre en código del SoC basado en Shakti C-class que se ha producido en la fábrica de Intel en Oregon utilizando un proceso FinFET de 22 nm. El chip de 16 mm² se ha probado para funcionar a una frecuencia de hasta 350 MHz. El chip se ha empaquetado en una matriz de rejilla de bolas (BGA) de 208 pines. [5]
Moushik
Moushik es el nombre en código del SoC basado en Shakti E-class que se ha desarrollado en SCL utilizando tecnología de proceso de 180 nm. Opera en una frecuencia de 100 MHz y se desarrolló junto con una placa base llamada Ardonyx 1.0. [13]
Características de RIMO y Risecreek
Algunas de las características de RIMO y Risecreek son las siguientes:
- Microcontrolador de 64 bits de 5 etapas en orden que admite todo el RISC-V ISA estable (RV64IMAFD).
- Compatible con la especificación de privilegios (v1.10) de RISC-V ISA y admite el esquema de virtualización sv39.
- Incluye un predictor de rama con una pila de direcciones de retorno.
- Unidades de punto flotante de precisión simple y doble compatibles con IEEE-754 y soporte para acceso directo a memoria (DMA) multicanal .
- Periféricos como 2 x I²C , 2 x UART , 2 x QSPI , un depurador , una memoria acoplada estrechamente de 256 KB, GPIO de 32 bits y un bus de expansión que se puede conectar a una matriz de puertas programables en campo (FPGA). [5]
Placas de desarrollo
Existen placas de desarrollo para procesadores de clase E y C. A continuación se detallan las placas compatibles con diferentes clases de procesadores.
E-arty35T
- E-arty35T es un SoC basado en la clase Shakti E [14].
- E-arty35T es compatible con la placa Artix 7 35T.
- Tiene una versión abreviada de la clase E de 32 bits. Incluye I, M, A y C. [7]
C-arty100T
- C-arty100T es un SoC basado en Shakti C-class.
- C-arty100T es compatible con la placa Artix 7 100T.
- Tiene una versión abreviada de la clase C de 64 bits. Incluye I, M, A, F, D y C. [8]
Soporte comercial
A partir de julio de 2021, Altair Engineering incluyó el procesador E-Class en su cartera de soporte de firmware para sistemas integrados para sus clientes globales. [14]
Desafío del microprocesador Swadeshi
El 7 de diciembre de 2021, el Ministerio de Electrónica y Tecnología de la Información honró a los ganadores del Swadeshi Microprocessor Challenge. En diferentes fases del desafío, los participantes obtienen hasta ₹4,40 crore en financiación para el desarrollo de un prototipo de hardware y la incubación de una start-up por parte de los equipos participantes. C-DAC e IIT Madras pusieron a disposición para el desafío sus SoC, THEJAS32 y THEJAS64 , basados en procesadores VEGA de 32 y 64 bits y Shakti. Los equipos participantes implementaron con éxito los SoC en una variedad de diseños. Diez equipos resultaron victoriosos de los 30 equipos finalistas. El equipo VEGA FCS FT (dron de IA), recibió un cheque de ₹ 35 lakh por su aplicación de dron; los ganadores del segundo lugar, el equipo HWDL, recibieron ₹30 lakh por FM Radio Data System Utilities; y los ganadores del tercer lugar, Cytox, recibieron ₹25 lakh por su proyecto de recuento de células . Cada uno de los otros equipos recibió un cheque por ₹20 lakh por compartir el cuarto lugar. Los equipos son Astrek Innovations ( exoesqueleto de miembros inferiores para discapacitados ), Team 6E Resources (monitoreo remoto y optimización de planta de tratamiento de aguas residuales ), Team Anshashodhak (sistema de calibración único para aplicaciones de espectroscopia nuclear ), Team Quicproc (sistema de monitoreo materno inalámbrico), Team Avrio Energy (medidor de energía de IA con inteligencia en el borde y aprendizaje profundo ) y Team JayHawks ( sistema de bloqueo basado en geofencing antirrobo ). [15] [16]
Treinta equipos finalistas del Swadeshi Microprocessor Challenge han recibido apoyo de incubación de Maker Village, el mayor centro de diseño y producción de sistemas electrónicos de la India. [17]
Referencias
- ^ "Shakti". IIT Madrás. 2021. Consultado el 4 de septiembre de 2024 .
- ^ abc Veezhinathan, Kamakoti (noviembre de 2022). "Construcción del microprocesador Shakti". cacm.acm.org . Consultado el 15 de noviembre de 2022 .
- ^ "IIT-Madras desarrolla el 'primer microprocesador de la India', Shakti". NDTV Gadgets 360 . 2 de noviembre de 2018 . Consultado el 10 de abril de 2020 .
- ^ Gala, Neel; Menon, Arjun; Bodduna, Rahul; Madhusudan, GS; Kamakoti, V. (enero de 2016). Procesadores Shakti: una iniciativa de hardware de código abierto. 2016 29.ª Conferencia internacional sobre diseño VLSI y 2016 15.ª Conferencia internacional sobre sistemas integrados (VLSID). págs. 7– 8. doi :10.1109/VLSID.2016.130. ISBN 978-1-4673-8700-2. Número de identificación del sujeto 14815714.
- ^ abcde "Manual del usuario de la placa de desarrollo Shakti" (PDF) . Shakti . Consultado el 10 de abril de 2010 .
- ^ abc "Shakti - El microprocesador y microcontrolador indio de código abierto". Asilo de ingenieros . 2020-04-07 . Consultado el 2020-04-10 .
- ^ ab "Clase E en placa ARTY-A7-35t". GitLab . Consultado el 10 de abril de 2020 .
- ^ ab "Clase C en placa ARTY-A7-100t". GitLab . Consultado el 10 de abril de 2020 .
- ^ abcd "Procesadores". Shakti . Consultado el 10 de abril de 2020 .
- ^ Ranganathan, Nitya. "Clase de Shakti I: Introducción" (PDF) . Shakti . Consultado el 10 de abril de 2020 .
- ^ "Shakti-T: un procesador RISC-V con extensiones de seguridad livianas". Actas de la conferencia sobre soporte de hardware y arquitectura para seguridad y privacidad . 25 de junio de 2017. págs. 1– 8. doi :10.1145/3092627.3092629. ISBN 9781450352666. S2CID 207646970 . Consultado el 10 de abril de 2020 .
- ^ Gupta, Sukrat; Gala, Neel; Madhusudan, GS; Kamakoti, V. (noviembre de 2015). Shakti-F: una arquitectura de microprocesador tolerante a fallas. 24.° Simposio Asiático de Pruebas (ATS) del IEEE de 2015. págs. 163– 168. doi :10.1109/ATS.2015.35. ISBN 978-1-4673-9739-1.S2CID 7705965 .
- ^ "Conozca el chip microprocesador Atmanirbhar 'Moushik' de la India, diseñado para dispositivos IoT". WION . 24 de septiembre de 2020 . Consultado el 25 de septiembre de 2020 .
- ^ MP, Sidharth (6 de julio de 2021). "El microprocesador de fabricación local de la India, Shakti, ahora forma parte de la oferta del gigante tecnológico Altair". WION . Consultado el 9 de julio de 2021 .
- ^ "MeitY felicita a los ganadores del desafío de microprocesadores; los participantes reciben apoyo financiero". Business Today . 2021-12-07 . Consultado el 2024-09-05 .
- ^ Rao, S Krishnakumar (3 de diciembre de 2021). "Procesadores VEGA: Making India AtmaNirbhar in Swadeshi Compute Designs" (PDF) . Centro para el Desarrollo de la Computación Avanzada . Consultado el 4 de septiembre de 2024 .
- ^ "Maker Village de la Universidad Digital de Kera incubará a 10 ganadores del Desafío de Microprocesadores Swadeshi". Inglés.Mathrubhumi . 2021-12-10 . Consultado el 2024-09-05 .
Enlaces externos
- Sitio web oficial
- Blog oficial
- Canal de SHAKTI en YouTube