FR 2541796 A1 19840831 FR 8303143 A 19830225 i La présente invention est relative à un dispo- sitif permettant de répartir le temps d'accès d'une mé- moire sur plusieurs utilisateurs. Il est bien connu dans la technique des micro- 5 processeurs en particulier de commander la lecture et l'écriture d'une mémoire RAM à accès direct, en fonction de deux utilisateurs ou plus, dont l'un est une unité centrale de traitement (CPU) et dont le ou les autres utilisateurs peuvent solliciter la mémoire pendant des 10 périodes dites d'accès direct à la mémoire ou DMA Par exemple, si un grand nombre de données sont à inscrire dans la mémoire, un circuit de commande DMA accède di- rectement à la mémoire sans que le CPU n'intervienne et surtout sans que le cycle de celle-ci ne doive commander 15 l'accès à la mémoire. Un circuit de ce type est décrit dans la deman- de de brevet français N O 77 31 140 déposée le 170 ctobre 1977 au nom de la Demanderesse Dans ce document, on dé- crit deux variantes de commande d'accès à la mémoire, 20 l'une dans laquelle la sollicitation de la mémoire par le CPU et un autre utilisateur est synchrone avec l'horloge du CPU et l'autre dans laquelle la commande se dé- roule de façon totalement asynchrone par rapport à cette horloge, les accès à la mémoire par les divers utilisa- 25 teurs (dont le CPU) étant réglé en fonction d'une cer- taine priorité Dans le cas d'espèce décrit, c'est le CPU qui a la première priorité et chaque fois que celui- ci sollicite un accès à la mémoire, il dispose du temps de cycle de la mémoire soit immédiatement, si aucun au- 30 tre cycle n'est en cours, soit au cycle suivant, si le cycle en cours est affecté à un autre utilisateur, les demandes d'accès des autres utilisateurs étant mises en attente et traitées ensuite seulement en fonction de leur priorité Pendant ce processus, un utilisateur de priori- 35 té plus élevée peut toujours intervenir pour solliciter 2 un accès qu'il obtiendra aux dépens d'une sollicitation par un utilisateur de priorité inférieure. Ce'bircuit DMA" connu (on utilisera ce terme abrégé dans toute la description qui va suivre pour dé- 5 signer le circuit suivant l'invention) permet une exploi- tation de la mémoire avec une très grande efficacité malgré la présence de plusieurs utilisateurs Naturelle- ment, la durée des cycles qui sont élaborés par le DMA ne neut être plus courte que celle, technologiquement 10 fixée, de la mémoire elle-même. On sait que les mémoires intégrées sur des pas- tilles semi-conductrices sont formées par des matrices de cellules de mémoire réparties selon des rangées et des colonnes qui sont respectivement adressées par des 15 adresses de rangées et de colonnes La construction de ces mémoires est telle qu'il faut, pour un cycle d'adres- sage-de colonne ou de rangéeun certain temps de "pré- charge" nécessaire pour placer les circuits associés à la matrice dans la condition de lecture/écriture sélec- 20 tionnée Le temps de précharge des rangées est habituel- lement nettement plus long que celui nécessaire pour précharger les colonnes Par exemple, pour un cycle d'ac- cès mémoire de 250 ns, temps qui est habituel avec les mémoires RAM disponibles actuellement, il faut un temps 25 de précharge de 100 ns pour les rangées alors que pour les colonnes, il suffit de quelques dizaines de nanose- condes seulement. Par ailleurs, dans les mémoires RAM modernes, chaque rangée peut être consitutée de plusieurs octets 30 de cellules de mémoire qu'il s'agit d'adresser séparément par les adresses de colonnes de sorte que chaque fois que l'on veut adresser un octet déterminé, il con- vient de procéder à un cycle mémoire complet composé d'un temps d'accès long de rangée et un temps d'accès 35 court pour les colonnes Par conséquent, lorsqu'on rem- 3 plit une zone mémoire de la RAM dans toutes les adresses successives, par exemple dans le cas d'une mémoire de page d'un système de visualisation à tube à rayonscatho- diques, il faut à chaque adresse exécuter un cycle mé- 5 moire complet de sorte que le temps d'accès `rangée" greffe de façon très importante le temps total d'écri- ture (ou de lecture) de la mémoire. L'invention a pour but de fournir un circuit de commande permettant de répartir au mieux entre plu- 10 sieurs utilisateurs, le temps d'accès à la mémoire tout en réduisant au minimum la durée d'écriture ou de lec- ture des informations dans la matrice de cette mémoire. Elle a donc pour objet un dispositif de comman- de asvnchrone d'accès par plusieurs utilisateurs à une 15 mémoire RAM dont l'accès est commandé par des signaux de validation de rangée et de colonne accompagnant respectivement des adresses de rangée et de colonne qui identifient les emplacements de la matrice de mémoire ou une opération de lecture/écriture doit être réalisée, 20 ce dispositif comprenant, pour chaque utilisateur, une voie de traitement des demandes d'accès formulées par les utilisateurs, les voies de traitement étant inter- connectées de telle manière que les demandes d'accès soient satisfaites avec une priorité selon laquelle les 25 utilisateurs sont classés pour l'accès à la mémoire, le dispositif comprenant également un circuit générateur qui, dès qu'une demande d'accès est formulée, engendre un signal dont la durée détermine un cycle complet d'ac- cès à la mémoire sous la commande desdits signaux de 30 validation, ce dispositif étant caractérisé en ce que ledit circuit générateur dudit signal de durée comprend des moyens pour allouer à au moins certains desdits utilisateurs, plusieurs signaux de validation de colon- ne pour un seul signal de validation de rangée. 35 Grâce à ces caractéristiques, chaque cycle com- 4 plet d'accès à la mémoire peut ainsi être exécuté par un seul cycle de rangée à l'adresse de rangée correspon- dantq à l'aide du signal de validation de rangée, qui est maintenu pendant le temps de précharge de rangée et 5 pendant toute la durée d'un ou de plusieurs cycles de colonne exécutés avec des adresses de colonne incrémen- tées au fur et à mesure et validées par un ou des si- gnaux de validation de colonne, le nombre de cycles de colonne par cycle de rangée étant déterminé par les utilisateurs de la mémoire eux-mêmes. * On comprend qu'ainsi, lorsque des données doi- *vent être lues ou écrites dans la mémoire à des adresses contiguës, on économise un temps appréciable, car le temps de précharge de rangée n'est nécessaire qu'une seu- 15 le fois pour-permettre l'accès à une série d'emplacements contigus dans la mémoire Toutefois, l'utilisateur res- te maître du nombre de cycles de colonne souhaité, il peut déterminer lui-même si un seul cycle ou plusieurs cycles de colonne sont nécessaires, la priorité entre 20 utilisateurs étant en tout état de cause respectée. D'autres caractéristiques et avantages de l'invention apparaîtront au-cours de la description qui va suivre Aux dessins annexés donnés uniquement à titre d'exemple 25 Lesfiguresl A et 1 B représentent des chrono- grammes de cycles de mémoire comportant respectivement un seul accès colonne et plusieurs accès colonne par accès rangée ; la figure 2 est un schéma d'un circuit DMA 30 suivant l'invention dans le cas o il dessert trois utilisateurs dont un nécessite des accès de colonne multiples ; la figure 3 représente un schéma très simpli- fié d'un terminal de télétexte dans lequel est appliquée 35 l'invention ; la figure 4 représente le schéma d'un cir- cuit DMA destiné plus spécialement à être utilisé dans un terminal de télétexte ; la figure 5 est un chronogramme de fonctionne- 5 ment du circuit de la figure 3 ; la figure 6 est un autre chronogramme de fonc- tionnement du circuit de la figure 3. La figure 1 A montre un chronogramme d'un cycle simple d'accès à une mémoire Durant un temps de cycle 10 complet représenté par le signal cycle, il convient d'engendrer un signal RAS (pour row adress strobe déclenchement adresse rangée) et un signal CAS (pour co- lumn adress strobe déclenchement adresse colonne) qui accompagnent respectivement l'adresse de rangée et 15 l'adresse de colonne destinées à localiser un octet déterminé par une adresse dans la matrice de la mémoire. On voit que l'impulsion RAS est nettement plus longue que l'impulsion CAS d'une durée D qui représente la dif- férence entre les durées de précharge des circuits de 20 rangée et de colonne. Le cas de la figure 1 A s'applique par exemple à la communication d'une unité centrale de traitement (CPU) avec sa mémoire o chaque opération lecture/écri- ture nécessite l'adressage d'une seule cellule de mémoi- 25 re Il peut en être autrement lorsque I'utilisateur de la mémoire est un circuit qui demande par exemple l'écri- ture d'une série de données à de nombreuses adresses successives de la mémoire, ce qui est le cas par exemple d'une mémoire de page mémorisant pour chaque trame une 30 image à afficher sur l'écran d'un tube cathodique à trame balayée Dans ce cas, les données sont successivement inscrites dans la mémoire à des adresses commençant au début d'une rangée (premier octet), après quoi les autres octets de la rangée sont remplis les uns après les autres 35 par l'incrémentation de l'adresse colonne A la fin d'une 6 rangée, l'adresse de rangée est alors incrémentée d'une unité pour permettre le chargement de la rangée suivante de la matrice de mémoire Il est évident que si l'on utilise le système d'adressage classique de la figure 5 1 A, chaque chargement d'un octet nécessite la somme d'un temps de précharge RAS et d'un temps de précharge CAS alors qu'en réalité, l'adresse de rangée ne change pas. C'est pourquoi l'invention prévoit de ne plus utiliser dans ce cas qu'un seul adressage de rangée pour 10 plusieurs adressages de colonne, ce qui est représenté sur la figure l B. Ici, le signal CYCLE est maintenu aussi long- temps qu'une rangée de la mémoire est chargée, le signal RAS n'étant engendré qu'une seule fois pendant cette 15 operation et également maintenue pendant le cycle entier. Par contre, le signal CAS est répété autant de fois que nécessaire (par exemple le nombre de colonnes que com- porte la mémoire) Grace à cette commande, la mémorisa- tion des données dans une rangée est nettement plus 20 courte et on peut donc gagner un temps d'accès à la mé- moire considérable. La figure 2 montre un circuit DMA qui permet d'obtenir un accès en temps partagé à la mémoire qui selon le type d'utilisateur est "monocycle" (figure 1 A) 25 ou "multicycle" (figure l B) Le circuit DMA comporte un circuit logique de commande asynchrone 1 qui élabore sur ses sorties 51, 52 et 53 des signaux de cycle des- tinés à allouer aux utilisateurs U 1, U 2 et U 3 respectifs un temps d'accès à la mémoire RAM , en fonction de de- 30 mandes d'accès que ces utilisateurs formulent au cours du fonctionnement Les signaux de demande d'accès sont appliqués aux entrées E 1, E 2 et E 3 par les utilisateurs associés. Comme décrit dans la demande de brevet précitée, 35 le circuit logique de commande asynchrone comporte trois 7 parties essentielles, à savoir un circuit 2 de mémori- sation préliminaire de demandes d'accès connecté à un circuit 3 de mémorisation de demandes d'accès en cours, ce circuit étant à son tour connecté à une logique de 5 priorité 4 On rappellera ci-dessous brièvement la construction et le fonctionnement du circuit logique tout en tenant compte des modifications apportées par l'in- vention. .Dans le mode de réalisation représenté, le cir- 10 cuit logique de commande est un circuit à trois voies. Il n'v a aucune relation de phase entre les trois voies. Les sorties des circuits 2 a, 2 b, 2 c, sont connectées aux entrées d'une porte NON-OU 5 dont la sortie est connec- tée à une entrée d'un circuit d'élaboration 6 des si- 15 gnaux RAS et CAS conçu suivant l'invention. Pour le moment, on admet que ce circuit est connecté d'une part aux circuits 3 a, 3 b, 3 c, de mémori- sation de demandes d'accès en cours de chaque voie, et d'autre part à une entrée de chacune de trois portes 20 NON-ET 4 a, 4 b, 4 c, constituant les trois voies de la logique de priorité 4, respectivement par des lignes L 1 et L 2 sur lesquelles circulent des signaux "Début cycle" et "Cycle" respectivement. La porte 4 a est une porte à deux entrées dont 25 l'entrée autre que celle connectée à la ligne L 2 est reliée à une première sortie du circuit 3 a. La porte 4 b est une porte à trois entrées dont les deux entrées autres que celle connectée à la ligne L 2 sont respectivement reliées, l'une à une seconde 30 sortie du circuit 3 a, l'autre à une première sortie du circuit 3 b. La porte 4 c est une porte à quatre entrées dont les entrées autres que celle connectée à la ligne L 2 sont reliées chacune à une sortie des circuits 3 a, 3 b, 35 3 c. 8 Le circuit ainsi constitué enregistre les de- mandes d'accès à la mémoire et les distribue selon l'or- dre d'arrivée ou un ordre de priorité. La voie E 151 est supposée posséder la plus 5 forte priorité tandis que la voie E 252 nécessite un ac- cès du type "multicycle", les autres voies E 151 et E 353 étant supposées ne nécessiter que des accès "monocycle". Lorsque l'entrée E 1 est portée au niveau bas pour une demande d'accès par l'utilisateur U 1, la bas- 10 cule RS 2 a change d'état de sorte que l'entrée D du circuit 3 a passe à 1, ce qui entraîne le changement d'état de la sortie de la porte NON-OU 5 et provoque, par l'intermédiaire du circuit 6 à décrire ci-après, l'apparition d'une impulsion sur la ligne L 1 Le front 15 montant de cette impulsion est utilisé pour enregistrer la demande d'accès dans la bascule de type D 3 a dont la sortie Q 1 passe au niveau haut. La combinaison du signal Q 1 et du signal de la ligne L 2 apparaissant aux entrées de la porte 4 a autorise 20 l'apparition d'une impulsion sur la sortie 51. Lorsque 51 est au niveau bas, la bascule 2 a est remise à son état initial La ligne L 1 est de nouveau au niveau haut. A la fin du cycle d'accès à la mémoire, la ligne 25 L 1 est au niveau bas et le signal de la ligne L 2 fait à nouveau passer la sortie 51 au-niveau haut. Jusqu'ici, le circuit que l'on vient de décrire fonctionne comme dans la demande de brevet Drécitée avec des signaux espacés dans le temps circulant sur les li- 30 gnes L 1 et L 2. On va maintenant décrire les autres composants du montage qui permettent d'engendrer les signaux sur ces deux lignes L 1 et L 2 d'une manière très différente de celle décrite dans la demande de brevet précitée. 35 ,La sortie de la porte NON-OU 5 est reliée à une 9 horloge 7 déclenchée à l'apparition d'un signal sur la sortie de cette porte Cette horloge est connectée à deux compteurs 8 et 9 de RAS et de CAS respectivement. Ceux-ci sont reliés chacun à un décodeur 10 et 11 res- 5 pectivement fournissant en ce qui concerne le décodeur 10 un signal DEBUT CYCLE (ligne L 1), un signal CYCLE (ligne L 2) et un signal RAS Le décodeur 11 est destiné à engendrer un signal CAS Les signaux RAS et CAS sont envoyés nar des lignes appropriées surdes tampons d'adres- 10 se de rangée ( 12) et de colonne ( 13) pour permettre la validation des adresses qui v sont chargées à partir d'un bus d'adresses B provenant des utilisateurs U 1, U 2 et U 3, seul le bus de l'utilisateur U 2 étant représenté. Les tampons d'adresse sont connectés à la mémoire RAM 14. 15 A la réception d'un signal de la porte NON-OU 5, l'horloge commence à commander d'abord le compteur 8 qui, après avoir reçu un nombre d'impulsions correspondant au temps de précharge de rangée (durée D), déclenche par une ligne L 3 le compteur 9 Le décodeur 10 déclenche les 20 signaux DEBUT CYCLE et CYCLE, ce dernier signal étant maintenu tant que le compteur RAS 8 continue à accumuler des impulsions d'horloge Le compteur CAS se remplit au rythme des impulsions d'horloge engendrant le signal CAS par l'intermédiaire du décodeur 10 Après avoir compté 25 le nombre d'impulsions correspondant à la durée d'un cycle du signal CAS, le compteur 9 envoie un signal RAZ sur une ligne L 4 reliant ce compteur à l'horloge 7 pour l'arrêter. Entre temps, les tampons des adresses rangée et 30 colonne 12 et 13 ont transféré les adresses correspon- dantes à la mémoire RAM 14 durant les signaux RAS et CAS, le compteur RAS 8 est remis à zéro par la ligne L 4, le signal CYCLE est supprimé et la porte 4 a n'est plus va- lidée En même temps, la bascule 2 a est remise à zéro. 35 L'utilisateur UJ 2 est supposé charger la mémoire 10 14 avec plusieurs adresses de colonne successives par une seule adresse de rangée Le nombre de cycles CAS peut être commandé par l'utilisateur lui-même, le si- gnal correspondant étant produit sur une ligne LS qui 5 relie l'utilisateur U 2 à un registre 15 de nombre de cvcles Celui-ci est validé par le signal apparaissant sur la borne 52 lorsque la sortie de la porte 4 b est produite après une demande d'accès à la mémoire formulée sur la borne Et par l'utilisateur U 2 Le nombre de cy- 10 cles étant chargé dans le registre 15, il est décrémenté d'une unité chaque fois que le signal CAS est produit par le compteur 9 Tant que le registre 15 n'est pas vidé, il produit sur sa sortie (conducteur L 6) un signal qui inhibe dans le compteur 9 la sortie produisant le 15 signal de remise à zéro sur la ligne L 4. L'horloge 7 ne sera donc pas verrouillée après la fin du premier cycle CAS, mais continue à incrémenter le compteur RAS 8 et cycliquement le compteur 9 jus- qu'à ce qu'en fin de cycle,le registre 15 étant vidé, 20 le signal sur la ligne L 6 autorise la production du signal RAZ sur la ligne L 4. On peut noter que la préparation du signal sur la borne S, est identique à celle du signal sur la borne Si, la priorité étant, bien entendu, prise en compte. 25 On voit donc que le montage de la figure 2 per- met de commander en temps partagé l'accès à la mémoire de plusieurs utilisateurs, et ce en total asynchronisme et avec respect d'une priorité sélective attribuée aux utilisateurs Ceux-ci peuvent être des composants d'un 30 même système de traitement d'information comportant une mémoire RA`M commune. Une application particulièrement appropriée de l'invention peut être trouvée dans le domaine des sys- tèmes de télétexte La figure 3 représente un schéma 35 très simplifié d'un terminal destiné à l'affichage de il télétexte utilisant par exemple le système "Antiope". Un tel terminal comprend une unité centrale de traitement CPU 17 pouvant recevoir des commandes et des informations de plusieurs émetteurs 18 et 19 5 tels qu'une ligne téléphonique ou un clavier Ce CPU 17 coopère ave'c un processeur d'affichage vidéo 20 ou VDP préparant les informations d'image en les transfor- mant sous une forme pouvant être utilisée par un tube 21 à rayons cathodiques et à trame balayée Le CPU 17 10 et le VDP 20 coopèrent avec une mémoire mixte RAM/ROM 22 par l'intermédiaire de bus d'adresses et de données. Un circuit 23 du type "DIDON" peut communiquer avec l'ensemble du terminal à partir d'un poste de réception 24 et d'une antenne 25 recevant un signal type télévi- 15 sion avec une information de télétexte entrelacée. Le VDP 20 comporte un circuit décodeur 26 permettant en fonction d'adresses reçues du CPU 17 de va- lider des registres (non représentés) du VDP pour placer celui-ci sélectivement dans des fonctions diverses de 20 compositions d'image, de chargement de mémoire, de récep- tion d'information vidéo, de rafraîchissement de mémoire, etc. L'accès à la mémoire par les utilisateurs (CPU 17, VDP 20 et "DIDON" 23) est régi par un circuit de - 25 commande d'accès 27, conforme à l'invention et consti- tuant un développement du circuit représenté à la figu- re 2, étant entendu qu'il est plus spécifiquement appli- qué un terminal de télétexte du type représenté à la figure 3. 30 L'accès à la mémoire est ici également commandé de façon asynchrone en fonction d'une priorité qui est établie de la façon suivante : Priorité 1 Lecture d'un octet dans la mémoire sous la commande du CPU 17. 35 Priorité 2 Ecriture d'un octet dans la mémoire en 12 provenance du circuit "DIDON" 23. Priorité 3 Lecture d'une suite d'octets dans la mé- moire de page, chaque octet appartenant à un "plan mémoire". 5 Priorité 4 Ecriture d'une suite d'octets dans la mé- moire en provenance du CPU ou d'une autre zone de la mémoire (générateur de caractè- res par exemple). On voit que les priorités 3 et 4 impliquent le 10 chargement ou la lecture d'une série d'octets successifs ce qui revient à des multicycles comme décrit plus haut. Le circuit de commande d'accès de la figure 4 comporte pour l'essentiel les mêmes éléments que celui de la figure 2 et ces éléments ont reçu les mêmes réfé- 15 rences On va maintenant décrire les éléments complémen- taires spécifiquement ajoutés pour l'application au ter- minal de télétexte. Le registre de nombre de cycles 15 est ici en fait constitué par deux registres 28 et 29, l'un destiné 20 à enregistrer un nombre de "plans mémoire" et l'autre à mémoriser un nombre de cycles d'écriture à effectuer lorsque des multicycles sont à réaliser respectivement -pour les voies 3 et 4 du circuit de commande d'accès. Les registres 28 et 29 sont validés par les signaux 53 25 et 54 respectivement, leurs entrées de validation étant donc reliées par des lignes L 7 et L 8 aux bornes corres- pondantes 53 et 54 Chacun des registres comporte une sortie zéro sur laquelle apparaît un signal lorsque le registre est vide pour autoriser la production du signal 30 RAZ à la sortie correspondante du compteur CAS, comme précédemment décrit en-ce qui concerne le registre 15. Les registres 28 et 29 sont décrémentés par des portes NON-ET associées 30 et 31 oui sont validées par le si- gnal CAS et des signaux respectifs X 1 et X 2 provenant 35 d'un comparateur 32. 13 Celui-ci comporte deux jeux d'entrées qui sont respectivement reliés aux sorties R 51 à R 54 des bascules 2 a à 2 d et aux sorties des portes NON-ET 4 a à 4 d pour en comparer les niveaux logiques, et ainsi, l'état des de- 5 mandes d'accès réalisées avec les cycles d'accès en cours d'exécution. Le comparateur 32 comporte des sorties X 1 et X 2 reliées aux portes 30 et 31 ainsi qu'une sortie INT qui est reliée à une porte NON-OU 33 dont la sortie permet 10 de remettre à zéro les compteurs 8 et 9 par la ligne L 9. Cette remise à zéro peut également être commandée par un signal DEBORDEMENT sur une ligne L 10 provenant de l'uni- té arithmétique et logique (non représentée) du VDP 20. Ce signal est engendré lorsqu'une adresse est chargée 15 dans l'emplacement d'une rangée correspondant à la der- nière colonne de la mémoire Dans ce cas, il convient d'interrompre le chargement, d'incrémenter l'adresse rangée et de redémarrer le chargement avec une nouvelle adresse de colonne correspondant à la première cellule 20 de la rangée suivante désignée par l'adresse rangée incrémentée. Le signal INT est également combiné au signal CAS dans une porte NON-ET 34 qui à son tour est reliée à une porte NON-OU 35 recevant par ailleurs le 25 signal DEBUT CYCLE engendré le moment venu par le déco- deur 10. On va maintenant décrire le fonctionnement du circuit de la figure 4 en examinant les chronogrammes des figures 5 et 6. 30 A Demande CPU-lecture (monocvcle). On suppose qu'il y a une demande du CPU pour lire un octet dans la mémoire, un signal étant donc appliqué sur la borne E 1 (figure 4) On suppose égale- ment que le circuit DMA n'exécute aucune demande à 35 l'instant considéré Le signal sur la borne E 1 génère 14 R 51 = 1 qui est appliqué à la porte NON-OU 5, ce qui déclenche l'horloge 7 Celle-ci commande les compteurs 8 et 9 et le décodeur 10 associé au compteur RAS 8 en- gendre le signal "DEBUT CYCLE" qui en passant par la 5 porte NON-OU 35 produit le signal HD sur la ligne L 1. Le signal HD enregistre l'état des bascules R 51 à R 54 dans les bascules D associées Dans le cas considéré ici, seule la bascule D 3 a'fournit un " 1 " à sa sortie Q. Le signal CYCLE produit par le décodeur 10 est à " 1 " du- 10 rant le cycle et valide donc la porte C 1 pour générer un signal de commande du circuit 26 qui place les orga- nes appropriés du VDP 20 (figure 3) dans la configura- tion permettant une lecture directe dans la mémoire par le CPU Le signal de sortie de la porte 4 a est rebouclé 15 sur la bascule R 51 en fin de cycle. S'il v a plusieurs demandes en cours ou consé- cutives, la combinaison logique des sorties Q des bas- cules D, 3 a à 3 d et des entrées des portes 4 a à 4 d per- met de générer le signal de commande 51, 52, 53 ou 54 20 ayant la priorité la plus élevée (ici par priorité crois- sante C 1-C 2-C 3-C 4). B Demande Visu ou CPU-écriture (multicycle). Une telle demande implique, par exemple, une lecture ou une écriture d'un grand nombre d'octets dans 25 la mémoire de page Au cours d'une demande VISU, chaque octet appartient à un "plan mémoire" prédéterminé Le terme "plan mémoire" est utilisé ici pour désigner un groupe d'octets mémorisés ou à mémoriser appartenant tous à une couleur déterminée à afficher Par exemple, 30 on peut avoir un plan mémoire Rouge, Bleu ou Vert, les octets de chaque plan n'étant pas nécessairement tous contiguis les uns des autres dans la mémoire. Le déclenchement du multicycle est identique à celui d'un monocycle, cependant que lors de la produc- 35 tion du signal 53 (ou 54), les registres 28 ou 29 sont 15 charges avec une valeur qui pour la voie 3 est un nom- bre de plans mémoire, et pour la voie 4, un nombre de cycles CAS Dans les deux cas, un seul cycle RAS est nécessaire pour plusieurs cycles CAS En d'autres ter- 5 mes, le signal CAS est répété avec son temps de pré- charge tant que le-compteur 28 ou 29 n'est pas parvenu à zéro pour décrémentation avec le signal CAS- Cette décrémentation est validée chaque fois par des signaux X 1 et X 2 à travers les portes 30 et 31 pour permettre 10 d'interrompre éventuellement le déroulement d'une suite de cycles CAS lorsqu'une demande de priorité supérieure se présente On reviendra sur ce point à propos de la figure 6. La figure 5 représente par un chronogramme le 15 déroulement d'un multicycle avec un nombre de six plans mémoire, ce nombre étant stocké dans le compteur 28. Cette même figure 5 illustre le passage d'une rangée à une autre lorsque l'adresse de colonne correspond à la dernière adresse d'une rangée (ici lorsque le comp- 20 teur 28 a été décrémenté deux fois) Lorsque la dernière adresse de colonne d'une rangée est atteinte, le circuit ALU du VDP 20 fournit le signal DEBORDEMENT qui, par l'intermédiaire de la porte 33, remet à zéro les comp- teurs 8 et 9 en synchronisme avec l'horloge 7 pour un 25 nouveau cycle RAS L'adresse de rangée étant incrémentée d'une unité, de nouveaux cycles CAS peuvent se dérouler successivement, jusqu'à ce que le compteur 28 parvienne à zéro On voit que la décrémentation de ce compteur s'est provisoirement arrêtée pendant le passage d'une 30 rangée à la suivante et qu'après ce passage, le signal CAS,produit successivement, continue à décrémenter le compteur 28 qui garde en mémoire le nombre ( 4) de cycles CAS encore à exécuter. D'une façon générale, lorsqu'une demande par 35 la voie 4 est déclenchée (CPU écriture), un grand nombre 16 de cycles CAS est nécessaire pour un seul cycle RAS. Toutefois, ceci ne doit pas empêcher l'intervention d'un utilisateur prioritaire sur l'accès de la mémoire. Par exemple, dans le contexte d'un système de télétexte, 5 la voie 2 permet d'assurer la réception d'informations extérieures qui sont génératrices de l'information à afficher de sorte que cette voie est tout à fait essen- tielle si on ne veut pas, à la base, perdre de l'infor- mation du message à transmettre Ainsi, la voie 2 (cir-10 cuit DIDON 23) demande à écrire dans la mémoire un octet toutes les 1,3 ls, et un tel octet ne doit pas être -perdu. Le circuit DMA suivant l'invention est apte à interrompre une demande multicycle en cours d'exécution, 15 si une voie de priorité supérieure demande un accès à la mémoire Ceci résulte du chronogramme de la figure 6. Dans cet exemple, le circuit satisfait d'abord une de- mande sur la voie 4 pour-exécuter l'écriture par le CPU dans la mémoire Ainsi, trois cycles CAS sont exécutés. 20 Au bout du troisième cycle CAS de la voie 4, une autre demande est formulée sur la voie 3, ce qui provoque la production du signal INT appliqué à la porte 33 par le comparateur 32 Celui-ci compare en permanence l'état des bascules R 51 à R 54 (demandes-réalisées) à 25 l'état des sorties des portes C 1 à C 4 (cycles en cours d'exécution) Si le nombre binaire appliqué sur les en- trées RS du comparateur 32 est plus élevé-que sur les entrées C, le comparateur produit le signal INT remettant à zéro les compteurs 8 et 9 et inter-disant 30 tout nouveau passage du signal CAS à travers les portes 30 et 31 par les signaux X 1 et X 2 Le signal INT de même que précédemment le signal DEBORDEMENT engendrent le signal HD qui permet d'enregistrer le nouvel état des bascules RS dans les bascules D lorsque le signal CAS 35 en cours remonte au niveau haut. 17 Le circuit DMA permet alors l'accès sur deux cycles de la voie N O 3 (dans le cas représenté à la figure 6), après quoi une autre demande ayant une priori- té encore plus élevée est formulée Après un cycle mé- 5 moire permettant la mémorisation d'un octet de la voie 2 (DIDON), une autre demande de la priorité la plus élevée est formulée par le CPU (lecture) Ainsi, successivement sont exécutés de la même façon, et en respectant toujours les priorités, deux cycles CAS de la voie 3 e qui 10 n'étaient pas exécutés auparavant lorsque la demande de la voie 2 se présentait, quatre cycles de la voie 3 initiés par une nouvelle demande d'accès de -cette voie puis, la reprise des cycles de la voie 4 sur plusieurs cycles Naturellement, à chaque interruption d'un multi- 15 cycle, le nombre de cycles CAS encore à exécuter reste mémorisé dans le compteur 28 ou 29 correspondant. REVENDICATIONS 1 Dispositif de commande asynchrone d'accès par plusieurs utilisateurs (U 1, U 2, U 3, 17, 20, 23) à une mémoire RAM ( 14 ; 22) dont l'accès est commandé par 5 des signaux de validation de rangée (RAS) et de colonne (CAS) accompagnant respectivement des adresses de rangée et de colonne qui identifient les emplacements-de la matrice de mémoire o une opération-de lecture/écriture doit être réalisée, ce dispositif comprenant, pour cha10 que utilisateur, une voie de traitement (E 151 à E 454) des demandes d'accès formulées par les utilisateurs, les voies de traitement étant interconnectées de telle manière que les demandes d'accès soient satisfaites avec une priorité selon laquelle les utilisateurs sont classés 15 pour l'accès à la mémoire ( 14 ; 22), le dispositif com- prenant également un circuit générateur ( 6 ; 27) qui, dès qu'une demanle d'accès est formulée, engendre un signal (CYCLE) dont la durée détermine un cycle complet d'accès à la mémoire sous la commande desdits signaux 20 de validation (RAS, CAS), ce dispositif étant caractéri- sé en ce que ledit circuit générateur dudit signal de durée comprend des moyens ( 7, 8, 9, 15, 28, 29) pour allouer à au moins certains desdits utilisateurs (U 1, U 2, U 3, 17, 20, 23), plusieurs signaux de validation de co- 25 lonne pour un seul signal de validation de rangée. 2 Dispositif suivant la revendication 1, carac- térisé en ce que lesdits moyens pour allouer plusieurs signaux de validation de colonne (CAS) pour un seul si- gnal de validation de rangée (RAS) comprennent une horloge ( 7) qui est raccordée à chacune des voies de trai- tement (E 151 à E 454) pour être mise en marche chaque fois qu'une demande d'accès est formulée par un utilisa- teur (U 1 à U 3 ; 17, 20, 23) ; un premier dispositif de comptage ( 9, 11) relié à ladite horloge et qui, compte 35 tenu de la fréquence de ladite horloge, détermine par sa capacité la durée d'un cycle colonne (CAS) et un second dispositif de comptage ( 8, 10) relié également à ladite horloge et capable d'autoriser ledit premier dispositif de comptage à compter après réception d'un nombre d'im- 5 pulsions d'horloge correspondant au temps de précharge de rangée de ladite mémoire RAM, et en ce qu'il est pré- vu au moins un registre ( 15, 28, 29) destiné à contenir un nombre correspondant au nombre de cycles colonne à effectuer pour un seul cycle rangée, ledit registre étant 10 relié audit premier compteur pour être décrémenté à chaque remplissage complet de ce compteur, et ladite horloge ( 7) étant inhibée, lorsque le nombre chargé dans ledit registre atteint la valeur zéro. 3 Dispositif suivant la revendication 2, carac- 15 térisé en ce que chaque dispositif de comptage ( 8, 10 ; 9, 11) comprend un compteur ( 8, 9) dont l'entrée de com- mande est reliée à ladite horloge ( 7), le compteur du second dispositif d'horloge comprenant une sortie (L 3) sur laquelle est délivré un signal de validation du comp- 20 teur ( 9) du premier dispositif de comptage, lorsqu'un nombre d'impulsions d'horloge correspondant au temps de précharge rangée est compté par le compteur ( 8) du second dispositif de comptage. 4 Dispositif suivant larevendication 3, carac- 25 térisé en ce que chaque compteur ( 8, 9) est raccordé à un décodeur ( 10, 11) qui délivre respectivement le signal (CAS et RAS) établi entre le début et la fin du comptage des impulsions d'horloge par le compteur respectif. 5 Dispositif suivant l'une quelconque des re- 30 vendications 3 et 4, caractérisé en ce que ledit signal CYCLE est délivré par le décodeur ( 10) dudit second dispositif de comptage ( 8, 10) tant que le compteur ( 8) de celui-ci est incrémenté par des impulsions d'horloge au cours d'un cycle d'accès complet de la mémoire. 6 Dispositif suivant l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend des premiers moyens (L 9, 33) qui, lorsqu'un utilisateur (U 2) constate que la fin d'une rangée de la matrice de mémoire est atteinte, interrompent l'exé- 5 cution d'une série de cycles colonne (CAS) pour ce cycle de rangée en cours. 7 Dispositif suivant la revendication 6, lors- qu'elle dépend de l'une quelconque des revendications 3 à 5, caractérisé en ce que lesdits premiers moyens d'in- 10 terruption comprennent une porte logique ( 33) sensible à un signal DEBORDEMENT fourni par ledit utilisateur (U 2), la sortie de ladite porte logique ( 33) étant rac- cordée aux entrées de remise à zéro desdits compteurs ( 8, 9). 15 8 Dispositif suivant l'une quelconque des re- vendications 1 à 7, caractérisé en ce qu'il comprend des seconds moyens d'interruption ( 32, 33) destinés à inter- rompre l'exécution d'une série de cycles colonne (CAS) en cours, lorsqu'une demande d'accès à la mémoire est 20 formulée par un utilisateur ayant une priorité d'accès plus élevée. 9 Dispositif suivant la revendication 8, carac- térisé en ce que lesdits seconds moyens d'interruption ( 32, 33) comprennent un comparateur ( 32) qui est raccor- 25 dé aux entrées (E 1 à E 4) et aux sorties ( 51 à 54) des- dites voies (E 151 à E 454) pour en comparer l'état logique et qui délivre un signal d'interruption lorsque l'état logique des entrées prédomine sur l'état logique des sor- ties. 30 10 Dispositif suivant les revendications 7 et 9 prises ensemble, caractérisé en ce que la sortie du comparateur ( 32) est reliéeà ladite porte logique ( 33) dont la sortie est raccordée aux entrées de remise à zéro des compteurs ( 8, 9). 35 11 Dispositif suivant la revendication 10 lors- 21 qu'elle dépend de l'une quelconque des revendications 2 à 6, caractérisé en ce que ledit comparateur ( 32) com- porte au moins une sortie supplémentaire qui est propre à l'utilisateur auquel est associé un registre ( 28, 29) 5 destiné à mémoriser le nombre de cycles colonne (CAS) nécessaire, pour interrompre la décrémentation de ce registre par ledit premier dispositif de comptage ( 9, 11) lorsque ledit comparateur ( 32) fournit un signal d'interruption (INT). 10 12 Dispositif suivant l'une quelconque des revendications 2 à 11, caractérisé en ce que lesdits utilisateurs sont respectivement le CPU ( 17), le pro- cesseur vidéo ( 20) et le circuit ( 23) de réception de signaux de télétexte d'un terminal de télétexte, utili- 15 sateurs auxquels sont associés respectivement lesdites voies de traitement (E 151 à E 454) et en ce qu'au moins les voies affectées au processeur vidéo et à l'écriture dans la mémoire dudit CPU ( 17) sont raccordées respectivement à un registre ( 28, 29) pour mémoriser une va- 20 leur qui représente le nombre de fois qu'un cycle d'ac- cès colonne doit être réalisé pour un cycle d'accès rangée.