DE3588173T2 - Videosystem - Google Patents
VideosystemInfo
- Publication number
- DE3588173T2 DE3588173T2 DE19853588173 DE3588173T DE3588173T2 DE 3588173 T2 DE3588173 T2 DE 3588173T2 DE 19853588173 DE19853588173 DE 19853588173 DE 3588173 T DE3588173 T DE 3588173T DE 3588173 T2 DE3588173 T2 DE 3588173T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- memory
- position code
- bits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 199
- 238000012546 transfer Methods 0.000 claims description 36
- 230000004044 response Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 37
- 239000000872 buffer Substances 0.000 description 13
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 4
- 239000004020 conductor Substances 0.000 description 4
- 229910052710 silicon Inorganic materials 0.000 description 4
- 239000010703 silicon Substances 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000005669 field effect Effects 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 101100467574 Mus musculus Mras gene Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition 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/001—Arbitration of resources in a display system, e.g. control of access to frame buffer by video controller and/or main processor
-
- 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/003—Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
- G09G5/005—Adapting incoming signals to the display format of the display terminal
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/391—Resolution modifying circuits, e.g. variable screen formats
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/393—Arrangements for updating the contents of the bit-mapped memory
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/395—Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
- G09G5/397—Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2310/00—Command of the display device
- G09G2310/06—Details of flat display driving waveforms
- G09G2310/061—Details of flat display driving waveforms for resetting or blanking
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/126—The frame memory having additional data ports, not inclusive of standard details of the output serial port of a VRAM
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/128—Frame memory using a Synchronous Dynamic RAM [SDRAM]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/18—Use of a frame buffer in a display terminal, inclusive of the display panel
-
- 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/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
- G09G5/399—Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Digital Computer Display Output (AREA)
- Memory System (AREA)
Description
- Die Erfindung betrifft elektronische Computersysteme und dergleichen und insbesondere ein verbessertes Verfahren und eine Vorrichtung, um eine Videowiedergabe mit hoher Auflösung zu erzielen.
- Es ist üblich, die Ausgabe eines Computers als Bild auf dem Schirm einer Katodenstrahlröhre oder dergleichen darzustellen. Der Schirm ist tatsächlich aus einer Ansammlung von Punkten oder "Pixeln" zusammengesetzt, und das Bild wird daher erzeugt, indem diejenigen Pixel ausgewählt und beleuchtet werden, die zum Aufbau des gewünschten Bilds erforderlich sind. Ist das zur Darstellung nachgesuchte Bild nur ein einfaches Muster von Zahlen oder anderen Symbolen, so kann dies mit einer relativ beschränkten Anzahl von Pixeln erreicht werden. Wird jedoch ein komplizierteres Bild (mit einer größeren Auflösung) gewünscht, dann muß ein Schirm gewählt werden, der eine wesentlich größere Pixelzahl aufweist.
- Es versteht sich, daß jedes zum Bildaufbau verwendete Pixel mittels eines eigenen Ausgangsdatensignals aus dem Verarbeitungsteil des Computers beleuchtet wird und daß eine Auflösungserhöhung einen Schirm mit einer größeren Pixelzahl erfordert. Da jedes Videodatensignal auch gespeichert werden muß, ehe es zum Videoschirm transferiert wird, erfordert eine Erhöhung der Bildauflösung insbesondere auch, daß der Datenspeicherteil eine entsprechend erhöhte Anzahl von Speicherzellen zum Empfangen und Festhalten aller dieser Datensignale aufweist.
- Wird zwecks Steigerung der Auflösung des auf dem Schirm wiedergegebenen Bilds ein anderer Schirm mit einer erhöhten Pixelzahl verwendet, so bewirkt dies allein keine unverhältnismäßige Zunahme der Gesamtkosten des Systems. Jedoch ist die Größe oder Kapazität der Speicherkomponenten oder schaltung ein bedeutender Kostenfaktor des Systems, und eine Vergrößerung der Auflösung des dargestellten Bilds verkürzt effektiv das Zeitintervall, das zur Ausführung eines vollständigen Transfers aller Datensignale zwischen dem Speicher und dem Videoteil zur Verfügung steht.
- IBM Technical Disclosure Bulletin, Band 25 Nr. 3B (August 1982), Seiten 1610 bis 1611, beschreibt eine Anordnung, bei der dann, wenn neue Daten in einen regenerativen Speicher in der Basiseinheit geschrieben werden, die neuen Daten (offensichtlich in Textform) und die Adresse durch die Anzeigelogik eingefangen und je nach Erfordernis übersetzt werden. Die übersetzten Daten werden zu dem nächsten Zeitpunkt in den CRT-Auffrischungs-PAM eingeschrieben, zu dem auf diesen nicht durch die Anzeige zugegriffen wird.
- Ein Computersystem mit mehreren Speichern ist in der US- Patentschrift Nr. 4,286,320 beschrieben, die ebenfalls den Anmeldern zugewiesen ist. Jeder Speicher des Computersystems hat einen Adresszähler, der nach einem Speicherauslesevorgang automatisch zu der nächsten, nachfolgenden Adresse inkrementiert. Ein Seitenauswahlsignal gibt jeden Speicherauslesevorgang nur dann frei, wenn der Seitenkennzeichnungsabschnitt der Adresse mit einer Kennung übereinstimmt, die dem Speicher zugewiesen ist (Jeder Speicher hat eine eindeutige Kennung).
- Mit dem System wird jedoch das Problem des Betriebs mit einer Auswahl verschiedener Anzeigen nicht angemessen gelöst. Da jede Speichereinheit eine Standardkonstruktion ist, werden alle Speicherzellen der Speichereinheit entladen, um das Anzeigebild zu erzeugen, so daß, um es dem System zu ermöglichen, mit verschiedenen Anzeigen zu arbeiten, mehr Speicherzellen vorhanden sein werden als notwendig sind, das Bild auf der Anzeige zu reproduzieren. Folglich wird beim Entladen der redundanten Zellen eine innere Verzögerung auftreten.
- Die Erfindung schafft ein Videosystem, mit:
- -einem Datenprozessor zum Manipulieren von einem Videobild entsprechenden Bildpixeldaten gemäß Programmbefehlen, wobei der Datenprozessor an einen Datenbus, einen ersten Adressenbus und einen Steuerbus zum übertragen von Steuersignalen einschließlich eines XY-Speicherzugriffssignals angeschlossen ist;
- -einem Videospeicher, der an den Datenbus und an einen zweiten Adressenbus angeschlossen ist, um Bildpixeldaten in Speicherplätzen zu speichern die über den zweiten Adressenbus empfangenen Adressen entsprechen;
- -einem Anzeigemittel, das an den Videospeicher angeschlossen ist, um eine für eine Bedienungsperson wahrnehmbare Anzeige zu erzeugen, die den im Videospeicher gespeicherten Bildpixeldaten entspricht;
- -einem Videosystem-Steuermittel, das an den Datenbus, den ersten Adressenbus und den zweiten Adressenbus angeschlossen ist, um die Übertragung von Daten zwischen dem Datenprozessor und dem Videospeicher durch Steuern der an den Videospeicher über den zweiten Adressenbus angelegten Adresse zu steuern, wobei das Videosystem-Steuermittel enthält:
- -einem XY-Adressenregister, das an den Datenbus angeschlossen ist, um Adressen zu speichern, die einem besonderen Anzeigeplatz entsprechen, der als Rasterpositionscode mit einem X- Anteil und einem Y-Anteil dargestellt wird;
- dadurch gekennzeichnet:
- daß das XY-Adressenregister so beschaffen ist, daß es mehrere Bits enthält, auf die ein Mikroprozessor zugreifen kann, wobei die Grenze zwischen dem X-Anteil und dem Y-Anteil programmierbar ist, so daß der X-Anteil so definierbar ist, daß er einige der Bits des XY-Adressenregisters belegt, wobei die verbleibenden Bits einen Teil des Y-Anteils bilden; und
- daß das Videosystem-Steuermittel ferner enthält:
- -ein XY-Offset-Register, das an das XY-Adressen-Register angeschlossen ist, wobei das XY-Offset-Register so beschaffen ist, daß einige der Bits des XY-Offset-Registers die Grenze zwischen den X- und Y-Anteilen der im XY-Adressenregister enthaltenen Adresse spezifizieren; und
- - ein Adressierungsmittel, das an den Steuerbus, den ersten Adressenbus, den zweiten Adressenbus und das XY-Adressenregister angeschlossen ist, um bei Empfang eines XY- Speicherzugriffssignals durch Bereitstellen einer Adresse vom XY-Adressenregister für den Videospeicher über den zweiten Adressenbus einen indirekten XY-Speicherzugriffszyklus auszuführen.
- Der Videospeicher ist vorzugsweise ein dynamischer Multiport-Direktzugriffsspeicher, der in mehreren Farbebenen organisiert ist. Die Videosystem-Steuereinheit frischt diesen dynamischen Direktzuqriffsspeicher automatisch auf. Das Videosystem-Steuermittel kann einen Reihenadressen- Zwischenspeicher und einen Spaltenadressen-Zwischenspeicher einschließen.
- Diese und weitere Merkmale/Vorteile ergeben sich aus der Beschreibung in Verbindung mit den Figuren, wie nachfolgend aufgeführt.
- Figur 1 ist ein Blockdiagramm, das eine Video- Steuereinrichtung gemäß der Erfindung beinhaltet;
- Figur 2 ist ein Funktions-Blockdiagramm der Video- Steuereinrichtung von Figur 1;
- Figur 3 ist ein Schaltplan von Schaltungs-Blöcken, die zur Verwirklichung der Funktionen von Figur 2 verwendet werden;
- Figur 4 ist ein Blockdiagramm des System-Blocks von Figur 3;
- Figur 5 ist ein Blockdiagramm des Video-Blocks von Figur 3;
- Figur 6 ist ein Blockdiagramm des DA-ST-Blocks von Figur 3;
- Figur 7 ist ein Blockdiagramm des CRT-Blocks von Figur 3;
- Figur 8 ist eine Prinzipskizze des Steuer-Blocks von Figur 4;
- Figur 9 ist eine Prinzipskizze des Zyklusgenerators von Figur 4;
- Figur 10 ist eine Prinzipskizze des RAS-Decodierungs-Blocks von Figur 4;
- Figur 11 ist eine Prinzipskizze von Figur 7;
- Figur 12 ist eine Prinzipskizze des Speicheranschlüsse- Blocks von Figur 4;
- Figur 13 ist eine Prinzipskizze des Auffrisch-Blocks von Figur 4;
- Figur 14 ist eine Prinzipskizze des Blocks Bereit/Halten von Figur 4;
- Figur 15 ist eine Prinzipskizze des Video-Blocks von Figur 7;
- Figur 16 ist eine Prinzipskizze des Vertikalzählers von Figur 7;
- Figur 17 ist eine Prinzipskizze des Horizontalzählers von Figur 7;
- Figur 18 ist eine Prinzipskizze des Horizontalzählers von Figur 7;
- Figur 19 ist eine Prinzipskizze des in den Figuren 16, 17 und 18 verwendeten Basisregisters;
- Figur 20 ist eine Prinzipskizze des SRDAT-Blocks von Figur 7;
- Figur 21 ist eine Prinzipskizze des FS-Decodierungs-Blocks von Figur 3;
- Figuren 22 bis 26 sind Prinzipskizzen des XY-Register-Blocks von Figur 3;
- Figuren 27 bis 29 sind Prinzipskizzen des Steuerregister- Blocks von Figur 3;
- Figur 30 ist eine Prinzipskizze des Eingangsanschlüsse- Blocks von Figur 3;
- Figur 31 ist eine Prinzipskizze des Datenanschlüsse-Blocks von Figur 3;
- Figur 32 ist eine Prinzipskizze des Datenstatus-Blocks von Figur 3;
- Figur 33 ist eine Prinzipskizze der in der Videosystem- Steuereinrichtung verwendeten Doppeltakte;
- Figur 34 ist eine Prinzipskizze einer Ausführungsform des Wiedergabespeichers;
- Figur 35 ist ein Blockdiagramm eines Mikroprozessors von Figur 1;
- Figur 36 und 37 sind alternative Ausführungsformen eines Videosystems; und
- Figur 38 ist eine Skizze des Datentransfer-Zyklus;
- In Fig. 1, auf die nun Bezug genommen werden soll, gibt es ein Blockdiagramm einer Ausführungsform der Videosystem- Steuereinrichtung gemäß der Erfindung. Die in Fig. 1 gezeigten Blöcke umfassen einen Mikroprozessor 1, eine Videosytem-Steuereinrichtung 3 und einen Wiedergabespeicher 5, wie er zum Beispiel in der US-Anmeldung 567,040 (US-A-4 639 890) beschrieben ist, die dem Rechtsnachfolger der vorliegenden Erfindung zugewiesen ist. Der Ausgang des Wiedergabespeichers 5 ist mit einem Schieberegister 7 verbunden, das Daten zu einem optionalen Digital-Analog-Wandler 9 verschiebt, um sie über einen bidirektionalen Datenbus 9A einem geeigneten Monitor oder Fernsehbildschirm 11 oder einem anderen Ausgabe- oder Eingabegerät zuzuführen. Zusätzlich ist ein dynamischer System-RAM 19 zum Speichern von Daten und/oder Befehlen zur Verarbeitung durch einen Mikroprozessor 1 vorgesehen. Der Mikroprozessor 1 enthält Eingangsdaten von einem Anschluß 15 und führt die Daten einem bidirektionalen Bus 17 zu, der den Mikroprozessor 1 mit der Videosystem-Steuereinrichtung 3, dem Wiedergabespeicher 5 und dem dynamischen System-RAM 19 verbindet. Zusätzlich versorgt der Mikroprozessor die Videosystem-Steuereinrichtung 3 und einen zweiten Anschluß 15 A, welcher zusammen mit dem Anschluß 15 sowohl mit einem Port-Gerät, wie einem Keyboard, als auch anderen Peripheriegeräten verbunden ist, die von dem System benutzt werden können, mit Adresseninformationen.
- Der Mikroprozessor 1 versorgt die Videosystem-Steuereinrichtung 3 über einen Adressenbus 21 mit Adresseninformationen. Die Bedienung der Schnittstelle zwischen dem Mikroprozessor 1 und der Videosystem-Steuereinrichtung 3 erfolgt mittels des bidirektionalen Busses 23, über den die Steuersignale zwischen dem Mikroprozessor 1 und der Videosystem- Steuereinrichtung 3 transferiert werden. Das Ausgangssignal der Videosystem-Steuereinrichtung 3 wird in Form von Adresseninformationen und Steuersignalen über einen Adressenbus 25 dem Wiedergabespeicher 5 und dem dynamischen System-RAM 19 zugeführt. Die Steuerung des Datentransfers zu und von dem Wiedergabespeicher 5 und dem dynamischen System- RAM 19 erfolgt durch die Videosystem-Steuereinrichtung 3 über den Kontrollbus 27. Zusätzlich wird der CRT-Monitor 11 über eine Synchronisationsleitung 29 mit einem Synchronisations- und Austastsignal versorgt. Der Mikroprozessor 1 führt die Programmbefehle aus, mit denen er entweder durch den Datenbus 17 versorgt wird oder die in seinen eigenen internen Speichern gespeichert sind. Auf diese Programmbefehle hin werden Steuersignale und Daten in Form von Kommandos zu der Videosystem-Steuereinrichtung 3 übertragen. Die Videosystem-Steuereinrichtung 3 führt vier Basisfunktionen durch. Diese Funktionen sind: (1) sie gestattet dem Mikroprozessor 1 praktisch unbestrittenen Zugriff auf den dynamischen System-RAM 19 und den Wiedergabespeicher 5; (2) sie erzeugt automatisch die Auffrischzyklen, die zur Aufrechterhaltung der in dem dynamischen System-RAM 19 und dem Wiedergabespeicher 5 gespeicherten Daten benötigt werden; (3) sie führt die Wiedergabeaktualisierungszyklen durch, die zum periodischen Laden neuer Videodaten in den Wiedergabespeicher 5 und insbesondere in die im Wiedergabespeicher 5 enthaltenen Schieberegister benötigt werden; (4) sie erzeugt die Videosynchronisations- und -austastsignale, die zur Steuerung des Videomonitors erforderlich sind.
- Der Wiedergabespeicher 5 enthält eine Punktmuster-RAM-Einheit oder einen Chip mit genügend Zellen, um jede für den CRT-Monitor 11 bestimmte Schirmwiedergabe unterzubringen, und er enthält ferner ein serielles Schieberegister, das an Plätzen, die verschiedenen vorgewählten Spalten von Zellen im Wiedergabespeicher 5 entsprechen, mehrere Abgriffe aufweist. Zusätzlich sind Vorkehrungen dazu getroffen, Abgriffe auszuwählen, um nur einen Teil des Schieberegisters zu entladen, der die interessierenden Bits enthält, wodurch unbenutzte Teile des Schieberegisters wirksam ausgeschlossen werden können und die Zeit zum Trnsferieren der interessierenden Daten zum CRT-Monitor 11 reduziert wird. Das optionale Hochgeschwindigkeits-Schieberegister 7 steht über Leitungen 31 mit den internen Schieberegister-Ports der Wiedergabespeicher 5 in Schnittstellenverbindung und schiebt die Daten zu einem optionalen Digital-Analog-Videosignalwandler 9 oder anderen Ausgabegeräten und Eingabegeräten. Der CRT-Monitor 11 gibt die Informationen wieder, die ihm unter der Steuerung der Videosystem-Steuereinrichtung 3, die den Datentransfer vom Wiedergabespeicher 5 zum CRT-Monitor über das optionale Schieberegister 7 und den Digital-Analog- Wandler 9 bedient, über den Datenbus 17 vom Mikroprozessor 1 zugeführt werden. Das Timing für das System wird durch den Systemtaktgeber 33 erzeugt, der dem System und insbesondere der Videosystem-Steuereinrichtung 3, dem Wiedergabespeicher 5 und dem Schieberegister 7 die Schiebe- und Ladetakte zur Verfügung stellt.
- Fig. 2, auf die nun Bezug genommen werden soll, ist ein Funktions-Blockdiagramm der Videosystem-Steuereinrichtung 3 von Fig. 1, wobei ein Multiplexer 49 Adressen sowohl über einen Adressenbus 21 vom Mikroprozessor 1 als auch von einem Auffrischadressenzähler 45, der zum Auffrischen der Speicherzellen des Wiedergabespeichers 5 dient, von einem X- Y-Adressenregister 43, und die Schieberegisteradresse von dem internen Steuer- und Videoregister 39 annimmt. Die Adressen werden in eine 9-Bit-Reihen- oder -Spaltenadresse umgewandelt, die für den Wiedergabespeicher 5 und/oder das System-DRAM 19 benötigt wird. Die vom Mikroprozessor 1 gelieferte Adresse ist in zwei Gruppen unterteilt, RA0-RA8, die die Reihenadressenbits sind, die über einen Datenbus 21R einem Reihenadressen-Zwischenspeicher 47 zugeführt werden, und die Adressenbits CAO-CAB, welche die Spaltenadressenbits sind, die über einen Datenbus 21C am Spaltenadressen- Zwischenspeicher 41 anliegen. Natürlich steht das Symbol CA für die Spaltenadressenbits. Eine Zuteiler/Bereit-Logik 37 bestimmt ebenso die Quelle der Adressen, die mittels eines Multiplexers 49 und dem Datenbus 25 dem Wiedergabespeicher 5 zugeführt werden, wie sie den Mikroprozessor 1 mit einem Signal READY/HOLD als Teil der über den Datenbus 23 beförderten Steuersignale versorgt. Die Steuersignale, die zum Steuern des Multiplexers 49 und der nachfolgenden Multiplexierung der Reihen/Spaltenadressen verwendet werden, wenn diese in Form von MAO-MAB, was für Speicheradresse steht, auf dem Datenbus 25 ausgegeben werden, werden durch eine Speicherzyklus-Steuereinrichtung 35 erzeugt. Die Reihen- und Spaltenadressen-Eingangssignale vom Mikroprozessor 1 werden mittels der abfallenden Flanke des Steuersignais "ALE" in einem Reihenadressen-Zwischenspeicher 47 bzw. einem Spaltenadressen-Zwischenspeicher 41 gespeichert, bevor sie zum Wiedergabespeicher 5 multiplexiert werden.
- Sowohl die x-Y-Register 43 als auch die Steuer- und Videoregister 39 sind programmierbare Register, auf die der Mikroprozessor 1 direkt zugreifen kann.
- Der Datenbus 17 in der Ausführungsform von Fig. 2 ist nur 8 Bit breit, wobei jedes Register des X-Y-Adressenregisters 43 und des Steuer- und Videoregisters 39 16 Bit breit ist. Folglich greift der Mikroprozessor 1 in getrennten Zyklen auf die höherwertigen und niederwertigen Bits der Register zu. Der an der Spaltenadressen-Bitleitung, die ein Teil des Adressenbusses 21C ist, eingegebene Bit-Wert bestimmt, ob das höherwertige oder das niederwertige Byte des Registers adressiert wird. Ein Zugriff auf ein internes Register wird freigegeben, indem die geeignete Funktionscodewahl eingestellt wird, die am Beginn des Zyklus durch die Funktionswahlleitungen FSO-FS2 gekennzeichnet wird. Die Auswahl eines der Register, die sich in der Ausführungsform von Fig. 2 auf 18 belaufen, wird durch die Eingabe eines 5-Bit-Codes an Datenleitungen CA6 bis CA2, die ein Teil des Adressenbusses 21C sind, während des Zugriffs durch den Mikroprozessor 1 bestimmt. Der an CAL eingegebene Wert wählt die höherwertigen oder niederwertigen Bytes des Registers aus. Der Status der Lese- und Schreibleitung, Eingangssignal R/W-, muß vor und während der Zeit zulässig sein, in der das niederwertige Byte CEL der Spaltenadressenfreigabe, welche eine Steuerleitung ist, die am Datenbus 23 vorhanden ist, niederwertig wird, um zu bestimmen, ob der Registerzugriff ein Lese- oder ein Schreibzugriff ist. Die Steuer- und Videoregister enthalten Videotimingregister, Wiedergabeaktualisierungsregister und Steuerregister. Die Videotimingregister sind so programmiert, daß sie die horizontalen und vertikalen Synchronisations- und Austastsignale erzeugen, die zum Steuern des CRT-Monitors 11 von Fig. 1 benötigt werden. Die in diese Register geladenen Werte werden kundenspezifisch an die bestimmten Anforderungen des CRT-Monitors 11 an die Bildschirmauflösung und das Timing angepaßt. Es ist sowohl Zeilensprungabtastbetrieb als auch Nicht-Zeilensprungabtastbetrieb möglich. Die Videosystem-Steuereinrichtung kann so programmiert werden, daß sie ein extern erzeugtes Synchronisationssignal verriegelt, z.B. für eine Anwendung, bei der das im Wiedergabespeicher 5 erzeugte Graphikbild einem externen Videosignal überlagert werden soll.
- Die Wiedergabeaktualisierungsregister sind erforderlich, da die Videosystem-Steuereinrichtung 3 die Wiedergabeaktuahsierungszyklen erzeugt, die zum periodischen Auffrischen der Videowiedergabe erforderlich sind. Die Wiedergabeaktuahsierungsregister halten die Reihen- und Abgriffspunkt- Adressenausgabe zum Wiedergabespeicher 5 während jedes Wiedergabeaktualisierungszyklus aufrecht. Der Wiedergabeaktualisierungszyklus ist ein Sondertyp eines Zugriffs auf den Wiedergabespeicher 5, welcher 256 Datenbits zwischen der Speicherzellenanordnung und dem Schieberegister innerhalb jedes Wiedergabespeichers 5 im Speichersystem transferiert.
- In Graphikanwendungen findet der Wiedergabeaktualisierungszyklus während des Horizontalaustastens statt, um das Schieberegister mit einer neuen Datenladung von der Speicherzellenanordnung zu laden.
- Während der nachfolgenden aktiven Horizontalabtastungen wird der Inhalt der Schieberegister innerhalb des Wiedergabespeichers 5 aus den Seriellausgangsanschlüssen herausgetaktet und auf dem CRT-Monitor 11 wiedergegeben. Die Videosystem-Steuereinrichtung 3 kann programmiert werden, Daten in der entgegengesetzten Richtung zu transferieren, d.h. vom Schieberegister zur Speicherzellenanordnung, von denen alle im Wiedergabespeicher 5 enthalten sind. Dieser Betriebsmodus ist zum Einfangen von Videobildern geeignet, die extern erzeugt und dann während der vorangehenden aktiven Horizontalabtastung durch den Serielleingang in das Schieberegister getaktet werden.
- Die Wiedergabesteuerregister enthalten eine Start-Wiedergabeadresse, die der Stelle innerhalb des Wiedergabespeichers 5 entspricht, die oben links auf dem Schirm wiedergegeben wird. Der Wert, um den die Wiedergabeadresse zwischen Wiedergabeaktualisierungszyklen erhöht wird, ist ebenfalls programmierbar. Diese programmierbaren Merkmale umfassen (1) Spezifizieren der Anzahl von Abtastzeilen zwischen aufeinanderfolgenden Wiedergabeaktualisierungszyklen; (2) Spezifizieren der Richtung (Lesen oder Schreiben) des Datentransfers;
- (3) Spezifizieren, daß die Leitungen der Horizontalsynchronisation Hsync und der Vertikalsynchronisation Vsync entweder Eingänge oder Ausgänge sind; und die Auswahl entweder eines Zeilensprung- oder eines Nicht-Zeilensprung-Bilds. Diese Merkmale werden mittels der in die Steuerregister und die Videotimingregister geladenen Werte gesteuert. In der durch das Blockdiagramm von Fig. 2 dargestellten Ausführungsform gibt es zwei Steuerregister, die die Spezifizierung einer Anzahl von programmierbaren Merkmalen steuern, zu denen die verschiedenen, von der Videosystem-Steuereinrichtung 3 unterstützten Betriebsmodi gehören, die schon erwähnt worden sind. Jedes aktive Register kann vom Mikroprozessor 1 sowohl beschrieben als auch gelesen werden. In diesem Block von Registern sind auch die Statusregister enthalten, die gelesen, aber nicht beschrieben werden können.
- Ein Statusregister enthält drei aktive Bits. Eines dieser Bits zeigt an, daß eine bestimmte Horizontalabtastung auf dem Schirm wiedergegeben worden ist. Die anderen beiden Statusbits zeigen Fehlerzustände an. Ein Bit zeigt an, daß eine schwebende Anforderung eines DRAM-Auffrischzyklus zu lange ausgesperrt worden ist, und das andere Bit zeigt an, daß eine schwebende Anforderung eines Wiedergabeaktualisierungszyklus zu lange blockiert worden ist. Freigegeben bewirken diese Statusbedingungen, daß Unterbrechungsanforderungen zum Mikroprozessor 1 gesendet werden.
- Das X-Y-Adressenregister 43 hält die X-Y-Adressen aufrecht, die die Verkettung der X- und Y-Koordinaten einer Stelle auf dem Graphikschirm darstellen, die vom Wiedergabemonitor 5 wiedergegeben wird. Die Videosystem-Steuereinrichtung 3 kann konfiguriert werden, anstelle der vom Mikroprozessor 1 erzeugten Adresse eine interne 20-Bit-X-Y-Adresse zu erzeugen. Dieses Merkmal ist bei einer Erweiterung des Adressenbereichs mancher Prozessoren nützlich. Selbst wenn der Mikroprozessor 1 einen ausreichenden Adressenbereich hat, um direkt auf jeden Pixel auf dem Schirm zuzugreifen, ist die Hardware-Aktualisierung der X-Y-Adresse zwischen Zugriffen wahrscheinlich effizienter als gleiche Funktionen, die in der Software des Mikroprozessors 1 ausgeführt werden. Der X- Y-Abschnitt der Adresse kann unter der Steuerung der Eingangssignale CA4-CA1, die vom Mikroprozessor 1 während jedes Zugriffs auf das X-Y-Adressenregister 43 geliefert werden, unabhängig erhöht, vermindert oder gelöscht werden. Das Erhöhen findet im Anschluß an die Beendigung des Zugriffs in Vorbereitung des Transfers der nächsten X-Y-Adresse zum X-Y- Adressenregister 43 statt. Das X-Y-Adressiermerkmal der Videosystem-Steuereinrichtung gestattet es internen Algorithmen wie Linienzeichnungs- oder Gebrauchszeichenzeichnungs-Routinen, mit hardware-unterstützten Geschwindigkeiten auf eine Reihe benachbarter Pixel auf dem Schirm zuzugreifen.
- Ein Arbiter 37 ist für die Erzeugung von Anforderungen von Speicher- und Registerzugriffszyklen verantwortlich. Wenn mehr als eine Anforderung unerledigt ist, ist der Arbiter für die Entscheidung verantwortlich, welche Anforderung basierend auf den relativen Prioritäten der vervollständigten Anforderungen als nächstes zu erzeugen ist. Da die intern von der Videosystem-Steuereinrichtung 3 erzeugten Wiedergabeaktualisierungs- und DRAM-Auffrischzyklen typischerweise weniger als 2% der verfügbaren Speicherzyklen verwenden, gewährt der Arbiter eine Anforderung nach einem Speicherregisterzugriff vom Mikroprozessor 1 wahrscheinlich sofort. Wenn jedoch eine Auffrischanforderung des Wiedergabespeichers 5 einige Zeit unerledigt gewesen ist, wird ihre Priorität erhöht, um sicherzustellen, daß der Auffrischzyklus stattfindet, ehe die Speicherdaten verloren sind. Der Arbiter hält den Mikroprozessor 1 mittels des Signals READY/HOLD- zurück.
- Ein Speicherzyklusgenerator 35 ist für die Durchführung der Speicherzyklen verantwortlich, die ihm von der Arbiter/- Bereit-Logik 37 zugewiesen werden. Der Speicherzyklusgenerator steuert den Multiplexer 49 und erzeugt das Timing für Steuersignale und Adressen während eines Speicherzyklus. Der Speicherzyklusgenerator 35 kann einen direkten Mikroprozessor-Speicherzugriff, eine x-Y-Adressierung, eine Wiedergabeaktualisierung, ein Auffrischen des Wiedergabespeichers 5 und des dynamischen System-Schreib/Lese-Speichers (DRAM) 19, einen Schieberegisterlesezyklus und einen Schieberegisterschreibzyklus durchführen.
- Die Videosystemsteuerung kann in regelmäßigen Intervallen Auffrischzyklen für den Wiedergabespeicher 5 und das System- DRAM 19 durchführen. Der Auffrischadressenzähler 45 erzeugt während eines Auffrischzyklus ein 9-Bit-Reihenadressen-Ausgangssignal. Darin enthalten ist&sub1; daß der Auffrischadressenzähler 45 die Anzahl von Auffrischzyklen pro Horizontalabtastzeile bestimmt. Das Timing für diesen Transfer ist in Fig. 38 dargestellt.
- Ein Auffrischadressenregister innerhalb des Auffrischadressenzählers 45 ist für den Mikroprozessor 1 unzugänglich, hält die laufende Reihenadresse aufrecht und wird nach jedem Speicherauffrischzyklus erhöht. Die Freigabe der Auffrischzyklen und die Frequenz der Auffrischzyklen werden durch drei Steuerregisterbits innerhalb des Steuerregisters 39C bestimmt.
- Die CRT-Steuereinrichtung 57 enthält außerdem einen 4-Bit- Abtastzeilenzähler, der verwendet wird, um die Anzahl von aktiven Horizontalabtastzeilen zu zählen, die zwischen aufeinanderfolgenden Wiedergabeaktualisierungszyklen zum CRT- Monitor 11 ausgegeben werden. Es kann jede Anzahl Abtastzeilen von 1 bis 16 spezifiziert werden. Beispielsweise wird in einem System, in dem jeder Wiedergabeaktualisierungszyklus genug Daten transferiert, um das Videoschieberegister für zwei vollständige Abtastzeilen in den Wiedergabespeicher 5 zu geben, ein Wiedergabeaktualisierungszyklus nur am Beginn jeder zweiten Abtastzeile benötigt.
- Fig. 38 zeigt vier aufeinanderfolgende Abtastzeilen auf dem CRT-Monitor 11 und wird benutzt, um die Stellen zu bezeichnen, an denen verschiedene Aktivitäten der Videosystem-Steuereinrichtung 3 stattfinden. Zeilensegmente 901A bis 901D repräsentieren den aktiven Abschnitt jeder Horizontalabtastzeile. Intervalle 902A bis 902D repräsentieren den ausgetasteten Abschnitt jeder Horizontalabtastzeile. Der Mikroprozessor 1 kann jederzeit einen Speicherzugriff anfordern, und die Videosystem-Steuereinrichtung 3 gewährt dann den Zugriff und führt den Speicherzyklus basierend auf einer Zuteil-Logik innerhalb der VSC (Videosystem-Steuereinrichtung) durch. Zu bestimmten Zeiten während des Rasters werden zwei Typen von Zyklen von der VSC erzeugt. Während des mit 902A, 9028, 902C, 902D bezeichneten Intervalls führt die Videosystem-Steuerschaltung 3 einen Wiedergabeaktualisierungszyklus durch, der auch als Schieberegister-Neuladezyklus bekannt ist. Dies bewirkt, daß ein Schieberegistertransfer in den Videospeichern 5 stattfindet, der darin besteht, daß Daten auf der nächsten Abtastzeile wiedergegeben werden. Der Beginn der Intervalle 901A-D repräsentiert das Ende des Horizontalabtastintervalls. In diesem Moment beginnt die Videosystem-Steuereinrichtung, Auffrischzyklen für alle Speicher des Systems durchzuführen. Bis zum Punkt 903A- D auf jeder Abtastzeile werden vom Mikroprozessor 1 angeforderte Speicherzugriffszyklen mit Priorität über intern angeforderte Auffrischzyklen gewährt. Auf halbem Weg entlang der aktiven Abtastzeile, bezeichnet durch 903A-D, wird Auffrischzyklen Priorität über vom Mikroprozessor angeforderte Zyklen gegeben. Wiedergabeaktualisierungszyklen wird immer Priorität über vom Mikroprozessor angeforderte Zyklen gegeben.
- Fig. 3, auf die nun Bezug genommen werden soll, ist ein Schaltplan der Schaltungsblöcke, die zur Verwirklichung der Funktionsblöcke von Fig. 2 auf einem einzelnen Metalloxid- Siliziumchip mit Feldeffekttransistoren verwendet werden.
- Das System 53 enthält den Speicherzyklusgenerator 35, Register 39A, die ein Teil der internen Steuer- und Videoregister 39 von Fig. 2 sind, den Multiplexer 49, den Auffrischzähler 45 und die Zuteiler/Bereit-Logik 37. Ein Video-Block 57 vervollständigt die Funktionen sowohl der CRT-Steuereinrichtung 51 als auch der internen Videoregister 39C. Der x-Y-Logik-Block 43 entspricht den X-Y-Registern 43 von Fig. 2. Die FS-Decodierungs-Logik 63 enthält nicht nur die Reihen- und Spaltenadressen-Zwischenspeicher 41 und 47, sondern auch die Funktionswahl-Decodierungs-Logik, die die Funktionswahl-Eingangssignale FS (2-0) decodiert. Die CA- Decodierungs-Logik 55, die ein Teil der internen Steuer- und Videoregister 39 von Fig. 2 ist, enthält die Decodierungs- Schaltungen, die zu dem Zeilenadressen-Zwischenspeicher 41 gehören. Der Rest der Steuerregister ist in dem Steuerregister-Block 39C von Fig. 3 enthalten, und Eingangsanschlüsse 59 und ein Datenstatus 61 enthalten die Eingangs- Logik für den Empfang von Daten vom Mikroprozessor 1 von Fig. 2 und um sowohl dem Mikroprozessor 1 von Fig. 1 den Status zu liefern als auch die Steuersignale zu liefern, die zur Ausführung des bidirektionalen Datentransfers zwischen dem Mikroprozessor 1 und dem Wiedergabespeicher 5 und dem System-DRAM 19 erforderlich sind.
- Tabelle 1 liefert eine Definition für die in Fig. 3 benutzten Symbole, um die verschiedenen Signale zu beschreiben, die in der Figur dargestellt sind. TABELLE 1 EINGANGS-/AUSGANGSANSCHLÜSSE FÜR DIE VIDEOSYSTEMSTEUEREINRICHTUNG 3
- In Fig. 4 enthält das System 53 die Logik, um den Speicherzyklusgenerator 35 zu verwirklichen. Diese ist in mehrere Logik-Komponenten unterteilt, die die Reihenadressenauswahl RAS, eine Decodierungs-Logik 65, die eine Reihenadressenauswahl-Operation decodiert, und Speicheranschlüsse 69, die das Laden von Daten durch den Speicher steuern, das von einem Speicherzyklusgenerator 67 erzeugt wird, enthalten; der Speicherzyklus 67 erzeugt die Speicherzyklustransfers, um den Datentransfer zwischen dem Mikroprozessor 1 und dem Wiedergabespeicher 5 oder dem System-DRAM 19 abzuwickeln; und eine Steuerung 71 erzeugt die internen Steuersignale, die von der Videosystem-Steuereinrichtung 3 verwendet werden. Außerdem ist in dem System-Blockdiagramm die Zuteiler/Bereit-Logik 37 enthalten, ebenso wie der Auffrischadressenzähler 45, der ein Teil des Systemblockdiagramms 53 ist.
- Fig. 5 ist ein Schaltplan des Video-Blocks 57 von Fig. 3 und umfaßt die CRT-Steuereinrichtung 51, die die CRT-Logik 73 enthält, die das CRT-Signal etwa als sowohl horizontale als auch vertikale Austastung und Synchronisation erzeugt und diese Signale den Videoanschlüssen 75 zuführt, die diese Signale in Signale umwandeln, deren Spannungs- und Strompegel der CRT-Monitor 11 akzeptieren kann. Wie zuvor erörtert wurde, hat der Wiedergabespeicher 5 in der bevorzugten Ausführungsform Schieberegister eingebaut, in die der Mikroprozessor 1 direkt schreiben kann. Die Steuerung des Datentransfers zu dem Schieberegister wird durch die SR- Logik 79 erzeugt, die ein Teil des Video-Blocks 57 ist.
- Fig. 6 ist ein Schaltplan des DA-ST-Blocks 61 von Fig. 3. Er enthält Datenanschlüsse zum Empfang der Daten und ihrem Umsetzen in logische Pegel, die die Videosystem-Steuereinrichtung 3 akzeptieren kann. Außerdem wird als Teil der Schnittstellenverbindung zum Mikroprozessor 1 der Status des Wiedergabespeichers 5 und des Systemspeichers 19 durch einen Statusblock 81 von Fig. 6 erzeugt.
- Fig. 7, auf die nun Bezug genommen werden soll, ist ein Schaltplan des CRT-Blocks 73 von Fig. 5. Der CRT-Block enthält die Vertikalsteuer-Logik 97, die Horizontalsteuer-Logik 95, einen Horizontalzähler 93 und einen Vertikalzähler 99. Außerdem gibt es 9 programmierbare Register, in denen der Mikroprozessor 1 über einen 8-Bit-Datenanschluß 18, mit dem der DA-ST-Block 61 den Video-Block 57 versieht, sowohl schreiben als auch lesen kann. Jedes Register in der in Fig. 7 gezeigten Ausführungsform ist 12 Bit breit. Der Mikroprozessor 1 greift sowohl auf die programmierbaren Register innerhalb des CRT-Blocks 73 als auch auf andere Bereiche der Videosystem-Steuereinrichtung 3 mittels spezieller Lese- und Schreibzyklen zu. Ein Registerzugriffszyklus wird ausgewhlt, indem die Funktionswahl-Eingangssignale F52-F50 auf einen von zwei 3-Bit-Codes gesetzt werden, entweder 000 oder 010. Gibt es 18 programmierbare Register in der Videosystem-Steuereinrichtung 3 und nur 9 im CRT-Block 73, so sind die hier beschriebenen Informationen auf alle 18 programmierbaren Register anwendbar. Eines der 18 Register wird durch eine 5-Bit-Registeradresseneingabe in den Spaltenadresseneingang CA6-CA2 ausgewählt. Die Binärcodes 00000 bis 10001 sind Adressen zulässiger Register. Die Codes 10010 bis 11111 sind reserviert. Das höherwertige oder niederwertige Byte des Registers wird durch den an CA1 eingegebenen Wert ausgewählt. Ist CA1 Null, so wird das niederwertige Byte ausgewählt; andernfalls wird das höherwertige Byte ausgewählt. In Fig. 7 erzeugt die durch den CRT-Block 73 dargestellte Logik die Horizontalsynchronisations-, Vertikalsynchronisations- und Austastausgangssignale, die zur Steuerung des CRT-Monitors 11 benötigt werden. Diese Signale werden linear an HSYNC-VSYNC-BLANK ausgegeben. Die Videosystem-Steuereinrichtung kann programmiert werden, Synchronisations- und Austastsignale, die für den bestimmten CRT-Monitor 11 geeignet sind, und eine Bildschirmauflösung zu erzeugen, die für die gewünschte Anwendung ausgewählt ist. Zusätzlich kann die Videosystem- Steuereinrichtung 3 programmiert werden, den Mikroprozessor 1 am Ende irgendeiner Horizontalabtastzeile zu unterbrechen, indem durch die Steuerung des INTV-Signals, das auf der Leitung 23 vorliegt, ein Unterbrechungssignal INT- auf seinen aktiv-tiefen Pegel gesteuert wird. Diese Signale werden mittels der Parameter programmiert, die mittels des Mikroprozessors 1 in die 9 Register des CRT-Blocks 73 geladen werden. Diese Register umfassen die Register Horizontalendesynchronisation 89, HESYNC; Horizontalendeaustastung 87, HEBLNK; Horizontalstartaustastung 85, HSBLNK; Horizontalsumme 91, HTOTAL; Vertikalendesynchronisation 109, VESYNC; Vertikalendeaustastung 103, VEBLNK; Vertikalstartaustastung 105, VSBLNK; Vertikalsumme 101, VTOTAL; und Vertikalunterbrechung 107, VINT. Die zwei zusätzlichen Register, der Horizontalzähler 93 und der Vertikalzähler 95, werden bei der Erzeugung der Video-Timingsignale verwendet.
- Der Horizontalzähler 93 ist ein Zähler, dessen Inhalt mit dem Horizontalendesynchronisations-Register 89, dem Horizontalendeaustast-Register 85, dem Horizontalstartaustast- Register 85 und dem Horizontalsummen-Register 91 verglichen wird, um die Grenzen der Horizontalsynchronisations- und -austastintervalle zu bestimmen. Ähnlich ist der Vertikalzähler 99 ein Zähler, dessen Inhalt mit dem Vertikalendesynchronisations-Register 109, dem Vertikalendeaustast- Register 103, dem Vertikalstartaustast-Register 105 und dem Vertikalsummen-Register 101 verglichen wird, um die Grenzen der Vertikalsynchronisations- und -austastintervalle zu bestimmen. Der Inhalt des Vertikalunterbrechungs-Registers 107 wird mit dem Vertikalzähler 99 verglichen, um zu bestimmen, wann eine bestimmte Abtastzeile zum CRT-Monitor 11 ausgegeben wird. Der Mikroprozessor 1 kann unterbrochen werden, wenn diese Bedingung nachgewiesen wird.
- Bei der Durchführung einer Funktion als Steuereinrichtung für den Wiedergabespeicher 5 und den System-DRAM 19, die Wiedergabeaktualisierungs-Steuereinrichtung und die Timing- Steuereinrichtung des CRT-Monitors 11 muß die Videosystem- Steuereinrichtung 3 mehrere Typen von Zugriffszyklen durchführen. Einige dieser Typen von Zyklen werden durch den Mikroprozessor 1 eingeleitet, während andere automatisch durch die Videosystem-Steuereinrichtung eingeleitet werden. Der Speicherzyklusgenerator 35 führt die meisten der Zugriffszyklen durch. Und im speziellen führt der Zyklusgenerator 67, der in Fig. 8 gezeigt ist, die folgenden Zyklen durch:
- direkte Zyklen, die durch den Mikroprozessor 1 eingeleitet werden;
- einen indirekten Zyklus des X-Y-Registers 43, der ebenfalls durch den Mikroprozessor 1 eingeleitet wird;
- Auffrischzyklen des Wiedergabespeichers 5 und des System- DRAMs 19, die automatisch durch die Videosystem-Steuereinrichtung 3 eingeleitet werden;
- einen Wiedergabeaktualisierungszyklus, der automatisch durch die Videosystem-Steuereinrichtung eingeleitet wird;
- und Schieberegistertransferzyklen, die das Schieberegister- Schreiben und Schieberegister-Lesen zum Transferieren von Daten zu und von dem Schieberegister innerhalb des Wiedergabespeichers 5 umfassen.
- Die Steuerschaltung 71 wickelt die Anforderungen für alle internen Zyklen einschließlich der Wiedergabeaktualisierungszyklen des CRT-Monitors und der Auffrischzyklen der Speicher 5 und 19 ab. Das Horizontalaustastsignal teilt der Steuerlogik 71 die Stelle des Rasters auf dem CRT für die Anforderung einer Wiedergabeaktualisierung oder Auffrischung mit. Diese Anforderung wird zu dem Zyklusgenerator 67 transferiert, um den Wiedergabeaktualisierungszyklus oder den Auffrischaktualisierungszyklus auszuführen.
- Fig. 8 ist eine Prinzipskizze des Steuerblocks 71 und enthält zwei Synchronisierschaltungen 111 und 113. Die Synchronisierschaltung 111 synchronisiert das Horizontalaustastsignal mit dem internen Takt, der verwendet wird, um die Logik innerhalb des System-Blocks 53 zu steuern. Der CRT- Monitor 11 verwendet ein anderes Taktsystem als das System 53, und infolgedessen verwenden das Horizontalaustastsignal und das Horizontalstopaustastsignal, die dem System 53 von dem Video-Block 57 zugeführt werden, einen verschiedenen Takt, der mit dem internen Takt synchronisiert werden muß, der für den Betrieb der Steuerung 71 verwendet wird. Zusätzlich enthält die Steuerung 71 eine Mealymodell-Statusmaschine, die aus mehreren programmierbaren Logikanordnungen 115 und einem ODER-Gatter 117 und einer Zwischenspeicherschaltung 119 besteht. Jedes Ausgangssignal jeder Stufe in der Ausführungsform von Fig. 9, in der es vier Stufen 121, 123, 125 und 127 gibt, wird den Spaltenleitungen A, B, C und D zugeführt, deren Komplemente Spaltenleitungen XA, XB, XC und XD zugeführt werden. Zusätzliche Steuerungen werden den programmierbaren Logikanordnungen 115 in den Reihenleitungen an Datenleitungen 129 zur Verfügung gestellt. Außerdem enthält die Mealy-Statusmaschine eine PLA 133 und die Decodierungs-Logik 135 am Punkt 131. Das Ausgangssignal der Steuerschaltung wird dem Zyklusgenerator 67 über einen Datenbus 137, der Bereit/Halten-Logik über eine Datenleitung 139 und dem Datenstatus-Block 61 über einen Datenbus 141 zugeführt. Ein einzigartiges Merkmal der Steuer-Logik ist, daß die Statusmaschine für "N"-Kanal-Metalloxid-Silizium- Feldeffekttransistor-Logikschaltungen ausgelegt ist, die eine Standardzelle verwenden, die vielfach wiederholt wird und die durch Verwendung eines Transistors 143 programmiert wird, der die Wirkungsweise der Statusmaschine bestimmt, die zur Verwirklichung des Steuer-Blocks 71 verwendet wird.
- Die Logik-Gatter 117 sind mit mehreren Eingangsleitern 217 ausgeführt. Diese Leiter können mit einer großen Anzahl von Ausgängen aus dem programmierbaren Logikbaustein 115 verbunden sein, der bei 219 dargestellt ist, oder mit einer minimalen Anzahl von Eingängen zum NOR-Gatter 117, wie bei 221 dargestellt, oder genau einer einzelnen Leitung verbunden sein, wobei alle Eingänge des NOR-Gatters miteinander verbunden sind, wie an der Stelle 223 dargestellt, um die Verwirklichung eines Standardzellen-NOR-Gatters zu ermöglichen.
- Die Zuteiler- und Bereit/Halten-Logik 37 basiert betriebsmäßig auf dem Zyklusgenerator 67, in dem Logikschaltungen 151 von Fig. 8 die Priorität des Betriebs dahingehend bestimmen, ob er bezüglich der Videosystem-Steuereinrichtung 3 intern oder extern ist. EXT-Signale und komplementäre XEXT- Signale, die auf dem ALE-Signal basieren, repräsentieren eine Anforderung vom Mikroprozessor 1 nach einem Speicherzugriffszyklus. ALE wird zu dem Zyklusgenerator hinauf durch den Zwischenspeicher 153 zwischengespeichert. Zusätzlich liefert die Schaltung 155 eine Pufferung für die Anforderung XINT eines internen Zyklus. Der Zyklusgenerator 67 enthält eine Moore-Modell-Statusmaschine, die aus einer ersten Stufe 161, einer zweiten Stufe 165, einer dritten Stufe 167, einer vierten Stufe 169, einer fünften Stufe 171, einer sechsten Stufe 173 und einer siebten Stufe 175 besteht. Jede Stufe enthält eine PLA 115, ein ODER-Gatter 117 und eine Zwischenspeicherschaltung 119, wobei das Ausgangssignal jeder Stufe den Reihenleitungen A bis G zugeführt wird und das Komplementärsignal den Leitungen XA bis XG zugeführt wird. Die Ausgangssignale werden außerdem durch eine Logik 177 decodiert, die eine PLA 179 und eine Decodier-Logik 181 enthält. Die Logik 177 erzeugt eine Anzeige am Datenbus 183, daß ein externer Zyklus, und bei 185, daß ein interner Zyklus abläuft. Der W-Leiter zeigt eine Schreiboperation an, bei der TRQE die Freigabe zum Schieberegister und die Ausgangsfreigabe der Speicher 5 und 19 erzeugt. REFINC liefert der Auffrisch-Logik 45 die Erhöhungsauffrischung, und REF2HR sorgt für einen Transfer vom Auffrischzähler zu dem Auffrischhalteregister, das in der Auffrisch-Logik des Auffrisch- Blocks 45 von Fig. 4 enthalten ist. Datenleitungen oder Ausgänge 185 sind die Steuerungen für die Adressenauswahlen des Multiplexers 49 und erzeugen SRRASEL, was eine Auswahl der Wiedergabeaktualisierungs-Reihenadresse ist. RACASEL sind die Reihenadressen-, Spaltenadressen-Auswahlleitungen, die für Wiedergabeaktualisierungs- und Auffrischzyklen verwendet werden. XYRASEL sind die XY-Reihenadressen-Auswahlleitungen, XYCASEL sind die XY-Spaltenadressen-Auswahlleitungen und EXTCASEL sind die externen Spaltenadressen-Auswahlleitungen. Ist keine davon aktiv, dann wird die Reihenadresse (RA) 21d ausgewählt. Leitungen 187 stellen die interne Spaltenadressenfreigabe ICASEN und die externe Spaltenadressenfreigabe ECASEN bereit. Eine Reihenadressenfreigabe RASEN wird auf der Datenleitung 189 bereitgestellt. Datenleitungen 191 wählen die Quelle für die RAS-Decodierungs-Logik 65 aus, die den XY-Zyklus XYCCL, den Schieberegisterzyklus SRCCL und den Auffrischzyklus REFCCL enthält. Außerdem ist eine Leitung 193 die Beendigungsleitung, die anzeigt, daß ein interner operationszyklus beendet ist, und das Signal XYGO ist die Einstellfreigabe für das XY-Register 43 und steht auf der Datenleitung 195 an.
- In Fig. 10, auf die nun Bezug genommen werden soll, ist ein Blockdiagramm der Reihenadressenauswahl-Decodierungsschaltung gezeigt, die durch den Block 65 mit dem Titel "RAS-Decodierung" dargestellt wird. Die Reihenadressenauswahl-Außerkraftsetzungsschaltung erzeugt einen Betriebsmodus, der Daten N-mal schneller als ohne diesen Modus in den Speicher zu schreiben gestattet. N ist die Anzahl von Speicherebenen innerhalb des Systems. Beispielsweise ist der Wiedergabespeicher 5 von Fig. 2 in einer Ausführungsform so konfiguriert, daß er vier Speicherebenen aufweist. Für die Videosystem-Steuerschaltung 3 werden in der Ausführungsform von Fig. 10 vier Reihenadressenauswahl-Ebenen unterstützt. Eine Ausführungsform besteht darin, jede der vier Ebenen zu kennzeichnen, die in Fig. 10 in Bereichen 177, 179, 181 und 183dargestellt sind. Das Schreiben in eine Ebene erzeugt ein Bild in einer Primärfarbe. Das Schreiben der gleichen Daten in zwei Ebenen erzeugt eine Mischfarbe. Das Merkmal der Außerkraftsetzung der Ladeadressenauswahl zu verwenden, gestattet es, gleichzeitig in beide Ebenen zu schreiben. Um dies zu tun, werden die RAS-Außerkraftsetzungsbits in dem Steuergitter, das im Block 39C von Fig. 3 enthalten ist, mit dem Binärwert der Farbe geladen. Wenn unter Verwendung dieses Merkmals in eine Ebene geschrieben wird, werden die anderen Ebenen ebenfalls ausgewählt. Das Merkmal der Außerkraftsetzung der Reihenadressenauswahl wird außerdem auf Schieberegister-Transfers angewandt. Diese Schieberegister befinden sich natürlich innerhalb des Wiedergabespeichers 5. Dieses Merkmal gestattet ein viermal schnelleres Löschen des Schirms des CRT-Monitors 11, da alle vier Reihenadressenauswahl-Ebenen in einem einzigen Zyklus transferiert werden können. Vor dieser Erfindung wurden Daten in einem einzelnen Speicherzyklus in eine Speicherbank oder Ebene geschrieben. Einen Gegenstand zu zeichnen, erfordert es, in jeden Code oder in jede Ebene individuell zu schreiben.
- Die Reihenadressen-Außerkraftsetzungs-Logik wird durch vier Bits gesteuert, die mittels des Mikroprozessors 1, der auswählt, welches Reihenadressenauswahl-Ausgangsbit während des Speicherzugriffszyklus aktiv gezwungen wird, programmiert und im Steuerregister 39C gespeichert werden. Diese vier Bits sind RASOR(3-0). Diese vier Bits werden mit der Funktionsdecodierung und den Signalen R/W- verknüpft, um Speicherlesekollisionen zu verhindern. Das Reihenadressen- Außerkraftsetzungsmerkmal wird nur für die folgenden Typen von Speicherzyklen freigegeben: einen Direktzugriffs- Schreibzyklus des Mikroprozessors 1, einen vom Mikroprozessor 1 angeforderten Transfer vom Schieberegister zum Speicher und einen vom Mikroprozessor 1 angeforderten Transfer vom Speicher zum Schieberegister Die vier verknüpften Bits werden dann mit den Bits für die Reihenauswahl Null und die Reihenauswahl Eins verknüpft, um die Auswahl für die Reihenadressenauswahl-Ausgabe herzustellen. In Fig. 10 wird das Reihenadressenauswahl-Freigabebit von dem Zyklusgenerator 67 zu der Reihenauswahl-Decodierungs-Logik gebracht und wird durch RASEN repräsentiert. Dieses Bit gibt die vier Bits aus den Steuerregistern, die zuvor durch die ODER-Logik 164 abgezählt wurden, zu den XRAS(3-0)-Ausgängen frei. Zusätzlich decodieren NOR-Gatter 162 und 163die Funktion, die ausgeführt wird, sei sie die Reihenadressenauswahl von der Funktionswahl-Decodierungsschaltung, die durch RSA repräsentiert wird, das XXY vom X-Y-Register 43, das anzeigt, wo die Daten in den Speicher geschrieben werden, eine Schieberegister-Reihenadressenauswahl SSRRAS vom Videoblock 57 und die Bits der erweiterten Steuerregister-Reihenadressenauswahl, die vom Steuerregister 39C erzeugt und durch ein Signal CRRAS repräsentiert werden. Diese Signale werden durch eine Logik 161 und mit dem NOR-Gatter 162 und 163 in Verbindung mit dem geeigneten Zyklus, der durchgeführt wird, multiplexiert, wobei ihr Schieberegisterzyklus durch das Signal SRCCL repräsentiert wird, ein Auffrischzyklus durch das Signal REFCCL repräsentiert wird und ein XY-Zyklus durch das Signal XYCCL repräsentiert wird. Diese Signale stammen natürlich aus dem Zyklusgenerator 67 von Fig. 4 und werden durch Logik-Gatter 185 kombiniert, zusätzlich zu dem Signal EHAE, das vom Steuerregister-Block 39C überbracht wird. Der Decodierungs-Block 63 erzeugt das Funktionswahl-Schieberegistersignal, das durch das Symbol FSSR repräsentiert wird, und das RWB-Signal, bei dem die vier Reihenauswahl- Ausgangsbits mittels der Logik-Gatter 187 verknüpft werden. Die Signale Funktionswahl und Lese/W- werden mittels des NOR-Gatters 189 kombiniert.
- Fig. 11A und 11b sind Prinzipskizzen des Multiplexers 49, der die Speicheradresse zu den Speichern 5 und 19 ausgibt. Wie im Zusammenhang mit Fig. 2 erörtert wurde, wählt der Multiplexer 49 entweder das Ausgangssignal aus dem Reihenadressen-Zwischenspeicher 47, dem Auffrischadressenzähler 45, dem XY-Adressenregister 43 oder dem Spaltenadressen- Zwischenspeicher 61 aus. Diese Eingangssignale werden als Signale XCAB, was die Eingabe vom Spaltenadressen-Zwischenspeicher 41 ist, und XRAB, was die Eingabe vom Reihenadressen-Zwischenspeicher 47 ist, die beide ein Teil des FS- Decodierungs-Blocks 63 von Fig. 3 sind, das XXY-Signal, das das Eingangssignal vom XY-Register 43 von Fig. 3 ist, das XSRRA, das die Schieberegister-Reihenadresse ist, die ein Teil des Video-Blocks 47 ist, und das XRACA, das das Ausgangssignal des Auffrisch-blocks 45 und des Video-Blocks 57 ist, in den Multiplexer 49 gebracht. Der Multiplexer in der gezeigten Ausführungsform enthält 7 Stufen 250, in denen die zuvor erwähnten Signale über Durchlaßtransistoren 251 ausgewählt und den Ausgangsanschlüssen 253 zugeführt werden. Der Zyklusgenerator 67 liefert die Auswahl für jede der Funktionen. EXTCASEL liefert die Spaltenauswahl, XYRASEL liefert die XY-Reihenauswahlfunktion, XYCASEL ist die Spaltenauswahl des XY-Registers 43, SRRASEL ist die Schieberegister-Reihenadressenausgangsauswahl-Freigabe, und RACASEL ist die Auffrischreihenadressen- und Schieberegisterspaltenadressenauswahl-Freigabe. Die ODER-Kombination aller diese Funktionen liefert ein Signal, das mit EXTRASEL bezeichnet ist und das den RA-Adressenbus 21d mit dem Ausgang des Multiplexers 49 am Ausgangsanschluß 25 verbindet. Der Ausgangsanschluß ist ein 9-Bit-Anschluß, und die übrigen zwei Bits sind in Fig. lib durch Schaltungen 255 und 257 dargestellt. Zusätzlich ist eine Test-Logik zum Testen der VSC 3 im Bereich 261 vorgesehen und wird durch das SCANOUTS- Signal, das vom Zyklusgenerator 67 an der Stelle 263 in den Multiplexer 49 gebracht wird, und durch das Videoaustastsignal SCANOUTV, das das Ausgangssignal des Videoblocks 57 ist, das dem Multiplexer bei 265 zugeführt wird, freigegeben. Diese beiden Signale sind die Schaltung eines Abtast wegs, der alles sonstige in zugänglichen Speicherknoten innerhalb der VSC 3 seriell verbindet, und die während eines Tests der Einrichtung verwendet wird.
- Die Speicheranschlüsse 69 liefern, wie in Fig. 12 gezeigt, die Steuersignale zum Schreiben in den Wiedergabespeicher 5, dessen Ausgangssignale das Schreibkommande XW, das TRQE- Kommando und die zwei Spaltenadressen-Hinweissignale XCASHI und XCASLO sind. Die hohen und tiefen Spaltenadressen-Freigabesignale, die von den Eingangsanschlüssen 59 geliefert werden, werden durch ICASEN und ECASEN verknüpft, die beide vom Zyklusgenerator 67 an Ausgängen XCASHI und XCASLO erzeugt werden.
- Die Videosystem-Steuereinrichtung 3 ist konfiguriert, in regelmäßigen Intervallen Auffrischzyklen für den Wiedergabespeicher 5 durchzuführen. Die Auffrischzähler (Fig. 13), die im Auffrischadressenzähler 45 enthalten sind, erzeugen während der Auffrischzyklen ein 9-Bit-Reihenadressenausgangssignal. Ein Auffrischdatenblockzähler, auf den der Mikroprozessor 1 nicht zugreifen kann, bestimmt die Anzahl von Auffrischzyklen pro Horizonalabtastzeile. Ein Auffrischadressenregister, auf das der Mikroprozessor 1 ebenfalls nicht zugreifen kann, hält die laufende Reihenadresse aufrecht und wird im Anschluß an jeden Auffrischzyklus erhöht. Das Freigeben der Auffrischzyklen und die Häufigkeit der Auffrischzyklen werden durch drei Steuerregisterbits innerhalb der Videosystem-Steuereinrichtung 3 bestimmt. Acht der Neun-Bit-Reihenadressen werden von der Schaltung 273 von Fig. 13A geliefert, die einen Auffrischzählerblock 270 und ein Halteregister 271 enthält. Bei einem Kommando vom Zyklusgenerator über das SRCCL-Signal wird der Zähler 270 über den Bus XRACA, der den Auffrischadressenzähler 45 mit dem Multiplexer verbindet, zum Multiplexer 49 freigegeben. Fig. 138 liefert den zum Zähler 270 gehörenden verbleibenden Zählerstatus 279. Eine in Fig. 13C bei 275 dargestellte Mealymodellstatusmaschine, auf die, wie zuvor erwähnt, der Host-Computer nicht zugreifen kann, bestimmt die Anzahl von Auffrischzyklen pro Horizontalabtastzeile, die durchgeführt werden. Ihr Ausgangssignal REFRQ wird zu der Steuer-Logik 71 ausgegeben und zeigt an, daß während der laufenden Abtastzeile zusätzliche Auffrischzyklen durchgeführt werden müssen.
- Das Auffrischadressenregister 270 hält die laufende Reihenadresse aufrecht und wird im Anschluß an jeden Auffrischzyklus für den Wiedergabespeicher 5 und den Systemspeicher 19 erhöht. Der Zyklusgenerator 67 führt die Zuteilung durch, um die herzustellenden Prioritäten der Speicherzyklen zu bestimmen.
- Die Bereit/Halten-Logik 37 (Fig. 14) liefert das Signal READY/HOLD (Bereit/Halten), das den Mikroprozessor vom aktuellen Status des Zyklusgenerators 67 in Kenntnis setzt. Mehrere, mittels der Steuerregisterbits RHMODE (1-0) und RH(2-0) programmierte Betriebsmodi sind verfügbar. Diese Modi sind Bereit-, Warte- und Haltemodi (READY, WAIT und HOLDMODE). Im Bereitmodus programmiert der Mikroprozessor 1 eine bestimmte Anzahl Wartezustände, die während eines vom Mikroprozessor eingeleiteten Zyklus gewünscht werden, durch Laden von RH(2-0). Wenn der durch den Mikroprozessor 1 angeforderte Zyklus beginnt, liefern die Schaltungen 293 eine Timing-Sequenz, die, wenn vollständig, durch Aktivieren des Ausgangssignals READY/HOLD den Host informiert, daß der Zyklus abgeschlossen ist. Wenn ein interner Zyklus abluft oder ein zuvor vom Mikroprozessor angeforderter Zyklus noch läuft, wenn der Mikroprozessor 1 einen anderen Zyklus anfordert, dann muß sich der vorangehende Zyklus vollenden. Der Wartemodus umfaßt keinen programmierbaren Wartestatus, sondern informiert einfach den Mikroprozessor, daß sein Zyklus durch Aktivieren des Ausgangssignals READY/HOLD gestartet wurde. Wenn die Bereit/Halten-Logik so programmiert ist, daß sie im Haltemodus ist, muß die VSC 3 eine Anforderung herausgeben, daß der Mikroprozessor 1 "hält", da es für die VSC 3 Zeit ist, einen Auffrischzyklus oder einen Schieberegister-Wiederladezyklus durchzuführen. Der Mikroprozessor bestätigt die Anforderung zum Halten, indem er einen Pegel logisch Null am XHOLDBACK-Eingang erzeugt. Ist er dazu programmiert, entweder im Bereit- oder im Wartemodus zu sein, so ist der aktive Logikpegel des Ausgangssignals READY/HOLD während eines Rücksetzens durch den Status des XHOLDBACK-Eingangssignals programmierbar. Dies schließt die Erörterung des Systemblocks von Fig. 3 und der in Fig. 4 bis 14 dazu dargestellten Schaltungen ab.
- Der Video-Block 57 (Fig. 15) wird benutzt, um die Horizontalsynchronisations-HSYNC-, Vertikalsynchronisations- VSYNC- und Austastsignale zu erzeugen, die in einem Punktmuster- Graphiksystem zur Ansteuerung des CRT-Monitors 11 verwendet werden. Diese Signale sind synchron zum Videoeingangstakt VIDCLK.
- Die an den Anschlüssen HSYNC-, VSYNC- und VLANK- abgegebenen Signale werden durch acht für den Mikroprozessor 1 zugängliche Videotimingregister programmiert. Die dargestellte Vertikalsteuer-Logik 97 enthält mehrere Statusmaschinenzellen 301, die eine PLA 115, ein Logik-Gatter 117 und ein Zwischenspeicher 119 sind. Die Standardzellen 301 der Statusmaschine sind in einer Zählerfigur-Konfiguration an geschlossen, wie in Fig. 15 dargestellt, und liefern eine Sequenz von verknüpfungssignalen, die den Vertikalzähler auswählen. Wenn der Zähler den Wert im ausgewählten Timing- Register erreicht, geht die Vertikalsteuerungs-Statusmaschine zum nächsten Timing-Register über. Das Vertikalzählerregister 99 zählt die Horizontalzeilen in den Videowiedergaben und dient als Timing-Basis zum Festlegen der Grenzen der Vertikalsynchronisations- und Austastintervalle. Die Inhalte der Vertikalzähler werden mit den Werten in den Vertikaltiming-Registern verglichen, um die Vertikalsynchronisations- und Austastintervalle abzutrennen. Die Zählung wird, mit einer Ausnahme, am Anfang jedes Horizonalsynchronisationsintervalls erhöht.
- Diese Ausnahme ist, daß während der vertikalen vorderen Schwarzschulter- und Synchronisationsintervalle eines alten Felds in einem Zeilensprung-Halbbild die Erhöhung des Vertikalzählers in der Mitte erfolgt, wo die Zählung und der Horizontalzähler 95 gleich der Hälfte des Werts im Horizontalgesamtregister 91 ist. Der Vertikalzähler 97 wird beim Erreichen des Werts im Vertikalgesamtregister 101 an der nächstfolgenden Flanke des Vid 1k, nachdem ein Hoch-Tief- Übergang an einem aktiven Rücksetzsignal den Vertikalzähler nach Null zwingt, nach Null zurückgesetzt. Dieses Intervall kann während der Intervalle zwischen Erhöhungen vom Mikroprozessor 1 gelesen werden, es kann aber nicht dahingeschrieben werden. Normalerweise werden mehrere Lesezyklen verwendet, um auf den Vertikalzähler 97 zuzugreifen. Zwei aufeinanderfolgende Lesevorgänge, die die gleichen Dateninformationen zurückgeben, zeigen an, daß der Zugriff des Mikroprozessors 1 in einem Intervall zwischen Erhöhungen ist.
- Fig. 16 ist eine Prinzipskizze des Vertikalzählers 99 und sieht zwei Zählerstufen 303 und 305 vor. Die erste Zählerstufe 305 liefert 8 Bits an Daten und wird achtmal wiederholt, und die zweite Stufe 303 liefert 4 Bits an Daten, so daß es eine Maximalzahl von 12 Bits gibt, die im Vertikalzähler gespeichert werden.
- Fig. 17 ist eine Prinzipskizze der Horizontalsteuerschaltung 95, in der die Steuersignale zum Steuern der Horizontalregister 85, 87, 89, 91 und 93 erzeugt werden.
- Fig. 18 ist eine Prinzipskizze des Horizontalz4hlers 93. Der Horizontalzähler ist ein 12-Bit-Zähler, der in zwei Stufen 307 und 309 unterteilt ist, wobei 307 die ersten acht Bits 0-7 liefert und 309 die übrigen vier Bits 8-11 liefert. Der Horizontalzhler 93 wird an der abfallenden Flanke von VIDCLK erhöht und dient als Timing-Basis zum Festlegen der Grenzen der Horizontalsynchronisations- und Austastintervalle. Der Wert des Horizontalzählers wird mit dem Wert der vier anderen Horizontaltiming-Register verglichen, um die Ausgangssignale HYSYNC- und BLANK- zu erzeugen. Wenn der Horizontalzähler 93 den Wert in den Horizontalgesamtregistern 91 erreicht, wird er durch die Schaltung 311 nach Null zurückgesetzt. Wenn die Videosystem-Steuereinrichtung im externen Synchronisationsmodus konfiguriert ist, ist HYSNC- ein Eingangssignal und wird der Horizontalzähler als Verzögerung von der abfallenden Flanke von HYNC- nach Null gezwungen. Der Vertikalzähler wird auf ähnliche Weise zurückgesetzt, um das Eingangssignal YSYNC- zu aktivieren. Der externe Synchronisationsmodus gestattet es der VSC 3, auf eine externe Videoquelle "hinaufzusynchronisieren". Dies gestattet die gleichzeitige Wiedergabe mehrerer videoquellen auf dem gleichen Monitor. Der externe Synchronisationsmodus wird freigegeben, indem das EXTSYNCEN-Bit in das Steuerregister 39C geschrieben wird. Fig. 38 zeigt die Zwischenspeicher- und Synchronisierschaltungen, die die ankommenden Synchronisations impulse verarbeiten. Ein aktives Signal RESET- zwingt den Horizontalzähler 93 nach Null. Auf diesen Zähler kann auch nicht der Mikroprozessor 1 zugreifen.
- Die übrigen Register von Fig. 7 sind in Fig. 19 dargestellt, die eine Prinzipskizze des Basisregisterblocks 313 ist.
- Eine weitere Funktion des Video-Blocks 57 umfaßt den Daten- Block SR. SR steht für Schieberegister, die im Wiedergabespeicher 5 enthalten sind. Ein Schieberegister-Lese- oder - Schreibzyklus ist ein vom Mikroprozessor 1 eingeleiteter Zugriff. Schieberegisterzyklen werden insbesondere um des Transferierens von Daten zwischen den Zellenanordnungen des Wiedergabespeichers 5 und den Schieberegistern innerhalb des Wiedergabespeichers 5 willen eingeschaltet. Wiedergabeaktualisierungszyklen werden automatisch in der Videosystem- Steuereinrichtung 3 eingeleitet. Schieberegisterzyklen können außerdem unter ausdrücklicher Steuerung des Mikroprozessors 1 eingeleitet werden. Fig. 20 ist eine Prinzipskizze der SR-Datensteuerschaltung, die im Videoblock 57 enthalten ist. Die Richtung des Datentransfers wird durch den Status des Steuerbits SRW im Steuerregister 1 bestimmt. Ein Schieberegister-Transferzyklus kann entweder durch die VSC 3 (Wiedergabeaktualisierung) oder durch den Mikroprozessor eingeleitet werden, wodurch der gewünschte Zyklustyp durch den an den Leitungen FS0-FS2 eingegebenen Funktionswahlcode bestimmt wird. Der Funktionswahlcode eines Binärwerts Null zeigt einen Registerzugriffszyklus an, Binär Nr. 1 einen indirekten XY-Zyklus, Binär 2 einen Registerzugriffszyklus, Binär 3 einen direkten Mikroprozessorzyklus, Binär 4 einen Schieberegisterzyklus Schieberegister zum Speicher und Binär 5 einen Schieberegisterzyklus vom Speicher zum Schieberegister; 6 und 7 sind unbenutzt oder für Sonderfunktionen wie einen Testmodus vorgesehen. Ein Schieberegister-Schreibzyklus transferiert den Inhalt des Schieberegisters innerhalb des Wiedergabespeichers 5 zu der bestimmten spezifizierten Reihe innerhalb der Ein-Chip- Speicherzellenanordnung, und ein Schieberegister-Lesezyklus transferiert den Inhalt einer spezifizierten Reihe innerhalb der Speicherzellenanordnung zum Schieberegister.
- Fig. 20A zeigt die Erzeugung der Steuer-Logik für die Schieberegisteradresse, die den Wiedergabespeicher 5 während von der VSC 3 angeforderten Wiedergabeaktualisierungszyklen die Speicheradresse liefert. Fig. 20B ist eine 4-Bit- Steuerung, die bis zu dem durch die Steuerbits PLC(3-0) des Steuerregisters 381 spezifizierten Wert hochzählt. Der Status dieser Zählung bestimmt die Periode der Schieberegister-Neulade-(Wiedergabeaktualisierungs-)Zyklen und kann von einmal je Horizontalabtastzeile bis zu einmal alle sechzehn Abtastzeilen variieren. Fig. 20C, 20D und 20E zeigen die Logik des 12-Bit-Schieberegister-Adressenzghlers. Die niedrigstwertigen vier Bits, die in Fig. 20C gezeigt sind, umfassen einen Volladdierer, der eine Erhöhung der Schieberegisteradresse gestattet. Im Normalbetrieb um 1, 2, 4 oder 8. Die niedrigstwertigen zwei Bits dieser Adresse spezifizieren den Abgriffspunkt, der am externen Wiedergabespeicher 5 ausgewählt wird. Die nächstwertigen acht Bits werden zu den Speicheradressen-Ausgangsanschlüssen weitergeleitet und stellen die Reihenadressenauswahl-Bits dar. Die letzten zwei höchstwertigen Bits dieses Zählers repräsentieren die Reihenadressenwahl-Steuerbits. Diese Bits werden während eines Schieberegister-Aktualisierungs zyklus, wenn die VSC 3 im erweiterten Hostadressen-Freigabemodus ist, der durch Setzen des EHAE-Bits im Steuerregister 381 programmiert wird, zu einer von vier aktiven Reihenadressenauswahlen (RAS (3-0)) decodiert. Ist dieses Bit inaktiv, dann werden während eines Schieberegister-Aktualisierungszyklus alle RAS-Ausgangssignale aktiv.
- Wie zuvor erörtert wurde, decodiert die FS-Decodierungsschaltung die Funktionen, die von der Videosystem-Steuereinrichtung ausgeführt werden sollen, auf der Grundlage des Binärwerts der drei Funktionswahl-Decodierungssignale, die daran angelegt werden. Die Prinzipskizze des FS-Decodierungs-Blocks 63 wird in Fig. 21 bereitgestellt. Die FS-Decodierungs-Logik 63 ist in Fig. 21 dargestellt und empfängt vom Mikroprozessor 1 sowohl die Steuersignale FS0-2, das Reihenauswahlsignal RS0-1 plus die Spaltenadresse am Datenbus 21C und die Reihenadresse am Datenbus 21R als auch das CS-Signal, das in die FS-Decodierungsschaltung 63 geleitet wird. Zusätzlich wird ein Rücksetzsignal vom Eingangsanschluß-Block 59 geliefert, sowie das ALE-Signal und das Signal NOLATCH (kein Zwischenspeicher), das aus den Steuerregistern kommt. Es liefert die Reihenadresse, die Spaltenadresse und die Komplemente dazu ebenso wie das Decodieren der Funktionswahl-Eingangssignale. Die verschiedenen Funktionen werden durch die PLA 331 decodiert und entsprechen den zuvor bezeichneten Funktionen. Damit irgendeine Funktionswahldecodierung aktiv ist, muß das Chipwahl-Eingangssignal (XCS) aktiv sein. Zusätzlich sorgt die Schaltung 333 und 335 für die Abtast- und Testmoduserzeugung. Um die Reihenadressensignale und die Spaltenadressensignale anzusteuern, werden Leitungstreiber 334 verwendet.
- Der Spaltenadressendecodierer 55 empfängt das Lese-/- Schreibkommando in Form von RWB, das niederwertige Byte der Spaltenadressenfreigabe in Form von XCEL, die Spaltenadressen in Form von CAB und das Funktionswahlsignal des internen Registerzugriffs in Form von FSINT. Das Ausgangssignal der Spaltenadressen-Decodierungsschaltung ist ein Löschkommando, das von der Decodierungsschaltung 341 decodiert wird, was als Eingangssignal für den Statusblock 61 verwendet wird und zum Löschen der vier höchstwertigsten Bits des Datenbus dient, wenn ein internes 12-Bit-Register gelesen wird. Die Figuren 22B bis 22E zeigen die Logik, die die Decodierung der Spaltenadresse während interner Registerzugriffe vervollständigt. Diese Ausgangssignale wählen aus, auf welches der internen Register zugegriffen wird oder welches geladen wird.
- Fig. 22 ist eine Prinzipskizze des X-Y-Registers 43. Das X- Y-Register 43 wird während eines indirekten Zyklus verwendet, in dem der Mikroprozessor 1 indirekt durch die 20- Bit-X-Y-Adressenregister 341 hindurch auf ein Wort im Wiedergabespeicher 5, dessen bevorzugte Ausführungsform DRAM, dynamischer Schreib/Lese-Speicher ist, zugreift oder es dorthin schreibt. Der Inhalt des X-Y-Registers 341 repräsentiert die Verkettung der X-Y-Koordinaten eines Worts, das ein oder mehr Pixel auf dem Schirm enthält. Die X-Koordinate wird durch die niedrigstwertigsten Bits der Adresse reprasentiert, und die Y-Koordinate wird durch die höchstwertigsten Bits der Wortadresse repräsentiert. Die Lage der Grenze zwischen den X- und Y-Koordinaten der Adresse ist programmierbar. Sowohl X als auch Y wachsen bei der Verschiebung vom niedrigstwertigsten Bit zum höchstwertigsten Bit im Register 341. Die X- und Y-Verschiebung am Ursprung, der sich im allgemeinen in der oberen linken Ecke des Schirms des CRT-Monitors 11 befindet, sind nur in dem Sonderfall beide 0, daß die in der oberen linken Ecke des Schirms dargestellten Pixel am Wortplatz an der Speicheradresse liegen. Beim Manipulieren der X- und Y-Adressen durch die Videosystem-Steuereinrichtung 3 muß die Distanz ungleich Null der oberen linken Ecke des Schirms vom Start des Speichers ausgeglichen werden.
- Das Leistungsvermögen des X-Y-Registers 43 ist insbesondere in Anwendungen nützlich, in denen der lineare Adressierungsbereich des Mikroprozessors 1 zu begrenzt ist, um leicht Zugriff auf alle Pixel innerhalb des aktiven Wiedergabebereichs zu ermöglichen. Ein Lese- oder Schreibzyklus, der den Inhalt des X-Y-Registers 43 verwendet, wird als indirekter X-Y-Zyklus bezeichnet.
- Während eines indirekten X-Y-Zyklus wird der Inhalt des X- und Y-Registers 43 anstelle der Reihen- und Spaltenadresse verwendet, die am RAB-RA0-Datenbus 21R und am CAB-CA0- Datenbus 21C anliegt. Der während eines indirekten X-Y- Zyklus an CA4-CA1 eingegebene 4-Bit-Code bestimmt die Art und Weise, in der der Inhalt des X-Y-Adressenregisters 43 im Anschluß an die Beendigung des indirekten X-Y-Zyklus aktualisiert wird. Wenn der Binärwert dieser vier Bits gleich ist, gibt es keine Einstellung, gleich 1: erhöhe X; gleich 2: erniedrige X; gleich 3: lösche X; gleich 4: erhohe Y; - gleich 5: erhöhe X, erhöhe Y; gleich 6: erniedrige X, erhöhe Y; gleich 7: lösche X, erhöhe Y; gleich 8: erniedrige Y;- gleich 9: erhöhe X, erniedrige Y; gleich 10: erniedrige X, erniedrige Y; gleich 11: lösche X, erniedrige Y; gleich 12: lösche Y; gleich 13: erhöhe X, lösche Y; gleich 14: erniedrige X, lösche Y; gleich 15: lösche X, lösche Y.
- Die oben erläuterten Adresseneinstellungen werden während der Ausführung jedes indirekten X-Y-Zyklus automatisch durch das X-Y-Register 43 durchgeführt. Dieser Mechanismus gestattet einen bequemen Zugriff auf eine beliebige Sequenz benachbarter Pixel, ohne sich der Mühe auszusetzen, vor jedem Zugriff neue Werte in das X-Y-Adressenregister laden zu müssen. Als ein Ergebnis ist die Videosystem-Steuereinrichtung in der Lage, mit hardware-unterstützten Geschwindigkeiten schrittweise Graphikoperationen durchzuführen, etwa Linien ziehen, das Ausfüllen von Polygonen und die Erzeugung von Gebrauchszeichen.
- Das X-Y-Adressenregister 341 ist ein 20-Bit-Register, das aus zwei Teilen besteht. Das Register umfaßt das X-Y- Adressenregister 341 und Teile eines Offsetregisters 342, das in Fig. 228 dargestellt ist. Das Offsetregister 342 enthält zwei zugängliche Bits, auf die der Mikroprozessor 1 zugreifen kann und die als Bit 11 und Bit 10 bezeichnet sind. Diese zwei Bits werden durch den am Datenbit CR4-CR1 eingegebenen X-Y-Einstellcode nicht beeinflußt. Der zweite Teil besteht in den übrigen 18 Bits, die aus 16, im X-Y- Register 43 enthaltenen Bits, auf die der Mikroprozessor 1 zugreifen kann, und zwei Gruppen von 2-Bit-Registern bestehen, die damit als zwei höchstwertige oder niedrigstwertige Bits verkettet sind, was vom Status an B7 des Steuerregisters 39C abhängt. Eines dieser Zwei-Bit-Register wird freigegeben. Die 16 im Adressenregister 341 enthaltenen Bits sind in zwei Abschnitte unterteilt. Die Y-Koordinaten sind der höchstwertigste Bitteil am Register 341, und der niedrigstwertigste Abschnitt bildet einen Teil der X- Koordinate. Die Grenze zwischen dem X- und dem Y-Abschnitt ist programmierbar. Das Signal XYLRAS wird vom Steuerregister 39C geliefert, und wenn es auf einer logischen 1 ist, wird ein 2-Bit-Register mit dem XY-Register am MSB verkettet. Dies geschieht bei 351. Diese zwei zusätzlichen höchstwertigen Bits und der Y-Abschnitt von 353 des X-Y- Adressenregisters 341 bilden die Y-Koordinaten. Ähnlich gibt eine logische 0 an XYLRAS, was vom Steuerregister 39C her stammt, die zwei niedrigstwertigen Bits 355 frei. Die zwei niedrigstwertigen Bits 355 und der X-Abschnitt 357 des XY- Adressenregisters bilden die X-Koordinaten. Diese 18 Bits im XY-Register 341 werden so verknüpft, daß seine Überträge oder Anleihen vom höchstwertigsten Bit der X-Koordinate sich nur dann in das niedrigstwertigste Bit der Y-Koordinate übertragen, wenn die Y-Koordinate nicht selbst explizit eingestellt wird. Beim Rücksetzen des Inhalts des Steuerregisters 39C kehrt das Signal XYLRAS zu einer logischen Null zurück oder wird als diese vorgegeben. Entweder der X- oder der Y-Abschnitt des X-Adressenregisters 341 transferiert dann den Inhalt der Bits 8 und 9 des XY-Distanzregisters 342 zu entweder den niedrigstwertigen Bits 355 der X-Koordinaten oder den höchstwertigen Bits 351 der Y- Koordinate des XY-Adressenregisters 341, ohne Rücksicht auf den Status des XYLRAS-Signals. Ein Lesen im XY-Offsetregister 342 gibt immer den aktuellen Wert der X- oder Y- Freigabeerweiterungsbits, Bits 8 und 9 des Distanzregisters 342, in Datenbits D&sub1;-D&sub0; zurück, aber nicht den im Bit 8 und 9 gespeicherten Wert.
- Um einen korrekten Betrieb zu gewährleisten, wird das XY- Offsetregister 342 immer vor dem Laden des XY-Adressenregisters geladen. Dies ist notwendig, um es den zwei Erweiterungsbits, Bits 8 und 9, zu gestatten, korrekt geladen zu werden. Diese Erweiterungsbits werden verwendet, um zu bestimmen, welches der vier Reihenadressen-Hinweissignale REAS3-REAS0 während des indirekten XY-Zyklus aktiv ist. Die Bits 8 und 9 werden dazu verwendet, die vier aktiven Hinweissignale zu liefern, was in der RAS-Decodierungs-Logik 5 durchgeführt wird.
- Das XY-Register 341 enthält 16 für den Mikroprozessor 1 zugängliche Bits, die Teil des 20-Bit-XY-Adressenregister- Ausgangssignals werden. Die Grenze zwischen dem XY-Abschnitt in diesem Register ist zur Anpassung an die Bedürfnisse verschiedener Graphikspeicherkonf igurationen programmierbar. Der X-Abschnitt ist dazu bestimmbar, beliebig zwischen 2 und 9 der niedrigstwertigsten Bits des Registers zu belegen. Die übrigen Bits bilden einen Teil des Y-Abschnitts. Die acht möglichen Grenzbedingungen zwischen den X- und Y-Positionen dieses Registers sind in Fig. 26A und B dargestellt.
- Das XY-Offsetregister 342 bestimmt die Grenzen zwischen dem X- und Y-Abschnitt des XY-Adressenregisters 341 und enthält Anfangswerte der 2 RAS-Auswahlbits und der Bits 8 und 9, die sich an 357 und 359 befinden. Die acht niedrigstwertigsten Bits der XY-Offsetregister, die sich bei 361 und 363 befinden, spezifizieren die Grenzen zwischen den X- und Y- Abschnitten der Adresse, die im X- und Y-Register 341 enthalten ist, wie in Fig. 26A und B angezeigt.
- Die Bits 8 und 9 der zwei Offsetregister speichern die Anfangswerte, die während eines eingeleiteten Schreibzyklus vom Mikroprozessor 1 entweder zum X-Teil 353 oder zum Y-Teil 357 des XY-Registers 341 in das Erweiterungsbit der X- und Y-Adresse geladen werden. Diese zwei Bits werden durch den Einstellcode, der während eines indirekten XY-Zyklus an CA4- CA1 eingegeben wird, nicht beeinflußt. Dementsprechend werden nur die Transfer- und Erweiterungsbits der XY-Adresse geändert. Ein Lesen des XY-Offsetregisters 342 gibt den laufenden Wert der Erweiterungsbits der XY-Adresse anstelle des Anfangswerts der zwei Bits 8 und 9 in das XY-Offsetregister 342 zurück.
- Ein Bit 11 bei 363 ist das Ausgangssignal MA8 während der Reihenadressenzeit, und das bei 365 befindliche Bit 10 ist das Ausgangssignal MA8 während der Spaltenadressenzeiten. Diese zwei Bits werden ebenfalls nicht durch Erhöhungen oder Erniedrigungen des XY-Adressenzeigers beeinflußt. Jedes Bit in dem X-Y-Adressenregister, das in Fig. 26A als unbenutzt angezeigt ist, wird als eine 0 gelesen.
- Der Mikroprozessor 1 leitet einen indirekten XY-Zyklus ein, indem er die Eingangssignale FS2-FS0 zum Funktionscode 001 setzt. Der Wiedergabespeicher 5 wird dann entweder gelesen oder beschrieben, wie durch die Leitung R/W- spezifiziert. Der Inhalt des XY-Adressenregisters 341 kann nach jedem indirekten XY-Zyklus eingestellt werden, um zu dem benachbarten Wort zu zeigen, auf das während der nächsten indirekten XY-Zyklen zugegriffen werden soll. Für das XY- Adressenregister 43 sind fünfzehn verschiedene Einstellungen möglich. Diese Einstellungen werden durch die Eingangssignale an CA4-CA1 während eines indirekten XY-Zyklus ausgewählt, was früher erörtert wurde. Diese spezifizierte Einstellung erfolgt während des laufenden XY-Zyklus in Erwartung des nächsten indirekten X-Y-Zyklus.
- Die 20-Bit-XY-Adresse besteht aus den sechzehn für den Mikroprozessor 1 zugänglichen Bits des XY-Adressenregisters 341, und den zwei RAS-Auswahlbits plus den zwei MAB-Bits, die sich im XY-Offsetregister 342 befinden. Auf die zwei RAS-Auswahlbits kann der Mikroprozessor 1 nicht direkt zugreifen; er kann jedoch bewirken, daß sie von den Bits 8 und 9 des XY-Offsetregisters geladen werden. Die 20-Bit-X-Y- Adresse zeigt zu einem Wort innerhalb des Wiedergabespeichers 5, das ein oder mehr Pixel enthält, wobei die Anzahl von Pixeln durch die Breite des Datenwegs des Mikroprozessors 1 und der Anzahl von Bits pro Pixel bestimmt ist.
- 9 Die Grenze zwischen dem X- und dem Y-Abschnitt der Adresse ist zur Anpassung an eine Vielfalt von Speicherkonfigurationen programmierbar, was später erörtert wird.
- Während eines XY-Zugriffs des Wiedergabespeichers 5 verwendet die Videosystem-Steuereinrichtung die Adresse, die in dem Adressenregister 341 enthalten ist, anstelle der Adresse, die extern dem RA8-RA0-Datenbus 21R und dem CA8- CA0-Datenbus 21C zugeführt wird. Die acht höchstwertigen Bits der sechzehn im XY-Adressenregister enthaltenen Bits werden als MA0 bis MA7 als die Reihenadresse am Datenbus 25 ausgegeben, und die acht niedrigstwertigsten Bits werden am Datenbus 25 als MA0 bis MA7 als eine Spaltenadresse ausgegeben. Die Bits 10 und 11 des XY-Offsetregisters 342 werden ebenfalls am MAB als Reihen- und Spaltenadressen multiplexiert. Die zwei RAS-Auswahlbits, auf die der Mikroprozessor 1 nicht zugreifen kann, werden anstelle der RS1-RS0- Eingangssignale verwendet, um zu bestimmen, welches der vier Reihenadressen-Hinweissignale RAS3-RAS0 während des Zyklus aktiv wird.
- Die XY-Adressierung ist flexibel, um es dem Programmierer zu gestatten, die Schirmdimensionen X und Y kundenspezifisch an seine Anwendung anzupassen. Der X-Abschnitt der Adresse kann die unteren zwei bis neun Bits des XY-Adressenregisters belegen, während der Y-Abschnitt den Rest des XY-Adressenregisters belegt. Die RAS-Auswahlbits werden entsprechend dem Status des XYLRAS-Signals entweder mit dem X- oder dem Y-Abschnitt verkettet.
- Fig. 27A ist ein schematischer Hintergrund der Steuerregister 39C. Die videosystem-Steuereinrichtung enthält zwei direkt zugängliche Steuerregister 371 und 373. Die durch diese Register gesteuerten Funktionen umfassen das Verhalten der Schnittstellensignale zwischen dem Mikroprozessor 1 und der Videosystem-Steuereinrichtung 3, das Timing der Wiedergabeaktualisierungszyklen, die Freigabe von Unterbrechungsauffrischungen, die Häufigkeit von DRAM-Auffrischzyklen und die Erzeugung von Video-Timingfunktionen. Die Steuerregister 371 und 372 sind beide 16-Bit-Register. Jedes kann vom Mikroprozessor 1 gelesen und beschrieben werden. Die einzelnen Bits innerhalb dieser Register haben dazu zugeordnete Funktionen, die in Tabelle 2 dargestellt sind. Fig. 27A zeigt die Logik dreier Synchronisierschaltungen 375, 377 und 379. Die drei Synchronisierschaltungen werden verwendet, um den Inhalt des Steuerregisters 381 zum Ausgangs-Halteregister 383 des Steuerregisters 371 zu transferieren. Der Grund dafür ist der, daß der Mikroprozessor 1 während der Ausführung einer Funktion durch die Videosystem-Steuereinrichtung in die Steuerregister schreibt. Um Störungen und Unterbrechungen zu vermeiden, werden die Daten in die Steuerregister 381 geladen und dann über Transfersignale TRAN 1, TRAN 2 und TRAN 3 zu den Ausgangshalteregistern 383 transferiert. Zwei Rücksetzsignale werden zum Initialisieren der Transfersignale verwendet, die VRESET und SRESET umfassen. Das Horizontalstart-Austastsignal wird der Synchronisierschaltung 375 zugeführt, um das Signal TRAN 1 zu erzeugen. Wenn der Mikroprozessor 1 in das Steuerregister 381 schreibt, verhindert TRAN 1, daß die VSC 3 den Operationsmodus ändert, bis das Horizontalstart- Austastsignal gültig wird. Dies geschieht auf halbem Wege über die Horizontalabtastzeile. Fig. 27C zeigt das Steuerregister 373 und die diesem zugeordneten Funktionen.
- Fig. 28 und 29 sind Prinzipskizzen der CRB-Register, die zur Aufstellung der Steuerregister 381 und 373 verwendet werden.
- Fig. 30 ist eine Prinzipskizze des Blocks EINGANG/ANSCHLÜSSE 59 und liefert die Logik zum Empfang der Steuersignale vom Mikroprozessor 1 auf dem Datenbus 23 und zum Puffern der Signale, um sie der Videosystem-Steuereinrichtung 3 zuzuführen. Eine Schaltung 400 synchronisiert die Systemzurücksetz- und Videozurücksetzsignale, so daß sie mit den richtigen Takten synchron sind. Dies geschieht natürlich dadurch, daß Verzögerungsschaltungen 401, 403 und 405 verwendet werden, um sicherzustellen, daß das Videozurücksetzen synchron mit diesem Takt ist, der Phase-3- und Phase-1- Signale oder Untervielfache des Videotakts ist, und daß das Systemzurücksetzen durch die Synchronisierstufen 407, 408 und 409 in Synchronisation mit diesem Takt ist. Die übrigen Schaltungen werden für den Anschluß an die Videosystem- Steuereinrichtung im wesentlichen gepuffert und verstärkt.
- Der Datenstatus-Block 61 enthält die Statusregister 81 und die Datenanschlüsse 83.
- Fig. 31 ist eine Prinzipskizze der Datenanschlüsse 83, in denen eine Pufferung und eine Verstärkung bereitgestellt werden, um die Signale, die am Datenbus 17 anstehen, zu dem XY-Register 43, dem Spaltenadressenregister 49, 41 und den internen Steuerregistern 39 zu treiben.
- Fig. 32 ist eine Prinzipskizze des Statusregisters 81, in dem drei Bits vorhanden sind, von denen jedes eine bestimmte interne Bedingung repräsentiert. Ein Bitwert Eins zeigt an, daß die entsprechende Bedingung nachgewiesen worden ist. Diese Bedingungen umfassen eine Vertikalunterbrechung an einer Logikschaltung 411. Ein Wiedergabefehler zeigt an, daß die Videosystem-Steuereinrichtung 3 unfähig war, einen während des Horizontalaustastintervalls angeforderten Wiedergabeaktualisierungszyklus durchzuführen. Der Wiedergabefehler wird in der Schaltung 413 gespeichert. Der Auffrischfehler-Zwischenspeicher 415 zeigt an, daß die Videosystem-Steuereinrichtung 3 unfähig war, die bezeichnete Anzahl von DRAM-Auffrischzyklen vor dem Beginn des nächsten Horizontalaustastintervalls auszuführen. Diese drei Signale werden durch eine Und/Oder-Logik 417 miteinander kombiniert und dem Unterbrechungsleiter 23 zur Verfügung gestellt. Ein genauer Grund der Unterbrechung wird auf den Statusleitungen 419 bereitgestellt. Wieder gibt es eine Synchronisierschaltung 421, die die Unterbrechung von dem Videotakt 27 mit dem Systemtakt synchronisiert. Die Unterbrechung wird zuerst mit dem Videotakt synchronisiert, und zwar durch eine Schaltung 423, die drei angesteuerte Transistoren 425, 427 und 429 enthält, die durch Phase-Drei-, Phase-Eins- und Phase-Drei-Signale angesteuert werden. Zwischen den phasedrei-angesteuerten und phase-eins-angesteuerten Gates und zwischen den phase-eins- und den phase-drei-angesteuerten Gates trennen Invertierverstärker 435 bzw. 437. Das Ausgangssignal der Schaltung 433 wird den Systemtaktsynchronisierern zugeführt, die einen angesteuerten Zwischenspeicher 441, 443 und die Impulsformschaltung 445 enthalten, die die Unterbrechung der Vertikalunterbrechungsschaltung 411 zuführt. Fig. 33 liefert die Taktschaltungen, die verwendet werden, um die Phase-Eins- und Phase-Drei-Signale auf dem Videotakt an der Schaltung 451 zu erzeugen; die Schaltung 453 erzeugt Systemtaktsignale, die verwendet werden, um die Videosystem- Steuereinrichtung 3 mit Takten zu versorgen. Die Doppeltakte und die Synchronisierschaltungen, die in den Figuren 32, 9, 30 und 36 dargestellt sind, werden benötigt, da der Videotakt VIDCLK, der harmonisch auf den Monitorpunkttakt bezogen ist, von dem Takt SYSCLK des Mikroprozessors 1 verschieden sein kann. SYSCLK ist so spezifiziert, daß er schneller als VIDCLK läuft, und er ermöglicht das Durchführen von Speicherzyklen bei einer zweckmäßigen Rate. VIDCLK ist so spezifiziert, daß er langsamer als SYSCLK läuft. Die Architektur gestattet es jedoch, Monitore zu steuern, deren Punkttaktfrequenz 100 MHz übersteigen kann.
- Ein Beispiel einer Speichereinrichtung 5, die zur Verwendung in dem in Fig. 1 gezeigten System geeignet sein kann und in Fig. 34 gezeigt ist, ist ein dynamischer 64K-Bit-MOS-Lese/- Schreib-Speicher, der Ein-Transistor-Zellen verwendet, wie in der US-PS 4 239 993 gezeigt, und der außerdem ein serielles Schieberegister mit mehreren zusätzlichen Abgriffen enthält. Für dieses Beispiel kann der Direktzugriff ein Bit breit sein. Andere geeignete Beispiele (nicht gezeigt) können Speichereinrichtungen sein, wie sie hier schon beschrieben wurden, die 256K-Bit Speicher oder noch mehr aufweisen.
- Ist, wie nachstehend dargelegt wird, der Speicher unterteilt, um beispielsweise acht Chips einzusetzen, dann können die individuellen Speichereinrichtungen X1, d.h. ein Bit breit sein, und acht dieser Speicher können für den Zugriff durch einen typischen 8-Bit-Mikrocomputer parallelgeschaltet sein. Eine andere Unterteilung, wie etwa X4 oder X16, könnte ebenfalls verwendet werden, wie nachstehend deutlich wird.
- Die in Fig. 34 gezeigte Speichereinrichtung 5 wird typischerweise durch einen N-kanaligen, selbstjustierenden Siliziumgate-Doppelebenen-Polysilizium-MOS-Prozeß hergestellt, wobei die gesamte Einrichtung in einem Siliziumchip einer Größe von etwa 1/30 eines Quadratzoll enthalten ist, der normalerweise in einem Standard-Dual-In-Line-Gehäuse mit zwanzig Stiften oder Anschlüssen montiert werden würde. Für eine 256K-Bit-Einrichtung kann dieses Gehäuse mit nicht weniger als zweiundzwanzig Stiften oder Terminals versehen sein. Ähnlich würde die Anzahl der Stifte für großvolumigere Einrichtungen zunehmen. Die Einrichtung enthält in diesem Beispiel eine Anordnung 10, die in zwei Hälften loa und lob mit jeweils 32.768 Zellen aufgespalten ist, in einem regelmäßigen Muster von 256 Reihen und 256 Spalten. Von den 256 Reihen oder X-Leitungen befinden sich 128 in der Hälfte loa und 128 in der Hälfte 10b der Anordnung. Die 256 Spalten oder Y-Leitungen sind jeweils halbiert, wobei in jeder der Hälften 10a und 10b die Hälfte liegt. In der Mitte der Anordnung gibt es 256 Leseverstärker 511; dies sind bistabile Schaltungen vom Differenztyp, die gemäß der Erfindung hergestellt sind, die im Patent 4 239 993 oder in der US-PS 4 081 701 beschrieben und beansprucht ist. Jeder Leseverstärker ist in der Mitte einer Spaltenleitung angeschlossen, so daß 128 Speicherzellen mit jeder Seite jedes Leseverstärkers mittels einer Spaltenleitungshälfte verbunden sind. Der Chip benötigt nur eine einzige 5V-Versorgungsspannung Vdd zusammen mit einem Masseanschluß Vss.
- Ein in zwei Hälften aufgespaltener Reihen- oder X-Adressen- Decodierer 12 ist durch sechzehn Leitungen 513 mit acht Adressenpuffern oder Zwischenspeichern 14 verbunden. Die Puffer 14 sind gemäß der in der US-PS 4 288 706 beschriebenen Erfindung hergestellt. Eine Acht-Bit-X-Adresse wird den Eingängen des Adressenpuffers 14 über acht Adresseneingangsanschlüsse 525 zugeführt. Der X-Decodierer 12 funktioniert so, daß er eine der 256 Reihenleitungen auswählt, wie durch eine Acht-Bit-Adresse an den Eingangsanschlüssen 15 bestimmt, die über einen Datenbus 507 vom Mikrocomputer empfangen wird.
- Für mehr als 256 Reihenleitungen, d.h. einen 256K-Bit- Speicher mit 512 Reihenleitungen, muß ein größerer als ein Acht-Bit-X-Adressen- und Acht-Bit-Zwischenspeicher verwendet werden.
- Ferner wird eine Spaltenadresse an den Eingangsanschlüssen 25 empfangen und in den Spaltenadressen-Zwischenspeichern 16 zwischengespeichert. Für eine bit-breite Direktzugriffs- Daten-Eingabe/Ausgabe werden acht Spaltenadressenbits benötigt, für einen byte-breiten Zugriff, d.h. acht Bits, werden aber nur fünf Adressenbits benötigt, und der Mikrocomputer kann zusätzliche Spaltenadressenbits ausgeben, um unter mehreren hintereinandergeschalteten Chips auszuwählen; diese zusätzlichen Spaltenadressenbits können von Chipwahl- Decodierern herkömmlicher Konstruktion verwendet werden. Die Ausgänge der Spaltenadressen-Zwischenspeicher 16 sind über Leitungen 517 mit einem Decodierer 18 in der Mitte der Anordnung verbunden, welche eine von 256 Spalten auswählt, um eine bit-breite Eingabe/Ausgabe an einer Direktzugriffs- Eingangs/Ausgangsleitung 17/31 zu erzeugen; es können, wie in Fig. 1 gezeigt, getrennte Eingangsleitungen 17 und Ausgangsleitungen 31 verwendet werden, oder die Leitungen 17/31 können multiplexiert werden, wie in Fig. 34 gezeigt. An jeder Seite der Leseverstärker sind Reihen (nicht gezeigter) Blindzellen enthalten, wie es bei Einrichtungen dieses Typs gängige Praxis ist. Wie für die X-Adresse nimmt für großvolumigere Einrichtungen die Anzahl der zum Identifizieren einer Spalte benötigten Bits und Zwischenspeicher zu.
- Die Speichereinrichtung ist somit einem dynamischen Standard-RAM mit einem bit-breiten oder einem anderen bitformatigen Direktzugriff und außerdem mit einem seriellen Eingang/Ausgang ähnlich. Indem weiter auf Fig. 34 Bezug genommen wird, ist der serielle Zugang mit einem seriellen 256-Bit-Schieberegister 20 versehen, das in zwei identische Hälften geteilt ist, wobei die Hälften auf einander gegenüberliegenden Seiten der Anordnung 10 angeordnet sind. Das gleiche Ergebnis läßt sich erzielen, indem beide Hälften auf der gleichen Seite der Anordnung angeordnet werden, aber übereinandergelegt werden. Jedoch bringt die Anordnung der Hälften auf einander gegenüberliegenden Seiten der Anordnung den Betrieb der Leseverstärker ins Gleichgewicht.
- Das Schieberegister 20 kann durch 128 Transfergatter 521a auf einer Seite des Bausteins und einer gleichen Anzahl von Transfergattern 521b auf der anderen Seite der Anordnung für einen Lesezyklus von den Spaltenleitungen der Anordnung 10 geladen werden oder für einen Schreibzyklus in die Spaltenleitungen geladen werden.
- Die Dateneingabe in die Einrichtung für serielles Schreiben erfolgt über einen Daten-Ein-Anschluß 22, der durch eine Multiplexschaltung 523 mit Eingängen 24a und 24b der Schieberegister-Hälften verbunden ist. Über Ausgänge 525a und 525b, eine Datenausgangs-Multiplex- und Pufferschaltung 26 und einen Datenausgangsanschluß 527 werden die Daten seriell aus den Register-Hälften ausgelesen.
- Das Schieberegister 20 wird mit einem Takt 0 betrieben, der dazu verwendet wird, die Bits mit zwei Stufen pro Taktzyklus durch die Stufen des Registers zu schieben. Für Leseoperationen braucht man nur 128 Zyklen des Takts 0, um 256 Bits von den 256 Bit-Positionen des geteilten Schieberegisters auszugeben. Ein Steuersignal TR, das den Transfergattern 21a und 21b zugeführt wird, verbindet jede der 256 Bit-Positionen des Schieberegisters 20 mit ihrer entsprechenden Spaltenleitung in den Hälften 10a und 10b der Anordnung.
- Bei einer seriellen Schreiboperation werden die Leseverstärker 511 durch ein Schreibkommando W betrieben, das nach TR/QE erscheint, um die Spaltenleitungen auf einen vollen Logikpegel zu setzen, wonach eine Reihenleitung durch die Adresse in den Zwischenspeichern 14 ausgewählt wird und die Daten in die Speicherzellen dieser Reihe gezwungen werden. Ein serieller Lesezyklus startet mit einer Adresse am Eingang 15, die decodiert wird, um eine der 256 X- oder Reihenadressenleitungen (und eine Blindzelle auf der gegenüberliegenden Seite) zu aktivieren. Die Leseverstärker 11 werden dann durch ein Steuersignal vom Taktgenerator- und Steuerschaltungsteil 30 betätigt, die Spaltenleitungen auf einen vollen Logikpegel zu zwingen, und dann werden die Transfergatter 21a und 21b durch das Steuersignal TR/QE betätigt, die 256 Bits aus der ausgewählten Reihe in die entsprechenden Hälften des Schieberegisters 20 zu transportieren. Das Schiebetaktsignal 0 wird dann zugeführt und kann 256 Bits über die Multiplexschaltung 26 in seriellem Format zu dem Ausgangsanschluß 527 transportieren, bei zwei Stufen oder Bits pro Taktzyklus, was 128 Taktzyklen für das gesamte Register erfordert. Der Ausgangsanschluß 527 ist mit dem Schieberegister 7 von Fig. 1 verbunden.
- Wie soweit beschrieben, ist die Speichereinrichtung einem dynamischen Standdard-RAM mit einem bit-breiten oder anders bit-formatigen Direktzugriff mit einem seriellen Eingang und Ausgang ähnlich; jedoch ist erfindungsgemäß das serielle 256-Bit-Schieberegister 20, das für die serielle Eingabe und Ausgabe sorgt, als vier 64-Bit-Schieberegister organisiert. Es kann auf ein, zwei, drei oder vier 64-Bit-Schieberegister zugegriffen werden, was davon abhängt, welcher der vier "abgriffe" entlang dem 256-Bit-Schieberegister ausgewählt wird. Da das 256-Bit-Schieberegister in zwei "Hälften" geteilt ist, ist jedes 64-Bit-Schieberegister ebenfalls in Hälften geteilt. Wie in Fig. 34 gezeigt, ist ein 64-Bit- Schieberegister eine obere Hälfte 20a und eine untere Hälfte 20b, ein zweites 64-Bit-Schieberegister ist eine obere Hälfte 20c und eine untere Hälfte 20d, ein drittes 64-Bit- Schieberegister ist eine obere Hälfte 20e und eine untere Hälfte 20f, und ein viertes 64-Bit-Schieberegister ist eine obere Hälfte 20g und eine untere Hälfte 20h.
- Der ausgewählte Abgriff bestimmt, ob auf das erste, zweite, dritte oder vierte 64-Bit-Schieberegister zugegriffen wird. Der ausgewählte Abgriff wird durch einen Zwei-Bit-Code bestimmt, der den zwei höchstwertigen Spaltenadresseneingängen zugeführt wird. Die Abbildung in Fig. 34 ist somit aus Leitungen 517 von dem Spaltenadressen-Zwischenspeicher 16 gebildet, die außerdem in das Schieberegister 20 hineingehen, um über einen Binärcode den gewünschten bestimmten Abgriff auszuwählen.
- Mit Bezug auf Fig. 35 kann ein Mikrocomputer 1, der zusammen mit dem System der Erfindung verwendet werden kann, eine Einzelchip-Mikrocomputereinrichtung 1 herkömmlicher Konstruktion zusammen mit einem zusätzlichen außerhalb des Chips befindlichen Programm- oder Datenspeicher 80 (falls benötigt) und verschiedene periphere Eingabe/Ausgabe-Einrichtungen 81, die alle durch einen Adressen-/Datenbus 607 zusammengeschaltet sind, sowie einen Kontrollbus 9 enthalten.
- Es ist ein einzelner bidirektionaler multiplexierter Adressen-/Datenbus 7 gezeigt; statt dessen können aber wie in Fig. 1 getrennte Adressen- und Datenbusse verwendet werden, und es können außerdem die Programmadressen und - daten oder die Eingabe- und Ausgabeadressen an den externen Bussen getrennt sein; der Mikrocomputer kann die Von- Neumann-Architektur haben oder vom Harvard-Typ sein oder eine Kombination der beiden bilden.
- Der Mikroprozessor 1 könnte beispielsweise eine der Einrichtungen sein, die von Texas Instruments unter der Artikelnummer TMS 7000 oder TMS 99000 vertrieben werden, oder eine der Einrichtungen, die unter den Artikelnummern Motorola 68000 oder 6805, Zilog Z8000 oder Intel 8086 oder 8051 oder dergleichen kommerziell erhältlich sind. Zwar unterscheiden sich diese Einrichtungen in Details des internen Aufbaus, sie enthalten aber allgemein ein im Chip befindliches ROM oder einen Nur-Lese-Speicher 82 zur Programmspeicherung und können auch Programmadressen aufweisen, die außerhalb des Chips verfügbar sind; auf jeden Fall weisen sie aber einen Datenzugriff von außerhalb des Chips für den Wiedergabespeicher 5 auf. Die VSC 3 ist so aufgebaut, daß sie mit allen Mikroprozessoren und Mikrocomputern in Schnittstellenverbindung steht, was Systementwicklern Flexibilität verschafft.
- Ein typischer Mikrocomputer 1, wie in Fig. 35 dargestellt, kann ein RAM oder einen Direktzugriffs-Lese/Schreib-Speicher 583 zur Daten- und Adressenspeicherung, eine ALU 84 zur Ausführung arithmetischer oder logischer Operationen und eine interne Daten- und Programmbusanordnung 585 zum Transferieren von Daten und Programmadressen von einer Stelle zu einer anderen enthalten, die normalerweise aus mehreren getrennten Bussen besteht. Im ROM 82 gespeicherte Befehle werden einzeln in ein Befehlsregister 587 geladen, von dem ein Befehl im Steuerschaltungsteil 88 decodiert wird, um Steuerbits in Steuerleitungen 589 zu erzeugen, um die Operation des Mikrocomputers zu bestimmen.
- Das ROM 82 wird durch einen Programmzähler 90 adressiert, der seibsterhöhend sein kann oder der dadurch erhöht werden kann, daß sein Inhalt die ALU 84 durchläuft. Es ist ein Stapel 591 enthalten, um den Inhalt des Programmzählers bei einer Unterbrechung oder einer Unterprogramm-Operation zu speichern. Die ALU 94 hat zwei Eingänge 92 und 931 von denen einer ein oder mehr temporäre Speicherregister 84 aufweist, die vom Datenbus 585 geladen werden.
- Ein Akkumulator 595 empfängt das ALU-Ausgangssignal, und der Ausgang des Akkumulators ist mittels des Busses 85 mit seinem Endziel verbunden, etwa dem RAM 583 oder dem Dateneingabe-/ausgaberegister und -puffer 96. Unterbrechungen werden durch eine Unterbrechungssteuerung 597 abgewickelt, die eine oder mehrere außerhalb des Chips befindliche Verbindungen über den Kontrollbus 23 für eine Unterbrechungsanf orderung, eine Unterbrechungsbestätigung, einen Unterbrechungsprioritätscode und dergleichen aufweist, was von der Komplexität der Mikrocomputereinrichtung und des Systems abhängt.
- Eine Zurücksetz-Eingabe kann auch als eine Unterbrechung betrachtet werden. Ein Statusregister 98, das der ALU 84 und der Unterbrechungssteuerung 597 zugeordnet ist, ist zum temporären Speichern von Statusbits wie Null, Übertrag, Überlauf usw. von ALU-Operationen enthalten; bei einer Unterbrechung werden die Statusbits im RAM 583 oder in einem dazu bestimmten Stapel gesichert.
- Abhängig vom einzelnen System und seiner Komplexität werden die Speicheradressen durch die mit dem externen Bus 607 verbundenen Puffer 96 hindurch von außerhalb des Chips her angekoppelt. Dieser Weg kann zur Adressierung des außerhalb des Chips befindlichen Daten- oder -Programmspeichers 80 und der Eingabe/Ausgabe 81 zusätzlich zum außerhalb des Chips befindlichen Videospeicher 5 verwendet werden. Diese Adressen zum Bus 7 können im RAM 83, im Akkumulator 95 oder im Befehlsregister 87, aber auch im Programmzähler 90 entstehen. Eine Speichersteuerschaltung 99 erzeugt (auf Steuerbits 89 hin) oder antwortet auf die jeweils geeigneten Kommandos zu oder von dem Kontrollbus 9 für einen Adressenhinweis, eine Speicherfreigabe, eine Schreibfreigabe, ein Halten, eine Chipauswahl usw..
- Im Betrieb führt die Mikrocomputereinrichtung 1 einen Programmbefehl in einem bzw. einer Folge von Maschinenzyklen oder Statuszeiten aus. Ein Maschinenzyklus kann beispielsweise 200 ns lang sein, die von einem Ausgangssignal eines 5-MHz-Quarztaktgebers geliefert werden, das dem Mikrocomputerchip zugeführt wird. So wird in aufeinanderfolgenden Maschinenzyklen oder Statuszeiten der Programmzähler 90 erhöht, um eine neue Adresse zu erzeugen. Diese Adresse wird dem ROM 82 zugeführt, um ein Ausgangssignal zum Befehlsregister 587 zu erzeugen, das dann im Steuerschaltungsteil 88 decodiert wird, um eine Folge von Einstellungen der Mikrocode-Steuerbits 589 zu erzeugen, um die verschiedenen Schritte durchzuführen, die zum Laden des Busses 85 und der verschiedenen Register 94, 595, 96, 98 usw. benötigt werden.
- Beispielsweise würde eine typische ALU-Arithmetik- oder - Logikoperation umfassen, Adressen (Felder des Befehlsworts) vom Befehlsregister 87 über den Bus 585 zum Adressierschaltungsteil für das RAM 583 zu laden (dies kann nur Ursprungsadressen oder sowohl Ursprungs- als auch Zieladressen umfassen). Eine solche Operation kann auch umfassen, die adressierten Datenworte vom RAM 583 zu einem temporären Register 94 und/oder zum Eingang 92 der ALU zu transferieren. Mikrocode-Bits 89 würden die ALU-Operation als einen der im Befehlssatz verfügbaren Typen definieren, etwa als Addiere, Subtrahiere, Vergleiche, UND, ODER, exklusiv- ODER usw.. Das Statusregister 98 wird in Abhängigkeit von den Daten und der ALU-Operation gesetzt, und das ALU-Ergebnis wird in den Akkumulator 595 geladen.
- Als weiteres Beispiel kann ein Datenausgabebefehl umfassen, eine RAM-Adresse von einem Feld in dem Befehl über den Bus 585 zum RAM 583 zu transferieren, wobei diese adressierten Daten vom RAM 583 über den Bus 585 zum Ausgangspuffer 96 und somit heraus auf den externen Adressen/Datenbus 7 transferiert werden. Einige Steuerausgangssignale können durch die Speichersteuerung 99 auf Leitungen des Kontrollbus 23 etwa als Schreibfreigabe usw. erzeugt werden. Die Adresse für diese Datenausgabe könnte eine Adresse am Bus 607 über den Puffer 96 in einem vorhergehenden Zyklus sein, wobei sie mittels eines von der Speichersteuerung 99 zum Kontrollbus 9 ausgegebenen Adressenhinweissignals im Speicher 80 oder im Speicher 5 zwischengespeichert wird.
- Es kann eine externe Speichersteuereinrichtung verwendet werden, um die RAS- und CAS-Hinweissignale zu erzeugen. Eine Zwei-Byte-Adresse für den Speicher 5 würde dem Bus 607 in zwei Maschinenzyklen zugeführt werden, wenn der Bus 607 ein 8-Bit-Bus ist, oder in einem Zyklus, wenn der Bus ein 16- Bit-Bus ist.
- Der Befehlssatz des Mikrocomputers enthält Befehle zum Lesen von dem oder Schreiben in den Videospeicher 5, den zusätzlichen Speicher 19 oder von der bzw. in die Eingabe-/Ausgabeports des peripheren Geräts 581, wobei die interne Quelle oder das interne Ziel das RAM 583, der Programmzähler 90, die temporären Register 94, das Befehisregister 587 usw. sind. In einem mikrocodierten Prozessor beinhaltet jede solche Operation eine Statusfolge, während derer Adressen und Daten auf dem internen Bus 585 und dem externen Bus 7 transferiert werden.
- Alternativ kann die Erfindung einen Mikrocomputer 1 vom nichtmikrocodierten Typ verwenden, bei dem ein Befehl in einer Maschinenstatuszeit ausgeführt wird. Bei der Auswahl des Mikrocomputers 1 ist es erforderlich, daß die Daten und Adressen und verschiedene Speichersteuerungen chipaußenseitig verfügbar sind, und daß die Datenbearbeitungsgeschwindigkeit dafür angemessen ist, Videodaten innerhalb der zeitlichen Randbedingungen der bestimmten Videoanwendung zu erzeugen und zu aktualisieren.
- Die Videospeicheranordnung der Erfindung wird in Begriffen von Ein-Bit-Datenwegen für den Bus 7 beschrieben, obwohl das Mikrocomputersystem und die Speichertechnik selbstverständlich in jedem 8-Bit- oder 16-Bit-System oder anderen Architekturen, etwa mit 24 Bit oder 32 Bit, nützlich ist. Ein Nutzen besteht in einem kleinen System des Typs mit 8- Bit-Datenwegen und 12-Bit- bis 16-Bit-Adressierung darin, daß kein externer Speicher 80 benötigt wird und der periphere Schaltungsteil 81 nur aus einer Tastatur oder einer ähnlichen Schnittstelle plus möglicherweise einem Plattenlaufwerk besteht. In dem peripheren Schaltungsteil 81 könnte beispielsweise ein Busschnittstellenchip enthalten sein, etwa der Baustein-Typ IEEE 488.
- Fig. 36 ist ein Blockdiagramm des Videosystems gemäß der Erfindung, bei dem das Videosystem 805 ein 512x512-Pixel- Graphiksystem mit 16 Farben ist. Der Wiedergabespeicher 5 ist mittels X4 von einer einzelnen Mehrport-Speichereinrichtung zu vier Gruppen von Speichereinrichtungen 5A, 5B, 5C, 5D erweitert worden. Die Ausgänge des Mehrport-Speichers 5A-5D werden den 4-Bit-Schieberegistern 7A-7D und dem CRT- Monitor 11 über den Digital-Analog-Wandler 9 und ein wahlweises Farbpalettenregister 801 zugeführt. Das Farbpalettenregister enthält natürlich die codierten Informationen zum Erzeugen der Programmfarben, die der Mikroprozessor in ihm adressiert.
- Fig. 37 ist ein Blockdiagramm eines Farbgraphiksystems mit einer Auflösung von 1024x1024 Pixeln. Der Wiedergabespeicher 5 ist durch vier Gruppen von Mehrport-Speichern 5E, 5F, 5G, 5H ersetzt worden, die 16 Bit tief sind. Das Schieberegister 7 ist erweitert worden, so daß es vier Schieberegister 7E- 7H enthält, die 16 Bit breit sind. Der Rest der Schaltungen von Fig. 36 und 37 stimmt mit dem in Fig. 1 Gezeigten überein.
- Auch wenn die vorliegende Erfindung in bezug auf die dargestellten Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht in bechränkender Weise ausgelegt werden. Zahlreiche Modifikationen der dargestellten Ausführungsformen sowie weitere Ausführungsformen der Erfindung sind Fachleuten unter Bezugnahme auf diese Beschreibung ersichtlich. Es ist daher beabsichtigt, daß die angefügten
Claims (11)
1. Videosystem, mit
einem Datenprozessor (1) zum Manipulieren von einem
Videobild entsprechenden Bildpixeldaten gemäß Programmbefehlen,
wobei der Datenprozessor (1) an einen Datenbus (17), einen
ersten Adressenbus (21) und einen Steuerbus (23) zum
Übertragen von Steuersignalen einschließlich eines
XY-Speicherzugriffssignals angeschlossen ist,
einem Videospeicher (5), der an den Datenbus (17) und an
einen zweiten Adressenbus (25) angeschlossen ist, um
Bildpixeldaten in Speicherplätzen zu speichern, die über den
zweiten Adressenbus (25) empfangenen Adressen entsprechen;
einem Anzeigemittel (11), das an den Videospeicher (5)
angeschlossen ist, um eine für eine Bedienungsperson
wahrnehmbare Anzeige zu erzeugen, die den im Videospeicher (5)
gespeicherten Bildpixeldaten entspricht;
einem Videosystem-Steuermittel (3), das an den Datenbus
(17), den ersten Adressenbus (21) und den zweiten
Adressenbus (25) angeschlossen ist, um die Übertragung von Daten
zwischen dem Datenprozessor (1) und dem Videospeicher (5)
durch Steuern der an den Videospeicher (5) über den zweiten
Adressenbus (25) angelegten Adresse zu steuern, wobei das
Videosystem-Steuermittel enthält:
ein XY-Adressenregister (341), das an den Datenbus (17)
angeschlossen ist, um Adressen zu speichern, die einem
besonderen Anzeigeplatz entsprechen, der als
Rasterpositionscode mit einem X-Anteil und einem Y-Anteil dargestellt
wird;
dadurch gekennzeichnet
daß das XY-Adressenregister (341) so beschaffen ist, daß
es mehrere Bits enthält, auf die ein Mikroprozessor
zugreifen kann, wobei die Grenze zwischen dem X-Anteil und dem Y-
Anteil programmierbar ist, so daß der X-Anteil so
definierbar ist, daß er einige der Bits des XY-Adressenregisters
(341) belegt, wobei die verbleibenden Bits einen Teil des
Y-Anteils bilden; und
daß das Videosystem-Steuermittel ferner enthält:
ein XY-Offset-Register (342), das an das
XY-Adressen-Register (341) angeschlossen ist, wobei das XY-Offset-Register
(342) so beschaffen ist, daß einige der Bits des XY-Offset-
Registers (342) die Grenze zwischen den X- und Y-Anteilen
der im XY-Adressenregister (341) enthaltenen Adresse
spezifizieren; und
ein Adressierungsmittel (35, 43, 49), das an den Steuerbus
(23), den ersten Adressenbus (21), den zweiten Adressenbus
(25) und das XY-Adressenregister (341) angeschlossen ist,
um bei Empfang eines XY-Speicherzugriffssignals durch
Bereitstellen einer Adresse vom XY-Adressenregister (341) für
den Videospeicher (5) über den zweiten Adressenbus (25)
einen indirekten XY-Speicherzugriffszyklus auszuführen.
2. Videosystem nach Anspruch 1, in dem: das
XY-Adressenregister (341) den X-Rasterpositionscode und den
Y-Rasterpositionscode, die in ihm gespeichert sind, gemäß
Steuersignalen, die vom Mikroprozessor (1) während jedes
indirekten XY-Speicherzugriffszyklus geliefert werden,
aktualisieren kann.
3. Videosystem nach Anspruch 2, in dem: das
Adressierungsmittel (35, 43, 49) die Adresse vom XY-Adressenregister
(341) für den Videospeicher (5) durch Verknüpfen des
X-Rasterpositionscodes, des Y-Rasterpositionscodes und von
mehreren im XY-Offset-Register (342) gespeicherten Bits
erzeugt.
4. Videosystem nach Anspruch 2 oder Anspruch 3, in dem:
der Videospeicher (5) mehrere Speicherebenen besitzt,
wobei jede Speicherebene einen
Speicherschreibfreigabeeingang besitzt, der erlaubt, daß Daten in unabhängiger Weise
in eine ausgewählte Speicherebene geladen werden, wobei an
jedem Speicherplatz Pixelbilddaten mit der vorgegebenen
Anzahl von Bits gespeichert werden;
das XY-Offset-Register (342) so beschaffen ist, daß es
mehrere veränderbare Auswahlbits enthält;
und das Adressierungsmittel so beschaffen ist, daß es eine
Auswahl der Speicherebenen des Videospeichers gemäß den im
XY-Offset-Register (342) gespeicherten Auswahlbits
vornimmt.
5. Videosystem nach irgendeinem vorangehenden Anspruch, in dem
der Videospeicher (5) so beschaffen ist, daß er eine
Reihenadresse und eine Spaltenadresse empfängt, die auf dem
zweiten Adressenbus (25) zeitmultiplexiert werden, und
wobei das videosystem einen Reihenadressen-Zwischenspeicher
(47), der an den ersten Adressenbus (21) angeschlossen ist,
um eine vom Datenprozessor (1) empfangene Reihenadresse zu
speichern, und einen Spaltenadressen-Zwischenspeicher (41),
der an den ersten Adressenbus (21) angeschlossen ist, um
eine vom Datenprozessor (1) empfangene Spaltenadresse zu
speichern, enthält.
6. Videosystem nach Anspruch 5, mit: einem Multiplexer (49),
der an den zweiten Adressenbus (25), den Reihenadressen-
Zwischenspeicher (47), den
Spaltenadressen-Zwischenspeicher (41) und das XY-Adressenregister (341)
angeschlossen ist, um die im Reihenadressen-
Zwischenspeicher (47) gespeicherte Reihenadresse und die im
Spaltenadressen-Zwischenspeicher (41) gespeicherte
Spaltenadresse als Antwort auf ein Steuersignal (ALE, FS2-
FS0) für direkten Speicherzugriff an den zweiten
Adressenbus (25) sequentiell anzulegen und um die im XY-
Adressenregister (341) gespeicherte Reihenadresse als
Antwort auf ein Steuersignal (ALE, FS2-FS0) für indirekten
XY-Speicherzugriff an den zweiten Adressenbus (25)
sequentiell zu liefern.
7. Videosystem nach Anspruch 6, in dem:
das XY-Offset-Register (342) so beschaffen ist, daß es
mehrere veränderbare Auswahlbits enthält, die in ihm
gespeichert sind;
und der Multiplexer (49) so beschaffen ist, daß er die
Reihenadresse und die Spaltenadresse bei Empfang eines XY-
Speicherzugriffssignals (ALE, FS2-FS0) über den zweiten
Adressenbus (25) an den Videospeicher (5) anlegt, indem er
die Auswahlbits als die niedrigstwertigen Bits der
Reihenadresse oder als die höchstwertigen Bits der Spaltenadresse
zusammen mit den verbleibenden Bits der Reihenadresse und
der Spaltenadresse vom XY-Adressenregister (341) anlegt.
8. Videosystem nach irgendeinem vorangehenden Anspruch, in dem
Teile der Inhalte des XY-Offset-Registers (342) vom
Datenprozessor (1) verändert werden können.
9. Videosystem nach Anspruch 8, in dem jene Bits im XY-Offset-
Registers (342), die die Grenze zwischen dem X-Anteil und
dem Y-Anteil der im XY-Adressenregister (341) enthaltenen
Adresse spezifizieren, veränderbar sind.
10. Videosystem nach irgendeinem vorangehenden Anspruch, in dem
das XY-Adressenregister (341) die Operationen des
Inkrementierens, des Dekrementierens, des Löschens oder des
Nichtveränderns des X-Rasterpositionscodes und des
Y-Rasterpositionscodes als Antwort auf ein
XY-Adressenaktualisierung-Steuersignal ausführen kann.
11. Videosystem nach Anspruch 10, in dem:
das XY-Adressenaktualisierung-Steuersignal als Antwort
auf ein Steuersignal für indirekten XY-Speicherzugriff den
Typ der Aktualisierung des X-Rasterpositionscodes und des
Y-Rasterpositionscodes spezifizieren kann;
und das XY-Adressenregister (341) als Antwort auf ein in
einem ersten Zustand befindliches XY-Adressenaktualisierungs
Steuersignal den X-Rasterpositionscode oder den Y-
Rasterpositionscode nicht verändert;
als Antwort auf ein in einem zweiten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode inkrementiert;
als Antwort auf ein in einem dritten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode dekrementiert;
als Antwort auf ein in einem vierten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode löscht;
als Antwort auf ein in einem fünften Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
Y-Rasterpositionscode inkrementiert;
als Antwort auf ein in einem sechsten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode und den Y-Rasterpositionscode inkrementiert;
als Antwort auf ein in einem siebten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode dekrementiert und den Y-Rasterpositionscode
inkrementiert;
als Antwort auf ein in einem achten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode löscht und den Y-Rasterpositionscode
inkrementiert;
als Antwort auf ein in einem neunten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
Y-Rasterpositionscode dekrementiert;
als Antwort auf ein in einem zehnten Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode inkrementiert und den Y-Code dekrementiert;
als Antwort auf ein in einem elften Zustand befindliches
XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode dekrementiert und den Y-Rasterpositionscode
dekrementiert;
als Antwort auf ein in einem zwölften Zustand befindliches
XY-Aktualisierungssteuersignal den X-Rasterpositionscode löscht
und den Y-Rasterpositionscode dekrementiert;
als Antwort auf ein in einem dreizehnten Zustand
befindliches XY-Adressenaktualisierung-Steuersignal den
Y-Rasterpositionscode löscht;
als Antwort auf ein in einem vierzehnten Zustand
befindliches XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode inkrementiert und den Y-Rasterpositionscode löscht;
als Antwort auf ein in einem fünfzehnten Zustand
befindliches XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode dekrementiert und den Y-Rasterpositionscode
löscht;
und als Antwort auf ein in einem sechzehnten Zustand
befindliches XY-Adressenaktualisierung-Steuersignal den
X-Rasterpositionscode löscht und den Y-Rasterpositionscode löscht.
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63338784A | 1984-07-23 | 1984-07-23 | |
US06/633,367 US4691289A (en) | 1984-07-23 | 1984-07-23 | State machine standard cell that supports both a Moore and a Mealy implementation |
US06/633,383 US4660156A (en) | 1984-07-23 | 1984-07-23 | Video system with single memory space for instruction, program data and display data |
US06/633,384 US4665495A (en) | 1984-07-23 | 1984-07-23 | Single chip dram controller and CRT controller |
US06/633,388 US4660155A (en) | 1984-07-23 | 1984-07-23 | Single chip video system with separate clocks for memory controller, CRT controller |
US06/633,389 US4654804A (en) | 1984-07-23 | 1984-07-23 | Video system with XY addressing capabilities |
US06/633,385 US4656597A (en) | 1984-07-23 | 1984-07-23 | Video system controller with a row address override circuit |
US06/633,386 US4656596A (en) | 1984-07-23 | 1984-07-23 | Video memory controller |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3588173D1 DE3588173D1 (de) | 1998-02-19 |
DE3588173T2 true DE3588173T2 (de) | 1998-06-10 |
Family
ID=27575495
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853588173 Expired - Fee Related DE3588173T2 (de) | 1984-07-23 | 1985-07-23 | Videosystem |
DE19853587744 Expired - Fee Related DE3587744T2 (de) | 1984-07-23 | 1985-07-23 | Steuerlogik für ein Videosystem mit einer Schaltung, welche die Zeilenadresse ausser Kraft setzt. |
DE19853588174 Expired - Fee Related DE3588174T2 (de) | 1984-07-23 | 1985-07-23 | Videosystem |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853587744 Expired - Fee Related DE3587744T2 (de) | 1984-07-23 | 1985-07-23 | Steuerlogik für ein Videosystem mit einer Schaltung, welche die Zeilenadresse ausser Kraft setzt. |
DE19853588174 Expired - Fee Related DE3588174T2 (de) | 1984-07-23 | 1985-07-23 | Videosystem |
Country Status (3)
Country | Link |
---|---|
EP (3) | EP0481534B1 (de) |
JP (2) | JPH05281934A (de) |
DE (3) | DE3588173T2 (de) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63201791A (ja) * | 1987-02-12 | 1988-08-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | 処理システム |
US4884069A (en) * | 1987-03-19 | 1989-11-28 | Apple Computer, Inc. | Video apparatus employing VRAMs |
US5001652A (en) * | 1987-03-20 | 1991-03-19 | International Business Machines Corporation | Memory arbitration for video subsystems |
ES2036559T3 (es) * | 1987-03-20 | 1993-06-01 | International Business Machines Corporation | Sistema de ordenador con subsistema de video. |
JP2854867B2 (ja) * | 1987-09-14 | 1999-02-10 | ジーディーイー システムズ インコーポレイテッド | イメージ処理システム及び画素データ転送法 |
US5113180A (en) * | 1988-04-20 | 1992-05-12 | International Business Machines Corporation | Virtual display adapter |
JP3068842B2 (ja) * | 1990-08-27 | 2000-07-24 | 任天堂株式会社 | 画像処理装置におけるダイレクトメモリアクセス装置およびそれに用いる外部記憶装置 |
JPH11514450A (ja) * | 1995-08-28 | 1999-12-07 | シーラス ロジック,インコーポレイテッド | オフスクリーン領域を有するフレームバッファのリフレッシュを制御する回路および方法 |
TW316965B (de) * | 1995-10-31 | 1997-10-01 | Cirrus Logic Inc | |
EP0786756B1 (de) * | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Arbitrierung für Datenübertragung für ein Anzeigesteuergerät |
US6678204B2 (en) * | 2001-12-27 | 2004-01-13 | Elpida Memory Inc. | Semiconductor memory device with high-speed operation and methods of using and designing thereof |
US9773557B2 (en) * | 2008-09-03 | 2017-09-26 | Marvell World Trade Ltd. | Multi-plane data order |
US8300056B2 (en) | 2008-10-13 | 2012-10-30 | Apple Inc. | Seamless display migration |
US8368702B2 (en) | 2010-01-06 | 2013-02-05 | Apple Inc. | Policy-based switching between graphics-processing units |
US8648868B2 (en) | 2010-01-06 | 2014-02-11 | Apple Inc. | Color correction to facilitate switching between graphics-processing units |
US8797334B2 (en) | 2010-01-06 | 2014-08-05 | Apple Inc. | Facilitating efficient switching between graphics-processing units |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5810135B2 (ja) * | 1973-03-20 | 1983-02-24 | 松下電器産業株式会社 | ハイガスジヨウカヨウシヨクバイタイ |
JPS5834836B2 (ja) * | 1975-12-29 | 1983-07-29 | 株式会社日立製作所 | デ−タヒヨウジセイギヨホウシキ |
US4125873A (en) * | 1977-06-29 | 1978-11-14 | International Business Machines Corporation | Display compressed image refresh system |
DE2922540C2 (de) * | 1978-06-02 | 1985-10-24 | Hitachi, Ltd., Tokio/Tokyo | Datenverarbeitungsanlage |
US4288706A (en) | 1978-10-20 | 1981-09-08 | Texas Instruments Incorporated | Noise immunity in input buffer circuit for semiconductor memory |
US4286320A (en) * | 1979-03-12 | 1981-08-25 | Texas Instruments Incorporated | Digital computing system having auto-incrementing memory |
JPS5926031B2 (ja) * | 1979-03-28 | 1984-06-23 | 日本電信電話株式会社 | 記憶素子 |
JPS5614346A (en) * | 1979-07-12 | 1981-02-12 | Toshiba Corp | Write and read system for frame memory unit |
JPS5631154A (en) * | 1979-08-23 | 1981-03-28 | Victor Co Of Japan Ltd | Memory device |
FR2465281A1 (fr) * | 1979-09-12 | 1981-03-20 | Telediffusion Fse | Dispositif de transmission numerique et d'affichage de graphismes et/ou de caracteres sur un ecran |
US4347587A (en) * | 1979-11-23 | 1982-08-31 | Texas Instruments Incorporated | Semiconductor integrated circuit memory device with both serial and random access arrays |
JPS5678881A (en) * | 1979-12-03 | 1981-06-29 | Hitachi Ltd | Graphic display device |
JPS56103642A (en) * | 1980-01-18 | 1981-08-18 | Shigekazu Nakamura | Crane having outrigger |
US4390780A (en) * | 1980-11-10 | 1983-06-28 | Burroughs Corporation | LSI Timing circuit for a digital display employing a modulo eight counter |
DE3138930C2 (de) * | 1981-09-30 | 1985-11-07 | Siemens AG, 1000 Berlin und 8000 München | Datensichtgerät |
DE3141882A1 (de) * | 1981-10-22 | 1983-05-05 | Agfa-Gevaert Ag, 5090 Leverkusen | Dynamische schreib- und lesespeichervorrichtung |
JPS58187996A (ja) * | 1982-04-28 | 1983-11-02 | 株式会社日立製作所 | 表示メモリ回路 |
JPS58189690A (ja) * | 1982-04-30 | 1983-11-05 | 株式会社日立製作所 | 画像表示装置 |
US4424372A (en) * | 1982-09-20 | 1984-01-03 | Timex Corporation | 4-Substituted phenyl 4'-(5-N-alkyl-1,3-dioxan-2-yl) thiobenzoates |
US4562435A (en) * | 1982-09-29 | 1985-12-31 | Texas Instruments Incorporated | Video display system using serial/parallel access memories |
JPS5960488A (ja) * | 1982-09-29 | 1984-04-06 | フアナツク株式会社 | カラ−グラフイツクメモリのデ−タ書き込み装置 |
JPS5974590A (ja) * | 1982-10-20 | 1984-04-27 | 株式会社日立製作所 | デイスプレイ装置のメモリ制御方式 |
JPS5991488A (ja) * | 1982-11-18 | 1984-05-26 | 株式会社東芝 | カラ−グラフイツクデイスプレイ装置 |
JPS5994590A (ja) * | 1982-11-19 | 1984-05-31 | Origin Electric Co Ltd | 被溶接物の位置合せ機能を備えた溶接治具 |
JPS59114589A (ja) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | パタ−ン書込み制御回路 |
JPS59114588A (ja) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | パタ−ン書込み制御回路 |
US4566005A (en) * | 1983-03-07 | 1986-01-21 | International Business Machines Corporation | Data management for plasma display |
US4688197A (en) * | 1983-12-30 | 1987-08-18 | Texas Instruments Incorporated | Control of data access to memory for improved video system |
US4639890A (en) | 1983-12-30 | 1987-01-27 | Texas Instruments Incorporated | Video display system using memory with parallel and serial access employing selectable cascaded serial shift registers |
JPH01193793A (ja) * | 1983-12-30 | 1989-08-03 | Texas Instr Inc <Ti> | メモリ装置 |
JPH0210434A (ja) * | 1988-06-28 | 1990-01-16 | Mitsubishi Electric Corp | プログラム言語トランスレータ |
JPH0254956A (ja) * | 1988-08-19 | 1990-02-23 | Mitsubishi Electric Corp | リードフレームの製造方法 |
JP3347773B2 (ja) * | 1992-09-17 | 2002-11-20 | 川崎製鉄株式会社 | 粉末冶金用純鉄粉混合物 |
JPH06100895A (ja) * | 1992-09-21 | 1994-04-12 | Nissan Motor Co Ltd | プラスチックバンパーの洗浄方法 |
JP3235878B2 (ja) * | 1992-09-21 | 2001-12-04 | 関東電化工業株式会社 | 固形洗浄剤の製造法 |
JPH06100896A (ja) * | 1992-09-22 | 1994-04-12 | Tatsuro Nagashima | 粉末洗剤の製造方法 |
-
1985
- 1985-07-23 DE DE19853588173 patent/DE3588173T2/de not_active Expired - Fee Related
- 1985-07-23 EP EP91121915A patent/EP0481534B1/de not_active Expired - Lifetime
- 1985-07-23 DE DE19853587744 patent/DE3587744T2/de not_active Expired - Fee Related
- 1985-07-23 EP EP85305225A patent/EP0182454B1/de not_active Expired - Lifetime
- 1985-07-23 EP EP91121918A patent/EP0482678B1/de not_active Expired - Lifetime
- 1985-07-23 DE DE19853588174 patent/DE3588174T2/de not_active Expired - Fee Related
-
1991
- 1991-06-07 JP JP3162472A patent/JPH05281934A/ja active Pending
-
1997
- 1997-06-11 JP JP9153659A patent/JPH1091136A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0182454A2 (de) | 1986-05-28 |
EP0182454A3 (en) | 1988-03-23 |
EP0481534B1 (de) | 1998-01-14 |
DE3587744D1 (de) | 1994-03-17 |
EP0482678A2 (de) | 1992-04-29 |
DE3588174D1 (de) | 1998-02-19 |
DE3588174T2 (de) | 1998-06-10 |
JPH05281934A (ja) | 1993-10-29 |
JPH1091136A (ja) | 1998-04-10 |
EP0481534A2 (de) | 1992-04-22 |
EP0182454B1 (de) | 1994-02-02 |
DE3587744T2 (de) | 1994-05-19 |
EP0481534A3 (en) | 1992-08-26 |
DE3588173D1 (de) | 1998-02-19 |
EP0482678B1 (de) | 1998-01-14 |
EP0482678A3 (en) | 1992-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3588173T2 (de) | Videosystem | |
DE69225447T2 (de) | Steuersystem für eine DMD-Anzeige | |
DE3382798T2 (de) | Elektronisches System zur Videoanzeige. | |
DE3751720T2 (de) | Schaltung für die bildschirmwiedergabe von computern | |
DE3853447T2 (de) | Anzeigesteuergerät für eine Kathodenstrahlröhre-/Plasmaanzeigeeinheit. | |
DE3852989T2 (de) | Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit. | |
DE69225538T2 (de) | Hochauflösende Multimediaanzeige | |
DE68920147T2 (de) | Anzeigesystem. | |
DE3853489T2 (de) | Grafik-Anzeigesystem. | |
DE3882365T2 (de) | Einrichtung zur erzeugung eines cursormusters auf einer anzeige. | |
EP0146227A2 (de) | Einrichtung und Verfahren für nach dem Rasterverfahren arbeitende Anzeige | |
DE3636394C2 (de) | Einrichtung und Verfahren zur Speicherorganisation | |
DE3688145T2 (de) | Videoanzeigesystem. | |
DE3587458T2 (de) | Videoanzeigesteuersystem. | |
DE68925854T2 (de) | Anzeigesteuergerät zum Konvertieren mittels Hardware von CRT-Auflösung in Plasmaanzeigetafel-Auflösung | |
DE3889240T2 (de) | Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen. | |
DE69122182T2 (de) | Bilddatensteuergerät und Anzeigesystem | |
DE10101073A1 (de) | Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür | |
DE68928840T2 (de) | Synchroner dynamischer Speicher | |
DE69802041T2 (de) | Graphisches Verarbeitungsgerät und -verfahren | |
EP0468973B2 (de) | Monitorsteuerschaltung | |
DE3781969T2 (de) | Regler fuer kathodenstrahl-bildroehre. | |
DE68920148T2 (de) | Anzeigevorrichtung mit graphischem Cursor. | |
DE69602742T2 (de) | Schaltungen, systeme und verfahren zur speicherdatenänderung unter verwendung logischer funktionen | |
DE3810232C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |