Brevet FR3042050A1 (20170407)
REVENDICATIONS1. Dispositif informatique comprenant : un premier dispositif de traitement (202) ; une pluralité de circuits mémoire (204), au moins un premier des circuits mémoire, (204) comprenant un ou plusieurs 5 autres dispositifs de traitement (206) ; un bus de données (DATA) couplant le premier dispositif de traitement (202) à chacun des circuits mémoire (204), dans lequel chacun des circuits mémoire (204) a-un port de données qui a une largeur de m bits et le bus de données a une largeur de n 10 bits, n étant supérieur à m, le premier dispositif de traitement (202) étant adapté à fournir une ou plusieurs premières adresses pour une valeur de données de n bits à lire ou écrire par l'intermédiaire du bus de données, dans lequel le premier dispositif de traitement et/ou un autre circuit (208) sont adaptés 15 à lire ou écrire la valeur de données de n bits dans le premier circuit mémoire (204) : - en convertissant la première adresse en une pluralité de deuxièmes adresses correspondant à des emplacements mémoire de m bits dans le premier circuit mémoire, au moins deux de la 20 pluralité de deuxièmes adresses étant des adresses contiguës ; et - en réalisant l'opération de lecture ou d'écriture de la valeur de données de n bits dans le premier circuit mémoire sur une pluralité d'opérations d'accès mémoire.\n<CLM>\1\tDispositif informatique selon la revendication 1, 25 dans lequel la largeur n du bus de données est un multiple p de la largeur m du port de données de chaque circuit mémoire, et dans lequel il y a p circuits mémoire.\n<CLM>\1\tDispositif informatique selon la revendication 1 ou 2, dans lequel la conversion d'adresse comprend une permutation 30 d'adresses telle qu'un ou plusieurs des bits les plus significatifs (MSB) desdites une ou plusieurs premières adresses deviennent un ou plusieurs bits les moins significatifs (LSB) de la pluralité de deuxièmes adresses désignant le premier circuit mémoire. 3042050 B14697FR 37\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 3, dans lequel lesdites une ou plusieurs premières adresses sont des adresses dans un espace d'adressage (HGAS) du premier dispositif de traitement, et les adresses de la pluralité de deuxièmes adresses sont des adresses dans un espace d'adressage local (DLAS) desdits un ou plusieurs autres dispositifs de traitement, dans lequel l'espace d'adressage local est linéaire ou linéaire par segments.\n<CLM>\1\tDispositif informatique selon l'une quelconque des 10 revendications 1 à 4, comprenant en outre un cache de données (1000), et un circuit de permutation de données (1001, 1116) adapté à réaliser une permutation de ligne de cache sur une ou plusieurs lignes (LO, Ll, L2) du cache de données (1000), le cache de données (1000) comportant des lignes de cache mémorisant 15 chacune une pluralité de mots de données, chaque mot de données comprenant une pluralité d'octets de données, et dans lequel la permutation de ligne de cache mémorise les octets formant un premier des mots de données dans des emplacements de mémorisation du cache associés au premier circuit mémoire. 20\n<CLM>\1\tDispositif informatique selon la revendication 5, dans lequel le cache de données (1000) est couplé aux circuits mémoire (204) par l'intermédiaire d'un bus de données, et dans lequel le circuit de permutation de données est un circuit de transposition d'octets (1116) couplé entre le bus de données et 25 le cache de données (1000) et adapté à réaliser la permutation de ligne de cache de chaque valeur de données mémorisée dans ou chargée à partir du cache.\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 6, dans lequel le premier dispositif de 30 traitement et/ou un autre circuit (208) sont adaptés à déterminer si lesdites une ou plusieurs premières adresses tombent dans un segment d'adresses associé à un ou plusieurs des autres dispositifs de traitement (206), et à réaliser la conversion d'adresse si lesdites une ou plusieurs premières adresses tombent 35 dans le segment d'adresses. 3042050 B14697FR 38\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 7, dans lequel une pluralité de bits les moins significatifs de la première adresse est identique à une pluralité de bits les moins significatifs de l'une des deuxièmes adresses. 5\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 8, dans lequel un registre de commande de plus de m bits est mappé vers l'espace d'adressage du premier circuit mémoire, le registre de connande comprenant au moins un bit de commande, dans lequel le premier dispositif de traitement (202) 10 est adapté à réaliser une opération d'écriture dans le registre de commande sur une pluralité d'opérations d'accès mémoire, un octet du registre de commande comprenant le bit de commande étant écrit par une opération finale des opérations d'accès en mémoire et impliquant une modification du bit de commande. 15\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 9, dans lequel le premier circuit mémoire (204,\n<CLM>\1\test une puce de circuit intégré intégrant une matrice mémoire (802) et lesdits un ou plusieurs autres dispositifs de traitement (DPU 0, DPU 1). 20\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 9, dans lequel le premier circuit mémoire (204,\n<CLM>\1\tcomprend une première puce de circuit intégré comprenant une matrice mémoire et une autre puce de circuit intégré comprenant lesdits un ou plusieurs autres dispositifs de traitement (DPU 0, 25 DPU 1).\n<CLM>\1\tDispositif informatique selon la revendication 10 ou 11, dans lequel le premier circuit mémoire (204,\n<CLM>\1\tcomprend une pluralité d'autres dispositifs de traitement (DPU 0, DPU\n<CLM>\1\tchacun étant associé à un espace d'adressage correspondant de la 30 matrice mémoire.\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 12, dans lequel le premier dispositif de traitement (202) comprend un ou plusieurs circuits de code de correction d'erreur (ECC) adaptés à insérer un ou plusieurs bits 35 ECC dans chaque valeur de m bits. 3042050 B14697FR 39\n<CLM>\1\tDispositif informatique selon l'une quelconque des revendications 1 à 13, dans lequel le premier dispositif de traitement (202) comprend un ou plusieurs circuits de code de correction d'erreur (ECC) adaptés à générer des bits ECC à 5 mémoriser dans le premier circuit mémoire (204) pendant une autre opération d'accès mémoire.\n<CLM>\1\tProcédé comprenant : réaliser, par un premier dispositif de traitement (202), une opération de lecture ou d'écriture d'une valeur de données de n bits dans un premier circuit mémoire (204) d'une pluralité de circuits mémoire par l'intermédiaire d'un bus de données (DATA) couplant le premier dispositif de traitement (202) à chacun des circuits mémoire, le premier circuit mémoire comprenant un ou plusieurs autres dispositifs de traitement (206), dans lequel chacun des circuits mémoire comporte un port de données qui a une largeur de m bits et le bus de données a une largeur de n bits, n étant supérieur à m, l'opération de lecture ou d'écriture comprenant : - fournir, par le premier dispositif de traitement (202), une ou plusieurs premières d'adresses pour une valeur de données de n bits à lire ou écrire par l'intermédiaire du bus de données ; - convertir la première adresse en une pluralité de deuxièmes adresses correspondant à des emplacements mémoire de m bits dans le premier circuit mémoire, au moins deux de la pluralité de deuxièmes adresses étant des adresses contiguës ; et réaliser l'opération de lecture ou d'écriture de la valeur de données de n bits dans le premier circuit mémoire sur une pluralité d'opérations d'accès mémoire.\n<CLM>\1\tProcédé selon la revendication 15, comprenant en outre la réalisation par le premier dispositif de traitement, d'une permutation de ligne de cache sur une ou plusieurs lignes (LO, Ll, L2) d'un cache de données (1000), le cache de données 3042050 B14697FR (1000) comportant des lignes de cache mémorisant chacune une pluralité de mots de données, chaque mot de données comprenant une pluralité d'octets de données, et dans lequel la permutation de ligne de cache mémorise les octets formant un premier des mots 5 de données dans des emplacements de mémorisation du cache associés au premier circuit mémoire.\n<CLM>\1\tSupport de stockage électronique mémorisant des instructions de programme qui amènent, lorsqu'elles sont exécutées par le premier dispositif de traitement (202), la mise en oeuvre 10 du procédé de la revendication 15 ou 16.