DE2747075C2 - Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen - Google Patents

Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen

Info

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
Application number
DE2747075A
Other languages
English (en)
Other versions
DE2747075A1 (de
Inventor
David Curtis van Los Gatos Calif. 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 DE2747075A1 publication Critical patent/DE2747075A1/de
Application granted granted Critical
Publication of DE2747075C2 publication Critical patent/DE2747075C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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)
  • 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
Untergruppe selbst wird in Zeilenhauptordnung in das
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
F ig. 4 ein Ausführungsbeispiel der logischen Schal- Speichermoduln gespeichert werden.
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
F i g. 5 in einem Blockdiagramm ein Ausführungsbei- Untergruppe anzuzeigen und ihr oberstes linkes
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
Verbindung mit den in F i g. 3 und 4 gezeigten Elemente der gewünschten Untergruppe enthalten. Der Schaltungen, Adreßteil der Schaltung 23 errechnet aus den Werten F i g. 6 ausgewählte logische Einzelheiten der Adreß-, von t, i und j für jeden eingeschalteten Speichermodul Steuer- und Einschaltung der F i g. 1, die Lage des einen Elementes der Untergruppe, das der Fig.7 im einzelnen den logischen Aufbau der in 35 Modul enthält. Nach Ausführung der Berechnungen F i g. 6 gezeigten Logik, sorgt ein Lesesignal von der Lese-/Schreibsteuerquelle F i g. 8 im einzelnen den logischen Aufbau der in 47 auf den Leitungen 46 dafür, daß die pq Elemente der F i g. 6 gezeigten Modullogik und Untergruppen von den eingeschalteten Moduln gelesen Fig. 9 und 10 im einzelnen die Logik für die und über die Leitungen 48,49 und 50 an den Vertauscher Schaltung in F i g. 1. 40 26 geleitet werden. Der Steuerteil der Schaltung 23 In F i g. 1 ist der Aufbau eines modifizierten veranlaßt den Vertauscher 26 zur Ordnung der
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
Tabelle I ·'
Form der Form-
Unter- bezeich·
Sruppe ■MI
ZwiKkea- HUXt)
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
Die Berechnungen und Führungsmuster basieren auf 30 weil nur eine Zelle eines jeden Speichermoduls in
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.
Verteilunesstrategie Wider Erwarten konnte festgestellt werden, daß die
35 pq Bildpunkte einer jeden Untergruppe \ xpq, pqx \
Die Aufgabe der Erfindung besteht bekanntlich in der und ρ χ ς in verschiedenen Speichermoduln gespeichert
Konstruktion eines Speichersystems, das eine rpxsq- werden, wenn die Modulzuordnungsfunktion M(ij) die
Bildgruppe /(*,*) speichern kann, bestehend aus Form
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)
Speichersystem das Bild so speichern können, daß der annahm, wobei die beiden Schrägstriche den Rest der
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
V/enn das in F i g. 1 dargelegte Speichersystem die gewünschten Untergruppe möglich. Bildgruppe /(*,*) speichern soll, dann muß für 45 Die Modulzuordnungsfunktion
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)
I(ij) speichern sollen. Es wurde festgestellt, daß bei ist in Tabelle II für den Fall dargestellt, daß p= q=4 und Zuordnung der Nummern 0,1,.., pq gemäß Darstellung r=s=8 ist Die Dezimalzahl in der j- ten Position der
in F i g. 1 zu den Speichermoduln die Verteilung der 50 /-ten Zeile der Gruppe 32 χ 32 in Tabelle II bezeichnet
Bildpunkte unter den Moduln ausreichend dadurch den Speichermodul M(ij) zum Speichern des Bildpunk-
beschrieben werden kann, daß man eine ganzzahlige tes I(ij) In dieser Tabelle stellen die Buchstaben A bis G
Moduizuordnungsfunktion M[Kj) mit folgender Cha- beispielsweise die Dezimalzahlen 10 bis 16 dar, die
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:
Jeder Bildpunkt Ifij) wird dann im Afß/>ten Speichermodul gespeichert M(Jj)= N{6,5) = (Jq+j)//(pq+1)
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,
Tabelle U
Modulzuordnungsfunktion M(iJ) - iq +j)/Aj>q + 1)
10
Fall, feS ρ - q -4 uöd r= 5 - 8 ist
/- 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 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
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]
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)
' 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
Bit große binäre Zahl ist, die die Forderung 0<x<15 C Die Menge B wird über die Leitungen 108 zur
erfüllt Wie dargestellt, sind oben am Block vier Steuerung cEsr Modullogikkomponenten 102, 104 und
Eingangsleitungen für den Wert χ vorgesehen. 106 geleitet und die Menge C über die Leitungen 110, Das wertniedere Bit von χ wird als ein Eingang auf zur Steuerung der Vertauscher 25,26.
das UND-Glied 224 und über den Inverter 226 auf einen 5 Die Moduilogikkomponenten 102, 104 und 106
Eingang des UND-Gliedes 228 gekoppelt Die drei speichern auch die von der Globallogikkomponente
werthohen Bits von χ werden als Eingänge auf das errechneten und über die Leitungen 108 gegebenen
ODER-Glied 230 gegeben, dessen Ausgang als ein Werte an, und errechnen Zelladressen und Einschaltsi- Eingang zum UND-Glied 228 und über den Inverter 232 gnale für die zugehörigen Speichermoduln, und zwar
zum UND-Glied 224 dient Der Ausgang des UND- to insbesondere die Zelladresse l(ijjc,t) und das Einschalt-
Gliedes 228 bildet den wertniederen Ausgang von der signal bfijjc,t) für den Kartenspeichermodul. Die Zelle und der Ausgang des UND-Gliedes 224 den Zelladressen werden über die Leitungen 37,38 und 39
werthohen Ausgang von der Zelle. Das Bit der zweiten und die Einschaltsignale über die Leitungen 40,41 imd
Stelle von χ bildet das Ausgangssignal der zweiten Stelle 42 an die betreffenden Speichermoduln gegeben,
von der Zelle und wird als ein Eingang auf das 15 F i g. 7 zeigt im einzelnen die globale Logikkompo-
UND-Glied 234 und über den Inverter 236 auf das nente 100 der Fig.6. Die Eingänge zu dieser UND-Glied 238 gekoppelt Das dritte Bit von χ wird als Komponente sind die Untergruppen-Formbestimmung
ein Eingang auf das UND-Glied 238 und über den rund die Untergruppen-Anfangskoordinaten /und/ Die
Inverter 240 auf das UND-Glied 234 gegeben. Der Ausgänge von dieser Schaltung sind die Mengen B und Ausgang der UND-Glieder 234 und 238 wird als 20 C Die globale Logikkomponente errechnet mit der Eingang auf das ODER-Glied 224 gekoppelt, dessen Untergruppenformbestimmung und den Anfangskoor- Ausgang das dritte Ausgangssignal von der Zelle liefert dinaten die Steuerwerte C für die Steuerung der Das werthohe Bit von χ wird als ein Eingang an das Schaltungen 25 und 26. Die globale Logikkomponente UND-Glied 244 und über den Inverter 246 an das 100 errechnet außerdem die Zwischenwerte B, die von UND-Glied 248 angelegt Das zweite und dritte Bit von 25 allen Modullogikkomponenten 102,104 und 106 benutzt
χ 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.
Die Menge f 00 ist ein Boolescher Wert der wahr ist Fall 3 wenn der Eingang t den Wert r=00 hat. Das kann Auswertungvon(-p*y/(/*7+l)für*E[0,p<Z/ 35 symbolisch geschrieben werden als '00-EQTiOOJ. Die
6 ν η r IfVT- ) L vHj Menge rOO wird auf die Leitung 150 durch das
Diese für die Adressierung von pqx\ -Untergruppen UND-Glied 152 gegeben, das in Verbindung mit den
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
Diese für alle ρς+1-Adreßberechnungen erforderli- kombiniert Der Addierer 132 und die M0D-17B-Zelle
ehe Rechnung kann vorgenommen werden nach der liefern die Eingänge zur MOD-17A-ZeIIe 200Λ. Die
Identität beiden wertniederen Bits des /-Einganges werden im
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
Wie durch die Schaltung 179 in F i g. 8 gezeigt ist für Eingänge zu einer zweiten MOD-17A-ZeIIe 200Ä Eine
den Fall p-g=4, reichen für diese Berechnung einige Null liefert den werthohen Biteingang zur M0D-17A-
Schaltglieder, ein Addierer und ein Halbaddierer. Zelle 200Ä, und die wertniederen beiden Bits von j In F i g. 6 ist ein Überblick über die in F i g. 1 60 liefern die anderen beiden Eingänge zu dieser Zelle. Der
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 globale Logikkomponente 100 spricht auf die 65 bildet. Der Wert μ auf den Leitungen 138 bildet einen [l Untergruppenformbezeichnung t im Register 28 und auf Teil des Signalbündels C Außerdem wird der Wert μ an -5
die Untergruppen-Anfangskoordinaten / und j im das UND-Glied 140 und die Schaltung 131 gegeben, die U
Register 29 und 30 an und errechnet die Mengen Bund (-ρμ)//^+1)errechnet. >s
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 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.
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
Wenn der Wert 101 auf der Leitung 158 wahr ist, wird
das UND-Glied 276 vorbereitet, «> daß die Daten in
Schritten von vier verschoben und über die Leitungen
280 an das ODER-Glied 272 übertragen werden.
Das Ausgabe-Signal des ODER-Gliedes 272 wird als
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.
Hierzu 8 Blatt Zeichnungen

Claims (5)

Patentansprüche:
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.
DE2747075A 1976-11-01 1977-10-20 Speicheranordnung mit Anordnung zur Speichersteuerung für Bildverarbeitungsoperationen Expired DE2747075C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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