DE1474047B2 - Programmgesteuerte rechenanordnung - Google Patents

Programmgesteuerte rechenanordnung

Info

Publication number
DE1474047B2
DE1474047B2 DE19641474047 DE1474047A DE1474047B2 DE 1474047 B2 DE1474047 B2 DE 1474047B2 DE 19641474047 DE19641474047 DE 19641474047 DE 1474047 A DE1474047 A DE 1474047A DE 1474047 B2 DE1474047 B2 DE 1474047B2
Authority
DE
Germany
Prior art keywords
memory
word
register
command
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19641474047
Other languages
English (en)
Other versions
DE1474047A1 (de
DE1474047C (de
Inventor
Robert Rex; Lindquist Arwin Bruce; Poughkeepsie N.Y. Seeber (V.St.A.)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1474047A1 publication Critical patent/DE1474047A1/de
Publication of DE1474047B2 publication Critical patent/DE1474047B2/de
Application granted granted Critical
Publication of DE1474047C publication Critical patent/DE1474047C/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8038Associative processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • G11C15/04Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores using semiconductor elements

Description

Die Erfindung bezieht sich auf eine programmgesteuerte Rechenanordnung mit einer assoziativen Speichereinheit, in welcher Befehlswörter in beliebiger Reihenfolge gespeichert werden, und mit in den Befehlswörtern enthaltenen, einem assoziativen Aufruf zugänglichen Kennfeldern, deren Codierung der Gesetzmäßigkeit eines binär verzweigten Programmbaumes entspricht und welche die Position der Befehlswörter in diesem Programmbaum festlegen.
In bekannten Programm-Rechenanordnungen werden die Befehle in der Reihenfolge ihres Auftretens im jeweiligen Programm in einem als Befehlsspeicher dienenden Speicher gespeichert, und ein Befehlszähler oder eine äquivalente Anordnung dient dazu, während der Rechenoperation die Adresse des jeweils nächsten Befehls in der gespeicherten Folge zu ermitteln. Von dieser vom Programm vorgegebenen Folge wird nur bei Verzweigungsoperationen abgewichen, indem der jeweilige Stand des Befehlszählers durch die gewünschte Verzweigungsadresse ersetzt wird. Um der Forderung nach Erhöhung der Rechengeschwindigkeit nachzukommen, ist es bekanntgeworden, daß sich eine einzelne Recheneinheit die Bearbeitung mehrerer Programme teilt. Während der durch langsame Anschlußeinheiten bedingten Wartezeiten schaltet die Maschine auf ein anderes Programm um. Die Daten des bisherigen Programms werden abgespeichert, und entsprechende Daten des neuen Programms werden aufgenommen, so daß der Befehlszähler daraufhin die Befehlsreihe des neuen Programms verfolgt. Die einzelnen Programm-
. ·. umschaltungen werden dadurch bestimmt, daß in dem jeweiligen Programm die Umschaltpunkte oder die Möglichkeiten von Umschaltungen programmiert werden. Ein Teil dieser Maschinen verwendet ein Überwachungsprogramm, welches den einzelnen Aus-
5 6
führungsprogrammen übergeordnet ist und diesen befehl besitzt neben dem Operationscode und den
Speicherplatz zuweist. Nachteilig ist es bei den mit zu verarbeitenden Daten ein sogenanntes Kennfeld,
Vielfachprogramm arbeitenden Maschinen, daß ein das seine Lage innerhalb des Programmbaumes
beträchtlicher Programmieraufwand notwendig ist, definiert. Durch einen assoziativen Aufruf des Kenn-
um einen reibungslosen, zeitsparenden Ablauf der 5 feldes kann somit jeder Befehl im Programmbaum
verschiedenen Programme zu erreichen. zum Zwecke seiner Ausführung aufgerufen werden.
Es ist bekanntgeworden, die Programmierung die- Es ist die Aufgabe vorliegender Erfindung, das
ser Maschinen dadurch zu erleichtern, daß ein asso- zuletzt erläuterte Prinzip der assoziativen Folge-
ziativer Adressenumwertspeicher verwendet wird, der adressierung zu verbessern und zur Anwendung bei
aus Pseudoadressen der einzelnen Programme die io Datenverarbeitungsanlagen anzupassen, die zum
tatsächlichen Speicheradressen bildet, so daß diese Zwecke der Vielfachverarbeitung aus mehreren
bei der Programmierung nicht mehr berücksichtigt Recheneinheiten bestehen.
werden müssen und eine automatische Speicher- Gemäß der Erfindung wird dies dadurch erreicht,
aufteilung auf die verschiedenen Programme erfolgt. daß die assoziative Speichereinheit zur Aufnahme
Eine weitere Erhöhung der Rechenleistung bei der 15 von Datenwörtern dient, die ein Kennfeld, das die Lösung komplexer Aufgaben wurde durch die Maß- Zugehörigkeit des Datenwortes zu einem bestimmten nähme erreicht, mehrere Recheneinheiten miteinander Befehlswort innerhalb des Programmbaumes angibt, zu koppeln. Hier teilen sich zwei oder mehr Rechner sowie eine ihren verarbeitungsbereiten Zustand andie Lösung eines umfangreichen Rechenproblems. zeigende Markierung enthalten, daß wenigstens zwei Diese Rechner arbeiten unter Steuerung eines zen- 20 Recheneinheiten vorgesehen sind, die im arbeits- ] tralen Überwachungsprogramms oder eines Meister- freien Zustand unabhängig voneinander Befehlsrechners synchron parallel, indem sie zu gleicher Zeit und Datenwörter aus der assoziativen Speicher- ! verschiedene, in keinem engen Zusammenhang einheit zur Verarbeitung anfordern, und daß jede < stehende Teile des zu lösenden Problems behändem. Recheneinheit eine Bewertungsschaltung aufweist, j Eine solche Technik ist vorwiegend für Probleme ver- 25 die nach assoziativer Entnahme eines beliebigen als ; wendbar, die einen hohen Grad an Symmetrie auf- verarbeitungsbereit markierten Datenwortes aus weisen. Dies ist aber häufig nicht der Fall. Wenn das der Speichereinheit von dessen Programmbaum-Problem sich nicht ohne weiteres in parallel be- Kennfeld das Programmbaum-Kennfeld des züge- ] handelbare Teilprobleme aufspalten läßt, wird der hörigen Befehlswortes und eines weiteren Daten-Programmieraufwand, der auf die Ausschaltung von 30 wortes, das gemeinsam mit dem erstgenannten J Wartezeiten zwischen den einzelnen Rechnern Rück- Datenwort durch Ausführung des Befehlswortes zu ι sieht nehmen muß, sehr umfangreich. Es wurde daher verarbeiten ist, ableitet und die abgeleiteten Kennauch bereits vorgeschlagen, derartige Rechenanlagen felder dem assoziativen Speicher für eine Entnahmeohne zentrale Steuerung zu betreiben. Die einzelnen operation zuleitet.
Rechner arbeiten relativ selbständig und stehen nur 35 Die erfindungsgemäße Rechenanordnung eignet
in loser Kopplung miteinander, die dem Austausch sich vorteilhaft zur Verwendung in einem Rechner-
von Zwischenergebnissen dient. Bei diesen Anlagen system, das aus mehreren Rechnern besteht, die
treten erhebliche Wartezeiten für die einzelnen Rech- ohne Überwachungsprogramm oder Meisterrechner
ner auf, wodurch die Rechenleistung reduziert wird. an der gemeinsamen Lösung komplexer Probleme
Außerdem ist der Aufwand, den die Programmierung 40 arbeiten. Eine derartige Anordnung mit mehreren
erfordert, nach wie vor erheblich. selbständigen, weitgehend unabhängig voneinander
Es ist bereits bei Zweiadreß-Rechenmaschinen und arbeitenden Recheneinheiten und mehreren Speicherauch bei Vieradreß-Rechenmaschinen bekannt, zur einheiten besteht gemäß einer Weiterbildung der Folgeadressierung der Befehle eines Programms sepa- Erfindung darin, daß mehrere parallelgeschaltete rate Adressen in den Befehlswörtern zu benutzen. So 45 Rechenmodule und mehrere parallelgeschaltete, als wird bei Zweiadreß-Rechenmaschinen das zweite assoziativer Speicher ausgebildete Speichermodule Adreßfeld im Befehlswort jeweils zum Aufsuchen des durch eine Anzahl Datenübertragungskanäle frei Befehls benutzt, der im Programm jeweils als nach- miteinander koppelbar angeordnet sind, daß eine ster auszuführen ist. Dem gleichen Zweck dient bei von den Ausgängen der Rechenmodule gesteuerte Vieradreß-Rechenmaschinen das vierte der in einem 50 erste Multiplexschaltung vorgesehen ist, die auf eine Befehlswort enthaltenen Adressenfelder. Mit einer Zugriffsanforderung von einem Rechenmodul in derartigen Befehlsstruktur ist es zwar möglich, unter Abhängigkeit von im anfordernden Rechenmodul Vermeidung von Sprungbefehlen beliebige Folge- errechneten Zugriffs-Adreßdaten einen Übertragungsadressen bei der Ausführung eines Programms aus- kanal zum gewünschten Speichermodul bereitstellt, zuwählen, so daß im Prinzip keine feste Ordnung 55 und daß eine von den Ausgängen der Speicherbei der Speicherung der Befehle eingehalten werden module gesteuerte zweite Multiplexschaltung vormuß. Da jedoch jeder Befehl explizit zu adressieren gesehen ist, die auf eine Ausgabeanforderung von ist, können die Eigenschaften dieser Maschinen für einem Speichermodul in Abhängigkeit von aus dem die Lösung der oben erläuterten Probleme nicht betreffenden Zugriff vorliegenden Ausgabe-Adreßnutzbar gemacht werden. 60 daten einen Übertragungskanal zum gewünschten
Es ist ferner bekannt, die Befehlsfolgeadressie- Rechenmodul bereitstellt.
rung bei der Ausführung eines Programms durch Da gemäß der Erfindung ein starres Befehlsfolgeassoziativen Aufruf auszuführen. Hierzu werden die schema mit speicherortbezogenen Befehls- und Programmbefehle in eine sogenannte binäre Baum- Datenadressen vermieden wird, arbeitet in einer struktur gebracht, in welcher die Ausführungsfolge 65 derartigen Anordnung jeder Rechner weitgehend der Befehle in Form von linken und rechten Zwei- autonom. Der Ausfall eines Rechners bei Auftreten gen dargestellt ist und die vom Gipfel des Baumes einer Störung hat keinen Einfluß auf die Weiterzum Stamm hin abgearbeitet wird. Jeder Programm- arbeit der übrigen Rechner. Ein derartiges System
kann außerdem durch einfache Hinzufügung von zusätzlichen Rechen- und/oder Speichereinheiten beliebig erweitert werden. Infolge der hochgradigen Parallelarbeit und der selbsttätigen Arbeitsbeschaffung ist eine effektive und zeitsparende Arbeitsweise gewährleistet.
Vorteilhafte Ausgestaltungen der Erfindung sind aus den Unteransprüchen ersichtlich. Nachfolgend wird ein Anwendungsbeispiel der Erfindung an Hand von Zeichnungen beschrieben. Es zeigt
Fig. 1 ein allgemeines Blockschaltbild des Ausführungsbeispiels nach der Erfindung, das eine Anzahl Rechenmodule, eine Anzahl assoziative Speicher sowie Eingabe- und Ausgabeeinheiten aufweist;
Fig."2A und 2B in der Zusammenfügung nach Fig. 2C zeigen ein detalliertes Blockschaltbild zur Anordnung nach Fig.l, wobei die Fig. 2A den Speicherteil und die Fig. 2B den Rechenteil der Anordnung darstellt,
Fig. 2D eine allgemeine Blockdarstellung der Rechner-Programmsteuereinheit,
Fig. 3 die Darstellung des Rechenproblems
y = \6-γκ\
in Form eines Baumprogramms,
Fig. 4A und 4B eine symbolische Darstellung der in einer Anzahl von assoziativen Speichern nach den Prinzipien der Erfindung gespeicherten Wörter,
Fig. 5A und 5B die Darstellung des von der Anordnung nach der Erfindung verwendeten Wortformats,
Fig. 6 das Baumprogramm des Rechenproblems
Y = AB + CX,
35
Fig. 7 eine schematische Darstellung eines assoziativen Speichers zur Verdeutlichung der inhaltsorientierten Adressierung,
F i g. 8 ein vorteilhaftes Ausführungsbeispiel eines assoziativen Speichers und der zugeordneten Steuerschaltungen in Form eines Blockschaltbildes,
Fig. 9A bis 9C eine zweckmäßige Ausführung der Rechnerausgangs-Multiplexschaltung in Verbindung mit den zugehörigen Steuerschaltungen in Form eines Blockschaltbildes,
Fig. 1OA und 1OB eine zweckmäßige Ausführung einer Speicherausgang-Multiplexschaltung in Verbindung mit den zugehörigen Steuerschaltungen in Form eines Blockschaltbildes,
Fig. 11 ein Blockschaltbild eines Eingabereihen-Speichers, wie er nach der Erfindung mit jedem der assoziativen Speichermodule verwendet wird,
Fig. 12 ein Blockschaltbild eines assoziativen Speichennoduls,
Fig. 13 ein Blockschaltbild einer vorteilhaften Ausführungsform eines Speicheradressengenerators gemäß der Erfindung,
Fig. 14 ein Flußdiagramm zur Darstellung der Operationsfolge in einem Kennfeldgenerator, wie er von der Erfindung verwendet wird,
Fig. 15 ein Blockschaltbild einer vorteilhaften Ausführungsform eines derartigen Kennfeldgenerators,
Fig. 16 ein Blockschaltbild derjenigen Schaltungen, die der Ausgang eines Rechenmoduls nach Fig. 2B enthält,
Fig. 17A bis 17C eine schematische Darstellung einer Rechenprogrammsteuereinheit in Übereinstimmung mit der Erfindung, wobei die Eingangssignale auf der linken Seite und die Ausgangssignale auf der rechten Seite des dargestellten Blockes eingetragen sind in Zuordnung mit den Operationsregeln, zu welchen die betreffenden Signale gehören, und
Fig. 17D die Zusammengehörigkeit der Fig. 17 A, 17B, 17C.
Es sei zunächst darauf hingewiesen, daß in den verschiedenen Figuren mehrere Bauelemente, die gewöhnlich für das gleichzeitige Übertragen mehrerer Informationsbits nötig sind, durch ein einziges Bauelement dargestellt werden und daß in den Zeichnungen diese Bauelemente durch eine Einzelleitung statt durch die für das Übertragen eines ganzen Wortes nötige Zahl von Leitungen verbunden sind. In der Beschreibung stehen diese Bauelemente immer im Plural, und das so gekennzeichnete Element stellt mehrere gleiche Elemente dar.
Allgemeiner Aufbau
Das hier beschriebene assoziative, logische, parallele System besteht wie die meisten Rechenanlagen aus fünf Funktionsteilen, nämlich Eingabe, Ausgabe, Speicher, Steuerung und Rechenteil. Jedoch sind hier die Funktionsteile, wie z. B. zahlreiche Rechenautomaten und Speichermodule, in hohem Grade autonom, so daß sie ohne jede zentrale Steuerung arbeiten. Die bei der Steuerung der Funktionsteile des Systems verwendeten Assoziationsverfahren ermöglichen es, ohne zentrale Steuerung auszukommen. Außerdem sind diese zahlreichen Funktionen unter der Verwendung von Assoziationsverfahren so aufgebaut, so daß sie eine oder mehrere Aufgaben parallel ausführen. Diese Funktionen können ohne wesentliche Änderung der Programme auch hinzugefügt oder weggenommen werden.
Das Blockdiagramm des Systems in Fig. 1 zeigt, wie die Funktionsteile untereinander verbunden sind. Die Steuer- und Rechenschaltungen erscheinen in Fig. 1 als je eine Einheit, die Rechenmodul genannt wird. Die Verbindungen sind so aufgebaut, daß die Datenübertragung zwischen vielen Funktionsteilen gleichzeitig erfolgen kann. Der Eingabeteil des Systems nimmt gleichzeitig Daten aus beliebig vielen Eingabequellen auf und speichert sie in den Speichern. Diese Daten können aus Lochkarten, Magnetbändern und -platten, manuell betätigten Tasten, Abfühleinheiten u. dgl. kommen. Der Ausgabeteil übernimmt gleichzeitig Informationen aus den Speichern und stellt sie der Bedienungsperson zur Verfügung. Die Ausgabe kann ebenfalls in verschiedenen Formen erfolgen, z. B. über Lochkarten, Magnetband, bedruckte Formulare, Anzeigelampen usw. Die assoziativen Speiohermodule dienen zum Aufnehmen, Festhalten und Verteilen von Informationen. Das Blockdiagramm von F i g. 1 zeigt mehrere assoziative Speichermodule, die jede eine Eingabedatenreihe aufweisen. Jeder assoziative Speicher weist eine »Zuerst hinein, zuerst heraus«-Funktion sowie viele der gebräuchlicheren Assoziationsmerkmale, wie z. B. wahlweises Schreiben, Schreiben in erstes leeres Register u. dgl. auf. Die assoziativen Speicher arbeiten selbständig.
Jeder Rechenmodul kann die von ihm empfangenen Befehle entschlüsseln, Datenanforderungen zu den assoziativen Speichern senden, mit den Daten die üblichen arithmetischen und logischen Ope-
209 540/316
9 10
rationen ausführen und Kennwörter für das Ent- Speichers, in dem der nächste Befehl und/oder
nehmen von Nachfolgebefehlen und -Operanden Operand zu speichern bzw. zu finden ist. Die
berechnen. M Speicher in dem System sind von 1 bis M
Der Aufbau des Systems ist im einzelnen in numeriert.
Fig. 2A und 2B dargestellt. Dort sind bestimmte 5 Der Speicheradressengenerator 24 besteht aus Bauelemente von F i g. 1 in Funktionseinheiten auf- einem Eingabe- und einem Ausgaberegister, einer geteilt worden, die es erleichtern, einen Überblick Eins-aufwärts-zählen-Schaltung und einer Einsüber die Anordnung nach der Erfindung zu ge- abwärts-zählen-Schaltung, einer Prüfschaltung sowie winnen. Diese Figuren zeigen im wesentlichen die entsprechenden Tor- und Steuerschaltungen, die Datenpfade zwischen den Funktionseinheiten. Die io noch im einzelnen erläutert werden. Die Ausgangskurzen Verbindungslinien deuten das Bestehen von signale des Speicheradressengenerators 24 werden Informationsaustausch zwischen diesen Funktions- einer Rechenmodul-AusgabemultiplexeinheitSO zueinheiten und der Programmsteuereinheit des geführt. Ein weiteres Ausgangssignal des Speicher-Rechenautomaten von Fig. 2D an (s. auch adressengenerators 24 besteht aus Steuerinforma-Fig. 17A, 17B und 17C). 15 tionen, die der Rechneφrogramrnsteuereinheit 26
Eine Eingabevorrichtung 10 (Fig. 2A) überträgt, zugeleitet werden.
wenn sie eine Anforderung nach neuer Arbeit aus Das Befehlsregister 28, das linke Operandregister einem leeren Rechenmodul empfängt, ein Datenwort 20 und das rechte Operandregister 22 sind die zu ihrem Ausgaberegister. Dies gestattet es der Hauptregister des Rechenmoduls. Wie ihre Namen Speicherausgabe-Multiplexeinheit 12, das betreffende 20 besagen, dienen sie zum Speichern des Befehls Datenwort über einen ihrer Ausgangskanäle zum sowie des linken und des rechten dem Befehl zu-Befehlspufferregtster 14 des Rechenmoduls 1 zu geordneten Operanden. Das Ausgangssignal des übertragen. Außerdem nimmt die Speicherausgabe- Befehlsregisters besteht aus dem Codefeld, das einer Multiplexeinheit 12 Datenwörter aus den asso- Befehlsdecodiereinheit 32 zugeführt wird. Das voll·- ziativen Speichern 16, 16 a und 16 m auf und über- 25 ständige im Befehlsregister enthaltene Datenwort trägt diese Informationen entweder zum Befehls- kann über Leitungen 34 sowohl dem linken als auch puffer 14 oder zum Operandpufferregister 18. Die dem rechten Operandregister zugeführt werden. Der Speicherausgabe-Multiplexeinheit 12 kann diese Indexteil des Kennzeichenfeldes, das im Befehls-Datenwörter auch zu Operand- und Befehlspuffer- register enthalten ist, wird in einen Kennzeichenregistern anderer Rechenmodule übertragen. Die 30 bzw. Kennfeldgenerator 36 geleitet. Das ganze im Speicherausgabe-Multiplexeinheit 12 besteht aus Befehlsregister stehende Datenwort oder Teile davon einer feststehenden Zahl von Datenkanälen. Jeder können zu der Rechenmodul-Ausgabemultiplex-Datenkanal enthält eine Oder-Schaltung mit M Ein- einheit 30 übertragen werden. Außer den aus dem gangen und eine Decodierschaltung für die Rechner- Pufferregister 14 kommenden Eingabedaten emp-Pufferregister, die weiter unten im einzelnen erläu- 35 fängt das Befehlsregister 28 Daten aus einer Rechentert wird. Der Rechner-Decodierschaltung wird der einheit 38, dem Kennwortgenerator 36 und dem Rechner-Pufferregister-Code zugeführt, und die Aus- linken Operandregister 20. Die aus der Rechengangssignale der Decodierschaltung steuern, wie einheit kommenden Daten sind das Resultat einer noch erläutert wird, die Eingangstore der Puffer- Rechenoperation. Die aus dem Kennzeichengeneregister. 40 rator 36 kommenden Daten bestehen aus Steuer-
Die Pufferregister 14 und 18 halten vorüber- informationen, die den Indexteil des Kennzeichengehend den nächsten Rechnerbefehl und -Operanden feldes verändern. Die aus dem linken Operandfest, bis der gegenwärtige Befehl fertig ausgeführt register kommenden Daten sind das gemäß dem ist. Die Pufferregister gehören also zu der für die weiter unten beschriebenen speziellen IF-Befehl Überlappungsoperation nötigen Logik. Bei der Über- 45 benötigte Resultat.
lappungsoperation werden der nächste Befehl und Außer aus dem Befehlsregister 28 und dem Ope-
der nächste Operand während des Ausführens des randpufferregjster 18 empfangen die Operandregister
gegenwärtigen Befehls herausgeholt. auch Informationen aus dem Kennzeichen- bzw.
Das Operandpufferregister 18 speichert vorüber- Kennfeldgenerator 36. Diese Informationen haben
gehend den linken oder den rechten Operanden. 50 eine Veränderung des Indexteils der Kennfelder
Die Ausgangssignale dieses Registers werden ent- dieser Register zum Ergebnis. Die Datenfelder der
weder einem linken Operandregister 20 oder einem Operandregister werden über Leitungen 282 und
rechten Operandregister 22 zugeführt, je nach der 830 in die Recheneinheit übertragen. Alle in den
in dem Operandpufferregister enthaltenen Steuer- Operandregistern enthaltenen Datenwörter oder
Information. Außerdem zeigt das Operandpuffer- 55 Teile davon werden über die Leitungen 40 der
register einer Rechner-Programmsteuereinheit 26 an, Rechenmodul-Ausgäbemultiplexeinheit 30 zugeführt,
ob Daten aus den assoziativen Speichern empfangen Die Befehlsdecodierschaltung 32 entschlüsselt das
worden sind und welchen Status diese Daten haben. aus dem Befehlsregister 28 kommende Codefeld.
Das Befehlspufferregister 14 speichert vorüber- Die Ausgangssignale der Befehlsdecodierschaltung gehend den Befehl. Ein Ausgangssignal des Befehls- 60 werden der Rechner-Programmsteuereinheit 26 und pufferregisters 14 wird in ein Befehlsregister 28 ge- der Recheneinheit 38 zugeleitet. Die Befehlsdecodierbracht. Ein weiteres Ausgangssignal, der Speicher- einheit bestimmt den auszuführenden Operationstyp, code, wird in den Speicheradressengenerator 24 ge- Zum Beispiel bestimmt die Befehlsdecodiereinheit, bracht. Ein drittes Ausgangssignal, das Informa- ob es sich bei dem Befehl um eine unäre oder eine tionen über die in das Befehlspufferregister korn- 5 binäre Operation, eine Additionsoperation, eine menden Daten enthält, wird in die Rechner-Pro- Multiplikationsoperation od. dgl. handelt. Bei der grammsteuereinheit 26 übertragen. Der Speicher- Ausführung dieser Funktion wandelt die Befehlsadressengenerator 24 bestimmt den Namen des decodierschaltung einen binärverschlüsselten Ein-
11 12
gangscode in einen »1 aus iV«-Ausgangscode um. steuert werden. Eine genaue Beschreibung der Ein-Dieser »1 aus A/«-Code wird dann zur Rechen- gabereihenspeicher 44 folgt weiter unten. Eine Auseinheit 38 übertragen. gabevorrichtung 46 empfängt Daten aus den Rechen-
Der Kennzeiohengenerator 36 bestimmt das Kenn- modulen über die Rechenmodul-Ausgabemultiplexzeichen des nächsten Befehls und Operanden und 5 einheit 30 und Leitungen 838. Die Ausgabevorrichspeichert diese Kennzeichen im Befehlsregister 28 rung überträgt die Daten in die richtigen Ausgabe- und entweder im linken Operandregister 20 oder im medien, wie z. B. Bänder, Karten, gedruckte Forrechten Operandregister 22. Der Kennzeichen- mulare u. dgl.
generator besteht aus einem Indexregister, einer Die Eingabevorrichtung 10 empfängt Anforderun-
Äußersterechte-1-Schaltung und einem Anzeigebit; io gen nach neuer Arbeit aus den Rechenmodulen
die Wirkungsweise wird weiter unten beschrieben. über die Rechenmodul-Ausgabemultiplexeinheit 30.
Durch die Ausgangssignale des Kennzeichengene- Die Eingabevorrichtung besteht aus Einheiten, die
rators wird der Indexteil der Kennwortfelder des imstande sind, Daten in das System zu übertragen,
linken Operandregisters, des rechten Operand- Diese Eingabeeinheiten können mit Band, Karten,
registers und des Befehlsregisters auf den neuesten 15 Platten u. dgl. arbeiten. Wie bereits erläutert, leitet
Stand gebracht. Außerdem sendet und empfängt der die Eingabevorrichtung beim Empfang einer Anfor-
Kennwortgenerator Steuersignale zu bzw. aus der derung nach neuer Arbeit der Speicherausgabemulti-
Rechner-Programmsteuereinheit26. plexeinheit 12 jegliche neue Arbeit zu, die aus-
Die Recheneinheit 38 ist eine konventionelle Ein- geführt werden muß.
richtung, die die erforderlichen arithmetischen und 20 Die assoziativen Speichermodule 16, 16 a und logischen Operationen mit dem linken und dem 16 m sind zum bedingten löschenden Auslesen einrechten Operanden ausführt, wie es der Befehl er- gerichtet. Beim bedingten löschenden Auslesen wird fordert. Die Ausgangssignale der Recheneinheit jedes angepaßte Wort im Speicher löschend auswerden dem Befehlsregister 28 zugeleitet. Außerdem gelesen, wenn es keine Sondermarke aufweist. "Wenn werden Steuerinformationen zwischen der Rechen- 25 ein Wort diese Sondermarke besitzt, wird es bei der einheit und der Rechner-Programmsteuereinheit Leseoperation nichtlöschend ausgelesen, was noch übertragen. Die Rechenmodul-Ausgangsmultiplex- im einzelnen beschrieben wird,
einheit 30 hat die Aufgabe, die Ausgangssignale Der assoziative Speichermodul enthält außerdem eines Rechenmoduls über die Ausgangskanäle in den die Verbindungslogik, die zum Informationsrichtigen assoziativen Speicher zu steuern. Die 3° austausch mit der Speicherausgabemultiplexeinheit Multiplexeinheit 30 besteht aus einem Satz fester 30 nötig ist. Der assoziative Speicher wird noch im Kanäle, die jeweils Oder-Schaltungen mit N Ein- einzelnen beschrieben.
gangen, eine Speicheradressen -Decodierschaltung Die Rechner-Programmsteuereinheit 26 ist eine
und die nötige Torsteuerlogik enthalten. Die Multi- Codier-, Decodier- und Zeitsteuervorrichtung, die
plexeinheit wird weiter unten noch im einzelnen 35 den Funktionseinheiten des vorliegenden Systems
besprochen. Da sie mehrere Kanäle besitzt, kann die richtigen Torsignale zuleitet (s. auch Fig. 17A,
die Multiplexeinheit viele Anforderungen parallel 17 B und 17C).
zu den assoziativen Speichern übertragen. Die assoziativen Speichermodule 16, 16 a und
Eine Speichersteuerinformationseinheit 42 ist eine 16m von Fig. 2A gleichen einander.
Codierschaltung, die ein Eingangssignal aus der 40 _...._, _
Rechner-ProgrLmsteuereinheit 26 empfängt und Binare »Baum«-Programmierung
ein Ausgangssignal zu der Rechenmodul-Ausgabe- Bei der Programmierung des Systems wird eine
multiplexeinheit 30 sendet. Diese Ausgangsinfor- binäre Baumstruktur benutzt, um die verschiedenen
mation enthält das vom Speicher auszuführende Wörter eines Befehlssatzes in Beziehung zueinander
Programm, den Namen des die Anforderung sen- 45 zu bringen. Unter einer binären Baumstruktur wird
denden Rechners, die Bezeichnung des Rechen- eine topologisch^ Anordnung verstanden, in der die
modulpufferregisters, das die angeforderte Infor- Abzweigstellen oder Knotenpunkte dadurch gebildet
mation aus dem Speicher empfangen soll, and die werden, daß höchstens zwei Zweige zusammen-
Bezeichnung des Hauptregisters in dem Rechen- kommen, um einen einzigen Zweig zu bilden. Der
modul, das die aus dem Speicher entnommene In- 50 Vorteil dieser Struktur für das Programm besteht
formation empfangen soll. darin, daß mehrere Verarbeitungseinheiten gleich-
Den assoziativen Speichern 16, 16a und 16m zeitig entlang der Zweige des Baums arbeiten könsind Eingabereihenspeicher 44, 44 a bzw. 44 m zu- nen. Bei den herkömmlicheren Programmierungsgeordnet. Diese Reihenspeicher sind »Zuerst hinein, verfahren werden die Befehle in einem Satz von zuerst heraus«-Pufferspeicher, die die Speicher- und 55 aufeinanderfolgenden Wörtern gegeben, und ein Entnahmeanforderungen für ihre jeweiligen asso- einziger Rechner geht von einem Wort des Befehls ziativen Speicher vorübergehend festhalten. Diese aus zu den folgenden Wörtern weiter. Die binäre Anforderungen werden aus den Rechenmodulen Baumstruktur wird realisiert durch ein assoziatives über die Rechemnodul-Ausgabemultiplexeinheit 30 Kennzeichen, das in jedem Daten- oder Befehlswort in die Reihenspeicher übertragen. Die Ausgabe- 60 im Speicher erscheint. Wenn dieses Kennzeichen signale der Speicherdateneingabereihen bestehen aus richtig ausgedeutet wird, zeigt es, wo das betreffende Datenwort- und Steuerinformationen. Diese Aus- Wort in die Baumstruktur hineingehört,
gangssignale werden in die jeweiligen assoziativen Fig. 5A zeigt die Aufteilung des Befehlswortes Speichermodule gebracht, wenn aus dem Speicher in seine Hauptfelder. Die Aufgaben- bzw. Problemeine Anforderung nach neuer Arbeit vorliegt. Jeder 65 nummer ist eine eindeutige Identifizierung für jede Reihenspeicher besteht aus einem Satz von Re- Aufgabe, die im Rechensystem enthalten sein kann, gistern, deren Eingänge durch einen Eingabering Das Statusfeld gibt gewisse Informationen über ein und deren Ausgänge durch einen Ausgabering ge- Wort, z.B., ob es für die Rechnung bereit ist oder
13 14
nicht, ob es eine Konstante ist oder nicht, usw. Das B Dies zeigt an, daß eine bedingungslose Verzwei-
Kennzeichen mit seinen Indexen ist das Hauptfeld gung auf die Ausführung des Befehls folgt, in
für die assoziative Entnahme, obwohl manchmal die dem das Symbol »B«. erscheint,
assoziative Operation auf eine oder mehrere der
anderen Felder angewandt wird. Der Hauptteil des 5 Diese Symbole schließen einander nicht aus, son-
Kennzeichens gibt den Namen des Baums an, wäh- dem können in verschiedenen Kombinationen auf-
rend der Index zeigt, wohin es in topologischer Be- treten. Insbesondere treten »R« und »T« sowie »/?«
ziehung zum übrigen Teil des Baums fällt. Das und »C« zusammen auf. Weiter tritt das »B«-Symbol
Codefeld gibt an, welche Art von Operation aus- manchmal zusammen mit dem »/«-Symbol auf. Die
zuführen ist. Der Gegenstand (item) und die Indexe io genannten Symbole werden in herkömmlicher Weise
sind bestimmten Codes zugeordnet und geben den codiert, damit die auszuführenden Operationen sich
Ort anderer Wörter, auf die Bezug genommen wer- besser darstellen lassen. Ein dafür geeigneter Code
den soll, an. Ein zusätzliches Steuerfeld, das in der benötigt nicht mehr als fünf Bits.
Darstellung von den anderen Feldern des Wortes Kennzeichen und Kennzeichenindex
durch einen doppelten Stach getrennt ist, stellt 15
Steuerinformationen dar, die in bestimmten Fällen Jeder Baum von Befehlen ist durch ein Kennzei-
mit dem restlichen Teil des Wortes wandern, obwohl chen charakterisiert. Da die Aufgabennummer eine
sie nicht als Teil des Speicherwortes in den Spei- eindeutige Kennzeichnung für jede Aufgabe in dem
ehern gespeichert werden. System bildet, kann ein bei einer Aufgabe verwende-
Fig. 5B zeigt die Aufteilung eines Datenwortes 20 tes Kennzeichen in einer anderen Aufgabe wiederver-
in Felder. Diese Unterteilung entspricht der in wendet werden. t>er Kennindex zeigt die Lage eines
Fig. 5 A gezeigten, aber die Daten können sich Wortes in der Baumstruktur an. Zum Beispiel ist bei
über den Teil des Wortes erstrecken, der für die dem Kennzeichen Γ011 in Fig. 6 Y der Name des
beiden Felder des Codes und des Gegenstandes be- Baums, zu dem dieses Kennzeichen gehört, und der
nutzt wird. Es folgt eine vollständigere Beschreibung 25 Index 011 gibt an, daß das Wort der rechte Zweig
dieser Felder. eines linken Zweiges des Baums ist. Das läßt sich
wie folgt erläutern: Wenn man die Indexe von rechts
Aufgaben- bzw. Problemnummer nach links liest, erscheinen binäre Nullen als Leerstellen, bis die extrem rechte Eins erscheint. Diese
Die Aufgabennummer (Fig. 5A und 5B) ist eine 3< > Nullen sind ohne Bedeutung. Weiter ist auch die exeindeutige Bezeichnung für jede Aufgabe, die sich trem rechte Eins ohne Bedeutung, aber sie zeigt an, zu jedem beliebigen Zeitpunkt in dem Rechensystem daß die links von ihr stehenden Nullen und Einsen befinden kann. Es sind ausreichend viele Infor- bedeutungsvoll sind. Die bedeutungsvollen Nullen mationsbits vorgesehen, um die größtmögliche Auf- und Einsen geben die Richtung der Zweige an, und gabennummer, die erforderlich sein kann, unter- 35 zwar bezeichnet eine »0« einen linken und eine »1« zubringen. einen rechten Zweig. Bei dem Kennzeichen YOIl sei
also angenommen, daß das Indexfeld insgesamt vier
Status Bits vorsieht. In diesem Falle ist das extrem rechte
_. , r , , on, , .,, . Indexbit eine »0« in dem binären Speicher, die aber,
Die Verwendung des Statusfeldes bildet eine da sie ohne Bedeutung ist in Fig F 6 als Leerstelle
Grundlage fur die Operation des Systems. Folgende d tellt ist Das drifte Bit von finks ist eine >>1<<;
Statusmarken sind möglich: UJ da $ie die extrem rechte >>]L< < ^ igt sie ohne Be_
7 Alle Befehlswörter erhalten das Statussymbol»/«. deutung. Von den übrigen beiden Bits ist das erste
„ p.. „. . . j t^ ^ 1 1· r Bit von links eine »0«, die anzeigt, daß dieses Wort
C Dieser Status wird Daten gegeben, die auf mehr zu einem ßen linken Zwd |ört Da das zwdte
als eine Art verwendet werden sollen. Imwesent- m VOQ ^8 eine > >χ<< ist |e 6 deutet dies daß das
liehen steuert er die mchtloschende Entnahme Wort zu einem rechten Zwd des vorher erwahnten
von Daten aus dem Speicher. linken Zweiges gehört.
R Datenwörter, die zum Rechnen bereit sind, wer- Die Verwendung der Kennzeichenindexe ermög-
den mit dem Symbol »i?« gekennzeichnet. Dieses 50 licht es, von jedem gegebenen Satz von Indexen den
Symbol benutzt ein Rechenmodul, um eine as- Index des nächsten Wortes unter jedem gegebenen
soziative Entnahme auszuführen, wenn er Arbeit Wort in der Baumstruktur abzuleiten und außerdem
anfordert. Als Datenaktivierungssymbol ist es den Index für dasjenige damit verbundene bench-
ein wichtiger Teil der steuernden Informationen. barte Wort abzuleiten, das zusammen mit dem ge-
T Dieses Symbol bezeichnet ein Datenwort, das 55 SftenenWort als ^ Operanden für die nächste
vorübergehend zur Verwendung beim Rechnen Operation dienen wird,
verfügbar gemacht wird. Allgemein gesprochen, Code und Gegenstand
können, wenn den Baum hinunter vorgegangen Das Codefe]d ^. 5A) bezeichnet die übHchen
wird, nur die Datenworter mit einem »r«-Sym- 6o Rechenoperationen, wie z. B. Addition, Subtraktion,
bol en nommen werden um beim Rechnen ver- Multiplikation und Division. (Die Multiplikations-
wendet zu werden. Gewohnhch erfolgt die Ent- opera£on wird durch das S4mclien angedeutet.)
nanme loscnena. Weitere Bezeichnungen sind die Operation mit ab-
PC Dies ist das Symbol für eine Programmkon- solutem Wert (ABS) und drei Sonderbezeichnungen
stante und wird als solches mit den Programm- 65 (D, L und /F). Diese Sonderbezeichnungen nehmen
befehlen eingelesen. In diesem Falle hat es je- in dem Gegenstandfeld auf andere Wörter Bezug. In
doch das in Fig. 5 B gezeigte Format des Daten- Fig. 6 hat z.B. der Befehl mit dem Kennzeichen
wortes. YOOl und dem CodeD den Gegenstand^. Das be-
deutet, daß Daten, deren Kennwort A ist, benötigt werden, um diesen Befehl zu aktivieren. Ein Beispiel für einen Befehl mit Code L ist das Befehlswort mit dem Kennzeichen Γ111111 in Fig. 3. Das Kennzeichen F11011 erscheint im Gegenstandfeld dieses Wortes und zeigt so an, daß zum Aktivieren des Befehls ein Datenwort nötig ist, wie es durch den Befehl mit dem Kennzeichen Y11011 errechnet wird.
Der Code »IF«, zeigt eine bedingte Verzweigungsoperation an, und zwar wird die Bedingung bestimmt durch die positive oder negative Beschaffenheit des Wertes, der durch den Befehl im rechten Zweig, der dem IF-Befehl vorausgeht, errechnet wird. Ein Beispiel zeigt Fig. 3, wo das Befehlswort mit dem Kennzeichen Γ111 den Code IF aufweist. Wenn der Wert des Resultats des Befehls mit dem Kennzeichen Y1111 positiv ist, verläuft die Rechenoperation den Baum hinunter unter Verwendung des Resultats, das durch den Befehl mit dem Kennwort YIlOl erdas angibt, ob ein bestimmtes Register im Speicher leer ist oder nicht, ein Anpassungsanzeigebit, das angibt, ob ein gegebenes Wort einem Abfragewort angepaßt ist oder nicht, und ein Markierungsbit, das dazu dient, die in einem assoziativen Speicher bearbeiteten Wörter zu markieren, wenn mehr als ein Wort entnommen werden soll.
Assoziative Logik und Speicher
Ein assoziativer Speicher ist eine digitale Speichervorrichtung, in der sich eine Aufzeichnung oder ein Block von Informationen befindet, um entnommen oder bearbeitet zu werden, indem ein Teil seines Inhaltes statt seines Speicherplatzes benannt wird. Assoziative Speicher werden manchmal auch als inhaltsadressierte Speicher bezeichnet.
In Speichern dieser Art ist es nicht nötig, sich zu merken, wo im Speicher Informationen gespeichert
rechnet wird, aber wenn das Resultat des rechten ao worden sind. Das Auffinden der gewünschten Infor-Operanden negativ ist, wird der Lauf der Rechen- mation erfolgt, indem nach ihr auf Grund ihres Inhalts gefragt wird. Die Wörter werden durch die
operation so zurückgeführt (s. die gestrichelten Linien), daß er wieder durch die Schleife geht unter Verwendung des Wertes des linken Operanden. Die gestrichelte Verbindung wird dadurch bestimmt, daß der Gegenstand in dem Wort mit dem /F-Code ein »X« ist und daß die Gegenstände in den Wörtern, zu denen die Verbindung hergestellt wird, ebenfalls »X«-Symbole sind.
Daten wird. Die Wörter werden durch Reihen von Zeichen dargestellt, zum Beispiel zeigt Fig. 7 einen vereinfachten Speicher mit acht Wörtern zu je acht Zeichen, in dem an Stelle der herkömmlichen binären Bits alphabetische Informationen gespeichert sind. Die M/-Blöcke sind binäre Anpassungsanzeigen und dienen dazu, Informationen für die Entnahme zu markieren. Die mit VB bezeichneten Blöcke sind Anzeigen für binäre Leerbits. Wenn sie eine »0« enthalten, ist die Information in dem Register nicht gültig, und das Register gilt als leer. Eine »1« in einem F2?-Block bedeutet eine gültige Information. Die Register 3, 5 und 8 sind also
Wenn ein Wort zum Speichern von Daten verwendet wird, werden das Codefeld, das Gegenstandsfeld
und das Gegenstandsindexfeld kombiniert, um möglichst viel Platz für die Daten zu schaffen, wie es 35 leer und stehen zum Speichern neuer Informationen Fig. 5B zeigt. Wenn es sich bei den Daten um einen zur Verfügung.
Als Beispiel dafür, wie Informationen entnommen werden können, sei angenommen, daß es erwünscht ist, alle Wörter im Speicher zu wissen, die das Wort CAT in den Stellen 1 bis 3 enthalten. Das Wort CAT wird in die Stellen 1 bis 3 des Abfrageregisters eingegeben, und in einer Operation werden die Anpassungsanzeigen für die Wörter 1 und 7 eingeschaltet.
Wie schon erwähnt worden ist, bildet das Steuer- In nachfolgenden Speicherumläufen wird jedes dieser feld keinen Teil des Speicherwortes, sondern es stellt 45 Wörter ausgelesen. Beim Einschreiben von Informa-Steuerbefehle dar, die zusammen mit dem Wort über- tionen in den assoziativen Speicher wird das Wort
numerischen Wert handelt wie bei den hier betrachteten Beispielen, besteht dieser aus einem algebraischen Vorzeichen und der binären Darstellung der Zahl in herkömmlicher Form, die der verwendeten Recheneinheit angepaßt ist.
Steuerfeld
tragen werden können. Wenn z. B. eine Eingabevorrichtung ein Wort in das System hineinbringt, enthält das Steuerfeld den Code, der den Speicher angibt, in dem das Wort gespeichert werden soll, ganz gleich, ob es sich um ein Befehlswort oder eine Programmkonstante, Status / bzw. PC, handelt. In diesem Falle ist das Steuerfeld durch ein Zusammenstellprogramm vorberechnet worden. Bei Wörtern, die in einem Speicher durch einen Rechenmodul gespeichert werden, enthält die Steuerinformation die Befehle, die dem assoziativen Speicher mitteilen, welche Operation er bezüglich des übertragenen Wortes ausführen soll. Wenn ein Rechenmodul einen assoziativen Speicher wegen der Entnahme eines Wortes abfragt, informiert die übertragene Steuerinformation den Speicher, was er mit dem Abfragewort, das gerade übertragen wird, machen soll. Weiter werden die Befehle verwendet, wenn der assoziative Speicher das entnommene Wort in den Rechenmodul zurücksendet, um das Wort zu seinem richtigen Bestimmungsort zu leiten. Innerhalb des assoziativen Speichers (F i g. 7) sind weitere Steuerinformationen ein Leerplatzbit, im ersten leeren Register gespeichert (in dem Beispiel von F i g. 7 im Register 3). Andere logische Merkmale eines assoziativen Speichers ermöglichen es,
1. Teile eines Wortes oder Wörter im Speicher auszutauschen, ohne die Wörter aus dem Speicher zu entfernen; auf diese Weise kann ein einziger Befehl benutzt werden, um Gegenstände in vielen Wörtern innerhalb eines Speicherumlaufs zu verändern; dieses Merkmal wird als wahlweises Schreiben bezeichnet;
, 2. durch einen einzigen Befehl die nächsthöhere oder die nächstniedrigere Assoziation (Wort) zu erlangen;
3. alle Daten, die einen bezeichneten Wert über- oder unterschreiten, auszuwählen; die Entnahme eines so bezeichneten Wertes erfolgt in einem Speicherumlauf durch einen einzigen Befehl; wenn mehrere Auswahlvorgänge erfolgt sind, ist ein zusätzlicher Speicherumlauf pro Entnahme nötig, aber die ganze Entnahme wird durch den anfänglichen Befehl bewerkstelligt;
17 18
4. in beliebiger, zufälliger Form gespeicherte Wör- ben werden soll. In einer bekannten Ausführung beter in aufsteigender oder absteigender Folge zu sitzt das Auswahlregister zusätzliche Funktionen, die entnehmen durch eine als »assoziativer Speicher aber hier nicht benötigt werden. Dem Auswahlregister mit geordneter Entnahme« bezeichnete Funk- 76 sind Steuerleitungen 78 zugeordnet, die die Opetion; 5 ration des Auswahlregisters überwachen und zeitlich
5. alle Daten zwischen bezeichneten Grenzen aus- steuern.
zuwählen und ein Wort zu entnehmen. Diese Ein ternärer Zähler 80 und eine Stellenauswahl-
Operation erfordert nur zwei Speicherumläufe; matrix 82 mit ihren Steuerleitungen 84 haben der ein zusätzlicher Speicherumlauf pro Mehrfach- Wortstellenauswahl dienende bekannte Funktionen, auswahl vervollständigt die Operation. io Als Beispiel für die Wirkungsweise des assoziativen
Speichers sei das Einschreiben eines neuen Wortes
Gemäß Fig. 8 dient ein Eingaberegister 48 dazu, in das erste leere Register betrachtet. In diesem Falle über Eingabeschalter und Abdeckschalter entweder wird das Wort aus einem Rechenmodul über ein Wort, das in dem assoziativen Speichersystem ge- die Rechemnodul-Ausgabemultiplexeinheit 30 von speichert werden soll, oder ein Abfragewort, das die 15 Fig. 2B und die Speichereingabedatenreihe 44 von Entnahme eines oder mehrerer Wörter aus dem as- Fig. 2A in das Eingaberegister 48 übertragen, soziativen Speicher bestimmen soll, zu empfangen. Außerdem werden entsprechende Speichersteuer-Mit Hilfe des Registers ist es möglich, diejenigen Bit- informationen in die Speichersteuerung 68 eingeführt, stellen, die bei der Abfragung nicht benötigt werden, Diese Informationen steuern den Speicher so, daß er abzudecken. Die Funktion des Eingaberegisters wird 20 die Leerstellen der Wortregister bearbeitet, um alle durch Steuerleitungen 50 gesteuert. Ein erstes Wort- leeren Wortregister festzustellen. Durch Schaltungen register 52 zeigt, wie auch jedes der anderen Wort- innerhalb der Wortsteuereinrichtungen für diese Reregister in Fig. 8 aufgeteilt ist. Die Register tragen gister wird das erste Register, das leer ist, festgestellt, die Bezugsziffern 54, 56 und 58. Die Aufteilung zeigt, und die Eingabeschalter für das betreffende Register daß jedes Wortregister eine Leerbitstelle, eine allge- 25 werden veranlaßt, wirksam zu werden und das Wort meine Bitstelle und mehrere Speicherbitstellen ent- aus dem Eingaberegister 48 zu empfangen. Jetzt wird hält, die zur Darstellung numerischer oder alphabe- das Leerbit des Registers, in das die Eingabe erfolgt tischer Zeichen zusammengruppiert werden können. ist, auf 1 gestellt und zeigt damit an, daß dieses Re-Außerdem sind zwei Bereichsbitstellen gezeigt, eine gister besetzt ist.
niedrige Bitstelle und eine hohe Bitstelle. Diese letzt- 30 Als zweites Beispiel sei die »Zuerst hinein, zuerst genannten beiden Bitstellen sind für die Erfindung heraus «-Schreiboperation betrachtet. (Diese Operanicht von Bedeutung. tion wird auch FIFO genannt.) Es soll ein Wort am
Dem Wortregister 52 für Wort 1 ist eine Wort-1- Ende einer bereits vorhandenen Liste von Wörtern Steuereinrichtung 60 zugeordnet, dem Wortregister in dem Speicher so gespeichert werden, daß ein »Zu-54 für Worin—2 ist eine Wort-«—2-Steuereinrich- 35 erst hinein, zuerst heraus«-System gewährleistet ist. tung 62 zugeordnet, dem Wortregister 56 für Wort Das in den Speicher einzuschreibende Wort wird wie- n—1 ist eine Wort-η—1-Steuereinrichtung 64 züge- der in das Eingaberegister eingeführt zusammen mit ordnet, und dem Wortregister 58 für Wort η ist eine Abdeckinformationen für die Abdeckschalter, wo-Wort-n-Steuereinrichtung 66 zugeordnet. Die Wort-1- durch alle Bits, die für die Identifizierung des den Steuereinrichtung 60 bestimmt, wenn ein Wort in das 40 Wörtern in der Liste gemeinsamen Namens nicht erWortregister 52 einzulesen ist und wenn ein Wort forderlich sind, abgedeckt werden. Die Speicheraus dem Wortregister 52 zu entnehmen ist. Sie wird Steuerinformation in der Speichersteuereinheit 68 ihrerseits gesteuert durch die Leerbitschaltung, falls identifiziert die auszuführende Operation, und es erInformationen in das Wortregister einzuführen sind, folgt ein Vergleich bezüglich des Namens der Liste, und durch eine Anpassungsoperation, falls ein Wort 45 um diejenigen Wortregister festzustellen, die überaus dem Register entnommen werden soll. Die Ge- einstimmende Namen in der Liste enthalten. Durch samtsteuerung des Speichers erfolgt durch eine Spei- Schaltungen in der entsprechenden Wortsteuerung chersteuereinheit 68, die durch Speichersteuerinfor- wird das letzte solche übereinstimmende Wort festmationen betätigt wird, welche aus einem Rechen- gestellt, und von diesem Punkt ab werden die Schalmodul über die Rechenmodul-Ausgabemultiplex- 50 tungen erregt, um das erste leere Register hinter dem einheit 30 (Fig. 2B sowie 9A, 9B und 9C) und die letzten übereinstimmenden Register zu bestimmen Steuerschalter empfangen werden. Steueranzeiger 70 und so die richtigen Wortsteuerschaltungen zu betätiwerden abgefühlt, um Steuerinformationen für die gen, damit sie das Wort in dem betreffenden Register Speicherausgabemultiplexeinheit 12 Fig. 2A und speichern.
1OA, 1OB zu liefern. Die Steueranzeiger 72 liefern 55 Als drittes Beispiel sei die wahlweise Schreibfunkebenfalls Informationen zu der Speicherausgabe- tion betrachtet, die auch als Eingabe in ein ausgemultiplexeinheit 12, und zwar insbesondere die In- wähltes Feld bezeichnet wird. In diesem Falle sollen formation, daß der Speicher keine Entsprechung für gemeinsame Informationen in ein oder mehr Wortdas Abfragewort enthält. Ausgangsanzeiger 74 wer- register eingeschrieben werden, die auf der Grundden abgefühlt, um die Ausgangsinformation aus dem 60 lage eines Vergleichs ausgewählt worden sind. Steuer-Speicher zu der Speicherausgabemultiplexeinheitl2 informationen werden zur Speichersteuereinheit von F i g. 2 A (s. auch F i g. 12) zu liefern. und über die Steuerleitungen 78 übertragen, um das
Ein Auswahlregister 76 wird beim wahlweisen Auswahlregister 76 zu betätigen, damit es die Bit-Schreiben verwendet, um zu bezeichnen, welche Bit- stellen bestimmt, die für Auswahlzwecke dienen solstellen für die Auswahl der Wortregister verwendet 65 len, sowie die anderen Bitstellen, die die zu speichernwerden sollen, in welche das wahlweise Einschreiben den Informationen empfangen sollen. Die zu speierfolgen soll, und um weiter zu bestimmen, in welche chernden Informationen werden in das Eingaberegi-Bitstellen der ausgewählten Wortregister eingeschrie- ster 48 übertragen, wie schon erwähnt. In diesem
19 20
Falle kann es sein, daß mehrere Wortregister mit den operationen gibt es eine datenbetätigte Operation, Abfragebitstellen übereinstimmen, und ihre entspre- Code D, eine listenbetätigte Operation, Code L, und chenden Wortsteuerungen bereiten dann die Schal- eine bedingte Verzweigungsoperation, Code/F. Die tungen vor, damit sie die Eingabeschalter der ent- D-, L- und /F-Befehle weisen in ihren Gegenstandssprechenden Wortregister betätigen, um die neuen 5 feldern Bezugnahmen auf.
Informationen in die ausgewählten Bitstellen einzuführen. Diese Operation wird ausgeführt, ohne den 2. Daten
Inhalt der nicht gewählten Stellen des ausgewählten Die Daten sind in drei Klassen eingeteilt, nämlich: Wortregisters zu stören und natürlich ohne den Inhalt der nicht gewählten Wortregister zu stören, ίο a) Programmkonstanten
Als viertes Beispiel sei die Entnahme von überein- Alle Programmkonstanten sind mit einem PC im
stimmenden Wörtern betrachtet. In diesem Falle be- Statusfeld markiert. Programmkonstanten sind ein
stimmt die Speichersteuerinformation in der Spei- integraler Teil des Programmbaums, aber sie sind
chersteuereinheit 68, daß die Bitstellen im Eingabe- Datenformatwörter und keine Befehle,
register, die nicht abgedeckt sind, die Vergleichsschal- 15
tungen in den Wortregistern betätigen, um festzustel- b) Konstanten
len, welche Wortregister übereinstimmende Wörter Konstanten sind mit einem C im Statusfeld mar-
enthalten. Übereinstimmende Wörter in den Wort- kiert. Konstanten sind Datenformatwörter, welche
registern stellen die Steuerungen der entsprechenden Befehle aktivieren. Konstanten werden gewöhnlich
Wortsteuerschaltungen ein, um festzustellen, welches ao nichtlöschend aus dem Speicher ausgelesen. Ein kon-
das erste übereinstimmende Wort im Speicher ist. stantes Datenformatwort kann aus dem Speicher ge-
Dieses Wort kann dann entweder löschend oder nicht- löscht werden durch die Anwendung des wahlweisen
löschend ausgelesen werden, wie es auch durch die Schreibens. Beim wahlweisen Schreiben kann man
Speichersteuerinformationen in der Speichersteuer- das Leerstellenbitwort der ausgewählten konstanten
einheit bestimmt wird. Bei einer löschenden Ent- 25 Datenwörter so einstellen, daß Leerregister angezeigt
nähme wird das ursprünglich auf 1 stehende Leer- werden.
Stellenbit auf 0 rückgestellt und damit angezeigt, daß ^ yoriäufl„e Tj>aten
die Information in dem entsprechenden Wortregister
nicht mehr gültig ist. Bei einer nichtlöschenden Ent- Vorläufige Daten werden durch ein T im Statusnahme behält das Leerstellenbit den Wert 1 bei und 30 feld markiert. Wie die Konstanten aktivieren vorzeigt damit an, daß die Information in dem entspre- läufige Datenformatwörter Befehle. Wie der Name chenden Wortregister eine gültige Information blei- besagt, werden die vorläufigen Datenformatwörter ben soll. Wenn das Leerstellenbit auf 1 eingestellt normalerweise löschend aus dem Speicher ausgelesen, bleibt, werden neue Informationen, die hereinkom- Ein Rechenmodul führt zwei Hauptoperationsmen, um im Speicher gespeichert zu werden, nicht in 35 typen aus, nämlich die Beladungsoperation und die dem betreffenden Wortregister gespeichert, aber wenn Lauf operation. Wie an anderer Stelle erläutert wird, das Leerstellenbit auf 0 gestellt wird, steht das be- ^ sucht ein Rechenmodul, der frei für die Ausführung treffende Wortregister zum Speichern neuer Infor- von Arbeit ist, nach Arbeit, die er ausführen kann, mationen zur Verfügung. Eine Eingabevorrichtung, in der sich Eingabeinfor-
Ein Teil der bei jedem Wortregister beibehaltenen 40 mationen befinden, die in das System eingebracht Steuerinformation ist das Markierungsbit. Dieses wird werden sollen, stellt ein Bereit-Signal, das durch verwendet, wenn mehrere Übereinstimmungen mit einen Rechenmodul abgefragt werden kann. Dies ist einem Abfragewort vorliegen. Bei der Entnahme das Mittel zum Einleiten einer Beladungsoperation, eines Wortes kann das Markierungsbit gesetzt wer- Die Laufoperation wird eingeleitet durch Bereitden, um die Entnahme des Wortes anzuzeigen. Dies 45 Marken in Datenformatwörtern, die noch erläutert ermöglicht dann die Entnahme aller Wörter, die mit werden. Die Beladungs- und die Lauf operation des einem gegebenen Abfragewort übereinstimmen, in- Systems lassen sich am besten an Hand der nachdem die Entnahme jedes markierten Wortes verhin- stehenden Regeln, die diese Operationen bestimmen, dert wird. Nach der Entnahme einer Gruppe mar- verstehen. Diese Regeln geben an, was der Rechenkierten Wörter können die Markierungen dann rück- 50 modul mit jedem Wort in Abhängigkeit von dessen gestellt werden, um zukünftige Entnahmen aus der- Inhalt tun soll,
selben Wortgruppe zu gestatten. Beladungsoperation
Assoziative Logik Regel 1
Regeln für das Einführen und Ausführen Nach einer EntleerungSoPeration (die in anderen
von binaren Baumprogrammen Regdn noch beschriebe^ ^rd) oder v wenn er nach
Bei binären Baumprogrammen treten zwei Wort- einem »stromlosen« Zustand zuerst in Betrieb ge-
formate auf, nämlich Befehlswörter und Datenwörter. setzt wird, beginnt der leere Rechenmodul die Be-
Wie schon beschrieben, dient das Statusfeld des Wor- ladung, und zwar fragt er die Eingabevorrichtung
tes zum Unterscheiden zwischen diesen beiden For- 60 ab, um zu sehen, ob sie im Bereit-Zustand ist und
maten. Befehlsformatwörter und Datenformatwörter damit das Vorliegen von Eingangswörtern anzeigt.
bilden zusammengenommen das Datenwort im Ge- Wenn die Eingabevorrichtung nicht bereit ist, geht
gensatz zur Steuerinformation. der Rechenmodul zur Laufoperation über und verhält
1 _ . ,. sich entsprechend Regel 6. Wenn die Eingabevor-
l. Beienle 6s richtung bereit jst; wjrd ein Wort des ßeladungs-
Das Befehlsformatwort enthält ein / im Statusfeld, blocks von Wörtern zum Rechenmodul übertragen,
und die durch den Befehl aufgerufene Operation Wenn das Wort, das der Rochenmodul empfängt,
wird im Codefeld verschlüsselt. Außer den Rechen- ein Befehl ist, was durch ein / im Statusfeld an-
21 22
gezeigt wird, oder wenn es eine Programmkonstante modul entfernt, dann leert sich der Rechenmodul
ist, was durch ein PC im Statusfeld angezeigt wird, und kehrt zur Operation nach Regel 1 zurück,
muß das Wort in dem richtigen Speicher gespeichert Laufoperation
werden, wie es durch den Beladungsbefehl definiert R ] 6
wird. Der richtige Speicher ist vorher während einer 5 &
Komplierungsoperation errechnet worden, um die Der nach Arbeit suchende leere Rechenmodul
richtige Verteilung der Befehle auf die zur Verfügung fragt einen assoziativen Speichermodul nach einem
stehenden Speicher zu ermöglichen. Bereit-Symbol ab. Es erfolgt die Entnahme eines
Datenwortes mit dem Status R, das gemäß Regel 2
Regel 2 10 oc^er 4 gespeichert worden ist, oder eine Entnahme,
wie sie weiter unten bei den Regeln 9, 11 oder 12
Wenn Regel 1 nicht zutrifft, ist das Wort entweder erläutert wird. Bei der Entnahme eines i?-Wortes aus eine Konstante, angezeigt durch ein C im Statusfeld, dem Speicher wird das Wort durch einen löschen- oder ein vorläufiges Datenwort, angedeutet durch ein den Lesevorgang gelöscht, wenn es ein Status- T im Statusfeld. Der Rechenmodul fragt alle Spei- 15 T-Wort ist, aber es bleibt infolge einer nichtcher nach Wörtern ab, die durch das Kennzeichen löschenden'Leseoperation im Speicher, wenn es ein des Beladungswortes definiert sind, aber in dem Status-C-Wort ist. Im letzteren Falle wird das Status-Speicher im Gegenstandsfeld identifiziert werden. Ä-Symbol gelöscht. Dieses Wort gelangt über das Weiter werden nur die Wörter ausgewählt, die Be- Befehlspufferregister 14 (Fig. 2B) in das Befehlsfehle sind, wie es durch ein / im Statusfeld und mit 20 register 28.
Code D im Codefeld angezeigt wird. Alle so ent- Regel 7
nommenen Wörter werden markiert. Dann erzeugt
der'Rechenmodul ein neues Wort unter Verwendung Kennwörter für den anderen Operanden und für
des Kennwortes des Code-D-Wortes mit der Zahl den Befehl werden vom Kennwortgenerator 36 auf
aus dem Status-C- oder Status-T-Wort, wobei er zu 25 Grund des Kennwortes des ersten Operanden er-
dem neu gebildeten Wort das C bzw. das T über- rechnet, das gemäß Regel 6 entnommen oder gemäß
trägt. Dieses neue Wort wird dann wieder in dem- Regel 10 errechnet worden ist.
selben Speicher, aus dem das Code-D-Wort ent- Jetzt enthält der Rechenmodul in seinen drei
nommen worden ist, gespeichert. Dieses Wort wird Hauptregistern entweder einen linken Operanden
mit dem Bereit-Symbol R im Statusfeld markiert und 30 oder einen rechten Operanden (je nachdem, ob das
auf »Zuerst hinein, zuerst heraus«-Art in bezug auf Status-Ä-Wort ein linker oder ein rechter Operand
etwaige andere Wörter mit Status R im selben Spei- war), das Kennwort für den anderen Operanden und
eher gespeichert. Wenn das so gespeicherte Wort ein das Kennwort für den Befehl.
Status-C-Wort ist, wird der Speicher auf den laufen- ~ , „
den Stand gebracht durch Löschen des entsprechen- 35 e^e
den alten C-Wortes, wenn ein solches existiert. Die Der andere Operand wird entnommen, und zwar
Operation nach Regel 2 wird wiederholt, bis keine wird auf Status T oder PC hin abgefragt und eine
weiteren korrespondierenden Wörter entnommen löschende Entnahme bei einem Status-Γ-Wort, aber
werden. eine nichtlöschende Entnahme bei einem Status-
T>eeei 3 40 PC-Wort ausgeführt. Der Befehl wird entnommen
unter Verwendung des nach Regel 7 erzeugten
Weitere Wörter werden eingeführt durch Wieder- Kennfeldes. Der andere Operand wird im rechten
holung der in Regel 1 oder 2 definierten Operationen Operandregister 22 oder im linken Operandregister
bis zum Ende des Beladungsblocks. 20 über das Operandpufferregister 18 (Fig. 2B)
45 gespeichert, während der Befehl im Befehlsregister
Regel 4 28 über das Befehlspufferregister 14 gespeichert wird.
Nach Abschluß der Beladung eines Blocks, was PlQ
durch die Eingabevorrichtung signalisiert wird, hält e^e
der Rechenmodul die Aufgabennummer zurück, die Wenn nach dem Befehlswort eine binäre Operation die Wörter in dem vorher beladenen Block identi- 50 erforderlich ist und kein anderer Operand nach fiziert, und befragt mit dieser Aufgabennummer alle Regel 8 zur Verfügung steht, stößt der Rechenmodul Speicher nach den noch unmarkierten Status-Z-Code- den ersten Operanden ab, indem er ihn wieder im D-Wörtern. Speicher speichert. Wenn der erste Operand der Entnommene und markierte Wörter werden durch linke Operand ist, wird er mit einem Symbol für das Kennzeichen des entnommenen Wortes erneut 55 Status R und Status T versehen und nach »Zuerst nach einem Status-C-Wort abgefragt. Das Status- hinein, zuerst heraus«-Art in bezug auf R ge-C-Wort wird so gespeichert, wie es entnommen wird, speichert. Wenn der erste Operand der rechte Openur wird es mit dem Status T anstatt mit dem rand ist, wird er mit Status T im ersten leeren Regi-Status C gespeichert. Außerdem wird durch die ster gespeichert. Hier entleert sich also der Rechen-Speicheroperation dem Wort die Status-i?-Marke 60 modul und sucht gemäß Regel 1 nach neuen Bereithinzugefügt, und das Wort wird auf »Zuerst hinein, Symbolen,
zuerst heraus«-Art in bezug auf R gespeichert. Die Regel 10
Operation gemäß Regel 4 wird wiederholt, bis keine
weitere Übereinstimmung gefunden wird. Wenn Regel 9 nicht zutrifft, erfordert der Befehls-
B ■ 65 code entweder eine unäre Operation oder eine binäre
Regel 5 Operation, wenn der andere Operand zur Verfügung
Alle vorher gemäß Regel 2 und 4 angebrachten steht. In diesem Falle kann die angeforderte Ope-
Marken werden durch den assoziativen Speicher- ration ausgeführt werden, und zwar geschieht dies
23 24
in der Recheneinheit. Das Resultat der Operation zuerst heraus«-Art bezüglich R gespeichert, wird aus der Recheneinheit zum Befehlsregister (ii) wird wiederholt, bis keine weitere übertragen unter Zurückbehaltung des Kennwortes Übereinstimmung festgestellt wird, wodurch des Befehls, wie es vorher nach Regel 7 errechnet die nach Regel 12 (b) (i) und 12 (b) (ii) anworden ist. Der Rechenmodul arbeitet nun den 5 gebrachte Markierung beseitigt wird. Dann Baum hinunter weiter, indem er zur Regel 7 zurück- entleert sich der Rechenmodul und sucht kehrt. nach neuer Arbeit gemäß Regel 1.
Regelll Regel 13
Wenn der Befehl den Status B hat, was eine be- ίο Wenn der Boden des Baums beim Versuch, die dingungslose Verzweigung anzeigt, wird eine Ab- Regel 7 anzuwenden, durch den Kennwortgenerator fragung nach allen Wörtern, die durch die Auf- 36 entdeckt wird, wird das dann im Befehlsregister 28 gabennummer identifiziert werden, eingeleitet, das stehende Resultat zur Ausgabevorrichtung übertra-Kennfeld aus dem Befehlswort wird zum Abfragen gen, falls der Status nicht B ist. Wenn der Status B im Gegenstandsfeld benutzt, und mit Status / wird 15 besteht, wird nach Regel 11 vorgegangen. In beiden jedes Wort bei seiner Entnahme markiert. Aus jedem Fällen entleert sich der Rechenmodul und arbeitet entnommenen Wort wird ein neues Wort gebildet, wieder nach Regel 1.
indem das Kennfeld aus dem entnommenen Wort, . . .
aber die Daten aus dem Befehlswort verwendet wer- üeispie
den. Diese Wörter werden mit Status R und Status T 20 Die nachstehende Beschreibung der Operationen nach »Zuerst hinein, zuerst heraus«-Art bezüglich R betrifft speziell die Beladungs- und Laufregeln. Es gespeichert. Die Bildung solcher Wörter wird nach sei z. B. die Aufgabe der Berechnung von
dieser Regel fortgesetzt, bis keine weiteren überein- ν — ι λ _ /F l
stimmenden Wörter vorliegen, und dann werden die ~ I V I
Markierungen entfernt. Der Rechenmodul arbeitet 25 betrachtet. Bei dieser Aufgabe ist eine Wiederweiter den Baum hinunter, indem er zu Regel 7 zu- holungsschleife für die Berechnung der Qudratwurzel rückkehrt. erforderlich sowie eine bedingungslose Verzwei-Resel 12 gungsoperation, wenn ein errechneter Wert zweimal s bei der Rechnung verwendet werden soll.
Es wird nun ein /F-Befehl betrachtet: 30 F i g. 3 stellt in Baumform das Befehlsprogramm
a) Wenn der rechte Operand positiv ist, wird wei- und die Eingangsdaten für diese Aufgabe dar. Es sei ter den Baum hinunter gearbeitet unter Ver- angenommen, daß die Befehle und Daten zur Einwendung der Daten des linken Operanden. Das gab? J°Tj *■ τ t*l Be¥unf.!°rSang f°¥ bedeutet, daß die Daten im linken Operand- ™d daß dann die Laufphase eingeleitet wird Fur register 20'in das Befehlsregister 28 übertragen 35 die Zwecke der Beschreibung Se1 auf Fig. 4A und werden, ebenso wie jedes Resultat jeder Rechen- 1* v<™eDiese *}f™ J*den eme symbolische operation in das Befehlsregister übertragen Darstellung der assoziativen Speicher, wobei aufemwlrd. Dann wird die Operation gemäß Regel 7 anderfolgende Speicherregister gefüllt werden. In der fortgesetzt Praxis werden die in Fig. 4A und 4B dargestellten
■■..-'■■ 40 Wörter über die verschiedenen assoziativen Speicher-
b) Rechter Operand negativ: module verteilt.
(i) Es wird nach Wörtern mit Status / nach Beladen
CodeD abgefragt unter Verwendung des „. . . π , ,.,._, . , . „. ,
Gegenstand« aus dem /F-Worf für den Ein freier Rechenmodu trifft auf eine Eingabe-Abfragegegenstand. Jedes Wort wird bei « ™chtung im Bereit-Zustand. Ein Wort wird aus der Entnahme markiert. Aus jedem Wort der Eingabevorrichtung in denι Rechenmodul uberwird ein neues Wort gebildet unter Verwen- fragen. Dies kann z. B das Wort am Boden des dung des Kennfeldes des entnommenen Baums sein d.h. das Wort mit dem Kennwort YL Code-D-Wortes und der Daten aus dem £a dlfes ^ort den Status/hat, wird es gemäß linken Operanden. Das so gebildete Wort 5° Re?e} 1 JmhtlSen Speicher (Ze1Ie 1 Fig. 4A) gewird mit Status T und Status R nach »Zu- f sPei?e^ + und zwar ist der nchtige Speicher vorher erst hinein, zuerst heraus«-Art bezüglich R *ur das betreffende^Wort durch die Programmkomf»- gespeichert. Die Entnahme und die Bildung "erungsoperation ,definiert worden. (Die Adresse des neuer Wörter wird fortgesetzt, bis keine "chügen assozmtiven Speichermoduls erscheint im Übereinstimmung mehr besteht. 55 Speicher^! der Steuerung, wie an anderer Stelle 0 beschrieben ist.)
(ii) Es wird an Hand der Aufgabennummer Nach dem Speichern des Wortes Y1 wird ein zweinach nicht markierten Wörtern mit Status / tes Wort aus der Eingabevorrichtung ausgelesen, und Code D abgefragt und jedes Wort bei Dies kann z. B. das Wort mit dem Kennfeld seiner Entnahme markiert. Aus jedem ent- 60 YIlOlOl sein. Der Status ist wieder /, so daß dieses nommenen Wort wird erneut abgefragt un- Wort im Speicher gespeichert wird (Zeile 2, ter Verwendung des Kennfeldes des ent- Fig. 4A). Nun wird wieder ein Wort aus der Einnommenen Wortes als Kennzeichen für die gabevorrichtung ausgelesen, und zwar wird angeerneute Abfragung, wobei ebenfalls der nommen, daß es das Wort mit dem Kennfeld Status C bei der erneuten Abfragung be- 65 Y1101111 ist. Dieses Wort hat den Status PC und nutzt wird. Das Status-C-Wort wird um- wird — wieder gemäß Regel 1 -— im Speicher gegewandelt in Status Γ und Status R, und speichert (Zeile 3, Fig. 4A). Derselbe Rechenmodul dann wird dieses Wort nach »Zuerst hinein, speichert dann nacheinander alle in dem Baum ge-
25 26
zeigten Wörter. Diese Wörter sind auf den Zeilen 4 kierungen, entleert sich und sucht dann nach neuer
bis 19 von F i g. 4 A dargestellt. Arbeit.
Nach dem Beladen des Speichers mit dem Baum Laufen
stehen die Daten für die Aufgabe an der Eingabevorrichtung zur Verfügung. Es sei angenommen, daß 5 Ein nach Arbeit suchender freier Rechenmodul der Rechenmodul dann das Wort mit Gegenstand T fragt alle Speicher nach jedem Status-i?-Wort gemäß empfängt. Dieses Wort hat den Status C, so daß die Regel 6 ab. In diesem Falle wird angenommen, daß Regel 1 nicht zutrifft, und der Rechenmodul arbeitet das auf Zeile 20 von Fig. 4A gezeigte bereite Datennunweiter nach Regel 2. wort mit dem Kennfeld YlIlOl entnommen wird.
Mit dem Wort mit dem Gegenstand T, das in das io Bei der Entnahme wird der i?-Status im Speicherplatz
Rechenmodul-Befehlsregister 28 eingebracht worden gelöscht. Da es jedoch eine Konstante mit dem
ist, wird durch die Abfragung das Wort entnommen, Status C ist, wird das Datenwort selbst nichtlöschend
dessen Kennfeld FlIlOl auf Zeile 11 von Fig. 4A ausgelesen im Gegensatz zur Löschung des .R-Sym-
gezeigt ist. Aus diesen beiden Wörtern wird nach bols. Dieses Wort wird zum Befehlsregister 28 des
Regel 2 ein neues Wort gebildet und im Speicher ge- 15 Rechenmoduls übertragen und erscheint unter der
speichert (Zeile 20, Fig. 4A). Dieses Wort hat Steuerung des Kennfeldgenerators 36 als der linke
Status R und Status C und ist daher ein »bereites« Operand. Die Kennfelder Y Hill für den rechten
Wort, das zur assoziativen Entnahme durch einen Operanden und YlHl für den Befehl erscheinen
beliebigen freien Rechenmodul zur Verfügung steht. dann im rechten Operandenregister 22 bzw. im Be-
Hätte im Speicher ein altes Status-C-Wort mit diesem 20 fehlsregister 28. Die Entnahme des Status-/-Befehls
gleichen Kennfeld gestanden, wäre es zur Zeit der mit dem Kennfeld Γ1111 (s. Zeile 8, Fig. 4A) ist
Eingabe dieses neuen Wortes gelöscht worden. Zur abgeschlossen. Aber der Versuch, das Status-T-Wort
Vereinfachung wird hier nicht versucht, die Ausfüh- für den rechten Operanden zu entnehmen, ist erfolg-
rung paralleler Operationen zu zeigen. Nach Ab- los. Da der Code in diesem Befehl eine binäre
schluß der Beladungsoperation wird das Status- 25 Operation erfordert, ist der rechte Operand zur Aus-
R-Wort bearbeitet. Da nur ein einziges Status-/-Wort führung des Befehls nötig. Daher kann der Rechen-
mit dem Gegenstandsfeld T vorliegt, wird hierdurch modul diese Operation nicht ausführen und muß
die Beladungsoperation in bezug auf das Wort mit nach Regel 9 den ersten Operanden, in diesem Falle
dem Gegenstandsfeld T abgeschlossen. den linken Operanden, abstoßen. Der Unke Operand
Nun empfängt der Rechenmodul das Wort mit 30 wird daher zum Speicher zurückgeschickt, wo er mit
dem GegenstandK und entnimmt dann das Befehls- StatusR und Status T auf Zeile 26 in Fig. 4B er-
formatwort Y1101011 (Zeile 16, Fig. 4A). Aus die- scheint.
sen beiden Wörtern wird nach Regel 2 ein neues Dieser Rechenmodul (oder ein anderer freier Wort gebildet und im Speicher gespeichert (Zeile 21, Rechenmodul, wenn mehr als ein Rechenmodul zur Fig. 4A). Da wieder nur ein einziges Wort mit dem 35 Verfügung stehen) entnimmt als nächstes das bereite Gegenstand K vorliegt, wird das nächste Wort mit Datenwort mit dem Kennfeld Y1101011 (Zeile 21, dem KennwortX aus der Eingabevorrichtung in den Fig. 4A). Aus dem Kennfeld dieses Wortes, das ein Rechenmodul übertragen. Dieses Wort dient dazu, rechter Operand ist, werden das Kennfeld YIlOlOOl in Verbindung mit den entsprechenden Befehls- des linken Operanden sowie das Befehlskennfeld formatwörtern vier neue im Speicher zu speichernde 40 Y110101 errechnet. Mit Hilfe des neuen Befehls-Wörter zu erzeugen, da der Wert von X an vier Stel- kennfeldes wird das Befehlswort (Kennfeld Y110101) len in dem Programm benötigt wird. Zuerst wird das entnommen, das auf Zeile 2 von Fig. 4A gezeigt ist. Befehlswort YHOOl (Zeile 9, Fig. 4A) entnommen, Dieser Befehl erfordert die binäre Subtraktionsope- und aus ihm wird in Verbindung mit dem Daten- ration und benötigt daher sowohl einen linken Öpeformatwort ein neues »bereites« Wort gebildet, wie 45 randen als auch den zur Zeit verfügbaren rechten es auf Zeile 22 von Fig. 4A gezeigt ist. Mit dem- Operanden. Da die versuchte Entnahme des Staselben Datenformatwort, aber jetzt mit einem Be- tus-T-Wortes mit dem Kennfeld des linken Operanfehlsformatwort, das das Kennfeld Y11010001 hat den in diesem Stadium erfolglos ist, muß der Rechen-(Zeile 17, Fig. 4A), wird das neue »bereite« Wort modul wieder den rechten Operanden abstoßen, der erzeugt und im Speicher gespeichert (Zeile 23, 50 dann erscheint, wie es auf Leitung 27 in Fig. 4B ge-F i g. 4B). zeigt ist. Dieses Wort erhält kein Bereit-Symbol, weil
In gleicher Weise werden die bereiten Wörter, die es ein rechter Operand ist.
auf den Zeilen 24 und 25 von Fig. 4B gezeigt sind, Als nächstes entnimmt ein Rechenmodul das Wort aus diesem selben Datenwort in Verbindung mit den mit dem Kennfeld YIlOOl (Zeile 22, Fig. 4A). Die Befehlswörtern der Zeilen 18 bzw. 19 von Fig. 4A 55 Kennwörter für den rechten Operanden und den Beerzeugt. ' fehl, Y11011 bzw. YIlOl, werden aus dem Kenn-
Diese Befehle werden bei ihrer Entnahme aus dem feld Y11001 errechnet. Wie zuvor steht kein rechter
Speicher markiert. Da der Block nun fertig beladen Operand mit dem Status T zur Verfügung. Daher
ist, wird Regel 4 befolgt, um etwaige weitere Code- wird der linke Operand mit dem Bereit-Symbol abge-
D-Wörter dieser selben Aufgabe zu finden, die im 60 stoßen, wie es auf Zeile 28 von Fig. 4B gezeigt ist.
vorliegenden Beispiel die Aufgabe Nr. 3 ist. In die- Das Wort mit dem Kennfeld Y11010001, das ein
sem Falle sind alle D-Wörter entnommen und mar- linker Operand ist, wird nun entnommen, und aus
kiert worden in Verbindung mit Einführung der seinem Kennfeld wird das Kennfeld Y11010011 für
Daten mit den Kernwörtern T, K und X, und daher den rechten Operanden und das Kennfeld Y1101001
ist keine weitere Operation nach Regel 4 erforder- 65 für den Befehl errechnet, wie es Zeile 15 von
lieh. Nach Abschluß des Beladens fragt nun der Fig. 4A zeigt. Wieder steht kein Status-J-Wort für
Rechenmodul die Speicher nach allen Code-D-Wör- den rechten Operanden zur Verfügung, und da es für
tern ab, entfernt die nach Regel 5 benötigten Mar- die Multiplikationsoperation dieses Befehls nötig ist,
27 28
wird der linke Operand abgestoßen und erscheint, zweigungsoperation hinweist. Daher muß die durch wie auf Zeile 29 von Fig. 4B dargestellt. Regel 11 erforderliche Operation ausgeführt wer-
Nun entnimmt der Rechenmodul das bereite den, bevor weiter den Baum hinunter vorgegangen Datenwort mit dem Kennfeld Y11010011 (Zeile 24, wird. Beim Abfragen im Gegenstandsfeld mit dem Fig. 4B). Dies ist ein rechter Operand mit dem 5 Kennfeld Γ11011 wird das Befehlswort mit dem Datenwert 10. Aus seinem Kennfeld findet der Kennfeld Y111111 entnommen (Zeile 14, Fig. 4A). Rechenmodul das Kennwort des linken Operanden Aus diesem Wort wird ein neues bereites Datenwort Yl 1010001 (Zeile 29, Fig. 4B). Der linke Operand, gebildet unter Verwendung des aus der letzten der als Status-T-Wort gespeichert ist, wird löschend Rechenoperation abgeleiteten Wertes 1,7. Das neue ausgelesen und daher bei der Entnahme gelöscht. Der io Datenwort wird im Speicher gespeichert, wie es Zeile Befehl mit dem Kennfeld Γ1101001 (Zeile 15, 31 (Fig. 4B) zeigt. Da nur eine Verzweigungsopera-Fig. 4A) erfordert die Multiplikationsoperation, und tion angefordert worden ist, fährt der Rechenmodul da nun beide Operanden vorliegen, kann die Opera- nun fort, den Baum hinunter weiterzuarbeiten, wotion in der Recheneinheit 38 ausgeführt werden. Das bei sich der Wert 1,7 jetzt zur Position des rechten Resultat 100 erschemt im Befehlsregister 28 mit dem 15 Operanden bewegt unter Beibehaltung des Kennfel-Kennwort des Befehls. Während sich nun die Opera- des Y11011. Jetzt werden die Kennfelder Y11001 tion von diesem Punkt aus den Baum hinunter be- und YIlOl des linken Operanden bzw. des Befehls wegt, werden jeweils die Resultate der letzten Opera- erzeugt. Die vorläufigen Daten für den linken Opetion der linke Operand für die nächstniedrigere randen, die auf Zeile 28 in Fig. 4B gezeigt sind, Rechenebene und erscheinen im linken Operand- 20 werden erfolgreich aus dem Speicher entnommen, register 20. Das Kennfeld Y1101011 für den rechten und die durch den Befehl auf Zeile 7 (Fig. 4A) anOperanden wird erzeugt. Dieser rechte Operand ist geforderte Subtraktionsoperation wird ausgeführt, in Zeile 27 von Fig. 4B gezeigt, und zwar wird der wonach als Resultat dann der Rest 8,3 aus der Wert 66 löschend ausgelesen und im rechten Ope- Recheneieheit 38 in das Befehlsregister 28 übertragen randregister 22 gespeichert. Außerdem wird das 25 wird.
Kennfeld Y110101 für den Befehl errechnet, und der Wieder erscheint bei der Weiterbewegung den
Befehl, der für die Subtraktion gilt, wie es Zeile 2 Baum hinunter dieses Resultat im linken Operandvon Fig. 4A zeigt, wird aus dem Speicher entnom- register 20 mit dem Kennfeld YIlOl, und die Kennmen. Die Subtraktionsoperation (100—66) wird in felder Y1111 und YlIl werden für den rechten der Recheneinheit 38 ausgeführt, und das Resultat 30 Operanden bzw. für den nächsten Befehl errechnet. 34 erscheint im Befehlsregister 28. Der auf Zeile 6 (Fig. 4A) gezeigte Befehl wird ent-
Bei der Bewegung den Baum hinunter wird das nommen, und zwar betrifft er eine binäre Operation Resultat 34 unter Beibehaltung seines Kennfeldes mit beiden Operanden. Das vorläufige Datenwort für Y110101 in das linke Operandregister 20 einge- den rechten Operanden steht nicht zur Verfügung, bracht. Die Kennfelder Y110111 und Y11011 für 35 und daher wird der linke Operand abgestoßen, wie es den rechten Operanden bzw. den Befehl werden er- Zeile 32 von Fig. 4B zeigt.
rechnet. Der auf Zeile 10 von Fig. 4A gezeigte Be- Nun nimmt ein Rechenmodul das bereite Datenfehl wird entnommen, aber es steht kein Sta- wort mit dem Kennfeld YlIlOl gemäß Zeile 26 von tus-T-Datenwort für den rechten Operanden zur Fig. 4B auf. Da dies ein Status-T-Wort ist, wird es Verfügung. Daher wird der linke Operand abgesto- 40 bei der Entnahme gelöscht. Für den rechten Operanßen (Zeile 30, Fi g. 4B). (Dieses Wort würde tatsäch- den und den Befehl werden die Kennfelder Y Hill lieh im Speicher in dem Speicherplatz erscheinen, der bzw. Y1111 errechnet. Der Befehl für die binäre vorher von dem Wort mit dem Kennfeld Y1101011 Operation gemäß Zeile 8 in Fig. 4A wird entnomgemäß Zeile 27 besetzt war, da dieses löschend ent- men, aber es steht kein Datenwort mit dem Status T nommen worden ist. Zur Vereinfachung der Darstel- 45 zur Verfügung. Daher wird der linke Operand abgelung ist das Wort auf Zeile 30 gezeigt, statt den ver- stoßen (Zeile 33, Fig. 4B), und der Rechenmodul änderten Status auf Zeile 27 zu zeigen.) sucht ein anderes bereites Datenwort. In diesem Fall
Nun wird das bereite Datenwort Y1101101 ent- wird das Wort mit dem Kennfeld Y111111 entnomnommen. Dies ist ein linker Operand, und daher wird men und das Kennfeld Y111101 für den linken Opedas Kennfeld Y1101111 des rechten Operanden er- 50 randen errechnet. Ebenso wird das Kennfeld YHill rechnet. Der rechte Operand ist eine Programmkon- für den Befehl errechnet. Es steht kein linker Opestante (Status PC) und kann gemäß Regel 8 entnom- rand zur Verfügung, aber der Befehl gemäß Zeile 12 men werden. Außerdem wird der Befehl mit dem von Fig. 4A ist die Operation mit unärem absolutem Kennfeld Y110111 entnommen. Dieser erfordert die Wert, die keinen linken Operanden erfordert. Daher Multiplikation von 10 · 2, deren Ergebnis 20 jetzt im 55 findet die Operation in der Recheneinheit 38 statt und Befehlsregister 28 erscheint. ergibt das Resultat 1,7 im Befehlsregister 28, das
In Abwärtsrichtung des Baumes erscheint das Re- jetzt das Kennfeld Y11111 hat.
sultat 20 im rechten Operandenregister 22 mit seinem Bei Fortsetzung der Operation den Baum hinunter
Kennfeld Y110111, und das Kennfeld YHOlOl des erscheint das Resultat 1,7 im rechten Operandregilinken Operanden wird errechnet, und das Sta- 60 ster 22, und das Kennfeld YlHOl für den linken tus-T-Wort (Zeile 30, Fig. 4B) wird löschend ent- Operanden wird errechnet. Entsprechend diesem nommen. Die von dem Befehl mit dem Kennfeld Kennwort wird der auf Zeile 33 von Fig. 4B gezeigte YHOIl (Zeile 10, Fig.4A) angeforderte Opera- linke Operand entnommen, und außerdem wird der tion ist die Division, und daher wird jetzt die Divi- Befehl mit dem Kennfeld YHH (Zeile 8, Fig. 4A) sion in der Recheneinheit 38 ausgeführt. Das Resul- 65 entnommen. Die Subtraktion wird ausgeführt, und tat von 34:20, das gleich 1,7 ist, steht nun im Be- das Resultat von 0,2—1,7, nämlich —1,5, wird aus fehlsregister 28 zur Verfügung. der Recheneinheit 38 zum Befehlsregister 28 über-
. Dieser Befehl hat den Status B, der auf eine Ver- tragen.
Bei Fortsetzung der Operation in Baumabwärtsrichtung erscheint das Resultat —1,5 im rechten Operandregister 22 mit seinem Kennfeld F1111. Das Kennfeld FIlOl wird für den linken Operanden errechnet, und seine Daten (Zeile 32, Fig. 4B) werden löschend entnommen. Der Befehl mit dem Kennfeld Y111 (Zeile 6, Fig. 4A) wird ebenfalls entnommen. Dies ist der /F-Befehl, der gemäß Regel 12 arbeitet. Da der rechte Operand negativ ist, bestimmt Regel 12 (b) die Operation des Befehls.
Beim Abfragen nach Wörtern mit Code D, Status / und Gegenstand X werden vier solche Wörter gefunden. Aus diesen vier Wörtern werden nacheinander neue bereite Datenwörter mit den Kennfeldern FIlOOl,. F11010001, F1101001 und Y1101101 gebildet, wie es die Zeilen 34 bis 37 von Fig. 4B zeigen. In jedem Falle ist der diesen Wörtern zugeordnete Gegenstand der Wert 8,3, der einen verbesserten Wert der Quadratwurzel aus 66 darstellt, deren ursprünglich geschätzter Wert gleich 10 war. Der IF-Befehl bedeutet eine bedingte Verzweigungsoperation, bei der im einen Falle der Zweig den Baum hinunterführt. Aber im vorliegenden Falle verläuft er parallel zu vier verschiedenen Speicherplätzen zurück. Um diese Operation abzuschließen, fragt gemäß Regel 12 (b) (ii) der Rechenmodul mit der Aufgabennummer nach unmarkierten Wörtern mit Status / und Code D ab. Das erste solche Wort, das entnommen wird, ist ein Wort mit dem Kennfeld Y11101 (Zeile 11, Fig. 4A). Beim erneuten Abfragen mit seinem Kennfeld nach einem Status-C-Wort wird das Wort gemäß Zeile 20 von Fig. 4A entnommen. Unter Abänderung seines Status in Status T wird dieses Wort dann als bereites Datenwort nach »Zuerst hinein, zuerst heraus«-Art bezüglich R gespeichert, wie es Zeile 38 von Fig. 4B zeigt. In gleicher Weise wird das neue bereite Wort mit dem Kennfeld Y1101011 aus den auf den Zeilen 16 und 21 von Fig. 4A gezeigten Wörtern gebildet, und das neue Wort wird gespeichert, wie es Zeile 39 von Fig. 4B zeigt. Jetzt entleert sich der Rechenmodul und sucht nach neuer Arbeit.
Als nächstes findet ein Rechenmodul das bereite Datenwort mit dem Kennfeld Y11001 gemäß Zeile 34 von Fig. 4B. Dies ist ein linker Operand, und nach Errechnen des Kennfeldes für den rechten Operanden ist die versuchte Entnahme des dem errechneten Kennwort entsprechenden rechten Operanden erfolglos. Da es sich um eine binäre Operation handelt, wird der linke Operand gemäß Regel 9 gespeichert und erscheint nun, wie es Zeile 40 von Fi g. 4 B zeigt. Dann entnimmt der Rechenmodul das bereite Wort Y11010001. Da dies ein linker Operand ist, erscheint dieses Kennfeld nun im linken Operandregister mit dem Wert 8,3. Das Kennfeld Y11010011 für den rechten Operanden wird errechnet, und das auf Zeile 36 von Fig. 4B gezeigte Status-T-Wort wird erfolgreich entnommen und gibt den Wert 8,3 für den rechten Operanden. Das Kennfeld für den Befehl wird ebenfalls als FIlOlOOl errechnet, und dieser Befehl (Zeile 15, Fig. 4A) wird aus dem Speicher entnommen. Die Multiplikationsoperation gemäß diesem Befehl wird ausgeführt, und das Ergebnis 68,89 erscheint im Befehlsregister 28. Der Wert 68,89 geht dann mit seinem Kennfeld in das linke Operandregister 20, während die Operation den Baum hinunter weitergeht, und das Kennfeld F1101011 für den rechten Operanden wird errechnet. Das auf Zeile 39 von Fig. 4B gezeigte Status-T-Wort wird aus dem Speicher entnommen. Der Befehl (Zeile 2, Fig. 4A) mit dem Kennfeld F110101 wird ebenfalls aus dem Speicher entnommen. Dieser Befehl betrifft die Subtraktionsoperation, die in der Recheneinheit ausgeführt wird und das Resultat 2,89 im Befehlsregister 28 ergibt.
In Abwärtsrichtung des Baumes erscheint der Wert 2,89 im linken Operandenregister 20, und das Kennfeld F110111 für den rechten Operanden wird gebildet. Es gibt kein dem rechten Operandkennfeld entsprechendes Starus-T-Wort. Die an dieser Stelle aufgerufene Operation ist bie binäre Division, wie es der Befehl mit dem Kennfeld F11011 auf Zeile 10 von Fig. 4A zeigt, der aus dem Speicher entnommen wird. Daher wird der linke Operand abgestoßen als bereites Datenwort mit dem Wert 2,89 und dem Kennfeld FIlOlOl, wie es Zeile 41 von Fig. 4B zeigt.
Als nächstes entnimmt ein Rechenmodul das bereite Datenwort mit dem Kennfeld F1101101 (Zeile 37, Fig. 4B). Dies erscheint als der linke Operand mit dem Wert 8,3. Aus diesem Kennfeld werden die Kennfelder F1101111 und F110111 für den rechten Operanden bzw. für den Befehl errechnet. Der rechte Operand kann entnommen werden, da er ein Status-PC-Wort ist (Zeile 3, Fig. 4A). Ebenso wird der Befehl (Zeile 13, Fig. 4A) entnommen. Die aufgerufene Multiplikation wird in der Recheneinheit 38 ausgeführt, und das Resultat 16,6 erscheint im Befehlsregister 28.
In Abwärtsrichtung des Baumes erscheint der Wert 16,6 als rechter Operand, und von seinem Kennwort werden die Kennfelder FIlOlOl und F11011 für den Unken Operanden bzw. den Befehl abgeleitet. Das Status-T-Wort (Zeile 41, F i g. 4B) für den linken Operanden mit dem Wert 2,89 wird erfolgreich aus dem Speicher entnommen.
Ebenso wird der Befehl gemäß Zeile 10 von F i g 4 A entnommen. Die Divisionsoperation gemäß diesem Befehl wird in der Recheneinheit 38 ausgeführt, und zwar wird 2,89 durch 16,6 dividiert und ergibt das Resultat 0,17. Dieser Befehl ist ein Verzweigungsbefehl mit dem Status B. Daher wird, bevor weiter den Baum hinunter vorgegangen wird, ein neues bereites Datenwort gemäß Regel 11 gebildet. Dieses wird mit Wert 0,17 und Kennfeld F111111 gespeichert (Zeile 42, F i g. 4B).
In Abwärtsrichtung des Baumes erscheint nun der Wert 0,17 im rechten Operandregister 22, während das linke Operandregister 20 mit dem Kennfeld FIlOOl den Wert 8,3 enthält, wie er aus dem Speicher entnommen wird (Zeile40, Fig. 4B). Das Befehlsregister 28 enthält das Kennfeld FIlOl und den aus dem Speicher entnommenen Subtraktionsbefehl (Zeile 7, Fig. 4A). Das Resultat 8,13 der Subtraktionsoperation wird aus der Recheneinheit 38 in das Befehlsregister 28 übertragen.
Bei der Weiterbewegung den Baum hinunter wird der linke Operand (Zeile43, Fig. 4B) im Speicher gespeichert. Da der entsprechende rechte Operand nicht zur Verfügung steht, wie es die binäre Operation erfordert, wird dieser linke Operand zum Speicher zurückgeführt. Als nächstes findet ein Rechenmodul das breite Datenwort mit dem Kennfeld FlIlOl und dem Wert 0,2 (Zeile38, Fig. 4B). Dieses Wort erscheint im linken Operandregister 20, und wieder wird der benötigte rechte Operand nicht gefunden. Daher wird dieser linke Operand mit Speicher
mit dem Kennfeld Γ11101 und dem Wert 0,2 gespeichert.
Nun entnimmt ein freier Rechenmodul das bereite Datenwort mit dem Kennfeld F111111 und dem Wert 0,17 (Zeile42, Fig. 4B). Dieses erscheint als rechter Operand, und obwohl der entsprechende linke Operand nicht als Status- Γ-Wort gefunden wird, wird der Befehl mit dem Kennfeld Γ Hill (Zeüe 12, Fig. 4A) aus dem Speicher entnommen. Der Befehl erfordert die unäre Operation des Auffindens des absoluten Wertes. Daher ist der linke Operand nicht nötig, und die Recheneinheit 38 überträgt den Wert 0,17 zurück in das Befehlsregister 28.
Dieser Wert 0,17 erscheint im rechten Operandregister 22 mit demKennfeld F Hill, wenn die Operation wieder den Baum hinunter fortgesetzt wird. Nach dem Errechnen des linken Operandkennfeldes FlHOl wird das Status-Γ-Wort mit dem Wert 0,2 (Zeile44, Fig. 4B) aus dem Speicher entnommen. Das Befehlswort mit dem Kennfeld Fllll (Zeile 8, Fig. 4A) erfordert die Subtraktionsoperation, und die Recheneinheit 38 führt diese Operation aus und schickt das Resultat 0,03 zum Befehlsregister 28.
Bei Fortsetzung der Operation den Baum hinunter wird der Befehl mit dem Kennfeld FlH (Zeile 6, Fig. 4A) zusammen mit dem linken Operanden mit Speicher entnommen. Der Befehl mit dem Kennfeld FIlOl (Zeile 43, Fig. 4B) aus dem Speicher entnommen. Der Befehl mit dem Kennfeld FlH ist ein /F-Befehl und ist gemäß Regel 12 (a) wirksam, da der rechte Operand positiv ist, was zeigt, daß die Wiederholung den Punkt erreicht hat, wo ein genügend genauer Wert für die Quadratwurzel aus 66 errechnet worden ist. Daher wird der Wert 8,13 aus dem linken Operandenregister 20 heraus übertragen und erscheint nun im Befehlsregister 28 mit dem Kennfeld F111 und geht dann zum rechten Operandregister 22. Das Kennfeld F101 für den linken Operanden wird aus dem Kennfeld FHl errechnet. Die Programmkonstante mit dem Status PC und dem Wert 6 gemäß Zeile 5 von Fig. 4A wird durch das erzeugte Kennfeld FHl entnommen. Ebenso wird der Befehl mit dem Kennfeld FIl gemäß Zeile 4 von Fig. 4A aufgefunden. Dieser Befehl erfordert die Subtraktion 6 — 8,13 mit dem Resultat - 2,13.
Schließlich erscheint bei der Fortsetzung der Operation in Abwärtsrichtung des Baums der Wert —2,13 mit dem Kennfeld F H im rechten Operandenregister 22, und es wird ein linker Operand mit dem Kennfeld F 01, Status T, zusammen mit einem Befehl mit dem Kennfeld Fl gesucht. Dieser Befehl (Zeile 1, F i g. 4 A) wird aus dem Speicher entnommen, und da er die unäre Operation des Auffindens des absoluten Wertes betriff ζ wird die Operation in der Recheneinheit 38 ausgeführt, obwohl kein Unker Operaid entnommen wird. Daher ist das Endresultat gleich 2,13.
Wenn der Rechenmodul versucht, weiter den Baum hinunter vorzugehen, stellt der Kennfeldgenerator fest, daß diese Resulte den Boden eines Baumes darstellen, und daher wird das Resultat gemäß Regel 13 zur Ausgabevorrichtung übertragen.
Rechenmodul-Ausgabemultiplexeinheit
Die Rechenmodul-Ausgabemultiplexeinheit 30 von Fig. 2B ist in Fig. 9A, 9B und 9C genauer dargestellt. Fig. 9A zeigt die Datenwege für die Übertragung von Daten zwischen den Rechenmodulen und den Eingabereihenspeichern 44 (Fig. 2A) zusammen mit den Toren zum Steuern dieser Übertragung. Fig. 9B und 9C stellen die Steuerlogik zum Betreiben der in F i g. 9 A gezeigten Datenwegtore dar.
Die Rechenmodul-Ausgabemultiplexeinheit gestattet es, gleichzeitig über getrennte Kanäle eine große Datenmenge aus verschiedenen Rechenmodulen in verschiedene Speicherdateneingabereihen ohne gegenseitige Störung zu übertragen. Es wird angenommen, daß eine feststehende Zahl von Kanälen in dem Systern vorgesehen ist, und die Figuren zeigen insgesamt E Kanäle, von denen die Kanäle 1, 2 und E dargestellt sind. Die Zahl der verwendeten Rechenmodule kann bis zu irgendeiner feststehenden Maximalzahl verschieden sein. In den Zeichnungen wird angenommen, daß N Rechenmodule angeschlossen sind, von denen die Module 1, 2 und N dargestellt sind. Das System ist so wandlungsfähig, daß weitere Rechenmodule der feststehenden Zahl von Kanälen hinzugefügt werden können. Die Zahl der assoziativen Speicher kann bis zu einer feststehenden Maximalzahl reichen. In dem hier gezeigten Beispiel sind M assoziative Speichermodule enthalten, und Schaltungen sind für die assoziativen Speicher 1, 2 und M dargestellt. Im Falle der assoziativen Speichermodule zeigen die Rechenmodul-Ausgabemultiplexschaltungen Eingänge zu den Speichereingabedatenreihen, die an Hand von F i g.. 11 im einzelnen beschrieben werden.
Die in Fig. 9A angedeuteten Datenwege sind durch eine einzige Linie und durch einzelne logische Blöcke dargestellt, die für eine Vielzahl paralleler Wege und Schaltungen stehen. Jedes über diese Wege zu übertragende Wort besteht aus vielen Bits, die parallel übertragen werden. Das Wort umfaßt die in Fig. 5A und 5B gezeigten Felder sowie die Steuerinformationen. Hier ist die Steuerinformation diejenige, die insbesondere erforderlich ist, um das ganze Wort richtig zu lenken und um die Befehle zum assoziativen Speicher zu senden.
Zwei Hauptübertragungsarten sind mit Hilfe der Rechenmodul-Ausgabemultiplexeinheit möglich. Im einen Falle werden Wörter, die in einem Rechenmodul als das Ergebnis der Ausführung eines Programms gebildet werden, in einem assoziativen Speieher gespeichert. Daher erfordert die Übertragung Steuerinformationen, die den assoziativen Speicher bezeichnen, in dem das Wort gespeichert werden soll, und Befehle an den assoziativen Speichermodul, die besagen, was mit dem Wort geschehen soll. Im zweiten Falle sendet ein Rechenmodul, der ein Wort aus einem assoziativen Speicher anfordert, seine Anforderung aus dem Rechenmodul über die Rechenmodul-Ausgabemultiplexeinheit zu einem ausgewählten assoziativen Speicher. In diesem Falle bezeichnet die Steuerinformation den richtigen Rechenmodul, sendet Befehle zum assoziativen Speichermodul bezüglich der Funktion, die er ausführen soll, und liefert die nötigen Informationen zur Zurückleitung der Ausgangsinformation des assoziativen Speichers zu dem richtigen Register in dem Rechenmodul. Diese rückgeleiteten Informationen werden über die Speicher-Ausgabemultiplexeinheit 12 von Fig. 2A geleitet, die in Verbindung mit Fig. 1OA und 1OB näher beschrieben wird.
Nachstehend wird nun die Wirkungsweise der Rechenmodul-Ausgabemultiplexeinheit für den ersten Fall beschrieben, d. h., wenn ein Rechenmodul Informationen in einen Speicher überträgt. Es sei ange-
209 540/316
nommen, daß ein Rechenmodul, ζ. Β. Modul 2, den linken Operanden gemäß Regel 9 abstoßen muß.. Er führt seinem Ausgaberegister 86 (Fig. 9A) das gesamte Wort aus dem linken Operandenregister 20 einschließlich des Kennfeldes mit seinen Indexen, der in diesem Stadium des Rechenvorgangs errechneten Daten und des Status T zu, der von der Rechner-Programmsteuereinheit 26 von Fig. 2B geliefert wird, wie es die Regel 9 erfordert. Außerdem wird dem Ausgaberegister die Adresse des Speichers zugeführt, in dem das Wort gespeichert werden soll, welches vom Speicheradressengenerator 24 von Fig. 2B geliefert wird. Weitere Steuerinformationen werden von der Speichersteuerinformationseinheit 42 von Fig. 2B geliefert. Im besonderen liefert diese den Befehl Speichern »Zuerst hinein, zuerst heraus« bezüglich R gemäß Regel 9. Außerdem sei angenommen, daß dieses Unke Operandwort in dem assoziativen Speichermodul M gespeichert werden muß.
Dieses gesamte Wort einschließlich der Steuerinformationen, das im Ausgaberegister 86 (Fig. 9A) zusammengestellt ist, wird durch ein Signal auf Leitung 90, das aus dem Systemtaktgeber von Fig. 2A abgeleitet ist, in ein Pufferregister 88 gesteuert. Ein Signal CR2 auf einer Leitung 92 entsteht dadurch, daß ein Ausgangsimpuls im Pufferregister 88 vorliegt. Dieses Signal zeigt an, daß der Rechenmodul 2 eine Anforderung zur Übertragung über die Rechenmodul-Ausgabemultiplexeinheit vorliegen hat. Das Signal CR2 wird als Eingangssignal den Und-Schaltungen 94, 96, 98 vonFig. 9B zugeführt.
Ein Signal CZi2, welches das Komplement des Signals CjR2 ist, ist in diesem Falle auf einer Leitung 100 nicht vorhanden. Das Signal CZi2 wird den Und-Schaltungen 102, 104 und 106 in Fig. 9B zugeführt. Es seien zwei Fälle betrachtet, und zwar sei zuerst angenommen, daß auch im Rechenmodul 1 eine Anforderung vorliegt, die zu der Rechenmodul-Ausgabemultiplexeinheit geht, wie es das Vorliegen eines Signals CR1 auf einer Leitung 108 anzeigt. Das Signal CR1 wird einem Eingang der Und-Schaltungen 110, 112 und 114 von Fig. 9B zugeführt. Ein SignalCTC1 auf Leitung 116, welches das Komplement des Signals CR1 ist, speist die Und-Schaltungen 118, 120 und 122. Im vorliegenden Falle liegt kein Signal auf dieser Leitung; daher wird die Und-Schaltung 118 nicht betätigt, und es existiert kein Signal auf Leitung 124. Daher kann die Und-Schaltung 94 nicht arbeiten, da sie dazu Eingangssignale auf ihren beiden Leitungen 92 und 124 benötigt. Mit anderen Worten, der Rechenmodul 1 hat gegenüber dem Rechenmodul 2 den Vorrang gewonnen beim Versuch, den Kanal 1 auszuwählen. Das Ausgangssignal der Und-Schaltung 94, wenn es vorgelegen hätte, wäre als Signal 12 C einer Leitung 126 zugeführt worden, um eine Und-Schalrung 128 in Fig. 9A zu betätigen, damit Daten auf Kanal 1 übertragen werden. Da der Rechenmodul 1 ein Signal 11C auf eine Leitung 130 über die Und-Schaltung 110 übertragen hat, die in Verbindung mit dem Signal auf einer Leitung 132 aus dem Taktgeber 412 (Fig. 2A) betätigt worden ist, wird eine Oder-Schaltung 134 (Fig. 9B) betätigt und schickt einen Torimpuls zu der Und-Schaltung 96, der in Verbindung mit dem Signal CR2 auf Leitung 92 die Und-Schaltung 96 betätigt, so daß sie das Signal 22 C auf Leitung 136 erzeugt. Das Signal 22 C ist das Steuersignal für eine Und-Schaltung 138 (Fig. 9A), die jetzt betätigt wird, um die Information aus dem Pufferregister 88 über die Oder-Schaltungen 142 zu den Leitungen 140 des Kanals 2 zu übertragen. Bis hierher ist gezeigt worden, daß die Information aus dem Rechenmodul 2 über Kanal 2 gesteuert wird, weil der Rechenmodul 1 gegenüber dem Rechenmodul 2 den Vorrang bei der Auswahl des Kanals 1 gewonnen hat.
Die Ausgangsleitungen der Oder-Schaltungen 142, die den Speicheradressenteil des Wortes führen, sind an eine Kanal-2-Speicheradressen-Decodierschaltung 144 über Leitungen 146 angeschlossen. Da die vom Rechenmodul aus dem Speicheradressengenerator 24 (Fig. 2B) gelieferte Speicheradresse die Speicherung der Informationen im Speicher M erfordert, erzeugt die Kanal^-Speicheradressen-Decodiereinheit 144, die die Informationen in herkömmlicher Weise bearbeitet, ein Ausgangssignal D IM auf einer Leitung 148. Die jetzt auf Kanal 2 verfügbaren Informationen müssen unter der Voraussetzung zum Eingabereihenspeicher 44 M übertragen werden, daß für ihre Speicherung ein Leerplatz in der Reihe vorhanden ist. Wenn der Reihenspeicher 44 M einen Leerplatz aufweist, liegt ein Signal »Eingabereihenspeicher frei machen« auf einer Leitung 150 (F i g. 9 C), das in Verbindung mit dem Signal auf einer Leitung 152 aus dem Taktgeber 412 (Fig. 2A) eine Und-Schaltung 154 betätigt. Wenn die Informationen auf Kanal 1 nicht für den Speicher M bestimmt sind, befindet sich kein DIM-Signal auf einer Leitung 156, das in ähnlicher Weise wie das Signal D2M erzeugt wird. Durch das Fehlen des Signals DlM würde in diesem Falle eine Und-Schaltung 158 nach Inversion durch einen Inverter 160 wirksam gemacht. Daher wird die Und-Schaltung 158 wegen des Vorliegens des Ausgangssignals der Und-Schaltung 154 betätigt. Das Ausgangssignal der Und-Schaltung 158 auf Leitung 162 betätigt nun in Verbindung mit dem Signal D 2 M auf Leitung 148 eine Und-Schaltung 164, die das Signal 2MQ auf einer Leitung 166 erzeugt.
Das Signal 2MQ hat drei Funktionen. In F i g. 9 A betätigt es die Und-Schaltungen 168, um die auf Kanal 2 (Leitungen 140) vorliegenden Informationen 90, das aus dem Systemtaktgeber von Fig. 2A abüber Oder-Schaltungen 170 zu dem Eingabereihenspeicher 44 M zu leiten. Weiter liefert das Signal 2MQ das Signal »CFM speichern« auf einer Leitung 172 über eine Oder-Schaltung 174. Wie die Informationen tatsächlich in dem Reihenspeicher gespeichert werden, wird an Hand von Fi g. 11 erläutert.
Zunächst sei die dritte Funktion des Signals 2MQ erläutert. Wenn ein Rechenmodul versucht, eine Anforderung zu einem Speichermodul zu übertragen, kann es sein, daß er keinen Erfolg hat entweder, weil er vielleicht nicht imstande ist, einen unbenutzten Kanal zu finden, oder weil er selbst nach dem Finden eines Kanals zur Übertragung der Informationen nicht imstande ist, in die Datenreihe des erforderlichen Speichermoduls hineinzukommen. Wenn die Übertragung erfolglos ist, versucht der Rechenmodul sie erneut im nächsten Vorumlauf, da sein Anforderungssignal CR2 auf Leitung 92 (Fig. 9A) noch vorliegt. Wenn aber alle Bedingungen für eine erfolgreiche Übertragung der Informationen erfüllt sind, muß er jedoch das Anforderungssignal CR2 abschalten. Diese Abschaltoperation wird durch das Signal 2MQ auf Leitung 166 (Fig. 9C) eingeleitet. Bei jeder abgeschlossenen Operation auf Kanal 2, in diesem Falle der Operation des Übertragens zum Reihenspeicher 44 M, wird ein Impuls durch die Oder-
Schaltung 175 gesendet, die dann das Ausgangssignal C2 auf Leitung 176 (Fig. 9B) erzeugt, das die Und-Schaltungen 178, 180 und 182 wirksam macht. Im vorliegenden Falle liegt auch auf der anderen Eingangsleitung 136 der Und-Schaltung 180 ein Signal, wie oben erläutert. Daher erzeugt die Und-Schaltung 180 das Ausgangssignal CF 2, das über eine Oder-Schaltung 184 ein Flipflop im Ausgabepufferregister 86 (Fig. 9 A) in denO-Zustand zurückstellt. Im nächsten Umlauf wird, falls der Rechenmodul 2 keine neue Anforderung hat, das Anforderungsbit des Pufferregisters 86 entsprechend in den O-Zustand rückgestellt und dadurch das Signal CA2 abgeschaltet. Hierdurch wird verhindert, daß der Rechenmodul 2 versucht, dieselbe Anforderung zu reaktivieren, und außerdem wird dadurch dem Rechner mitgeteilt, daß eine neue Ausgabeanforderung in das Pufferregister 88 eingegeben werden kann.
Im vorstehenden Beispiel ist angenommen worden, verschiedenen Operationstypen und die Zusammenstellung dieser Daten werden in Verbindung mit den Rechenmodulausgängen (Fig. 16) noch im einzelnen erläutert. Hier sei nun als Beispiel angenommen, daß der Rechenmodul 2 entsprechend Regel 8 einen rechten Operanden aus dem Speicher M entnimmt. In diesem Falle gibt der aus der Rechen-Programmsteuereinheit von« Fig. 9B kommende Befehl an den assoziativen Speichermodul eine löschende Entnahme mit Abfragung bezüglich Aufgabennummer, Status und Kennfeld mit Indexen an. Außerdem liefert die Rechenprogrammsteuereinheit 26 den Status T oder PC für diese Abfragung. Das im rechten Qperandenregister22 erscheinende Kennfeld wird ebenfalls im Rechenmodulausgaberegister 80 (Fig. 9A) zur Übertragung für die Abfragung zusammengestellt. Außerdem liefert die Rechner-Programmsteuereinheit den Befehl, daß das Codefeld und der Gegenstand mit seinen Anhängen für die Abfragung abgedeckt wer-
daß auch der Rechenmodul 1 eine Anforderung hatte 20 den müssen. Der Speicheradressengenerator 24 liefert
und dadurch den Ausgangskanal belegte und den Rechenmodul 2 daran hinderte, zum Speichermodul 2 zu übertragen. Nun sei angenommen, daß der Rechenmodul 1 zur Zeit des Erscheinens des Signals auf Leitung 132 (Fig. 9B) keine Anforderung aufweist. Wenn keine Anforderung vorliegt, liegt ein Signal CR1 auf der Leitung 166, das zusammen mit dem Signal GATTE die Und-Schaltung 118 betätigt, so daß diese ein Signal auf Leitung 124 erzeugt. Dieses Signal betung 126 erzeugt. Das Signal 12 ist ähnlich wie das oben beschriebene Signal 22 C wirksam, um die jetzt im Pufferregister 88 stehenden Informationen auf Kanal 1 statt auf Kanal 2, wie es im vorhergehenden Beispiel der Fall war, zu übertragen. Eine Kanal-1-Speicheradressenendecodiereinheit 186 (Fig. 9 A) erzeugt ein Signal D IM auf Leitung 156, durch das die Speicherung der Informationen in der Speicher-
die Adresse M des assoziativen Speichermoduls 16 M (Fig. 2A), an den die Anforderung gerichtet werden soll. Da die Anforderung aus dem Rechenmodul 2 kommt, enthält ein feststehender Teil des Befehls die 35 Information, daß das Resultat der Abfragung zum Rechenmodul 2 zurückzuübertragen ist. Da ein rechter Operand benötigt wird, wird auch eine Information übertragen, die besagt, daß die Rückübertragung der Information aus dem Speicher über den Operandtätigt zusammen mit dem Signal CR2 auf Leitung 92 30 puffer 18 (Fig. 2B) zum rechten Operandregister erdie Und-Schaltung 94, die ein Signal 12 C auf Lei- folgen muß.
Die Rechenmodul-Ausgabemultiplexeinheit arbeitet genauso, wie es für den ersten Fall beschrieben worden ist. Ein verfügbarer Kanal wird ausgewählt, und falls die Speichereingabedatenreihe des Speichers M nicht vollständig besetzt ist, wird die Anforderung dieser Reihe zugeführt, und das Ausgaberegister 86 (F i g. 9 A) wird freigegeben, so daß der Rechenmodul seine nächste Anforderung stellen kann, die den ge-
eingabedatenreihe44M über Schaltungen ähnlich den 40 maß Regel 8 benötigten Befehl betrifft. Ein gewisser beim vorausgegangenen Beispiel beschriebenen ein- Teil der Steuerinformationen dieser Anforderung
muß jedoch zusammen mit dem entnommenen Wort übertragen werden, damit dieses zu dem richtigen
geleitet wird.
Nun wird beschrieben, wie die Rechenmodul-Ausgabemultiplexeinheit im zweiten Falle arbeitet, d. h., wenn ein Rechenmodul zum Speicher eine Anforde- 45 übertragen wird, rung nach einem Informationswort sendet, das ihm wieder zugeführt werden soll. Hier wie im ersten Falle definiert der Steuerteil des übertragenen Wortes nicht nur den Namen des Speichers, zu dem die Anforderung gesteuert werden soll, sondern er gibt 50 auch den Namen des die Anforderung sendenden Rechenmoduls sowie den Namen des Pufferregisters in dem Rechenmodul, das die Informationen empfangen soll, an. Bei Rückübertragung der Informationen zu einem Operandregister muß er außerdem angeben, 55 ob das linke Operandregister 20 oder das rechte Operandregister 22 (Fig. 2B) die Informationen empfangen soll. Eine weitere Steuerinformation, die geliefert werden muß, ist der Befehl an den Speicher, eine bestimmte Funktion auszuführen. In diesem Falle gibt 60 ebenfalls ein Teil dieses Befehls an, welche Felder für die Speicherabfrageoperation abgedeckt werden müssen, was je nach den Erfordernissen des Falles durch die Rechen-Programmsteuereinheit 26 (Fig. 2D) ge
rechten Operandregister 22 im Rechenmodul zurück-
Speicherausgabemultiplexschaltung
Jetzt kann die Speicherausgabemultiplexschaltung 12 (Fig. 2A) im einzelnen an Hand von Fig. 1OA und 1OB beschrieben werden. Fig. 1OA zeigt die Datenwege für die Datenübertragung aus den assoziativen Speichermodulen zu den Rechenmodulen und die Tore, die die Übertragungen steuern. Fig. 1OB zeigt die Steuerlogik, die die Datentore von Fig. 1OA steuert.
Die Speicherausgabemultiplexschaltung gestattet es mehreren assoziativen Speichern, gleichzeitig Informationen parallel über mehrere Kanäle zu mehreren Rechenmodulen zu übertragen.
Wie bereits in Verbindung mit der Rechenmodul-Ausgabemultiplexschaltung 30 von Fig. 2B erläutert worden ist, sind die Ausgabesignale eines assoziativen Speichermoduls das Ergebnis einer aus einem Rechenmodul stammenden Anforderung. Die Anforderungs-
mäß den Regeln 2, 4, 6, 8, 11 oder 12 (b) bestimmt 65 information bezeichnet den assoziativen Speicher, aus wird. Diese Informationen werden von der Speicher- dem die Informationen entnommen werden müssen, Steuerinformationseinheit 42 (Fig. 2B) zusammengestellt und in das Ausgaberegister eingeführt. Die
und liefert Abfrageinformationen als Grundlage für die Abfragung des assoziativen Speichers. Außerdem
37 38
bezeichnen die vom Rechenmodul gelieferten Infor- Wenn jedoch die Übertragung auf einem vsrfügbaren mationen den Rechenmodul und das Pufferregister Kanal eingeleitet worden ist, wie es hier der Fall ist, innerhalb dieses Moduls, das die Ausgangssignale des schaltet das Signal MF 2 das Flipflop im Ausgabeassoziativen Speichermoduls empfangen soll. Als Bei- register 194 (Fig. 10A) ab. Beim nächsten Torspiel für die Wirkungsweise der Speicherausgäbe- 5 impulsumlauf wird, falls der assoziative Speichermultiplexschaltung sei angenommen, daß ein Rechen- modul 2 keine neue Anforderung aufweist, das Anmodul (1)188 (Fig. 10A) einem assoziativen Spei- forderungsbit des Pufferregisters 198 entsprechend chermodul (2)190 (Fig. 10A) eine Anforderung zu- abgeschaltet, wodurch das Signal Mi?2 abgeschaltet gesandt hat, daß ein Datenwort zum rechten Ope- wird. Hierdurch wird auch das Ausgaberegister 194 randregister 22 (Fig. 2B) über ein Operandpuffer- io für ein neues Ausgangssignal des assoziativen Speiregister (1)18 (Fig. 10A) übertragen werden soll. chers 2 verfügbar gemacht.
Wenn der assoziative Speichermodul (2) 190 das rieh- Hätte der assoziative Speicher 1 die Verwendung
tige Wort für die Anforderung gefunden hat, wird von Kanal 1 angefordert, so wäre ein Signal UM auf dieses in einem Ausgaberegister 194 zusammen mit einer Leitung 246 (Fig. 10B) in einer Weise erzeugt der Information gespeichert, die über das Operand- 15 worden, die der bezüglich des Signals 12 M auf Leipufferregister (1) 18 zum rechten Operandregister 22 tung 228 beschriebenen entspricht. Weiter hätte in des Rechenmoduls (1) 188 zurückübertragen werden diesem Falle das Signal MRl die Und-Schaltung 212 muß. Wenn das Ausgaberegister 194 Informationen an der Erzeugung des Signals 12 M gehindert. Das enthält, werden diese durch ein Signal auf der Aus- Signal UM hätte jedoch über eine Oder-Schaltung gangsleitung 196 (Fig. 10A) des Systemtaktgebers 20 248 dann die Und-Schaltung 214 betätigt, so daß 412 (Fig. 2A) zu einem Pufferregister 198 (Fig. 10A) diese das Signal 22M auf Leitung 250 erzeugt hätte, übertragen. Diese Informationen erscheinen auf den um die Übertragung der Information aus dem asso-Leitungen 200, um die Und-Schaltungen 202, 204 ziativen Speichermodul 2 auf Kanal 2 zu gestatten, und 206 wirksam zu machen. Außerdem erscheint ein Die Decodierung für den Rechner würde dann in Signal MR 2 auf einer Leitung 208, und sein Komple- 25 ähnlicher Weise wie der oben beschriebenen vor sich mentsignal MR2 auf der Leitung 210 (Fig. 10A) gehen, aber in diesem Falle in einer Decodiereinheit wird beseitigt. Gemäß Fig. 1OB speist das Signal 252 (Fig. 10A).
Mi? 2 auf Leitung 208 die Und-Schaltungen 212, 214 Wäre in einem anderen Falle die Information zum
und 216, deren Funktion es ist, einen verfügbaren Befehlspufferregister (1) 14 (Fig. 2B) zurückzuüber-Kanal zu bestimmen. 30 tragen, so würde die Decodiereinheit 236 in ähnlicher
Wenn angenommen wird, daß der assoziative Spei- Weise vorgehen, würde aber ein Signal 11/ auf einer chermodul 1 keine Informationen in seinem Puffer- Leitung 254 statt des Signals HOP auf Leitung 238 register 218 enthält, liegt ein Signal Mi?l auf der Lei- erzeugen. Hierdurch würde die Information von den tung 220 (Fig. 10A). In Fig. 1OB betätigt dieses Leitungen 230 aus durch die Und-Schaltungen 256 Signal zusammen mit einem Signal auf Leitung 222 35 und die Oder-Schaltungen 258 in das Befehlspuffereine Und-Schaltung224, die ein Signal auf Leitung register (1)14 (Fig. 2B) gebracht werden. 226 erzeugt, welches in Verbindung mit dem Signal
Mi? 2 auf Leitung 206 die Und-Schaltung 212 be- Eingabereihenspeicher
tätigt, so daß diese ein Signal 12 M auf Leitung 228
(Fig. 10B) erzeugt. Das Signal 12M betätigt nun die 40 Die Eingabereihenspeicher 44 bis 44M von Fig. Und-Schaltungen202 (Fig. 10A), so daß die jetzt 2A werden nun genauer in Verbindung mit Fig. 11 auf den Leitungen 200 vorliegenden Informationen beschrieben. In der hier vorgeschlagenen Form bildet über Oder-Schaltungen 232 auf die Kanalleitungen ein Eingabereihenspeicher ein Mittel zum vorüber-230 gelangen. Die Leitungen 230 führen zu den gehenden Festhalten von Anforderungen nach zu Schaltungen, die die Informationen in den Rechen- 45 leistender Arbeit in einem assoziativen Speichermodul 1 leiten sollen. Die Leitung 230 leitet diese modul. Dies ermöglicht den Ausgleich von Arbeits-Modul- und Pufferinformationen auch zu einer Ka- belastungen, wenn die Aufgabenberechnung mehrere nal-1-Decodiereinheit 236, die ein Ausgangssignal er- Zugriffe zu einem bestimmten assoziativen Speicherzeugt, bei dem es sich in diesem Falle um das Signal modul innerhalb kurzer Zeit erfordert. Diese An-HOP auf Leitung 238 handelt. Das Signal HOP be- 50 forderungen werden in die Datenreihe hineingepuffert tätigt zusammen mit Signalen auf dem Leitungen 230 und auf der Basis »Zuerst da, zuerst bedienen« dem die Und-Schaltungen 240, damit diese über Oder- assoziativen Speichermodul zugeführt. Die Datenreihe Schaltungen242 Informationen zum OperandpuSer- besteht aus Q-Registern, von denen in Fig. 11 drei register (1) 192 übertragen. Ein Teil der in das Ope- gezeigt sind, nämlich die Register (1) 260, (2) 262 randpuff erregtster geleiteten Steuerinformationen steht 55 und β 264. Jedem dieser Register sind Eingangstore zur Verfügung, um die restlichen Informationen aus 266, 268 bzw. 270 und Ausgangstore 272, 274 bzw. dem Operandpufferregister 18 (Fig. 2B) in das rechte 276 zugeordnet. Die Daten auf den Leitungen 278 Operandregister 22 zu steuern. (ebenfalls in Fig. 2A für den Reihenspeicher M ge-
Gemäß Fig. 1OB dient das Signal 12M auf Lei- zeigt) führen die Anforderungsinformationen aus der tung 228 außerdem dazu, das Signal MR 2 auf Lei- 60 Rechenmodul-Ausgabemultiplexeinheit parallel den tung 208 (Fig. 10A) abzuschalten. Das geschieht Eingangstoren zu. Die Wirkungsweise der Eingangsübef eine Oder-Schaltung 244, die das Signal MF 2 tore wird durch Und-Schaltungen 280, 282 und 284 erzeugt, wenn irgendeine Kanalauswahl bezüglich gesteuert, die durch das Signal »Speichern« auf Leides MR 2-Signals auf Leitung 208 getroffen worden tung 172, das aus der Rechenmodul-Ausgabemultiist. Wenn keine Kanalauswahl erfolgt ist, bleiben die 65 plexeinheit von Fig. 9 C abgeleitet ist, in Verbindung Informationen im Pufferregister, und das Signal MR 2 mit Eingangsringsignalen auf Leitungen 286, 288 leitet eine Suche nach einem verfügbaren Kanal bei oder 290 betätigt werden. Von diesen Signalen liegt jedem neuen Signal auf Leitung222 (Fig. 10B) ein. jeweils nur eins vor, je nach der bestehenden Ein-
stellung des Eingangsringes 292, der als bekannte Zählringschaltung ausgebildet ist. Außerdem liegt das Signal »Leere Datenreihe« auf Leitung 150 vor. Dieses Signal ist ebenfalls als Eingangssignal für die Rechenmodul-Ausgabemultiplexeinheit (F i g. 9 C) dargestellt. Es entsteht, wenn wenigstens eines der Speichereingaberegister 260, 262 und 264 leer ist. Wenn ein Register unbesetzt ist und damit Platz für das Speichern einer Arbeitsanforderung aus einem Rechenmodul bietet, arbeitet das Signal »Leere Datenreihe« in der oben in Verbindung mit F i g. 9 C beschriebenen Weise, um das Signal »Speichern« auf Leitung 172 zu erzeugen und so die entsprechende der Und-Schaltungen 280,282 oder 284 zu betätigen, die ihrerseits das entsprechende Eingangstor 266, 268 oder 270 betätigt, damit es die Daten auf den Leitungen 278 in die entsprechenden Register 260,262 oder 264 der Speichereingabedatenreihe überträgt. Außerdem durchläuft das Signal »Speichern« eine Verzögerungseinheit 294, um den Eingansring 292 in seine nächste Stelle weiterzuschalten. (Nachdem er auf das Betätigen des Register β eingestellt war, kehrt der Ring in die Stellung zurück, in der das Register 1 betätigt wird.)
Eins der Bits in den Speicherstufen ist das Leerbit, das in den Registern 260, 262 und 264 mit V.B. bezeichnet ist. Wenn dieses Bit auf »0« eingestellt ist, liegt ein Signal V.B. = O auf der entsprechenden Leitung 296, 298 bzw. 300. Dieses Signal zeigt an, daß das entsprechende Register unbesetzt ist und zum Speichern einer neuen Anforderung zur Verfügung steht. Diese Signale werden in einer Oder-Schaltung 302 verknüpft, um das Signal »Leere Datenreihe« auf Leitung 150 zu erzeugen, wie oben erwähnt. Beim Speichern eines neuen Wortes in einem leeren Register wird das Leerbit auf »1« gesetzt durch die Speicherung des Anforderungsbits, das aus dem die Anforderung stellenden Rechenmodul kommt. Aus jeder Leerbitstelle erzeugt das Signal V.B. = I auf den Leitungen 304, 306 und 308 das Signal »Mehr Arbeit« auf einer Leitung 310 über eine Oder-Schaltung 312. Dieses Signal wird von der Speicherprogrammsteuereinheit des assoziativen Speichermoduls verwendet, die in Verbindung mit Fig. 8 beschrieben worden ist und in Verbindung mit Fig. 12 noch näher erläutert wird.
Ein Ausgangsring 314 erzeugt ein Signal auf nur einer der Leitungen 316, 318 oder 320, um das jeweils nächste Register des Reihenspeichers zu identifizieren, aus dem eine Speicheranforderung auszulesen ist. Das Signal »Lesen« auf Leitung 322 wird durch die Speicherprogrammsteuereinheit des assoziativen Speichermoduls (Fig. 8) erzeugt, wenn der assoziative Speicher eine vorhergehende Anforderung fertig bearbeitet hat. Das Signal »Lesen« betätigt zusammen mit einem der Ausgangsringsignale auf Leitung 316, 318 oder 320 die entsprechende Und-Schaltung 324, 326 oder 328 und betätigt dadurch die entsprechenden Ausgangstore 272, 274 bzw. 276. Die in dem entsprechenden Eingabedatenregister gespeicherten Daten werden daher über die Oder-Schaltungen 330 als neue Anforderung dem assoziativen Speichermodul auf den Leitungen 332 zugeführt. Das Signal »Lesen« auf Leitung 322 schaltet nach der Betätigung einer Verzögerungseinheit 334 den Ausgangsring 314 in die dem nächsten Eingabedatenregister entsprechende Stellung weiter. (Nach der Betätigung des Registers Q schaltet der Ring weiter, um das Register 1 zu betätigen, wie oben erwähnt.) .
Die von den Und-Schaltungen 324, 326 und 328 erzeugten Signale betätigen nicht nur die entsprechenden Ausgabeschaltungen, sondern werden auch verwendet, um über die Leitungen 336, 338 und 340 das Leerbit auf »0« zu setzen. Daher kann das jetzt leer gewordene Register erneut zum Speichern einer neuen Speicheranforderung benutzt werden.
Assoziativer Speichermodul
In Verbindung mit Fig. 12 sei nun im einzelnen erläutert, wie die assoziativen Speichermodule 16, 16 α und 16 b von F i g. 2 A arbeiten.
Das Hauptelement in dem assoziativen Speichermodul ist ein assoziativer Speicher 342, der in Verbindung mit Fig. 8 im einzelnen beschrieben wird. Darüber hinaus enthält der assoziative Speichermodul Steuerungen, die Signale und Daten aus dem Eingabereihenspeicher 44M (Fig. 2A) in die richtigen Register des assoziativen Speichers steuern. Der auf Leitung 344 aus dem Eingabereihenspeicher kommende Datenwortteil wird direkt einer Reihe von Eingabeschaltern 346 (Fig. 8) zugeführt. Das aus dem Eingabereihenspeicher auf einer Leitung 348 ankommende Steuerfeld wird bezüglich seiner Funktion aufgetrennt, und diejenigen Bits, die das Programm bestimmen, werden über Leitungen 350 in eine Programmdecodiereinheit 352 einer Speicherprogrammsteuereinheit 354 eingeführt. Diejenigen Bits, die die Adresse des Rechenmoduls enthalten, werden über Leitungen 356 einem Rechenmoduladressenregister 358 zugeführt.
Nach Erfüllung einer vorhergehenden Anforderung wird eine neue Operation des Speicherprogramms durch das Vorliegen des Signals »Mehr Arbeit« auf Leitung 310 eingeleitet, das in Verbindung mit Fig. 11 beschrieben worden ist. Das Signal »Lesen« auf Leitung 322 wird dem Eingabereihenspeicher zugeleitet, und das Ergebnis ist, daß das Datenwort und das Steuerfeld in den assoziativen Speichermodul eingegeben werden. Die Programmbits werden in der Programmdecodiereinheit 352 entschlüsselt und ergeben zusammen mit entsprechenden Taktsignalen ausgewählte »l«-en, die über die Leitungen 344 übertragen werden, um die entsprechenden Eingabeschalter von Fig. 8 einzustellen, über Leitungen 360, um entsprechende Auswahlschalter 362 von F i g. 8 einzustellen, und über Leitungen 364, um entsprechende Steuerschalter in der Speichersteuereinheit 68 von F i g. 8 einzustellen. Außerdem stellen die Speicherprogrammsteuerschaltungen die entsprechenden Stellen des Abdeckregisters 366 ein, und diese wiederum erzeugen entsprechende Signale auf Leitungen 368, die die Abdeckschalter 370 (Fig. 8) einstellen.
Ein Speicherausgaberegister 372 (auch in F i g. 10 A gezeigt) ist das Register, in dem ein Datenwort mit den entsprechenden Steuerinformationen zusammengestellt wird, um über das Pufferregister und die Speicherausgabemultiplexschaltung zum richtigen Rechenmodul übertragen zu werden. Wenn das Speicherausgaberegister noch durch Informationen aus der vorhergehenden Anforderung besetzt ist, fehlt auf Leitung 374 das Signal »Ausgaberegister unbesetzt«, das die Speicher-Programmsteuereinheit speist. Durch das Fehlen dieses Signals wird verhindert, daß die Speicher-Programmsteuereinheit ein Wort aus dem
209 540/316
41 42
assoziativen Speicher· 342 in das Speicherausgabe- Neue von der Eingabevorrichtung kommende Beregister sendet. Wenn die vorhergehende Anforde- fehle veisen eine Zuteilung zu einem assoziativen rung das Speicherausgaberegister verlassen hat, stellt Speichermodul auf, die vorher als Teil des Eingabedas Signal MFM auf einer aus der Speicherausgabe- programme erzeugt worden ist. Diese Zuteilung ermultiplexeinheit kommenden Leitung 376 das An- 5 folgt zu zwei. Zwecken, und zwar erstens, damit die forderungsbit zurück und erzeugt so das Signal »Aus- Befehle gleichmäßig über die in dem System entgaberegister unbesetzt« auf Leitung 374, wodurch der haltenen assoziativen Speichermodule verteilt wer-Ausgabeteil des Speicherprogrammsteuerumlaufs ein- den, und zweitens, damit eng zusammenhängende geleitet wird, falls der Zugriff aus dem assoziativen Wörter in dem binären Baum in verschiedenen Spei-Speicher vollständig ist. Jetzt überträgt das Signal io chermodulen erscheinen und so gleichzeitig entnom- »Abfühlverstärker« betätigen auf Leitung 378 die men werden können, um die Gesamtzugriffszeit zu Einstellungen der Ausgangsanzeiger 74 (F i g. 8) über verkürzen. Zu diesem Zweck wird eine einfache Verdie Leitungen 380 und die Abfühlverstärker 382 zum teilungsregel angewendet. Nach dieser Regel wird die Datenwortteil 284 des Speicherausgaberegisters 372. Speicheradresse des Folgebefehls um 1 erhöht, wenn Außerdem liefert die Speicherprogrammsteuereinheit 15 von einem linken Zweig aus den Baum hinunter vorein Signal »Steuerinformation weiterleiten« über eine gegangen wird, und die Speicheradresse des Folge-Leitung 386 zu den Und-Schaltungen 388 und 390. befehls wird um 1 verringert, wenn von dem rechten Die Und-Schaltung 388 leitet die im Rechenmodul- Zweig aus den Baum hinunter vorgegangen wird. Adressenregister 358 gespeicherte Rechenmodul- Wenn z. B. ein linker Operand im Speicher 1 gespeiadresse in den Rechemnoduladressenteil 392 des 20 chert worden ist, findet man den Folgebefehl im Speicherausgaberegisters weiter, während die Und- Speicher 2. und daher steht der rechte Operand im Schaltung 390 die feststehende Speicheradresse dieses Speicher 3, wenn angenommen wird, daß das System assoziativen Speichermoduls, wie sie auf den fest- mindestens drei Speicher enthält. Wenn angenommen stehenden Speicheradressenschaltern eingestellt ist, wird, daß die M Speicher in dem System mit 1, 2, über eine Leitung 394 in den Speicheradressenteil 25 3... M numeriert sind, muß für den Fall gesorgt 396 des Speicherausgaberegisters weiterleitet. Das werden, daß nach der Regel eine Adresse erreicht Signal »Abfühlverstärker betätigen« auf Leitung 378 wird, die größer als H oder kleiner als 1 ist. Wenn betätigt außerdem die Abfühlverstärker 398 für die daher Speicheradressen durch die Addition von 1 erÜbertragung der Informationen in den Steueranzei- rechnet werden, wird ein Test ausgeführt, um zu gern 70 (Fig. 8) aus dem assoziativen Speicher 342 30 sehen, ob der WertM durch die nächste Adresse über die Leitungen 400 in einen Übereinstimmungs- überschritten wird. Wenn versucht wird, den Wert 1 anzeigeteil 402 des Speicherausgaberegisters. Der zu dem Wert M zu addieren, wird dafür die Adresse 1 Übereinstimmungsanzeiger 402 zeigt an, ob keine eingesetzt, und die Operation geht dann zyklisch Übereinstimmung in dem assoziativen Speicher auf weiter. Wenn die Operation von der Adresse eines die Speicheranforderung hin besteht, ob genau eine 35 rechten Operanden aus eingeleitet wird, wird die Übereinstimmung im Speicher auf die Anforderung Speicheradresse des Folgebefehls durch das Subtrahin besteht oder, wenn keines dieser Signale vorhan- nieren von 1 gefunden, und die Speicheradresse des den ist, ob mehrere Übereinstimmungen im Speicher linken Operanden wird dann durch das Subtrahieren auf die Anforderung hin bestehen. Außerdem liefert von 1 von der Befehlsspeicheradresse gefunden. In die Speicherprogrammsteuereinheit das Signal »An- 40 diesem Falle muß ebenfalls geprüft werden, ob die forderungsbit einstellen« auf Leitung 404, das dann fragliche Adresse gleich 1 ist. Statt 1 zu subtrahieren, von der Speicherausgabemultiplexeinheit verwendet wird in diesem Falle die Adresse M verwendet, und wird bei Einleitung seiner Operation, wie es in Ver- die Operation geht dann zyklisch weiter,
bindung mit Fig. 1OAund 1OB beschrieben ist. Der Speicheradressengenerator (Fig. 13) hat vier Wenn das Datenwort eine Konstante ist, wie es das 45 Hauptteile, nämlich ein Speicheradresseneingabe-Signal »Status C« auf Leitung 406 anzeigt, muß die register 420, ein Speicheradressenausgaberegister 422, Speicher-Programmsteuereinheit die erneute Eingabe eine »1 hinauf oder 1 hinunter«-Zähleinheit 424 und des Datenwortes in den Speicher veranlassen. In eine Einheit 426, die prüft, ob die Adresse gleich (1) diesem Falle liegt ein Signal »Zu den Eingabeschal- oder gleich (M) ist. Außer diesen vier Hauptteilen tern leiten« auf einer Leitung 408 vor, das die Und- 50 sind vier Quellen für feststehende Adressen vorhan-Schaltungen 410 betätigt, die daraufhin Signale zum den, nämlich ein Speicher-(1)-Anzeiger 428, ein Spei-Einstellen der Eingabeschalter 346 über die Leitun- cher-M-Anzeiger 430, eine Eingabevorrichtunggen 344 erzeugen. Adressenquelle 432 und eine Ausgabevorrichtung-Entsprechend der zeitlichen Steuerung durch das Adressenquelle 434. Außerdem sind verschiedene Signal auf Leitung 196 aus einem Systemtaktgeber 55 Und- und Oder-Schaltungen vorhanden, die in Ver-412 (Fig. 2A) übertragen die Und-Schaltungen 414 bindung mit der Beschreibung des Generators noch den gesamten Informationssatz einschließlich der aufgezählt werden.
Steuer- und der Datenwortteile aus dem Speicher- Während der Beladungsphase wird ein Befehl aus
ausgaberegister 372 über die Leitungen 416 zu einem der Eingabevorrichtung 10 (Fig. 2A) über die Spei-
Pufferregister 418 (Fig. 10A). 60 cherausgabemultiplexeinheit in das Befehlspufferregister 14 übertragen. Die Speicheradresse des assozia-
Speicheradressengenerator üven Speichermoduls, in den dieser Befehl eingeführt
werden soll, wird als Teil der Funktion der Eingabe-
Jetzt sei der Speicheradressengenerator 24 vorrichtung erzeugt. Aus dem Befehlspufferregister
(Fig. 2B) in Verbindung mit Fig. 13 im einzelnen 65 14 (Fig. 2B) wird die Speicheradresse durch die
erläutert. Der Speicheradressengenerator bestimmt Leitungen 430 in das Speicheradressen-Eingaberegi-
den Namen des Speichers, in dem der nächste Befehl ster 420 eingeführt. Von hier aus kann die Adresse
oder Operand zu finden ist. über Und-Schaltungen 436 und Oder-Schaltungen
43 44
440 in ein Speicheradressen-Ausgaberegister 422 ge- 440 zum Speicheradressen-Ausgaberegister 422 überleitet werden. Die Operation der Und-Schaltungen tragen.
430 wird durch das Signal »Adresse zum Ausgabe- Wenn bei der Operation nach Regel 1 eine Ein-
register schicken« auf Leitung 442 gesteuert, das gabevorrichtungsadresse oder bei der Operation nach aus der Rechenmodulprogrammsteuereinheit 26 5 Regel 13 eine Ausgabevorrichtungsadresse benötigt (Fig. 2B) kommt. Aus dem Speicheradressen-Aus- wird, liefert die Rechenprogrammsteuereinheit entgaberegister 422 wird die Adresse über Und-Schal- weder das Signal »Eingabevorrichtungsadresse Weitungen 444 und Leitungen 446 zu dem Rechenmodul- terleiten« auf Leitung 474 oder das Signal »Aus-Ausgaberegister in der Rechenmodul-Ausgabemulti- gabevorrichtungsadresse weiterleiten« auf Leitung plexeinheit (Fig. 9A) übertragen. Diese Und-Schal- io 476 zur Steuerung von Und-Schaltungen 478 oder tungen 444 haben den Zweck, in allen Fällen die 480, damit die feststehende Eingabevorrichtungs-Speicheradresse aus dem Ausgaberegister 422 zu ent- adresse aus der Einheit 432 oder die feststehende nehmen. Sie werden gesteuert durch das Signal Ausgabevorrichtungsadresse aus der Einheit 434 »Adresse zur Rechenmodul-Ausgabemultiplexeinheit über die Oder-Schaltungen 440 zum Speicherleiten« auf Leitung 448, das von der Rechenpro- 15 adressen-Ausgaberegister 422 übertragen wird,
grammsteuerung 26 erzeugt wird. Die so erhaltene und im Speicheradressen-Ausgabe-
Wenn der Kennfeldgenerator 36 (Fig. 2B) Kenn- register 422 gespeicherte Adresse kann über Undfelder für einen Befehl im Befehlsregister und für den Schaltungen 482 zum Speicheradressen-Eingaberegilinken Operanden oder den rechten Operanden in ster 420 zurückübertragen werden. Diese Operation dem entsprechenden Register erzeugt, empfängt die 20 wird durch das aus der Rechenprogrammsteuerein-Rechenprogrammsteuereinheit ein Signal, welches das heit stammende Signal »Adresse zum Eingaberegister Datenwort identifiziert, das sich als linker oder rechter leiten« auf Leitung 484 gesteuert. Diese Operation ist Operand bereits im Rechenmodul befindet. (Diese z. B. erforderlich, wenn die Speicheradresse des rech-Operation des Kennfeldgenerators wird in Verbin- ten Operanden errechnet wird, falls zunächst die dung mit Fig. 14 und 15 noch im einzelnen erläu- 25 Adresse des linken Operanden verfügbar ist. In dietert.) Die Speicheradresse dieses Operanden steht im sem Falle wird zuerst die »1 aufwärts zählen«-Ope-Speicheradressen-Eingaberegister 420 zur Verfügung, ration ausgeführt, um die Speicheradresse des Befehls wie es zur Zeit der Sendung der vorhergehenden An- zu bilden, die im Speicheradressen-Ausgaberegister förderung bestimmt war. 422 gespeichert wird. Die Speicheradresse wird in der
Die Speicheradresse des Folgebefehlswortes wird 30 schon beschriebenen Weise der Rechenmodul-Auserrechnet durch die Addition einer 1 oder durch die gabemultiplexeinheit zugeführt und außerdem zum Subtraktion einer 1 von der Speicheradresse des Eingaberegister rückübertragen, wodurch die »1 aufOperanden in den »1 hinauf- oder 1 herab«-Zähl- wärts zählen«-Schaltung 424 eine weitere 1 dazuschaltungen 424 entsprechend der Steuerung durch addiert werden kann, um die Speicheradresse des das Signal »Aufwärtszählen« auf Leitung 450 oder 35 rechten Operanden zu erhalten. Die umgekehrte durch das Signal »Abwärtszählen« auf Leitung 452 Operation wird ausgeführt, wenn ein linker Operand aus der Rechen-Programmsteuereinheit in Abhängig- von einem rechten Operanden abgeleitet werden keit davon, ob der Operand ein linker oder ein rech- muß; in diesem Falle werden die »1 abwärts zählen«- ter Operand ist. Dieses Resultat kann über Und- Schaltungen verwendet.
Schaltungen 454 und Oder-Schaltungen 440 zum 40 „ ... ■
Speicheradressen-Ausgaberegister 422 übertragen J^ennreiügenerator
werden. Die Operation der Und-Schaltungen 454 Der in Fig. 2B gezeigte Kennfeldgenerator wird
wird durch das aus der Rechen-Programmsteuerein- in Verbindung mit Fig. 14 und 15 im einzelnen beheit 26 stammende Signal »Zähler betätigen« auf schrieben. Der Kennfeldgenerator erzeugt die Kenn-Leitung 456 gesteuert. 45 feider des nächsten Befehls und Operanden gemäß
Wenn eine Speicheradresse im Eingaberegister 420 Regel 7 des oben beschriebenen Beladungs- und entweder gleich 1 oder gleich M ist, wird entweder Laufprogramms. Bekanntlich muß, wenn das binäre das Signal »Speicheradresse = (1)« auf Leitung 458 Baumprogramm abläuft, das Kennfeld des folgenden oder das Signal »Speicheradresse = (M)« auf Lei- Befehls und Operanden errechnet werden, da diese rung 460 zu der Rechen-Programmsteuereinheit über- 50 Kennfelder zum Identifizieren und Entnehmen der tragen, wo diese Signale die Operation dieser Einheit ihnen zugeordneten Wörter verwendet werden. Um verändern. Wenn die Adresse gleich M ist, also sonst das Kennfeld für den folgenden Befehl und Operanein Aufwärtszählvorgang erforderlich wäre, wird die den zu erlangen, wird zunächst die Bitstelle fest-Adresse 1 statt dessen eingesetzt, indem eine 1 über gestellt, die die extrem rechte »1« des Indexteils des die Leitungen 462 unter der Steuerung der Und- 55 Kennfeldes des gegenwärtigen Befehls enthält. Dann Schaltungen 464 in Verbindung mit dem Signal wird das Kennfeld des folgenden Befehls dadurch ge- GATEl auf Leitung 466 übertragen. Dieses Signal bildet, daß die extrem rechte »1 «-Bitstelle im Kenn- GATEl wird von der Rechen-Programmsteuerein- feld des gegenwärtigen Befehls auf 0 und die direkt heit erzeugt. Die Adresse wird durch die Und-Schal- links davon liegende Stelle auf »1« gestellt werden, tungen 464 über die Oder-Schaltungen 440 zum 60 Ebenso wird zur Erlangung des Kennfeldes des näch-Speicheradressen-Ausgaberegister 422 übertragen, sten linken oder rechten Operanden die Bitstelle um zur Rechenmodul-Ausgabemultiplexeinheit über- direkt links von der extrem rechten »1 «-Bitstelle auf tragen zu werden, wie schon erwähnt. Falls die Spei- »0« bzw. »1« gestellt. Dieses Verfahren ist in dem cheradresse im Eingaberegister 420 eine 1 ist, also Flußdiagramm von Fig. 14 dargestellt. Die für die sonst ein Abwärtszählvorgang nötig wäre, wird die 65 Ausführung der in dem Flußdiagramm aufgezählten Adresse M über die Leitungen 468 und die Und- Operationen benötigten Schaltungen sind in Fig. 15 Schaltungen 470 unter der Steuerung des Signals gezeigt. Sie bestehen aus einem Indexregister 486, GATEM auf Leitung 472 über die Oder-Schaltungen einer »Extrem rechte !«-Schaltung 488 und einem
45 46
linken oder rechten Operanclanzeigebitregister 490. Wenn diese Bitstelle auf 0 steht, zeigt sie an, daß das
Gemäß Fig. 15 führen die Kennfeldgenerator-Ein- Kennfeld des gegenwärtigen Befehls zu einem linken
gangssteuerungen in die Indexteile eines linken Operanden gehört, und wenn diese Bitstelle auf 1
Operandregisters 492, eines rechten Operandregisters steht, zeigt sie an, daß das Kennfeld dieses Befehls zu
494 und eines Befehlsregisters 496. In der Figur sind 5 einem rechten Operanden gehört. Es sei z. B. ange-
nur die Eingangsleitungen, über die die Anhänge auf nommen, daß die Bitstelle 5-1 die Bitstelle mit der
den laufenden Stand gebracht werden, dargestellt. extrem rechten 1 ist. In diesem Falle erscheint das
Das Indexregister 486 besteht aus 5 Bits. In der Signal »Neue Kennfelder erzeugen« auf Leitung 530, Figur sind vier solche Bits gezeigt: Bit »1« 498, wie oben beschrieben. Wenn die Bitstelle unmittelbar Bit »5-2« 500, Bit »5-1« 502 und Bit »5« 504. Die io links von der Bitstelle 5-1, also die Bitstelle 5-2, im Bits sind von links nach rechts numeriert. Die Ein- 0-Zustand ist, veranlaßt ein auf beiden Leitungen 510 gangssignalleitungen für das Indexregister sind zwar und 530 erscheinendes Signal die Und-Schaltung 548, in der Figur nicht gezeigt, aber sie kommen aus dem ein Signal durch eine Oder-Schaltung 544 zu senden Befehlsregister 28 (Fig. 2B). Ein Anhang wird aus und das Anzeigebit so einzustellen, daß ein linker dem Befehlsregister während der Ausführung der 15 Operand angezeigt wird. Die Anzeigebitschaltung 490 Regel 7 in das Anhangsregister geleitet. Die Aus- ist vorher durch ein Signal »Gelöscht« auf der Ausgangsleitungen 506, 508, 510, 512, 514, 516, 518 gangsleitung 552 der Rechenmodul-Programmsteuer- und 520 des Anhangsregisters bilden die Eingänge einheit 26 in den gelöschten Zustand gebracht für die »Extrem rechte !«-Schaltung. Außerdem worden.
führen die Null-Ausgangsleitungen 506, 510, 514 ao Der Ausgang der Anzeigebitschaltung zeigt an, ob
und 518 in die Anzeigebiteingangsschaltung. der gegenwärtige Befehl ein linker oder ein rechter
Die »Extrem rechte !«-Schaltung 488 ist eine Operand wird, und damit, ob sich die Operation von Prioritätsschaltung, die dazu dient, beginnend von einem linken Zweig oder von einem rechten Zweig rechts, das erste Indexbit zu suchen, das in den aus den Baum hinunter bewegt. Diese Information »1 «-Zustand gebracht wird. Das über Leitung 522 25 wird über die Ausgangsleitungen 554 und 556 der aus der Rechenmodul-Programmsteuereinheit 26 Rechenmodul-Programmsteuereinheit 26 entweder (Fig. 2B) kommende Signal »Neue Kennwörter er- als das Signal »Linker Operand« oder als das Signal zeugen« wandert vom extrem rechts stehenden »Rechter Operand« zugeführt.
Indexbit aus nach rechts, bis es zur ersten im 1-Zu- Die Ausgangsleitungen 540, 530 und 532 der stand befindlichen Bitstelle gelangt. An dieser Bit- 30 »Extrem rechte !«-Schaltung führen auch zum Bestelle wird das Signal in die Anzeigebiteingangsschal- fehlsregister 496, zum rechten Operandregister 494 tungen und in das rechte oder das linke Operand- und zum linken Operandregister 492. Diese Ausregister und das Befehlsregister geleitet, gangsleitungen stellen den Indexteil des Kennfeld-
Es sei z.B. angenommen, daß alle Indexbits »1«, teiles dieser Register so ein, daß er ihre korrekten »5-2«, »5-1« und »5« auf 0110 stehen. Das Ergebnis 35 Kennfelder anzeigt. Das bedeutet, daß das Befehlsist,'daß ein Signal auf die Ausgangsleitungen 506, register das Kennfeld des nächsten Befehls enthält 512, 516 und 518 gelangt. Nun wandert das über und daß entweder das linke oder das rechte Operand-Leitung 522 hereinkommende Signal »Neue Kenn- register das Kennfeld des nächsten Operanden entfelder erzeugen« zunächst durch eine Und-Schaltung hält in Abhängigkeit davon, ob die Operation von 524 zu einer Leitung 526 und in die Bitstelle 5-1. In 40 links bzw. von rechts aus dem Baum hinab fortder Bitstelle 5-1 gelangt das Signal »Neue Kennfelder schreitet. Es sei z. B. angenommen, daß die Bitstelle erzeugen« über eine Und-Schaltung 528 auf eine Lei- 5-1 die Bitstelle mit der extrem rechten 1 ist und daß rung 530, da die Bitstelle 5-1 im 1-Zustand ist. Das das auf der Ausgangsleitung 530 der »Extrem Signal auf Leitung 530 zeigt an, daß diese Bitstelle rechte !«-Schaltung erscheinende Signal die 5-1-Bitdie extrem rechte »1« enthält. Falls das Indexregister 45 stelle 558 des Befehlsregisters in den 0-Zustand nur Nullen enthalten hätte, wäre das Signal »Neue bringt. Dieses Signal bringt außerdem die 5-2-Bit-Kennwörter erzeugen« durch die Und-Schaltungen stelle 560 des Befehlsregisters in den 1-Zustand, die 524, 532, 534 und 536 weitergeleitet worden, um 5-2-Bitstelle 562 des rechten Operandregisters in den einen Fehler anzuzeigen, da das Indexregister un- !-Zustand und die 5-2-Bitstelle 564 des linken möglich lauter Nullen enthalten kann. Falls das 50 Operandregisters in den 0-Zustand.
Indexregister eine 1 in Bitstelle 1 und Nullen in allen Obwohl die Schaltungen eine Änderung im Zuanderen Bitstellen enthalten hätte, wäre das Signal stand aller drei Register anzeigen, werden tatsächlich »Neue Kennwörter erzeugen« durch die Und-Schal- nur zwei dieser Register verändert, da das dritte vortungen 524, 532, 534 und 538 gelangt, um das Ende her schon in den für das Eingangssignal erforderdes Baumprogramms anzuzeigen. Das Signal »Ende 55 liehen Zustand gebracht worden ist. Es brauchten des Baumprogramms« wird zur Rechenmodul-Pro- nur höchstens zwei Bits in jedem Register verändert grammsteuereinheit 26 (Fig. 2D) gesendet, um an- zu werden, weil das Kennfeld des laufenden Befehls zuzeigen, daß der in Ausführung begriffene Befehl vorher in alle Register eingebracht worden war.
der letzte Befehl des Programms ist. ._ , , , . . 1
Die Signale auf den Ausgangsleitungen 540, 530 60 Rechenmodul-Ausgangssignale
und 542 der »Extrem rechte !«-Schaltung zeigen an, Die Zusammenstellung von Informationen aus verweiche Bitstelle des Indexregisters die extrem rechte 1 schiedenen Quellen in dem Rechenmodul zur Vorenthält. Diese Ausgangssignale werden in die An- bereitung einer Anforderung, die über das Rechenzeigebiteingabeschaltungen eingespeist, die aus einer modul-Ausgaberegister86, z.B. in Fig. 9A, über die Oder-Schaltung 544 und den Und-Schaltungen 546, 65 Rechenmodul-Ausgabemultiplexeinheit 30 zum Ein- 548 und 550 bestehen. Die Anzeigebiteingabeschal- gabereihenspeicher 44a (Fig. 2A) zu übertragen ist, tungen tasten den Zustand der Bitstelle unmittelbar wird nun an Hand von Fig. 16 im einzelnen erlinks von der Stelle mit der extrem rechten 1 ab. läutert.
47 48
In dieser Figur ist die zusammengestellte Aus- Der Statusteil 626 des Datenwortes erfordert gangsinformation aus der zur Übertragung über Lei- 7-Wege-Oder-Schaltungen, dargestellt durch die vier tungen 568 des Ausgangs 566 dargestellt. Diese Lei- Leitungen 628, 630, 632 und 634 und die drei Klamtungen sind auch in Fig. 9A dargestellt, wo sie in mern 592, 594 und 596. Der Status kann aus dem ein Ausgaberegister 86 führen. Die Ausgangsleitun- 5 Statusteil 636 des Befehlsregisters 28 über Undgen sind in zwei Hauptteile unterteilt, nämlich einen Schaltungen 638 und Leitungen 630 zum Ausgang Steuerteil 572 und einen Datenwortteil 574. Der übertragen werden. Die Und-Schaltungen 638 wer-Steuerteil 572 ist in vier Felder mit den durch ent- den durch das Signal »Status in 30 eingeben« auf sprechende Leitungen dargestellten Eingängen ein- Leitung 640 gesteuert. Der feststehende Eingang geteilt. Die zwei Eingänge zu dem Feld für das An- io /642 kann dem Statusteil 626 des Datenwortes über forderungsbit R.B. 576 sind die 1- und die 0-Leitung. die Leitungen 628 unter der Steuerung der Und-Das Anforderungsbit wird eingeschaltet oder in den Schaltungen 644 zugeführt werden. Der Statusteil 1-Zustand gebracht durch das Signal aus der Spei- kann von den Rechenprogrammsteuersignalen chersteuerinformationseinheit auf einer Leitung 580 GATE I & L, GATE / & D oder GATE / abgeleitet und abgeschaltet oder in den 0-Zustand gebracht 15 werden, von denen jedes den /-Status hervorbringt, durch das Signal CF2 auf Leitung 578. Die Erzeu- Daher ist eine 3-Wege-Oder-Schaltung 646 für die gung dieses letztgenannten Signals ist in Verbindung Steuerung der Und-Schaltung 644 vorgesehen, und mit Fig. 9B erläutert worden. Die ebenfalls aus der die Eingangssignale für die Oder-Schaltung 646 sind Speichersteuerinformationseinheit kommenden Lei- die obenerwähnten Signale GATE I ScL auf Leitung tungen 582 führen den Programmcode Frog. 584, 20 648, GATE / & D auf Leitung 650 und GATE / auf der aus dem Befehl für den assoziativen Speicher- Leitung 652, die aus der Rechenmodul-Programmmodul (Fig. 12) bezüglich der Funktion, die dieser Steuereinheit stammen.
ausführen soll, besteht. Die ebenfalls aus der Spei- Der Status T 654 kann zum Statusteil 626 des chersteuerinformationseinheit kommenden Leitungen Datenwortes von einem feststehenden Eingang 654 586 liefern die feststehende Rechenmoduladresse 588, 25 aus durch die Und-Schaltung 656 unter der Steuerung die diesen Rechenmodul identifiziert (im vorliegen- des Signals GATE T auf Leitung 658 aus der Rechenden Falle z. B. den Rechenmodul 2). Die Leitungen modul-Programmsteuereinheit übertragen werden. 446 aus dem Speicheradressengenerator (Fig. 13) Ebenso kann der Status C von einer feststehenden liefern die Speicheradresse 590. Quellenschaltung 660 aus über eine Leitung 664
Für das Datenwort 574 sind Mehrweg-Oder-Schal- 30 durch die Und-Schaltung 662 unter der Steuerung
tungen durch die Zahl der in jedes Unterfeld korn- des Signals GATE C auf Leitung 664 ebenfalls aus
menden Leitungen angedeutet. Es sind drei Ein- der Rechenmodul-Programmsteuereinheit (Fig. 17B)
gangsschaltungen durch Klammern 592, 594 und 596 übertragen werden.
dargestellt, die Informationen in das gesamte Daten- Als nächstes sei der Kennfeldteil 666 des Datenwort einführen, d. h. in alle Unterfelder. Zunächst 35 Wortes 574 betrachtet. Hier sind 6-Wege-Oder-Schalwerden die Informationen auf den Leitungen 598, tungen erforderlich, wie es die drei Leitungen 668, die durch die Klammern 592 dargestellt werden, aus 670 und 672 zusammen mit den Klammern 592, 594 dem rechten Operandregister 22 über die Und-Schal- und 596 erkennen lassen. Der Kennfeldteil 674 des tungen 600 unter der Steuerung des Signals »Daten- linken Operandregisters 20 kann über Und-Schaltunwort durchlassen« auf Leitung 602 aus der Rechen- 40 gen 676 und Leitungen 668 zum Kennfeldteil 666 modul-Programmsteuereinheit geliefert. des Datenwortes übertragen werden. In diesem Falle
Wenn das ganze Datenwort 574 aus dem linken werden die Und-Schaltungen 676 durch das Signal Operandregister 20 kommen soll, wie es die Klam- »Kennfeld weiterleiten« auf den Leitungen 678 gemer 594 angibt, werden Verbindungen hergestellt steuert. Wenn der Kennfeldteil 666 des Ausgangsüber die Leitungen 604 durch die Und-Schaltungen 45 datenwortes 574 aus dem Kennfeldteil 680 des Be- 606 unter der Steuerung des Signals »Datenwort fehlsregisters 28 übertragen werden soll, erfolgt die durchlassen« auf Leitung 608 aus der Rechenmodul- Übertragung über die Leitungen 670, die Und-Schal-Programmsteuereinheit. Wenn schließlich das Daten- tungen 682 unter der Steuerung des Signals »Kennwort 574 aus dem Befehlsregister 28 kommen soll, feld in 30 eingeben« auf Leitung 684. Wenn schließwie es die Klammer 596 andeutet, erfolgt die Über- 50 lieh der Kennfeldteil 666 aus dem Kennfeldteil 686 tragung über die Leitungen 610 durch die Und- des rechten Operandregisters 22 übertragen werden Schaltungen 612 unter der Steuerung des Signals soll, geschieht das auf Leitung 672 über Und-Schal- »Datenwort in 30 eingeben« auf einer Leitung tungen 688 unter der Steuerung des Signals »Kenn- 614 aus der Rechenmodul-Programmsteuereinheit feld in 30 eingeben« auf Leitung 690, das aus der (Fig. 17B). 55 Rechenmodul-Programmsteuereinheit (Fig. 17 A)
Es ist nun möglich, die Steuerung von Daten in abgeleitet ist.
die einzelnen Unterfelder des Datenwortes zu be- Nun sei der Datenteil 692 des Datenwortes betrachten. Zunächst sei das Aufgabenidentifizierungs- trachtet, wobei zu beachten ist, daß in manchen signal 616 betrachtet, das über eine Leitung 618 und Fällen dieser Datenteil weiter unterteilt ist in den Und-Schaltungen 620 aus dem Aufgabenteil 622 des 60 Codeteil 694 und den Gegenstandsteil 696. Zunächst Befehlsregister 28 geliefert werden kann. Die Und- sei die Operation betrachtet, bei der der Datenteil Schaltungen 620 werden durch das Signal »Aufgabe in als Ganzes behandelt wird. Wenn der Datenteil 698 30 eingeben« auf Leitung 624 gesteuert. Der Aufgaben- des linken Operandregisters 20 zum Datenteil 692 teil 616 des Ausgangs 566 erfordert 4-Wege-Oder- übertragen werden soll, geschieht das über die Lei-Schaltungen für diese Eingangssignale, wobei einer 65 tungen 700 und die Und-Schaltungen 702 unter der der Eingänge durch die Leitungen 618 und die an- Steuerung des Signals »Daten weiterleiten« auf Leideren drei Eingänge durch die Klammern 592, 594 rung 704 aus der Rechenmodul-Programmsteuer- und 596 dargestellt sind. einheit. Ebenso kann der Datenteil 692 aus dem
Datenteil 706 des Befehlsregisters 28 über die Leitungen 708 und die Und-Schaltungen 710 unter der Steuerung des Signals auf der Leitung 712 aus der Rechenmodul-Programmsteuereinheit übertragen werden.
Nun sei als nächstes der Code-694-Teil des Datenteils 692 betrachtet. Dieser kann aus einer feststehenden Quelle L 714 oder aus einer feststehenden Quelle D 716 über die Leitung 718 bzw. die Leitungen 720 durch die Und-Schaltungen 722 bzw. die Und-Schaltungen 724 unter der Steuerung des Signals auf Leitung 648 bzw. des Signals auf Leitung 650 übertragen werden.
Der Gegenstandsteil 696 des Datenwortes 574 kann aus dem Kennfeldteil 680 des Befehlsregisters 28 über Und-Schaltungen 726 und Leitung 728 übertragen werden. Die Und-Schaltungen 726 werden durch das Signal »Kennfeld in Gegenstand von 30 eingeben« auf Leitung 730 gesteuert. Die Umordnung, durch die ein Kennfeld zu einem Gegenstandsfeld wird, ist gemäß den Regeln 2 und 11 erforderlich.
Für den Codeteil 694 sind 7-Wege-Oder-Schaltungen nötig, dargestellt durch die Leitungen 700, 708, 718, 720 und die Klammern 592, 594, 596. Für den Gegenstandsteil 690 sind 6-Wege-Oder-Schaltungen erforderlich, dargestellt durch die Leitungen 700, 708, 728 und die Klammern 592, 594, 596.
Rechenmodul-Programmsteuereinheit
Die Rechenmodul-Programmsteuereinheit 26 von Fig. 2D wird nachstehend in Verbindung mit Fig. 17A, 17B und 17C im einzelnen besprochen. Diese Figuren bilden eine schematische Darstellung der Rechenmodul-Programmsteuereinheit in Form von Eingangssignalen auf der linken Seite, die aus anderen Abschnitten des Rechenmoduls zu ihr gelangen, und von Ausgangssignalen auf der rechten Seite, die von der Rechenmodul-Programmsteuereinheit erzeugt und zu anderen Teilen des Systems übertragen werden, um deren Operation in der richtigen Reihenfolge zu steuern. Bei jedem Eingangssignal ist die Bezugszifier der Einheit von Fig. 2A oder 2 B angegeben, aus der das Signal kommt, sowie der Name des Signals und diejenigen Regeln (innerhalb des Blocks), nach denen das Signal benötigt wird. Ebenso zeigen die Ausgangssignale rechts, welche Regeln zu ihrer Erzeugung führen, den Namen des Signals und die Bezugsziffer der Einheit von Fig. 2B, zu der das Signal übertragen wird.
Die Erzeugung der Ausgangssignale in der richtigen Reihenfolge wird überwacht durch konventionelle Schrittschaltringe, die unter der Steuerung der Eingangssignale arbeiten und deren Ausgänge ebenfalls unter der Steuerung der Eingangssignale zur Erzeugung der Ausgangssignale ausgewählt werden. Die zeitliche Steuerung wird durch den Systemtaktgeber 412 (Fig. 2A) bewirkt, um ein richtiges zeitliches Verhältnis zwischen dem Rechenmodul und seinen Ausgangssignalen über die Rechenmodul-Ausgabemultiplexeinheit 30 und andererseits zwischen dem Rechenmodul und seinen Eingangssignalen über die Speicherausgabemultiplexeinheit 12 zu gewährleisten. Außer den Ringschrittschaltungen enthält die Rechenmodul-Programmsteuereinheit Anzeigeeinheiten, die die Betriebsart des Systems angeben. Eine Anzeigeeinheit bestimmt, ob der Rechenmodul beim Beladen ist und damit, daß er nach einer der Regeln 1 bis 5 arbeitet, oder ob er bei einer Laufoperation ist und nach einer der Regeln 6 bis 13 arbeitet. Das Beladen wird angezeigt, wenn das System zuerst eingeschaltet wird sowie nach jeder Entleerungs- oder Abstoßoperation, wie sie die Regeln 5, 9, 12 (b) (ii) oder 13 vorsehen. Wenn die Eingabevorrichtung keine gemäß der Regel 1 in das System einzugebenden Daten enthält, wird der
ίο Rechenmodul gemäß Regel 6 auf die Laufoperation umgestellt.
Als Beispiel für die Wirkungsweise sei angenommen, daß eben eine Abstoßoperation eingeleitet und damit der Rechenmodul auf die Beladungsoperation zurückgestellt worden ist. Gemäß Regel 1 wird zuerst eine Anforderung ausgegeben, um zu sehen, ob sich in der Eingabevorrichtung zu einem Rechenmodul zu übertragende Idformationen befinden. Die Anforderung kann erst dann übertragen werden,
ao wenn die vorhergehende Anforderung, in diesem Falle die Abstoßanforderung, erfüllt worden ist. Daher ist für die Einleitung der Operation das Signal »Anforderung übertragen« aus der Rechenmodul-Ausgabemultiplexeinheit 30 erforderlich. Erzeugt werden die Signale »Adresse der Eingabevorrichtung weiterleiten«, das zum Speicheradressengenerator 24 übertragen wird, und »Adresse in 30 eingeben«, das ebenfalls zum Speicheradressengenerator 24 geht. Diese beiden Signale werden zum Speicheradressenteil 590 (F i g. 16) kombiniert, der in diesem Falle die Adresse der Eingabevorrichtung darstellt.
Außerdem liefert die Rechenmodul-Programmsteuereinheit das Signal »Eingabevorrichtung nach bereiter Arbeit abfragen« zur Speichersteuerinformationseinheit 42 (Fig. 2B) zur Eincodierung in den Programmteil 584 (Fig. 16), und zwar wird das Signal aus der Speichersteuerinformationseinheit 42 über die Leitungen 582 übertragen. Das Signal »Rechenmodulnamen, Befehlspufferregistercode und Anforderungsbit weiterleiten«, das der Speichersteuerinformationseinheit 42 zugeführt wird, codiert die Rechenmoduladresse 588 und das Anforderungsbit 576 von Fig. 16. Hierdurch wird der Steuerteil 572 des als Anforderung zu übertragenden Signalausgangs vervollständigt. Für eine zu einer Eingabevorrichtung gehende Anforderung ist keine den Datenwortteil 574 betreffende Information erforderlich. Wenn diese Anforderung im Ausgaberegister gespeichert werden kann, wird eine Wartestandanzeigeeinheit so eingestellt, daß sie anzeigt, daß der Rechenmodul auf die Erfüllung seiner Anforderung wartet.
Bei Übertragung der Daten aus der Eingabevorrichtung werden sie durch die Speicherausgabemultiplexeinheit 12 (Fig. 2A) dem Befehlspufferregister 14 (F i g. 2 B) zugeführt. Das Vorliegen von Daten in diesem Register wird durch das Signal »Befehlspufferregister besetzt« angezeigt, das aus dem Befehlspufferregister 14 zur Rechenmodul-Programmsteuereinheit gelangt. Dieses Signal zusammen mit der obenerwähnten Wartestandanzeigeeinheit leitet erneut die Operation der Rechenmodul-Programmsteuereinheit gemäß Regel 1 ein. Das Vorliegen des Signals »Ubereinstimmungsanzeige für assoziativen Speicher = 0« bedeutet, daß auf die vorher eingeleitete Anforderung hin keine Information aus der Eingabevorrichtung empfangen worden ist. In diesem Falle wird die Anzeigevorrichtung für die Betriebsart der Rechenmodul-
Programmsteuereinheit auf die Laufoperation eingestellt, und die Operation wird gemäß Regel 6 fortgesetzt. Wenn dagegen das Signal »Übereinstimmungsanzeige für assoziativen Speicher =1« vorliegt, stehen gültige Informationen im Befehlspufferregister zur Verfugung, und die Operation wird gemäß Regel 1 forgesetzt. Als nächstes wird das Datenwort aus dem Befehlspufferregister 14 in das Befehlsregister 28 übertragen unter der Steuerung des Signals »Datenwort in 28 eingeben«, Jetzt wird durch das Vorliegen des Signals »Status/ oder PC« die Rechenmodul-Programmsteuereinheit dazu veranlaßt, eine neue Anforderung zu erzeugen, die zu ihrem Ausgaberegister übertragen wird.
Der Speicheradressenanteil590 (Fig. 16) wird aus dem Speicheradressengenerator (F i g. 14) durch die aufeinanderfolgenden Signale »Adresse in Ausgaberegister eingeben« und »Adresse in 30 eingeben« entnommen. Der Datenwortteil 574 des Ausgaberegisters kommt in diesem Falle aus dem Befehlsregister 28 durch das Wirksamwerden des Signals »Datenwort in 30 eingeben«. Der Programmteil584 (Fig. 16) wird in der Speichersteuerinformationseinheit 42 (Fig. 2B) unter der Steuerung des Signals »Im ersten leeren Register speichern« verschlüsselt. Schließlich liefert die Speichersteuerinformationseinheit 42 den Anförderungsbitteil 576 unter der Steuerung des Signals »Rechenmodulnamen und Anforderungsbit weiterleiten« zugeführt. (Dieses Signal bildet auch die Rechenmoduladresse 588, die für die vorliegende Anforderung außer Betracht bleiben kann.)
Bexspxel fur Laufoperaüon
Ein Beispiel für die Wirkungsweise des gesamten Systems, wobei der Rechenmodul die Laufoperation ausführt, sei nun unter Bezugnahme auf das in F i g. 6 gezeigte Rechenprogramm betrachtet. Bei diesem Programm handelt es sich um die sehr einfache Aufgäbe Y = AB + CX Das baumförmig aufgebaute Programm weist die beiden Multiplikationen und die Addition der Gleichung wie folgt auf: Der linke Hauptzweig besteht aus den Befehlswörtern mit den Kennfeldern Y 001, YOl und YOIl (Nullen rechts von der extrem rechten 1 erscheinen in der Figur nur als Leerstellen; außerdem wird angenommen, daß der Kennfeldindex vier Bits enthält, und daher ist in diesem Beispiel S gleich 4 in Fig. 15). Der Befehl für diese drei Wörter ist in dem Kennfeld YOl enthalten, wo der Operationscode für die Multiplikation als Sternchen (*) erscheint. Das Wort mit dem Kennfeld YOOl zeigt, daß die Daten mit der Bezeichnung A für den linken Operanden benötigt werden, und das Wort mit dem Kennfeld YOIl zeigt, daß die Daten mit der BezeichnungB für den rechten Operanden benötigt werden. Ebenso sind für den rechten"Zweig die Daten mit der Bezeichnung C, wie es das Wort mit dem Kennfeld Y101 zeigt, zu multiplizieren, wie es das Wort mit dem Kennfeld Y11 zeigt, mit den Daten mit der Bezeichnung Z, wie es das Wort mit dem Kennfeld Till zeigt. Die Resultate dieser beiden Operationen, d.h. der linke Zweig mit dem Kennfeld YOl und der rechte Zweig mit dem Kennfeld YIl, werden dann addiert, wie es das Wort mit dem Kennfeld Y1 zeigt. Diese Operation wird auf der nächsten Stufe baumabwärts ausgeführt. Außerdem sind in Fig. 6 vier Dateneingänge mit den Bezeichnungen A, B, C und X und den Werten 1, 2; 2, 3; 3, 4 und 6, 7 dargestellt. Es wird angenommen, daß das Rechensystem wie folgt aufgebaut ist: Es sind zwei Rechenmodule vorhanden, die als Rechenmoduli und Rechenmodul2 bezeichnet sind; daher ist bei diesem Beispiel »N« gleich 2 (s. Fig. 9 A). Es sind drei assoziative Speichermodule vorhanden, nämlieh der assoziative Speichermodul 1, der assoziative Speichermodul 2 und der assoziative Speichermodul 3, und daher ist bei diesem Beispiel »M« gleich 3 (s. Fig. 10A). Es sind drei Register in jeder der. Eingabereihenspeicher 44 vorhanden, und daher ist bei diesem Beispiel »ß« gleich 3 (s. Fig. 11). Drei Kanäle verbinden den Speichermodulausgang mit den Eingabereihenspeichern, und zwar ist bei diesem Beispiel »E« gleich 3 (s. F i g. 9 A). Ebenso verbinden drei Kanäle den Ausgang der assoziativen Speichermodule mit den Rechenmodulen über die Speicherausgabemultiplexeinheit 12, und daher ist bei diesem Beispiel »C« geich 3 (s. Fig. 10A).
Die Wirkungsweise des Rechensystems wird für die untere Dreiergruppe des Baumprogramms (Fig. 6) beschrieben, d.h. für die Wörter mit den Kenn-Wörtern Y01, TIl und Yl. Es wird angenommen, daß die Beladungsoperation, die in Verbindung mit den Regeln 1 bis 5 beschrieben worden ist, abgeschlossen ist und daß der Rechenmodul 1 die durch den Befehl mit dem Kennfeld Y 01 aufgerufene Operation ausführt.
Während diese Multiplikationsoperation ausgeführt wird, werden die Kennfelder für die nächste Operationsebene des Baumprogramms durch den Kennfeldgenerator36 (Fig. 2B) errechnet, wie es in Fig. 15 veranschaulicht ist. Der Indexteil 01 des Kennfeldes wkd aug dem Befehlsregister 28 (F i g. 2 B) über die Leitungen 734 zum Kennfeldgenerator 36 geleitet und erscheint im Indexregister486 (Fig. 15). In diesem Falle enthalten die Indexbitstelle 498 eine 0, die Indexbitstelle 500 eine 1 und die Indexbitstellen 602 und 504 je eine 0. Ebenso wird der Indexteil des Kennfeldes aus dem Befehlsregister 28 über die Leitungen 34 zum linken Operandregister 20 und zum rechten Operandregister 22 übertragen, worin er jeweils im Indexteil des Kennfeldteils 674 des linken Operandregisters und im Indexteil des Kennfeldteils 686 des rechten Operandregisters (Fig. 16) gespeichert wird. Die Übertragung der Indizes wird durch das Signal »Indizes in 36, 22 und 20 einbringen« aus der Rechenmodul-Programmsteuereinheit26 (Fig. 2B) gesteuert, die im einzelnen in Fig. 17A bis 17 C gezeigt ist.
Nun wird die Operation des Kennfeldgenerators (Fig. 15) eingeleitet durch das Signal »Anzeigebit löschen« auf Leitung 552 und durch das Signal »Neue Kennfelder erzeugen« auf Leitung 522, die beide aus der Rechenmodul-Programmsteuereinheit (Fig. 17B) kommen.
Das Signal »Neue Kennfelder erzeugen«, das in die »Extrem rechte !«-Schaltung 488 gelangt, sucht die die extrem rechte 1 enthaltende Bitstelle heraus. In diesem Beispiel enthält die Bitstelle (2) 500 die extrem rechte 1. Daher gelangt das Signal »Neue Kennfelder erzeugen« durch die Und-Schaltungen 524, 532 und 736 zu der Ausgangsleitung 540. Die Ausgangsleitung 540 ist gestrichelt gezeichnet, aber sie wird für den vorliegenden Beispielsfall als durchgehende Leitung angesehen. Das Signal auf der Ausgangsleitung 540 zeigt an, daß die Bitstelle2 die extrem rechte 1 enthält. Jetzt gelangt das Signal in die der Anzeigebit-Einstelleinheit 490 zugeordnete Eingabeschaltung und
53 54
in die dem Befehlsregister 496, dem rechten Operand- erläutert, zum Speicher mit der niedrigsten Nummer,
register 494 und dem linken Operandregister 492 zu- also zum Speicher 1, weiter, dessen Adresse jetzt im
geordnete Eingabeschaltung. Bei der Und-Schaltung Ausgaberegister 422 steht.
der Eingabeschaltung für das Anzeigebit sieht man, Jetzt stehen also zur Verfügung das auf den
daß ein Signal durch diese Und-Schaltung 546 hin- 5 neuesten Stand gebrachte Kennfeld im Befehlsregister,
durchgeht, weil die Bitstelle »1« im O-Zustand ist. die auf den neuesten Stand gebrachte Speicheradresse
Nach dem Durchlaufen der Und-Schaltung546 ge- im Speicherausgaberegister 422 (Fig. 13) und die
langt das Signal dann durch die Oder-Schaltung 544 Aufgabennummer ebenfalls im Befehlsregister. Nun
hindurch und stellt das Anzeigebit in den 1-Zustand, kann daher die Zusammenstellung eines Anforde-
wodurch angezeigt wird, daß das Kennfeld dieses io rungswortes vor sich gehen, das zu dem entsprechen-
Befehls einen linken Operanden darstellen wird. Das den assoziativen Speichermodul gesendet wird, um
auf Leitung 540 erscheinende Ausgangssignal gelangt das Befehlswort mit dem Kennfeld Y1 zu entnehmen,
ebenfalls in den Indexteil des Kennfeldes des Befehls- Diese Zusammenstellung wird in Verbindung mit
registers496. Dieses Ausgangssignal bringt die erste Fig. 16beschrieben.
Bitstelle in den 1-Zustand und die zweite Bitstelle in 15 Zunächst sei der Datenwortteil 574 der Ausgabeden O-Zustand. Das im Befehlsregeister erscheinende einheit 566 betrachtet; die Aufgabennummer wird aus Kennfeld lautet nun also YlOOO. Das Ausgangssignal dem Aufgabenteil 622 des Befehlsregisters 28 durch auf Leitung 540 gelangt außerdem in das rechte die Betätigung der Und-Schaltung 620 unter der Operandregister 494 und bringt die erste Bitstelle in Steuerung des Signals »Aufgabennummer in 30 einden 1-Zustand. Daher lautete nun das Kennfeld 20 geben« auf Leitung 624, das aus der Rechenmodul-FIlOO, Schließlich gelangt das Ausgangssignal auf Programmsteuereinheit (Fig. 17) kommt, übertragen. Leitung 540 auch in das linke Operandregister 492 Da die in Vorbereitung begriffene Anforderung einem und bringt dort die erste Bitstelle in den 0-Zustand. Befehl gilt, ist der Status / erforderlich, der aus der Das im linken Operandregister erscheiende Kennfeld feststehenden /-Quelle 642 unter der Steuerung der lautet daher jetzt Γ 0100. 25 Und-Schaltung 644 (Fig. 16) durch das Signal
Nach der vorausgegangenen Operation befindet GATE / aus der Rechenmodul-Programmsteuersich der Kennfeldbuchstabe Y noch im linken Ope- einheit auf Leitung 652 der Oder-Schaltung 646 zurandregister und im rechten Operandregister, und die geleitet wird. Der Status / wird also im Statusteil 626 eben beschriebene Operation verändert daher nur den über den Leitungen 628 gespeichert. Das auf den Indexteil des Kennfeldes. 30 neuesten Stand gebrachte Kennfeld wird aus dem
Das Anzeigebit liefert das Signal »unker Operand« Kennfeldteil 680 des Befehlsregisters 28 über die auf der Leitung 556 zur Rechenmodul-Programm- Und-Schaltung 682 und die Leitungen 670 in den Steuereinheit (F i g. 17 B). Dieses Signal hat die Funk- Kennfeldteil 666 des Datenwortes 574 übertragen, tion, der Rechenmodul-Programmsteuereinheit mitzu- Diese Operation wird gesteuert durch das Signal teilen, daß in diesem Falle die Operation bezüglich 35 »Kennfeld in 30 eingeben« auf Leitung 684. Der des Programms vom linken Zweig aus den Baum Datenteil 692 des Datenwortes 574 ist für diese Speihinunter fortschreitet. Das Resultat der laufenden cheranforderung nicht nötig.
Operation erscheint infolgedessen auf der nächsten Nun sei der Steuerteil 572 der Ausgabeeinheit 566
Rechnungsebene als Unker Operand. betrachtet. Der Speicheradressenteil 590 wird über
Nun sei die Wirkungsweise des Speicheradressen- 40 die Leitungen 446 aus dem Speicheradressenausgabegenerators betrachtet. Im gegenwärtigen Stadium ist register 422 (F i g. 13) durch die Betätigung der Unddas Programm dabei, eine Anforderung zu erzeugen, Schaltung 444 übertragen, die durch das Signal die zum Speicher gehen soll, um den Befehl mit dem »Adresse zur Rechenmodul-Ausgabemultiplexeinheit Kennfeld Y1 zu suchen. Ein Teil der für diese An- übertragen« auf Leitung 448 aus der Rechenmodulforderung benötigten Informationen ist die Adresse 45 Programmsteuereinheit gesteuert wird. Zur Zeit der des Speichers, der diesen Befehl enthält. Was nun Betätigung der Und-Schaltung 444 (F i g. 13) wird den Speicheradressengenerator (Fig. 13) betrifft, so auch die Und-Schaltung482 betätigt, um diese selbe steht die Speicheradresse des Befehls mit dem Kenn- Speicheradresse, also im vorliegenden Falle die feld YOl derzeit aus der vorausgegangenen Operation Adresse 1 wieder in das Speicheradresseneingabeim Speicheradresseneingaberegister 420 zur Verfü- 50 register 420 zurückzuübertragen. Diese letztgenannte gung, das jetzt die Adresse 3 enthält. Da im vorlie- Operation wird gesteuert durch das Signal »Adresse genden Beispiel 3 = M ist, entsteht ein Ausgangs- in Eingaberegister eingeben« auf Leitung 484 aus signal auf Leitung 460, wodurch das Signal »Spei- der Rechenmodul-Programmsteuereinheit (Fig. 17A). cheradresse = (M)« zur Rechenmodul-Programm- Die Speicheradresse wird zum Speicheradresseneinsteuereinheit übertragen wird. Da auch das Signal 55 gaberegister zurückübertragen als Vorbereitung der »linker Operand« auf Leitung556 (Fig. 15) der Erzeugung der Speicheradresse des rechten Operan-Rechenmodul-Programmsteuereinheit (F i g. 17 B) zur den, die hiernach besprochen wird.
Verfugung steht, wird ein Signal von dieser Einheit Als nächstes wird der Programmteil 584 des Steuerüber Leitung466 der Und-Schaltung464 (Fig. 13) teils572 (Fig. 16) über die Leitungen582 aus der zugeführt, damit diese die Adresse 1 aus der fest- 60 Speichersteuerinformationseinheit42 (Fig. 2B) überstehenden Quelle 428 über die Oder-Schaltungen 440 tragen. Diese Einheit hat den Programmcode so verdem Speicheradressenausgaberegister 422 zuleitet. schlüsselt, wie es das Signal »Abfragen nach Aufgabe, Gewöhnlich hätte das Signal »Linker Operand« die Status, Kennfeld und nichtlöschend entnehmen« ge-Aufwärtszähloperation im Speicheradressengenerator fordert wird, das aus der. Rechenmodul-Programmnötig gemacht, aber im vorliegenden Beispiel war die 65 Steuereinheit (Fig. 17C) kommt. Schließlich wird Adresse bereits für Speicher 3 vorhanden. Da dei das aus der Rechenmodul-Programmsteuereinheit Speicher 3 der Speicher mit der höchsten Nummer in kommende Signal »Rechenmodulnamen, Befehlsdem System ist, geht die Adresse zyklisch, wie oben pufferregister und Anforderungsbit weiterleiten« in
55 56
der Speichersteuerinformationseinheit 42 (Fig. 2B) Leerer-Eingabespeicher-SignalM auf Leitung 150 in
so verschlüsselt, daß der Rechenmoduladressenteil Fig. 11 und 9C beschrieben worden ist. Gemäß
588 (Fig. 16) und der Anforderungsbitteil 576 auf Fig. 9C wird die Und-Schaltung 754 durch das
den Leitungen 586 bzw. 580 entstehen. Leerer-Reihenspeicher-1-Signal in Verbindung mit
Jetzt enthält das Ausgaberegister 566 des Rechen- "5 dem Torsignal auf Leitung 152 betätigt und erzeugt moduls 1 die folgenden Informationen: Das Anforde- das Signal auf Leitung 756. Dieses Signal betätigt in rungsbit 576 ist im 1-Zustand; der Programmteil 584 Verbindung mit dem Signal D11 auf Leitung 750 die enthält den Programmcode für die Operation des Und-Schaltung 758, so daß diese das Signal 11 β auf assoziativen Speichermoduls; der Rechenmoduladres- Leitung 760 erzeugt. Das Signal 11Q betätigt die senteil588 enthält die Adresse des Rechenmoduls 2 io Und-Schaltungen 762 (Fig. 9A), damit die Speicherin seinem ersten Abschnitt sowie den /-Code, der auf anforderung auf den Leitungen 744 über die Oderdas Befehlspufferregister hinweist, in seinem zweiten Schaltungen764 in dem Reihenspeicher 44 (Fig. 2A, Abschnitt; der Speicheradressenteil enthält die 11) gespeichert wird.
Adresse 1 des assoziativen Speichermoduls 1, der das Es sei nun angenommen, wie oben erwähnt, daß
Befehlswort enthält; im Datenwortteil 574 enthalten 15 keine früheren Speicheranforderungen mehr von dem
der Aufgabenteil 616 die Aufgabennummer 2, der assoziativen Speichermodul 1 zu erfüllen sind und
Statüsteil 626 den Status I und der Kennfeldteil 666 daß der Eingangsring 292 in dem Zustand ist, in dem
das Kennfeld Γ1000. die Und-Schaltung 280 für das Eingangstori auf
Die zusammengestellte Speicheranforderung wird Leitung 266 über Leitung 286 erregt ist. Das Signal
dann durch das Pufferregister des Rechenmoduls 1 20 »CF1 speichern« auf Leitung 766 (Fig. 9C), das von
über einen durch die Rechenmodul-Ausgabemulti- dem oben beschriebenen Signal 11 β über die Oder-
plexeinheit ausgewählten Kanal in denEingabereihen- Schaltung 768 abgeleitet wird, steht zur Verfügung,
speicher für den assoziativen Speichermodul 1 gelei- um die Und-Schaltung 280 (Fig. 11) zu betätigen; es
tet, um den erforderlichen Befehl zu entnehmen, der ist hier allgemein mit »Speichern« bezeichnet und
durch die Speicherausgabemultiplexeinheit zum Be- 25 wird über die Leitung 172 übertragen. Daher wird
fehlspufferregister des Rechenmoduls 1 weitergeleitet das Eingangstor 266 betätigt.und leitet die Daten-
wird. informationen auf Leitung 278 weiter in das Register
Wie es F i g. 9 A zeigt, erscheinen die vorgenannten 260.
Informationen im Ausgaberegister 738 des Rechen- Das Signal 11 β auf Leitung760 (Fig. 9C) wird modluls 1 und werden von dort aus unter der Steue- 30 durch die Oder-Schaltung 770 geleitet, um das Signal rung des Signals auf Leitung 90 aus dem Systemkon- Cl auf Leitung 772 zu ergeben. Das Signal Cl betätaktgeber412 (Fig. 2A) zum Pufferregister 740 über- tigt zusammen mit dem oben beschriebenen Signal tragen. Die jetzt im Puffer 740 stehenden Informa- HC auf Leitung 130 (Fig. 9B) die Und-Schaltung tionen liefern das AnforderungssignalCR1 auf Lei- 772 (Fig. 9B), damit diese das SignalCFl auf Leitung 108 (Fig. 9B), das die Und-Schaltungen 110, 35 tung774 über die Oder-Schaltung776 erzeugt. Das 112 und 114 erregt. (Die Und-Schaltungen 112 und Signal CFl stellt dar, daß die Speicheranforderung 114 sind im Falle des Rechenmoduls 1 nicht nötig, erfolgreich aus dem Rechenmodul 1 zur Speichersind aber als Teil des Rechenmoduls beigesteuert dateneingabereihe 1 übertragen worden ist, und daworden, um den Modulcharakter aufrechtzuerhalten; mit, daß das Ausgaberegister 738 des Rechenmoduls 1 mit anderen Worten, die Und-Schaltungen 112 und 40 (Fig. 9A) zur Behandlung einer neuen Anforderung 114 würden benötigt, wenn dieser Rechenmodul mit zur Verfügung gestellt werden kann. Daher wird das einer anderen Nummer weiter hinten in dem Satz von Signal CFl in das Ausgaberegister des Rechen-Rechenmodulen stünde.) moduls 1 geleitet, wie es Fig. 9A und 16 zeigen. (In
Das Signal auf Leitung 132, das der Systemkontakt- Fig. 16 verwendet das dort gegebene Beispiel das geber 412 erzeugt, betätigt in Verbindung mit dem 45 Signal CF 2 auf Leitung 578.) Das Signal CFl stellt Signal CjR1 auf Leitung 108 die Und-Schaltung 110, die Anforderungsbiteinheit zurück und gestattet es so daß diese das Signal 11C auf Leitung 130 erzeugt. damit dem Rechenmodul, eine neue Speicheranforde-Gemäß Fig. 9A betätigt das Signal 11C die Und- rung unter der Steuerung der Rechenmodul-Pro-Schaltungen 742, wodurch die jetzt im Pufferregister grammsteuereinheit (Fig. 17B) mittels des Signals 740 befindlichen Informationen über die Oder-Schal- 50 »Anforderung übertragen« zu erzeugen,
tungen 746 auf Kanal 1, Leitungen 744, gelangen. Durch die Eingabe des Anforderungsbits des Spei-Der Speicheradressenteil der Speicheranforderungs- cheranforderungswortes ist der Status des Leerbits informationen erscheint auf den Leitungen 748, die im Register 1 260 des Reihenspeichers in den 1-Zuzu der Speicheradressendecodiereinheit (1) 186 füh- stand umgeändert worden, und daher erzeugt das Reren. Da im vorliegenden Beispiel die Speicheradresse 55 gister das Signal V.B. — 1 auf Leitung 304, das das für den assoziativen Speichermodul 1 verwendet wird, Signal »Mehr Arbeit« auf Leitung 310 erzeugt, welerzeugt die Speicheradressendecodieremheit 186 ein ches dem assoziativen Speichermodul (Fig. 12) mit-Signal D11 auf Leitung 750. Jetzt liegt das Signal zur teilt, daß er eine Anforderung erfüllen soll. Da die Weiterleitung der Anforderung zum richtigen Speicher Speicherprogrammsteuereinheit alle vorherigen Anvor. Es muß jedoch noch bestimmt werden, ob in dem 60 forderungen erfüllt hat, ist sie. jetzt imstande, diese Eingabereihenspeicher (Fig. 11) für den assoziativen laufende Anforderung zu bearbeiten, und daher er-Speichermodul 1 ein leeres Register enthalten ist. j zeugt sie das Signal »Lesen« auf Leitung 322 zum .. Wenn angenommen wird, daß alle früheren Anfor- ~ Eingabereihenspeicher (F i g. 11). Das Signal »Lesen« derungen durch den assoziativen Speichermodul 1 er- betätigt die Und-Schaltung 324 in Verbindung mit füllt worden sind, liegt das »Leerer-Eingabespeicher«- 65" dem Ausgangsring 314, der jetzt so.eingestellt ist, daß Signal 1 auf Leitung 752 (F i g. 9C) vor. Dieses Signal er ein Signal auf die Leitung 316 gibt, die dem Rewird aus dem Eingabereihenspeicher 1 (Fig. 11) gister (1) 260 entspricht. Das Ausgangssignal der ebenso abgeleitet, wie es oben in Verbindung mit dem Und-Schaltung 324 betätigt die Schaltungen des Aus-
57 58
gangstors (1) 272, um die Speicheranforderung über fühlverstärker betätigen« auf Leitung 378 die Aus-
die Oder-Schaltungen 330 zu den Datenausgabe- gangssignale der Steueranzeigeeinheit auf Leitung 400
leitungen 332 zu übertragen. Außerdem wird das über den Abfühlverstärker 398 zum Übereinstim-
Ausgangssignal der Und-Schaltung 324 auf Leitung mungsanzeigeteil der Steuerinformationen im Spei-
336 übertragen, um das Leerbit im Register (1) 260 5 cherausgaberegister.
in den O-Zustand zu bringen und damit dieses Re- Weiter liefert die Speicherprogrammsteuereinheit
gister zum Speichern einer neuen Speicheranforde- das Signal »Steuerinformationen weiterleiten« auf
rung freizumachen. Leitung 386, das die Rechenmoduladresse aus dem
Eine Betrachtung des assoziativen Speichermoduls Rechenmoduladressenregister 358 über die Und-
von Fig. 12 zeigt, daß der Datenwortteil der Anfor- io Schaltungen 388 zum Rechenmoduladressenteil des
derung über die Leitungen 344 übertragen wird, um Speicherausgaberegisters leitet. Dieses selbe Signal
die Eingabeschalter im assoziativen Speicher 342 ein- betätigt außerdem die Und-Schaltungen 390, so daß
zustellen. Bekanntlich umfassen die Informationen diese die feststehende Speicheradresse, die in diesem
des Datenwortteils im vorliegenden Beispiel die Auf- Falle den assoziativen Speichermodul 1 indentifiziert,
gabenummer2, den Status /und das Kennfeld Yl 000. 15 zum Speicheradressenteil 396 des Speicherausgabe-
Der Programmteil der Steuerinformationen wird registers weiterleiten. Schließlich erzeugt die Speiüber die Leitungen 350 zu der Aufgabendecodier- cherprogrammsteuereinheit das Signal» Anforderungseinheit 352 der Speicherprogrammsteuereinheit 354 bit einstellen« auf Leitung 404 zum Anforderungsbitübertragen. Der Rechenmodul-Adressenteil der Steu- teil 778 des Speicherausgaberegisters,
erinformationen wird über die Leitungen 356 zum 20 Jetzt enthält das Speicherausgaberegister folgende Rechenmodulsteuerregister 358 übertragen. Für diese Informationen: Die Anforderungsbiteinheit 778 ist im Speicheranforderung liefert die Speicherprogramm- 1-Zustand und zeigt damit das Vorliegen von Aussteuereinheit 354 Signale auf den Leitungen 360, die gangssignalen im Speicherausgaberegister an. Die alle Auswahlschalter (Fig. 8) in dem assoziativen Übereinstimmungsanzeigeeinheit 402 ist im 1-Zustand Speicher 342 in den Eingang-Ausgang-ohne-Sortie- 25 und zeigt damit an, daß ein einziges übereinstimmenrung-Status bringen. Da der Programmteil der Steuer- des Wort im assoziativen Speicher bei dieser Abfrainformationen die Abfragung durch den assoziativen gung gefunden worden ist. Der Rechenmoduladres-Speicher bezüglich Aufgabe, Status und Kennfeld, senteil 392 ist im 1-Zustand in seinem ersten Ababer nicht bezüglich des Datenteils des Datenwortes schnitt, was bedeutet, daß der Rechenmodul 1 diese erfordert, wird das Abdeckregister 366 in der Spei- 30 Informationen empfangen soll. Der zweite Abschnitt cherprogrammsteuereinheit in den Abdeckzustand für der Rechenmoduladresse ist im 1-Zustand, was anden Datenteil des Datenwortes gebracht, so daß zeigt, daß der Rechenmodul 1 diese laufenden Infor-Signale auf den Leitungen 368 entstehen, die die Ab- mationen in sein Befehlspufferregister aufnehmen deckschalter in die entsprechende Stellung bringen. soll. Der dritte Abschnitt der Rechenmoduladresse Außerdem erzeugt die Speicherprogrammsteuereinheit 35 ist für diese Operation ohne Bedeutung.
Signale auf den Leitungen 364, die die Steuerschalter Der Speicheradressenteil 396 ist im 1-Zustand, was des assoziativen Speichers 342 (Fig. 12) für die Aus- anzeigt, daß die Informationen aus dem assoziativen führung einer Ausgangsoperation einstellen. Speichermodul 1 kommen. Der Aufgabenteil 780 ist
Durch die vorstehenden Operationen wird das im 2-Zustand und zeigt damit an, daß das Programm Eingaberegister 48 (Fig. 8) entsprechend den Auf- 40 ein Teil der Aufgabe Nr. 2 ist. Der Statusteil 782 ist gaben-, Status- und Kennfeldteilen des Datenwortes im /-Zustand und zeigt an, daß dieses Wort ein Beeingestellt, also im vorliegenden Falle Aufgabe Nr. 2, fehl ist. Der Kennfeldteil 784 ist im Y 1000-Zustand Status / und Kennfeld Y1000. Die vom Abdeck- und identifiziert damit diesen Befehl als untersten register 366 (Fig. 12) aus gesteuerten Abdeckschalter Befehl des Baums in Fig. 6. Der Codeteil 786 370 werden in die Abdeckstellungen für den Datenteil 45 (Fig. 12) ist auf die Operation plus (+) eingestellt des Datenwortes gebracht. Die Auswahlschalter 362 und zeigt damit an, daß unter der Steuerung dieses bringen alle Stellen des Auswahlregisters 76 in den Befehls eine Addition auszuführen ist. Das Gegen-Eingang-Ausgang-ohne-Sortierung-Status, wie oben Standsfeld 788 ist für diesen Befehl leer,
erwähnt. Unter der Wirkung dieser Steuerungen fin- Das jetzt im Speicherausgaberegister zusammendet der assoziative Speichermodul 1 das Befehlswort 5° gestellte Wort, wird als nächstes über das Puffermit dem Kennfeld Y1000 und überträgt es zur Aus- register des assoziativen Speichermoduls 1 durch die gangsanzeigeeinheit 74. Außerdem zeigt der assozia- Speicherausgabemultiplexeinheit über einen ausgetive Speicher in den Steueranzeigeeinheiten 70 den wählten Kanal zum Rechenmodul 1 übertragen, wo Zustand der Übereinstimmungsanzeige an, in diesem es im Befehlspufferregister 1 gespeichert wird.
Falle den 1-Zustand, der zeigt, daß für die gegenwär- 55 Nun sei auf die Speicherausgabemultiplexeinheit tige Abfragung nur ein einziges übereinstimmendes von Fig. 1OA eingegangen, in der das Ausgabe-Wort vorliegt. Die über die Leitungen 380 ange- register 790 für den assoziativen Speichermodul 1 geschlossenen Ausgangsanzeigeeinheiten werden durch zeigt ist. Das zusammengestellte Wort wird als nächdie Abfühlverstärker 382 festgestellt, um dem Spei- stes aus dem Ausgaberegister in das Pufferregister 218 cherausgaberegister 372 das Datenwort zuzuführen. 60 geleitet durch das Signal auf der Ausgangsleitung 196 Da die vorherige Speicheranforderung vor der gegen- des Systemtaktgebers 412 (Fig. 2A). Aus dem Pufwärtigen Operation abgeschlossen war, betätigt das reregister liegt das Signal MR1 auf der Leitung 792 Signal »Ausgaberegister unbesetzt« auf Leitung 374 vor entsprechend dem »1«-Bit im Anforderungsbitteil die Speicher-Programmsteuereinheit, so daß sie das des Pufferregisters. Daher liegt kein Signal MRl auf Signal »Abfühlverstärker betätigen« auf Leitung 378 65 Leitung 220. Die Ausgangssignale des Registers steerzeugt und damit die Ausgangssignale des assozia- hen auf den Leitungen 794 zur Verfügung, die als tiven Speichers 342 in das Speicherausgaberegister Eingänge an die Und-Schaltungen 796, 798 und 800 372 überträgt. Außerdem überträgt das Signal »Ab- angeschlossen sind.
59 60
Ein Blick auf die Steuerlogik der Speicherausgabe- Steuereinheit, das Signal »Aufwärtszählen« über Leimultiplexeinheit (Fig. 10B) zeigt, daß das Signal tung450zu den »1 Aufwärtszählen«-Schaltungen424 Mi? 1 auf Leitung 792 die Und-Schaltung 802 zusam- (Fig. 13) zu senden. Von diesen Schaltungen aus men mit dem Taktsignal auf Leitung 222 betätigt. wird das Ausgangssignal 2 über die Oder-Schaltungen (Die Und-Schaltungen 804, 806 erfüllen im Falle des 5 454 zum Speicheradressenausgaberegister 422 überassoziativen Speichermoduls 1 keine Funktion. Sie tragen unter der Steuerung des Signals »Zähler betäsind jedoch als Teil des Modulblocks dargestellt und tigen« auf Leitung 456 aus der Rechenmodul-Prowürden benutzt, wenn dieser Speicher als Speicher grammsteuereinheit (Fig. 17A).
mit höherer Nummer eingebaut würde, d. h. weiter Es ist nun möglich, die neue Speicheranforderung nach rechts entlang der in Fig. 1OA und 1OB dar- io in dem Rechenmodul-Ausgaberegister 566 (Fig. 16) gestellten Kanäle.) Das Ausgangssignal der Und- zusammenzustellen. Der Anforderungsbitteil 576 und Schaltung 802 auf Leitung 246 ist das Signal 11M, der Rechenmoduladressenteil 588 werden aus der das auch in Fig. 1OA als steuerndes Eingangssignal Speichersteuerinformationseinheit 42 übertragen, abfür die Und-Schaltungen 796 erscheint. Dieses Signal geleitet aus der Rechenmodul-Programmsteuereinheit ist es nun, das die jetzt im Pufferregister 218 des 15 (Fig. 17C) infolge des Signals »Rechenmodulnamen, assoziativen Speichermoduls 1 befindlichen Informa- Operandpufferregistercode, Code des rechten Opetionen auf die Leitungen 230 von Kanal 1 über die randregisters und Anforderungsbit weiterleiten«. Der Oder-Schaltungen 232 leitet. Programmteil 584 der Speicheranforderung wird über
Als nächstes wird der Rechenmoduladressenteil die Leitungen 582 aus der Speichersteuerinformader Informationen in der Decodier-Einheit 236 be- 20 tionseinheit 42 übertragen, abgeleitet aus der Rechennutzt, um zu bestimmen, welcher Rechenmodul und modulprogrammsteuereinheit durch das Signal »Abwelches Pufferregister in dem betreffenden Rechen- fragen nach Aufgabe, Status, Kennwort und löschend modul die Informationen empfangen soll. In diesem entnehmen«. Der Speicheradressenteil 590 wird aus Falle erscheint das Decodiersignal als das Signal 11/ dem Speicheradressenausgaberegister 422 (Fig. 13) auf Leitung 254 (Fig. 10A), die zu den Und-Schal- 25 übertragen unter der Steuerung der Und-Schaltungen tungen256 führt. Diese leiten die Informationen aus 444, die durch das Signal »Adresse in 30 eingeben« den Kanalleitungen 230 über die Oder-Schaltungen auf Leitung 448 gesteuert werden. Der Aufgabenteil 258 weiter zu den Leitungen 808, die in das Befehls- 616 des Wortes (Fig. 16) wird aus dem Aufgabenteil pufferregister 14 im Rechenmoduli (Fig. 2B) fiih- des Befehlsregisters 28 über die Und-Schaltungen 620 ren. Durch das Vorliegen dieser Informationen im 30 abgeleitet, die durch das Signal »Aufgabe in 30 ein-Befehlspufferregister wird das Signal »Befehlspuffer- geben« auf Leitung 624 aus der Rechenmodul-Proregister besetzt« zu der Rechenmodul-Programm- grammsteuereinheit gesteuert werden. Der Statusteil Steuereinheit (Fig. 17A) gesendet. Jetzt wird ange- 626 wird aus der feststehenden Γ-Quelle 654 über die nommen, daß der Rechenmodul noch den vorher- Und-Schaltungen 656 übertragen, die durch das gehenden Befehl bearbeitet und daß daher die 35 Signal»T weiterleiten« auf der Leitung 658 aus der Rechenprogrammsteuereinheit eine auf diesem Signal Rechenmodul-Programmsteuereinheit gesteuert werberuhende Operation noch nicht ausführt, den. Der Kennfeldteil 666 des Ausgangswortes 566
Während die Recheneinheit 38 des Rechenmoduls (Fig. 16) kommt aus dem Kennfeldteil 686 des rech-
(Fig. 2B) noch die vorhergehende Multiplikations- ten Operandregisters 22 über die Leitungen 672 und
operation ausführt, d. h. die Operation, die der Be- 40 die Und-Schaltungen 688 unter der Steuerung des
fehl mit dem Kennfeld Γ0100 erfordert, bereitet der Signals »Kennfeld in 30 eingeben« auf Leitung 690
Rechenmodul eine Speicheranforderung für den nach- aus der Rechenmodul-Programmsteuereinheit. Der
sten benötigten Operanden vor, bei der es sich In Datenteil von Fig. 16 ist für diese Speicheranforde-
diesem Falle um eine Anforderung für den rechten rung nicht nötig.
Operanden mit dem Kennfeld YIlOO handelt. Das 45 Es sind also folgende Informationen im Ausgabe-Kennfeld ΥΊ100 ist der Kennfeldteil 686 des rechten register 566 von Fig. 16 zusammengestellt worden: Operandregisters 22, wie es oben in Verbindung mit Das Anforderungsbit 576 steht auf 1 und zeigt damit Fig. 16 beschrieben worden ist. Die Übertragung der an, daß eine neue Anforderung der Rechenmodulvorhergehenden Anforderung, d. h. der Anforderung Ausgabemultiplexeinheit (Fig. 9A) zur Übertragung für das Befehlswort mit dem Kennfeld Y1000, 5° zu einem assoziativen Speichermodul zur Verfügung durch die Recherimodul-Ausgabemultiplexeinheit 30 steht. Der Programmteil 584 ist auf den Code für die (Fig. 2B) hat zur Erzeugung des Signals »Anforde- durch den assoziativen Speichermodul auszuführende rung übertragen« geführt, welches die Rechenmodul- Operation eingestellt, in diesem Falle die Operation Programmsteuereinheit (Fig. 17B) veranlaßt, jetzt der Abfragung nach der Aufgabennumer, dem Status eine neue Anforderung zusammenzustellen, in diesem 55 und dem Kennfeld und danach der löschenden Ent-Falle eine Anforderung für den rechten Operanden. nähme des übereinstimmenden Wortes. Der Rechen-
Ein Teil der für die neue Anforderung benötigten moduladressenteil 588 weist in seinem Feld drei AbInformationen ist die Adresse des Speichers, der den schnitte auf. Der erste Abschnitt ist im 1-Zustand rechten Operanden enthält. Die Speicheradresse 1 er- und zeigt damit, daß die aus dem assoziativen Speischeint im Speicheradressenausgaberegister 422 des 60 chermodul entnommenen Informationen zum Rechen-Speicheradressengenerators (Fig. 13) und im Spei- modul 1 zurückzuübertragen sind; der zweite Abcheradresseneingaberegister 420 als Resultat der vor- schnitt zeigt an, daß die Informationen zum Operandausgegangenen Operation. Da das frühere Resultat pufferregister 18 des Rechenmoduls 1 zurückzuübereinen linken Operanden betraf, sendet der Kennfeld- tragen sind, wie es Fig. 1OA und 1OB zeigen, und generator 36 (Fig. 2B) das Signal »Linker Operand« 65 der dritte Abschnitt der Rechenmoduladresse ist in zur Rechenmodul-Programmsteuereinheit, damit es den »Rechts«-Zustand gestellt, um anzuzeigen, daß in der nachfolgenden Operation verwendet wird. Die- die Informationen aus dem Operandpufferregister 18 ses Signal veranlaßt die Rechenmodul-Programm- in das rechte Operandregister 22 zu übertragen sind.
61 62
Der Speicheradressenteil 590 (Fig. 16) ist im den Befehl mit dem Kennfeld YIlOO aufgerufen
»2»-Zustand, was bedeutet, daß diese Anforderung wurde und von der angenommen wird, daß sie von
zum assoziativen Speichermodul 2 geleitet werden einem anderen Rechenmodul ausgeführt und ge-
soll. Der Aufgabenteil 616 ist im »2»-Zustand und speichert worden ist gemäß Regel 9 vor der hier
zeigt damit an, daß diese Anforderung die Aufgabe 5 beschriebenen Operation.)
Nr. 2 betrifft. Der Statusteil 626 ist im Γ-Zustand, Die jetzt im Speicherausgaberegister zusammenwas zeigt, daß die Suche.im assoziativen Speicher ein gestellten Informationen werden durch die Speicher-Datenwort im T-Status betrifft. Der Kennfeldteil666 ausgabe-Multiplexeinheit (Fig. 1OA und 10B) in ist auf Y1100 eingestellt, das Kennfeld für den rech- ähnlicher Weise wie für die vorausgegangene Anten Operanden. Wie schon erwähnt, ist der Datenteil io förderung übertragen mit der Ausnahme, daß das 692 hier ohne Bedeutung. Ausgangssignal der Decodier-Einheit 236 (F i g. 10 A)
Die Rechenmodul-Ausgabemultiplexeinheit (Fig. das Signal HOP auf Leitung 238 ist, um diese In-
9A) arbeitet in bezug auf diese neue Anforderung formationen über die Oder-Schaltungen 242 und
ähnlich, wie oben beschrieben, nur wird diese Anfor- die Und-Schaltungen 240 im Operandpufferregister
derung entsprechend dem Speicheradressenteil der 15 (1) 18 zu speichern. Wenn Kanal 1 für die Informa-
Steuerinformationen zu dem assoziativen Speicher- tionsübertragung ausgewählt worden ist, in diesem
modul 2 weitergeleitet, während bei der früheren An- Falle für die Übertragung der aus dem assoziativen
förderung der assoziative Speichermodul 1 der Be- Speichermodul 1 kommenden Befehlsanforderung,
stimmungsort war. Diese Operation wird eingeleitet, ist Kanal 1 für die Übertragung der gegenwärtigen
indem das Signal 12 β auf Leitung 810 in ähnlicher 20 Anforderung nicht verfügbar. Statt der Steuerung des
Weise abgeleitet wird, wie es oben in bezug auf das Signals 12 M auf Leitung 228 steht jetzt das Signal
Signal 11 β auf Leitung760 (Fig. 9A) beschrieben 22M auf Leitung 250 zur Verfügung, das die Und-
worden ist. . Schaltungen 204 betätigt, um die Informationen über
Auch der Eingabereihenspeicher 44 α des Spei- die Oder-Schaltungen 816 auf die Leitungen 814 des chermoduls (Fig. 11) arbeitet ähnlich, wie es oben 25 Kanals 2 zu übertragen. In diesem Falle findet die in Verbindung mit der vorherigen Speicheranforde- Decodierung der Rechenmoduladresse in der Kanalrung für Speichermodul 1 beschrieben worden ist 2-Decodiereinheit 252 statt, die das Signal 210F auf Die Operation des assoziativen Speichermoduls Leitung 818 erzeugt, welches die Und-Schaltungen gleicht der für die frühere Anforderung mit der Aus- 820 betätigt, so daß die Informationen von den Leinahme, daß der Befehl die löschende Entnahme der 30 tungen 814 aus über die Oder-Schaltungen 242 zum Informationen aus dem Speicher vorsieht, da dies Operandpufferregister (1) 18 gelangen. Durch die ein vorläufiges Datenwort ist, während die frühere Speicherung der Informationen im Operandpuffer-Anforderung ein Befehlswort betraf, das dauernd im register 18 entsteht das Signal »Operandpuffer-Speicher zurückbehalten werden mußte. Das Ergeb- register besetzt«, das der Rechenmodul-Programmnis dieser Operationen ist die Übertragung der fol- 35 Steuereinheit 26 (F i g. 17 A) zugeführt wird,
genden Steuer- und Datenwortinformationen zum Jetzt stehen die neuen Informationen sowohl im 'Speicherausgaberegister 372 (Fig. 12), um dessen Befehlspufferregister 14 als auch im Operandpuffer-Abschnitte entsprechend einzustellen. Im Speicher- register 18 zur Verfügung. Im einzelnen enthält das ausgaberegister 372 wird der Anforderungsbitteil 778 Befehlspufferregister 14 das Anforderungsbit, das im in den 1-Zustand gebracht, um anzuzeigen, daß die 40 1-Zustand ist und damit anzeigt, daß eine erfüllte Anforderung erfüllt worden ist. Der Ubereinstim- Anforderung nun am Befehlspufferregister verfügbar mungsanzeigeteil 402 wird in den 1-Zustand ge- ist, und außerdem ist die Übereinstimmungsanzeige bracht, um anzuzeigen, daß in diesem assoziativen im 1-Zustand und zeigt damit an, daß ein gültiges Speichermodul ein einziges Wort enthalten war, das Wort als Resultat der Anforderung aus dem Speiden durch die Anforderung aufgestellten Bedingun- 45 eher entnommen worden ist. Der Rechenmodulgen entsprach. Der Rechenmoduladressenteil 392 adressenteil und der Speicheradressenteil sind nicht wird im ersten Abschnitt in den 1-Zustand gebracht, mehr von Bedeutung. Der Datenwortteil enthält die um anzuzeigen, daß die Informationen dem Rechen- Aufgabennummer 2, die besagt, daß diese Informamodul 1 zuzuleiten sind. Der zweite Abschnitt wird tionen zur Aufgabe Nr. 2 gehören. Der Statusteil in den 0-Zustand gebracht, um anzuzeigen, daß die 50 steht auf / und zeigt an, daß dies ein Befehl ist, der Informationen in das Operandpufferregister des Kennfeldteil steht auf YlOOO und definiert damit Rechenmoduls 1 zu übertragen sind, und der dritte dieses Befehlswort als unterstes Wort des Baums Abschnitt wird in den »Rechts«-Zustand gebracht, von F i g. 6. Außerdem enthält das Befehlspufferum anzuzeigen, daß die Informationen in das rechte register den Code +, der besagt, daß die Additions-Operandregister zu übertragen sind. Der Speicher- 55 operation unter der Steuerung des Befehlswortes adressenteil 396 wird in den 2-Zustand gebracht, um .auszuführen ist. Im Gegenstandsfeld erscheint eine anzuzeigen, daß diese Informationen aus dem asso- Leerstelle, da der Gegenstand ohne Bedeutung für ziativen Speichermodul 2 abgeleitet werden. Der Auf- den Befehl ist.
gabenteil 780 wird in den 2-Zustand gebracht, um Im Operandpufferregister 18 stehen folgende Inanzuzeigen, daß diese Informationen die Aufgabe 60 formationen zur Verfügung: Das Anforderungsbit ist Nr. 2 betreffen. Der Statusteil 782 wird in den Γ-Zu- im 1-Zustand und zeigt an, daß jetzt eine erfüllte stand gebracht, um anzuzeigen, daß das rücküber- Anforderung im Operandpufferregister ist, und das tragene Wort ein Datenwort mit Status T ist. Der Übereinstimmungsanzeigeblatt ist im 1-Zustand und Kennfeldteil 784 wird auf YIlOO eingestellt, um an- zeigt an, daß ein gültiges Wort auf die Anforderung zuzeigen, daß diese Informationen für das Wort mit 65 ,hin entnommen worden ist. Der erste und der zweite diesem Kennfeld gelten. Der Datenteil 812 wird auf Abschnitt der Rechenmoduladresse sind nicht mehr den Wert 22,78 eingestellt. (Der Wert 22,78 ist das von Bedeutung, da sie ihren Zweck erfüllt haben, Resultat der Multiplikation von 3,4-6,7, die durch nämlich die Informationen zum richtigen Rechen-
63 64
modul und zum richtigen Operandpufferregister zu durch das Operandpufferregister 18 auf Auffordeleiten. Der dritte Abschnitt der Rechenmoduladresse rung durch das Signal »Rechter Operand« zugeführt, ist jedoch noch von Bedeutung, denn er liefert die das zur Rechenmodul-Programmsteuereinheit überInformation in diesem Falle, daß der Operand ein tragen wird (F i g. 17A).
rechter Operand ist und daß daher im nächsten 5 Jetzt enthalten die drei Hauptregister des Rechen-Stadium der Operation diese Informationen aus dem moduls folgende Informationen: Das linke Operand-Operandpufferregister 18 in das rechte Operand- register 20 enthält die Aufgabennummer 2, den Staregister 22 übertragen werden müssen. Die Speicher- tus / (der nicht mehr von Bedeutung ist), das Kennadresse ist für diese Operation ohne Bedeutung, feld YOlOO und das Datenwort 2,76. Das rechte Im Datenwortteil des Operandpufferregisters ist die io Operandregister 22 enthält die Aufgabennummer 2, Aufgabennummer im 2-Zustand und zeigt an, daß den Status T (der ebenfalls jetzt ohne Bedeutung ist), diese Informationen die Aufgabe Nr. 2 betreffen; der das Kennfeld Γ1100 und das Datenwort 22,78. Das Statusteil ist im T-Zustand und zeigt an, daß diese Befehlsregister 28 enthält die Aufgabennummer 2, Informationen ein Datenwort mit Status T bilden; den Status /, das Kennfeld YlOOO, den Code + und der Kennfeldteil ist im Zustand YIlOO und zeigt an, 15 ein leeres Gegenstandsfeld, da dieser Befehl keinen daß diese Informationen den rechten Operanden für Gegenstand erfordert. Daher sind in den drei Hauptdie letzte Operation in dem Befehlsbaum von F i g. 6 registern die jeweiligen Operanden und der Befehl betreffen, und der Datenteil ist auf den Wert 22,78 zur Ausführung der Operation zusammengestellt, die eingestellt, der das Resultat der Rechnung des rech- am Boden des Baums in Fig. 6 angefordert ist.
ten Hauptzweiges des Befehlsbaums ist. 20 Die Rechenmodul-Programmsteuereinheit über-Bekanntlich überschnitt sich die Erfüllung der bei- trägt das Signal »Code in 32 eingeben« zum Befehlsden oben beschriebenen Anforderungen mindestens register 28 (Fig. 2B). Dieses Signal überträgt den teilweise mit der Operation der Recheneinheit 38 bei Code für die Additionsoperation aus dem Codeteil der Ausführung der vorhergehenden Multiplikations- des Befehlsregisters 28 zur Befehlsdecodieremheit 32 operation. Als nächstes wird das vorhergehende Re- 25 über die Leitungen 826, die das Steuersignal liefern, sultat, das der linke Operand wird, mit dem das die Recheneinheit 38 veranlaßt, die Addition jetzt im Operandpufferregister stehenden rechten auszuführen, wenn sie die beiden Operanden emp-Operanden kombiniert. · Die Operation wird unter fängt. Die Operationsinformationen werden aus der der Steuerung des jetzt im Befehlspufferregister 14 Befehlsdecodiereinheit 32 zur Recheneinheit 38 unter enthaltenen Befehls ausgeführt. Zu diesem Zweck 30 der Steuerung des Signals »Operation in 38 einwerden diese Wörter aus dem Operandpufferregister geben« übertragen, das aus der Rechenmodul-Pro-18 bzw. aus dem Befehlspufferregister 14 in das grammsteuereinheit kommt. Außerdem überträgt die rechte Operandregister 22 und in das Befehlsregister Rechenmodul-Programmsteuereinheit das Signal 28 übertragen. »Operation in 38 eingeben« zum linken Operand-Wenn die Recheneinheit 28 die durch den Befehl 35 register 20 (Fig. 2B) und veranlaßt dieses so, seine mit dem Kennfeld YOlOO aufgerufene Multipli- Daten über die Leitungen 828 zur Recheneinheit 38 kationsoperation beendet, stehen die Resultate 2,76 zu senden. Im Falle unseres Beispiels handelt es sich zur Verfügung. Das Signal »Operation beendet« dabei um die Zahl 2,76. Ebenso erzeugt die Rechenwird von der Recheneinheit erzeugt und zur Rechen- modul-Programmsteuereinheit das Signal »Daten in modul-Programmsteuereinheit (Fig. 17B) übertra- 40 38 eingeben«, das zum rechten Operandregister 22 gen. Diese sendet das Signal »Daten in 28 eingeben« übertragen wird und es veranlaßt, seine Daten über zur Recheneinheit 38, die die Übertragung dieses die Leitungen 830 zur Recheneinheit 38 zu übertra-Resultats über Leitung 732 zum Datenteil 706 gen. In diesem Falle wird der Wert 22,78 übertragen. (Fig. 16) des Befehlsregisters 28 veranlaßt. Da der Die Recheneinheit 38 führt nun die dem Befehl entBefehl im Befehlsregister keine Verzweigungsopera- 45 sprechende Operation aus, also in diesem Falle die tion erforderte, wird das Signal »Status-B-Befehl« Addition.
nicht zur Rechenmodul-Programmsteuereinheit über- Während die Recheneinheit gemäß diesem Befehl tragen. Diese kann daher weiter den Baum hinunter arbeitet, wird gewöhnlich die Erzeugung neuer Kennvorgehen. Um dies zu tun, besteht die erste Opera- feider und die Vorbereitung neuer Speicheranfordetion darin, das Datenwort aus dem Befehlsregister 28 50 rungen fortgesetzt. Zunächst wird der Kennfeldindex sowohl in das linke Operandregister 20 als auch in aus dem Befehlsregister 28 über die Leitungen 34 das rechte Operandregister 22 zu übertragen mittels zum linken Operandregister 20 und zum rechten des Signals »Datenwort in 20 und 22 eingeben« aus Operandregister 22 und über die Leitungen 724 der Rechenmodul-Programmsteuereinheit. zum Kennfeldgenerator 36 übertragen unter der Wenn dann die Rechenmodul-Programmsteuer- 55 Steuerung des Signals »Index in 20, 22 und 36 eineinheit feststellt, daß ihr der nächste Befehl im Be- geben«, das aus der Rechenmodul-Programmsteuerfehlspufferregister 14 zur Verfügung steht, was durch einheit abgeleitet wird. Gewöhnlich würde nun der das Signal »Befehlspufferregister besetzt« angezeigt Kennfeldgenerator neue Kennfelder erzeugen, wie wird, und daß ihr der nächste Operand im Operand- es oben beschrieben ist. Im vorliegenden Falle ist pufferregister 18 zur Verfügung steht, was durch das 60 jedoch der Anhang gleich 1000, und die Tatsache, Signal »Operandpufferregister besetzt« und das Si- daß die extrem rechte 1 sich in der extrem linken gnal »Assoziativer Speicher — Übereinstimmungs- Stelle des Indexfeldes befindet, erzeugt das Signal anzeige = 1« angezeigt wird, kann sie das Daten- »Ende des Baumprogramms« auf Leitung 832 wort aus dem Befehlspufferregister 14 über die Lei- (Fig. 15). Dieses Signal wird wie folgt erzeugt: Das tungen 822 zum Befehlsregister 28 und aus dem 65 auf Leitung 522 von der Rechenmodul-Programmrechten Operandpufferregister 18 über die Leitungen Steuereinheit erzeugte Signal »Neue Kennfelder er- 824 zum rechten Operandregister 22 übertragen. zeugen« führt zu einem Signal auf der Leitung 526 Der Operand wird dem rechten Operandregister 22 als Ausgangssignal der Und-Schaltung 524, die in
Verbindung mit der »0« in der vierten Bisteile des Anhangs betätigt wird. Da auch die dritte Bitstelle des Anhangs eine 0 enthält, liegt ein Signal auf Leitung 514 vor, das zusammen mit dem Signal auf Leitung 526 die Und-Schaltung 532 betätigt, die ein Ausgangssignal auf Leitung 834 erzeugt. Da auch die zweite Stelle des Indexregisters eine 0 enthält, liegt ein Signal auf Leitung 510 vor, das zusammen mit dem Signal auf Leitung 834 die Und-Schaltung 534 betätigt, die ein Signal auf Leitung 836 erzeugt
Jetzt ist jedoch eine 1 in der ersten Stelle des Index enthalten, so daß ein Signal auf Leitung 508 vorliegt, das zusammen mit dem Signal auf Leitung 836 die Und-Schaltung 538 betätigt, die das Signal »Ende des Baumprogramms« auf Leitung 832 erzeugt. Dieses Signal wird der Rechenmodul-Programmsteuereinheit zugeführt und leitet dort die Operation gemäß Regel 13 ein, wodurch das Resultat der Rechnung über die Leitungen 838 zu der Ausgabevorrichtung 46 übertragen wird.
Hierzu 7 Blatt Zeichnungen

Claims (16)

Patentansprüche:
1. Programmgesteuerte Rechenanordnung mit einer assoziativen Speichereinheit, in welcher Befehlswörter in beliebiger Reihenfolge gespeichert werden, und mit in den Befehlswörtern enthaltenen, einem assoziativen Aufruf zugänglichen Kennfeldern, deren Codierung der Gesetzmäßigkeit eines binär verzweigten Programmbaumes entspricht und welche die Position der Befehlswörter in diesem Programmbaum festlegen, dadurch gekennzeichnet, daß die assoziative Speichereinheit (16) zur Aufnahme von Datenwörtern dient, die ein Kennfeld (Y), das die Zugehörigkeit des Datenwortes zu einem bestimmten Befehlswort innerhalb des Programmbaums angibt, sowie eine ihren verarbeitungsbereiten Zustand anzeigende Markierung (R) enthalten, daß wenigstens zwei Recheneinheiten (Rechenmodul 1 und 2) vorgesehen sind, die im arbeitsfreien Zustand unabhängig voneinander Befehls- und Datenwörter aus der assoziativen Speichereinheit (16) zur Verarbeitung anfordern, und daß jede Recheneinheit eine Bewertungsschaltung (36) aufweist, die nach assoziativer Entnahme eines beliebigen als verarbeitungsbereit markierten Datenwortes aus der Speichereinheit (16) von dessen Programmbaum-Kennfeld das Programmbaum-Kennfeld des zugehörigen Befehlsworts und eines weiteren Datenwortes, das gemeinsam mit dem erstgenannten Datenwort durch Ausführung des Befehlswortes zu verarbeiten ist, ableitet und die abgeleiteten Kennfelder der assoziativen Speichereinheit (16) für eine Entnahmeoperation zuleitet.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß eine Rechner-Programmsteuereinheit (26) vorgesehen ist, die in einer dem Aufsuchen des ersten Datenwortes vorhergehenden Ladephase mit Kenndaten zugehöriger Datenwörter versehene Befehlswörter in der Reihenfolge ihres Auftretens in die assoziative Speichereinheit (16) einspeichert und danach für jedes einzugebende Datenwort durch assoziativen Aufruf mit dem Datenwort-Kennfeld aus der Speichereinheit (16) das zugehörige Befehlswort aufruft und aus diesem das Programmbaum-Kennfeld (Y) in das Datenwort übernimmt, welches dann in einen freien Wortbereich der Speichereinheit (16) eingespeichert wird.
3. Anordnung nach Anspruch 1 und 2, dadurch gekennzeichnet, daß die Rechner-Programmsteuereinheit (26) ein Zwischenresultat, das bei der Ausführung eines Befehlswortes entstanden ist und als Operand für ein im Programmbaum nachfolgendes Befehlswort weiter zu verwenden ist, dem Programmbaum-Kennfeld (Y) des ausgeführten Befehlswortes zugeordnet und mit diesem versehen als neues Datenwort abspeichert, wenn der zweite Operand des nachfolgenden Befehlswortes noch nicht verarbeitungsbereit zur Verfügung steht.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß jedes Datenwort in der assoziativen Speichereinheit (16) durch ein zusätzliches Kennzeichen (C) als Konstantwert oder als Zwischenresultat ausgewiesen ist und daß die Entnahme eines als zweiter Operand für die Ausführung eines Befehlswortes fehlenden Datenwortes aus der Speichereinheit (16) durch gemeinsamen assoziativen Aufruf des Programmbaum-Kennfeldes (Y) und des zusätzlichen Kennzeichens (C) dieses Datenwortes erfolgt.
5. Anordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein Befehlswort ein weiteres Kennzeichnungsfeld (IF, D) aufweist, in welchem Beziehungen zu anderen Befehlswörtern als mit ausgewählten Feldern dieser Wörter korrespondierende Kennzeichen (z. B. Programmbaum-Kennfeld Y) eintragbar sind, die als inhaltsbezogene Adresse bei Verzweigungsoperationen Verwendung finden.
6. Anordnung nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß ein Befehlswort neben seinem Kennfeld (Y) zur Anzeige der Lage im Programmbaum, dem Operationscode der auszuführenden Operation und dem weiteren Kennzeichnungsfeld (/F, D) für Beziehungen zwischen verschiedenen Wörtern ein Problem-Nummernfeld und ein Statusfeld (/) aufweist, das einen Befehl von einem Datenwort unterscheidet und Steuerbefehle, wie Verzweigungen, angibt.
7. Anordnung nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß ein Datenwort neben seinen übrigen Kennfeldern ein Problem-Nummernfeld enthält.
8. Anordnung nach einem oder mehreren der Ansprüche 1 bis 7 mit mehreren selbständigen, weitgehend unabhängig voneinander arbeitenden Recheneinheiten und mehreren Speichereinheiten, dadurch gekennzeichnet, daß mehrere parallelgeschaltete Rechenmodule (1 bis N) und mehrere parallelgeschaltete assoziative Speichermodule (16, 16 a bis 16 n) durch eine Anzahl Datenübertragungskanäle (140, 814) miteinander koppelbar angeordnet sind, daß eine von den Ausgängen der Rechenmodule gesteuerte erste Multiplexschaltung (30) vorgesehen ist, die auf eine Zugriffsanforderung von einem Rechenmodul in Abhängigkeit von im anfordernden Rechenmodul errechneten Zugriffsadreßdaten einen Übertragungskanal zum gewünschten Speichermodul bereitstellt, und daß eine von den Ausgängen der Speichermodule gesteuerte zweite Multiplexschaltung (12) vorgesehen ist, die auf eine Ausgabeanforderung von einem Speichermodul in Abhängigkeit von im betreffenden Zugriff enthaltenen Ausgabeadreßdaten einen Übertragungskanal zum gewünschten Rechenmodul bereitstellt.
9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß jeder der Rechenmodule ein erstes mit der Recheneinheit (38) verbundenes Operandenregister (20) für Operanden von nach links gerichteten Zweigen des Programmbaums und ein zweites mit der Recheneinheit verbundenes Operandenregister (22) für Operanden von nach rechts gerichteten Zweigen des Programmbaumes aufweist, daß beide Operandenregister einerseits mit einem Operandenpufferregister (18) des Rechenmoduleingangs und andererseits mit einem Befehlsregister (28) in Ab-
hängigkeit vom jeweiligen Kennfeld des in Behandlung stehenden Wortes wahlweise koppelbar sind und daß die Operandenregister und das Befehlsregister ausgangsseitig mit der Rechenausgangs-Multiplexschaltung (30) in Verbindung stehen.
10. Anordnung nach Ansprüche und/oder 9, dadurch gekennzeichnet, daß jeder Rechenmodul einen Kennfeldgenerator (36) aufweist, dessen Eingang mit dem Befehlsregister (28) und dessen Ausgang mit beiden Operandenregistern (20 und 22) und dem Befehlsregister verbunden ist und der ein vom Befehlsregister empfangenes Kennfeld als Kennfeld eines rechten oder linken Operanden erkennt und die Kennfelder des zugehörigen linken bzw. rechten Operanden und der zugehörigen Instruktion errechnet.
11. Anordnung nach Anspruch 10, dadurch gekennzeichnet, daß der Kennfeldgenerator (36) eine Schaltung (490) zur Ermittlung der äußersten binären 1 des Kennfeldes und eine Anzeigeschaltung über den Zustand der der äußersten binären 1 des Kennfeldes benachbarten Binärziffer aufweist zur Angabe, ob ein rechter oder ein linker Operand vorliegt.
12. Anordnung nach einem oder mehreren der Ansprüche 8 bis 11, dadurch gekennzeichnet, daß jeder Rechenmodul einen Speichermodul-Adressengenerator (24) aufweist, der die Rechenmodulnummer der folgenden Daten- oder Befehlswörter aus der Rechenmodulnummer des laufenden Daten- oder Befehlswortes und aus der vom Kennfeldgenerator (36) erzeugten Anzeige über das Vorliegen eines Befehlswortes von einem linken oder rechten Programmzweig bestimmt.
13. Anordnung nach Anspruch 12, dadurch gekennzeichnet, daß der Adressengenerator (24) eine die Nummern der Speichermodule (16, 16 a bis 16 n) in Form einer geschlossenen Schleife nacheinander bildende Um-1-Erhöhungs- und Um-1-Erniedrigungsschaltung (424) aufweist, die in Abhängigkeit vom Vorliegen eines Operanden von einem linken oder rechten Programmzweig die Speichermodulnummer um 1 erhöht oder um 1 erniedrigt, so daß aufeinanderfolgende Entnahmen in verschiedenen Speichermodulen wirksam werden.
14. Anordnung nach einem oder mehreren der Ansprüche 8 bis 13, dadurch gekennzeichnet, daß dem Eingang eines jeden der Speichermodule ein Eingabereihenspeicher (44) zugeordnet ist, der nach dem Schema »als erster hinein, als erster heraus« arbeitet und der Eingangsseitig mit der Rechner ausgang-Multiplexschaltung (30) verbunden ist zur Pufferung von Einspeicher- oder Entnahmeanforderungen.
15. Anordnung nach einem oder mehreren der Ansprüche 8 bis 14, dadurch gekennzeichnet, daß die Rechnerausgang-Multiplexschaltung(30) eine Anzahl Übertragungskanäle (140) aufweist, von denen durch eine Auswahlschaltung (Fig. 9A bis 9C) mehrere für gleichzeitig von von verschiedenen Rechenmodulen erfolgende Übertragungen auswählbar sind und daß die Rechnerausgang-Multiplexschaltung (30) für jeden Kanal (140) einen Speichermodul-Adressendecodierer (144, 186) aufweist, der aus der über den ausgewählten Kanal (140) zu übertragenden Anforderung die Speichermodulnummer entnimmt und aus ihr ein Adressensignal bildet, das in Verbindung mit einem Frei-Signal vom Eingabepuff er (44) des betreffenden Speichermoduls (16, 16 a bis 16«) die Durchschaltung des ausgewählten Kanals (140) zu diesem Speichermodul vornimmt.
16. Anordnung nach einem oder mehreren der Ansprüche 8 bis 15, dadurch gekennzeichnet, daß die Speicherausgang-Multiplexschaltung (12) eine Anzahl Übertragungskanäle (814) aufweist, von denen durch eine Auswahlschaltung (Fig. 1OA und 10B) mehrere für gleichzeitig von verschiedenen Speichermodulen (16, 16 a bis 16 ή) erfolgende Übertragungen auswählbar sind, und daß die Speicherausgang-Multiplexschaltung (12) für jeden Kanal (814) einen Rechenmodul-Adressendecodierer (236, 252) aufweist, der aus der über den ausgewählten Kanal zu übertragenden Antwort die Rechenmodul-Nummer entnimmt und aus ihr ein Adressensignal bildet, welches die Durchschaltung des ausgewählten Kanals (814) zum gewünschten Rechenmodul (1 bis N) vornimmt.
DE19641474047 1963-11-07 1964-11-06 Programmgesteuerte Rechenan Ordnung Expired DE1474047C (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US32216063 1963-11-07
US322160A US3349375A (en) 1963-11-07 1963-11-07 Associative logic for highly parallel computer and data processing systems
DEJ0026829 1964-11-06

Publications (3)

Publication Number Publication Date
DE1474047A1 DE1474047A1 (de) 1970-12-17
DE1474047B2 true DE1474047B2 (de) 1972-09-28
DE1474047C DE1474047C (de) 1973-04-19

Family

ID=

Also Published As

Publication number Publication date
DE1474047A1 (de) 1970-12-17
US3349375A (en) 1967-10-24
JPS4941942B1 (de) 1974-11-12
GB1077845A (en) 1967-08-02

Similar Documents

Publication Publication Date Title
DE2130299C3 (de) Eingabe-/Ausgabekanal für eine Datenverarbeitungsanlage
DE1524102C3 (de) Elektronische, aus Baueinheiten aufgebaute Datenverarbeitungsmaschine
DE1303071B (de)
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2806045A1 (de) Dv-system mit pufferspeicher
DE1900141B2 (de) Hilfssteuerwerk fur eine Datenver arbeitungsanlage
DE1449530B1 (de) Datenverarbeitungsanlage
DE2635592A1 (de) Multiprozessor-abrufsystem
DE1424732A1 (de) Elektronische Ziffernrechenmaschine
DE1499206C3 (de) Rechenanlage
DE2054947A1 (de) Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem
DE1524111C3 (de) Elektronische Datenverarbeitungsanlage
DE2363846A1 (de) Verfahren zum steuern des transfers von daten zwischen einem speicher und einem oder mehreren peripheren geraeten und nach diesem verfahren arbeitende datenverarbeitungsanlage
DE2221442A1 (de) Assoziativspeicher
DE2720864B2 (de) Anordnung zum lückenfreien Einspeichern einer Anzahl von Datenblocks unbestimmter Lange
DE1221037C2 (de) Verfahren zur Speicherung hierarchisch geordneter Datenketten und Anordnung zur Durchfuehrung dieses Verfahrens
DE2428013A1 (de) Mehrfachsteuergeraet
DE2459476C3 (de)
DE1474042C3 (de) Datenspeichersystem zur Ein- und Ausspeicherung von in Ketten zusammengefaßten Daten unterschiedlicher Feldlänge
DE1956460A1 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE1474047C (de) Programmgesteuerte Rechenan Ordnung
DE1214906B (de) Verfahren und Anordnung zur Speicherung und Entnahme hierarchisch geordneter Daten
DE1474047B2 (de) Programmgesteuerte rechenanordnung
DE2217565A1 (de) Steuerteil eines Rechenautomaten, der die relative Basisadresse von Befehlen bildet
DE2025731C3 (de) Datenendstation

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
EHJ Ceased/non-payment of the annual fee