El chip indio RISC-V es el tercer chip de éxito del equipo

Hubo un tiempo en el que crear un nuevo CI era una propuesta muy cara. Aunque todavía no es un cambio de bolsillo, los experimentadores y grupos complejos pueden acceder a chips personalizados. Como evidencia, mire la CPU MAKhik del grupo SHAKTI. Esta es la tercera grabación exitosa de la banda y es un sistema RISC-V de código abierto en un chip.

El chip utiliza un proceso de 180 nm y tiene 103 pines de E / S. La CPU funciona a unos 100 MHz y el sistema incluye un controlador SDRAM, conversión de analógico a digital y los periféricos habituales. El dado de aproximadamente 25 mm cuadrados contiene casi 650 mil puertas.

Este es el mismo grupo que construyó un chip de cultura hogareña basado en RISC-V en 2018 y está afiliado al Instituto Indio de Tecnología de Madrás. No tenemos claro si todo lo que necesitaría para copiar el diseño está en el repositorio de git, pero dado que el proyecto es de código abierto, asumimos que lo está.

Si lo piensas bien, las radios han pasado de ser un equipo muy especial a un consumidor casi desechable. También lo hicieron las calculadoras y las computadoras. Desarrollar con FPGA es más barato y más fácil cada año. A este ritmo, no es descabellado pensar que pronto crear un chip personalizado será tan simple como pedir una PCB, algo más que alguna vez fue muy complicado.

Por supuesto, vemos RISC-V basado en FPGA con bastante frecuencia. Mientras admiramos [Sam Zeloof’s] funciona, no creemos que tenga 650.000 puertas en ese tamaño. No todavía, de todos modos.

  • Vinalon dice:

    ¡Muy hermoso! Y es genial ver un marco de plomo como ese.

    ¿Tiene una MMU?

    • aislado dice:

      Desde The Register (https://www.theregister.com/2020/09/24/shakti_moushik_cpu_india/) parece que es un procesador "E-Class" que no parece compatible con Linux (http: // shakti org .en / processors.html). Así que supongo que no hay MMU en este.

      El circuito base que crearon tiene títulos compatibles con Arduino, por lo que cualquiera podría divertirse con él.

    • aislado dice:

      Parece que el sistema de comentarios se ha comido mi última respuesta. Básicamente, un artículo sobre The Verge lo enumera como un chip "E-Class", que Sakti no enumera como compatible con Linux (dicen explícitamente que el "C-Class", que parece ser un chip específico superior, es compatible con Linux) . Entonces estoy seguro de que esto no tiene una MMU.

      El circuito base tiene títulos compatibles con Arduino si alguien quiere jugar con esos

      • aislado dice:

        Lo siento, debe ser The Register, no The Edge

      • Praveen dice:

        De hecho, eso no es correcto. El proyecto es compatible con MMU y es capaz de ejecutar sistemas operativos como Linux y Sel4. Consulte la sección C clase en el enlace siguiente. Revisé algunos de los documentos del dispositivo y confirmé que el chip es compatible con un kernel de Linux. No estoy seguro de si hay un kernel público allí, pero estoy seguro de que el chip es compatible con Linux.

        https://engineersasylum.com/t/shakti-the-open-source-indian-microprocessor-microcontroller/664

    • Gravis dice:

      Lo miré y busqué en el repositorio y no parece que tenga una MMU. Sin embargo, "is0lated" es incorrecto, lo que implica que no tener una MMU le impide utilizar Linux. Linux puede ejecutarse en algunos chips MMU. Tener suficiente RAM es realmente la única limitación para Linux.

      • Josh Preta dice:

        En parte tiene razón. Puede ejecutar Linux sin una MMU / MPU, sin embargo, necesita un kernel especial. Intentar operar un kernel estándar en una unidad sin una MMU / MPU fallará por completo. Creo que este malentendido proviene principalmente de la comunidad casera de PlayStation Portable, que nunca logró que Linux se ejecutara correctamente en la PSP, y lo culpa en gran medida por la falta de una MMU en la unidad.

        https://elinux.org/Processors#:~:text=ARM%20processors%20without%20MMU.,memory%20protection%20unit%20(MPU).

  • Simon Slocombe dice:

    Gracias por este artículo fácil ... La carrera tiene como objetivo desarrollar una versión flotante de temperatura bajo cero de este chip ... Mucha suerte para los ingenieros y técnicos indios muy hábiles que trabajan en este código abierto ...

  • kkk dice:

    hermosa

  • Daniel Dunn dice:

    Todo el mundo habla de CPU abiertas en FPGA, pero parece que una arquitectura FPGA de código completamente abierto en sí misma podría ser tan importante o más importante que una CPU abierta. Si los FPGA fueran abiertos y estandarizados, quizás finalmente comenzaríamos a verlos disponibles para la aceleración de hardware como GPU.

    No podemos seguir actualizando las CPU cada vez que queremos actualizar algo nuevo, necesitamos un estándar como OpenGL para "bloques aceleradores" con su propia RAM y que se pueda configurar rápidamente.

    Entonces RiscV se volvería mucho más interesante porque podría personalizarlo para diseñar exactamente el núcleo que desea para su aplicación y ejecutarlo en su propio dominio sandbox. Incluso un programa en línea podría venir con la definición de una CPU blanda.

    También podría ser exactamente lo que necesitamos para un verdadero chip SDR integrado de propósito general que no esté vinculado a ninguna modulación, sin que sea demasiado difícil de insertar o usar demasiada energía.

    • Bert dice:

      Use una papeleta de billetera para realizarlo. Eso significa poner dinero en tu boca.

    • tekkieneet dice:

      FPGA no competirá en precio y rendimiento con la CPU de estantería. Hay muchos recursos (es decir, un chip) para el enrutamiento adicional que no desperdiciará espacio en una CPU (que es ASIC). Hará un muy buen trabajo si está dentro de 1/10 de las velocidades del reloj e instrucciones similares para un ciclo. AMD tiene una corriente de "7 nm" contra Xilinx a 16 nm, Altera a 14 nm (?)

      Para la aceleración, probablemente esté bien, pero alguien tiene que codificar el bloque de dispositivo que necesitas.

      La otra cosa sobre las actualizaciones ... Incluso con FPGA, no podrá ir a una memoria más rápida sin cambiar la placa principal. p.ej. DDR4 a DDR5 porque las ranuras del módulo de memoria tendrán diferentes conectores y pines.

    • tekkieneet dice:

      > Incluso un programa en línea podría venir con la definición de una CPU blanda.

      No sucederá porque las personas capaces de codificar FPGA valen mucho más dinero que los monos codificadores que producen programas en línea. La otra cosa es que lleva mucho tiempo traducir, configurar / procesar una FPGA. Entonces, si su "programa" es un fragmento de código de CPU que tarda unos minutos en ejecutarse, usa la CPU mucho mejor. Solo cuando hay decenas de horas o días, esto tiene sentido.

      Olvídese de la multitarea cuando cada programa intenta tener su propia configuración. Los programas web tienen cierto nivel de protección contra el navegador. También puede operarlos en un sandbox o VM. ¿Puede confiar en el fragmento de código desconocido que le permitió restablecer la FPGA para hacer todo lo que quiere hacer?

      No lo pensaste.

      • tambalearse dice:

        Se intentó - Linus Torvalds también participó - vea la entrada de wikipedia para "Transmeta". Entonces no tuvo éxito, pero tal vez haya mucha mezcla de fpgas y cpus de múltiples núcleos para permitir la configuración de la arquitectura.

        • klsdjfk lksjdlkjf dice:

          La Transmetta Crusoe no era una FPGA. Básicamente era una CPU RISC personalizada con una parte que convertía instrucciones x86 en instrucciones RISC en tiempo real con poco rendimiento. Creo que 1ghz Crusoe estuvo en el parque de pelota desde la presentación del entonces chip Intel de 800mhz. La gran ventaja de estos chips fue el consumo de energía significativamente reducido. Tenían un consumo de energía un poco como un chip Intel Atom años antes de que aparecieran. Todavía tengo una computadora portátil que contiene uno de estos chips Crusoe. En teoría, se podrían agregar nuevas instrucciones x86 al chip actualizando el microcódigo para traducir esas nuevas instrucciones a RISC. En teoría, también podría funcionar con otros conjuntos de instrucciones además de x86. No creo que al menos oficialmente se haya lanzado ningún microcódigo para otras arquitecturas. Sería interesante ver algo de ingeniería inversa en el microcódigo de estos chips para agregar instrucciones nuevas / personalizadas o trabajar con otra arquitectura.

          • bosque eterno dice:

            Es similar a la CPU de objetos ultra avanzada de los años 80. Estas cosas probablemente se pueden mejorar que la técnica te actual, pero más fáciles de vender, simples, directas y probadas a otros minoristas, nadie quiere esperar a que reaparezca una nueva técnica te.

      • bosque eterno dice:

        El código de red está hecho con marcos reutilizables y son posibles herramientas de configuración fáciles. La multitarea se realiza fácilmente con cuatro u ocho aceleradores, aunque no podrá ejecutar más que tantos programas acelerados.

        No veo por qué el trabajo de FPGA tiene que ser más difícil que el trabajo de GPU con mejores herramientas.

        El sandboxing solo se puede hacer dando a los aceleradores su propia memoria y E / S estrictamente controladas. Su acelerador SDR necesita acceso al hardware, pero algunas cosas se pueden hacer al igual que las GPU y webGL en la actualidad.

  • treinta y uno dice:

    Hmm ... Incluso con 180 nm en este tamaño (5x5 mm), esto podría resultar un chip relativamente caro (~ $ 10 en volumen) ... ¿El rendimiento de este suena un poco como un procesador Cortex M de rango medio? Supongo que no es terrible por lo que es.

  • Coche, etc. dice:

    ¿Dónde podemos comprar esto? ¿Y usar este chip en un Arduino como placa?

  • ecarlos09 dice:

    ¿Cuándo se espera que vendan estos chips de código abierto? ¿Tendremos un "arduino" realmente gratuito y de código libre que utilice este chip?

Óscar Soto
Óscar Soto

Deja una respuesta

Tu dirección de correo electrónico no será publicada.