Brevet FR3009632A1 — publié le 20150213

B12419 - 12-GR2-0611 1 PROCEDE ET SYSTEME DE MISE AU POINT Domaine La présente demande concerne le domaine de la mise au point, et en particulier un procédé et un dispositif pour mettre au point un système dans lequel on accède à des emplacements 5 adressables d'un module cible. Arrière-plan Dans des systèmes à maîtres multiples, plusieurs modules maîtres, comme des CPU (unités centrale de traitement), peuvent être capables d'accéder de façon indépendante à des 10 adresses mémoires communes d'un module cible, comme un dispositif mémoire ou un périphérique. Afin de permettre la mise au point de tels systèmes à maîtres multiples, on utilise par exemple un outil de mise au point associé à l'un des modules maîtres pour mettre en place 15 des points de surveillance correspondant à certaines adresses dans le module cible. Les points de surveillance sont utilisés pour notifier le module maître lorsque le module maître modifie l'un des emplacements mémoire. Ces infOrmations peuvent être utilisées par l'outil de mise au point pour mettre au point le 20 système. Un inconvénient des solutions existantes pour des points de surveillance est qu'elles ne sont pas capables de B12419 - 12-GR2-0611 2 notifier un module maître lorsqu'un autre module maître, ou un autre dispositif matériel comme une unité de DMA (accès direct en mémoire), accède aux emplacements mémoires spécifiques. Résumé Un objet de la présente description est de résoudre au moins partiellement un ou plusieurs inconvénients de l'art antérieur. Selon un aspect, on prévoit un système mis en oeuvre par du matériel, ou au moins partiellement par du code de logi- ciel représentant au moins certaines parties du système et simulé par un dispositif de traitement, le système comprenant : une pluralité de modules maîtres ; un module cible ; et un module de points de surveillance agencé pour : recevoir, en réponse à un premier accès de bus à un emplacement adressable dans le module cible, une indication d'au moins une plage d'adresses comprenant une ou plusieurs adresses du premier accès de bus ; identifier dans une ou plusieurs listes de surveillance associées à la pluralité de modules maîtres au moins un point de surveillance correspondant à la plage d'adresses ; et notifier un ou plusieurs des modules maîtres de l'accès de bus. Selon un mode de réalisation, le module de points de surveillance est en outre agencé, en réponse à une requête reçue du module cible, pour mettre en place un nouveau point de surveillance ou retirer un point de surveillance existant dans lesdites une ou plusieurs listes de surveillance, ladite requête étant par exemple faite par un accès de bus d'un type spécifique associé à la gestion de points de surveillance. Selon un mode de réalisation, le module de points de surveillance est agencé pour notifier un premier module maître 30 de la pluralité de modules maîtres de l'accès de bus, le premier accès de bus n'ayant pas été fait par le premier module maître. Selon un mode de réalisation, le premier accès de bus a été fait par l'un des éléments suivants : un deuxième module maître de la pluralité de modules maîtres ; un dispositif 35 d'accès direct en mémoire ; et le module cible. B12419 - 12-GR2-0611 3 Selon un mode de réalisation, le module de points de surveillance est agencé pour notifier au moins un premier module naître et un deuxième module maître du premier accès de bus. Selon un mode de réalisation, le système comprend en 5 outre un premier outil de mise au point couplé au premier module maître et un deuxième outil de mise au point couplé au deuxième module maître. Selon un mode de réalisation, le premier accès de bus est de l'un des types suivants : une opération d'écriture ; une 10 opération de lecture ; une opération de verrouillage ; une opération de déverrouillage ; et une opération interne dans le module cible. Selon un mode de réalisation, le module cible est un dispositif mémoire mis en oeuvre par du matériel ou par un 15 modèle logiciel, ou un dispositif périphérique mis en oeuvre par du matériel ou par un modèle logiciel, comportant un ou plusieurs emplacements adressables. Selon un mode dé réalisation, le module de points de surveillance est agencé pour notifier lesdits un ou plusieurs 20 des modules maîtres avec au moins une indication de la plage d'adresses du premier accès de bus. Selon un mode de réalisation, le module de points de surveillance est agencé pour notifier lesdits un ou plusieurs des modules maîtres avec un ou plusieurs des éléments suivants : 25 une indication de la plage d'adresses du premier accès de bus ; un identificateur du module cible ; un type du premier accès de bus ; et un temps du premier accès de bus. Selon un mode de réalisation, l'indication d'au moins une plage d'adresses du premier accès de bus est reçue à partir 30 du module cible. Selon un mode de réalisation, le système comprend en outre une interconnexion de bus couplée à la pluralité de modules maîtres, au module cible, et au module de points de surveillance, et l'indication d'au moins une plage d'adresses du B12419 - 12-GR2-0611 4 premier accès de bus est reçue à partir de l'interconnexion de bus. Selon un autre aspect, on prévoit un procédé pour mettre au point un système mis en oeuvre par du matériel, ou au moins partiellement par du code de logiciel représentant au moins certaines parties du système et simulé par un dispositif de traitement, le procédé comprenant : en réponse à un premier accès de bus à un emplacement adressable dans un module cible, recevoir par le module de points de surveillance une indication d'au moins une plage d'adresses comprenant une ou plusieurs adresses du premier accès de bus ; identifier par le module de points de surveillance dans une ou plusieurs listes de surveillance associées à une pluralité de modules maîtres au moins un point de surveillance correspondant à la plage d'adresses ; et notifier, par le module de points de surveillance, un ou plusieurs des modules maîtres associés au point de surveillance identifié du premier accès de bus. Selon un mode de réalisation, le procédé comprend en outre, en réponse à une requête reçue du module cible, le fait de mettre en place un nouveau point de surveillance ou de retirer un point de surveillance existant dans lesdites une ou plusieurs listes de surveillance, la requête étant par exemple faite par un accès de bus d'un type spécifique associé à la gestion de points de surveillance. Selon un mode de réalisation, le module de points de surveillance est agencé pour notifier un premier module maître de la pluralité de modules maîtres du premier accès de bus, le premier accès de bus n'ayant pas été fait par le premier module maître. Brève description des dessins Les caractéristiques et avantages susmentionnés, et d'autres, apparaîtront clairement à la lecture de la description détaillée suivante de modes de réalisation, donnée à titre illustratif et non limitatif, en référence aux dessins joints dans lesquels : B12419 - 12-GR2-0611 la figure 1 illustre schématiquement un exemple de système à maîtres multiples ; la figure 2 illustre schématiquement un système à maîtres multiples selon un exemple de réalisation de la présente 5 description ; la figure 3 est un organigramme illustrant des étapes dans un procédé de mise au point selon un exemple de réalisation de la présente description ; et la figure 4 illustre schématiquement un dispositif de 10 traitement pour mettre au point un système selon un exemple de réalisation de la présente description. Description détaillée Bien que dans la description suivante des systèmes soient décrits comme étant mis en oeuvre par du matériel, il 15 sera clair pour l'homme de l'art que les systèmes pourraient au lieu de cela être au moins partiellement représentés par des modèles dans du code logiciel exécuté par un dispositif de traitement. Dans la description, le terme "accès de bus" est 20 utilisé pour désigner un accès à un emplacement adressable dans un module cible -par l'intermédiaire d'une interconnexion de bus ou tout autre forme de matériel d'acheminement. Par exemple, un accès de bus pourrait correspondre à un accès en mémoire à un ou plusieurs emplacements adressables dans un dispositif mémoire 25 et/ou un accès à un périphérique à un ou plusieurs emplacements adressables dans un dispositif périphérique. Le terme "périphérique" ou "dispositif périphérique" est utilisé pour désigner des dispositifs autres que des mémoires et qui comprennent des emplacements adressables. Un contrôleur d'interruptions, des 30 minuteurs et des dispositifs d'entrée/sortie sont des exemples de périphériques. Le terme "emplacement adressable" désigne une plage d'adresses d'une ou plusieurs adresses dans un dispositif mémoire ou périphérique. La figure 1 illustre schématiquement un système à 35 maîtres multiples 100 qui utilise une solution de mise au point B12419 - 12-GR2-0611 6 similaire à celle décrite précédemment en référence à l'art antérieur. Le système 100 comprend un module maître 102 (MASTER MODULE 1) et un module maître 104 (MASTER MODULE 2). Chacun des 5 modules maîtres 102, 104 est couplé à une interconnexion de bus 106. Un module cible 108 (TARGET 1) et une unité de DM A (accès direct en mémoire) 110 sont aussi couplés à l'interconnexion de bus 106. Un outil de mise au point 112 (DEGUGGER 1) est couplé au module maître 102, et un outil de mise au point (114) 10 (DEBUGGER 2) est couplé au module maître 104. Le système 100 utilise des listes de surveillance locales, une pour chaque module maître. En particulier, le module maître 102 comprend une liste de surveillance 116 (WATCH LIST 1), contenant une liste de points de surveillance qui sont 15 par exemple mis en place et effacés par le module maître 102 sous le contrôle de l'outil de mise au point 112. Ces points de surveillance correspondent à des emplacements matériels adressables qui doivent être surveillés, par le module maître 102, dans le module cible 108. En particulier, lorsqu'un accès de bus 20 A1 ayant pour origine le module maître 102 est envoyé au module cible 108 par l'intermédiaire de l'interconnexion de bus 106, l'adresse est vérifiée dans le module maître 102 ou l'outil de mise au point 112, et si on trouve que l'adresse correspond à un point de surveillance, une notification Ni est générée dans le 25 module maître 102. Cette notification Ni est par exemple accessible par l'outil de mise au point 112. Dans certains modes de réalisation, en plus de la notification Ni, le fonctionnement du module maître 102 est mis en pause, ou le fonctionnement du système global, comprenant les autres modules maîtres, est mis 30 en pause. De façon similaire, le module maître 104 comprend une liste de surveillance 118 (WATCH LIST 2), contenant une liste de points de surveillance qui sont par exemple mis en place et effacés par le module maître 104 sous le contrôle de l'outil de 35 mise au point 114. Ces points de surveillance correspondent à B12419 - 12-GR2-0611 7 des emplacements matériels àdressables qui doivent être surveillés, par le module maître 104, dans le module cible 108. Lorsqu'un accès de bus A2 ayant pour origine le module maître 104 est envoyé à la cible 108 par l'intermédiaire de l'interconnexion de bus 106, l'adresse est vérifiée dans le module maître 104 ou l'outil de mise au point 114, et si on trouve que l'adresse correspond à un point de surveillance, une notification N2 est générée dans le module maître 104. Cette notification N2 est par exemple accessible par l'outil de mise au point 114. Dans certains modes de réalisation, en plus de la notification N2, le fonctionnement du module maître 104 est mis en pause, ou le fonctionnement du système global, comprenant les autres modules maîtres, est mis en pause. Un problème avec la solution de mise au point basée sur les listes de surveillance locales 116 et 118 du système 100 est que chacun des modules maîtres 102, 104 va recevoir une notification seulement lorsqu'il accède à une adresse se trouvant sur sa propre liste de surveillance. En effet, le module maître 102 ne va pas être notifié dans le cas d'un accès de bus fait par l'autre module maître 104 à un point de surveillance se trouvant dans sa liste. De façon similaire, le module maître 104 ne va pas être notifié dans le cas d'un accès de bus, à un point de surveillance se trouvant dans sa liste, fait par le module maître 102. En outre, aucun des modules maîtres 102, 104 ne va être notifié d'un accès de bus, à un point de surveillance se trouvant dans leurs listes de surveil- lance, fait par un autre dispositif, comme le DMA 110. Par exemple, la figure 1 illustre l'exemple d'un accès de bus A3 fait à partir du DMA 110 vers le module cible 108, qui ne génère pas de notification dans le système. En outre, aucun des modules maîtres 102, 104 ne va être informé dans le cas d'une modification interne d'une adresse se trouvant sur leurs listes de surveillance, faite par le module cible 108 lui-même. Les problèmes susmentionnés rendent difficile la mise 35 au point du système et, dans certains cas, la rendent impos- 2419 - 12-GR2-0611 8 sible. Par exemple, une erreur survenant dans le module maître 102 en relation avec un emplacement adressable dans le module cible 108 peut être difficile ou impossible à mettre au point si l'outil de mise au point 112 n'est pas conscient de toutes les modifications qui sont faites à l'emplacement adressable, y compris celles qui sont faites par d'autres modules maîtres, par le DMA 110, ou de façon interne dans le module cible 108. La figure 2 illustre schématiquement un système à maîtres multiples 200 qui utilise une solution de mise au point 10 basée sur une surveillance centrale de listes de surveillance, comme on va le décrire plus en détail maintenant. Le système 200 comprend un module maître 202 (MASTER MODULF 1) et un module maître 204 (M'ASTER MODULE 2). Chacun des modules maîtres 202, 204 est par exemple un dispositif de 15 traitement comme un CPU (unité centrale de traitement), ou d'un autre type de dispositifs qui peuvent adresser un emplacement dans un module cible comme une mémoire, un périphérique, ou un autre dispositif, et réaliser des opérations de lecture et/ou d'écriture dans le module cible. Chacun des modules maîtres 202, 20 204 est couplé à une interconnexion de bus 206. Un module cible 208 (TARGET 1) et une unité de DMA 210 (accès direct en mémoire) sont aussi couplés à l'interconnexion de bus 206. Le module cible 208 est un dispositif quelconque ayant des emplacements matériels adressables. Par exemple, le 25 module cible 208 est un dispositif périphérique muni de registres internes adressables, un dispositif mémoire, comme une SRAM (mémoire statique à accès aléatoires), une DRAM (mémoire RAM dynamique), une mémoire non volatile, ou un autre dispositif de stockage. 30 Un outil de mise au point 212 (DEBUGGER 1) est par exemple couplé au module maître 202, et un outil de mise au point 214 (DEBUGGER 2) est par exemple couplé au module maître 204. Cependant, dans certains modes de réalisation, aucun outil de mise au point n'est prévu. B12419 - 12-GR2-0611 9 Le système 200 comprend en outre un module centralisé de points de surveillance 215. Le module 215 mémorise des listes de surveillance associées à chacun des modules maîtres du système. Par exemple, le module 215 mémorise une liste de surveillance 216 (WATCH LIST 1) associée au module maître 202, et une liste de surveillance 218 (WATCH LIST 2) associée au module maître 204. Dans des variantes de réalisation, les diverses listes de surveillance sont par exemple regroupées en une seule liste. La liste de surveillance 216 contient une liste d'un ou plusieurs points de surveillance dont chacun correspond à un emplacement adressable dans le module cible 208. Lorsqu'un emplacement adressable correspondant à un point de surveillance se trouvant sur cette liste est accédé par un élément quelconque du système, le module maître 202 est notifié. Dans certains modes de réalisation, en plus de la notification, le fonctionnement du module maître 202 est mis en pause, et optionnellement le fonctionnement du système global, comprenant les autres modules maîtres, est aussi mis en pause. De façon similaire, la liste de surveillance 218 est associée au module maître 204, et contient une liste d'un ou plusieurs points de surveillance dont chacun correspond à un emplacement adressable correspondant dans le module cible 208. Lorsqu'un emplacement adressable correspondant à un point de surveillance se trouvant sur cette liste est accédé par un élément quelconque du système, le module maître 204 est notifié. Dans certains modes de réalisation, en plus de la notification, le fonctionnement du module maître 202 est mis en pause, et optionnellement le fonctionnement du système global, comprenant les autres modules maîtres, est aussi mis en pause. Les points de surveillance se trouvant dans la liste de surveillance 218 peuvent tous correspondre à des emplacements adressables différents de ceux des points de surveillance de la liste de surveillance 216. En variante, un ou plusieurs des points de surveillance de la liste 218 peuvent correspondre aux B12419 - 12-GR2-0611 10 mêmes emplacements adressables qu'un ou plusieurs points de surveillance de la liste 216. Dans l'exemple de la figure 2, lorsque le module maître 202 lance un accès de bus Al vers le module cible 208, le module cible 208 informe le module centralisé de points de surveillance 215 de cet accès de bus. Par exemple, le module cible 208 communique au moins une indication de la plage d'adresses concernée d'une ou plusieurs adresses, et/ou du type d'opération, au module centralisé de surveillance 215. Le module 215 vérifie ensuite les listes de surveillance 216 et 218, et par exemple identifie cette plage d'adresses sur les deux listes de surveillance. Par conséquent, une notification Ni est envoyée à chacun des modules maîtres 202, 204. De façon similaire, dans l'exemple de la figure 2, lorsque le module maître 204 lance un accès de bus A2 vers le module cible 208, ici encore le module cible 208 informe le module centralisé de points de surveillance 215 de cet accès de bus et de la plage d'adresses d'une ou plusieurs adresses concernée. Le module 215 vérifie ensuite les listes de surveil- lance 216 et 218, et par exemple identifie cette plage d'adresses sur les deux listes de surveillance. Par conséquent, une notification N2 est envoyée à chacun des modules maîtres 202, 204. En outre, dans l'exemple de la figure 2, un accès de 25 bus A3 est fait à partir du DMA 210 vers le module cible 208. Ici encore le module cible 208 informe le module centralisé de points de surveillance 215 de cet accès de bus et de la plage d'adresses d'une ou plusieurs adresses concernée. Le module 215 consulte ensuite les listes de surveillance 216 et 218, et par 30 exemple identifie cette plage d'adresses sur seulement la liste de surveillance 216 associée au module maître 202. Par conséquent, une notification N3 estenvoyée au module maître 202, et pas au module maître 204. En outre, le module maître 202 et/ou le module maître 35 204 sont par exemple notifiés lorsque survient une modification B12419 - 12-GR2-0611 11 interne d'un emplacement adressable dans le module cible 208. Par exemple, une modification interne pourrait correspondre au masquage d'une interruption dans un champ de registre donné, qui bloque les interruptions survenant en relation avec ce champ de registre. Une autre modification interne pourrait correspondre à un accès asynchrone local, Whittle la vidange d'une ligne de cache dans une mémoire. Les notifications provenant du module 215 à destination des modules maîtres 202, 204 sont par exemple transmises 10 par l'intermédiaire d'API à rappel (interfaces de programmation d'application) du côté du maître. Les points de surveillance se trouvant dans les listes de surveillance 216, 218 sont par exemple mis ou retirés par les modules maîtres 202, 204, par exemple sous le contrôle des 15 outils de mise au point 212, 214 correspondants. En particulier, un signal de mise en place de point de surveillance 222, illustré par une flèche en pointillés en figure 2, est par exemple transmis par le module maître 202 au module cible 208. Le signal 222 par exemple indique l'adresse dans le module cible 20 208 qui doit être surveillée ou qui ne doit plus être surveillée. Dans des variantes de réalisation, on pourrait mettre en place ou supprimer des points de surveillance pour un emplacement adressable donné en utilisant un type particulier d'accès de bus ou de transaction. Par exemple, un tel accès de 25 bus pourrait être identifié par un identificateur de type d'accès spécifique, et contenir des informations comprenant un ou plusieurs des éléments suivants : l'adresse du système cible vue par le module maître 202 ; le nom ou l'identificateur du module 202 ; le temps en coups d'horloge ; et les types d'accès 30 qui déclencheraient une notification lorsque le point de surveillance est accédé. Le module cible 208 communique ensuite les informations concernant cet emplacement adressable, comme sa plage d'adresses physiques, au module centralisé de points de surveillance 215, afin qu'il puisse être ajouté à la liste de 35 surveillance 216. B12419 - 12-GR2-0611 12 Dans certains modes de réalisation, le module maître 202 utilise une convention et/ou une définition de nommage différente pour les emplacements adressables dans le module cible par rapport à celle utilisée en interne par le module cible 208. Par exemple, les adresses utilisées par le module maître 208, souvent appelées adresses système, ont des valeurs qui sont un décalage interne dans le module cible 208 par rapport à l'adresse de début physique globale associée au module cible 208. Le module cible 208 mappe par exemple les adresses utilisées par le module maître 202 vers ses adresses relatives physiques correspondantes, dont les valeurs sont les adresses systèmes accédées par le module maître 202, auxquelles sont soustraites l'adresse de début physique globale du module cible 208, c'est-à-dire les décalages des registres internes dans le module cible 208. Lorsqu'un point de surveillance doit être mis ou retiré, le module cible 208 par exemple informe le module centralisé de points de surveillance 215 des adresses système et/ou des adresses physiques relatives. Cette opération est répétée pour chacun des points de surveillance à mettre en place ou à retirer dans la liste de points de surveillance 216. De façon similaire, les points de surveillance de la liste de surveillance 218 sont définis par le module maître 204 par l'intermédiaire d'un signal de mise en place de point de surveillance 224 représenté par une autre flèche en pointillés en figure 2 entre le module maître 204 et le module cible 208, ou par un accès de bus spécifique ou une transaction spécifique pour mettre en place ou retirer des points de surveillance. Chacune des listes de points de surveillance 216, 218 30 comprend par exemple un ou plusieurs des éléments suivants pour chaque point de surveillance : - l'adresse système du point de départ du point de surveillance vue par le module maître qui met en place le point de surveillance, par exemple "0x1000020" ; B12419 - 12-GR2-0611 13 - un identificateur et/ou un nom identifiant le module maître ; - l'adresse relative cible du point de début du point de surveillance dans le module cible, par exemple "0x20" ; - la taille de l'adresse à surveiller à partir du point de départ ; - un identificateur et/ou un nom identifiant le module cible ; - un ou plusieurs types d'accès de bus à surveiller, 10 comme R (lecture), W (écriture), Lock (opération de verrouillage), une modification interne asynchrone, comme un masque d'interruption ou une vidange de ligne de cache ; - un identificateur du point de surveillance à transmettre avec la notification au module maître ; et 15 - le temps et/ou la date de la mise en place du point de surveillance et/ou de la notification, par exemple correspondant à une valeur de compteur d'horloge global du côté du maître, ou une valeur de temps simulée générale dans le cas où le système a la forme d'un modèle logiciel. 20 Chaque liste de surveillance est par exemple associée à un nom ou un identificateur du module maître associé. En variante, dans le cas où les listes de surveillance sont regroupées en une seule liste de surveillance, chaque point de surveillance de la liste inclut par exemple en outre le nom ou 25 l'identificateur du ou des modules maîtres associés au point de surveillance à notifier dans le cas d'un accès de bus. La totalité des points de surveillance de la liste de surveillance 216, 218 peut correspondre à des emplacements matériels adressables dans un même module cible 208. Dans des 30 variantes de réalisation, il pourrait y avoir de multiples modules cibles qui sont surveillés, et les points de surveillance peuvent en plus inclure le nom ou l'identificateur du module cible associé au point de surveillance. Dans certains modes de réalisation, le module centra-35 lise de points de surveillance 215 compte sur le module cible B12419 - 12-GR2-0611 14 208 pour communiquer des informations concernant tous les types d'accès de bus vers lui. Dans des variantes de réalisation, le module 215 peut être couplé à l'interconnexion de bus 206 de sorte qu'il ait un accès aux détails de certaines opérations de bus directement à partir du bus, comme des opérations de lecture et d'écriture initiées par l'un des modules maîtres 202, 204 ou par le DMA 210. Cependant, les opérations internes dans le module cible 208, qui ne passent pas par l'interconnexion de bus 206, sont par exemple encore communiquées par le module cible 208 au module centralisé de points de surveillance 215. La figure 3 est un organigramme illustrant des opérations dans un procédé pour mettre au point un système selon un exemple de réalisation. Dans une première opération 302, un accès de bus 15 survient dans le module cible. Par exemple, comme cela a été mentionné précédemment, cet accès de bus pourrait correspondre à une opération d'une grande plage d'opérations faite par l'un des modules maîtres, ou par tout autre dispositif du système. L'opération peut inclure une opération de lecture ou d'écriture, 20 une opération de verrouillage ou de déverrouillage, un accès interne asynchrone tel qu'une vidange de ligne de cache, la montée d'un masque d'interruptions, etc. Dans une opération suivante 304, le module centralisé de points de surveillance 215 reçoit des détails de l'accès de 25 bus, comprenant au moins une indication de la plage d'adresses d'une ou plusieurs adresses qui sont accédées, et dans certains modes de réalisation comprenant aussi une distinction entre les accès de bus du système cible et l'adresse relative interne cible correspondante, et/ou le type d'accès de bus. Ces 30 informations peuvent être reçues à partir du module cible 208 et/ou directement à partir de l'interconnexion de bus. Dans une opération suivante 306, le module centralisé de points de surveillance 215 identifie un ou plusieurs modules maîtres associés à un point de surveillance correspondant à la 35 plage d'adresses de l'accès de bus. Par exemple, le module 215 B12419 - 12-GR2-0611 15 fait une recherche dans les listes de surveillance pour identifier des points de surveillance correspondant à une adresse de l'accès de bus, et dans le cas où au moins un point de surveillance est trouvé, le module maître correspondant est identifié. Dans une opération suivante 308, lesdits un ou plusieurs modules maîtres identifiés dans l'opération 306 sont notifiés de l'accès de bus. Par exemple, la notification inclut au moins l'identificateur et/ou le nom de la cible, le type d'accès de bus, et les adresses système et/ou adresses relatives qui sont accédées. En outre, la notification peut aussi indiquer l'identificateur et/ou le nom du module maître, s'il existe, qui a initié l'accès de bus, et/ou le temps ou la date de l'accès de bus. Chacun des éléments du système 200 de la figure 2 et en particulier le module centralisé de points de surveillance 215, peut être mis en oeuvre en utilisant du matériel approprié, par exemple un ASIC (circuit intégré spécifique d'application). En variante, un ou plusieurs de ces éléments peuvent être mis en oeuvre sous forme de logiciel stocké dans une mémoire et exécuté par un dispositif de traitement, par exemple des modèles de simulation, s'exécutant sur un ordinateur hôte. En outre, pendant une phase de conception du système 200, la totalité ou une partie de ses éléments peut être décrite par du logiciel, par exemple selon un code de description de circuit, comme on va le décrire maintenant en référence à la figure 4. La figure 4 illustre schématiquement un équipement de mise au point de circuit 400 comprenant un dispositif de traitement 402 comportant un ou plusieurs processeurs sous le contrôle d'une mémoire d'instructions 404. Le dispositif de traitement 402 est aussi couplé à une mémoire 406 mémorisant du code de description de circuit 408, qui par exemple décrit le système 200 de la figure 2. Par exemple, le code de description de circuit décrit le circuit sous une forme appropriée, comme du B12419 - 12-GR2-0611 16 matériel comme un ASIC ou un FPGA (réseau de portes programmable sur site), une mise en oeuvre RTL (niveau de transfert de registres), un modèle BOA (précis au cycle de bus), ou une plate-forme simulée TLM (modèle au niveau transaction), par exemple en langage C++, SystemC ou TLM. Une interface d'utilisateur 410 est aussi par exemple couplée au dispositif de traitement 410. La mémoire d'instruction 404 mémorise par exemple du code de programme pour permettre la mise au point du système représenté par le code de description de circuit 408, et par exemple provoque la mise en oeuvre du procédé de la figure 3 pendant une simulation du système tel que cela est décrit par le code de description de circuit 408. Un avantage des modes de réalisation décrits ici est 15 que, en prévoyant un module centralisé de points de surveillance pour surveiller des points de surveillance, un ou plusieurs modules maîtres peuvent être notifiés d'accès de bus faits vers les emplacements adressables correspondants du module cible par d'autres modules maîtres, par d'autres dispositifs ou de façon 20 interne dans le module cible. Un autre avantage est qu'un module maître ou un module cible, adapté à opérer de la façon décrite précédemment en référence aux figures 2 et 3, pourrait également être intégré dans un système sans module centralisé de points de surveil- 25 lance. Dans un tel cas, le support du mécanisme centralisé de points de surveillance par ces modules ne sera pas utilisé. De façon similaire, un module maître ou un module cible qui n'est pas adapté à opérer de la façon décrite ici en référence aux figures 2 et 3 peut être intégré dans un système comportant un 30 module centralisé de points de surveillance. Dans un tel cas, le mécanisme centralisé de points de surveillance n'est par exemple pas disponible seulement pour ces modules maître ou cible particuliers. Avec la description ainsi faite d'au moins un mode de 35 réalisation illustratif de l'invention, diverses altérations, B12419 - 12-GR2-0611 17 modifications et améliorations apparaîtront facilement à l'homme de l'art. Par exemple, il sera clair pour l'homme de l'art que bien que les modes de réalisation décrits ici comprennent une interconnexion de bus, les principes décrits ici pourraient également être appliqués dans des systèmes sans interconnexion de bus. En outre, bien que les modes de réalisation décrits ici comprennent deux modules maîtres, il sera clair pour l'homme 10 de l'art qu'il pourrait y avoir un nombre quelconque de modules maîtres. En outre, il sera clair pour l'homme de l'art que, bien qu'on ait décrit des modes de réalisation comportant un seul module cible, il pourrait y avoir un nombre quelconque de 15 modules cibles. En outre, les modules maîtres et cible, ainsi que le module centralisé de points de surveillance, peuvent être mis en oeuvre par du matériel, décrit en RTL ou un langage similaire, ou au moins mis en oeuvre partiellement par du logiciel, par 20 exemple sous forme de modèles de système. En outre, il sera clair pour l'homme de l'art que les diverses fonctionnalités des modes de réalisation décrits ici pourraient être recombinées, dans des variantes de réalisation, suivant des combinaisons quelconques. REVENDICATIONS1. Système mis en oeuvre par du matériel, ou au moins partiellement par du code de logiciel représentant au moins certaines parties du système et simulé par un dispositif de traitement, le système comprenant : une pluralité de modules maîtres (202, 204) ; un module cible (208) ; et un module de points de surveillance (215) agencé pour : recevoir, en réponse à un premier accès de bus à un 10 emplacement adressable dans le module cible (208), une indication d'au moins une plage d'adresses comprenant une ou plusieurs adresses du premier accès de bus ; identifier dans une ou plusieurs listes de surveillance (216, 218) associées à la pluralité de modules maîtres 15 (202, 204) au moins un point de surveillance correspondant à la plage d'adresses ; et notifier un ou plusieurs des modules maîtres de l'accès de bus. 2. Système selon la revendication 1, dans lequel le 20 module de points de surveillance (215) est en outre agencé, en réponse à une requête reçue du module cible, pour mettre en place un nouveau point de surveillance ou retirer un point de surveillance existant dans lesdites une ou plusieurs listes de surveillance, ladite requête ,étant par exemple faite par un 25 accès de bus d'un type spécifique associé à la gestion de points de surveillance. 3. Système selon la revendication 1 ou 2, dans lequel le module de points de surveillance (215) est agencé pour notifier un premier module maître (202) de la pluralité de 30 modules maîtres de l'accès de bus, le premier accès de bus n'ayant pas été fait par le premier module maître. 4. Système selon la revendication 3, dans lequel le premier accès de bus a été fait par l'un des éléments suivants :B12419 - 12-GR2-0611 19 un deuxième module maître (204) de la pluralité de modules maîtres ; un dispositif (210) d'accès direct en mémoire (DMA) ; et le module cible (208). 5. Système selon la revendication 4, dans lequel le module de points de surveillance (215) est agencé pour notifier au moins un premier module maître et un deuxième module maître du premier accès de bus. 6. Système selon la revendication 4 ou 5, dans lequel le système comprend en outre un premier outil de mise au point (212) couplé au premier module maître et un deuxième outil de mise au point (214) couplé au deuxième module maître. 7. Système selon l'une quelconque des revendications 1 15 à 6, dans lequel le premier accès de bus est de l'un des types suivants : une opération d'écriture ; une opération de lecture ; une opération de verrouillage ; 20 une opération de déverrouillage ; et une opération interne dans le module cible. 8. Système selon l'une quelconque des revendications 1 à 7, dans lequel le module cible (208) est un dispositif mémoire mis en oeuvre par du matériel ou par un modèle logiciel, ou un 25 dispositif périphérique mis en oeuvre par du matériel ou par un modèle logiciel, comportant un ou plusieurs emplacements adressables. 9. Système selon l'une quelconque des revendications 1 à 8, dans lequel le module de points de surveillance (215) est 30 agencé pour notifier lesdits un ou plusieurs des modules maîtres avec au moins une indication de la plage d'adresses du premier accès de bus. 10. Système selon l'une quelconque des revendications 1 à 8, dans lequel le module de points de surveillance (215) estB12419 - 12-GR2-0611 20 agencé pour notifier lesdits un ou plusieurs des modules maîtres avec un ou plusieurs des éléments suivants : une indication de la plage d'adresses du premier accès de bus ; un identificateur du module cible ; un type du premier accès de bus ; et un temps du premier accès de bus. 11. Système selon l'une quelconque des revendications 1 à 10, dans lequel l'indication d'au moins une plage d'adresses 10 du premier accès de bus est reçue à partir du module cible. 12. Système selon l'une quelconque des revendications 1 à 10, comprenant en outre une interconnexion de bus (206) couplée à la pluralité de modules maîtres, au module cible, et au module de points de surveillance (215), et dans lequel 15 l'indication d'au moins une plage d'adresses du premier accès de bus est reçue à partir de l'interconnexion de bus. 13. Procédé pour mettre au point un système mis en oeuvre par du matériel, ou au moins partiellement par du code de logiciel représentant au moins certaines parties du système et 20 simulé par un dispositif de traitement, le procédé comprenant : en réponse à un premier accès de bus à un emplacement adressable dans un module cible (208), recevoir par le module de points de surveillance (215) une indication d'au moins une plage d'adresses comprenant une ou plusieurs adresses 25 du premier accès de bus ; identifier par le module de points de surveillance (215) dans une ou plusieurs listes de surveillance (216, 218) associées à une pluralité de modules maîtres (202, 204) au moins un point de surveillance correspondant à la plage d'adresses ; 30 et notifier, par le module de points de surveillance, un ou plusieurs des modules maîtres associés au point de surveillance identifié du premier accès de bus. 14. Procédé selon la revendication 13, comprenant en 35 outre, en réponse à une requête reçue du module cible, le faitB12419 - 12 -GR2 -0611 21 de mettre en place un nouveau point de surveillance ou de retirer un point de surveillance existant dans lesdites une ou plusieurs listes de surveillance, la requête étant par exemple faite par un accès de bus d'un type spécifique associé à la gestion de points de surveillance. 15. Procédé selon la reVendication 13 ou 14, dans lequel le module de points de surveillance (215) est agencé pour notifier un premier module maître de la pluralité de modules maîtres du premier accès de bus, le premier accès de bus n'ayant pas été fait par le premier module maître.