DE3486494T2 - Graphisches Musterverarbeitungsgerät - Google Patents

Graphisches Musterverarbeitungsgerät Download PDF

Info

Publication number
DE3486494T2
DE3486494T2 DE3486494T DE3486494T DE3486494T2 DE 3486494 T2 DE3486494 T2 DE 3486494T2 DE 3486494 T DE3486494 T DE 3486494T DE 3486494 T DE3486494 T DE 3486494T DE 3486494 T2 DE3486494 T2 DE 3486494T2
Authority
DE
Germany
Prior art keywords
data
pixel
bit
address
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3486494T
Other languages
English (en)
Other versions
DE3486494D1 (de
Inventor
Katsura Koyo
Hideo Maejima
Hisashi Kajiwara
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.)
Hitachi Engineering Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Engineering Co Ltd
Hitachi Ltd
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
Priority claimed from JP58246986A external-priority patent/JPH06100911B2/ja
Priority claimed from JP59027155A external-priority patent/JPS60172085A/ja
Priority claimed from JP59120679A external-priority patent/JPS61875A/ja
Application filed by Hitachi Engineering Co Ltd, Hitachi Ltd filed Critical Hitachi Engineering Co Ltd
Publication of DE3486494D1 publication Critical patent/DE3486494D1/de
Application granted granted Critical
Publication of DE3486494T2 publication Critical patent/DE3486494T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • 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/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • G06T11/203Drawing of straight lines or curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/024Control 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 colour registers, e.g. to control background, foreground, surface filling
    • 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/20Function-generator circuits, e.g. circle generators line or curve smoothing circuits
    • 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
    • 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/393Arrangements for updating the contents 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
    • 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/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/127Updating a frame memory using a transfer of data from a source area to a destination area
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Digital Computer Display Output (AREA)
  • Image Processing (AREA)

Description

  • Die Erfindung betrifft eine Grafikdaten-Erzeugungsvorrichtung und ein Grafikdaten-Erzeugungsverfahren, insbesondere eine mit hoher Geschwindigkeit arbeitende Bildverarbeitungsvorrichtung mit Mikroprozessoren zum Eingeben und Ausgeben von Daten, zum Sammeln von Daten und zum Anzeigen eines Bildmusters auf einer durchgerasterten Kathodenstrahlröhre-Anzeigeeinrichtung, und die eine Zeichnungsfunktion aufweist, die durch ein in einem Mikroprogrammspeicher gespeichertes Mikroprogramm gesteuert wird.
  • Die meisten bekannten Kathodenstrahlröhre-Steuerungseinrichtungen steuern nur die Bildschirmfunktion und verfügen über keine Zeichnungsfunktion (siehe z. B. das US-Patent 4,149,264). Eine Bildverarbeitungsvorrichtung, die eine Bildverarbeitungsfunktion mittels einer integrierten Schaltung erzielt, ist bekannt, jedoch verarbeitet sie nur monochromatische Bildmusterdaten, die jedes Pixel durch ein Bit repräsentieren. Wenn jedoch das Informationsverarbeitungssystem immer komplexer wird, ist häufig eine Bildverarbeitung für ein Bild mit mehreren Farben oder mehreren Farbtönen erforderlich, und nun stellt die Verarbeitungsgeschwindigkeit für eine derartige Verarbeitung ein Problem dar. Wenn z. B. der Speicherinhalt bei einer Verarbeitung für mehrere Farben (n Farben) oder mehrere Farbtöne (n Farbtöne) zu aktualisieren ist, wird dieselbe Bildverarbeitung n mal wiederholt, oder wenn ein Pixel mit einem einzelnen Bit anzuzeigen ist, ist die Bildverarbeitung n mal zu wiederholen. Demgemäß ist die Verarbeitungszeit n mal so lang wie die zur binären Bildverarbeitung. Für jeden von n Bildschirmspeichern kann eine Verarbeitungsvorrichtung bereitgestellt werden, jedoch führt dies zu einer Zunahme der Abmessungen und Kompliziertheit und erhöht die Belastung einer zentralen Verarbeitungseinheit.
  • Nun sei ein Zeichnungsprozess angenommen, bei dem eine Linie in einem XY-Koordinatenraum mit einem Ursprung zwischen zwei Punkten PS (XX, YS) und PE (XE, YE) zu ziehen ist. Die Steigung der Linie wird auf Grundlage der Koordinatenwerte der zwei Punkte berechnet, und es werden Koordinatenwerte von Punkten auf der Linie berechnet. So werden Bildmusterdaten für jeden Punkt bereitgestellt und abgespeichert. Der obige Prozess wird für alle Punkte auf der Linie sequentiell ausgeführt. Da die berechneten Koordinatenwerte von den Speicheradressen des Bildschirmspeichers, in die die Bildmusterdaten eingeschrieben sind, verschieden sind, müssen die berechneten Koordinatenwerte (logische Adressen) in Bildschirmspeicher-Adressen (physikalische Adressen) übersetzt werden. Da jedes Wort im Bildschirmspeicher einen oder mehrere Pixeldatenwerte enthält, wird die logische Adresse in zwei physikalische Adressen übersetzt, erstens in die Bildschirmspeicher-Adresse und zweitens in eine Bitadresse, die eine Pixelposition repräsentiert.
  • Um die logische Adresse in eine physikalische Adresse zu übersetzen, müssen die physikalische Adresse des Ursprungs und die Horizontalgröße des Bildschirmspeichers bekannt sein. Da die logische Adresse (X, Y) eine Relativposition bezüglich des Ursprungs repräsentiert, kann die physikalische Adresse dadurch berechnet werden, dass zur physikalischen Adresse des Ursprungs das Produkt aus der orizontalgröße des Bildschirmspeichers multipliziert mit Y in vertikaler Richtung (Y) addiert wird, oder davon subtrahiert wird, während in horizontaler Richtung (X) der Quotient der logischen Adresse X geteilt durch die Anzahl von Pixeln in einem Wort addiert oder subtrahiert wird. Der beim Teilen der logische Adresse X durch die Anzahl von Pixeln in einem Wort erzeugte Rest wird als Bitadresse verwendet. Auf diese Weise wird die physikalische Adresse zum Verarbeiten der Bildmusterdaten erhalten.
  • Jedoch erfolgte die Berechnung der logischen Adresse und die Übersetzung in die physikalische Adresse in der Vergangenheit durch ein Softwareprogramm. Demgemäß wird keine Verarbeitung mit hoher Geschwindigkeit erzielt, wenn ein Universalmikroprozessor verwendet wird, der zum Speichern eines Pixeldatenwerts in den Bildschirmspeicher einige bis einige 10 Mikrosekunden benötigt.
  • Bei einer Bildmuster-Verarbeitungsvorrichtung, die graphische Bildschirmdaten erzeugt, werden die graphischen Bildschirmdaten in den Bildschirmspeicher übertragen. Nun stellt die beteiligte Verarbeitungsgeschwindigkeit ein Problem dar.
  • Es sei angenommen, dass ein Pixeldatenwert an eine andere Pixelposition zu übertragen ist. Im Allgemeinen speichert jedes Wort des Speichers Daten für mehrere horizontal zusammenhängende Pixel. Demgemäß ist, wenn ein Pixeldatenwert an eine andere Pixelposition zu übertragen ist, eine Verschiebeoperation zum Ausrichten der Bitpositionen oder eine Auswähloperation für einen Quellenpixel-Datenwert erforderlich, um die Bitpositionen zur Operation auszurichten. In der Vergangenheit erfolgte die Übertragung durch Software. Wenn z. B. Daten in einem rechteckigen Bereich zu übertragen sind, sind zusätzliche Schritte zum Verstellen von Zeigern zum Spezifizieren von Quellpixeln und Ziel- oder Bestimmungspixeln sowie ein Zählen der Anzahl von Übertragungsvorgängen erforderlich. Im Ergebnis sind, wenn ein Universalmikroprozessor verwendet wird, einige bis einige 10 Mikrosekunden zum Übertragen eines Pixeldatenwerts erforderlich, und demgemäß wird keine hohe Verarbeitungsgeschwindigkeit erzielt.
  • EP-A-0 073 916 offenbart eine Schaltung, um die Vordergrund- und die Hintergrundfarbe von Schriftzeichen unabhängig voneinander zu steuern. Dies wird erreicht, indem ein ein Schriftzeichen bezeichnender Acht-Bit-Code beispielsweise nach ASCII aus einem Speicher mit wahlfreiem Zugriff geholt wird. Zusätzlich wird außerdem ein Acht-Bit-Attribut-Code mit vier die Vordergrundfarbe bezeichnenden Bits und vier anderen die Hintergrundfarbe des Schriftzeichens bezeichnenden Bits geholt. Jedes Schriftzeichen kann damit in einer der möglichen Kombinationen von sechzehn Vordergrund- und sechzehn Hintergrundfarben angezeigt werden.
  • US 4,296,476 offenbart ein Datenverarbeitungssystem, das serielle Pixeldaten mit Bits empfängt, die das Vorhandensein oder die Abwesenheit von Objekten an einer Pixelposition auf dem Bildschirm angeben. Eine Farb-Luminanz-Auswahleinheit wählt eines einer Vielzahl von Farb-Luminanz-Registern aus, die jeweils einem der Objekte zugeteilt sind, um an jeder Pixelposition jeweils das am meisten im Vordergrund befindliche Objekt anzuzeigen. Jedem Objekt wird von dem Farb-Luminanz-Register lediglich eine einzige Farbe und Luminanz zugeteilt.
  • Die zuletzt genannten Dokumente sind daher ungeeignet, jedes einzelne Pixel auf einem Bildschirm in einer individuellen Farbe anzuzeigen.
  • Der Erfindung liegt daher die Aufgabe zugrunde, eine Vorrichtung und ein Verfahren zum schnellen Erzeugen von Graphikdaten mit Pixeln individueller Farbe oder Farbtönung anzugeben.
  • Diese Aufgabe wird von einer Vorrichtung und einem Verfahren nach den unabhängigen Ansprüchen gelöst. Die Unteransprüche betreffen bevorzugte Ausführungsbeispiele der Erfindung.
  • Ein bevorzugtes Ausührungsbeispiel ist eine Bildverarbeitungsvorrichtung, die eine Speicheraktualisierung für Mehrfarb-, Mehrfarbton-Daten, das Zeichnen eines Musters und die Übertragung von Pixeldaten in hoher Geschwindigkeit bearbeiten kann.
  • Ein anderes Ausführungsbeispiel liefert eine Hochgeschwindigkeits-Bildverarbeitungsvorrichtung, die ein Muster aus Mehrfarb- oder Mehrfarbton-Daten, die jeweils Pixel aufweisen, die durch mehrere Bits dargestellt werden, in im wesentlichen der gleichen Bearbeitungsgeschwindigkeit wie binäre Bilddaten zeichnen kann.
  • Ein anderes Ausführungsbeispiel liefert eine Bildverarbeitungsvorrichtung, die aufgrund einer logischen Adresse eines Bilds auch eine Adresse in einem Anzeige- bzw. Bildschirmspeicher mit hoher Geschwindigkeit berechnen kann.
  • Entsprechend einem Ausfilhrungsbeispiel der Erfindung umfasst die Bildverar beitungsvorrichtung eine Einrichtung zum sequentiellen Berechnen von Pixeladressen, die jeweils Informationen zum Bezeichnen einer Bildschirmspeicheradresse und einer Pixelposition in Einwort- bzw. Bildschirmanzeigedaten an dieser Adresse beinhalten, wobei Anzeige- bzw. Bildschirmsteuerdaten herangezogen werden, eine Einrichtung zum logischen Bearbeiten von Zeichnungsdaten für die bezeichneten Pixelbits der berechneten Einwort-Pixeladresse aufgrund Pixelpositionsinformationen und eine Einrichtung zum Schreiben der logisch bearbeiteten Daten in die Bildschirmspeicheradresse.
  • Die Bildverarbeitungsvorrichtung umfasst ferner eine Einrichtung für logische Adressenoperationen zum Erzeugen einer logischen Adresse, die die Position eines Musters bezüglich eines Ursprungs auf Grundlage eines Bildschirm-Steuerungsdatenwerts repräsentiert, und eine Einrichtung zum Berechnen einer physikalischen Adresse in einem Bildschirmspeicher auf Grundlage der logischen Adresse.
  • Gemäß einer weiteren bevorzugten Ausführungsform umfasst die Bildverarbeitungsvorrichtung eine Einrichtung zum Berechnen eines Verschiebewerts auf Grundlage von Information zum Spezifizieren einer Pixelposition in einem Quellwort sowie Information zum Spezifizieren einer Pixelposition in einem Zielwort, wenn ein Bildschirm-Datenwert in einem Graphikmuster-Bildschirmspeicher zu übertragen ist, und eine Verschiebeeinrichtung zum mehrfachen Verschieben von Bildschirmdaten über mehrere Bits.
  • Gemäß einer anderen bevorzugten Ausführungsform umfasst die Bildver arbeitungsvorrichtung ein Befehlsregister zum Einspeichern eines Befehlscodes, wie er in einem als Bildschirm-Steuerungsdatenwert gelieferten Befehl enthalten ist, einen Decodierer zum Decodieren eines Teils des im Befehlsregister abgespeicherten Befehlscodes, um den Typ der Operation zu erzeugen, wie sie für eine aktuelle Koordinate auszuführen ist, ein Coderegister zum Speichern des Ausgangswerts des Decodierers, eine Einrichtung zum Berechnen von Pixelkoordinaten in einem Graphikmuster-Bildschirmspeicher auf Grundlage eines Steuerungssignals sowie eine Einrichtung zum Spezifizieren einer Position im Graphikmuster- Bildschirmspeicher auf Grundlage der Koordinate.
  • Die Erfindung ist aus der folgenden detaillierten Beschreibung in Verbindung mit den beigefügten Zeichnungen ersichtlich.
  • 1 ist ein Blockdiagramm einer Grafikmuster-Verarbeitungsvomchtung mit einem Ausführungsbeispiel der Erfindung;
  • 2 ist ein Blockdiagramm einer Grafikmuster-Verarbeitungsvorrichtung mit dem vorliegenden Ausführungsbeispiel;
  • 3 zeigt die Konfiguration eines Bildschirmspeichers für eine Anzeige mit vier Bits pro Pixel.
  • 4 zeigt eine spezielle Schaltung einer Logikadresse-Berechnungseinheit in 2;
  • 5 zeigt eine spezielle Schaltung einer Physikalische- Adresse-Berechnungseinheit in 2;
  • 6 zeigt eine spezielle Schaltung einer Farbdaten-Verarbeitungseinheit in 2;
  • 7 veranschaulicht Funktionen von Feldern einer Mikroanweisung;
  • 8a8e zeigen Bitkonfigurationen in einem Bildschirmspeicher in jeweiligen Modi, und 8f zeigt die Konfiguration eines Anweisungs-Steuerungsregisters;
  • 9a9e zeigen Pixeladressen entsprechend zu den 8a8e;
  • 10 zeigt die räumliche Anordnung des Bildschirmspeichers in einem 4 Bit/Pixel-Modus;
  • 11 zeigt ein Flussdiagramm eines Zeichnungsvorgangs für ein Pixel (4 Bits/Pixel);
  • 12 zeigt eine Konfiguration zum Übersetzen einer logischen Adresse in einer physikalischen Adresse, wie aus den 4 und 5 entnommen, wobei bestimmte Funktionen hinzugefügt sind;
  • 13 zeigt die Beziehung zwischen einer physikalischen Adresse, dem Raum logischer Adressen und einem Bildschirm in einem Modus (4 Bits/Pixel);
  • 14a14c veranschaulichen eine Operation betreffend 13;
  • Fig. 15 zeigt einen Bitmodus und eine entsprechende Bitadresse, die eine Pixelposition in einem Wort kennzeichnet;
  • 16a16d veranschaulichen eine Beziehung zwischen einem Maskendatenwert und einer Bitadresse;
  • 17a veranschaulicht eine Grundoperation bei der Adressenübersetzung;
  • 17b zeigt einen Bitadresse-Versatzwert oder -Offsetwert;
  • 18 zeigt eine gerade Linie, wie sie gemäß der Erfindung gezogen wurde;
  • 19 zeigt ein Ausführungsbeispiel zum Übertragen von Pixelinformation, wobei diejenigen in den 4, 5 und 6 dargestellten Elemente, die für die Informationsübertragung nicht wichtig sind, weggelassen sind;
  • 20a und 20b veranschaulichen einen Betriebsvorgang zu 19;
  • 21 veranschaulicht die Übertragung eines Pixeldatenwerts;
  • 22 zeigt ein Flussdiagramm eines Übertragungsvorgangs;
  • 23 zeigt die Bewegungsrichtung eines Übertragungszeigers bei Spezifizierung in einem rechteckigen Bereich;
  • 24 zeigt eine Konfiguration zum Berechnen und Steuern einer Pixelposition, wobei nur wichtige Elemente aus den 4, 5 und 6 dargestellt sind;
  • 25 zeigt das Format eines Übertragungs(Kopier)befehls;
  • 26 veranschaulicht eine zugehörige Operation;
  • 27a zeigt ein Coderegister;
  • 27b und 27c zeigen Formate eines Musterbefehls; und
  • 28 zeigt ein Prozessflussdiagramm für den Kopierbefehl.
  • 1 ist ein Blockdiagramm, das die Gesamtkonfiguration einer Graphikmuster-Verarbeitungsvorrichtung mit der vorliegenden Erfindung zeigt. Gemäß 1 umfasst diese Graphikmuster-Verarbeitungsvorrichtung eine Operationseinheit 30, die das Schreiben, Aktualisieren und Lesen eines Bildschirm-Datenwerts hinsichtlich eines Bildschirmspeichers 13 steuert, und eine Steuerungseinheit 20 zum Steuern der Operationseinheit 30 mit einer vorbestimmten Abfolge. Die durch die Bildmuster-Verarbeitungsvorrichtung aus dem Bildschirmspeicher 13 gelesenen Bildschirmdaten werden durch eine Bildschirm-Umsetzungseinheit 40 in ein Videosignal umgesetzt und auf einer Bildschirmeinheit 50 angezeigt.
  • Die durch die Steuerungseinheit 20 gesteuerte Operationseinheit 30 berechnet sequentiell Pixeladressen, von denen jede Information enthält, die eine Adresse im Bildschirmspeicher 13 spezifiziert, sowie eine Pixelposition in einem Wort des Bildschirm-Datenwerts im Bildschirmspeicher 13, sie liest ein Wort der Bildschirmdaten im Bildschirmspeicher auf Grundlage der Adresseninformation für den Bildschirmspeicher 13 an der berechneten Adresse aus, sie führt eine logische Operation für nur vorbestimmte Pixelbits eines Anzeigedatenwerts entsprechend Information aus, die mehrere Bitpositionen spezifiziert, die spezifizierten Pixelpositionen entsprechen, wie sie auf Grundlage von Pixelpositions-Spezifizierinformation für die berechnete Pixeladresse beruhen, und sie schreibt das Ergebnis der logischen Operation in den Bildschirmspeicher 13 ein. Die Zahl 60 bezeichnet einen externen Computer. Die Bildmuster-Verarbeitungsvorrichtung arbeitet entsprechend Steuerungsdaten wie vom externen Computer 60 gelieferten Anweisungen und Parametern.
  • 2 ist ein Blockdiagramm eines Ausführungsbeispiels einer Bildmuster-Verarbeitungsvorrichtung mit der vorliegenden Erfindung.
  • Gemäß 2 umfasst die Steuerungseinheit 20 einen Mikroprogrammspeicher 100, ein Mikroprogramm-Adressregister 110, ein Rücksprungadresse-Register 120, ein Mikroanweisungsregister 130, einen Mikroanweisungsdecodierer 200, ein Flagregister 210, einen Musterspeicher 220 und ein Anweisungssteuenegister 230.
  • Die Operationseinheit 30 umfasst eine Operationensteuerungseinheit 300 und einen FIFO(first-in first-out)-Speicher 400. Die Operationssteuerungseinheit 300 umfasst eine Einheit 310 für Operationen an logischen Adressen (A-Einheit), eine Einheit 320 für Operationen an physikalischen Adressen (B-Einheit) und eine Einheit 330 für Operationen an Farbdaten (C-Einheit).
  • Die A-Einheit 310 bestimmt in erster Linie einen Zeichnungspunkt auf einem Bildschirm entsprechend einem Zeichnungsalgorithmus, die B-Einheit 320 berechnet eine erforderliche Adresse im Bildschirmspeicher, und die C-Einheit erzeugt einen in den Bildschirmspeicher einzuschreibenden Farbdatenwert.
  • 3 zeigt eine Konfiguration einer Bildschirmeinheit zum Anzeigen jedes Pixels mittels vier Bits. Die durch die Bildmuster-Verarbeitungsvorrichtung der 2 spezifizierten Bildschirmdaten werden durch die Bildschirmeinheit 50 angezeigt.
  • Gemäß 3 werden D0, D4, D8 und D12 von Bildschirmdaten DT, wie sie entsprechend Signalen zu einer Adresse AD von der Bildmuster-Verarbeitungseinheit ( 2) aus dem Bildschirmspeicher 13 gelesen werden, an einen 4-Bit-Parallel- Seriell-Wandler 410 in der Bildschirm-Umsetzungseinheit 40 geliefert. Der Wandler 410 erzeugt ein Videosignal VD0. Auf ähnliche Weise werden D1, D5, D9 und D13 der Bildschirmdaten DT an einen Parallel-Seriell-Wandler 420 in der Bildschirmumsetzeinheit 40 geliefert, und der Wandler 420 erzeugt ein Videosignal VD1, D2, D6, D10 und D14 der Bildschirmdaten DT werden an einen Parallel-Seriell-Wandler 430 in der Bildschirm-Umsetzeinheit 40 geliefert, der ein Videosignal VD2 erzeugt. D3, D7, D11 und D15 der Bildschirmdaten DT werden an einen Parallel-Seriell-Wandler 440 in der Anzeigeumsetzeinheit 40 geliefert, der ein Videosignal VD3 erzeugt. Die Videosignale VD0–VD3 werden an eine Videoschnittstellenschaltung 450 geliefert, die Farbumsetzung und DA-Umsetzung ausführt, und das sich ergebende Signal wird auf der Bildschirmeinheit 50 angezeigt.
  • Nun werden Einheiten in der Operationensteuerungseinheit 300 erläutert. 4 zeigt eine Einzelheit der Einheit 310 für Operationen an logischen Adressen. Sie umfasst einen FIFO- Puffer (FBUF) 3101, Universalregister (TR0Y, TR0X, TR1X, TR1Y, TR2X,, TR2Y, CPX, CPY) 3102, Bereichssteuerungsregister (XMIN, YMIN) 3103 und (XMAX, YMAX) 3105, einen Bereichskomparator (ACMP) 3104, Endpunktregister (XEND, YEND) 3106, einen Endkomparator (ECMP) 3107, Quell-Latchstufen (SFTA, SLAV) 3108 und (SLAU) 3109, eine Einheit für arithmetisch- logische Operationen (ALU) 3110, eine Ziel-Latchstufe (DLA) 3111, einen Busschalter 3112, Lesebusse (UBA, VBA) 3113 und 3114 sowie einen Schreibbus (WBA) 3115.
  • 5 zeigt eine Einzelheit der Einheit 320 für Operationen an physikalischen Adressen (B-Einheit). Sie umfasst Ziel- Latchstufen (DLB, SFTB) 3201, eine Einheit für arithmetische Operationen (AU) 3202, Quell-Latchstufen (SLBV) 3203 und (SLBU) 3204, ein Versatzregister (OFS) 3205, ein Schirmbreiteregister (MW) 3206, ein Befehlsregister (CR) 3207, Universalregister (DPL, DPH, RWPH, RWPL, T2H, T2L) 3208, einen Lesebus (UBB) 3209 sowie einen Schreibbus (WBB) 3210. Die Universalregister 3208 umfassen Register für die aktuelle Adresse (DPH, DPL) für pro Pixel geltende Befehle, Adressenregister (RWPH, RWPL) für pro Wort geltende Befehle sowie Arbeitsregister (T2H, T2L).
  • 6 zeigt eine Einzelheit der Einheit zur Erzeugung von Farbdaten (C-Einheit). Sie umfasst ein Barrel- oder Umlaufschieberegister (BRLS) 3301, Farbregister (CL0, CLI, EC, EDG) 3302, einen Farbkomparator (CLCMP) 3304, eine Einheit 3305 für logische Operationen (LU), einen Schreibdatenpuffer (WDBR) 3306, einen Muster-RAM-Puffer (PBUF) 3307, einen Musterzählter (PCNT) 3308, Mustersteuerregister (PP, PS, PE) 3309, einen Lesedatenpuffer (RDBR) 3310, Speicheradressenregister (MARL, MARH) 3311, einen Speicherausgangsbus 3312, einen Speichereingangsbus 3313 und einen Eingangs/Ausgangs- Puffer 3400. Ein Maskenregister 3303 umfasst ein Register (CMSK) und ein Register (GMSK).
  • Nun wird ein Betriebsablauf des so aufgebauten Ausführungsbeispiels erläutert. Als erstes werden Grundoperationen der jeweiligen Einheiten beschrieben.
  • Der in den 1 und 2 dargestellte Bildschirm-Steuerungsdatenwert CDT ist eine von einer anderen Einheit, wie einer zentralen Verarbeitungseinheit, gelieferte Anweisung oder ein Parameter, und er wird einerseits in den Speicher (FIFO) 400 und andererseits in das Anweisungssteuerungsregister 230 eingeschrieben. Das Anweisungssteuerungsregister 230 speichert Bildbitmodi, und beim vorliegenden Ausführungsbeispiel wird mittels des Datenwerts CDT einer von fünf Pixelmodi ausgewählt.
  • Der Speicher 400 ist ein FIFO-Speicher. Eine im Speicher 400 gespeicherte Anweisung wird durch die Operationensteuerungseinheit 300 gelesen und in das Register 3101 in derselben eingespeichert. Ein Teil CID der Anweisungsinformation wird an das Adressenregister 110 übertragen.
  • Das Adressenregister 110 steuert die Adresse des Mikroprogrammspeichers 100, und diese Adresse wird synchron mit einem Taktsignal aktualisiert. Aus dem Mikroprogrammspeicher 100 wird entsprechend der durch das Adressregister 110 gelieferten Adresse eine Mikroanweisung gelesen, wie in 7 dargestellt. Die aus dem Speicher 100 gelesene Mikroanweisung verfügt über 48 Bits, wie in 7 dargestellt, so dass einer von Steuerungsmodi #0 bis #7 ausgewählt werden kann. Die Anweisung wird im Register 130 zwischengespeichert, und sie steuert die Operationensteuerungseinheit 300 mittels eines Steuerungssignals CSS, das vom Decodierer 200 erzeugt wird, der entsprechend dem durch das Anweisungssteuerungsregister 230 ausgewählten Modus betrieben wird. Nachfolgend werden Funktionen der Felder der Mikroanweisung gemäß 7 erläutert.
  • In 7 ist "RU" eine Anweisung, die ein mit dem Bus UBA 3113 zu verbindendes Register spezifiziert. "RV" ist eine Anweisung, die ein mit dem Bus VBA 3114 zu verbindendes Register spezifiziert. "RW" ist eine Anweisung, die ein Register spezifiziert, in das die Daten auf dem Bus WRA 3115 zu schreiben sind. "FUNCA" ist eine Anweisung, die eine Operation der Einheit 3110 für arithmetisch-logische Operationen der A-Einheit spezifiziert. "SFT" ist eine Anweisung, die einen Verschiebemodus eines zur Quell-Latchstufe 3108 hinzugefügten Schieberegisters (SFTA) spezifiziert. "ADF-L" ist eine Anweisung, die die vier Bits niedriger Ordnung einer nächsten Adresse spezifiziert, die an das Mikroprogramm- Adressregister 110 rückzuliefern sind. "AC" ist eine Anweisung, die die nächste Adresse der Mikroanweisung steuert. "ADF-H" ist eine Anweisung, die die sechs Bits hoher Ordnung der nächsten Adresse spezifiziert, wie sie an das Mikroprogramm-Adressregister 110 rückzuliefern sind. Die Mikroanweisungen #4– #7 können die sechs Bits hoher Ordnung der Adresse nicht aktualisieren. "FUNCB" ist eine Anweisung, die einen Operationsmodus der Einheit 3202 für arithmetische Operationen der B-Einheit spezifiziert. "ECD" ist eine Anweisung, die eine Ausführungsbedingung für die Operation spezifiziert. "BCD" ist eine Anweisung, die eine Verzweigungsbedingung spezifiziert. "FLAG" ist eine Anweisung, die eine Rücklieferung eines Flags an das Flagregister 210 spezifiziert. "V" ist eine Anweisung, die spezifiziert, ob eine Adresse für den Bildschirmspeicher 13 getestet wird oder nicht. "FIFO" ist eine Anweisung, die Schreib/Lese-Vorgänge des FIFO 400 steuert. "LITERAL" ist eine Anweisung, die einen 8-Bit-Buchstabendatenwert spezifiziert. "LC" ist eine Anweisung, die einen Erzeugungsmodus für den Buchstabendatenwert spezifiziert. "FF" ist eine Anweisung, die das Setzen und Rücksetzen eines Flipflops steuert. "S" ist eine Anweisung, die die Auswahl eines Codeflags spezifiziert. "MC" ist eine Anweisung, die Schreib/Lese-Vorgänge des Bildschirmspeichers 13 steuert. "DR" ist eine Anweisung, die ein Durchrastern des Muster-RAM steuert. "BC" ist eine Anweisung, die einen Eingangspfad in die Einheit 3202 für arithmetische Operationen der B-Einheit steuert. "RB" ist eine Anweisung, die die Lese/Schreib-Register der B-Einheit auswählt.
  • Die Mikroanweisung umfasst die obigen Anweisungen, so dass die Steuerungseinheit 20 die Operationeneinheit 30 steuert.
  • Das Rücksprungadresse-Register 120 speichert die Rücksprungadresse einer Unterroutine. Das Flagregister 210 speichert Bedingungsflags. Der Musterspeicher 220 speichert ein zum Verarbeiten des Bildmusters verwendetes Grundmuster. Nun werden Bitlayouts für Daten erläutert, wie beim vorliegenden Ausführungsbeispiel verwendet.
  • Als erstes wird ein Graphikmodus beschrieben. Beim vorliegenden Ausführungsbeispiel kann einer von fünf Betriebsmodi entsprechend der Spezifizierung durch den im Anweisungssteuerungsregister 230 gespeicherten Bildbitmodus (GBM) ausgewählt werden.
  • Die 8a8e zeigen 1-Wort-Bitkonfigurationen des Bildschirmspeichers in den jeweiligen Modi.
  • (a) Modus mit 1 Bit/Pixel (GBM = "000")
  • Dieser wird dazu verwendet, ein Pixel durch ein Bit zu repräsentieren, und er wird für ein monochromatisches Bild verwendet. In einem Wort des Bildschirmspeichers 13 wird ein Datenwert von 16 aufeinanderfolgenden Pixeln gespeichert.
  • (b) Modus mit 2 Bits/Pixel (GBM = "001")
  • Dieser repräsentiert ein Pixel durch zwei Bits. Es können bis zu vier Farben oder Farbtöne angezeigt werden. So ist in einem Wort des Bildschirmspeichers ein Datenwert von acht aufeinanderfolgenden Pixeln gespeichert.
  • (c) Modus mit 4 Bits/Pixel (GBM = "010")
  • Dieser repräsentiert ein Pixel durch vier Bits. In einem Wort des Bildschirmspeichers ist ein Datenwert für vier aufeinanderfolgende Pixel gespeichert.
  • (d) Modus mit 8 Bits/Pixel (GBM = "011")
  • Dieser repräsentiert ein Pixel durch acht Bits. In einem Wort des Bildschirmspeichers ist ein Datenwert für zwei Pixel gespeichert.
  • (e) Modus mit 16 Bits/Pixel (GBM = "100")
  • Dieser repräsentiert ein Pixel durch 16 Bits. In einem Wort des Anzeigespeichers ist der Datenwert für ein Pixel gespeichert.
  • 8(f) zeigt das Anweisungssteuerungsregister 230.
  • Nun wird die Pixeladresse erläutert. 9 zeigt Pixeladressen für die jeweiligen Modi von B. Das Register 3208 der Einheit für Operationen an physikalischen Adressen steuert die Bitadresse (physikalische Adresse) im AD, zu der die vier Bits niedriger Ordnung der Speicheradresse addiert werden. Die Information WAD der vier Bits niedriger Ordnung wird dazu verwendet, die Pixelposition im Wort zu spezifizieren, und sie wirkt entsprechend dem Bit/Pixel-Modus. Das Symbol "*" repräsentiert ein für die Operation nichtrelevantes Bit.
  • 10 zeigt die räumliche Anordnung des Bildschirmspeichers für den obigen "Modus mit vier Bits/Pixel" gemäß c). Speicheradressen sind als lineare Adressen zugeordnet, wie es in der Speicherkarte von 10(A) dargestellt ist, und sie werden als zweidimensionales Bild angezeigt, wie es in 10(B) dargestellt ist. Die horizontale Breite des Schirms ist im Schirmbreiteregister (MW) 3206 von 5 gespeichert, und der Wert MW bezeichnet die Anzahl von Bits entlang der horizontalen Breite des Bildschirms. Im Modus mit 4 Bits/Pixel werden horizontal MW/4 Pixel angezeigt. Da ein Pixel mittels vier Bits angezeigt wird, erfolgt die Anzeige eines 1-Wort-Datenwerts durch einen horizontal zusammenhängenden 4-Pixel-Datenwert, wie in Fig. 10C dargestellt. Der Versatzgenerator 2001 von 5 erzeugt einen Versatzwert "4", der im Versatzregister 3205 gespeichert wird. Demgemäß kann zum horizontalen Verschieben der physikalischen Adresse um ein Pixel der Versatzwert addiert oder subtrahiert werden. Um die physikalische Adresse um ein Pixel vertikal zu verschieben, kann der Inhalt des Registers (MW) 3206 addiert oder subtrahiert werden. So sind die Bitlayouts der beim vorliegenden Ausführungsbeispiel verwendeten Daten beschrieben.
  • Nun wird ein Vorgang zum Speichern der Bilddaten in den Bildschirmspeicher 13 mittels dieser Daten erläutert.
  • Der Steuerungsdatenwert CDT, wie die von der externen zentralen Verarbeitungseinheit gelieferte Anweisung oder der Parameter wird einerseits in den Speicher 400 eingeschrieben und andererseits in das Anweisungssteuerungsregister 230 eingeschrieben.
  • Nachfolgend wird ein Vorgang erläutert, wenn der im Anweisungssteuerungsregister 230 gespeicherte Bildbitmodus (GBM) der Modus mit 4 Bits/Pixel (GBM = "010") ist.
  • Wenn der Bildbitmodus (GBM) im Anweisungssteuerungsregister 230 den Modus mit 4 Bits/Pixel spezifiziert, wird der 1- Wort-Datenwert im Bildschirmspeicher 13 als 4-Bit-Gruppe gehandhabt, wie es in 8(c) dargestellt ist.
  • Die Signale CDT, wie die Anweisungen und Parameter von der externen zentralen Verarbeitungseinheit werden sequentiell in den Speicher 400 eingespeichert. Die im Speicher 400 gespeicherten Daten werden in den FIFO-Puffer 3101 der A-Einheit 310 eingelesen. Die in den FIFO-Puffer 3101 eingelesenen Daten werden über den internen Bus 3113 im Register eingespeichert. Sie werden über das Quellregister (SLAU) 3109 vom Bus an die Einheit (ALU) für arithmetisch-logische Operationen 3110 geliefert, es wird eine vorbestimmte Operation ausgeführt, und das Operationsergebnis wird in der Ziel- Latchstufe (DLA) 3111 zwischengespeichert. Das Ergebnis wird über den Bus WBA in das Universalregister 3102 eingespeichert. Dieses Universalregister 3102 speichert die aktuelle Koordinate in einem Koordinatenraum.
  • Die aktuelle XY-Koordinate im Universalregister 3102 wird über den Lesebus 3113 oder 3114 gelesen und an die Einheit (ALU) für arithmetisch-logische Operationen 3110 geliefert. Das Operationsergebnis der Operationseinheit (ALU) 3110 wird erneut über die Ziel-Latchstufe (DLA) 3111 und den Schreibbus 3115 in das Universalregister 3102 eingespeichert. Diese Reihe von Operationen wird unter Steuerung der in 7 dargestellten Mikroprogrammanweisung ausgeführt.
  • Die Daten auf dem Schreibbus 3115 werden an die Bereichssteuerungsregister 3103 und 3105 geliefert und durch den Bereichskomparator 3104 verglichen. Der Komparator 3104 ermittelt, ob der Datenwert auf dem Schreibbus 3115 in den Bereich zwischen einem X-Achse-Minimalwert (XMIN) und einem X- Achse-Maximalwert (XMAX) oder in den Bereich zwischen einem Y-Achse-Minimalwert (YMIN) und einem Y-Achse-Maximalwert (YMAX) fällt, und das Ergebnis wird an das Flagregister 210 geliefert.
  • Der Datenwert auf dem Schreibbus 3115 wird im Endpunktregister 3106 gespeichert und an den Endkomparator 3107 geliefert. Der Komparator 3107 vergleicht den Datenwert auf dem Schreibbus 3115 mit zuvor im Register 3105 gespeicherten X-Achse- und Y-Achse-Endpunkten, um zu ermitteln, ob der Datenwert den Endpunkten entspricht. Das Vergleichsergebnis wird an das Flagregister 210 rückgeliefert.
  • Wie oben beschrieben, werden die Ergebnisse der Komparatoren 3104 und 3107 sowie der Operationseinheit 3110 im Flagregister 210 gesammelt und an den Mikroanweisungsdecodierer 200 geliefert, um dazu verwendet zu werden, den Ablauf des Mikroprogramms zu ändern.
  • Die A-Einheit 310 arbeitet auf die oben beschrieben Weise, und sie decodiert die durch den Parameter gegebene XY-Koordinate, um eine Anweisung wie zum Zeichnen einer Linie oder eines Kreises zu interpretieren.
  • Unter Bezugnahme auf 5 wird nun die Funktion der B-Einheit 320 beschrieben.
  • Der Bildschirm-Steuerungsdatenwert wird anfangs über die Busse UBB und WBB sowie die Register DLB und SLBU in das Register 3208 eingetragen. Der Datenwert im Register 3208 wird über den Lesebus 3209 und die Quell-Latchstufe 3204 an die Einheit (AU) für arithmetische Operationen 3202 geliefert. Das Operationsergebnis der Operationseinheit 3202 wird in der Ziel-Latchstufe 3201 zwischengespeichert und an die Busse 3113, 3114, 3209 und 3210 geliefert. Er wird über den Bus 3210 in das Register 3208 eingeschrieben. Das Register 3208 verfügt über zwei 16-Bit-Wörter, so dass eine physikalische Adresse in einem 32-Bit-Wort gespeichert wird. Das Register 3208 umfasst drei 32-Bit-Register, so dass es drei Datenwerte speichern kann. Die Register DP (DPL, DPH) des Registers 3208 speichern die physikalische Adresse des aktuellen Bildpunkts, der dem aktuellen Bildpunkt XY entspricht. Wenn die XY-Koordinate des Registers 3102 der A-Einheit 310 verschoben wird, wird die physikalische Adresse des Registers DP entsprechend verschoben.
  • Die physikalische Adresse kann dadurch geändert werden, dass ein vorbestimmter variabler Wert (Versatzwert X entsprechend dem Abstand zu einem Zielpunkt) zur ursprünglichen physikalischen Adresse auf der X-Achse addiert oder davon subtrahiert wird, und ein vorbestimmter Wert entlang der Y- Achse addiert oder subtrahiert wird. In das Versatzregister 3205 wird abhängig von einer durch den Versatzgenerator 2001 spezifizierten Information eine zum horizontalen Verschieben der Pixeladresse um ein Pixel erforderliche Konstante eingetragen. Die Konstante und der Datenwert werden in der Operationseinheit 3202 einer solchen Operation unterzogen, dass die horizontal verschobene physikalische Adresse berechnet wird. Wenn z. B. der Pixelmodus der Modus mit 1 Bit/Pixel ist, hat die Konstante den Wert 1 und eine 1-Pixel-Verschiebung resultiert in einer 1-Bit-Verschiebung. Im Modus mit 4 Bit/Pixel hat die Konstante den Wert 4, und eine 1-Pixel- Verschiebung resultiert in einer 4-Bit-Verschiebung.
  • Um eine vertikale Verschiebung um ein Pixel vorzunehmen, wird eine in das Schirmbreiteregister 3206 eingetragene Konstante zur Operation verwendet, so dass eine Verschiebung um ein Pixel erzielt wird.
  • Die B-Einheit 320 arbeitet auf die oben beschrieben Weise, um die aktuelle physikalische Adresse zu berechnen, die der durch die A-Einheit 310 bestimmten XY-Koordinate entspricht.
  • Nun wird unter Bezugnahme auf 6 die Funktion der C-Einheit 330 beschrieben.
  • Die C-Einheit 330 ist über den Ausgangsbus 3312 und den Eingangsbus 3313 mit dem in 10 dargestellten Bildschirmspeicher 13 verbunden. Die Adresseinformation AD wird als erstes von der C-Einheit 330 an den Ausgangsbus 3312 geliefert, und dann wird der Datenwert DT geliefert.
  • Die Adressinformation AD wird über die B-Einheit 320 und den Bus UBB 3209 in das Speicheradressregister 3311 eingeschrieben und in den Teilen MARL und MARH des Speicheradressregisters 3311 gespeichert. Die im Register 3311 gespeicherte Speicheradresse wird über den Ausgangsbus 3312 an den Bildschirmspeicher 13 geliefert, und aus dem Bildschirmspeicher 13 wird über den Eingangsbus 3313 ein spezifizierter 1-Wort- Bildschirmdatenwert DT gelesen. Der gelesene Bildschirmdatenwert DT wird in den Lesedatenpuffer 3310 eingespeichert. Wenn der Bildschirmdatenwert DT ein Bildmusterdatenwert ist, wird er an die Operationseinheit 3305 geliefert.
  • Die Maskierungsinformation (die ein zum Maskieren des Bit in einem Wort spezifiziert) vom Maskenregister 3303 wird an die Operationseinheit 3305 geliefert. Die Maskierungsinformation wird vom Register (CMSK), in das unmittelbar vom Bus WBB 3210 geschrieben wird, oder vom Register GMSK, das vom Adressendecodierer 2002 erzeugte Daten speichert, an die Operationseinheit 3305 geliefert.
  • Außerdem wird die Farbinformation durch das Farbregister 3302 ausgewählt und an die Operationseinheit (LU) 3305 geliefert, die sie entsprechend dem Datenwert DT, der Maskierungsinformation und der Farbinformation einer logischen Operation unterzieht, und sie liefert das Operationsergebnis an das Schreibregister (WDBR) 3306. Die Musterinformation wird durch Spezifizierung des durch den Musterzähler 3303 erzeugten Adressensignals sowie der Bildmusterregister (PP, PS, PE) 3309 vom Muster-RAM 220 in den Muster-RAM-Puffer (PBUF) 3307 eingespeichert.
  • Die C-Einheit arbeitet auf diese Weise, um die Farbinformation umzusetzen.
  • Nun wird ein Zeichnungsvorgang erläutert. 11 zeigt ein Flussdiagramm für einen Zeichnungsvorgang für ein Pixel im Modus mit vier Bits/Pixel.
  • Der Datenwert, wie er aus dem Muster-RAM 220 mittels der durch die Bildmusterregister (PP, PS, PE) 3309 und das Musterregister (PCNT) 3308 spezifizierten Adresse gelesen wird, wird im Muster-RAM-Puffer 3307 abgespeichert, um die Werte CL0 und CL1 des Farbregisters 3302 auszuwählen. Der aus dem Bildschirmspeicher 13 gelesene Datenwert (CA, CB, CC, CD) wird in den Lesedatenpuffer 3310 eingespeichert. Beim vorliegenden Ausführungsbeispiel sind der Farbdatenwert und der Datenwert gemäß dem Lesevorgang 4-Bit-Farbinformation oder -Farbtoninformation. Die 1-Bit-Musterinformation wird aus dem Musterspeicher 220 gelesen, und es wird das Farbregister 0 (CL0) oder das Farbregister 1 (CL1) abhängig vom Inhalt "0" oder "1" (X = "1" oder X = "0") der 1-Bit-Musterinformation ausgewählt, und der Inhalt des ausgewählten Registers wird an die Einheit 3305 für logische Operationen geliefert. Die vier Bits niedriger Ordnung der Information zur physikalischen Adresse, wie im Speicheradressenregister 3311 gespeichert, haben gemäß 11 den Wert "10**", und diese Information wird über den Adressendecodierer 2002 an das Maskenregister 3303 geliefert, das die Maskierungsinformation GMSK erzeugt. Andererseits werden die Bits hoher Ordnung mit Ausnahme der vier Bits niedriger Ordnung im Speicheradressenregister 3311 als Bildschirmspeicher-Adresse ausgegeben, so dass ein Wort des Bildschirmspeichers 13 ausgelesen wird. Nur diejenigen Teile der Einheit 3305 für logische Operationen, die durch ein Bit "1" des Maskenregisters (GMSK) 3303 spezifiziert werden, werden einer logischen Operation unterzogen, um den Schreibdatenwert Cy zu erzeugen, der dann in den Schreibpuffer 3306 eingespeichert wird. Die von der Logikoperationseinheit 3305 ausgeführte logische Operation umfasst Austausch des Inhalts des Farbregisters, logische Operationen (UND, ODER, ExOR) sowie bedingte Zeichnungsvorgänge (zeichnen nur dann, wenn die Lesefarbe einer vorbestimmten Bedingung genügt). In anderen Bit/Pixel-Modi wird andere GMSK-Information erzeugt, jedoch wird eine ähnliche logische Operation ausgeführt. Auf diese Weise werden die Adressinformation AD und der Datenwert DT vom Adressregister 3311 und vom Register 3306 an den Ausgangsbus 3312 geliefert und an den vorbestimmten Adressen des Bildschirmspeichers 13 eingeschrieben.
  • Beim vorliegenden Ausführungsbeispiel wird ein wirkungsvoller Zeichnungsvor gang erzielt, da die Daten für ein Pixel durch einen Durchlauf von Lese-, Aktualisierungs- und Schreibschritten gleichzeitig aktualisiert werden können. In einem anderen Modus als dem Modus mit 16 Bit/Pixel sind Daten für mehrere Pixel in die Länge von 16 Bits gepackt. Demgemäß ist der Nutzungswirkungsgrad des Speichers hoch und der Datenübertragungs-Wirkungsgrad zwischen anderen Bauteilen und dem Bildschirmspeicher ist hoch. Da Betriebsmodi für fünf verschiedene Längen von Bits/Pixel vorhanden sind, ist die Flexibilität im Gebrauch hoch.
  • Nun wird eine Bildmusterverarbeitung erläutert, die eine physikalische Adresse entsprechend einer logischen Adresse mit hoher Geschwindigkeit berechnen kann. Die Adressübersetzung durch die A-Einheit 310 und die B-Einheit 320 in 2 wird mit hoher Geschwindigkeit ausgeführt.
  • 12 zeigt Einheiten in Zusammenhang mit der Adressübersetzung durch die in den 4 und 5 dargestellten Einheiten sowie zusätzliche Einheiten. Gleiche Einheiten, wie sie in den 4 und 5 dargestellt sind, sind mit denselben Zahlen gekennzeichnet.
  • Ein Selektor 3500 wird durch das Signal CCS so gesteuert, dass er den Datenwert aus dem Bildschirmbreiteregister (MW) 3206 oder den Datenwert aus dem Versatzdatenregister 3205 (OFS) auswählt und den ausgewählten Datenwert an die Einheit (AL) für arithmetische Operationen 3202 liefert. Die Operationseinheit 3202 berechnet die der logischen Adresse entsprechende physikalische Adresse.
  • Nun werden ein Raum physikalischer Adressen, ein entsprechender Raum logischer Adressen und ein entsprechender Bildschirm erläutert. 13 zeigt den Raum physikalischer Adressen, den entsprechenden Raum logischer Adressen und den entsprechenden Bildschirm im Modus mit vier Bits/Pixel. In 13 ist die Beziehung zwischen der physikalischen Adresse (Anzahl von Bits MW in horizontaler Richtung), den Bildschirmspeicher im Raum logischer Adressen und dem Bildschirm dargestellt. Vier Pixel mit Pixeldaten, die jeweils ein Pixel durch vier Bits repräsentieren, sind in einem 16-Bit- Wort im Raum physikalischer Adressen enthalten. Jedes Pixel verfügt über ein Bit in jeder Farbspeicherebene im Speicher im Raum logischer Adressen und diese Bits werden kombiniert, um ein Signal für 16 Farben (oder 16 Farbtöne)/Pixel an den Schirm zu liefern. Die Daten von vier Pixeln in einem Wort bilden im Speicher im Raum logischer Adressen sowie auf dem Bildschirm horizontal aufeinanderfolgende Pixeldaten.
  • 14 zeigt die Beziehung zwischen der physikalischen Adresse, der logischen Adresse, der Speicherbreite MW und der Zeigeradresse PA, wie in 13 dargestellt. 14(a) zeigt eine Speicheradresse MA und eine Bitadresse BA im Raum physikalischer Adressen sowie die Beziehung zwischen diesen und dem Anzeigeschirm. Wenn eine Speicheradresse eines Worts, das ein Pixel vertikal benachbart zu einem Pixel in einem Wort enthält, das durch eine Speicheradresse MA1 spezifiziert ist; mit MA2 repräsentiert wird, ist die Speicherbreite MW so definiert, wie es in 14(c) dargestellt ist. Wenn die physikalische Adresse eines Punkts (x, y) auf dem Schirm, wie in 14(a) dargestellt, die Speicheradresse MA und die Bitadresse BA aufweist, ist die zugehörige Zeigeradresse so repräsentiert, wie es in 14(b) dargestellt ist.
  • Das in 12 dargestellte Ausführungsbeispiel erzielt selbst dann eine Verarbeitung hohen Wirkungsgrads, wenn die Daten eines Pixels durch mehrere Bits (für mehrere Farben oder mehrere Farbtöne) repräsentiert sind, und es kann einer von fünf Betriebsmodi mittels des Bitmodus ausgewählt werden, wie er im Bitmodusregister 230 eingestellt ist, was gemäß 8 erfolgt.
  • 15 zeigt die Beziehung zwischen den in 14 dargestellten Bitmodi und den Bitadressen, die die Pixelpositionen in einem Wort anzeigen. Die Bitadresse fällt mit der Startbitadresse der Pixeldaten zusammen. Wenn z. B. im Modus mit vier Bits/Pixel die Bits 4–7 der Pixeldaten in der Pixeldaten-Operationseinheit 330 einer Operation zu unterziehen sind, hat die Bitadresse der vier Bits niedriger Ordnung im Zeigeradressregister 3208 den Wert "4".
  • Die 16(a)16(d) zeigen die Beziehung zwischen den im Maskenregister 3303 gespeicherten Maskendaten und der Bitadresse im Modus mit vier Bits/Pixel. Wenn die Bits 4–7 der Pixeldaten einer Operation zu unterziehen sind, ist, wie oben angegeben, die Bitadresse "4", und es werden nur diejenigen Bits der Maskendaten, die mit den Pixeldaten einer Operation zu unterziehen sind, auf "1" gesetzt, während diejenigen Bits, die keiner Operation mit den Pixeldaten zu unterziehen sind, auf "0" gesetzt werden. Wenn z. B. die Bitadresse "4" ist, wird vom Maskendatengenerator 2002 ein Maskendatenwert erzeugt, bei dem nur die Bits 4–7 auf "1" gesetzt sind, und dieser wird im Maskendatenregister 3303 gespeichert.
  • 17(a) zeigt Grundoperationen, wie sie in den Operationseinheiten für logische Adressen und physikalische Adressen bei in 12 dargestellten Ausführungsbeispiel ausgeführt werden, und 17(b) zeigt die Bitadresse-Versatzwerte n, wie sie vom Bitadresse-Versatzgenerator in den jeweiligen Bitmodi erzeugt werden. Als erstes wird der Bitadresse-Versatzwert erläutert. Er wird dazu verwendet, die Bitadresse zu aktualisieren, und vom Versatzgenerator 2001 wird im Modus mit vier Bits/Pixel der Datenwert "4" erzeugt, oder der Datenwert "1" im Modus mit 1 Bit/Pixel, und dieser wird in das Versatzdatenregister 3205 eingespeichert.
  • Nun wird die in 17(a) dargestellte Verarbeitung erläutert. Für den Fall, dass die logische Adresse am Punkt P des aktuellen Pixels (X, Y) ist und eine physikalische Adresse PA ist, wird die Verarbeitung zum horizontalen oder vertikalen Verschieben des Punkts P um ±1 logische Adresse angegeben. Wenn der Punkt P um +1 zu verschieben ist, um den Pixeldatenwert in der positiven Richtung der (horizontalen) X- Achse zu verschieben, liest die Operationseinheit 310 für logische Adressen den Datenwert (X) aus dem aktuellen Zeiger (CPX in 3102) aus, und in der Operationseinheit 3110 wird über die Quell-Latchstufe 3109 der Wert +1 addiert. Das Operationsergebnis (X + 1) wird erneut über die Ziel-Latchstufe 3111 als neue logische Adresse X im aktuellen Zeiger (CPX in 3102) abgespeichert. Die Operationseinheit 320 für physikalische Adressen liest die Zeigeradresse aus dem Zeigeradressregister 3208 aus und liefert sie als Operand über die Quell-Latchstufe 3204 an die Operationseinheit 3202. Andererseits gibt der Operandendatenselektor 3500 selektiv den Datenwert aus dem Versatzdatenregister 3205 aus, und dieser wird als Operand über die Quell-Latchstufe 3203 an die Operationseinheit 3202 geliefert. Diese Operationseinheit 3202 addiert die Zeigeradresse PA zum Bitadresse-Versatzwert n. Die Summe (PA + n) wird erneut als neue Zeigeradresse über die Ziel-Latchstufe 3201 im Zeigeradressregister (DPL und DPH in 3208) abgespeichert. Danach erzeugt der Maskendatengenerator 2202 die Maskendaten entsprechend den vier Bits niedriger Ordnung des im Zeigeradressregister 3208 abgespeicherten Datenwerts, d. h. entsprechend der Bitadresse und dem Bitmodus. Die Maskendaten werden über das Maskenregister 3303 zur Berechnung des Pixeldatenwerts an die Operationseinheit 3305 für Pixeldaten geliefert.
  • Wenn der Punkt P um +1 in der positiven Richtung der (vertikalen) Y-Achse zu verschieben ist, verschiebt die Operationseinheit 310 für logische Adressen den Datenwert im aktuellen Zeiger Y (CPY in 3102) um +1. Andererseits führt die Operationseinheit 320 physikalische Adressen eine Operation am Datenwert im Zeigeradressregister 3208 (DPL, DPH) aus. Bei der X-Achse-Operation wird der Versatzwert addiert oder subtrahiert, und bei der Y-Achse-Operation wird der Datenwert im Speicherbreiteregister 3206 addiert oder subtrahiert (Subtraktion beim vorliegenden Beispiel). Der Operationssteuersignal-Generator 200 erzeugt ein Addier/Subtrahier- Signal für die Operationseinheit 3202 in der Operationseinheit 320 für physikalische Adressen, wenn die Operationseinheit 310 für logische Adressen die X-Achse-Addition/Subtraktion ausführt, und sie erzeugt das Additions/Subtraktions- Steuerungssignal für die Operationseinheit 3202, wenn die Operationseinheit 310 für logische Adressen die Y-Achse-Addition/Subtraktion ausführt. Die Bestimmung erfolgt durch die Adresszuordnung im Bildschirmspeicher entsprechend dem Bildschirm. Durch diese logischen Operationen wird die physikalische Adresse nach einer Verschiebung des Punkts P hergeleitet. 18 zeigt ein Beispiel für das Zeichnen einer geraden Linie bei der Erfindung.
  • Wenn eine gerade Linie von einem Startpunkt Ps (Xs, Ys) zu einem Endpunkt Pe (Xe, Ye) zu ziehen ist, wird bei einer ersten Vorverarbeitung die physikalische Adresse des Ursprungs von der zentralen Verarbeitungseinheit oder einer anderen Steuerungseinheit in die Teile DPL und DPA des Zeigeradressregisters 3208 geladen, und der aktuelle Zeiger X (CPX in ein 3102) und der aktuelle Zeiger Y (CPY in 3102) werden durch die Steuerungseinheit 200 auf "0" gelöscht. Durch Einstellen des Ursprungs auf diese Weise wird Entsprechung zwischen der logischen Adresse und der physikalischen Adresse erzielt. Bei einer zweiten Vorverarbeitung wird die logische Adresse (Xs, Ys) des Startpunkts Ps der Linie in den aktuellen Zeigern X (CPX) und Y (CPY) abgespeichert und die Operationseinheit 320 für physikalische Adressen berechnet die der logischen Adresse (Xs, Ys) entsprechende physikalische Adresse. Bei einer dritten Vorverarbeitung wird die logische Adresse (Xe, Ye) des Endpunkts Pe in die Zwischenspeicher 3102 eingespeichert. Dies beendet die Vorverarbeitung. Auf einen Befehl zum Ziehen einer Linie vom Punkt Ps zum Punkt Pe von der zentralen Verarbeitungseinheit oder einer anderen Steuerungseinheit her startet die Steuerungseinheit 200 eine Hauptverarbeitung. Sie liefert entsprechend einer vorab abgespeicherten Steuerungsprozedur Steuerungsanweisungen an die Operationseinheiten 310, 320 und 330. Die Operationseinheit 310 für logische Adressen bestimmt Zwischeninformation, wie sie für die Zeichnungsverarbeitung erforderlich ist, wie die Steigung der Linie, auf Grundlage der logischen Adresse (Xs, Ys) des Startpunkts Ps und der logischen Adresse (Xe, Ye) des Endpunkts Pe, sie speichert sie in die Zwischenregister 3102 ein und sie berechnet die logische Adresse (x1, y1) für den als nächstes zu zeichnenden Punkt p1 sowie die dieser logischen Adresse (x1, y1) entsprechende physikalische Adresse. Die X-Achse-Adressberechnung und die Y-Achse-Adressberechnung werden durch die Operationseinheit 310 für logische Adressen und die Operationseinheit 320 für physikalische Adressen ausgeführt. Parallel hierzu wird der dem Startpunkt Ps entsprechende Pixeldatenwert aus dem Anzeigespeicher gelesen, und es wird der Pixeldatenwert des Startpunkts Ps einer Operation unterzogen. Nach der Operation am Pixeldatenwert wird der sich ergebende Pixeldatenwert erneut in den Bildschirmspeicher eingeschrieben. So berechnen die Operationseinheit 310 für logische Adressen und die Operationseinheit 320 für physikalische Adressen während zweimaligen Speicherzugriffs für einen Punkt die logische Adresse für den als nächstes zu zeichnenden Punkt sowie die entsprechende physikalische Adresse. Durch Wiederholen der obigen Schritte, bis der Endpunkt Pe der Linie erreicht ist, werden die Pixeldaten zum Zeichnen der Linie sequentiell in den Bildschirmspeicher eingespeichert.
  • Der aus dem Bildschirmspeicher gelesene Pixeldatenwert wird in einem speziellen Fall erneut in den Bildschirmspeicher eingespeichert, nachdem eine Substitution durch einen vorbestimmten Datenwert erfolgte. Die Pixel auf einer zu zeichnenden Linie haben nicht immer dieselbe Intensität oder Farbe. Demgemäß wird der gelesene Pixeldatenwert einer Operation mit anderen Daten unterzogen, und das Operationsergebnis wird als neuer Bildschirmpixel-Datenwert in den Bildschirmspeicher eingespeichert.
  • Während im obigen Ausführungsbeispiel ein zweidimensionaler logischer Raum erörtert ist, kann die Erfindung auf einen höherdimensionalen logischen Raum angewandt werden. Selbst wenn ein Pixeldatenwert durch mehrere Bits repräsentiert ist, können die logische Adresse und die dieser logischen Adresse entsprechende physikalische Adresse mit hoher Geschwindigkeit berechnet werden.
  • Nun wird Hochgeschwindigkeitsübertragung von Pixelinformation an eine andere Pixelposition in einem System, in dem ein Mehrpixel-Datenwert in einem Speicherwort gespeichert ist, erläutert. Hohe Verarbeitungsgeschwindigkeit wird durch eine charakteristische Hardwarekonfiguration erzielt. Diejenigen in den 4, 5 und 6 dargestellten Teile, die für die die Übertragungsverarbeitung nicht relevant sind, sind in 19 weggelassen. Der Mikroanweisungsdecodierer 200 enthält einen Zwischenadressendecodierer 2002 und einen Verschiebungsdecodierer 2003. Das Anweisungssteuerungsregister 2030 speichert einen Übertragungsmodus und einen Bitmodus.
  • Der Bildschirmspeicher 13 hat eine Konfiguration für 16-Bit- Wörter, und Adressen sind sequentiell zugeordnet. Eine Quelladresse wird in Teilen T2H und T2L des Universalregisters 3208 gespeichert, und eine Zieladresse wird in den Teilen DPH und DPL gespeichert. So steuern zwei Register für 16-Bit-Wörter die Quelladresse und die Zieladresse. Die vier Bits niedriger Ordnung der Adressinformation spezifizieren die Bitposition in einem Speicherwort, und die Bits hoher Ordnung spezifizieren die Adresse des Bildschirmspeichers.
  • Der Verschiebungsdecodierer 2003 decodiert die Verschiebungsinformation zum Steuern der Verschiebung im Umlaufschieberegister 3301. Bei Übertragungsverarbeitung berechnet die Einheit (ALU) für arithmetisch-logische Operationen 3110 die Differenz zwischen den vier Bits niedriger Ordnung der Zieladresse und der Quelladresse, und die Differenz wird über die Ziel-Latchstufe (DLA) 3111 an den Verschiebungsdecodierer 2003 geliefert.
  • Der Zwischenwortadressdecodierer erzeugt Maskierungsinformation auf Grundlage der vier Bits niedriger Ordnung der im Speicheradressregister 3311 zwischengespeicherten Adressinformation sowie der Differenz zwischen den vier Bits niedriger Ordnung der Quelladresse und der Zieladresse, wie sie in der Ziel-Latchstufe 3111 zwischengespeichert ist, was abhängig vom im Anweisungssteuerungsregister 230 gespeicherten Bitmodus oder Übertragungsmodus erfolgt, und er liefert die Maskierungsinformation an das Maskenregister 330.
  • Die 20(a) und 20(b) veranschaulichen die Funktion des Ausführungsbeispiels von 19. Es sind zwei Übertragungsmodi dargestellt, die durch den im Anweisungssteuerungsregister 230 gespeicherten Übertragungsmodus spezifiziert sind. 20(a) zeigt einen 1-Pixel-Übertragungsmodus, in dem immer nur der Datenwert für ein Pixel übertragen wird. Als erstes wird eine Quelladresse (T2H, T2L) ausgewählt, aus dem Bildschirmspeicher 13 wird ein 1-Wort-Datenwert, der das Quellpixel enthält, gelesen, und dieser wird über den Lesedatenpuffer 3310 an das Umlaufschieberegister 3301 geliefert. Andererseits berechnet die Einheit 3310 für arithmetisch-logische Operationen die Differenz zwischen den vier Bits niedriger Ordnung der Quelladresse und der Zieladresse, und im Umlaufschieberegister 3301 erfolgt mittels des Verschiebungsdecodierers 2003 eine Verschiebung um mehrere Bits. Das Zieladressregister (DPL, DPH in 3208) wird ausgewählt, es wird ein Datenwort, das die Zielpixelposition enthält, ausgelesen, und dieses wird über den Lesedatenpuffer 3310 an die Einheit 3305 für logische Operationen geliefert. Andererseits werden die vier Bits niedriger Ordnung der Zieladresse durch den Zwischenwortadressdecodierer 2002 decodiert, der die die Zielpixelposition spezifizierende Maskierungsinformation erzeugt. Die Einheit 3303 für logische Operationen führt eine Substitutionsoperation am Ausgangssignal des Umlaufschieberegisters 3301 nur für diejenigen Bitpositionen des 1-Wort-Datenwerts für das Ziel aus, die durch die Maskierungsinformation spezifiziert sind. Das Operationsergebnis wird über den Schreibdatenpuffer 3306 an der Zieladresse des Bildschirmspeichers gespeichert. Durch Wiederholen der 1-Pixel-Übertragungsverarbeitung bei sequentiellem Aktualisieren der Quelladresse und der Zieladresse kann ein großes Datenvolumen mit hoher Geschwindigkeit unabhängig von Wortgrenzen des Speichers übertragen werden.
  • Fig. 20(b) veranschaulicht die Funktion im Mehrpixel-Übertragungsmodus. Der Adressendecodierer 2002 stellt an mehreren, durch die Übertragungsmodusbits im Anweisungssteuerregister 230 spezifizierten Bitpositionen den Wert "1" ein. Demgemäß wird höhere Geschwindigkeit erzielt, wenn mehrere horizontal zusammenhängende Bits übertragen werden.
  • Gemäß dem vorliegenden Ausführungsbeispiel können selbst dann, wenn Daten für mehrere Pixel in einem Wort des Bildschirmspeichers gespeichert sind, die Pixeldaten mit der dreifachen Geschwindigkeit des Speicherzugriffs an eine oder mehrere Pixelpositionen übertragen werden, d. h. durch Lesen der Quelle, durch Lesen des Ziels und durch Schreiben des Ziels. Demgemäß wird Übertragung mit hoher Geschwindigkeit erzielt. Durch den Teil GBM des Registers 230 kann einer von fünf Betriebsmodi (siehe 8) ausgewählt werden.
  • 21 veranschaulicht die Übertragung eines 1-Pixel-Datenwerts im Modus mit vier Bits/Pixel. Es wird der das Quellpixel enthaltende Datenwert eines Worts gelesen, und nur der zugehörige Quellpixel-Datenwert wird an die Zielpixelposition übertragen. 22 zeigt den Ablauf der Übertragungsverarbeitung. Ein Wort im Bildschirmspeicher 13, das das Quellpixel enthält, wird gelesen und im Lesedatenpuffer 3310 zwischengespeichert. Andererseits wird die Differenz zwischen den vier Bits niedriger Ordnung der durch das Quellpixel spezifizierten Adressinformation und den vier Bits niedriger Ordnung der durch das Zielpixel spezifizierten Adressinformation berechnet. Die Differenz repräsentiert die Differenz zwischen den Bitpositionen des Quellpixels und des Zielpixels. Der gelesene Quelldatenwert wird durch das Umlaufschieberegister 3310 so verschoben, dass das Quellpixel (Cs) mit der Zielpixelposition ausgerichtet ist. Dann wird ein Wort, das das Zielpixel (Cd) enthält gelesen, und es wird durch die Einheit 3305 für logische Operationen einem Operationsvorgang mit dem Quellpixel (Cs) unterzogen. Da die Maskierungsinformation nur an der Zielpixelposition den Wert "1" enthält, wird nur ein Pixel an der Zielposition aktualisiert, und es werden die Schreibdaten erzeugt. Zur logischen Operation gehören eine Austausch- und eine Logikoperation. In einem anderen Modus als demjenigen mit vier Bits/Pixel ist das Format der Maskierungsinformation verschieden, jedoch ist die Operation ähnlich.
  • Gemäß dem vorliegenden Ausführungsbeispiel kann selbst dann, wenn der Datenwert für ein Pixel durch mehrere Bits repräsentiert ist, dieser Pixeldatenwert mit der dreifachen Geschwindigkeit des Speicherzugriffs an eine beliebige Pixelposition übertragen werden, d. h. durch Lesen der Quelle, Lesen des Ziels und Schreiben des Ziels.
  • Fig. 23 zeigt die Verschieberichtung (SD) eines Zeigers für eine Übertragungsanweisung, wenn für die Pixeldatenübertragung ein rechteckiger Bereich spezifiziert ist.
  • Es sind acht Beispiele (a)–(h) dargestellt. Der Quellbereich und der Zielbereich können unabhängig spezifiziert werden.
  • Nun wird die Ablaufsteuerung erläutert, die die Berechnung der Pixelposition bei der Übertragung einfach macht.
  • 24 zeigt Teile von 2 in Zusammenhang mit der Ablaufsteuerung für die Pixelposition. Das Flagregister 210 enthält einen Codedecodierer 2101 und ein Coderegister 2102. Das Flagregister 210 enthält ferner ein Bereichsflag, das das Operationsergebnis widerspiegelt, ein Nullflag und ein Negativflag, obwohl diese nicht dargestellt sind, da sie hier nicht erörtert werden. In einem Befehlsregister 3207 wird ein Befehlscode eines extern über den FIFO 400 übertragenen Befehls zwischengespeichert. Ein Teil der Information des Befehlscodes wird an das Mikroprogramm-Adressregister 110 übertragen, so dass das Mikroprogramm sukzessive ausgelesen wird und der Betrieb unter dem vorbestimmten Verarbeitungsalgorithmus gesteuert wird.
  • Die Operationseinheit 300 führt die Koordinatenoperation zum Berechnen der Zeichnungsadresse sowie die Verarbeitung der Bildmusterdaten aus. Der Codedecodierer 2101 erzeugt den Code auf Grundlage des Teils der Information des Befehlscodes sowie der von einem anderen Element in der Operationseinheit 30 gelieferten Information.
  • Das Coderegister 2102 führt für die durch den Codedecodierer 2101 erzeugten Codedaten eine Zwischenspeicherung aus. Ein im Mikroanweisungsdecodierer 200 angeordneter Modusdecodierer 2009 decodiert das Verarbeitungsmodusfeld des Befehls, um den Ablauf zu steuern.
  • Die 25(a)25(e) zeigen Formate (CDT) eines Kopier (Übertragungs)befehls. Dazu gehören ein Wort (16 Bits) des Befehlscodes sowie vier Wörter von Parametern 1– 4. Durch Einstellen der Parameter kann die Durchrasterrichtung bei der Übertragung ausgewählt werden.
  • 26 zeigt eine schematische Ansicht des Betriebs durch den Kopierbefehl. Die Parameter Xs und Ys bilden die Startpunktkoordinate des Quellbereichs 13s. Die Parameter DX und DY definieren die Richtung und die Größe des Bereichs. Wenn DX > 0 gilt, wobei Xs und Ys den Ursprung bilden, ist der Bereich nach rechts gerichtet, wenn DX < 0 gilt, ist er nach links gerichtet, wenn DY > 0 gilt ist er nach oben gerichtet, und wenn DY < 0 gilt, ist er nach unten gerichtet, und die Größe ist durch die Absolutwerte von DX und DY spezifiziert. Ein Bit S in 25(a) repräsentiert die Prioritätsreihenfolge zur Durchrasterung. Wenn S = "0" ist, hat die Horizontaldurchrasterung höhere Priorität, und wenn S = "1" ist, hat die Vertikaldurchrasterung höhere Priorität.
  • Beim Ausführungsbeispiel von 24 wird das erste Wort des von außen übertragenen Befehls als Befehlscode erkannt und in das Befehlsregister 2307 eingespeichert. Ein Mikroprogramm wird entsprechend den vier Bits hoher Ordnung des Befehlscodes gestartet, um die Steuerung der Kopierverarbeitung zu starten.
  • Das Bit S im Befehlscode sowie das Feld DSD (25) werden über den Codedecodierer 2101 an das Coderegister 2102 geliefert, und das Verarbeitungsmodusfeld niedriger Ordnung im Befehlscode wird durch den Modusdecodierer 2009 decodiert.
  • Die Parameter 1–4 werden sequentiell an das Register 3102 (nicht dargestellt) in der Operationseinheit 300 geliefert. Die Koordinate (X, Y) für den aktuellen Zeichnungspunkt wird in das Register (CPX, CPY) eingespeichert.
  • Fig. 27(a) zeigt eine Konfiguration des Coderegisters 2102. Das Coderegister enthält 10-Bit-Information, wie es unten beschrieben ist. In 27(a) ist die in den Registern für den Kopierbefehl gespeicherte Information durch Pfeile dargestellt.
  • (1) Q1
  • Es handelt sich um das erste Bit zum Umschalten der Koordinatenregister X und Y. Im Kopierbefehl wird es dazu verwendet, die Prioritätsreihenfolge für Durchrasterungen in X- Richtung und Y-Richtung im Quellbereich 13S zu bestimmen. Das Bit S des Befehlscodes wird auf Q1 gesetzt.
  • Wenn Q1 = "0" gilt, werden das X-Register und das Y-Register auf die spezifizierte Weise ausgewählt, während dann, wenn Q1 = "1" gilt, das Y-Register für X-Spezifizierung ausgewählt wird und das X-Register für Y-Spezifizierung ausgewählt wird.
  • (2) Q2
  • Es handelt sich um das zweite Bit zum Umschalten der Koordinatenregister X und Y. Im Kopierbefehl wird es dazu verwendet, die Durchrasterungen für die X-Richtung und die Y-Richtung im spezifizierten Bereich 13D umzuschalten. Das Bit 2 des Felds DSD (25) des Befehlscodes wird auf Q2 gesetzt.
  • Wenn Q = "0" gilt, werden das X-Register und das Y-Register auf die spezifizierte Weise ausgewählt, und wenn Q2 = "1" gilt, werden die Register unter Umkehrung der Spezifizierung für X und Y ausgewählt.
  • (3) S1x
  • Es handelt sich um Zwei-Bit-Information, die einen Operationscode für die erste X-Richtung enthält. Normalerweise wählt das Bit hoher Ordnung unter den zwei Bits Addition oder Subtraktion aus, und das Bit niedriger Ordnung bestimmt, ob die Addition/Subtraktion auszuführen ist (wenn das Bit den Wert "1" aufweist) oder nicht (wenn das Bit den Wert "0" aufweist).
  • Im Kopierbefehl wird der Code des Parameters DX auf das Bit hoher Ordnung gesetzt, und "1" wird als Bit niedriger Ordnung eingetragen. Das Bit hoher Ordnung wird als Information zum Spezifizierten des Operationscodes in der X-Richtung des Quellbereichs 13S verwendet.
  • (4) S1y
  • Es handelt sich um 2-Bit-Information, die den Operationscode für die erste Y-Richtung enthält, wie S1x, und sie wird zum Auswählen der Operation verwendet.
  • Im Kopierbefehl werden der Code des Parameters DY sowie "1" in das Bit hoher Ordnung bzw. das Bit niedriger Ordnung eingetragen, um den Operationscode in der Y-Richtung des Quellbereichs 13S zu spezifizieren.
  • (5) S2x
  • Es handelt sich um 2-Bit-Information, die den Operationscode in der zweiten X-Richtung enthält. Im Kopierbefehl spezifiziert sie den Operationscode in der X-Richtung im Zielbereich l3D. Das Bit 1 des Felds DSD des Befehls wird in das Bit hoher Ordnung eingetragen, und "1" wird in das Bit niedriger Ordnung eingetragen.
  • (6) S2y
  • Es handelt sich um 2-Bit-Information, die den Operationscode in der zweiten Y-Richtung enthält. Im Kopierbefehl spezifiziert sie den Operationscode in der Y-Richtung des Zielbereichs 13D. Das Bit 0 des Felds DSD des Befehls wird in das Bit hoher Ordnung eingetragen, und "1" wird in das Bit niedriger Ordnung eingetragen.
  • Zusammengefasst gesagt, können S1x, S1y, S2x und S2y jeweils vier Zustände einnehmen, und wenn es sich um "00" und "10" handelt, wird 0 addiert oder subtrahiert (d. h. keine Operation), wenn es sich um "01" handelt, wird 1 addiert, und wenn es sich um "11" handelt, wird 1 subtrahiert.
  • Im Kopierbefehl hat das Bit niedriger Ordnung in jedem der Register S1x, S1y, S2x und S2y des Coderegisters 2102 den Wert "1", wie oben beschrieben. In anderen Befehlen kann dieses Bit geändert sein.
  • 28 zeigt den Verarbeitungsablauf des Kopierbefehls. Der Inhalt zum Spezifizieren der Register ist unten angegeben.
  • (1) Xs (Q1)
  • Wenn Q1 = "0" gilt, wird das Register Xs spezifiziert, und wenn Q1 = "1" gilt, wird das Register Ys spezifiziert. Es handelt sich um eine Koordinate in der ersten oder Hauptdurchrasterrichtung des Quellbereichs 13S.
  • (2) Ys (Q1)
  • Wenn Q1 = "0" gilt, wird das Register Ys spezifiziert, und wenn Q1 = "1" gilt, wird das Register Xs spezifiziert. Es handelt sich um eine Koordinate in der zweiten Durchrasterrichtung des Quellbereichs 13S.
  • (3) X (Q2)
  • Wenn Q2 = "0" gilt, wird das Register X spezifiziert, und wenn Q2 = "1" gilt, wird das Register Y spezifiziert. Es handelt sich um eine Koordinate in der ersten oder Hauptdurchrasterrichtung des Zielbereichs 13D.
  • (4) Y (Q2)
  • Wenn Q2 = "0" gilt, wird das Register Y spezifiziert, und wenn Q2 = "1" gilt, wird das Register X spezifiziert. Es handelt sich um eine Koordinate in der zweiten Durchrasterrichtung des Zielbereichs 13D.
  • (5) S1x (Q1)
  • Wenn Q1 = "0" gilt, wird S1x ausgewählt, und wenn Q1 = "1" gilt, wird S1y ausgewählt.
  • Es handelt sich um einen Code der ersten (Prioritäts)Durchrasterrichtung des Quellbereichs 13S.
  • (6) S1y (Q1)
  • Wenn Q1 = "0" gilt, wird S1x ausgewählt, und wenn Q1 = "1" gilt, wird S1x ausgewählt.
  • Es handelt sich um einen Code der zweiten Durchrasterrichtung des Quellbereichs 13S.
  • (7) S2x (Q2)
  • Wenn Q2 = "0" gilt, wird S2x ausgewählt, und wenn Q2 = "1" gilt, wird S1y ausgewählt. Es handelt sich um einen Code der ersten (Prioritäts)Abrasterrichtung des Zielbereichs 13D.
  • (8) S2y (Q2)
  • Wenn Q2 = "0" gilt, wird S2y ausgewählt, und wenn Q2 = "1" gilt, wird S2x ausgewählt. Es handelt sich um einen Code der zweiten Durchrasterrichtung des Zielbereichs 13D.
  • Gemäß 28 werden im Kopierbefehl die auf den Befehlscode folgenden Parameter 1–4, d. h. Xs, Ys, DX und DY sequentiell zugeführt und in die Register in der Betriebseinheit 300 eingespeichert (Schritt S1).
  • Dann wird eine Linie in der ersten (Prioritäts)Durchrasterrichtung verarbeitet. Zu diesem Zweck werden Xs (Q1) und X (Q2), d. h. die Startkoordinaten des Quellbereichs 13S und des Zielbereichs 13D in der ersten (Prioritäts)durchrastemchtung puffermäßig in anderen Registern gespeichert (Schritt S2).
  • Dann wird die Pixelinformation an der durch (Xs, Ys) spezifizierten Koordinate an die durch (X, Y) spezifizierte Koordinate übertragen (Schritt S3). Vorstehend wurde die Übertragungsverarbeitung für ein Pixel beschrieben.
  • Dann werden die Codes S1x (Q1) und S2x (Q2) zu den Koordinaten Xs (Q1) und X (Q2) in der ersten Durchrasterrichtung des Quellbereichs 13S und des Zielbereichs 13D addiert. D. h., dass die spezifizierten Koordinatenpunkte der jeweiligen Bereiche um ein Pixel in der ersten Durchrasterrichtung verschoben werden (Schritt S4).
  • Die Schritte S3 und S4 werden wiederholt, bis der spezifizierte Koordinatenpunkt den Endpunkt einer Linie erreicht (Schritt S5).
  • Am Ende der Verarbeitung für eine Linie werden, wenn die Entscheidung im Schritt S5 bejahend ist, Xs (Q1) und X (Q2) rückgesetzt (Schritt S6) und es werden die Codes S1y (Q1) und S2y (Q2) zu den Koordinaten Ys (Q1) und Y (Q2) für die zweite Durchrasterrichtung addiert, und es wird die Startpunktkoordinate für die zweite Linie eingestellt (Schritt S7).
  • Die Schritte S2–S7 werden wiederholt, bis die Linienverarbeitung in der zweiten Durchrasterrichtung abgeschlossen ist, d. h., bis die Entscheidung im Schritt S8 bejahend ist, so dass alle Daten des Quellbereichs 13S übertragen sind.
  • Gemäß dem vorliegenden Ausführungsbeispiel können verschiedene Zeigerdurch rastermodi bei einer Bereichsdatenübertragung durch den einzelnen, in 28 dargestellten Prozessablauf erzielt werden, so dass die Steuerungsinformation (z. B. ein Mikroprogramm) deutlich reduziert oder vereinfacht werden kann.
  • Die Erfindung kann in gleicher Weise auf einen anderen Befehl oder einen Musterbefehl angewandt werden.
  • Die 27(b) und 27(c) zeigen Formate des Musterbefehls. Er umfasst einen Befehlscode mit einem 16-Bit-Wort sowie einen 1-Wort-Parameter.
  • Der Musterbefehl wird dazu verwendet, die im Musterspeicher in der Bildmuster-Verarbeitungsvorrichtung gespeicherte Musterinformation im Bildschirmspeicher zu entwickeln. Durch Auswählen des Betriebsmodus des Befehls können vom Zeiger verschiedene Durchrasterungen ausgeführt werden.

Claims (27)

  1. Graphikdaten-Erzeugungsvorrichtung zur Verarbeitung von in einer Speichereinrichtung (13) gespeicherten Datenworten, die entsprechend einem Betriebsmodus, der die Anzahl an Bits der Graphikdaten pro Pixel angibt, jeweils eine vorbestimmte Anzahl an Pixeln eines Bilds enthalten, aufweisend: einen Musterspeicher (220) zum Speichern von Musterdaten mit mindestens einem Bit pro Pixel, mehrere Datenspeichereinrichtungen (3302) jeweils zum Speichern von Daten für Farbe oder Ton der jeweiligen Pixel, die in einem Datenwort der Speichereinrichtung (13) enthalten sind, eine Einrichtung zur Auswahl einer der genannten Datenspeichereinrichtungen in Abhängigkeit von einem Wert des genannten mindestens einen Bits pro Pixel der Musterdaten, eine auf einen Abschnitt einer Adresse eines Pixels in der Speichereinrichtung (13) ansprechende Einrichtung (3303) zur Angabe der Position des adressierten Pixels in seinem Datenwort, und eine Logikoperationseinheit (3305) zum Lesen eines Datenworts, das das genannte adressierte Pixel enthält, aus der Speichereinrichtung (13), zum Verarbeiten des adressierten Pixels in dem Datenwort entsprechend der Angabeeinrichtung (3303) und der ausgewählten Datenspeichereinrichtung (3302), um ein verarbeitetes Datenwort zu liefern, und zum Zurückschreiben des verarbeiteten Datenworts in die Speichereinrichtung (13).
  2. Vorrichtung nach Anspruch 1, wobei die Speichereinrichtung ein Anzeigespeicher (13) zur Speicherung von Anzeigedaten darstellt, die Vorrichtung zur Verwendung in Verbindung mit einer Einrichtung (40) zur Umwandlung der aus dem Anzeigespeicher gelesenen Anzeigedaten in ein Anzeigesignal zur Anzeige auf einer Anzeigeeinheit oder zur Übertragung an eine andere Einheit geeignet ist, und die Anzeigedaten zum Zeichnen gemäß Anzeigesteuerdaten einschließlich eines Befehls und eines Parameters, die von einem Computer ausgesandt werden, aktualisiert oder verarbeitet werden, wobei die mehreren Datenspeichereinrichtungen zwei Farbregister (3302) zur Aufnahme verschiedener Daten für Farbe oder Ton beinhalten, die entsprechend der aus dem Musterspeicher (220) ausgelesenen Musterinformation ausgewählt werden, um die Farbe oder den Ton eines Pixels der Anzeigedaten zu bestimmen.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei die Anzahl an Bits pro Pixel in den genannten Daten für die Farbe oder den Ton größer als die Anzahl an Bits pro Pixel der Musterinformation ist.
  4. Vorrichtung nach einem der Ansprüche 1 bis 3, wobei die genannten Daten für Farbe oder Ton aus mehreren Bits pro Pixel bestehen, und die Musterinformation aus einem einzigen Bit pro Pixel besteht.
  5. Vorrichtung nach einem der Ansprüche 1 bis 4 mit einem gemeinsamen Ein/Ausgabepuffer für das genannte Lesen und Zurückschreiben durch die Logikoperationseinheit (3305).
  6. Vorrichtung nach einem der Ansprüche 1 bis 5 mit einer Einrichtung (3305) zur Durchführung einer Maskenoperation mit den genannten Daten der ausgewählten Datenspeichereinrichtung (3302), um das von der Pixeladresse angegebene Pixel zu gewinnen.
  7. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei der Musterspeicher (220) ein Datenpuffer ist.
  8. Vorrichtung nach einem der Ansprüche 1 bis 6, wobei der Musterspeicher (220) ein adressierbarer Speicher ist.
  9. Vorrichtung nach einem der Ansprüche 1 bis 7, wobei der Musterspeicher zum Speichern von Musterdaten geeignet ist, die eine Form des von mehreren Pixeln gebildeten Graphikbilds festlegen.
  10. Vorrichtung nach einem der Ansprüche 1 bis 9, wobei das genannte mindestens eine Bit der Musterdaten ein Pixel des das Graphikbild bestimmenden Bilds ist.
  11. Vorrichtung nach Anspruch 10, wobei die in den jeweiligen Datenspeichereinrichtungen (3302) aufgenommenen Daten durch mehrere Bits bestimmt sind, die zur Durchführung einer Einzel-zu-Mehrfachbit-Umwandlung für das genannte mindestens eine Bit der Musterdaten dienen.
  12. Vorrichtung nach Anspruch 10 oder 11, wobei die in den jeweiligen Datenspeichereinrichtungen (3302) aufgenommenen Daten durch mehrere Bits bestimmt sind, die entweder eine oder eine andere Farbe des Graphikbilds an dem Pixel darstellen, das dem genannten mindestens einen Bit der Musterdaten entspricht.
  13. Vorrichtung nach einem der Ansprüche 1 bis 12, wobei die Musterdaten Binärdaten sind.
  14. Verfahren zur Erzeugung von Graphikdaten aus in einer Speichereinrichtung (13) gespeicherten Datenworten, die entsprechend einem Betriebsmodus, der die Anzahl an Bits der Graphikdaten pro Pixel angibt, jeweils eine vorbestimmte Anzahl an Pixeln eines Bilds beinhalten, mit folgenden Schritten: Speichern von Musterdaten, die eine Form eines Graphikbilds aus mehreren Pixeln bestimmen, Lesen mindestens eines Bits der Musterdaten entsprechend einem der Pixel des Graphikbilds, Aufnehmen von Daten für Farbe oder Ton der jeweiligen Pixel in einem Datenwort der Speichereinrichtung (13) in jede einer Vielzahl von Datenspeichereinrichtungen (3302), Auswählen einer der Datenspeichereinrichtungen in Abhängigkeit von einem Wert des genannten mindestens einen Bits pro Pixel der Musterdaten, Bestimmen der Position eines adressierten Pixels in seinem Datenwort in Reaktion auf einen Abschnitt der Adresse des Pixels in der Speichereinrichtung (13), Lesen eines Datenworts, das das adressierte Pixel enthält, aus der Speichereinrichtung (13), Verarbeiten des adressierten Pixels aus der bestimmten Position in dem Datenwort entsprechend den Daten in der ausgewählten Datenspeichereinrichtung (3302), um ein verarbeitetes Datenwort zu liefern, und Zurückschreiben des verarbeiteten Datenworts in die Speichereinrichtung (13).
  15. Verfahren nach Anspruch 14, wobei die Speichereinrichtung ein Anzeigespeicher (13) zum Speichern von Anzeigedaten ist und das Verfahren zur Verwendung in Verbindung mit einer Einrichtung (40) zur Umwandlung der aus dem Anzeigespeicher gelesenen Anzeigedaten in ein Anzeigesignal zur Anzeige auf eine Anzeigeeinheit oder zur Übertragung zu einer anderen Einheit dient, die Anzeigedaten gemäß Anzeigesteuerdaten einschließlich einem Befehl und einem Parameter, die von einem Computer ausgesandt werden, aktualisiert oder verarbeitet werden und entsprechend den aus einem Musterspeicher (220) gelesenen Musterdaten eine von zwei verschiedenen Datenspeichereinrichtungen (3302) ausgewählt wird, um die Farbe oder den Ton eines Pixels der Anzeigedaten festzulegen.
  16. Verfahren nach Anspruch 14 oder 15, wobei die Anzahl an Bits pro Pixel der Daten für Farbe oder Ton größer als die Anzahl an Bits pro Pixel der genannten Musterdaten ist.
  17. Verfahren nach einem der Ansprüche 14 bis 16, wobei die Daten für Farbe oder Ton aus mehreren Bits pro Pixel und die Musterdaten aus einem einzigen Bit pro Pixel bestehen.
  18. Verfahren nach einem der Ansprüche 14 bis 17, wobei die Speichereinrichtung (13) die Graphikdaten für mehrere Pixel in einem Wort speichert, das von einer Speicheradresse bestimmt wird.
  19. Verfahren nach einem der Ansprüche 14 bis 18, wobei die Datenspeichereinrichtungen (3302) jeweils Daten für Farbe oder Ton für mehrere Pixel des Graphikbilds aufnehmen, und die Schritte zum Verarbeiten und Zurückschreiben die Unterschritte des Festlegens einer der Daten in der ausgewählten Datenspeichereinrichtung aufgrund der genannten Pixeladresse, des Gewinnens der genannten einen Daten in der ausgewählten Datenspeichereinrichtung und des Speicherns der gewonnenen Daten an einer entsprechenden Pixelposition des Worts in der Speichereinrichtung (13) beinhalten.
  20. Verfahren nach einem der Ansprüche 14 bis 19 mit einem Schritt zur Durchführung einer Logikoperation mit den in der Speichereinrichtung (13) zu speichernden Daten.
  21. Verfahren nach einem der Ansprüche 14 bis 20, wobei die Zahl der in jeder der Datenspeichereinrichtungen gespeicherten Daten variabel ist.
  22. Verfahren nach einem der Ansprüche 14 bis 21, wobei die Musterdaten während des Musterdaten-Speicherschritts in einem Datenpuffer gespeichert werden.
  23. Verfahren nach einem der Ansprüche 14 bis 21, wobei die Musterdaten während des Musterdaten-Speicherschritts aus einem anderen Musterdatenspeicher in einen adressierbaren Speicher übertragen werden.
  24. Verfahren nach einem der Ansprüche 14 bis 23, wobei das genannte mindestens eine Bit der Musterdaten ein Bit ist, das ein Pixel des Graphikbilds bestimmt.
  25. Verfahren nach Anspruch 24, wobei die in den jeweiligen Datenspeichereinrichtungen aufgenommenen Daten von mehreren Pixeln bestimmt werden, die zur Durchführung einer Einzel-zu-Mehrfachbit-Umwandlung des genannten mindestens einen Bits der Musterdaten dienen.
  26. Verfahren nach Anspruch 24 oder 25, wobei die in den jeweiligen Datenspeichereinrichtungen (3302) aufgenommenen Daten von mehreren Bits bestimmt sind, die entweder eine Farbe oder eine andere Farbe des Graphikbilds an dem Pixel darstellen, das dem genannten mindestens einen Bit der Musterdaten entspricht.
  27. Verfahren nach einem der Ansprüche 14 bis 26, wobei die Musterdaten Binärdaten sind.
DE3486494T 1983-12-26 1984-12-24 Graphisches Musterverarbeitungsgerät Expired - Lifetime DE3486494T2 (de)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP24698683 1983-12-26
JP58246986A JPH06100911B2 (ja) 1983-12-26 1983-12-26 画像データ処理装置及び方法
JP2715584 1984-02-17
JP59027155A JPS60172085A (ja) 1984-02-17 1984-02-17 図形処理装置
JP12067984 1984-06-14
JP59120679A JPS61875A (ja) 1984-06-14 1984-06-14 図形処理方法とその装置

Publications (2)

Publication Number Publication Date
DE3486494D1 DE3486494D1 (de) 2003-06-12
DE3486494T2 true DE3486494T2 (de) 2004-03-18

Family

ID=27285682

Family Applications (3)

Application Number Title Priority Date Filing Date
DE3486494T Expired - Lifetime DE3486494T2 (de) 1983-12-26 1984-12-24 Graphisches Musterverarbeitungsgerät
DE3486472T Expired - Lifetime DE3486472T2 (de) 1983-12-26 1984-12-24 Graphisches Musterverarbeitungsgerät und Verfahren
DE8484116285T Expired - Lifetime DE3484297D1 (de) 1983-12-26 1984-12-24 Geraet zur verarbeitung von bild und graphik eines musters.

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE3486472T Expired - Lifetime DE3486472T2 (de) 1983-12-26 1984-12-24 Graphisches Musterverarbeitungsgerät und Verfahren
DE8484116285T Expired - Lifetime DE3484297D1 (de) 1983-12-26 1984-12-24 Geraet zur verarbeitung von bild und graphik eines musters.

Country Status (4)

Country Link
US (9) US4862150A (de)
EP (3) EP0383367B1 (de)
KR (3) KR970007247B1 (de)
DE (3) DE3486494T2 (de)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383367B1 (de) * 1983-12-26 1999-03-17 Hitachi, Ltd. Graphisches Musterverarbeitungsgerät und Verfahren
US6552730B1 (en) * 1984-10-05 2003-04-22 Hitachi, Ltd. Method and apparatus for bit operational process
US5265204A (en) * 1984-10-05 1993-11-23 Hitachi, Ltd. Method and apparatus for bit operational process
US5175816A (en) * 1984-10-05 1992-12-29 Hitachi, Ltd. Method and apparatus for bit operational process
JPH0762794B2 (ja) 1985-09-13 1995-07-05 株式会社日立製作所 グラフイツク表示装置
US4752893A (en) * 1985-11-06 1988-06-21 Texas Instruments Incorporated Graphics data processing apparatus having image operations with transparent color having a selectable number of bits
US5294918A (en) * 1985-11-06 1994-03-15 Texas Instruments Incorporated Graphics processing apparatus having color expand operation for drawing color graphics from monochrome data
US5162784A (en) * 1985-12-03 1992-11-10 Texas Instruments Incorporated Graphics data processing apparatus with draw and advance operation
US5522082A (en) * 1986-01-23 1996-05-28 Texas Instruments Incorporated Graphics display processor, a graphics display system and a method of processing graphics data with control signals connected to a central processing unit and graphics circuits
JP2835719B2 (ja) * 1986-07-14 1998-12-14 株式会社日立製作所 画像処理装置
US5053989A (en) * 1986-08-27 1991-10-01 Minolta Camera Kabushiki Kaisha Digital image processing apparatus having a microprogram controller for reading microinstructions during a vacant period of the image processing circuit
JP2542392B2 (ja) * 1987-07-31 1996-10-09 シャープ株式会社 文字描画装置
JP2506120B2 (ja) * 1987-09-16 1996-06-12 株式会社日立製作所 画像表示方法
US5230042A (en) * 1987-09-25 1993-07-20 Minolta Camera Kabushiki Kaisha Digital image processing apparatus
CA1327851C (en) * 1988-06-22 1994-03-15 Amy S. Christopher Reconfigurable printer
US5148516A (en) * 1988-08-30 1992-09-15 Hewlett-Packard Company Efficient computer terminal system utilizing a single slave processor
US5142637A (en) * 1988-11-29 1992-08-25 Solbourne Computer, Inc. Dynamic video RAM incorporating single clock random port control
US5148524A (en) * 1988-11-29 1992-09-15 Solbourne Computer, Inc. Dynamic video RAM incorporating on chip vector/image mode line modification
US5148523A (en) * 1988-11-29 1992-09-15 Solbourne Computer, Inc. Dynamic video RAM incorporationg on chip line modification
USRE35680E (en) * 1988-11-29 1997-12-02 Matsushita Electric Industrial Co., Ltd. Dynamic video RAM incorporating on chip vector/image mode line modification
JP2739487B2 (ja) * 1988-12-20 1998-04-15 株式会社日立製作所 描画処理装置及びその描画処理装置を用いた画像表示装置
US5091721A (en) * 1988-12-22 1992-02-25 Hughes Aircraft Company Acoustic display generator
US5198804A (en) * 1989-07-17 1993-03-30 Matsushita Electric Industrial Co., Ltd. Video memory with write mask from vector or direct input
US5329617A (en) * 1989-07-23 1994-07-12 Texas Instruments Incorporated Graphics processor nonconfined address calculation system
EP0411921B1 (de) * 1989-08-02 1995-01-18 Canon Kabushiki Kaisha Bildverarbeitungsgerät
US5151997A (en) * 1989-08-10 1992-09-29 Apple Computer, Inc. Computer with adaptable video circuitry
US5226114A (en) * 1989-10-13 1993-07-06 Massachusetts Institute Of Technology Television pictures
US5369744A (en) * 1989-10-16 1994-11-29 Hitachi, Ltd. Address-translatable graphic processor, data processor and drawing method with employment of the same
US5269003A (en) * 1990-05-24 1993-12-07 Apple Computer, Inc. Memory architecture for storing twisted pixels
FR2664999B1 (fr) * 1990-07-23 1992-09-18 Bull Sa Dispositif d'entree sortie donnees pour l'affichage d'informations et procede mis en óoeuvre par un tel dispositif.
JP3038878B2 (ja) * 1990-10-25 2000-05-08 ソニー株式会社 特殊効果装置
US5251298A (en) * 1991-02-25 1993-10-05 Compaq Computer Corp. Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses
CA2062200A1 (en) * 1991-03-15 1992-09-16 Stephen C. Purcell Decompression processor for video applications
KR100262438B1 (ko) * 1991-05-08 2000-08-01 가나이 쓰도무 연산장치 및 이것을 사용한 비트필드조작 연산방법
US5321810A (en) * 1991-08-21 1994-06-14 Digital Equipment Corporation Address method for computer graphics system
US5313577A (en) * 1991-08-21 1994-05-17 Digital Equipment Corporation Translation of virtual addresses in a computer graphics system
US5581279A (en) * 1991-12-23 1996-12-03 Cirrus Logic, Inc. VGA controller circuitry
DE69326660T2 (de) * 1992-07-31 2000-04-06 Canon Kk Bildverarbeitungsverfahren und -gerät
DE69328399T2 (de) * 1992-09-30 2000-10-19 Hudson Soft Co Ltd Sprachdaten-Verarbeitung
US5506693A (en) * 1992-09-30 1996-04-09 Harris Corporation Addressing mechanism for interfacing spatially defined imagery data with sequential memory
US5459485A (en) * 1992-10-01 1995-10-17 Hudson Soft Co., Ltd. Image and sound processing apparatus
US5815646A (en) * 1993-04-13 1998-09-29 C-Cube Microsystems Decompression processor for video applications
US5644336A (en) * 1993-05-19 1997-07-01 At&T Global Information Solutions Company Mixed format video ram
US6049331A (en) * 1993-05-20 2000-04-11 Hyundai Electronics America Step addressing in video RAM
US5550972A (en) * 1993-06-30 1996-08-27 Microsoft Corporation Method and apparatus for efficient transfer of data to memory
US5815137A (en) * 1994-10-19 1998-09-29 Sun Microsystems, Inc. High speed display system having cursor multiplexing scheme
JP3100304B2 (ja) * 1995-03-08 2000-10-16 キヤノン株式会社 ドットパターン発生装置およびドットパターン発生方法
WO1996036037A1 (en) * 1995-05-10 1996-11-14 Cagent Technologies, Inc. Video display system having by-the-line and by-the-pixel modification
US5699498A (en) * 1995-05-23 1997-12-16 Cirrus Logic, Inc. Technique and apparatus for color expansion into a non-aligned 24 bit RGB color-space format
US5727139A (en) * 1995-08-30 1998-03-10 Cirrus Logic, Inc. Method and apparatus for minimizing number of pixel data fetches required for a stretch operation of video images
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
JP3765931B2 (ja) * 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
WO2000028518A2 (en) * 1998-11-09 2000-05-18 Broadcom Corporation Graphics display system
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US7242414B1 (en) * 1999-07-30 2007-07-10 Mips Technologies, Inc. Processor having a compare extension of an instruction set architecture
US7346643B1 (en) * 1999-07-30 2008-03-18 Mips Technologies, Inc. Processor with improved accuracy for multiply-add operations
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7034791B1 (en) * 2000-12-14 2006-04-25 Gary Odom Digital video display employing minimal visual conveyance
FR2821947B1 (fr) * 2001-03-12 2003-05-16 Canon Kk Procede et dispositif de validation de parametres definissant une image
JP2003084751A (ja) * 2001-07-02 2003-03-19 Hitachi Ltd 表示制御装置およびマイクロコンピュータならびにグラフィックシステム
JP2003060886A (ja) * 2001-08-09 2003-02-28 Matsushita Electric Ind Co Ltd 画像処理装置及び方法
JP2003066938A (ja) * 2001-08-24 2003-03-05 Sharp Corp 表示コントローラ、表示制御方法、および画像表示システム
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7164561B2 (en) * 2004-02-13 2007-01-16 Sandisk Corporation Voltage regulator using protected low voltage devices
US20050270310A1 (en) * 2004-06-03 2005-12-08 Eric Jeffrey Apparatuses and methods for incorporating a border within an image
US20060119602A1 (en) * 2004-12-07 2006-06-08 Fisher Andrew J Address based graphics protocol
JP5024981B2 (ja) * 2005-04-20 2012-09-12 株式会社東芝 医用画像データ変換装置
US20080155273A1 (en) * 2006-12-21 2008-06-26 Texas Instruments, Inc. Automatic Bus Encryption And Decryption
JP4795264B2 (ja) * 2007-02-06 2011-10-19 キヤノン株式会社 走査変換装置及び走査変換方法
JP4390818B2 (ja) * 2007-03-30 2009-12-24 富士通テン株式会社 計測データ表示装置
JP4488042B2 (ja) * 2007-08-14 2010-06-23 セイコーエプソン株式会社 画像処理回路、表示装置及び印刷装置
JP4404116B2 (ja) 2007-08-14 2010-01-27 セイコーエプソン株式会社 画像処理回路、表示装置及び印刷装置

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS592905B2 (ja) * 1976-08-31 1984-01-21 日本ビクター株式会社 デイスプレイ装置
US4121283A (en) * 1977-01-17 1978-10-17 Cromemco Inc. Interface device for encoding a digital image for a CRT display
JPS53114617A (en) * 1977-03-17 1978-10-06 Toshiba Corp Memory unit for picture processing
US4201983A (en) * 1978-03-02 1980-05-06 Motorola, Inc. Addressing circuitry for a vertical scan dot matrix display apparatus
US4200867A (en) * 1978-04-03 1980-04-29 Hill Elmer D System and method for painting images by synthetic color signal generation and control
US4296476A (en) * 1979-01-08 1981-10-20 Atari, Inc. Data processing system with programmable graphics generator
JPS5631154A (en) * 1979-08-23 1981-03-28 Victor Co Of Japan Ltd Memory device
US4496944A (en) * 1980-02-29 1985-01-29 Calma Company Graphics display system and method including associative addressing
JPS5753784A (de) * 1980-09-17 1982-03-30 Sord Computer Syst
JPS5756885A (en) * 1980-09-22 1982-04-05 Nippon Electric Co Video address control device
GB2087694B (en) 1980-11-05 1985-03-06 Gen Electric Co Ltd Electric circuit arrangements for digital data transmission systems
US4514818A (en) * 1980-12-04 1985-04-30 Quantel Limited Video image creation system which simulates drafting tool
JPS6041378B2 (ja) * 1981-01-28 1985-09-17 富士通株式会社 画像記憶装置
US4439760A (en) * 1981-05-19 1984-03-27 Bell Telephone Laboratories, Incorporated Method and apparatus for compiling three-dimensional digital image information
US4454593A (en) * 1981-05-19 1984-06-12 Bell Telephone Laboratories, Incorporated Pictorial information processing technique
US4437093A (en) * 1981-08-12 1984-03-13 International Business Machines Corporation Apparatus and method for scrolling text and graphic data in selected portions of a graphic display
US4408200A (en) * 1981-08-12 1983-10-04 International Business Machines Corporation Apparatus and method for reading and writing text characters in a graphics display
EP0073916B2 (de) * 1981-08-12 1992-01-29 International Business Machines Corporation Steuereinrichtung zur individuellen Kontrolle der Farben der Zeichenkontur und des Hintergrundes eines auf einem Farbfernsehempfänger oder einem Monitor angezeigten Zeichens
JPS5850589A (ja) * 1981-09-21 1983-03-25 日本電気株式会社 表示処理装置
US4484192A (en) * 1981-12-17 1984-11-20 The Bendix Corporation Moving map display
EP0085480A3 (de) * 1982-01-13 1986-01-08 Europel Systems (Electronics) Ltd. Video-Anzeigesysteme
US4490797A (en) * 1982-01-18 1984-12-25 Honeywell Inc. Method and apparatus for controlling the display of a computer generated raster graphic system
US4590465A (en) * 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
JPS58143381A (ja) * 1982-02-19 1983-08-25 大日本スクリ−ン製造株式会社 図形表示装置における発光強度の制御方法および装置
JPS58159184A (ja) * 1982-03-17 1983-09-21 Nec Corp 画像回転装置
US4509043A (en) * 1982-04-12 1985-04-02 Tektronix, Inc. Method and apparatus for displaying images
JPS58187995A (ja) * 1982-04-28 1983-11-02 株式会社日立製作所 画像表示装置
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field
DD208499A3 (de) * 1982-10-26 1984-05-02 Adw Ddr Mehrdimensionaler paralleler speicher
US4533910A (en) * 1982-11-02 1985-08-06 Cadtrak Corporation Graphics display system with viewports of arbitrary location and content
GB2130855B (en) * 1982-11-03 1986-06-04 Ferranti Plc Information display system
JPS5995669A (ja) * 1982-11-25 1984-06-01 Toshiba Corp 図形処理装置
US4691295A (en) * 1983-02-28 1987-09-01 Data General Corporation System for storing and retreiving display information in a plurality of memory planes
US4668947A (en) * 1983-08-11 1987-05-26 Clarke Jr Charles J Method and apparatus for generating cursors for a raster graphic display
JPS6057457A (ja) * 1983-09-07 1985-04-03 Ricoh Co Ltd Dma装置
US4622546A (en) * 1983-12-23 1986-11-11 Advanced Micro Devices, Inc. Apparatus and method for displaying characters in a bit mapped graphics system
EP0383367B1 (de) * 1983-12-26 1999-03-17 Hitachi, Ltd. Graphisches Musterverarbeitungsgerät und Verfahren
US4663735A (en) * 1983-12-30 1987-05-05 Texas Instruments Incorporated Random/serial access mode selection circuit for a video memory system
US4779210A (en) * 1984-05-02 1988-10-18 Hitachi Engineering, Co. Ltd. Graphic processing apparatus

Also Published As

Publication number Publication date
US4862150A (en) 1989-08-29
US5300947A (en) 1994-04-05
EP0146961A3 (en) 1987-06-16
EP0989536A1 (de) 2000-03-29
DE3486494D1 (de) 2003-06-12
EP0383367A2 (de) 1990-08-22
EP0383367B1 (de) 1999-03-17
EP0989536B1 (de) 2003-05-07
US5638095A (en) 1997-06-10
EP0383367A3 (de) 1993-05-19
KR950013229B1 (ko) 1995-10-26
KR970007247B1 (ko) 1997-05-07
KR850004826A (ko) 1985-07-27
US5631668A (en) 1997-05-20
US5631671A (en) 1997-05-20
DE3486472T2 (de) 1999-11-25
DE3484297D1 (de) 1991-04-25
US5657045A (en) 1997-08-12
US5332995A (en) 1994-07-26
US6492992B2 (en) 2002-12-10
US20010052903A1 (en) 2001-12-20
US5043713A (en) 1991-08-27
EP0146961A2 (de) 1985-07-03
KR950012931B1 (ko) 1995-10-23
DE3486472D1 (de) 1999-04-22
EP0146961B1 (de) 1991-03-20

Similar Documents

Publication Publication Date Title
DE3486494T2 (de) Graphisches Musterverarbeitungsgerät
DE68919024T2 (de) Verfahren und Prozessor zur Abtastumsetzung.
DE3853664T2 (de) Farbzellentextur.
DE3586506T2 (de) Monochromatische darstellung von farbbildern.
DE3687668T2 (de) Verfahren und einrichtung zur verbesserung der bildqualitaet in einem nach dem rasterverfahren arbeitenden anzeigegeraet.
DE3851644T2 (de) Graphischer Anzeigeregler mit Begrenzungsfunktion.
DE68922674T2 (de) Bildverarbeitungsverfahren und -anordnung.
DE69116217T2 (de) Anzeigegerät
DE69722535T2 (de) Verfahren und Gerät zum Schaffen von Texturdaten
DE69109040T2 (de) Verbesserungen bei den nach dem Rasterverfahren arbeitenden Sichtgeräten.
DE3889557T2 (de) Vektorgenerator für Raster-Bildschirmanzeige.
DE3014437A1 (de) Anordnung zum darstellen von zeichen an einem bildschirm einer anzeigeeinheit
DE3689685T2 (de) Erzeugung von emulierten Attributen für ein Farbanzeigegerät.
DE3876887T2 (de) Erzeugung von linien in einem anzeigesystem.
DE69126184T2 (de) Verfahren und Gerät zur Erzeugung verkleinerter Bilder
DE3750622T2 (de) System zur Verarbeitung von graphischen Daten.
DE69724707T2 (de) Filter und Rasteroperationen
DE3750003T2 (de) Vorrichtung zur Anzeigesteuerung mit verbesserter Attribut-Funktion.
DE68920144T2 (de) Anzeigesystem.
DE3876212T2 (de) Verfahren und einrichtung zur darstellung dreidimensionaler farbdaten in einem eindimensionalen bezugssystem.
DE3779554T2 (de) Digitales nach dem rasterverfahren arbeitendes anzeigesystem.
DE3830990C2 (de)
DE3850087T2 (de) System zur Anzeige von Objekten.
DE4316892A1 (de) Bildausgabegerät für Gradationsbilddaten
DE69104867T2 (de) Verfahren und Einrichtung zur Anzeige von Bildern.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition