Le projet Libre-SOC, qui dĂ©veloppe une puce ouverte avec une architecture hybride inspirĂ©e du CDC 6600, oĂč pour rĂ©duire la taille et la complexitĂ© de la puce, les instructions CPU, VPU et GPU ne sont pas sĂ©parĂ©es et sont proposĂ©es dans un seul ISA, a atteint le stade de transfert en production du premier prototype de test. Au dĂ©part, le projet s'est dĂ©veloppĂ© sous le nom de Libre RISC-V, mais a Ă©tĂ© renommĂ© Libre-SOC aprĂšs la dĂ©cision de remplacer RISC-V par l'utilisation de l'architecture de jeu d'instructions (ISA) OpenPOWER 3.0.
Le projet vise Ă crĂ©er un systĂšme sur puce (SoC) complet, entiĂšrement ouvert et sans redevances, qui pourra ĂȘtre utilisĂ© dans des ordinateurs monocartes, des netbooks et divers dispositifs portables. En plus des instructions et des registres gĂ©nĂ©raux de la CPU, Libre-SOC fournit dans un bloc fonctionnel de processeur des capacitĂ©s pour exĂ©cuter des opĂ©rations vectorielles et des calculs spĂ©cialisĂ©s, propres Ă la VPU et au GPU. La puce utilise l'architecture OpenPOWER, l'extension Simple-V avec des instructions pour la vectorisation et le traitement parallĂšle des donnĂ©es, ainsi que des instructions spĂ©cialisĂ©es pour la conversion en ARGB et l'exĂ©cution d'opĂ©rations 3D standard.
Les instructions GPU sont axĂ©es sur l'utilisation avec l'API graphique Vulkan, tandis que la VPU se concentre sur l'accĂ©lĂ©ration de la conversion YUV-RGB et le dĂ©codage des formats MPEG1/2, MPEG4 ASP (xvid), H.264, H.265, VP8, VP9, AV1, MP3, AC3, Vorbis et Opus. Un pilote libre est en dĂ©veloppement pour Mesa, utilisant les capacitĂ©s de Libre-SOC pour fournir une mise en Ćuvre logicielle accĂ©lĂ©rĂ©e par matĂ©riel de l'API graphique Vulkan. Par exemple, les shaders Vulkan peuvent ĂȘtre transmis via un moteur JIT pour s'exĂ©cuter en utilisant les instructions spĂ©cialisĂ©es disponibles dans Libre-SOC.
Dans le prochain prototype de test, il est prĂ©vu d'implĂ©menter l'extension SVP64 (Vectorisation Ă longueur variable), permettant d'utiliser Libre-SOC comme processeur vectoriel (en plus de 32 registres de 64 bits gĂ©nĂ©raux, 128 registres seront fournis pour les calculs vectoriels). Le premier prototype ne comprend qu'un seul cĆur fonctionnant Ă une frĂ©quence de 300 MHz, mais au cours des deux prochaines annĂ©es, une version Ă 4 cĆurs sera prĂ©vue, suivie d'une version Ă 8 cĆurs, et Ă long terme, d'une version Ă 64 cĆurs.
Le premier lot de puces sera produit par TSMC en utilisant un procédé de 180 nm. Tous les résultats du projet sont diffusés sous des licences libres, y compris les fichiers au format GDS-II décrivant la topologie complÚte de la puce, suffisante pour commencer sa propre production. Libre-SOC sera la premiÚre puce entiÚrement indépendante basée sur l'architecture Power, produite en dehors d'IBM. Le développement a utilisé le langage de description matérielle nMigen (HDL basé sur Python, sans utiliser VHDL ni Verilog), les bibliothÚques de cellules standard FlexLib du projet Chips4Makers et la suite d'outils VLSI libre Coriolis2 pour la conversion de HDL en GDS-II.
Le développement de Libre-SOC a été financé par la NLnet Foundation, qui a alloué 400 000 euros pour créer une puce totalement ouverte dans le cadre d'un programme visant à développer des solutions techniques fondamentales vérifiables et dignes de confiance. La puce mesure 5,5 à 5,9 mm et comprend 130 000 portes logiques. Elle inclut quatre modules SRAM de 4 Ko et un bloc PLL de 300 MHz pour l'ajustement automatique de fréquence.

Source : opennet.ru
