[0001] La présente invention concerne une carte graphique interface, clavier, souris. Il
existe des cartes interface clavier, des cartes interface souris, des cartes graphiques
qui sont en général toutes reliées aux bus d'un processeur central avec lequel elles
coopèrent pour constituer un microordinateur présentant un certain nombres de fonctionnalités.
Dans ce type de solution le processeur central est occupé non seulement à gérer les
programmes d'exploitation du système mais également à gérer les entrées et sorties
entre les différentes interfaces clavier, souris et graphique pour l'affichage.
[0002] Un premier but de l'invention est également de proposer une carte électronique permettant
de contrôler un écran graphique d'une résolution de 1024 X 768 points et d'interfacer
avec un bus externe à la carte du type ou similaire, ou compatible à un bus de type
VME de façon à pouvoir être branchée sur tout les types d'unités de processeur central
possédant un tel interface.
[0003] Ce premier but est atteint par le fait que la carte graphique et interface entre
un processeur central (1) communiquant de façon asynchrone avec cette carte par un
bus externe et un moniteur vidéo (9) caractérisé en ce qu'elle comprend:
- un ensemble de mémoires-vidéo (45, 46) de capacité au moins égale au nombre de points
d'affichage souhaités sur le moniteur (9),
- au moins un groupe de mémoires vives (43, 44 ou 41, 42) de stockage des logiciels
d'application graphique,
- un circuit (40) contrôleur du système vidéo, gérant les adresses des différentes
mémoires en vue d'effectuer les rafraîchissements des mémoires, de l'affichage vidéo
et les mises à jour des données ou des programmes et délivant les signaux vidéo ;
- un circuit (60) de sérialisation des données délivrées par la mémoire vidéo (45,
46) en cadence avec une horloge vidéo H1 ;
- un processeur graphique (30) cadencé par une horloge (HO) et travaillant en synchronisme
avec le circuit (40) du contrôleur du système vidéo de façon à exécuter les programmes
de logiciel contenus dans le groupe de mémoires vives ;
- un circuit (20 à 22) d'interface entre le bus externe (VME) et les bus de la carte
et un circuit (23 à 27) d'arbitrage entre le processeur graphique (30), le contrôleur
de système vidéo (40) et le bus externe (VME);
[0004] Un deuxième but de l'invention est de proposer une carte graphique, interface, clavier
souris qui permette de décharger l'unité centrale de la gestion de l'affichage et
de la souris, tout en ayant une résolution graphique élevée et en insérant sur la
même carte une interface clavier et un générateur sonore.
[0005] Ce deuxième but est atteint par le fait que la carte comprend en outre : un circuit
d'interface (70) d'entrée-sortie entre une souris (71), un clavier (72) et le processeur
graphique (30) ou le bus externe (VME), ce circuit étant cadencé par une troisième
horloge (H2).
[0006] Un troisième but est de décharger le processeur de la gestion de la souris.
[0007] Ce troisième but est atteint par le fait que le circuit (70) du contrôleur du système
vidéo génère des interruptions dues à une action sur le clavier directement sur le
bus externe (VME) et les interruptions dues à une action sur la souris en direction
du processeur graphique (30).
[0008] Un quatrième but est de proposer une carte graphique qui permette de faire des modifications
de l'affichage graphique soit par l'utilisation du microprocesseur de la carte soit
par un circuit spécialisé dans les modifications de bloc.
[0009] Ce quatrième but est atteint par le fait que la carte comprend un circuit (50) de
transfert de bloc de bit commandé par une logique (51), sélectionné par la ligne d'adresse
de poids le plus élevé (A23), et des circuits logiques (47 à 49) de sélection des
mémoires (41 à 46), la logique (51) assurant le contrôle du séquencement pour transformer
une instruction de lecture-écriture mémoire en une instruction de lecture-modification-écriture
par le circuit (50) et des moyens (31) pour isoler le processeur graphique (31) des
mémoires.
[0010] Un cinquième but de l'invention est de permettre de contrôler le chargement et l'initialisation
du système à partir du processeur central.
[0011] Ce cinquième but est atteint par le fait que la carte comprend un registre de contrôle
(29) permettant, lors de l'initialisation du système, de charger les mémoires de la
carte et de charger les différents registres des différents circuits (50, 30, 40,
70).
[0012] Un dernier but est de s'assurer que lors de la sérialisation des informations à transmettre
au moniteur graphique, le blocage de la sérialisation des données s'effectue à temps.
[0013] Ce dernier but est atteint par le fait que le circuit (60) de sérialisation des données
pour l'affichage vidéo comporte une entrée de chargement (LD) des données à sérialiser
provenant des registres de la mémoire vidéo (45-46), permettant d'invalider le chargement
par le signal d'effacement (BLANK) provenant du circuit (40) du contrôleur du système
vidéo.
[0014] D'autres avantages et caractéristiques de la présente invention apparaîteront plus
clairement à la lecture de la description ci-après faite aux dessins annexés dans
lesquels :
La figure 1 représente une vue schématique des fonctions essentielles de la carte
coopérant avec le bus VME et le processeur central;
La figure 2 représente le schéma électronique des circuits d'entrée de la carte;
La figure 3 représente le schéma du branchement du microprocesseur graphique de la
carte;
La figure 4 représente le schéma électronique du branchement de l'unité de contrôle
du système vidéo et des mémoires associées;
La figure 5 représente le schéma électronique du circuit de transformation des informations
graphiques;
La figure 6 représente le schéma électronique du circuit de sérialisation des données
grahiques à transmettre au moniteur;
La figure 7 représente l'interface clavier, souris de la carte;
La figure 8 représente le schéma électronique des circuits générateurs de sons.
[0015] Sur la figure 1, le processeur central (1) est en communication avec la carte objet
de l'invention par l'intermédiaire d'un bus externe à la carte du type (VME) ou similaire
ou compatible à un bus de type VME constitué d'un bus d'adresse (A) comportant 24
lignes d'adresse, un bus de données (D) comportant 16 lignes de données et un bus
de contrôle (C) comportant les lignes de contrôle. Cette unité centrale (1) fonctionne
avec une horloge travaillant à une cadence différente de celle de la carte interface
graphique, clavier et souris, objet de l'invention. Cette carte interface est reliée
au bus de données du bus externe (VME) par un tampon (20), aux lignes (1 à 20) du
bus d'adresse (A) par un tampon (21), aux lignes (21 à 23) du bus d'adresse et aux
lignes du bus de contrôle par une logique d'arbitrage et de synchronisation (23 à
27). Le tampon (20) est relié par un bus de données vidéo (VBD) comportant 16 lignes
numérotées de 0 à 15, d'une part à un ensemble de mémoires vives (41, 42, 43, 44)
et d'autre part à travers un tampon (31), à un microprocesseur 16 bits (30) commercialisé
par la firme MOTOROLA sous la référence (MC6810). Le bus de données vidéo (VBD) est
également relié à un deuxième ensemble de mémoires vives (45, 46) constituera ce que
l'on appelera par la suite les "VIDEO RAM" qui servent à mémoriser les informations
graphiques bit à bit. Les deux premiers groupes de mémoires (41, 42); (43,44) sont
reliés par un bus adresse mémoire (AM) de 9 lignes, à un circuit (40) contrôleur du
système vidéo commercialisé par la firme TEXAS INSTRUMENT sous la référence "TMS9161".
Le groupe de mémoires vidéo (45, 46) est relié à 8 lignes des 9 lignes du bus (AM).
Le microprocesseur (30) et le contrôleur (40) sont synchronisés entre eux par un signal
d'horloge (SHO) délivré par une horloge commune (HO) fonctionnant à une fréquence
de 10 MHZ. Le contrôleur du système vidéo (40) est relié au bus d'adresse vidéo (VBA)
et au bus donné vidéo (VBD) de la façon décrite ultérieurement en relation avec la
figure 4. Une horloge (H1) délivre d'une part le signal d'horloge à un sérialisateur
(60), d'autre part, ce même signal à un circuit logique (62, 65) dont la sortie (VH1)
est branchée à l'entrée d'horloge vidéo du circuit (40). Ce circuit (40) délivre également
le signal de synchronisation horizontale et verticale nécessaire à l'affichage. Le
signal d'effacement (BLANK) est délivré à une logique de contrôle (61) qui est elle-même
reliée par sa sortie au circuit (60), sérialisateur des informations à afficher. Le
sérialisateur (60) est branché par 16 lignes de données vidéo (VD) au groupe de mémoires
vives vidéo (45, 46), et sérialise les signaux de données pour les délivrer à un moniteur
vidéo (9) chargé de les afficher. La logique d'arbitrage (23 à 27) est reliée d'une
part à l'unité de processeur graphique (30) constituée par le microprocesseur (68010)
et d'autre part au travers d'un registre de contrôle (29) à ce microporcesseur (30).
Un circuit logique de traitements des interruptions (73) est relié d'une part au microprocesseur
(30), d'autre part aux sorties d'un circuit (70) adaptateur d'interface de communication
asynchrone. Sur ce circuit (70) sont branchés en entrée une souris (71) et un clavier
(72). Cet adaptateur (70) est relié par 8 lignes au bus de données (VBD) et par 5
lignes d'adresse au bus d'adresse (VB1) de la carte, et reçoit une horloge H2. Un
circuit générateur de son (80, 82) est également relié à un certain nombre de lignes
bus de données (VBD). Un circuit (50) de transfert de bloc de bits est relié d'une
part par 16 lignes au bus de données (VDB) d'autre part par 3 lignes de commande au
bus d'addresse (VBA) et en fin par des lignes de contrôle à une logique (51) de commande
du circuit de transfert de bloc (50). Cette logique de commande (51) étant sélectionnée
par la ligne 23 du bus d'adresse (VBA), et recevant sur une autre entrée le signal
HO.
[0016] La carte représentée sur la figure 1 comprend donc essentiellement les fonctions
suivantes :
interface avec un bus (VME) standard;
contrôleur vidéo fonctionnant à 10 MHZ;
mémoire vidéo de 1 méga bit;
mémoire RAM de 1 méga octet;
microprocesseur (68010) permettant de décharger le microprocesseur central pour les
fonctions graphiques;
un circuit d'interface série (70) constituée par un circuit commercialisé par la firme
MOSTEK sous la référence (MK68564) fonctionnant en interface série pour une souris
et un clavier;
un générateur de son constitué par un circuit commercialisé par la firme TEXAS INSTRUMENT
sous la référence (SN 76496N);
un circuit de transfert de bloc de bits (50) commercialisé par la firme PACIFIC MOUNTAIN
RESEARCH INC sous la référence (PMR 96016).
[0017] L'ensemble des connexions des différents circuits présentés dans le schéma général
de la figure 1 vont maintenant être décrites en liaison avec les figures 2 à 8. Les
16 lignes du bus de données (VME) (BDO:16) sont reliées au bus de données interne
de la carte (VBDO:16) par un tampon (20) directionnel validé en entrée vers la carte
par un signal (ENAVME/) de validation du bus externe VME et validé en sor tie vers
le bus externe (VME) par un signal (VCBWR). La notation (ENAVME/) si gnifie que ce
signal est l'inverse du signal (ENAVME) et il en est de même pour les autres signaux
de la description. 24 lignes du bus d'adresse (VME) seize (BAO1:16) sont envoyées
sur un tampon unidirectionnel (21) dont la sortie est branchée sur le bus d'adresse
vidéo de 16 bits (VBA01:16). Ce circuit (21) unidirectionel est validé en entrée par
le signal (ENAVME/). Les 4 lignes suivantes du bus d'adresse (VME) (BA17:4) sont reliées,
par un tampon (22) unidirectionnel fonctionnant en entrée vers la carte, aux lignes
(VBAM17:4) qui assure à travers le circuit contrôleur vidéo (40) la sélection des
groupes de mémoires. L'entrée des adresses en direction du circuit contrôleur vidéo
est validée par le signal (ENAVME/). Les 3 dernières lignes du bus d'adresse (VME)
(BA21:3) ainsi que la ligne (IACK/, acquittement d'interruption) du bus de contrôle
(VME) et la ligne (BAS/, validation des adresses du bus) de ce bus de contrôle (C)
sont reliées aux entrées (1, 2, 3) d'un réseau (23) logique programmable (PAL). Ce
circuit (23) reçoit également en entrée les signaux (MPUBGT/, CSREG/, ENAVME/, VSCALE/,
VCBWR/, DTA1/, DTA2/,) dont nous verrons la signification ultérieurement. Ce circuit
(23) délivre en sortie un signal (MPUBRQ/), indiquant une requête du bus de la part
du processeur central (1), ce signal étant envoyé à l'entrée (BR) (bus request, demande
de bus) du microprocesseur (68010) représenté par le circuit (30) de la figure 3.
Les signaux de sortie (BGA/) (bus accordé) (VCBAS/) (validation des adresses du bus)
(ENADS/) (validation des données) et (ENDTA2/) sont synchronisées par un circuit (24)
constitué par un ensemble de bascules recevant un même signal d'horloge (SCLOCK/)
provenant de la sortie (2810) du circuit d'horloge (28). Le réseau logique programmable
(23) reçoit également en entrée le signal (MPUDTAC/) généré par la sortie d'un circuit
tampon 3 états (268) de la figure 2B. Un circuit tampon (25) de mémorisation en entrée
des signaux de contrôle du bus de contrôle externe (VME) reçoit sur ses entrées les
lignes (BDS0, BDS1/) et (WRITE/) et délivre lors de la validation par le signal (ENAVME/)
les signaux de contrôle de la carte (VCBDS0/, VCBDS1/) qui servent respectivement
à distinguer les poids forts et les poids faibles des données et le signal (VCBWR/)
qui est envoyé sur un inverseur (251) pour générer le signal (VCBWR) validant une
sortie des données en direction du bus externe (VME). Une quatrième entrée (254) du
tampon (25) reçoit le signal (VMEDTAC/) et délivre en sortie un signal (BDTACK) au
bus de contrôle (VME) ce signal indiquant un acquittement des données. Les signaux
(SYSRESET/) en provenance du bus de contrôle (VME) est envoyé sur deux inverseurs
(255, 256) montés en série. La sortie de l'inverseur (256) génère le signal (RESET/),
qui est le signal de réinitialisation du système. Un tampon (257) dont la sortie est
branchée sur la ligne (BIRQ/) du bus (VME), transmet les requêtes d'interruption fournies
par le signal (INTRQ/), signal livré par la sortie (IT/) de l'interface serie d'entrée-sortie
(70 fig. 7). Les sorties (VCBDSO/) et (VCBDS1/) du tampon (25) sont envoyées sur deux
portes OU à deux entrées respectivement (258, 259) dont une des deux entrées est fournie
par la sortie (Q3) du registre (24) dont l'entrée (I3) reçoit le signal de validation
des données (ENADS/). La sortie de la porte OU (258) délivre le signal de validation
des adresses basses (VCBCEL/), qui est envoyé d'une part sur l'entrée (CEL) du circuit
(40) constitué par le contrôleur du système vidéo et d'autre part sur une entrée d'une
porte OU (261) à deux entrées. La sortie de la porte OU (259), délivrant le signal
de validation des adresses hautes (VCBCEH/), est envoyée sur l'entrée (CEH) du circuit
(40). Les lignes d'adresse (VBAM17 à 20) sont reliées à une porte NON-ET (260) à quatre
entrées dont la sortie est elle-même reliée à la deuxième entrée de la porte OU (261).
La sortie de la porte ET (260) est également reliée à un inverseur (262) qui délivre
en sortie le signal (CSVSC/), signal de sélection du contrôleur du système vidéo (40).
Ce signal (CSVSC/) est envoyé sur l'entrée de sélection du circuit (CS/), du circuit
(40) constituant le contrôleur du système vidéo. La sortie du circuit OU (261) délivre
le signal (CSREG/) signal de sélection des registres, qui est envoyé à l'entrée d'invalidation
d'un décodeur (263). Ce décodeur (263) reçoit sur ses deux entrées (A1, AO) respectivement
les lignes (VBAM16) et (VBAM15). La sortie (Q0) de ce décodeur (263) délivre le signal
(CSMAR/), signal de sélection du registre de contrôle (29). La sortie (Q1) de ce décodeur
(263) délivre le signal (2631) qui est transmis à l'entrée de l'inverseur (264 Fig.
2B), dont la sortie est reliée à une entrée d'une porte NON-ET (265) à deux entrées,
dont la deuxième entrée reçoit le signal (VCBWR) fourni par le bus (VME). Cette porte
NON-ET (265) délivre un signal (CSBLT/) qui est le signal de sélection du circuit
de transfert de bloc de bits (50 Fig.5). La sortie (Q2) de ce décodeur (263) délivre
le signal (CSON/) qui est le signal de sélection du circuit générateur de son (80
Fig.8). La sortie (Q3) du décodeur (263) délivre le signal (CSSIO/) qui est le signal
de sélection du circuit d'interface série entrée-sortie (70 Fig.7). L'activation des
signaux (CSMAR/, CSBLT/, CSSON/, CSSIO/), de sélection des boitiers respectifs (29,
50, 80, 70) est donnée par le tableau ci-après.

[0018] La sortie (CSREG/) du circuit OU (261) est également relié à une porte OU (266) à
deux entrées dont la deuxième entrée reçoit le signal (VBAM16). La sortie de ce circuit
OU (266) est branchée à l'entrée (NS) (mise à 1 d'une bascule (267) dont l'entrée
d'horloge (H) reçoit le signal (SNDTAC/) provenant du circuit (80) du générateur de
son et l'entrée de remise à zéro (NR) reçoit le signal (VCBAS) de validation des adresses
du bus provenant du circuit (23). La sortie (Q/) de cette bascule (267) est envoyée
sur l'entrée de validation d'un tampon 3 états (268) dont l'entrée reçoit un niveau
logique 0 et la sortie fournit le signal (MPUDTAC/) signal d'acquittement des données
pour le microprocesseur (1) et pour le circuit d'interface série entrée-sortie (70).
Ce signal (MPUDTAC/) est envoyé d'une part sur l'entrée (DK) de l'interface série
entrée-sortie (70) d'autre part sur une entrée d'une porte OU (36) à deux entrées,
dont la deuxième entrée reçoit le signal (ENADTA), signal qui provient (à compléter).
La sortie de la porte OU (36) délivre un signal à l'entrée (DK) du microprocesseur
(30) signal d'acquittement des données pour le microprocesseur. Le signal (VCBAS/)
du circuit (23) est envoyé à l'entrée de l'inverseur (340) dont la sortie délivre
le signal (VCBAS) à l'entrée de chargement (PL) d'un compteur (34) dont l'entrée d'horloge
(CP) reçoit le signal (E) délivré par la sortie (E) du microprocesseur (30). Cette
sortie (E) délivre un signal de validation dont la période d'horloge est égale à 10
périodes d'horloge d'entrée du microprocesseur. La sortie (TC) de ce compteur (34)
délivre le signal (BERR/) à l'entrée (BERR) du microprocesseur (30), cette entrée
informant le processeur qu'un problème est survenu dans le cycle en cours d'exécution.
Ce signal (BERR/) (erreur bus) permet d'interdire l'accès en lecture sur le registre
de contrôle (29), le circuit de transfert de bloc de bits (50) et le générateur de
son (80). En effet, lorsqu'on essaie de faire une lecture de l'un de ces registres
le signal (CSREG/) est actif et le signal (VCBAS/) est également actif. Ce signal
(VCBAS) remet à 0 la bascule (267) et par conséquent empêche la génération du signal
(MPUDTAC) qui est le signal d'accusé de réception des données pour le microprocesseur.
Ce signal (MPUDTAC) n'étant pas généré l'entrée (DK) du microprocesseur (30) ne reçoit
pas le signal d'accusé de réception et par conséquent au bout de dix périodes le signal
(E) est généré par le microprocesseur (30) et va générer au travers du compteur (34)
validé par le signal (VCBAS), le signal (BERR/) indiquant au microprocesseur (30)
indiquant une erreur.
[0019] La sortie (CSMAR/) du décodeur (263) est envoyée sur l'entrée d'un inverseur (291)
dont la sortie est branchée à une entrée d'une porte NON-ET (290). La deuxième entrée
de la porte NON-ET (290) reçoit le signal (VCBWR) qui provient de la sortie de l'inverseur
(251 Fig.2A). La sortie de la porte NON-ET (290 Fig.2B) délivre le signal (WRMAR/)
signal d'écriture du registre de contrôle (29) constitué par un ensemble de huit bascules
adressables sélectivement. Le signal (WRMAR/) est envoyé sur l'entrée de validation
de l'ensemble des huit bascules (29). L'entrée (NR/) de remise à "0" des bascules
du circuit (29) reçoit le signal (RESET/) provenant de la sortie de l'inverseur (256
fig.2A). Les entrées (A0 à A3) d'adressage sélectif des bascules du circuit (29) recoivent
les lignes d'adresse (VBAO1 à 03). Ces lignes d'adresse permettent de sélectionner
individuellement chacune des bascules (Q0 à Q7). La valeur fournie par la septième
ligne (7) du bus de données (VBDO7) permet de positionner à 0 ou à 1 la sortie de
la bascule sélectionnée. Pour rendre l'une des bascules active il faut rendre actif
le signal (CSMAR/) de sélection du registre (29). Pour ceci il faut que les lignes
d'adresse (VBAM17 à 20) soient au niveau 1 et que les lignes d'adresse (15 et 16)
(VBAM15, 16) soient au niveau "0". Ceci correspond à une adresse (7EOOOX) en valeur
hexadécimale, X représentant les valeurs que l'on peut coder par les lignes du bus
d'adresse (BVA01 à 03). Les fonctions des bascules et les signaux délivrés par les
sorties de ces dernières sont données par le tableau suivant :

[0020] Le signal (MPUHLT/) délivré par la sortie (Q2) de la troisième bascule du registre
(29) est envoyé sur l'entrée de validation (I) d'un tampon (35) dont l'entrée des
données (IO) recoit un "0" logique et la sortie (5) transmet le signal (HT) à l'entrée
(HT) du microprocesseur (30). Ce signal (MPUHLT) permet d'arrêter le processeur à
la fin du cycle bus en cours.
[0021] A la figure 3 on a représenté le microprocesseur graphique (30) qui travaille avec
un signal (SCLOCK) de 10 Méga Hertz fournit par une horloge (H0) fonctionnant à 20
méga Hertz reliée à l'entrée d'horloge d'une bascule (281) dont la sortie (Q) délivre
le signal (SCLOCK) à la fréquence de 10 Méga Hertz. La sortie (SCLK) de l'oscillateur
(HO) de 20 Méga Hertz est également envoyée sur l'entrée d'horloge d'une deuxième
bascule (282) dont l'entrée de validation (D) reçoit le signal (BGACK/) d'acquittement
de l'attribution du bus et la sortie (Q) délivre le signal (ENAVME/) signal de validation
du bus externe (VME) permettant de valider en entrée les tampons (20, 21, 22, 25)
de la carte graphique. Les 16 entrées-sorties de données (D0 à DF) du processeur graphique
(30) sont découplées, par un tampon bidirectionnel (31) du bus de données (VBD0:16)
de la carte graphique. Ce tampon (31) a pour but d'isoler le processeur graphique
(30) du bus de données de la carte pour les opérations de transfert de bloc lors de
l'utilisation du circuit (50) comme on le verra par la suite. Pour ce faire, la sortie
(AN) correspondant aux bits d'adresse (VA23) du processeur graphique (30) est envoyé
sur l'entrée (CD) de blocage du tampon (31). L'activation de cette ligne (VA23) provoque
le blocage du tampon (31) et l'isolation du bus de données de la carte graphique (VBDO:16)
des 16 lignes d'entrée du processeur graphique (D0 à DF). Les 20 entrées-sorties d'adresse
(A1-AK) sont reliées d'une part au bus d'adresse interne à la carte (VBA01 : 16) provenant
du tampon (21) et d'autre part au bus d'adresse mémoire de la carte (VBAM17 : 4).
Les sorties (US, LS) correspondant à la validation de la donnée supérieure, respectivement
inférieure, sont reliées respectivement aux tampons (252, 251) pour délivrer les signaux
respectifs (VCDBS1/, VCDBS0/). La sortie (AS) de validation d'adresse est reliée à
la sortie du circuit (23) délivrant le signal (VCBAS/). La sortie (WR) (lecture, écriture)
est reliée à la sortie du tampon (253) délivrant le signal (VCBWR). Ce signal (VCBWR)
indique une écriture ou une lecture. L'entrée (BR) du circuit (30) indiquant une demande
de bus reçoit le signal (MPUBRQ/) provenant du circuit (23) et indiquant au microprocesseur
(30) une requête de bus de la part du bus externe (VME) et de l'unité centra le 1
(CPU). La sortie (BG) indique au circuit demandeur (23) que le microprocesseur (30)
a pris en compte sa demande présentée sur l'entrée (BR) et signale qu'il cédera les
bus à la fin du cycle bus en cours. Cette sortie est envoyée sur l'entrée (MPUBGT/)
du circuit (23). Les sorties (CO, C1, C2) du microprocesseur (30) indique l'état du
processeur à savoir s'il est en mode utilisateur, en mode superviseur ou en reconnaissance
d'interruption. Ces sorties sont envoyées sur une porte NON-ET (32) à quatre entrées
dont la quatrième entrée reçoit le signal (VCBAS) fournie par la sortie de l'inverseur
(340). La sortie de cette porte NON-ET (32) est envoyée sur l'entrée (PA) du processeur
(30) et constitue le signal (MPUVPA/). Ce signal (MPUVPA/) adresse périphérique valide
indique au microprocesseur que le transfert des données sera synchronisé sur le signal
(E) car un périphérique désire converser avec le processeur de manière synchrone.
Cette entrée indique également que le processeur sera en mode autovectorisé en cas
d'interruption. C'est le cas lorsque le processeur (30) reçoit une requête d'interruption
du circuit contrôleur vidéo système (40) ou une interruption provenant de la souris
(71) ou bien une interruption provenant du registre de contrôle (29) délivré par la
sortie (Q4) de ce registre et provoqué par le CPU(1) au travers du bus externe (VME).
Dans ce cas, les sorties (C0, C1, C2) sont au niveau "1" et le signal (VCBAS) est
également au niveau "1", ce qui rend actif le signal (MPUVPA/) qui fait passer le
processeur en mode autovectorisé. Dans ce mode autovectorisé le numéro de vecteur
d'interruption est généré de manière interne en fonction du niveau. Les niveaux d'interruption
sont déterminés par les entrées d'interruption (LO, L1, L2), l'entrée (L0) correspond
au niveau 1 et reçoit le signal (VSCINT) qui représente les interruptions générées
par le contrôleur vidéo (40). L'entrée (L1) correspond aux interruptions de niveau
2 et reçoit le signal provenant de la sortie (Q/) d'une bascule (73) indiquant une
interruption provenant du deuxième canal (B) de la ligne série du circuit (70), ce
canal (B) correspondant à la souris. L'entrée (L2) correspond au niveau 4 et reçoit
le signal (MPUINT/) provenant de la sortie (Q4) du registre (29), ce signal indiquant
une interruption générée par le registre de contrôle de la carte, cette interruption
étant activée dans le bus (VME). Par conséquent, il n'y a pas d'encodeur de priorité
sur les interruptions et la présence d'une interruption de niveau 2 et 4 en même temps
correspond à une interruption de niveau 6. La suppression de l'encodeur permet donc
de gagner de la place sur la carte de façon à pouvoir disposer toutes les fonctions
que l'on souhaite mettre sur cette carte.
[0022] Les liaisons du contrôleur vidéo (40) avec les groupes de mémoires (41 à 46), la
logique d'arbitrage et le processseur graphique (30) vont être maintenant décrites
en liaison avec la figure 4. Le circuit contrôleur du système vidéo (40) reçoit sur
son entrée d'horloge (CLK) le signal d'horloge (SCLOCK) provenant de la sortie (Q)
de la bascule (281) et délivrant un signal synchrone du signal d'horloge du processeur
graphique (30). Les sorties (BLANK, HSYNC, VSYNC) délivrent respectivement les signaux
d'effacement, de synchronisation horizontale, et de synchronisation verticale au moniteur
vidéo. Les entrées (CAO à 7) sont reliées aux lignes d'adresse (01 à 08) du bus d'adresse
(VBAO1 : 8). La neuvième entrée d'adresse (CA8) reçoit le signal (VBAM 18) provenant
de la sortie du tampon (22). Ces huit entrées (CA01 à 8) sont multiplexées sur les
sorties des adresses mémoire (MAO à MA8) pendant les intervalles d'adresse colonne.
Les entrées (RAO à RA8) recoivent les lignes (VBA9 à VBA17) du bus d'adresse interne
de la carte. Ces neuf entrées d'adresse sont multiplexées vers les sorties (MAO à
MA8) pendant les intervalles d'adresse ligne. Les entrées (RS0 et RS1) du boitier
servant à déterminer lequel des 4 signaux de validation d'adresse ligne, fournis par
les sorties (RAS0 à RAS3) du circuit (40) sont actifs. Ces entrées (RS0, RS1) recoivent
respectivement les lignes d'adresse (VBAM19 et VBAM20). L'entrée (CEL) de validation
des adresses colonnes basses recoit le signal (VCBCEL) provenant de la sortie de la
porte OU (258). L'entrée (CEH) de validation des adresses colonnes hautes recoit la
sortie de la porte OU (259) constituant le signal (VCBCEH). L'entrée (R/W) recoit
le signal (VCBWR/) provenant de la sortie du tampon (253). L'entrée (ALE) de validation
du verrouillage d'adresses, utilisée pour initialiser le cycle de contrôleur spécifié
par les valeurs présentes aux entrées (CS, RA0 à 8, CA0 à 8, RS1, RS0 et FS0 à FS2),
recoit le signal (VSCALE/) provenant de la sortie du registre (242). Les fronts actifs
de ce signal sont synchrones mais décalés d'une demi période par rapport aux fronts
actifs du signal d'horloge (SCLOCK) du contrôleur vidéo (30). Les entrées de données
(D0 à D7) du contrôleur vidéo (40) sont reliées au bus de données (VBD0 : 8). Ces
entrées servent exclusivement à charger les registres internes du contrôleur vidéo
lors d'une initialisation de la carte. La sortie (RDY) du circuit (40) est reliée
à la sortie (MPUDTAC) du tampon (268) et à l'entrée de la porte OU (36) pour indiquer
un accusé de réception des données au processeur (30) puisque celui-ci a requis un
cycle mémoire. Cette sortie (RDY) est également reliée à l'entrée (DK) de l'interface
série d'entrée sortie (70) et a une entrée (4) du circuit (23) ainsi qu'à l'entrée
du registre (244) du circuit (24). L'entrée (HOLDACK) du circuit (40) étant au niveau
logique "1" indique que le signal (RDY) est actif au niveau bas. La sortie (INT/)
indiquant des requêtes d'interruption est reliée à l'entrée (LO) du processeur (30)
correspondant aux interruptions de niveau 1. Cette entrée (LO) et l'entrée (L2) sont
reliées chacunes par une résistance R à une tension de référence +5 volts, ce montage
ayant pour but de garantir le niveau logique haut comme état de repos. L'entrée (RESET)
du circuit (40) est reliée à la sortie de l'inverseur (256) de la figure 2A. L'entrée
(VIDCLK) du circuit (40) reçoit le signal (SVIDCLK) provenant de la sortie du circuit
(65) de la figure 6. Cette entrée permet de fournir le signal d'horloge vidéo qui
est responsable de la génération de la synchronisation pour les signaux de synchronisation
et d'effacement et également des logiques de génération des requêtes internes de rafraichissement
de l'affichage et des mémoires vives. Les sorties (CASLO et CASH1) du circuit (40)
permettent de sélectionner dans un groupe de mémoire les bits qui correspondent aux
poids forts ou aux poids faibles, c'està-àdire les données de 0 à 8 ou de 8 à 16.
La sortie (CASLO) est reliée à une entrée d'une porte OU (48) dont une deuxième entrée
reçoit le signal (ENACAS/), délivré par une sortie (510) d'un circuit logique programmable
(51) figure 5A de commande du circuit de transfert de bloc de bits (50). La sortie
de la porte OU (48) est reliée à chacune des entrées (CS) de sélection des boitiers
de mémoire correspondant aux boitiers des bits de poids faibles de chaque groupe de
mémoire. La sortie (CASH1) est reliée à une entrée d'une porte OU (49) dont une deuxième
entrée reçoit également le signal (ENACAS/). La sortie de la porte OU (49) est reliée
à chacune des entrées (CS) de sélection des boitiers mémoires correspondant aux bits
de poids élevés dans chaque groupe de mémoire. Ainsi la sortie de la porte OU (49)
est reliée aux entrées (CS) des boitiers de mémoires (42, 44 et 46). Tandis que la
sortie (48) est reliée aux mémoires (41, 43, 45). La sortie (RAS0) du boitier (40)
permet de sélectionner le premier groupe de mémoires constitué par les boitiers (41
et 42). La sortie (RAS1) permet de sélectionner le deuxième ensemble de mémoires constitué
par les boitiers (43, 44). La sortie (RAS2) permet de sélectionner le troisième groupe
de mémoires constitué par les mémoires vives vidéo (45, 46). Chaque mémoire reçoit
sur son entrée (W) le signal issu d'une porte OU (47) dont une première entrée reçoit
la sortie (W/) du boitier (40) et la deuxième entrée le signal (ENAWR/) provenant
de la sortie (511) du circuit logique (51) commandant le circuit (50) de transfert
de blocs de bit. Les neuf sorties (MAO à MA8) du boitier (40) sont reliés à chacune
des neuf ou huit lignes d'entrée des boitiers de mémoire. La sortie (TRQE) du circuit
(40) est reliée aux entrées de même nom des groupes (45, 46) des mémoires vives vidéo.
Cette sortie (TRQE) délivre les signaux de transfert des registres et de validation
des sorties qui permettent de commander directement les tampons de sortie de ces mémoires
vives vidéo. Les mémoires sont organisées en deux groupes de 256 KMOTS de 16 bits
chacun. Chaque groupe est constitué de 16 boitiers de mémoires dynamiques de 256 Kbits
montés sur deux barettes (41, 42) de huit boitiers chacune pour le premier groupe
et sur deux autres barettes (43, 44) de huit boitiers chacune pour le deuxième groupe
de mémoires vives. Les mémoires vidéo (45, 46) forment un troisième groupe qui se
compose de 16 boitiers mémoires à double accès de 64 Kbits commercialisé par TEXAS
INSTRUMENTS sous la référence "TMS4161" et montés sur quatre barettes (45, 46) de
quatre boitiers. Les adresses (VBAM17 et VBAM18) sont connectées respectivement sur
les entrées (RA8, et CA8) du contrôleur vidéo système (40) pour avoir un espace d'adresse
continu avec les différentes organisations de mémoire, suivant que l'on a à faire
au premier et deuxième groupe de mémoires vives (41, 42, 43, 44) ou au groupe de mémoires
vidéo (45, 46) de 64 K-Bits. Dans ce cas (CA8) et (RA8) ne sont pas pris en compte
par les mémoires (45, 46) de ce groupe car elles n'ont que 16 Bits d'adresse (CA0
à CA7) et (RA0 à (RA7). La sélection d'un groupe de mémoires parmi les trois se fait
avec les lignes d'adresse (VBAM19 et VBAM20) suivant le tableau ci-après qui donne
l'organisation de l'espace d'adresse de la carte vue par le bus (VME).

[0023] Les mémoires vidéo (45 et 46) comportent comme on peut le voir sur la figure 4 deux
types de sorties, un premier ensemble de sorties (VDBO :8 ) et (VBD08 :8) reliée au
bus interne de la carte (VBD0 : 16) et un deuxième ensemble de sorties constitué par
des registres à décalage de 250 Bits utilisés pour transférer le contenu de la mémoire
vers le sérialisateur vidéo (60) figure 6. Ces sorties sont notées (VD OO : 8) et
(VDO8 :8) et sont reliées aux entrées (D0 à D15) du sérialisateur (60). Le séquencement
est contrôlé par la sortie (TRQE)du circuit (40) et l'entrée d'horloge (SHCLK) provenant
de la sortie du circuit (66). Le contrôleur vidéo (40) possède trois entrées (FS0,
FS1, FS2) qui permettent d'identifier et de fixer les modes d'accès mémoire, qui peuvent
être directs et également les accès des registres internes du circuit (40). L'entrée
(FS2) est en permanence cablée à un niveau logique "0" et les autres entrées (FS1,
FS0) recoivent respectivement les sorties (Q1 et Q2) d'un décodeur (48) qui génère
les signaux (VSCFS1 et VSCFS0) en fonction des bits d'adresse (17, 18). Les entrées
(A0 et A1) du décodeur (480) sont respectivement reliées aux lignes (VBAM17 et VBAM18).
L'entrée de validation du décodeur (480) est reliée à la sortie d'une porte NON-ET
(470) qui reçoit sur ses deux entrées les lignes (VBAM19 et VBAM20). Le tableau ci-après
donne les valeurs présentes aux entrées (FS0 et FS1) en fonction des valeurs sur les
lignes d'adresse (VBAM) c'est-à-dire des adresses héxadécimales envoyées sur le bus
(VME). En fonction des valeurs (FS0 et FS1) on obtient soit des accès directs du processeur
graphique (30) sur les mémoires ou les mémoires vidéo soit des accès indirects, soit
des accès registres. Le tableau ci-après schématise le fonctionnement du décodage
et du circuit vidéo (40).

[0024] Le contrôleur vidéo (40) remplit essentiellement quatre fonctions sur la carte:
1o) Accès en lecture ecriture du Méga-Octet de mémoires vives et du Méga-Bits de mémoires
vidéo;
2o) Génération de cycles de refraichissement pour ces mémoires. Le contrôleur vidéo
est programmé pour générer ses cycles de rafraichissement dans chaque retour de ligne
vidéo.
3o) Génération de cycles de rafraichissement pour l'écran graphique par transfert du
contenu de la mémoire vidéo vers le sérialisateur vidéo par les sorties (VD) des registres
à décalage des mémoires (45, 46).
4o) Génération des signaux de synchronisation horizontale et verticale et d'effacement
pour l'interface vidéo.
[0025] Le circuit (50) de transfert de blocs de bits et le circuit (51) de commande et de
contrôle de ce circuit vont être maintenant décrits en liaison avec la figure 5A.
Le circuit (51) de commande et de contrôle constitué par un réseau logique et programmable
qui reçoit sur son entrée d'horloge le signal de sortie d'un inverseur (513) dont
l'entrée reçoit le signal (SCLK) provenant de la sortie de l'horloge (H0). Ce réseau
logique programmable (51) synchronisé sur l'horloge (H0) reçoit sur une première entrée
le signal (BGACK/) d'accusé de réception de la mise à disposition du bus, sur une
deuxième entrée le signal (VCBAS/) indiquant la validation des adresses du bus, sur
une troisième entrée le signal (VA23) provenant du processeur (30), sur une quatrième
entrée le signal (VCBWR) provenant de la sortie de l'inverseur (251) figure 2.A. Sur
une cinquième entrée le signal (DTA1/) provenant de la sortie du cinquième registre
du circuit (24) de la figure 2.A. Sur la sixième entrée le signal (MPUDTAC/) provenant
de la sortie du tampon (268). La sortie (514) délivrant le signal (LDSCR/) indiquant
le chargement de l'adresse source est envoyée sur l'entrée (LDSRC/) (500) du circuit
(50). La sortie (515) délivrant le signal (LDDEST/) indiquant le chargement de l'adresse
destinataire est délivrée à l'entrée (LDDEST/) (501) du circuit (50). La sortie (516)
délivrant le signal (BLTOE/) est envoyée sur l'entrée (OE/) (502) entrée de validation
des sorties de blocs. Le circuit (50) reçoit sur ses entrées (A1 à A3) les signaux
(VBAO1:3) et sur ses entrées (DO à D15) les seize lignes du bus de données (VBD 0
:16). Les entrées (A1 à A3) du circuit (50) permettent de sélectionner les registres
internes de ce circuit et les entrées de données (DO à D15) permettent de travailler
sur les données mémoires adressées par le processeur (30). Le circuit (50) reçoit
sur son entrée (503) (CS/) de sélection du circuit le signal (CSBLT/) provenant de
la sortie de la porte (265) figure 2A.
[0026] Ce circuit de transfert permet de modifier les données générées en écriture par le
processeur (30) et par l'usage de logiciels adaptés permet d'accélérer les opérations
de copies d'écran. Pour ce faire ces circuits chargent les données indiquées par une
adresse source les transforment suivant des règles établies et envoient ces données
à une adresse destinataire dans la mémoire vidéo. Ce circuit (50) comporte un certain
nombre de registres qui peuvent être initialisés par des accès à des adresses déterminées
de façon à opérer certaines transformations telles qu'une rotation ou une inversion
vidéo ou d'autres fonctions plus complexes, suivant la programmation des registres
du circuit (50). Les adresses d'accès à ces registres, vues du bus (VME) sont comprises
entre les valeurs (7E1000 et 7E800E) en héxadécimal ou entre les valeurs (1E8000 et
1E800E) en héxadécimal pour le processeur graphique de la carte. Les différents registres
du circuit de transfert de blocs de bits (50) sont adressés suivant le tableau ci-après:

[0027] Une fois les registres adressés on les initialise avec les valeurs souhaitées pour
faire fonctionner le circuit (50) de la façon souhaitée avec les valeurs adéquates
de données provenant du bus de données (VBD). Une fois le registre initialisé, le
processeur graphique (30) de la carte peut accéder à la mémoire vidéo (45, 46) avec
la fonction de transfert de blocs de bits. A partir de ce moment là chaque cycle de
transfert de blocs de bits se compose de quatre phases:
1o) Lecture des données de l'adresse source;
2o) Lecture des données de l'adresse de destination;
3o) Modifications des données de la destination;
4o) Ecriture à l'adresse à destination;
Pour valider la fonction de transfert de blocs de bits le processeur (30) exécute
une instruction du type "MOVE SOURCE DESTINATION" qui est une instruction de déplacement
du contenu de l'adresse spécifiée par SOURCE vers l'adresse spécifiée par DESTINATION.
Cette fonction est exécutée par le processeur (30) en même temps que l'instruction
"MOVE", en positionnant le bit d'adresse (VA23) à la valeur 1, les poids faibles contenant
l'adresse des mots mémoire sélectionnés. Ceci revient à dire que dans le cas de l'utilisation
de la fonction transfert de blocs on travaille sur la zone d'adresse vue du bus externe
(VME) comprise entre et 16 Méga bits alors que sans la fonction de blocs de transfert
on travaille sur la zone d'adresse comprise entre 0 et 8 Méga bits. Cette instruction
"MOVE SOURCE DESTINATION" comprend une lecture du contenu de l'adresse spécifié par
SOURCE puis une écriture de ce contenu à l'adresse spécifié par DESTINATION. Avec
la fonction transfert de blocs de bits cette instruction est modifiée pour fonctionner
de la façon équivalente à une instruction lecture modification écriture. Cette transformation
va maintenant va être explicitée en liaison avec la figure 5B qui est une représentation
des diagrammes temporels des différents signaux intervenant dans un transfert de blocs
de bits.
[0028] La première phase du cycle de transfert de blocs constituée par une lecture source
se présente comme un cycle normal de lecture mémoire pour le processeur (30) à part
que le signal (LDSRC/) est activé par le réseau logique programmable (51) suite à
la présence des signaux (VA 23) et (VCBAS/). Le signal (LDSRC/) actif charge les données
source dans le circuit (50) quand les données lues sont stabilisées sur le bus de
données internes (VBD). Pendant les phases suivantes le processeur (30) écrit à l'adresse
de destination. Dans cette phase, le tampon de données (31) reste à l'état haute impédance
suite à l'activation du signal (VA23) sur l'entrée d'invalidation de ce tampon (31).
Le réseau logique programmable (50) met au niveau "1" la sortie (511) représentant
le signal (ENAWR/), signal d'invalidation de l'écriture dans les mémoires. Ce signal
(ENAWR/) rend inactif par l'intermédiaire de la porte (47) le signal (RAMWR/). De
cette façon, le cycle d'écriture du processeur (30) est transformé en cycle lecture
mémoire pour la deuxième phase du cycle de transfert de blocs de bits. La stabilisation
des données est signalée par l'activation du signal (MPUDTAC/) par le circuit (40)
et ce signal envoyé sur une entrée du circuit (51) génère le signal (LDDEST/) qui
charge les données destination dans le circuit (50) du transfert de blocs de bits.
La deuxième phase correspond à la flèche 2 dans le diagramme de la figure 5.B. Après
l'activation du signal (MPUDTAC/)le signal (DTA1/) devient actif au deuxième front
d'horloge descendant suivant cette activation. Ceci correspond aux schémas de cablage
du registre (244). Suite à l'activation du signal (DTA1), ce signal envoyé à l'entrée
du registre (51) provoque la désactivation du signal (LDDEST/) (flèche 5 figure 5B)
et le front d'horloge montant qui suit cette désactivation provoque la mise au niveau
1 du signal (ENACAS/). Ce signal (ENACAS/) envoyé sur les entrées des portes (48,
49) de la figure 4, provoque le blocage des signaux de validation d'adresse colonne
(RAMCAS0/, RAMCAS1/). Cette troisième phase indiquée par la flèche 3 sur la figure
5.B termine le cycle de lecture sur la mémoire et on entre dans le cycle d'écriture
des données, modifié par le circuit (50), qui est constitué par la phase 4. Après
la phase 3 au front d'horloge descendant suivant cette phase le circuit (51) active
le signal (BLTOE/) et désactive le signal (ENAWR/) de façon à valider le signal d'écriture
(RAMWR/). Pendant ce temps le circuit (50) exécute les fonctions programmées à l'avance
sur les données destination. Quand les données destination modifiées sont stabilisées
sur le bus, c'est-à-dire sur le front montant d'horloge suivant l'activation de (BLTOE)
le circuit (51) active à nouveau le signal (ENACAS/) pour sélectionner à nouveau la
mémoire. Pendant ce temps là, le signal d'écriture (RAMWR/) reste validé et par conséquent,
l'écriture à l'adresse destination des données modifiées est éxécutée. Le passage
à "0" du signal (ENACAS/) permet au front d'horloge descendant suivant ce passage
de laisser le microprocesseur terminer son cycle d'écriture destination de façon normale.
Suite à la remontée du signal (VCBAS/) et par conséquent la désactivation de (VCBCEL/),
le circuit (40) désactive le signal (W/) qui lui-même va provoquer la désactivation
de la sortie (BLTOE/) du circuit PAL (51) et par conséquent, la fin de la sortie des
données pour le circuit de transfert de blocs (50). Par conséquent, avec ce circuit
on a pu réaliser des modifications sur des ensembles de mots de 16 bits contenus dans
les mémoires par une simple instruction de déplacement d'une adresse vers une autre
adresse, modifiée par le circuit en une instruction de lecture-modification-écriture.
Ce circuit (50) pouvant réaliser des fontions relativement complexes, on comprend
l'intérêt d'un tel dispositif car il permet de faire des modifications de l'affichage
vidéo sur des blocs de mots de 16 bits sans faire intervenir directement le processeur
(30) associé à un programme de modifications des mots qui serait plus complexe et
par conséquent plus long à éxécuter. Par contre, lorsque l'on aura à faire des modifications
des informations rangées en mémoires sur une partie d'un mot ou d'un bloc il sera
éventuellement plus intéressant de le faire directement par le microprocesseur (30)
puisque dans ce cas il n'est pas nécessaire d'initialiser le circuit (50) ce qui nécessite
à chaque fois un certain nombre d'instructions de programme pour le microprocesseur.
Ce circuit (50) permet d'obtenir un mot source fusionné en précisant quels sont les
bits sélectionnés des registres contenant le mot source et le mot source précédent.
Le registre de décalage indique par ses bits qu'il s'agit d'une rotation à droite
ou à gauche et la quantité de rotation. Le registre fonction précise la fonction booléenne
qui va combiner le mot source fusionné, le registre demi-ton et les données d'un registre
contenant les informations d'adresse destination. Enfin le registre de masque de fusion
précise la partie du mot contenue à l'adresse destination qui doit être modifiée.
[0029] Le circuit d'interface (70) entrée-sortie parallèle va être décrit à l'aide de la
figure 7. Ce circuit d'interface (70) reçoit sur son entrée (RS) de remise à "0" le
signal (RESET/) provenant de la sortie de l'inverseur (256) de la figure 2.A. Son
entrée (CS) de sélection du boitier reçoit le signal (CSSIO/) provenant de la sortie
Q3 du décodeur (263) de la figure 2.A, qui délivre le signal de sélection du boitier.
L'entrée (RW) reçoit le signal d'ériture ou de lecture du boitier provenant de la
sortie du tampon (253) qui délivre le signal (VCBWR/). L'entrée (X1) du générateur
de taux de baud reçoit la sortie d'un oscillateur (H2) travaillant à une fréquence
de 2,45 Méga hertz. Les entrées (A1 à A5) du boitier (70) sont reliées aux lignes
(VBAO1 à VBAO5) du bus d'adresse de la carte de façon à adresser respectivement chacun
des 25 registres internes du boitier. Les entrées de données (DO à D7) du circuit
(70) sont reliées aux lignes (VBD0 à VBD07) du bus interne de la carte d'une façon,
d'une part de pouvoir charger les registres internes avec les valeurs souhaitables
et d'autre part pouvoir recevoir et transmettre les données vers les organes d'entrée
et sortie que sont le clavier et la souris. L'entrée (RDA) reçoit les données en entrée
du clavier et est reliée à l'amplificateur différentiel (720) dont les entrées sont
branchées aux bornes de connexion positives et négatives de transmission des données
du clavier. L'entrée (RDB) du circuit (70) reçoit les données en provenance de la
souris au travers d'un récepteur de ligne différentiel (710). La sortie (TDB) du boitier
(70) est reliée par un récepteur de ligne différentiel (711) et par un registre (712)
à l'entrée de réception des données pour la souris. La sortie (TDB) émet les données
à transmettre à la souris. Les entrées (DTRA/ et DTRB/) du circuit (70) sont reliées
respectivement aux sorties (Q4 et Q2) des bascules du circuit (29) de la figure 2
délivrant les signaux (MPUINT/) et (MPUHLT/). La sortie (IT) indiquant une requête
d'interruption est envoyée sur l'entrée (INTRQ/) de la bascule (257) reliée au bus
(VME) de la figure 2.A. La sortie (RRDYB/) délivre le signal (MOUSIT) qui après inversion
par l'inverseur (74) est envoyé sur l'entrée (NS) de la bascule (73). L'entrée (SYNCB/)
reçoit le signal (INTVME/) provenant de la sortie (Q6) du registre (29) de la figure
2.B. L'entrée (IK) d'accusé de réception d'interruption reçoit le signal (VCBIAC/)
provenant de la sortie du même nom du circuit (23) de la figure 2.A. La sortie (DK)
accusé de réception des données est reliée au circuit délivrant le signal (MPUDTAC).
Cette sortie (DK) délivre un signal qui indique au processeur (30) que les données
sont prêtes ou que le circuit d'interface (70) a accepté les données. L'entrée (CK)
d'horloge du circuit (70) reçoit le signal (SIOCLK) de la sortie du registre (248)
de la figure 2.A, registre dont la sortie est rebouclée sur l'entrée par l'intermédiaire
d'un inverseur de façon à constituer un diviseur de fréquence par 2. La sortie de
ce registre (248) délivre donc un signal (SIOCLK) d'une fréquence de 10 Méga Hertz
puisque l'horloge du registre (CLOCK) a une fréquence de 20 Méga Hertz. Il ressort
de la description ci-dessus que l'interface entrée-sortie (70) est branchée pour fonctionnner
comme une interface série-parallèle à deux canaux séparés un pour le clavier et l'autre
pour la souris et génére des interruptions vers le bus (VME). Lorsque le clavier ou
la souris veut émettre des données. Le récepteur de ligne différentiel (720) du canal
clavier permet d'adapter le niveau des données transmises au niveau du circuit (70).
Le circuit (70) est normalement programmé de façon à générer une interruption par
la sortie (IT) vers le bus, à la réception d'un caractère. En réponse le signal (VCBIAC/)
d'accusé de réception de l'interruption de la part du bus (VME) est généré, ce qui
permet au circuit (70) d'émettre un vecteur d'interruption sur les 8 bits de poids
faible du bus de données. Si ce vecteur d'interruption indique qu'il s'agit d'une
interruption de réception d'un caractère, interruption que l'on pourrait appeler normale,
le caractère reçu, qui pendant ce temps là a été stocké dans le registre interne du
circuit (70), peut ensuite être lu par le bus (VME). Le canal (B) du circuit (70)
gère les entrées et sorties de la souris, le circuit (70) est programmé de façon que,
lors de la réception d'un caractère provenant de la souris, la sortie (RRDYB) soit
activée et génère à travers la bascule (73) une interruption de niveau 2 sur l'entrée
(L1) du processeur (30). Cette interruption, par la suite, va être traitée par le
processeur.
[0030] Une interruption vers le bus (VME) peut être générée par le processeur local (30)
en activant l'entrée (SYNCB/) du circuit (70) par l'intermédiaire du signal (INTVME/)
du registre (29) de la figure 2.B.(Comment ?). Les deux interruptions bus (VME) vers
le processeur local (30) au travers du signal (INTVME) et processeur local (30) vers
bus (VME) au moyen du signal (MPUDTAC) transformé dans le circuit (23) en (VMEDTAC)
et renvoyé sur le bus (VME) par le tampon (254) sous la forme du signal (BDTACK),
permettent la synchronisation du processeur local (30) avec le processeur central
(1).
[0031] Le circuit générateur de son (80) représenté à la figure 8 reçoit sur ses entrées
(DO à D7) les lignes (VBDO à VBDO7) du bus de donnée interne de la carte. L'entrée
(DO) du circuit est relié à la ligne (VBD07) tandis que l'entrée (D7) est reliée à
la ligne (VBD00) du bus de données. L'entrée (WE) d'écriture des registres internes
du circuit (80) reçoit le signal (VCBWR/) provenant du tampon (253) de la figure 2.A.
L'entrée (CE) de sélection du circuit (80) reçoit le signal (CSON/) délivré par la
sortie (Q2) du décodeur (263) de la figure 2.A. L'entrée d'horloge (CLK) du circuit
(80) reçoit la sortie d'une porte NON-ET (81) dont une des entrées reçoit le signal
(ENASON/) délivré par la sortie (Q3) du registre de contrôle (29) et l'autre entrée
reçoit le signal d'horloge (SERCK) provenant de l'horloge (H2) de fréquence de 2,45
Méga-Hertz qui sert d'horloge pour l'interface d'entrée sortie série. Le signal (ENASON/)
permet à la mise sous tension de ne pas valider le signal d'horloge pour le circuit
(80) par conséquent, d'empêcher la génération d'un son fortuit dès la mise en route
du système.
[0032] Le circuit d'interface vidéo comprenant le sérialisateur (60) représenté à la figure
6 possède un générateur d'horloge (H1) stabilisé par un quartz de 90 Méga-Hertz dont
le signal est envoyé sur l'entrée (DCLK) du sérialisateur (60). Cette fréquence est
divisée par 16 par le circuit (63) pour générer l'horloge vidéo (VIDCLOK) du contrôleur
vidéo (40). Cette horloge est la base pour la génération des signaux de synchronisation
horizontale et verticale et d'effacement. Le sérialisateur (60) reçoit les 16 bits
(VDOO :8, VDO8:8) sur ses entrées de données (D0 à D15) en parallèle pour les émettre
en série vers l'écran graphique à la fréquence de l'horloge (H1). Deux bascules (D61,
D62) générent le séquencement constitué par le chargement du circuit (60) et les décalages
des données pour la mémoire vidéo (45, 46). La bascule (62) délivre au travers de
l'amplificateur (66) le signal (SHCLK) de décalage des données de la mémoire vidéo.
La bascule (61) quant à elle délivre le signal (SHRGLD) à l'entrée (LD/) du circuit
(60) pour déclencher le chargement des données fournies par les lignes (VD) des registres
des mémoires vidéo dans un registre tampon du circuit (60). La bascule (61) est validée
par la sortie de l'amplificateur (64) lequel reçoit sur ses deux entrées le signal
(BLANK/) fourni par la sortie correspondante du circuit (40) du contrôleur vidéo et
le signal (ENAVID/) de validation de la vidéo fourni par la sortie (Q0) du registre
de contrôle (29) de la figure 2.A. La sortie du circuit (64) est envoyée sur l'entrée
de mise à "1" (S1) de la bascule (61) de façon à bloquer cette bascule pour empêcher
le chargement des données fournies par les lignes (VBD) de la mémoire vidéo pendant
le retour horizontal et vertical du spot. Ceci empêche donc le décalage des données
fournies par la mémoire vidéo et remplace ces données par une valeur logique "1" qui
est chargée à l'entrée (SIN), entrée série du circuit (60) de façon que lorsque les
données fournies sur le bus (VBD) ne sont pas chargées, le circuit (60) continue à
sérialiser des valeurs "1" à la fréquence fixée par l'horloge (H1). Ce montage permet
de supprimer le signal vidéo pendant le retour horizontal et vertical du spot et présente
l'avantage, compte tenu de la fréquence élevée de décalage en série des données d'intervenir
sur le signal de chargement qui est à une fréquence 16 fois plus petite, ce qui permet
d'être sûr que le signal d'effacement (BLANK) sera pris en compte à temps par le sérialisateur
car ce signal est fourni par le circuit (40) qui travaille avec l'horloge (VIDCLOK).
La sortie (Q1) du circuit (61) est également envoyée sur l'entrée (CE2/) du circuit
(62) pour invalider la sortie (Q2) de la bascule (62). Cette sortie (62) fournit le
signal (SHCLK) qui vient bloquer le décalage des registres des mémoires vidéo (45,
46).
[0033] Ainsi par l'agencement décrit en liaison avec les figures 2 à 8 on a réussi à loger
sur une seule carte du format europe un ensemble de fonctions qui permettent d'une
part de gérer en automatique l'affichage vidéo et d'autre part de prendre en compte
des interruptions générées par une souris en vue gérer des multi-fenêtres à l'aide
du processeur (30) et des premiers et deuxièmes groupes de mémoires (41, 42, 43, 44).
Le circuit (40) effectue d'une part l'adressage en automatique pour générer la vidéo
d'autre part le multiplexage de l'adresse pour les mémoires dynamiques (41, 42, 43,
44) au moyen des signaux (RAS0,1,2, CASLO, CASH1). Le circuit (50) de transfert de
bloc de bits sélectionné par la ligne d'adresse (23) permet de transformer un cycle
de lecture écriture du microprocesseur (30) en cycle de lecture-modification-écriture
lorsque l'on est dans la page d'adresse de 9 à 16 Méga-bits. Le logiciel de gestion
des interruptions, la commande de l'affichage vidéo et de gestion du multi-fenêtre
sera rangé dans les groupes de mémoires (1 et 2). Les groupes de mémoire 1 et 2 permettent
aussi le stockage des tableaux de bits (bitmap) cachés. Sur cette carte tout a été
mis en oeuvre pour obtenir le fonctionnement à la vitesse la plus élevée possible
avec le microprocesseur (30) qui est installé. Ceci est obtenu par le fait que le
microprocesseur (30) et le contrôleur du système vidéo sont synchronisés par la même
horloge et par le fait qu'il y a une inversion de phase entre les signaux provenant
du bus (VME) et du bus (CPU) synchronisés par le signal (SCLOCK/) et les signaux du
contrôleur vidéo (40) sont synchronisés par le signal (SCLOCK). Ceci permet de gagner
un temps d'attente dans le fonctionnement. Le total synchronisme du processeur (30)
avec le contrôleur (40) permet d'éviter une logique de synchronisation laquelle fait
perdre du temps et en même temps occupe de la place sur la carte. Seul le processeur
(30) de la carte voit les informations telles qu'elles sont affichées à l'écran. Le
processeur principal (CPU)(1) ne verra jamais l'écran tel qu'il est et passera toujours
par les mémoires intermédiaires (41, 42, 43, 44). Le clavier tant qu'à lui est vu
par interruption par le processeur central (1) tandis que la souris pourra être alternativement
sous le contrôle du microprocesseur (30) ou sous le contrôle du processeur central
(1). Par ailleurs, on a utilisé la sortie (RRDYB/) du circuit (70) qui émet les requêtes
d'accès direct mémoire pour générer une interruption sur le processeur (30) suite
à un appel de la souris sur l'entrée (RDB). Ceci permet à la souris de réveiller par
interruption le processeur graphique (30). Le registre de contrôle (29) joue le rôle
suivant:
à la mise en route du système, le registre est mis à "O" et le processeur (30) est
remis à "O" par ce registre par la sortie (MPRST/) et (MPUHLT/). Le processeur (30)
est maintenu à l'arrêt par la sortie (MPUHLT/). A ce moment le processeur central
(1) peut charger le logiciel nécessaire au processeur (30) dans la mémoire (41 à 44)
à l'emplacement où ce dernier doit le trouver. Après cet opération de chargement le
processeur (30) est libéré par la désactivation des signaux (MPURST/ et MPUHLT/) et
commence comme lors d'une réénitialisation classique par aller chercher à l'adresse
0 le pointeur de la première instruction du programme. Lorsque l'on veut modifier
le logiciel en cours d'utilisation on émet par le registre (29) le signal (MPUHLT/)
actif de façon à arrêter le processeur logiciel à modifier pour ensuite réactiver
le fonctionnement du processeur (30). Ainsi ce registre (29) permet de contrôler depuis
le processeur principal (1) le processeur (30). Le signal (ENAVIB) du registre (29)
permet de bloquer l'interface vidéo ce qui est très utile pendant toute la phase d'initialisation
du contrôleur vidéo (40) qui s'initialise progressivement par le logiciel au fur et
à mesure que les 30 registres de ce circuit sont remplis. Pendant cette période de
temps le signal vidéo peut être n'importe quoi et pour éviter que ces signaux ne détériorent
le moniteur vidéo très pointu on est amené à bloquer pendant cette phase le signal
vidéo par le signal (ENAVID/). De même la sortie (ENASON/) permet d'éviter au générateur
de son d'émettre dès la mise sous tension. Enfin ce registre de contrôle peut être
utilisé pour faire des mesures de performance des logiciels. Par exemple on peut l'utiliser
pour voir le temps mis par le processeur central (1) pour remplir la mémoire de la
carte. Dans ce cas on lui fait remplir la mémoire sans arrêt et à chaque fois on inverse
la sortie du générateur (200) ce qui fait émettre le signal sonore que l'on peut analyser
de façon classique.
[0034] Le fonctionnement de la logique d'arbitrage et de sélection des boitiers va maintenant
être décrit à l'aide des figures (2C à 2E). La figure 2C représente l'arbitrage du
bus, tandis que la figure 2D représente un cycle de lecture écriture par le processeur
central (1) et la figure 2E représente le cycle d'écriture-lecture mémoire par le
processeur graphique (30). Pour les explications on se servira du tableau donnant
l'organisation de l'espace d'adresse de la carte vue par le bus (VME) tableau figurant
ci-dessus en page du texte, et du tableau ci-après donnant l'organisation de l'espace
d'adresse vue par le processeur graphique (30) de la carte BITMAP.

[0035] La carte d'interface travaille pratiquement qu'en mode esclave, c'est-à-dire qu'elle
ne fait des demande d'accès au bus externe (VME), que dans le cas d'une inter ruption
provoquée par le clavier ou dans le cas d'une interruption provoquée par la souris,
répercutée par le processeur (30) vers le bus externe (VME). Le principe d'arbitrage
choisi impose que l'accès par le bus externe (VME) est prioritaire. Quand une demande
d'accès du bus externe (VME) est détectée par la logique d'arbitrage elle est transmise
ver le processeur graphique (30) et dans le cas où le processeur (30) occupe le bus
interne de la carte, il termine son cycle en cours et libère les bus à la fin de ce
cycle. A ce moment là les tampons (20,21) sont validés et le bus externe (VME) à accès
au bus interne de la carte. Quand l'accès du bus externe (VME) est terminé les tampons
du bus (VME) sont remis en état haute impédance par le si gnal (ENAVME) et le processeur
local (30) reprend son activité. Pour ce faire, le circuit (23) surveille les adresses
(BA21 à BA23) du bus (VME) et déclenche la séquence d'arbitrage quand une adresse
héxadécimale (6XXXXX) ou (7XXXXXX) ou un signal (IACK/) d'accusé de réception d'interruption
est généré sur le bus. Dans le cas de l'apparition des signaux d'adresse sur les bits
(21 à 23) et de l'activation du signal (BAS/), le circuit (23) génère le signal (MPUBRQ/)
qui, envoyé au processeur (30), lui signale sur l'entrée (BR) qu'une autre unité in
telligente désire accéder au bus interne de la carte. Ceci est représenté par la flèche
1 sur la figure 2.C. Le processeur (30) répond en validant le signal (MPUBGT/) qui
indique au circuit demandeur que la demande a été prise en compte et que le microprocesseur
(30) cédera les bus à la fin des cycles bus en cours. La présence du signal (BAS)
et du signal (MPUBGT/) à l'entrée du circuit (23) permet de désactiver le signal (VCBAS/)
et d'activer le signal (BGA/) comme in diqué par les flèches 2 et 3, figure 2.C. Suite
à l'activation du signal (BGA), le circuit (24) sur le front d'horloge descendant
suivant cette activation, ac tive (flèche 4) le signal (BGACK/) qui arrivant sur la
broche (BK) du circuit (30) confirme de la part du circuit demandeur la prise des
bus et leur contôle. Le signal (BGACK/) permet de générer sur le front d'horloge montant
suivant son activation, l'activation du signal (ENAVME/) comme représenté par la flèche
5, figure 2C. Tant que (BGACK/) est actif, le processeur (30) maintient ses sor ties
en haute impédance, ce qui permet au bus externe (VME) d'accéder au bus interne de
la carte. Le signal de validation d'adresse (VSCALE/) pour le contrôleur du système
vidéo (40) est généré sur le flanc descendant de l'horloge après l'activation du signal
(BGACK/) comme représenté par la flèche 6. Ceci assure la stabilisation des adresses
sur le bus interne, des signaux (VSCFSO, 1) et (CSVSC/) et du signal (VSCALE/). Suite
à l'activation du signal (VSCALE/), le signal (MPUBRQ/) est désactivé comme représenté
à la flèche 7, puis suit la désactivation de (BAS/, BGA/, BGACK/, ENAVME/, VCBAS/
et VSCALE/). Dans le cas d'une interruption provoquée par, soit la souris, soit le
clavier, le bus externe (VME) émet le signal (IACK/), qui provoque le même arbitrage
au niveau des signaux (MPUBRQ, BGACK) et la validation du signal (VCBIAC/) après la
validation du signal (MPUBGT/) pour permettre au circuit 70 de prendre possession
du bus interne et de transmettre, lors de la validation du signal (VCBWR/) consécutive
à la validation du signale (ENAVME/), les données du bus interne (VBD) au bus de données
externe (VME).
[0036] Dans le cas d'un cycle de lecture-écriture-mémoire exécuté par le processeur central
1, on se reporte à la figure 2D dans laquelle les flèches portant les mêmes chiffres
correspondent aux étapes déjà décrites de l'arbitrage. La validation du signal (ENAVME/)
provoque l'activation du signal (VCBAS/) comme représenté par la flèche 8 sur la figure
2D de laquelle découle l'activation du signal (VSCALE/) de validation des adresses
pour le contrôleur vidéo. L'activation de ce signal provoque sur le front descendant
d'horloge suivant, l'activation des signaux (VCBCEL/ et VCBCEH/). En fait, (VSCALE/)
est renvoyé sur le circuit (23) qui active le signal (ENADS/) lequel va activer au
travers de la bascule (243) les signaux (VCBCEL et VCBCEH). cette étape est représentée
par la flèche 9 sur la figure 2D. L'écriture des données est effectuée lors de l'activation
du signal (RAMRAS/) et suite à cette écriture le circuit (40) active le signal (MPUDTAC/).
Ce signal provoque l'activation successive des signaux (DTA1/ et DTA2/) représentée
par les flèches 10 et 12. Le signal (DTA2/) étant activé sur le front descendant suivant
l'activation du signal (ENDTA2/) lequel est activé par le circuit (23) sur l'activation
du signal (DTA1/). L'activation de (DTA2/) dans le circuit (23) va provoquer l'activation
du signal (VMEDTAC/) lequel est renvoyé sur la bascule (425) qui va provoquer l'activation
du signal (BDTACK/). Cette étape est représentée par la flèche 13 sur le diagramme
de la figure 2D. Pendant l'activation de (BDTACK/), la lecture des données de la mémoire
est faite par le processeur central (1). A la fin de cette lecture, le signal (VCBAS/)
est désactivé par le signal (BAS/) et cette désactivation provoque la désactivation
du signal (BDTACK/) comme représenté par la flèche 14. L'invalidation de (VCBAS/)
est synchrone de l'invalidation des signaux (VCBDS0/ et VCBDS1/) lesquels provoquent
la désactivation des signaux (VCBCEL/ et VCBCEH/). Cette étape provoque la désactivation
du signal (VSCALE/) comme représenté à la flèche 15 et du signal (RAMCAS0/,1/) comme
représenté à la flèche 17. L'inactivation de (VSCALE/) provoque par la suite la désactivation
du signal (MPUDTAC/) (flèche 19) puis la désactivation de (DTA1/) (flèche 20) et également
la désactivation de (RAMRAS/) (flèche 18). Comme on peut le remarquer sur cette figure
2D, le signal (MPUDTAC/) est activé sans cycle d'attente pour permettre au processeur
(30) de travailler à la vitesse maximale, mais comme ce signal arrive trop tôt pour
le bus (VME), puisque les données ne sont pas encore stabilisées, ce signal est retardé
par les signaux (DTA1/, DTA2/) pour générer le signal d'acquittement (BDTACK/) pour
le bus (VME).
[0037] Un cycle de lecture-écriture-mémoire par le processeur graphique (30) de la carte
va maintenant être explicité en liaison avec la figure 2E. Dans ce cas, après que
le processeur (30) ait positionné les lignes d'adresse (VCBADR), il génère par la
sortie AS le signal (VCBAS/) lequel va générer comme dans l'étape 6 de la figure 2D
le signal (VSCALE/). Le signal (VCBDS0/ ,1/) est généré par les sorties (LS, US) du
circuit (30) suivant le séquencement propre à une instruction de lecture-mémoire du
microprocesseur. Le signal (VCBWR/) est rendu inactif par la sortie (WR) du processeur
(30) et indique par conséquent une lecture. Après la validation des lignes d'adresses
par le signal (VCBAS/) pour le boîtier (30) et (VSCALE/) pour le boîtier (40), le
boîtier (40) est sélectionné par le signal (CSVSC/) et le mode d'accès est indiqué
par les signaux (VSCFS0 et VSCFS1) dont les valeurs sont déterminées comme on l'a
déjà vu par les valeurs des lignes d'adresses (VBAM17 à 20). Par la suite, le signal
(ENADS/) est activé puis les signaux (RAMRAS/ et RAMCAS0/,1/) sont activés comme pour
la figure 2D. Le signal (MPUDTAC/) est activé par le circuit (40) avant que les données
ne deviennent disponibles sur le bus de données (VBD). L'activation de ce signal (MPUDTAC/)
introduit quatre cycles d'attente qui sont liés au fonctionnement du circuit contrôleur
vidéo (40). Une fois le signal (MPUDTAC/) actif, celui-ci active le signal (DK/) (flèche
22) à l'entrée du circuit (30) lequel relance la suite du cycle de lecture-mémoire
pour le processeur. Après la lecture des données, le processeur 30 invalide les signaux
(VCBAS/ et VCBDS0/,1/) et par suite les signaux (ENADS/ et RAMCAS0/,1/). Le signal
DK est également invalidé par VCBAS/. Après le cycle S7 de la figure 2E commence le
cycle S0 d'une écriture-mémoire par le processeur 30. Lors de ce cycle, le signal
(VCBWR/) est activé dans le cycle S1 et son activation provoque la désactivation des
signaux (RAMRAS/ et MPUDTAC/), comme représenté par les flèches 21. Par la suite,
les signaux (VCBAS/, VSCALE/ etc)sont activés de la même façon que pour une lecture
de donnée-mémoire. La seule différence réside dans le fait que les lignes de donnée
du bus (VBD) sont positionnées à leur valeur dès la fin du cycle S2 du processeur
(30). Dans le cycle de donnée, on voit apparaître en bas de la figure 2E la ligne
(LDSRC/) qui correspond au signal de chargement du registre source du circuit (50)
de transfert de bloc de bit. On voit dans le cas de l'utilisation de ce circuit que
le chargement du registre source s'effectue après l'activation du signal (MPUDTAC/)
comme représenté par la flèche 23 sur la figure. Ceci permet de venir effectuer une
lecture de données par le circuit (50) avant la fin d'un cycle d'écriture du processeur
comme on l'a déjà vu. Le signal (LDSRC) est désactivé par UCBAS/.
[0038] Le fonctionnement ainsi décrit a permis de mettre en évidence les avantages de l'invention.
Il est bien évident que toute modification à la portée de l'homme de métier fait également
partie de l'esprit de l'invention.
1. Carte graphique et interface entre un processeur central (1) communiquant de façon
asynchrone avec cette carte par un bus externe et un moniteur vidéo (9) caractérisé
en ce qu'elle comprend :
- un ensemble de mémoires-vidéo (45, 46) de capacité au moins égale au nombre de points
d'affichage souhaités sur le moniteur (9),
- au moins un groupe de mémoires vives (43, 44 ou 41, 42) de stockage des logiciels
d'application graphique,
- un circuit (40) contrôleur du système vidéo, gérant les adresses des différentes
mémoires en vue d'effectuer les rafraîchissements des mémoires, de l'affichage vidéo
et les mises à jour des données ou des programmes et délivant les signaux vidéo ;
- un circuit (60) de sérialisation des données délivrées par la mémoire vidéo (45,
46) en cadence avec une horloge vidéo H1 ;
- un processeur graphique (30) cadencé par une horloge (H0) et travaillant en synchronisme
avec le circuit (40) du contrôleur du système vidéo de façon à exécuter les programmes
de logiciel contenus dans le groupe de mémoires vives ;
- un circuit (20 à 22) d'interface entre le bus externe et les bus de la carte et
un circuit (23 à 27) d'arbitrage entre le processeur graphique (30), le contrôleur
de système vidéo (40) et le bus externe ;
2. Carte d'interface selon la revendication 1, caractérisée en ce qu'elle comprend
en outre un circuit d'interface (70) d'entrée-sortie entre une souris (71), un clavier
(72) et le processeur ou graphique (30) ou le bus externe, ce circuit étant cadencé
par une troisième horloge (H2).
3. Carte d'interface selon la revendication 2, caractérisée en ce que le circuit (70)
du contrôleur du système vidéo génère des interruptions dues à une action sur le clavier
directement sur le bus externe et les interruptions dues à une action sur la souris
en direction du processeur graphique (30) par l'intermédiaire d'une logique (73);
4. Carte d'interface selon une des revendications 1 à 3, caractérisée en ce qu'elle
comprend un générateur de son (80).
5. Carte d'interface selon une des revendications précédentes, caractérisée en ce
qu'elle comprend un circuit (50) de transfert de bloc de bit commandé par une logique
(51) et sélectionné par la ligne d'adresse de poids le plus élevé (A23).
6. Carte d'interface selon une des revendications précédentes, caractérisée en ce
qu'elle comprend un registre de contrôle (29) permettant, lors de l'initialisation
du système, de charger les mémoires de la cartes et de charger les différents registres
des différents circuits (50, 30, 40, 70).
7. Carte d'interface selon une des revendications précédentes, caractérisée en ce
que les lignes de données du processeur (30) sont isolées des lignes de donnée du
bus de données interne (VBD) de la carte par un circuit tampon (31) dont l'isolement
est commandé par la ligne d'adresses de poids le plus élevé du processeur (A23).
8. Carte d'interface selon la revendication 7, caractérisée en ce que le circuit (50)
de transfert de bloc de bit est commandé par une logique (51) de controle du séquencement
pour transformer une instruction de lecture-écriture-mémoire du processeur graphique
(30) en une instruction de lecture-modification-écriture pour le circuit (50).
9. Carte selon la revendication 8, caractérisée en ce que un circuit logique (47 à
49) de sélection des mémoires et de blocage des échanges entre le processeur graphique
(30) et les mémoires (41-42, 43-44, 45-46) permet la modification du cycle lecture-écriture
en un cycle lecture-modification-écriture par le circuit (50) de transfert de bloc
de bit.
10. Carte d'interface selon une des revendications précédentes, caractérisée en ce
que le processeur (30) travaille en mode esclave pour l'attribution des bus internes
(VBD, VBA) par rapport au bus externe et au processeur central (1) et en mode autovecteur
pour le traitement des interruptions sans décodage des niveaux de priorité.
11. Carte d'interface selon la revendication 10, caractérisée en ce que le processeur
graphique (30) reçoit trois types d'interruption, les interruptions de canal d'entrée
pour la souris (71), de l'interface d'entrée-sortie (70), les interruptions du circuit
(40) contrôleur du système vidéo et les interruptions déclenchées par le bus externe
et transmises par le registre de contrôle (29).
12. Carte d'interface selon une revendication précédente, caractérisée en ce que le
circuit (60) de sérialisation des données pour l'affichage vidéo comporte une entrée
de chargement (LD) des données à sérialiser provenant des registres de la mémoire
vidéo (45-46), permettant d'invalider le chargement par le signal d'effacement (BLANK)
provenant du circuit (40) du contrôleur du système vidéo.