CH640076A5 - Ensemble de commande logique pour adresser des lignes d'informations video et procede pour le mettre en action. - Google Patents
Ensemble de commande logique pour adresser des lignes d'informations video et procede pour le mettre en action. Download PDFInfo
- Publication number
- CH640076A5 CH640076A5 CH659780A CH659780A CH640076A5 CH 640076 A5 CH640076 A5 CH 640076A5 CH 659780 A CH659780 A CH 659780A CH 659780 A CH659780 A CH 659780A CH 640076 A5 CH640076 A5 CH 640076A5
- Authority
- CH
- Switzerland
- Prior art keywords
- line
- unit
- output
- address
- gate
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 7
- 230000003213 activating effect Effects 0.000 title claims 2
- 230000015654 memory Effects 0.000 claims description 111
- 230000008859 change Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 description 12
- 238000012546 transfer Methods 0.000 description 10
- 101150043088 DMA1 gene Proteins 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000010200 validation analysis Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000005284 excitation Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 4
- 101150090596 DMA2 gene Proteins 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 2
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/22—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of characters or indicia using display control signals derived from coded signals representing the characters or indicia, e.g. with a character-code memory
- G09G5/222—Control of the character-code memory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Bus Control (AREA)
Description
La présente invention se rapporte à un ensemble de commande logique pour adresser des lignes d'informations vidéo stockées de façon arbitraire dans une unité mémoire et ayant des rubriques d'adresses de premiers multiplets de caractères variant verticalement et horizontalement dans l'unité mémoire, cet ensemble faisait partie d'un système de visualisation vidéo comprenant un ensemble de commande de tube cathodique, une unité centrale, un ensemble de synchronisation et ladite unité mémoire, l'ensemble de commande logique et un procédé de commande pour le mettre en action.
Les systèmes de visualisation vidéo ont généralement des lignes d'informations vidéo stockées dans des mémoires de visualisation dans un ordre prédéterminé. Chaque ligne a une longueur fixe et est lue dans la mémoire à son tour, les lignes étant lues successivement dans l'ordre dans lequel elles ont été stockées. Lorsqu'on veut insérer ou supprimer des lignes d'informations vidéo dans la mémoire de visualisation, il est nécessaire de reconstruire l'information vidéo stockée dans la mémoire.
L'invention vise un ensemble de commande logique pour terminal de visualisation vidéo dans lequel les lignes d'informations vidéo sont stockées de façon arbitraire dans la mémoire de visualisation et sont organisées pour pouvoir être reliées entre elles et former une page de visualisation de manière à pouvoir changer la composition d'une page de visualisation sans avoir à reconstruire l'information stockée dans la mémoire de visualisation. Ce but est atteint suivant l'invention par un ensemble et un procédé pour le mettre en action conformés aux revendications 1 et 2.
La présente invention se rapporte d'une façon générale aux commandes logiques pour le transfert d'informations vidéo entre une mémoire de visualisation et un écran cathodique et, plus particulièrement, elle concerne un ensemble de commande logique pour assurer le transfert de lignes d'informations vidéo situées de façon arbitraire dans la mémoire de visualisation de telle sorte que soit effectuée une modification dynamique d'une page de visualisation sans qu'il soit nécessaire de reconstruire l'information vidéo telle qu'elle est stockée dans la mémoire de visualisation.
L'avantage de l'ensemble de commande suivant l'invention et qu'il assure les changements dynamiques d'une page à visualiser sans nécessiter de reconstruction de l'information stockée dans la mémoire.
Dans un mode de réalisation particulier, les changements dynamiques des rubriques de la table de liaisons en mémoire peuvent être réalisés sous la direction d'un microprogramme câblé pendant le transfert des données de la mémoire.
L'invention est exposé en détail dans ce qui suit avec référence aux dessins ci-annexés sur lesquels:
la fig. 1 est un schéma fonctionnel d'un système de visualisation incorporant l'invention;
la fig. 2 est un diagramme montrant les temps des cycles et canaux sur les buts d'adresse et de données;
la fig. 3 est un schéma qui illustre le fonctionnement de la liaison des lignes d'informations vidéo suivant l'invention;
la fig. 4 est un schéma plus détaillé que celui de la fig. 3 pour illustrer le fonctionnement de l'ensemble selon l'invention;
les fig. 5 à 8 composent un schéma électrique d'un mode de réalisation de l'ensemble de logique selon l'invention;
la fig. 9 est un diagramme montrant plusieurs formes d'ondes de signaux de commande utilisés par l'ensemble de commande logique des fig. 5 à 8.
La fig. 1 est un schéma fonctionnel d'un système vidéo comprenant un ensemble de commande et de synchronisation 10, une unité de traitement centrale (CPU) 11, une unité mémoire 12 et un ensemble de commande d'écran cathodique 13. Les communications entre
5
10
15
20
25
30
35
40
45
50
55
60
65
3
640 076
les unités composant le système vidéo sont effectuées par l'intermédiaire d'un bus de données bidirectionnelles 14, d'un bus d'adresse 15 et d'un bus de commande 16. L'invention concerne en particulier l'ensemble de commande d'écran cathodique 13.
L'ensemble de synchronisation 10 engendre les signaux de temps pour les bus de données 14, d'adresse 15 et de commande 16. Les signaux de temps sont divisés en une phase d'adresse et une phase de données qui sont décalées. Les signaux de temps sont en outre divisés en cycles alternés d'unité centrale (CPU) et d'accès direct à la mémoire, par la suite dite DMA. Les cycles DMA sont utilisés par les sous-systèmes périphériques pour communiquer avec l'unité mémoire 12. L'unité centrale 11 est opérationnelle pendant les cycles CPU, tandis que l'ensemble de commande 13 est opérationnel pendant les cycles DMA.
L'unité mémoire 12 comprend une mémoire à accès sélectif (RAM) et une mémoire morte (ROM). Des microprogrammes se trouvent emmagasinés dans la mémoire morte pour commander l'ensemble des opérations du système. Des sections de la mémoire à accès sélectif sont cependant mises à part pour former des registres, des tampons et des zones de mots devant servir pendant le fonctionnement du système. L'unité mémoire 12 est opérationnelle pendant les cycles CPU et DMA. Lorsqu'une adresse mémoire est reçue par l'unité mémoire 12 de l'unité centrale 11 par le bus d'adresse 15 pendant un cycle de lecture mémoire, un mot de données est délivré par l'unité mémoire 12 sur le bus 14. Pendant un cycle d'écriture mémoire, un mot de données est reçu de l'unité centrale 11 sur le bus 14 et inscrit dans la mémoire à l'adresse désignée par l'unité centrale 11 sur le bus d'adresse 15.
L'unité centrale 11 est donc opérationnelle avec les bus 14 et 15 pendant les cycles CPU. Pendant le fonctionnement du système, l'unité centrale 11 peut lire ou écrire une information dans la mémoire à accès sélectif (RAM) de l'unité 12 afin d'assurer la gestion nécessaire du système. L'unité centrale 11 commande en outre le fonctionnement général du système par la truchement d'un microprogramme stocké dans la mémoire morte (ROM) de l'unité 12.
L'ensemble de commande 13 est opérationnel pendant les cycles DMA pendant lesquels il envoie des signaux d'adresse mémoire à l'unité mémoire 12 par le bus d'adresse 15. Les informations de commande et les caractères de données se trouvent ainsi adressés pour chaque ligne d'informations délivrée par l'unité mémoire 12 sur le bus de données 14.
On donne ci-après une brève description des signaux de commande engendrés et reçus par l'ensemble de synchronisation 10 au moyen du bus de commande 16 pendant le fonctionnement du système:
CPUADR-00 Commande adresse unité centrale
Ce signal détermine les temps des cycles CPU et DMA sur le bus d'adresse 15. Lorsque ce signal est à l'état bas, les lignes d'adresse d'unité centrale sont connectées au bus d'adresse 15; lorsque le signal est à l'état haut, les lignes d'adresse d'accès direct à la mémoire DMA sont connectées au bus 15.
CPUDAT-00 Commande données unité centrale
Ce signal détermine les temps des cycles DMA et CPU. Lorsque ce signal est à l'état bas, l'unité centrale commande le sens et le but du bus de données 14. Lorsque le signal est à l'état haut, les dispositifs d'accès direct à la mémoire commandent le bus 14.
BUSRWC+00 Commande écriture/lecture bus
Ce signal détermine le type de transfert de données sur le bus 14.
11 est valide pendant l'intervalle CPUADR pour cette phase du cycle de bus. Lorsque ce signal est à l'état logique 1 pendant un cycle CPU, une donnée est extraite d'un dispositif tel que l'unité mémoire
12 et envoyée à l'unité centrale 11 sur le bus de données 14. Si le signal est à l'état logique 0, la donnée est envoyée de l'unité centrale 11 dans l'unité mémoire 12 sur le bus 14. Lorsque le signal est à l'état logique 1 pendant un cycle DMA, une donnée est extraite de la mémoire 12 et envoyée à l'ensemble de commande 13 sur le bus 14. Si le signal est à l'état logique 0, une donnée est envoyée de l'ensemble de commande 13 à l'unité mémoire 12 sur le bus 14.
DMAREQ Requête DMA
Le signal DMAREQ+01 est attribué à l'ensemble de commande 13. Dans le mode de réalisation préféré décrit ici, il y a quatre intervalles de temps: DMA1, DMA2, DM A3 et DM A4. Un sous-système demande un cycle de bus DMA attribué en portant son signal DMAREQ à l'état logique 0.
DMAKX0- Accusé de réception DMA
Les quatre signaux d'accusé de réception DMAK10-, DMAK 20-, DMAK30- et DMAK40- déterminent les intervalles de temps respectifs sur le bus de commande 16 lorsqu'ils sont à l'état logique 0.
BRESET-00 Remise à zéro bus
Ce signal est utilisé par l'unité centrale 11 pour vider les registres et remettre les bascules à zéro dans tout le système. La remise à zéro du système se produit lorsque le signal passe à un état logique 0.
La fig. 2 illustre la séparation des périodes de temps de bus en cycles CPU et DMA. Les temps de cycles de bus d'adresse et de bus de données sont divisés en canaux de cycles DMA et CPU. Les cycles DMA se produisent dans l'ordre DMA], DMA2, DMA3 et DMA4. Chacun de ces cycles se répète approximativement toutes les 4 us dans l'exemple décrit. L'unité centrale 11 est opérationnelle pendant chaque cycle PCU sur le bus de données 14 ou sur le bus d'adresse 15. L'ensemble de commande 13 est exclusivement opérationnel pendant les cycles DMA1 afin de réaliser un affichage vidéo sur l'écran cathodique avec une information continuellement rafraîchie extraite de l'unité mémoire 12.
La fig. 3 illustre graphiquement le fonctionnement de l'ensemble selon l'invention. Un compteur à 16 bits 20 emmagasine une adresse de liaison qui indique une table de liaisons 21 contenant des adresses de 16 bits qui indiquent les premiers caractères des lignes stockées dans une zone adresses de liaison de l'unité mémoire 12 (fig. 1). Chaque adresse de caractère comprend un multiplet haut de 8 bits et un multiplet bas de 8 bits qui correspondent respectivement au multiplet de plus fort poids et au multiplet de plus faible poids d'une adresse mémoire.
Une page de visualisation comporte généralement 25 lignes de caractères, et 1 ligne comporte généralement 80 caractères. L'invention assure l'adressage de n'importe quel caractère dans l'unité mémoire 12 comme premier caractère à visualiser dans une ligne de visualisation. Par exemple, une première adresse de seize bits, dans la table 21 peut indiquer un quatrième multiplet de caractères 22 dans une ligne 23 parmi les multiplets emmagasinés dans l'unité mémoire 12. Une deuxième adresse dans la table 21 peut indiquer un multiplet de premier caractère 24 dans une ligne 25 et une dernière adresse dans la table 21 peut indiquer le sixième multiplet de caractères dans la ligne 27. L'invention assure donc non seulement le balayage vertical de la mémoire pour sélectionner n'importe quelle ligne emmagasinée, mais également le balayage horizontal de la ligne sélectionnée, de telle sorte qu'un premier caractère d'une ligne de visualisation peut se trouver emmagasiné à n'importe quel emplacement dans la mémoire. Le premier caractère à visualiser dans une ligne de visualisation ne doit pas être le premier caractère d'une ligne dans la mémoire.
La fig. 4 illustre le fonctionnement de l'invention de façon plus détaillée. Le compteur 20 se compose de deux compteurs progressifs 20a et 20b, de 8 bits chacun. Ces deux compteurs sont chargés avec une adresse de 16 bits sur le bus de données 14 en réponse à des signaux de commande de l'unité centrale 11 sur les lignes de commande 30 et 31. L'adresse de 16 bits indique un emplacement dans la table de liaisons 21.
Chaque fois qu'une information est extraite d'un emplacement adressé de la table 21, les compteurs 20a et 20b augmentent d'une
5
10
15
20
25
30
35
40
45
50
55
60
65
640 076
4
unité en réponse à une impulsion 1 logique reçue de l'ensemble de synchronisation 10 sur la ligne 32. L'entrée de progression du compteur 20b est connectée à la sortie de report du compteur 20a. Les seize bits de l'information extraite de la table 21 sont chargés dans des compteurs à huit bits 33 et 34 en réponse à des ordres de chargement reçus de l'unité centrale 11 sur les lignes 35 et 36. Les compteurs 33 et 34 fournissent une adresse de 16 bits qui indique un emplacement de la mémoire où se trouve stocké un premier multiplet de caractères d'une ligne d'informations vidéo comportant à la fois des multiplets de caractères de visualisation et des multiplets de caractères d'attributs visuels. Le contenu du compteur 33 se trouve augmenté par un signal d'horloge sur une ligne de commande 37 pour indiquer des multiplets de caractères successifs dans la ligne de visualisation. Lorsque le dernier multiplet de caractères de la ligne à visualiser a été extrait de l'unité mémoire 12, les compteurs 20a et 20b se trouvent augmentés pour indiquer une nouvelle rubrique dans la table de liaisons 21. Les compteurs 33 et 34 sont alors chargés avec l'adresse stockée dans la rubrique indiquée afin d'indiquer le premier multiplet de caractères d'une ligne suivante dans l'unité mémoire 12. Les compteurs 33 et 34 sont ensuite augmentés pour indiquer les multiplets de caractères successifs de la ligne à visualiser. En réponse, l'information vidéo stockée dans l'unité mémoire 12 se trouve appliquée sur le bus de données 14 aboutissant à une puce de commande d'écran cathodique.
Sur les fig. 5 à 8, un cercle dessiné à une entrée d'un dispositif de logique indique que cette entrée est validée par un signal zéro logique. Un cercle dessiné à une sortie d'un dispositif indique que, lorsque les conditions logiques pour ce dispositif sont satisfaites, la sortie est à l'état logique 0.
Une unité de commande de tube cathodique 40 reçoit les données de l'unité mémoire 12 (fig. 1) par le bus de données 14. L'entrée d'accusé de réception ACK de l'unité 40 est connectée à une ligne de commande 41 provenant d'une porte de l'ensemble de commande logique, comme il sera expliqué plus loin. L'entrée d'horloge CK est connectée à une ligne de commande 42 venant du bus de commande 16 (fig. 1). L'entrée de validation d'écriture WR est connectée à une ligne de commande 40a du bus 16 et la sortie B0 est connectée à une ligne de commande 40b conduisant au bus 16. L'entrée sélection CS est connectée à une ligne 40c qui provient d'un décodeur de l'ensemble logique de commande, comme on le verra plus loin. L'unité de commande de tube cathodique 40 est par exemple un dispositif programmable type 8275 de Intel Corporation, Santa Clara, Californie, EUA.
La sortie de la porte 43 est appliquée à l'entrée J d'une bascule J-K dont l'entrée d'horloge CK est connectée à une ligne 46 venant du bus de commande 16 et dont l'entrée K est connectée à la sortie d'une porte NON-ET 47. La sortie Q de la bascule 45 est connectée à une entrée de la porte 47, à l'entrée d'horloge CK d'une bascule type D 48 et à une ligne 49. Une seconde entrée de la porte 47 est connectée à la sortie d'une porte ET 50 ayant une première entrée connectée à la ligne 51 venant du bus de commande 16. Une seconde entrée de la porte 50 est connectée à la sortie d'une porte NON-ET 52 dont une première entrée est connectée à la ligne 53. Une seconde entrée de la porte 52 est connectée à l'entrée chargement LD d'un compteur à 4 bits 54, à l'entrée chargement LD d'un compteur à 4 bits 55 et à la sortie d'une porte NON-ET 56.
L'entrée d'incrémentation INC du compteur 54 est connectée à une ligne 57 et à l'entrée d'incrémentation INC du compteur 55. L'entrée de données DIN des compteurs 54 et 55 est connectée à la masse. Les entrées de remise à zéro R sont connectées à la ligne 51. La sortie B1 (bit 1) du compteur 54 est connectée à une entrée de la porte 56 dont la sortie est connectée à une ligne de commande 458. La sortie B2 (bit 2) du compteur 54 est connectée à deux entrées d'une porte NON-ET 59 dont la sortie est connectée à l'entrée de remise à zéro R de la bascule 48. La sortie de report CO du compteur 54 est connectée à l'entrée de validation CEN du compteur 55. La sortie B6 (bit 6) du compteur 55 est connectée à une entrée d'une porte ET 60 dont la sortie est connectée à une seconde entrée de la porte 56. La sortie B8 (bit 8) du compteur 55 est connectée à une seconde entrée de la porte 60.
L'entrée D de la bascule 48 est connectée à travers une résistance à une source de tension de + 5 V qui applique à cette entrée D un état logique 1. La sortie Q est connectée à une ligne de commande 62 et la sortie Q est connectée à une ligne de commande 63.
Une porte NON-ET 70 (fig. 6) a une êntréertconnectée à la ligne de commande 49 de la fig. 5 et aux entrées de remise à zéro R des bascules J-K 71 et 72. Une seconde entrée de la porte 70 est connectée à la sortie d'une porte NON-ET 73 et une troisième entrée est connectée à la sortie d'une porte NON-ET 74. Une quatrième entrée de la porte 70 se trouve connectée à la sortie Q de la bascule 71, et la sortie de la porte 70 est connectée à l'entrée K de la bascule 72.
L'entrée J de la bascule 71 est connectée à la sortie d'une porte ET 75 et l'entrée K de la bascule 71 est connectée à la sortie Q de la bascule 72. L'entrée d'horloge CK de la bascule 71 est connectée à une ligne de commande 76 venant du bus de commande 16 (fig. 1) et à l'entrée d'horloge CK de la bascule 72. La sortie Q de la bascule 71 se trouve connectée à l'entrée J de la bascule 72. La sortie Q de la bascule 72 est connectée à une entrée d'une porte OU 77 et à deux entrées d'une porte NON-ET 73. La sortie Q de la bascule 72 est également connectée à une première entrée de la porte 75 et à une première entrée d'une porte ET 78.
La sortie de la porte 78 est appliquée à unnectéeàneunentréigne-dee d'une porte NON-ET 79 et à deux entrées d'une porte NON-ET 80. Une seconde entrée de la porte 79 est connectée à une ligne 81 venant du bus de commande 16 (fig. 1) et à une seconde entrée de la porte 75. La sortie de la porte 79 se trouve connectée à une ligne de commande 82 et la sortie de la porte 80 est connectée à une ligne de commande 83. La sortie de la porte 73 est connectée à une ligne de commande 84 et la sortie de la porte 77 est connectée à la ligne de commande 85. Une seconde entrée de la porte 77 se trouve connectée à deux entrées d'une porte NON-ET 86 dont la sortie est connectée à deux entrées de la porte 74, à une troisième entrée de la porte 75 et à une seconde entrée de la porte 78. Les entrées de la porte NON-ET 86 sont également connectées à une ligne de commande 87 du bus 16 et la sortie de la porte 78 est connectée à une ligne de commande 88.
Sur la fig. 7, l'entrée de chargement LD du registre à 8 bits 90 est connectée à la ligne de commande 76 de la fig. 6 et l'entrée de données DIN est connectée au bus de données 14. Les 4 bits de plus fort poids du registre 90 sont appliqués aux entrées adresse haut AH des compteurs à 16 bits 91 et 92. Les 4 bits de plus faible poids du registre 90 sont appliqués aux entrées adresse bas AL des compteurs 91 et 92. L'entrée chargement haut LH du compteur 91 est connectée à une ligne de commande 93, et l'entrée chargement bas LL se trouve connectée à une ligne de commande 94. Les lignes 93 et 94 peuvent changer d'état logique sous la commande de l'unité centrale 11 pendant un cycle CPU. L'entrée d'incrémentation INC du compteur 91 est connectée à la sortie d'une porte NON-ET 95 dont une première entrée est connectée à la ligne de commande 62 venant de la sortie Q de la bascule 48 de la fig. 5. Une seconde entrée de la porte 95 se trouve connectée à la ligne de commande 88 de la fig. 6. Une troisième entrée est connectée à la ligne de commande 81 de la fig. 6.
L'entrée d'incrémenttion INC du compteur 92 est connectée à la sortie d'une porte OU 96 ayant une entrée connectée à une ligne de commande 97. L'entrée chargement haut LH du compteur 92 est connectée à une ligne de commande 98, et l'entrée chargement bas LL se trouve connectée à une ligne de commande 99. Les lignes 98 et 99 peuvent changer d'état logique pendant un cycle DMA seulement. La sortie du compteur 92 est appliquée à l'entrée A2 d'un multiplexeur deux-un 100 dont l'entrée Al est connectée à la sortie du compteur 91. La sortie du multiplexeur 100 est appliquée au bus d'adresse 15 (fig. 1) par l'intermédiaire d'une unité logique d'excitation 101. L'entrée sélection SEL1 du multiplexeur 100 est connectée à la ligne de commande 62 venant de la sortie Q de la bascule 48 (fig. 5) et à une entrée d'une porte OU 102. Une seconde entrée de la porte 102 se trouve connectée à la ligne 83 venant de la sortie de la
5
10
15
20
25
30
35
40
45
50
55
60
65
5
640 076
porte 80 (fig. 6), et la sortie de la porte 102 est appliquée à une seconde entrée de la porte 96. L'entrée sélection SEL2 du multiplexeur 100 est connectée à une source de tension +5 V à travers une résistance 103 afin que soit appliqué à cette entrée un état logique 1. L'entrée de validation ENA de l'unité logique 101 est connectée à la ligne de commande 82 venant de la sortie de la porte 79 de la fig. 6.
Sur la fig. 8, l'entrée de données DIN d'un décodeur à huit bits 110 se trouve connectée au bus d'adresse 15, et son entrée de validation EN est connectée à une ligne de commande 111 aboutissant au bus de commande 16 (fig. 1). La sortie B1 du décodeur 110 est appliquée à une entrée d'une porte OU 112 et la sortie B2 est appliquée à une entrée d'une porte OU 113. La sortie B3 est connectée à la ligne de commande 40c qui aboutit à l'entrée SEL de l'unité de commande 40 de la fig. 5. Dans l'exemple décrit, le décodeur 110 est un dispositif modèle 74LS138 de Texas Instruments Inc., Dallas, Texas, EUA.
Une seconde entrée de la porte 113 se trouve connectée à une seconde entrée de la porte 112 et à la sortie d'une porte NON-ET 114. La sortie de la porte 112 est connectée à la ligne 93 aboutissant à l'entrée LH du compteur 91 (fig. 7), et la sortie de la porte 113 est connectée à la ligne 94 qui aboutit à l'entrée LL du compteur 91.
Une entrée de la porte 114 est connectée à une ligne de commande 115 aboutissant au bus de commande 16 (fig. 1), et une seconde entrée est connectée à la ligne de commande 97 qui se trouve d'autre part connectée à une entrée de la porte 96 de la fig. 7. Une troisième entrée de la porte 114 est connectée à la sortie d'une porte ET 116, à une entrée d'une porte OU 117 et à une entrée d'une porte OU 118.
Une ligne de commande 119 venant du bus 16 est connectée à deux entrées d'une porte NON-ET 120. La sortie de celle-ci est appliquée à l'entrée d'une ligne de retard 121 ayant dix sorties qui se trouvent excitées successivement avec chaque fois un retard de 20 ms. La sortie D1 est appliquée à une entrée d'une porte OU 122 dont une seconde entrée est connectée à la sortie D8 (retard de 160 ns) de la ligne de retard 121. La sortie D2 est appliquée à une entrée d'une porte ET 123. La sortie D4 est appliquée à deux entrées de la porte 116. La sortie D6 (retard de 120 ns) est appliquée à une seconde entrée de la porte 123.
La sortie de la porte 122 est appliquée à deux entrées d'une porte NON-ET 124 dont la sortie est appliquée à une ligne de commande 125. La sortie de la porte 123 est appliquée à une entrée d'une porte OU 126 ayant sa sortie connectée à la ligne 57 qui aboutit aux entrées INC des compteurs 54 et 55 de la fig. 5. La seconde entrée de la porte 126 est connectée à la sortie d'une porte NON-ET 127 et à l'entrée de validation EN d'un décodeur à 2 bits 128. Une première entrée de la porte 127 est connectée à la sortie d'un inverseur 129 ayant une entrée connectée à la ligne 81 de la fig. 6. Une seconde entrée de la porte 127 se trouve connectée à une ligne de commande 130 venant de la sortie Q de la bascule 171 (fig. 6). L'entrée Al du décodeur 128 est connectée à une ligne 131 venant de la sortie B1 du compteur 54 de la fig. 5, et l'entrée A2 est connectée à la ligne 63 venant de la sortie Q de la bascule 48 (fig. 5). La sortie B0 du décodeur 128 est connectée à une seconde entrée de la porte 117, la sortie B1 est connectée à une seconde entrée de la porte 118 et la sortie B2 est connectée à une première entrée d'une porte OU 132. Le décodeur 128 est par exemple un dispositif modèle 745139 de Texas Instruments.
La sortie de la porte 117 est connectée à la ligne 98 aboutissant à l'entrée LH du compteur 92 (fig. 7), et la sortie de la porte 118 est connectée à la ligne 99 qui aboutit à l'entrée LL du compteur 92. Une seconde entrée de la porte 132 est connectée à la sortie de la porte 127 et à une seconde entrée de la porte 133. La sortie de la porte 132 est connectée à la ligne 41 qui aboutit à l'entrée ACK de l'unité de commande de tube cathodique 40 (fig. 5) et à une entrée d'une porte OU 133. Une seconde entrée de la porte 133 est connectée à la sortie de la porte 114. La sortie de la porte 133 se trouve appliquée sur la ligne 40a qui aboutit à l'entrée de validation d'écriture WR de l'unité 40.
Lorsque le système est mis sous tension, l'ensemble de logique des fig. 5 à 8 entame un cycle d'initialisation. Un signal de remise à zéro se trouve appliqué à la ligne 51 par l'unité centrale 11 afin de remettre les compteurs 54 et 55 à zéro et de bloquer la porte 50. La sortie de la porte 47 passe alors à l'état logique 1. La bascule 45 se trouve dès lors remise à l'état initial lors de l'occurrence suivante d'une impulsion logique 1 dans le signal d'horloge appliqué par l'ensemble de synchronisation 10 sur la ligne 46.
Sous la commande de l'unité centrale 11, la porte 133 délivre un signal d'écriture sur la ligne 40a afin de valider l'unité de commande 40, et l'unité centrale 11 transfère des instructions microprogrammées de l'unité mémoire 12 à l'entrée DIN de l'unité 40 par le bus de données 14. Les instructions se trouvent chargées dans des registres d'instructions de l'unité de commande 40 afin qu'elles soient ensuite exécutées dans un ordre prédéterminé.
Il est entendu que l'unité de commande de tube cathodique 40 peut être chargée soit pendant un cycle DMA, soit pendant un cycle CPU. Par exemple, lorsqu'un signal logique 0 est reçu du décodeur 110 (fig. 8) sur la ligne 40c, l'unité 40 se trouve sélectionnée pendant un cycle CPU afin de fournir des informations de commande de visualisation à l'unité 40. Lorsqu'un signal logique 0 est reçu sur la ligne 41 aboutissant à l'entrée ACK de l'unité 40, des lignes d'informations vidéo peuvent être écrites caractère par caractère pendant un cycle DMA.
L'unité de commande 40 peut également recevoir un signal de commande d'état logique 1 sur la ligne 40c afin de sélectionner l'unité 40 pendant un cycle DMA. Dans ce cas, des données peuvent être écrites dans l'unité 40 lors de la réception d'un signal de validation d'écriture sur la ligne 40a venant de la porte 133 (fig. 8) pendant un cycle DMA. De toute façon, les entrées de données sont synchronisées par le signal d'horloge sur la ligne 42 venant de l'ensemble de synchronisation 10 (fig. 1).
L'ensemble de commande a donc entre autres pour but de sélectionner des multiplets de premiers caractères dans les lignes vidéo stockées dans l'unité mémoire 12. L'unité de commande 40 se trouve donc sélectionnée en mode DMA pendant le fonctionnement de l'ensemble logique.
Lorsque la programmation de l'unité de commande 40 est achevée, l'unité centrale 11 lance un signal logique 1 sur la ligne 44 afin de valider la porte 43, puis l'information d'adresse de liaison se trouve transférée de l'unité mémoire 12 (fig. 1) dans le registre 90. Sous la commande de l'unité centrale 11, un signal logique 0 est alors appliqué à la ligne 93 qui aboutit à l'entrée LH du compteur 91. Les 8 bits du registre 90 se trouvent ainsi chargés dans la zone adresse haut du compteur 91. L'unité centrale 11 commande ensuite le chargement d'une seconde adresse de liaison dans le registre 90, suivie d'une impulsion logique 0 sur la ligne 94 afin de charger cette seconde adresse dans la zone adresse bas du compteur 91. La sortie du compteur 91 fournit ainsi une adresse à 16 bits qui indique un emplacement dans une table de liaisons telle que la table 21 de la fig. 3.
Lorsque la ligne 62 est à l'état logique 1, le multiplexeur 100 se trouve sélectionné pour recevoir la sortie du compteur 91. Lorsque l'unité d'excitation 101 est validée comme il sera expliqué plus loin, la sortie à 16 bits du compteur est appliquée sur le bus d'adresse 15 par l'intermédiaire de l'unité 101. Le signal de validation sur la ligne 82 est un signal de synchronisation qui sert à appliquer l'information d'adresse du multiplexeur 100 sur le bus 15 pendant un cycle DMA.
L'adresse de liaison est appliquée à l'unité mémoire 12, et l'information stockée à l'emplacement adressé se trouve appliquée sur le bus de données 14 et chargée dans le registre 90, comme décrit plus haut. Sous la commande de l'ensemble logique selon l'invention, la ligne 98 passe à l'état logique 0 afin de charger la zone adresse haut du compteur 92. La ligne 99 passe ensuite à l'état logique 0 afin de charger la zone adresse bas du compteur 92. Celui-ci fournit ainsi une adresse à 16 bits, qui indique une ligne vidéo dans l'unité mémoire 12.
5
10
15
20
25
30
35
40
45
50
55
60
65
640 076
6
Pendant que la zone adresse haut du compteur 92 est chargée, la zone adresse haut du compteur 91 se trouve augmentée d'une unité. De plus, pendant que la zone adresse bas du compteur 92 est chargée, le compteur 91 se trouve à nouveau augmenté, puis le compteur 91 adresse un nouvel emplacement de la table 21.
Après que le' compteur 92 a été chargé, la ligne 62 passe à un état logique 0, comme on le verra plus loin, afin de sélectionner le multiplexeur 100 pour recevoir la sortie du compteur 92. Lorsque la ligne 82 passe à un état logique 0 pour indiquer l'occurrence d'un cycle DMA assigné à l'ensemble logique des fig. 5 à 8, l'adresse contenue dans le compteur 92 est appliquée sur le bus d'adresse 15 par . l'intermédiaire de l'unité d'excitation 101. L'adresse sur le bus 15 indique à ce moment l'adresse d'un premier multiplet de caractères dans une première ligne d'informations dans l'unité mémoire 12.
L'unité centrale 11 envoie alors à l'unité de commande 40 une instruction de démarrage sur le bus de données 14. La sortie B0 de l'unité 40 passe à l'état logique 1 afin de lancer une demande d'accès direct à la mémoire DMA sur la ligne 40b. En réponse à cette demande, l'ensemble de synchronisation 10 laisse appliquer une adresse mémoire sur le buts d'adresse 15, comme il sera expliqué plus loin. Les multiplets de caractères et d'attributs visuels sont ensuite extraits de l'unité mémoire 12 et appliqués sur le bus de données 14 en vue d'être stockés dans une mémoire-tampon de l'unité de commande de tube cathodique 40.
En réponse à la demande d'accès direct à la mémoire DMA, la sortie de la porte 43 passe à l'état logique 1, état qui se trouve ainsi appliqué à l'entrée J de la bascule 45. Lors de l'occurrence d'une nouvelle impulsion 1 dans le signal d'horloge à 20 MHz sur la ligne 46, la sortie Q de la bascule passe à l'état logique 1. La sortie Q de la bascule 48 passe alors à l'état logique 1 et cet état apparaît à l'entrée SEL1 du multiplexeur 100, à la porte NON-ET 95 et à la porte OU 102 (fig. 7). La sortie Q de la bascule 48 sert donc à indiquer que l'ensemble logique des fig. 5 à 8 cherche un cycle DMA.
Lorsque apparaît un nouveau cycle DMA sur le bus d'adresse 15, la sortie du compteur 92 se trouve appliquée sur le bus d'adresse 15 par l'intermédiaire du multiplexeur 100 et de d'unité d'exitation 101.
Chaque fois qu'un cycle DMA apparaît sur le bus d'adresse 15, ce qui est indiqué par l'état de la ligne de commande 82 de la fig. 7, l'ensemble de logique engendre un signal logique 0 sur la ligne 57 afin d'incrémenter le compteur 54 de manière à compter les cycles DMA. La sortie B2 du compteur 54 est appliquée à l'entrée R de la bascule 48 par l'intermédiaire de la porte 59 après achèvement de deux cycles DMA. A ce moment, le compteur 92 (fig. 7) contient l'adresse du premier caractère à visualiser.
La sortie B1 du compteur 54 indique l'occurrence de chaque cycle DMA et sert à exciter les entrées LH et LL du compteur 92. La sortie 81 est en outre appliquée à la porte 56. Lorsque la sortie de report du compteur 54 valide le compteur 55, chacun de ces compteurs se trouve augmenté lorsqu'un nouveau cycle DMA se produit. Les sorties B6 et B8 du compteur 55 sont appliquées à la porte 56 par l'intermédiaire de la porte 60. La sortie de la porte 56 indique donc lorsque le nombre de cycles DMA atteint 161. A ce moment, la sortie de la porte 56 passe à l'état logique 0 afin de valider les entrées chargement LD des compteurs 54 et 55. Lorsque apparaît l'impulsion d'incrémentation suivante sur la ligne 57, les compteurs 654 et 55 se trouvent chargés avec des zéros. La sortie de la porte 56 passe alors à l'état logique 1 en sorte de bloquer les entrées LD des compteurs.
Lorsque le nombre de cycles DMA atteint 161, et lorsque la sortie de la porte 56 passe à l'état logique 0, la sortie de la porte 52 passe à l'état logique 0 dès que la génération d'un nouveau cycle DMA est confirmée sur la ligne 53 venant de la ligne de commande 88 de la fig. 6. La sortie des portes 50 et 47 passe alors à un état logique 0 qui se trouve ainsi appliqué à l'entrée K de la bascule 45. A ce moment, l'entrée J est à l'état logique 0. Lors de l'occurrence suivante d'une impulsion d'horloge de niveau logique 1 sur la ligne 46, la sortie Q de la bascule 45 passe à un état logique 0 qui indique qu'une ligne complète d'informations vidéo a été lue dans l'unité mémoire 12.
Lorsque l'unité centrale 11 applique une adresse mémoire sur le bus d'adresse 15, elle applique une impulsion de niveau logique 1 sur la ligne 111 afin de valider le décodeur 110. L'adresse est alors décodée et excite les porte OU 112 et 113. Les sorties B1 et B2 du décodeur prennent alternativement les états logiques 0 et 1. Lorsqu'un signal 0 se trouve appliqué à la porte 112 et lorsque la sortie de la porte 114 est à l'état logique 0, la sortie de la porte 112 passe à l'état logique 0 afin de valider l'entrée LH du compteur 91 pendant un cycle CPU. Lorsque la sortie B2 du décodeur 110 passe à l'état logique 0, la sortie de la porte 113 passe à l'état logique 0 pour valider l'entrée LL du compteur 91. Lorsque l'unité centrale a achevé une sé- -quence LH et LL, le compteur 91 contient l'adresse à laquelle se trouve stockée la moitié haut de l'adresse du premier caractère à visualiser sur la première ligne.
La porte 114 répond aux signaux sur les lignes de commande 97, 115 et 119. L'unité centrale 11 fait passer la ligne 115 à l'état logique 1 lorsque l'ensemble logique est en mode écriture, et à l'état logique 0 lorsque l'ensemble logique est en mode lecture. En outre, l'ensemble de synchronisation 10 porte la ligne 97 à l'état logique 1 pendant un cycle CPU, et il la porte à l'état logique 0 pendant un cycle DMA. L'ensemble de synchronisation applique en outre un signal à 2 MHz à la ligne de commande 119, ce signal se trouvant ainsi appliqué à l'entrée de la porte 120, puis à la ligne de retard 121. Lorsque la sortie D4 (retard de 80 ns) se trouve portée à l'état logique 1, la sortie de la porte 116 passe à l'état logique 1. Ainsi, pendant un mode d'écriture qui se produit pendant un cycle CPU, la sortie de la porte 114 passe à l'état logique 0 lorsque la sortie de la porte 116 passe à un état logique 1.
Un signal de temps de 1 MHz se trouve appliqué à la ligne 81 par l'ensemble de synchronisation 10 pendant un cycle DMA. De plus, lorsqu'un cycle DMA est acquis par l'ensemble de logique selon l'invention, la ligne 130 passe à l'état logique 1, ainsi qu'on le verra plus loin, et la sortie de la porte 127 passe à l'état logique 0 afin de valider le décodeur 128. Les sorties du décodeur sont appliquées aux portes OU 117,118 et 132. Lorsque la sortie B0 du décodeur et la sortie de la porte 116 sont à l'état logique 0, la sortie de la porte OU passe à l'état logique 0 et valide l'entrée LH du compteur 92 (fig. 7). Lorsque la sortie B1 et la sortie de la porte 116 sont à l'état logique 0, l'entrée LL du compteur 92 se trouve validée. L'entrée chargement LD de l'unité 40 (fig. 5) se trouve validée par la porte 132 lorsque la sortie B2 du décodeur et la sortie de la porte 127 sont à l'état logique 0.
La porte OU 126 répond aux portes 123 et 127 en envoyant sur la ligne 57 des ordres d'incrémentation pour les compteurs 54 et 55 (fig. 5). Chaque fois que l'ensemble logique des fig. 5 à 8 acquiert un cycle DMA et qu'une impulsion de temps est reçue de la porte 123 par la porte 126, les compteurs 54 et 55 se trouvent commandés pour compter le nombre de multiplets de caractères lus dans une ligne vidéo stockée dans l'unité mémoire 12.
Lorsque l'ensemble de logique cherche les deux premiers cycles DMA d'une ligne, ce qui est indiqué par un état logique 1 sur la ligne 62, et lorsqu'un cycle DMA a été acquis, ce qu'indique un état logique 1 sur la ligne 88 pendant un cycle DMA, la sortie de la porte 95 passe à l'état logique 0 lors de l'occurrence d'un impulsion logique 1 d'un signal de 1 MHz appliqué par l'ensemble de synchronisation 10 sur la ligne 81. Le compteur 91 se trouve alors actionné. La ligne 62 est mise à l'état logique 0 lorsque deux cycles DMA ont été achevés. L'entrée d'incrémentation du compteur 91 se trouve alors invalidée jusqu'à ce qu'une nouvelle liaison de ligne se trouve engendrée.
Après achèvement de deux cycles DMA, la ligne 62 est mise à l'état logique 0. La sortie du compteur 92 est appliquée au circuit d'excitation 101 pour être transférée sur le bus d'adresse lors d'un nouveau cycle DMA. Lorsque l'ensemble de logique acquiert un nouveau cycle DMA, ce qu'indique la présence d'un état logique 0 sur la ligne 83 aboutissant à l'entrée de la porte 102, la ligne 97
5
10
15
20
25
30
35
40
45
50
55
60
65
7
640 076
passe à l'état logique 0 tout comme la sortie de la porte 102. Lorsque l'ensemble de logique se trouve en mode DMA la ligne 97 qui aboutit à la porte 96, passe à l'état logique 0 et la sortie de la porte 96, à son tour, prend l'état logique 0 afin d'incrémenter le compteur 92.
Un signal à oscillation libre de 250 kHz, appliqué par l'ensemble de synchronisation 10 sur la ligne 87 (fig. 6) se trouve appliqué à deux entrées de la porte 86 ainsi qu'à une entrée de la porte OU 77. Lorsque la ligne 87 est à l'état logique 0, la sortie de la porte 86 passe à l'état logique 1, amenant ainsi la sortie de la porte 74 à prendre l'état logique 0. La sortie de la porte 70 passe à son tour à l'état logique 1 qui se trouve appliqué à l'entrée K de la bascule 72. La porte 102 reçoit également un signal de la porte 73 qui indique si l'ensemble de logique a acquis ou non un cycle DMA. Si un cycle DMA a été acquis, la sortie de la porte 73 est à l'état logique 0, cet état se trouvant appliqué à une entrée de la porte 70. Une troisième entrée de cette porte 70 reçoit le signal appliqué sur la ligne 49 par la sortie Q de la bascule 45 de la fig. 5. Une quatrième entrée de la porte 70 est connectée à la sortie Q de la bascule 71.
Au moment de la phase d'initialisation du système, la sortie de la porte 70 passe à l'état logique 0 lorsque la bascule 45 est à l'état 1 lors de la première acquisition d'un cycle DMA. La sortie de la porte 70 est appliquée à l'entrée K de la bascule 72, l'entrée J de celle-ci étant à ce moment à l'état logique 0. Lorsque apparaît une impulsion 1 dans le signal de 1 MHz appliqué sur la ligne 76, la sortie Q de la bascule 72 passe à l'état logique 1, lequel état apparaît aux portes 77, 73, 75 et 78.
La sortie Q de la bascule 72 est également appliquée à l'entrée K de la bascule 71. Si l'ensemble de logique est en mode DMA et si une impulsion 1 logique est présente sur la ligne 81 qui aboutit aux secondes entrées des portes 75 et 79, la sortie de la porte 75 passe à l'état logique 1 et cet état apparaît à l'entrée J de la bascule 71. Lors de l'apparition d'une nouvelle impulsion d'horloge 1 logique sur la ligne 76, la sortie Q de la bascule 71 passe à l'état logique 1 qui se trouve ainsi appliqué à l'entrée J de la bascule 72. Lorsque apparaît une nouvelle impulsion 1 logique sur la ligne 76, la sortie Q de la bascule 72 passe à l'état logique 0. Une nouvelle impulsion 1 logique sur la ligne 76 fait passer la sortie Q de la bascule 71 à l'état logique 0. Lorsque la bascule 71 se trouve remise à l'état initial, un cycle DMA est achevé.
Pendant que les bascules 71 et 72 sont à l'état initial, la sortie de la porte 78 est à l'état logique 1 lorsque les sorties de la porte 86 et la sortie Q de la bascule 72 sont à l'état logique 1. La sortie de la porte 78 est combinée par fonction ET dans la porte 72 avec le signal à 1 MHz présent sur la ligne 81, et la sortie de la porte 72 passe à l'état logique 0 lorsqu'une adresse mémoire peut être lancée sur le bus d'adresse 15 pendant un cycle DMA.
Ainsi, lorsque la sortie de la porte 78 est à l'état logique 1, l'ensemble de logique applique une adresse sur le bus 15. A ce moment, la sortie de la porte 80 se trouve à l'état logique 0, indiquant que l'ensemble de logique se trouve en mode DMA.
Lorsque la sortie de la porte 78 passe à l'état logique 0, la sortie de la porte 80 passe à l'état logique 1, faisant ainsi progresser un des compteurs 91 et 92 de la fig. 7.
Lorsque l'ensemble de synchronisation 10 reçoit une demande d'accès direct à la mémoire DMA de la porte 73 par la ligne 84, il en accuse réception en appliquant un signal 0 logique sur la ligne 87. Lorsqu'un cycle DMA est acquis, ce qu'indique un état logique 1 à la sortie Q de la bascule 72, la sortie de la porte 77 passe à l'état logique 1 afin d'empêcher le signal d'accusé de réception d'être acheminé vers d'autres dispositifs connectés sur le bus d'adresse 15. Le processus de remise à l'état initial des bascules 71 et 72 empêche toutefois l'ensemble de logique d'acquérir deux cycles DMA consécutifs si un autre dispositif connecté au bus d'adresse cherche un cycle DMA.
La fig. 9 montre des diagrammes d'impulsions qui illustrent le fonctionnement de l'ensemble de logique illustré aux fig. 5 à 8.
La forme d'onde 140 représente un signal à 1 MHz qui indique l'occurrence des cycles DMA et CPU sur le bus d'adresse 15 et le bus de commande 16. Les cycles DMA et CPU alternent de façon continue, un cycle CPU suivant un cycle DMA dans chacun des quatre intervalles de canaux DMA. Ces quatre canaux DMA se produisent en séquences répétées identifiées DMA1, DMA2, DMA3 et DMA4.
La forme d'onde 141 illustre par des impulsions 0 logique 141a-141e l'occurrence d'un canal DMA1 pendant lequel un cycle DMA se produit dans la première moitié de l'intervalle et un cycle CPU dans l'autre moitié. La forme d'onde 142 illustre par des impulsions 0 logique 142a-142d l'occurrence d'un canal DMA4 pendant lequel des cycles DMA et CPU se produisent comme dans le canal DMA1.
La forme d'onde 143 illustre la sortie B0 de l'unité de commande 40 de la fig. 5, la forme d'onde 144 illustre la sortie Q de la bascule 45 (fig. 5), et la forme d'onde 145 illustre la sortie Q de la bascule 148. La forme d'onde 146 illustre la progression des compteurs 91 et 92 et le transfert des adresses sur le bus 15. La forme d'onde 147 illustre le chargement d'informations du registre 90 (fig. 7) dans le compteur 92. Les formes d'ondes 148 et 149 illustrent le fonctionnement des compteurs 91 et 92. La forme d'onde 150 illustre le signal de validation d'écriture de l'unité 40 (fig. 5), la forme d'onde 151 illustre la sortie de la porte 126 (fig. 8) et la forme d'onde 152 illustre la sortie de la porte 56 (fig. 5).
Pendant que la sortie B0 de l'unité 40 est à l'état logique 1 (onde 143), l'ensemble de logique des fig. 5 à 8 est opérationnel. Les canaux DMA1 et DMA4 se produisent comme illustré par les ondes 141 et 142. Lorsque la sortie B0 passe à l'état logique 1, l'ensemble est opérationnel pendant la moitié DMA des intervalles des canaux DMA1 et DM A4. Le niveau logique de la sortie Q de la bascule 45 se trouve alors verrouillé (onde 144). Pendant que cet état est 1, une ligne entière d'informations vidéo se trouve transférée de l'unité mémoire 12 à l'ensemble de logique des fig. 5 à 8.
Lorsque la sortie Q de la bascule 45 passe à l'état logique 1, la sortie Q de la bascule 48 (fig. 5) passe à l'état logique 1 (onde 145). L'adresse de liaison contenue dans le compteur 91 se trouve alors transférée sur le bus d'adresse 15. Plus particulièrement, cette adresse est utilisée pour accéder à la table 21 stockée dans l'unité mémoire 12. Comme le bus de données 14 est un bus de 8 bits, deux opérations de lecture successives sont nécessaires pour recouvrer un multiplet d'adresse de 16 bits. Ce multiplet est extrait de la table 21 en deux cycles DMA consécutifs, et l'information de liaison est stockée dans le compteur 92.
Huit premiers bits se trouvent transférés pendant la moitié DMA du canal DMA (impulsion 146a de l'onde 146). Le compteur 91 progresse en réponse au front arrière de l'impulsion 146a, et la seconde série de 8 bits est transférée pendant la moitié DMA d'un canal DM A4 (impulsion 146b). Le compteur 91 progresse de nouveau en réponse au front arrière de l'impulsion 146b.
Après que les 16 premiers bits de l'adresse de liaison ont été appliqués sur le bus 15, une première série de 8 bits de cette adresse se trouve chargée dans la partie haut du compteur 92 pendant la moitié CPU d'un canal DMA1 (impulsion 147a de l'onde 147). La seconde série de 8 bits de l'adresse se trouve chargée dans la partie bas du compeur 92 pendant la moitié CPU d'un canal DMA4 (impulsion 147b). Le contenu du compteur 92 indique à ce moment un premier multiplet de caractères d'une ligne d'informations vidéo dans l'unité mémoire 12. Lorsque la seconde série de 8 bits se trouve chargée dans la partie bas du compteur 92, la sortie Q de la bascule 48 passe à l'état logique 0 (onde 145). Ensuite, chaque fois qu'une adresse est appliquée au compteur 92, celui-ci progresse pour adresser un nouveau multiplet de caractères (onde 146). Le compteur 92 contrôle ainsi l'acquisition et le transfert d'informations dans une ligne stockée dans l'unité mémoire 12. Plus particulièrement, un premier multiplet de caractères se trouve adressé par le compteur 92 pendant la moitié DMA d'un canal DMA1 (impulsion 146c de l'onde 146). Le compteur 92 est alors actionné en réponse au front arrière de l'impulsion 146c afin d'indiquer un nouveau multiplet de caractères dans la ligne vidéo. Le multiplet suivant est adressé pendant la moitié DMA d'un canal DMA4 (impulsion 146d). Le compteur 92 pro5
10
15
20
25
30
35
40
45
50
55
60
65
640 076
gresse en réponse au front arrière de l'impulsion 146d, et le processus se répète jusqu'à ce qu'une ligne complète d'informations vidéo comprenant des multiplets de caractères et des multiplets d'attributs visuels soit adressée par le compteur 92.
Le fonctionnement des compteurs 91 et 92 est illustré par les ondes 148 et 149. Pendant l'intervalle indiqué par l'impulsion 148a, le compteur 91 se trouve chargé avec la moitié haut d'une adresse dans la table 21. Pendant la durée de l'impulsion 148b, le compteur 91 progresse pour indiquer la moitié bas de l'adresse, puis le compteur progresse encore pour indiquer l'adresse d'une nouvelle rubrique dans la table 21 pour une nouvelle ligne vidéo. Suivant un aspect de l'invention, la progression des compteurs 91 et 92 en conjonction avec la table de liaisons stockée dans l'unité mémoire réalise les changements dynamiques de rubriques de ladite table sous la commande d'un microprogramme câblé pendant un transfert d'informations par l'ensemble de logique des fig. 5 à 8 sur le bus d'adresse 15. La mémoire de visualisation peut ainsi être explorée pour former une page de visualisation changeant dynamiquement sans qu'il soit nécessaire de reconstruire l'information stockée dans ladite mémoire.
Se reportant à l'onde 149, on voit que le compteur 92 se trouve chargé pendant la partie initiale de l'intervalle de l'impulsion 149a avec la moitié haut d'une adresse d'un premier multiplet dans une ligne de la mémoire 12. Il s'agit de l'adresse stockée dans l'emplacement de la table 21 qui se trouve adressé par le compteur 91 pendant l'impulsion 148a. Pendant l'impulsion 149b, le compteur 92 est chargé avec la moitié bas de l'adresse stockée dans l'emplacement de la table 21 qui se trouve adressé par le compteur 91 pendant l'impulsion 148b. Ainsi, pendant l'intervalle 149b, le compteur 92 contient l'adresse complète d'un premier multiplet de caractères d'une ligne vidéo stockée dans l'unité mémoire 12. En réponse à l'application du contenu du compteur 92 sur le bus 15 pendant la durée de l'impulsion 149b, un premier multiplet de caractères, qui, dans le mode de réalisation préféré décrit, est un multiplet d'attributs visuels d'une ligne vidéo, se trouve reçu de l'unité mémoire 12 et écrit dans l'unité de commande 40 (fig. 5) pendant l'intervalle de temps indiqué par l'impulsion 0 logique 150a (onde 150). Le compteur 92 se trouve ensuite actionné en réponse au front arrière de l'impulsion 146c de l'onde 146 afin d'indiquer le multiplet suivant de la ligne à visualiser (dans l'exemple décrit, ce multiple est un multiplet de caractères). Ce multiplet se trouve alors écrit dans l'unité de commande 40 pendant l'impulsion 150b. Le processus décrit ci-dessus se répète jusqu'à ce qu'une ligne entière d'informations vidéo soit adressée par le compteur 92.
Les compteurs 54 et 55 de la fig. 5 indiquent quand une ligne complète d'informations vidéo a été acquise de la mémoire 12. Les deux premières progressions des compteurs 54 et 55 se produisent lorsque l'adresse dans la table de liaisons a été consultée. La sortie de la porte 126 (fig. 8), illustrée par les impulsions 151a et 151b de l'onde 151, actionne donc les compteurs 54 et 55 deux fois pendant que l'onde 145 est à l'état logique 1. Pendant ces deux progressions, le contenu du compteur 91 est appliqué sur le bus 15 afin de recouvrer dans la mémoire 12 la première adresse à charger dans le compteur 92. L'acquisition et le transfert des données sont ensuite contrôlés par le compteur 92, et les accès de l'unité mémoire 12 sont indiqués par les autres impulsions 0 logique de l'onde 151. Lors de l'occurrence d'un accès à la mémoire, les compteurs 54 et 55 se trouvent actionnés, car lorsqu'ils sont décodés par la porte 56 (fig. 5) afin d'indiquer qu'une ligne entière d'informations vidéo a été extraite de l'unité mémoire 12, la sortie de la porte 45 passe à l'état logique 0 (onde 152). L'apparition de l'impulsion 0 logique 152a provoque la remise à zéro des compteurs 54 et 55.
En résumé, un compteur d'adresses de liaison se trouve chargé, sous la commande d'un microprogramme câblé par exemple, avec une adresse qui indique un emplacement dans un table de liaisons dans l'unité mémoire. Cette table contient des adresses mémoire indiquant les premiers multiplets de caractères des lignes d'informations à visualiser. L'ensemble de commande logique transfère dans ledit compteur l'adresse stockée dans l'emplacement désigné dans ladite table. Une fois initialisé, le compteur d'adresses indique un premier multiplet de caractères d'une première ligne à visualiser. Le compteur est ensuite augmenté afin d'indiquer les multiplets de caractères successifs d'une ligne, et le compteur est ensuite augmenté pour indiquer l'adresse du premier multiplet de caractères de lignes successives devant constituer la page à visualiser.
L'ensemble de commande assure ainsi un balayage vertical et horizontal de l'unité mémoire 12. Comme l'information à visualiser sur un écran cathodique dans l'exemple décrit a un format de 80 caractères par ligne et 25 lignes par page visualisée, l'information stockée dans l'unité mémoire 12 peut être mise en format de 80 caractères par ligne ou plus et de 25 lignes ou plus par page. L'information visualisée à tout moment sur le tube cathodique est donc un segment de la page affichable stockée dans l'unité mémoire 12.
Une table de liaisons, également stockée en mémoire, contient l'adresse qui désigne le point de départ de chaque ligne de visualisation. Comme cette table se trouve stockée dans l'unité mémoire 12, elle est accessible par l'unité de traitement centrale, et elle peut être mise à jour dynamiquement à tout moment par l'unité centrale afin d'effectuer le balayage vertical et horizontal requis.
8
5
10
15
20
25
30
35
40
45
R
8 feuilles dessins
Claims (2)
- 640 0762REVENDICATIONS1. Ensemble de commande logique pour adresser des lignes d'informations vidéo stockées de façon arbitraire dans une unité mémoire et ayant des rubriques d'adresses de premiers multiplets de caractères variant verticalement et horizontalement dans l'unité mémoire, cet ensemble faisant partie d'un système de visualisation vidéo avec un ensemble de commande de tube cathodique, une unité centrale, un ensemble de synchronisation et ladite unité mémoire, l'ensemble de commande logique étant caractérisé en ce qu'il comprend:a) un compteur d'adresses de liaison (20) recevant des adresses de liaisons de l'unité mémoire (12) sous la commande de l'unité centrale et répondant à l'ensemble de synchronisation (10) pour adresser un emplacement dans une table de liaisons (21) stockée dans l'unité mémoire, les entrées de ladite table de liaisons pouvant être changées dynamiquement par l'unité centrale afin d'effectuer un balayage horizontal et vertical de l'unité mémoire;b) un compteur d'adresses mémoire (33, 34) répondant à l'ensemble de synchronisation et recevant, de l'unité mémoire, une adresse stockée dans ledit emplacement de la table de liaisons afin d'adresser un premier multiplet de caractères et des multiplets successifs d'une ligne d'informations vidéo stockée de façon arbitraire dans l'unité mémoire, ledit premier multiplet de caractères pouvant être positionné dans n'importe quel emplacement dans l'unité mémoire;c) un circuit de demande de cycle d'accès direct à la mémoire connecté pour répondre à l'unité centrale (11) afin de demander un tel cycle à l'ensemble de synchronisation pendant lequel des informations vidéo peuvent être transférées entre l'unité mémoire et l'ensemble de commande logique; et d) un circuit de commande de cycle d'accès direct à la mémoire répondant à l'unité centrale et à un signal d'accusé de réception engendré par l'ensemble de synchronisation (10) afin de charger et de faire progresser ledit compteur d'adresses de liaison (20) et ledit compteur d'adresses mémoire (33, 34) de manière à adresser respectivement des emplacements successifs dans la table de liaisons (21), et un premier multiplet de caractères et des multiplets successifs de chaque ligne d'informations vidéo stockée dans l'unité mémoire (12) composant une page à visualiser par l'ensemble de commande de tube cathodique (40).
- 2. Procédé de commande pour mettre en actionil'ensemble selon la revendication 1, pour adresser des multiplets de caractères de lignes d'informations vidéo stockées de façon arbitraire dans l'unité mémoire afin de former une page à visualiser sur un dispositif de visualisation, et pour explorer dynamiquement l'unité mémoire à la fois horizontalement et verticalement afin de rafraîchir la page à visualiser, caractérisé en ce qu'il comprend les phases suivantes:a) adressage, sous la commande de l'unité centrale (11), d'un premier emplacement de la table de liaisons (21) stockée dans l'unité mémoire (12) afin d'engendrer un indicateur de premier multiplet de caractères d'une première ligne d'informations vidéo, ledit premier multiplet de caractères pouvant être situé dans n'importe quel emplacement de l'unité mémoire;b) application à l'unité mémoire (12) de l'adresse contenue dans ledit premier emplacement de la table de liaisons (21) afin de fournir au dispositif de visualisation, un premier multiplet de caractères de la première ligne d'informations vidéo;c) adressage séquentiel de multiplets de caractères successifs de ladite première ligne d'informations vidéo afin de fournir au dispositif de visualisation une première ligne d'informations d'une page à visualiser;d) adressage d'emplacements successifs de ladite table de liaisons afin de fournir des premiers multiplets de caractères de lignes d'informations successives de ladite page à visualiser, et répétition des phases b et c pour chacune des lignes d'informations successives; et e) changement dynamique de rubriques de ladite table de liaisons (21) afin de réaliser un balayage horizontal et vertical de l'unitémémoire de manière à rafraîchir dynamiquement la page à visualiser.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US06/072,500 US4249172A (en) | 1979-09-04 | 1979-09-04 | Row address linking control system for video display terminal |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CH640076A5 true CH640076A5 (fr) | 1983-12-15 |
Family
ID=22107991
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CH659780A CH640076A5 (fr) | 1979-09-04 | 1980-09-02 | Ensemble de commande logique pour adresser des lignes d'informations video et procede pour le mettre en action. |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US4249172A (fr) |
| JP (1) | JPS5640947A (fr) |
| AU (1) | AU531745B2 (fr) |
| BE (1) | BE884965A (fr) |
| CA (1) | CA1145076A (fr) |
| CH (1) | CH640076A5 (fr) |
| DE (1) | DE3032952A1 (fr) |
Families Citing this family (38)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4414645A (en) * | 1979-04-30 | 1983-11-08 | Honeywell Information Systems Inc. | Hardware-firmware CRT display link system |
| US4404554A (en) * | 1980-10-06 | 1983-09-13 | Standard Microsystems Corp. | Video address generator and timer for creating a flexible CRT display |
| US4368466A (en) * | 1980-11-20 | 1983-01-11 | International Business Machines Corporation | Display refresh memory with variable line start addressing |
| US4435776A (en) * | 1981-01-27 | 1984-03-06 | Syntrex Incorporated | Word processing system |
| US4445196A (en) * | 1981-04-02 | 1984-04-24 | Gonet Helen G | Electronic Bible |
| JPS582874A (ja) * | 1981-06-30 | 1983-01-08 | 富士通株式会社 | フルグラフィックディスプレイ装置の画面構成変更回路 |
| AU555384B2 (en) * | 1981-07-06 | 1986-09-25 | Data General Corporation | Video display terminal |
| US4401985A (en) * | 1981-10-20 | 1983-08-30 | International Business Machines Corporation | Full page display apparatus for text processing system |
| US4418344A (en) * | 1981-12-10 | 1983-11-29 | Datamedia Corporation | Video display terminal |
| US4477802A (en) * | 1981-12-17 | 1984-10-16 | The Bendix Corporation | Address generator for generating addresses to read out data from a memory along angularly disposed parallel lines |
| DE3382253D1 (de) * | 1982-05-31 | 1991-05-23 | Fuji Xerox Co Ltd | Bilddatenspeichersystem. |
| JPS5952487A (ja) * | 1982-09-16 | 1984-03-27 | Hitachi Ltd | 磁気バブル記憶素子の高速アクセス方法 |
| JPS5957328A (ja) * | 1982-09-27 | 1984-04-02 | Canon Inc | 文字処理装置 |
| JPS5987569A (ja) * | 1982-11-11 | 1984-05-21 | Toshiba Corp | デ−タ自動連続処理回路 |
| US4555802A (en) * | 1983-01-10 | 1985-11-26 | International Business Machines Corporation | Compaction and decompaction of non-coded information bearing signals |
| US4692859A (en) * | 1983-05-16 | 1987-09-08 | Rca Corporation | Multiple byte serial data transfer protocol |
| US4653020A (en) * | 1983-10-17 | 1987-03-24 | International Business Machines Corporation | Display of multiple data windows in a multi-tasking system |
| US4857910A (en) * | 1983-12-19 | 1989-08-15 | Pitney Bowes Inc. | Bit-map CRT display control |
| US4644503A (en) * | 1983-12-30 | 1987-02-17 | International Business Machines Corporation | Computer memory system with integrated parallel shift circuits |
| CA1243138A (fr) * | 1984-03-09 | 1988-10-11 | Masahiro Kodama | Circuit d'acces rapide a la memoire d'un ecran cathodique |
| FR2566949B1 (fr) * | 1984-06-29 | 1986-12-26 | Texas Instruments France | Systeme d'affichage d'images video sur un ecran a balayage ligne par ligne et point par point |
| US4660029A (en) * | 1984-07-06 | 1987-04-21 | Tektronix, Inc. | Method of providing raster information for a graphics display employing linked lists |
| JPS61131990A (ja) * | 1984-11-30 | 1986-06-19 | Sony Corp | ビデオテツクス画像作成装置 |
| JPS61161506A (ja) * | 1985-01-11 | 1986-07-22 | Toshiba Mach Co Ltd | プログラマブルコントロ−ラのリンク方式 |
| US4740927A (en) * | 1985-02-13 | 1988-04-26 | International Business Machines Corporation | Bit addressable multidimensional array |
| DE3518301A1 (de) * | 1985-05-22 | 1986-11-27 | Deutsche Thomson-Brandt Gmbh, 7730 Villingen-Schwenningen | Sichtstation, insbesondere fernsehempfaenger |
| US4742350A (en) * | 1986-02-14 | 1988-05-03 | International Business Machines Corporation | Software managed video synchronization generation |
| US4755814A (en) * | 1986-02-21 | 1988-07-05 | Prime Computer, Inc. | Attribute control method and apparatus |
| US4847604A (en) * | 1987-08-27 | 1989-07-11 | Doyle Michael D | Method and apparatus for identifying features of an image on a video display |
| JPH01195497A (ja) * | 1988-01-29 | 1989-08-07 | Nec Corp | 表示制御回路 |
| US5113180A (en) * | 1988-04-20 | 1992-05-12 | International Business Machines Corporation | Virtual display adapter |
| KR950005650B1 (ko) * | 1992-10-29 | 1995-05-27 | 대우전자주식회사 | 어드레스 변환 방법 및 장치 |
| US5627568A (en) * | 1992-12-15 | 1997-05-06 | Texas Instruments Incorporated | Display buffer using minimum number of VRAMs |
| JP4323745B2 (ja) * | 2002-01-15 | 2009-09-02 | 三洋電機株式会社 | 記憶装置 |
| JP3971941B2 (ja) | 2002-03-05 | 2007-09-05 | 三洋電機株式会社 | データ記憶装置 |
| JP4387087B2 (ja) * | 2002-07-25 | 2009-12-16 | 三洋電機株式会社 | データ記憶装置 |
| US7437502B1 (en) * | 2005-04-20 | 2008-10-14 | Western Digital Technologies, Inc. | Disk drive adjusting operating mode based on historical proximity of host commands |
| US7450334B1 (en) | 2007-06-28 | 2008-11-11 | Western Digital Technologies, Inc. | Disk drive adjusting predictive caching based on temperature of voice coil motor |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3614766A (en) * | 1969-06-09 | 1971-10-19 | Dick Co Ab | Display device including roll and crawl capabilities |
| US3706075A (en) * | 1970-05-14 | 1972-12-12 | Harris Intertype Corp | Apparatus for editing and correcting displayed text |
| US3680077A (en) * | 1970-07-31 | 1972-07-25 | Ibm | Method of scrolling information displayed on cathode ray tube |
| US3683359A (en) * | 1971-04-30 | 1972-08-08 | Delta Data Syst | Video display terminal with automatic paging |
| US3683360A (en) * | 1971-07-01 | 1972-08-08 | Tokyo Shibaura Electric Co | Control devices for display apparatus |
| US3792462A (en) * | 1971-09-08 | 1974-02-12 | Bunker Ramo | Method and apparatus for controlling a multi-mode segmented display |
| US3903510A (en) * | 1973-11-09 | 1975-09-02 | Teletype Corp | Scrolling circuit for a visual display apparatus |
| JPS5297632A (en) * | 1976-02-12 | 1977-08-16 | Hitachi Ltd | Display unit |
-
1979
- 1979-09-04 US US06/072,500 patent/US4249172A/en not_active Expired - Lifetime
-
1980
- 1980-07-15 CA CA000356262A patent/CA1145076A/fr not_active Expired
- 1980-08-05 AU AU61086/80A patent/AU531745B2/en not_active Ceased
- 1980-08-19 JP JP11393880A patent/JPS5640947A/ja active Granted
- 1980-09-02 CH CH659780A patent/CH640076A5/fr not_active IP Right Cessation
- 1980-09-02 DE DE19803032952 patent/DE3032952A1/de not_active Withdrawn
- 1980-09-28 BE BE0/201899A patent/BE884965A/fr not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| JPS5640947A (en) | 1981-04-17 |
| DE3032952A1 (de) | 1981-03-26 |
| AU531745B2 (en) | 1983-09-01 |
| US4249172A (en) | 1981-02-03 |
| JPS6161408B2 (fr) | 1986-12-25 |
| CA1145076A (fr) | 1983-04-19 |
| AU6108680A (en) | 1981-03-12 |
| BE884965A (fr) | 1980-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CH640076A5 (fr) | Ensemble de commande logique pour adresser des lignes d'informations video et procede pour le mettre en action. | |
| JP3713084B2 (ja) | 液晶表示制御装置 | |
| US5451981A (en) | Tear free updates of computer graphical output displays | |
| US6271866B1 (en) | Dual port memory system for buffering asynchronous input to a raster scanned display | |
| KR870004622A (ko) | 화상 표시 장치 | |
| US5781185A (en) | Display device capable of mode detection and automatic centering | |
| FR2554256A1 (fr) | Appareil et procede de regeneration d'un tampon de trames fonctionnant a grande vitesse | |
| FR2617307A1 (fr) | Microcalculateur comportant des possibilites d'adressage perfectionnees | |
| US4165072A (en) | Method of operating a video game | |
| EP0120142B1 (fr) | Système d'affichage graphique | |
| JPH08201436A (ja) | 波形観測装置 | |
| US5371518A (en) | Video timing and display ID generator | |
| JPS6117190A (ja) | 図形表示装置 | |
| FR2587520A1 (fr) | Appareil et procedes d'affichage a fenetre a acces direct en memoire | |
| JP2001134243A (ja) | Lcdパネル表示装置 | |
| JP2000350168A (ja) | 画像信号処理方法および画像信号処理装置 | |
| EP0092995B1 (fr) | Méthode et dispositif pour la lecture et l'écriture de données d'affichage | |
| BE1001069A3 (fr) | Systeme d'affichage a balayage de trame avec generateur de caracteres a memoire a acces aleatoire. | |
| US5644757A (en) | Apparatus for storing data into a digital-to-analog converter built-in to a microcontroller | |
| US6034674A (en) | Buffer manager | |
| FR2612662A1 (fr) | Arbitrage de memoire pour sous-systemes video | |
| FR2650090A1 (fr) | Carte video assurant un fonctionnement en mode de niveau 1 bit et un fonctionnement en mode de niveau 2 bits | |
| SU963083A1 (ru) | Устройство дл отображени информации | |
| SU1587517A1 (ru) | Устройство дл адресации буферной пам ти | |
| JPH06324650A (ja) | 表示駆動装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PL | Patent ceased | ||
| PL | Patent ceased |