Brevet FR2222698A1 — publié le 19741018

La présente invention se rapporte à un procéde et un schéma automatique diadressage par l'entrelacement d'une mémoire de l'ordinateur, celle-ci étant organisee en blocs a' fonctionnement indépendant, chacun de ces blocs pouvant contenir plusieurs sous-ensembles technologiques appelés modules dont le dernier bloc peut etre incomplètement équipé. On connaît des schémas automatiques d'adressage par lten- trelacement des adresses d'une mémoire organisée en blocs, contenant des modules, où l'entrelacement se fait sur les plus grands groupes possibles de modules possédant la meme adresse relative dans le cadre du bloc, le nombre de modules d'un groupe étant le plus grand nombre 2N possible. Pour une mémoire équipée de 3 blocs, ces schémas présentent l'inconvénient que 2 blocs seulement sont adressés par entrelacement, le troisième ne l'étant pas; pour une mémoIre équipée de 5 ou 7 blocs, les 4 premiers blocs respectivement 4 plus 2 blocs sont adresses par entrelacement sur 4 respectivement sur 2 blocs, le dernier étant adressé sans entrelacement. Par conséquent, la vitesse de l'unité de commande, lors du travail avec les adresses se trouvant dans ces derniers blocs, est plus réduite que dans les autres blocs. Par exemple, pour les systèmes IRIS 50 - #FELIX C 256, la vitesse de l'unité de commande augmente d'environ 15 X lors d'un passage de non entrelacé à entrelacé sur 2 blocs, et d'environ 20 s sur 4 blocs. Le but du procédé et du schéma conformément à l'invention est de remédier aux inconvenients présentés ci-dessus et pour ce faire la modification des adresses originales pour l'entrelacement stefèctue en modifiant seulement les chiffres binaires de la partie d'adresse bloc, modification réalisée par l'inversion des chiffres binaires individuels en fonction de l'adresse du bloc original, du nombre de modules ayant la meme adresse relative dans le cadre des blocs que l'adresse originale et des derniers chiffres binaires de l'adresse de la cellule de mémoire, sans aucune transposition de chiffres binaires, l'adresse relative de la cellule de mémoire a lVintérieur du bloc restant la meme avant et après ltentrelace ment.Avantageusement, l'entrelacement des adresses successives peut avoir lieu pour toutes les adresses d'une mémoire contenant un nombre de bloc supérieur ou égal à 2 entre.les modules d'une meme adresse relative à l'intérieur des blocs, le nombre de blocs entre lesquels on distribue les adresses successives destinées par ltunité utilisatrice à un certain bloc et module étant le plus grand nombre entier 2N inférieur ou égal au nombre de blocs contenant des modules ayant la meme adresse relative que l'adresse originale; pour une autre succession d'adresses destinées par Igunité utilisatrice à un autre bloc et module, les adresses successives sont distribuées dans le même ou dans un autre groupement de blocs équipés des modules possèdant la meme adresse relative que l'adresse originale, le nombre de blocs entre lesquels on distribue les adresses relatives étant le plus grand nombre 2N supérieur ou égal au nombre de blocs qui contiennent les modules ayant une adresse identique à celle de la demande originale; la disposition des adresses successives par entrelacement en groupes 2N blocs ne s'effectue pas cycliquement, mais de manière alternative ou mixte, ce qui se réalise pratiquement par le remplacement dans le schéma d'entrelacement cyclique du chiffre binaire de plus faible poids par la fonction logique OU EXCLUSIVE entre le chiffre binaire de plus faible poids et l'un des autres chiffres binaires de l'adresse; le schéma d'adressage par entrelacement est informé sur le nombre de modules équipés successivement dans la mémoire å un certain moment par le positionnement du chiffre binaire avec le nombre de modules équi pes-à un groupe de commutateurs à deux positions; l'entrelacement a lieu sans modifier l'adresse relative à l'intérieur du bloc, l'adresse du bloc se calculant en fonction du nombre de modules de la mémoire, de l'adresse initiale du bloc et des chiffres binaires de poids faible de l'adresse. Un exemple de réalisation de cette invention pour les systèmes IRIS 50 - FELIX C 256, dont la mémoire peut être équipée de 4 blocs, chacun d'entre eux pouvant comprendre jusqu'à 4 modules, est décrit ci-après a titre d'exemple en référence aux dessins annexés, dans lesquelles - la Figure 1 représente un mode d'emplacement des adresses successives dans une mémoire de 4 blocs, chaque bloc contenant un module, et chaque module ayant 8 adresses; toute location contient un nombre de deux chiffres, le premier indiquant l'adresse originale du bloc, le second l'adresse relative dans le cadre du bloc. Les sous-points-de cette figure, notes simplement par (la - le), concernent l'entrelacement cyclique, et ceux notés par (la' - le) concernent l'entrelacement alternatif. - la Figure 2 est un schéma d'adressage par l'entrelacement complet d'une mémoire de 4 blocs, la capacité d'un bloc étant de 4 modules; le caractère se trouvant entre les parenthèses indique la fonction criée sar la logique respective, - la Figure 3 est un schéma logique d'engendrement du signal de module présent (G) - la Figure 4 est un schéma-logique d'engendrement du signal d'adresse présente (H) et d'adresse inexistante (D). - la Figure 5 est un schéma logique d'engendrement du signal commandant la modification du chiffre binaire de plus faible poids de la partie d'adressage blocs (B). - la Figure 6 est un schéma logique d'engendrement du signal commandant la modification du chiffre binaire de plus fort poids de la partie d'adressage blocs (F). - la Figure 7 est un schéma logique dsengendrement des signaux d'adresse présente dans un certain bloc (K). On a imposé au schéma conforme à l'invention les conditions suivantes - Qu'il y ait d'abord deux régimes de fonctionnement, l'un concernant l'adressage normal, l'autre l'adressage par entrelacement, le passage d'un régime a' l'autre se faisant par un commutateur. - Que la mémoire soit équipée des modules successifs, bloc après bloc, jusqu'à l'équipement maximal avec 16 modules. - Que la modification de l'équipement, c'est-à-dire le nombre de modules équipés à un moment donné, soit transmise au schéma par l'intermédiaire de 4 commutateurs à deux positions 4 (2 = 16). - Que dans le régime d'adressage par entrelacement, le plus grand nombre possible d'adresses soit entrelacé sur 4 blocs; que ce qui ne peut pas être entrelacé sur 4 blocs soit entrelacé sur 2 blocs, et les adresses des modules qui n'ont pas #même un corres pondant d'une même adresse relative dans le cadre des blocs restent non entrelacées. Un registre d'adresse A (Ao - A16) (fige 2.) d'une unité utilisatrice de la mémoire comprend - l'adresse du bloc formée par les chiffres binaires de poids fort Ao et AIe - l'adresse relative du module dans le cadre du bloc, donnée par les positions binaires A2 et A. - l'adresse relative de la cellule dans le cadre du module, douée par les positions binaires A4 - A16. - l'adresse relative de la cellule dans le cadre du bloc, donnée par les positions binaires A2 - A16. Le schéma est informé sur le nombre de modules équipés à un moment donné par l'intermédiaire des 4 commutateurs à deux positions Bg, B1, B2 et B3 (fig. 2), auxquels on dispose le nombre de modules équipés exprimé en binaire, les positions des groupes de commutateurs pouvant être interprétées de la sorte - les commutateurs Bo et B1 indiquent l'adresse du dernier bloc contenant encore des modules; - les commutateurs B2 et B3 indiquent l'adresse du dernier module présent dans le dernier bloc; Le régime de fonctionnement du schéma est établi à l'aide d'un commutateur à deux positions C (fig. 2); si C = 1, il y aura adressage par entrelacement; pour C = O l'adressage sera non entrelacé. Lors d'un passage de l'entrelacé à non entrelacé, le domaine des adresses présentes ne change pas. Pour que les adresses successives se disposent cycliquement ou alternativement dans le plus grand groupement de blocs 2N, qui contient des modules d'une même adresse relative à l'intérieur des blocs, l'on modifiera seulement les chiffres binaires concernant la partie d'adressage bloc, en fonction des chiffres binaires A15, A16 pour la disposition cyc-lique, et en plus de cela le chiffre binaire A14 pour la disposition alternative, les chiffres binaires A2 - A16 restant toujours les mêmes. On présente ensuite les cas d'équipement et leur mode de traitement d'après l'algorithme de l'invention a) même le premier bloc (le bloc 0) ne contient pas le module avec 11 adresse du bloc sélectionné; la demande d'accès sera repoussée par l'engendrement d'un signal d'adresse inexistante D (fig. 4) vers l'unité utilisatrice, indifféremment du bloc sélectionné, b) Le module sélectionné est présent dans le premier bloc seulement (le bloc 0); l'entrelacement est impossible, l'adresse de l'unité utilisatrice n'ayant à supporter aucune * dification. Si le bloc sélectionné est autre que le bloc zéro, on enverra vers l'unité utilisatrice le signal d'adresse inexistante Do c) Le module sélectionné est présent dans deux blocs; la demande d'accès est acceptée si elle concerne les deux premiers blocs; pour l'entrelacement à des adresses impaires (A16 = 1), A1 sera modifié à l'aide d'un signal E. d) Le module sélectionné est présent dans trois blocs, c'est-à-dire que le dernier bloc est le seul qui ne contienne le module avec l'adresse du bloc sélectionné. Les demandes dtaccès concernant le dernier bloc seront refusées. Pour les adresses concernant les blocs O et 1, la modification du point c) est toujours maintenue et en plus de cela, aux adresses paires (A16 = O) concernant les blocs O et 2 (le chiffre binaire A1 = O)Ao est modifié par un signal F, afin dtobtenir aussi l'entrelacement des adresses du bloc 2. e) Le module sélectionné est présent dans 4 blocs. Dans ce cas, la demande d'accès ne peut pas être refusée sur le motif que l'adresse est inexistante. L'entrelacement s'effectue sur 4 blocs, en inversant le chiffre binaire A1 pour toutes les adresses impaires (A16 = 1) et le chiffre binaire AQ pour toutes les adresses ayant A15 = I. On obtient ainsi un entrelacement cyclique des blocs. Pour obtenir un entrelacement alternatif des blocs, l'on remplace le chiffre binaire A16 > utilisé dans le schéma d'entrelacement, par la fonction logique OU EXCLUSIVE (ou coincidance) entre le chiffre binaire A16 et le chiffre binaire A14, par exemple. Pour que l'adressage par entrelacement présenté plus haut soit encore plus compréhensible, on donne ensuite un exemple très simple : on considère une mémoire de 4 blocs, chaque bloc contenant un seul module, et chaque module 8 adresses. La location de chaque adresse a été marquée par un nombre de deux chiffres, le premier indiquant l'adresse original du bloc, le second l'adresse relative de la cellule à l'intérieur du module, adresse fournie par l'unité utilisatrice. On a noté avec X les adresses inexistantes. Ainsi, sur la figure X on a représenté un adressage sans entrelacement, sur les figures la, lb, lc, Id et le on a représenté les cas exposés aux points a, b, c, d, et e pour un adressage cyclique et, enfin, les figures la', lob', tic', Id' et le' représentent les cas exposés aux points a, b, c, d, et e pour un adressage avec entrelacement alternatif. Par rapport å l'entrelacement cyclique, l'entrelacement alternatif présente quelques avantages, par exemple pour les sys thèmes IRIS 50 - FELIX C 256. Pour ces systèmes, du fait que l'adressage a lieu sur demi-mot, la lecture des instructions s'effectue de gauche à droite.et la lecture ou l'écriture des opérandes s'effectue, pour bien des cas, de droite à gauche, l'entrelacement cyclique n'épuisant pas toutes les possibilités d'augmentation de la vitesse.Ayant en vue tout ce que nous avons décrit ci-dessus, il serait avantageux que l'adresse de la partie droite de l'opé- rande ne soit pas dans le meme bloc avec l'adresse de la partie gauche de l'instruction suivante, évènement qui, du point de vue statistique, est plus fréquent dans le cas d'entrelacement alternatif que dans celui de l'entrelacement cyclique, même pour un équipement de 4 blocs. Ayant déjà présenté les algorithmes sur la base desquels fonctionne le schéma conforxément à l'invention, on présente ensuite les équations logiques d'après lesquelles lton crée les signaux présentés dans la description de l'algorithme. Ainsi, un signal G (figure 3) indique que le bloc dont 1 t adresse a été positionnée par les commutateurs Bo et B1 contient le module avec 1'a- dresse sollicitée par A2A3. Le signal G est à zéro si l'adresse du module A2A3 dépasse l'adresse affichée par B2B3, c'est-à-dire Si B2 = O, A2 = 1, et B2 = A2, B3 = O et A3 = 1. Il en résulte lléqua- tion du signal de module présent G. G=B2.A2 + (A20 B2) 3 dont le schéma est présenté sur la figure 3. Le signal d'adresse inexistante D, qui indique l'absence de l'adresse sollicitée par l'unité utilisatrice de l'équipement de la mémoire, c'est-à-dire l'adresse du bloc et du module dépasse l'adresse affichée par les commutateurs B.. Si H est un signal d'adresse présente et I est un signal de demande d'accès, le signal H = O si H = BO.AO + (B0#A0).B1.A1 + (B0#A0).(B1#A1).G et dans ce cas D = H.I dont le schéma d'engendrement est présenté dans la figure 40 Un signal E inverse le chiffre binaire de plus faible poids-de l'adresse du bloc (A1). D'après l'algorithme présenté, le chiffre binaire A1 sera inverse si - on travaille dans un régime d'adressage entrelacé C = 1; - l'adresse est impaire :A16 = 1; - le module sélectionné est présent en deux blocs Bî I BoG = 1, l'adresse faisant partie du bloc O ou 1 : Ao = O où le module est présent en 4 blocs : B0.B1 .G = 1. Il en résulte l'équation logique suivante E = C.A16.[B0.B1.G + (B0 + B1 * .G).A0] dont le schéma de réalisation est présenté dans la figure 5. Un signal E inverse le chiffre binaire de plus fort poids de l'adresse du bloc (A0). D'après l'algorithme présenté, le chiffre binaire A0 sera inversé Si - on travaille dans un régime d'adressage entrelacé C = 1; - trois blocs et trois seulement contiennent le module sélectionné : B0~B1~G +B0êB1.G = 1; le mot est paire : A16 A O et l'adresse concerne le bloc O ou 2 : A1 = 0; - le module est présent dans tous les blocs B0.B1.G = 1et la condition : A15 = 1 est satisfaite. Il en résulte l'équation logique suivante F = C [(B0.B1.G + B0.B1.G).A16.A1 + B0.B1.G.A15)] dont le schéma- de réalisation est présenté sur la figure 6. L'adresse, dans le cadre du bloc reste le même, est transférée dans un registre d'adresse de l'unité de mémoire J (J2 . J16) Des signaux K. indiquent que la demande d'accès a été destinée aux blocs 0, 1, 2 ou 3 dans le cas d'adressage non entrelacé ou entrelacé de manière cyclique. L'adresse est considérée comme présente dans un certain bloc si la partie d'adresse bloc, éventuellement après transformation par entrelacement cyclique, est identique à celle du bloc correspondant et le signal d'adresse présente existe lui aussi. Les signaux de commande d'un certain bloc seront notés par K et sont générés par les équations logiques K0 = D-(F s F )-(E #A1) K1 = D-(F @ A0).(E # A1) K2 = D.(F # A0)-(E # A1) K3 = D.(F # A0).(E # A1) dont le schéma de réalisation est présenté sur la figure 7. Pour obtenir un adressage par entrelacement alternatif, dans le cadre de schémas E et F, le signal A16 sera remplacé par le signal L obtenu conformément à l'équation L = A14 # A16 On a donc présenté toutes les équations et leurs schémas détaillés de réalisation, pour toutes les fonctions qui interviennent dans le schéma d'adressage par entrelacement cyclique ou alternatif d'une mémoire dont les blocs sont constitués de modules. Bien évidemment, les schémas présentés peuvent être minimisés en fonction des éléments intégrés servant à la réalisation proprement dite du schéma, opération qui n'a pas été faite dans la présente description pour des motifs didactiques de présentation et d'observation du fonctionnement. L'application de l'invention amène les avantages suivants - on peut prendre une décision automatique d'adressage par l'entrelacement sur un nombre de blocs plus grand ou égal à 2. - le schéma est informé sur la modification de la configuration de la mémoire par le positionnement, aux commutateurs B., du nombre binaire de modules équipés. - dans le cas d'adressage par entrelacement alternatif, la vitesse de l'unité de commande, pour le même équipement, est plus grande que dans le cas d'entrelacement cyclique; par exemple : pour un équipement où l'on a un adressage par entrelacement alternatif en groupes de 2N blocs, la vitesse de l'unité de commande sera, du point de vus statistique, comprise entre la vitesse de fonctionnement pour un adressage par entrelacement cyclique sur 2N blocs et la vitesse de fonctionnement pour un adressage par 2 entrelacement cyclique sur 21 blocs R E V E N D I C A T I O N S 1. Procédé d'adressage par entrelacement complet, caractérisé par le fait que la modification des adresses originales pour entrelacement se fait en modifiant seulement les chiffres binaires de la partie d'adresse bloc, modification réalisée par l'inversion des chiffres binaires individuels, en fonction de l'adresse du bloc original, du nombre de modules d'une même adresse relative à l'intérieur des blocs que 1 t adresse originale et des derniers chiffres binaires de la cellule de mémoire, sans aucune transposition de chiffres binaires, l'adresse relative de la cellule de mémoire dans le cadre du bloc restant la même avant et après l'entrelace- ment. 2. Procédé d'adressage par entrelacement complet selon la revendication 1, caractérisé par le fait que l'entrelacement des adresses successives peut avoir lieu pour toutes les adresses d'une mémoire équipée d'un certain nombre de blocs supérieur ou égal à 2, entre les modules d'une même adresse relative dans le cadre des blocs, le nombre de blocs entre lesquels l'on distribue les adresses successives destinées par l'unité utilisatrice à un certain bloc et module étant le plus grand nombre entier 2 , inférieur ou égal au nombre de blocs qui contiennent des modules de même adresse relative aue l'adresse originale; pour une autre succession d'adresses, destinées par l'unité utilisatrice à un autre bloc et module, les adresses successives se distribuent dans le même groupement ou dans un autre groupement de blocs équipés de modules ayant la même adresse relative que l'adresse originale, le nombre de blocs entre-lesquels l'on distribue les adresses successives étant le plus grand nombre 2N inférieur ou égal au nombre de blocs contenant des modules de même adresse relative que celle de la demande originale. 3. Procédé d'adressage par entrelacement complet, selon les revendications 1 et 2, caractérisé par le fait que la disposition des des adresses successives par entrelacement en groupes de 2 blocs s'effectue de manière alternative ou mixte par le remplacement dans un schéma d'entrelacement cyclique du chiffre binaire de plus faible poids de l'adresse par la fonction logique ou EXCLUSIVF entre ce chiffre binaire et l'un des autres chiffres binaires de l'adresse. 4. Schéma dtadressage par entrelacement complet, selon les revendications 1, 2 et 3, caractérisé en ce que le mode d'information du schéma d'adressage sur le nombre de modules équipés successivement dans la mémoire , à un mcment donné, s'effectue par le positionnement du chiffre binaire avec le nombre de modules équipés, par 1 'intermédiaire d'un groupe de oommutateurs à deux positions. 5. Schéma d'adressage par entrelacement complet, selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'entre- lacement s'effectue sans modifier l'adresse relative à l'intérieur du bloc, celle-ci étant calculée en fonction du nombre de modules présent dans la mémoire, de l'adresse initiale du bloc et des chiffres binaires de poids faible de l'adresse.