DE3588174T2 - Video system - Google Patents
Video systemInfo
- Publication number
- DE3588174T2 DE3588174T2 DE19853588174 DE3588174T DE3588174T2 DE 3588174 T2 DE3588174 T2 DE 3588174T2 DE 19853588174 DE19853588174 DE 19853588174 DE 3588174 T DE3588174 T DE 3588174T DE 3588174 T2 DE3588174 T2 DE 3588174T2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- address
- cycle
- refresh
- video
- 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 232
- 238000012546 transfer Methods 0.000 claims description 33
- 239000000872 buffer Substances 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 14
- 230000000007 visual effect Effects 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 37
- 230000001360 synchronised effect Effects 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000000034 method Methods 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
- 230000008569 process Effects 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
- 230000009977 dual effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000010276 construction Methods 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
- 101100467574 Mus musculus Mras gene Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000006073 displacement reaction 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
- 238000007493 shaping process Methods 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)
- Computer Graphics (AREA)
- Multimedia (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.The invention relates to electronic computer systems and the like, and more particularly to an improved method and apparatus for achieving high resolution video playback.
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 deshalb 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.It is common to display the output of a computer as an image on the screen of a cathode ray tube or the like. The screen is actually made up of a collection of dots or "pixels" and the image is therefore created by selecting and illuminating those pixels required to form the desired image. If the image sought to be displayed is only a simple pattern of numbers or other symbols, this can be achieved with a relatively limited number of pixels. However, if a more complex image (with a higher resolution) is desired, then a screen having a much larger number of pixels must be selected.
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.It is understood that each pixel used to construct the image is illuminated by its own output data signal from the processing section of the computer and that an increase in resolution requires a screen with a larger number of pixels.
In der US-A 4 298 931, die den oberbegriffen der Ansprüche 1 und 7 zugrunde liegt, wird ein Textzeichenwiedergabesystem mit mehreren RAM vorgeschlagen, die parallel geschaltet sind. Jeder RAM wird nacheinander den Vorgängen Daten- Lesen/Schreiben durch eine CPU, Auslesen der Wiedergabedaten und Auffrischen unterworfen, wobei die Phasen gestaffelt sind, so daß immer ein RAM für das Auslesen der Wiedergabedaten zur Verfügung steht.In US-A 4 298 931, which is the basis of the preambles of claims 1 and 7, a text character reproduction system is proposed with several RAMs connected in parallel. Each RAM is subjected in succession to the processes of data reading/writing by a CPU, reading out the reproduction data and refreshing, the phases being staggered so that a RAM is always available for reading out the reproduction data.
EP-A 0 080 043 schlägt ein Videosystem vor, bei dem neue Bilddaten direkt sowohl in einem Zeilenzwischenspeicher als auch in den Hauptvideospeicher geschrieben werden, so daß die Anzeige mit Daten von einem Zeilenzwischenspeicher versorgt werden kann während der Videospeicher aktualisiert wird.EP-A 0 080 043 proposes a video system in which new image data is written directly to both a line buffer and the main video memory, so that the display can be supplied with data from a line buffer while the video memory is being updated.
Durch die Erfindung wird ein Videosystem geschaffen, umfassend: einen Datenprozessor zum Manipulieren von einem Videobild entsprechenden Bildpixeldaten gemäß Programmbefehlen; ein Videosystem-Steuermittel, das einen Auffrischadressenzähler zum Speichern einer Adresse zur Speicherauffrischung enthält; einen Multiplexer zum Durchschalten von vom Datenprozessor über einen ersten Adressenbus empfangenen Adressen, von im Auffrischadressenzähler gespeicherten Adressen oder von von einem Steuerregister empfangenen Adressen an den zweiten Adressenbus; ein Anzeigemittel zum Erzeugen einer von einer Bedienungsperson wahrnehmbaren visuellen Anzeige, die den in einem Videospeicher gespeicherten Bildpixeldaten entspricht, wobei die Anzeige mehrere horizontale Zeilen umfaßt, die dem vom Videospeicher durch die vom Steuerregister empfangenen Adressen abgerufenen Bildpixeldaten entsprechen; dadurch gekennzeichnet, daß das Videosystem ferner enthält: ein Speicherzyklus-Steuermittel zum sequentiellen Erzeugen von Speicherauffrischanforderungen während eines aktiven Abschnitts der horizontalen Zeilen und von Anzeigeaktualisierungsanforderungen während eines Austastabschnitts der horizontalen Zeilen; wobei der Multiplexer betätigt werden kann, um einen Speicherzugriffszyklus auszuführen, in dem als Antwort auf eine Speicherzugriffsanforderung vom Datenprozessor über dem ersten Adressenbus empfangene Adressen zum zweiten Adressenbus durchgeschaltet werden; wobei der Multiplexer ferner betätigt werden kann, um einen Speicherauffrischzyklus auszuführen, in dem als Antwort auf eine Speicherauffrischanforderung im Auffrischadressenzähler gespeicherte Adressen zum zweiten Adressenbus durchgeschaltet werden, wobei die im Auffrischadressenzähler gespeicherten Adressen nach jedem Speicherauffrischzyklus inkrementiert werden; wobei der Multiplexer weiterhin betätigt werden kann, um einen Anzeigeaktualisierungszyklus auszuführen, in dem als Antwort auf eine Anzeigeaktualisierungsanforderung vom Steuerregister empfangene Adressen zum zweiten Adressenbus durchgeschaltet werden; und einen Arbiter zum Steuern des Speicherzyklus-Steuermittels, um entsprechend empfangenen Speicherzugriffsanforderungen, Speicherauffrischanforderungen und Anzeigeaktualisierungsanforderungen nur entweder einen Speicherzugriffszyklus, einen Speicherauffrischzyklus oder einen Anzeigeaktualisierungszyklus auszuführen, wobei der Arbiter so beschaffen ist, daß er die Priorität der Anzeigeaktualisierungsanforderungen während des horizontalen Austastintervalls jeder Zeile, die Priorität der Speicherzugriffsanforderungen während eines früheren Abschnitts des aktiven Abschnitts jeder horizontalen Zeile und die Priorität der Speicherauffrischanforderung während eines späteren Abschnitts des aktiven Abschnitts jeder horizontalen Zeile zuweist.The invention provides a video system comprising: a data processor for manipulating image pixel data corresponding to a video image in accordance with program instructions; video system control means including a refresh address counter for storing an address for memory refresh; a multiplexer for passing addresses received from the data processor over a first address bus, addresses stored in the refresh address counter, or addresses received from a control register to the second address bus; display means for generating an operator-perceivable visual display corresponding to image pixel data stored in a video memory, the display comprising a plurality of horizontal lines corresponding to image pixel data retrieved from the video memory by addresses received from the control register; characterized in that the video system further includes: memory cycle control means for sequentially generating memory refresh requests during an active portion of the horizontal lines and display update requests during a blanking portion of the horizontal lines; wherein the multiplexer is operable to execute a memory access cycle in which addresses received from the data processor via the first address bus are switched through to the second address bus in response to a memory access request; wherein the multiplexer is further operable to execute a memory refresh cycle in which addresses stored in the refresh address counter are switched through to the second address bus in response to a memory refresh request, the addresses stored in the refresh address counter being refreshed after each memory refresh cycle; wherein the multiplexer is further operable to execute a display refresh cycle in which addresses received from the control register in response to a display refresh request are passed through to the second address bus; and an arbiter for controlling the memory cycle control means to execute only one of a memory access cycle, a memory refresh cycle and a display refresh cycle in accordance with received memory access requests, memory refresh requests and display refresh requests, the arbiter being arranged to assign the priority of the display refresh requests during the horizontal blanking interval of each line, the priority of the memory access requests during an earlier portion of the active portion of each horizontal line and the priority of the memory refresh request during a later portion of the active portion of each horizontal line.
Durch die Erfindung wird ebenfalls eine Videoschnittstelle geschaffen, mit: einer Einrichtung zum Herstellen einer elektrischen Verbindung mit einem Datenprozessor zum Manipulieren von einem Videobild entsprechenden Bildpixeldaten gemäß Programmbefehlen und mit einem Videospeicher zum Liefern von Bildpixeldaten an ein Anzeigemittel zum Erzeugen einer entsprechenden, von einer Bedienungsperson wahrnehmbarer Anzeige; einem Multiplexer zum Durchschalten von vom ersten Datenprozessor über einen ersten Adressenbus empfangenen Adressen, von in einem Auffrischadressenzähler gespeicherten Adressen oder von von einem Steuerregister empfangenen Adressen an einen zweiten Adressenbus; und dadurch gekennzeichnet, daß die Videoschnittstelle ferner enthält: ein Speicherzyklus-Steuermittel zum sequentiellen Erzeugen von Speicherauffrischanforderungen während eines aktiven Abschnitts einer horizontalen Zeile und von Anzeigeaktualisierungsanforderungen während eines Austastabschnitts der horizontalen Zeile; wobei der Multiplexer betätigt werden kann, um einen Datenprozessor-Speicherzugriffszyklus auszuführen, in dem als Antwort auf eine Speicherzugriffsanforderung vom Datenprozessor über den ersten Adressenbus empfangene Adressen zum zweiten Adressenbus durchgeschaltet werden; wobei der Multiplexer ferner betätigt werden kann, um einen Speicherauffrischzyklus auszuführen, in dem als Antwort auf eine Speicherauffrischanforderung im Auffrischadressenzähler gespeicherte Adressen zum zweiten Adressenbus durchgeschaltet werden; wobei der Multiplexer ferner betätigt werden kann, um einen Anzeigeaktualisierungszyklus auszuführen, in dem als Antwort auf eine Anzeigeaktualisierungsanforderung vom Steuerregister empfangene Adressen zum zweiten Adressenbus durchgeschaltet werden; und einen Arbiter, der das Speicherzyklus-Steuermittel so steuert, daß es gemäß empfangenen Datenprozessorspeicherzugriffsanforderungen, Speicherauffrischanforderungen und Anzeigeaktualisierungsanforderungen nur entweder einen Speicherzugriffszyklus, einen Speicherauffrischzyklus oder einen Anzeigeaktulisierungszyklus ausführt, wobei der Arbiter so beschaffen ist, daß er die Priorität der Anzeigeaktualisierungsanforderungen während des horizontalen Austastintervalls jeder Zeile, die Priorität der Datenprozessor-Speicherzugriffsanforderungen während eines früheren Abschnitts des aktiven Abschnitts jeder horizontalen Zeile und die Priorität der Speicherauffrischanforderungen während eines späteren Abschnitts des aktiven Abschnitts jeder horizontalen Zeile zuweist.The invention also provides a video interface comprising: means for establishing an electrical connection with a data processor for manipulating image pixel data corresponding to a video image in accordance with program instructions and with a video memory for supplying image pixel data to a display means for producing a corresponding display perceivable by an operator; a multiplexer for switching addresses received from the first data processor via a first address bus, addresses stored in a refresh address counter or addresses received from a control register to a second address bus; and characterized in that the video interface further includes: a memory cycle control means for sequentially generating memory refresh requests during an active portion of a horizontal line and display update requests during a blanking portion of the horizontal line; the multiplexer being actuated to execute a data processor memory access cycle in which addresses received from the data processor over the first address bus in response to a memory access request are passed through to the second address bus; wherein the multiplexer is further operable to execute a memory refresh cycle in which addresses stored in the refresh address counter in response to a memory refresh request are passed through to the second address bus; wherein the multiplexer is further operable to execute a display update cycle in which addresses received from the control register in response to a display update request are passed through to the second address bus; and an arbiter controlling the memory cycle control means to execute only one of a memory access cycle, a memory refresh cycle and a display update cycle in accordance with received data processor memory access requests, memory refresh requests and display update requests, the arbiter being arranged to assign priority to display update requests during the horizontal blanking interval of each line, priority to data processor memory access requests during an earlier portion of the active portion of each horizontal line and priority to memory refresh requests during a later portion of the active portion of each horizontal line.
Der Videospeicher ist vorzugsweise eine dynamischer Multiport-Direktzugriffsspeicher mit einer X-Y-adressierbaren Speicheranordnung, die in mehreren Farbebenen organisiert ist. Die Videosystemsteuereinrichtung führt ein automatisches Auffrischen dieses dynamischen Direktzugriffsspeichers durch.The video memory is preferably a dynamic multiport random access memory having an X-Y addressable memory array organized into multiple color planes. The video system controller performs an automatic refresh of this dynamic random access memory.
Das Videosystem-Steuermittel enthält vorzugsweise einen Reihenadressen-Zwischenspeicher, einen Spaltenadressen-Zwischenspeicher und eine X-Y-Adressen-Logik. Das Videosystem-Steuermittel multiplexiert die verschiedenen Zugriffsanforderungen des Videospeichers mit einer Prioritätsschaltung. Dies wird mit einem ersten Teil, der synchron mit dem Videospeicher arbeitet, und mit einem zweiten Teil durchgeführt, der synchron mit dem Mikroprozessor arbeitet. Dies gestattet es dem Prozessor, mit einer von der Pixelrate der Videowiedergabe unabhängigen Rate zu laufen. Die Transferoperationen in dem Videosystem-Steuermittel werden vorzugsweise durch die Verwendung einer programmierbaren Statusmaschine gesteuert, die Eingaben in eine Logikanordnung manipuliert.The video system control means preferably includes a row address buffer, a column address buffer and an XY address logic. The video system control means multiplexes the various video memory access requests with a priority circuit. This is done with a first part operating synchronously with the video memory and a second part operating synchronously with the microprocessor. This allows the processor to run at a rate independent of the pixel rate of the video display. The transfer operations in the video system control means are preferably controlled by the use of a programmable state machine which manipulates inputs to a logic array.
Das Videosystem-Steuermittel unterstützt die Mehrebenen- Speicheranordnung. Über eine Reihenadressen-Außerkraftsetzungsschaltung können Daten gleichzeitig in mehrere Speicherebenen geschrieben werden. Eine der Anzahl von Speicherebenen gleiche Anzahl von Ausgangslogikschaltungen erzeugt Schreibfreigabesignale, die es unabhängig gestatten, daß Daten in ausgewählte Speicherebenen geladen werden. Das Videospeichermittel steuert außerdem ein externes Schieberegister, das als Puffer zwischen dem Videospeicher und der Wiedergabeeinrichtung verwendet wird.The video system control means supports the multi-level memory arrangement. A row address override circuit allows data to be written to multiple memory levels simultaneously. An equal number of output logic circuits to the number of memory levels generates write enable signals that independently allow data to be loaded into selected memory levels. The video storage means also controls an external shift register used as a buffer between the video memory and the display device.
Außer daß sie einen speziellen VRAM steuert, kann die Videosteuereinrichtung auch dynamische Standard-Ramsteuern.In addition to controlling a special VRAM, the video controller can also control standard dynamic RAM.
Diese und weitere Merkmale/Vorteile ergeben sich aus der Beschreibung in Verbindung mit den Figuren, wie nachfolgend aufgeführt.These and other features/advantages arise from the description in conjunction with the figures, as listed below.
Figur 1 ist ein Blockdiagramm, das eine Video-Steuereinrichtung gemäß der Erfindung beinhaltet;Figure 1 is a block diagram incorporating a video controller according to the invention;
Figur 2 ist ein Funktions-Blockdiagramm der Video-Steuereinrichtung von Figur 1;Figure 2 is a functional block diagram of the video controller of Figure 1;
Figur 3 ist ein Schaltplan von Schaltungs-Blöcken, die zur Verwirklichung der Funktionen von Figur 2 verwendet werden;Figure 3 is a circuit diagram of circuit blocks used to implement the functions of Figure 2;
Figur 4 ist ein Blockdiagramm des System-Blocks von Figur 3;Figure 4 is a block diagram of the system block of Figure 3;
Figur 5 ist ein Blockdiagramm des Video-Blocks von Figur 3;Figure 5 is a block diagram of the video block of Figure 3;
Figur 6 ist ein Blockdiagramm des DA-ST-Blocks von Figur 3;Figure 6 is a block diagram of the DA-ST block of Figure 3;
Figur 7 ist ein Blockdiagramm des CRT-Blocks von Figur 3;Figure 7 is a block diagram of the CRT block of Figure 3;
Figur 8 ist eine Prinzipskizze des Steuer-Blocks von Figur 4;Figure 8 is a schematic diagram of the control block of Figure 4;
Figur 9 ist eine Prinzipskizze des Zyklusgenerators von Figur 4;Figure 9 is a schematic diagram of the cycle generator of Figure 4;
Figur 10 ist eine Prinzipskizze des RAS-Decodierungs-Blocks von Figur 4;Figure 10 is a schematic diagram of the RAS decoding block of Figure 4;
Figur 11 ist eine Prinzipskizze von Figur 7;Figure 11 is a schematic diagram of Figure 7;
Figur 12 ist eine Prinzipskizze des Speicheranschlüsse- Blocks von Figur 4;Figure 12 is a schematic diagram of the memory port block of Figure 4;
Figur 13 ist eine Prinzipskizze des Auffrisch-Block von Figur 4;Figure 13 is a schematic diagram of the refresh block of Figure 4;
Figur 14 ist eine Prinzipskizze des Blocks Bereit/Halten von Figur 4;Figure 14 is a schematic diagram of the Ready/Hold block of Figure 4;
Figur 15 ist eine Prinzipskizze des Video-Blocks von Figur 7;Figure 15 is a schematic diagram of the video block of Figure 7;
Figur 16 ist eine Prinzipskizze des Vertikalzählers von Figur 7;Figure 16 is a schematic diagram of the vertical counter of Figure 7;
Figur 17 ist eine Prinzipskizze des Horizontalzählers von Figur 7;Figure 17 is a schematic diagram of the horizontal counter of Figure 7;
Figur 18 ist eine Prinzipskizze des Horizontalzählers von Figur 7;Figure 18 is a schematic diagram of the horizontal counter of Figure 7;
Figur 19 ist eine Prinzipskizze des in den Figuren 16, 17 und 18 verwendeten Basisregisters;Figure 19 is a schematic diagram of the base register used in Figures 16, 17 and 18;
Figur 20 ist eine Prinzipskizze des SRDAT-Blocks von Figur 7;Figure 20 is a schematic diagram of the SRDAT block of Figure 7;
Figur 21 ist eine Prinzipskizze des FS-Decodierungs-Blocks von Figur 3;Figure 21 is a schematic diagram of the FS decoding block of Figure 3;
Figuren 22 bis 26 sind Prinzipskizzen des XY-Register-Blocks von Figur 3;Figures 22 to 26 are schematic diagrams of the XY register block of Figure 3;
Figuren 27 bis 29 sind Prinzipskizzen des Steuerregister- Blocks von Figur 3;Figures 27 to 29 are schematic diagrams of the control register block of Figure 3;
Figur 30 ist eine Prinzipskizze des Eingangsanschlüsse- Blocks von Figur 3;Figure 30 is a schematic diagram of the input terminal block of Figure 3;
Figur 31 ist eine Prinzipskizze des Datenanschlüsse-Blocks von Figur 3;Figure 31 is a schematic diagram of the data connector block of Figure 3;
Figur 32 ist eine Prinzipskizze des Datenstatus-Blocks von Figur 3;Figure 32 is a schematic diagram of the data status block of Figure 3;
Figur 33 ist eine Prinzipskizze der in der Videosystem- Steuereinrichtung verwendeten Doppeltakte;Figure 33 is a schematic diagram of the double clocks used in the video system controller;
Figur 34 ist eine Prinzipskizze einer Ausführungsform des Wiedergabespeichers;Figure 34 is a schematic diagram of an embodiment of the playback memory;
Figur 35 ist ein Blockdiagramm eines Mikroprozessors von Figur 1;Figure 35 is a block diagram of a microprocessor of Figure 1;
Figur 36 und 37 sind alternative Ausführungsformen eines Videosystems; undFigures 36 and 37 are alternative embodiments of a video system; and
Figur 38 ist eine Skizze des Datentransfer-Zyklus;Figure 38 is a sketch of the data transfer cycle;
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 Videosystem- Steuereinrichtung 3 und einen Wiedergabespeicher 5. Wie er zum Beispiel in der U.S.-Anmeldung 567,040 (US-A-4 639 890) beschrieben ist, die den 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.Referring now to Fig. 1, there is a block diagram of an embodiment of the video system controller according to the invention. The blocks shown in Fig. 1 comprise a microprocessor 1, a video system controller 3 and a playback memory 5. As described, for example, in U.S. Application 567,040 (US-A-4 639 890), assigned to the assignee of the present invention. The output of the playback memory 5 is connected to a shift register 7 which shifts data to an optional digital-to-analog converter 9 for delivery via a bidirectional data bus 9A to a suitable monitor or television screen 11 or other output or input device. In addition, a dynamic system RAM 19 is provided for storing data and/or instructions for processing by a microprocessor 1. The microprocessor 1 receives input data from a port 15 and supplies the data to a bidirectional bus 17 which connects the microprocessor 1 to the video system controller 3, the playback memory 5 and the dynamic system RAM 19. In addition, the microprocessor supplies address information to the video system controller 3 and a second port 15A which, together with the port 15, is connected to a port device such as a keyboard as well as other peripheral devices which can be used by the system. The microprocessor 1 supplies address information to the video system controller 3 via an address bus 21. The interface between the microprocessor 1 and the video system controller 3 is operated by means of the bidirectional bus 23 via which the control signals are transferred between the microprocessor 1 and the video system controller 3. The output signal of the video system controller 3 is in the form of address information and control signals are supplied to the display memory 5 and the dynamic system RAM 19 via an address bus 25. Control of data transfer to and from the display memory 5 and the dynamic system RAM 19 is provided by the video system controller 3 via the control bus 27. In addition, the CRT monitor 11 is supplied with a synchronization and blanking signal via a synchronization line 29. The microprocessor 1 executes the program instructions which are either supplied to it via the data bus 17 or which are stored in its own internal memories. In response to these program instructions, control signals and data are transmitted in the form of commands to the video system controller 3. The video system controller 3 performs four basic functions. These functions are: (1) it allows the microprocessor 1 virtually uncontested access to the dynamic system RAM 19 and the display memory 5; (2) it automatically generates the refresh cycles required to maintain the data stored in the dynamic system RAM 19 and the playback memory 5; (3) it performs the playback update cycles required to periodically load new video data into the playback memory 5 and in particular into the shift registers contained in the playback memory 5; (4) it generates the video synchronization and blanking signals required to control the video monitor.
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 Transferieren 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.The display memory 5 includes a dot pattern RAM unit or chip with enough cells to accommodate each screen display intended for the CRT monitor 11, and further includes a serial shift register having a plurality of taps at locations corresponding to various preselected columns of cells in the display memory 5. In addition, provisions are made to select taps to unload only a portion of the shift register containing the bits of interest, thereby effectively eliminating unused portions of the shift register and reducing the time for transferring the bits of interest. Data to the CRT monitor 11 is reduced. The optional high-speed shift register 7 is interfaced via lines 31 with the internal shift register ports of the playback memories 5 and shifts the data to an optional digital-to-analog video signal converter 9 or other output devices and input devices. The CRT monitor 11 displays the information fed to it via the data bus 17 from the microprocessor 1 under the control of the video system controller 3, which handles the data transfer from the playback memory 5 to the CRT monitor via the optional shift register 7 and the digital-to-analog converter 9. The timing for the system is generated by the system clock 33, which provides the shift and load clocks to the system and in particular to the video system controller 3, the playback memory 5 and the shift register 7.
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 CA0-CA8, 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örde rten Steuersignale versorgt. Die Steuersignale, die zum Steuern des Multiplexers 49 und der nachfolgenden Multiplexierung der Reihen/Spaltenadressen verwendet werden, wenn diese in Form von MA0-MA8, 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 Steuersignals "ALE" in einem Reihenadressen-Zwischenspeicher 47 bzw. einem Spaltenadressen-Zwischenspeicher 41 gespeichert, bevor sie zum Wiedergabespeicher 5 multiplexiert werden.Referring now to Fig. 2, there is a functional block diagram of the video system controller 3 of Fig. 1, wherein a multiplexer 49 accepts addresses from both the microprocessor 1 via an address bus 21 and from a refresh address counter 45 used to refresh the memory cells of the display memory 5, from an X-Y address register 43, and the shift register address from the internal control and video register 39. The addresses are converted to a 9-bit row or column address required by the display memory 5 and/or the system DRAM 19. The address provided by the microprocessor 1 is divided into two groups, RA0-RA8, which are the row address bits applied to a row address latch 47 via a data bus 21R, and the address bits CA0-CA8, which are the column address bits applied to the column address latch 41 via a data bus 21C. Of course, the symbol CA stands for the column address bits. An arbiter/ready logic 37 also determines the source of the addresses applied to the display memory 5 via a multiplexer 49 and the data bus 25, as it provides the microprocessor 1 with a Signal READY/HOLD as part of the control signals carried over data bus 23. The control signals used to control multiplexer 49 and the subsequent multiplexing of row/column addresses as they are output on data bus 25 in the form of MA0-MA8, which stands for memory address, are generated by a memory cycle controller 35. The row and column address inputs from microprocessor 1 are latched into a row address latch 47 and a column address latch 41, respectively, by the falling edge of control signal "ALE" before being multiplexed to display memory 5.
Sowohl die X-Y-Register 43 als auch die Steuer- und Videoregister 39 sind programmierbare Register, auf die der Mikroprozessor 1 direkt zugreifen kann.Both the X-Y registers 43 and the control and video registers 39 are programmable registers that the microprocessor 1 can access directly.
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 FS0-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 CA1 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, nieder wertig 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.The data bus 17 in the embodiment of Fig. 2 is only 8 bits wide, with each register of the XY address register 43 and the control and video register 39 being 16 bits wide. Thus, the microprocessor 1 accesses the high and low order bits of the registers in separate cycles. The bit value entered on the column address bit line, which is part of the address bus 21C, determines whether the high or low order byte of the register is addressed. Access to an internal register is enabled by setting the appropriate function code selection, which is indicated at the beginning of the cycle by the function selection lines FS0-FS2. Selection of one of the registers, which number 18 in the embodiment of Fig. 2, is determined by the entry of a 5-bit code on data lines CA6 through CA2, which are part of the address bus 21C, during access by the microprocessor 1. The value entered at CA1 selects the high or low bytes of the register. The state of the read and write line, input signal R/W-, must be valid before and during the time in which the low byte CEL of the column address enable, which is a control line present on data bus 23 becomes low order to determine whether the register access is a read or a write access. The control and video registers include video timing registers, display update registers and control registers. The video timing registers are programmed to generate the horizontal and vertical synchronization and blanking signals needed to control the CRT monitor 11 of Fig. 1. The values loaded into these registers are customized to meet the particular screen resolution and timing requirements of the CRT monitor 11. Both interlaced and non-interlaced scanning operation are possible. The video system controller can be programmed to latch an externally generated synchronization signal, for example for an application where the graphics image generated in display memory 5 is to be superimposed on an external video signal.
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.The display update registers are required because the video system controller 3 generates the display update cycles required to periodically refresh the video display. The display update registers maintain the row and tap point address output to the display memory 5 during each display update cycle. The display update cycle is a special type of access to the display memory 5 which transfers 256 bits of data between the memory cell array and the shift register within each display memory 5 in the memory system. In graphics applications, the display update cycle occurs during horizontal blanking to load the shift register with a new load of data from the memory cell array.
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.During the subsequent active horizontal scans, the contents of the shift registers within the playback memory 5 are clocked out of the serial output terminals and displayed on the CRT monitor 11. The Video system controller 3 can be programmed to transfer data in the opposite direction, ie from the shift register to the memory cell array, all of which are contained in the display memory 5. This mode of operation is suitable for capturing video images generated externally and then clocked into the shift register through the serial input during the preceding active horizontal scan.
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.The display control registers contain a start display address corresponding to the location within the display memory 5 that is displayed at the top left of the screen. The amount by which the display address is incremented between display update cycles is also programmable. These programmable features include (1) specifying the number of scan lines between successive display update cycles; (2) specifying the direction (read or write) of data transfer; (3) specifying that the horizontal sync Hsync and vertical sync Vsync lines are either inputs or outputs; and selecting either an interlaced or non-interlaced picture. These features are controlled by the values loaded into the control registers and the video timing registers. In the embodiment illustrated by the block diagram of Figure 2, there are two control registers which control the specification of a number of programmable features including the various operating modes supported by the video system controller 3, which have already been mentioned. Each active register can be both written to and read by the microprocessor 1. Also included in this block of registers are the status registers which can be read but not written to.
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.A status register contains three active bits. One of these bits indicates that a certain horizontal scan has been displayed on the screen. The other two Status bits indicate error conditions. One bit indicates that a pending DRAM refresh cycle request has been locked out too long, and the other bit indicates that a pending replay update cycle request has been blocked too long. When enabled, these status conditions cause interrupt requests to be sent to microprocessor 1.
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 konf iguriert 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.The X-Y address register 43 maintains the X-Y addresses, which represent the concatenation of the X and Y coordinates of a location on the graphics screen displayed by the display monitor 5. The video system controller 3 can be configured to generate an internal 20-bit X-Y address instead of the address generated by the microprocessor 1. This feature is useful when extending the address range of some processors. Even if the microprocessor 1 has sufficient address range to directly access every pixel on the screen, hardware updating of the X-Y address between accesses is likely to be more efficient than similar functions performed in the software of the microprocessor 1. The X-Y portion of the address can be independently incremented, decremented or cleared under the control of the input signals CA4-CA1 provided by the microprocessor 1 during each access to the X-Y address register 43. The incrementing takes place following the completion of the access in preparation for the transfer of the next X-Y address to the X-Y address register 43. The X-Y addressing feature of the video system controller allows internal algorithms such as line drawing or character drawing routines to access a row of adjacent pixels on the screen at hardware-assisted speeds.
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.An arbiter 37 is responsible for generating requests for memory and register access cycles. If more than one request is pending, the arbiter is responsible for deciding which request to process based on based on the relative priorities of the completed requests. Since the display update and DRAM refresh cycles generated internally by the video system controller 3 typically use less than 2% of the available memory cycles, the arbiter is likely to grant a request for a memory register access from the microprocessor 1 immediately. However, if a display memory 5 refresh request has been pending for some time, its priority is increased to ensure that the refresh cycle occurs before the memory data is lost. The arbiter holds the microprocessor 1 back by means of the READY/HOLD- signal.
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.A memory cycle generator 35 is responsible for performing the memory cycles assigned to it by the arbiter/ready logic 37. The memory cycle generator controls the multiplexer 49 and generates the timing for control signals and addresses during a memory cycle. The memory cycle generator 35 can perform a direct microprocessor memory access, x-Y addressing, a replay update, a refresh of the replay memory 5 and the system dynamic random access memory (DRAM) 19, a shift register read cycle, and a shift register write cycle.
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, daß der Auffrischadressenzähler 45 die Anzahl von Auffrischzyklen pro Horizontalabtastzeile bestimmt. Das Timing für diesen Transfer ist in Fig. 38 dargestellt.The video system controller may perform refresh cycles for the display memory 5 and the system DRAM 19 at regular intervals. The refresh address counter 45 generates a 9-bit row address output signal during a refresh cycle. This includes the refresh address counter 45 determining the number of refresh cycles per horizontal scan line. The timing for this transfer is shown in Fig. 38.
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 Auf frischzyklen und die Frequenz der Auffrischzyklen werden durch drei Steuerregisterbits innerhalb des Steuerregisters 39C bestimmt.A refresh address register within the refresh address counter 45 is inaccessible to the microprocessor 1, maintains the current row address and is each memory refresh cycle. The enablement of the refresh cycles and the frequency of the refresh cycles are determined by three control register bits within the control register 39C.
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.The CRT controller 57 also includes a 4-bit scan line counter used to count the number of active horizontal scan lines output to the CRT monitor 11 between successive display update cycles. Any number of scan lines from 1 to 16 can be specified. For example, in a system in which each display update cycle transfers enough data to put the video shift register into the display memory 5 for two complete scan lines, a display update cycle is only needed at the beginning of every other scan line.
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 ausgeta steten 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 Wiedergabeaktuahsierungszyklus 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. 38 shows four consecutive scan lines on the CRT monitor 11 and is used to indicate the locations at which various activities of the video system controller 3 take place. Line segments 901A through 901D represent the active portion of each horizontal scan line. Intervals 902A through 902D represent the blanked portion of each horizontal scan line. The microprocessor 1 may request a memory access at any time and the video system controller 3 will then grant the access and perform the memory cycle based on arbitration logic within the VSC (video system controller). At certain times during the raster, two types of cycles are generated by the VSC. During the interval designated 902A, 902B, 902C, 902D, the video system controller 3 performs a display update cycle, also known as a shift register reload cycle. This causes a shift register transfer to take place in the video memories 5, which consists in displaying data on the next scan line. The beginning of the intervals 901A-D represents the end of the horizontal scan interval. At this moment the video system controller begins performing refresh cycles for all memories in the system. Up to point 903A-D on each scan line, memory access cycles requested by the microprocessor 1 are given priority over internally requested refresh cycles. Halfway along the active scan line, designated by 903A-D, refresh cycles are given priority over microprocessor requested cycles. Playback update cycles are always given priority over microprocessor requested cycles.
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.Referring now to Fig. 3, is a circuit diagram of the circuit blocks used to implement the functional blocks of Fig. 2 on a single metal oxide silicon chip with field effect transistors.
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.The system 53 includes the memory cycle generator 35, registers 39A which are part of the internal control and video registers 39 of Fig. 2, the multiplexer 49, the refresh counter 45 and the arbiter/ready logic 37. A video block 57 completes the functions of both the CRT controller 51 and the internal video registers 39C. The XY logic block 43 corresponds to the XY registers 43 of Fig. 2. The FS decode logic 63 includes not only the row and column address latches 41 and 47, but also the function select decode logic which decodes the function select input signals FS (2-0). The CA decode logic 55, which is part of the internal control and video registers 39 of Fig. 2, contains the decode circuits associated with the line address latch 41. The remainder of the control registers are contained in the control register block 39C of Fig. 3, and input terminals 59 and a data status 61 contain the input logic for receiving data from the microprocessor 1 of Fig. 2 and for providing the status to the microprocessor 1 of Fig. 1 as well as providing the control signals necessary to effect bidirectional data transfer between the microprocessor 1 and the display memory 5 and the System DRAM 19 are required.
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 VIDEOSYSTEM STEUEREINRICHTUNG 3 Table 1 provides a definition for the symbols used in Fig. 3 to describe the various signals shown in the figure. TABLE 1 INPUT/OUTPUT CONNECTIONS FOR THE VIDEO SYSTEM CONTROLLER 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 Reihenadressenaus wahl-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.In Fig. 4, the system 53 contains the logic to implement the memory cycle generator 35. This is divided into several logic components that include the row address selection RAS, a decoding logic 65, the a row address select operation, and memory terminals 69 which control the loading of data through memory generated by a memory cycle generator 67; the memory cycle 67 generates the memory cycle transfers to handle the data transfer between the microprocessor 1 and the display memory 5 or the system DRAM 19; and a controller 71 generates the internal control signals used by the video system controller 3. Also included in the system block diagram is the arbiter/ready logic 37, as well as the refresh address counter 45 which is part of the system block diagram 53.
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. 5 is a circuit diagram of the video block 57 of Fig. 3 and includes the CRT controller 51 which includes the CRT logic 73 which generates the CRT signal such as both horizontal and vertical blanking and synchronization and supplies these signals to the video terminals 75 which convert these signals into signals whose voltage and current levels the CRT monitor 11 can accept. As previously discussed, in the preferred embodiment the display memory 5 has built in shift registers into which the microprocessor 1 can write directly. Control of the data transfer to the shift register is provided by the SR logic 79 which is part of the video block 57.
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. 6 is a circuit diagram of the DA-ST block 61 of Fig. 3. It contains data terminals for receiving the data and converting it into logic levels that the video system controller 3 can accept. In addition, as part of the interface connection to the microprocessor 1, the status of the playback memory 5 and the system memory 19 is generated by a status block 81 of Fig. 6.
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.Referring now to Fig. 7, is a circuit diagram of the CRT block 73 of Fig. 5. The CRT block includes the vertical control logic 97, the horizontal control logic 95, a horizontal counter 93, and a vertical counter 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 ausgewählt, indem die Funktionswahl-Eingangssignale Fs2-FS0 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 verwendetIn addition, there are 9 programmable registers which the microprocessor 1 can both write and read via an 8-bit data port 18 provided by the DA-ST block 61 to the video block 57. Each register in the embodiment shown in Fig. 7 is 12 bits wide. The microprocessor 1 accesses both the programmable registers within the CRT block 73 and other areas of the video system controller 3 by means of special read and write cycles. A register access cycle is selected by setting the function select input signals Fs2-FS0 to one of two 3-bit codes, either 000 or 010. If there are 18 programmable registers in the video system controller 3 and only 9 in the CRT block 73, the information described here is applicable to all 18 programmable registers. One of the 18 registers is selected by a 5-bit register address input to column address input CA6-CA2. Binary codes 00000 through 10001 are addresses of valid registers. Codes 10010 through 11111 are reserved. The high or low byte of the register is selected by the value entered at CA1. If CA1 is zero, the low byte is selected; otherwise, the high byte is selected. In Fig. 7, the logic represented by CRT block 73 generates the horizontal sync, vertical sync, and blanking output signals needed to control CRT monitor 11. These signals are output linearly to HSYNC-VSYNC-BLANK. The video system controller can be programmed to generate synchronization and blanking signals appropriate for the particular CRT monitor 11 and a screen resolution selected for the desired application. In addition, the video system controller 3 can be programmed to interrupt the microprocessor 1 at the end of any horizontal scan line by driving an interrupt signal INT- to its active-low level through control of the INTV signal present on line 23. These signals are programmed by means of the parameters entered into the 9 Registers of the CRT block 73 are loaded. These registers include the horizontal end synchronization registers 89, HESYNC; horizontal end blanking register 87, HEBLNK; horizontal start blanking register 85, HSBLNK; horizontal total 91, HTOTAL; vertical end synchronization register 109, VESYNC; vertical end blanking register 103, VEBLNK; vertical start blanking register 105, VSBLNK; vertical total 101, VTOTAL; and vertical interrupt register 107, VINT. The two additional registers, the horizontal counter 93 and the vertical counter 95, are used in the generation of the video timing signals.
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.The horizontal counter 93 is a counter whose contents are compared with the horizontal desync register 89, the horizontal end blanking register 85, the horizontal start blanking register 85 and the horizontal sum register 91 to determine the boundaries of the horizontal sync and blanking intervals. Similarly, the vertical counter 99 is a counter whose contents are compared with the vertical desync register 109, the vertical end blanking register 103, the vertical start blanking register 105 and the vertical sum register 101 to determine the boundaries of the vertical sync and blanking intervals. The contents of the vertical interrupt register 107 are compared with the vertical counter 99 to determine when a particular scan line is output to the CRT monitor 11. The microprocessor 1 may be interrupted when this condition is detected.
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:In performing a function as the controller for the playback memory 5 and the system DRAM 19, the playback update controller, and the timing controller of the CRT monitor 11, the video system controller 3 must perform several types of access cycles. Some of these types of cycles are initiated by the microprocessor 1, while others are automatically initiated by the video system controller. The memory cycle generator 35 performs most of the access cycles. And in particular, the cycle generator 67, shown in Fig. 8, performs the following cycles:
direkte Zyklen, die durch den Mikroprozessor 1 eingeleitet werden;direct cycles initiated by microprocessor 1 ;
einen indirekten Zyklus des x-Y-Registers 43, der ebenfalls durch den Mikroprozessor 1 eingeleitet wird;an indirect cycle of the x-Y register 43, which is also initiated by the microprocessor 1;
Auffrischzyklen des Wiedergabespeichers 5 und des System- DRAMs 19, die automatisch durch die Videosystem-Steuereinrichtung 3 eingeleitet werden;Refresh cycles of the playback memory 5 and the system DRAM 19, which are automatically initiated by the video system controller 3;
einen Wiedergabeaktualisierungszyklus, der automatisch durch die Videosystem-Steuereinrichtung eingeleitet wird;a playback update cycle automatically initiated by the video system controller;
und Schieberegistertransferzyklen, die das Schieberegister- Schreiben und Schieberegister-Lesen zum Transferieren von Daten zu und von dem Schieberegister innerhalb des Wiedergabespeichers 5 umfassen.and shift register transfer cycles including shift register writing and shift register reading for transferring data to and from the shift register within the playback memory 5.
Die Steuerschaltung 71 wickelt die Anforderungen für alle internen Zyklen einschließlich der Wiedergabeaktuahsierungszyklen 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.The control circuit 71 handles the requests for all internal cycles including the CRT monitor display update cycles and the memories 5 and 19 refresh cycles. The horizontal blanking signal tells the control logic 71 the location of the raster on the CRT for the display update or refresh request. This request is transferred to the cycle generator 67 to execute the display update cycle or the refresh update cycle.
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.Fig. 8 is a schematic diagram of the control block 71 and includes two synchronization circuits 111 and 113. The synchronization circuit 111 synchronizes the horizontal blanking signal with the internal clock used to control the logic within the system block 53. The CRT monitor 11 uses a different clock system than the system 53, and as a result, the horizontal blanking signal and the horizontal stop blanking signal supplied to the system 53 from the video block 57 use a different clock which must be synchronized with the internal clock used to operate the controller 71. In addition, the controller 71 includes a Mealy model state machine consisting of a plurality of programmable logic devices 115 and an OR gate 117 and a latch circuit 119. Each output of each stage in the embodiment of Fig. 9, in which there are four stages 121, 123, 125 and 127, is supplied to column lines A, B, C and D, the complements of which are supplied to column lines XA, XB, XC and XD. Additional controls are provided to the programmable logic devices 115 in the row lines on data lines 129. The Mealy state machine also includes a PLA 133 and decode logic 135 at point 131. The output of the control circuit is provided to cycle generator 67 via data bus 137, to ready/hold logic via data line 139, and to data status block 61 via data bus 141. A unique feature of the control logic is that the state machine is designed for "N" channel metal oxide silicon field effect transistor logic circuits which use a standard cell which is repeated many times and which is programmed using a transistor 143 which determines the operation of the state machine used to implement control block 71.
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öglichenThe logic gates 117 are implemented with a plurality of input conductors 217. These conductors may be connected to a large number of outputs from the programmable logic device 115, shown at 219, or to a minimum number of inputs to the NOR gate 117, as shown at 221, or to just a single line with all of the inputs of the NOR gate connected together, as shown at 223, to enable the implementation of a standard cell NOR gate.
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-Auswahl leitungen, 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 Einstelifreigabe für das XY-Register 43 und steht auf der Datenleitung 195 an.The arbiter and ready/hold logic 37 is operatively based on the cycle generator 67 in which logic circuits 151 of Fig. 8 determine the priority of operation as to whether it is internal or external to the video system controller 3. EXT signals and complementary XEXT signals based on the ALE signal represent a request from the microprocessor 1 for a memory access cycle. ALE is latched up to the cycle generator by latch 153. In addition, circuit 155 provides buffering for the internal cycle request XINT. The cycle generator 67 includes a Moore model state machine consisting of a first stage 161, a second stage 165, a third stage 167, a fourth stage 169, a fifth stage 171, a sixth stage 173, and a seventh stage 175. Each stage includes a PLA 115, an OR gate 117 and a latch circuit 119, with the output of each stage being applied to row lines A through G and the complementary signal being applied to lines XA through XG. The output signals are also decoded by logic 177 which includes a PLA 179 and decode logic 181. Logic 177 provides an indication on data bus 183 that an external cycle is in progress and at 185 that an internal cycle is in progress. The W conductor indicates a write operation in which TRQE provides the enable to the shift register and the output enable of memories 5 and 19. REFINC provides the increment refresh to refresh logic 45 and REF2HR provides a transfer from the refresh counter to the refresh hold register included in the refresh logic of refresh block 45 of Figure 4. Data lines or outputs 185 are the controls for the address selects of the multiplexer 49 and generate SRRASEL which is a playback update row address selection. RACASEL are the row address, column address select lines used for playback update and refresh cycles. XYRASEL are the XY row address select lines, XYCASEL are the XY column address select lines and EXTCASEL are the external column address select lines. If none of these are active, then row address (RA) 21d is selected. Lines 187 provide the internal column address enable ICASEN and the external column address enable ECASEN. A row address enable RASEN is provided on data line 189. Data lines 191 select the source for the RAS decode logic 65 which includes the XY cycle XYCCL, the shift register cycle SRCCL and the refresh cycle REFCCL. In addition, line 193 is the completion line which indicates that an internal operation cycle has ended and the signal XYGO is the set enable for the XY register 43 and is present on data line 195.
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 183 dargestellt 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.Referring now to Fig. 10, there is shown a block diagram of the row address select decode circuitry represented by block 65 entitled "RAS Decode." The row address select override circuitry creates a mode of operation that allows data to be written to memory N times faster than without this mode. N is the number of memory planes within the system. For example, the playback memory 5 of Fig. 2 is configured in one embodiment to have four memory planes. For the video system control circuitry 3, four row address select planes are supported in the embodiment of Fig. 10. One embodiment is to label each of the four planes shown in Fig. 10 in areas 177, 179, 181 and 183. Writing to one plane produces an image in a primary color. Writing the same data to two planes produces a mixed color. Using the load address selection override feature allows one to write to both planes simultaneously. To do this, the RAS override bits in the control grid included in block 39C of Figure 3 are loaded with the binary value of the color. When one plane is written to using this feature, the other planes are also selected. The override feature Row address selection is also applied to shift register transfers. These shift registers are of course located within the display memory 5. This feature allows the screen of the CRT monitor 11 to be cleared four times faster since all four row address selection levels can be transferred in a single cycle. Prior to this invention, data was written to a memory bank or level in a single memory cycle. Drawing an object requires writing to each code or level individually.
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 163 die 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 47 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 186 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.The row address override logic is controlled by four bits programmed and stored in control register 39C by microprocessor 1 which selects which row address select output bit is forced active during the memory access cycle. These four bits are RASOR(3-0). These four bits are linked to the function decode and R/W- signals to prevent memory read collisions. The row address override feature is enabled only for the following types of memory cycles: a microprocessor 1 random access write cycle, a microprocessor 1 requested shift register to memory transfer, and a microprocessor 1 requested memory to shift register transfer. The four linked bits are then linked to the row select zero and row select one bits to establish the row address select output selection. In Fig. 10, the row address select enable bit is brought from the cycle generator 67 to the row select decode logic and is represented by RASEN. This bit enables the four bits from the control registers previously counted by the OR logic 164 to the XRAS(3-0) outputs. In addition, NOR gates 162 and 163 decode the function being performed, be it the row address select from the function select decode circuit represented by RSA, the XXY from the XY register 43 indicating where the data is being written into memory, a shift register row address select SSRRAS from video block 47 and the extended control register row address select bits generated by control register 39C and represented by signal CRRAS. These signals are multiplexed by logic 161 and NOR gates 162 and 163 in conjunction with the appropriate cycle being performed, with their shift register cycle represented by signal SRCCL, a refresh cycle represented by signal REFCCL and an XY cycle represented by signal XYCCL. These signals, of course, originate from cycle generator 67 of Fig. 4 and are combined by logic gates 186, in addition to signal EHAE brought by control register block 39C. Decode block 63 generates the function select shift register signal represented by symbol FSSR and the RWB signal in which the four row select output bits are combined by logic gates 187. The function selection and read/W- signals are combined using the NOR gate 189.
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-Re ihenadressenausgangsauswahl-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. 11b 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 Abtastwegs, der alles sonstige in zugänglichen Speicherknoten innerhalb der VSC 3 seriell verbindet, und die während eines Tests der Einrichtung verwendet wird.11a and 11b are schematic diagrams of the multiplexer 49 which outputs the memory address to the memories 5 and 19. As discussed in connection with FIG. 2, the multiplexer 49 selects either the output from the row address latch 47, the refresh address counter 45, the XY address register 43 or the column address latch 61. These input signals are brought into the multiplexer 49 as signals XCAB which is the input from the column address latch 41 and XRAB which is the input from the row address latch 47, both of which are part of the FS decode block 63 of Fig. 3, the XXY signal which is the input from the XY register 43 of Fig. 3, the XSRRA which is the shift register row address which is part of the video block 47, and the XRACA which is the output of the refresh block 45 and the video block 57. The multiplexer in the embodiment shown includes 7 stages 250 in which the aforementioned signals are selected via pass transistors 251. and the output terminals 253. The cycle generator 67 provides the selection for each of the functions. EXTCASEL provides the column select, XYRASEL provides the XY row select function, XYCASEL is the column select of the XY register 43, SRRASEL is the shift register row address output select enable, and RACASEL is the refresh row address and shift register column address select enable. The OR combination of all of these functions provides a signal designated EXTRASEL which connects the RA address bus 21d to the output of the multiplexer 49 at the output terminal 25. The output terminal is a 9-bit terminal and the remaining two bits are represented in Fig. 11b by circuits 255 and 257. In addition, test logic for testing the VSC 3 is provided in area 261 and is enabled by the SCANOUTS signal which is brought into the multiplexer 49 from the cycle generator 67 at location 263 and by the video blanking signal SCANOUTV which is the output of the video block 57 which is fed to the multiplexer at 265. These two signals are the circuit of a scan path which serially connects everything else in accessible storage nodes within the VSC 3 and which is used during a test of the device.
Die Speicheranschlüsse 69 liefern, wie in Fig. 12 gezeigt, die Steuersignale zum Schreiben in den Wiedergabespeicher 5, dessen Ausgangssignale das Schreibkommando 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.The memory terminals 69, as shown in Fig. 12, provide the control signals for writing to the playback memory 5, whose outputs are the write command XW, the TRQE command and the two column address strobe signals XCASHI and XCASLO. The high and low column address enable signals provided by the input terminals 59 are combined by ICASEN and ECASEN, both of which are generated by the cycle generator 67 at outputs XCASHI and XCASLO.
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 237 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.The video system controller 3 is configured to perform refresh cycles for the playback memory 5 at regular intervals. The refresh counters (Fig. 13) contained in the refresh address counter 45 generate a 9-bit row address output during refresh cycles. A refresh data block counter, which is not accessible to microprocessor 1, determines the number of refresh cycles per horizontal scan line. A refresh address register, also not accessible to microprocessor 1, maintains the current row address and is incremented following each refresh cycle. The enabling of refresh cycles and the frequency of refresh cycles are determined by three control register bits within video system controller 3. Eight of the nine-bit row addresses are provided by circuit 237 of Fig. 13A, which includes a refresh counter block 270 and a holding register 271. Upon command from the cycle generator via the SRCCL signal, counter 270 is enabled to multiplexer 49 via bus XRACA, which connects refresh address counter 45 to the multiplexer. Fig. 13B provides the remaining counter status 279 associated with counter 270. A Mealy model state machine shown at 275 in Fig. 13C, which as previously mentioned is not accessible to the host computer, determines the number of refresh cycles per horizontal scan line that will be performed. Its output signal REFRQ is provided to control logic 71 and indicates that additional refresh cycles must be performed during the current scan line.
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.The refresh address register 270 maintains the current row address and is incremented following each refresh cycle for the playback memory 5 and the system memory 19. The cycle generator 67 performs the arbitration to determine the priorities of the memory cycles to be established.
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 abläuft 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.The Ready/Hold logic 37 (Fig. 14) provides the READY/HOLD signal which informs the microprocessor of the current status of the cycle generator 67. Several operating modes are available, programmed using the control register bits RHMODE (1-0) and RH(2-0). These Modes are READY, WAIT and HOLDMODE. In the ready mode, microprocessor 1 programs a certain number of wait states desired during a microprocessor-initiated cycle by loading RH(2-0). When the cycle requested by microprocessor 1 begins, circuits 293 provide a timing sequence which, when complete, informs the host that the cycle is complete by asserting the READY/HOLD output signal. If an internal cycle is in progress or a cycle previously requested by the microprocessor is still in progress when microprocessor 1 requests another cycle, then the previous cycle must complete. The wait mode does not include a programmable wait state, but simply informs the microprocessor that its cycle has been started by asserting the READY/HOLD output signal. When the ready/hold logic is programmed to be in the hold mode, the VSC 3 must issue a request for the microprocessor 1 to "hold" because it is time for the VSC 3 to perform a refresh cycle or a shift register reload cycle. The microprocessor acknowledges the hold request by producing a logic zero level at the XHOLDBACK input. When programmed to be in either the ready or hold mode, the active logic level of the READY/HOLD output signal during a reset is programmable by the state of the XHOLDBACK input signal. This concludes the discussion of the system block of Fig. 3 and the associated circuits shown in Figs. 4 through 14.
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.The video block 57 (Fig. 15) is used to generate the horizontal synchronization HSYNC, vertical synchronization VSYNC and blanking signals used in a dot pattern graphics system to drive the CRT monitor 11. These signals are synchronous to the video input clock 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 angeschlossen, 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 Horizonalsynchronisations intervalls erhöht.The signals output at the HSYNC-, VSYNC- and VLANK- connectors are transmitted through eight Video timing registers. The illustrated vertical control logic 97 includes several state machine cells 301 which are a PLA 115, a logic gate 117 and a latch 119. The standard cells 301 of the state machine are connected in a counter figure configuration as shown in Figure 15 and provide a sequence of logic signals which select the vertical counter. When the counter reaches the value in the selected timing register, the vertical control state machine advances to the next timing register. The vertical counter register 99 counts the horizontal lines in the video displays and serves as a timing basis for setting the boundaries of the vertical sync and blanking intervals. The contents of the vertical counters are compared with the values in the vertical timing registers to separate the vertical sync and blanking intervals. The count is incremented at the beginning of each horizontal sync interval, with one exception.
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.This exception is that during the vertical front porch and sync intervals of an old field in an interlaced field, the vertical counter increment occurs in the middle where the count and horizontal counter 95 are equal to half the value in horizontal total register 91. Vertical counter 97 is reset to zero upon reaching the value in vertical total register 101 on the next edge of Vid 1k after a high-low transition on an active reset signal forces the vertical counter to zero. This interval can be read by microprocessor 1 during the intervals between increments, but it cannot be written to it. Normally, multiple read cycles are used to access vertical counter 97. Two consecutive reads returning the same data information indicate that microprocessor 1's access is in an interval between increments.
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. 16 is a schematic diagram of the vertical counter 99 and provides two counter stages 303 and 305. The first counter stage 305 provides 8 bits of data and is repeated eight times, and the second stage 303 provides 4 bits of data so that there is a maximum of 12 bits stored in the vertical counter.
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. 17 is a schematic diagram of the horizontal control circuit 95 in which the control signals for controlling the horizontal registers 85, 87, 89, 91 and 93 are generated.
Fig. 18 ist eine Prinzipskizze des Horizontalzählers 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 Horizontalzähler 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 konf iguriert 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 Synchronisationsimpulse verarbeiten. Ein aktives Signal RESET- zwingt den Horizontalzähler 93 nach Null. Auf diesen Zähler kann auch nicht der Mikroprozessor 1 zugreifen.Fig. 18 is a schematic diagram of the horizontal counter 93. The horizontal counter is a 12-bit counter divided into two stages 307 and 309, with 307 providing the first eight bits 0-7 and 309 providing the remaining four bits 8-11. The horizontal counter 93 is incremented on the falling edge of VIDCLK and serves as a timing basis for setting the boundaries of the horizontal sync and blanking intervals. The value of the horizontal counter is compared with the value of the four other horizontal timing registers to produce the HYSYNC- and BLANK- output signals. When the horizontal counter 93 reaches the value in the horizontal total registers 91, it is reset to zero by circuit 311. When the video system controller is configured in the external sync mode, HYSNC- is an input signal and the horizontal counter is forced to zero as a delay from the falling edge of HYNC-. The vertical counter is reset in a similar manner to activate the YSYNC- input signal. The external sync mode allows the VSC 3 to "sync up" to an external video source. This allows multiple video sources to be displayed simultaneously on the same monitor. The external sync mode is enabled by writing the EXTSYNCEN bit to control register 39C. Fig. 38 shows the latching and sync circuits that process the incoming sync pulses. An active signal RESET- forces the horizontal counter 93 to zero. Microprocessor 1 cannot access this counter either.
Die übrigen Register von Fig. 7 sind in Fig. 19 dargestellt, die eine Prinzipskizze des Basisregisterblocks 313 ist.The remaining registers of Fig. 7 are shown in Fig. 19, which is a schematic diagram of the base register block 313.
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.Another function of the video block 57 includes the data block SR. SR stands for shift registers contained in the display memory 5. A shift register read or write cycle is an access initiated by the microprocessor 1. Shift register cycles are specifically enabled for the purpose of transferring data between the cell arrays of the display memory 5 and the shift registers within the display memory 5. Display update cycles are automatically initiated in the video system controller 3. Shift register cycles may also be initiated under the express control of the microprocessor 1. Fig. 20 is a schematic diagram of the SR data control circuit contained in the video block 57. The direction of data transfer is determined by the status of the control bit SRW in the control register 1. A shift register transfer cycle can be initiated either by the VSC 3 (play update) or by the microprocessor, the type of cycle desired being determined by the function selection code entered on lines FS0-FS2. The function selection code of binary zero indicates a register access cycle, binary #1 an indirect XY cycle, binary 2 a register access cycle, binary 3 a direct microprocessor cycle, binary 4 a shift register to memory cycle, and binary 5 a shift register from memory to shift register; 6 and 7 are unused or reserved for special functions such as a test mode. A shift register write cycle transfers the contents of the shift register within the play memory 5 to the particular specified row within the single chip memory cell array, and a shift register read cycle transfers the contents of a specified row within the memory cell arrangement to the shift register.
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-Adressenzählers. 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-Aktualisierungszyklus, 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.Figure 20A shows the generation of the shift register address control logic that provides the memory address to the display memory 5 during display update cycles requested by the VSC 3. Figure 20B is a 4-bit control that counts up to the value specified by the control bits PLC(3-0) of the control register 381. The status of this count determines the period of the shift register reload (display update) cycles and can vary from once per horizontal scan line to once every sixteen scan lines. Figures 20C, 20D and 20E show the logic of the 12-bit shift register address counter. The least significant four bits shown in Figure 20C comprise a full adder that allows the shift register address to be incremented. In normal operation, by 1, 2, 4, or 8. The least significant two bits of this address specify the tap point that is selected on the external playback memory 5. The next most significant eight bits are passed to the memory address output terminals and represent the row address select bits. The last two most significant bits of this counter represent the row address select control bits. These bits are decoded to one of four active row address selects (RAS (3-0)) during a shift register update cycle when the VSC 3 is in the extended host address enable mode, which is programmed by setting the EHAE bit in control register 381. If this bit is inactive, then all RAS output signals become active during a shift register update cycle.
Wie zuvor errtert 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 FSO-2, das Reihenauswahlsignal RSO-1 plus die Spaltenadresse am Datenbus 21C und die Reihenadresse am Datenbus 21R als auch das CS-Signal, das in die FS-Decodierungsschaltung 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.As previously discussed, the FS decode circuit decodes the functions to be performed by the video system controller based on the binary value of the three function select decode signals applied thereto. The schematic diagram of the FS decode block 63 is provided in Fig. 21. The FS decode logic 63 is shown in Fig. 21 and receives from the microprocessor 1, both the control signals FSO-2, the row select signal RSO-1 plus the column address on data bus 21C and the row address on data bus 21R, and the CS signal which is fed into the FS decode circuit. In addition, a reset signal is provided from the input terminal block 59, as well as the ALE signal and the NOLATCH (no latch) signal coming from the control registers. It provides the row address, the column address and the complements thereof as well as decoding the function select input signals. The various functions are decoded by the PLA 331 and correspond to the functions previously identified. For any function select decoding to be active, the chip select input signal (XCS) must be active. In addition, circuitry 333 and 335 provides scan and test mode generation. Line drivers 334 are used to drive the row address signals and the column address signals.
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.Column address decoder 55 receives the read/write command in the form of RWB, the low order byte of the column address enable in the form of XCEL, the column addresses in the form of CAB, and the internal register access function select signal in the form of FSINT. The output of the column address decode circuit is a clear command which is decoded by decode circuit 341, which is used as an input to status block 61 and is used to clear the four most significant bits of the data bus when a 12-bit internal register is read. Figures 22B through 22E show the logic that completes the decoding of the column address during internal register accesses. These outputs select which of the internal registers is accessed or loaded.
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 repräsentiert, 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 0 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.Fig. 22 is a schematic diagram of the XY register 43. The XY register 43 is used during an indirect cycle in which the microprocessor 1 indirectly accesses a word in the display memory 5, the preferred embodiment of which is DRAM, dynamic random access memory. The contents of XY register 341 represent the concatenation of the XY coordinates of a word containing one or more pixels on the screen. The X coordinate is represented by the least significant bits of the address, and the Y coordinate is represented by the most significant bits of the word address. The location of the boundary between the X and Y coordinates of the address is programmable. Both X and Y increase as they shift from the least significant bit to the most significant bit in register 341. The X and Y displacements at the origin, which is generally located in the upper left corner of the screen of CRT monitor 11, are both 0 only in the special case that the pixels displayed in the upper left corner of the screen are in the word location at memory address 0. When manipulating the X and Y addresses by the video system controller 3, the non-zero distance of the upper left corner of the screen from the start of the memory must be compensated.
Das Leistungsvermögen des X-Y-Registers 43 ist insbesondere in Anwendungen nützlich, in denen der lineare Adressierungsbereich des Mikroprozessors 1 zubegrenzt ist, um leicht Zugriff auf alle Pixel innerhalb des aktiven Wiedergabebereichs zu ermoglichen. Ein Lese- oder Schreibzyklus, der den Inhalt des X-Y-Registers 43 verwendet, wird als indirekter X-Y-Zyklus bezeichnet.The capability of the X-Y register 43 is particularly useful in applications where the linear addressing range of the microprocessor 1 is limited to allow easy access to all pixels within the active display area. A read or write cycle using the contents of the X-Y register 43 is referred to as an indirect X-Y cycle.
Während eines indirekten X-Y-Zyklus wird der Inhalt des X- und Y-Registers 43 anstelle der Reihen- und Spaltenadresse verwendet, die am RA8-RA0-Datenbus 21R und am CA8-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 0 ist, gibt es keine Einstellung, gleich 1: erhöhe X; gleich 2: erniedrige X; gleich 3: lösche X; gleich 4: erhöhe 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.During an indirect XY cycle, the contents of the X and Y registers 43 are used in place of the row and column address present on the RA8-RA0 data bus 21R and the CA8-CA0 data bus 21C. The 4-bit code entered on CA4-CA1 during an indirect XY cycle determines the manner in which the contents of the XY address register 43 are updated following the completion of the indirect XY cycle. If the binary value of these four bits is equal to 0, there is no adjustment, equal to 1: increment X; equal to 2: decrement X; equal to 3: delete X; equal to 4: increase Y; equal to 5: increase X, increase Y; equal to 6: decrement X, increase Y; equal to 7: delete X, increase Y; equal to 8: decrement Y; equal to 9: increase X, decrement Y; equal to 10: decrement X, decrement Y; equal to 11: delete X, decrement Y; equal to 12: delete Y; equal to 13: increase X, delete Y; equal to 14: decrement X, delete Y; equal to 15: delete X, delete 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.The address adjustments discussed above are performed automatically by the X-Y register 43 during the execution of each indirect X-Y cycle. This mechanism allows convenient access to any sequence of adjacent pixels without the hassle of loading new values into the X-Y address register before each access. As a result, the video system controller is able to perform step-by-step graphics operations, such as drawing lines, filling polygons, and generating utility characters, at hardware-assisted speeds.
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 niedrigstwertige 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.The XY address register 341 is a 20-bit register consisting of two parts. The register includes the XY address register 341 and parts of an offset register 342 shown in Fig. 22B. The offset register 342 contains two accessible bits accessible to the microprocessor 1 designated as bit 11 and bit 10. These two bits are not affected by the XY set code entered at data bit CR4-CR1. The second part consists of the remaining 18 bits consisting of 16 bits contained in the XY register 43 accessible to the microprocessor 1 and two groups of 2-bit registers concatenated therewith as two most significant or least significant bits depending on the status at B7 of the control register 39C. One of these two-bit registers is enabled. The 16 bits contained in address register 341 are divided into two sections. The Y coordinates are the most significant bit portion of register 341, and the least significant portion forms part of the X coordinate. The boundary between the X and Y portions is programmable. The XYLRAS signal is provided by control register 39C and when it is at a logic 1, a 2-bit register is chained to the XY register at the MSB. This occurs at 351. These two additional most significant bits and the Y portion of 353 of the XY address register 341 form the Y coordinates. Similarly, a logic 0 on XYLRAS, which comes from control register 39C, enables the two least significant bits 355. The two least significant bits 355 and the X portion 357 of the XY address register form the X coordinates. These 18 bits in the XY register 341 are linked so that its carries or borrows from the most significant bit of the X coordinate are transferred to the least significant bit of the Y coordinate only when the Y coordinate itself is not explicitly set. Upon resetting the contents of the control register 39C, the XYLRAS signal returns to or is forced as a logic zero. Either the X or Y section of the X address register 341 then transfers the contents of bits 8 and 9 of the XY offset register 342 to either the least significant bits 355 of the X coordinate or the most significant bits 351 of the Y coordinate of the XY address register 341, regardless of the status of the XYLRAS signal. A read in the XY offset register 342 always returns the current value of the X or Y enable extension bits, bits 8 and 9 of the offset register 342, in data bits D₁-D₀, but not the value stored in bits 8 and 9.
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.To ensure correct operation, the XY offset register 342 is always loaded before loading the XY address register. This is necessary to allow the two extension bits, bits 8 and 9, to be loaded correctly. These extension bits are used to determine which of the four row address strobe signals REAS3-REAS0 is active during the indirect XY cycle. Bits 8 and 9 are used to provide the four active strobe signals, which is used in the RAS decode logic 5 is carried out.
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 Graphikspeicherkonfigurationen 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.The XY register 341 contains 16 bits accessible to the microprocessor 1 that become part of the 20-bit XY address register output. The boundary between the XY portion of this register is programmable to accommodate the needs of various graphics memory configurations. The X portion is determinable to occupy any of 2 to 9 of the least significant bits of the register. The remaining bits form part of the Y portion. The eight possible boundary conditions between the X and Y positions of this register are shown in Fig. 26A and B.
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.The XY offset register 342 determines the boundaries between the X and Y portions of the XY address register 341 and contains initial values of the 2 RAS select bits and bits 8 and 9 located at 357 and 359. The eight least significant bits of the XY offset registers located at 361 and 363 specify the boundaries between the X and Y portions of the address contained in the X and Y register 341, as indicated in Figures 26A and B.
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.Bits 8 and 9 of the two offset registers store the initial values that are loaded into the X and Y address extension bits by microprocessor 1 during an initiated write cycle to either the X portion 353 or the Y portion 357 of the XY register 341. These two bits are not affected by the setup code entered to CA4-CA1 during an indirect XY cycle. Accordingly, only the XY address transfer and extension bits are changed. A read of the XY offset register 342 returns the current value of the XY address extension bits to the XY offset register 342 instead of the initial value of the two bits 8 and 9.
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.A bit 11 at 363 is the MA8 output during the row address times, and bit 10 located at 365 is the MA8 output during the column address times.
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.These two bits are also not affected by increments or decrements of the XY address pointer. Any bit in the X-Y address register shown as unused in Figure 26A is read as a 0.
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.Microprocessor 1 initiates an indirect XY cycle by setting inputs FS2-FS0 to function code 001. Replay memory 5 is then either read or written as specified by line R/W-. The contents of XY address register 341 can be set after each indirect XY cycle to point to the adjacent word to be accessed during the next indirect XY cycles. Fifteen different settings are possible for XY address register 43. These settings are selected by the inputs to CA4-CA1 during an indirect XY cycle, as discussed earlier. This specified setting is made during the current XY cycle in anticipation of the next indirect X-Y cycle.
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 MA8-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. 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.The 20-bit XY address consists of the sixteen bits of the XY address register 341 accessible to the microprocessor 1, and the two RAS select bits plus the two MA8 bits located in the XY offset register 342. The two RAS select bits cannot be directly accessed by the microprocessor 1; however, it can cause them to be loaded from bits 8 and 9 of the XY offset register. The 20-bit X-Y address points to a word within the display memory 5 containing one or more pixels, the number of pixels being determined by the width of the microprocessor 1 data path and the number of bits per pixel. The boundary between the X and Y portions of the address is programmable to accommodate a variety of memory configurations, as will be discussed later.
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 MA8 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.During an XY access of the playback memory 5, the video system controller uses the address contained in the address register 341 instead of the Address supplied externally to the RA8-RA0 data bus 21R and the CA8-CA0 data bus 21C. The eight most significant bits of the sixteen bits contained in the XY address register are output as MA0 through MA7 as the row address on data bus 25, and the eight least significant bits are output on data bus 25 as MA0 through MA7 as a column address. Bits 10 and 11 of the XY offset register 342 are also multiplexed on MA8 as row and column addresses. The two RAS select bits, which are not accessible to microprocessor 1, are used in place of the RS1-RS0 input signals to determine which of the four row address strobe signals RAS3-RAS0 becomes active during the cycle.
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.The XY addressing is flexible to allow the programmer to customize the X and Y screen dimensions to suit his application. The X portion of the address can occupy the lower two to nine bits of the XY address register, while the Y portion occupies the remainder of the XY address register. The RAS select bits are chained to either the X or Y portion according to the state of the XYLRAS signal.
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. 27A is a schematic background of the control registers 39C. The video system controller includes two directly accessible control registers 371 and 373. The functions controlled by these registers include the behavior of the interface signals between the microprocessor 1 and the video system controller 3, the timing of the playback update cycles, the enablement of interrupt refreshes, the frequency of DRAM refresh cycles, and the generation of video timing functions. The control registers 371 and 372 are both 16-bit registers. Each can be read and written by the microprocessor 1. The individual bits within these registers have associated functions shown in Table 2. Fig. 27A shows the logic of three synchronization circuits 375, 377, and 379. The three synchronization circuits are used to contents of control register 381 to output holding register 383 of control register 371. The reason for this is that microprocessor 1 writes to the control registers during execution of a function by the video system controller. To avoid glitches and interruptions, data is loaded into control registers 381 and then transferred to output holding registers 383 via transfer signals TRAN 1, TRAN 2 and TRAN 3. Two reset signals are used to initialize the transfer signals which include VRESET and SRESET. The horizontal start blanking signal is applied to synchronization circuit 375 to generate signal TRAN 1. When microprocessor 1 writes to control register 381, TRAN 1 prevents VSC 3 from changing mode of operation until the horizontal start blanking signal becomes valid. This occurs halfway across the horizontal scan line. Fig. 27C shows the control register 373 and the functions associated with it. Figs. 28 and 29 are schematic diagrams of the CRB registers used to set up the control registers 381 and 373.
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.Fig. 30 is a schematic diagram of the INPUT/PORTS block 59 and provides the logic for receiving the control signals from the microprocessor 1 on the data bus 23 and buffering the signals for supply to the video system controller 3. A circuit 400 synchronizes the system reset and video reset signals so that they are synchronized with the correct clocks. This is of course done by using delay circuits 401, 403 and 405 to ensure that the video reset is synchronized with this clock, which are phase 3 and phase 1 signals or sub-multiples of the video clock, and that the system reset is synchronized with this clock by synchronizers 407, 408 and 409. The remaining circuits are essentially buffered and amplified for connection to the video system controller.
Der Datenstatus-Block 61 enthält die Statusregister 81 und die Datenanschlüsse 83.The data status block 61 contains the status registers 81 and the data ports 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. 31 is a schematic diagram of the data terminals 83 in which buffering and amplification are provided to drive the signals present on the data bus 17 to the XY register 43, the column address register 49, 41 and the internal control registers 39.
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 phase-drei-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.Fig. 32 is a schematic diagram of the status register 81 in which there are three bits, each representing a particular internal condition. A bit value of one indicates that the corresponding condition has been detected. These conditions include a vertical interrupt on a logic circuit 411. A display error indicates that the video system controller 3 was unable to perform a display update cycle requested during the horizontal blanking interval. The display error is stored in circuit 413. The refresh error latch 415 indicates that the video system controller 3 was unable to perform the designated number of DRAM refresh cycles before the start of the next horizontal blanking interval. These three signals are combined by an And/Or logic 417 and provided to the interrupt conductor 23. A specific reason for the interrupt is provided on the status lines 419. Again, there is a synchronizing circuit 421 which synchronizes the interrupt from the video clock 27 with the system clock. The interrupt is first synchronized with the video clock by a circuit 423 which includes three driven transistors 425, 427 and 429 which are driven by phase three, phase one and phase three signals. Between the phase three driven and phase one driven gates and between the phase one and phase three driven gates are inverting amplifiers 435 and 437 respectively. The output of the circuit 433 is fed to the system clock synchronizers which include a driven latch 441, 443 and the pulse shaping circuit 445 which synchronizes the interrupt to the vertical interrupt circuit 411. Fig. 33 provides the clock circuits used to generate the phase one and phase three signals on the video clock at circuit 451; circuit 453 generates system clock signals used to provide clocks to the video system controller 3. The dual clocks and synchronizing circuits shown in Figs. 32, 9, 30 and 36 are needed because the video clock VIDCLK, which is harmonically related to the monitor dot clock, may be different from the clock SYSCLK of the microprocessor 1. SYSCLK is specified to run faster than VIDCLK and allows memory cycles to be performed at a convenient rate. VIDCLK is specified to run slower than SYSCLK. However, the architecture allows to control monitors whose dot clock frequency can exceed 100 MHz.
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.An example of a memory device 5 that may be suitable for use in the system shown in Fig. 1 and shown in Fig. 34 is a 64K-bit MOS dynamic read/write memory using single transistor cells as shown in U.S. Patent No. 4,239,993 and also including a serial shift register with several additional taps. For this example, the random access may be one bit wide. Other suitable examples (not shown) may be memory devices as previously described herein that have 256K-bits of memory or even more.
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.If, as will be explained below, the memory is partitioned to use, for example, eight chips, then the individual storage devices may be X1, i.e. one bit, wide, and eight of these memories may be connected in parallel for access by a typical 8-bit microcomputer. Another partition, such as X4 or X16, could also be used, as will become clear below.
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 10a und 10b 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 10a 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.The storage device 5 shown in Fig. 34 is typically manufactured by an N-channel, self-aligned silicon gate, dual-level polysilicon MOS process, with the entire device contained in a silicon chip approximately 1/30 of a square inch in size, which would normally be mounted in a standard dual in-line package with twenty pins or terminals. For a 256K-bit device, this package may be provided with as many as twenty-two pins or terminals. Similarly, the number of pins would increase for larger volume devices. The device in this example includes an array 10 split into two halves 10a and 10b, each containing 32,768 cells, in a regular pattern of 256 rows and 256 columns. Of the 256 rows or X-lines, 128 are in half 10a and 128 in half 10b of the array. The 256 columns or Y-lines are each halved, with half in each of the halves 10a and 10b. In the center of the array there are 256 sense amplifiers 511; these are differential type bistable circuits made in accordance with the invention described and claimed in Patent 4,239,993 or U.S. Patent 4,081,701. Each sense amplifier is connected in the middle of a column line so that 128 memory cells are connected to each side of each sense amplifier by means of a column line half. The chip requires only a single 5V supply voltage Vdd together with a ground connection 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.A row or X address decoder 12 split in half is connected by sixteen lines 513 to eight address buffers or latches 14. The buffers 14 are made in accordance with the invention described in U.S. Patent No. 4,288,706. An eight-bit X address is applied to the inputs of the address buffer 14 via eight address input terminals 525. The X decoder 12 functions to select one of the 256 row lines as determined by an eight-bit address on the input terminals 15 received from the microcomputer via a data bus 507.
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.For more than 256 row lines, i.e. a 256K-bit memory with 512 row lines, a larger than eight-bit X-address and eight-bit buffer must be used.
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 knnen 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.Further, a column address is received at input terminals 25 and latched in column address latches 16. For bit-wide random access data input/output, eight column address bits are required, but for byte-wide access, i.e. eight bits, only five address bits are required, and the microcomputer can output additional column address bits to select between multiple cascaded chips; these additional column address bits can be used by chip select decoders of conventional design. The outputs of column address latches 16 are connected by lines 517 to a decoder 18 in the center of the array which selects one of 256 columns to produce a bit-wide input/output on a random access input/output line 17/31; separate input lines 17 and output lines 31 may be used as shown in Fig. 1, or the lines 17/31 may be multiplexed as shown in Fig. 34. Rows of dummy cells (not shown) are included on each side of the sense amplifiers, as is common practice in devices of this type. As with the X address, for larger devices the number of bits and latches required to identify a column increases.
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.The memory device is thus similar to a standard dynamic RAM with a bit-wide or other bit-format random access and also with a serial input/output. Referring further to Fig. 34, the serial access is provided with a 256-bit serial shift register 20 which is divided into two identical halves, the halves being arranged on opposite sides of the arrangement 10. The The same result can be achieved by placing both halves on the same side of the array, but superimposed on one another. However, placing the halves on opposite sides of the array balances the operation of the sense amplifiers.
Das Schieberegister 20 kann durch 128 Transfergatter 21a auf einer Seite des Bausteins und einer gleichen Anzahl von Transfergattern 21b 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.The shift register 20 can be loaded from the column lines of the array 10 for a read cycle or loaded into the column lines for a write cycle through 128 transfer gates 21a on one side of the device and an equal number of transfer gates 21b on the other side of the array.
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.The data is input into the device for serial writing via a data input connection 22, which is connected to inputs 24a and 24b of the shift register halves by a multiplex circuit 523. The data is read serially from the register halves via outputs 525a and 525b, a data output multiplex and buffer circuit 26 and a data output connection 527.
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.The shift register 20 is operated with a clock 0 which is used to shift the bits through the stages of the register at two stages per clock cycle. For read operations, only 128 cycles of the clock 0 are needed to output 256 bits from the 256 bit positions of the split shift register. A control signal TR applied to the transfer gates 21a and 21b connects each of the 256 bit positions of the shift register 20 to its corresponding column line in the 10a and 10b halves of the array.
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.In a serial write operation, the sense amplifiers 511 are operated by a write command W appearing after TR/QE to set the column lines to a full logic level, after which a row line is selected by the address in the latches 14 and the data is forced into the memory cells of that row.
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.A serial read cycle starts with an address at the input 15 which is decoded to activate one of the 256 X or row address lines (and a dummy cell on the opposite side). The sense amplifiers 11 are then actuated by a control signal from the clock generator and control circuit section 30 to force the column lines to a full logic level and then the transfer gates 21a and 21b are actuated by the control signal TR/QE to transport the 256 bits from the selected row into the corresponding halves of the shift register 20. The shift clock signal 0 is then applied and can transport 256 bits via the multiplexing circuit 26 in serial format to the output terminal 527 at two stages or bits per clock cycle, requiring 128 clock cycles for the entire register. The output terminal 527 is connected to the shift register 7 of Fig. 1.
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.As described so far, the memory device is similar to a standard bit-wide or other bit-format random access dynamic RAM with serial input and output; however, according to the invention, the 256-bit serial shift register 20, which provides serial input and output, is organized as four 64-bit shift registers. One, two, three, or four 64-bit shift registers may be accessed, depending on which of the four "tap" along the 256-bit shift register is selected. Since the 256-bit shift register is divided into two "halves," each 64-bit shift register is also divided into halves. As shown in Fig. 34, a 64-bit shift register is an upper half 20a and a lower half 20b, a second 64-bit shift register is an upper half 20c and a lower half 20d, a third 64-bit shift register is an upper half 20e and a lower half 20f, and a fourth 64-bit shift register is an upper half 20g and a lower half 20h.
Der ausgewhlte 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.The selected tap determines whether the first, second, third or fourth 64-bit shift register is accessed. The selected tap is determined by a two-bit code, which is fed to the two most significant column address inputs. The figure in Fig. 34 is thus formed of lines 517 from the column address latch 16 which also go into the shift register 20 to select the desired particular tap via a binary code.
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.Referring to Fig. 35, a microcomputer 1 which can be used with the system of the invention may include a single-chip microcomputer device 1 of conventional construction together with additional off-chip program or data memory 80 (if required) and various peripheral input/output devices 81, all interconnected by an address/data bus 607, and a control bus 9.
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.A single bidirectional multiplexed address/data bus 7 is shown, but separate address and data buses may be used instead, as in Fig. 1, and the program addresses and data or the input and output addresses on the external buses may be separate; the microcomputer may be of the Von Neumann architecture or of the Harvard type, or a combination of the two.
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.The microprocessor 1 could, for example, be one of the devices sold by Texas Instruments under the part number TMS 7000 or TMS 99000, or one of the devices commercially available under the part numbers Motorola 68000 or 6805, Zilog Z8000 or Intel 8086 or 8051 or the like. Although these devices differ in details of internal construction, they generally include an on-chip ROM or read-only memory 82 for program storage and may also have program addresses available off-chip, but in any event they provide off-chip data access for playback memory. 5. The VSC 3 is designed to interface with all microprocessors and microcomputers, giving system designers flexibility.
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.A typical microcomputer 1, as shown in Fig. 35, may include a RAM or random access read/write memory 583 for storing data and addresses, an ALU 84 for performing arithmetic or logical operations, and an internal data and program bus arrangement 585 for transferring data and program addresses from one location to another, usually consisting of several separate buses. Instructions stored in the ROM 82 are individually loaded into an instruction register 587, from which an instruction is decoded in the control circuit portion 88 to generate control bits in control lines 589 to determine the operation of the microcomputer.
Das ROM 82 wird durch einen Programmzähler 90 adressiert, der selbsterhö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 84 hat zwei Eingänge 92 und 93, von denen einer ein oder mehr temporäre Speicherregister 94 aufweist, die vom Datenbus 585 geladen werden.The ROM 82 is addressed by a program counter 90, which may be self-incrementing or may be incremented by passing its contents through the ALU 84. A stack 591 is included to store the contents of the program counter upon an interrupt or subroutine operation. The ALU 84 has two inputs 92 and 93, one of which has one or more temporary storage registers 94, which are loaded from the data bus 585.
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.An accumulator 595 receives the ALU output signal and the output of the accumulator is connected by bus 85 to its final destination, such as RAM 583 or data input/output register and buffer 96. Interrupts are handled by an interrupt controller 597, which has one or more off-chip connections via control bus 23 for an interrupt request, interrupt acknowledge, interrupt priority code, and the like, depending on the complexity of the microcomputer device and system.
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.A reset input can also be considered an interrupt. A status register 98 associated with the ALU 84 and the interrupt controller 597 is included for temporarily storing status bits such as zero, carry, overflow, etc. of ALU operations; upon an interrupt, the status bits are saved in RAM 583 or in a designated stack.
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 9für einen Adressenhinweis, eine Speicherfreigabe, eine Schreibfreigabe, ein Halten, eine Chipauswahl usw..Depending on the particular system and its complexity, the memory addresses are coupled from off-chip through buffers 96 connected to external bus 607. This path can be used to address off-chip data or program memory 80 and input/output 81 in addition to off-chip video memory 5. These addresses to bus 7 can originate in RAM 83, accumulator 95, or instruction register 87, as well as program counter 90. A memory control circuit 99 generates (in response to control bits 89) or responds to the appropriate commands to or from control bus 9 for an address point, memory enable, write enable, hold, chip select, etc.
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.In operation, the microcomputer device 1 executes a program instruction in one or a sequence of machine cycles or state times. A machine cycle may be, for example, 200 ns long, provided by an output signal from a 5 MHz crystal clock supplied to the microcomputer chip. Thus, in successive machine cycles or state times, the program counter 90 is incremented to generate a new address. This address is supplied to the ROM 82 to generate an output signal to the instruction register 587, which is then decoded in the control circuit section 88 to generate a sequence of settings of the microcode control bits 589 to perform the various steps required to load the bus 85 and the various registers 94, 595, 96, 98, etc.
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.For example, a typical ALU arithmetic or logic operation would involve loading addresses (fields of the instruction word) from instruction register 87 over bus 585 to the addressing circuitry for RAM 583 (this may include only source addresses or both source and destination addresses). Such an operation may also involve transferring the addressed data words from RAM 583 to a temporary register 94 and/or to the ALU input 92. Microcode bits 89 would define the ALU operation as one of the types available in the instruction set, such as add, subtract, compare, AND, OR, exclusive-OR, etc. Status register 98 is set depending on the data and ALU operation, and the ALU result is loaded into accumulator 595.
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 9 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 23 ausgegebenen Adressenhinweissignals im Speicher 80 oder im Speicher 5 zwischengespeichert wird.As another example, a data output instruction may include transferring a RAM address from a field in the instruction to RAM 583 via bus 585, with this addressed data being transferred from RAM 583 via bus 585 to output buffer 96 and thus out to external address/data bus 7. Some control output signals may be generated by memory controller 99 on lines of control bus 9, such as write enable, etc. The address for this data output could be an address on bus 607 via buffer 96 in a previous cycle, being latched into memory 80 or memory 5 by means of an address strobe signal issued by memory controller 99 to control bus 23.
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.An external memory controller may be used to generate the RAS and CAS strobe signals. A two-byte address for memory 5 would be applied to bus 607 in two machine cycles if bus 607 is an 8-bit bus, or in one cycle if the bus is a 16-bit bus.
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 Befehlsregister 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.The microcomputer instruction set includes instructions for reading from or writing to the video memory 5, the additional memory 19, or the input/output ports of the peripheral device 581, where the internal source or destination is the RAM 583, the program counter 90, the temporary registers 94, the instruction register 587, etc. In a microcoded processor, each such operation includes a state sequence during which addresses and data are transferred on the internal bus 585 and the external bus 7.
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.Alternatively, the invention may use a microcomputer 1 of the non-microcoded type in which an instruction is executed in one machine state time. In selecting the microcomputer 1, it is necessary that the data and addresses and various memory controls are available off-chip and that the data processing speed is adequate to generate and update video data within the time constraints of the particular video application.
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.The video memory arrangement of the invention is described in terms of single-bit data paths for the bus 7, although the microcomputer system and memory technology is of course useful in any 8-bit or 16-bit system or other architectures, such as 24-bit or 32-bit. One benefit in a small system of the type with 8-bit data paths and 12-bit to 16-bit addressing is that no external memory 80 is required and the peripheral circuitry 81 consists only of a keyboard or similar interface plus possibly a disk drive. For example, a bus interface chip, such as an IEEE 488 type device, could be included in the peripheral circuitry 81.
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. 36 is a block diagram of the video system according to the invention, in which the video system 805 is a 512x512 pixel, 16-color graphics system. The display memory 5 has been expanded by means of X4 from a single multiport memory device to four groups of memory devices 5A, 5B, 5C, 5D. The outputs of the multiport memory 5A-5D are fed to the 4-bit shift registers 7A-7D and the CRT monitor 11 via the digital-to-analog converter 9 and an optional color palette register 801. The color palette register naturally contains the coded information for generating the program colors which the microprocessor addresses in it.
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 17 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.Fig. 37 is a block diagram of a color graphics system with a resolution of 1024x1024 pixels. The display memory 5 has been replaced by four groups of multi-port memories 5E, 5F, 5G, 5H which are 16 bits deep. The shift register 17 has been extended to contain four shift registers 7E-7H which are 16 bits wide. The rest of the circuits of Figs. 36 and 37 are the same as those shown in Fig. 1.
Auch wenn die vorliegende Erfindung in bezug auf die dargestellten Ausführungsformen beschrieben wurde, soll diese Beschreibung nicht in beschrä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 Ansprüche jede Veränderung von Ausführungsformen, die in den Rahmen der Erfindung fallen, abdecken werden.Although the present invention has been described with respect to the illustrated embodiments, this description is not intended to be construed in a limiting sense. Numerous modifications to the illustrated embodiments, as well as other embodiments of the invention, will become apparent to those skilled in the art upon reference to this description. It is therefore intended that the appended claims will cover any variation of embodiments that fall within the scope of the invention.
Claims (7)
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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,384 US4665495A (en) | 1984-07-23 | 1984-07-23 | Single chip dram controller and CRT controller |
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,367 US4691289A (en) | 1984-07-23 | 1984-07-23 | State machine standard cell that supports both a Moore and a Mealy implementation |
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 |
US63338784A | 1984-10-22 | 1984-10-22 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3588174D1 DE3588174D1 (en) | 1998-02-19 |
DE3588174T2 true DE3588174T2 (en) | 1998-06-10 |
Family
ID=27575495
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853588174 Expired - Fee Related DE3588174T2 (en) | 1984-07-23 | 1985-07-23 | Video system |
DE19853587744 Expired - Fee Related DE3587744T2 (en) | 1984-07-23 | 1985-07-23 | Control logic for a video system with a circuit that overrides the row address. |
DE19853588173 Expired - Fee Related DE3588173T2 (en) | 1984-07-23 | 1985-07-23 | Video system |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19853587744 Expired - Fee Related DE3587744T2 (en) | 1984-07-23 | 1985-07-23 | Control logic for a video system with a circuit that overrides the row address. |
DE19853588173 Expired - Fee Related DE3588173T2 (en) | 1984-07-23 | 1985-07-23 | Video system |
Country Status (3)
Country | Link |
---|---|
EP (3) | EP0481534B1 (en) |
JP (2) | JPH05281934A (en) |
DE (3) | DE3588174T2 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63201791A (en) * | 1987-02-12 | 1988-08-19 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Processing system |
US4884069A (en) * | 1987-03-19 | 1989-11-28 | Apple Computer, Inc. | Video apparatus employing VRAMs |
ES2036559T3 (en) * | 1987-03-20 | 1993-06-01 | International Business Machines Corporation | COMPUTER SYSTEM WITH VIDEO SUBSYSTEM. |
US5001652A (en) * | 1987-03-20 | 1991-03-19 | International Business Machines Corporation | Memory arbitration for video subsystems |
JP2854867B2 (en) * | 1987-09-14 | 1999-02-10 | ジーディーイー システムズ インコーポレイテッド | Image processing system and pixel data transfer method |
US5113180A (en) * | 1988-04-20 | 1992-05-12 | International Business Machines Corporation | Virtual display adapter |
JP3068842B2 (en) * | 1990-08-27 | 2000-07-24 | 任天堂株式会社 | Direct memory access device in image processing device and external storage device used therefor |
EP0847571A1 (en) * | 1995-08-28 | 1998-06-17 | Cirrus Logic, Inc. | Circuits and methods for controlling the refresh of a frame buffer comprising an off-screen area |
EP0772119A3 (en) * | 1995-10-31 | 1997-12-29 | Cirrus Logic, Inc. | Automatic graphics operation |
EP0786756B1 (en) * | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Data transfer arbitration for display controller |
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 |
US8797334B2 (en) | 2010-01-06 | 2014-08-05 | Apple Inc. | Facilitating efficient switching between graphics-processing units |
US8648868B2 (en) | 2010-01-06 | 2014-02-11 | Apple Inc. | Color correction to facilitate switching between graphics-processing units |
US8368702B2 (en) | 2010-01-06 | 2013-02-05 | Apple Inc. | Policy-based switching between graphics-processing units |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5810135B2 (en) * | 1973-03-20 | 1983-02-24 | 松下電器産業株式会社 | High Gas Jiyou Kayoshiyoku Baitai |
JPS5834836B2 (en) | 1975-12-29 | 1983-07-29 | 株式会社日立製作所 | data |
US4125873A (en) * | 1977-06-29 | 1978-11-14 | International Business Machines Corporation | Display compressed image refresh system |
DE2922540C2 (en) * | 1978-06-02 | 1985-10-24 | Hitachi, Ltd., Tokio/Tokyo | Data processing system |
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 (en) * | 1979-03-28 | 1984-06-23 | 日本電信電話株式会社 | memory element |
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 (en) * | 1979-09-12 | 1981-03-20 | Telediffusion Fse | DEVICE FOR DIGITAL TRANSMISSION AND DISPLAY OF GRAPHICS AND / OR CHARACTERS ON A SCREEN |
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 (en) * | 1981-09-30 | 1985-11-07 | Siemens AG, 1000 Berlin und 8000 München | Data display device |
DE3141882A1 (en) * | 1981-10-22 | 1983-05-05 | Agfa-Gevaert Ag, 5090 Leverkusen | DYNAMIC WRITING AND READING MEMORY DEVICE |
JPS58187996A (en) * | 1982-04-28 | 1983-11-02 | 株式会社日立製作所 | Display memory circuit |
JPS58189690A (en) * | 1982-04-30 | 1983-11-05 | 株式会社日立製作所 | Image display |
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 (en) * | 1982-09-29 | 1984-04-06 | フアナツク株式会社 | Data writing unit for color graphic memory |
JPS5974590A (en) * | 1982-10-20 | 1984-04-27 | 株式会社日立製作所 | Memory control system for display |
JPS5991488A (en) * | 1982-11-18 | 1984-05-26 | 株式会社東芝 | Color graphic display unit |
JPS5994590A (en) * | 1982-11-19 | 1984-05-31 | Origin Electric Co Ltd | Welding jig provided with positioning function for object to be welded |
JPS59114589A (en) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | Pattern writing control circuit |
JPS59114588A (en) * | 1982-12-22 | 1984-07-02 | 株式会社東芝 | Pattern writing control circuit |
US4566005A (en) * | 1983-03-07 | 1986-01-21 | International Business Machines Corporation | Data management for plasma display |
JPH01193793A (en) * | 1983-12-30 | 1989-08-03 | Texas Instr Inc <Ti> | Memory |
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 |
US4688197A (en) * | 1983-12-30 | 1987-08-18 | Texas Instruments Incorporated | Control of data access to memory for improved video system |
JPH0210434A (en) * | 1988-06-28 | 1990-01-16 | Mitsubishi Electric Corp | Program language translator |
JPH0254956A (en) * | 1988-08-19 | 1990-02-23 | Mitsubishi Electric Corp | Manufacture of lead frame |
JP3347773B2 (en) * | 1992-09-17 | 2002-11-20 | 川崎製鉄株式会社 | Pure iron powder mixture for powder metallurgy |
JPH06100895A (en) * | 1992-09-21 | 1994-04-12 | Nissan Motor Co Ltd | Process for cleaning plastic bumper |
JP3235878B2 (en) * | 1992-09-21 | 2001-12-04 | 関東電化工業株式会社 | Manufacturing method of solid detergent |
JPH06100896A (en) * | 1992-09-22 | 1994-04-12 | Tatsuro Nagashima | Production of granular detergent |
-
1985
- 1985-07-23 DE DE19853588174 patent/DE3588174T2/en not_active Expired - Fee Related
- 1985-07-23 EP EP91121915A patent/EP0481534B1/en not_active Expired - Lifetime
- 1985-07-23 EP EP85305225A patent/EP0182454B1/en not_active Expired - Lifetime
- 1985-07-23 DE DE19853587744 patent/DE3587744T2/en not_active Expired - Fee Related
- 1985-07-23 DE DE19853588173 patent/DE3588173T2/en not_active Expired - Fee Related
- 1985-07-23 EP EP91121918A patent/EP0482678B1/en not_active Expired - Lifetime
-
1991
- 1991-06-07 JP JP3162472A patent/JPH05281934A/en active Pending
-
1997
- 1997-06-11 JP JP9153659A patent/JPH1091136A/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP0482678B1 (en) | 1998-01-14 |
EP0481534B1 (en) | 1998-01-14 |
DE3587744T2 (en) | 1994-05-19 |
JPH05281934A (en) | 1993-10-29 |
EP0482678A2 (en) | 1992-04-29 |
DE3588173D1 (en) | 1998-02-19 |
EP0182454A3 (en) | 1988-03-23 |
EP0482678A3 (en) | 1992-09-16 |
JPH1091136A (en) | 1998-04-10 |
EP0182454B1 (en) | 1994-02-02 |
DE3588173T2 (en) | 1998-06-10 |
EP0481534A3 (en) | 1992-08-26 |
DE3587744D1 (en) | 1994-03-17 |
DE3588174D1 (en) | 1998-02-19 |
EP0182454A2 (en) | 1986-05-28 |
EP0481534A2 (en) | 1992-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3588174T2 (en) | Video system | |
DE3751720T2 (en) | CIRCUIT FOR DISPLAYING COMPUTERS | |
DE68920147T2 (en) | Display system. | |
DE3382798T2 (en) | Electronic video display system. | |
DE69225447T2 (en) | Control system for a DMD display | |
DE3853447T2 (en) | Display control unit for a cathode ray tube / plasma display unit. | |
DE69020279T2 (en) | Mechanism for securing picture elements for adapters for mixed display of graphic signals and video. | |
DE69021429T2 (en) | Memory access control circuit for graphics controller. | |
DE3852989T2 (en) | Software configurable memory for a data processing system with graphic activity. | |
DE3853489T2 (en) | Graphic display system. | |
DE3882365T2 (en) | DEVICE FOR GENERATING A CURSOR PATTERN ON A DISPLAY. | |
DE10101073B4 (en) | Imaging device with lower storage capacity requirements and method therefor | |
DE68925854T2 (en) | Display control unit for hardware conversion from CRT resolution to plasma display panel resolution | |
DE3889240T2 (en) | Counter with changeable circuit for addressing in graphic display systems. | |
DE69113769T2 (en) | Videographic display system. | |
DE68928840T2 (en) | Synchronous dynamic memory | |
DE69802041T2 (en) | Graphic processing device and method | |
EP0468973B2 (en) | Monitor control circuit | |
DE3689449T2 (en) | Storage system and interface in it. | |
DE68920148T2 (en) | Display device with graphic cursor. | |
DE68918101T2 (en) | Page mode memory. | |
DE3810232C2 (en) | ||
DE69118599T2 (en) | DEVICE FOR DISPLAYING STILL IMAGES AND EXTERNAL STORAGE CASSETTE USED FOR THIS | |
DE3689691T2 (en) | Cursor switching for a memory with two inputs. | |
DE69120616T2 (en) | A graphic display system containing a video random access memory with a split shift register and a run counter |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |