Contexte

Avec le soutien du GDR SoC² (axe « Calcul Embarqué Haute Performance », et thème de l’année 2023 « open-source et open-hardware »), et en tant que membre du Club des Partenaires, Thales Research & Technology organise une journée thématique autour du jeu d’instructions RISC-V. L’objectif de cette journée est de rassembler les laboratoires de recherche académiques français qui travaillent sur des solutions technologiques dépendantes du jeu d’instructions RISC-V, aussi bien sur les aspects matériels que logiciels. À titre d’exemple, les sujets qui pourront être abordés sont ceux de la sécurité, la compilation, l’extension du jeu d’instructions, la conception d’opérateurs spécialisés, la vérification, ou encore l’optimisation énergétique. Cette journée sera également l’occasion pour Thales de partager sa feuille de route et d’identifier des collaborations potentielles.

Date et lieu

Vendredi 29 septembre 2023.

Auditorium de Thales Research & Technology

1, avenue Augustin Fresnel

91767 Palaiseau Cedex

/https://goo.gl/maps/vmVjhabTny72xicE9

Programme préliminaire

Participation

La participation est libre et gratuite pour les membres du GDR et du club des partenaires dans la limite des places disponibles.

L’inscription se fait en ligne, via le formulaire au bout de ce lien : https://framaforms.org/gdr-soc2-inscription-a-la-journee-risc-v-1687361182

Si vous rencontrez des difficultés, n’hésitez pas à contacter les organisateurs (cf. infra).

Résumé des exposés

Could a CISC approach be interesting to secure a RISC(-V) architecture? The SecV Project

Orateur : Sébastien Pillement, IETR

Résumé : The originality of the SecV project approach lies in the integration of a dynamic code transformation unit, adaptive memory management policies, and a dynamic control unit based on runtime verification, paving the way to numerous online adaptations aiming at supporting the concept of cyber resilience.

This adaptive capability will improve security with no need to redesign the chip and will cover four of the five NIST cybersecurity functions: monitoring (identification, detection), obfuscation (protection) and dynamic adaptation (reaction).

SCRATCHS : Collaboration logicielle / matérielle pour la protection d’applications embarquées face à des attaques par canaux auxiliaires exploitant le temps d’exécution

Orateur : Vianney Lapotre, Lab-STICC

Résumé : Les attaques par canaux auxiliaires exploitant le temps d’exécution constituent une menace identifiée pour les logiciels critiques en matière de sécurité. Dans le projet SCRATCHS, nous nous concentrons sur les microcontrôleurs à faible coût qui ont une très faible capacité de calcul. Bien que ces processeurs ne soient pas dotés de mécanismes d’exécution dans le désordre ou de spéculation, ils restent vulnérables à des attaques par canaux auxiliaires exploitant les temps de latence variables des opérations arithmétiques ou des accès à la mémoire. Nous proposons d’ajouter à l’ISA du RISC-V des primitives de sécurité dont le comportement temporel est garanti. Ces primitives permettent des opérations arithmétiques en temps constant et des accès à la mémoire qui préservent l’état de la mémoire cache.

MINOTAuR: a timing predictable RISC-V core featuring speculative execution

Orateur : Alban Gruin, IRIT

Résumé : We present MINOTAuR, an open-source RISC-V core that is provably free of timing anomalies, which enables a compositional timing analysis in a multicore context. One specificity of MINOTAuR is that it features speculative execution, thanks to a specific design of its pipeline and to architectural extensions of its instruction cache and return address stack. In the presentation, we will present these modifications and show that with a minimal die area increase, they enable predictability while yielding a performance equivalent to that of the baseline RISC-V Ariane core from which it is derived.

Optimizations in a formally verified compiler for RISC-V

Orateur : David Monniaux, Verimag

Résumé : CompCert is a formally verified compiler. « Formally verified » means that there is a mathematical proof that the execution of the source matches that of the assembly code, and this proof has been checked by a proof assistant (here, Coq). It however provided limited optimization. We have since then implemented a variety of optimizations (scheduling, strength reduction across loop iterations…) that significantly reduce the gap compared to GCC. We will also discuss the kind of information and collaboration we need from CPU designers to get good performance.

AsteRISC : Un coeur RISC-V flexible, conçu pour l’exploration de l’espace de conception

Orateur : Jonathan Sausserreau, IMS

Résumé : Le jeu d’instructions open source RISC-V est une solution prometteuse pour les applications liées aux systèmes embarqués à faible consommation. Bien qu’il existe de nombreuses implémentations de processeurs RISC-V, il est difficile d’en trouver une qui soit parfaitement adaptée à l’ensemble des contraintes applicatives. AsteRISC est une micro-architecture de processeur RISC-V configurable, disposant de nombreux paramètres, permettant de synthétiser différentes configurations du chemin de donnée. Ces différentes configurations ont des propriétés différentes, telles que le nombre de cycles d’horloge requis pour exécuter une instruction, la fréquence maximale de fonctionnement et l’utilisation des ressources. Cette flexibilité architecturale permet de trouver un très bon compromis entre ces propriétés pour un cadre applicatif et une cible technologique donnés, aussi bien sur circuit FPGA ou pour un ASIC.

Design Exploration of RISC-V Soft-Cores through Speculative High-Level Synthesis

Orateur : Steven Derrien, IRISA

Résumé : The RISC-V ecosystem is quickly growing and has gained a lot of traction in the FPGA community, as it permits free customization of both ISA and micro-architectural features. However, the design of the corresponding micro-architecture is costly and error-prone. We address this issue by providing a flow capable of automatically synthesizing pipelined micro-architectures directly from an Instruction Set Simulator in C/C++. Our flow is based on HLS technology and bridges part of the gap between Instruction Set Processor design flows and High-Level Synthesis tools by taking advantage of speculative loop pipelining. Our results show that our flow is general enough to support a variety of ISA and micro-architectural extensions, and is capable of producing circuits that are competitive with manually designed cores.

Some Useful Microarchitectural Techniques for 128-bit Support in General Purpose Processors

Orateur : Arthur Perrais, TIMA

Résumé : Intel introduced 5-level paging mode to support 57-bit virtual address space in 2017. Coupled to paradigms where backup storage can be accessed through load and store instructions (e.g.,~non-volatile memories), this lets us envision a future in which a 64-bit address space has become insufficient for specific use cases, such as rack-scale computing. In that event, the straightforward solution would be to adopt a flat 128-bit address space, as suggested by RV128I. In this talk, we consider what this would involve in the datapath of a general-purpose processor core. We suggest some possible microarchitecture changes to provide 128-bit support with limited hardware cost.

LBMC: Little Big Microcontroller

Orateur : David Parello, LIRMM

Résumé : Hardware design is still struggling with performance and energy software demand. Microarchitecture designs follow the trend of complexity growth to manage this demand. Unfortunately, as a direct consequence, complex microarchitectures enclose side-channel attack vulnerabilities. We will begin to present experiences on Instruction Level Parallelism that will compose our design guidelines Then, we will present the Little Big Microcontroller (LBMC), a low-complexity microcontroller. LBMC can run a non-interruptible and single parallel application on a bare-metal microarchitecture. This microcontroller presents some good features. Thanks to a simple in-order pipeline, a simple memory hierarchy and a specific core interconnection, LBMC can run parallel software with a constant and reproducible execution time.

Contacts

GDR SOC2 : Abdoulaye Gamatié (abdoulaye.gamatie-at-lirmm.fr) et Sébastien Faucou (sebastien.faucou-at-univ-nantes.fr)

Thales TRT : Nicolas Ventroux (nicolas.ventroux-at-thalesgroup.com)