Brevet FR3131428A1 — publié le 20230630

Système de transfert direct de données La présente description concerne système comportant au moins un premier et un deuxième circuits mémoire ; et - un circuit de transfert direct de données qui est adapté à recevoir des instructions spécifiques en provenance d'un processeur externe, et à décoder des instructions spécifiques comprenant : - une instruction spécifique SET_REGION de définition d'une sous-région dans le premier circuit mémoire vers ou depuis laquelle seront transférées les données ; et - une instruction spécifique de transfert entre ladite sous-région et le deuxième circuit mémoire, l'instruction spécifique de transfert comprenant un premier champ d’adresses contenant les coordonnées relatives, dans ladite sous-région, d'une première cellule de référence. Figure pour l'abrégé : Fig. 7 Système de transfert direct de données La présente description concerne de façon générale le domaine des circuits mémoire, et vise plus particulièrement la mise en œuvre de transferts directs de données vers et depuis un circuit mémoire. On a déjà proposé des circuits mémoire adaptés à mettre en œuvre des opérations de calcul, ou circuit mémoire "intelligents" (souvent appelé "smart memory" en anglais). De tels circuits sont par exemple destinés à coopérer avec un processeur, de façon à décharger le processeur de certaines tâches de calcul. Néanmoins, les données utilisées pour les opérations de calcul demandées par un processeur à un tel circuit mémoire ne sont pas toujours présentes dans le circuit mémoire intelligent. En outre, même si elles sont présentes dans le circuit mémoire, elles ne sont pas forcément mémorisées dans un espace souhaité du circuit mémoire, ou selon un ordre de stockage idéal, ce qui peut nécessiter des opérations de manipulation de données dans le circuit mémoire par des lectures/écritures orchestrées par le processeur. Ainsi, il est souhaitable de trouver des solutions pour décharger encore davantage l’utilisation du processeur et de façon générale les canaux d’échange de données utilisés par le processeur. Plus généralement, dans tout système comprenant un processeur et un circuit mémoire, intelligent ou non, il est souvent nécessaire de réaliser des transferts de données entre le circuit mémoire et un autre dispositif, par exemple un autre circuit mémoire, et éventuellement de réorganiser les données lors du transfert. Là encore, il est souhaitable de trouver des solutions pour décharger l’utilisation du processeur et de façon générale les canaux d’échange de données utilisés par le processeur lors de la mise en œuvre de tels transferts. Un mode de réalisation prévoit un système comportant : - au moins un premier et un deuxième circuits mémoire ; et - un circuit de transfert direct de données entre les premier et deuxième circuits mémoire, dans lequel le circuit de transfert direct est adapté à recevoir des instructions spécifiques en provenance d'un processeur externe, et à décoder lesdites instructions et commander en conséquence des transferts de données entre les premier et deuxième circuits, dans lequel lesdites instructions spécifiques comprennent : - une instruction spécifique SET_REGION de définition d'une sous-région dans le premier circuit mémoire vers ou depuis laquelle seront transférées les données ; et - une instruction spécifique de transfert entre ladite sous-région et le deuxième circuit mémoire, l'instruction spécifique de transfert comprenant un premier champ d’adresses contenant les coordonnées relatives, dans ladite sous-région, d'une première cellule de référence, et dans lequel le circuit de transfert direct est adapté à exécuter plusieurs instructions de transfert successives vers ou depuis une même sous-région entre deux exécutions d’une instruction SET_REGION. Selon un mode de réalisation du système, le système est tel que : - ladite sous-région est une suite d'emplacements consécutifs en terme d’adressage dans le premier circuit mémoire, contenant les éléments d'une matrice; - l'instruction SET_REGION comprend un premier champ contenant l'adresse d'une première cellule mémoire de la sous-région, un deuxième champ contenant la dimension des éléments de la matrice, et un troisième champ contenant la largeur des lignes de la matrice ; et - ledit premier champs d’adresse de l'instruction de transfert comprend des premier et deuxième sous-champs contenant les coordonnées, ligne et colonne, dans ladite matrice de la première cellule de référence. Selon un mode de réalisation du système, le système est tel que le deuxième circuit mémoire est un circuit mémoire intelligent adapté à mettre en œuvre des opérations de calcul et à réaliser des opérations élémentaires incluant une lecture ou une écriture de données dans le circuit mémoire ou un calcul à partir de données présentes dans le circuit mémoire, et dans lequel le circuit de transfert direct est associé audit deuxième circuit mémoire soit de par son positionnement matériel proche du deuxième circuit mémoire soit de par une configuration du circuit de transfert direct au moyen par exemple d’un registre de configuration du circuit de transfert direct qui est accessible au processeur externe, le circuit de transfert direct connaissant, du fait de cette association, la plage d’adresses système permettant d’accéder au circuit mémoire intelligent via un bus système comprenant un bus d’adresses ; et dans lequel l'instruction spécifique de transfert comprend un deuxième champs d’adresse contenant les coordonnées relatives, dans cette plage d’adresse système dédiée au circuit mémoire intelligent, d'une deuxième cellule de référence, le nombre de bits du deuxième champs d’adresse étant inférieur à la taille du bus d’adresses. Selon un mode de réalisation du système, le système est tel qu’il comprend une instruction spécifique READ_TRANSFER de commande d'un transfert d'une séquence de données depuis ladite sous-région du premier circuit mémoire vers le deuxième circuit mémoire intelligent, et comprenant une instruction spécifique WRITE_TRANSFER de commande d'un transfert d'une séquence de données depuis le deuxième circuit mémoire intelligent vers ladite sous-région dans premier circuit mémoire. Selon un mode de réalisation du système, le système est tel qu’il comprend un premier jeu de registres d’adressage mémorisant des premières valeurs du premier champ, du deuxième champ et du troisième champ d’une première instruction SET-REGION reçue par le circuit de transfert direct et comprenant en outre un deuxième jeu de registres d’adressage mémorisant des deuxièmes valeurs du premier champ, du deuxième champ et du troisième champ d’une deuxième instruction SET-REGION reçue par le circuit de transfert direct pour définir une deuxième sous-région ; et dans lequel une instruction spécifique de transfert comprend un deuxième champs d’adresse contenant les coordonnées relatives, dans ladite deuxième sous-région, d'une première cellule de référence dans cette deuxième sous-région. Selon un mode de réalisation du système, le système est tel que l'instruction spécifique de transfert comprend en outre un quatrième champ définissant un décalage en lecture, dans le premier circuit mémoire source, entre deux itérations consécutives d'un motif élémentaire à transférer, un cinquième champ définissant un décalage en écriture, dans le deuxième circuit mémoire destination, entre deux itérations consécutives du motif élémentaire à transférer, un sixième champ définissant le nombre d'itérations du motif élémentaire à transférer, et un septième champ définissant le motif élémentaire de la séquence à transférer. Selon un mode de réalisation du système, le système est tel que le circuit de transfert direct comprend une mémoire contenant une pluralité de motifs élémentaires prédéfinis, l'instruction de transfert comprenant un champ contenant un code de sélection de l'un desdits motif élémentaire prédéfini. Selon un mode de réalisation du système, le système est tel que lesdites instructions spécifiques comprennent une instruction spécifique de commande d'un transfert interne de données au sein du même circuit mémoire. Selon un mode de réalisation du système, le système est tel qu’il comprend une liaison interne d'échange de données reliant directement le deuxième circuit mémoire au circuit de transfert direct. Selon un mode de réalisation du système, le système est tel qu’il comporte au moins un troisième circuit mémoire, le circuit de transfert direct étant en outre adapté à transférer directement des données entre les premier et troisième circuits mémoire et entre les deuxième et troisième circuits mémoire. Selon un mode de réalisation du système, le système est tel que le circuit de transfert direct est adapté à transférer une séquence de données entre les premier et deuxième circuits mémoire appelés respectivement circuit mémoire source et circuit mémoire destination, une sous-région du circuit mémoire source comprenant une suite d'emplacements consécutifs en terme d’adressage contenant les éléments d'une matrice de données, dans lequel le circuit de transfert direct est adapté à recevoir et décoder une information de noyau de calcul dite BIT_PATTERN d’un motif élémentaire de données à transférer défini à partir d’une matrice élémentaire d’une taille prédéfinie inférieure à la taille de ladite matrice de données et destinée à identifier une fenêtre matricielle élémentaire de ladite matrice, chaque élément de la matrice élémentaire comprenant un bit pouvant prendre un premier ou un deuxième état selon respectivement que l’élément n’appartient pas ou appartient audit motif, la matrice élémentaire du BIT_PATTERN comprenant un élément de référence ; le circuit de transfert direct recevant une adresse source pour un premier motif à transférer, cette adresse source correspondant à l’adresse dans ladite sous-région dudit élément de référence du BIT_PATTERN et correspondant à une donnée de référence de ladite matrice de données située à cette adresse source, les autres éléments du BIT_PATTERN étant associés à d’autres données de ladite matrice par positionnement relatif par rapport respectivement à l’élément de référence du BIT_PATTERN et à la donnée de référence de ladite matrice ; le circuit de transfert direct étant adapté, lors de l'exécution du transfert d’un motif élémentaire, à récupérer les données de ladite matrice associées à des éléments du BIT_PATTERN dont le bit est audit deuxième état. Un autre mode de réalisation prévoit un système comportant : - un processeur ; - un circuit de transfert direct d’une séquence de données entre un circuit mémoire source et un circuit mémoire destination sans passer par le processeur, une sous-région du circuit mémoire source comprenant une suite d'emplacements consécutifs en terme d’adressage contenant les éléments d'une matrice de données, dans lequel le circuit de transfert direct est adapté à recevoir et décoder une information de noyau de calcul dite BIT_PATTERN d’un motif élémentaire de données à transférer défini à partir d’une matrice élémentaire d’une taille prédéfinie inférieure à la taille de ladite matrice de données et destinée à identifier une fenêtre matricielle élémentaire de ladite matrice, chaque élément de la matrice élémentaire comprenant un bit pouvant prendre un premier ou un deuxième état selon respectivement que l’élément n’appartient pas ou appartient audit motif, la matrice élémentaire du BIT_PATTERN comprenant un élément de référence ; le circuit de transfert direct recevant une adresse source pour un premier motif à transférer, cette adresse source correspondant à l’adresse dans ladite sous-région dudit élément de référence du BIT_PATTERN et correspondant à une donnée de référence de ladite matrice de données située à cette adresse source, les autres éléments du BIT_PATTERN étant associés à d’autres données de ladite matrice par positionnement relatif par rapport respectivement à l’élément de référence du BIT_PATTERN et à la donnée de référence de ladite matrice ; le circuit de transfert direct étant adapté, lors de l'exécution du transfert d’un motif élémentaire, à récupérer les données de ladite matrice associées à des éléments du BIT_PATTERN dont le bit est audit deuxième état. Selon un mode de réalisation, le système est tel que ledit circuit de transfert direct est adapté à parcourir ladite matrice élémentaire du BIT_PATTERN selon un sens prédéfini en considérant ainsi une suite d’éléments de la matrice élémentaire présentant ledit deuxième état et à transférer successivement les données de la matrice présentes dans la le circuit mémoire source et respectivement associées à cette suite d’éléments. Selon un mode de réalisation, le système est tel que ledit circuit de transfert direct est adapté à écrire, dans le circuit mémoire destination, les données récupérées pour un motif élémentaire autour d’une donnée de référence en les ré-agençant selon un vecteur ligne ou colonne, et dans lequel le circuit mémoire destination est un circuit mémoire intelligent adapté à mettre en oeuvre des opérations de calcul et à réaliser des opérations élémentaires incluant une lecture ou une écriture de données dans le circuit mémoire ou un calcul à partir de données présentes dans le circuit mémoire. Selon un mode de réalisation, le système est tel que ladite sous-région est une suite d'emplacements consécutifs en terme d’adressage définis à partir d’une adresse de base BASE_ADDR contenant l'adresse d'une première cellule mémoire de la sous-région, chaque donnée de la matrice présentant une dimension définie par un paramètre EL_SIZE, la largeur des lignes de la matrice étant définie par un paramètre R_WIDTH ; l’adresse d’une donnée de la matrice étant définie par des coordonnées relatives Xpos et Ypos correspondant aux coordonnées, ligne et colonne, dans ladite matrice et à partir de ladite adresse de base BASE_ADDR, et dudit paramètre EL_SIZE, et dans lequel les données de la matrice sont rangées selon un sens de parcours prédéfini de la matrice. Selon un mode de réalisation, le système est tel que les coordonnées S[i].x, dans la direction des lignes, et S[i].y, dans la direction des colonnes, d’un élément de ladite matrice élémentaire associée à un BIT PATTERN sont définies par des indices positifs ou négatifs autour de coordonnées nulles associées audit élément de référence de la matrice élémentaire, les indices positifs ou négatifs d’une coordonnée d’un élément de la matrice élémentaire étant définis en fonction de ladite matrice de données et dudit sens de parcours prédéfini de ladite matrice élémentaire. Selon un mode de réalisation, le système est tel que l’adresse Addr(Ax,y) d’une donnée de la matrice est définie selon la formule suivante : Addr(Ax,y)=BASE_ADDR+EL_SIZE*(Xpos*R_WIDTH+YPos), et dans lequel l’adresse Addr(S[i]) d’une donnée de la matrice correspondant à un élément du BIT_PATTERN à transférer est définie selon la formule suivante : Addr(S[i])=BASE_ADDR+EL_SIZE*(S[i].x*R_WIDTH+S[i].y). Selon un mode de réalisation, le système est tel que ladite séquence de données comprend plusieurs itérations de transfert d’un même motif élémentaire défini à partir d’un même BIT_PATTERN associé à ladite suite d’éléments de la matrice élémentaire, chaque itération de transfert visant à transférer des données situées respectivement dans plusieurs fenêtres matricielles élémentaires prédéfinies de mêmes dimensions du circuit mémoire source et décalées les unes par rapport aux autres, les décalages étant définis par une suite de décalages d’adresses à partir de l’adresse de la donnée source de la première fenêtre élémentaire , et dans lequel le circuit de transfert direct est adapté, lors de l'exécution du transfert, à réaliser pour chaque élément de la suite d’éléments, une suite de lecture dans le circuit mémoire source des données correspondant à un même élément de la matrice élémentaire mais situées respectivement dans lesdites plusieurs fenêtres matricielles élémentaires, en définissant les adresses successives des données de cette suite à partir de l’adresse d’une première donnée correspondant à cet élément et associée à une première fenêtre matricielle élémentaire et de ladite suite de décalages et dans lequel le circuit de transfert est adapté à transférer les données desdites fenêtres matricielles élémentaires en les agençant respectivement selon des vecteurs colonne distincts dans le circuit mémoire destination, une suite de données associées à un même élément de matrice élémentaire du BIT PATTERN étant écrites dans des emplacement successifs en terme d’adressage de la mémoire destination dans une ou plusieurs lignes de la mémoire destination. Selon un mode de réalisation, le système est tel que le circuit de transfert direct est adapté à recevoir et décoder les paramètres de transfert suivants : - SEQ_LEN : le nombre d'itérations du motif élémentaire dans la séquence de données à transférer ; - SRC_OFFSET : le décalage des adresses sources entre deux itérations successives du motif élémentaire de la séquence de données à transférer ; - DST_OFFSET : le décalage des adresses d'écriture, dans le circuit mémoire destination entre deux itérations successives du motif élémentaire de la séquence de données à transférer. Selon un mode de réalisation, le système est tel qu’il comporte au moins un premier et un deuxième circuits mémoire ; et - le circuit de transfert direct étant adapté à transférer directement des données entre les premier et deuxième circuits mémoire, dans lequel le circuit de transfert direct est adapté à recevoir des instructions spécifiques en provenance d'un processeur externe, et à décoder lesdites instructions et commander en conséquence des transferts de données entre les premier et deuxième circuits, dans lequel lesdites instructions spécifiques comprennent : - une instruction spécifique SET_REGION de définition d'une sous-région dans le premier circuit mémoire vers ou depuis laquelle seront transférées les données ; et - une instruction spécifique de transfert entre ladite sous-région et le deuxième circuit mémoire, l'instruction spécifique de transfert comprenant un premier champ d’adresses contenant les coordonnées relatives, dans ladite sous-région, d'une première cellule de référence, et dans lequel le circuit de transfert direct est adapté à exécuter plusieurs instructions de transfert successives vers ou depuis une même sous-région entre deux exécutions d’une instruction SET_REGION. 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 représente de façon schématique un exemple d'un circuit mémoire adapté à mettre en œuvre des opérations de calcul ; la représente de façon schématique un exemple d'un système comportant un module mémoire adapté à mettre en œuvre des opérations de calcul et un circuit de transfert de données couplé audit module mémoire selon un mode de réalisation ; la illustre plus en détail un exemple d'implémentation du système de la ; la représente un exemple de réalisation d'un circuit de transfert de données du module mémoire de la ; la illustre schématiquement un exemple d'un traitement pouvant nécessiter une réorganisation des données dans un circuit mémoire ; la illustre un exemple d'agencement des valeurs des pixels d'une image dans un circuit mémoire ; la illustre schématiquement un exemple de format d'un signal d'instruction utilisé par le processeur pour commander le circuit de transfert de données dans le système de la ; la illustre schématiquement l'exécution d'une opération de transfert de données dans le système de la ; la représente de façon schématique et partielle un exemple d'implémentation d'un circuit de contrôle du circuit de transfert de données du système de la ; la représente schématiquement un exemple d'un système de transfert de données selon un mode de réalisation ; et la représente schématiquement le fonctionnement d'un exemple d'un système de transfert selon un mode de réalisation. Système (200) comportant : - au moins un premier (253 ; MEM1) et un deuxième (201 ; MEM2) circuits mémoire ; et - un circuit (203 ; SDMA) de transfert direct de données entre les premier (253 ; MEM1) et deuxième (201 ; MEM2) circuits mémoire, dans lequel le circuit de transfert direct (203 ; SDMA) est adapté à recevoir des instructions spécifiques en provenance d'un processeur externe (231 ; CPU), et à décoder lesdites instructions et commander en conséquence des transferts de données entre les premier (253 ; MEM1) et deuxième (201 ; MEM2) circuits, dans lequel lesdites instructions spécifiques comprennent : - une instruction spécifique SET_REGION de définition d'une sous-région dans le premier circuit mémoire (253 ; MEM1) vers ou depuis laquelle seront transférées les données ; et - une instruction spécifique de transfert (READ_TRANSFER, WRITE_TRANSFER, COPY) entre ladite sous-région et le deuxième circuit mémoire (201 ; MEM2), l'instruction spécifique de transfert comprenant un premier champ d’adresses contenant les coordonnées relatives, dans ladite sous-région, d'une première cellule de référence (S1 R ; @0), et dans lequel le circuit de transfert direct (203 ; SDMA) est adapté à exécuter plusieurs instructions de transfert (READ_TRANSFER ; WRITE_TRANSFER ; COPY) successives vers ou depuis une même sous-région entre deux exécutions d’une instruction SET_REGION. Système (200) selon la revendication 1, dans lequel : - ladite sous-région est une suite d'emplacements consécutifs en terme d’adressage dans le premier circuit mémoire (253 ; MEM1), contenant les éléments (A x,y ; B x,y ) d'une matrice (A ; B) ; - l'instruction SET_REGION comprend un premier champ (BASE_ADDR) contenant l'adresse d'une première cellule mémoire de la sous-région, un deuxième champ (EL_SIZE) contenant la dimension des éléments de la matrice (A ; B), et un troisième champ (R_WIDTH) contenant la largeur des lignes de la matrice (A ; B) ; et - ledit premier champs d’adresse de l'instruction de transfert comprend des premier (X pos) et deuxième (Y pos) sous-champs contenant les coordonnées, ligne et colonne, dans ladite matrice de la première cellule de référence. Système (200) selon la revendication 1 ou 2, dans lequel le deuxième circuit mémoire (201) est un circuit mémoire intelligent adapté à mettre en œuvre des opérations de calcul et à réaliser des opérations élémentaires incluant une lecture ou une écriture de données dans le circuit mémoire ou un calcul à partir de données présentes dans le circuit mémoire, et dans lequel le circuit de transfert direct (203 ; SDMA) est associé audit deuxième circuit mémoire (201) soit de par son positionnement matériel proche du deuxième circuit mémoire soit de par une configuration du circuit de transfert direct au moyen par exemple d’un registre de configuration du circuit de transfert direct qui est accessible au processeur externe, le circuit de transfert direct connaissant, du fait de cette association, la plage d’adresses système permettant d’accéder au circuit mémoire intelligent via un bus système comprenant un bus d’adresses ; et dans lequel l'instruction spécifique de transfert comprend un deuxième champs d’adresse contenant les coordonnées relatives, dans cette plage d’adresse système dédiée au circuit mémoire intelligent, d'une deuxième cellule de référence (S1 R ; @0), le nombre de bits du deuxième champs d’adresse étant inférieur à la taille du bus d’adresses. Système (200) selon la revendication 3, comprenant une instruction spécifique READ_TRANSFER de commande d'un transfert d'une séquence de données depuis ladite sous-région du premier circuit mémoire (253 ; MEM1) vers le deuxième circuit mémoire intelligent (201 ; MEM2), et comprenant une instruction spécifique WRITE_TRANSFER de commande d'un transfert d'une séquence de données depuis le deuxième circuit mémoire intelligent (201 ; MEM2) vers ladite sous-région dans premier circuit mémoire (253 ; MEM1). Système selon la revendication 2, comprenant un premier jeu de registres d’adressage mémorisant des premières valeurs du premier champ (BASE_ADDR), du deuxième champ (EL_SIZE) et du troisième champ (R_WIDTH) d’une première instruction SET-REGION reçue par le circuit de transfert direct (203 ; SDMA) et comprenant en outre un deuxième jeu de registres d’adressage mémorisant des deuxièmes valeurs du premier champ (BASE_ADDR), du deuxième champ (EL_SIZE) et du troisième champ (R_WIDTH) d’une deuxième instruction SET-REGION reçue par le circuit de transfert direct (203 ; SDMA) pour définir une deuxième sous-région ; et dans lequel une instruction spécifique de transfert comprend un deuxième champs d’adresse contenant les coordonnées relatives, dans ladite deuxième sous-région, d'une première cellule de référence (S1 R ; @0) dans cette deuxième sous-région. Système (200) selon la revendication 3, dans lequel l'instruction spécifique de transfert (READ_TRANSFER, WRITE TRANSFER, COPY) comprend en outre un quatrième champ (Src off.) définissant un décalage en lecture, dans le premier circuit mémoire source, entre deux itérations consécutives d'un motif élémentaire à transférer, un cinquième champ (Dst off.) définissant un décalage en écriture, dans le deuxième circuit mémoire destination, entre deux itérations consécutives du motif élémentaire à transférer, un sixième champ (Length) définissant le nombre d'itérations du motif élémentaire à transférer, et un septième champ (Pattern) définissant le motif élémentaire de la séquence à transférer. Système (200) selon l'une quelconque des revendications précédentes, dans lequel le circuit de transfert direct (203 ; SDMA) comprend une mémoire contenant une pluralité de motifs élémentaires prédéfinis, l'instruction de transfert (READ_TRANSFER ; WRITE_TRANSFER ; COPY) comprenant un champ contenant un code de sélection de l'un desdits motif élémentaire prédéfini. Système (200) selon l'une quelconque des revendications précédentes, dans lequel lesdites instructions spécifiques comprennent une instruction spécifique (COPY) de commande d'un transfert interne de données au sein du même circuit mémoire. Système (200) selon l'une quelconque des revendications précédentes, comprenant une liaison interne (204) d'échange de données reliant directement le deuxième circuit mémoire (201) au circuit de transfert direct (203). Système selon l'une quelconque des revendications 1 à 9, comportant au moins un troisième circuit mémoire (MEM3), le circuit de transfert direct (SDMA) étant en outre adapté à transférer directement des données entre les premier (MEM1) et troisième (MEM3) circuits mémoire et entre les deuxième (MEM2) et troisième (MEM3) circuits mémoire. Système (200) selon l'une quelconque des revendications 1 à 9, dans lequel le circuit (SDMA) de transfert direct est adapté à transférer une séquence de données entre les premier et deuxième circuits mémoire appelés respectivement circuit mémoire source et circuit mémoire destination, une sous-région du circuit mémoire source comprenant une suite d'emplacements consécutifs en terme d’adressage contenant les éléments (A x,y ; B x,y ) d'une matrice de données (A ; B), dans lequel le circuit de transfert direct (SDMA) est adapté à recevoir et décoder une information de noyau de calcul dite BIT_PATTERN d’un motif élémentaire de données à transférer défini à partir d’une matrice élémentaire d’une taille prédéfinie inférieure à la taille de ladite matrice de données et destinée à identifier une fenêtre matricielle élémentaire de ladite matrice, chaque élément de la matrice élémentaire comprenant un bit pouvant prendre un premier ou un deuxième état selon respectivement que l’élément n’appartient pas ou appartient audit motif, la matrice élémentaire du BIT_PATTERN comprenant un élément de référence (S) ; le circuit de transfert direct (SDMA) recevant une adresse source pour un premier motif à transférer, cette adresse source correspondant à l’adresse dans ladite sous-région dudit élément de référence du BIT_PATTERN et correspondant à une donnée de référence de ladite matrice de données située à cette adresse source, les autres éléments du BIT_PATTERN étant associés à d’autres données de ladite matrice par positionnement relatif par rapport respectivement à l’élément de référence du BIT_PATTERN et à la donnée de référence de ladite matrice ; le circuit de transfert direct étant adapté, lors de l'exécution du transfert d’un motif élémentaire, à récupérer les données de ladite matrice associées à des éléments du BIT_PATTERN dont le bit est audit deuxième état.