Brevet FR3125614A1 — publié le 20230127

Dispositif informatique évolutif La présente description concerne une puce réseau (108) comprenant : une infrastructure programmable (201) ayant une pluralité de points d'accès (202) ; au moins une interface de communications de puces fragmentées (3D PLUG) adaptée pour s'interfacer avec au moins une puce fragmentée (110), chaque interface de communications de puces fragmentées (3D PLUG) étant reliée à un point correspondant parmi les points d'accès (202) ; et une pluralité d'interfaces de communications réseau à réseau (206, 208, 210, 212) adaptées chacune pour s'interfacer avec une autre puce réseau (108). Figure pour l'abrégé : Fig. 2 Dispositif informatique évolutif La présente description concerne de façon générale le domaine des architectures informatiques, et, en particulier, un système sur puce évolutif. Comme cela est connu dans l'état de la technique, un système sur puce (SoC) est un circuit intégré qui intègre certains ou tous les composants formant un système informatique, comportant un ou plusieurs éléments parmi des CPU (de l'anglais "central processing units", unité centrale de traitement), une mémoire, des ports d'entrée/sortie, parmi d'autres fonctions. Dans certains cas, un système sur puce peut être apparié avec un autre circuit intégré fournissant une mémoire supplémentaire, tirant avantageusement parti de techniques d'encapsulation perfectionnée. Un inconvénient des architectures existantes de systèmes sur puce est qu'il y a un inconvénient de conception relativement important à produire un système ayant une quantité requise de ressources de traitement et de mémoire pour une application donnée. En outre, des solutions existantes ont une évolutivité très limitée, ce qui signifie que, lorsque les ressources mémoire ou de traitement doivent être accrues ou réduites, une nouvelle conception significative est nécessaire, ce qui prend du temps et est coûteux. En outre, la réutilisabilité des composants est très limitée, ce qui peut dans certains cas conduire à des niveaux élevés de mise au rebut. Un objet des modes de réalisation de la présente description est de pallier tout ou partie des inconvénients de l'art antérieur. Selon un aspect, il est prévu une puce réseau comprenant : une infrastructure programmable ayant une pluralité de points d'accès ; au moins une interface de communications de puces fragmentées adaptée pour s'interfacer avec au moins une puce fragmentée, chaque interface de communications de puces fragmentées étant reliée à un point correspondant parmi les points d'accès ; et une pluralité d'interfaces de communications réseau à réseau adaptées chacune pour s'interfacer avec une autre puce réseau. Selon un mode de réalisation, la puce réseau comprend en outre un circuit mémoire relié à chaque routeur. Selon un mode de réalisation, au moins un des circuits mémoire est reconfigurable en tant que soit une mémoire cache, soit une mémoire de travail du premier élément de traitement, le premier élément de traitement comprenant par exemple une unité de gestion de mémoire définissant une allocation de mémoire cache et/ou de mémoire de travail au premier élément de traitement. Selon un mode de réalisation, au moins un des circuits mémoire est une mémoire non volatile. Selon un mode de réalisation, l'infrastructure programmable est un réseau sur puce, et les points d'accès sont des routeurs de NoC du réseau sur puce. Selon un autre aspect, il est prévu un dispositif informatique comprenant : la puce réseau précédente montée sur un substrat. Selon un mode de réalisation, le dispositif informatique comprend en outre au moins une puce réseau supplémentaire montée sur le substrat, la puce réseau et ladite au moins une puce réseau supplémentaire étant interconnectées par les interfaces de communications réseau à réseau. Selon un mode de réalisation, les puces réseau sont identiques les unes aux autres, au moins une des puces réseau ayant une orientation différente de celle d'au moins une autre des puces réseau. Selon un mode de réalisation, chacun des points d'accès de chaque puce réseau est attribué et stocke une adresse sur la base de son emplacement dans son infrastructure programmable et sur la base de l'orientation de la puce réseau par rapport aux autres puces réseau. Selon un mode de réalisation, chaque puce réseau comprend, au niveau d'un premier de ses bords, une interface de mémoire externe, et dans lequel une première des puces réseau est orientée de sorte que son premier bord soit adjacent à un premier bord du dispositif informatique, et une deuxième des puces réseau est orientée de sorte que son premier bord soit adjacent à un deuxième bord du dispositif informatique, les premier et deuxième bords du dispositif informatique étant par exemple des bords perpendiculaires, ou des bords opposés, du dispositif informatique. Selon un mode de réalisation, le dispositif informatique comprend en outre : au moins une puce fragmentée placée sur la puce réseau, chaque puce fragmentée comprenant au moins un premier élément de traitement relié, par l'intermédiaire d'une interface de communications de puces fragmentées, à un premier des points d'accès de la puce réseau sur laquelle la puce fragmentée est placée. Selon un mode de réalisation, chaque puce fragmentée est configurée pour fonctionner d'une façon asynchrone par rapport à la puce réseau sur laquelle elle est placée. Selon un mode de réalisation, ladite au moins une puce fragmentée est placée sur la puce réseau dans un agencement en face-à-face. Selon un mode de réalisation, ladite au moins une puce fragmentée est placée sur la puce réseau dans un agencement face-à-dos. Selon un autre aspect, il est prévu un procédé de conception du dispositif informatique précédent, comprenant la conception de ladite au moins une puce fragmentée sur la base d'un modèle de puce réseau représentant la puce réseau. Selon encore un autre aspect, il est prévu un procédé de configuration d'un dispositif informatique comprenant une ou plusieurs puces réseau montées sur un substrat, le procédé comprenant : la détection, par une première des puces réseau, du nombre et de l'orientation des puces réseau du dispositif informatique, dans lequel chaque puce réseau met en œuvre une infrastructure programmable ayant une pluralité de points d'accès ; et la détection, par la première puce réseau, de la présence ou de l'absence d'au moins une puce fragmentée placée sur chaque puce réseau et reliée, par l'intermédiaire d'une interface de communications de puces fragmentées, à au moins un premier des points d'accès de la puce réseau sur laquelle la puce fragmentée est placée. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la est une vue en coupe transversale représentant schématiquement un dispositif informatique selon un exemple de mode de réalisation de la présente description ; la est une vue plane représentant schématiquement un dispositif informatique de la selon un exemple de mode de réalisation ; la est une vue en coupe transversale représentant schématiquement une partie de la vue en coupe transversale de la de façon plus détaillée selon un exemple de mode de réalisation ; la représente schématiquement une puce réseau du dispositif informatique des figures 1A, 1B et 1C de façon plus détaillée selon un exemple de mode de réalisation ; la est une vue plane représentant schématiquement un agencement de composants dans une puce réseau de la selon un exemple de mode de réalisation ; la représente schématiquement un système sur puce comprenant un agencement de puces réseau selon un exemple de mode de réalisation ; la représente schématiquement la puce réseau de façon plus détaillée selon un exemple de mode de réalisation ; la représente schématiquement une puce fragmentée du dispositif informatique des figures 1A, 1B et 1C de façon plus détaillée selon un exemple de mode de réalisation ; la représente schématiquement un groupe de calcul de la puce fragmentée de la selon un exemple de mode de réalisation ; la représente schématiquement un groupe de calcul de la puce fragmentée de la selon un autre exemple de mode de réalisation ; la est une vue plane d'un système informatique selon un autre exemple de mode de réalisation de la présente description ; la est une vue plane d'un système informatique selon encore un autre exemple de mode de réalisation de la présente description ; la est un organigramme représentant des étapes d'un procédé de configuration d'un dispositif informatique selon un exemple de mode de réalisation de la présente description ; la représente schématiquement un circuit de détection de puce fragmentée selon un exemple de mode de réalisation ; et la représente schématiquement un système de conception pour la conception d'un dispositif informatique selon un exemple de mode de réalisation de la présente description. Puce réseau (108) comprenant : - une infrastructure programmable (201) ayant une pluralité de points d'accès (202) ; - au moins une interface de communications de puces fragmentées (3D PLUG) adaptée pour s'interfacer avec au moins une puce fragmentée (110), chaque interface de communications de puces fragmentées (3D PLUG) étant reliée à un point correspondant parmi les points d'accès (202) ; et - une pluralité d'interfaces de communications réseau à réseau (206, 208, 210, 212) adaptées chacune pour s'interfacer avec une autre puce réseau (108). Puce réseau selon la revendication 1, comprenant en outre un circuit mémoire (204) reliée à chaque point d'accès (202). Puce réseau selon la revendication 2, dans laquelle au moins un des circuits mémoire (204) est reconfigurable en tant que soit une mémoire cache (204'), soit une mémoire de travail (204") du premier élément de traitement, le premier élément de traitement (602, 700, 800) comprenant par exemple une unité de gestion de mémoire définissant une allocation de mémoire cache et/ou de mémoire de travail au premier élément de traitement. Puce réseau selon la revendication 2 ou 3, dans laquelle au moins un des circuits mémoire (204) est une mémoire non volatile. Puce réseau selon l'une quelconque des revendications 1 à 4, dans laquelle l'infrastructure programmable est un réseau sur puce (201), et les points d'accès sont des routeurs de NoC (202) du réseau sur puce. Dispositif informatique comprenant : la puce réseau selon l'une quelconque des revendications 1 à 5 montée sur un substrat (102). Dispositif informatique selon la revendication 6, comprenant en outre au moins une puce réseau supplémentaire (108) selon l'une quelconque des revendications 1 à 5 montée sur le substrat (102), la puce réseau et ladite au moins une puce réseau supplémentaire étant interconnectées par les interfaces de communications réseau à réseau (206, 208, 210, 212). Dispositif informatique selon la revendication 7, dans lequel les puces réseau (108) sont identiques les unes aux autres, au moins une des puces réseau ayant une orientation différente de celle d'au moins une autre des puces réseau. Dispositif informatique selon la revendication 8, dans lequel chacun des points d'accès (202) de chaque puce réseau (108) se voit attribuer et stocke une adresse sur la base de son emplacement dans son infrastructure programmable (201) et sur la base de l'orientation de la puce réseau (108) par rapport aux autres puces réseau (108). Dispositif informatique selon la revendication 8 ou 9, dans lequel chaque puce réseau (108) comprend, au niveau d'un premier de ses bords, une interface de mémoire externe (218), et dans lequel une première des puces réseau (108A) est orientée de sorte que son premier bord soit adjacent à un premier bord du dispositif informatique, et une deuxième des puces réseau (108B) est orientée de sorte que son premier bord soit adjacent à un deuxième bord du dispositif informatique, les premier et deuxième bords du dispositif informatique étant par exemple des bords perpendiculaires, ou des bords opposés, du dispositif informatique. Dispositif informatique selon l'une quelconque des revendications 6 à 10, comprenant en outre : - au moins une puce fragmentée (110) placée sur la puce réseau (108), chaque puce fragmentée (110) comprenant au moins un premier élément de traitement (602, 700, 800) relié, par l'intermédiaire d'une interface de communications de puces fragmentées (3D PLUG), à un premier des points d'accès (202) de la puce réseau (108) sur laquelle la puce fragmentée (110) est placée. Dispositif informatique selon la revendication 11, dans lequel chaque puce fragmentée (110) est configurée pour fonctionner d'une façon asynchrone par rapport à la puce réseau (108) sur laquelle elle est placée. Dispositif informatique selon la revendication 11 ou 12, dans lequel ladite au moins une puce fragmentée (110) est placée sur la puce réseau (108) dans un agencement en face-à-face. Dispositif informatique selon l'une quelconque des revendications 11 à 13, dans lequel ladite au moins une puce fragmentée (110) est placée sur la puce réseau (108) dans un agencement face-à-dos. Procédé de conception du dispositif informatique selon l'une quelconque des revendications 11 à 14, comprenant la conception de ladite au moins une puce fragmentée (110) sur la base d'un modèle de puce réseau (1302) représentant la puce réseau (108). Procédé de configuration d'un dispositif informatique comprenant une ou plusieurs puces réseau (108) montées sur un substrat (102), le procédé comprenant : - la détection, par une première des puces réseau (108), du nombre et de l'orientation des puces réseau (108) du dispositif informatique, dans lequel chaque puce réseau (108) met en œuvre une infrastructure programmable (201) ayant une pluralité de points d'accès (202) ; et - la détection, par la première puce réseau (108), de la présence ou de l'absence d'au moins une puce fragmentée (110) placée sur chaque puce réseau (108) et reliée, par l'intermédiaire d'une interface de communications de puces fragmentées (3D PLUG), à au moins un premier des points d'accès (202) de la puce réseau (108) sur laquelle la puce fragmentée (110) est placée.