Brevet FR3074931A1 (20190614)

REVENDICATIONS1. Processeur (1) comprenant une unité de contrôle (3) et une pluralité d'unités de traitement (5), les unités de traitement (5) interagissant selon une architecture de fonctionnement imposée 5 dynamiquement par l'unité de contrôle parmi au moins deux des architectures suivantes et des combinaisons d'architectures suivantes : - une architecture à unique flux d'instructions et multiples flux de données (SIMD), - une architecture à multiples flux d'instructions et unique flux de données (MISD), - une architecture à multiples flux d'instructions et multiples flux de données (MIMD), 10 l'architecture de fonctionnement étant imposée dynamiquement par l'unité de contrôle selon : - des fonctions de configuration incluses dans un code machine, et/ou - des données à traiter et d'instructions de traitement courantes reçues en entrée du processeur.\n<CLM>\1\tProcédé de compilation d'un code source, mis en oeuvre par des moyens informatiques, 15 comprenant les étapes suivantes : - recevoir un code source en entrée, - rechercher dans le code source : - des données de configuration imposant une architecture de fonctionnement d'un processeur, 20 - des premières parties du code source correspondant à des instructions de traitement de données incluant des séquences d'opérations élémentaires en cascade, et - des secondes parties du code source correspondant à des instructions de traitement de données incluant des opérations élémentaires indépendantes les unes des autres, le procédé comprenant en outre l'étape suivante : 25 - compiler le code source en un code machine, dans le cas où au moins une donnée de configuration imposant une architecture de fonctionnement d'un processeur a été identifiée et/ou dans le cas où au moins une première partie du code source et au moins une seconde partie du code source ont été identifiées, la compilation comprend l'inclusion dans le code machine de fonctions de configuration, lesdites 30 fonctions de configuration étant agencées pour imposer dynamiquement à un processeur exécutant le code machine une architecture parmi au moins deux des architectures suivantes et des combinaisons d'architectures suivantes : - une architecture à unique flux d'instructions et multiples flux de données (SIMD), - une architecture à multiples flux d'instructions et unique flux de données (MISD), 35 - une architecture à multiples flux d'instructions et multiples flux de données (MIMD). 14\n<CLM>\1\tProcédé selon la revendication 2, comprenant en outre la vérification du respect d'un ensemble de règles préétablies dans les instructions de traitement en entrée, les fonctions de configuration incluses dans le code machine au cours de la compilation étant en outre 5 sélectionnées en fonction du respect ou du non-respect desdites règles.\n<CLM>\1\tSupport d'enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme de compilation comprenant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 2 et\n<CLM>\1\t10\n<CLM>\1\tProgramme informatique de compilation comportant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 2 et 3, lorsque ce programme est exécuté par un processeur. 15\n<CLM>\1\tProcédé de gestion d'architecture d'un processeur (1), mis en oeuvre par des moyens informatiques, comprenant les étapes suivantes : - recevoir des données à traiter et des instructions de traitement en entrée du processeur, et - imposer dynamiquement à au moins une unité de traitement (5) du processeur une architecture de fonctionnement en fonction desdites données à traiter et des instructions de traitement reçues, 20 les architectures de fonctionnement étant sélectionnées parmi au moins deux des architectures suivantes et combinaison des architectures suivantes : - une architecture à unique flux d'instructions et multiples flux de données (SIMD), - une architecture à multiples flux d'instructions et unique flux de données (MISD), - une architecture à multiples flux d'instructions et multiples flux de données (MIMD). 25\n<CLM>\1\tSupport d'enregistrement non transitoire lisible par une unité de contrôle (3) d'un processeur (1) sur lequel est enregistré un jeu d'instructions machine pour la mise en oeuvre du procédé selon la revendication\n<CLM>\1\t30\n<CLM>\1\tJeu d'instructions machine pour la mise en oeuvre du procédé selon la revendication 6, lorsque ce jeu d'instructions machine est exécuté par l'unité de contrôle d'un processeur.