DE2549336A1 - Wortorganisierte speichereinrichtung fuer bildliche darstellungen betreffende daten - Google Patents

Wortorganisierte speichereinrichtung fuer bildliche darstellungen betreffende daten

Info

Publication number
DE2549336A1
DE2549336A1 DE19752549336 DE2549336A DE2549336A1 DE 2549336 A1 DE2549336 A1 DE 2549336A1 DE 19752549336 DE19752549336 DE 19752549336 DE 2549336 A DE2549336 A DE 2549336A DE 2549336 A1 DE2549336 A1 DE 2549336A1
Authority
DE
Germany
Prior art keywords
memory
pixels
matrix
sub
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19752549336
Other languages
English (en)
Other versions
DE2549336C3 (de
DE2549336B2 (de
Inventor
Thomas Harvey Morrin
David Curtis Van Voorhis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2549336A1 publication Critical patent/DE2549336A1/de
Publication of DE2549336B2 publication Critical patent/DE2549336B2/de
Application granted granted Critical
Publication of DE2549336C3 publication Critical patent/DE2549336C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)
  • Image Input (AREA)
  • Memory System (AREA)

Description

Aktenzeichen der Anmelderin: SA 974 023
Wortorganisierte Speichereinrichtung für bildliche Darstellungen betreffende Daten
Die Erfindung betrifft die Verbesserung einer wortorganisierten Speichereinrichtung für bildliche Darstellungen betreffende Daten, die mit modifizierten Zugriffseinrichtungen versehen ist, welche innerhalb eines Speicherzyklus durch nur einen Zugriff das gemeinsame Speichern oder das gemeinsame Auslesen der Daten einer Anzahl p.q von Bildpunkten aus einer Matrix mit rp χ sq Bildpunkten I (*,*) ermöglicht, welche Bildpunkte I (i,j) als Untermatrix in der Form einer Zeile 1 xpq, einer Spalte pq χ 1 oder eines Rechtecks ρ χ q verarbeitet werden können. Jeder Bildpunkt I (i,j) nimmt einen Booleschen Wert an, wenn die Bildpunkt-Koordinaten i,j in den Wertebereichen 0<i<rp und 0<j_<sq liegen, wobei p, q, r und s ganze Zahlen bedeuten.
609822/0891
In der Bildverarbeitung ist es zweckmässig, selektiven Zugriff auch zu einzelnen Bildbereichen zu haben, welche zellenförmige, spaltenförmige oder rechteckige Ausschnitte aus einem grösseren Bereich sind. Es müssen viele Bildpunkte gespeichert werden, und verfügbare Speichereinrichtungen grosser Kapazität sind meisters wortorganisiert. Die Erfindung betrifft daher einen an sich wortorganisierten Speicher, dessen Zugriffseinrichtungen so modifiziert sind, um mittels Adressenumrechnung gleichzeitigen Zugriff zu solchen Bereichen zu ermöglichen, deren Daten in verschiedenen sogenannten Wörtern gespeichert sind. Ein digitales Bild besteht aus einer zweidimensionalen Matrix von Bildpunkten, deren jede eine ganze Zahl oder eine Gruppe solcher ganzen Zahlen verkörpert. Bildverarbeitung schliesst auch die Fähigkeit ein, eine Matrix von Bildpunkten in einem Speicher zu speichern und selektiv mit solchen Daten gleichzeitig zu arbeiten, die zu einem Bildbereich gehören. Solch ein Bildbereich, der gleichzeitig verarbeitet werden kann, enthält beispielsweise eine Folge von Punkten aus einer Zeile der Matrix, aus einer Spalte der Matrix oder Punkte innerhalb einer kleinen rechteckigen Untermatrix. Die Speichereinrichtung muss daher den gleichzeitigen Zugriff zu einer ganzen Gruppe von Bildpunkten während eines Speicherzyklus erlauben. In einer bitorganisierten Speichereinrichtung bedeutet das kein Problem. Grossräumige Speicher sind jedoch üblicherweise nur als wortorganisierte Speicher verfügbar. Eine solche Speichereinrichtung
SA 9-74-023 - 2 -
609822/0891
enthält eine Vielzahl von beliebig ansteuerbaren Speicherworten, deren jedes eine Gruppe von Bildpunkten speichern kann. Es ist jedoch notwendig, die Zugriffseinrichtung zu modifizieren, um gleichzeitigen Zugriff zu den genannten Gruppen von Bildpunkten zu erhalten, die nicht im gleichen Speicherwort gespeichert sind.
Ein digitales Bild kann durch eine Matrix von MxN Bildpunkten I (*,*) dargestellt werden, wobei jeder Bildpunkt I (i,j) in den Koordinatenbereicher O^ri-^-M und 0=sj-=^N eine ganze Zahl oder eine Gruppe solcher Zahlen ist, welche die Farbe und die Intensität eines Bildelementes" verkörpert. Der Einfachheit halber werden Schwarz/Weiss-Bilder betrachtet, für die I (i,j) ein einzelnes Informationsbit ist. Beispielsweise verkörpert I (i,j) = einen schwarzen Bildpunkt und I (i,j) = 0 einen weissen Bildpunkt.
Zu verarbeitende Bilder können beispielsweise durch optisches Abtasten von Vorlagen des Formates DIN A 4 gewonnen werden. Die so gewonnenen digitalen Bilder können dann gespeichert werden, übertragen werden, gedruckt werden oder auf dem Bildschirm eines optischen Ausgabegerätes betrachtet werden. Da die meisten Abtastgeräte und Drucker ein Bild von oben nach unten und von links nach rechts verarbeiten, werden gewöhnlich die Bilder in einem Zeilenraster in der Hauptzeilenfolge übertragen: I (0,0), I (0,1),
SA 9-74-023 - 3 -
609825/0891
...,I (O,N-I), I (1,0), ...,I (M-I,N-I). Eine Speichereinrichtung für Bildverarbeitung sollte daher mindestens den Zugriff zu einer Anzahl benachbarter Bildpunkte I (*,*) einer einzelnen Zeile gleichzeitig erlauben. So ist eine schnelle Uebertragung ganzer Bilder für die Bildverarbeitung möglich.
Für manche Bildverarbeitungsoperationen wie beispielsweise die Zeichenerkennung sollte ein Bild oder auch ein Teilbild oder ein Ausschnitt daraus um 90 oder um ein Vielfaches davon gedreht werden können. Solche Drehungen werden durch eine Speichereinrichtung stark erleichtert, welche den gleichzeitigen Zugriff zu einer Anzahl benachbarter Bildpunkte in einer beliebigen Zeile oder Spalte des Bildbereiches I (*,*) ermöglicht. Eine solche Einrichtung kann beispielsweise wie folgt zum Drehen eines in der Hauptzeilenfolge übertragenen Bildes um 90 gegen den Uhrzeigersinn verwendet werden. Zuerst wird das Bild Zeile für Zeile in den Speicher übertragen, beginnend mit der oberen ersten Zeile und dem gleichzeitigen Einspeichern einer möglichst grossen Anzahl von Bildpunkten jeder Zeile. Dann wird das Bild Spalte für-Spalte wieder ausgelesen, beginnend mit der äussersten rechten Spalte und dem gleichzeitigen Lesen möglichst vieler Bildpunkte innerhalb der Spalte.
SA 9-74-023 - 4 -
609822/0891
Es ist aber auch erwünscht, gleichzeitigen Zugriff zu rechteckigen Blöcken von Bildpunkten zu haben, um eine andere Art von Bildverarbeitungsoperationen zu ermöglichen,wie das Einfügen von Blöcken, das Entnehmen von Blöcken und das Abtasten von Konturen. Es ist beispielsweise erwünscht, alphanumerische Zeichen aus einem gespeicherten Wörterbuch dem Bild zuzufügen. Es mag auch erwünscht sein, solche Zeichen zu löschen oder andere Zeichen auszugeben oder andere rechteckige Blöcke eines Bildes. Schliesslich verlangt der Algorithmus zum Verfolgen der Konturen eines Objektes das Bewegen eines Positionsanzeigesymbols längs einer Kurve oder einer Begrenzung von einem Bildpunkt zu einem anderen.
Eine wortorganisierte Speichereinrichtung mit wahlfreiem Zugriff besteht gewöhnlich aus einer Vielzahl von Speichermoduln, wobei jeder solcher Modul eine Speichereinrichtung für sich ist mit einer Vielzahl von Speicherzellen, die beliebig ansteuerbar sind. Obwohl jede Speicherzelle einen Bildpunkt als Binärwert speichern kann,ist zu einem Zeitpunkt der Zugriff zum Einschreiben oder Auslesen der Information nur in eine Speicherzelle eines Moduls möglich. Die Zugriffseinrichtung eines üblichen wortorganisierten Speichers verwendet die Adresse einer Speicherzelle, um gleichzeitig die so adressierten Zellen mit gleicher Adresse in allen Speichermoduln parallel anzusteuern. Diese Speicherzellen zusammen bilden ein sogenanntes Spei-
SA 9-74-023 - 5 -
609822/0891
cherwort der Speichereinrichtung. Eine übliche wortorganisierte Speichereinrichtung kann daher nur den gleichzeitigen Zugriff zu Bildpunkten vermitteln, die im gleichen Speicherwort gespeichert sind. Für die Zwecke der Erfindung muss daher die Zugriffseinrichtung entsprechend modifiziert werden, wenn spezielle Untermatrizen von Bildpunkten angesteuert v/erden sollen. Es ist erwünscht, den Zugriff sowohl zu horizontalen oder vertikalen Polgen von Bildpunkten als auch zu gewissen rechteckigen oder quadratischen Bereichen von Bildpunkten zu haben.
Der Erfindung liegt deshalb die Aufgabe zugrunde, eine wortorganisierte Speichereinrichtung für bildliche Darstellungen betreffende Daten zu schaffen t die die oben aufgeführten Forderungen alle erfüllt.
Gemäß der Erfindung ist die verbesserte Speichereinrichtung der eingangs genannten Art dadurch gekennzeichnet, dass Speichermittel vorgesehen sind, um die Anzahl rpsq Bildpunkte in den Speicherzellen von pq verschiedenen Speichermoduln derart speichern zu können, dass jeder Speichermodul als Einheit die Anzahl von rs Bildpunkten in unterscheidbaren Speicherzellen speichert, wobei zu einem Zeitpunkt der Zugriff zu jedem Speichermodul nur in eine Speicherzelle erfolgt, und dass Zugriffseinrichtungen vorgesehen sind, welche die Adressenumrechnung in einer Weise vornehmen dass jeder Bildpunkt I (i,j) in eine Speicherstelle mit einer Adressen-Zuordnungsfunktion A (i,j) gespeichert oder aus ihr ausgelesen wird in einem Speichermodul, dessen Adresse durch eine Modul-Zuordnungsfunktion M (i,j) gegeben ist, wobei die genannte Zuordnungsfunktion ganzzahlige Funktionen sind,
SA 974 023 - 6 -
609822/0891
die in folgender Weise definiert sind:
A (i,j) = (i/p) s + j/q, wobei i/p und j/q ganzzahlige Quotienten sind, und M (i,j) =[iq + (i/p)// q + j]// pq, wobei [iq + (i/p)// q + j] // pq der Rest der ganzzahligen Division von [_iq + (i/p)// q + j 3 durch pq ist.
Die Erfindung wird anhand eines Ausführungsbeispiels mit Hilfe der Zeichnungen näher beschrieben.
Fig. 1 zeigt den Systemaufbau einer wortorganisierten Speichel
einrichtung, welche gemäss der Erfindung modifiziert ist.
Fign. 2A und 2BV veranschaulichen die Zuordnung der Speichermoduln
und der Adressen für den Fall, dass ρ = q = 4 und r = s = 8 ist.
Fig. 3 zeigt schematisch Einzelheiten der Zugriffseinrichtung.
Fign. 4 bis 7 . zeigen Verknüpfungsschaltungen, die in der Zugriffseinrichtung nach Fig. 3 verwendet werden.
Fign. 8 bis 13 zeigen Verknüpfungsschaltungen, die in der Leitweg
steuerung nach Fig. 1 gebraucht werden.
SA 9-74-023 - 7 -
609822/0891
Fig. 1 zeigt schematisch den Systemaüfbau der modifizierten Speichereinrichtung. Die Schaltung enthält eine Anzahl pq von Speichermoduln, von denen der Einfachheit halber nur die Moduln 21, 23 und 25 für die Modul-Nummern 0,1 und pq-1 dargestellt sind. Jeder Modul kann rs Bildpunkte speichern, was bei diesem Ausführungsbeispiel rs Informationsbits entspricht Die Adressensteuerung 7 ermöglicht diesen Speichermoduln, eine rp χ sq Speicherstellen umfassende oder kleinere Matrix von Bildpunkten I (*,*) zu speichern und irgendeine Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q von Bildpunkten für den Zugriff anzusteuern. Ein Datenregister 39 kann irgendeine Untermatrix mit pq Elementen aufnehmen, bevor die Information gespeichert wird oder nachdem die Bildinformation aus den Speichermoduln ausgelesen wurde. Ferner sind Umordnungsschaltungen 47 und 49 vorgesehen Umordnungsschaltungen sind im allgemeinen Schalteinrichtungen, welche das Umordnen von binären Daten ermöglichen. In Verbindung mit der vorliegender Erfindung dienen die Umordnungsschaltungen 47 und 49 dazu, Untermatrizen zyklisch nach rechts bzw. nach links zu vertauschen. Diese Schaltungen leiten die Elemente der Untermatrizen zu den entsprechenden Speichermoduln für das Einspeichern bzw. aus diesen heraus für das Auslesen. Die Steuereinrichtungen für die Umordnungsschaltungen befinden sich in der Adressensteuerung 7 und sind über den Datenweg 15 damit verbunden.
SA 9-74-023 - 8 -
609822/0891
Wenn eine Untermatrix gespeichert werden soll, wird durch den Inhalt der
3 *
Register 1 ,Jiiund 2f angezeigt, welche Form die Untermatrix haben soll und welche Koordinaten das Bezugsfeld in der linken oberen Ecke als Startadresse für die Bildpunkte. Es wird zunächst das t-Register 1 auf einen der Werte t = 00, t = 01 oder t = 10 gesetzt, um anzuzeigen, ob die Gestalt der Untermatrix 1 χ pq, pq χ 1 oder ρ χ q ist. Das i-Register 3 und das j-Register 5 werden mit den Koordinaten des Elementes I (i,j) oben links in der Untermatrix geladen. Die Untermatrix selbst wird in das Datenregister 39 in der Hauptzeilenfolge abgespeichert, so dass das Element I (i,j) sich in der am weitesten links befindlichen Position des Registers befindet. Die Bildpunktinformation der Elemente der Untermatrix wird über Leitungen 41, 43 und 45 der Umordnungs schaltung 47 zugeführt. Ausgehend von den Werten für t, i und j erzeugt der Steuerteil der Adressensteuerung 7 ein Steuersignal auf der Leitung 15, welches die Umordnungs schaltung 47 veranlasst, jedes Element der Untermatrix über die Leitungen 27, 31 und 35 zu dem Speichermodul zu leiten, in welchem es gespeichert werden soll. Der Adressenteil der Adressensteuerung 7 berechnet seine Speicherstelle innerhalb des Moduls; Diese Adressen werden den Moduln über die Leitunge1, 9, 11 und 13 zugeführt. Ein Schreibsignal von einer externen Lese/Schreib-Steuerung 17 bewirkt schliesslich, dass die pq Elemente der Untermatrix gleichzeitig in den verschiedenen Speichermoduln abgespeichert werden.
SA 9-74-023 - 9 -
609822/0891
Wenn eine spezielle Untermatrix aus der Speichereinrichtung ausgelesen werden soll, werden die Register 1,.3 und 5 in gleicher Weise geladen wie oben beschrieben, um die Gestalt der Untermatrix zu bezeichnen sowie als Startadresse die Koordinaten ihres ersten Elementes in der oberen linken Ecke. Der Adressenteil der Adressensteuerung 7 benutzt die Werte von t, i und j, um für jeden Speichermodul die Speicherstelle des einzelnen Elementes der Untermatrix zu berechnen, welches dieser Modul enthält. Nach Ausführung dieser Berechnungen veranlasst ein Lesesignal auf den Leitungen 19 von der Lese/Schreib-Steuerung 17, dass die pq Elemente der Untermatrix aus den Speichermoduln entnommen werden und über die Leitungen 29, 33 und 37 der Umordnung s scha ltung 49 zugeführt werden. Der Steuerteil der Adressensteuerung 7 erzeugt auf der Leitung 15 ein Steuersignal, welches die Umordnung s scha ltung 49 veranlasst, die Elemente der Untermatrix in die Hauptzeilenfolge umzuordnen. Dann leitet die Umordnungsschaltung 49 die Daten über die Leitungen 51, 53 und 55 in das Datenregister 39 so, dass das Element I (i,j) in die äusserste linke Position des Datenrigisters 39 kommt.
Immer wenn eine Untermatrix von Bildpunkten I (*,*) der Gestalt 1 χ pq, pq χ 1 oder ρ χ q in die Speichereinrichtung gespeichert oder aus ihr ausgelesen werden soll, dann muss der Adressenteil der Adressensteuerung 7
SA 9-74-023 - 10 -
609822/0891
für den Bereich O-=sk-=pq die Speicherstelle £(i,j,k,t) der einzelnen Elemente e (i,j,k,t) der Untermatrix berechnen, die im k-ten Speichermodul entweder zum Auslesen vorhanden sind oder neu in ihn eingeschrieben werden sollen. Der Steuerteil der Adressen steuerung 7 muss in Zusammenarbeit mit den Umordnungsschaltungen 47 und 49 dafür sorgen, dass jedes Element e (i,j,k,t) in die entsprechende Bitposition des Datenregisters 39 geleitet bzw. aus ihr entnommen wird. Die Tabelle 1 stellt schematisch die notwendigen Schritte zur Berechnung der Adresse und der Form des Leitwegs zusammen, um den Zugriff zu dem obersten linken Element der Untermatrix oder dem Bildpunkt I (i,j) zu ermöglichen. Die Angabe des Leitwegs bezeichnet, welche der pq Bitpositionen d (0), d (1), ..., d (pq-1) des Datenregisters 39 die Information eines Elementes e (i,j,k,t) empfangen oder senden soll.
Gestalt der
Untermatrix
1 χ pq
Tabelle 1
t_ Berechnung der Adresse 00 M(i, j)= Ciq+(i/p)//q+jJ //pq . g(i,j,k,tHk-M(i,j)J//pq; b=g(i,j,k,t)/
erforderlicher Leitweq
pq χ ι
Ol g(i,j,k,t)=(k-j)//pq e(j
a=CpLg(i/J/k,t)//qJ+g(i,j,k,t)/q-i]//pq; t (i, j, k, t)=L(i+a )/pJ s+j/q .
SA 9-74-023
-η-
pxq 10 MUjXiq+U/pJ/An-j]//^. e(i, j, k,t)<-*d[g(i, j,k, t)]
g(i,j,k,t)=Lk-M(i,j)]//pq.
a=g(i,j,k,t)/q.
b=g(i,j,k,t)//q;
Beispiele von Schaltkreisen für die Ausführung dieser Adressenberechnungen und Leitwegsteuerungen sind in den Fign. 3 bis 13 dargestellt und werden unten ausführlich beschrieben. Diese Schaltungen sind nur Ausführungsbeispiele, weil auch andere Arten von Schaltkreisen möglich sind, welche die gleichen Berechnungen bespielsweise durch Tabellensuche leisten.
Die Speichereinrichtung nach der Erfindung soll maximal eine rp χ sq Matrix von Bildpunkten I (*,*} speichern können,wobei die Koordinaten der Bildpunkte I (i,j) in den Bereichen 0:S-i><: rp und 0^~-j <rsq liegen. Weiter soll die Speichereinrichtung das Bild in einer Weise speichern können, dass Zugriff zu Bildpunkten I (*,*) in Untermatrizen der Form 1 χ pq, pq χ 1 oder pxq möglich ist.
Modul-Zuordnung
Wenn die Speichereinrichtung nach Fig. 1 eine Bildmatrix I (*,*) speichern soll, dann ist es für jeden Bildpunkt I (i,j) notwendig zu bestimmen, wel-
SA 9-74-023 - 12 -
609822/0891
eher der pq Moduln wie beispielsweise 21, 23 oder 25 die Information I (i,j) speichern soll. Es wurde festgestellt, dass die zweckmässige Aufteilung der Bildpunkte auf die einzelnen mit 0, 1, ..., pq-1 bezeichneten Speichermoduln kurz mit einer ganzzahligen Modul-Zuordnungsfunktion M (i,j) beschrieben werden kann. Für irgendwelche ganze Zahlen i und j in den Bereichen OrSi -^rp und 0 ^==^j -= sq liegt der Wert dieser ganzzahligen Modul-Zuordnungsfunktion M (i,j) im Bereich 0 ^M (i,j)-=.pq. Jeder Bildpunkt I (i,j) ist dann im entsprechenden Speichermodul M (i,j) gespeichert.
Es wurde nun unerwarteterweise herausgefunden, dass die genannte Bedingung des Speichems von pq Bildpunkten jeder Untermatrix der Gestalt 1 x Pq/ Pq x 1 oder ρ χ q in verschiedenen Speichermoduln immer dann erfüllt ist, wenn die Modul-Zuordnungsfunktion die Form hat: M (i,j) = [iq + (i/p) // q + j ]// pq, wobei der Wert [iq + (i/p) // q + j]/pq den Rest der ganzzahligen Division der Grosse ^iq + (i/p) // q + j] durch die Grosse pq hat. Dann ist der gleichzeitige Zugriff zu pq Bildpunkten in den gewünschten Untermatrizen möglich.
In der Fig. 2A ist die Modul-Zuordnungsfunktion M (i,j) = j_iq + (i/p)// q + j]// pq für den Fall dargestellt, dass die Entwurfgrössen ρ = q = 4
SA 9-74-023 - 13 -
609822/0891
und r = s = 8 sind. Die Hexadezimalzahl in der Stelle j der i-ten Zeile der 32 χ 32 Matrix der Fig. 2A bezeichnet den Speichermodul M (i,j) zum Speichern des Bildpunktes I (i,j). Beispielsweise bedeutet der mit einem Kreis versehene Eintrag E in der 5-ten Stelle der 6-ten Zeile die hexadezimale Schreibweise für die Dezimalzahl 14. Das bedeutet, dass der Bildpunkt I (6,5) im 14-ten Modul gespeichert wird. Das kann gerechnet werden als M (i,j) = M (6,5) = Liq + (i/p)// q + )]// PQ = Le χ 4 + (6/4)// 4 + 5J//4 x4 =[24 + (1) // 4 + 5 J// 16 = 30 // = 14.
Man kann aus der Fig. 2A ersehen, dass die pq = 16 Bildpunkte in jeder Untermatrix derv Form 1 χ pq = 1 χ 16 in verschiedenen Speichermoduln gespeichert werden. Die als Beispiel in der Fig. durch Einrahmen markierte horizontale Folge zeigt, dass die Bildpunkte I (6,13), I (6,14), ..., I (6,28) in den Moduln 6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5 gespeichert werden. Man kann ebenfalls der Fig. 2A entnehmen, dass die pq = K Bildpunkte irgendeiner pq χ 1 = 16 χ 1 Untermatrix ebenfalls in verschiedenen Moduln gespeichert werden. Die beispielsweise in der Figur durch Einrahmen markierte vertikale Folge zeigt, dass die Bildpunkte I (10,5), I (11,5), ..., I (25,5) in den Moduln 15,3,8,12,0,4,5,9,13,1,6,10,14, 2,7,11, gespeichert werden. Schliesslich kann man sehen, dass auch die
SA 9-74-023 - 14 -
609822/0891
2S49.3.36
-JS '
pq = 16 Bildpunkte irgendeiner ρ χ q = 4 χ 4 Untermatrix in verschiedenen Speichermoduln gespeichert werden* wobei die Koordinate i ein ganzzahliges Vielfaches von ρ = 4 ist. Der als Beispiel in der Fig. markierte 4x4 Block zeigt die Modul-Zuordnung der 4x4 Untermatrix, deren erstes Element links oben der Bildpunkt I (16,13) ist.
Die Modul-Zuordnungsfunktion M (i,j) ordnet jedem der rs Bildpunkte einen der pq Speichermoduln zu, ohne jedoch die spezielle Speichersteile oder Speicherzelle anzugeben, in welche die Bildpunkte gespeichert werden sollen. Es wurde aber unerwarteterweise herausgefunden, dass die Bildpunkte dann in passenden Speicherzellen A (i,j) der Speichermoduln M (i,j) gespeichert werden können, wenn die entsprechende Zuordnungsfunktion in folgender "Weise abgewandelt wird: A (i,j) = (i/p) s + (j/q), wobei i/p und j/q ganzzahlige Quotienten sind.
In der Fig. 2B ist als Beispiel die Adressen-Zuordnungsfunktion A (i,j) für den Fall dargestellt, dass ρ = q = 4 und r = s = 8 sind. Die Dezimalzahl in jedem ρ χ q = 4 χ 4 Block zeigt die Adresse der zugehörigen pq = 16 Bildpunkte. Beispielsweise fällt die 5-te Stelle der 6-ten Zeile in den Block mit der Dezimalzahl 9. Das bedeutet, dass der Bildpunkt I (6,5) in der 9-ten Speicherzelle des Speichermoduls M (6,5) zu speichern ist. Das
SA 9-74-023 - 15 -
609822/0891
kann berechnet werden als A (i,j) = A (6,5) = (6/4) 8 + (5/4) = (1) 8 + (D = 9.
Adressenberechnunq
Wenn ein Zugriff zum Lesen oder Schreiben zu einer Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q erfolgen soll, dann muss der Adressenberechnungsteil der Adressensteuerung 7 in Fig. 1 für den Bereich 0 s k < pq die Adresse des einzelnen Bildpunktes berechnen, der in den k-ten Speichermodul zu speichern ist.
In der Form der Schaltalgebra oder Booleschen Algebra kann das so ausgedrückt werden, dass wenn das Element oben links als Bezugspunkt der gewünschten 1 χ pq, pq χ 1 oder P χ q Untermatrix der Bildpunkt I (i,j) ist und wenn die Boolesche Variable t auf einen der Werte t = 00, t = 01 oder t = 10 gesetzt ist um anzuzeigen, ob der Zugriff zu einer Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q erfolgen soll, dann kann die zu berechnende Adresse für den Modul k in der Form f(i,j,k,t) geschrieben werden. Die Form dieser Adressenfunktion ist in der Tabelle 1 verzeichnet. Sie kann in folgender Weise verifiziert werden.
Es sei angenommen, dass der Zugriff zu einer Untermatrix der Form 1 χ pq
SA 9-74-023 - 16 -
609822/0891
2B49336
erwünscht ist, so dass t = 00 ist. Die Modul-Zuordnung sfunktion M (i,j) = [iq + (i/p)// q + j J // pq stellt sicher, dass der Modul k einen der erwünschten Bildpunkte I (i,j), I (i,j + 1), ..., I (i,j + pq - 1) speichert. Das ist im Sinne der Algebra dem gleichwertig, dass der Modul k den Bildpunkt I (i,j + b) speichert, wobei b eine ganze Zahl im Bereiche
0 iS b -= pq ist. Die berechnete Aufteilung der Bildpunkte auf die Speichermoduln gewährleistet, dass der Bildpunkt I (i,j + b) in der Adresse A (i,j + b) = (i/p) s + (j + b)/ q des Speichermoduls M (i,j + b) = [iq + (i/p) // q + j + bj// pq gespeichert wird. Daraus folgt, dass k = M (i,j + b) und £(i,j,k,t) = A (i,j + b) ist. Diese Beziehungen können benutzt werden, um zu zeigen, dass b ={_M (i»i + b) - iq - (i/p) // q - j J // pc = [k - iq - (i/p) // q - j J // ρ ist. Wir setzen g (i,j,k,t) = [ k - iq (i/p) // q ~ Jj // Pq und schliessen daraus, dass b = g (i,j,k,t) und im Falle, dass t = 00, ist £(i,j,k,t) = A (i,j + b) = (i/p) s + ( j + b)/q.
Es sei nun angenommen, dass der Zugriff zu einer Untermatrix der Form pq χ 1 erfolgen soll. In diesem Falle ist t = 01. Die Modul-Zuordnungsfunktion M (i,j) gewährleistet, dass der Modul k einen der Bildpunkte
1 (i,j), I (i + 1, j), ..., I (i + pq - 1, j) speichert. In äquivalenter algebraischer Schreibweise bedeutet das, dass der Modul k den Bildpunkt I (i + a, j) speichert, wobei die ganze Zahl a im Bereich 0 — a -^ pq liegt.
SA 9-74-023 - 17 -
609822/0891
Die Verteilung der Bildpunkte stellt sicher, dass der Bildpunkt I (i + a,j) an einer Adresse A (i + a, j) = [(i + a) / p] s + j/q des Speichermoduls M (i..+ a, j) = [(i + a) q + [(i + a) / pj // q + jj// pq gespeichert wird. Deshalb folgt daraus, dass k = M (i + a, j) und dass (i,j,k,t) = A (i + a, j ) ist. Diese Beziehungen können dazu benutzt werden, zu zeigen, dass a = [p [ (k - j) // q - i + [ (k - j) // pq] / q] q j // pq ist. Wir setzen nun g (i,j,k,t) = (k - j) // pq und schliessen daraus, dass a = £ P [g (i,j,k,t) // q] - i + g (i,j ,k,t) / q] // pq und dass t (i,j,k,t) = A (i + a, j) = L(i + a) / p] s + (j/q) ist.
Schliesslich sei angenommen, dass der Zugriff zu einer Untermatrix ρ χ q erfolgen soll. In diesem Falle ist t = 10 und i ist ein ganzzahliges Vielfaches von p. Als Konsequenz der Modul-Zuordnungsfunktion M (i,j) speichert der Modul k einen der erwünschten Bildpunkte I (i,j), I (i/j + 1), ..., I (i,j + q - D, 1 (i + 1, j), ..., I (i + ρ - 1, j + q - 1). In äquivalenter Schreibweise bedeutet das, dass der Modul k den Bildpunkt I. (i + a, j + b) speichert, wobei die ganzen Zahlen a und b in den Bereichen 0 — a <z ρ und 0^. b < q liegen. Die Verteilung der Bildpunkte unter die Speichermoduln stellt jedoch sicher, dass der Bildpunkt I (i + a, j + b) an eine Adresse A (i + a, j + b) = [ (i + a)/ p] s + (j + b) / q des Moduls M (i + a, j + b) ={ (i + a) q + [(i + a) / P J// q + j + hj // pq
SA 9-74-023 - 18 -
609822/0891
gespeichert wird. Daraus folgt, dass k = M (i + a, j + b) und c (i, j,k,t) = A (i + a, j + b) ist. Weil i ein Vielfaches von ρ ist, wird [_ (i + a) / ρ J// q = (i/p) // q. Diese Beziehungen können dazu benutzt werden, zu zeigen, dass aq + b = [,M (i + a, j + b) - iq-(i/p) // q - j J// pq = [_k - iq - (i/p) // q - j J // pq ist. Wir setzen g (i,j,k,t) =£k- iq Ü/p) // q - j J // PQ und schliessen, dass a = g (i,j,k,t) / q und b = g (i,j,k,t) // q, so dass die Speicherstellen-Zuordnung £(i,j,k,t) = A (i,+ a, j + b) = [(i + a) / p] s + (j + b) / q wird.
Leitweq steuerung
Immer wenn eine Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q der
Bildmatrix I (*,*) in die Speichereinrichtung der Fig. 1 geschrieben wird oder aus ihr gelesen, empfängt oder sendet jeder Speichermodul wie 21, und 25 ein einzelnes Element der Untermatrix. Entsprechend leitet die Umordnung sschaltung 47 die Elemente dieser Untermatrix aus dem Datenregister 39 in die Speichermoduln für Schreiboperationen und die Umordnungsschaltung 49 die Elemente der Untermatrix aus den Speichermoduln heraus in das Datenregister für Leseoperationen. Die Arbeitsweise der Umordnungsschaltungen 47 und 49 wird durch Signale auf den Leitungen 15 gesteuert, welche durch den Steuerteil der Adressensteuerung 7 geliefert werden.
SA 9-74-023 - 19 -
$09822/0891
In algebraischer Schreibweise bedeutet das, dass das erste Element oben links der Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q der Bildpunkt I (i,j) ist, zu welchem der Zugriff erfolgt. Die Boolesche Variable t wird auf einen der Werte t = 00, t = 01 oder t = 10 gesetzt, um anzugeben, ob der Zugriff zu einer Untermatrix der Form 1 χ pq, pq χ 1 oder ρ χ q erfolgen soll. Das einzelne Element der Untermatrix des Moduls k kann mit e (i,j,k,t) bezeichnet werden. Dieses Element muss zu einer oder aus einer der pq Bitpositionen d (0), d (1), ... d (pq - 1) des Datenregisters geleitet werden, wie in der Tabelle 1 angegeben.
Es werde als Beispiel angenommen, dass der Zugriff zu einer Untermatrix der Form 1 χ pq erfolgt, sodass t = 00 ist. Da das Datenregister die Information in der Hauptzeilenfolge enthält, sollte das Element I (i,j + b) der Untermatrix in die Bitposition d (b) des Datenregisters geleitet bzw. aus ihr entnommen werden. Wie im letzten Abschnitt beschrieben, wird der Bildpunkt I (i,j + b) in dem Speichermodul k gespeichert, wobei die ganzen Zahlen k und b nach der Formel b = £k - iq - (i/p) // q - j J//pq = g (i,j,k,t) miteinander verknüpft sind. Deshalb wird das einzelne Element der 1 χ pq Untermatrix, das aus dem Modul k entnommen werden soll. nämlich I (i,j + b) = e (i,j,k,t),in die Bitposition d (b) = d[g (i,j,k,t)J des Datenregisters geleitet bzw. aus dieser Position im Falle des Ein-
SA 9-74-023 - 20 -
609822/0 891
speicherns entnommen.
Es sei nun angenommen, dass der Zugriff zu einer Untermatrix der Form pq χ 1 erfolgen soll, so dass t = 01 ist. Da die Untermatrix in der Hauptzeilenfolge im Datenregister gespeichert wird, gehört das Element I (i + a, j) in die Bitposition d (a) des Registers. Deshalb ist das Element, zu dem der Zugriff im Speichermodul k erfolgen soll, nämlich der Bildpunkt I (i + a, j) = e (i,j,k,t), aus der Bitposition d (a) des Datenregisters zu holen oder in diese zu übertragen. Wie oben erläutert, kann die ganze Zahl a aus der Beziehung a = ι {g (i,j,k,t)// q J - i + g (i,j,k,t / q > // pq gewonnen werden, wobei g (i,j,k,t) = (k - j) // pq ist.
Schliesslich sei angenommen, dass der Zugriff zu einer ρ χ q Untermatrix erfolgen soll, so dass t = 10 und i ein Vielfaches von ρ ist. Da die Untermatrix in der Hauptzeilenfolge im Datenregister gespeichert wird, muss das Element I (i + a, j + b) der Untermatrix von oder zu der Bitposition d (aq + b) des Datenreigisters geleitet werden. Wie oben beschrieben, wird der Bildpunkt I (i + a, j + b) in dem Speichermodul k gespeichert, wobei k mit den Grossen a und b gemäss der Formel aq + b = [_ k -iq (i/p) // q - j J // pq = g (i,j,k,t) verknüpft ist. Deshalb wird das einzelne Element der ρ χ q Untermatrix, das vom Modul k ausgelesen oder in
SA 9-74-023 - 21 -
609822/0891
ihn eingespeichert werden soll, nämlich I (i + a, j + b) = e (i,j,k,t) von oder zu der Bitposition d (aq + b) = d \_g (i,j,k,t)"] des Datenregisters geleitet.
Schaltkreise
Die Fig. 3 zeigt eine schematische Uebersicht der für die Adressensteuerung 7 nach Fig. 1 notwendigen Schaltkreise. Die pq Speichermoduln 0 bis pq - 1, beispielsweise bezeichnet 21, 23 und 25, sind in ρ Zeilen mit je q Moduln angeordnet. Die Adressensteuerung enthält eine Anzahl von Baueinheiten, nämlich eine einzelne Grundsteuerung 51, ρ gleichartig aufgebaute Zeilensteuerungen 53, 55 bis 57, je eine für jede Zeile von Speichermoduln, q gleichartig aufgebaute Spaltensteuerüngen 52, 54 bis 56, für je eine Spalte von Moduln und pq gleichartig aufgebaute Modulsteuerungen 59, 61 bis 63, je eine für jeden Speichermodul.
Die Grundsteuerung 51 verarbeitet die von den Registern 1, 3 und 5 gelieferten Signale zum Bestimmen der Gestalt der Untermatrix t und der Anfang skoordinaten des ersten Bildelementes i und j, umdarausdie Grossen P, R und C zu berechnen. Grosse P wird dazu gebraucht, die Umordnungsschaltungen 47 und 49 über die Leitungen 15 zu steuern, wie in der Fig. 1 gezeigt ist. Die Grosse R besteht aus Binärwerten, die über Leitungen 64
SA 9-74-023 - 22 -
609822/0891
den Zeilensteuerungen 53, 55 und 57 zugeleitet werden. Die Grosse C wird über Leitungen 70 zu den Spaltensteuerungen 52, 54 und 56 übertragen.
Jede der Zeilensteuerungen 53, 55 bis 57 verarbeitet als Eingangs Signa Ie eine der fest bezeichneten Zeilen-Nummern 0 bis ρ - 1 und die Grosse R, die von der Grundsteuerung 51 geliefert wird, um daraus eine Adresseninformation für die Speicherzellen in den Speichermoduln zu berechnen, die zu der entsprechenden Zeile gehören. Diese Adresseninformationen werden über Leitungen 65, 67 und 69 an die entsprechenden Modulsteuerungen geliefert.
Jede der Spalten Steuerungen 52, 54 bis 56 verarbeitet als Eingangssignale eine der fest bezeichneten Spalten-Nummern 0 bis q - 1 und die Grosse C, die von der Grundsteuerung 51 geliefert wird, um daraus eine Adresseninformation zu berechnen für die Speichermoduln, die zu der entsprechenden Spalte gehören. Diese Adresseninformationen werden über Leitungen 71, 73 bis 75 an die entsprechenden Modulsteuerungen geliefert, an welche die Speichermoduln angeschlossen sind.
Jede der Modulsteuerungen 59, 61 bis 63 verarbeitet die Adressensignale,
SA 9-74-023 - 23 -
609822/0891
die sowohl durch eine der Zeilensteuerungen 53, 55 bis -57 als auch durch eine der Spaltensteuerungen 52, 54 bis 56 geliefert werden, um daraus eine Speicherzellenadresse zu berechnen. Insbesondere berechnet die mit dem k-ten Speichermodul verbundene Steuerung die Speicherzellenadresse P (i,j,k,t). Diese Speicherzellenadressen werden an die entsprechenden Speichermoduln über Leitungen 9, 11 bis 13 geliefert.
Die Fign. 4 bis 7 dienen zur Erläuterung der Grundsteuerung 51, einer der Zeilensteuerungen 53 bis 57, einer der Spaltensteuerungen 52, 54 bis 56 und einer der Modulsteuerung 59 bis 63. Die Arbeitsweise jeder Baueinheit wird sowohl nach den Regeln der Schaltalgebra als auch anhand einer beispielsweisen Verknüpfungsschaltung beschrieben. Die algebraische Beschreibung fasst die Eingangssignale, die Ausgangssignale und die Berechnungen oder logischen Verknüpfungen zusammen, die von jeder Baueinheit auszuführen sind. Diese algebraische Beschreibung ist für jede Kombination der Entwurfsgrössen ρ, q, r und s geeignet. Die dargestellten Ausführungsbeispiele von Schaltkreisen gehören jedoch zu dem speziellen Beispiel mit den Entwurf sgrös sen ρ = q = 4 und r = s = 8.
Fig. 4 ist ein spezielles Beispiel der Grundsteuerung 51. Die Eingnagssig nale für diesen Schaltkreis sind die Bezeichnung der Gestalt der Unter-
SA 9-74-023 - 24 -
609822/0891
-as-
matrix t Und die Anfangskoordinaten i und j. Die Ausgangssignale sind die Grössem P, R und C. Wie aus der Figur ersichtlich, besteht jede dieser Grossen aus einem Bündel von Steuersignalen, z.B. besteht P aus den Booleschen Weiten i2, tOl und m, R aus tOO, iO, yO und uO und C aus tOl, xO, jO und vO. Jeder dieser Werte wird durch die Grundsteuerung nach den Formeln berechnet, die unten in der Fig.. 4 angegeben sind.
Die beiden ersten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Grossen tOO und tQl. Die Grosse tOO hat einen echten Booleschen Wert, wenn das Eingangssignal t den Wert t = 00 hat. Das kann symbolisch in der Form tOO = EQ (t, 00) geschrieben werden. Das Signal tOO wird-über die Leitung 411 von dem UND-Glied 407 mit den invertierenden Eingängen 401 und 403 geliefert. In ähnlicher Weise wird das Signal tOl = EQ (t, 01) über die Leitung 413 von dem UND-Glied 409 geliefert, dessen einer Eingang 405 ebenfalls invertierend ausgebildet ist.
Die beiden nächsten zu berechnenden Werte sind x0 = i/p und i0 = i//p, d.h.;'der Quotient und der Rest der ganzzahligen Division von i durch p. Da die Bildkoordinate i eine binär codierte ganze Zahl ist und weil für das Ausführungsbeispiel der Fig. 4 ρ = 4 ist, wird i0 gerade durch die beiden niedrig stelligen Bits der Binärzahl i und x0 durch die übrigen Bits
SA 9-74-023 - 25 -
60982270891
von i dargestellt. Diese Signale erscheinen auf den Leitungen 419 bzw. 421.
Ein weiterer zu berechnender Wert ist die Grosse i2 = tOl (i // pq). Wenn das oben gebildete Signal tOl auf der Leitung 413 den Wert tOl = 0 hat, dann hat i2 den Wert i2 = 0. Wenn andererseits das Signal den Wert tOl = 1 hat, dann ist die Grosse i2 der Rest der ganzzahligen Division von i durch pq. Da i aber eine binär codierte ganze Zahl ist, und weil für das spezielle Ausführungsgeispiel pq = 16 ist, so wird die Grosse i // Pq gerade durch die stellenwertniedrigeren vier Bits der Grosse i dargestellt, welche Signale über die Leitungen 415 den UND-Gliedern 417 zugeführt werden. Das übrige Eingangssignal für die UND-Glieder 417 wird durch den Wert tOl gebildet, weiches Signal über die Leitung 413 zugeführt wird. Daher bilden die Ausgangssignale der UND-Glieder 417 die gewünschte Grosse i2 = tOl (i // pq).
Die beiden nächsten Werte, welche durch die Grundsteuerung zu berechnen sind, sind die Grossen yO = j/q und jO = j//q. Die Bildkoordinate j ist eine binär codierte ganze Zahl und im Ausführungsbeispiel nach Fig. 4 ist q = 4. Daher werden jO und yO durch die weniger signifikanten beiden Bits von j und durch die übrigen Bits von j dargestellt.
SA 9-74-023 - 26 -
60982270891
'31'
Ein weiterer von der Grundsteuerung zu berechnender Wert ist die Grosse m = (tOl [_iO* q + xO // q] + j // pq) // pq. Für das Ausführungsbeispiel der Fig. 4 erscheinen die oben berechneten Werte iO und xO als Signale auf den Leitungen 421 bzw. 419. Der durch beiden niedrig stelligen Bits von xO dargestellte Wert xO // q erscheint als Signal auf den Leitungen 423. Die Summe iO· q + xO // q kann durch Verketten bzw. Nebeneinanderstellen der Werte iO und xO // q gebildet werden. Dieses Summensignal wird über die Leitungen 426 den UND-Gliedern 427 zugeführt. Das andere Einganssignal für die UND-Glieder 427 wird durch den Wert tQl gebildet, was das Komplement der vorher bestimmten Grossen tOl ist. Dieser Wert tOl wird durch den Inverter 425 gebildet und über die Leitung 424 zu den UND-Gliedern 427 geleitet.
Die Ausgangssignale der UND-Glieder 427 bilden die Grosse tOl £iO· q + xO // qj/ welche als Signal auf den Leitungen 428 der Addier schaltung 431 als ein Eingangswert zugeführt wird. Der andere Eingangswert ist die Grosse j // Pq/ welche durch die vier niedrigstelligen Bits des Wertes j verkörpert wird. Diese Grosse j // pq wird als Signal auf den Leitungen 429 der Addierschaltung 431 zugeführt. Folglich enthalten die vier niedrigstelligen Bits auf den Ausgangsleitungen 433 der Addierschaltung 431 die gewünschte Grosse
= (tOl [^iO-q + xO // q] + j // pq) // pq.
SA 9-74-023 - 27 -
609822/0891
Die letzten beiden durch die Grundsteuerung zur liefernden Ausgangssignale sind die Grossen uO = m/q und vO = m//q. Diese werden bei dem Ausführungsbeispiel nach Fig. 4 durch die beiden niedrig stelligen bzw. durch die übrigen Bits der oben berechneten Grosse m gebildet.
Fig. 5 zeigt Einzelheiten einer der Zeilensteuerungsschaltungen, wie sie in Blockform in der Fig. 3 mit den Bezeichnungen 53, 55 oder 57 angedeutet sind. Die gezeichnete Schaltung ist mit der u-ten Zeile von Speichermoduln verbunden, wobei u im Bereich O=Su-^p liegt. Die Eingangssignale für diese Schaltung sind die Zeilennummer u und das Bündel der Signale R. R enthält die Werte tOO, iO, yO und uO, welche durch die Grundsteuerschaltung 51 bereitgestellt werden. Die Ausgangssignale der Schaltung bestehen aus den Werten tOO, yu, 0u2 und eu3, welche entsprechend den Verknüpfungen berechnet werden, deren Formeln unten in der Fig. 5 angegeben sind. Diese Werte enthalten Adresseninformation, welche für die Berechnung der Speicherzellenadressen in den Speichermoduln der u-ten Zeile von Moduln gebraucht werden.
Ein erster Wert, der durch die Zeilensteuerung zu berechnen ist, ist die Grosse ζ = (u - uO)//p. Die Inverter 501 und die Addierschaltung 503 dienen dazu, uO von u zu subtrahieren, wobei die bekannte Beziehung
SA 9-74-023 - 28 -
609822/0891
u - uO = u + uO + 1 verwendet wird. Da in dem Ausführungsbeispiel ρ = 4 ist, bilden die beiden weniger signifikanten Ausgabebits der Addierschaltung 503 auf den Leitungen 505 die gewünschte Grosse ζ = (u - uO)//p.
Der nächste durch die Zeilensteuerung zu berechnende Wert ist die Grosse yu = yO + tOO (ζ - 1). Die Addierschaltung 507 liefert den Wert yO - tOO über die Leitungen 509 an die Addierschaltung 513 und an die Halb-Addierschaltung 515, Die UND-Glieder 511 liefern den Wert tOO * 3 an die Addierschaltung 513. Folglich berechnen, zusammengenommen, die Addierschaltung 513 und die Halb-Addierschaltung 515 die gesuchte Grosse yu = yO + tOO (ζ - 1).
Ein weiterer durch die Zeilensteuerung zu berechneder Wert ist die Grosse eul = EQ (z,0), d.h. eul ist eine Boolesche Variable mit dem Wert eul = 1 für ζ = 0 und mit dem Wert eul = 0 für ζ = 1. Das ODER-Glied 517 und der Inverter 519 bestimmen, ob ζ = 0 ist und liefern das Signal eul = EQ (z,0) auf der Leitung 521.
Weitere durch die Zeilensteuerung zu berechnende Werte sind die Booleschen Variablen £u = LT (z,iO) und eu2 = EQ (z, iO). ^u=I für ζ -* iO
SA 9-74-023 - 29 -
609822/0891
und eu2 = 1 für ζ = iO. Die Inverter 523 und die Addierschaltung 525 dienen dazu, den Wert iO von der Grosse ζ nach der Beziehung ζ - iO = ζ + iO + 1 zu subtrahieren. Der Inverter 523 invertiert den von der Addierschaltung 525 gelieferten Uebertrag, um den Wert I u = LT (z - iO, O) = LT (z, iO) zu berechnen, während das ODER-Glied 527 und der Inverter 529 das Signal eu2 = EQ (z - iO, 0) = EQ (z, iO) auf der Leitung 531 bereitstellen.
Der letzte durch die Zeilensteuerung zu berechnende Wert ist die Boolesche Variable eu3 = tOO · eul + tOO · eul (£u2 + eu2). Diese Variable wird durch die ODER-Glieder 533 und 543, durch die Inverter 535 und 537 und durch die UND-Glieder 539 und 541 berechnet.
Fig. 6 zeigt Einzelheiten einer der Spaltensteuerungsschaltungen, wie sie in Blockform in der Fig. 3 mit den Bezeichnungen 52, 54 oder 56 angedeutet sind. Die gezeichnete Schaltung ist der v-ten Spalte von Speichermoduln zugeordnet, wobei ν im Bereich O^ ν «cq liegt. Die Eingangssignale für diese Schaltung sind die Spaltennummer ν und das Bündel der Signale C. C enthält die Werte tOl, xO, jO und vO, welche durch die Grundsteuerschaltung 51 bereitgestellt werden. Die Ausgangssignale der Schaltung bestehen aus den Werten tOl, xv, ivl, evl und £v2, welche
SA 9-74-023 - 30 -
609822/0891
entsprechend den Verknüpfungen berechnet werden, deren Formeln unten
in der Fig. 6 angegeben sind. Diese Werte enthalten Adresseninformation, welche für die Berechnung der Speicherzellenadressen in den Speichermoduln der v-ten Spalte von Moduln gebraucht werden.
Ein erster Wert, der durch die Spaltensteuerung zu berechnen ist, ist die Grosse xv = xO + tOl [ (v - vO) // qj. Die Inverter 601 und die Addierschaltung 603 dienen dazu, vO von ν zu subtrahieren. Die beiden niedrigstelligen Bits von der Addierschaltung 603 auf den Leitungen 605 enthalten die Grosse (v - vO) // q. Infolgedessen dienen die UND-Gliedei 607, die Addierschaltung 609 und die Halb-Addierschaltung 611 dazu, die gewünschte Grosse xv = x0 + tOl ]_ (v - vO) // q] zu berechnen.
Die nächsten beiden zu berechnenden Grossen sind die Booleschen Variablen tvl = LT (v, vO) und evl = EQ (v, vO). Es ist fvl = 1, wenn v-i vO ist, und evl = 1, wenn ν = vO ist. Der Inverter 613 invertiert den von der Addierschaltung 603 gelieferten Uebertrag, um den Wert CvI = LT (v.- vO, 0) = LT (v, vO) zu berechnen, während das ODER-Glied 615 mit dem invertierenden Ausgang 617 den Wert evl = EQ \_ (v vO) // q, θ] = EQ (v, vO) berechnet.
SA 9-74-023 - 31 -
609822/0891
•3?'
Die letzte durch die Spaltensteuerung zu berechnende Grosse ist die Boolesche Variable fv2 = LT ( \_v - tOl (xO // q) ] // q, jO). Die Grosse xO // q wird durch die beiden niedrigstelligen Bits von xO gebildet. Dieses Signal wird über die Leitungen 619 den UND-Gliedern 623 zugeführt. Infolgedessen liefern der Inverter 621 und das UND-Glied 623 die Grosse tOl (xO // q) an die Inverterschaltungen 625. Die Addierschaltung 627 dient mit den Invertern 625 dazu, den Wert tOl (xO // q) von ν zu subtrahieren und die beiden niedrigstelligen Bits dieser Differenz, nämlich die Grosse £v - tOl (xO // q)j // q, an die Addierschaltung 631 zu liefern. Die Addierschaltung 631 dient in Verbindung mit den Invertern 629 dazu, den Wert jO von der Grosse \_v - tOl (xO // q)J // q zu subtrahieren. Schliesslich invertiert der Inverter 633 den von der Addierschaltung 631 gelieferten Uebertrag, um so die Grosse fv2 = LT ( [ ν - tOl (xO // q)j // q - JO, 0) = LT ( {_ ν - tOl (xO // qj// q, jO) zu berechnen.
Fig. 7 zeigt Einzelheiten einer der Modulsteuerungsschaltungen 59, wie sie als Blöcke 59, 60 oder 63 in Fig. 3 dargestellt sind. Es ist im einzelnen die Modulsteuerung für den k-ten Speichermodul dargestellt, wobei k im Bereich 0 — k «^pq liegt. Zu den Eingangssignalen für diese Schaltung gehören die Grossen tOl, xv, £vl, evl und £v2, welche von der v-ten Spaltensteuerungsschaltung berechnet wurden. Dabei ist ν mit k durch die
SA 9-74-023 - 32 -
609822/0891
Beziehung ν = k // q verknüpft. Weitere Eingangssignale sind die Grossen tOO, yu, £u2 und eu3, welche durch die Zeilensteuerungsschaltung für die u-te Zeile von Speichermoduln berechnet wurden, wobei u = k/q ist. Die Ausgangssignale der Modulsteuerung bilden die Zellenadresse c(i,j,k,t), welche entsprechend den Verknüpfungen nach den Formeln unten in der Fig. 7 berechnet wurden.
Der erste durch die Modulsteuerung zu berechnende Wert ist die Grosse χ = sv + q ♦ tOl · evl {£v2 · ?u2 + ?v2 · eu3) . Es ist daher das q-fache der Booleschen Grosse tOl · evl (ßv2 · fu2 + βv2 · eu3) zum Wert xv zu addieren. Der benötigte Boolesche Wert wird berechnet und auf der Leitung 710 mittels des Inverters 701, der UND-Glieder 703, 705 und 709 und des ODER-Gliedes 707 bereitgestellt. Da in dem Ausführungsbeispiel q — 4 ist, dient die Halb-Addierschaltung 711 dazu, die Grosse χ = xv + q · tOl * evl (£v2 · tv2 + Lv2% eu3) dadurch zu berechnen, indem sie das auf der Leitung 710 erscheinende Signal zu dem höherwertigsten Bit von xv addiert. Das Signal χ erscheint auf den Leitungen 713.
Der nächste durch die Modulsteuerung zu berechnende Wert ist die Grosse y = yu + ρ · tOO · £vl · eu3 + t00 · ivl + tOl ♦ fv2.Dieser Wert wird durch d; Addierschaltung 725, die Halb-Addierschaltung 727 und die Addierschaltung
SA 9-74-023 - 33 -
609822/0891
729 berechnet und auf die Leitungen 731 gegeben. Die Grosse tOO eu3 wird durch das UND-Glied 715 bestimmt und über die Leitung 716 an die Addier schaltung 725 geliefert. Dei Addierschaltung 725 addiert das Vierfache dieser Variablen, denn ρ = 4, über die Leitung 716 zu dem werthöchsten Bit von yu. Die Variable tOO · tvl wird durch das UND-Glied 723 mit einem invertierenden Eingang 719 gebildet. Die andere Variable tOl * Iv2 wird durch das UND-Glied 721 mit einem invertierenden Eingang 717 gebildet. Beide Werte werden durch die Addierschaltung 729 zu dem wertniedrigsten Bit von yu addiert.
Der letzte durch die Modulsteuerschaltung für den Speichermodul k zu ermittelnde Wert 1st die Speicherzellenadresse £(i,j,k,t) = x«s + y. In dem Ausführungsbeispiel der Fig. 7 ist s = 8 und y -= 8, so dass f (i,j,k,t! einfach so erhalten wird, dass man die auf den Leitungen 713 und 731 erscheinenden Werte von χ und y nebeneinander setzt. Die Speicherzellenadresse £(i,j,k,t) wird über die Leitungen 733 an den Speichermodul k geliefert.
Die Fign. 8 bis 13 erläutern die Leitwegschaltung 8 der Fig. 1. Diese Schaltung dient dazu, die Information der Bild punkte irgendeiner Untermatrix der Gestalt 1 χ pq, pq χ 1 oder ρ χ q in der richtigen Weise
SA 9-74-023 - 34 -
809822/089 1
-is-
zwischen den Speichermoduln 21, 23 bis 25 und dem Datenregister 39 zu verschieben. Die Schaltung muss dabei auf entsprechende Steuersignale P der Grundsteuerschaltung auf den Leitungen 15 reagieren, um die Information der Bildpunkte zwischen den Speichermoduln und den entsprechenden Bitpositionen des Datenregisters richtig zu leiten. Die Leitwegschaltung 8 enthält die nach rechts drehende Umordnungsschaltung 47 und die nach links drehende Umordnungsschaltung 49. Die Fign, 8 bis beschreiben die Arbeitsweise der Leitweg schaltung sowohl in Form der Schaltalgebra als auch anhand eines Ausführungsbeispiels der Schaltung. Die algebraische Beschreibung passt allgemein für alle Kombinationen der Entwu rf sgrö ssen, während das dargestelle Ausführungsbeispiel für den speziellen Fall gilt-, dass ρ = q = 4 ist.
Fig. 8 gibt einen Ueberblick über die Umordnungsschaltung Pl, welche in Fig. 1 mit 47 bezeichnet ist. Diese Schaltung leitet die Elemente der gewünschten Untermatrix aus dem Datenregister 39 in die entsprechenden Speichermoduln 21, 23 bis 25. Sie enthält drei getrennte Umordnungsschaltungen, nämlich zwei um einen variablen Betrag die Daten nach rechtr zyklisch vertauschende Schaltungen 801 und 805 sowie eine spezielle Schaltung 803. Die Steuersignale für diese drei Schaltungen sind die auf den Leitungen 807, 809 bzw. 811 von der Grundsteuerschaltung nach Fig. Ί
SA 9-74-023 - 35 -
609822/0891
der Adressensteuerung gelieferten Booleschen Variablen 12, tOl und m, welche das Bündel der Signale P bilden.
Fig. 9 zeigt ein Ausführungsbeispiel für die in der Fig. 8 dargestellten Permutatoren 801 und 805 mit veränderlicher Rechtsdrehung. Dieser Permutator hat 16 Dateneingänge 813, vier Steuereingänge 819 und 16 Datenausgänge 817. Die Reihenfolge der Bildpunkteeingangs signale auf den Leitungen 813 wird um eine Anzahl von Positionen nach rechts zyklisch verschoben, die gleich dem binären Steuerwert auf den Leitungen 819 ist, und diese verdrehte Reihenfolge von Bildpunkten wird auf den Leitangen 817 ausgegeben. Die Schaltung besitzt vier einfache Umordner 821, 823, und 827, um die gewünschte Drehung zu erreichen. Jeder dieser einfachen Umordner reagiert auf ein Bit des Steuerwertes auf den Leitungen 819 durch zyklisches Vertauschen seiner Eingangssignale um einen festen Betrag, wenn das Steuerbit eine Eins, und durch Nicht-Drehung seiner Eingangssignale, wenn das Steuerbit eine Null ist. Der Umordner 821 reagiert beispielsweise auf das wertniederste Steuerbit auf der Leitung 820 durch Umordnen seiner Eingangssignale um eine Position nach rechts, wenn das Steuerbit eine Eins ist, und durch Nicht-Verdrehung oder Durchschalten seiner Eingangssignale, wenn das Steuerbit eine Null ist. In jedem Fall werden die umgeordneten oder nicht umgeordneten Eingangssignal
SA 9-74-023 - 36 -
609822/0891
- 2b49336
durch den Permutator 821 auf die Leitungen 815 ausgegeben.
Fig. 10 zeigt ein Ausführungsbeispiel für den in der Fig. 8 dargestellten Permutator 821. Die Eingangsdaten auf den Leitungen 813 werden direkt und ohne Drehung zu den UND-Gliedern 831 geleitet. Diese Daten werden ausserdem um eine Position nach rechts verschoben zu den UND-Gliedern
829 geleitet. Wenn das auf der Leitung 820 erscheinende Steuerbit eine binäre Null ist, werden die UND-Glieder 829 gesperrt und der Inverter liefert ein Einschaltsignal über die Leitung 830 an die UND-Glieder 831. Die Eingangsdaten auf den Leitungen 813 werden somit ohne Drehung direkt auf die Ausgangsleitungen 815 über die UND-Glieder 831 und die ODER-Glieder Q33 geleitet. Wenn umgekehrt das auf der Leitung 820 erscheinende Steuerbit eine binäre Eins ist, werden die UND-Glieder 829 eingeschaltet und der Inverter 828 liefert ein Sperrsignal über die Leitung
830 an die UND-Glieder 831. Die Eingangsdaten auf den Leitungen 813 werden daher in gedrehter Form über die UND-Glieder 829 und die ODER-Glieder 833 auf die Ausgangsleitungen 815 gegeben.
Die spezielle Schaltung Sl, welche in der Fig. 8 mit der Nummer 803 bezeichnet ist, hat 16 Dateneingänge d1 (θ), d1 (1), ..., d' (15) auf den Leitungen 802, ein einziges Steuerbit t01 auf der Leitung 809 und 16 Da-
SA 9-74-023 - 37 -
609822/0891
tenausgänge e1 (θ), e1 (l), ..., e1 (15) auf den Leitungen 804. Die Fig. 11 beschreibt diesen Sonderpermutator Sl algebraisch und mit Hilfe einer beispielhaften Schaltung. Die algebraische Beschreibung gilt für jede Kombination der Entwurfparameter ρ und q, die Schaltungskonstruktion ist spezifisch für ρ = q = 4.
Nach der Darstellung in der Fig. 11 können die Ausgangssignale des Sonderpermutators Sl auf den Leitungen 804 durch die Beziehung e1 (k) = tOl · d1 (k) + tOl . d' (p L k//q ] + k/q, 0 =£ k < pq beschrieben werden.
Wenn der Steuereingang tOl eine binäre Null ist, so dass sein Komplement tOl eine binäre Eins ist, dann ist der k-te Ausgang e1 (k) gleich dem k-ten Eingang d1 (k). Das Steuereingangssignal tOl = 0 in der Fig. sperrt die UND-Glieder 837, der Inverter 835 schaltet die UND-Glieder 839 durch und die auf den Leitungen 802 erscheinenden Eingangs signale werden in unveränderter Reihenfolge auf die Ausgangsleitungen 804 über die UND-Glieder. 839 und die ODER-Glieder 841 geleitet. Wenn umgekehrt das Steuersignal tOl eine binäre Eins ist, dann wird das k-te Ausgangssignal e1 (k) zum Einganssignal d1 (p [k//qj + k/q). In der Fig. schaltet die Steuervariable tOl = 1 die UND-Glieder 837 ein und sperrt über den Inverter 835 die UND-Glieder 839. Die Eingabe d1 (p [ k//q ] +
SA 9-74-023 - 38 -
6 0 9822/0891
k/q) = d1 (4 {_ k//4 j + k/4) wird somit zur Ausgabe e1 (k) über die UND-Glieder 837 und die ODER-Glieder 841 geleitet.
Die Fig. 12 zeigt eine Uebersicht der Umordnungsschaltung 49 oder des Permutators P2, der die aus den Speichermoduln 21, 23 und 25 ausgelesenen Untermatrixbildpunkte in die entsprechenden Positionen des Datenregisters 39 leitet. Der Betrieb des Permutators P2 wird algebraisch und mit Hilfe einer beispielhaften Schaltung beschrieben. Die algebraische Beschreibung gilt allgemein für jede Kombination der Konstruktionsparameter ρ und q, die beispielhafte Schaltung ist spezifisch für den Fall P = q = 4.
Nach der Darstellung in der Fig. 12 enthält der Permutator P2 drei separate Permutatoren, nämlich die beiden linksdrehenden Permutatoren 901 und 905, und den Sonderpermuator 903. Diese Permutatoren werden durch die Werte i2, tOl und m gesteuert, die auf den Leitungen 907 bzw. 909 und 911 erscheinen. Diese drei Werte bilden zusammen das Signalbündel P, das von der Grundsteuerschaltung 51 dei Adressensteuerung 7 geliefert wird. Die veränderbaren links drehende η Permutatoren 901 und 905 sind praktisch die umgekehrten Versionen der durch in den Figuren 9 und 10 beschriebenen rechtsdrehenden Permutatoren. Der Sonderpermuator S2, der
SA 9-74-023 - 39 -
609822/0891
in der Fig. 12 mit der Zahl 903 bezeichnet ist, wird in der Fig. 13 näher beschrieben. Seine Ausgangssignale auf den Leitungen 912 sind eine von zwei möglichen Permutationen der auf den Leitungen 9 04 empfangenen Eingangssignale. Wenn das Steuersignal tOl auf der Leitung 909 eine binäre Null ist, sind beispielsweise die Ausgänge mit den Eingängen identisch. Diese Identitätsdarstellung wird durch die in der Fig. 13 dargestellte Schaltung erreicht, weil der Steuereingang tOl = 0 die UND-Glieder 915 sperrt und der Inverter 913 die UND-Glieder 917 einschaltet, so dass die Eingangssignale durch die UND-Glieder 917 und die ODER-Glieder 919 direkt übertragen werden. Wenn andererseits der Steuereinganc tOl eine binäre Eins ist, dann kann die durch den Sonderpermutator S2 erreichte Permutation durch die Beziehung d1 (k) = e1 (q [ k//p J + k/p}, O^k-^pq beschrieben werden. In der Fig. 13 schaltet die Steuervariable tOl = 1 die UND-Glieder 915 ein und sperrt über den Inverter 913 die UND-Glieder 917. Die Eingabe e1 (q [ k//p ] + k/p) = e1 (4 [k//4^ + k/4 wird somit zur Ausgabe e1 (k) über die UND-Glieder 915 und die ODER-Glieder 919 geführt.
Es wird eine Zugriffsmethode und die dazu geeignete Speichereinrichtung beschrieben, welche den Zugriff zu allen Untermatrizen der Form 1 χ pq, pq χ 1 oder ρ χ q innerhalb einer Bildpunktmatrix der Grosse rp χ sq
SA 9-74-023 - 40 -
609822/0891
ermöglicht, welche in einer wortorganisierten Speichereinrichtung gespeichert ist und wenn diese Daten entsprechend vorbestimmten Verknüpfungen verteilt sind. Im wesentlichen erfordert diese Speichereinrichtung nur pq Speichermoduln, zwei Umordnungsschaltungen und zugehörige Verknüpfungs- und Steuerschaltungen, um den Zugriff zu den Untermatrizen zu ermöglichen. Die beschriebene Speichereinrichtung für binäre Bildinformationen kann in leichter Weise durch Verdoppelung oder mehrfache Zufügung dieser Schaltungen so erweitert werden, dass sie auch Bildpunkte für Halbtonbilder oder Farbbilder behandeln kann, wobei jeder einzelne Bildpunkt mehrere Bits an Speicherraum erfordert.
SA 9-74-023 - 41 -
609822/0891

Claims (3)

  1. PATENTANSPRÜCHE
    Wortorganisierte Speichereinrichtung für bildliche Darstellungen betreffende Daten, mit modifizierten Zugriffseinrichtungen, welche innerhalb eines Speicherzyklus durch nur einen Zugriff das gemeinsame Speichern oder das gemeinsame Auslesen der Daten einer Anzahl p.q von Bildpunkten aus einer Matrix mit rp χ sq oder weniger Bildpunkten I (*,*) ermöglicht, welche Bildpunkte I (i,j) als Untermatrix in der Form einer Zeile 1 χ pq, einer Spalte pq χ 1 oder eines Rechtecks ρ χ q verarbeitet werden können, wobei jeder Bildpunkt I Cifj) einen Booleschen Wert annimmt f wenn die Bildpunkt-Koordinaten i,j in den Wertebereichen 0<i<rp und 0<j sq liegen, wobei p, q, r und s ganze Zahlen bedeuten, dadurch gekennzeichnet, dass Speichermittel (21, 23, 25) vorgesehen sind, um die Anzahl rpsq Bildpunkte in den Speicherzellen von pq verschiedenen Speichermoduln derart speichern zu können, dass jeder Speichermodul als Einheit die Anzahl von rs Bildpunkten in unterscheidbaren Speicherzellen speichert, wobei zu einem Zeitpunkt der Zugriff zu jedem Speichermodul nur in eine Speicherzelle erfolgt, und dass Zugriffseinrichtungen (7, 39, 47, 49) vor gesehen sind, welche die Adressenumrechnung in einer Weise vornehmen, dass jeder Bildpunkt I (i,j) in eine Speicherstelle mit einer Adressen-Zuordnungsfunktion A (ifj) gespeichert oder aus ihr ausgelesen wird in einem Speichermodul, dessen Adresse durch eine Modul-Zuordnungsfunktion
    SA 974 023 - 42 -
    609822/0891
    M (i/j) gegeben ist, wobei die genannten Zuordnungsfunktionen ganzzahlige Funktionen sind, die in folgender Weise definiert sind: A (i,j) = (i/p) s + j/q, wobei i/p und j/g ganzzahlige Quotienten sind, und M (i,j) = [iq + (i/P) // q + JI // pq, wobei [iq + (i/P) // q + j].// pq der Rest der ganzzahligen Division von [iq + (i/p) // q + j! durch pq ist.
  2. 2. Wortorganisierte Speichereinrichtung nach Anspruch 1, dadurch gekennzeichnet, dass ein Datenregister (39) mit der Speicherkapazität von ρ χ q Bildpunkten I (*f*) einer Untermatrix angeordnet ist, dass zwischen diesem Datenregister und ρ χ q Speichermoduln (21, 23, 25) eine Leitwegschaltung (8) angeordnet ist, die die Zuordnung jedes Bildpunktes I (ifj) zu einem spezifischen M (i,j)-ten Speichermodul zu leisten vermag, und daß eine Adresssteuereinrichtung (7) vorgesehen ist, die mit der genannten Leitwegschaltung (8) die Zuordnung der Adressen von Speicherzellen in den genannten Speichermoduln durch logische Verknüpfungen ermittelt und durch Signale über Verbindungsleitungen (9, 11, 13, 15) entsprechend steuert und zwar so, dass jeder Bildpunkt I (i,j) in die errechnete Speicherzelle A (i,j) des zugeordneten Speichermoduls eingespeichert bzw. aus ihr ausgelesen wird.
  3. 3. Speichereinrichtung nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, daß die Leitwegschaltung (8) Umordnungsschaltungen (47, 49) enthält, die Daten von Bildpunkten
    SA 974 023 - 43 -
    609822/0891
    nach Steuersignalen der von der Adressensteuereinrichtung (7) ermittelten Zuordnungsfunktionen durch zyklische Vertauschung umordnet.
    SA 974 023 - 44 -
    609822/0891
DE2549336A 1974-11-07 1975-11-04 Speichereinrichtung für bildliche Darstellungen betreffende Daten Expired DE2549336C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/521,606 US3996559A (en) 1974-11-07 1974-11-07 Method and apparatus for accessing horizontal sequences, vertical sequences and regularly spaced rectangular subarrays from an array stored in a modified word organized random access memory system

Publications (3)

Publication Number Publication Date
DE2549336A1 true DE2549336A1 (de) 1976-05-26
DE2549336B2 DE2549336B2 (de) 1978-11-09
DE2549336C3 DE2549336C3 (de) 1979-07-12

Family

ID=24077392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2549336A Expired DE2549336C3 (de) 1974-11-07 1975-11-04 Speichereinrichtung für bildliche Darstellungen betreffende Daten

Country Status (9)

Country Link
US (1) US3996559A (de)
JP (1) JPS5644449B2 (de)
BR (1) BR7507382A (de)
CA (1) CA1058768A (de)
CH (1) CH607135A5 (de)
DE (1) DE2549336C3 (de)
FR (1) FR2290729A1 (de)
GB (1) GB1504713A (de)
SE (1) SE401286B (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2747075A1 (de) * 1976-11-01 1978-05-24 Ibm Bildspeicherung und -verarbeitung

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130885A (en) * 1976-08-19 1978-12-19 Massachusetts Institute Of Technology Packet memory system for processing many independent memory transactions concurrently
IT1084325B (it) * 1977-06-30 1985-05-25 Elsag Procedimento ed apparecchio per la rotazione di una matrice di datibinari, particolaremente destinati all'impiego come utilita' di memoria a duplice modo di accesso per calcolatori elettronici.
JPS5450252A (en) * 1977-09-28 1979-04-20 Canon Inc Editing unit
JPS56117279A (en) * 1980-02-22 1981-09-14 Hitachi Ltd Twoodimentional pattern processor
US4371865A (en) * 1980-07-03 1983-02-01 Palmguard, Inc. Method for analyzing stored image details
US4370732A (en) * 1980-09-15 1983-01-25 Ibm Corporation Skewed matrix address generator
JPS5776649A (en) * 1980-10-31 1982-05-13 Toshiba Corp Picture information display device
US4449199A (en) * 1980-11-12 1984-05-15 Diasonics Cardio/Imaging, Inc. Ultrasound scan conversion and memory system
US4460958A (en) * 1981-01-26 1984-07-17 Rca Corporation Window-scanned memory
US4434502A (en) 1981-04-03 1984-02-28 Nippon Electric Co., Ltd. Memory system handling a plurality of bits as a unit to be processed
JPS592078A (ja) * 1982-06-28 1984-01-07 株式会社東芝 画像記憶装置
US4667190A (en) * 1982-07-30 1987-05-19 Honeywell Inc. Two axis fast access memory
US4644503A (en) * 1983-12-30 1987-02-17 International Business Machines Corporation Computer memory system with integrated parallel shift circuits
JPS60160780A (ja) * 1984-01-31 1985-08-22 Nec Corp 特殊効果用画像記憶装置
JPS60260086A (ja) * 1984-06-07 1985-12-23 工業技術院長 メモリ回路
GB2165066B (en) * 1984-09-25 1988-08-24 Sony Corp Video data storage
GB2164767B (en) * 1984-09-25 1988-08-24 Sony Corp Video data storage
JPS61156195A (ja) * 1984-12-28 1986-07-15 沖電気工業株式会社 イメ−ジデ−タ回転回路
FR2583539B1 (fr) * 1984-12-31 1991-05-24 Lehmann Jean Philippe Procede de construction de dispositifs d'activation simultanee de trains de commandes et applications aux memoires.
JPS62131289A (ja) * 1985-12-03 1987-06-13 日本電気株式会社 図形表示装置用の記憶回路
JPS62297951A (ja) * 1986-06-18 1987-12-25 Fujitsu Ltd メモリ回路
JPS6359641A (ja) * 1986-08-29 1988-03-15 Fujitsu Ltd 画像メモリ
US4882683B1 (en) * 1987-03-16 1995-11-07 Fairchild Semiconductor Cellular addrssing permutation bit map raster graphics architecture
CA1272312A (en) * 1987-03-30 1990-07-31 Arthur Gary Ryman Method and system for processing a two-dimensional image in a microprocessor
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
DE68929482T2 (de) * 1988-11-29 2004-06-24 Matsushita Electric Industrial Co., Ltd., Kadoma Integrierter Schaltkreis mit synchronem Halbleiterspeicher, ein Verfahren zum Zugriff auf den besagten Speicher sowie ein System, das einen solchen Speicher beinhaltet
US5142637A (en) * 1988-11-29 1992-08-25 Solbourne Computer, Inc. Dynamic video RAM incorporating single clock random port control
GB2229059B (en) * 1989-03-07 1993-08-04 Sony Corp Obtaining access to a two-dimensional portion of a digital picture signal
JPH0782747B2 (ja) * 1990-05-07 1995-09-06 インターナショナル・ビジネス・マシーンズ・コーポレイション ランダムアクセスポートおよびシリアルアクセスポートを有するメモリアレイ
US5315388A (en) * 1991-11-19 1994-05-24 General Instrument Corporation Multiple serial access memory for use in feedback systems such as motion compensated television
FR2721415B1 (fr) * 1994-06-21 1996-09-06 France Telecom Dispositif électronique d'adressage de mémoire, notamment pour une mémoire organisée par bancs.
JP2000122919A (ja) * 1998-10-13 2000-04-28 Mitsubishi Electric Corp プロセッサ及びメモリ制御方法
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
US7707363B2 (en) * 2006-05-23 2010-04-27 Lsi Corporation Multi-port memory architecture for storing multi-dimensional arrays II
US7752398B2 (en) * 2006-05-23 2010-07-06 Lsi Corporation Multi-port memory architecture for storing multi-dimensional arrays I

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3492646A (en) * 1965-04-26 1970-01-27 Ibm Cross correlation and decision making apparatus
GB1401008A (en) * 1971-08-17 1975-07-16 Mullared Ltd Character recognition apparatus
US3889234A (en) * 1972-10-06 1975-06-10 Hitachi Ltd Feature extractor of character and figure
US3938102A (en) * 1974-08-19 1976-02-10 International Business Machines Corporation Method and apparatus for accessing horizontal sequences and rectangular sub-arrays from an array stored in a modified word organized random access memory system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2747075A1 (de) * 1976-11-01 1978-05-24 Ibm Bildspeicherung und -verarbeitung

Also Published As

Publication number Publication date
AU8598075A (en) 1977-04-28
FR2290729B1 (de) 1982-07-23
GB1504713A (en) 1978-03-22
DE2549336C3 (de) 1979-07-12
US3996559A (en) 1976-12-07
JPS5185346A (de) 1976-07-26
SE401286B (sv) 1978-04-24
CA1058768A (en) 1979-07-17
DE2549336B2 (de) 1978-11-09
JPS5644449B2 (de) 1981-10-20
BR7507382A (pt) 1976-08-31
SE7512442L (sv) 1976-05-10
CH607135A5 (de) 1978-11-30
FR2290729A1 (fr) 1976-06-04

Similar Documents

Publication Publication Date Title
DE2549336A1 (de) Wortorganisierte speichereinrichtung fuer bildliche darstellungen betreffende daten
DE2536104C3 (de) Speicher für bildliche Darstellungen betreffende Daten
DE3804938C2 (de) Bildverarbeitungseinrichtung
DE2239765C2 (de) Anordnungen zum Bestimmen des Randes eines Zeichens
DE2725395C3 (de) Einrichtung zur Echtzeittransformation von m in Zeilen angeordneten Wörtern der Bitlänge n in n in Spalten angeordneten Wörter der Bitlänge n
EP0038411B1 (de) Einrichtung zur Speicherung und Darstellung graphischer Information
DE1901343C3 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2852253A1 (de) Drehung der wiedergabe auf einem bildschirm
DE3407983A1 (de) Mehrprozessorrechnersystem zum verarbeiten in einer hierarchischen datenstruktur definierter objektelemente zu einer farbigen abbildung
DE3533800C1 (de) Verfahren zum Betreiben eines hochintegrierten Wellenfront-Feldrechners sowie entsprechender Wellenfront-Feldrechner
DE2347387A1 (de) Permutationsschaltung
DE2652900C2 (de) Steuerschaltung zur Bildwiederholung für ein Raster-Datensichtgerät
DE3713627C2 (de)
DE3043100C2 (de)
DE3632639A1 (de) Einrichtung zum verarbeiten von bilddaten durch faltung
DE4227733A1 (de) Konfigurierbarer cachespeicher und datenverarbeitungssystem mit einem derartigen speicher
DE3618136A1 (de) Abwechselnd adressierte halbleiterspeichergruppe
DE1524898C3 (de) Datenspeicher mit direktem mehrdimensionalen Zugriff zur gleichzeitigen Entnahme mehrerer Wörter
DE3505314A1 (de) Bitmusterwandler
DE1499739A1 (de) Datenspeicher zur gleichzeitigen Entnahme mehrerer Worte
DE3702613A1 (de) Geraet zum verschieben digitaler daten in einem speicher eines datenverarbeitungssystems
DE2744886C3 (de) Schaltungsanordnung zum Umschwenken einer Binärdatenmatrix
DE1296428B (de) Einrichtung zur Ermittlung von Speicheradressen aus Schluesselwoertern
AT354783B (de) Programmierbare schaltung zur datenverarbeitung
DE3340078A1 (de) Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee