DE1942005B2 - Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten - Google Patents

Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten

Info

Publication number
DE1942005B2
DE1942005B2 DE19691942005 DE1942005A DE1942005B2 DE 1942005 B2 DE1942005 B2 DE 1942005B2 DE 19691942005 DE19691942005 DE 19691942005 DE 1942005 A DE1942005 A DE 1942005A DE 1942005 B2 DE1942005 B2 DE 1942005B2
Authority
DE
Germany
Prior art keywords
data processing
processing unit
unit
memory
central
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.)
Ceased
Application number
DE19691942005
Other languages
English (en)
Other versions
DE1942005A1 (de
Inventor
William Joseph Husband Edwin Howard Richardson Tex Watson (V St A)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Texas Instruments Inc
Original Assignee
Texas Instruments Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Texas Instruments Inc filed Critical Texas Instruments Inc
Publication of DE1942005A1 publication Critical patent/DE1942005A1/de
Publication of DE1942005B2 publication Critical patent/DE1942005B2/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors

Description

35 und den virtuellen Datenverarbeitungseinheiten (P0 bis P7) logische Schaltkreise (441 bis 453) sowie ein Decodierer (455) vorgesehen sind, wobei die Verbindung zwischen den Speichersegmenten (440, 445, 431/1, 431m) und dem Decodierer (455) durch einen dieser logischen Schaltkreise (441 bis 453) unter Steuerung durch die Schrittschaltvorrichtung (401) herstellbar ist.
11. Datenverarbeitungsanlage nach Anspruch 10. dadurch gekennzeichnet, daß die Speichersegmente (440~ 445, 431/1, 431 m) durch die Schrittschaltvorrichtung (401) nacheinander mit dem Decodierer (455) verbindbar sind.
12. Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß jede der virtuellen Datenverarbeitungseinheiten (P0 bis P7) eine Speichereinrichtung zum Speichern von digitalen Daten und Operationsbefehlen enthält, und daß die Unterverarbeitungseinheit (400) ein Rechenwerk ist, das an den digitalen Daten entsprechend den Operationsbefehlen Rechenoperationen ausführt.
13. Datenverarbeitungsanlage nach Anspruch
12, gekennzeichnet durch einen Zentralspeicher (12 bis 15) und einen gemeinsamen Kanal (408) zwischen dem Zentralspeiche« (18), dem Rechenwerk (400) und den virtuellen Datenverarbeitungseinheiten (P0 bis P7).
14. Datenverarbeitungsanlage nach Anspruch
13, dadurch gekennzeichnet, daß die Datenverarbeitungsanordnung (11) für jede virtuelle Datenverarbeitungseinheit (P0 bis P7) ein Ein-Wort-Pufferregister (420 bis 427) zur Datenübertratung zwischen dem Zentralspeicher (18) und der virtuellen Datenverarbeitungseinheit (P0 bis P7) aufweist.
40 Die Erfindung bezieht sich auf eine Datenverarbeitungsanlage zur Aufnahme und Abgabe von digitalen Daten und zur Ausführung von Operationen an den Daten, mit einer Datenverarbeitungseinheit, die mehrere virtuelle Datenverarbeitungseinheiten enthält, die jeweils in Verbindung mit einer im Zeitteilbetrieb arbeitenden Unterverarbeitungseinheit eine vollständige Datenverarbeitungseinheit bilden.
Aus der USA.-Patentschrift 3 346 851 ist bekannt, einen Rechner mit mehreren peripheren Datenverarbeitungseinheiten auszustatten, die parallel arbeiten können, so daß die Peripheriegeräts und die zentrale Datenverarbeitungseinheit besser ausgenutzi werden können. Nachteilig erweist sich dabei jedoch der hohe Aufwand an fest verdrahteten Bauteilen selbst wenn diese in Festkörpertechnik ausgeführ sind.
Ferner ist es aus dieser USA.-Patentschrif 346 851 bekannt, die einzelnen peripheren Datenverarbeitungseinheiten im Zeitteilbetrieb mit Hilf« eines vorzugsweise elektronisch ausgeführten Multi plexers einzusetzen. Bei diesem bekannten Zeitteil betrieb werden jedoch feste Zeitzuordnungen zwi sehen einzelnen Peripheriegeräten und einer zentraler Datenverarbeitungseinheit des Rechners getroffen; e ist somit nicht möglich, bestimmte periphere Einher ten vorrangig, andere dagegen weniger bevorzugt ein zusetzen.
Der Erfindung liegt die Aufgabe zugrunde, eine Datenverarbeitungsanlage der eingangs angegebenen Art derart auszugestalten, daß die beim Zeitteilbetrieb auftretende Zeitzuordnung variabel wird.
Erfindungsgemäß ist die Datenverarbeitungsanlage zur Lösung dieser Aufgabe gekennzeichnet durch eine abhängig von DUen arbeitende Steueranordnung, welche ausgewählte virtuelle Datenverarbeitungseinheiten der Reihe nach mit der Unterverarbeitungseinheit jeweils für ausgewählte Zeitintervalle verbindet.
Mit Hilfe der erfindungsgemäßen Datenverarbeitungsanlage ist es möglich, die Zeitintervalle, in denen die virtuellen Datenverarbeitungseinheiten mit der Unterverarbeitungseinheit verbunden sind, in Abhängigkeit von Daten so zu verändern, daß in einem Extremfall beispielsweise eine der virtuellen Datenverarbeitungseinheiten ständig mit der Unterverarbeitungseinheit verbunden ist. während es im anderen Extremfall möglich ist, allen virtuellen. Datenverarbeitungseinheiten die gleiche Zeitspanne für die Verbindung mit der Unterverarbeitungseinheit zuzuordnen. Auf diese Weise ';,t die vollständige Datenverarbeitungseinheit ständig in optimaler Weise an die zu bearbeitende Aufgabe angepaßt.
In weiteren Ausgestaltungen der Erfindung ist die Steueranordnung von Daten abhängig, die von einem veränderbaren Speicherprogramm, aus einem Speicher, aus der Unterverarbeitungseinheit oder von einem von der Bedienungsperson zu betätigenden Schalter stammen.
Eine weitere vorteilhafte Ausgestaltung der Erfindung besteht darin, daß die Steueranordnung eine Schrittzahlvorrichtung mit mehreren Schaltzuständen enthält, und daß ausgewählte virtuelle Datenverbeitungseinheiten jeweils einer beliebigen Anzahl dieser Schaltzustände zugeordnet werden können. Die Zuordnung einer längeren Betriebszeit zu einer der virtuellen Datenverarbeitungseinheiten kann bei dieser Weiterbildung der Erfindung dadurch erreicht werden, daß beispielsweise zwei oder drei hintereinanderliegende Schaitzustände der gleichen virtuellen Datenverarbeitungseinheit zugeordnet werden. Wenn die in der Steueranordnung enthaltene Schrit'schaltvorrichtung dann die Schaitzustände durchläuft, dann Keibt die in zwei oder drei Schaltzuständen zugeordnete virtuelle Datenverarbeitungseinheit für die Dauer des Durchlaufs dieser zwei oder drei Schaltzustände mit der Unterverarbeitungseinheit verbunden. In entsprechender Weise können auch andere virtuelle Datenverarbeitungseinheiten einem oder mehreren dieser Schaltzustände entsprechend der beabsichtigten Dauer der Verbindung der jeweiligen virtuellen Datenverarbeitungseinheiten mit der Unterverarbeitungseinheit zugeordnet werden.
Nachfolgend wird ein Anwendungsbeispiel der Er findung an Hand 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,
Fig. 3 ein Blockschaltbild zur Darstellung einer Umschaltanordnung zwischen einer zentralen Datenverarbeitungseinheit und einer peripheren Datenverarbeitungseinheit der Fi g. 1 und 2,
Fig. 4 ein ausführlicheres Blockschaltbild der Umschaltanor.Jnung von F i g. 3,
Fig. 5 ein Diagramm zur Darstellung einer Betriebsweise der zentralen Datenverarbeitungseinheit gemäß F i g. 1 1/ls 4,
Fig. 6 eine Puffereinheit zam Eingeben beispielsweise von Vektordaten in einen Rechner.
F;g. 7 ein Blockschaltbild der zentralen Datenverarbeitungseinheit gemäß Fi g. 1 bis 4.
S F i g. 8 ein aus zwei Abschnitten aufgebautes Rechenwerk in der zentralen Datenverarbeitungseinheit,
Fig. 9 Baueinheiten innerhalb der zentralen Datenverarbeitungseinheit zur Durchführung der Umschaltung mit Hilfe der in den Fig. 3 und 4 dargestellten Umschaltanordnung.
Fig. 10 eine Darstellung zur Veranschaulichung des Zeitteilbetriebs zwischen virtuellen Datenverarbeitungseinheiten innerhalb der peripheren Daten-Verarbeitungseinheit 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 Fig. 11 gezeigten Zuoronungssteuerung.
In der nachfolgenden Beschreibung eines Anwendungsbeispiels der Erfindung wird die Zusammenarbeit einzelner Einheiten innerhalb eines vorzugsweise zur Verarbeitung wissenschaftlicher Daten aus gelegten 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 160Nar.o-
Sekunden 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 Wortkapazität von 16 384 Wörtern. Ein Wort besteht aus 32 Bits. 256 Bits =8-32 Bits = S Wörter heißen »Wort gruppe«, was bedeutet, daß 2048 Wortgruppen 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 Spi-ichersteuereinheit 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 Spei-
chersteuereinheit 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 Nano-
Sekunden 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 ßildschirmkonsolc enthält zwei Bedienungspulte, die mit der peripheren Datenverarbeitungseinheit 11 gekoppelt sind und zwei Bildschirme von Zweistrahl-Kathodenstrahlröhren ent- halten. Die Bedienungspulte bilden nicht nur die Steuereinheit für die Bildschirmkonsole 28, sondern auch für den Kartenleser 19, den Kartenstanzer 20, den Zeilendrucker 27 und die Bandspeicher 21 bis 26. Über die Bedienungspulte kann eine Bcdie- ao nungsperson 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 Grund der erzielten Fortschritte in ihrem weiteren Ablau4 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 in F i g. 1 dargestellten Rechner mehrere Speicherhierarchien vorgesehen. Beispielsweise gibt es die vier folgenden Hierachien: 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 b) 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.
Der Rechner von Fig. 1 verfügt über mehrere 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 solche» Untersystem besteht in einer automatischen Umschaltandung 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 iö d« 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 Verarbeitangsgeschwindigkeit wesentlich erhöht wird.
Ein nächstes solches Untersystem betrifft ein Parauelrechenwerk mit hoher Verarbeitungsgeschwintägkeit nut Flexibilität, in dem Operanden in ein» Art von Fließbandverfahren verarbeitet werden.
Ein weiteres solches Untersystem schließlich betrifft das Arbeiten mehrerer virtueller Datenvjrarbei- tungseinheiten innerhalb der peripheren Datenverarbeitungseinheit 11 in einem Zeitteilverfahren.
Zu Fig. 2:
Die Organisation des Rechners vpn Fig. 1 ist durch eine Erläuterung der im Blockschaltbild von Fig. 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 Trommelsteuereinhcit 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 entsprechenden 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 gefördert wird. Im Kanal 29 werden dagegen gleichzeitig 8 Wörter, also eine Wortgruppe, zwischen der Spei' ^ersteuereinheit 18 und der Platten- und Trommelsteuereinheit 30 transportiert.
Der Anschluß eines Trommelspeichers 31 an die Platten- und Trommelsteuersinheit 30 zur Erhöhung der Speicherkapazität mi; mittlerer Zugrifffszcit könnte über einen weiteren bidirektionalen Kanal erfolgen.
Ein weiterer Kanal zur simultanen Übertragung von 256 Bits ist der bidirektionale Kanal 32 zwischen der Speichersteuereinheit 18 und der peripheren Datenverarbeitungseinheit 11, der je eine Wortgruppe zwischen dem Zentralspeicher und der peripheren Datenverarbeitungseinheit 11 über die Speichersteuereinheit 18 transportiert.
Wie oben bereits angedeutet wurde, dient die periphere Datenverarbeitungseinheit 11 als Mehrzweckrechner, dem unter anderem die Steuerung des Datenflusses 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 *Jaten regenerativ wieder eingespeichert werden, während nur eines der acht Wörter einer Woruppe in der penpneren uawiiVctameiuingncniBett 11 venuueitet wird. Dies erwebt sieb schon deshalb als notwendig, da von der peripheren Datenverarbeitungseinheit 11 infolge der mehr oder weniger langsam arbeitenden Peripberiegeräte nur jeweils ein Wort aus der Achtogrppe (maxima]) benötigt wird. Eine typische Größe der Datenuberaggsgeschwindigkeit für die Übertragung vou Daten innerhalb der perpheren Datenverarbeitungseinheil 11 für ein Peripheriegerät liegt bei etwa 100000 Worten? pro Sekunde.
Die periphere Datebgsemheh 11 enthält acht virtuelle Datenverarbettungseinlieiten, von denen die Mehrzahl so programmiert werden kann, daß jede beliebige virtuelle Danebetuugseinhe^ mit jedem beliebigen Peripher°-erät gekoppelt werden kann. Die periphere Datenverarbertnngsemheit Il arbeitet mit Hilfe der virtuellen Datenveiarbcitungsemhehen rechend dem im Zentislspeicher
(ο
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 Datenverarbeitung-.;inheit 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 Befehlsketten 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 Speicher-Steuereinheit 18 und dem Rechenwerk innerhalb der zentralen Datenverarbeitungseinheit 10 Puffer vorgesehen sind, die solche zur Bildung der erforder-
innen uv.it.ii>M.m.ii in.11u11gu.11 i«ni\ii>i>i.iv.iiik einhalten 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 Datenverarbeitungseinheiten 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 IS 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 Zentrr.1-speicher in einer gewünschten Reihenfolge beantwortet «erden können. So werden Anfragen von des an die Kanäle 29, 32, 33 und 34 unmittelbar angrenzenden Einheiten vorzugsweise in dieser Reihenfolge and vorrangiger behandelt als Anfragen von solchen Einheiten, die nachgeschaitet 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 periphere Datenverarbeitungseipheit 11 mit der zentralen Datenverarbeitungseinheit 10 verbindet Mh Hilfe dieser Umschaltanordnung ist es möglich, den Zeithaushalt der zentralen Dateaverarbeitungseinheh 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 Aufgabe zukommt, den Ablauf der in der zentralen Datenverarbeitungseinheit 10 wirksam werdenden Benutzerprogramme planerisch festzulegen.
Durch zwei verschiedene Signale können die in der zentralen Datenverarbeitungseinheit 10 ausgeführten Benutzerprogramme von der peripheren Datenverarbeitungseinheit 11 periphere Dienstleistungen anfordern. Diese Signale haben die Bezeichnungen 5CP und SCW. Das Signal 5CP kommt dann im Benutzerprogramm vor, wenn es möglich ist, in der Verarbeitung dieses Programms fortzufahren, ohne den Vollzug der angeforderten peripheren Dienstleistung von Seiten der peripheren Datenverarbei-
a5 tungseinheit 11 abzuwarten. Die periphere Datenverarbeitungseinheit 11 wird also auf Grund der entsprechend gestellten Anforderung Daten, Adressen oder ein ganzes Programm sicherstellen bzw. zusammenstellen, welche im weiteren Ablauf des innerhalb der zentralen Datenverarbeitungseinheit weiterverarbeiteten gleichen Benutzerprogramms erforder-
i:,u ι-—
neu wciuiii
-v: :—ι
/aiviivtiaitniiuiig3cii!iii;u
11 überträgt dann das angeforderte Datenmaterial bei passender Gelegenheit. Das Signal SCP wird, wie in F i g. 3 dargestellt ist, über eine Ausgangsleitung 41 von der zentralen Datenverarbeitungseinheit 10 zur peripheren Datenverarbeitungseinheit 11 übertragen.
Das Signal 5CW wird dagegen dann 'ron einem Benutzerprogramm ausgegeben, wenn dieses nicht weiter ablaufen kann, ohne die von der peripheren Datenverarbeitungseinheit 11 angeforderte periphere Dienstleistung erhalten zu haben. Das Signal SCW wird über eine Ausgangsleitung 42 aus der zentralen
*5 Datenverarbeitungseinheit 10 an die in Fig. 3 zwischen der zentralen Datenverarbeitungseinheit 10 und der peripheren Datenverarbeitungseinheit 11 liegende eigentliche Umschaltanordnung angelegt.
Die periphere Datenverarbeitungseinheit 11 untersucht die innerhalb der zentralen DatenverarbeitungssinheitiO get ade unterbrochenen und nicht weiter ablaufenden Programme daraufhin, welches von der zentralen Datenvretgseinheit 10 weiterverarbeitet werden sollte. Hat sie ein solches Programm
SS gefunden, dann setzt die periphere Datenverarbeitungsciiihtii ü eine Schal ikenoieicheiieinrichtung44, die hier als Flip-Flop-Schaltung dargestellt ist Wird Bun in 'Jer Tentraien Datenverarheitnmwmhpit 10 beim Ailauf eines in ihr verarbeiteten Benutzerpro-
gramms ein Signal SCW gefunden, dann entsteht über die Und-Gatter43 auf einer Leitung 45 ein Signal »Umschalten«, wenn auch die Schaltkennzeichenvorrichtung 44 gesetzt ist Das Signal »Umschalten« verursacht in der zentralen Datenverarbeitungseinheit 10
6s die Durchführungen der erforderlichen Umschaltung von dem BenutZeiprogr^sun, das zu einem Signal SCW geführt hat, zu dem Programm, das von der peripheren Datenverarbeitungseinheit 11 aus den in
309534/399
9 10
Reserve befindlichen Programmen als das Programm Verarbeitungseinheit 11 enthält also in F i g. 4 auf der
ausgewählt worden ist, das als nächstes an die Reihe linken Sehu einer gestrichelten, senkrechten Linie
kommt. eine Umschaltanordnung als Ausgangsteil, während
Im einzelnen spielt sich bei diesem Vorgang fol- auf der rechten Seite der gestrichelten Linie die
gendes ab: Wenn die Schaltkennzeichenvorrichtung 5 eigentlichen Schaltungsanordnungen der peripheren
44 gesetzt ist, kann beim Auftreten eines Signals SCW Datenverarbeitungseinheit liegen, von denen jedoch
von Seiten der zentralen Datenverarbeitungseinheit nur Anschlüsse dargestellt sind.
10 über das Und-Gatter 43 das Signal »Umschalten« Die Ausgangsleitungen 41 und 42 für die Signale auf der Leitung 45 zur zentralen Datenverarbeitungs- 5CF und SCW führen von der zentralen Datenvereinheit 10 gelangen und dieser anzeigen, daß sie an io arbeitungseinheit 10 zur peripheren Datenverarbei-Stelle des Programms, das zur Abgabe des Signals tungseinheit 11. Für diese Übertragung ist ein Öder- SCW geführt hat und das sich nun voi'.er in Warte- Gatter 50 vorgesehen, an dessen Eingänge die Signale stellung befindet, ein anderes, bisher in Reserve be- SCP und SCW angelegt werden können, und es ist findliches Programm oder Programmsegment weiter ein einen weiteren Signalkanal bildendes Oder-Gatter bearbeiten kann. Sie wird dieses Programm oder Pro- 15 51 vorgesehen, an dessen Eingänge das Signal SCW grammsegment automatisch und ohne Verzögerung und ein Fehlersignal über eine Leitung 53, die aus übernehmen und weiterverarbeiten, indem ihr durch der zentralen Datenverarbeitungseinheii 10 kommt, Rückfrage bei der peripheren Datenverarbeitungsein- angelegt werden können. Die Signale SCP, SCW und heitll von dieser das betreffende Programm oder das Fehlersignal entstehen auf Grund bestimmter Programmsegment angezeigt wurde. Hat nun bei- ao Piugrammbefehle im BenuUerpiogianiiii, wobei im spielsweise die periphere Datenverarbeitungseinheit Falle der zwei letzteren Signale ein Umschalten vom
11 etwa bei Fehlen solcher in Wartestellung befind- bisherigen Benutzerprogramm zu dem nächsten Prolicher, betriebsbereiter Programme keine solche An- gramm erwünscht sein kann.
zeige zu machen, dann ist von der peripheren Daten- Ein kurze Zeit nach Erscheinen der Signale SCP verarbeitungseinheit auch die Schaltkennzeichenvor- 95 oder SCW oder des Fehlersignals entstehender Tastrichtung nicht gesetzt worden, so daß die Abgabe impuls auf einer Leitung 54 kommt von der zentrades Signals »Umschalten« von vornherein unmöglich len Datenverarbeitungseinheit 10 zur peripheren Dagemacht ist. Beim Auftreten des Signals 5CW been- tenverarbeitungseinheit 11, in der er eine Flip-Flopdet die zentrale Datenverarbeitungseinheit 10 in die- Schaltung 73 setzt. Es sei bemerkt, daß der Tastimsem Fall zwar ebenso die Weiterverarbeitung des Be- 3° puls und die von ihm getastete Flip-Flop-Schaltung nutzerprogramms, das zur Abgabe des Signals SCW 73 ohne Abweichung von dem in F i g. 3 dargestellten geführt hat, doch bleibt dieses Benutzerprogramm in Prinzip entfallen könnten.
der zentralen Datenverarbeitungseinheit 10 so lange, Mit einem Signal auf einer der Ausgangsleitungen
bis die Schaltkennzeichenvorrichtung 44 von der 41, 42 fragt die zentrale Datenverarbeitungseinheit 10
peripheren Datenverarbeitungseinheit 11 gesetzt wird. 35 bei der peripheren Datenverarbeitungseinheit 11 an,
Sobald das Signal »Umschalten« erscheint, wird die ob sie einen bestimmten Teil des von ihr gerade aus-
die Schaltkennzeichenvorrichtung 44 bildende Flip- geführten Programms über den Kanal 33 und die
Flop-Schaltung zurückgesetzt. Speichersteuereinheit 18 in eine bestimmte, vorzugs-
Mit dieser automatisch arbeitenden Umschaltan- weise reservierte Stelle des Zentralspeichers ein-
ordnung wird ein sonst üblicher zeitraubender Dialog 4° speichern darf. Dabei erstreckt sich die Zeitspanne,
zwischen der zentralen und der peripheren Datenver- in deren Verlauf den bestimmten Teilen des in die-
arbeitungseinheit dadurch vermieden, daß die peri- sem Augenblick von der zentralen Datenverarbei-
phere Datenverarbeitungseinheit 11 vorsorglich samt- tungseinheit 10 verarbeiteten Programms enthalten
liehe in Reserve befindlichen Programme innerhalb der soll, über die Zeit, die die periphere Datenverarbei-
zentralen Datenverarbeitungseinheit 10 auf Einsatz- 45 tungseinheit 11 benötigt, diesen Programmteil abzu-
bereitschaft, d. h. auf die Möglichkeit, sofort weiter- fragen und auf Grund des vorgefundenen Informa-
verarbeitet zu werden, prüft und registriert. Ein wei- tionsgehalts eine dementsprechende Instruktionsfolge
terer Vorteil ergibt sich daraus, daß in der zentralen ablaufen zu lassen. In dem hier beschriebenen Bei-
Datenverarbeitungseinheit keine Schaltungseinrich- spiel wird für eine solche Steueroperation einer Um-
tungen zur Durchführung des sonst üblichen Dialogs 50 schaltanordnung eine Wortstelle im Zentralspeicher
benötigt werden. reserviert. Ein auf einer Leitung 55 von der zentralen Datenverarbeitungseinheit 10 zur peripheren Datenverarbeitungseinheit 11 übertragenes Signal CCC
Zn Fiβ 4· meldet der peripheren Datenverarbeitungseinheit 11,
g' * 55 daß ein mit dem Signal SCP oder SCIF begonnener
Ablauf beendet ist
F i g. 4 zeigt ein ausführlicheres Blockschaltbild der Auf einer Leitung 56 gelangt ein Signal R von der in F i g. 3 dargestellten Unischaltanordnung, aus dem peripheren Datenverarbeitungseinheit 11 zur zentradie Zusamtncn-wirküng zwischen der zentralen Daten- len Datenverarbeitungseinheit 10, das, wie nachher Verarbeitungseinheit 10, der peripheren Datenver- 60 erläutert wird, dazu verwendet werden kann, den arbeitungseinheit 11 und der Speichersteuereinheit 18 Ablauf innerhalb der zentralen Datenverarbeitungsdeutlich hervorgeht In Fig. 4 ist der wesentliche einheit 10 abzustoppen, sobald innerhalb der peri- TeO der automatischen Umschaltanordnung als zut pheren Datenverarbeitungseinheit 11 bestimmte Beperipheren Datenverarbeitungseinheit 11 gehörig ge- triebsbedingungen auftreten.
zeichnet, indem er als Ausgangsteil der peripheren 65 Auf einer Leitung 57 wird ein Signal PSC als Datemerarbeitungseinheit 11 in Richtung zur zentra- Quittiersignal von der zentralen Datenverarbeitungsien Datenverarbeitungseinheit 10 und zur Speicher- einheit 10 πα peripheren Datenverarbeitungsemheit Steuereinheit 18 dargestellt ist Die periphere Daten- 11 auf Grund eines vorausgegangenen Signals SCW
11 12
oder eines Fehlersignals übertragen. Dio periphere Die Flip-Flop-Schaltungen können einfache gleich-
Datenverarbeitungseinheit 11 löst eine Operations- stromgekoppelte ÄS-Flip-Flops sein, deren Setz- und
folge aus, die die momentan unterbrochene Zentral- Rücksetzeingänge mit den Buchstaben S bzw. R be-
datenverarbeitungseinheit veranlaßt, einen bestimm- zeichnet sind. Der Ja-Ausgang der Flip-Flop-Schal-
ten Informationscode in den zentralen Speicher zu 5 tungen ist mit 1 bezeichne*, und der Nein-Ausgang
übertragen, der den Gesamtzustand des Programm- ist mit 0 bezeichnet. Die Flip-Flop-Schaltungen sind
teils in der zentralen Datenverarbeitungseinheit 10 ferner mit Buchstaben bezeichnet, die die jeweils auf
charakterisiert, bei welchem diese Einheit die Ver- den entsprechenden Ja-Ausgängen abgegebenen Si-
arbeitung des Programms unterbrochen hat. Nach gnale kennzeichnen. Beispielsweise bedeutet dei
dieser Abspeicherung wird nun die zentrale Daten- io Buchstabe C bei der Flip-Flop-Schaltung 71, daß an
Verarbeitungseinheit 10 in einen gänzlich neuen Zu- der an den Ja-Ausgang angeschlossenen Leitung 81
stand versetzt, auf Grund dessen sie ein neues Pro- das Signal C abgegeben wird,
gramm ausführen kann. Dieses Programm beginnt Der Ausgang des Oder-Gatters 50 führt an einen
bei dem Zustand, der dem Informationscode ent- Eingang des Und-Gatters 61. Der Ausgang des
spricht, der der zentralen Datenverarbeitungseinheit 15 Und-Gatters 61 ist mit dem Setzeingang der Flip-
nun zugeführt wurde. Erscheint auf der Leitung 57 Flop-Schaltung 71 verbunden. Der Nein-Ausgang der
also ein solches Signal PSC, dann kann die periphere Flip-Flop-Schaltung 71 ist mit einem zweiten Eingang
Datenverarbeitungscinheit 11 auf den Leitungen 41, des Und-Gatters 61 sowie mit je einem Eingang der
42 oder 53 nachfolgend erscheinende Signale SCP, Und-Ciattcr 62 und 63 verbunden. Der Ausgang des
SCW oder »Fehler« beantworten. Wie noch gezeigt an Oder-Gatters 51 ist mit dem zweiten Eingang des
wird, registriert die periphere Datenverarbeitungsein- Und-Gatters 62 verbunden, dessen Ausgang an den
heit 11 das auf der Leitung 57 erscheinende Signal Setzeingang der Flip-Flop-Schaltung 72 angeschlos-
und bringt dementsprechend das nächste Programm sen ist. Der Nein-Ausgang dieser Flip-Flop-Schaltung
sowie die von der zentralen Datenverarbeitungsein- ist mit je einem Eingang der Und-Gatter 61 bis 63
heit 10 zu verarbeitende Information in Bewegung, as verbunden. Der Tastimpuls an der Leitung 54 ist an
sobald ein Signal SCW oder ein Fehlersignal auf den den Setzeingang der Flip-Flop-Schaltung 73 angelegt,
Leitungen 42 bzw. 53 erscheint. deren Ja-Ausgang zu je einem der Eingänge der Und-
Das Signal »Ungehalten« (PS) an der Leitung 45 Gatter 61 bis 63 führt. Die aus den Flip-Flop-Schal-
von F i g. 3 und Fig. + zeigt der zentralen Datenver- tungen 71 bis 73, den Und-Gattern 61 bis 63 und den
arbeitungseinheit an, daß diese die Umschaltung von 30 Oder-Gattern 50 und 51 bestehende Baugruppe be-
einem Benutzerprogramm zu einem anderen Be- wirkt die Abgabe des Signals C auf der Ausgangslei-
nutzerprogramm vornehmen kann. tung 51 dann, wenn ein Anruf auszuführen ist. Fernei
Ein auf der Leitung 58 von der peripheren Daten- bewirkt diese Baugruppe die Abgabe eines Signals S Verarbeitungseinheit 11 zur zentralen Datenverarbci- auf einer mit dem Ja-Ausgang der Flip-Flop-Schaltungseinheit 10 übertragenes Signal »Anruf« (PC) 35 tung 72 verbundenen Ausgangsleitung 82, wenn eine zeigt der zentralen Datenverarbeitungseinheit an, daß Umschaltung durchzuführen ist. Die Flip-Flop-Schalim Zentralspeicher eine bestimmte Stelle verfügbar tungen 71 und 72 können erst dann gesetzt werden, ist. wenn auf der Leitung 54 der Tastimpuls erscheint,
Ein Signal MSC auf einer Leitung 59 zeigt, was die wodurch bei Zwischenschaltung der Flip-Flop-Schal-Speichersteuereinheit 18 anbelangt, daß ein Um- 4° tung 73 das an dessen Ja-Ausgang erscheinende Ausschaltbefehl ausgeführt wurde. Das Signal gelangt von blendsignal L an je einem Eingang der Und-Gatter 61 der Speichersteuereinheit 18 zur peripheren Daten- und 62 wirksam wird. Die den /»nruf kennzeichnende Verarbeitungseinheit 11 und zu einem Eingang eines Flip-Flop-Schaltung 62 kann nur dann gesetzt wer-Und-Gatters 64, dessen zweiter Eingang mit der das den, wenn sie selbst und die Flip-Flop-Schaltung 72 Signal PSC führenden Leitung 57 verbunden ist. 45 bisher rückgesetzt waren. Ebenso wird das Signal S Wenn die Und-Bedingung an diesem Und-Gatter er- an der Leitung 82 als Kennzeichen des Setz-Zustanfüllt ist, kann die periphere Datenverarbeitungsein- des der Flip-Flop-Schaltung 72 nur dann zustandeheit 10 den nächsten Zustandswechsel für die zen- kommen, wenn diese Flip-Flop-Schaltung elbst und trale Datenverarbeitungseinheit vorbereiten. Eine die Flip-Flop-Schaltung 71 vorher rückgesetzt waren, von der peripheren Datenverarbeitungseinheit 11 zur 5° Eine Rücksetzleitung 83 führt zu den Rücksetzein-Speichersteuereinheit 18 führende Leitung 60 über- gangen der Flip-Flop-Schaltungen 71 und 72, wobei tragt wie die obengenannte Leitung 45 das Signal die«» Rüeksetslcitung Signale entsprechend dem it »Umschalten«; dieses Signal »eigt der Speichersteuer- der peripheren Datenverarbeitungseinheit 11 laufencinlicit 18 an, daß sie den Umschaltbefehl ausführen den Programm führt, wodurch nach Beendigung eine: kann. 55 Anruf- oder Umschaltvorgangs ein Rücksetzsigna! füi
Wie hn Zusammenhang mit F i g. 2 bereits erwähnt diese Flip-Flop-Schaltungen erscheint,
wurde, übertragen die Kanäle 32 und 33 acht Wör- Die Ausgangsleitungen 81 und 82 führen zu An-
ter — 256 Bits, d. h. jeweils einen ganzen Wortblock schlössen 84 a und 846, die zu einer Gruppe you An-
gleichzeitig zwischen der peripheren Datenverarbei- Schlüssen 84 gehören, die alle programmzugänglicr
tungseinheit und der Speichersteuereinheit bzw. 60 oder programmabhängig sind. So führt der Ja-Aus-
zwischen der zentralen Datenverarbeitungseinheit und gang der Flip-Flop-Schaltung 74 zum Anschluß 84 d
der Speichersteuereinheit. der Ja-Ausgang der Flip-Flop-Schaltung 75 zum An·
Der zur Umschaltanordnung gehörende Ausgangs- scnluß 84 e, der Ja-Ausgang der die Schaltkennzei ^ teil der peripheren Datenverarbeitungseinheit Il ent- chenvorrichtung bildenden Flip-Flop-Schaltune 44 hält nach Fig.4 zehn Flip-Flop-Schaltungen71 bis 65 zum Anschluß84/, der Ja-Ausgang der Flip-Flop-75, 44 und 77 bis 80. Zu diesem Ausjangsteil ge- Schaltung 77 zum Anschluß 84 g und der Ja-Ausganj hören auch die Oder-Gatter 50,51,68 sowie die Und- der Flip-Flop-Schaltung 78 zum Anschluß 84 A. Samt-Gatter 43 und 61 bis 67. liehe Anschlüsse 84a bis 84/ sind programmzugäng
7 "7 O Λ
lieh, 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-Fljp-Schaltung 74, die nach Beendiauns eines Anrufs in den Setz-Zustand überseht: durch Abgabe des Signals CC am Anschluß 84 t/ wird der peripheren Datenverarbeitungseinheit gemeldet, aaß der Aufruf beendet ist, worauf die periphere Datenverarbeitungseinheit die Flip-Flop-Schaltung 74 über eine Leitung 85 rücksetzt.
Eine 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 c' gelangt, der vom Programm abgefragt werden kann. Die Flip-Flop-Schaltung 75 wird dann automatisch rückgesetzt, wenn das Oder-Gatter 68 ein Ausgangssignal abgibt. Die periphere Datenver-•irbeiiungseinheit 1) kann also den Zustand der Flip-Flop-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 Eingang des Und-Gatters 66 verbunden, während ihi Ja-Ai-igang zu dem für das Programm zugänglichen Anschluß 84/ führt und auch über eine Leitung 89 mit einem Eingang 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. Ein Eingang des Und-Gatters 67 ist mit dem Nein-Ausgang der Flip-F!op-Schaltung 77 verbunden, während ein zweiter Eingang dieses Und-Gatters über die Leitung 81 mit dem Ja-Ausgang der Flip-Flop-Schaltung 71 in Verbindung steht. Eine programmabhängige Eingabeleitung 91 führt zum Setzeingang der Flip-Flop-Schaltung 77, während 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 Datenve.-arbcitungseinheit 11 befindlichen Programm die Feststellung, welche der Funktionen Anruf oder Umschaltung entsprechend dem Zustand der Flip-Flop-Schaltungen 71 und 72 auszuführen ist ur.J 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-Schaltung80 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. Γη der am Ende angefügten Tabelle I ist der Ablauf der Umschaltoperation in Form von Booleschen Gleichungen angegeben.
Die Besonderheiten der zwischen die zentrale Datenverarbeitungseinheit 10 und die eigentliche periphere Datemerarbeitungseinheit 11 eingefügte Schal-
tung zur Verarbeitung der Signale SCW und SCP sowie des Fehlersignals sind:
a) Eine Anfrage an die zentrale Datenverarbeitungseinheit kann sein:
1. Eine durch einen Fehlei verursachte Antrage
an die Umschaltanordnung,
2. ein Anruf durch ein Signal SCP oder
3. ein Umschaltbefehl durch das Signal SCW.
ao b) Eine Anfrage an die zentrale Datenverarbeitungseinheit wird in einer Taktzeit verarbeitet.
c) Die Programmumschaltung und/Oder Erledigung eines Anrufs erfolgt automatisch ohne In-2. anspruchnahme der Schaltungsteile der peripheren Datenverarbeitungseinheit, 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 SCW-Signals ausgelösten Vorgangs wird eine bestimmte Speicherstelle des Zentralspeichers verwendet.
e) Bei einem Signal SCW werden getrennte Beendigungssignale für Anruf und Umschaltung verwendet, wodurch es möglich wird, den Anrufvorgang vor dem Umschaltvorgang und unabhängig von diesem zu Ende zu führen.
f) Für die zentrale Datenverarbeitungseinheit ist eine Betriebs-Warte-Steuerung vorgesehen.
g) 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 Flip-Flop-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 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 ΠΙ zwei repräsentative Ablaufbeispiele angegeben, in denen die Fälle betrachtet wer- den, 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 hier beschriebene Rechner eignet sich nicht nur für skalare Operationen, sondern insbesondere
auch zur Verarbeitung laufend veränderlicher, vektorieller Daten, welche dem Rechenwerk wiederholt zugeführt werden; der Rechner ist also besonders für Vektoroperationen geeignet.
Eine typische Vektoroperation ist die Addition zweier Vektoren A-B = C (mit A, Γ id C als ndimensionalen linearen Feldern) in Fon.: einer Addition ihrer Komponenten a; — ft, = C1. Die Vektoren A und B werden durch Kaiialrechner so hindurchgeführt, daß die entsprechenden Komponenten addiert werden. Auf diese Weise ersibt 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 [2 ■ S]= C-Das Ergebnis wird wiederum so gewonnen, daß die Vektoren in ihre Komponenten zerlegt und gemäß der Gleichung
C =
2
/ = 1
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 Determinuite A und d:j andere B, so folgt für die resultierende Determinante C im Falle eines dreidimensionalen Raum
«11 av. «23 0Il 6,. bl3 = Cll C!2 C13
«21 «22 «S3 O21 Ö23 C21 C22 C23
«31 «32 Z)31 b C31 C32 C33
mit beispielsweise C11 = an bn + a12 A21 + als bsl und allgemein
c ij =
wobei ρ der Grad der Tieterminante 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 C13 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 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 Reihenvektor 3 der Determinante A zur Erzeugung der Reihenvektoren 2 bzw. 3 der resultierenden Determinante C verwendet wird.
Eine solche skalare Vekronnultiplikation in Form
einer Matri.\mulHplikatior> kann demnach so durchgeführt werden, daß zwei verschiedene Schleifen mehrmals durchlaufen werden. Diese Schleifen seien als innere bzw. äußere Schleue 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 Ablaufschhifen skizzierten Operationen werden in der gemäß Figo aufgebauten zentralen Datenverarbeitungseinheit in problerr.orientierter, optimierter Weise realisiert.
Zu Fig. 6:
Die Verarbeitungsgeschwindigkeit der zentralen
so 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 Verarbeitungsgeschwindig keit innerhalb der zentralen Datenverarbeitungsein heit 10 zur Verarbeitung großer, vorsortierter Datenblöcke, beispielsweise bei Vektoroperationen, ausgenutzt werden können, wird zwischen dem Rechenwerk und dem Speicher eine Kopplungsemrichtung angebracht, die speziell der Forderung nach höchster Verarbeiiungsgeschwindigkeit Rechnung trägt. Die Kopplungseinrichtung wird im folgenden als Puffereinheit 100 bezeichnet, die nach Fig. 6 zwischen die Speichersteuereinheit 18 und das Rechenwerk 101 eingefügt ist. Die Puffereinheii 100 wird als Teil der zentralen Datenverarbeitungseinheit 10 angesehen, und sie ist über den Kanal 33 mit der Speichersteuereinheit 18 verbunden. Außerdem führen zwei Datenkanäle 100 a und 100 ft von der Puffereinheit 100 zum Rechenwerk 101, das hier als Vektorrechenwert bezeichnet werden kann. Ein Datenkanal 100c führt vom Rechenwerk 101 zur Puffereinheit 100. Über die Datenkanäle 100 α und 100 b werden Operanden zum Rechenwerk transportiert, während der Daten- kanal 100 c das im Rechenwerk erzeugte Resultat zur Puffereinheit 100 überträgt, von wo es über die Speichersteuereinheit 18 zu den Speichern 12 bis 15 gelangen kann.
Zu Fig. 7:
Unter Bezugnahme auf die mehr ins einzelne gehende Darstellung von F i g. 7 kann die Wirkung des Puffers 100 bei Hochgeschwindigkeitsübertragungen zum und vom Rechenwerk 101 erläutert werden. Wie bereits erwähnt wurde, sind im Zentralspeicher Wortgruppen von 256 Bits in Wörtern zu je 32 Bits enthalten; eine Wortgruppe kann dabei jeweils gleich- zeitig gelesen oder geschrieben werden. Die Wortgruppen werden aus dem Zentralspeicher über die Speichersteuereinheit 18 und den Kanal 33 zu einer Torschaltungseinheit 18 α transprotiert. Der Torschaltungseinheit 18a ist der Puffer 100 nachgeschaltet.
Wie in F i g. 6 dargestellt ist, verlaufen zwischen der Puffereinheit 100 und dem Rechenwerk 101 drei Datenkanäle 100a, 100 δ und 100 c. Der Kanal 100 a ist der Ausgangsteil eines Registerkanals für den
Operanden A, der zwei in Serie geschaltete Puffer 102 und 103 enthält. Der Kanal 100 b ist der Ausgangskanal eines Registerkanals für den Operanden B, der von zwei in Serie geschalteten Puffern 105 und 106 gebildet wird. Der Kanal 100 c ist dagegen der Eingangskanal eines Registerkanals für das Resultat C. der aus zwei in Serie geschalteten Puffern 108 und 107 besteht. Die Registerkanäle tüi die Operanden A und B puffern die Operanden auf dem Weg zwischen dem Zentralspeicher und dem Rechenwerk. Der Resultatregisterkanal puffert dagegen die vom Rechenwerk 101 ausgegebenen Ergebnisse, ehe sie beispielsweise in Wortgruppen Eesammelt zu den Speichen 12 bis 15 zurücktransportiert werden.
Der Puffer 102 ist so aufgebaut, daß er beispielsweise mit jeder achten Taktzeit auf einmal eine aus acht Wörtern bestehende Wortgruppe empfansen und abspeichern kann. Synchron mit dem Puffer 102 vird JHe Wortgrvppe zum Puffer 103 weitertransportieri. Aus 32 Bits bestehende Wörter werden vom Puffer 103 zum Rechenwerk 101 so übertragen, daß ein Wort pro Taktimpuls bewegt wird. Je nach Art der vom Rechenwerk 101 auszuführenden Operation wird zu jeder Taktzeit ein vom Rechenwerk gebildetes Resultat aus den Puffern 108 und 107 zum Zentralspeicher gebracht. Der Rechner kann in gleicher Weise hochwirksame Operationen wie auch Operationen mit geringeren Anforderungen ausführen. Ein Beispiel für höchste Anforderungen bei einer Operatio: der Puffereinheit 100 und des Rechenwerks 101 ist die Additic" von Vektoren, bei der die zwei Operanden aus den Puffern 103 und 106 mit jeaem Taktimpuls zum Rf :henwerk 101 übertragen werden, das mit jedem Taktimpuls eine Summe bildet, die unmittelbar vom Puffer 108 aufgenommen wird.
In der zentralen Datenverarbeitungseinheit 10 befindet sich eine Datei aus adressierbaren Registern, nämlich Basisregistern 120,121, allgemeinen Registern 122 und 123, einem Indexregister 124 sowie einem Vektorparameterregister 125. Jedes der Register 120 bis 125 hat über einen gemeinsamen Kommunikationskanal 104 und eineOperandenabiuf- und Operandenspeicheranordnung 126 Zugang zum Rechenwerk 101. Die Anordnung 126 dient als Durchgangskanal zu Operanden in beiden Richtungen. Eine Steuereinheit 127 dient unter anderem zur Steuerung des Rechenwerks 101 dadurch, daß sie ihre Steuersignale auf Grund der von einem Befehlspufferspeicher 127a gelieferten Befehle bildet. Der Befehlspufferspeicher 127σ dient der Pufferung von Befehlen, die aus einer Befehlsabrufeinheit 128 stammen. Die Befehlsabrufeinheit 128 beliefert nicht nur den Befehlspufferspeicher 127 a mit Befehlen, sondern es liefert auch Adressen an eine Indexeinheit 126a; der Ausgang der Indexeinheit 126a füh"t dabei zur Anordnung 126. Die Befehlsdateien 129 und 130 bilden puffernde Kanäle für einen Befehlsfluß von den Speichern 12 bis 15 zur Befehlsabrufeinheit 128.
Eine Steuereinheit 131 steht mit Ausnahme der Befehlsdateien 129 und 130 mit allen in F i g. 7 gezeigten Einheiten in Verbindung; es besteht auch eine Verbindung zwischen ihr und der Torschaltungseinheit 18a. Zur Aufgabe der Steuereinheit 131 gehört es, auf Grund des Signals SCW oder des Fehlersignals (F i g. 4) den gesamten augenblicklichen Zustand der zentralen Datenverarbeitungseinheit K vorzugsweise in den Zentralspeicher zu übertrager und an Stelle dieses Zustandes in die zentrale Daten Verarbeitungseinheit einen neuen Zustand einzuge ben. so dal? der Ablauf eines neuen Programms begonnen werden kann.
Die Puffereinheit 100 enthält eine Parameterregisterdatei 132 und eine Arbeitsspeicherresisterdatei 133. Die Parameterregisterdatei 132 ist über einen
ίο Kanal 134 und über den Kommunikationskanal 104 mit dem Vektorparameterregister 125 verbunden. Der Inhalt des Vektorpararneteiregisters 125 wird in die Parameterregisterdatei 132 übertragen, sobald ein Vektorbetehl aus dem Zentralspeicher zum Befehlsspeicherregister 128 geholt wird. Wenn das Befehlsspeicherregister 128 beispielsweise einen solchen Vektorbefehl aufgenommen hat. erfolgt unmittelbar in Maschinensprache eine übertragung der Parameterdaten aus dem Vektorparameterregister 125 in
ao die Parameterregisterdatei 132. Die Ausführung der daraufhin erfolgenden Operationen erfolgt vermittels der Indexeinheit 126 a, des Befehlspufferspeichers 127a sowie der Anordnung 126 und der Steuereinheit 127. Dies bedeutet im einzelnen, daß im Verlauf der Zeit, in der das Rechenwerk 101 eine bestimmte Operation ausführt, die Anordnung 126 und die Steuereinheit 127 die nächste nachfolgende Operation zur Durchführung durch dss Rechenwerk 101 vorbereiten. In der gleichen Zeit bereiten auch die Indexeinheit 126 a und der Befehlspufferspeicher 127 a die nächstfolgende Operation vor. Schließlich nimmt während derselben Zeitdauer die Befehlsabrufeinheit 128 den daraufhin folgenden Befehl auf. Dieser Befehl wird somit im Rechenwerk 101 drei Operationen später als der augenblicklich wirksame Befehl ausgeführt. Bei einer derartigen Organisation werden also vier Befehle gleichzeitig verarbeitet, indem sich jeder in einer verschiedenen Verarbeitungsstufe hinsichtlich der anderen Befehle befindet, wie dies in Fig. 7 durch die Zeiten T1, 72, T3 und T4 angedeutet ist.
Es sei darauf hingewiesen, daß infolge der Kombination dos Vektorparameterregisters 125 mit der Parameterregisterdatei 132 die Kapazität des Rechners dahingehend erhöht wird, daß mit hoher Geschwindigkeit komplexe Vektoroperationen in Maschinensprache programmgesteuert durchgeführt werden können.
In der Parameterregisterdatei 132 und in der Arbeitsspeicherregisterdatei 133 vorkommende Abkürzungen sind in der am Ende angefügten Tabelle IV aufgeführt und erklärt.
Die Parameter werden vorzugsweise vor Ausführung eines Vektorbefehls aus dem Zentralspeicher in die Register geladen. Die Vektoren werden hintereinander tntsprechend den in der zentralen Datenverarbeitungseinheit enthaltenen Parameterwerten durch das Rechenwerk geschleust.
Im folgenden wird das durch die oben angegebenen Gleichungen beschriebene Beispiel einer Determinantenmultiplikation ausgeführt, wobei die Zuordnung zwischen den Speicherplätzen und den Elementen der Determinanten Λ, B und C (auch Vektoren genannt) in der am Ende angefügten Tabelle V angegeben ist.
Aus der am Ende angefügten Tabelle VT ist die Adressenfolge und die Art der Berechnung des Vektors A zu erkennen.
Die Vektoren B und C werden in ähnlicher Weise bearbeitet. Die Adressenfolge des Vektors B gleicht der Adressenfolge des Vektors A, mit der Ausnahme, daß als Startadresse an Stelle von k die Startadresse 1 genommen wird. Die Adressenfolge des Vektors C i^t m. m - 1 ... m -'- S. Die Erzeugung der Adresscnfolge ist jeweils von dem spezielTen Vektorbefehl abhängig. Das obige Beispiel gilt für eine skalare Multiplikation von Vektoren. Der entsprechend; Vektorcode wird zwecks dieser Bestimmung in die PulTereinheit 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 Multipliziereinheiten, 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.
jJas Rechenwerk enthält zwei parallele Rechenwerksabschnitte 300 A und 300B, die in der Darstellung symmetrisch zur Mittellinie 300 angeordnet sind. Die Operandeneingangskanäle sind mit den Bezugszeichen 300fl bis 30Oi/ gekennzeichnet.
Der Rochenwerksabschnitt 300/4 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 eire 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 α und 300 c 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 dessen weiterem Eingang über einen Kanal 316 der zweite Ausgang der Addiereinheit 306 angeschlossen ist. Ferner verbindet ein Kanal 317 den Akkumulator 314 mit einem spiegelbildlich angeordneten Akkumulator 345 des Rechenwerksabschnitts 300 B. Ein erster Ausgang des Akkumulators 314 führt über einen Kanal 318 zu einem weiteren Eingang der Exponentensubtn'htionseinheit 302, während ein zweiter Ausgang des Akkumulators 314 über einen Kanal 319 mit einem zweiten Eingang der Ausgabeeinheit 310 verbunden ist.
Der 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 Addiereinheit 306 an den Kanal 320 angeschlossen. Ein Kanal 321 führt von einem weiteren Ausgang der Addiereinheit 306 zu einem vier-
ten Eingang der Exponentensubtrnktionseinheit 302. Die Addiereinheit 306 besitzt einen dritten Eingang, der über einem Kanal 322 mit dem Ausgang einer Multipliziereinheit 341 verbunden ist. die im Rechenwerksabschuitt 300ß spiegelbildlich zur Multi-
pliziereinheit 312 des Rechenwerksabschnitts 300 .-1 angeordnet ist.
Für das zwei Abschnitte aufweisende Rechenwerk ist von Bedeutung, daß die Operandeneingangskanäle 300 α und 300 c über Kanäle 323 bzw. 324 direkt an jede Funktionseinheit des Rechenwerksabschnitts 300/1 angeschlossen sind, .vobei lediglich der Akkumulator 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, übe«- Kanäle 327 an die Addiereinheit 306. über Kanäle 328 an die Normalisierungseinheit 308 sowie schließlich direkt an die Ausgabeeinheit 310. To^schaltungen öffnen oder schließen die Kanäle des Rechenwerks auf Grund von Maschinen- oder Programmbefehlen.
Der Rechenwerksabschnitt 3005 ist entsprechend dem Rechenwerksabschnitt 300 A aufgebaut. Dabei entspricht die Exponentensubtraktionseinheit 330 der Exponentensubtraktionseinheit 302, die Aus-
richteinheit 332 der Ausrichteinheit 304. die Additionseinheit 334 der Additionseinheit 305, die Normalisierungseinheit 336 der Nor.nalisierungseinheit 308. die Ausgabeeinheit 338 der Ausgabeeinheit 310, die Vornormalisierungseinheit 340 der Vornormali sierungseinheit 311, die Multipliziereinheit 341 der Multipliziereinheit 312 und der Akkumulator 345 dem Akkumulator 314.
Ebenso entsprechen si^h die folgenden Kanäle: 300 b und 300 c, 300 d und 300 a, 331 und 303, 333 und 305, 335 und 307, 337 und 309, 342 und 324, 343 und 323, 346 und 315, 348 und 318, 353 und 313, 344 und 316, 352 und 321, 351 und 320 sowie 347 und 319. Überdies führt ein Kanal 350 von der Exponentensubtraktionseinheit 330 zur Exponentensubtraktionseinheit 303, und ein Kanal 355 führt von der Ausgabeeinheit 338 zur Ausgabeeinheit 310.
Wie bereits erwähnt wurde, veriügt jede Funktionseinheit dei zwei Rechenwerksabschnitte 300 A und 300 B über eigene Zwischenspeicher, wie dies am Beispiel der Ausgabeeinheit 310 durch das Bezugszeichen 310 α angegeben ist. Die Additionseinheiten und die Exponentensubtraktionseinheiten haben eine Kapazität von 32 Bits; die Multiplizierein- heiten haben eine Kapazität von 64 Bits.
Das Rechenwerk 101 enthält also eine Vielzahl von Funktionseinheiten zur Durchführung einer speziellen arithmetischen Operation. Jede Funktionseinheit mit Ausnahme des Akkumulators besitzt eigene Operandeneingänge. Durch Programm- oder Maschinenbefehle können die Funktionseinheiten in der verschiedensten Weise miteinander verbunden werden, so daß eine Vielzahl voneinander verschiedener
arithmetischer Beziehungen realisiert werden können. können jeweils miteinander kombiniert werden; dies Sind die Verarbeitungswege festgelegt, dann können gilt allerdings nicht für die Multipliziereinheiten. Die die zu verarbeitenden Daten so durch die beiden Exponentensubtraktionseinheiten 302, 330 können Rechenwerksabschnitte geschickt werden, daß bei- eine Verarbeitungsstufe bilden, in der sie voneinspielsweise während einer Taktzeit unterschiedliche 5 ander getrennt oder miteinander kombiniert arbeiten. Operanden jeweils eine Funktionseinheit durchlaufen, Im Falle einer Kombination verarbeiten sie einen wodurch ermöglicht wird, daß mehrere A- und Operanden mit doppelter Wortlänge. Ä-Operandenwörter hintereinander durch den Die Ausrichteinheiten 304, 332 können bei Gleit-RcchcnwcrksabschniU strömen, in dem sie jeweils komma-Additionen für Rechtsverschiebungen vcrbcispiclsweisc vier Verarbeitungsstufen durchlaufen. io wendet werden. Die Normalisicrungseinhcitcn 308, Dieses Verarbeitungsverfahren mittels zweier par- 336 dienen alle Normalisicrungscrfordcrnisscn, also allclgcschaltctcr Rechcnwcrkskanälc mit speziellen auch Linksverschiebungen. Die Addicrcinheitcn 306, Funktionseinheiten, die in jeder denkbaren Weise 334 werden \orzugsweise für Hochgeschwindigkcitsuntereinandcr verbunden werden können, gewähr- operationen zur Ausführung von Gleit- oder Festleistet eine sehr schnelle Verarbcilungs/eit innerhalb ij komma-Additioncn verwendet. Sie finden überdies des Rechenwerks bei entsprechend gleich schnell an- Verwendung bei der Addition der sogenannten gelieferten und abschließenden Datenmengen. Pseudosummc oder des sogenannten Pscudoüber-
Zur Erklärung der Wirkungsweise sei bemerkt, laufs, die aus der Multiplizicreinheit kommen,
daß eine der im Rechner am meisten benötigten Ope- Bei der Verarbeitung von Vektoren ist ein Glcit-
rationcn die Gleitkomma-Addition ist. die in vier ao komma-Additionsbctrieb zur Anpassung an einen
Schritten ausgeführt werden muß. Diese Schritte sind: großen dynamischen Bereich wünschenswert. Das
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- 35 Vcarbeitungszcit und des Bauelementaufwands bc-
spielswcisc in Form einer Linksverschiebung. Diese sonders bei Gleitkomma-Additionen nach der Ta-
Schritte sind in der am Ende angefügten Tabelle VII belle VII erkennbar,
dargestellt. Die Multipliziercinheit 312 kann eine Multiph-
Bei der Addition zweier Zahlenreihen oder Vek- kation von 32 Bits mit weiteren 32 Bits in einer Takttoren istzu Beginn (Zeit /0) jede Funktionseinheit des 30 zeit durchführen, infolge dieser Fähigkeit der Muiti· Rechenwerks leer. Zur Zeit tt wird das erste Zahlen- plizicreinheit passen diese Einheiten gut mit den paar α, und bt der Exponentensubtraktion unter- übrigen Funktionseinheiten zusammen, da die Verzogen, die als erstes ausgeführt werden muß. Zur arheitungszeiten grundsätzlich gleich sind. Zeit I2 wird ein zweites Zahlcnpaar at und bt dieser Die Multipliziercinheitcn bilden gleichzeitig die Exponentensubtraktion unterzogen, während das 35 Verarbeitungseinheiten für eine Division. Multiplierste Zahlenpaar α, und bx einen zweiten Schritt in kationen oder Divisionen mit Operanden mit dop-Form der Mantissenausrichtung durchläuft. Dieses pclter Wortlänge erfordern mehrere Iterationen über Verfahren wird weiter fortgeführt, bis zur Zeit tt die Multiplizicreinheit, bevor das Resultat erhalten der Rechenwerksabschnitt derart gefüllt ist, daß jede wird. Festkomma-Multiplikationen und Glcitknnniii-Funktionseinheit bei jedem Schritt ein Zahlenpaar 40 Multiplikationen mit Operanden mit einfacher Wortverarbeitet, länge werden nach einem Durchgang durch die MuI-
Das Rechenwerk 101 ist grundsätzlich 64-Bit- lipli/icrcinhcit erhalten. Die Multiplizicreinheit 312 orientiert. Alle Funktionseinheiten von F i g. 8 außer gibt zwei Doppellängenwörter mit je 64 Bits in Form den Multipiiziereinheiten 312 und 341 empfangen einer P^cudosumme und eines Pseudoüberlaufs ab. 32 Bits und geben 32 Bits an ihren Ausgängen ab. 45 In der Addiereinheit 306 werden aus diesen Wörtern Die Multipliziereinheiten geben dagegen 64 Bits ab. ausgewählte Bits miteinander addiert, damit ein Pm-Mit Ausnahme einer Multiplikation und einer Divi- dukt mit der Länge eines Worts erhalte wird. Soll sion benötigen alle Funktionen sowohl für Operanden mit einer Multiplikation mit einem Operanden mit mit einfacher Wortlänge als auch für Operanden mit einfacher Wortlänge ein Produkt mit doppelter Wortdoppelter Wortlänge dieselbe Verarbeitungszeit so länge gewonnen werden, dann erzeugt die Mnitinü-
Festkomma-Zahlen werden vorzugsweise im Ziereinheit 341 eine aus 64 Bits bestehende PseudoZweierkomplement dargestellt, während Gleitkomma- summe und einen aus 64 Bits bestehenden PseudoZahlen als Exzess-64-Zahl nach Vorzeichen, Man- überlauf, und die Pseudosumme und der Pscudotisse und Exponent erscheinen. überlauf werden dann in den Addiereinheiten 306
Der besondere Aufbau des Rechenwerks in der 55 und 334 addiert, wodurch das Produkt mit der dop-Art eines Verarbertungskanals ermöglicht eine pelten Wortlänge gewonnen wird. Eine Doppellänflicßende Verarbeitung, die insbesondere bei der An- g-Timultiplikatkm kann so durchgeführt w-rden. daß Wendung auf Vektorbefehle besonders günstige die drei folgenden Schritte m der richtigen Reihen-Eigenschaften hat. Die Anordnung von zwei par- folge durchgeführt werden: Eine Multiplikation in allelen Rechenwerksabschnitten gestattet es. daß zu 60 der Multtpliziereinheit341, eine Addition in den jeder Taktimpulszeit an jeder der Ausgabeeinheiten Addiereinheiten 306 und 334 sowie eine Saldierung 310 und 338 ein Resultat erscheint. Jeder Rechen- in den Akkumulatoren 314 and 345. Die Akkumuwerksabschnitt kann Teile anderer Befehle verarbei- latoren 314, 345 gleichen den Addiereinlieiten. -nd ten. Jeder Rechenwerksabschnitt enthält Funktions- sie werden für spezielle Zw»-Ve verwendet, in denen einheften, mit deren Hufe insbesondere die Additions- 65 eine fortlaufende Saldierung erforderlich ist zeit für Gleitkomma-Additionen verkürzt werden Eine Multiplikation mit Operanden mit Joppslter kann. Die zueinander spiegelbildlich liegenden Wortlänge erfordert eine solche taufende Saldierung, Funktionseinheiten der beiden Recnersabschnitte da vier getrennte 32-32 Bit-Multiplikationen duich-
/CfI 942 005
23 ' 24
zuführen sind, worauf deren Zwischenergebnisse nen Teil dieser Anordnung zeigen; die Verbindung (Partialsummen) stellenrichtig in den Akkumulatoren zwischen diesen beiden Teilen wird über die Kanäle aufadditrt werden. Eine Doppellängenmultiplikation 41, 42 und 53 bis 58 hergestellt,
erfordert deshalb acht Taktzeiten, bis das richtige In F ig. 9 ist eine Befehlsabrufeinheit 128 dargestellt,
Ausgangssignal erscheint, während eine Einzellängen- s die ein Ausgangsregister 128 a aufweist, das in einer multiplikation nur vier Taktzeiten benötigt. Eine bevorzugten Ausführung eine Kapazität von 32 Bits Doppellängenmultiplikation bedeutet zwei 64-Bit- hat. Das Register ist in mehrere Abschnitte aufge-Gleitkommazahlen (56-Bit-Mantisse), die mitein- teilt; ein erster Abschnitt 128 ft mit einer Kapazität ander multipliziert werden, um ein aus 64 Bits be- von 8 Bits enthält den Operationscode, ein nächster stehendes Resultat zu erhalten, wobei die niedrigst- io Abschnitt 128 c enthält ein Adressenmerkmal von wertigen Bits nach der Nachnormalisierung abge 4 Bits, und ein weiterer Abschnitt 128d mit 4 Bits schnitten sind. Eine Festkomma-Multiplikation be- enthält normalerweise Daten zum Betrieb des deutet eine Multiplikation von 32·32 Bits, und sie er- Rechenwerks 101, mit denen ein Register bestimmt gibt ein aus 64 Bits bestehendes Resultat. wird, das nicht zur Umschaltanordnung gehört.
Eine Division ist die umfangreichste vom Rechen- 15 Schließlich ist ein weiterer Abschnitt 128 e mit einer werk auszuführende Operation, wobei die Fähigkeit Kapazität von 16 Bits vorgesehen, der ein Adresseneiner Stellenmultiplikation von Vorteil ist. Nach einer feld enthält.
Anzahl ittericrender Multiplikation ist der Quotie-it Bei einem normalen Operationsablauf führt eine
mit der gewünschten Genauigkeit erstellt. Da bei Indexeinheit 126a, die ein Ausgangsregister 126 ft diesem Divisionsverfahren kein Rest als Resultat der 20 enthält, einen Schritt im Zeitablauf Tl bis Γ4 aus. vorhergehenden Multiplikationen erzeugt wird, muß Bei einigen Operationen wird durch die Indexeinheit zur Bestimmung des Rests mit Hilfe der vorhandenen 126 a im Ausgangsregister 126 ft ein Wort gebildet, Hardware weitergerechnet werden, falls ein Rest er- das der Summe aus dem Code im Abschnitt 128 e wünscht ist. War die Lösung xly = Q, dann kann der und aus dem Code im Indexregister ί 24 entspricht, Rest aus der Beziehung R = χ (y · Q) gewonnen 25 wobei der Code im Indexregister 124 durch das werden. Der Rest wird auf so viele Bits genau, als der Adressenmerkmal im Abschnitt 128 c aufgerufen Dividend mal Bits enthält. Die zur Bildung des Rests wurde. Eine solche Indexoperation entspricht also erforderliche Zeit addiert sich direkt zu der Zeit, die der bei Rechnern üblichen Adressenmodifikation mitzur Bildung des Quotienten erforderlich war. Die tels Indizierung.
Divisionszeit für Operanden mit einfacher Wortlänge 30 Die Adresse aus dem Ausgangsregister 126 ft wird wächst von 12 Taktzeiten bis zu 16 Taktzeiten bei dann weiter zur Steuerung des Operandenflusses von der Erstellung eines Rests. Der Divisionslogarithmus und zum Rechenwerk 101 von der Anordnung 126 erfordert, daß der Divisor normalisiert wird, nämlich verwendet.
bei Festkommaarithmetik bitweise oder bei Gleit- Sobald im Abschnitt 128ft ein dem Signal SCW
kommaarithmetik hinsicMlich der rückstelligen Hexa- 35 oder dem Signal SCP entsprechender Operationscode dezimalziffer mit Ausnahme von Null. erscheint, beginnt ein hinsichtlich der anderen Ope-
Die Ausgabeeinheiten 310, 338 dienen der Samm- rationscodes verschiedener Operationsablauf. Zulung der Ausgangsdaten aus allen Funktionseinheiten nächst wird der aus 8 Bits bestehende C* de aus dem sowie der Ausführung einfacher Datenverschiebun- Abschnitt 128ft in den Befehlspufferspeicher 127a gen, Boolescher Beziehungen usw., zu deren Durch- 40 übertragen, wonach er in einem Ausgangsregister führungen eine Taktzeit im Rechenwerk 101 benötigt 127ft des Befehlspufferspeichers 127a erscheint. Anwird, schließend wird dieser aus 8 Bits bestehende Code
Die Speichermöglichkeit in jeder Funktionseinheit über einen Kanal 200 zur Steuereinheit 127 überdes Rechenwerks ermöglicht eine wirksame Trennung tragen.
der einzelnen, in den verschiedenen Funktionsein- 45 In der Steuereinheit 127 wird der aus 8 Bits beheiten getrennt verarbeiteten Daten. Das Rechen- stehende Code in einem Decodierer 201 verarbeitet, werk arbeitet synchronisiert, indem es eine gemein- Enthält der Code einen SCW-Befehl, dann erscheint same Taktzeit für alle Schaltkreise anwendet. Aus an einer Leitung 202 und somit an der Leitung 41 diesem Grund sind in jeder Funktionseinheit das Signal SCW. Enthält der Code dagegen einen Speicherregister enthalten, wie es beispielsweise durch 50 SCP-Befehl, dann wird an der Leitung 203 und somit das Bezugszeichen 310a angegeben ist ander Leitung 41 das Signal 5CP erzeugt
Wenn die periphere Datenverarbeitungseinheit 11 nach F i g. 4 auf der Leitung 41 oder auf der Leitung
Zu Fig 9; 42 em Signal feststellt, dann wird sie nach einer be-
55 stimmten Zeit über die Leitung 58 an die Steuereinheit 127 das Signal »Anrufen« (PC) senden, das es
Nach einer Beschreibung der Umschaltanordnung der Str uereinheit 127 ermöglicht, ihrerseits ein Signal an Hand der Fi g. 3 und 4 sowie einer Beschreibung auf einer Leitung 204 zum Rechenwerk IQI zu überder zentralen Datenverarbeitungseinheit 10 an Hand tragen. Dieses zuletzt genannte Signal hat auch zur der Fig. 5 bis 8 folgt nun zweckmäßigerweise in 60 Folge, daß der im Register 127d der Anordnung 126 einer Beschreibung der Fig. 9 die Darstellung der enthaltene Code zu einer bestimmten Speicherstelle Zuiammenwirkung zwischen der zentralen Datenver- übertragen wird. Diese Übertragung erfolgt über eine arbdtungsemheit 10, der peripheren Datenverarbei- Leitung 205, eine Leitung 206 innerhalb des Rechentungseinheit 11 und der Speichersteuereinheit 18. werks 101, eine Leitung 207, einen Zwischenspeicher
Die Fig. 9 und 4 betreffen die Umschaltanord- 65 126e sowie über den Kommunikationskanal 104 zum nung, wobei Fig. 4 den in der peripheren Daten- Speicher.
Verarbeitungseinheit enthaltenen Teil und F i g. 9 den Die abzuspeichernde Codierung aus dem Zwi-
in der zentralen Datenverarbeitungseinheit enthalte- schenspeicherl26e wird in die Speicherstelle einge-
schrieben, 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 vorgesenen ist. Dies kann durch eine einfache Festverrfrahtung 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 Ausgangsleitung über eine Verzögerungseinheit 210 ein Taktimpuls auf der Leitung 54 erscheint, der in der peripheren Datenverarbeitungseinheit 11 nach dem Setzen der Flip-Flop-Schaltung 73 das Setzen der Flip-Flop-Schaltung 71 und/oder der Flip-Flop-Schaltung 72 ermöglicht (F i g. 4). Vorzugsweise ist die Leitung 53 an einem dritten (in F i g. 9 nicht dargestellten) Eingang des Oder-Gatters 21t 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-Gattern 212,
214 verbunden. Das Und-Gatter212 hat zwei Eingänge, von denen einer über die Leitung 202 das Signal SCW empfängt, während der zweite über die Leitung 58 das Signal »Anrufen« (PC) empfängt. Das Und-Gaiter 214 ist in entsprechender VVpUe durch die Koinzidenz der Signale SCP und »Anrufen« (PC) aktivierbar.
Damit auf der Ausgangsleitung 204 des Oder-Gatters 213 ein Signal erscheint und damit eine Abspeicherung der im Register 126 rf 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« ("Q von Seiten der peripheren Datenverarbeitungseinheit vorhanden sein. Nur bei entsprechendem Signaizustand 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 128a der Befehlsabrufeinheit 128 befindlichen Befehl ab, nämlich davon, ob im Abschnitt 1286 der Befehlsabruf einheit die Codegruppe für das Signal SCW, das Signal SCP oder ein anderes Signal vorhanden ist.
An der Leitung53 von Fig. 4 und 9 liegt dann das Signal »Fehler«, wenn innerhalb der zentralen Datenverarbeitungseinheit 10 ein Fehler festgestellt wurde. In Fig. 9 ist ein Oder-Gatter220 mit der Ausgangsleitung 53 dargestellt, das mit einem Ein gang über eine Leitung 221 an due Steuereinheit 127 und mit einem weiteren Eingang an das Rechenwerk 101 angeschlossen ist Ein Fehlersignal kann beispielsweise bei einem Oberlauf hn Rechner 101 erzeugt werden, und auch bei einer Undefinierten Codegruppe 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 wertere Prüfkreise zur Erzeugung des Fehlersignals angeschlossen werden können. Die Steuereinheit 131 (F i g. 7) steuert die Umschaltung der zentralen Datenverarheitungseinheit, die bewirkt, daß der bisherige Inhalt der zentralen Datenverarbeitungseinheit abgespeichert und neue Daten in diese dafür eingegeben werden.
Zu Fig. 10:
Aus den bisherigen Ausführungen zur peripheren Datenverarbeitungseinheit 11 läßt sich entnehmen, daß diese Einheit eine bedeutende Rolle bei der Steuerung der zentralen Datenverarbeitungseinheit 10 spielt. Die periphere Datenverarbeitungseinheit 11 ist in der Lage, im voraus die Anforderungen der zentralen Datenverarbeitungseinheit 10 und anderer Komponenten des Rechners zu ermitteln, indem ein
ao spezieller Zeitteilbetrieb zwischen mehreren virtuellen Datenverarbeitungseinheiten in der peripheren Datenverarbeitungseinheit 11 angewendet wird. In der peripheren Datenverarbeitungseinheit 11 sollen von einer Gruppe von virtuellen Datenverarbeitungseinhciten Programme verarbeitet werden. Bei stark variierenden Programmen wird vorteilhafterweise von einer fest zugeordneten Zeitteilung zwischen den virtuellen Datenverarbeitungseinheiten abgegangen.
In der in Fig. 10 dargestellten Anordnung ist es möglich, einigen virtuellen Datenverarbeitungseinheiten wesentfich mehr Zeit zuzuteilen als anderen. Außerdem kann die Zeitzuteilung zwischen den virtuellen Datenverarbeitungseinheiten verändert werden. Aus Fig. 10 ist zu erkennen, daß die virtuellen Datenverarbeitungseinheiten P0 bis P7 der peripheren Datenverarbeitungseinheit 11 von einem Rechenwerk 400 der peripheren Datenverarbeitungseinheit 11 versorgt werden.
Das Prinzip der Zeitteilung, bei dem ein Rechenwerk mit virtuellen Datenverarbeitungseinheiten zusammenarbeitet, wird als bekannt vorausgesetzt. 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 m Abhängigkeit von den vorzugsweise von Programmen gestellten Aufgaben steuerbar zu machen. Von den acht virtuellen Datenverarbeirungsein-
heilen P0 bis P7 der peripheren Datenverarbeitungseinheit 11 (Fig. 10) kann während einer Taktzeit nur jeweils eine virtuelle Datenverarbeitungseinheit über das Rechenwerk 400 verfügen; 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 Mi» 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 Zeit-
27 '^ 28
spannen 0 bis 15. Das Rechenwerk 400 wird dabei Zykluszeit des Speichers 430 beträgt 20Nanosekunjeweils mit derjenigen virtuellen Datenverarbeitungs- den, und er liefert einen Befehlsvorrat aus 32-Biteinheit verbunden, die durch die Codegruppe (bei- Befehlen für die virtuellen Datenverarbeitungseinspielsweise 0 bis 7) bestimmt ist, die vom Zeiger ab- heiten P0 bis P7. Die Kapazität des Speichers 430 begetastet wird. In einem Extremfall wird während der S trägt für die Programme 1024 Wörter. Er ist in Dauer des gesamten Zyklus nur eine bestimmte vir- 256 Wortbaueinheiten unterteilt, so daß es möglich tuelle Datenverarbeitungseinheit mit dem Rechen- ist, Programmabschnitte abzuändern, ohne den gewerk 400 unter Ausschluß aller übrigen virtuellen samten Speicher neu aufzubauen.
Datenverarbeitungseinheiten verbunden, während im Die Steuerprogramme für die Periph-degeräte entanderen Extremfall alle virtuellen Datenverarbei- io halten Steuerfunktionen für die zu den Peripherietungseinheiten für die Dauer gleicher Zeitabschnitte geraten gehörenden Pufferspeicher sowie Datenübermit dem Rechenwerk 400 verbunden sind. Die An- tragungsfunktionen. Auf diese Weise können mechaordnung, die diese Vielseitigkeit der Zuordnung er- nische Bewegungsabläufe in den Peripheriegeräten müglicht, ist in den Fig. 11 bis 13 im einzelnen ge- direkt durch Programme gesteuert werden, und es nau dargestellt. 15 wird eine jeweils speziell für jedes Peripheriegerät
eigens durchgeführte andere Festverdrahtung benö-
Zu Fig. 11: tigt. Durch das Arbeitsprogramm können Parameter
zur Variation eines Grundprogramms vorgesehen
Der Aufbau der peripheren Datenverarbeitungs- werden. Solche Parameter sind im Zentralspeicher einheit 11 ist aus Fig. 11 zu erkennen. Der Zentral- ao oder in Akkumulatorregistern der virtuellen Datenspeicher mit den Speichern 12 bis 15 ist mit seiner Verarbeitungseinheit, die das Programm ausführt, Speichersteuereinheit 18 verbunden, die ihrerseits enthalten.
über den Kanal 32 mit der peripheren Datenver- Die Befehle für die virtuellen Datenverarbeitungs-
arbeitungseinheit 11 verbunden ist. Die virtuellen cinheiten können entweder aus dem Speicher 430 Datenverarbeitungseinheiten P0 bis P7 sind über einen »5 oder aus dem Zentralspeicher stammen. Der vom Ausgangskanal 402 sowie über einen Eingangskanal Programmzähler einer virtuellen Datenverarbeitungs-403 mit dem Rechenwerk 400 verbunden. Überdies einheit adressierte Speicher wird durch die Adressiesind sie über Kanle 410 bis 417 mit einem Kommu- rungsart gesteuert, die durch Verzweigungsbefehle nikationskanal 408 verbunden. Eine Puffereinheit 419 oder durch Löschung des Systems modifiziert werden der peripheren Datenverarbeitungseinheit 411 enthält 30 kann. Jede virtuelle Datenverarbeitungseinhs.it wird acht einzelne Ein-Wort-Pufferregister 420 bis 427; in den Festwertspeicherbetrieb versetzt, wenn das jeweils eines dieser Pufferregister ist dabei einer der System gelöscht wird.
virtuellen Datenverarbeitungseinheiten Pn bis P7 züge- Wenn vom Zentralspeicher eine Programmfolge
ordnet. Die virtuellen Datenverarbeitungseinheiten erhalten wird, dann wird diese von der Puffereinheit P0 bis P7 sind mit einer Zuordnungssteuerung 418 35 419 aufgenommen. Da diese Puffereinheit derselbe versehen, die ein Teil der in Fig. 10 schematisch als Zwischenspeicher ist, der für Datentransporte zu und Zeiger dargestellten Schrittschaltvorrichtung 401 dar- vom Zentralspeicher benutzt wird, und da der Zenstellt. Die Zuordnungssteuerung 418 wird mit Hilfe tralspeiche. größere Zugriffszeiten als der Festwertvon Taktimpulsen betrieben. Die Purlereinheit 419 speicher hat, werden also die Verarbeitungszeiten wird von einer Puffersteuereinheit 428 gesteuert. Der 40 günstiger, wenn das Programm vom Speicher 430 erKanal 408 ist über einen Kanal 429 mit dem Rechen- halten wird.
werk 400 verbunden. Die virtuellen Datenverarbei- Ein Zeitabschnitt 0 kann e'.ner der acht virtuellen
tungseinheiten P0 bis P7 sind ferner mit einem als Datenverarbeitungseinheiten durch einen Schalter auf Festwertspeicher ausgebildeten Speicher 430 ausge- dem Bedienungspult zugeordnet werden. Diese Zustattet. In einer bevorzugten Ausführung besteht der 45 Ordnung kann durch das Programm nicht kontrolliert Speicher 430 aus einem fert verdrahteten Diodenfeld werden. Die restlichen Zeitabschnitte sind anfänglich für schnellen Zugriff. nicht zugeordnet. Deshalb arbeitet am Anfang nur
Eine Speicheranordnung 431 dient der Datenüber- die virtuelle Datenverarbeitungseinheit. ' : durch den tragung zwischen dem Kommunikationskanal 408. Schalter bestimmt wird. Da die Programmzähler allei den Peripheriegeräten und weiteren Steuer- und 50 virtuellen Datenverarbeitungseinheiten P0 bis P7 ur-Datenkanälen. Bei dem hier beschriebenen Ausfüh- sprünglich auf 0 stehen, beginnt die ausgewählte virrungsbeispiel enthält die Steueranordnung 431 insge- tuelle Datenverarbeitungseinheit mit der Ausführung samt 64 Register. ihres Programms, beginnend mit der Adresse 0 in
Die an dem Zeitteilbetrieb beteiligten Einheiten Speicher 430. An dieser Adresse befindet sich eil sind das Rechenwerk 400, der Speicher 430, die 55 Einleitungsprogramm. Der Schalter auf dem Bedie Speicheranordnung 431 mit den Registern CRn bis nungspult bestimmt ebenfalls, welches der 8 Bits dei CT?, ... und die Puffereinheit 419 mit den Ein-Wort- Speicheranordnung431 durch ein von der Bedie Pufferregistern 420 bis 427, wobei die Puffereinheit nungsperson ausgelöstes Einleitungssignal gesetz 419 die Verbindung zwischen der peripheren Daten- wird.
Verarbeitungseinheit 11 und dem Zentralspeicher her- 60 Die Puffereinheit 419 ermöglicht den Zugriff de stellt virtuellen Datenverarbeitungseinheiten auf den Zen
Der Speicher 430 enthält einen bestimmten Pro- tralspeicher mit den Speichern 12 bis 15. Die Puffer grammvorrat, der mit Ausnahme eines Zugriffs von einheit 419 besteht aus acht 32-Bit-Datenregisterrj den Programmzählern der virtuellen Datenverarbei- acht 24-Bit-Adressenregistern und entsprechende] tungseinheiten nicht zugänglich ist. Der Programm- 65 Steuerkreisen. Von einer einzelnen virtuellen Daten vorrat enthält ein Grundausführungrt)rogramm und Verarbeitungseinheit aus gesehen, erscheint die Puffe» wenigstens ein Steuerprogramm für jedes Peripherie- einheit 419 lediglich als ein einzelnes Datenregiste gerät, das an den Rechner angeschlossen ist Die und ein einzelnes Adressenregister.
778 1
Die Puffereinheit 419 kann gleichzeitig bis zu acht Speicheranfragen enthalten, nämiich eine Speicheranfrage von jeder virtuellen Datenverarbeitungseinheit. Die Anfragen werden vorzugsweise so verarbeitet, daß eine feste Prioritätssteuerung und eine Prioritä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ätsebene gestellt, dann werden sie in der Reihenfolge bearbeitet, in der sie zeitlich erscheinen.
Wenn eine Anfrage zur Puffereinheit 419 gelangt, so besitzt sie automatisch eine Prioritätszuordnung, 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 Datenverarbeitungseinheit erhalten die Prioritätszuordnung, die in 2 Bits des entsprechen Jen Registers in der Speicheranordnung 431 verschlüsselt ist. Der Inhalt dieses Registers wird durch das Ausführungsprogramm bestimmt; die Prioritätszuordnung für jede virtuelle Datenverarbeitungseinheit wird vom auszuführenden Programm bestimmt. Zusätzlich zu diesen 2 Prioritäts-Bits kann eine Zeitkennung mitverwendet werden, damit die Fälle gleicher Prioritätszuordnung gelöst werden können.
Die Register in der Speicheranordnung 431 enthalten jeweils 32 Bits. Jedes Register kann von der virtuellen Datenverarbeitungseinheit adressiert werden, und die Einheit, mit der es verbunden ist, kann aus dem Register lesen oder in das Register schreiben. Die Register der Speicheranordnung 431 sind Verbindungsglieder zu allen Peripheriegeräten einschließlich des Bedienungspults. Einige Parameter zur Steuerung des Rechnerbetriebs werden ebenfalls in den Registern der Speicheranordnung 431 gespeichert, von denen aus die Steuerung erfolgt.
Zu Fig. 12:
In der Speicheranordnung 431 sind vorzugsweise als Flip-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 Speicherelement von einem Peripheriegerät kann durch Zwischenschaltungsanordnungen zwischen dem Peripheriegerät und dem Speicherelement erfolgen; die Eingabe muß nicht notwendigerweise synchron mit dem Rechnertakt erfolgen.
Zu Fig. 13:
In F i g. 13 ist eine Anordnung dargestellt, mit deren Hilfe die verfügbare Zeit einer oder mehrerer der virtuellen Daterverarbeitungseinheiten P0 bis P. so zugeordnet werden kann, daß diese Datenverarbeitungseinheiten den anderen vorgezogen werden oder umgekehrt so zugeordnet werden kann, daß die Zeit auf alle virtuellerTDatenverarbeitungseinheiten gleichmäßig aufgeteilt wird.
Die Steuerung der Verteilung der Zeitzuordnung für die einzelnen virtuellen Datenverarbeitungseinheiten P0 bis P7 erfolgt rr.'.t Hilfe von zwei Spei-
cherseementen 431» und 431/.» 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-Gatter;; 441 bis 444 angelegt sind. Ein Abschnitt 445 desselben Speichersegments enthält ebenfalls 4 Bits α bis d, die an die Eingänge von Und-Gattern 446 bis 449 angelegt sind. Das erste Und- Gatter am Ausgang jedes Abschnitts, an das da« Bit α angelegt ist, beispielsweise die Und-Gatter 441. 446, ist an den Eingang eines Oder-Gatters 4SO angeschlossen. In entsprechender Weise sind alle Und- Gatter 442, 447 ..., an die die Bits b der Abschnitte angelegt sind, mit dem Ausgang an den Eingänger eines Oder-Gatters 441 angeschlossen. Ebenso isi ein Oder-Gatter 452 an die Ausgänge der Und- Gatter 443, 448 angeschlossen, an die die Bits c dei Abschnitte angelegt sind. Schließlich sind die Aus gänge der Und-Gatter 444, 449 ..., an die die Bits c angelegt sind, mit den Eingängen eines Oder-Gatten 453 verbunden.
Die Ausgänge der Oder-Gatter 450 bis 453 führer
zu einem Register 454, dessen Ausgang mit einerr Decodierer 455 verbunden ist. Acht Ausgangsleitungen 463 bis 470 des Decodierers steuern jeweils du Ein- und Ausgänge der virtuellen Datenverarbeitungseinheit P0 bis P7.
Die Zuordnungssteuerung 418 empfängt Takt impulse von einem Taktgeber 460 α über eine Leitung 460. Sie arbeitet vorzugsweise als 16stufige: Ringzähler, bei dem jede Stufe eine Ausgangsleitunt aufweist. Die erste Ausgangsleitung 461 aus de:
ersten Stufe des Ringzählers führt zum zweiten Ein gang der Und-Gatter 441 bis 444. In gleicher Weis< ist die zweite Ausgangsleitung 462 der zweiten Stufi des Ringzählers mit den zweiten Eingängen dei Und-Gatter 446 bis 449 verbunden. Die restlicher vierzehn Ausgangsleitungen der Zuordnungssteue rung 418 sind in entsprechender Weise mit jeweili vier weiteren Und-Gattern verbunden.
3 der 4 Bits des Abschnitts 440, nämlich die Bits b c und d, kennzeichnen eine der virtuellen Daten Verarbeitungseinheiten P0 bis P7 durch ein entspre chendes Signal auf einer der Ausgangsleitungen dei Decodierers 455. Das vierte Bit, nämlich das Bit t des Abschnitts 440, dient zur Freigabe bzw. zu Sperrung der Decodierung, so daß ein bestimmte:
Zeitabschnitt frei, d. h. unbezogen bleiben kann.
Es ist zu erkennen, daß das Rechenwerk 400 übe: Kanäle 470 mit den Speichersegmenten 431m um 431« verbunden ist, so daß das Rechenwerk pro grammgesteuert die gewünschten Zuordnungen ii
Ss den Speichersegmenten 431m und 431 η durch führen kann. Entsprechend den Taktimpulsen au der Leitung 460 kann also der Decodierer 455 mi jedem Taktimpuls von einer virtuellen Datenverarbei
tungseinheit zur nächsten umschalten Entsprechend dem Inhalt der Speichersegmente 431/?! und 431;. kann die gesamte Zeit einer der \irtuellen Datenverarbeitungseinheiten zur Verfügung gestellt werden, oder die Zeit kann je nach der in den Speichersegm .Uen 431 m und 431 π enthaltene^ Codierung gleichmäßig oder auch ungleichmäßig ι virtuellen Datenverarbeitungseinheiten zugeteilt werden.
Aus der Betrachtung der Steuerleitungen am Ausgang des Decodierers^55 ist zu erkennen, daß die zwischen den Speichersegmenten J31 ;?i, 43173 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 Ausaangsleitung 463 zu einer Koinzidenzschaltung 490, an die auch die Leitung 478 angeschlossen ist. Eme Koinzidenzschaltung 500 ist mit der Ausgangsleitung der virtuellen Datenverarbeitungseinheit P0 und mit der Ausgangsleitung 463 verbunden. In gleicher Weise steuern Koinzidenzschaltungen 491 bis 497 und 501 bis 507 die übrigen virtuellen Datenverarbeitungseinheiten. Die Koinzidenzschrltungen 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 Zuordnungssteuerung 418.
Tabelle I Ablauf der Umschaltoperation FF73: (»Laden«zur Zeit der Setzimpulse für FF71
und/oder FF 72) «
Setzen FF 73 = (Tastimpuls), wobei (Tastimpuls) = verzögertes SCP-, SCW- oder »Fehler«-Signal ist.
Rücksetzen FF 73 = FF 73 ■ 7771 · FF 72.
50
FF71: (»Anruf«, gesetzt durch SCP + SCW zur Anzeige der speziellen Programmsituation für die zentrale Datenverarbeitungseir.heit): Setzen FF71 = FF73-FF7I-FF72- c', wobei c' = SCP + SCW. Rücksetzen FF 71 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
FF72: (»Schaltanforderung«, gesetzt durch SCW+ »Fehler« zur Anzeige der speziellen Programmsituation der zentralen Datenverarbeitungseinheit):
Setzen FF72 = FF73 · (FFTI ■ FFTi · s'; wobei / = SGW + »Fehler«.
Rücksetzen FF 72 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
F-FIl. (>, Anruf «-Kennzeichen):
Setzen Fr 77 von Seiten der peripheren Datenverarbeuangseinheit zur Anzeige ftir die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation durchzuführen ist.
Rvcksetzen FF 77 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation nicht durchzuführen ist.
FF 44: (»Umschalt«-Kennzeichen):
Setzen FF 44 von Seiten der peripheren Dptenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungceinheit. daß eine Umschaltoperation durchzuführen ist.
Rücksetzen FF 44 von Seiten der peripheren Datenverarbeilungseinheit zur Anzeige für die zentrale Datenverarbeitun^.einheit. daß eine Umschaltoperation nicht durchzuführen ist.
FF75: (»Betriebserlaubnis«):
Setzen FF75 von Seiten der peripheren Datenverarbeitungseinheit, wenn ein Betrieb der zentralen Datenverarbeitungseinheit er wünscht ist.
Rücksetzen FF75 = FF77 · FF71 + FFM · FFIl; d. h.: bei (FFTI, FFM) ■ (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.
FF 80: (»Anrufen« befiehlt den Beginn der Anruf -operation auf Seiten der zentralen Datenverarbeitungseinheit): Setzen FF 80 = FF 77 · FF 71. Rücksetzen FF 80 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung von FF71 und FF72.
FF71: (»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 Datenverarbeitungseinheu nach Rückstellung vonFF71undFF72.
FFlA: (»Anruf ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungseinheit): Setzen FF74 = CCC.
Rücksetzen FF 74 von Seiten der peripher en Datenverarbeitungseinheit nach Rückstellung vonFF71undFF72.
FF78: (»Umschaltung ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungseinheit):
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 Rucks teilung von FF71 und FF 72.
Tabelle II
FF 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 71
Zeit J. Ii III
IV
VI
1100100000 1100100000 1100100000
110000 1100 110000 1100110000
1100110001 110 0100010 1100100011
1101100001 1110100010 1111100011
1110101010 1111101011
1101100101 1111101111
Neubeginn der periphe.an Datenverarbeitungseinheit
T
»Fehler« -> 5-> »Umschalten« »SCP«. —> C —*· »Anrufen« »SCW«. —> C sowie S -*■
» Anrufen« sowie »Umschalten.^
Ablaufdiagramm zur Umschaltanordiiung am Beispiel:
Automatische Umschaltung und Anrufverarbeitung bei fortwährend betriebener zentraler Datenverarbeitungseinheit.
Bedeutung der Zeiten I bis VI:
warten auf eine Anfrage *SCP*, tSCW* oder »Fehler«
von der zentralen Datenverarbeitungseinheit, H Tastimpuls,
ΠΙ Beschicken von FF 71 und/oder FF72,
IV Beginn vier Operation auf Seiten der peripheren Datenverarbeitungseinheit,
V »Anruf ausgeführt«,
VI »Umschaltung ausgeführt«.
Tabelle UI
FF 77 44 80 71 75 73 74 78 7172 77 44 80 71 75 73 74 78 7172 77 44 80 71 75 73 74 78 7172
Zeit
II
III
IV
VI
1000100000 19 00100000 1000100000
1000110000 1000110000 1000110000
,1000100001 lOOOlOOOlü 1000100011.B
1001000001 1010100010 101100 0 0 1
1010101010 1011001011
1001000101 1011001111
Neubeginn der peripheren Datenverarbeitungseinheit
»Fehler« -*- S -»- »Umschalten« »SCP« ->- C-> »Anrufen« »SCR« -»- C sowie S->-
»Anrufen« sowie »Ungehalten«
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automatische Anrufverarbeitung; verhinderte automatische Umschalt" ig, indem die zentrale Datenverarbeitungseinheit nur so lange betrieben wird, bis von Seiten der zentralen Datenverarbeitungseinheit auf Umschaltung angefragt wird.
Bedeutung der Spalten und Zeilen wie Tabelle Π. Bemerkung zu »/U:
Die periphere Datenverarbeitungseinheit leitet eine (Pseudo-)Umschaltung ein, indem FF79 auf »Ein« gesetzt wird.
Bemerkung zu »Bf.
Zwar wird hier FF 80 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.
35
942 005
Tabelle IV Parameter-Datei
SA Speicherstartadresse zum Auslesen
des Vektors A SB Speicherstartadresse zum Auslesen
des Vektors B SC Speicherstariadresse zum Einschreiben
des Vektors C NY Anzahl der Elemente
in einer fundamentalen Vektoroperation Λ7 Anzahl der Durchläufe
in der inneren Schleife N Φ Anzahl der Durchläufe in der äußeren Schleife
A I Adresseninkrement für die innere Schleife N Φ 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
Tabelle V
Speicherplatzbelegung zur Durchführung einer Multiplikation zweier Determinanten dritten Grades
5 Speicherstelle für
Determinante A
1 «11 Speichersteile
für Determinante B
1 bn Speicherstelle
für Determinante C
k 2 «12 I 2 ι?" m ^n
IQ k + 3 «13 1-1T 3 m -f 1 C12
k + 4 a, j 1 + 4 O12 >71 — 2 C13
k + 5 α.,., } + 5 O22 /n — 3 C21
k + 6 «23 1 + 6 ^32 m 4 C22
15 k + 7 «31 1 + 7 fc13 m -f 5 C23
k + 8 «32 1 + 8 b-23 Hl -f 6 C31
k + fl33 1 + Ö33 m - 7 C32
2O k + 1 + (71 + 8 C33
Die Determinante A ist reihejn>äßig auf die Speicherstellen k bis k + 8 verteilt;
die Determinante B ist spaltenmäßig auf die Speicherstellen / bis / + 8 verteilt;
ar die Determinante C ist reihenmäßig auf die Speicherstellen " m bis m + 8 verteilt
Zu Beginn der Multiplikation wird:
SA =k NV =3 AI = I
SB = 1 NI = 3 Δ Φ = 3
SC = τη Ν Φ = 3
Tabelle VI Adressen- und Steuerungsablauf für die Determinante A zur Durchführung der Multiplikation
gemäß Tabelle V
Schritt Operation VC ic 2 A Adresse
1 SA-+AA NV-1-+VC
NI-I-+IC NΦ-l-+ΦC
2 2 2 k
2 AA + l^AA
VC-I^-VC
1 2 2 k + 1
3 AA+1-+AA
VC- 1-+VC
0 2 2 k + 2
4 SA-+AA NV-1-+VC
IC- 1-+IC
2 1 2 k
5 AA + 1-+AA
VC-I-+ VC
1 1 2 k + 1
6 AA + 1-+AA
VC - 1 -»- VC
0 1 2 k + 2
7 SA-+AA NV-1-+VC
IC- 1-+IC
2 0 2 k
8 AA + 1-+AA
VC-1-+VC
1 0 2 k + 1
9 AA + 1-+AA
VC-1-+VC
0 0 1 k + 2
10 5Α + ΔΦ-+ΑΑ,8Α NV-1-+VC
NI-1-+IC 0C-1-+0C
2 2 1 Jfc + 3
11 AA + 1-+AA
VC- 1-+VC
1 2 k + 4
(Tabelle VI, Fortsetzung)
Schritt Operation NV-X-* NV-X-+ VC VC IC <PC A Adresse
12 AA+ 1-+AA
VC-I-* VC
0 2 1 k + 5
13 SA-+AA
IC-X-+IC
2 1 1 k + 3
14 AA +X-* AA
VC-X-+VC
NV-X-* NV-X-* VC 1 1 1 k + 4
15 AA+ X-* AA
VC -X-* VC
0 1 1 k + 5
16 SA-+AA
IC-X-* FC
2 0 1 k + 3
17 AA+ X-+AA
VC-X^VC
SA+ άΦ-* AA,SA NV-X-*
Nl-X-* IC <I>C-1-+
VC
ΦC
1 0 1 k + 4
18 AA+ X-* AA
VC-X-+VC
AA+ 1^. AA
VC-I-* VC
0 0 1 k + 5
19 AA + X-+AA
VC-X-^VC
2 2 0 k + 6
20 SA-* AA
IC-X-+IC
VC 1 2 0 k + 7
21 AA+ X-* AA
VC-X^VC
0 2 0 k + 8
22 AA+ X-+AA
VC -X-* VC
2 1 0 k + 6
23 SA-* AA
IC -X-* IC
VC 1 1 0 k + 7
24 AA +X-+AA
VC-X-+VC
0 1 0 k + 8
25 AA +X-* AA
VC-X-* VC
2 0 0 k + 6
26 1 0 0 k + 7
27 0 0 0 k + 8
Tabelle VII Beispiel für Gleitkommaadditionen im Rechenwerk
Ί Zeit I '* '4
Subtraktion des Exponenten ...
Ausrichtung der Mantissen
Addition der Mantissen
Nachnormalisierung des
Resultats
β,, bt Ox, ba
Ox, b3
Im selben Rechenwerk befinden sich zur Zeit tt vier verschiedene Wortpaare av bt; i = 1 -=- 4 in vier verschiedenen Bearbeitungsstufen!
Hierzu 2 Blatt Zeichnungen
778

Claims (10)

Patentansprüche:
1. Datenverarbeitungsanlage zur Aufnahme und Abgabe von digitalen Daten und zur Ausführung von Operationen an den Daten, mit einer Datenverarbeitungseinheit, die mehrere virtuelle Datenverarbeitungseinheiten enthält, die jeweils in Verbindung mit einer im Zeitteilbetrieb arbeitenden Unterverarbeitungseinheit eine vollständige Datenverarbeitungseinheit bilden, gekennzeichnet durcli eine abhängig von Daten arbeitende Steueranordnung (418, 431, 455), welche ausgewählte virtuelle Datenverarbeitungseinheiten (P0 bis P7) der Reihe nach mit der Unterverarbeitungseinheit (400) jeweils für ausgewählte Zeitintervalle verbindet.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die Steueranordnung (418, 431, 455) von Daten abhängig ist, die von einem veränderbaren Speicherprogramin stammen.
3. Datenverarbeitungsanlage nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Steueranordnung (418, 431, 455) von Daten abhängig ist, die aus einem Speicher (430; 12 bis 15) stammen.
4. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Steueranordnung (418, 431, 455) von Daten abhängig ist, die von der Unterverarbeitungseinheit (400) stammen.
D. Datenverarbeitungsanlage nach einem der Ansprüche 1 bis 4, dadurcu gekennzeichnet, daß die Steueranordnung (418, 431, 455) von Daten abhängig is;, die von einem von der Bedienungsperson zu betätigenden Schalter stammen.
6. Datenverarbeitungsanlage nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Steueranordnung (418, 431, 455) eine Schrittschaltvorrichtung (401) mit mehreren Schaltzuständen enthält, und daß ausgewählte virtuelle Datenverarbeitungseinheiten (F0 bis P7) jeweils einer beliebigen Anzahl dieser Schaltzustände zugeordnet werden können.
7. Datenverarbeitungsanlage nach Anspruch 6, gekennzeichnet durch einen Taktgeber (460 a) zur Weiterschaltung der Schrittschaltvorrichtung (401).
8. Datenverarbeitungsanlage nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß eine gemeinsame, adressierbare Speicheranordnung (431) vorgesehen ist, die für alle virtuellen Datenverarbeitungseinheiten (P0 bis P7) zugänglich ist und mit der Schrittschaltvorrichtung (401) verbundene Speichersegmente (440, 445, 431 n, 431 m) enthält, in denen zur Steuerung der zeitlichen Zuteilung der Unterverarbeitungseinheit (400) zu den virtuellen Datenverarbeirungseinheiten (P0 bis P7) Codegruppen gespeichert sind.
9. Datenverarbeitungsanlage nach Anspruch 8, dadurch gekennzeichnet, daß die Codegruppen Verhältniszahlen für die Anschlußzeiten der virtuellen Datenverarbeitungseinheiten (P0 bis P7) an die Unterverarbeitungseinheit (400) sind.
10. Datenverarbeitungsanlage nach Ansprüche oder 9, dadurch gekennzeichnet, daß zwischen den Speichersegmenten (440, 445, 431 n, 431 m)
DE19691942005 1968-08-30 1969-08-18 Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten Ceased DE1942005B2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US75669068A 1968-08-30 1968-08-30

Publications (2)

Publication Number Publication Date
DE1942005A1 DE1942005A1 (de) 1970-03-05
DE1942005B2 true DE1942005B2 (de) 1973-08-23

Family

ID=25044636

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691942005 Ceased DE1942005B2 (de) 1968-08-30 1969-08-18 Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten

Country Status (8)

Country Link
US (1) US3573852A (de)
JP (1) JPS509507B1 (de)
BE (1) BE738171A (de)
CA (1) CA920711A (de)
DE (1) DE1942005B2 (de)
FR (1) FR2017099A1 (de)
GB (1) GB1278103A (de)
NL (1) NL6913243A (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE789583A (fr) * 1971-10-01 1973-02-01 Sanders Associates Inc Appareil de controle de programme pour machine de traitement del'information
US3918031A (en) * 1971-10-26 1975-11-04 Texas Instruments Inc Dual mode bulk memory extension system for a data processing
GB1397438A (en) * 1971-10-27 1975-06-11 Ibm Data processing system
US3916383A (en) * 1973-02-20 1975-10-28 Memorex Corp Multi-processor data processing system
US3913070A (en) * 1973-02-20 1975-10-14 Memorex Corp Multi-processor data processing system
US3825902A (en) * 1973-04-30 1974-07-23 Ibm Interlevel communication in multilevel priority interrupt system
FR2258113A5 (de) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
DE2555963C2 (de) * 1975-12-12 1982-10-28 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Funktionsmodifizierung
US4648064A (en) * 1976-01-02 1987-03-03 Morley Richard E Parallel process controller
US4133028A (en) * 1976-10-01 1979-01-02 Data General Corporation Data processing system having a cpu register file and a memory address register separate therefrom
JPS5367811U (de) * 1976-11-11 1978-06-07
US4197579A (en) * 1978-06-06 1980-04-08 Xebec Systems Incorporated Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
DE2845218C2 (de) * 1978-10-17 1986-03-27 Siemens Ag, 1000 Berlin Und 8000 Muenchen Mikroprogrammgesteuerte Ein-/Ausgabeeinrichtung und Verfahren zum Durchführen von Ein-/Ausgabeoperationen
US4257097A (en) * 1978-12-11 1981-03-17 Bell Telephone Laboratories, Incorporated Multiprocessor system with demand assignable program paging stores
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
US4315310A (en) * 1979-09-28 1982-02-09 Intel Corporation Input/output data processing system
FR2469752B1 (fr) * 1979-11-14 1986-05-16 Bull Sa Dispositif de partage d'un sous-systeme central d'un systeme de traitement de l'information en plusieurs sous-systemes independants
US4446514A (en) * 1980-12-17 1984-05-01 Texas Instruments Incorporated Multiple register digital processor system with shared and independent input and output interface
US4481572A (en) * 1981-10-13 1984-11-06 Teledyne Industries, Inc. Multiconfigural computers utilizing a time-shared bus
JPS58182758A (ja) * 1982-04-20 1983-10-25 Toshiba Corp 演算制御装置
US4837785A (en) * 1983-06-14 1989-06-06 Aptec Computer Systems, Inc. Data transfer system and method of operation thereof
US4750107A (en) * 1985-01-07 1988-06-07 Unisys Corporation Printer-tape data link processor with DMA slave controller which automatically switches between dual output control data chomels
US4750113A (en) * 1985-02-28 1988-06-07 Unisys Corporation Dual function I/O controller
US4773038A (en) * 1986-02-24 1988-09-20 Thinking Machines Corporation Method of simulating additional processors in a SIMD parallel processor array
US4760518A (en) * 1986-02-28 1988-07-26 Scientific Computer Systems Corporation Bi-directional databus system for supporting superposition of vector and scalar operations in a computer
US4827403A (en) * 1986-11-24 1989-05-02 Thinking Machines Corporation Virtual processor techniques in a SIMD multiprocessor array
US5027348A (en) * 1989-06-30 1991-06-25 Ncr Corporation Method and apparatus for dynamic data block length adjustment
JP3144842B2 (ja) * 1991-08-09 2001-03-12 株式会社東芝 マイクロプロセッサ
US6047122A (en) * 1992-05-07 2000-04-04 Tm Patents, L.P. System for method for performing a context switch operation in a massively parallel computer system
US5560025A (en) * 1993-03-31 1996-09-24 Intel Corporation Entry allocation apparatus and method of same
BE1009813A3 (nl) * 1995-09-29 1997-08-05 Philips Electronics Nv Programmeerbare logische controller.
US6317820B1 (en) 1998-06-05 2001-11-13 Texas Instruments Incorporated Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism
US7594103B1 (en) * 2002-11-15 2009-09-22 Via-Cyrix, Inc. Microprocessor and method of processing instructions for responding to interrupt condition
US8290765B2 (en) * 2005-03-16 2012-10-16 Research In Motion Limited Handheld electronic device with reduced keyboard and associated method of providing improved disambiguation
US20120226890A1 (en) * 2011-02-24 2012-09-06 The University Of Tokyo Accelerator and data processing method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL238555A (de) * 1958-04-25
GB888732A (de) * 1959-12-30
US3156897A (en) * 1960-12-01 1964-11-10 Ibm Data processing system with look ahead feature
NL276236A (de) * 1961-03-24
US3500334A (en) * 1964-05-04 1970-03-10 Gen Electric Externally controlled data processing unit
US3374465A (en) * 1965-03-19 1968-03-19 Hughes Aircraft Co Multiprocessor system having floating executive control

Also Published As

Publication number Publication date
NL6913243A (de) 1970-03-03
CA920711A (en) 1973-02-06
FR2017099A1 (de) 1970-05-15
BE738171A (de) 1970-02-02
US3573852A (en) 1971-04-06
DE1942005A1 (de) 1970-03-05
JPS509507B1 (de) 1975-04-14
GB1278103A (en) 1972-06-14

Similar Documents

Publication Publication Date Title
DE1942005B2 (de) Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten
DE1934365C3 (de) Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage
DE2724125C2 (de)
DE2353258C2 (de) Datenverarbeitungsanlage
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE2758830A1 (de) Rechenvorrichtung
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
EP0010185B1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE1549480A1 (de) Datenverarbeitungsanlage
DE1499206C3 (de) Rechenanlage
CH644461A5 (de) Digitale multipliziereinrichtung.
DE1549474B2 (de) Anordnung in einer elektronischen digitalen Datenverarbeitungsanlage zur Ausführung eines ersten Befehls und gleichzeitigen Decodierung eines folgenden Befehls
DE3507584C2 (de)
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE2725614C2 (de)
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE2704560C2 (de) Datenverarbeitende Anlage mit paralleler Bereitstellung und Ausführung von Maschinenbefehlen
DE1934441C3 (de) Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner
DE1524211A1 (de) Datenverarbeitungsanlage
DE1934439C3 (de) Digital-Rechner zur Verarbeitung von Vektorfeldern
DE1774866C3 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information
DE2717374C2 (de) Datenverarbeitungsanlage
DE2234192C2 (de) Datenverarbeitungsanlage

Legal Events

Date Code Title Description
BHV Refusal