DE2817183C2 - Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit - Google Patents

Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit

Info

Publication number
DE2817183C2
DE2817183C2 DE2817183A DE2817183A DE2817183C2 DE 2817183 C2 DE2817183 C2 DE 2817183C2 DE 2817183 A DE2817183 A DE 2817183A DE 2817183 A DE2817183 A DE 2817183A DE 2817183 C2 DE2817183 C2 DE 2817183C2
Authority
DE
Germany
Prior art keywords
cpu
processor
signal
floating point
data
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
DE2817183A
Other languages
English (en)
Other versions
DE2817183A1 (de
Inventor
Richard Norman Ames
Dick Kaylor Hardin
Joel Calvin Leininger
George Phillips Boca Raton Fla. Taylor
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE2817183A1 publication Critical patent/DE2817183A1/de
Application granted granted Critical
Publication of DE2817183C2 publication Critical patent/DE2817183C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Description

Die Erfindung betrifft eine Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit mit Taktsteuerung und einer Schnittstellenschaltung für den Anschluß von peripheren Geräten und/oder anderen durch Mikroprogramm gesteuerten Prozessoren, wobei bei angeschlossenem weiterem Prozessor mindestens ein Teil der Schnittstellenschaltung für den unmittelbaren Datenverkehr zwischen der CPU und diesem Prozessor zur Verfügung gestellt werden kann, wobei jeder dieser Prozessoren für eine bestimmte Gruppe von Datenverarbeitungsfunktionen wirkungsvoll und wirtschaftlich optimal ausgelegt ist. Eine derartige Anlage ist z. B. aus der DE-OS 26 55 616 bekannt.
So kann beispielsweise eine solche Anlage so ausgelegt sein, daß die CPU solche Operationen, bei denen eine Gleitkommaarithmetik benutzt werden soll, an einem Gleitkommaprozessor delegiert, der für derartige Operationen eine eigene Steuerlogik besitzt.
Eine derartige modulare Anlage macht es dann möglich, mit einem Datenverarbeitungssyystem eine große Klasse von Benutzern zu bedienen, deren Wünsche und Bedürfnisse stark voneinander abweichen können. Wenn ein Benutzer beispielsweise die ausgefeilte Technik eines Gleitkommaprozessors nicht benötigt.
so kann er beispielsweise nur die Grundausstattung der Datenverarbeitungsanlage erwes-ben, die den eingebauten Gleitkommaprozessor nicht enthält Wenn jedoch später ein derartiger Prozessor verlangt wird, dann kann er als Zusatz zu der G rundausEtattung hinzugefügt werden. Eine grundsätzliche Schwierigkeit damit die Anschaltung einer solchen zusätzlich gewünschten Anlage überhaupt praktisch durchführbar ist ist darin zu sehen, daß der Prozessor so arbeiten soll, als ob er
ίο fest an die CPU angeschlossen wäre. Das heißt aber, daß die Operationen dieses zusätzlichen Prozessors mit denen der CPU synchronisiert sein sollten, so daß beide Prozessoren ihre jeweiligen Befehle unter gemeinsamer Taktsteuerung ausführen können, während jedoch gleichzeitig eine unnötige Belastung durch zusätzlichen Schaltungsaufwand vermieden werden sollte. Andererseits sollte dieser zusätzliche Prozessor in seinem Betriebsverhalten nicht auf den Zustand eines gewöhnlichen Eingabe/Ausgabegerätes heruntergestuft werden.
Wenn nämlich dieser zusätzliche Prozessor vollständig nach der Art eines gewöhnlichen Eingabe/Ausgabegerätes arbeiten muß, das mit der CPU nur in der üblichen asynchronen Betriebsart verkehren kann, dann wird dessen Betriebsverhalten viel zu wenig effizient um die zusätzlichen Ausgaben für einen derartigen Prozessor zu rechtfertigen. Die über einen üblichen E/A-Kanal aufgebaute asynchrone Schnittstellenschaltung kann selbstverständlich ausreichend für eine Übertragung von Daten zwischen dem Zusatzprozessor und dem Hauptspeicher eingesetzt werden, wenn jedoch Steuerinformation zwischen der CPU und dem außenliegenden Prozessor übertragen werden soll, dann ist für eine wirksame und wirtschaftliche Arbeitsweise des Systems eine synchron arbeitende Schnittstelle erforderlich.
Ganz allgemein besteht die Aufgabe der Erfindung darin, einen extern anschaltbaren Prozessor so auszugestalten, daß er im wesentlichen so arbeitet, als ob er, soweit die Durchführung von Befehlen betroffen ist, intern mit der Zentraleinheit fest verbunden wäre.
Insbesondere soll dabei die modulare Anordnung einer mikroprogrammierten Datenverarbeitungsanlage dahingehend verbessert werden, daß zwei Prozessoren die nicht intern fest miteinander verbunden sind, automatisch eine brauchbare Schnittstelle für eine Synchroni- sierung ihrer jeweiligen durch Mikroprogramm gesteuerten Operationen herstellen können, wenn immer ein Prozessor Befehle oder Antworten auf solche Befehle von dem anderen Prozessor aufnehmen soll. Dies soll insbesondere dadurch erzielt werden, daß ein außenliegender Prozessor mit der Zentraleinheit mindestens teilweise über einen Kanal verkehren kann, der gemeinsam mit üblichen Eingabe/Ausgabegeräten benutzt wird, die auch von der Zentraleinheit benutzt werden, ohne daß dadurch das Betriebsverhalten derartiger Geräte wesentlich beeinflußt wird.
Diese der Erfindung zugrunde liegende Aufgabe wird in einer mikroprogrammierten Datenverarbeitungsanlage der eingangs genannten Art dadurch gelöst, daß für den über einen Teil der Schnittstellenschaltung ange schlossenen Prozessor eine durch die Taktsteuerung der CPU ansteuerbare Hilfstaktsteuerung für eine taktmäßige Verarbeitung der bei der Zusammenarbeit zwischen den beiden Prozessoren benutzten Folgen von Mikrobefehlsworten vorgesehen ist, daß zur Einleitung ein«..- Zusammenarbeit zwischen den beiden Prozessoren eine in der CPU vorgesehene erste Steuerschaltung zunächst über eine erste Steuersignalleitung zur Feststellung, ob der andere Prozessor angeschlossen ist,
- ein Freigabesignal abgibt, auf das eine in dem zweiten Prozessor vorgesehene zweite Steuerschaltung durch Abgabe eines den Anschluß des zweiten Prozessors anzeigenden Signals über eine zweite Steuersignalleitung anspricht und damit den Anschluß und die Betriebsbereitschaft des zweiten Prozessors anzeigt, so daß er zur Bearbeitung von durch die CPU delegierten Aufgaben bereit ist, daß ferner in der CPU eine dritte Steuerschaltung vorgesehen ist, die auf das Bereitschaftssignal anspricht und den gemeinsamen Teil der Schnittstellenschaltung für einen direkten Hauptspeicherzugriff für eine Datenübertragung zwischen CPU und einem der E/A-Geräte wieder in Betrieb nimmt, während der zweite Prozessor die ihm von der CPU delegierte Aufgabe ausführt, und daß in der CPU schließlich eine vierte Steuerschaltung auf die Beendigung des auf der zweiten Steuersignalleitung liegenden Signals anspricht solbald der zweite Prozessor seine ihm delegierte Aufgabe im wesentlichen durchgeführt hat, so daß der gemeinsame Teil der Schnittstellenschaltung auf eine unmittelbare Datenübertragung zwischen den beiden Prozessoren umschaltet.
Mit anderen Worten, benutzt der Gleitkommaprozessor oder jeder andere von außen anschaltbare Prozessor eine normale asynchrone Schnittstelle mit der CPU für die normale Datenübertragung zwischen den Prozessoren und verwendet eine besondere synchrone Schnittstelle, wenn zwischen den Prozessoren Steuerinformation ausgetauscht werden soll. Ist die synchrone Schnittstelle in Betrieb, dann läßt sie eine begrenzte Verbindung mit direktem Hauptspeicherzugriff (Cycle Steal) zwischen der CPU und den E/A-Geräten zu, die den Kanal gemeinsam mit dem außenliegenden Prozessor benutzen. Auf diese Weise können einer oder mehrere außenliegende Prozessoren an die CPU in wirtschaftlicher Weise angeschlossen werden, so daß auf diese Weise die Verarbeitungskapazität eines Datenverarbeitungssystems erweitert werden kann, ohne daß dabei das Betriebsverhalten jedes Teils eines derartigen Systems nachteilig beeinflußt wird.
Die Erfindung wird nunmehr anhand von Ausführungsbeispielen in Verbindung mit einer Beschreibung einer bevorzugten Ausführungsform der Erfindung und anhand der Zeichnungen im einzelnen beschrieben. In den Zeichnungen zeigt
F i g. 1 eine allgemeine schematische Darstellung eines Datenverarbeitungssystems, bei dem zwei durch Mikroprogramme gesteuerte Prozessoren und mit einer Anzahl von E/A-Geräten gemäß den Lehren der Erfindung miteinander verbunden sind, wobei in der hier beschriebenen Ausiührungsform die beiden Prozessoren eine Zentraleinheit (CPU) und ein Gleitkommaprozessor (FPP) sind, der stellvertretend für alle sekundären Prozessoren gewählt wurde, die über eine Schnittstelle mit der CPU verbunden werden können,
F i g. 2 schematisch eine perspektivische Ansicht des tatsächlichen Aufbaus des Prozessorsystems,
Fig.3A und 3B Teile der Schaltung der Zentraleinheit und der Schnittstellenschaltung, die für das Verständnis der Erfindung notwendig sind,
F i g. 4A und 4B Teile der Schaltung des außenliegenden Prozessors mit der zugehörigen Schnittstellenschaltung, die für das Verständnis der Erfindung notwendig ist,
Fig.5A und 5B ein Taktdiagramm zur Darstellung der Folge, in der die beiden Prozessoren (CPU und FPP) ihre jeweiligen Mikrobefehle ausführen, während einer beispielhaften Arbeitsweise des Systems über eine Schnittstelle miteinander verbunden sind,
Fig.6A bis 6G angeordnet gemäß Fig.6, ein
Flußdiagramm zur Darstellung der funktioneilen Beziehungen zwischen den wichtigen im Taktdiagramm der Fig.5A und 5B dargestellten Mikrobefehlsworte von CPU und FPP,
Fig. 7A und 7B angeordnet gemäß Fig. 7, ein Flußdiagramm einer weiteren Betriebsart, die bei ίο Auftreten einer Leerlaufbedingung ablaufen muß,
F i g. 8 ein dem Flußdiagramm in F i g. 7 zugeordnetes Taktdiagramm und
F i g. 9 bis 14 Taktdiagramme zur Darstellung anderer Gleitkommaoperationen, bei denen ein direkter Haupt-Speicherzugriff (Cycle Steal) zu geeigneten Zeiten während einer solchen Operation auftreten kann.
Einzelbeschreibung einer bevorzugten Ausführungsform
F i g. 1 und 2 zeigen die allgemeine Systemkonfiguration und die tatsächliche Anordnung eines beispielhaften mikroprogrammierten Datenverarbeitungssystem, bei dem die vorliegende Erfindung eingesetzt werden kann. In F i g. 1 ist eine Zentraleinheit 10 (CPU) dargestellt, die den Zugriff zu einem Hauptspeicher 12 steuert und mit einer Anzahl peripherer Geräte einschließlich üblicher Eingabe/Ausgabegeräte 14 und einem außenliegenden Prozessor 16 verkehrt, der für die vorliegende Ausführungsform der Erfindung als Gleitkommaprozessor (FPP) angenommen werden soll. Dabei können mehrere Prozessoren unterschiedlicher Bauart vorgesehen sein, doch für die vorliegende Beschreibung soll angenommen werden, daß nur ein solcher zusätzlicher, außenliegender Prozessor vorgesehen ist
Jedes E/A-Gerät 14 verkehrt mit der CPU IO und dem Hauptspeicher 12 über eine Steuereinheit oder einen E/A-Anschluß 18, eine E/A-Schnittstelle 20 und einen Kanal 22, und dies stellt die E/A-Steuerlogik der CPU dar. Die Schnittstelle 20 besteht aus einer Anzahl von Leitungen oder Kabeln, die zu verschiedenen funktionellen Gruppen zusammengefaßt sind, wie z. B. eine Datenleitung, eine Adreßleitung, E/A-Steuerleitungen und einige zusätzliche Leitungen oder Verbindungs-
leitungen, deren Zweck im einzelnen noch erläutert wird. Eine Verbindung zwischen dem zweiten Prozessor 16 und der CPU 10 wird zum Teil über die E/A-Schnittstelle 20 und zum Teil über ein Hilfskabel 24 durchgeführt, das noch eingehender beschrieben wird.
Eine Aufrufleitung 26 (die in Wirklichkeit ein Teil der Schnittstelle 20 ist, jedoch hier für sich dargestellt ist) bewirkt bei verschiedenen Arten von E/A-Steuervorgängen (Unterbrechungen bzw. direkter Hauptspeicherzugriff (Cycle Steal) die Feststellung der
Identität eines E/A-Gerätes, das mit der CPU 10 in Verbindung zu kommen sucht Die Aufrufleitung 26 verbindet die E/A-Anschlüsse 18 in Reihe mit der CPU. Da diese Aufrufleitung nicht in die Arbeitsweise des zweiten Prozessors 16 eingeschaltet ist, ist sie in diesem Prozessor, wie bei 28 in Fig. 1 angedeutet, lediglich hindurchgeschleift.
Die verschiedenen Wechselwirkungen zwischen CPU 10 und E/A-Geräten 14 unter den verschiedenen Betriebsbedingungen sollen hier im einzelnen nur soweit erläutert werden, als die für das Verständnis der vorliegenden Erfindung erforderlich sind, die sich insbesondere mit dem Zusammenwirken zwischen dem zweiten Prozessor 16 und der CPU 10 befaßt und die
Art und Weise, wie dieser Prozessor 16 die Verbindungsmöglichkeiten der Schnittstelle 20 und des Kanals 22 mit den E/A-Geräten 14 mitbenutzt. Von diesem Punkt in der Beschreibung an, soll der zweite Prozessor 16 als Gleitkommaprozessor (FPP) bezeichnet werden, wobei natürlich daran errinnert werden soll, daß diese besondere Art eines Prozessors nur als Beispiel für einen oder mehrere zusätzliche Prozessoren dienen soll, die erfindungsgemäß eingesetzt werden können.
F i g. 2 zeigt die tatsächliche Anordnung der verschiedenen Teile des Systems in Fig. 1. Dazu gehört eine Stromversorgung 29, eine damit verbundene Schaltungsplatte 30, die die verschiedenen Leitungen der E/A-Schnittstelle 20 (Fig. 1) und eine Anzahl von steckbaren Schaltungskarten 32 bis 42 enthält, die auf der Schaltungsplatte 30 befestigt werden können. Von diesen Karten enthalten die E/A-Karten 32 in Fig.2 jeweils die Schaltungen der E/A-Anschlüsse 18 in F i g. 1. Die Speicherkarten 34 bilden den Hauptspeicher 12, wobei die Anzahl dieser Karten sich nach der Speichergröße richtet. Die Schaltungen der CPU sind in den drei Karten der Zentraleinheit untergebracht und bestehen aus einer Datenkarte 36, einer Adreßkarte 38 und einem Festwertspeicher (ROS) 40. Die Datenkarte 36 führt alle arithmetischen und logischen Operationen der CPU durch (mit Ausnahme derjenigen Operationen, die dem zweiten Prozessor zugeordnet werden) und bewirkt die Durchschaltung und Übertragung von Daten nach und von der E/A-Schnittstelle 20 und dem Hauptspeicher 12. Die Adressenkarte 38 enthält alle über das Programm ansteuerbaren Schaltungen, wie z. B. Daten und Statusregister und bildet die Adressen, die beim Zugriff zum Hauptspeicher 12 und zu den peripheren Einheiten, den E/A-Geräten 14 und 16 benutzt werden. Die Festwertspeicherkarte 40 enthält den mikrocodierten Steuerspeicher der CPU und zugeordnete Schaltmittel, für eine selektive Adressierung dieses Speichers und zum Auslesen der darin enthaltenen Mikrobefehlsworte.
Die Schaltungen des zweiten Prozessors 16, in diesem Fall ein Gleitkommaprozessor (FPP), sind auf einer einzigen Schaltungskarte 42 in Fig.2 enthalten. Das Hilfskabel 24, Fig. 1, wird durch ein Anschlußkabel 24, Fig.2, gebildet, das sich zwischen der FPP-Karte 42 und der CPU-Datenkarte 36 erstreckt, wobei das Hilfskabel jeweils an seinen Enden an den entsprechenden Karten mit Steckern angeschlossen ist Die FPP-Karte 42 ist dabei in die Schaltungsplatte 30 in einer Position neben der Datenkarte 36 der CPU eingesteckt und ersetzt damit eine E/A-Karte, die sich sonst an dieser Stelle befinden würde. Es ist an sich nicht notwendig, daß zur Durchführung des erfindungsgemäßen Prinzips die Schaiiungskarien 36 und 42 benachbarte Positionen einnehmen, doch bei dieser Anordnung kann ein übliches genormtes kurzes Verbindungskabel als Hilfskabel 24 eingesetzt werden. Werden weitere zusätzliche Prozessoren eingesetzt, dann werden ihre entsprechenden Schaltungskarten an benachbarten Positionen untergebracht, und das die Prozessoren verbindende Verbindungskabel wird entsprechende Abzweigungen aufweisen und damit die notwendigen Verbindungen nach diesen weiteren Prozessoren herstellen.
Es sei jetzt darauf hingewiesen, daß das Hilfskabel 24 deswegen benutzt wird, weil die normale E/A-Schnittstelle nicht alle für die Durchführung der Erfindung erforderlichen Verbindungen zwischen den einzelnen Prozessoren liefert.
Wie bereits erwähnt, könnte der zweite Prozessor 16, der hier als Gleitkommaprozessor angenommen ist, für die Zwecke der Erfindung auch eine andere Art von zweitem Prozessor sein, oder es könnte sich auch um eine Gruppe von zweiten Prozessoren handeln. Obgleich sich also die Beschreibung der Erfindung zum Teil mit der Darstellung einer Gleitkommazahl und dem Befehlsvorrat für einen Gleitkommaprozessor befaßt, so sollte doch klar sein, daß die Erfindung nicht auf einen
ίο Gleitkommaprozessor als solchen ausgerichtet ist, sondern sich mit einer neuartigen Technik für den Anschluß eines zweiten Prozessors befaßt, der dann die normale E/A-Schnittstelle zusammen mit einer Anzahl von E/A-Geräten gleichzeitig mit benutzt, ohne dadurch die Verbindung zwischen der CPU und den E/A-Geräten unnötig einzuschränken.
Besondere Hinweise auf Gleitkomrnaopcrationen werden hier nur dann gegeben, wenn sie für das Verständnis des hier gewählten Ausführungsbeispiels notwendig sind und der Aufbau des Gleitkommaprozessors wird dabei nur soweit beschrieben werden, als es für die Erläuterung der Verbindung dieses Prozessors mit der CPU erforderlich ist.
Zahlendarstellung
Gleitkommazahlen werden dabei in einem Format mit fester Länge dargestellt und können beispielsweise für einfache Genauigkeit aus zwei Worten (32 Bit) oder für die doppelte Genauigkeit aus vier Worten (64 Bit) bestehen. In jedem dieser Formate ist das erste Bit das Vorzeichenbit. Die nächstfolgenden 7 Bitpositionen werden durch die Kennzeichnung eingenommen, die den Exponenten der im 64-Überschußcode dargestellten Zahl bedeutet. Das Mantissenfeld der Gleitkommazahl enthält entweder 24 oder 56 Bitpositionen und nimmt daher entweder 6 Hexadezimalzahlen für einfache Präzision oder 14 Hexadezimalzahlen für doppelte Präzision auf.
Die im Hauptspeicher 12, F i g. 1 abgespeicherten Zahlen können entweder in Gleitkommadarstellung oder als mit Vorzeichen versehene ganze Dualzahlen dargestellt sein. Die durch FPP 16 zu verarbeitenden Zahlen müssen in Gleitkommadarstellung ausgedrückt sein. Wenn eine mit Vorzeichen versehene ganze Binärzahl im Hauptspeicher für eine Gleitkommaoperation verwendet werden soll, dann muß diese zunächst im FPP t6 zu dem Zeitpunkt in eine Gleitkommazahl umgewandelt werden, wenn sie in ein Gleitkommaregister geladen wird. Eine im Gleitkommaregister abgespeicherte Gleitkommazahl kann im Gleitkommaprozessor in eine mit Vorzeichen versehene ganze Binärzahl umgewandelt werden. Eine Operation dieser Art wird anschließend als Beispiel dafür beschrieben, wie die Schnittstelle zwischen CPU und FPP arbeitet
Gleitkommabefehle
Diejenigen Gleitkommabefehle, die bei der vorliegenden Anmeldung von besonderem Interesse sind, werden anschließend beschrieben. Diese Befehle wurden deswegen für eine Betrachtung ausgewählt, weil sie es möglich machen, daß der Kanal 22, F i g. 1 umschaltbar entweder für die Verbindung zwischen den Kanälen oder beim direkten Hauptspeicherzugriff in der Weise betrieben werden kann, daß die E/A-Schnittstelle 20 in gleicher Weise durch FPP 16 und die E/A-Geräte 14 benutzt werden kann. Ein wichtiger Vorteil der Erfindung liegt darin, daß ein äußerer weiterer Prozessor, wie z.B. FPP16, wirkungsvoll zu arbeiten vermag, ohne dabei
während der Zeit, in der der Prozessor in Betrieb ist, die Schnittstelle 20 zu monopolisieren. Die besonderen hier beschriebenen Merkmale der Schnittstelle machen es möglich, daß während bestimmter Gleitkommaoperationen von relativ langer Dauer oder häufigem Auftreten der Kanal angeschaltet werden kann, so daß derartige Operationen die normale Datenübertragung zwischen E/A-Geräten und CPU nicht unnötig erschweren und zu einem Verarbeitungsstau führen. Im Falle anderer Gleitkommabefehle (hier nicht beschrieben) sind deren Dauer oder Häufigkeit nicht so, daß zwischendurch eine Kanaleinschaltung erforderlich ist. Die Gleitkommainstruktionen, die eine Kanaleinschaltung gestatten, sind folgende:
Floating Load Integer (FLI) und
Floating Load Integer Double (FLlD)
FLI ist die Form des Befehls für einfache Genauigkeit und FLID in Form des Befehls für doppelte Genauigkeit. Der Befehl FLI bewirkt, daß eine aus 16 Bit bestehende, mit Vorzeichen versehene binäre ganze Zahl, die durch eine effektive Adresse (E/A) an einem Platz im Hauptspeicher gekennzeichnet ist und einen aus einem Wort darstellenden Operanden darstellt, in eine aus 32 Bit bestehende Gleitkommazahl umgesetzt wird (mit an Stellen niedriger Ordnung eingefügten Nullen) und dann in das durch das Ä-(Register) Feld des Befehls und die laufende Unterbrechungsebene bestimmte Gleitkommaregister geladen wird. FLID wandelt eine aus 32 Bit bestehende, mit Vorzeichen versehene ganze Binärzahl, die einen aus zwei Worten bestehenden Operanden darstellt, in eine 64 Bit-Gleitkommazahl um und lädt diese in das bezeichnete Gleitkomma-Register. In jeder dieser Operationen wird während der Zeit, in der die Zifferumwandlung durchgeführt wird, ein direkter Hauptspeicherzugriff zugelassen.
Floating Store Double (FSTD)
In dieser Operation wird eine in dem durch das R-FeId des Befehls gekennzeichneten Register abgespeicherte, aus 64 Bit (4 Worten) bestehende Gleitkommazahl mit doppelter Genauigkeit in der durch die effektive Adresse (E/A) bezeichneten Speicherposition abgespeichert. Gleichzeitig können direkte Hauptspeicherzugriffe auf Anforderung im Multiplex mit FP-Datenübertragungen durchgeführt werden, nachdem das erste Paar von FP-Worten an den Speicher übertragen ist und bevor das letzte FP-Wort an den Speicher abgegeben wird.
Floating Store Integer (FSTI)
Floating Store Integer Double (FSTID)
Diese Befehle bewirken, daß eine in dem durch das R-FeId in den Befehl gekennzeichneten Register abgespeicherte Gleitkommazahl in eine mit Vorzeichen versehene binäre ganze Zahl umgewandelt und an einer durch die effektive Adresse bezeichneten Position im Hauptspeicher abgespeichert wird. FSTI wandelt dabei eine aus 32 Bit bestehende Gleitkommazahl einfacher Genauigkeit in eine aus 16 Bit bestehende ganze Zahl (1 Wort) um, während FSTID eine aus 64 Bit bestehende Gleitkommazahl doppelter Genauigkeit in eine aus 32 Bit bestehende ganze Binärzahl (2 Worte) umsetzt In jedem Fall lassen diese Befehle während der Zeit, in der der Gleitkommaprozessor diese Umwandlung durchführt, einen unmittelbaren Hauptspeicherzugriff zu. In einem extremen Fall könnten während eines solchen Intervalles bis zu 73 HaL-ptspeicherzugriffe (Cycle Stelas) durchgeführt werden. FSTID läßt es ferner zu, daß ein gleichzeitiger unmittelbarer Hauptspeicherzugriff auf Anforderung in Multiplexbetrieb zwischen der jeweiligen Übertragung des ersten und des zweiten Wortes der ganzen Zahl an den Speicher eingeschoben wird. Eine Operation dieser Art wird anschließend im einzelnen als ein Beispiel beschrieben, wie die neue Schnittstelle zwischen CPU und FPP arbeitet.
Operation Speicher an Register
Addition, Subtraktion, Multiplikation, Division
einfacher oder doppelter Genauigkeit
für Gleitkommazahlen
Bei jedem dieser Befehle wird die angezeigte arithmetische Operation in der Weise durchgeführt, daß ein Operand sich in der durch die effektive Adresse angezeigten Position im Hauptspeicher befindet, während der andere Operand in dem durch das R-FeId des Befehls gekennzeichneten Gleitkommaregister liegt. Während der FPP16 diese geforderte arithmetische Operation durchführt, können unmittelbare Haupt-Speicherzugriffe ablaufen.
Register-Register-Oprationen, einfache oder
doppelte Genauigkeit
(Gleitkomma-Additionsregister,
Gleitkomma-Subtraktionsregister,
Gleitkomma-Multiplikationsregister,
Gleitkomma-Divisionsregister,
Gleitkomma-Schieberegister,
Gleitkomma-Vergleichsregister)
Die Register-Register-Operation wird durch den FPP unter Verwendung der in den durch die R1- und R 2- Felder des Befehls gekennzeichneten Gleitkommaregistern enthaltenen Operanden oder dadurch durchgeführt, daß bei einem Schiebefehl der Operand vom Register 1 nach dem Register 2 verschoben wird. Während der Verarbeitungszeit jeder R- nach Ä-Operation sind direkte Hauptspeicherzugriffe zulässig.
Floating Store Level Block (FSTLB)
Der Speicherinhalt eines vollständigen Blockes eines Gleitkommaregisters (16 Worte) für die durch das R-FeId gekennzeichnete Ebene werden an den durch die effektive Adresse bezeichneten Speicherplätzen im Hauptspeicher abgespeichert Gleichzeitig ablaufende direkte Hauptspeicherzugriffe werden auf Anforderung im Multiplexverfahren zwischen der Zeit, in der das erste Gleitkornmawort in der CPU abgespeichert wird, und der Zeit in der das letzte Gleitkommawort abgespeichert wird, eingeschoben.
CPU-FPP-Schnittstellenanordnung
In diesem Abschnitt der Beschreibung wird hauptsächlich auf diejenigen Schaltungen der Prozessoren bezug genommen, die von der Schnittstelle zwischen CPU 10 und FPP 16 betroffen sind. Der Ausdruck Schaltungen soll in diesem Zusammenhang der Einfachheit halber für eine Unterscheidung der anschließend beschriebenen Bauelemente und Schaltungen von den in den Steuerspeichern der CPU und der FPP fest abgespeicherten mirkrocodierten Befehlen (z. B. Mikrobefehlsworte) verwendet werden. Im wesentlichen besteht jedoch kein wirklicher Unterschied zwischen
diesen Schaltungen und den fest verdrahteten oder fest eingespeicherten mikrocodierten Befehlen, da sie gemeinsam die gleiche allgemeine Aufgabe haben, in selektiver Weise entsprechend der durch das System durchzuführenden Operationen Schaltungen aufzubauen und zu steuern.
Bei der Beschreibung der Schnittstelle zwischen CPU und FPP wird inbesondere auf die F i g. 3A, 3B, 4A und 4B Bezug genommen, die die entsprechenden Teile der CPU 10 und des FPP 16 zeigen. Unregelmäßig ausgeführte Linien in diesen Figuren zeigen, daß Teile der darin gezeigten Prozessoranordnung von anderen feilen dieser Anordnung abgebrochen sind, die für das Verständnis der Erfindung nicht erforderlich sind. Die verschiedenen Sammelleitungen und Leitungen, die sich zwischen CPU und FPP in F i g. 3B und 4A erstrecken, sind dann, wenn sie nicht im Hilfskabel 24 enthalten sind, in der E/A-Schnittstelle 20 enthalten und sind tatsächlich in der Schaltungsplatte 30, F i g. 2 angeordnet. Anschließend an die Beschreibung des Aufbaus der Schnittstelle wird ein Betriebsbeispiel beschrieben.
Gemäß F i g. 3A und 3B, die einen Teil der CPU IO darstellen, wird eine Schnittstelle zwischen der CPU IO und dem FPP 16 dadurch eingeleitet, daß ein entsprechendes, sich auf die Schnittstelle beziehendes Mikrobefehlswort im Festwertspeicher 44 der CPU adressiert wird. Zur gegebenen Taktzeit läuft das decodierte Ausgangssignal des Festwertspeichers 44 (ROS) über eine Torschaltung 45 und stellt eine Verriegelungsschaltung 46 ein, die ein Signal »Einstellen Schnittstellanforderung« (SIR) auf die Leitung 48 abgibt, das anzeigt, daß eine Schnittstelle zwischen CPU und Gleitkommaprozessor 16 gewünscht wird. Dieses Signal SIR durchläuft ein ODER-Glied 49 und gelangt an einen Eingang eines UND-Gliedes 50. Das UND-Glied 50 wird nur dann zum Durchlassen eines Signals entsperrt, wenn gleichzeitig keine Kanaloperation abläuft. Unter der Annahme, daß derzeit keine Kanaloperation abläuft, tritt am UND-Glied 50 ein von der normalen E/A-Steuerung 52 über Leitung 51 ankommendes Entsperrsignal auf, entsperrt das UND-Glied 50 und läßt das Schnittstellenanforderungssignal (SIR) nach einer Verriegelungsschaltung 54 für eine unmittelbar einzuleitende Folge durch. Durch Einstellung der Verriegelungsschaltung 54 tritt auf der nach der Schnittstellentorschaltung 58 zwischen dem V-Register GO und der Datensammelleitung 62 in der E/A-Schnittstelle 20 führenden Leitung 56 ein Steuersignal auf, wodurch die CPU Information über das Register 60 nach der Datensammelleitung durchlassen kann. Das Y-Register 60 ist eines der der arithmetischen und logischen Einheit (ALU) der CPU IO zugeordneten Datenregister. Dieses Register kann sowohl Daten an die ALU als auch an die Datensammel- !citung abgeben, wenn die Schnittstelle in Betrieb ist Wie noch erläutert wird, wird in Abhängigkeit von Ursprungs- und Bestimmungsinformation, die in dem effektiven CPU Mikrobefehlswort (beispielsweise 49F, Fig.6A) enthalten ist, die derzeitige Ebene der CPU- und der FPP-Adresse auf die entsprechenden Leitungen der Adreßsammelleitung 64 in der E/A-Schnittstelle 20 gegeben.
Viele der Bauteile der CPU, wie z. B. das Y-Register, die ALU und die in der CPU enthaltenen Zähler, werden im einzelnen hier nicht beschrieben, weil sie von üblicher Bauart sind, für nicht mit der Erfindung zusammenhängende Zwecke benutzt werden und weil sie im übrigen auch bereits bekannt sind.
Die Verriegelungsschaltung 54 (unmittelbare Folge) kann auch durch ein von der Verriegelungsschaltung 66 kommendes Signal »Operation E/A« (ΟΙΟ) eingestellt werden, wenn die CPU für eine unmittelbare Datenübertragung zwischen einem E/A-Gerät und der CPU über die Schnittstelle in Verbindung kommen soll. Diese Art von Operation wird als unmittelbare Programmsteuerung (DPC) bezeichnet, um sie von anderen Arten üblicher E/A-Steuerung zu unterscheiden, die für die Datenübertragung benutzt werden können (direkter Hauptspeicherzugriff und Vorrangunterbrechung). Die Verriegelungsschaltung 66 wird in Abhängigkeit von der Adressierung eines entsprechenden im ROS 44 liegenden Mikrobefehlswortes eingestellt, welches nach Decodierung ein Signal SIO (Start E/A) über ein
UND-Glied 67 (zur richtigen Taktzeit) zur Einstellung der Verriegelungsschaltung 66 liefert. Das Ausgangssignal der Verriegelungsschaltung 66 (Signal ΟΙΟ) wird über das ODER-Glied 49 und das UND-Glied 50 unter der Annahme, daß derzeit keine Kanaloperation abläuft, der Verriegelungsschaltung 54 zugeleitet. Wenn die Verriegelungsschaltung 54 eingestellt ist, dann wird das Y-Register 60 mit der Datensammelleitung 62 verbunden (die gleiche, wie sie oben im Zusammenhang mit der Einstellung der Schnittstelle CPU-FPP beschrieben wurde), und wenn eine OIO-Operation gewünscht wird, hat dies die Wirkung, das ein Signal über die Torschaltung 68 nach der E/A-Steuerung 52 geleitet wird, so daß über diese Steuerung eine DPC-Datenübertragung (direkte Programmsteuerung) durchgeführt wird. Die Einstellung der Verriegelungsschaltung 54 in Abhängigkeit von einem Signal (SIR) »Einstellen, Schnittstellenanforderung« hat die weitere Wirkung, daß ein Signal »E/A beendet« eines Typs erzeugt wird, der normalerweise erzeugt werden würde, wenn das Arbeiten eines E/A-Gerätes beendigt ist. Wenn normalerweise ein E/A-Gerät sein Arbeiten beendet hat, dann gibt die E/A-Steuerung 52 ein Signal über Leitung 69 an ein ODER-Glied 70 zur Einstellung einer bistabilen Kippschaltung 71 ab, die zur richtigen Taktzeit bewirkt, daß ein Signal ein UND-Glied 72 durchläuft und die Verriegelungsschaltung 74 (E/A beendet) einstellt. Dadurch wird ein Signal »e/A beendet« auf die Leitung 76 gegeben, das nach der CPU Mikroprogramm-Verzweigungssteuerung 78 führt und damit jede Programmschleife, die diese Verzweigungssteuerung gerade durchläuft, beendet, während sie auf das Zeichen »E/A beendet« wartet und dann das Adreßregister des Festwertspeichers 44 auf das nächste Mikrobefehlswort der ausgewählten Folge weiter schaltet.
Im vorliegenden Beispiel, wo eine Gleitkommaroutine durchgeführt werden soll, muß das Signal »E/A beendet« sofort erzeugt werden, wenn die Verriegelungsschaltung 54 in Abhängigkeit von einem Signa! SIR (Einstellen, Schnittstellenanforderung) eingestellt ist Es sei daran errinnert, daß die Verriegelungsschaltung 54 nur dann eingestellt werden kann, wenn derzeit keine Kanaloperation abläuft Die Einstellung der Verriegelungsschaltung 54 auf ein SIR-Signal bewirkt, daß ein UND-Glied 80 zur entsprechenden Taktzeit entsperrt wird, so daß das von der Verriegelungsschaltung 54 kommende Signal über das UND-Glied 80 und das ODER-Glied 70 die bistabile Kippschaltung 71 einstellen kann, die wiederum die Verriegelungsschaltung 74 einstellt, die dann der CPU Mikroprogramm-Verzweigungssteuerung 78 ansteuert, die die Steueradresse nach dem nächsten Mikrobefehlswort in der ausgewählten Folge weiter schaltet
Bei einer Gleitkommaroutine muß als nächster wichtiger Schritt ein Signal »Gleitkommafreigabe« erzeugt werden. Wenn sin für diese Operation zutreffendes Mikrobe'ehlswort decodiert wird, dann wird ein Signal zur richtigen Taktzeit über ein UND-Glied 84 abgegeben und stellt die Verriegelungsschaltung 86 (Gleitkommafreigabe) ein. Dadurch wird auf einer Gleitkommafreigabeleitung 88, F i g. 3A, 3B 4A und 4B ein Signal abgegeben, das durch das Hilfskabel 24 (F i g. 1 und 2) läuft, so daß das Signal »Gleitkommafreigäbe« den Treiberstufen und Empfangsschaltungen des FPP, die alle zusammen in Fig.4A mit 89 bezeichnet sind, sowie der Auswahllogik 90 zugeleitet wird. Die Auswahllogik 90 liefert eine UND-Verknüpfung und spricht auf das Gleitkommafreigabesignal auf Leitung 88 dann an, wenn die FPP Mikroprogrammadresse in ihrer Ausgangsposition liegt und liefert Signale, mit denen die im folgenden aufgeführten Operationen durchgeführt werden können:
20
1. Entsperren der Torschaltung 94, die den FP Operationscode nach dem Operationsregister 96 durchläßt.
2. Entsperren der Torschaltung 98, die die derzeitige CPU-Unterbrechungsebene (oder sonst die durch den Programmierer im Falle verschiedener privilegierter Operationscodes ausgewählte Ebene) nach einem FP-Ebenen-Register 100 durchläßt
3. Die FPP-Mikroprogrammadresse und Verzweigungssteuerung 92 wird aus ihrer Ausgangsposition weitergeschaltet, und wählt damit das erste aktive FP-Mikrobefehlswort in dem FP-Steuerspeicher 102 entsprechend dem gewählten FP Operationscode aus.
4. Einstellung der Verriegelungsschaltung 104, F i g. 4B, (Gleitkomma angeschlossen), so daß das entsprechende Signal (FP ANGESCHL) auf der Leitung 106 auftritt, die eine der verschiedenen durch leitende Metallisierungen auf der Schaltungsplatte 30, F i g. 2 gebildeten Verdrahtungen ist.
Das Signal »Gleitkommafreigabe« macht also die FP-Treiber- und Empfangsschaltungen 89, Fig.4A betriebsbereit, so daß Information von der Adressensammelleitung 64 von und nach der Datensammellei- tung 62 übertragen werden kann. Wenn sich der FPP in seiner Ausgangsposition befindet, dann bewirkt das Signal »Gleitkommafreigabe«, daß der Gleitkommarechner FPP die Adressensammelleitung auf ihre Adresse hin überprüft (die hier als 0000 angenommen sein). Wird eine solche Adresse aufgefunden, dann schalten die Stufen 90 und 92 Fig.4B und 4A die Gleitkommamikroprogrammadressen nach dem ersten Mikrobefehlswort der durch den Gleitkommaoperationscode ausgewählten Gleitkommaroutine weiter, das in der Zwischenzeit von der Datensammelleitung 62 in das FP-OP-Register 96 übertragen wurde. Schließlich bewirkt innerhalb eines Maschinenzyklus das Signal »Gleitkommafreigabe« die Erzeugung des Signals »Gleitkomma angeschlossen«, das anzeigt, daß eine Gleitkommaoperation ausgewählt ist und soeben beginnt. Die Folgen dieser Operation werden noch erläutert.
Der FPP-Nebentaktgenerator 108 des Gleitkommaprozessors in Fig.4A bewirkt die taktmäßige Steue- rung der Durchführung des Gleitkommamikroprogramms, gesteuert durch die zur CPU gehörige Taktlogik 110 der CPU. Wie in den Zeichnungen angedeutet, werden die zyklischen Taktimpuise A, B, C und D nacheinander der Taktlogik 110 zugeleitet, die unter Steuerung des CPU-Mikroprogramms bestimmte Taktimpulse, nämlich die Taktimpulse A und Q über die Leitungen 111 und 112 der Schnittstelle 20 nach dem Nebentaktgenerator 108 in dem FPP weiterleitet Die gleichen Taktimpulse A und C werden außerdem der Adressier- und Auslessschaltung des CPU-Steuerspeichers 44 zugeleitet Wenn daher Mikroprogramme gleichzeitig durch die VPU und den FPP verarbeitet werden, dann wird die sequentielle Benutzung der Mikrobefehlsworte durch die beiden Prozessoren unter gemeinsamer Taktsteuerung ausgeführt, so daß in beiden Prozessoren die Mikrobefehlsworte mit der gleichen Frequenz angesteuert werden. Dies ist ein Weg für die Synchronisierung der Arbeitsweise der beiden Prozessoren.
Ein weiterer Gesichtspunkt der Synchronisierung besteht in der logischen Koordination zwischen den Mikroprogrammen der entsprechenden Prozessoren. Es gibt dabei bestimmte Mikrobefehlsworte in dem FPP-Mikroprogramm, die nicht ausgeführt werden sollten, bis nicht bestimmte Operationen der VPU abgelaufen sind oder umgekehrt Das heißt, daß zu bestimmten 7eitpunkten der CPU-Steuerspeicher oder der FPP-Steuerspeicher warten oder das derzeit adressierte Mikrobefehlswort in einer Schleife umlaufen lassen muß, bis vom anderen Prozessor ein Signal aufgenommen wird, das anzeigt, daß nunmehr das nächste Mikrobefehlswort in der ausgewählten Folge verarbeitet werden kann. Die Erzeugung dieser Mikroprogramm-Koordinierungssignale fällt in die Verantwortung der Schnittstelle zwischen CPU und FPP und ist Gegenstand der vorliegenden Erfindung. Bis jetzt wurde nur eines dieser Koordinierungssignale (Gleitkommafreigabe oder FPFREIG.) beschrieben, und es wurde auf ein anderes Signal hingewiesen (Gleitkomma angeschlossen oder FP ANGESCHL.). Im Laufe der weiteren Beschreibung wird auf weitere Mikroprogramm-Koordinierungssignale verwiesen werden.
Wie bereits erwähnt, wird dann, wenn die laufende FPP-Mikroprogrammadresse aus ihrer Ausgangsposition zum Beginn der Durchführung einer ausgewählten Gleitkommaoperation weitergeschaltet wird, die Verriegelungsschaltung 104 FPANGESCHL, Fig. 4B automatisch eingestellt, so daß auf der Leitung 106 das Signal »Gleitkomma angeschlossen« auftritt, das nach der Mikroprogramm-Verzweigungssteuerung 78 in der CPU, F i g. 3A, weitergeleitet wird. Dieses Signal zeigt an, daß die FPP-Karte 42 F i g. 2 in der Schaltungsplatte 30 für die E/A-Schnittstelle eingebaut und angeschlossen ist und im aktiven Zustand bewirkt, daß die Verzweigungssteuerung 78 die CPU-Steuerspeicheradresse nach dem nächsten Mikrobefehlswort weiterschaltet, das in diesem Fall bewirkt, daß der Decodierer des Steuerspeichers (ROS) 44 ein Signal abgibt und eine »T«-Verriegelungsschaltung 114 zurückstellt. Die T-Verriegelungsschaltung übt eine Art Verriegelungskontrolle über die CPU-Mikroprogramm-Verzweigungssteuerung aus und muß zurückgestellt werden, damit die Verzweigungssteuerung 78 auf Anforderungssignale für direkten Hauptspeicherzugriff (Cycle Steal, C/S) anzusprechen vermag, die durch die E/A-Steuerung 52 Fig.3B über die C/S-Leitung 115 aufgenommen werden. Solche Anforderungen können jedoch tatsächlich nicht über die C/S-Leitung abgegeben werden, bevor nicht der Kanal 22, Fig. IA und 3A,
zunächst aus seinem Gleitkommabetrieb auf den C/S-Betrieb umgeschaltet ist Wie dies durchgeführt wird, soll anschließend beschrieben werden.
Einige Gleitkommaoperationen benötigen beträchtliche Zeit für die Verarbeitung durch den FPP, und während dieser Zeit hat die CPU eine Möglichkeit, Anforderungen für direkten Hauptspeicherzugriff, die während dieser Verarbeitungszeit ankommen, zu bedienen. Wenn die derzeit ausgewählte Operation in diese Kategorie fällt, dann enthält das zugehörige CPU-Mikroprogramm ein Mikrobefehlswort, das nach entsprechender Zeit (nach Aufnahme des Signals FP ANGESCHL. und der Rückstellung der T-Verriegelungsschaltung 114) decodiert wird und einen getakteten Signalimpuls über eine Torschaltung 116 (Rückstellen Gleitkommafreigabe) abgibt und die Verriegelungsschaltung 86 (Gleitkommafreigabe) zurückstellt, wodurch das auf Leitung 88 liegende Gleitkommafreigabesignal beendet wird. Dadurch werden aber die FPP Treiber- und Empfangsschaltungen 89 abgeschaltet, so daß nunmehr über die E/A-Schnittstelle 20 keine Information nach und von FPP übertragen werden kann.
Nach Rückstellung von FP-Freigabe wird durch ROS 44 ein CPU-Mikrobefehlswort decodiert und liefert über die Torschaltung 118 (Rückstellen E/A-Kennzeichen, RIO) nach einer an den Rückstellklemmen der Verriegelungsschaltung 46 (SIR), der Verriegelungsschaltung 66 (ΟΙΟ) und der bistabilen Kippschaltung 71 angeschlossenen Leitung 120 ein Signal RIO, das außerdem über eine Leitung 124 an die normale E/A-Steuerung 52 im Kanal 22, Fig.3B abgegeben wird. Durch Rückstellung der SI R-Verriegelungsschaltung 46 wird die Verriegelungsschaltung 54 zurückgestellt, wodurch das Y-Register 60 von der Datensammelleitung 62 abgetrennt wird. Das Anlegen des Rückstellen- E/A-Kennzeichen-Impuls an die E/A-Steuerung 52 schaltet nunmehr den Kanal 22 auf C/S-Betrieb um (direkter Hauptspeicherzugriff), so daß Anforderungen für direkten Hauptspeicherzugriff von den E/A-Steuerleitungen 126 in der Schnittstelle 20 über die Leitung 115 für Anforderung von direktem Hauptspeicherzugriff nach der CPU-Mikroprogramm-Verzweigungssteuerung 78 F i g. 3A durchgeschaltet werden.
Bei manchen Gleitkommaoperationen, bei denen Daten in den Gleitkommaprozessor eingespeichert werden sollen, wird ein impulsförmiges Datentaktsignal benutzt, das anzeigt, daß nach einer bestimmten Zeit nach jedem Datentaktimpuls auf der Datensammelleitung von der CPU kommende Daten zur Verfügung stehen. Der Datentaktimpuls wird gleichzeitig mit der Erzeugung des Gleitkommafreigabesignals durch eine Schaltung 126, Fig.3A, (Gleitkomma-Datentakt-Polaritätshalteschaltung) erzeugt, deren Ausgangssignal über ein ODER-Glied 128 nach der E/A-Steuerung 52 im Kanal 22 läuft. Der normale Kanal-Datentaktimpuls (der auch bei anderen, als Gleitkommaoperationen benutzt wird) wird ebenfalls über das ODER-Glied 128 den E/A-Steuerungen zugeleitet.
Der Gleitkommaprozessor oder Gleitkommarechner 16, wie er tatsächlich eingebaut wurde, benutzt eine Addierschaltung mit Rettung des Übertrags zur Durchführung aller arithmetischer Funktionen. Diese Addierschaltung (CSA), die bruchstückhaft bei 130, Fig.4B dargestellt ist, soll hier im einzelnen nicht behandelt werden. Die vorliegende Erfindung befaßt sich jedoch nicht mit der bestimmten Art von Datenverarbeitung, wie sie in dem zweiten Prozessor 16 benutzt wird.
Wenn der Gleitkommaprozessor 16 seine Datenverarbeitungsoperation beendet hat und die sich dabei ergebenden Daten für die Übertragung an die CPU IO bereitstehen, dann adressiert der Steuerspeicher oder ROS 102, Fig.4B des Gleitkommaprozessors 16 ein Mikrobefehlswort, das nach Decodierung ein Gleitkommaabtastsignal (FS) auf eine Leitung 132, Fig.4A, 3B und 3A abgibt, wobei sich diese Leitung über das
Hilfskabel 24 vom FPP 16 nach der Mikroprogramm-Verzweigungssteuerung 78 der CPU IO erstreckt Wenn dies zu einem Zeitpunkt eintritt zu dem das Signal »FP-Freigabe« vorhanden ist dann zeigt dies der CPU an, daß auf der Datensammelleitung durch die CPU zu
einem bestimmten Zeitpunkt später Daten zur Verfügung gestellt werden. Wenn das Signal »FP-Abtasten« auftritt und wenn das Signal »FP-Freigabe« nicht vorhanden ist (wie dies bei allen nicht bevorzugten Operationen der Fall ist), so zeigt dies das Ende der Operation an. Diese Vorgänge werden noch im einzelnen beschrieben.
Die Signale »Gleitkommaausnahme« und »Gleitkomma-Statusindikatoren« (Fig.4A) werden bei ihrem Auftreten über Leitungen in dem Hilfskabel 24 nach den entsprechenden Empfangsschaltungen in der CPU IO (Fig.3A und 3B) übertragen, die jedoch hier nicht vollständig offenbart sind.
Beispiele für Operationen
Zur Darstellung, wie das hier offenbarte System arbeitet werden nachfolgend die hauptsächlichen Vorgänge beschrieben, die während einer typischen FSTI D-Operation, d. h. bei einer Übertragung von Gleitkommaprozessor nach dem Speicher als ganzzahlige Binärzahl mit doppelter Genauigkeit ablaufen. In diesem Zusammenhang sollen zwei verschiedene Fälle betrachtet werden. Als erster Fall sei angenommen, daß während der Gleitkommaoperation ständig Anforderungen für direkten Hauptspeicherzugriff (Cycle Steal, C/S) gemacht werden. Als zweiter Fall soll angenommen werden, daß eine isolierte oder zu beliebigem Zeitpunkt auftretende Anforderung auf direkten Hauptspeicherzugriff gerade kurz vor der Zeit ankommt, wenn der Gleitkommaprozessor das Signal »FP-Abtasten« abgegeben hat, um anzuziegen, daß der Prozessor dabei ist, das zweite Wort einer umgesetzten ganzzahligen Binärzahl doppelter Genauigkeit zu übertragen. (Dies wird als Leerlaufbedingung bezeichnet.) Ein drittes Beispiel ist, wenn eine Anforderung auf direkten
so Hauptspeicherzugriff gleichzeitig mit dem Signal »FP-Abtasten« eintrifft und ein viertes Beispiel ist, wenn zu jedem Zeitpunkt, während »FP-Abtasten« aktiv ist, keine Anforderung auf direkten Hauptspeicherzugriff ankommt.
Die Operation FSTID wurde deswegen zur Erläuterung herangezogen, weil dabei beide Verfahren eine Rolle spielen, die bei der hier offenbarten Schnittstelle zwischen CPU und FPP für die Bearbeitung von Anforderungen auf direkten Hauptspeicherzugriff zur Verfügung stehen, während gleichzeitig eine Gleitkommaoperation durchgeführt wird, nämlich erstens den Ablauf eines direkten Hauptspeicherzugriffs zuzulassen, während der Gleitkommarechner mit der Durchführung eines algorithmischen Verfahrens befaßt ist, das für die ausgewählte Operation erforderlich ist, so daß während dieser Zeit der Gleitkommarechner den Kanal für eine Datenübertragung nicht benötigt und die CPU Gelegenheit hat, eine oder mehrere Anforderungen auf
direkten Hauptspeicherzugriff zu bedienen und zweitens das Einschalten eines oder mehrerer direkter Hauptspeicherzugriffe, eingeschachtelt zwischen aufeinanderfolgende Übertragungen von Daten vom Gleitkommarechner nach der CPU für bestimmte Zeitpunkte, was im einzelnen noch erläutert wird
In diesem Zusammenhang wird auf die Impuls- und Taktdiagramme der Fig.5A und 5B sowie auf das Flußdiagramm, F i g. 6A bis 6G, bezug genommen, die zusammen die wesentlichen sich auf die Schnittstelle beziehenden Abläufe darstellen, die in der CPU IO und im Gleitkommaprozessor 16 ablaufen, wenn eine Operation FSTID (Umsetzung und Abspeicherung einer Gleitkommazahl in eine ganzzahlige Binärzahl doppelter Genauigkeit im Hauptspeicher) durch den Gleitkommaprozessor durchgeführt wird Bei dieser Operation wird eine Gleitkommazahl mit doppelter Genauigkeit (die beispielsweise als Ergebnis einer vorangegangenen durch den FPP durchgeführten Operation im FPP-Register liegen kann, oder aber die durch die CPU aus dem Hauptspeicher übertragen worden sein kann) im Gleitkommarechner in eine entsprechende, mit Vorzeichen versehene, aus zwei Worten bestehende ganze Binärzahl umgesetzt, die dann jeweils wortweise vom Gleitkommarechner FPP über das Speicherdatenregister (SCR) nach dem Hauptspeicher der CPU übertragen wird.
In dem Taktimpulsdiagramm der F i g. 5A und 5B sind die in hexadezimaler Darstellung in jeweils der obersten Zeile dieser Figuren dargestellten Folgen von Zahlen die jeweiligen Steuerspeicheradressen bestimmter CPU-Mikrobefehlsworte, die von dieser beispielsweisen Operation FSTID betroffen sind. An den Unterkanten dieser Figuren ist eine Folge von Zahlen in Dezimaldarstellung gezeigt, die die entsprechenden Steuerspeicheradressen der FPP-Mikrobefehlsworte darstellen, die bei dieser Operation betroffen sind. Der Einfachheit halber sollen die einzelnen Mikrobefehlsworte durch ihre Adressen in den zugehörigen Steuerspeichern gekennzeichnet sein. So bezieht sich beispielsweise der Hexadezimalausdruck »Mikrobefehlswort 49£« auf das an der Adresse 49£ im CPU-Steuerspeicher abgespeicherte Mikrobefehlswort. Beide Folgen von Mikrobefehlsworten sind im gleichem Maßstab von links nach rechts aufgetragen, und die in senkrechter Richtung miteinander ausgerichteten Mikrobefehlsworte der beiden Mikrobefehlswortfolgen treten gleichzeitig oder nahezu gleichzeitig auf. Zwischen den beiden Gruppen oder Folgen von Mikrobefehlsworten sind Diagramme dargestellt, die die Zeitlage der verschiedenen Impulse, Signale oder Potentialänderungen darstellen, die das Ergebnis der Durchführung der Mikroprogramme von CPU und FPP sind, wie das noch beschrieben wird. Die hier verwendeten Mikrobefehlswortadressen sind nur beispielhaft angegeben.
In dem Flußdiagramm der F i g. 6A bis 6G sind viele der in F i g. 5A und 5B angezogenen Mikrobefehlsworte als Kästchen im Flußdiagramm mit den entsprechenden Bezeichnungen dargestellt, wobei diese Kästchen durch die jeweiligen CPU- und FPP-Mirkobefehlswortadressen bezeichnet sind. In diesem Flußdiagramm sind die zeitlichen Zusammenhänge zwischen den CPU- und FPP-Mikroprogrammen nur angenähert dargestellt, da dieses Diagramm im wesentlichen zeigen soll, wie die beiden Mikroprogramme miteinander koordiniert und durch die verschiedenen Koordinierungssignale, die über die CPU-FPP-Schnittstelie laufen, synchron miteinander gehalten werden. Die CPU- und FPP-Operationen sind so koordiniert, daß während der Intervalle, wenn der Kanal auf Betrieb für direkten Hauptspeicberzugriff umgeschaltet wird dieser direkte Hauptspeicherzugriff möglich ist, wie dies längs des rechten Randes des Flußdiagrammes angedeutet ist, während der direkte Hauptspeicherzugriff verhindert wird, wenn der Kanal auf Gleitkommabetrieb umgeschaltet ist
Bei der Beschreibung der Operation FSTID soll dabei sowohl auf das Taktdiagramm der F i g. 5A und 5B, als auch auf das Flußdiagramm Fig.6A und folgende Bezug benommen werden. Diese Operation wird zunächst unter der Annahme beschrieben, daß die E/A-Geräte fortlaufend Anforderungen auf direkten Hauptspeicherzugriff abgeben und daß der Kanal immer dann zur Verfügung steht, wenn die CPU aufprüft Dann werden andere Situationen betrachtet, bei denen Anforderungen auf direkten Hauptspeicherzugriff nur gelegentlich oder überhaupt nicht bei der CPU ankommen, während ein Gleitkommaprogramm abläuft
Eine CPU-FPP-Schnittstelle wird dann durch die CPU eingeleitet wenn ein Operationscode festgestellt wird, der eine Gleitkommaoperation verlangt In Abhängigkeit von einem derartigen Operationscode verzweigt die CPU nach einem Teil ihres Mikroprogramms, der dem zweiten Prozessor gewidmet ist und läuft in diese Folge beim Mikrobefehlswort 440 ein. Zu diesem Zeitpunkt durchläuft FPP eine Schleife mit seinem Ausgangsmikrobefehlswort 320 und wartet damit auf das Signal »Gleitkommafreigabe«. Das erste wichtige Ereignis tritt beim CPU-Mikrobefehlswort 49F ein, das veranlaßt das der CPU-Steuerspeicher 44 (F i g. 3A) ein decodiertes Signal für die Verriegelungsschaltung 46 (SIR) in F i g. 3A abgibt und ferner die CPU veranlaßt, ihre derzeitige Unterbrechungsebene und die Adresse des zweiten Prozessors (FPP-Adresse 0000) auf die Adressensammelleitung 64 zu legen. Das nächste wichtige CPU-Mikrobefehlswort ist 3DF, durch das das CPU-Miroprogramm in eine Schleife einläuft und auf das Signal »E/A beendet« wartet. Da angenommen wurde, das der Kanal zur Verfugung steht, wird in Abhängigkeit auf das SIR-Signal die Verriegelungsschaltung 54 (Fig.3A) eingestellt, wodurch das Signal »E/A beendet« erzeugt und, wie zuvor beschrieben, an die Verzweigungssteuerung 78 der CPU (Fig.3A) abgegeben wird. Das Mikrobefehlswort ZDF bewirkt außerdem, daß der Gleitkomma-Operationscode auf die Datensammelleitung 62 gegeben wird. Der Kanal 22 ist nunmehr auf Gleitkommabetrieb geschaltet, so daß die Schnittstelle 20 ausschließlich für die Datenübertragung zwischen CPU und FPP zur Verfügung steht. In der Zwischenzeit durchläuft das FPP-Mikroprogramm immer noch seine Schleife beim Ausgangsmikrobefehlswort 320 und wartet auf das Signal »Gleitkommafreigabe«.
Nach Aufnahme des Signals »E/A beendet« schaltet das CPU Mikroprogramm nunmehr nach dem Mikrobefehlswort 3FF weiter, das die Verriegelungsschaltung FP FREIG. (für Freigabe des Gleitkommarechners) und die Polaritätshalteschaltung 124 für Gleitkommadatentakt (Fig.3A) einstellt. Bei der derzeit betrachteten Operation FSTID wird der Gleitkommadatentakt nicht benutzt, so daß er bei der derzeitigen Beschreibung nicht beachtet werden wird. Das Signal »Gleitkommafreigabe« läuft über Leitung 88 nach den FPP-Treiber- und Empfangsschaltungen 89 sowie nach der FPP-Auswahllogik 90 (F i g. 4A und 4B), so daß damit das Signal der CPU zugeleitet wird, die damit für die Operation
bereitgestellt wird. Wenn die logische Schaltung 90 das Signal FPFREIG. aufnimmt, dann überprüft sie die Adressensammelleitungsbits 8 bis 11 auf die FPP-Adresse und bewirkt bei Auffinden einer solchen Adresse, daß die Verriegelungsschaltung FP-angeschlossen 104 eingestellt wird, schaltet den Gleitkomrcgoperationscode von der Datensammelleitung nach dem FP-Operationsregister % durch und wählt dabei die erste aktive FPP-Steuerspeicheradresse gemäß dem Operationscode aus, so daß das FPP-Mikroprogramm aus seinem Ausgangsmikrobefehlswort 320 nach dem ersten Mikrobefehlswort der ausgewählten FP-Operationsfolge weiterschalten kann.
Bei Einstellung der Verriegelungsschaltung 104 wird durch diese über Leitung 106 ein Signal »Gleitkomma angeschlossen« abgegeben, das durch die CPU-Mikroprogramm-Verzweigungssteuerung 78, F i g. 3A aufgenommen wird. Das CPU-Mikroprogramm hat inzwischen über ein NOP-(keine Operation) Mikrobefehlswort 3CFnach einem Mikrobefehlswort 3CS weitergeschaltet, das überprüft und damit feststellt, ob FP ANGESCHL aktiv ist und daher bestimmt, ob die CPU mit ihrer Verarbeitung des Operationscods fortfahren kann. Diese Bsdingung ist im vorliegenden Fall erfüllt
Der FPP-Steuerspeicher schaltet seine effektive Adresse auf einem gemäß der gerade ablaufenden Operation und dem Wert des gerade bearbeiteten Operanden ausgewählten FP-Mikrobefehl weiter. In diesem Beispiel leitet der FP-Mikrobefehl 104 die algorithmischen Verfahren für die Umwandlung einer gegebenen Gleitkommazahl in ihre entsprechende, mit Vorzeichen versehene ganze Binärzahl ein. Der Mikrobefehl 104 ist tatsächlich der Beginn einer Gleitkommaroutine mit einer Folge von FP-Mikrobefehlworten.
Das Mikroprogramm der CPU geht daraufhin nach Aufnahme des Signals »FP-Angeschlossen« beim Mikroprogrammbefehl 2CD weiter zum Mikroprogrammbefehl 29A wodurch die T-Verriegelungsschaltung 114, Fig.3A in Vorbereitung für die Umschaltung des Kanals auf Betrieb für direkten Hauptspeicherzugriff (Cycle Steal) weitergeschaltet wird. Die CPU durchläuft dann mehrere Mikrobefehlsworte (hier nicht gezeigt) nach einem Mikrobefehlswort 3DE, das den CPU-Zähler zur Einspeicherung einer Wortzählung einstellt, die die Anzahl der Worte anzeigt, die in den durch den FPP erzeugten Ergebnisdaten enthalten sind. Im vorliegenden Fall wird die Wortzählung auf Eins gestellt (eins weniger als die tatsächliche Anzahl der Worte), da durch den Gleitkommarechner FPP für die Darstellung eines ganzzahligen Binärwortes mit doppelter Genauigkeit zwei ganzzahlige Worte erzeugt werden. Würde eine ganzzahlige Binärzahl einfacher Genauigkeit erzeugt, dann würde die Worizählung auf Null eingestellt werden.
Der nächste CPU-Mikrobefehl 594 betätigt die Torschaltung 116, Fig.3A, und stellt damit die Verriegelungsschaltung 86 FPFREIG. (Gleitkommafreigabe) ein und beendet damit das Gleitkommafreigabesignal und sperrt damit die Treiber- und Empfangsschaltungen 89 des Gleitkommarechners in Fig.4A gegen die Schnittstelle 20. Das nächstfolgende CPU-Mikrobefehlswort 5OF bewirkt, daß die Torschaltung 118 (RIO), Fig.3A, ein Signal zur Rückstellung der Verriegelungsschaltung 46 (SIR) durchläßt und den Kanal 22 in den Betriebszustand für direkten Hauptspeicherzugriff umschaltet. Die CPU kann nunmehr Anforderungen der E/A-Geräte auf direkten Hauptspeicherzugriff beantworten, während der Gleitkommarechner die Umwandlung der Gleitkommazahl .in eine ganzzahlige Binärzahl durchführt Das CPU-Mikroprogramm geht dann nach dem Mikroprogrammbefehlswort 510 weiter, wo es in eine Schleife einläuft und damit auf die Rückstellung des Signals »Gleitkomma angeschlossen« wartet, das die Beendigung der Gleitkommaumsetzoperation anzeigt Während dieses Intervalls kann die CPU möglicherweise viele Anforderungen auf direkten Hauptspeicherzugriff bedienen. In einem Extremfall, bei dem eine Gleitkommazahl C180 0000 0000 0000 in eine ganzzahlige Binärzahl umgesetzt wird, wird die CPU beim Mikrobefehlswort 510 73mal eine Schleife durchlaufen.
Wenn die Umwandlungsoperation nahezu abgeschlossen ist, dann läuft das FPP-Programm zum Mikrobefehlswort 378 weiter und bewirkt damit die Rückstellung der Verriegelungsschaltung 104 (FP AN-GESCHL.) Fig.4B, wodurch das auf Leitung 106 liegende Signal »FP angeschlossen« abfällt Damit wird die Schleife mit dem CPU-Mikrobefehlswort 510 beendet und die CPU schaltet nunmehr auf ihr Mikrobefehlswort 530 weiter, das die Verriegelungsschaltung 46 (SIR) einstellt und damit den Kanal auf Gleitkommabetrieb umschaltet zur Vorbereitung der Übertragung des aus der Gleitkommaoperation sich ergebenden ersten Datenwortes an die CPU und den Hauptspeicher. Das nächste CPU-Mikrobefehlswort 511 wartet auf das Signal »E/A beendet« und da angenommen ist, daß der Kanal zur Verfügung stehen soll, geht das CPU-Mikroprogramm weiter nach dem Mikrobefehlswort 531, das die Verriegelungsschaltung 86 (FP FREIG.) und die Polaritätshalteschaltung 126 (FPDS) einstellt und damit das Signal »FP-Freigabe« und die Datentaktsignale liefert (die jedoch bei dieser Operation nicht benutzt werden). Die CPU durchläuft dann bei ihrem Mikrobefehlswort 5BO eine Schleife und wartet auf das Signal »FP Abtasten«. Das FPP-Mikroprogramm läuft in der Zwischenzeit längs einer vom Operanden des Mikrobefehlswortes 497 abhängigen Routine weiter, die das Auftreten des Signals »Gleitkommafreigabe« prüft. Nach Feststellen des Signals »Gleitkommafreigabe« geht das FPP-Mikroprogramm weiter nach dem Mikrobefehlswort 499, das für die Dauer eines Maschinenzyklus den Spannungspegel auf der Leitung 132 (FP Abtasten) anhebt. Wie bereits erwähnt, liefert dieser Impuls »FP Abtasten« (oder FS) ein Signal an das System, daß der Gleitkommarechner für eine Datenübertragung an die CPU zu einem bestimmten späteren Zeitpunkt bereitsteht, beispielsweise drei Maschinenzyklen nach Auftreten des Signals FS. Sobald die CPU-Mikroprogramm-Verzweigungssteuerung 78, F i g. 3A, das Signal FS oder Gleitkommaabtasten aufgenommen hat, stellt die CPU das Durchlaufen der Schleife auf dem Mikrobefehlswort 5Ö0 ein und geht nach dem nächsten CPU-Mikrobefehlswort 5Λ0 weiter.
In der Zwischenzeit geht das Mikroprogramm des Gleitkommarechners vom Mikrobefehlswort 499 nach dem Mikrobefehlswort 354 weiter, das den FS-Impuls am Ende eines Maschinenzyklus beendet. Von dort aus geht das FPP-Mikroprogramm weiter nach dem Mikrobefehlswort 390, das dann nach Decodierung auf de- Leitung 134, Fig.4B, nach der Ausgangstorschaltung 136 der Addierschaltung 130 mit Übertragungsrettung (CSA) ein Signal abgibt, wodurch das erste Wort der Ergebnisdaten des Gleitkommarechners (in diesem
Fall das erste Wort einer aus zwei Worten bestehenden ganzen Binärzahl) an die Datensammelleitung 62 abgegeben wird. In Erwartung dieses Vorgangs hat die CPU nach dem Mikrobefehlswort 5Λ0 weitergeschaltet, das die Durchschaltung des ersten Gleitkommadatenwortes von der Datensammelleitung 62 nach dem Speicherdatenregister SDR der CPU einleitet.
Das FPP-Mikroprogramm geht nun weiter nach dem Mikrobefehlswort 401, das im Gleitkommarechner die Ausführung einer Reihe von operativen Schritten für die Verschiebung des zweiten FP-Daten Wortes in eine Position veranlaßt, von wo es aus der CSA 130 auf die Datensammelleitung geleitet werden kann. Während der Durchführung dieser Betriebsfunktionen durchläuft das FPP-Mikroprogramm eine Schleife auf dem Mikrobefehlswort 401.
Während innerhalb des Gleitkommarechners die Daten in der angegebenen Weise verschoben werden, geht die CPU-Operation nach dem Mikrobefehlsworten 4ßO weiter, das die notwendigen Steuerungen innerhalb der CPU für die Weiterübertragung des derzeit im SDR liegenden Gleitkommadatenwortes nach der effektiven Adresse im Hauptspeicher steuert. In diesem Fall lag im SDR das erste Wort einer aus zwei Worten bestehenden, durch die Addierschaltung 130 mit Übertragungsrettung (CSA) im Gleitkommarechner erzeugten ganzen Binärzahl. Das zweite Wort der ganzen Binärzahl wird nunmehr innerhalb des Gleitkommarechners für die Übertragung nach dem Speicherdatenregister SDR verschoben, doch wird für diese Verschiebung eine Anzahl von Maschinenzyklen benötigt
Wenn das erste Gleitkommadatenwort im Hauptspeicher abgespeichert wird, überprüft das CPU-Mikrobefehlswort 4DO außerdem die Wortzählung im CPU-Zähler. Steht die Wortzählung auf Eins, so zeigt dies an, daß schließlich mehr als ein FP-Datenwort an die CPU übertragen werden muß. In dem vorliegenden Beispiel ist angenommen, daß zuvor durch das Mikrobefehlswort 3D£die Wortzählung auf Eins eingestellt worden war. Daher bewirkt das CPU-Mikrobefehlswort 4dO eine Verzweigung nach dem CPU-Mirkobefehlswort 41D(INOP) und verringert gleichzeitig die Wortzählung um 1, d. h. bringt den Zählerstand im vorliegenden Beispiel auf Null.
Das CPU-Mikroprogramm steht nunmehr beim Mikrobefehls wort 593, wo eine Prüfung auf eine der vier möglichen folgenden Bedingungen durchgeführt wird.
1. Gleitkommaabtastimpuls (FS) vorhanden, keine Anforderung auf direkten Hauptspeicherzugriff (C/S),
2. sowohl C/S als auch FS derzeit vorhanden,
3. C/S-Anforderung, jedoch nicht FS,
4. weder C/S noch FS. (Diese Bedingung bewirkt, daß die CPU auf dem Mikrobefehlswort 593 eine Schleife durchläuft)
In dem derzeit betrachteten Beispiel ist angenommen, daß Anforderungen auf direkten Hauptspeicherzugriff durch die E/A-Geräte fortlaufend abgegeben werden, daß jedoch der Gleitkommarechner während der Verschiebung des zweiten Gleitkommadatenwortes in eine Position für die Übertragung nach der CPU Verwaltungsfunktionen durchführt Das CPU-Mikroprogramm läuft nunmehr von dem Mikrobefehlswort 593 ausgehend in die mit »C/S; kein FS« bezeichnete Verzweigung ein, so daß das Programm nunmehr zum Mikrobefehlswort 5ß3 gelangt. Nach Decodierung liefert das Mikrobefehlswoi t 5B3 ein Signal für die Rückstellung der Verriegelungsschaltung 86 (Gleitkommafreigabe), F i g. 3A. Durch das Abfallen des Signals
»Gleitkommafreigabe« werden die Gleitkommatreiberund Empfangsschaltungen 89 gesperrt und verhindern damit eine weitere Datenübertragung vom Gleitkommarechner zur CPU.
Das Mikroprogramm der CPU erreicht nunmehr das
ίο Mikrobefehlswort 51B, das die Rückstellung E/A (RIO) bewirkt, und damit den Kanal 22 in die Betriebsart für direkten Hauptspeicherzugriff zurückschaltet, so daß die CPU im Multiplexbetrieb Anforderungen auf direkten Hauptspeicherzugriff bedienen kann. Diese
Betriebsart wird dabei zwischen dem Zeitpunkt, zu dem das CPU-Mikrobefehlswort 51B wirksam wird und dem Zeitpunkt, wenn das Mikrobefehlswort 295 die Wiederaufnahme der FP-Datenübertragung wieder zuläßt, wenn das Signal »E/A-Vergleich« auftritt, eingeschoben. Obgleich das dazwischenliegende Mikrobefehlswort 215 die Verriegelungsschaltung 46 (SIR) in F i g. 3A eingestellt hat so wird doch die Umschaltung auf Gleitkommabetrieb tatsächlich erst dann wirksam, wenn keine Kanaloperation mehr läuft Das kann
jedoch beachtlich lange dauern, wenn das E/A-Gerät in großer Entfernung liegt, so daß die Abwicklung des direkten Hauptspeicherzugriffs verzögert wird. Das nächste auf das Signal »E/A beendet« folgende Mikrobefehlswort der CPU ist 518, das wiederum das Signal »Gleitkommafreigabe» bringt.
Nach Beendigung der Verwaltungsfunktionen, in Verbindung mit der Verschiebung des zweiten Gleitkommadatenwortes in eine Position für die Übertragung nach der CPU, durchläuft der Gleitkommarechner
eine Schleife auf seinem Mikrobefehlswort 403, bis die CPU das soeben beschriebene Signal »Gleitkommafreigabe« geliefert hat. Dann schaltet FPP auf das Mikrobefehlswort 223 weiter, das für einen Maschinenzyklus das Signal »FP Abtasten« erzeugt, an dessen
Ende dieser Abtastvorgang durch das Mikrobefehlswort 312 beendet wird. Das CPU-Mikrobefehlswort 5S0, wo es beim Warten auf das Signal »FP Abtasten« eine Schleife durchläuft Nach Feststellung des Signals »FP Abtasten« geht das CPU-Mikroprogramm weiter
nach dem Mikrobefehlswort 5/4 0, das die CPU für eine Übertragung von Daten von der Datensammelleitung nach dem Speicherdatenregister bereitstellt. Zu diesem Zeitpunkt ist das Gleitkommarechner-Mikroprogramm nach seinem Mikrobefehlswort 394 weitergelaufen, das nunmehr das zweite FP-Datenwort nach der Datensammelleitung weiterleitet nachdem zunächst aufgeprüft worden ist, ob das Signal »FP-Freigabe« immer noch vorhanden ist Der Zweck dieser zweiien Prüfung auf FP-Freigabe wird noch erläutert Somit werden die Operationen von CPU und Gleitkommarechner so koordiniert, daß das zweite Gleitkommadatenwort (das zweite Wort einer ganzzahligen Binärzahl doppelter Genauigkeit für diesen Fall) nunmehr von der Addierschaltung 130 des Gleitkommarechners über die Datensammelleitung nach dem Speicherdatenregister der CPU übertragen wird. Das CPU-Programm läuft nunmehr nach dem Mikrobefehlswort 4DO weiter, das die Übertragung des zweiten Gleitkommadatenwortes vom Speicherdatenregister SDR an den Hauptspeicher
bewirkt Das Mikroprogramm des Gleitkommarechners durchläuft dann eine weitere Verwaltungsfunktionsphase und stellt dabei sicher, ob noch irgendwelche FPP-Statusindikatoren vorhanden sind und bereitet die
Übertragung dieser Indikatoren, falls vorhanden, an die CPU vor.
Nachdem das letzte Gleitkommadatenwort beim Mikrobefehlswort 4DO in den Hauptspeicher eingegeben ist, überprüft die CPU die Gleitkommawortzählung und läuft, wenn diese zu Null festgestellt ist, über die NOP-Mikrobfehlsworte 43D und 53ß in eine Verzweigung nach dem Mikrobefehlswort 4BF ein, wodurch (»FP-Freigabe«) zurückgestellt wird. Das CPU-Mikroprogramm geht dann weiter nach dem Mikrobefehlswort 551, das wiederum eine Umschaltung RIO bewirkt, und damit den Kanal wieder auf die Betriebsart für direkten Hauptspeicherzugriff umschaltet. Der Kanal 22 arbeitet nunmehr in dieser Betriebsart, da jede noch vom Gleitkommarechner an die CPU zu übertragende Information (nämlich, falls vorhanden, FP-Statusindikatoren) über das Hilfskabel 24 geleitet werden und nicht über die E/A-Schnittstelle 20 des Kanals 22. Die Übertragung dieser Indikatoren wird nunmehr beschrieben.
Wenn das CPU-Mikroprogramm das Mikrobefehlswort 43C erreicht, dann durchläuft es auf diesem Mikrobefehlswort eine Schleife und wartet damit auf das letzte Auftreten des FP-Abtastsignals. Wenn beim FP-Mikrobefehlswort 191 das Signal »FP Abtasten« auftritt, so zeigt dies das Ende der Gleitkommaoperation an und macht die CPU darauf aufmerksam, daß sie, falls vorhanden, nunmehr FP-Indikatoren aufnehmen kann. Beim Gleitkommamikrobefehlswort 310 werden diese Indikatoren nach dem Hilfskabel geleitet, und in der Zwischenzeit ist die CPU in ihrem Mikroprogramm nach dem Mikrobefehlswort 42C weitergegangen, das die CPU in die Lage versetzt, diese Indikatoren aufzunehmen. Das FP-Mikroprogramm läuft dann zurück in das Ausgangsmikrobefehlswort 320 und das CPU-Mikroprogramm beendet seine Gleitkommafolge und geht in die Ausgangsposition zurück.
Bei der Betrachtung der in bezug auf das Flußdiagramm gemäß Fig.6A bis 6G beschriebenen Programmabläufe sieht man, daß die Mikroprogramme von CPU und Gleitkommarechner durch die Wirkung verschiedener Koordinierungssignale in Synchronismus gehalten werden, welche bei den verschiedenen Operationen an strategischen Punkten zwischen den beiden Prozessoren ausgetauscht werden, wobei diese Koordinierungssignale »Gleitkommafreigabe« »Gleitkomma angeschlossen« »Gleitkomma abtasten« und bei einigen Gleitkommaoperationen (nicht die soeben beschriebenen) »Gleitkommadatentakt« sind. Diese Mikroprogrammkoordinierung macht es möglich, den Gleitkommarechner oder jeden anderen weiteren Prozessor als eine körperlich von der CPU getrennte, jedoch funktionell mit ihr synchronisierte Einheit zu betreiben, als üb die beiden Prozessoren fest miteinander vereinigt wären, ohne daß dadurch der zweite Prozessor auf den Status eines gewöhnlichen E/A-Gerätes reduziert wird, das in bezug auf die CPU vollständig im asychronen Betrieb arbeiten muß.
Es sei nunmehr erneut auf das Mikrobefehlswort 593, Fig.6E des CPU-Mikroprogramms verwiesen, das unmittelbar nach der Erstfibertragung des ersten Gleitkommadatenwortes nach der CPU bei einer Operation der Umwandlung einer Gleitkommazahl in eine ganzzahlige Binräzahl doppelter Genauigkeit und Übertragung nach dem Hauptspeicher an die CPU übertragen wurde. Wie bereits erläutert, durchläuft die CPU dann eine Schleife auf dem Mikrobefehlswort 593, wenn das Signal »FP Abtasten« (FS) nicht vorhanden und wenn zu diesem Zeitpunkt keine Anforderung auf direkten Hauptspeicherzugriff vorliegt und wartet damit auf das Auftreten der Signale FS oder C/S. In dem oben beschriebenen Beispiel war angenommen, daß Anforderungen auf direkten Hauptspeicherzugriff C/S ständig vorgenommen werden und daß zu diesem Zeitpunkt das Signal FS nicht auftritt. Das gab der Anforderung auf direkten Hauptspeicherzugriff die Möglichkeit, im CPU-Mikroprogramm eine Verzweigung vom Mikrobefehlswort 93 nach dem Mikrobefehlswort 553 durchzuführen, wodurch FP-Freigabe zurückgestellt wird, bevor das Mikroprogramm des Gleitkommarechners seinen Mikrobefehl 403 erreicht, für eine Prüfung, ob das Signal »Gleitkommafreigabe« vorhanden ist, als Bedingung für das Erzeugen von FS für die Übertragung des zweiten Gleitkommadatenwortes an den Speicher. Unter diesen Umständen würde die CPU die derzeitige Anforderungauf direkten Hauptspeicherzugriff bedienen, und der Gleitkommarechner würde lediglich auf seinem Mikrobefehlswort 403 so lange eine Schleife durchlaufen, bis die Anforderung auf direkten Hauptspeicherzugriff durch die CPU bedient ist, worauf dann das Signal »Gleitkommafreigabe« erzeugt wird, so daß das Signal FS auftreten konnte.
Bei nur vereinzeltem und beliebigem Auftreten von Anforderungen für direkten Hauptspeicherzugriff kann es gelegentlich vorkommen, daß ein solcher Aufruf für einen direkten Hauptspeicherzugriff in der CPU genau zu dem Zeitpunkt einläuft, wenn durch den FP-Mikrobefehl 403 aufgeprüft wird, ob das Signal »Gleitkommafreigabe« vorhanden ist. Unter diesen Bedingungen wird über das Mikrobefehlswort 403 zu diesem Zeitpunkt das Signal »FP-Freigabe« noch festgestellt, da dieses Signal zuvor durch das CPU-Mikrobefehlswort 531, und zwar vor der Übertragung des ersten Gleitkommadatenwortes an den Speicher, eingestellt worden war. Man erhält damit einen Leerlaufzustand (Race Condition) wie er in den Fig.7A und 7B dargestellt ist. Das Gleitkommaprogramm geht nun weiter zum Mikrobefehlswort 223 und bringt das Signal FS, während in der Zwischenzeit (in Abhängigkeit von einer C/S-Anforderung) das CPU-Mikroprogramm vom Mikrobefehlswort 593 nach dem Mikrobefehlswort 5B3 verzweigt, das genau zum gleichen Zeitpunkt das Signal »FP-Freigabe« zurückstellt, wenn der Gleitkommamikrobefehl 223 das Signal FS erzeugt Dadurch wird aber FS wirkungslos, da durch das Abfallen des Signals »Gleitkommafreigabe« die FPP-Treiber- und Empfangsschaltungen 89 von der Datensammelleitung 62 abgetrennt werden, so daß damit die Übertragung des zweiten Gleitkommadatenwortes nach der CPU verhindert wird.
Das in dem abgewandelten Flußdiagrarnin Fig.7A und 7 B und dem zugehörigen Taktimpulsdiagramm der F i g. 8 dargestellte Verfahren löst diese Leerlaufbedingung dadurch auf, das zunächst die CPU die laufende Anforderung nach direkten Hauptspeicherzugriff bedienen kann, worauf dann, nachdem das Signal »FP-Freigabe« erneut aufgetreten ist, durch den Gleitkommarechner erneut das Signal »FP Abtasten« erzeugt wird Gemäß F i g. 7A wird zunächst beim Gleitkommamikrobefehlswort 394 auf das Signal »FP-Freigabe« geprüft, und wenn nunmehr festgestellt wird, daß das Signal »FP-Freigabe« nicht mehr vorhanden ist, nachdem es zuvor durch das Mikrobefehlswort 403 als vorhanden festgestellt war, dann verzweigt die Gleitkommaoperation nach einem speziellen Mikrobefehlswort 445, das
25-26
$ nach einem Mikrobefehlswort 221 weiterleitet, das die über die E/A-Schnittstelle verschachtelt werden. Andev' gleiche Funktion hat wie das Mikrobefehlswort 403, re Gleitkommaoperationen, die einen direkten Hauptnämlich die ständige Prüfung auf das Auftreten des Speicherzugriff unter der einen, unter der anderen oder p Signals »FP-Freigabe« bis dieses Signal wieder aktiv unter beiden diesen Bedingungen zulassen, werden (I wird. Das Signal »FP-Freigabe« wird in diesem Fall 5 nunmehr kurz im Zusammenhang mit den Taktdiagram-',';■ wieder auftreten, nachdem die E/A-Daten in Abhängig- men für diese Operationen in Fig.9A bis 14 IJ keit des laufenden direkten Hauptspeicherzugriffs durch beschrieben. Es sei darauf hingewiesen, daß diese U die CPU an den Speicher übertragen worden sind. Somit Diagramme nicht alle Gleitkommaoperationen darstel-Sf wird beim CPU-Mikrobefehlswort 518 das Signal len, sondern nur solche, bei denen ein direkter P »FP-Freigabe« erneugt eingestellt, und nunmehr ver- io Hauptspeicherzugriff zulässig ist. Andere Gleitkomr zweigt das FPP-Mikroprogramm vom Mikrobefehls- maoperationen werden hier nicht besprochen, da sie mit
wort 221 nach dem Mikrobefehlswort 223 und bringt der vorliegenden Erfindung nichts zu tun haben.
; damit das Signal FS für einen neuen Versuch der In jedem der hier angezogenen Taktdiagramme
j? Übertragung des zweiten Gleitkommadatenwortes kennzeichnet ein kleiner Stern (*) diejenigen Intervalle,
j| nach dem Speicher. Zu diesem Zeitpunkt ist der Versuch 15 deren Dauer von den dabei in Frage kommenden
ψί erfolgreich. Das Gleitkomma-Mikrobefehlswort 394 Operanden abhängt. Ein X kennzeichnet Intervalle,
und das CPU-Mirkobefehlswort 5Λ 0 bewirken zusam- deren Dauer von der Beendigung der Eingabe/Ausgabe
men die Übertragung des Gleitkommadatenwortes von abhängt. Ständige Anforderungen auf direkten Haupt-
FPP nach SDR, von wo es beim CPU-Mikrobefehlswort Speicherzugriff werden angenommen, und der Kanal
β AD 0 an den Hauptspeicher übertragen wird. 20 soll immer dann zur Verfügung stehen, wenn er benötigt
Andere Bedingungen, die während der kritischen wird. Auf diesen Diagrammen sind die Nummern der
κ Periode, wenn das CPU-Mikrobefehlswort 593, F i g. 6E Mikrobefehlsworte nicht angegeben.
auf FS und C/S prüft, sollen nun betrachtet werden. F i g. 9A bzw. 9B zeigen die Taktdiagramme für die
Wenn keine Anforderung auf direkten Hauptspeicher- Operationen Floating Load Integer (FLI), Single
zugriff (C/S) zu dem Zeitpunkt bedient werden muß, 25 Precision und Floating Load Integer Double (FLID). In
wenn das zweite Gleitkommadatenwort in einer jeder dieser Operation kann ein direkter Speicherzu-
FSTID-Operation nach dem Hauptspeicher übertragen griff erfolgen, während die Umwandlung von ganzer
werden soll, dann läuft das Mikroprogramm des Binärzahl nach Gleitkommazahl durch den Gleitkom-
Gleitkommarechners längs der Verzweigung vom marechner durchgeführt wird, beginnend mit zwei
Mikroprogrammbefehlswort 593 nach dem Mikrobe- 30 Maschinenzyklen nach Rückstellung des Signals »FP-
fehlswort 583, Fig.6F und erfüllt damit die gleiche Freigabe«.
Funktion, wie das Mikrobefehlswort 5Λ0, und läßt Fig. 10 zeigt die Taktgabe für Floating Store Double
damit das Gleitkommadatenwort nach dem Speicherda- (FSTD), bei welcher Operation auf Anforderung im
tenspeicher (SDR) der CPU durch. Multiplexbetrieb ein direkter Hauptspeicherzugriff
Wird genau zu dem Zeitpunkt, zu dem der 35 zwischen der Übertragung des ersten Tales von
Gleitkommarechner ein FS-Signal an die CPU abgibt, Gleitkommadatenworten und des letzten Gleitkomma-
bei der CPU eine isolierte Anforderung auf direkten datenwortes nach dem Speicher eingeschoben werden
Hauptspeicherzugriff aufgenommen, dann läuft das kann.
CPU-Mikroprogramm längs der Verzweigung vom Zuvor war in bezug auf F i g. 5A und 5B die Operation Mikrobefehlswort 593 nach dem Mikrobefehlswort 5A3, 40 Floating Store Integer Double (FSTID) beschrieben F i g. 6F, das die gleiche Funktion erfüllt, wie das worden, die einen direkten Hauptspeicherzugriff wäh-Mikrobefehlswort 5AO oder 583, und das zweite rend der Verarbeitungszeit des Gleitkommarechners Gleitkommawort nach dem Speicherregister durch- und außerdem zwischen zwei aufeinanderfolgenden schaltet Das Mikrobefehlswort 41E stellt dann dieses Übertragungen der zwei bei diesem Gleitkommaverfah-Datenwort in den Speicher ein und stellt FP-Freigabe 45 ren erzeugten Datenworte nach dem Speicher zuläßt In zurück. Das Mikrobefehlswort 587 prüft und stellt Fig. 11 ist ein Verfahren Floating Store Integer (FSI) sicher, daß der Zählerstand für das FP-Datenwort mit einfacher Genauigkeit beschrieben, bei der ein nunmehr Null ist, so daß dann die CPU-Operation nach direkter Hauptspeicherzugriff während der Verarbeider Mikrobefehlsfolge 53B-4BF-551 zurückkehrt und tungszeit des Gleitkommarechners (nach Abfallen des den Kanal wiederum in die Betriebsart für direkten 50 Signals »FP-Freigabe«), jedoch nicht während der Hauptspeicherzugriff umschaltet Wenn daher eine Übertragung der sich dabei ergebenden Gleitkommada-Anforderung auf direkten Hauptspeicherzugriff mit ten von FPP an den Speicher möglich ist
einem FP-Abtastensignal zusammenfällt dann erhält Arithmetischen Operationen mit Gleitkomma mit somit das Sipnal »FP Abtasten« Vorrang über die einfacher oder doppelter Genauigkeit, bei denen einer Anforderung für direkten Hauptspeicherzugriff. 55 der Operanden vom Hauptspeicher für eine Teilnahme
an dem arithmetischen Verfahren (Addition, Subtrak-
Gleitkommaoperation UQn Multiplikation oder Division) geliefert wird zeigen
Die bisher gegebene Beschreibung hat sich aus- Fig.l2A und 12B. Direkte Hauptspeicherzugriffe
schließlich mit der FSTID-Operation (Übertragung mit können während der Verarbeitungszeit auftreten, die
Umwandlung eine Gleitkommazahl in eine ganzzahlige 60 zwei Maschinenzyklen nach Abfallen des Signals
Binärzahl mit doppelter Genauigkeit an den Hauptspei- »FP-Freigabe« beginnt Während dieser Operationen
eher) befaßt, bei der zwei verschiedene Arten der finden keine Übertragungen von Gleitkommadaten von
gemeinsamen Benutzung des Kanals gezeigt wurden, FPP an den Speicher statt
wobei bei einer dieser Betriebsarten während der Fig. 13 zeigt ein Taktdiagramm für Übertragungen
Verarbeitungszeit des Gleitkommarechners direkte 65 von Register nach Register bei Gleitkommaoperatio-
Hauptspeicherzugriffe frei durchgeführt werden kön- nen, bei welchem alle Operanden vor Durchführung des
nen, während im an deren Fall direkte Hauptspeicherzu- Verfahrens in Gleitkommaregistern gehalten werden
griffe mit der Übertragung von Gleitkommadatenworte (Gleitkomma-Additionsregister, Gleitkomma-Subtrak-
tionsregister, Gleitkomma-Multiplikationsregister, Gleitkomma-Divisionsregister, Gleitkomma-Schieberegister, Gleitkomma-Vergleichsregister). Direkte Hauptspeicherzugriffe finden während der Verarbeitungszeit statt, die zwei Maschinenzyklen nach dem Abfall des Signals »FP-Freigabe« beginnt
Fig. 14 zeigt eine Operation Floating Store Level Block (FSLB), bei der der Speicherinhalt eines ganzen Blocks eines Gleitkommaregisters bei der durch den Programmierer gewählten Ebene oder Programmebene an den Hauptspeicher übertragen wird. Direkte Hauptspeicherzugriffe werden auf Verlangen im Multiplexbetrieb während der Zeiten verschachtelt eingefügt, wenn der Gleitkommarechner damit befaßt ist, Gleitkommadatenworte in eine Position für eine Übertragung nach der Datensammelleitung zu verschieben, da während dieser Zeit das Signal »FP-Freigabe« nicht vorhanden ist
Die bisherige Beschreibung hat die Vorteile der Erfindung bei ihrer Anwendung auf eine Datenverarbeitungsanlage aufgezeigt, bei der ein mtkroprogrammierter zweiter Prozessor, getrennt von einer mit Mikroprogramm gesteuerten Zentraleinheit, angeordnet ist, und so zu arbeiten vermag als ob der Prozessor tatsächlich fest mit der CPU verbunden wäre, für eine Synchronisierung der jeweiligen Mikroprogramme, und gleichzeitig auch einen üblichen asynchronen Kanal mit E/A-Geräten für die Übertragung von Daten von und nach der CPU auf einer gleichberechtigten Basis beim Anschalten des Kanals benutzen kann. All dies wird mit nur einer geringen Erhöhung der an der Schnittstelle erforderlichen Schaltungen erreicht
Koordinierende Leitungen, wie z. B. »Gleitkommafreigabe«, »Gleitkomma angeschlossen« und »Gleitkomma abtasten« spielen bei der Mikroprogrammsynchronisierung gemäß der Erfindung eine wichtige Rolle. Jede dieser Leitungen kann zu verschiedenen Zeitpunkten verschiedene Funktionen erfüllen. Auf diese Weise wird die Anzahl der koordinierenden Leitungen klein gehalten, so daß dadurch auch die Schnittstellenschaltung klein gehalten wird. So führt beispielsweise die Leitung 88, Fig.3A, 3B 4A und 4B, die mit Gleitkommafreigabe (FP FREIG.) bezeichnet ist, das Signal »Gleitkommafreigabe«, das die Treiberund Empfangsschaltungen 89 des Gleitkommarechners mit der gemeinsamen E/A-Schnittstelle 20 verbinden. Während des ersten Auftretens dieses Signals »FP-Freigabe« wird die CPU angeregt, Befehlsinformation an den Gleitkommarechner (FPP) abzugeben. Der anschließende Abfall dieses Signals ist ein Ereignis, das kurz danach bewirkt, daß die E/A-Schnittstelle in ihre Betriebsart für direkten Hauptspeicherzugriff (Cycle Steal) umgeschaltet wird, so daß von E/A-Geräten kommende Anforderungen auf direkten Hauptspeicherzugriff entweder auf Anforderung oder auf Anforde- rung im Multiplexbetrieb bedient werden können, abhängig von der Art der Operation. Jedes anschließende Auftreten und Abfallen des Signals »FP-Freigabe« bei der gleichen Operation schaltet abwechselnd die Schnittstelle vom Gleitkommabetrieb auf direkten Hauptspeicherzugriff um und umgekehrt Das auf Leitung 132 auftretende Signal »Gleitkomma abtasten« (FS) kennzeichnet dann, wenn es gleichzeitig mit dem Signal »FP-Freigabe« auftritt daß Gleitkommadaten für die Übertragung zu einem späteren Zeitpunkt vom FPP nach der CPU bereit stehen. Tritt das Signal FS dann auf, wenn FP-Freigabe nicht vorhanden ist, so bedeutet dies jedoch, daß der Gleitkommarechner seine Operation vollkommen beendet hat. Das auf Leitung 107 auftretende Signal »FP Angeschlossen« bedeutet bei seinem Anstieg, daß die Schaltungskarte 42, F i g. 2, die den Gleitkommarechner enthält, auf der Schaltungsplatte 30 der Schnittstellenschaltung eingebaut ist und daß daher der Gleitkommarechner auf den Befehl der CPU ansprechen wird. In einer Operation Floating Store Integer (doppelt oder einfach) zeigt das Signal FPANGESCHL beim Abfallen, daß die Schnittstelle auf Gleitkommabetrieb zurückgeschaltet werden soll, damit die umgewandelten ganzzahligen Daten vom Gleitkommarechner an den Speicher übertragen wer den können.
Hierzu 25 Blatt Zeichnungen

Claims (7)

Patentansprüche:
1. Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit (CPU) mit Taktsteuerung und einer Schnittstellenschaltung für den Anschluß von peripheren Geräten und/oder anderen durch Mikroprogramm gesteuerten Prozessoren, wobei bei angeschlossenem weiteren Prozessor mindestens ein Teil der Schnittstellenschaltung für den unmittelbaren Datenverkehr zwischen der CPU und diesem Prozessor zur Verfügung gestellt werden kann, dadurch gekennzeichnet, daß für den über einen Teil (20, 22) der Schnittstellenschaltung angeschlossenen Prozessor (16; FPP) eine durch die Taktsteuerung (Fig.3A, 110) der CPU (10) ansteuerbare Hilfstaktsteuerung (F i g. 4A, 108) für eine taktmäßige Verarbeitung der bei der Zusammenarbeit zwischen den beiden Prozessoren benutzten Folgen von Mikrobefehlsworten vorgesehen ist, daß zur Einleitung einer Zusammenarbeit zwischen den beiden Prozessoren eine in der CPU vorgesehene erste Steuerschaltung (3A, 78; 6A, 49F; 6B, 3FF; 3A, SIR; 3A, 46; 3A, 86) zunächst über eine erste Steuersignalleitung (88) zur Feststellung, ob der andere Prozessor angeschlossen ist, ein Freigabesignal (FP FREIG.) abgibt, auf das eine in dem zweiten Prozessor (16; FPP) vorgesehene zweite Steuerschaltung (4B, 90; 4B, 92; 4B, 104) durch Abgabe eines den Anschluß des zweiten Prozessors (16; FPP) anzeigende Signal (FP ANGESCHL.) über eine zweite Steuersignalleitung (106) anspricht und damit den Anschluß und die Betriebsbereitschaft des zweiten Prozessors anzeigt, so daß er zur Bearbeitung von durch die CPU delegierten Aufgaben bereit ist, daß ferner in der CPU eine dritte Steuerschaltung (3A, 78; 6B, 2CB; 6B, 29Λ; 6C, 50F; 3A, 118; 3B, 52) vorgesehen ist, die auf das Bereitschaftssignal (FP ANGESCHL) anspricht und den gemeinsamen Teil (20, 22) der Schnittsteilenschaltung für einen direkten Hauptspeicherzugriff (cycle steal, C/S), für eine Datenübertragung zwischen CPU und einem der E/A-Geräte wieder in Betrieb nimmt, während der zweite Prozessor die ihm von der CPU delegierte Aufgabe ausführt, und daß in der CPU schließlich eine vierte Steuerschaltung (3A, 78; 6C, 510; 6C, 530; 6C, 531; 3A, 46; 3A, 86) auf die Beendigung des auf der zweiten Steuersignalleitung (106) liegenden Signals (FP ANGESCHL.) anspricht, sobald der zweite Prozessor (16) seine ihm so delegierte Aufgabe im wesentlichen durchgeführt hat, so daß der gemeinsame Teil (20, 22) der Schnittstellenschaltung auf eine unmittelbare Datenübertragung zwischen den beiden Prozessoren (10, 16) umschaltet.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Steuerschaltung (4B, 90; 4B 92; 6B1 320; 4B 104) in dem zweiten Prozessor (16) in Abhängigkeit von einem auf der ersten Steuersignalleitung (88) auftretenden weiteren Freigabesignal (FP FREIGABE) dann, wenn der zweite Prozessor keine Daten an die CPU zu übertragen hat, an die zweite Steuersignalleitung (106) ein Signal abgibt, daß der zweite Prozessor die gemeinsame Schnittstellenschaltung nicht für eine Datenübertragung benötigt, und daß die dritte Steuerschaltung (3A, 78; 6B 2CB; 6B, 29A; 6B, 594; 6C, 5OF; 6B, 594) in der CPU in Abhängigkeit von diesem Signal die gemeinsame Schnittstellenschaltung auf direkten Hauptspeicherzugriff für E/A-Geräte (C/S) umschaltet, wobei der zweite Prozessor über sein Mikroprogramm (6B, 320; 6C, 497) feststellt, ob die zweite oder vierte Steuerschaltung (3A, 78; 3A, 46; 3A, 86) wirksam werden soIL
3. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß die zweite Steuerschaltung (4B, 90; 4B, 92; 4B, 104; 6C, 497; 6D, 499) in dem zweiten Prozessor in Abhängigkeit von dem Freigabesignal (FP FREIGABE) auf der ersten Steuersignalleitung (88) ein Datenabtastsignal (FS) an die zweite Steuersignalleitung (106) abgibt und damit anzeigt, daß der gemeinsame Teil (20,22) der Schnittstellenschaltung für eine Datenübertragung benötigt wird, daß die dritte in der CPU befindliche Steuerschaltung (3A, 78; 6D, 5BO; 6D, 5Λ0; 6D, 4DO) auf dieses Signal (FS) hin die Schnittstellenschaltung für die Übertragung eines Datenwortes vom zweiten Prozessor (16; FPP) nach der CPU schaltet, daß ferner die vierte in der CPU liegende Steuerschaltung ( 3A, 78; 6E, 593; 6E, 5B3; 3A, 118) bei Vorliegen einer Anforderung auf direkten Haiyjtspeicherzugriff von einem E/A-Gerät (14) bei Fehlen des Datenabtastsignals (FS) auf der zweiten Steuersignalleitung die gemeinsame Schnittstellenschaltung (20,22) auf direkten Hauptspeicherzugriff (C/S) für eine Datenübertragung zwischen dem E'A-Gerät und der CPU umschaltet, und daß eine fünfte Steuerschaltung (3A, 78; 6E, 593; 6F, 5Λ 3; 6F, 41£·; 6G, 4BF; 6G, 551) in der CPU (10) bei gleichzeitiger Aufnahme einer Anforderung für direkten Speicherzugriff (C/S) und eines Datenabtastsignals (FS) auf der zweiten Steuersignalleitung die Schnittstellenschaltung (20, 22) derart steuert, daß sie abwechselnd zur Datenübertragung die beiden Prozessoren miteinander bzw. die CPU mit einem E/A-Gerät verbindet
4. Datenverarbeitungsanlage nach den Ansprüchen 2 und 3, dadurch gekennzeichnet, daß eine dritte Signalleitung (132) zwischen den Prozessoren vorgesehen ist, daß eine sechste Steuerschaltung (4B, 92; 6C, 497; 6D 499; 6D, 354; 6D, 390) auf das zweite Auftretendes des Freigabesignals (FP FREIG.) auf der ersten Steuerleitung (88) ein Signal (FS) begrenzter Dauer an die dritte Steuerleitung (132) abgibt, welches anzeigt, daß Daten für eine Übertragung vom zweiten Prozessor nach der CPU vorliegen, worauf sie für eine Übertragung über die gemeinsame Schnittstellenschaltung (20, 22) bereitstehen, und daß eine siebte Steuerschaltung (3A, 78; 6D, 5ßO; 6D, 5A 0; 6D, 4DO; 6G, 4ßF; 6G, 551; 3A, 116; 3A, 118) in der CPU nach Übertragung der bereitgestellten Daten an die CPU das Freigabesignal (FP FREIG.) auf der ersten Steuerleitung (88) über die dritte Steuerleitung (88) beendet und die Schnittstellenschaltung (20, 22) auf direkten Hauptspeicherzugriff (C/S) umschaltet.
5. Datenverarbeitungsanlage nach Anspruch 4, dadurch gekennzeichnet, daß eine achte Steuerschaltung (4B, 90; 4B, 92) in dem zweiten Prozessor nach Abfallen des Freigabesignals (FP FREIG.) auf der ersten Steuerleitung (88) über die dritte Steuerleitung (132) ein Signal an die CPU abgibt, welches das Ende der Operation des zweiten Prozessors anzeigt.
6. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daB eine Multiplex-Steue-
rung vorgesehen ist, die bei Bereitstellung des gemeinsamen Teils (20, 22) der Schnittstellenschaltung durch die vierte Steuerschaltung ( 3A, 78; 6C, 510; 6C, 530; 6C, 531; 3A, 46; 3A, 86) für eine Zusammenarbeit der Prozessoren bewirkt, daß die Schnittstellenschaltung (20, 22) abwechselnd für begrenzte Zeit auf Betrieb zwischen den Prozessoren und für direkten Hauptspeicherzugriff (C/S) durch die E/A-Geräte (14) umschaltet, solange gleichzeitig eines der E/A-Geräte und der zweite Prozessor Daten nach der CPU zu übertragen haben,
7. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß sich zwischen den beiden Prozessoren (10,16) eine dritte Steuersignalleitung (FPABTASTEN; 132) erstreckt, daß eine fünfte Steuerschaltung (4B, 92; 6C, 497; 6D, 499) im zweiten Prozessor nach Wirksamwerden der vierten Steuerschaltung in Abhängigkeit von dem Freigabesignal (FP FREIG.) auf der ersten Steuersignalleitung (88) ein Datenabtastsignal (FS) an die dritte Steuersignalleitung (132) abgibt, daß dabei eine sechste Steuerschaltung (3A, 78; 6D, 550; 6D, 5A 0; 6D, 4D 0) in der CPU auf dieses Signal (FS) anspricht und bewirkt, daß die CPU von dem zweiten Prozessor (16; FPP) ein erstes Datenwort aufnimmt, daß dabei Schaltmittel (6B, 3DE und 6D, 4DO) vorgesehen sind, die feststellen, ob noch weitere Datenworte von dem zweiten Prozessor nach der CPU zu übertragen sind und daß in der CPU eine siebte Steuerschaltung (3A, 78; 6D, 4DO; 6E, 593; 6E, 553; 6E, 515; 7B, 215 und 7B, 518) auf diese Schaltmittel und/oder auf eine von einem E/A-Gerät kommende Anforderung auf direkten Hauptspeicherzugriff (C/S) zunächst das E/A-Gerät für die Aufnahme einer C/S-Anforderung bedient und anschließend, falls vorhanden, die Übertragung des nächsten Datenwortes von dem zweiten Prozessor nach der CPU veranlaßt
DE2817183A 1977-04-28 1978-04-20 Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit Expired DE2817183C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/792,085 US4128876A (en) 1977-04-28 1977-04-28 Synchronous microcode generated interface for system of microcoded data processors

Publications (2)

Publication Number Publication Date
DE2817183A1 DE2817183A1 (de) 1978-11-09
DE2817183C2 true DE2817183C2 (de) 1982-10-28

Family

ID=25155746

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2817183A Expired DE2817183C2 (de) 1977-04-28 1978-04-20 Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit

Country Status (11)

Country Link
US (1) US4128876A (de)
JP (1) JPS53135530A (de)
AU (1) AU515765B2 (de)
BR (1) BR7802682A (de)
CA (1) CA1111922A (de)
DE (1) DE2817183C2 (de)
ES (1) ES467855A1 (de)
FR (1) FR2389175A1 (de)
GB (1) GB1565790A (de)
IT (1) IT1112665B (de)
SE (1) SE7804843L (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4229801A (en) * 1978-12-11 1980-10-21 Data General Corporation Floating point processor having concurrent exponent/mantissa operation
US4310879A (en) * 1979-03-08 1982-01-12 Pandeya Arun K Parallel processor having central processor memory extension
US4449196A (en) * 1979-04-27 1984-05-15 Pritchard Eric K Data processing system for multi-precision arithmetic
JPS5840214B2 (ja) 1979-06-26 1983-09-03 株式会社東芝 計算機システム
FR2462745B1 (fr) * 1979-07-30 1986-01-03 Jeumont Schneider Dispositif de partage temporel de l'acces a une memoire connectee a un bus unique entre un calculateur central et une pluralite de calculateurs peripheriques
US4417304A (en) * 1979-07-30 1983-11-22 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4479179A (en) * 1979-07-30 1984-10-23 International Business Machines Corporation Synchronous cycle steal mechanism for transferring data between a processor storage unit and a separate data handling unit
US4452136A (en) * 1979-10-19 1984-06-05 International Business Machines Corporation Printer subsystem with dual cooperating microprocessors
US4323967A (en) * 1980-04-15 1982-04-06 Honeywell Information Systems Inc. Local bus interface for controlling information transfers between units in a central subsystem
US4410942A (en) * 1981-03-06 1983-10-18 International Business Machines Corporation Synchronizing buffered peripheral subsystems to host operations
US4493024A (en) * 1981-05-22 1985-01-08 Data General Corporation Digital data processing system
US4484297A (en) * 1981-10-06 1984-11-20 The United States Of America As Represented By The Secretary Of The Air Force Variable data base generator apparatus
US4491908A (en) * 1981-12-01 1985-01-01 Honeywell Information Systems Inc. Microprogrammed control of extended integer and commercial instruction processor instructions through use of a data type field in a central processor unit
US4534011A (en) * 1982-02-02 1985-08-06 International Business Machines Corporation Peripheral attachment interface for I/O controller having cycle steal and off-line modes
US4514803A (en) * 1982-04-26 1985-04-30 International Business Machines Corporation Methods for partitioning mainframe instruction sets to implement microprocessor based emulation thereof
US4543629A (en) * 1982-04-29 1985-09-24 Honeywell Information Systems Inc. Apparatus for maximizing bus utilization
JPS58195265A (ja) * 1982-05-10 1983-11-14 Sony Corp マイクロコンピユ−タ
US4490788A (en) * 1982-09-29 1984-12-25 Schlumberger Technology Corporation Well-logging data processing system having segmented serial processor-to-peripheral data links
US4502116A (en) * 1982-11-17 1985-02-26 At&T Bell Laboratories Multiple processor synchronized halt test arrangement
JPS59154564A (ja) * 1983-02-24 1984-09-03 Hitachi Ltd プログラマブルコントロ−ラ
US4750110A (en) * 1983-04-18 1988-06-07 Motorola, Inc. Method and apparatus for executing an instruction contingent upon a condition present in another data processor
EP0526911B1 (de) * 1983-04-18 1998-01-14 Motorola, Inc. Verfahren und Vorrichtung zum Koordinieren einer Instruktionsausführung durch eine Zusatzdatenverarbeitungseinheit
US4814977A (en) * 1983-10-18 1989-03-21 S&C Electric Company Apparatus and method for direct memory to peripheral and peripheral to memory data transfers
US4646300A (en) * 1983-11-14 1987-02-24 Tandem Computers Incorporated Communications method
US4947316A (en) * 1983-12-29 1990-08-07 International Business Machines Corporation Internal bus architecture employing a simplified rapidly executable instruction set
US4594651A (en) * 1984-01-18 1986-06-10 General Electric Company Concurrent processor for control
US4707783A (en) * 1984-10-19 1987-11-17 Amdahl Corporation Ancillary execution unit for a pipelined data processing system
JPS61150059A (ja) * 1984-12-24 1986-07-08 Sony Corp デ−タ処理装置
US4703420A (en) * 1985-02-28 1987-10-27 International Business Machines Corporation System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need
US5070475A (en) * 1985-11-14 1991-12-03 Data General Corporation Floating point unit interface
US4763294A (en) * 1985-12-19 1988-08-09 Wang Laboratories, Inc. Method and apparatus for floating point operations
US4760525A (en) * 1986-06-10 1988-07-26 The United States Of America As Represented By The Secretary Of The Air Force Complex arithmetic vector processor for performing control function, scalar operation, and set-up of vector signal processing instruction
EP0267613B1 (de) * 1986-11-12 1995-03-01 Nec Corporation Mikroprozessor mit der Fähigkeit, an einen Koprozessor geschaltet zu werden
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4876664A (en) * 1987-08-26 1989-10-24 Allen-Bradley Company, Inc. Programmable controller with a dual intermodule message system
US4943915A (en) * 1987-09-29 1990-07-24 Digital Equipment Corporation Apparatus and method for synchronization of a coprocessor unit in a pipelined central processing unit
US5193189A (en) * 1987-10-07 1993-03-09 Allen-Bradley Company, Inc. Programmable controller with multiple priority level task processing
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
US4982428A (en) * 1988-12-29 1991-01-01 At&T Bell Laboratories Arrangement for canceling interference in transmission systems
US5214761A (en) * 1989-05-08 1993-05-25 Wang Laboratories, Inc. Real-time adjustable-transform device driver for physical devices
TW372294B (en) * 1993-03-16 1999-10-21 Ht Res Inc Multiple computer system
US7006634B1 (en) * 2000-09-28 2006-02-28 Cisco Technology, Inc. Hardware-based encryption/decryption employing dual ported key storage
US6873707B1 (en) * 2000-09-28 2005-03-29 Cisco Technology, Inc. Hardware-based encryption/decryption employing cycle stealing
US9606803B2 (en) 2013-07-15 2017-03-28 Texas Instruments Incorporated Highly integrated scalable, flexible DSP megamodule architecture
US10678545B2 (en) 2016-07-07 2020-06-09 Texas Instruments Incorporated Data processing apparatus having streaming engine with read and read/advance operand coding
US20180011709A1 (en) 2016-07-08 2018-01-11 Texas Instruments Incorporated Stream reference register with double vector and dual single vector operating modes
US9965278B1 (en) 2016-12-20 2018-05-08 Texas Instruments Incorporated Streaming engine with compressed encoding for loop circular buffer sizes

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3462741A (en) * 1966-07-25 1969-08-19 Ibm Automatic control of peripheral processors
GB1226125A (de) * 1967-07-14 1971-03-24
US3654617A (en) * 1970-10-01 1972-04-04 Ibm Microprogrammable i/o controller
US3934232A (en) * 1974-04-25 1976-01-20 Honeywell Information Systems, Inc. Interprocessor communication apparatus for a data processing system
US3970997A (en) * 1974-08-29 1976-07-20 Honeywell Information Systems, Inc. High speed peripheral system interface
US4077060A (en) * 1976-12-27 1978-02-28 International Business Machines Corporation Asymmetrical multiprocessor system

Also Published As

Publication number Publication date
IT1112665B (it) 1986-01-20
JPS573093B2 (de) 1982-01-20
FR2389175A1 (fr) 1978-11-24
ES467855A1 (es) 1978-11-01
BR7802682A (pt) 1978-12-19
JPS53135530A (en) 1978-11-27
AU515765B2 (en) 1981-04-30
SE7804843L (sv) 1978-10-29
US4128876A (en) 1978-12-05
GB1565790A (en) 1980-04-23
DE2817183A1 (de) 1978-11-09
IT7821825A0 (it) 1978-03-31
FR2389175B1 (de) 1981-07-31
CA1111922A (en) 1981-11-03
AU3392778A (en) 1979-09-13

Similar Documents

Publication Publication Date Title
DE2817183C2 (de) Datenverarbeitungsanlage mit einer durch Mikroprogramm gesteuerten Zentraleinheit
DE2819571C2 (de)
DE3300261C2 (de)
DE2457612C3 (de) Mikroprogrammier-Steuereinrichtung
DE3218741A1 (de) Datentransfersystem
DE2901762A1 (de) Datenuebertragungs- und verarbeitungsanlage
DE3110196A1 (de) Datenverarbeitungssystem
DE2635592A1 (de) Multiprozessor-abrufsystem
DE1549523B2 (de) Datenverarbeitungsanlage
DE3210816A1 (de) Datenverarbeitungssystem mit getrennten einrichtungen zur verarbeitung von skalar- und vektordaten
DE2912287A1 (de) Datenverarbeitungsgeraet
DE1524136A1 (de) Parallel-Serien- bzw. Serien-Parallelwandler
DE2452214A1 (de) Mikroprozessor mit unmittelbarer und indirekter adressierung
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
EP0952520A2 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE3400723C2 (de)
DE2556624A1 (de) Schaltungsanordnung zur asynchronen datenuebertragung
DE1774052B1 (de) Rechner
DE2911909C2 (de) Digitales Datenverarbeitungsgerät
DE2556617A1 (de) Datenverarbeiter zum rotierbaren verschieben von bits eines datenwortes
DE2706877C2 (de) Mikroprogramm-Steuereinrichtung
DE1574877B1 (de) Verfahren und Einrichtung zur Kopplung von datenverarbeitenden Anlagen
DE2161213B2 (de) Verfahren und Steuereinheit zum Übertragen von Datenwortblöcken
DE2838887C2 (de) Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8339 Ceased/non-payment of the annual fee