DE3852989T2 - Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit. - Google Patents
Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit.Info
- Publication number
- DE3852989T2 DE3852989T2 DE3852989T DE3852989T DE3852989T2 DE 3852989 T2 DE3852989 T2 DE 3852989T2 DE 3852989 T DE3852989 T DE 3852989T DE 3852989 T DE3852989 T DE 3852989T DE 3852989 T2 DE3852989 T2 DE 3852989T2
- Authority
- DE
- Germany
- Prior art keywords
- graphics
- memory
- address space
- data processing
- frame buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 33
- 239000000872 buffer Substances 0.000 claims description 110
- 239000011159 matrix material Substances 0.000 claims description 56
- 238000012546 transfer Methods 0.000 claims description 13
- 238000000638 solvent extraction Methods 0.000 claims description 8
- 238000000034 method Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/39—Control of the bit-mapped memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/123—Frame memory handling using interleaving
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
- G09G5/363—Graphics controllers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Memory System (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
Description
- Diese Erfindung betrifft Datenverarbeitungssysteme mit Graphikfähigkeit, und insbesondere eine Speicherarchitektur für ein derartiges Datenverarbeitungssystem.
- In einem Datenverarbeitungssystem mit Graphikfähigkeit gibt ein Systemprozessor, der ein Graphikanwendungsprogramm ausführt, Signale aus, die etwas darstellen, das anzuzeigen ist; diese Darstellung ist im allgemeinen bezüglich der Form abstrakt und exakt. Eine derartige Form ist nicht zur direkten Steuerung eines Anzeigemonitors geeignet; es ist nötig, die relativ abstrakte Darstellung in eine Darstellung zu transformieren, die zum Steuern der Anzeige verwendet werden kann. Eine derartige Transformation wird Graphikübertragung genannt; in einem System, das einen Raster-Anzeigemonitor verwendet, wird die Information, die aus der transformierten Darstellung besteht, Rahmenpuffer genannt.
- Die Rahmenpufferdarstellung muß durch teilweises oder vollständiges nochmaliges Schreiben ihrer Inhalte häufig erneuert werden, um entweder dynamische Aspekte der Anzeige zu berücksichtigen oder um für die Anzeige von Bildern zu sorgen, die von einem unterschiedlichen Anwenderprogramm erzeugt sind. Jede Erneuerungsoperation erfordert einen Zugriff auf den Speicher, in dem eine physikalische Darstellung des Rahmenpuffers gespeichert ist; im allgemeinen muß für jede Erneuerungsoperation auf eine große Anzahl von Stellen in dem Rahmenpufferspeicher zugegriffen werden. Die Geschwindigkeit der Übertragung der Anzeige ist durch das Erfordernis nach einem Zugriff auf den Graphikspeicher eingeschränkt je größer die Anzahl von Bits in dem Graphikspeicher (Rahmenpufferspeicher) ist, die in einer vorgegebenen Zeitperiode gelesen oder geschrieben werden kann (die "Speicher-Bandbreite"), umso besser ist die Graphik-Leistungsfähigkeit. Eine Verwendung eines Zweitor-Video-RAMs hat zugelassen, daß die Erneuerungszugriffe unabhängig von den Auffrischzugriffen weitergehen, was das Erfordernis bezüglich der Erneuerungsbandbreite etwas erleichtert, aber dieser Gesichtspunkt der Graphikoperation bleibt ein Hauptproblem beim Erreichen dynamischer Echtzeitanzeigen.
- Eine Graphikspeicher-Bandbreite hängt von der Anzahl von Speicherpaketen (Chips) ab, die den Graphikspeicher umfassen, multipliziert mit der Anzahl von I/O- Anschlüssen pro Paket. Das Produkt ist die maximal mögliche Anzahl von Bits, auf die bei einer Speichertransaktion zugegriffen werden kann. Eine Bandbreite ist dann eine Funktion dieser maximalen Zahl und der Zeit, die für eine Speichertransaktion erforderlich ist.
- Vom Gesichtspunkt des Erhaltens einer großen Bandbreite aus, ist es daher wünschenswert, eine relativ große Anzahl von I/O-Anschlüssen zu verwenden. Jedoch haben letzte Entwicklungen beim Speicherchip-Aufbau eine wachsende Anzahl von Bits pro Chip ergeben (was "höhere Dichte" genannt wird), während die Anzahl von I/O-Anschlüssen pro Chip relativ konstant geblieben ist. Chips mit höherer Dichte sind weniger teure Elemente als Chips mit niedriger Dichte; weiterhin können Aufbauten, die Chips mit höherer Dichte verwenden, Speicherchips weniger Kartenraum zuordnen, als es durch einen Aufbau erforderlich wäre, der Chips mit niedriger Dichte benutzt, was eine weitere Überlegung zum Erzielen eines ökonomischen Gesamtaufbaus ist. Solche Chips mit hoher Dichte werden daher zum Aufbau bevorzugt gewählt; aber wenn solche Chips benutzt werden, gibt es weniger I/O- Anschlüsse pro Bit als wenn Chips mit niedriger Dichte verwendet werden. Dies resultiert in einer reduzierten Speicher-I/O-Bandbreite, was die graphische Leistungsfähigkeit verschlechtert.
- Wenn zum Erhalten einer ausreichenden Bandbreite mehr Chips verwendet werden, als tatsächlich zum Speichern der Rahmenpuffer-Information benötigt werden, wird effektiv etwas von dem Speicher verschwendet, was die Kosten eines Systems mit solchem Aufbau erhöht.
- Es wäre daher wünschenswert, eine Speicherarchitektur zu schaffen, die eine große Graphikspeicher-Bandbreite bereitstellt, während gleichzeitig effektiv alle Speicherelemente verwendet werden, die zu dem Speicher gehören.
- Wenn eine solche erhöhte Speicherbandbreite die graphische Leistungsfähigkeit verbessern soll, muß sie in einer Form vorgesehen sein, die effizient ausgenutzt werden kann. Viele herkömmliche Graphikübertragungsoperationen werden mittels einer Reihe von Schritten ausgeführt, die in Wirklichkeit äußerst inkremental sind; d.h. der Wert eines bestimmten Rahmenpufferpixels kann nicht erneuert werden (und der Rahmenpufferspeicher kann nicht neu beschrieben werden), bis der erneuerte Wert eines benachbarten Rahmenpufferpixels bekannt ist. Ein Erneuern des Rahmenpuffers, was mittels solcher inkrementalen Operationen ausgeführt wird, erfordert häufige Speichertransaktionen, von denen jede eine relativ kleine Anzahl von Bits enthält. Die Übertragungsleistungsfähigkeit eines solchen Graphiksystems kann verbessert werden durch Erniedrigen der Zeit, die für eine Speichertransaktion erforderlich ist, wird aber durch Erhöhen der Anzahl von Bits, die bei einer Transaktion adressiert werden können, nicht besonders verbessert werden.
- Es besteht daher der Wunsch nach einer Graphikarchitektur, die ein effizientes Ausnutzen der verbesserten Speicherbandbreite zuläßt.
- Es ist eine Aufgabe der vorliegenden Erfindung, eine Speicherarchitektur für ein Datenverarbeitungssystem mit Graphikfähigkeit zu schaffen, das in hohem Maß eine erhöhte Graphikspeicherbandbreite bietet, die zur Verwendung in einem in hohem Maß parallel übertragenden Graphik-Untersystem geeignet ist. Es ist eine weitere Aufgabe, eine derartige Architektur zu schaffen, die relativ ökonomisch zu realisieren ist und daher zur Verwendung in Systemen niedriger Preisklasse geeignet ist. Zusätzlich ist es eine Aufgabe, eine derartige Architektur zu schaffen, die zuläßt, daß von dem System die gesamte Speicherkapazität durch Aufteilen des Speichers zwischen einem Graphikspeicher und einem Systemspeicher ausgenutzt wird. Es ist eine weitere Aufgabe, eine derartige Architektur zu schaffen, die eine flexible (Software-konfigurierbare) Zuordnung des Speichers gemäß den Notwendigkeiten einer bestimmten Anwendung und einer bestimmten Systemkonfiguration zuläßt.
- In der USA 197 590 ist ein Graphikanzeigesystem beschrieben, das eine Speichervorrichtung in Abschnitte aufteilt, von denen jeder einen Untersatz von Daten enthält, der unterschiedlichen Teilen eines anzuzeigenden Bildes entspricht, was einen geteilten Bildschirm und anzuzeigende Zoom-Bilder zuläßt.
- Gemäß der vorliegenden Erfindung ist ein Datenverarbeitungssystem geschaffen, wie es im Anspruch 1 gekennzeichnet ist, und ein Verfahren zum Betreiben eines Datenverarbeitungssystems, wie es im Anspruch 5 gekennzeichnet ist.
- In einem Datenverarbeitungssystem mit einem Prozessor und einem Prozessorbus hat ein Speichermodul gemäß einem Aspekt der Erfindung eine Schnittstelle zum Anschluß an den Prozessorbus, und ein Modulbus ist an die Schnittstelle angeschlossen. Das Modul hat weiterhin K Speicherelemente, von denen jedes eine gleiche Vielzahl von Speicherstellen bietet, die relativ zu einem Elementenursprung adressierbar sind; jedes Speicherelement hat ein serielles Ausgangstor und ein Zufalls-Zugriffstor, wobei das serielle Ausgangstor mit einem Ausgangsschaltkreis zum Anschluß an ein Anzeigegerät verbunden ist.
- Das Modul hat eine Adressiereinrichtung zum Erzeugen einer Stellenadresse relativ zu einem Elementenursprung parallel zu jedem Speicherelement, zum fortlaufenden Adressieren entsprechender Speicherstellen in jedem Speicherelement. Die entsprechenden Stellen bestehen aus einer adressierten Stellenmatrix.
- Ein Controller ist mit dem Modulbus verbunden; das Zufalls-Zugriffstor jedes Speicherelements ist mit dem Controller parallel zu jedem anderen Speicherelement für eine parallele Speicherübertragung von Signalen zwischen dem Controller und den adressierten Matrixstellen verbunden. Die Adressiereinrichtung spricht auf ein Prozessor-Adreßsignal einer ersten Art an zum Erzeugen von Adreßsignalen, die eine Stellenmatrix in einem ersten Satz aneinandergrenzender Speicherelement- Stellen bestimmen, und spricht auf ein Prozessor-Adreßsignal einer zweiten Art zum Erzeugen von Adreßsignalen an, die eine Stellenmatrix in einem zweiten Satz aneinandergrenzender Speicherelement-Stellen bestimmen.
- Bei bevorzugten Ausführungsbeispielen adressieren Prozessor-Adreßsignale der ersten Art einen Systemspeicherraum; der erste Satz von Stellen besteht aus einem Speicher für einen Systemspeicher. Bei einer Prozessor-Systemspeicher-Schreiboperation werden Prozessor-Schreib-Datenwortsignale, die in sequentiellen Modulbuszyklen erzeugt werden, mit dem Controller gemultiplext und werden parallel zu adressierten Matrixstellen in dem Systemspeicher geschrieben. Bei einer Prozessor-Systemspeicher-Leseoperation werden Datenwortsignale parallel von adressierten Matrixstellen im Systemspeicher gelesen und werden in sequentiellen Modulbuszyklen für eine Übertragung zu dem Prozessor zu dem Modulbus gemultiplext.
- Der zweite Satz aneinandergrenzender Stellen besteht aus einem Graphik-Rahmenpufferspeicher zum Speichern der Pixel (x, y) eines X x Y-Rahmenpuffers. Die Verbindungen zwischen den seriellen Speicherelement-Ausgangstoren und der Ausgangsschaltung bilden die Stellen auf den Rahmenpuffer ab. Der Rahmenpufferspeicher ist als eine Vielzahl von Rahmenpuffer-Pixel-Erneuerungsmatrizen adressierbar, wobei jede Matrix einen bestimmen Ursprung in bezug zu dem Rahmenpuffer hat, und wobei jede Stelle durch einen Offset in bezug auf den Matrixursprung adressierbar ist. Die Erneuerungsmatrix besteht aus W x H-Rahmenpufferpixeln, die bei einer parallelen Speichertransaktion gleichzeitig erneuerbar sind; der Satz von Erneuerungsmatrizen deckt den Rahmenpuffer ab. Der Prozessor kann ein Pixel in dem Rahmenpuffer direkt mit einer I/O-Raumadresse adressieren; die Modul-Adressiereinrichtung reagiert durch Erzeugen von Stellen-Adreßsignalen, die einen Matrixursprung bestimmen, und von Maskeninformationssignalen, die einen Offset in der bestimmten Matrix bestimmen. Der Controller reagiert auf die Maskeninformationssignale, um aus den übertragenen Erneuerungsmatrixsignalen Pixelsignale auszuwählen, die durch das Prozessor-Adreßsignal bestimmt sind, oder um Prozessor-Datensignale zu der Stelle zu schreiben, die durch das Prozessor- Adreßsignal bestimmt ist. Die Schnittstelle wählt zwischen Prozessor-Systemspeicher-Operationsanfragen und Controller-Atom-Graphikoperationen. Die Aufteilung zwischen einem Systemspeicher und einem Rahmenpufferspeicher wird durch einen Parameter bestimmt, der in einem beschreibbaren Speicher in dem Prozessor gespeichert ist.
- Gemäß einem weiteren Aspekt der Erfindung werden viele Matrizen aus Speicherelementen durch Mehrfachcontroller unterstützt, um Erneuerungsmatrizen mit Dimensionen zu erzeugen, die größer als die Dimensionen der Speicherelement- Matrix sind, oder um eine Pixeltiefe zu erzeugen, die größer als die Anzahl von Bits ist, die an einer adressierten Stelle in einem Speicherelement gespeichert sind.
- Weitere Gegenstände, Merkmale und Vorteile werden aus der folgenden Beschreibung eines bevorzugten Ausführungsbeispiels im Zusammenhang mit der Zeichnung klar, wobei:
- Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems ist, bei dem die Erfindung verwendet wird;
- Fig. 2 ein Blockdiagramm der Speicherbank des Datenverarbeitungssystems der Fig. 1 ist;
- Fig. 3 ein Konzept ist, das einen Rahmempuffer zeigt, der in der Speicherbank der Fig. 2 dargestellt ist, und ein Pixel davon;
- Fig. 4 eine Darstellung ist, die die Abbildung zwischen einer Speicherchipbank und einem konzeptionellen Rahmenpuffer zeigt;
- Fig. 5 für drei beispielhafte Pixeltiefen die Zuordnung eines Speichers gemäß der Erfindung zeigt;
- Fig. 6 das Format der zwischen dem Untersystembus und dem Speicher der Fig. 1 zu übertragenden Daten bei einer ersten Art einer Speichertransaktion gemäß der Erfindung zeigt;
- Fig. 7 das Format von zwischen dem Speichercontroller und dem Speicher der Fig. 1 zu übertragenden Daten bei einer zweiten Art einer Speichertransaktion gemäß der Erfindung zeigt;
- Fig. 8 einen Abschnitt eines Graphik-Untersystems gemäß der Erfindung zeigt, das viele Speicherbanken und viele Controller aufweist;
- Fig. 9 ein Blockdiagramm eines Speichercontrollers gemäß der Erfindung ist; und
- Fig. 10 und 11 einen bestimmten Abschnitt eines Rahmenpuffers und eine entsprechende Konfiguration des Graphik-Untersystems gemäß einem weiteren Ausführungsbeispiel der Erfindung zeigt.
- Nimmt man nun auf die Zeichnung und insbesondere auf Fig. 1, Bezug, ist ein Graphik-Untersystem 10 (Speichermodul) durch einen Prozessorbus 14 mit einem Tor 52 eines Prozessors 50 verbunden. Der Bus 14 ist geeignet, Signale (die Daten oder eine Adresse bestimmen) zwischen dem Prozessor 50 und dem Untersystem 10 zu führen, und er ist mit dem Untersystem 10 über eine Bus-Schnittstelle 12 verbunden. Ein Untersystem-Datenbus 16 (Modulbus) ist mit der Schnittstelle 12 verbunden. Das Graphik-Untersystem 10 bietet einen Speicher mit einer Bank 20 von K herkömmlichen Zweitor-Video-RAM-Chips, die wünschenswerterweise in einer Matrix A x B = K angeordnet sind. Jeder Chip (Speicherelement) bietet eine gleiche Vielzahl von Speicherstellen, wobei jede Stelle relativ zu dem Chipursprung adressierbar ist. Die Direktzugriffs-Tore der Chips der Bank 20 sind über einen Controller 18 mit dem Untersystembus 16 verbunden. Die seriellen Ausgangstore der Chips der Bank 20 sind bei 150 mit einer Graphik-Ausgangsschaltung 22 verbunden, die auf herkömmliche Weise aufgebaut ist und nicht beschrieben wird; Signale, die von der Schaltung 22 ausgegeben werden, werden mit einem herkömmlichen Raster-Farbanzeigemonitor verbunden, der nicht gezeigt ist. Wie es beschrieben wird, können zusätzliche Banken von Video-RAM-Chips vorgesehen sein.
- Der Prozessor 50 führt ein Graphik-Anwendungsprogramm aus, dessen Details nicht wichtig für die vorliegende Erfindung sind, das aber in der Bestimmung davon resultiert, was anzuzeigen ist. Die anzuzeigenden Bilder werden durch einen Prozessor 50 in einer relativ abstrakten und exakten Form bestimmt, die nicht direkt verwendet werden kann, um den Anzeigemonitor zu steuern. Die Darstellung muß in eine geeignete Form umgewandelt werden, die für einen Raster-Anzeigemonitor als Rahmenpuffer mit einer geordneten Matrix von Rahmenpufferpixeln, von denen jedes einem Anzeigepixel des Anzeigeschirms entspricht, bezeichnet ist. Eine derartige Umwandlung wird Übertragung genannt. In dem Graphik-Untersystem der Fig. 1 arbeitet ein Controller 18, um eine beschleunigte Graphikübertragung zu schaffen, wie es erklärt wird.
- Immer noch bezugnehmend auf Fig. 1 enthält eine Schnittstelle 12 eine Einrichtung zum Durchführen der gewöhnlichen Funktionen einer Busschnittstelle, wie beispielsweise eine Busüberwachung und -unterstützung, ein Busprotokoll, wie auch eine Fehlerdetektion. Für die besondere Funktion des Bildens einer Schnittstelle zwischen einem Bus 14 und dem Graphik-Untersystem 10 bietet die Schnittstelle 12 zusätzlich eine Einrichtung zur Arbitration von Anfragen nach einem Zugriff auf die Speicherbank 20; eine Zeitgabeeinrichtung für den Controller 18, für die Ausgangsschaltung 22, für die Speicherbank 20 und für den Anzeigemonitor; und eine Einrichtung zum Steuern eines Untersystembusses 16.
- Eine Speichermodul-Adressiereinrichtung 17 übersetzt zwischen Prozessoradressen und Speicherchipbankadressen, wie es in größerem Detail beschrieben werden wird, nachdem die Speicherchipbank beschrieben worden ist. In Antwort auf die Adressen von dem Prozessor 50 oder auf die Signale von dem Controller 18 liefert die Adressiereinrichtung 17 Stellenadreßsignale 27 zu der Bank 20 und Maskeninformationssignale zu dem Controller 18. Es sollte verstanden werden, daß, obwohl der Klarheit der Beschreibung halber eine Speichermodul-Adressiereinrichtung in Fig. 1 getrennt von der Schnittstelle 12 und dem Controller 18 gezeigt ist, diese Anordnung nicht bedeutsam ist. Die notwendigen Adressierfunktionen können durch eine Schaltung bereitgestellt werden, die anders aufgeteilt ist, nämlich beispielsweise zwischen der Schnittstelle 12 und dem Controller 18.
- Der durch die Speicherbank 20 bereitgestellte Speicher (zusammen mit anderen Video-RAM-Banken, wenn sie vorgesehen sind), ist zwischen einem Speicher für den Graphik-Rahmenpuffer und einem Systemspeicher (zum Speichern von beispielsweise Programmen) aufgeteilt. Diese Zuordnung ist nicht von der Hardware abhängig, sondern wird durch Software erreicht. Ein Parametersignal, das eine gegenwärtige Speicherzuordnung bestimmt (d.h. die Position der Aufteilung zwischen einem Rahmenpufferspeicher und einem Systemspeicher) ist bei 56 gespeichert. Der Speicher 56 ist beschreibbar. Das Parametersignal kann bei 54 eingegeben werden, und zwar beispielsweise aufgrund einer Ausführung eines Programms durch den Prozessor 50 oder einen anderen Prozessor, oder kann einen Boot-Parameter darstellen. Eine Prozessor-Adressiereinrichtung 58 liefert Adressen zu einem Systemspeicher (in einem Speicherraum) unter Bezugnahme auf den Wert, der bei 56 gespeichert ist; d.h. die Aufteilung eines Speichers zwischen einem Rahmenpufferspeicher und einem Systemspeicher ist dem Prozessor 50 bekannt. Bei dem beschriebenen Ausführungsbeispiel wird eine 32-Bit-Adresse durch den Prozessor 50 erzeugt, deren Wert eines Bits 29 gesetzt ist oder nicht gesetzt ist, um Speicherraum oder I/O-Raumadressen zu bestimmen. Dies ist ein Implementierungsdetail; die Unterscheidung zwischen Adressen für die zwei Adreßräume kann auf irgendeine herkömmliche Weise durchgeführt werden.
- Die Video-RAM-Chips der Bank 20 sind beispielsweise als eine A x B = K-Chipmatrix angeordnet, nämlich beispielsweise, nimmt man nun bei dem beschriebenen Ausführungsbeispiel auf Fig. 2 Bezug, als eine (A = 5) x (B = 4)-Matrix von K = 20 Chips 24, von denen jedes Chip 24 (identifiziert durch seine Chip-Matrixposition als (a, b)) einen parallelen 8-Bit-I/O-Pfad zu dem Controller 18 hat. Eine äquivalente lmplementierung wäre 40 Chips mit jeweils einem parallelen 4-Bit-I/O-Pfad. Es können auch andere Chipmatrix-Dimensionen verwendet werden, wie beispielsweise (A = 4) x (B = 4) mit einem parallelen 8-Bit-I/O-Pfad oder (A = 20) x (B = 1). Die Gesamtanzahl K von Speicherelementen ist das kritische Merkmal, da K x Pfadbreite der Faktor ist, der die Bandbreite beeinflußt. Der Controller 18 hat die Fähigkeit zum parallelen Zug reifen auf (Pfad breite) x A x B Bits, oder für das beschriebene Ausführungsbeispiel auf (8 x 5 x 4) = 160 Bits. Wenn zusätzliche Chipbanken verwendet werden, von denen jede denselben Controller hat, kann durch die gleichzeitige Operation der Mehrfachcontroller auf Vielfache von 160 Bits parallel zugegriffen werden.
- Der Satz entsprechender Stellen in den K Chips (a, b), die durch eine Stellenadresse von der Modul-Adressiereinrichtung 17 bestimmt werden, besteht aus einer adressierten Stellenmatrix.
- Bei einem System, das eine Rasteranzeige verwendet, wird der Rahmenpufferspeicher (und der entsprechende Rahmenpuffer, der eher konzeptionell als physikalisch ist) eines Graphik-Untersystems auf dem Anzeigeschirm abgebildet, und zwar in Ausdrücken von Pixeln (Bildelementen). Der Raster-Anzeigeschirm besteht aus einer rechteckigen Matrix von X x Y-Anzeigepixeln (x, y). Zu irgendeiner bestimmten Zeit zeigt jedes Anzeigepixel eine Farbe an, die durch einen Farbwert bestimmt wird; Signale, die die Bits einer digitalen Darstellung des Farbwerts darstellen, werden in dem Rahmenpufferspeicher bei der (x, y)-Position des Rahmenpufferpixels gespeichert, das dem Anzeigepixel entspricht. Die Anzeige wird durch eine Ausgangsschaltung, wie beispielsweise die Schaltung 22 in Fig. 1, aufgefrischt, die zyklisch Signale von dem Rahmenpufferspeicher liest, die Signale interpretiert und den Anzeigemonitor geeignet steuert, um entsprechende Farben in den Anzeigepixeln anzuzeigen, und zwar alles auf eine Weise, die in der Technik gut verstanden wird. Änderungen der Anzeige werden durch Erneuern der Darstellung von Farbwerten in dem Rahmenpufferspeicher durchgeführt; bei dem nächsten Auffrischzyklus werden diese Änderungen durch entsprechende Änderungen auf dem Anzeigeschirm dargestellt.
- Konzeptionsmäßig werden die Bits mit einem Rahmenpufferpixel x, y (das den Farbwert des Anzeigepixels x, y bestimmt) betrachtet, als wenn sie alle bei der Pixelposition in dem Rahmenpuffer gespeichert wären, der als eine dreidimensionale Konstruktion angesehen wird. Nimmt man nun auf das in Fig. 3 gezeigte Konzept Bezug, besteht ein Rahmenpuffer 26 aus einer Matrix, wobei X Rahmenpufferpixel in Querrichtung und Y Rahmenpufferpixel in vertikaler Richtung angeordnet sind, was den X x Y- Anzeigepixeln der Anzeige entspricht; bei der spezifischen Rahmenpufferposition (x, y) hat der Rahmenpuffer n Bits, die ein Rahmenpufferpixel umfassen. Von dem Rahmenpufferpixel ist angenommen, daß es eine Tiefe n hat.
- Die Information, die bei der Rahmenpufferpixel-Position gespeichert ist, kann als in Puffer aufgeteilt angesehen werden, die getrennt adressierbar sind. Ein Intensitäts- oder I-Puffer ist immer vorgesehen, wobei von diesem Puffer die Auffrischung durchgeführt wird; zusätzliche Puffer (derselben Größe), wie beispielsweise ein Doppelpuffer oder ein Z-Puffer können vorgesehen sein, wie es auf dem Gebiet der Graphik-Technik gut verstanden wird, und zwar für bestimmte Graphikanwendungen. Während die Anzahl von verwendeten Puffern bei den spezifischen Graphikanwendungen variieren kann, und somit eine Sache der Wahl der Software ist, ist die Anzahl von Bits in einem Puffer eine Sache der Wahl der Hardware in dem bestimmten Graphik-Untersystem, und zwar in Abhängigkeit von dem Aufbau der Video-Ausgangsschaltung. Wenn die Puffergröße beispielsweise 8 Bits ist und ein einziger Puffer verwendet wird, ist die Rahmenpuffer-Pixeltiefe n 8; wenn zwei Puffer benutzt werden, beträgt die Rahmenpuffer-Pixeltiefe n 16. Bei einer anderen Hardware kann die Puffergröße derart gewählt werden, daß sie 24 ist (wobei vorausgesetzt ist, daß für eine Rot-, Blau- und Grün-Information jeweils 8 Bits vorgesehen sind); in einem derartigen System hat ein Zweipuffer-Pixel eine Tiefe n von 48. Andere Puffergrößen können vorgesehen sein.
- Die Adressiereinrichtung 17 und der Controller 18 steuern den Speicher der Signale in den A x B - Video-RAM-Chips 24 der Bank 20 in adressierten Matrixstellen derart, daß auf Darstellungen in dem Speicher bestimmter benachbarter Rahmenpufferpixel über den Controller 18 in Antwort auf eine einzelne Stellenadresse relativ zu dem Chipursprung parallel zugegriffen werden kann, die von der Adressiereinrichtung 17 allen Chips parallel zugeführt wird. Insbesondere werden die Rahmenpuffer-Pixelsignale so gespeichert, daß auf eine Erneuerungsmatrix von W x H Pixel parallel zugegriffen werden kann, wobei die Erneuerungsmatrix so bestimmt wird, daß der gesamte X x Y - Rahmenpuffer (und die Anzeige) durch eine Vielzahl solcher W x H Erneuerungsmatrizen mit bestimmten Ursprüngen abgedeckt werden kann. Jede Erneuerungsmatrix kann durch einen Matrixursprung-Identifizierer identifiziert werden. Die Dimensionen W, H der Erneuerungsmatrix müssen nicht gleich den Dimensionen A, B der Chipmatrix sein, wie es beschrieben ist, sondern sind im einfachsten Fall W = A und H = B.
- Die Verbindungen 150 zwischen den seriellen Ausgangstoren der Chips 24 und der Video-Ausgangsschaltung 22 bestimmen die Abbildung zwischen den Chips 24 und dem Anzeigeschirm; d.h. auf die Rahmenpufferpixel in dem Speicher 20, wie sie durch die Abbildung zwischen dem Controller 18 und den Chips 24 angeordnet sind, muß in rasterförmiger Ordnung von (x, y) seriell zugegriffen werden, um die Anzeige aufzufrischen.
- Nimmt man nun auf Fig. 4 Bezug ist mittels einer Darstellung die Abbildung zwischen einem konzeptionellen dreidimensionalen Rahmenpuffer und einer entsprechenden physikalischen Chipbank gezeigt, deren Layout in einer Ebene liegt. (Die bestimmten verwendeten Zahlen sind nicht jene eines realen Graphik-Untersystems, sondern sind gewählt worden, um ein einfaches veranschaulichendes Beispiel zu zeigen.) Ein beispielhafter Rahmenpuffer 26-E hat, wie es gezeigt ist, 100 Rahmenpufferpixel (X = 10) x (Y = 10), wobei jedes Pixel eine beispielhafte Tiefe von n = 4 Bits hat. Die Signale, die den Rahmenpuffer darstellen, sind physikalisch in einer Chipbank 20-E mit einer (A = 5) x (B = 5)-Chipmatrix (K = 25 Chips) gespeichert, die durch einen Controller (nicht gezeigt) gesteuert ist, um einen 4-Bit-Parallelzugriff von dem Controller zu jedem Chip (a, b) in der Chipmatrix 20-E zu erzeugen. Es wird angenommen, daß vier 4-Bit-Pixel in jedem Chip gespeichert werden können, ohne alle Stellen zu besetzen. Somit speichert ein Chip (a = 1, b = 1) der Bank 20-E die vier Bits des Pixels (x = 1, y = 1) an ihrer ersten Stelle; ein Pixel (x = 2, y = 1) ist an der entsprechenden ersten Stelle des Chips (a = 2, b = 1) gespeichert. Diese zwei Pixel sind in der ersten Erneuerungsmatrix, und auf sie kann parallel zugegriffen werden, weil sie in verschiedenen Chips in der Chipmatrix und an entsprechenden Stellen in den jeweiligen Chips sind. Jedoch ist ein Rahmenpufferpixel (x = 1, y = 6) an der dritten Stelle des Chips (a = 1, b = 1) der Bank 20-E gespeichert, so daß darauf nicht parallel zu dem Pixel (x = 1, y = 1) zugegriffen werden kann. Es ist somit zu sehen, daß der Rahmenpuffer 26-E mit vier 5x5- Erneuerungsmatrizen von Rahmenpufferpixeln mit Matrizenursprüngen bei (1,1), (6,1) (1,6) und (6,6) abgedeckt ist, und daß auf die Signale, die alle Rahmenpufferpixel einer Erneuerungsmatrix darstellen und die in dem Graphik-Untersystemspeicher gespeichert sind, bei einer einzigen Speichertransaktion gleichzeitig parallel zugegriffen werden wird, die durch einen einzige Stellenadresse von der Adressiereinrichtung 17 bestimmt ist. In einem tatsächlichen Graphiksystem von Interesse sind viel mehr als vier Erneuerungsmatrizen erforderlich, um die Anzeige abzudekken. Die Rahmenpufferpixel sind in einem Satz aneinandergrenzender Speicherstellen in Chips 24-E gespeichert.
- Es wird gesehen, daß bei der Veranschaulichung, die in Fig. 4 gezeigt ist, die Chips der Chipmatrix 20-E nicht vollständig durch die aneinandergrenzend gespeicherten Signale aufgefüllt sind, die die Pixel des Rahmenpuffers 26-E darstellen. Wie es gezeigt ist, sind in jedem Chip 8 aneinandergrenzende Bits frei. (Diese Zahl gilt lediglich zur Veranschaulichung.) Der Satz aneinandergrenzender freier Stellen von allen Chips der Matrix besteht aus dem Teil der Speicherbank, der als Systemspeicher zugeordnet werden kann.
- Der durch die Chipbank 20 bereitgestellte Speicher kann eher als global in zwei Teile aufgeteilt als chipmäßig in zwei Teile aufgeteilt angesehen werden, wie es in Fig. 4 zu sehen ist. Nimmt man nun Bezug auf Fig. 5 ist der globale Teil des Speichers der Bank 20 für drei verschiedene Konfigurationen C, D und E gezeigt. (Es ist angenommen, daß der Gesamtspeicher konstant bleibt, d.h. die Anzahl von Speicherchips bleibt konstant.) Bei der Konfiguration C, die eine Rahmenpuffer- Pixeltiefe von n1 erfordert (beispielsweise nur einen I-Puffer von N1 Bits), ordnet der Speicher-I/O-Teil einen Hauptteil des Speichers dem Systemspeicher zu. Bei der Konfiguration D ist die Rahmenpuffer-Pixeltiefe n2 2 x n1, was beispielsweise das Verwenden eines Doppelpuffers zusätzlich zu dem I-Puffer zeigt; nur eine Hälfte des Speichers ist dem Systemspeicher zugeordnet. Bei der Konfiguration E ist der gesamte Speicher zur Speicherung des Rahmenpuffers (Pixeltiefe n3 = 2 x n2) erforderlich. Zur Konfiguration E muß ein zusätzlicher Systemspeicher auf einer anderen Karte vorgesehen sein. Fig. 5 veranschaulicht die Tatsache, daß die Rahmenpuffer-Pixeltiefe ein integrales Vielfaches der Puffergröße ist; dementsprechend ist der durch die Chipbank 20 vorgesehene Speicher an einer Puffergrenze aufgeteilt. Der in einer Speichereinrichtung 56 des Prozessors 50 gespeicherte Parameter bestimmt die Position der Speicher-I/O-Aufteilung. Der bei 56 gespeicherte Parameter kann erneut geschrieben werden, und zwar entsprechend einer Änderung bei der Zuordnung des Speichers 20; eine derartige Zuordnung ist daher durch Software konfigurierbar.
- Zusätzliche Banken eines Speichers können bei dem Graphik-Untersystem verwendet werden, und zwar jeweils mit ihrem Controller. Diese zusätzlichen Chipmatrizen und Controller können konfiguriert werden, um eine parallele Erneuerung überlappender Matrizen zu unterstützen, oder um Erneuerungsmatrizen zu unterstützen, die größer als jede Chipmatrix sind.
- Ein Beispiel von überlappenden Matrizen ist in Fig. 8 gezeigt. Drei 5x4-Chipmatrizen sind verwendet, wobei jede einen Controller aufweist: eine Matrix 20-R speichert 8-Bit-Signale zur Steuerung des roten Strahls der Anzeige, eine Matrix 20-G speichert 8-Bit-Signale zur Steuerung des grünen Strahls, und eine Matrix 20-B speichert 8-Bit-Signale zur Steuerung des blauen Strahls. Die in 20-R, 20-G und 20-B gespeicherten Signale bilden gemeinsam die Darstellung des Rahmenpuffers. Die Verbindungen 150-8 zwischen den Chipmatrizen und der Ausgangsschaltung 22-8 sind derart, daß auf die an entsprechenden Stellen in 20-R, 20-B und 20-G gespeicherten Bits durch die Schaltung 22 für eine einzelne Pixeladresse (x, y) seriell zugegriffen wird; die Schaltung 22-8 ist geeignet, ein 24-Bit-Pixel zu unterstützen. Diese Implementierung bietet daher eine Pixeltiefe von 24 Bits, während die Erneuerungsmatrix-Dimensionen (W = 5) x (H = 5) dieselben wie die Chipmatrix-Dimensionen (A = 5) x (B = 5) sind. Jede Chipbank wird durch einen Controller wie den Controller 18 der Fig. 1 und 9 gesteuert. Die Matrizen 20-R, 20-G und 20-B bilden gemeinsam den Untersystemspeicher. In diesem System ist es möglich, bei einer einzigen Speichertransaktion 3 x 160 oder 480 Bits parallel zu erneuern.
- Ein Beispiel, bei dem die Erneuerungsmatrix größer als die Chipmatrix ist, ist in Fig. 10 und Fig. 11 gezeigt. Es ist eine Rahmenpuffer-Erneuerungsmatrix von W x H Pixeln gezeigt, wobei W = 2A und H = 2B gilt. Die Erneuerungsmatrix besteht aus vier Bereichen P, Q, S und T. Die entsprechenden Chipmatrizen und Controller sind in Fig. 11 gezeigt. Jeder Controller 18-P, 18-Q, 18-S, 18-T steuert eine Bank von A x B Chips. Die Verbindungen 150-11 zwischen Chips 20-P, 20-Q, 20-S und 20-T und einer Ausgangsschaltung 22-11 sind derart, daß auf die an entsprechenden Stellen in den vier Chipmatrizen gespeicherten Bits durch die Schaltung 22-11 als W x H Pixel seriell zugegriffen wird. Somit wird bei diesem Ausführungsbeispiel eine Erneuerungsmatrix unterstützt, die größer als die Chipmatrixgröße ist.
- In Fig. 9 bietet der Controller 18 Zustandsmaschinen 100 zum Steuern des Zustands des Controllers; die Zustandsmaschinen 100 empfangen Zeitgabesignale von der Schnittstelle 12 auf Leitungen 80. Die Zustandsmaschinen 100 geben auf Leitung 82 ein Speicherzyklus-REQUEST-Semaphor zu der Schnittstelle 12 aus und empfangen ein GRANT-Semaphor auf 81 von der Schnittstelle 12. Der Controller 18 bietet weiterhin eine Lese-/Schreibfreigabe-Erzeugungseinrichtung 102, die zu jedem der Chips 24 der Bank 20 Lese-/Schreibfreigabesignale auf Leitungen 88 ausgibt, und zwar in Antwort auf eine Prozessor-Schreiboperation oder im Laufe einer Controller-Graphikoperation. Bei dem beschriebenen Ausführungsbeispiel mit einer (A = 5) - x (B = 4) - Chipbank 20 mit 8-Bit-Parallelpfaden werden Daten auf einem 40 Bit Parallelpfad 84 zwischen dem Controller 18 und dem Untersystembus 16 ubertragen, Daten werden auf einem 160 Bit Parallelpfad 86 zwischen dem Controller 18 und der Speicherbank 20 ubertragen.
- Für jedes Speicherchip der Bank 20 stellt der Controller 18 einen internen Prozessor für das Ausführen atomarer Graphikoperationen bereit, wobei die Prozessoren 104 parallel arbeiten. Derartige atomare Graphikoperationen enthalten beispielsweise ein Schreiben einer geometrischen Figur zu dem Rahmenpuffer, ein Bewegen einer Figur von einem Teil des Rahmenpuffers zu einem anderen Teil, ein Ziehen einer Linie und ähnliches. Die Details solcher atomarer Graphikoperationen sind für die vorliegende Erfindung nicht wichtig. Der Controller 18 stellt weiterhin eine Signal-Multiplex-/Demultiplexeinrichtung 106 zum Steuern der Übertragung von Signalen zwischen der Speicherbank 20 und dem Untersystembus 16 bereit und empfängt von der Modul-Adressiereinrichtung 17 Maskeninformationssignale auf 92 für die Steuerung der Multiplexer 106. Der Controller 18 liefert der Modul-Adressiereinrichtung 17 Adreßanfragesignale auf 94, was zu beschreiben ist.
- Bei Mehrfachcontroller-Ausführungsbeispielen wie jenen, die in Fig. 11 gezeigt sind, wird jeder Controller mit Initialisierungssignalen initialisiert, die die Größe der Erneuerungsmatrix (Werte von W und H) und die Position der in der durch den Controller verwalteten Chipbank gespeicherten Pixel in der Erneuerungsmatrix bestimmen. Solche Initialisierungssignale sind bei 107 gespeichert (Fig. 9). Wie es nachfolgend beschrieben ist werden alle Datensignale für atomare Graphikoperationen gemeinsam zu allen Controllern geliefert; jeder Controller interpretiert die Daten einheitlich unter Berücksichtigung seiner gespeicherten Initialisierungssignale. Für Prozessor-Lese-/Schreiboperationen wird entweder von einem Systemspeicher oder von dem Rahmenpufferspeicher von der Modul-Adressiereinrichtung 17 ein Controller-Auswahlsignal 95 zu Zustandsmaschinen 100 ausgegeben.
- Jeder Zugriff auf die Graphik-Untersystem-Speicherbank 20 wird über den Controller 18 ausgeführt; alle Speichertransaktionen werden als Matrix-Zugriffstransaktionen ausgeführt. Drei Arten einer Speichertransaktion sind vorgesehen: eine Prozessor-Systemspeicheroperation, eine Prozessor-Lese-/Schreib-Rahmenpufferoperation, und eine Controller-Atom-Graphikoperation. Eine Schnittstelle 12 wählt unter Anfragen für diese drei Arten eines Zugriffs auf die Speicherbank 20 aus. Operationen des Systemspeichers (höchste Priorität) und des Prozessor- Lese-/Schreib-Rahmenpuffers (nächsthöchste Priorität) werden durch den Prozessor 50 induziert. Atom Graphiktransaktionen mussen, obwohl sie in Antwort auf von dem Prozessor 50 ubertragene Daten durchgefuhrt werden, durch den Controller 18 angefragt werden (Zyklusanfrage auf Leitung 82. In Antwort auf das CYCLE REQUEST-Semaphor liefert die Schnittstelle 12 dann, wenn keine Operation mit einer der zwei höheren Prioritäten anhängig ist, das GRANT-Signal (auf Leitung 81) zu dem Controller 18. Bei Abwesenheit des GRANT-Signals werden die Prozessoren 104 des Controllers 18 nicht freigegeben, so daß der Controller 18 nur als ein Multiplexer arbeitet; wenn das GRANT-Signal erzeugt ist, werden die Prozessoren 104 des Controllers 18 freigegeben.
- Zuerst wird ein Systemspeicherzugriff beschrieben. Bei einer Systemspeicheroperation liest oder beschreibt der Prozessor 50 Stellen in dem Teil der Chipmatrix 20, die als Systemspeicher zugeordnet ist. Bei dem beschriebenen Ausführungsbeispiel sind Daten, die Gegenstand der Systemspeichertransaktionen sind, zwischenspeicherbar und müssen EEC-geschützt werden.
- Zum Ausführen einer Systemspeicheroperation bei dem beschriebenen Ausführungsbeispiel adressiert der Prozessor 50 über seine Adressiereinrichtung 58 und unter Bezugnahme auf das bei 56 gespeicherte Signal Speicherraum, wodurch Signale, die die Speicherraumadresse darstellen, in einem ersten Arbeitszyklus auf einen Bus 14 plaziert werden. Für eine Schreiboperation plaziert der Prozessor 50 während jedes der nächsten vier Zyklen 32 Bits (4 Bytes) der Schreibdatensignale auf dem Bus 14, die in vier Zyklen aus einem 128-Bit-"Octowort" bestehen; für eine Leseoperation werden durch den Prozessor 50 keine Datensignale auf dem Bus 14 plaziert.
- Das Schnittstellenchip 12 erkennt die Adresse als eine Speicherraumadresse mittels des Adreßbits 29 und gibt dieser Operation eine Priorität durch Wegnehmen des GRANT-Signals auf 81. Die Speichermodul-Adressiereinrichtung 17 spricht auf die Prozessor-Speicherraum-Adreßsignale an durch Erzeugen von Stellenadreßsignalen, die zu der Speicherbank 20 eingegeben werden, und (bei einem Mehrfachcontrollersystem wie jenem der Fig. 8 oder der Fig. 11) eines Controller-Auswahlsignals 95. Der ausgewählte Controller erkennt das Controller-Auswahlsignal; andere Controller, wenn vorhanden, sind inaktiv.
- Bei einer Schreiboperation werden in den vier Zyklen nach einer Übertragung der Speicheradresse von dem Prozessor 50 die Schreibdatensignale von dem Prozessor 50 durch die Schnittstelle 12 empfangen. Die Schnittstelle 12 erzeugt ECC- Daten und überträgt die Datensignale in der Form von vier Worten, von denen jedes aus 8 Bits von ECC-Daten und 32 Bits von Schreibdaten (4 Bytes) besteht, auf dem Untersystembus 16. Multiplexer 106 des ausgewählten Controllers werden durch Zustandsmaschinen 100 gesteuert, um die vier aufeinanderfolgend übertragenen Schreibdatenworte zu speichern; ein Schreib-Freigabesignal wird auf 88 zu allen K Chips geliefert; dann werden die vier Schreibworte in einer einzigen Operation durch ausgewählte Controller 18 zu den Stellen in dem Teil des Speichers geschrieben, der dem Systemspeicher zugeordnet ist, wie es durch die Stellenadresse von der Adressiereinrichtung 17 bestimmt ist. In Fig. 6 ist das Format der bei dieser Speichertransaktion übertragenen Daten schematisch gezeigt. Es ist zu sehen, daß die Einheit aus 4 Worten in Ausrichtung mit dem Chipmatrix-Ursprung gespeichert wird.
- Worte 0, 1, 2 und 3 werden in aufeinanderfolgenden Zyklen zul/von dem Bus 16 übertragen; die vier Worte werden bei einer einzigen Transaktion parallel zulvon dem Speicher 20 übertragen. Bei einer Leseoperation liest der Controller 18 die vier Worte von dem Speicher 20 während einer einzigen Speichertransaktion und multiplext dann während jedes der vier sequentiellen Zyklen eines der vier Worte auf den Bus 16, um sie in der richtigen Reihenfolge zu dem Prozessor 50 zu übertragen. Bei einer Schreiboperation empfängt der Controller 18 die vier Worte von dem Bus 16 während vier sequentieller Zyklen und überträgt darauffolgend die vier Worte parallel zu dem Speicher 20 in einer einzigen Speichertransaktion.
- Speicheroperationen der beschriebenen Art erscheinen dem Prozessor 50 nicht so, daß sie in bezug zu einem herkömmlichen Systemspeicher irgendwie unterschiedlich sind.
- Eine zweite Art eines Speicherzugriffs ist ein Zugriff, der für eine "Atom-Graphikoperation" erforderlich ist, die in der Erneuerung einer Matrix von Pixeln in dem Rahmenpuffer resultiert. Ein derartiger Speicherzugriff hat die niedrigste Priorität der drei Arten. Eine Atom-Graphikoperation kann beispielsweise ein Schreiben eines Polygons zu dem Rahmenpuffer sein. Im allgemeinen wird das Polygon durch eine Vielzahl von Erneuerungsmatrizen abgedeckt, was bis zum Ende der Schreiboperation eine entsprechende Anzahl von Speicherzugriffen erfordert. Solche Zugriffe gehen solange weiter, wie das GRANT-Semaphor von der Schnittstelle 12 vorhanden ist; wenn eine Speichertransaktion höherer Priorität durch den Prozessor 50 angefragt wird, wird das GRANT-Semaphor weggenommen, was die Graphikoperation unterbricht.
- Zum Beginnen einer Atom-Graphikoperation adressiert der Prozessor 50 ein Untersystem 10 mit einer I/O-Raumadresse und plaziert Datensignale auf dem Bus 14, was Operationsdaten, wie beispielsweise die x, y-Positionen in dem Rahmenpuffer der Scheitelpunkte eines zu zeichnenden Polygons bestimmt. Die Schnittstelle 12 überträgt die Operations-Datensignale auf dem Untersystembus 16. Die Controller (wenn mehr als einer verwendet wird) empfangen alle dieselben Operations-Datensignale. (In einer Mehrfachprozessor-Umgebung muß der Prozessor, bevor er solche Datensignale übertragen kann, eine "Controlleranforderungs"-Operation ausführen, um festzustellen, ob der Controller eine Operation für einen anderen Prozessor ausführt.)
- Jeder Controller, der eine Chipmatrix unterstützt, in die das Polygon zu schreiben ist, sendet das CYCLE REQUEST-Semaphor zu der Schnittstelle 12; wenn keine Operationen höherer Priorität anhängig sind, erlangt die Schnittstelle 12 Zugriff zu der GRANT-Leitung. Der Controller 18 identifiziert die erste Erneuerungsmatrix, auf die bei der Graphikoperation zuzugreifen ist, und gibt ein Adreß-Anfragesignal zu der Modul-Adressiereinrichtung 17 aus, die eine entsprechende Stellenadresse zu der Chipbank 20 ausgibt. Wenn sie durch Zustandsmaschinen 100 gesteuert werden, führen die Prozessoren 104 jedes Controllers die Graphikoperation bezüglich der Operationsdaten parallel aus; eine Schreib-Freigabe-Erzeugungseinrichtung 102 liefert ein Freigabesignal zu Chips 24. Auf alle Pixel in der adressierten Erneuerungsmatrix wird parallel zugegriffen; jedoch nicht alle Pixelwerte können bei irgendeiner bestimmten Erneuerungsoperation geändert werden. Wiederholte Matrixzugriffe können erforderlich sein, um die Operation zu beenden; in diesem Fall liefert der Controller 18 weiter Adreß-Anfragesignale zu der Adressiereinrichtung 17, was die nächste Erneuerungsmatrix bestimmt, auf die zuzugreifen ist. In Antwort auf das Adreß-Anfragesignal liefert die Einrichtung 17 die nächsten Stellen- Adreßsignale zu dem Speicher 20.
- Es ist zu sehen, daß dieser Operationsmodus effizienten Gebrauch von der bereitgestellten erhöhten Speicherbandbreite macht. Bei einer einzigen Speicherband- Aktion wird auf eine relativ große Anzahl von Bits zugegriffen und sie können erneuert werden, und zwar mittels Übertragungsoperationen, die in Wirklichkeit in hohem Maß parallel verlaufen.
- Auch ein dritter Operationsmodus ist vorgesehen, und zwar zum Ausführen von Graphikoperationen, die nicht gut für die Klasse von Operationen geeignet sind, die durch den Controller 18 ausgeführt werden. Solche Operationen werden am besten dadurch ausgeführt, daß man einen Prozessor 50 bestimmte Pixel in dem Rahmenpuffer lesen und schreiben läßt. In diesem Fall erzeugt eine Adressiereinrichtung 58 des Prozessors 50 eine I/O-Raumadresse, was ein bestimmtes Rahmenpuffer- Pixel (x, y) bestimmt, auf dem Bus 14 plaziert zu werden. Eine solche Prozessor- Rahmenpufferadresse wird als eine Prozessor-Rahmenpuffer-Lese-/Schreib-Adresse (von Rahmenpufferadressen, die als Teil von Atom-Graphikoperations- Befehlen übertragen werden) auf irgendeine angenehme Weise unterschieden, und zwar z.B. durch Übertragen eines Lese- oder Schreibbefehls. Für eine Schreib- Pixeloperation plaziert der Prozessor 50 in dem nächsten Zyklus Schreib-Datensignale auf dem Bus 14. Die Schnittstelle 12 erkennt die I/O-Adresse als eine Speichermodul-Operation hoher Priorität bestimmend und nimmt ein GRANT-Signal weg. Die Speichermodul-Adressiereinrichtung 17 spricht auf die Prozessor I/O- Adresse durch Erzeugen einer Adresse an, die als eine Stellenadresse ausgedrückt ist (was einen Erneuerungsmatrix-Ursprung bestimmt), die bei 27 zu der Speicherbank 20 übertragen wird, und von Maskeninformationssignalen (was einen Offset in der Matrix bestimmt), die bei 92 zu Demultiplexern 106 des Controllers 18 übertragen werden.
- Bei einem Schreiben des Prozessors zu dem Rahmenpuffer werden Schreib-Datensignale auf den Modulbus 16 übertragen. Wenn er durch Zustandsmaschinen 100 gesteuert wird, greift der Controller 18 parallel auf alle Pixel in der identifizierten Erneuerungsmatrix zu, die durch die Stellenadresse bestimmt ist; die Multiplexer 106 multiplexen in Antwort auf eine Maskeninformationseingabe bei 92 die Schreib- Datensignale in die bestimmte Stelle, die durch den Offset bestimmt ist. Der Prozessor 50 kann ein ausgewähltes Pixel auf gleiche Weise lesen.
- Aus dieser Beschreibung wird klar, daß der Controller 18 in allen Operationsmoden immer parallel auf eine Matrix von Speicherstellen in dem Speicher 20 zugreift, die durch eine Stellenadresse relativ zu einem Chipursprung bestimmt sind, und zwar auch in Fällen (wie dann, wenn der Prozessor 50 ein Pixel liest oder schreibt), wo weniger als alle Stellen von Interesse sind.
- In einem Systemspeicher zu speichernde Daten sind wünschenswerterweise ECC- geschützt, wohingegen Rahmenpufferdaten im allgemeinen nicht so geschützt sind. Bei dem beschriebenen Ausführungsbeispiel ist daher eine (A = 5 x B = 4)-Chipmatrix besonders angenehm für ein flexibles Aufteilen zwischen einem Systemspeicher und einem Rahmenpufferspeicher, da vier 4-Byte-Worte jeweils mit einem Byte von ECC-Daten genau in die Chipmatrix passen, während eine (W= 5 x H = 4)-Erneuerungsmatrix angenehmerweise durch dieselbe Chipmatrix unterstützt wird. Jedoch können bei bestimmten Implementierungen, bei denen Schreib- und ECC-Daten unterschiedlich formatiert werden, andere Chipmatrix-Dimensionen geeignet sein.
- Die Speicherarchitektur der vorliegenden Erfindung ist insbesondere Vorteilhaft für ein Datenverarbeitungssystem, das kommerziell in einer Vielzahl von Konfigurationen geliefert wird, da das einfachste System nur eine einzige Speicherkarte haben muß, die sowohl den System- als auch den Rahmenpufferspeicher bereitstellt. Ein derartiges System ist relativ ökonomisch für die Graphikleistungsfähigkeit, die erhalten wird. Wenn dem System ein zusätzlicher Speicher hinzugefügt wird, ist keine Hardwareänderung zum nochmaligen Zuordnen des Speichers der ursprünglichen Speicherkarte erforderlich, um vollständig zu dem Rahmenpufferspeicher zu gehören, wenn es gewünscht wird. Durch die vorliegende Erfindung ist auch eine erneute Zuordnung des Speichers bei Anwendungsänderungen leicht durchführbar.
Claims (7)
1. Datenverarbeitungssystem, das folgendes aufweist:
eine Datenverarbeitungseinhelt (50);
ein Speichermodul (20);
eine Aufteilungseinrichtung (56), die mit der
Datenverarbeitungseinheit gekoppelt ist, zum Speichern eines
Grenzadressenwerts; und
ein Graphik-Untersystem (10), das mit der
Datenverarbeitungseinheit gekoppelt ist;
dadurch gekennzeichnet, daß
das Speichermodul (20) eine Matrix von K Speicherelementen (24)
enthält, auf die gleichzeitig zugreifbar ist, wobei jedes
Speicherelement eine Vielzahl von Datenwerten an bestimmten
Adreßstellen in einem vorbestimmten Adreßraum speichert, wobei der
vorbestimmte Adreßraum in zwei Teile einschließlich eines
Graphik-Adreßraums und eines Systemspeicher-Adreßraums
aufgeteilt ist, wobei K eine ganze Zahl mit einem Wert von wenigstens
vier ist;
der Grenzadressenwert, der in der Aufteilungseinrichtung
gespeichert ist, eine Grenze zwischen dem Graphik-Adreßraum und dem
Systemspeicher-Adreßraum bezeichnet; und
das Graphik-Untersystem (10) folgendes enthält:
einen Satz von K parallelen Graphik-Prozessoren (104), die
mit der Datenverarbeitungseinhelt und dem Speichermodul
gekoppelt sind, zum Speichern und Erneuern von Pixelwerten, die
Pixel (x, y) eines X x Y - Raster-Rahmenpuffers (26) in dem
Graphik-Adreßraum des Speichermoduls bestimmen, wobei der
Satz von K parallelen Graphik-Prozessoren (104), der mit den
K Speicherelementen (24) zum gleichzeitigen Zugreifen auf
eine und zum Erneuern einer Erneuerungsmatrix von K
Pixelwerten gekoppelt ist, wobei der Rahmenpuffer als eine
Vielzahl von Erneuerungsmatrizen sequentiell adressierbar
ist, die den Rähmenpuffer abdecken, einschließlich einer
Vielzahl von horizontalen Reihen der Erneuerungsmatrizen, die
eine Matrix der Erneuerungsmatrizen bilden; und
eine Systemspeicher-Zugriffseinrichtung (12, 17, 18) zum
besen und Speichern von Daten in bestimmten Adreßstellen in dem
Systemspeicher-Adreßraum des Speichermoduls und zum
Übertragen der gelesenen und gespeicherten Daten zu und von der
Datenverarbeitungseinheit;
wobei jedes der K Speicherelemente eine Vielzahl von
Datenwerten an Stellen in dem Graphik-Adreßraum und eine Vielzahl
von Datenwerten in Stellen in dem Systemspeicher-Adreßraum
speichert.
2. Datenverarbeitungssystem nach Anspruch 1, weiterhin dadurch
gekennzeichnet, daß
die Datenverarbeitungseinheit (50) eine Einrichtung zum Senden
von Befehlen zu dem Graphik-Untersystem (10) enthält, wobei die
Befehle Systemspeicher-Zugriffsbefehle und Graphikbefehle
enthalten;
das Graphik-Untersystem (10) eine Schnittstelleneinrichtung (12)
enthält, die mit der Datenverarbeitungseinheit (50), den
Graphik-Prozessoren und der Systemspeicher- Zugriffseinrichtung
gekoppelt ist, zum Empfangen von Befehlen von der
Datenverarbeitungseinheit, zum Übertragen von Graphik-Befehlen zu dem
Graphik-Untersystem und zum Übertragen von Systemspeicher-
Zugriffsbefehlen zu der Systemspeicher-Zugriffseinrichtung.
3. Datenverarbeitungssystem nach Anspruch 1 oder 2, weiterhin
dadurch gekennzeichnet, daß
der Graphik-Adreßraum und der Systemspeicher-Adreßraum Größen
haben, die durch den Grenzadressenwert definiert sind, der in
der Aufteilungseinrichtung (56) gespeichert ist; und die
Datenverarbeitungseinheit (50) eine Einrichtung enthält zum Ändern
des Grenzadressenwerts, der in der Aufteilungseinrichtung
gespeichert ist, und dadurch die Adreßraumgrößen des Graphik-
Adreßraums und des Systemspeicher-Adreßraums ändert.
4. Datenverarbeitungssystem nach Anspruch 1, weiterhin dadurch
gekennzeichnet, daß
das Graphik-Untersystem (10) eine Ausgangsschaltung (22) enthält
zum Zugreifen auf den X x Y - Raster-Rahmenpuffer (26) in dem
Graphik-Adreßraum des Speichermoduls und zum Ausgeben
entsprechenden Anzeige-Steuersignale zu einer Anzeigevorrichtung.
5. Verfahren zum Betreiben eines Datenverarbeitungssystems mit
einer Datenverarbeitungseinheit (50), einem Speichermodul (20),
einer Aufteilungseinrichtung (56), die mit der
Datenverarbeitungseinheit gekoppelt ist, zum Speichern eines
Grenzadressenwerts, und einem Graphik-Untersystem (10), das mit der
Datenverarbeitungseinheit gekoppelt ist, wobei das Verfahren folgendes
aufweist:
Speichern von Graphikdaten in dem Speichermodul; und
Zugreifen auf die Graphikdaten in dem Speichermodul und Ausgeben
entsprechender Anzeige-Steuersignale zu einer
Anzeigevorrichtung;
gekennzeichnet durch
Bereitstellen des Speichermoduls (20) als eine Matrix von K
Speicherelementen (24), auf die gleichzeitig zugreifbar ist,
wobei jedes Speicherelement eine Vielzahl von Datenwerten an
bestimmten Adreßstellen in einem vorbestimmten Adreßraum
speichert, wobei K eine ganze Zahl mit einem Wert von wenigstens
vier ist;
Aufteilen des vorbestimmten Adreßraums in zwei Teile
einschließlich eines Graphik-Adreßraums und eines Systemspeicher-
Adreßraums durch Speichern des Grenzadressenwerts in der
Aufteilungseinrichtung, der eine Grenze zwischen dem Graphik-Adreßraum
und dem Systemspeicher-Adreßraum bezeichnet;
Bereitstellen eines Satzes von K parallelen Graphik-Prozessoren
(104) in dem Graphik-Untersystem (10), die mit der
Datenverabeitungseinheit und K Speicherlementen (24) gekoppelt sind, zum
Speichern und Erneuern von Pixelwerten, die Pixel (x, y) eines X
x Y - Raster-Rahmenpuffers (26) in dem Graphik-Adreßraum des
Speichermoduls bestimmen; wobei der Rahmenpuffer als eine
Vielzahl von Erneuerungsmatrizen sequentiell adressierbar ist, die
den Rahmenpuffer abdecken, einschließlich einer Vielzahl von
horizontalen Reihen von Erneuerungsmatrizen, die eine Matrix der
Erneuerungsmatrizen bilden;
wobei der Satz von K parallelen Graphik-Prozessoren (104), die
mit den K Speicherelementen (24) gekoppelt sind, gleichzeitig
auf eine Erneuerungsmatrix von K Pixelwerten zugreifen und sie
erneuern; und
Lesen und Speichern von Daten in bestimmten Adreßstellen in dem
Systemspeicher-Adreßraum des Speichermoduls und Übertragen der
gelesenen und gespeicherten Daten zu und von der
Datenverarbeitungseinheit;
wobei jedes der K Speicherelemente eine Vielzahl von Datenwerten
an Stellen in dem Graphik-Adreßraum und eine Vielzahl von
Datenwerten in Stellen in dem Systemspeicher-Adreßraum speichert.
6. Verfahren nach Anspruch 5, weiterhin dadurch gekennzeichnet, daß
die Datenverarbeitungseinheit (50) Befehle zu dem Graphik-
Untersystem (10) sendet, wobei die Befehle Systemspeicher-
Zugriffsbefehle und Graphikbefehle enthalten;
das Graphik-Untersystem (10) die Befehle von der
Datenverarbeitungseinheit empfängt, die Graphikbefehle zu dem Graphik-
Untersystem uberträgt und auf Systemspeicher-Zugriffsbefehle
durch Lesen und Speichern von Daten in bestimmten Adreßstellen
in dem Systemspeicher-Adreßraum des Speichermoduls antwortet und
die gelesenen und gespeicherten Daten zu und von der
Datenverarbeitungseinheit überträgt.
7. Verfahren nach Anspruch 5 oder 6, weiterhin dadurch
gekennzeichnet, daß
der Graphik-Adreßraum und der Systemspeicher-Adreßraum Größen
haben, die durch den in der Aufteilungseinrichtung (56)
gespeicherten Grenzadressenwert definiert sind;
die Grenzadressenwerte, die in der Aufteilungseinrichtung
gespeichert sind, geändert werden und dadurch die Adreßraumgrößen
des Graphik-Adreßraums und des Systemspeicher-Adreßraums
geändert werden.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/124,897 US4953101A (en) | 1987-11-24 | 1987-11-24 | Software configurable memory architecture for data processing system having graphics capability |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE3852989D1 DE3852989D1 (de) | 1995-03-23 |
| DE3852989T2 true DE3852989T2 (de) | 1995-10-12 |
Family
ID=22417328
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE3852989T Expired - Fee Related DE3852989T2 (de) | 1987-11-24 | 1988-11-23 | Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit. |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US4953101A (de) |
| EP (1) | EP0318259B1 (de) |
| JP (1) | JP2683564B2 (de) |
| CA (1) | CA1312963C (de) |
| DE (1) | DE3852989T2 (de) |
Families Citing this family (40)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5287450A (en) * | 1988-09-29 | 1994-02-15 | Mitsubishi Denki Kabushiki Kaisha | Video signal brancher |
| US5197140A (en) * | 1989-11-17 | 1993-03-23 | Texas Instruments Incorporated | Sliced addressing multi-processor and method of operation |
| US5218678A (en) * | 1989-11-17 | 1993-06-08 | Digital Equipment Corporation | System and method for atomic access to an input/output device with direct memory access |
| US5287452A (en) * | 1990-03-23 | 1994-02-15 | Eastman Kodak Company | Bus caching computer display system |
| JP3350043B2 (ja) | 1990-07-27 | 2002-11-25 | 株式会社日立製作所 | 図形処理装置及び図形処理方法 |
| DK0575346T3 (da) * | 1990-11-30 | 2001-12-03 | Sun Microsystems Inc | Fremgangsmåde og apparatur til frembringelse af grafiske billeder |
| CA2070934C (en) * | 1992-06-10 | 1998-05-05 | Benny Chi Wah Lau | Graphics display system |
| US5404448A (en) * | 1992-08-12 | 1995-04-04 | International Business Machines Corporation | Multi-pixel access memory system |
| US5404437A (en) * | 1992-11-10 | 1995-04-04 | Sigma Designs, Inc. | Mixing of computer graphics and animation sequences |
| US6116768A (en) * | 1993-11-30 | 2000-09-12 | Texas Instruments Incorporated | Three input arithmetic logic unit with barrel rotator |
| KR960706657A (ko) * | 1993-11-30 | 1996-12-09 | 토마스 씨. 토코스 | 공유 메모리 시스템에서의 병행 동작을 가능하게 하고 최대화하는 방법 및 장치(method and apparatus for providing and maximizing concurrent operations in a shared memory system) |
| WO1995015528A1 (en) * | 1993-11-30 | 1995-06-08 | Vlsi Technology, Inc. | A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade |
| US5515107A (en) * | 1994-03-30 | 1996-05-07 | Sigma Designs, Incorporated | Method of encoding a stream of motion picture data |
| US5598576A (en) * | 1994-03-30 | 1997-01-28 | Sigma Designs, Incorporated | Audio output device having digital signal processor for responding to commands issued by processor by emulating designated functions according to common command interface |
| US5528309A (en) | 1994-06-28 | 1996-06-18 | Sigma Designs, Incorporated | Analog video chromakey mixer |
| TW399189B (en) * | 1994-10-13 | 2000-07-21 | Yamaha Corp | Control device for the image display |
| US5513318A (en) * | 1994-12-28 | 1996-04-30 | At&T Corp. | Method for built-in self-testing of ring-address FIFOs |
| US5790881A (en) * | 1995-02-07 | 1998-08-04 | Sigma Designs, Inc. | Computer system including coprocessor devices simulating memory interfaces |
| TW335466B (en) * | 1995-02-28 | 1998-07-01 | Hitachi Ltd | Data processor and shade processor |
| US5767866A (en) * | 1995-06-07 | 1998-06-16 | Seiko Epson Corporation | Computer system with efficient DRAM access |
| US6204864B1 (en) | 1995-06-07 | 2001-03-20 | Seiko Epson Corporation | Apparatus and method having improved memory controller request handler |
| US5872998A (en) * | 1995-11-21 | 1999-02-16 | Seiko Epson Corporation | System using a primary bridge to recapture shared portion of a peripheral memory of a peripheral device to provide plug and play capability |
| US5719511A (en) * | 1996-01-31 | 1998-02-17 | Sigma Designs, Inc. | Circuit for generating an output signal synchronized to an input signal |
| US5748203A (en) * | 1996-03-04 | 1998-05-05 | United Microelectronics Corporation | Computer system architecture that incorporates display memory into system memory |
| US6128726A (en) | 1996-06-04 | 2000-10-03 | Sigma Designs, Inc. | Accurate high speed digital signal processor |
| US5818468A (en) * | 1996-06-04 | 1998-10-06 | Sigma Designs, Inc. | Decoding video signals at high speed using a memory buffer |
| US6940496B1 (en) * | 1998-06-04 | 2005-09-06 | Silicon, Image, Inc. | Display module driving system and digital to analog converter for driving display |
| US6145033A (en) * | 1998-07-17 | 2000-11-07 | Seiko Epson Corporation | Management of display FIFO requests for DRAM access wherein low priority requests are initiated when FIFO level is below/equal to high threshold value |
| US6119207A (en) * | 1998-08-20 | 2000-09-12 | Seiko Epson Corporation | Low priority FIFO request assignment for DRAM access |
| US6819321B1 (en) * | 2000-03-31 | 2004-11-16 | Intel Corporation | Method and apparatus for processing 2D operations in a tiled graphics architecture |
| US6611469B2 (en) | 2001-12-11 | 2003-08-26 | Texas Instruments Incorporated | Asynchronous FIFO memory having built-in self test logic |
| US20060177122A1 (en) * | 2005-02-07 | 2006-08-10 | Sony Computer Entertainment Inc. | Method and apparatus for particle manipulation using graphics processing |
| US7627723B1 (en) * | 2006-09-21 | 2009-12-01 | Nvidia Corporation | Atomic memory operators in a parallel processor |
| US9513905B2 (en) | 2008-03-28 | 2016-12-06 | Intel Corporation | Vector instructions to enable efficient synchronization and parallel reduction operations |
| US8688957B2 (en) | 2010-12-21 | 2014-04-01 | Intel Corporation | Mechanism for conflict detection using SIMD |
| US9411592B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Vector address conflict resolution with vector population count functionality |
| US9411584B2 (en) | 2012-12-29 | 2016-08-09 | Intel Corporation | Methods, apparatus, instructions, and logic to provide vector address conflict detection functionality |
| WO2018123801A1 (ja) * | 2016-12-28 | 2018-07-05 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 三次元モデル配信方法、三次元モデル受信方法、三次元モデル配信装置及び三次元モデル受信装置 |
| WO2023038790A1 (en) * | 2021-09-07 | 2023-03-16 | Rambus Inc. | Common data strobe among multiple memory devices |
| CN117935707A (zh) * | 2022-10-25 | 2024-04-26 | 华为技术有限公司 | 驱动芯片及电子设备 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3328768A (en) * | 1964-04-06 | 1967-06-27 | Ibm | Storage protection systems |
| US4197590A (en) * | 1976-01-19 | 1980-04-08 | Nugraphics, Inc. | Method for dynamically viewing image elements stored in a random access memory array |
| US4092728A (en) * | 1976-11-29 | 1978-05-30 | Rca Corporation | Parallel access memory system |
| US4432067A (en) * | 1981-05-07 | 1984-02-14 | Atari, Inc. | Memory cartridge for video game system |
| US4608632A (en) * | 1983-08-12 | 1986-08-26 | International Business Machines Corporation | Memory paging system in a microcomputer |
| DE3584903D1 (de) * | 1984-03-28 | 1992-01-30 | Toshiba Kawasaki Kk | Speichersteueranordnung fuer ein kathodenstrahlanzeigesteuergeraet. |
| EP0245564B1 (de) * | 1986-05-06 | 1992-03-11 | Digital Equipment Corporation | Multi-Port-Speicher und Quelleneinrichtung für Bildpunktinformation |
| US4773044A (en) * | 1986-11-21 | 1988-09-20 | Advanced Micro Devices, Inc | Array-word-organized display memory and address generator with time-multiplexed address bus |
-
1987
- 1987-11-24 US US07/124,897 patent/US4953101A/en not_active Expired - Lifetime
-
1988
- 1988-11-23 DE DE3852989T patent/DE3852989T2/de not_active Expired - Fee Related
- 1988-11-23 CA CA000583846A patent/CA1312963C/en not_active Expired - Fee Related
- 1988-11-23 EP EP88311067A patent/EP0318259B1/de not_active Expired - Lifetime
- 1988-11-24 JP JP63297175A patent/JP2683564B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| DE3852989D1 (de) | 1995-03-23 |
| EP0318259A2 (de) | 1989-05-31 |
| CA1312963C (en) | 1993-01-19 |
| EP0318259A3 (de) | 1991-07-24 |
| US4953101A (en) | 1990-08-28 |
| EP0318259B1 (de) | 1995-02-08 |
| JP2683564B2 (ja) | 1997-12-03 |
| JPH01302442A (ja) | 1989-12-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE3852989T2 (de) | Software-konfigurierbarer Speicher für ein Datenverarbeitungssystem mit graphischer Tätigkeit. | |
| DE69119630T2 (de) | Verfahren und Einrichtung zur Maximierung von Spaltenadressenkohärenz für den Zugriff von seriellen und Direktzugriffstoren in einem graphischen System mit einem Rasterpufferspeicher | |
| DE69609974T2 (de) | Rechnersystem mit zwei anzeigeeinheiten , die gleichzeitig verschiedene anzeigebilder darstellen | |
| DE3852185T2 (de) | Bildspeicher für Raster-Video-Anzeige. | |
| DE69315794T2 (de) | Verfahren und Einrichtung zur Steuerung einer Anzeige | |
| EP0038411B1 (de) | Einrichtung zur Speicherung und Darstellung graphischer Information | |
| DE3587750T2 (de) | Peripheriegerät für Bildspeicher. | |
| DE69016697T2 (de) | Video-Direktzugriffsspeicher. | |
| DE3880343T2 (de) | Video-ram mit vielfachen ebenen. | |
| DE69521953T2 (de) | Organisation eines Z-Puffer-Etikettenspeichers | |
| DE3346816A1 (de) | Sichtanzeigeanordnung fuer verschiedenartige zeicheninformationen | |
| DE3588186T2 (de) | Halbleiterspeicher mit Serienzugriff | |
| DE69113384T2 (de) | Linearisierung von physisch isolierten Speicherfragmenten. | |
| DE10101073A1 (de) | Bildaufbereitungsvorrichtung mit niedrigeren Speicherkapazitätsanforderungen und Verfahren dafür | |
| DE69222706T2 (de) | Speichersteueranordnung | |
| DE3587744T2 (de) | Steuerlogik für ein Videosystem mit einer Schaltung, welche die Zeilenadresse ausser Kraft setzt. | |
| DE68925569T2 (de) | Dynamischer Video-RAM-Speicher | |
| DE3889557T2 (de) | Vektorgenerator für Raster-Bildschirmanzeige. | |
| DE3850389T2 (de) | Verfahren zum unterteilen einer figur in bereiche in einem graphischen anzeigesystem. | |
| DE3225401A1 (de) | Speicherzugriffs-steuereinrichtung in kombination mit einer zentralen verarbeitungseinheit | |
| DE69221220T2 (de) | Verfahren zur Zuteilung von Speicherplätzen ausserhalb des Bildschirms | |
| DE69802041T2 (de) | Graphisches Verarbeitungsgerät und -verfahren | |
| DE3786225T2 (de) | Bildbehandlungsvorrichtung. | |
| DE69534890T2 (de) | Verfahren zum schnellen Ausmalen und Kopieren von Bildelementen kurzer Wortlänge in einem breiteren Rasterpufferspeicher | |
| DE3685857T2 (de) | Plasmabildschirmanzeigesysteme. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8328 | Change in the person/name/address of the agent |
Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN |
|
| 8339 | Ceased/non-payment of the annual fee |