DE1280595B - Anordnung zur Loesung eines klammerfreien mathematischen Ausdruckes - Google Patents
Anordnung zur Loesung eines klammerfreien mathematischen AusdruckesInfo
- Publication number
- DE1280595B DE1280595B DEJ28741A DEJ0028741A DE1280595B DE 1280595 B DE1280595 B DE 1280595B DE J28741 A DEJ28741 A DE J28741A DE J0028741 A DEJ0028741 A DE J0028741A DE 1280595 B DE1280595 B DE 1280595B
- Authority
- DE
- Germany
- Prior art keywords
- memory
- time
- word
- stack
- circuit
- 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.)
- Withdrawn
Links
- 230000014509 gene expression Effects 0.000 title claims description 70
- 230000015654 memory Effects 0.000 claims description 242
- 238000012545 processing Methods 0.000 claims description 131
- 238000001514 detection method Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 description 33
- 238000010586 diagram Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 10
- 230000000694 effects Effects 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 6
- 238000007792 addition Methods 0.000 description 2
- 150000001768 cations Chemical class 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000001356 surgical procedure Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- AZFKQCNGMSSWDS-UHFFFAOYSA-N MCPA-thioethyl Chemical compound CCSC(=O)COC1=CC=C(Cl)C=C1C AZFKQCNGMSSWDS-UHFFFAOYSA-N 0.000 description 1
- 101100345589 Mus musculus Mical1 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
Description
DEUTSCHES
PATENTAMT
AUSLEGESCHRIFT
Int. Cl.:
G06f
Nummer:
Aktenzeichen:
Anmeldetag:
Auslegetag:
Aktenzeichen:
Anmeldetag:
Auslegetag:
P 12 80 595.7-53 (J 28741)
7. August 1965
17. Oktober 1968
Die Erfindung betrifft eine Anordnung zur möglichst parallelen Zuordnung der Operationen zu mehreren
Verarbeitungseinheiten für die Lösung eines klammerfreien mathematischen Ausdruckes.
Die üblichen mathematischen Aufgaben bestehen aus einer großen Zahl von einzelnen Operationen,
die ausgeführt werden müssen, bevor das Endergebnis ermittelt werden kann. Bei den meisten heutigen
Datenverarbeitungsanlagen werden mathematische Aufgaben Schritt für Schritt, durch ein Programm
gesteuert, gelöst. Das ist deshalb so, weil diese Datenverarbeitungsanlagen nur eine arithmetische Einheit
haben, die jeweils nur eine Operation zu einer bestimmten Zeit ausführen kann.
Zweck der Erfindung ist es, eine Anordnung zu schaffen, die als Zusatz für eine Datenverarbeitungsanlage
dienen soll, die mehrere parallel arbeitende Verarbeitungseinheiten enthält. Diese Anordnung
soll die einzelnen Teiloperationen so den Verarbeitungseinheiten zuordnen, daß möglichst viele Teil-Operationen
der Rechnung parallel ausgeführt werden und damit die Gesamtrechenzeit so kurz wie
möglich wird. Eine solche Anordnung ist besonders vorteilhaft, wenn die Datenverarbeitungsanlage zur
Lösung von Echtzeitproblemen ausgenutzt wird. Als Datenverarbeitungsanlagen kommen in Frage sogenannte
Mehrfachcomputer, die also aus mehreren zusammengekoppelten einzelnen Computern bestehen,
oder Datenverarbeitungsanlagen, die eine Steuereinheit und mehrere Verarbeitungseinheiten enthalten.
Die erfindungsgemäße Anordnung verwendet zwar auch wie eine der bekannten Formelübersetzer eine
klammerfreie mathematische Übersetzungseinrichtung. Die Erfindung unterscheidet sich jedoch von
beiden Formelübersetzern von der Aufgabe her darin von beiden, daß sie nicht nur eine Formelübersetzung
ermöglicht, sondern die möglichst parallele Ausnutzung einer Datenverarbeitungsanlage mit mehreren
Verarbeitungseinheiten ermöglicht.
Die Erfindung betrifft eine Anordnung zur mögliehst parallelen Zuordnung der Operationen zu mehreren
Verarbeitungseinheiten für die Lösung eines klammerfreien mathematischen Ausdrucks. Gekennzeichnet
ist die Erfindung durch einen Wortspeicher zur gliederweisen Speicherung des mathematischen
Ausdrucks, seiner Operationssymbole, der Adressen der Operanden im Operandenspeicher und Resultate
im Resultatspeicher, durch einen Kellerspeicher zur Speicherung der Adressen der Glieder in der
Reihenfolge ihres Auftretens und der Operationssymbole mit einem Zeitrangmerkmal, durch eine
Schaltung zur Steuerung einer ersten Operations-Anordnung zur Lösung eines klammerfreien
mathematischen Ausdruckes
mathematischen Ausdruckes
Anmelder:
International Busines Machines Corporation,
Armonk, N. Y. (V. St. A.)
Vertreter:
Dipl.-Ing. A. Bittighofer, Patentanwalt,
7030 Böblingen, Sindelfinger Str. 49
Als Erfinder benannt:
Charles Visvald Freiman,
Pleasantville, N. Y.;
Herbert Hellerman,
Yorktown Heights, N. Y. (V. St. A.)
Beanspruchte Priorität:
V. St. v. Amerika vom 13. August 1964 (389 287)
folge (erster Durchlauf), wobei mittels einer Zeitvergleichsschaltung
aus den genannten gespeicherten Angaben für jede Operation nacheinander der früheste
Zeitpunkt ihrer Ausführung ermittelbar ist und zur Steuerung einer zweiten Operationsfolge (zweiter
Durchlauf), wobei für alle Operationen in umgekehrter Reihenfolge der letzte Zeitpunkt seiner Ausführung
bestimmbar ist und wobei die Steuerschaltung ferner die Operationen entsprechend dem frühesten
Zeitpunkt, bei gleichen solchen entsprechend dem letzten Zeitpunkt und bei gleichen frühesten und letzten
Zeitpunkten der Ausführung entsprechend ihrer Reihenfolge in dem mathematischen Ausdruck den
jeweils freien Verarbeitungseinheiten zuführt.
Nachstehend sollen Ausführungsbeispiele der erfindungsgemäßen Anordnung sowie Diagramme zur
Veranschaulichung deren Wirkungsweise an Hand der F i g. 1 bis 15 erläutert werden. In den Zeichnungen
stellt dar
Fig. IA ein Blockschaltbild eines vorzugsweisen
Ausführungsbeispieles des Eingangsteiles der erfindungsgemäßen Anordnung,
F i g. 1B ein Blockschaltbild eines vorzugsweisen Ausführungsbeispiels des Ausgangsteils der erfindungsgemäßen
Anordnung,
809 627/1360
3 4
Fig. 2 ein Flußdiagramm des »erstenDurchlaufs«, Rechenarbeit nötig um festzulegen, wie die Befehle
in welchem die Anordnung einen mathematischen sortiert werden sollten, damit eine optimale Ausnut-Ausdruck
analysiert, um die frühestmöglichen Zeiten zung der Datenverarbeitungsanlage erreicht wird.
zu bestimmen, in welchen gegebene Operationen aus- Durch die Erfindung wird die parallele Verarbeigeführt werden können, 5 tung automatisch gesteuert. Die auszuführenden Ope-
zu bestimmen, in welchen gegebene Operationen aus- Durch die Erfindung wird die parallele Verarbeigeführt werden können, 5 tung automatisch gesteuert. Die auszuführenden Ope-
Fig. 3 ist ein Flußdiagramm des »zweiten Durch- rationen werden den Verarbeitungseinheiten derart
laufs« zum Analysieren dieser Ausdrücke, wobei die zugeführt, daß eine möglichst vollkommene AusAnordnung
den letztmöglichen Zeitpunkt bestimmt, nutzung der Verarbeitungseinheiten erreicht wird,
in welchem eine bestimmte Operation ausgeführt Ehe mit der Erläuterung der erfindungsgemäßen werden kann; " io Anordnung begonnen wird, ist es notwendig, die ver-
in welchem eine bestimmte Operation ausgeführt Ehe mit der Erläuterung der erfindungsgemäßen werden kann; " io Anordnung begonnen wird, ist es notwendig, die ver-
F ig. 4 A und 4 B enthalten ein Ausführungsbei- wendete klammerfreie Art der Darstellung der mathespiel
für eine Schaltung zur Erzeugung der Zeit- matischen Ausdrücke zu erklären. In dem später
signale; noch beschriebenen Ausführungsbeispiel der erfin-
Fig.5A und 5B enthalten in detaillierter Form dungsgemäßen Anordnung werden die mathematiden
Eingangsteil der Anordnung, der den eingegebe- 15 sehen Ausdrücke in der sogenannten »Umgekehrten
nen mathematischen Ausdruck analysiert und die Polnischen Notation« dargestellt. Diese Art der Darrichtige
Reihenfolge für die Operationen bestimmt; stellung soll an Hand des folgenden algebraischen
Fig. 6 ist ein Schaltbild der Eingangseinheit, über Ausdrucks erläutert werden:
die ein mathematischer Ausdruck Zeichen für Zeichen \a*ib*(c+d)\] * \e*tf*(g+h)W fa)
eingegeben wird, um diesen zu analysieren und so L l J1 l v v /J ' v
Adressen für die Zwischenergebnisse in einem Spei- In der Gleichung (a) kennzeichnet * die Multipli-
cher zur Verfügung zu stellen; kation. Die beiden in eckigen Klammern stehenden
Fig. 7A zeigt den Ausgangsteil der Anordnung, Ausdrücke sind relativ kompliziert, und die Operader
die Zuordnung der verschiedenen Operationen tionen zur Lösung dieser Ausdrücke müssen in einer
zu den Verarbeitungseinheiten steuert, in detaillier- 25 bestimmten Reihenfolge vorgenommen werden. In
ter Form; der Umgekehrten Polnischen Notation wird ein sol-
Fig. 7B zeigt den Inhalt der Decoder der eher Ausdruck ohne ecKige oder runde Klammern in
F i g. 7 A; der folgenden Weise geschrieben:
F ig. 8 ist ein Schaltbild der jeder Verarbeitungs- abcd + **efgh + ***:: . Cb)
einheit zugeordneten Steuerungen, die bestimmt, ob 30
die Operanden einer ausgewählten Operation verfüg- In diesem Ausdruck wird :: benutzt, um das Ende
bar sind und die Verarbeitungseinheit beginnen des Ausdrucks anzuzeigen. In der Umgekehrten Polkann;
nischen Notation sind die Operationssymbole den
F i g. 9 zeigt ein Schaltbild des Ergebnisspeichers, links davon stehenden Operanden zugeordnet. Somit
den Kreuzschienenwähler, die verschiedenen Verar- 35 ist in dem Ausdruck (b) das erste +-Operationssym-
beitungseinheiten und die Operandenregister; bol den Operanden c und d zugeordnet und das erste
F i g. 12 zeigt ein Zeitdiagramm mit den Prüf- *-Operationssymbol als ersten Operanden dem Er-
impulsena, α-verzögert und Prüfimpuls b; gebnis von c+d und als zweiten Operanden b zu-
Fig. 13 bis 15 zeigen Beispiele mathematischer geordnet. Das zweite *-Symbol ist dem gemeinsamen
Ausdrücke in verschiedenen Darstellungen und wie 40 Ergebnis aus der vorhergehenden +- und *-Opera-
diese in der erfindungsgemäßen Anordnung verarbei- tion und als zweitem Operanden α zugeordnet. Die
tet werden. zweite Gruppe von Operanden-Symbolen, d.h. ef gh
Eine gegebene mathematische Aufgabe oder ein und die dieser Gruppe zugeordnete Gruppe von Opealgebraischer
Ausdruck kann mehrere Operationen rationssymbolen + * * * sind entsprechend miteinenthalten,
die zur gleichen Zeit ausgeführt werden 45 ander verknüpft. Dem letzten *-Operationssymbol,
können. Die Möglichkeiten für eine solche parallele ganz rechts, sind als Operanden die zwei Gruppen-Ausführung
können am besten veranschaulicht wer- ausdrücke zugeordnet, da der Ausdruck (efgh + * *)
den, indem der mathematische Ausdruck als Baum einen der Operanden bildet. Dieses letzte Multiplidargestellt
wird, wobei alle Ausgangsdaten in der kationssymbol entspricht dem Multiplikationszeichen
oberen Reihe erscheinen und jede Operation durch 50 zwischen den zwei in eckigen Klammern stehenden
einen Verzweigungspunkt dargestellt wird. Jede solche Ausdrücken der Darstellung (a). Jeder übliche alge-Verzweigung
ist natürlich das Ergebnis einer Teil- braische Ausdruck kann in Umgekehrter Polnischer
operation, das in einer nachfolgenden Operation wei- Form geschrieben werden. Die Polnische Notation
ter benutzt werden kann. Beispiele von mathema- ist z.B. in dem Buch »A Programming Language«
tischen Ausdrucken und Bäumen sind in den Fig. 13 55 von K. E. Iverson, erschienen im Verlag John
bis 15 dargestellt. Die Betrachtung der Gleichungs- Wiley and Son, 1962, beschrieben,
bäume zeigt, daß man durch die Verzweigungs- Aus der obigen Beschreibung der Umgekehrten punkte horizontale Linien ziehen kann. Operationen, Polnischen Notation erkennt man, daß die Ausdie einer Horizontalen zugeordnet sind, können zur drücke auch in anderer Form geschrieben werden gleichen Zeit ausgeführt werden. Ein algebraischer 60 können, z. B. derart, daß die Operationssymbole vor Ausdruck dieser Art kann natürlich durch den Pro- den Operanden stehen. Die Erfindung ist nicht auf grammierer analysiert werden, um zu bestimmen, die Anwendung der Umgekehrten Polnischen Nqwelche Operationen parallel ausgeführt werden kön- tation beschränkt.
bäume zeigt, daß man durch die Verzweigungs- Aus der obigen Beschreibung der Umgekehrten punkte horizontale Linien ziehen kann. Operationen, Polnischen Notation erkennt man, daß die Ausdie einer Horizontalen zugeordnet sind, können zur drücke auch in anderer Form geschrieben werden gleichen Zeit ausgeführt werden. Ein algebraischer 60 können, z. B. derart, daß die Operationssymbole vor Ausdruck dieser Art kann natürlich durch den Pro- den Operanden stehen. Die Erfindung ist nicht auf grammierer analysiert werden, um zu bestimmen, die Anwendung der Umgekehrten Polnischen Nqwelche Operationen parallel ausgeführt werden kön- tation beschränkt.
nen. Eine solche Analyse ist aber sehr zeitraubend, Die der Wirkungsweise der erfindungsgemäßen An-
und selbst wenn dieses Ergebnis vorliegt, ist noch 65 Ordnung zugrunde liegende Theorie besteht darin,
eine beträchtliche Programmierungsarbeit erforder- daß beim nacheinander erfolgenden Abtasten eines
lieh, ehe ein Befehl der Datenverarbeitungsanlage zu- gruppenartig aufgeteilten mathematischen Ausdrucks
geführt werden kann. Darüber hinaus ist noch viel ohne Klammern, wie z. B. der Umgekehrten Polni-
5 6
sehen Notation, aufeinanderfolgende Gruppen von liehen als auch der letztmöglichen Zeiten, zu welchen
Operanden und Operationssymbolen festgestellt wer- bestimmte Operationen ausgeführt werden können,
den, wobei jeweils ein Satz von Operanden einem be- In F i g. 1 ist ein Blockschaltbild des Eingangsstimmten
Operationssymbol zugeordnet ist, und daß teiles der Anordnung dargestellt, welchem ein algeferner
eine bestimmte Operation das Ergebnis einer 5 braischer Ausdruck in Umgekehrter Polnischer Noder
vorhergehenden Operationen als einen seiner tation Zeichen für Zeichen nacheinander zugeführt
Operanden benötigt. Es ist also möglich festzulegen, wird. Diese Eingangsschaltung analysiert den Ausweiche
Befehle sofort ausgeführt werden müssen und druck und erstellt eine Liste mit den frühest- und den
welche Befehle erst ausgeführt werden können, wenn letztmöglichen Zeiten im Datenzugriffszyklus, wähdie
vorhergehenden Befehle ausgeführt sind. io rend welcher die einzelnen Operationen zur Lösung
In Fig. 13C ist ein mathematischer Ausdruck des Ausdrucks ausgeführt werden können,
in der üblichen Darstellung, in Fig. 13B in Umge- Jedes zugeführte Zeichen ist entweder eine Speikehrter Polnischer Notation und in Fig. 13A als cheradresse, in deren Speicherplatz ein Operand entBaum dargestellt. Man erkennt, daß die Additionen halten ist oder ein Operationscode. Einer der Opeinnerhalb der Klammern des Teiles 3, d. h. g+h, 15 rationscode ist der Endbefehl (::). Der Eingabeteil e+f, c+d und a+b, gleichzeitig ausgeführt wer- der Anordnung lädt den mathematischen Ausdruck den können. Dies ergibt sich aus dem Baum der in einen Wortspeicher 12 und analysiert diesen, um Fig. 13A. Die Ergebnisse dieser vier Operationen die Möglichkeiten der parallelen Ausführung zu besind, in der Baumdarstellung der Fig. 13A mit A, stimmen. Die Anordnung enthält die Eingangsschal- B, C und D bezeichnet. Die F i g. 13 B zeigt, daß die 20 tung 10, die dazu dient, einen mathematischen Aus-Operationssymbole C, B und A, die unmittelbar den druck Zeichen für Zeichen jeweils zu einer Zeit ein-Operandengruppen ghefcd und a, b folgen, die Er- zugeben und die Zeichen zu analysieren, ob sie gebnisse der Fig. 13A unmittelbar, d. h. in der Zeit Daten, d.h. eine Speicheradresse, ein Operations- tl, wie in dem Baum der Fig. 13A dargestellt, aus- symbol oder das spezielle Operationssymbol »Ende« geführt werden können. Die Operation E kann nur 25 darstellen. Die Eingangsschaltung 10 enthält außerwährend ti und die Operationen F und G können dem Steuerungen zur Eingabe des mathematischen nur während der Zeiten i3 und t\ ausgeführt wer- Ausdrucks in den Wortspeicher 12, so daß die Opeden. Aus dem Baum der Fig. 13A ergibt sich, daß rationssymbole in dem Feld/1 und die Datenadresvor der Operation E die Ergebnisse aus den Opera- sen in dem Feld B gespeichert sind, wobei im letztionen C und D vorliegen müssen. Ebenso müssen 30 teren Fall eine Null in das entsprechende ^4-FeId einvor Ausführung der Operation F die Ergebnisse der gegeben wkd. Aus der nachfolgenden Beschreibung OperationenB und E vorhanden sein. Ehe die Ope- der Wirkungsweise an Hand der Fig. 14A bis 14F, rationG ausgeführt werden kann, müssen die Er- insbesondere der Fig. 14D, erkennt man, daß die gebnisse der Operationen F und A vorliegen. Diese Eingangsschaltung 10 automatisch eine Adresse in Erkenntnisse sind aus der Umgekehrten Polnischen 35 dem Ergebnisregister 14 angibt, wenn ein Operations-Notation der Fig. 13B ablesbar, weil man sieht, daß symbol in dem A-FeId des Wortregisters 12 gespeider vor der Operation E vorangehende Operand das chert ist. Die Eingangsschaltung 10 lädt die Anord-Ergebnis der Operation C ist und daß der nächste nung mit dem rohen mathematischen Ausdruck, so Operand davor das Ergebnis der Operation D ist. daß in dem B-Feld des Wortspeichers 12 in aufein-Durch Betrachtung eines Ausdrucks in Umgekehrter 40 anderfolgenden Speicherplätzen die Daten oder Ope-Polnischer Notation ist es demnach möglich, die rationssymbole erscheinen oder genauer die Adressen Zeitspanne zu bestimmen, innerhalb der eine Ope- der Operanden im Hauptspeicher und die jedem ration ausgeführt werden muß. Operationssymbol entsprechenden Adressen im Er-
in der üblichen Darstellung, in Fig. 13B in Umge- Jedes zugeführte Zeichen ist entweder eine Speikehrter Polnischer Notation und in Fig. 13A als cheradresse, in deren Speicherplatz ein Operand entBaum dargestellt. Man erkennt, daß die Additionen halten ist oder ein Operationscode. Einer der Opeinnerhalb der Klammern des Teiles 3, d. h. g+h, 15 rationscode ist der Endbefehl (::). Der Eingabeteil e+f, c+d und a+b, gleichzeitig ausgeführt wer- der Anordnung lädt den mathematischen Ausdruck den können. Dies ergibt sich aus dem Baum der in einen Wortspeicher 12 und analysiert diesen, um Fig. 13A. Die Ergebnisse dieser vier Operationen die Möglichkeiten der parallelen Ausführung zu besind, in der Baumdarstellung der Fig. 13A mit A, stimmen. Die Anordnung enthält die Eingangsschal- B, C und D bezeichnet. Die F i g. 13 B zeigt, daß die 20 tung 10, die dazu dient, einen mathematischen Aus-Operationssymbole C, B und A, die unmittelbar den druck Zeichen für Zeichen jeweils zu einer Zeit ein-Operandengruppen ghefcd und a, b folgen, die Er- zugeben und die Zeichen zu analysieren, ob sie gebnisse der Fig. 13A unmittelbar, d. h. in der Zeit Daten, d.h. eine Speicheradresse, ein Operations- tl, wie in dem Baum der Fig. 13A dargestellt, aus- symbol oder das spezielle Operationssymbol »Ende« geführt werden können. Die Operation E kann nur 25 darstellen. Die Eingangsschaltung 10 enthält außerwährend ti und die Operationen F und G können dem Steuerungen zur Eingabe des mathematischen nur während der Zeiten i3 und t\ ausgeführt wer- Ausdrucks in den Wortspeicher 12, so daß die Opeden. Aus dem Baum der Fig. 13A ergibt sich, daß rationssymbole in dem Feld/1 und die Datenadresvor der Operation E die Ergebnisse aus den Opera- sen in dem Feld B gespeichert sind, wobei im letztionen C und D vorliegen müssen. Ebenso müssen 30 teren Fall eine Null in das entsprechende ^4-FeId einvor Ausführung der Operation F die Ergebnisse der gegeben wkd. Aus der nachfolgenden Beschreibung OperationenB und E vorhanden sein. Ehe die Ope- der Wirkungsweise an Hand der Fig. 14A bis 14F, rationG ausgeführt werden kann, müssen die Er- insbesondere der Fig. 14D, erkennt man, daß die gebnisse der Operationen F und A vorliegen. Diese Eingangsschaltung 10 automatisch eine Adresse in Erkenntnisse sind aus der Umgekehrten Polnischen 35 dem Ergebnisregister 14 angibt, wenn ein Operations-Notation der Fig. 13B ablesbar, weil man sieht, daß symbol in dem A-FeId des Wortregisters 12 gespeider vor der Operation E vorangehende Operand das chert ist. Die Eingangsschaltung 10 lädt die Anord-Ergebnis der Operation C ist und daß der nächste nung mit dem rohen mathematischen Ausdruck, so Operand davor das Ergebnis der Operation D ist. daß in dem B-Feld des Wortspeichers 12 in aufein-Durch Betrachtung eines Ausdrucks in Umgekehrter 40 anderfolgenden Speicherplätzen die Daten oder Ope-Polnischer Notation ist es demnach möglich, die rationssymbole erscheinen oder genauer die Adressen Zeitspanne zu bestimmen, innerhalb der eine Ope- der Operanden im Hauptspeicher und die jedem ration ausgeführt werden muß. Operationssymbol entsprechenden Adressen im Er-
Somit sind im Beispiel der Fig. 13 die Operatio- gebnisspeicher 14. In der Fig. 14D stellen in der
nen^l, B, C und D in der ersten Zeitperiode aus- 45 Spalte J3 die kleinen Buchstaben die Adressen der
führbar, die Operation E in der zweiten Zeitperiode, Operanden im Hauptspeicher und die großen Buch-
die Operation/7 in der dritten Zeitperiode und die stäben die Adressen der Ergebnisoperanden in dem
Operation G in einer vierten Zeitperiode. Ergebnisspeicher 14 dar, die den Operationssymbo-
Eine der Aufgaben der Anordnung gemäß der vor- len zugeordnet sind, welche im ^4-Feld des Wortspeiliegenden
Erfindung ist es, diese gerade genannten 50 chers 12 erscheinen. Die geeigneten Steuerungen wer-Zeitperioden,
welche die frühestmöglichen Zeiten den eingestellt, wenn ein Endsymbol auftritt und von
sind, zu welchen eine gegebene Operation ausgeführt der Eingangsschaltung 10 festgestellt wird. Dadurch
werden kann, zu erhalten. wird nachfolgend die Analyse der Daten bewirkt.
Außerdem bestimmt die erfindungsgemäße An- Der Rest der Schaltung in Fig. IA dient dazu,
Ordnung die letztmögliche Zeit, zu welcher eine ge- 55 den algebraischen Ausdruck, der gerade aus der Eingebene
Operation ausgeführt werden kann. Dies ge- gangsschaltung 10 in den Wortspeicher 12 eingegeschieht
dadurch, daß der mathematische Ausdruck ben wurde, zu analysieren und die verbleibenden Feiein
zweites Mal analysiert wird. Aus dem Beispiel der der C, D, E und F des Wortspeichers 12 zu füllen.
Fig. 13, insbesondere dem Baum der Fig. 13A, Die FelderC, D und E werden während des ersten
erkennt man, daß die Operation, obwohl sie schon 60 Durchlaufs der Anordnung gefüllt. Dabei werden
zur Zeit ti ausgeführt werden kann, auch zur Zeit ti hintereinander die Daten- und Ergebnisadressen aus
erfolgen kann und daß sie trotzdem nicht die Aus- dem B-Feld des Wortspeichers 12 durch eine Torführung
der Operation F aufhält. Ebenso kann die schaltung geschickt, und gleichzeitig bestimmt das
Operation A zur Zeit ti, aber auch noch zur Zeit t3 /1-Feld des Wortspeichers, ob eine gegebene Adresse
ausgeführt werden, ohne daß die Operation G zur 65 eine Daten- oder eine Operationsadresse ist. Wenn
Zeit t4 verzögert wird. Die erfindungsgemäße An- Daten vorhanden sind, so werden diese nacheinordnung
analysiert den Ausdruck in Polnischer No- ander in einen Kellerspeicher 16 eingegeben, bis ein
tation und erstellt eine Liste sowohl der frühestmög- Operationssymbol auftritt. An dieser Stelle werden
die letzten zwei Datenadressen, die im Kellerspeicher 16 gespeichert sind, nacheinander in die Felder C
und D des Wortspeichers 12 in die Adresse gebracht, die dem Operationssymbol zugeordnet ist. Zur gleichen
Zeit wird die Adresse des Ergebnisspeichers 14, die im 2J-FeId des Wortspeichers 12 im Speicherplatz
des Operationssymbols gespeichert ist, in den Kellerspeicher 16 gebracht und in der Spalte E, an der
gleichen Adresse, als frühestmögliche Zeit eine Eins gespeichert. Auf diese Weise wird die Ergebnisadresse
des jeweiligen Operationssymbols in den Kellerspeicher 16 als Adresse eines Operanden zurückgespeichert,
die in Verbindung mit nachfolgenden Operationssymbolen benutzt werden.
Alle Zeichen im .B-Feld des Wortregisters 12, die Daten zugeordnet sind, bewirken, daß im ersten
Durchlauf eine Null im entsprechenden 2?-Feld des Wortregisters 16 gespeichert wird. Jedesmal, wenn
ein Operationssymbol festgestellt wird, wird der frühestmögliche Zeitpunkt für die Ausführung der Operation
um Eins erhöht und der neue Wert in das entsprechende S-FeId des Wortregisters 12 gebracht.
Der mit Zeiten-Vergleichsschaltung bezeichnete Block 18 wird im ersten Durchlauf und im zweiten
Durchlauf benutzt. Im zweiten Durchlauf werden die frühestmöglichen Zeiten, die im U-FeId des Wortregisters
12 gespeichert sind, ausgenutzt, um die letztmöglichen Zeiten zu ermitteln, in welchen eine gegebene
Operation ausgeführt werden kann. Aufgabe der Zeiten-Vergleichsschaltung 18 ist es; die ermittelten
frühesten und spätesten Zeiten für eine - bestimmte Operation zu vergleichen und zu bestimmen,
welches die größere ist, und die richtigen Zeiten in die E- und i*-Felder des Wortregisters 12 einzugeben.
Ein Block 20, der mit Steuerung bezeichnet ist, enthält die verschiedenen Tprschaltungen, Zähler,
Decoder und andere logische Schaltungen. Die Steuerung 20 hat die verschiedenen Verzweigungen auszuführen.
Die Steuerung 20 liefert außerdem Steuerimpulse an den Block 22, der die Zeitsteuerung enthält.
Die Zeitsteuerung 22 ist in den Fig. 4A und
4 B, die später noch beschrieben werden soll, in Einzelheiten dargestellt.
Der erste Durchlauf soll an Hand der F i g. 2, welche eine Flußtafel für den ersten Durchlauf darstellt,
näher erläutert werden. Bei der Beschreibung der Fi g. 2 wird gelegentlich auf bestimmte Teile der
Fig. 5A und 5B Bezug genommen. Der Kellerspeicher
16 besteht aus zwei Teilen für jeden Speicherplatz. Der erste oder Adreßteil enthält die Adresse
für die Daten, wie er im B-Feld des Wortspeichers 12 gespeichert ist. Diese Adresse ist entweder eine
Adresse des Ergebnisspeichers 14 oder des Hauptspeichers. Der zweite Teil jedes Speicherplatzes des
Kellerspeichers 16 wird zur Speicherung der Ausführungszeit benutzt und enthält entweder die frühestmögliche
oder die letztmögliche Zeit, während welcher eine Operation ausgeführt werden kann. Steuerschaltungen
sind vorgesehen, um den Adressenteil eines jeden im Kellerspeicher 16 gespeicherten Wortes
oder die Ausführungszeit, die in einem bestimmten Speicherplatz des Kellerspeichers 16 gespeichert
ist, zusammen mit einer zugeordneten Adresse zu analysieren oder auszulesen.
In der oberen rechten Ecke jedes Blockes der Fig. 2 erscheint eine Nummer, die jeden Block kennzeichnet
und in der vorliegenden Beschreibung der Einfachheit halber immer benutzt wird. Jeder der
Blöcke stellt einen Schritt oder mehrere Schritte dar, welche durch die Steuerung 20 und die Zeitsteuerung
22 in Verbindung mit dem Rest der Anordnung benutzt werden, um die verschiedenen Operationen
auszuführen. Block 1, der »Wortauswahlsteuerung auf Eins einstellen« bedeutet, wird durch ein Signal
CL-I aus der Zeitsteuerung 22 ausgeführt, wenn ein End-Zeichen am Ende der Eingabe auftritt. Mit anderen
Worten, der Block 1 zeigt an, daß der eingegebene Ausdruck zu Ende ist und in den Feldern
A und B des Wortregisters 12 gespeichert ist und die Anordnung nun fertig für die Analyse dieses Ausdrucks
ist. Aufgabe dieses ersten Blockes ist es, die Wortauswahlsteuerung 62 (Fig. 5C) des Wortspeichers
12 auf den ersten Speicherplatz einzustellen, oder mit anderen Worten, das erste Zeichen des
Ausdrucks zu bestimmen. Der Block 2 prüft .das .4-FeId des jeweiligen Wortes in dem Wortspeicher
12, auf welches die Wortauswahlsteuerung gerade eingestellt ist. Dieser Block bestimmt, ob das darin
gespeicherte Zeichen ein End- oder Operationssymbol oder ein Datenzeichen ist. Es sei zunächst angenommen,
daß das im ^4-Feld des Wortspeichers 12
geprüfte Zeichen ein Datenzeichen ist; in diesem Fall
wird zum Block 3 übergegangen. Dieser Block bewirkt, daß das ausgewählte 23-Feld des Wortspeichers
12 in das Adressenfeld des Eingabe-Ausgabe-Registers 68 (Fig. 5A)' des Kellerspeichers 16 gebracht
3Q wird. Gleichzeitig mit Block 3 stellt der Block 4 den
Zeitzähler des Eingabe-Ausgabe-Registers 68 des Kellerspeichers 16 auf Null. Am Ende der Schritte 3
und 4 ist also eine Datenadresse im Adressenfeld des Eingabe-Ausgabe-Registers 68 des Kellerspeichers 16,
und die Zeit im Eingabe-Ausgabe-Register 68 steht auf Null. Der nächste Schritt wird durch Block 5
gekennzeichnet, bei welchem die augenblickliche Information im Eingabe-Ausgabe-Register 68 des Kellerspeichers
16 in den oberen Speicherplatz des KeI* lerspeichers 16 gespeichert wird. Der Block 6 schaltet
die Wortauswahlsteuerung 62 um Eins weiter und wählt somit das nächste Wort im Wortspeicher 12
aus. Es wird dann wieder zum Block 2 zurückgegangen, bei welchem das A-FeId des Wortspeichers 12
wieder gelesen wird. Es wird angenommen, daß im .(4-FeId ein Operationssymbol steht. In diesem Fall
schreitet die Anordnung zum Block 7 weiter.
Dieser Block bewirkt, daß das Adressenfeld, das in den Speicherplätzen 1 und 2 des Kellerspeichers 16
gespeichert ist, nacheinander in die Felder C und D des Wortspeichers 12 in den Speicherplatz, in welchem
das Operationssymbol festgestellt wurde, eingegeben wird. Gleichzeitig mit dem Block 7 wird
der Block 8 wirksam, welcher zur Folge hat, daß die in den zugeordneten Zeitfeldern der Positionen 1
und 2 des Kellerspeichers 16 in die Zeitvergleichsschaltung 18 eingegeben wird. Die Zeitvergleichsschaltung
18 bestimmt, welche der Zeiten die größere ist und bewirkt, daß diese mit Block 9 in den Zeitzähler
74 eingegeben wird. Dieser Block bewirkt, daß zu dem größeren der zwei Werte in den Zeitfeldern
der Positionen 1 und 2 des Kellerspeichers 16 in der laufenden Operation Eins addiert wird. Durch Block
10 wird diese erhöhte Zahl in dem is-Feld des Wort-Speichers
12 und außerdem in das Zeitfeld des Eingabe-Ausgabe-Registers 68 des Kellerspeichers 16
eingegeben. Durch Block 11 wird dann das 5-Feld des Wortspeichers 12 der Adresse, auf welche die
9 10
Steuerschaltung gerade eingestellt ist, in das Adres- des Wortregisters 12 ein Operationssymbol enthält,
senfeld des Eingabe-Ausgabe-Registers 68 des KeI- Wenn die bistabile Kippschaltung t infolge eines gelerspeichers
16 gebracht. Der nächste Block 12 er- rade geprüften Operationssymbols bereits auf Eins
zeugt einen doppelten Aufwärtszyklus des Keller- eingestellt wurde, so bleibt sie natürlich im Einsspeichers
16. Es folgt dann Block 5, welcher einen 5 Zustand.
Abwärtszyklus auslöst. Die Inhalte des Kellerspeichers 16 im zweiten
Abwärtszyklus auslöst. Die Inhalte des Kellerspeichers 16 im zweiten
Nach dem Auftreten eines Operationssymbols Durchlauf sind in F i g. 14 F dargestellt. In dieser
wurden die Adressen der zwei letzten Operanden, Darstellung ist besonders angegeben, wenn die biob
sie nun Daten oder Ergebnisse darstellen, ge- stabile Kippschaltung t in die Eins- oder Null-Stelprüft,
die Zeiten der beiden Operanden verglichen io lung eingestellt wird. Die Einstellung der bistabilen
und die größere bstimmt. Auf diese Weise ist, wenn Kippschaltung t in den Eins-Zustand bewirkt, daß
die größere Zeit z. B. 4 ist, dieser Operand nicht vor der Kellerspeicher 16 in den folgenden Schritten aufdem
vierten Zeitzyklus verfügbar. Demzufolge kann geladen wird, bis wieder ein Datenzeichen auftritt,
eine Operation, die das Ergebnis einer Operation Umgekehrt wird aus dem Kellerspeicher 16 ausgelebenutzt,
welche in der Zeit 4 ausgeführt wird, nicht 15 sen, wenn die bistabile Kippschaltung t sich in dem
früher als zur Zeit 5 ausgeführt werden. Somit wird Null-Zustand befindet, bis wieder ein Operationsdie
Zeit 4 festgestellt und um Eins erhöht. Die Adresse symbol auftritt.
des Ergebnisses für diesen Operanden zusammen mit Es wird nun angenommen, daß sich die Anordder
Zeit 5 wird im Kellerspeicher 16 gespeichert. Es nung im Zustand des Blockes 3 (F i g. 3) befindet und
wird nun zum Block 6 zurückgekehrt, in welchem 20 daß ein Operationssymbol im ,4-FeId des Wortspeidie
Wortauswahlsteuerung wieder zur nächsten Po- chers 12 steht; dabei wird ein Aufwärtszyklus des
sition des Wortspeichers 12 fortschaltet. Danach wird Kellerspeichers 16 ausgelöst, wodurch das nächste
zum Block 2 fortgeschritten, in welchem das ,4-FeId im Kellerspeicher 16 enthaltene Wort in das Einwieder
geprüft wird, und diesmal soll angenommen gabe-Ausgabe-Register 68 des Kellerspeichers 16 gewerden,
daß ein Endsymbol festgestellt wird. Das 25 bracht wird. Dieser Schritt wird im Block 4 voll-Auftreten
dieses Endsymbols bewirkt, daß zum drit- zogen. Da diese Position des Wortspeichers 12 ein
ten Teil des Eingabezyklus fortgeschritten wird, näm- Operationssymbol enthält, wird zum Block 5 weiterlich
zum zweiten Durchlauf. gegangen, in welchem der Inhalt des Zeitfeldes des
Der zweite Durchlauf ist in der Flußtafel der Eingabe-Ausgabe-Registers 68 des Kellerspeichers 16
F i g. 3 dargestellt. Die Art der Darstellung der F i g. 3 30 zum Zeitzähler gebracht wird. Im Block 6 wird der
gleicht der der F i g. 2, auch hier sind die Blöcke in Zeitzähler um Eins erniedrigt, wobei angenommen
der rechten oberen Ecke mit einer Nummer gekenn- wird, daß sich die bistabile Kippschaltung t augen-
zeichnet. blicklich in seiner Null-Stellung befindet. Es wird
Wie bereits oben erwähnt, bewirkt das Auftreten zum Block 7 weitergegangen, in welchem der Inhalt
eines Endsymbols in dem .4-FeId des Wortregisters, 35 des Zeitzählers in das Zeitfeld des Eingabe-Ausgabedaß
der Block 1 der Fig. 3 wirksam ist. Dieser Block Registers 68 des Kellerspeichers 16 gebracht wird,
stellt die bistabile Kippschaltung t der in Fig. 5B Wenn die bistabile Kippschaltung t sich im Zustand
dargestellten logischen Schaltung in den Null- Eins befunden hätte, so wäre über den Block 8 wei-Zustand.
Es wurde oben erwähnt, daß sich die Wort- tergegangen worden, der zuerst den vorherigen Zeitauswahlsteuerung
62 am Ende des ersten Durch- 4° stand in das Zeitfeld im Kellerspeicher 16 durch einen
laufs in der Stelle des Wortspeichers 12 befindet, die Abwärtszyklus gespeichert hätte, ehe das neue Zeitdas
Endsymbol des mathematischen Ausdrucks ent- feld aus dem Zeitzähler in das Eingabe-Ausgabehält.
Im zweiten Durchlauf muß deshalb schrittweise Register 68 des Kellerspeichers 16 gebracht worden
zum Anfang des mathematischen Ausdrucks zurück- wäre. Es wird nun zum Block 8 weitergegangen, welgegangen
werden. Deshalb wird im Block 2 die Wort- 45 eher den zweiten Abtastzyklus auslöst. Wenn die biauswahlsteuerung
um Eins erniedrigt. Danach wird stabile Kippschaltung t sich gerade im Null-Zustand
die Einstellung der Wortauswahlsteuerung 62 über- befindet, wird zum Block 8 übergegangen, welcher
prüft. Wenn die Wortauswahlsteuerung 62 auf die die bistabile Kippschaltung t in den Eins-Zustand
Adresse Null eingestellt ist, so würde das bedeuten, stellt und wiederum zum Block 2 zurückkehrt. Wenn
daß der zweite Durchlauf beendet ist und daß die 5° sich andererseits die bistabile Kippschaltung ί beAnordnung
beginnen kann, der Mehrfachdatenver- reits im Eins-Zustand befunden hätte, so wäre unter
arbeitungsanlage Befehle zuzuführen. Wenn anderer- Umgehung des Blockes 8 direkt zum Block 2 überseits
die Wortauswahlsteuerung 62 nicht Null ist, gegangen worden. Man sieht also, daß immer dann,
wird zum Block 3 weitergegangen. In diesem Schritt wenn ein Operationssymbol im Λ-Feld festgestellt
wird die im Zeitenfeld des Eingabe-Ausgabe-Registers 55 wird, die bistabile Kippschaltung t in den Eins-68
des Kellerspeichers 16 erscheinende Zahl in das Zustand gebracht wird, außer natürlich, wenn es sich
F-FeId des Wortregisters 12 eingegeben. Nach dieser schon in diesem Zustand befindet.
Operation wird geprüft, ob der augenblickliche In- Wenn man annimmt, daß sich im ,4-FeId des Worthalt des ,4-Feldes des Wortspeichers 12 eine Null registers 12 Daten befinden und die bistabile Kippenthält, d. h., das B-Feld enthält eine Datenadresse. 60 schaltung t sich im Null-Zustand befindet, wird di-Außerdem wird geprüft, ob die bistabile Kippschal- rekt vom Block 4 zurück zum Block 2 weitergegantung t auf Eins eingestellt ist. Angenommen, diese gen. Dies ist der Fall, wenn eine Folge von Daten-Bedingung besteht, so wird zum Block 3 α weiterge- kennzeichen auftreten. Die Inhalte des Kellerspeigangen, welcher die bistabile Kippschaltung t in den chers 16 werden nur hindurchgelassen und die Zeit Null-Zustand bringt, und zum Block 2 weitergegan- 65 in der höchsten Position des Kellerspeichers 16 des gen. An dieser Stelle sollte erwähnt werden, daß die davorliegenden Zeichens wird in dem F-FeId des Einstellung der bistabilen Kippschaltung t nach Eins Wortregisters für das nachfolgende Zeichen gedann stattfindet, wenn das gerade geprüfte ,4-FeId speichert.
Operation wird geprüft, ob der augenblickliche In- Wenn man annimmt, daß sich im ,4-FeId des Worthalt des ,4-Feldes des Wortspeichers 12 eine Null registers 12 Daten befinden und die bistabile Kippenthält, d. h., das B-Feld enthält eine Datenadresse. 60 schaltung t sich im Null-Zustand befindet, wird di-Außerdem wird geprüft, ob die bistabile Kippschal- rekt vom Block 4 zurück zum Block 2 weitergegantung t auf Eins eingestellt ist. Angenommen, diese gen. Dies ist der Fall, wenn eine Folge von Daten-Bedingung besteht, so wird zum Block 3 α weiterge- kennzeichen auftreten. Die Inhalte des Kellerspeigangen, welcher die bistabile Kippschaltung t in den chers 16 werden nur hindurchgelassen und die Zeit Null-Zustand bringt, und zum Block 2 weitergegan- 65 in der höchsten Position des Kellerspeichers 16 des gen. An dieser Stelle sollte erwähnt werden, daß die davorliegenden Zeichens wird in dem F-FeId des Einstellung der bistabilen Kippschaltung t nach Eins Wortregisters für das nachfolgende Zeichen gedann stattfindet, wenn das gerade geprüfte ,4-FeId speichert.
Aus der Beschreibung der Flußtafel der Fig. 3 für den zweiten Durchlauf erkennt man, daß dieser
Durchlauf mit der größten im ersten Durchlauf bestimmten Zeit beginnt. Der zweite Durchlauf bestimmt
die letztmöglichen Zeiten, während welcher jede vorhergehende Operation beendet sein muß. Die
Vorteile, die sich aus der Anwendung des zweiten Durchlaufes ergeben, werden durch die nachfolgende
Beschreibung eines weiteren Anwendungsbeispieles,
16 wird außerdem mit dem Ausgangssignal von der Und-Schaltung70 der Fig. 5B einer Und-Schaltung
120 zugeführt, wodurch festgestellt wird, ob das .,4-FeId des Wortspeichers 12 eine Null enthält und
die bistabile Kippschaltung t sich im Eins-Zustand befindet. Die Ausgangssignale der monostabilen
Multivibratoren 18, 20 und 23 werden in ähnlicher Weise mit dem Ausgangssignal der bistabilen Kippschaltung
t oder dem Ausgangssignal des Wortaus-
das in den Fig. 15A bis 15G dargestellt ist, ver- io wahldecoders verglichen, um festzustellen, ob ein
anschaulicht werden. Operationssymbol oder ein Datenzeichen vorliegt.
An Hand der Fig. 4A und 4B soll nun die Zeit- Diese Verzweigungspunkte der Zeitsteuerung ent-
steuerung der erfindungsgemäßen Anordnung er- sprechen den Verzweigungen im Flußdiagramm der
läutert werden. Aus diesen Figuren ergibt sich, daß Fig. 2 und 3.
die Abschnitte dieses Taktgebers aus je einem mono- 15 Bevor zum Schaltbild der Fig. 5 übergegangen
stabilen Multivibrator bestehen, der über einen ersten wird, soll die Eingangsschaltung 10 der erfindungs-Ausgang
einen Zeitimpuls abgibt und von dessen gemäßen Anordnung beschrieben werden, welche die
zweitem Ausgang ein Zeitschaltimpuls zum Eingang Aufgabe hat, den mathematischen Ausdruck in die
des nächsten Abschnitts weitergeleitet wird. Die Felder A und B des Wortspeichers 12 einzugeben,
monostabilen MultivibratorenMMl bis MM3 sind 20 Diese in Fig. 6 dargestellte Schaltung enthält ein
mit einer Eingangsschaltung verbunden, über welche Befehlsregister 50, dem nacheinander der algeein
algebraischer Ausdruck Zeichen für Zeichen ein- braische Ausdruck Zeichen für Zeichen zugeführt
gegeben wird, bis das Ende eines solchen Ausdrucks wird. Die Zeichen werden in dieses Register synchron
festgestellt wird und die Taktgeberstufe MM4 erregt eingegeben, d. h., in festen Zeitabständen wird je ein
wird. Die notwendige Verzweigung im Eingang des 25 Zeichen in das Befehlsregister gebracht. Mit jedem
Taktgebers wird durch die Ausgangssignale des De- empfangenen Zeichen wird ein »Zeichen empfangen«-
coders des Befehlsregisters gesteuert, welche zu- Signal erzeugt, das über das Verzögerungsglied 52
sammen mit den Ausschaltimpulsen des mono- (s. Fig. 4A) dem monostabilen Multivibrator MMl
stabilen Multivibrators MMl den Und-Schaltungen zugeführt wird. Der Rückstelleitung R zum Befehls-30,
32 und 34 zugeführt werden. Abhängig davon, 30 register 50 werden, wie den übrigen Rückstelleitungen
welche dieser Und-Schaltungen ein Ausgangssignal der logischen Schaltung, z. B. den Rückstelleitungen
abgibt, wird einer der monostabilen Multivibratoren der bistabilen Kippschaltungen, jedesmal, wenn die
MM2 bis MM 4 erregt. Die Erregung des mono- Anordnung neu eingeschaltet wird, Rückstellimpulse
stabilen Multivibrators MM4 löst den ersten Durch- zugeführt, um sicher zu sein, daß alle Schaltungsteile
lauf aus. Die Abschaltung des monostabilen Multi- 35 in den Null-Zustand zurückgestellt sind. Der Ausvibrators
MMS in Verbindung mit dem Ausgangs- gang des Befehlsregisters 50 ist mit dem Befehlssignal aus dem Wortauswahldecoder bestimmt den registerdecoder 54 verbunden, der auf einer von drei
Hauptverzweigungspunkt für den ersten Durchlauf. Leitungen ein Ausgangssignal erzeugt, abhängig
Der Abschaltimpuls aus dem monostabilen Multi- davon, ob ein Operationssymbol, ein Endsymbol oder
vibrator MMS wird mit einem der drei Ausgangs- 40 ein Datenzeichen sich augenblicklich im Befehlssignale aus dem Wortauswahldecoder 64 den Und- register befindet. Mit 56 ist ein Ergebnisregister-Schaltungen
36, 38 und 40 zugeführt, und zwar ab- Adressengenerator bezeichnet, der die Ergebnisse
hängig vom jeweiligen Ausgangssignal des Decoders. verschiedener Operationen bestimmten Speicher-Wenn
im ^t-FeId ein Operationssymbol festgestellt platzen im Ergebnisspeicher 14 zuordnet. Dieser
wird, so wird die Und-Schaltung 36 erregt, die eine 45 Ergebnisspeicher-Adressengenerator 56 kann zusätz-Taktimpulsfolge
auslöst, die von den monostabilen lieh Speicherplätze des Hauptspeichers zuteilen. Die
Multivibratoren MM 6 bis MMH erzeugt wird. Wenn
ein Datenzeichen festgestellt wird, so wird die Und-Schaltung 38 erregt, und die Impulsfolge wird über
die Oder-Schaltung 42 direkt dem monostabilen Multivibrator MM12 zugeführt. Wird ein Endsymbol festgestellt, so wird die Und-Schaltung 40 er- "'"
regt und direkt zum monostabilen Multivibrator MM14 übergegangen, der den ersten Zeitimpuls für
den zweiten Durchlauf abgibt.
Die Zeitsteuerungen für den zweiten Durchlauf, d.h. die monostabilen MultivibratorenMM14 bis
MM24, sind in Fig. 4B dargestellt. Dieser Teil der
Schaltung enthält mehrere Verzweigungspunkte, z. B.
weiteren Einzelheiten der Teile der logischen Schaltung werden später an Hand der Zeitfolgetafel näher
erläutert werden.
Nachfolgend sollen die wesentlichen Teile der Fig.5A und 5B erläutert werden. Es sei bemerkt,
r daß alle Steuerungen im einzelnen an Hand der Zeitfolgetafel
erläutert werden. Der Wortspeicher 12 enthält Speicherplätze 60 und eine Wortauswahlsteuerung
62, die einen bestimmten Speicherplatz des Wortspeichers 12 ansteuert. Der Wortspeicher 12
besteht aus sechs Speicherteilen für jeden Speicherplatz, die mit A-, B-, C-, D-, E- und F-FeId bezeichnet
sind. Vor der Analyse des zu lösenden mathe
eine hinter dem monostabilen Multivibrator MM14, 60 matischen Ausdrucks werden die einzelnen Glieder
dessen Ausgangssignal mit der Null-Stellung der dieses Ausdrucks im Wortspeicher 12 zwischen^
Wortauswahlsteuerung einer UND-Schaltung zugeführt wird, um festzustellen, ob sich diese Steuerung
in der Null-Stellung oder in irgendeiner anderen
gespeichert. Das -4-Feld enthält den Operationscode,
der angibt, ob ein Zeichen entweder ein Datenzeichen, ein Operationssymbol oder ein Endsymbol
Stellung befindet. Dadurch wird festgestellt, ob der 65 darstellt. Das 5-Feld enthält die Adressen entweder
zweite Durchlauf beendet ist oder ob der monostabile der Daten oder des Ergebnisspeichers 14, in wel-Multivibrator
MM16 als nächster erregt werden muß. chem das Ergebnis einer bestimmten Operation ge-Der
Abschaltimpuls des monostabilen Multivibrators speichert werden soll. Die Felder C und D enthalten
wieder Adressen, entweder von Daten oder Ergebnissen. Diese zwei Felder enthalten aber die Adressen
der Operanden für eine bestimmte Operation, die im A-FeId des Wortes gespeichert ist, auf welche die
Wortauswahlsteuerung 62 gerade eingestellt ist.
Das E-FeId enthält die frühestmögliche und das Feld F die letztmögliche Zeit, während welcher eine
bestimmte Operation ausgeführt werden kann. Die Wortauswahlsteuerung 62 besteht im wesentlichen
aus einem Zähler, der viele Ausgänge hat und dessen Inhalt durch geeignete Steuerungen erhöht oder
erniedrigt werden kann. Dieser Zähler hat so viel Einstellmöglichkeiten, als Wortspeicherplätze im
Wortspeicher 12 vorhanden sind, und außerdem eine Null-Position, die dazu benutzt wird, um den zweiten
Durchlauf zu beenden. Der Wortauswahldecoder 64 hat im wesentlichen die gleiche Aufgabe wie der
Befehlsregisterdecoder 54, der an Hand der Fig. 6 beschrieben wurde. Der Wortauswahldecoder 64
zeigt also ebenfalls an, ob ein Operationssymbol, ein Endsymbol oder ein Datenzeichen im .4-FeId des
Wortspeichers 12 enthalten ist. Aus dem Beispiel der F i g. 15 erkennt man, daß der Operationscode für
die Daten Null ist. Der Wortauswahldecoder 64 stellt diesen Zustand dadurch fest, daß er ein Ausgangssignal
auf der zugeordneten Datenleitung erzeugt. Die bistabile Kippschaltung t wurde bereits erwähnt.
Sie wird dazu benutzt, um den Zyklus des Kellerspeichers 16 zu ändern, wenn ein Operationssymobl
während des zweiten Durchlaufs festgestellt wird.
Der Kellerspeicher 16 der Fig. 1 besteht eigentlich
aus zwei Teilen, dem Speicher 66 selbst und dem Eingabe-Ausgabe-Register 68. Wie schon erwähnt,
haben der Speicher 66 und das Eingabe-Ausgabe-Register 68 in jedem Wortspeicherplatz zwei Abschnitte, d. h., eine Hälfte ist die Adresse des Datenspeicherplatzes
für bestimmte Operanden, und die andere Hälfte enthält die Zeit, zu welcher ein Operand
verfügbar ist.
Die zwei Vergleichsregister 69 und 70 werden benutzt, um die Zeiten der zwei aufeinanderfolgenden
Operanden, die beim Feststellen eines Operationssymbols aus dem Kellerspeicher entnommen
werden, zu überprüfen. Die zwei Zeiten in diesen Registern werden in der Vergleichsschaltung 72 verglichen,
die ein Signal auf einer ihrer beiden Ausgangsleitungen abgibt, abhängig davon, welche der
beiden Zahlen größer ist. Diese beiden Ausgangssignale werden mit einer logischen Schaltung weiter
verwertet, die nachfolgend an Hand der Zeitfolgetafel erläutert wird und welche die größere der beiden
Zeiten in einen Zeitzähler 74 eingibt, in welchem diese Zeit erhöht oder erniedrigt werden kann, abhängig
davon, ob sich die Schaltung im ersten oder im zweiten Durchlauf befindet. Wie auch schon bei
der F i g. 6 erklärt, besteht der Rest der Schaltung der Fig. 5 aus üblichen Torschaltungen, Und-Schaltungen,
Oder-Schaltungen und Invertern, deren Wirkungsweise an Hand der Zeitfolgetafel nachfolgend
erläutert werden wird.
Zeitfolgetafel
Das »Zeichen empfangen«-Signal schaltet CL-I über das Verzögerungsglied ein.
CL-I Stelle Wortauswahlsteuerung nach 1. Stelle
Wortspeicher nach Null. Stelle Ergebnisspeicher-Auswahlzähler nach Eins. Wenn das
Zeichen ein Datenzeichen ist: Bringe Zeichen in das S-FeId des Wortspeichers, gehe über
zu CL-3. Wenn das Zeichen ein Operationssymbol ist: Bringe das Zeichen in das A-F&ld
des Wortspeichers. Bringe eine Adresse aus
dem Ergebnisspeicher-Adressengenerator in das B-Feld des Wortspeichers. Gehe zu CL-2.
Wenn das Zeichen ein Endsymbol ist: Bringe Zeichen in das .4-FeId des Wortspeichers,
ίο Gehe zu CL-4 (nächste Phase).
CL-2 Erhöhe den Inhalt des Ergebnisspeicher-Auswahlgenerators
um Eins. Gehe über zu CL-3.
CL-3 Erhöhe Wortauswahlsteuerung um Eins. Stelle Eingaberegister nach Null zurück.
Erster Durchlauf
CL-4 Stelle Wortauswahlsteuerung auf Eins, gehe über zu CL-5.
CL-5 Wenn das A-FeId des Wortspeichers Daten
enthält, bringe Inhalt des B-Feldes des Wortspeichers in das Adressenfeld des Kellerspeichereingangsregisters.
Stelle die Zeit im Eingaberegister des Kellerspeichers auf Null, gehe über zu CL-12. Wenn das Λ-Feld des
Wortregisters ein Endsymbol enthält, gehe über zu CL-14. Wenn das A -Feld ein Operationssymbol
enthält: Bringe das Adressenfeld im Eingaberegister des Kellerspeichers in das C-FeId des gerade angesteuerten Wortes.
Bringe die Zeit im Eingaberegister des Kellerspeichers in das Vergleichsregister 69, gehe
über zu CL-6.
CL-6 Aufwärtszyklus des Kellerspeichers, gehe über zu CL-7.
CL-7 Aufwärtszyklus des Kellerspeichers, gehe über zu CL-8.
CL-8
Bringe Adressenfeld des Eingaberegisters des Kellerspeichers in das D-Feld des Wortregisters.
Bringe das Zeitfeld des Eingaberegisters des Kellerspeichers in das Vergleichsregister
70. Gehe über zu CL-9.
CL-9
Bringe den größeren Inhalt der Vergleichsregister zum Zeitzähler. Gehe über zu CL-IO.
CL-IO Addiere 1 zum Inhalt des Zeitzählers, gehe
über zu CL-Il.
CL-Il Bringe D-Feld des Wortspeichers in das Adressenfeld des Eingabe-Ausgabe-Registers
des Kellerspeichers. Bringe den Inhalt des Zeitenzählers in das Zeitfeld des Eingabe-Ausgabe-Registers
des Kellerspeichers und in das E-FeId des Wortspeichers. Gehe über zu
CL-12.
CL-12 Abwärtszyklus des Kellerspeichers. Gehe über zu CL-13.
CL-13 Wortauswahlsteuerung plus 1, gehe über zu
CL-5.
Zweiter Durchlauf
CL-14 Stelle bistabile Kippschaltung t in den NuIl-Zustand.
Gege über zu CL-15.
15 16
CL-15 Wortauswahlsteuerung minus 1. Nächste Schaltung hätte über die Oder-Schaltung 82 und die
Phase, wenn Wortauswahlsteuerung Null ist. Torschaltung 84 dieses Symbol in das ,4-FeId des
Gehe über zu CL-16, wenn Wortauswahl- Wortspeichers 12 eingegeben. Wäre ein Operationssteuerung nicht Null ist. symbol festgestellt worden, so wäre die Leitung
CL-16 Bringe Zeitfeld des Eingabe-Ausgabe- 5
>>Operationssymbol<<_ erregt worden und über eine
Registers des Kellerspeichers in das F-FeId Und-Schaltung 86 ware die Torschaltung 84 geoffne
des Wortspeichers. Gehe über zu CL-Π, wenn WOT,d&n>
™<** bewirkt, daß das Operationssymbol
das A-FeId des Wortregisters Daten enthält m das ^-FeId des Wortspeichers 12 eingegeben wird,
und die bistabile Kippschaltung t sich im fordern ware die gegenwartige Adresseneinstel-
Eins-Zustand befindet. Gehe über zu CL-18, 10 ^g des ErgebmsregKter-Auswahlzahlers 56 über die
wenn dieser Zustand nicht herrscht. I°v S^ w T -^ Oto-Schaltong 90 m das
5-Feld des Wortspeichers 12 eingegeben worden.
CL-Yl Stelle bistabile Kippschaltung t nach Null. Angenommen, daß das Zeichen ein Operations-
Gehe über zu CL-IS. symbol ist, so wird die Und-Schaltung der Fig. 4
CL-18 Aufwärtszyklus des Kellerspeichers. Gehe 1S erregt, und die Taktgeberstufe 2 würde ein Signal
über zu CL-15, wenn das ^t-FeId des Wort- abgeben. Das Ausgangssignal der Taktgeberstufe 2
Speichers Daten enthält. Gehe über zu CL-19, bewirkt, daß der Ergebnisspeicher-Auswahlzähler 56
wenn das ^4-Feld des Wortspeichers ein ™i Eins erhöht wird und daß zur Taktgeberstufe
Operationssymbol enthält. übergegangen wird. Der Impuls aus der Taktgeber-
^r «η τ. · r, . ■ -. τ. λ ι_π·* 2° stuf e 3 schaltet die Wortauswahlsteuerung um Eins
CL-19 Bringe Zeit im Eingabe-Ausgabe-Register weifer und ^ das ε^^^^ aig NuU m.
des Kellerspeichers m den Zeitenzahler. ^k und bewirkt außerdem, daß das nächste Zeichen
üreüe über zu CL-Z(J. gelesen wird. Dieser Vorgang wiederholt sich mit den
CL-20 Subtrahiere Eins vom Inhalt des Zeiten- Daten, die in das 5-FeId des Wortspeichers 12 einzählers.
Gehe über zu CL-21, wenn die as gegeben werden, den Operationssymbolen und den
bistabile Kippschaltung t sich im Eins- Adressen aus dem Ergebnisspeicher-Auswahlzähler,
Zustand befindet. Gehe über zu CL-22, wenn die ebenfalls in das S-FeId des Wortregisters gegeben
sich die bistabile Kippschaltung t im Null- werden, bis der ganze Ausdruck in den Wortspeicher
Zustand befindet. 12 eingegeben ist und schließlich ein Endsymbol
CL-21 Abwärtszyklus des Kellerspeichers. Gehe über 3° festgestellt wird Das Auftreten dieses Endsymbols
zu CL-22 erregt die Taktgeberstufe 4.
._ . ' , , ,, , Die Taktgeberstufe 4 löst den ersten Durchlauf der
CL-22 Bringe Inhalt des Zeitzählers in das Zeitfeld Anordnung aus, indem die erste relative Zeit bedes
Eingabe-Ausgabe-Registers des Keller- stimmt wird; während welcher eine gegebene Operaspeichers.
Gehe über zu CL-23. 35 tion des mathematischen Ausdrucks ausgeführt wer-
CL-23 Abwärtszyklus des Kellerspeichers. Gehe über den. Während dieses ersten Durchlaufs werden
zu CL-24, wenn die bistabile Kippschaltung i außerdem die Felder C und D gefüllt. Wie bereits
sich im Null-Zustand befindet. Gehe über zu oben erwähnt, löst das Auftreten eines Endsymbols
CL-15, wenn sich die bistabile Kippschaltung t die Taktgeberstufe 4 aus. Das Ausgangssignal dieser
im Eins-Zustand befindet. 4° Stufe stellt die Wortauswahlsteuerung 62 auf den
π IA Q<-Oiiö ««,+«ΜΙ« TTi^^c^oit, „ + ™ a tr™ ersten Speicherplatz des Wortspeichers 12. Das Aus-
CL-24 Stelle bistable Kippschaltung. ί m den Ems- sdialten F des F monostabiien Multivibrators MM4
Zustand. Gehe über zu CL-15. ^^ ^ fönfte Taktgeberstufe ein. Das Ausgangs-
Die Wirkungsweise der Schaltungen gemäß den signal des monostabilen Multivibrators MM5 prüft,
Fig. 5 und 6 wird nachfolgend unter Bezugnahme auf 45 ob die Operationssymbol- oder Endsymbolleitung
die Zeitfolgetafel beschrieben. Bei Beschreibung der des Wortauswahldecoders 64 erregt ist. Zunächst sei
ersten drei Taktgeberstufen wird in erster Linie auf angenommen, daß der Wortauswahldecoder 64 ein
F i g. 6 Bezug genommen. Datensymbol feststellt. In diesem Fall wird die Und-
Wenn das erste Zeichen eines algebraischen Aus- Schaltung 92 die Rückstellung des Zeitenteiles des
drucks im Befehlsregister 50 empfangen wird, wird 5<>
Eingabe-Ausgabe-Registers 68 des Kellerspeichers 16 auf der Leitung 51 ein Signal erzeugt, welches den nach Null stellen. Das Ausgangssignal der Undmonostabilen
Multivibrator MMl über das Ver- Schaltung 92, das über die Oder-Schaltung 94 läuft,
zögerungsglied 52 erregt. Das Ausgangssignal des bewirkt, daß die Torschaltung 96 geöffnet wird und
Verzögerungsgliedes 52 schaltet MMl ein. MMl die Daten aus dem 5-FeId des Wortspeichers 12 in
stellt die Wortauswahlsteuerung 62 auf die Adresse 55 das Eingabe-Ausgabe-Register 68 des Kellerspeichers
Eins und stellt den Wortspeicher 12 und den Ergeb- 16 gebracht werden. Das Abschalten des mononisspeicher-Auswahlzähler
56 in seine Null-Position. stabilen Multivibrators MM5 in diesem Augenblick
Der Befehlsregisterdecoder 54 analysiert das Zeichen erregt die Taktgeberstufe 12. Die Taktgeberstufe erim
Befehlsregister 50, und wenn er ein Datenzeichen zeugt einen Abwäxtszyklus des Kellerspeichers 16
feststellt, wird die Datenleitung aktiviert. Dieses 6o und bringt das Wort, das gerade im Eingabe-Aus-Signal
wird zusammen mit dem=Taktimpuls 1 einer gabe-Register 68 enthalten ist, in den ersten
Und-Schaltung 76 zugeführt, ^deren Ausgangssignal Speicherplatz des Kellerspeichers. Das Abschalten
eine Torschaltung 78 öffnet, durch welche das des monostabilen Multivibrators MM12 erregt die
Zeichen in das B-Feld des Wortspeichers 12 gelangt. Taktgeberstufe 13. Der Taktimpuls CL-13 bewirkt,
Wenn das Zeichen des Befelsregjsters 50 ein End- 65 daß die Wortauswahlsteuerung 62 um Eins erhöht
symbol gewesen wäre, dann wäre durch dieses Zei- und damit die nächste Speicherposition des Wortchen
und das Signal CL-I die Und-Schaltung 80 Speichers 12 überprüpft. Das Abschalten des monogeöffnet
worden. Das Ausgangssignal dieser Und- stabilen Multivibrators MM13 bewirkt über die
17 18
Oder-Schaltung 98 die Wiedereinschaltung der Takt- rung 62 um Eins. Das Abschalten des monostabilen
geberstufe 5. Es sei nun angenommen, daß ein Ope- Multivibrators MM15 bewirkt, daß die Einstellung
rationssymbol durch den Wortauswahldecoder 64 der Wortauswahlsteuerung über die Und-Schaltunfestgestellt
wird. In diesem Fall wird das Signal CL-S gen 120 und 122 überprüft wird, ob sie Null ist.
die Und-Schaltung 100 erregen, welche die Tor- 5 Wenn die Und-Schaltung 122 erregt wird, bedeutet
schaltung 102 öffnet und damit bewirkt, daß das das, daß der zweite Durchlauf beendet ist und daß
C-PeId des Wortspeichers 12 in das Eingabe-Aus- die Anordnung fertig zur Ausführung der verlangten
gabe-Register 68 gebracht wird. Die Und-Schaltung Operation ist. Wenn jedoch die Und-Schaltung 120
100 wird außerdem die Zeit im Eingabe-Ausgabe- erregt ist, wird der monostabile Multivibrator MM16
Register 68 des Kellerspeichers über die Torschaltung io erregt. Das Einschalten des monostabilen Multi-102
in das Vergleichsregister 69 bringen. Das Ab- vibrators 16 bewirkt, daß das Zeitenfeld des Einschalten
des monostabilen Multivibrators MMS be- gabe-Ausgabe-Registers 68 des Kellerspeichers 16 in
wirkt in diesem Fall das Einschalten des mono- das F-FeId des Wortspeichers 12 über die Torstabilen Multivibrators MM 6. Das Einschalten des schaltung 124 geleitet wird. In diesem Zeitpunkt
monostabilea MultivibratorsMM6 bewirkt, daß der 15 prüft die Und-Schaltung70 in Fig. 5B die Bedin-Kellerspeicher
16 um eine Position aufwärts geschaltet gung, die durch das A -Feld definiert ist, nämlich, ob
wird, und durch das Ausschalten des monostabilen das geprüfte Wort Daten enthält und die bistabile
Multivibrators MM 6 wird zur nächsten Taktgeber- Kippschaltung t sich im Null-Zustand befindet. Ein
stufe 7 weitergegangen. Das Einschalten des mono- Ausgangssignal auf der Leitung 71 zeigt an, daß
stabilen Multivibrators 7 erzeugt einen zweiten Auf- ao dieser Zustand vorliegt. Das Ausschalten des monowärtszyklus
des Kellerspeichers 16, und das Ab- stabilen Multivibrators MM16 prüft den Zustand der
schalten des monostabilen Multivibrators 7 erregt die Leitung 71. Wenn diese abgeschaltet ist, erregt der
Taktgeberstufe 8. Das Einschalten des monostabilen Inverter 126 die Und-Schaltung 128, so daß der
Multivibrators MM 8 bewirkt, daß die Adresse im monostabile Multivibrator MM18 eingeschaltet wird.
Eingabe-Ausgabe-Register 68 des Kellerspeichers as Dadurch wird ein Aufwärtszyklus des Kellerspeichers
über die Torschaltung 104 in das D-Feld des Wort- 16 ausgelöst. Das Abschalten des monostabilen
Speichers 12 gebracht wird und daß die Zeit aus dem Multivibrators MM18 prüft, ob das ,/4-FeId des
Zeitfeld des Eingabe-Ausgabe-Registers 68 in das Wortspeichers 12 Daten oder ein Operationssymbol
Vergleichsregister 70 über die Torschaltung 106 ge- enthält. Wenn das ,4-FeId ein Operationssymbol entbracht
wird. Das Abschalten des monostabilen 30 hält, schaltet der Taktgeber zur Stufe 19 weiter.
Multivibrators 8 bewirkt das Einschalten des mono- Diese Prüfung wird über die Und-Schaltungen 130
stabilen Multivibrators MM 9. Das Einschalten von und 132 bewirkt, welche direkt auf den mono-MM9
läßt die größere der beiden Zahlen in den stabilen MultivibratorMM18 in Fig. 4C folgen.
Vergleichsregistern 69 und 70 über die Und-Schal- Die Erregung des monostabilen Multivibrators
tungen 108 und 109 und den ihnen zugeordneten 35 MM19 bewirkt, daß das Zeitenfeld des Eingabe-Torschaltungen
110 und 111 über die Oder-Schaltung Ausgabe-Registers 68 über die Torschaltung 134
112 in den Zeitzähler 74 gebracht werden. Das Ab- und die Oder-Schaltung 112 in den Zeitzähler geschalten
des monostabilen Multivibrators 9 erzeugt bracht wird. Das Abschalten des monostabilen
den zehnten Taktimpuls. Der monostabile Multi- Multivibrators MM 19 schaltet den monostabilen
vibrator 10 bewirkt, daß der Zeitenzähler 74 um 40 Multivibrator MM 20 ein. Das Einschalten des monoEins
erhöht wird, und dann wird die Taktgeberstufe stabilen Multivibrators MM 20 bewirkt, daß vom
11 erregt. Durch die Täktgeberstufe 11 wird über die Inhalt des Zeitzählers 74 Eins substrahiert wird. Das
Oder-Schaltung 94 die Torschaltung 96 geöffnet, Abschalten des monostabilen Multivibrators MM 20
über welche das ß-Feld des Wortspeichers 12 in das prüft den Zustand der bistabilen Kippschaltung t.
Adressenfeld des Eingabe-Ausgabe-Registers 68 des 45 Wenn sich die bistabile Kippschaltung t im Eins-Kellerspeichers
gelangt. Dieser Täktzyklus bewirkt Zustand befindet, wird die Und-Schaltung 136 erregt
außerdem, daß der Inhalt des Zeitzählers 74 über die und zur Stufe 21 des Taktgebers weitergegangen,
Torschaltung 114 in das E-FeId des Wortspeichers oder wenn die bistabile Kippschaltung t sich im
12 gelangt und außerdem in das Zeitzählfeld des Null-Zustand befindet, wird die Und-Schaltung 138
Eingabe-Ausgabe-Registers 68 über die Oder-Schal- 50 erregt und über die Oder-Schaltung 140 zum monotungllö.
Das Abschalten des monostabilen Multi- stabilen Multivibrator MM 22 weitergegangen. Wenn
vibratorsMM11 erregt die Taktgeberstufe 12. man annimmt, daß die bistabile Kippschaltung«
Die Tatktgeberstufe 12 löst einen Abwärtszyklus sich im Eins-Zustand befindet, dann wird die Taktgeber-
des Kellerspeichers 16 aus, und durch deren Ab- stufe 21 erregt. Das Abschalten des monostabilen
schalten wird der monostabile Multivibrator MM13 55 Multivibrators MM 21 löst einen Abwärtszyklus des
erregt. MM13 schaltet die Wortauswahlsteuerung 62 Kellerspeichers aus, und sein Abschalten bewirkt,
um Eins weiter und erregt über die Oder-Schaltung daß über die Oder-Schaltung 140 zur Taktgeber-
98 wieder den monostabilen Multivibrator MM 5. stufe 22 übergegangen wird. Das Einschalten des
Die letzte Bedingung, welche die Taktgeberstufe 5 monostabilen Multivibrators MM 22 bringt den Infeststellen
kann, ist ein Endsymbol im ,4-FeId des 60 halt des Zeitzählers 74 über die Torschaltung 142
Wortspeichers 12. Wenn dieses Zeichen auftritt, ver~ und die Oder-Schaltung 142 und die Oder-Schaltung
zweigt der Taktgeber zum monostabilen Multi- 116 in das Zeitenfeld des Eingabe-Ausgabe-Registers
vibrator MM14 über die Und-Schaltung 40. Die 68 des Kellerspeichers 16, und sein Ausschalten
Taktgeberstufe 14 bewirkt den ersten Zyklus des erregt den monostabilen Multivibrator MM 23. Der
zweiten Durchlaufs. Der Taktgeber 14 stellt die 65 monostabile Multivibrator MM 23 löst einen Abbistabile
Kippschaltung t nach Null und stellt den wärtszyklus des Kellerspeichers 16 aus, und sein
monostabilen Multivibrator 15 ein. Der monostabile Ausschalten prüft wieder die bistabile Kippschal-Multivibrator
15 erniedrigt die Wortauswahlsteue- tung t, ob sie sich im Null-Zustand oder im Eins-
und E, die nach. Fig. 14C während der Zeit 12 ausgeführt
werden können, ergibt sieh in der Spalte E der Fig. 14D als Zeit der Ausführung die Zeit ί 2.
Die Wirkungsweise der erfindungsgemäßen An-5 Ordnung während des ersten Durchlaufs soll nun an
Hand der Fig. 14E erläutert werden. Während des
Schrittes 1, der durch die Ziffern in der oberen Reihe gekennzeichnet ist, wird das Zeichen α, ein
Operand, festgestellt. Da dieses Zeichen Daten dar-
Zustand befindet, und zwar über die Und-Schaltungen 144 und 146. Wenn sich die bistabile Kippschaltung
t im Eins-Zustand befindet, so wird direkt zur Taktgeberstufe 15 zurückgegangen, und
wenn sich die bistabile Kippschaltung t im NuIl-Zustand befindet, wird die Taktgeberstufe 24 über
die Und-Schaltung 144 erregt. Das Einschalten des monostabilen Multivibrators MM ΊΑ stellt die bistabile
Kippschaltung t in den Eins-Zustand, und ihr
Ausschalten löst einen Ausgangsimpuls über die io stellt, wird es In den ersten Speicherplatz des Keller-Oder-Schaltung
148 aus und bewirkt ein Zurück- Speichers 16 mit einer Zeit Null gebracht. Im kehren zur Taktgeberstufe 15. Schritt 2 wird ein weiteres Zeichen b festgestellt,
Im folgenden soll nun die Wirkungsweise und dieses wird ebenfalls mit der Zeit Null in den
einer erfindungsgemäßen Anordnung an Hand des Kellerspeicher eingegeben. Der gleiche Vorgang
in den Fig. 14A bis 14F dargestellten Beispiels 15 wiederholt sich während der Schritte3 und 4 bis
eines mathematischen Ausdrucks erläutert werden. zum Ende des Schrittes 4. Die vier Datenzeichen α,
Fig. 14A zeigt einen typischen algebraischen Aus- b, c und d sind zusammen mit ihren Zeiten 0 im
druck, der in der üblichen Klammern enthaltende Kellerspeicher 16 enthalten. Im Schritt 5 wird ein
Form geschrieben und der durch die erfindungs- Operationssymbol festgestellt, und die zwei zuletzt
gemäße Anordnung analysiert werden soll. In 20 gespeicherten Operanden im Kellerspeicher 16,
Fig. 14B ist dieser gleiche Ausdruck in Umgekehr- d.h. d und c, werden in den Feldern C und D in den
ter Polnischer Notation geschrieben. In Fig. 14C fünften Speicherplatz des Wortspeichers 12 gespeiist
der obige Ausdruck als Baum dargestellt, der, wie chert. Die größte der zwei Zeiten (beide Null) wird
schon an Hand der Fig. 13A erläutert, klar die um Eins erhöht, so daß sich Eins ergibt, welches in
Möglichkeiten der parallelen Ausführung eines 25 das E-FeId eingegeben wird. Die Ergebnisadresse A
mathematischen Ausdrucks zeigt. Fig. 14 D zeigt wird zusammen mit der Zeitenzählung 1 in den Kellerden
Inhalt des Wortspeichers 60, nachdem der alge- speicher zurückgebracht, und zwar in den obersten
braische Ausdruck' der Fig. 14B eingegeben und Speicherplatz.
vollständig analysiert wurde. Die erste Spalte der Im Schritt 6 wiederholt sich der gleiche Vorgang
Fig. 14B enthält die Einstellung der Wortauswahl- 30 wie beim Schritt 5 mit der Ausnahme, daß das
steuerung62. Unten in Fig. 14D sind Klammern oberste Zeichen im Kellerspeicher 16 nun die
angebracht, welche angeben, daß die Felder^ undB Adresseyl mit der Zeit 1 ist. Wenn diese Zeit und
während des Ladevorganges gefüllt werden und die die Zeit b, die Null ist, verglichen werden, so wird
Einstellung der Felder C, D und E während des festgestellt, daß die Eins größer ist, die dann um
ersten Durchlaufs und die Einstellung des Feldes F 35 Eins erhöht wird, so daß eine Zwei in das E-FeId
während des zweiten Durchlaufs erfolgt. Jn der Wortposition 6 des Wortregisters eingegeben
Die Fig. 14E und 14F zeigen die Inhalte des wird. Die Operanden A und B werden also in den
Kellerspeichers 16 während des ersten Durchlaufs Feldern C und D dieses Speicherplatzes gespeichert,
und des zweiten Durchlaufs. In Fig. 14E zeigt die Die folgende AdresseB und die Zeit 2 werden
oberste Reihe die jeweilige Einstellung der Wort- 40 zurück in den obersten Speicherplatz des Kellerauswahlsteuerung
62 an. In der zweiten Reihe stehen Speichers 16 gebracht. Der Schritt 7 ist gleich dem
die Zeichen des eingegebenen Ausdrucks, und die
übrigen Reihen geben die wirklichen Inhalte des
Kellerspeichers an.
übrigen Reihen geben die wirklichen Inhalte des
Kellerspeichers an.
Die Fig. 14F für den zweiten Durchlauf ist ahn- 45
lieh wie die Fig. 14E. Die oberste Reihe stellt
wieder die Einstellung der Wortauswahlsteuerung
dar. Die zweite Reihe enthält die Zeichen des eingegebenen Ausdrucks, und die restlichen Spalten
wieder die Einstellung der Wortauswahlsteuerung
dar. Die zweite Reihe enthält die Zeichen des eingegebenen Ausdrucks, und die restlichen Spalten
zeigen den Inhalt des Kellerspeichers. Man beachte, 5° schrieben wurde.. Nach der Feststellung eines
daß als Inhalt des Kellerspeichers nur eine einzige Operationssymbols im Schritt 10 beginnt die Anord-Spalte
von Zahlen, die Zeiten angegeben sind. Dies nung, Daten aus dem Kellerspeicher 16 in der
ist deshalb, weil während des zweiten Durchlaufs Weise, wie beim Schritt 5 beschrieben, auszugeben,
nur die Zeitzählungen betrachtet werden. Es wird und zwar bis zum Schritt 16, bei welchem ein Endangenommen,
daß die Fig. 14A bis 14D von selbst 55 symbol festgestellt wird, welches die Steuerung ververständlich
sind. Zum Baum der Fig. 14C soll anlaßt, den zweiten Durchlauf einzuleiten,
jedoch erwähnt werden, daß die relativen Zeiten, An Hand der Fig. 14F soll nun erläutert wer-
während welcher die verschiedenen Operationen den, welche Werte der Kellerspeicher 16 während
ausgeführt werden können, mit iO bis tA bezeichnet des zweiten Durchlaufs enthält. Dieser Durchlauf
sind. Überträgt man die Lehre aus dem Baumdia- 60 beginnt mit dem Schritt 16, welches auch die Eingramm
der Fig. 14C auf die Fig. 14D, so erkennt stellung der Wortauswahlsteuerung 62 ist, obwohl
man, daß die durch die Ergebnisse A und D ge- dies tatsächlich der erste Schritt des zweiten Durchkennzeichneten
Operationen auf der Geraden ti laufs ist, der durch das Endsymbol eingeleitet wurde,
liegen. Es wird damit angezeigt, daß diese Ope- Im Schritt 15 wird ein Operationssymbol festgestellt,
rationen zur Zeit ti ausgeführt werden können. In 65 welches bewirkt, daß die Zeit 4, die vorher in dem
der Fig. 14D gibt die eingetragene frühestmögliche obersten Speicherplatz des Kellerspeichers 16 entZeit
in der Spalte E für die Ergebnisse A und D in halten war, aus dem E-FeId für die Wortposition 15
Spalte B die Zeitil an. Auch für die Operationen B entnommen, um Eins vermindert und in den Keller-
Schritt 6 mit der Ausnahme, daß die neue Information in den siebten Speicherplatz des Wortspeichers
12 gelangt.
Im Schritt 8 wird wieder ein Datenzeichen festgestellt, und deshalb wird seine Adresse e zusammen
mit der Zeit Null in den obersten Speicherplatz des Kellerspeichers 16 gebracht. Die Schritte 9, 10 und
11 sind identisch mit dem Schritt 8, der gerade be-
speicher 16 zurückgebracht wird. Im Schritt 14 wird ein weiteres Operationssymbol festgestellt, so daß
sich dieser Vorgang bis zum Schritt 12 wiederholt. Es sei bemerkt, daß im Schritt 15 das Operationssymobl
die Einstellung der bistabilen Kippschaltung ζ in den Eins-Zustand bewirkt. Im Schritt 11 wird die
bistabile Kippschaltung t in den Null-Zustand zurückgestellt
und der Abtastzyklus beendet. Im Schritt 10 mit der Feststellung eines zweiten Datenzeichens
im Kellerspeicher 16 beginnt die Ausgabe der Zeiten bis zum Schritt 7, in welchem die zweite
Folge von Operationssymbolen festgestellt wird und die bistabile Kippschaltung t wieder in den Eins-Zustand
gebracht wird, so daß der Abwärtszyklus des Kellerspeichers 16 wieder beginnt. Man erkennt
bei Betrachtung des FeldesF in Fig. 14D, daß die
gespeicherten Zeiten in jedem Schritt gleich der Zahl in der obersten Speicherposition des Kellerspeichers
16 für den vorangegangenen Schritt ist.
Bei Betrachtung der Felder E und F des Wort- ao Speichers 16 in Fig. 14D erkennt man, daß in
einigen Plätzen die Zahlen die gleichen und in anderen die Zahlen verschieden sind. In diesem speziellen
Beispiel bleiben die Werte in den Feldern E und F für die Operationssymbole die gleichen, was
in Wirklichkeit bedeutet, daß die frühestmögliche Zeit, zu welcher eine Operation ausgeführt werden
kann, auch die letztmögliche Zeit ist. Deshalb ergibt sich in diesem Beispiel kein besonderer Vorteil durch
die Prüfung des F-Feldes beim Auslesen. Im nachfolgenden Anwendungsbeispiel, das in den F i g. 15A
bis 15 G dargestellt ist, wird dieser Vorteil der Erfindung augenscheinlich. Es sei bemerkt, daß im
Beispiel der Fig. 14 der Wert im E-FeId die Zeit
angibt, zu welcher die Daten verfügbar sind. So kann z. B. der Wert des Datenkennzeichens b
offensichtlich schon zur Zeit Null entnommen werden. Das Zeichen wird jedoch nicht früher benutzt
als in der Operation B, die während der Zeit ti ausgeführt
wird. Demzufolge wäre es möglich, die Entnähme von d bis zur Zeit ti zu verzögern. Dies ist
in dem Feld F für b zu erkennen, welches eine Eins enthält und damit anzeigt, daß dieser Vorgang zu
dieser späteren Zeit erfolgen kann. Wie sich noch aus dem Beispiel der F i g. 15 ergeben wird, gilt
dies auch hier, wo die Operation C z. B. einen Operanden erfordert, der das Ergebnis aus einem Operanden α und einem Operanden«' war. Diese Operation
konnte z. B. während der Zeit ti erfolgen; da aber die Operation C nicht vor der Zeit 13 auftritt,
konnte die Operation auch noch zur Zeit ti ausgeführt werden. In diesem Fall, wo die Operation
die Verarbeitung von α und a' verlangt, muß im E-FeId Eins und im F-FeId Zwei stehen.
Nur die Speicherplätze des Wortspeichers 12, die ein Operationssymbol enthalten, müssen bei der
Steuerung der Operationen des Datenverarbeitungssystems benutzt werden. Es ist jedoch nötig, alle
Speicherplätze zu prüfen, um die notwendigen Werte ermitteln zu können. Mit anderen Worten, nur die
Speicherplätze 5, 6, 7, 12,13,14,15 und 16 müssen
befragt werden und werden dazu ausgenutzt, um die Operationen zu steuern, da diese Speicherplätze alle
Operationssymbole, Operanden und sonstige notwendigen Werte enthalten.
Während die Werte in dem Feld F der Datenwörter (d. h. keine Operationssymbole) im vorliegenden
Ausführungsbeispiel vernachlässigt werden können, können sie bei anderen Anwendungen benutzt werden,
um die Zuführung der Operanden zu steuern.
An Hand des in der Fig. 15 dargestellten Beispiels
soll der Vorteil erläutert werden, daß man beide Felder, E und F, für einen Befehl zur Verfügung hat
oder, mit anderen Worten, daß man sowohl die frühestmögliche Zeit als auch die letztmögliche Zeit zur
Ausführung einer bestimmten Operation verfügbar hat. In Fig. 15A ist ein mathematischer Ausdruck
in Umgekehrter Polnischer Notation geschrieben, und in Fig. 15C ist dieser Ausdruck als Baum dargestellt.
Dieses Beispiel zeigt nicht die jeweiligen Inhalte des Kellerspeichers 16 zur Bildung der Inhalte
der Felder E und F des Wortspeichers. Die F i g. 15 D, 15 E und 15 F veranschaulichen die Zuordnung der
verschiedenen Operationen des algebraischen Problems an die Datenverarbeitungsanlage mit mehreren
Verarbeitungseinheiten. Fig. 15D zeigt, welche Zeit
erforderlich ist, wenn nur das F-FeId ausgenutzt wird,
und Fig. 15E die insgesamt erforderliche Zeit für
eine Datenverarbeitungsanlage mit drei Verarbeitungseinheiten, wenn nur das E-FeId benutzt wird. In
Fig. 15F ist gezeigt, welche Zeitverteilung sich ergibt,
wenn bei der Auswahl der Verarbeitungseinheiten die in den Spalten E und F gespeicherten Werte
berücksichtigt werden. Fig. 15G zeigt den Inhalt der
Felder^, B, F und E des Wortspeichers 12, wobei allerdings nur die Speicherplätze angegeben werden,
die ein Operationssymbol im Λ-Feld enthalten.
Bei der Erläuterung des in Fig. 15 dargestellten
Beispiels sei angenommen, daß die Datenverarbeitungsanlage drei Verarbeitungseinheiten ρ 1, pi und
ρ 3 enthält. Für alle drei möglichen Arten des Betriebs wird eine Sortierhaltung benutzt, die derart wirkt,
daß sie, beginnend mit dem Kopf des F- und/oder Ε-Feldes, nacheinander anzeigt, welcher Speicherplatz
die niedrigste Zeit enthält, wobei angenommen wird, daß in jedem Speicherplatz eine Zahl aus zwei
Zeichen steht. Auf die Sortiersteuerung 11 wird in der nachfolgenden Beschreibung im Abschnitt über
die Ausführung der Rechnung noch näher eingegangen werden. In F i g. 15 A ist ein algebraischer Ausdruck
in Umgekehrter Polnischer Notation geschrieben. Über jedem der Operationssymbole steht ein
großer Buchstabe, der das Ergebnis einer bestimmten Operation darstellt. Diese großen Buchstaben erscheinen
auch als Ergebnisse von Operationen in dem Baum der Fig. 15C. In diesem Baum stellt jede Verzweigung
eine bestimmte Operation dar, und jede solche Verzweigung ist mit dem entsprechend großen
Buchstaben gekennzeichnet, wie er in Fi g. 15 A angegeben ist. Neben jeder Verzweigung stehen außerdem
zwei Zahlen, die dem Inhalt der F- und E-Felder entsprechen. Die vertikalen Spalten in jeder der drei
Fig. 15D, 15E und 15F stellen die Operationen
dar, die einer bestimmten Verarbeitungseinheit zugeordnet sind, und jede aufeinanderfolgende horizontale
Reihe stellt eine Zeit dar, welche notwendig ist, um eine bestimmte Operation auszuführen. Jede der
einzelnen Blöcke in diesen Figuren enthält einen großen Buchstaben, der die Operation kennzeichnet.
Nachdem die Wirkungsweise der Anordnung erläutert wurde, wird es nicht nötig sein, im einzelnen
zu erläutern, wie die Inhalte des Wörtregisters, die in F i g. 15 G dargestellt sind, erzeugt werden. Daß
die in den FeldernF und E der Fig. 15G erscheinenden
Zahlen richtig sind, erkennt man bei einer Prüfung der Fig. 15C.
Bei dem Ausführungsbeispiel der Fig. 15D sei
zuerst angenommen, daß die drei Verarbeitungseinheiten in Übereinstimmung mit dem Inhalt des F-FeI-des
Operationen zugeordnet werden. Wenn dies der Fall ist, so wird während der ersten Zeitperiode eine
Überprüfung des F-Feldes ergeben, daß die Operationen A, B und D die drei niedrigsten Zeitwerte aufweisen
und daß diese deshalb den drei Verarbeitungseinheiten zugeordnet werden. Die drei nächstniederen
Operationen E, C und F werden ebenfalls wieder den drei Verarbeitungseinheiten zugeteilt. Man erkennt
jedoch, daß die Operation F nicht in der zweiten Zeit ausgeführt werden kann, weil das Ergebnis der
Operation E selbst ebenfalls in dieser Zeit ausgeführt wird. Deshalb muß die Operation F um eine Zeitperiode
verzögert werden, bis die Operation E beendet ist. Die Schraffur in diesem Block kennzeichnet,
daß die Verarbeitungsarbeit ρ 3 diesen Befehl nicht in dieser Zeitperiode ausführen kann, da einer der
Operanden noch nicht verfügbar ist. Deshalb muß die Operation F bis zur dritten Zeitperiode verzögert
werden. In der Zeit 3 sind die Operationen H und / die zwei nächstniederen Operationsnummern; sie
werden den Verarbeitungseinheiten ρ 1 und ρ 2 zugeordnet, während ρ 3 nun die Operation F ausführt.
In der Zeitperiode 4 werden die Operationen G, J und L durch die drei Verarbeitungseinheiten ausgeführt
und in der Zeitperiode 5 die Operationen M und K durch die Verarbeitungseinheiten ρ 1 und ρ 2.
Wenn jedoch die Operation N der Verarbeitungseinheit ρ 3 zugeordnet wird, so stellt dieser fest, daß
einer der Operanden, nämlich das Ergebnis der Operation M noch nicht zur Verfügung steht, so daß die
Verarbeitungseinheit ρ 3 wieder warten muß und deshalb in dieser Zeit unbenutzt ist. In der Zeit 6 wird
die Operation O, die letzte Operation, der Verarbeitungseinheit
ρ 1 zugeteilt, da einer ihrer Operanden, nämlich das Ergebnis der Operation?/, noch nicht
verfügbar ist, da diese Operation gleichzeitig durch die Verarbeitungseinheit ρ 3 ausgeführt wird. Die
Verarbeitungseinheit ρ 1 muß also während der Zeit 6 ungenutzt bleiben und die Operation O während
Zeit 7 ausführen. Wenn also nur die Werte im Feld F ausgenutzt werden, sind bei drei Verarbeitungseinheiten
sieben Zeitperioden notwendig, um den algebraischen Ausdruck gemäß Fig. 15A
zu lösen.
Bei dem Beispiel der Fig. 15E werden nur die
Werte ausgenutzt, die im S-FeId des Wortregisters stehen. Die Zuordnung der verschiedenen Operationen
zu den Registern erfolgt wie im Beispiel der F i g. 13 C. Der Unterschied liegt darin, daß die Reihenfolge
der Zuordnung der verschiedenen Operationen teilweise anders ist. Man erkennt, daß bis zur
Zeitperiode 4 die Zeiten der Verarbeitungseinheiten optimal ausgenutzt werden oder, mit anderen Worten,
daß keine Leerzeiten entstehen. In der Zeit 5 jedoch erfordert die Zuordnung der Operationen £
und O zu den Verarbeitungseinheiten ρ 2 und ρ 3, daß beide Verarbeitungseinheiten ρ 2 und ρ 3 während
der Zeitperiode 5 unausgenutzt bleiben, bis die Operation G beendet ist, weil das Ergebnis daraus
einen der Operanden für die Operation K bildet. In der Zeit 6 wird die Operation K ausgeführt, aber die
Verarbeitungseinheit ρ 3 muß während dieser Zeit wieder still liegen, da die Operation O als einen seiner
Operanden das Ergebnis der Operation K benötigt. Auch hier werden wieder insgesamt sieben Zeitperioden
benötigt, um den mathematischen Ausdruck gemäß Fig. 15A zu lösen.
Fig. 15F enthält die Zuordnung der Operationen
zu den drei Verarbeitungseinheiten, wenn zur Zuordnung die im Wortregister gespeicherten Felder F
und E als Basis benutzt werden. Alle drei Verarbeitungseinheiten bleiben während der ersten vier Zeitperioden
aktiv, und während der Zeitperiode 5 muß dieVerarbeitungseinheit 3 warten, bis die Operation K
beendet ist. In der Zeitperiode 6 führt die Verarbeitungseinheit ρ 3 die Operation O aus, so daß innerhalb
sechs Zeitperioden der gesamte Ausdruck berechnet ist. Die Auswertung der beiden Felder F
und E bringt also eine Zeitersparnis von einer Periode.
Wenn auch diese Einsparung einer Zeitperiode im vorliegenden Ausführungsbeispiel nicht besonders
wesentlich erscheint, so muß doch daran erinnert werden, daß dieses Beispiel stark vereinfacht ist und
nur zur Veranschaulichung der Vorteile der Erfindung benutzt wurde. Die meisten einer Datenverarbeitungsanlage
zur Lösung übertragenen Aufgaben benötigen eine wesentlich größere Anzahl von Schritten,
so daß die Zeitersparnis wesentlich größer ist und die Wirtschaftlichkeit einer Maschine stark erhöht
wird.
Nachdem nun die Eingabe und die Ermittlung der Zeiten für die einzelnen Operationen erläutert wurden,
soll die Ausgabe und der Teil der Anordnung beschrieben werden, der die verschiedenen Operationen
den Verarbeitungseinheiten der Datenverarbeitungsanlage zuordnet.
In der Fig. IB, die ein Blockschaltbild des Ausgabeteils
der erfindungsgemäßen Anordnung darstellt, sind Verarbeitungseinheiten 1, 2 bis η vorgesehen.
Jeder dieser Verarbeitungseinheiten 1, 2 bis η ist eine Verarbeitungssteuerschaltung 1', 2' bis n' zugeordnet.
Aufgabe der Verarbeitungssteuerschaltungen 1' bis n' ist es, zunächst festzustellen, ob die zugeordnete Verarbeitungseinheit
1 bis η fertig ist, eine Operation zu übernehmen, anzuzeigen, daß sie eine Operation erhalten
hat und daß sie weitere Operationen nicht übernehmen kann. Die Verarbeitungssteuerschaltung
1' bis n' muß jede Operation untersuchen, um festzustellen,
ob die Verarbeitungseinheit sofort mit der Ausführung der Operation beginnen kann oder warten
muß, bis einer der Operanden der zugeordneten Operation in einem vorausgehenden Schritt ermittelt
werden muß. Die Verarbeitungssteuerschaltungen Γ bis ή für alle Verarbeitungseinheiten 1 bis η sind
gleich. Prüfimpulse werden durch alle Verarbeitungssteuerschaltungen 1' bis n' hindurchgeschickt, um zu
bestimmen, welche Verarbeitungseinheiten 1 bis η zur Ausführung einer bestimmten Operation verfügbar
sind. Der Wortspeicher 12 ist derselbe, der schon in F i g. 1A gezeigt ist. Der Wortspeicher 12 ist hier
in zwei Teile unterteilt, nämlich in einen Teil, der Felder A1 B, C und D enthält und einen Teil, der die
Felder E und F enthält, die hier mit dem Sortierregister 11, welches bestimmt, welche der im Wortspeicher
12 gespeicherten Operationen zu einer gegebenen Zeit auszuführen sind, vereinigt. Der bereits in
F i g. 1A gezeigte Ergebnisspeicher 14 wird dazu benutzt, um die Ergebnisse der einzelnen Operationen
in dem durch das B-Feld des Wortspeichers 12 angezeigten Speichersatz zu speichern. Im Ergebnisspeicher
14 ist außerdem ein Speicherplatz für ein Fertig-Bit vorgesehen, welches, wie noch im einzelnen erläu-
tert werden wird, eine schnelle Prüfung erlaubt, ob ein bestimmter Ergebnisspeicherplatz sein Ergebnis
bereits erhalten hat. In den Ergebnisspeicher 14 werden die Ergebnisse eingelesen und wieder ausgelesen,
wenn sie in nachfolgenden Operationen benutzt werden.
Mit 13 ist ein Prüfimpulsgenerator bezeichnet, der zwei verschiedene Folgen von Prüfimpulsen erzeugt,
mit Hilfe welcher festgestellt wird, ob eine Verarbeitungseinheit zum Empfang eines neuen Befehls bereit
ist und ob die einer Verarbeitungseinheit zugeführte Instruktion als Ergebnis aller zugeführter Operanden
fertig zur Verarbeitung ist. Der Prüfimpulsgenerator 13 in F i g. 1B entspricht in seiner Aufgabe der Zeitsteuerung
22 der F i g. 1A. Die Zeitsteuerung des Ausgabeteils der Anordnung kann somit eher als
asynchron bezeichnet werden als der Eingangsteil. Die durch den Prüfimpulsgenerator 13 erzeugten Impulsfolgen
sind in Fig. 12 dargestellt.
Jetzt sollen die Vorgänge und Prüfungen im Aus- ao gabeteil erläutert werden. Es sei zunächst angenommen,
daß der Taktimpuls des Eingabeteils seinen Zyklus beendet hat und in der Wortauswahlsteuerung
eine Null festgestellt wurde, was anzeigt, daß der zweite Durchlauf beendet ist und daß ein Befehl zur
Ausführung der Operation erhalten wurde. Die erste Prüfung, die gemacht werden muß, ist, eine freie Verarbeitungseinheit
1 bis η auszumachen. Dann muß die erste Operation, die, gemäß den Werten in den
F- und Ε-Feldern des Wortregisters 12, ausgeführt werden muß, ermittelt werden und diese der gerade
ausgesuchten Verarbeitungseinheit zugeführt werden. In diesem Augenblick muß die Verarbeitungssteuerschaltung
1' bis n' feststellen, ob die in der Instruktion enthaltenen Operanden schon verfügbar sind. Mit
anderen Worten, es muß festgestellt werden, ob Speicheradressen vorhanden sind, die die Ausgangsdaten
oder -Operanden angeben, und wenn dies der Fall ist, ist es klar, daß diese Daten unmittelbar verarbeitet
werden und die Operation ausgeführt wird oder ob die Operanden Ergebnisadressen sind. In diesem
letzteren Fall, wenn einer der Operanden eine Ergebnisadresse darstellt, muß der angegebene Speicherplatz
des Ergebnisspeichers 14 abgefragt werden, ob ein bestimmtes Ergebnis verfügbar ist. Wenn das Ergebnis
nicht zur Verfügung steht, wird fortgefahren, den Ergebnisspeicher 14 mit dem Prüfimpuls zu prüfen,
und sobald ein Ergebnis verfügbar ist, wird die Anordnung ein Signal erhalten, das anzeigt, daß mit
der Operation fortgefahren werden soll. Nachdem die Operation beendet ist, muß das Ergebnis zusammen
mit einem Fertig-Bit in den Ergebnisspeicher 14 eingegeben werden, um schnell prüfen zu können, ob ein
Ergebnis verfügbar ist oder nicht.
Die gleiche Folge von Schritten wiederholt sich jedesmal, wenn eine Verarbeitungseinheit 1 bis η frei
ist. Mit anderen Worten, die nächstfolgende Operation aus dem Sortierregister 11 macht die notwendigen
Prüfungen und bestimmt, ob die besagte Operation sofort ausgeführt werden kann oder warten muß, bis
ein Ergebnisoperand erhalten ist. Es wird ständig geprüft, um Verarbeitungseinheiten 1 bis η festzustellen,
die nicht im Betrieb sind, und jedesmal, wenn eine solche Verarbeitungseinheit gefunden
wird, wird die nächstfolgende Operation dieser Verarbeitungseinheit zugeordnet, bis alle Operationen
zugeteilt sind, wonach dann ein Schlußsignal erzeugt wird.
Nachdem nun die Wirkungsweise der Erfindung erläutert wurde, soll im folgenden an Hand der
Schaltbilder der Fig. 7A bis 11 ein spezielles Ausführungsbeispiel
einer erfindungsgemäßen Anordnung beschrieben werden.
Die Fig. 7 besteht aus den Fig. 7A und 7B.
Der Wortspeicher 12 ist in zwei Teile aufgeteilt, nämlich in den Abschnitt200 mit den Feldern^, B, C
und D und dem Abschnitt 202, der die Felder F und E enthält. Ein Teil des Abschnittes 202 wird
durch die Sortiersteuerung 11 gebildet, welche die nächstniedrige Nummer in den Feldern F und E aussucht,
wobei sie am Kopf dieser Liste beginnt, jedesmal, wenn eine Anforderung für ein neues Operationssymbol
erhalten wird. In der Sortiersteuerung wird jedesmal, wenn ein Auswahlsignal empfangen
wird, einer bestimmten Leitung Spannung zugeführt; welche Leitung das ist, hängt davon ab, welche Zahl
in den Feldern F und E die nächstniedrige ist, wobei am Kopf begonnen wird. Wenn eine bestimmte Operation
durch ein Signal auf der Leitung 218 zugeordnet wurde, läuft ein Impuls über das Verzögerungsglied
219 zurück zu diesem Platz der Sortiersteuerung 11, der gerade ausgewählt wurde, und löscht diese
Operation oder Wortposition aus der Operationsliste. Die Verzögerung durch 219 bewirkt, daß die
Inhalte der Felder A1B1C und D aus dem Wortspeicher
12 vor dem Löschen in die Eingaberegister 224 der Verarbeitungseinheiten 1 bis η eingegeben werden
können.
Das Einschaltsignal für diesen Teil der Anordnung liefert Spannung an die ganze Anordnung und löst
damit den Prüfimpulsgenerator 13 aus, der alle bistabilen Kippschaltungen in den Fig. 7A bis 11 mit
einem Rückstellimpuls R speist. Dieser Rückstellimpuls R veranlaßt alle bistabilen Kippschaltungen,
die zugeordnete Verarbeitungseinheit zu prüfen, ob sie zur Ausführung von Operationen verfügbar ist.
Wenn ein Prüfimpuls auf der Leitung 204 erhalten wird, wird dieser den Und-Schaltungen 206 und 208
zugeführt. Da die »Bereit«-Kippschaltung 210 für die Verarbeitungseinheit 1 in den Zustand »1« gebracht
wurde, erzeugt die Und-Schaltung 208 einen Impuls auf der Leitung 212. Dieser Impuls läuft über die
Oder-Schaltung 214 und die Leitung 216 zu der Sortiersteuerung 11 und veranlaßt deren Einschaltung.
Im Block 202 wird die Operation mit der niedrigsten Zahl in den E- und F-Feldern ausgewählt und
z. B. auf der Leitung 218 ein Impuls erzeugt, der einen bestimmten Speicherplatz im Wortspeicherteil
200 auswählt. Dadurch wird aus dem Wortspeicherabschnitt 200 ein ganzes Wort über die Torschaltung
220 ausgelesen. Die Torschaltung 220 wurde durch einen Impuls aus der Und-Schaltung 208 geöffnet,
der über die Leitung 212 die Operationen anfordernde bistabile Kippschaltung 222 für die Verarbeitungseinheit 1 in den Eins-Zustand bringt. Das im Abschnitt
200 des Wortspeichers 12 gespeicherte Wort wird in das Eingaberegister 224 der Verarbeitungseinheit 1 gebracht. Wenn durch die Leitung 218 ein
bestimmter Wortspeicherplatz ausgewählt wird, wird ein Impuls auf der Leitung 226 auf der rechten Seite
des Wortspeichers 12 erzeugt, der über die Oder-Schaltung 228 einem Verzögerungsglied 230 zugeführt
wird. Diese Verzögerung ist so bemessen, daß die Zeit zur Übernahme eines Wortes aus dem Wortspeicher
12 in eines der Eingaberegister 224 der Verarbeitungseinheiten 1 bis η ausreicht. Wenn auf der
809 627/1360
Leitung 232 aus dem Verzögerungsglied 230 ein Impuls erscheint, gibt die Und-Schaltung 234 ein Signal
ab, wenn sich gleichzeitig die bistabile Kippschaltung 222 im Eins-Zustand befindet. Dieser Ausgangsimpuls
stellt die bistabile Kippschaltung 222 und die bistabile Kippschaltung 210 in den Null-Zustand. Die Rückstellung
der bistabilen Kippschaltung 222 in den Null-Zustand öffnet die Torschaltung 220 und verhindert
dadurch, daß ein weiteres ausgewähltes Wort beabsichtigt in dieses Register eingegeben wird. Die
Einstellung der bistabilen Kippschaltung 210 in den Null-Zustand erzeugt einen EinstelKmpuls für die
Und-Schaltung 206 und zeigt an, daß die Verarbeitungseinheit 1 gerade keine weitere Operation empfangen
kann, so daß der Prüfimpuls α zur nächsten Verarbeitungseinheit, die im Augenblick nicht beschäftigt
ist, in diesem Fall die Verarbeitungseinheit 2, weitergeleitet wird.
Zu diesem Zeitpunkt wurde durch den Prüfimpuls a eine Verarbeitungseinheit festgestellt, die nicht in Be- ao
trieb ist. Die Operation mit dem höchsten Vorrang, der durch die Sortiersteuerung mit Hilfe der Werte in
den Feldern E und F des Wortregisters ermittelt wurde, wurde ausgewählt und dem Eingaberegister
224 dieser Verarbeitungseinheit zugeführt. Die in Fig. 7A dargestellten logischen Schaltungen für die
Verarbeitungseinheiten 2 bis η arbeiten in genau der gleichen Weise, wie die für die Verarbeitungseinheit 1,
und aus diesem Grund werden diese Teile der Schaltung nicht noch einmal beschrieben, auch sind diese
Elemente nicht mit Bezugszeichen versehen.
Die Fig. 7B und 8 enthalten die logischen Schaltungen,
welche prüfen, ob die gerade im Eingaberegister 224 gespeicherten Operanden verfügbar sind
oder ob die Verarbeitungseinheit warten muß, bis ein bestimmtes Ergebnis erhalten wird. Wenn die bistabilen
Kippschaltungen 210 und 222 in ihren Null-Zustand zurückgestellt sind, wird auf der Leitung 236
ein Impuls erzeugt. Dieser Impuls läuft über die bistabile Kippschaltung 238 »Operation zugeordnet«
und stellt diese bistabile Kippschaltung in den Eins-Zustand. Dadurch erzeugt die Und-Schaltung 240
einen Ausgangsimpuls, wenn der Prüfimpuls b auf Leitung 242 erhalten wird. Wie bereits oben erwähnt,
dient der Prüfimpuls b dazu, den Zustand der Operanden, die einer bestimmten Verarbeitungseinheit
zugeordnet sind, zu überprüfen und damit festzustellen, ob die Operanden zur Zeit verfügbar sind und ob
die Operation somit sofort ausgeführt werden kann. Wie ebenfalls bereits vorher erwähnt, kann einer der
Operanden für eine bestimmte Operation ein Ergebnis sein, und wenn das der Fall ist, muß eine Prüfung
vorgenommen werden, um festzustellen, ob die bestimmte Operation bereits ausgeführt ist. Die logische
Schaltung der Fig. 8 dient dazu, diese Operationen auszuführen.
Zunächst muß jedoch kurz noch auf die Fig. 7B
eingegangen werden, welche zeigt, daß an den Ausgang eines Eingaberegisters 224 für eine Verarbeitungseinheit
3 Decoder 239, 241 und 243 für die Ergebnisadresse und die Datenabschnitte Nr. 1 und 2
des Eingaberegisters 224 angeschlossen sind. Die Decoder 241 und 243 haben zwei Ausgänge, die automatisch
bestimmen, ob eine gegebene Operandenadresse eine Hauptspeicheradresse oder eine Adresse
des Ergebnisspeichers ist. Diese zwei Leitungen sind mit MA und RA gekennzeichnet. Außerdem haben
diese Decoder eine zweite Reihe von Ausgängen, von denen eine zur Auswahl einer Speicherstelle im Ergebnisspeicher
erregt ist. Wenn somit ein Operand ein Ergebnis ist und dessen Adresse zu einer der zwei
Datenregisteradressen, Daten Nr. 1 oder Daten Nr. 2, geschickt wird, so wird diese Adresse decodiert, und
eine Leitung aus dem Decoder 241 oder 243 wird einen bestimmten Speicherplatz des Ergebnisspeichers
über einen Kreuzschienenwähler auswählen, der später erläutert werden soll. Der Decoder 239 dient zum
Auswählen eines Speicherplatzes im Ergebnisspeicher 14, in welchen nach Ausführung einer Operation ein
Ergebnis gebracht wird und der in der gleichen Weise arbeitet wie der Decoder 241 und 243. Alle drei Decoder
239,241,243 haben so viele Ausgangsleitungen,
wie Speicherplätze im Ergebnisspeicher vorhanden sind. Die Torschaltungen an den Ausgängen aller
drei Decoder 239, 241 und 243, von denen die mittlere mit 262 bezeichnet ist, lassen die Auswahlimpulse
aus den Decodern zu einer ganz bestimmten Zeit hindurch. Es soll nun mit der Beschreibung der
F i g. 8 fortgefahren werden. Wie bereits erwähnt, prüft die Schaltung der F i g. 8, ob die Daten verfügbar
sind, und nachdem die Prüfung erfolgreich war, gibt sie ein Signal ab, daß die Verarbeitungseinheit
mit der Operation beginnen kann, wenn die Und-Schaltung 240 erregt ist und ein Ausgangssignal
auf der Leitung 242 erscheint.
Es sei zunächst angenommen, daß beide der Operanden in den Datenadreßteilen des Eingaberegisters
224 eine Hauptspeicheradresse und keine Adresse des Ergebnisspeichers 14 enthalten. In diesem Fall
werden folgende Schritte vollzogen. Die Decoder 241 und 243 erzeugen jeweils einen Impuls auf den Leitungen
MA, die der Anordnung der F i g. 8 über die Leitungen 244 und 246 zugeführt werden. Der
Impuls auf der Leitung 244 wird zusammen mit dem Impuls auf der Leitung 242 einer Und-Schaltung 248
zugeführt, die auf der Leitung 250 einen Impuls erzeugt. Dieser wird zusammen mit einem Impuls auf
der Leitung 246 einer weiteren Und-Schaltung 252 zugeführt.
Das Ausgangssignal der Und-Schaltung 252 läuft über die Oder-Schaltung 254, deren Ausgangssignal
anzeigt, daß beide Operanden unmittelbar verfügbar sind und daß die Verarbeitungseinheit mit der Operation
beginnen kann. Gleichzeitig mit diesem Signal wird ein Rückkopplungssignal auf der Leitung 256
erzeugt, welches die bistabile Kippschaltung 238 in ihren Null-Zustand zurückstellt und damit verhindert,
daß durch den Prüfimpuls b auf der Leitung 242 ständig geprüft wird. Da beide Operanden verfügbar
sind und die Verarbeitungseinheit mit der Operation beginnt, ist es nicht länger nötig, daß die Prüfung mit
dem Prüfimpuls b wiederholt wird.
Wenn man nun annimmt, daß der Datenteil Nr. 1 des Eingaberegisters 224 der Verarbeitungseinheit
eine Ergebnisadresse enthält, so geschieht folgendes: Der Impuls auf der Leitung 242 erzeugt ein Eingangssignal
für die Und-Schaltung 258, deren anderer Eingang von der Leitung RA vom Decoder 241 herrührt.
Der Ausgangsimpuls von der Und-Schaltung 258 erzeugt einen Registerleseimpuls für die Registertorschaltung
262, der über die Leitung 264 zugeführt wird. Dieser Impuls veranlaßt die Ergebnisadresse in
den Datenadressenteil Nr. 1 des Eingaberegisters 224 den richtigen Speicherplatz im Ergebnisspeicher 14
auszuwählen und den Inhalt desselben in das Datenregister 400 für die Verarbeitungseinheit 1 in F i g. 9
29 30
abzugeben. Der Impuls auf Leitung 264 läuft über die Speicher nicht in die Datenregister 400 und 402
Oder-Schaltung 266 und wird in der Verzögerungs- gebracht, ehe das »Verarbeitungseinheitfortfahren«
anordnung 268 verzögert und liefert ein Eingangs- Signal erhalten wird, da die Daten in diese Register
signal für die Und-Schaltungen 270 und 272. Da die vor dieser Zeit nur gebracht werden, um prüfen zu
Leitung 260 Spannung führt, ist die Und-Schaltung 5 können, ob das Fertig-Bit für das bestimmte Ergebnis
270 erregt und erzeugt somit ein Eingangssignal für eingestellt wurde oder nicht. In dem Ergebnisspeicher
die Und-Schaltung 274. Die Und-Schaltung 274 prüft, 14 und in den beiden Datenregistern 400 und 402 ist
ob ein Fertig-Bit in dem Datenregister 400 für die je ein Speicherplatz für das Fertig-Bit vorgesehen.
Verarbeitungseinheit 1 vorhanden ist, und wenn dies Zu Beginn jedes Zyklus werden alle Fertig-Bits im
der Fall ist, wird die Leitung 273 erregt, was anzeigt, io Ergebnisspeicher 14 nach Null gestellt. Wenn im
daß das Ergebnis erhalten wurde. Die Und-Schaltung Ergebnisspeicher 14 ein Ergebnis aus der zugeord-
274 wird erregt und liefert somit einen Impuls über neten Verarbeitungseinheit eingespeichert wird, so
die Oder-Schaltung 276 in die Und-Schaltungen 278 wird der Fertig-Bit-Speicherplatz automatisch in den
und 280. Die Und-Schaltungen 278 und 280 prüfen, Eins-Zustand gebracht. Der Kreuzschienenwähler
ob der Datenteil Nr. 2 des Eingaberegisters 224 eine i5 401, der benutzt wird, um Informationen in den Er-
Hauptspeicheradresse oder eine Ergebnisspeicher- gebnisspeicher 14 einzuspeichern oder aus diesem
adresse enthält. Wenn eine Hauptspeicheradresse ent- auszulesen, ist bereits bekannt,
halten ist, wird die Und-Schaltung 280 durch die Lei- Dieser Kreuzschienenwähler besteht aus mehreren
tung 246 erregt und liefert somit einen Impuls über Eingangsleitungen, einem einzigen Satz von Aus-
die Oder-Schaltung 254, das der Verarbeitungseinheit ao gangsleitungen und mehreren Und-Schaltungen, die
anzeigt, daß das Ergebnis, dessen Adresse in dem zwischen beiden Leitungen eingeschaltet werden, in
Datenteil Nr. 1 des Eingaberegisters 224 gespeichert einer Weise, wie es später noch an Hand der Fig. 10
ist, gerade verfügbar ist, und daß die Adresse, die im und 11 beschrieben wird. In der Darstellung der
Datenteil Nr. 2 des Eingaberegisters 224 gespeichert Fig. 9 sind die Überkreuzungsstellen der Leitungen
ist, eine Speicheradresse und somit verfügbar ist, so 35 jedes Registers in jedem Wortspeicherplatz dunkel
daß die Anordnung fertig ist, mit der zugeteilten dargestellt. Die dunklen Flächen bilden eine Matrix.
Operation zu beginnen. Jede beliebige Fläche kann ausgewählt werden, um
Wenn die Ergebnisadresse in dem Datenteil Nr. 2 das richtige Ergebnisregister und eine bestimmte
anstatt im Datenteil Nr. 1 erscheint, findet eine ahn- Wortadresse darin mit dem Decoder 239 der Fig. 7 B
liehe Folge von Schritten statt, bei welcher die Und- 30 auszuwählen. Die mit VE IA gekennzeichnete dunkle
Schaltung 282 durch den Prüfimpuls b und einen Im- Fläche zeigt an, daß dies die Matrix ist, welche das
puls auf der Leitung 284 vom Decoder 243 der Ergebnis aus der Verarbeitungseinheit 1 in den Spei-
Fig. 7B erregt wird, so daß diese Und-Schaltung cherplatz A des Ergebnisspeichers 14 bringt. Entspre-
einen Impuls auf der Leitung 286 erzeugt. Dieser Im- chend ist die dunkle Fläche, die mit VEWA gekenn-
puls läuft durch die Schaltung, bis er schließlich die 35 zeichnet ist, der Schalter, der die Übernahme des
Und-Schaltung 288 erreicht, welche bestimmt, ob ein Ergebnisses der Verarbeitungseinheit η in den Spei-
Fertig-Bit mit dem Ergebnis im Datenregister 204 der oherplatz A des Ergebnisregisters steuert. Die gleiche
F i g. 9 vorhanden ist. Terminologie ist für die Bits angewandt worden. So
Wesentliches Merkmal der Schaltung der Fig. 8 sind z. B. in der linken unteren und der rechten obe-
ist, daß, ausgelöst durch den Priifimpuls b, das Er- 40 ren Ecke des Kreuzschienenwählers dunkle Flächen
gebnisregister 14 ständig ausgelesen und die Werte mit VEl oder VEn gekennzeichnet. Ein typisches
in die Datenregister 400 und 402 der F i g. 9 einge- Ausführungsbeispiel für ein einzelnes Matrixelement
schrieben werden und daß deren Inhalte mittels des eines Kreuzschienenwählers zum Einschreiben ist in
Fertig-Bits so lange geprüft werden, bis ein solches Fig. 10 dargestellt. Die vertikalen Leitungen stellen
Bit erscheint. Solange kein Fertig-Bit auftritt, wird 45 Eingangsleitungen von einem bestimmten Ergebnis-
auch kein Impuls über die Oder-Schaltung 254 auf register dar. Es sind zwar nur acht Leitungen gezeigt,
die Leitung 256 übertragen, welcher anzeigt, daß die es ist jedoch klar, daß für jede Matrixposition so viel
Verarbeitungseinheit weiterarbeiten kann. Wie eben- Leitungen wie nötig vorgesehen sein können, um die
falls schon erwähnt, wird die bistabile Kippschaltung Zahl der Zeichen, die in einem bestimmten Ergebnis
238 »Operation zugeordnet« in den Null-Zustand 50 vorhanden sind, sowie das Fertig-Bit darzustellen. Es
zurückgestellt, wenn ein Signal auf der Leitung 256 sind ebensoviel horizontale Ausgangsleitungen wie
erscheint. In diesem Fall wird die Prüfung mit dem vertikale Eingangsleitungen vorhanden. Die vertikalen
Priifimpuls b für diese Verarbeitungseinheit unter- Leitungen bilden einen der Eingänge zu mehreren
brochen, bis eine neue Operation zugeteilt wird. Und-Schaltungen, die zwischen die Eingangs- und
Es folgt nun eine kurze Beschreibung der Art und 55 Ausgangsleitungen eingeschaltet sind. Eine bestimmte
Weise, auf welche die Ergebnisse in das Ergebnis- Gruppe von Und-Schaltungen wird erregt und gibt
register 14 nach dem Abschluß einer bestimmten somit ein Ausgangssignal ab, wenn die Leitung 300
Operation durch eine Verarbeitungseinheit zurück- einen Schaltimpuls führt. Dieser Impuls wird autogebracht
werden. Dazu soll auf die F i g. 9 Bezug matisch empfangen, wenn eine Verarbeitungseinheit
genommen werden. Die Datenregister 400 und 402 60 eine Operation beendet hat. Die Leitung 300 bildet
und das Ergebnisregister 404 für eine gegebene Ver- jeweils einen der Eingänge zu allen Und-Schaltungen
arbeitungseinheit enthalten im wesentlichen die Ar- in der Wortreihe A. Eine entsprechende Leitung ist
beitsregister für die jeweilige Verarbeitungseinheit. für jeden der anderen Wortspeicherplätze vorgesehen.
Die Datenregister 400 und 402 sind mit den Ausgän- Zu einer Zeit kann natürlich nur eine Wortleitung
gen eines Kreuzschienenwählers 401 und des Spei- 65 erregt sein, und nur eine Verarbeitungseinheit ist in
chers verbunden. Daraus erkennt man, daß die Ope- der Lage, Ergebnisse in den Ergebnisspeicher 14 einranden
aus jeder der beiden Quellen bezogen werden zugeben. Andernfalls würde die Anordnung nicht
können. Normalerweise werden die Daten aus dem fehlerfrei arbeiten. Die hierfür notwendigen Zeit-
Steuerungen sind nicht gezeigt, hierfür können bekannte Koinzidenzschaltungen benutzt werden. Wenn
eine Wortleitung, wie z, B. die Wortleitung 300 in dem Kreuzschienenwähler zum Einschreiben erregt wird
und gleichzeitig Daten im Ergebnisspeicher einer Verarbeitungseinheit vorhanden sind, so wird dieses
Ergebnis in den Wortspeicherplatz des Ergebnisspeichers 14 gespeichert.
Der Kreuzschienenwähler zum Auslesen 401 ist im wesentlichen identisch mit dem Kreuzschienenwähler ίο
zum Einschreiben 403, mit der Ausnahme, daß für jede Verarbeitungseinheit zwei Wortspeicherplätze
vorgesehen sind. Dies ist deshalb, weil beim Einschreibzyklus nur ein Ergebnis in den Ergebnisspeicher
14 gebracht werden muß, jedoch beim Auslesen, wenn Daten in die Datenregister gebracht werden,
es notwendig ist, jeweils beide Register gleichzeitig zu füllen. In der Fig. 11 stellen die vertikalen Leitungen
die Ausleseleitungen dar, die zu den verschiedenen Datenregistern für die Verarbeitungseinheiten
führen. Die horizontalen Leitungen sind die Signaleingangsleitungen, die von den verschiedenen Wortspeicherplätzen
des Ergebnisspeichers 14 kommen. Die Und-Schaltungen in dieser Matrix entsprechen
den Und-Schaltungen im Kreuzschienenwähler der Fig. 10. Die Eingänge zu den Und-Schaltungen
von den Ergebnisspeichern, in diesem Beispiel das Wort^4, und das Fertig-Bit bilden einen der Eingänge
der Und-Schaltungen. Ein Impuls auf der Leitung 302 vom Decoder 239 hat die gleiche Wirkung wie
ein Impuls auf der Leitung 300 des Kreuzschienenwählers der F i g. 10. Auch beim Kreuzschienenwähler
zum Auslesen muß eine eigene Torleitung, wie z. B. 302, für jede der Matrixplätze vorgesehen sein,
um ein doppeltes Auslesen zu vermeiden, das auftreten könnte, wenn alle vertikalen Matrixpositionen
miteinander verbunden werden, wie in dem Kreuzschienenwähler zum Einschreiben. Wie bereits oben
erwähnt, hat jede Verarbeitungseinheit zwei Matrixpositionen, um ein gleichzeitiges Einlesen von Daten
in beide Datenregister zu ermöglichen. Der Matrixplatz für die Daten Nr. 2 ist der gleiche wie der in
Fig. 11 für die Daten Nr. 2 gezeigt wird, außer daß die Erregungsleitung, wie z. B. 302, in diesem Beispiel
vom Decoder 241 der Verarbeitungseinheit 1 ausgeht und natürlich irgendeine andere Wortadresse als A
wäre, da diese Anordnung offensichtlich nicht zwei Operanden in der gleichen Wortposition speichern
würde. Mit Hilfe der Kreuzschienenwähler für das Einschreiben und das Auslesen der Ergebnisspeicher
14 können die Daten mit einem Minimum an Zeit und anderer Hilfssteuerung eingeschrieben und ausgelesen
werden. Die Leitung 304, die in Fig. 7A
aus dem unteren Teil der Sortiersteuerung 202 des Wortspeichers 12 entspringt, führt ein Signal, wenn
die Anordnung bestimmt, daß keine weiteren Operationen auszuführen sind. Dieses Signal ermöglicht die
Beendigung der letzten Operation, wenn es um einen geeigneten Betrag verzögert wurde, und zeigt an, daß
die jeweilige angeforderte Operation beendet ist, und daß das Ergebnis in dem zuletzt zugeordneten Speicherplatz
des B-Feldes des Wortspeichers 12 gespeichert ist.
F i g. 12 zeigt ein Impulsdiagramm der Zeitimpulse, die im Ausgangsteil der erfindungsgemäßen Anordnung
benutzt werden und die, wie bereits erwähnt, von einem Oszillator im Prüfimpulsgenerator 13 der
F i g. 10 erzeugt werden. Die Impulse für beide Prüfungen α und b sind übliche Rechteckimpulse. Die
Frequenz der Impulse ist wesentlich größer als ein Arbeitszyklus einer Verarbeitungseinheit, da es notwendig
ist, eine Operation so früh wie möglich zu beginnen, nachdem ein Operand oder ein Operationssymbol
verfügbar ist. Der mit »von Verzögerung 230« bezeichnete Impuls ist gegenüber dem Prüfimpuls a
verzögert, wodurch die Übertragung der Daten vom Wortregister ermöglicht wird. Es ist nur ein Impuls
gezeigt, da in jeder Verarbeitungssteuerschaltung der Prüfimpuls α nicht langer auftritt, sobald eine Verarbeitungseinheit
ausgewählt und die bistabile Kippschaltung 210 »Bereit« zurückgestellt ist. Der Prüfimpuls
b hat die gleiche Frequenz wie der Prüfimpuls α und ist gegenüber diesem zeitlich verschoben.
Diese Verschiebung ist optimal so groß, daß diese Zeit ausreicht, um die bistabile Kippschaltung
»Bereit« zurückzustellen, zu welchem Zeitpunkt jede Verarbeitungseinheit fertig ist, um die ihr zugeordnete
Operation zu untersuchen.
Die Frequenz und Phasenbeziehungen zwischen den Prüfimpulsen α und b sind jedoch überhaupt
nicht kritisch, da die zwei Funktionen völlig getrennt sind. Wie im vorliegenden Ausführungsbeispiel sollte
jedoch die Wiederholungsfrequenz der Prüfimpulse wesentlich größer sein als die Zykluszeit der Verarbeitungseinheiten,
um eine optimale Ausnutzung der Verarbeitungseinheiten zu gewährleisten.
Claims (13)
1. Anordnung zur möglichst parallelen Zuordnung der Operationen zu mehreren Verarbeitungseinheiten
für die Lösung eines klammerfreien mathematischen Ausdrucks, gekennzeichnet durch einen Wortspeicher (12; Fig. 1 A)
zur gliederweisen Speicherung des mathematischen Ausdrucks, seiner Operationssymbole, der
Adressen der Operanden im Operandenspeicher und Resultate im Resultatspeicher, durch einen
Kellerspeicher (16) zur Speicherung der Adressen der Glieder in der Reihenfolge ihres Auftretens
und der Operationssymbole mit einem Zeitrangmerkmal, durch eine Schaltung (20) zur Steuerung
einer ersten Operationsfolge (erster Durchlauf), wobei mittels einer Zeitvergleichsschaltung
(18) aus den genannten gespeicherten Angaben für jede Operation nacheinander der früheste
Zeitpunkt ihrer Ausführung ermittelbar ist und zur Steuerung einer zweiten Operationsfolge
(zweiter Durchlauf), wobei für alle Operationen in umgekehrter Reihenfolge der letzte Zeitpunkt
seiner Ausführung bestimmbar ist und wobei die Steuerschaltung (20) ferner die Operationen entsprechend
dem frühesten Zeitpunkt, bei gleichen solchen entsprechend dem letzten Zeitpunkt und
bei gleichen frühesten und letzten Zeitpunkten der Ausführung entsprechend ihrer Reihenfolge
in dem mathematischen Ausdruck den jeweils freien Verarbeitungseinheiten (1 bis n; F i g. 1 B)
zuführt.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß der mathematische Ausdruck
in Umgekehrter Polnischer Notation zugeführt wird.
3. Anordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß zur Analyse der einzelnen
Glieder des mathematischen Ausdrucks ein Wortspeicher (12) vorhanden ist, in dessen
Speicherplätze je ein Glied des mathematischen Ausdrucks eingegeben wird, daß in einen ersten
Teil (/4-FeId) jedes Speicherplatzes des Wortspeichers
(12) Operationssymbole und einen zweiten Teil (ß-Feld) die Hauptspeicheradressen der
Operanden und die Adressen eines Ergebnisspeichers (14) eingegeben werden.
4. Anordnung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß zur Bestimmung
der frühestmöglichen Zeit der Ausführung einer Operation die Adressen der Glieder des
mathematischen Ausdrucks in der Reihenfolge ihres Auftretens zusammen mit einem Zeitfeld in
einen Kellerspeicher (16) eingegeben werden, daß den Datenzeichen jeweils die Zeit Null zügeordnet
wird und daß vor Eingabe der Adresse eines Operationssymbols die zwei vorher eingegebenen
Adressen ausgegeben und gespeichert werden, und daß die mit der dem Operationssymbol
zugeordneten Adresse in den Kellerspeicher ao eingegebene Zeit gegenüber der größeren der beiden
vorher aus dem Kellerspeicher ausgegebenen Zeiten um Eins erhöht ist.
5. Anordnung nach Anspruch 4, dadurch gekennzeichnet, daß zwei Vergleichsregister (69,70)
zur Aufnahme der den beiden aus dem Kellerspeicher (16) entnommenen Adressen zugeordneten
Zeiten und eine Vergleichsschaltung (72) zur Bestimmung der größeren der beiden Zeiten
vorhanden ist.
6. Anordnung nach Anspruch 3 und 4, dadurch gekennzeichnet, daß die Adressen nacheinander
aus dem Wortspeicher (12) in den Kellerspeicher (16) eingegeben und die bei Feststellung eines
Operationssymbols aus dem Kellerspeicher ausgegebenen beiden Adressen in einen dritten und
vierten Teil (C- und D-Feld) und die frühestmögliche Zeit in einen fünften Teil (is-Feld) des
dem Operationssymbol zugeordneten Speicherplatzes des Wortspeichers (12) eingegeben werden.
7. Anordnung nach einem der Ansprüche 3 bis 6, dadurch gekennzeichnet, daß die Eingabe
der Glieder des mathematischen Ausdrucks in den Wortspeicher (18) und die Bestimmung der
frühestmöglichen Zeiten der Glieder des mathematischen Ausdrucks bei Feststellung eines Endsymbols beendet wird.
8. Anordnung nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die Zeit in der
obersten Speicherstelle des Kellerspeichers (16) die letztmögliche Zeit bei Feststellung eines Operationssymbols
abgespeichert und die nun um Eins verminderte Zeit in das Zeitfeld des obersten Speicherplatzes des Kellerspeichers gebracht wird
und daß bei der Feststellung eines Datenzeichens außer dem ersten einer Folge von Datenzeichen
ein Aufwärtszyklus des Kellerspeichers vollzogen wird.
9. Anordnung nach Anspruch 3 und 8, dadurch gekennzeichnet, daß die letztmögliche Zeit jeweils
in einen sechsten Teil (F-FeId) des Speicherplatzes des jeweiligen Operationssymbols im Wortspeicher
(12) eingegeben wird.
10. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß eine bistabile Kippschaltung
(t) vorhanden ist, die beim Auftreten eines ersten einer Folge von Datenzeichen in den NuIl-Zustand
und beim Auftreten eines ersten einer Folge von Operationssymbolen in den Eins-Zustand
geschaltet wird.
11. Anordnung nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß jeder Verarbeitungseinheit
(1 bis n) eine bistabile Kippschaltung (210) zugeordnet ist, deren Zustand anzeigt,
ob die zugeordnete Verarbeitungseinheit (1 bis n) zur Ausführung einer Operation bereit ist.
12. Anordnung nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, daß zum Einschreiben
der Operanden aus dem Ergebnisspeicher (14) in die Datenregister (224) der Verarbeitungseinheiten
(1 bis ti) und der Ergebnisse aus den Ergebnisregistern (404) der Verarbeitungseinheiten (1 bis n) in den Ergebnisspeicher (14) je
ein Kreuzschienenwähler (401,403) vorhanden ist.
13. Anordnung nach einem der Ansprüche 1 bis 12, dadurch gekennzeichnet, daß im Ergebnisspeicher
(14) in jedem Speicherplatz ein Bit zur Speicherung eines Fertig-Bits vorgesehen ist, das
eine schnelle Prüfung erlaubt, ob ein Speicherplatz ein Ergebnis bereits erhalten hat.
Hierzu 7 Blatt Zeichnungen
809 627/1360 10.68 © Bundesdruckelei Berlin
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US389287A US3343135A (en) | 1964-08-13 | 1964-08-13 | Compiling circuitry for a highly-parallel computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1280595B true DE1280595B (de) | 1968-10-17 |
Family
ID=23537632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DEJ28741A Withdrawn DE1280595B (de) | 1964-08-13 | 1965-08-07 | Anordnung zur Loesung eines klammerfreien mathematischen Ausdruckes |
Country Status (3)
Country | Link |
---|---|
US (1) | US3343135A (de) |
DE (1) | DE1280595B (de) |
GB (1) | GB1104975A (de) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3496551A (en) * | 1967-07-13 | 1970-02-17 | Ibm | Task selection in a multi-processor computing system |
US3521238A (en) * | 1967-07-13 | 1970-07-21 | Honeywell Inc | Multi-processor computing apparatus |
US3461434A (en) * | 1967-10-02 | 1969-08-12 | Burroughs Corp | Stack mechanism having multiple display registers |
US3525077A (en) * | 1968-05-31 | 1970-08-18 | Sperry Rand Corp | Block parity generating and checking scheme for multi-computer system |
US3611306A (en) * | 1969-02-05 | 1971-10-05 | Burroughs Corp | Mechanism to control the sequencing of partially ordered instructions in a parallel data processing system |
US4149240A (en) * | 1974-03-29 | 1979-04-10 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of data structure operations |
US4153932A (en) * | 1974-03-29 | 1979-05-08 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
US4145733A (en) * | 1974-03-29 | 1979-03-20 | Massachusetts Institute Of Technology | Data processing apparatus for highly parallel execution of stored programs |
GB1540299A (en) * | 1975-02-15 | 1979-02-07 | Mathematik Datenverarbeitung G | Computer employing reduction language |
US4021783A (en) * | 1975-09-25 | 1977-05-03 | Reliance Electric Company | Programmable controller |
DE2656086C2 (de) * | 1976-12-10 | 1986-08-28 | Siemens AG, 1000 Berlin und 8000 München | Rechenanlage |
US4319321A (en) * | 1979-05-11 | 1982-03-09 | The Boeing Company | Transition machine--a general purpose computer |
US4323966A (en) * | 1980-02-05 | 1982-04-06 | The Bendix Corporation | Operations controller for a fault-tolerant multiple computer system |
US4342083A (en) * | 1980-02-05 | 1982-07-27 | The Bendix Corporation | Communication system for a multiple-computer system |
US4379326A (en) * | 1980-03-10 | 1983-04-05 | The Boeing Company | Modular system controller for a transition machine |
US4344134A (en) * | 1980-06-30 | 1982-08-10 | Burroughs Corporation | Partitionable parallel processor |
US4502118A (en) * | 1981-07-07 | 1985-02-26 | Burroughs Corporation | Concurrent network of reduction processors for executing programs stored as treelike graphs employing variable-free applicative language codes |
US4447875A (en) * | 1981-07-07 | 1984-05-08 | Burroughs Corporation | Reduction processor for executing programs stored as treelike graphs employing variable-free applicative language codes |
JPS6165336A (ja) * | 1984-09-07 | 1986-04-03 | Hitachi Ltd | 高速演算方式 |
US4847755A (en) * | 1985-10-31 | 1989-07-11 | Mcc Development, Ltd. | Parallel processing method and apparatus for increasing processing throughout by parallel processing low level instructions having natural concurrencies |
US5021945A (en) * | 1985-10-31 | 1991-06-04 | Mcc Development, Ltd. | Parallel processor system for processing natural concurrencies and method therefor |
CA1293819C (en) * | 1986-08-29 | 1991-12-31 | Thinking Machines Corporation | Very large scale computer |
ATE146611T1 (de) * | 1990-05-04 | 1997-01-15 | Ibm | Maschinenarchitektur für skalaren verbundbefehlssatz |
US11841822B2 (en) | 2019-04-27 | 2023-12-12 | Cambricon Technologies Corporation Limited | Fractal calculating device and method, integrated circuit and board card |
WO2020220935A1 (zh) | 2019-04-27 | 2020-11-05 | 中科寒武纪科技股份有限公司 | 运算装置 |
CN111860799A (zh) * | 2019-04-27 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 运算装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3047228A (en) * | 1957-03-30 | 1962-07-31 | Bauer Friedrich Ludwig | Automatic computing machines and method of operation |
US3200379A (en) * | 1961-01-23 | 1965-08-10 | Burroughs Corp | Digital computer |
US3229260A (en) * | 1962-03-02 | 1966-01-11 | Ibm | Multiprocessing computer system |
US3293616A (en) * | 1963-07-03 | 1966-12-20 | Ibm | Computer instruction sequencing and control system |
-
1964
- 1964-08-13 US US389287A patent/US3343135A/en not_active Expired - Lifetime
-
1965
- 1965-08-05 GB GB33588/65A patent/GB1104975A/en not_active Expired
- 1965-08-07 DE DEJ28741A patent/DE1280595B/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
GB1104975A (en) | 1968-03-06 |
US3343135A (en) | 1967-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1280595B (de) | Anordnung zur Loesung eines klammerfreien mathematischen Ausdruckes | |
DE1200581B (de) | Programmunterbrechungssystem fuer eine elektronische Rechenmaschine | |
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE1901343B2 (de) | Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen | |
DE1474062B2 (de) | Datenverarbeitungsanlage mit einer anzahl von pufferspeichern | |
DE2855673A1 (de) | Anordnung zur handhabung des direkten zugriffs auf den speicher einer datenverarbeitungsanlage | |
DE2919440A1 (de) | Schaltungsanordnung fuer einen wahlweise modifizierbaren satzspeicher fuer eine schreibmaschine | |
DE1499190C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2854782A1 (de) | Datenverarbeitungssystem | |
DE2548720C2 (de) | Mikroprogramm-Steuerwerk | |
DE1805992C3 (de) | Einrichtung zur Adressierung von Zwischenspeichern beim Sortieren/Mischen von vorsortierten Datenfolgen | |
DE1524151B1 (de) | Schaltung zur Steuerung der Zugriffsrangfolge in einer Datenverarbeitungsanlage. | |
DE1115488B (de) | Datenverarbeitungssystem | |
DE1191145B (de) | Elektronische Zifferrechenmaschine | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1180171B (de) | Zahlenrechner | |
DE1193279B (de) | Elektronen-Ziffernrechner mit eingespeichertem Programm | |
DE1250489B (de) | I Schaltungsanordnung zur Einspei cherung von Leerstellen-Kennworten in einen assoziativen Speicher | |
DE1808678B2 (de) | Verfahren und schaltungsanordnung fuer elektronische daten waehlvermittlungsanlagen mit einem zentralen speicher | |
DE2644180A1 (de) | Datenverarbeitungssystem | |
DE1524264C3 (de) | Einrichtung zur Erzeugung einer Bildaufzeichnung | |
DE2419836B2 (de) | Schaltungsanordnung zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen | |
DE2451984C2 (de) | Datenverarbeitungsanlage | |
DD243128A5 (de) | Verfahren und schaltungsanordnung zum ausbilden einer reihenfolgesteuerschaltung | |
DE1549582B1 (de) | Anordnung zur bestimmung der niedrigstwertigen bit position |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E77 | Valid patent as to the heymanns-index 1977 | ||
EHJ | Ceased/non-payment of the annual fee |