DE1934365B2 - Umschaltanordnung fuer eine multiprogramm-datenverarbeitungsanlage - Google Patents

Umschaltanordnung fuer eine multiprogramm-datenverarbeitungsanlage

Info

Publication number
DE1934365B2
DE1934365B2 DE19691934365 DE1934365A DE1934365B2 DE 1934365 B2 DE1934365 B2 DE 1934365B2 DE 19691934365 DE19691934365 DE 19691934365 DE 1934365 A DE1934365 A DE 1934365A DE 1934365 B2 DE1934365 B2 DE 1934365B2
Authority
DE
Germany
Prior art keywords
data processing
processing unit
unit
signal
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19691934365
Other languages
English (en)
Other versions
DE1934365A1 (de
DE1934365C3 (de
Inventor
William Joseph; Kastner William Daniel; Richardson Tex. Watson (V.StA.)
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 DE1934365A1 publication Critical patent/DE1934365A1/de
Publication of DE1934365B2 publication Critical patent/DE1934365B2/de
Application granted granted Critical
Publication of DE1934365C3 publication Critical patent/DE1934365C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor

Description

Die Erfindung bezieht sich auf eine Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage mit einer zentralen Datenverarbeitungseinheit, einer peripheren Datenverarbeitungseinheit und einem gemeinsamen Speicher.
Die Arbeitsgeschwindigkeit datenverarbeitender, programmgesteuerter Rechner wurde in den letzten Jahren ständig erhöht. Dies führte insbesondere als Folge unterschiedlicher Fortschritte in der Entwicklung der Rechnerbauelemente dazu, daß nicht mehr diese Bauelemente den arbeitsgeschwindigkeitbegreni'.cnden Faktor darstellen, sondern die Verbindungskanäle zwischen den Bauteilen einer zentralen Datenverarbeitungseinheit und weiteren Bauteilen des Rechners, insbesondere dann, wenn man zu den Kanälen die Speicher hinzurechnet. So konnte die Schaltzeil zur Verarbeitung einer logischen Operation oder gewisser arithmetischer Operationen auf eine Dauer von weniger als 100 Nanosekunden herabgesetzt werden. Auf diese Weise benötigt eine in
einem Rechenwerk durchgeführte arithmetische oder logische Operation wesentlich weniger Zeit als die Übertragung der Daten vom Datenspeicher zum Rechenwerk und die Zurückübertragung der im Rechenwerk erzeugten Daten in. den Speicher.
Je umfangreicher nun ein Computer wird, je mehr verschiedene Speicher und Peripheriegeräte erenthält und je höher ihre Speicherkapazität wird, desto häufiger kommt es vor. daß im Verlauf einer Berechnung umfangreiche Anlagenteile stillstehen, weil eine Beendigung von Abläufen von anderen Orten abgewartet werden muß. Damit eine große Anlage wirtschaftlich ausgenutzt werden kann, indem sie wenigstens in der Nähe ihrer Verarbeitungskapazität betrieben wird, die durch die Verarbeitungsgeschwindigkeit der zentralen Datenverarbeitungseinheit innerhalb des Rechners bestimmt wird, wurden bereits Multiprogramm-Datenverarbeitungsanlagen entwikkelt, die eine gleichzeitige oder quasi-gleichzeitige Bearbeitung mehrerer Programme in mehreren bzw. in einer zentralen Datenverarbeitungseinheit gestatten.
In den USA.-Patentschriften 3 337 854 und 3 346 851 sind Hochgeschwindigkeits-Rechner beschrieben, bei denen eine zentrale Datenverarbeitungseinheit auf Grund eines in ihr ablaufenden Benutzerprogramms Dienstleistungen von Peripheriegeräten mit Hilfe interner Systemprogramme anfordern kann. Nach einer solchen Anforderung wartet der betreffende Rechner, bis das Systemprogramm nach einer bestimmten Wartezeit dem Benutzerprogramm bzw. der zentralen Datenveraroeitungseinheit anzeigt, daß eine Programmumschaltung \on Seiten der zentralen Djtenverarbeitungseinheit durchgeführt werden kann.
Der Erfindung liegt nun die Aufgabe zugrunde, eine Umschaltanoirinung der eingangs angegebenen Art derart auszugestalten, daß für den Fall, daß die zentrale Datenverarbeitungseinheit auf die Ausführung von Progummcn in der peripheren Datenverarbeitungseinheit warten muß, von der peripheren Datenverarbeitungseinheit ein Programm zur Bearbeitung in der Wartezeit ausgewählt wird, mit dessen Bearbeitung die zentrale Datenverarbeitungseinheit nach Austausch entsprechender Signale beginnt.
Frfindungsgcmäß wird diese Aufgabe dadurch gelöst, daß die periphere Datenverarbeitungseinheit so ausgebildet ist. daß sie in Abhängigkeit von dem Stand des in der zentralen Datenverarbeitungseinheit laufenden Programms die Auswahl des nächsten \on der zentralen Datenverarbeitungsanlage zu verarbeitenden Programms aus dem Speicher steuert und ein Freigabesignal erzeugt, das anzeigt, daß eine Auswahl getroffen ist. daß die zentrale Datenverarbei-Ϊ tungseinheit der peripheren Datenverarbeitungseinheit entweder ein erstes Signal zuführt, das anzeigt, ' daß die zentrale Datenverarbeitungseinheit ohne Pvogrammwechsel weiterarbeiten kann, oder ein /weites Signal, das anzeigt, daß ein Programmwechsel erforderlich ist, und daß eine Schaltung vorgesehen ist, die auf das zweite Signal und auf das Freigabesignal anspricht und in der zentralen Datenverarbeitungseinheit die Bearbeitung des nächsten von der peripheren natenverarbeitungseinheit ausgewählten Programms auslöst.
Mit Hilfe der erfindungsgeimiHen I !mschahordnung wird es möglich, die durchschnittliche Verarbeitungsgeschwindigkeit des Rechners bis auf die Arbeitsgeschwindigkeit des Rechenwerks zu erhöhen. Da die periphere Datenverarbeitungseinheit laufend augenblicklich nicht bearbeitete, aber im Rechner vorhandene Programme vorsorglich daraufhin überprüft, ob sie für eine Weiterverarbeitung durch die zentrale Datenverarbeitungseinheit bereit sind, fallen die bisher benötigten Wartezeiten weg, die durch das Warten auf die Ausführung von Dienstleistungen
ίο in Peripheriegeräten auftragen, weil jetzt in einem solchen Fail unverzüglich auf ein zur Weiterverarbeitung bereites Programm umgeschaltet wird, das dann in der zentralen Datenverarbeitungseinheit abläuft. Die zentrale Datenverarbeitungseinheit ist also ständig in Betrieb, so daß die durchschnittliche Verarbeitungsgeschwindigkeit erhöht wird.
Eine Ausgestaltung der Erfindung ist gekennzeichnet durch eine Schaltung zur Übertragung eines von der zentralen Datenverarbeitungseinheit stammenden Fehlersignals zu der peripheren Datenverarbeitungseinheit, die daraufhin ebenfalls den Programmwechsel in der zentralen Datenverarbeitungseinheit auslöst.
Mit Hilfe dieser Ausgestaltung der Erfindung kann auch dann ein Programmwechsel ausgeführt werden, wenn die zentrale Datenverarbeitungseinheil ein Fehlersignal abgibt, das anzeigt, daß das zur Zeit bearbeitete Programm auf Grund eines Fehlers nicht mehr weiter bearbeitet werden kann. Der Betrieb des Rechners wird in diesem Fall nicht einfach unterbrochen, sondern es wird zu einem anderen Programm umgeschaltet, das zur Weiterverarbeitung bereit ist.
Eine vorteilhafte Weiterbildung der Erfindung.
bei der die zentrale Datenverarbeitungseinheit ein Rechenwerk, ein Befehlsabruf register zur Übermittlung von Befehlen zu dem Rechenwerk, sowie einen Adressengeneralor zur Erzeugung von Steuercodegruppen für die Steuerung des Einspeicherns und Abrufens von Operanden zwischen dem Speicher und dem Rechenwerk aufweist, ist dadurch gekennzeichnet, daß das Befehlsabrufeinheitsregister einen Abschnitt aufweist, in dem entweder ein Aufruf- und Weiterbearbeitungsbefehl gespeichert wird.
wenn die zentrale Datenverarbeitungseinheit ohne Programmwechsel weiterarbeiten kann, oder der Aufruf- und Waitebefehl, wenn ein Programmwechsel erforderlich ist, daß mit diesem Abschnitt des Befehlsabi ufeinheitsregistcrs ein Decodierer verbunden ist. der entweder das erste Signal auf einer ersten Ausgangsleitung erzeugt, wenn in dem Abschnitt ein Aufruf- oder Weiterbearbeitungsbefehl steht, oder das zweite Signal auf einer zweiten Ausgangsleitung erzeugt, wenn in dem Abschnitt ein Aufruf- und Wartebefehl steht, daß ferner eine Schaltung vorgesehen ist. um das jeweils vorhandene Ausgangssignal zum Rechenwerk zu bringen, wenn der reservierte Speicherplatz verfügbar ist, und daß schließlich eine von diesem Alisgangssignal gesteuerte Tetlschaltung vorgesehen ist zur Weiterleitung der gerade vorliegenden Steueicodegruppc als die genannte Coüegruppe an Stelle der Operanden in den reservierten Speicherplatz.
Nachfolgend wird ein Anwendungsbeispiel der Erfindung an Hand der Zeichnung beschrieben. Hs zeigt Fig. 1 eine vorzugsweise Anordnung von Rechnereinlieiien und -petiplieriegeräten,
Fig. 2 ein Blockschaltbild zu Fig. 1,
F i g. 3 ein Blockschaltbild zur Darstellung einer Umschaltanordnung zwischen einer zentralen Datenverarbeitungseinheit und einer peripheren Datenverarbeitungseinheit der F i g. 1 und 2,
F i g. 4 ein ausführlicheres Blockschaltbild der Umschaltanordnung von Fig. 3,
F i g. 5 ein Diagramm zur Darstellung einer Betriebsweise der zentralen Datenverarbeitungseinheit gemäß F i g. 1 bis 4,
F i g. 6 eine Puffereinheit zum Eingeben beispielsweise von Vektordaten in einen Rechner,
F i g. 7 ein Blockschaltbild der zentralen Datenverarbeitungseinheit gemäß F i g. 1 bis 4,
F i g. 8 ein aus zwei Abschnitten aufgebautes Rechenwerk in der zentralen Datenverarbeitungseinheit,
F i g. 9 Baueinheiten innerhalb der zentralen Dalenverarbeitungseinheit zur Durchführung der Umschaltung mit Hilfe der in den F i g. 3 und 4 dargestellten Umschaltanordnung,
Fig. 10 eine Darstellung zur Veranschaulichung des Zeitteilbetriebs zwischen virtuellen Datenverarbeitungseinheiten innerhalb der peripheren Datenverarbeitungseinheit gemäß F i g. 1 und 2,
F i g. 11 ein Blockschaltbild der peripheren Datenverarbeitungscinheit,
Fig. 12 den Zugriff auf Zellen in einem Kommunikationsregister von Fig. 11 und
Fig. 13 eine ausführliche Darstellung der in Fig. 11 gezeigten Zuordnungssteuerung.
In der nachfolgenden Beschreibung eines Anwendungsbeispiels der Erfindung wird die Zusammenarbeit einzelner Einheiten innerhalb eines vorzugsweise zur Verarbeitung wissenschaftlicher Daten ausgelegten Rechners genau erläutert.
Zu Fig. 1:
Der Rechner enthält eine zentrale Datenverarbeitungseinheit 10 sowie eine periphere Datenverarbeitungseinheit 11. Ein Zentralspeicher besteht aus vier, von Dünnschichtspeicherelementen gebildeten Speichern 12 bis 15 mit einer Zykluszeit von 160 Nanosekunden bei einer durchschnittlichen Zugriffszcii von 100 Nanosekunden. In den Speichern erfolgt beim Lesen ein Löschungsvorgang. Der Zentralspeicher ist an die zentrale Dalenverarbeitungseinheit 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 ans 32 Bits. 256 Bits = 8-32 Bits = 8 Wörter heißen »Wortgnippe«. was bedeutet, daß 2048 Wortgruppen zu je 256 Bits in jedem der Speicher 12 bis 15 gespeichert sind.
Eine Speicherstenereinheh 18 stellt die Lese-Schreib-Steuerong für den Zentralspeicher und damit das im allgemeinen notwendige Zwischenstück zwischen dem Zentralspeicher einerseits und der zentralen Datenverarbeitungseinheit 16 bzw. der peripheren Datenverarbeitungseinheit 11 andererseits dar. Die Speichersteuerernheit 18 hat eine Pufferwirkung, und sie enthält Vorrichtungen zur Ein- und Ausblendung, Kartierung und zum Schutz der Daten in den Speichern 12 bis 15.
Die zentrale Datenverarbeitungseinheit 10. die periphere Datenverarbeitungseinheit 11, die Speichersteuereinheit 18 und die Speicher 10 bis 15 arbeiten synchron miteinander. Ein Taktsignal für die zentrale Datenverarbeitungseinheit erscheint alle 50 Nanosekunden, während ein Taktsignal für die periphere Datenverarbeitungseinheit alle 65 Nanosekunden erscheint. Weitere Speichereinheiten werden von Plattenspeichern 16, 17 mit einer durchschnittlichen Zugriffszeit von etwa 60 Millisekunden
ίο und von Bandspeichern 21 bis 26 gebildet. In den Bandspeichern 21, 22 werden vorzugsweise 1-Zoll-Bänder verwendet, während in den Bandspeichern 23 bis 26 Halbzollbänder verwendet werden. Alle Bandspeicher können als Arbeitsspeicher und auch zu Ein-Ausgabe-Zwecken verwendet werden. Ein Kartenleser 19 dient zur Eingabe von auf Lochkarten gespeicherten Daten, und ein Kartenstanzer 20 dient zur Ausgabe von Daten auf gestanzten Lochkarten. Ein Zeilendrucker 27 ist als Ausgabegerät
ao vorgesehen.
Als weiteres Ein-Ausgabe-Gerät dient eine Bildschirmkonsole 28. Diese Bildschinnkonsole enthält zwei Bedienungspulte, die mit der peripheren Datenverarbeitungseinheit 11 gekoppelt sind und zwei BiIdschirme von Zweistrahl-Kathodenstrahlröhren enthalten. Die Bedienungspulte bilden nicht nur die Steuereinheit für die Bildschirmkonsole 28, sondern auch für den Kartenleser 19, den Kartenstanzer 20. den Zeilendrucker 27 und die Bandspeicher 21 bis 26. Über die Bedienungspulte kann eine Bedienungsperson in den Rechner Befehle zum Prüfen der Hardware oder der Software eingeben; ebenso können über die Bedienungspulte Programmunterbrechungen an bestimmten Stellen ausgeführt werden.
die es erlauben, den Fortgang einer Operation zu überprüfen und auf Grund der erzielten Fortschritte in ihrem weiteren Ablauf zu beeinflussen. Letzteres kann bedeuten, daß die Operation auf dem eingeschlagenen Weg weitergeführt wird oder daß möglicherweise mit anderen Daten auf einem anderen Weg fortgefahren wird.
Wie es bei Rechnern allgemein üblich ist, sind in dem in F i g. 1 dargestellten Rechner mehrere Speicherhierarchien vorgesehen. Beispielsweise gibt es die vier folgenden Hierarchien: a) die zentrale Daten Verarbeitungseinheit 10 mit dem schnellsten Speicher, b) die Speicher 12 bis 15 des Zentralspeichers, die etwas langsamer arbeiten, c) die Plattenspeicher 16, 17. die noch langsamer arbeiten und d) die Bandspeicher 21 bis 26. die im Vergleich zu den zuvor erwähnten Speichern die längste mittlere Zugriffszeit haben, falls von ihnen keine entsprechend vorsortierten Daten abgerufen werden.
Der Rechner von F i g. 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 solches Untersystem besteht in einer automatischen Umschaltanordnung zwischen der zentralen Datenverarbeitungseinheit 10 und der peripheren DatenveTarbritungsemheit 11 des Rechners, in dem mehrere Programme gleichzeitig ablaufen
S5 und verarbeitet werden können.
Ein weiteres solches Untersstem ist n» der zentralen Datenverarbeitungsehiheit 10 enthalten. Dieses Untersysiem ermöglicht es, Daten zur Eingabe
in den Rechner so zu speichern, zu gruppieren und dem Rechner in solcher Reihenfolge anzubieten, daß damit seine Verarbeitungsgeschwindigkeit wesentlich erhöht wird.
Ein nächstes solches Untersystem betrifft ein Parallelrechenwerk mit hoher Verarbeitungsgeschwinddigkeit und Flexibilität, in dem Operanden in einer Art von Fließbandverfahren verarbeitet werden.
Ein weiteres solches Untersystem schließlich betrifft das Arbeiten mehrerer virtueller Datenverarbeitungseinheiten innerhalb der peripheren Datenverarbeitungseinheit 11 in einem Zeitteilverfahren.
Zu Fig. 2:
Die Organisation des Rechners von Fig. 1 ist durch eine Erläuterung der im Blockschaltbild von F i g. 2 aufgezeigten Datcnkarsäle !eicht zu umreißen. Ein Kanal 29 verbindet die Speichersteuereinheit t8 mit einer puffernden Platten- und Trommelsteuereinheit 30. von der ein Kanal zum Plattenspeicher 16 und ein weiterer Kanal zum Plattenspeicher 17 führen. Die Platten- und Trommelsteuereinheit 30 ist ein einfacher, fest verdrahteter Einzweckrechner zur Durchführung des Datentransports zwischen den mit der Speichersteuereinheit 18 verbundenen Zentralspeicher und den Plattenspeichern 16, 17 über den Kanal 29 nach Erhalt eines 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 Speichersteuereinheit 18 und der Platten- und Trommelsteuereinheit 30 transportiert.
Der Anschluß eines Trommelspeichers 31 an die Platten- und Trommelsteuereinheit 30 zur Erhöhung der Speicherkapazität mit mittlerer Zugriffszeit könnte über einen weiteren bidirektionalen Kanal erfolgen.
Ein weiterer Kanal zur simultanen Übertragung von 256 Bits ist der bidirektionale Kanal 32 zwischen der Speichersteuci einheit 18 und der peripheren Datenverarbeitungseinheit 11, der je eine Wongruppe zwischen dem Zentralspeicher und der peripheren Datenverarbeitungseinheit It über die Speichersteuereinheit 18 transportiert.
Wie oben bereits angedeutet wurde, dient die periphere Datenverarbeitungseinheit 11 als Mehrzweckrechner, dem unter anderem die Steuerung des Datenflusses zn allen Peripheriegeräten, deren Datenkanäle an ihn angeschlossen sind, mit Ausnahme der Plattenspeicher 16 und 17 und des Trommelspeichers 3! obliegt
Beim nicht zerstörungsfreien Auslesen aus dem Zentralspeicher müssen die ausgelesenen Daten regenerativ wieder eingespeichert werden, während nur eines der acht Wörter einer Wortgrappe in der peripheren Datenverarbeitungseinheit Ü verarbeitet wird. Dies erwebt sich schon deshalb als notwendig. da von der peripheren Datenverarbeitungseinheit 11 infolge der mehr oder weniger langsam arbeitenden Peripheriegeräte nur jeweils ein Wort aus der Achtwortgruppe (maximal) benötigt wird. Eine typische Größe der Datenübertragungsgeschwindigkeit für die Übertragung von Daten innerhalb der peripheren Datenverarbeitungseinheit 11 für ein Peripheriegerät liegt bei etwa 100 000 Wörtern pro Sekunde.
Die periphere Datenverarbeitungseinheit 11 enthält acht virtuelle Datenverarbeitungseinheiten, von denen die Mehrzahl so programmiert werden kann, daß jede beliebige virtuelle Datenverarbeitungseinheit mit jedem beliebigen Peripheriegerät gekoppelt werden kann. Die periphere Datenverarbeitungseinheit 11 arbeitet mit Hilfe der virtuellen Datenverarbeitungseinheiten entsprechend dem im Zentralspeicher gespeicherten Programm, wobei die virtuellen Datenverarbeitungseinheiten außerdem das in der zentralen Datenverarbeitungseinheit 10 laufende Programm überwachen.
Ein Kanal 33 verbindet die zentrale Datenverarbeitungseinheit 10 mit der Speichersteuereinheit 18, die ihrerseits über Datenkanäle mit den Speichern 12 bis '5 des Zentralspeichers in Verbindung steht. Im Gegensatz zu den obigen Ausführungen hinsichtlich
»ο der peripheren Datenverarbeitungseinheit 11 kann die zentrale Datenverarbeitungseinheit 10 alle acht Wörter einer Wortgruppe aus dem Zentralspeicher verwerten, wobei sie überdies die Fähigkeit besitzt, eine beliebige Kombination dieser acht Wörter zu
»5 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 ausfuhrt. Die zentrale Datenverarbeitungseinheit 10 hat diese Fähigkeit insbesondere deshalb, weil zwischen der Speichersteuereinheit 18 und dem Rechenwerk innerhalb der zentralen Datenverarbeitungseinheit 10 Puffer vorgesehen sind, die solche zur Bildung der erforderlichen Befehlsketten benötigten Mikrobefehle enthalten oder zu bilden gestalten. Zusätzlich enthält die zentrale Datenverarbeitungseinheit 10 das als so-
*5 genannten 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 15 des Zentralspeichers. Zur Erhöhung der Verarbeitungsgeschwindigkeit werden im Rechner und insbesondere im Zentralspeicher sich vorzugsweise zeitlich überlappende Arbeitszyklen angewendet. In der Speichersteuereinheit 18 ist eine Vorrangsteuerung mit vorzugsweise festen Zuordnungen vorgesehen, damit Anfragen an den Zentralspeicher in einer gewünschten Reihenfolge beantwortet werden können. So werden Anfragen von den an die Kanäle 29, 32, 33 und 34 unmittelbar angrenzenden Einheiten vorzugsweise in die«:· Reibenfolge und vorrangiger behandelt als Anfragen von solchen Einheiten, die nachgeschaltet sind, wobei die Möglichkeit besteht, die Prioritätsreihenfolge beliebig abzuändern
309 532/417
Zu Fig. 3:
In Form eines Blockschaltbilds wird eine automatische Umschaltanordnung gezeigt, die die periphere Datenverarbeitungseinheit 11 mit der zentralen Datenverarbeitungseinheit 1Θ verbindet. Mit Hilfe dieser Umschaltanordnung ist es möglich, den Zeithaushalt der zentralen Datenverarbeitungseinheit 10 vorsorglich so einzuteilen, daß zeitraubende Dialoge zwischen ihr und der peripheren Datenverarbeitungseinheit 11 vermieden werden. Die Wirkungsweise der Umschaltanordnung basiert darauf, daß in der zentralen Datenverarbeitungseinheit 10 echt gleichzeitig oder vorzugsweise quasi-gleichzeitig mehrere Benutzerprogramme ablaufen können und daß andererseits die periphere Datenverarbeitungseinheit 11 periphere Anfragen von Seiten dieser Programme zu erledigen hai, 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 SCP und SCW. Das Signal SCP 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 Datenverarbeitungseinheit 11 abzuwarten. Die periphere Datenverarbeitungseinheil 11 wird also auf Grand der entsprechend gestellten Anforderung Daten. Adressen oder ein ganzes Programm sicherstellen bzw zusammenstellen, welche im weiteren Abiauf des innerhalb der zentralen Datenverarbeitungseinheit weiterverarbeiteten gleichen Benutzerprogramms erforderlich werden Die periphere Datenverarbeitungseinheit 11 überträgt dann das angeforderte Datenmaterial bei passender Gelegenheit. Das Signal 5CP wird, wie in F i g. 3 dargestellt ist, über eine Ausgangsleitung 41 von der zentralen Datenverarbeitungseinheit 10 zur peripheren Datenverarbeifungseinheii ii übeitragen.
Das Signal SCW wird dagegen dann von einem Benutzerprogramm ausgegeben, wenn dieses nicht »■ei'.et ablaufen kam:, ohne die von der peripheren Datenverarbeimngseinheit 11 angeforderte periphere Dienstleistung erhalten zu haben. Das Signa' SCW wird über eine Ausgangsleitung 42 aus der zentralen Datenverarbeitungseinheh 10 an die in F i g. 3 zwischen der zentralen Datenverarbeitangseinheit 10 und der peripheren Datenverarbeitungsejnheit Il liegend« eigentliche Umschaltanordnang angelegt.
Die periphere Dateaverarbeitungseinheit 11 untersucht die innerhalb der zentralen Datenverarbeitungseinheit 10 gerade unterbrochenen und nicht weiter ablaufenden Programme daraufhin, welches von der - ntralen Datenverarbeitungseinheit 10 weiterverar-. jitet werden sollte. Hat sie ein solches Programm gefunden, dann setzt die periphere Datenverarbeitungseinheit 11 eine SchaltkennzeeAeneinricbtung 44, die hier als Flip-Flop-Schahnng dargestellt ist Wird nun in der zentralen Datenverarbeituneseinheit 10 beim Anlauf eines in ihr verarbeiteten Benutzerprogranuns ein Signal SCIf gefunden, dann entsteht über die Und-Gatter 43 auf einer Leitung 45 ein Signal »Umschalten«, wenn auch die Schaltkennzeichenvorrichtung 44 gesetzt ist. Das Signal »Umschalten« verursacht in der zentralen Datenverarbeitungseinheit 10 die Durchführungen der erforderlichen Umschaltung von dem Benutzerprogramm, das zu einem Signal SCW geführt hat, zu dem Programm, das von der peripheren Datenverarbeitungseinheit 11 aus den in Reserve befindlichen Programmen als das Programm
ίο ausgewählt worden ist, das als nächstes an die Reihe kommt.
Im einzelnen spielt sich bei diesem Vorgang folgendes ab: Wenn die Schaltkennzeichenvorrichtung 44 gesetzt ist, kann beim Auftreten eines Signals SCW von Seiten der zentralen Datenverarbeitungseinheit 10 über das Und-Gatter 43 das Signal »Umschalten« auf der Leitung 45 zur zentralen Datenverarbeitungseinheit 10 gelangen und dieser anzeigen, daß sie an Stelle des Programms, das zur Abgabe des Signals SCW geführt hat und das sich nun vorher in Wartestellung befindet, ein anderes, bisher in Reserve befindliches Programm oder Programmsegment weiter bearbeiten kann. Sie wird dieses Programm oder Programmsegmeni automatisch und ohne Verzögerung
»5 übernehmen und weiterverarbeiten, indem ihr durch Rückfrage bei der peripheren Datenverarbeitungseinheit 11 von dieser das betreffende Programm oder Programmsegment angezeigt wurde. Hat nun beispielsweise die periphere Datenverarbeitungseinheit 11 etwa bei Fehlen solcher in Wartestellung befindlicher, betriebsbereiter Programme keine solche Anzeige zu machen, dann ist von der peripheren Datenverarbeitungseinheit auch die Schaltkennzeichenvorrichtung nicht gesetzt worden, so daß die Abgabe des Signals »Umschalten« von vornherein unmöglich gemacht ist. Beim Auftreten des Signals SC W beendet die r.entrale Datenverarbeitungseinheit 10 in diesem Fall zwar ebenso d;c Weiterverarbeitung des Benutzerprogramms. das zur Abgabe des Signals SCW
«0 geführt hat. doch bleibt dieses BenutzerprogTamm in der zentralen Datenverarbeitungseinheit 10 so lange, bis die Schahkennzcichenvorrichtung 44 von der peripheren Datenverarbeitungseinheit 11 gesetzt wird. Sobald das Signal !»Umschalten« erscheint, wird die die Schalikcnnzeichenvorrichtung 44 bilHende Flip-Flop-Schaltung zurückgesetzt.
Mit dieser automatisch arbeitenden Umschaltanordnung wird ein sonst üblicher zeitraubender Dialog zwischen der zentralen und der peripheren Datenverarbehungsemheit dadurch vermieden, daß die periphere Datenverarbeitungseinheit 11 vorsorglich sämtliche in Reserve befindliche Programme innerhalb der zentralen Datenverarbeitungseinheit 10 auf Einsatzbereitschaft, d. h. auf die Möglichkeit, sofort weiter- verarbeitet zu werden, prüft und registriert. Ein weiterer Vorteil ergibt sich daraus, daß in der zentralen Datenverarbeitungseinheit keine Schaltungsemrichtungen zur Durchführung des sonst üblichen Dialogs benötigt werden.
ZoFig.4:
F i g. 4 zeigt ein ausführlicheres Block: cha*tbQd der in F i g. 3 dargestellten Umschahanordnurig, aus dem die Zusammenwirkung zwischen der zentralen Datenverarbertungseinheit 10, der peripheren Datenverarbeitungsejnheit 11 and der Speichersteuereinheit 18 deutlich hervorgeht In Fig.4 ist der wesentliche
I, 11 12
%eil der automatischen Umschaltanordnung als zur pheren Datenverarbeitungseinheit 11 bestimmte Be-
t jeripheren Datenverarbeitungseinheit U gehörig ge- triebsbedingungen auftreten.
iteichnet, indem er als Ausgangsteil der peripheren Auf einer Leitung 57 wird ein Signal PSC a!s »patenverarbeitungseinheit 11 in Richtung zur zentra- Quittiersignal von der zentralen Datenverarbeitungsi en Datenverarbeitungseinheit 10 und zur Speicher- 5 einheit 10 zur peripheren Datenverarbeitungseinheit I iteuereinheit 18 dargestellt ist. Die periphere Daten- 11 auf Grund eines vorausgegangenen Signals SCW Jverarbeitungseinheit 11 enthält also in F i g. 4 auf der oder eines Fehlersignals übertragen. Die periphere linken Seite einer gestrichelten, senkrechten Linie Datenverarbeitungseinheit 11 löst eine Operationseine Umschaltanordnung als Ausgangsteil, während folge aus, die die momentan unterbrochene Zentral-J*uf der rechten Seite der gestrichelten Linie die io datenverarbeitungseinheit veranlaßt, einen bestimmeigentlichen Schaltungsanordnungen der peripheren ten Informationscode in den zentralen Speicher zu J)atenverarbeitungseinheit liegen, von denen jedoch übertragen, der den Gesamtzustand des Programm-Ipur Anschlüsse dargestellt sind. teils in der zentralen Datenverarbeitungseinheit 10 1 Die Ausgangsleitungen 41 und 42 für die Signale charakterisiert, bei welchem diese Einheit die Ver- ^CP und SCW führen von der zentralen Datenver- 15 arbeitung des Programms unterbrochen hat. Nach /ärbeitungseinheit 10 zur penpheren Datenverarbei- dieser Abspeicherung wird nun die zentrale Datentungseinheit 11. Für diese Übertragung ist ein Oder- Verarbeitungseinheit 10 in einen gänzlich neuen Zu- '(latterSO vorgesehen, an dessen Eingänge die Signale stand versetzt, auf Grund dessen sie ein neues Pro- ~ ^CP und SCW angelegt werden können, und es ist gramm ausführen kann. Dieses Programm beginnt ein einen weiteren Signalkanal bildendes Oder-Gatter ao bei dem Zustand, der dem Informationscode ent-51 vorgesehen, an dessen Eingänge das Signal SCW spricht, der der zentralen Datenverarbeitungseinheit und ein Fehlersignal über eine Leitung 53, die aus nun zugeführt wurde. Erscheint auf der Leitung 57 der zentralen Datenverarbeitungseinheit 10 kommt, also ein solches Signal PSC, dann kann die periphere ; angelegt werden können. Die Signale SCP, SCW und Datenverarbeitungseinheit 11 auf den Leitungen 41, 's das Fehlersignal entstehen auf Grund bestimmter 25 42 oder 53 nachfolgend erscheinende Signale SCP, ] Programmbefehle im Benutzerprogramm, wobei im SCW oder »Fehler« beantworten. Wie noch gezeigt - Falle der zwei letzteren Signale ein Umschalten vom wird, registriert die periphere Datenverarbeitungseint bisherigen Benutzerprogramm zu dem nächsten Pro- heit 11 das auf der Leitung 57 erscheinende Signal 1 iramm erwünscht sein kann. und bringt dementsprechend das nächste Programm Ein kurze Zeit nach Erscheinen der Signale SCT 30 sowie die von der zentralen Datenverarbeitungseinoder SCW oder des Fehlersignals entstehender Tast- heit 10 zu verarbeitende Information in Bewegung, impuls auf einer Leitung 54, kommt von der zentra- sobald ein Signal SCW oder ein Fehlersignal auf den len Daienverarbeitungseinheit 10 zur peripheren Da- Leitungen 42 bzw. 53 erscheint.
■> tenverarbeitungseinhcit 11, in der er eine Flip-Flop- Das Signal »Umschalten« (PS) an der Leitung45 Schaltung 73 setzi. Cs sei bemerkt, daß der Tastim- 35 von F i g. 3 und F i g. 4 zeigt der zentralen Datenver- ~': puls und die von ihm getastete Flip-Flop-Schaltung arbeitungseinheit an, daß diese die Umschaltung von 73 ohne Abweichung von dem in F i g. 3 dargestellten einem Benutzerprogramm zu einem anderen BePrinzip entfallen könnten. nutzerprogramm vornehmen kann.
Mit einem Signal auf einer der Ausgangsieitungen Ein auf der Leitung 58 von der peripheren Daten-
41. 42 fragt die zentrale Datenverarbeitungseinheit 10 *° Verarbeitungseinheit 11 zur zentralen Datenverarbei-
bei der peripheren Datenverarbeitungseinheit 11 an. tungseinheit 10 übertragenes Signal »Anruf« (PC)
ob sie einen bestimmten Teil des von ihr gerade aus- zeigt der zentralen Datenverarbeitungseinheit an, daß
geführten Programms über den Kanal 33 und die im Zentralspeicher eine bestimmte Stelle verfügbar
Speichersteuereinheit 18 in eine bestimmte, Vorzugs- ist.
weise reservierte Stelle des Zentralspeichers ein- 45 Ein Signal MSC auf einer Leitung 59 zeigt, was die
; speichern darf. Dabei erstreckt s>ch die Zeitspanne, Spcicher^ieuereiriheit 18 anbelangt, daß ein Um-
. in deren Verlauf den bestimmten Teilen des in die- schaltbefehl ausgeführt wurde. Das Signal gelangt von
sem Augenblick von der zentralen Datenverarbei- der Speiehersteueresnheit 18 zur penpheren Daten-
tungsemheit 10 verarbeiteiert Programms enthalten Verarbeitungseinheit 11 und zu einem Eingang eines
_ soll, über die Zeit, die die periphere Uatenverarbei- S^ Und-Gatters 64. dessen zweiter Eingang mit der das
j", tungseinheit 11 benotigt, diesen Programmteil abzu- Signal PSC führenden Leitung 57 verbunden ist.
j < fragen und auf Grund des vorgefundenen Informa- Wenn die Und-Bedingung an diesem Und-Gatter er-
i" tionsgefaalts eine dementsprechende Instniktionsfolge füllt ist, kann die periphere Datenverarbeitungsein-
' ablaufen zn lassen. In dem hier beschriebenen Bei- heit 10 den nächsten Zustandswechsel für die zen-
; spiel wird für eine solche Steueroperation einer Um- 55 irale Datenverarbeitungseinheit vorbereiten. Eine
schaltanordnung eine Wortstelle im Zentralspeicher von der penpheren Datenverarbeitungseinheit 11 zur
-, reserviert Ein auf einer Leitung 55 von der zentra- Speichersteuereinheit 18 führende Leitung 6Θ über-
len Datenverarbeitnngseinheit 10 zur peripheren Da- tragt wie die obengenannte Leitung 45 das Signal
J tenverarbeitiingserahert 11 übertragenes Signal CCC »Umschalten«; dieses Signal zeigt der Speichersteuer-
meldet der peripheren Dateoverarbeitungseinheit 11, &> einheit 18 an, daß sie den Umschaltbefehl ausführen
ν daß eis mit dem Signal SCP oder SCW begonnener kann.
Ablauf beendet ist Wie im Zusammenhang mit F i g. 2 bereits erwähnt Auf einer Leitung 56 gelangt ein Signal R von der wurde, übertragen die Kanäle 32 und 33 acht Wör-
'. peripheren Datenverarbeitungseinheit 11 zur zentra- ter = 256 Bits. d. h. jeweils einen ganzen '.Vonblock
len Datenverarbeitungseinheit 10, das, wie nachher 65 gleichzeitig zwischen der peripheren Datenverarbei-
erläutert wird, dazu verwendet werden kann, den tungseinheit und der Speichersteuereinlitii bzw.
Ablauf innerhalb der zentralen Datenverarbeitungs- zwischen der zentralen Datenverarbeitungseinheit und
einheit 10 aspen, sobald innerhalb der peri- der Speichersteuere inheit.
13 14
Der zur Umschaltanordnung gehörende Ausgangs- Schluß 84 e, der Ja-Ausgang der die Schaltkennzei- QJ
teil der peripheren Daten', erarbeiiungseinheit 11 ent- chenvorrichtung bildenden Flip-Flop-Schaltung 44 ^
hält nach Fig. 4 zehn P.ip-Flop-Schaltungen 71 bis zum Anschluß 84/, der Ja-Ausgang der Flip-Flop- sL
75, 44 und 77 bis 80. Zu diesem Ausgangsttil ge- Schaltung 77 zum Anschluß 84 g und der Ja-Ausgang
hören auch die Oder-Gatter 50, 51, 68 sowie die Und- 5 der Flip-Flop-Schaltung 78 zum Anschluß 84Λ. Samt- R
Gatter 43 und 61 bis 67. liehe Anschlüsse 84a bis 84/ sind programmzugang- a
Die Flip-Flop-Schaltungen können einfache gleich- lieh, was unten näher erläutert wird, soweit dies für D
stromgekoppelte ÄS-Flip-Flops sein, deren Setz- und das Verständnis einer die Umschaltanordnung be- &
Rücksetzeingänge mit den Buchstaben S bzw. R be- treßenden Operation erforderlich ist. <,,
zeichnet sind. Der Ja-Ausgang der Flip-Flop-Schal- io Das Signal CCC an der Leitung 55 führt zum Setz- ej
tungen ist mit 1 bezeichnet, und der Nein-Ausgang eingang der Flip-Flop-Schaltung 74, die nach Be- A
ist mit 0 bezeichnet. Die Flip-Flop-Schaltungen sind er.digung eines Anrufs in den Setz-Zustand übergeht; B
ferner mit Buchstaben bezeichnet, die die jeweils auf durch Abgabe des Signals CC am Anschluß 84 d wird
den entsprechenden Ja-Ausgäi.gen abgegebenen Si- der peripheren Datenverarbeitungseinheit gemeldet, E
gnale keniizeichnen. Beispielsweise bedeutet der 15 daß der Aufruf beendet ist, worauf die penphere
Buchstabe C bei der Flip-Flop-Schaltung 71, daß an Datenverarbeitungseinheit die Flip-Flop-Schaltung £
der an den Ja-Ausgane angeschlossenen Leitung 81 74 über eine Leitung 85 rücksetzt. w
das Signal C abgegeben"wird. Eine dem Programm zugängliche Leitung 86 führt
Der Ausgang des Oder-Gatters 50 führt an einen zum Setzeingang der Flip-Flop-Schaltung 75. Im Setz-Eingang des Und-Gatters 61. Der Ausgang des so Zustand erzeugt diese Flip-Flop-Schaltung am Ja-Und-Gatters 61 ist mit dem Setzeingang der Flip- Ausgang ein Sigaal R, das über die Leitung 56 zum Flop-Schaltung 71 verbunden. Der Nein-Ausgang der Anschluß 84e gelangt, der vom Programm abgefragt Flip-Flop-Schaltung 71 ist mit einem zweiten Eingang werden kann. Die Flip-Flop-Schaltung 75 wird dann des Und-Gatters 61 sowie mit je einem Eingang der automatisch rückgesetzt, wenn das Oder-Gatter 68 Und-Gatter 62 und 63 verbunden. Der Ausgang des 25 ein Ausgangssignal abgibt Die penphere Datenver-Oder-Gatters 51 ist mit dem zweiten Eingang des arbeitungseinheit 11 kann also den Zustand der Flip-Und-Gatters 62 verbunden, dessen Ausgang an den Flop-Schaltung 75 feststellen.
SeUeingang der Flip-P.op-Schaltung 72 angeschlos- Über den Setz- und den Rücksetzeingang, an die sen ist. Der Nein-Ausgang dieser Flip-Flop-Schaltung Leitungen 87 bzw. 88 angeschlossen sind, ist die Flip, ist mit je einem Eingang der Und-Gatter 61 bis 63 30 Flop-Schaltung 44 für das Programm zugänglich. Der verbunden. Der Tastimpuls an der Leitung 54 ist an Nein-Ausgang der Flip-Flop-Schaltung ist mit einem den Setzeingang der Flip-Flop-Schaltung 73 angelegt. Eingang des Und-Gatters 66 verbunden, während ihr deren Ja-Ausgang zu je einem der Eingänge der Und- Ja-Ausgang zu dem für das Programm zugänglichen Gatter 61 bis 63 führt. Die aus den Flip-Flop-Schal- AnsdilußM; führt und arch über eine Leitung 89 tungen 71 bis 73, den Und-Gattern 61 bis 63 und den 3£ mit einem Eingang des Und-Gatters 43 verbunden Oder-Gattern 50 und 51 bestehende Baugruppe be- ist. Der Ausgang des Und-Gatters 66 führt zu einem wirkt die Abgabe des Signals C auf der Ausgangslei- Eingang des Oder-Gatters 68, dessen zweiter Eingang tung £1 dann, wenn ein Anruf auszuführen ist. Ferner mit dem Ausgang des Und-Gatters 67 verbunden ist. bewirkt diese Baugruppe die Abgabe eines Signals 5 Ein Eingang des Und-Gatters 67 ist mit dem Neinauf einer mit dem Ja-Ausgang der Flip-Flop-Schal- *o Ausgang der Flip-Flop-Schaltung 77 verbunden, wähtnng 72 verbundenen Ausgangsleitung 82, wenn eine rend em zweiter Eingang dieses Und-Gatters über die ■ Umschaltung durchzuführen ist. Die Flip-Flop-Schal- Leitung 81 mit dem Ja-Ausgang der Flip-Flop-Schaltungen 71 und 72 können erst dann gesetzt werden. tung 71 in Verbindung steht. Eine programmabwenn auf der Leitung 54 der Tastimpuls erscheint. hängige Eingabeleitung 91 führt zum Setzeingang der wodurch bei Zwischenschaltung der Flip-Flop-Schal- 45 Flip-Flop-Schaltung 77, während eine entsprechende tung 73 das an dessen Ja-Ausgang erscheinende Aus- Leitung 92 an de« Rücksetzeingang dieser Flip-Flopblendsignal L an je einem Eingang der Und-Gatter 61 Schaltung angeschlossen ist. Die Flip-Flop-Schaltun- und 62 wirksam wird. Die den Anruf kennzeichnende gen 44 und 77 und die ihnen zugeordneten Schal-Flip-Flop-Schaltung 62 kann nur dann gesetzt wer- tungsteile ermöglichen dem in der peripheren Datenden, wenn sie selbst und die Flip-Flop-Schaltung 72 50 Verarbeitungseinheit 11 befindlichen Programm die bisher rückgesetzt waren. Ebenso wird das Signal S Feststellung, welche der Funktionen Anruf oder Uman der Leitung 82 als Kennzeichen des Setz-Zustan- schaltung entsprechend dem Zustand der Flip-Flopdes der Flip-Flop-Schaltung 72 nur dann zustande- Schaltungen 71 und 72 auszuführen ist und welche zu kommen, wenn diese Flip-Flop-Schaltung selbst und sperren ist.
die Flip-Flop-Schaltung 71 vorher rückgesetzt waren. 55 Die Flip-Flop-Schaltung 78 dient der peripheren
Eine Rücksetzleitung 83 führt zu den Rücksetzein- Datenverarbeitungseinheit 11 zum Abfragen und Begangen der Flip-Flop-Schaltungen 71 und 72, wobei stimmen, wann ein Umschaltvorgang beendet ist. Die diese Rücksetzleitung Signale entsprechend dem in Flip-Flop-Schaltung 79 erzeugt an ihrem Ja-Ausgang, der peripheren Datenverarbeitungseinheit 11 laufen- also an den Leitungen 45 und 60 das Signal »Uraden Programm führt, wodurch nach Beendigung eines 6° schalten« (PS), wodurch der zentralen Datenverar-Anruf- oder Umschaltvorgangs ein Rücksetzsignal für beitungseinheit 10 und der Speichersteuereinheit 18 diese Flip-Flop-Schaltungen erscheint, angezeigt wird, daß mit der Ausführung des Um-
Die Ausgangsleitungen 81 und 82 führen zu An- schaltbefehls begonnen werden soll. Am Ja-Ausgang
Schlüssen 84 a und 84 ft, die zu einer Gruppe von An- der Flip-Flop-Schaltung 80 und an der damit verbun-
schlüssen 84 gehören, die alle programmzugänglich 65 denen Leitung 58 erscheint das Signal »Anruf« (PC),
oder programmabhängig sind. So führt der Ja-Aus- das der zentralen Datenverarbeitungseinheit anzeigt,
gang der Flip-Flop-Schaltung 74 zum Anschluß 84d, daß mit der Ausführung des Anruf-Befehls begonnen
der Ja-Ausgang der Flip-Flop-Schallung 75 zum An- werden soll, wobei die Flip-Flop-Schaltung 80 jedoch
j-nn in den Setz-Zustand übergeht, wenn vorher ^^.Flop-Schaltungen 71 und 77 gesetzt worden
nie bisherigen Ausführungen betrafen die Durchriß giner automatisd en Umschaltund von einem *jne% anderen Programm innerhalb der zentralen nltenverarbeitungseinheit 1β unter Berücksichtigung A in ihr vorliegenden Bedingungen und unter der cSnerune durch die periphere Datenverarbeitungsnheit. In der am Ende angefügten Tabelle I ist der Ablauf der Umschaltoperatipn in Form von Booleschen Gleichungen angegeben.
Die Besonderheiten der zwischen die zentrale natenverarbeitungseinheit 10 und die eigentliche peri- ~.„t Datenverarbeitungseinheit 11 eingefügte Schalte zw Verarbeitung der Signale SCW und 5CP sowie des Fehlersignals sind:
λ Eine Anfrage an die zentrale Datenverarbeituneseinheit kann sein:
1. Bine durch einen Fehler verursachte Anfrage an die Umschaltanordnung.
2. tin Anruf durch ein Signa! SCP oder
3' ein Umschaltbefehl durch das Signal SCH'.
b) Eine Anfrage an die zentrale Datenverarbeitungseinheit wird in einer Taktzeit verarbeitet.
c) Die Programmumschaltung und. oder Erledigung eines Anrufs erfolgt automatisch ohne Inanspruchnahme der Schaltungsteile der peripheren 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 SC »'-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 III zwei repräsentative Ablaufbeispiele angegeben, in denen die Fälle betrachtet werden, daß nur ein Aufruf erfolgt (Signal SCP), daß nur ein Schaltvorgang erfolgt (Fehlersignal) oder daß ein Aufruf und ein Schaltvorgaag (Signal SCW) erfolgen.
Zu F i g. 5:
Der hier beschriebene Rechner eignet sich nicht nur für skalare Operationen, sondern insbesondere auch zur Verarbeitung laufend veränderlicher, vektorieller Daten, welcne dem Rechenwerk wiederholt zugeführt werden; der Rechner ist also besonders für Vektoroperationen geeignet.
Eine typische Vektoroperation ist die Addition zweier Vektoren 2 +B = C (mit A, B und C als ndimensionalen linearen Feldern) in Form einer Addition ihrer Komponenten af + 6/ = C1. Die Vektoren A und B werden durch Kanalrechner so hindurchgeführt, daß die entsprechenden Komponenten addiert werden. Auf diese Weise ergibt sich der Vektor C. "
Eine weitere häufig benutzte Operation innerhalb des Rechners ist die Bildung eines skalaien Produkts
(A-B) = C oder eines Vektorprodukts [Ä ■ B] = C-Das Ergebnis wird wiederum so gewonnen, daß die Vektoren in ihre Komponenten zerlegt und gemäß der Gleichung
c= ^T σι
1-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 Determinante A und die andere B, so folgt für die resultierende Determinante C im Falle eines dreidimensionalen Raums:
«11 «12 au bn b\i fcu = Cll C12 Ύΐ
«21 «22 «2.1 bn btt btx C21 °Ϊ2 C21
«SI «12 «1.1 *.. bXt b3* C.1t CS8 CS.1
mit beispielsweise C11 = C11 6„ + alt f>fl + flts b3l und allgemein
wobei ρ der Grad der Determinante ist.
Die Erzeugung des Elements clt kann man als eine Multiplikation der ersten Reihe der Determinante A mit der ersten Spalte der Determinante ß durchführen. Ein Element C11 kann als Multiplika- *5 tion der ersten Reihe der Determinante A mit der zweiten Spalte der Determinante B entsprechend erzeugt werden; ein Element C1. 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 Ά und ein zweites Mal, indem jetzt der Reihenvektor 3 der Determinante A zur Erzeugung der 60 Reihenvektoren 2 bzw. 3 der resultierenden Determinante C verwendet wird.
Eine solche skalare Vektormultiplikation in Form einer Matrixmultiplikation kann demnach so durchgeführt werden, daß zwei verschiedene Schleifen 65 mehrmals durchlaufen werden. Diese Schleifen seien als innere bzw. äußere Schleife bezeichnet. Für das Beispiel der Matrixmultiplikation sei die innere Schleife zur Indizierung von Element zu Element
309 532/417
innerhalb einer Reihe der Matrix C vorgesehen, die äußere Schleife dagegen zum Fortschreiten von Reihe zu Reihe innerhalb der Matrix C.
Die in F i g. 5 hinsichtlich ihrer Ablaufschleifen skizzierten Operationen werden in der gemäß F i g. 6 aufgebauten zentralen Datenverarbeitungseinheit in problemorientierter, optimierter Weise realisiert.
Zu Fig. 6:
Die Verarbeitungsgeschwindigkeit der zentralen Datenverarbeitungseinheit 10 des hier beschriebenen Rechners liegt wesentlich über der Verarbeitungsgeschwindigkeit, mit der Daten aus einem Speicher ausgelesen und in diesen wieder eingespeichert werden können. Damit die hohe Verarbeitungsgeschwindigkeit innerhalb der zentralen Datenverarbeitungseinheit 10 zur Verarbeitung gioßer, vorsortierter Datenblöcke, beispielsweise bei Vektoroperationen, ausgenutzt werden können, wird zwischen dem Rechenwerk und dem Speicher eine Kopplungseinrichtung *» angebracht, die speziell der Forderung nach höchster Verarbeitungsgeschwindigkeit Rechnung trägt. Die Kopplungseinrichtung wird im folgenden al« Pufferenjieit 100 bezeichnet, die nach Fig. 6 zwischen die Speichersteuereinheit 18 und das Rechenwerk 101 as eingefügt ist. Die Puffereinheit 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 b von der Puffereinheit 100 zum Rechenwerk 101, das hier als Vektorrechenwen beieichnet werden kann. Ein Datenkanal 100c fühn vom Rechenwerk 101 zur Pufiereinheit 100. Über die Datenkanäle 100 6 und 100 b werden Operanden zum Rechenwerk transportiert, während der Daten- 3i kanal HHh das im Rechenwerk erzeugte Resultat zur Puffereinheit 100 überträgt, von ν·ο 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 Fig. 7 kann die Wirkung dei Puffers 100 bei Hochgeschwindigkeitsübertragungen zum und vom Rechenwerk 101 erläutert werden. Wie bereits erwähnt wurde, sind im Zentralspcicher Wortgruppen von 256 Bits in Wörtern zu je 32 Bits enthalten; eine Wortgruppe kann dabei jeweils gleichzeitig gelesen oder geschrieben werden. Die Wortgruppen werden aus dem Zentralspeicher über die Speiehersieuereinheit 18 und den Kanal 33 zu einer Torschallungseinheit I80 transportiert. 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, 100b und lOOr Der Kanal 100a ist der Ausgangsttil 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 Rcgisterkanals für den Operunden B, der von zwei in Serie geschalteten Puffern i05 und 106 gebildet wird. Der Kanal 100c 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 für die Operanden A und B puffern die Operanden auf dem Weg zwischen dem Zentralspeicher und dem Rechenwerk. Der Resultatregisterkanal puffert daaegen die vom Rechenwerk 101 ausgegebenen Er- i gebnisse, ehe sie beispielsweise in Wortgruppen gesammelt zu den Speichern 12 bis 15 zurucktranspor- <
tiert werden. , _ , . . , j
Der Puffer 102 ist so aufgebaut, daß er beispielsweise mit jeder achten Taktzeit auf einmal eine aus : orht Wörtern bestehende Wortgruppe empfangen und abspeichern kann. Synchron mit dem Puffer 102 wird jede Wortgruppe zum Puffer 103 weitertrans-Dortiert Aus 32 Bits bestehende Wörter werden vom Puffer 103 zum Rechenwerk 101 so übertragen, daß -« 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 Operation der Puffereinheit 100 und des Rechenwerks 101 ist die Addition von Vektoren, bei der die zwei Operanden aus den Puffern 103 und 106 mit iedem Taktimpuls zum Rechenwerk 101 übertragen werden das mit jedem 1 aktimpuls eine Summe büdet, die unmittelbar vom Puffer 108 aufgenommen
In der zentralen Datenverarbeitungseinheit 10 befinaet 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 eine Operandenabruf - und Operandenspeicheranordnung 126 Zugang zum Rechenwerk 101 Die Anordnung 126 dient als Durcheangsk.nal zu Operanden in beiden Richtungen. Fine 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 127a dient der Pufferung von Befehlen, die aus einer Befehlsabrufeinheit 128 stammen Die Befehlsabrufeinheit 128 beliefert nicht nur den Befehlspufferspeicher 127a mit Befehlen, sondern es liefert auch Adressen an eine Indexeinheit 126a; der Ausgang der Indexeinheit 126a führt 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
Fine 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 10 vorzugsweise in den Zentralspeicher zu übertragen und an Stelle dieses Zustandes in die zentrale Datenverarbeitungseinheit einen neuen Zustand einzugeben, so daß der Ablauf eines neuen Programms begonnen werden kann.
Die Puffereinheit 100 enthält eine Parameterregisterdatei 132 und eine Arbeitsspeicherregisterdatei 133. Die Parameterregisterdatei 132 ist über einen Kanal 134 und über den Kommunikationskanal mit dem Vektorparameterregister 125 verbunden.
er Inhalt des Vektorparameterregisters 125 wird die Parameterregisterdatei 132 übertragen, sobald tin Vektorbefehl aus dem Zentralspeicher zum Befehlsspeicherregister 128 geholt wird. Wenn das Bejehlsspeicherregister 128 beispielsweise einen solchen /ektorbefehl aufgenommen hat, erfolgt unmittelbar Jn Maschinensprache eine Übertragung der Paraneterdaten aus dem Vektorparameterregister 125 in Jie Parameterregisterdatei 132. Die Ausführung der daraufhin erfolgenden Operationen erfolgt vermittels der Indexeinheit 126 a, des Befehlspufferspeichers 127 a, sowie der Anordnung 126 und der Steuereinfheit 127. Dies bedeutet im einzelnen, daß im Verlauf !der Zeit, in der das Rechenwerk 101 eine bestimmte
Zu Fig. 8:
bilden. Im Rechenwerk 101 werden grundsätzlich Verzögerungen vermieden, die bei iterativen Multipiikationsverfahren sonst üblich sind.
Das Rechenwerk enthält zwei parallele Rechenwerksabschnitte 300/4 und 300 ß, die in der Darstellung symmetrisch zur Mittellinie 300 angeordnet sind. Die Operandencingangskanäle sind mit den Bezugszeichen 300a bis 300 t/ gekennzeichnet.
Der Rechenwerksabschnitt 300/4 enthalt eine Exponentensubtraktionseinheit 302, zu der über einen Kanal 303 eine Ausnchteinheit 304 in Reihe geschaltet ist. Der Ausrichteinheit 304 ist über einen Kanal 305 eine Addiereinheit 306 nachgeschaltct:
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 beo schriebene 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 hinterOperation ausführt, die Anordnung 126 und die 15 einander angeordnet und in verschiedener Weise mit-Steuereinheit 127 die nächste nachfolgende Opera- einander verbunden werden können. Das Rechenj tion zur Durchführung durch das Rechenwerk 101 werk 101 besteht vorzugsweise aus zwei im wesent-Ivorbereiten. In der gleichen Zeit bereiten auch die lichen gleichen Rechenwerksabschnitten,derenFunk-I Indexeinheit 126 a und der Befehlspufferspeicher tionseinheiten über eigene Zwischenspeicher verfü-1127 a die nächstfolgende Operation vor. Schließlich ao gen. Das Rechenwerk enthält Multipliziereinheiten, ■ nimmt während derselben Zeitdauer die Befehlsab- die es gestatten, in einem Taktimpuls ein Produkt zu .' ruf einheit 128 den daraufhin folgenden Befehi auf.
Dieser Befehl wird somit im Rechenwerk 101 drei
Operationen später als der augenblicklich wirksame
Befehl ausgeführt. Bei einer derartigen Organisation 25
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 ΓΙ, Γ2, Ti und T4
angedeutet ist. 30
Es sei darauf hingewiesen, daß infolge der Kombination des Vektorparameterregisters 125 mit der
Parameterregisterdalei 132 die Kapazität des Rechners dahingehend erhöht wird, daß mit hoher Geschwindigkeit komplexe Vektoroperationen in Ma- 35 eirs Ausgang der Addiereinheit 306 führt über einen schinensprache programmgesteuert durchgeführt Kanal 307 zu einer Normalisierungseinheit 308, dewerden können. ren Ausgang über einen Kanal 309 mit einer Ausin der Parameterregisterdatei 132 und in der Ar- gabeeinheit 310 verbunden ist.
beitsspeicherregisterdatei 133 vorkommende Abkür- Die Operandeneingangskanäle 300a und 300c sind
zungen sind in der am Ende angefügten Tabelle IV 40 außerdem über eine Vornormalisierungseinheit 311 aufgeführt und erklärt. mit einer Multipliziereinheit 312 verbunden, deren
Die Parameter werden vorzugsweise vor Ausfüh- Ausgang über einen Kanal 313 zu einem weiteren rung eines Vektorbefehls aus dem Zentralspeicher in Eingang der Addiereinheit 306 führt. Ein vom Ausdie Register geladen. Die Vektoren werden hinter- gare der Ausrichteinheit 304 kommender Kanal 315 einander en'sprechend den in der zentralen Daten- 45 führt zu einem Eingang eines Akkumulators 314, an Verarbeitungseinheit enthaltenen Parameterwerten dessen weiterem Eingang über einen Kanal 316 der durch das Rechenwerk geschleust. zweite Ausgang der Addiereinheit 306 angeschlossen
Im folgenden wird das durch die oben angegebenen ist Ferner verbindet ein Kanal 317 den Akkumulator Gleichungen beschriebene Beispiel einer Determi- 314 mit einem spiegelbildlich angeordneten Akkur.antenmultiplikation ausgeführt, wol»ei die Zuord- 5° mulator 345 des Rechenwerksabschnitts 300B. Ein nung zwischen den Speicherp!ätzen und den Elemen- erster Ausgang des Akkumulators 314 führt über ten der Determinanten A, B und C (auch Vektoren einer. Kanal 318 zu einem weiteren Eingang der Exgenannt) in der am Ende angefügten Tabelle V an- ponentensubtraktionseinheit302, während ein zweiter gegeben ist. Ausgang des Akkumulators 314 über einen Kanal
Aus der am Ende angefügten Tabelle VI ist die 55 319 mit einem zweiten Eingang der Ausgabeeinheit Adressenfolge und die Art der Berechnung des Vek- 310 verbunden ist
tors A zu erkennen. Der Ausgang der Exponentensubtraktionseinheit
Die Vektoren B und C werden in ähnlicher Weise 302 ist mit einem Kanal 320 verbunden, der direkt bearbeitet. Die Adresscnfolge des Vektors B gleicht zum ersten Eingang der Ausgabeeinheit 310 führt, der Adresscnfolge des Vektors A, mit der Ausnahme. 60 Ebenso sind auch die Ausgange der Ausrichteinheil
304 sowie der Addiereinheil 306 an den Kanal 320 angeschlossen. Ein Kanal 32t führt von einem weiteren Ausgang der Addiereinheit 306 zu einem vierten Eingang der Exponentensubtraktionseinheit 302.
abhängig. Das obige Beispiel gilt für eine skalare 65 Die Addiereinheit 306 besitzt einen dritten Eingang, Multiplikation von Vektoren. Der entsprechende der über einem Kanal 322 mit dem Ausgang einer Vektorcode wird zwecks dieser Bestimmung in die Multipliziereinheit 341 verbunden ist, die im Re-Puffereinheit 100 eingegeben. chenwerksabschnitt 300 ß spiegelbildlich zur Multi-
daß als Startadiesse an Stelle von k die Startadresse
genommen wird. Die Adressenfolge des Vektors C
ist m, m -f ! . . . m t S. Die Erzeugung der Adressen folge ist jeweils von dem speziellen Vektorbefehl
pHziereinheU312 des Rechenwerksabschnitts 300 ,
Abschnitte aufweisende
ist von Bedeutunftdaß d« pdMh 300« und 300c über Kanäle
jede Funktionseinheit des ***™™™£?ί$Τ 3(MM angeschlossen sind, wöbe, led.glich de Akkunullator 314 davon ausgenommen „t Im *ιπ«ιη?£ führen die Kanäle 323 und 324 aho überKanäle
an 5
der ta |echner am meisten benötigten Ope-Gleitkomma-Addition ist, die in vier
Schritten ausgeführt werden muß. Diese Schritte sind: Schntten Mg^ ^ ^n des A_ md ^
Ausrichten der Mantissen vorzugsweise ra > Addition ^ Manüssen ^
angefügten Tabelle VII
«■
an,
seir Vei sor
Ausgabeeinheit 310 ^^
schließen die Kanäle des Recheer von Maschinen- oder Prograrnmbefeh ^
Der »^^"^^^ dem Rechenwerksabschnitt 300^4 autgeo
entspricht die Exponentensubtraktionse.nheit 330 derrExponentensubtrakt,onsemhen30Z ^ ^„ „
richteinheit 332 der Ausnchteinheit304, aie Ajai
malisierungsemheit 336 der 308, die Ausgabeeinheit 338
Aus
tionseinheit der zwei
ben eine
von F ziellen
Smd d,e
Addition zweier Zahlenreihen oder Vektoren isl ra Begtan (Zeit fe) jede Funktionseinheit des Senwerks IeTr. Zur ZdW1 wird das erste Zahlenpaar«, und b, der Exponentensubtraktion unter-Hi ι ausgeführt werden muß. Zur
zogen zlhlenpaar - «nd ft5 dieser
^««bWkto unte^gen/während das Zahlcnpaara, und 6. einen zweiten Schritt in FoS1 dt iiantiss'enausricWg durchläuft Dieses Verfahren wird weiter fortgeführt, bis zur Ze.W,
Rechenwerksabschnitt derart gefüllt ist, daß jede Funktionseinheit bei jedem Schritt ein Zahlenpaar «£»£■*-** 1« ^ gTOndsätzlich 64.Bit.
orientiert. Alle Funktionseinheiten von Fig. 8 außer
den Multipliziereinheiten 312 und 341 empfangen κ 32Bits ^ ^n Ausgängen ab.
Multipli|erei„heiten geben dagegen 64 Bits ab. Ausnahme einer Multiplikation und einer D.vi-Ka- sion benötigen alle Funktionen sowohl für Operanden 35 mit einfacher Wortlänge als auch für Operanden mit Ka. αορρεηεΓ Wortlänge dieselbe Verarbeitungszeit.
Festkomma-Zahlen werden vorzugsweise im Zweierkomplement dargestellt, während Gleitkomma-Zah,en Λ Exzess_64-Zahl nach Vorzeichen, Mantisse und Exponent erscheinen. .
Der besondere Aufbau des Rechenwerks in der An eines Verarbeitungskanals ermöglicht eine fließende Verarbeitung, die insbesondere bei der Anwendung auf Vektorbefehle besonders gunstige ^ Eigenschaften hat Die Anordnung von zwei paralle!« Rechenwerksabschnitten gestattet es, daß zu jeder Taktimpuiszeit an jeder der Ausgabeeinheiten 310 und 338 ein Resultat erscheint. Jeder Rechen-
o^rJede werksabschnitt kann Teile anderer Befehle verarbe,-
n Or^rauoru Je jeder Rechenwerksabschnht enthält Funkt.ons-
i - oder Maschi- einheiten, mit deren Hilfe insbesondere die Add.t.ons-
zeit fSr Gta&omma-Additionen verk&zt werden kann. Die zueinander spiegeftfldHchlBqgenden FonktkmseinheHen der beiden Rechenwerfaabschnitte » können jeweüs nriteinander kombkriert *^ d«s . fld nicht für die MdtipHriereiiifaeiten. Die btraMonseinheiteo 3KL, 33· können
SpSS 312 und der Akkumulator 345 dem Akkumulator314.
Ebenso'entsprechen sich die^ 300 b und 300 c 300 rf ™d 300^ ^
333 und 305, .335 1and 307. 337 und 309. 342 un 324. 343 und 323. 346 und 315 34» una
353 und 313, ^ ^'"^ und 320 sowie 347
nal350 von der
^r Exponentensubtraktion
nal 355 führt von der Ausgabeeinheit gabeemheit 310.
Wi ^y
ein Ka-
au
am Beispiel «J« A«g£«nhe 3lü .Qnsein.
zugszeichen 310a «&&%£ub aktionseinheiten haheiten und die Exponentensut' ^
ub aktion
tensut' ^
g "„ 64 Bits
it? enthalt aSfdne Vielzahl ^ Durchführung einer spe- ^r Finktionsein-
rbmiden werden. verschiedener SSa^wegkönnen.
E^o^^btraMonseinheiteo ,
L %5£ werden, daß bei- «rVerarbehnngsstufe bflden^ in de, de einlVTaktzeit nnterschiedliche ander getrennt oder mitemander komtenert ar Funktionseinheitdnrchlanfen, 60 fe Faflejeiner KomWnaton !erarbeiten s,e einen wird, daß mehrere A- und Operanden mit doppelter Wortlange. ,_.-.,
Sreinander durch den Die Ansricbteinbetten 3M, 332 kö^enbe, GW-
strömen, in dem sie jeweils komma-Additionen fmr Rechtsyersctaebnng^ verdnrchlanfen. wendet werden. Die NormaGaeningsemheiten 3β8, zweier par- «5 336 dienen aüe Nornialisienn^jdern«^ ag> mit spezienen auch Unterschiebungen. Die Addieremheitel· TedrkbareTWeise 334 werfen vorzngsweise für Hocb^w^gk werfen können, gewähr- operationen znr AnsfBhmng von Giert- oder Fest
!aUsKomma-Additionen verwendet. Sie finden überdies Verwendung bei der Addition der sogenannten 'seudosumme oder des sogenannten Pseudoüberaufs, die aus der Multipliziereinheit kommen,
p Bei der Verarbeitung von Vektoren ist ein Gleit-Vjg comma-Additionsbetrieb zur Anpassung an einen iai »roßen dynamischen Bereich wünschenswert. Das Rechenwerk 101 kann zwar sowohl Fest- als auch Gleitkomma-Additionen durchführen, doch wird at eine wirtschaftliche Arbeitsweise hinsichtlich der (gJ^Verarbeitungszeit und des Bauelemcntaufwands be-
; sonders bei Gleitkomma-Additionen nach der Ta- ; belle VII erkennbar.
Die Multipliziereinheit 312 kann eine Muitipli-
kation von 32 Bits mit weiteren 32 Bits in einer Takt-/eit durchführen. Infolge dieser Fähigkeit der Multipli7iereinheit passen diese Einheiten gut mit den übrigen Funktionseinheiten zusammen, da die Verarbeitungszeiten grundsätzlich gleich sind.
Die Multiphziereinheiten bilden gleichzeitig die Verarbeitungseinheiten für eine Division. Multiplikationen oder Divisionen mit Operanden mit dopnelter Wortlänge erfordern mehrere Iterationen über die Multipliziereinheit, bevor das Resultat erhalten wird. Festkomma-Multiplikationen und Gleitkomma-Multiplikationen mit Operanden mit einfacher Wortlänge werden nach einem Durchgang durch die MuI-tiplizicreinheit erhalten. Die Multipliziereinheit 312 gibt zwei Doppellängenwörter mit je 64 Bits in Form einer Pseudosumme und eines PseudoÜberlaufs ab. In der Addiereinheit 306 werden aus diesen Wörtern ausgewählte Bits miteinander addiert, damit ein Produkt mit der Länge eines Worts erhalten wird. Soll mit einer Multiplikation mit einem Operanden mit einfacher Wortlänge ein Produkt mit doppelter Wortlänge gewonnen werden, dann erzeugt die Multipli-7ioreinheit 341 eine aus 64 Bits bestehende Pseudosumme und einen aus 64 Bits bestehenden PseudoÜberlauf, und die Pseudosumme und der PseudoÜberlauf werden dann in den Addiereinheiten 306 und 334 addiert, wodurch das Produkt mit der doppelten Wortlänge gewonnen wird. Eine Doppellängenmultiplikation kann so durchgeführt werden, daß die drei folgenden Schritte in der richtigen Reihenfolge durchgeführt werden: Eine Multiplikation in der Multipliziereinheit 341, eine Addition in den Addiereinheiten 306 und 334 sowie eine Saidierung in den Akkumulatoren 314 und 345. Die Akkumulatoren 314. 345 gleichen den Addiereinheiten, und sie werden für spezielle Zwecke verwendet, in denen eine fortlaufende Saldierung erforderlich ist.
Eine Multiplikation nut Operanden mit doppelter Wortlänge erfordert eine solche laufende Saldierung. da vier getrennte 32 - 32 Bit-Multiplikationen durchzuführen sind, worauf deren Zwischenergebnisse (Partialsummen) steflenrichtig in den Akkumulatoren aufaddiert werden. Eine Doppellängenmultiplikation erfordert deshalb acht Taktzeiten, bis das richtige Ausgangssignal erscheint, während eine Emzellängenmultiplikation nur vier Taktzeiten benötigt. Eine Doppellängenmultiplikatjon bedeutet zwei 64-Bit-Gleitkommazahlen (56-Brt-Mantisse), die miteinander multipliziert werden, um ein aus 64 Bits bestehendes Resultat zu erhalten, wobei die niedrigstwertigen Bits nach der Nachnormalisierung abgeschnitten sind. Eine Festkomma-Multiplikation bedeutet eine Multiplikation von 32-32 Bits, und sie ergibt ein aus 64 Bits bestehendes Resultat.
Eine Division ist die umfangreichste vom Rechenwerk auszuführende Operation, wobei die Fähigkeit einer Stellenmultiplikation von Vorteil ist. Nach einer Anzahl itterierender Multiplikation ist der Quotient mit der gewünschten Genauigkeit erstellt. Da bei diesem Divisionsverfahren kein Rest als Resultat der vorhergehenden Multiplikationen erzeugt wird, muß zur Bestimmung des Rests mit Hilfe der vorhandenen Hardware weitergerechnet werden, falls ein Rest erwünscht ist. War die Lösung x/y = Q, dann kann der Rest aus der Beziehung R = χ — (y · Q) gewonnen werden. Der Rest wird auf so viele Bits genau, als der Dividend ma! Bits enthält. Die zur Bildung des Rests erforderliche Zeit addiert sich direkt zu der Zeit, die zur Bildung des Quotienten erforderlich war. Die Divisionszeit für Operanden mit einfacher Wortlänge wächst von 12 Taktzeiten bis zu 16 Taktzeiten bei der Erstellung eines Rests. Der Divisionslogarithmus erfordert, daß der Divisor normalisiert wird, nämlich
■20 bei Festkommaarithmetik bitweise oder bei Gleitkommaarithmetik hinsichtlich der rückstelligen Hexadezimalziffer mit Ausnahme von Null.
Die Ausgabeeinheiten 310, 338 dienen der Sammlung der Ausgangsdaten aus allen Funktionseinheiten sowie der Ausführung einfacher Datenverschiebungen, Boolescher Beziehungen usw., zu deren Durchführungen eine Taktzeit im Rechenwerk 101 benötigt wird.
Die Speichermöglichkeit in jeder Funktionseinheit des Rechenwerks ermöglicht eine wirksame Trennung der einzelnen, in den verschiedenen Funktionseinheiten getrennt verarbeiteten Daten. Das Rechenwerk arbeitet synchronisiert, indem es eine gemeinsame Taktzeit für alle Schaltkreise anwendet. Aus diesem Grund sind in jeder Funktionseinheit Speicherregister enthalten, wie es beispielsweise durch das Bezugszeichen 31Oo angegeben ist.
Zu Fig. 9:
Nach einer Beschreibung der Umschaltanordnung an Hand der F i g. 3 und 4 sowie einer Beschreibung der zentralen Datenverarbettungseinheit 10 an Hand der F i g. 5 bis 8 folgt nun zweckmäßigerweise in einer Beschreibung der F i g. 9 die Darstellung der Zusammenwirkung zwischen der zentralen Datenverarbeitungseinheit 10. der peripheren Datenverarbeiiungi >einhcii 11 und der Speichersteuereir.heit 18.
Die F i g. 9 und 4 betreffen die Umschaltanordnung, wobei F i g. 4 den in der peripheren Daten-So Verarbeitungseinheit enthaltenen Teil und F i g. 9 den in der zentralen Datenverarbeitungseinheit enthaltenen Teil dieser Anordnung zeigen; die Verbindung zwischen diesen beiden Teilen wird über die Kanäle 41,42 und 53 bis 58 hergestellt.
SS In F i g. 9 ist eine Befehlsabrufeinheit 128 dargestellt, die ein Ausgangsregister 128 a aufweist, das in einer bevorzugten Ausführung eine Kapazität von 32 Bits hat. Das Register ist in mehrere Abschnitte aufgeteilt; ein erster Abschnitt 1286 mit einer Kapazität von 8 Bits enthält den Operationscode, ein nächster Abschnitt 128 r enthält ein Adressenmerkmal von 4 Bits, und ein weiterer Abschnitt 12&d mit 4 Bits enthält normalerweise Daten zum Betrieb des Rechenwerks 101. mit denen ein Register bestimmt wird, das nicht zur Umschaltanordnung gehört. Schließlich ist ein weiterer Abschnitt 128ε mit einer Kapazität von 16 Bits vorgesehen, der em Adressenfeld enthält.
309 »2/417
25
Bei eine, normen £rationsablauf «„.dnc ^^Hfi sTÄ ^
,ndexeinheit 126«. die ein Auw^1™ F^9 nicht dargestellten) Eingang des Oder-Otters
enthält, einen Schritt im Zeitabiauf Tl bis TAau. B nach ^ Und.Verknupfung mit der Lei- ζ
Bei einigen Operationen wird durch die| Indexeuihe t *ii ,Anrufen« hegt, an einen ein" U6aZ Ausgangsregister 126/, ein Wortgcbjd«, 5 ttngSS, jnjer ^g ^^^ Eingang anes ;v^
das der Summe aus dem Code im AtachnittlMe Oder-Gatters 213. Zwei Eingänge des Oder-Gatte« von
und aus dem Code im Indexregister 124 eatspncht Ude Ausgängen von Und-Gattern 212, v«J
wobei der Code im Indexregister 124 du n* «gs JJJ verbunden. Das Und-Gatter 212 hat zwei Ein- J
Adressenmerkmal im Abschnitt 128c aufgerufen ^^ über ^ Leitung202 das Si- JJ
wurde. Eine solche Indexoperation entspricht also gange,, während der ZWeite über die heu
der bei Rechnern üblichen Adressenmodifikation mit- gnjl MJ^ j»^ ^^ (pc) em D AuI
dem Ausgangs,jJjrUJJ *- £Β5ϊί £ ^S^ÄK) ^
StWÄl- « -.erbarm der Ausgangsleitung204 des Oder- £
verwendet. . . . sCW Gatters 213 ein Signal erscheint und damit eine Ab-
Sobald im Abidiiuttllift «n d«n agaJSCW ^he der ^Registerl26ii befindlichen Cod.e-
oder dem Signal SCP entsprechender Opj^^g*« P in di| durch den Inhalt des Adressregisters
u„:„. K»oinnt ein hinsichtlich der anderen upe !."O B U__.: .„ c^^r-roiio nvielt wird, muß zu- Wl
;;^^;r^chiedener Oper^-blau.J^ » «« J^^ ^n^n^hl^; 5CH^ oder 5CP »
nächst wird der aus 8 B>te n^fcndi.^.^127™ das Signal »Anrufen« (PC) von Seiten der penpheren J
Abschnitt 128b in den BefchlspufferspeicterlZTfl Datent,erarbeitUngSeinheit vorhanden sein. Nur bei "
übertragen, wonach er ,«. .™™Α"Φ^&%£_ entsprechendem Signalzustand auf den Leitungen «
127 b des Befehlspuffersr^ichers 127a erscheint. An ^7, 45, 58, 55, 53 wird also eine solche Ab- °
schließend wird dieser aus 8 Bits ^stehende Code „ 56, , ^^ ^ gesam ßetneb e
über einen Kanal 200 zur Steuereinheit 127 über P^ ^^ D|tenverarbeitUngseinheit kann auf J traeen. s Rit<. ^. diese Weise unterbrochen werden; andererseits kann
in der Steuereinheit 127 wird der aus »Bite he ^^ ein,eitender oder vorbereitcnaer ]
stehende Code in einem Decodierer 201 verarbeite^ £ Teikn des Rechners auBcrhalb der Enthält der Code einen SCW-MM. *™™*™l zc P ntr2!en Datenverarbeitungseinheit 10 aufrecht,-rhal-
iner Leitung 202 und somit an der }£™nf d De Entscheidung hängt von dem im
Enthält der Code einen SCW l zcntr2!en Datenverarbeitungseinheit 10 aufrecht,
an einer Leitung 202 und somit an der }£™nf werden. Diese Entscheidung hängt von dem im
das Signal SCW. Enthält der Code dagegen,einen ^ f 12ge der Befehlsabrufeinhe.t 128
SCPBfhl dann wird an der !Leitung 203 und somit fi^d,j-h- B{hl b b Ab
das Signal SCW. Enthält der Code dageg^ f 12ge der Befehlsabrufeinhe.t 128
.SCP-Befehl. dann wird an der !Leitung 203 und somit befi^d,j-hen- Be{chl ab> namiich davon, ob im Ab-
an der Leitung 41 das Signal SCP eneup. 28f) der Befehlsabrufeinheit die Codegruppe
Wenn d!e periphere .^^.^S^, „nl für da, Signal 5C)V, das S,gnal5CP oder em and.es
nach F. g. 4 auf der Leitung 41 oder au der U tun, vorhanden ist.
42 em Signal feststellt, dann «>J * nfjh s*™£n_ \n der Leit»ng53 von Fig.4 und 9 Hegt ifcnn
st.mm.en Zeh über die Leitung ^£^>£ ^ das si , ,Fehler<(, wenn ,nnerhalbder ,cnu, en
heil 127 aas S.gnai »«n.u.v... ^; " . Sl , DatenverarbcitunEseinheit 10 ein Ferner Jcm^—■»
der Steuereinheit 127 ermöglicht, ihrerseits ein SHgna. -q Oder-Gatter 220 mn der
auf einer Leitung 204 zum Rechenwerk 101 a über A^,sklluI4 53 dar2CS,eHt. das mit einem Im-
tragen. Dieses zuletzt genannte Signal h-t^uch zur , ^ Leitung 221 an die Steuereinheit 127
Folge, daß der im Register »".^Α^"Κί,β und „,it einem «eiteren Eingang an das Rechen^*
enthaltene Code zu einer bestimmen Spechersui anpeschlossen ,st. Ein Fehlersignal kann »ci-
^^.^^ÄSSSKS- spiced* be, „ncm Tberlauf im Rechner 101 er-
Leitung ^w=. wine ,....—.;.-«- -^ . .nsneicher 7eu-j' werden, und auch bei einer unaenniem-r. ν |·^--
werks 101. eine Leitung 207. cl"c"^™;Üiu" eruPIu innerhalb der Steuereinheit 127 kann em ! ,h-
!26r sowie über den Kommumkation.kanal 104 zum g^i^ aufueten pmc j e]mng ni mn 7U em,m
Speicher. .,.,„„ dem 7wi. 50 drit'l-n I-ingang des Ode,-Gatters 220. so daß an
Die abzufeiernde Codierung au _dem Λ 1 . ^ n^h ^^^ Prufkre,se nir hT?cu-
^«V^^^'^^^Sm^ nß des Fehiersignals angeschlossen werden tojj-
schrieben, die ^^ »"J^ AdrSSrSsttrs len^ Die Steuereinheit 131 (Fig. 7) steuert die Im-
2β8 r^timntt ist. DCT Inhahd^ Adr^nr^ schahung der zentralen Datenverarbeitungse.nhe.t.
kennzeichnet eine SP^^^i^^-T^fsolcne 55 dk bewirkt, daß der bisherige Inhalt der zentralen
niCht ^!^S^^D^än^S ΪΓ2^ Daienverarbeitung^nhei, abgespeichert und neue
£S?FeS3SSLi-iSS^diSd-« er- Daten in diese dafür ^gegeben werden.
St STTSS AcLse aus f-^«^ Zu Fig. 10:
208 W1Id durch AW^ teJg^JW-jer der ^ Ausführungen zur penpheren
Steuerung eines an der Leitung 2t4 anliegenden μ ^^icrailieitmigSnhdt 11 läßt sich entnehmen,
r?als ausgegeben Ldtuncen 2t2 daß diese Einheit eine bedeutende Rone bei der Steu-
lnderSteuererahettlWfarenAeL^gn ^^^ ^^,^,,^hen 1«
211. an dessen Abgasleitung ^fA^^mo^ 6j. £ ^ „, ^r3115 ^0 Anfordenagen der zentralen Datenverarbeitungsemheit It and anderer
.. μ. j n^.u.-..«-. —« Wirtin tn/telll Cffl
«rs Pt
ds
der
eilen Datenverarbeitungseinheiten in der peripheren Jatenverarbeitungseinheit 11 angewendet wird. In 3er peripheren Datenverarbeitungseinheit 11 sollen von einer Gruppe von virtuellen Datenverarbeitungs-Einheiten 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 Datenverarbeitungsein- ^heiten wesentlich mehr Zeit zuzuteilen als anderen. I Außerdem kann die Zeitzuteilung zwischen den virftuellen Datenverarbeitungseinheiten verändert werden. i Aus Fig. 10 ist zu erkennen, daß die virtuellen j 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 DatenverarbeitungseinheitenP, bis P7 können so aufgebaut sein, wie beispielsweise in der USA.-Patentschrift 3 337 854 beschrieben ist, in der den virtuellen Datenverarbeitungseinheiten feste Zeitspannen zyklisch zugeordnet sind. Mit der hier beschriebenen Anordnung wird dagegen ermöglicht, die zeitlichen Zuordnungen in Abhängigkeit von den vorzugsweise von Programmen gestellten Aufgaben steuerbar zu machen.
Von den acht virtuellen Datenverarbeitungseinheiten P,, bis P7 der peripheren Datenverarbeitungseinheit U (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 Schrittschak- \omchtung401. die in Fig. 10 durch einen rotierenden Zeiger dargestellt ist. Mit jedem Taktimpuls wird der Zeiger um eine Stellung weiterbewegt, wobei jede Stellung eine Verarbcitungvzcii>pannc vor. der Länge eines Taktimpulses darstellt. Insgesamt 16 verschiedene Stellungen des Zeigers bezeichnen Zeitspannen 0 bis 15. Das Rechenwerk 400 wird dabei jeweils mit derjenigen virtuellen Daienxciaibeuungseinhert verbunden, die durch die Codegruppe ',beispielsweise 0 bis 7) bestimmt ist. die vom Zeiger abgetastet wird. In emem Extremfall wird während der Dauer des gesamten Zyklus nur eine bestimmte virtuelle Datenverarbeitungseinheit mit dem Rechenwerk 4M unter Ausschluß aller übrigen virtuellen Dateoverarbeirnngseinheiten verbunden, während im anderen Extrefll alle virtuellen Datenverarbeitungsemneiten for die Dauer gleicher Zeitabschnitte mit dem Rechenwerk 4#t verbunden sind. Die Anordnung, die diese Vielseitigkeit der Zuordnung ermöglicht, ist in den Fig. 11 bis 13 fan einzelnen genau dargestellt.
Za Fig. 11:
Der Aufbau der peripheren Datenverarbeitungseinheit 11 ist aus Fig. 11 zn erkennen. Der Zentral- P0 bis
speicher mit den Speichern 12 bis 15 ist mit seiner Speichersteuereinheit 18 verbunden, die ihrerseits über den Kanal 32 mit der peripheren Datenverarbeitungseinheit 11 verbunden ist. Die virtuellen Datenverarbeitungseinheiten P0 bis P7 sind über einen Ausgangskanal 402 sowie über einen Eingangskanal 403 mit dem Rechenwerk 400 verbunden. Überdies sind sie über Kanäle 410 bis 417 mit einem Kommunikationskanal 408 verbunden. Eine Puffereinheit 419
ίο der peripheren Datenverarbeitungseinheit 411 enthält acht einzelne Ein-Wort-Pufferregister 420 bis 427; jeweils eines dieser Pufferregister ist dabei einer der virtuellen Datenverarbeitungseinheiten P11 bis P7 zugeordnet. Die virtuellen Datenverarbeitungseinheiten P, sind mit einer Zuordnungssteuerung 418 versehen, die ein Teil der in Fig. 10 schematisch als Zeiger dargestellten SchriUschaltvorrichtung401 darstellt. Die Zuordnungssteuerung 418 wird mit Hilfe von Taktimpulsen betrieben. Die Puffereinheit 419
»ο wird von einer Puffersteuereinheit 428 gesteuert. Der Kanal 408 ist über einen Kanal 429 mit dem Rechenwerk 400 verbunden. Die virtuellen Datenverarbeitungseinheiten P0 bis P7 sind ferner mit einem als Festwertspeicher ausgebildeten Speicher 430 ausge-
*5 stattet. In einer bevorzugten Ausführung besteht der Speicher 430 aus einem fest verdrahteten Diodenfeld für schnellen Zugriff.
Eine Speicheranordnung 431 dient der Datenübertragung zwischen dem Kommunikationskanal 408.
den Peripheriegeräten und weiteren Steuer- und Datenkanälen. Bei dem hier beschriebenen Ausführungsbeispitl enthält die Steueranordnung 431 insgesamt 64 Register.
Die an dem Zeitteilbetrieb beteiligten Einheiten sind das Rechenwerk 400, der Speicher 430, die Speicheranordnung 431 mit den Registern CR0 bis CR1 . . . und die Puffereinheit 419 mit den Ein-Wort-Pufferregistern 420 bis 427. wobei die Puffereinheit 419 die Verbindung zwischen der peripheren Daten-Verarbeitungseinheit 11 und dem Zentralspeicher herstellt.
Dei i>pUcher430 enthält einen bestimmten Programmvorrat, der mit Ausnahme eines Zugriffs \on den Proaramm/ahlern der \irtuellen Datenverarbeitungseinheiten nicht zugänglich ist. Der Programmvorrat enthält ein Grundausführungsprogranim und wenigstens ein Sieuerprogramm für jedes Peripheriegerät. da1· an den Rechner angeschlossen ist. Die ZNkluszeit des Speichers 430 beträgt 20Nanosckunden. und er liefert einen Befehlsvorrat aus 32-Bit-Befehlen fur die virtuellen Daien\erarbeitunt:seinheiten Pn bis P7. Die Kapazität des Speichers 430 beträgt für die Programme 1024 Wörter. Er ist in 256 Wortbaucnheiten unterteilt, so daß es möglich ist. Programmabschnitte abzuändern, ohne den gesamten Speicher neu autzubauen.
Die Steuerprogramme für die Peripheriegeräte enthalten Steuerfunktionen für die zu den Peripherkgeräten gehörenden Pufferspeicher sowie Datenübertragungsfunktionen Auf diese Weise können mechanische Bewegungsabläufe in den Peripheriegeräten direkt durch Programme gesteuert werden, und es wird eine jeweils speziell für jedes Peripheriegerät eigens durchgeführte andere Festverdrahtuij ·νηο-tigt. Durch das Arbeitsprogramm können Parameter zur Variation eines Grundprogramms vot gesehen werden. Solche Parameter sind im Zentralspeicher oder in Akkumulatorregistern der virtuellen Daten-
Verarbeitungseinheit, die das Programm ausführt, enthalten.
Die Befehle für die virtuellen Datenverarbeitungseinheiten können entweder aus dem Speicher 430 oder aus dem Zentralspeicher stammen. Der vom Programmzähler einer virtuellen Datenverarbeitungseinheit adressierte Speicher wird durch die Adressierungsart gesteuert, die durch Verzweigungsbefehle oder durch Löschung des Systems modifiziert werden kann. Jede virtuelle Datenverarbeitungseinheit wird in den Festwertspeicherbetrieb versetzt, wenn das System gelöscht wird.
Wenn vom Zentralspeicher eine Programmfolge erhalten wird, dann wird diese von der Puffereinheit 419 aufgenommen. Da diese Puffereinheit derselbe Zwischenspeicher ist, der für Datentransporte zu und vom Zentralspeicher benutzt wird, und da der Zentralspeicher größere Zugriffszeiten als der Festwertspeicher hat, werden also die Verarbeitungszeiten günstiger, wenn das Programm vom Speicher 430 erhalten wird.
Ein Zeitabschnitt 0 kann einer der acht virtuellen Datenverarbeitungseinheiten durch einen Schalter auf dem Bedienungspult zugeordnet werden. Diese Zuordnung kann durch das Programm nicht kontrolliert werden. Die restlichen Zeitabschnitte sind anfänglich nicht zugeordnet. Deshalb arbeitet am Anfang nur die virtuelle Datenverarbeitungseinheit, die durch den Schalter bestimmt wird. Da die Programmzähler aller virtuellen Datenverarbeitungseinheiten P0 bis P. ursprünglich auf 0 stehen, beginnt die ausgewählte virtuelle Datenverarbeitungseinheit mit der Ausführung ihres Programms, beginnend mit der Adresse Π im Speicher 430. An dieser Adresse befindet sich ein Einleitungsprogramm. Der Schalter auf dem Bedie nungspult bestimmt ebenfalls, welches der 8 Bits der Speicheranordnung 431 durch ein von der Bedienungsperson ausgelöstes Einleitungssignal gesetzt wird.
Die Puffereinheit 419 ermöglicht den Zugriff der virtuellen Datenverarbeitungseinheiten auf den Zentralspeicher mit den Speichern 12 bis 15. Die Puffereinheit 419 besteht aus acht 32-Bit-Datenregistern, acht 24-Bit-Adressenregistern und entsprechenden Steuerkreisen. Von einer einzelnen virtuellen Datenverarbeitungseinheit aus gesehen erscheint die Pufftreinheit419 lediglich als ein einzelnes Datenregister und ein einzelnes Adressenregister.
Die Puffereinheit 419 kann gleichzeitig bis zu acht Speicheranfragen enthalten, nämlich 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äts- an Zuordnung, die in 2 Bits des entsprechenden Registers eii in der Speicheranordnung 431 verschlüsselt ist. Der tv Inhalt dieses Registers wird durch das Ausführungs- G programm bestimmt; die Prioritätszuordnung für jede A virtuelle Datenverarbeitungseinheit wird vom auszu- gi führenden Programm bestimmt. Zusätzlich zu diesen ai 2 Prioritäts-Bits kann eine Zeitkennung mitverwen- 4! det werden, damit die Fälle gleicher Prioritätszuord-
nung gelöst werden können. z\
Die Register in der Speicheranordnung 431 ent- E
halten jeweils 32 Bits. Jedes Register kann von der g'
virtuellen Datenverarbeitungseinheit adressiert wer- Έ den, und die Einheit, mit der es verbunden ist, kann ti
aus dem Register lesen oder in das Register schreiben. Die Register der Speicheranordnung 431 sind ii Verbindungsglieder zu allen Peripheriegeräten ein- ti schließlich des Bedienungspults. Einige Parameter F zur Steuerung des Rechnerbetriebs werden ebenfalls a
ao in den Registern der Speicheranordnung 431 ge- e speichert, vor. denen aus die Steuerung erfolgt. e
Zu Fig. 12:
as 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 Verfugung steht. Von der peripheren Datenverarbeitungseinheil kommende Daten werden synchron mit dem Taktimpuls des Rechners in das Speicherelement eingegeben. Eine Eingabe von Daten in das Speicher-
element 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 Fig. 13 ist eine Anordnung dargestellt, mit deren Hilfe die verfügbare Zeit einer oder mehrerer der virtuellen Datenverarbeitungseinheiten P0 bis P7
so zugeordnet werden kann, daß diese Datenverarbeitungseinheiten den anderen vorgezogen werden oder umgekehrt so zugeordnet werden kann, daß die Zeit auf alle virtuellen Datenverarbeitungseinheiten gleichmäßig aufgeteilt wird.
Die Steuerung der Verteilung der Zeitzuordnung für die einzelnen virtuellen Datenverarbeitungseinheiten P0 bis P7 erfolgt mit Hilfe von zwei Speichersegmenten 431 η und 431m aus der Speicheranordnung 431.
Diese von Registern gebildeten Speichersegmente haben jeweils eine Kapazität von 32 Bits; sie sind in acht Abschnitte zu je 4 Bits unterteilt. So enthält beispielsweise ein Abschnitt 440 des Speichersegments 431 η 4 Bits α bis d, die jeweils an die Eingänge von Uncl-Gattern 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 das Bit α angelegt ist, beispielsweise die Und-Gatter 441, 446 ist an den Eingang eines Oder-Gatters 450 angeschlossen. In entsprechender Weise sind alle Und-Gatter 442, 447 ..., an die die Bits b der Abschnitte
ts_ ingelegt sind, mit dem Ausgang an den Eingängen ;rs:ines Oder-Gatters 441 angeschlossen. Ebenso ist lernn Oder-Gatter 452 an die Ausgänge der Und- ;S_Gatter 443, 448 angeschlossen, an die die Bits c der jeAbschnitte angelegt sind. Schließlich sind die Ausu. gange der Und-Gatter 444, 449 .... an die die Bits d ;n angelegt sind, mit den Eingängen eines Oder-Gatters ν 453 verbunden.
\. Die Ausgänge der Oder-Gatter 450 bis 453 führen
zu einem Register 454, dessen Ausgang mit einem t- [Decodierer 455 verbunden ist. Acht Ausgangsleitun- :r gen 463 bis 470 des Decodierers steuern jeweils die ·. "Ein- und Ausgänge der virtuellen Datenverarbei-„ itungseinheit P0 bis P7.
- I Die Zuordnungssteuerung 418 empfängt Taktj jimpulse von einem Taktgeber460a über eine Leistung 460. Sie arbeitet vorzugsweise als 16-stufiger r {Ringzähler, bei dem jede Stufe eine Ausgangsleitung ; \ aufweist. Die erste Ausgangsleitung 461 aus der t ersten Stufe des Ringzählers führt zum zweiten Einj gang der Und-Gatter 441 his 444 In gleicher Weise ! ist die zweite Ausgangsleitung 462 der zweiten Stufe j des Ringzählers mit den zweiten Eingangen der j Und-Gatter 446 bis 449 verbunden. Die restlichen vierzehn Ausgangsleitungen der Zuordnungssteuerung 418 sind in entsprechender Weise mit jeweils vier weiteren Und-Gattern verbunden. j 3 der 4 Bits des Abschnitts 440, nämlich die Bits b. j c und d. kennzeichnen eine der \irtuellen Datcn-Verarbeitungseinheiten P0 bis P. durch ein entsprechendes Signal auf einer der Ausgangsleitungen des Decodierers 455. Das vierte Bit. nämlich das Bit a des Abschnitts 440, dient zur Freigabe bzw. zur Sperrung der Decodierung, so daß ein bestimmter j Zeitabschnitt frei, d. h. unbezogen bleiben kann. j Es ist zu erkennen, daß das Rechenwerk 400 über j Kanäle 470 mit den Speichersegmenten. 431 m und j 431 η verbunden ist, so daß das Rechenwerk proj grammgesteuert die gewünschten Zuordnungen in ι den Speichersegmenten 431 m und 431 η durch- ,.. j führen kann. Entsprechend den Taktimpulsen auf ι der Leitung 460 kann also der Decodierer 455 mit jedem Taktimpuls von einer virtuellen Datenverarbeitungseinheit zur nächsten umschalten. Entsprechend dem Inhalt der Speichersegmente 431 m und 431 η kann die gesamte Zeit einer der virtuellen Datenverarbeitungseinheiten zur Verfugung gestellt werden, oder die Zeit kann je nach der in den Speichersegmenten 431m und 431 π enthaltenen Codierung gleichmäßig oder auch ungleichmäßig den virtuellen ,<> Datenverarbeitungseinheiten zugeteilt werden.
Aus der Betrachtung der Steuerleitungen am Ausgang des Decodierers 455 ist zu erkennen, daß die zwischen den Speichersegmenten 431 m, 431 η liegenden Schaltkreise bitmäßig, also einzeln für jede Informationseinheit dargestellt wurden. Im Gegensatz dazu ist die zwischen dem Decodierer 455 und dem Rechenwerk 400 liegende Schaltung zur Steuerung der virtuellen Datenverarbeitungseinheiten nur in Form von Blockschaltbildern dargestellt.
Ein Datenfluß auf der Leitung 478 kann durch entsprechende Signale auf den Ausgangsleitungen 463 bis 470 freigegeben oder verhindert werden. Im einzelnen führt die Ausgangslcitung 463 zu einer Koinzidenzschaltung 490, an die auch die Leitung 478 angeschlossen ist. Eine Koinzidenzschaltung ist mit der Ausgangsleitung der virtuellen Datenverarbeitungseinheit P0 und mit der Ausgangsleitung verbunden. In gleicher Weise steuern Koinzidenzschaltungen 491 bis 497 und 501 bis 507 die übrigen virtuellen Datenverarbeitungseinheiten. Die Koinzidenzschaltungen 500 bis 507 speisen eine Oder-Schaltung 508, deren Ausgang unmittelbar mit dem Rechenwerk 400 verbunden ist. Auf diese Weise arbeit« 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 = l· l· 73 · 777T · FF 72. FF71: (»Anruf«, gesetzt durch SCP + SCW zur Anzeige der speziellen Programmsituation für die zentrale Datenverarbeitungseinheit): Setzen FF71 = FF73 · FFIl ■ FTIl ■ 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 ■ FTTl ■ s'; wobeis' = SGW -f »Fehler«. Rücksetzen FF 72 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
FF77: (»Anruf«-Kennzeichen):
Setzen FF77 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation durchzuführen ist. Rücksetzen FF77 von Seiten der peripheren Datenverarbeitungscinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation nicht durchzuführen ist. FF44: (»Umschalu-Kennzeichen):
Setzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation durchzuführen ist. Rücksetzen FF 44 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Umschaltoperation nicht durchzuführen ist.
FFlS: (»Betriebserlaubnis«):
Setzen FF 75 von Seiten der peripheren Datenverarbeitungseinheit, wenn ein Betrieb der zentralen Datenverarbeitungseinheit erwünscht ist.
Rücksetzen FF 75 = TFTJ ■ FF 71 + TTM ■ FF72; d.h.: bei {FFH,TFM)■ {SCP,SCW, Fehler), also bei fehlendem Kennzeichen von Seiten der peripheren Datenverarbeitungseinheit und bei Aufkommen einer entspre-
309 532/417
chenden Anfrage von Seiten der zentralen Datenverarbeitungseinheit wird diese inaktiv und abwartend.
FFSO: (»Anrufen« befiehlt den Beginn der Anrufoperation auf Seiten der zentralen Datenverarbeitungseinheit):
Setzen FF80 = FF77 · FFIl. Rücksetzen FF 80 von Seilen der peripheren Datenverarbeitungseinheit nach Rückstellung von FF71 und FF 72. »*>
FF71: (»Umschalten« befiehlt der, Beginn der Umschaltoperation von Seiten der zentralen Datenverarbeitungseinheit):
Setzen FF71 = FF44 · FF72. Rücksetzen FF 71 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung von FF 71 und FF 72.
FF 74:
FF 78:
(»Anruf ausgeführt« zur Rückmeldung die periphere Datenverarbeitungseinheit)· Setzen FF 74 = CCC.
Rücksetzen FF 74 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstelluno von FF 71 und FF 72. ^
(»Umschaltung ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungs. einheit):
Setzen FF 78 = 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
ausgeführt« von der Speichersteuereinheit is Rücksetzen FF 78 von Seiten der periphere Datenverarbeitungseinheit nach Rückstellun von FF71 und FF72
Dateng
von FF71 und FF72.
Zeit
I
II
III
Tabelle II 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 72
Ί,
1100100000 1100110000 1100110001 1101100001
1101100101 1100100000
1100110000
llOOiOOOlO
1110100010
1110101010
110 0 10 0 0 0 0
1100110000
1100100011
1111100011 1111101011 1111101111
Neubeginn der peripheren Datenverarbeitungseinheit
»Fehler« -* 5-> »Umschalten« »SCP& -v C -> »Anrufen«
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automalische Umschaltung und Anmfverarbeitung bei fortwährend betriebener zentraler Datenverarbeitungseinheit.
Bedeutung der Zeiten I bis VI:
warten auf eine Anfrage »SCP«, *SCW* oder »Fehler* von der zentralen Datenverarbeitungseinheit, »SC W« -► C sowie S -^ »Anrufen« sowie »Umschalten« II Tastimpuls,
III Beschicken von FF71 und/oder FFIl,
IV Beginn der Operation auf Seiten der peripheren Datenverarbeitungseinheit,
V »Anruf ausgeführt«,
VI »Umschaltung ausgeführt«.
Zeit
I
Il
III
Tabelle III 77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 71 72 77 44 80 71 75 73 74 78 71 72
1000100000 1000110000 10 0 0 10 0 0 0 1
lOOlOOOOOl 10 0 10 0 0 10 1 1000100000
0 0 110 0 0 0
0 0 10 0 0 10
10 10 0 0 10
1010101010
1000100000 1000110000 10 0 0 10 0 0 11
10 110 0 0 0 11 10 110 0 10 11 10 110 0 1111
Neubeginn der peripheren Datenverarbeitungseinheit Y
»Fehler« ·
»Umschalten« »SCP« »Anrufen«
»SCR« -»■ C sowie S -y »Anrufen« sowie »Umschalten«
Ablaiifdiagramm zur Umschaltanordnung am Beispiel:
Automatische Anrufverarbeitung; verhinderte automatische Umschaltung, 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 II. Bemerkung zu ».-)«:
Die periphere Datenverarbeitungseinheit leitet eine (Pseudo)Umschaltung ein, indem FF79 auf »Ein« gesetzt wird.
Bemerkung zu »ß«:
Zwar wird hier FF 80 auf die übliche Art gesetzt, wodurch eine automatische Anrufverarbeitung in Gang kommt; die periphere Datenverarbeitungseinheit leitet aber infolge FF44 eine (Pseudo)Umschaltung ein, indem das FF19 auf »Ein« gesetzt wird.
Tabelle IV Parameter-Datei 132
SA Speicherstartadresse zum Auslesen des Vektors A
SB Speicherstartadresse zum Auslesen des Vektors B
SC Speicherstartadresse zum Einschreiben des Vektors C
NY Anzahl der Elemente
in einer fundamentalen Vektoroperation NI Anzahl der Durchlaufe in der inneren Schleife N Φ Anzahl der Durchläufe in der äußeren Schleife
ΔI Adresseninkrement für die innere Schleife N Φ Adresseninkrement für die äußere Schleife
Arbeits-Datei 133
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
CO
Tabelle V
Speicherplatzbelegung zur Durchführung einer Multiplikation zweier Determinanten dritten Grades
5 Spcicherstelle für 1 «11 Speicherstelle *.. Speicherstelle cu
Determinante A 2 «12 für Determinante B für Determinante C C12
k 3 «13 I fts. m C13
10 4 «21 Z-i m+ 1 C21
k + 5 «22 b2-2 »3 + 2 ci2
k + 6 «23 - 1 b3i m + 3 C23
k + 7 «31 Z + 2 b13 m + 4 C31
15 k + 8 «32 Z- b23 m + 5 C32
k + «33 Z- b33 m + 6
k + Z- m+1
20 k + Z- m + 8
Z-
I -
-3
-4
i-5
-6
r7
-8
Die Detreminante A ist reihenmäßig auf die Speicherstellen t bis k + 8 verteilt;
die Determinante B ist spaltenmäßig auf die Speichersiellen / bis / + 8 verteilt;
die Determinante C ist reihenmäßig auf die Speicherstellen m bis m + 8 verteilt.
Zu Beginn der Multiplikation wird:
SA = k NV = 3 ΔΙ = 1
SB = Z NI = 3 . J Φ = 3
5C = w ΝΦ = 3
Tabelle VI
Adressen- und Steuerungsablauf für die Determinante A zur Durchführung der Multiplikation
gemäß Tabelle V
Schritt NI- SA-* Operation NV- Φ C - X-* VC VC /C <PC A Adresse
1 AA - X-y AA ΝΦ- - I -* ΦC 2 2 2 A:
VC + X-* IC
2 AA -X-* AA 1 2 2 k+X
VC + X-* VC
3 - X-* AA O 2 2 k + 2
IC SA-* VC NV -X-* VC
4 AA - X-* AA 2 1 2 k
VC + X-* IC
5 AA - X-* AA 1 1 2 k + X
VC + X-y VC
6 - 1-H. AA O 1 2 k + 2
IC SA-* VC NV 1 —>■ VC
7 AA -X-* AA 2 O 2 k
VC + X-* IC
8 AA - X-* AA 1 O 2 k+X
VC + 1 -» VC
9 SA + - l-> AA r\
KJ
O 2 k + 2
NI Λ Φ -. VC -AA,SA NV - 1-* VC
10 AA - 1-, ■ IC - 1 --, . Φ C 2 2 1 k + 3
VC + 1 -. .AA
11 -VC 1 2 1 k+4
AA
VC
37 Operation NV NV 1 934 365 VC' IC 38 4>C A Adresse j I t
!
Jt + 5
IC AA
VC
0 2 I k + 5 * + 6 j
AA
VC
AA
IC
(Tabelle VI Fortsetzung) 2 1 1 Jt+ 3 Jfc + 7 j
Schritt AA
VC
+ 1 -v VC NV NV 1 1 1 k + 4 k + 8
12 IC SA-+
- 1 —
AA
VC
0 1 1 k + 5 A-+ 6
13 AA
VC
4-1-* AA
IC
- 1-+ VC j 0 1 k + 3 Jt+ 7
14 AA
VC
+ 1-+
- 1-v
AA
VC
AA,SA NV
IC ΦC
1 0 1 Jt+4 k + 8
15 SA +
Nl
SA-+ AA
VC
AA
VC
0 0 1 k -t- 6
16 AA
VC
+ 1 -+
- 1~-
AA
VC
-X^. VC 2 2 0 Jt + 7
17 AA
VC
+ 1-v
- 1-*
AA
IC
1 2 0 A- + 8
18 IC ,1 Φ -+
- I-+
AA
VC
0 2 0
19 AA
VC
+ I-+
1 ^
AA
VC
-1-+VC
- 1 -+ <PC
2 1 0
20 AA
VC
+ 1 -*
J __
AA
IC
1 1 0
21 IC SA —
- l-~
AA
VC
0 1 0
22 AA
VC
+ 1
- 1 -v
AA
VC
- 1 — VC 2 0 0
23 AA
VC
+ I-+
- 1-+
1 0 0
24 SA-*
I —
0 0 0
25 + 1 —
- 1 —
~-\ — VC
26 + 1 —
J k
27
Tabelle VII Beispiel für Gleitkommaadditionen im Rechenwerk 101
Zeit
Subtraktion des Exponenten ...
Ausrichtung der Mantissen
Addition der Mantissen
Nachnonnalisierung des
Resultats
avbt
Im selben Rechenwerk befinden sich znr Zeh r, vier verschiedene Wortpaare α,, 6 ; ι = 1 -^- 4 in vier
verschiedenen Bearbeitungsstufen!
Hierzu 2 Blatt Zeichnungen

Claims (9)

Patentansprüche:
1. Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage mit einer zentralen Datenverarbeitungseinheit, einer peripheren Datenverarbeirungseinheit und einem gemeinsamen Speicher, dadurch gekennzeichnet, daß die periphere Datenverarbeitungseinheit (11) so ausgebildet Lst, daß sie in Abhängigkeit von dem Stand des in der zentralen Datenverarbeitungseinheit (10) laufenden Programms die Auswahl des nächsten von der zentralen Datenverarbeitungsanlage (10) zu verarbeitenden Programms aus dem Speicher (12, 13, 14, 15) steuert und ein Freigabesignal erzeugt, das anzeigt, daß eine Auswahl getroffen ist, das die zentrale Datenverarbeitungseinheit
(10) der peripheren Datenverarbeitungseinheit
(11) entweder ein erstes Signal (SCP) zuführt, das anzeigt, daß die zentrale Datenverarbeitungseinheit (10) ohne Programmwechsel weiterarbeiten kann, oder ein zweites Signal (SCW). das anzeigt, daß ein Programmwechsel erforderlich ist, und daß eine Schaltung (43, 44) vorge- as sehen ist, die auf das zweite Signal (5CW) und auf das Freigabesignal anspricht und in der zentralen Datenverarbeitungseinheit (10) die Bearbeitung des nächsten von der peripheren Daten Verarbeitungseinheit (11) ausgewählten Programms auslöst.
2. Anordnung nach Anspruch 1, dadurch gekennzeichnet, daß mit der zentralen Datenverarbeitungseinheit (10) eine Teilschaltung (18. 33, 55) verbunden ist, die ein Signal (CCC) erzeugt, das die periphere Datenverarbeitungseinheit für das Ansprechen auf das erste odeT zweite Signal (SCP bzw. SCW) nach einer vorbestimmten Verzögerungszeit freigibt.
3. Anordnung nach Anspruch 1 oder 2. ge- 4= kennzeichnet durch eine Schaltung (220, 53) zur Übertragung eines von der zentralen Datenverarbeitungseinheit (10) stammenden Fehlersignals zu der peripheren Datenverarbeitungseinheit (11). die daraufhin ebenfalls den Programmwechsel in der zentralen Datenverarbeitungseinheit (10) auslöst.
4. Anordnung nach Anspruch 3, dadurch gekennzeichnet, daß in der peripheren Datenverarbeitungseinheit (11) mindestens teilweise derselbe Signalkanal (51) für das zweite Signal (.VCW) und das Fehlersignal vorgesehen ist.
5. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die zentrale Datenverarbeitungseinheit (10) das zweite Signal [SCW) als Antwort auf einen Aufruf- und Wartebefehl erzeugt.
6. Anordnung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß in der zentralen Datenverarbeitungseinheit (10) eine 6.> Anordnung (126) enthalten ist, die in den Speicher (12 bis 15) eine Codegruppc überträgt, die den Stand des in der zentralen Datenverarbeiuingseinheit laufenden Programms anzeigt.
7. Anordnung nach Anspruch 6, dadurch gekennzeichnet, daß in dem Speicher (12 bis 15) ein Speicherplatz zum Speichern der Codegruppc reserviert ist und daß der reservierte Speicherplatz für die periphere Datenverarbeitungseinheit zugänglich ist.
8. Anordnung nach Anspruch 5 und nach Anspruch 6 ovier 7, wobei die zentrale Datenverarbeitungseinheit ein Rechenwerk, ein Befehlsabrufregister zur Übermittlung von Befehlen zu dem Rechenwerk sowie einen Adressengenerator zur Erzeugung von Steuercodegruppen für die Steuerung des Einspeicherns und Abrufens von Operanden zwischen dem Speicher und dem Rechenwerk aufweist, dadurch gekennzeichnet, daß das Befehlsabrufeinheitsregister (128) einen Abschnitt (128 b) aufweist, in dem entweder ein Aufruf- und Weiterbearbeitungsbefehl gespeichert wird, wenn die zentrale Datenverarbeitungseinheit (10) ohne Programmwechsel weiterarbeiten kann, oder der Aufruf- und Wartebefehl, wenn ein Programmwechsel erforderlich ist, daß mit diesem Abschnitt (1286) des Befehlsabrufeinheitsregisters (128) ein Decodierer (201) verbunden ist, der entweder das erste Signal (SCP) auf einer ersten Ausgangslcitung (41) erzeugt wenn in dem Abschnitt (1286) ein Aufruf- und Weiterbearbeitungsbefehl steht, oder das zweite Signal (SCW) auf einer zweiten Ausgangsleitung (42) erzeugt, wenn in dem Abschnitt (128 b) ein Aufruf- und Wartebefehl steht, daß ferner eine Schaltung (58, 212, 214) vorgesehen ist, um das jeweils vorhandene Ausgangssignal zum Rechenwerk (101) zu bringen, wenn der reservierte Speicherplatz verfügbar ist. und daß schließlich eine von diesem Ausgangssignal gesteuerte Teilschaltung (45, 60) vorgesehen ist zur Weiterleitung der gerade vorliegenden Steuercodegruppe als die genannte Codegruppe an Stelle der Operanden in den reservierten Speicherplatz.
9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die zentrale Datenverarbeitungseinheit ein Adressenregister (208) mit festem Inhalt aufweist, das die Adresse des reservierten Speicherplatzes beinhaltet, und daß ein von dem Ausgangssignal (SCP, SCW) des Decodierer:; (201) gesteuertes Gatter (209) zur Weiterleitung der genannten Codegruppe an den reservierten Speicherplatz vorgesehen ist.
DE1934365A 1968-07-09 1969-07-07 Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage Expired DE1934365C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US74357268A 1968-07-09 1968-07-09

Publications (3)

Publication Number Publication Date
DE1934365A1 DE1934365A1 (de) 1970-04-30
DE1934365B2 true DE1934365B2 (de) 1973-08-09
DE1934365C3 DE1934365C3 (de) 1974-03-28

Family

ID=24989305

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1934365A Expired DE1934365C3 (de) 1968-07-09 1969-07-07 Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage

Country Status (10)

Country Link
US (1) US3614742A (de)
JP (1) JPS505542B1 (de)
BE (1) BE735858A (de)
CA (1) CA932868A (de)
DE (1) DE1934365C3 (de)
FR (1) FR2012588A1 (de)
GB (1) GB1267384A (de)
MY (1) MY7300347A (de)
NL (1) NL172008B (de)
SE (1) SE364383B (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3725864A (en) * 1971-03-03 1973-04-03 Ibm Input/output control
US3896418A (en) * 1971-08-31 1975-07-22 Texas Instruments Inc Synchronous multi-processor system utilizing a single external memory unit
US3902162A (en) * 1972-11-24 1975-08-26 Honeywell Inf Systems Data communication system incorporating programmable front end processor having multiple peripheral units
US4149244A (en) * 1976-06-07 1979-04-10 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
US4305124A (en) * 1978-06-09 1981-12-08 Ncr Corporation Pipelined computer
DE2966601D1 (en) * 1978-06-09 1984-03-08 Ncr Co A digital pipelined computer
US4244019A (en) * 1978-06-29 1981-01-06 Amdahl Corporation Data processing system including a program-executing secondary system controlling a program-executing primary system
US4409653A (en) * 1978-07-31 1983-10-11 Motorola, Inc. Method of performing a clear and wait operation with a single instruction
JPS55112651A (en) * 1979-02-21 1980-08-30 Fujitsu Ltd Virtual computer system
JPS6043535B2 (ja) * 1979-12-29 1985-09-28 富士通株式会社 情報処理装置
US4484274A (en) * 1982-09-07 1984-11-20 At&T Bell Laboratories Computer system with improved process switch routine
US4514846A (en) * 1982-09-21 1985-04-30 Xerox Corporation Control fault detection for machine recovery and diagnostics prior to malfunction
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4737907A (en) * 1982-09-21 1988-04-12 Xerox Corporation Multiprocessor control synchronization and instruction downloading
US4532584A (en) * 1982-09-21 1985-07-30 Xerox Corporation Race control suspension
US5023779A (en) * 1982-09-21 1991-06-11 Xerox Corporation Distributed processing environment fault isolation
US4870644A (en) * 1982-09-21 1989-09-26 Xerox Corporation Control crash diagnostic strategy and RAM display
US4550382A (en) * 1982-09-21 1985-10-29 Xerox Corporation Filtered inputs
US4698772A (en) * 1982-09-21 1987-10-06 Xerox Corporation Reproduction machine with a chain of sorter modules and a method to perform chaining tasks
US4521847A (en) * 1982-09-21 1985-06-04 Xerox Corporation Control system job recovery after a malfunction
US4689739A (en) * 1983-03-28 1987-08-25 Xerox Corporation Method for providing priority interrupts in an electrophotographic machine
US4589093A (en) * 1983-03-28 1986-05-13 Xerox Corporation Timer manager
US4509851A (en) * 1983-03-28 1985-04-09 Xerox Corporation Communication manager
US4562538A (en) * 1983-05-16 1985-12-31 At&T Bell Laboratories Microprocessor having decision pointer to process restore position
US4574348A (en) * 1983-06-01 1986-03-04 The Boeing Company High speed digital signal processor architecture
US4985848A (en) * 1987-09-14 1991-01-15 Visual Information Technologies, Inc. High speed image processing system using separate data processor and address generator
US5109348A (en) * 1987-09-14 1992-04-28 Visual Information Technologies, Inc. High speed image processing computer
US5146592A (en) * 1987-09-14 1992-09-08 Visual Information Technologies, Inc. High speed image processing computer with overlapping windows-div
US5129060A (en) * 1987-09-14 1992-07-07 Visual Information Technologies, Inc. High speed image processing computer
US5201039A (en) * 1987-09-30 1993-04-06 Mitsubishi Denki Kabushiki Kaisha Multiple address-space data processor with addressable register and context switching
US5159686A (en) * 1988-02-29 1992-10-27 Convex Computer Corporation Multi-processor computer system having process-independent communication register addressing
US5050070A (en) * 1988-02-29 1991-09-17 Convex Computer Corporation Multi-processor computer system having self-allocating processors
US5390329A (en) * 1990-06-11 1995-02-14 Cray Research, Inc. Responding to service requests using minimal system-side context in a multiprocessor environment
WO1992003783A1 (en) * 1990-08-23 1992-03-05 Supercomputer Systems Limited Partnership Method of implementing kernel functions
US5428779A (en) * 1992-11-09 1995-06-27 Seiko Epson Corporation System and method for supporting context switching within a multiprocessor system having functional blocks that generate state programs with coded register load instructions
US5825770A (en) * 1996-06-06 1998-10-20 Northern Telecom Limited Multiple algorithm processing on a plurality of digital signal streams via context switching
US7457671B2 (en) * 2004-09-30 2008-11-25 Rockwell Automation Technologies, Inc. Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3286239A (en) * 1962-11-30 1966-11-15 Burroughs Corp Automatic interrupt system for a data processor
US3283308A (en) * 1963-06-10 1966-11-01 Beckman Instruments Inc Data processing system with autonomous input-output control
US3406380A (en) * 1965-11-26 1968-10-15 Burroughs Corp Input-output data service computer
US3411143A (en) * 1966-01-13 1968-11-12 Ibm Instruction address control by peripheral devices
US3483521A (en) * 1966-05-13 1969-12-09 Gen Electric Program request storage and control apparatus in a multiprogrammed data processing system
US3479647A (en) * 1966-06-03 1969-11-18 Gen Electric Data process system including means responsive to predetermined codes for providing subsystem communication
US3421150A (en) * 1966-08-26 1969-01-07 Sperry Rand Corp Multiprocessor interrupt directory

Also Published As

Publication number Publication date
MY7300347A (en) 1973-12-31
SE364383B (de) 1974-02-18
FR2012588A1 (de) 1970-03-20
US3614742A (en) 1971-10-19
NL6910536A (de) 1970-01-13
DE1934365A1 (de) 1970-04-30
GB1267384A (en) 1972-03-15
NL172008B (nl) 1983-01-17
DE1934365C3 (de) 1974-03-28
JPS505542B1 (de) 1975-03-05
CA932868A (en) 1973-08-28
BE735858A (de) 1969-12-16

Similar Documents

Publication Publication Date Title
DE1934365B2 (de) Umschaltanordnung fuer eine multiprogramm-datenverarbeitungsanlage
DE1942005B2 (de) Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten
DE2847575C2 (de) Einrichtung zur Abgabe von Mikrobefehlsschablonen an die Stufen einer Pipeline-Datenverarbeitungseinrichtung
DE1774296C2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2353258C2 (de) Datenverarbeitungsanlage
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE2912287C3 (de) Datenverarbeitungsanlage
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
CH644461A5 (de) Digitale multipliziereinrichtung.
EP0134831A1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2221693B2 (de) Schaltungsanordnung zur Ausführung einer Multiplikation zwischen zwei Binärzahlen
DE1949916B2 (de) Verfahren zum betrieb einer programmgesteuerten datenverarbeitungsanlage und anordnung zur durchfuehrung des verfahrens
DE2617485A1 (de) Verfahren und schaltungsanordnung zur abarbeitung von mikrobefehlsfolgen in datenverarbeitungsanlagen
EP0010263A1 (de) Verfahren und Schaltungsanordnung zur Erweiterung des Adressierungsvolumens einer Zentraleinheit, insbesondere eines Mikroprozessors
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE1934441C3 (de) Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner
DE1449561C3 (de) Rechenmaschine mit mechanischen Eingabe- und Ausgabevorrichtungen sowie elektronischem Rechen- und Speicherwerk
DE2507405C2 (de) Anordnung zum Synchronisieren gleichzeitig auszuführender Tasks für Peripheriegeräte einer Datenverarbeitungsanlage
DE1499286B2 (de) Datenbearbeitungsanlage
DE1934439C3 (de) Digital-Rechner zur Verarbeitung von Vektorfeldern
DE3535215A1 (de) Verfahren und schaltungsanordnung zum lesen von daten aus dem speicher einer datenverarbeitungsanlage
DE2601379C3 (de) Schaltungsanordnung zum Umwandeln virtueller Adressen in reelle Adressen
DE2551793C2 (de) Indirekt gesteuerte Vermittlungsanlage, insbesondere Fernsprechvermittlungsanlage, und Verfahren zu deren Betrieb

Legal Events

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