DE2459476B2 - Schaltungsanordnung fuer nichtzyklische datenpermutationen - Google Patents
Schaltungsanordnung fuer nichtzyklische datenpermutationenInfo
- Publication number
- DE2459476B2 DE2459476B2 DE19742459476 DE2459476A DE2459476B2 DE 2459476 B2 DE2459476 B2 DE 2459476B2 DE 19742459476 DE19742459476 DE 19742459476 DE 2459476 A DE2459476 A DE 2459476A DE 2459476 B2 DE2459476 B2 DE 2459476B2
- Authority
- DE
- Germany
- Prior art keywords
- permutation
- register
- cell
- digit
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/762—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data having at least two separately controlled rearrangement levels, e.g. multistage interconnection networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Read Only Memory (AREA)
Description
60
Die Erfindung betrifft eine Schaltungsanordnung für nichtzyklische Datenpermutationen zwischen den
Speicherzellen eines dynamischen Speichers mit einem Permutationsnetzwerk zum Transferieren des Inhaltes
einer vorbestimmten Speicherzelle in den Schreib-Lese-Kopf und einem Zugriffssteuerwerk zum Erzeugen von
Permutationssequenzen, wobei als Permutationsnetzwerk
2k— 1 Speicherzelten in Form einer Baumstruktur
in Jt von 0 bis k— 1 numerierter Ebenen angeordnet sind.
Zum Abspeichern großer Datenmengen in Rechenanlagen werden vorwiegend Platten- und Trommelspeicher
eingesetzt Bei diesen Speichern sind die Daten auf einem magnetischen Medium aufgezeichnet, das gegenüber
einem festen Schreib-Lese-Kopf eine fortwährende rotierende Bewegung mit konstanter Umlaufgeschwindigkeit
ausführt Ein Nachte.il dieser zyklischen Datenbewegung relativ zum Lesekopf besteht darin,
daß die Zugriffszeit zu einem beliebigen Datum von dessen jeweiliger Position gegenüber dem Lesekopf im
Augenblick der Adressierung abhängt, so daß im statistischen Mittel eine halbe Umdrehung des Aufzeichnungsträgers
ausgeführt werden muß, bevor das gewünschte Datum gelesen oder geschrieben werden
kann. Die dafür notwendige Zeit liegt im Bereich von Millisekunden, so daß ein direkter Zugriff der um etwa
drei bis vier Größenordnungen schneller arbeitenden Zentraleinheit ökonomisch nicht vertretbar ist Deshalb
werden diese dynamischen Speicher als Hintergrundspeicher eingesetzt, von denen zusammenhängende
Datenblöcke über selbständig arbeitende Kanalwerke zunächst in den Arbeitsspeicher der Zentraleinheit
übertragen werden, bevor dem Rechnerkern der Zugriff ermöglicht wird. Die Zentraleinheit kann auf diese
Weise die durch den Abruf eines Datenblocks vom Hintergrundspeicher entstehende Zugriffszeitlücke
durch anderweitige Aktivität überbrücken. Dieses Verfahren ist jedoch mit erheblichem Verwaltungsaufwand
, 2. B. für die Freistellung eines Arbeitsspeicherbereichs, die Erstellung eines Kanalprogrammes und die
Behandlung von Interrupts verbunden. Zudem ist oftmals der Transfer eines zusammenhängenden Datenblocks
überhaupt nicht notwendig, wenn z. B. nur einzelne Daten inspiziert werden müssen. Aus diesen
Gründen ist es zweckmäßig, der Zentraleinheit einen schnellen Direktzugriff sowohl auf einzelne Daten als
auch auf zusammenhängende Datenblöcke zu verschaffen, die in Hintergrundspeichern sehr großer Kapazität
gehalten werden.
Für die Realisierung von Hintergrundspeichern kommen nur Technologien in Frage, die sich durch
niedrige Kosten pro Bit und extrem hohe Datenpakkungsdichte auszeichnen. Unter diesem Gesichtspunkt
erscheinen »Charge-Transfer-Devices« anstelle von Trommelspeichern und »Magnetic-Domain-Devices«
anstelle von Plattenspeichern besonders geeignet. Diese Technologien erfordern im Gegensatz zu Platten- und
Trommelspeichern eine fortwährende Datenbewegung sowohl relativ zum Speichermedium selbst als auch
relativ zu einem fest auf dem Speichermedium angebrachten Schreib-Lese-Kopf. Autgrund der Bewegung
relativ zum Speichermedium wird es möglich, Schaltfunktionen zu implementieren, so daß die
Datenbewegung nicht auf eine zyklische Bewegung beschränkt bleiben muß. Vielmehr kann der Inhalt einer
Speicherzelle durch Aktivierung eines von zwei Ausgängen auf eine von zwei oder mehreren Nachfolgerzellen
übertragen werden, während die Zelle selbst zum selben Zeitpunkt über einen von zwei Eingängen
den Inhalt einer von zwei oder mehreren Vorgängerzelltn übernimmt, wobei der jeweilige Eingang und
Ausgang durch ein externes binäres Steuersignal aktiviert wird. Auf diese Weise stehen mehrere Wege
oder genau ein sehr kurzer Weg zur Verfügung, auf denen der Inhalt einer beliebig ausgewählten Zelle zum
Schreib-Lese-Kopf transportiert werden kann.
Es ist ein Permutationsnetzwerk bekannt (IEEE Transactions on computers Vol. C 21, No. 4 [1972], S.
359—366), das auf einer baumartigen Verbindungsstruktur basiert, bei der jede Speicherzelle genau zwei 5
Nachfolgerzellen und zwei Vorgängerzellen besitzt Alle Verbindungen innerhalb des Netzwerkes sind zwei
Permutationen zugeordnet, von denen die Verbindungen jeweils einer Permutation simultan aktiviert
werden. Die beiden Permutationen, genannt »perfect shuffle« und »exchange shuffle« sind so angelegt, daß in
einem Speicher mit 2* Zellen der Inhalt jeder Zelle in höchstens k Schritten über ein Verbindungsnetzwerk
zwischen den Zellen zum Schreib-Lese-Kopf gebracht werden kann. Dabei bilden die Verbindungswege, die
dem »perfect shuffle« und dem »exchange shuffle« zugeordnet sind, jeweils geschlossene Zyklen unterschiedlicher
Länge, also z. B. bestehend aus 2, 3, 4, ... interzellularen Verbindungen, je nach Größe von k.
Bei einem anderen bekannten Permutationsnetzwerk (IEEE Transactions on computers Vol. C-23, No. 3
[1974], S. 272-276) sind die Verbindungen zwischen den Zellen so angelegt, daß bei einer Gesamtkapazität von
2*-l Zellen mit ebenfalls zwei Permutationen der Inhalt einer Zelle in der Größenordnung von k
Schritten, jedoch der Inhalt von allen in fortlaufender Numerierung nachfolgenden Zellen mit jeweils einem
weiteren Schritt Verzögerung zum Schreib-Lese-Kopf transportiert werden kana
Ein entscheidender Nachteil beider Netzwerke besteht darin, daß Verbindungen zwischen nicht
benachbarten Speicherzellen hergestellt werden müssen, die bei sinnvollen Speicherkapazitäten ein komplexes,
nichtplanares Verbindungsnetzwerk mit einer erheblichen Anzahl von Leitungskreuzungen erfordern.
das einen beträchtlichen Anteil der auf dem Speicherchip zur Verfügung stehenden Fläche beansprucht.
Gänzlich ungeeignet sind diese Netzwerke für »Magnetic-Domain-Devices«,
da hier ein Datentransport über größere Distanzen nicht in einem Permutationstakt
ausgeführt werden kann.
Der Erfindung liegt deshalb die Aufgabe zugrunde, das Permutationsnetzwerk so zu strukturieren, daß ein
Datenaustausch lediglich zwischen unmittelbar benachbarten Speicherzellen stattfindet, daß das Verbindungsnetzwerk
kreuzungsfrei bleibt und daß der Zugriff zu einer Speicherzelle in der Größenordnung von k
Takten, der Zugriff zu 2s aufeinanderfolgenden Zellen in der Größenordnung von 2s Takten bei einer Gesamtspeicherkapazität
von 2*-l (Jt > g) Zellen erfolgen kann.
Diese Aufgabe wird erfindungsgemäß dadurch gelöst daß die Ebene / aus 2' Speicherzellen gebildet ist daß
jede Speicherzelle der Ebene / mit zwei ihr benachbarten miteinander verbundenen Speicherzellen der Ebene
i+1 so verbunden ist, dafi diese drei Speicherzellen ein
Dreieck bilden, in dem die inhabe der Speicherzellen im
Uhrzeigersinn zyklisch vertauschbar sind, daß jede der
Speicherzellen der Ebenen
zwei Dreiecken and die als Schreib-Lese-Kopf dienende
. eine Speicherzelle der Ebene Θ und jede der Speicherzellen der Ebene k—l nur einem Dreieck
angehört, daß eis Zagriffssteuerwerk zum simultanen Transferieren der Inhalte der in geradzahlig numerierten
ibenen angeordneten Speicherzellen in zugeordnete Speicherzellen der nächsthöheren angeradzahlig
numerierten Ebenen (Permutation A) und zum simultanen Transferieren der Inhalte in der ungeradzahlig
numerierten Ebenen angeordneten Speicherzellen in zugeordnete Speicherzellen der nächsthöheren geradzahlig
numerierten Ebene (Permutation B) vorgesehen ist, das entweder die Permutation A oder die
Permutation B bewirkt, daß das Zugrifssteuerwerk im wesentlichen aus einem Permutationsstatusregister zum
Kennzeichnen des aktuellen Permutatiönszustandes einer ersten Speicherzelle mit Hilfe des Binärcodes der
Zelladresse, deren Inhalt sich im Schreib-Lese-Kopf befindet und einem Speicheradreßregister zum Aufnehmen
des Binärcodes der Zelladresse einer zweiten Speicherzelle deren Inhalt anschließend zu lesen oder
zu schreiben ist besteht, und daß diesen Registern ein logisches Vergleichsnetzwerk zum Erzeugen der kürzesten
Permutationssequenz zum Transferieren des Zellinhaltes einer vorbestimmten Speicherzelle in den
Schreib-Lese-Kopf nachgeschaltet ist.
Bei einer vorteilhaften Weiterbildung der erfindungsgemäßen Schaltungsanordnung ist das Permutationsnetzwerk
gebildet aus einer Speicherkapazität von 2(2*-1) Zellen, die gleichmäßig auf zwei baumartige
Speichernetzwerke so verteilt sind, daß das erste Netzwerk alle Zelladressen enthält, in deren Binärcode
das Bit mit der Wertigkeit 2 eine O führt und das zweite Netzwerk alle Zelladressen enthält, deren Binärcode an
dieser Stelle eine 1 hat, und daß eine vom Zugriffssteuerwerk betriebene Auswahlschaltung automatisch die
Verbindung zu einem der beiden Leseköpfe der Speichernetzwerke herstellt.
Bei einer anderen vorteilhaften Ausgestaltung der Erfindung ist das Speicheradreßregister des Zugriffssteuerwerkes als Vorwärts-Rückwärts-Schieberegister
ausgebildet mit k Binärstellen zum Laden des aus Ar+1
Bits bestehenden Adreßcodes, ausgenommen das Bit mit der Wertigkeit 2, das in ein*.m ersten einstelligen
Register gespeichert wird, das ein erstes einstelliges Überlaufregister mit dem Speicheradreßregister zu
einem Ringschieberegister zusammengeschaltet ist daß das Permutationsstatusregister des Zugriffssteuerwerkes
als Vorwärts-Rückwärts-Schieberegister ausgebildet ist mit k Binärstellen zum Speichern des Binärcodes
der Zelladresse, deren Inhalt als nächster in den Schreib-Lese-Kopf zu übertragen ist mit Ausnahme des
Bits der Wertigkeit 2, daß ein zweites einstelliges Oberlaufregister beim Rechtsshift des Permutationsregisters
dessen Bit der Wertigkeit O übernimmt wobei im
zweiten Überlaufregister der vor der Übernahme vorhandene Inhalt gelöscht wird und das beim
Linksshift des Permutationsstatusregisters seinen Inhalt an das Bit der Wertigkeit O im Permutationsstatusregister
abgibt und den Inhalt des ersten Überlaufregisters übernimmt daß ein als Vorwärts-Rückwärts-Schieberegister
ausgelöstes Zeigerregister mit k BinärsteUen
einen Zeiger der Form enthält daß nur eine Binärstelle den Wert 1 führt und alle anderen Binärstellen den Wert
O führen, daß ein zweites einstelliges Register die zuletzt
ausgeführte Permutation A mit 1 und die Fennatadon B
mit O kennzeichnet daß ein drittes emsteUiges Register
bei der für den Zugriff auf die im Speicheradreßregister
enthaltene Adresse erforderlichen PennutatiGnssequenz
die erste Permutation A mit 1 oder B bä Θ
kennzeichnet, dafi ein viertes einstelliges Register mm
Anzeigen der erstes Permutation A mh 1 «der B adt ö
der für den Inhalt des Pennutationsstaiusregisters
notwendigen Permutationssequenz vorgesehen Ist, daß
ein einstelliges Steuerregister des Inhalt des zweiten
Oberlaufregisters dupliziert daß ein m-stelliges Zählregister
die mit dem Speicheradreßregister ausgeführten Rechtsshifts durch Hochzählen und die linksshifts
durch Herunterzählen ermittelt daß ein viertes Schieberegister mit drei Binärstellen seinen Inhalt mit
jeder Permutation nach rechts shiftet und in dessen Imker Binärstelle eine Permutation A mn 1 und eine
Permutation B mit 0 markiert ist und von dessen rechter Binärstelle nach zwei Permutationstakten das Steuersignal
für die Permutationen im Netzwerk abgreifbar ist und daß ein fünftes Schieberegister mit drei Binärstellen
seinen Inhalt mit jeder Permutation nach rechts shiftet und dessen linke Binärstelle auf 1 gesetzt ist wenn das
erste Register eine 1 führt, die Inhalte des Speicheradreßregisters
und des Permutationsstatusregisters deckungsgleich sind und bei einer 1 in der rechten
Binärstelle der Lesekopf des Netzwerkes angesteuert ist
Die mit dem erfindungsgemäßen Permutationsnetzwerk für dynamische Speicher erzielbaren Vorteile
bestehen darin, daß gegenüber Speichern gleicher Kapazität von 2* bzw. 2*-l Zellen mit zyklischer
Datenpermutation die Zugriffszeit zu einem beliebigen Datum drastisch von im Mittel 2*-' Permutationstakten
auf höchstens 3Ar Permutationstakte verkürzt wird, daß der Transfer einer Speicherseite mit 2* aufeinanderfolgenden
ZeHinhalten genau /77+3(2*-'-1) Permutationstakte
in Anspruch nimmt, wobei m<2(k-g) ist, und daß gegenüber bekannten Permutationsnetzwerken,
mit denen Zugriffszeiten der gleichen Größenordnung erzielbar sind, das erfindungsgemäße Netzwerk
aufgrund seiner planaren, kreuzungsfreien Struktur, bei der nur Verbindungen zwischen unmittelbar benachbarten
Zellen erforderlich sind, technologisch erheblich einlacher zu realisieren ist.
Ein Ausführungsbeispiel der Erfindung ist in der Zeichnung dargestellt und wird im folgenden näher
beschrieben. Es zeigt
F i g. 1 schematische Darstellung einer Speicherzelle, F i g. 2 Struktur eines Speichernetzwerkes,
Fig.3 Permutationsnetzwerk aus zwei simultan betriebenen Speichernetzwerken,
Fig.3 Permutationsnetzwerk aus zwei simultan betriebenen Speichernetzwerken,
F i g. 4 Blockdiagramm des Zugriffssteuerwerkes,
Fig.5 Schaltbild der Vergleichslogik des Zugriffssteuerwerkes.
Fig.5 Schaltbild der Vergleichslogik des Zugriffssteuerwerkes.
Im Falle eines zyklisch permutierenden Speichers, also eines dynamischen Schieberegisterspeichers werden
2* von 0 bis 2*-l numerierte Speicherzellen so miteinander verbunden, daß der Ausgang der Zelle /auf
den Eingang der Zelle /+1 und der Ausgang der Zelle 2*-1 auf den Eingang der Zelle 0, die als Schreib-Lese-Kopf
dient geführt ist Bei der Ausführung einer Permutation geben alle Zeichen gleichzeitig ihre Inhalte
an die jeweils in der Verbindungsstruktur nachfolgenden ZeSen ab. Um des inhalt der Zelle i in den
Schreib-Lese-Kopf zn überführen, sind demnach 2*-i zyklische Pernratationen erforderlich. Daraus folgt daß
die mittlere ZagriffszEitza einer Zefle 2*-'Permutatioaea,
also einer halben Umdrehung des ringförmig geschlossenen Schieberegisters entspricht Ab, die
taktiere Zogriffszek ist direkt proportional der
wird, sowie mit je einer von mehreren Nachfolgerzellen
an die gleichzeitig der gegenwärtige Inhalt abgegeben wird, verbunden werden können. Dadurch wird es
möglich, wesentlich kürzere Wege zwischen einer vorbestimmten Zelle und dem Schreib-Lese-Kopf zu
schalten als bei einer rein zyklischen Permutation und damit die Anzahl der auszuführenden Permutationen
entsprechend zu reduzieren. Aus Gründen der Informationserhaltung muß jede Zelle, die den Inhalt einer
ersten anderen Zelle aufnimmt, auch gleichzeitig ihren Inhalt an eine zweite andere Zelle abgeben und
umgekehrt Daraus folgt zwangsläufig, daß jede Zelle während jeder Datenpermutation Glied eines Zyklus
sein muß, daß jedoch im Gegensatz zur o. a. einen zyklischen Permutation, der alle Zellen gleichzeitig
angehören, eine Zelle alternativ mehreren kleinen Permutationszyklen angehören kann, deren Anzahl
bestimmt ist durch die größere Zahl von Eingangs- bzw. Ausgangsverbindungen der Zelle, von denen jedoch
höchstens eine Permutation pro Zelle ausgeführt werden darf.
Im Hinblick auf eine technologische Realisierung mit vertretbarem Aufwand sind Speicherzellen mit höchstens
zwei und zwei Ausgängen als sinnvoll zu betrachten. Eine solche Speicherzelle ist in F i g. 1
schematisch dargestellt. Die eigentliche Datenspeicherung findet in der Speicherzelle FF statt. Der
Eingangsschaiter ES und der Ausgangsschalter AS werden über eine Steuerleitung SL simultan durch ein
binäres Steuersignal C so geschaltet, daß im deaktivierten Fall (d, h, = C=O) die Zelle FF den Inhalt der dem
Eingang E1 vorgeschalteten Speicherzelle übernimmt,
und ihren gegenwärtigen Inhalt an die dem Ausgang A 1 nachgeschaltete Speicherzelle abgibt, während im Falle
des aktivierten Schakers (d. h. C— 1) iniormation von
Eingang E 2 übernommen und über Ausgang A 2 abgegeben wird.
Eine solche Speicherzelle bildet den Grundbaustein eines sich baumartig verzweigenden Speichernetzwerkes,
dessen Struktur schematisch in F i g. 2 dargestellt ist. Die Speicherzellen sind in fortlaufend numerierten
Ebenen angeordnet wobei die Ebene 0 eine Speicherzelle, die als Schreib-Lese-Kopf benutzt wird, und jede
Ebene 2' Speicherzellen enthält Die Verbindungsstruktur zwischen den Zellen ist derart aufgebaut daß jede
Zelle einer Ebene /im Bereich
wobei k—\ der Index der höchsten Ebene des Baumes ist je eine eingangsseitige und ausgangsseitige Nachbarzelle
in der Ebene /+1 hat Entsprechend der in F i g. 2 gezeigten Zellnumerierung hat außerdem jede
geradzahlige Zelle in der Ebene / eine eingangsseitige Nachbarzelle in der Ebene /sowie eine ausgangsseitige
NachbarzeUe in der Ebene ι—1, {und damit jede
ungeradzahlige ZeBe in der Ebene /eine aosgangsseitigc
Nachbarzelle in /*jL sowie eine eiagangsseitige Nachbarzelle
in /-!. Die Eingänge takt Aasgänge da
Speicherzellen sind so geschaltet daß jede ZeQe einet Ebene /im Bereich
Bne priszmieSe Verkürzung dieser mittleren Zu- entweder nrit den bekien in der Ebene/+! befindiCBet
gi-gfep^^tfamp Airitireh erzielt werden, daß die zyklische NachbarzeHen oder πα den in den Sjeiren / bzw. i-l
Verffflidanzsstrnktar durch ein wesentSca komplexeres 65 befmdBchen NachbarzeSen im einem im lihrzeigerstes
Neö^ääsetzt wed,bei dem eimge oder ale ZeBen ablaufenden PermntaäenszjWes vetfenrfeB
itewaMweise'init je einer von kann, der insgesamt drei ZeSen anlaßt Da
mehreren Vbä
atea, deren inhaft flker
Schreäj-Lese-KopfkeiBeNacl
to imäner Hätte*
609583Π3
ίο
niederen Ebene und die Zellen der Ebene Jt-I keine Nachbarzellen in einer nächsthöheren Ebene haben,
nehmen diese Zellen nur an jeweils einem Permutationszyklus teil, d. h. bei Ausführung des jeweils anderen
Permutationszyklus bleiben die Inhalte dieser Zellen erhalten. Um die insgesamt im Speichernetzwerk
möglichen Permutationszustände und die damit verbundene Komplexität des Zugriffssteuerwerkes gering zu
halten, werden die Dreierpermutationen, die alle Zellinhalte in Ebenen mit geradzahliger Numerierung
mit den Inhalten der jeweils zugeordneten Zellen in den nächsthöheren ungeradzahlig numerierten Ebenen
austauschen, simultan als eine erste Permutation A ausgeführt, und die Dreierpermutationen, die alle
Zellinhalte in Ebenen mit ungeradzahliger Numerierung mit den Inhalten der zugeordneten Zellen in den
nächsthöheren geradzahlig numerierten Ebenen austauschen, simultan als eine zweite Permutation B
ausgeführt. Bei entsprechender Orientierung der Ein- und Ausgänge der Speicherzellen ist es möglich, diese
Permutationen durch eine einzige Steuerleitung 5, die mit den Steuereingängen aller Zellen verbunden ist — in
F i g. 2 dargestellt durch die unterbrochene Linie — derart zu manipulieren, daß bei deaktivierter Steuerleitung
S (C=O) die Permutation B. und bei aktivierter Steuerleitung S (C= 1) die Permutation A im gesamten
Netzwerk ausgeführt wird.
Eine wichtige Eigenschaft dieses Permutationsnetzwerkes, die von entscheidender Bedeutung für dessen
Steuerung ist, besteht darin, daß — ausgehend von einem aktuellen Permutationszustand P, der durch eine
beliebige Aufeinanderfolge von Permutationen A und B zustande gekommen ist — eine dreifache Ausführung
eiii und derselben Permutation, d. h. eine Sequenz PAAA oder PBBB wieder auf den ursprünglichen
Permutationszustand P zurückführt. Diese Eigenschaft, die unmittelbar aus dem in Dreierzyklen aufgebauten
Netzwerk herzuleiten ist, kann auf einfache Weise dazu benutzt werden, einen beliebigen Permutationszustand
in den Ausgangszustand Φ, bei dem jede Zelle den ihr ursprünglich zugeordneten Inhalt zurückerhält, zurückzuversetzen.
Ist das in der F i g. 2 dargestellte Speichernetzwerk in der Ausgangslage Φ und soll z. B. der Inhalt der
Speicherzelle 22' in den Schreib-Lese-Kopf gebracht werden, so ist zunächst einmal die Permutation B,
danach zweimal die Permutation A, danach zweimal die Permutation B und einmal die Permutation A
auszuführen, also insgesamt die Sequenz BAABBA. Wie aus F i g. 2 folgt, erfordert andererseits die Überführung
des Inhaltes des Schreib-Lese-Kopfes in die Zelle 22' die komplementäre Permutationssequenz AABABB. Eine
Konkatenation der von Zelle 22' nach Zelle 1' führenden Permutationssequenz und der von Zelle Γ nach Zelle 22'
BAABBAAABABB
nach dem Zugriff auf einen bestimmten Zellinhalt für die $
Wiederherstellung des Ausgangszustandes erforderfiäi
ehe Permutationsstrategie: Die für den Hintränsport zum
Lesekopf notwendige Permutationssequenz wird,.
dadurch schrittweise wieder abgebaut, daß — begin-"
nend mit der zuletzt ausgeführten Permutation — alle' angewandten Permutationen in umgekehrter Reihenfol-'
ge zu drei aufeinanderfolgenden Permutationen gleichen Typs ergänzt werden. Daraus folgt gleichzeit
daß der Zugriff zu einem Zellinhalt in der Ebene /um die unmittelbar darauffolgende Wiederherstellung des"
Ausgangszustandes genau 3/ Permutationen, d.h. im.%
ungünstigsten Falle bei k Ebenen genau 3 (Jt-1) Permutationen erfordert.
In vielen Fällen ist es jedoch nicht notwendig, den ursprünglichen Permutationszustand wiederherzustellen,
wenn nämlich zwei aufeinanderfolgende Zugriffe auf Zellen erfolgen, für deren erste eine Permutationssequenz
PQ, und für deren zweite eine Permutationssequenz PQ2 erforderlich ist, wobei <?, und Q2 verschieden
sind, und ebenso wie P eine beliebige Reihenfolge von Permutationen A und B darstellen. In einem solchen
Falle braucht nach dem Zugriff auf die erste Speicherzelle der Permutationszustand durch Komple-
mentieren der Teilsequenz Q1 nur bis auf P abgebaut
und danach durch Q2 ergänzt zu werden.
Soll z. B. zuerst auf den Inhalt der Zelle 22' und danch auf den Inhalt der Zelle 26' zugegriffen werden, so wird
zunächst die Sequenz BAABRA ausgeführt Da der
Zugriff zu Zelle 26' die Sequenz BAABAA erfordert,
und diese Sequenz mit derjenigen für Zelle 22' bezüglich der ersten vier Permutationen BAAB übereinstimmt
wird insgesamt folgendermaßen permutiert:
BAABBAAABBAA
Die konsequente Anwendung der Regel, daß drei
aufeinanderfolgende gleichartige Permutanonen sich kompensieren, und deshalb ans der Permutationsse-
: beraHsgestrichen werden können (was durch die iinböle dargeSteHl ist), zeigt, daß die oben
angegebene Sequenz auf dem Ausgangszustand Φ des
zurucKiUiirt. uaraus roigt unmittelbar die
(die sich kompensierenden Permutationen sind unterstrichen).
Dadurch wird die Sequenz auf insgesamt
zwölf Permutationen verkürzt gegenüber vierundzwanzig
Permutationen bei Wiederherstellung des Ausgangszustandes nach dem Zugriff auf Zelle 22'.
Der aufeinanderfolgende Zugriff auf zwei Zellen kann mit einer derart verkürzten Sequenz nur dann erfolgen,
wenn mindestens die erste Permutation beider Sequenzen
gleich ist d. h. wenn beide Zellen entweder auf tbenen mit geradzahligem oder mit ungeradzahligem
Index liegen. Im Falle der Ungleichheit der ersten permutation muß nach dem Zugriff auf die erste Zelle
der Ausgangszustand wiederhergestellt werden, bevor
der Zugriff auf die zweite Zelle erfolgen kann. Da nur die Permutation A den Inhalt des Lesekopfes ändert ist
diese immer die letzte Permutation einer Zugriffssequenz.
Permutationssequenzen für den Zogriff aiii
«Hen der gleichen Ebene zeichnen sich dadurch as*,
daß sie mit der gleichen Permutation beginnen and die
glerehe Anzahl von Wechseln zwischen AwAB
mifwasen, wob« bei jedem Wechsel zwischen AmtaS
DZW. «und A der gewünschte Zeffiahalt in eiae Ebene
Sl ™*"-»geraa Index übergeht, d.h. dichter aa <ie1ä
Schreib-Lese-Kopf fceraafeewegt wird.
zur Uberbrlcfajag eräer Ebene mfissen ratedesteas
em^aoer höchstens zwei Penastaiioaea gleichen I&s
. ^**? *?*■. Die idiraeste 2agriBsse«iren2 auf
S£ ^ ^ νοτ&&&™& Sbene ist
Sbene ist 4ema&
»»roh! A als aatli ß
dje ßtagste Zap-gfesequeaz m enier ZeBe
derselben Ebene gekennzeichnet ist dadurch, daß sowohl A als auch B alternierend genau je zweimal
nacheinander ausgeführt werden. In F i g. 2 wird z. B. mit der kürzesten Sequenz für die Ebene 4, nämlich BABA,
auf die Zelle 16' zugegriffen, während mit der längsten Sequenz, nämlich BBAABBAA, der Inhalt der Zelle 31'
in den Schreib-Lese-Kopf transportiert wird.
Zur Vereinfachung des Zugriffssteuerwerkes wird der Permutationsspeicher so betrieben, daß der jeweils
effektive Permutationszustand aus einer Permutationssequenz resultiert, die nach Streichung aller Untersequenzen
AAA oder BBB höchstens so viele Wechsel zwischen A und B enthält wie zum Zugriff auf Zellen der
höchsten Ebene des Netzwerkes notwendig sind. Dies bedeutet, daß für das Netzwerk der F i g. 2, das nur fünf
Ebenen besitzt, zwar eine Sequenz BBABAA, die auf die Zelle 25' zugreift, erlaubt, aber eine Sequenz
BBABAABA, die auf die Zelle 9' zugreift, verboten ist, da der Zugriff auf Zelle 9' mit der wesentlich kürzeren
Sequenz AABA erfolgen kann.
Wenn unter dieser Einschränkung auf alle 2' Zellen einer Ebene / mit der kürzest möglichen Permutationssequenz
zugegriffen werden soll, dann muß eine Strategie angewendet werden, bei der der gesamte
zwischen dem Lesekopf und der Ebene /liegende Baum derart traversiert wird, daß die insgesamt auszuführende
Anzahl der Permutationen genau der Anzahl der Verbindungskanten in diesem Baum entspricht. Diese
Strategie wird anhand der F i g. 2 für den Zugriff auf alle Speicherzellen der Ebene 3 erläutert. Die kürzeste
Sequenz, mit der z. B. die Speicherzelle 8' dieser Ebene erreicht werden kann, ist ABA. Ausgehend von dieser
Sequenz kann die Speicherzelle 12' dieser Ebene unmittelbar durch Ausführung einer weiteren Permutation
A, also insgesamt durch die Sequenz ABAA erreicht werden. Die Fortsetzung dieser Sequenz
sowohl mit A als auch mit B führt zu einer mit B endenden Sequenz, d.h. in keinem der beiden Fälle
erscheint im Lesekopf der Inhalt einer weiteren Speicherzelle der Ebene 3. Im ersten Fall wird jedoch
die Sequenz effektiv auf AB verkürzt, wonach durch einmalige Anwendung der Permutationen BA eine
resultierende Sequenz ABBA entsteht, die dem Lesekopf wieder einen Speicherzellinhalt der Ebene 3
zuführt. Auf die nächstfolgende Speicherzelle 14' kann nun wiederum unmittelbar durch eine weitere Permutation
A, die die Sequenz auf ABBAA verlängert zugegriffen werden. Nachdem mit einer dritten
Permutation A die Sequenz wieder auf ABB verkürzt wird, kann nunmehr nur durch die Permutationen
BABA ein weiterer Speicherzellinhalt der Ebene 3 in den Lesekopf gebracht werden, auf den bisher noch
nicht zugegriffen worden ist Aus der konsequenten Fortsetzung dieses Schemas ergibt sich allgemein für
den Zugriff auf die Speicherzeilen einer Ebene i, daß zunächst die kSrzest mögliche Permirtationssequenz
angewendet wird, daß die erste. Permutation A, die
einen Speicherzellinhalt der Ebene / in den Lesekopf bringt, zs drei Permtttadonen AAA ergänzt wird, und
daß danach die Zweiersequenz BA so oft angewendet wird, bis wiederum ein Zeffinhah der Ebene ι im
Lesekopf erscheint Danach wad wieder wie oben
fortgefahren, bis die gesarate Permstationssequenz wieder auf den Ausgangszustand Φ zurückgeführt ist
Die vollständige Permutationsseqaeflz für den Zugriff
auf alte Zeffinbalte der Ebene 3 in der Baumstruktur
F i g. 2 ist in der nachfolgenden Tabelle dargestellt, die
gleichzeitig die Adressen der Zellen auflistet, deren
Inhalte sich nach Ausführung der korrespondierenden Permutationssequenzen im Lesekopf befinden.
Sequenz Adr.
Sequenz
Adr.
A | T |
AB | T |
ABA | 8' |
ABAA | 12' |
'° ABAAA | 2' |
ABB | 2' |
ABBA | 10' |
ABBAA | 14' |
15 ABBAAA | 2' |
ABBB | 2' |
/1/1 | 3' |
AAB | 3' |
AABA | 9' |
AABAA | 13' |
AABAAA | 3' |
AABB | 3' |
AABBA | 11' |
AABBAA | 15' |
AABBAAA | 3' |
AABBB | 3' |
AAA | r |
Mit dem Symbol + sind alle diejenigen Sequenzen gekennzeichnet, die entweder den Inhalt des Lesekopfes
nicht ändern bzw. bei denen der Inhalt des Lesekopfes nicht dem einer der Speicherzellen der
Ebene 3 entspricht.
Die Tabelle zeigt, daß bei dieser Permutationssequenz
höchstens zwei Zellinhalte der gewünschten Ebene durch unmittelbar aufeinanderfolgende Permutationen
in den Lesekopf gebracht werden, und daß diesen beiHegPermutationen mindestens zwei weitere folgen,
bei denen der Lesekopfinhalt nicht mit dem aus einer der Zellen der Ebene 3 übereinstimmt Dies gilt wie sich
aus F i g. 2 ergibt für alle Ebenen. Die Anzahl der für die Ebene 3 insgesamt ausgeführten Permutationen ist 21,
dies entspricht genau der Anzahl der in dem Baum zwischen dem Lesekopf und der Ebene 3 vorhandenen
Kanten, die durch die angegebene Permutationssequenz vom ursprünglichen Inhalt des Lesekopfes genau je
einmal im Uhrzeigersinn durchlaufen werden. Allgemein gilt demnach, daß die kürzest mögliche Permutationssequenz
für den Zugriff auf alle 2' Zellen der Ebene /genau 3 (2'-1) Permutationen verlangt
Die Permutationseigenschaften der in F i g. 2 dargestellten
Speicherstruktur können besonders vorteilhaft in einem sogenannten »paging« System eingesetzt
werden, bei dem der virtuelle Speicherraum durch einen dynamischen Speicher realisiert wird Beim »paging«
werden jeweils Datenblöcke, die dem Inhalt von 2* fortlaufend adressierten Speicherzellen, deren erste
eine Adresse η 2* haben muß, entsprechen, zwischen
dem (virtuellen) dynamischen Speicher und dem (reellen) Arbeitsspeicher des Systems transportiert Eir
solcher Datenblock, auch Seite oder »page« genannt kann in den 2e Zellen der Ebene g der angegebener
Speicherstruktur abgespeichert werdea Da jede ZeIk der Ebene g ihrerseits jeweils Wurzel einesJt —g Ebener
tiefen Unterbaumes einer Kapazität von 2*-»— 1 ZeBei
ist können in dem gesamten Speicher 2*-*—1 vollständige Seiten derart abgespeichert werden, dai
zur gleichen Seite gehörige Daten sich jeweils dei
gleichen Zellen dieser Unterbäume aufhalten, wenn de; Speicher sich im Ausgangsznstaud Φ befändet Zwischei
den Ebenen 0 und g— 1 ist eine unvollständige Seife voi
2*-l untergebracht Jede vollständige Seite kam demnach durch eine sogenannte Prefix-Sequenz, die in
konventionellen Sinne der Seitenadresse im virtaeJlei
Speicher entspricht, in die Ebene # permutiert, and voi
dort nach dem angegebenen minimalen Algoriänra
gelesen bzw. beschrieben werdea Oa diese'.
131
quenz gewöhnlich nach fortlaufenden Zelladressen
erfolgt, ist es zweckmäßig, die Zelladressen gegenüber
der in Fig.2 angegebenen Numerierung entsprechend
zu ändern.
Die Eigenschaft der fSr den Zugriff auf eine in der
Ebene g positionierte Seite der Länge 2* erforderliche
Permutationssequenz, daß je zwei aufeinanderfolgende
Permutationen, die einen Zellinhalt dieser Seite in den
Lesekopf transportieren, unmittelbar gefolgt werden von mindestens zwei Permutationen, die dem Lesekopf
nicht benötigte Daten zuführen, wird genutzt, um ohne
wesentliche Erweiterung des Zugriffssteuerwerkes die insgesamt zur Verfügung stehende Speicherkapazität
sowie die Datenzugriffsrate beim »paging« zu verdoppeln. Dies geschieht dadurch, daß zwei Permutationsnetzwerke
gleicher Kapazität simultan derart betrieben werden, daß die dem ersten Netzwerk zugeführte
Permutationssequenz mit genau zwei Permutationstakten Verzögerung auch auf das zweite Netzwerk
angewendet wird. Die Ausführung der für den sequenziellen Zugriff auf die Zellen der Ebene g
erforderlichen Permutationssequenz führt dann dazu, daß während der unmittelbar nach dem Zugriff auf zwei
Zellinhalte der Ebene g des ersten Netzwerkes entstehende Lücke von mindestens zwei Permutationstakten
im Lesekopf des zweiten Netzwerkes genau zwei Zellinhalte von dessen Ebene g erscheinen. Bei
entsprechender Numerierung der Zellen in den beiden Netzwerken kann demnach auf genau acht fortlaufend
numerierte Zellen in unmittelbarer Aufeinanderfolge zugegriffen werden, bevor eine Zugriffslücke entsteht
Dadurch wird die Zugriffsrate verdoppelt, d. h. gegenüber
dem einfachen Netzwerk werden für den Zugriff auf die 2*-Zellen einer Seite, die nunmehr je zur Hälfte
in den Ebenen g— 1 der beiden simultan betriebenen Netzwerke untergebracht sind, genau 3 (2*'-l)
Permutationstakte benötigt.
Die Fig.3 zeigt schematisch ein solches Permutationsnetzwerk
in Tandem-Baumstruktur, dessen Zellen fortlaufend so numeriert sind, daß bei Anwendung einer
kürzesten Permutationssequenz für eine Ebene / die Zellinhalte in der Reihenfolge monoton wachsender
Adressen alternierend in dem jeweiligen Lesekopf erscheinen. Das Entwicklungsgesetz für diese Numerierung
ist dadurch gegeben, daß im Netzwerk I, beginnend mit der Ebene ;= 1, jede Zelle in einer Ebene /mit einer
Adresse *, je einen Nachbarn in der Ebene /+1 mit den
Adressen x,+ 2'+' und *,-+ 2>*2 hat.
Im Netzwerk II sind die korrespondierenden Zelladressen jeweils um 2 höher. Daraus ergibt sich
unmittelbar, daß — abgesehen von der Adresse des jeweiligen Lesekopfes - die Binärcodes der Adressen
im Netzwerk I im Bit mit der Wertigkeit 2 eine Null und im Netzwerk II alle Adressen an dieser Stelle eine 1
haben. Aus dieser Zuordnung der Zelladressen und den für den Zugriff auf die jeweiligen Zellen notwendigen
Permutati0nssequen2.cn läßt sich der Aufbau und die Funktion des zum Betrieb des Speichers notwendigen
Zugriffswerkes herleiten.
Die funktionell wesentlichen Bestandteile eines solchen Zugriffssteuerwerkes sind als Blockdiagramm in
F i g. 4 dargestellt Ein Permutationsstatusregister SAR t stellt den aktuellen Permutationszustand des Netzwerkes'in
binärcodierter Form dar. In ein Speicheradreßregister MAR wird die jeweils gewünschte Adresse der
Zelle, deren Inhalt als nächster in den Lesekopf transportiert werden soll, geladen. Ein logisches
Netzwerk erzeugt, unterstützt von einigen Hilfsregistem.
aus einem Vergleich der Inhalte von MAR -.jnd
SAR die für den Transport notwendige ^ermulationssequenz
und die entsprechende Steuersignalfolge.
Aus der Verteilung der Adressen über die beiden
sjmultan betriebenen Netzwerke wird unmittelbar klar,
daß das Adreßbit mit der Wertigkeit 2 insoweit eine Sonderstellung einnimmt, als es für die Herleitung der
Permutationssequenz nicht erforderlich ist, da Adressen,
die sich nur in diesem Bit unterscheiden, jeweils die gleiche Permutationssequenz erfordern. Dieses Bit ist
lediglich notwendig, um dann, wenn der geforderte Zellinhalt im Lesekopf des jeweiligen Netzwerkes
erscheint, die Auswahl vorzunehmen, über welchen Lesekopf zuzugreifen ist Definitionsgemäß ist dies im
Falle einer 0 der Lesekopf des Netzwerkes L und im Falle einer 1 der Lesekopf des Netzwerkes H. Das
Adreßbit der Wertigkeit 2 wird deshalb nicht in das Register MAR, sondern in ein einstelliges Register MFF
geladen.
Die für die Beschreibung des Bermutationszustandes
des Netzwerkes geeignete Codierung wird aus der Tatsache gewonnen, daß aufgrund der o. a. Beschränkung
der zulässigen Permutationssequenzen jeder Zellinhalt mit nur einer Permutationssequenz in den
Lesekopf gelangen kann. Zur Angabe des Permutationszustandes eines lk-\ Zellen umfassenden Baumnetzwerkes
genügt demnach ein A-stelliges Register, das in binärcodierter Form die Adresse der Zelle erhält, deren
Inhalt sich gerade im Lesekopf befindet Im Falle des Permutations-Netzwerkes in Tandem-Struktur, dessen
Gesamtkapazität 2 (2*-l) Zellen umfaßt, genügt ebenfalls ein jt-stelliges Register, da hier — wie im Falle
des Adreßregisters — das Bit der Wertigkeit 2 irrelevant ist Das Steuerproblem des Netzwerkes
reduziert sich dann darauf, durch geeignete Permutationen den Inhalt des Registers SAR mit dem des Registers
MAR zur Deckung zu bringen.
Der dafür notwendige Algorithmus und dessen schaltungstechnische Implementierung ergibt sich aus
der Beziehung zwischen den Binärcodes der Zelladressen und den für den Zugriff auf die Zellen notwendigen
Permutationssequenzen. Dieser Zusammenhang soll anhand von zwei Beispielen erläutert werden. Der
Zugriff auf die Zelle 56, die sich im Netzwerk I des in F i g. 3 dargestellten Tandem-Speichers befindet, erfolgt
— wie leicht aus der Struktur folgt — mit der Sequenz BBAABA. Wenn vereinbarungsgemäß die Permutation
A durch eine 1 und die Permutation B durch eine 0 codiert wird, so ergibt sich folgender Zusammenhang
zwischen Adreßcode und Permutationscode:
Adreßcode | 1 | 1 | 1 | 0 [C | U 0 |
I | I | I | I | ||
Permutationscode | 00 | 11 | 0 | 1 |
Das höchstwertige Bit 1 im Adreßcode, im folgenden auch Pilotbit genannt, identifiziert die Ebene, auf der
sich die adressierte Zelle befindet und damit die erste auszuführende Permutation. In diesem Falle gehört die
Zelle der Ebene 4 an, die erste Permutation ist demnach B, dargestellt durch 0 im Permutationscode. Die Anzahl
der Bits rechts vom Pilotbit, ausgenommen das umrahmte Bit der Wertigkeit 2, gibt die um 1 erhöhte
Anzahl der erforderlichen Wechsel zwischen den Permutationen A und B an, da jedes Bit eine Ebene im
Baum darstellt. Im Beispiel sind, beginnend mit der Permutation S, drei Wechsel, nämlich BABA, erforderlich.
Damit wird auch die Korrespondenz zwischen
s/U
den Bits im Adreßeode und denen im Permutationscode
offensichtlich. 1st das Adreßbit 1, dann wird die zugehörige Permutation zweimal ausgeführt, ist das
Adreßbit jedoch 0, dann nur einmal. Dies zeigt auch das Beispiel für den Zugriff auf die Zelle 39, die im Netzwerk
JI Segt, mit HUTe der Sequenz BABBAA.
Adreßcode: | 1 | 0 | 0 | ι 0 | U 1 |
I | I | I | i | ||
Pennutationscode: | 0 | 1 | 00 | 11 |
IO
Das Pilotbit im Adreßcode zeigt wieder auf die vierte Ebene, d. h, die erste Permutation muß B sein. Da das
erste Bit rechts vom Pilotbk eine 0 enthält, wird diese
Permutation nur einmal ausgeführt Das gleiche gilt für die nachfolgende Permutation A, während die darauffolgenden
Permutationen B und A jeweils zweimal ausgeführt werden müssen. Aus dieser Zuordnung des
Adreßcodes zu den für den Zugriff auf die jeweiligen Zellen notwendigen Permuiationen ergibt sich das in
F i g. 4 schematisch dargestellte Zugriffssteuerwerk.
Es enthält
ein als Vorwärts/Rückwärts-Schieberegister ausgebildetes
Speicheradreßregister MAR, bestehend aus Jt Binärstellen entsprechend einer Speicherkapazität
von 2 (2*-1) Zellen im Tandem-Netzwerk), in das der aus Ar+1 Bits bestehende Adreßcode —
bis auf das Bit der Wertigkeit 2 — derart geladen wird, daß das /-te Bit der Adresse in der y-ten
Binärstelle des Registers steht, wobei die Binärstellen von rechts nach links numeriert sind in der
Reihenfolge 0,2,3,4,... Ar-I, k [dies wird kurz dargestellt in der Form MAR (k: 2,0)];
ein Überlauf-Flip-Flop WM, das zusammen mit dem Register MAR ein Ringschieberegister bildet
derart, daß beim Rechtsshift der Inhalt der Binärstelle MAR[O) nach HM, und der Inhalt von
HM nach MAR (k) übertragen wird, während umgekehrt beim Linksshift der Überlauf von
MAR (k) nach HAi, und dessen Inhalt nach MAR (0) geshiftet wird;
ein einstelliges Register MFF, in das das Bit der Wertigkeit 2 des Adreßcodes geladen wird;
ein ebenfalls als Vorwärts/Rückwärts-Schieberegister ausgebildetes Permutationsstatusregister SAR
(k·. 2,0), das in jedem Permutationszustand den Binärcode der Adresse der Zelle (bis auf das Bit der
Wertigkeit 2) em'näli. vieren inhalt sich gerade im
Lesekopf des Netzwerkes I befindet;
ein einstelliges Überlaufregister HS, das beim Rechtsshift des Registers SAR den Inhalt von SAR(O) übernimmt, während sein eigener Inhalt verlorengeht, und das beim Linksshift seinen Inhalt an SAR(O) abgibt, während es selbst den Inhalt des Überlauf-Flip-Flops HAfübernimmt;
ein Zeigerregister (Vorwärts/Rückwärts-Schieberegister) SPR (k: 2,0). das einen Zeiger der Form enthält, daß immer nur genau eine Binärstelle SPR (i) den Wert 1 führt, während alle anderen Binärstellen den Wert 0 führen;
ein einstelliges Register SFF, das den Typ der zuletzt erfolgten Permutation darstellt derart, daß SFF=I der Permutation A und SFF=O der Permutation B entspricht;
ein einstelliges Register MHF, in dem festgehalten wird ob die Position des Pilotbits unmittelbar nach dem Laden von MAR einer für den Zugriff auf die entsprechende Zelle auszuführenden ersten Permutation A(AiHF= l)oder B(A/WF=0)entspricht; ein einstelliges Steuerregister HH, in das gegebenenfalls der Inhalt von HSdupliziert werden kann; ein einstelliges Register SHF, in dem die erste Permutation der in SAR enthaltenen Permutationssequenz festgehalten wird;
einen m-stelligen Binärzähler CNT (m-1:0), in dem die Anzahl der mit dem0 Register MAR ausgeführten Rechtsshifts und Linksshifts abgezählt werden kann;
ein einstelliges Überlaufregister HS, das beim Rechtsshift des Registers SAR den Inhalt von SAR(O) übernimmt, während sein eigener Inhalt verlorengeht, und das beim Linksshift seinen Inhalt an SAR(O) abgibt, während es selbst den Inhalt des Überlauf-Flip-Flops HAfübernimmt;
ein Zeigerregister (Vorwärts/Rückwärts-Schieberegister) SPR (k: 2,0). das einen Zeiger der Form enthält, daß immer nur genau eine Binärstelle SPR (i) den Wert 1 führt, während alle anderen Binärstellen den Wert 0 führen;
ein einstelliges Register SFF, das den Typ der zuletzt erfolgten Permutation darstellt derart, daß SFF=I der Permutation A und SFF=O der Permutation B entspricht;
ein einstelliges Register MHF, in dem festgehalten wird ob die Position des Pilotbits unmittelbar nach dem Laden von MAR einer für den Zugriff auf die entsprechende Zelle auszuführenden ersten Permutation A(AiHF= l)oder B(A/WF=0)entspricht; ein einstelliges Steuerregister HH, in das gegebenenfalls der Inhalt von HSdupliziert werden kann; ein einstelliges Register SHF, in dem die erste Permutation der in SAR enthaltenen Permutationssequenz festgehalten wird;
einen m-stelligen Binärzähler CNT (m-1:0), in dem die Anzahl der mit dem0 Register MAR ausgeführten Rechtsshifts und Linksshifts abgezählt werden kann;
einen ^-stelligen Binärzähler ADCT(g-1 :0), der
für die fortlaufende Adressierung von Zellen einer Seite derart eingesetzt wird, daß der Zählerstand
— beginnend mit dem Wert 0 — in Schritten von 1 hochgezählt wird, bis wieder der Wert 0 erreicht ist,
und daß nach jedem Hochzählen der Inhalt dieses Zählers auf die letzten g Binärstellen des
Speicheradreßregisters MAR übertragen wird; ein aus drei Binärstellen bestehendes Schieberegister
DEL(0:2), in dessen Bit DEL(O) eine 1 eingetragen wird, falls eine Permuation A ausgeführt
wird, und eine 0, falls B ausgeführt wird, dessen Inhalt mit jeder Permutation um eine
Binärstelle nach rechts geshiftet wird, und von dessen Bit DEL (2) nach genau zwei Permutationstakten
die Steuersignale für das Netzwerk H abgeleitet werden können;
ein Schieberegister READ(O : 2), das ebenfalls mit jeder Permutation nach rechts geshiftet wird, und
in dessen Bit READ(O) dann eine 1 eingeschrieben wird, falls das Flip-Flop AfFFauf 1 gesetzt ist, und
gleichzeitig die Inhalte von MAk und SAR zur Deckung gebracht worden sind, und von dessen Bit
READ (2) der Lesekopf des Netzwerkes II angesteuert wird, falls es eine 1 enthält;
ein logisches Netzwerk COMP, das die Inhalte der Register MAR, SAR und SPR auswertet und
verschiedene Steuersignale erzeugt, sowie ein in Fig.4 nicht explizit dargestelltes Steuerwerk, das
die für die Steuerung der Register sowie des Speichernetzwerkes notwendigen Mikroprogramme
ausführt. Der Datenaustausch mit dem Steuerwerk ist im Blockdiagramm der F i g. 4 durch Pfeile
S dargestellt.
Der aktuelle Permutationszustand des Speichernetzwerkes ist gegeben durch den Inhalt des PermutationsstatusregiEters
SAR, das die Adresse des gerade im Lesekopf befindlichen Zellinhaltes angibt, sowie durch
den Inhalt des einstelligen Registers SHF, das die erste Permutation der zum Erreichen dieses Zustandes
notwendigen Permutationssequenz angibt Außerdem ist im Register SFF die zuletzt ausgeführte Permutation
abgespeichert Beim Laden einer neuen Adresse in das Speieneradreßregister MA R wird mit der nachfolgend
beschriebenen Prozedur der Inhalt dieser Zelle in den Lesekopf des jeweiligen Speichernetzwerkes gebracht.
Mit Hilfe des logischen Netzwerkes COMP wird zunächst der in SPR geführte Zeiger auf diejenige
Binärstelle gesetzt, die dem höherwertigen der beiden Pilotbits in MAR und SAR entspricht. Gleichzeitig stellt
ein Signal IMAX fest, ob die Zeigerstellung mit dem Pilotbit in MAR zusammenfällt, und ein Signal KMAX,
ob die Zeigerstellung mit dem Pilotbit in SAR zusammenfällt. Falls IMAX = 1 und KMAX = 0,
gehört das höherwertige Pilotbit dem Register MAR an.
609 583/132
Nunmehr wird anhand der gesetzten Z Herstellung in
SPR bestimmt, ob dieses Pilotbit auf einer Position steht,
die einer Permutation A oder B entspricht, und durch
entsprechendes Setzen von MHF festgehalten. Danach wird der Zeiger in SPR simultan mit dem Inhalt des
Registers MAR solange schrittweise nach rechts geshiftet bzw. in der angegebenen Form zirkuliert, bis
sowohl IMAX = 1 als auch KMAX = 1. Nunmehr befinden sich die Pilotbits in MAR und SAR in der
gleichen Position.
Falls dagegen im Ausgangszustand IMAX = 0 und
KMAX = 1 ist, wird der Inhalt von SAR zunächst zusammen mit SPR schrittweise nach rechts verschoben.
In jedem Schritt wird das in das einstellige Oberlaufregister HS übernommene Bit von SAR
folgendermaßen ausgewertet Da eine 1 bedeutet, daß die in SFFangegebene Permutation zweimal ausgeführt
wurde, muß zur Kompensation dieser Permutationen die gleiche Permutation genau noch einmal ausgeführt
werden, um den Rechtsshift des Registers SAR auch durch eine entsprechende Verkürzung der Permutationssequenz
zu verifizieren. Enthält dagegen SFF eine 0, was bedeutet, daß die betreffende Permutation nur
einmal ausgeführt wurde, so muß zur Kompensation dieser einen Permutation dieselbe genau noch einmal
ausgeführt werden. Dies geschieht unter Zuhilfenahme des einstelligen Registers HH, in das der Inhalt von HS
dupliziert und dort interpretiert wird. Enthält HHeine 1,
so wird nach einmaliger Ausführung die Permutation abgebrochen, enthält HH dagegen eine 0, so wird HH
nach Ausführung einer ersten Permutation auf 1 gesetzt und dieselbe Permutation zu drei ergänzt und damit die
effektive Permutationssequenz entsprechend verkürzt worden ist, wird der Inhalt von SFFinvertiert Nunmehr
enthält SFF die Permutation, die mit dem durch den
nächsten Rechtsshift von SAR in HS übertragenen Bit korrespondiert Dieser Rechtsshift wird zunächst
schrittweise so lange wiederholt, bis sowohl IMAX - 1
als auch KMAX — I. In dem Moment, da IMAX den
Wert 1 annimmt, wird MHF gesetzt da nunmehr die in SPR gesetzte Zeigerposition auch mit dem Pilotbit in
MAR zusammenfällt Falls die Pilotbits bereits in der Ausgangsposition zusammenfallen, entfällt das separate
Shiften von MAR und SAR.
Nunmehr werden sowohl MAR als auch SAR gemeinsam mit dem Zeiger in SPR, der jetzt auf die
Pilotbits in beiden Registern zeigt, nach rechts geshiftet. Dabei werden, wie auch vorher, die nach rechts aus
MAR herauslaufenden Bits von links wieder in MAR eingeschrieben, während die nach rechts aus SAR
herauslaufenden Bits nach der bereits beschriebenen Interpretation in //Sund ////verlorengehen.
Falls die Inhalte der einstelligen Register MHF und SHF, die die erste Permutation der für die in MAR
abgespeicherte Adresse erforderliche Permutationssequenz bzw. die erste zur Realisierung des aktuellen
Permutationszustandes notwendigen Permutationssequenz angeben, gleich sind, können u. U. Teile der
beiden Permutationssequenzen identisch sein. Das Netzwerk COMP vergleicht deshalb die Inhalte von
SAR und MAR nach jedem Rechtsshift zwischen der Zeigerposition und der Binärstelle 0. Falls die Inhalte
nicht identisch sind, wird ein weiterer Rechtsshift durchgeführt, im Falle der Identität wird das Shiften
nach rechts abgebrochen.
Für den Fall, daß die Inhalte von MHF und SHF
ungleich sind, existieren keine gleichen Teilsequenzen, und der Rechtsshift von MAR, SAR und SPR muß so
lange wiederholt werden, bis die Zeigerposition und damit die jeweiligen Pilotbits in der Binärstelle ö
angelangt sind Auf diese Weise ist das Netzwerk ia seinen Ausgangszustand Φ zurückversetzt
Bei jedem Rechtsshift, an dem das Register MAR
beteiligt ist wird gleichzeitig der Binäi zähler OVTujh
jeweils eins hochgezählt so daß OVT am Ende des Rechtsshifts die Anzahl von Linksshifts enthält, die
bezüglich MAR ausgeführt werden müssen, um die Ausgangssituation in MAR wiederherzustellen.
Im Falle MHF gleich SHF bleibt nach Abschluß des Rechtsshifts der Inhalt von SFF erhalten, während im
Falle MHFungleich SHFder Inhalt von MHFauf SHF
übertragen wird.
Nunmehr wird ein gemeinsamer schrittweiser Linksshift der Register MAR, SAR und SPR durchgeführt to
jedem Schritt wird das im Überlaufregister HM dss Registers MAR erscheinende Bit gleichzeitig auch in HS
und HH übertragen. Eine 1 in HH wird umgesetzt in eine zweifache Ausführung der in SFF angegebenen
Permutation, eine 0 wird umgesetzt in eine einfache Ausführung der Permutation. Nach Abschluß dieser
Aktion wird der Inhalt von SFF invertiert der Zähler CNT wird um eins heruntergezählt, und der Linksshift
der Register erfolgt Die Prozedur wird dann gestoppt,
wenn der Inhalt des Zählers OVT auf 0 heruntergezählt ist d.h. die in MAR geladene Zelladresse ihre
ursprüngliche Position wieder erreicht hat Da in jedem Schritt das in HM enthaltene Bit in HS dupliziert wurde
und die entsprechenden Permutationen ausgeführt wurden, ist bei CNT=O der Inhalt von MAR und SAR
identisch, und im Lesekopf des Netzwerkes I erscheint der durch die in MAR enthaltene Adresse identifizierte
Zellinhalt Falls ein Zellinhalt des Netzwerkes II adressiert wird, was durch den Status des einstelligen
Registers MFF angegeben ist so wird dann, wenn OVT auf den Wert O zurückgesetzt ist eine 1 in das
Verzögerungsregister READ geladen, das den Zugriff auf den Lesekopf des Netzwerkes II nach zwei weiteren
Permutationszyklen freigibt.
Ditse Prozedur realisiert eine minimale Permutationssequenz
für den Zugriff auf zwei beliebige, aufeinanderfolgend adressierte Zellinhalte entsprechend
dem Beispiel für den Zugriff auf die Zellen 22 und 26 des in F i g. 2 dargestellten Netzwerkes. Da die Zellen
des Netzwerkes der F i g. 3 so numeriert sind, daß der Zugriff auf 2* fortlaufend numerierte Zellen minimal ist
nachdem alle Zellinhalte in die Ebenen g-\ des Tandemnetzwerkes transportiert worden sind, kann
diese Zugriffsfolge in dem angegebenen Zugriffswerk dadurch erzeugt werden, daß der ^-stellige Binärzähler
ADCT — beginnend mit der Zählerstellung O — jeweils
um 1 hochgezählt wird, bis wieder der Zählerstand O erreicht ist. Die jeweilige Zählerstellung wird in die
letzten g Binärstellen des Registers MAR übertragen, woraufhin die erforderliche Permutationssequenz für
den kürzest möglichen Transport des Inhaltes der adressierten Zelle in den Lesekopf ausgeführt wird.
Besondere Maßnahmen für die Adressierung der Zellen des Netzwerkes II sind nicht erforderlich, wenn das
Kontrollbit MFF wäh; end dieses Vorganges durchgehend auf 1 gesetzt bleibt
Ein wesentlicher Bestandteil des Zugriffssteuerwerkes ist das logische Netzwerk COMP, das die Inhalte der
Register MAR, SAR und SPR miteinander korreliert. Entsprechend den k— 1 Binärstellen dieser Register
enthält das Netzwerk k-1 Zellen, die kaskadenförmig miteinander verbunden sind, daß logische Signale von
jinks nach rechts, d. h. von den höherwertigen nach den
oiederwertigen Binärstellen, propagiert werden. Eine solche Zelle, die der Binärstelle i entspricht, ist in F i g. 5
dargestellt
Das logische Netzwerk COMPsetzt unmittelbar nach
dem Laden des Registers MAR mit einer reuen Adresse die Zeigerposition in SPR derart, daß sie mit dem
höherwertigen der beiden Pilotbits in MAR und SAR zusammenfällt Weiterhin erzeugt dieses Netzwerk ein
Signal IMAX, das Koinzidenz der ZeigersteDung in SPR ι ο
mit dem Pilotbit in MAR, und ein Signal KMAX das Koinzidenz der Zeigerstellung in SPR mit dem Pilotbit
in SAR anzeigt Außerdem wird mit dieser Schaltung Identität von MAR und SAR zwischen der Zeigerstellung
und der Binärstelle 0 festgestellt
Zu diesem Zweck werden die Inhalte der Binärstellen MAR(O über eine Leitung 60 und SAR(I) über eine
Leitung 61 je einem Eingang des UND-Gatters 62 und des Antivalenzgatters 63 zugeführt werden. Gleichzeitig
liegt an einem dritten Eingang des UND-Gatters 62 eine allen Zellen gemeinsame Steuerleitung b4 an, die ein
Signal SET führt Ein weiteres UND-Gatter 65 erhält von der linken Nachbarzelle /+1 über die Leuung 66 ein
Signal OUT(i+i), und gleichzeitig über die Leitung 67
den invertierten Inhait der Binärstelle SPR(i) des Zeigerregisters. Die Ausgänge der Gatter 62,63,65 sind
auf die Eingänge eines ODE^-Gatters 68 geführt, dessen Ausgangsleitung 69 ein dem von der linken Zelle
/+1 über die Leitung 66 empfangenen Signal OUT(i+1)
entsprechendes Signal OUT(O an die rechte Nachbarzelle /-1 abgibt Gleichzeitig wird die Leitung 69 an
einem ersten Eingang des UND-Gatters 70 gelegt, auf dessen zweiten und dritten Eingang die Steuerleitung 64
sowie in invertierter Form der Ausgang des UND-Gatters 65 geschaltet sind. Die Ausgangsleitung 71 des
Gatters 70 wird auf den Eingang der Binärstelle SPR(i) des Zeigerregisters SPR geführt Das an der Ausgangsleitung
69 anliegende Signal wird gebildet durch die logische Verknüpfung
40
+ OUT(i+l) SPRd)) (1)
Das an der Ausgangsleitung 71 gebildete Signal entsteht durch die logische Verknüpfung
SPR(V = OUTfi+1) OUTd)SET (2)
Dieser Teil des Netzwerkes kann zum Setzen der
initialen Zeigerposition wie folgt benutzt werden:
Vor dem Setzen von SPR gilt für alle Positionen SPR(i) = 0, d. h. SPR(O = 1. Beim Setzen der Zeigerposition
wird das Signal SETauf logisch 1 gelegt, wodurch
an der Leitung 69 gemäß Gleichung (1) das Signal
OUT(O = MAR(i) + SAR(i) + OUT(i+1)
gesamte Signalmuster SPR(J) wird in das Zeigerregisier
SPR eingesetzt und dadurch die Zeigerstellung fixiert
Nunmehr ist SPR Φ 0, wird SJST= 0 an die Leitung
64 angelegt, so führt der Ausgang 69 jeder Zelle gemäß Gleichung (1) das Signal
Demgemäß erscheint an jedem Ausgang der Zelle 0 ein Signal 0 nur dann, wenn zwischen der aktuellen
Zeigerposition SPR(O=I und der Position 0 für alle
Binärstellen /und
MAR(i) © SARd)=O
ist, d. h., wenn die Zellinhalte der beiden Registersegmfjnte
MAR(i: 2,0) und SAR(i: 2,0) identisch sind
Das UND-Gatter 72 verknüpft die Leitungen 67 und 60, d. h. die Zeigerstellung SPR(O mit dem Inhalt von
MAR(O derart, daß am Ausgang des UND-Gatters 72 eine 1 immer dann anliegt, wenn sowohl MAR(O=! ^
auch SPR(O= 1 ist, wobei letzteres für genau eine Binärstelle per Definition der Fall sein kann. Dieses
Signal wird über eine Schutzdiode 73 mit den entsprechenden Gatterausgängen aller anderen Zellen
zu einer ODER-Funktion
55
anliegt Definitionsgemäß muß der Zeiger genau in die
Binärstelle /gesetzt werden, für die OUT(i+\) = 0 aber
OUT(O-1 ist d. h. sowohl das Register MAR als auch das Register SAR enthält links von / nur logisch 0, aber
es ist MAR(0=\ oder SAR(0=\. Dieser Zustand wird festgestellt durch das UND-Gatter 70, an dessen
Ausgang unter der Bedingung SET= 1 das Signal
SPR(i) = OUT(i+\) OUT(i)
entsprechend Gleichung (2) anliegt, das nur für genau eine Binärstelle den Wert 1 annehmen kann. Das
(3)
auf der Sammelleitung 74 hart verdrahtet.
Die gleiche Funktion wird mit Hilfe des UND-Gatters 75 und der Schutzdiode 76 auf der Sammelleitung 77 für
die Inhalte der Register SA R und SPR in der Form
(4)
realisiert.
Da die Inhalte von MAR und SAR vereinbarungsgemäß synchron mit der Zeigerposition in SPR geshiftet
werden, sobald der Zeiger von links kommend auf die Pilotbits von MAR bzw. SAR trifft, ist IMAX=O nur so
lange sich der Zeiger noch links vom Pilotbit in MAR befindet, im anderen Falle ist IMAX= 1.
Definitionsgemäß sind damit die Bedingungen für die Steuerung der Shifts in den Registern MAR und SAR
festgelegt.
Zur Feststellung, ob die Position des Pilotbits in MAR eine erste Permutation A oder B erfordert, werden die
geradzahligen Binärstellen des Zeigerregisters SPR über Schutzdioden auf einer weiteren, in F i g. 4 nicht
gezeigten Sammelleitung SMF zu einer ODER-Funktion hart verdrahtet, die immer dann ein Signal 1 führt,
wenn der Zeiger mit einer geradzahligen Position zusammenfällt und ein Signal 0, wenn der Zeiger auf
einer ungeradzahligen Position steht In dem Moment, in dem der Zeiger von links kommend auf das Pilotbit in
MAR trifft, d. h, wenn IMAX von 0 auf 1 umschaltet,
wird demnach das auf SMF liegende, die Zeigerposition indizierende Signal auf das einstellige Register MHF
übertragen.
Eine andere Variante des Permutationsnetzwerkes besteht darin, in dem Tandemnetzwerk nach F i g. 3 die
Steuerung des zweiten Netzwerkes derart zu verändern, daß die Permutationen B und A bezüglich der Ebenen
des Netzwerkes vertauscht werden. Dadurch liefert bei synchronem Betrieb beider Teilnetzwerke das erste
immer dann einen neuen Zellinhalt in den Lesekopf, wenn die Permutation A ausgeführt wird, während das
zweite Netzwerk immer dann den Lesekopfinhalt ändert, wenn die Permutation B ausgeführt wird. Die
Ausführung des für das »Paging« angegebenen Algorithmus in einem solchen Tandemnetzwerk führt dann
dazu, daß bei entsprechender Zellnumerierung baumartig organisierte Datenstrukturen, die in geeigneter
Weise abgespeichert sind, traversiert werden können nach dem sogenannten »pre-order« oder »end-order«
Prinzip.
Es ist weiterhin denkbar, einem solchen dynamischen Hintergrundspeicher mit schnellem Direktzugriff auf
beliebig adressierte Daten sowie schnellen sequenziel
len Zugriff auf Datenblöcke, die in 2* fortlaufend
adressierbaren Zellen abgespeichert sind, einen peripheren Processor vorzuschalten, der die Zentraleinheit
von einem Teil ihrer Arbeitslast befreit, indem er diverse Aktivitäten, wie z. B. Listenverarbeitung u. ä.
Verwaltungstätigkeiten direkt mit dem Hintergrundspeicher abwickelt. Außerdem müßte ein solcher
Processor in der Lage sein, die Funktion eines Kanals anzunehmen, falls ein Datentransport zwischen dem
Hintergrundspeicher und dem Arbeitsspeicher der Zentraleinheit erforderlich wird.
Hierzu 4 Blatt Zeichnungen
Claims (6)
1. Schaltungsanordnung für nichtzyklische Daten-
permutationen zwischen den Speicherzellen eines dynamischen Speichers mit einem Permutationsnetzwerk
zum Transferieren des Inhaltes einer vorbestimmten Speicherzelle in den Schreib-Lese-
Kopf und einem Zugriffssteuerwerk zum Erzeugen von Permutationssequenzen, wobei als Permutationsnetzwerk
2*—1 Speicherzellen in Form einer Baumstruktur in k von 0 bis k—l numerierten
Ebenen angeordnet sind, dadurch gekennzeichnet,
daß die Ebene i aus 2' Speicherzellen gebildet ist, daß jede Speicherzelle der Ebene / mit >5
zwei ihr benachbarten miteinander verbundenen Speicherzellen der Ebene /+1 so verbunden ist, daß
diese drei Speicherzellen ein Dreieck bilden, in dem üie Inhalte der Speicherzellen im Uhrzeigersinn
zyklisch vertauschbar sind, daß jede der Speicherzellen der Ebenen
zwei Dreiecken und die als Schreib-Lese-Kopf dienende eine Speicherzelle der Ebene 0 und jede
der Speicherzellen der Ebene k-1 nur einem Dreieck angehört, daß ein Zugriffssteuerwerk zum
simultanen Transferieren der Inhalte der in geradzahlig numerierten Ebenen angeordneten Speicherzellen
in zugeordnete Speicherzellen der nächsthöheren ungeradzahlig numerierten Ebenen (Permutation
A) und zum simultanen Transferieren der Inhalte der in ungeradzahlig numerierten Ebenen
angeordneten Speicherzellen in zugeordnete Speicherzellen der nächsthöheren geradzahlig
numerierten Ebene (Permutation B) vorgesehen ist, das entweder die Permutation A oder die Permutation
B bewirkt, daß das Zugriffssteuerwerk im wesentlichen aus einem Permutationsstatusregister
(SAR) zum Kennzeichnen des aktuellen Permuta-• tionszustandes einer ersten Speicherzelle mit Hilfe
des Binärcodes der Zelladresse, deren Inhalt sich im Schreib-Lese-Kopf befindet und einem Speicheradressenregister
(MAR) zum Aufnehmen des Binärcodes der Zelladresse einer zweiten Speicherzelle.
deren Inhalt anschließend zu lesen oder zu schreiben ist, besteht, und daß diesen Registern (MAR, SAR)
ein logisches Vergleichsnetzwerk (COMP) zum Erzeugen der kürzesten Permutationssequenz zum
Transferieren des Zellinhaltes einer vorbestimmten Speicherzelle in den Schreib-Lese-Kopf nachgeschaltet
ist
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß das Permutationsnetzwerk
gebildet ist aus einer Speicherkapazität von 2(2*-1) Zellen, die gleichmäßig auf zwei baumartige
Speichernetzwerke so verteilt sind, daß das erste Netzwerk alle Zelladressen enthält, in deren
Binärcode das Bit mit der Wertigkeit 2 eine 0 führt, und das zweite Netzwerk alle Zelladressen enthält,
deren Binärcode an dieser Stelle eine 1 hat, und daß eine vom Zugriffssteuerwerk betriebene Auswahlschaltung
automatisch die Verbindung zu einem der beiden Leseköpfe der Speichernetzwerke herstellt.
3. Schaltungsanordnung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß das Speicheradressenregister
(MAR) des Zugriffssteuerwerkes ausgebildet ist als Vorwärts- Rückwärts-Schieberegister mit
k Binärstellen zum Laden des aus Ar+1 Bits
bestehenden Adreßcodes, ausgenommen das Bit mit der Wertigkeit 2, das in einem ersten einstelligen
Register (MFF) gespeichert wird, daß ein erstes einstelliges Überlaufregister (HM) out dem Spei
cheradreßregister (MAR)za einem Ringschieberegi
ster zusammengescbaltet ist, daß das Permutations-
statusregister (SAR) des Zugriffssteuerwerkes als Vorwärts-Rückwärts-Schieberegister ausgebildet ist
mit k Binärstellen zum Speichern des Binärcodes der Zelladresse, deren Inhalt als nächster in den
Schreib-Lese-Kopf zu übertragen ist, mit Ausnahme der Bits der Wertigkeit 2, daß ein zweites,
einstelliges Überlaufregister (HS) beim Rechtsshift des Permutationsstatusregisters (SAR) dessen Bit
der Wertigkeit 0 übernimmt, wobei im zweiten Überlaufregister (HS) der vor der Übernahme
vorhandene Inhalt gelöscht wird und das beim Linksshift des Permutationsstatusregisters (SAR)
seinen Inhalt an das Bit der Wertigkeit 0 in Speicheradreßregister (SAR) abgibt und den Inhalt
des ersten Überlaufregisters (HM) übernimmt, daß ein als Vorwärts-Rückwärts-Schieberegister ausgebildetes
Zeigerregister (SPR) mit k Binärstellen einen Zeiger der Form enthält, daß nur eine
Binärstelle den Wert 1 führt und alle anderen Binärstellen den Wert 0 führen daß ein zweites
einstelliges Register (SFF) die zuletzt ausgeführten
Permutationen A mit 1 und die Permutationen B mit 0 kennzeichnet daß ein drittes einstelliges Register
(MHF) bei der für den Zugriff auf die im Speicheradreßregister enthaltene Adresse erforderlichen
Permutationssequenz die erste Permutation A mit 1 oder B mit 0 kennzeichnet, daß ein viertes
einstelliges Register (SHF) zum Anzeigen der ersten Permutation A mit 1 oder B mit 0 der für den Inhalt
des ersten Permutationsstatusregisters (SA R) notwendigen Permutationssequenz vorgesehen ist, daß
ein einstelliges Steuerregister (HH) den Inhalt des zweiten Überlaufregisters (HS) dupliziert, daß ein
m-stelliges Zählregister (CNT) die mit dem Speicheradreßregister
(MA R) ausgeführten Rechtsshifts durch Hochzählen und die Linksshifts durch
Herunterzählen ermittelt, daß ein viertes Schieberegister (DEL) mit drei Binärstellen seinen Inhalt mit
jeder Permutation nach rechts shiftet und in dessen linker Binärstelle eine Permutation A mit 1 und eine
Permutation B mit 0 markiert ist und von dessen rechter Binärstelle nach zwei Permutationstakten
das Steuersignal für die Permutationen im Netzwerk abgreifbar ist und daß ein fünftes Schieberegister
(READ) mit drei Binärstellen seinen Inhalt mit jeder Permutation nach rechts shiftet und dessen linke
Binärstelle auf 1 gesetzt ist, wenn das erste Register (MFF)eme 1 führt, die Inhalte des Speicheradressenregisters
(MAR) und des Permutationsregisters (SA R) deckungsgleich sind und bei einer 1 in der
rechten Binärstelle der Lesekopf des Netzwerkes angesteuert ist.
4. Schaltungsanordnung nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß jeder Binärstelle des Speicheradreßregisters (MAR), des Permutationsstatusregisters (SAR) und
des Zeigerregisters (SPR) in dem logischen Netzwerk (COMP) eine Zelle zugeordnet ist, daß jede
Zelle /vier Eingänge (60,61,67,66) besitzt, daß der
erste Eingang (60) mit dem Ausgang der /-ten Binärstelle des Speicheradreß-Registers (MAR), der
zweite Eingang (bl) mit dem Ausgang der Men
Binärstelle des Permutationsstatusregisters (SARi der dritte Eingang (67) mit dem Ausgang der Men
Binärstelle des Zeigerregisters (SPR) md der vierte
Eingang (66) mit dem Ausgang der (i+ l)-ten Zeus
des Vergieichsnetzwerks (ÜOMPJverbunden ist, daß
jede ZeOe zwei Ausgänge (69, 71) besitzt, daß der erste Ausgang (69) mit dem korrespondierenden
vierten Eingang (66) der (j-.l>ten ZeUe des
Vergleichsnetzwerks (COMP) und der zweite Ausgang (71) mit dem Eingang der Men Binärstelle
des Zeigerregisters (SPR) verbunden ist und daß alle Zellen des logischen Netzwerkes (COMP) an eine
erste und eine zweite Signalsammelleitung (74, 77) und eine Steuerleitung (64) angeschlossen sind. ,
5. Schaltungsanordnung nach Anspruch 1 bis 4, dadurch gekennzeichnet, daß der erste Eingang (60)
jeder Zelle des logischen Netzwerkes (COMP) mit einem ersten Eingang eines ersten UND-Gatters
(62) und einem ersten Eingang eines Antivalenz-Gatters (63) verbunden ist daß der zweite Eingang
(61) auf die zweiten Eingänge des ersten UND-Gatters (62) und des Antivalenzgatters (63) geschaltet
ist, daß ein dritter Eingang des ersten UND-Gatters
(62) auf die Steuerleitung (64) geführt ist daß ein erster Eingang eines zweiten UND-Gatters (65) mit
dem vierten Eingang (66) der Zelle und ein zweiter invertierter Eingang des zweiten UND-Gatters (65)
mit dem dritten Eingang (67) der Zelle verbunden ist, daß die Ausgänge des ersten und zweiten UND-Gatters
(62,65) sowie der Ausgang des Antivalenz-Gatters (63) auf die Eingänge eines ODER-Gatters (68)
gelegt sind, daß der Ausgang (69) des ODER-Gatters (68) auf einen ersten Eingang eines dritten
UND-Gatters (70) geschaltet ist, daß ein zweiter invertierter Eingang des dritten UND-Gatters (70)
mit dem Ausgang des zweiten UND-Gatters (65) und ein dritter Eingang des dritten UND-Gatters
(70) mit der Steuerleitung (64) verbunden ist, daß der Ausgang des dritten UND-Gatters (70) mit dem
zweiten Ausgang (71) der Zelle identisch ist, daß der erste und dritte Eingang (60, 67) der Zelle auf die
Eingänge eines vierten UND-Gatters (72) geschaltet sind, dessen Ausgang über eine erste Schutzdiode
(73) mit der ersten Sammelleitung (74) verbunden ist und daß der zweite und dritte Zelleingang (61, 67)
auf die Eingänge eines fünften UND-Gatters (75) geführt sind, dessen Ausgang über eine Schutzdiode
(70) auf die zweite Sammelleitung (77) geschaltet ist.
6. Scuäuüftgsäituturtuiig nach Anspruch 1 bis 5,
dadurch gekennzeichnet daß zum sequentiellen Zugriff auf 2* aufeinanderfolgende adressierbare
Zellinhalte, deren erste Adresse ein ganzzahliges Vielfaches von 2* sein muß, in das Zugriffswerk ein
^-stelliger Binärzähler (ADCT) integriert ist, dessen mhalt nach jedem Zählschritt in die letzten g
Binärstellen des Speicheradreßregisters (MAR) übertragen wird.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742459476 DE2459476B2 (de) | 1974-12-16 | 1974-12-16 | Schaltungsanordnung fuer nichtzyklische datenpermutationen |
GB49968/75A GB1518697A (en) | 1974-12-16 | 1975-12-05 | Dynamic memory for effecting noncyclic data permutations |
US05/641,593 US4030078A (en) | 1974-12-16 | 1975-12-16 | Dynamic memory arrangement for providing noncyclic data permutations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19742459476 DE2459476B2 (de) | 1974-12-16 | 1974-12-16 | Schaltungsanordnung fuer nichtzyklische datenpermutationen |
Publications (3)
Publication Number | Publication Date |
---|---|
DE2459476A1 DE2459476A1 (de) | 1976-06-24 |
DE2459476B2 true DE2459476B2 (de) | 1977-01-20 |
DE2459476C3 DE2459476C3 (de) | 1977-09-15 |
Family
ID=5933561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19742459476 Granted DE2459476B2 (de) | 1974-12-16 | 1974-12-16 | Schaltungsanordnung fuer nichtzyklische datenpermutationen |
Country Status (3)
Country | Link |
---|---|
US (1) | US4030078A (de) |
DE (1) | DE2459476B2 (de) |
GB (1) | GB1518697A (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4727474A (en) * | 1983-02-18 | 1988-02-23 | Loral Corporation | Staging memory for massively parallel processor |
US4606002A (en) * | 1983-05-02 | 1986-08-12 | Wang Laboratories, Inc. | B-tree structured data base using sparse array bit maps to store inverted lists |
US5265244A (en) * | 1986-02-14 | 1993-11-23 | International Business Machines Corporation | Method and system for facilitating processing of statistical inquires on stored data accessible through a data access structure |
JPS63191226A (ja) * | 1987-02-03 | 1988-08-08 | Ricoh Co Ltd | B↑+tree上における同時実行制御方式 |
US4823310A (en) * | 1987-08-10 | 1989-04-18 | Wang Laboratories, Inc. | Device for enabling concurrent access of indexed sequential data files |
US5093916A (en) * | 1988-05-20 | 1992-03-03 | International Business Machines Corporation | System for inserting constructs into compiled code, defining scoping of common blocks and dynamically binding common blocks to tasks |
US6101329A (en) * | 1997-02-18 | 2000-08-08 | Lsi Logic Corporation | System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data |
US8717831B2 (en) * | 2012-04-30 | 2014-05-06 | Hewlett-Packard Development Company, L.P. | Memory circuit |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL270155A (de) * | 1960-10-19 | |||
US3388381A (en) * | 1962-12-31 | 1968-06-11 | Navy Usa | Data processing means |
US3548384A (en) * | 1967-10-02 | 1970-12-15 | Burroughs Corp | Procedure entry for a data processor employing a stack |
NL6815506A (de) * | 1968-10-31 | 1970-05-04 | ||
US3716840A (en) * | 1970-06-01 | 1973-02-13 | Texas Instruments Inc | Multimodal search |
US3737864A (en) * | 1970-11-13 | 1973-06-05 | Burroughs Corp | Method and apparatus for bypassing display register update during procedure entry |
US3916387A (en) * | 1971-04-23 | 1975-10-28 | Ibm | Directory searching method and means |
US3766534A (en) * | 1972-11-15 | 1973-10-16 | Ibm | Shift register storage unit with multi-dimensional dynamic ordering |
-
1974
- 1974-12-16 DE DE19742459476 patent/DE2459476B2/de active Granted
-
1975
- 1975-12-05 GB GB49968/75A patent/GB1518697A/en not_active Expired
- 1975-12-16 US US05/641,593 patent/US4030078A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
GB1518697A (en) | 1978-07-19 |
DE2459476A1 (de) | 1976-06-24 |
US4030078A (en) | 1977-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1901343C3 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
DE2819571C2 (de) | ||
DE2656546C2 (de) | Datenblock-Austauschanordnung | |
DE1956604B2 (de) | Datenverarbeitungsanlage | |
DE2130299B2 (de) | Eingabe-/Ausgabekanal für eine Datenverarb eitungsanlage | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE2717311C3 (de) | Datenprozessor | |
DE2010772A1 (de) | ||
DE2854782C2 (de) | Datenverarbeitungssystem und Verfahren zum Ersetzen eines Datenblocks in einem Schnellspeicher | |
DE1474095B1 (de) | Programmgesteuerte Datenverarbeitungsanlage | |
DE2310631B2 (de) | Speicherhierarchie fur ein Datenverarbeitungssystem | |
DE2423265C3 (de) | Optimierende Rechenmaschine | |
DE1449544A1 (de) | Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk | |
DE1190706B (de) | In zwei abwechselnden Zyklen arbeitende programmgesteuerte elektronische digitale Rechenmaschine | |
DE2221442A1 (de) | Assoziativspeicher | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE2459476C3 (de) | ||
DE2459476B2 (de) | Schaltungsanordnung fuer nichtzyklische datenpermutationen | |
DE2357654C2 (de) | Assoziativspeicher | |
DE2136210A1 (de) | Zentraleinheit fur eine EDV-Anlage | |
DE2610428C3 (de) | Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher | |
DE2110458C3 (de) | Speicheranordnung in einem datenverarbeitenden System | |
DE1957600C3 (de) | ||
DE2163435A1 (de) | Datenverarbeitungsanlage mit einem Speicher mit verteilter Logik |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |