Brevet FR2422205A1 — publié le 19791102

La présente invention due à la collaboration de M. Jean-Louis FONTAINE est relative à un nouvel opérateur de calcul universel microprogrammable et raccordable à un minicalculateur en vue de son utilisation, par exemple, dans le domaine de la commande numérique des machines-outils. Le remplacement de la logique câblée par de la logique programmée associée a un minicalculateur a permis, grâce à sa souplesse et à ses possibilites, d'augmenter les performances de la machine commandée. C'est le cas des fraiseuses numériques, des machines à câbler automatiques entre autres. Mais, actuellement, les exigences sont telles que certaines de ces machines fonctionnent aux limites des possibilités du minicalculateur utilisé. C'est ainsi que dans la conduite en temps réel de machines engendrant des surfaces comme les fraiseuses numériques, des courbes comme les tables à dessin ou des positions comme les robots, la distribution périodique des consignes est ralentie par la complexité des calculs de trajectoires et autres paramètres comme la vitesse de coupe ou l'inclinaison de l'outil par rapport à la surface à usiner. Autrement dit, l'augmentation des performances de la machine se fait au détriment de sa vitesse de fonctionnement donc de sa renta bilité. Par conséquent, il faut accélérer le rythme de distribution des consignes et, pour cela, décharger le calculateur d'une partie de ses calculs. Jusqu a présent, ce résultat était obtenu en couplant au minicalculateur un opérateur câblé de calcul spécifique, ce qui obligeait à avoir un type différent d'opérateur pour chaque nouvelle opération. La présente invention permit d'éviter cet inconvénient. Suivant la présente invention, l'opérateur de calcul universel qui est microprogrammable et raccordable à un minicalculateur par un bus véhiculant données, signaux de commande et de contrôle à travers un coupleur d'entrées/ sorties et qui est du type comprenant, en outre, une unité de traitement, une unité de commande et une unité de contrôle ; un bus de données internes et un bus d'adresses internes sont caractérisés en ce que le bus de données internes connecte entre eux : unité arithmétique et logique, une mémoire vive et le coupleur d'entrées/sorties ; le bus d'adresses connecte entre eux : le coupleur d'entrées/sorties, la mémoire vive et le registre de micro-instructions, l'adresse provenant du registre de micro-instructions en ce que ledit opérateur exclut l'utilisation d' un registre d'instructions, d'une unité de con trôle de programme, d'une unité de calcul d'adresse, d'un registre d'adresses, d'une pile de sauvegarde, d'un compteur ordinal et d'une mémoire programme et en ce que cet opérateur est connecté audit minicalculateur de façon à travailler en parallele avec lui et à une vitesse au moins égale. L'opérateur, suivant l'invention, est, en fait, un processeur spécialisé, effectuant des calculs modifiables aussi complexes soient-ils, en parallele avec l'unité centrale du minicalculateur. Suivant une premiere caractéristique de réalisation, l'opérateur de calcul universel dialogue directement avec la mémoire du minicalculateur associé permettant ainsi son fonctionnement en parallèle. Suivant une seconde caractéristique de réalisation, la liaison entre l'opérateur de calcul universel et le minicalculateur associé est de type asynchrone permettant l'universalité du couplage de l'opérateur. Suivant une troisieme caractéristique de réalisation, la structure logique de l'opérateur de calcul universel est un mélange de conception câblée et microprogrammée, à savoir que l'on a, en partie, câblé : la multiplication 32 bits par 32 bits, le transfert double mot avec le minicalculateur, les tests biconditionnels et l'on a entièrement microprogramme la division 64 bits par 32 bits et l'introduction des constantes de calcul afin d'optimaliser l'opérateur en temps d'exécution et en encombrement. Suivant une quatrieme caractéristique, l'opérateur se comporte comme un coupleur de périphérique classique du point de vue encombrement et dialogue avec le minicalculateur. D'autres caractéristiques ressortiront de la description qui va suivre et qui n est donnée qu'à titre d'exemple. A cet effe#t, on se reportera aux dessins joints dans lesquels - la figure 1 représente une architecture générale d'un système informatique miniprogrammé suivant l'état de l'art, - la figure 2 représente l'architecture d'un opérateur conformément à la présente invention. La figure 1, qui illustre l'état de l'art en matiere de systeme informatique, montre que celui-ci comprend un module d'entrees/sorties 10, une mémoire il comportant une partie affectée aux programmes et une partie affectée aux données, une unité arithmétique et logique 16, une unité de contrôle de programme 20 comportant une unité de calcul d'adresse 12 associee a un registre d'adresses 13, une pile de sauvegarde des adresses 15 associee a un compteur ordinal rtune unité de commande 30 comportant notamment un registre d'instructions 17, un contrôleur de séquence 18, une mémoire de microprogramme 37, un registre de micro-instructions 19 et une unité de contrôle des conditions 22. Un bus de données 21 relie l'unité de contrôle de programme 20., d'une part, à l'unité arithmétique et logique 16 ainsi qu'au registre d'instructions 17 et, d'autre part, à la mémoire 11 et au module d'entrées/sorties 10. Un bus d'adresses 25 relie entre eux le compteur ordinal 14, le registre d'adresses 13, la mémoire il et le module d'entrées/sorties 10. En outre, le bus 29, en provenance du minicalculateur associe qui n a pas été représenté, est en liaison avec le module d'entréeslsorties 10 pour véhiculer les données dans les deux sens à l'aide d'une premiere partie 26, les signaux de commande dans une seconde partie 27 et les signaux de contrôle dans une troisieme partie 28. Les lignes de commande constituent un faisceau de conducteurs 24 à la sortie du registre de micro-instructions 19 et les lignes de contrôle constituent un autre faisceau de conducteurs 23 à l'entrée de l'unité de contrôle des conditions 22 qui est reliée par un conducteur 33 du contrôleur de séquence 18. La figure 2 illustre l'architecture optimalisée de l'opérateur suivant la présente invention dans laquelle les mêmes éléments portent les mêmes références numériques. Dans cette architecture simplifiée on trouve successivement un coupleur d'entrées/sorties 10, une mémoire vive 32, une unité arithmétique et logique 16 reliés entre eux par un bus de données 31, d'une part, et, d'autre part, à un minicalculateur qui n'a pas été représenté par la partie 26 d'un bus 29 véhiculant les données, la partie 27 véhiculant les signaux de commande et la partie 28 véhiculant les signaux de contrôle. L'unité de commande 38 est réduite au contrôleur de séquence 18 associé à ta mémoire de microprogramme 37 au registre de micro-instructions 19 et à l'unité de contrôle des conditions 22 reliée par sa sortie 33 au contrôleur de séquence 18.Un bus d'adresses 35 relie entre eux le coupleur entrées/sorties 10, la mémoire vive 32 et le registre de micro-instructions 19. Les adresses proviennent du registre de micro-instructions 19. Les lignes de commande constituent un faisceau de conducteurs 34 à la sortie du registre de micro-instructions 19. Les lignes de contrôle composent un faisceau de conducteurs 36 a l'entrée de l'unité de contrôle des conditions 22 L'opérateur, suivant l'invention, est universel, ce qui signifie qu'il est à même de faire n'importe quel calcul si complexe soit-il, en virgule fixe ou flottante. Il est microprogrammable. Une fois microprogramme, il se comporte vis-à-vis du programmeur du minicalculateur comme un coupleur de péri phérique classique. Il tient sur une seule carte de couplage du minicalculateur associé. L'opérateur, suivant l'invention, est construit autour d'un microprocesseur microprogrammable extensible par tranche. Cette extension permet de modifier, selon les besoins, la taille des données, ctest- -dire le nombre de bits et la taille des microprogrammes. Les entrées/sorties 10-26 se font par acces direct à la mémoire du minicalculateur associé. Afin de rendre le couplage universel, on permet l'interchangeabilité du coupleur 10 en prévoyant une liaison asynchrone, c'est-à-dire que l'unité d'entrées/sorties 10 est adressée, reçoit un ordre de lecture ou d'écriture et répond lorsque sa donnée est valide dans le cas de la lecture et est prise en compte dans le cas de l'écriture. L'optimalisation du programme de calcul a pour conséquence qu'il doit être entièrement microprogrammé. Ceci signifie que l'opérateur, suivant la présente invention, n'exécute qu'une seule instruction. Il est donc inutile de disposer d'une mémoire-programme pour rechercher une seule instruction et, par conséquent, d'un compteur ordinal 14 et d'une pile de sauvegarde 15. L'unité de contrôle de programme 20 est supprimée totalement. On utilise un mode d'adressage direct de la mémoire vive 32 ou du périphérique en utilisant un champ de la micro-instruction 19 comme champ d'adresse. On gagne le temps de la recherche de l'instruction en mémoire. La mémoire proprement dite ne sert plus qu'à stocker les données et, par conséquent, est constituée uniquement par une mémoire vive 32. L'opérateur n'exécutant qu'une seule instruction, l'adresse du microprogramme est toujours la même, c'est-à-dire celle du début de la mémoire du microprogramme. Ceci rend inutile le registre d'instructions 17. Suivant l'invention, le bus d'adresses 35 provient directement de l'unité de commande 38 et, plus précisément, à l'intérieur de celle-ci, du registre de micro-instructions 19. La conception modulaire de l'opérateur, suivant la présente invention, permet son évolution. On a apporté un soin particulier à la procédure d'échange d'informations entre l'opérateur et le minicalculateur en prévoyant un acces direct à la mémoire du minicalculateur associé afin de ne pas ralentir le fonctionnement de celui-ci. Dans l'opérateur, suivant la présente invention, le chargement des constantes de calcul est microprogrammé, ce qui signifie que I'opé rateur engendre les constantes nécessaires au calcul. Ceci permet de réduire la taille de la micro-instruction donc du registre correspondant 19. En outre, les micro-instructions peuvent être inconditionnelles, conditionnelles ou biconditionnelles, c'est-à-dire, dans ce dernier cas, que chaque microinstruction biconditionnelle offre quatre possibilités différentes de séquencement. On dispose donc d'une machine ayant un jeu de micro-instructions originales comme, par exemple, des micro-instructions biconditionnelles bouclées. A partir de ce jeu de micro-instructions, on peut microprogrammer un algorithme de calcul. Le microprogramme peut contenir plusieurs sousmicroprogrammes de calcul qui sont sélectionnés par une ou plusieurs microinstructions de tests de signaux de contrôle provenant du coupleur donc du minicalculateur associé. On -donne, à présent, des informations sur un exemple de réalisation précis de l'invention pour donner à un concepteur les informations nécessaires à la réalisation d'un mode précis de l'invention sans que ceci puisse être considéré comme une limitation en ce qui concerne la portée de l'invention. - Le mini-ordinater est un MITRA 105 de la SENS. - L'opérateur est réalise autour de la famille de microprocesseurs AN 2900 de la firme américaine "Advanced Micro Devices". - Les données sont sur 32 bits en virgule fixe et en virgule flottante avec 24 bits de mantisse et 8 bits d'exposant. - La mémoire est de 32 mots de 32 bits. Elle est réduite car elle ne sert qu'à stocker les résultats intermédiaires puisque l'opérateur utilise la mémoire du minicalculateur pour lire les parametres nécessaires à son calcul et stocker les résultats définitifs. - Le coupleur d'entrées/sorties 10 effectue en plus le changement du format des données puisque l'opérateur est sur 32 bits et le calculateur sur 16 bits. - L'unité de commande permet d'adresser 256 micro-instructions. - Le temps d'exécution d'une micro-instruction sans référence mémoire est de 300 nanosecondes. Elle est de 350 nanosecondes pour les lectures et écritures en mémoire de l'opérateur. - Dans le cas d'une première application de calcul polynomial, cet opérateur a permis d'accélérer les calculs dans le rapport 38, c'est-à-dire que l'on est passé de 3 millisecondes à 80 microsecondes. Le fait que l'opérateur, suivant l'invention, tienne sur une carte coupleur du MITRA 105 permet d'éviter la fourniture d'un panier (rack), d'une alimentation supplémentaire et d'un câblage de raccordement. Le prix de l'opérateur, suivant l'invention, est la moitié du prix de l'opérateur câblé correspondant à l'application décrite. L'avenir de ces systemes microprogrammés est dans les applications économiques et performantes sortant du domaine d'application des microprocesseurs monolithiques. REVENDICATIONS 1 - Opérateur de calcul universel, microprogrammable, raccordable à un minicalculateur par un bus véhiculant données, signaux de commande et de contrôla à travers un coupleur d'entrées/sorties du type comprenant, en outre, une unité de traitement, une unité de commande et une unité de contrôle ; un bus de données internes et un bus d'adresses internes carac térisé en ce que le bus de données internes (31) connecte entre eux l'unité arithmétique et logique (16), une mémoire vive (32) et le cou pleur d'entrées/sorties (10) ; le bus d'adresses (35) connecte entre eux le coupleur d'entrées/sorties (10), la mémoire vive (32) et le registre de micro-instructions (19), l'adresse provenant du registre de micro instructions (19);en ce que ledit opérateur exclut l'utilisation d'un registre d'instructions, d'une unité de contrôle de programme, d'une unité de calcul d'adresses, d'un registre d'adresses, d'une pile de sauve garde d'adresses et d'un coupleur ordinal, d'une mémoire programmX en ce que cet opérateur est connecté audit minicalculateur de façon à travailler en parallèle avec lui et à une vitesse au moins égale. 2 - Opérateur de calcul universel, suivant la revendication 1, caractérisé en ce qu'il dialogue directement avec la mémoire du minicalculateur associé. 3 - Opérateur de calcul universel, suivant la revendication 2, caractérisé en ce que la liaison avec le minicalculateur associé est de type asynchrone permettant l'universalité du couplage. 4 - Opérateur de calcul universel, suivant l'une quelconque des revendications précédentes, caractérisé en ce que sa structure logique est un mélange de conception cabrée et microprogrammée à savoir que l'on a, en partie câblée, la multiplication 32 bits par 32 bits, le transfert double mot avec le mini- calculateur, les tests biconditionnels et l'on a entièrement microprogramme la division 64 bits par 32 bits et l'introduction des constantes de calcul.