Brevet FR2369632A1 — publié le 19780526

La présente invention concerne un système d'affichage alphabétique, aumérique et graphique. La représentation visuelle sur l'écran d'un tube à rayons cathodiques de lettres, de chiffres, ou d'autres caractères codés, est devenue à présent un moyen courant pour donner rapidement accès aux données codées numériques utilisées dans un système de traitement de I'#ni#rmation. Ds même, la représentation visuelle sur papier de graphiques et de symboles codés numériquement est devenue un moyen courant pour donner rapidement accès aux données numcriques codées utilisées dans un système de traitement de l'information.Ces systèmes comprennent en général un calculateur basal auquel on a accès par l'intermédiaire de lignes téléphoniques àpartir d'un terminal présentant des entrées et des sorties alphabétiques et numériques, un calculateur ou un dispositif du genre pour l'entrée bra- phique, un traceur pour la sortie graphique, et un système à bande magnétique pour le stockage des données et la programmation. Cependant, un problème se pose du fait que ce système ne peut que représenter les caractères alphabétiques et numériques sur l'écran du tube cathodique, et les graphiques sur du papier. le plus, l'emploi d'un orainateur basal accessible par des lignes téléphoniques est co#teux, et les capacités sont limitées autant pour le language que pour le coeur. Dans le but d'éviter les problèmes et les inconvénients des systèmes connus, la présente invention offre un système compact combinant l'in- ter-action de languages à haut niveau, un calculateur incorporé, une mémoire à bande locale, et les capacités uniques d'affichage alphabétique, numérique et graphique sur le même dispositif d'affichage. En outre, si on le désire, le système suivant l'invention comprend des moyens pour utiliser un ordinateur basal a la manière conventionnelle, un moyen pour utiliser des traceurs graphiques, un moyen pour fournir une indication par curseur, et d'autres périphériques eitérieurs. À la base, le système est un ensemble àpupitre qui combine l'affichage visuel d'un terminal graphique avec la puissance de calcul d'un calculateur programmable scientifique. On peut utiliser le système soit comme un calculateur programmable indépendant, soit, avec l'adjonction d'interfaces de communications, comme un terminal graphique intelligent. Le sys- tème comprend de préférence un micro-processeur à 8 bits, une mémoire à lecture/écriture à8E bytes, un tube de stockage à vision directe d'envi- ron 28 centimètres (compatible avec la copie), un ensemble à bande magnétique incorporé, et un interprète de language complet.Le système peut trois ter les mêmes fonctions que celles qui sont normalement traitées par les autres systèmes calculateurs à Mase-ordinateur. Le dispositif d'entrée principal du système est un clavier de termiw nal standard avec un bloc de touches numériques séparé pour l'entrée des données. Pour programmer ce système, on utilise les dispositions du language "BASICfl, ce language étant une estansion de la division de temps BASIC ("Beginners All-Purpose Symbolic Instruction Code") avec extension au domaine des primitives graphiques, à la manipulation unifiée entrée/ sortie d'un Bus à Usages Multiples, aux matrices, aux chatnes, et à l'interprétation de language à haut niveau.Les donndes rentrdes à partir du clavier sont affichées sur un tube de stockage à vision directe sur lequel on peut afficher les lettres hautes et basses avec un maximum de 72 caractères par ligne, comprenant des capacités graphiques complètes. Le traçage des lignes (dites vecteurs) sur le tube cathodique s'effectue par composition en BASIC à partir du clavier, ou par exécution de communications en BASIC en commande programmée. Ce tube de stockage à vision directe permet d'effectuer des copies sur papier des informations que l'on désire, en utilisant un ensemble à copie associé au système suivant l'inven- tion. La mémoire du système est divisée en une mémoire à lecture/écriture et une mémoire de lecture.La capacité de stockage à 8E Byte de la mémoire à lecture/écriture comporte 6K bytes de son stockage accessibles par l'utilisateur du système pour le stockage des programmes et des données. La capacité de stockage de la mémoire à lecture/écriture peut être augmentée jusqu'à 32K bytes par augmentations de 8K byte. La mémoire à lecture seule comporte 36K positions qui détiennent la programmerie fixe# les adresses de commande périphérique, et un banc commutable 8K. Ce dernier permet à la mémoire à lecture seule de s'étendre extérieurement moyennant l'emploi d'ensembles à mémoire à lecture seule. Il y a place, dans le système, pour deux ensembles de mémoire à lecture seule à fiches renfermant 8K bytes d'instructions de processeur trop spécialisés pour être installés en permanence sur la machine. Le processeur central a accès à ces instructions par l'intermédiaire du banc de plans de commutation. Les instructions relatives aux données et au programme peuvent être transférées sur une bande magnétique et réintroduites dans la mémoire à lecture/écriture par l'intermédiaire d'un ensemble à bande magnétique incorporé. Le milieu de stockage est constitué par une cartouche de données 3M de type standard avec environ 300K byte de capacités suivant la longueur de chaque départ. Le système peut entre mis en interface avec des périphériques variés. un connecteur Bus d'interface à Usages Multiples permet aux système d'échanger des données avec des dispositifs tels que des ensembles de stockage à disque, des traceurs numériques X-Y, et des systèmes d'instrumen tation. les transfert de données sur le Bus d'interface à Usages itul- tiples sont au format byte-série, bit parallèle (8bits/byte). Cette interface est compatible avec la norme IEEE m0 488-1975. L'un des buts de la présente invention est donc de réaliser un nou- veau système dtafoichage alphabétiquejnumérique/graphique definissant un système de données compact combinant l'inter-action du langage BASIC à haut niveau, #e calcul incorporé, la mémoire locale incorporée, et des capacités graphiques uniques. L'invention a également pour but de réaliser un système pour afficher sur un tube cathodique de stockage un affichage visuel d'informations al phabétiques, numériques et graphiques. Le dessin annexé, donné à titre d'exemple non limitatif, permettra de mieux comprendre les caractéristiques de l'invention. - Figure 1 est une vue en perspective d'un système à pupitre suivant l'invention. - Figure 2 ést une vue détaillée du dispositif d'entrée principal du système de la figure 1. - Figure 3 est un schéma-blocs fonctionnel de ce système. - Figure 4 est un schéma montrant la mémoire interne du système. - Figure 5 est un schéma illustrant le circuit suivi par les instructions qui sont stockées dans la partie Mémoire à Lecture Seule du système suivant la présente invention. - Figure 6 est un schéma-blocs du circuit de commande d'affichage utilisé. - Figure 7 montre un circuit type de convertisseur numerique-analo- gique pouvant constituer le circuit de la figure 6. - Figure 8 montre un circuit type de réseau à filtre approprié pour vant constituer le circuit de la figure 6. - Figure 9 montre un circuit type utilisable pour déterminer la longueur du vecteur dans le circuit de la figure 6. La figure i montre le système A-pupitre 5 suivant l'invention. Comme on peut le voir, le principal dispositif d'entrée du système est constitué par un clavier 2. Ce dernier est divisé en cinq zones fonctionnelles. La plus grande de ces zones, qui est la zone 2a, comprend les touches alpha bétiques et numériques rangées de la même façon que sur un clavier de machine à écrire standard. Ces touches permettent de rentrer des comnunica- tions programmées en BASIC. Les entrées du clavier sont codées par une programmerie fixe interne qui sera décrite plus loin, pour produire un jeu complet de caractères ÂSCII, au nombre de 128. Un bloc de touches numéri- ques 2b est utilisé pour rentrer des données numériques et effectuer des opérations mathématiques simples telles que des exponentielles, des add#- tions, des soustractions, des multiplications et des divisions.Ces touches sont placées sur le clavier pour des raisons de commodit#, car la plupart de ces mêmes fonctions peuvent ttre obtenues à partir du bloc de touches alphabétiques et numériques en ne pressant qu'une seule de ces touchies en mtme temps qu'une touche de manoeuvre 133. Plusieurs touches 2c, placées dans l'angle supérieur gauche du clavier, sont mises à part pour des fonctions définies par l'utilisateur. En pressant l'une de ces touches, on fait exécuter au système une sous-routine programmée BASIC qui est en mémoire. (La sous-routine est mise en mémoire par l'utilisateur). Deux fonctions peuvent essentiellement titre attribuées à chaque touche particulière, ce qui autorise un maximum de 20 fonctions définissables par l'utilisateur. En pressant une touche, on fait exécuter à la machine (machine est ci-dessous synonyme de système) une#sous-routîne. En pressant la même touche en même temps que la touche de manoeuvre 133, on fait exécn- ter à la machine une sous-routine différente. On utilise plusieurs touches de directives de ligne 2d pour permettre à l'information titre ajoutée, changée, supprime ou pour supprimer les communications en BASIC en mémoire à partir du clavier.Une touche 2e permet an système d'#tre échelonné, par l'exécution d'un programme d'une communication à la fois, et une tou che 2f fait accepter au système un programme en provenance du clavier, taudis que la machine numérote automatiquement chaque communication en BASIC. Plusieurs touches 2g assurent une commande opérationnelle limitée sur l'ensemble incorporé à bande magnétique 3 et sur le périphérique de copie. (Un bouton 3a permet d'enlever de l'ensemble 3 une cartouche de bande magnétique). Le clavier du système, mieux défini ci-après, est représenté sur la figure 2. Une pression exercée sur la plupart des touches déclenche l'affichage d'un symbole sur l'écran d'affichage 4, mais la fonction que représente ce symbole n'est pas- exécutée, ou rentrée en mémoire, tant qu'on n'a pas pressé une touche 134 de retour en arrière du clavier alphabétique numérique.Les autres fonctions de touche sont exécutées immédiatement lorsque la touche est pressée Les touches alphabétiques numériques (lettres, chiffres et symboles) sont utilisées pour rentrer des communications en BASIC et produire des caractères de commande 4SCIAI. On peut aussi utiliser les touches 0 à 9 pour rentrer des données numériques; quand on presse la barre d'espace- ment 135, un curseur d'affichage qui sera décrit plus loin se déplace horizontalement d'un espacement vers la droite, et aucun caractère n'est imprimé.Si le curseur est sur la marge droite, aucune opération n'est axé- outrée; les touches de manoeuvre 133 sont identiques à celles d'une machi- ne à écrire classique, et elles permettent de déterminer celui des deux caractères correspondants qui est à imprimer quand on engonce une touche alphabetique et numérique. Si on l'utilise seule, cette touche place l'affichage hors de l'état de maintien. La touche de verrouillage 136 fait transmettre toutes les lettres inférieures comme lettres supérieures; quand on appuie sur la touche U 7 le clavier donne le caractère de commande ASCII TAXE, quelle que soit la position des touches 133.Après que la fonction TAB ait été exécutée, le curseur d'affichage se déplace vers la droite. Quand on appuie sur la touche de commande 138 en meame temps que sur une touche de lettre (et parfois en même temps que sur une touche 133), le clavier donne un caractère de commande ASCII. Au moment de 11 entrée de la communication, tous les caractères de commande sont signalés sur l'af- fichage en étant soulignés.Au moment de l'exécution de la communication, certains caractères de commande font exécuter des fonctions d'affichage de la machine; quand on appuie sur la touche ESC, le clavier donne le ca caractère de commande ASCII ESC, quelle que soit la position des touches 133; Si on appuie sur la touche de repos 139 seule, on efface l'affichage et on fait revenir le curseur à la position de repos (la position de repos est située dans l'angle supérieur gauche de l'écran d'affichage).Si on appuie en meme temps sur les touches de manoeuvre 133, le curseur revient à sa position de repos, mais l'affichage n'est pas effacé; si on appuie sur la touche d'espacement arrière i402 le curseur se déplace vers la gauche sur l'écran; quand on appuie sur la touche de retour 134 le clavier donne-le caractère de commande ASCII RC (Retour Chariot). Le curseur d1af- fichage retourne à la marge gauche et se déplace d'un espacement vers le bas, tandis que la machine évalue les informations de la ligne précédente. Si la ligne comporte un numéro de ligne, la communication est introduite en mémoire sans être exécutée. Si la communication ne comporte pas de numéro de ligne, elle est immédiatement exécutée; si on appuie sur la touche d'effacement 141, le curseur d'affichage se déplace d'un espacement vers l'arrières et trace une matrice 5 x 8 complète de points par dessus tout caractère présent à cet endroit (la matrice 5 x 8 de points sera décrite plus loin dans la descripticn).Le caractere qui se trouve au-dessous du curseur se trouve logiquement enlevé de la mémoire, et remplacé par le caractère d'espacement. Par la suite, la prochaine fois que la ligne se trouve imprimée, un espacement apparat au lieu de la matrice 5 x 8e Si le curseur est au-dessus d'un caractère non-blanc, le curseur ne se déplace pas, mais efface la position présente. La première fois que l'on presse la touche de coupure 142, une lampe indicatrice de coupure 5 s'allume sur le tableau avant et la machine arrête l'exécution du programme lorsque la ligne est complète. On appelle en général cela l'état d'instance de coupu ra. La lampe indicatrice s1 éteint quand le programme s'arrête. Si on appuie sur la touche de coupure 142 pendant que la lampe de coupure est allumée, le programme est immédiatement stoppé et la ligne de programme revient à la position de départ. Comme on l'a déjà signale toutes les touches de directives de programme 2d sont b. double usage. Pour réaliser leur première fonction, on appuie directement dessus. Pour réaliser leur deuxième fonction, on appuie dessus tout en maintenant simultanément une touche de manoeuvre 133. Toutes les opérations sont effectuées sur la ligne en cours qui est stockée dans un séparateur de ligne à 72 caractères, et ces touches ppartiennent à la liste suivante : On utilise la touche d'expansion 143 pour introduire des operations.Tous les caractères situés sur la droite du curseur, ainsi que le caractère sur lequel le curseur se trouve, se déplacent Jusqu'à l'extrémité droite du séparateur de ligne, sur lteoran et la ligne appa ratt scindée en deux portions droite et gauche séparées par un vide. Le curseur finit à l'extrémite droite du vide, et les caractères peuvent alors titre introduits. La compression, que l'on commande en enfonçant si multanément la touche de manoeuvre 133 et la touche d'expansion 143 est l'inverse de l'expansion, et supprime les espacements adJacents à la droite de l'écran, par retour à la position en cours du curseur.La touche d'espacement arrière 144 déplace le curseur d'un intervalle de caractère vers la gauche, tandis que la touche d1effacement 145 produit le mtme effet que la touche 140. La touche d'espacement 146 saure la mflme fonction que la barre d'espacement 135, la touche 146 étant prévue à cet endroit pour des raisons de commodité. Le curseur est placé un espacement en ar rière Jusqu'à atteindre la marge gauche, et la touche d'effacement associée est équivalente à l'autre touche d'effacement, à ceci près qu'elle déplace vers la droite au lieu de déplacer vers la gauche.La touche 147 remplit le séparateur de ligne en cours sans affecter l'information dejà stockée en mémoire à lecture/écriture, et la touche de réimpression 148 répète le contenu en cours du séparateur de ligne à un intervalle au-dessous de l'afSichage en cours. La position du curseur par rapport au sépa- rateur ne change pas. On utilise cette touche quand, du fait d'une surimpression, l'affichage du stockage est difficile à lire. La touche de rappel 149 rappelle une ligne de programme préalablement stockée dans la mémoire à lecture seule. Avant d'appuyer sur cette touche, on rentre le numéro de la ligne à rappeler. La ligne est appelée, et le curseur s'arw8te un intervalle plus loin.La touche de rappel 150 a une fonction sensible ment identique, mais au lieu de rappeler la ligne dont le numéro de ligne est en cours a'affichage, elle rappelle la ligne qui possède le numéro suivant dans l'ordre croissant. La fonction de la touche 2f constitue une commodité du système au cours du temps d'entrée des conditions de programme. Si on appuie une fois sur cette touche, des numéros de ligne sont fournis automatiquement pour chaque condition BASIC introduite à partir du clavier.La première fois qu'on appuie dessus, le numéro de ligne 1## se place sur le séparateur de ligne, et apparat sur l'affichage. L'opérateur rentre une condition BASIC et appuie sur la touche de retour 134. La machine place alors le numéro de ligne 110 sur le séparateur de liane pour l'entrée de la condition suivan- te.L'augmentation du numéro de ligne est automatiquement de 1ss. Pour fai- re débuter la séquence de numérotation automatique avec un numéro de ligne autre que 1~~, on rentre le numéro de ligne dans le séparateur de ligne à partir du clavier, puis on appuie sur la touche 2f. Le système fournit alors des numéros de ligne qui augmentent de 1# en 1~ à partir de ce point de départ. Pour faire stopper le numérotage automatique, on presse une nouvelle fois la touche 2f. Si lton appuie sur la touche 2e, le système exécute le programme BASIC en cours étape par étape. Chaque fois que l'on presse la touche, l'une des lignes du programme est exécutée. Cela permet de surveiller la séquence d1exécution du programme au cours d'éventuelles opérations de correction. Normalement, le programme débute à une exécution d'intervalle du début. Cependant, le compteur de ligne du programme peut être amené à une ligne quelconque du programme par l'utilisation d'une condition de BASIC GOTO, et par l'enfoncement de la touche provoquant une exécution à un Intervalle de ce point.Par example, en rentrant GOTO 5## et en appuyant sur la touche de retour 134, on place le compteur de ligne de programme à la ligne numéro 5~~. Le programme peut alors être exécuté étape par étape à partir de ce point, en réappuyant plusieurs fois sur la touche 2e. On utilise les touches de commande de périphériques 2g pour (a) faire charger dans la mémoire lecture/écriture par l'ensemble à bande magnétique interne un programme BASIC de la cartouche de bande magnétique. On peut stocker le programme BASIC sur la bande magnétique au premier dépôt, ou bien une erreur se produit, et on appuie sur les touches pour faire exécuter au système les conditions de BASIC suivantes :FIND 0, FIND1, OLD, RUN; (b) faire réembobiner par le système une cartouche de bande nagndti- que dans l'ensemble interne à bande magnétique 3.Appuyer sur la touche revient à exécuter la condition BASIC FIND ~ ; (c) faire faire à l'ensemble de copie incorporé une copie de l'infor- mation de l#affichage.#Appuyer sur cette touche revient à exécuter la condition BASIC COPS. Dans la présente description, on a jusque ici a écrit le clavier sous l'aspect du fonctionnement. En fait, le clavier est constitué par un clavier électronique qui utilise une programmerie fixe en combinai on avec un circuit d'entrée simplifié pour déterminer la validité des données de code des touches. Ce côde de touches comprend les touches déjà décrites, pouvant être représentées schématiquement comme une matrice avec lignes et colonnes, chaque intersection d'une ligne et d'une colonne oorrespon- dant à une touche donnée et étant analysée de manière séquentielle pour la détermination de son état.L'analyse est effectuée par l'intermédiaire d'un décodeur couplé aux lignes d'un codeur couplé aux ooloniies,par deux compteurs binaires, les comptages de ces derniers étant en co-respondance avec le code des touches du clavier, et étant surveillés par la programmerie fixe. Deux flip-flops J-K interconnectés complètent la machine séquentielle, et sont prévus pour émettre un. signal d'interruption quand une touche est enfoncée pendant deux cycles d'analyse consécutifs de la matrice. Ce signal d'interruption est capté par la programmerie fixe, qui émet un signal de verrouillage afin de verrouiller les compteurs suffisaiament longtemps pour lire et traiter les données codées par les touches. truand les touches sont levées après avoir été enfoncées, il se produit un signal d'interruption pour signaler à la programmerie fixe que toutes les touches sont en position haute. La programmerie fixe, qui se présente sous la forme d'une mémoire à lecture seule décrite plus loin, a des instructions pour-garder trace des codages par touches, en réponse au signaux dtînterruption. Elle comprend un empilement de mémoires qui peut stocker jusqu'à trois codages-par tou che pour une triple exploration des touches. Quand un code de touche apparatt deux fois dans l'empilement, il apparatt sur l'écran itaffichage. Si trois touches sont détectées au cours d'un cycle d'analyse, il n'y a aucun affichage. Si aucun code de touche n'est détecté, l'empilement de mémoires est remis à zéro. On trouvera une analyse complète et détaillée du clavier dans la demande de brevet déposée le 25 octobre 1975 aux U.S.A. sous le m0 625611 et qui a pour titre : "Circuit de clavier". Cette demande de brevet décrivant complètement le clavier, il n'a pas été Jugé utile de reprendre loi cette description. L'écran d'affichage 4 représente visuellement les données à la fois pour les fonctionnements#alpiiabétique, numérique et gr phioue. Le tube de stockage à vision directe, dont l'écran d'affichage cité plus haut fait partie, est décrit avec les données correspondantes, les circuit associés, leur structure et leur fonctionnement, dans les brevets américains N 3 214 63#1 ; 3 531 675 ; 3 956 662 et 3 426 235, et dans une demande de brevet N0 625 609 déposée aux U.S.A. le 24 octobre 1975. L'information peut rester affichée sur l'écran pendant une durée pouvant aller jusqu'à une heure, à l'aide d'un montage automatique à intensité réduite appelé "maintien".S'il nty a aucune action d'affichage durant 90 secondes, l'affichage rentre en état de maintien. Dans cet état de maintien, l'information qui est sur l'écran semble s'affaiblir, mais elle n'est pas détruite. L'ensemble qui est en position de maintien retourne à l'état de visualisation quand on fait parvenir une information au tube de stockage à vision directe, ou quand on appuie sur l'une des touches 2g, ou sur les touches de manoeuvre 133. Si aucune information n'est exécutée pendant approxima- tivezent 45 minutes, quand la machine est au repos, l'écran est effacé automatiquement une fois. Les caractères affichés sur l'écran d'affichage sont formés à partir d'une matrice 5 x 8, suivant un dessin par points. Ces dessins par points sont conformes aux normes américaines : ASCII (lettres supérieures et chiffres) ASC11 (lettres inférieures) et ASCIi (sym- boles spéciaux). Les vecteurs et les graphiques sont tracés sur l'écran d'affichage par impression en commande BASIC DRAW, par exemple, suivi des coordonnées du point de destination. Cent trente unités d'affichage graphique sont définies sur l'axe horizontal, et cent unités d'affichage graphique sont définies sur l'axe vertical (la définition de l'affichage comprend approximativement 1000 points sur l'axe des X). Pour tracer un vecteur à partir dlune position donnée du faisceau jusqu'à un point de destination quelconque situé sur l'écran, on indique les coordonnées horizontale et verticale de ce point de Festination après avoir composé la condition BASIC : DRAW. Pour amener le faisceau à un emplacement donné sans tracer de vecteur, on compose la condition BASIC : LOVE suivie des coordonnees de destination que l'on veut. Dans la forme préférée de réalisation du système suivant l'invention, on prévoit plusieurs indicateurs de tableau avant pour indiquer les états suivants : La lampe 7 indique que le système est en train de transférer ou ce traiter des données. Une lampe 8 indique qu'une opération d'entrée/ sortie est en cours. La lampe 6 déjà citée indique qu'une coupure est en cours dans l'exécution du programme. La lampe indicatrice s'éteint quand l'exécution du programme est interrompue à la fin d'une ligne en cours.Une lampe 9 indique que l'ensemble est sous tension. On a représenté sur la figure 3 un schéma-blocs fonctionnel du système. Le système comprend essentiellement un microprocesseur 10, une mémoire à lecture/écriture 12, une mémoire a lecture seule 741 un moyen d'entrée principal i6 (de préférence le clavier 2), un moyen de sortie principal 18 (de préférence l'écran d'affichage 4 d'un tube de stoc.abe à vision directe) et un moyen de stockage de masse 20 (de préférence l'ensemble à bande magnétique 35. Ces unités essentielles sont branchées les unes sur les autres par des lignes du bus de données, d'adresse et de commande désignées dans leur ensemble par la référence 22.Ce bus est , bien entendu, un ou plusieurs conducteurs utilisés pour transmettre l'information d'un ensemble à l'autres pour recevoir l'information en provenance d'un ensemble, ou pour fournir une information a un ensemble. Le microprocesseur, la mémoire à lecture seule et la mémoire à lecture/écriture sont de préfé renoue des MOTOROLA MC 6800, 6590 et 6605 du commerce, respectivement. l'autres périphériques destinés à mettre en valeur la présentation et les particularités des différents caractères du système peuvent Autre constitués par un ensemble de copie 24 faisant des copies sur papier des informations affichées, par exemple un photocopieur à sec 3M BRSXD type 777 du commerce, et par un levier de commande 26.Un interface à usages multiples du commerce 28 peut titre mis en interface aux trois lignes du'-' bus pour utiliser d'autres dispositifs périphériques tels que, par exem ple, des traceurs numériques XY, des systèmes d'instrumentation, des dispositifs d'enregistrement sur disque, etc..., et un interface de communication de données du commerce 30 peut dgalement être mis en interface aux trois lignes du bus pour former une charnière entre le système et d'autres dispositifs, tels que des ordinateurs basaux. Le microprocesseur 10 constitue le dispositif de calcul principal du système. En ce qui concerne les notions d'ensemble, la technologie et l'organisation des systèmes de microprogrammation et des systèmes microprogram mables, on se reportera à l'ouvrage de Samlk S. Husson ; flMicroprogramma tion : Principes et Pratique6" édité par Prentice-Hall. Ce dispositif regit le fonctionnement du système, tout comme les instructions de programmation de décodage, et effectue les opérations arithmétiques et logiques. Le microprocesseur est Guidé par un jeu d'instructions de microprocesseur permettant à la machine de "parler" en langage programmé. Ces instructions sont fixées de façon permanente dans le silicone, dans la mémoire à lecture seule 14. La mémoire à lecture seule 14 donne des places de stockage pour stocker les instructions du microprocesseur. Chaque Instruction est stockée en code binaire. Les instructions du microprocesseur constituent dans leur ensemble un language à haut niveau qui commande le système, par l'in termediaire du clavier, et permet l'affichage de l'information a'phatéti- que, numérique et graphique.La programmerie fixe de la mémoire à lecture seule fait exécuter par le microprocesseur le language BASIC utilisé par le système; Cependant, on peut utiliser autres langages, tels que l'ÀPL (A Program Language) et le Fortran (Formula Translation). On nomme ces Instructions flprogrammerie fixe"("firmware") parce que le code ressemble au programme "software" avec une différence. Le code est fixé en permanence dans la machine et ne peut pas être détruit, par exemple par une coupure de l'alimentation. Le microprocesseur 10 rapporte une instruction de la mémoire à lecture seule t4 en plaçant une addresse n-bit sur le bus adresse.La mémoire à lecture seule répond, à son tour, en envoyant l'instruction stockée dans l'emplacement n en direction du microprocesseur par le bus adresse. Le microprocesseur décode et exécute l'instruction. Ensuite1 il adresse un autre emplacement dans la mémoire à lecture seule pour les instructions suivantes, et ainsi de suite. Le microprocesseur utilise la mémoire à lecture/écriture en stockage temporaire des données, pour programmer les instructions de programme, et pour le stockage Intermédiaire des résultats partiels d'opérations arith métiques. La mémoire à lecture/écriture renferme environ 8200 erjplacements de stockage. Chaque emplacement a une capacité de stockage d'un Byte (huit bits) d'information. Le microprocesseur utilise approximativement 2000 butes pour stocker l'information an cours des opérations effectuées, et ces em#lacements de mémoire ne sont pas accessibles à l'utilisateur ou à l'opérateur.Le reste de la mémoire à lecture/écriture détient les programmes de données et de BASIG rentrés dans la machine à partir du clavier, de l'ensemble à bande magnétique, ou d'autres dispositifs périphériques ex- ternes. Cette information est accessible à l'utilisateur, et peut titre modifiée, supprimée ou remplacée à tout instant. Une capacIté additionnelle de moire à lecture/écriture peut être ajoutée par augmentations de 8K byte. t la différence de la mémoire à lecture seule, la mémoire à lecture/ écriture ne s'utilise que pour le stockage temporaire, et s'efface à chaque fois que l'alimentation est coupée. En cela, la mémoire à lecture/écriture n'est pas fidèle. Comme on 11a déjà signalé, le clavier, le dispositif d'affichage et l'ensemble à bande magnétique sont incorporés au système et sont reliés aux lignes de bus avec un ou plusieurs adaptateurs d'interface périphérique FIA 32.. Il peut s'agir de Motorola MC 6820 du commerce, chacun contenant des registres ressemblant aux emplacements de mémoire du micropro cesseur.Chaque registre d'adaptateur dtinterface périphérique possède sa propre adresse à l'intérieur de l'adresse des microprocesseurs, et lorsque le microprocesseur envoie une donnée à un périphérique, il adresse un registre d'adaptateur dtinter~ace périphérique de la même manière qu'il adresse un emplac#ment de mémoire. Le microprocesseur envoie ensuite les données à l'adaptateur d'interface périphérique adressé par l'intermédiaire du - bus données comme s'il envoyait des données à un emplacement de mémoire. Ces données sont détenues par l'adaptateur d'interface périphérique, et sont présentées au périphérique Jusqu'à ce que le péripherique traite ces données.Quand le périphérique a fini de traiter les données, il demande au processeur d'envoyer une nouvelle donnée. Toute information antérieure du registre d'adaptation d'interface périphérique est mise en surimpression avec la nouvelle donnée provenant du microprocesseur. La mémoire de la machine contient 64K emplacements d'adresse. Les 32K première emplacements sont réservés å la mémoire à lecture/écriture et sont adressés 0000-7Z2F. Les 32K dernièrs emplacements sont réservés à la mémoire à lecture seule, et sont adressés 8000-FTEF. Chaque emplacement de mémoire Stocke un byte (huit bits) d'information (instructions de programme, données, etc..). Les 8t premiers emplacements de mémoire à lecture/écriture sont standards. On peut ajoutes une mémoire additionnelle à lecture seule (emplacements 8K à 52E) par augmentations de 8K.Les 32K derniers emplacements renferment des instructions de processeur, et des adresses de commande périphérique. Cent vingt huit bytess de la mémoire à lecture seule sont mis de c8té pour la commande de l'adaptateur dtinterfa- ce périphérique Le processeur communique avec un adaptateur dtinterface périphérique en formulant l'une de ces adresses. Cela permet le transfer de données entre le processeur et un périphérique. L'adaptateur dlinterfa- ce périphérique et le périphérique apparatssent au processeur comme un emplacement de mémoire à lecture/écriture. Le' figure 4 représente un schéma de la mémoire interne de la machine.Les seize bits sont représentés par un nombre hexa-décimal à quatre chiffres Le microprocesseur rapporte les données en provenance d'un périphérique comme s'il recevait des données en provenance d'un emplacement de mémoire, et place l'adresse appropriée sur l-- bus adresse. Le microprocesseur active ensuite les lignes de commande-du bus de commande, si bien que l'adaptateur d'interface périphérique place son contenu sur 1. bus de données. Te microprocesseur capture les donndes-en plaçant l'information dans l'un de ses registres internes propres. Chaque fois que l'on appuie sur une touche du clavier, un code de touche est rentré dans l'adaptateur dtinterface périphérique du clavier, et une ligne de connande du bus de commande dit au microprocesseur de rapporter le code de touche. Lorsque le microprocesseur est prêts il transfère le code de touche de l'omnibus de données vers l'un de ses propres registres internes.Le processeur place alors le code de touche dans un emplacement de la mémoire à lecture/écriture appelé le séparateur de l ne. Une copie du code- de touche est envoyée à l'affichage où le symbole de touche est affiché sur l'écran0 Le processus ci-dessus intervint pour chaque rentrée du clavier jusqu'à ce que l'opérateur appuie par exemple, sur la touche de retour 134. Avant d'appuyer sur la touche de retour, l'opérateur a cependant la possibilité d'effectuer des modifications dans la ligne en utilisant les touches de directives de ligne. Ces modifications sont apportées au contenu du séparateur de ligne.Après que l'opérateur ait appuyé, par exemple, sur la touche de retour 134, le microprocesseur évalue l'entrée et peut envoyer immédiatement les résultats à l'affichage. Si l'entrée est une condition de programmation avec un numéro de touches le microprocesseur place l'entrée dans un autre endroit de la mémoire à lecture/écriture. Ces instructions ne sont pas exécutées -avant que, par exemple, une condition de marche soit rentrée à partir du clavier. Conne on l'a déjà dit, l'affichage constitue le dispositif de sortie principal du système. Quand le microprocesseur envoie des données à l'af- fichage, il adresse un adaptateur d'interface périphérique d'affichage. Chaque donnée est envoyée sur le bus de données et représente générale- ment un caractère à ispflmer ou une coordonnée graphique à tracer sur le dispositif d'affichage. L'ensemble à bande magnétique 20 permet à l'opérateur du système d'effectuer en permanence un enregistrement de l'information stockée dans la mémoire à lecture/écriture. Les programmes de données et de programma- tion proviennent par transfer d'une cartouche de données standard DC-300 fabriquée par la société 3Mt et sont transférés dans des cartouches du mê- me type0 La donnée ne passe pas directement de la mémoire à lecture/écri- ture à l'ensemble à bande magnétique, car le microprocesseur se comporte comme un intermédaaire. L'information qui provient de à la mémoire à lectu- re/écriture pour se rendre vers l'ensemble à bande magnétique passe à travers le microprocesseur en premier lieu. De la même façon, l'information qui provient de l'ensemble à bande magnétique pour se rendre vers la mc-- moire à lecture/écriture passe en premier lieu à travers le microproces seau. Le transfer de l'information n'est aucune copie du contenu initiai de la mémoire à lecture/écriture. Le contenu primitif n'est pas détruit, sauf si on débranche l'alimentation da l'ensemble, ou sauf si le contenu est surchargé par une nouvelle information en provenance du clavier ou d'un périphérique extérieur. L'ensemble de copie est un périphérique qui fait une code sur papier de l'Information qui est affichée sur l'affichaoe du système. Cet ensemble peut, par exemple, être du type de celui qui est décrit dans le brevet amé ricain N 3 679 824. L'ensemble est directement connecté à l'affIchage à la manière conventionnelle, par exemple à l'aide d'un connecteur à broches. Quand on désire une copie, on appuie sur l'une des touches 26. La copie peut aussi être exécutée à partir d'une commande de programme programmée. L'ensemble de copie prend la commande du circuit d'affichage, et une analyse complète de l'écran est effectuée, pour information affichée. Au cours de l'analyse (ou balayage), on empoche le microprocesseur d'effectuer un quelconque transfert dedonnées vers l'affichage. Quand l'analyse est ter minée, ltensemble dedecopie redonne les commandes de l'affichage au micro- processeur, et l'ensemble de copie éjecte une copie sur papier de l'information affichée. Le levier de commande 26 est également un dispositif périphérique ex- térieur additionnel qui donne à l'opérateur du clavier une commande manuelle de la position d'un curseur graphique, Le curseur graphique, qui est bien connu des spécialistes en la matière, est affiché quand une condition programmée est exécutée à partir du clavier, ou à partir d'une commande do programme. L'opérateur du clavier peut alors déplacer le curseur Jusqu'à un point quelconque de l'affichage en tournant le levier de commande. La position du curseur est ensuite enregistrée par le système quand l'opérateur appuie sur une touche du clavier.Ce procéda permettant d'insérer la position d'un point de donnée graphique est utilisé dans des programmes bien connus de graphiques interactifs. L'interface à usages multiples 28 permet au microprocesseur de parler à tout dispositif périphérique extérieur, ou d'écouter tout dispositif de ce type comportant une compatibilité entrée-sortie avec les standards du système d'Interface byte-série, bit-parall*) de la Commission Electro- technicue initiale proposée, pour les instruments de levure programmables. Cet interface transfère les données à partir du bus le données du microprocesseur en direction du bus d'interface usages multiples. Le microprocesseur a la liberté d'envoyer des données sur lé bus d'interface à usages multiples soit en code ASC11, soit en code binaire dépendant de la machine. Le microprocesseur établit un format de données et cède les "écouteurs" et les "parleurs" sa bus d'interface à usages seule tiples avant que le transfert final des données ne commence. Avant de continuer, il faut préciser guestout au long de cette des cription, la commande et la connection du microprocesseur et des adapta teurs dtinterface périphériques ont été dépourvus de tous les détails spé- cifiques concernant leur structures et interconnexions internes nécessai- res au fonctionnement du système. La raison en est que l'analyse détaillée de ces ensembles se trouve dans les notices de constructeur des dispositifs du commerce#déJà mentionnée.Par exemple, d'après "Motorola Semiconductor Produit Preview" édité par Motorola en 1974 au sujet du processeur, on voit que le microprocesseur est du type 8-bit monolithe formant la fonction de commande centrale. On y trouve également des diagrammes- blocs détaillés, des caractéristiques de temporisation d'horloge, des données de lecture des caractéristiques des périphériques ou de la mémoire, des données d'écriture des caractéristiques des périphériques ou de la mémoire, une description du signal, un schéma de circulation, et diverses autres données intéressantes. Le microprocesseur est également décrit dans le brevet américain 3 962 682.De la même argon, on verra d'après une autre revue "Motorola Semiconductor produit Review" éditée en 1974 par Elo. torola que l'adaptateur d'interface périphérique choisi offre des moyens universels pour mettre en Interface avec le microprocesseur itéquipement périphérique, et on y trouvera l'information nécessaire permettant aux spécialistes de s'en servir. L'adaptateur d'interface périphérique est également décrit dans le brevet américain 3 979 730. On estime donc qu'une description supplémentaire n1 est pas nécessaire. Comme cela apparaît d'après la description qui précède, l'ensemble constitué par le microprocesseur interprète les codes de programmation de commande représentant les signaux d'adresse et de données entrés par l'in termédiaire du clavier, et effectue les fonctions que l'on veut, c'est-à- dire le décodage des signaux de données et d'adresse pour l'aftichage sur le tube cathodique des moyens d'affichage pour afficher les données sous forme alphabétique, numérique ou graphique.Le microprocesseur apparaît ainsi comme un interprète standard, mais la seule vue qu'on en a est que le microprocesseur Interprète le language de commande du tube cathodique pour fournir des graphiques. Cela est réalisé par une extension du language de programmation, et nota ment du BASIC (#eginners A11 Furpose Synbolic Instruction Code) dans la mémoire à lecture seule. L'extension particuliè- re comprend des codes de touche ajoutés au language, et ces codes de touche sont bien connus de par les techniques de programmation de graphiques. IIOV3 adresse le curseur pour qu'il se déplace jusqu'à une quelconque posi- tion sur l'écran du tube cathodique en eoordonnées absolues. DRALr permet à l'opérateur du clavier de tracer un trait sur l'écran du tube cathodique à partir d'une position connue de dep2rt jusqu' une quelconque partie de l'écran, en coordonnées absolues. RELATIVE gOVE permet de déplacer le curseur à partir de l'endroit où il se trouve jusqu'à un emplacement donné de l'ccran d'un nombre donné de coordonnées.RELATIVE DRAW permet de tracer un vecteur à partir d'un point jusqu'à sa dernière position, suivant un nombre donné de points. WINDOW est une commande qui donne le domaine des limites de données choisies. VIEW PORT est une commande indicluarat où est affichée sur le tube cathodique une image à fenêtre (sur tout l'écran ou sur une partie seulement). ROTATE indique un angle de rotation par l'intermédiaire duquel tous les tracés et les mouvements relatifs sont traduits. Â7jS indique une commande pour tracer un axe (ctest-o-dire X et Y dans un système à coordonnées cartésiennes).Ces commandes donnent au système ses capacités graphiques, alors qu'auparavant il fallait utiliser un ordinateur basal à langages à haut niveau et des sous-routines gwanhi- ques séparées, parfois dans un language différent, ces deux ensembles étant reliés l'un à l'autre pour fournir un graphique ou un affichage, par exem- ple sur une imprimante extérieure ou sur un dispositif graphique. Le schéma de la figure 5 montre la circulation des instructions qui sont stockées dans la partie : mémoire à lecture seule du système. C'est avec ces instructions que le système fonctionne de la manière décrite pré cédemment. Ce schéma de circulation indique la séquence des opérations et des décisions#du microprocesseur et, avec les diagrammes de temporisation donnés par les documents déjà mentionnés, offre aux spécialistes une représentation convenable des algorithmes et des procédés facilitant le hardware du système. Sur le schéma lorsque les lignes reliant entre eux les différents blocs sont interrompues, cela indique que l'information ne peut passer que dans un seul sens, les lignes continues indiquant au contraire que l'information passe dans les deux sens.En outre, chaque flèche sur une ligne indique que la fonction du bloc pointé par la flèche est appelée. Au moment de la mise en marche de l'instrument, une routine de dé marrube 50 reçoit un signal par la ligne 52, Ce signal est fourni par la logique hardware obtenue dans un ensemble d'alimentation bien connu. La routine de démarrage est utilisée, comme toutes les routines de ce type, pour mettre à zéro toutes les mémoIres du système, établir les variables du système, et donner les valeurs initiales dont le système a besoin ;;,our fonctionner. la commande passe alors, par l'intermédiaire d'une ligne 547 4 une routine à boucle de repos 56 qui met elle-Même, par l'intermédiaire d'une routine standard ent#ée/sortie 58, un curseur sur l'écran d'afficha- ge du systène. En mAeme temps, l'information rentrée par exemple à partir des moyens d'entrée primaires 16 rentre par l'intermédiaire de la boucle le repos, vers une routine génératrice de ligne 60. Cette dernière accepte jusqu'a 72 caracteres, ce qui est le nombre de caractères par liane affichée.Lorsque toute la lire a été complètement remplie, ou lorsqu'on appuie sur la touche de retour de chariot ou autre, la routine génératri- es Après qu'une ligne ait été convenablement construite, ctest-2-dire si cette ligne est valable et prête pour l'exécution, on la vérifie pour déterminer si elle a un numéro de ligne. S'ily a un numéro de ligne, le traducteur appelle une routine de répertoire de programme 66 qui insère cette ligne à l'emplacement approprié dans le système. S'il n'y a pas de numéro de ligne, le traducteur appelle une routine l'estimation de programme 68, et celle-ci commence à exécuter le programme par l'intermédiaire de plusieurs routines 70, 72, 74, 76, 78 et 80. Ces sous-routines sont évidemment bien connues, et on ne juge pas nécessaire de les décrIre davantage. La sous-roatine de commande de mémoire 80 n'est utilisée que pour aJouter si on le désire un stockage supplémentaire au système, et cette sous-routine est elle aussi bien connue. Lorsque la routine a été correctement exécutée, la sortie de la routine l'estimation de programme est dirigée sur l'affichage par l'intermédiaire de la routine entrée/sortie, soit directement, comme dans le cas des conditions BASIC telles que "print, frite, etc... soit par l'intermé- diaire d'une routine d'affichage de programme 82 si on commande une condition BASIC telle que "list", etc..., soit par l'intermédiaire d'une routine de graphiques 84 si on commande une condition BASIC telle que : "draw window", etc... Den interruptions hardware normales communes b tous les ensemble s du microprocesseur sont reliés par une ligne 86 à un processeur dtinterrup- tion normale 88 qui, b son tour, appelle une routine de commande de ela vier 90 et une routine de commande de bus 92 d'une manière classique. Le diagramme-blocs de la figure 6 représente schématiquement les circuits de commande d'affichage permettant le tracé des vecteurs, l'impression des caractères à matrice de points, et l'affichage du curseur. Comme on l'a déjà indiqué, le microprocesseur communique avec le moyen de sortie principal par l'intermédiaire de l'adaptateur d'interface périphé- rique. Ce dernier comporte des lignes de sortie programmées pour commander les circuits de commande d'affichage de la manière imposée par les gequen- ces d'instruction du microprocesseur dans la mémoire à lecture seule. ainsi, sur la figure 6, on voit que l'adaptateur d'interface périphérique fournit à l'étage de commande d'affichage des signaux numériques définissant à la fois les données et l'information de commande. Les donw nées correspondant à la position des coordonnées sont fournies par l'in termédiaire des lignes 100 et 102.Les données de la ligne 100 corre8pon- dent de préférence aux abscisses X (I représentant en général le temps), tandis que les données de la ligne 102 correspondent de préférence aux or- données Y (Y représentant en général l'amplitude). Ces données sont chronométrées dans des mémoires tampons 104 et 106, qui sont par exemple des bascules D du type 74LS174 du commerce. Le chronométrage s'obtient évidem- mont par l'intermédiaire de l'adaptateur d'interface périphérique, à partir d'une horloge de système principal sur la ligne 103. La sortie des mémoires tampons 104,106 est appliquée à des conver- tisseurs numériques-analogiques respectifs 108 et 110 où les données sont transformées en signaux analogiques.Dans le cas particulier de l'exemple décrit, le convertisseur utilise une commutation à transistors, des résis- tances à programmation de courant, et un amplificateur opérationnel, tous ces éléments étant reliés à la manière conventionnelle, par exemple comme représenté sur la figure 7, et tel qu'on le décrit dans "Integrated Blee- tronios, Analog and Digital Circuit ana 5yatems" do Nelmann et Rallias. On applique ensuite ces signaux à des réseaux de filtres commutables 112, 114 pour un traitement complémentaire avant application aux circuits de déflexion du dispositif d'affichage. Pour les graphiques (vecteurs), les filtres 112 et 114 effectuent le filtrage exponent4el des signaux analogiques qu'on leur applique, ce qui permet de tracer les vecteurs droits du fait des caractéristiques du filtrage d'adaptation. Les filtres sont autorisés par un signal de commande de provenant de l'adaptateur d'interface périphérique par la ligne 113 chaque fois que l'on rencontre une condition BASIC graphique. Dans le cas présent, le filtre est constitué par la résistance et la capacité à len- trée d'un amplificateur opérationnel, et utilise un commutateur à transistor à effet de champ pour autoriser l'amplificateur.Un circuit type est représenté sur la figure 8. Lorsqu'un affichage alphabétique et numérique se présente, ces filtres sont simplement mis hors service par blocage du transistor à effet de champ par l'intermédiaire du signal de commende et cela permet le paysage des donnees -# travers les filtres qui restent en service. Dans le cas des vecteurs, les sorties de chaque convertisseur numéro rique-analogique 108 ou 110 sont aussi appliquées à un étage capteur de longueur de vecteur 116. Cet étage est représenté sur la figure 9. Une tension supérieure à environ 1 0,7 volts à la sortie des convertisseurs indique qu'il faut tracer tnvecteur long, et rend conducteur l'un des quatre transistors, ce qui sature un transistor à effet de champ, Cette saturation met à la masse l'une des entrées d'une bascule à porte NASD dont l'autre entrés revoit un signal de commande de l'adaptateur d'interface périphérique sur la ligne 119, indiquant qu'il faut tracer le vec- teur.Ainsi, la bascule détecte la présence d'un vecteur long et met hors service un signal d'horloge anti-brdlure de tube cathodique appliqué à un réseau de port~ 118, 120, 122 qui commande le faisceau du tube cathodique. Le dispositif anti-brulure étant -bien connu, on ne le décrit pas ici. Un ensemble de temporisation de vecteur 124 est également couplé au réseau de portes qui est commande par les signaux de commande des filtres et de lthar- loge tampons. Cet ensemble détermine le temps total durant lequel l'affichage d'un vecteur est autorisé sur l'écran d'affichage. Pour les affichages alphabétique et numérique, les signaux de eom- mande provenant de l'adaptateur d'interface périphérique sont appliqués à deux temporisateurs 126 et 128, le premier des deux servant à commander la modulation du faisceau du tube cathodique sans stockage de l'information à afficher, tandis que le deuxième sert à commander la modulation du faisceau du tube cathodique pour stocker l'information à afficher. On prévoit un temporisateur 130 et un oscillateur 132 pour commander les canons de diffusion du dispositif d'affichage. Les canons de diffusion sont décrits dans les brevets déjà mentionnés, mais sont avant tout utilises de façon qu'on puisse faire une copie de l'information affichée sur l'écran. Quand une copie est en fabrication, le système est mis hors service par l'intermédiaire de la ligne 13t, pour qu'aucune autre information ne puisse être affichée sur le dispositif d'affichage. L'exemple ci-dessus pourrait etre soumis à de nombreux changements et à de nombreuses modifications par des spécialistes sans que l'on sorte pour autant du domaine de l'invention. Les revendications jointes sont de- tinées à couvrir toutes les variantes correspondantes. HEVENDICÂTIOHS 1. Systbme pour afficher sur un tube à rayon cathodique une information alphabétique, numérique et graphique, caractérisé en ce qu'il comprend : - un tube cathodique comprenant des moyens d'affichage commandés pour afficher visuellement l'information ; - des moyens à clavier comprenant des touches manoeuvrables pour produire des signaux alphabétiques, numériques et graphiques oodés numé- riquement représentatifs de l'information à afficher ;; - des moyens qui fonctionnent en association avec lesdits moyens à clavier et ledit tube cathodique pour traiter numériquement les signaux alphabétiques, numériques et graphiques à afficher sur le tube cathodique, comprenant un moyen à mémoire à lecture seule pour le stockage dtinstrac- tions de programme adressable qui comprend des routines séparées pour fournir les données alphabétiques, numériques et graphiques, un moyen à mémoire à lecture/écriture pour le stockage des résultats du travail desdites routines, un microprocesseur auquel on fait appel pour obtenir et exécuter les instructions de programme pour produire lesdites données, et un moyen à adaptateur d'interface périphérique par l'intermédiaire duquel le tube cathodique et le clavier sont branchés pour fonctionner ensembles. 2. Système suivant la revendication 1, caractérisé en ce que le tube cathodique est un tube de stockage à vision directe.