PULPino, un processeur open source à ultrabasse consommation pour les objets portés sur soi !

PULPino ! Voilà le nom donné par les chercheurs de l'Ecole polytechnique fédérale de Zurich (ETH Zurich) et de l'université de Bologne à un processeur disponible en open source, spécifiquement optimisé pour gérer ...de très basses consommations dans le cadre d’applications d’électronique portée sur soi (les wearables). A l’instar des promoteurs des projets OpenRISC, Opencores et RISC-V, l’équipe dirigée par Luca Benini a mis dans le domaine public l’ensemble des fichiers de conception d’un microprocesseur, ici issu du projet PULP (Parallel Ultra Low Power) dans une version simplifiée. PULPino s'appuie sur un seul cœur, au lieu de quatre dans PULP, et sur un jeu d’instructions simplifiées. Cette architecture 32 bits, conçue pour être alimentée sur batterie, fonctionne avec une fréquence d’horloge de 400 MHz sous 1,2 V et consomme théoriquement moins de 33 mW.

Cette technologie est compatible au niveau des jeux d’instructions avec ceux du projet RISC-V, développé au sein de l’université de Californie (Berkeley). Le cœur de PULPino, appelé RI5CY, possède une architecture proche de celle d’un ARM Cortex-M4. Elle supporte des jeux d’instructions pour nombrs entiers (RV32I), des instructions compressées (RV32C) et de manière partielle des instructions étendues de multiplication (RV32M). Les opérations de type ALU et MAC sont aussi supportées. Le processeur fonctionne avec le système d’exploitation temps réel libre de droits FreeRTOS.

La première version concrète de PULPino (le tapeout en l'occurrence) a été réalisée en janvier 2016 par le fondeur UMC en technologie Cmos 65 nm. Et d'ores et déjà, le processeur PULPino est disponible sous la forme de fichiers de conception RTL, écrit en SystemVerilog, pour une implantation dans un FPGA ou sous la forme d’un circuit de type SoC.

Architecture PULP

 

Architecture PULPino