DE1934441B2 - Befehlswerkgesteuertes rechenwerk fuer einen digitalrechner - Google Patents

Befehlswerkgesteuertes rechenwerk fuer einen digitalrechner

Info

Publication number
DE1934441B2
DE1934441B2 DE19691934441 DE1934441A DE1934441B2 DE 1934441 B2 DE1934441 B2 DE 1934441B2 DE 19691934441 DE19691934441 DE 19691934441 DE 1934441 A DE1934441 A DE 1934441A DE 1934441 B2 DE1934441 B2 DE 1934441B2
Authority
DE
Germany
Prior art keywords
unit
data processing
processing unit
operands
arithmetic unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19691934441
Other languages
English (en)
Other versions
DE1934441A1 (de
DE1934441C3 (de
Inventor
William. Joseph; Stephenson Charles Melvin; 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 DE1934441A1 publication Critical patent/DE1934441A1/de
Publication of DE1934441B2 publication Critical patent/DE1934441B2/de
Application granted granted Critical
Publication of DE1934441C3 publication Critical patent/DE1934441C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • G06F7/487Multiplying; Dividing
    • G06F7/4876Multiplying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/535Dividing only
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/535Indexing scheme relating to groups G06F7/535 - G06F7/5375
    • G06F2207/5355Using iterative approximation not using digit recurrence, e.g. Newton Raphson or Goldschmidt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling
    • G06F7/4991Overflow or underflow

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)

Description

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

Claims (10)

Patentansprüche:
1. Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner zur Ausführung von Rechnungen an Operanden, dadurch gekennzeichnet, daß wenigstens ein Rechenwerksabschnitt (300 Λ, 300B) vorgesehen ist, der mehrere Funktionseinheiten (302, 304, 306, 308, 310, 311. 312, 314 bzw. 330, 332, 334, 336, 338, 240, 341, 345) enthält, die jeweils zur Ausführung einer bestimmten Operation an Operanden befähigt sind, daß ausgewählte Funktionseinheiten abhängig von Befehlen in dem Rechenwerksabschnitt zu verschiedenartigen Serienschaltungen verbindbar siDd, und daß die Operanden zwecks gleichzeitiger Bearbeitung in den Funktionseinheiten in Taktperioden durch die jeweils gebildete Serienschaltung transportiert werden.
2. Rechenwerk nach Anspruch 1, dadurch gekennzeichnet, daß die genannten Befehle Programm- oder Maschinenbefehle für die Durchführung von Rechnungen an Operanden sind und daß die Funktionseinheiten zu einer oder mehreren zur Durchführung jedes Programm- oder Maschinenbefehls notwendigen Serienschalrungen verbunden werden.
3. Rechenwerk nach Anspruch 2, dadurch gekennzeichnet, daß Programm- oder Maschinenbefehle die Befehle für die Durchführung von Vektorrechnungen und die Operanden Vektoroperanden sind.
4. Rechenwerk nach Anspruch 3, dadurch gekennzeichnet, daß zu den Funktionseinheiten eine Addiereinheit (306) zum Addieren von Vektoroperanden, eine Exponentensubtraktionseinheit (302) zum Subtrahieren eines Exponenten der Vektoroperanden, eine Ausrichteinheit (304) zum Ausrichten von Vektoroperanden, eine Multipliziereinheit (312) zum Multiplizieren von Vektoroperanden, eine Normalisierungseinheit (308) zum Normalisieren von Vektoroperanden, ein Akkumulator (314) zum Sammeln von Vektoroperanden und/oder eine Ausgabeeinheit (310) zum Ausgeben von entsprechend den Programm- oder Maschinenbefehlen bearbeiteten Operanden gehören.
5. Rechenwerk nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß alle Funktionseinheiten durch Kanäle (313, 315, 316, 318, 319, 321, 323 bis 328, 331, 333, 335, 337, 342 bis 344, 346 bis 348, 351 bis 353) zu allen gewünschten Serienschaltungen verbunden sind, und daß Torschaltungen zum öffnen und Schließen der Kanäle in Abhängigkeit von den Befehlen vorgesehen sind.
6. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch einen synchronisierenden Taktgeber zur Steuerung des Operandentransports.
7. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch mehrere Rechenwerksabschnitte (300/1, 3005), die wahlweise derart miteinander verbindbar sind, daß sie gleichzeitig parallel zueinander verschiedene Operanden bearbeiten.
8. Rechenwerk nach Anspruch 7, dadurch ge-
kennzeichnet, daß die parallelen Rechenwerksabschnitte (300 Λ, 300B) wahlweise derart miteinander verbindbar (Kanäle 317, 322, 350, 355) sind, daß sie einzelne Operanden bearbeiten, deren Länge die Aufnahmefähigkeit eines einzelnen Rechenwerksabschnitts überschreiten.
9. Rechenwerk nach Anspruch 7 oder 8 für die Durchführung von Gleitkommaadditionen von Operanden, dadurch gekennzeichnet, daß jeder Rechenwerksabschnitt (3(MM, 300B) mit einer Addiereinheit (306, 334) und einer Multipliziereinheit (312, 341) zur Erzeugung einer Pseudosuinme und eines PseudoÜbertrags in jedem R.echenwerksabschnitt bei einem Taktimpuls ausgestattet ist, daß zwischen dem Ausgang der einen Multipliziereinheit (312) und der Addiereinheit (306) in dem einen Abschnitt eine programmgesteuerte Verbindung (313) vorgesehen ist und daß zwischen dem Ausgang der anderen Multipliziereinheit (341) und den Addiereinheiten in beiden Rechenwerksabschnitten eine programmgesteuerte Verbindung (322, 353) angebracht ist, so daß wahlweise Multiplikationsprodukte mit einfacher oder mit doppelter Wortlänge erzeugt werden können.
10. Rechenwerk nach einem der vorhergehenden Ansprüche, gekennzeichnet durch eine Befehlsabrufeeinheit (128), einen Befehlspufferspeicher (127a) und eine Steuereinheit (127). die zur gleichzeitigen Vorbereitung der Verarbeitung mehrerer verschiedener Befehle hintereinander geschaltet sind.
DE19691934441 1968-07-09 1969-07-07 Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner Expired DE1934441C3 (de)

Applications Claiming Priority (1)

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

Publications (3)

Publication Number Publication Date
DE1934441A1 DE1934441A1 (de) 1970-01-15
DE1934441B2 true DE1934441B2 (de) 1973-08-09
DE1934441C3 DE1934441C3 (de) 1974-03-28

Family

ID=24989309

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19691934441 Expired DE1934441C3 (de) 1968-07-09 1969-07-07 Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner

Country Status (7)

Country Link
JP (1) JPS505541B1 (de)
BE (1) BE735857A (de)
CA (1) CA926016A (de)
DE (1) DE1934441C3 (de)
FR (1) FR2012589A1 (de)
GB (1) GB1278102A (de)
NL (1) NL6910537A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2724125A1 (de) * 1976-07-02 1978-01-12 Floating Point Syst Gleitkomma-datenverarbeitungsgeraet

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51115841U (de) * 1975-03-14 1976-09-20
GB2144245B (en) * 1983-07-28 1987-07-29 Secr Defence A digital data processor for matrix/matrix multiplication
GB8320362D0 (en) * 1983-07-28 1983-09-01 Secr Defence Digital data processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2724125A1 (de) * 1976-07-02 1978-01-12 Floating Point Syst Gleitkomma-datenverarbeitungsgeraet

Also Published As

Publication number Publication date
GB1278102A (en) 1972-06-14
BE735857A (de) 1969-12-16
CA926016A (en) 1973-05-08
DE1934441A1 (de) 1970-01-15
JPS505541B1 (de) 1975-03-05
NL6910537A (de) 1970-01-13
FR2012589A1 (de) 1970-03-20
DE1934441C3 (de) 1974-03-28

Similar Documents

Publication Publication Date Title
DE1934365C3 (de) Umschaltanordnung für eine Multiprogramm-Datenverarbeitungsanlage
DE2724125C2 (de)
DE1942005B2 (de) Datenverarbeitungsanlage zur aufnahme und abgabe von digitalen daten und zur ausfuehrung von operationen an den daten
DE2704842C2 (de) Im Pipeline-Betrieb arbeitende Datenverarbeitungseinrichtung
DE1524103C3 (de) Datenverarbeitungsgerät
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1813916C3 (de) Elektronische Datenverarbeitungsanlage
DE2735814C2 (de) Nach dem Pipelineprinzip arbeitende Datenverarbeitungseinrichtung
DE2353258C2 (de) Datenverarbeitungsanlage
DE2753062C2 (de) Einrichtung zur wiederholten Durchführung von Programmschleifen
DE1549476C3 (de) Anordnung zur Ausführung von Divisionen
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE1200581B (de) Programmunterbrechungssystem fuer eine elektronische Rechenmaschine
DE1549480A1 (de) Datenverarbeitungsanlage
CH644461A5 (de) Digitale multipliziereinrichtung.
DE3507584C2 (de)
DE1499281B1 (de) Rechenmaschine fuer logarithmische Rechnungen
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE1934441B2 (de) Befehlswerkgesteuertes rechenwerk fuer einen digitalrechner
DE1132747B (de) Elektronische Rechenmaschine
DE1184122B (de) Addiervorrichtung
DE3535215A1 (de) Verfahren und schaltungsanordnung zum lesen von daten aus dem speicher einer datenverarbeitungsanlage
DE1934439C3 (de) Digital-Rechner zur Verarbeitung von Vektorfeldern

Legal Events

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