DE3114975A1 - Schnittstelle insbesondere fuer ein computergraphiksystem - Google Patents

Schnittstelle insbesondere fuer ein computergraphiksystem

Info

Publication number
DE3114975A1
DE3114975A1 DE19813114975 DE3114975A DE3114975A1 DE 3114975 A1 DE3114975 A1 DE 3114975A1 DE 19813114975 DE19813114975 DE 19813114975 DE 3114975 A DE3114975 A DE 3114975A DE 3114975 A1 DE3114975 A1 DE 3114975A1
Authority
DE
Germany
Prior art keywords
data
memory
address
bus
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.)
Granted
Application number
DE19813114975
Other languages
English (en)
Other versions
DE3114975C2 (de
Inventor
Thomas K Porter
Rodney Dennis Stock
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ampex Corp
Original Assignee
Ampex Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ampex Corp filed Critical Ampex Corp
Publication of DE3114975A1 publication Critical patent/DE3114975A1/de
Application granted granted Critical
Publication of DE3114975C2 publication Critical patent/DE3114975C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/153Digital output to display device ; Cooperation and interconnection of the display device with other functional units using cathode-ray tubes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/022Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed using memory planes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • G09G5/026Control of mixing and/or overlay of colours in general
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/045Zooming at least part of an image, i.e. enlarging it or shrinking it
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control 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/39Control of the bit-mapped memory
    • G09G5/391Resolution modifying circuits, e.g. variable screen formats

Description

. . . 31US75
Patentanwälte Dipl.-Ing. H. WEicKMANNs:Dii'X:-PHTis:Ds. K. Ftncke
Dipl.-Ing. F. A.WErc-KM-ANNrDiPL.-GHEM-.B. Huber Dr. Ing. H. Liska
8000 MÜNCHEN 86, DEN . „ e^j. · r
POSTFACH 860820 B 3. "F I ^ ■ PRA MDHLSTRASSE 22, RUFNUMMER 98 39 21/22
Ampex Corp.
Ampex Corporation
401 Broadway-Redwood City, Calif» 94OG3, V.St.A.
Schnittstelle insbesondere für ein Computergraphiksystem
Die Erfindung betrifft eine Schnittstelle insbesondere für' ein Computergraphiksystem zur Vermittlung von Daten-Transfers zwischen einem Bus einer Daten-Verarbeitungseinrichtung mit Adressen- und Datenleitungen und einer Video-Verarbeitungseinrichtung mit einem Bildspeicher mit zumindest einem Teilspeicher.
Aufgrund der großen Pixelzahl eines einzigen Fernseh-Videobildes kann der normale CPU-Adressenraum nicht dafür hergenommen werden, die einzelnen Pixelorte innerhalb eines Bildes zu unterscheiden. Die Aufgabe der Erfindung liegt insbesondere darin mit einfachen Mitteln den Zugriff zum Bildspeicher zu erleichtern und hierbei zu vermeiden, daß bei jedem Vorgang Adresseninformationen transferiert werden müssen.
Zur Lösung dieser Aufgabe ist die Schnittstelle der eingangs 'genannten Art . gekennzeichnet durch einen Adresscngober zur Aufnahme einer Startadrcüse und zur fortlau-
31U075
-3 -
fenden Erhöhung der Adresse auf festgestellte Daten-Transfers hin und durch ein Steuerregister zur Aufnahme von von der Daten-Verarbeitunseinrichtung abgegebenen Steuerinformation zur wahlweisen Ingangsetzung der selbsttätigen Adressenweiterzählung und zur Festlegung von Bedingungen unter denen die selbsttätige Weiterzählung durchufuhren ist, insbesondere/ ob Daten gelesen oder geschrieben werden und ob die Daten-Transfers zu einem bestimmten der Teilspeicher erfolgen.
Die Erfindung liegt auf dem Gebiete von Computergraphik-Systemen, insbesondere derartiger Systeme, bei denen Videosignale im Farbfernseh-Abtastraster als Ausgangs Signale erzeugt werden.
Video-Graphiksysteme mit Abtastraster sind in einer Hinsicht vorteilhafter als graphische Systeme mit Vektordarstellung, da sie komplexere graphische Bilder erzeugen können mit der Möglichkeit vielfarbige Flächen abzuschatten (shading) und/oder miteinander zu verschmelzen bzw. ineinander übergehen zu lassen (blending). Um diese Vielseitigkeit des Abtastraster-Systems zu erhalten, muß man jedoch eine große Anzahl von Bild-elementen,genannt Pixel,verarbeiten, welche den einzelnen Punkten innerhalb, einer Zeilen- und -Spalten-Pixelmatrix für jedes Bild der visuellen Abbildung entsprechen. In einem derartigen System ist im allgemeinen ein Bildspeicher zur Speicherung eines Byte an Information für jedes Pixel des Videobildes vorgesehen. Derartige Bildspeicher sind äußerst umfangreich und teuer. In einigen Systemen werden die drei Farb-Komponenten eines optischen Bildes innerhalb eines einzigen Byte an Speicherkapazität für jeden Pixelort abgespeichert. Das Ergebnis ist ein unbefriedigendes Videobild mit schlechter Auflösung bzw. Definition der Farbe und der Intensität über das ganze Bild.
In einem weiteren, als Farbkarte-System (color map system) bezeichneten System wird ein weitaus kleinerer Farbkarten-Speicher verwendet, welcher über das Eins-Byte der Video-Information an jedem Pixelort des" Bildspeichergedächtnisses adressiert wird. Der Farbkarten-Speicher hat typischerweise ein Speichervolumen von 256 Worten zu je 24 Bits. Die 24 Bits gewährleisten eine Auflösung von 8-Bit-Byte für jede der drei
Hauptkomponenten eines Farb-Videosignals. Der Künstler ist dann in der Lage jeweils eine von 256 Farben an jedem Adressenort der Farbkarte abzuspeichern und dann am Ort jedes Pixels innerhalb des Bildspeichers ein Daten-Byte zur Identifzierung eines dieser farbdefinierenden Speicherplätze des Farbkarten-Speichers abzuspeichern. Mit einer derartigen Anordnung können Videobilder hoher Qualität erzeugt werden, man ist jedoch in der Weise eingeschränkt, daß lediglich 256 vorbestimmte Farben aus der Kombination von Millionen möglicher in einem Fernseh-Videobild unterscheidbarer Farben beschränkt ist. Die Begrenzung auf 256 vorbestimmter Farben reicht auch nicht aus, um allgemeine Tiefpass-Filterung komplexer Bilder mit Fernsehqualität durchführen zu können.
Verschiedene Beispiele von graphischen Systemen mit im Abtastraster organisierten Daten sind aus den folgenden US-Patenten bekannt: 4,093,996; 4,117,473; 4,129,859; 4,156,914; 4,158,838; 4,189,743 und 4,189,744.
Das erfindungsgemäße Computergraphik-System umfaßt ein Datenverarbeitungssystem und ein · mit dem Datenverarbeitungssystem verbundenes Video-Verarbeitungssystem. Das Datenverarbeitungssystem erhält von einem Künstler bzw. einer entsprechenden Bedienungsperson als graphische Befehle bezeichnete Eingangsbefehle. Das Video-Verarbeitungssystem speichert Video-Information in einen; Drei-Komponenten-Videoformat, wobei eine Komponente, das Video-Intensitätssignal, über den gesamten dynamischen Bereich und mit exakter räumlicher Auflösung gespeichert wird und die beiden die Farbe festlegenden Komponenten jeweils zwar über den gesamten dynamischen Bereich jedoch mit der halben Auflösung der Video-Intensitätssignal-Komponente abgespeichert werden. Die Intensitäts-Komponente des Farb-Komponentensignals ist daher an zwei Pixelorten für jedas einzelne Pixel definiert bzw. gespeichert.
ό ! i k a / D
Die beiden Farb-Komponentensignale haben daher zusammen die gleiche effektive Bandbreite wie das einzelne Intensität skomponen ten-Signal .
Das Video-Verarbeitungssystem umfaßt einen erweiterbaren oder verkleinerbaren Bildspeicher, eine Gedächtnissteuereinrichtung zur Umwandlung von X-Y-Koordinatenmatrix-Adressen in Komponenten-Adressen eines Bildspeichergeräts (hardware frame store) und eine Schnittstellenleit.ung (interface circuit) zur Verbindung einer im folgenden Video-Prozessor genannten Video-Verarbeitungseinrichtung mit einer dementsprechend Daten-Prozessor genannten Daten-Verarbeitungseinrichtung. Das Video-Verarbeitungssystem umfaßt ferner einen Video-Ausgabe-Prozessor (video output processor) zum Auslesen von aus Daten bestehenden Bildern aus dem Bildspeicher und zur Erzeugung eines vollständigen Farb-Videosignals in einem Format, welches von einer Video-Bildschirmeinrichtung wie einem Farb-Videomonitor oder einem Fernsehgerät übernommen werden kann.
Der Bildspeicher speichert Video-Information für jedes Pixel eines optischen Bildes in einer Pixel-Koordinatenmatrix. Der Bildspeicher umfaßt zwei Speicherteile, einem ersten Bildspeicherteil für die Speicherung von Intensitätsinformation für jedes Pixel des optischen Bildes mit vorgegebener Auflösung sowie einen zweiten Bildspeicherteil zur Speicherung von die Farbe festlegender Information für zwei Farb-Komponenten des optischen Bildes.
Jede der Farb-Komponenten ist über den vollen dynamischen. Bereich definiert jedoch lediglich an der Hälfte der Pixelortspunkte des optischen Bildes festgelegt und abwechselnd an den einzelnen Pixelortspunkten des zweiten Bildspeicherteils abgespeichert, um hierdurch die synchrone, gleichbandige Weiterverarbeitung der Inhalte der beiden Bildspeicherteile zu erleichtern.
31U975
-I-
Ein vielseitiger Aufbau der Geräte-Komponenten (hardware) erlaubt es das Video-Graphiksystem in Einzelschritten von einem einfachen Farbkarte-System zu einem YIQ-System mit voller Farbtüchtigkeit und zweifachem BiIdspeicher auszubauen und schließlich zu einem System mit voller Farbauflösung für rot, grün und blau und einem Dreifach-Bildspeicher. Bei diesem Ausbau müssen lediglich weitere Gedächtnisspeicher-Kapazität hinzugefügt und geringfügige Anpassungen durchgeführt werden, ohne daß teure Bau-Komponenten, welche in der niedrigeren Ausbaustufe verwendet werden, entfernt werden müssen.
Die Erfindung wird im folgenden anhand der Zeichnung beispielsweise erläutert. Es zeigt: 15
Fig. 1 ein Blockdiagramm eines erfindungsgemäßen Computergraphik-Systems ;
Fig. 2 ein Blockdiagramm eines Bildspeichers des Systems gemäß Fig. 1;
Fig. 3 ein Blockdiagramm einer Speichersteuerung des Systems gemäß Fig. 1;
Fig. 4 ein Blockdiagramm eines Eingabe-Abtasters des Systems nach Fig. 1;
Fig. 5 ein Blockdiagramm einer Bildadressenumformungs-
Schnittstelle des Systems nach Fig. 1; 30
Fig. 6 ein Blockdiagramm eines X-Y-Adressengebers für die Schnittstelle gemäß Fig. 5;
Fig. 7 ein Blockdiagramm eines Daten-Puffers der Schnittstelle gemäß Fig. 5;
Fig. 8 ein BIockdiagramm eines Video-Ausgabe-Prozessors des Systems gemäß Fig. 1; und
311/ Γι η Γ
Fig. 9Α und 9Β eine teilweise blockschemaartige, teilweise schaItschemaartige Darstellung des Datenwegs einer einzelnen Video-Komponente im Video-Ausgabe-Prozessor gemäß Fig. 8.
Fig. 1 zeigt eine Ccmputergraphik-System Einrichtung (bzw. -System) mit Raster-Abtastung, welches vorzugsweise zur -YIQ-Farbdarstellung eingerichtet ist. Das System 10 umfaßt einen Rechner-Bus (computer bus) 12 mit einer an diesen angeschlossenen Zentraleinheit (CPU) 14 beispielsweise einem PDP 11/34 Rechner der Digital Equipment Corporation. Die an den Rechner-Bus 12 angeschlossenen Rechnereinheiten umfassen einen zusätzlichen Direktzugriffsspeicher (RAM) 16, einen Plattenspeicher 18 für eine Plattendatei, eine Magnetbandeinheit 20 für eine Banddatei, eine Konsole (Bedienungsplatz) mit Konsolenschnittstelle 22. Eine Video-Verarbeitungseinrichtung 24 ist mit dem Rechner-Bus 12 über eine Haupt-Bus-Schnittstelle (Master Bus interface) 26 verbunden, während eine im nachfolgenden noch zu erläuternde Dateneingabetafel (data tablet) 28 sowie ein Ablauf-Anzeigegerät (menu display) 30 über eine doppeltserielle 38,2 Kilobaud Schnittstelle 32 mit dem Rechner-Bus 12 verbunden sind. Weitere Rechner-Peripherie-Geräte können, falls erwünscht, an den Rechner-Bus 12 angeschlossen werden.
Die Rechner-Peripherie-Geräte, wie der zusätzliche Speicher 16, der Plattenspeicher 18, die Magnetbandeinheit 20 sowie die Konsole 22 können von allgemein üblichem Aufbau sein bis auf eine geringfügige bei jeder Einheit erforderliche Abänderung. Diese Abänderung besteht darin, die Einheiten für einen Datenblock-Zugriff zu den Daten der Video-Verarbeitungseinrichtung 24 einzurichten, d.h. für die Aufnahme bzw. die Abgabe von äußerst schnellen kontinuierlichen Folgen serieller Wörter oder Bytes. Bei einem herkömmlichen Block-Zugriff (block access) nach der Art des direkten Speicher-Zugriffs (DMA = Direct Memory Access) wird ein Adressenzähler, wie beispielsweise der Adressen-
O 1 1 / η ι γ
zähler 34, innerhalb einer Bus-Haupteinheit, wie dem Plattenspeicher 18, auf eine erwünschte Anfangsadresse gesetzt und anschließend für jedes übertragene Lese- oder Schreibwort fortgeschaltet (inkrementiert) bis eine bestimmte Anzahl von Worten über den Rechner-Bus 12 übermittelt worden ist. Die Video-Verarbeitungseinrichtung 24 jedoch wird in einer speziellen Blockzugriffs-Betriebsart betrieben, bei der sämtliche Datenworte eines Transferblocks einem adressierbaren, einem Teilspeicher des Bildspeichers identifizierenden Adressenort angeboten werden müssen, während die Video-Verarbeitungseinrichtung 24 selbst auf einen vorbereiteten X-Y-Adressenort zurückgreift und die Adresse für diesen vorbereiteten Ort bei jedem Worttransfer selbsttätig inkrementiert. Die Rechnerbus-Haupteinheit (computer bus master) hat also fortwährend den Teilspeicher-Adressenort zu adressieren, jedoch nicht die auf die Rechner-Bus plazierten (placed) Adressen zu inkrementieren. Dies wird dadurch erreicht, daß ein Zählvorgangsauslöse-Eingang des Adressenzählers 34 mit einem UND-Gatter 36 verbunden wird, welches wiederum wahlweise über eine Bit-Stellung innerhalb eines adressierbaren Steuerregisters 38 über ein Signal (NT ENBL) freigegeben werden kann. Eine demgemäße Abänderung kann bei jeder beliebigen Rechner-Bus-Einheit durchgeführt werden, welche als Bus-Haupteinheit (bus master) für den Datenaustausch mit der Video-Verarbeitungseinrichtung 24 mit blockartigem Lese- und Schreibbetrieb dienen soll.
Die Dateneingabetafel 28 ist vorzugsweise ein Gerät mit Koordinatenmatrix, welches den Ort eines Griffels in einem rechtwinkligen X-Y-Koordinatensystem feststellt. Ein Datengriffel 29 enthält einen druckempfindlichen Mikroschalter zur Eingabe von An-Aus-Information für eine Z-Achse. Die Dateneingabetafel 28 ist vorzugsweise mit zwei benachbarten Flächen ausgebildet, einer ersten, einem Farbmonitor (color monitor) 39 innerhalb der Video-Verarbeitungseinrichtung 24 zugeordneten Fläche und einer zweiten, dem Ablaufanzeigegerät 30 zugeordneten Fläche. Bei Andrücken des Griffels an eine der Flächen zeit ein
Ί /. U 7 k
I -T -Ο I J
-10-
Positionsanzeigesymbol (cursor) den Ort des Griffels innerhalb des Koordinatensystems an als optische Rückmeldung an die Bedienungsperson.
Das Ablaufanzeigegerät 30 dient vorzugsweise zur Steuerung der Betriebsarten der Computergraphik-Einrichtung 10. Beispielsweise können auf dem Ablaufanzeigege'rät 30 eine Vielzahl zur Verfügung stehender Betriebsarten angezeigt werden, von denen dann eine Betriebsart, beispielsweise dadurch ausgewählt werden kann, daß der Griffel 29 an einem Ort der Tafel bewegt wird, welcher dem Anzeigeort der jeweiligen Betriebsart auf dem Ablaufanzeigegerät 30 entspricht. Hierbei zeigt das Positionsanzeigesymbol auf dem Ablaufanzeigegerät 30 (insbesondere Bildschirmanzeigegerät) den jeweiligen Ort des Griffels an. Nach Erreichen des vorgesehenen Ortes wird dann der Mikroschalter betätigt. Hervorzuheben ist, daß bei Wahl einer vorgegebenen Betriebsart ggf. zur Auswahl bereitstehende Unterbetriebsarten angezeigt werden. Die Betriebsarten können beispielsweise folgende Vorgänge umfassen: Malen bzw. Einfärben, Zeichnen, Auslöschen, Ausfüllen, Abtönen bzw. Aufhellen, Schreibarbeit, Bildsicherung bzw. Bildabspeicherung, Bildaufruf, Pinselauswahl, Pinselentwurf, Palettenentwurf, Palettenaufruf, Speiehersequenz bzw. Einspeicherungsablauf und Wiederaufrufsfrequenz bzw. Wiederaufrufsablauf. Im folgenden wird ein Beispiel für die Auswahl einer derartigen Unterbetriebsart angegeben. Wenn die Bedienungsperson die mit "Pinselabruf" bezeichnete Betriebsart (recall brush mode) auswählt, veranlaßt dies die Wiedergabe einer bereits vorher entworfenen Auswahl von Pinselformen, wobei dann eine der Pinselformen ausgewählt werden kann und zwar, wie beschrieben dadurch, daß der an die ausgewählte Pinselform (bzw. an einem diesem Ort entsprechenden Ort auf der Tafel 28)gehaltene. Griffel 29 niedergedrückt wird.Anschließend kann durch eine Bewegung des Griffels 29 innerhalb der dem Farbmonitor 39 zugeordneten Fläche der Tafel 28 ein
31U975
Bemalen von Flächen auf dem Farbmonitor 39 entsprechend der Griffelbewegung erzielt werden, wie wenn der Griffel 29 die Form des ausgewählten Pinsels haben würde. Natürlich können auch andere Funktionen ausgewählt werden, da die zentrale Verarbeitungseinheit (CPU) 14 im wesentlichen die vollständige Kontrolle über jedes auf dem Farbmonitor 39 abgebildete Bildelement oder Pixel besitzt.
Die Hauptbus-Schnittstelle (Master Bus interface) 26 bildet eine Verbindung zwischen dem Rechner-Bus 12 und einem Haupt-Bus 40 der Video-Verarbeitungseinrichtung 24. Der Haupt-Bus 40 umfaßt 16 Datenleitungen, 18 Adressenleitungen und 16 Steuerleitungen, was im Ergebnis dazu führt, daß der Haupt-Bus 40 eine Erweiterung des Rechner-
Busses 12 bildet. Die Rechnerbus-Haupteinheiten (computer bus Masters) haben daher unmittelbaren adressierbaren Zugang zu Hauptkomponenten der Video-Verarbeitungseinrichtung 24, beispielsweise zu einem Video-Ausgabe-Prozessor 42, einem Eingabe-Abtaster (input scanner) 44, einer Speichersteuerung 46 (memory controller) und einer Bildadressenumformungs-Schnittstelle (picture address transform interface (PATI)) 48.
Als Zusatzgerät kann auch ein Encodierer 58 eingesetzt werden um die roten, grünen und blauen Video-Farbsignale des Video-Ausgabe-Prozessors 42 auszulesen und hiermit ein zusammengesetztes Video-Fernsehsignal zu erzeugen.
Das "Herz" der Video-Verarbeitungseinrichtung 24 der Rasterabtastung-Computergraphik-Einrichtung 10 wird von einem modulartig erweiterbaren Bildspeicher 50 gebildet. Der Bildspeicher 50 enthält ein, zwei oder drei bei herkömmlichen Graphik-Systemen als Bildspeicher bezeichnete voneinander getrennte Speicher, wie auch einen Uberlagerungsspoicher (overlay store) mit der Dimension 1 Bit. Jeder der Teilspei-
eher des Bildspeichers 50 wird durch 16K χ 1 Bit Speicher-Chips realisiert. Eine Speichersteuerung (memory controller) 52 ermöglicht eine Adressentransformation in der Weise, daß jedes Pixel eines Video-Bildschirms in einem X-Y-Koordinatensystem adressierbar ist, wobei eine X-Adresse eines von 768 Pixeln einer Abtastzeile eines Videobilds festlegt, während eine Y-Adresse eine von 512 Abtastspalten innerhalb eines Videobilds festlegt. Hierdurch wird jedoch nur ein Teil eines vollständigen Bilds erfaßt, welches 910 Pixel pro Abtastzeile und Abtastzeilen pro Bild umfassen kann. Sämtliche 16Kx 1 Bit Speicher-Chips sind parallel angeordnet und bilden einen Bildspeicher 50 mit sehr hoher Eingabe-/Ausgabe-Bandbreite. Dies ermöglicht gleichzeitig eine Realzeit -Videoeingabe vom Eingabe-Abtaster 44, eine Realzeit Videoausgabe über den Video-Ausgabe-Prozessor 42 zum Monitor 39, einen Zugriff von einer an den Rechner-Bus 12 angeschlossenen Bus -Haupteinheit aus über die BiIdadressen-ümformungs-Schnittstelle 48, einen Auffrischungszugriff, welcher eine Auffrischung des Speicherinhalts der Speicher-Chips ermöglicht sowie eine η Zugriff von zumindest einem weiteren Gerät der Video-Verarbeitungseinrichtung aus für den Fall einer späteren System-Erweiterung.
Ein Bildspeicher-Daten-Bus 56 enthält 104 Daten-Leitungen, welche in Gruppen zu 32 für jeden der drei Teilspeicher und zu 8 für den Überlagerungsspeicher zusammengefaßt sind. Ein Multiplexer (MUX) 54 ermöglicht die Auswahl von einer dieser Gruppen für den Datentransfer über einen 32 Bit-Daten-Bus, um die Datenübertragung durch die Bildadressen-Umformungs-Schnittstelle 48 zu einer an den Rechner-Bus 12 angeschlossenen Bus- Haupteinheit zu ermöglichen.
In der Wort/Byte-Betriebsart speichern und lesen die drei Teilspeicher des Bildspeichers 50 im Gegensatz zum Überlagerungsspeicher ein Wort (16 Bits) oder ein Byte (8 Bits) an Information für jedem X-Y-Pixelort. In der Mehrfach-
31H975
Byte-Betriebsart speichern und lesen die Teilspeicher ein "Superwort", welches 24 Bytes enthält, die wiederum 24 benachbarten Pixeln in einer Abtastzeile eines Videobilds entsprechen. Die 768 einzelnen Pixel einer beliebigen Abtastzeile sind daher jeweils in einer von 32 Superwörtern dieser Zeile enthalten. Jedes der Superwörter wird über den Bildspeicher-Daten-Bus 56 in Form von 6 seriellen Slice-Bausteinen (slices) oder Walzenbausteinen (barreis) zu je 4 Bytes übertragen. Da der Überlagerungsspeicher lediglich ein Bit pro Pixelort speichert im Vergleich zu den 8-Bit-Byte bei den drei Teilspeichern, enthält ein Überlagerungs-Superwort lediglich 3 Bytes. Separate Eingangs- und Ausgangssignalspeicher (latches) ermöglichen dem Bildspeicher 50 Informationen vom Eingabe-Abtaster 44 oder einer anderen Datenquelle einzuschreiben, währenddessen Daten von den Ausgabe-Signalspeichern über den Bildspeicher-Daten-Bus 5-6 zu dem Video-Ausgabe-Prozessor 42 zur Anzeige auf dem Farbmonitor 38 übertragen werden.
Wie Fig. 2 zeigt, umfaßt der Bildspeicher 50 vier Teilspeicher, nämlich den mit "Y/rot", bezeichneten Teilspeicher 66, den mit I,Q/grün bezeichneten Teilspeicher 68, den mit "blau" bezeichneten Teilspeicher 70 sowie den Uberlagerungsteilspeicher-72. Im Falle eines Farbkarten-Systems (color map system) würde der Y-Teilspeicher 66 zur Speicherung der Video-Bildinformation vorgesehen sein, wohingegen der IQ-Teilspeicher 68 sowie der Blau-Teilspeicher 70 nicht vorgesehen wären. Dieses System kann jedoch einfach und schnell dadurch erweitert werden, daß Speicherkarten in zur Verfügung stehende Anschlußschlitze eingesteckt werden. So kann beispielsweise ein Schwarz-Weiß-Monitor-Systera oder Farbkarte-System zu einem Y, I, Q-System einfach dadurch erweitert werden, daß man drei 16Kx 64 Speicherkarten einfügt, um hierdurch den I,Q-Teilspeicher 68 zu implementieren. Der zweiteilige Bildspeicher kann schließlich noch weiter zu einem vollständigen Rot-Grün-Blau-System (r, g, b) erweitert werden, in dem man noch zusätzliche drei Spei-
311437b
cherkarten einsetzt zur Bildung des Blau-Teilspeicher 70. Der Überlagerungsteilspeicher 72 kann wahlweise zusätzlich in jeder beliebigen Konfiguration verwendet werden also bei dem Schwarz-Weiß-Monitor-System (black and white monitor system) bei dem Farbtafel-System (color map system), bei dem Y/ I, Q-System oder dem r, g, b-System. Es sei weiterhin darauf hingewiesen, daß auch andere Konfigurationen, wie z.B. für ein Y, U,V -System erfindungsgemäß bei nur geringen Abänderungen realisiert werden können.
Die in der Farbfernsehtechnik eingeführten Buchstabensymbole Y, I, Q, r, g, b, U, V stehen jeweils für bestimmte Farbfernsehsignale. Hierbei steht Y für das Helligkeitsoder Leuchtdichtesignal, I, Q bzw. U, V für Farbdifferenz- signale und r, g, b jeweils für die Primärfarben rot, grün und blau.
Obwohl der Bildspeicher 50 extern von der Speichersteuerung 52 als aus vier auswählbaren Teilspeicher bestehend adressiert wird zur Speicherung der Video-Information in einer X-Y-Matrix, bestehen die Teilspeicher ihrem inneren Aufbau nach aus Speicherkarten, ausgelegt für 16K Worte mit 64 Bit pro Wort. Da jeder der Teilspeicher 66, 68 und 70 mit drei Speicherkarten ausgeführt ist, führt jeder Lese- oder Schreibvorgang im Bildspeicher zu einem Transfer von 192 Bits in jedem der Speicherteile. Die Auflösung oder Speicherkapazität jeder der Teilspeicher 66, 68, 70 und 72 kann durch Hinzufügung weiterer Speicherkarten in Schritten halber Karten erhöht werden. Obwohl die Karten aus Gründen ihres Daten-Transfers, der Adressenauswahl und der Steuerung von der Konfiguration 16K χ 24 sind, werden die Speicher-Chips der Karten in 8-Bit-Byte-Gruppen zusammengefaßt, wobei jede Karte 8 Byte an Parallelinformation aufweist. Jedes Byte nimmt die Video-Information für ein einziges Pixel an einem X, Y Matrix-Ort auf und ist weiter unterteilt in eine obere und eine untere Hälfte.
31U975
Aus diesem Grunde kann der Speicher in Schritten von jeweils einer halben Karten-Speicher-Kapazität oder Gruppen von 16K χ 4 Bytes erweitert werden. Die drei Karten für jede der Teilspeicher 66, 68 und 70 ergeben also 192 Bits oder 24 Bytes paralleler Daten, denen 24 Pixel an Video-Information entsprechen. Diese 24 Bytes an Daten wurden bereits als 'Superwort" bezeichnet und sind vorgesehen zur Aufnahme von Video-Information für 24 längs der X-Koordinate der Matrix aufeinanderfolgende Pixel, wobei die Grenze ggf der Anfang eines Super-
worts mit dem ersten Pixel jeder Abtastlinie bzw. -zeile ,
der Matrix zusammenfällt. Im folgenden wird davon ausgegangen, daß die XY-Pixel-Matrix mit dem Pixel 0,0 in der ;
oberen linken Ecke beginnt mit nach rechts (in Zeilenrich- :
tung) ansteigender X-Koordinate und mit nach unten (in Spaltenrichtung) ansteigender Y-Koordinate.Diese Anordnung führt zu 32 Superworten zur Festlegung der 768 Pixel in jeder Zeile multipliziert mit 512, der Anzahl der Abtastzeilen. Das Ergebnis sind 16K Superworte. Es sei daran erinnert, daß lediglich die Abtastzeilen 0 bis 484 tatsächlich sichtbar sind, so daß die übrigen Abtastzeilen für andere Zwecke als zur Abspeicherung von Video-Pixel-Informationen zur Verfügung stehen, beispielsweise zur Speicherung von Farbauswahl-Information. Die primären (Bild-) Teilspeicher 66, 68 und 70 werden über 14 Bits adressiert, welche eines der 16K Superworte in den Speicher-Chips auswählen. Die 14 Bits werden in üblicher Weise in 7 Zeilen-Bits und 7 Spalten-Bits im Multiplexbetrieb übertragen (multiplexed). Zeilenauswahlsignale (common row select signals) werden allen Speicher-Chips zugeführt mit speziellen (individuellen) Spaltenadressenauswahlsignalen (24 pro Teilspeicher) um eine individuelle Auswahl auf dem Byte-Niveau zu ermöglichen. Es kann also ein beliebiges einzelnes Byte oder Pixel an Information bei jedem einzelnen Teilspeicher zum Auslesen oder Einschreiben von Information ausgewählt werden.
Der überlagerungsbildspeicher 72 ist in gleicher Weise mit
311497S
X, Y-Matrix Koordinaten adressierbar, wie die anderen Teil- j speicher, nur wird lediglich ein Bit an Information anstelle | von 8 Bit für jeden Pixelort eingespeichert. Dementsprechend enthält der überlagerungsspeicher 72 lediglich eine halbe SpeicherkaxL.e und Ist als 16K Worte zu 24 Bit ( oder 3 Byte) -Speicher organisiert. Bei jedem Speicherzugriff liest oder | schreibt der Überlagerungsspeicher 72 24 Bit an Information, _ ( die 24 Pixeln entsprechen und ein Superwort für die primären Teilspeicher bilden. Der überlagerungsspeicher 72 ist Byte-weise adressierbar wie die primären Teilspeicher mit dem Unterschied, daß jedes Byte nicht einem einzigen Pixel, wie im Falle der primären Teilspeicher, sondern 8 einzelnen Pixeln in einer Matrixzeile entsprechen.
Jede der Teilspeicher des Bildspeichers 50 ist mit einem Eingabepuffer und einem Ausgabepuffer zur Speicherung eines Superworts an Information versehen. Der überlagerungsspeicher 72 verwendet einen 24 Bit-Eingabepuffer 76 sowie einen 24 Bit-Ausgabepuffer 78. Der Eingabepuffer 76 ist in drei steuerbare Bytes (bzw. Byte-Speicherplätze) unterteilt, die wiederum parallel an einen Daten-Bus (OD8) 80! mit 8-Leitungen angeschlossen sind. Der Daten-Bus 80 bildet einen Teil des in Fig. 1 gezeigten Daten-Busses 56. Die genannten 3 Bytes des Eingabepuffers 76 sind unabhängig voneinander über 3 Taktleitungen OWCLKO-2 ansteuerbar, welche einen Schreibbefehl an den Überlagerungsspeicher 72 abgeben. Dementsprechend können die 3 Bytes.des Ausgabepuffers 78 unabhängig voneinander angesteuert werden zur Ausgabe von Daten an den Bus 0D8 über 3 Leitungen ORDENO-2.
Daten werden über den den Bus OD8 80 umfassenden Daten-Bus 56 in sechs Hochgeschwindigkeits-Datenübertragungszyklen übertragen, wobei jeweils eine mit "Slice" oder "Barrel" bezeichnete Informationsmenge während jeder der sechs j
Zyklen übertragen wird. Im Falle des Überlagerungsspeichers j
j 72 wird ein erstes Byte an Daten während der ersten beiden Zyklen I
31U975
also mit Redundanz übertragen sowie ein zweites Byte lehrend des dritten und vierten Zyklusses und ein drittes Byte während des fünften und sechsten Zyklusses. Diese Redundanz ist vorgesehen, um die Pixel-Koordinaten-Synchronisierung mit den größeren Teilspeichern sicherzustellen, bei denen eine wesentlich größere Daten-Transfer-Bandbreite erforderlich
ist.
Der Y-Teilspeicher 66 besitzt einen 192 Bit-Eingabepuffer sowie einen 192 Bit-Ausgabepuffer 84. Jeder der Puffer 82
und 84 ist an einen 32 Bit Y-Daten-Bus 86 angeschlossen,
welcher in Fig. 2 mit YD 32 bezeichnet ist und einen Teil
des Daten-Busses 56 gemäß Fig. 1 bildet. Die Puffer 82 und 84 des Y-Teilspeichers 66 sind in sechs Gruppen zu je 4
Bytes organisiert und erhalten Daten bzw. geben diese ab
über den YD 32-Bus 68 in Gruppen zu 4 Bytes als Antwort
auf 6 mit YWCLKO-5 bezeichnete Y-Schreibtakt-Steuersignale bzw. 6 mit YRDENO-5 bezeichnete Y-Lesen-Auslösesignale.
Die 192 Bit eines Superworts werden also über den Daten-
bus YD 32 in sechs aufeinanderfolgenden hochfrequenten
"Slices" oder "Barrels" zu je 32 Bit oder 4 Byte übertragen. Die Pufferung sowie die Organisation des Daten-Transfers
bei dem I, Q-Teilspeicher 68 und bei dem Blau-Teilspeicher 70 ist im wesentlichen die gleiche wie bei dem Y-Teilspeicher 66 und wird daher nicht näher beschrieben.
Die Verwendung eines Eingabe- und Ausgabepuffers für jeden Bild-Teilspeicher führt dazu, daß der Bildspeicher 50 eine extrem große Daten-Bit-Bandbreite aufweist, welche es erlaubt, 5790 Bits parallel einzulesen oder auszuschreiben·. Der Multiplexbetrieb (multiplexing) der Puffer am Daten-Bus 56 mit sechs
getrennte "Slices" oder "Barrels" ermöglicht es, einen
Daten-Bus 56 einer wirtschaftlich günstigen Größe einzusetzen. Die extrem große Bandbreite des Bildspeichers 50 er-
möglicht einen kontinuierlichen Realzeit-Zugriff zum Bildspeicher 50 sowohl vom Video-Ausgabe-Prozessor 42 aus, welcher den Farbmonitor 58 betreibt, als auch vom Eingabe-Ab-
31HÜ7b
taster 44 aus, der die Video-Kamera-Information empfängt. Dies bedeutet, daß der Farbmonitor 38 im wesentlichen Realzeit-Information anzeigt, wie diese vom Eingabe-Scanner empfangen worden ist. Es sei darauf hingewiesen, daß eine kleine Phasenverschiebung bzw. Zeitverschiebung auftreten kann, welche erforderlich ist, um das Video-Signal, durch die Video-Verarbeitungseinrichtung 24 zu leiten (pipe lined). Die Bandbreite des Bildspeichers
50 ist ausreichend groß, so daß während eines Realzeit-Video-Zugriffes auf den Bildspeicher 50 vom Eingabe-Scanner 44 und vom Video-Ausgabe-Prozessor 42 aus gleichzeitig niederfrequente Zugriffe von zusätzlichen Bauteilen, wie beispielsweise der Bildadressen-Umwandlungsschnittstelle 48 und der Chip-Auffrischungsschaltung aus zum Speicher möglich sind.
In Fig. 3 wird in näheren Einzelheiten die Speichersteuerung 52 gezeigt, welche von verschiedenen Bauteilen der Video-Verarbeitungseinrichtung 24 X/Y-Adressen sowie Bildspeicher-Zugriffs-Anforderungen empfängt und hierauf Adressen erzeugt sowie Zeitablauf-Befehle bzw. Zeitbefehle für den Zugriff zu den Teilspeichern in der tatsächlichen Bauteile-Zusammenstellung (hardware configuration) des Bildspeichers 50. Ein Anforderungs-Abtaster 100 empfängt die Bildspeicher-Zugriffsanforderungen von Bildspeicherbenützern an 8 mit REQA bis REQH bezeichneten Eingängen und kommt" der jeweiligen Anforderung mit einer Prioritätsregelung nach, wobei der Eingang REQA die höchste Priorität besitzt. Einer Gedächtnisauffrischungsanforderung wird die höchste Priorität am Eingang A zugewiesen, wobei jedoch, um ausgeführt zu werden, ein in Fig. 3 mit REQ-EN bezeichnetes Freigabesignal einer Zeitablauf-und Steuer logikschaltung 102 am Anforderungs-Abtaster 100 anliegen muß. Die Gedächtnisauffrischung kann im Falle einer Uberprüfungs - oder Uartungs-Betriebsart gesperrt werden. Während des Normalbetriebes geschieht der Zugriff des dem Eingabe-Abtaster 44 und des Video-Ausgabe-Prozessor 42 zum Bildspeicher 50 aus-
31U975-
reichend schnell sowie sequentiell, so daß die Anforderungen der Gedächtnisspeicher-Chips des Bildspeichers 50 in Bezug auf (rechtzeitige) Auffrischung erfüllt werden können. Drei einen ausgewählten Benutzer (user) identifizierende endocierte Signale werden einer ersten Bestätigungs-Decodierschaltung 104 sowie einer zweiten Bestätigungs-Decodierschaltung 106 zugeführt. Die erste Bestätigungs-Decodierschaltung 104 gibt auf ein Benutzer-Auswahlsignal der Zeitablauf- und Steuerlogikschaltung 102 hin ein erstes Benutzer-Bestätigungssignal an den ausgewählten Benutzer ab. Der Benutzer antwortet auf das erste Benutzer-Bestätigungssignal, indem er X-Y-Adressen- oder andere Steuerinformation in einen Benutzer-Bus 108 eingibt, d.h.auf den Benutzer-Bus 108 plaziert. Anschliessend erzeugt die zweite Bestätigungs-Decodierschaltung 1O6 auf ein Daten-Bus-Zulassungssignal der Zeitablauf- und Steuerlogikschaltung 102 hin ein zweites Benutzer-Bestätigungssignal für den ausgewählten einen von 8 Benutzern als Aufforderung an den Benutzer auf den Daten-Bus 56 Daten zu plazieren oder von diesem Daten anzunehmen. Im Falle des Transfers von Byte- oder wortartigen Daten erzeugt die Zeitablauf- und Steuerlogikschaltung 102 einen Einzelimpuls an einem signalbestimmten nicht adressierbaren Benutzer-Hilfsspeicher (signal designated user bump). Dieser Einzelimpuls dient als Lesen-Freigabeimpuls oder als Schreibtaktsignal des Benutzers, welches durch das zweite Benutzer-Bestätigungssignal freigegeben wird. Im Falle der Daten-Übertragung in Form der vorgenannten "Barrels" über den Daten-Bus 56 werden auf des Benutzer-Hilfsspeichersignal hin sechs sequentielle Pulse von der Zeitablauf- und Steuerlogikschaltung 102 erzeugt, um die sechs aufeinanderfolgenden "Sclices" oder "Barrels" eines Superwortes zu takten. Der Anforderungs-Abtaster 100 gibt an die Zeitablauf- und Steuerlogikschaltung 102 einen Zugriffsfolge-Startbrfehl (sequence start command) um eine Bildspeicher-Zugriff sfolge auszulösen; dafür empfängt er Freigabesignale, nämlich Barrel-Freigabesignale und Nicht-
31HIiYb
-20-
Barrel-Anforderungs-Freigabesignale um den Anforderungs-Abtaster 100 dazu zu bringen, eine Benutzeranforderung mit höchster Priorität (highest priority user request) zu einem gegebenen Zeitpunkt festzuhalten (latch).
Ein Feld-Decodierer (field decoder) 109 erhält über den Benutzer-Bus 108 ein 3-Bit-Benutzerfeldsignal, zur Adressierung eines bestimmten Teilspeichers der Teilspeicher 66, 68, 70 oder 72 innerhalb des Bildspeichers 50. Beispielsweise kann durch "Null" der Überlagerungsteilspeicher angewählt werden, durch "eins" der Y-Teilspeicher 66, durch "zwei" der IQ-Teilspeicher 68, durch "drei" der B-Teilspeicher 70 und durch "sieben" sämtliche vier Teilspeicher gleichzeitig. Der Feld-Decodierer 109 gibt an einen Spalten^-Adressenauswahl-Decodierer 110 und einen Gedächtnissignalspeichersteuerungs-Decodierer (memory latch control decoder) 112 als Antwort auf die drei Benutzerfeldeingangssignale bzw. auf das 3-Bit-Benutzerfeldsignal hin vier individuelle Signale ab, welche die getroffene Auswahl der einzelnen Teilspeicher Y, (I, Q) B und Ö wiederspiegeln. Der Feld-Decodierer 109 empfängt daneben auch Benutzersteuersignale, welche anzeigen, ob ein angeforderter Zugriff ein Lese- oder ein Schreib-Zugriff ist (in Fig. 3 bezeichnet mit USER. R/W, ob der angeforderte Zugriff sich auf eine Barrel-weise (1 Barrel = 32 Bit), oder n'icht-Barrel-weise übertragung eines Superworts (super word =192 Bit) bezieht und für den Fall des nicht-Barrelweisen Zugriffs, ob der Zugriff Wort-weise (1 Wort = 16 Bit) oder Byte-weise (1 Byte = 8 Bit) durchgeführt werden soll.
Kurz,nachdem die Zeitablauf- und Steuerlogikschaltung ein Benutzerauswahlsignal erzeugt hat,, um einem anfordernden Benutzer zur Plazierung von Adressen- und Steuerinformation auf den Benutzer-Bus zu veranlassen, erzeugt die Schaltung 102 ein Adressenfesthalte-Taktsignal, welches sowohl den Decodierer 109 als auch den Adressen-Übersetzer 114 zum Empfang und zum Festhalten der Benutzer-Information veranlaßt.
3114375
Jedes Mal, wenn ein neuer Gedächtniszugriffszyklus beginnt/ gibt die Zeitablauf- und Steuerlogikschaltung 102 einen weiteren Zyklus-Impuls an den Feld-Decodierer 109 ab. Um eine maximale Bandbreite des Bildspeichers 50 und seines verbindenden Daten-Busses 56 zu erhalten, werden die Daten ineinander verschachtelt bzw. verzahnt (interleave type of data transfer) transferiert. Der Feld-Decodierer 108 muß daher sowohl einen momentan durchgeführten Gedächtniszugriffszyklus als auch den nächsten Zyklus verfolgen bzw. im Auge haben, wobei dann der neue Zyklusbefehl den Feld-Decodierer 109 dazu veranlaßt, die den gegenwärtigen Zyklus betreffende Information freizugeben, die Zyklus-Information des nächsten Zyklusses als Information für den gegenwärtigen Zyklus umzudeuten und die Information des neuen nächsten Zyklusses anzunehmen. Während eines momentanen Lese-Zyklusses, bei dem Information in den einzelnen Gedächtnis-Chips adressiert und zu Ausgangspuffern in dem Teilspeicher transferiert wird, können beispielsweise für den nächsten Schreib-Zyklus Daten über den Daten-Bus zu Eingangspuffern der Teilspeicher,aufgeteilt in sechs aufeinander- · folgende Barrels oder Slices, verschoben werden. Nach Ab- j schluß des momentanen Lese-Zyklusses können die Lese- j
Daten in Barrelform über den Daten-Bus 56 weitergeleitet !
werden, während die zuvor gepufferten Schreib-Daten in die Teilspeicher eingeschrieben werden. Um diese überlappende Betriebsart zu ermöglichen, gibt der Feld-Decodierer 109 an die Zeitablauf- und Steuerschaltung 102 Signale ab, welche anzeigen, ob bei dem nächsten BiIdspeicherzugriffszyklus die Daten in Form von Barrels oder nicht in Form von Barrels übertragen werden, ob der momentane und der nächste Zyklus gleich bzw. ähnlich sind, ob der nächste Zugriff ein Lese- oder ein Schreib-Zugriff ist, ob der momentane Zugriff Barrel-artig oder nicht Barrel-artig ist/ ob der momentane Zugriff ein wortartiger oder ei α Byte-artiger Zugriff ist für den Fall eines nicht-Barrel-artigen Zugriffs und ob der momentane Zugriff
I 4 a / b
ein Schreib- oder Lese-Zugriff ist. Die Zeitablauf- und Steuerlogikschaltung 102 erzeugt auf diese Information hin Zeitablauf- und Steuerlogiksignale, um den Teilspeicher-Gedächtnis -Chip und den Eingabe- und Ausgabepuffern geeignete Adressen-Information verfügbar zu machen und um den Transfer von Information über den Daten-Bus 56 zu steuern.
Der Adressen-Übersetzer 114 umfaßt einen programmierbaren Pestspeicher (ROM) der die XY-Pixelmatrix-Auswahladressen empfängt und zwar in Form von 10 Bit X-Adresse oder Spaltenadresse und 10 Bit Y-Adresse oder Abtastzeilenadresse. Hierauf wird eine Übersetzung in eine als Wort-Adresse für die eigentlichen 16K Gedächtnis-Chips dienende Superwort-Adresse, eine 3 Bit Gedächtnistafelzahl (memory board number) und eine 3 Bit Pixelzahl durchgeführt, die die Identifizierung eines speziellen Worts oder Bytes innerhalb eines Superworts während eines nicht-Barrel-artigen Gedächtniszugriffs erlaubt.
Ein Adressenmultiplexer 116 empfängt die 14 Bit Superwort-Adresse sowie ein Spalte-Zeile-Auswahlsignal von der Zeitablauf- und Steuerlogikschaltung 102, um die 14 Bit Superwort-Adresse in zwei 7 Bit Zeilenmultiplex-Adressen umzuwandeln, wobei zuerst eine ausgewählte Zeile identifiziert wird und dann eine ausgewählte Spalte innerhalb eines Gedächtnis-Chips.
Der Spaltenadressenauswahl-Decodierer 110 gibt auf die 4 Y/Rot-f I,Q/Grün-j Blau-und O-Auswahlsignale, wie auch auf die Tafel-Zahl- und Pixel-Zahl-Auswahlsignale hin ein Spaltenadressenauswahlsignal ab, um den Zugriffvorgang (accessing) bei jedem gesondert steuerbaren Daten-Byte innerhalb, des Bildspeichers 50 gesondert steuern zu können. Das heißt, daß 24 Spaltenadressenauswahlsignale für jeden der primären Teilspeicher 66, 68 und 70 erzeugt werden und 3 Spaltenadressenauswahlsignale für den Über-
lagerungsteilspeicher 72. Bei einem Barrel-artigen Lese-Zugriff oder einem Barrel-artigen Schreib-Zugriff sind sämtliche Byte-Orte innerhalb eines beliebig ausgewählten oder innerhalb sämtlicher Teilspeicher aktiviert. Für den Fall eines nicht-Barrel-artigen Lese-Zugriffs werden vollständige Superwörter an Daten in die Ausgabepuffer geladen, wobei ein einziges Slice oder Barrel zum Transfer über den Daten-Bus 56 ausgewählt ist unter Nichtberücksichtigung der anderen 5 Slices oder Barrels. Im Falle eines nicht-Barrel-artigen Schreibvorgangs jedoch enthält lediglich ein Wort oder ein Byte eines 24 Byte-Eingabepuffers gültige Information; es muß daher ein ausgewähltes Adressenauswahlsignal für 2 bzw. 1 Spalte erzeugt werden, um zu erreichen, daß 1 Wort bzw. 1 Byte an Information lediglich in die entsprechenden 2 bzw. 1 Byte-Datenspeicherorte eingeschrieben wird.
Ein Signalspeicher-Steuerungs-Decodierer (memory latch control decoder) 112 erzeugt jeweils 6 Steuersignale für jeden der Eingabe- und Ausgabepuffer sowie jeweils 3 Steuersignale für die Eingabe- und Ausgabepuffer des Überlagerungs-Teilspeichers, um hierdurch den Informations-Transfer zwischen den Eingabe- und Ausgabepuffern 76, 78, 82, 84 und dem Daten-Bus 56 zusteuern. Im Falle eines Barrelartigen Transfers wird der Reihe nach für die bei den einzelnen Teilspeichern zu transferierenden Daten jedes der 6 Signale für den Transfer in der ausgewählten Lese- oder Schreib-Richtung freigegeben (enabled) . Die Y/Rot-, 1,0/GrUn-, Blau- und O-Auswahlsignale vom Feld-Decodierer 109 (in Fig. 3 bezeichnet mit Y,I7Q7B,O SEL) veranlassen die Erzeugung dieser Steuersignale für die Puffer und zwar für eine oder sämtliche der Teilspeicher entsprechend der vorstehend erwähnten 3 Bit-Benutzer-Feldsignale (in der Zeichnung mit "user field 0-2" bezeichnet). Im Falle eines Barrel-artigen Daten-Transfers werden die 6 se-
.: -;' .-.; ^ 3114375
quentiellen Schreitakt-Signale für einen Daten-Transfer auf 6 Schreibtakt-Signale WRITECLKO-5 der Zeitablauf- und Steuerlogikschaltung 102 hin erzeugt, während 6 Lese-Freigabesignale auf 6 Freigabesignale READENO-5 der Zeitablauf- und Steuerlogikschaltung 102 hin erzeugt werden. Falls die Daten nicht Barrel-artig transferiert werden, empfängt die Zeitablauf- und Steuerlogikschaltung 102 die mit der Tafel-Nummer und der Pixel-Nummer encodierten Ausgangssignale des Adressen-Übersetzers 114, um hierauf lediglich ein Schreibtakt-Signal oder ein Lese-Freigabesignal zu erzeugen, entsprechend dem einen von 6 Superwort-Slices oder -Barrels, welches das adressierte Wort bzw. Byte enthält. Es wird daher lediglich ein einziges "Slice" an Daten für jeden ausgewählten Teilspeicher über den Daten-Bus im nicht Barrel-artigen Zyklus transferiert. Es liegt nun am Benutzer das vollständige Slice aufzunehmen und das gewünschte Wort oder Byte aus dem 4 Byte-Slice auszuwählen.
Eine Haupt-Bus-Schnittstellenschaltung (master bus interface circuit) 118 sorgt für die Kopplung und Decodierung des Haupt-Busses 40 mit einem Wartungs-Bus (maintenance bus) 120. Der Wartungs-Bus 120 stellt eine Bus-Haupteinheit - für den Rechner-Bus 12 dar (bus master on computer bus), d.h. mit direktem, adressierbaren Zugriff über den Haupt-Bus 40 zu ausgewählten Worträumen innerhalb der Speichersteuerung 52 zu Zwecken der Wartung und der Überprüfung. Der Einfachheit halber sind die Verbindungen des Wartungs-Busses 120 weggelassen; es liegt auf der Hand, daß der Bus 120 auf adressierte Schreib-Befehle hin in Speicherregister der Speichersteuerung einzuspeichernde Daten transferieren kann, "und daß in ähnlicher Weise adressierbare Gatter (gates) auf adressierte Lese-Befehle hin wahlweise Daten auf dem Wartungs-Bus 120 plazieren können. Beispielsweise kann es erwünscht sein, daß die zentrale Verarbeitungseinheit (CPU) 14 von sich aus in die Eingangssignalspeicher bzw. -zwischenspeicher (input
31H375
-25-
latches) adressierbar einschreiben kann, um den Anforderungs-Abtaster 100, den Feld-Decodierer 109 und den Adressen-Übersetzer 114 aufzufordern, Benutzerfehlsignale zu simulieren. In ähnlicher Weise können ausgewählte Registerausgänge für Steuersignale über den Wartungs-Bus 120 zur zentralen Verarbeitungseinheit (CPU) 14 durchgeschaltet werden, um die Funktionen der Speichersteuerung 52 überprüfen zu können. Es sei angemerkt, daß der Wartungs-Bus 120 sich auch bis zur Zeitablauf- und Steuerlogikschaltung 102 hin erstreckt.
Die Prinzipien, nach denen Daten adressierbar in Datenräume von Subsystemen eingeschrieben und ausgelesen werden können, sind näher in einer mit dieser Anmeldung gleichzeitig eingereichten weiteren Anmeldung beschrieben. Diese weitere Anmeldung trägt den Titel" Bbchgeschwindigkeits-Zeitsignalgenerator, insbesondere zum Erzeugen von Rahmen- oder Halbbildaustastperioden in einem Rasterabtast-Videosystem". Der Erfinder ist Rodney D. Stock; die für diese Anmeldung prioritätsbegründende Anmeldung wurde am 11. April 1980 in den Vereinigten Staaten von Amerika eingereicht und erhielt die US-Serial No.139,332 ; beide Anmeldungen haben den gleichen Anmelder.
Der in Fig. 4 dargestellte Eingabe-Abtaster 44 umfaßt eine Farb-Kamera 130, welche rote (R), grüne (G) und blaue (B) Farb-Video-Signale an eine Umwandlurigsmatrix 132 abgibt, die wiederum diese RGB-Leistungs- bzw. Stromsignale in ein YIQ-Format umwandelt. In einem hierzu alternativen monochromen oder einfarbigen System gibt eine monochrome Kamera 134 das Y-Insitätssignal an einen Schalter 136, welcher entweder das Y-Signal der monochromen Kamera 134 oder das der Umwandlungsmatrix 132 zuschaltet ( siehe Fig. 4). In einem monochromen System können natürlich diejenigen Teile des Eingabe-Abtasters 44, welches sich auf die I- und Q-Signale beziehen, entfallen.
Die Y-I- und Q-Video-Signale werden jeweils durch Tiefpass-Filter 138, 139 bzw. 140 hindurch einem Schalter 142 mit drei jevreils zwei i'chaltstellungen einnehmenden Umschaltern zugeführt.
31U975
wobei jeweils einer der beiden Kontakte jedes einzelnen Umschalters mit den Filtern 138, 139 bzw. 140 verbunden ist um deren Y-I- und Q-Signale zu empfangen, und die jeweils anderen Kontakte mit einem Kammfilter (comb filter) 144 verbunden sind, um von diesem auf ein NTSE-Kombinations-Video-Signal (in der Fig. mit NTSE composite video bezeichnet) hin Y-, I-, Q-Ausgangssignale zu empfangen. Die analogen Ausgangssignale des Schalters 142, welche mit AY, AI und AQ bezeichnet sind, werden abgetastet (sampled) und mit Hilfe von Analog-Digital-Wandlern 146, 147 und 148 (in der Fig. mit A/D bezeichnet) in eine 8-Bit-Digital-Diirstellung umgewandelt. Der Analog-Digital-Wandler 146 tastet das Signal AY mit einer Pixelfrequenz ab, deren Periode angenähert 70 Nanosekunden beträgt und zwar aufgrund eines von einer Zeitablauf- und Steuerlogikschaltung 150 erzeugten Signal YCLK hin. In entsprechender Weise tasten die Wandler 147 und 148 auf ein Signal IQCLK der Zeitablauf- und Steuerlogikschaltung 150 hin die Signale AI bzw. AQ ab, jedoch mit der halben Pixelfrequenz. Diese Abtastung mit der halben Frequenz führt dazu, daß dann, wenn die IQ-Signale im IQ-Teilspeicher 48 zusammengefaßt sind mit den I-Werten an geraden Pixelorten und den Q-Werten an den ungeraden Pixelorten deren zusammengefaßte Datenfrequenz gleich ist der Y-Signaldatenfrequenz. Die zusammengefaßten IQ-Signale können also synchron und parallel mit dem Y-Signal verarbeitet werden.
Ein vom Taktsignal YCLK gesteuerter Y-Speicher 152 empfängt die 8 Bit-Ausgangssignale des Wandlers 146 als Lese-Adresse-Eingangs signal und gibt daraufhin ein dementsprechendes 8 Bit-Wort ab. Der Y-Speicher 156 stellt ein äußerst einfaches, wirtschaftliches und dennoch wirkungsvolles Mittel zur Abänderung des Y-Signals entsprechend einer vorhorbestimmten Funktion dar. Beispielsweise könnte der Y-Speicher 152 an sämtlichen seiner 256 adressierbaren Orte Daten abspeichern, welche gleich der der Adresse für den jeweiligen Ort sind. Dies würde dazu führen, daß die Ausgangssignale
des Y-Speichers 152 identisch mit ihren Eingangssignalen sind. Alternativ hierzu könnte der Y-Speicher 152 Daten für eine Korrektur von Nichtlinearitäten im Y-Signal enthalten oder für eine andere erwünschte funktionelle Be-Ziehung zwischen den Eingangs- und den Ausgangs-Signalen sorgen. Ein I-Speicher 154 sowie ein Q-Speicher 156 erlauben in ähnlicher Weise funktionale Transformationen der I-bzw. Q-Signale. Ein Zweizeilen-Y-Puffer 158 (double line Y buffer) enthält zwei 768 χ 8 Zeilen-Puffer zur Abspeicherung der Y-Komponente des vom Y-Speichers 152 abgegebenen Video-Signals. Die Zeitablauf- und Steuerschaltung 150 erzeugt Puffer-Eingabe-Kontrollsignale für die Abspeicherung einer Zeile an Video-Information in einem ersten Pufferteil des Puffers 158.
Sobald der erste Pufferteil eine Zeile der Video-Y-Komponenten-Information speichert, wird eine Umschaltung vorgenommen, woraufhin die Puffer-Eingabe-Kontrollsignale den Puffer 158 dazu veranlassen, die zweite Zeile der Video-Information in einen zweiten Pufferteil aufzunehmen und abzuspeichern. Bei einem Zweifelderformat (bzw. Halbbildformat) entspricht die zweite Zeile der Video-Information der zweiten Zeile des ersten (Halb-)Bildes oder der dritten Zeile des vollständigen Bildes. Nach Abspeicherung der zweiten Zeile der Information in den zweiten Teil des Zweizeilen-Y-Puffers 158 erzeugt die Zeitablauf- und Steuerschaltung 150 Puffer-Ausgabe-Steuersignale, welche den ersten Teil des Puffers 158 anweisen, die vorher abgespeicherte erste Zeile der Information über einen mit YD 32 bezeichneten Y-Daten-Bus-Teil des Daten-Busses 156 dem Y-Teilspeicher 66 des Bildspeichers 155 zuzuführen. In der Zeit, in der der zweite Teil des Puffers 158 die zweite Zeile an Information aufnimmt, hat der erste Teil des Puffers 158 seinen gesamten Speicherinhalt zu dem Y-Teilspeicher 66 transferiert, so daß er nun mit der Aufnahme der dritten Zeile der Video-Information beginnen kann, während die zweite Zeile der Video-Information vom zweiten Teil des Puffers 158 zu entsprechenden Speicher-
-28-
orten im Y-Teilspeicher 66 des Bildspeichers 55 transferiert wird. Der Puffer 158 ermöglicht es also, daß vollständige Daten-Zeilen zum Y-Teilspeicher 66 transferiert werden, während er gleichzeitig die Möglichkeit der Pufferung bietet, um hierdurch Verzögerungen bei der Herstellung des Zugriffs zum Bildspeicher 50 auszugleichen, wie auch wechselnde Pausen bzw. Pausenenden ggf. wechselnde Burstsignale (bursts) als Ergebnis der großen Bandbreite des Superworts-Transfers über den Daten-Bus YD 32 in 6 sequenziellen Slices oder Barrels zu je 4 Bytes. Das heißt, daß nach der Übertragung eines 24 Byte-Superworts' über den Daten-Bus in schneller Folge eine Pause eingelegt werden kann, während der der Eingabe-Abtaster 44 auf den Zugriff zum Bildspeicher 50 für einen weiteren Daten-Transfer wartet. Unter normalen Umständen kann erwartet werden, daß der gerade auslesende Teil des Puffers 58 seinen Inhalt in den Teilspeicher 66 vollständig ausgelesen haben wird, ehe der andere Teil des Puffers 158 eine Zeile der ankommenden Video-Daten vollständig eingelesen hat.
Die Wirkungsweise des Zweizeilen-IQ-Puffers 160 (douple line IQ-buffer) ist im wesentlichen identisch mit der des Puffers.158, mit dem Unterschied, daß der Puffer 160 abwechselnd die Ausgangssignale des I-Speichers 154 und des Q-Speichers 156 aufnimmt. Da diese Ausgangssignale jeweils mit der halben Datenrate der Ausgangssignale des Y-Speichers 152 übertragen und vom Puffer aufgenommen werden, ist die Gesamtdatenübertragungsrate des Puffers 160 identisch mit der des Puffers 158. Ein Bildspeicher-Adressenzähler 162 stellt die XY-Matrix-Superwortenden der von den Puffern 158 und 160 dem Bildspeicher 150 übermittelten Superworte fest und wird von der Zeitablauf- und Steuerschaltung 150 boi jeder Supo.rwort-Ausgabe inkrementiert (weitergezählt)· Die Zeitablauf- und Steuerschaltung 150 gibt daneben auf ein in Fig. 4 mit ACK1 (von ACKNOWLEDGE 1) bezeichnetes Signal der Speichersteuerung 46 hin
31J4375
ein Adressen-Ausgabe-Freigabe-Signal (address output
enable signal) ab und erzeugt ein Rückstellsignal, welches die Synchronisierung des Adressenzählers 162 mit
dem einlaufenden Video-Signal ermöglicht. Die Zeitablauf-
und Steuerschaltung 150 erzeugt und empfängt die Benutzer- j Bus-Steuersignale, welche vorstehend in Verbindung mit
der Speichersteuerung 46 beschrieben worden sind. Die mit
"field 0-2" bezeichneten Ausgänge bzw. Ausgangssignale
legen eine Zahl 6 fest, welche für die Auswahl des Y-
Teilspeichers 66 sowie des I,Q-Teilspeichers 68 des
Bildspeichers 50 für den gleichzeitigen Daten-Transfer '
steht. Mit Hilfe kleinerer Abänderungen, wie der Hinzufügung eines dritten Zwei-Zeilen-Puffers zur Pufferung ; sämtlicher drei Farbkomponenten und entsprechender
Anpassungen der Umwandlungsmatrxx 132 und der Tiefpass-Filter 138 bis 140, kann der'Eingabe-Abtaster 44 ohne
weiteres in einen vollständigen rgb -Dreifarben-Eingabe-Abtaster erweitert werden. Der derart erweiterte Eingabe —-Abtaster würde dann in einer Konfiguration einge-
setzt werden, bei der der Bildspeicher 50 mit 3 primären Teilspeichern 66, 68 und 70 ausgerüstet wäre, in
denen dann die Signal-Komponenten für rot, grün und blau
einzuspeichern wären.
Eine Haupt-Bus-Schnittstellenschaltung 164 sowie ein
dieser zugeordneter Wartungs-Bus 166 sorgen für eine i
Verbindung zum Haupt-Bus 40, um einen einer am Rechner- !
Bus angeschlossenen Haupteinheit - (computer bus 12 master) < einen adressierbaren Lese- und Schreib-Zugriff zu ausge-
wählten Datenspeicherorten und Datenstatus-Informationen j
des Eingabe-Abtasters 44 zu ermöglichen. Ähnlich dem !
Wartungs-Bus für die Speichersteuerung 64 bzw. 52 er- ι
laubt der Wartungs-Bus 166 sowohl das Einschreiben als j auch das Auslesen ausgewählter Wortorte im Y-Speicher
152, I-Speicher 154 und Q-Speicher 156 wie auch das f
Einschreiben und Auslesen von Daten in bzw. aus den \
Zwei-Zeilen-Puffern 158 und 160. Es besteht auch ein !
Wartungs- und Überprüfungs-Zugriff zu ausgewählten In-
; formationsgruppen innerhalb der Zeitablauf- und Steuer-
! schaltung 150. Die Eingabe- und Ausgabe-Puffer jedes
j Teilspeichers sorgen für eine extrem große Daten-Bit-
■ 05 Bandbreite des Bildspeichers 50, die es erlaubt, daß j 5790 Bits parallel gelesen oder geschrieben werden, wäh
rend, aufgrund der im Multiplex-Verfahren auf dem Daten-Bus 56 mit sechs getrennten Slices oder Barrels betrie-
'-. ' benen Puffer, der Daten-Bus 56 eine wirtschaftlich vorteil-
hafte, d.h. vergleichsweise geringe Größe aufweist. Die extrem große Bandbreite der Daten-Übertragung vom bzw. zum Bildspeicher 50 ermöglicht einen kontinuierlichen, realzeitmäßigen Zugriff zum Bildspeicher 50 und zwar sowohl von dem den Farbmonitor 39 betreibenden Video-Ausgabe-Prozessor 42 als auch von dem die Video-Kamera-Information aufnehmenden Eingabe-Abtaster 44 aus. Der Farbmonitor 39 kann daher im wesentlichen Realzeit-Information, wie sie vom Eingabe-Abtaster 44 aufgenommen wurde, wiedergeben. Es gibt natürlich eine geringe PhasenverSchiebung aufgrund des Durchlaufs des Video-Signals durch den Ausgabe-Prozessor 42 des Video-Verarbeitungssystems. Die Bandbreite des Speichers 50 ist ausreichend groß, so daß während eines Realzeit-Video-Zugriffs vom Eingabe-Abtaster 44 und vom Video-Ausgabe-Prozessor 42 aus gleichzeitig ein niederfrequenter Zugriff zum Speicher 50 von zusätzlichen System-Komponenten, wie beispielsweise einer Bildadressen-Umwandlungs-Schnittstelle 48 und einer Gedächtnis-Auffrischschaltung vorgenommen werden kann.
30
Die in Fig. 5 dargestellte Bildadressen-ümformungs-Schnittstelle 48 (in Fig. 1 mit PATI = picture address transform interface bezeichnet) umfaßt eine Haupt-Bus-Schnittstellenschaltung 180 (master bus interface circuit), welehe an die Haupt-Bus-Adressen- und Steuerschaltungen angeschlossen ist, in Fig. 5 mit MBATC 0-12 (Master Bus address and control circuits 0-12) gekennzeichnet und
.. . 31.14375
ein System-Takt-Signal SSYNC (£ystem sync signal) zurück J an den Haupt-Bus 40 abgibt, um die Kommunikation zwischen j Haupt-Bus 40 und Schnittstellenschaltung 48 (PATI) zu erleichtern. Die Schnittstellenschaltung 48 umfaßt weiterhin eine Zeitablauf- und Steuerschaltung 182, welche von der Haupt-Bus-Schnittstellenschaltung 180 Haupt-Bus-Steuer signal-Information aufnimmt und hierauf die erforderlichen Zeitablauf- und Steuerungssignale für die Bildadressen-Umformungsschnittstelle 48 erzeugt. Diese Steuersignale umfassen Signale, welche der Haupt-Bus-Schnittstellen-Schaltung 180 übermittelt werden, um die Erzeugung decodierter Lese-Decodier-Signale RDECO-15 (von read decode signal) sowie von Schreib-Decodier-Signalen WDECO-15 (von write decode signal) zur Auswahl spezieller Register- und Gatter-Orte entsprechend den Haupt-Bus-Adressen zu veranlassen. Die Zeitablauf- und Steuerschaltung 182 erzeugt daneben auch ausgewählte Decodier-Signale für eine Durchschaltung (gating) und für ein Laden (loading) ausgewählter Daten und Registerorte, wobei die Durchschaltsignale mit GEO-15 (von GATE enable) und die Schreib-Signale mit WSO-15 (von write sstrobe) bezeichnet sind. Zwei Puffer 184 und 185, welche drei Zustände annehmen können (tri-state buffers) werden auf die decodierten Zeitablauf-Signale WSO und GEO hin aktiviert, um zwisehen dem 16 Bit-Haupt-Daten-Bus (in Fig. 5 mit MBDATO-15 von master bus data bezeichnet) und einem gepufferten internen Daten-Bus (in Fig. 5 bezeichnet mit BDATO-5 von I buffer data bus) der Schnittstelle 48 (PATI) eine in \
——. , ii - ι ii I
beide Richtung erfolgende Kommunikation (Datenaustausch) ■;
zu ermöglichen. Der gepufferte Daten-Bus BDATO-15 stellt |
eine Kommunikationsverbindung zu allen Haupt-Komponenten [-
der Schnittstelle 48 her unter Einschluß der Zeitablauf- '
und Steuerschaltung 182, einer Benutzer-Bus-Schnittstellen- :
Schaltung 188, eines Adressen-Steuerregisters 190, eines f.
Daten-Puffers 192 und eines X-Y-Adressen-Gebers 194. |
Das Adressen-Steuerregister 190 wird auf das Schreib-Decodier-Signal WDECO der Haupt-Bus-Schnii.tstellenschaltung >
180 hin mit Daten des Haupt-Daten-Busses geladen. Das Adressen-Steuerregister 190 speichert von der zentralen Verarbeitungseinheit 14 (CPU) zur Steuerung der Betriebsart der Schnittstelle 48 (PATI) bereitgestallte Zustands-Informationen (status information).
Aufgrund der großen Pixelzahl eines einzigen Fernseh-Videobildes (268 Pixel pro Zeile χ 468 Zeilen oder Abtastlinien) kann der normale CPU Adressenraum nicht dafür hergenommen werden, die einzelnen Pixelorte innerhalb eines Bildes an Video-Information zu unterscheiden. Die Identifizierung eines Pixelortes durch die Verarbeitungseinheit 14 (CPU) wird in zwei Schritten durchgeführt, nämlich indem zuerst über den Rechner-Bus 12 und den Haupt-Bus 40 eine 10 Bit-X-Adresse zur Identifizierung eines bestimmten Pixelortes innerhalb einer Zeile (d.h. durch Angabe der Spalte) transferiert wird und dann eine 10 Bit-Y-Adresse zur Identifizierung einer speziellen Zeile innerhalb des Bildes. In einem dritten Daten-Übertragungsschritt wird die dem Pixelort entsprechende Video-Information übermittelt. Da die drei primären Teilspeicher 66, 68 und 70 ein Byte an Information pro Pixelort und der Überlagerungsteilspeicher 72 ein Bit an Information für jeden Pixelort speichert, die Daten jedoch ausschließlich in Datengruppen im Byte-Bereich transferiert werden, ist es notwendig, für die Kommunikation mit einem einzigen Pixelort in sämtlichen vier Teilspeichern bis zu 4 Byte an Daten zu übermitteln.
Um Zugriffsfolgen zum Bildspeicher zu erleichtern und hierbei zu vermeiden, daß bei jedem Vorgang ein X-Adressen-Informationswort sowie ein Y-Adressen-Informationswort transferiert werden muß, ist bei der Schnittstelle 48 (PATI) eine vom Adressen-Steuerregister 190 gesteuerte blockartige Betriebsart (block mode) vorgesehen, bei der die Adressenorte selbsttätig inkrementiert, d.h. weitergezählt werden, sofern Umstände vorliegen, die von der zentralen Verarbeitungseinheit 14 (CPU) durch Einschreiben bestimm-
311/ "" :~7 <"
ter Betriebsart -'Steuerinformation in das Adressen-Steuerregister 190 festgelegt werden können. Die in Fig. 5 angegebenen Bit-Orte 15, 14 und 13 des Adressen-Steuerregisters 190 speichern Daten-Bits zur Veranlassung einer automatischen Inkrementierung von Pixel-Adressen auf einen Zugriff zum Y/Rot-Teilspeicher 66, IQ/Grün-Teilspeicher 68 und zum Blau-Teilspeicher 70 hin. Diese Bit-Stellen sind in Fig. 5 mit EAINCY (von enabling automatic incrementing), EAINC I,Q und EAINC B bezeichnet. Die Bit-Stelle 10 speichert dementsprechend ein mit EAINCO bezeichnetes Bit zur Veranlassung eines automatischen Adressenweiterzählens bei Zugriff zum Überlagerungsspeicher 72. Die Bit-Stellen 9 und 8 speichern mit EAINCR und EAINCW bezeichnete Bits zum automatischen Weiterzählen bei einem Lese- bzw. Schreib-Zugriff. Die Bit-Stelle 2 steuert die blockartige Betriebsart; das entsprechende Bit (logische 1) veranlaßt den blockartigen Betrieb und ist mit BME (von block mode enable) bezeichnet, während bei Vorliegen einer logischen Null ein einfacher Lese- oder Schreib-Zugriff ohne automatische Adressenweiterzählung veranlaßt wird. Die Bit-Stelle 1 zeigt an, ob während der blockartigen Betriebsart die Pixeladressen zu · erhöhen oder erniedrigen sind; das entsprechend abgegebene Signal ist mit ADEC/INC (von addresses to be decremented/incremented) bezeichnet. Die Bit-Stelle 0 ist ausschließlich während nicht-blockartiger Betriebsarten wirksam und zeigt an, ob ein Wort (16 Bit) oder ein Byte (8 Bit) an Daten angefordert wurde.
Bei der blockartigen Betriebsweise ist ein in der gleichen Richtung erfolgender Vielfachwort-Transfer vorgesehen.
Die X-Y-Adresse muß an einem Superwortende (im allgemeinen am Anfang) beginnen, wobei die Anzahl der Daten-Transfers einer ganzen Zahl von Superworten zu entsprechen hat. Falls man mit dem Anfang jeder Zeite, d.h. bei X=O, beginnt, ist stets sichergestellt, daß man am Anfang eines Superworts si eht.
Die Benutzer-Bus-Schnittstellenschaltung 188 reagiert auf Zeitablauf- und Steuersignale der Zeitablauf- und Steuerschaltung 182 wie auch auf Teilspeicher-Auswahlsignale, welche als Teil einer Adressen-Festlegung einer Rechner-Bus-Haupteinheit (computer bus master address designation) über die Haupt-Bus-Schnittstellenschaltung 180 und die Zeitablauf- und Steuerschaltung 182 der Benutzer-Bus-Schnittstellenschaltung 188 zugeführt wird. Hierauf erzeugt die Benutzer-Bus-Schnittstellenschaltung 188 eine Kombination an Benutzerfeld-Signale 0-2 "(in Fig. 5 bezeichnet mit user field 0-2) zur Auswahl eines adressierten Teilspeichers. Daneben erzeugt die Schaltung 188 ein mit'PATI request Cf1 bezeichnetes Signal, welches der Speichersteuerung 46 mitteilt, daß die Schnittstelle 48 (PATI) um Zugriff zum Bildspeicher .50 nachsucht. Die Schaltung 188 empfängt auch mit ACK1 und ACK2 bezeichnete Rückkehr-Taktsignale von der Speichersteuerung 52.
Der in Fig. 6 näher dargestellte X-Y-Adressengeber 194 umfaßt zwei 12 Bit X-und Y-Begrenzungsregister 200 und 202 (limit registers or fences). Diese Register 200 und 202 können über den gepufferten Daten-Bus BDATO-15 mit in der zentralen Verarbeitungseinheit 14 (CPU) erzeugten Daten geladen werden. Obwohl die X- und Y-Adressen eine maximale Größe von 10 Bits haben, wird durch die Verwendung üer 12 Bit-Begrenzungsregister die Möglichkeit ausgeschlossen, daß eine irikrementierte Adresse oder eine von der zentralen Verarbeitungseinheit 14 (CPU) innerhalb einer zyklischen Adressfolge bzw. einer zyklischen Informationsfolge abgegebene Adresse, die die Video-Abbildung nach rechts hin überschreitet, an der linken Abbildungsseite, also unvorschriftsmäßig, abgebildet wird. Die Begrenzungsregister 200 und 202 sorgen also von sich aus für eine automatische Überprüfung der Video-Bildgrenzon und bilden dadurch einen sog."automatic hardware check", der der zentralen Verarbeitung.^ inheit 14 (CPU) einen wesentlichen Teil an Rechenzeit erspart, die normalerweise erforderlich
.. . 31.H975
wäre für die Prüfung, ob jeder ausgewählte Pixel-Adressenort innerhalb des Adressenbereichs des Video-Bildes liegt. Die Begrenzungsregister 200 und 202 ermöglichen auch eine programmierbare Festlegung des max. Adressenlimits, um eine automatische Weiterzählung (Inkrementierung) während eines blockartigen Transfers zu ermöglichen. Beispielsweise wird der Zähler zurückgestellt, wenn ermittelt worden ist, daß der X-Adressenzähler einen max. Wert erreicht hat und der Y-Adressenzähler um eins erhöht, um den Zugriff bei einer neuen Bildzeile zu beginnen.
Jeder Bauteil des XY-Adressengebers 194 ist mit einer drei Schaltzustände einnehmenden Gatter-Steuerung (tri-state gating) versehen, um in einfacher Weise wahlweisen Transfer von Daten von einem Ort zum anderen, ggf. zur Haupt-Bus-Schnittstelle und von decodierten Zeitablauf- und Steuerausgabesignalen zu ermöglichen. Wird beispielsweise mit einem Signal RCED2 gleichzeitig der Ausgang des 12 Bit-X-Begrenzungsregisters 202 wie auch ein "tri-state—Gatter 204" freigeschaltet, so kann die zentrale Verarbeitungsoinheit (CPU) veranlassen, daß der Speicherinhalt des 12 Bit X-Begrenzungsregisters auf den gepufferten Daten-Bus BDATO-15 transferiert wird zum Transfer zum Rechner-Bus 12 aus Gründen der Wartung und überprüfung. Alternativ hierzu kann der Ausgang des 12 Bit-X-Begrenzungsregisters 200 auch gesperrt (disabled) werden, so daß sein Ausgabe-Bus dazu verwendet werden kann, Daten vom gepufferten Daten-Bus durch ein "tri-state-Gatter"206 hindurch zu einem 10 Bit-X-Adressenzähler 208 zu transferieren. Ein 10 Bit Y-Adressenzähler 210 kann in ähnlicher Weise geladen werden.
Eine 12 Bit Vergleicherschaltung 212 empfängt an ihrem B-Eingang die Ausgangssignale des 12 Bit X-Begrenzungsregisters 200 und an ihrem Α-Eingang die Ausgangssignale des 10 Bit X-Adressenzählers 208 und erzeugt an ihrem Ausgang immer dann ein Signal XGTM (von. X gjreater than maximum) , wenn der X-Adressenzähler 208 den Inhalt des X-
3114575
Begrenzungsregisters 200 überschreitet. Abhängig von den besonderen Umständen und der Betriebsart kann das Signal XGTM anzeigen, daß das Ende einer Abtastzeile erreicht worden ist und daß der X-Adressenzähler 208 auf Null zurückgesetzt werden soll und der Y-Adressenzähler 210 weiterzuzählen sei, um eine neue Abtastzeile zu beginnen; das Signal XGTM kann jedoch auch anzeigen, daß eine ungeeignete Adresse vom Daten-Verarbeitungssystem in den X-Adressenzähler 208 eingegeben worden ist. In diesem Falle greift die Bildadressen-Umformungsschnittstelle 48 (PATI) in den Daten-Transfer mit dem Rechner-Bus 12 ein unter ' Sperrung des Daten-Transfers mit dem Bildspeicher 50 bis die ungeeignete Adresse korrigiert worden ist. Dementsprechend ist auch eine 12 Bit-Vergleicherschaltung 214 vorgesehen, die die im Zähler 210 gespeicherte 10 Bit Y-Adresse mit der im Register 202 gespeicherten Adresse vergleicht zur Erzeugung eines mit YGTM bezeichneten Signal jeweils dann, wenn der Y-Zähler 210 eine Adresse angibt, welche größer ist als die vorher im Begrenzungsregister 202 eingespeicherte maximale Adresse. Ein ODER-Gatter 216 empfängt die Signale XGTM und YGTM um hierauf ein Signal "X oder Y größer als maximum" abzugeben, um der Zeitablauf- und Steuerschaltung 182 einen möglicherweise fehlerhaften Systemzustand anzuzeigen. Dieses Signal ist in Fig. 6 mit XORYGTM (von X or Y greater than maximum) bezeichnet. Ein 10 Bit X-Adressen-Pufferschaltung 218 erhält eine X-Adresse vom Adressenzähler 208 und behält diese Adresse bei während eines Lese- oder Schreib-Zugriffs zum Bildspeicher 50. Dementsprechend empfängt auch ein 10 Bit Y-Adressen:-^Puffer 220 die 10 Bit Y-Adresse vom 10 Bit Y-Zähler 210 und behält diese Adresse während des Lese- oder Schreib-Speicher-Zugriffs bei. Diese Adressen-Pufferung erlaubt es die X- und Y-Adressenzähler 208 und 210 während der relativ langen Zeitdauer eines 6 Slice-Superwort-Daten-Transfers abzuändern.
31J4975
Die Busse, der Gatter und die Lade- und Ausgabe-Auswahl-Ingangsetzungslogikschaltung des X-Y-Adressen-Gebers sind zwar nicht im Detail beschrieben, deren Zusammenschaltung geht jedoch klar aus der Fig. 6 hervor; es ist auch aus dem Zusammenhang ersichtlich, daß sämtliche Speicherorte in Verbindung mit Freigabesignalen ausgewählter Registerausgänge und Gatter taktmäßig beschrieben (und ausgelesen) werden können, so daß die notwendige Daten-Kommunikation bzw. Daten-Transfer von einem Ort zum anderen möglich ist.
Der Daten-Puffer 192 der Bild-Adressen-Umformungs-Schnittstelle 48 (PATI) ist in Fig. 7 detaillierter dargestellt. Der Daten-Puffer 192 besteht aus zwei Abschnitten, von denen der eine einem oberen Wort oder den Bit-Stellen 16 bis 31 eines zum Multiplexer 54 führenden P-Daten-Busses zugeordnet ist und dessen anderer, untere Teil einem unteren Wort oder den Bit-Stellen 0-15 des P-Daten-Busses zugeordnet ist. In den Figuren ist der P-Daten-Bus mit PDATA bezeichnet und der Multiplexer 54 mit MUX.
Die dem oberen Wort zugeordnete obere Hälfte des Daten-Puffers 192 umfaßt einen 16-Bit-Schreib-Puffer 234 mit zwei 8 Bit-Abschnitten 236 und 238, einen 16-Bit Lese-Puffer 240, einen 16 Worte χ 16 Bit Superwort-Direktzugriffsspeicher 242, der in der Figur mit RAM (von random access memory) bezeichnet ist und von dem lediglich 6 Worte tatsächlich genutzt werden, ein 16 Bit-Eingabe-Daten-Puffer 244 und ein 16 Bit-Gatter 246, welches letzteres einen oberen Daten-Bus 2 48 mit den Leitungen 16 bis 31 des P-Daten-Busses verbindet. Wie bei dem X-Y-Adressengeber 194 ist jedes Register und jedes Gatter des Daten-Puffers 192 mit drei Schaltzustände annehmenden Ausgängen (tristate outputs) ausgebildet.
Dementsprechend umfaßt der in Fig. 7 untere Abschnitt des Daten-Puffers 192 einen unteren Daten-Bus 250, der
31U375
einen 16-Bit-Schreib-Puffer 252, einen 16 Bit Lese-Puffer 254, einen Superwort-adressierbaren Direkt-Zugriffsspeicher 256 (superwort addressable RAM), einen 16-Bit-Eingabe-Puffer 258 und ein die Verbindung zu den unteren 16-Bit auf dem P-Daten-Bus herstellendes Gatter 260.
Im Falle eines blockartigen Daten-Transfers werden die Daten als 16 Bit-Superwort-Slices zwischen dem Daten-Puffer 192 und einem ausgewählten Teilspeicher des Bildspeichers 50 transferiert. Es wird also die volle 32 Bit Kapazität des Daten-Puffers 192 ausgenützt, wobei die Daten im Multiplex-Betrieb auf den gepufferten Daten-Bus zum Transfer zum Rechner-Bus 12 gegeben werden und zwar in 16 Bit Worten, welche abwechselnd vom oberen und vom unteren Abschnitt des Daten-Puffers 192 stammen. Im Falle eines Byte-oder wortartigen Zugriffs werden die Daten jedoch als einzelne 32 Bit-Superwort-Slice aus 4 Byte vom Bildspeicher 50 zum Daten-Puffer 192 transferiert, wobei die ein oder zwei Byte, denen der spezielle Zugriff gilt, irgendwo innerhalb der Gruppe von 4 Bytes erscheinen. Um jedoch die erforderliche Programmierung der zentralen Verarbeitungseinheit 14 (CPU) zu verringern, sorgt die Schnittstelle 48 (PATI) für eine selbsttätige Daten-Ausrichtung im Falle des Byte-artigen oder wortartigen Zugriff smodus und zwar dadurch, daß die zum Transfer über den Haupt-Bus zum Rechner-Bus bestimmten Daten auf eine bevorzugte Stelle auf den gepufferten Daten-Bus plaziert werden. Ein einzelnes Daten-Byte wird stets an den Daten-Bit-Stellen 0 bis 7 transferiert, während ein Daten-Wort oder zwei Daten-Byte so transferiert werden, daß das Byte mit der kleineren Pixeladresse an den Daten-Bus-Stellen 0 bis 7 und das Byte mit der anderen bzw. der nächsten Pixeladresse an den Bit-Stellen 8 bis 15 transferiert wird.
Die Verschiebung dieser Daten-Byte aus einer Superwort-Slice-Position in eine Daten-Bus-Position wird durch die Verwendung des zweiteiligen Pchreib-Puffers 234 in Vorbindung mit den beiden Gattern 262 und ?64 erleichtert.
31U97G
Nehmen wir beispielsweise an, daß die Schnittstelle 48 (PATI) sich im Byte-Modus befindet und ein erwünschtes Informations-Byte vom Bildspeicher 50 an der obersten Byte-Stelle entsprechend den Daten-Bits 24 bis 31 ankommt. Dieses Byte wird vom Eingabe-Daten-Puffer 244 empfangen und über den oberen Daten-Bus 248 an den Lese-Puffer 240 weitergeleitet. Auf Grund der Freigabe des obersten Ausgabe-Bytesdes Lese-Puffers 240 mittels eines Signals GE 10, kann die Information auf dem gepufferten Daten-Bus BDATO an dessen, dem obersten Byte zugeordneten Bit-Stellen plaziert und durch das Gatter 262 transferiert werden und dann an den dem unteren Byte zugeordneten Bit-Stellen des unteren 8 Bit-Schreib-Puffers 238 auf ein Schreibtakt-Signal WS9 hin (von write strobe) dupliziert und geladen (gespeichert) werden. Vom unteren Schreib-Puffer 238 kann das erwünschte Daten-Byte dann zu den unteren 8 Bit des Lese-Puffers 240 transferiert werden zum anschließenden Transfer als unteres Daten-Byte über den gepufferten Daten-Bus BDATO zum Rechner-Bus 12. Hierzu wird der Ausgang des unteren Teils des Lese-Puffers 240 auf ein Freischaltsignal GE 11 hin (2ate e_nable signal) freigegeben. Alternativ hierzu können Daten auch vom oberen Lese-Puffer 240 über den gepufferten Daten-Bus zum unteren Schreib-Puffer 250 übermittelt werden. Es ist offensichtlich, daß aufgrund von Transfers zwischen oberen und unteren Byte-Stellungen innerhalb des oberen Abschnitts des Daten-Puffers 192, über den 32 Bit P-Daten-Bus herangeführte Daten-Byte oder Daten-Worte (aus 2 Byte) an jede beliebige Byte-Stelle verschoben werden können zum Transfer zur Daten-Verarbeitungseinrichtung. Aufgrund des Einsatzes des Daten-Puffers 192 ist die Abspeicherung von Superworten möglich, um hierdurch die relativ geringe Bandbreite des Rechner-Bus 12 an dio relativ große Bandbreite des 32 Bit P-Daten-Busses anzupassen, welcher letzterer die Verbindung zum Bild-Speicher 50 über den Multiplexer 54 herstellt. Die Pufferung führt auch zur Minimierung von Wartezeiten und
31H975
-40-daher zur maximalen Auslastung des Rechner-Busses 12.
Als weiteres Beispiel, jedoch mit blockartigem Daten-Transfer, sei angenommen, daß die zentrale Verarbeitungseinheit 14 (CPU) den Befehl für einen Daten-Transfer von 128K Byte an Daten entsprechend aufeinanderfolgender Pixel-Adressenorte beginnend mit Pixel-Adresse O1O befiehlt und zwar einen Transfer vom Plattenspeicher 18 zum Y-Teilspeicher 66 des Bildspeichers 50. Die Beschränkung auf 128K Daten-Byte als typischer Grenzwert rührt von der Auslegung des Längenzählers der Rechnersystem-Steuerung her und nicht von der Schnittstelle 48 (PATI), welche in der Lage wäre, auch längere Datenketten zu transferieren. Es sei angenommen, daß die Recheneinheit 14 (CPU) den Daten-Transfer dadurch beginnt, daß sie zuerst die Adresse Qp in den X-Adressen-Zähler 208 und den Y-Adressen-Zähler 210 transferiert und dann die Schnittstelle 4 8 (PATI) durch Einschreiben von logischen Einsen an den Bit-Stellen 15, 8 und 2 und von logischen Nullen an den anderen Stellen in die geeignete Betriebsart bringt. Bei einem Schreibe-Zugriff zum Y-Teilspeicher 66 des Bildspeichers 50 führt dies zu einer selbsttätigen Inkrementierung. Dxe Rechner-Einheit 14 (CPU) gibt schließlich eine geeignete Adresse an den Rechner-Bus 12 ab, um eine 0 in die für die Zähler-Steuerung vorgesehene Bit-Steil des Steuer-Registers 38 einzuschreiben und hierdurch das Fortzählen des Adressen-Zählers 34 zu beenden. Der Plattenspeicher 18 wird dann auf einen entsprechenden Befehl hin Bus-Haupteinheit (bus master) und führt in der Folge einen direkten Speicher-Zugriff durch, indem es die angegebene Anzahl an Daten-Byte von einer bestimmten Plattenspeicherstelle zu der Schnittstellen-Adresse der Schnittstelle 48 transferiert, die dem Y-Teilspeicher 66 des Bildspeichers 5 0 entspricht. Diese Adresse wird in Adressenzähler 34 von der zentralen Verarbeitungseinheit 14 (CPU) eingeschrieben und steuert die Adressen-Bits des Rechner-Bus 12 und von daher auch des Haupt-Busses 40 während je-
der der 128K-Zyklen der nachfolgenden blockartigen im direkten Speicher-Zugriff erfolgenden Daten-Übertragung
Die Haupt-Bus-Schnittstellen-Schaltung 180 veranlaßt auf diese ausgewählte Adresse hin, daß die Zeitablauf- und Steuerschaltung 182 und die Benutzer-Bus-Schnittstellen-Schaltung 188 eine Benutzer-Feld-Code-Ziffer erzeugt, welche der Speicher-Steuerung 52 und dem Multiplexer 54 den Y-Teilspeicher 66 des Bildspeichers 55 zuordnet, damit die geeigneten Adressen abgegeben und die geeigneten Daten-Wege bereitgestellt werden. Anschliessend beginnt der Wort-Transfer vom Plattenspeicher 18 über den Rechner-Bus 12 und den Haupt-Bus 40 zum gepufferten Daten-Bus, also zur Schnittstelle 48 (PATI). Hierbei werden aufeinanderfolgende Worte in einen unteren bzw. einen oberen Direkt-Zugriffs-Speicher 256 bzw. 242 des Daten-Puffers 192 geladen, bis jeweils nach einem Transfer von 12 Worten die Direkt-Zugriffs-Speicher 256 und 242 jeweils ein vollständiges Superwort speichern. In diesem Moment erzeugt die Benutzer-Bus-Schnittstellenschaltung 188 ein in Fig. 5 mit PATIREQC (von PATI request C) bezeichnetes Signal und führt dieses der Speicher-Steuerung 52 zu; nach Freigabe des Zugriffs , zum Bildspeicher-Daten-Bus 56 wird dann das erste Superwort in 6 aufeinanderfolgenden 'Slices" zum Bildspeicher-Eingabe-Puffer des Y-Teilspeichers 66 transferiert. Während der übertragung jedes 4 Bit bzw. 4 Byte-Slices zum Bildspeicher 50 behalten die X- und Y-Adressen-Puffer-Register-Schaltungen 218 und 220 die ursprüngliche 0,0-Adresse bei, während der X-Adressen-Zähler 208 nach jeder Übertragung eines Slice (= 4 Byte entsprechend 4 Pixel) um 4 erhöht wird. Demzufolge befindet sich nach Beendigung des 6 SI ice Daten-Transfers der X-Adressen-Zähler 208 auf einen Zählstand 24, der die erste Pixel-Adresse des nächsten Superworts anzeigt, da jedes Superwort 24 Byte oder Pixel lang ist. Mittlerweile sind die Lese-
Puffer-Register 254 und 240 aufnahmebereit für das 13. und 14. Daten-Wort (1 Wort = 2 Byte) vom Plattenspeicher 18 her, während das erste Superwort in den Y-Teilspeicher 66 transferiert wird. Normalerweise wird die Schnittstelle 48 (PATI) auf eine Daten-Transfer-Änforderung hin eine ausreichend schnelle Reaktion des Systems erhalten und auch die 6 Daten-Slices genügend schnell transferiert werden, so daß die Suporwort-Direkt-Zugriffsspeicher 242 und 256 geleert werden können und von den Lese-Puffern bzw. 254 Daten empfangen können, ehe das relativ langsame Band-Gerät 18 und der Rechner-Bus 12 bereit sind zum Transfer des 15. Wortes. Der Lese-Puffer 254 ist daher ohne Verzögerung aufnahmebereit für das 15. Wort, wobei die volle Bandbreite des Rechner-Busses 12 genutzt werden kann. Sobald das zweite Superwort in die Direkt-Zugriffsspeicher 256 und 242 geladen ist, wird eine weitere Y-Teilspeicher-Zugriffs-Anforderung erzeugt und der Vorgang so oft wiederholt^ bis sämtliche befohlenen Daten-Bytes vom Platten-Speichersystem zum Bild-Speicher transferiert worden sind.
Für den Fall, daß ein blockartiger Transfer in der anderen Richtung durchgeführt werden soll, wird das Adressen-Steuerregister 190 geladen, um die automatische Adressen-Fortzählung im Lese-Modus und nicht im Schreib-Modus zu aktivieren. Das Platten-Speichergerät 18 (d.h. das Plattenspeicher-System) und der Rechner-Bus 12 plazieren in diesem Falle die Adresse des Y-Teilspeichers 66 auf die Adressen-Leitung zusammen mit einem Lese-Befehl. Anschliessend hat das Rechner-System für ein kurzes Zeit-Intervall abzuwarten, bis das erste Slice eines Superworts aus dem Bildspeicher 50 ausgelesen und in die Lese-Puffer-Register 254 und 220 geladen ist. Da diese Register durch Datenübertragung aufeinanderfolgender Wortpaare über den Rcchner-
.35 Bus 12 und den Haupt-Bus 40 geleert worden, werden die aufeinanderfolgenden Slices des ersten Superworts in den Superwort-Direkt-Zugriffs-Speichern 256 und 242 gespeichert. Nachdem das letzte Wort eines Superworts in den Lese-Puf-
fer 240 geladen wird, erfolgt eine Anforderung zum Auslesen des nächsten Superworts aus dem Y-Teilspeicher 66. Im Normalfall ist das erste Slice (dieses nächsten Superworts) bereits zum Transfer in die beiden Lese-Puffer 254, 240 verfügbar, ehe die beiden Puffer-Worte über den Haupt-Bus 40 und den Rechner-Bus 12 überhaupt transferiert werden können. Das Daten-Verarbeitungssystem erhält also im Normalfall Daten mit der maximalen Rate und voller Ausnutzung der Bandbreite des Rechner-Busses, also im Daten-Einlese-wie auch im Daten-Auslesebetrieb sobald das erste Datenwort transferiert worden ist.
Wie beim Daten-Einschreibevorgang, betreiben (drive) die Adressen-Puffer 218 und 220 die X- und Y-Benutzer-Adressenleitungen, wobei der X-Adressen-Zähler 208 nach dem Transfer jedes zweiten Wortes, d.h. nach jedem Transfer von 4 Byte über den gepufferten Daten-Bus zum Haupt-Bus 40 , um 4 weitergezählt wird. Am Ende eines 24 Byte-Superworts ist der X-Adressenzähler 208 also um insgesamt 24 Zählschritte weitergezählt worden, womit die Anfangsadresse des nächsten Superworts angezeigt ist. Bei der Anforderung eines weiteren Superwort-Transfers, wird diese neue Adresse von den X- und Y-Adressenzählern 208 und 210 zu den X- und Y-Adressen-Puffern 218 und 220 transferiert. Weiterhin wird, wie vorstehend ausgeführt, der X-Adressenzähler 208 zurückgestellt und der Y-Adressenzähler 210 weitergezählt, sobald der X-Zähler 208 die Begrenzung des Bildfeldes überschreitet, was durch den Vergleich mit dem Inhalt des Begrenzungs-Registers 200 ermittelt wird. Für den Fall, daß auch der Y-Adressenzähler 210 über seine Bildgrenze hinaus fortgezählt wird, werden weitere Zugriffe zum Bildspeicher 50 gesperrt, wobei die Schnittstelle 48 (PATI) weiterhin Daten vom Datcn-Verarbe itungssystem ei hält.
Im folgenden wird Bezug auf die Fig. 8 genominen. Der hierin (largo;-teilte Video-Ai sgabc-Prozessor 12 orhült-
Superwort-Slices an Video-Daten über den Bildspeicher-Daten-Puffer 56 vom Bildspeicher 50 und verarbeitet diese Video-Daten entlang eines Video-Daten-Weges 276 (video data path). Eine mit VOP (von video output processor) bezeichnete Steuer-Schaltung 278 stellt die Zeitablauf- und Steuersignale für den Prozessor 42 bereit umfassend eine Vielzahl von Datenweg-Adressen,-Steuersignalen, welche dem Datenweg 276 zugeführt werden und mit DATAPATHAu.C in Fig. 8 bezeichnet sind. Die VOP-Steuerschaltung 278 erzeugt daneben auch mit ΘΕΟΙ 5 (von cfate e^nable) bezeichnete Durchschaltsignale und mit WSO-15 (von write strobe)bezeichnete Signale zur Steuerung des Ladevorgangs von Daten-Registern und des Durchschaltens von Daten-Information. Die genaue Art und Weise der Erzeugung diener Durchschalt-Signale ist in der Fig.34 nicht näher erläutert, es liegt jedoch auf der Hand, daß diese in üblicher Weise zum Durchschalten bzw. Absperren erwünschter Orte bzw. Leitungen zu geeigneten Zeitpunkten erzeugt werden können. Ein programmierbarer Takt-Generator 280 empfängt ggf. externe Synchronisier-Signale, woraufhin er ein zusammengesetztes Synchronisier-Signal, Gin Pixel-Taktsignal und verschiedene Synchronisier- und Zeitablauf-Signale zur Steuerung einer Steuer-Schaltung 278 des Video-Ausgabe-Prozessors 42 abgibt. Eine bevorzugte Ausführungsform des programmierbaren Takt-Generators 280 ist in der genannten gleichzeitig mit dieser Anmeldung eingereichten und zum Offenbarungsgehalt dieser Anmeldung gehörenden weiteren Anmeldung beschrieben. .
31U975
Der mit MBDATO-15 bezeichnete Datenteil des Haupt-Busses 40 kommuniziert mit einem mit BMDATO-15 (von buffered master _bus date bus)bezeichneten gepufferten Haupt-Bus-Daten-Bus 286 und zwar über für beide Richtungen vorgesehene Gatter 282 und 284, die durch die genannten Signale GEO bzw. WSO durchgeschaltet werden. Naheliegenderweise werden bei dem Video-Ausgabe-Prozessor 42 dieselben 'Tri-state-Gatter-Anordnungen eingesetzt wie sonst auch innerhalb der Computer-Graphik-Einrichtung 10. Eine Haupt-Bus-Schnittstellen-Schaltung 288 stellt eine Adressen- und Steuer-Schnittstelle zum Haupt-Bus hin dar, indem sie mit MBA + C (von master bus address control) bezeichnete Master-Bus-Adressen-Steuersignale aufnimmt und auf diese hin mit SSYN (von system synchronizing)bezeichnete System-Synchronisiersignale erzeugt..Die Haupt-Bus-Schnittstelle 288 gibt Steuer- und Zeitablauf-Signale an die Steuerschaltung 278 des mit VOP (von video output processor) bezeichneten Video-Ausgabe-Prozessors 42 ab und erzeugt decodierte Register- und Durchschaltauswahl-Ausgangssignale WDECO-15 und RDECO-15 als Antwort auf ein Zeitsignal und die Decodierung von Haupt-Bus-Adressen-Signalen.
Ein weiterhin vorgesehener Haupt-Bus-Parameter-Speicher 2 90 wird von einem Zweifach-Speicher mit dem A und B bezeichneten Komponenten gebildet. Jede Komponente ist ein 46 Wort χ 16 Bit-Speicher und speichert programmierbare Steuer-Information zur Steuerung von Betriebsarten des Video-Ausgabe-Prozessors 42 (VOP). Ein von der Steuerschaltung 278 abgegebenes in Fig. 8 mit SELA ( von select
A) bezeichnetes "Wähle A"-Signal legt fest, ob die Steuerschaltung 278 auf die A- oder B-Komponente des Parameterspeichers 290 reagieren (bzw. mit dieser Komponente kommunizieren) soll oder nicht. Während z.B. die A-Komponente auf eine Adressierung durch die Steuerschaltung 278 hin entsprechend reagiert, kann die B-Komponente, beispielsweise von der zentralen Verarbeitungseinheit 14 (CPu) her
über den Rechner-Bus 12, den Haupt-Bus 40, den gepufferten Haupt-Daten-Bus 286 und die Haupt-Bus-Schnittstelle 288 adressiert werden. Die 64 Worte der jeweils nicht ausgewählten Parameter-Speicher-Komponente (hier die Komponente A) werden ein Teil der Adressenbasis (address . base) des Rechner-Busses 12. Dies erlaubt es, neue Parameter in die eine Komponente des Parameter-Speichers 290 zu laden ohne den Betriebsablauf des Systems zu stören. Nach Laden eines vollständigen Parametersatzes kann die Steuerschaltung 278 die Umschaltung zur anderen Parameter-Speicher-Komponente (also A) befehlen, damit der neue Parametersatζ den Betriebsablauf des Video-Ausgabe-Prozessors 42 von nun an steuert. Dies kann zweckmäßigerweise am zeitlichen Beginn eines Bildes vorgenommen werden, um die.-Entstehung verschachtelter Bilder zu verhindern. Der Einsatz des zweiteiligen Parameterspeichers 290 beseitigt weiterhin auch das Problem von Video-Bildern, welche teilweise auf der Grundlage alter Steuer-Parameter und teilweise auf der Grundlage neuer Steuer-Parameter gebildet sind, was insbesondere dann auftritt, wenn der neue Steuer-Parameter-Satz während der Bildverarbeitung geladen wird, zumal für das Laden ein gewisser Zeitraum erforderlich ist. Im folgenden soll ein Benutzungsbeispiel für den Parameter-Speicher 290 angegeben werden. Der Speicher 290 enthält eine Anzahl von Konstanten, welche für die Steuerschaltung 278 nützlich sind, ferner Informationen, welche die Anzahl der Pixel pro Superwort (Lm Ausführuhgsbeispiel 24) angibt, Informationen, welche die Anzahl der Superworte pro Zeile (32 in diesem Beispiel)" angeben, Informationen, welche die Anzahl der Zeilen pro Feld angeben (hier 242.5)ein CMAPPTR-Signal, ein mit YMAGNIFY (von Y magnify) bezeichnetes Signal, welchos den Bildvergrößerungsgrad in der Y-Richtimg angibt und schließlich X- und Y-NuIl Signale, welche den Oit innerhalb des im Bild-Speicher gespeicherten Video-Bildes bzw. Video-Signals angeben,
31US75
-47-
weIcher in der oberen linken Ecke des auszugebenden Video-Bildes liegt. Die Vergrößerung in Y-Richtung wird dadurch erreicht, daß eine Informations-Zeile, 1-,2-,3- oder mehrfach dubliziert wird. Die Schnittstelle ist derart ausgebildet, daß eine Y-Vergrößerung einer beliebigen Anzahl von Bildzeilen möglich ist. Hierfür wird jeweils eine Zeile vom Bildspeicher 50 abgerufen und in einen doppelt gepufferten Zeilen-Puffer eingespeichert, von welchem aus diese Zeile zur Y-Vergrößerung wiederholt abgerufen wird.
Ohne Verschiebung des Ursprungs des Ausgabebildes (output display) wurde bei dem Ausgabe-Videobild stets der Pixelort 0,0, wie er im Bildspeicher 50 gespeichert ist, an der oberen linkenEcke des Bildes liegen. Dies führt dann bei einer Vergrößerung in der Y-Richtung dazu, daß das Bild von oben nach unten expandiert und der unterste Teil des Bildes verlorengeht. Bei einer Vergrößerung in X-Richtung würde das Bild dementsprechend von links nach rechts expandieren und der rechts liegende Teil des Bildes verlorengehen. Bei einer Vergrößerung würde daher stets nur die obere linke Ecke des Video-Bildes, wie es im Bildspeicher gespeichert ist, sichtbar sein. Die X- und Y-NuIlpunkt-Daten des Parameter-Speichers 290 erlauben es jedoch, das auszugebende Video-Signal (output video signal) in beliebigen Bereichen des Video-Bildes abzubilden. Wird beispielsweise das X-Nullpunkt-Signal gleich 48 und das Y-Nullpunktsignal gleich 25 festgesetzt, dann legt der Video-Ausgabe-Prozessor 42 diesen Pixelort an die obere linke Ecke des Ausgabe-Video-Bildes,· so daß dann die sich nach rechts und nach unten von diesem neuen Ursprung aus erstreckenden Bildteile entsprechend der gewählten Vergrößerung abgebildet werden.
Eine Benutzer-Bus-Schnittsiellen-Schaltung 292 tauscht mit der VOP-Steuerschaltung 278 Synchronisier-Signale aus und erzeugt und empfängt die Benutzer-Bus--Steuersiynale, welche mit der Bild-Adressen-Umformungsstelle 48 ausge-
31140 75
tauscht werden. In diesen Signalen sind auch in Fig. 8 mit "user field 0-2" bezeichnete Benutzerfeld-Bildsignale 0-2 enthalten, die für den Video-Ausgabe-Prozessor 42 stets sämtliche Teilspeicher festlegen, die in der gewählten Systemanordnung vorgesehen sind. Ein mit VOPREQ B (von VOP request JB) bezeichnetes VOP-Anforderungs-Signal B besitzt die zweithöchste Signal-Priorität in diesem System; die insbesondere in Verbindung mit Fig. 4 bereits angeführten, mit ACK1 und ACK2 bezeichneten Signale werden rückgeführt. 10 Bit-X- und Y-Adress~en-Register 294 und 296 nehmen X- und Y-Adressen-Information zur Kommunikation über die X- und Y-Benutzer-Adressen-Busse auf und speichern diese ein.
Der Video-Datenweg 276 ist .in den Fig. 9A und 9B näher dargestellt und zwar für eine der drei Farbkomponenten des Video-Signals. Es ist lediglich der Video-Datenweg 276 für diese eine Komponente dargestellt, da die Datenwege für die anderen beiden Komponenten bis auf geringfügige Abwandlungen hiermit identisch sind.
Ein Zwei-Zeilen-Puffer 300 nimmt eine vollständige Zeile an Video-Information slice-weise auf und speichert diese ab. Um Zeitverzögerungen zu vermeiden, stellt der eine Teil des Zwei-Zeilen-Puffers 300 die Video-Information der gerade abzubildenden Zeile bereit, während die andere Pufferhälfte die nächste Video-Informationszeile vom Bildspeicher 50 her einspeichert. Wenn die nächste Informationszeile abzubilden ist, wechseln die Rollen der beiden Teile des Zwei-Zeilen-Puffers; die neue Informationszeile wird also für den Antrieb des visuellen Ausgabegeräts verwendet ,während die darauffolgende Informationszeile in den jeweils anderen Pufferteil eingelesen wird. Zu jedem Zeitpunkt arbeiten die beiden Pufferteile also unabhängig voneinander.
Jeder Teil des Zwei-Zeilen-Puffers 300 besteht aus einem 256 Wort χ 32 Bit Gedächtnisspeicher, welcher jeweite ein
-49-
4 Byte Slice eines Superworts schreibt oder ausliest. Die 4 Byte eines Slices vom Bildspeicher 50 werden über Multiplexer 302 bis 305 (in Fig. 9A mit MJX bezeichnet) geleitet, die es dem Zwei-Zeilen-Puffer 300 ermöglichen, wahlweise die 4 Informations-Byte entweder im Normalfall vom Bildspeicher 50 oder vom gepufferten Haupt-Bus-Daten-Bus zu. Wartungs- und Überprüfungszwecken zu empfangen.
Der Zwei-Zeilen-Puffer 300 gibt zwar 32 Bits parallel aus, eine interne Gatter-Schaltung unterteilt jedoch in zwei serielle Worte zu je 2 Byte. Ein erstes oder gerades Byte wird in ein Gerades Byte-Daten-Register 308 geladen, während das nächste höchstwertige Byte in ein ungerades Byte -Daten-Register 310 geladen wird. Im Falle des I,Q-Teilspeichers 68 erhält das Register 308 ein einem I-Komponenten-Pixel zugeordnetes Byte, während das andere Daten-Register 310 das einen Q-Komponenten-Pixel zugeordnete Daten-Byte aufnimmt. Im Falle eines Y-Teilspeichers 66 bzw. bei sämtlichen primären, d.h. den einzelnen Farbkomponenten zugeordneten Teilspeichern in einem irgb-Systern werden die geraden bzw. ungeraden Daten-Register 308 und 310 mit geraden bzw. ungeraden Adressen aufeinanderfolgender Pixel-Video-Informationen geladen. Eine Adressen- und Steuerschaltung 312 reagiert auf Datenweg-Adressen- und Steuersignale der VOP-Steuerschaltung 278, um hierauf die Adressierung und Informationsausgabe der beiden Teile des Zwei-Zeilen-Puffers unabhängig voneinander zu steuern. Die Adressen- und Steuerschaltung 312 erzeugt weiterhin ein Pixel-Taktsignal mit der Auftretensfrequenz aufeinanderfolgender Pixel im Videobild, d.h. mit einer Periode von angenähert 70 Nanosekunden. Das Pixel-Taktsignal wird als erstes entsprechend einer aufgrund der befohlenen X-Vergrößerungs-Verhältnisse bestimmten Zahl N unterteilt, um den Zähltakt eines Adressenzäh]ers innerhalb der Adressen- und Steuerschaltung 312 zu steuern. Die Unterteilung dos in Fig. 9A mit PIXEL CIK bezeichneten Pixel-Taktsignals wird von einem
31UG75
Dividierer 338 vorgenommen. Das Laden der Daten in die geraden und . ungeraden Daten-Register 308 und 310 wird durch das zweitniedrigste Bit dieses Adressenzählers gesteuert/ welches in Fig. 9A mit NEXLSB (von next to least significant bit) bezeichnet ist. Es liegt auf der Hand, daß die beiden Register 308 und 310 jeweils nur bei jedem zweiten Pixel-Ort wieder geladen werden müssen, da jeweils 2 Byte parallel in die Register geladen werden. Innerhalb des Ausgabeteils des Zwei-Zeilen-Puffers 300 veranlaßt jeder Puls des mit 314 bezeichneten unterteilten Pixel-Taktsignals einen übergang zwischen oberen und unteren Worten eines 4 Byte-Superwort-Slice, während jeder zweite Puls eine Adressenfortzählung zum nächsten Superwort Slice veranlaßt.
Ein Tri-state-Gatter 316 bis 319 umfassendes Gatter-Netzwerk dient der wahlweisen Durchschaltung (gating) von in den Daten-Registern 308 und 310 gespeicherten Daten entweder auf einen Farbkarten-Bus 320 oder auf einen Farbkomponenten-Daten-Bus 322 oder 323.
Der in Fig. 9 dargestellte Video-Datenweg ist für die IQ-Komponenten eines Y,I,Q-Farbsystems bestimmt. Hierbei ist das Gatter 317 mit Hilfe eines Schalters 324 fortwährend auf Durchlaß geschaltet, um den Ausgang des Geradeß.-ßyte "Daten-Registers 308 mit dem I-Komponnnten-Daten-Bus 322 ständig zu verbinden. Dementsprechend schaltet ein Schalter 326 das Gatter 390 fortwährend auf Durchlaß, um den Ausgang des Ungerades-Byte - Daten-Registers 310 auf den Y-Komponenten-Daten-Bus 323 zu schalten, welcher mit dem Gatter 326 über einen Schalter 328 verbunden ist. Es sei hier wiederholt, daß die beiden Daten-Register 308 und 310 erst bei jedem zweiten Pixel-Taktsignal bzw. alternierend mit den Pixel-Signalen umgeladen ggf. nachgeladen werdon. In der Folge werden duplizierte Byte an Pixel-Information über den I-Komponente-Daten-Bus 322 und
3 1U375
den Q-Komponente-Daten-Bus 323 transferiert, ehe die Video-Information aktualisiert wird. Diese Duplizierung der I- und Q-Komponenten-Plxel-Information bei aufeinanderfolgenden Pixeln führt zur Beibehaltung der Synchronisierung der I- und Q-Farbkomponenten mit einer vollständigen Farb-Komponente bzw. der Y-Komponente bei der Pixel-Frequenz/ obwohl die I- und Q-Farbkomponenten jeweils mit halber Bandbreite des vollständigen Farbkomponenten-Signals bzw. des Y-Komponenten-Signals eingespeichert sind.
Bei einer Bewegung des Schalters 328 in die mit F (von jfull color component) bezeichnete,-einer vollständigen Farbkomponente zugeordnete Schaltstellung und bei Umschalten der Schalter 322, 324 und 326 in deren andere Schaltstellung werden die Gatter'317 und 319 freigeschaltet, als Antwort auf nicht-invertierte bzw. invertierte Ausgangssignale
. der niedrigstwertigen Bit-Stelle (JLeast significant bit - dementsprechende Signalbezeichnung in Fig. 9A:LSB) des Adressenzählers innerhalb der Zeitablauf- und Steuerschaltung 312. Diese Anordnung entspricht dem Datenweg einer vollständigen Farbkomponente, wobei der Dateninhalt der Daten-Register 308 und 310 abwechselnd auf den I-Farbkomponenten-Datenweg 322 geladen wird.
Ein in Fig. 9A mit I,Q GATE bezeichnetes Gatter-Signal wird an die Gatter 331 und 332 gelegt/ um unter der Steuerung durch das niedrigstwertige Adressen-Bit die Inhalte der Daten-Register 308 und 310 wechselweise auf den Färbkarten-Bus 320 durchzuleiten. In dieser Anordnung besteht die Möglichkeit, daß ein ausgewählter Teilspeicher den Farbkarten-Bus betreibt, von dem wiederum jeder der drei Farbkarten-Speicher Farbkarten-Bus-Daten empfangen kann als Adressen-Information zur Erzeugung vollständiger Dreifarben-Video-Information in der Farbkarten-Betriebsart. Ein in Fig. 9A mit MUX bezeichneter Multiplexer 374 g.ibt auf ein nit "Color Map .4ode" bor-eichnotPs Färb-
O ι 1 / η 7 C οι ι 4 J /
karten-Betriebsart-Eingangssignal hin ein 8-Bit-Daten-Ausgangssignal ab., welches entweder die auf dem Farbkarten-Bus 320 auftretende Information oder die auf dem I-Farbkomponenten-Bus 322 auftretende Information darstellt. In dem beschriebenen Y,I,Q-Systern würde der Multiplexer 374 in einer normalen Betriebsart auf die auf den Bus 322 auftretenden !-Komponenten-Farbsignale hin antworten. Das auf dem Bus 332 auftretende Q-Farbkomponenten-Signal würde in diesem Falle zu einem dritten, dem Multiplexer 374 entsprechenden Multiplexer vermittelt, wobei die restliche Signal-Verarbeitung der Q-Farbkomponente im wesentlichen die gleiche ist wie die für die I-Farbkomponente, wie in Fig. 9B dargestellt. Die Y-Farbkomponente würde natürlich eigene Bildspeicher-Komponenten bzw. Zwischenspeicher-Komponenten und eine eigene Video-Weg-Schaltung besitzen.
Ein Register 336 zur Festlegung der Verbindungswege (pipeline definition register) ist mit der zentralen Verarbeitungseinheit 14 (CPU) verbunden, um von dieser auf ein decodiertes Signal WDEC1 hin geladen zu werden. Das Register 336 dient der Festlegung der Betriebsart des Video-Datenwegs 276. Es ist nicht erforderlich, das Register 336 für jede Farbkomponente zu duplizieren. Der mit "Color Map Mode" bezeichneter Ausgang an der ersten Bit-Stelle veranlaßt wahlweise eine Antwort des Video-Systems auf Daten, welche auf dem Farbkarten-Bus 320 auftauchen oder auf einem Farbkomponenten-Bus, wie beispielsweise den Bus 322. Ein mit 1,Q-GATE bezeichnetes Signal veranlaßt die wahlweise Durchschaltung von Video-Information von den Registern 308 und 310 auf den Farbkomponenten-Bus 320, wie vorstehend erläutert. Dementsprechend veranlassen mit Y GATE und B GATE bezeichnete Signale die wahlweise Durchschaltung der Farbkonponenten (sofern diese im verwendeten System vorgesehen sind) auf den Farbkarten-Bus 320. Mit FORCE OVERLAY, ENABle OVLY und
31U375
FLIP/SUB in Fig. 9A bezeichnete Signale steuern die Antwort (response) des Video-Signals . bzw. des Video-Datenwegs auf Daten des Überlagerungs-Teilspeichers 72, wie nachfolgend in Verbindung mit Fig. 9B näher erläutert werden wird.
Die Signalvergrößerung im X-Register wird durch codierte, mit XMAGO bis 3 bezeichnete Signale festgelegt, wobei " eine Vergrößerung mit einem beliebigen Faktor zwischen 1 bis einschließlich 16 möglich ist. Wie Fig. 9A zeigt, werden diese Signale daneben auch dem als Register ausgebildeten Dividierer 338 zugeführt, welcher das Pixel-Taktsignal durch die festgelegte Zahl N dividiert, ehe das Signal der Zeitablauf- und Steuerschaltung 310 zugeführt wird. Der Dividierer 338 verursacht die Wiederholung von Pixel-Information einer ausgewählten Zahl entsprechend, was zu einer entsprechenden Ausdehnung des Video-Bilds in der X-Richtung führt. Der Dividierer 336 erzeugt daneben auch ein mit ENABLE/BLANK bezeichnetes Signal, welches in dem in Fig. 9 dargestellten Teil des Datenwegs eingesetzt wird, um wahlweise die gesamte Ausgabe-Anzeige zu löschen (blank).
Ein 8 Bit Wartungsregister 342 kann wahlweise von der zentralen Verarbeitungseinheit 14 (CPU) als Teil ihres Adressenfelds geladen werden und zwar auf ein decodiertes mit WDEC3 bezeichneten Ladesignal hin. Dabei kann dessen Ausgang mit Hilfe des Signals RDC3 aus Gründen der Wartung und Überprüfung wahlweise auf den Farbkarten-Bus 320 durchgeschaltet werden. Es ist dabei nicht erforderlich, für jede der drei Farbkomponenten jeweils das Wartungsregister 342, das Adressen-Steuerregister 314, den Dividierer 338 oder die Schalt\mg 340 vorzusehen.
In den in Fig. 9B dargestellten 8 Bit-Zähler 344 werden die aufeinanderfolgenden P.ixel der Farbkomponenten -Information gi-laden. Der Zähler 344 dient als Adressen-Rc-
■3114375
gister für einen 256 Wort χ 8 Bit Farbkarten-Direkt-Zugriffsspeicher 346 (color map RAM) während einer Farbkarten-Betriebsart. Der in Fig. 9B mit RAM bezeichnete Direktzugriffsspeicher 346 für jede Farbkomponente erhält seine Adresse vom Farbkarten-Daten-Bus und gibt dementsprechend ein Farbkomponenten-Ausgangssignal ab. Bei Auslegung des Systems für volle Farbtüchtigkeit (full color) kann das vom Farbkarten-Direkt-Zugriffsspeicher 346 abgegebene Farbkomponenten-Signal identisch mit dem eingegebenen Signal sein; alternativ hierzu kann jedoch auch eine Anpassung des eintreffenden Farbkomponenten Signals aufgrund von Intensitäts-Nichtlinearitäten vorgenommen werden. Ein 8 Bit-Ausgabe-Register 348 dient als Ausgabe-Daten-Puffer für den Farbkarten-Direkt-Zugriffsspeicher 346 und wird mit der Pixel-Taktrate getaktet. Der Ausgang des Registers 348 ist wahlweise abgewandelt entsprechend dem Inhalt des Überlagerungs-Teilspeichers 12 wie auch in Abhängigkeit von anderen Steuersignalen.
Es sei daran erinnert, daß der Überlagerungs-Teilspeicher 72 lediglich ein Informations Bit an jeder Pixelstelle speichert und daß jeweils 8 Daten-Pixel zu einem Zeitpunkt ausgegeben werden. Da lediglich 3 Byte an Information zur Definition eines Überlagerungs-Superworts erforderlich sind, werden die 3 Byte auf dem Superwort-Daten-Bus zwar als 8 Bit-Byte jedoch paarweise dupliziert und in Form von 6 Slice transferiert. Der nicht dargestellte Daten-Eingabe-Pufferteil des Video-Datenwegs 276 unterscheidet sich zwar etwas von den anderen Komponenten, es liegt jedoch auf der Hand, daß die Information des Überlagerungsspeichers dementsprechend in einem Puffer mit doppelten Eingang geladen und gleichzeitig an einem Ausgabeteil des Puffers derart weitergeleitet werden kann, daß ein serieller Bit-Strom an Überlagerungsdaten erzeugt wird, welcher denselben Pixelorten zugeordnet ist, welche gerade von den primären Farbkomponenten des Video-Datenwegs
3 11/375
-55-276 adressiert sind.
Dieser serielle Bit-Strom wird von einem in Fig. 9B mit OVERLAY bezeichneten Eingang eines ODER-Gatters 349 aufgenommen, dessen zweiter Eingang das erwähnte Ausgangssignal "forced overlay" des Registers 336 gemäß Fig. 9A erhält, um ggf. das Überlagerungs-Bit außer Kraft zu setzen. Der Ausgang des ODER-Gatters 348 ist mit dem Eingang eines UND-Gatters 350 verbunden, welches als zweites Eingangssignal das mit ENABLE OVLY bezeichnete, vom Register 336 erzeugte, die übertragung der Überlagerungsdaten freischaltende Signal empfängt. Dieses Signal kann auch als Inversion eines die Überlagerungssignale sperrenden Signals angesehen werden. Das Aus- gangssignal des UND-Gatters 350 wird daher vom Überlagerungssignal gebildet, entsprechend modifiziert durch das Signal FORCE ONLY und das Signal ENABLE ONLY. Dieses Signal wird einem exclusiven ODER-Gatter 352 zugeführt, welches wahlweise das höchstwertige Bit des Video-Datensignals invertiert, welches von einem 8-Bit-Register 354 abgegeben wird. Diese selektive Invertierung des höchstwertigen Bits des Farbsignals sorgt für eine Kontrastfarbe, wenn das Signal durch einen Digital-Analog-Wandler geführt wird. Zusätzlich oder alternativ hierzu wird das vom Gatter 350 abgegebene gesteuerte Überlagerungssignal einem Eingang eines UND-Gatters 356 zugeführt, an dessen zweitem Eingang ein in den Fig. 9A und 9B mit FLIP/SUB bezeichnetes Signal des Registers 336 nach Durchführung einer Invertierung zugeführt wird. Normalerweise ist dieses Signal eine logische 1, so daß das UND-Gatter 356 gesperrt ist und in der Folge ein über einen Inverter 360 an das UND-Gatter 356 angeschlossenes Gatter 358 freigeschaltet wird. Dies schaltet den normalen Datenweg durch ein 8 Bit-Register 3134 frei, wobei das höchstwertige Farbkomponenten-Bit wahlweise aufgrund des (vom Gatter 350 abgegebenen) gesteuerten Invertiersiynals
31US75
invertiert ist. Liegt das Signal FLIP/SÜB jedoch auf einer logischen 0 zur Freischaltung des UND-Gatters 356/ so führt dies zu einer Freischaltung eines Gatters 362 und zwar stets dann, wenn das gesteuerte überlagerungssignal (am Gatter 356) anliegt. Unter diesen Bedingungen werden Daten, welche vorher in ein 8 Bit-Register 364 als Teil der Adressenbasis der zentralen Verarbeitungseinheit 14 eingeschrieben worden sind, dem Α-Eingang eines Multiplexers 366 zugeführt anstelle der Ausgangssignale des Gatters 358. Bei Abwesenheit einer logischen 1 im Überlagerungs-Steuer-Bit werden jedoch auch dann, wenn das UND-Gatter 356 freigeschaltet ist, normale Daten durch das Gatter 358 dem Multiplexer 366 zugeführt. Der Multiplexer 366 gibt wahlweise die durchgeschalteten Video- * 15 Signale so,wie sie vorher festgelegt worden, sind oder
ein einer logischen Null entsprechendes weißes Video-Signal (video blanking signal) ab und zwar in Abhängigkeit von dem vom Register 336 abgegebenen Signal ENABLE/ BLANK. Der Ausgang des Multiplexers 36 6 wird zu einem Digital-Analog-Wandlc-r 368 (in Fig. 9B mit D/A bezeichnet) * weitergeleitet und kann daneben auch wahlweise auf den ge-
. pufferten Haupt-Bus-Daten-Bus (BMBDAT) über ein Gatter
j 370 in Abhängigkeit von einem Durchschaltsignal RDEC6
* 25
durchgeschaltet werden.
Der Ausgang des Digit.al-Analog-Wandlers 368 wird der Reihe nach durch einen Verstärker 371, einen Tiefpassfilter 372, eine YIQ-RGB-Transformationsmatrj χ 374, einen Gamma-Korrekturfilter 376 und einen Ausgabe-Treiber (output driver) 378 geführt, um die Y-Komponente des Video-Signals zu erzeugen.
Es liegt auf der Hand, daß die weiteren Komponenten des Farbsignals in ähnlicher Weise vorarbeitet werden und daß die speziellen Werte der Filter und Umwandlungs-Komponenten vom jeweils eingesetzten Video-System abhängen und den gewünschten Eigenschaften des Video-Α isgabe-Sig^na!s.
ι 1 -ν j /
Im folgenden werden noch einmal kurz wesentliche Punkte der Erfindung zusammengefaßt:
Das beschriebene YIQ-Computergraphiksystem umfaßt ein Datenverarbeitungssystem mit einer Daten-Eingabetafel 28 zur Aufnahme von Eingaben eines Künstlers sowie eine Video-Verarbeitungseinrichtung 24, welche an das Daten-Verarbeitungssystem angeschlossen ist. Die Video-Verarbeitungseinrichtung 24 umfaßt einen erweiterbaren zweiteiligen Bildspeicher 50 mit einem ersten Teilspeicher 66 zur Speicherung von Intensitätsinformation Y für jedes Pixel des visuellen Bildes und mit einem zweiten Teilspeicher 68 zur Speicherung von zwei Video-Farbkomponenten für jeweils die Hälfte des visuellem Bildes. Die Video-Verarbeitungseinrichtung umfaßt ferner eine Speichersteuerung 46, die Pixeladressen-Information aufnimmt, die wiederum Pixelorte innerhalb einer das visuelle Bild enthaltenden Zeilen- und Spalten-Pixelortmatrix festlegt. Auf diese Pixeladresseninformation hin adressiert die Speichersteuerung 46 entsprechende Orte innerhalb des Bildspeichers 50. Die Video-Verarbeitungseinrichtung 24 umfaßt ferner eine Schnittstelle 48 zum Transfer von VJdeodaten zwischen dem Bildspeicher 50 und der Daten-Verarbeitungseinrichtung (insbesondere CPU 14) an Pixelorten innerhalb einer durch das Daten-Verarbeitungssystem definierten Ortsmatrix. Ferner ist ein Video-Ausgabe-Prozessor 42 innerhalb dieser Video-Verarbeitungseinrichtung 24 vorgesehen, welche Matrixadressenorte an den Bildspeicher 50 abgibt und von diesem wiederum Videodaten empfängt zur Erzeugung eines Farb-Video-Ausgangssignals in einem Abtastraster. Die Video-Verarbeitungseinrichtung 24 kann daneben auch einen Eingabe-Abtaster 44 umfassen, der in dem. Bildspeicher 50 Video-Information in Form einer kontinuierlichen Bildfolge erzeugt, auf dio hin der Video· Ausgabe-Pi~ozos;: or 42 ein R^alzcit-artigos Videosignal abgibt, welches cinc-m kont i ι»ι it-rl i eh '-ii-h vimi Bild zu Bild ändernden Videobild entspricht.

Claims (1)

  1. 31UG75
    Patentanwälte Dipl.-Ing. H. WEic*KMAiiN,s;DiP&i-PH¥sJl3A. K.Fincke
    D1PL.-ING. F. A.WElO'KM'ANNrDlPL.-ÖHEM.-B. HUBER
    Dr. Ing. H. Liska
    8000 MÜNCHEN 86, DEN J 3. POSTFACH 860 820 PRA MÖHLSTRASSE 22, RUFNUMMER 98 39 21/22
    Ampex Corp.
    Schnittstelle insbesondere für ein Computergraphiksystem
    Patentanspruch
    /!^Schnittstelle insbesondere für ein Computergraphiksystem zur Vermittlung von Daten-Transfers zwischen einem Bus
    (12) einer Daten-Verarbeitungseinrichtung (CPU 14) mit Adressen- und Datenleitungen und einer Video-Verarbeitungseinrichtung (24) mit einem Bildspeicher (50) mit zumindest einem Teilspeicher (66, 68, 70, 72) gekennzeichnet durch einen Adressengeber (194) zur Aufnahme einer Startadresse und zur fortlaufenden Erhöhung der Adresse auf festgestellte Daten-Transfers hin; und durch ein Steuerregister (190) zur Aufnahme von von der Daten-Verarbeitungseinrichtung abgegebenen Steuerinformation zur wahlweisen Ingangsetzung der selbsttätigen Adressenweiterzählung und zur Festlegung von Bedingungen, unter denen die selbsttätige Weiterzahlung durchzuführen ist insbesondere, ob Daten gelesen oder geschrieben werden und ob die Daten-Transfers zu einem bestimmten der Teilspeicher (66 bis 72) erfolgen.
DE19813114975 1980-04-11 1981-04-13 Schnittstelle insbesondere, für ein Computergraphik-System Expired DE3114975C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13958880A 1980-04-11 1980-04-11

Publications (2)

Publication Number Publication Date
DE3114975A1 true DE3114975A1 (de) 1982-03-04
DE3114975C2 DE3114975C2 (de) 1985-06-20

Family

ID=22487400

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813114975 Expired DE3114975C2 (de) 1980-04-11 1981-04-13 Schnittstelle insbesondere, für ein Computergraphik-System

Country Status (4)

Country Link
JP (1) JPS5723146A (de)
DE (1) DE3114975C2 (de)
GB (1) GB2073995B (de)
HK (1) HK50389A (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4692859A (en) * 1983-05-16 1987-09-08 Rca Corporation Multiple byte serial data transfer protocol
JPS6079045U (ja) * 1983-11-08 1985-06-01 本田技研工業株式会社 車両用自動変速機におけるトルクコンバ−タの直結制御装置
JPS6084464A (ja) * 1983-10-14 1985-05-13 Nissan Motor Co Ltd 自動変速機の油圧制御装置
EP0597555B1 (de) * 1985-12-13 2002-07-10 Canon Kabushiki Kaisha Bildverarbeitungsgerät
DE3710696A1 (de) * 1987-03-31 1988-11-10 Nixdorf Computer Ag Verfahren zum bearbeiten des speicherinhalts eines bildwiederholspeichers und schaltungsanordnung zur durchfuehrung des verfahrens
JP2832008B2 (ja) * 1988-07-29 1998-12-02 キヤノン株式会社 画像処理システム
US4906985A (en) * 1988-11-28 1990-03-06 Digital Equipment Corporation Easily upgradeable video memory system and method
WO1994030003A1 (en) * 1993-06-16 1994-12-22 Taligent, Inc. Color matching system
WO1998039758A1 (fr) * 1997-03-04 1998-09-11 Boris Rybak Machines d'affichages pouvant être multiples et combinatoires, statiques ou cinetiques, de tout signe figuratif et graphique de haute precision

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836500A1 (de) * 1978-08-21 1980-03-06 Siemens Ag Anordnung zum einblenden von graphiken in ein auf dem bildschirm eines sichtgeraetes dargestelltes bild

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2225460A1 (en) * 1973-04-12 1974-11-08 Aquitaine Total Organico Vinyl chloride polymer powder compsns - contg liquid and solid additives and prepd without heating
JPS5694390A (en) * 1979-12-28 1981-07-30 Taito Kk Cpuucontrolled color television
JPS5694391A (en) * 1979-12-28 1981-07-30 Taito Kk Pattern control circuit in cpuucontrolled color television
JPS5694389A (en) * 1979-12-28 1981-07-30 Taito Kk Color control method in cpuucontrolled color television

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2836500A1 (de) * 1978-08-21 1980-03-06 Siemens Ag Anordnung zum einblenden von graphiken in ein auf dem bildschirm eines sichtgeraetes dargestelltes bild

Also Published As

Publication number Publication date
JPS5723146A (en) 1982-02-06
DE3114975C2 (de) 1985-06-20
HK50389A (en) 1989-06-30
GB2073995A (en) 1981-10-21
GB2073995B (en) 1984-05-02

Similar Documents

Publication Publication Date Title
DE3114923C2 (de) Video-Ausgabe-Prozessor für ein Computer-Graphiksystem
US4475161A (en) YIQ Computer graphics system
DE4231158C5 (de) Verfahren und Einrichtung für die Zusammensetzung und Anzeige von Bildern
DE69333508T2 (de) Vorrichtung und Verfahren zur Verarbeitung von Videosignalen
US4459677A (en) VIQ Computer graphics system
DE3153360C2 (de)
DE3718501A1 (de) Videoanzeigegeraet
DE2703579A1 (de) System zur verarbeitung von videosignalen
DE10101073B4 (de) Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür
DE3443629A1 (de) Mit pixelwoertern arbeitender teletext-decodierer
DE2659189B2 (de) Anzeigeeinrichtung
EP0276800A2 (de) Einrichtung zur Darstellung eines zusammengesetzten Bildes
DE3346458A1 (de) Bildverarbeitungssystem
DE3534205C2 (de)
EP0038002B1 (de) Anordnung zum Darstellen von Zeichen an einem Bildschirm einer Anzeigeeinheit
DE3114975A1 (de) Schnittstelle insbesondere fuer ein computergraphiksystem
DE2652900A1 (de) Steuerschaltung zur bildwiederholung fuer ein raster-datensichtgeraet
DE2510542A1 (de) Digitale bildwiedergabevorrichtung mit mehreren bildschirmen
DE69829163T2 (de) Verfahren und Gerät zur Verwendung von Interpolationszeilenpuffern als Pixeltabellen
EP0006131A1 (de) Verfahren zur Übertragung von Aufzeichnungen mit gemischtem Darstellungsinhalt auf einen Sichtanzeigeschirm, insbesondere in Fernsprechanlagen
DE3223489A1 (de) Bildschirmtextdecoder zur bildlichen darstellung von texten, grafiken und symbolen auf bildschirmen von monitoren oder fernsehempfangsgeraeten
DE3444400A1 (de) Anordnung zur bildlichen wiedergabe von informationen mittels bit-abbildung
DE3138930A1 (de) Verfahren zum einschreiben von daten in einen bildwiederholspeicher eines datensichtgeraetes
DE3733930C2 (de)
DE4103880A1 (de) Bildverarbeitungsgeraet und -verfahren

Legal Events

Date Code Title Description
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee