Brevet FR2808605A1 — publié le 20011109

La présente invention concerne un procédé de transfert données entre au moins deux mémoires par l'intermédiaire d'au moins un de communication et d'un initiateur du transfert des données sur ledit au moins un bus. Dans les systèmes informatiques, on connaît des méthodes transfert données entre deux mémoires reliées entre elles par l'intermédiaire d'un bus communication, par exemple de type PCI (acronyme signifiant terminologie anglo-saxonne "Peripheral Component Interconnect"). La connexion de chacune de ces mémoires avec le bus communication est réalisée à travers un adaptateur de bus ou un contrôleur bus. Au moins un de ces adaptateurs ou contrôleurs comporte initiateur de transfert des données sur le bus qui est par exemple un contrôleur du transfert en mode d'accès direct en mémoire ou contrôleur DMA (connu en terminologie anglo-saxonne sous le terme de "Direct Memory Access"). Lorsqu'un transfert de données est initié par le contrôleur depuis une des mémoires dite "source" vers l'autre zone mémoire dite "cible", contrôleur DMA ou initiateur du transfert présente sur le bus de communication l'adresse de la mémoire à laquelle doivent être transférées lesdites données lors d'un cycle d'écriture ou l'adresse de la mémoire à partir de laquelle doivent être transférées lesdites données lors d'un cycle de lecture. Cette adresse a été préalablement déterminée par exemple par l'unité centrale de traitement du système informatique considéré. Dans le cas d'un bus PCI cette adresse est exprimée sur bits. Cette adresse comporte un premier champ contenant des informations qui permettent d'identifier les différentes mémoires accessibles via le bus PCI. La structure de cette adresse fait également apparaitre un deuxième champ représentatif de la position de la prochaine donnée à transférer dans la mémoire identifiée par le premier champ. Le processeur qui ordonne le transfert, pouvant être par exemple l'unité centrale de traitement du système, doit informer le contrôleur ou initiateur du transfert au moins de l'adresse de début et du nombre de données à transférer. Entre chaque transfert de données le contrôleur DMA ou initiateur de transfert génère automatiquement la nouvelle adresse en incrémentant l'adresse courante de la taille de la donnée qui vient d'être transférée. Dans le cas d'un transfert en mode rafale (connu en terminologie anglosaxonne sous 1e terme "burst mode"), cette adresse n'est pas présentée pour chaque donnée sur le bus PCI. Elle est cependant mémorisée par l'initiateur du transfert pour pouvoir reprendre le transfert après interruption, dans cas par exemple où un transfert plus prioritaire doit intervenir le bus PCI. A la reprise du transfert, l'initiateur dudit transfert devra repositionner sur le bus PCI une adresse. II utilisera l'adresse aura mémorisée précédemment. Cette adresse aura pour valeur l'adresse utilisée à l'initialisation du transfert incrémentée du nombre de données déjà transférées. Après positionnement sur le bus de l'adresse référençant la donnée à transférer, l'adaptateur de bus associé à la mémoire source" concernée par le transfert positionne sur le bus une donnée ou une série de plusieurs données destinées à l'adaptateur de bus associé à la mémoire "cible". Une seule donnée est positionnée sur le bus pour une adresse dans le cas d'un transfert simple et une série de données est positionnée sur le bus après positionnement de l'adresse dans le cas d'un transfert en mode "rafale". La Demanderesse s'est aperçue que cette méthode transfert n'est adaptée lorsque la mémoire concernée par le transfert comporte un accès unique comme c'est le cas avec des mémoires de type "FIFO", FO"... En effet, dans le cas d'une opération d'écriture vers une mémoire à accès unique, l'initiateur du transfert ou contrôleur DMA fournit adresse sur bus et des données destinées à la mémoire à accès unique. Cette adresse varie car l'initiateur incrémente à chaque transfert l'adresse de destination même si cette adresse n'est pas positionnée sur le , comme c'est le pour un transfert en mode rafale . Ainsi, lorsque le transfert est interrompu, lors de la reprise du transfert l'initiateur positionne l'adresse à laquelle il est arrivé sur le bus. L'adaptateur de bus relié à la mémoire à accès unique va donc voir des données destinées à des adresses différentes d'après l'initiateur du transfert, mais qui sont en fait destinées à la mémoire à accès unique. Cet adaptateur ne va donc transférer les données à la mémoire unique. Pour résoudre ce problème, la société Motorola propose un contrôleur DMA inclus dans un composant de communication portant la référence commerciale MC68360. Ce composant dispose d'un registre dans lequel il possible d'invalider l'incrément automatique effectué par le contrôleur de l'adresse concernée par le transfert. Toutefois, cette solution n'est pas satisfaisante étant donné qu'il s'agit d'un composant intégré, coûteux et qui n'est notamment pas compatible avec les bus de type PCI. Par ailleurs, le choix d'un tel composant pour résoudre le problème susvisé semble disproportionné puisque cette fonctionnalité offerte par ce composant ne représente qu'une infime partie de ses fonctionnalités. Par conséquent, il serait intéressant de trouver une solution simple au problème susvisé. La présente invention a ainsi pour objet un procédé de transfert de données entre au moins deux mémoires par l'intermédiaire d'au moins un bus de communication et d'un initiateur du transfert sur ledit au moins un bus, l'une desdites mémoires à accéder étant appelée mémoire cible, ledit procédé comportant les étapes suivantes positionnement d'une adresse de la mémoire cible sur le bus, positionnement d'au moins une donnée sur le bus, incrémentation d'une partie de ladite adresse de la mémoire cible lors de chaque transfert d'au moins une donnée, caractérisé en ce que ledit procédé comporte une étape d'interprétation de l'adresse pour identifier la mémoire cible à accès unique et qui ne prend pas en compte la partie de l'adresse modifiée lors de l'étape d'incrémentation. Ainsi, si la mémoire cible est une mémoire à accès unique, même si l'initiateur transfert incrémente l'adresse, le contrôleur de mémoire qui est relié à la mémoire à accès unique n'interprète pas la partie incrémentée l'adresse et il adressera les données à la mémoire à accès unique. Si ce n' pas la mémoire cible qui est à accès unique mais la mémoire présente sur carte de l'initiateur, l'initiateur présente l'adresse incrémentée au contrôleur mémoire de sa carte et celui-ci n'interprète pas la partie incrémentée l'adresse pour savoir quelle est la mémoire à laquelle il doit accéder. On résout donc de manière simple le problème d'accès à mémoire à accès unique puisque la fonction d'incrémentation automatique l'adresse n'est pas inhibée comme dans l'art antérieur. Selon une caractéristique, lorsque la mémoire cible comporte moins deux zones mémoires à accès unique, l'une desdites zones mémoires accéder étant appelée zone mémoire cible, l'adresse de cette zone mémoire cible à accès unique comporte au moins un champ qui comporte un premier sous-champ représentatif de la zone mémoire cible à accès unique et deuxième sous-champ sur lequel est appliquée l'étape d'incrémentation. Le fait de ne pas interpréter le deuxième sous-champ l'adresse simplifie l'étape d'interprétation de l'adresse et donc le procédé de transfert. Corrélativement, l'invention propose un dispositif de transfert de données entre moins deux mémoires par l'intermédiaire d'au moins un bus de communication et d'un initiateur du transfert sur ledit au moins un , l'une desdites mémoires à accéder étant appelée mémoire cible, ledit dispositif comportant - moyen de positionnement d'une adresse de la mémoire cible sur le bus, - un moyen de positionnement d'au moins une donnée sur le bus, - moyen d'incrémentation d'une partie de ladite adresse de la mémoire cible lors de chaque transfert d'au moins une donnée, caractérisé en ce que ledit dispositif comporte un moyen d'interprétation l'adresse pour identifier la mémoire cible à accès unique et qui ne prend pas en compte la partie de l'adresse modifiée par ledit moyen d'incrémentation. Selon un autre aspect, l'invention propose un appareil de traitement de données comportant un dispositif tel que décrit précédemment. L'invention vise par ailleurs un moyen de stockage d'informations, éventuellement totalement ou partiellement amovible, lisible par un ordinateur ou un processeur contenant des instructions d'un programme d'ordinateur, caractérisé en ce qu'il permet la mise en oeuvre du procédé de transfert de données tel que brièvement exposé ci-dessus. L'invention vise également une interface permettant de recevoir les instructions d'un programme d'ordinateur, caractérisé en ce qu'il permet la mise en oeuvre du procédé de transfert de données tel que brièvement exposé ci-dessus. L'invention vise également un "produit programme d'ordinateur" comportant des séquences d'instructions ou des portions de code logiciel adaptées â mettre en oeuvre le procédé de transfert de données conforme â l'invention. Les avantages et caractéristiques propres au dispositif de transfert de données, ' l'appareil de traitement de données comportant un tel dispositif ainsi qu'aux moyens de stockage d'informations, à l'interface et au "produit programme d'ordinateur" étant les mêmes que ceux exposés ci-dessus concernant procédé de transfert de données selon l'invention, ils ne seront pas rappelés D'autres caractéristiques et avantages apparaîtront au cours de la description va suivre donnée à titre d'exemple illustratif et non limitatif, faite en référence aux dessins annexés sur lesquels la figure 1 représente un dispositif mettant en oeuvre l'invention - la figure 2 représente l'organisation de la mémoire à acces unique ; - la figure 3 représente une adresse mémoire telle que décrite dans l'invention ; - la figure 4 représente un algorithme de calcul de la taille premier sous-champ 62 de l'adresse mémoire de la figure 3 ; - la figure 5 représente un algorithme de calcul de la taille du deuxième sous-champ 63 de l'adresse mémoire de la figure 3 ; - la figure 6 représente l'algorithme de codage de l'adresse mémoire de la figure 3 ; - la figure 7 représente l'algorithme de décodage de l'adresse mémoire de la figure 3 ; - la figure 8 représente un algorithme illustrant un transfert de données entre deux zones mémoires ; - la figure 9 représente les mécanismes d'écriture de données en mode rafale qui interviennent entre l'adaptateur de bus 33 (respectivement 23) et la zone mémoire 32 (respectivement 22) de la figure 1. La figure 1 représente un dispositif de transfert de données permettant de mettre en oeuvre l'invention et qui est désigné par la référence générale notée 1. Le dispositif comporte un bus communication 10 qui est par exemple un bus de type PCI (acronyme signifiant en terminologie anglo- saxonne "Peripheral Component Interconnect"). Le dispositif selon l'invention comporte également des cartes électroniques 2, 3 et 4 mises en relation par le 10. La carte 2 est par exemple carte dite mère comportant au moins un processeur ou unité centrale de traitement 11, une mémoire 12 et un contrôleur de bus PCI 13. Le processeur est par exemple un processeur de la famille Intel de type pentium, le contrôleur par exemple un contrôleur de bus de la famille Intel de type Triton de "férences 82439HX et 82371 SB et la mémoire est par exemple une mémoire de type DRAM (acronyme signifiant en terminologie anglo-saxonne "Dynamic Random Access Memory"). La mémoire 12 constitue un moyen de stockage d'informations, éventuellement totalement ou partiellement amovible et lisible par un ordinateur ou un processeur. Cette mémoire contient des instructions ou portions de code logiciel d'un programme d'ordinateur qui, lorsqu'il exécuté, permet de mettre en oeuvre le procédé de transfert de données selon l'invention. Les étapes de chaque algorithme représenté sur les figures 4 à 8 correspondent à des instructions ou portions code logiciel d'un programme d'ordinateur qui est basé sur l'algorithme en question et qui peut être stocké dans la mémoire 12. Les cartes 3 et 4 sont par exemple des cartes de communication comportant des interfaces respectives 23 et avec le bus PCI 10 et pouvant être, par exemple, un composant de type AMCC S5933. Ces interfaces ou contrôleurs de bus PCI permettent de gérer les signaux propres à ce type de bus. Les cartes 3 et 4 comportent en outre des contrôleurs de mémoire respectifs 21 et 31 permettant de gérer l'accès respectif aux mémoires 22 et 32. Les contrôleurs de bus PCI 23 et 33 peuvent être également des initiateurs de transfert sur le bus PCI, c'est-à-dire qu'ils peuvent demander à être maître du bus, le contrôleur PCI 13 de la carte mère 2 étant, quant à lui généralement l'arbitre du bus. Le dispositif 1 comporte également une interface de communication 38 permettant la connexion vers un réseau 39 de type éthernet par exemple. L'interface 38 permet de recevoir les instructions ou portions code logiciel programme d'ordinateur qui, lorsqu'il est exécuté, permet mettre en oeuvre procédé de transfert de données selon l'invention. Comme représenté sur la figure 1, le dispositif 1 est intégré dans un appareil traitement de données 40 tel qu'une caméra. figure 2 représente la mémoire 22 qui est constituée plusieurs zones mémoires à accès unique notées 50, 51, 52, 53 et 54. Ces zones mémoires sont par exemple des mémoires de type FIFO, signifiant anglais "First-In First Out" pour "premier entré premier sorti", ou de type LIFO signifiant en anglais "Last-In First-Out" pour "dernier entré premier sorti". Ces zones mémoires peuvent être de tailles différentes. mémoire 32 peut également contenir des zones mémoires à accès unique. II convient de noter que l'adaptateur 23 peut non seulement communiquer avec la mémoire à accès unique 22 mais également avec d'autres types mémoires. figure 3 représente l'organisation d'une adresse mémoire 60 en deux champs 61 et 64, le champ 64 étant divisé en deux sous-champs 62 et 63, au sens de la présente invention. champ 61 permet de coder les différentes mémoires du système, c'est-a-dire les mémoires 12, 22 et 32. champ 64 permet de coder toutes les adresses d'une zone mémoire codée elle-même par le champ 61. l'initialisation du système, chaque composant qui nécessite de l'espace mémoire ou de l'espace d'entrée-sortie, demande au maître du bus la quantité d'espace d'adressage dont il a besoin. Le contrôleur PCI de la carte mère 2, après avoir analysé toutes les requêtes, alloue à tous les contrôleurs PCI du système de l'espace d'adressage en fonction de leur requête. Cette procédure est particulière au type de bus et, dans le mode de realisation préféré, au bus PCI. L'espace d'adressage du système est réparti entre les contrôleurs 13, 23 et 33. Ainsi, lorsqu'une adresse est positionnée sur le bus , les contrôleurs 23 et 33 la décodent et celui dont l'adresse fait partie de l'espace d'adressage qui lui est alloué exécute la requête. Bien souvent les contrôleurs PCI 23 et 33 doivent accéder à plusieurs mémoires et demandent donc de l'espace d'adressage correspondant à plusieurs mémoires. Ceci est également connu dans un système PCI et se fait par l'intermédiaire de registres spécifiques : les registres d'adresse de base (connus en anglais sous la terminologie "BAR", acronyme correspondant à "Base Address Register"). Suivant la taille de ces mémoires, un certain nombre bits est requis pour coder les adresses de la mémoire considérée. L'adresse se decompose donc en un premier champ 61 permettant de coder la mémoire et deuxième champ 64 permettant de coder l'adresse dans cette mémoire. Les bits de poids fort de l'adresse servent donc en général à coder la memoire. Le nombre de bits nécessaires pour coder les différentes mémoires, c'est-à-dire la taille du premier champ 61, dépend du nombre de mémoires dans le système et de la taille de ces mémoires. La taille du champ 64 est calculée, quant à elle, en fonction de la taille maximale d'une mémoire à laquelle on souhaite accéder. A l'initialisation du système, le contrôleur PCI 23 est initialisé de manière à demander une quantité d'espace d'adressage au moins égale à la capacité de mémoire de la plus grande zone mémoire à accès unique multipliée par le nombre de zones mémoires à accès unique présentes sur la carte 3. On demande ainsi une quantité d'espace d'adressage supérieure à la capacité de mémoire réellement présente sur la carte. Le maître du bus 10 procède alors à une réservation de cet espace d'adressage pour les zones mémoires à accès unique dont la taille totale est égale à la taille de la plus grande zone mémoire cible à accès unique à accéder multipliée par le nombre de zones mémoires à accès unique. Ainsi, le décodage de la zone à accéder est simplifié car le nombre de bits pour coder la zone mémoire est diminué. Le champ 64 (Figure 3) est décomposé en deux sous-champs 62 et 63. Le sous-champ 62 permet de coder le nombre de zones mémoires à accès unique présents sur la carte et donc de coder 1'identificateur, soit, exemple, numéro, de la zone mémoire à accès unique. Lorsqu'il n'y a qu' zone mémoire à accès unique dans la mémoire 22, le sous-champ 62 devient inutile. Ainsi, il suffit donc de décoder le sous-champ 62 pour décoder zone mémoire cible à accès unique à accéder. Le sous-champ 63 permet de coder zone mémoire dont la taille est celle de la plus grande zone mémoire à accès unique présente sur la carte. La figure 4 représente un algorithme permettant de calculer la taille sous-champ 62 de l'adresse. Cet algorithme est exécuté par le contrôleur mémoire 21. L'étape E1 consiste â obtenir le nombre de zones mémoires à accès unique comprises dans la mémoire 22. Ce nombre est un paramètre qui peut être inscrit dans une mémoire non volatile à l'initialisation du système. A l'étape E2, ce nombre est codé en binaire. A l'étape E3, on calcule combien de bits sont nécessaires pour coder cette valeur. Par exemple, si la mémoire contient cinq zones mémoires à accès unique comme représenté à la figure 2, le résultat de l'étape E2 donne la valeur binaire 101 et le résultat de l'étape E3 donne alors la valeur 3. La taille du sous-champ 62 est donc 3. Ainsi, on peut accéder à toutes les zones mémoires à accès unique car leur identificateur peut être codé dans le sous-champ 62. La figure 5 représente un algorithme permettant de calculer la taille du sous-champ 63 de l'adresse mémoire. Cet algorithme est exécuté par le contrôleur mémoire 21. L'étape S1 consiste à obtenir la taille de la plus grande zone mémoire à accès unique contenue dans la mémoire 22. Ce nombre est un paramètre qui peut être inscrit dans une mémoire non volatile à l'initialisation système. A l'étape S2, ce nombre est codé en binaire. A l'étape S3, on calcule combien de bits sont nécessaires pour coder cette valeur. Par exemple, si la plus grande zone mémoire à acces unique a une taille de 1 kilo octet, le résultat de l'étape S2 donne la valeur binaire 111111111 et le résultat de l'étape S3 donne alors la valeur 9. La taille du sous-champ 62 est donc 9. Ainsi, on peut transférer, en mode rafale ou non, un bloc données contenant autant de données que peut en contenir la zone mémoire taille maximale sans avoir â réinitialiser le transfert en mode d'accès direct mémoire (mode DMA). Cette caractéristique permet d'initier le transfert en mode DMA de taille maximale autorisée, c'est-à-dire le remplissage total de la zone mémoire à accès unique de plus grande taille, sans que l'incrément genéré sur l'adresse par l'initiateur de transfert ne vienne dégrader la valeur du premier sous-champ. La figure 6 représente l'algorithme de codage d'une adresse de la mémoire 22. Cet algorithme est exécuté, par exemple, par le contrôleur PCI initiateur du transfert. Lorsque l'un des contrôleurs PCI du dispositif de la figure 1 , par exemple le contrôleur 33, souhaite accéder à la zone mémoire à accès unique 54 (Figure 2), il obtient le numéro de la zone mémoire à accès unique 54 au cours de l'étape T1, par exemple en le demandant au contrôleur PCI 23. Au cours de l'étape T2 le contrôleur concerné va donc placer ce numéro dans le sous-champ 62. Au cours de l'étape T3 le contrôleur concerné place dans le sous- champ 63 une valeur qui est telle que, si l'on rajoute à cette valeur la taille du bloc de données à transférer, le sous-champ 63 ne déborde pas sur le sous- champ 62. Cette valeur sera, par exemple, une suite de zéros de longueur egale à la longueur du sous-champ 63. C'est cette partie de l'adresse (deuxième sous-champ 63) qui sera incrémentée par le contrôleur PCI considéré à chaque transfert d'au moins une donnée. Conformément à l'invention, cette partie modifiée de l'adresse ne sera interprétée pour identifier la zone mémoire cible â accès unique qui simplifiera la tâche de décodage. En effet, seul le premier sous-champ 62 sera interprété pour identifier la zone mémoire cible à accès unique. Par ailleurs, bien que cette partie modifiée de l'adresse ne soit pas interprétée l'invention prévoit, contrairement à l'art antérieur, de ne pas remettre question le processus d'incrémentation. En modifiant ainsi le moins d'éléments possibles par rapport a un procédé connu de transfert de données, l'invention est particulièrement simple a mettre en oeuvre et peu coûteuse. On notera que, la taille du deuxième sous-champ 63 étant calculée de façon à ce que ce sous-champ 63 puisse coder toutes les adresses, il n'y a pas d'écrasement du sous-champ 63 sur le sous-champ 62 lorsque les adresses sont incrémentées. L'adresse de début de la zone mémoire concernée par le transfert augmentée de la taille maximale d'un transfert peut ainsi être codée dans le sous-champ 63. La figure 7 représente l'algorithme de décodage de l'adresse mis ceuvre, par exemple, au niveau du contrôleur PCI 23 et du contrôleur de mémoire 21 de la carte 3 de la figure 1. Au cours d'une étape G1 de l'algorithme, le contrôleur PCI décode champ 61 et, si l'adresse est décodée comme étant une adresse à laquelle il peut accéder, il le signale et accepte le transfert. Au cours de l'étape suivante G2, le contrôleur de mémoire 21 interprète (décodage) le champ 64 et, plus particulièrement, le premier sous- champ 62 afin d'identifier la zone mémoire à accès unique à accéder. Ceci s'applique aussi bien pour un accès en écriture que pour un accès en lecture. Lors de cette étape d'interprétation le contrôleur ne tient pas compte du deuxieme sous-champ 63. S'il n'y a qu'une seule zone mémoire à accès unique dans la mémoire 22, alors le champ 64 peut se réduire au deuxième sous-champ 63. Au cours de l'étape suivante G3, le contrôleur sélectionne la zone mémoire cible (FIFO) adressée et écrit ou lit les données dans celle-ci. On maintenant s'intéresser à un transfert de données entre la mémoire 32 et la mémoire 22 des cartes respectives 4 et 3 du dispositif la figure 1 pour illustrer les mécanismes mis en oeuvre dans l'invention, se basant sur la figure 8 et les figures précédemment décrites. Cet exemple est donné à titre illustratif. II convient de noter que l'invention s'applique dans le cas mode lecture ou d'un mode écriture entre au moins deux mémoires du système. La figure 8 représente un algorithme illustrant le transfert de données entre les mémoires 32 et 22 et qui est mis en oeuvre par le dispositif selon l'invention. Au cours de la première étape Z1 de cet algorithme, lorsque le contrôleur 33 la carte 4 (Figure 1) veut transférer des données de la mémoire 32 vers la zone mémoire 54 (FIFO 5) en mode d'accès direct en mémoire (en anglais DMA pour "Direct Memory Access" ), II va positionner l'adresse de la donnée qu'il veut lire dans la mémoire 32 sur le bus 34. contrôleur de mémoire 31 analyse cette adresse au cours de l'étape Z2 et effectue, au cours de l'étape Z3, un test pour savoir si l'adresse correspond à une mémoire â accès unique ou non. Ce test est effectué en lisant le champ 61 de l'adresse représentée à la Figure 3. Suivant la valeur du champ 61, le contrôleur de mémoire passe à l'étape Z4 ou à l'étape Z5. Si le champ 61 code une mémoire qui n'est pas à accès unique, on passe à l'étape Z4. Lors de cette étape Z4, la mémoire codée dans le champ 61 est sélectionnée, l'adresse est positionnée sur le bus 34 et la donnée est lue dans la mémoire 32. Si, par contre, le champ 61 code une mémoire à accès unique, passe à l'etape Z5 après l'étape Z3 et le contrôleur de mémoire 31 interprète (décodage) alors le sous-champ 62 (Figure 3) pour identifier la zone mémoire cible à accès unique à laquelle il faut accéder. On ne tient pas compte deuxième sous-champ 63 pour interpréter l'adresse de la zone mémoire, ce qui simplifie procédé. La zone mémoire cible à accès unique codée dans le sous- champ 62 est donc sélectionnée, l'adresse est positionnée sur le bus 34 et la donnée est lue dans la mémoire 32. Tout ce qui a été dit précédemment à propos de l'étape d'interprétation dans l'algorithme de la figure 7 reste valable ici. Lors de l'étape suivante Z6, l'adresse de stockage des données dans la mémoire 22 de la carte 3 de la figure 1 est positionnée sur le bus 10 par le contrôleur PCI 33. Au cours de l'étape suivante Z7 les différents contrôleurs PCI du système, à savoir les contrôleurs 13 et 23 décodent le champ 61 de l'adresse présente le bus de communication 10. Si cette adresse est une adresse destinée à la mémoire 22, alors le contrôleur PCI 23 accepte le transfert de données en positionnant un signal sur le 10, (par exemple le signal DEVSEL dans le cas d'un bus PCI) pour signaler qu'il reconnaît l'adresse. Au cours de l'étape Z8, le contrôleur 33 positionne la donnée extraite de la mémoire 32 sur le bus 10. Au cours de l'étape suivante Z9, le contrôleur PCI 23 positionne l'adresse de stockage des données sur le bus 24. Le contrôleur de mémoire 21 analyse cette adresse et effectue un test lors de l'étape Z10 pour savoir si cette adresse est destinée à une mémoire à accès unique ou non. Ce test est effectué en lisant le champ 61. Suivant la valeur du champ 61, le contrôleur de mémoire 21 passe à l'étape Z11 ou à l'étape Z12. Si le champ 61 code une mémoire qui n'est pas à accès unique, on passe à l'étape Z11 qui consiste à sélectionner la mémoire codée par le champ 61. le champ 61 code une mémoire qui est à accès unique alors on passe à l'étape Z12 et le contrôleur de mémoire 21 interprète (décodage) alors le sous-champ 62 pour identifier la zone mémoire cible à accès unique à laquelle il faut accéder. La zone mémoire cible à accès unique codée dans le sous-champ est donc sélectionnée et l'adresse est présentée sur le bus de la carte 2. Tout ce qui a été dit précédemment à propos de l'étape d'interprétation dans l'algorithme de la figure 7 reste valable ici. cours de l'étape Z13, la donnée récupérée par le contrôleur est positionnée sur le bus 24. Cette donnée est ensuite écrite dans la mémoire 22 à l'adresse décodée par le contrôleur de mémoire 21 au cours de l'étape Z14. Si le transfert a lieu en mode rafale, l'adresse présentée sur le 10 sera suivie par un certain nombre de données, ce nombre étant paramètre du système qui est prévu pour éviter les congestions et qui tient compte des caractéristiques du système. Si le transfert n'a pas lieu en mode rafale, adresses et données se succéderont de manière consécutive sur le bus. Après l'étape Z14, l'étape Z1 est de nouveau exécutée description donnée en exemple ci-dessus est également valable pour transfert de données de la mémoire 32 vers la mémoire 22 initiée par le contrôleur 33. Les opérations décrites dans cette figure sont décrites dans un ordre qui peut éventuellement être modifié suivant le type de composant utilisé, certaines de ces opérations pouvant être réalisées en parallèle. La figure 9 illustre les mécanismes d'écriture de données en mode rafale qui interviennent entre l'adaptateur de bus 33 (respectivement 23) et la mémoire 32 (respectivement 22). Les échanges dans le système sont cadencés avec une horloge de MHz, notée 'cik_33' sur la figure 9. Au début du cycle d'écriture l'adaptateur de bus 33 active sur le bus de communication 14 - le signal 'Iptatn' qui informe d'un début de transfert en mode d'accès direct mémoire, - le signal 'ptnum' qui spécifie lequel des registres d'adresse de base est concerné par le transfert, c'est-à-dire quelle mémoire déclarée à l'initialisation est à accéder, - le signal 'ptwr' qui spécifie si l'adaptateur de bus 33 fait une requête d'écriture ou de lecture, - le signal Iptburst' qui spécifie si le transfert est à faire en mode rafale ou non. Le système est alors en attente de l'activation par le contrôleur mémoire 31 du signal 'Iptadr' qui indique que ledit contrôleur de mémoire est attente de l'adresse de la zone mémoire concernée par le transfert. L'adaptateur de bus 33 positionne alors sur les signaux de données 'DQ[31..0]' l'adresse provenant du bus de communication 10. Le contrôleur de mémoire 31 interprète (décodage) cette adresse comme décrit sur la figure 7. L'adaptateur de bus 33 pourra commencer à transférer la série données dès que le contrôleur de mémoire 31 aura activé le signal 'Iptrdy'. Une nouvelle donnée sera présentée sur le bus de communication 34 à chaque coup d'horloge à 33 MHz. Si le signal 'Iptatn' devient inactif, comme c'est le cas autour 200 le transfert est momentanément interrompu et la donnée qui était présente sur le bus de communication 34 est maintenue jusqu'à réactivation du signal 'Iptatn'. Lorsque le signal Iptburst' devient inactif, cela signifie que la donnée présente sur le bus de communication 34 est la dernière du transfert en mode rafale. Une fois la donnée écrite dans la zone mémoire cible, le contrôleur de mémoire 31 désactive le signal 'Iptrdy', signifiant ainsi la fin du transfert en mode rafale. REVENDICATIONS 1. Procédé de transfert de données entre au moins deux mémoires (32,22) par l'intermédiaire d'au moins un bus de communication (10) et d'un initiateur du transfert (33) sur ledit au moins un bus l'une desdites mémoires à accéder étant appelée mémoire cible (22), ledit procédé comportant les étapes suivantes - positionnement d'une adresse (60) de la mémoire cible (22) sur le bus, - positionnement d'au moins une donnée sur le , - incrémentation d'une partie de ladite adresse de mémoire cible (22) lors chaque transfert d'au moins une donnée, caracterisé en ce que ledit procedé comporte une étape d'interprétation de l'adresse (60) pour identifier mémoire cible à accès unique (50, 51, 52, 53, 54) et qui ne prend pas en compte la partie de l'adresse modifiée lors de l'étape d'incrémentation. . 2. Procédé de transfert selon la revendication 1 caractérisé en ce que, lorsque la mémoire cible (22) comporte au moins deux zones mémoires à accès unique, l'une desdites zones mémoires à accéder étant appelée zone mémoire cible, l'adresse (60) de cette zone mémoire cible à accès unique comporte au moins un champ (64) qui comporte un premier sous-champ (62) représentatif de la zone mémoire cible à accès unique (50, 51, 53, 54) et un deuxième sous-champ (63) sur lequel est appliquée l'étape d'incrémentation. 3. Procédé selon la revendication 2 caractérisé ce que l'étape d'interprétation analyse seulement le premier sous-champ (62) pour identifier la zone mémoire cible à accéder. 4. Procédé selon la revendication 2 ou 3, caractérisé en ce que le premier sous-champ (62) de l'adresse code l'identificateur de la zone mémoire à accès unique. 5. Procédé selon l'une des revendications 2 à 4, caractérisé en ce que la taille du premier sous-champ (62) est calculée pour permettre de coder moins tous les identificateurs des zones mémoires ' accès unique (50,51,52,53,54). 6. Procédé selon l'une des revendications 2 à 5, caractérisé en ce la taille du deuxième sous-champ (63) correspond à la taille permettant de coder la plus grande zone mémoire à accès unique. 7. Procédé selon l'une des revendications 2 à 6, caractérisé en ce qu'il comporte une étape de réservation d'un espace d'adressage égal à la taille de la plus grande zone mémoire cible à accéder multipliée le nombre de zones mémoires à accès unique. 8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que le transfert de données est effectué en mode d'accès direct en mémoire. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que le transfert de données est effectué en mode rafale. 10. Procédé selon l'une des revendications 1 à 9, caractérisé en que le bus de communication est un bus de type PCI. 11. Dispositif de transfert de données entre moins deux mémoires (32, 22) par l'intermédiaire d'au moins un bus de communication (10) d'un initiateur du transfert (33) sur ledit au moins un bus l'une desdites mémoires à accéder étant appelée mémoire cible, ledit dispositif comportant - un moyen de positionnement d'une adresse (60) de la mémoire cible (22) sur le bus, - un moyen de positionnement d'au moins une donnée sur le bus, - un moyen d'incrémentation d'une partie de ladite adresse de la mémoire cible (22) lors de chaque transfert d'au moins une donnée, caractérisé en ce que ledit dispositif comporte un moyen d'interprétation de l'adresse (60) pour identifier la mémoire cible à accès unique (50, 51, 52, 53, 54) et qui ne prend pas en compte la partie de l'adresse modifiée par ledit moyen d'incrémentation. 12. Dispositif de transfert selon la revendication 11, caractérisé en ce que, lorsque la mémoire cible (22) comporte au moins deux zones mémoires à accès unique, l'une desdites zones mémoires à accéder étant appelée zone mémoire cible, l'adresse (60) de cette zone mémoire cible à accès unique comporte au moins un champ (64) qui comporte un premier sous-champ (62) représentatif de la zone mémoire cible à accès unique (50, 51, 53, 54) et un deuxième sous-champ (63) sur lequel s'applique le moyen d'in crementation. 13. Dispositif selon la revendication 12, caractérise en ce que le moyen d'interprétation de l'adresse analyse seulement le premier sous-champ (62) pour identifier la zone mémoire cible à accéder. 14. Dispositif selon la revendication 12 ou 13, caractérisé en ce le premier sous-champ (62) de l' adresse code l'identificateur de la zone memoire à accès unique. 1 Dispositif selon l'une des revendications 12 à 14, caractérisé en ce que taille du premier sous-champ (62) est calculée pour permettre de coder au moins tous les identificateurs des zones mémoires à accès unique (50,51,52,53,54). 16. Dispositif selon l'une des revendications 12 à 15, caractérisé ce que la taille du deuxième sous-champ (63) correspond à la taille permettant de coder la plus grande zone mémoire à accès unique (50,51,52,53,54). 17. Dispositif selon l'une des revendications 12 à 16, caractérisé en ce qu'il comporte un moyen de réservation d'un espace d'adressage égal à taille de la plus grande zone mémoire cible à accéder multipliée par le nombre de zones mémoires à accès unique. 18. Dispositif selon l'une des revendications 11 à 17, caractérisé ce que le transfert de données est effectué en mode d'accès direct en mémoire. 19. Dispositif selon l'une des revendications 11 à 18, caractérisé en ce que le transfert de données est effectué en mode rafale. 20. Dispositif selon l'une des revendications 11 à 19, caractérisé en ce que le bus de communication est un bus de type PCI.