Brevet FR2702322A1 — publié le 19940909

La présente invention est relative à la trans- mission de données et se rapporte plus particulièrement à la transmission de données entre terminaux de télécommuni- cations fonctionnant à des fréquences différentes. Les applications dans le domaine des télécom- munications et de l'informatique ont de plus en plus tendance à utiliser un standard à mode de transfert asynchrone ATM pour transférer des données entre des terminaux En général, l'émetteur et le récepteur fonc- tionnent à des fréquences différentes L'élément clé d'un mode de transfert asynchrone ATM est la matrice de commu- tation qui établit la connexion et synchronise l'émetteur avec le récepteur. Une matrice de commutation à deux dimensions du type précité connecte des données d'entrée provenant d'émetteurs fonctionnant chacun à une fréquence différente à des sorties reliées à des récepteurs fonctionnant chacun à une fréquence différente de celle de l'émetteur avec lequel il est mis en communication. La matrice de commutation a donc deux fonctions principales: a) établir une ou plusieurs connexions entre des terminaux, et b) adapter la fréquence des données transmises. L'élément de commutation fonctionne comme un dispositif FIFO, premier entré, premier sorti. Le signal d'horloge qui détermine la cadence des signaux d'entrée provenant d'un premier émetteur commande le stockage de ces données d'entrée à l'adresse définie par un pointeur d'adresse d'écriture La fréquence d'hor- loge dépend de la fréquence des données d'entrée provenant du premier émetteur et incrémente le pointeur d'adresse. Un signal d'horloge correspondant à la fréquence des données de sortie commande le cycle de lecture du FIFO Un pointeur d'adresse de lecture sélectionne une donnée dans le FIFO La donnée de lecture apparaît sur la sortie relié au récepteur correspondant Le signal d'hor- loge correspondant à la fréquence des données de sortie commande l'incrémentation d'un registre de lecture d'a- dresse La taille du dispositif FIFO dépend de la diffé- rence de fréquence entre l'entrée et la sortie des don- nées et du nombre d'informations à transmettre Les pointeurs d'écriture et de lecture fonc- tionnent en adressage circulaire Lorsque l'adresse de l'un ou l'autre des pointeurs est au bas du registre FIFO, l'adresse suivante est au sommet du registre FIFO L'éga- lité des pointeurs d'adresse d'écriture et de lecture établit le signal vide. Lorsque le pointeur de lecture rattrape le pointeur d'écriture, à l'égalité des deux pointeurs, le tampon est vide Lorsque le pointeur d'écriture rattrape le pointeur de lecture, le tampon est plein. Le cycle d'écriture correspondant à l'égalité des pointeurs est inhibé. Une matrice de commutation classique est formée d'éléments de commutation organisés en rangées et en colonnes Un bus d'entrée de données et d'horloge connecte les éléments de commutation rangée par rangée. Un bus de sortie de données et d'horloge connec- te les éléments de commutation colonne par colonne. Pour un commutateur ayant une architecture de mémoire à double port, l'accès aux éléments de stockage de la mémoire nécessite pour chaque port des blocs logiques associés aux éléments de stockage tels que des circuits tampons d'entrée, des circuits de préchargement, des amplificateurs de détection, des moyens de décodage et de commande d'adresse, des circuits de décodage X et des circuits de commande de lignes de mots. Il en résulte que la surface utile des éléments de stockage à double port représente une faible partie de la surface de mémoire totale. Dans le cas par exemple d'une mémoire à double port à 64 octets, les surfaces totales de tous les blocs logiques précités représentent 75 % de la surface de la mémoire. Un tel agencement rend la mémoire encombrante et coûteuse du point de vue de la surface de silicium utili- sée. L'invention vise à remédier à cet inconvénient en créant un dispositif de mémoire matricielle dont les circuits logiques de commande n'occupent plus qu'une surface minimale de la surface totale de la mémoire. Elle a donc pour objet une mémoire à points d'interconnexion comprenant une matrice de mémoires de commutation à double port utilisées comme des dispositifs premier entré, premier sorti, caractérisée en ce que cha- que mémoire à double port de la matrice de mémoires com- porte un port d'écriture seulement et un port de lecture seulement ayant des signaux d'adresse et de commande séparés. L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels: la Fig 1 est une vue schématique d'une matrice de commutation à mode de transfert asynchrone de type connu; la Fig 2 est une vue schématique d'un élément de commutation entrant dans la constitution de la matrice de la Fig 1; la Fig 3 est une vue schématique plus détail- lée d'une matrice de commutation de type connu à quatre rangées et quatre colonnes d'éléments de commutation; la Fig 4 est une vue partielle de la structure interne d'un réseau de mémoire à double port de type classique; la Fig 5 est une vue partielle de la structure interne d'un réseau de mémoire à double port agencé suivant l'invention; la Fig 6 est un schéma d'une colonne du réseau de mémoire de la Fig 5; la Fig 7 est un diagramme représentant les signaux intervenant dans un cycle d'écriture; la Fig 8 est un diagramme représentant les signaux intervenant dans un cycle de lecture; la Fig 9 est un schéma d'une variante modula- ble de l'organisation du réseau de mémoire suivant l'in- vention. Sur la Fig 1, on a représenté une matrice de commutation 1 à mode de transfert asynchrone à deux dimen- sions de type connu. La matrice comporte des entrées Dl, D 2, destinées à être connectées à des émetteurs fonctionnant chacun à une fréquence différente comme le montrent les signaux d'entrée correspondants et des sorties Q 1, Q 2, Q 3 destinées à être connectées à des récepteurs qui fonctionnent chacun à une fréquence différente de celle de l'émetteur avec lequel ils sont mis en communication. Cette matrice connecte les données d'entrée Dl à la sortie Q 3 et les données d'entrée D 2 à la sortie Ql au cours de la même période de temps. La cadence des données d'entrée Dl est dans le présent exemple supérieure à celle des données de sortie Q 3 requises par le terminal connecté à la sortie Q 3. Dans la seconde connexion D 2-Q 1, la cadence des données d'entrée D 2 est inférieure à la cadence des données de sortie Q 1. Comme déjà indiqué plus haut, la matrice de commutation doit donc principalement: a) établir une ou plusieurs connexions entre des terminaux; b) adapter la fréquence des données transmises. A cet effet, la matrice de commutation est formée d'éléments de commutation tels que celui représenté à la Fig 2. On a décrit à titre d'exemple, l'élément de commutation établissant la liaison entre l'entrée Dl et la sortie Q 3. Il comporte principalement un dispositif FIFO désigné par FIFO D 1-Q 3 relié d'une part à l'entrée Dl et d'autre part à la sortie Q 3 et auquel sont associés un pointeur d'adresse d'écriture Waddr commandé par un signal d'horloge Clk-Dl et un pointeur d'adresse de lecture Radd 2 commandé par un signal d'horloge Clk-Q 3. Le signal d'horloge Clk-Dl commande le stockage des données d'entrée Dl à l'adresse définie par le poin- teur d'adresse d'écriture Waddr La fréquence du signal d'horloge Clk-Dl dépend de la fréquence des données d'entrée Dl. Le signal Clk-Dl incrémente le pointeur d'a- dresse Waddr. Le signal d'horloge Clk-Q 3 commande le cycle de lecture du FIFO Le pointeur d'adresse de lecture Raddr sélectionne une donnée dans le FIFO. La donnée de lecture apparaît sur la sortie Q 3. Le signal d'horloge Clk-Q 3 commande l'incrémen- tation du registre de lecture d'adresse Raddr. La taille du registre FIFO dépend de la diffé- rence de fréquence entre l'entrée et la sortie des don- nées. Les pointeurs Waddr et Raddr fonctionnent en adressage circulaire Lorsque l'adresse du pointeur Waddr ou du pointeur Raddr est au bas du registre FIFO, l'a- dresse suivante est au sommet du registre FIFO. L'égalité des pointeurs d'adresse Waddr et Raddr établit le signal vide déterminé par un registre de status 2 associé au FIFO représenté à la Fig 2. Le cycle d'écriture est alors inhibé. Une matrice de commutation à quatre rangées et quatre colonnes représentée à la Fig 3 va maintenant être décrite. Un bus d'entrée de données Din et d'horloge Clkin connecte les éléments de commutation FIFO 00 à FIFO 33 rangée par rangée. Il y a donc dans le présent exemple quatre bus d'entrée de données et d'horloge. Din O Clkin 0, Din 1 Clkin 1, Din 2 Clkin 2 et Din 3 Clkin 3. Un bus de sortie de données Dout et d'horloge Clkout connecte les éléments de commutation FIFO 00 à FIFO 33 colonne par colonne. Il y a donc également quatre bus Dout O Clkout 0 à Dout 3 Clkout 3. Sur la Fig 3, trois transferts de données asynchrones représentés par des flèches sont en cours Le premier entre Din 1 et Dout 1, le second entre Din 2 et Dout O et Dout 2 et le troisième entre Din 3 et Dout 3 A un instant donné, seulement un FIFO est lu par colonne. Dans chaque rangée Din peut être transféré dans l'un des différents éléments de commutation FIFO 00 à FIFO 33. La mise en oeuvre d'un dispositif FIFO est réalisée de la manière suivante Un petit FIFO utilise généralement une cellule de registre comme cellule de mé- moire Chaque cellule de registre nécessite seize à vingt transistors Les registres nécessitent des blocs logiques additionnels pour assurer le décodage et engendrer des adresses d'écriture et de lecture afin de connecter les sorties des FIFO aux bus de sortie et engendrer un signal "vide". Un FIFO de plus grande dimension utilise des cellules de mémoire au lieu de cellules de registres pour réduire la taille des éléments de stockage Une cellule de mémoire à double port comporte seulement huit transistors par cellule. La Fig 4 représente quatre mémoires à double port à 64 octets agencées en matrice de commuation Les ports 1 et 2 de chaque mémoire sont symétriques et com- prennent chacun: une entrée de donnée à huit lignes Din-O à Din-7; une sortie de données à huit lignes Dout-0 à Dout-7; six lignes d'adresse pour sélectionner un octet parmi 64, une validation de sortie OE commandant une sortie à trois états; un signal de lecture-écriture RW et une horloge Clk. En comparaison avec les cellules de registres, la dimension d'un FIFO à 64 octets utilisant une cellule de mémoire à double port est plus petite Cependant, dans les agencements connus, la surface des éléments de stoc- kage de la mémoire à double port utilise une faible partie de la surface de mémoire totale Ceci est du aux blocs logiques supplémentaires qui sont nécessaires pour accéder aux éléments de stockage de la mémoire. En effet, chaque mémoire à double port à 64 octets représentée à la Fig 4 et dont une seule est détaillée ici comporte deux cellules de mémoire à 32 octers 3 et 4. A chaque cellule de mémoire est relié un circuit tampon d'entrée/sortie 5,6, un amplificateur de détection 7,8 et un circuit de précharge 9,10 associé à chaque port. En outre, chaque mémoire à double port comporte pour chaque port un circuit de décodage et de commande d'adresse 11,12 et pour accéder à chaque cellule de mémoire des éléments de commande de ligne de mots 13, 14 et des circuits de décodage X, 15,16. Dans le cas d'une mémoire à double port à 64 octets, les surfaces totales de tous ces blocs représen- tent 75 % de la surface de la mémoire Les éléments de stockage de la mémoire à 64 octets ont une surface de 25 % de la surface totale de la mémoire. On va maintenant décrire l'accès à la mémoire à double port. Les quatre mémoires à double port de la Fig 4 sont agencées en une matrice de commutation et appartien- nent aux colonnes M et M+ 1 et aux rangées N et N+ 1 de cette matrice. Un bus de données d'entrée Din O à 7 et des bus d'adresses et de signaux de commande connectent les mémoi- res rangée par rangée Des bus de sortie de données Dout-O à 7 d'adresse et de signaux de commande connectent les mémoires colonne par colonne. Une grande matrice de commutation intégrée ne peut pas utiliser un tel agencement. Chaque mémoire est trop importante en raison du mauvais rapport entre la surface de la cellule de mémoire et la surface totale Le facteur d'acheminement est important en raison des nombreux bus de données d'adresse et de commande des rangées et des colonnes Les performan- ces électriques sont limitées par la longueur des bus. La mémoire à points de connexion suivant l'in- vention présente une architecture qui améliore considé- rablement le rapport entre la surface de la cellule de mémoire et la surface totale et améliore les performances électriques De façon générale, une mémoire est définie par deux paramètres: le nombre de mots et le nombre de bits par mot. La mémoire à points d'interconnexion est un réseau de mémoires à deux ports Les paramètres définis- sant la structure sont le nombre de mots et le nombre de bit par mot pour un élément de mémoire à deux ports ou le nombre de colonnes et le nombre de rangées des éléments de mémoire. Dans l'application à une matrice de commutation, chaque bloc de mémoire à deux ports est utilisé comme FIFO. Suivant l'invention, la logique de commande de FIFO est extérieure à la mémoire à points d'intercon- nexion Un agencement de réseau de mémoire à double port suivant l'invention est représenté à la Fig 5. Il s'agit d'une partie d'une matrice de commuta- tion correspondant à la partie de matrice classique représentée à la Fig 4. On voit sur la Fig 5 que chaque mémoire à 64 octets comporte deux éléments 3 et 4 à 32 octets auxquels est associé un circuit tampon d'entrée 15 et un circuit de commande de ligne de mot 16. En revanche, cet agencement comporte un seul circuit tampon de sortie 18, un seul amplificateur de détection 19, un seul circuit de précharge 20, un seul circuit de décodage et de commande d'adresse 21 et un seul circuit de décodage Y 22 par colonne ainsi qu'un seul circuit de décodage et de commande d'adresse 23 par rangée. Chaque bloc de mémoire à deux ports représenté à la Fig 5 comporte un port d'écriture seulement et un port de lecture seulement Les ports d'écriture et de lecture ont des signaux d'adresse et de commande séparés. Un bloc de mémoire à deux ports ne comporte pas d'amplificateur de précharge de détection et de bloc d'entrée-sortie qui lui sont associés. Des décodeurs d'adresse des dispositifs de commande des lignes de mots et des signaux de commande sont communs à une rangée de blocs de mémoire à deux ports. Les bus de commande de données et d'autorisation d'écriture de chaque rangée interconnectent chaque bloc de mémoire à deux ports à travers un tampon d'entrée Un signal d'autorisation d'écriture commande chaque tampon d'entrée indépendamment. Les blocs de précharge et d'amplificateurs de détection et de sortie sont communs à une colonne Chaque colonne de la mémoire à points d'interconnexion comporte des décodeurs d'adresse, des dispositifs de commande de ligne de mot et des signaux de commande séparés. Il n'y a pas de bus de signaux de sortie de données ou de signaux de commande dans la direction des colonnes. Le cycle d'écriture est indépendant pour chaque rangée de la matrice de mémoires. Les mêmes données peuvent être écrites à la même adresse dans un ou plusieurs blocs de mémoire à deux ports Ceci est commandé par le signal d'autorisation d'écriture. Le cycle de lecture est indépendant pour chaque colonne Un mot seulement est lu dans une colonne. La Fig 6 représente le détail d'une cellule de mémoire suivant l'invention et les blocs logiques pour accéder aux cycles d'écriture et de lecture. La Fig 6 représente le bit Din-0. Il comprend soixante quatre cellules de mémoire disposées en colonne, chaque cellule de mémoire étant formée d'une paire de transistors Tl, T 2 avec un amplifi- cateur inverseur 31 intercalé entre eux, connectés à deux lignes d'écriture 32,33, elles-mêmes reliées à un circuit tampon d'entrée 15 correspondant Sur la Fig 6, seule la première cellule est détaillée. il Le circuit tampon d'entrée 15 est un circuit à trois états comportant une entrée de données Din-O connec- tée au bus 34 d'entrée de données de rangées, une entrée de commande d'autorisation d'écriture WE connectée à la sortie d'un circuit de sélection de colonne 35 et deux sorties délivrant des états complémentaires DO, DO en fonction des états des signaux DIN-O et WE sur ses entrées correspondantes. Les lignes d'écriture 32 et 33 sont connectées seulement aux 64 cellules du bit Din O d'un FIFO. D'autres lignes d'écriture (non représentées) sont reliées aux autres FIFO de la même colonne de la mémoire à points d'interconnexion suivant l'invention. Chaque cellule de mémoire 30 comporte en outre une autre paire de transistors T 3, T 4 avec un amplifica- teur-inverseur 36 intercalé entre eux, connectés chacun à deux lignes de lecture 37,38 Les lignes de lecture sont non seulement connectées à toutes les cellules drune colonne du FIFO considérée mais également aux cellules des colonnes correspondantes des autres FIFO d'une colonne de la mémoire à points d'interconnexion. Les lignes de lecture 37, 38 d'une colonne sont reliées à un circuit de précharge 20, à un amplificateur de détection 19 et à un circuit tampon de sortie 18 communs à cette colonne de la matrice à points d'intercon- nexion. Cet agencement est complété par un circuit décodeur et de commande d'adresse d'écriture 23, recevant sur ses entrées les adresses des rangées et connecté par ses sorties par l'intermédiaire de circuits de commande de ligne de mots, tels que 16 aux paires de transistors d'écriture Tl, T 2 des rangées d'un FIFO. Le circuit décodeur et de commande d'adresse d'écriture 23 est quant à lui commun à une rangée de FIFO de la mémoire à point d'interconnexion. Il délivre un signal d'horloge Clk aux circuits 16 de commande de ligne de mots. Un circuit 21 détecteur et de commande de lecture commun à un FIFO reçoit à ses entrées des adresses de colonne et est connecté à sa sortie aux paires de transistors de lecture T 3, T 4 par l'intermédiaire de circuits 21 de commande de lignes de lecture de mots recevant sur leur entrée de commande un signal d'horloge Clk. Port d'écriture: le bus de données d'entrée 34 Din-0 à Din-7 est connecté bit par bit au tampon d'entrée de chaque bloc de mémoire 3,4 à deux ports (Fig 5) Les lignes de bit d'écriture 32,33 sont séparées dans chaque bloc de mémoire à double port Le signal d'autorisation d'écriture WE commande l'état de sortie du tampon d'entrée tampon par tampon Le circuit décodeur et de commande d'adresse d'écriture 23 décode les adresses de rangée et sélectionne la ligne de mot correspondante dans tous les blocs de mémoire à double port d'une rangée. Port de lecture: le circuit décodeur et de commande d'adresse de lecture 21 décode l'adresse de la colonne et sélectionne la ligne de mot correpondante dans la colonne du bloc de mémoire à double port Les lignes de bit de lecture 37,38 qui connectent les cellules de mémoire sont communes à une colonne Les lignes de bit de lecture sont connectées à l'amplificateur de détection 19 et au circuit de précharge 20. Le fonctionnement de cette partie du FIFO est le suivant. Cycle d'écriture: comme le montre le diagramme de la Fig 7, l'adresse de rangée sélectionne les lignes de mot Pendant le signal d'horloge Clk, le signal de ligne de mot est actif, tous les transistors Tl et T 2 de la ligne de mot sont ouverts Le circuit de sélection de colonne 35 commun à une rangée engendre des signaux d'autorisation d'écriture WE pour tous les blocs de mémoire à double port qui sont sélectionnés Chaque bloc de mémoire à double port a une ligne d'autorisation d'écriture séparée Si l'autorisation d'écriture est active, les lignes de bit d'écriture 32,33 sont établies au niveau correspondant 01 ou 10 en fonction de Din-0. L'entrée de données est transférée à la cellule de mémoire correspondante Si les signaux d'autorisation d'écri- ture WE sont inactifs, les lignes de bit 32, 33 sont à un niveau de haute impédance La cellule de bit de mémoire n'est pas affectée. Cycle de lecture le cycle de lecture est commandé par le signal d'horloge Clk Au début du cycle, les lignes de bit de lecture 37,38 sont préchargées. Comme le montre la Fig 8, l'adresse de colonne sélectionne une ligne de mot dans un bloc de mémoire à double port d'une colonne Les transistors T 3 et T 4 sont ouverts lorsque la ligne de mot et le signal d'horloge Clk sont actifs Les contenus des cellules de mémoire sélec- tionnée sont transférés sur les lignes de bit de lecture 37,38 L'amplificateur détecteur 19 amplifie le signal pour engendrer des données de sortie Dout-0 à travers le tampon de sortie 18. Sur la Fig 9, on a représenté une variante d'une colonne d'une mémoire à points d'interconnexion suivant l'invention. Cet agencement est semblable à celui décrit en référence à la Fig 6 et ne diffère de celui-ci qu'en ce qu'entre les bits des dispositifs FIFO consécutifs d'une colonne de la mémoire à points d'interconnexion sont connectés des interrupteurs 40 destinés à connecter les lignes d'écriture 32,33 de deux mots correspondants de FIFO consécutifs afin d'accroître si nécessaire la capa- cité de mémorisation d'un FIFO Les interrupteurs 40 sont en fait des transistors connectés dans chaque ligne d'écriture et commandés à partir de l'extérieur lors de la configuration de la mémoire à points d'interconnexion. L'agencement qui vient d'être décrit permet d'obtenir des mémoires à points d'interconnexion nécessi- tant une surface de silicium environ quatre fois moins importante que la mémoire à points d'interconnexion à double port classique. Par ailleurs, la majeure partie des circuits logiques de commande des dispositifs FIFO sont extérieurs à la mémoire à points d'interconnexion proprement dite. REVENDICATIONS 1 Mémoire à points d'interconnexion comprenant une matrice de mémoires de commutation à double port utilisées comme des dispositifs premier entré, premier sorti, caractérisée en ce que chaque mémoire à double port ( 3,4) de la matrice de mémoire comporte un port d'écriture seulement ( 15,23,32,33,34,35) et un port de lecture seulement ( 18,19, 20,21,38,38) ayant des signaux d'adresse et de commande séparés. 2 Mémoire à points d'interconnexion suivant la revendication 1, caractérisée en ce que le port d'écriture de chaque mémoire à double port comprend un tampon d'en- trée ( 15), connecté bit par bit à un bus d'entrée de données ( 34), des lignes ( 32,33) de bit d'écriture sépa- rées pour chaque bit de la mémoire à double port, connec- tées entre le tampon d'entrée ( 15) et les éléments de mémoire ( 30) du bit de la mémoire, un circuit ( 35) de sélection de colonne connecté aux tampons d'entrée de chaque rangée de mémoires à double port par des lignes d'autorisation d'écriture pour délivrer aux tampons d'écriture des signaux d'autorisation d'écriture (WE) correspondants, séparés pour chaque tampon par chaque rangée et un circuit ( 23) décodeur et de commande d'a- dresse d'écriture commun à chaque rangée de mémoires à double port, destiné à décoder les adresses de rangée et à sélectionner la ligne de mot correspondante dans toutes les mémoires à double port d'une rangée de la matrice de mémoires. 3 Mémoire à points d'interconnexion suivant l'une des revendications 1 et 2, caractérisée en ce que le port de lecture de chaque mémoire à double port comprend un circuit décodeur et de commande d'adresse de lecture ( 21) destiné à décoder l'adresse de la colonne et à sélectionner la ligne de mot correspondante dans la colonne de mémoire à double port, des lignes de bit de lecture ( 37,38) communes aux mémoires à double port de chaque colonne de la matrice de mémoires, les lignes de bit de lecture ( 37,38) étant connectées à un amplificateur de détection ( 19) commun à chaque colonne de mémoires à double port. 4 Mémoire à points d'interconnexion suivant la revendication 3, caractérisée en ce qu'elle comporte en outre un circuit de précharge ( 20) et un circuit tampon de sortie ( 18) commun à chaque colonne de mémoires à double port de la matrice de mémoires. Mémoire à points d'interconnexion suivant l'une des revendications 2 à 4, caractérisée en ce que les lignes d'écriture ( 32,33) des mémoires à double port d'une colonne de la matrice sont interconnectées par des inter- rupteurs ( 40) commandés de l'extérieur pour modifier à la demande la capacité d'une mémoire à double port et de ce fait du dispositif premier entrée, premier sorti, qu'elle constitue.