FR3103586A1 - Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant - Google Patents

Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant Download PDF

Info

Publication number
FR3103586A1
FR3103586A1 FR1913124A FR1913124A FR3103586A1 FR 3103586 A1 FR3103586 A1 FR 3103586A1 FR 1913124 A FR1913124 A FR 1913124A FR 1913124 A FR1913124 A FR 1913124A FR 3103586 A1 FR3103586 A1 FR 3103586A1
Authority
FR
France
Prior art keywords
master
configuration
information
chip
slave
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1913124A
Other languages
English (en)
Other versions
FR3103586B1 (fr
Inventor
Nicolas Anquet
Loic Pallardy
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STMicroelectronics Alps SAS
STMicroelectronics Grand Ouest SAS
Original Assignee
STMicroelectronics Alps SAS
STMicroelectronics Grand Ouest SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by STMicroelectronics Alps SAS, STMicroelectronics Grand Ouest SAS filed Critical STMicroelectronics Alps SAS
Priority to FR1913124A priority Critical patent/FR3103586B1/fr
Priority to US16/951,198 priority patent/US11700174B2/en
Priority to CN202011319314.XA priority patent/CN112948321B/zh
Publication of FR3103586A1 publication Critical patent/FR3103586A1/fr
Priority to US17/587,954 priority patent/US20220156217A1/en
Application granted granted Critical
Publication of FR3103586B1 publication Critical patent/FR3103586B1/fr
Priority to US18/321,516 priority patent/US11962462B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8053Vector processors
    • G06F15/8076Details on data register access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

Système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion (INTC) couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, et des moyens de traitement (MT) au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce (MCU) au moins un schéma de configuration (SCH) de ce système défini par un ensemble d’informations de configuration comportant au moins une information d’identification (CID) affectée à chaque équipement maître, ces informations d’identification étant destinées à être jointes à toutes les transactions (TR) émises par les équipements maîtres correspondants, l’ensemble de ces informations de configuration n’étant pas utilisé pour l’adressage des ressources esclaves destinataires desdites transactions et étant utilisé pour définir une assignation d’au moins un équipement maître à certaines au moins des ressources esclaves. Figure pour l’abrégé : Fig 1

Description

Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
Des modes de mise en œuvre et de réalisation de l’invention concernent les circuits intégrés, notamment les systèmes sur puce (SoC: System on Chip), par exemple un microcontrôleur (multi-cœurs ou mono-cœur), ou un microprocesseur, et plus particulièrement la gestion du fonctionnement d’un tel système sur puce.
Afin de contribuer à garantir la fiabilité d’un système sur puce, il peut être requis de restreindre l’accès d’un ou de plusieurs équipements maîtres à des ressources esclaves spécifiques. Une telle caractéristique est désignée par l’homme du métier sous le vocable anglosaxon de «isolation».
Il existe un besoin de rendre une gestion de ces restrictions d’accès simple à mettre en œuvre et à implémenter tout particulièrement dans le cas où cette gestion est dynamique, par exemple lorsqu’elle dépend des applications envisagées pour le système sur puce, par exemple des applications envisagées sur les multiples cœurs de la puce.
Il existe également un besoin de proposer un système sur puce, par exemple un microcontrôleur ou un microprocesseur, permettant tous les cas d’utilisation émanant des divers utilisateurs du système sur puce ainsi que toutes les configurations d’une manière flexible, et incluant en particulier un mode basse consommation (low power mode).
Selon un aspect, il est proposé un système sur puce comprenant plusieurs équipements maîtres, par exemple, lorsque le système forme en particulier un microcontrôleur, au moins un microprocesseur et généralement plusieurs microprocesseurs, un contrôleur d’accès direct en mémoire (DMA: Direct Memory Access…) sans que ces exemples ne soient limitatifs.
Le système sur puce comporte par ailleurs plusieurs ressources esclaves.
A titre d’exemple non limitatif, une ressource esclave peut appartenir au groupe formé par au moins un périphérique, par exemple un périphérique du type I2C («Inter Integrated Circuit»), du type SPI («Serial Peripheral Interface), du type UART («Universal Asynchronous Receiver Transmitter), ou bien une horloge temps réel (RTC «Real Time Clock»), une fonctionnalité («feature» en langue anglaise) d’un périphérique, par exemple une ligne d’alarme du périphérique RTC, un moyen de mémoire interne au système sur puce, une interface mémoire interne au système sur puce et destinée à être couplée à un moyen de mémoire externe au système sur puce, par exemple une mémoire du type DDR («Double Data Rate»).
Le système sur puce comporte par ailleurs un système d’interconnexion (connu par l’homme du métier sous la dénomination anglosaxonne «interconnect») couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions (par exemple des transactions d’écriture ou de lecture) entre les équipements maîtres et les ressources esclaves.
Le système sur puce comporte par ailleurs des moyens de traitement au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce au moins un schéma de configuration de ce système sur puce, ce schéma de configuration étant défini par un ensemble d’informations de configuration comportant au moins une information d’identification affectée à chaque équipement maître.
Ces informations d’identification sont destinées à être jointes à toutes les transactions émises par les équipements maîtres correspondants.
Elles servent en particulier à désigner les équipement maîtres correspondants.
Par ailleurs, l’ensemble de ces informations de configuration, et en particulier les informations d’identification, n’est pas utilisé pour l’adressage des ressources esclaves destinataires desdites transactions mais est utilisé pour définir une assignation d’au moins un équipement maître à certaines au moins des ressources esclaves, ou bien une assignation de certaines au moins des ressources esclaves à au moins un équipement maître.
Par ailleurs, l’adressage des ressources esclaves destinataires desdites transactions est effectué au moyen d’un champ d’adressage contenu dans la transaction considérée. Et non seulement l’ensemble des informations de configuration n’est pas utilisé pour l’adressage des ressources esclaves destinataires des transactions mais également, le contenu du champ d’adressage d’une transaction n’est pas utilisé pour définir ladite assignation d’au moins un équipement maître à certaines au moins des ressources esclaves.
Ainsi, l’assignation d’un ou des équipements maîtres à une ou à plusieurs ressources esclaves permet de gérer l’architecture d’isolation des différentes ressources esclaves et des différents équipements maîtres et ce d’une façon extrêmement simple et flexible par cet ensemble d’informations de configuration.
Il est tout à fait possible, dans un cas extrêmement simple, que l’ensemble d’informations de configuration ne comporte que les informations d’identification affectées aux équipements maîtres. Et on voit alors que ces seules informations d’identification permettent aisément de gérer et de définir l’architecture d’isolation du système sur puce.
Cela étant, comme on le verra plus en détails ci-après, l’ensemble d’informations de configuration peut comporter en général d’autres informations de configuration que l’information d’identification, ce qui va permettre d’affiner l’architecture d’isolation, et ce avec une plus grande flexibilité.
Selon un mode de réalisation, les équipements maîtres peuvent comporter plusieurs microprocesseurs et des équipements maîtres contrôlables par ces microprocesseurs.
Par ailleurs, certains au moins des équipements maîtres contrôlables par un microprocesseur peuvent être affectés des mêmes informations d’identification que l’information d’identification du microprocesseur.
Ceci permet de définir un groupe ou compartiment d’équipements maîtres identifiés par une même information d’identification. Et, les équipements maîtres d’un même compartiment pourront par exemple avoir accès à des ressources mémoire identiques.
Cela étant, il est également possible qu’un équipement maître contrôlable par un microprocesseur soit affecté d’une information d’identification différente de l’information d’identification du microprocesseur.
Ce peut être par exemple le cas d’un équipement maître du type PCI express (PCI-E) auquel on ne souhaite pas donner un accès à certaines zones mémoire qui peuvent être par ailleurs accédées par le microprocesseur.
Il est également possible qu’au moins un équipement maître contrôlable par un microprocesseur comporte un port de sortie capable d’émettre des transactions ainsi qu’un port d’entrée capable de recevoir des transactions. Le port d’entrée est alors considéré comme étant une ressource esclave et le port de sortie comme un équipement maître.
Un tel équipement maître ayant un port d’entrée et un port de sortie peut être par exemple un contrôleur USB ou bien un contrôleur d’une carte SD.
Les moyens de traitement sont avantageusement configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce un schéma initial de configuration formant ledit schéma de configuration.
Dans un tel cas, on est en fait dans le cadre d’une configuration statique dans laquelle le schéma de configuration correspond à un schéma initial de configuration implémenté qui ne subit aucune modification au cours du fonctionnement du système sur puce.
En variante, il est tout à fait possible que les moyens de traitement soient configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce un schéma initial de configuration ayant un ensemble initial d’informations de configuration, les moyens de traitement étant alors également configurés pour modifier la valeur d’au moins une information de configuration de cet ensemble initial de façon à obtenir ledit ensemble d’informations de configuration définissant le schéma de configuration.
En d’autres termes, dans ce cas «dynamique», l’utilisateur a la possibilité, après avoir implémenté le schéma initial de configuration, de modifier ultérieurement ce schéma initial de configuration.
Que l’on soit dans un cas de configuration statique ou dans un cas de configuration dynamique, les moyens de traitement comprennent avantageusement des moyens d’installation comportant parmi les équipements maîtres un premier équipement maître dit gestionnaire, ce premier équipement maître gestionnaire étant configuré pour, en réponse à un premier démarrage ou démarrage à froid («cold boot») du système sur puce, effectuer une phase de démarrage à l’issue de laquelle ce premier équipement maître gestionnaire est configuré pour au moins permettre l’implémentation du schéma initial de configuration.
Ce premier équipement maître gestionnaire peut comprendre un microprocesseur ou en variante un circuit logique matériel.
Par ailleurs, la désignation du premier équipement maître gestionnaire peut être fixée lors de la réalisation du système sur puce.
En d’autres termes, le système sur puce une fois réalisé, va imposer par construction un premier équipement maître gestionnaire parmi les équipements maîtres du système sur puce.
En variante, pour permettre une plus grande flexibilité, il est possible que les moyens d’installation comportent un registre de désignation, programmable, permettant de désigner le premier équipement maître gestionnaire.
Ce registre programmable peut être formé par exemple de plusieurs mémoires OTP («One Time Programmable») permettant à l’utilisateur du système sur puce, en fonction de son application, de désigner en programmant ces mémoires OTP, l’un des équipements maîtres comme premier équipement maître gestionnaire.
De façon notamment à ne pas générer de conflit lors de la phase de configuration du système sur puce, les moyens d’installation sont en outre avantageusement configurés pour rendre temporairement inopérants tous les autres équipements maîtres tant que le premier équipement maître gestionnaire n’a pas terminé sa phase de démarrage.
Rendre temporairement inopérant un équipement maître tel qu’un microprocesseur peut par exemple s’effectuer en forçant le signal de réinitialisation (reset) à zéro, ce qui permet de maintenir le microprocesseur dans un état de veille.
Selon un mode de réalisation, les moyens d’installation comportent en outre une mémoire de démarrage configurée pour stocker un programme de démarrage exécutable uniquement par le premier équipement maître gestionnaire lors du premier démarrage (démarrage à froid) du système sur puce.
D’une façon générale, les moyens de traitement comportent, de préférence, des moyens de configuration, configurés pour permettre à un utilisateur du système sur puce de définir le schéma initial de configuration et des moyens d’allocation configurés pour implémenter le schéma initial de configuration.
A cet égard, les moyens de configuration comportent par exemple une entrée configurée pour recevoir un programme utilisateur contenant au moins des instructions représentatives du schéma initial de configuration, ainsi qu’une mémoire programme destinée à stocker le programme utilisateur.
Les moyens d’allocation comportent par exemple quant à eux, ledit premier équipement maître gestionnaire qui est configuré pour, à l’issue de sa phase de démarrage, exécuter le programme utilisateur afin d’implémenter ledit schéma initial de configuration.
L’utilisateur peut donc très simplement définir de façon logicielle le schéma initial de configuration du système sur puce et c’est le premier équipement maître gestionnaire qui, à l’issue de sa phase de démarrage, va exécuter le programme utilisateur afin d’implémenter le schéma initial de configuration.
Le mode de réalisation prévoyant un équipement maître gestionnaire qui est le seul autorisé à implémenter le schéma initial de configuration et à le modifier éventuellement peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, et des moyens de traitement au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce au moins un schéma de configuration de ce système, les moyens de traitement comprenant des moyens d’installation comportant parmi les équipements maîtres un premier équipement maître dit gestionnaire, ce premier équipement maître gestionnaire étant configuré pour permettre l’implémentation du schéma de configuration.
Comme indiqué ci-avant ce schéma de configuration peut être un schéma initial de configuration ou bien un schéma initial de configuration modifié par le premier équipement maître gestionnaire.
Ce premier équipement maître gestionnaire peut être également configuré pour modifier le schéma de configuration de façon à implémenter un nouveau schéma de configuration qui pourra être éventuellement de nouveau modifié par l’équipement maître gestionnaire.
Dans ce qui précède, on a considéré qu’il n’y avait qu’un seul équipement maître gestionnaire opérant en réponse au premier démarrage du système sur puce.
Cela étant, il est possible, en variante, qu’il y ait un transfert («handover») entre un équipement maître initial et un autre équipement maître désigné comme étant un nouvel équipement maître gestionnaire.
Plus précisément, et selon un mode de réalisation, les moyens d’installation comportent alors parmi les équipements maîtres un équipement maître dit «équipement gestionnaire initial», configuré pour, lors du premier démarrage (ou démarrage à froid) du système sur puce, effectuer une phase de démarrage à l’issue de laquelle il est configuré pour autoriser un démarrage d’un autre équipement maître désigné comme étant un nouvel équipement maître gestionnaire, ce nouvel équipement maître gestionnaire formant alors ledit premier équipement maître gestionnaire, ce premier équipement maître gestionnaire étant configuré pour, à l’issue de sa phase de démarrage, permettre l’implémentation du schéma initial de configuration.
Un tel mode de réalisation est par exemple avantageux lorsque l’équipement maître gestionnaire initial est défini par défaut lors de la réalisation du système sur puce et que l’utilisateur souhaite lors de la phase de configuration, compte tenu de son application, modifier l’équipement maître gestionnaire.
Dans une telle variante de réalisation (changement d’équipement maître gestionnaire), l’équipement maître gestionnaire initial peut comprendre un microprocesseur et le nouvel équipement maître gestionnaire peut comprendre un autre microprocesseur.
Il est également possible que l’équipement maître gestionnaire initial comprenne un circuit logique matériel et que le nouvel équipement maître gestionnaire comprenne un microprocesseur.
Là encore, les moyens d’installation sont en outre avantageusement configurés pour rendre temporairement inopérants tous les autres équipements maîtres tant que la phase de démarrage de l’équipement maître gestionnaire initial et celle du nouvel équipement maître gestionnaire ne sont pas terminées.
Toujours dans le cas de cette variante de réalisation (changement d’équipement maître gestionnaire) les moyens d’installation peuvent comporter une mémoire de démarrage configurée pour stocker un programme de démarrage exécutable uniquement par l’équipement maître gestionnaire initial lors du premier démarrage (démarrage à froid) du système sur puce et une mémoire programmable configurée pour stocker le programme de démarrage du nouvel équipement maître gestionnaire.
Toujours dans le cas de cette variante de réalisation avec changement d’équipement maître gestionnaire, les moyens de configuration peuvent comporter là encore une entrée configurée pour recevoir un programme utilisateur contenant au moins des instructions représentatives du schéma initial de configuration, cette mémoire programme étant également destinée à stocker le programme utilisateur et les moyens d’allocation comportent là encore le premier équipement maître gestionnaire configuré pour, à l’issue de sa phase de démarrage, exécuter ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
Quelle que soit la variante de réalisation qui vient d’être exposée (changement ou non d’équipement maître gestionnaire au cours de la phase de configuration du système sur puce), il est également possible pour l’utilisateur de changer d’équipement maître gestionnaire au cours de la phase de fonctionnement proprement dit du système sur puce (c’est-à-dire au cours de l’exécution de son programme utilisateur).
Plus précisément, dans cette optique, le premier équipement maître gestionnaire (qui est celui qui est effectivement gestionnaire à l’issue de la phase de configuration du système sur puce) est en outre configuré pour, après avoir permis d’implémenter le schéma de configuration initiale, désigner, au cours de l’exécution d’un programme utilisateur par les moyens de traitement, un deuxième équipement maître en tant que nouvel équipement maître gestionnaire, le premier équipement maître étant alors configuré pour perdre sa qualité d’équipement maître gestionnaire.
Comme on le verra plus en détail ci-après, il est possible de prévoir un registre dit registre gestionnaire, destiné à contenir l’information d’identification de l’équipement maître gestionnaire courant. Et, la désignation par l’équipement maître gestionnaire courant d’un autre équipement maître en tant qu’équipement maître gestionnaire, peut alors avantageusement se faire par l’écriture dans ce registre gestionnaire, par l’équipement maître gestionnaire courant, de l’information d’identification du nouvel équipement maître qui sera alors l’équipement maître gestionnaire. Et, comme le registre gestionnaire ne comporte plus l’information d’identification du précédent équipement maître gestionnaire, celui-ci a de facto perdu sa qualité d’équipement maître gestionnaire.
Par ailleurs, il est tout à fait possible, dans certains cas, de prévoir que l’on puisse changer plusieurs fois d’équipement maître gestionnaire au cours de l’exécution du programme utilisateur.
Un tel changement peut être décidé lors du fonctionnement du système sur puce, ou bien être fixé lors la fabrication du système sur puce.
Le nombre de changements peut aussi être fixé.
En d’autres termes, et selon un mode de réalisation, tout nouvel équipement maître gestionnaire peut être configuré pour à son tour désigner un nouvel équipement maître gestionnaire et perdre alors sa qualité d’équipement maître gestionnaire.
Le mode de réalisation prévoyant un transfert d’équipement maître gestionnaire peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, et des moyens de traitement au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce au moins un schéma de configuration de ce système, les moyens de traitement comprenant des moyens d’installation comportant parmi les équipements maîtres un équipement maître dit gestionnaire, cet équipement maître gestionnaire étant configuré pour permettre l’implémentation du schéma de configuration et étant capable de désigner un nouvel équipement gestionnaire en perdant alors sa qualité d’équipement maître gestionnaire.
On va maintenant revenir plus en détails sur l’ensemble d’informations de configuration définissant le schéma de configuration.
Comme on l’a vu précédemment, dans un cas extrêmement simple, il est possible que cet ensemble ne comporte que les informations d’identification des équipements maîtres.
Cela étant, d’autres informations de configuration peuvent compléter cet ensemble.
Ainsi, selon un mode de réalisation, l’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre, pour au moins une ressource esclave, une information d’inaccessibilité destinée à indiquer que cette ressource esclave est inaccessible par tout équipement maître.
Il est en effet tout à fait possible que dans certaines applications, l’utilisateur décide qu’une ressource esclave ne doit absolument pas être utilisée par aucun équipement maître.
Selon encore un mode de réalisation, l’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre pour chaque ressource esclave non inaccessible, une information de filtrage destinée à indiquer, en se basant uniquement sur les informations d’identification des équipements maîtres, si cette ressource esclave peut être accédée par n’importe quel équipement maître ou par seulement un ou plusieurs équipements maîtres.
En d’autres termes, on peut, avec cette information de filtrage, activer ou désactiver le filtrage sur les informations d’identification des équipements maîtres. Ainsi, si le filtrage est activé, alors cela signifie que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres.
Si le filtrage est désactivé, cela veut dire que la ressource esclave peut être accédée par n’importe quel équipement maître, donc, quelle que soit l’information d’identification jointe à la transaction, mais bien sûr sous réserve que d’autres restrictions d’accès ne soient pas appliquées comme on le verra plus en détails ci-après.
En d’autres termes, si aucune autre restriction d’accès n’est appliquée et que le filtrage est désactivé, alors la ressource esclave peut être accédée par n’importe quel équipement maître.
Dans le cas où ce filtrage est activé, il est alors avantageusement prévu plusieurs autres informations de configuration.
Ainsi, l’ensemble d’informations de configuration définissant un schéma de configurations peut alors comprendre pour chaque ressource esclave non inaccessible,
-une première information d’accès, destinée à indiquer, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par un ou plusieurs équipements maîtres ayant la même information d’identification.
En d’autres termes, dans ce cas, la ressource esclave ne peut être accédée que par une transaction ne comportant que cette information d’identification.
Et bien entendu, l’ensemble des informations de configuration comporte ces informations d’identification correspondantes.
Toujours dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, l’ensemble d’informations de configuration définissant le schéma de configurations peut alors comprendre en outre, pour chaque ressource esclave non inaccessible,
-une deuxième information d’accès destinée à indiquer que cette ressource esclave peut être accédée par des équipements maîtres ayant des informations d’identification différentes.
Ce peut être le cas par exemple pour un moyen de mémoire interne ou pour l’interface mémoire destinée à être couplée à un moyen de mémoire externe par exemple.
Et, dans ce cas, l’ensemble d’informations de configuration comprend bien entendu la liste des informations d’identification des équipements maîtres correspondants.
Cela étant, même si certaines ressources esclaves peuvent être accédées par des équipements maîtres ayant des informations d’identification différentes, il est également possible que, parmi ces ressources esclaves, au moins l’une d’entre elles ne puisse pas être accédée de façon simultanée par plusieurs équipements maîtres, de façon en particulier à éviter des conflits.
Aussi, est-il avantageusement prévu que l’ensemble d’informations de configuration définissant le schéma de configuration comprenne en outre pour au moins une des ressources esclaves pouvant être accédées par les équipements maîtres de ladite liste,
-une troisième information destinée à indiquer que ladite une au moins des ressources esclaves ne peut être accédée que par un seul équipement maître à la fois,
-l’équipement maître désirant accéder à cette ressource esclave étant alors configuré pour utiliser un sémaphore.
En d’autres termes, l’équipement maître de la liste qui souhaitera accéder à cette ressource esclave devra d’abord «prendre» le sémaphore avant de pouvoir accéder. Si le sémaphore n’est pas disponible, l’équipement maître ne pourra pas accéder à cette ressource esclave et devra attendre que le sémaphore se libère.
Il est par ailleurs particulièrement avantageux de définir un mode sécurisé et/ou un mode privilégié («privileged mode») pour les équipements maîtres et les ressources esclaves.
La notion de mode sécurisé ou de mode privilégié est bien connue de l’homme du métier.
Par exemple, pour un processeur en mode sécurisé, un logiciel d’exploitation (Operating System: OS) dédié peut être utilisé avec des ressources qui ne sont pas accessibles dans un mode non sécurisé.
Dans un mode privilégié, l’équipement peut bénéficier de droits privilégiés pour des accès à des ressources que n’auront pas d’autres équipements qui ne sont pas en mode privilégié.
Ainsi, selon un mode de réalisation, l’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre pour chaque ressource esclave non inaccessible, une information de sécurité destinée à indiquer si cette ressource esclave est accessible par un équipement maître en mode sécurisé ou non.
L’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre pour chaque ressource esclave non inaccessible, une information de privilège destinée à indiquer si cette ressource esclave est accessible par un équipement maître en mode privilégié ou non.
Dans tout ce qui précède, la notion de filtrage et l’ensemble des informations de configuration s’appliquent à toute ressource esclave quelle que soit sa nature.
Par conséquent cela s’applique en particulier à des périphériques.
Il est donc possible en particulier d’isoler un périphérique dans un contexte d’exécution particulier pour par exemple des raisons de sécurité et/ou de sureté.
Mais cela s’applique également en particulier à des fonctionnalités de périphériques.
De ce fait il est donc avantageusement possible d’effectuer en particulier un filtrage par fonctionnalité («feature») de périphérique.
Et là encore il est donc possible en particulier d’isoler une fonctionnalité à l’intérieur d’un périphérique dans un contexte d’exécution particulier pour par exemple des raisons de sécurité et/ou de sureté.
Par ailleurs, l’ensemble d’informations de configuration définissant un schéma de configuration peut comprendre en outre cette fois-ci pour chaque équipement maître, outre son information d’identification, une information de sécurité destinée à indiquer si cet équipement maître est configuré en mode sécurisé ou non.
De même, l’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre pour chaque équipement maître, outre son information d’identification, une information de privilège destinée à indiquer si cet équipement maître est configuré en mode privilège ou non.
Le premier équipement maître gestionnaire est quant à lui de préférence configuré pour être en mode sécurisé et en mode privilège à l’issue de sa phase de démarrage.
Toute ressource esclave peut être accessible en lecture ou en écriture.
Cela étant, cet accès en lecture ou en écriture peut être restreint en fonction des différentes informations de configuration énoncées ci-avant.
Mais, il est possible de définir pour certaines au moins des ressources esclaves, une information dite d’accès public («public read enable») permettant à n’importe quel équipement maître d’accéder en lecture à cette ressource esclave.
Comme on l’a vu ci-avant, il est possible de modifier un schéma de configuration en modifiant au moins une information de configuration. Cela étant, il est possible également que l’ensemble d’informations de configuration définissant le schéma de configurations comprenne en outre pour certaines au moins de ressources esclaves et certains au moins des équipements maîtres, une information de verrouillage destinée à indiquer si leurs informations de configuration peuvent ou non être modifiées.
Comme indiqué ci avant, les moyens d’allocation comprennent le premier équipement maître gestionnaire.
Cela étant, les moyens d’allocation comprennent également, selon un mode de réalisation,
-un jeu de registres de configuration affecté à chaque ressource esclave et à chaque équipement maître, et
-un contrôleur de configuration configuré pour mettre à jour les contenus des jeux de registres de configuration avec ledit ensemble d’information de configuration sous le contrôle du premier équipement maître gestionnaire.
Et, un jeu de registres de configuration affecté à une ressource esclave est avantageusement destiné à stocker les différentes informations de configuration définies ci-avant et affectées à cette ressource esclave.
Par ailleurs, un jeu de registres de configuration affecté à chaque équipement maître est destiné à stocker l’information d’identification affectée à cet équipement maître et les informations de configuration de type sécurité et/ou privilège définies ci-avant.
Comme indiqué ci-avant, les moyens de traitement peuvent être configurés pour utiliser un programme utilisateur pour modifier le schéma initial de configuration après son implémentation et implémenter en conséquence le schéma de configuration et éventuellement remodifier tout ancien schéma de configuration.
Et, à cet égard, seul l’équipement maître qui a la qualité d’équipement maître gestionnaire est avantageusement configuré pour modifier un schéma de configuration.
Plus précisément, et selon un mode de réalisation, pour modifier un schéma de configuration, l’équipement maître gestionnaire est configuré pour commander le contrôleur de configuration de façon à ce qu’il mette à jour les contenus des registres de configuration avec l’ensemble d’informations de configuration définissant le nouveau schéma de configuration à implémenter.
En ce qui concerne maintenant les transactions véhiculées entre les équipements maîtres et les ressources esclaves, chaque transaction émise par un équipement maître comprend, selon un mode de réalisation, un champ d’adressage dont le contenu est destiné à adresser la ressource esclave destinataire de cette transaction et le contenu du champ d’adressage n’appartient pas audit ensemble d’information de configuration.
En effet, comme indiqué ci-avant, le contenu du champ d’adressage n’intervient pas dans la définition du schéma de configuration.
Selon un mode de réalisation, les moyens de traitement comportent en outre des moyens d’adjonction configurés pour ajouter à chaque transaction émise par un équipement maître, au moins l’information d’identification de cet équipement maître, cette information d’identification n’appartenant pas au champ d’adressage de la transaction.
Les moyens d’adjonction sont en outre avantageusement configurés pour ajouter à chaque transaction émise par un équipement maître, l’information de sécurité et/ou l’information de privilège si ces deux informations ou l’une des deux informations ne figurent pas déjà dans la transaction émise par l’équipement maître.
En effet, certains équipements maîtres peuvent déjà émettre une transaction contenant des bits représentatifs de leur mode sécurisé et/ou privilège. Et dans ce cas, il n’est pas nécessaire bien entendu que les moyens d’adjonction procèdent à une telle adjonction.
Selon un mode de réalisation, les moyens d’adjonction comportent, pour chaque équipement maître, une unité de gestion élémentaire configurée pour accéder à l’information d’identification affectée à cet équipement maître et éventuellement à l’information de sécurité et/ou à l’information de privilège, et pour ajouter à toute transaction émise par l’équipement maître, cette information d’identification et éventuellement à l’information de sécurité et/ou l’information de privilège.
Une telle «décentralisation» des moyens d’adjonction en des unités locales affectées à chaque équipement maître, permet une plus grande homogénéité d’implémentation du système sur puce et permet aisément de rajouter un équipement maître si nécessaire sans devoir modifier les autres unités de gestion élémentaire.
Chaque unité de gestion élémentaire affectée à un équipement maître est de préférence connectée par une liaison dédiée au moins au jeu de registres de configuration affecté à cet équipement maître.
En d’autres termes, on ne passe pas par les bus de communication du circuit d’interconnexion mais par une liaison dédiée, par exemple des pistes métalliques du circuit intégré.
Ceci simplifie la réalisation et la programmation du système sur puce.
Selon un mode de réalisation, au moins une information de configuration est destinée à être jointe à chaque transaction et les moyens de traitement comportent des moyens de vérification configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave en utilisant ladite au moins une information de configuration jointe à ladite transaction.
En particulier, les moyens de vérification sont configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, en utilisant ladite au moins une information de configuration jointe à ladite transaction.
A cet égard, le terme «utiliser» doit s’entendre dans un sens très large. En effet, même si l’information de filtrage est désactivée (signifiant que n’importe quel équipement maître peut accéder à une ressource esclave, sous réserve d’autres restrictions d’accès) cette information de filtrage est basée sur les informations d’identification et par conséquent ces dernières sont utilisées.
Selon un autre mode de réalisation, il est possible que les moyens de vérification soient configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave en utilisant au moins ladite information de sécurité et ladite information de privilège jointes à ladite transaction.
Ainsi, il est possible, si par exemple l’information de filtrage est désactivée, que l’accès à une ressource esclave soit conditionné au mode sécurisé/ou privilégié.
Selon un autre mode de réalisation, les moyens de vérification sont configurés pour vérifier si une transaction émanant de l’équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave en utilisant la ou les informations de configuration jointes à ladite transaction ainsi que certaines au moins des autres informations de configuration de l’ensemble d’information de configuration, affectées à cette ressource esclave.
Les moyens de vérification sont avantageusement configurés pour effectuer ladite vérification en aval du circuit d’interconnexion.
En effet, effectuer une vérification en aval du circuit d’interconnexion et non pas en amont permet là encore une homogénéité d’implémentation et permet aisément de rajouter une ressource esclave de façon facilitée ou encore d’avoir une granularité au registre ou au bit près.
Pour compléter cette homogénéité d’implémentation et cette facilité de rajout d’une ressource esclave si nécessaire, les moyens de vérification comportent avantageusement pour chaque ressource esclave un module de vérification élémentaire configuré pour accéder à l’ensemble d’informations de configuration affectées à cette ressource esclave.
On retrouve donc là encore une décentralisation des moyens de vérification en des modules localisés.
Chaque module de vérification élémentaire affecté à une ressource esclave est là encore connecté avantageusement par une liaison dédiée au jeu de registres de configuration affecté à cette autre ressource esclave, par exemple par des pistes métalliques.
Comme indiqué ci-avant, l’équipement gestionnaire courant est identifié par son information d’identification contenue dans un registre gestionnaire.
Aussi, selon un mode de réalisation, les moyens de traitement comportent également un module de vérification auxiliaire affecté audit contrôleur, et configuré pour interdire l’accès audit contrôleur à tout équipement maître ayant une information d’identification différente de celle contenue dans ledit registre gestionnaire.
Dans le cas où une transaction de lecture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, les moyens de vérification sont en outre configurés pour renvoyer à l’équipement maître une indication de refus d’accès (par exemple un bit ayant la valeur logique «0») et renvoyer à l’équipement maître gestionnaire une notification d’accès illégal contenant un identifiant de la ressource esclave, une indication du type d’accès (ici un accès en lecture) et l’information d’identification d’équipement maître à l’origine de cette transaction refusée.
Par ailleurs, dans le cas où une transaction d’écriture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, les moyens de vérification sont configurés pour ignorer cette transaction et renvoyer à l’équipement maître gestionnaire, également une notification d’accès illégal contenant un identifiant de cette ressource esclave, une indication du type d’accès (ici un accès en écriture) et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
Comme on l’a vu ci-avant, il est possible que parmi les équipements maîtres, figure au moins un équipement maître ayant un port esclave et un port maître, par exemple un contrôleur USB, avec des informations de configuration affectées au port esclave et des informations de configuration affectées au port maître.
Il est également possible que cet équipement maître ayant un port esclave et un port maître soit dans un premier temps contrôlé par un premier microprocesseur puis dans un deuxième temps par un deuxième microprocesseur, les deux microprocesseurs ayant des informations de configuration différentes. Et, il est avantageux que lorsqu’un processeur contrôle un tel équipement maître, les informations de configuration du port d’entrée soient dupliquées au niveau du port de sortie.
Ainsi, selon un mode avantageux de réalisation, les moyens de traitement comportent des moyens d’héritage configurés pour, sur commande et en tenant compte de règles d’héritage, remplacer certaines au moins des informations de configuration affectées au port maître par les informations de configuration homologues affectées au port esclave ou bien conserver les informations de configuration affectées au port maître.
Ainsi, lorsqu’un autre microprocesseur prend le contrôle d’un tel équipement maître, les moyens d’héritage peuvent permettre par une simple commutation, et si les règles d’héritage l’autorisent, de conférer au port maître les informations de configuration du port esclave qui correspondent à celles de l’autre microprocesseur.
Mais les règles d’héritage interdisent par exemple de définir un port d’un périphérique en mode sécurisé si l’équipement maître qui le contrôle n’est pas lui-même en mode sécurisé.
Le mode de réalisation prévoyant des moyens d’héritage peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres comprenant parmi les équipements maîtres, au moins un équipement maître ayant un port esclave et un port maître, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, et des moyens de traitement au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce au moins un schéma de configuration de ce système comportant des information de configuration.
Selon cet aspect des informations de configuration sont affectées au port esclave et des informations de configuration sont affectées au port maître et les moyens de traitement comportent des moyens d’héritage configurés pour, sur commande et en tenant compte de règles d’héritage, remplacer certaines au moins des informations de configuration affectées au port maître par les informations de configuration homologues affectées au port esclave ou bien conserver les informations de configuration affectées au port maître.
Ainsi, plus en détail et selon un mode possible de réalisation, les moyens d’héritage comportent,
-au sein de l’unité de gestion élémentaire affectée au port maître, un jeu de commutateurs commandables connectés à certains au moins des registres de configuration affectés au port esclave et aux registres de configuration homologue affectés au port maître, et
-des moyens de commande configurés pour commander le jeu de commutateurs de façon à sélectionner soit les registres de configuration correspondants affectés au port maître soit les registres de configuration correspondants affectés au port esclave.
Selon un autre mode de réalisation, il est possible que le système sur puce comprenne:
-parmi les équipements maîtres, plusieurs microprocesseurs,
-parmi les ressources esclaves, au moins une ressource esclave configurée pour générer au moins un signal d’interruption destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave,
-plusieurs fils d’interruption respectivement connectés aux microprocesseurs et à ladite au moins une ressource esclave et capables de véhiculer des signaux d’interruption (ces fils d’interruption peuvent être bien entendu des pistes métalliques).
Dans ce cas, les moyens de traitement comprennent avantageusement des moyens de filtrage d’interruption configurés pour router le signal d’interruption émis par ladite ressource esclave uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné.
Ceci permet avantageusement d’éviter un espionnage de l’activité du microprocesseur considéré par l’observation du signal d’interruption.
Le mode de réalisation prévoyant des moyens de filtrage d’interruption peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves.
Selon cet autre aspect le système sur puce comprend:
-parmi les équipements maîtres, plusieurs microprocesseurs,
-parmi les ressources esclaves, au moins une ressource esclave configurée pour générer au moins un signal d’interruption destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave,
-plusieurs fils d’interruption respectivement connectés aux microprocesseurs et à ladite au moins une ressource esclave et capables de véhiculer des signaux d’interruption (ces fils d’interruption peuvent être bien entendu des pistes métalliques), et
-des moyens de filtrage d’interruption configurés pour router le signal d’interruption émis par ladite ressource esclave uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné.
Les moyens de filtrage d’interruption sont avantageusement incorporés au moins en partie dans le module de vérification élémentaire affecté à la ressource esclave.
Et, selon un mode de réalisation, les moyens de filtrage d’interruption comportent
-dans le module de vérification élémentaire, plusieurs interrupteurs commandables connectés entre la sortie de la ressource esclave configurée pour délivrer le signal d’interruption, et respectivement les fils d’interruption connectés au microprocesseur, et
-des moyens de commande configurés pour fermer l’interrupteur connecté entre ladite sortie et le fil d’interruption connecté au microprocesseur assigné à ladite ressource esclave, et pour ouvrir le ou les autres interrupteurs.
Selon un autre mode de réalisation, le système sur puce peut comprendre
-parmi les équipements maîtres un premier microprocesseur configuré pour démarrer lors d’un premier démarrage du système sur puce (démarrage à froid) de façon à permettre l’implémentation du schéma de configuration, et un deuxième équipement maître, par exemple un deuxième microprocesseur ou une machine d’états matérielle, et
-des moyens de restauration configurés pour en cas de sortie d’un mode de veille du système sur puce, permettre au deuxième équipement maître de restaurer le schéma de configuration à la place du premier microprocesseur.
Un tel mode de réalisation permet avantageusement une restauration du schéma de configuration par, par exemple un microprocesseur ayant une plus faible consommation, au lieu d’utiliser le premier microprocesseur qui peut être plus lent et/ou avoir une consommation plus élevée.
Le mode de réalisation prévoyant des moyens de restauration peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves et des moyens de traitement au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce au moins un schéma de configuration de ce système.
Selon cet autre aspect le système sur puce comprend
-parmi les équipements maîtres, un premier microprocesseur configuré pour démarrer lors d’un premier démarrage du système sur puce (démarrage à froid) de façon à permettre l’implémentation du schéma de configuration, et un deuxième équipement maître, par exemple un deuxième microprocesseur ou une machine d’états matérielle, et
-des moyens de restauration configurés pour en cas de sortie d’un mode de veille du système sur puce, permettre au deuxième équipement maître de restaurer le schéma de configuration à la place du premier microprocesseur.
Plus précisément, selon un mode de réalisation, le premier microprocesseur est configuré en tant qu’équipement maître gestionnaire avant le passage en mode veille du système sur puce, et les moyens de restauration comprennent
-une première mémoire de sauvegarde destinée à sauvegarder le schéma de configuration à restaurer,
-une deuxième mémoire programme configurée pour stocker sur commande du premier microprocesseur, un programme de restauration exécutable par le deuxième équipement maître,
-un moyen de stockage sécurisé, par exemple un ou plusieurs registres matériels, configurés pour stocker une signature dudit programme de restauration ainsi que l’adresse de début du programme de restauration dans ladite deuxième mémoire programme,
-une source de réveil destinée à générer un signal de réveil au deuxième équipement maître lors de la sortie du système sur puce du mode veille, et
-une machine d’état configurée pour, en présence du signal de réveil, maintenir le premier microprocesseur en état de veille, vérifier ladite signature, et en cas de vérification réussie, conférer temporairement au deuxième équipement maître la qualité d’équipement maître gestionnaire et autoriser l’exécution du programme de restauration par le deuxième équipement maître, puis lorsque la restauration est terminée, retirer la qualité d’équipement maître gestionnaire au deuxième équipement maître et permettre la sortie de veille du premier microprocesseur et redonner au premier microprocesseur sa qualité d’équipement maître gestionnaire.
Selon encore un mode de réalisation, le système sur puce peut comprendre parmi les équipements maîtres un port d’accès de test destiné à être couplé à un outil de débogage externe, ce port d’accès de test étant affecté d’une information d’identification de test et toute ressource esclave est configurée pour accepter de recevoir une transaction comportant cette information d’identification de test, après vérification de ladite information de sécurité et de ladite information de privilège jointes à ladite transaction.
Le mode de réalisation prévoyant un outil de débogage externe peut être considéré de façon indépendante ou bien en combinaison avec l’un au moins des modes de réalisation précédents ou suivants.
Ainsi lorsque ce mode de réalisation est considéré de façon indépendante, il est proposé selon un autre aspect un système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves.
Selon cet autre aspect le système sur puce comprend parmi les équipements maîtres un port d’accès de test destiné à être couplé à un outil de débogage externe, ce port d’accès de test étant affecté d’une information d’identification de test et toute ressource esclave est configurée pour accepter de recevoir une transaction comportant cette information d’identification de test, après vérification d’une information de sécurité et d’une information de privilège jointes à ladite transaction.
Et, seul l’équipement maître gestionnaire est de préférence configuré pour affecter l’information d’identification de test uniquement au port d’accès de test.
Selon un autre aspect, il est proposé un procédé de gestion du fonctionnement d’un système sur puce, le système sur puce comprenant plusieurs équipement maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, le procédé comprenant
-une phase de configuration comportant
.une définition d’au moins un schéma de configuration par un ensemble d’informations de configuration incluant au moins une information d’identification affectée à chaque équipement maître, cet ensemble d’informations de configuration permettant de définir une assignation d’au moins un équipement maître à certaines au moins des ressources esclaves, et
.une implémentation au sein du système sur puce dudit au moins un schéma de configuration, et
-une phase de fonctionnement comportant une adjonction au moins de ces informations d’identification à toutes les transactions émises par les équipements maîtres correspondants, et un adressage des ressources esclaves sans utiliser l’ensemble de ces informations de configuration.
Selon un mode de mise en œuvre une ressource esclave appartient au groupe formé au moins par un périphérique, une fonctionnalité d’un périphérique, un moyen de mémoire interne au système sur puce, une interface mémoire interne au système sur puce et destinée à être couplée à un moyen de mémoire externe au système sur puce.
Selon un mode de mise en œuvre, au moins un équipement maître comprend un microprocesseur.
Selon un mode de mise en œuvre, les équipements maîtres comportant des microprocesseurs et des équipements maîtres contrôlables par ces microprocesseurs, on affecte à certains au moins des équipements maîtres contrôlables par un microprocesseur, les mêmes informations d’identification que l’information d’identification du microprocesseur.
Selon un mode de mise en œuvre, on affecte à au moins un équipement maître contrôlable par un microprocesseur, une information d’identification différente de l’information d’identification dudit microprocesseur.
Selon un mode de mise en œuvre, au moins un équipement maître contrôlable par un microprocesseur comporte un port de sortie capable d’émettre des transactions ainsi qu’un port d’entrée capable de recevoir des transactions, et ledit port d’entrée étant considéré comme une ressource esclave et le port de sortie comme un équipement maître.
Selon un mode de mise en œuvre, ladite phase de configuration comprend une implémentation au sein du système sur puce d’un schéma initial de configuration formant ledit schéma de configuration.
Selon un mode de mis en œuvre, ladite phase de configuration comprend une implémentation au sein du système sur puce d’un schéma initial de configuration ayant un ensemble initial d’informations de configuration, et le procédé comprend une modification de la valeur d’au moins une information de configuration de cet ensemble initial de façon à obtenir ledit ensemble d’informations de configuration définissant ledit schéma de configuration.
Selon un mode de mise en œuvre, la phase de configuration comprend une désignation parmi les équipements maîtres, d’un premier équipement maître dit gestionnaire, ce premier équipement maître gestionnaire effectuant, en réponse à un premier démarrage du système sur puce, une phase de démarrage àl’issue de laquelle ce premier équipement maître gestionnaire autorise l’implémentation dudit schéma initial de configuration.
Selon un mode de mise en œuvre, la désignation du premier équipement maître gestionnaire est fixée et résulte de la réalisation du système sur puce.
Selon un mode de mise en œuvre, la désignation du premier équipement maître gestionnaire est programmable.
Selon un mode de mise en œuvre, on rend temporairement inopérants tous les autres équipements maîtres tant que le premier équipement maître gestionnaire n’a pas terminé sa phase de démarrage.
Selon un mode de mise en œuvre, la phase de configuration comprend un stockage d’un programme de démarrage exécutable uniquement par le premier équipement maître gestionnaire lors dudit premier démarrage du système sur puce.
Selon un mode de mise en œuvre, la phase de configuration comprend une réception d’un programme utilisateur contenant au moins des instructions représentatives dudit schéma initial de configuration, un stockage du programme utilisateur, ledit premier équipement maître gestionnaire exécutant, à l’issue de sa phase de démarrage, ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
Selon un mode de mise en œuvre, la phase de configuration comporte une désignation parmi les équipements maîtres, d’un équipement maître dit équipement maître gestionnaire initial, effectuant, lors du premier démarrage du système sur puce, une phase de démarrage àl’issue de laquelle il autorise un démarrage d’un autre équipement maître désigné comme étant un nouvel équipement maître gestionnaire et formant ledit premier équipement maître gestionnaire permettant au moins, à l’issue de sa phase de démarrage, au moins l’implémentation dudit schéma initial de configuration.
Selon un mode de mise en œuvre, on rend temporairement inopérants tous les autres équipements maîtres tant que la phase de démarrage de l’équipement maître gestionnaire initial et celle du nouvel équipement maître gestionnaire ne sont pas terminées.
Selon un mode de mise en œuvre, la phase de configuration comprend un stockage d’un programme de démarrage exécutable uniquement par l’équipement maître gestionnaire initial lors dudit premier démarrage du système sur puce et un stockage du programme de démarrage du nouvel équipement maître gestionnaire.
Selon un mode de mise en œuvre, la phase de configuration comprend une réception d’un programme utilisateur contenant au moins des instructions représentatives dudit schéma initial de configuration, un stockage du programme utilisateur, ledit premier équipement maître gestionnaire exécutant, à l’issue de sa phase de démarrage, ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
Selon un mode de mise en œuvre, la phase de fonctionnement comprend une désignation par le premier équipement maître gestionnaire désigne, après qu’il a permis d’implémenter le schéma d’assignation initial, d’un deuxième équipement maître en tant que nouvel équipement maître gestionnaire, le premier équipement maître perdant alors sa qualité d’équipement maître gestionnaire.
Selon un mode de mise en œuvre, lors de la phase de fonctionnement tout nouvel équipement maître gestionnaire désigne à son tour un nouvel équipement maître gestionnaire et perd alors sa qualité d’équipement maître gestionnaire.
Selon un mode de mise en œuvre l’ensemble d’informations de configuration du schéma de configuration comprend en outre, pour au moins une ressource esclave, une information d’inaccessibilité indiquant si cette ressource esclave est ou non, inaccessible par tout équipement maître.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de filtrage indiquant si cette ressource esclave peut être accédée par n’importe quel équipement maître ou par seulement un ou plusieurs équipements maîtres.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
-une première information d’accès indiquant, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par un ou plusieurs équipements maîtres ayant la même information d’identification, et
-l’information d’identification correspondante
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
-une deuxième information d’accès indiquant, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par des équipements maîtres ayant des informations d’identification différentes, et
-la liste des informations d’identification des équipements maîtres correspondants.
Selon un mode de mise en œuvre l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour une au moins des ressources esclaves pouvant être accédée par les équipements maîtres de ladite liste, une troisième information indiquant que ladite une au moins des ressources esclaves ne peut être accédée que par un seul équipement maître à la fois, l’équipement maître désirant accéder à cette ressource esclave lors de la phase de fonctionnement utilisant un sémaphore.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de sécurité indiquant si cette ressource esclave est accessible par un équipement maître en mode sécurisé ou non.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de privilège indiquant si cette ressource esclave est accessible par un équipement maître en mode privilégié ou non.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification, une information de sécurité indiquant si cet équipement maître est configuré en mode sécurisé ou non.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification, une information de privilège indiquant si cet équipement maître est configuré en mode privilège ou non.
Selon un mode de mise en œuvre, le procédé comprend une configuration du premier équipement maître gestionnaire en mode sécurisé et en mode privilège à l’issue de sa phase de démarrage.
Selon un mode de mise en œuvre, l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour certaines au moins des ressources esclaves et certains au moins des équipements maîtres, une information de verrouillage indiquant si leurs informations de configuration peuvent ou non être modifiées.
Selon un mode de mise en œuvre, le procédé comprend une mise à jour des informations de configuration affectées à chaque ressource esclave et à chaque équipement maître, sous le contrôle du premier équipement maître gestionnaire.
Selon un mode de mise en œuvre, la phase de fonctionnement comprend une exécution d’un programme utilisateur pour modifier le schéma initial de configuration après son implémentation et implémenter en conséquence ledit schéma de configuration et éventuellement remodifier tout ancien schéma de configuration.
Selon un mode de mise en œuvre, seul l’équipement maître qui a la qualité d’équipement maître gestionnaire est autorisé à modifier un schéma de configuration.
Selon un mode de mise en œuvre,chaque transaction émise par un équipement maître comprend un champ d’adressage dont le contenu adresse la ressource esclave destinataire de cette transaction, et le contenu du champ d’adressage n’appartient pas audit ensemble d’informations de configuration.
Selon un mode de mise en œuvre,chaque transaction émise par un équipement maître comprend un champ d’adressage dont le contenu adresse la ressource esclave destinataire de cette transaction, et la phase de fonctionnement comprend l’adjonction à chaque transaction émise par un équipement maître, d’au moins l’information d’identification de cet équipement maître, ladite information d’identification n’appartenant pas au champ d’adressage de la transaction.
Selon un mode de mise en œuvre, la phase de fonctionnement comprend l’adjonction à chaque transaction émise par un équipement maître, de l’information de sécurité et/ou de l’information de privilège si ces deux informations ou l’une de ces deux informations ne figurent pas déjà dans la transaction émise par l’équipement maître.
Selon un mode de mise en œuvre, au moins une information de configuration est jointe à chaque transaction, et la phase de fonctionnement comprend une vérification si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, ladite vérification comportant l’utilisation de ladite au moins une information de configuration jointe à ladite transaction.
Selon un mode de mise en œuvre, ladite vérification comporte l’utilisation d’au moins ladite information d’identification jointe à ladite transaction.
Selon un mode de mise en œuvre, ladite vérification comprend l’utilisation d’au moins ladite information de sécurité et de ladite information de privilège jointes à ladite transaction.
Selon un mode de mise en œuvre, ladite vérification comprend l’utilisation de la ou les informations de configuration jointes à ladite transaction ainsi que des autres informations de configuration de l’ensemble d’informations de configuration affectées à cette ressource esclave.
Selon un mode de mise en œuvre, ladite vérification est effectuée en aval du circuit d’interconnexion.
Selon un mode de mise en œuvre, ladite vérification comprend des vérifications locales effectuées au niveau des ressources esclaves à partir des informations de configuration respectivement affectées à ces ressources esclaves.
Selon un mode de mise en œuvre, le procédé comprend en outre dans le cas où une transaction de lecture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, un renvoi à l’équipement maître d’une indication de refus d’accès et un renvoi à l’équipement maître gestionnaire, d’une notification d’accès illégal contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
Selon un mode de mise en œuvre, le procédé comprend en outre, dans le cas où une transaction d’écriture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, le fait d’ignorer cette transaction et un renvoi à l’équipement maître gestionnaire, d’une notification d’accès illégal contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
Selon un mode de mise en œuvre, le procédé comprend un stockage de l’information d’identification de l’équipement maître gestionnaire courant, et une vérification auxiliaire comportant une comparaison entre l’information d’identification de l’équipement maître gestionnaire courant et l’information d’identification d’un équipement maître désirant modifier au moins une information de configuration, et une interdiction de modification de ladite au moins une information de configuration à tout équipement maître ayant une information d’identification différente de celle de l’équipement maître gestionnaire.
Selon un mode de mise en œuvre, parmi les équipements maîtres au moins un équipement maître a un port esclave et un port maître, des informations de configuration étant affectées au port esclave et des informations de configuration étant affectées au port maître, et le procédé comprend en outre, sur commande, et en tenant compte de règles d’héritage, un remplacement de certaines au moins des informations de configuration affectées au port maître par les informations de configuration homologues affectées au port esclave ou bien une conservation des informations de configuration affectées au port maître.
Selon un mode de mise en œuvre,
-plusieurs microprocesseurs figurent parmi les équipements maîtres, et au moins une ressource esclave génère au moins un signal d’interruption destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave,
-plusieurs fils d’interruptions sont respectivement connectés aux microprocesseurs et à ladite au moins une ressource esclave et capables de véhiculer des signaux d’interruption,
-et le procédé comprend un routage du signal d’interruption émis par ladite ressource esclave uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné.
Selon un mode de mise en œuvre,
- un premier microprocesseur est configuré pour démarrer lors d’un premier démarrage du système sur puce de façon à permettre l’implémentation du schéma de configuration,
- en cas de sortie d’un mode veille du système sur puce, le procédé comprend une restauration du schéma de configuration par un deuxième équipement maître.
Selon un mode de mise en œuvre, le premier microprocesseur étant l’équipement maître gestionnaire avant le passage en mode veille, la restauration comprend
-une sauvegarde du schéma de configuration à restaurer,
-un stockage sur commande du premier microprocesseur, d’un programme de restauration exécutable par le deuxième équipement maître,
-un stockage sécurisé d’une signature dudit programme de restauration ainsi que de l’adresse de début du programme de restauration,
- une génération d’un signal de réveil au deuxième équipement maître lors de la sortie du système sur puce du mode veille, et
- en présence dudit signal de réveil, un maintien du premier microprocesseur en état de veille, une vérification de ladite signature, et en cas de vérification réussie, une allocation temporaire au deuxième équipement maître de la qualité d’équipement maître gestionnaire et une exécution du programme de restauration par le deuxième équipement maître, puis lorsque la restauration est terminée, un retrait de la qualité d’équipement maître gestionnaire au deuxième équipement maître, une sortie de veille du premier microprocesseur, et une allocation au premier microprocesseur sa qualité d’équipement maître gestionnaire.
Selon un mode de mise en œuvre, le procédé comprend une affectation à un port d’accès de test faisant partie des équipements maîtres et destiné à être couplé à un outil de débogage externe, d’une information d’identification de test, et toute ressource esclave accepte de recevoir une transaction comportant cette information d’identification de test, après vérification de ladite information de sécurité et de ladite information de privilège jointes à ladite transaction.
Selon un mode de mise en œuvre, seul l’équipement maître gestionnaire affecte l’information d’identification de test uniquement au port d’accès de test.
Selon un mode de mise en œuvre, le système sur puce forme un microcontrôleur ou un microprocesseur.
D’autres avantages et caractéristiques de la description apparaîtront à l’examen de la description détaillée de modes de mise en œuvre et de réalisation, nullement limitatifs, et des dessins annexés:
illustrent de façon schématique des modes de mise en œuvre et de réalisation de l’invention.
Sur la figure 1, la référence MCU désigne un système sur puce («System On Chip») formant ici un microcontrôleur, bien que cet exemple ne soit pas limitatif.
Le système sur puce MCU comprend ici plusieurs équipements maîtres CPU1, CPU2, LM3…LMj…LMk.
Dans cet exemple, les équipements maîtres CPU1 et CPU2 sont des microprocesseurs et les autres équipements maîtres peuvent être par exemple des équipements maîtres de type accès direct en mémoire (DMA: Direct Memory Access) ou bien par exemple des contrôleurs USB ou encore un équipement maître du type PCI express, sans que cette liste d’exemples ne soit exhaustive.
Le système sur puce MCU comporte également plusieurs ressources esclaves IMM1, IMTM2, PH3, PH4, PH5, PH60 et PH61.
D’une façon générale, une ressource esclave appartient au groupe formé au moins par un périphérique, une fonctionnalité d’un périphérique, un moyen de mémoire interne au système sur puce MCU, une interface mémoire interne au système sur puce et destinée à être couplée à un moyen de mémoire externe au système sur puce.
Ainsi, dans l’exemple illustré, la ressource esclave IMM1 est un moyen de mémoire au système sur puce.
Le terme «moyen de mémoire» s’entend ici d’une façon générale et incorpore par exemple une mémoire complète ou alors une ou plusieurs zones mémoire par exemple.
La ressource esclave IMTM2 est ici une interface mémoire interne destinée à être couplée à un moyen de mémoire externe EXMM, par exemple une mémoire DRAM.
Les ressources esclaves PH3, PH4 et PH5 sont des périphériques, par exemple un périphérique du type UART, un contrôleur I2C, un contrôleur SPI.
La référence PH6 désigne ici un dispositif d’horloge temps réel (RTC: Real time Clock) comportant par exemple le module PH60 destiné à délivrer le signal d’horloge et le module PH61 destiné par exemple à délivrer une alarme.
Dans ce cas, les modules PH60 et PH61 qui sont des fonctionnalités du dispositif d’horloge temps réel PH6 sont considérés comme des ressources esclaves.
La structure des équipements maîtres et des ressources esclaves est classique et connue en soi.
Le système sur puce MCU comporte par ailleurs un circuit d’interconnexion INTC capable de router des transactions entre des équipements maîtres et des ressources esclaves.
La structure d’un tel circuit d’interconnexion, qui est en général un circuit d’interconnexion multicouches, ainsi que le protocole permettant l’échange et le routage des transactions à l’intérieur du circuit d’interconnexion sont bien connus de l’homme du métier.
Celui-ci pourra par exemple se référer notamment:
-à l’article de Venkateswara Rao et autres intitulé «A Frame work on AMBA bus based Communication Architecture to improve the Real Time Computing Performance in MPSoC», International Journal of Computer Applications (0975-8887), Volume 91 - N° 5, Avril 2014,
ou
-à une présentation générale de ces circuits d’interconnexion effectuée en 2015 par A. Gerstlauer et disponible à l’adresse internet http://users.ece.utexas.edu/~gerstl/ee382v_f14/lectures/lecture_12.pdf.
Par ailleurs, à titre indicatif mais non limitatif, on peut utiliser par exemple le circuit d’interconnexion commercialisé par la société ARM sous la référence NIC-400 (version R0p3).
Le système sur puce comporte également, associé à chaque équipement maître et à chaque ressource esclave, un jeu de registres de configuration comportant plusieurs registres de configuration destinés à stocker respectivement des informations de configuration dont on reviendra plus en détail ci-après sur la signification.
La référence RGCM1 désigne le jeu de registres de configuration associé à l’équipement maître CPU1.
La référence RGCM2 désigne le jeu de registres de configuration associé à l’équipement maître CPU2.
La référence RGCM3 désigne le jeu de registres de configuration affecté à l’équipement maître LM3.
La référence RGCMj désigne le jeu de registres de configuration affecté à l’équipement maître LMj
Par ailleurs, le système sur puce comporte ici l’équipement maître LMk, par exemple un contrôleur USB contrôlable par un microprocesseur, par exemple le microprocesseur CPU1, et cet équipement maître LMk comporte un port de sortie PS capable d’émettre des transactions ainsi qu’un port d’entrée PE capable de recevoir des transactions.
Le port d’entrée PE est alors considéré comme une ressource esclave et le port de sortie PS est alors considéré comme un équipement maître.
Aussi, la référence RGCMk désigne le jeu de registres de configuration affecté à l’équipement maître PS.
La référence RGCS1 désigne le jeu de registres de configuration affecté à la ressource esclave IMM1.
La référence RGCS2 désigne le jeu de registres de configuration associé à la ressource esclave IMTM2.
La référence RGSC3 désigne le jeu de registres de configuration associé au périphérique PH3.
La référence RGCS4 désigne le jeu de registres de configuration affecté au périphérique PH4.
La référence RGCS5 désigne le jeu de registres de configuration affecté au périphérique PH5.
La référence RGCS60 désigne le jeu de registres de configuration affecté à la fonctionnalité PH60.
Et, la référence RGCS61 désigne le jeu de registres de configuration affecté à la fonctionnalité PH61.
Par ailleurs, il est prévu dans cet exemple, un registre RDS, dit registre de désignation, dont on reviendra plus en détail sur la fonctionnalité mais dont on peut d’ores et déjà indiquer qu’il sert à désigner un équipement maître ayant la qualité d’équipement maître gestionnaire.
Par ailleurs, le registre RGG, dit registre gestionnaire, dont on reviendra également ci-après plus en détail sur la fonctionnalité, sert à désigner l’équipement maître gestionnaire courant, qui, comme on le verra plus en détail ci-après, peut éventuellement être modifié au cours du fonctionnement du système sur puce MCU, c’est-à-dire ici lors de l’exécution d’un programme utilisateur.
Les différents jeux de registres de configuration sont représentés ici au sein d’un contrôleur RIFC.
Cela étant, ils pourraient être disposés à l’extérieur du contrôleur.
Le système sur puce MCU comporte également, associé à chaque équipement maître, une unité de gestion élémentaire RIMU1, RIMU2, RIMU3, RIMUj, RIMUk.
On reviendra plus en détail sur la structure et la fonctionnalité de ces unités de gestion élémentaire mais on peut d’ores et déjà dire qu’ils font partie de moyens d’adjonction destinés à ajouter à toute transaction émise par un équipement maître, une information d’identification CID et éventuellement une information de sécurité et/ou une information de privilège.
Le système sur puce comporte également, associé à chaque ressource esclave, un module de vérification élémentaire RISU1, RISU2, RISU3, RISU4, RISU5, RISU60 et RISU61 dont on reviendra également plus en détail ci-après sur la structure et la fonctionnalité.
On peut d’ores et déjà dire que ces modules de vérification élémentaire font partie des moyens de vérification destinés à vérifier si une transaction destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave.
Les différentes unités de gestion élémentaire RIMU et les différents modules de vérification élémentaire RISU sont respectivement connectés aux jeux de registres de configuration correspondants par des liaisons spécifiques, par exemple des pistes métalliques.
Alors que les modules de vérification élémentaires RISUi ont été représentés sur la figure 1 à l’extérieur des périphériques correspondants, il est tout à fait possible de prévoir un ou plusieurs périphériques ayant leur module de vérification élémentaire correspondant, intégré au périphérique lui-même.
Si l’on se réfère maintenant plus particulièrement à la figure 2, le système sur puce MCU comporte des moyens de traitement MT, répartis notamment au sein des différents éléments qui ont été décrits en référence à la figure 1, et configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce, au cours d’une phase de configuration PHCFG (étape 20), un schéma de configuration SCH qui est défini par l’ensemble des informations de configuration qui vont être stockées dans les différents jeux de registres de configuration.
Avant de revenir plus en détail sur la constitution de ces informations de configuration, on peut d’ores et déjà noter que l’utilisateur a la possibilité d’implémenter une configuration statique ou dynamique.
Plus précisément, comme illustré sur la figure 3, les moyens de traitement sont configurés pour permettre à un utilisateur du système sur puce d’implémenter (étape 20) un schéma initial de configuration SCHI qui va former le schéma de configuration SCH.
En d’autres termes, selon cette variante, une fois le schéma initial de configuration implémenté, celui-ci reste valable au cours de l’utilisation ou phase de fonctionnement du système sur puce.
En variante, comme illustré sur la figure 4, il est possible à un utilisateur, au cours de la phase de configuration PHCFG, de faire implémenter par les moyens de traitement MT (étape 200) un schéma initial de configuration ayant un ensemble initial d’informations de configuration puis de faire modifier (étape 201) le schéma initial de configuration par les moyens de traitement en modifiant la valeur d’au moins une information de configuration, par exemple, de cet ensemble initial de façon à obtenir l’ensemble d’information de configuration définissant un nouveau schéma de configuration SCH.
Les moyens de traitement comprennent des moyens d’installation qui comportent parmi les équipements maîtres un premier équipement maître dit gestionnaire.
Comme illustré sur la figure 5, ce premier équipement maître gestionnaire EMG est configuré pour, en réponse à un premier démarrage 50, ou démarrage à froid (cold boot) du système sur puce, effectuer une phase de démarrage à l’issue de laquelle ce premier équipement maître gestionnaire EMG est configuré pour au moins permettre l’implémentation 51 du schéma initial de configuration SCHI.
Comme illustré schématiquement sur la figure 6, la désignation du premier équipement maître gestionnaire EMG peut être fixée lors de la réalisation 60 du système sur puce MCU, par exemple par un codage en dur.
En variante, il est possible pour l’utilisateur d’utiliser le registre des désignations RDS programmable permettant de désigner le premier équipement maître gestionnaire EMG.
Plus précisément, comme illustré sur la figure 7, lors de la fourniture 70 du système sur puce MCU, l’utilisateur peut procéder à une programmation 71 du registre de désignation RDS, par exemple en programmant ou non des séries de mémoires du type OTP formant le registre de désignation RDS de façon à désigner l’équipement maître gestionnaire EMG, qui est par exemple dans cet exemple le microprocesseur CPU1.
De façon notamment à éviter des conflits, les moyens d’installation sont en outre configurés, comme illustré sur la figure 8, pour rendre temporairement inopérants (étape 81) tous les autres équipements maîtres LM2, LM3, LMj, LMk, CPU2 tant que le premier équipement maître gestionnaire EMG, ici le microprocesseur CPU1, n’a pas terminé sa phase de démarrage 80.
Lorsqu’un équipement maître est un microprocesseur, on peut le rendre inopérant en forçant par exemple le signal de réinitialisation (reset) à 0 ce qui le maintient en état de veille.
Lorsque les autres équipements maîtres sont des équipements contrôlés par un microprocesseur, ils sont bien entendu inopérants tant que le processeur lui-même est inopérant.
A titre d’exemple, comme illustré sur la figure 9, les moyens d’installation comportent outre l’équipement maître gestionnaire EMG, une mémoire de démarrage (boot ROM) BMM configurée pour stocker, dans une étape de stockage 91, un programme de démarrage BPR exécutable uniquement par le premier équipement maître gestionnaire CPU1 lors du premier démarrage ou du démarrage à froid du système sur puce (étapes 90 et 92).
Les moyens d’installation comportent par ailleurs une entrée INP (figure 1) configurée pour recevoir un programme utilisateur. Ce programme utilisateur peut être par exemple stocké sur une carte SD coopérant avec ladite entrée INP.
Ce programme utilisateur UPR (figure 9) est reçu de l’entrée INP dans l’étape 94 et stocké (étape 95) dans une mémoire programme PMM.
Ce programme utilisateur UPR contient au moins des instructions représentatives du schéma initial de configuration SCHI.
Les moyens de traitement comportent alors des moyens d’allocation permettant d’implémenter le schéma initial de configuration.
Dans cet exemple, les moyens d’allocation comportent le premier équipement maître gestionnaire (par exemple le microprocesseur CPU1) configuré pour, à l’issue de sa phase de démarrage, exécuter (étape 93) le programme utilisateur UPR afin d’implémenter le schéma initial de configuration.
Alors que l’on a décrit ici comme premier équipement maître gestionnaire EMG un microprocesseur, par exemple le microprocesseur CPU1, il est tout à fait possible en variante que le premier équipement maître gestionnaire comprenne un circuit logique matériel.
Alors que l’on vient de décrire un seul équipement maître gestionnaire lors de la phase de configuration PHCFG, il est possible, comme illustré schématiquement sur la figure 10, de modifier l’équipement maître gestionnaire lors de cette phase de configuration.
Plus précisément, les moyens d’installation comportent alors parmi les équipements maîtres, un équipement maître dit équipement maître gestionnaire initial, par exemple le microprocesseur CPU1, configuré pour lors du premier démarrage du système sur puce, effectuer une phase de démarrage à l’issue de laquelle il est configuré pour autoriser un démarrage d’un autre équipement maître désigné comme étant un nouvel équipement maître gestionnaire, par exemple le microprocesseur CPU2.
Ce nouvel équipement maître gestionnaire forme alors ledit premier équipement maître gestionnaire qui est configuré pour à l’issue de sa phase de démarrage, au moins permettre l’implémentation du schéma initial de configuration.
L’équipement maître gestionnaire initial peut comprendre un microprocesseur et le nouvel équipement maître gestionnaire peut comprendre un autre microprocesseur.
En variante, l’équipement maître gestionnaire initial peut comprendre un circuit logique matériel et le nouvel équipement maître gestionnaire peut comprendre un microprocesseur.
Et, là encore, les moyens d’installation sont configurés pour rendre temporairement inopérants tous les autres équipements maîtres tant que la phase de démarrage de l’équipement maître gestionnaire initial et celle du nouvel équipement maître gestionnaire ne sont pas terminées.
A titre d’exemple illustré sur la figure 10, les moyens d’installation comportent à cet égard une mémoire de démarrage BMM configurée pour stocker (étape 100) un programme de démarrage BPR1 exécutable uniquement par l’équipement maître gestionnaire initial CPU1 lors du premier démarrage ou démarrage à froid 101 du système sur puce MCU.
Les moyens d’installation comportent également une mémoire programme PMM configurée pour stocker le programme de démarrage BPR2 du nouvel équipement maître gestionnaire CPU2.
Il est alors prévu une réception via par exemple l’entrée INP, du programme de démarrage BPR2 et du programme utilisateur UPR, ces deux programmes étant stockés (étape 104) dans la mémoire programme PMM.
Lors du démarrage à froid 101, l’équipement maître gestionnaire initial CPU1 exécute son programme de démarrage BPR1 (étape 102) et autorise alors le démarrage du microprocesseur CPU2 qui est le nouvel équipement maître gestionnaire.
Celui-ci exécute dans l’étape 105 son programme de démarrage PBR2 puis le programme utilisateur UPR (étape 106) afin d’implémenter le schéma initial de configuration SCHI.
Bien entendu, comme indiqué ci-avant, dans l’étape 107, les autres équipements maîtres LM2, LM3, LMj et LMk sont inopérants.
Alors que l’on a vu précédemment qu’il était possible de changer d’équipement maître gestionnaire au cours de la phase de configuration, il est également possible, comme illustré sur la figure 11, de changer d’équipement maître gestionnaire au cours de la phase de fonctionnement PHF du système sur puce, c’est-à-dire lors de l’exécution du programme utilisateur après implémentation du schéma de configuration.
Plus précisément, sur la figure 11, le microprocesseur CPU1 est un premier équipement maître gestionnaire. Et, lors de l’exécution 110 du programme utilisateur UPR, les moyens de traitement MT modifient (étape 111) l’équipement maître gestionnaire EMG qui, dans ce cas, devient un nouvel équipement maître gestionnaire CPU2.
Il est bien entendu possible que ce nouvel équipement maître gestionnaire CPU2 puisse à son tour désigner (étape 112) un nouvel équipement maître gestionnaire et perdre alors sa qualité d’équipement maître gestionnaire. A titre d’exemple ce nouvel équipement maître gestionnaire peut être de nouveau le microprocesseur CPU1.
A cet égard, seul l’équipement maître gestionnaire peut désigner un nouvel équipement maître gestionnaire. Et par exemple ceci s’effectue par une écriture dans le registre gestionnaire RGG par l’actuel équipement maître gestionnaire, de l’information d’identification du nouvel équipement maître gestionnaire.
Dès cet instant, l’ancien équipement maître gestionnaire a alors perdu sa qualité d’équipement maître gestionnaire.
On se réfère maintenant plus particulièrement à la figure 12 pour illustrer un exemple d’ensemble d’informations de configuration définissant un schéma de configuration SCH.
L’ensemble d’informations de configuration comporte pour chaque équipement, une information d’indentification CID. Cette information d’indentification permet d’identifier l’équipement maître parmi la liste des équipements maîtres.
Cette information d’indentification CID peut être par exemple un mot numérique.
Le jeu d’informations de configuration d’un équipement maître peut également comporter une information de sécurité SEC, par exemple un bit, indiquant, selon la valeur logique du bit, si cet équipement maître est configuré en mode sécurisé ou non.
Le jeu d’informations de configuration pour un équipement maître peut également comporter une information de privilège PRV, par exemple un bit, indiquant selon la valeur logique du bit si cet équipement maître est configuré en mode privilégié ou non.
Cette information de privilège peut comporter plusieurs bits si plusieurs niveaux de modes privilégiés sont prévus.Enfin, il peut être prévu une information de verrouillage LKM, par exemple un ou plusieurs bits, qui, selon la valeur logique du ou des bits, indiquent si l’une au moins des informations de configuration, par exemple les informations de configuration SEC et PRV, ou encore l’information d’identification CID, peuvent ou non être modifiées.
Il est également possible de prévoir un ou plusieurs bits de verrouillage permettant de verrouiller le contenu du registre gestionnaire RGG désignant l’information d’identification de l’équipement maître gestionnaire.
Ces informations de configuration associées à l’équipement maître sont stockées (étape 120) dans le jeu de registre de configuration correspondant RGCMi.
En ce qui concerne une ressource esclave, l’ensemble d’informations de configuration qui lui est associé peut comprendre par exemple une information d’inaccessibilité INAC, par exemple un bit, destiné à indiquer, selon la valeur logique du bit, que cette ressource esclave est inaccessible par tout équipement maître.
Le schéma de configuration SCH comprend en outre pour une ressource esclave non inaccessible, une information de filtrage IFLT, par exemple un bit, destinée à indiquer, en se basant uniquement sur les informations d’identification CID des équipements maîtres, si cette ressource esclave peut être accédée par n’importe quel équipement maître ou par seulement un ou plusieurs équipements maîtres.
Ainsi, par exemple, si l’information de filtrage a la valeur logique «0», cela signifie qu’il n’y a pas de filtrage appliqué sur les informations d’identification et que par conséquent, une ressource esclave peut être accédée par tout équipement maître, sous réserve d’autres restrictions d’accès éventuelles que l’on verra plus en détail ci-après.
En fait, ces ensembles d’informations de configuration permettent d’assigner à une ressource esclave, au moins un équipement maître.
Il convient de noter que plusieurs équipements maîtres peuvent avoir la même information d’identification CID.
C’est le cas par exemple lorsque ces équipements maîtres comportent un microprocesseur et un ou plusieurs équipements maîtres contrôlables par ce microprocesseur. On forme alors dans ce cas un compartiment désigné par l’information d’identification CID.
Tous les équipements maîtres de ce compartiment peuvent alors avoir par exemple accès aux mêmes ressources mémoire.
Il est également possible qu’un équipement maître contrôlé par un microprocesseur, n’ait, pour des raisons de sécurité, pas la même information d’identification que le microprocesseur. C’est par exemple le cas pour un équipement du type PCI-E. Dans ce cas, ceci permet de limiter l’accès à certaines ressources mémoire de cet équipement maître du type PCI-E.
L’ensemble d’informations de configuration définissant le schéma de configuration peut comprendre en outre pour la ressource esclave non accessible, une première information d’accès IAC1 destinée à indiquer, dans le cas où l’information de filtrage IFLT (IFLT=1 par exemple) indique que la ressource esclave considérée peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par un ou plusieurs équipements maîtres ayant la même information d’identification CID.
Dans ce cas bien entendu, l’ensemble d’informations de configuration comporte cette information d’identification correspondante CID.
Comme indiqué ci-avant, cette information d’identification CID peut se rapporter à un seul équipement maître ou alors à plusieurs équipements maîtres d’un même compartiment.
L’ensemble d’informations de configuration définissant le schéma de configuration SHC peut comprendre en outre pour cette ressource esclave non accessible, une deuxième information d’accès IAC2 destinée à indiquer, dans le cas où l’information de filtrage IFLT (IFLT=1) indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par des équipements maîtres ayant des informations d’identification CID différentes. Et, dans ce cas, l’ensemble d’informations de configuration de cette ressource esclave comporte la liste CID1….CID4, par exemple, des informations d’identification des équipements maîtres correspondants.
Une telle ressource esclave qui peut être accédée par plusieurs équipements maîtres séquentiellement ou simultanément, peut être par exemple un moyen de mémoire.
Par contre, il est possible pour cette ressource esclave pouvant être accédée par les équipements maîtres de ladite liste, que l’ensemble d’informations de configuration comprenne une troisième information IAC3 destinée à indiquer que cette ressource esclave ne peut être accédée que par un seul équipement maître à la fois, l’équipement maître désirant accéder à cette ressource esclave étant configuré pour utiliser un sémaphore SMP.
C’est le cas par exemple lorsqu’une ressource esclave peut être accédée par deux microprocesseurs. Seul le microprocesseur qui prend le sémaphore peut accéder à cette ressource esclave et tant que le microprocesseur n’a pas relâché le sémaphore, l’autre microprocesseur ne peut pas y accéder. Il ne pourra y accéder que lorsqu’il aura pris à son tour le sémaphore SMP.
L’ensemble d’informations de configuration définissant le schéma de configuration SCH pour cette ressource esclave peut comprendre également une information de sécurité ISEC, par exemple un bit, destiné à indiquer si cette ressource esclave est accessible par un équipement maître sécurisé ou non.
De même, l’ensemble d’informations de configuration peut comporter pour cette ressource esclave une information de privilège, par exemple un bit, IPRV, destiné à indiquer si cette ressource esclave est accessible par un équipement maître en mode privilégié ou non.
Et, là encore, il est possible également d’utiliser une information de verrouillage LKS destinée à indiquer si les informations de configuration de cette ressource esclave peuvent ou non être modifiées.
Toutes ces informations de configuration affectées à une ressource esclave sont stockées (étape 121) dans le jeu de registres de configuration correspondant RGCSi.
Il convient de noter ici que le premier équipement maître gestionnaire, par exemple le microprocesseur CPU1, est configuré pour être en mode sécurisé et en mode privilège à l’issue de sa phase de démarrage.
Comme indiqué ci-avant, les moyens d’allocation permettant d’implémenter le schéma de configuration, en particulier le schéma initial de configuration, comportent les jeux de registres de configuration affectés à chaque ressource esclave et à chaque équipement maître ainsi que le contrôleur de configuration RIFC configuré pour mettre à jour les contenus des jeux de registres de configuration avec l’ensemble d’informations de configuration sous le contrôle du premier équipement maître gestionnaire.
Ceci est illustré schématiquement sur la figure 13.
Plus précisément, l’équipement maître gestionnaire CPU1 commande (étape 130) une mise à jour du schéma de configuration SCH qui est effectuée par le contrôleur de configuration RIFC qui met à jour les contenus des jeux de registres RGCMi et RGCSi (étape 131).
Et, seul l’équipement maître qui a la qualité d’équipement maître gestionnaire est configuré pour modifier un schéma de configuration.
On se réfère maintenant plus particulièrement à la figure 14 pour décrire un exemple de contenu d’une transaction TR.
D’une façon générale, ici, chaque transaction TR émise par un équipement maître comprend un champ d’adressage ADR dont le contenu est destiné à adresser la ressource esclave destinataire de cette transaction.
Mais le contenu du champ d’adressage ADR n’appartient pas audit ensemble d’informations de configuration.
En d’autres termes, le contenu du champ d’adressage n’est pas utilisé seul ou en combinaison, pour définir les assignations des équipements maîtres auxdites ressources esclaves.
Plus précisément, comme illustré sur la figure 14, chaque transaction TR comporte l’information d’identification CID de l’équipement maître émetteur de cette transaction, l’information de sécurité SEC, une indication EXE destinée à indiquer si cette transaction contient ou non une instruction d’exécution, l’information de privilège PRV, une information RW indiquant s’il s’agit d’une transaction en lecture ou en écriture, le champ d’adressage ADR et un champ de données DATA.
Les moyens de traitement du système sur puce comportent des moyens d’adjonction configurés pour ajouter à chaque transaction émise par un équipement maître au moins l’information d’identification de cet équipement maître CID, cette information d’identification n’appartenant pas au champ d’adressage ADR de la transaction.
Les moyens d’adjonction sont en outre configurés pour ajouter à chaque transaction émise par un équipement maître l’information de sécurité SEC et/ou l’information de privilège si ces deux informations ne figurent pas déjà dans la transaction émise par l’équipement maître.
Comme illustré sur la figure 15, ces moyens d’adjonction comportent pour chaque équipement maître EMi, l’unité de gestion élémentaire associée RIMUi qui est reliée au jeu de registres de configuration correspondant RGCMi par la liaison spécifique LDMi.
Ainsi, l’unité de gestion élémentaire RIMUi complète la transaction initiale TRI émise par l’équipement maître EMi en lui adjoignant (étape 150) l’information d’identification CID et éventuellement les informations SEC et PRV, la transaction complète TR étant ensuite délivrée sur le bus lié au circuit d’interconnexion INTC.
Matériellement, cette unité de gestion élémentaire RIMUi peut comprendre un circuit logique.
Les moyens de traitement MT peuvent également comporter des moyens de vérification configurés pour vérifier si une transaction TR émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave en utilisant au moins l’information de configuration jointe à ladite transaction, et en général certaines au moins des autres informations de configuration de l’ensemble d’informations de configuration affectées à cette ressource esclave.
Plus précisément, comme illustré sur la figure 16, les moyens de vérification sont configurés pour effectuer ladite vérification en aval du circuit d’interconnexion INTC et ces moyens de vérification comportent pour chaque ressource esclave le module de vérification élémentaire RISUi qui est configuré pour accéder à l’ensemble d’informations de configuration affecté à cette ressource esclave et stocké dans le jeu de registres de configuration correspondant RGCSi, par l’intermédiaire de la liaison spécifique LDSi.
La vérification d’autorisation d’accès est effectuée dans l’étape 160.
Cette vérification permet de définir si dans l’étape 161 l’accès de la transaction TR destiné à la ressource esclave RSSi est autorisé ou non.
C’est par exemple le cas si l’indication de filtrage IFLT est activée et que la ressource esclave ne peut être accédée que par un ou plusieurs équipements maîtres ayant la même information d’identification, et que l’information d’identification contenue dans la transaction TR ne correspond pas à l’information d’identification stockée dans le jeu de registres RGCSi.
Les moyens de vérification déterminent alors si la transaction refusée est une transaction de lecture (étape 163).
Si tel est le cas, l’unité de gestion élémentaire RISUi renvoie à l’équipement maître EMi émetteur de la transaction refusée (étape 164) une indication de refus d’accès IR, par exemple un 0.
En parallèle, le module de vérification élémentaire RISUi renvoie (étape 165) à l’équipement maître gestionnaire EMG une notification d’accès illégal NIAC contenant un identifiant IDRSSi de la ressource esclave RSSi, l’information d’identification CIDi de l’équipement maître EMI à l’origine de cette transaction refusée, ainsi que le type de transaction (ici le type lecture).
Si la transaction refusée est une transaction d’écriture, alors cette transaction est purement et simplement ignorée (étape 167) mais le module de vérification élémentaire RISUi renvoie tout de même à l’équipement maître gestionnaire EMG la notification d’accès illégal contenant là encore l’identifiant IDRSSi, l’information d’identification CIDi de l’équipement maître EMI à l’origine de la transaction refusée et le type de la transaction refusée, ici le type écriture.
Structurellement, un module de vérification élémentaire RISU peut comporter un circuit logique.
On a vu précédemment que seul l’équipement maître gestionnaire peut envoyer une transaction au contrôleur de configuration pour par exemple mettre à jour des registres de configuration.
Il convient donc à cet égard de vérifier qu’une transaction arrivant au contrôleur de configuration est bien émise par l’équipement maître gestionnaire.
C’est le rôle d’un module de vérification auxiliaire RISUC affecté au contrôleur de configuration RIFC (figure 17).
A cet égard, lorsqu’une transaction TRC, contenant notamment l’information d’identification CID de l’équipement maître à l’origine de cette transaction TRC, est délivrée (étape 170) au module de vérification auxiliaire RISUC, celui-ci, connecté au registre gestionnaire RGG contenant l’information d’identification CID de l’équipement gestionnaire courant, par exemple le microprocesseur CPU1, vérifie que l’information d’identification CID contenue dans la transaction TRC correspond bien à l’information d’identification CID1 (étape 171).
Si tel n’est pas le cas, l’accès au contrôleur RIFC est refusé (étape 173).
Par contre, s’il y a concordance entre les deux informations d’identification, alors la transaction TRC est bien délivrée au contrôleur de configuration RIFC (étape 172).
On a vu précédemment que parmi les équipements maîtres, il est possible qu’il en existe au moins un équipement maître ayant un port esclave et un port maître.
C’est le cas par exemple pour l’équipement maître LMk (figure 18) ayant un port d’entrée PE (port esclave) et un port de sortie PS (port maître).
Un tel équipement maître peut être par exemple un contrôleur USB qui est contrôlable par un microprocesseur mais qui peut être également contrôlable au cours de l’exécution du programme utilisateur, par un autre microprocesseur.
Le port esclave PE est associé à un module de vérification élémentaire RISUk connecté au jeu de registres de configuration correspondant RGCSk et le port maître PS est associé à une unité de gestion élémentaire RIMUk connectée au jeu de registres de configuration correspondant RGCMk mais également au jeu de registres de configuration RGCSk.
On suppose dans un premier temps que cet équipement maître LMk est contrôlé par le microprocesseur CPU1.
Dans ce cas, le jeu de registres de configuration RGCSk auquel est relié le module de vérification élémentaire RISUk contient l’information d’identification CID1 du microprocesseur 1 ainsi que les informations de privilège et de sécurité correspondant à celles du microprocesseur CPU1.
Le jeu de registres RGCMk comporte également l’information d’identification CID1 du microprocesseur CPU1 ainsi que les informations de sécurité et de privilège correspondantes.
Les moyens de traitement comportent alors des moyens d’héritage MINH (figure 18) configurés pour, sur commande et en tenant compte de règles d’héritage, remplacer certaines au moins des informations de configuration affectées au port maître par des informations de configuration homologues affectées au port esclave ou bien conserver des informations de configuration affectées au port maître.
Plus précisément, ces moyens d’héritage MINH comportent un jeu de commutateurs commandables SW, réalisés par exemple sous forme matérielle, connecté au jeu de registres RGMk et au jeu de registres RGCSk, sélectivement.
Les moyens d’héritage MINH comportent également des moyens de commande MCM, par exemple réalisés sous forme logicielle au sein du microprocesseur CPU1, et capables d’émettre un signal de commande CSP destiné à commander le jeu d’interrupteur SW en tenant compte des règles d’héritage.
Tant que l’équipement maître LMk est contrôlé par le microprocesseur CPU1, les moyens de commande MCM placent l’interrupteur SW dans la position A de façon à adjoindre à la transaction émise par le port maître PS, l’information d’identification CID1 ainsi que les informations correspondantes de privilège et de sécurité.
Par contre, si à un instant donné il y a une modification du schéma de configuration de sorte que c’est par exemple le microprocesseur CPU2 qui doit prendre le contrôle de l’équipement maître LMk, alors, il y a
-d’une part une mise à jour du jeu de registres de configuration RGCSk avec la nouvelle information d’identification CID2 du microprocesseur CPU2 et avec les informations de privilège et de sécurité correspondantes et,
-d’autre part, un basculement du commutateur SW sur la position B de façon que, automatiquement, l’information d’identification CID2 du microprocesseur CPU2 et les informations de sécurité et de privilège correspondantes soient jointes à la transaction émise par le port maître PS sur le circuit d’interconnexion INTC.
En d’autres termes, sans qu’il soit nécessaire d’effectuer une reprogrammation complète du système sur puce, il y a un héritage automatique par une simple commutation, des nouvelles informations affectées au port esclave vers le port maître.
Il est également possible que figurent parmi les équipements maîtres, non seulement plusieurs microprocesseurs, par exemple les microprocesseurs CPU1 et CPU2, mais également parmi les ressources esclaves, au moins une ressource esclave, par exemple le périphérique PH5, configurée pour générer au moins un signal d’interruption destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave.
Ceci est illustré schématiquement sur la figure 19.
A cet égard, plusieurs fils d’interruption FRQ1, FRQ2 sont respectivement connectés aux microprocesseurs CPU1 et CPU2 et à ladite au moins une ressource esclave PH5.
Ces fils d’interruption sont capables de véhiculer les signaux d’interruption IRQ.
Les moyens de traitement comprennent alors des moyens de filtrage d’interruption MFIRQ configurés pour router le signal d’interruption IRQ émis par ladite ressource esclave PH5 uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné, par exemple ici uniquement sur le fil d’interruption FRQ1 connecté au microprocesseur CPU1 qui est assigné au périphérique PH5.
Comme illustré sur la figure 19, ces moyens de filtrage MFIRQ sont incorporés au moins en partie dans le module de vérification élémentaire RISU5 affecté à la ressource esclave PH5.
Plus précisément, dans le module de vérification élémentaire RISU5 sont prévus plusieurs interrupteurs commandables SW1, SW2 connectés entre la sortie de la ressource esclave configurée pour délivrer le signal d’interruption IRQ, et respectivement les fils d’interruption FRQ1 et FRQ2 connectés aux microprocesseurs CPU1 et CPU2.
Les moyens de filtrage d’interruption comportent également des moyens de commande MCM1, incorporés ou non dans le module de vérification élémentaire RISU5, et configurés pour fermer l’interrupteur, (ici l’interrupteur SW1) connecté entre ladite sortie SS5 et le fil d’interruption FRQ1 connecté au microprocesseur CPU1 assigné à ladite ressource esclave, et pour ouvrir l’autre interrupteur SW2.
Ainsi, il ne sera pas possible d’espionner l’activité du microprocesseur CPU1 au moyen des signaux d’interruption.
Il est également possible, selon un mode de réalisation, que les équipements maîtres comprennent un premier microprocesseur, par exemple le microprocesseur CPU1, configuré pour démarrer lors du premier démarrage ou démarrage à froid du système sur puce (étapes 2000 et 2010, figure 20) de façon à permettre l’implémentation 2020 du schéma de configuration SCH, et un deuxième microprocesseur CPU2.
A un moment donné, le système sur puce MCU peut passer dans un état de veille (étape 2030).
Il est alors prévu des moyens de restauration MRST configurés pour, en cas de sortie de l’état de veille du système sur puce (étape 2040) permettre au deuxième processeur CPU2 de restaurer (étape 2050) le schéma de configuration à la place du premier microprocesseur CPU1.
Ceci est particulièrement avantageux lorsque le deuxième microprocesseur est par exemple plus rapide et/ou présente une consommation moindre que celle du premier microprocesseur CPU1.
A cet égard, les moyens de restauration MRST comprennent (figure 21) une première mémoire de sauvegarde MM1 destinée à sauvegarder le schéma de configuration SCH à restaurer, ainsi qu’une deuxième mémoire programme MM2 configurée pour stocker sur commande du premier microprocesseur (qui est configuré en temps qu’équipement maître gestionnaire avant le passage en mode veille du système sur puce MCU), un programme de restauration PRGR exécutable par le deuxième microprocesseur CPU2.
Les moyens de restauration MRST comportent également un moyen de stockage sécurisé RGSS, par exemple un système de registre matériel protégé, configuré pour stocker une signature du programme de restauration, ainsi que l’adresse de début du programme de restauration dans la deuxième mémoire programme MM2.
Les moyens de restauration MRST comportent également une source de réveil POR, de structure classique, destinée à générer un signal de réveil SRV du deuxième microprocesseur CPU2 lors de la sortie du système sur puce du mode veille.
Les moyens de restauration MRST comportent par ailleurs une machine d’état STM.
Comme illustré sur la figure 22, cette machine d’état STM est configurée pour, en présence du signal de réveil SRV,
-maintenir le premier microprocesseur CPU1 en veille (étape 2200) par exemple en forçant le signal de réinitialisation (reset) à 0,
-vérifier la signature SGN (étape 2210) puis,
-en cas de vérification réussie (étape 2220), conférer temporairement au deuxième microprocesseur CPU2 (étape 2230) la qualité d’équipement maître gestionnaire (en stockant dans le registre gestionnaire RGG l’information d’identification CID2 de ce deuxième microprocesseur) et autoriser l’exécution (étape 2240) du programme de restauration PRGR par le deuxième microprocesseur CPU2.
Puis, lorsque la restauration du schéma de configuration SCH est terminée, la machine d’état est configurée pour
-retirer la qualité d’équipement maître gestionnaire au deuxième microprocesseur CPU2 (étape 2250),
-permettre la sortie de veille du premier microprocesseur CPU1 (étape 2260) en relâchant par exemple le signal de réinitialisation et en redonnant au premier microprocesseur CPU1 sa qualité d’équipement maître gestionnaire (étape 2270) en inscrivant dans le registre gestionnaire l’information d’identification CID1 de ce premier microprocesseur CPU1.
Selon encore un autre mode de réalisation, il est possible que le système sur puce comprenne, comme illustré sur la figure 23, parmi les équipements maîtres, un port d’accès de test DAP, conforme par exemple, à la norme JTAG, destiné à être couplé à un outil de débogage externe DBT.
Ce port d’accès de test DAP est affecté d’une information d’identification de test Debug_CID stockée dans un registre de test RGCDAP connecté à l’unité de gestion élémentaire RIMUDAP affectée à ce port d’accès de test.
Et, comme illustré sur la figure 24, seul l’équipement maître gestionnaire EMG est configuré pour affecter l’information d’identification de test Debug_CID uniquement au port d’accès de test DAP. En effet, toute ressource esclave RSS est configurée pour accepter de recevoir une transaction TR comportant cette information d’identification de test Debug_CID, après vérification de ladite information de sécurité (SEC) et ladite information de privilège (PRV) jointes à ladite transaction.
En effet, les accès émanant du port d’accès de test respectent les notions de privilège et de sécurité
Ainsi même si une telle transaction est destinée à être délivrée à une ressource esclave quelle que soit son information d’identification CID, les informations de sécurité et de privilège jointes à cette transaction doivent avantageusement correspondre à celles affectées à cette ressource esclave.

Claims (119)

  1. Système sur puce, comprenant plusieurs équipements maîtres, plusieurs ressources esclaves, un circuit d’interconnexion (INTC) couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, et des moyens de traitement (MT) au moins configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce (MCU) au moins un schéma de configuration (SCH) de ce système défini par un ensemble d’informations de configuration comportant au moins une information d’identification (CID) affectée à chaque équipement maître, ces informations d’identification étant destinées à être jointes à toutes les transactions (TR) émises par les équipements maîtres correspondants, l’ensemble de ces informations de configuration n’étant pas utilisé pour l’adressage des ressources esclaves destinataires desdites transactions et étant utilisé pour définir une assignation d’au moins un équipement maître à certaines au moins des ressources esclaves.
  2. Système sur puce selon la revendication 1, dans lequel une ressource esclave appartient au groupe formé au moins par un périphérique (PH3), une fonctionnalité (PH60) d’un périphérique (PH6), un moyen de mémoire (IMM1) interne au système sur puce, une interface mémoire (INTM2) interne au système sur puce et destinée à être couplée à un moyen de mémoire (EXMM)externe au système sur puce.
  3. Système sur puce selon l’une des revendications précédentes, dans lequel au moins un équipement maître (CPU1) comprend un microprocesseur.
  4. Système sur puce selon la revendication 3, dans lequel les équipements maîtres comportent des microprocesseurs (CPU1, CPU2) et des équipements maîtres contrôlables par ces microprocesseurs, et certains au moins des équipements maîtres contrôlables par un microprocesseur sont affectés des mêmes informations d’identification (CID) que l’information d’identification (CID) du microprocesseur.
  5. Système sur puce selon la revendication 4, dans lequel au moins un équipement maître contrôlable par un microprocesseur (CPU1) est affecté d’une information d’identification différente de l’information d’identification (CID) dudit microprocesseur.
  6. Système sur puce selon la revendication 4 ou 5 prise en combinaison avec la revendication 2, dans lequel au moins un équipement maître (LMk) contrôlable par un microprocesseur comporte un port de sortie (PS) capable d’émettre des transactions ainsi qu’un port d’entrée (PE) capable de recevoir des transactions, ledit port d’entrée étant considéré comme une ressource esclave et le port de sortie comme un équipement maître.
  7. Système sur puce selon l’une des revendications précédentes, dans lequel les moyens de traitement (MT) sont configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce un schéma initial de configuration (SCHI) formant ledit schéma de configuration (SCH).
  8. Système sur puce selon l’une des revendications 1 à 6, dans lequel les moyens de traitement (MT) sont configurés pour permettre à un utilisateur du système sur puce d’implémenter au sein du système sur puce un schéma initial de configuration (SCHI) ayant un ensemble initial d’informations de configuration et pour modifier la valeur d’au moins une information de configuration de cet ensemble initial de façon à obtenir ledit ensemble d’informations de configuration définissant ledit schéma de configuration (SCH).
  9. Système sur puce, selon la revendication 7 ou 8, dans lequel les moyens de traitement (MT) comportent des moyens de configuration configurés pour permettre à un utilisateur du système sur puce de définir ledit schéma initial de configuration et des moyens d’allocation configurés pour implémenter le schéma initial de configuration.
  10. Système sur puce selon l’une des revendications précédentes prise en combinaison avec la revendication 7 ou 8, dans lequel les moyens de traitement (MT) comprennent des moyens d’installation comportant parmi les équipements maîtres, un premier équipement maître dit gestionnaire (EMG), ce premier équipement maître gestionnaire étant configuré pour, en réponse à un premier démarrage du système sur puce, effectuer une phase de démarrage àl’issue de laquelle ce premier équipement maître gestionnaire est configuré pour au moins permettre l’implémentation dudit schéma initial de configuration.
  11. Système sur puce selon la revendication 10, dans lequel la désignation du premier équipement maître gestionnaire (EMG) est fixée lors de la réalisation du système sur puce.
  12. Système sur puce selon la revendication 10, dans lequel les moyens d’installation comportent un registre de désignation programmable (RDS) permettant de désigner le premier équipement maître gestionnaire.
  13. Système sur puce selon l’une des revendications 10 à 12, dans lequel les moyens d’installation sont en outre configurés pour rendre temporairement inopérants tous les autres équipements maîtres tant que le premier équipement maître gestionnaire (EMG) n’a pas terminé sa phase de démarrage.
  14. Système sur puce selon l’une des revendications 10 à 13, dans lequel les moyens d’installation comportent en outre une mémoire de démarrage (BMM) configurée pour stocker un programme de démarrage (BPR) exécutable uniquement par le premier équipement maître gestionnaire (EMG) lors dudit premier démarrage du système sur puce.
  15. Système sur puce selon les revendications 9 et 14, dans lequel les moyens de configuration comportent une entrée (INP) configurée pour recevoir un programme utilisateur (UPR) contenant au moins des instructions représentatives dudit schéma initial de configuration et une mémoire programme destinée à stocker le programme utilisateur, et les moyens d’allocation comportent ledit premier équipement maître gestionnaire configuré pour, à l’issue de sa phase de démarrage, exécuter ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration
  16. Système sur puce selon l’une des revendications 10 à 15, dans lequel le premier équipement maître gestionnaire (EMG) comprend un microprocesseur.
  17. Système sur puce selon l’une des revendications 10 à 15, dans lequel le premier équipement maître gestionnaire (EMG) comprend un circuit logique matériel.
  18. Système sur puce selon la revendication 10, dans lequel les moyens d’installation comportent parmi les équipements maîtres, un équipement maître dit équipement maître gestionnaire initial (CPU1), configuré pour, lors du premier démarrage du système sur puce, effectuer une phase de démarrage àl’issue de laquelle il est configuré pour autoriser un démarrage d’un autre équipement maître (CPU2) désigné comme étant un nouvel équipement maître gestionnaire et formant ledit premier équipement maître gestionnaire configuré pour, à l’issue de sa phase de démarrage, au moins permettre l’implémentation dudit schéma initial de configuration.
  19. Système sur puce selon la revendication 18, dans lequel l’équipement maître gestionnaire initial comprend un microprocesseur (CPU1) et le nouvel équipement maître gestionnaire comprend un autre microprocesseur (CPU2).
  20. Système sur puce selon la revendication 18, dans lequel l’équipement maître gestionnaire initial comprend un circuit logique matériel et le nouvel équipement maître gestionnaire comprend un microprocesseur (CPU2).
  21. Système sur puce selon l’une des revendications 18 à 20, dans lequel les moyens d’installation sont en outre configurés pour rendre temporairement inopérants tous les autres équipements maîtres tant que la phase de démarrage de l’équipement maître gestionnaire initial (CPU1) et celle du nouvel équipement maître gestionnaire (CPU2) ne sont pas terminées.
  22. Système sur puce selon l’une des revendications 18 à 21, dans lequel les moyens d’installation comportent en outre une mémoire de démarrage (BMM) configurée pour stocker un programme de démarrage exécutable uniquement par l’équipement maître gestionnaire initial (CPU1) lors dudit premier démarrage et une mémoire programme (PMM) configurée pour stocker le programme de démarrage (BPR2) du nouvel équipement maître gestionnaire.
  23. Système sur puce selon les revendications 9 et 22, dans lequel les moyens de configuration comportent une entrée (INP) configurée pour recevoir un programme utilisateur contenant au moins des instructions représentatives dudit schéma initial de configuration, ladite mémoire programme étant également destinée à stocker le programme utilisateur, et les moyens d’allocation comportent ledit premier équipement maître gestionnaire configuré pour, à l’issue de sa phase de démarrage, exécuter ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
  24. Système selon l’une des revendications 10 à 23, dans lequel le premier équipement maître gestionnaire (CPU1) est en outre configuré pour, après avoir permis d’implémenter le schéma d’assignation initial, désigner, au cours de l’exécution d’un programme utilisateur par les moyens de traitement, un deuxième équipement maître (CPU2) en tant que nouvel équipement maître gestionnaire, le premier équipement maître étant alors configuré pour perdre sa qualité d’équipement maître gestionnaire.
  25. Système selon la revendication 24, dans lequel tout nouvel équipement maître gestionnaire (CPU2) est configuré pour à son tour désigner un nouvel équipement maître gestionnaire (CPU1) et perdre alors sa qualité d’équipement maître gestionnaire.
  26. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration du schéma de configuration comprend en outre, pour au moins une ressource esclave, une information d’inaccessibilité (INAC) destinée à indiquer que cette ressource esclave est inaccessible par tout équipement maître.
  27. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de filtrage (IFLT) destinée à indiquer si cette ressource esclave peut être accédée par n’importe quel équipement maître ou par seulement un ou plusieurs équipements maîtres.
  28. Système sur puce selon la revendication 27, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
    -une première information d’accès (IAC1) destinée à indiquer, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par un ou plusieurs équipements maîtres ayant la même information d’identification, et
    -l’information d’identification correspondante (CID).
  29. Système sur puce selon la revendication 27, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
    -une deuxième information d’accès (IAC2) destinée à indiquer, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par des équipements maîtres ayant des informations d’identification différentes, et
    -la liste (CID1…CID4) des informations d’identification des équipements maîtres correspondants.
  30. Système sur puce selon la revendication 29, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour une au moins des ressources esclaves pouvant être accédée par les équipements maîtres de ladite liste, une troisième information (IAC3) destinée à indiquer de ladite une au moins des ressources esclaves ne peut être accédée que par un seul équipement maître à la fois, l’équipement maître désirant accéder à cette ressource esclave étant configuré pour utiliser un sémaphore.
  31. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de sécurité (ISEC) destinée à indiquer si cette ressource esclave est accessible par un équipement maître en mode sécurisé ou non.
  32. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de privilège (IPRV) destinée à indiquer si cette ressource esclave est accessible par un équipement maître en mode privilégié ou non.
  33. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification (CID), une information de sécurité (SEC) destinée à indiquer si cet équipement maître est configuré en mode sécurisé ou non.
  34. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification, une information de privilège (PRV) destinée à indiquer si cet équipement maître est configuré en mode privilège ou non.
  35. Système sur puce selon les revendications 10, 33 et 34, dans lequel le premier équipement maître gestionnaire (EMG) est configuré pour être en mode sécurisé et en mode privilège à l’issue de sa phase de démarrage.
  36. Système sur puce selon l’une des revendications précédentes, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour certaines au moins des ressources esclaves et certains au moins des équipements maîtres, une information de verrouillage (LKM, LKS) destinée à indiquer si leurs informations de configuration peuvent ou non être modifiées.
  37. Système sur puce selon l’une des revendications précédentes prise en combinaison avec les revendications 9 et 10, dans lequel les moyens d’allocation comprennent outre le premier équipement maître gestionnaire (EMG),
    -un jeu de registres de configuration affecté à chaque ressource esclave et à chaque équipement maître, et
    -un contrôleur de configuration (RIFC) configuré pour mettre à jour les contenus des jeux de registres de configuration avec ledit ensemble d’informations de configuration sous le contrôle du premier équipement maître gestionnaire.
  38. Système sur puce selon la revendication 37, dans lequel un jeu de registres de configuration affecté à une ressource esclave est destiné à stocker les différentes informations de configuration définies dans les revendications 26 à 32 et 36 et affectées à cette ressource esclave et un jeu de registres de configuration affecté à chaque équipement maître est destiné à stocker l’information d’identification affecté à cet équipement maître et les informations de configuration affectées à cet équipement maître définies dans les revendications 33, 34 et 36.
  39. Système sur puce selon l’une des revendications précédentes prise en combinaison avec la revendication 8, dans lequel les moyens de traitement (MT) sont configurés pour exécuter un programme utilisateur pour modifier le schéma initial de configuration après son implémentation et implémenter en conséquence ledit schéma de configuration et éventuellement remodifier tout ancien schéma de configuration.
  40. Système sur puce selon la revendication 39 prise en combinaison avec l’une des revendications 10 à 20, dans lequel seul l’équipement maître qui a la qualité d’équipement maître gestionnaire est configuré pour modifier un schéma de configuration (SCH).
  41. Système sur puce selon les revendications 38 et 40, dans lequel pour modifier un schéma de configuration, l’équipement maître gestionnaire est configuré pour commander le contrôleur de configuration (RIFC) de façon à ce qu’il mette à jour les contenus des registres de configuration avec l’ensemble d’informations de configuration définissant le nouveau schéma de configuration à implémenter.
  42. Système sur puce selon l’une des revendications précédentes, dans lequel chaque transaction (TR) émise par un équipement maître comprend un champ d’adressage (ADR) dont le contenu est destiné à adresser la ressource esclave destinataire de cette transaction, et le contenu du champ d’adressage n’appartient pas audit ensemble d’informations de configuration.
  43. Système sur puce selon l’une des revendications précédentes, dans lequel chaque transaction (TR) émise par un équipement maître comprend un champ d’adressage dont le contenu est destiné à adresser la ressource esclave destinataire de cette transaction, et les moyens de traitement (MT) comportent en outre des moyens d’adjonction configurés pour ajouter à chaque transaction émise par un équipement maître, au moins l’information d’identification (CID) de cet équipement maître, ladite information d’identification n’appartenant pas au champ d’adressage de la transaction.
  44. Système sur puce selon la revendication 43 prise en combinaison avec la revendication 34 ou 35, dans lequel les moyens d’adjonction sont en outre configurés pour ajouter à chaque transaction émise par un équipement maître, l’information de sécurité (SEC) et/ou l’information de privilège (PRV) si ces deux informations ne figurent pas déjà dans la transaction émise par l’équipement maître.
  45. Système sur puce selon l’une des revendications 43 ou 44, dans lequel les moyens d’adjonction comportent pour chaque équipement maître, une unité de gestion élémentaire (RIMUi) configurée pour accéder à l’information d’identification affectée à cet équipement maître et éventuellement à l’information de sécurité et/ou à l’information de privilège, et pour ajouter à toute transaction émise par l’équipement maître, cette information d’identification et éventuellement l’information de sécurité et/ou l’information de privilège.
  46. Système sur puce selon les revendications 38 et 45, dans lequel chaque unité de gestion élémentaire (RIMUi) affectée à un équipement maître est connectée par une liaison dédiée (LDMi) au moins au jeu de registres de configuration (RGCMi) affectés à cet équipement maître.
  47. Système sur puce selon l’une des revendications précédentes, dans lequel au moins une information de configuration est destinée à être jointe à chaque transaction, et les moyens de traitement (MT) comportent des moyens de vérification configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, en utilisant ladite au moins une information de configuration jointe à ladite transaction.
  48. Système sur puce selon la revendication 47, dans lequel les moyens de vérification sont configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, en utilisant au moins ladite information d’identification (CID) jointe à ladite transaction.
  49. Système sur puce selon la revendication 47 ou 48 prise en combinaison avec les revendications 33 et 34, dans lequel les moyens de vérification sont configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, en utilisant au moins ladite information de sécurité (SEC) et ladite information de privilège (PRV) jointes à ladite transaction.
  50. Système sur puce selon l’une des revendications 47 à 49 prise en combinaison avec les revendications 24 à 31 et 34, dans lequel les moyens de vérification sont configurés pour vérifier si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, en utilisant la ou les informations de configuration jointes à ladite transaction (TR) ainsi que les autres informations de configuration de l’ensemble d’informations de configuration affectées à cette ressource esclave.
  51. Système sur puce selon l’une des revendications 47 à 50, dans lequel les moyens de vérification sont configurés pour effectuer ladite vérification en aval du circuit d’interconnexion (INTC).
  52. Système sur puce selon l’une des revendications 47 à 51, dans lequel les moyens de vérification comportent pour chaque ressource esclave, un module de vérification élémentaire (RISUi) configuré pour accéder à l’ensemble d’informations de configuration affectées à cette ressource esclave.
  53. Système sur puce selon les revendications 37 et 52, dans lequel chaque module de vérification élémentaire (RISUi) affecté à une ressource esclave est connecté par une liaison dédiée (LDSi) au jeu de registres de configuration (RGCSi) affectés à cette ressource esclave.
  54. Système sur puce selon la revendication 52 ou 53, dans lequel les moyens de traitement comportent un registre gestionnaire (RGG) destiné à contenir l’information d’identification de l’équipement maître gestionnaire courant, et un module de vérification auxiliaire (RISUC) affecté audit contrôleur et configuré pour interdire l’accès audit contrôleur à tout équipement maître ayant une information d’identification différente de celle contenue dans ledit registre gestionnaire.
  55. Système sur puce selon l’une des revendications 47 à 54 prise en combinaison avec l’une des revendications 10 à 20, dans lequel les moyens de vérification sont en outre configurés pour, dans le cas où une transaction de lecture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, renvoyer à l’équipement maître une indication de refus d’accès (IR) et renvoyer à l’équipement maître gestionnaire, une notification d’accès illégal (NIAC) contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
  56. Système sur puce selon l’une des revendications 47 à 55 prise en combinaison avec l’une des revendications 10 à 20, dans lequel les moyens de vérification sont en outre configurés pour, dans le cas où une transaction d’écriture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, ignorer cette transaction et renvoyer à l’équipement maître gestionnaire, une notification d’accès illégal (NIAC) contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
  57. Système sur puce selon l’une des revendications précédentes, comprenant parmi les équipements maîtres au moins un équipement maître ayant un port esclave et un port maître, des informations de configuration étant affectées au port esclave et des information de configuration étant affectés au port maître, et dans lequel les moyens de traitement comportent des moyens d’héritage (MINH) configurés pour, sur commande et en tenant compte de règles d’héritage, remplacer certaines au moins des informations de configuration affectées au port maître par les informations de configuration homologues affectées au port esclave ou bien conserver les informations de configuration affectées au port maître.
  58. Système sur puce selon les revendications 37, 45 et 57, dans lequel les moyens d’héritage (MINH) comportent
    -au sein de l’unité de gestion élémentaire (RIMUk) affectée au port maître, un jeu de commutateurs commandables connectés à certains au moins des registres de configuration affectés au port esclave et aux registres de configuration homologues affectés au port maître, et
    -des moyens de commande (MCM) configurés pour commander le jeu de commutateurs de façon à sélectionner soit les registres de configuration correspondants affectés au port maître soit les registres de configuration correspondants affectés au port esclave.
  59. Système sur puce selon l’une des revendications précédentes, comprenant
    -parmi les équipements maîtres, plusieurs microprocesseurs,
    -parmi les ressources esclaves au moins une ressource esclave configurée pour générer au moins un signal d’interruption destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave,
    -plusieurs fils d’interruptions respectivement connectés aux microprocesseurs et à ladite au moins une ressource esclave et capables de véhiculer des signaux d’interruption, et
    - système sur puce dans lequel les moyens de traitement comprennent des moyens de filtrage d’interruption (MFIRQ) configurés pour router le signal d’interruption émis par ladite ressource esclave uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné.
  60. Système sur puce selon les revendications 52 et 59, dans lequel les moyens de filtrage d’interruption (MFIRQ) sont incorporés au moins en partie dans le module de vérification élémentaire (RISU5) affecté à ladite ressource esclave.
  61. Système sur puce selon la revendication 60, dans lequel les moyens de filtrage d’interruption (MFIRQ) comportent
    -dans le module de vérification élémentaire, plusieurs interrupteurs commandables connectés entre la sortie de la ressource esclave configurée pour délivrer le signal d’interruption et respectivement les fils d’interruptions connectés aux microprocesseurs, et
    -des moyens de commande configurés pour fermer l’interrupteur connecté entre ladite sortie et le fil d’interruption connecté au microprocesseur assigné à ladite ressource esclave, et pour ouvrir le ou les autres interrupteurs.
  62. Système sur puce selon l’une des revendications précédentes, comprenant
    -parmi les équipements maîtres un premier microprocesseur configuré pour démarrer lors d’un premier démarrage du système sur puce de façon à permettre l’implémentation du schéma de configuration, et un deuxième équipement maître, par exemple un deuxième microprocesseur, et
    -des moyens de restauration (MRST) configurés pour, en cas de sortie d’un mode de veille du système sur puce, permettre au deuxième équipement maître de restaurer le schéma de configuration à la place du premier microprocesseur.
  63. Système sur puce selon la revendication 62 prise en combinaison avec l’une des revendications 10 à 20, dans lequel le premier microprocesseur est configuré en tant qu’équipement maître gestionnaire avant le passage en mode veille, et les moyens de restauration (MRST) comprennent
    -une première mémoire de sauvegarde destinée à sauvegarder le schéma de configuration à restaurer,
    -une deuxième mémoire programme configurée pour stocker sur commande du premier microprocesseur, un programme de restauration exécutable par le deuxième équipement maître,
    -un moyen de stockage sécurisé configuré pour stocker une signature dudit programme de restauration ainsi que l’adresse de début du programme de restauration dans ladite deuxième mémoire programme,
    - une source de réveil destinée à générer un signal de réveil au deuxième équipement maître lors de la sortie du système sur puce du mode veille, et
    -une machine d’état (STM) configurée pour en présence dudit signal de réveil, maintenir le premier microprocesseur en état de veille, vérifier ladite signature, et en cas de vérification réussie, conférer temporairement au deuxième équipement maître la qualité d’équipement maître gestionnaire et autoriser l’exécution du programme de restauration par le deuxième équipement maître, puis lorsque la restauration est terminée, retirer la qualité d’équipement maître gestionnaire au deuxième équipement maître, permettre la sortie de veille du premier microprocesseur, et redonner au premier microprocesseur sa qualité d’équipement maître gestionnaire.
  64. Système sur puce selon l’une des revendications précédentes prise en combinaison avec la revendication 49, comprenant parmi les équipements maîtres un port d’accès de test (DAP), destiné à être couplé à un outil de débogage externe, ce port d’accès de test étant affecté d’une information d’identification de test (Debug_CID), et toute ressource esclave est configurée pour accepter de recevoir une transaction comportant cette information d’identification de test, après vérification de ladite information de sécurité (SEC) et de ladite information de privilège (PRV) jointes à ladite transaction.
  65. Système sur puce selon la revendication 64, prise en combinaison avec l’une des revendications 10 à 20, dans lequel seul l’équipement maître gestionnaire est configuré pour affecter l’information d’identification de test uniquement au port d’accès de test (DAP).
  66. Système sur puce selon l’une des revendications précédentes, formant un microcontrôleur (MCU) ou un microprocesseur.
  67. Procédé de gestion du fonctionnement d’un système sur puce, le système sur puce comprenant plusieurs équipement maîtres, plusieurs ressources esclaves, un circuit d’interconnexion couplé entre les équipements maîtres et les ressources esclaves et capable de router des transactions entre des équipements maîtres et des ressources esclaves, le procédé comprenant
    -une phase de configuration (PHCFG) comportant
    .une définition d’au moins un schéma de configuration par un ensemble d’informations de configuration incluant au moins une information d’identification (CID) affectée à chaque équipement maître, cet ensemble d’informations de configuration permettant de définir une assignation d’au moins un équipement maître à certaines au moins des ressources esclaves, et
    .une implémentation au sein du système sur puce dudit au moins un schéma de configuration, et
    -une phase de fonctionnement (PHF) comportant une adjonction au moins de ces informations d’identification à toutes les transactions émises par les équipements maîtres correspondants, et un adressage des ressources esclaves sans utiliser l’ensemble de ces informations de configuration.
  68. Procédé selon la revendication 67, dans lequel une ressource esclave appartient au groupe formé au moins par un périphérique (PH3), une fonctionnalité (PH60, PH61) d’un périphérique (PH6), un moyen de mémoire interne au système sur puce, une interface mémoire interne au système sur puce et destinée à être couplée à un moyen de mémoire externe au système sur puce.
  69. Procédé selon l’une des revendications 67 ou 68, dans lequel au moins un équipement maître comprend un microprocesseur (CPU1).
  70. Procédé selon la revendication 69, dans lequel, les équipements maîtres comportant des microprocesseurs et des équipements maîtres contrôlables par ces microprocesseurs, on affecte à certains au moins des équipements maîtres contrôlables par un microprocesseur, les mêmes informations d’identification que l’information d’identification (CID) du microprocesseur.
  71. Procédé selon la revendication 70, dans lequel on affecte à au moins un équipement maître contrôlable par un microprocesseur, une information d’identification différente de l’information d’identification (CID) dudit microprocesseur.
  72. Procédé selon la revendication 70 ou 71 prise en combinaison avec la revendication 68, dans lequel au moins un équipement maître contrôlable par un microprocesseur comporte un port de sortie (PS) capable d’émettre des transactions ainsi qu’un port d’entrée (PE) capable de recevoir des transactions, et ledit port d’entrée est considéré comme une ressource esclave et le port de sortie comme un équipement maître.
  73. Procédé selon l’une des revendications 67 à 72, dans lequel ladite phase de configuration (PHCFG) comprend une implémentation au sein du système sur puce d’un schéma initial de configuration formant ledit schéma de configuration.
  74. Procédé selon l’une des revendications 67 à 72, dans lequel ladite phase de configuration (PHCFG) comprend une implémentation au sein du système sur puce d’un schéma initial de configuration ayant un ensemble initial d’informations de configuration, et le procédé comprend une modification de la valeur d’au moins une information de configuration de cet ensemble initial de façon à obtenir ledit ensemble d’informations de configuration définissant ledit schéma de configuration.
  75. Procédé selon l’une des revendications 73 ou 74, dans lequel la phase de configuration (PHCFG) comprend une désignation parmi les équipements maîtres, d’un premier équipement maître dit gestionnaire, ce premier équipement maître gestionnaire effectuant, en réponse à un premier démarrage du système sur puce, une phase de démarrage àl’issue de laquelle ce premier équipement maître gestionnaire autorise l’implémentation dudit schéma initial de configuration.
  76. Procédé selon la revendication 75, dans lequel la désignation du premier équipement maître gestionnaire (CPU1) est fixée et résulte de la réalisation du système sur puce.
  77. Procédé selon la revendication 75, dans lequel la désignation du premier équipement maître gestionnaire (CPU1) est programmable.
  78. Procédé selon l’une des revendications 75 à 77, dans lequel on rend temporairement inopérants tous les autres équipements maîtres tant que le premier équipement maître gestionnaire (EMG) n’a pas terminé sa phase de démarrage.
  79. Procédé selon l’une des revendications 75 à 78, dans lequel la phase de configuration (PHCFG) comprend un stockage d’un programme de démarrage exécutable uniquement par le premier équipement maître gestionnaire lors dudit premier démarrage du système sur puce.
  80. Procédé selon la revendication 79, dans lequel la phase de configuration (PHCFG) comprend une réception d’un programme utilisateur contenant au moins des instructions représentatives dudit schéma initial de configuration, un stockage du programme utilisateur, ledit premier équipement maître gestionnaire exécutant, à l’issue de sa phase de démarrage, ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
  81. Procédé selon la revendication 75, dans lequel la phase de configuration (PHCFG) comporte une désignation parmi les équipements maîtres, d’un équipement maître dit équipement maître gestionnaire initial, effectuant, lors du premier démarrage du système sur puce, une phase de démarrage àl’issue de laquelle il autorise un démarrage d’un autre équipement maître désigné comme étant un nouvel équipement maître gestionnaire et formant ledit premier équipement maître gestionnaire permettant au moins, à l’issue de sa phase de démarrage, au moins l’implémentation dudit schéma initial de configuration.
  82. Procédé selon la revendication 81, dans lequel on rend temporairement inopérants tous les autres équipements maîtres tant que la phase de démarrage de l’équipement maître gestionnaire initial (CPU1) et celle du nouvel équipement maître gestionnaire (CPU2) ne sont pas terminées.
  83. Procédé selon l’une des revendications 81 ou 82, dans lequel la phase de configuration (PHCFG) comprend un stockage d’un programme de démarrage exécutable uniquement par l’équipement maître gestionnaire initial lors dudit premier démarrage du système sur puce et un stockage du programme de démarrage du nouvel équipement maître gestionnaire.
  84. Procédé selon la revendication 83, dans lequel la phase de configuration (PHCFG) comprend une réception d’un programme utilisateur contenant au moins des instructions représentatives dudit schéma initial de configuration, un stockage du programme utilisateur, ledit premier équipement maître gestionnaire exécutant, à l’issue de sa phase de démarrage, ledit programme utilisateur afin d’implémenter ledit schéma initial de configuration.
  85. Procédé selon l’une des revendications 75 à 84, dans lequel la phase de fonctionnement (PHF) comprend une désignation par le premier équipement maître gestionnaire désigne, après qu’il a permis d’implémenter le schéma d’assignation initial, d’un deuxième équipement maître en tant que nouvel équipement maître gestionnaire, le premier équipement maître perdant alors sa qualité d’équipement maître gestionnaire.
  86. Procédé selon la revendication 85, dans lequel lors de la phase de fonctionnement (PHF) tout nouvel équipement maître gestionnaire désigne à son tour un nouvel équipement maître gestionnaire et perd alors sa qualité d’équipement maître gestionnaire.
  87. Procédé selon l’une des revendications 67 à 86, dans lequel l’ensemble d’informations de configuration du schéma de configuration comprend en outre, pour au moins une ressource esclave, une information d’inaccessibilité (INAC) indiquant si cette ressource esclave est ou non, inaccessible par tout équipement maître.
  88. Procédé selon l’une des revendications 67 à 87, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de filtrage (IFLT) indiquant si cette ressource esclave peut être accédée par n’importe quel équipement maître ou par seulement un ou plusieurs équipements maîtres.
  89. Procédé selon la revendication 88, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
    -une première information d’accès (IAC1) indiquant, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par un ou plusieurs équipements maîtres ayant la même information d’identification, et
    -l’information d’identification correspondante.
  90. Procédé selon la revendication 88, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible,
    -une deuxième information d’accès (IAC2) indiquant, dans le cas où l’information de filtrage indique que la ressource esclave peut être accédée par seulement un ou plusieurs équipements maîtres, que cette ressource esclave peut être accédée par des équipements maîtres ayant des informations d’identification différentes, et
    -la liste des informations d’identification des équipements maîtres correspondants.
  91. Procédé selon la revendication 90, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour une au moins des ressources esclaves pouvant être accédée par les équipements maîtres de ladite liste, une troisième information (IAC3) indiquant de ladite une au moins des ressources esclaves ne peut être accédée que par un seul équipement maître à la fois, l’équipement maître désirant accéder à cette ressource esclave lors de la phase de fonctionnement utilisant un sémaphore (SMP).
  92. Procédé selon l’une des revendications 67 à 91, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de sécurité (ISEC) indiquant si cette ressource esclave est accessible par un équipement maître en mode sécurisé ou non.
  93. Procédé selon l’une des revendications 67 à 92, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque ressource esclave non inaccessible, une information de privilège (IPRV) indiquant si cette ressource esclave est accessible par un équipement maître en mode privilégié ou non.
  94. Procédé selon l’une des revendications 67 à 93, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification, une information de sécurité (SEC) indiquant si cet équipement maître est configuré en mode sécurisé ou non.
  95. Procédé selon l’une des revendications 67 à 94, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour chaque équipement maître, outre son information d’identification, une information de privilège (PRV) indiquant si cet équipement maître est configuré en mode privilège ou non.
  96. Procédé selon les revendications 75, 94 et 95, comprenant une configuration du premier équipement maître gestionnaire (CPU1) en mode sécurisé et en mode privilège à l’issue de sa phase de démarrage.
  97. Procédé selon l’une des revendications 67 à 96, dans lequel l’ensemble d’informations de configuration définissant le schéma de configuration comprend en outre pour certaines au moins des ressources esclaves et certains au moins des équipements maîtres, une information de verrouillage (LKM, LKS) indiquant si leurs informations de configuration peuvent ou non être modifiées.
  98. Procédé selon l’une des revendications 67 à 97 prise en combinaison avec la revendication 75, comprenant une mise à jour des informations de configuration affectées à chaque ressource esclave et à chaque équipement maître, sous le contrôle du premier équipement maître gestionnaire (EMG).
  99. Procédé selon l’une des revendications 67 à 98 prise en combinaison avec la revendication 74, dans lequel la phase de fonctionnement (PHF) comprend une exécution d’un programme utilisateur pour modifier le schéma initial de configuration après son implémentation et implémenter en conséquence ledit schéma de configuration et éventuellement remodifier tout ancien schéma de configuration.
  100. Procédé selon la revendication 99 prise en combinaison avec l’une des revendications 75 à 82, dans lequel seul l’équipement maître qui a la qualité d’équipement maître gestionnaire (EMG) est autorisé à modifier un schéma de configuration.
  101. Procédé selon l’une des revendications 67 à 100, dans lequel chaque transaction (TR) émise par un équipement maître comprend un champ d’adressage dont le contenu adresse la ressource esclave destinataire de cette transaction, et le contenu du champ d’adressage n’appartient pas audit ensemble d’informations de configuration.
  102. Procédé selon l’une des revendications 67 à 100, dans lequel chaque transaction (TR) émise par un équipement maître comprend un champ d’adressage dont le contenu adresse la ressource esclave destinataire de cette transaction, et la phase de fonctionnement comprend l’adjonction à chaque transaction émise par un équipement maître, d’au moins l’information d’identification de cet équipement maître, ladite information d’identification n’appartenant pas au champ d’adressage de la transaction.
  103. Procédé selon la revendication 102 prise en combinaison avec la revendication 94 ou 95, dans lequel la phase de fonctionnement (PHF) comprend l’adjonction à chaque transaction émise par un équipement maître, de l’information de sécurité et/ou de l’information de privilège si ces deux informations ou l’une de ces deux informations ne figurent pas déjà dans la transaction émise par l’équipement maître.
  104. Procédé selon l’une des revendications 67 à 103, dans lequel au moins une information de configuration est jointe à chaque transaction, et la phase de fonctionnement (PHF) comprend une vérification si une transaction émanant d’un équipement maître et destinée à une ressource esclave est bien autorisée à accéder à cette ressource esclave, ladite vérification comportant l’utilisation de ladite au moins une information de configuration jointe à ladite transaction.
  105. Procédé selon la revendication 104, dans lequel ladite vérification comporte l’utilisation d’au moins ladite information d’identification (CID) jointe à ladite transaction.
  106. Procédé selon la revendication 104 ou 105 prise en combinaison avec les revendications 94 et 95, dans lequel ladite vérification comprend l’utilisation d’au moins ladite information de sécurité (SEC) et de ladite information de privilège (PRV) jointes à ladite transaction.
  107. Procédé selon l’une des revendications 104 à 106 prise en combinaison avec les revendications 87 à 93 et 97, dans lequel ladite vérification comprend l’utilisation de la ou les informations de configuration jointes à ladite transaction (TR) ainsi que des autres informations de configuration de l’ensemble d’informations de configuration affectées à cette ressource esclave.
  108. Procédé selon l’une des revendications 104 à 107, dans lequel ladite vérification est effectuée en aval du circuit d’interconnexion (INTC).
  109. Procédé selon l’une des revendications 104 à 108, dans lequel ladite vérification comprend des vérifications locales (RISUi) effectuées au niveau des ressources esclaves à partir des informations de configuration respectivement affectées à ces ressources esclaves.
  110. Procédé selon l’une des revendications 104 à 109 prise en combinaison avec l’une des revendications 75 à 82, comprenant en outre dans le cas où une transaction de lecture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, un renvoi à l’équipement maître d’une indication de refus d’accès (IR) et un renvoi à l’équipement maître gestionnaire, d’une notification d’accès illégal (NIAC) contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
  111. Procédé selon l’une des revendications 104 à 110 prise en combinaison avec l’une des revendications 75 à 82, comprenant en outre, dans le cas où une transaction d’écriture émise par un équipement maître et destinée à une ressource esclave n’est pas autorisée à accéder à cette ressource esclave, le fait d’ignorer cette transaction et un renvoi à l’équipement maître gestionnaire, d’une notification d’accès illégal (NIAC) contenant un identifiant de cette ressource esclave, une indication du type d’accès et l’information d’identification de l’équipement maître à l’origine de cette transaction refusée.
  112. Procédé selon l’une des revendications 67 à 111 prise en combinaison avec l’une des revendications 75 à 82, comprenant un stockage de l’information d’identification de l’équipement maître gestionnaire courant, et une vérification auxiliaire comportant une comparaison (171) entre l’information d’identification de l’équipement maître gestionnaire courant et l’information d’identification d’un équipement maître désirant modifier au moins une information de configuration, et une interdiction de modification de ladite au moins une information de configuration à tout équipement maître ayant une information d’identification différente de celle de l’équipement maître gestionnaire.
  113. Procédé selon l’une des revendications 67 à 112, comprenant parmi les équipements maîtres au moins un équipement maître ayant un port esclave (PS) et un port maître (PE), des informations de configuration affectées au port esclave et des informations de configuration affectées au port maître, le procédé comprenant en outre, sur commande et en tenant compte de règles d’héritage, un remplacement de certaines au moins des informations de configuration affectées au port maître par les informations de configuration homologues affectées au port esclave ou bien une conservation des informations de configuration affectées au port maître.
  114. Procédé selon l’une des revendications 67 à 113, comprenant,
    -plusieurs microprocesseurs figurant parmi les équipements maîtres,
    et au moins une ressource esclave générant au moins un signal d’interruption (IRQ) destiné à l’un des microprocesseurs qui est assigné à cette ressource esclave,
    -plusieurs fils d’interruptions (FRQ1, FRQ2) étant respectivement connectés aux microprocesseurs et à ladite au moins une ressource esclave et capables de véhiculer des signaux d’interruption,
    -un routage du signal d’interruption émis par ladite ressource esclave uniquement sur le fil d’interruption connecté au microprocesseur qui lui est assigné.
  115. Procédé selon l’une des revendications 67 à 114, comprenant
    - un premier microprocesseur (CPU1) configuré pour démarrer lors d’un premier démarrage du système sur puce de façon à permettre l’implémentation du schéma de configuration,
    - en cas de sortie d’un mode veille du système sur puce, une restauration du schéma de configuration par un deuxième équipement maître (CPU2).
  116. Procédé selon la revendication 115 prise en combinaison avec l’une des revendications 75 à 82, dans lequel le premier microprocesseur étant l’équipement maître gestionnaire avant le passage en mode veille, la restauration (205) comprend
    -une sauvegarde du schéma de configuration à restaurer,
    -un stockage sur commande du premier microprocesseur, d’un programme de restauration exécutable par le deuxième équipement maître,
    -un stockage sécurisé d’une signature dudit programme de restauration ainsi que de l’adresse de début du programme de restauration,
    - une génération d’un signal de réveil au deuxième équipement maître lors de la sortie du système sur puce du mode veille, et
    - en présence dudit signal de réveil, un maintien du premier microprocesseur en état de veille, une vérification de ladite signature, et en cas de vérification réussie, une allocation temporaire au deuxième équipement maître de la qualité d’équipement maître gestionnaire et une exécution du programme de restauration par le deuxième équipement maître, puis lorsque la restauration est terminée, un retrait de la qualité d’équipement maître gestionnaire au deuxième équipement maître, une sortie de veille du premier microprocesseur, et une allocation au premier microprocesseur sa qualité d’équipement maître gestionnaire.
  117. Procédé selon l’une des revendications 67 à 116 prise en combinaison avec la revendication 106, comprenant une affectation à un port d’accès de test (DAP) faisant partie des équipements maitres et destiné à être couplé à un outil de débogage externe, d’une information d’identification de test (Debug_CID), et toute ressource esclave accepte de recevoir une transaction comportant cette information d’identification de test, après vérification de ladite information de sécurité (SEC) et de ladite information de privilège (PRV) jointes à ladite transaction.
  118. Procédé selon la revendication 117, prise en combinaison avec l’une des revendications 75 à 82, dans lequel seul l’équipement maître gestionnaire affecte l’information d’identification de test uniquement au port d’accès de test (DAP).
  119. Procédé selon l’une des revendications précédentes, dans lequel le système sur puce forme un microcontrôleur (MCU) ou un microprocesseur.
FR1913124A 2019-11-22 2019-11-22 Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant Active FR3103586B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1913124A FR3103586B1 (fr) 2019-11-22 2019-11-22 Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
US16/951,198 US11700174B2 (en) 2019-11-22 2020-11-18 Method for managing the operation of a system on chip, and corresponding system on chip
CN202011319314.XA CN112948321B (zh) 2019-11-22 2020-11-23 用于管理片上系统的操作的方法和对应的片上系统
US17/587,954 US20220156217A1 (en) 2019-11-22 2022-01-28 Method for managing the operation of a system on chip, and corresponding system on chip
US18/321,516 US11962462B2 (en) 2019-11-22 2023-05-22 Method for managing the operation of a system on chip, and corresponding system on chip

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1913124 2019-11-22
FR1913124A FR3103586B1 (fr) 2019-11-22 2019-11-22 Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant

Publications (2)

Publication Number Publication Date
FR3103586A1 true FR3103586A1 (fr) 2021-05-28
FR3103586B1 FR3103586B1 (fr) 2023-04-14

Family

ID=70295214

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1913124A Active FR3103586B1 (fr) 2019-11-22 2019-11-22 Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant

Country Status (3)

Country Link
US (2) US11700174B2 (fr)
CN (1) CN112948321B (fr)
FR (1) FR3103586B1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220045901A1 (en) * 2020-08-07 2022-02-10 Arris Enterprises Llc Electronic device, method for electronic device, computer readable medium, and apparatus
FR3129499A1 (fr) 2021-11-25 2023-05-26 STMicroelectronics (Grand Ouest) SAS Gestion dynamique d’un pare-feu de mémoire
FR3129502A1 (fr) 2021-11-25 2023-05-26 STMicroelectronics (Alps) SAS Gestion d’un pare-feu de mémoire dans un système sur puce
EP4375846A1 (fr) 2022-11-25 2024-05-29 STMicroelectronics (ALPS) SAS Système sur puce comportant un système d'isolation des ressources et procédé de gestion de l'isolation des ressources correspondant
EP4375845A1 (fr) 2022-11-25 2024-05-29 STMicroelectronics (Grand Ouest) SAS Procédé de gestion de l'isolation de ressources d'un système sur puce, et système sur puce correspondant

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3103586B1 (fr) 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
US20220156217A1 (en) * 2019-11-22 2022-05-19 Stmicroelectronics (Rousset) Sas Method for managing the operation of a system on chip, and corresponding system on chip
FR3103584B1 (fr) 2019-11-22 2023-05-05 St Microelectronics Alps Sas Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103585B1 (fr) 2019-11-22 2023-04-14 Stmicroelectronics Grand Ouest Sas Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
CN113297563B (zh) * 2021-06-18 2023-01-24 海光信息技术股份有限公司 访问片上系统特权资源的方法、装置及片上系统
FR3128545A1 (fr) * 2021-10-25 2023-04-28 STMicroelectronics (Grand Ouest) SAS Procédé de transaction entre une application et un périphérique

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120079590A1 (en) * 2010-09-24 2012-03-29 Sastry Manoj R Method for enforcing resource access control in computer systems
US20120239895A1 (en) * 2010-09-21 2012-09-20 Texas Instruments Incorporated Memory Management Unit that Applies Rules Based on Privilege Identifier
FR3003054A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
US10176131B1 (en) * 2017-09-27 2019-01-08 Xilinx, Inc. Controlling exclusive access using supplemental transaction identifiers
US20190303328A1 (en) * 2018-04-03 2019-10-03 Xilinx, Inc. System-on-chip interface architecture

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5919255A (en) 1997-03-12 1999-07-06 Texas Instruments Incorporated Method and apparatus for processing an interrupt
FR2766937B1 (fr) * 1997-07-31 2001-04-27 Sqware T Protocole et systeme de liaison par bus entre elements d'un microcontroleur
US6145041A (en) 1998-04-24 2000-11-07 Alcatel Usa Sourcing, Lp Remote multi-level control bus
US6546496B1 (en) 2000-02-16 2003-04-08 3Com Corporation Network interface with power conservation using dynamic clock control
US7139947B2 (en) 2000-12-22 2006-11-21 Intel Corporation Test access port
US7228440B1 (en) 2002-02-13 2007-06-05 Lsi Corporation Scan and boundary scan disable mechanism on secure device
US7421478B1 (en) 2002-03-07 2008-09-02 Cisco Technology, Inc. Method and apparatus for exchanging heartbeat messages and configuration information between nodes operating in a master-slave configuration
US7023979B1 (en) 2002-03-07 2006-04-04 Wai Wu Telephony control system with intelligent call routing
US7010722B2 (en) 2002-09-27 2006-03-07 Texas Instruments Incorporated Embedded symmetric multiprocessor system debug
US6829698B2 (en) * 2002-10-10 2004-12-07 International Business Machines Corporation Method, apparatus and system for acquiring a global promotion facility utilizing a data-less transaction
US6762638B2 (en) * 2002-10-16 2004-07-13 International Business Machines Corporation Circuit for preserving data in a flip-flop and a method of use
US20030108030A1 (en) * 2003-01-21 2003-06-12 Henry Gao System, method, and data structure for multimedia communications
GB0301448D0 (en) * 2003-01-22 2003-02-19 Falanx Microsystems As Microprocessor systems
US20040158784A1 (en) 2003-02-06 2004-08-12 Transwitch Corporation Microprocessor based self-diagnostic port
US7039894B2 (en) 2003-04-28 2006-05-02 International Business Machines Corporation Method, system and program product for specifying and using dials having phased default values to configure a simulated or physical digital system
US20050188248A1 (en) 2003-05-09 2005-08-25 O'brien John Scalable storage architecture
US20050235281A1 (en) * 2004-04-19 2005-10-20 Telefonaktiebolaget L M Ericsson (Publ) Combined software installation package
FR2880963B3 (fr) 2005-01-19 2007-04-20 Atmel Corp Points d'arrets logiciels destines a etre utilises avec des dispositifs a memoire
US7542784B2 (en) 2005-02-25 2009-06-02 Kleer Semiconductor Corporation High quality, low power, wireless audio system
US7515831B2 (en) 2005-02-25 2009-04-07 O2Micro International Ltd. System and method for auto-configuring a telecommunication device with an embedded controller
US20070116023A1 (en) * 2005-11-23 2007-05-24 Broadcom Corporation Method and apparatus for dynamically configuring a generic processing module
US7554357B2 (en) * 2006-02-03 2009-06-30 Lattice Semiconductor Corporation Efficient configuration of daisy-chained programmable logic devices
US7988441B2 (en) * 2006-08-30 2011-08-02 Konica Minolta Opto, Inc. Optical element molding apparatus
US8160056B2 (en) 2006-09-08 2012-04-17 At&T Intellectual Property Ii, Lp Systems, devices, and methods for network routing
US7817470B2 (en) 2006-11-27 2010-10-19 Mosaid Technologies Incorporated Non-volatile memory serial core architecture
US8151118B2 (en) * 2007-01-29 2012-04-03 Microsoft Corporation Master-slave security devices
JP2008206038A (ja) 2007-02-22 2008-09-04 Fujitsu Ltd 分周回路
US20080209007A1 (en) * 2007-02-27 2008-08-28 Tekelec Methods, systems, and computer program products for accessing data associated with a plurality of similarly structured distributed databases
US8706914B2 (en) * 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US7870455B2 (en) 2007-12-12 2011-01-11 Infineon Technologies Ag System-on-chip with master/slave debug interface
US8254355B2 (en) 2008-09-17 2012-08-28 Airhop Communications, Inc. Method and apparatus for utilizing a second receiver to establish time and frequency
US8234489B2 (en) 2009-07-15 2012-07-31 Arm Limited Set of system configuration registers having shadow register
US20110016310A1 (en) * 2009-07-20 2011-01-20 Infineon Technologies Ag Secure serial interface with trusted platform module
US8516551B2 (en) * 2010-07-28 2013-08-20 Intel Corporation Providing a multi-phase lockstep integrity reporting mechanism
US9065799B2 (en) * 2011-04-15 2015-06-23 Lockheed Martin Corporation Method and apparatus for cyber security
KR101766835B1 (ko) * 2011-05-04 2017-08-09 에스프린팅솔루션 주식회사 화상형성장치 및 그 제어 방법
US9053233B2 (en) * 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
US8954721B2 (en) * 2011-12-08 2015-02-10 International Business Machines Corporation Multi-chip initialization using a parallel firmware boot process
US11144630B2 (en) 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
US20140006644A1 (en) 2012-06-28 2014-01-02 Lsi Corporation Address Remapping Using Interconnect Routing Identification Bits
GB2500074B (en) 2012-07-09 2014-08-20 Ultrasoc Technologies Ltd Debug architecture
US9091727B1 (en) 2012-10-16 2015-07-28 Xilinx, Inc. Configuration and testing of multiple-die integrated circuits
IL224112A (en) * 2013-01-03 2017-02-28 B G Negev Tech And Applications Ltd A method for finding non-essential flip-flops that do not require keeping the media in standby mode in the vlsi circuit
GB2518257A (en) * 2013-09-13 2015-03-18 Vodafone Ip Licensing Ltd Methods and systems for operating a secure mobile device
US10440080B2 (en) * 2013-10-18 2019-10-08 Telefonaktiebolaget Lm Ericsson (Publ) Software-defined media platform
US9842043B2 (en) 2014-02-18 2017-12-12 Hariprakash Agrawal System and method to implement an electronic document based automated testing of a software application
US9473489B2 (en) * 2014-09-29 2016-10-18 Aerohive Networks, Inc. Private simultaneous authentication of equals
US10025746B2 (en) * 2014-12-20 2018-07-17 Intel Corporation High performance interconnect
US9727679B2 (en) 2014-12-20 2017-08-08 Intel Corporation System on chip configuration metadata
US9430347B2 (en) 2014-12-23 2016-08-30 Intel Corporation Delayed authentication debug policy
US9639184B2 (en) * 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US10037280B2 (en) 2015-05-29 2018-07-31 Qualcomm Incorporated Speculative pre-fetch of translations for a memory management unit (MMU)
US10426865B2 (en) * 2015-12-18 2019-10-01 Bionutratech, Inc. Absorbent pad that includes a fatty acid composition for odor control
US11088876B1 (en) * 2016-03-28 2021-08-10 Marvell Asia Pte, Ltd. Multi-chip module with configurable multi-mode serial link interfaces
US10372883B2 (en) * 2016-06-24 2019-08-06 Scripps Networks Interactive, Inc. Satellite and central asset registry systems and methods and rights management systems
US10063389B2 (en) 2016-07-07 2018-08-28 Caterpillar Inc. Identifying and configuring multiple smart devices on a CAN bus
US11112418B1 (en) * 2016-07-29 2021-09-07 Labrador Diagnostics Llc Systems and methods for multi-analysis
BR112019016249A2 (pt) * 2017-02-23 2020-04-07 Maven Wireless Sweden Ab portadoras agregadas de roteamento em um sistema de antenas distribuídas (das)
US20190019147A1 (en) * 2017-07-13 2019-01-17 FedEx Supply Chain Logistics & Electronics, Inc. System and method for device clearing and re-inventory
JP6965626B2 (ja) * 2017-08-17 2021-11-10 富士通株式会社 ストレージ制御装置、および制御プログラム
US10713062B2 (en) 2017-12-07 2020-07-14 Dell Products, L.P. System and method for configuring an information handling system
US10990294B2 (en) 2018-03-26 2021-04-27 Western Digital Technologies, Inc. Non-volatile storage system with multi-read mode
TWI698752B (zh) 2018-08-22 2020-07-11 新唐科技股份有限公司 積體電路、匯流排系統以及其控制方法
TWM571980U (zh) 2018-09-19 2018-12-21 聚晶半導體股份有限公司 雙鏡頭模組
US11082339B2 (en) * 2018-10-12 2021-08-03 Hewlett Packard Enterprise Development Lp Domain name system (DNS) optimization for wide area networks
US11050570B1 (en) * 2018-11-21 2021-06-29 Amazon Technologies, Inc. Interface authenticator
FR3093830B1 (fr) 2019-03-11 2021-03-12 St Microelectronics Rousset Procédé de gestion d’accès à un bus partagé, et dispositif électronique correspondant
US10917378B1 (en) * 2019-05-21 2021-02-09 Juniper Networks, Inc. Facilitating communication between network devices of a virtual router redundancy protocol (VRRP) group
US11144235B1 (en) * 2019-08-07 2021-10-12 Xlnx, Inc. System and method for evaluating memory system performance
US11182110B1 (en) * 2019-08-21 2021-11-23 Xilinx, Inc. On-chip memory block circuit
US11175839B1 (en) * 2019-10-22 2021-11-16 Amazon Technologies, Inc. Independently configurable remapping for interconnect access requests
FR3103585B1 (fr) 2019-11-22 2023-04-14 Stmicroelectronics Grand Ouest Sas Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103586B1 (fr) * 2019-11-22 2023-04-14 St Microelectronics Alps Sas Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103584B1 (fr) 2019-11-22 2023-05-05 St Microelectronics Alps Sas Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120239895A1 (en) * 2010-09-21 2012-09-20 Texas Instruments Incorporated Memory Management Unit that Applies Rules Based on Privilege Identifier
US20120079590A1 (en) * 2010-09-24 2012-03-29 Sastry Manoj R Method for enforcing resource access control in computer systems
FR3003054A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
US9946674B2 (en) * 2016-04-28 2018-04-17 Infineon Technologies Ag Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
US10176131B1 (en) * 2017-09-27 2019-01-08 Xilinx, Inc. Controlling exclusive access using supplemental transaction identifiers
US20190303328A1 (en) * 2018-04-03 2019-10-03 Xilinx, Inc. System-on-chip interface architecture

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
VENKATESWARA RAO: "A Frame work on AMBA bus based Communication Architecture to improve the Real Time Computing Performance in MPSoC", INTERNATIONAL JOURNAL OF COMPUTER APPLICATIONS, vol. 91, no. 5, April 2014 (2014-04-01), pages 0975 - 8887

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220045901A1 (en) * 2020-08-07 2022-02-10 Arris Enterprises Llc Electronic device, method for electronic device, computer readable medium, and apparatus
FR3129499A1 (fr) 2021-11-25 2023-05-26 STMicroelectronics (Grand Ouest) SAS Gestion dynamique d’un pare-feu de mémoire
FR3129502A1 (fr) 2021-11-25 2023-05-26 STMicroelectronics (Alps) SAS Gestion d’un pare-feu de mémoire dans un système sur puce
EP4187391A1 (fr) 2021-11-25 2023-05-31 STMicroelectronics (ALPS) SAS Gestion d'un pare-feu de mémoire dans un système sur puce
EP4187393A1 (fr) 2021-11-25 2023-05-31 STMicroelectronics (Grand Ouest) SAS Gestion dynamique d'un pare-feu de mémoire
EP4375846A1 (fr) 2022-11-25 2024-05-29 STMicroelectronics (ALPS) SAS Système sur puce comportant un système d'isolation des ressources et procédé de gestion de l'isolation des ressources correspondant
EP4375845A1 (fr) 2022-11-25 2024-05-29 STMicroelectronics (Grand Ouest) SAS Procédé de gestion de l'isolation de ressources d'un système sur puce, et système sur puce correspondant
FR3142569A1 (fr) 2022-11-25 2024-05-31 STMicroelectronics (Grand Ouest) SAS Procédé de gestion de l’isolation de ressources d’un système sur puce, et système sur puce correspondant.
FR3142570A1 (fr) 2022-11-25 2024-05-31 STMicroelectronics (Alps) SAS Système sur puce comportant un système d’isolation des ressources et procédé de gestion de l’isolation des ressources correspondant.

Also Published As

Publication number Publication date
CN112948321A (zh) 2021-06-11
US20230291645A1 (en) 2023-09-14
US11962462B2 (en) 2024-04-16
CN112948321B (zh) 2024-03-05
FR3103586B1 (fr) 2023-04-14
US20210160134A1 (en) 2021-05-27
US11700174B2 (en) 2023-07-11

Similar Documents

Publication Publication Date Title
FR3103586A1 (fr) Procédé de gestion du fonctionnement d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
FR3103585A1 (fr) Procédé de gestion de la configuration d’accès à des périphériques et à leurs ressources associées d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
EP1939753B1 (fr) Protection de zones mémoire
CN109416657B (zh) 在空中固件更新期间的容错变量区域重新铺设
FR3103584A1 (fr) Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
EP1643344B1 (fr) Procédé de gestion des licenses des logiciels exécutées sur des plateformes partionnables d'un système à processeurs multiples
EP2839408A1 (fr) Procede de gestion securisee d'un espace memoire pour microcontroleur
FR2893156A1 (fr) Procede et systeme de calcul intensif multitache et multiflot en temps reel.
WO2011020954A2 (fr) COMPOSANT LOGICIEL ET DISPOSITIF POUR LE TRAITEMENT AUTOMATISÉ DE DONNÉES MULTI-USAGES, METTANT EN œUVRE DES FONCTIONS AVANT BESOIN DE DIFFÉRENTS NIVEAUX DE SÛRETÉ OU LIMITES DE RESPONSABILITÉ
US20220156217A1 (en) Method for managing the operation of a system on chip, and corresponding system on chip
EP2466470A1 (fr) Module matériel de sécurité et procédé de traitement dans un tel module
CN114363295A (zh) 一种租户服务器的管理方法及装置
FR3054902B1 (fr) Procede et dispositif de distribution de partitions sur un processeur multi-coeurs
EP1942417B1 (fr) Circuit de protection de zones mémoire
EP4187393A1 (fr) Gestion dynamique d'un pare-feu de mémoire
EP1594065A1 (fr) Système sur une puce avec unité d'arbitrage, et clé de stockage l'incorporant
FR3089656A1 (fr) Procédé et dispositif de contrôle d'accès à une ressource partagée entre tâches logicielles exécutées dans un contexte applicatif prédéterminé
FR3057081B1 (fr) Processeur comprenant une pluralite de coeurs de calcul
US7386774B1 (en) Memory unit with controller managing memory access through JTAG and CPU interfaces
WO2013110816A2 (fr) Procédé d'utilisation d'une mémoire partagée
CA2278664C (fr) Procede et dispositif de traitement de plusieurs applications techniques avec pour chacune d'elles la surete qui lui est propre
EP4187391A1 (fr) Gestion d'un pare-feu de mémoire dans un système sur puce
EP3648491B1 (fr) Element securise multi-configurations et procede associe
EP4187392A1 (fr) Procédé de gestion d'une mémoire au sein d'un système sur puce
EP1250645B1 (fr) Systeme de gestion de peripheriques dans un circuit integre

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210528

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5