Brevet FR2848686A1 — publié le 20040618

G NERATEUR D'ADRESSES PROGRAMMABLE La présente invention concerne le domaine des générateurs d'adresses ou contrôleurs d'accès directs mémoire (DMA). De tels générateurs d'adresses sont utilisés pour simplifier les accès à une mémoire de stockage de données par des processus 5 automatiques traitant ces données dans un ordre particulier. Ces processus sont généralement désignés comme des fonctions de traitement des données mémorisées. Le contrôleur DMA ou générateur d'adresses sert à accélérer le traitement en calculant les adresses des données à extraire de la mémoire à partir des 10 requêtes de la fonction de traitement de ces données. Un exemple d'application de la présente invention concerne le traitement d'images vidéo. Dans ce genre d'application, une même mémoire contenant des données numériques représentatives d'images vidéo peut être exploitée par plusieurs fonctions différentes traitant les données dans des ordres différents. Par exemple, dans des techniques de traitement d'images de type MPEG 2, les images vidéo sont découpées en macroblocs de pixels. Selon la façon dont sont stockées les images dans une mémoire externe, il peut être nécessaire de reconstituer les lignes des images pour 20 un affichage vidéo par balayage ligne, ou de reconstituer des macroblocs pour des estimations de déplacement de portions d'image dans le flux vidéo, etc. Comme la même mémoire externe peut être partagée par plusieurs fonctions différentes, chaque fonction, c'est-à-dire chaque circuit de traitement des images de façon particulière, est couplé à un contrôleur DMA qui lui est propre de façon à 5 calculer les adresses des données à lire ou écrire dans la mémoire externe, à partir des besoins de la fonction. La figure 1 représente, de façon très schématique et sous forme de blocs, un exemple d'architecture classique utilisant un générateur d'adresses du type auquel se rapporte la 10 présente invention. Une mémoire 1 (MEM), par exemple une mémoire vidéo de type SDRAM, contient des données (DATA) devant être exploitées par une fonction spécifique (bloc 2, SPE-FCT) de traitement de ces données. Le circuit de traitement 2 communique généralement 15 avec un microprocesseur gP 3 par l'intermédiaire d'un ou plusieurs bus 4 et d'une interconnexion 5 à laquelle est relié le microprocesseur 3 au moyen d'un ou plusieurs bus 6. Pour leur traitement par le circuit 2, les données sont transférées depuis la mémoire 1 vers une mémoire temporaire 20 7 (BUFF), par exemple une mémoire de type RAM constituant une mémoire tampon ou FIFO, entre le circuit 2 et la mémoire externe 1. Les données DATA transitent entre la mémoire temporaire 7 et la mémoire 1 par l'intermédiaire d'un bus 8 et d'une interconnexion 9 à laquelle est reliée la mémoire 1 par un bus 25 10, et entre la mémoire 7 et la fonction de traitement proprement dite 2 par un bus 11. Pour accélérer le traitement, la mémoire 7 doit présenter les données dans l'ordre de leur traitement par le circuit 2. La mémoire temporaire 7 fait généralement partie de ce 30 que l'on appelle un circuit 12 d'interface entre la fonction 2 et la mémoire 1. Ce circuit 12 fait partie d'un circuit 13 (FCT) représentant la fonction globale et comprenant la fonction de traitement 2 et son circuit d'interface 12 avec l'extérieur. Le circuit 12 comporte généralement un contrôleur de bus 14 35 (BUS CIRL) ainsi qu'un générateur d'adresses 20 (AD-GEN) auquel s'applique la présente invention. Le circuit 20 a pour rôle de générer des adresses ADD à destination de la mémoire 1 afin qu'elle fournisse les données convenables, à partir d'adresses dites de base fournies par la fonction 2 selon ses besoins par un 5 bus d'adresses 15 reliant le circuit 2 à l'interface 12. Les adresses ADD transitent entre le générateur 20 et la mémoire 1 par l'intermédiaire d'un bus d'adresses 16 et de l'interconnexion 9 à laquelle est reliée la mémoire 1 par un bus d'adresses 17. Le contrôleur de bus 14 sert à commander et synchro10 niser les échanges. Il fournit, entre autres, des signaux de commande (liaison 18) à la mémoire temporaire 7 et reçoit des informations du générateur d'adresses 20 (liaison 19). Le microprocesseur 3 communique avec le circuit d'interface 12 au moyen du bus 4. Si les bus ont été représentés de façon distincte à 15 la figure 1 par souci de clarté, certains d'entre eux au moins pourront être partagés. Le fait que les règles ou fonctions d'adressage entre un circuit de traitement 2 et une mémoire 1 contenant les données à traiter diffère selon la fonction mise en oeuvre par 20 le circuit de traitement conduit à chercher à rendre versatile les générateurs d'adresses utilisés. On a donc déjà proposé des contrôleurs DMA programmables qui peuvent mettre en oeuvre des fonctions d'adressage différentes selon le circuit de traitement et la mémoire 25 auxquels ils sont associés. De tels contrôleurs DMA font appel soit à de simples compteurs, soit à des tables pour stocker les correspondances entre les adresses de la mémoire 1 et les adresses de traitement propres au circuit 2, c'est-à- dire les adresses de la mémoire 7. 30 Les contrôleurs à compteurs classiques ont une capacité de programmation très limitée et requièrent donc la plupart du temps de concevoir un nouveau circuit d'interface matériel pour une nouvelle fonction de traitement. Les contrôleurs DMA à tables ont une capacité de 35 programmation liée à la taille des tables de correspondances prévues. En effet, plus la table est dimensionnée de façon importante, plus le contrôleur DMA peut être programmé pour un nombre important de fonctions d'adressage différentes. Toutefois, un inconvénient souvent rédhibitoire est que l'importance de la 5 mémoire de stockage intégrée des tables de correspondances accroît considérablement le cot du contrôleur et son encombrement. Dans les deux solutions connues, un manque de capacité de programmation se traduit par une augmentation préjudiciable de la logique et/ou de la mémorisation à l'intérieur même de la 10 fonction de traitement 2. La présente invention vise à proposer un nouveau générateur d'adresses programmable qui pallie les inconvénients des générateurs d'adresses connus. Plus particulièrement, l'invention vise à proposer un générateur d'adresses programmable qui évite le 15 recours à des tables de correspondance d'adresses mémorisées. L'invention vise également à proposer une solution qui procure une souplesse d'utilisation du matériel. L'invention vise également à proposer une solution qui soit de faible encombrement et de faible cot. L'invention vise également à proposer une solution pouvant s'adapter à un nombre élevé de fonctions d'adressage différentes. Pour atteindre ces objets et d'autres, la présente invention prévoit un générateur d'adresses programmable compre25 nant au moins une entrée de réception d'une première adresse numérique d'un mot de données dans une première mémoire, à convertir en une deuxième adresse numérique de ce même mot de données dans une deuxième mémoire ou inversement, comportant: au moins deux compteurs imbriqués de façon hiérar30 chique, paramétrables individuellement au moins en décalage initial, en valeur d'incrément, et en compte maximal; au moins un registre de programmation contenant lesdits paramètres de chaque compteur, ces paramètres dépendant de la fonction de conversion d'adressage à effectuer; et un sommateur de la première adresse avec les résultats des compteurs, ledit sommateur fournissant ladite deuxième adresse. Selon un mode de réalisation de la présente invention, le nombre de compteurs programmables est compris entre 3 et 5. Selon un mode de réalisation de la présente invention, le générateur d'adresses est appliqué au traitement d'images vidéo. Selon un mode de réalisation de la présente invention, les compteurs sont de type fractal. Selon un mode de réalisation de la présente invention, le générateur comporte en outre un circuit de commande des différents compteurs et registres. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans 15 la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles: la figure 1, décrite précédemment, représente très schématiquement et partiellement, un exemple de circuit du type 20 auquel s'applique la présente invention; la figure 2 représente, sous forme de blocs, un mode de réalisation d'un générateur d'adresses programmable selon l'invention; et les figures 3A à 3D illustrent des représentations de 25 zones de mémorisation dans un exemple d'application de l'invention à un circuit d'interconnexion d'une fonction de traitement vidéo de type MPEG 2 avec une mémoire de stockage des images. Pour des raisons de clarté, seuls les éléments et les fonctions qui sont nécessaires à la compréhension de l'invention 30 ont été représentés aux figures et seront décrits par la suite. En particulier, les traitements opérés sur les données manipulées et transférées grâce au générateur d'adresses de l'invention n'ont pas été détaillés et ne font pas l'objet de la présente invention. Celle-ci s'applique quelle que soit la fonction de traitement 35 prévue. De plus, seul le fonctionnement du générateur d'adresses sera détaillé, les autres constituants d'un circuit d'interconnexion et des éléments qu'il interconnecte (mémoire, circuit de traitement, microprocesseur, etc. ) étant classiques. Une caractéristique de la présente invention est de 5 traduire une fonction d'adressage à réaliser par un nombre fini de boucles d'adressage paramétrables individuellement. Selon l'invention, chaque fonction d'adressage, c'est-à-dire chaque fonction traduisant un mot numérique représentant une adresse de données dans une mémoire couplée à un circuit de traitement par un 10 autre mot numérique représentant une adresse de cette donnée dans une autre mémoire, est découpée en un nombre fini de boucles d'adressage, quelle que soit la complexité de la fonction. Ainsi, 1'invention prévoit d'imbriquer plusieurs compteurs de façon hiérarchique et de rendre ces compteurs paramétrables 15 chacun individuellement au moins en valeur d'incrément, en décalage initial et en compte maximal (modulo). Les résultats des compteurs sont sommés pour fournir l'adresse calculée recherchée. La figure 2 représente, de façon très schématique et 20 sous forme de blocs, un mode de réalisation d'un circuit de génération d'adresses selon la présente invention. En figure 2, seul le circuit de génération d'adresses 20' a été représenté. Il s'intègre dans un circuit d'interface 12 du type de celui décrit en relation avec la figure 1. La figure 2 est décrite ci25 après en faisant également référence à des éléments de la figure 1 qui sont alors désignés par les mêmes références. L'adresse ADD générée par le circuit de l'invention correspond à la somme arithmétique (sommateur 31) d'une adresse de base BASEADD avec les différents résultats O-OFF1, ... O30 OFF1, ... O-OFFn fournis par n compteurs COUNT1, ... COUNT1, ... COUNTn (blocs 32, 33 et 34). L'adresse de base BASEADD correspondantrespond à l'adresse côté circuit de traitement réalisant la fonction applicative, c'est-à-dire l'adresse dans la mémoire 4 qui doit être convertie en une adresse de la 35 mémoire 1. Dans l'exemple de la figure 2, pour accélérer les traitements et permettre un préchargement d'au moins une adresse suivante lors du traitement de l'adresse courante, on prévoit de façon optionnelle un multiplexeur 35 de fourniture de l'adresse 5 de base BASEADD par sélection d'une adresse parmi, par exemple, au moins deux adresses BADD1 et BADD2 fournies par le circuit de traitement 2 ou le microprocesseur 3 le commandant. Le multiplexeur 35 reçoit alors un signal de commande T/B de sélection de l'une de ses entrées pour fournir une adresse BASEADD, et un 10 registre tampon 40 est intercalé entre la sortie du multiplexeur et le sommateur 31. Cela illustre le fait que l'invention est compatible avec un calcul en série de plusieurs adresses en exploitant le fait que le calcul de l'adresse est séquentiel et exploite plusieurs circuits successifs distincts (parties 15 internes des compteurs et du sommateur). Les adresses BADD1 et BADD2 proviennent d'un ensemble de registres 36 (REGS) contenant les différents registres de mémorisation temporaire des paramètres du générateur d'adresses de l'invention. Le circuit de registre 36 communique avec 20 l'extérieur du générateur 20' (par exemple, avec la mémoire 1, le circuit 2, le microprocesseur 3, le contrôleur de bus 14, etc.) par un ensemble de bus 37 d'adresses, 38 de données et 39 de commande. Selon l'invention, chaque compteur COUNTl (l compris 25 entre 1 et n) est associé à au moins un registre (par exemple, de l'ensemble de registres 36) contenant ses paramètres, parmi lesquels au moins le modulo (MOD) ou compte maximal du compteur, la valeur d'incrément (INC) du compteur à chaque coup de son horloge, le décalage initial (OFF) du compteur à chaque réini30 tialisation. En fait, les entrées d'horloge des compteurs imbriqués sont respectivement connectées à une sortie indiquant une fin de boucle du compteur de rang supérieur, l'entrée d'horloge du compteur de rang le plus élevé (1) étant par exemple, connectée au signal d'horloge CLK du système. On notera que, 35 selon la constitution des différents compteurs, ce qui a été indiqué ci-dessus comme entrée d'horloge pourra correspondre à une entrée de déclenchement d'incrément, si d'autres constituants internes aux compteurs ont besoin de l'horloge du système. Chaque compteur reçoit un ensemble des paramètres Pl, Pl, ... Pn, fourni par les registres 36 et comprenant au moins les paramètres MOD, INC et OFF mentionnés ci-dessus. La fourniture des résultats O-OFFl des différents compteurs au sommateur 31 est déclenchée par un circuit logique 10 de commande 41 (CT) fournissant des signaux Tl, ... Tl, ... Tn de déclenchement de fourniture des résultats des compteurs respectifs. Le circuit de commande 41 déclenche cette fourniture de résultats, donc la fourniture de l'adresse calculée, à partir de différents signaux de synchronisation qu'il reçoit à la fois 15 des registres 36, du circuit de traitement 2, et du microprocesseur 3. Par exemple, le circuit 41 reçoit, outre le signal CLK d'horloge du système, des signaux EN des registres 36 validant le fait qu'un compte a eu lieu, IRA du contrôleur de bus 14 ou du microprocesseur 3 requérant une lecture d'adresse, et 42 de 20 synchronisation par rapport au circuit de traitement 2. Le nombre de signaux de synchronisation 42 dépend de la fonction. Par exemple, un premier signal noté IVS réinitialise le générateur d'adresses 20' (par exemple sur un front descendant). Un deuxième signal IEVS (par exemple actif à l'état haut) interdit une 25 réinitialisation tant que le générateur d'adresses transfère une adresse ADD sur sa sortie. Un signal IA active le générateur d'adresses. Enfin, un signal IRN sert à initialiser le circuit 41. Les signaux ci-dessus décrits en relation avec la figure 2 peuvent être générés par le microprocesseur 3 ou n'importe 30 quel circuit applicatif conditionnant le fonctionnement du générateur d'adresses et suffisent à prévoir tous les cas envisageables pour la fourniture des adresses. De façon fonctionnelle et en prenant pour exemple le cas de trois compteurs, le générateur d'adresses de la figure 2 35 et plus précisément les compteurs imbriqués remplissent, une fois correctement paramétrés, la fonction suivante dans laquelle on désigne par 0-OFFi, O-OFFj et O-OFFk les états successifs fournis par les trois compteurs correspondant à leurs décalages courants respectifs, par INCi, INCj et INCk leurs incréments 5 respectifs, par OFFi, OFFj et OFFk leurs décalages ou offset initiaux respectifs, par MODi, MODj et MODk, leurs comptes maximum (modulo) respectifs, et par Ni, Nj et Nk leurs nombres d'itérations maximums respectifs calculés à partir des modulo correspondants. Avec ces notations, les trois compteurs imbriqués peuvent être considérés comme exécutant les opérations successives suivantes: 1. O-OFFk=OFFk 2. pour k compris entre 0 et Nk (Nk tel que O-OFFk Les compteurs sont des compteurs de type fractal, c'est-à-dire qui possèdent les mêmes propriétés quel que soit le compte maximal. On décrira ci-après un exemple particulier appliqué au 35 traitement d'images. On notera toutefois que l'invention s'applique plus généralement quel que soit les données mémorisées. La seule limite à la versatilité de l'invention est liée au nombre de compteurs du circuit. Ce nombre est préférentiellement compris entre 3 et 5. On notera qu'il importe 5 peu que le générateur comprenne plus de compteurs imbriqués que nécessaire pour une fonction d'adressage donnée. En effet, il suffit alors de prévoir des boucles nulles (MOD = 0) pour les compteurs non utiles, ce qui est parfaitement possible grâce au paramétrage de ces compteurs à travers les registres 36 et/ou la 10 logique de commande 41. On notera de plus que les références aux mémoires 1 et 4 supposent un sens arbitraire de la fonction d'adressage qui peut bien entendu être inversé selon que la mémoire 1 est lue ou écrite. Les figures 3A à 3D illustrent un mode de mise en 15 oeuvre du générateur de l'invention au traitement d'images. Dans cet exemple arbitraire, on considère le cas o des macroblocs MB (figure 3A) comportent des données entrelacées de types différents notées x et o (par exemple, des lignes d'ordre pair et d'ordre impair). L'image MB de la figure 3A représente les 20 pixels tels qu'il seront affichés sur le système de visualisation en respectant l'orientation (gauche, droite, haut et bas) arbitraire de la figure. On suppose que les données de l'image sont stockées dans la mémoire 1 dans deux zones TF (top field) et BF (bottom field) d'adresses différentes (figure 3B), 25 chacune d'elles stockant uniquement les pixels désignés par o ou x, respectivement. Les pixels ne sont donc pas rangés dans la mémoire 4 dans l'ordre d'affichage, mais suivant une règle qui est illustrée par la figure 3C. En figure 3B, les références ADD illustrent la correspondance avec l'adresse physique de 30 rangement dans la mémoire 4. Par exemple, chaque case mémoire de la mémoire externe 1 stocke huit pixels sur 4 bits représentant, pour les besoins de l'application, la luminance associée en code binaire. On suppose de plus que les parties gauche et droite de chaque ligne du macrobloc MB sont séparées en deux de sorte que 35 la première ligne du champ supérieur TF comprend les mots il stockés aux adresses 0 et 4 de la mémoire 4, la deuxième ligne comprenant les mots stockés aux adresses 1 et 5, etc. Côté champ inférieur BF, la première ligne comprend les mots stockés aux adresses 8 et 12 de la mémoire 4, la deuxième ligne comprenant les mots stockés aux adresses 9 et 13, etc. En figure 3D, des macroblocs successifs MBO, MB1, MB2 et MB3 constituent une première ligne de macroblocs de type o dans la mémoire 1. Pour simplifier, on se limite dans cet exemple à la reconstruction de l'image formée par quatre 10 macroblocs uniquement pour des pixels de type o. Dans cet exemple d'application, la fonction d'adressage est obtenue, avec un générateur à 3 compteurs, en programmant la première boucle avec un incrément INCk à 1 et avec un modulo MODk à 4. La deuxième boucle est programmée avec 15 un incrément de comptage INCj égal au nombre de macroblocs dans la direction horizontale et un modulo MODj de 32. La troisième boucle est programmée avec un incrément INCi de 4 et un modulo MODi de 8. Le décalage initial OFF des trois boucles est 0. Les tableaux 1 et 2 illustrent l'exemple ci-dessus 20 pour afficher de manière naturelle les pixels de type o des macroblocs MBO à MB3 dont le contenu est illustré ci-après par le tableau 1. Arbitrairement, on a considéré des pixels respectivement à 0, 1, 2 et 3 pour les lignes 0, 1, 2 et 3. Le tableau 2 illustre le rangement des pixels respectivement dans 25 la mémoire externe 1 et dans la mémoire temporaire 4. Tableau 1 0000 0000 0000 0000 1111 1111 1111 1111 2222 2222 2222 2222 3333 3333 3333 3333 Tableau 2 ADD 1 4 OOH 0000 0000 O1H 1111 0000 02H 2222 0000 03H 3333 0000 04H 0000 0000 05H 1111 0000 06H 2222 0000 07H 3333 0000 08H 0000 1111 09H 1111 1111 OAH 2222 1111 OBH 3333 1111 OCH 0000 1111 ODH 1111 1111 OEH 2222 1111 OFH 3333 1111 10H 0000 2222 11H 1111 2222 12H 2222 2222 13H 3333 2222 14H 0000 2222 15H 1111 2222 16H 2222 2222 17H 3333 2222 18H 0000 3333 19H 1111 3333 1AH 2222 3333 1BH 3333 3333 1CH 0000 3333 1DH 1111 3333 1EH 2222 3333 1FH 3333 3333 Un avantage de la présente invention est qu'elle permet de constituer un générateur d'adresses programmable qui soit nettement moins encombrant qu'un générateur à tables classique. Un autre avantage de l'invention est qu'avec un nombre limité de compteurs, le générateur d'adresses peut être extrêmement versatile. Selon un mode de réalisation préféré, le nombre de compteurs est limité en cinq. Ainsi, lorsqu'un générateur d'adresses doit être conçu 10 pour un nouveau circuit de traitement d'une fonction (par exemple en traitement d'image), on détermine les paramètres des boucles d'adressage. Ensuite, il suffit de configurer les compteurs programmables pour que le générateur d'adresses soit prêt à fonctionner. En pratique, ces configurations s'effectuent 15 dans une étape de conception du circuit. Ensuite, les paramètres des compteurs sont figés dans leurs registres respectifs par le circuit intégré. Par exemple, la même structure de générateur d'adresses à trois compteurs imbriquées que celle décrite ci20 dessus peut être paramétrée pour d'autres fonctions de traitement MPEG2. En utilisant deux compteurs (MODk = 0), et en choisissant INCj = 1452, OFF; = 0, MODj = 743424, et INCi = 2, OFFi = 2, MODi = 1452, on obtient une mémoire tampon 4 contenant les valeurs de luminance Y dans l'ordre d'affichage (gauche à 25 droite et ligne à ligne), à partir d'images de 512 lignes de 726 pixels stockées dans la mémoire 1 sous la forme illustrée par le tableau 3, dans lequel, Y(a, b) désigne la luminance du pixel de ligne a et de colonne b et C(a, b) désigne ses chrominances bleu et rouge (a est compris entre 1 et 512 et b est compris entre 1 30 et 726). Tableau 3 ADD DATA 0000H C(1, 1) 0001H Y(1, 2) 0002H C(1, 2) 0003H Y(1, 2) 0004H C(1, 3) 0005H Y(1, 3) 05AAH C(1, 726) 05ABH Y(1, 726) 05ACH C(2, 1) 05ADH Y(2, 1) Le tableau 4 ci-dessous illustre les différentes valeurs prises par les variables O-OFFk, O-OFFj, 0-OFFi pour fournir les adresses ADD des informations (DATA) de luminance 5 seules dans l'ordre d'affichage, à partir d'adresses de base BASEADD. Tableau 4 BASEADD O-OFFk O-OFFj 0-OFFi ADD DATA 0000H 0 0 1 0001H Y(1, 1) 0000H 0 0 3 0003H Y(1, 2) 0000H 0 0 5 0005H Y(1, 3) 0000H 0 0 0 05ABH Y(1, 726) 0000H 0 5AC 1 05ADH Y(2, 1) Bien entendu, la présente invention est susceptible de 10 diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, la détermination des différents paramètres de programmation du générateur est à la portée de l'homme du métier à partir des indications fonctionnelles données ci-dessus et l'application. A cet égard, l'invention a un intérêt tout particulier pour des données stockées avec une organisation répétitive (images, bases de données, etc.) . De 5 plus, la détermination de la taille (nombre de bits des compteurs) est également à la portée de l'homme du métier. Dans un exemple particulier de réalisation, on utilisera des compteurs 32 bits. REVENDICATIONS 1. Générateur d'adresses programmable comprenant au moins une entrée de réception d'une première adresse numérique (BASEADD) d'un mot de données dans une première mémoire (4), à convertir en une deuxième adresse numérique (ADD) de ce même mot 5 de données dans une deuxième mémoire (1) ou inversement, caractérisé en ce qu'il comporte: au moins deux compteurs (COUNT) imbriqués de façon hiérarchique, paramétrables individuellement au moins en décalage initial (OFF), en valeur d'incrément (INC), et en 10 compte maximal (MOD) ; au moins un registre (36) de programmation contenant lesdits paramètres de chaque compteur, ces paramètres dépendant de la fonction de conversion d'adressage à effectuer; et un sommateur (31) de la première adresse avec les 15 résultats (O-OFF) des compteurs, ledit sommateur fournissant ladite deuxième adresse. 2. Générateur d'adresses selon la revendication 1, caractérisé en ce que le nombre de compteurs programmables (COUNT) est compris entre 3 et 5. 3. Générateur d'adresses selon la revendication 1 ou 2, caractérisé en ce qu'il est appliqué au traitement d'images vidéo. 4. Générateur d'adresses selon l'une quelconque des revendications 1 à 3, caractérisé en ce que les compteurs sont 25 de type fractal. 5. Générateur d'adresses selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte en outre un circuit (41) de commande des différents compteurs (COUNT) et registres (36).