DE1934441C3 - Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner - Google Patents

Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner

Info

Publication number
DE1934441C3
DE1934441C3 DE19691934441 DE1934441A DE1934441C3 DE 1934441 C3 DE1934441 C3 DE 1934441C3 DE 19691934441 DE19691934441 DE 19691934441 DE 1934441 A DE1934441 A DE 1934441A DE 1934441 C3 DE1934441 C3 DE 1934441C3
Authority
DE
Germany
Prior art keywords
unit
data processing
processing unit
arithmetic
operands
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.)
Expired
Application number
DE19691934441
Other languages
English (en)
Other versions
DE1934441B2 (de
DE1934441A1 (de
Inventor
Charles Melvin Stephenson
William Joseph Watson
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 Uv.JU sich auf ein b*. "ehlswerkgesteuertes Recherw-rk für einen Digitale :hner zur Ausführung von Rechnungen an Operanden.
Bis jetzt wurden die Operationsgesch wmdigkeiten 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,
so 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 arithmeti-
scher 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.
3 4
Diese Aufgabe wird gemäß der L-rf-ndung dadurch schiedene Operanden bearbeiten Damit mit dieser gelöst, daß wenigstens ein Rechenwerk·.abchniti vor- Ausführuniisform auch Operanden mit übergroßen gesehen ist, der mehrere Funktionseinheiten enthält, Längen bearbeitet werden können, sind die pardie jeweils zur Ausführung einer bestimmen Opera- allelea Rechenwerksabschnitte wahlweise derart niittion an Operanden befähigt sind, du« ausgewählte 5 einander verbindbar, daß sie einzelne Operanden Funktionseinheiten abhängig von Befühlen "in dem bearbeiten, deren Länge die Aufnahmefähigkeit Rechenwerksabschnitt zu verschiedenartigen Serien- eines einzelnen Rechenwerkabschnitts überschreiten, schaltungen verbindbar sind, und daß die Operanden Nachfolgend wird ein Anwenduagsbeispiel der Erzweck;, gleichzeitiger Bearbeitung in den Funktions- findung an Hand der Zeichnung beschrieben. Es zeigt einheilen in Taktperioden durch die jeweils gebildete io Fig. 1 eine vorzugsweise Anordnung von Rech-Seriensehaltung transportiert werden. nereinheilen und -peripheriegeräten,
Bei der Ausführung von Rechnungen mit Hilfe Fig. 2 ein Blockschaltbild zu Fig. 1,
des erfindungsgsmüßen Rechenwerks werden die für Fig. 3 ein Blockschaltbild zur Darstellung einer
einen Rechenvorgang benötigten Funktionseinheiten umschaltanordnung zwischen einer zentralen Datenabhän.iiig von den entsprechenden Befehlen in einer 15 verarbeitungseinheit und einer peripheren Datenver-Sericnschaltung miteinander verbunden, so daß das arbeitungseinheit der F i g. 1 und 2, Rechenwerk momentan den für die durchzuführende Fig. 4 ein ausführlicheres Blockschaltbild der
Aufgabe in bestmöglicherweise aufgebaut ist. Die Umschaltanordnung von Fig. 3, Operanden werden dann takfgestcuert durch die ge- Fig. 5 ein Diagramm zur Darstellung einer JtJe-
bildetc Serienschaltung transportiert, so daß sie von ao triebsweise der zentralen Datenverarbeitungseinheit den e,-./einen Funktionseinheiten verarbeitet werden gemäß Fig. 1 .bis 4, . .
körnig Die im Rechenwerkabschnitt des erfindungs- Fig. 6 eine Puffereinheit zum Eingeben beispiels-
cemaUn Rechenwerks enthaltenen Funktionsein- weise von Vektordaten in einen Rechner, heilen werden also stets speziell für die auszufüh- Fig. 7 ein Blockschaltbild der zentralen Daten-
rendc Aufgabe zusammengeschaltet; auf diese Weise 25 verarbeitungseinheit gemäß Fig. 1 bis 4, ist der innere Aufbau des Rechenwerks stets an die Fig. 8 ein aus zwei Abschnitten autgeoautes
jewc'is auszuführende Aufgabe bestmöglich ange- Rechenwerk in der zentralen Datenverarbeitungspaßt, so daß unnötige Übertragungszeiten zwischen einheit,
Funktionseinheiten vermieden werden. Fig. 9 Baueinheiten innerhalb der zentralen iJa-
Gemäß einer Weiterbildung der Erfindung sind die 30 tenverarbeitungseinheit zur Durchführung der umgenannten Befehls Programm- oder Maschinen- schaltung mit Hilfe der in dun F1 g. 3 und 4 dargebefehie, und sie sind insbesondere Befehle für die stellten Umschaltanordnung,
Durchführung von Vektorrechnungen. Die mit Hilfe Fig. 10 eine Darstellung zur Veranschaulicnung
des erfindungsgemäßen Rechenwerks erreichte hohe des Zeitteilbetriebs zwischen virtuellen Uatenverar-Arbeitsgeschwindigkeit ist besonders bei der Durch- 35 beitungseirheiten innerhalb der penpneren uatenführung von Vektorrechnungen ein großer Vorteil, verarbeitungseinheit gemäß F1 g. 1 und 2, da bei diesem Anwendungsfall sehr große Daten- Fig. 11 ein Blockschaltbild der penpneren Daten-
meneen verarbeitet werden müssen. Eine Erhöhung verarbeitungseinheit, „
der Arbeitsgeschwindigkeit ist bei diesem Anwen- Fig. 12 den Zugriff auf Zellen in einem Kommu-
dungsgebiet also von besonderer Bedeutung. 40 nikationsregister von Fig. 11 und
Zur Durchführung von Vektorrechnungen ist das Fig. 13 eine ausfuhrliche Darstellung der in
erfindungsgemäße Rechenwerk vorzugsweise derart Fig. 11 gezeigten ^0^110^^™11^: Anwen. ausgebildet, daß zu den Funktionseinheiten eine In der nachfolgenden Beschreib»nf ™ >™™
Addiereinheit zum Addieren von Vektoroperanden, dungsbeispiels der Erfindung wird die Zusawmeneine Exponentensubtraktionseinheit zum Subtra- 45 arbeit einzelner Einheiten innerha b ™e* v°™f hieren eines Exponenten der Vektoroperanden, eine weise zur Verarbeitung wissenschaftlicher Daten aus-Ausrichteinheit zum Ausrichten von Vektoroperan- gelegten Rechners genau erläutert, den, eine Multipliziereinheit zum Multiplizieren von
Vektoroperanden, eine Normalisierungseinheit zum
Normalisieren von Vektoroperanden, ein Akkumula- so ...
tor zum Sammeln von Vektoroperanden und/oder £u r 1 g. ·
eine Ausgabeeinheit zum Ausgeben von entsprechend den Programm- oder Maschinenbefehlen be _ arbeiteten Operanden gehören. Der Rechner enthält eine zentral« In Weiterbildung der Erfindung sind alle Funk- 55 tungseinheit 10 sowie eine peripher» tionseinheiten durch Kanäle zu allen gewünschten tungseinheit 11 Ein Zentralspeicher Serienschaltungen verbunden, und zum öffnen und von Dünnschichtspeicherelementen Schließen der Kanäle in Abhängigkeit von den Be- ehern 12 bis 15 mit einer Zykluszeit von fehlen sind Torschaltungen vorgesehen. Durch Be- Sekunden bei einer jta^.nh^ch Z"grSS tätigen der Torschaltungen können die Funktions- «c vonMOOί^^^^ΐίΪ
digkeit enthält eine Ausführungsform des erfindungs- 65 sein. Worrkanazität
gemäßen Rechenwerks mehrere Rechenwerksah- Jeder Speicher 12 h's»S hat eine.W°r «g8^
Schnitte, die wahlweise derart miteinander verbind- von 16 84 Worgn^.n_Wo^b«telit aus 32Β£. bar sind, daß sie gleichzeitig parallel zueinander ver- 256 Bits = 8-32 Bits s woricr ncmc
gruppe«, was bedeutet, daß 2048 Wortgruppen zu je 256 Bits in jedem der Speicher 12 bis 15 gespeichert sind.
Eine Speichersteuereinheit 18 stellt die Lesc-Schreib-Steuerung für den Zentralspeichcr 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 SO Nanosekunden, während ein Taktsignal fur 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 BiIdschirmkunsole 28. Diese Bildschirmkonsole enthält zwei Bedienungspulte, die mit der peripheren Datenverarbeitungseinheit 11 gekoppelt sind und zwei Bildschirme von Zweistrahl-Kathodenstrahlröhrcn ent halten. Die Bedienungspulte bilden nicht nur die Steuereinheit für die Bildschirmkonsole 28, sondern auch für den Kartenleser 19, den Kartenstanzer 20, den Zeilendrucker 27 und die Bandspeicher 21 bis 26. Über die Bedienungspulte kann eine Bedienungsperson in den Rechner Befehle zum Friiffn der Hardware oder der Software eingeben; ebenso können über die Bedienungspulte Programmunterbrechungen an bestimmten Stellen ausgeführt werden, die es erlauben, den Fortgang einer Operation zu überprüfen und auf Grund der erzielten Fortschritte in ihrem weiteren Ablauf zu beeinflussen. Letzteres kann bedeuten, daß die Operation auf dem eingeschlagenen Weg weitergeführt wird oder daß möglicherweise mit anderen Daten auf einem anderen Weg fortgefahren wird.
Wie es bei Rechnern allgemein üblich ist, sind in dem in Fig. 1 dargestellten Rechner mehrere Speicherhierarchien vorgesehen. Beispielsweise gibt es die vier folgenden Hierarchien: a) die zentrale Daten verarbeirungseinheit 10 mit dem schnellsten Speicher, b) die Speicher 12 bis IS 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 Fig. 1 verfügt über mehrere
Unlcrsyslcmc, 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 Daten Verarbeitungseinheit 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 Par-
ao allelrechenwerk 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 Datenverarbei-
a5 tungseinheiten innerhalb der peripheren Datenverarbeitungseinheit 11 in einem Zeitteil verfahren.
Zu Fig. 2:
Die Organisation des Rechners von Fig. I ist durch eine Erläuterung der im Blockschaltbild von F i g. 2 aufgezeigten Datenkanäle leicht zu um reißen. Ein Kanal 29 verbindet die Speichersteuer einheit 18 mit einer puffernden Platten- und Trommelsteuercinheit 30, von der ein Kanal zum Plattenspeicher 16 und ein weiterer Kanal zum Plattenspeicher 17 führen. Die Platten- und Trommelsteuer- einheit 30 ist ein einfacher, fest verdrahteter Einzweckrechncr 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 entsprc-
chendcn Befehls.
Die eben erwähnten Kanäle ?ind 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 Wortgnippe, zwischen der Speichersteuereinheit 18 und der Platten- und TrommeMeuereinheit 30 transportiert.
Der Anschluß eines Trommelspeichers 31 an die
Platten- und Trommelsteuereinheit 30 zur Erhöhung der Speicherkapazität mit mittlerer Zugriffszeit könnte über einen weiteren bidirektionalen Kanal erfolgen.
Ein weiterer Kanal zur simultanen übertragung
von 256 Bits ist der bidirektionale Kanal 32 zwischen der Speichersteuereinheit 18 und der peripheren Datenverarbeitungseinheit 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 Datenvcrarbeitungseinheit 11 als Mehrzweckrechner, dem unter anderem die Steuerung des
Datenflusses zu allen Peripheriegeräten, deren Datenkanäle an ihn angeschlossen sind, mit Ausnahme der Plattenspeicher 16 und 17 und des Trommelspeichers 31 obliegt.
Beim nicht zerstörungsfreien Auslesen aus dem Zentralspeicher müssen die ausgelesenen Daten regenerativ wieder eingespeichert werden, während nur eines der acht Werter einer Wortgruppe in der peripheren Datenverarbeitungseinheit 11 verarbeitet wird. Dies erweist sich schon deshalb als notwendig, da von der peripheren Datenverarbeitungseinheit 11 infolge der mehr «der weniger langsam arbeitenden Peripheriegeräte mir jeweils ein Wort aus der Achtwctrtgruppe (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 100000 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 Il arbeitet mit Hilfe der virtuellen Datenvei arbeitungseinheiten entsprechend dem im Zentralspeicher gespeicherten Programm, wobei die virtuellen Datenverarbeitungseinheiten außerdem das in der zentralen DatenverarbeiUngseinheit 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 IS des Zentralspeichers in Verbindung steht. Im Gegensatz zu den obigen Ausführungen hinsichtlich der peripheren Datenverarbeitungseinheit Il kann die zentrale Datenverarbeitungseinheit 10 al'.e acht Worter einer Wongruppe aus dem ZcniraSspcicher verwerten, wobei sie überdies die Fähigkeit besitzt, eine beliebige Kombination dieser acht Wörter zu lesen oder zu schreiben Im Kanal 33 werden vor- ?ugsweise alle 50 Nanosekunden drei Wörter transportiert, wobei zwei Wörter in die zentrale Datenverarbeitungseinheit 10 eingaben 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 Befehlskeiien 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 Speichersteuereinheit 18 und dem Rechenwerk innerhalb der zentralen Datenverarbeitungseinheit 10 Puffer vorgesehen sind, die solche zur Bildung der erforderlichen Befehlsketten benötigten Mikrobefehle enthalten oder zu bilden gestatten. Zusätzlich enthält die zentrale Datenverarbeitungseinheit 1β das als sogenannten Schlauchrechner ausgebildete Rechenwerk.
Ein Kanal 34 am Ausgang der Speichersteuereinheit 18 ist zur Erweiterung der Rechnerkapazitat vorgesehen, falls weitere zentrale Datenverarbeitungseinheiten od. dgl. zusätzlich angeschlossen werden müssen.
Jeder der Kanäle 29 und 32 bis 34 hat über die Speichersteuereinheit 18 direkt Zugriff auf jeden Speicher 12 bis 15 des Zentralspeichers. Zur Erhöhung der Verarbeitungsgeschwindigkeit werden im Rechner und insbesondere im Zentralspeicher sich s vorzugsweise zeitlich überlappende Arbeitszyklen angewendet. In der Speichersteuereinheit 18 ist eine Vorrangsteuerung mit vorzugsweise festen Zuordnungen vorgesehen, damit Anfragen an den Zentralspeicher in einer gewünschten Reihenfolge beant-
wortet 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
is Möglichkeit besteht, die Prioritätsreihenfolge beliebig abzuändern.
Zu Fig 3:
In Form eines Blockschaltbilds wird eine automatische Umschaltanordnung gezeigt, die die peri-
β5 phere 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 Wirkungs weise der Umschaltanordnung basiert darauf, daß in der zentralen Datenverarbeitungseinheit 10 echt gleichzeitig oder vorzugsweise quasi-gleich/citig mehrere Benutzerprogramme ablaufen können und daß andererseits die periphere Datenverarbeitungseinheit 11 periphere Anfragen von Seiten dieser Programme zu erledigen hat, wodurch nun der peripheren Datenverarbeitungseinheit 11 die Aufgabe zukommt, den Ablauf der in der zentralen Datenverarbeitungseinheit 10 wirksam werdenden Benutzerprogramme planerisch festzulegen.
Durch zwei verschiedene Signale können die in der zentralen Datenverarbeitungseinheit 10 ausge-
»5 führten Benutzerprogramme von der peripheren Datenverarbeitungseinheit 11 periphere Dienstleistungen anfordern. Diese Signale haben die Bezeichnungen SCP und SCW. Das Signal SCP kommt dann im Benutzerprogramm vor, wenn es möglich ist, in der Verarbeitung dieses Programms fortzufahren, ohne den Vollzug der angeforderten peripheren Dienstleistung von Seiten der peripheren Datenverarbeitungseinheit 11 abzuwarten. Die periphere Datenverarbeitungseinheit 11 wird also auf Grund der entsprechend gestellten Anforderung Daten, Adressen oder ein ganzes Programm sicherstellen bzw. zusammenstellen, welche im weiteren Ablauf des innerhalb der zentralen Datenverarbeitungseinheit weiterverarbeiteten gleichen Benutzerprogramms erforderlieh werden. Die periphere Datenverarbeitungseinheit 11 überträgt dann das angeforderte Datenmaterial bei passender Gelegenheit. Das Signal SCP wird, wie in F i g. 3 dargestellt ist, über eine Ausgangsleitung 41 von der zentralen Datenverarbeitungseinheit 10 zur peripheren Datenverarbeitungseinheit 11 übertragen.
Das Signal SCW wird dagegen dann von einem Benutzerprogramm ausgegeben, wenn dieses nicht
409 613/306
weiter ablaufen kann, ohne die von der peripheren zwischen der zentralen und der peripheren Datenver-Datenverafbeitungseinheit 11 angeforderte periphere arbeitungseinheit dadurch vermieden, daß die periDienstleistung erhalten zu haben. Das Signal SCW phere Datenverarbeitungseinheit 11 vorsorglich sämtwird über eine Ausgangsleitung 42 aus der zentralen liehe in Reserve befindliche Programme innerhalb der Datenverarbeitungseinheit 10 an die in F i g. 3 zwi- 5 zentralen Datenverarbeitungseinheit 10 auf Einsatzschen der zentralen Datenverarbeitungseinheit 10 und bereitschaft, d. h. auf die Möglichkeit, sofort weiterder peripheren Datenverarbeitungseinheit 11 liegende verarbeitet zu werden, prüft und registriert. Ein weieigentliche Umschaltanordnung angelegt. terer Vorteil ergibt sich daraus, daß in der zentralen
Die periphere Datenverarbeitungseinheit Ul unter- Datenverarbeitungseinheit keine Schaltungseinrich-
sucht die innerhalb der zentralen Datenverarbeitungs- io tungen zur Durchführung des sonst üblichen Dialogs
einheit 10 gerade unterbrochenen und nicht weiter benötigt werden,
ablaufenden Programme daraufhin, welches von der
zentralen Datenverarbeitungseinheit 10 weiterverarbeitet werden sollte. Hat sie ein solches Programm
gefunden, dann setzt die periphere Datenverarbei- «s Zu Fig. 4:
tungseinheit 11 eine Schaltkennzeicheneinrichtung 44,
die hier als Flip-Flop-Schaltung dargestellt ist. Wird
nun in der zentralen Datenverarbeituneseinheit 10 F i g. 4 zeigt ein ausführlicheres Blockschaltbild der
beim Anlauf eines in ihr verarbeiteten Benutzerpro- in Fig. 3 dargestellten Umschaltanordnung, aus dem
gramms ein Signal SCW gefunden, dann entsteht über ao die Zusammenwirkung zwischen der zentralen Daten-
die Und-Gatter43 auf einer Leitung 45 ein Signal Verarbeitungseinheit 10, der peripheren Daten .ιτ-
»Umschalten«, wenn auch die Schaltkennzeichenvor- arbeitungseinheit 11 und der Speichersteuereinheit 18
richtung44 gesetzt ist. Das Signal »Umschalten« ver- deutlich hervorgeht. In Fig. 4 ist der wesentliche
ursacht in der zentralen Datenverarbeitungseinheit 10 Teil der automatischen Umschaltanordnung als zur
die Durchführungen der erforderlichen Umschaltung »5 peripheren Datenverarbeitungseinheit 11 gehörig gc-
von dem Benutzerprogramm, das zu einem Signal zeichnet, indem er als Ausgangsteil der peripheren
SCW geführt hat, zu dem Programm, das von der Datenverarbeitungseinheit 11 in Richtung zur ze im a-
peripheren Datenverarbeitungseinheit Il aus den in len Datenverarbeitungseinheit 10 und zur Speiciier-
Reserve befindlichen Programmen al* das Programm Steuereinheit 18 dargestellt ist. Die periphere Paten-
ausgewählt worden ist, das als nächstes an die Reihe 30 Verarbeitungseinheit 11 enthält also in Fig. 4 aul der
kommt. linken Seite einer gestrichelten, senkrechten I nie
Im einzelnen spielt sich bei diesem Vorgang fol- eine Umschaltanordnung als Ausgangsteil, wäh. nl
gendes ab: Wenn die Schaltkennzeichenvorrichtung auf der rechten Seite der gestrichelten Linie Uic
44 gesetzt ist, kann beim Auftreten eines Signals SCW eigentlichen Schaltungsanordnungen der periph < η
von Seiten der zentralen Datenverarbeitungseinheit 35 Datenverarbeitungseinheit liegen, von denen jedoch
10 über das Und-Gatter43 das Signal »Umschalten- nur Anschlüsse dargestellt sind.
auf der Leitung 45 zur zentralen Datenverarbeitungs- Die Ausgangsleitungen 41 und 42 für die Sign.^c
einheit 10 gelangen und dieser anzeigen, daß sie an SCP und SCW führen von der zentralen Daten- ·. -
Stelle des Programms, das zur Abgabe des Signals arbeitungseinheit 10 zur peripheren Datenveraii bei -
SCW geführt hat und das sich nun vorher in Warte- 40 tungseinheit 11. Für diese Übertragung ist ein (W :-
stellung befindet, ein anderes, bisher in Reserve be- Gatter 50 vorgesehen, an dessen Eingänge die Sig.-aie
findliches Programm oder Programmsegment weiter 5CP und SCW angelegt werden können, und es ' t
bearbeiten kann. Sie wird dieses Programm oder Pro- ein einen weiteren Signalkanal bildendes Öder-G.vter
grammsegment automatisch und ohne Verzögerung 51 vorgesehen, an dessen Eingänge das Signal St W
übernehmen und weiterverarbeiten, indem ihr durch 45 und ein Fehlersignal über eine Leitung 53 die <iu«
Rückfrage bei der peripheren Datenverarbeitungsein- der zentralen Datenverarbeitungseinheit 10 kom'nit.
herill von dieser das betreffende Programm oder angelegt werden können. Die Signale SCP 5CW und
Programmsegment angezeigt wurde. Hat nun bei- das Fehlersignal entstehen auf Grund bestimmte!
spielsweise die periphere Datenverarbeitungseinheit Programmbefehle im Benutzerprogramm wobei im
11 etwa bei Fehlen solcher in Wartestellung befind- so Falle der zwei letzteren Signale ein Umschalten vom licher, betriebsbereiter Programme keine solche An- bisherigen Benutzerprogramm zu dem nächsten Prozeige zu machen, dann ist von der peripheren Daten- gramm erwünscht sein kann.
verarbeitungseinheit auch die Schaltkennzeichenvoi- Ein kurze Zeit nach Erscheinen der Signale SCl richtung nicht gesetzt worden, so daß die Abgabe oder SCW oder des Fehlersignals entstehender Tasi des Signals »Umschalten« von vornherein unmöglich 55 impuls auf einer Leitung 54, kommt von der zentra gemacht ist. Beim Auftreten des Signals SCW been- len Datenverarbeitungseinheit 10 zur peripheren Da det die zentrale Datenverarbeitungseinheit 10 in die- tenverarbeitungseinheit 11, in der er eine Flip-Flopsem Fall zwar ebenso die Weiterverarbeitung des Be- Schaltung 73 setzt. Es sei bemerkt daß der Tastimnutzerprogramms. das zur Abgabe des Signals SCW puls und die von ihm getestete Flip-Flop-Schaltum geführt hat, doch bleibt dieses Benutzerprogramm in 60 73 ohne Abweichung von dem in Fig. 3 dargestellter der zentralen Datenverarbeitungscinheit 10 so lange. Prinzip entfallen könnten.
bis die Schaltkennzeichenvorrichtung 44 von der Mit einem Signal auf einer der Ausgangsleitunger
peripheren Datenverarbeitungseinheit 11 gesetzt wird. 41, 42 fragt die zentrale Datenverarbeitungseinheit Il
Sobald das Signal »Umschalten« erscheint, wird die bei der peripheren Datenverarbeitungseinheit 11 an die Schaltkennzeichenvorrichtung 44 bildende Flip- 65 ob sie einen bestimmten Teil des von ihr gerade aus
Flop-Schaltung zurückgesetzt. geführten Programms über den Kanal 33 und du
Mit dieser automatisch arbeitenden Umschaltan- Speichersteuereinheit 18 in eine bestimmte Vorzugs
Ordnung wird ein sonst üblicher zeitraubender Dialog weise reservierte Stelle des Zentralspeichers ein
11 ^ 12
speichern darf. Dabei erstreckt sich die Zeitspanne, Speichersteuereinheit 18 anbelangt, daß ein Umin deren Verlauf den bestimmten Teilen des in die- schaltbefehl ausgeführt wurde. Das Signal gelangt von sem Augenblick von der zentralen Datenverarbei- der Speicheisteuereinheit 18 zur peripheren Datentungseinheit 10 verarbeiteten Programms enthalten Verarbeitungseinheit 1) und zu einem Eingang eines soll, über die Zeit, die die periphere Datenverarbei- 5 Und-Gatters 64, dessen zweiter Eingang mit der das tungseinheit 11 benötigt, diesen Programmteil abzu- Signal PSC führenden Leitung 57 verbunden ist. fragen und auf Grund des vorgefundenen Informa- Wenn die Und-Bedingung an diesem Und-Gatter ertionsgehalts eine dementsprechende Instruktionsfolge füllt ist, kann die periphere Datenverarbeitungseinablaufen zu lassen. In dem hier beschriebenen Bei- heit 10 den nächsten Zustandswechsel für die zentpiel wird für eine solche Steueroperation einer Um- io trale Datenverarbeitungseinheit vorbereiten. Eine Ichaltanordnung eine Wortstelle im Zentralspeicher von der peripheren Datenverarbeitungseinheit 11 zur reserviert. Ein auf cii-f Leitung 55 von der zeutra- Speichersteuereinheit 18 führende Leitung 60 überlen Datenverarbeitungseinheit 10 zur peripheren Da- trägt wie die obengenannte Leitung 45 das Signal tenverarbeitungsetnheit 11 übertragen!'«! Signal CCC »Umschalten«; dieses Signal zeigt der Speichersteuer meldet der peripheren Datenverarbeituugscinhen U, 15 einheit 18 an, daß sie den Umschaltbefehl ausführen «laß ein mit dem Signal SCP oder 5CH' begonnener kann.
Ablauf beendet ist. Wie im Zusammenhang mit F i g. 2 bereits erwähnt
Auf einer Leitung 56 gelangt ein Signal R von der wurde, übertragen die Kanäle 32 und 33 acht Wörtteripheren Datenverarbeitungseinheit 11 zur centra- ter — 256 Bits, d. h. jeweils einen ganzen Wortblock len Datenverarbeitungseinheit 10, das, wie nachher ao gleichzeitig zwischen der peripheren Datenverarbeierläutert wird, dazu verwendet werden kann, den tungseinheit und der Speichersteuereirsheit bzw. Ablauf innerhalb der zentralen Datenverarbeitungs- zwischen der zentralen Datenverarbeitungseinheit und einheit 10 abzustoppen, sobald innerhalb der peri- der Speichersteuereinheit.
ipheren Datenverarbeitungseinheit U bestimmte Be- Der zur Umschaltanordnung gehörende Ausgangstriebsbedingungen auftreten. »5 teil der peripheren Datenverarbeitungseinheit 11 ent-
Auf einer Leitung 57 wird ein Signal PSC als hält nach F i g. 4 zehn Flip-Flop-Schaltungen 71 bis Quittiersignal von der zentralen Datenverarbeitungs- 75, 44 und 77 bis 80. Zu diesem Ausgangsteil geeinheit 10 zur peripheren Datenverarbeitungseinheit hören auch die Oder-Gatter 50, 51,68 sowie die Und-11 auf Grund eines vorausgegangenen Signals SCW Gatter 43 und 61 bis 67.
oder eines I Vhlersignals übertragen. Die periphere 30 Die Flip-Flop-Schaltungen können einfache gleich-Datenverarbeitungseinheit 11 löst eine Operations- stromgekoppelte RS-Flip-Flops sein, deren Setz- und folge aus, die die momentan unterbrochene Zentral- Rücksetzeingänge mit den Buchstaben S bzw. R bedatenverarbeitungseinheit veranlaßt, einen bestimm- zeichnet sind. Der Ja-Ausgang der Flip-Flop-Schalten Informationscode in den zentralen Speicher zu tungen ist mit 1 bezeichnet, und der Nein-Ausgang übertragen, der den Gesamtzustand des Programm- 35 ist mit 0 bezeichnet. Die Flip-Flop-Schaltungen sind teils in der zentralen Datenverarbeitungseinheit 10 ferner mit Buchstaben bezeichnet, die die jeweils ?.ui charakterisiert, bei welchem diese Einheit die Ver- den entsprechenden Ja-Ausgängen abgegebenen Siarbeitung des Progiamms unterbrochen hat Nach gnale kennzeichnen. Beispielsweise bedeutet der dieser Abspeicherung wird nun die zentrale Daten- Buchstabe C bei der Flip-Flop-Schaltung 71, daß an Verarbeitungseinheit 10 in einen gänzlich neuen Zu- 40 der an den Ja-Ausgang angeschlossener Leitung 81 stand versetzt, auf Grund dessen sie ein neues Pro- das Signal C abgegeben wird.
gramm ausführen kann. Dieses Programm beginnt Der Ausgang des Oder-Gatters 50 führt an einen
bei dem Zustand, der dem Informationscode ent- Eingang des Und-Gatters 61. Der Ausgang des spricht, der der zentralen Datenverarbeitungseinheit Und-Gatters 61 ist mit dem Setzeingang der Flipnun zugeführt wurde. Erscheint auf der Leitung 57 45 Flop-SchaUune 71 verbunden. Der Nein-Ausgang der also ein solches Signal PSC, dann kann die periphere Flip Hop-Schaltung 71 ist mit einem zweiten Eingang Datenverarbeitungseinheit 11 auf den Leitungen 41, des L'nd-Gatters 61 sowie mit je einem Eingang der 42 oder 53 nachfolgend erscheinende Signale SCP, Und-Gatter 62 und 63 verbunden. Der Ausgang des SCW oder »Fehler« beantworten. Wie noch gezeigt Oder-Gatters 51 ist mit dem zweiten Eingang des wird, registriert die periphere Datenverarbeitungsem- 5° Und-Gatters 62 verbunden, dessen Ausgang an dem heit 11 das auf der Leitung 57 erscheinende Signal Setzeingang der Flip-Flop-Schaltung 72 angeschlos- und bringt dementsprechend das nächste Programm sen ist. Der Nein-Ausgang dieser Flip-Flop-SchaltunE sowie die von der zentralen Datenverarbeirungsein- ist mit je einem Eingang der Und-Gatter 61 bis 63 heit 10 zu verarbeitende Information in Bewegung, verbunden. Der Tastimpuls an der Leitung 54 ist ar sobald ein Signal SCW oder ein Fehlersignal auf den 55 den Setzeingang der FÜp-Flop-Schaltung 73 angelegt Leitungen 42 bzw. 53 erscheint. deren Ja-Ausgang zu je einem der Eingänge der Und
Das Signal »Umschalten« (PS) an der Leitung 45 Gatter 61 bis 63 führt. Die aus den Flip-Flop-Schal von F i g.3 und F i g. 4 zeigt der zentralen Datenver- tungen 71 bis 73, den Und-Gattem 61 bis 63 und dei arbeitungseinheit an, daß diese die Umschaltung von Oder-Gattern 50 und 51 bestehende Baugruppe be einem Benutzerprogramm zu einem anderen Be- 6o wirkt die Abgabe des Signals C auf der Ausgangslei nutzerprogramm vornehmen kann. tung 51 dann, wenn ein Anruf auszuführen ist Ferne
Ein auf der Leitung 58 von der peripheren Daten- bewirkt diese Baugruppe die Abgabe eines Signals. Verarbeitungseinheit Il zur zentralen Datenverarbei- auf einer mit dem Ja-Ausgang der Flip-Flop-Schal tungseinheit 10 übertragenes Signal »Anruf« (PC) tung 72 verbundenen Ausgangsleitung 82, wenn ein zeigt der zentralen Datenverarbeitungseinheit an, daß 6S Umschaltung durchzuführen ist. Die Flip-Flop-Schal im Zentralspeicher eine bestimmte Stelle verfügbar tungen 71 und 72 können erst dann gesetzt werder ist. wenn auf der Leitung 54 der Tastimouls erschein
Ein Signal MSC auf einer Leitung 59 zeigt, was die wodurch bei Zwischenschaltung der Flip-Flop-Schal
tung 73 das an dessen Ja-Ausgang erscheinende Ausblendsignal L an je einem Eingang der Und-Gatter 61 und 62 wirksam wird. Die den Anruf kennzeichnende Flip-Flop-Schaltung 62 kann nur dann gesetzt werden, 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 zustandekonmien, 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 84 α und 84 b, die zu einer Gruppe von Anschlüssen 84 gehören, die alle programmzugänglich ao oder programmabhängig sind. So führt der Ja-Ausgang der Flip-Flop-Schaltung 74 zum Anschluß 84d, 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ß 84 g und der Ja-Ausgang der Flip-Flop-Schaltung 78 zum Anschluß 84 A. Sämtliche Anschlüsse 84 a 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 SeU-eingang der Flip-Flop-Schaltung 74, die nach Beendigung eines Anrufs in den Seu-Zustand übergeht; durch Abgabe des Signals CC am Anschluß 84 d wird der peripheren Datenverarbeitungseinheit gemeldet, daß der Aufruf beendet ist, worauf die periphere Datenverarbeitungseinheit die Flip-Flop-Schaltung 74 über eine Leitung 85 rücksetzt.
Eine dem Programm zugängliche Leitung 86 führt zum Setzeingang der Flip-Flop-Schaltung 75. Im Setz-Zustantl 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-Gatter 68 ein Ausgangssignal abgibt. Die periphere Datenverarbeitungseinheit 11 kann also den Zustand der Flip-Flop-Schaltung 75 feststellen.
Über den Setz- und den Rücksetzeingang, an die Leitungen 87 bzw. 88 angeschlossen sind, ist die Flip-Flop-Schaltung 44 für das Programm zugänglich. Der Nein-Ausgang der Flip-Flöp-Schaltung ist mit einem Eingang des Und-Gatters 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 Eingang des Und-Gatters 43 verbunden ist. Der Ausgang des Und-Gattcrs 66 führt zu einem Eingang des Oder-Gatters 68, dessen zweiter Eingang mit dem Ausgang des Und-Gatters 67 verbunden ist. Ein Eingang des Und-Gatters 67 ist mit dem Nein-Ausgang der Flip-Flop-Schaltung 77 verbunden, während ein zweiter Eingang dieses Und-Gatters über die Leitung 81 mit dem Ja-Ausgang der Flip-Flop-Schaltung 71 in Verbindung steht. Eine programmabhängige Eingabeleitung 91 führt zum Setzeingang der Flip-Flop-Schaltung 77, während eine entsprechende Leitung92 an den Rücksetzeingang.dieser Flip-Flop-Schaltung angeschlossen ist. Die Hip-Flop-Schaitunoen44 und 77 und die ihnen zugeordneten Schalfungsteile ermöglichen dem in der peripheren Datenverfrbeitungseinheit 11 befindlichen Programm die Feststellung, welche der Funktionen Anruf oder Umschaltung entsprechend dem Zustand der Fhp-Flop-Schaltungen 7i und 72 auszuführen ist und welche zu
sperren ist. , . .
Die Fiio-Fäop-Schaltung78 dient der penpharen Datenverarbeitungseinheit 11 zum Abfragen und Bestimmen, wann ein Umschaltvorgang beendet ist. Die Flip-Flop-Scr.allung 79 erzeugt an ihrem Ja-Ausgang, also an den Leitungen 45 und 60 das Signal »Umschalten« (PS), wodurch der zentralen Datenverarbeitungseinheit IO und der SpeichersteuereinheU 18 angezeigt wird, daß mit der Ausführung des Umschaltbeiehls begonnen werden soll. Am Ja-Ausgang der Flip-Flor Schaltung 80 und an der damit verbundenen Leitung 58 erscheint das Signal »Anruf« (rC), das der zentralen Datenverarbeitungseinheit anzeigt, daß mit der Ausführung des Anruf-Befehls begonnen werden soll, wobei d.e Flip-Flop-Schaltung 80 jeuoch nur dann in den Sctz-Zustand übergeht, wenn vorher die Flip-Flop-Schaltungen 71 und TJ gesetzt woi Jen
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 Umschaitoperation in Form von Booleschen Gleichungen angegeben.
Die Besonderheiten der zwischen die zentrale Datenverarbeitungseinheit 10 und die eigentliche periphere Datenverarbeitungseinheit 11 eingefügte Schaltung zur Verarbeitung der Signale SCW und SCP 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 SCP oder
3. ein Umschaltbefehl durch das Signal SCW.
b) Eine Anfrage an die zentrale Datenverarbeitungseinheit wird in einer Taktzeit verarbeitet.
c) Die Programmunischaltung und/oder Erledigung eines Anrufs erfolgt automatisch ohne Inanspruchnahme der Schaltungsteile der peripheren Datenverarbeitungseinheit, in dem von der eigentlichen peripheren Datenverarbeitungseinheit getrennte Schaltungselemente für Anruf und Umschaltung benutzt werden.
d) Bei der Durchführung des von einem SCP- oder SC W-Signals ausgelösten Vorgangs wird eine bestimmte Speicherstelle des Zentralspeichers verwendet.
e) Bei einem Signal 5CW werden getrennte Beendigungssignale für Anruf und Umschaltung verwendet, wodurch es möglich wird, den Anrufvorgang vor dem Umschaltvorgang und unabhängig von diesem zu Ende zu führen.
to
f) Für die zentrale Datenverarbeitungseinheit ist eine Betriebs-Warte-Steuerung vorgesehen,
g) Wenn automatisch gesteuerte Anfragen an die zentrale Datcnverarbeicungseinheit erledigt sind, wird die periphere Datenverarbeitungseinheit unterbrochen. Diese Unterbrechung kann maskiert werden.
Für den Ausgangsteil werden insgesamt 10 Flip-Flop-Schaltungen verwendet, die in der am Ende angefügten Tabelle I gemäß der in F i g. 4 dargestellten Schaltung aufgeführt sind. Wie später an Hand von Fig. 11 erläutert wird, werden im Ausgangsteil 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 S^altvorgang (Signal SCW) erfolgen.
Zu Fig. 5:
Der hier beschriebene Rechner eignet sich nicht nur für skalare Operationen, sondern insbesondere auch zur Verarbeitung laufend veränderlicher, vektoricller Daten, welche dem Rechenwerk wiederholt zugeführt werden; der Rechner ist also besonders für Vektoroperationen geeignet.
Eine typische Vektoroperation ist die Addition zweier Vektoren Ä + B = C (mit A, B und C als ndimensionalen linearen Feldern) in Form einer Addition ihrer Komponenten ai ■+ 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 [a ■ S]= C. Das Ergebnis wird wiederum so gewonnen, daß die Vektoren in ihre Komponenten zerlegt und gemäß der Gleichung
c = y\ at bi
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 ß, so folgt für die resultierende Determinante C im Falle eines dreidimensionalen Raums:
Kx
mit beispielsweise Cn = O11 O11 + a12 b21 + a13 b31
und allgemein
cij = ^, a
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 C13 aus der Multiplikation
der ersten Reihe der Determinante A mit der dritten Spalte der Determinante B.
, Vektoriell ausgedrückt kann man so sagen: Der Reihenvektor 1 der Determinante A dient als Operandenvektor für drei Vektoroperationen mit dem Spaltenvektor 1 oder 2 oder 3 der Determinante B zur Erzeugung des Reihenvektors 1 der resultierenden Determinante C. In solcher Weise wird nun noch zweimal verfahren. Ein erstes Mal, indem jetzt statt des Reih^nvektors 1 der Reihenvektor 2 der Deter-
as minante A und ein zweites Mal, indem jetzt der Reihenvektor 3 der Determinante A zur Erzeugung der Reihenvektoren 2 bzw. 3 der resultierenden Determinante C verwendet wird.
Eine solche skalare 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
♦o skizzierten Operationen werden in der gemäß F i g. 6 aufgebauten zentralen Datenverarbeitungseinheit in problemorientierter, optimierter Weise realisiert.
Zu Fig. 6:
Die Verarbeitungsgeschwindigkeit der zentralen Datenverarbeitungseinheit 10 des hier beschriebenen Rechners liegt wesentlich über der Verarbeitungsgeschwindigkeit, mit der Daten aus einem Speicher ausgelesen und in diesen wieder eingespeichert werden können. Damit die hohe Verarbeitungsgeschwindigkeit innerhalb der zentralen Datenverarbeitungseinheit 10 zur Verarbeitung 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 Verarbeitungsgeschwindigkeit Rechnung trägt. Die Kopplungseinrichtung wird im folgenden als Puffereinheit 100 bezeichnet, die nach F i g. 6 zwischen die Speichersteuereinheit 18 und das Rechenwerk 101 eingefügt ist. Die Puffereinheit 100 wird als Teil der zentralen Datenverarbeitungseinheit 10 angesehen, und sie ist über den Kanal 33 mit der Spcichersteuercinheit 18 verbunden. Außerdem führen zwei Datenkanäle 100α und 100 b von der Puffereinheit 100
17 18
zum Rechenwerk 101, das hier als Vektorrechenwert nämlich Basisregistern 120,121, allgemeinen Rcg,-
bezeichnet werden kann. Ein Datenkanal 100 c führt stern 122 und 123, einem Indexregister 1Z4 sowie
vom Rechenwerk 101 zur Puffereinheit 100. Über einem Vektorparameterregister «5. Jedes der Reg,-
die Daienkanäle 100a und 100b werden Operanden ster 120 bis 125 hat über einer,gemeinsamenKom-
zum Rechenwerk transportiert, während der Daten 5 munikationskanal 104 und eineOperandenatruf- und
kanal 100c das im Rechenwerk erzeugte Resultat zur Operandenspeicheranordnung 126 Zugang,zum; Rc-
Puffereinheit 100 überträgt, von wo es über die Spei- chenwerk 101. Die Anordnung 126 dient als Durüv
chersteuereinheitlS zu den Speichern 12 bis 15 ge- gangskanal zu Operanden in be den Richtungen,
langen kann Eine Steuereinheit 127 dient unter anderem zur
langen Kann. ^ Steuerung des Rechenwerks 101 dadurch, daß sse
ihre Steuersignale auf Grund der von einem Befehls-
Zu Fig. 7: pufferspeicher 127a gelieferten Befehle bildet. Der
Befehlspufferspeicher 127 a dient der Pufferung von
Unter Bezugnahme auf die mehr ins einzelne ge- Befehlen, die aus einer Befehlsabrufeinheit 128 stam-
hende Darstellung von F i g. 7 k?nn die Wirkung des .5 men. Die Befehlsabrufe.nhe.t 128 beliefert nicht nur
Puffers 100 bei Hochgeschwindigkeitsübertragungen den Befehlspufferspeicher 127a mit Befehlen, son-
zum und vom Rechenwerk 101 erläutert werden. Wie dem es liefert auch Aaressen an eine Indexeinheit
bereits erwähnt wurde, sind im Zentralspeicher Wort- 126a; der Ausgang der Indexeinheit 126a fuhrt aa-
gruppen von 256 Bits in Wörtern zu je 32 Bits ent- bei zur Anordnung 126 Die Befehlsdate.er, 129 und
halten; eine Wortgruppe kann dabei jeweils gleich- *o 130 bilden puffernde Kanäle fur einen Befehls!,..,,
zeitig gelesen oder geschrieben werden. Die Wort- von den Speichern 12 bis 15 zur Befehlsabrui,,,-
gruppen werden aus dem Zentralspeicher über die heit 128.
Speichersteuereinheit 18 und den Kanal 33 zu einer Eine Steuereinheit 131 steht mit Ausnahme uer Torschaltungseinheit 18a transportiert. DerTorschal- Befchlsdateien 129 und 130 mit allen in b ig. ectungseinheit 18a ist der Puffer 100 nachgeschaltet. 25 zeigten Einheiten in Verbindung: es besteht auch Wie in F i g. 6 dargestellt ist, verlaufen zwischen der eine Verbindung zwischen ihr und der Torschaltuno-Puffereinheit 100 und dem Rechenwerk 101 drei Dj- einheit 18a. Zur Aufgabe der Steuereinheit 131 uctenkanäle 100a, lOOfo und 100c. Der Kanal 100a hört es, auf Grund des Signals SCW oder des K-Ii.crist der Ausgangsteil eines Registerkanals für den signals (Fig. 4) den gesamten augenblicklichen /u-Operanden A, der zwei in Serie geschaltete Puffer 30 stand der zentralen Datenverarbeitungseinncit 10 102 und 103 enthält. Der Kanal 100b 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 emzuge-105 und 106 gebildet wird. Der Kanal 100 r ist da- ben. so daß der Ablauf eines neuen Programms begegen der Eingangskanal eines Registerkanals für 35 gönnen werden kann.
das Resultate, der aus zwei in Serie geschalteten Die Puffereinheit 100 enthalt eine Parameterregi-
Puffern 108 und 107 besteht. Die Registerkanäle für sterdatei 132 und eine ArbeUsspeicherregisterdatci
die Operanden A und B puffern die Operanden auf 133. Die Parameierregisterdatei 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- Der Inhalt des Vektorparameterregisters 125 wird
gebnisse, ehe sie beispielsweise in Wortgruppen ge- in die Parameterregisterdatei 132 übertragen, sobald
sammelt zu den Speichern 12 bis 15 zurücktranspot- ein Vektorbefehl aus dem Zentralspeicher zum Be-
tiert werden. 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 wcitertrars- die Parameterregisterdatei 132. Die Ausführung der portiert. Aus 32 Bits bestehende Wörter werden vom 50 daraufhin erfolgenden Operationen erfolgt vermittels Puffer 103 zum Rechenwerk 101 so übertragen, daß der Indexeinheit 126«, des Befehlspufferspeichers ein Wort pro Taktimpuls bewegt wird. Je nach Art 127o. 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 Takczeit 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 hochwirksame 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 ren. Ein Beispiel für höchste Anforderungen bei einer Indexeinheit 126a und der Befehlspufferspeichei Operation der Puffereinheit 100 und des Rechen- 60 127a die nächstfolgende Operation vor. Schließlich werks 101 ist die Addition von Vektoren, bei der die nimmt während derselben Zeitdauer die Befehlsabzwei 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 Verarbeitungs-
findet sich eine Datei aus adressierbaren Registern, stufe hinsichtlich der anderen Befehle befindet, wie
19 20
dies in F i g. 7 durch die Zeiten Tl, Tl, T3 und T4 werksabschnitte 300Λ und 300B, die in der Darstelangedeutet ist. lung symmetrisch zur Mittellinie 300 angeordnet sind.
Es sei darauf hingewiesen, daß infolge der Korn- Die Operandeneingangskanäle sind mit den Bezugsbination des Vektorparameterregist;rs 125 mit der zeichen 300a bis 30Od gekennzeichnet. Parameterregüterdatei 132 die Kapazität des Rech- 5 Der Rechenwerksabschnitt 300Λ enthält eine Exners dahingehend erhöht wird, daß mit hoher Ge- ponentensubtraktionseinheit 302, zu der über einen schwindigkeit komplexe Vektoroperationen in Ma- Kanal 303 eine Ausrichteinheit 304 in Reihe geschinensprache programmgesteuert durchgeführt schaltet ist. Der Ausriebteinheii 304 ist über einen werden können. Kanal 305 eine Addiereinheit 306 nachgeschaltet;
In der Parameterregisterdatei 132 und in der Ar- io ein Ausgang der Addiereinheit 306 führt über einen beitsspeicherregisterdatei 133 vorkommende Abkür- Kanal 307 zu einer Normalisierungseinheit 308, dezungen sind in der am Ende angefügten Tabelle IV ren Ausgang über einen Kanal 309 mit einer Ausaufgeführt und erklärt. gabeeinheit 310 verbunden ist.
Die Parameter werden vorzugsweise vor Ausfüh- Die Operandeneingangskanäle 300 α und 300 c sind
rung eines Vektorbefehls aus dem Zentralspeicher in 15 außerdem über eine Vornormalisierungseinheit 311 die Register geladen. Die Vektoren werden hinter- mit einer Multipliziereinheit 312 verbunden, deren c Hiande;· entsprechend den in der zentralen Daten- Ausgang über einen Kanal 313 zu einem weiteren Verarbeitungseinheit enthaltenen Parameterwerten Eingang der Addiereinheit 306 führt. Ein vom Ausd.irch das Rechenwerk geschleust. gang der Ausrichteinheit 304 kommender Kanal 315
Jm folgenden wird das durch die oben angegebenen a° führt zu einem Eingang eines Akkumulators 314, an Gleichungen beschriebene Beispiel einer Determi- dessen weiterem Eingang über einen Kanal 316 der rantenmultiplikation ausgeführt, wobei die Zuurd- zweite Ausgang der Addiereinheit 306 angeschlossen iiung zwischen den Speicherplätzen und den Elemen- ist. Femer verbindet ein Kanal 317 den Akkumulator teil der Determinanten A, B und C (auch Vektoren 314 mit einem spiegelbildlich angeordneten Akku-OL-nannt) in der am Ende angefügten Tabelle V an- »5 mulator 345 des Rechenwerksabschnitts 300B. Ein gegeben ist. erster Ausgang des Akkumulators 314 führt über
Aus der am Ende angefügten Tabelle VI ist dit einen Kanal 318 zu einem weiteren Eingang der Ex-Adressenfolge und die Art der Berechnung des Vek- ponentensubtraktionseinheit 302, während ein zweiter tors A zu erkennen. Ausgang des Akkumulators 314 über einen Kanal
Die Vektoren B und C werden in ähnlicher Weise 30 319 mit einem zweiten Eingang der Ausgabeeinheit bearbeitet. Die Adressenfolge des Vektors B gleicht 310 verbunden ist.
der Adressenfolge des Vektors/i, mit der Ausnahme, Der Ausgang der Exponentensubtraktionseinheit
daß als Startadresse an Stelle von k die Startadresse 1 302 ist mit einem Kanal 320 verbunden, der direkt genommen wird. Die Adressenfolge des Vektors C zum ersten Eingang der Ausgabeeinheit 310 führt, ist m, m + 1 ... m + 8. Die Erzeugung der Adres 35 Ebenso sind auch die Ausgänge der Ausrichteinheit senfolge ist jeweils von dem speziellen Vektorbefeh. 304 sowie der Addiereinheit 306 an den Kanal 320 abhängig. Das obige Beispiel gilt für eine skalare angeschlossen. Ein Kanal 321 führt von einem wei-Multiplikation von Vektoren. Der entsprechende teren Ausgang der Addiereinheit 306 zu einem yier-Vektorcode wird zwecks dieser Bestimmung in die ten Eingang der Exponentensubtraktionseinheit 3ÜZ. Puffereinheit 100 eingegeben. 40 Die Addiereinheit 306 besitzt einen dritten Eingang,
der über einem Kanal 322 mit dem Ausgang einer Multipliziereinheit 341 verbunden irt, die im Re-
„ _. a chenwerksabschnittSOOB spiegelbildlich iur Multi-
ωι<'ί·ί; pliziereinheit312 des Rechenwerksabschnitts300/1
45 angeordnet ist.
Aus der obigen Beschreibung geht hervor, daß der Für das zwei Abschnitte aufweisende Rechenwerk
hier beschriebene Rechner vorsortierte Daten mit ho- ist von Bedeutung, daß die Operandeneingangskanale her Gc-.JiAimJij.keit liefern kann. Es ist daher er- 300a und 30Or über Kanäle 323 bzw. 324 direkt an wünscr.:, ";; d.i diese Daten verarbeitende Rechen- jede Funktionseinheit des Rechenwerksabschnitts werk liiJ - m^vlegt ist, daß es die D,.ien mit der- 50 300/1 angeschlossen sind, wobei !ediglich der Akkuselben Geschwindigkeit verarbeiten m, die durch mulator 314 davon ausgenommen ist. Im einzelnen die im Zusammenhang mit den Fig fi und 7 be- führen die Kanäle 323 und 324 also über Kanäle schriebene Puffereinheit 100 erreicm werden 325 an die Multipliziereinheit 312, über Kanäle 32ö kann. an die Ausrichteinheit 304, über Kanäle 327 an die
In Fig. 8 ist ein Rechenwerk dargestellt, das meh- 55 Addiereinheit 306, über Kanäle 328 an die Normalirere Funktionseinheiten aufweist, die auf bestimmte sierungseinheit 308 sowie schließlich direkt an die Rechenoperationen spezialisiert sind und die hinter- Ausgabeeinheit 310. Torschaltungen öffnen odei einander angeordnet und in verschiedener Weise mit- schließen die Kanäle des Rechenwerks auf Grund einander verbunden werden können. Das Rechen- von Maschinen-oder Programmbefehlen. werk 101 besteht vorzugsweise aus zwei im wesent- 6* Der Rechenwerksabschnitt 300 B ist entsprechenc liehen gleichen Rechenwerksabschnitten, deren Funk- dem Rechenwerksabschnitt 300/1 aufgebaut. Dabe tionseinheiten über eigene Zwischenspeicher verfü- entspricht die Exponentensubtraktionseinheit 33t gen. Das Rechenwerk enthält Multipliziereinheiten, der Exponentensubtraktionseinheit 302, die Ausdie es gestatten, in einem Taktimpuls ein Produkt zu richteinheit 332 der Ausrichteinheit 304, die Addsbilden. Im Rechenwerk 101 werden grundsätzlich 65 tionseinheit 334 der Additionseinheit 306, die Nor-Verzögerungen vermieden, die bei iterativen Multi- malisierungseinheit 336 der Normalisierungseinlieit plikationsverfahren sonst üblich sind. 308, die Ausgabeeinheit 338 der Ausgabeeinheit 31«,
Das Rechenwerk enthält zwei parallele Rechen- die Vornormalisierungseinheit 340 der Vornormait-
21 22
sierungseinheit 311, die Multipliziereinheit 341 der Funktionseinheit bei jedem Schritt ein Zahlenpaar
Multipliziereinheit 312 und der Akkumulator 345 verarbeitet.
dem Akkumulator 314. Das Rechenwerk 101 ist grundsätzlich 64-Bit-
Ebenso entsprechen sich die folgenden Kanäle: orientiert. Alle Funktionseinheiten von F i g. 8 außer
300b und 300c, 300d und 300a, 331 und 303, 5 den Multipliziereinheiten 312 und 341 empfangen
333 und 305, 335 und 307, 337 und 309, 342 und 32 Bits und geben 32 Bits an ihren Ausgängen ab. |
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- i
und 320 sowie 347 und 319. Überdies führt ein Ka- sion benötigen alle Funktionen sowohl für Operanden j
na! 350 von der Exponentensubtraktionseinheit 330 ι ο mit einfacher Wortlänge als auch für Operanden mit
zur Exponentensubtraktionseinheit 303, und ein Ka- doppelter Wortlänge dieselbe Verarbeitungszeit.
aal 355 führt von der Ausgabeeinheit 338 zur Aus- Festkomma-Zahlen werden vorzugsweise im
gabeeinheit 310. Zweierkomplement dargestellt, während Gleitkomma-
Wie bereits erwähnt wurde, verfügt jede Funk- Zahlen als Exzess-64-Zahl nach Vorzeichen, Man-
tionseinheit der zwei Rechenwerksabschnitte 300.1 15 tisse und Exponent erscheinen,
und 300B über eigene Zwischenspeicher, wie dies Der besondere Aufbau des Rechenwerks in der
am Beispiel der Ausgabeeinheit 310 durch das Be- Art eines Verarbeitungskanals ermöglicht eine
zugszeichen 310 a angegeben ist. Die Additionsein- fließende Verarbeitung, die insbesondere bei der An-
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 spu- 310 und 338 ein Resultat erscheint. Jeder Rechen-
ziellen arithmetischen Operation. Jede Funktionsein- werksabschnitt kann Teile anderer Befehle verarbei-
heit mit Ausnahme des Akkumulators besitzt eigene 25 ten. Jeder Rechenwerksabschnitt enthält Funktions-
Operandeneingänge. Durch Programm- oder Maschi- einheilen, mit deren Hilfe insbesondere die Additions-
nenbefehle 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 Rechenwerksabschnittc
arithmetischer Beziehungen realisiert werden können. 30 können jeweils miteinander kombiniert werden; dies
Sind die Verarbeitungswege festgelegt, dann können gilt allerdings nicht für die Multipliziereinheiten. Die
die zu verarbeitenden Daten so durch die beiden Exponentensubtraktionseinheiten 302, 330 können
Rechenwerksabschnitte geschickt werden, daß bei- eine Verarbeitungsstufe bilden, in der sie vonein-
spielsweise während einer Taktzeit unterschiedliche ander getrennt oder miteinander kombiniert arbeiten.
Operanden jeweils eint Funktionseinheit durchlaufen, 35 Im Falle einer Kombination verarbeiten sie einen
wodurch ermöglicht wird, daß mehrere A- und Operanden mit doppeller Wortlänge.
B-Operandenwörter hintereinander durch den Die Ausrichteinheiten 304, 332 können bei Gleit- Rechenwerksabschnitt strömen, in dem sie jeweils komma-Additionen für Rechtsverschiebungen ver-
beispielsweise vier Verarbeitungsstufen durchlaufen. wendet werden. Die Normaiisierungseinheiten 308.
Dieses Verarbeitungsverfahren mittels zweier par- 40 336 dienen alle Normalisierung^erfordcrnissen. aK-
allelgeschalteter Rechenwerkskanäle mit speziellen auch Linksversehiebunget,. Die Addiereinheiten 30*.
Funktionseinheiten, die in jeder denkbaren Wt he 334 werden vorzugsweise für Hochgeschwindigk
untereinander verbunden werden können, gewähr- operationen zur Ausführung von Gleit- oder F\-
leistet eine sehr schnelle Verarbeitungszeit innerhalb komma-Additionsbetrieb zur Anpassung an c^ 1
des Rechenwerks bei entsprechend gleich schnell an- 45 Verwendung bei der Addition der sogenannt«.-
gelieferten und abschließenden Datenmengen. Pseudosumme oder des sogenannten Pseudoübei
Zur Erklärung der Wirkungsweise sei bemerkt, iaufs, die aus der Multipliziereinheit kommen,
daß eine der im Rechner am meisten benötigten Ope- Bei der Verarbeitung von Vektoren ist ein GIt ii-
rationen die Gleitkomma-Addition ist, die in vier komma-Additionen verwendet. Sie finden überdies
Schritten ausgeführt werden muß. Diese Schritte sind: 5° großen dynamischen Bereich wünschenswert. Das
eine Subtraktion der Exponenten des A- und B-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 Bauelementaufwands be-
spielsweise 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 Multipliziereinheit 312 kann eine Multipli-
Bei der Addition zweier Zahlenreihen oder Vek- kation von 32 Bits mit weiteren 32 Bits in einer Takttoren ist zu Beginn (Zeit f0) jede Funktionseinheit des zeit durchführen. Infolge dieser Fähigkeit der MultiRechenwerks leer. Zur Zeit I1 wird das erste Zahlen- 60 pliziereinheit passen diese Einheiten gut mit den paar O1 und ft, der Exponentensubtraktion unter- übrigen Funktionseinheiten zusammen, da die Verzogen, die als erstes ausgeführt werden muß. Zur arbeitungszeiten grundsätzlich gleich sind. Zeit i2 wird ein zweites Zahlenpaar a2 und K dieser Die Multipliziereinheiten bilden gleichzeitig die Exponentensubtraktion unterzogen, während das Verarbeitungseinheiten für eine Division. Multiplierste Zahlenpaar α, und bx einen zweiten Schritt in 65 kationen oder Divisionen mit Operanden mit dop-Form der Mantissenausrichtung durchläuft. Dieses pelter Wortlänge erfordern mehrere Iterationen über Verfahren wird weiter fortgeführt, bis zur Zeit I4 die Multipliziereinheit, bevor das Resultat erhalten der Rechenwerksabschnitt derart gefüllt ist, daß jede wird. Festkomma-Multiplikationen und Gleitkomma-
23 24
Multiplikationen mit Operanden mit einfacher Wort- gen, Boolescher Beziehungen usw., zu deren Durchlänge werden nach einem Durchgang durch die MuI- führungen eine Taktzeit im Rechenwerk 101 benötigt tipliziereinheit erhalten. Die Multipliziereinheil 312 wird.
gibt zwei Doppellängenwörter mit je 64 Bits in Form Die Speichermöglichkeit in jeder Funktionseinheit einer Pseudosumme und eines PseudoÜberlaufs ab. S des Rechenwerks ermöglicht eine wirksame Trennung In der Addiereinheit 306 werden aus diesen Wörtern der einzelnen, in den verschiedenen Funktionsein- «usgewählte Bits miteinander addiert, damit ein Pro- heiten getrennt verarbeiteten Daten. Das Recliendukt mit der Länge eines Worts erhalten wird. Soll werk arbeitet synchronisiert, indem es eine gemeinmit einer Multiplikation mit einem Operanden mit same Taktzeit für alle Schaltkreise anwendet. Aus einfacher Wortlänge ein Produkt mit doppelter Wort- io diesem Grund sind in jeder Funktionseinheit länge gewonnen werden, dann erzeugt die Multipli- Speicherregister enthalten, wie.es beispielsweise durch dereinheit 341 eine aus 64 Bits bestehende Pseudo- das Bezugszeichen 310α angegeben ist summe und einen aus 64 Bits bestehenden Pseudottberlauf, und die Pseudosumme und der PseudoÜberlauf werden dann in den Addiereinheiten306 15 Zu Fie 9· und 334 addiert, wodurch das Produkt mit der dop- *' pelten Wortlänge gewonnen wird. Eine Doppellängenmultiplikation kann so durchgeführt werden, daß Nach einer Beschreibung der Umschaltanordnung die drei folgenden Schritte in der richtigen Reihen- an Hand der F i g. 3 und 4 sowie einer Beschreibung folge durchgeführt werden- Eine Multiplikation in ao der zentralen Datenverarbeitungseinheit 10 an Hand der Multipliziereinheit 341, eine Addition in den der Fig. S bis 8 folgt nun zweckmäßigerweise in Addiereinheiten 306 und 334 sowie eine Saldierung einer Beschreibung der F i g. 9 die Darstellung der in den Akkumulatoren 314 und 345. Die Akkumu- Zusammenwirkung zwischen der zentralen Datenver-Iatoren314, 345 gleichen den Addiereinheiten, und arbeitungseinheit 10, der peripheren Datenverarbeisie werden für spezielle Zwecke verwendet, in denen »5 tungseinheitll und der Speichersteuereinheit 18. eine fortlaufende Saldierung erforderlich ist. Die F i g. 9 und 4 betreffen die Umschaltanord-
Eine Multiplikation mit Operanden mit doppelter nung, wobei F i g. 4 den in der peripheren Daten-Wortlänge erfordert eine solche laufende Saldierutig, Verarbeitungseinheit enthaltenen Teil und F i g. 9 den da vier getrennte 32 32 Bit-Multiplikationen durch- in der zentralen Datenverarbeitungseinheit cnthaltezuführen sind, worauf deren Zwischenergebnisse 30 nen Teil dieser Anordnung zeigen; die Verbindung (Partiaisummen) stellenrichtig in den Akkumulatoren zwischen diesen beiden Teikj wird über die Kanäle aufaddiert werden. Eine Doppellängenmultiplikatic 41, 42 und 53 bis 58 hergestellt, erfordert deshalb acht Taktzeiten, bis das richtige In Fig. 9 ist eine Befehlsabrufeinheit 128 dargestellt, Ausgangssignal erscheint, während eine Einzellängen die ein Ausgangsregister 128 a aufweist, das in einer multiplikation nur vier Taktzeiteo benötigt. Eine 35 bevorzugten Ausführung eine Kapazität von 32 Bits Doppellängenmultiplikation bedeutet zwei 64-Bit- hat Das Register ist in mehrere Abschnitte aufge-Gleitkommazahlen (56-Bit-Mantissc), die mitein- teilt; ein erster Abschnitt 1286 mit einer Kapazität ander multipliziert werden, um ein aus 64 Bits be- von 8 Bits enthält den Operationscode, ein nächster stehendes Resultat zu erbalten, wobei die niedrigst- Abschnitt 128c enthält ein Adressenmerkmal von wertigen Bits nach der Nachnormalisiening abge- <o 4 Bits, und ein weiterer Abschnitt 128 d mit 4 Bits schnitten sind Hine Festkomma-Multiplikation be- enthält normalerweise Daten zum Betrieb des deutet eine Multiplikation von 32-32 Bits, und sie er- Rechenwerks 101, mit denen ein Register bestimmt gibt ein aus 64 Bits bestehendes Resultat. wird, das nicht zur Umschaltanordnung gehört.
Eine Division ist die umfangreichste vom Rechen- Schließlich ist ein weiterer Abschnitt 128 e mit einer werk auszuführende Operation, wobei die Fähigkeit 45 Kapazität von 16Bits vorgesehen, der ein Adresseneiner Stellenmultiplikation von Vorteil ist. Nach einer feld enthält.
Anzahl itterierender Multiplikation ist der Quotient Bei einem normalen Operationsablauf führt eine
mit der gewünschten Genauigkeit erstellt. Da bei Indexeinheit 126a, die ein Ausgangsregister 126 £
diesem Divisionsverfahren kein Rest als Resultat der enthält, einen Schritt im Zeitablauf Tl bis TA aus.
vorhergehenden Multiplikationen erzeugt wird, muß so Bei einigen Operationen wird durch die Indexeinheil
zur Bestimmung des Rests mit Hilfe der vorhandenen 126a im Ausgangsregister 1266 ein Wort gebildet
Hardware weitergerechnet werden, falls ein Rest er- das der Summe aus dem Code im Abschnitt 128«
wünscht ist. War die Lösung xly = Q, dann kann der und aus dem Code im Indexregister 124 entspricht
Rest aus der Beziehung R = χ — (y-ß) gewonnen wobei der Code im Indexregister 124 durch da:
werden. Der Rest wird auf so viele Bits genau, als der 55 Adressenmerkmal im Abschnitt 128c aufgerufei
Dividend mal Bits enthält. Die zur Bildung des Rests wurde. Eine solche Indexoperation entspricht als<
erforderliche Zeit addiert sich direkt zu der Zeit, die der bei Rechnern üblichen Adressenmodifikation mit
tür Bildung des Quotienten erforderlich war. Die tels Indizierung.
Divisionszeit für Operanden mit einfacher Wortlänge Die Adresse aus dem Ausgangsregister 1266 win
wächst von 12 Taktzeiten bis zu 16 Taktzeiten bei 60 dann weiter zur Steuerung des Operandenflusses voi
der Erstellung eines Rests. Der Drvisionslogaritr-nus und zum Rechenwerk 101 von der Anordnung 12i
erfordert, daß der Divisor normalisiert wird, nämlich verwendet.
bei Festkommaarithmetik bitweise oder bei Gleit- Sobald im Abschnitt 128 & ein dem Signal SCY
kommaarithmetik hinsichtlich der rückstelligen Hexa- oder dem Signal SCP entsprechender Operationscod
dezimalziffcr mit Ausnahme von NnIL 65 erscheint, beginnt ein hinsichtlich der anderen Ope
Die Ausgabeeinheiten 310, 338 dienen der Samm- rationscodes verschiedener Operationsablauf. Zv
lung der Ausgangsdaten aus allen Funktionseinheiten nächst wird der aus 8 Bits bestehende Code aus der
sowie der Ausführung einfacher Datenverschiebun- Abschnitt 1286 in den Befehlspufferspeicher 127
25 26
Übertragen, wonach er in einem Ausgangsregister Datenverarbeitungseinheit vorhanden sein. Nur bei 1276 des Befehlspufferspeichers 127 a erscheint. An- entsprechendem Signalzustand auf den Leitungen ■chließend wird dieser aus 8 Bits bestehende Code 56, 57, 45, 58, 55, 53 wird also eine solche Abtiber einen Kanal 200 zur Steuereinheit 127 über- speicherung erfolgen können. Der gesamte Betrieb tragen. 5 der zentralen Datenverarbeitungseinheit kann auf In der Steuereinheit 127 wird der aus 8 Bits be- diese Weise unterbrochen werden; andererseits kann itehende Code in einem Decodierer 201 verarbeitet. der Betrieb während einleitender oder vorbereitender Enthält der Code einen 5C W-Befehl, dann erscheint Operationen in Teilen des Rechners außerhalb der an einer Leitung 202 und somit an der Leitung 42 zentralen Datenverarbeitungseinheit 10 aufrechterhaldas Signal SCW. Enthält der Code dagegen einen io ten werden. Diese Entscheidung hängt von dem im SCP-Befehl, dann wird an der Leitung 203 und somit Ausgangsregister 128 a der Befehlsabrufeinheit 128 an der Leitung 41 das Signal SCP erzeugt befindlichen Befehl ab, nämlich davon, ob im AbWenn die periphere Datenverarbeitungseinheit 11 schnitt 1286 der Befehlsabruf einheit die Codegruppe nach Fig. 4 auf der Leitung41 oder auf der Leitung für das SignalSCW, das SignalSCP oder ein anderes 42 ein Signal feststellt, dann wird sie nach einer be- is Signal vorhanden ist.
stimmten Zeit über die Leitung 58 an die Steuerein- An der Leitung 53 von F i g. 4 und 9 liegt dann heitl27 das Signal »Anrufen« (PQ senden, das es das Signal »Fehler«, wenn innerhalb der zentralen der Steuereinheit 127 ermöglicht, ihrerseits ein Signal Datenverarbeitungseinheit 10 ein Fehler festgestellt auf einer Leitung204 zum Rechenwerk 101 zu über- wurde. In Fig. 9 ist ein Oder-Gatter 220 mit der tragen. Dieses zuletzt genannte Signal hat auch zur so Ausgangsleitung 53 dargestellt, das mit einem EinFolge, daß der im Register 127 d der Anordnung 126 gang über eine Leitung 221 an die Steuereinheit 127 enthaltene Code zu einer bestimmten Speicherstelle und mit einem weiteren Eingang an das Rechenwerk übertragen wird. Diese Übertragung etfoigt über eine 101 angeschlossen ist. Ein Fehlersignal kann Wi-Leitung 205, eine Leitung 206 innerhalb des Rechen- spielsweise bei einem Überlauf im Rechner 101 i-rwerks 101, eine Leitung 207, einen Zwischenspeicher as zeugt werden, und auch bei einer Undefinierten Code-126 e sowie über den Kommunikationskanal 104 zum gruppe innerhalb der Steuereinheit 127 kann ein Feh-Speicher, lersignal auftreten. Eine Leitung 222 führt zu einem Die abzuspeichernde Codierung aus dem Zwi- dritten Eingang des Oder-Gatters 220, so daß an Seitenspeicher 126« wird in die Speicherstelle einge- diesen Eingang noch weitere Prüfkreise zur Erzeuschrieben, die durch den Inhalt des Adressenregisters 30 gung des Fehlersignals angeschlossen werden kön-208 bestimmt ist. Der Inhalt dieses Adressenregisters nen. Die Steuereinheit 131 (F i g. 7) steuert die Umkennzeichnet eine Speicheradresse, die vorzugsweise schaltung der zentralen Datenverarbeitungseinheit, nicht anderweitig benutzt wird und speziell für solche die bewirkt, daß der bisherige Inhalt der zentralen Zwecke vorgesehen ist. Dies kann durch eine ein- Datenverarbeitungseinheit abgespeichert und neue fache Festverdrahtung innerhalb des Rechners er- 35 Daten in diese dafür eingegeben werden, reicht werden. Die Adresse aus dem Adressenregister 208 wird durch Aktivieren de, Gatters 209 unter der Steuerung eines an der Leitung 204 anliegenden Signalsausgegeben. Zu Fig. 10:
In der Steuereinheit 127 führen die Leitungen 202 40 und 203 jeweils einen Eingang eines Oder-Gatters
211, an dessen Ausgangsleitung über eine Verzö- Aus den bisherigen Ausführungen zur peripheren
gerungseinheit 210 ein Taktimpuls auf der Leitung 54 Datenverarbeitungseinheit 11 läßt sich entnehmen,
erscheint, der in der peripheren Datenverarbeitungs- daß diese Einheit eine bedeutende Rolle bei der Steu-
einheit 11 nach dem Setzen der Flip-Flop-Schalmng 45 erung der zentralen Datenverarbeitungseinheit 10
73 das Setzen der Flip-Flop-Schaltung 71 und/oder spielt. Die periphere Datenverarbeitungseinheit 11 ist
der Flip-Flop-Schaltung 72 ermöglicht (F i g. 4). Vor- in der Lage, im voraus die Anforderungen der zen-
zugsweise ist die Leitung 53 an einem dritten (in tralen Datenverarbeitungseinheit 10 und anderer
F i g. 9 nicht dargestellten) Eingang des Oder-Gatters Komponenten des Rechners zu ermitteln, indem ein
211 sowie nach einer Und-Verknüpfung mit der Lei- 50 spezieller Zeitteilbetrieb zwischen mehreren virtu-
tung58, an der das Signal »Anrufen« liegt, an einen eilen Datenverarbeitungseinheiten in der peripheren
ersten, ebenfalls nicht dargestellten Eingang eines Datenverarbeitungseinheit 11 angewendet wird. In
Oder-Gatters 213. Zwei Eingänge des Oder-Gatters der peripheren Datenverarbeitungseinheit 11 sollen
213 sind mit den Ausgängen von Und-Gattern 212, von einer Gruppe von virtuellen Datenverarbeitungs-
214 verbunden. Das Und-Gatter212 hat zwei Ein- 55 einheiten Programme verarbeitet werden. Bei stark gänge, von denen einer über die Leitung 202 das Si- variierenden Programmen wird vorteilhafterweise gnal SCW empfängt, während der zweite über die von einer fest zugeordneten Zeitteilung zwischen den Leitung 58 das Signal »Anrufen« (PQ empfängt. Das virtuellen Datenverarbeitungseinheiten abgegangen. Und-Gatter214 ist in entsprechender Weise durch In der in Fig. 10 dargestellten Anordnung ist es die Koinzidenz der Signale SCP und »Anrufen« (PQ 60 möglich, einigen virtuellen Datenverarbeitungsein- »ktivierbar. heiten wesentlich mehr Zeit zuzuteilen als anderen.
Damit auf der Ausgangsleitung 204 des Oder- Außerdem kann die Zeitzuteilung zwischen den vir- Gatters213 ein Signal erscheint und damit eine Ab- tuellen Datenverarbeitungseinheiten verändert werfen,
speicherung der im Register 126d befindlichenCodie- Aus Fig. 10 ist zu erkennen, daß die virtuellen
rung in die durch den Inhalt des Adressenregisters 65 Datenverarbeitungseinheiten P, bis P der peri-
208 bestimmte Speicherzelle erzielt wird, muß zu- pheren Datenverarbeitungseinheit 11 von einem
sätzlich zu den Signalen »Fehler«, SCW oder SCP Rechenwerk 4M der peripheren Datenverarbeitungs-
das Signal »Anrufen« (PQ von Seiten der peripheren einheit 11 versorgt werden.
27 28
Das Prinzip der Zeitteilung, bei dem ein Rechen- stellt. Die Zuordnungssteuerung 418 wird mit Hilfe
werk mit virtuellen Datenverarbeitungseinheiten zu- von Taktimpulsen betrieben. Die Puffereinheit 419 sammenarbeitet, wird als bekannt vorausgesetzt. Die wird von einer Puffersteuereinheit 428 gesteuert. Der
hier beschriebene Anordnung ermöglicht jedoch eine Kanal 408 ist über einen Kanal 429 mit dem Rechen-
höchst flexible Zuordnung der am Zeitteilbetrieb be- 5 werk 400 verbunden. Die virtuellen Datenverarbeiteiligten Elemente sowie eine besondere Steuerung tungseinheiten P0 bis P7 sind ferner mit einem als
der Zeitteilung. Die virtuellen Datenverarbeitungs- Festwertspeicher ausgebildeten Speicher 430 ausge-
einheiten P. bis P7 können so aufgebaut sein, wie stattet. In einer bevorzugten Ausführung besteht der
beispielsweise in der USA.-Patentschrift 3 337 854 Speicher 430 aus einem fest verdrahteten Diodenfeld
beschrieben ist, in der den virtuellen Datenverarbei- io für schnellen Zugriff.
tungseinheiten feste Zeitspannen zyklisch zugeordnet Eine Speicheranordnung 431 dient der Datenüber-
sind. Mit der hier beschriebenen Anordnung wird da- tragung zwischen dem Kommunikationskanal 408,
gegen ermöglicht, die zeitlichen Zuordnungen in Ab- den Peripheriegeräten und weiteren Steuer- und
hängigkeit von den vorzugsweise von Programmen Datenkanälen. Bei dem hier beschriebenen Ausfüh-
gestellten Aufgaben steuerbar zu machen. -s rungsbeispiel enthält die Steueranordnung 431 insge-
Von den acht virtuellen Datenverarbeitungsein- samt 64 Register.
heitenPg bis P7 der peripheren Datenverarbeitungs- Die an dem Zeitteilbetrieb beteiligten Einheiten einheit 11 (Fig. 10) kann während einer Taktzeit sind das Rechenwerk400, der Speicher430, die nur jeweils eine virtuelle Datenverarbeitungseinheit Speicheranordnung 431 mit den Registern CR0 bis über das Rechenwerk 400 verfügen; das bedeutet, *° CRt ... und die Puffercinheit419 mit den Ein-Wortdaß während einer Taktzeit jeweils nur eine virtuelle Pufferregistern 420 bis 427, wobei die Puffereinheit Datenverarbeitungseinheit mit dem Rechenwerk 400 419 die Verbindung zwischen der peripheren Datenverbunden ist. Die Auswahl unter den virtuellen Verarbeitungseinheit 11 und dem Zentralspeicher her-Datenverarbeitungseinheiten trifft eine Schrittschalt- stellt.
vorrichtung401, die in Fig. 10 durch einen rotie- »5 Der Speicher430 enthält einen bestimmten Prorenden Zeiger dargestellt ist. Mit jedem Taktimpuls grammvorrat, der mit Ausnahme eines Zugriffs von wird der Zeiger um eine Stellung weiterbewegt, wo- den Programmzählera der virtuellen Datenverarbeibei jede Stellung eine Verarbeitungszeitspanne von tungseinheiten nicht zugänglich ist. Der Programmder Länge eines Taktimpulses darstellt. Insgesamt 16 vorrat enthält ein Grundausführungsprogramm und verschiedene Stellungen des Zeigers bezeichnen Zeit- 3« wenigstens ein Steuerprogramm für jedes Peripheriespannen 0 bis 15. Das Rechenwerk 400 wird dabei gerät, das an den Rechner angeschlossen ist. Die jeweils mit derjenigen virtuellen Datenverarbeitungs- Zykluszeit des Speichers 430 beträgt 20Nanosekuneinheit verbunden, die durch die Codegruppe (bei- den, und er liefert einen Befehlsvorrat aus 32-Bitspielsweise 0 bis 7) bestimmt ist, die vom Zeiger ab- Befehlen für die virtuellen Datenverarbeitungseingetastet wird. In einem Extremfall wird während der 35 heiten P0 bis P7. Die Kapazität des Speichers 430 beDauer des gesamten Zyklus nur eine bestimmte vir- trägt für die Programme 1024 Wörter. Er ist in tuelle Datenverarbeitungseinheit mit dem Rechen- 256 Wortbaueinheiten unterteilt, so daß es möglich werk 400 unter Ausschluß aller übrigen virtuellen ist, Programmabschnitte abzuändern, ohne den ge-Datenverarbeitungseinheiten verbunden, während im samten Speicher neu aufzubauen, anderen Extremfall alle virtuellen Datenverarbei- 4o Die Steuerprogramme für die Peripheriegeräte enttungseinheiten für die Dauer gleicher Zeitabschnitte halten Steuerfunktionen für die zu den Peripheriemit dem Rechenwerk 400 verbunden sind. Die An- geräten gehörenden Pufferspeicher sowie Datenüberordnung, die diese Vielseitigkeit der Zuordnung er- tragungsfunktionen. Auf diese Weise können mechamöglicht ist in den F i g. 11 bis 13 im einzelnen ge- nische Bewegungsabläufe in den Peripheriegeräten nau dargestellt 45 direkt durch Programme gesteuert werden, und es
wird eine jeweils speziell für jedes Peripheriegerät
Zu Fie 11* eigens durchgeführte andere Festverdrahtung benö- B' ' tigt. Durch das Arbeitsprogramm können Parameter
zur Variation eines Grundprogramms vorgesehen
Der Aufbau der peripheren Datenverarbeitungs- 5< > werden. Solche Parameter sind im Zentralspeicher einheit 11 ist aus F i g. 11 zu erkennen. Der Zentral- oder in Akkumulatorregi item der virtuellen Datenspeicher mit den Speichern 12 bis 15 ist mit seiner Verarbeitungseinheit, die das Programm ausführt, Speichersteuereinheit 18 verbunden, die ihrerseits enthalten.
über den Kanal 32 mit der peripheren Datenver- Die Befehle für die virtuellen Datenverarbeirungs-
arbeitungseinheit 11 verbunden ist Die virtuellen 55 einheitm können entweder aus dem Speicher 430
Datenverarbeitungseinheiten P0 bis P7 sind über einen oder aus dem Zentralspeicher stammen. Der vom Ausgangskanal 402 sowie über einen Einganeskanal Programmzähler einer virtuellen Datenverarbehungs-
403 mit dem Rechenwerk 400 verbunden. Überdies einheit adressierte Speicher wird durch die Adressie-
sind sie über Kanäle 410 bis 417 mit einem Kommu- rungsart gesteuert, die durch Verzweigungsbefehle
nikationskanal 408 verbunden. Eine Puffereinheit 419 *» oder durch Löschung des Systems modifiziert werden
der peripheren Datenverarbeitungseinheit 411 enthält kann. Jede virtuelle Datenverarbeitungseinheit wird
acht einzelne Ein-Wort-Pufferregister 420 bis 427; in den Festwertspeicherbetrieb versetzt, wenn das
jeweils eines dieser Pufferregister ist dabei einer der System gelöscht wird.
virtuellen Datenverarbeitungseinheiten P, bis P, züge- Wenn vom Zentralspeicher eine Programmfolge
ordnet Die virtuellen Datenverarbeitungseinheiter. 65 erhalten wird, dann wird diese von der Puffereinheit
P, bis P7 sind nut einer Zuordnungssteuerung 418 419 aufgenommen. Da diese Puffereinheit derselbe
versehen, die ein Teil der in Fig. 10 schematisch als .Zwischenspeicher ist, der für Datentransporte zu and
Zager dargestellten Schrittschaltvorrichtung 401 dar- vom Zentralspeicher benutzt wird, und da der Zen-
29 30
tralspeicher größere Zugriffszeiten als der Festwert- schließlich des Bedienungspults. Einige Paramete
speicher hat, werden also die Verarbeitungszeiten zur Steuerung des Rechnerbetriebs werden ebenfall
günstiger, wenn das Programm vom Speicher 430 er- in den Registern der Speicheranordnung 431 ge
halten wird. speichert, von denen aus die Steuerung erfolgt.
Ein Zeitabschnitt 0 kann einer der acht virtuellen s
Dalenverarbeitungseinheiten durch einen Schalter auf
dem Bedienungspult zugeordnet werden. Diese Zu- Zu Fig. 12:
Ordnung kann durch das Programm nicht kontrolliert
werden. Die restlichen Zeitabschnitte sind anfänglich
nicht zugeordnet Deshalb arbeitet am Anfang nur :<» In der Speicheranordnung 431 sind vorzugsweisi
die virtuelle Datenverarbeitungseinheit, die durch den als Flip-Flop-Schaltungen ausgeführte Speicher
Schalter bestimmt wird. Da die Programmzähler aller elemente enthalten, die nach Fig. 12 zwei Eingang«
virtuellen Datenverarbeitungsemheiten P0 bis F7 ur- aufweisen. Ein Eingang ist mit der peripheren Daten
sprünglich auf 0 stehen, beginnt die ausgewählte vir- Verarbeitungseinheit 11 verbunden, während de
tuelle Datenverarbeitungseinheit mit der Ausführung 15 andere Eingang einem Peripheriegerät zur Verfügunj
ihres Programms, beginnend mit der Adresse 0 im steht. Von der peripheren Datenverarbeitungseinhei
Speicher 438. An dieser Adresse befindet sich ein kommende Daten werden synchron mit dem Takt
Einleitungsprogramm. Der Schalter auf dem Bedie- impuls des Rechners in das Speicherelement ein
nungspult bestimmt ebenfalls, welches der 8 Bits der gegeben. Eine Eingabe von Daten in das Speicher
Speicheranordnung 431 durch ein von der Bedie- so element von einem Peripheriegerät kann durct
nungsperson ausgelöstes Einleitungssignal gesetzt Zwischenschaltungsanordnungen zwischen dem Peri
wird. pheriegerät und dem Speicherelement erfolgen; di*
Die Puffereinheit 419 ermöglicht den Zugriff der Eingabe muß nicht notwendigerweise synchron mi
virtuellen Datenverarbeitungseinheiten auf den Zen- dem Rechnertakt erfolgen,
tralspeicher mit den Speichern 12 bis 15. Die Puffer- 95
einheit 419 besteht aus acht 32-Bit-Datenregistern,
acht 24-Bit-Adressenregistern und entsprechenden Zu Fig 13:
Steuerkreisen. Von einer einzelnen virtuellen Datenverarbeitungseinheit aus gesehen erscheint die Puffereinheit 419 lediglich als ein einzelnes Datenregister 30 In Fig. 13 ist eine Anordnung dargestellt, mi und ein einzelnes Adressenregister. deren Hilfe die verfügbare Zeit einer oder mehrerei
Die Puffereinheit 419 kann gleichzeitig bis zu achi der virtuellen Datenverarbeitungsemheiten P9 bis P
Speicheraufragen enthalten, nämlich eine Speicher- so zugeordnet werden kann, daß diese Datenverarbei
anfrage von jeder virtuellen Datenverarbeitungs- tungseinheiten den anderen vorgezogen werden ode
einheit. Die Anfragen werden vorzugsweise so ver- 35 umgekehrt so zugeordnet werden kann, daß die Zei
arbeitet, daß eine feste Prioritätssteuerung und eine auf alle virtuellen Datenverarbeitungseinheiten gleich
Prioritätssteuerung, bei der zuerst ankommende mäßig aufgeteilt wird.
Anfragen zuerst behandelt werden, kombiniert wer- Die Steuerung der Verteilung der Zeitzuordnunj den. Vorzugsweise werden vier Prioritätsebenen für die einzelnen virtuellen Datenverarbeitungsfestgelegt. Werden zwei oder mehr Anfragen aus 40 einheiten P0 bis P7 erfolgt mit Hilfe von zwei Spei derselben Prioritätsebene gestellt, dann werden sie chersegmenten 431 η und 431 m aus der Speicherin der Reihenfolge bearbeitet, in der sie zeitlich anordnung 431.
erscheinen. Diese von Registern gebildeten Speichersegment«
Wenn eine Anfrage zur Puffereinheit 419 gelangt, haben jeweils eine Kapazität von 32 Bits; sie sine so besitzt sie automatisch eine Prioritätszuordnung, 45 in acht Abschnitte zu je 4 Bits unterteilt So enthält die durch den Zentralspeicher bestimmt ist; die beispielsweise ein Abschnitt 440 des Speichersegment! Prioritätszuordnungen sind in einem Register der 431 η 4 Bits α bis d, die jeweils an die Eingänge von Speicheranordnung 431 festgehalten. Die Prioritäten Und-Gattcrn 441 bis 444 angelegt sind. Ein Absind entsprechend der Nummer der jeweiligen virtu- schnitt 445 desselben Speichersegments enthält eben eilen Datenverarbeitungseinheit angeordnet; alle so falls 4 Bits α bis d, die an die Eingänge von Und· Anfragen von Seiten einer bestimmten virtuellen Gattern 446 bis 449 angelegt sind. Das erste Und-Datenverarbeitungseinheit erhalten die Prioritäts- Gatter am Ausgang jedes Abschnitts, an das das Zuordnung, die in 2 Bits des entsprechenden Registers Bit α angelegt ist, beispielsweise die Und-Gatter 441 in der Speicheranordnung 431 verschlüsselt ist. Der 446 ist an den Eingang eines Oder-Gatters 450 ange-Inhalt dieses Registers wird durch das Ausführungs- 55 schlossen. In entsprechender Weise sind alle Undprogramm bestimmt; die Prioritätszuordnung für jede Gatter 442, 447 ..., an die die Bits b der Abschnitte virtuelle Datenverarbeitungseinheit wird vom auszu- angelegt sind, mit dem Ausgang an den Eingängen führenden Programm bestimmt. Zusätzlich zu die&en eines Oder-Gatters 441 angeschlossen. Ebenso isl 2 Prioritäts-Bits kann eine Zeitkennung mitverwen- ein Oder-Gatter 452 an die Ausgänge der Unddet werden, damit die Fälle gleicher Prioritätszuord- 60 Gatter 443, 448 angeschlossen, an die die Bits c dei nung gelöst werden können. Abschnite angelegt sind. Schließlich sind die Aus-
Die Register in der Speicheranordnung 431 ent- gänge der Und-Gatter 444, 449 ..., an die die Bits c
halten jeweils 32 Bits. Jedes Register kann von der angelegt sind, mit den Eingängen eines Oder-Gatten
virtuellen Datenverarbeitungseinheit adressiert wer- 453 verbunden,
den, und die Einheit, mit der es verbunden ist, kann 65 Die Ausgänge der Oder-Gatter 450 bis 453 führer
aus dem Register lesen oder in das Register schrei- zu einem Register 454, dessen Ausgang mit einem
ben. Die Register der Speicheranordnung 431 sind Decodierer 455 verbunden ist. Acht Ausgangsleitun-
Verbindungsglieder zu allen Peripheriegeräten ein- gen 463 bis 470 des Decodierers steuern jeweils die
5 FF73:
Ein- und Ausgänge der virtuellen Datenverarbeitungseinheit P0 bis P7.
Die Zuordnungssteuerung 418 empfängt Taktimpulse von einem Taktgeber 460a über eine Leitung 460. Sie arbeitet vorzugsweise als 16-stufiger Ringzähler, bei dem jede Stufe eine Ausgangsleituni» aufweist. Die erste Aubgangsleitung 461 aus der ersten Stufe des Ringzählers führt zum zweiten Eingang der Und-Gatter 441 bis 444. In gleicher Weise is: die zweite Ausgangsleitung 462 der zweiten Stufe des Ringzählers mit den zweiten Eingängen der Und-Gatter 446 bis 449 verbunden. Die restlichen FFIl: vierzehn Ausgangsleitungen der Zuordnungssteuerung 418 sind in entsprechender Weise mit jeweils vier weiteren Und-Gattern verbunden. iS
3 der 4 Bits des Abschnitts 440, nämlich die Bits b. c und d, kennzeichnen eine der virtuellen Datenverarbeitungseinheiten P11 bis P, durch ein entsprechendes Signal auf einer der Ausgangsleitungen des Decodierers 4SS. Das viere Bit, nämlich das Bit α ao ds Abschnitts440, dient zur Freigabe bzw. zur FF72: Sperrung der Decodierung, so daß ein bestimmtet Zeitr.Hschnitt 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ß aas 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 4SS mit jedem Taktimpuls von einer virtuellen Datenverarbei- FF77: tungseinheit zur nächsten umschalten. Entsprechend d^rn Inhalt der Speichersegmente 431m und 431 π kann die gesamte Zeit einer der virtuellen Datenveraibeitungseinheiten zur Verfugung gestellt wer- den, 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 Aus- 40 pp gang 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 FF75: einzelnen führt die Ausgangsleitung 463 zu eine: 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 Koinzidenzschaltungen 491 bis 497 und 501 bis 507 die übrigen virtuellen Datenverarbeitungseinheiten. Die Koinzidenzschaltungen 500 bis 507 speisen eine 6c 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 65 FF 80: Datenverarbeitungseinheit erfolgt durch den Inhalt der Abschnitte 440, 445 ... entsprechend der Taktiteuerung durch die Zuordnungssteuerung 418.
Tabeüe I
Ablauf der Umschaltoperation
(»Laden« zur Zeit der Setzimpulse für FF 71 und/oder FF72)
Setzen FF 73 = (Tastimpuls), wobei (Tast-
impols) = verzögertes SCP-, SCW- oder »Fehler«-Signal ist
Rücksetzen FF73 = FF73 · FFTI · FF72.
(»Anruf«, gesetzt durch SCP + SCW zur Anzeige der speziellen Programmsituation für die zentrale Datenverarbeitungseinheit): Setzen FF 71 = FF73 · FF7I · FF72* · c', wobei c' = SCP + SCW.
Rücksetzen FF 71 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
(»Schaltanforderung«, gesetzt durch SCW+ »Fehler« zur Anzeige der speziellen Programmsituation der zentralen Datenverar beitungseinheit):
Setzen FF72 = FF73 · (FFTl · TTTi · s'; wobei i' = SGW + »Fehler«. Rücksetzen FF 72 von Seiten der peripheren Datenverarbeitungseinheit am Ende der Operation.
(»Anrufe-Kennzeichen): Setzen FF 77 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation durchzuführen ist. Rücksetzen FF 77 von Seiten der peripheren Datenverarbeitungseinheit zur Anzeige für die zentrale Datenverarbeitungseinheit, daß eine Anrufoperation nicht durchzuführen ist.
(»UmschaJt«-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.
(»Betriebserlaubnis«):
Setzen FF 75 von Seiten der peripheren Datenverarbeitungseinheit, wenn ein Betrieb der zentralen Datenverarbeitungseinheit er wünscht ist.
Rücksetzen FF75 = TTTJ · FFIl + FFM · FF72; d. h^ bei (FF77, TFM) · (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.
(»Anrufen« befiehlt den Beginn der Anruf· operation auf Seiten der zentralen Datenverarbeitungseinheit): Setzen FF80 = FF77 · FF71.
Rücksetzen FF 80 von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung von FFn und FFIl.
FFlX: (»Umschalten« befiehlt den Beginn der Umschaltoperation von Seiten der zentralen Datenverarbeitungseinheit): Setzen FFIl = FF44 · FFIl. Rücksetzen FFIl von Seiten der peripheren Datenverarbeitungseinheit nach Rückstellung vonFF71undFF72.
FF 74: (»Anruf ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungseinheit): Setzen FF74 = CCC. »5
5 FF78
Rücksetzen FF74 von Seiten der peripheren Datenverarbeitungseinheii nach Rückstellung vonFF71undFF72.
(»Umschaltung ausgeführt« zur Rückmeldung an die periphere Datenverarbeitungs-
Seteen 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 FF78 von Seiten der peripheren Datenverarbeitungseinheit nachRücksteliung vonFF71undFF72.
Tabelle II FF 77 44 80 7175 73 7478 7172 77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172
1100100000 1100110000 1100110001 110 11
1100100000 1100110000 1100100010 1100100000
1101100101
00001 1110100010 1110101010
1 1
1 1 1
1 1
1 1
0 0
0 0 1 1 1
1 1 1 1
0 0 0 0
0 0 ö 1 1
0 0 0 11
0 10 11
1111
Neubeginn der peripheren Datenverarbeitungseinheit
»Fehler« -»- S -> »Umschalten« »SCP« ->- C -> »Anrufen«
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automatische Umschaltung und Avtrufverarbeitung bei fortwährend betriebener zentraler Datenverarbeitungseinheit
Bedeutung der Zeiten I bis VI:
I warten auf eine Anfrage *SCP*, »SCW* oder »Fehlere von der zentralen Datenverarbeitungseinheit,
■»SCW«-+ C sowie S -»· »Anrufen« sowie »Umschalten«
Π Tastimpuls, ΠΙ Beschicken von F1771 und/oder FF72,
IV Beginn der Operation auf Seiten der peripheren Datenverarbeitungseinheit,
V »Anruf ausgeführt«, VI »Umschaltung ausgeführt«.
Tabelle III 77 4480 7175 73 74 787172 77 44 80 7175 73 74 78 7172 77 44 80 7175 73 74 78 7172
7>it ί 0 0 0 1 0 0 0 0 0 1 0 0 0 1 φ 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0
I 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1 0 U 0 0
II 0 0 0 1 0 0 0 0 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 U 1 1G
III 0 0 1 0 0 0 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 1 0 0 0 0 1 1 "
IV .1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 1 U 1 1
V 1 0 0 1 0 0 0 1 0 1 1 0 1 1 0 0 1 1 1 1
VI Neubeginn der peripher« ι Datenverarbeitungseinheit
J
»Fehler« -*■ S-*- »Umschalten« »SCP* -»- C -> »Anrufen« *SCR « ->- C sowie S -»Anrufen« sowie »Umschalten«
Ablaufdiagramm zur Umschaltanordnung am Beispiel:
Automatische Anrufverarbeitung; verhinderte automatische Umschaltung, indem die zentrale Datenverarbeitungseinheit nur so lange betrieben wird, bis von Seiten der zentralen Datenverarbeitungseinheit auf Umschaltung angefragt wird.
Bedeutung der Spalten und Zeilen wie Tabelle Π. Bemerkung zu *A*x
Die periphere Datenverarbeitungseinheit leitet eine
(Pseudo)Umschaltung ein, indem FF 79 auf »Ein« gesetzt wird.
Bemerkung zu »B«:
Zwar wird hier FFM 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 W 79 auf »Ein« gesetzt wird.
35
Tabelle IV Parameter-Datei
SA Speicherstartadresse zum Auslesen des Vektors A
SB Speicherstartadresse zum Auslesen des Vektors B
SC Speicherstartadresse zum Einschieiben des Vektors C
NY Anzahl der Elemente
in einer fundamentalen Vektoroperation .W Anzahl der Durchläufe in der inneren Schleife N Φ Anzahl der Durchläufe in der äußeren Schleife ΔI Adresseninkrement für die innere Schleife N Φ Adresseninkrement für die äußere Schleife
Arbeits-Datei
AA Arbeitsadresse (laufende Adresse) für Vektor Λ
BB Arbeiteadresse (laufende Adresse) für Vektor B
CC Arbeitsadresse (laufende Adresse) für Vektor C
VC laufende Zählung der Vektorkomponenten IC laufende Zählung der Innenschleifen Φ C laufende Zählung der Außenschleifen
Tabelle V
Speicherplatzbelegung zur Durchführung emer Multiplikation zweier Determinanten dritten Grades
15
Speicherstelle fur
Determinante A
Speicherstelle
für Determinante B
Speicherstelle
für Determinante C
k an I bn m C11
k+1 alt l+l bti m+1 cu
k + 2 aa 1 + 2 bsl m + 2 C13
Jfc+3 O21 1 + 3 A12 m + 3 cM
k + 4 O2J / + 4 ftM m + 4 cu ·
Jfc + 5 An / + 5 b3i m + 5 cB
Jfc + 6 O31 1 + 6 ba m + 6 C11
k + 7 O31 1 + 7 ba m + 7 c«
/fc + 8 as, 1+8 ftM m + 8 c,j
Die Detreminante A k bis * + 8 verteilt:
die Determinante £ bis / + 8 verteilt;
die Determinante C m bis m + 8 verteilt
ist reihenmäßig auf die Speicherstellen ist spaltenmäßig auf die Speicherstellen ist reiheiunäBig nuf die Speicherstellen
30 Zu Beginn der Multiplikation wird:
SA = Jk NV = 3
SB=-1 NI = 3
SC = πι ΝΦ = 3
ΔΦ
Tabelle VI
Adressen- und Steuerungsablauf für die Determinante A zur Durchführung der Multiplikation
gemäß Tabelle V
Schritt SA
NI-I
Operation NV-X
ΝΦ-1
-+VC
-+ΦC
VC IC ΦC ^Adresse
1 AA+ 1
VC-I
-+AA 2 2 2 k
2 AA+ 1
VC-I
-+AA
-+VC
1 2 2 k+1
3 SA
IC-I
-+AA
-+VC
NV-I -+VC 0 2 2 k + 2
4 AA+ 1
VC-I
-+AA 2 1 2 k
5 AA + 1
VC-I
-+AA
-+VC
1 1 2 Jfc+1
6 SA
IC-I
-+AA
-+VC
NV-I -+VC 0 1 2 Jfc + 2
7 AA+ 1
VC-X
-+AA
-+IC
2 0 2 Jk
8 AA+ X
VC-X
-+AA
-+VC
1 0 2 Jt+1
9 SA + Δ Φ
NI-X
-+AA
-+VC
-+AA.SA NV-I
-+IC ΦC-ί
-+VC
-+ΦC
0 0 2 k + 2
10 AA + 1
KC-I
-+AA
-+VC
2 2 1 Jfc + 3
11 1 2 1 Jfc + 4
(Tabelle VI Fortsetzung)
Schritt AA+ 1
VC-I
Operation NV-I NV-I -+VC VC IC te A Adresse
12 SA
/C-I
-►/4/4
-+FC
0 2 1 Jfc + 5
13 /4Λ + 1
FC-I
-►/4/4
-WC
2 1 1 Jfc + 3
14 AA+ 1
VC-I
-►/L4
-►FC
NV-I NV-I -+VC 1 1 1 Jfc + 4
15 SA
/C-I
-►/4/4
-►FC
0 1 1 Jfc + 5
16 AA+ 1
VC-I
-►/4Λ
-WC
2 0 H + i
17 AA + 1
FC-I
-+AA
-+VC
-+AA,SA NV-I
-+IC <PC-1
-+VC
~+ΦC
1 0 1 Jfc + 4
18 &4 + J Φ
W-I
-+AA
-+VC
-+AA
-+VC .
0 0 1 Jfc + 5
19 AA+ 1
FC-I
-+AA
-+VC
2 2 0 Jfc + 6
20 y4/4 + l
FC-I
-+AA
-+IC
-+VC 1 2 0 k+7
21 S/4
/C-I
-+AA
-+VC
0 2 0 JH-8
22 AA+ 1
FC-I
-+AA
-+VC
2 1 0 k 4 f>
23 AA +I
VC-I
-+AA
-+IC
-+VC 1 1 0 Jfc+7
24 SA
/C-I
-+AA
-+VC
0 1 0 Jfc4 8
25 AA +I
FC-I
-+AA
-+VC
2 0 0 Jfc + ο
26 AA +I
FC-I
1 0 0 Jfc-r 7
27 0 0 0 Jt- S
Tabelle VII Beispiel für Gleitkonunaadditionen im Rechenwerk 101
'„ Zeit
'. I '.
Zi 's '4
Subtraktion des Exponenten .'..
Ausrichtung der Mantissen
Addition der Mantissen
Nachnormalisierung des
Resultats
av bt S at,bt
av b,
Im selben Rechenwerk befinden sich zur Zeit i4 vier verschiedene Wortpaare α A-i = 1-4 in \ie verschiedenen Bearbeitungsstufen? v J1 *
Hierzu 2 Blatt Zeichnungen

Claims (1)

  1. Patentansprüche:
    3. Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner zur Ausführung von Rechnungen an Operanden, dadurch gekennzeichnet, daß wenigstens ein Rechenwerksabschnitt (300.4, 300ß) vorgesehen ist, der mehrere Funktionseinheiten (302, 304, 306, 308, 310, 311, 312, 314 bzw. 330, 332, 334, 336, 338, 340, 341, 345) einhä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 verschiedenartigeil Serienschaltungen verbindbar sind, 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 Serienschaltungen 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 Bo fehlen 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/4, 300B), die wahlweise derart miteinander verbindbar sind, daß sie gleichzeitig parallel zueinander verschiedene Operanden bearbeiten.
    8. Rechenwerk nach Anspruch 7, dadurch gc-
    kennzeichnet, daß die parallelen Rechenwerksabschnitte (300/1, 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 (300/1, 300B) mit einer Addiereinheit (306, 334) und einer Multipliziereinheit(312, 341) zur Erzeugung einer Pseudosumme und eines PseudoÜbertrags in jedem Rechenwerksabschnitt bei einem Taktimpuls ausgestattet ist, daß zwischen dem Ausgang der einen MultipliziereinheU (312) und der Addiereinheit (306) in dem einen Abschnitt eine programmgesteuerte Verbindung (313) vorgesehen ist und daß zwischen dem Ausgang der andere» 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 (127 α) 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 DE1934441B2 (de) 1973-08-09
DE1934441C3 true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51115841U (de) * 1975-03-14 1976-09-20
US4075704A (en) * 1976-07-02 1978-02-21 Floating Point Systems, Inc. Floating point data processor for high speech operation
GB8320362D0 (en) * 1983-07-28 1983-09-01 Secr Defence Digital data processor
GB2144245B (en) * 1983-07-28 1987-07-29 Secr Defence A digital data processor for matrix/matrix multiplication

Also Published As

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

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
EP0079471B1 (de) Schaltungsanordnung und Verfahren zur Bildung von Skalarprodukten und Summen von Gleitkommazahlen mit maximaler Genauigkeit
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE1181461B (de) Adressenaddierwerk einer programm-gesteuerten Rechenmaschine
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE1813916B2 (de) Elektronische Datenverarbeitungsanlage
DE2758830A1 (de) Rechenvorrichtung
DE1282337B (de) Programmgesteuerte elektronische Rechenanlage
DE1549480A1 (de) Datenverarbeitungsanlage
DE2222197A1 (de) Anordnung zur Auf- bzw. Abrundung von Zweierkomplement-Zahlen
DE1499281B1 (de) Rechenmaschine fuer logarithmische Rechnungen
DE2830334C2 (de)
DE1934441C3 (de) Befehlswerkgesteuertes Rechenwerk für einen Digitalrechner
EP0265555B1 (de) Verfahren und Schaltungsanordnung zur Addition von Gleitkommazahlen
DE1499224C3 (de) Datenverarbeitungsanlage mit Kellerspeichereinrichtungen
DE1184122B (de) Addiervorrichtung
DE1549449A1 (de) Einrichtung zur Verarbeitung von Gleitkommazahlen
DE1934439C3 (de) Digital-Rechner zur Verarbeitung von Vektorfeldern
DE1774866C3 (de) Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information
DE2717374C2 (de) Datenverarbeitungsanlage
DE2345098C3 (de) Steuerwerk für einen Prozessor eines Rechners
DE1934439A1 (de) Datenverarbeitungseinrichtung,insbesondere zur Durchfuehrung von Matrixoperationen

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