Brevet FR2602892A1 — publié le 19880219

Ai 2602892 CARTE GRAPHIQUE ET INTERFACE CLAVIER SDURIS. 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 5 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 à 10 gérer les entrées et sorties entre les différentes interfaces clavier, souris et graphique pour l'affichage. Un premier but de l'invention est également de proposer une carte électronique permettant de contrôler un écran 15 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. 20 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 25 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) 30 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érivant 35 les signaux vidéo; - un circuit (60) de sérialisation des données délivrées - 2 par la mémoire vidéo (45, 46) en cadence avec une horloge vidéo Hl; - un processeur graphique (30) cadencé par une horloge (H0) et travaillant en synchronisme avec le circuit (40) 5 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) 10 d'arbitrage entre le processeur graphique (30), le contrôleur de système vidéo (40) et le bus externe (VME); Un deuxième but de l'invention est de proposer une carte graphique, interface, clavier souris qui permette de 15 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. 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). 25 Un troisième but est de décharger le processeur de la gestion de la souris. Ce troisième but est atteint par le fait que le circuit 30 (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). Un quatrième but est de proposer une carte graphique qui permette de faire des modifications de l'affichage - 3 graphique soit par l'utilisation du microprocesseur de la carte soit par un circuit spécialisé dans les modifications de bloc. 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 10 logique (51) assurant le contrôle du séquencement pour transformer une instruction de lecture-écriture mémoire en une instruction de lecturemodification-écriture par le circuit (50) et des moyens (31) pour isoler le processeur graphique (31) des mémoires. Un cinquième but de l'invention est de permettre de contrôler le chargement et l'initialisation du système à lrtir du processeur central. 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). 25 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. 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 35 (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. - 4 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; 1 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. 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 30 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 35 l'invention. Cette carte interface est reliée au bus de données du bus externe (VME) par un tampon (20), aux - 5 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 5 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 15 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) 20 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 25 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 30 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 35 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 5 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 10 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'adresse (VBA) et en fin par des lignes de contrôle à une 20 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 H0. 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 35 référence (MK68564) fonctionnant en interface série pour une souris et un clavier; -7 un générateur de son constitué par un circuit commercialisé par la firme TEXAS INSTRUMENT sous la référence (SN76496N); un circuit de transfert de bloc de bits (50) commercialisé 5 par la firme PACIFIC MOUNTAIN RESEARCH INC sous la référence (PMR 96016). L'ensemble des connexions des différents circuits présentés dans le schéma général de la figure 1 vont 10 maintenant être décrites en liaison avec les figures 2 à 8. Les 16 lignes du bus de données (VME) (BD0: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 15 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 (BAOl:16) sont envoyées sur 20 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) 25 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 30 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 35 programmable (PAL). Ce circuit (23) reçoit également en entrée les signaux (MPUBGT/, CSREG/, ENAVME/, VSCALE/, - 8 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é à 5 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 10 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 20 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). 25 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) 30 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 35 livré - par la sortie (IT/) de l'interface serie d'entréesortie (70 fig. 7). Les sorties (VCBDSD/) et - 9 (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 5 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 20 (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 (Ai, AO) 25 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), 30 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 35 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/, 5 CSSIO/), de sélection des boitiers respectifs (29, 50, 80, ) est donnée par le tableau ci-après. ADRESSE 23 22 21 20 19 18 17 16 15 14 13 12 HEXA CSMAR29 7 E0 0 1 1 1 1 1 1 0 0 0 0 0 CSTBLT ) 7 E 8 0 1 1 1 1 1 1 0 1 0 0 0 C SSON (80) 7 F 0 0 1 1 1 1 1 1 0 0 0 0 C SSIO (70) 7 F 8 0 1 1 i 1 1 1 1 1 0 0 0 La sortie (CSREG/) du circuit OU (261) est également relié 20 à 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 25 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 30 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 entreesortie (70) d'autre part sur une entrée d'une porte OU 35 (36) à deux entrées, dont la deuxième entrée reçoit le signal (ENADTA), signal qui provient (à compléter). La - 11 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) 5 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) 15 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 20 é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) 25 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 30 une erreur. 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 NONET (290). La deuxième entrée 35 de la porte NON-ET (290) reçoit le signal (VCBWR) qui provient de la sortie de l'inverseur (251 Fig.2A). La - 12 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 5 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) 10 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 15 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 25 suivant: - 13 - I 1 I- 1 |SIGNAUX V B A VBD SIGNIFICATIONS DES Qi CORRESI | 07 |0 PONDANTS - _ I t I Q0 7E0001 Qi 1 7E0003 I Q2 17E0005 1 Q3 j7E0007 Q4 7E0009 20 Q5 7E000B "O " si Il "1 " li0 l, "O " I! 0 n1 1"0 1 "$1 "I II 0| 1 II"II lil ""1 "1 I "0" 1 "1" i 1 11 INTERFACE INTERFACE RESET SUR RESET MPU VIDEO BLOQUE VIDEO VALIDE MPU LOCAL ACTIF LOCAL INACTIF ARRET DU MPU LOCAL LANCEMENT DU MPU LOCAL GENERATEUR DE SON BLOQUE GENERATEUR DE SON VALIDE GENERATION D'UNE INT SUR MPL LOCAL INT INACTIF ENAVID MPURST MPUHLT ENASON MPUINT IACMOS INTVME Q6 7E000D 7EOOOF RAZ INTERRUPTION SOURIS, POUR LA RAZ IL FAUT INVERSEF L'ETAT DE LA BASCULE 2 FOIS. INTERRUPTION VME. POUR GENERER UNE INT VERS LE BUS VME L'ETAT DE LA BASCULE DOIT ETRE INVERSE. RESERVE Q7 Le signal (MPUHLT/) délivré par la sortie (Q2) de la troisième bascule du registre (29) est envoyé sur l'entrée - 14 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. 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 10 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 15 (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 20 données (DO à 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 25 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 30 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 (DO à 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) 35 et d'autre part au bus d'adresse mémoire de la carte (VBAM17: 4). Les sorties (US, LS) correspondant à la - 15 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 5 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 10 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 15 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, Cl, C2) du microprocesseur (30) indique l'état du processeur à savoir s'il est en mode utilisateur, en mode superviseur 20 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 25 (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 30 é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 35 provenant du registre de contrôle (29) délivré par la sortie (Q4) de ce registre et provoqué par le CPU(l) au - 16 travers du bus externe (VME). Dans ce cas, les sorties (CO, Cl, 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 5 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 (LO) correspond au niveau 1 et reçoit le signal 10 (VSCINT) qui représente les interruptions générées par le contrôleur vidéo (40). L'entrée (Ll) 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 15 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 20 activée dans le bus (VME). Par conséquent, il n'y a pasd'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 degagner de la place sur la 25 carte de façon à pouvoir disposer toutes les fonctions que l'on souhaite mettre sur cette carte. Les liaisons du contrôleur vidéo (40) avec les groupes de mémoires (41 à 46), la logique d'arbitrage et le 30 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 - 17 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 5 (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 10 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 15 a RAS3) du circuit (40) sont actifs. Ces entrées (RS0, RS1) recoivent respectivement les lignes d'adresse (VBAMl9 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 20 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 25 contrôleur spécifié par les valeurs présentes aux entrées (CS, RAO à 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 30 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 a charger les registres internes du contrôleur vidéo lors d'une initialisation de la carte. La 35 sortie (RDY) du circuit (40) est reliée à la sortie (MPUDTAC) du tampon (268) et à l'entrée de la porte OU - 18 (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 5 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 à 10 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. 15 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 20 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 25 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 30 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 35 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 - 19 signal (ENACAS/). La sortie de la porte OU (49) est reliée a 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 5 (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 (RASO) du boitier (40) permet de sélectionner le premier groupe de mémoires constitué par les boitiers (41 et 42). La sortie (RAS1) 10 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 memoires 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 15 porte OU (47) dont une première entrée reçoit la sortie (W/) du boîtier (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 20 reliés à chacune des neuf ou huit lignes d'entrée des boîtiers 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 25 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 30 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 35 accès de 64 Kbits commercialisé par TEXAS INSTRUMENTS sous la référence "TMS4161" et montés sur quatre barettes (45, - 20 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 5 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 à 10 CA7) et (RA0 à (RA7). La sélection d'un groupe de mémoires parmi les trois se fait avec les lignes d'adresse (VBAMl9 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). - 21 - ADRESSE HEXADECIMALE SELECTION 6 0 0 0 0 0 67FFFF 6 7 F F F F 6 680000 6 F F F F F 7 0 0 0 0 0 700000 7 1 F F F F 7 2 0 0 0 0 720000 10 7 9 F F F F 7A0 000 7 A 0 03F 7 A 0 040 7 C 0 0 0 0 15 7 C 0 0 0 1 7 C 0 0 F F 7 C 0 1 0 0 7C0100 7 E 0 0 0 0 7 E 0 0 0 1 7E0000 7E0001 20 7 E 0 0 0 F 7 E 0 0 1 0 7 E 7 F F F 7 E 8 0 0 0 7E0010 7E7FFF 7E8000 25 7 E 8 0 0 E 7E8010 7 E 8 0 1 0 7 F 0 0 0 0 7 F 0 0 0 1 7F0001 7 F 0 0 0 2 7F8000 7 F 8 0 0 0 7 F 8 0 0 1 7 F 8 0 3F 7 F 0 0 4 0 35 7 F F F F F ler GROUPE MEMOIRE (41, 42) 2ème GROUPE MEMOIRE (43, 44) MEMOIRE VIDEO (45, 46) RESERVE ACCES MEMOIRE INDIRECT RESERVE REGISTRE CONTROLEUR DU SYSTEME VIDEO RESERVE REGISTRE DE CONTROLE (29) (Accès en écriture uniquement) (CSVSC inactif) RESERVE (CSVSC inactif) REGISTRE BITBLT(50) (Accès uniquement (CSVSC inactif) RESERVE (CSVSC inactif) en écriture GENERATEUR SON (50)(CSVSC inactif) (Accès en écriture uniquement) RESERVE (CSVSC inactif) S.I.O (70) (CSVSC inactif) RESERVE (CSVSC inactif) - 22 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 5 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 O0: 8) et (VDO8:8) et sont reliées aux entrées (DO à D15) du sérialisateur (60). Le séquencement 10 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 (FSO, FS1, FS2) qui permettent d'identifier et de fixer les modes d'accès mémoire, qui peuvent être directs 15 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 VSCFSO) en fonction des 20 bits d'adresse (17, 18). Les entrées (A0 et Al) 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 (VBAMl9 et VBAM20). 25 Le tableau ci-après donne les valeurs présentes aux entrées (FSO0 et FS1) en fonction des valeurs sur les lignes d'adresse (VBAM) c'est-à-dire des adresses hexadécimales envoyées sur le bus (VME). En fonction des valeurs (FSO et FS1) on obtient soit des accès directs du 30 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). - 23 - 15 20 ADRESSE HEXA.I V B A M | vue du Bus |20 19 18 17 FSO FS F1 FS2 ACCES I J à 67XXXX 0 0 X Xi 1 1 0 ierGROUPE I l MEMOIRES I l 1(41, 42). 68 à 6FXXXX | 2em GROUPE | I | MEMOIRES I l f(43, 44). à 71XXXX i 0 X X 1 1 0 MEMOIRES I l VIDEO lj l 1(45,46) 72 à 79XXXX I i x 1 1 0 o RESERVE 7A0000 à 3F I 1 0 1 1 0 ACCES MEMOIRE | | I |INDIRECT I 7Coooo0000 à FF 1 i 1 0 0 1 0 ACCE; REGISTRE| l I (VCS) 7E à 7FXXXX 1 1 i 1 1 1 0 NON UTILISE I l l l Le contrôleur vidéo (40) remplit essentiellement quatre fonctions sur la carte: 1 ) Accès en lecture ecriture du Méga-Octet de mémoires vives et du Méga-Bits de mémoires vidéo; 2 ) 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. 3 ) 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). 4 ) Génération des signaux de synchronisation horizontale 35 et verticale et d'effacement pour l'interface vidéo. - 24 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 5 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 (HO). Ce réseau logique programmable (51) synchronisé sur l'horloge (H0) reçoit sur une première 10 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 15 (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) 20 délivrant le signal (LDSRC/) 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 (Al à A3) les signaux (VBAOl:3) et sur ses entrées (DO à D15) les seize lignes du bus de données (VBD 0:16). 30 Les entrées (Ai à 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 35 sélection du circuit le signal (CSBLT/) provenant de la sortie de la porte (265) figure 2A. - 25 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 5 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 10 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 (7El000 et 15 7E800E) en hexadécimal ou entre les valeurs (1E8000 et lE800E) en hexadé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: ADRESSE HEXA. REGISTRE SELECTIONNE 7 E 8 0 0 0 REGISTRE DE MASQUE DE DECALAGE 7 E 8 0 0 2 REGISTRE DE DECALAGE 7 E 8 0 0 4 REGISTRE DEMI-TON 7 E 8 0 0 6 REGISTREDE FONCTION 7 E 8 0 0 8 REGISTRE DE MASQUE DE FUSION 7 E 8 0 0 A à E RESERVE Une fois les registres adressés on les initialise avec les valeurs souhaitées pour faire fonctionner le circuit (50) 35 de la façon souhaitée avec les valeurs adéquates de données provenant du bus de données (VBD). Une fois le - 26 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: 1 ) Lecture des données de l'adresse source; 2 ) Lecture des données de l'adresse de destination; ) Modifications des données de la destination; 4 ) 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 15 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 20 transfert de blocs on travaille sur la zone d'adresse vue du bus externe (VME) comprise entre8 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 25 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 30 é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. La première phase du cycle de transfert de blocs constituée par une lecture source se présente comme un - 27 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 5 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 à 10 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 15 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 20 (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 25 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 30 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 35 validation d'adresse colonne (RAMCAS0/, RAMCAS1/). Cette troisième phase indiquée par la flèche 3 sur la figure 5.B - 28 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 5 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 progammées à l'avance sur les données destination. Quand les données destination modifiées sont 10 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, 15 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 25 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 lecture30 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 35 (30) associé à un programme de modifications des mots qui serait plus complexe et par conséquent plus long à - 29 é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 5 (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 10 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 15 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. Le circuit d'interface (70) entrée-sortie série 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 25 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'écriture ou de lecture du boitier 30 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 (Al à A5) du boitier (70) sont reliées aux lignes (VBA01 à VBAO5) du 35 bus d'adresse de la carte de façon à adresser respectivement chacun des 25 registres internes du - 30 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 5 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 10 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 15 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 20 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 25 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 30 (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 35 (CK) d'horloge du circuit (70) reçoit le signal (SIOCLK) de la sortie du registre (248) de la figure 2.A, registre - 31 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 5 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 10 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 15 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 20 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 25 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 30 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. Une interruption vers le bus (VME) peut être générée par 35 le processeur local (30) en activant l'entrée (SYNCB/) du circuit (70) par l'intermédiaire du signal (INTVME/) du - 32 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). 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 lacarte. 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. 15 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 20 (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 25 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. 30 Le circuit d'interface vidéo comprenant le sérialisateur (60) représenté à la figure 6 possède un générateur d'horloge (Hl) stabilisé par un quartz de 90 Méga- Hertz dont le signal est envoyé sur l'entrée (DCLK) du 35 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 - 33 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, VD08:8) sur ses entrées de données 5 (DO à 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 10 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 15 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 20 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" (Sl) 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 25 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 30 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 (Hl). 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 35 fréquence élevée de décalage en série des données d'intervenir sur le signal de chargement qui est à une - 34 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 5 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). 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 15 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 20 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 25 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 multifenêtre sera rangé dans les groupes de mémoires (1 et 2). 30 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 35 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 260289Z - 35 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 5 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 10 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 20 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" 25 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) à 30 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 35 instruction du programme. Lorsque l'on veut modifier le logiciel en cours d'utilisation on émet par le registre 36 (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 5 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 10 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 20 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. 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 30 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 ci35 après donnant l'organisation de l'espace d'adresse vue par le processeur graphique (30) de la carte BITMAP. - 37 - ADRE SSE HEXA SELECTION 0 7 F F F F 0 8 0 0 0 0 F F F F F 1 0 0 0 0 0 100000 1 1 F F F F 10 1 2 000 0 1 9 F F F F 1 A 0 0 0 0 1 A 0 03F 1 A 0 040 15 C 0 0 0 0 1C00001 1 COO 0 1FF l C 0 0 F F 1 C 0 1 0 0 1 E 0 0 0 0 20 l E 0 0 0 1l ler GROUPE MEMOIRE (41, 42) 2ème GROUPE MEMOIRE (43, 44) MEMOIRE VIDEO (45, 46) RESERVE ACCES MEMOIRE INDIRECT RESERVE 1 C 0 0 0 0 REGISTRE DU CONTROLEUR VIDEO (40) RESERVE REGISTRE DE CONTROLE (29) l E 0 0 0 F l E 0 0 1 0 l E 7 F F F 25 1 E 8 0 0 0 1 E 8 0 0 E 1E8010 1 F 0 0 0 0 1 F 0 0 0 1 30 1 F 0 0 0 2 1 F 8 0 0 0 1 F 8 0 0 1 1 F8 03F 1 F 0 0 4 0 35 7 F F F F F 8 0 0 0 0 0 RESERVE (CSVSC inactif) REGISTRE BITBLT(50) (écriture seulement) RESERVE GENERATEUR SDN (50) (écriture seulement) RESERVE S.I.O (70) RESERVE ler GROUPE MEMOIRE (41,42) et BITBLT (50) - 38 8 7 F F F F 87FFFF 8 8 0 0 0 0 2ème GROUPE MEMOIRE (43,44) et BITBLT (50) 8 F F F F F 9 0 0 0 0 0 MEMOIRE VIDEO (45, 46) et BITBLT (50) 9 1 F F F F 9 2 0 0 0 0 RESERVE 9 9FFFF 9 A 0 0 0 0- ACCES MEMOIRE INDIRECT ET BITBLT (50) 9 A 0 03F 9 A 0 0 4 0 RESERVE F B F F F F F C 0 0 0 0 INTERDIT (SIGNAL BERR) *F FFFFF 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) 20 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 25 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é 30 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 35 hexadécimale (6XXXXX) ou (7XXXXXX) ou un signal (IACK/) d'accusé de réception d'interruption est généré sur le - 39 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 5 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 10 (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), 15 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 contrôle. Le signal (BGACK/) permet de générer sur le 20 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 30 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 35 cas d'une interruption provoquée par, soit la souris, soit le clavier, le bus externe (VME) émet le signal (IACK/), - 40 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 5 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). 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 15 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 20 (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 25 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 30 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 35 (BDTACK/). Cette étape est représentée par la flèche 13 sur le diagramme de la figure 2D. Pendant l'activation de - 41 (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 5 (BDTACK/) comme représenté par la flèche 14. L'invalidation de (VCBAS/) est synchrone de l'invalidation des signaux (VCBDS0/ et VCBDSl/) lesquels provoquent la désactivation des signaux (VCBCEL/ et VCBCEH/). Cette étape provoque la désactivation du signal (VSCALE/) comme 10 représenté à la flèche 15 et du signal (RAMCAS0/,l/) 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 (DTAl/) (flèche 20) et également la désactivation de (RAMRAS/) 15 (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 20 stabilisées, ce signal est retardé par les signaux (DTAl/, DTA2/) pour générer le signal d'acquittement (BDTACK/) pour le bus (VME). Un cycle de lecture-écriture-mémoire par le processeur 25 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 30 signal (VSCALE/). Le signal (VCBDS0/,l/) 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 35 conséquent une lecture. Après la validation des lignes d'adresses par le signal (VCBAS/) pour le boîtier (30) et - 42 (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 5 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 10 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 15 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 20 figure 2E commence le cycle SO d'une écrituremémoire par le processeur 30. Lors de ce cycle, le signal (VCBWR/) est activé dans le cycle Sl 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 25 (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 30 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 35 (MPUDTAC/) comme représenté par la flèche 23 sur la figure. Ceci permet de venir effectuer une lecture de -- - 2602892 - 43 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/. 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. - 44 - 2602892 Revendications 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 Hi; - un processeur graphique (30) cadencé par une horloge (HO) et travaillant en synchronisme avec le circuit (40) 20 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 25 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 30 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 - 45 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 20 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 25 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 35 une instruction de lecture-modification-écriture pour le circuit (50). - 46 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 5 modification du cycle lecture-écriture en un cycle lecturemodification-écriture par le circuit (50) de transfert de bloc de bit. 10. Carte d'interface selon une des revendications 10 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 15 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 20 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 30 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.