DE3688513T2 - Bit-adressierbares mehrdimensionales Netz. - Google Patents
Bit-adressierbares mehrdimensionales Netz.Info
- Publication number
- DE3688513T2 DE3688513T2 DE86100033T DE3688513T DE3688513T2 DE 3688513 T2 DE3688513 T2 DE 3688513T2 DE 86100033 T DE86100033 T DE 86100033T DE 3688513 T DE3688513 T DE 3688513T DE 3688513 T2 DE3688513 T2 DE 3688513T2
- Authority
- DE
- Germany
- Prior art keywords
- value
- memory
- module
- memory array
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Controls And Circuits For Display Device (AREA)
- Dram (AREA)
- Image Input (AREA)
Description
- Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Zugriff auf Informationen innerhalb eines zweidimensionalen Speicherfeldes, das mit einem Anzeigegerät verbunden ist.
- Typische Informationsverarbeitungssysteme beinhalten ein oder mehrere Bildschirmgeräte zur visuellen Ausgabe von Informationen. Diese visuelle Ausgabe erfolgt in Form von Bildern. Ein derartiges Bild kann als zweidimensionales Feld von Bildpunkten aufgefaßt werden, die repräsentiert werden durch gespeicherte Bitwerte auf einer vorbestimmten Position innerhalb eines Speicherfeldes, das aus Spalten und Zeilen aufgebaut ist, welche wiederum durch Speichermodule bzw. Schaltkreise realisiert werden. Um eine bildliche Darstellung auf einem Anzeigegerät auszugeben, ist es erforderlich, daß ein Bild oder der Teil eines Bildes in einem Speichersystem abgelegt wird, das typischerweise ein Speicherfeld enthält. Es müssen Mittel bereitgestellt werden, die den Zugriff auf Folgen von Bildpunkten entlang jeder Zeile oder Spalte des Speicherfeldes gestatten. Ein solcher Zugriff auf das Speicherfeld wird notwendig, wenn neue Informationen auf den Bildschirm gebracht werden sollen oder wenn die Information wiederholt ausgegeben werden muß, wie dies bei Bildschirmgeräten mit Kathodenstrahlröhren (CRT cathode ray tube) erforderlich ist. Andere typische Operationen beinhalten das Rollen des Bildes sowie das Ausfüllen vorgegebener Muster auf der Anzeige.
- Ein Problem, das bei gerasterter Anzeige, wie beispielsweise bei CRTs, besteht, bei denen jeder Bildpunkt direkt adressierbar ist (APA all point addressable), ist das Aktualisieren des Bildspeicherfeldes. In Anzeigesystemen, bei denen jeder Bildpunkt direkt adressierbar ist, ist es erforderlich während des Speicheraktualisierens über die Hardware detaillierte Handlungen wie das Verschieben, Maskieren oder Mischen von Bits auszuführen.
- Ein Verfahren zur Durchführung von Auffrisch-Operationen basiert auf der Nutzung eines zweidimensional adressierten Speicherfeldes, innerhalb dessen keine Wort- oder Bytegrenzen existieren. Das heißt, es gibt für jeden Bildpunkt (Pixel), der innerhalb des Speicherfeldes adressiert werden kann, ein X-Y Adressenpaar, das ausschließlich diesen einen Punkt lokalisiert. Weiterhin werden bei jedem Zugriff auf das Feld eine Vielzahl Pixel in das Feld geschrieben oder aus dem Feld gelesen und zwar in einem Bitvektor parallel zur Zugriffsrichtung auf das Feld. Eine vorbestimmte Pixelzahl kann innerhalb eines einfachen Speicherzyklus in das Feld geschrieben oder aus dem Feld gelesen werden. Ausgangspunkt dafür kann jede beliebige X-Y-Position sein, ungeachtet dessen, welche Wortgrenzen in dem Speicherfeld gewöhnlich vorliegen würden.
- Bei diesem Adressierungsverfahren erkennt die zum Speicherfeld gehörende Hardware, welches Speichermodul im Feld der Ausgangspunkt ist. Dem als Ausgangspunkt fungierenden Speichermodul wird die Adresse n zugewiesen. Jedem Speichermodul, das dem Ausgangspunkt in der Auffrisch-Operation unmittelbar folgt, wird dann die Adresse n+1 zugeordnet: Folglich wird innerhalb eines einzelnen Speicherzyklus ein Zugriff auf die Anzahl Pixel ausgeführt, die gleich der Anzahl der Speichermodule ist, die zu dem aufzufrischenden Feld gehören, beginnend an jeder beliebigen x- Y-Position und unabhängig von Wortgrenzen.
- Ein zweites Verfahren zur Verbesserung des Zugriffs auf ein Speicherfeld besteht in der Möglichkeit, Schreiboperationen mit variabler Breite zu unterstützen. Zu diesem Zweck kann ein Breitensteuerregister eingesetzt werden, um die Anzahl der in einem Schreibzyklus aktuell zu modifizierenden Bits zu steuern. Bei Einsatz dieses Verfahrens wird nach Bestimmung des Anfangspunktes für einen gegebenen Schreibzyklus eine Schreiboperation für alle Module des Speicherfeldes freigegeben. Die Module in dem Speicherfeld werden aufeinanderfolgend beschrieben, bis das letzte Modul erreicht ist. An dieser Stelle springt die Schreiboperation zurück zum ersten Modul und wird fortgesetzt, bis der im Breitensteuerregister spezifizierte Wert erreicht ist. Eine Verbindung beider Verfahren schafft die Möglichkeit, auf jede beliebige Anzahl Pixel, bis hin zur Breite des aufzufrischenden Feldes, zuzugreifen und das an jeder beliebigen X-Y-Position. Dies erfolgt in einem Bitvektor parallel zur Zugriffsrichtung innerhalb eines einzelnen Speicherzyklus und ungeachtet der Wortgrenzen des Speicherfeldes.
- Die U.S.-Patentschrift 4,249,172 beschreibt ein Adressierungsverfahren für Bildschirmanzeigen, bei dem die Eintrittspunkte in den Bildspeicher in horizontaler und vertikaler Richtung angepaßt werden. In einer Speicherverkettungstabelle sind Bildspeicheradressen gespeichert, die auf das Byte für das erste Zeichen in einer Bildschirmzeile weisen. Eine logische Schaltung überträgt die in der Tabelle gespeicherte Adresse zu einem Adreßzähler, der nach einer Initialisierung auf das Byte für das erste Zeichen der ersten Zeile der Bildinformation zeigt. Der Zähler wird dann inkrementiert und zeigt aufaufeinanderfolgende Zeilen der Videoinformationen, die in der Reihenfolge angezeigt werden.
- Im U.S.-Patent 4,442,503, das dem Anmelder der vorliegenden Erfindung erteilt wurde, wird ein Verfahren beschrieben, das die zweidimensionale Adressierung eines Bildspeichers ermöglicht. Das Verfahren benutzt eine Speichereinheit, in der sowohl Datenblöcke als auch Datenzeilen gespeichert werden und die für das Aus lesen von Datenzeilen benutzt wird. Die Speichereinheit arbeitet mit überlappender Verarbeitung und gestattet somit eine zweidimensionale Adressierung über eine Vielzahl separat adressierbarer Module innerhalb der Speichereinheit.
- In dem Artikel "Memory Systems for Image Processing" (Speicher- Systeme für die Bildverarbeitung), IEEE Transactions on Computers, Vol.C-27, Nr. 2, Februar 1978, Seiten 113-125, wird ein bildunterstützendes Speichersystem beschrieben, auf das nur in horizontaler Richtung zugegriffen werden kann. Der Zugriff auf Informationen in horizontaler Richtung in einem Speicherfeld ist typisch für den vorhergehenden Stand der Technik.
- Der Zugriff auf Speicherfelder in sowohl horizontaler als auch vertikaler Richtung würde die Leistungsfähigkeit eines Speicherfeldes wesentlich erhöhen. Zum Beispiel können Strukturen, wie Linien auf einer Anzeige, die durch nahe kolineare Folgen von Bits repräsentiert werden, die entweder in vertikaler oder in horizontaler Richtung nahe nebeneinander angeordnet sind, als Bitgruppen innerhalb eines Zyklus geschrieben oder aufgefrischt werden. Strukturen, wie beispielsweise Buchstaben, die im allgemeinen dazu neigen, höher als breit zu sein, können in vertikalen Abschnitten anstatt in horizontalen Abschnitten in ein Speicherfeld geschrieben werden, wodurch weniger Zugriffe auf das Speicherfeld benötigt werden.
- Ein System, in dem der Zugriff auf Informationen in einem Speicherfeld für eine Anzeige sowohl in horizontaler als auch in vertikaler Richtung erfolgt, ist in der Patentschrift EP-A-85210 offenbart worden. Jedoch bezieht sich dieses System auf eine einzelne Speicherkonfiguration und besitzt damit nicht die Flexibilität, die von der beanspruchten Erfindung in der vorliegenden Anmeldung geboten wird.
- Dementsprechend ist es eine Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren für den Zugriff auf ein Speicherfeld bereitzustellen, das mit einem Bildverarbeitungssystem verbunden ist.
- Es ist eine andere Aufgabe der vorliegenden Erfindung ein Verfahren bereitzustellen, das den horizontalen und vertikalen Zugriff auf ein Speicherfeld in einem Bildverarbeitungssystem mit verbesserter Flexibilität gestattet.
- Entsprechend dieser und anderer Aufgaben bezieht sich die Erfindung auf ein verbessertes Verfahren zum Zugriff auf Bitketten, wie dies im Anspruch 1 dargestellt wird.
- Fig. 1 ist ein Blockdiagramm eines kompletten Anzeigesystems entsprechend der vorliegenden Erfindung.
- Fig. 2 ist ein anschauliches Beispiel der logischen Platzanordnung der Bits in einem adressierbaren Speicherfeld gemäß der vorliegenden Erfindung.
- Fig. 3 ist ein anschauliches Beispiel eines Speicherfeldes gemäß der vorliegenden Erfindung, das vier Teilbereiche besitzt.
- Fig. 4 ist ein anderes anschauliches Beispiel eines Speicherfeldes gemäß der vorliegenden Erfindung, das vier Teilbereiche besitzt.
- Fig. 5 ist noch ein anderes anschauliches Beispiel eines Speicherfeldes gemäß der vorliegenden Erfindung, das vier Teilbereiche besitzt.
- Fig. 6 zeigt die Logik der Adressierungsschaltung, die mit dem Speicherfeld der vorliegenden Erfindung verbunden ist.
- Bevorzugte Ausführungsform der vorliegenden Erfindung
- Fig. 1 zeigt in funktioneller Blockdarstellung ein Bildschirmanzeigesystem, in welches die Information über den Systembus 11 die Systembusschnittstelle 12 und den Anzeigesystembus 13 eingegeben wird. Die Rasterbetriebssteuerung 14 empfängt diese Information und erzeugt die Adressen, die über den Adreßbus 15 Eingangssignale für das Bit-adressierbare mehrdimensionale Feld 16 (BAMDA) sind. Die Daten, die entweder aus dem BAMDA 16 gelesen oder in das BAMDA 16 geschrieben werden, werden dann für die Anzeige 22 über die Bildformatierung 17 und den Videotreiber 19 bereitgestellt. Der Synchronisierimpulsgenerator 18 steuert die horizontale und vertikale Synchronisation der Anzeige 22 über den Synchronisationsbus 21. Die hier offenbarte Erfindung wird in erster Linie durch das mehrdimensionale Feld BAMDA 16 verkörpert. Die Funktionsweise der Rasterbetriebssteuerung 14, der Videoformatierung 17, des Synchronisierimpulsgenerators 18 und der Anzeige 22 ist dem Fachmann, der mit Bildschirmgeräten arbeitet, wohlbekannt und soll hier nicht weiter erläutert werden.
- Fig. 2, die die logische Anordnung der einzelnen Bits im BAMDA 16 zeigt, repräsentiert eine vier Bits breite Speicherstruktur, ist aber einfach auf eine n Bits breite Speicherstruktur zu übertragen. M0, M1, M2 und M3 stellen vier unterschiedliche Speicherfeldmodule im BAMDA 16 dar. Jedes Modul M0-M3 hat acht unabhängige Adressen, und jedes hat eine separate Schreibleitung. Die Bits im BAMDA 16 sind diagonal angeordnet, so daß bei jedem Speicherzyklus unabhängig von der Zugriffsrichtung auf alle vier Bits der Speichermodule M0-M3 zugegriffen wird. Das zentrale Konzept der vorliegenden Erfindung ist, daß auf die Bits im BAMDA 16 sowohl horizontal als auch vertikal zugegriffen werden kann.
- Das kleinste Element im BAMDA 16 ist die quadratische Matrix 23. Die Größe der quadratischen Matrix 23 ist n*n, worin n die Anzahl der Speichermodule im BAMDA 16 ist. In Fig. 2 ist die Größe der Matrix dann 4*4, weil das BAMDA 16 vier Speichermodule besitzt. Die Matrix 23 ist das kleinste wiederholbare Feldelement, daß im BAMDA 16 enthalten ist.
- Das nächst größere Element im BAMDA 16 ist ein Teilbereich 24, der einige Matrizen wie die Matrix 23 enthält. Die Anzahl der Bits in dem Teilbereich 24 ist gleich der Anzahl der Bits in einem einzelnen Speichermodul. Weil jedes Speichermodul über acht unabhängige Adressen verfügt, ist die Anzahl der Bits in einem Teilbereich 24 gleich 28 oder 256 Bit. Wie in Fig. 2 gezeigt wird, ist der Teilbereich 24 eine 16*16 Matrix. Die Größe eines Teilbereiches im BAMDA 16 ist abhängig von der Größe des Adreßfeldes der Speichermodule M0-M3. Die 16*16 Matrix des Teilbereiches 24 wird über zwei 4-Bit-Adreßfelder angesprochen, d. h., es ergibt sich eine Matrix der Größe 2&sup4;*2&sup4;. Die Anzahl der Teilbereiche, die im BAMDA 16 enthalten sind, ist gleich der Anzahl der im BAMDA 16 enthaltenen Speichermodule. Folglich würden sich für ein Feld aus vier Modulen vier Speicherbereiche ergeben. Wir verweisen darauf, das aus Platzgründen nur ein Teilbereich, der Teilbereich 24, in Fig. 2 dargestellt ist.
- Die Fig. 3, 4 und 5 zeigen drei verschiedene Feldanordnungen für das BAMDA 16. Das Feld 25, das die Teilbereiche 26-29 enthält, ist ein Feld der Größe 16*64, Feld 35, das die Teilbereiche 31-34 enthält, ist ein Feld der Größe 32*32 und Feld 41, das die Teilbereiche 36-39 enthält, ist ein Feld der Größe 64*16. Jeder der Teilbereiche 26-29 im Feld 25, der Teilbereiche 31-34 im Feld 35 und der Teilbereiche 36-39 im Feld 41 hat die Größe 16*16 Bit. Ein Teilbereichsauswahl-Eingangswert repräsentiert die Anzahl der Teilbereiche in x-Richtung. Folglich hat das Feld 25 einen Teilbereichsauswahl-Eingangswert von 1, wogegen das Feld 41 einen Teilbereichsauswahl-Eingangswert von 4 hat. Die Unterteilung eines Feldes kann leicht auf eine beliebige Feldgröße mit einer beliebigen Anzahl an Speichermodulen erweitert werden. Zum Beispiel können bei einer Anzahl von acht Speichermodulen folgende Teilbereichsauswahl-Eingangswerte existieren - 1, 2, 4 oder 8. Diese vier Eingangswerte würden Feldgrößen von 1*8, 2*4, 4*2, bzw. 8*1 repräsentieren.
- In Fig. 6 ist die Logik dargestellt, die benötigt wird, um die Adressen zu erzeugen und die Schreibleitungen für jedes Modul M0-M3 des Feldes BAMDA 16 zu steuern. Eine vier-Bit-Zeilen- und eine vier-Bit-Spaltenadresse werden für jedes Modul M0-M3 auf einem gemeinsamen Satz Adreßleitungen 61-66 erzeugt, der im Multiplexbetrieb arbeitet. Die Adressen werden durch den Zeilen- Spalten-Takteingang 53 gesteuert. Wenn die Adressen-Zugriffsrichtung von x auf y oder umgekehrt gewechselt wird, werden die Zeilen-/Spaltenadreßfelder durch die in dem logischen Baustein 52 verkörperte Antivalenzfunktion (Exklusiv-ODER) umgeschaltet.
- Die in Fig. 6 dargestellten zwei Adreßeingänge sind SDA 42, Adresse in derselben Richtung (same direction address) und ODA 43, Adresse in anderer Richtung (opposit direction address). SDA 42 stellt die Adresse in x-Richtung bereit, wenn der Eingang 44 für den Zugriff in x-Richtung den logischen Wert 1 führt. SDA 42 stellt die Adresse in y-Richtung bereit, wenn der Eingang 44 für den Zugriff in x-Richtung den logischen Wert 0 führt. Ebenso stellt ODA 43 die Adresse in y-Richtung bereit, wenn der Eingang 44 für den Zugriff in x-Richtung den logischen Wert 1 führt und stellt die Adresse in x-Richtung bereit, wenn der Eingang 44 für den Zugriff in x-Richtung den logischen Wert 0 führt. Die x,y- Adresse, die am BAMDA 16 angelegt wird, repräsentiert ungeachtet der Zugriffsrichtung die exakte Startbit-Position. Zusätzlich zeigt die zweidimensionale x,y-Adresse an, welches der Speichermodule M0-M3 der Ausgangspunkt für den Zugriff auf das erste Bit sein soll. Die Zugriffsrichtung hat keinen Einfluß darauf, welches Modul den Ausgangspunkt bildet. Der Modulstartwert ergibt sich aus der Addition der zwei niederwertigen Bits von SDA 42 und ODA 42, wobei alle Überträge bei dieser 2-Bit-Addition nicht berücksichtigt werden.
- Der Ausgang des Multiplexers 48 ist ein Verschiebungswert für SDA 42. Wenn das BAMDA 16 in der Betriebsart "Zugriff in x-Richtung" arbeitet, ist der Verschiebungswert von SDA 42 gleich der zwei höchstwertigen Bits von ODA 43 multipliziert mit dem Teilbereichsauswahl-Eingangswert 45. Diese Multiplikation findet in dem Multiplizierer 46 statt. Wenn das BAMDA 16 in der Betriebsart "Zugriff in y-Richtung" arbeitet, ist der Verschiebungswert von SDA 42 gleich der zwei höchstwertigen Bits von ODA 43. Ein Verschiebungswert für ODA 43 wird auf eine ähnliche Art und Weise gebildet, wie der Verschiebungswert für SDA 42, außer daß die Bedingungen für die Auswahl der höchstwertigen Bits in Abhängigkeit von den niederwertigen Bits umgedreht werden. Die zwei erzeugten Verschiebungswerte erlauben somit die Adressierung unterschiedlicher Teilbereiche innerhalb von BAMDA 16. Beide Verschiebungswerte sind gleich 0, wenn auf den Teilbereich 0 zugegriffen wird. Das Startbit, das durch die x,y-Adresse bezeichnet wird, wird sich immer in dem Teilbereich befinden, dessen Nummer sich aus der Summe der Verschiebungswerte von SDA 42 und ODA 43 ergibt.
- Die Startposition für SDA 42 wird durch Addition der vier niederwertigen Bits von SDA 42 zum Verschiebungswert von SDA 42 ermittelt. Die Startposition von ODA 43 wird durch Addition der vier niederwertigen Bits von ODA 43 zum Verschiebungswert von ODA 43 erzeugt. Wie in Fig. 6 zu sehen ist, wird der SDA-Startwert durch die Additionsstufe 71 gebildet, während der ODA- Startwert durch die Additionsstufe 72 erzeugt wird. Es werden nur die vier niederwertigen Bit der Felder SDA 42 und ODA 43 benutzt, weil jedes Speichermodul M0-M3 zwei vier Bit breite Adressen hat, die für die Feldmodule umgeschaltet werden. Diese zwei Startwerte repräsentieren die exakte Zeilen-/Spaltenadresse des Startbits, auf das zugegriffen werden soll. Zusammen mit diesen Startadressen und dem Modulstartwert, der durch die Zwei- Bit-Additionsstufe 48 erzeugt wird, wird auf das genaue Startbit in dem entsprechenden Speichermodul zugegriffen.
- Aus dem Modulstartwert (Ausgang der Additionsstufe 48) und der Modulzahl wird ein Modulzeiger gebildet. Zum Beispiel wird ein Modulstartwert, der Ausgang von der Additionsstufe 48, zum Modul o addiert. Dies erfolgt in der Additionsstufe 75, von deren Ausgangssignal das Einerkomplement in Stufe 74 gebildet wird. Der Ausgang dieser Stufe, d. h. das Einerkomplement des Ausgangssignals von 75, ist dann der Modulzeiger für Modul 0. Der Modulzeiger repräsentiert eine Zahlenfolge, die bei 0 beginnend bis zur Gesamtzahl der Speichermodule von BAMDA 16 führt. Es gibt genau einen Modulzeiger, der den Wert 0 während eines Speicherzugriffs aufweist. Der Modulzeiger, der diese Null führt, zeigt auf dasjenige von den Speichermodulen M0-M3, in dem sich das Startbit befindet. Zum Beispiel hat Modul M3 das nächstfolgende Bits in sich, wenn sich das Startbit in Modul M2 befindet. Genauso hat das Modul M0 das dritte folgende Bit in sich. Wenn mit Modul M2 begonnen wird, ist der Modulzeiger für dieses M2 gleich 0. Folglich hat der Modulzeiger für das Speichermodul 3 einen Wert von 3 und das nächste Speichermodul, das Modul M0, benutzt einen Modulzeigerwert von 0, um seine Adressen zu erzeugen. Die Werte solcher Modulzeiger liefern aufeinanderfolgende Verschiebungswerte, um die Folgeadresse zu erzeugen und auch den entsprechenden Anfangspunkt in den Speichermodulen zu finden.
- Wenn auf eine Vier-Bit-Kette in x-Richtung zugegriffen wird, sind nur zwei einzelne Zeilenadressen erforderlich, die Startadresse und die Startadresse plus eins. Diese zwei Adressen werden durch den ODA-43-Startwert, Ausgang von Additionsstufe 72, und durch den ODA-43-Folgewert, Ausgang von Additionsstufe 76, verkörpert. Der ODA-43-Folgewert wird dann, wenn das BAMDA 16 in der Betriebsart Zugriff in x-Richtung arbeitet, durch Addition des ODA-Startwertes, Ausgang von Additionsstufe 72, zu eins gebildet.
- Das Spaltenadreßfeld bleibt innerhalb eines Teilbereiches konstant, wenn in y-Richtung zugegriffen wird. Deshalb werden beim Zugriff auf eine Vier-Bit-Kette in y-Richtung nur zwei einzelne Spaltenadressen für die vier Speichermodule M0-M3 benötigt. Diese zwei einzelnen Spaltenadressen sind die Startadresse und die Startadresse plus Teilbereichsauswahlwert. Die Startadresse und der Wert Startadresse plus Teilbereichsauswahlwert werden dann, wenn in y-Richtung zugegriffen wird, durch den ODA-Startwert und den ODA-Folgewert repräsentiert. Der ODA-Folgewert wird in dieser Betriebsart "Zugriff in y-Richtung" durch Addition des ODA- Startwertes zum Teilbereichsauswahlwert gebildet. Für Zugriffe auf das BAMDA 16, die einen gegebenen Teilbereich umfassen, wird der ODA-Folgewert nicht benutzt. Bei Zugriffen, die Teilbereichsgrenzen überschreiten, werden ODA-Wert und ODA-Folgewert benutzt.
- Die Auswahl, welche der ODA-43-Adressen für jedes unabhängige Speichermodul benutzt werden soll, wird durch das Übertrags-Auswahlsignal für das entsprechende Modul getroffen. Das Übertrags- Auswahlsignal, das Werte von 0 bis 3 annehmen kann, wird aus den vier niederwertigen Bits von SDA 42 und dem Modulzeiger für dieses Modul gebildet. Diese zwei Größen werden addiert, um ein Übertragsbit zu erzeugen. Für Modul 0 beispielsweise ist der Ausgang der Einerkomplement-Stufe 74 ein Eingang für den vier- Bit-Übertragsgenerator 81. Der andere Eingang des Übertragsgenerators 81 sind die vier niederwertigen Bits von SDA 42. Das Übertragsbit ist dann der Ausgang des Übertragsgenerators 81 und der Eingang des 2 : 1 Multiplexers 82. Wenn der als Auswahlsignal fungierende Übertrag aktiv wird, wird der ODA-Folgewert als Eingangssignal an das entsprechende Modul gelegt. Ist der Übertrag inaktiv, wird der ODA-Startwert an das entsprechende Modul gelegt. Diese Betriebsweise wird für Modul 0 durch den 2 : 1 Multiplexer 82 erreicht.
- Das Spaltenadreßfeld und das Zeilenadreßfeld von BAMDA 16 sind beide sequentieller Natur, wenn in x-, bzw. y-Richtung vorgegangen wird. Dieser sequentielle Charakter der Adreßfelder bleibt auch erhalten, wenn die Grenzen des Teilbereiches 24 überschritten werden. Um die entsprechende Folgeadresse in derselben Richtung (SDA) für das Speichermodul, welches das Startbit enthält, zu bilden, wird als Startbit der Adresse derselben Richtung der am Ausgang der Additionsstufe 71 erzeugte Wert verwendet. Um die passende Folgeadresse derselben Richtung für das zweite Bit in der Bitkette, auf die zugegriffen wird, zu bilden, wird das Startbit der Adresse derselben Richtung vom Ausgang der Additionsstufe 71 um eins inkrementiert. Folglich muß für jedes folgende Bit in der Zugriffskette eine neue Folgeadresse derselben Richtung erzeugt werden. Die sequentiellen Adreßfelder für dieselbe Richtung werden in Abhängigkeit von der Zugriffsrichtung auf das BAMDA 16 zwischen Spalten- und Zeilenadreßfeldern umgeschaltet. Wenn auf das BAMDA 16 in x-Richtung zugegriffen wird, bildet die Folgeadresse derselben Richtung die Spaltenadresse, während beim Zugriff auf das BAMDA 16 in y-Richtung die Folgeadresse derselben Richtung die Zeilenadresse bildet. So wird ein Folgeadreßbit derselben Richtung dadurch erzeugt, daß das Startbit der Adresse derselben Richtung zum Modulzeiger addiert wird, um die Folgeadresse zu erhalten.
- Der Schreibbreiteneingang 51 zeigt an, wieviele Bits in das BAM- DA 16 eingeschrieben werden sollen. Wenn die Schreibbreite 51 zu Null gesetzt ist, werden alle Bits in das BAMDA 16 eingeschrieben. Wenn die Schreibbreite 51 auf den Wert eins gesetzt ist, werden alle Bits bis auf eines in das BAMDA 16 eingeschrieben. Ein Signal Modul-Schreiben wird für jedes Modul M0-M3 dadurch erzeugt, daß der Schreibbreiteneingang 51 in den Modulzeiger des jeweiligen Modules geschrieben wird. Für das Speichermodul 0 beispielsweise findet diese Addition in der Additionsstufe 83 statt, die als Eingänge den Schreibbreiteneingang 51 und den Ausgang der Einerkomplement-Stufe 74 besitzt. Das Modul-Schreiben-Signal für das Speichermodul 0 wird dann über Leitung 84 bereitgestellt. Wenn aus der Addition in der Stufe 83 kein Übertrag resultiert, dann wird das Speicherbit über Leitung 84 in das BAMDA 16 geschrieben.
Claims (9)
1. Ein Verfahren zum Zugriff auf eine Bitkette in entweder
horizontaler oder vertikaler Richtung innerhalb eines
zweidimensionalen Speicherfeldes (16), das aufgebaut ist aus
einer Vielzahl von n 1-Bit-breiten Hardwarespeichermodulen
(M0-M3), jedes Modul hat 2k Adressen, das besagte
Speicherfeld ist mit einer Anzeige (22) verbunden, bei der jeder
Punkt einzeln adressiert werden kann, und das besagte
Verfahren umfaßt folgende Schritte:
Anordnung von Abbildern der Bildpunktpositionen der
besagten Anzeige innerhalb des Speicherfeldes derart, daß die
Abbilder vertikal aufeinanderfolgender Bildpunktpositionen
einer gegebenen Spalte den Bits in aufeinanderfolgenden
Speicherplätzen der besagten n Speichermodule entsprechen
und daß die Abbilder aufeinanderfolgender Positionen einer
gegebenen Zeile ebenfalls Bits in aufeinanderfolgenden
Speicherplätzen der besagten n Speichermodule entsprechen;
Auswahl einer vorbestimmten Feldkonfiguration mit einem
Teilbereichsauswahl-Eingangswert (in 45), der die Anzahl
der Unterteilungsbereiche des Speicherfeldes in x-Richtung
repräsentiert, wobei jeder Teilbereich des Speicherfeldes
eine Matrix der Größe 2(k/2)*2(k/2) bildet und die Anzahl der
Teilbereiche n ist;
Bereitstellung einer X- und einer Y-Speicherfeldadresse (in
42 und 43) für das Speicherfeld;
Bereitstellung eines Zugriffsrichtungssignals (in 44);
Berechnung des Modulstartwertes (in 48) und der k/2-Bit
Zeilen- sowie der k/2-Bit Spaltenstartadresse (SDA START,
ODA START) aus den besagten X- und Y-Speicherfeidadressen,
um diese für jedes der n Speichermodule bereitzustellen,
wobei jede Startadresse aus einem dazugehörigen
Verschiebungswert (SDA OFFSET, ODA OFFSET) bestimmt wird und die
Verschiebungswerte derart von dem Zugriffsrichtungssignal
abhängen, daß ein Verschiebungswert entweder von der
anderen Speicherfeldadresse oder von einem Wert abhängt, der
aus einer Kombination der anderen Speicherfeldadresse mit
dem besagten Teilbereichsauswahlwert gebildet wird, daß
gleichzeitig die Bildung des anderen Verschiebungswertes in
entgegengesetzter Weise erfolgt und daß beide
Verschiebungswerte die Adressierung unterschiedlicher Teilbereiche
ermöglichen;
Berechnung eines Modulzeigerwertes aus dem besagten
Modulstartwert und der zugehörigen Modulzahl, wobei die
Modulzeigerwerte eine Zahlenfolge darstellen, beginnend mit
Element 0 für das Startmodul bis zum Element n entsprechend
der Gesamtzahl der Speichermodule und der Wert jedes
Modulzeigers den folgenden Verschiebungswert zur Erzeugung der
folgenden Adresse liefert;
Berechnung eines Folgewertes (ODA NEXT wird von 76
geliefert) aus einer der Startadressen (ODA START) und einem
Wert (geliefert von 50), der entweder der Wert zur Auswahl
der Feldunterteilung oder ein vorgegebener Wert ist, wobei
die Auswahl zwischen diesen beiden Möglichkeiten von dem
Zugriffsrichtungssignal abhängt und der besagte Wert (in
76) das Überschreiten von Teilbereichsgrenzen ermöglicht;
Bereitstellung eines k/2-Bit Zeilen-/Spalten-Adressfeldes
für jedes Speichermodul, wobei in Abhängigkeit des besagten
Zugriffsrichtungssignals und eines Zugriffsrichtung-ändern-
Signals (53) das Adreßfeld entweder dadurch berechnet
wird, daß dessen Modulzeigerwert zu einer der besagten
Startadressen (SDA START) addiert wird oder daß in
Abhängigkeit von einem Übertragssignal eines Übertragsgenerators
(81), welcher den zugehörigen Modulzeigerwert zu einer (in
42) der Feldadressen addiert, entweder die andere
Startadresse
(ODA START) oder ein Folgewert (ODA NEXT) als
Adreßfeld dient.
2. Ein Verfahren nach Anspruch 1, wobei das besagte
zweidimensionale Speicherfeld ein bitadressierbares Feld enthält,
das dazu dient, den Zugriff auf eine ausgewählte Kette
aufeinanderfolgender Bits innerhalb einer Zeile oder Spalte zu
ermöglichen.
3. Ein Verfahren nach Anspruch 1 oder 2, wobei das besagte
Mittel weiterhin Schaltmittel enthält, die dazu dienen,
beim Zugriff auf das besagte Speicherfeld zwischen besagter
erster und besagter zweiter Richtung umzuschalten.
4. Ein Verfahren nach Anspruch 1, 2 oder 3, das weiterhin
Mittel enthält, die dazu dienen, die Anzahl der Bits zu
steuern, die während eines Zugriffs auf das besagte
Speicherfeld in das besagte Speicherfeld eingeschrieben werden.
5. Ein Verfahren nach Anspruch 4, wobei besagte Mittel einen
Schreibbreite-Steuereingang für das besagte Speicherfeld
enthalten und besagter Schreibbreite-Steuereingang dazu
dient, das Einschreiben aller verfügbaren Bits in eine
Bitkette zu ermöglichen, nachdem der besagte Schreibbreite-
Steuereingang einen ersten Wert annimmt.
6. Ein Verfahren nach Anspruch 5, wobei besagter
Schreibbreite-Steuereingang dazu dient, das Einschreiben aller
verfügbaren Bits, ausgenommen eines, in eine Bitkette zu
ermöglichen, nachdem der besagte Schreibbreite-Steuereingang einen
zweiten Wert annimmt.
7. Ein Verfahren nach einem der vorhergehenden Ansprüche, das
weiterhin Mittel enthält, die dazu dienen, die besagte
Vielzahl an Bits in dem besagten zweidimensionalen
Speicherfeld in einer Vielzahl von Bitlängen in besagter erster
und besagter zweiter Richtung zu positionieren.
8. Ein Verfahren nach Anspruch 1, wobei das besagte
zweidimensionale Speicherfeld eine Vielzahl Speichermodule enthält,
die derart angesteuert werden, daß während jedes
Speicherzyklus auf jedes Modul aus der besagten Vielfalt an
Speichermodulen zugegriffen wird.
9. Ein Verfahren nach Anspruch 8, wobei das besagte
zweidimensionale Speicherfeld in eine Vielzahl Teilbereiche
aufgeteilt sein kann und die Anzahl der besagten Vielzahl
Teilbereichen gleich der Anzahl der besagten Vielzahl
Speichermodulen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/701,328 US4740927A (en) | 1985-02-13 | 1985-02-13 | Bit addressable multidimensional array |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3688513D1 DE3688513D1 (de) | 1993-07-08 |
DE3688513T2 true DE3688513T2 (de) | 1993-12-23 |
Family
ID=24816925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE86100033T Expired - Lifetime DE3688513T2 (de) | 1985-02-13 | 1986-01-02 | Bit-adressierbares mehrdimensionales Netz. |
Country Status (4)
Country | Link |
---|---|
US (1) | US4740927A (de) |
EP (1) | EP0191280B1 (de) |
JP (1) | JPH0731489B2 (de) |
DE (1) | DE3688513T2 (de) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1262969A (en) * | 1985-06-25 | 1989-11-14 | Ascii Corporation | Memory system |
US4864544A (en) * | 1986-03-12 | 1989-09-05 | Advanced Micro Devices, Inc. | A Ram cell having means for controlling a bidirectional shift |
GB8618060D0 (en) * | 1986-07-24 | 1986-12-17 | Gec Avionics | Data processing apparatus |
JPS63163645A (ja) * | 1986-12-26 | 1988-07-07 | Ricoh Co Ltd | 二次元配列メモリ装置 |
GB8925721D0 (en) * | 1989-11-14 | 1990-01-04 | Amt Holdings | Processor array system |
GB2245394A (en) * | 1990-06-18 | 1992-01-02 | Rank Cintel Ltd | Video framestore selective addressing system |
US5561777A (en) * | 1993-08-30 | 1996-10-01 | Xerox Corporation | Process for sequentially reading a page from an image memory in either of two directions |
US6604166B1 (en) * | 1998-12-30 | 2003-08-05 | Silicon Automation Systems Limited | Memory architecture for parallel data access along any given dimension of an n-dimensional rectangular data array |
US7093137B1 (en) * | 1999-09-30 | 2006-08-15 | Casio Computer Co., Ltd. | Database management apparatus and encrypting/decrypting system |
US11307977B2 (en) * | 2018-09-27 | 2022-04-19 | Intel Corporation | Technologies for direct matrix read and write operations |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2736880A (en) * | 1951-05-11 | 1956-02-28 | Research Corp | Multicoordinate digital information storage device |
US3772658A (en) * | 1971-02-05 | 1973-11-13 | Us Army | Electronic memory having a page swapping capability |
US3763480A (en) * | 1971-10-12 | 1973-10-02 | Rca Corp | Digital and analog data handling devices |
JPS547416B2 (de) * | 1973-09-25 | 1979-04-06 | ||
JPS5216935A (en) * | 1975-07-30 | 1977-02-08 | Hitachi Ltd | Memory system |
JPS5534790A (en) * | 1978-09-05 | 1980-03-11 | Fuji Photo Film Co Ltd | Ruled line generation method |
US4249172A (en) * | 1979-09-04 | 1981-02-03 | Honeywell Information Systems Inc. | Row address linking control system for video display terminal |
DE3015125A1 (de) * | 1980-04-19 | 1981-10-22 | Ibm Deutschland Gmbh, 7000 Stuttgart | Einrichtung zur speicherung und darstellung graphischer information |
JPS58103063A (ja) * | 1981-12-16 | 1983-06-18 | Hitachi Ltd | マトリクス記憶装置 |
EP0085210A1 (de) * | 1982-01-29 | 1983-08-10 | International Business Machines Corporation | Bildverarbeitungssystem |
JPS58169665A (ja) * | 1982-03-31 | 1983-10-06 | Fujitsu Ltd | イメ−ジ・メモリ・システムにおけるイメ−ジ配列の縦横変換回路 |
-
1985
- 1985-02-13 US US06/701,328 patent/US4740927A/en not_active Expired - Lifetime
- 1985-09-24 JP JP60208984A patent/JPH0731489B2/ja not_active Expired - Lifetime
-
1986
- 1986-01-02 EP EP86100033A patent/EP0191280B1/de not_active Expired - Lifetime
- 1986-01-02 DE DE86100033T patent/DE3688513T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPS61186991A (ja) | 1986-08-20 |
EP0191280A2 (de) | 1986-08-20 |
JPH0731489B2 (ja) | 1995-04-10 |
DE3688513D1 (de) | 1993-07-08 |
US4740927A (en) | 1988-04-26 |
EP0191280A3 (en) | 1989-10-18 |
EP0191280B1 (de) | 1993-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69122226T2 (de) | Verfahren und Einrichtung zur Zugriffsanordnung eines VRAM zum beschleunigten Schreiben von vertikalen Linien auf einer Anzeige | |
DE3687359T2 (de) | Rasterpufferspeicher. | |
DE3687358T2 (de) | Bildpufferspeicher mit variablem zugriff. | |
EP0038411B1 (de) | Einrichtung zur Speicherung und Darstellung graphischer Information | |
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 | |
DE3853489T2 (de) | Grafik-Anzeigesystem. | |
DE3425022C2 (de) | ||
DE3587461T2 (de) | Schaltung zum Modifizieren von Daten in einem Anzeigespeicher. | |
DE3636394C2 (de) | Einrichtung und Verfahren zur Speicherorganisation | |
DE69633477T2 (de) | Bildspeicher für graphische Daten | |
DE2651543C3 (de) | Digitales Rasteranzeigesystem | |
DE68919781T2 (de) | Videospeicheranordnung. | |
DE3880343T2 (de) | Video-ram mit vielfachen ebenen. | |
DE2261141C3 (de) | Einrichtung zur graphischen Darstellung von in einem Computer enthaltenen Daten | |
DE2525155A1 (de) | Verfahren und anordnung zur rasterpunktdarstellung von codierter - liniensegmente darstellende - information in computergesteuerten datensichtgeraeten, insbesondere in kathodenstrahlbildschirmstationen | |
DE3889240T2 (de) | Zähler mit veränderbarer Verschaltung zur Adressierung in graphischen Anzeigesystemen. | |
DE2652900C2 (de) | Steuerschaltung zur Bildwiederholung für ein Raster-Datensichtgerät | |
DE3688513T2 (de) | Bit-adressierbares mehrdimensionales Netz. | |
DE2459106A1 (de) | Anordnung zur erzeugung von graphischen symbolen auf einer kathodenstrahlroehre und bei dieser anordnung verwendbarer zeichensymbolgenerator | |
DE2510542A1 (de) | Digitale bildwiedergabevorrichtung mit mehreren bildschirmen | |
DE68925569T2 (de) | Dynamischer Video-RAM-Speicher | |
DE3587765T2 (de) | Einrichtung zum Speichern von multi-bit Bildelementdaten. | |
DE3881355T2 (de) | Anzeigegerät. | |
DE3915562C1 (de) | ||
DE69111682T2 (de) | Videospeichermatrix mit einer Direktzugriffsanschlussstelle und einer seriellen Anschlussstelle. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |