Automatic Generation of Instruction-set Extensions
Génération automatique d'extensions de jeux d'instructions de processeurs
Résumé
ASIPs (Application Specific Instruction set Processors) are custom processors that offer a good trade-off between performance and flexibility. A common processor customization approach is to augment its standard instruction set with application-specific instructions that are implemented on specifically designed hardware extensions (reconfigurable cells). These extensions are often directly connected to the processor's data-path. The design of the ASIP processor must rely on dedicated methodologies and software tools that manage both the design constraints and the growing complexity of applications. In this context, the aims of this thesis were to propose a new methodology for the automatic generation of instruction-set extensions. In the first step of our proposed design flow, we generate the instruction candidates that satisfy some architectural and technological constraints. In the second step, we identify the set of standard and customized instructions that minimizes the sequential application's execution time. In the next step, optimized hardware extensions and the corresponding application program including new instructions are generated. During the hardware generation, the optimizations of the hardware resources such as registers and multiplexers are simultaneously carried out. In our proposed design flow we used the constraint-based approach to solve the computationally complex problems of instruction identification, instruction selection and register allocation.
Les processeurs à jeux d'instructions spécifiques (ASIP) sont des processeurs spécialisés qui combinent la flexibilité d'un processeur programmable avec la performance d'un processeur dédié. L'une des approches de conception de tels processeurs consiste à spécialiser un cœur de processeur existant en y ajoutant des instructions spécialisées, mises en œuvre dans un module matériel fortement couplé au chemin de données du processeur. C'est l'extension de jeu d'instructions. La conception d'un ASIP nécessite des méthodologies et des outils logiciels appropriés garantissant une maîtrise des contraintes de conception et de la complexité grandissante des applications. Dans ce contexte, cette thèse vise à proposer une méthodologie de génération automatique d'extensions de jeux d'instructions. Celle-ci consiste à tout d'abord identifier l'ensemble des instructions candidates qui satisfont les contraintes architecturales et technologiques, afin de garantir leurs mises en œuvre. Ensuite, les instructions candidates qui minimisent le temps d'exécution séquentielle de l'application sont sélectionnées. Les ressources matérielles de l'extension, telles que les registres et les multiplexeurs, sont optimisées. Enfin, la dernière étape génère la description matérielle et le modèle de simulation de l'extension. Le code applicatif est adapté pour tenir compte des nouvelles instructions. Cette thèse propose des techniques basées sur la programmation par contraintes pour résoudre les problèmes difficiles (voir intraitables) que sont l'identification d'instructions, la sélection d'instructions et l'allocation de registres.
Loading...