DE1934441B2 - Befehlswerkgesteuertes rechenwerk fuer einen digitalrechner - Google Patents
Befehlswerkgesteuertes rechenwerk fuer einen digitalrechnerInfo
- Publication number
- DE1934441B2 DE1934441B2 DE19691934441 DE1934441A DE1934441B2 DE 1934441 B2 DE1934441 B2 DE 1934441B2 DE 19691934441 DE19691934441 DE 19691934441 DE 1934441 A DE1934441 A DE 1934441A DE 1934441 B2 DE1934441 B2 DE 1934441B2
- Authority
- DE
- Germany
- Prior art keywords
- unit
- data processing
- processing unit
- operands
- arithmetic unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/483—Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
- G06F7/487—Multiplying; Dividing
- G06F7/4876—Multiplying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/535—Dividing only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/535—Indexing scheme relating to groups G06F7/535 - G06F7/5375
- G06F2207/5355—Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/499—Denomination or exception handling, e.g. rounding or overflow
- G06F7/49905—Exception handling
- G06F7/4991—Overflow or underflow
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Nonlinear Science (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Description
Die Erfindung bezieht sich auf ein befehlswerkgesteuertes Rechenwerk für einen Digitalrechner zui
Ausführung von Rechnungen an Operanden.
Bis jetzt wurden die Operationsgeschwindigkeiten in datenverarbeitenden Rechnersystemen der in der
USA.-Patentschrift 3 120 606 beschriebenen Art laufend
erhöht. Dies führt insbesondere als Folge unterschiedlicher Fortschritte in der Technologie der
Rechnerbaueinheiten dazu, daß nicht mehr die Rechnerbauteile die Rechengeschwindigkeit begrenzen,
sondern die Verbindungskanäle zwischen den Baueinheiten und Baugruppen des Rechners, insbesondere
dann, wenn man zu letzteren die Speicher hinzurechnet. So konnte die Zeit für die Durchführung
einer logischen Operation oder gewisser arithmetischer Operationen auf weniger als lOONanosekunden
herabgesetzt werden. Auf diese Weise ist die Zeit für die Durchführung arithmetischer oder logischer Operationen
wesentlich geringer als die Übertragungszeit von und zum Datenspeicher. Auch die Zykluszeit
des Datenspeichers ist größer als die Verarbeitungszeit im Rechner.
Aufgabe der Erfindung ist es ein Rechenwerk für einen Digitalrechner anzugeben, das eine hohe
Arbeitsgeschwindigkeit aufweist, die nicht von der langsamen Übertragungszeit der Daten zwischen den
einzelnen Baueinheiten herabgesetzt wird, sondern der großen Arbeitsgeschwindgikeit der Baueinheiten
entspricht.
gelös gesel die j tion Funl
Reel scha zwet einh Seri< B
•gei be Di
de Ai fül da m de di
Diese Aufgabe wird gemäß der Erfindung dadurch gelöst, daß wenigstens ein Rechenwerksabchnitt vorgesehen
ist, der mehrere Funktionseinheiten enthält. die jeweils zur Ausführung einer bestimmten Operation
an Operanden befähigt sind, daß ausgewählte Funktionseinheiten abhängig von Befehlen in dem
Rechenwerksabschnitt zu verschiedenartigen Serienschaltungen verbindbar sind, und daß die Operanden
zwecks gleichzeitiger Bearbeitung in den Funktionseinheiten in Taktperioden durch die jeweils gebildete
Serienschaltung transportiert werden.
Bei der Ausführung von Rechnungen mit Hilfe des erfindungsgemäßen Rechenwerks werden die für
einen Rechenvorgang benötigten Funktionseinheiten abhängig von den entsprechenden Befehlen in einer
Serienschaltung miteinander verbunden, so daß das Rechenwerk momentan den für die durchzuführende
Aufgabe in bestmöglicherweise aufgebaut ist. Die Operanden werden dann taktgesteuert durch die gebildete
Serienschaltung transportiert, so daß sie von den einzelnen Funktionseinheiten verarbeitet werden
können. Die im Rechenwerkabschnitt des erfindungsgemäßen
Rechenwerks enthaltenen Funktionseinheiten werden also stets speziell für die auszuführende
Aufgabe zusammengeschaltet; auf diese Weise ist der innere Aufbau des Rechenwerks stets an die
jeweils auszuführende Aufgabe bestmöglich angepaßt, so daß unnötige Übertragungszeiten zwischen
Funktionseinheiten vermieden werden.
Gemäß einer Weiterbildung der Erfindung sind die genannten Befehle Programm- oder Maschinenbefehle,
und sie sind insbesondere Befehle für die Durchführung von Vektorrechnungen. Die mit Hilfe
des erfindungsgemäßen Rechenwerks erreichte hohe Arbeitsgeschwindigkeit ist besonders bei der Durchführung
von Vektorrechnungen ein großer Vorteil, da bei diesem Anwendungsfall sehr große Datenmengen
verarbeitet werden müssen. Eine Erhöhung der Arbeitsgeschwindigkeit ist bei diesem Anwendungsgebiet
also von besonderer Bedeutung.
Zur Durchführung von Vektorrechnungen ist das erfindungsgemäße Rechenwerk vorzugsweise derart
ausgebildet, daß zu den Funktionseinheiten eine Addiereinhdt zum Addieren von Vektoroperanden,
eine Exponentensubtraktionseinheit zum Subtrahieren eines Exponenten der Vektoroperanden, eine
Ausrichteinheit zum Ausrichten von Vektoroperanden, eine Multipliziereinheit zum Multiplizieren von
Vektoroperanden, eine Normalisierungseinheit zum Normalisieren von Vektoroperanden, ein Akkumulator
zum Sammeln von Vektoroperanden und/oder eine Ausgabeeinheit zum Ausgeben von entsprechend
den Programm- oder Maschinenbefehlen bearbeiteten Operanden gehören.
In Weiterbildung der Erfindung sind alle Funktionseinheiten durch Kanäle zu allen gewünschten
Serienschaltungen verbunden, und zum öffnen und Schließen der Kanäle in Abhängigkeit von den Befehlen
sind Torschaltungen vorgesehen. Durch Betätigen der Torschaltungen können die Funktionseinheiten jeweils zu der Serienschaltung verbunden
werden, die für die Durchführung der gewünschten Operation gerade benötigt wird.
Zu einer weiteren Erhöhung der Arbeitsgeschwindigkeit enthält eine Ausführungsform des erfindungsgemäßen
Rechenwerks mehrere Rechenwerksabschnitte, die wahlweise derart miteinander verbindbar
sind, daß sie gleichzeitig parallel zueinander verschiedene Operanden bearbeiten. Damit mit dieser
Ausführungsform auch Operanden mit übergroßen Längen bearbeitet werden können, sind die parallelen
Rechenwerksabschnitte wahlweise derart miteinander verbindbar, daß sie einzelne Operanden
bearbeiten, deren Länge die Aufnahmefähigkeit eines einzelnen Rechenwerkabschnitts überschreiten.
Nachfolgend wird ein Anwendungsbeispiel der Erfindung anHand der Zeichnung beschrieben. Es zeigt
ίο F i g. 1 eine vorzugsweise Anordnung von Rechnereinheiten
und -peripheriegeräten,
F i g. 2 ein Blockschaltbild zu F i g. 1.
F i g. 3 ein Blockschaltbild zur Darstellung einer Umschaltanordnung zwischen einer zentralen Daten-Verarbeitungseinheit
und einer peripheren Datenverarbeitungseinheit der F i g. 1 und 2,
Fig. 4 ein ausführlicheres Blockschaltbild der Umschaltanordnung von F i g. 3,
F i g. 5 ein Diagramm zur Darstellung einer Beao triebsweise der zentralen Datenverarbeitungseinheit
gemäß F i g. 1 bis 4,
F i g. 6 eine Puffereinheit zum Eingeben beispielsweise von Vektordaten in einen Rechner,
F i g. 7 ein Blockschaltbild der zentralen Datena5
Verarbeitungseinheit gemäß F i g. 1 bis 4,
F i g. 8 ein aus zwei Abschnitten aufgebautes Rechenwerk in der zentralen Datenverarbeitungseinheit,
F i g. 9 Baueinheiten innerhalb der zentralen Datenverarbeitungseinheit
zur Durchführung der Umschaltung mit Hilfe der in den F i g. 3 und 4 dargestellten
Umschaltanordnung,
Fig. 10 eine Darstellung zur Veranschaulichung des Zeitteilbetriebs zwischen virtuellen Datenverarbeitungseinheiten
innerhalb der peripheren Datenverarbeitungseinheit gemäß F i g. 1 und 2,
Fig. 11 ein Blockschaltbild der peripheren Datenverarbeitungseinheit,
Fig. 12 den Zugriff auf Zellen in einem Kommunikationsregister
von Fig. 11 und
Fig. 13 eine ausführliche Darstellung der in F i g. 11 gezeigten Zuordnungssteuerung.
In der nachfolgenden Beschreibung eines Anwendungsbeispiels der Erfindung wird die Zusammenarbeit
einzelner Einheiten innerhalb eines vorzugsweise zur Verarbeitung wissenschaftlicher Daten ausgelegten
Rechners genau erläutert.
Zu Fig. 1:
Der Rechner enthält eine zentrale Datenverarbeitungseinheit
10 sowie eine periphere Datenverarbeitungseinheit 11. Ein Zentralspeicher besteht aus vier,
von Dünnschichtspeicherelementen gebildeten Speichern 12 bis 15 mit einer Zykluszeit von 160 Nanosekunden
bei einer durchschnittlichen Zugriffszeit von 100 Nanosekunden. In den Speichern erfolgt
beim Lesen ein Löschungsvorgang. Der Zentralspeicher ist an die zentrale Datenverarbeitungseinheit 10
und an die periphere Datenverarbeitungseinheit 11 angeschlossen; er kann von konventioneller Bauart
sein.
Jeder Speicher 12 bis 15 hat eine Wortkapazitat von 16 384 Wörtern. Ein Wort besteht aus 32 Bits.
256 Bits = 8-32 Bits = 8 Wörter heißen »Wort-
gruppe«, was bedeutet, daß 2048 Wortgruppcn zu je 256 Bits in jedem der Speicher 12 bis 15 gespeichert
sind.
Eine Speichersteuereinheit 18 stellt die Lese-Schreib-Steuerung für den Zentralspeicher und damit
das im allgemeinen notwendige Zwischenstück zwischen dem Zentralspeicher einerseits und der zentralen
Datenverarbeitungseinheit 10 bzw. der peripheren Datenverarbeitungseinheit 11 andererseits dar.
Die Speichersteuereinheit 18 hat eine Pufferwirkung, und sie enthält Vorrichtungen zur Ein- und Ausblendung,
Kartierung und zum Schutz der Daten in den Speichern 12 bis 15.
Die zentrale Datenverarbeitungseinheit 10, die periphere Datenverarbeitungseinheit 11, die Speichersteuereinheit
18 und die Speicher 10 bis 15 arbeiten synchron miteinander. Ein Taktsignal für die
zentrale Datenverarbeitungseinheit erscheint alle 50 Nanosekunden, während ein Taktsignal für die
periphere Datenverarbeitungseinheit alle 65 Nanosekunden erscheint. Weitere Speichereinheiten werden
von Plattenspeichern 16. 17 mit einer durchschnittlichen Zugriffszeit von etwa 60 Millisekunden
und von Bandspeichern 21 bis 26 gebildet. In den Bandspeichern 21, 22 werden vorzugsweise 1-Zoll-Bänder
verwendet, während in den Bandspeichern 23 bis 26 Halbzollbänder verwendet werden. Alle
Bandspeicher können als Arbeitsspeicher und auch zu Ein-Ausgabe-Zwecken verwendet werden. Ein
Kartenleser 19 dient zur Eingabe von auf Lochkarten gespeicherten Daten, und ein Kartenstanzer 20
dient zur Ausgabe von Daten auf gestanzten Lochkarten. Ein Zeilendrucker 27 ist als Ausgabegerät
vorgesehen.
Als weiteres Ein-Ausgabe-Gerät dient eine Bildschirmkonsole 28. Diese Bildschirmkonsole enthält
zwei Bedienungspulte, die mit der peripheren Datenverarbeitungseinheit 11 gekoppelt sind und zwei Bildschirme
von Zweistrahl-Kathodenstrahlröhren enthalten. Die Bedienungspulte bilden nicht nur die
Steuereinheit für die Bildschirmkonsole 28, sondern auch für den Kartenleser 19, den Kartenstanzer 20.
der. Zeilendrucker 27 und die Bandspeicher 21 bis 26. über die Bedienungspulte kann eine Bedienungsperson
in den Rechner Befehle zum Prüfen der Hardware oder der Software eingeben; ebenso können
über die Bedienungspulte Programmunterbrechungen an bestimmten Stellen ausgeführt werden,
die es erlauben, den Fortgang einer Operation zu überprüfen und auf Grand der erzielten Fortschritte
in ihrem weiteren Ablauf zu beeinflussen. Letzteres kann bedeuten, daß die Operation auf dem eingeschlagenen Weg weitergeführt wird oder daß möglicherweise mit anderen Daten auf einem anderen
Weg fortgefahren wird.
Wie es bei Rechnern allgemein üblich ist, sind in
dem m Fig. 1 dargestellten Rechner mehrere Speicherhierarchien vorgesehen. Beispielsweise gibt es
die vier folgenden Hierarchien: a) die zentrale Datenverarbeitungseinheit 10 mit dem schnellsten Speicher, b) die Speicher 12 bis 15 des Zentralspeichers,
die etwas langsamer arbeiten, c) die Plattenspeicher 16. 17, die noch langsamer arbeiten und d) die
Bandspeicher 21 bis 26. die im Vergleich zu den zuvor erwähnten Speichern die längste mittlere Zugriffszeit haben, falls von ihnen keine entsprechend
vorsortierten Daten abgerufen werden.
Untersysteme, die neu sind und eine bemerkenswerte
Steigerung der Verarbeitungskapazität für die Fälle aufweisen, bei denen eine große Anzahl vorsortierter,
in bestimmten Gruppen geordneter Daten zur Verarbeitung anfallen.
Ein erstes solches Untersystem besteht in einer automatischen Umschaltanordnung zwischen der
zentralen Datenverarbeitungseinheit 10 und der peripheren Datenverarbeitungseinheit 11 des Rechners.
ίο in dem mehrere Programme gleichzeitig ablaufen
und verarbeitet werden können.
Ein weiteres solches Untersystem ist in der zentralen Datenverarbeitungseinheit 10 enthalten. Dieses
Untersystem ermöglicht es, Daten zur Eingabe in den Rechner so zu speichern, zu gruppieren und
dem Rechner in solcher Reihenfolge anzubieten, daß damit seine Verarbeitungsgeschwindigkeit wesentlich
erhöht wird.
Ein nächstes solches Untersystem betrifft ein Parallelrechenwerk mit hoher Verarbeitungsgeschwinddigkeit
und Flexibilität, in dem Operanden in einer Art von Fließbandverfahren verarbeitet werden.
Ein weiteres solches Untersystem schließlich betrifft das Arbeiten mehrerer virtueller Datenverarbeitungseinheiten
innerhalb der peripheren Datenverarbeitungseinheit 11 in einem Zeitteil verfahren.
Zu Fig. 2:
Die Organisation des Rechners von Fig. 1 ist durch eine Erläuterung der im Blockschaltbild von
F i g. 2 aufgezeigten Datenkanäle leicht zu umreißen. Ein Kanal 29 verbindet die Speichersteuereinheit
18 mit einer puffernden Platten- und Trommelsteuereinheit 30, von der ein Kanal zum Plattenspeicher
16 und ein weiterer Kanal zum Plattenspeicher 17 führen. Die Platten- und Trommelsteuereinheit
30 ist ein einfacher, fest verdrahteter Einzweckrechner zur Durchführung des Datentransports
zwischen den mit der Speichersteuereinheit 18 verbundenen Zentralspeicher und den Plattenspeichern
16. 17 über den Kanal 29 nach Erhalt eines entspre-
chenden Befehls.
Die eben erwähnten Kanäle sind bidirektional, wobei in dem zwischen den Plattenspeichern 16 und 17
und der Platten- und Trommelsteuereinheit 30 liegenden Kanal nur jeweils ein Wort pro Taktzeit ge-
fördert wird. Im Kanal 29 werden dagegen gleichzeitig 8 Wörter, also eine Wortgrappe. zwischen der
Speichcrsieuereinheit 18 und der Platten- and Trommelsteuereinheit 30 transportiert.
Platten- und Trommelsteneremheit 30 zur Erhöhung
der Speicherkapazität mit mittlerer Zngriffszeit könnte über einen weiteren bidirektionalen Kanal
erfolgen.
von 256 Bits ist der bidirektionale Kanal 32 zwi schen der Speichersteuereinheit 18 und der peripheren Datenverarbeitangsemheit 11, der je eine Wortgruppe zwischen dem Zentralspeicher und der peripheren Datenverarbeitungseinheit 11 über die Spei-
chersteuereinheit 18 transportiert.
Wie oben bereits angedeutet wurde, dient die
periphere DatenverarbeitnngsemheJt 11 als Mehrzweckrechner, dem unter anderem die Steuerung des
achi die jedi mit den 11
tun ges vcr Da
be die bis Gt de di. W
ve ei Ie
Datenfluisses zu allen Peripheriegeräten, deren Datenkanäle
an ihn angeschlossen sind, mit Ausnahme der Plattenspeicher 16 und 17 und des Trommelspeichers
31 obliegt.
Beim nicht zerstörungsfreien Auslesen aus dem Zentralspeicher müssen die ausgelesenen Daten regenerativ
wieder eingespeichert werden, während nur eines der acht Wörter einer Wortgruppe in der peripheren
Datenverarbeitungseinheit 11 verarbeitet wird. Dies erweist sich schon deshalb als notwendig,
da von der peripheren Dalenverarbeitungseinheit 11 infolge der mehr oder weniger langsam arbeitenden
Peripheriegeräte nur jeweils ein Wort aus der Achtwortgruppe (maximal) benötigt wird. Eine typische
Größe der Datenübertragungsgeschwindigkeit für die Übertragung von Daten innerhalb der peripheren
Datenverarbeitungseinheit 11 für ein Peripheriegerät liegt bei etwa 100 000 Wörtern pro Sekunde.
Die periphere Datenverarbeitungseinheit 11 enthält acht virtuelle Datenverarbeitungseinheiten, von denen
die Mehrzahl so programmiert werden kann, daß jede beliebige virtuelle Datenverarbeitungseinheit
mit jedem beliebigen Peripheriegerät gekoppelt werden kann. Die periphere Datenverarbeitungseinheit
H arbeitet mit Hilfe der virtuellen Datenverarbeitungseinheiten entsprechend dem im Zentralspeicher
gespeicherten Programm, wobei die virtuellen Datenverarbeitungseinheiten außerdem das in der zentralen
Datenverarbeitungseinheit 10 laufende Programm überwachen.
Ein Kanal 33 verbindet die zentrale Datenverarbeitungseinheit 10 mit der Speichersteuereinheit 18.
die ihrerseits über Datenkanäle mit den Speichern 12 bis 15 des Zentralspeichers in Verbindung steht. Im
Gegensatz zu den obigen Ausführungen hinsichtlich der peripheren Datenverarbeitungseinheit 11 kann
die zentrale Datenverarbeitungseinheit 10 alle acht Wörter einer Wortgruppe aus dem Zentralspeicher
verwerten, wobei sie überdies die Fähigkeit besitzt, eine beliebige Kombination dieser acht Wörter zu
lesen oder zu schreiben. Im Kanal 33 werden vorzugsweise alle 50 Nanosekunden drei Wörter transportiert,
wobei zwei Wörter in die zentrale Datenverarbeitungseinheit 10 eingegeben werden, während
ein Wort zur Speichersteuereinheit 18 gelangt.
Weiter unten wird noch beschrieben, wie die zentrale
Datenverarbeitungseinheit 10 Vektoroperationen direkt und ohne Übersetzung durch einen Compiler
ausführen kann, wodurch lange Befehl&ketten vermieden werden, da die zentrale Datenverarbeitungseinheit
10 solche Operationen auf Grund eines einzigen Makrobefehls intern ausführt. Die zentrale
Datenverarbeitungseinheit 10 hat diese Fähigkeit insbesondere deshalb, weil zwischen der Speicherstenereinheit
18 und dem Rechenwerk innerhalb der zentralen Datenverarbeitungseinheit 10 Puffer vorgesehen
sind, die solche zur Bildung der erforderlichen Befehlsketten benötigten Mikrobefehle enthalten
oder zu bilden gestatten. Zusätzlich enthält die zentrale Datenverarbeitungseinheit 10 das als sogenannten Schlauchrechner ausgebildete Rechenwerk.
Ein Kanal 34 am Ausgang der Speichersteuereinheit 18 ist zur Erweiterung der Rechnerkapazität
vorgesehen, falls weitere zentrale Datenverarbeitungsemheiten od. dgl. zusätzlich angeschlossen werden
müssen.
Jeder der Kanäle 29 und 32 bis 34 hat über die
Speichersteuereinheit 18 direkt Zugriff auf jeden Speicher 12 bis 15 des Zentralspeichers. Zur Erhöhung
der Verarbeitungsgeschwindigkeit werden im Rechner und insbesondere im Zentralspeicher sich
vorzugsweise zeitlich überlappende Arbeitszyklen angewendet. In der Speichersteuereinheit 18 ist eine
Vorrangsteuerung mit vorzugsweise festen Zuordnungen vorgesehen, damit Anfragen an den Zentralspcicher
in einer gewünschten Reihenfolge beantwortet werden können. So werden Anfragen von den
an die Kanäle 29, 32, 33 und 34 unmittelbar angrenzenden Einheiten vorzugsweise in dieser Reihenfolge
und vorrangiger behandelt als Anfragen von solchen Einheiten, die nachgeschaltet sind, wobei die
Möglichkeit besteht, die Prioritätsreihenfolge beliebig abzuändern.
Zu Fig. 3:
In Form eines Blockschaltbilds wird eine automatische
Umschaltanordnung gezeigt, die die periphcre Datenverarbeitungseinheit 11 mit der zentralen
Datenverarbeitungseinheit 10 verbindet. Mit Hilfe dieser Umschaltanordnung ist es möglich, den Zeithaushalt
der zentralen Datenverarbeitungseinheit 10 vorsorglich so einzuteilen, daß zeitraubende Dialoge
zwischen ihr und der peripheren Datenverarbeitungseinheit 11 vermieden werden. Die Wirkungsweise
der Umschaltanordnung basiert darauf, daß in der zentralen Datenverarbeitungseinheit 10 echt
gleichzeitig oder vorzugsweise quasi-gleichzeitig mehrere Benutzerprogramme ablaufen können und
daß andererseits die periphere Datenverarbeitungseinheit 11 periphere Anfragen von Seiten dieser
Programme zu erledigen hat, wodurch nun der peripheren
Datenverarbeitungseinheit 11 die Aufcabe
zukommt, den Ablauf der in der zentralen Datenverarbeitungseinheit 10 wirksam werdenden Benutzerprogramme
planerisch festzulegen.
Durch zwei verschiedene Signale können die ir der zentralen Datenverarbeitungseinheit 10 ausge-
*5 fühnen Benuizcrprogramrnc von der peripheren Datenverarbeitungseinheit
11 periphere Dienstleistungen anfordern. Diese Signale haben die Bezeichnungen SCP und SCW. Das Signal SCP kommt dann irr
Benutzerprogramm vor, wenn es möglich ist. in dei Verarbeitung dieses Programms fortzufahren, ohn«
den Vollzug der angeforderten peripheren Dienst leistung von Seiten der peripheren Datenverarbei
tungseinheit 11 abzuwarten. Die periphere Datenver
ariteitungscinheit II wird also auf Grund der ent
sprechend gestellten Anforderung Daten, Adressei oder ein ganzes Programm sicherstellen bzw. zu
sammenslellcn. welche im weiteren Ablauf des inner halb der zentralen Datenverarbeitungseinheit weiter
verarbeiteten gleichen Benutzerprogramms crforder Hch werden. Die periphere Datenverarbcitungseinhci
il überträgt dann das angeforderte Datenmatcria bei passender Gelegenheit. Das Signal 5CP wird, wi
in Fig. 3 dargestellt ist. über eine Au^ean^slcituni
41 von der zentralen Datcnwrarbe-tUTvjM.inheit K
zur peripheren Datenverarbcitungscinh'-it 11 über
tragen.
Das Signal SIC wird dagegen dann von einer Bcnulzcrprograirar. ausgegeben, wenn dieses nidi
309532/45
weiter ablaufen kann, ohne die von der peripheren Datenverarbeitungseinheit Il angeforderte periphere
Dienstleistung erhalten zu haben. Das Signal SCW wird über eine Ausgangsleitung 42 aus der zentralen
Datenverarbeitungseinheit 10 an die in F i g. 3 zwischen der zentralen Datenverarbeitungseinheit 10 und
der peripheren Datenverarbeitungseinheit 11 liegende
eigentliche Umschaltanordnung angelegt.
Die periphere Datenverarbeilungseinheit 11 untersucht
die innerhalb der zentralen Datenverarbeitungseinheit 10 gerade unterbrochenen und nicht weiter
ablaufenden Programme daraufhin, welches von der zentralen Datenverarbeitungseinheit 10 weiterverarbeitet
werden sollte. Hat sie ein solches Programm gefunden, dann setzt die periphere Datenverarbeitungseinheit
11 eine Schallkennzeicheneinrichtung 44, die hier als Flip-Flop-Schaltung dargestellt ist. Wird
nun in der zentralen Datenverarbeituneseinheit 10 beim Anlauf eines in ihr verarbeiteten Benutzerprogramms
ein Signal SCW gefunden, dann entsteht über die Und-Gatter 43 auf einer Leitung 45 ein Signal
»Umschalten«, wenn auch die Schaltkennzeichenvorrichtung44
gesetzt ist. Das Signal »Umschalten« verursacht in der zentralen Datenverarbeitungseinheit 10
die Durchführungen der erforderlichen Umschaltung von dem Benutzerprogramm, das zu einem Signal
SCW geführt hat. zu dem Programm, das von der peripheren Datenverarbeitungseinheit 11 aus den in
Reserve befindlichen Programmen als das Programm ausgewählt worden ist, das als nächstes an die Reihe
kommt.
Im einzelnen spielt sich bei diesem Vorgang folgendes
ab: Wenn die Schaltkennzeichenvorrichtung 44 gesetzt ist. kann beim Auftreten eines Signals SCW
von Seiten der zentralen Datenverarbeilungseinheit
10 über das Und-Gatter 43 das Signal »Umschalten« auf der Leitung 45 zur zentralen Datenverarbeitungseinheit
10 gelangen und dieser anzeigen, daß sie an Stelle des Programms, das zur Abgabe des Signals
SCW geführt hat und das sich nun vorher in Wartestellung befindet, ein anderes, bisher in Reserve befindliches
Programm oder Programmsegment weiter bearbeiten kann. Sie wird dieses Programm oder Programmsegment
automatisch und ohne Verzögeiung übernehmen und weitenerarbeiten, indem ihr durch
Rückfrage bei der peripheren Datenverarbeitungscinheit 11 von dieser das betreffende Programm oder
Programmsegment angezeigt wurde. Hat nun beispielsweise
die periphere Datem crarbeitungseinheit
11 etwa bei Fehlen solcher in Wartestellung befind-
!icher, betriebsbereiter Programme keine solche Anzeige zu machen, dann ist von der peripheren Daten-Verarbeitungseinheit
auch die Schaltkennzeichenvorrichtung nicht gesem worden, so daß die Abgabe
des Signals »Umschalten« von vornherein unmöglich gemacht ist. Beim Auftreten des Signals SCW beendet
die zentrale Datenverarbeitungseinheit 10 in diesem FaTl zwar ebenso die Weiterverarbeitung des Benutzerprogramms.
das zur Abgabe des Signals SCW geführt hat, doch bleibt dieses Benutzerprogramm in
der zentralen Datenverarbeitungseinheit 10 so lange. bis die Schaltkennzeichenvorrichtung 44 von der
peripheren Datenverarbeitungsemheit 11 gesetzt wird. Sobald das Signal »Umschalten« erscheint, wird die
die Schaltkennzeichenx orrichtung 44 bildende Flip-Flop-Schaltung
zurückgesetzt.
Mit dieser automatisch arbeitenden Umschaltanordnung
wird ein sonst üblicher zeitraubender Dialog zwischen der zentralen und der peripheren Datenverarbeitungseinheit
dadurch vermieden, daß die periphere Datenverarbeitungseinheit 11 vorsorglich sämtliehe
in Reserve befindliche Programme innerhalb der zentralen Datenverarbeitungseinheit 10 auf Einsatzbereitschaft,
d. h. auf die Möglichkeit, sofort weiterverarbeitet zu werden, prüft und registriert. Ein weiterer
Vorteil ergibt sich daraus, daß in der zentralen Datenverarbeitungseinheit keine Schaltungseinrichtungen
zur Durchführung des sonst üblichen Dialogs benötigt werden.
ZF' 4·
u r 1 g. .
u r 1 g. .
F1 g. 4 zeigt ein ausführlicheres Blockschaltbild der
in F i g. 3 dargestellten ümschaitanordnung, aus dem die Zusammenwirkung zwischen der zentralen Datenverar'ociiungseinheit
10, der peripheren Datenverarbehungseinheit 11 und der Speienersteuereinheit 18
deutlich hervorgeht. In Fig. 4 ist der wesentliche Teil der automatischen Umschaltanordnung als zur
»5 peripheren Datenverarbeitungseinheit 11 gehörig gezeichnet,
indem er als Ausgangsteil der peripheren Datenverarbeitungseinheit 11 in Richtung zur zcntralen
Datenverarbeitungseinheit 10 und zur Speicher-Steuereinheit 18 dargestellt ist. Die periphere Datenvcarbciiungseinheit
11 enthält also in Fig. 4 auf der linken Seite einer gestrichelten, senkrechten Linie
eine Umschaltanordnung als Ausgangsteil, während auf der rechten Seite der gestrichelten Linie die
eigentlichen Schaltungsanordnungen der peripheren
Datenverarbeitungseinheit liegen, von denen jedoch nur Anschlüsse dargestellt sind.
Die Ausgangsleitungen 41 und 42 für die Signale 5CP und SCW führen von der zentralen Datenverarbeitungseinheit
10 zur peripheren Datenverarbeitungseinheit 11. Für diese Übertragung ist ein Oder-Gatter
50 vorgesehen, an dessen Eingänge die Signale 5CP und SCW angelegt werden können, und es ist
ein einen weiteren Signalkanal bildendes Oder-Gatter 51 vorgesehen, an dessen Eingänge das Signal SCW
und ein Fehlersignal über eine Leitune 53, die aus der zentralen Datenverarbeitungseinheit 10 kommt,
angelegt werden können. Die Sienale 5CP, SCW und das Fehlcrsignal entstehen auf Grund bestimmter
Programmbefehle im Benutzerprograinm, wobei im
Falle der zwei letzteren Signale ein Umschalten vom bisherigen Benutzerprogramm zu dem nächsten Programm
erwünscht sein kann.
Ein kurze Zeit nach Erscheinen der Signale SCP
oder SCW oder des Fehlersignals entstehender Tastimpuls auf einer Leitung 54, kommt von der zentralen
Datenverarbeitungsemheit IO zur peripheren Datenverarbeitungseinheit 11. in der er eine Flip-FIop-Schaltung
73 setzt. Es sei bemerkt, daß der Tastimpuls und die von ihm getastete Flip-Flop-Schalnmg
73 ohne Abweichung von dem in Fig. 3 dargesteDten Prinzip entfallen könnten.
Mit einem Signal auf einer der Ausgangsleitungen 41, 42 fragt die zentrale Datenverarbeitunustinheit 10
bei der peripheren Daienverarbeirungseirhcit 11 an,
ob sie einen bestimmten Teil des von ihr gerade ausgeführten Programms über den Kanal 33 und die
Speichersteuereinheit 18 in eine bestimmte, vorzugsweise reservierte Stelle des Zentralspeichers ein-
77Λ8
speichern darf. Dabei erstreckt sich die Zeitspanne, in deren Verlauf den bestimmten Teilen des in diesem
Augenblick von der zentralen Datenverarbeitungseinheit 10 verarbeiteten Programms enthalten
soll, über die Zeit, die die periphere Datenverarbeitungseinheit 11 benötigt, diesen Programmteil abzufragen
und auf Grund des vorgefundenen Informationsgehalts eine dementsprechende Instruktionsfolge
ablaufen zu lassen. In dem hier beschriebenen Beispiel wird für eine solche Steueroperation einer Umschaltanordnung
eine Wortstelle im Zentralspeicher reserviert. Ein auf einer Leitung 55 von der zentralen
Datenverarbeitungseinheit 10 zur peripheren Datenverarbeitungseinheit 11 übertragenes Signal CCC
meldet der peripheren Datenverarbeitungseinheit 11, daß ein mit dem Signal SCP oder SCW begonnener
Ablauf beendet ist.
Auf einer Leitung 56 gelangt ein Signal R von der peripheren Datenverarbeitungseinheit 11 zur zentralen
Datenverarbeitungseinheit 10, das, wie nachher erläutert wird, dazu verwendet werden kann, den
Ablauf innerhalb der zentralen Datenverarbeitungseinheit 10 abzustoppen, sobald innerhalb der peripheren
Datenverarbeitungseinheit 11 bestimmte Betriebsbedingungen auftreten.
Auf einer Leitung 57 wird ein Signal PSC als Quittiersignal \on der zentralen Datenverarbeitungseinheit 10 zur peripheren Datenverarbeitungseinheit
11 auf Grund eines vorausgegangenen Signals SCW oder eines Fehlersignals übertragen. Die periphere
Datenverarbeitungseinheit 11 löst eine Operationsfolge aus. die die momentan unterbrochene Zentraldatenverarbeitungseinheit
veranlaßt, einen bestimmten Informationscode in den zentralen Speicher zu
übertragen, der den Gesamtzustand des Programmtcils in der zentralen Datenverarbeitungseinheit 10
charakterisiert, bei welchem diese Einheit die Verarbeitung des Programms unterbrochen hat. Nach
dieser Abspeicherung wird nun die zentrale Datenverarbeitungseinheit
10 in einen gänzlich neuen Zustand versetzt, auf Grund dessen sie ein neues Programm
ausführen kann. Dieses Programm beginnt bei dem Zustand, der dem Informationscode entspricht,
der der zentralen Datenverarbeitungseinheit nun zugeführt wurde. Erscheint auf der Leitung 57
also em solches Signal PSC, dann kann die periphere Datenverarbeitungseinheit 11 auf den ! euungen 4L
42 oder 53 nachfolgend erscheinende Signale Si P. SCW oder »Fehler« beantwoiten. Wie noch gezeigt
wird, registriert die periphere Datenverarbeitungseinheit 11 das auf der Leitung 57 erscheinende Signal
und bringt dementsprechend das nächste Programm sowie die von der zentralen Datenverarbeitungseinheit
10 zu verarbeitende Information in Bewegung, sobald ein Signal SCW oder ein Fehlersignal auf den
Leitungen 42 bzw. 53 erscheint.
Das Signal »Umschalten« (PS) an der Leitung 45 von Fi g. 3 and Fig. 4 zeigt der zentralen Datenverarbeitung^einheit
an. daß diese die Umschaltung von einem Benutzerprograinm zu einem anderen Benutzerprogramm
vornehmen kann.
Ein auf der Leitung 58 von der peripheren Datenverarbeitungseinheit
11 zur zentralen Datenverarbeitungseinheit 16 übertragenes Signal *Anruf* (PO
zeigt der zentralen Datenverarbeitungseinheit an. daß im Zentralspficher eine bestimmte Stelle verfügbar
i<t.
Ein Signal \tSC auf einer Leitung 59 zeigt, was die
Speichersteuereinheit 18 anbelangt, daß ein Umschaltbefehl ausgeführt wurde. Das Signal gelangt von
der Speichersteuereinheit 18 zur peripheren Datenverarbeitungseinheit 11 und zu einem Eingang eines
Und-Gattcrs 64, dessen zweiter Eingang mit der das Signal PSC führenden Leitung 57 verbunden ist.
Wenn die Und-Bedingung an diesem Und-Gatter erfüllt ist, kann die periphere Datenverarbeitungseinheit
10 den nächsten Zustandswechsel für die zentrale Datenverarbeitungseinheit vorbereiten. Eine
von der peripheren Datenverarbeitungseinheit Il zur Speichersteuereinheit 18 führende Leitung 60 überträgt
wie die obengenannte Leitung 45 das Signal »Umschalten«; dieses Signal zeigt der Speichersteuereinheit
18 an, daß sie den Umschaltbcfehl ausführen kann.
Wie im Zusammenhang mit F i g. 2 bereits erwähnt
wurde, übertragen die Kanäle 32 und 33 acht Wörter = 256 Bits, d. h. jeweils einen ganzen Wortblock
gleichzeitig zwischen der peripheren Datenverarbeitungseinheit und der Speichersteuereinheit bzw.
zwischen der zentralen Datenverarbeitungseinheit und der Speichersteuereinheit.
Der zur Umschaltanordnung gehörende Ausgangsteil der peripheren Datenverarbeitungseinheit 11 enthält
nach Fig. 4 zehn Flip-Flop-Schaltungen 71 bis 75, 44 und 77 bis 80. Zu diesem Ausgangsteil gehören
auch die Oder-Gatter 50, 51, 68 sowie die Und-Gatter 43 und 61 bis 67.
Die Flip-Flop-Schaltungen können einfache gleichstromgekoppelte KS-Flip-Flops sein, deren Setz- und
Rücksetzeingänge mit den Buchstaben S bzw. R bezeichnet sind. Der Ja-Ausgang der Flip-Flop-Schaltungen
ist mit 1 bezeichnet, und der Nein-Ausgang ist mit 0 bezeichnet. Die Flip-Flop-Schaltungen sind
ferner mit Buchstaben bezeichnet, die die jeweils auf den entsprechenden Ja-Ausgängcn abgegebenen Signale
kennzeichnen. Beispielsweise bedeutet der Buchstabe c bei der Flip-Flop-Schaltung 71, daß an
der an den Ja-Ausgang angeschlossenen Leitung 81
das Signal C abgegeben wird.
Der Ausgang des Oder-Gatters 50 führt an einen Eingang des lTnd-Gatters 61. Der Ausgang des
Ind-Ganers 6i im mit dem Setzeingang der FHn-Flop-Schaltung
71 verbunden. Der Nein-Ausgang der Flip-Flop-Schaltung 71 ist mit einem zweiten Eingang
des Und-Gatters 61 sowie mit je einem Eingang der l'nd-Gatter 62 und 63 verbunden. Der Ausgang des
Oder-Gatters 51 ist mit dem zweiten Eingang de= Und-Gatters 62 verbunden, dessen Ausgang an der
Setzeingang der Flip-Flop-Schaltung 72 aneeschlos
sen ist. Der Nein-Ausgang dieser Flip-Flop-Schaltuns
ist mit je einem Eingang der LJnd-Gatter 61 his 6?
verbunden Der Tastimpuls an der Leitung 54 im ?.i
der. Set?cingang der Flip-Flop-Schaltung 73 angelegt deren Ja-Ausgang zu je einem der Eingänge der Und
Gatter 61 bis 63 führt. Die aus den Flrp-Flop-Schal
tungen 71 bis 73, den l'nd-Gattern 61 bis 63 und dei
Oder-Gattern 50 und 51 bestehende Baugruppe be wirkt die Abgabe des Signals C auf der Ausgangslei
rung 51 dann, wenn ein Anruf auszuführer! «ft. Ferne
bewirkt diese Baugruppe die Abgabe ein*^ Sianals
auf einer mit dem Ja-Ausgang der F!ip-I Ion-Schal tung72 verbundenen Ausgangsleitune 82. wenn ein
Umschaltung durchzuführen ist. Die Flip-Flop-Scha
tungen 71 und 72 können erst dann gesetzt werdei wenn auf d_ - I eit'rog 54 der Tastimpuls erschein
■ -»durch bei Zwischenschaltung äs: nin-Fii.,.->cha
ung 73 das an dessen Ja-Ausgang erscheinende Ausjlendsignal
L an je einem Einsang der Und-Gatter 61 ind 62 wirksam wird. Die Jen Anruf kennzeichnende
Flip-Flop-Schaltung 62 kann nur dann gesetzt weiien,
wenn sie selbst und die Flip-Flop-Schaltung 72 bisher rückgesetzt waren. Ebenso wird das Signal S
an der Leitung 82 als Kennzeichen des Setz-Zustandes der Flip-Hop-Schaltung 72 nur dann Zustandekommen,
wenn diese Flip-Flop-Schaltung selbst und die Flip-Flop-Schaltung 71 vorher rückgesetzt waren.
Eine Rücksetzleitung 83 führt zu den Rücksetzeingängen der Flip-Flop-Schaltungen 71 und 72, wobei
diese Rücksetzleitung Signale entsprechend dem in der peripheren Datenverarbeitungseinheit 11 laufenden
Programm führt, wodurch nach Beendigung eines Anruf- oder Umschaltvorgangs ein Rücksetzsignal für
diese Flip-Flop-Schaltungen erscheint.
Die Ausgangsleitungen 81 und 82 führen zu Anschlüssen 84a und 84 b, die zu einer Gruppe von Anschlüssen
84 gehören, die alle programmzugänglich oder piogrammabhängig sind So führt der Ja-Ausgang
der Flip-Flop-Schaltung 74 zum Anschluß 84 d, der Ja-Ausgang der Flip-Flop-Schaltung 75 zum Anschluß
84 e, der Ja-Ausgang der die Schaltkennzeichenvorrichtung
bildenden Flip-Flop-Schaltung 44 zum Anschluß 84/, der Ja-Ausgang der Flip-Flop-Schaltung
77 zum Anschluß 84g und der Ja-Ausgang der Flip-Flop-Schaltung 78 zum Anschluß 84/i. Samtliche
Anschlüsse 84α bis 84/ sind programmzugänglich,
was unten näher erläutert wird, soweit dies für das Verständnis einer die Umschaltanordnung betreffenden
Operation erforderlich ist.
Das Signal CCC an der Leitung 55 führt zum Setzeingang
der Flip-Flop-Schaltung 74, die nach Beendigung eines Anrufs in den Setz-Zustand übergeht;
durch Abgabe des Signals CC" am Anschluß 84 d wird der peripheren Datenverarbeitungseiriheit gemeldet,
daß der Aufruf beendet ist. worauf die periphere Datenverarbeitungseinheit die Flip-Flop-Schaltung
74 über eine Leitung 85 rücksetzt.
Line dem Programm zugängliche Leitung 86 führt zum Setzeingang der Flip-Flop-Schaltung 75. Im Setz-Zustand
erzeugt diese Flip-Flop-Schaltung am Ja-Ausgang ein Signal R, das über die Leitung 56 zum
Anschluß 84 e gelangt, der vom Programm abgefragt werden kann. Die Flip-Flop-Schaltung 75 wird dann
automatisch rückgesetzt, wenn das Oder-Gatur 68 ein Ausgangssignal abgibt. Die periphere Datenverarbeitungseinheit
11 kann also den Zustand der Flip-Mop-Schaltung
75 feststellen.
Über den Setz- und den Rücksetzeingang, an die Leitungen 87 bzw. 88 angeschlossen sind, ist die Flip-Flop-Schaltung
44 für das Programm zugänglich. Der Nein-Ausgang der Flip-Flop-Schaltung ist mit einem
I-.ingang des Und-Gatlers 66 verbunden, während ihr
Ja-Ausgang zu dem für das Programm zugänglichen Anschluß 84/ führt und auch über eine Leitung 89
mit einem Hingang des Und-Gatters 43 verbunden ist. Der Ausgang des Und-Gatters 66 führt zu einem
Eingang des Oder-Gatters 68, dessen zweiter Eingang mit dem Ausgang des Und-Gatters 67 verbunden ist.
Hin Eingang des Und-Gatters 67 ist mit dem Nein-Ausgang der Flip-Flop-Schaltung 77 verbunden, während
ein /weiter Eingang dieses Und-Gatters über die Leitung 81 mit dem Ja-Ausgang der Flip-Flop-Schallung
71 in Verbindung steht. Eine programmahliiingigc
1 .ing;ibeleitung91 führt zum Setzeingang der
1 -lip-Flop-Schallung 77, wahrend eine entsprechende
Leitung 92 an den Rücksetzeingang dieser Flip-Flop-Schaltung angeschlossen ist. Die Flip-Flop-Schaltungen
44 und 77 und die ihnen zugeordneten Schaltungsteile ermöglichen dem in der peripheren Datenverarbeitungseinheit
11 befindlichen Programm die Feststellung, welche der Funktionen Anruf oder Umschaltung
entsprechend dem Zustand der Flip-Flop-Schaltungen 71 und 72 auszuführen ist und welche zu
sperren ist.
Die Flip-Flop-Schaltung 78 dient der peripheren
Datenverarbeitungseinheit 11 zum Abfragen und Bestimmen, wann ein Umschaltvorgang beendet ist. Die
Flip-Flop-Schaltung 79 erzeugt an ihrem Ja-Ausgang, also an den Leitungen 45 und 60 das Signal »Umschalten«
(PS), wodurch der zentralen Datenverarbeitungseinheit 10 und der Speichersteuereinheit 18
angezeigt wird, daß mit der Ausführung des Umschaltbefehls begonnen werden soll. Am Ja-Ausgang
der Flip-Flop-Schaltung 80 und an der damit verbundenen Leitung 58 erscheint das Signal »Anruf« (PC).
das der zentralen Datenverarbeitungseinheit anzeigt, daß mit der Ausführung des Anruf-Befehls begonnen
werden soll, wobei die Flip-Flop-Schaltung 80 jedoch nur dann in den Setz-Zustand übergeht, wenn vorher
die Flip-Flop-Schaltungen 71 und 77 gesetzt worden sind.
Die bisherigen Ausführungen betrafen die Durchführung einer automatischen Umschaltung von einem
zu einem anderen Programm innerhalb der zentralen Datenverarbeitungseinheit 10 unter Berücksichtigung
der in ihr vorliegenden Bedingungen und unter der Steuerung durch die periphere Datenverarbeitungseinheit. In der am Ende angefügten Tabelle I ist der
Ablauf der Umschaltopcration in Form vi η
Booleschen Gleichungen angegeben.
Die Besonderheiten der zwischen die zentrale Datenverarbeitungseinheit 10 und die eigentliche penpheic
Datenverarbeitungseinheit 11 eingefügte Schaltung zur Verarbeitung der Signale .VCW und 5(7' sowie
des Fehlersignals sind:
a) Eine Anfrage an die zentrale Datenverarbeitungseinheit
kann sein:
1. Eine durch einen Fehler verursachte Anfrage an die Umschaltanordnung,
2. ein Anruf durch ein Signal 5CP oder
3. ein Umschaltbefehl durch das Signal SCW.
b) Eine Anfrage an die zentrale Datenverarbeitungseinheit wird in einer Taktzeit verarbeitet.
c) Die Programmumschaltung und/oder Erledigung eines Anrufs erfolgt automatisch ohne Inanspruchnahme
der Schaltungsteile der peripheren Datenverarbeilungseinheit, in dem von der eigentlichen peripheren Datenverarbeitungseinheit getrennte Schaltungselemente für Anruf
und Umschaltung benutzt werden.
d) Bei der Durchführung des von einem SCP- oder .S'CH'-Signals ausgelösten Vorgangs wird eine bestimmte
Speichcrstelle des Zentralspeichers verwendet.
c) Bei einem Signal SCW werden getrennte Beciuligungssignale
für Anruf und Umschaltung verwendet, wodurch es möglich wird, den Anrufvorgang
vor dem Umschaltvorgang und unabhängig von diesem zu Ende zn führen.
(O
opunialendie
mjp-
mjp-
en
te-
te-
f) Für die zentrale Datenverarbeitungseinheit ist
eine Betriebs-Warte-Steuerung vorgesehen.
σ) Wenn automatisch gesteuerte Anfragen an die
zentrale Datenverarbeitungseinheit erledigt sind, wird die periphere Datenverarbeitungseinheit
unterbrochen. Diese Unterbrechung kann maskiert werden.
Für den Ausgangsteil werden insgesamt 10 FHp-Rop-Schaltungen
verwendet, die in der am Ende angefügten Tabelle I gemäß der in F i g. 4 dargestellten
Schaltung aufgeführt sind. Wie später an Hand von Fig. 11 erläutert wird, werden im Ausgangsteil
10 Bits verwendet, die in einem oder in mehreren Wörtern einer Speicheranordnung 431 enthalten sind.
Zur Darstellung der bei der Umschaltung vorkommenden
Operationen sind in den am Ende angefügten Tabellen II und III zwei repräsentative Ablaufbeispiele
angegeben, in denen die Fälle betrachtet werden, daß nur ein Aufruf erfolgt (Signal SCP), daß nur
ein Schaltvorgang erfolgt (Fehlersignal) oder daß ein Aufruf und ein Schaltvorgang (Signal SCW) erfolgen.
Zu Fig. 5:
Der hiei beschriebene Rechner eignet sich nicht nur für skalare Operationen, sondern insbesondere
auch zur Verarbeitung laufend veränderlicher, vektorieller Daten, welche dem Rechenwerk wiederholt
2Ugeführt werden; der Rechner ist also besonders für Vektoroperationen geeignet.
Eine typische Vektoroperation ist die Addition
zweier Vektoren a + B = C (mit A, B und C als ndimensionalen
linearen Feldern) in Form einer Addition ihrer Komponenten a, + bt = c;. Die Vektoren
A und B werden durch Kanalrechner so hindurchgeführt, daß die entsprechenden Komponenten
addiert werden. Auf diese Weise ergibt sich der Vektor C.
Eine weitere häufig benutzte Operation innerhalb des Rechners ist die Bildung eines skalaren Produkts
(A-B)-C oder eines Vektorprodukts p . /?]= <f.
Das Ergebnis wird wiederum so gewonnen, daß die Vektoren in ihre Komponenten zerlegt und gemäß
der Gleichung
mit beispielsweise C11 = an ba + au b.21 + aa b3l
ium allgemein
ium allgemein
wobei ρ der Grad der Determinante ist.
Die Erzeugung des Elements C11 kann man als
eine Multiplikation der ersten Reihe der Determinante A mit der ersten Spalte der Determinante B
durchführen. Ein Element C12 kann als Multiplikation
der ersten Reihe der Determinante A mit der zweiten Spalte der Determinante B entsprechend erzeugt
werden; ein Element cls aus der Multiplikation
der ersten Reihe der Determinante A mit der dritten Spalte der Determinante B.
Vektoriell ausgedrückt kann man so sagen: Der Reihenvektor 1 der Determinante A dient als Operandenvektor
für drei Vektoroperationen mit dem
ao Spaltenvektor 1 oder 2 oder 3 der Determinante B zur Erzeugung des Reihenvektors 1 der resultierenden
Determinante C. In solcher Weise wird nun noch zweimal verfahren. Ein erstes Mal, indem jetzt statt
des Reihenvektors 1 der Reihenvektor 2 der Determinante A und ein zweites Mal, indem jetzt der Reiher.vektor
3 der Determinante A zur Erzeugung der Reihenvektoren 2 bzw. 3 der resultierenden Determinante
C verwendet wird.
Eine solche skalare Vektormultiplikation in Form einer Matrixmultiplikation kann demnach so durchgeführt werden, daß zwei verschiedene Schleifen mehrmals durchlaufen werden. Diese Schleifen seien als innere bzw. äußere Schleife bezeichnet. Für das Beispiel der Matrixmultiplikation sei die innere Schleife zur Indizierung von Element zu Element innerhalb einer Reihe der Matrix C vorgesehen, die äußere Schleife dagegen zum Fortschreiten von Reihe zu Reihe innerhalb der Matrix C.
Eine solche skalare Vektormultiplikation in Form einer Matrixmultiplikation kann demnach so durchgeführt werden, daß zwei verschiedene Schleifen mehrmals durchlaufen werden. Diese Schleifen seien als innere bzw. äußere Schleife bezeichnet. Für das Beispiel der Matrixmultiplikation sei die innere Schleife zur Indizierung von Element zu Element innerhalb einer Reihe der Matrix C vorgesehen, die äußere Schleife dagegen zum Fortschreiten von Reihe zu Reihe innerhalb der Matrix C.
Die in F i g. 5 hinsichtlich ihrer Ablaufschleifen skizzierten Operationen werden in der gemäß F i g. 6
aufgebauten zentralen Datenverarbeitungseinheit in problemorientierter, optimierter Weise realisiert.
Zu Fig. 6:
c =
2
/= ι
/= ι
arithmetisch berechnet werden, wobei der Cosinus oder Sinus des Winkels zwischen A und B berücksichtigt
wird.
Dies kann auf eine Multiplikation von Determinanten oder Matrizen erweitert werden. Heißt die
eine Determinante A und die andere B, so folgt für die resultierende Determinante C im Falle eines dreidimensionalen
Raums:
«L
LM
".12
bti
c„.2
«'.12
Die Verarbeitungsgeschwindigkeit der zentralen Datenverarbeitungseinheit 10 des hier beschriebenen
Rechners liegt wesentlich über der Verarbeitungsgeschwindigkeit, mit der Daten aus einem Speicher ausgelesen
und in diesen wieder eingespeichert werden können. Damit die hohe Verarbeitungsgeschwindigkeit
innerhalb der zentralen Datenverarbeitungscinheit 10 zur Verarbeitung großer, vorsortierter Datenblöcke,
beispielsweise bei Vektoroperationen, ausgenutzt werden können, wird zwischen dem Rechenwerk
und dem Speicher eine Kopplungseinrichtung angebracht, die speziell der Forderung nach höchster
Verarbeilungsgcschwindigkeit Rechnung trägt. Die Kopplungseinrichtung wird im folgenden als Puffereinhcit
100 bezeichnet, die nach F i g. 6 zwischen die Speichcrsteuercinhcit 18 und das Rechenwerk 101
eingefügt ist. Die Puffereinheit 100 wird als Teil der
zentralen Datcnverarbcitungscinheit 10 angesehen, und sie ist über den Kanal 33 mit der Speichcrsteuercinhcit
18 verbunden. Außerdem führen zwei Datenkanäle 100 α und 100 b von der Pulicrcinhcit 100
zum Rechenwerk 101, das hier als Vektorrechenwert nämlich Basisregistern 120,121: allgemeinen Regi- c|
bezeichnet werden kann. Ein Datenkanal 100 c führt stern 122 und 123, einem Indexregister 124 sowie a
vom Rechenwerk 101 zur Puffereinheit 100. Über einem Vektorparameterregister 125. Jedes der Regi-
die Datenkanäle 100 a und 100 b werden Operanden ster 120 bis 125 hat über einen gemeinsamen Korn- : b
zum Rechenwerk transportiert, während der Daten- 5 munikationskanal 104 und eine Operandenabruf- und T
kanal 100c das im Rechenwerk erzeugte Resultat zur Operandenspeicheranordnung 126 Zugang zum Re- r
Puffereinheit 100 überträgt, von wo es über die Spei- chenwerk 101. Die Anordnung 126 dient als Durch- s
chersteuereinheit 18 zu den Speichern 12 bis 15 ge- gangskanal zu Operanden in beiden Richtungen. s
langen kann. Eine Steuereinheit 127 dient unter anderem zur <
ίο Steuerung des Rechenwerks 101 dadurch, daß sie
ihre Steuersignale auf Grund der von einem Befehls-
g· pufferspeicher 127 a gelieferten Befehle bildet Der
Befehlspufferspeicher 127a dient der Pufferung von
Unter Bezugnahme auf die mehr ins einzelne ge- Befehlen, die aus einer Befehlsabrufeinheit 128 stam-
hende Darstellung von Fig. 7 kann die Wirkung des 15 men. Die Befehlsabrufeinheit 128 beliefert nicht nur
Puffers 100 bei Hochgeschwindigkeitsübertraguneen den Befehlspufferspeicher 127a mit Befehlen, son-
zum und vom Rechenwerk 101 erläutert werden. Wie dem es liefert auch Adressen an eine Indexeinheit
bereits erwähnt wurde, sind im Zentralspeicher Wort- 126a; der Ausgang der Indexeinheit 126ß führt da-
gruppen von 256 Bits in Wörtern zu je 32 Bits ent- bei zur Anordnung 126. Die Befehlsdateien 129 und
halten; eine Wortgruppe kann dabei jeweils gleich- »0 130 bilden puffernde Kanäle für einen Befehlsnuß
zeitig gelesen oder geschrieben werden. Die Wort- von den Speichern 12 bis 15 zur Befehlsabrufein-
gruppen werden aus dem Zentralspeicher über die heit 128.
Speichersteuereinheit 18 und den Kanal 33 zu einer Eine Steuereinheit 131 steht mit Ausnahme der
Torschaltungseinheit 18 a transportiert. Der Torschal- Befehlsdateien 129 und 130 mit allen in Fig. 7 getungseinheit
18a ist der Puffer 100 nachgeschaltet. 15 zeigten Einheiten in Verbindung; es besteht auch
Wie in Fig. 6 dargestellt ist, verlaufen zwischen der eine Verbindung zwischen ihr und derTorschaltungs-Puffereinheit
100 und dem Rechenwerk 101 drei Da- einheit 18a. Zur Aufgabe der Steuereinheit 131 getcnkanäle
100«, 100b und 100c. Der Kanal 100 a hört es, auf Grund des Signals SCW oder des Fehler
ist der Ausgangsteil eines Registerkanals für den signals (F i g. 4) den gesamten augenblicklichen ZuOperanden
A, der zwei in Serie geschaltete Puffer 30 stand der zentralen Datenverarbeitungseinheit 10
102 und 103 enthält. Der Kanal 100 b ist der Aus- vorzugsweise in den Zentralspeicher zu übertragen
gangskanal eines Registerkanals für den Ope- und an Stelle dieses Zustandes in die zentrale Datenranden
B, der von zwei in Serie geschalteten Puffern Verarbeitungseinheit einen neuen Zustand einzuge-105
und 106 gebildet wird. Der Kanal 100c ist da- hen. so daß der Ablauf eines neuen Programms begegen
der Eingangc.kanai eines Registerkanals für 35 gönnen werden kann. ;
das Resultat C. der aus zwei in Serie geschalteten Die Puffereinheit 100 enthält eine Parameterregi-Puffern
108 und 107 besteht. Die Registerkanäle für sterdatei 132 und eine Arbeitsspeicherregisterdatei
die Operanden A und B puffern die Operanden auf 133. Die Parameterregisterdatei 132 ist über einen
dem Weg zwischen dem Zentralspeicher und dem Kanal 134 und über den Kommunikationskanal 104
Rechenwerk. Der Resultatregisterkanal puffert da- 40 mit dem Vektorparameterregister 125 verbunden. :
gegen die vom Rechenwerk 101 ausgegebenen Er- Dt· Inhalt des Vektorparameterregisters 125 wird ;
gebnisse, ehe sie beispielsweise in Wortgruppen gc- in die Parameterregisterdatei 132 übertragen, sobald ;
sammelt zu den Speichern 12 bis 15 zurücktranspor- ein Vektorbefehl aus dem Zentralspeicher zum Betiert
werden. v fehlsspeicherregister 128 geholt wird. Wenn das Be- ]
Der Puffer 102 ist so aufgebaut, daß er beispiels- 45 fehlsspeicherregister 128 beispielsweise einen solchen ■
weise mit jeder achten Taktzeit auf einmal eine aus Vektorbefehl aufgenommen hat, erfolgt unmittelbar
acht Wörtern bestehende Wortgruppe empfangen in Maschinensprache eine Übertragung der Para- :
und abspeichern kann. Synchron mit dem Puffer 102 meterdaten aus dem Vektorparameterregister 125 in
wird jede Wortgruppe zum Puffer 103 wcitertrans- die Parameterregisterdatei 132. Die Ausführung der
portiert. Aus 32 Bits bestehende Worter werden vom 50 daraufhin erfolgenden Operationen erfolgt vermittels
Puffer 103 zum Rechenwerk 101 so übertragen, daß der Indexeinheit 126 a, des Befehlspufferspeichers
ein Wort pro Taktimpuls bewegt wird. Jc nach Art 127a. sowie der Anordnung 126 und der Steuereinder
vom Rechenwerk 101 auszuführenden Operation heit 127. Dies bedeutet im einzelnen, daß im Verlauf
wird zu jeder Taktzeit ein vom Rechenwerk gebil- der Zeit, in der das Rechenwerk 101 eine bestimmte
detes Resultat aus den Puffern 108 und 107 zum 55 Operation ausführt, die Anordnung 126 und die
Zentralspeicher gebracht. Der Rechner kann in glei- Steuereinheit 127 die nächste nachfolgende Operacher
Weise hochwirksamc Operationen wie auch tion zur Durchführung durch das Rechenwerk 101
Operationen mit geringeren Anforderungen ausfüh- vorbereiten. In der gleichen Zeit bereiten auch die
rcn. Ein Beispiel für höchste Anforderungen bei einer Indexeinheit 126a und der Befehlspufferspeicher
Operation der Puffereinheit 100 und des Rechen- 60 127 a die nächstfolgende Operation vor. Schließlich
werks 101 ist die Addition von Vektoren, bei der die nimmt während derselben Zeitdauer die Befehlsabzwci
Operanden aus den Puffern 103 und 106 mit rufeinheit 128 den daraufhin folgenden Befehl auf.
jedem Taktimpuls zum Rechenwerk 101 übertragen Dieser Befehl wird somit im Rechenwerk 101 drei
werden, das mit jedem Taktimpuls eine Summe bil- Operationen später als der augenblicklich wirksame
det, die unmittelbar vom Puffer 108 aufgenommen 65 Befehl ausgeführt. Bei einer derartigen Organisation
wird. werden also vier Befehle gleichzeitig verarbeitet, in-In der zentralen Datenverarbeitungseinheit 10 be- dem sich jeder in einer verschiedenen Verarbeitungsfindet
sich eine Datei aus adressierbaren Registern, stufe hinsichtlich der anderen Befehle befindet, wie
»i- \ dies in F i g. 7 durch die Zeiten Π, Tl, 73 und TA
ic angedeutet ist.
;i- -] Es sei darauf hingewiesen, daß infolge der Komn-
-\ bination des Vektorparameterregisters 125 mit der
id ij parameterregisterdatei 132 die Kapazität des Reche-
ϊ ners dahingehend erhöht wird, daß mit hoher Geti-1
schwindigkeit komplexe Vektoroperationen in Mail. = schinensprache programmgesteuert durchgeführt
jr i werden können.
ie i In der Parameterregisterdatei 132 und in der Ars-
beitsspeicherregisterdatei 133 vorkommende Abkür-
:r S zungen sind in der am Ende angefügten Tabelle IV
>n 1 aufgeführt und erklärt.
i- : Die Parameter werden vorzugsweise vor Ausfühir
: rung eines Vektorbefehls aus dem Zentralspeicher in ι- ] die Register geladen. Die Vektoren werden hinterit
'! einander entsprechend den in der zentralen Daten- :- J Verarbeitungseinheit enthaltenen Parameterwerten
d J durch das Rechenwerk geschleust.
· Im folgenden wird das durch die oben angegebenen ;i Gleichungen beschriebene Beispiel einer Determinantenmultiplikation ausgeführt, wobei die Zuordr I nung zwischen den Speicheφlätzen und den Elementen der Determinanten/1, B und C (auch Vektoren genannt) in der am Ende angefügten Tabelle V angegeben ist.
· Im folgenden wird das durch die oben angegebenen ;i Gleichungen beschriebene Beispiel einer Determinantenmultiplikation ausgeführt, wobei die Zuordr I nung zwischen den Speicheφlätzen und den Elementen der Determinanten/1, B und C (auch Vektoren genannt) in der am Ende angefügten Tabelle V angegeben ist.
Aus der am Ende angefügten Tabelle VI ist die Adressenfolge und die Art der Berechnung des Vektor*
A zu erkennen.
Die Vektoren B und C werden in ähnlicher Weise bearbeitet. Die Adressenfolge des Vektors B gleicht
der Adressenfolge des Vektors/1, mit der Ausnahme, daß als Startadresse an Stelle von k die Startadresse 1
genommen wird. Die Adressenfolge des Vektors C ist m. m + 1 ... m + 8. Die Erzeugung der Adressenfolge
ist jeweils von dem speziellen Vektorbefehl abhangig. Das obige Beispiel gilt für eine skalare
Multiplikation von Vektoren. Der entsprechende Vektorcode wird zwecks dieser Bestimmung in die
Puffereinheit 100 eingegeben.
Zu Fig. 8:
Aus der obigen Beschreibung geht hervor, daß der hier beschriebene Rechner vorsortierte Daten mit hoher
Geschwindigkeit liefern kann. Es ist daher erwünscht, daß das diese Daten verarbeitende Rechenwerk
101 so ausgelegt ist, daß es die Daten mit derselben Geschwindigkeit verarbeiten kann, die durch
die im Zusammenhang mit den F i g. 6 und 7 beschriebene Puffereinheit 100 erreicht werden
kann.
In F i g. 8 ist ein Rechenwerk dargestellt, das mehrere Funktionseinheiten aufweist, die auf bestimmte
Rechenoperationen spezialisiert sind und die hintereinander angeordnet und in verschiedener Weise miteinander
verbunden werden können. Das Rechenwerk 101 besteht vorzugsweise aus zwei im wesentlichen
gleichen Rechenwerksabschnitten, deren Funktionseinheiten über eigene Zwischenspeicher verfügen.
Das Rechenwerk enthält Muitipliziereinheiten, die es gestatten, in einem Taktimpuls ein Produkt zu
bilden. Im Rechenwerk 101 werden grundsätzlich Verzögerungen vermieden, die bei iterativen Multiplikationsverfahren
sonst üblich sind.
Das Rechenwerk enthält zwei parallele Rechenwerksabschnitte 300/1 und 300 B, die in der Darstellung
symmetrisch zur Mittellinie 300 angeordnet sind. Die Operandeneingangskanäle sind mit den Bezugszeichen 300 a bis 300J gekennzeichnet.
Der Rechenwerksabschnitt 300 Λ enthält eine Exponentensubtraktionseinheit 302, zu der über einen Kanal 303 eine Ausrichteinheit 304 in Reihe geschaltet ist. Der Ausrichteinheit 304 ist über einen Kanal 305 eine Addiereinheit 306 nachgeschaltet;
Der Rechenwerksabschnitt 300 Λ enthält eine Exponentensubtraktionseinheit 302, zu der über einen Kanal 303 eine Ausrichteinheit 304 in Reihe geschaltet ist. Der Ausrichteinheit 304 ist über einen Kanal 305 eine Addiereinheit 306 nachgeschaltet;
ίο ein Ausgang der Addiereinheit 306 führt über einen
Kanal 307 zu einer Normalisierungseinheit 308, deren Ausgang über einen Kanal 309 mit einer Ausgabeeinheit
310 verbunden ist.
Die Operandeneingangskanäle 300 a und 300c sind
außerdem über eine Vornormalisierungseinheit 311 mit einer Multipliziereinheit 312 verbunden, deren
Ausgang über einen Kanal 313 zu einem weiteren Eingang der Addiereinheit 306 führt. Ein vom Ausgang
der Ausrichteinheit 304 kommender Kanal 315
führt zu einem Eingang eines Akkumulators 314, an de^en weiterem Fingang über einen Kanal 316 der
zweite Ausgang der Addiereinheit 306 angeschlossen ist. Ferner verbindet ein Kanal 317 den Akkumulator
314 mit einem spiegelbildlich angeordneten Akku-
*5 mulator 345 des Rechenwerksabschnitts 300 B. Ein
erster Ausgang des Akkumulators 314 führt über einen Kanal 318 zu einem weiteren Eingang der Exponentensubtraktionseinheit
302, während ein zweiter Ausgang des Akkumulators 314 über einen Kanal
319 mit einem zweiten Eingang der Ausgabeeinheit 310 verbunden ist.
Dei Ausgang der Exponentensubtraktionseinheit 302 ist mit einem Kanal 320 verbunden, der direkt
zum ersten Eingang der Ausgabeeinheit 310 führt.
Ebenso sind auch die Ausgänge der Ausrichteinheit
304 sowie der Addiercinheit 306 an den Kanal 320 angeschlossen. Ein Kanal 321 führt von einem weiteren
Ausgang der Addicreinheit 306 zu einem vierten Eingang der Exponentensubtraktionseinheit 302.
Die Addiereinheit 306 besitzt einen dritten Eingang,
der über einem Kanal 322 mit dem Ausgang einer Multipliziereinheit 341 verbunden ist, die im Rechenwerksabschnitt
300B spiegelbildlich zur Multipliziereinheit 312 des Rechenwerksabschnitts 300 A
angeordnet ist.
Für das zwei Abschnitte aufweisende Rechenwerk ist von Bedeutung, daß die Operandeneingangskanäle
3O0U und 30Or über Kanäle 323 bzw. 324 direkt an
jede Funktionseinheit des Rechenwerksabschnitts
300/4 angeschlossen sind, wobei lediglich der Akku
mulator 314 davon ausgenommen ist. Im einzelnen führen die Kanäle 323 und 324 also über Kanäle
325 an die Multipliziereinheit 312. über Kanäle 326 an die Ausrichteinheit 304, über Kanäle 327 an die
Adiikreinheit 306, über Kanäle 328 an die Normalisierungseinheit
308 sowie schließlich direkt an die Ausgabeeinheit 310. Torschaltungen öffnen oder
schließen die Kanäle des Rechenwerks auf Grund von Maschinen- oder Programmbefehlen.
Der Rechenwerksabschnitt 300 B ist entsprechend dem Rechenwerksabschnitt 300/1 aufgebaut. Dabei
entspricht die Exponentensubtraktionseinheit 330 der Exponentensubtraktionseinheit 302, die Ausrichteinheit
332 der Ausrichteinheit 304, die Additionseinheit 334 der Additionseinheit 306, die Normalisierungseinheit
336 der Normalisierungseinheit 308, die Ausgabeeinheit 338 der Ausgabeeinheit 310,
die Vornormalisierungseinheit 340 der Vornormali-
21 22
sierungseinheit 311, die Multipliziereinheit 341 der Funktionseinheit bei jedem Schritt ein Zahlenpaar M
Multipliziereinheit 312 und der Akkumulator 345 verarbeitet. la
dem Akkumulator 314. Das Rechenwerk 101 ist grundsätzlich 64-Bit- üj
Ebenso entsprechen sich die folgenden Kanäle: orientiert. Alle Funktionseinheiten von F i g. 8 außer gi
300b und 300c, 300d und 300a, 331 und 303, 5 den Multipliziereinheiten312 und 341 empfangen t;
333 und 305, 335 und 307, 337 und 309, 342 und 32 Bits und geben 32 Bits an ihre« Ausgängen ab. Ii
324, 343 und 323, 346 und 315, 348 und 318, Die Multipliziereinheiten geben dagegen 64 Bits ab. ν
353 und 313, 344 und 316, 352 und 321, 351 Mit Ausnahme einer Multiplikation und einer Divi- d
und 320 sowie 347 und 319. Überdies führt ein Ka- sion benötigen alle Funktionen sowohl für Operanden rr
nal 350 von der Exponentensubtraktionseinheit 330 io mit einfacher Wortlänge als auch für Operanden mit e
zur Exponentensubtraktionseinheit 303, und ein Ka- doppelter Wortlänge dieselbe Veraibeitungszeit. Ii
nal 355 führt von der Ausgabeeinheit 338 zur Aus- Festkomma-Zahlen werden vorzugsweise im ζ
gabeeinheit 310. Zweierkomplement dargestellt, während Gleitkomma- s
Wie bereits erwähnt wurde, verfügt jede Funk- Zahlen als Exzess-64-Zahl nach Vorzeichen, Man- ν
tionseinheit der zwei Rechenwerksabschnitte 300/4 15 tisse und Exponent erscheinen. I
und 300B über eigene Zwischenspeicher, wie dies Der besondere Aufbau des Rechenwerks in der ι
am Beispiel der Ausgabeeinheit 310 durch das Be- Art eines Vcrarbcitungskanals ermöglicht eine j
zugszeichen 310 α angegeben ist. Die Additionsein- fließende Verarbeitung, die insbesondere bei der An- j
heiten und die Exponentensubtraktionseinheiten ha- wendung auf Vektorbefehle besonders günstige
<
ben eine Kapazität von 32 Bits; die Multiplizierein- ao Eigenschaften hat. Die Anordnung von zwei par-
heiten haben eine Kapazität von 64 Bits. allelen Rechenwerksabschnitten gestattet es, daß zu
Das Rechenwerk 101 enthält also eine Vielzahl jeder Taktimpulszeit an jeder der Ausgabeeinheiten
von Funktionseinheiten zur Durchführung einer spe- 310 und 338 ein Resultat erscheint. Jeder Rechenziellen
arithmetischen Operation. Jede Funktionsein- werksabschnitt kann Teile anderer Befehle verarbeiheit
mit Ausnahme des Akkumulators besitzt eigene 35 ten. Jeder Rechenwerksabschnitt enthält Funktions-Operandeneingänge.
Durch Programm- oder Maschi- einheiten, mit deren Hilfe insbesondere die Additionsnenbefehle
können die Funktionseinheiten in der ver- zeit für Gleitkomma-Additionen verkürzt werden
schiedensten Weise miteinander verbunden werden, kann. Die zueinander spiegelbildlich liegenden
so daß eine Vielzahl voneinander verschiedener Funktionseinheiten der beiden Rechenwerksabschnitte
arithmetischer Beziehungen realisiert werden können. 30 können jeweils miteinander kombiniert werden; dit>
Sind die Verarbeitungswege festgelegt, dann können gilt allerdings nicht für die Multipliziereinheiten. Die
die zu verarbeitenden Daten so durch die beiden Exponenten Subtraktionseinheiten 302, 330 können
Rechenwerksabschnitte geschickt werden, daß bei- eine Verarbeitungsstufe bilden, in der sie voneinspielsweise
während einer Taktzeit unterschiedliche ander getrennt oder miteinander kombiniert arbeiten
Operanden jeweils eine Funktionseinheit durchlaufen, 35 Im Falle einer Kombination verarbeiten sie einen
wodurch ermöglicht wird, daß mehrere A- und Operanden mit doppelter Wortlänge.
B-Operandenwörter hintereinander durch den Die Ausrichteinheiten 3Ö4, 332 können bei Gleit-Rechenwerksabschnitt
strömen, in dem sie jeweils komma-Additionen für Rechtsverschiebungen verbeispielsweise
vier Verarbeitungsstufen durchlaufen. wendet werden. Die Normalisierungseinheiten 308.
Dieses Verarbeitungsverfahren mittels zweier par- 40 336 dienen alle Normalisierungserfordernissen, also
abgeschalteter Rechenwerkskanäle mit speziellen auch Linksverschiebungen. Die Addiereinheiten 306
Funktionseinheiten, die in jeder denkbaren Weise 334 werden vorzugsweise für Hochgeschwindigkeit suntereinander
verbunden werden können, gewähr- operationen zur Ausführung von Gleit- oder Festleistet
eine sehr schnelle Verarbeitungszeit innerhalb komrna-Audiiionbbctrieb zur Anpassung an einen
des Rechenwerks bei entsprechend gleich schnell an- « Verwendung bei der Addition der sogenannten
gelieferten und abschließenden Datenmengen. Pseudosumme oder des sogenannten Pseudoübcr-
Zur Erklärung der Wirkungsweise sei bemerkt, laufs, die aus der Multipliziereinheit kommen,
daß eine der im Rechner am meisten benötigten Ope- Bei der Verarbeitung von Vektoren ist ein Gltil-
rationen die Gleitkomma-Addition ist, die in vier komma-Additionen verwendet. Sie finden überdies
Schritten ausgeführt werden muß. Diese Schritte sind: 50 großen dynamischen Bereich wünschenswert. Da*
eine Subtraktion der Exponenten des A- und ß-Ope- Rechenwerk 101 kann zwar sowohl Fest- als auch
randen. ein Ausrichten der Mantissen vorzugsweise Gleitkomma-Additionen durchführen, doch wird
nach rechts, eine Addition der Mantissen sowie eine seine wirtschaftliche Arbeitsweise hinsichtlich der
eventuelle Nachnormalisierung des Resultats bei- Verarbeitungszeit und des Banelementaufwands be-
spielswcise in Form einer Linksverschiebung. Diese 55 sonders bei Gleitkomma-Additionen nach der Ta-
Schritte sind in der am Ende angefügten Tabelle VII belle VII erkennbar.
dargestellt. Die Multipliziereioheh 312 kann eine Multipli-Bei
der Addition zweier Zahlenreihen oder Vek- kation von 32 Bits mit weheren 32 Bits in einer Takttoren
ist zu Beginn (Zeit re) jede Funktionseinheit des zeit durchführen. Infolge dieser Fälligkeit der Mtihi-Rechenwerks
leer. Zur Zeh f, wird das erste Zahlen- 60 pliziercinheit passen diese Einheiten gut mit den
paar α, und £>, der Exponentensubtraktion unter- übrigen Funktionseinheiten zusammen, da die Verzogen,
die als erstes ausgeführt werden muß. Zur artvitungszeiten grundsätzlich gleich sind.
Zeit I1 wird cm zweites Zahlenpaar a, und />; dieser Die MultipHziereinheiten bilden gleichzeitig die
F-xponentensubtraktion unterzogen, während das Verarbeitungseinheiten für eine Division. Mulöplierstc
Zahlenpaar α, und ft, einen zweiten Schritt in 65 kationen oder Divisionen mit Operanden mit dop-Fonn
der Mantissenausrichtung durchläuft. Dieses peller Wortlänge erfordern mehrere Iterationen über
Verfahren wird weher fortgeführt, bis zur Zeit f4 die MultipUziereinheit, bevoT das Resultat erhalten
der Rechen werksabschnitt derart gefüllt ist. daß jede wird. Festkomma-Multiplikationen und Gleitkomma-
Multiplikationen mit Operanden mit einfacher Wortlänge werden nach einem Durchgang durch die MuI-tipliziereinheit
erhalten. Die Multipliziereinheit 312 gibt zwei Doppellängenwörter mit je 64 Bits in Form
einer Pseudosumme und eines PseudoÜberlaufs ab. In der Addiereinheit 306 werden aus diesen Wörtern
ausgewählte Bits miteinander addiert, damit ein Produkt mit der Länge eines Worts erhalten wird. Soll
mit einer Multiplikation mit einem Operanden mit einfacher Wortlänge ein Produkt mit doppelter Wortlänge
gewonnen werden, dann erzeugt die Multipliziereinheit 341 eine aus 64 Bits bestehende Pseudosumme
und einen aus 64 Bits bestehenden PseudoÜberlauf, und die Pseudosumme und der PseudoÜberlauf
werden dann in den Addiereinheiten 306 und 334 addiert, wodurch das Produkt mit der doppelten
Wortlänge gewonnen wird. Eine Donpellängenmultiplikation kann so durchgeführt werden, daß
die drei folgenden Schritte in der richtigen Reihenfolge durchgeführt werden: Eine Multiplikation in
der Multipliziereinheit 341, eine Addition in den Addiereinheiten 306 und 334 sowie eine Saldierung
in den Akkumulatoren 314 und 345. Die Akkumulatoren 314, 345 gleichen den Addiereinheiten, und
sie werden für spezielle Zwecke verwendet, in denen eine fortlaufende Saldierung erforderlich ist.
Eine Multiplikation mit Operanden mit doppelter Wortlänge 'jrfordert eine solche laufende Saldierung,
da vier getrennte 32-32 Bit-Multiplikationen durchzuführen
sind, worauf deren Zwischenergebnisse (Partialsummen) stellenrichtig in den Akkumulatoren
aufaddiert werden. Eine Doppellängenmultiplikation erfordert deshalb acht Takt?eiten, bis das richtige
Ausgangssignal erscheint, während eine Einzellängenir.ultiplikation
nur vier Taktzeiten benötigt. Eine Doppellängenmultiplikation bedeutet zwei 64-Bit-Gieiikommazahien
(56-Bit-Mantisse), die miteinander multipliziert werden, um ein aus 64 Bits bestehendes
Resultat zu erhalten, wobei die niedrigstwertigen Bin nach der Nachnormalisierung abgeschnitten
sind. Fme Festkomma-Multiplikation bedeutet eine Multiplikation von 32·32Bits, und sie ergibt
ein aus 64 Bits bestehendes Resultat.
Eine Division ist die umfangreichste vom Rechenwerk
auszuführende Operation, wobei die Fähigkeit einer Steilenmultiplikation von Vorteil ist. Nach einer
Anzahl itterierender Multiplikation ist der Quotient mit der gewünschten Genauigkeit erstellt. Da bei
diesem Divisionsverfahren kein Rest als Resultat tier vorhergehenden Multiplikationen erzeugt wird, muß
zur Bestimmung des Rests mit Hilfe der vorhandenen Hardware weitergerechnet werden, falls ein Rest erwünscht
ist. Wer die Lösung x/y — Q. dann kann der Rest aus der Beziehung R - χ — (>
· Q) gewonnen werden. Der Rest wird auf so viele Bits genau, als der
Dividend mal Bits enthalt. Die zur Bildung des Rests erforderliche Zeit addiert sich direkt zu der Zeit, die
zur Bildung des Quotienten erforderlich war. Die Divisionszeit für Operanden mit einfacher Wortlänge
wächst von 12 Taktzeiten bis zu 16 Taktzeiten bei
der Erstellung eines Re-ts. Der Divisionsloganthmus
erfordert, daß der Divisor normalisiert wird, nämlich
bei Festkommaarithmetik bitweise oder bei Gleitkommaarithmetik hinsichtlich der rückstellen He\adezunalzifftr
mit Ausnahme von Null.
Die Ausgabeeinheiten 310. 338 dienen der Sammlung
der Ausgangsdaten au», allen Funktionseinheiten sowie der Ausführung einfacher Datenverschiebungen,
Boolescher Beziehungen usw., zu deren Durchführungen eine Taktzeit im Rechenwerk 101 benötigt
wird.
Die Speichermöglichkeit in jeder Funktionseinheit des Rechenwerks ermöglicht eine wirksame Trennung der einzelnen, in den verschiedenen Funktionseinheiten getrennt verarbeiteten Daten. Das Rechenwerk arbeitet synchronisiert, indem es eine gemeinsame Taktzeit für alle Schaltkreise anwendet. Aus
Die Speichermöglichkeit in jeder Funktionseinheit des Rechenwerks ermöglicht eine wirksame Trennung der einzelnen, in den verschiedenen Funktionseinheiten getrennt verarbeiteten Daten. Das Rechenwerk arbeitet synchronisiert, indem es eine gemeinsame Taktzeit für alle Schaltkreise anwendet. Aus
ίο diesem Grund sind in jeder Funktionseinheit
Spekherregister enthalten, wie es beispielsweise durch das Bezugszeichen 310 a angegeben ist.
Zu Fig. 9:
Nach einer Beschreibung der Umschaltanordnung an Hand der F i g. 3 und 4 sowie einer Beschreibung
ao der zentralen Datenverarbeitungseinheit 10 an Hand der F i g. 5 bis 8 folgt nun zweckmäßigerweise in
einer Beschreibung der F i g. 9 die Darstellung der Zusammenwirkung zwischen der zentralen Datenverarbeitungseinheit
10, der peripheren Datenverarbeitungseinheit 11 und der Speichersteuereinheit 18.
Die F i g. 9 und 4 beireflen die Umschaltanordnung, wobei Fig. 4 den in der peripheren Datenverarbeitungseinheit
enthaltenen Teil und F i g. 9 den in der zentralen Datenverarbeitungseinheit enthalteneu
Teil dieser Anordnung zeigen; die Verbindung zwischen diesen beiden Teilen wird über die Kanäle
41, 42 und 53 bis 58 hergestellt.
In Fig. 9 ist eine Befehlsabrufeinhcit 128 dargestellt,
die ein Ausgangsregister 128 a aufweist, das in einer bevorzugten Ausführung eine Kapazität von 32 Bits
hat. Das Register ist in mehrere Abschnitte aufgeteilt; ein erster Abschnitt 128 ft mit einer Kapazität
von 8 Bits enthält den Operationscode, ein nächster Abschnitt 128c enthält ein Adressenmerkmal \on
4 Bits, und ein weiterer Abschnitt 128 rf mit 4 Bits enthält normalerweise Daten zum Betrieb des
Rechenwerks 101, mit denen ein Register bestimmt wird, das nicht zur Umschaltanordnung gehört.
Schließlich ist ein weiterer Abschnitt 128c mit einer Kapazität von 16 Bits vorgesehen, der ein Adressenfeld
enthält.
Bei einem normalen Operationsablauf führt eine IndcÄCinheit I26a. die ein Ausgangsregister 126ή
enthhh. einen Schritt im Zeitablauf T1 bis TA aus.
Bei einigen Operationen wird durch die Indexeinheil 126a im Ausgangsregister lZ6b ein Wort gebildet,
das der Summe aus dem Code im Abschnitt 128 c und aus dem Code im Indexregister 124 entspricht
wobei der Code im Indexregister 124 durch da; Adressenmerkmal im Abschnitt 128 c aufgerufen
wurde Eine solche Indexoperation entspricht alsc
der bei Rechnern üblichen Adressenmodifikation mit tels Indizierung.
Die Adresse aus dem Ausgangsregister 126fr wire
dann weiter zur Steuerung des Operandenflusses vor und zum Rechenwerk 101 von der Anordnung 12<
verwendet.
Sobald im Abschnitt 128h ein den -inulSCH
oder dem Signal SCP entsprechender Oju'.iionscod«
erscheint, beginnt ein hinsichtlich der anderen Opcrationscodes
verschiedener Operationsablauf. Zu nach·: -.Mrd de*r aus 8 Bits bestehende Code aus den
Abschnitt 128/» in den Befehlsputlerspeicher 127<
309 532'45i
übertragen, wonach er in einem Ausgangsregister 127 b des Befehlspufferspeichers 127 a erscheint. Anschließend
wird dieser aus 8 Bits bestehende Code über einen Kanal 200 zur Steuereinheit 127 übertragen.
In der Steuereinheit 127 wird der aus 8 Bits bestehende Code in einem Decodierer 201 verarbeitet.
Enthält der Code einen SCW-Befehl, dann erscheint
an einer Leitung 202 und somit an der Leitung 42 das Signal SCW. Enthält der Code dagegen einen
SCP-Befehl, dann wird an der Leitung 203 und somit
an der Leitung 41 das Signal 5CP erzeugt.
Wenn die periphere Datenverarbeitungseinheit 11 nach F i g. 4 auf der Leitung 41 oder auf der Leitung
42 ein Signal feststellt, dann wird sie nach einer bestimmten Zeit über die Leitung 58 an die Steuereinheit
127 das Signal »Anrufen« (PC) senden, das es der Steuereinheit 127 ermöglicht, ihrerseits ein Signal
auf einer Leitung 204 zum Rechenwerk 101 zu übertragen. Dieses zuletzt genannte Signal hat auch zur
Folge, daß der im Register 127 d der Anordnung 126 enthaltene Code zu einer bestimmten Speicherstelle
übertragen wird. Diese Übertragung erfolgt über eine Leitung 205, eine Leitung 206 innerhalb des Rechenwerks
101, eine Leitung 207, einen Zwischenspeicher 126 e sowie über den Kommunikationskanal 104 zum
Speicher.
Die abzuspeichernde Codierung aus dem Zwischenspeicher 126 £■ wird in die Speicherstelle eingeschrieben,
die durch den Inhalt des Adressenregisters 208 bestimmt ist. Der Inhalt dieses Adressenregisters
kennzeichnet eine Speicheradresse, die vorzugsweise nicht anderweitig benutzt wird und speziell für solche
Zwecke vorgesehen ist. Dies kann durch eine einfache Festverdrahlung innerhalb des Rechners erreicht
werden. Die Adresse aus dem Adressenregister 208 wird durch Aktivieren des Gatters 209 unter der
Steuerung eines an der Leitung 204 anliegenden Signals ausgegeben.
In der Steuereinheit 127 führen die Leitungen 202 und 203 jeweils einen Eingang eines Oder-Gatters
211. an dessen Auscungsleitung über eine Verzögerungseinheit
2JO ein Taktimpuls auf der Leitung 54 erscheint, der in der periphercn Datenverarbeitungseinheit 11 nacli dem Setzen dei Fiip-Flop-Schaltung
73 das Setzen der Flip-Flop-Schahung 71 und oder
der Flip-Flop-Schahung 72 ermöglicht (F i g. 4). Vorzugsweise ist die Leitung 53 an einem dritten fin
Fi g. 9 nicht dargestellten) Eingang des Oder-Gatters
111 sowie nach einer Und-Verknüpfung mit der Leitung 58. an der das Signal »Anrufen« liegt, an einen
ersten, ebenfalls nicht dargestellten Eingang eines Oder-Gatters 213. Zwei Eingänge des Oder-Gatters
213 sind mit den Ausgängen von Und-Galtern 212.
214 verbunden. Das Und-Gatter 212 hat zwei Eingänge,
von denen einer über die Leitung 202 das Signa!
SCW empfängt, während der zweite über die Leitung 58 das Signal »Anrufen« (PC) empfängt. Das
Und-Gatter214 ist in entsprechender Weise durch
die Koinzidenz der Signale SCP und »Anrufen« (PC) aktivierbar.
Damit auf der Ausgangsleitung 204 des Oder-Gatters 213 ein Signa! erscheint und damit eine Abspeicherung der im Register 126<i befindlichen Codierung
in die durch den Inhalt des Adressenregisters 208 bestimmte Speicherzelle erzielt wird, muß zusätzlich
zu den Signalen »Fehler«, SCW oder SCP das Signal »Anrufen« (PQ von seilen der peripheren
Datenverarbeitungseinheit vorhanden sein. Nur bei entsprechendem Signalzustand auf den Leitungen
56, 57, 45, 58, 55, 53 wird also eine solche Abspeicherung
erfolgen können. Der gesamte Betrieb der zentralen Datenverarbeitungseinheit kann auf
diese Weise unterbrochen werden; andererseits kann der Betrieb während einleitender oder vorbereitender
Operationen in Teilen des Rechners außerhalb der zentralen Datenverarbeitungseinheit 10 aufrechterhalten
werden. Diese Entscheidung hängt von dem im Ausgangsregister 128 a der Befehlsabrufeinheit 128
befindlichen Befehl ab, nämlich davon, ob im Abschnitt 128 b der Befehlsabrufeinheit die Codegruppe
für das Signal SCW, das Signal SCP oder ein anderes Signal vorhanden ist.
An der Leitung 53 von F i g. 4 und 9 liegt dann das Signal »Fehler«, wenn innerhalb der zentralen
Datenverarbeitungseinheit 10 ein Fehler festgestellt wurde. In F i g. 9 ist ein Oder-Gatter 22ö mii der
2Q Ausgangsleitung 53 dargestellt, das mit einem Eingang
über eine Leitung 221 an die Steuereinheit 127 und mit einem weiteren Eingang an das Rechenwerk
1Oi angeschlossen ist. Ein Fehlersignal kann beispielsweise bei einem Überlauf im Rechner 101 erzeugt
werden, und auch bei einer Undefinierten Codegruppc innerhalb der Steuereinheit 127 kann ein Fehlersignal
auftreten. Eine Leitung 222 führt zu einem dritten Eingang des Oder-Gatters 220, so daß an
diesen Eingang noch weitere Prüfkreise zur Erzcugung des Fehlersignals angeschlossen werden können.
Die Steuereinheit 131 (Fig. 7) steuert die Umschaltung der zentralen Datenverarbeitungseinheit,
die bewirkt, daß der bisherige Inhalt der zentralen Datenverarbeitungseinheit abgespeichert und neue
Daten in diese dafür eingegeben werden.
Zu Fig. .0:
Aus den bisherigen Ausführungen zur periphercn Datenverarbeitungseinheit 11 läßt sich entnehmen,
daß diese Einheit eine bedeutende Rolle bei der Steuerung der zentralen Datenverarbeitunjiseinheit 10
spielt Die periphere Datenverarbeitungseinheit 11 ist in der Lage, im voraus die Anforderungen der zeniralen
Datenverarbeitungseinheit 10 und andere: Komponenten des Rechners zu ermiiteln. indem ein
spezieller Zeitteilbetrieb zwischen mehreren virtueller Datenverarbeitungseinheiten in der peripheren
Datenverarbeitungseinheit 11 angewendet wird. In der penpheren Datenverarbeitungseinheit 11 sollen
von einer Gruppe von virtuellen Datenverarbeitungseinheiten Programme verarbeitet werden. Bei stark
variierenden Programmen wird vorteilhafterweise von einer fest zugeordneten Zeitteilung zwischen den
virtuellen Datenverarbeitungseinheiten abgegangen.
In der ;n Fig. 10 dargestellten Anordnung ist es
So möglich, einigen virtuellen Datenverarbeitungscinheiten
wesentlich mehr Zeit zuzuteilen als anderen. Außerdem kann die Zeitzuteilung zwischen den virtuellen
Datenverarbeitungseinheiten ^c";nd·. η werden.
Aus Fig. 10 ist zu erkennen, luv d\c virtuellen
Datenverarbeitungseinheiten P, bis P7 der peripheren
Datenverarbeiiungscinhcit 11 von einem Rechenwerk 4M der peripheren Dalenverarbeitungscinheit
11 versorgt werden.
te d e, b b ti si
Das Prinzip der Zeitteilung, bei dem ein Rechenwerk mit virtuellen Datenverarbeitungseinheiten zusammenarbeitet,
wird als bekannt %orausgesetzt. Die hier beschriebene Anordnung ermöglicht jedoch eine
höchst flexible Zuordnung der am Zeitteilbetrieb beteiligten Elemente sowie eine besondere Steuerung
der Zeitteilung. Die virtuellen Datenverarbeitungseinheiten P0 bis P7 können so aufgebaut sein, wie
beispielsweise in der USA.-Patentschrift 3 337 854 beschrieben ist, in der den virtuellen Datenverarbeitungseinheiten
feste Zeitspannen zyklisch zugeordnet sind. Mit der hier beschriebenen Anordnung wird dagegen
ermöglicht, die zeitlichen Zuordnungen in Abhängigkeit von den vorzugsweise von Programmen
gestellten Aufgaben steuerbar zu machen.
Von den acht virtuellen Datenverarbeitungseinheiten P0 bis P7 der peripheren Datenverarbeitungseinheitü
(Fig. 10) kann während einer Taktzeit nur jeweils eine virtuelle Datenverarbeitungseinheit
über das Rechenwerk 400 verfugen; das bedeutet, daß während einer Taktzeit jeweils nur eine virtuelle
Datenverarbeitungseinheit mit dem Rechenwerk 400 verbunden ist. Die Auswahl unter den virtuellen
Datenverarbeitungseinheiten trifft eine Schrittschaltvorrichtung 401, die in Fig. 10 durch einen rotierenden
Zeiger dargestellt ist. Mit jedem Taktimpuls wird der Zeiger um eine Stellung weiterbewegt, wobei
jede Stellung eine Verarbeitungszeitspanne von der Länge eines Taktimpulses darstellt. Insgesamt 16
verschiedene Stellungen des Zeigers bezeichnen Zeitspannen 0 bis 15. Das Rechenwerk 400 wird dabei
jeweils mit derjenigen virtuellen Datenverarbeitungscinheit verbunden, die durch die Codegruppe (beispielsweise
0 bis 7) bestimmt ist, die vom Zeiger abgetastet wird. In einem Extremfall wird wahrend der
Dauer des gesamten Zyklus nur eine bestimmte virtuelle Datenverarbeitungseinheit mit dem Rechenwerk
400 unter Ausschluß alier übrigen virtuellen Datenverarbeitungseinheiten verbunden, während im
anderen Extremfall alle virtuellen Datenverarbeitungseinheiten für die Dauer gleicher Zeitabschnitte
mit dem Rechenwerk 400 verbunden sind. Die Anordnung,
die diese Vielseitigkeit der Zuordnung ermöglicht, ist in den Fig. 11 bis 13 im einzelnen genau
dargestellt.
Zu Fig. 11:
stellt. Die Zuordnungssteuerung 418 wird mit Hilfe von Taktimpulsen betrieben. Die Puffereinheit 419
wird von einer Puffersteuereinheit 428 gesteuert. Der Kanal 408 ist über einen Kanal 429 mit dem Rechenwerk
400 verbunden. Die virtuellen Datenverarbeituneseinheiten P0 bis
P7 sind ferner mit einem als
Festwertspeicher ausgebildeten Speicher 430 ausgestattet. In einer bevorzugten Ausführung besteht der
Speicher 430 aus einem fest verdrahteten Diodenfeld
ίο für schnellen Zugriff.
Eine Speicheranordnung 431 dient der Datenübertragung
zwischen dem Kommunikationskanal 408, den Peripheriegeräten und weiteren Steuer- und
Datenkanälen. Bei dem hier beschriebenen Ausführungsbeispiel enthält die Steueranordnung 431 insgesamt
64 Register.
Die an dem Zeitteilbetrieb beteiligten Einheiten sind das Rechenwerk 400, der Speicher 430, die
Speicheranordnung 431 mit den Registern CR„ bis
»ο CR1 .. . und die Puffereinheit 419 mit den Ein-Wort-Pufferregistern
420 bis 427, wobei die Puffereinhcit 419 die Verbindung zwischen der peripheren Datenverarbeitungseinheit
11 und dem Zentralspeichcr herstellt.
»5 Der Speicher 430 enthält einen bestimmten Programmvorrat,
der mit Ausnahme eines Zugriffs von den Programmzählern der virtuellen Datenverarbeitungseinheiten
nicht zugänglich ist. Der Programmvorrat enthält ein Grundausführungsprogramm und
wenigstens ein Steuerprogramm für jedes Peripheriegerät, das an den Rechner angeschlossen ist. Die
Zykluszeit des Speichers 430 beträgt 20Nanosekundcn,
und er liefert einen Befehlsvorrat aus 32-Bit-Befehlen für die virtuellen Datenverarbeitungseinheiten
Pn bis P7. Die Kapazität des Speichers 430 betragt
für die Programme 1024 Wörter. Er ist in 256 Wortbaueinheiten unterteilt, so daß es möclich
Der Aufbau der peripheren Datenverarbeitungseinheit 11 ist aus Fig. 11 zu erkennen. Der Zenualspeicher
mit den Speichern 12 bis 15 ist mit semer
Speichersteuereinheit 18 verbunden, die ihrerseits
über den Kanal 32 mit der peripheren Datenvcrarbeitungseinheit
11 verbunden ist. Die virtuellen Datenverarbeitungseinheiten P0 bis P. sind über einen
Ausgangskanal 492 sowie über einen Einganeslana!
403 mit dem Rechenwerk 4W verbunden, überdies
sind sie über Kanäle 41· bis 417 mit einem Kommunikationskanal
498 verbunden. Eine Puffereinheit 419 der peripheren Datenverarbeitungseinheit 411 enthalt
acht einzelne Ein-Wort-Pufferregister 420 bis 427; jeweils eines dieser Pufferregister ist dabei einer der
virtuellen Datenverarbeitungseinheiten P, bis P. zugeordnet. Die virtuellen Datenverarbeittmgseinheiten
P0 bis P- sind mit einer Zuordnungssteuerung 418
versehen, die ein Teil der in F i g. 10 schematisch als
Zeiger dargestellten Schrittschaltvorrichruog 44Π dar
ist. Programmabschnitte abzuändern, ohne den gesamten
Speicher neu aufzubauen.
Die Superprogramme für die Peripheriegerate enthalten
Steuerfunktionen für die zu den Peripherie geraten gehörenden Pufferspeicher sowie Datenüber
tragung^funktionen. Auf diese Weise können mechanische
Bewegungsabläufe in den Peripheriegeräten direkt viu.~i.*h Programme cesteuert werden, und es
wird eine jeweils speziell für jedes Peripheriegera! eigene durchgeführte andere Festverdrahtung benötigt
Durch das Arbeitsprogramm können Parameter zur Variation eines Grundprogramms vorgesehen
werden Sokhe Parameter sind im Zentralspinchc
oder in Akkumulatorregistern der virtuellen Dnc·,
Ncrarbcituni^einheit, die das Programm ausführt
enthalten.
Die Befehle für die virtuellen Datenverarbeitung^
einheiter, können entweder aus dem Speicher 43f
oder aus dem Zentrakpeicher stammen. Der vor Programmzähler einer virtuellen Datenverarbeitunes
einheit adressierte Speicher wird durch die Adressie
rungsart gesteuert, die durch VerzweigungsbefehK oder durch Löschung des Systems modifiziert werder
kann Jede virtuelle Datenverarbeitungseinheit wire in der. Festwertspeicherbetrieb versetzt, wer.n da1
System gelöscht wird.
Wenn vom Zentralspeicher eine Pro^ranimfolpt
erhalten wird, dann wird diese von der Puffereinhei
419 aufgtnrmmen Da diese Puffereinheit derselh
Zwischenspeicher 1^t, der für Datentransporte zu unt
vom 7p"'ral<!":<-her benutzt wird, und da der Ζεη
tralspeicher größere Zugdfiszeiten als der Festwertspeicher
hat, werden also die Verarbeitungszeiten günstiger, wenn das Programm vom Speichel 430 erhalten
wird.
Ein Zeitabschnitt 0 kann einer der acht virtuellen Datenverarbeitungseinheiten durch einen Schalter auf
dem Bedienungspult zugeordnet werden. Diese Zuordnung kann durch das Programm nicht kontrolliert
werden. Die restlichen Zeitabschnitte sind anfänglich nicht zugeordnet. Deshalb arbeitet am Anfang nur
die virtuelle Datenverarbeitungseinheit, die durch den Schalter bestimmt wird. Da die Programmzähler aller
virtuellen Datenverarbeitungseinheiten P0 bis P7 ursprünglich
auf 0 stehen, beginnt die ausgewählte virtuelle Datenverarbeitungseinheit mit der Ausführung
ihres Programms, beginnend mit der Adresse 0 im Speicher 430. An dieser Adresse befindet sich ein
Einleitungsprogramm. Der Schalter auf dem Bedienuncspult bestimmt ebenfalls, welches der 8 Bits der
Speicheranordnung 431 durch ein von der Bedienungsperson ausgelöstes Einleitungssignal gesetzt
wird.
Die Puffereinheit 419 ermöglicht den Zugriff der virtuellen Datenverarbeitungseinheiten auf den Zentralspeicher
mit den Speichern 12 bis 15. Die Puffereinheit419
besteht aus acht 32-Bit-Datenregistern, acht 24-Bit-Adressenregistern und entsprechenden
Steuerkreisen. Von einer einzelnen virtuellen Datenverarbeitungseinheit
aus gesehen erscheint die Purlereinheit 419 lediglich als ein einzelnes Datenregister
und em einzelnes Adressenregister.
Die Puffereinheit 419 kann gleichzeitig bis zu acht Speicheranfragcn enthalten, nämlich eine Speicheranfrage
von jeder virtuellen Datenverarbeitungseinheit. Die Anfragen werden vorzugsweise so verarbeitet,
daß eine feste Prioritätssteuerung und eine Priori'ätssteuerung, bei der zuerst ankommende
Anfragen zuerst behandelt werden, kombiniert werden.
Vorzugsweise werden vier Prioritätsebenen festgelegt. Werden zwei oder mehr Anfragen aus
derselben Prioritätse'oene gestellt, dann werden sie
in der Reihenfolge bearbeitet, in der sie zeitlich erscheinen.
Wenn eine Anfrage zur Puffereinheit 419 gelaugt, so besitzt sie automatisch eine Prioritätszuordn'ing,
die durch den Zentralspeicher bestimmt ist; die Prioritätszuordnungen sind in einem Register der
Speicheranordnung 431 festgehalten. Die Prioritäten sind entsprechend der Nummer der jeweiligen virtuellen
Datenverarbeitungseinheit angeordnet; alle Anfragen von Seiten einer bestimmten virtuellen
Datenverarbeitungsnnheii erhalten die Prioritätszuordnung, die in 2 Bits des entsprechenden Registers
in der Speicheranordnung 431 verschlüsselt ist. Der Inhalt dieses Registers wird durch das Ausführungsprocramm
bestimmt; die Prioritätszuordnung für jede virtuelle Datenverarbeitungseinheit wird vom auszuführenden
Programm bestimmt. Zusätzlich zu diesen 2 l'rioriläts-Bits kann eine Zcitkennung mitverwendet
werden, damit die HiIIe gleicher Prioritätszuordnung
gelöst werden können.
Die Register in der Speicheranordnung 431 enti.ilicn
jeweils 32 Bits. Jedes Register kann von der \i;mcllen Datenverarbeitungseinheit adressiert werden,
und die Einheit, mit der es verbunden ist, kann ims dem Register lesen oder in das Register schreiben.
Die Register der Speicheranordnung 431 sind
Vi'ihindungsglicdcr zu allen Peripheriegerüten einschließlich
des Bedienungspults. Einige Parameter zur Steuerung des Rechnerbetriebs werden ebenfalls
in den Registern der Speicheranordnung 421 gespeichert, von denen aus die Steuerung erfolgt.
Zu Fig. 12:
ίο In der Speicheranordnung 431 sind vorzugsweise
als Fiip-Flop-Schaltungen ausgeführte Speicherelemente
enthalten, die nach Fig. 12 zwei Eingänge aufweisen. Ein Eingang ist mit der peripheren Datenverarbeitungseinheit
11 verbunden, während der andere Eingang einem Peripheriegerät zur Verfügung steht. Von der peripheren Datenverarbeitungseinheit
kommende Daten werden synchron mit dem Taktimpuls des Rechners in das Speicherelement eingegeben.
Eine Eingabe von Daten in das Speicher-
eietnsnt von einem Peripheriegerät kann durch
Zwischenschakungsanordnungen zwischen dem Peripheriegerät
und dem Speicherelement erfolgen; die Eingabe muß nicht notwendigerweise synchron mit
dem Rechnertakt erfolgen.
Zu Fig. 13:
In Fig. 13 ist eine Anordnung dargestellt, mit
deren Hilfe die verfügbare Zeit einer oder mehrerer der virtuellen Datenverarbeitungseinheiten P0 bis ; .
so zugeordnet werden kann, daß diese Datenverarbeitungseinheiten den anderen vorgezogen werden oder
umgekehrt so zugeordnet werden kann, daß die Zeil
auf alle virtuellerTDatenverarbeitungse'inheiten gleichmalM«
aufgeteilt wird.
Ute Steuerung der Verteilung der Zeitzuordnune
fir die einzelnen virtuellen Datetiverarbeitungs-Einheiten
Tn bis Γ. erfolgt mit Hilfe von zwei Speichersemnenten
431« und 431m aus der Speicheranordnung 431.
Diese von Registern gebildeten Speichersegmente haben jeweils eine Kapazität von 32 Bits; sie sind
in acht Abschnitte zu je 4 Bits unterteilt. So enthält beispielsweise ein Abschnitt 440 des Speichersegments
431 η 4 Bits α bis d, die jeweils an die Eingänge von
Und-Gattem 441 bis 444 angelegt sind. Ein Abschnitt 445 desselben Speichersegments enthält ebenfalls
4 Bits α bis d, die an die Eingänge von Und-Gattem
446 bis 449 angelegt sind. Das erste Und-Gatter am Ausgang jedes Abschnitts, an das das
Bit« angelegt ist, beispielsweise die Und-Gatter 441, 446 ist an den Eingang eines Oder-Gatters 450 ange-
schlossen. In entsprechender Weise sind alle Und-Gatter
442, 447 ..., an die die Bits b der Abschnitte angelegt sind, mit dem Ausgang an den Eingängen
eines Oder-Gatters 441 angeschlossen. Ebenso ist ein Oder-Gatter 452 an die Ausgänge der Und-Gatter
443, 448 angeschlossen, an die die Bits c der Abschnitte angelegt sind. Schließlich sind die Ausgänge
der Und-Gatter 444, 449 .. ., an die die Bits J angelegt sind, mit den Eingängen eines Oder-Gatters
453 verbunden.
Die Ausgänge der Oder-Gatter 450 bis 453 führen zu einem Register 454, dessen Ausgang mit einem
Decodierer 455 verbunden ist. Acht Ausgangsleitungcn 463 bis 470 des Decodierers steuern jeweils die
impi tung Rinj aufv erst<
gan; ist t des Unc viei mn
vie
c \ vei chi De de
Sp Ze
gr de fü dt
je Ii
d( k:
:ter
alls
alls
ge
η-er
η-er
Ein- und Ausgänge der virtuellen Datenverarbeitungseinheit P0 bis P7.
Die Zuordnungs-neuerung 418 empfängt Taktimpulse von einem Taktgeber 460 α über eine Leitung
460. Sie arbeitet vorzugsweise als 16-stufiger Ringzähler, bei dem jede Stufe eine Ausgangsleitung
aufweist. Die erste Ausgangsleitung 461 aus der ersten Stufe des Ringzählers führt zum zweiten Eingang
der Und-Gatter 441 bis 444. In gleicher Weise ist die zweite Ausgangsleitung 462 der zweiten Stufe to
des Ringzählers mit den zweiten Eingängen der Und-Gatter 446 bis 449 verbunden. Die restlichen
vierzehn Ausgangsleitungen der Zuordnungssteuerung 418 sind in entsprechender Weise mit jeweils
vier weiteren Und-Gattern verbunden. ,,
3 der 4 Bits des Abschnitts 440, nämlich die Bits b, c und d, kennzeichnen eine der virtuellen Datenverarbeitungseinheiten
P0 bis P7 durch ein entsprechendes
Signal auf einer der Ausgangsleitungen des Decodieren 455. Das vierte Bit, nämlich das Bit α ao
des Abschnitts 440, dient zur Freigabe bzw. zur Sperrung der Decodierung, so daß ein bestimmter
Zeitabschnitt frei, d. h. unbezogen bleiben kann.
Es ist zu erkennen, daß das Rechenwerk 400 über Kanäle 470 mit den Speichersegmenten 431m und as
431« verbunden ist, so daß das Rechenwerk programmgesteuert die gewünschten Zuordnungen in
den Speichersegmenten 431m und 431« durchführen kann. Entsprechend den Taktimpulsen auf
der Leitung 460 kann also der Decodierer 455 mit jedem Taktimpuls von einer virtuellen Datenverarbeitungseinheit
zur nächsten umschalten. Entsprechend dem Inhalt der Speichersegmente 431m und 431«
kann die gesamte Zeit einer der virtuellen Datenverarbeitungseinheiten zur Verfügung gestellt werden.
oder die Zeit kann je nach der in den Speichersegmenten 431m und 431« enthaltenen Codierung
gleichmäßig oder auch ungleichmäßig den virtuellen Datenverarbeitungseinheiten zugeteilt werden.
Aus der Betrachtung der Steuerleitungen am Ausgang des Decodierers 455 ist zu erkennen, daß die
zwischen den Speichersegmenten 431m, 431« liegenden Schaltkreise bitmäßig, also einzeln für jede
Informationseinheit dargestellt wurden. Im Gegensatz dazu ist die zwischen dem Decodierer 455 und dem
Rechenwerk 400 liegende Schaltung zur Steuerung der virtuellen Datenverarbeitungseinheiten nur in
Form von Blockschaltbildern dargestellt.
Ein Datenfluß auf der Leitung 478 kann durch entsprechende Signale auf den Ausgangsleitungen
463 bis 470 freigegeben oder verhindert werden. Im einzelnen führt die Ausgangsleitung 463 zu einer
Koinzidenzschaltung 490, an die auch die Leitung 478 angeschlossen ist. Eine Koinzidenzschaltung 500
ist mit der Ausgangsleitung der virtuellen Daten-Verarbeitungseinheit P0 und mit der Ausgangsleitung
463 verbunden. In gleicher Weise steuern Koinzidenzschal Hingen 491 bis 497 und 501 bis 507 die
übrigen virtuellen Datenverarbeitungseinheiten. Die Koinzidenzschaltungen 500 bis 507 speisen eine
Oder-Schaltung 508, deren Ausgang unmittelbar mit dem Rechenwerk 400 verbunden ist. Auf diese
Weise arbeitet gleichzeitig jeweils nur eine der virtuellen Datenverarbeitungseinheiten P0 bis P7, und die
Zuteilung der Zeit zu einer bestimmten virtuellen Datenverarbeitungseinheit erfolgt durch den Inhalt
der Abschnitte 440, 445 .. . entsprechend der Taktsteuerung durch die Zuordnungssteucrung 418.
Ablauf der Umschaltoperation
FF73: (»Laden«zur Zeit der Setzimpulse für FF71 und/oder FF 72)
Setzen FF73 = (Tastimpuls), wobei (Tastimpuls)
= verzögertes SCP-, SCW- oder »Fehler«-Signal ist.
Rücksetzen FF 73 = FF 73 · TF 71 · FF 72.
Rücksetzen FF 73 = FF 73 · TF 71 · FF 72.
FF 71: (»Anruf«, gesetzt durch SCP + SCW zur Anzeige der speziellen Programmsituation
für die zentrale Datenverarbeitungseinheit): Setzen FF 71 = FF 73 · FF7I · FF72 · c', wobei
c' = SCP + SCW.
Rücksetzen FF71 von Seiten der peripheren
Datenverarbeitungseinheit am Ende der Operation.
FF72: (»Schaltanforderung«, gesetzt durch SCW-f
»Fehler« zur Anzeige der speziellen Programmsituation der zentralen Datenverarbeitungseinheit):
Setzen FF 72 = FF 73 · (FFTl ■ FFTl ■ s';
wobei s" = SGW -J- »Fehler«.
Rücksetzen FF 72 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
Rücksetzen FF 72 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
FF 77: (»Anrufe-Kennzeichen):
Setzen FF 77 von Seiten der peripheren Datenverarbeitungseinheit
zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine An ruf operation durchzuführen ist.
Rücksetzen FF 77 von Seiten der periphereu Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation nicht durchzuführen ist.
Rücksetzen FF 77 von Seiten der periphereu Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation nicht durchzuführen ist.
(»Umschalt«-Kennzeichen):
Setzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation durchzuführen ist.
Rücksetzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation nicht durchzuführen ist.
Setzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation durchzuführen ist.
Rücksetzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation nicht durchzuführen ist.
FF75: (»Betriebserlaubnis«):
Setzen FF 75 von Seiten der peripheren Datenverarbeitungseinheit,
wenn ein Betrieb der zentralen Datenverarbeitungseinheit erwünscht ist.
Rücksetzen FF 75 = FF77 · FF 7J + FFW ·
FF72; d. h.: bei (FF77, FFtt) · (SCP, SCW,
Fehler), also bei fehlendem Kennzeichen von Seiten der peripheren Datenverarbeitungseinheit und bei Aufkommen einer entsprechenden
Anfrage von Seiten der zentralen Datenverarbeitungseinheit wird diese inaktiv
und abwartend.
FF80: (»Anrufen« befiehlt den Beginn der Anrufoperation
auf Seiten der zentralen Datenverarbeitungseinheit):
Setzen FF80 = FF77 · FF71.
Setzen FF80 = FF77 · FF71.
309532/456
Rücksetzen FF 80 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung
von FF 71 und FF 72.
FF 71: (»Umschalten« befiehlt den Beginn der Umschaltoperation
von Seiten der zentralen Datenverarbeitungseinheit):
Setzen FF 71 = FF 44 · FF 72. Rücksetzen FF 71 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung von FF 71 und FF 72.
Setzen FF 71 = FF 44 · FF 72. Rücksetzen FF 71 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung von FF 71 und FF 72.
FF74: (»Anruf ausgeführt« zur Rückmeldung an
die periphere Datenverarbeitungseinheit): Setzen FF74 = CCC.
34
Rücksetzen FF 74 von Seiten der peripheren
Datenverarbeitungseinheit nach Rückstellung vonFF71undFF72.
FF 78: (»Umschaltung ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungsemheit):
Setzen FF78 = PSC-MSC; wobei PSC die
Rückmeldung »Umschaltung ausgeführt« von der zentralen Datenverarbeitungseinheit
und MSC die Rückmeldung »Umschaltung ausgeführt« von der Speichersteuereinheit ist.
Rücksetzen FF 78 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung
von FF 71 und FF 72.
Tabelle II
77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172
77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172
1100100000 1100100000 1100100000
1100110000 110 0 110 0 0 1 110 110 0 0 0 1
110 110 0 10 1
1100110000 1100100010 1110101)010 1110101010 1100110000
1100100011 111110 0 0 11 111110 10 11
111110 1111
Neubeginn der peripheren Datenverarbeitungseinheit
»Fehler« —■+ S —* »Umschalten« »SCP« —>- C —>- »Anrufen«
»SCW« -y C sowie S-
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automatische Umschzllung und Anrufverarbeitung bei fortwährend betriebener zentraler Datenverarbeitungseinheit.
Bedeutung der Zeiten I bis VI:
warten auf eine Anfrage »SCP<c, »5CIP« oder
>Fehler« von der zentralen Datenverarbeitungsemheit, »Anrufen« sowie »Umschalten«
H Tastimpuls,
III Beschicken von FF71 und/oder FF72,
IV Beginn der Operation auf Seiten der peripheren Datenverarbeitungseinheit,
ν »Anruf ausgeführt«,
Vl »Umschaltung ausgeführt«.
Vl »Umschaltung ausgeführt«.
Zeit
I
I
II
III
III
Tabelle III
77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 7172
77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 7172
1000100000 1000100000 1000100000
A>
10 0 0 110 0 0 0 1000100001
10 0 10 0 0 0 0 1 1001000101
1000110000
1000100010
1000100010
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
1000110000 1000100011
1011000011 1011001011 1011001111
Neubeginn der peripheren Datenverarbeitungseinheit
»Fehler« -> S ->
»Umschalten« »SCP« ->
C -»- »Anrufen« »SCR« -v C sowie 5 -».
»Anrufen« sowie »Umschalten«
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automatische Anrufverarbeitung; verhinderte automatische Umschaltung, indem die zentrale Datenverarbeilungseinheit
nur so lange betrieben wird, bis von Seiten der zentralen Datenverarbeitungseinheit auf Umschaltung
angefragt wird.
Bedeutung der Spalten und Zeilen wie Tabelle II. Bemerkung zu *A«:
Die periphere Datenverarbeitungsemheit leitet eine (Pseudo)Umschaltung ein, indem FF79 auf »Ein« gesetzt
wird.
Bemerkung zu »B«:
Zwar wird hier FF80 auf die übliche Art gesetzt, wodurch eine automatische Anrufverarbeitung in Gang
kommt; die periphere Datenverarbeitungseinheit leitet aber infolge FF 44 eine (Pseudo)Umschaltung ein, indem
das FF 79 auf »Ein« gesetzt wird.
:ren 1Jn8
die irt« heit ung
ist ren ing
ing
itet
in
itet
in
35
Tabelle IV Parameter-Datei
SA Speicherstartadresse zum Auslesen
des Vektors A SB Speicherstartadresse zum Auslesen
des Vektors B SC Speicherstartadresse zum Einschreiben
des Vektors C NY Anzahl der Elemente
in einer fundamentalen Vektoroperation Λ7 Anzahl der Durchläufe
in der inneren Schleife Λ7 Φ Anzahl der Durchläufe
in der äußeren Schleife
J / Adresseninkrement für die innere Schleife ,V Φ Adresseninkrement für die äußere Schleife
Arbeits-Datei
AA Arbeitsadresse (laufende Adresse)
für Vektor A BB Arbeitsadresse (laufende Adresse)
für Vektor B CC Arbeitsadresse (laufende Adresse)
für Vektor C
VC laufende Zählung der Vektorkomponenten
IC laufende Zählung der Innenschleifen Φ C laufende Zählung der Außenschleifen
10
Speicherplatzbelegung zur Durchführung einer Multiplikation
zweier Determinanten dntttn Grades^
15
Speicherstelle für Determinante A |
+ 1 | au | Speicherstelle für Determinante B |
Speicherstelle
für Determinante C |
cu |
k | -4- 2 | «12 | I bu | m | cI2 |
k | + 3 | au | l+l K1 | m+1 | C13 |
k | + 4 | «21 | 1 + 2 b31 ν | m+2 | c2i |
k | + 5 | «22 | 1 + 3 i>12 | m + 3 | 22 |
t K |
+ 6 | «23 | / + 4 K2 | m + 4 | Cj3 |
k | Λ-1 | fl31 | 1 + 5 532 | m + 5 | C3I |
k | + 8 | «32 | 1 + 6 bl3 | m + 6 | C32 |
lz | <h.1 | 1+7 A23 | m + 1 | C33 | |
k | / + 8 b3i | m + 8 | |||
ame A ist reihenmäßig auf die Speicherswllen
k bis k + 8 verteilt; .
die Determinante B ist spaltenmäßig auf die Speichernden
I bis .' + 8 verteilt;
die Determinante C ist reihenmäßig auf die Speicherstellen
m bis m + 8 verteilt.
Zu Beginn der Multiplikation wird:
SA =k NV = 3 J/ = l
5B = / N/= 3 ^=3
SC = m ΝΦ = 3
Adressen- und Steuerungsablauf für die Determinante A zur Durchführung der Multiplikation
gemäß Tabelle V
Schritt | NI | Operation |
NV-
ΝΦ- |
1-v 1-y |
VC
Φ C |
ve | ic | ΦΟ | A Adresse |
1 |
AA
VC |
SA-* AA
-1-*IC |
2 | 2 | k | ||||
2 |
AA
VC |
+ 1-*AA
-1-*VC |
1 | 2 | 2 | k+l | |||
3 | IC |
+ 1-*AA
-1-*VC |
NV- | VC | 0 | 2 | 2 | k + 2 | |
4 |
AA
VC |
SA -+ AA
-1-+IC |
2 | 1 | 2 | k | |||
5 |
AA
VC |
+ 1-+AA
-1-+VC |
1 | 1 | 2 | k+ 1 | |||
6 | IC |
+ 1-+AA
-1-+VC |
NV- | 1-* | VC | 0 | 1 | 2 | k + 2 |
7 |
AA
VC |
SA-* AA
-1-*1C |
2 | 0 | 2 | k | |||
8 |
AA
VC |
+ 1-+AA
-1-*VC |
1 | 0 | 2 | k+l | |||
9 |
SA
+
Nl |
+ 1-*AA
-1-*VC |
ΔΦ-+ΑΑ,$Α NV-
-1-+IC ΦC- |
1-* 1 — |
VC
ΦC |
0 | 0 | 2 | k + 2 |
10 |
AA
VC |
+ 1-+AA
-1-+VC |
2 | 2 | 1 | k + 3 | |||
11 | 1 | 2 | 1 | Jt + 4 | |||||
AA
VC |
37 | Operation | NV | NV | 1 934 441 | VC | O)A | 38 | ΦC | A Adresse | |
IC |
+ 1-+AA
-1-+VC |
0 | 1 | Jfc + 5 | |||||||
AA
VC |
SA -+AA
-1-+IC |
2 | 1 | k + 3 | |||||||
Schritt |
AA
VC |
+ 1-+AA
-1-+VC |
NV | NV | (Tabelle VI Fortsetzung) | 1 | ic | 1 | Jfc + 4 | ||
12 | IC |
+ 1^AA
-1-+VC |
0 | 2 | 1 | Jfc + 5 | |||||
13 |
AA
VC |
SA-+AA - 1 -+ IC |
2 | 1 | 1 | k + 3 | |||||
14 |
AA
VC |
+ 1-+AA
-1-+VC |
ΔΦ-+ΑΑ,5Α NV
-1-+IC ΦC |
-1-+VC | 1 | 1 | 1 | Jfc + 4 | |||
15 |
SA +
Nl |
+ 1-+AA
-1-+VC |
+ 1-+AA
-1-+VC |
0 | 1 | 1 | Jfc + 5 | ||||
16 |
AA
VC |
+ 1-+AA
- 1-+VC |
2 | 0 | 0 | Jfc + 6 | |||||
17 |
AA
VC |
SA-+AA -1^/C |
-l^VC | 1 | 0 | 0 | |||||
18 | IC | + 1-+AA | 0 | 0 | 0 | ||||||
19 | AA |
+ 1-+AA
-1-+VC |
2 | 2 | 0 | ||||||
20 |
AA
VC |
SA-^AA
-1-+IC |
-1-+VC
-l-+ΦC |
1 | 2 | 0 | |||||
21 | IC |
+ l^AA
-1-+VC |
0 | 2 | 0 | ||||||
22 |
AA
VC |
+ 1-+AA
-1->VC |
2 | 1 | 0 | ||||||
23 |
AA
VC |
-1-+VC | 1 | 1 | 0 | ||||||
24 | 0 | 1 | 0 | ||||||||
25 | 0 | ||||||||||
26 | -l^VC | 0 | |||||||||
27 | 0 | ||||||||||
Jfc + 7 | |||||||||||
Jfc + 8 | |||||||||||
k + 6 | |||||||||||
k + 1 | |||||||||||
Jfc+8 | |||||||||||
Jfc+6 | |||||||||||
Jfc + 7 | |||||||||||
fc+8 | |||||||||||
Tabelle VII Beispiel für Gleitkommaadditionen im Rechenwerk 101
β,,δ, | Zeit | "z>bs | U | |
Subtraktion des Exponenten ... Ausrichtung der Mantissen Addition der Mantissen Nachnormalisjenmg des Resultats |
ff ff | «rb[ | ||
Im selben Rechenwerk befinden sich zur Zeit J4 vier verschiedene Wortpaare α,, 6,; i = 1 -^- 4 in vier
verschiedenen Bearbeitungsstafen!
Hierzu 2 Blatt Zeichnungen
Claims (10)
1. Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner zur Ausführung von Rechnungen
an Operanden, dadurch gekennzeichnet, daß wenigstens ein Rechenwerksabschnitt
(300 Λ, 300B) vorgesehen ist, der mehrere Funktionseinheiten
(302, 304, 306, 308, 310, 311. 312, 314 bzw. 330, 332, 334, 336, 338, 240, 341, 345)
enthält, die jeweils zur Ausführung einer bestimmten Operation an Operanden befähigt sind,
daß ausgewählte Funktionseinheiten abhängig von Befehlen in dem Rechenwerksabschnitt zu
verschiedenartigen Serienschaltungen verbindbar siDd, und daß die Operanden zwecks gleichzeitiger
Bearbeitung in den Funktionseinheiten in Taktperioden durch die jeweils gebildete
Serienschaltung transportiert werden.
2. Rechenwerk nach Anspruch 1, dadurch gekennzeichnet,
daß die genannten Befehle Programm- oder Maschinenbefehle für die Durchführung
von Rechnungen an Operanden sind und daß die Funktionseinheiten zu einer oder mehreren
zur Durchführung jedes Programm- oder Maschinenbefehls notwendigen Serienschalrungen
verbunden werden.
3. Rechenwerk nach Anspruch 2, dadurch gekennzeichnet, daß Programm- oder Maschinenbefehle
die Befehle für die Durchführung von Vektorrechnungen und die Operanden Vektoroperanden
sind.
4. Rechenwerk nach Anspruch 3, dadurch gekennzeichnet, daß zu den Funktionseinheiten eine
Addiereinheit (306) zum Addieren von Vektoroperanden, eine Exponentensubtraktionseinheit
(302) zum Subtrahieren eines Exponenten der Vektoroperanden, eine Ausrichteinheit (304) zum
Ausrichten von Vektoroperanden, eine Multipliziereinheit (312) zum Multiplizieren von Vektoroperanden,
eine Normalisierungseinheit (308) zum Normalisieren von Vektoroperanden, ein Akkumulator
(314) zum Sammeln von Vektoroperanden und/oder eine Ausgabeeinheit (310) zum
Ausgeben von entsprechend den Programm- oder Maschinenbefehlen bearbeiteten Operanden gehören.
5. Rechenwerk nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß alle
Funktionseinheiten durch Kanäle (313, 315, 316, 318, 319, 321, 323 bis 328, 331, 333, 335, 337,
342 bis 344, 346 bis 348, 351 bis 353) zu allen gewünschten Serienschaltungen verbunden sind,
und daß Torschaltungen zum öffnen und Schließen der Kanäle in Abhängigkeit von den Befehlen
vorgesehen sind.
6. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen synchronisierenden
Taktgeber zur Steuerung des Operandentransports.
7. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch mehrere
Rechenwerksabschnitte (300/1, 3005), die wahlweise derart miteinander verbindbar sind, daß sie
gleichzeitig parallel zueinander verschiedene Operanden bearbeiten.
8. Rechenwerk nach Anspruch 7, dadurch ge-
kennzeichnet, daß die parallelen Rechenwerksabschnitte (300 Λ, 300B) wahlweise derart miteinander
verbindbar (Kanäle 317, 322, 350, 355) sind, daß sie einzelne Operanden bearbeiten,
deren Länge die Aufnahmefähigkeit eines einzelnen Rechenwerksabschnitts überschreiten.
9. Rechenwerk nach Anspruch 7 oder 8 für die Durchführung von Gleitkommaadditionen von
Operanden, dadurch gekennzeichnet, daß jeder Rechenwerksabschnitt (3(MM, 300B) mit einer
Addiereinheit (306, 334) und einer Multipliziereinheit (312, 341) zur Erzeugung einer Pseudosuinme
und eines PseudoÜbertrags in jedem R.echenwerksabschnitt bei einem Taktimpuls ausgestattet
ist, daß zwischen dem Ausgang der einen Multipliziereinheit (312) und der Addiereinheit
(306) in dem einen Abschnitt eine programmgesteuerte Verbindung (313) vorgesehen
ist und daß zwischen dem Ausgang der anderen Multipliziereinheit (341) und den Addiereinheiten
in beiden Rechenwerksabschnitten eine programmgesteuerte Verbindung (322, 353) angebracht
ist, so daß wahlweise Multiplikationsprodukte mit einfacher oder mit doppelter Wortlänge
erzeugt werden können.
10. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Befehlsabrufeeinheit
(128), einen Befehlspufferspeicher (127a) und eine Steuereinheit (127). die zur gleichzeitigen Vorbereitung der Verarbeitung
mehrerer verschiedener Befehle hintereinander geschaltet sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74357368A | 1968-07-09 | 1968-07-09 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1934441A1 DE1934441A1 (de) | 1970-01-15 |
DE1934441B2 true DE1934441B2 (de) | 1973-08-09 |
DE1934441C3 DE1934441C3 (de) | 1974-03-28 |
Family
ID=24989309
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19691934441 Expired DE1934441C3 (de) | 1968-07-09 | 1969-07-07 | Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner |
Country Status (7)
Country | Link |
---|---|
JP (1) | JPS505541B1 (de) |
BE (1) | BE735857A (de) |
CA (1) | CA926016A (de) |
DE (1) | DE1934441C3 (de) |
FR (1) | FR2012589A1 (de) |
GB (1) | GB1278102A (de) |
NL (1) | NL6910537A (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2724125A1 (de) * | 1976-07-02 | 1978-01-12 | Floating Point Syst | Gleitkomma-datenverarbeitungsgeraet |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS51115841U (de) * | 1975-03-14 | 1976-09-20 | ||
GB2144245B (en) * | 1983-07-28 | 1987-07-29 | Secr Defence | A digital data processor for matrix/matrix multiplication |
GB8320362D0 (en) * | 1983-07-28 | 1983-09-01 | Secr Defence | Digital data processor |
-
1969
- 1969-06-03 CA CA053346A patent/CA926016A/en not_active Expired
- 1969-06-12 GB GB2985469A patent/GB1278102A/en not_active Expired
- 1969-07-07 DE DE19691934441 patent/DE1934441C3/de not_active Expired
- 1969-07-08 JP JP44053548A patent/JPS505541B1/ja active Pending
- 1969-07-09 NL NL6910537A patent/NL6910537A/xx unknown
- 1969-07-09 FR FR6923317A patent/FR2012589A1/fr active Pending
- 1969-07-09 BE BE735857D patent/BE735857A/xx unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2724125A1 (de) * | 1976-07-02 | 1978-01-12 | Floating Point Syst | Gleitkomma-datenverarbeitungsgeraet |
Also Published As
Publication number | Publication date |
---|---|
GB1278102A (en) | 1972-06-14 |
BE735857A (de) | 1969-12-16 |
CA926016A (en) | 1973-05-08 |
DE1934441A1 (de) | 1970-01-15 |
JPS505541B1 (de) | 1975-03-05 |
NL6910537A (de) | 1970-01-13 |
FR2012589A1 (de) | 1970-03-20 |
DE1934441C3 (de) | 1974-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1934365C3 (de) | Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage | |
DE2724125C2 (de) | ||
DE1942005B2 (de) | Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten | |
DE2704842C2 (de) | Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung | |
DE1524103C3 (de) | Datenverarbeitungsgerät | |
DE1178623C2 (de) | Programmgesteuerte datenverarbeitende Maschine | |
DE1813916C3 (de) | Elektronische Datenverarbeitungsanlage | |
DE2735814C2 (de) | Nach dem Pipelineprinzip arbeitende Datenverarbeitungseinrichtung | |
DE2353258C2 (de) | Datenverarbeitungsanlage | |
DE2753062C2 (de) | Einrichtung zur wiederholten Durchführung von Programmschleifen | |
DE1549476C3 (de) | Anordnung zur Ausführung von Divisionen | |
DE1181461B (de) | Adressenaddierwerk einer programm-gesteuerten Rechenmaschine | |
DE1282337B (de) | Programmgesteuerte elektronische Rechenanlage | |
DE1200581B (de) | Programmunterbrechungssystem fuer eine elektronische Rechenmaschine | |
DE1549480A1 (de) | Datenverarbeitungsanlage | |
CH644461A5 (de) | Digitale multipliziereinrichtung. | |
DE3507584C2 (de) | ||
DE1499281B1 (de) | Rechenmaschine fuer logarithmische Rechnungen | |
DE1171650B (de) | Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung | |
EP0265555B1 (de) | Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen | |
DE1934441B2 (de) | Befehlswerkgesteuertes rechenwerk fuer einen digitalrechner | |
DE1132747B (de) | Elektronische Rechenmaschine | |
DE1184122B (de) | Addiervorrichtung | |
DE3535215A1 (de) | Verfahren und schaltungsanordnung zum lesen von daten aus dem speicher einer datenverarbeitungsanlage | |
DE1934439C3 (de) | Digital-Rechner zur Verarbeitung von Vektorfeldern |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |