Nothing Special   »   [go: up one dir, main page]

DE69029065T2 - Logical circuitry and method for reordering for a graphic video display memory - Google Patents

Logical circuitry and method for reordering for a graphic video display memory

Info

Publication number
DE69029065T2
DE69029065T2 DE1990629065 DE69029065T DE69029065T2 DE 69029065 T2 DE69029065 T2 DE 69029065T2 DE 1990629065 DE1990629065 DE 1990629065 DE 69029065 T DE69029065 T DE 69029065T DE 69029065 T2 DE69029065 T2 DE 69029065T2
Authority
DE
Germany
Prior art keywords
circuit
vram
memory
data
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE1990629065
Other languages
German (de)
Other versions
DE69029065D1 (en
Inventor
Karl M Guttag
Ian J Sherlock
Richard D Simpson
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.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
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 US07/387,568 external-priority patent/US5233690A/en
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Application granted granted Critical
Publication of DE69029065D1 publication Critical patent/DE69029065D1/en
Publication of DE69029065T2 publication Critical patent/DE69029065T2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Input (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

TECHNISCHES GEBIET DER ERFINDUNGTECHNICAL FIELD OF THE INVENTION

Diese Erfindung betrifft Blockschreib-Graphiksteuerungs-Datenspeicher-Schreibsysteme und genauer gesagt eine Anordnung, die ein wirtschaftliches Umordnen von Daten vor dem Steuern der Blockschreibfunktion ermöglicht.This invention relates to block write graphics control data storage writing systems and more particularly to an arrangement that enables economical reordering of data prior to controlling the block write function.

In der Europäischen Patentanmeldung 0 071 744 ist ein Verfahren offenbart, bei dem ein softwaregesteuerter Mikroprozessor ein Zeichen in einen Farbgraphik-Bildrahmen- Zwischenspeicher schreibt. Eine bitweise Abbildung eines jeden möglichen Zeichens wird in einem Speicher gehalten, wobei ein jedes Bit die Anwesenheit oder Abwesenheit eines Pixels an einem Punkt eines Gitters repräsentiert. Eine Zeile der bitweisen Abbildung wird gelesen, und es wird ein Wort gebildet, bei dem ein jedes Bit der Zeile zweimal nacheinander auftritt. Ein anderes Wort wird gebildet, bei dem der Zwei-Bit-Code für die gewünschte Farbe für das Zeichen wiederholt wird. Die beiden Wörter werden daraufhin durch ein logisches UND verknüpft, und das Ergebnis wird in den Bildrahmen-Zwischenspeicher am Ort für diese Zeile geschrieben. Der Vorgang wird für jede Zeile für das Zeichen wiederholt.In European Patent Application 0 071 744 a method is disclosed in which a software controlled microprocessor writes a character into a color graphics frame buffer. A bitwise map of each possible character is held in memory, each bit representing the presence or absence of a pixel at a point on a grid. A line of the bitwise map is read and a word is formed in which each bit of the line occurs twice in succession. Another word is formed in which the two-bit code for the desired color for the character is repeated. The two words are then logically ANDed and the result is written into the frame buffer at the location for that line. The process is repeated for each line for the character.

In der Internationalen Patentanmeldung WO88/07235 ist ein bitweise organisiertes Graphiksystem offenbart, bei dem die einen Bildrahmen ausmachenden Pixel in einer Anordnung in einem Speicher gespeichert sind, die dafür geeignet ist, Pixelsätze anzusteuern, die im dargestellten Bildrahmen einen mehrere Pixel hohen und mehrere Pixel breiten Rahmen ausmachen, was zum Zeichnen von Vektoren und Zeichen auf der Anzeige nützlich ist. Die spezielle Anordnung der Pixel im Speicher wird durch Permutieren der Bits der (X, Y)-Adressen der Pixel, wobei X und Y die Koordinaten der Pixel im dargestellten Bildrahmen sind, und durch Anwenden der permutierten Adressen auf den Speicher erreicht. Für manche Operationen hinsichtlich der Pixel werden Daten aus dem Speicher ausgelesen und zu einer für diese Operation geeigneten Anordnung permutiert, bevor die Operation durchgeführt wird, und sie werden daraufhin wiederum permutiert und in den Speicher zurückgelesen.International Patent Application WO88/07235 discloses a bit-wise organized graphics system in which the pixels making up an image frame are stored in a memory in an arrangement suitable for driving sets of pixels making up a frame several pixels high and several pixels wide in the displayed image frame, which is useful for drawing vectors and characters on the display. The specific arrangement of the pixels in the memory is determined by permuting the bits of the (X, Y) addresses of the pixels, where X and Y are the coordinates of the pixels in the displayed image frame, and by applying the permuted addresses to the memory. For some operations on the pixels, data is read from the memory and permuted into an arrangement suitable for that operation before the operation is performed, and is then permuted and read back into the memory.

Im US-Patent 4 807 189 ist ein bitweise organisiertes Graphiksystem offenbart, das einen Multiplexer aufweist, der angeschlossen ist, um für den in den Budrahmen- Zwischenspeicher einzuspeichernden Wert für ein gewähltes Pixel zwischen dem Wert auf dem Datenbus und dem in einem Farbregister gespeicherten Wert auszuwählen. Das Speichern eines Wertes im Farbregister ermöglicht es, diesen Wert der Reihe nach bequem zu einer Anzahl von Orten im adressierten Bildrahmen-Zwischenspeicher zu schreiben.In U.S. Patent 4,807,189, a bit-wise organized graphics system is disclosed that includes a multiplexer connected to select the value to be stored in the frame buffer for a selected pixel between the value on the data bus and the value stored in a color register. Storing a value in the color register allows that value to be conveniently written in sequence to a number of locations in the addressed frame buffer.

HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION

Für Graphikanwendungen vorgesehene Mikroprozessoren müssen in der Lage sein, Pixelinformationen so schnell wie möglich zwischen Bildspeichern zu bewegen. In Situationen, in denen zahlreiche Pixel zu einem Bildspeicher übertragen werden müssen, kann die Übertragung durch Verwendung eines Blockschreibmerkmals beschleunigt werden. Typischerweise wird ein Blockschreiben durch Zuordnen eines Farbregisters zu einer jeden VRAM-Komponente, Füllen des Farbregisters mit Bits, um den gewünschten Farbwert ausgewählter Abschnitte der VRAM-Komponente zu bestimmen, und nachfolgendes Verwenden sowohl der Adressenbits der VRAM-Komponente als auch des Datenbuseingangs zur VRAM-Komponente, um den Ort innerhalb der VRAM-Komponente zu bestimmen, an dem die durch den Wert des Farbregisters repräsentierte Farbe erscheint, erzeugt. Bei dieser Technik wird der Datenbus nicht durch mehrere Kopien desselben Pixelwertes belastet, und die verfügbare Speicherbandbreite wird erhöht, wodurch Datenübertragungen wiederum beschleunigt werden.Microprocessors intended for graphics applications must be able to move pixel information between frame buffers as quickly as possible. In situations where numerous pixels must be transferred to a frame buffer, the transfer can be accelerated by using a block write feature. Typically, a block write is created by associating a color register with each VRAM component, filling the color register with bits to determine the desired color value of selected portions of the VRAM component, and then using both the VRAM component's address bits and the data bus input to the VRAM component to determine the location within the VRAM component where the color represented by the color register's value appears. With this technique, the data bus is not burdened by multiple copies of the same pixel value and the available memory bandwidth is increased, which in turn speeds up data transfers.

Die einfachste Anwendung, bei der das Blockschreiben vorteilhaft verwendet werden kann, besteht im Auffüllen, wobei der gleiche Pixelwert in einen festgelegten Speicherbereich übertragen wird. Weiterhin sind manche Formen einer Datenerweiterung gut für die Anwendung von Blockschreibtechniken geeignet. Wenn eine bitweise organisierte Abbildung daher in komprimierter Form gespeichert wird, können die Einsen und Nullen die Anwesenheit oder Abwesenheit eines Pixels repräsentieren, und Blockschreibvorgänge können verwendet werden, um die bitweise organisierte Abbildung zu dekomprimieren. Diese Art der Erweiterung wird typischerweise auf Schriftarten angewendet, die häufig in komprimierter Form gespeichert werden, um Speicher zu sparen.The simplest application where block writing can be used to advantage is padding, where the same pixel value is transferred to a fixed memory area. Furthermore, some forms of data expansion are well suited to the application of block writing techniques. Therefore, if a bit-organized image is stored in compressed form, the ones and zeros can represent the presence or absence of a pixel, and block writes can be used to decompress the bit-organized image. This type of expansion is typically applied to fonts, which are often stored in compressed form to save memory.

Es treten Probleme auf, da Speicherzugriffe in der regulären Betriebsart und in der Blockschreib-Betriebsart über denselben Bus ausgeführt werden müssen, und sie müssen miteinander vereinbar sein, so daß in einer Betriebsart geschriebene (oder gelesene) Daten in der anderen Betriebsart gelesen (oder geschrieben) werden können. Dies ist ein Problem, da die Bitanordnung der komprimierten Darstellung der Daten bezüglich des Zugriffs in der regulären Betriebsart geändert oder gemischt werden muß, bevor die Daten in der Blockschreib-Betriebsart in die VRAM-Komponente geschrieben werden können. Diese Änderung der Bitanordnung ist erforderlich, da die komprimierten Daten typischerweise mit einem Bit gespeichert werden, das jedes Mehrbit-Anzeigepixel in einer speziellen Ordnung repräsentiert. Das Speichern dieser Bits erfolgt seriell, wobei jedes Bit einen entsprechenden Anzeigepunkt repräsentiert. Beispielsweise repräsentiert das erste Bit (Bit 0) die Pixelposition eins. Das zweite Bit (Bit 1) repräsentiert die Pixelposition zwei, und das dritte Bit (Bit 2) repräsentiert die Pixelposition drei. Auf diese Weise repräsentierten die Bits auf dem Bus in diesem Beispiel die Pixelpositionen eineindeutig, so daß die Busbitposition null die Daten für das erste Pixel aufweist, während die Busbitposition drei die Daten für das vierte Pixel aufweist. Wegen der gegenständlichen Anordnung der VRAM-Komponenten, bei der aufeinanderfolgende Pixel in verschiedenen VRAM-Chips (oder - Einheiten) gespeichert werden, müssen die Daten jedoch vor der Übergabe an die VRAM-Komponenten umgeordnet werden. Es sei der Fall betrachtet, in dem die VRAM-Komponenten bei einem 32 Bit breiten Datenbus vier Bit breit sind (vier Ebenen). Die Positionen 0 - 3 des Datenbusses wären mit der ersten VRAM-Komponente verbunden, die wiederum die Bits 0 - 3 des ersten Pixels in einer normalen Schreibsituation steuern kann. Ohne ein Mischen werden die komprimierten Daten an der Busbitposition 1 (der zweiten Position), die dazu bestimmt sein sollten, das zweite Pixel zu steuern, schließlich zum zweiten Eingang der ersten VRAM-Komponente übertragen, die bei einem normalen Zugriff dem neunten Pixel zugeordnet ist und nicht dem erforderlichen zweiten Pixel. Auf diese Weise ist bei einer Funktionsweise in der Blockschreib-Betriebsart eine Änderung der Bitanordnung erforderlich.Problems arise because memory accesses in regular mode and block write mode must be performed over the same bus, and they must be compatible so that data written (or read) in one mode can be read (or written) in the other mode. This is a problem because the bit order of the compressed representation of the data must be changed or shuffled relative to the regular mode access before the data can be written to the VRAM component in block write mode. This change in bit order is necessary because the compressed data is typically stored with one bit representing each multi-bit display pixel in a specific order. The storage of these bits is serial, with each bit representing a corresponding display point. For example, the first bit (bit 0) represents pixel position one. The second bit (bit 1) represents pixel position two, and the third bit (bit 2) represents pixel position three. Thus, in this example, the bits on the bus uniquely represent the pixel positions, so that bus bit position zero has the data for the first pixel, while bus bit position three has the data for the fourth pixel. Because of the physical arrangement of the VRAM components, where consecutive pixels are in different VRAM chips (or - units), the data must be reordered before being passed to the VRAM components. Consider the case where the VRAM components are four bits wide (four levels) on a 32-bit wide data bus. Positions 0 - 3 of the data bus would be connected to the first VRAM component, which in turn can control bits 0 - 3 of the first pixel in a normal write situation. Without shuffling, the compressed data at bus bit position 1 (the second position), which should be intended to control the second pixel, will eventually be transferred to the second input of the first VRAM component, which in a normal access is associated with the ninth pixel, rather than the required second pixel. Thus, when operating in block write mode, a change in bit ordering is required.

Ein weiteres Problem tritt auf, da die Art der Datenmischung von der Größe des Pixels abhängt. Es müssen verschiedene Mischungen vorgenommen werden, um einen breiten Bereich von Pixelgrößen und VRAM-Anordnungen abzudecken. Es ist hierbei gerechtfertigt, zu sagen, daß die Blockschreib- Betriebsart der Video-RAM-Komponenten vernünftig nur für ein Füllen von Bereichen in genauen Vielfachen der Blockgröße verwendet werden kann. Die Eigenart der Blockschreibfunktion der VRAM-Komponenten führt zu einem vermischten Beschreiben der Pixel innerhalb eines Blocks, falls keine Datenumordnung vorgenommen wird.Another problem arises because the type of data shuffling depends on the size of the pixel. Different shuffles must be done to cover a wide range of pixel sizes and VRAM arrangements. It is fair to say that the block write mode of the video RAM components can only be reasonably used to fill areas in exact multiples of the block size. The nature of the block write function of the VRAM components leads to a shuffled writing of the pixels within a block if no data shuffling is done.

Dementsprechend besteht in der Technik ein Bedarf an einer Mischanordnung, die eine wirksame Behandlung von Daten ermöglicht, so daß Blockschreibvorgänge wirtschaftlich durchgeführt werden können.Accordingly, there is a need in the art for a hybrid arrangement that enables efficient handling of data so that block writes can be performed economically.

In der Technik besteht ein weiterer Bedarf an einer Mischlogik, die für jede Pixelgröße oder VRAM-Anordnung verwendet werden kann.There is a further need in the art for a mixed logic that can be used for any pixel size or VRAM arrangement.

In der Technik besteht ein weiterer Bedarf an der Auslegung eines Systems, bei dem die Blockschreib-Betriebsart verwendet wird, welches weiterhin das Beschreiben eines jeden Pixels innerhalb des Blockes richtig und wirtschaftlich steuern kann. Weiterhin besteht ein Bedarf an einem System, das für unterschiedliche Anzahlen von Farbebenen verwendet werden kann.There is a further need in the art to design a system using the block write mode that can still properly and economically control the writing of each pixel within the block. There is also a need for a system which can be used for different numbers of color levels.

ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION

Die vorliegende Erfindung sieht eine Videographikschaltung vor, die folgendes aufweist:The present invention provides a video graphics circuit comprising:

mehrere erste Dateneingangsanschlüsse;several first data input ports;

einen Speicher zum Speichern von Daten, die Pixel eines Bildes repräsentieren, wobei jedes Pixel durch mehrere Bits repräsentiert wird und der Speicher mehrere zweite Dateneingangsanschlüsse aufweist;a memory for storing data representing pixels of an image, each pixel being represented by a plurality of bits, the memory having a plurality of second data input terminals;

eine Umordnungsschaltung zum Verbinden der mehreren ersten Dateneingangsanschlüsse mit den mehreren zweiten Dateneingangsanschlüssen in unterschiedlichen Anordnungen, abhängig davon, ob die Videographikschaltung entwedera rearrangement circuit for connecting the plurality of first data input terminals to the plurality of second data input terminals in different arrangements, depending on whether the video graphics circuit is either

in einer ersten Betriebsart, in der Daten, die an den mehreren ersten Dateneingangsanschlüssen vorhanden sind, als Pixelwerte in dem Speicher gespeichert werden, oderin a first operating mode in which data present at the plurality of first data input terminals are stored as pixel values in the memory, or

in einer zweiten Blockschreib-Betriebsart, in der einzelne Bits der an den mehreren ersten Dateneingangsanschlüssen vorhandenen Daten bestimmen, ob ein in einem Register festgehaltener Wert an entsprechende Pixel in dem Speicher angelegt wird, betrieben wird; undoperating in a second block write mode in which individual bits of the data present at the plurality of first data input terminals determine whether a value held in a register is applied to corresponding pixels in the memory; and

eine zwischen den mehreren ersten Dateneingangsanschlüssen und der Umordnungsschaltung angeschlossene Erweiterungsschaltung zum Reproduzieren von an den ersten Dateneingangsanschlüssen vorhandenen Bits und zum Anlegen der reproduzierten Bits in paralleler Form an die Umordnungsschaltung.an expansion circuit connected between the plurality of first data input terminals and the reordering circuit for reproducing bits present at the first data input terminals and applying the reproduced bits in parallel form to the reordering circuit.

Die Umordnungsschaltung kann eine Mischschaltung mit mehreren Eingängen und einer gleichen Anzahl von Ausgängen sein, wobei die Mischschaltung folgendes enthält: eine ebensolche Anzahl von Zwischenspeichergliedern, von denen jedes einen Eingang und einen oder mehrere Ausgänge steuert und eine Schaltung zum Steuern, welcher Ausgang mit welchem Eingang zu jedem Zeitpunkt verbunden ist.The reordering circuit may be a mixer circuit having a plurality of inputs and an equal number of outputs, the mixer circuit including: an equal number of latches, each of which controls one input and one or more outputs, and circuitry for controlling which output is connected to which input at any one time.

Die Umordnungsschaltung kann eine Multiplexschaltung sein.The reordering circuit can be a multiplexing circuit.

Die Umordnungsschaltung kann einen Speicher mit einer Nachschlagetabelle enthalten.The reordering circuit may include a memory with a look-up table.

Die Videographikschaltung kann eine Schaltung zum Verschieben von Bits, die an den ersten Dateneingangsanschlüssen anliegen, bevor sie an die Erweiterungsschaltung angelegt werden, enthalten.The video graphics circuit may include a circuit for shifting bits present at the first data input terminals before they are applied to the expansion circuit.

Der Speicher kann in Ebenen organisiert sein, und Bits eines Pixels werden in jeweiligen Ebenen gespeichert.The memory can be organized into layers, and bits of a pixel are stored in respective layers.

Der Speicher kann eine oder mehrere VRAM-Komponenten enthalten.The memory may contain one or more VRAM components.

Die Videographikschaltung kann eine Schaltungsanordnung zum Bestimmen der Anzahl der VRAM-Komponenten, die die gleiche Pixelinformation enthalten, und zum Steuern der Erweiterungsschaltung entsprechend dieser Bestimmung aufweisen.The video graphics circuit may include circuitry for determining the number of VRAM components containing the same pixel information and for controlling the expansion circuit according to that determination.

Die Erweiterungsschaltung kann so angeordnet sein, daß sie die Erweiterung steuert, wenn der Graphikspeicher mit einer Anzahl von VRAM-Komponenten konfiguriert ist, die die Pixel steuern.The expansion circuit may be arranged to control the expansion when the graphics memory is configured with a number of VRAM components that control the pixels.

Ein Graphikverarbeitungssystem kann die Videographikschaltung enthalten.A graphics processing system may include the video graphics circuitry.

In einem Beispiel, bei dem VRAM-Komponenten und Pixel mit vier Bits verwendet werden, gibt es unter der Annahme, daß eine jede VRAM-Komponente vier Dateneingangswege aufweist (einer für jedes Bit des Pixels), eine Trennung oder Umordnung von vier Bitpositionen zwischen den komprimierten Daten und der eigentlichen Eingabe der VRAM-Komponenten. Dieses Umordnen wird durch eine Mischschaltung ausgeführt.In an example using four-bit VRAM components and pixels, assuming that each VRAM component has four data input paths (one for each bit of the pixel), there is a separation or reordering of four bit positions between the compressed data and the actual input to the VRAM components. This reordering is performed by a shuffling circuit.

Ein so komprimiertes Busbit 0 wird zu einer Position 0 nach dem Mischen übertragen, während ein Busbit 1 zu einer Position 4 nach dem Mischen übertragen wird. Ebenso wird ein komprimiertes Busbit 2 zu einer Position 8 nach dem Mischen übertragen, und ein komprimiertes Busbit 3 wird zu einer Position 12 nach dem Mischen übertragen. Dies wird für 7 komprimierte Bitpositionen fortgeführt, wobei ein komprimiertes Bit 7 zu einer Position 28 nach dem Mischen übertragen wird. Das nächste komprimierte Bit 8 wird zur Position 1 nach dem Mischen übertragen, während ein komprimiertes Bit 9 zu einer Position 5 nach dem Mischen übertragen wird. Diese unzusammenhängende Folge setzt sich über die ganze Breite des Busses fort.A bus bit 0 compressed in this way is transferred to a position 0 after mixing, while a bus bit 1 is transferred to a position 4 after mixing. Similarly, a compressed bus bit 2 is transferred to a position 8 after mixing, and a compressed bus bit 3 is transferred to a position 12 after mixing. This continues for 7 compressed bit positions, with a compressed bit 7 being transferred to a position 28 after mixing. The next compressed bit 8 is transferred to position 1 after mixing, while a compressed bit 9 is transferred to a position 5 after mixing. This disjointed sequence continues across the entire width of the bus.

In einem Beispiel, bei dem die Pixelgröße 8 Bit beträgt, wären zwei vier Bit breite VRAM-Komponenten erforderlich, wobei ein jedes eine Hälfte des 8-Bit-Pixels aufweist. In dieser Situation erfordert die Erweiterung dann einen anderen Algorithmus, nämlich das Umordnen der Ordinatenposition des komprimierten Bits um 8 Positionen. Es ist anerkannt, daß alle VRAM-Komponenten, die dasselbe Pixel aufweisen, vorzugsweise mit einem identischen Steuersignal versehen werden. Auf diese Weise spiegeln bei einem 2-VRAM- Pixel (beispielsweise 8 Bits) zwei Positionen des Busses vorzugsweise denselben komprimierten Bitwert wider.In an example where the pixel size is 8 bits, two four-bit wide VRAM components would be required, each comprising one half of the 8-bit pixel. In this situation, the extension then requires a different algorithm, namely, rearranging the ordinate position of the compressed bit by 8 positions. It is recognized that all VRAM components comprising the same pixel are preferably provided with an identical control signal. In this way, for a 2-VRAM pixel (say 8 bits), two positions on the bus preferably reflect the same compressed bit value.

Es gibt zwei Möglichkeiten, den Mischvorgang auszuführen. Eine besteht darin, einen größeren Bus, beispielsweise mit 64 Leitungen, herzustellen. Dies erfordert zusätzliche oder größere VRAM-Komponenten und mehr Schaltungsanordnungen zum Steuern des Busses. Die andere Möglichkeit besteht darin, daß die Mischschaltung ein anderes Mischmuster aufweist. In beiden Fällen müssen die komprimierten Daten mehr als eine VRAM-Komponente steuern, falls das Pixel in mehr als einer VRAM-Komponente enthalten ist.There are two ways to accomplish the shuffling operation. One is to make a larger bus, for example 64 lines. This requires additional or larger VRAM components and more circuitry to control the bus. The other is for the shuffling circuit to have a different shuffling pattern. In both cases, if the pixel is contained in more than one VRAM component, the compressed data must control more than one VRAM component.

Die Speicheradressierung wird so eingerichtet, daß sie der größeren Datenmenge entspricht, die in die VRAM- Komponente geschrieben wird, wenn eine Reihe von Blockschreibzugriffen (beispielsweise ein Füllen eines großen Bildschirmbereichs) durchgeführt wird. Tatsächlich werden die 4 zu einer VRAM-Komponente übertragenen Datenbits intern in der Blockschreib-Betriebsart um einen Faktor 4 erweitert. Auf diese Weise wird ein 32 Bit breiter Datenbus innerhalb der VRAM-Komponenten in der Blockschreib-Betriebsart auf 128 Bits erweitert. Um daher wirksam von einer adressierbaren Stelle zur nächsten benachbarten fortzuschreiten, ist es erforderlich, die Adresse um 128 (hinsichtlich der Bitadresse) statt um 32, wie es bei einer regulären Adressierung durchgeführt würde, zu inkrementieren oder zu dekrementieren (was von der Richtung abhängt).The memory addressing is arranged to correspond to the larger amount of data written to the VRAM component when a series of block write accesses (e.g., filling a large screen area) is performed. In fact, the 4 bits of data transferred to a VRAM component are expanded internally by a factor of 4 in the block write mode. In this way, a 32-bit wide data bus within the VRAM components is expanded to 128 bits in the block write mode. Therefore, in order to efficiently advance from one addressable location to the next adjacent one, it is necessary to advance the address by 128 (in terms of bit address) instead of 32 as is done in regular addressing. would increment or decrement (depending on the direction).

Die Mischoperation wird in einem Beispiel durch die richtige Verbindung einer Multiplexerfunktion für eine jede gegebene Bitposition verwirklicht. Das Multiplexieren wählt nach Bedarf zwischen der normalen Betriebsart (oder Durchlaufbetriebsart) und einer oder mehreren Mischfunktionen aus.The merge operation is implemented in one example by properly connecting a multiplexer function for any given bit position. Multiplexing selects between the normal mode (or run through mode) and one or more merge functions as needed.

Es ist ein mit dieser Erfindung verbundener technischer Vorteil, daß ein Mechanismus bereitgestellt wird, um Pixel in verträglicher Weise in der normalen Betriebsart und in der Blockschreib-Betriebsart in eine Speichermatrix zu schreiben.It is a technical advantage associated with this invention that a mechanism is provided for writing pixels to a memory array in a compatible manner in the normal mode and in the block write mode.

KURZBESCHREIBUNG DER ZEICHNUNGSHORT DESCRIPTION OF THE DRAWING

Für ein vollständigeres Verständnis der vorliegenden Erfindung und weiterer damit verbundener Vorteile wird nun auf die folgende detaillierte Beschreibung Bezug genommen, die zusammen mit der begleitenden Zeichnung gelesen werden sollte, wobeiFor a more complete understanding of the present invention and further advantages thereof, reference is now made to the following detailed description, which should be read in conjunction with the accompanying drawings, in which

in FIGUR 1 eine stilisierte Ansicht eines VRAM- Speichers dargestellt ist;FIGURE 1 shows a stylized view of a VRAM memory;

in FIGUR 2 eine VRAM-Speicherverbindung mit einem Datenbus dargestellt ist;FIGURE 2 shows a VRAM memory connection to a data bus;

in FIGUR 3 eine an den Datenbus angeschlossene Mischschaltung dargestellt ist;FIGURE 3 shows a mixing circuit connected to the data bus;

in den FIGUREN 4 und 5 Teilverbindungen für andere Mischschaltungen dargestellt sind;FIGURES 4 and 5 show partial connections for other mixed circuits;

in FIGUR 6 eine vier-Positionen-Erweiterung dargestellt ist;in FIGURE 6 a four-position extension is shown;

in FIGUR 7 die Kreuzverbindungen der Mischschaltungen für alle Situationen dargestellt sind;FIGURE 7 shows the cross connections of the mixed circuits for all situations;

in FIGUR 8 eine Ausführungsform einer Mischschaltung dargestellt istFIGURE 8 shows an embodiment of a mixed circuit

undand

in FIGUR 9 eine Ausführungsform einer für mehrere verschiedene Speicheranordnungen verwendeten Mischschaltung dargestellt ist.FIGURE 9 shows an embodiment of a mixing circuit used for several different memory devices.

DETAILLIERTE BESCHREIBUNG DER ERFINDUNGDETAILED DESCRIPTION OF THE INVENTION

Bezug nehmend auf FIGUR 1 wird eine kurze Erörterung des Speicheraufbaus eines typischen Graphikspeichersystems gegeben, bevor die eigentliche detaillierte Beschreibung der Funktionsweise der Ausführungsform dieser Erfindung gegeben wird. Während es zahlreiche Speicheranordnungen und -systeme gibt, die verwendet werden könnten, ist es in der bevorzugten Ausführungsform typisch, einen Aufbau zu verwenden, wie er in FIGUR 1 dargestellt ist, bei dem acht VRAM-Speicher 200, 201 usw. in einer Matrix verwendet werden. Jeder VRAM-Speicher oder jede VRAM-Einheit weist einen 4 Bit breiten Datenport auf, der als die Ebenen 11, 12, 13 und 14 aufweisend behandelt werden kann. Der Aufbau einer jeden Ebene ist in der Art, daß eine einzige Datenleitung verwendet wird, um Informationen in diese Ebene zu schreiben. Diese Leitungen sind für jede Ebene mit 0, 1, 2 und 3 bezeichnet. Bei einem System, bei dem ein 32 Bit breiter Datenbus verwendet wird, wie beim Datenbus 20, gäbe es 8 VRAM-Speicher (von denen zwei in FIGUR 1 dargestellt sind), die jeweils vier an den Datenbus angeschlossene Datenleitungen aufweisen.Referring to FIGURE 1, a brief discussion of the memory structure of a typical graphics memory system is given before the actual detailed description of the operation of the embodiment of this invention is given. While there are numerous memory arrangements and systems that could be used, in the preferred embodiment it is typical to use a structure as shown in FIGURE 1, in which eight VRAM memories 200, 201, etc. are used in an array. Each VRAM memory or VRAM unit has a 4-bit wide data port that can be treated as having levels 11, 12, 13, and 14. The structure of each level is such that a single data line is used to write information to that level. These lines are labeled 0, 1, 2, and 3 for each level. In a system using a 32-bit wide data bus, such as data bus 20, there would be 8 VRAM memories (two of which are shown in FIGURE 1), each with four data lines connected to the data bus.

Bei einem VRAM-Speicher 200 mit einem 32 Bit breiten Datenbus wären dessen vier Datenleitungen an die Datenbusleitungen 0, 1, 2 bzw. 3 angeschlossen. Ebenso wären die vier Leitungen 0, 1, 2, 3 des VRAM-Speichers 201 an Datenbusleitungen 4, 5, 6 bzw. 7 angeschlossen. Dies setzt sich für die übrigen sechs VRAM-Komponenten fort, so daß die Leitungen der letzten VRAM-Komponente an die Leitungen 28, 29, 30, 31 des Busses 20 angeschlossen sind. Der ganze Anschlußsatz ist in FIGUR 2 dargestellt.For a VRAM 200 with a 32-bit wide data bus, its four data lines would be connected to data bus lines 0, 1, 2, and 3, respectively. Similarly, the four lines 0, 1, 2, and 3 of VRAM 201 would be connected to data bus lines 4, 5, 6, and 7, respectively. This continues for the remaining six VRAM components, so that the lines of the last VRAM component are connected to lines 28, 29, 30, and 31 of bus 20. The entire connection set is shown in FIGURE 2.

Um mit FIGUR 1 fortzufahren, sind die Speicher so angeordnet, daß die Pixelinformation für die Graphikanzeige über die Ebenen hinweg seriell in derselben Zeile gespeichert wird. Bei Annahme eines Systems mit vier Bits pro Pixel werden aufeinanderfolgende Pixel dann in aufeinanderfolgenden VRAM-Komponenten gespeichert. In dieser Situation wird das Pixel 0 in der VRAM-Komponente 200 gespeichert, und das Pixel 1 wird in der VRAM-Komponente 201 gespeichert. Die Pixelspeicherung für die Pixel 2 bis 7 ist in FIGUR 2 dargestellt, jedoch nicht in FIGUR 1. Die Pixelinformation für das Pixel 8 wird dann noch in Zeile 1, jedoch in Spalte 2 der VRAM- Komponente 200 gespeichert. Der Grund für diese Anordnung der Pixelinformation wird beim Verstehen, wie die Information aus dem Speicher ausgelesen wird, besser ersichtlich.Continuing with FIGURE 1, the memories are arranged so that the pixel information for the graphics display is stored serially in the same row across the planes. Assuming a four bits per pixel system, successive pixels are then stored in successive VRAM components. In this situation, pixel 0 is stored in VRAM component 200 and pixel 1 is stored in VRAM component 201. Pixel storage for pixels 2 through 7 is shown in FIGURE 2, but not in FIGURE 1. The pixel information for pixel 8 is then still stored in row 1, but in column 2 of the VRAM component 200. The reason for this arrangement of the pixel information will become more apparent when we understand how the information is read from memory.

Um mit FIGUR 1 fortzufahren, weist jede VRAM-Ebene ein serielles Register 16 auf, um Informationen aus einer Speicherzeile herauszuschieben. Die Ausgänge dieser Register sind in der gleichen Weise an den Datenausgangsbus 15 angeschlossen, wie die Dateneingangsleitungen an den Dateneingangsbus angeschlossen sind. Auf diese Weise werden Daten aus einer Speicherzeile, beispielsweise aus Zeile 1, in das Register 16 bewegt. Dies geschieht für jede Ebene der acht Speichermatrizen.Continuing with FIGURE 1, each VRAM level has a serial register 16 for shifting information out of a memory row. The outputs of these registers are connected to the data output bus 15 in the same way that the data input lines are connected to the data input bus. In this way, data from a memory row, say row 1, is moved into the register 16. This is done for each level of the eight memory arrays.

Bei Betrachtung des Datenausgangsbusses 15 zu einem Zeitpunkt ist ersichtlich, daß sich das erste Bit in einem jeden Schieberegister auf dem Bus befindet. Unter der Annahme, daß die Zeile 1 auf den Bus ausgegeben wurde, befindet sich auf der Leitung 0 des Busses ein Bit A1 der Zeile 1 des Speichers 200. Auf der Leitung 1 des Ausgangsbusses 15 befindet sich ein Bit B1 der Zeile 1; auf der Leitung 2 befindet sich ein Bit C1 der Zeile 1; und auf der Leitung 3 befindet sich ein Bit D1 der Zeile 1. Diesen Bits folgen die Bits A1, B1, C1, D1 der Zeile 1 des Speichers 201 auf den Leitungen 4, 5, 6 bzw. 7. Zu einem ersten Zeitpunkt befinden sich demnach auf dem Datenausgangsbus 15 die vier Bits, die das Pixel bilden, auf die die vier Bits folgen, die das Pixel 1 bilden, auf die wiederum die vier Bits folgen, die das Pixel 2 bilden. Dies setzt sich fort, bis sich die 32 Bits, die die 8 Pixel 0 - 7 bilden, auf den aufeinanderfolgenden Leitungen des Datenausgangsbusses 15 befinden. Diese Bits werden zur Graphikanzeige übertragen, und alle Schieberegister werden um eine Position verschoben, wodurch der Bus mit der Pixelinformation für die nächsten 8 Pixel, nämlich die Pixel 8 - 15, versehen wird. Dieses Verschieben wird dann fortgesetzt, bis die gesamte Reihe herausgeschoben wurde, und daraufhin wird eine neue Reihe für ein Laden in das Ausgangsregister gewählt.Looking at the data output bus 15 at a time, it can be seen that the first bit in each shift register is on the bus. Assuming that row 1 has been output to the bus, on line 0 of the bus there is a bit A1 of row 1 of the memory 200. On line 1 of the output bus 15 there is a bit B1 of row 1; on line 2 there is a bit C1 of row 1; and on line 3 is a bit D1 of row 1. These bits are followed by bits A1, B1, C1, D1 of row 1 of memory 201 on lines 4, 5, 6, and 7 respectively. At a first instant, therefore, on data output bus 15 are the four bits that make up the pixel, followed by the four bits that make up pixel 1, followed by the four bits that make up pixel 2. This continues until the 32 bits that make up the 8 pixels 0 - 7 are on the successive lines of data output bus 15. These bits are transferred to the graphics display and all shift registers are shifted by one position, thus providing the bus with the pixel information for the next 8 pixels, namely pixels 8 - 15. This shifting then continues until the entire row has been shifted out, and then a new row is selected for loading into the output register.

Bis hierhin wurde angenommen, daß die Bitinformation pro Pixel 4 Bits umfaßt. Falls die Pixelinformation beispielsweise 8 Bits umfaßt, müßten zwei 4 Bit breite VRAM- Komponenten für jedes Pixel verwendet werden. Dies würde die Bitmuster etwas ändern. Dieser Gesichtspunkt der Erfindung wird nachfolgend in näheren Einzelheiten erörtert. Es sei weiter bemerkt, daß sich Speichergrößen und -aufbauten weiterhin ändern und daß die Größe und der dargestellte Aufbau lediglich zur Erläuterung dienen und daß diese Erfindung mit zahlreichen verschiedenen Speicheranordnungen und mit verschiedenen Pixelgrößen verwendet werden kann.Up to this point, it has been assumed that the bit information per pixel is 4 bits. For example, if the pixel information is 8 bits, two 4-bit wide VRAM components would need to be used for each pixel. This would change the bit patterns somewhat. This aspect of the invention is discussed in more detail below. It should be further noted that memory sizes and structures continue to vary and that the size and structure shown is for illustrative purposes only and that this invention can be used with many different memory arrangements and with different pixel sizes.

Es sei bemerkt, daß die in den FIGUREN 2 bis 5 aufgeführte Speicherdarstellung eine eindimensionale Abbildung dessen ist, was konzeptionell eine dreidimensionale Matrix ist, wie sie in FIGUR 1 dargestellt ist. Ab hier betrifft der Begriff "Zeile" daher den zu irgendeiner gegebenen Zeit vom Bus adressierten Pixelsatz.It should be noted that the memory representation shown in FIGURES 2 through 5 is a one-dimensional mapping of what is conceptually a three-dimensional matrix as shown in FIGURE 1. From here on, therefore, the term "row" refers to the set of pixels addressed by the bus at any given time.

In FIGUR 2 ist eine vollständige Speicheranordnung mit acht VRAM-Komponenten dargestellt, wobei sich die Information zum Steuern der Pixel 0 - 7 in der obersten Zeile der VRAM-Komponenten 200 bis 207 befindet, während sich die Pixel 8 bis 15 in der Zeile 2 befinden, während sich die Pixel 16 bis 23 in der Zeile 3 befinden und während sich die Pixel 24 bis 31 in der Zeile 4 befinden. Diese Anordnung setzt sich für jede weitere Speicherzeile fort.FIGURE 2 shows a complete memory array with eight VRAM components, where the information to control pixels 0-7 is in the top row of VRAM components 200 through 207, while pixels 8 through 15 are in row 2, while pixels 16 through 23 are in row 3, and while pixels 24 through 31 are in row 4. This arrangement continues for each subsequent memory row.

Für normale Schreibvorgänge in den VRAM-Speicher werden Datenbits über den Datenbus 20 empfangen. Die Position der Information auf dem Bus bestimmt, wo die Daten in den VRAM-Komponenten zu speichern sind. Auf diese Weise wird ein Bit auf der Leitung 0 des Busses 20 zur Leitung 0 der VRAM- Komponente 200 übertragen. Unter der Annahme, daß der Adressenort der ersten Zeile der VRAM-Komponente 200 auch ausgewählt wurde, wird diese Bitinformation dem Bit 0 des Pixels zugeordnet. Dies ist die bekannte herkömmliche Arbeitsweise von Graphiksystemen, und es werden hier keine Einzelheiten dieser Arbeitsweise ausgeführt. Es ist für das Verständnis dieser Erfindung ausreichend, zu bemerken, daß ein gegebenes Datenwort, beispielsweise das Datenwort 21, Bits an der Ordinatenposition aufweist, die infolge der gegenständlichen Verbindungen und Zuordnungen zwischen dem Datenbus und den VRAM-Komponenten direkt zu den richtigen Bitpositionen übertragen werden. Es sei auch bemerkt, daß die Informationen an den Ordinatenpositionen 0 - 3 des Datenworts 21 über den Bus 20 zu einem der zahlreichen Pixel 0, 8, 16, 24, 32 usw. übertragen werden können. Die eigentliche Speicherstelle hängt von anderen gleichzeitigen Adressierungen der VRAM- Komponenten ab, was hier nicht alles dargestellt ist, was jedoch im Stand der Technik wohlbekannt ist.For normal writes to the VRAM memory, data bits are received over the data bus 20. The location of the information on the bus determines where the data is to be stored in the VRAM components. In this way, a bit on line 0 of the bus 20 is transferred to line 0 of the VRAM component 200. Assuming that the address location of the first row of the VRAM component 200 has also been selected, this bit information is assigned to bit 0 of the pixel. This is the well-known conventional operation of graphics systems and no details of this operation are given here. It is sufficient for an understanding of this invention to note that a given data word, for example data word 21, has bits on the ordinate position which are directly transferred to the correct bit positions as a result of the physical connections and associations between the data bus and the VRAM components. It should also be noted that the information at ordinate positions 0-3 of the data word 21 can be transferred via the bus 20 to any of the numerous pixels 0, 8, 16, 24, 32, etc. The actual storage location depends on other simultaneous addressing of the VRAM components, not all of which is shown here, but which is well known in the art.

Bei dem vorausgehend beschriebenen Verfahren zum Ausschreiben von Daten sind 32 Datenbits und ein vollständiger Speicherschreibzyklus für jede Zeile (8 Pixel) erforderlich. In manchen Situationen, beispielsweise wenn eine Hintergrundfarbe auf einen Bildschirm zu zeichnen ist, weisen zahlreiche Pixel die gleiche ihnen zugeschriebene Information auf. Das Blockschreibverfahren zum Laden einer VRAM- Komponente wurde erdacht, um diese Situation zu behandeln. Bei diesem im Stand der Technik wohlbekannten Verfahren wird ein spezielles Register auf einer jeden VRAM-Komponente, wie ein im Zusammenhang mit der VRAM-Komponente 200 dargestelltes Register 210, verwendet, das Bits zur Übertragung zu ausgewählten Pixelstellen innerhalb des Speichers aufweist. Diese Bits werden vor dem Starten eines Blockschreibvorgangs geladen.The previously described method of writing out data requires 32 bits of data and a complete memory write cycle for each line (8 pixels). In some situations, such as when drawing a background color on a screen, many pixels have the same information associated with them. The block write method of loading a VRAM component was devised to handle this situation. This method, well known in the art, uses a special register on each VRAM component, such as register 210 shown in connection with VRAM component 200, which has bits for transfer to selected pixel locations within the memory. These bits are loaded prior to starting a block write operation.

Während des Blockschreibvorgangs wird der Speicher in anderer Weise als beim normalen Laden geladen. Die vier Dateneingangsleitungen werden verwendet, aber dieses Mal steuert jedes Bit die Übertragung der speziellen Register- Bits zu einer speziellen Speicherzeile in dieser VRAM- Komponente. Es sei beispielsweise angenommen, daß es in der VRAM-Komponente 200 erwünscht ist, die Pixel 0, 8 und 24 mit den Bits aus dem Register 210 zu laden, während das Pixel 16 unverändert bleibt. In diesem Fall liegen die Leitungen 0, 1, 3 auf dem Logikpegel 1, während die Leitung 2 auf dem Logikpegel 0 liegt. Die gleiche Situation wäre für den ganzen 32 Bit breiten Bus in der Hinsicht gegeben, daß die Ordinatenposition der Bits bestimmen würde, ob eine Information zu einem entsprechenden Pixel in einer entsprechenden VRAM Speicherzeile zu übertragen wäre. Es ist ersichtlich, daß sich dies vom normalen Laden von Daten unterscheidet, wobei die Daten selbst vom Datenbus kommen. Für Blockschreibvorgänge kommen die Daten von den speziellen einer jeden VRAM- Komponente zugeordneten Registern, und die Bits auf dem Datenbus führen lediglich zu einer Ein-Aus- oder Laden- /Nicht-Laden-Steuerung, was von ihrer Position auf den verschiedenen Leitungen des Busses abhängt.During the block write operation, the memory is loaded in a different manner than during normal loading. The four data input lines are used, but this time each bit controls the transfer of the specific register bits to a specific memory row in that VRAM component. For example, suppose that in VRAM component 200 it is desired to load pixels 0, 8 and 24 with the bits from register 210, while leaving pixel 16 unchanged. In this case, lines 0, 1, 3 are at logic level 1, while line 2 is at logic level 0. The same situation would exist for the entire 32-bit wide bus in that the ordinate position of the bits would determine whether information is to be to a corresponding pixel in a corresponding VRAM memory row. It can be seen that this is different from normal data loading, where the data itself comes from the data bus. For block writes, the data comes from the special registers associated with each VRAM component, and the bits on the data bus merely provide on-off or load/not load control, depending on their position on the various lines of the bus.

Das Datenwort, das diesen Vorgang steuert, wird dann als im komprimierten Format befindlich bezeichnet, so daß die Ordinatenposition eines jeden Bits, die 1 oder 0 ist, eine Funktion steuert. Es sei auch bemerkt, daß das Darstellen von Ein und Aus durch 1 und 0 lediglich der Erläuterung dient und daß auch das Umgekehrte der Fall sein kann.The data word that controls this process is then said to be in compressed format, so that the ordinate position of each bit, which is 1 or 0, controls a function. It should also be noted that representing on and off as 1 and 0 is for illustrative purposes only and that the reverse can also be true.

Aus FIGUR 3 ist ersichtlich, daß ein komprimiertes Datenwort 39 Ordinatenpositionen 0 - 31 aufweist, die zu den VRAM-Komponenten übertragen werden müssen, um verschiedene Pixel entsprechend der Ordinatenposition der Daten des Wortes zu steuern. Daher ist das Pixel 0 durch das komprimierte Datenbit 0 zu steuern, während das Pixel 1 durch das komprimierte Datenbit 1 zu steuern ist. Auf diese Weise sollte das komprimierte Datenbit 31 dann das Pixel 31 steuern. Dies ist leichter gesagt als getan.From FIGURE 3, it can be seen that a compressed data word 39 has ordinate positions 0 - 31 that must be transferred to the VRAM components to control different pixels according to the ordinate position of the word's data. Therefore, pixel 0 is to be controlled by compressed data bit 0, while pixel 1 is to be controlled by compressed data bit 1. In this way, compressed data bit 31 should then control pixel 31. This is easier said than done.

Beim Pixel 0 ist dies einfach, da es durch die Leitung 0 der VRAM-Komponente 200 gesteuert wird, die mit dem komprimierten Bit 0 verbunden ist. Das Problem beginnt jedoch beim Bit an der Position 1 des komprimierten Datenworts 39. Wie in FIGUR 2 dargestellt ist, ist dieses nichtkomprimierte Bit mit dem Anschlußstift 1 der VRAM-Komponente 200 verbunden. Wie jedoch vorausgehend erörtert wurde, wird das Bit an der Ordinatenposition 1 der komprimierten Daten verwendet, um das Übertragen der Information aus dem speziellen Register zum Pixel 1 zu steuern. Das Pixel 1 wird wiederum durch eine an die Leitung 1 einer VRAM-Komponente 201 angelegte 1 oder gesteuert. Diese Leitung ist wiederum an die Leitung 4 des Busses 20 angeschlossen. Ein Vergleich der FIGUREN 2 und 3 zeigt, daß die Bitposition 1 des Eingangsdatenwortes in einer Situation zur Leitung 1 des Busses 20 übertragen wird, während sie in der anderen Situation zur Leitung 4 übertragen wird. Es ist daher klar, daß ein Umordnen von Bits erforderlich ist, wenn komprimierte Wörter verwendet werden, um eine Datenübertragung in der Blockschreib-Betriebsart zu steuern.For pixel 0, this is easy because it is controlled by line 0 of VRAM component 200, which is connected to compressed bit 0. However, the problem begins with the bit at position 1 of compressed data word 39. As shown in FIGURE 2, this uncompressed bit is connected to pin 1 of VRAM component 200. However, as previously discussed, the bit at ordinate position 1 of the compressed data is used to control the transfer of information from the special register to pixel 1. Pixel 1, in turn, is controlled by a 1 or applied to line 1 of a VRAM component 201. This line is in turn connected to line 4 of bus 20. A comparison of FIGURES 2 and 3 shows that bit position 1 of the input data word in a situation is transmitted to line 1 of bus 20, while in the other situation it is transmitted to line 4. It is therefore clear that bit reordering is required when compressed words are used to control data transfer in the block write mode.

Dieses Umordnen wird durch eine Mischschaltung 32 erreicht, die zwischen dem Eingang für komprimierte Daten und dem eigentlichen Datenbus angeordnet ist. Die Mischschaltung 32 wird durch den Prozessor gesteuert, um zu ermöglichen, daß Daten direkt hindurchströmen, was die Situation in FIGUR 2 ist, oder um die Leitungen in einem gewissen Muster umzuordnen, wie es für FIGUR 3 erforderlich ist. Diese Anordnung erfordert keine Verarbeitungszeit, um die Informationen umzuordnen, sondern sie legt vielmehr ein Muster fest, das auf dem gegenständlichen Aufbau der Speicherbusanordnung beruht, und bezieht sich jedesmal, wenn ein Blockschreibvorgang aufgerufen wird, auf diesen Aufbau.This reordering is accomplished by a shuffling circuit 32 located between the compressed data input and the actual data bus. The shuffling circuit 32 is controlled by the processor to allow data to flow directly through, which is the situation in FIGURE 2, or to shuffle the lines in some pattern, as is required for FIGURE 3. This arrangement does not require processing time to shuffle the information, but rather establishes a pattern based on the physical design of the memory bus arrangement and refers to that design each time a block write is invoked.

Die Mischschaltung könnte fest verdrahtet sein oder innerhalb oder außerhalb des Prozessors durch Software gesteuert sein.The mixing circuit could be hard-wired or controlled by software inside or outside the processor.

Es sei nun angenommen, daß es erwünscht ist, statt vier Bits pro Pixel acht Bits pro Pixel zu verwenden und einen 32 Bit breiten Datenbus aufrechtzuerhalten. Es sei weiterhin angenommen, daß weiterhin VRAM-Komponenten mit vier Ebenen pro Einheit verwendet werden, wie hinsichtlich FIGUR 1 erörtert wurde. In einer solchen Situation wäre das Umordnen der Bits des komprimierten Wortes anders, als wenn nur vier Bits pro Pixel verwendet würden. Dies ist aus FIGUR 4 leicht ersichtlich, wo die VRAM-Komponenten 200 und 201 nun beide Pixel 0-Informationen aufweisen, während die VRAM-Komponenten 202 und 203 Pixel 1-Informationen aufweisen.Now assume that it is desirable to use eight bits per pixel instead of four bits per pixel and to maintain a 32-bit wide data bus. Assume further that VRAM components with four levels per unit are still used, as discussed with respect to FIGURE 1. In such a situation, the reordering of the bits of the compressed word would be different than if only four bits per pixel were used. This is readily apparent from FIGURE 4, where VRAM components 200 and 201 now both have pixel 0 information, while VRAM components 202 and 203 have pixel 1 information.

Es ergibt sich dann, daß alle anderen Ordinatenpositionen des komprimierten Wortes verschiedenen Leitungen des Busses zugeordnet sind, während das komprimierte Datenbit weiterhin der Leitung 0 der VRAM-Komponente 200 zugeordnet ist. Es sei beispielsweise die Ordinatenposition 2 des komprimierten Wortes herausgegriffen. In FIGUR 3 ist die Ordinatenposition 2 des komprimierten Datenwortes dem Pixel 2 und der Busleitung 8 zugeordnet. In FIGUR 4 ist die Zuordnung jedoch zur Busleitung 16 hergestellt. Dies legt dann getrennte Mischschaltungen für Systeme nahe, bei denen verschiedene Pixelanordnungen auftreten. Da weiterhin die Hälfte eines jeden Pixels in einem getrennten VRAM-Element enthalten ist, werden beide Hälften durch dasselbe Steuerbit für komprimierte Daten gesteuert. Auf diese Weise muß ein jedes Steuerbit für komprimierte Daten einmal für jedes zusätzliche VRAM- Element, das einen Teil eines gegebenen Pixels enthält, dupliziert werden. Dies legt auch verschiedene Mischschaltungen für eine jede Pixelanordnung nahe.It then follows that all other ordinate positions of the compressed word are assigned to different lines of the bus, while the compressed data bit is still assigned to line 0 of the VRAM component 200. For example, let us take ordinate position 2 of the compressed word. In FIGURE 3, ordinate position 2 of the compressed data word is assigned to pixel 2 and to bus line 8. However, in FIGURE 4, the mapping is made to bus line 16. This then suggests separate blending circuits for systems where different pixel arrangements occur. Furthermore, since half of each pixel is contained in a separate VRAM element, both halves are controlled by the same compressed data control bit. In this way, each compressed data control bit must be duplicated once for each additional VRAM element containing part of a given pixel. This also suggests different blending circuits for each pixel arrangement.

Es ist aus FIGUR 4 klar ersichtlich, daß lediglich 16 Bits des komprimierten Wortes alle VRAM-Komponenten in einer 32 Bit breiten Busanordnung steuern, da ein jedes Bit des komprimierten Wortes mit zwei VRAM-Eingängen verbunden ist. Das erste System zur Lösung dieses Problems besteht darin, den 32 Bit breiten Bus aufrechtzuerhalten und zwei Buszyklen zu verwenden, um beide Hälften des 32 Bit umfassenden komprimierten Wortes zu benutzen. Die andere Möglichkeit besteht darin, alle 32 Bits des komprimierten Wortes zu verwenden, wodurch der Datenbus auf 64 Bits erweitert wird.It is clear from FIGURE 4 that only 16 bits of the compressed word control all the VRAM components in a 32 bit wide bus arrangement, since each bit of the compressed word is connected to two VRAM inputs. The first system for solving this problem is to maintain the 32 bit wide bus and use two bus cycles to use both halves of the 32 bit compressed word. The other option is to use all 32 bits of the compressed word, thus expanding the data bus to 64 bits.

In FIGUR 9 ist ein schematisches Diagramm zur Erklärung dafür dargestellt, wie ein einfacher Multiplexer das erforderliche Mischen der Ausgangsbits 0, 1 und 2 zum Unterstützen der 4-Ebenen- und 8-Ebenen-Betriebsarten der bevorzugten Ausführungsform erreicht. In der normalen Betriebsart überträgt die Multiplexerfunktion einfach die entsprechende Bitposition vom Eingang zum Ausgang (d. h. 0 nach 0, 1 nach 1 und 2 nach 2). Für die 4-Ebenen-Betriebsartenauswahl werden die Verbindungen vom Eingang zum Ausgang so vorgenommen, wie in FIGUR 4 dargestellt ist (0 nach 0, 8 nach 1, 16 nach 2). Für die 8-Ebenen-Auswahl werden die Verbindungen so vorgenommen, wie in FIGUR 5 dargestellt ist (0 nach 0, 0 nach 4, 8 nach 2). Natürlich könnten andere Multiplexerfunktionen eingerichtet werden, um andere Anzahlen von Ebenen und unterschiedliche Busorganisationen zu unterstützen.FIGURE 9 is a schematic diagram to explain how a simple multiplexer achieves the required mixing of output bits 0, 1 and 2 to support the 4-level and 8-level modes of operation of the preferred embodiment. In the normal mode of operation, the multiplexer function simply transfers the appropriate bit position from input to output (i.e., 0 to 0, 1 to 1, and 2 to 2). For the 4-level mode selection, the connections from input to output are made as shown in FIGURE 4 (0 to 0, 8 to 1, 16 to 2). For the 8-level selection, the connections are made as shown in FIGURE 5 (0 to 0, 0 to 4, 8 to 2). Of course, other multiplexer functions could be set up to support different numbers of levels and different bus organizations.

Während die Mischfunktion in der bevorzugten Ausführungsform durch eine Multiplexer-Hardwarefunktion vorgenommen wird, könnte eine andere Einrichtung, wie ein Verfahren unter Verwendung einer auf Software beruhenden Nachschlagetabelle, verwendet werden, um das Mischen vorzunehmen.While the mixing function in the preferred embodiment is performed by a multiplexer hardware function another means, such as a method using a software-based lookup table, could be used to perform the mixing.

Aus FIGUR 5 ist ersichtlich, daß das Erweitern des komprimierten Wortes durch Duplizieren eines jeden der Anzahl der für ein Pixel verwendeten VRAM-Komponenten entsprechenden Bits dazu führt, daß dieselbe Mischschaltung für verschiedene Speicher-/Pixelanordnungen verwendet werden kann. Durch diese Lösung, die von der Duplizierungs-/Erweiterungsschaltung 52 ausgeführt wird, werden auch die beiden VRAM-Komponenten eines gegebenen Pixels aktiviert, da die Farbinformation selbst dann an alle Pixelbits übergeben werden muß, wenn diese Bits innerhalb zweier VRAM-Komponenten angeordnet sind.It can be seen from FIGURE 5 that extending the compressed word by duplicating each bit corresponding to the number of VRAM components used for a pixel results in the same blending circuit being able to be used for different memory/pixel arrangements. This solution, implemented by the duplication/extension circuit 52, also enables the two VRAM components of a given pixel since the color information must be passed to all pixel bits even if those bits are located within two VRAM components.

Der Kern dieses Vorgangs besteht darin, daß das Duplizieren und Erweitern vor dem Mischvorgang auftritt, wodurch die gleiche Mischanordnung für beide vorgänge ermöglicht wird. Bei typischen Vorgängen würde die gleiche Anordnung für jedes gegebene System verwendet werden, und es muß daher nur eine Bestimmung des Duplizierungs-/Erweiterungsbedarfs vorgenommen werden. Es können jedoch Situationen auftreten, in denen mehr als eine VRAM-Systemanordnung durch denselben Prozessor gesteuert wird, und es kann so eine dynamische Steuerung erforderlich sein. Dies kann leicht dadurch erreicht werden, daß die Duplizierungs-/Erweiterungsschaltung 52 so eingerichtet wird, daß sie auf einer fallweisen Grundlage unter der Steuerung des Systemprozessors funktioniert.The essence of this operation is that the duplication and expansion occurs before the merging operation, thus allowing the same merging arrangement for both operations. In typical operations the same arrangement would be used for any given system and therefore only one determination of duplication/expansion needs needs to be made. However, situations may arise where more than one VRAM system arrangement is controlled by the same processor and so dynamic control may be required. This can be easily accomplished by arranging the duplication/expansion circuit 52 to operate on a case-by-case basis under the control of the system processor.

Die Duplizierungs-/Erweiterungsschaltung 52 kann jeden Typ einer Registerschaltung oder eines Prozessors annehmen, die oder der Zahlen umordnen und ergänzen kann. Dies kann durch Mikrocode unter der Steuerung des Hauptprozessors oder durch einen speziellen Prozessor betätigt werden oder kann, falls gewünscht, von einem Leitrechner ausgeführt werden. Die von der Schaltung 52 ausgeführte Funktion ist mathematischer Art, und ein Fachmann kann daher leicht zahlreiche Anordnungen ersinnen, um die gewünschte Funktion auszuführen.The duplication/expansion circuit 52 may take any type of register circuit or processor capable of rearranging and adding numbers. This may be operated by microcode under the control of the main processor or by a dedicated processor or may be performed by a host computer if desired. The function performed by the circuit 52 is mathematical in nature and one skilled in the art can therefore easily devise numerous arrangements to perform the desired function.

Die Schaltung 52 kann an ein System anpaßbar sein, um die Duplizierungs- und Erweiterungsfunktion auf einer dynamischen Grundlage, ansprechend auf empfangene Daten oder ansprechend auf ein Flag in einem Register, zu ändern, um ein Ändern der Pixel-/Speicheranordnungen zu ermöglichen. Demnach würden für eine Pixelgröße von 16 Bit und eine VRAM- Komponente mit der in FIGUR 1 dargestellten Größe, nämlich vier Bit, vier VRAM-Komponenten für ein jedes Pixel verwendet werden, und die Erweiterung würde vier Bits ausmachen. Wie in FIGUR 6 dargestellt ist, würden in dieser Situation die Daten eines erweiterten Wortes 61 die Daten der komprimierten Bitordinatenposition 0 aufweisen, nachdem diese zu den Ordinatenpositionen 0, 1, 2, 3 des erweiterten Wortes erweitert wurden. In dieser Situation würden die Daten aus der komprimierten Ordinatenposition 1 zu den Ordinatenbitpositionen 4, 5, 6, 7 usw. erweitert werden.The circuit 52 may be adaptable to a system to change the duplication and extension function on a dynamic basis in response to received data or in response to a flag in a register to allow changing of the pixel/memory arrangements. Thus, for a pixel size of 16 bits and a VRAM component of the size shown in FIGURE 1, namely four bits, four VRAM components would be used for each pixel and the extension would be four bits. As shown in FIGURE 6, in this situation the data of an extended word 61 would comprise the data of compressed bit ordinate position 0 after being expanded to the ordinate positions 0, 1, 2, 3 of the extended word. In this situation, the data would be expanded from the compressed ordinate position 1 to ordinate bit positions 4, 5, 6, 7, etc.

Es ist aus der in FIGUR 7 dargestellten Tabelle ersichtlich, daß die duplizierten Daten an den Eingängen 0, 1, 2, 3 der Mischschaltung zu den Ausgängen 0, 4, 8, 12 übertragen werden. Es ist aus FIGUR 4 ersichtlich, daß diese Ausgänge zu den VRAM-Komponenten 200, 201, 202, 203 übertragen werden, welche die vier VRAM-Komponenten sind, die das Pixel 0 halten, falls dieses Pixel 16 Bit lang ist.It can be seen from the table shown in FIGURE 7 that the duplicated data at inputs 0, 1, 2, 3 of the mixer circuit is transferred to outputs 0, 4, 8, 12. It can be seen from FIGURE 4 that these outputs are transferred to VRAM components 200, 201, 202, 203, which are the four VRAM components that hold pixel 0 if that pixel is 16 bits long.

Das komprimierte Wort wird so in einem Register bereitgestellt, daß es, unabhängig davon, wie viele Bits erweitert werden, für jeden gegebenen Speichertaktzyklus durch alle 32 Bits rotiert werden kann. Dies ermöglicht, unabhängig von der Pixelgröße, eine ununterbrochene Arbeitsweise des Systems. Dies ermöglicht weiterhin eine völlige Flexibilität bei der Speicherung, um an jeder gegebenen Pixelgrenze ein Starten und Stöppen zu ermöglichen.The compressed word is provided in a register so that it can be rotated through all 32 bits for any given memory clock cycle, regardless of how many bits are extended. This allows the system to operate uninterruptedly, regardless of pixel size. This also allows complete flexibility in storage to allow starting and stopping at any given pixel boundary.

In FIGUR 7 ist die Eingangs-/Ausgangsentsprechung bei der Mischschaltung 32 dargestellt, wenn sich diese in der Mischbetriebsart befindet. Es sei darauf hingewiesen, daß jeder Eingang zwei mögliche Ausgänge hat: den dargestellten Mischausgang und den nicht dargestellten durchlaufenden Ausgang. Natürlich ist beim durchlaufenden Ausgang der Eingang 0 mit dem Ausgang 0 verbunden, der Eingang 1 mit dem Ausgang 1 verbunden, der Eingang 2 mit dem Ausgang 2 verbunden usw. Eine Verknüpfungsschaltung wird verwendet, um zwischen der durchlaufenden Anordnung der Mischschaltung und der Mischbetriebsart der Mischschaltung umzuschalten. In FIGUR 8 ist eine Ausführungsform der Mischschaltung 32 dargestellt, wobei die Register 0 und 1 für die Positionen 0 und 1 dargestellt sind.FIGURE 7 shows the input/output correspondence for the mixer circuit 32 when it is in the mixer mode. Note that each input has two possible outputs: the mixer output shown and the pass-through output not shown. Of course, in the pass-through output, input 0 is connected to output 0, input 1 is connected to Output 1 is connected, input 2 is connected to output 2, and so on. A switching circuit is used to switch between the continuous mode of the mixer circuit and the mixer mode of operation of the mixer circuit. FIGURE 8 shows an embodiment of the mixer circuit 32, with registers 0 and 1 being shown for positions 0 and 1.

Wie in FIGUR 8 dargestellt ist, weist der Eingangsbus 32 Leitungen auf, und der Ausgangsbus weist ebenfalls 32 Leitungen auf. Zwischen diesen Leitungen gibt es eine Anzahl von Zwischenspeichergliedern, von denen zwei, 800 und 801, dargestellt sind. Ein einziger Eingang eines jeden Zwischenspeicherglieds ist an eine jeweilige Eingangsbusleitung angeschlossen, und zwei Ausgänge sind an die Durchlaufentsprechung und an die Mischentsprechung gemäß FIGUR 7 angeschlossen. Die Zwischenspeicherglieder laden in direkter Weise Informationen auf den Eingangsbus, nachdem das Signal an der Ladeleitung anliegt. Für die durchlaufende Arbeitsweise wird ein Signal an die REGULÄR-Leitung angelegt, und Ausgaben der Zwischenspeicherglieder werden, wie vorausgehend erwähnt, mit einer Durchlaufentsprechung direkt durch die Mischschaltung getaktet. Wenn die Mischschaltung jedoch in der Mischbetriebsart verwendet wird, wird die MISCH-Leitung mit einem Impuls versehen, um die Ausgänge zu schalten. Beispielsweise ist das Zwischenspeicherglied 801 in der Durchlaufbetriebsart an die Leitung 1 des Ausgangsbusses angeschlossen. Es ist jedoch ersichtlich, daß in der Mischbetriebsart ein anderer Ausgang des Zwischenspeicherglieds 1 an die Leitung 4 des Ausgangsbusses angeschlossen ist. Alle Zwischenspeicherglieder der Mischschaltung 32 sind mit ihrer Entsprechung verdrahtet, so daß die Mischausgangsleitung eines jeden Zwischenspeicherglieds, wie in FIGUR 7 dargestellt, an die Ausgangsbusleitung angeschlossen ist. Diese Anordnung ermöglicht eine wahlweise Steuerung der Mischschaltung 32 in der Durchlaufbetriebsart oder der Mischbetriebsart unter der Steuerung des Systemprozessors.As shown in FIGURE 8, the input bus has 32 lines and the output bus also has 32 lines. Between these lines are a number of latches, two of which, 800 and 801, are shown. A single input of each latch is connected to a respective input bus line and two outputs are connected to the passthrough and the merge circuits of FIGURE 7. The latches load information directly onto the input bus after the signal is applied to the load line. For passthrough operation, a signal is applied to the REGULAR line and outputs of the latches are clocked with a passthrough directly through the merge circuit as previously mentioned. However, when the mixer circuit is used in the mixer mode, the MIX line is pulsed to switch the outputs. For example, in the run through mode, latch 801 is connected to line 1 of the output bus. However, it will be seen that in the mixer mode, another output of latch 1 is connected to line 4 of the output bus. All of the latches of mixer circuit 32 are wired to their counterparts so that the mixer output line of each latch is connected to the output bus line as shown in FIGURE 7. This arrangement allows the mixer circuit 32 to be selectively controlled in the run through mode or the mixer mode under the control of the system processor.

Die in FIGUR 8 dargestellte Schaltung kann so erweitert werden, daß sie die mehreren für die Mischschaltung 42 erforderlichen Mischglieder einschließt. In dieser Situation würde sich eine zusätzliche gesteuerte Ausgangsleitung von einem jeden Zwischenspeicherglied zu einem anderen Ausgang erstrecken. In dieser Betriebsart würde sich ein zweites Mischsteuersignal ausbreiten, um mehrere Ausgänge eines jeden Zwischenspeicherglieds zu steuern, wobei die Anzahl der Vielfachen eine Funktion der Anzahl der VRAM-Komponenten wäre, die die gleiche Pixelinformation aufweisen.The circuit shown in FIGURE 8 can be extended to include the multiple inputs required for the mixing circuit 42 required mixers. In this situation, an additional controlled output line would extend from each latch to another output. In this mode, a second mixer control signal would propagate to control multiple outputs of each latch, the number of multiples being a function of the number of VRAM components having the same pixel information.

Während die hier vorgestellte Schaltung und das hier vorgestellte Verfahren im Hinblick auf die Blockschreib- Arbeitsweise eines Graphikverarbeitungssystems beschrieben wurden, können sie in zahlreichen anderen Situationen verwendet werden, bei denen eine Ordinatenkoordination erforderlich ist, um die gegenständlichen Anpassungen zu steuern. Es sei bemerkt, daß die Schaltung einschließlich der Mischschaltung und des Prozessors auf einem einzigen Chip integriert werden könnte.While the circuit and method presented here have been described in terms of the block-write operation of a graphics processing system, they can be used in numerous other situations where ordinate coordination is required to control the adjustments under consideration. It should be noted that the circuit, including the mixer circuit and the processor, could be integrated on a single chip.

Während in der Erörterung auf die Blockschreib- Betriebsart hinsichtlich VRAM-Komponenten Bezug genommen wurde, ist zu verstehen, daß der gleiche Typ von Speicheroperationen für Speicher verwendet werden könnte, die nicht speziell zur Unterstützung von Videoanwendungen vorgesehen sind.While the discussion referred to block write mode with respect to VRAM components, it is to be understood that the same type of memory operations could be used for memories not specifically designed to support video applications.

Obgleich die vorliegende Erfindung im Hinblick auf eine spezielle bevorzugte Ausführungsform beschrieben wurde, können verschiedene Änderungen und Modifikationen von einem Fachmann vorgeschlagen werden, und es ist beabsichtigt, daß die vorliegende Erfindung diese Änderungen und Modifikationen einschließt, soweit sie innerhalb des Schutzumfangs der beigefügten Ansprüche liegen.Although the present invention has been described with respect to a specific preferred embodiment, various changes and modifications may be suggested by one skilled in the art, and it is intended that the present invention include such changes and modifications provided they come within the scope of the appended claims.

Claims (10)

1. Videographikschaltung mit:1. Video graphics circuit with: mehreren ersten Dateneingangsanschlüssen;a plurality of first data input ports; einem Speicher (200, 201, 207) zum Speichern von Daten, die Pixel eines Bildes repräsentieren, wobei jedes Pixel durch mehrere Bits repräsentiert wird und der Speicher mehrere zweite Dateneingangsanschlüsse aufweist;a memory (200, 201, 207) for storing data representing pixels of an image, each pixel being represented by a plurality of bits and the memory having a plurality of second data input terminals; einer Umordnungsschaltung (32) zum Verbinden der mehreren ersten Dateneingangsanschlüsse mit den mehreren zweiten Dateneingangsanschlüssen in unterschiedlichen Anordnungen abhängig davon, ob die Videographikschaltung entwedera rearrangement circuit (32) for connecting the plurality of first data input terminals to the plurality of second data input terminals in different arrangements depending on whether the video graphics circuit is either in einer ersten Betriebsart, in der Daten, die an den mehreren ersten Dateneingangsanschlüssen vorhanden sind, als Pixelwerte in dem Speicher gespeichert werden, oderin a first operating mode in which data present at the multiple first data input terminals are stored as pixel values in the memory, or in einer zweiten, Blockschreibbetriebsart, in der einzelne Bits der an den mehreren ersten Dateneingangsanschlüssen vorhandenen Daten bestimmen, ob ein in einem Register festgehaltener Wert an entsprechende Pixel in dem Speicher angelegt wird,in a second, block write mode, in which individual bits of the data present at the plurality of first data input terminals determine whether a value held in a register is applied to corresponding pixels in the memory, betrieben werden; undoperated; and einer zwischen den mehrern ersten Dateneingangsanschlüssen und der Umordnungsschaltung angeschlossenen Erweiterungsschaltung (52) zum Reproduzieren von an den ersten Dateneingangsanschlüssen vorhandenen Bits und zum Anlegen der reproduzierten Bits in paralleler Form an die Umordnungsschaltung.an expansion circuit (52) connected between the plurality of first data input terminals and the reordering circuit for reproducing bits present at the first data input terminals and for applying the reproduced bits in parallel form to the reordering circuit. 2. Videographikschaltung nach Anspruch 1, bei welcher die Umordnungsschaltung eine Mischschaltung mit mehreren Eingängen und einer gleichen Anzahl von Ausgängen ist, wobei die Mischschaltung folgendes enthält:2. Video graphics circuit according to claim 1, wherein the rearranging circuit is a mixer circuit with multiple inputs and an equal number of outputs, the mixer circuit comprising: eine ebensolche Anzahl von Zwischenspeichergliedern, von denen jedes einen Eingang und einen oder mehrere Ausgänge steuert; undan equal number of latches, each of which controls one input and one or more outputs; and eine Schaltung zum Steuern, welcher Ausgang mit welchem Eingang an jedem Zeitpunkt verbunden ist.a circuit to control which output is connected to which input at any given time. 3. Videographikschaltung nach Anspruch 1, bei welcher die Umordnungsschaltung eine Multiplexschaltung ist.3. A video graphics circuit according to claim 1, wherein the reordering circuit is a multiplexing circuit. 4. Videographikschaltung nach Anspruch 1, bei welcher die Umordnungsschaltung einen Speicher mit einer Nachschlagetabelle enthält.4. The video graphics circuit of claim 1, wherein the reordering circuit includes a memory with a look-up table. 5. Videographikschaltung nach einem der Ansprüche 1 bis 4, mit einer Schaltungsanordnung zum Verschieben von Bits, die an den ersten Dateneingangsanschlüssen anliegen, vor ihrem Anlegen an die Erweiterungsschaltung.5. Video graphics circuit according to one of claims 1 to 4, with a circuit arrangement for shifting bits which are present at the first data input terminals before they are applied to the expansion circuit. 6. Videographikschaltung nach einem der vorhergehenden Ansprüche, bei welcher der Speicher in Ebenen organisiert ist und Bits eines Pixels in jeweiligen Ebenen gespeichert sind.6. A video graphics circuit according to any preceding claim, wherein the memory is organized into layers and bits of a pixel are stored in respective layers. 7. Videographikschaltung nach Anspruch 6, bei welcher der Speicher eine oder mehrere VRAM-Komponenten enthält.7. The video graphics circuit of claim 6, wherein the memory includes one or more VRAM components. 8. Videographikschaltung nach Anspruch 7, ferner mit einer Schaltungsanordnung zum Bestimmen der Anzahl der VRAM-Komponenten die die gleiche Pixelinformation enthalten und zum Steuern der Erweiterungsschaltung entsprechend dieser Bestimmung.8. Video graphics circuit according to claim 7, further comprising circuitry for determining the number of VRAM components containing the same pixel information and for controlling the expansion circuit according to this determination. 9. Videographikschaltung nach Anspruch 7, bei welcher die Erweiterungsschaltung so angeordnet ist, daß sie die Erweiterung steuert, wenn der Graphikspeicher mit einer Anzahl von VRAM-Komponenten konfiguriert ist, die die Pixel steuern.9. A video graphics circuit as claimed in claim 7, wherein the expansion circuit is arranged to control the expansion when the graphics memory is configured with a number of VRAM components that control the pixels. 10. Graphikverarbeitungssystem mit einer Videographikschaltung nach einem der Ansprüche 1 bis 9.10. A graphics processing system comprising a video graphics circuit according to one of claims 1 to 9.
DE1990629065 1989-07-28 1990-07-27 Logical circuitry and method for reordering for a graphic video display memory Expired - Fee Related DE69029065T2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US38756789A 1989-07-28 1989-07-28
US07/387,568 US5233690A (en) 1989-07-28 1989-07-28 Video graphics display memory swizzle logic and expansion circuit and method

Publications (2)

Publication Number Publication Date
DE69029065D1 DE69029065D1 (en) 1996-12-12
DE69029065T2 true DE69029065T2 (en) 1997-03-06

Family

ID=27011933

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1990629065 Expired - Fee Related DE69029065T2 (en) 1989-07-28 1990-07-27 Logical circuitry and method for reordering for a graphic video display memory

Country Status (3)

Country Link
EP (1) EP0410777B1 (en)
JP (1) JP3085693B2 (en)
DE (1) DE69029065T2 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2067418C (en) * 1991-07-22 1998-05-19 Sung M. Choi Frame buffer organization and control for real-time image decompression
JPH0656546B2 (en) * 1991-07-22 1994-07-27 インターナショナル・ビジネス・マシーンズ・コーポレイション Image buffer
JP2561810B2 (en) * 1994-01-03 1996-12-11 インターナショナル・ビジネス・マシーンズ・コーポレイション Hardware-assisted pixel reformatting during bit boundary block transfers
US6643765B1 (en) 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7203310B2 (en) 2001-12-04 2007-04-10 Microsoft Corporation Methods and systems for cryptographically protecting secure content
US9035168B2 (en) 2011-12-21 2015-05-19 Sunpower Corporation Support for solar energy collectors
US10157060B2 (en) 2011-12-29 2018-12-18 Intel Corporation Method, device and system for control signaling in a data path module of a data stream processing engine
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US10817291B2 (en) * 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
US12086080B2 (en) 2020-09-26 2024-09-10 Intel Corporation Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS63104186A (en) * 1986-10-22 1988-05-09 Matsushita Electric Ind Co Ltd Picture enlarging device
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
US4882683B1 (en) * 1987-03-16 1995-11-07 Fairchild Semiconductor Cellular addrssing permutation bit map raster graphics architecture
US4807189A (en) * 1987-08-05 1989-02-21 Texas Instruments Incorporated Read/write memory having a multiple column select mode

Also Published As

Publication number Publication date
EP0410777A2 (en) 1991-01-30
JPH03156576A (en) 1991-07-04
JP3085693B2 (en) 2000-09-11
EP0410777B1 (en) 1996-11-06
EP0410777A3 (en) 1992-10-28
DE69029065D1 (en) 1996-12-12

Similar Documents

Publication Publication Date Title
DE69029065T2 (en) Logical circuitry and method for reordering for a graphic video display memory
DE3852045T2 (en) Video interface with data flow.
DE3687358T2 (en) IMAGE BUFFER WITH VARIABLE ACCESS.
DE69122226T2 (en) Method and device for arranging access to a VRAM for accelerated writing of vertical lines on a display
DE3751720T2 (en) CIRCUIT FOR DISPLAYING COMPUTERS
DE3687359T2 (en) GRID BUFFER STORAGE.
DE3587750T2 (en) Peripheral device for image storage.
DE3852185T2 (en) Image storage for raster video display.
DE3851285T2 (en) Display control system.
DE3636394C2 (en) Storage organization and procedure
DE3853489T2 (en) Graphic display system.
DE3786125T2 (en) Grid screen control with variable spatial resolution and variable data depth of the picture elements.
DE69417309T2 (en) Method and device for data transfer to memory
DE69018519T2 (en) Computer controlled image overlay.
DE3879637T2 (en) BUFFER STORAGE DEVICE AND METHOD, ESPECIALLY FOR THE MATRIX TRANSPOSITION OF DATA SEQUENCES.
EP0252911B1 (en) Programmable circuit for the control of a liquid crystal indicator
DE68929451T2 (en) Integrated circuit with synchronous semiconductor memory, method for accessing this memory and system with such a memory
DE3716752C2 (en)
DE3587765T2 (en) Device for storing multi-bit picture element data.
DE3713627A1 (en) IMAGE STORAGE CIRCUIT, IN PARTICULAR FOR USE IN ROTATING IMAGE DATA
DE3702613A1 (en) DEVICE FOR MOVING DIGITAL DATA IN A STORAGE OF A DATA PROCESSING SYSTEM
DE3933253A1 (en) DEVICE AND METHOD FOR CARRYING OUT BOOLIAN GRID OPERATIONS ON SOURCE AND TARGET DATA
DE3650508T2 (en) Memory arrangement for simulating a shift register
DE3788049T2 (en) GRAPHIC ADAPTER.
DE3783177T2 (en) SYSTEM FOR IMPROVING THE FUNCTION OF TWO-COLOR DISPLAYS.

Legal Events

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