[0001] La présente invention porte sur les contrôleurs de visualisation graphique assurant
le couplage entre un microprocesseur pilote et un dispositif de visualisation graphique
et sa mémoire d'écran associée. L'un des rôles principaux d'un tel contrôleur est
d'assurer la gestion de la mémoire d'écran tant pour l'affichage et l'entretien de
l'image mémorisée que pour les modifications de cette image mémorisée à partir de
paramètres directeurs reçus du microprocesseur pilote. La présente invention porte
plus spécifiquement dans un contrôleur graphique de visualisation sur les circuits
d'interface avec la mémoire d'écran permettant d'assurer des modifications sur une
image dont les points élémentaires sont chacun définis avec une pluralité de bits
d'aspect, en nombre supérieur à 2, qui sont mémorisés en autant de plans mémoires
individuels affectés aux différents aspects d'affichage possibles.
[0002] Un contrôleur de visualisation graphique, tel que celui connu sous la dénomination
À4PD 7220 de la firme NEC et décrit dans l'article intitulé "Coprocesseur graphique,
µ PD 7220 : architecture et fonctionnement" paru dans la revue Minis et Micros n°
196, octobre 1983 - pages 63 et suivantes, comporte essentiellement un processeur
de commande, un interface de couplage avec le microprocesseur pilote et un interface
de couplage avec le dispositif de visualisation graphique et sa mémoire d'écran ou
d'entretien. L'interface entre le microprocesseur pilote et la processeur de commande
comprend essentiellement un bus bidirectionnel de transfert de données et d'adresse
qui permet que soit créée ou modifiée une image affichée par le dispositif de visualisation
graphique. L'interface entre le processeur de commande et le dispositif de visualisation
graphique comprend esssentiellement un générateur de synchro vidéo qui fournit les
signaux de base pour le balayage de l'écran. L'interface entre le processeur de commande
et la mémoire d'écran comporte un générateur de séquence de mémoire qui élabore deux
cycles pour la mémoire d'écran : un cycle de rafraîchissement d'image affichée _et
un cycle de modification de l'image mémorisée ; ce générateur de séquence mémoire
délivre deux signaux de commande nécessaires au pilotage de la mémoire d'écran. Cet
interface entre le processeur de commande de la mémoire d'entretien ou d'écran comporte,
en outre, relié au processeur par un bus d'adresses et de données, un circuit de multiplexage
des données d'image et de leurs adresses, assurant d'une part les échanges bilatéraux
de données entre le processeur de commande et la mémoire et d'autre part l'adressage
de la mémoire.
[0003] Le processeur de commande est programmé pour essentiellement assurer la gestion automatique
de la mémoire d'écran durant l'affichage et l'entretien de l'image mémorisée, la définition
des modifications à réaliser sur l'image mémorisée à partir des signaux qu'il reçoit
du microprocesseur pilote et l'excécution de ces modifications.
[0004] Le circuit de multiplexage des données et des adresses, de l'interface entre le processeur
de commande et la mémoire d·'éeran permet, avantageusement, de disposer sur un même
bus bidirectionnel de données d'image, en provenance ou en direction de la mémoire
d'écran, ou d'adresses relatives à ces données. Il est associé d'une part à un circuit
de sortie d'adresses et d'autre part à un circuit de commutation de données.
[0005] Le circuit de sortie d'adresses permet avantageusement de mémoriser les données d'image
sous forme de mots, de 16 bits notamment, et de n'affecter qu'une seule adresse par
mot, et, par là-même, de rendre comptatibles les temps de réponse des mémoires et
du processeur de commande avec une fréquence de balayage des points d'image sur l'écran
et une densité de points d'image élevées qui assurent un effet de continuité d'image
affichée. Ce circuit de sortie d'adresses rend également compatibles la longueur des
adresses, qui en particulier doivent être définies sur au moins 13 bits pour une image
de 512 x 256 points définis en mots de 16 bits, avec les mémoires courantes existantes
à bus d'adressage à 8 conducteurs, en délivrant en deux temps une telle adresse complète
reçue en une seule fois du circuit de multiplexage des données et des adresses.
[0006] Le circuit de commutation de données de l'interface processeur de commande-mémoire
d'écran a pour fonction, pendant les cycles de modification d'image mémorisée, d'établir-les
connexions appropriées entre un bus le reliant à la mémoire d'écran et le bus bidirectionnel
le reliant au processeur de commande à travers le circuit de multiplexage des données
et adresses, pour substituer à un mot de données lu dans la mémoire d'écran un mot
de données modifié défini au niveau du processeur de commande. Cette substitution
est réalisée à travers un circuit logique d'aiguillage.
[0007] Dans les systèmes de visualisation graphique offrant plusieurs possibilités d'aspect
d'affichage de l'image soit avec une échelle de brillance et clignotement pour les
systèmes monochromes, ou en différentes couleurs et éventuellement clignotement pour
les systèmes polychromes, il est par ailleurs connu de décomposer la mémoire d'écran
associée au dispositif de visualisation graphique en différents plans de mémoire affectés
chacun à la mémorisation de l'image dans l'un de ses aspects.
[0008] Dans les contrôleurs de visualisation graphique connus, du type 'précité, les processeurs
de commande ne sont cependant aptes à traiter qu'un seul bit d'aspect à la fois. S'ils
conviennent donc parfaitement pour commander la modification d'une image mémorisée
dans la mémoire d'écran associée à un dispositif de visualisation monochrome, sans
échelle de brillance ni clignotement, ils ne peuvent pas par contre être utilisés
directement, avec un dispositif de visualisation graphique à affichage avec échelle
de brillance ou en plusieurs couleurs, pour commander la modification de l'image mémorisée
dans les différents plans mémoire. Il serait alors possible soit d'utiliser un processeur
de commande par plan mémoire ou de n'utiliser qu'un seul processeur de commande mais
de l'affecter successivement à chacun des plans mémoire, pour effectuer des modifications
dans différents plans mémoire. Les inconvénients de tels contrôleurs résultants seraient
le coût pour la première solution ci-dessus et la lenteur pour la seconde.
[0009] La présente invention a pour but d'éviter ces inconvénients en permettant, au moyen
d'un circuit particulier d'interface entre le processeur de commande et la mémoire
d'écran sous forme d'une pluralité de plans mémoire, un accès simultané à plusieurs
plans mémoire pour la modification de l'image mémorisée.
[0010] La présente invention a pour objet un contrôleur de visualisation graphique comportant
un processeur de commande, un circuit d'interface d'échange bilatéral avec un microprocesseur
pilote et des circuits d'interface de sortie commandés par le processeur de commande
et reliés à un dispositif de visualisation graphique et une mémoire d'écran associée
constituée par une pluralité de plans mémoire affectés à la mémorisation d'une image
pour ses différents aspects d'affichage, respectivement, et dans lequel lesdits circuits
d'interface de sortie comportent des moyens pour générer un signal de synchro-vidéo,
un signal dit de séquence de mémoire formé de cycles de rafraîchissement d'image pour
son affichage et de cycles de modification de données pour la modification de l'image
mémorisée et un signal d'adressage de ladite mémoire d'écran, pour la lecture et l'écriture
de mots de données d'image, et un commutateur de données relié à ladite mémoire d'écran
pour assurer une modification de l'image mémorisée à l'adresse définie par le signal
d'adressage au cours de chaque cycle de modification de données, caractérisé par le
fait que ledit commutateur de données comporte :
- un générateur de mot fictif de données d'image, dit mot de transposition, dont les
bits respectifs sont de même valeur,
- une pluralité de dispositifs correcteurs de données chacun relié d'une part à l'un
des plans mémoire auquel il est affecté, pour recevoir de ce plan mémoire un mot de
données lu et lui délivrer un mot de données modifié, et, d'autre part, au microprocesseur
pilote pour recevoir un signal de commande de mode opératoire,
- et un circuit d'aiguillage couplant ledit générateur de mot de transposition audit
processeur de commande et délivrant, en réponse, sur un bus de sortie relié en commun
auxdits dispositifs correcteurs, un mot dit de masque définissant en position, dans
les mots de données reçus par les différents dispositifs correcteurs des plans mémoire
respectifs, au moins l'un des bits à modifier.
[0011] Selon une autre caractéristique, chacun desdits dipositifs correcteurs de données
comporte des moyens pour réaliser des fonctions logiques d'inversion de valeur binaire,
de forçage à la valeur o, de forçage à la valeur 1, de chacun des bits du mot de données
lu qu'il reçoit du plan mémoire auquel il est affecté.
[0012] D'autres caractéristiques et les avantages de la présente invention apparaîtront
au cours de la description d'un mode de réalisation du contrôleur de visualisation
graphique, selon l'invention, illustré dans la figure unique du dessin ci-annexé.
[0013] Le contrôleur de visualisation graphique illustré assure le couplage entre un microprocesseur
pilote 1 et un dispositif de visualisation graphique 2, à tube cathodique d'affichage
en couleur 20 et générateur de signaux vidéo associé 21, et sa mémcire d'écran constituée,
ici, de quatre plans mémoire distincts 3A, 3B, 3C et 3D. Ces quatre plans mémoire
sont affectés à la mémorisation de l'image définie en plusieurs aspects, par exemple
en trois couleurs différentes et un aspect de clignotement. Chaque plan mémoire contiendra
donc, pour chaque point image, un bit pour commander en tout ou rien chacun des trois
faisceaux du tube trichrome et l'aspect de clignotement de ce point. Chacun de ces
plans mémoire 3A à 3D mémorise avantageusement l'image sous forme de mots à 16 bits
par adresse, les bits définissant des points successifs de cette image pour chaque
aspect d'affichage. Les plans mémoire seront donc reliés au dispositif de visualisation
2 à travers des convertisseurs parallèle-série individuels 4A, 4B, 4C et 4D ; les
sorties de ces convertisseurs alimentent le générateur de signaux vidéo 21.
[0014] Le contrôleur de visualisation graphique comporte, essentiellement, un processeur
de commande 5, un circuit d'interface avec le microprocesseur pilote, représenté simplement
par un bus bidirectionnel de liaison 6 entre le microprocesseur pilote 1 et le processeur
de commande 5, mais comportant également notamment des mémoires, et des circuits d'interface
de sortie, essentiellement 7 à 10, entre le processeur de commande 5 et le dispositif
de visualisation 2 et sa mémoire d'écran 3A à 3D.
[0015] Le processeur de commande gère essentiellement les opérations d'affichage et d'entretien
de l'image mémorisée et les opérations de modification de l'image mémorisée, en fonction
du mode de mémorisation de l'image adopté qui, dans l'exemple choisi, est effectué
sous forme de mots de 16 bits par adresse dans les différents plans mémoire. Un générateur
de signaux d'horloge, non représenté, lui fournit des signaux d'horloge H nécessaires
à la gestion de ces opérations effectuées à partir des adresses de lecture ou d'écriture
dans les plans memoire, relatives aux mots de 16 bits concernés, qu'il élabore. Pour
les modifications de l'image mémorisée, à exécuter en réponse a une commande reçue
du microprocesseur pilote, ce processeur de commande "interprète" la commande reçue,
détermine les points d'image à modifier, et définit pour chaque point d'image à modifier
l'adresse du mot mémorisé le contenant et la position du bit concerné dans ce mot.
Un tel processeur de commande est en tant que tel connu. Il sera par exemple conforme
à celui du contrôleur de visualisation graphique connu sous la référence µ PD 7220
de la firme NEC.
[0016] Les circuits d'interface de sortie comprennent un générateur de synchro vidée 7,
relié par un bus 17 au processeur de commande 5, générant les signaux de commande
de balayage de l'écran du dispositif de visualisation 2 qu'il lui délivre par des
liaisons symbolisées en 27. Ils comprennent, en outre, un générateur de séquence mémoire
8 relié par un bus 18 au processeur de commande 5, générant pour la mémoire d'écran,
ou les quatre plans mémoire qui la constitue, deux cycles opératoires, l'un pour l'affichage
et l'entretien de l'image dit cycle de rafraîchissement d'image et l'autre pour la
modification de l'image dit cycle de modification d'image, et délivrant deux signaux
ALE (Address Latch Enable Output) et DBIN (Display Memory Read Input Flag) pour le
pilotage correspondant de mémoire d'écran. Ce générateur de séquence mémoire 8 est
relié à un circuit logique 18 de commande de la mémoire d'écran qui applique, en conséquence,
aux plans mémoire 3A à 3D, des signaux de lecture R pendant les cycles de rafraîchissement
d'image et des signaux de lecture R puis d'écriture W pendant les cycles de modification
d'image.
[0017] Ces circuits d'interface comportent également un circuit multiplexeur de données
d'image et d'adresses 9 relié au processeur de commande 5 par un bus 19. Ce circuit
multiplexeur 9 est relié par un même bus bidirectionnel 29 d'une part à un circuit
de sortie d'adresses 30 lui-même relié aux entrées d'adressage de chaque plan mémoire
par un autre bus 39 à 8 conducteurs, conformément à la conception habituelle des bus
d'adressage des plans mémcire.et d'autre part à un circuit de commutation de données
1C. Ce circuit multiplexeur 9 permet d'utiliser le même bus 29 en tant que bus de
sortie d'adresses et bus d'entrée ou de sortie de données. Le circuit de sortie d'adresses
30 rend compatible la longueur des adresses à au moins 13 bits nécessaires au stockage
des 2
13 mots chacun de 16 bits définissant l'image mémorisée dans chaque plan mémoire, pour
un affichage de l'image en 256 lignes de balayage chacune à 512 points d'image, avec
la longueur des adresses à 8 bits possibles sur les entrées d'adressage de chaque
plan mémoire. Il délivre chaque mot d'adresse à au moins 13 bits, qu'il reçoit du
bus 29, en deux temps sur le bus 39 et sous forme de deux mots d'adresse successifs.
Ce circuit de sortie d'adresses est commandé par le signal ALE délivré par le générateur
de séquence mémoire 8.
[0018] Ces circuits d'interface de sortie, comportant le générateur de synchro vidéo 7,
le générateur de séquence mémoire 8 et le circuit multiplexeur 9 sont également en
tant que tels déjà connus, ils sont notamment conformes à ceux incorporés dans le
contrôleur de visualisation graphique précité de la firme NEC. Pendant les cycles
de rafraichissement d'image, ces circuits d'interface 7 à 9 assurent la commande de
lecture simultanée des quatre plans mémoire, déclenchée par le signal ALE et transmise
par le signal R aux plans mémoire. Au cours de cette opération de lecture, les quatre
mots de 16 bits par adresse mémorisés sont appliqués par des bus 43A, 43B, 43C et
43D aux convertisseurs série-parallèle correspondants 4A à 4D qui les délivrent, bit
à bit, au dispositif de visualisation 2 en synchronisme avec le balayage de l'écran.
[0019] Le commutateur de données 10 relié au bus bidirectionnel 29 est destiné à assurer
les modifications de l'image mémorisée, à partir de paramètres directeurs définissant
ces modifications délivrés par le microprocesseur pilote 1 et reçus par le processeur
de commande 5.
[0020] Selon la présente invention, ce commutateur de données 10 permet d'intervenir simultanément
sur différents plans mémoire à partir de l'unique processeur de commande 5 de ce contrôleur
de visualisation graphique.
[0021] Le commutateur de données selon l'invention comporte un circuit d'aiguillage 11 connecté
au bus bidirectionnel 29 et présentant un bus d'entrée 22 et un bus de sortie 23 ;
il reçoit par ailleurs le signal DBIK pour sa comrande, lors d'un cycle de modification
d'image mémorisée. Le bus 29 assure la liaison entre le circuit d'aiguillage 11 et
le processeur de commande 5 à travers le circuit multiplexeur 9. Le bus 22 est relié
à un générateur 12 de mot de données d'image fictif appelé ci-après mot de transposition,
de même longueur que celle des mots de données d'image mémorisés par adresse mais
dont les bits sont tous mis, sous la commande du microprocesseur pilote 1, à une même
valeur, par exemple 0, et forcent le bus 22 à cette valeur. Le bus de sortie 23 est
relié à quatre dispositifs correcteurs de données 13A, 13E, 13C et 13D affectés aux
quatre plans mémoire 3A, 3B, 3C et 3D respectivement, auxquels il transmet un mot
de contrôle de modification, dit ci-après mot de masque.
[0022] Chacun de ces dispositifs correcteurs de données présente, outre des entrées de contrôle
reliées au bus 23, des entrées et des sorties de données reliées aux sorties et entrées
de données du plan mémoire auquel ce dispositif correcteur est affecté et des entrées
de commande de mode opératoire reliées au microprocesseur pilote 1. Les bus 43A à
43D assurent la transmission des données des plans mémoire aux dispositifs correcteurs
correspondants. Les bus 24A à 24D assurent la transmission des données de ces dispositifs
correcteurs aux plans mémoire correspondants. Des liaisons 25A, 25B, 25C et 25D, appartenant
à un bus 25 de sortie du microprocesseur pilote 1, assurent la distribution de signaux
de commande émis par le microprocesseur pilote sur les dispositifs correcteurs 13A
à 13D.
[0023] Dans cet agencement, les bus 29, 22, 23, 43A à 43D, 24A à 24D auront une capacité
d'au moins 16 conducteurs, pour les mots à 16 bits qu'ils transmettent, les bus 25
et 39 seront avantageusement de 8 conducteurs.
[0024] Ce circuit d'interface 10 destiné à assurer la modification des mots de données d'image
mémorisés coopère avec le circuit de multiplexage 9 lors de chaque cycle de modification
de données généré par le générateur 8. Dans une première phase d'un cycle de modification
de données, par le bus 29, le circuit de sortie d'adresses 30 reçoit le mot d'adresse
du mot de données d'image à modifier. L'adresse de ce mot délivrée en deux temps sur
le bus 39 permettra la lecture des mots de données d'image correspondants mémorisés
dans les différents plans-mémoire et leur réception dans les dispositifs correcteurs
respectifs 13A à 13D.
[0025] Dans une phase suivante de ce cycle de modification de données d'image mémorisée,
le circuit d'aiguillage 11 assure les connexions appropriées entre les bus 22, 29
et 23. Ce circuit d'aiguillage reçoit le mot de transposition du bus 22, et le transmet
au processeur de commande 5 par le bus 29 et le circuit de multiplexage 9. Il reçoit
en retour par le bus 29, un nouveau mot de même longueur, élaboré en réponse au mot
de transposition reçu et à la position de bit à modifier dont dispose le processeur
de commande, l'aiguille et le délivre sur son bus de sortie 23.
[0026] Lors de ces dernières opérations, au niveau du processeur de commande 5, le mot de
transposition reçu, du fait même de sa composition de bits de même niveau, ne peut
"dénaturer" l'information de position de bit à modifier dont dispose ce processeur.
Il en résulte donc que la fonction de position de bit à modifier se retrouve dans
le nouveau mot résultant élaboré et appliqué, par les bus 29 et 23, à tous les dispositifs
correcteurs de données 13A à 13D qui l'utilisent individuellement comme mot de masque
pour la totalité des bits du mot d'image de données reçu, à l'exception du bit à modifier.
[0027] Au niveau de ces dispositifs correcteurs, la modification, définie simultanément
en position par le mot de masque, est par ailleurs définie individuellement en nature
par les différents signaux de commande qui leur sont transmis du microprocesseur pilote
par le bus 25. En raison de la définition en tout ou rien de chaque point d'image
pour chacun de ses différents aspects, qui a été adoptée, les modifications possibles
du bit désigné dans chaque mot de données d'image seront limitées ; elles consisteront
soit en un forçage à la valeur 1, ou en un forçage à la valeur o, ou en une inversion
de sa valeur. Le signal de commande appliqué, à chacun des quatre dispositifs correcteurs,
par deux des huit liaisons du bus 25 définira donc l'absence de modification ou l'une
de ces modifications possibles pour chacun des mots de données d'image reçu du plan
mémoire concerné. Chaque dispositif correcteur élabore donc le mot de données d'image
résultant à partir du mot de données d'image reçu du plan mémoire auquel il est affecte,
du mot de masque et du signal de commande spécifique qui lui sent appliqués.
[0028] Les dispositifs correcteurs 13A à 13D mettant en oeuvre des fonctions logiques simples,
avec une sélection de l'une de ces fonctions par le signal de commande reçu, sont
de conception évidente pour l'homme de l'art, en conséquence, une structure particulière
de ces dispositifs n'est donc pas donnée ci-après.
[0029] Dans une dernière phase du cycle de modification des données d'image, chacun des
quatre plans mémcire, mis en écriture par le signal W délivré par le générateur de
séquence mémoire 8, reçoit le mot de données d'image disponible sur les sorties de
son dispositif correcteur. Ce mot de données d'image est mémorisé à l'adresse de lecture
des plans mémoire, définie en début de ce cycle de modification de données.
[0030] Grâce au commutateur de données, tout cycle de modification de données perte à la
fois sur les différents plans mémoire de l'image et ceci en n'utilisant qu'un seul
processeur de commande. De la réalisation décrite, on comprend aisément qu'une modification
à effectuer ne portant que sur certains des plans mémoire peut être aisément obtenue
à partir des signaux de commande appliqués aux dispositifs correcteurs et que cette
modification peut également être différente de l'un de ces plans-mémoire à un autre.
[0031] En variante, une modification à effectuer sur l'ensemble des plans mémoire, ou simplement
sur une partie d'entre eux, peut aussi être obtenue par une distribution, à travers
des portes logiques affectées à chacun des plans mémoire et individuellement commandées
en conséquence par le microprocesseur pilote, du signal d'écriture W, à la fin du
cycle de modification de données.
[0032] En outre, on remarquera qu'un autre avantage de la présente invention réside dans
l'adaptation aisée d'un contrôleur de visualisation graphique monochrome en un contrôleur
de visualisation graphique polychrome ou à une pluralité d'aspects d'affichage de
l'image. En effet, dans ce dernier contrôleur, le processeur de commande et ses circuits
d'interface avec le microprocesseur pilote et la mémoire d'écrar, restent inchangés,
exception faite du commutateur de données. Ce commutateur de données lui-même, du
fait de l'application du mot de transposition, qui constitue un mot fictif particulier
de données d'image, utilise avantageusement en tant que circuit d'aiguillage 11 le
circuit de commutation de données d'un contrôleur monochrome ceci bien que, de l'un
à l'autre de ces deux types de contrôleurs, la fonction résultante ( à savoir transfert
sur le ous de sortie du mot modifié pour le circuit de commutation dans un contrôleur
de visualisation monochrome et transfert sur le bus de sortie du mot de masque pour
le circuit d'aiguillage dans le contrôleur selon la présente invention) soit différente.
[0033] La présente invention a été décrite en regard du mode de réalisation illustré dans
le dessin ci-annexé ; il est évident que l'on pourra, sans sortir du cadre de cette
invention, y apporter des modifications de détail et/ou remplacer certains moyens
par d'autres moyens techniquement équivalents. En particulier, le circuit commutateur
de données selon l'invention et le contrôleur de visualisation graphique résultant
se prêtent à l'utilisation d'une mémoire d'image à plans mémoire distincts pour chaque
aspect organisés en mots d'une longeur quelconque, différente de 16 bits, selon les
caractéristiques du processeur de commande. Il peut notamment aussi, par utilisation
de fonctions disponibles dans le processeur de commande pour y définir à la fois les
positions de plusieurs bits à modifier dans un même mot de données d'image, délivrer
un signal de masque traduisant, au niveau des dispositifs correcteurs, les positions
de ces différents bits dans le mot de données d'image que chacun d'eux reçoit.