FR3089322A1 - Gestion des restrictions d’accès au sein d’un système sur puce - Google Patents

Gestion des restrictions d’accès au sein d’un système sur puce Download PDF

Info

Publication number
FR3089322A1
FR3089322A1 FR1872038A FR1872038A FR3089322A1 FR 3089322 A1 FR3089322 A1 FR 3089322A1 FR 1872038 A FR1872038 A FR 1872038A FR 1872038 A FR1872038 A FR 1872038A FR 3089322 A1 FR3089322 A1 FR 3089322A1
Authority
FR
France
Prior art keywords
slave
master
attribute
programming
value
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
FR1872038A
Other languages
English (en)
Other versions
FR3089322B1 (fr
Inventor
Emmanuel Ardichvili
Laurent Lestringand
Patrick Valdenaire
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 Rousset SAS
Original Assignee
STMicroelectronics Rousset 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 Rousset SAS filed Critical STMicroelectronics Rousset SAS
Priority to FR1872038A priority Critical patent/FR3089322B1/fr
Priority to US16/684,296 priority patent/US11386037B2/en
Priority to CN201911193454.4A priority patent/CN111241029B/zh
Priority to CN201922091490.1U priority patent/CN210983400U/zh
Priority to DE102019132485.8A priority patent/DE102019132485A1/de
Publication of FR3089322A1 publication Critical patent/FR3089322A1/fr
Application granted granted Critical
Publication of FR3089322B1 publication Critical patent/FR3089322B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)

Abstract

Le système comprend au moins plusieurs équipements maîtres (Mi) possédant chacun une interface de programmation (SMi), plusieurs équipements esclaves (SMi, Si) incluant lesdites interfaces de programmation, un circuit d’interconnexion (1) couplé entre les équipements maîtres et les équipements esclaves. Chaque transaction est affectée d’un attribut (ATTi) capable de prendre au moins deux valeurs d’attribut correspondant à au moins deux états souhaités pour l’équipement maître. Chaque équipement esclave (SMi, Si) est associé à un identifiant (IDSMi, IDSi) capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l’équipement esclave. Chaque équipement maître hérite automatiquement de la propriété de son interface de programmation. Des moyens de filtrage (LGS1, LGCD, LGCM, LGS2 et LGS3) sont configurés pour en présence d’une transaction destinée à un équipement esclave, comparer la valeur d’attribut correspondante avec la valeur de l’identifiant de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison. Figure pour l’abrégé: Fig. 1

Description

Description
Titre de l'invention : Gestion des restrictions d’accès au sein d’un système sur puce [0001] Des modes de mise en œuvre et de réalisation de l’invention concernent le routage de transactions entre des équipements maîtres et des équipements esclaves au sein d’un système sur puce (SOC : System On Chip) par exemple un microcontrôleur, et plus particulièrement la gestion des restrictions d’accès à certains équipements esclaves.
[0002] 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 (équipements esclaves) spécifiques. Une telle caractéristique est couramment désignée par l’homme du métier sous le vocable anglosaxon de « isolation ».
[0003] La gestion de ces restrictions d’accès est habituellement complexe à mettre en œuvre, en particulier lorsque cette gestion est dynamique.
[0004] Il existe donc un besoin de rendre une telle gestion simple à mettre en œuvre et à implémenter, tout particulièrement dans le cas où cette gestion est dynamique, par exemple lorsqu’elle dépend de l’application envisagée pour le système sur puce.
[0005] Selon un aspect, il est proposé un système sur puce, comprenant un ensemble d’équipements maîtres, par exemple un ou plusieurs processeurs, un contrôleur d’accès direct en mémoire (DMA : Direct Memory Access)...
[0006] Certains équipements maîtres possèdent chacun une interface de programmation. Un équipement maître possédant une interface de programmation est appelé dans la suite du texte « premier équipement maître ».
[0007] L’ensemble d’équipements maîtres peut aussi éventuellement comporter un ou plusieurs équipements maîtres dépourvus d’interface de programmation. Un équipement maître dépourvu d’interface de programmation, par exemple un processeur, est appelé dans la suite du texte « deuxième équipement maître », pour le distinguer d’un premier équipement maître.
[0008] Le système sur puce comprend par ailleurs plusieurs équipements esclaves. Sont considérés comme des équipements esclaves, lesdites interfaces de programmation ainsi que des interfaces esclaves d’équipements spécifiques tels que par exemple des mémoires ou des périphériques ou plus généralement des ressources. Les interfaces esclaves sont différentes des interfaces de programmation.
[0009] Le système sur puce comporte par ailleurs un circuit d’interconnexion (connu par l’homme du métier sous la dénomination anglosaxonne « interconnect ») couplé entre l’ensemble des équipements maîtres et les équipements esclaves.
[0010] Chaque équipement maître est configuré pour transmettre des transactions (par exemple des transactions d’écriture ou de lecture) à l’un au moins des équipements esclaves.
[0011] Chaque transaction émise par un premier équipement maître est affectée d’un attribut capable de prendre au moins deux valeurs d’attribut correspondant à au moins deux états souhaités pour ce premier équipement maître.
[0012] Quant audit au moins un deuxième équipement maître, dépourvu d’interface de programmation, il est aussi connecté au circuit d’interconnexion, et est configuré pour conférer à l’attribut de ses transactions une valeur fixe prise parmi lesdites au moins deux valeurs d’attribut et correspondant pour ce deuxième équipement maître à un des états souhaités.
[0013] Cette valeur fixe d’attribut est par exemple codée en dur dans le deuxième équipement maître ce qui lui confère de facto un état fixe.
[0014] Chaque équipement esclave est par ailleurs associé à un identifiant (par exemple un mot de un ou plusieurs bits) capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l’équipement esclave. Une première propriété souhaitée pour un équipement esclave peut être par exemple le fait qu’il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l’ensemble des équipements maîtres et une deuxième propriété souhaitée pour cet équipement esclave peut être le fait qu’il puisse être accédé par n’importe quel équipement maître de l’ensemble des équipements maîtres.
[0015] En d’autres termes, un équipement esclave ayant la première propriété est alors dit « isolé » tandis qu’il est dit « non isolé » s’il possède la deuxième propriété.
[0016] Dans un tel cas, les deux propriétés sont complémentaires l’une de l’autre, c'est-à-dire qu’un équipement esclave ne peut ni avoir les deux propriétés en même temps, ni n’en posséder aucune. Les deux valeurs de l’identifiant correspondant à ces deux propriétés sont alors par exemple simplement les deux valeurs logiques d’un bit.
[0017] Quant à un équipement maître de l’ensemble des équipements maîtres, que ce soit un premier ou un deuxième équipement maître, un premier état souhaité pour cet équipement maître est le fait qu’il soit autorisé à accéder à n’importe quel équipement esclave, et un deuxième état souhaité pour cet équipement maître est le fait qu’il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l’ensemble des équipements esclaves.
[0018] En d’autres termes, un équipement maître ayant le premier état peut accéder à tout équipement esclave, par exemple que ce dernier soit « isolé » ou non, tandis qu’un équipement maître ayant le deuxième état ne peut pas par exemple accéder aux équipements esclaves « isolés ».
[0019] Par ailleurs chaque premier équipement maître hérite automatiquement de la propriété de son interface de programmation (qui est considérée, comme indiqué ci avant, comme étant un équipement esclave) et est configuré pour conférer à l’attribut de ses transactions l’une des valeurs de l’attribut en fonction de la valeur de l’identifiant de son interface de programmation.
[0020] Le système sur puce comporte par ailleurs des moyens de filtrage configurés pour, en présence d’une transaction destinée à un équipement esclave, comparer la valeur de l’attribut correspondante avec la valeur esclave de l’identifiant esclave de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison.
[0021] Le fait que chaque premier équipement maître hérite automatiquement de la propriété de son interface de programmation et qu’il confère à l’attribut de ses transactions l’une des valeurs de l’attribut en fonction de la valeur de l’identifiant de son interface de programmation, simplifie grandement la gestion des restrictions d’accès ainsi que l’implémentation matérielle.
[0022] Ainsi, si l’interface de programmation d’un premier équipement maître est considérée comme « isolée », alors ce premier équipement maître est automatiquement isolé c'est-à-dire qu’il pourra avoir accès non seulement aux équipements esclaves isolés mais aussi à ceux qui ne sont pas isolés.
[0023] Si par contre l’interface de programmation d’un premier équipement maître est considérée comme « non isolée », alors ce premier équipement maître est automatiquement non isolé c'est-à-dire qu’il ne pourra pas avoir accès aux équipements esclaves isolés.
[0024] Il n’est donc pas nécessaire en particulier de prévoir un signal externe dédié à rendre isolé ou non le premier équipement maître.
[0025] En conséquence, le premier équipement maître définit la valeur de l’attribut de ses transactions en fonction de la valeur de l’identifiant de son interface de programmation, ce qui évite là encore l’utilisation d’un signal externe spécifique pour définir la valeur d’attribut.
[0026] Alors que les valeurs des identifiants des équipements esclaves peuvent être figées dans des registres du système sur puce, il est particulièrement avantageux, dans certaines applications, de pouvoir programmer ces valeurs pour certains au moins des équipements esclaves.
[0027] Comme indiqué ci-avant les équipements esclaves comportent lesdites interfaces de programmation et des interfaces esclaves d’équipements spécifiques, par exemple des mémoires, périphériques ou plus généralement des ressources.
[0028] Et selon un mode de réalisation, la valeur de l’identifiant de l’une au moins des interfaces esclaves ainsi que la valeur de l’identifiant de l’une au moins des interfaces de programmation sont avantageusement programmables.
[0029] Par ailleurs, le système comporte en outre des moyens de programmation configurés pour programmer lesdites valeurs d’identifiants programmables via ledit circuit d’interconnexion.
[0030] A titre d’exemple non limitatif, les moyens de programmation peuvent comporter au moins un premier registre programmable associé à ladite une au moins des interfaces de programmation et destiné à contenir la valeur de l’identifiant associé à cette interface de programmation, au moins un deuxième registre programmable associé audit au moins un des équipements spécifiques et destiné à contenir la valeur de l’identifiant associé à cet équipement spécifique, un bloc de programmation, par exemple une machine d’état matérielle ou bien le plus souvent des instructions d’un code d’initialisation, configuré pour programmer ledit au moins un premier registre programmable et ledit au moins un deuxième registre programmable via le circuit d’interconnexion, et un lien de connexion, par exemple un ou plusieurs « fils » en fonction de la taille de l’identifiant, entre ledit au moins un premier registre programmable et ladite une au moins des interfaces de programmation.
[0031] Cette connexion « filaire » est particulièrement simple à réaliser, ce qui rend facilement simple à réaliser la gestion dynamique des restrictions d’accès.
[0032] Il est par ailleurs particulièrement avantageux que ce lien de connexion s’étende aussi jusque dans le premier équipement maître associé à ladite au moins une des interfaces de programmation.
[0033] Ainsi, la logique de contrôle de l’interface de programmation de ce premier équipement maître peut lire directement le contenu du premier registre programmable de façon à connaître la valeur de l’identifiant associée à cette interface de programmation et déterminer ainsi si elle a par exemple un caractère isolé ou non de façon à rejeter par exemple des transactions qui viendraient d’un équipement maître qui ne pourrait pas avoir accès aux équipements esclaves isolés.
[0034] De même, le premier équipement maître reçoit directement la valeur de l’identifiant associé à son interface de programmation et peut par conséquent attribuer de facto une valeur d’attribut qui correspond à un tel identifiant.
[0035] En d’autres termes, si l’interface de programmation est isolée, ce premier équipement maître héritera automatiquement du fait d’avoir par exemple accès à tout équipement esclave, isolé ou non.
[0036] Le ou l’un des deuxièmes équipements maîtres, par exemple un microprocesseur, peut effectuer la programmation du ou des registres programmables. En d’autres termes, le ou l’un des deuxièmes équipements maîtres peut incorporer le bloc de programmation.
[0037] Les moyens de programmation sont par exemple configurés pour effectuer leur pro5 grammation lors d’une phase d’initialisation du système.
[0038] Selon un mode de réalisation, le circuit d’interconnexion comporte une matrice d’interconnexion connectée à l’ensemble d’équipements maîtres et au moins un étage comportant au moins un démultiplexeur possédant une entrée connectée à une sortie de la matrice d’interconnexion et plusieurs sorties connectées auxdites interfaces esclaves.
[0039] Les moyens de filtrage comportent alors une logique de filtrage située dans ledit étage, connectée audit au moins un deuxième registre programmable et configurée pour comparer la valeur de l’attribut d’une transaction destinée à l’une des interfaces esclaves avec la valeur de l’identifiant de cette interface esclave.
[0040] Comme indiqué ci-avant, une première propriété souhaitée pour un équipement esclave est le fait qu’il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l’ensemble des équipements maîtres et une deuxième propriété souhaitée pour cet équipement esclave est le fait qu’il puisse être accédé par n’importe quel équipement maître de l’ensemble des équipements maîtres.
[0041] De même, un premier état souhaité pour un équipement maître de l’ensemble des équipements maîtres est le fait qu’il soit autorisé à accéder à n’importe quel équipement esclave, et un deuxième état souhaité pour un équipement maître de l’ensemble des équipements maîtres est le fait qu’il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l’ensemble des équipements esclaves.
[0042] Ainsi, par exemple, lorsque l’identifiant d’une interface de programmation a une première valeur correspondant à la première propriété, l’attribut d’une transaction émanant du premier équipement maître associé à cette interface de programmation a une première valeur d’attribut correspondant au premier état.
[0043] Et, par exemple, lorsque l’identifiant d’une interface de programmation a une deuxième valeur correspondant à la deuxième propriété, l’attribut d’une transaction émanant du premier équipement maître associé à cette interface de programmation a une deuxième valeur d’attribut correspondant au deuxième état.
[0044] Ainsi, par exemple, une transaction affectée d’un attribut ayant la première valeur d’attribut peut être destinée à n’importe quel équipement esclave, et une transaction affectée d’un attribut ayant la deuxième valeur d’attribut et destinée à un équipement esclave dont l’identifiant a la première valeur, sera rejetée.
[0045] D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de modes de réalisation et de mise en œuvre, nullement limitative, et des dessins annexés sur lesquels :
[0046] [fig.l] illustre schématiquement un mode de réalisation d’un système sur puce selon l’invention.
[0047] [fig.2] illustre schématiquement une partie du système sur puce de la figure 1, [0048] [fig.3] illustre schématiquement une partie du système sur puce de la figure 1, [0049] [fig.4] illustre schématiquement une partie du système sur puce de la figure 1, [0050] [fig.5] illustre schématiquement un mode de mise en œuvre de l’invention, [0051] [fig.6] illustre schématiquement un mode de mise en œuvre de l’invention, [0052] [fig.7] illustre schématiquement un mode de mise en œuvre de l’invention, [0053] [fig.8] illustre schématiquement un mode de mise en œuvre de l’invention, [0054] [fig.9] illustre schématiquement un mode de mise en œuvre de l’invention, et [0055] [fig. 10] illustre un lien internet.
[0056] Sur la figure 1, la référence SYS désigne un système sur puce, par exemple un microcontrôleur, comportant ici plusieurs premiers équipements maîtres Ml, M2, M3 possédant chacun une interface de programmation SMI, SM2, SM3. Chaque interface de programmation est destinée à recevoir des transactions destinées au premier équipement maître correspondant, en vue par exemple de le programmer.
[0057] Le système sur puce SYS comporte également un ou plusieurs deuxièmes équipements maîtres, ici un seul deuxième équipement maître M40, dépourvu d’interface de programmation. Ce deuxième équipement maître est par exemple un microprocesseur.
[0058] Le système sur puce SYS comporte également plusieurs équipements esclaves incorporant lesdites interfaces de programmation.
[0059] Plus précisément, les équipements esclaves incluent les interfaces de programmation SMI, SM2 et SM3 et également des interfaces esclaves SI, S2, S3 d’équipements spécifiques, ces interfaces esclaves étant différentes des interfaces de programmation.
[0060] Ces équipements spécifiques sont d’une façon générale des ressources, par exemple des mémoires.
[0061] Chaque équipement maître, que ce soit un premier équipement maître ou un deuxième équipement maître, est configuré pour transmettre des transactions à l’un au moins des équipements esclaves. En pratique, l’équipement maître transmet une transaction par l’intermédiaire d’une interface maître non représentée ici à des fins de simplification.
[0062] Ces transactions peuvent être des transactions de lecture, d’écriture, de programmation, etc.
[0063] Chaque transaction TRi émanant d’un équipement maître Mi est affectée d’un attribut ATTi.
[0064] Cet attribut est capable de prendre, dans cet exemple de mise en œuvre, deux valeurs d’attribut correspondant à deux états souhaités pour l’équipement maître.
[0065] De même, chaque équipement esclave, que ce soit une interface de programmation ou une interface esclave, est associé à un identifiant capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l’équipement esclave.
[0066] Dans cet exemple de réalisation et de mise en œuvre, une première propriété souhaitée pour un équipement esclave est le fait qu’il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l’ensemble des équipements maîtres.
[0067] En d’autres termes, un tel équipement esclave est dit alors « isolé » et il ne peut être accédé que par un ou plusieurs éléments maîtres autorisés. Dans ce cas, l’identifiant associé à cet équipement esclave aura par exemple la valeur logique 1.
[0068] Une deuxième propriété souhaitée pour un équipement esclave est le fait qu’il puisse être accédé par n’importe quel équipement maître de l’ensemble des équipements maîtres.
[0069] En d’autres termes, avec cette deuxième propriété, l’équipement esclave n’est pas « isolé ». Son identifiant a par exemple alors la valeur logique « 0 ».
[0070] En ce qui concerne un équipement maître, un premier état souhaité pour cet équipement maître peut être le fait qu’il soit autorisé à accéder à n’importe quel équipement esclave c’est-à-dire un équipement esclave (interface de programmation ou ressource) isolé ou non.
[0071] Dans ce cas, l’attribut des transactions émanant de cet équipement maître peut prendre par exemple la valeur logique « 1 ».
[0072] Un deuxième état souhaité pour un équipement maître peut être le fait qu’il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l’ensemble des équipements esclaves.
[0073] En d’autres termes, cet équipement maître ne sera par exemple pas autorisé à accéder à ou aux équipements esclaves « isolés ». Dans ce cas, l’attribut associé aux transactions émanant d’un tel équipement maître dans ce deuxième état prendra par exemple la valeur logique « 0 ».
[0074] Par ailleurs, l’état de chaque premier équipement maître est hérité automatiquement de la propriété de son interface de programmation.
[0075] En d’autres termes, dans cet exemple, si l’interface de programmation d’un premier équipement maître a la propriété « isolé », alors le premier équipement maître est dans son premier état l’autorisant à accéder à n’importe quel équipement esclave, que cet équipement esclave soit isolé ou non.
[0076] Si l’interface de programmation de ce premier équipement maître a la propriété « non isolé » alors ce premier équipement maître est automatiquement dans son deuxième état ne l’autorisant pas à accéder aux équipements esclaves (interface de programmation ou interface esclave) isolés.
[0077] Et, le premier équipement maître est alors configuré pour conférer à l’attribut de ces transactions l’une des valeurs d’attribut en fonction de la valeur de l’identifiant de son interface de programmation.
[0078] En ce qui concerne un deuxième équipement maître, la valeur d’attribut de ces transactions est fixée, par exemple codée en dur, en fonction de l’état que l’utilisateur souhaite donner à ce deuxième équipement maître.
[0079] Ainsi dans cet exemple, le deuxième équipement maître M40 est dans le premier état l’autorisant à accéder à n’importe quel équipement esclave, que cet équipement esclave soit isolé ou non.
[0080] Dans le cas où le système comporte un autre deuxième équipement maître, celui-ci pourrait être par exemple dans le deuxième état ne l’autorisant pas à accéder aux équipements esclaves isolés.
[0081] Par ailleurs, comme on le verra plus en détail ci-après, dans cet exemple, les valeurs de certains identifiants sont codées en dur dans le système tandis que d’autres sont programmables en fonction par exemple de l’application à laquelle est destiné le système sur puce et/ou de la nature des différentes ressources.
[0082] Le système sur puce comporte également des moyens de filtrage configurés pour, en présence d’une transaction destinée à un équipement esclave, comparer la valeur d’attribut correspondante avec la valeur de l’identifiant de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison.
[0083] Comme on le verra plus en détails ci-après, ces moyens de filtrage comportent différentes logiques de filtrage.
[0084] Le système sur puce SYS comporte également un circuit d’interconnexion 1 couplé entre les équipements maîtres Mi et les équipements esclaves SMi, Si.
[0085] Le circuit d’interconnexion 1 comporte une matrice d’interconnexion 10 possédant plusieurs entrées EMI, EM2, EM3, EM40 connectées aux équipements maîtres Ml, M2, M3, M40 par l’intermédiaire de bus BSS1, BSS2, BSS3 et BSS40 et plusieurs sorties.
[0086] Une première sortie BS1 est connectée par l’intermédiaire d’un bus BSS7 à l’entrée E100 d’un premier étage de démultiplexage 100 possédant ici trois sorties S100A,
S100B, S1OOC respectivement connectées aux trois interfaces esclaves SI, S2 et S3. [0087] Une autre sortie BS3 est reliée à un autre étage de démultiplexage 101 possédant ici également trois sorties respectivement reliées aux trois interfaces de programmation SMI, SM2, SM3 par trois bus BSS4, BSS5 et BSS6.
[0088] Un bus BSS8 relie la sortie BS3 de la matrice d’interconnexion à l’étage de démultiplexage 101.
[0089] Enfin, dans cet exemple, une autre sortie BS2 de la matrice d’interconnexion est connectée à un banc de registres RGPS1, RGPS3, RGPSM1 par l’intermédiaire d’un bus BSS9.
[0090] Comme on le verra plus en détails ci-après, cette sortie BS2 n’est accessible que par des transactions émanant du deuxième équipement maître M40.
[0091] La structure d’une telle matrice d’interconnexion, qui est en général une matrice d’interconnexion multicouches, ainsi que le protocole permettant l’échange et le routage des transactions à l’intérieur de la matrice d’interconnexion sont bien connus de l’homme du métier.
[0092] Celui-ci pourra par exemple se référer notamment :
à l’article de Venkateswara Rao et autres intitulé « A Erame 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 matrices d’interconnexion effectuée en 2015 par A. Gerstlauer et disponible à l’adresse internet mentionnée sur la figure 10.
[0093] Par ailleurs, à titre indicatif mais non limitatif, on peut utiliser par exemple la matrice d’interconnexion commercialisée par la société ARM sous la référence NIC-400 (version R0p3 ).
[0094] Les différents bus peuvent quant à eux être de toute structure classique, et par exemple des bus AHB utilisant un protocole décrit par exemple dans le document AMBA 3 AHB-Lite Protocol V1.0 Specification, de la société ARM (2001, 2006).
[0095] Le registre RGPS1 est destiné à contenir la valeur de l’identifiant de l’interface esclave SI.
[0096] Le registre RGPS3 est destiné à contenir l’identifiant de l’interface esclave S3 tandis que le registre RGPSM1 est destiné à contenir l’identifiant de l’interface de programmation SMI.
[0097] Ces valeurs sont ici programmables par l’intermédiaire du bus BSS9 par des moyens de programmation comportant un bloc de programmation MCPM, incorporé ici dans le deuxième équipement maître M40 (processeur), et le banc de registres RGPS1, RGPS3, RGPSM1.
[0098] Ce bloc de programmation MCPM est ici un code programme d’initialisation, destiné à être exécuté pendant une phase d’initialisation pour notamment programmer les contenus du banc de registres RGPS1, RGPS3, RGPSM1.
[0099] C’est la raison pour laquelle la sortie BS2 de la matrice d’interconnexion 10 n’est accessible que par le deuxième équipement maître M40 pour recevoir les transactions de programmation.
[0100] Par ailleurs, une connexion CX, par exemple un fil conducteur, relie le registre RGPSM1 à l’interface de programmation SMI.
[0101] On suppose également dans cet exemple que les valeurs des identifiants de l’interface esclave S2 ainsi que des interfaces de programmation SM2 et SM3 sont figées et codées en dur dans des registres.
[0102] On se réfère plus particulièrement maintenant aux figures 2 à 4 pour illustrer plus en détail mais toujours schématiquement, la structure interne de l’interface de programmation SMI, du premier équipement maître Ml ainsi que les étages de démultiplexage 100 et 101.
[0103] L’interface SMI comporte une logique de filtrage LGS1 couplée à la connexion CX.
[0104] Cette logique de filtrage LGS1 est configurée pour effectuer la comparaison entre la valeur de l’identifiant de l’interface SMI qui est lue dans le registre RGPSM1 par l’intermédiaire de la connexion CX, avec l’attribut d’une transaction arrivant sur le bus BSS4. Et, en fonction de cette comparaison, la transaction pourra être rejetée ou autorisée.
[0105] La connexion CX se prolonge jusque dans le premier équipement maître Ml et plus précisément jusqu’à une logique LGM1. Cette logique LGM1 est configurée pour déterminer la valeur de l’attribut ATT1 associé à chaque transaction TRI délivrée par le premier équipement maître Ml, en fonction de la valeur de l’identifiant de l’interface de programmation SMI.
[0106] Ainsi, l’état du premier équipement maître est hérité automatiquement de la propriété de son interface de programmation.
[0107] Plus précisément, si par exemple l’interface de programmation est une interface dite isolée, alors le premier équipement maître sera un équipement autorisé à accéder à tout équipement esclave, que cet équipement esclave soit isolé ou non.
[0108] Si par contre l’interface SMI est une interface non isolée, alors le premier équipement maître Ml sera automatiquement dans un état ne lui permettant pas d’accéder à des équipements esclaves isolés.
[0109] L’étage de démultiplexage 100 comporte également une logique de filtrage LGCD couplée à un registre RGDS2 stockant dans cet exemple l’identifiant de l’interface esclave S2.
[0110] Comme indiqué ci-avant, ce registre RGDS2 n’est pas programmable.
[0111] La logique de filtrage LGCD est donc configurée pour comparer l’attribut d’une transition destiné à l’interface esclave S2 avec l’identifiant de cette interface esclave S2, stocké dans le registre RGDS2.
[0112] L’étage de démultiplexage 100 comporte une autre logique de filtrage LGCM couplée aux registres RGPS1 et RGPS3.
[0113] Cette logique de filtrage LGCM va être destinée à comparer la valeur de l’attribut d’une transaction destinée à l’interface esclave SI avec la valeur de l’identifiant contenu dans le registre RGPS1.
[0114] De même, en présence d’une transaction destinée à l’interface esclave S3, la logique de filtrage LGCM va comparer l’attribut de cette transaction avec la valeur de l’identifiant contenu dans le registre RGPS3.
[0115] En fonction du résultat de ces comparaisons, la ou les transitions pourront être rejetées.
[0116] Dans cet exemple de réalisation, l’étage de démultiplexage 101 comporte les deux registres RGDSM2 et RGDSM3 stockant respectivement les valeurs figées des identifiants des interfaces de programmation SM2 et SM3 ainsi que les logiques de filtrage associées LGS2 et LGS3.
[0117] D’une façon analogue à ce qui a été décrit ci-avant, la logique de filtrage LGS2 va comparer l’attribut d’une transaction destinée à l’interface de programmation SM2 avec la valeur de l’identifiant contenu dans le registre RGDSM2 pour rejeter ou non cette transaction.
[0118] La logique de filtrage LGS3 va quant à elle comparer l’attribut d’une transaction destinée à l’interface de programmation SM3 avec la valeur de l’identifiant contenu dans le registre RGDSM3 pour décider du rejet éventuel de cette transaction.
[0119] Les moyens de filtrage incorporent les différentes logiques de filtrage LGS1, LGCD, LGCM, LGS2 et LGS3.
[0120] On se réfère maintenant plus particulièrement aux figures 5 à 9 pour illustrer schématiquement un exemple de mise en œuvre d’un procédé de gestion des accès des transactions aux différents équipements esclaves.
[0121] Comme indiqué précédemment, et comme illustré sur la figure 5, dans cet exemple, les identifiants IDS2, IDSM2 et IDSM3 respectivement associés aux équipements esclaves S2, SM2 et SM3 sont figés au cours d’une étape de codage en dur 50 lors de la réalisation du système sur puce et sont respectivement stockés dans les registres RGDS2, RGDSM2 et RGDSM3.
[0122] Dans l’exemple considéré, les équipements esclaves S2 et SM2 sont considérés comme « non isolés » ayant par conséquent un identifiant égal à « 0 ».
[0123] Le premier équipement maître M3 est considéré comme pouvant avoir accès à tout équipement esclave, que celui-ci soit isolé ou non isolé.
[0124] En conséquence, l’identifiant de l’interface de programmation SM3 est égal à 1.
[0125] Par ailleurs, puisque le premier équipement maître M3 peut avoir accès à n’importe quel équipement esclave, la logique incorporée dans cet équipement M3 est configurée et codée en dur de façon à conférer à l’attribut ATT3 associé aux transactions émanant de ce premier équipement maître M3, la valeur 1.
[0126] Le deuxième équipement maître M40 a également accès à tout esclave, que celui-ci soit isolé ou non isolé. L’attribut ATT40 associé aux transactions émanant de ce deuxième équipement maître M40, a la valeur 1 codée en dur.
[0127] Les valeurs des identifiants IDS1, IDS3 et IDSM1, respectivement associés aux équipements esclaves SI, S3 et SMI, sont quant à elles programmables.
[0128] Cette programmation, s’effectue avantageusement dans la phase d’initialisation 60 lors de l’exécution du programme d’initialisation. Cette programmation est effectuée par l’exécution du code d’initialisation (bloc de programmation) MCPM contenu dans le deuxième équipement maître M40.
[0129] Et, dans cet exemple, on suppose que l’interface esclave SI est choisie non isolée tandis que l’interface esclave S3 est choisie isolée.
[0130] Par ailleurs, on choisit de rendre également isolée l’interface de programmation SMI associée au premier équipement maître Ml qui, de ce fait, pourra avoir accès à n’importe quel équipement esclave, qu’il soit isolé ou non isolé.
[0131] Dans ces conditions, le bloc de programmation MCPM confère aux identifiants IDS3 et IDSM1 la valeur 1 qui va être stockée dans les registres RGPS3 et RGPSM1.
[0132] Le bloc de programmation confère à l’identifiant IDS1, qui va être stocké dans le registre RGPS1, la valeur « 0 ».
[0133] Enfin, la logique LGM1 présente dans le premier équipement maître Ml va être configurée pour conférer à l’attribut ATT1 associé à chaque transaction TRI émanant de ce premier équipement maître Ml, la valeur 1.
[0134] D’une façon générale, comme illustré sur la figure 7, en présence d’une transaction TRi et de son attribut ATTi, les différentes logiques de filtrage vont effectuer une comparaison 70 entre la valeur de l’attribut ATTi et la valeur de l’identifiant IDSi de l’interface esclave auquel est destinée cette transaction.
[0135] En fonction du résultat de la comparaison, l’accès à l’interface esclave Si pourra être autorisé (étape 71) ou refusé (étape 72).
[0136] Plus précisément, dans ce mode de mise en œuvre, comme illustré sur la figure 8, une transaction TRi associée à un attribut ATTi égal à 1 pourra être délivrée à tout équipement esclave SMj ou Sj (étape 80).
[0137] Par contre, comme illustré sur la figure 9, une transaction TRi affectée d’un attribut ATTi égal à 0 et destinée à un équipement esclave SMj ou Sj pourra être délivrée seulement en fonction du résultat de la comparaison entre cet attribut ATTi et l’identifiant IDSMj ou IDSj de l’équipement esclave considéré.
[0138] Plus précisément, on vérifie dans l’étape 90 si l’identifiant IDSMj ou IDSj vaut 1.
[0139] Si tel est le cas, il y a alors rejet de la transaction TRi (étape 92) car dans ce cas, cette transaction est destinée à un équipement esclave isolé et provient d’un équipement maître qui n’est pas autorisé à accéder aux équipements esclaves isolés.
[0140] Par contre, si l’identifiant IDSMj ou IDSj est égal à 0, alors l’accès de la transaction est autorisé (étape 91).
[0141] L’invention n’est pas limitée aux modes de réalisation qui viennent d’être décrits mais en embrasse toutes les variantes.
[0142] Ainsi, il serait possible d’augmenter le nombre de registres programmables de façon à par exemple rendre programmable les valeurs de tous les identifiants de tous les équipements esclaves, moyennent bien entendu une augmentation du nombre de connexions « filaires » CX.
[0143] Par ailleurs, il serait également envisageable, en ce qui concerne les valeurs programmables de la ou des interfaces de programmation SMi, de remplacer la connexion filaire CX par une commande via l’étage de démultiplexage 101 et des signaux non utilisés et disponibles des bus BSS8 et BSS4-BSS6.

Claims (1)

  1. [Revendication 1] [Revendication 2] [Revendication 3]
    Revendications
    Système sur puce, comprenant un ensemble d’équipements maîtres comportant au moins plusieurs premiers équipements maîtres (Mi) possédant chacun une interface de programmation (SMi), plusieurs équipements esclaves (SMi, Si) incluant lesdites interfaces de programmation, un circuit d’interconnexion (1) couplé entre l’ensemble d’équipements maîtres et les équipements esclaves, chaque équipement maître étant configuré pour transmettre des transactions à l’un au moins des équipements esclaves, chaque transaction émise par un premier équipement maître étant affectée d’un attribut (ATTi) capable de prendre au moins deux valeurs d’attribut correspondant à au moins deux états souhaités pour le premier équipement maître, chaque équipement esclave (SMi, Si) étant associé à un identifiant (IDSMi, IDSi) capable de prendre au moins deux valeurs correspondant respectivement à au moins deux propriétés souhaitées pour l’équipement esclave, chaque premier équipement maître héritant automatiquement de la propriété de son interface de programmation et étant configuré pour conférer à l’attribut de ses transactions l’une des valeurs d’attribut en fonction de la valeur de l’identifiant de son interface de programmation, et des moyens de filtrage (LGS1, LGCD, LGCM, LGS2 et LGS3) configurés pour en présence d’une transaction destinée à un équipement esclave, comparer la valeur d’attribut correspondante avec la valeur de l’identifiant de cet équipement esclave et rejeter ou non la transaction en fonction du résultat de la comparaison.
    Système sur puce, selon la revendication 1, dans lequel les équipements esclaves comportent lesdites interfaces de programmation (SMi) et des interfaces esclaves d’équipements spécifiques (Si), différentes des interfaces de programmation, la valeur de l’identifiant de l’une au moins des interfaces esclaves et la valeur de l’identifiant de l’une au moins des interfaces de programmation sont programmables, et le système comporte en outre des moyens de programmation (MCPM, RGPS1, RGPS3, RGPSM1) configurés pour programmer lesdites valeurs d’identifiants programmables via ledit circuit d’interconnexion (1). Système sur puce selon la revendication 2, dans lequel les moyens de programmation comportent au moins un premier registre programmable (RGPSM1) associé à ladite une au moins des interfaces de programmation et destiné à contenir la valeur de l’identifiant associé à cette
    interface de programmation, au moins un deuxième registre programmable (RGPS1, RGPS3) associé à ladite une au moins des interfaces esclaves et destiné à contenir la valeur de l’identifiant associé à cette interface esclave, un bloc de programmation (MCPM) configuré pour programmer ledit au moins un premier registre programmable et ledit au moins un deuxième registre programmable via le circuit d’interconnexion, et un lien de connexion (CX) entre ledit au moins un premier registre programmable et ladite une au moins des interfaces de programmation. [Revendication 4] Système selon la revendication 3, dans lequel ledit lien de connexion (CX) s’étend aussi jusque dans le premier équipement maître associé à ladite une au moins des interfaces de programmation. [Revendication 5] Système selon l’une des revendications précédentes, dans lequel ledit ensemble d’équipements maîtres comprend en outre au moins un deuxième équipement maître (M40), dépourvu d’interface de programmation, connecté au circuit d’interconnexion, et configuré pour conférer à l’attribut de ses transactions une valeur fixe prise parmi lesdites au moins deux valeurs d’attribut et correspondant pour ce deuxième équipement maître à un des états souhaités. [Revendication 6] Système selon la revendication 5 prise en combinaison avec la revendication 3 ou 4, dans lequel ledit deuxième équipement maître (M40) ou l’un des deuxièmes équipements maîtres incorpore le bloc de programmation (MCPM). [Revendication 7] Système selon l’une des revendications 2 à 6, dans lequel les moyens de programmation sont configurés pour effectuer leur programmation lors d’une phase d’initialisation (60) du système. [Revendication 8] Système sur puce selon l’une des revendications précédentes prise en combinaison avec la revendication 3, dans lequel le circuit d’interconnexion (1) comporte une matrice d’interconnexion connectées à l’ensemble d’équipements maîtres et au moins un étage (100) comportant au moins un démultiplexeur possédant une entrée connectée à une sortie de la matrice d’interconnexion et plusieurs sorties connectées auxdites interfaces esclaves, et les moyens de filtrage comportent une logique de filtrage (LGCM) située dans ledit étage, connectée audit au moins un deuxième registre programmable et configurée pour comparer la valeur d’attribut d’une transaction destinée à ladite au moins une des interfaces esclaves avec la valeur de l’identifiant de cette interface esclave.
    [Revendication 9] [Revendication 10] [Revendication 11]
    Système selon l’une des revendications précédentes, dans lequel une première propriété souhaitée pour un équipement esclave est le fait qu’il ne puisse être accédé que par un ou plusieurs équipements maîtres autorisés pris parmi l’ensemble des équipements maîtres et une deuxième propriété souhaitée pour cet équipement esclave est le fait qu’il puisse être accédé par n’importe quel équipement maître de l’ensemble des équipements maîtres.
    Système selon l’une des revendications précédentes, dans lequel un premier état souhaité pour un équipement maître de l’ensemble des équipements maîtres est le fait qu’il soit autorisé à accéder à n’importe quel équipement esclave, et un deuxième état souhaité pour un équipement maître de l’ensemble des équipements maîtres est le fait qu’il ne soit pas autorisé à accéder à un ou plusieurs équipements esclaves sélectionnés parmi l’ensemble des équipements esclaves. Système selon les revendications 9 et 10, dans lequel lorsque l’identifiant d’une interface de programmation a une première valeur correspondant à la première propriété, l’attribut d’une transaction émanant du premier équipement maître associé à cette interface de programmation a une première valeur d’attribut correspondant au premier état, lorsque l’identifiant d’une interface de programmation a une deuxième valeur correspondant à la deuxième propriété, l’attribut d’une transaction émanant du premier équipement maître associé à cette interface de programmation a une deuxième valeur d’attribut correspondant au deuxième état, une transaction affectée d’un attribut ayant la première valeur d’attribut peut être destinée à n’importe quel équipement esclave, et une transaction affectée d’un attribut ayant la deuxième valeur d’attribut et destinée à un équipement esclave dont l’identifiant esclave a la première valeur esclave, sera rejetée.
FR1872038A 2018-11-29 2018-11-29 Gestion des restrictions d’accès au sein d’un système sur puce Active FR3089322B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR1872038A FR3089322B1 (fr) 2018-11-29 2018-11-29 Gestion des restrictions d’accès au sein d’un système sur puce
US16/684,296 US11386037B2 (en) 2018-11-29 2019-11-14 Management of access restriction within a system on chip
CN201911193454.4A CN111241029B (zh) 2018-11-29 2019-11-28 片上系统内的访问限制管理
CN201922091490.1U CN210983400U (zh) 2018-11-29 2019-11-28 片上系统和微控制器
DE102019132485.8A DE102019132485A1 (de) 2018-11-29 2019-11-29 Verwaltung von Zugriffsbeschränkungen innerhalb eines System-on-Chip

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1872038A FR3089322B1 (fr) 2018-11-29 2018-11-29 Gestion des restrictions d’accès au sein d’un système sur puce
FR1872038 2018-11-29

Publications (2)

Publication Number Publication Date
FR3089322A1 true FR3089322A1 (fr) 2020-06-05
FR3089322B1 FR3089322B1 (fr) 2020-12-18

Family

ID=66166170

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1872038A Active FR3089322B1 (fr) 2018-11-29 2018-11-29 Gestion des restrictions d’accès au sein d’un système sur puce

Country Status (4)

Country Link
US (1) US11386037B2 (fr)
CN (2) CN210983400U (fr)
DE (1) DE102019132485A1 (fr)
FR (1) FR3089322B1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3089322B1 (fr) * 2018-11-29 2020-12-18 St Microelectronics Rousset Gestion des restrictions d’accès au sein d’un système sur puce
FR3124284B1 (fr) 2021-06-21 2024-04-19 St Microelectronics Srl Système sur puce comprenant une interface de connexion entre des dispositifs maîtres et des dispositifs esclaves
FR3142570B1 (fr) * 2022-11-25 2025-07-18 St Microelectronics 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.

Citations (3)

* 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
WO2014135591A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
GB2548387A (en) * 2016-03-17 2017-09-20 Advanced Risc Mach Ltd An apparatus and method for filtering transactions

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6826640B1 (en) * 2003-06-04 2004-11-30 Digi International Inc. Bus bandwidth control system
TWI255405B (en) * 2005-01-05 2006-05-21 Via Tech Inc Bus controller and controlling method for use in computer system
GB2440758B (en) * 2006-08-08 2011-03-30 Advanced Risc Mach Ltd Interconnect logic for a data processing apparatus
US7849247B2 (en) * 2008-10-14 2010-12-07 Freescale Semiconductor, Inc. Interrupt controller for accelerated interrupt handling in a data processing system and method thereof
US10482275B2 (en) 2014-01-27 2019-11-19 Cryptography Research, Inc. Implementing access control by system-on-chip
US9720868B2 (en) * 2014-07-07 2017-08-01 Xilinx, Inc. Bridging inter-bus communications
US9645963B2 (en) * 2015-02-16 2017-05-09 Nxp Usa, Inc. Systems and methods for concurrently testing master and slave devices in a system on a chip
US10095631B2 (en) * 2015-12-10 2018-10-09 Arm Limited System address map for hashing within a chip and between chips
KR20170077943A (ko) 2015-12-28 2017-07-07 삼성전자주식회사 접근 제어 유닛을 포함하는 시스템 온 칩 및 시스템 온 칩을 포함하는 모바일 장치
CN106933751B (zh) 2015-12-29 2019-12-24 澜起科技股份有限公司 用于保护动态随机访问存储器的方法和设备
US20180121125A1 (en) 2016-11-01 2018-05-03 Qualcomm Incorporated Method and apparatus for managing resource access control hardware in a system-on-chip device
FR3089322B1 (fr) * 2018-11-29 2020-12-18 St Microelectronics Rousset Gestion des restrictions d’accès au sein d’un système sur puce

Patent Citations (3)

* 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
WO2014135591A1 (fr) * 2013-03-06 2014-09-12 Sagem Defense Securite Procede et dispositif de filtrage de transactions pour systeme sur puce
GB2548387A (en) * 2016-03-17 2017-09-20 Advanced Risc Mach Ltd An apparatus and method for filtering transactions

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 (0975-8887, vol. 91, no. 5, April 2014 (2014-04-01)

Also Published As

Publication number Publication date
US20200174964A1 (en) 2020-06-04
CN111241029B (zh) 2025-01-10
FR3089322B1 (fr) 2020-12-18
CN111241029A (zh) 2020-06-05
CN210983400U (zh) 2020-07-10
DE102019132485A1 (de) 2020-06-04
US11386037B2 (en) 2022-07-12

Similar Documents

Publication Publication Date Title
CN113312306B (zh) 可配置逻辑平台
FR2862147A1 (fr) Reconfiguration dynamique de liaisons de type pci-express
EP2366147B1 (fr) Gestionnaire physique de barriere de synchronisation entre processus multiples
CN110088734B (zh) 逻辑储存库服务
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
FR3089322A1 (fr) Gestion des restrictions d’accès au sein d’un système sur puce
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
FR2664719A1 (fr) Dispositif de controle pour une memoire tampon a partitionnement reconfigurable.
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
FR2632092A1 (fr) Circuit de conditionnement d'ecriture d'antememoire retarde pour un systeme de microcalculateur a bus double comprenant une unite 80386 et une unite 82385
FR2493562A1 (fr) Systeme d'utilisation de disques en commun et d'intercommunication entre disques
FR2712998A1 (fr) Simulateur de bus numériques intégré dans un système de test automatique de boîtiers électroniques embarqués sur avion.
EP3557433B1 (fr) Procédé de gestion du routage de transactions entre au moins un équipement source et au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant
CA2887077A1 (fr) Systeme de traitement de donnees pour interface graphique et interface graphique comportant un tel systeme de traitement de donnees
EP3531419A1 (fr) Procédé de gestion du routage de transactions entre des équipements sources, au moins un équipement cible, par exemple une mémoire multiports, et système sur puce correspondant
FR2835629A1 (fr) Procede et systeme de gestion d'un journal personnel d'evenements propre a une activite d'exploitation executee sur un perimetre materiel de ressources informatiques et memoire mise en oeuvre dans ce systeme
EP0683455B1 (fr) Circuit intégré comprenant des moyens pour arrêter l'exécution d'un programme d'instructions quand une combinaison de points d'arrêt est vérifiée
EP0112427B1 (fr) Dispositif de commande logique programmable
EP0908828A1 (fr) Procédé et système contrÔle d'accès partagés à une mémoire vive
EP4488833B1 (fr) Configuration d'une mémoire
US9712405B2 (en) Integrated reporting for on-demand and on-premise solutions
EP4273720B1 (fr) Système sur puce intégrant un circuit d´accès direct en mémoire et procédé correspondant
FR3086409A1 (fr) Procede de gestion de la fourniture d'informations, en particulier des instructions, a un microprocesseur et systeme correspondant
FR3084179A1 (fr) Acces direct en memoire
FR3075996A1 (fr) Systeme et procede d'elaboration et d'execution de tests fonctionnels pour grappe de serveurs

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200605

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8