DE2747075C2 - Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen - Google Patents
Speicheranordnung mit Anordnung zur Speichersteuerung für BildverarbeitungsoperationenInfo
- Publication number
- DE2747075C2 DE2747075C2 DE2747075A DE2747075A DE2747075C2 DE 2747075 C2 DE2747075 C2 DE 2747075C2 DE 2747075 A DE2747075 A DE 2747075A DE 2747075 A DE2747075 A DE 2747075A DE 2747075 C2 DE2747075 C2 DE 2747075C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- subgroup
- circuit
- address
- pixels
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- 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
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Image Input (AREA)
- Memory System (AREA)
- Detection And Correction Of Errors (AREA)
Description
Die Erfindung betrifft eine Speicheranordnung nach dem Oberbegriff des Patentanspruchs 1.
Ein Digitalbild wird als zweidimensionale Gruppe von
Bildpunkten betrachtet, von denen jede eine ganze Zahl oder einen Satz ganzer Zahlen enthält Die Bildmanipulation
schließt im Idealfall die Möglichkeit ein, eine Bildgruppe in einem Speicher zu speichern und auf
ausgewählten Punktbündeln wie etwa Punktfolgen in einer Zeile oder Spalte der Gruppe und Punkten
innerhalb eines kleinen Rechtecks gleichzeitig zu arbeiten. Dadurch ergibt sich die Einschränkung, daß
der Speicher die Ansteuerung aller Punkte in jedem gewählten Bündel in einem Speicherzyklus gestatten
muß. Wenn eine gewünschte Kombination von Punkten in der Gruppe gleichzeitig von einem bitadressierbaren
Speicher angesteuert werden könnte, wäre die Speicherung und der Abruf von Bündeln von Bildpunkten kein
Problem. Weil digitale Bilder jedoch große Gruppen bilden, stehen nur wortorganisierte Speicher wirtschaftlich
zur Verfugung. Ein herkömmlicher wortorganisierter Speicher besteht aus mehreren wahlfrei adressierbaren
Wörtern von Speicherstellen, wobei jedes Wort ein Bündel von Bildpunkten speichern kann. Der Zugriffsmechanismus dieses herkömmlichen Speichers muß
jedoch verändert werden, um die Ansteuerung von Bildpunktbündeln zu ermöglichen, wenn diese Punkte
nicht alle in demselben Speicherwort liegen.
Ein Bild kann dargestellt werden durch eine M χ N- Gruppe J(V) von Bildpunkten, wobei jeder
Punkt l(ij) für 0</ <M und 0<j
< N eine ganze Zahl oder ein Satz ganzer Zahlen ist, die Farbe und Helligkeit
eines Bildteiles darstellen. Der Einfachheit haber kann man sich auf Schwarz/Weiß-Bilder beschränken, für die
I(iJ) ein Informationsbit ist. Typischerweise stellt l(ij)=\ einen schwarzen Bildbereich und I(ij)=0 einen
so weißen Bildbereich dar.
Bilder werden am häufigsten erzeugt durch Abtastung von Bilddaten wie etwa von Dokumenten. Diese
Bilder können dann gespeichert, an einem Bildschirmgerät betrachtet, übertragen oder gedruckt werden. Da die
meisten Abtaster und Drucker ein Bild von oben nach unten und von links nach rechts verarbeiten, werden
Bilder normalerweise in der einheitlichen Zeilenhaupt-
folge übertragen: /(0,0), /(0,1) I(0,N\), /(1,0), ..,
I(M\,N\). Speichersysteme für Bildverarbeitung sollten
daher wenigstens den gleichzeitigen Zugriff zu einer Anzahl benachbarter Bildpunkte auf einer Zeile
gestatten. Dadurch könnte das Bild oder ein Bildteil schnell in das Speichersystem und aus dem Speichersystem
übertragen werden, wenn viele Bildpunkte in jeder Seite gleichzeitig übertragen werden.
Für Bildverarbeitungsoperationen wie Zeichenerkennung muß ein Bild oder Teilbild um ein Mehrfaches von
90° gedreht werden. Solche Drehungen werden oft
3 4
durch ein Speichersystem erleichtert das die gleichzeiti- Zahlenhauptfolge bringt
ge Ansteuerung einer Anzahl benachbarter Punkte in - Um die Kosten eines Speichersystems zur Bildverareiner
Zeile oder Spalte des Bildbereiches /(V) beitung möglichst kleinzuhalten, soll die Anzahl von
gestattet Mit einem solchen Speichersystem kann man Speichermoduln im Speichersystem sehr kleingehalten
ein in Hauptzeilenordnung übertragenes Bild um ein 5 werdea Es werden wenigstens pq Speichermoduln
Mehrfaches von 90° gegen den Uhrzeigersinn drehen. gebraucht, da jede gewünschte Untergruppe aus pq
Durch zeilenweise Übertragung des Südes beginnend Bildpunkten besteht Es kann jedoch gezeigt werden,
mit der obersten Zeile und gleichzeitige Speicherung daß kein Speichersystem mit lediglich pq Speichermovieler
Bildpunkte in jeder Zeile und durch spaltenweise duln den Zugriff zu allen Untergruppierungen 1 χ pq.
Übertragung des Bildes aus dem Speicher beginnend io pqx 1 und px q einer Bildgruppe /(V) gestatten kann,
mit der äußersten rechten Spalte, wobei viele Bildpunk- Aus diesem Grund wurden einige früher beschriebene
te in jeder Spalte gleichzeitig geholt werden. Speichersysteme auf pq Speichermoduln eingeschränkt
Ebenso ist die Ansteuerung rechteckiger Punktblöcke und gestatteten somit nicht den Zugriff zu all diesen
innerhalb eines Bildes für eine andere Klasse von Untergruppen. Bisher wurde die Ansicht vertreten, daß
Bildverarbeitungsoperationen wie Blockeinschub, 15 die zur Adressierung gespeicherter Untergruppen
Blockauszug und Konturenverfolgung erwünscht Zum erforderliche Schaltung sehr kompliziert wird, wenn
Bild eines gespeicherten Wörterbuches, das für jedes nicht pq und die Anzahl von Speichermoduln alle
Zeichen eine vordefinierte Bitgruppe enthält sollen Potenzen von zwei sind, und somit würden wenigstens
beispielsweise alphanumerische Zeichen hinzugefügt zwei/?<7 Speichermoduln gebraucht
gelöscht oder ausgegeben werden, oder es sollen auch 20 Aus der DE-OS 25 49 336 ist eine weitere wortorganiandere
rechteckige Bildblöcke verarbeitet werden. sierte Speichereinrichtung für bildliche Darstellungen
Algorithmen zur Lokalisierung der Konturen von betreffende Daten bekanntgeworden, die pq Module
Gegenständen im Bild bringen schließlich die Bewegung aufweist wobei jedoch zu beachten ist daß auch dieser
einer Positionsmarke von einem Bildpunkt zu einem Speicher zwar gleichzeitigen Zugriff zu rechteckigen
anderen entlang einer Grenze eines Objektes mit sich. 25 Blöcken und Bildpunkten erlaubt so daß Blöcke in die
Der Konturenverfolgungsalgorithmus fordert den Felder eingefügt werden können bzw. Blöcke entnomschnellen
Zugriff zu einem Bildpunkt und mehreren men Werden können, er gestattet es jedoch nicht ein
benachbarten Bildpunkten, die zusammen einen Block Bild oder einen Bildteil zu speichern und die
von Bildpunkten bilden. Adressierung zum Lesen oder Schreiben in einer Zeile
Ein wortorganisierter Randomspeicher besteht typi- 30 oder Spalte und innerhalb eines rechteckigen Bereichs
scherweise aus mehreren Speichermoduln, von denen dieser Gruppierung in nur einem Speicherzyklus
jeder ein Speicherelement mit mehreren wahlfrei vorzunehmen, obwohl im Speichersystem die Anzahl
ansteuerbaren Speicherzellen ist Obwohl jede Zelle der Speichermoduln limitiert ist
einen Bildpunkt speichern kann, der aus einem Aus der US-PS 39 38 102 ist ein Speicher für bildliche
Informationsbit besteht kann zu einem gegebenen 35 Darstellungen betreffende Daten bekannt, bei dem die
Zeitpunkt nur jeweils eine Zelle in einem Modul zum Adreßregister und Steuerschaltkreise die Inhalte vorge-Lesen
oder Schreiben angesteuert werden. Der schalteter Register zur Identifizierung des obersten
Adressier- oder Ansteuermechanismus eines herkömm- Bildelementes benutzen. Außerdem initialisiert ein
liehen wortorganisierten Randomspeichers gibt die Lesesignal das Lesen, und die gelesenen Daten werden
Adresse einer Zelle an alle sie enthaltenden Speicher- 40 über Leitungen zu einer Umlaufschaltung und in das
moduln, so daß die /-te Zelle in einem Modul nur in Datenregister überführt Diese Anordnung hat jedoch
Verbindung mit der /-ten Zelle aller anderen Moduln auch die bereits im vorhergehenden geschilderten
adressiert werden kann. Diese Zellen bilden zusammen Nachteile.
das /-te Wort des Speichers. Ein herkömmlicher Die Aufgabe der vorliegenden Erfindung besteht
wortorganisierter Randomspeicher bietet somit Zugriff 45 somit darin, einen herkömmlichen wortorganisierten
zu einem Bündel von Bildpunkten nur, wenn sie alle in Randomspeicher für die Bildverarbeitung so zu
demselben Speicherwort gespeichert sind. Eine geeig- modifizieren, daß er ein Bild oder einen Bildteil, pqx 1,
nete Modifikation des Adressiermechanismus eines 1 χ pq oder ρ χ q Bildpunkte enthaltend, speichert und
wortorganisierten Speichers kann jedoch den Zugriff zu deren Adressierung zum Lesen oder Schreiben in einer
jedem gewünschten Bündel von Bildpunkten unter der 50 Zeile oder Spalte und innerhalb eines rechteckigen
Voraussetzung gestatten, daß jedes Modul höchstens Bereiches dieser Gruppierung in nur einem Speicherzyeinen
Punkt im Bündel speichert klus gestattet
Wie oben schon gesagt wurde, ist ein Speichersystem Diese Aufgabe wird gemäß dem Kennzeichen des
erwünscht das den gleichzeitigen Zugriff zu borizonta- Patentanspruchs 1 gelöst
len Folgen, vertikalen Folgen und rechteckigen Blöcken 55 Weitere Ausgestaltungen der Erfindung ergeben sich
von Bildpunkten gestattet. Wenn die gewünschten aus den Kennzeichen der Patentansprüche 2 bis 5.
horizontalen und vertikalen Folgen pq Bildpunkte Das erfindungsgemäße Gerät enthält pq+\-
enthalten und die Abmessungen der gewünschten Speichermoduln mit der Bezeichnung 0,1 ..„ pq, die
Blöcke von Bildpunkten ρ χ q sind, dann braucht man zusammen eine Bildgruppe rpxsq bestehend aus
ein Speichersystem mit wenigstens pq Speichermoduln. 60 Bildpunkten I(iJ) speichern können, wobei / im Bereich
Außerdem muß ein Verfahren zur Verteilung der 0</ <rp und j im Bereich 0<y
<sq liegt Außerdem Bildpunkte einer Bildgruppe /(V) auf Speichermoduln enthält das Gerät eine Umlaufeinrichtung, durch die der
entwickelt werden, daß die pq Elemente einer jeden Bildpunkt I(iJ)von und zum Speichermodul
Untergruppierung \xpq,pqx\ oder pxq von /(V) Af///)-/7o+ iWfna+W
auf verschiedene Moduln setzt. Weiter muß eine 65 m('JJ-{k1+JMP<1+V
Adressierschaltung entwickelt werden, die die gleichzei- geführt wird. Darin bedeuten die beiden Schrägstriche
tige Adressierung dieser Untergruppen gestattet und den aus der ganzzahligen Division resultierenden Rest,
ihre Elemente in die richtige Reihenfolge wie etwa die Das beschriebene Gerät enthält außerdem einen
5 6
' Adreßrechner, der in Verbindung mit der Umlaufein- so geschaltet, daß sie die Koordinaten des obersten
richtung den Bildpunkt I(ij) in die Stelle linken Elementes I(iJ) der Untergruppe anzeigen. Die
A(1J)=(iSpM+Ü/q)
Datenregister 24 so gesetzt, daß I(iJ) in der obersten
5 linken Position des Registers steht Die Untergruppendes Speichermoduls M(iJ) speichern oder von dort lesen elemente werden über die Leitungen 31, 32 und 33 an
läßt Es enthält außerdem eine Steuerung zum den Vertauscher 25 gegeben. Basierend auf den Werten
gleichzeitigen Speichern oder Abrufen der pq Bildpunk- von t, i und j veranlaßt der Steuerteil der Schaltung 23
te in jeder Untergruppe 1 xpq, pqx\ oder pxq der den Vertauscher 25 dazu, jedes Element der Untergrup-Bildgruppe und ermöglicht somit den Zugriff in allen io pe über die Gegenleitungen 34,35 und 36 zu dem Modul
Bitpositionen während eines Speicherzyklus. zu leiten, in dem das Element zu speichern ist. Der
Ausführungsbeispiele der Erfindung sind in den Adreßteil der Schaltung 23 errechnet die Lage innerhalb
Zeichnungen dargestellt und werden anschließend des betreffenden Moduls. Die Adressen werden über die
näher beschrieben. Es zeigt Leitungen 37, 38 und 39 an die Moduln gegeben. Der
F i g. 1 den Aufbau eines erfindungsgemäß modifizier- 15 Anschaltteil der Schaltung 23 liefert Einschaltsignale an
ten wortorganiäierten Speichers, die pq Speichennoduin, die die Untergruppe speichern
F i g. 2a und 2b bestimmte Ausführungsbeispiele der sollen. Diese Einschaltsignale werden über die Leitunfür die MoAu\o-(pq+1 )-Operationen erforderlichen gen 40, 41 und 42 an die zu den Speichermoduln 20, 21
logischen Schaltungen für den Fall p= <7= 4, und 22 gehörenden UND-Glieder 43, 44 und 45
Fig.3 in einem Blockdiagramm zwei bestimmte 20 gegeben. Schließlich sorgt ein von einer externen
Ausführungsbeispiele der logischen Schaltungen, die die Lese-/Schreibsteuerquelle 47 stammendes Schreibsignal
Modu!o-(j«7-f-l)-Operation x//(pq+\) für den Fall auf den Leitungen 46 dafür, daß die pq Elemente der
p=q=4und0<x<2pq+\ ausführen können, Untergruppe gleichzeitig in den eingeschalteten pq
tungen, diedie Modulo-(p9+l)-Operationxpqi//(rp9-l-l) 25 Wenn eine bestimmte Untergruppe aus dem
ausführen können für den Fall p=(?=4 und Speichersystem zu lesen ist, werden die Register t, /und
0<x<pq— 1, j wie oben beschrieben geschaltet um die Form der
spiel der logischen Schaltungen für die Berechnung Element zu identifizieren. Der Einschaltteil der Schal-
(iq+jy/(pq+\) mit den herkömmlichen Addierern in 30 tung 23 schaltet die pq Speichermoduln ein, die
wortorganisierten Randomspeichers gezeigt Das Gerät Elemente der Untergruppe in Zeilenhauptordnung, und
enthält p<7+l-Speichermoduln 20, 21, 22. Jeder Modul zu ihrer Führung an das Datenregister 24 über die
kann rs-Bildpunkte speichern, d.h., jeder Modul kann Leitungen51,52und53.
rs-Informationsbits speichern. Die Adressier-, Steue- 45 Sobald eine Untergruppe 1 χ pq, pq χ 1 oder ρ χ q von
rungs- und Einschaltung 23 gestattet diesen Moduln, /(V) vom Speichersystem geholt oder dorthin gespeijede Bildgruppe rpxsq (oder kleiner) (I**) zu chert wird, muß der Einschaltteil der Schaltung 23 einen
speichern und jede 1 χ pq, pq χ 1 oder ρ χ g-Untergrup- Booleschen Wert b(i,j,k,t) für 0<
k < q errechnen, der pe von /(V) zu adressieren. Zum Festhalten jeder angibt ob der Kartenspeichermodul ein Untergruppendieser pq-Elementenuntergruppen vor der Speicherung so element liefern oder aufnehmen soll. Der Adreßteil der
oder nach dem Lesen der Bildinformation aus den Schaltung 23 muß für k im Bereich 0<
k <pq die Lage Speichermoduin ist ein Däienregisier 24 vorgesehen. i(ij,k,i) des Einzelelemente» e(ijjc,t) der Untergruppe
Spezialschaltungen zur Umordnung von Daten, die errechnen, das entweder im Kartenspeichermodul
Vertauscher 25 und 26, sind ebenfalls vorgesehen. Sie enthalten ist oder dahin gesetzt werden solL Der
führen im Zusammenhang mit dieser Erfindung 55 Steuerteil der Schaltung 23 muß zusammen mit den
Elemente der Untergruppen von und zu entsprechen- Vertauschern 25 und 26 das Element e(ijjc,t) ordnen,
den Speichermoduln zur Speicherung und/oder zum damit es von oder zu der entsprechenden Position im
Abruf. Die Steuerung der Vertauscher erfolgt in der Register 24 geführt wird. Die nachfolgende Tabelle I
Schaltung 23 über die dorthin führende Bahn 27. faßt die Berechnungen und die erforderlichen Führungs-
Wenn eine bestimmte Untergruppe im Speichersy- 60 muster für den Zugriff zu einer Untergruppe zusammen,
stern gespeichert werden soll, wird mit dem Inhalt der deren oberstes linkes Element der Bildpunkt I(ij)\st Die
Register 28,29 und 30 die Form der Untergruppe und Berechnungen der Einschaltfunktion bpJXt) und der
die Koordinaten ßj)der oberen linken Ecke der Gruppe Adreßfunktion lfcjjc,t) verlangen die vorherige Berechals Referenzpunkt oder Basisadresse bestimmt Die nung von zwei Hilfsiunkuonen g(iJJct) und h(ijjc,t). Das
zwei Bit großen Register 28 werden auf einen der Werte 65 Führungsmuster gibt an, welche pq Positionen d(0),d(1),
r=00, f=01 oder f= 10 gesetzt, um anzuzeigen, daß die .., d(pq-1) des Datenregisters 24 das Element eßj,k,t)
Form der Untergruppe entsprechend 1 χ pq, pq χ 1 oder empfangen oder liefern sollen, das im Modul k enthalten
pxq ist Das /-Register 29 und das /-Register 30 werden ist oder dorthin gesetzt werden solL
Form der | Form- |
Unter- | bezeich· |
Sruppe | ■MI |
rXOO μ
m-p
ß-y ·-
i-Ol p-fa+M/ipq+l) b-LTfrfi) e(ij,k,t) - d(y)
y -(-ßH-m)//(M+l)
a =y
JJ-O
pXq
i-10 ^-('«+y")//(M + l) h-LT(M4)
e(ij,k,t) ~4(y)
m-p
β -y/fr
der vorgegebenen Verteilung von Bildpunkten auf jeweils einem Augenblick wahlfrei adressierbar ist
pq+i -Speichermoduln. Anschließend wird zuerst die Dasselbe gilt sinngemäß für die Bildpunkte in den
gewählte Vert jilungsstrategie begründet Untergruppen pq χ 1 oder pxq.
35 pq Bildpunkte einer jeden Untergruppe \ xpq, pqx \
Konstruktion eines Speichersystems, das eine rpxsq-
werden, wenn die Modulzuordnungsfunktion M(ij) die
Bildpunkten l(ij), wobei /im Bereich vonO</<
rp und j
...... .. ...
im Bereich 0<y <sq liegt Außerdem muß das 40 M0J)-('q+J)"(Pq+i)
Zugriff zu allen Untergruppen 1 χ pq, pqx\ und pxq
ganzzahligen Division bezeichnen. Damit wäre die
von/(V) möglich ist gleichzeitige Ansteuerung der pq Bildpunkte in der
jeden Bildpunkt I(ij) festgestellt werden, welche der κλ/ί—γ j. )/// j_ii
pq+\-Speichermoduln 20, 21 oder 22 den Bildpunkt M(ij/-(iq+jj//(pq+i)
in F i g. 1 zu den Speichermoduln die Verteilung der 50 /-ten Zeile der Gruppe 32 χ 32 in Tabelle II bezeichnet
beschrieben werden kann, daß man eine ganzzahlige tes I(ij) In dieser Tabelle stellen die Buchstaben A bis G
rakteristik angibt: eingekreiste Eintragung in der sechsten Position der
für ganze Zahlen / und j im Bereich 0</</p und 55 fünften Zeile ist eine 9, die besagt, daß der Bildpunkt
0<y <sq liegt der Wert von M(Jj) im Bereich von /(5,6)'im neunten Speichermodul gespeichert wird. Das
0< M(Jj) <pq. . ' errechnet sich wie folgt:
Wenn das in Fig. 1 aufgezeigte Speichersystem die 60 = ""
Bildgruppe /(V) so speichern soll, daß der gleichzeitige
Zugriff zu pq Bildpunkten in jeder Untergruppe Ix pq
= (26)//(17)
von /(V) möglich ist, dann müssen diese Bildpunkte in =9
verschiedenen Speichermoduln gespeichert werden,
Modulzuordnungsfunktion M(iJ)
-
iq
+j)/Aj>q +
1)
10
/- 0
12
16
20
24
23
-0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 4 | 8 | 9 | £ | B | 12 | D | £ | F | 16 | θ | I | 2 | 20 | 4 | 5 | 6 | 24 | 8 | 9 | A | 28 | C | D | E |
0 | 5 | 6 | 7 | 4 | 9 | J | 8 | 8 | /> | 1 | F | C | 0 | 1 | 2 | C | 4 | S | * | 3 | 8 | 9 | A | 7 | C | Z) | E | * | G | 0 | 1 | |
4 | 9 | Λ | £ | 8 | Z) | £ | F | C | C | 0 | 5 | 2 | G | 4 | 5 | < | 3 | 8 | 9 | Λ | 7 | C | Z) | E | G | 0 | 1 | F | 3 | 4 | S | |
8 | D | E | F | C | 0 | 1 | 2 | G | G | 4 | 9 | 6 | 3 | • | 9 | 7 | C | D | '£ | B | G | 0 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | |
C | 0 | 1 | 2 | G | 4 | 5 | 6 | 3 | 3 | 8 | £ | A | 7 | C | D | £' | G | 0 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | 6 | £ | C | D | |
G | 4 | 5 | 6 | 3 | 8 | »! | Λ | 7 | 7 | C | 0 | E | £ | G | 0 | t | F | 3 | 4 | S | 2 | 3 | 8 | 9 | 6 | * | C | D | A | F | G | 0 |
3 | S | 9 | A | 7 | C | £ | B | B | G | 4 | 1 | F | ·* | 4 | 5 | 2 | 7 | S | 9 | 6 | C | D | Λ | F | G | 0 | E | 2 | 3 | 4 | ||
/ | C | i> | E | £ | G | ο! | 1 | F | F | 3 | 8 | 5 | 2 | 7 | 8 | 9 | i | £ | C | J) | A | F | G | 0 | £ | 2 | 3 | 4 | i | 6 | 7 | 8 |
£ | G | 0 | 1 | F | 3 | <! | 5 | 2 | 2 | 7 | C | 9 | 6 | B | C | D | A | F | G | 0 | E | 2 | 3 | 4 | 1 | 6 | 7 | 8 | 5 | A | £ | C |
F | 3 | 4 | 5 | 2 | 7 | «! | 9 | 6 | 6 | B | G | O | F | C | O | E | 2 | 3 | 4 | 1 | 6 | 7 | 8 | 5 | B | C | 9 | E | F | G | ||
2 | 7 | 8 | 9 | 6 | * | c! | D | A | Λ | F | 3 | 0 | £ | 2 | 3 | 4 | 1 | * | 7 | 8 | 5 | Λ | £ | C | 9 | £ | F | G | D | 1 | 2 | 3 |
6 | C | D | Λ | F | g|o | E | £ | 2 | 7 | 4 | 1 | 6 | 7 | 8 | 5 | Jl | C | 9 | £ | F | G | D | 1 | 2 | 3 | 0 | 5 | 6 | 7 | |||
Λ | F | G | 0 | £ | 2 | 3| | 1 | 1 | 6 | β | 8 | 5 | Λ | £ | C | 9 | £ | F | G | D | 1 | 2 | 3 | 0 | 5 | 6 | 7 | 4 | 9 | Λ | £ | |
E | 2 | 3 | 4 | 1 | 6 | 5 | 5 | A | F | C | 9 | E | F | G | D | I | 2 | 3 | 0 | 5 | 6 | 7 | 4 | 9 | Λ | £ | 8 | D | £ | F | ||
1 | 6 | 7 | 8 | 5 | »! | 9 | 8 | E | 2 | G | D | 1 | 2 | 3 | 0 | 5 | * | 7 | 4 | 9 | A | £ | 8 | D | E | F | C | 0 | 1 | 2 | ||
5 | A | C | 9 | £ | *! | D | D | 1 | 6 | 3 | 0 | 5 | 6 | 7 | 4 | 9 | B | 8 | D | E | F | C | 0 | 1 | 2 | G | 4 | 5 | 6 | |||
9 | E | F | σ | D | 1 | A | O | 0 | 5 | A | 7 | 4 | » | A | 8 | D | £ | F | C | 0 | 1 | 2 | G | 4 | 5 | 6 | 3 | 8 | 9 | |||
D | 1 | 2 | 3 | 0 | 5 | «! | 4 | 4 | 9 | E | £ | I | E | F | C | 0 | 1 | 2 | G | 4 | 5 | 6 | 3 | 8 | 9 | Λ | 7 | C | Z) | £ | ||
0 | 5 | 6 | 7 | 4 | 9 | 8 | 8 | Z) | 1 | F | C | 0 | 1 | 2 | G | 4 | 5 | 6 | 3 | 8 | 9 | Λ | 7 | C | Z) | E | £ | G | 0 | 1 | ||
4 | 9 | A | 8 | D | *! | C | C | 0 | 5 | 2 | G | 4 | 5 | 6 | 3 | S | 9 | Λ | 7 | C | Z) | £ | B | G | 0 | 1 | F | 3 | 4 | 5 | ||
8 | Z) | E | F | C | G | 4 | 9 | 6 | 3 | 8 | 9 | Λ | 7 | C | Z) | £ | Jt | G | 0 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | ||||
C | 0 | 1 | 2 | G | 4 | 5 | 3 | 8 | D | Λ | 7 | C | Z) | E | * | G | 0 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | 6 | £ | C | D | ||
G | 4 | 5 | 6 | 3 | 8 | 9 | 7 | C | 0 | £ | B | G | 0 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | 6 | £ | C | D | F | σ | 0 | |||
3 | 8 | 9 | Λ | 7 | C | Z) | 2 | G | 4 | 1 | F | 3 | 4 | 5 | 2 | 7 | 8 | 9 | 6 | β | C | D | Λ | F | G | 0 | £ | 2 | 3 | 4 | ||
7 | C | D | F. | £ | G | 0 | F | 3 | 8 | 5 | 2 | 7 | 8 | 9 | 6 | B | C | J> | A | F | G | 0 | £ | 2 | 3 | 4 | 1 | 6 | 7 | 8 | ||
G | 0 | 1 | F | 3 | 4 | 2 | 7 | C | 9 | 6 | * | C | J> | F | G | 0 | E | 2 | 3 | 4 | 1 | 6 | 7 | 8 | 5 | Λ | B | C | ||||
F | 3 | 4 | 5 | 2 | 7 | 8 | 6 | £ | G | D | A | F | G | 0 | 2 | 3 | 4 | 1 | 6 | 7 | 8 | 5 | A | Jt | C | 9 | £ | F | G | |||
2 | 7 | 8 | 9 | 6 | £ | C | A | F | 3 | 0 | E | 2 | 3 | 4 | 1 | 6 | 7 | 8 | 5 | Λ | £ | C | 9 | E | F | G | D | 1 | 2 | 3 | ||
6 | £ | C | D | ,4 | F | G | E | 2 | 7 | 4 | 1 | 6 | 7 | I | 5 | Λ | £ | C | 9 | £ | F | G | D | 1 | 2 | 3 | 0 | 5 | 6 | 7 | ||
A | F | G | 0 | E | 2 | 3 | 1 | 6 | £ | 8 | 5 | A | 0 | C | ♦ | i£ | F | G | D | 1 | 2 | 3 | 0 | 5 | 6 | 7 | 4 | 9 | A | £ | ||
E | 2 | 3 | 4 | 1 | 6 | 7 | 5 | F | C | 9 | ■ V | F | C | D | 1 | 2 | 3 | 0 | 5 | 6 | 7 | 4 | 9 | A | 8 | D | E | F | ||||
1 | 6 | 7 | S | 5 | Λ | β | 9 | £ | <? | ρ | 1 | 2 | 3 | • | 5 | 6 | 7 | 4 | 9 | Λ | B | 8 | D | E | F | C | 0 | 1 | 2 | |||
5 | 9 | D | 0 | 4 | 8 | C | G | |||||||||||||||||||||||||
Aus Tabelle Π ist zu ersehen, daß die pq= 16
Bildpunkte in jeder Untergruppe ixpq=lxl6 in verschiedenen Speichermoduln gespeichert sind Die in
Tabelle II angegebene horizontale Folge aus 16 Elementen zeigt beispielsweise, daß die Bildpunkte
7(5,6), 7(5,7),.., 7(5,21) entsprechend in den Speichermoduln
9, A, B3 Q D, E, F, G, 0, 1, 2, 3, 4, 5, 6 und 7
gespeichert sind. Außerdem geht aus Tabelle Π hervor,
daß die pq=l6 Elemente einer jeden Untergruppe
p<7xl = 16xl in verschiedenen Speichermoduln gespeichert
sind Die angegebene vertikale Folge zeigt z.B, daß die Bildpunkte 7(5,6), 7(6,6), ..,7(20,6)
entsprechend in den Speichermoduln 9, D, 0,4,8, C G, 3,
7, B, F, 2,6, Λ Z?und 1 gespeichert sind Schließlich geht
aus Tabelle Π noch hervor, daß die pq= 16 Bildpunkte einer jeden Untergruppe px g=4x4 in verschiedenen
Speichermoduln gespeichert sind. Der in Tabelle II angegebene 4x4-Block bezeichnet beispielsweise die
Speichermodulzuordnungen für die Bildpunkte in der 4 χ 4-Untergruppe, deren oberes linkes Element der
Bildpunkt/(5,6) ist.
Die obige Modulzuordnungsfunktion M(ij) ordnet rs-Bildpunkte einem jeden der pq Speichermoduln zu,
ohne die Zellenlage anzugeben, in der sie gespeichert sind. Wider Erwarten konnte beobachtet werden, daß
die Bildpunkte einfach in der Stelle A(iJ) des Speichermoduls M(iJ) gespeichert werden können,
wenn eine solche Funktion sich entsprechender Form A(U)= 0/p)s+ (j/p) änderte, wobei i/p und j/q ganzzahlige
Quotienten sind.
Die Adreßzuordnungsfunktion A(U) ist in Tabelle III
für den Fall gezeigt, daß p=q=4 und r=s=8 sind. Die
ganzen Dezimalzahlen innerhalb jedes /jxq=4x4-Blockes
bezeichnen die Adresse der entsprechenden pq= 16 Bildpunkte. Die fünfte Position auf der zehnten
Zeile führt beispielsweise in den 4 χ 4-Block, der mit der Dezimalzahl 17 bezeichnet ist. Das besagt, daß der
Bildpunkt /(10,5) in der siebzehnten Zelle des Speichermoduls M(10,5) gespeichert ist. Die Rechnung
ist folgende:
A (U) = A (10,5) = (i/p)s+(j/q)
= (10/4)8+(5/4)
- (2)8 + (l)
= 17
Adreßzuordnungsfunktion (A(iJ) = (i/p)s +j/q für den Fall, daß ρ = q = 4 und r=s = 8 ist
7 = 0
/= 0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
4 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
8 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 |
12 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
16 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 |
20 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
24 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 |
28 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
Aufbau
Wie aus der algebraischen Beschreibung in Tabelle I zu ersehen ist, muß die Schaltung 23 für das gezeigte
Speichersystem eine Anzahl von Modulo-(pg+l)-Operationen
übernehmen. Die Kombinationsschaitung für diese Berechnungen kann in verschiedene Sonderfälle
aufgeteilt werden, die nachfolgend separat betrachtet werden.
Falll
Auswertung x//(pq+1) für xb [Q2pq+1]
Auswertung x//(pq+1) für xb [Q2pq+1]
Diese für die Auswertung von (iq+jy/(pq+\\ im
nachfolgenden Fall 2 beschrieben, erforderliche Berechnung kann vorgenommen werden nach der Identität
x//(pq+1)3*-(pq+ \\ LT(x-[pq+ I]1O.
Anmerkung: Die Boolesche Funktion »kleiner als« LTist definiert durch den bezogenen Wert LT(43)= 1,
wenn und nur wenn y < z.
Die Fig.2a und 2b zeigen die Verwendung eines
Addierers oder Halbaddierers zur Berechnung von x//(pa+l)wennx
<33undp=g=4ist
In Fig.2a ist eine Schaltung zur Ausführung der
Modulo-17-Operation
xll\l=x~\7 . LTT[X-UJO)
gezeigt, wenn χ eine sechs Bit große binäre Zahl ist, die
die Forderung 0<x<33 erfüllt Die Modulo-17-Schaltung
enthält im wesentlichen drei Schaltkreise (ODER-Glied 208, UND-Glied 210 und ODER-Glied 216), zur
Feststellung ob x>17, d. h, ob der Boolesche Wert LT(x—17,0) falsch ist; einen Addierer 202 zur Berechnung
von x-17 bei Bedarf durch Addition der binären Darsteiiung 01111 des Wertes -17 zu χ und vier
Schaltungen (Inverter 214, UND-Glied 204 und 212 und das ODER-Glied 206) zur Bezeichnung der zwei
Sondersituationen fx=33 und x=16), unter denen
x//17 = 16ist.
Wie in Fig.2a dargestellt ist, sind oben am Block
sechs Eingangsleitungen für den Wert χ vorgesehen. Die vier wertniederen Bits von χ werden an das ODER-Glied
208 und den Addierer 202 gegeben, das fünfte Bit von χ wird an die UND-Glieder 210 und 212 gegeben,
und das werthohe Bh von χ wird mit dem wertniederen Bit von χ im UND-Glied 204 kombiniert Die Ausgabe
des ODER-Gliedes 208 wird mit dem fünften Bit von χ im UND-Glied 210 zu einem Ausgang kombiniert, der
wahr ist, sobald X= 17,18,19,20,21,22,23,24,25,26,27,
28,29,30 oder 31 ist Die Ausgabe des UND-Gliedes 210
wird dann mit dem werthohen Bit von χ am
to ODER-Glied 216 zu einem Ausgang kombiniert, der
wahr ist wenn x>U ist, d. h, sobald der Boolesche
Wert LT(x-16,0) falsch ist Die Ausgabe des ODER-Gliedes 216 dient als zweiter Eingang zum Addierer 202.
Der Ausgang des ODER-Gliedes 208 wird durch den Inverter 214 negiert und mit dem fünften Bit von χ im
UND-Glied 212 zu einem Ausgang kombiniert, der nur wahr ist, wenn χ = 16 ist Der Ausgang des UND-Gliedes
204 ist nur wahr, wenn *=33 ist Das ODER-Glied 206
kombiniert die Ausgänge der UND-Glieder 212 und 204 miteinander und somit ist der Ausgang des ODER-Gliedes
206 nur wahr, wenn x= 16 oder x=33 ist, so daß der
gewünschte Modulo-17-Rest von χ den Wert 16 hat
Wenn ρ und q beides Potenzen von zwei sind, kann
der Addierer 202 durch den Halbaddierer 218 nach Darstellung in Fig.2b ersetzt werden, unter Hinzufügung
der Inverter 220. Die Schaltung arbeitet im wesentlichen genauso wie die in Fig.2a dargestellte
Schaltung und erzeugt den Modulo-17-Rest des
Ar-Einganges zur Zelle 200. jede dieser Schaltungen ist für die in F i g. 8 verwendete MOD-17 Α-Zelle geeignet
Fall 2
Auswertung (iq+j)//(pq+1)
Auswertung (iq+j)//(pq+1)
' Das ist die einzige schwierige Moau\o-(pq+ ^-Rechnung
für das gezeigte Speichersystem. Glücklicherweise ist (iq+jy/(pq+l) ein Zwischenwert, der nur einmal
berechnet zu werden braucht Die Hardwareberechnung von (iq+jy/(pq+1) basiert auf der Beobachtung,
daß diese Menge als einfache Funktion der binären Zahlen in den binären Darstellungen von / und j
ausgedrückt werden kann. Wenn diese binären Darstellungen im... /i/obzw../„... j\jo, sind,dann
('« +j)//(pq + D - ( Σ W + Σ/<2')llipq+1)
U-O »-ο J
{ Σ'' fo2'//(p<7+1)] + Σ/,
U-o ί-ο
i'//(pq+l)]\//(pq+l).
In dieser Formel sind die Mengen /, und j, Boolesche Variable, während die Mengen q2'//(pq+\) und
2>//(pq+1) konstante Gewichte sind, die fest verdrahtet
sind. Nach Darstellung in F i g. 3 kann man also für den Fall p=<7=4 und r=s=256 die Werte für (iq+jy/
(pq+\) errechnen durch eine Kaskade von Addierern 260, die mit MOD-17A-Zellen 200 verschachtelt sind, die
die für den Fall 1 beschriebene Grundberechnung «>
Modu\o-(pq+\) ausführen. Die Gewichte 4.2V/17 und
2'//17 sind in Fig.3 über den entsprechenden Zahlen it
und ji angegeben, und die Ausgabe (Ai+J)IIU ist
vorgesehen.
Die in Fig.3 gezeigte Lösung zur Berechnung von
(iq+j)//(pq+\) kann durch Verwendung einer Kombinationsschaitung
anstelle der Addierer etwas vereinfacht werden. Diese Änderung ist in F i g. 4 gezeigt, wo
eine einfache Kombinationsschaltung mit der Bezeichnung MOD-17B-Zelle 222 für die Berechnung 16x//17
sorgt.
Fig.5 zeigt die Benutzung dieser MOD-17B-ZeIIe
222 für die Berechnung von (iq+j)//(pq+\), wenn
p=q=A und r= s= 8192 ist. Die in Fig.5 gezeigte
Schaltung kann (4i+j)//\7 für wesentlich größere
Werte von / und j berechnen. Die Schaltung besteht aus einer Kaskade von Addierern 260 und MOD-17 B-Zellen
222, denen eine weitere Kaskade aus MOD-17A-Zellen 200 und Addierern 260 nachgeschaltet ist. Diese
Organisation wird auch von der Schaltung 130 in F i g. 7 benutzt für die Berechnung von u=(iq+j)\\(pq+\),
wenn p=<7=4 und r=s=8 ist.
In F i g. 4 ist eine Schaltung für die Ausführung der
Modulo-17-Operation 16x//17 gezeigt, wenn χ eine vier
15 16
erfüllt Wie dargestellt, sind oben am Block vier Steuerung cEsr Modullogikkomponenten 102, 104 und
das UND-Glied 224 und über den Inverter 226 auf einen 5 Die Moduilogikkomponenten 102, 104 und 106
werthohen Bits von χ werden als Eingänge auf das errechneten und über die Leitungen 108 gegebenen
zum UND-Glied 224 dient Der Ausgang des UND- to insbesondere die Zelladresse l(ijjc,t) und das Einschalt-
werthohen Ausgang von der Zelle. Das Bit der zweiten und die Einschaltsignale über die Leitungen 40,41 imd
von der Zelle und wird als ein Eingang auf das 15 F i g. 7 zeigt im einzelnen die globale Logikkompo-
ein Eingang auf das UND-Glied 238 und über den rund die Untergruppen-Anfangskoordinaten /und/ Die
χ werden als Eingänge an das ODER-Glied 250 werden. Nach Darstellung in F i g. 7 besteht jede dieser
gegeben, dessen Signal als ein Eingang zum UND-Glied Mengen B und C aus einem Bündel von Signalen. B
248 und über den Inverter 252 zum UND-Glied 244 besteht aus rOO, f 01, i, j und m, während C aus den
dient Die Ausgabe-Signale der UND-Glieder 244 und Werten f 01 und μ besteht Jeder dieser Werte wird nach
248 werden als Eingabe auf das ODER-Glied 254 30 den in Tabelle I aufgeführten Formeln berechnet
gekoppelt das das vierte Ausgangssignal von der Zelle Die ersten drei durch die globale Logikkomponente
liefert errechneten Werte sind die Mengen rOO, rOl und f 10.
6 ν η r IfVT- ) L vHj
Menge rOO wird auf die Leitung 150 durch das
benötigte Berechnung kann vorgenommen werden Invertern 154 und 156 arbeitet. In ähnlicher Weise wird
nach der Identität die Menge 101 = EQ(tfl\) durch das UND-Glied 160 an
(-DxW(Da+ft-Dr(-x)/M++x,<i *° den Inverter 162 auf die Leitung 158 gegeben. Die
( pxy/(pq+\)-PLl xy/qj+t(j(x//q,O)+xsq.
Menge ί 10 = EQftlO) wird durch das UND-Glied 166
(Anmerkung: Die Boolesche Gleichheitsfunktion und den Inverter 168 auf die Leitung 164 gegeben. Der
EQ(.,.) wird durch die Relation EQ(x,y)=\ definiert, nächste von der globalen Logikkomponente zu
wenn und nur wenn x—y ist) Wie durch die Schaltung errechnende Wert ist die Menge \i=>(iq+j)//(pq+\),
131 in Fig. 7 für den Fall p=q=4 gezeigt ist genügen 45 ~d. h., μ ist die Menge, die sich aus der ganzzahligen
für diese Berechnung einige Schaltglieder und ein Division von (iq+j)durch (pq+\) ergibt Die Schaltung
Halbaddierer. 130 zur Errechnung von μ besteht aus einer MOD-17B-
Zelle 222, die mit den drei werthohen Bits von /
Fall 4 gekoppelt ist. Eine Null wird auf den werthohen
®^ * D hh i
Auswertung von ((x-y)//(pq+1) für xe [0,pqJ Μ ®P**P* ψ,^ **$**?■ Das werth°he Ausgangsbit
«ι j/ \ri ι L >i"ti
wir(j im Adchere,. 132 mit dem werthohen Bit von j
ehe Rechnung kann vorgenommen werden nach der liefern die Eingänge zur MOD-17A-ZeIIe 200Λ. Die
fx-v)//faa+\\-x-v+(Da+\\ LTTxv)
55 Add'erer 136 mit dem dritten und vierten Bit vom
(x yJ//(pq+\)-x y+(pq+\)L1Jx,yJ.
y-Eingang kombiniert. Der Addierer 136 liefert drei
den Fall p-g=4, reichen für diese Berechnung einige Null liefert den werthohen Biteingang zur M0D-17A-
dargestellte Adreß-, Steuer- und Einschaltung 23 Addierer 134 kombiniert die Ausgänge der MOD-17A-
gegeben. Sie umfaßt eine globale Logikkomponente 100 Zellen 200A und 200Ä Die Ausgabe des Addierers 134
undp<7+l identische Modullogikkomponenten 102,104 wird auf einer anderen MOD-17A-ZeIIe 200Cgekop-
und 106. pelt, deren Ausgabe auf den Leitungen 138 den Wert μ
die Untergruppen-Anfangskoordinaten / und j im das UND-Glied 140 und die Schaltung 131 gegeben, die U
Die Schaltung 131 besteht aus dem Antivalenzglied 147, den ODER-Gliedern 145 und 149 sowie dem
Halbaddierer 148 und errechnet die Menge
(-Wy/(pq+ I)«flf(-My/<Z7+ u/q+ EQ(u//qfl).
Diese Menge wird Ober die Leitungen 139 an das UND-Glied 140 geleitet
Der Eingang f 01 ist mit dem UND-Glied 140 und Ober den Inverter 144 mit dem UND-Glied 142
gekoppelt Wenn also f—00 oder f-10 ist wird das
UND-Glied 142 vorbereitet und der Wert μ Ober das ODER-Glied 146 geleitet zur Bildung des Wertes m. Wie aus Tabelle I zu ersehen ist ist /η—μ für diese
f-Eingänge. Wenn andererseits f« 01 ist wird das
UND-Glied 140 vorbereitet und die Menge {-ρμ)//
(pq+1) über das ODER-Glied 136 gegeben, zur Bildung
des Wertes m. Für i-01 gilt gemäu Tabelle I.
m»(— pμy/(pq+\)v/stm r—OI.
Fig.8 enthält eine genaue Darstellung einer der
Modullogikkomponenten 100,104 oder 106 aus Fig.6.
Eine Gruppe von Eingängen zur Modullogikkomponente wird gebildet von dem Signalbündel B, das von der
globalen Logikkomponente 100 errechnet wurde. Ein anderer Eingang ist eine ganze Zahl k, die die Identität
des Moduls bezeichnet mit dem die Modullogikkomponente verbunden ist Der letzte Eingang ist die Menge
(—pky/(pq+1). Die Ausgänge von der Modullogikkomponente
sind die Speicherstelle l(ijjt,t) und die
Einschaltvariable b(ij,b,t), die nach den Formeln in
Tabelle I errechnet werden.
Die erste von der Modullogikkomponente zu errechnende Menge ist die Menge γ, die den Wert hat
y=(k-my/(pq+ \)~k-m+(pq+1)- LT(k,m),
wenn der Eingang 100 oder 10 ist, und die den Wert hat y=(-pk-m)ll(pq+\)=(-pk)ll(pq+\)-m +(pq+1)- LT((-pkll(pq+ \),m),
wenn der Eingang 100 oder 10 ist, und die den Wert hat y=(-pk-m)ll(pq+\)=(-pk)ll(pq+\)-m +(pq+1)- LT((-pkll(pq+ \),m),
wenn i-01 ist Die Menge γ wird vom UND-Glied 170
und 174 und dem ODER-Glied 176 den Invertem 172,
173 und 180, dem Addierer 178, dem Halbaddierer 182 und der Antivalenzschaltung 184 auf die Leitung 183
gegeben.
Der Eingang k wird auf das UND-Glied 170
gekoppelt und der Eingang (-pk)//(pq+1) wird auf das
UND-Glied 174 gekoppelt. Der Eingang 01 ist mit dem UND-Glied 170 und über einen Inverter 172 mit dem
UND-Glied 174 verbunden. Wenn also der (-Eingang entweder 00 oder 01 ist, wird das UND-Glied 170
vorbereitet zur Lieferung des Ar-Einganges über das so ODER-Glied 176 auf die Leitungen 177, die einen
Eingang zum Addierer 178 bilden. Der Übertragungseingang zum Addierer 178 ist permanent auf 1 gesetzt
und der übrige Eingang m zum Addierer 178 über die
Inverter 180 gekoppelt, so daß m von dem Wert auf den Leitungen 177 subtrahiert wird. Der Übertragungsausgang
vom Addierer ist mit dem Inverter 173 gekoppelt der ein Ausgangssignal auf die Leitung 175 gibt wenn
die vom Addierer 178 ausgeführte Subtraktion ein negatives Ergebnis hat. Die Ausgabe auf der Leitung
175 wird zum Halbaddierer 182 und zum Antivalenzglied 184 geführt. Diese scheinen zum Ausgang des
Addierers 178 den Wert pq+1 jedes Mal zu addieren, wenn der Ausgang des Addierers 178 negativ ist. Wenn
also der Eingang i=00 oder 01 ist wird der Wert
y-(k-my/(pq+ \)=(k-m)+(pq+ \)LT(k,m)
auf die Leitungen 183 gegeben.
auf die Leitungen 183 gegeben.
Wenn der i-Eingang 01 ist wird in ähnlicher Weise
das UND-Glied 174 vorbereitet zur Abgabe von (-pky/(pq+\) über das ODER-Glied 176 auf die
Leitungen 177. Von hier an funktionieren der Addierer 178, die Inverter 180 und 173, der Halbaddierer 182 und
das Antivalenzglied 184 genauso wie oben beschrieben,
und geben auf die Leitungen 183 die Menge
Y~(-pk-my/(pq+ l)-{-pky/(pq+1)
-m+(pq+ \)LT((-pky/(pq+ \\m).
Die nächste von der Mcdullogikkomponente zu
errechnende Menge ist die Einschaltvariable
bOJJ>,t)=LT(y,pq).
Diese Variable wird vom Inverter 185 errechnet der mit dem werthohen Bit des vorher errechneten Wertes γ
arbeitet
Die nächsten beiden von der Modullogikkomponente zu errechnenden Mengen sind die Werte χ und ß. Der
Wert χ wird als ein Eingang zum Addierer 196 auf die Leitungen 187 gegeben, während β als ein Eingang zum
Addierer 194 auf die Leitung 189 gegeben wird. Die Werte χ und β werden abgeleitet von dem vorher
errechneten Wert y, der über die Leitungen 183 an die UND-Glieder 188,190 und 192 gegeben wird. Wenn der
Eingang f00 ist schaltet der Wert iOO das UND-Glied
190 ein, und die UND-Glieder 188 und 192 werden
gesperrt Somit führen die Leitungen 187 den Wert x«0,
während die Leitungen 189 den Wert β—γ führen. Wenn
andererseits t den Wert 01 hat wird das UND-Glied 192 eingeschaltet und die UND-Glieder 188 und 190
gesperrt so daß die Leitungen 187 den Wert x=y rühren
und die Leitungen 189 den Wert 0=0. Wenn schließlich t den Wert 10 hat wird das UND-Glied 188
eingeschaltet und die UND-Glieder 190 und 192 gesperrt so daß die Leitungen 187 den Wert haben
x=y/qunddie Leitungen 189den Wertß=>y//q.
Die letzte von der Modullogikkomponente zu errechnende Menge ist die Speicherstelle
l(Uk,t)=([i+x]/p)s+(j+ßyq.
Diese Menge wird von den Addierern 194 und 1% sowie den Halbaddierern 197 und 198 errechnet
Die Fig.9 und 10 zeigen die Führungsschaltungen
mit den Vertauschern 25 und 26, die die Bildpunkte der Untergruppen Ixpq, pqx\ oder pxq zwischen dem
Datenregister 24 und den Speichermoduln 20,21 und 22
führen. Die Führungsschaltung wird gesteuert durch das Signalbündel C auf den Leitungen 110 von der globalen
Logikkomponente 100 des Schaltkreises 23 gemäß Darstellung in den F i g. 1 und 6.
In Fig.9 ist der Vertauscher Pi dargestellt der
Untergruppenpunkte vom Datenregister 24 an die entsprechenden Speichermoduln 20, 21 und 22 führt
Dieser Vertauscher hat pq-Dateneingänge d(0), d(l)...
d(pq-\) über die Leitungen 31, 32 und 33 und pq+1 -Ausgänge e(ijß,t)... e(ij,pq,t) auf den Leitungen
34,35 und 36. Ein spezifisches Ausführungsbeispiel des
Vertauschers P1 ist gezeigt für den Fall ρ=q=4. Dieser
Vertauscher wird von den Werten f 01 und μ auf den Leitungen 158 bzw. 138 gesteuert Diese beiden Werte
bilden zusammen das Signalbündel C, das nach Darstellung in den Fig.6 und 7 von der globalen
Logikkomponente 100 geliefert wird.
Nach Darstellung in F i g. 9 wird der Vertauscher P1
gebildet aus einem variablen rechtsdrehenden Vertauscher 262, der durch den Eingangswert μ gesteuert wird,
und aus einem zweiten Vertauscher, der durch den
Eingang 101 gesteuert wird. Die Eingänge t/(0), d(l)...
d(pq— 1) 0 zum Vertauscher 262 werden um μ-Bitpositionen nach rechts gedreht und dann als Eingänge e'(0)
... e'(pq— 1) auf den zweiten Vertauscher gegeben. Wenn der Wert fOl falsch ist, werden die Daten direkt
durch den zweiten Vertauscher in dieselben Bitpositionen über das UND-Glied 266 und das ODER-Glied 268
auf den Ausgang e(ij,o,t)... e(ij,pq,t) gegeben. Wenn
der Wert f 01 wahr ist, wird das UND-Glied 264 so vorbereitet, daß die Daten in ihrer Position um ein
Vielfaches von vier verschoben werden. Die Daten werden über die Leitungen 278 an die entsprechenden
Bitpositionen im ODER-Glied 268 zum Ausgang e übertragea
F i g. 10 zeigt ein spezifisches Ausführungsbeispiel des
Vertauschers P2, der Untergruppenpunkte von den Speichermoduln 20, 21 und 22 zum Datenregister 24
führt. Der Vertauscher Pi besteht darstellungsgemäß
aus einem ersten durch den Eingangswert fOl gesteuerten Vertauscher und einem variablen linksdrehenden Vertauscher 270, der von μ gesteuert wird.
Dieser Vertauscher hat pq+1 -Dateneingänge e(ij,o,t),
e(ijXt)... e(iJ,pq,tX die auf die Dateneingangsleitungen
48,49 und 50 gegeben werden, und er hat pg-Datenausgänge </(0X d(i)... d(pq-\) auf den Leitungen 51,52
und 53. Die Dateneingänge zum Vertauscher Pi werden über das UND-Glied 274 und das ODER-Glied
272 auf die entsprechenden Bitpositionen der Eingänge des variablen linksdrehenden Vertauschers 270 gekoppelt, wenn der Wert i01 auf der Leitung 158 falsch ist
das UND-Glied 276 vorbereitet, «>
daß die Daten in
280 an das ODER-Glied 272 übertragen werden.
Eingabe an den variablen linksdrehenden Vertauscher 272 gegeben, der diese Werte um m-Bitpositionen dreht
Die Ausgänge d(0), </(l) ... d(pq-\) des variablen
linksdrehenden Vertauschers 272 werden über die Leitungen 51, 52 und 53 mit dem Datenregister 24
verbunden.
Claims (5)
1. Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen,
bestehend aus Speichennoduln, Decodern,
Daten- und Adreßregistern zur Speicherung einer rp · sq-Bildgruppe /(*,'), die aus Bildpunkten I(Uj)
besteht, wobei i im Bereich von 0 < / <rp und j im
Bereich von 0 <j < sq liegt, die ein Bild so speichern to
kann, daß der Zugriff zu allen Untergruppen 1 - pq, pq · 1 und ρ · q von /(0, *) einer Bildgruppe in einem
Speicherzyklus erfolgt, wobei die Adreßumrechung mit Hilfe eines Adreßumrechners erfolgt und den
Speichermoduln Umlaufschaltungen zugeordnet is sind, durch die die Bildpunkte von und zu einem
Speichermodul geführt und umgeordnet werden und die Adreßregister und Steuerschaltkreise, die Inhalte
vorgeschalteter Register zur Identifizierung eines Basisbildelements benutzen, und bei der die gelesenen
Daten Umordnungsschaltungen zugeführt und
über Leitungen in die Datenregister übertragen werden, dadurch gekennzeichnet, daß
ρ · q+l Speichermoduln zur Speicherung der
Bildpunkte angeordnet sind, die zusammen eine Bildgruppe (rp · sq), bestehend aus Bildpunkten / (i,
j) speichern können, daß einer Adressen- und Steuerschaltung (Fig.6) Register (28 bis 30)
vorgeschaltet sind, die am Inhalt die Form der Untergruppe und die Koordinaten (i, j) einer Gruppe
als Referenzpunkt oder Basisadresse bestimmen, daß ein Steuerteil einer Schaltung (23) eine
nachgeschaltete Umlaufeinrichtung (25) steuert, indem jedes Element einer Untergruppe über
Leitungen (34 bis 36), die mit den einzelnen Moduln (20 bis 22) verbunden sind, zu einem Modul geleitet
wird, das das besagte Element speichert.
2. Speicheranordnung nach Anspruch 1, dadurch gekennzeichnet, daß sie beim Lesen und Modifizieren
einer Untergruppe die Inhalte der Register (28 bis 30) zur Anzeige genannter Untergruppe und zur
Identifizierung des obersten linken Elements benutzt, in dem der Adreßrechner der Schaltung (23)
aus den Werten t, i und j für jeden eingeschalteten Speichermodul die Lage des einen Elements der
Untergruppe, das der Modul enthält, berechnet, daß danach ein Lesesignal das Lesen initialisiert und die
gelesenen Daten über Leitungen (48 bis SO) an die zweite Umlaufeinrichtung bzw. den Vertauscher (26)
geleitet werden, daß der Steuerteil der Schaltung (23) den Vertauscher (26) zur Umordnung der
Elemente der Untergruppe und zur Überführung in das Datenregister (24) über Leitungen (51 bis 53)
veranlaßt
3. Speicheranordnung nach den Ansprüchen 1 und
2, dadurch gekennzeichnet, daß der Adreßteil der Schaltung (23) die Lage eines Einzelelements der
Untergruppe errechnet, das entweder eingeschrieben oder ausgelesen werden soll, und daß der
Steuerteil der Schaltung (23) zusammen mit den genannten Vertauschern (25 und 26) das Element (i)
umordnet, damit es von oder zu der entsprechenden Position im Datenregister (24) gelangt
4. Speicheranordnung nach den Ansprüchen 1 bis
3, dadurch gekennzeichnet, daß der Adreßteil der Schaltung (23) aus bekannten Volladdier- bzw.
Halbaddier-Schaltungen aufgebaut ist und in Modulo-Darstellung arbeitet.
5. Speicheranordnung nach Anspruch 4, dadurch gekennzeichnet, daß die Addierer zu einer Kaskadenschaltung
(F i g. 3) zusammengeschaltet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/737,501 US4090174A (en) | 1976-11-01 | 1976-11-01 | Method and apparatus for accessing horizontal sequences, vertical sequences and rectangular subarrays from an array stored in a modified word organized random access memory system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2747075A1 DE2747075A1 (de) | 1978-05-24 |
DE2747075C2 true DE2747075C2 (de) | 1982-10-28 |
Family
ID=24964175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2747075A Expired DE2747075C2 (de) | 1976-11-01 | 1977-10-20 | Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen |
Country Status (7)
Country | Link |
---|---|
US (1) | US4090174A (de) |
JP (1) | JPS6053352B2 (de) |
CA (1) | CA1092720A (de) |
DE (1) | DE2747075C2 (de) |
FR (1) | FR2369650A1 (de) |
GB (1) | GB1533368A (de) |
IT (1) | IT1115742B (de) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4301443A (en) * | 1979-09-10 | 1981-11-17 | Environmental Research Institute Of Michigan | Bit enable circuitry for an image analyzer system |
US4442543A (en) * | 1979-09-10 | 1984-04-10 | Environmental Research Institute | Bit enable circuitry for an image analyzer system |
US4449199A (en) * | 1980-11-12 | 1984-05-15 | Diasonics Cardio/Imaging, Inc. | Ultrasound scan conversion and memory system |
US4434437A (en) * | 1981-01-26 | 1984-02-28 | Rca Corporation | Generating angular coordinate of raster scan of polar-coordinate addressed 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 |
JPS5930156A (ja) * | 1982-08-09 | 1984-02-17 | Sharp Corp | マイクロコンピユ−タシステム |
US4523273A (en) * | 1982-12-23 | 1985-06-11 | Purdue Research Foundation | Extra stage cube |
US4559611A (en) * | 1983-06-30 | 1985-12-17 | International Business Machines Corporation | Mapping and memory hardware for writing horizontal and vertical lines |
US4663729A (en) * | 1984-06-01 | 1987-05-05 | International Business Machines Corp. | Display architecture having variable data width |
FR2566950B1 (fr) * | 1984-06-29 | 1986-12-26 | Texas Instruments France | Processeur de points d'images video, systeme de visualisation en comportant application et procede pour sa mise en oeuvre |
GB2164767B (en) * | 1984-09-25 | 1988-08-24 | Sony Corp | Video data storage |
JPS61235958A (ja) * | 1985-04-12 | 1986-10-21 | Mitsubishi Electric Corp | 画像記憶装置 |
JPS62131289A (ja) * | 1985-12-03 | 1987-06-13 | 日本電気株式会社 | 図形表示装置用の記憶回路 |
US4763251A (en) * | 1986-01-17 | 1988-08-09 | International Business Machines Corporation | Merge and copy bit block transfer implementation |
US4799269A (en) * | 1987-02-18 | 1989-01-17 | International Business Machines Corporation | Table lookup addressing by dichotomy window generation |
CA1272312A (en) * | 1987-03-30 | 1990-07-31 | Arthur Gary Ryman | Method and system for processing a two-dimensional image in a microprocessor |
US4949390A (en) * | 1987-04-16 | 1990-08-14 | Applied Vision Systems, Inc. | Interconnect verification using serial neighborhood processors |
US4985848A (en) * | 1987-09-14 | 1991-01-15 | Visual Information Technologies, Inc. | High speed image processing system using separate data processor and address generator |
US5129060A (en) * | 1987-09-14 | 1992-07-07 | Visual Information Technologies, Inc. | High speed image processing computer |
US5109348A (en) * | 1987-09-14 | 1992-04-28 | 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 |
US5040134A (en) * | 1989-05-26 | 1991-08-13 | Intel Corporation | Neural network employing leveled summing scheme with blocked array |
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. |
DE19643688C2 (de) * | 1996-10-23 | 2001-01-25 | Johannes Kneip | Verfahren zur Steuerung einer Cachespeichereinheit mit konfliktfreiem Parallelzugriff auf virtuelle, 2-dimensionale Adreßräume |
US6028612A (en) * | 1997-11-18 | 2000-02-22 | Stmicroelectronics, Inc. | Picture memory mapping to minimize memory bandwidth in compression and decompression of data sequences |
JP2000122919A (ja) * | 1998-10-13 | 2000-04-28 | Mitsubishi Electric Corp | プロセッサ及びメモリ制御方法 |
US7400782B2 (en) * | 2002-08-28 | 2008-07-15 | Arcsoft, Inc. | Image warping correction in forming 360 degree panoramic images |
US7409105B2 (en) * | 2003-10-22 | 2008-08-05 | Arcsoft, Inc. | Panoramic maker engine for a low profile system |
US7752398B2 (en) * | 2006-05-23 | 2010-07-06 | Lsi Corporation | Multi-port memory architecture for storing multi-dimensional arrays I |
US7707363B2 (en) * | 2006-05-23 | 2010-04-27 | Lsi Corporation | Multi-port memory architecture for storing multi-dimensional arrays II |
JP5987330B2 (ja) | 2012-01-31 | 2016-09-07 | 株式会社Ihi | 過給機 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3531775A (en) * | 1966-09-30 | 1970-09-29 | Fujitsu Ltd | Memory apparatus for rapid write-in and read-out of information |
GB1401008A (en) * | 1971-08-17 | 1975-07-16 | Mullared Ltd | Character recognition apparatus |
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 |
US3996559A (en) * | 1974-11-07 | 1976-12-07 | International Business Machines Corporation | 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 |
US3995253A (en) * | 1975-03-03 | 1976-11-30 | International Business Machines Corporation | Method and apparatus for accessing horizontal sequences, vertical sequences, and rectangular subarrays from an array stored in a modified word organized random access memory system |
-
1976
- 1976-11-01 US US05/737,501 patent/US4090174A/en not_active Expired - Lifetime
-
1977
- 1977-09-26 CA CA287,500A patent/CA1092720A/en not_active Expired
- 1977-09-29 FR FR7729890A patent/FR2369650A1/fr active Granted
- 1977-10-05 GB GB41370/77A patent/GB1533368A/en not_active Expired
- 1977-10-12 JP JP52121583A patent/JPS6053352B2/ja not_active Expired
- 1977-10-20 DE DE2747075A patent/DE2747075C2/de not_active Expired
- 1977-10-25 IT IT28931/77A patent/IT1115742B/it active
Also Published As
Publication number | Publication date |
---|---|
GB1533368A (en) | 1978-11-22 |
FR2369650A1 (fr) | 1978-05-26 |
US4090174A (en) | 1978-05-16 |
JPS5356931A (en) | 1978-05-23 |
DE2747075A1 (de) | 1978-05-24 |
IT1115742B (it) | 1986-02-03 |
JPS6053352B2 (ja) | 1985-11-25 |
CA1092720A (en) | 1980-12-30 |
FR2369650B1 (de) | 1981-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2747075C2 (de) | Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen | |
DE2607107C2 (de) | Wortorganisiertes Speichersystem | |
DE2549336C3 (de) | Speichereinrichtung für bildliche Darstellungen betreffende Daten | |
DE3885123T2 (de) | Anordnung und Verfahren für Kryptographie mit Anwendung. | |
DE2536104C3 (de) | Speicher für bildliche Darstellungen betreffende Daten | |
DE3804938C2 (de) | Bildverarbeitungseinrichtung | |
DE2803989C2 (de) | Digitaldatenspeicher mit wahlfreiem Zugriff | |
DE1302494B (de) | ||
DE2324731A1 (de) | Festzustandsspeicher fuer mehrdimensionalen zugriff | |
DE3618136C2 (de) | ||
DE2062228A1 (de) | Datenverarbeitungssystem mit gleich zeitigem Zugriff auf mehrere Speicher stellen | |
DE2821110C2 (de) | Datenspeichereinrichtung | |
DE2233193A1 (de) | Stapel-speichersystem | |
DE2425574A1 (de) | Adressierung von zeichen in einem wortorientierten system eines rechenautomaten | |
DE69121732T2 (de) | Bildsignalverarbeitungsschaltung | |
DE3333894A1 (de) | Speichermanagementeinheit | |
DE2842288A1 (de) | Datentransferschalter mit assoziativer adressauswahl in einem virtuellen speicher | |
DE2649147C2 (de) | Anordnung zum wahlweisen Durchführen von logischen und arithmetischen Operationen | |
DE3538913A1 (de) | Vorrichtung und verfahren zum verarbeiten einer matrix von datenelementen | |
DE2235883A1 (de) | Datenverarbeitungseinrichtung | |
DE3587612T2 (de) | Suchverfahren für Assoziationsmatrix. | |
EP0771463B1 (de) | Verfahren und vorrichtung zum speichern und drehen von bitmustern | |
DE3016738C2 (de) | Verfahren zur Übertragung eines Bitmusterfeldes in einen Speicher und Schaltungsanordnung zur Ausübung des Verfahrens | |
DE2945160A1 (de) | Stack-speicher | |
DE3340078A1 (de) | Prozessor-zelle zur verwendung in einer aus derartigen zellen gebildeten anordnung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OAP | Request for examination filed | ||
OD | Request for examination | ||
D2 | Grant after examination | ||
8339 | Ceased/non-payment of the annual fee |