<Desc/Clms Page number 1>
ARBITRAGE DE MEMOIRE POUR SOUS-SYSTEMES VIDEO
Art antérieur La présente invention concerne les sous-systemes vidéo pour calculateurs comme les calculateurs personnels et plus particulierement un agencement de cette nature plus efficace et à performances améliorées en ce qui concerne la commande d'arbitrage et d'accès à la memoire d'un sous-systeme de ce type.
La présente invention est decrite ici dans l'environnement d'un ordinateur personnel. On a dejä decrit des systemes de cette nature qui comprennent un microprocesseur interconnecté à divers elements d'entrée/sortie (I/O) et d'emmagasinage au moyen d'un bus. Un calculateur personnel peut aussi presenter des fentes permettant l'introduction de cartes de circuits par l'utilisateur.
Par exemple, le brevet des EUA n 4. 408. 200 decrit un système de calcul personnel composé d'un dispositif et d'une methode d'ecriture de caractères de texte pour un affichage vidéo ä balayage de trame fonctionnant dans un mode à tous points adressables ou graphique et ensuite, pour la lecture des caractères. Un processeur écrit un caractère à l'affichage en selectionnant et chargeant dans une mémoire intermédiaire d'affichage vidéo graphique, une configuration de points de caractere de texte récupérée d'une mémoire et lit un caractere precedemment écrit en comparant une configuration de points récupérée de la mémoire intermédiaire d'affichage ä des configurations de points récupérées de la memoire principale.
L'affichage en couleurs est aussi prévu. Le système comprend aussi un adaptateur d'affichage ou graphique Composé d'un
<Desc/Clms Page number 2>
sous système vidéo, l'adaptateur étant inséré dans une fente E/S.
Un sous Systeme video améliore est decrit dans 1e brevet des EUA n 4. 580. 135 ayant un affichage ä balayage de trame qui comprend une pluralité de mappes de memoir. Les mappes sont adressables dans l'un ou l'autre de deux modes pour fournir des adresses et l'affichage d'information vidéo par le systeme. Le Systeme représente une organisation de systeme graphique améliorée quelquefois appelée "adaptateur graphique amélioré" (EGA). La mémoire vidéo est partagée en temps par acces de multiplexage d'une unité CPU et d'une unité de commande CRT. Bien qu'aucun cycle de fonctionnement particulier ne soit décrit en details, la carte EGA assure des cycles réservés pour acceder ä la memoire à la fois par l'unité de commande CRT et l'unité CPU.
La carte EGA a deux modes d'arbitrage, un mode ä faible vitesse et un mode ä grande vitesse. En mode ä grande vitesse, l'unite CPU a toujours 1 cycle sur 5 au cours duquel elle peut accéder ä la mémoire vidéo. En mode ä faible vitesse, l'unite CPU a 3 cycles sur 5 pour accéder ä la mémoire vidéo.
D'autres documents de l'art antérieur concernent particulièrement l'arbitrage dans les sous systemes video. Par exemple, le brevet des EUA n 4.511.965 concerne un systeme pour résoudre le conflit entre l'unité centrale de traitement (CPU) et une unité de commande ä tube cathodique (CRT) lors de l'acces ä un ensemble de mémoire video ou ä une mémoire à acces aléatoire (RAM) vidéo, d'un Systeme de traitement de données. Une periode d'acces CPU est assurée entre les périodes d'accès successives de l'unite de commande CRT. La logique d'arbitrage est incluse pour détermìner la priorité d'accès de l'unite de commande CRT
<Desc/Clms Page number 3>
EMI3.1
lorsqu'il y a conflit entre l'unité CPU et l'unitd de commande CRT. 11 n'est pas fait mention de l'adaptation du schéma d'arbitrage à l'activité de l'unite de commande CRT.
A titre d'autre exemple, le brevet des EUA n04. 117. 469 décrit un terminal de calculateur comprenant un affichage CRT, un microprocesseur et une mémoire à acces aléatoire qui emmagasine des codes de caracteres comme informations à afficher sur l'ecran CRT et qui servent de mémoire de travail pour le processeur. Le traitement de l'affichage est imbrique avec d'autres travaux du microprocesseur.
On peut citer ä titre d'autre exemple, le brevet des EUA n04. 577. 344 qui présente un système de traitement de signaux vidéo représentant des images détectées. Les signaux vidéo sont alimentes au travers d'un multiplexeur ä un processeur video et un affichage. Les signaux vidéo sont prétraités et emmagasines dans le processeur vidéo qui a une memoire partagee. Une unité de commande de calculateur a acces ä la mémoire partagee par un bus commun et commande le fonctionnement du processeur vidéo en réponse ä des signaux de commande issus de dispositifs périphériques.
Un objet principal de la présente invention est de permettre une utilisation plus efficace et plus rapide d'une memoire video dans un ensemble graphique video (VGA) par une unite de commande vidéo et une unite centrale de traitement, l'ensemble VGA fonctionnant dans divers modes d'affichage classes selon la résolution, la couleur et des attributs tels que le changement du niveau d'intensité, la vidéo inverse, les caractères de soulignement et autres.
<Desc/Clms Page number 4>
Résumé de l'invention Comme indique précédemment, la carte d'adaptation graphique améliorée (EGA) attribue des cycles pour l'acces ä la memoire ä la fois par l'unite de commande video et 1'unité CPU. Dans les deux modes de fonctionnement ä grande vitesse et ä faible vitesse, l'unite CPU a toujours 1 cycle sur 3 pendant lequel elle peut acceder à la mémoire video.
Selon les enseignements de la presente invention, un nombre minimal garanti de cycles est assuré pour l'accès de la memoire video par l'unité CPU en mode à grande vitesse mais en outre, l'arbitrage permet l'acces de l'unite CPU pendant des périodes de non affichage si bien que l'unite CPU peut beneficier d'un plus grand nombre de cycles si necessaire. En mode à faible vitesse, l'arbitrage se déroule ä la fois pendant les periodes d'affichage et de non affichage si bien que l'unite CPU peut bénéficier d'un plus grand nombre de cycles de mémoire suivant nécessité.
La pratique de la presente invention permet d'assurer une amelioration significative des performances par l'augmentation de la largeur de bande de la mémoire video disponible pour l'unite CPU.
La carte d'adaptation graphique amelioree indiquée precedemment ainsi que le sous système video decrit ici, utilisent au moins une memoire ä accès aléatoire dynamique (RAM) pour emmagasiner des données ä afficher sur un tube cathodique (CRT). La mémoire est lue en permanence par l'unite de commande vidéo pour mettre l'ecran ä jour. L'acces ä cette mémoire est donné ä l'unite CPU principale par des cycles de memoire attribues mis de cote pour son utilisation.
Une unite
<Desc/Clms Page number 5>
d'arbitrage de cycle de mémoire est utilisée pour determiner ces cycles attribues ä l'unite CPU tout en assurant en même temps la délivrance des données ä l'unité de commande CRT ä la vitesse requise pour une révision appropriée de l'écran. Dans la présente invention, le concept ajuste automatiquement (pas d'intervention du logiciel) la vitesse d'arbitrage aux exigences relatives aux données de l'écran et donne ä 11 uni té CPU la largeur de bande de mémoire maximale pendant les périodes de non affichage ä l'écran.
L'unité d'arbitrage vidéo surveille l'activité de l'affichage a cran et de l'unite de commande vidéo et aussitôt que l'affichage ä l'ecran n'est plus requis indépendamment du moment, l'unite CPU peut acceder ä la memoire vidéo pendant le cycle ou les cycles au cours desquels apparalt cette inactivité de l'affichage.
Pour une meilleure comprehension de la présente invention ainsi que d'autres caractéristiques et avantages de celle ci, on se reportera ä la description qui va suivre faite en se référant aux dessins ci joints tandis que le cadre de l'invention sera delimite par les revendications jointes ä la presente description.
Breve description des dessins En se reportant aux dessins, on voit que : La figure lA est une représentation schématique generale du sous système de mémoire et du dispositif d'arbitrage vidéo decrit ici.
La figure 1B montre les relations existant entre divers éléments du sous systeme vidéo de la figure lA avec des références aux autres figures des dessins.
<Desc/Clms Page number 6>
La figure IC est une représentation schématique plus détaillée du sous Systeme de mémoire et du dispositif d'arbitrage vidéo de la figure 1A.
La figure 2 represente la génération des cycles d'arbitrage et de memoire tandis que la figure 3 représente la logique de commande de l'interface CPU et des bascules de données.
La figure 4 illustre la construction logique du générateur de cycles de memoire du sous Systeme vidéo.
La figure 5 illustre la construction logique de l'unité d'arbitrage ä grande vitesse.
La figure 6 illustre la construction logique du générateur d'horloge.
Les figures 7A, 7B et 7C illustrent des signaux pour des chronologies du mode ä 8 points, du mode ä 9 points avec un cycle de mémoire ä 8 points et du mode ä 9 points avec un cycle de ma-moire ä 7 points, respectivement.
Les figures 8A et 8B représentent des signaux apparaissant pendant des cycles d'arbitrage ä grande vitesse pour des operations de lecture CPU et d'écriture CPU, respectivement.
Les figures 9A et 9b sont des representations schématiques de signaux de cycles d'arbitrage ä faible vitesse pour des operations de lecture CPU et d'écriture CPU, respectivement.
<Desc/Clms Page number 7>
Description détaille La figure lA illustre le sous systeme de mémoire video et comprend la mémoire vidéo 13 qui emmagasine les données pour affichage sur un moniteur CRT 1. La memoire video 13 est accédée par l'unité CPU 2 pour ecrire et mettre ä jour les données et pour lire les donnees ä l'occasion, et peut aussi être accédée par l'unité de commande Video ou CRT 10 pour être utilisée pour la commande de l'affichage reel sur le moniteur 1.
L'acces de la memoire vidéo 13 par l'unite CPU 2 et l'unite de commande vidéo 10 est commandé sur une base multiplexée cyclique par l'unité d'arbitrage video
EMI7.1
(cycle de memoire) 11.
La figure 1B est agencée pour montrer les relations existant entre les éléments formant le sous système vidéo avec références aux autres figures des dessins.
Sont compris les blocs 5a-5f qui représentent les figures lC et 2-6, respectivement.
La figure 1C montre le sous Systeme de memoire vidéo qui comprend une unite d'arbitrage de cycle de memoire 11. L'unité d'arbitrage de cycle de memoire 11 delivre des signaux de commande sur les lignes 110 à la mémoire video 13, la commande de selection d'adresse au multiplexeur (MUX) 12 par le signal CPU/CRT sur la ligne 109 et la commande des bascules de données par un signal de bascule CRT sur la ligne 111 et le signal BASC. CPU sur la ligne 112. Le signal LECT. CPU- sur la ligne 106 et le signal ECRIT. CPU- sur la ligne 107 sont issus de CPU2 et indiquent ä l'unite d'arbitrage vidéo (cycle de mémoire) 11 que l'unite CPU desire amorcer une opération de lecture ou d'ecriture de la mémoire vidéo 13.
L'unité d'arbitrage 11 utilise le
<Desc/Clms Page number 8>
signal PRET sur la ligne 108 pour indiquer ä l'unite CPU le moment où le cycle requis est termine.
Lorsque l'unité CPU lit la mémoire video 13, le signal d'adresse CPU sur la ligne 100 est couple au bus d'adresse de memoir vidéo 102 par MUX 12. Le signal CPU/CRT sur la ligne 109 sélectionne l'entree d'adresse, l'adresse CPU 100 ou l'adresse CRT 101 qui est presentee sur le bus d'adresse 102. Les donnees de mémoire video sur le bus 103 sont verrouillées dans les bascules CPU 15 par le signal BASC. CPU sur la ligne
EMI8.1
112 et envoyees ä l'unite CPU par le bus de donnees 105, l'unite de commande graphique 14 et le bus de données CPU 104. Lorsque l'unite CPU écrit ä la mémoire vidéo 13, le signal d'adresse CPU sur la ligne 100 est couple au bus d'adresse de memoire vidéo 102 par MUX 12.
Les données d'ecriture issues de l'unite CPU sont envoyees ä la mémoire vidéo 13 par le bus de donnees CPU 104, l'unité de commande graphique 14 et le bus de données 103.
L'unite de commande CRT 10 genere le signal d'adresse d'ecran CRT sur la ligne 101 qui est envoyé par MUX 12 pour adresser la memoire video 13. Les données de révision d'ecran CRT passent aux bascules CRT 16 par le bus de données 103 et sont verrouillees par le signal BASC. CRT sur la ligne 111. Les données d'ecran dans les bascules CRT sont envoyées ä l'unite de commande d'attributs 18 par le bus de donnees 114 ou par le bus 115, les registres ä décalage 17 et le bus 116. L'unite de commande d'attributs 18 met au format les données CRT et les envoie au moniteur d'affichage video par le bus 117.
L'unité d'arbitrage vidéo (cycle de mémoire) 11 décide si c'est l'unite de commande CRT 10 ou l'unite CPU 2 qui doit utiliser la mémoire vidéo 13 ä un instant
<Desc/Clms Page number 9>
donné. L'unité de commande CRT 10 a besoin d'accéder en permanence ä la mémoire video 13 pendant les intervalles vidéo actifs afin de maintenir l'image video sur le moniteur d'affichage vidéo. La vitesse des données requise pour maintenir l'image vidéo pendant des intervalles vidéo actifs est déterminée par le mode de fonctionnement du sous système video.
Le sous Systeme video est capable de fonctionner dans de nombreux modes differents y compris les modes alphanumeriques et graphiques ä plusieurs resolutions de caractères ou pixels. Par exemple, le sous système vidéo peut afficher 640 pixels horizontaux sur 200 lignes verticales et des graphiques en 16 couleurs et 640 pixels horizontaux sur 200 lignes verticales et des graphiques en 2 couleurs. Ceux ci constituent deux des nombreux modes de fonctionnement du sous système vidéo et sont affectés d'exigences differentes en ce qui concerne la vitesse des données d'écran.
L'unite d'arbitrage de cycle de memoire 11 détecte la vitesse requise des données d'écran et ajuste l'arbitrage de cycle de memoire en consequence. L'unite d'arbitrage de cycle de memoire 11 ajuste aussi l'arbitrage pendant les instants où les signaux de conditionnement d'affichage horizontal et vertical sont inactifs pour donner ä l'unite CPU tous les cycles disponibles (sauf pour les cycles de révision de memoire) de la mémoire video 13.
Le changement d'arbitrage pendant les périodes de non affichage ainsi que pendant les intervalles de retrace et non pas pendant les intervalles de retrace seulement comme dans l'art antérieur, permet une largeur de bande plus importante de la mémoire vidgo 13 à l'unité CPU étant
EMI9.1
donnd que les intervalles de retrace tombent ä llinterieur des intervalles de non affichage.
<Desc/Clms Page number 10>
Les figures 2 et 3 forment une représentation schematique plus détaillée de l'unite d'arbitrage de cycle de mémoire 11. La figure 2 montre la logique de generation de cycle de mémoire et d'arbitrage tandis que la figure 3 montre la logique de commande des bascules de donnees et d'interface CPU. En se reportant
EMI10.1
ä la figure 2, on voit que l'unite d'arbitrage VGA est composée de deux sections principales 3 et 4.
La premiere est "l'unit d'arbitrage de temps ecran actif" (ASTA) qui assure des attributions de cycle de memoire en se fondant sur des exigences d'affichage actif. Les blocs 22,23 et 24 de la figure 2 forment cette section. Le bloc 22 est l'unitd d'arbitrage ä vi tesse élevée gui est une unite d'arbitrage du type attribution de vitesse fixe utilisee dans les modes vidéo qui requierent des vitesses de données d'ecran élevées. Le bloc 23 est l'unité d'arbitrage de vitesse faible qui est une simple bascule SR qui forme une unite d'arbitrage du type requete/accuse de reception.
EMI10.2
Le bloc 24 est le multiplexeur qui selectionne l'unité d'arbitrage qui est utilisée pour effectuer les attributions de cycle de mémoire.
MUX est commande par un signal de sé1ection généré par la logique qui contrôle le mode de fonctionnement vidéo afin de déterminer si c'est un arbitrage ä vitesse elevee ou faible qui est approprie.
La sortie de ASTA est envoyée ä"l'unite d'arbitrage de temps écran actif/inactif" (AISTA). Cette section surveille l'intervalle d'affichage horizontal et vertical, bloc 25. Si l'écran est actif ou si la revision de mémoire est entrain de se dérouler, bloc 26, la sortie de ASTA est alors transferee par l'horloge 27 ä la bascule d'attribution de cycle de memoire, bloc 28. Autrement, le cycle de memoire suivant est repéré pour l'unité CPU. De nombreuses formes de signaux et relations de chronologie sont
<Desc/Clms Page number 11>
representees aux figures 7A, 7B et 7C. On se reportera aussi aux figures 8A et 8B qui illustrent des formes de signaux et des relations de chronologie pendant les cycles d'arbitrage à grande vitesse (mode ä grande vitesse) pour la lecture CPU et l'ecriture CPU, respectivement.
D'autres formes intdressantes de signaux pour le mode ä faible vitesse, sont représentées à 1a figure 9A, Operation de lecture CPU et ä la figure 9B, opération d'écriture CPU.
Le signal SORTIE UNITE ARBITRAGE sur la ligne 219, Figure 2, est généré par une bascule du type D 28 synchronisee par un signal HORLOGE ATTRIBUTION sur la ligne 404. L'entree de données de DFF 28 est constituee par le signal ETAT ARB SUIVANT sur la ligne 218. Le signal ETAT ARB SUIVANT sur la ligne 218 réfléchira le signal SORTIE ARB ECRAN ACTIF sur la ligne 210 si le signal CONDIT. AFFICH. HORIZ. sur la ligne 113. 3 et le signal CONDIT. AFFICH. VERT. sur la ligne 113. 4 sont actifs ou si le signal REVISION MEMOIRE sur la ligne 113. 5 est actif. Le circuit ET 25, le circuit OU 26 et le circuit ET 27 assurent cette fonction. Le signal CONDIT. AFFICH. HORIZ. sur la ligne 113. 3 et le signal CONDIT. AFFICH.
VERT. sur la ligne 113. 4 sont en généra1 générés dans un adaptateur comme l'adaptateur graphique amélioré indiqué précédemment. Le signal REVISION MEMOIRE sur la ligne 113. 5 est ä la même
EMI11.1
frequence que le signal CONDIT. AFFICH. HORIZ. 11. 3 et consiste en une impulsion logique positive longue de 3 ou 5 périodes de caractere, apparaissant une periode de caractere après le passage du signal CONDIT. AFFICH.
HORIZ. 113. 3 du un logique au zero logique. Le signal SORTIE ARB ECRAN ACTIF sur la ligne 210 est utilisé lorsque l'écran CRT est dans un intervalle d'affichage actif. Le signal SORTIE ARB ECRAN ACTIF sur la ligne
EMI11.2
210 reflechira la sortie 208 de l'unité d'arbitrage ä grande vitesse 22 ou la sortie 209 de l'unite
<Desc/Clms Page number 12>
d'arbitrage à faible vitesse 23 suivant l'étant du signal ARB LIBRE de'commande du multiplexeur 24 sur la ligne 212 depuis le générateur d'horloge 20. Le générateur d'horloge 20 détecte les exigences relatives ä la vitesse des données dans le mode vidéo sélectionné et détermine automatiquement si c'est l'unite d'arbitrage ä grande vitesse 22 ou l'unite d'arbitrage ä faible vitesse 23 qui est appropriee pour l'attribution de cycles de mémoire.
L'unité d'arbitrage ä faible vitesse 23 est une simple bascule conditionnement/restauration (S-R) qui fonctionne comme une unite d'arbitrage du type demandetaccusé de reception. La demande ou entree S est constituée du signal DEMANDE CYCLE- sur la ligne 211 généré par le'générateur d'horloge 20. L'accuse de reception ou entrée Rest constitué du signal BASC CRT sur la ligne 220. Le signal BASC CRT sur la ligne 220 est utilise sur la figure 1C comme une impulsion de découpage de bascule de données qui verrouille les donnees de la memoire vidéo 13.
L'unite d'arbitrage à grande vitesse 22 est une unité d'arbitrage du type ä attribution dont la construction logique est representee a la figure 5. La figure 5 représente une unité d'arbitrage ä vitesse élevée 22 composée du compteur binaire 55, de la bascule D 57 et des portes ET négatif 56 et 58. Le signal HORLOGE UNITE ARBITRAGE sur la ligne 206 est genere par le générateur de cycle de memoire 21 et est utilise pour synchroniser le compteur binaire 55. La porte ET négatif 56 genere le signal de sortie de l'unite d'arbitrage ä grande vitesse 22 sur la ligne 208.
La porte ET negatif 56 conditionne le signal SORTIE GRANDE VITESSE 208 au zero logique (cycle CPU) chaque fois que le compte binaire dans le compteur 55 est égal ä cinq. La porte ET négatif 58 conditionne le signal-FORCE7 sur la ligne
<Desc/Clms Page number 13>
207 au niveau bas chaque fois que le compte binaire dans le compteur 55 est égal à six. Le signal -FORCE7 sur la ligne 207 est utilise pour re-synchroniser le générateur de cycle de mémoire 21 après chaque 8ième
EMI13.1
cycle de memoire dans les modes video qui utilisent 9 periodes d'horloge d'entree pour chaque emplacement de caractère sur l'ecran comme on le voit sur les figures 7B et 7C. Dans les modes vidéo qui utilisent 8 périodes d'horloge d'entree pour chaque caractère comme on le voit sur la figure 7A, on ignore ce signal.
La bascule D (DFF) 57 est utilisée pour assurer l'immunité au bruit du signal CORRECT PHASE sur la ligne 221 qui synchronise le compteur binaire au début d'une ligne de balayage horizontal.
En se reportant ä nouveau ä la figure 2, on voit que le générateur de cycle de mémoire 21 génère les signaux de commande pour la memoire video 13 ainsi que des horloges pour l'unite d'arbitrage ä grande vitesse 22 et la bascule (DFF) de sortie d'unité d'arbitrage 28.
La figure 4 illustre la construction logique du générateur de cycle de memoire 21. Des bascules D (DFF) 43, 44, 45 et 49 forment un registre ä décalage dont la sortie est renvoyee ä son entree par la ligne 400. Le signal RAS sur la ligne 110. 1, le signal MUX sur la ligne 204 et le signal CAS sur la ligne 110. 2 sont des impulsions au niveau haut actives qui sont déphasées de une periode d'horloge d'entree chacune. Le signal RAS sur la ligne 110. 1 et le signal CAS sur la ligne 110. 2 sont delivres par l'intermediaire du bus COMMANDE MEMOIRE 110 de la figure 1.
Le bloc ET-OU 48 est utilisé pour forcer le cycle de reaction du registre ä decalage ä sept (7) horloges d'entree en selectionnant la sortie de l'etage de la troisième bascule (DFF 45) pendant la premiere moitie du cycle de réaction et en sélectionnant l'etage de la seconde bascule (DFF 44) pendant la seconde moitie du cycle de reaction. Le
<Desc/Clms Page number 14>
circuit ET 46 et le circuit OU 47 sont utilisés pour forcer le cycle de reaction à 8 horloges d'entrée pendant les modes qui utilisent 9 periodes d'horloge pour un seul emplacement de caractère sur l'écran CRT. Le signal M9 sur la ligne 410 est une sortie à bit unique d'un registre programmable a logiciel qui
EMI14.1
indique au matériel vidéo de prévoir un encadrement de caractere de 9 horloges de long.
Le signal -FORCE7 sur la ligne 207 est généré par l'unite d'arbitrage ä haute vitesse 22 et force un cycle de reaction de 7 horloges une fois tous les 8 cycles de réaction. Cette opération est effectuee pour re-aligner les cycles de mémoire générés et l'unite d'arbitrage ä grande vitesse 22 avec le signal S/-L sur la ligne 118, Figure lC, qui commande les registres ä decalage de sortie video 17.
Le signal-PHASE CORRECT sur la ligne 221 est utilise pour synchroniser la logique de generation de cycle de memoire et l'unité d'arbitrage à grande vitesse 22 au début d'une ligne de balayage horizontale sur l'écran CRT. Le circuit ET 54 permet au signal-PHASE CORRECT sur la ligne 221 d'éviter au registre ä decalage de cycle de mémoire de démarrer un nouveau cycle en interrompant la boucle de réaction sur la ligne 400. Le registre à decalage de cycle de mémoire est déconditionné (toutes les unites DFF sont restaurdes) tandis que le signal-PHASE CORRECT sur la ligne 221 est actif. Le signal-SYNC2 sur la ligne 113. 2 est généré par l'unite de commande CRT 10, Figure IC, et indique la position de caractere juste avant le debut de la ligne de balayage horizontale.
Le signal ATRS/-L sur la ligne 120 est un signal utilisé pour commander des données dans l'unite de commande d'attribut 18, figure 1C. La chronologie du signal-PHASE CORRECT sur la ligne 221 est précisément commandé par le circuit OU négatif 50, la bascule JK 51 et le circuit OU 53 et est dérivée du signal ATRS/-L sur la ligne 120 et du signal
<Desc/Clms Page number 15>
- SYNC2 sur la ligne 113. 2. La commande précise de la phase du signal-PHASE CORRECT sur la ligne 221 interdit les variations du retard de propagation des signaux de microplaquette ä microplaquette qui sont inherentes au procédé de fabrication IC.
L'état initial de la logique de commande avec le signal - SYNC2 sur la ligne 113. 2 au niveau haut correspondra ä l'état restauré de la bascule JK 51 (le signal sur la ligne 407 est au niveau bas) et au signal-PHASE CORRECT sur la ligne 221 au niveau haut. Lorsque le signal-SYNC2 sur la ligne 113. 2 passe au niveau bas, le circuit OU 53 conditionne le signal-PHASE CORRECT sur la ligne 221 au niveau bas lorsque le registre ä decalage de cycle de memoire entre dans la seconde moitie du cycle de fonctionnement (comme indique par le signal RAS sur la ligne 110. 1 qui est au niveau bas).
Le signal-PHASE CORRECT sur la ligne 221 étant actif, le registre ä decalage de cycle de memoire est libre de terminer le cycle de mdmoire courant mais ne peut pas en commencer un autre. Le circuit restera dans cet etat jusqu'd ce que le signal ATRS/-L sur la ligne 120 passe au niveau bas, signifiant ainsi que 1 J état du signal - SYNC2 sur la ligne 113. 2 au niveau bas, que la ligne de balayage horizontale du CRT commencera avec le cycle d'horloge suivant. A cet instant, la sortie 406 du circuit OU négatif 50 passe au niveau haut et la sortie 407 de la bascule JK 51 passera au niveau haut au signal HORLOGE suivant sur la ligne 201, forçant le signal-PHASE CORRECT sur la ligne 221 ä l'état inactif.
Le circuit restera dans cet état jusqu'd ce que le signal -SYNC2 sur la ligne 113. 2 passe au niveau haut, maintenant le signal-PHASE CORRECT sur la ligne 221 ä l'état inactif et restaurant la bascule JK 51.
Le fonctionnement interne du générateur d'horloge 20 est represente la figure 6. Un signal d'horloge
<Desc/Clms Page number 16>
principal sur la ligne 201 commande la bascule (TFF) 61 et l'une des entrees du bloc MUX 60. La bascule 61 divise la fréquence de l'horloge principale 201 par 2 et presente le resultat ä l'autre entree de MUX 60 par la ligne 600. Le signal VITESSE POINTS sur la ligne 602 est constitue par une sortie ä bit unique d'un registre programmable par logiciel qui indique au generateur d'horloge la fréquence d'horloge qui est ä utiliser pour la vitesse de points video.
La sortie du bloc MUX 60 devient le signal HORLOGE POINTS sur la ligne 601. Le signal HORLOGE POINTS sur la ligne 601 est utilise comme horloge pour un circuit de registre ä decalage composé du bloc de registre à decalage 63 et de la bascule (DFF) D 65. Ce registre A decalage fonctionne de la meme maniere que le registre ä decalage dans le générateur de cycle de mémoire 21 de la figure 4. Le circuit ET 62 fournit la réaction pour la boucle de registre à décalage. Le registre ä décalage aura une longueur de cycle de 8 ou 9 HORLOGE POINTS sur la ligne 601 suivant l'état du signal M9 sur la ligne 410.
Lorsque M9 sur la ligne 410 est un 1 logique (le mode 9 points est sélectionné), la bascule D 65 introduit une periode HORLOGE POINTS supplementaire par la ligne 601 pendant la seconde moitie du cycle de reaction du registre ä decalage. Le signal -HORLOGE CARACTERE sur la ligne 119 est l'horloge utilisee pour synchroniser l'unite de commande CRT 10 de la figure IC. Des signaux sur les lignes 607,608, 609 et 610 (en modes ä 9 points) ressembleront tous aux signaux-HORLOGE CARACTERE sur la ligne 119 mais seront déphasés de une periode HORLOGE POINTS (ligne 601) chacun.
Le signal ATRS/-L sur la ligne 120 est utilise par l'unité de commande d'attribut 18 de la figure 1C et est genere par le bloc ET negatif 64. Le signal
<Desc/Clms Page number 17>
- HORLOGE CARACTERE sur la ligne 119 et les signaux 609 et 610 constituent les entrees du bloc ET negatif 64. La chronologie du signal ATRS/-L sur la ligne 120 est représentée aux figures 7A, 7B et 7C. Le signal - REQUETE CYCLE sur la ligne 211 est utilise pour indiquer ä l'unite d'arbitrage ä faible vitesse 23 qu'un cycle de mémoire CRT doit être execute. Le signal - REQUETE CYCLE sur la ligne 211 est généré par le bloc ET negatif 67. La sortie du circuit OU 68 (le signal sur la ligne 212) est utilisée comme conditionnement pour le signal -REQUETE CYCLE.
Le signal-REQUETE CYCLE sur la ligne 211 sera généré si le signal LIBRE ARB sur la ligne 212 est actif, c'est a dire si la fréquence HORLOGE POINTS (ligne 601) sélectionnée est l'HORLOGE principale 201 divisee par 2 ou si les registres ä décalage 17 de la figure IC sont programmes dans un mode de fonctionnement ä décalages multiples somme indique par l'état 1 logique du signal sur la ligne 615.
Le mode ä decalages multiples signifie que les données de la memoire vidéo 13 ne doivent pas tre decoupees dans les bascules CRT 16, figure lC, pour chaque cycle du signal-HORLOGE CARACTERE sur la ligne 119. Des modes disponibles verrouillent les donnees de la memoire video 13 tous les 2 ou 4 cycles de-HORLOGE CARACTERE 119.
Les signaux sur les lignes 618 et 619 sont utilises dans les modes ä décalages multiples comme signaux de conditionnement secondaire qui permettent ä-DEMANDE CYCLE (ligne 211) d'être activé une fois tous les 2 ou 4 cycles du signal-HORLOGE CARACTERE sur la ligne 119.
Le bloc ET-OU 66 genere un signal sur la ligne 612 qui constitue la sortie finale du bloc ET negatif 67. Le signal sur la ligne 612 est généré une fois ä chaque cycle de -HORLOGE CARACTERE (ligne 119) dans l'une des
<Desc/Clms Page number 18>
deux positions HORLOGE POINTS (ligne 601). La position HORLOGE POINTS utilisee est choisie suivant que la fréquence HORLOGE POINTS est egale au signal HORLOGE sur la ligne 201 ou au signal HORLOGE sur la ligne 201 divisé par 2. Le signal VITESSE POINTS sur la ligne 602 selectionne la partie ET du bloc ET-OU 66 qui est responsable de la sélection de la position HORLOGE POINTS.
Dans les modes où le signal HORLOGE POINTS sur la ligne 601 est ä la même fréquence que le signal HORLOGE sur la ligne 201, le signal sur la ligne 612 est le ET logique du signal-HORLOGE CARACTERE sur la ligne 119 et du signal sur la ligne 607. Dans les modes où HORLOGE POINTS 601 est ä la moitie de la frequence de HORLOGE 201, le signal sur la ligne 612 est le ET logique des signaux sur les lignes 608 et 609.
La variation de la position du signal 612 et donc de - REQUETE CYCLE sur la ligne 211 aux vitesses de points faible et enlevée, a pour but de positionner les cycles de memoire CRT arbitrés de façon qu'il y ait deux cycles de mémoire ou plus disponibles pour le CPU entre chaque cycle CRT. Ceci évite aux cycles CRT de se regrouper et de demander ä l'unite CPU d'attendre plus longtemps ä n'importe quel instant donne pour un cycle de mémoire disponible.
Le signal S/-L sur la ligne 118 commande l'Operation de charge et de decalage des registres à décalage vidéo 17 de la figure 1C. Le signal S/-L 118 sur la ligne 118 est généré par le bloc ET negatif 74 et utilise le signal ATRS/-L sur la ligne 120 comme une de ses entrées. Les deux autres entrees sont des signaux sur les lignes 618 et 619 qui servent de signaux de conditionnement permettant aux signaux S/-L sur la ligne 118 d'apparaître comme des signaux ATRS/-L sur la
<Desc/Clms Page number 19>
ligne 120 une fois tous les l, 2 ou 4 cycles -HORLOGE CARACTERE 119. Des signaux sur les lignes 618 et 619 sont générés par les bascules (TFF) 72 et 73 qui sont configurées comme un compteur d'ondulation ä deux bits synchronise par le signal sur la ligne 608.
Le signal sur la ligne 608 est choisi comme une horloge donnant du temps aux sorties des bascules pour se stabiliser avant le changement du signal ATRS/-L sur la ligne 120.
Le circuit OU 69, le circuit ET 70 et le circuit ET 71 sont utilises pour commander le fonctionnement des bascules. Le signal -SYNC1 sur la ligne 113. 1 étant au niveau bas, les bascules sont maintenues ä l'etat restauré et le signal S/-L sur la ligne 118 semble identique au signal ATRS/-L sur la ligne 120.
Le signal
EMI19.1
- SYNC1 sur la ligne 113. 1 est genére par l'unite de commande CRT 10 de la figure IC et synchronise le compteur ä deux bits au debut d'une ligne de balayage horizontal sur le moniteur d'affichage.-SYNC1 113. 1 est similaire au signal CONDITIONNEMENT AFFICHAGE HORIZONTAL sur la ligne 113. 3. Lorsque le signal-SYNC1 sur la ligne 113. 1 est au niveau haut, le signal SL2 sur la ligne 604 et le signal SL4 sur la ligne 605 commandent les bascules 72 et 73. Le signal SL2 sur la ligne 604 et le signal SL4 sur la ligne 605 sont des sorties à bit unique d'un registre programmable par logiciel.
Si le signal SL2 sur la ligne 604 est un"l" logique, la bascule 72 peut alors basculer, le signal sur la ligne 608 provoquant l'apparition du signal S/-L sur la ligne 118 une fois tous les deux signaux - HORLOGE CARACTERE sur la ligne 119. Si le signal SL4 sur la ligne 605 est un"l"logique, les bascules 72 et 73 peuvent toutes les deux basculer, ce qui provoque l'apparition du signal S/-L sur la ligne 118 une fois tous les quatre cycles -HORLOGE CARACTERE (ligne 119).
La figure 3 montre la logique qui forme la section de commande d'interface de bascule de l'unite d'arbitrage
<Desc/Clms Page number 20>
de cycle de mémoire 11. Le signal BASCULE CRT sur la ligne 111 est généré par le bloc ET négatif 32 dont les entrees MUX sont appliquees par la ligne 204 et un signal sur la ligne 301 qui constitue la sortie du registre ä decalage 30. Le signal MUX sur la ligne 204 commande la forme et la chronologie du signal BASCULE CRT sur la ligne 111 tandis que le signal sur la ligne 301 est un signal de conditionnement qui est derive du signal SORTIE UNITE ARBITRAGE sur la ligne 219 retarde de trois périodes HORLOGE (ligne 201). D'une manière similaire, le signal BASCULE CPU sur la ligne 112 est généré par le bloc ET negatif 33.
Les entrees de ET négatif 33 sont alimentées par le signal MUX sur la ligne 204 et le signal sur la ligne 301 ainsi que le signal-LECTURE CPU sur la ligne 106 et le signal sur la ligne 304. Le signal-LECTURE CPU sur la ligne 106 est un signal de commande issu de l'unite CPU 2 qui indique que l'unite CPU 2 desire lire la memoire video 13. Le signal sur la ligne 304 est la sortie de la bascule D 36 et indique que le cycle de la mémoire video courante 13 est actuellement utilise par l'unite CPU. Le signal CPU/CRT sur la ligne 109 utilise ä la
EMI20.1
figure 1C pour commander le bloc MUX 12, est genere par le bloc ET négatif 43.
Si le cycle de mémoire courant est arbitre en faveur de l'unite CPU (SORTIE UNITE ARBITRAGE sur la ligne 219 au niveau haut) et si l'unité CPU est entrain d'utiliser le cycle (le signal sur la ligne 303 est au niveau haut), le signal CPU/CRT sur la ligne 109 sera alors au niveau bas, ce qui selectionnera l'entrée d'adresse CPU du bloc MUX 12. Le signal WE sur la ligne 110. 3 est un signal de commande ä la memoire video 13 qui indique une opération d'écriture.
Le signal WE sur la ligne 110. 3 est généré par le circuit ET 37 qui reçoit comme entrees un signal sur la ligne 304, le signal -ECRITURE CPU sur la ligne 107 et le signal sur la ligne 301 qui
<Desc/Clms Page number 21>
sont tous des signaux de conditionnement et un signal sur la ligne 300 qui commande la forme et la chronologie du signal WE sur la ligne 110. 3. Les signaux sur les lignes 301 et 304 sont comme décrits ci dessus tandis que le signal -ECRITURE CPU sur la ligne 107 est un signal de commande issu de l'unite CPU qui indique que l'unité CPU desire écrire ä la mémoire vidéo 13.
Le signal sur la ligne 300 est le OU logique du signal MUX sur la ligne 110. 3 comme vu par la memoire vidéo 13 et passera ä l'etat actif à l'instant
EMI21.1
du signal RAS sur la ligne 110. 1 et ä 1'état inactif un cycle HORLOGE (ligne 201) avant le passage ä l'etat inactif du signal CAS sur la ligne 110. 2. Cette chronologie pour le signal WE sur la ligne 110. 3 repond aux specifications d'une memoire vidéo 13 relatives aux memoires RAM dynamiques pour un cycle d'écriture precedent.
Le signal PRET sur la ligne 108 est généré par le bloc ET negatif 41 de la maniere suivante. A l'état inactif dans lequel le signal-LECTURE CPU sur la ligne 106 et le signal -ECRITURE CPU sur la ligne 107 sont inactifs (niveau haut), le bloc ET negatif 42 passe le signal sur la ligne 306 au niveau bas, ce qui restaure les bascules D 39 ET 40 et maintient le signal PRET sur la ligne 108 ä l'étant actif (niveau haut). Lorsque l'unite CPU demande un cycle de mémoire video 13 en activant le signal-LECTURE CPU sur la ligne 106 ou le signal - ECRITURE CPU sur la ligne 107, le signal sur la ligne 306 passera au niveau haut et le signal PRET sur la ligne 108 passera ä l'etat inactif (niveau bas).
L'unité CPU maintiendra les etats courants du signal - LECTURE CPU sur la ligne 106 et le signal -ECRITURE CPU sur la ligne 107 jusqu'après le passage du signal PRET sur la ligne 108 ä nouveau au niveau haut. L'etat 1 logique du signal 306 sera verrouillé dans la bascule D 35 par le signal sur la ligne 302 qui est la fonction
<Desc/Clms Page number 22>
EMI22.1
- t tf ET du signal SORTIE UNITE ARBITRAGE sur la ligne 219 et le signal HORLOGE UNITE ARBITRAGE sur la ligne 206. Le circuit ÉT 34 assure cette fonction. Le signal sur la ligne 302 est une horloge qui apparaît lorsque le cycle de memoire video 13 suivant est disponible pour l'unite CPU. La sortie de la bascule D 35 est présentée comme des données à la bascule D 36.
Le bord arrière du signal CAS sur la ligne 110. 2 indique la fin du cycle de mémoire video 13 courant et est utilise pour découper ces données dans la bascule D 36, ce qui forme le signal sur la ligne 304 qui, lorsqu'il est au niveau haut, indique que le nouveau cycle de mémoire vidéo 13 courant est en cours d'utilisation par l'unite CPU. Le bloc ET negatif 38 utilise des signaux sur les lignes 304 et 301 pour conditionner le signal RAS sur la ligne 110. 1 comme une horloge ä la bascule D 39. Le bord arriere du signal RAS sur la ligne 110. 1 du cycle de mémoire video 13 de l'unite CPU verrouille un 1 logique dans la bascule D 39. Le signal sur la ligne 307 passe au niveau bas, ce qui restaure la bascule D 35 et le signal 308 passe au niveau haut.
Le bord arriere de CAS 110. 2 synchronise le niveau haut du signal 308 dans la bascule D 40, ce qui passe le signal 309 au niveau bas et le signal PRET sur la ligne 108 au niveau haut, ce qui indique ä l'unite CPU que le cycle de mémoire vidéo 13 est achieve. Le bord barriere du signal CAS sur la ligne 110. 2 synchronisera aussi le niveau bas de la sortie de la bascule D 35 dans la bascule D 36, ce qui passe ainsi le signal sur la ligne 304 au niveau bas. Le circuit restera dans cet etat jusqu'à ce que le signal-LECTURE CPU sur la ligne 106 et le signal - ECRITURE CPU sur la ligne 107 soient tous les deux ä nouveau au niveau haut.
A cet instant, le bloc ET négatif 42 passera le signal sur la ligne 306 ä nouveau au niveau bas, ce qui restaurera les bascules D 39 et 40 et maintiendra le signal PRET sur la ligne 108 au niveau haut au travers du circuit ET négatif 41. Le
<Desc/Clms Page number 23>
EMI23.1
circuit restera dans cet état jusqu'à ce que l'unite < 2 CPU conditionne à nouveau le signal-LECTURE CPU sur la ligne 106 ou le signal -ECRITURE CPU sur la ligne 107. Ainsi, l'unite d'arbitrage video surveille l'état de l'affichage à l'écran et lorsqu'il a été determine que l'affichage de l'écran ne sera pas à l'état actif, l'unite CPU est conditionnee pour avoir le cycle ou les cycles au cours desquels l'affichage à l'écran niest pas actif.
Bien qu'une realisation préférée de la présente invention ait été illustrée et décrite ici, il est evident qu'il n'est pas question de limiter ladite présente invention à la construction précise présentée ici et que nous réservons nos droits en ce qui concerne tous les changements et modifications qui pourraient y être apportés dans le cadre de celle ci tel que défini par les revendications ci jointes.