DE2459476B2 - Schaltungsanordnung fuer nichtzyklische datenpermutationen - Google Patents

Schaltungsanordnung fuer nichtzyklische datenpermutationen

Info

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
Application number
DE19742459476
Other languages
English (en)
Other versions
DE2459476A1 (de
DE2459476C3 (de
Inventor
Werner Dipl.-Ing. Dr.rer.nat 5060 Bensberg-Refrath Kluge
Original Assignee
Gesellschaft für Mathematik und Datenverarbeitung mbH, 5300 Bonn
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 Gesellschaft für Mathematik und Datenverarbeitung mbH, 5300 Bonn filed Critical Gesellschaft für Mathematik und Datenverarbeitung mbH, 5300 Bonn
Priority to DE19742459476 priority Critical patent/DE2459476B2/de
Priority to GB49968/75A priority patent/GB1518697A/en
Priority to US05/641,593 priority patent/US4030078A/en
Publication of DE2459476A1 publication Critical patent/DE2459476A1/de
Publication of DE2459476B2 publication Critical patent/DE2459476B2/de
Application granted granted Critical
Publication of DE2459476C3 publication Critical patent/DE2459476C3/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/762Arrangements 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 2k1 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,
F i g. 4 Blockdiagramm 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;
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
OUTd)= MAR(O® SARb)+ MAR(i)SAR(i) SET
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
OUT(V = MARß)® SAR(i) + 0UT(i+I) SPR(O).
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
IMAX = IMAR(OSPRd)
(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
KMAX = ISARd)SPR(O
(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)

Patentansprüche:
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.
DE19742459476 1974-12-16 1974-12-16 Schaltungsanordnung fuer nichtzyklische datenpermutationen Granted DE2459476B2 (de)

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)

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

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

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
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
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
DE2054941C2 (de) Anordnung zur Auswahl von Datensätzen
DE2136210A1 (de) Zentraleinheit fur eine EDV-Anlage
DE2610428C3 (de) Anordnung zur Steuerung der Zwischenspeicherung von zwischen zwei Funktionseinheiten zu übertragenden Daten in einem Pufferspeicher
DE2519195C2 (de) Assoziativspeicher
DE1957600C3 (de)
DE1212748B (de) Datenverarbeitende Maschine mit Programmunterbrechung
DE2000608A1 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage

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