DE1915818A1 - Elektronisches Datenverarbeitungssystem - Google Patents

Elektronisches Datenverarbeitungssystem

Info

Publication number
DE1915818A1
DE1915818A1 DE19691915818 DE1915818A DE1915818A1 DE 1915818 A1 DE1915818 A1 DE 1915818A1 DE 19691915818 DE19691915818 DE 19691915818 DE 1915818 A DE1915818 A DE 1915818A DE 1915818 A1 DE1915818 A1 DE 1915818A1
Authority
DE
Germany
Prior art keywords
address
memory
locking
data processing
devices
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19691915818
Other languages
English (en)
Other versions
DE1915818B2 (de
DE1915818C3 (de
Inventor
Klein Stuart K
Benson Victor M
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.)
Honeywell Inc
Original Assignee
Honeywell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inc filed Critical Honeywell Inc
Publication of DE1915818A1 publication Critical patent/DE1915818A1/de
Publication of DE1915818B2 publication Critical patent/DE1915818B2/de
Application granted granted Critical
Publication of DE1915818C3 publication Critical patent/DE1915818C3/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/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • G06F9/3889Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • 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/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units

Description

Elektronisches Datenverarbeitungssystem
Die Erfindung bezieht sich auf ein elektronisches Datenverarbeitungssystem.
Da Rechenanlagen immer verwickelter und komplizierter werden, steigen ihre Kosten. Es besteht daher der Wunsch, bei Rechenanlagen einen höheren Durchsatz zu erzielen. Die größeren und komplizierteren Rechenanlagen besitzen im allgemeinen schnelle Zugriffs-Hauptspeicher großer Kapazität.
Da mit zunehmender Speichergröße nicht automatisch eine Zunahme der Geschwindigkeit der Speicheradressierung und des Zugriffs verbunden ist, sondern im allgemeinen eine Geschwindigkeit sabnähme, ist es wichtig, den Hauptspeicher des ,jeweiligen Datenverarbeitungssystems bei seiner höchstmöglichen Geschwindigkeit zu betreiben. Versuche, einen Hauptspeicher zur Erzielung eines höheren Durchsatzes auszunutzen, haben zu Vielfach-Verarbeitungsanlagen, zu Vielfach-Programmierungen und zur Anwendung von Einrichtungen mit
909845/U1S
"Vorschau-'-Merkmalen geführt. Dabei hat sieb, eine beträchtliche Verkomplizierung der Verkehrssteuerung für periphere Einrichtungen ergeben.
Der Ausdruck "Vielfach.—Verarbeitungsanlage" wird hier zur Bezeichnung eines elektronischen Datenverarbeitungssj-scems benutzt, in welchem zwei oaer mehr Verarbeitungseinrichtungen asynchron und in paralleler Wechselbeziehung arbeiten, und zwar in einem solchen Ausmaß, daß sie verschiedentlich gleichzeitig an getrennten Teilen ein und desselben Problems arbeiten.
Das Konzept der Vielfach-Verarbeitungsanlagen bringt einen erheblichen Aufwand an zusätzlicher und redundanter Hardware mit sich. Die Verarbeitungseinrichtungen benutzen nämlich eigene Adressengeneratoren, eigene interne Speicher sowie Rechen- und Verjmüpfungseinx'ichtun^en. In komplizierten Systemen kann bereits die Adressenerzeugung für sich einen beträchtlichen Hardware—Aufwand erfordern. Ferner sind normalerweise auch für die Erzielung der "Vorschau"~MerkmaXe und für Verbindungen zwischen den Verarbeitungseinrichtungen als Hardv/are bezeichnete Baugruppen und Geräte erforderlich..
Hit dem generellen Begriff "Vorschau" wird hier die Fähigkeit einer Anordnung bezeichnet, Programmbefehle iia Programs— ablauf zu überprüfen und z.B. ggfs. mit der Ausführung des nächsten Befehls zu beginnen, bevor der gerade vorliegende Befehl ausgeführt ist. Diese Möglichkeit ergibt sich z.B. dann, wenn der nächste Befehl bis zu einem bestimmten Punkt durch eine gesonderte Verarbeitungseinrichtung ausgeführt werden kann und nicht die Ergebnisse der Ausführung des gerade vorliegenden Befehls benötigt. Durch Verriegelungen v/ird dabei der betreffende Punkt bei ^jeder Verarbeitungseinrichtung für jeden Befehl festgelegt.
IÖ 9 8 4 S / 1 41 S - bad
-■5 -
Die Re-· .Isierung der "Vorschau11-Eigenschaft ist normalerweise kompliziert und im Hinblick auf den Hardware-Aufwand ziemlich teuer. Daher besteht häufig der Wunsch, die für die Realisierung der "Vorschau"-Sigenschaft vorzusehende Verknü». fungsschaltung zu minimisieren sowie den Verarbeitungseinrichtungen neue Befehle so*schnell zuzuführen, wie die betreffenden Verarbeitungseinrichtungen hierfür wieder aufnahmebereit sind. Zwischen den Verarbeitungseinrichtungen soll dabei ein Querverbindungsbetrieb erfolgen. Der Querverbindungsbetrieb kann es erforderlich, machen, daß eine Ver- ^rbeitungseinrichtung stillgesetzt wird, wenn sie auf die Ergebnisse der Verarbeitung in einer anderen Verarbeitungseinrichtung warten muß. Unglücklicherweise ist bei dieser Betriebsart eine entsprechende Querverbindung schwierig zu erzielen, wenn eine bestimmte Flexibilität oder Wirtschaftlichkeit erreicht werden soll, und normalerweise führt eine solche Verbindung zu unnötigen Verzögerungen und/oder zu einer unerwünschten Erhöhung des Hardware-Aufwandes.
In elektronischen Datenverarbeitungsanlagen tritt das generelle Problem auf, zwischen einer zentralen Verarbeitungseinrichtung und periphere» Eingabe- und Ausgabe-Einrichtungen sowie zwischen individuellen Eingabe- und Aus[;abe-Einrichtungen und zwischen Verarbeitun£seinrichtungen in einer Vielfach-Verarbeitungsanlage Verbindungen herzustellen. In derartigen Fällen ist es unerwünscht, den Synchronbetrieb •auszuweiten, da dadurch die jeweils betroffenen Einrichtungen mit der langsamsten Arbeitsgeschwindigkeit arbeiten, ohne daß dazu eine spezielle Forderung besteht. Im Hinblick auf die peripheren Einrichtungen ist es erforderlich, kompliziert e Eingabe-/Ausgabe-Verkehrs-Steuereinrichtungen vorzusehen und ggfs. nach dem Kultiplenprinzip zu benutzen. Bei Yielfach-Verarbeitungsanlagen ist normalerweise ein gewisses Maß an Software-Einrichtungen zur LL":nni: der speziellen
909845/1415
BAD
Probleme, die dem Programmierer gegenüber bestehen, erforderlich. Dies bedeutet, daß der Programmierer zur Festlegung von Befehlen bei verschiedenen Verarbeitungseinrichtungen Befehle abgeben muß, die den betreffenden Verarbeitungseinrichtungen angeben, wann sie aufeinander zu warten haben. Derartige, insbesondere für den Betrieb mit Vielfach-Verarbeitungsanlagen ausgelegte Rechner umfassen als Hardware Zähler, mit deren Hilfe dem Programmierer das Programmieren der Synchronisationspunkte zwischen den asynchron und parallel arbeitenden Rechnern erleichtert ist.
Bei der Datenverarbeitung tritt das generelle Problem auch dann auf, wenn zwei oder mehr Sub-Verarbeitungseinrichtungen gleichzeitig auf dieselben Befehle hin arbeiten.
Die "Software-Lösung" ist hier nicht anwendbar, das das r
ddjiNßh Problem in der sogenannten "Mikroweit11 auftritt, in der/die Maschine die elementaren Operationen in einem derart detaillierten Ausmaß ausgeführt werden, das zu weitläufig für eine effektive Behandlung durch Programmbefehle von der "Mikroweit11 des Programmierers aus ist. In der Maschine muß dabei praktisch die Fähigkeit eingebaut sein, Sub-Verarbeitungseinrichtungen an kritischen Verarbeitungspunkten anzuhalten.
Bei der Lösung des betreffenden Problems zu beachtende besondere Punkte sind:
1. Eine Sub-Verarbeitungseinrichtung sollte eine "Vorausschau" des nächsten Befehls vornehmen und mit ihrem Betrieb bereits beginnen können, währenddessen eine andere Sub-Verarbeitungseinrichtung noch den zuvor aufgetretenen Befehl verarbeitet.
2. Der für eine Verriegelungsaufgäbe vorzusehende Hardware-Aufwand sollte keine nennenswerte Steigerung der Kosten oder Größe mit sich bringen.
909845/U16
BAD ORIGINAL
3. Die zur Durchführung einer Verriegelung'.vorzusehenden Einrichtungen sollten eindeutig durch Unterprogramme steuerbar sein, die diese Einrichtungen erfordern, so ,daß ksine unnötigen Verzögerungen eingeführt werden.
Der Erfindung liegt nun die Aufgabe zu Grunde,das oben aufgezeigte generelle Problem der gegenseitigen Verbindung asynchroner Einrichtungen auf einfache V/eise zu lösen. "Gelöst wird diese Aufgabe bei einem elektronischen Datenverarbeitungssystem mit einem Hauptspeicher, wenigstens einem eine erste Sub-Verarbeitungseinrichtung darstellenden Adressengenerator und wenigstens einer eine zweite Sub-Verarbeitungseinrichtung darstellenden Rechen- und Ver-.knüpfungseinrichtung, wobei die Sub-Verarbeitungseinrichtungen insbesondere zur Ausführung von voneinander abhängigen Befehlen dienen, erfindungsgemäß dadurch, daß eine erste adressierbare Folgesteuereinrichtung vorgesehen ist, die Mikrobefehle zur Steuerung elementarer Operationen des Adressengenerators abgibt, daß eine zweite adressierbare Folgesteuereinrichtung vorgesehen ist, die Mikrobefehle zur Steuerung elementarer Operationen der Rechen-und.Verknüpfungseinrichtung abgibt, daß Steuereinrichtungen vorgesehen sind, die eine aufeinanderfolgende Fortschaltung von Mikrobefehlswörter in der ersten und in der zweiten adressierbaren Folgesteuereinrichtung bewirken, daß Verriegelungseinrichtungen vorgesehen sind, die mit Auftreten eines ein Verriegelungs-Zeichen enthaltenden Mikrobefehlswortes das Fortschalten der Mikrobefehlswörter in der einen Folgesteuereinrichtung unterbrechen, und daß Freigabeeinrichtungen vorgesehen sind, die nach Auftreten des ein Verriegelungszeichen enthaltenden Mikrobefehlswortes die Fortschaltung der genannten einen Folgesteuereinrichtung auf ein ein Verriegelungszeichen für die andere Folgest euer einrichtung enthaltendes Mikrobefehlswort hin freigeben.
S098A5/H18 BADORiGiNAU
Die vorliegende Erfindung bringt eine erhöhte Wirtschaftlichkeit mit sich, indem sie Verriegelungen in den Mikrobefehlen von unabhängig voneinander in Mikroprogrammv/eise programmierten Steuerelementen gleichzeitig arbeitender Sub-Verarbeitungseinricirfcungen ausnutzt. Eine einfache und flexible Anordnung gestattet dabei gleichzeitig eine Adressenerzeugung und die Durchführung eines Rechenvorgangs sowie die Durchführung eines "Vox>ausschau"-V"organgs ohne eine "Mutmaßung". Andere gleichzeitig ablaufende TeIl-. vorgänge können entsprechend ausgeführt werden. Eine Unter- * Verarbeitung wird gemäß der Erfindung mit Hilfe einer Vielzahl von Sub-Verarbeitungseinrichtungen ausgeführt, deren jede durch ein gesondertes mikroprogrammiertes Steuerelement gesteuert wird. Um mit voller Geschwindigkeit ablaufende unabhängige Operationen ausführen zu können und trotzdem eine Sub-Verarbeitungseinrichtung daran zu hindern, bei der Befehlsverarbeitung über einen bestimmten Verarbeitungspunkt hinaus zu gehen, an dem sie eine Information für eine andere Sub-Verarbeitungseinrichtung besitzt oder an dem eine andere Sub—Yerarbeitungseinrichtung die verarbeitete Information von der gerade betrachteten Sub-Verarbeitungseinrichtung benötigt, sind Verriegelungsschal- ) tungen vorgesehen, die auf Verriegelungs-Anzeigen in den Mikrobefehlen der einzelnen Steuerelemente ansprachen. Dabei führen einfache Gatterschaltungen alle erforderlichen Verriegelungen bei minimalem Hardware-Aufwand durch.
Da die Verarbeitungseinrichtungen durch unabhängige Mikroprogramme gesteuert werden, kann eine Verarbeitungseinrichtung bei Fehlen einer Verriegelungs-Anzeige bis zum Auftreten des nächsten Befehls im "Vorausschau"-Betrieb weiter arbeiten, während die andere Verarbeitungseinrichtung bzw, die anderen Verarbeitungseinrichtungen noch den jeweils vorliegenden Befehl ausführen. Der "Voraus-
«09845/ Uli
scha- "-Betrieb wird lediglich durch eine Verriegelungs-Anzei^e unterbrochen, die für die sie erfordernde Mikroprogrammfolge eindeutig ist.
Anhand von Zeichnungen wird die Erfindung mit den oben aufgezeigten und mit weiteren ih*r anhaftenden Merkmalen an Ausführungsbeispielen näher erläutert. Fig. 1 zeigrt in einem Teilblockdiagramm ein elektronisches Datenverarbeitungssystem mit zwei in erfindungsgemäßer Weise verriegelbaren Steuerelementen, die durch Mikroprogramme gesteuert werden.
Fig. 2 zeigt in einem vereinfachten Blockschaltbild eine zentrale Verarbeitungsanlage eines elektronischen Datenverarbeitungssystems, in welchem eine Adressenerzeuger-. Sub-Yerarbeitungsanlage und eine Heeiieii-Sub-Verarbeitungsanlas;e durch Steuerelemente gesteuert werden, die in erfindungsgemäßer Weise verriegelbar sind. Fig. 3 vex^anschaulicht in einem Flußddagramm die Ablauffolge des Betriebs der Steuerelemente gemäß Fig. 2 zur Ausführung eines Vergleichshefehls, für dessen Ausführung das Verrie^elungs-Merkmal gemäß der Erfindung, erforderlich ist.
Die vorliegende Erfindung wird hauptsächlich in einer zentralen Verarfoeitungsanlage mit zwei oder mehr Sub-Verax'beitungseiiirichtungen angewendet, die nach dem Zeitmulti.jlexprinzip einen gemeinsamen Hauptspeicher benutzen. Die oub-Vex^arbeitungseinrichtungen werden durch unabhängige mikxOprOfcirammierte Steuerelemente gesteuert.
zeigt in einem stark vereinfachten Blockdiagramm mikroprogrammierte Steuerelemente für zwei Sub-Verarbextungseinrichtungen zusammen wit Uerriegelungs-VertjSelementen zwischen den beiden Steuerelementen.
SÖ984 5/141S BAD ORIGINAL
Die im folgenden auch als Mikro-Operationsgeneratoren bezeichneten Steuerelemente werden von adressierbaren Folgesteuereinrichtungen her angesteuert. Die Folgest euer einrichtung en sind zweckmäßigerweise durch einen schnellen Zugriff ermöglichende Speichermatrizen gebildet. Ein Beispiel für eine geeignete Folgesteuereinrichtung gibt die US-Patentschrift 3 157 862 an. Eine bevorzugte Folgesteuereinrichtung stellt ein Lesespeicher dar, in welchem die Mikrobefehle elektrisch wieder einschreibbar sind und während des Normal-Betriebs nicht geändert werden. Ein Hauptspeicher 10 gibt Befehle an die Steuerelemente der Sub-Verarbeitungseinrichtungen ab, und zwar über ein Befehlsregister 11. Einzelne Bereiche bzw. Felder in diesem Befehlsregister enthalten Daten betreffend den Beginn der Mikrobefehle für die betreffenden Steuerelemen- \ te der Verarbeitungseinrichtungen. Dabei ist ein Bereich bzw. ein Feld des Befehlsregisters 11 mit dem.Eingang eines Adressenregisters 12 verbunden. Das Adressenregister 12 wählt in der Folgesteuereinrichtung 1$ diejenigen Mikrobefehle aus, die in ein örtliches Register 15 einzuspeichern sind. Der im örtlichen Register 15 Jeweils enthaltene Mikrobefehl legt die MikroOperationen fest, die durch den Mikrooperations-Generator 16 abzu geben sind. Wie ferner angedeutet ist, gibt ein Feld des örtlichen Registers 15 die nächste Adresse' an das Adressenregister 12 ab. Ein weiteres Feld 18 dient für die Aufnahme eines Sperr-Anzeigebefehls, der Verriegelungs— Gettern 20 und 21 zugeführt wird.
In einem Feld des Befehlsregisters 11 ist ferner die dem Adres.s enroll st er 22 der I^olgesteuereinrichtung 23 zuzuführende Startadresse enthalten. Der in der Folgesteuereinrichtung 23 adressierte Mikrobefehl wird dem örtlichen Register 25 zugeführt und bewirkt die Steuerung der Mikrooperationen des'Mikrooperations-Generators 26. Ein Feld
9 0 9 8 k S / U 1 6 IAD ORIGINAL
des örtlichen Registers 25 gibt die jeweils nächste Adresse an das Adressenregister 22 ab; ein weiteres Feld des örtlichen Registers 25 gibt einen Sperr-Anzeigebefehl für die Verriegelungs-Gatter 20 und 21 ab.
Die Verriegelungs-Gatter 20 und 21 sind durch UND-Gatter gebildet, die jeweils dann übertragungsfähig sind, wenn sie an ihren Eingängen gleichzeitig Verriegelungssignale von beiden Registern 15 und 25 her aufnehmen. Das Ausgangssignal des Verriegelungs-Gatters 20 wird als Eingangs-Schaltsignal dein Adressenregister 12 zugeführt; das Ausgangssignal des Verriegelungs-Gatters 21 wird als Eingangs-Schaltsignal dem Adressenregister 22 zugeführt. Die Mikrooperations-Generatoren 16 und 26 legen die Mikrooperationen für die hier nicht näher gezeigten entsprechenden Sub-Verarbeitungseinrichtungen fest. Eine detaillierte Beschreibung der Verbindungen zwischen den einzelnen Schaltungselementen innerhalb des Systems wird in Verbindung mit der Beschreibung der in Fig. 2 dargestellten Schaltungsanordnung gegeben werden.
Beim Betrieb der in Fig. 1 gezeigten, eine Ausführungsform der Erfindung darstellenden Anlage gibt der Hauptspeicher 10 zunächst einen Befehl ab, der· die Startadressen für die Folgesteuereinrichtungen 15 und 23 darstellt. Jeder in den betreffenden Folgesteuereinrichtungen adressierte Mikrobefehl bewirkt in den örtlichen Registern 15 und 25 die Abgabe von Unterbefehlen an die Mikrooperations-Generatoren 16 und 26 und ferner von den Feldern.17 und 27 die Abgabe der nächsten Adresse an die Adressenregister 12 und 22. Die beiden Steuerelemente arbeiten .zyklisch wiederholt mit ihrer vollen Geschwindigkeit, und zwar unabhängig voneinander, bis ein adressierter Mikrobefehl in einem der Steuerelemente eine Verriegelungsbzw. Sperr-Anzeige liefert. Wenn z.B. ein Mikrobefehl in
• Q9I4S/UK baoo™.
dem örtlichen Register 15 auftritt, das in seinem EeId 18 eine Verriegelungs- bzw. Sperr-Anzeige besitzt, so ist die Adresse im Feld 17 eine Wiederholungsadresse desselben Wortes. Dadurch v/ird die Fortschaltung des Steuerelements .angehalten, da es zyklisch v/iederholt denselben Mikrobefehl wiederholt.
Wenn die Folge steuereinrichtung 23 den Punkt bei der Ausführung des Befehles erreicht hat, an dem die Folgesteuereinrichtung 13 wartet, wird von dem-Feld 28 des Registers f 25 ein Sperr- bzw. Verriegelungssignal abgeleitet und dem jeweils einen Eingang der Gatter 20 und 21 zusammen mit dem Verriegelungs- bzw. Sperrsignal von dem Feld 18 des örtlichen Registers her zugeführt. Die nächste durch die Register 15 und 25 an die Adressenregister 12 und 22 abgegebene Adresse ist eine Wiederholungsadresse. Die von den Gattern 20 und 21 abgegebenen Ausgangs signale bev/irken jedoch eine Änderung der Adressenregister 12 und 22, und zwar derart, daß in jeder Folgesteuereinrichtung ein Zugriff zu einem weiteren Folge-Mikrobefehl vorhanden ist.
Es sei darauf hingewiesen, daß der Betrieb von Daten-Verarbeitungsanlagen unter einer Anzahl von Vorschriften erfolgt. Eine solche Vorschrift ist z.B. die Beschränkung des gemeinsamen Zugriffs des Hauptspeichers. Die meisten Beschränkungen können leicht durch entsprechenden Hardware-Aufwand gelöst werden. Führen jedoch zwei.oder mehr Verarbeitungseinrichtungen einige voneinander abhängige Vorgänge aus, so ist es üblich, diesen Einrichtungen eine feste Beschränkung aufzuerlegen, indem ihre Arbeitsgeschwindigkeiten beschränkt werden, mit denen die verschiedenen Unterbefehlsfolgen, die voneinander abhängige Vorgänge erfordern, ausgeführt werden können. Dies erfolgt in solcher Weise, daß mit Rücksicht auf eine derartige gegenseitige Abhängigkeit keine der Verarbeitungseinrxehtungen
U 1$. BAD ORIGINAL
vor der anderen Verarbeitungseinrichtung arbeitet. Ferner sind die bei unterschiedlichen Unterbefehlsfolgen bestehenden Verzögerungsforderungen unterschiedlich; viele auftretenden ünterbefehlsfolgen besitzen zudem keine gegenseitige Abhängigkeit. Bei geringem Steueraufwand und zumindest einem Bit oder einer Bit-Kombinationsanweisung in jedem Mikrobefehl stellt die in Fig» i gezeigte Ausfünrungsforja der Erfindung eine Anlage dar, die Verzögerungsforderungen eindeutig voneinander abhängiger Vorgänge auf die für diese erforderlichen Unterbefehlsfolgen festlegt.
Fig. 2 zeigt in näheren Einzelheiten eine Ausführungsform, bei der zwei verschiedene Sub-Verarbeitungseinrichtungen von einem gemeinsamen Datenspeicher her betrieben werden.· Bei dieser Ausführungsform ist die eine Sub-Verarbeitungseinrichtung durch einen Adressengenerator und die andere durch eine Recheneinrichtung gebildet. Es sei bemerkt, daß die Adressenerzeugung für den Haptspeieher oder Steuerspeicher (Zwischenspeicher) einer zentralen Verarbeitungsanlage viele Formen besitzt, von denen einige ziemlich kompliziert sind. So ist dabei z.B. eine direkte Adressierung, eine indirekte Adressierung, eine direkte Index-Adressierung und eine indirekte Index-Adressierung möglich. Beide Adressierungsarten sind weit verbreitet und in allen Fällen sowie für üeeradressen üblich. In großen ßecltenanlag-en werden häufig neben diesen Arten cer Adressierung noch andex'e Arten der Adressierung benutzt, und in diesen Fällen wird dir. «dressenerzeugung wirksamer durch eine gesonderte Sub-Verarbeitungseinrichtung vorgenommen, die in Beaug auf andere Verarbeitungseinrichtungen asynchron arbeitet, die ihre eigenen Steuerelemente, Speicherregister und "Rechen- soüie Verknüpfungsschaltungen besitzen.
90984 5/ 141 S BAD ORIGINAL
Die Adressengenerator-Sub-Verarbeitungseinrichtung gemäß Pig. 2 besitzt ein Steuerelement, das ein Lesespeicher-'~Adressenregister 32, einen Lesespeicher-Adressengenerator 33 und ein Örtliches Lesespeicher-Register 35 enthält. Die Ausgangssignale des Registers 35 steuern einen Mifcrooperations-Generator 36, der seinerseits Steuersignale an den Adressengenerator 50 abgibt. Der Adressengenerator 50 nimmt Befehle von dem Hauptspeicher 30 über das örtliche Speicherregister 31 und die Folgesteuereinrichtung 39 auf. Die Folgesteuereinrichtung 39 gibt eine Startadresse an das Lesespeicher-Adressenregister 32 ab. Bei der dargestellten Ausführungsform arbeitet der Generator 33 nach erfolgter Inbetriebsetzung zyklisch unter der Steuerung eines Taktgenerators 51; cLas Adressenregister 32 wia?d dabei durch eine Schrittsteuereinrichtung 52 mit jedem Zyklus weitergeschaltet. Eine Verzweigung zu einer anderen Lesespeicher-Folge wird dabei durch eine Verzweigungs-Mikrooperation über eine Adressengenerator-Adresse und diß Verzweigungs-Verknüpfungsschaltung 53 erreicht. Der Adressengenerator 50 ist an ein Speicheradressenregister 55 des Hauptspeichers angeschlossen, um diesem Ilauptspeicheradressen zuzuführen. Über einen Steuereingang 56 ist der Mikrooperations-Generator 36 durch externe Zustände derart, ansteuerbar, daß z.B. Adressengenerator-Mikrooperationen durch die Ergebnisse des Betriebs der Rechen- und Verknüpfungseinrichtung auslösbar sind. In einigen Fällen hängt eine Entscheidung darüber, ob eine Verzweigung auszuführen ist oder nicht, von den Ergebnissen eines Rechenschrittes in der Rechen- und Verknüpf ungseinrichtung ab. Die Rechen- und Verknüpfungseinrichtung wird ferner von einem Lesespeicher-Steuerelement gesteuert,^das ein Lesespeicher-AdressenreGlster 42 enthält, welches mit der Recheneinrichtung 4-3 verbunden ist. Diese Lesespeicher-Recheneinrichtung 4-3 ist ihrerseits mit einem örtlichen Lesespeicher-Register Λ5 verbunden. Das. Lese-
8098 k 5/1 Alii K * BAD original
speieher-Register 45 ist seinerseits so geschaltet, daß es Steuersignale an den Recheneinrichtungs-Mikrooperationsgenerator 46 abzugehen vermag. An den Ausgang des örtlichen 'Speicherregisters 31 ist ein Operationskode-Register 58 angeschlossen, das die Startadresse an das Lesespeicher-Adressenregister 42 abzugeben vermag. V/ie bei der in Fig. 1 dargestellten Ausführungsform werden die,Folgesteueradressen für die Lesespeicher-Recheneinrichtung von den Lesespeicher-V/orten in einem Feld 47 des örtlichen Lesespeicher-Register 45 geliefert. Dabei ist das örtliche Lesespeicher-Registerfeld 4? mit dem Eingang des Lesespeicher-Adressenregisters 42 verbunden. Für Verzweigung^zwecke besitzt der Recheneinriehtungs-Mikrooperationsgenerator 46 einen Ausgang, an den die Recheneinrichtung- und Verzweigungs-Verknüpfungsschaltung 59 angeschlossen ist. Diese Verknüpfungsschaltung 59 gibt Verzweigungsadressen an das Lesespeicher-Adressenregister 42 ab. Der Recheneinrichtungs-Mikrooperationsgenerator 46 ist dabei derart geschaltet, daß er Steuersignale an ein Rechen-und Verknüpfungselement 60 abgibt. Dieses Rechen- und Verknüpfungselement 60 besitzt einen mit dem örtlichen Hauptspeicherregister 31 direkt verbundenen Eingang 63 zur Aufnahme von Operanden. Über eine Ausgangsleitung des Rechen^ und Verknüpfungselementes 60 erfolgt eine Ansteuerung von Sehreibschaltungen 65 des Hauptspeichers 30 sowie eine Abgabe der Ergebnisse der Rechen- und Verknüpfungsoperationen, die in dem Hauptspeicher zu speiehern sind. Die Verriegelungsoperation bei der in Fig.2 dargestellten Ausführungsform läuft im wesentlichen wie folgt ab. Verriegelungszeichen in den Feldern 38 und 48 der örtlichen Lesespeicherregister 35 un<3- 45 sind zweekmäßigerweise Einzelhit-Zeichen, in denen eine "1" dazu dient, das Vorliegen eines Verriegelungsbefehls anzuzeigen, während eine "0" keine Verriegelung bedeutet. Eine "1" in dem Feld 38 und eine "0" in dem Feld 48 führt zur Abgäbe eiiies
if Sf 41/UfI
Äusgangssignals von dem Verriegelungs-Gatter 40 und damit zum Anhalten des Taktgenerators bzv/. der Takteinrichtung 51· Dadurch wird der Adressengenerator angehalten, und zwar solange, bis ein Verriegelungs-Bit in dem EeId 48 des Registers 45 auftritt. Eine "1" in dem Feld 48 sperrt das Verriegelungs-Gatter 40 und ermöglicht, daß die Takteinrichtung 51 ihren Betrieb wieder fortsetzt. Es sei bemerkt, daß die Verriegelungsfunktion bei einem Gatter im Eingangskreis der Takt einrichtung 51 in dem Fall durchgeführt v/erden kann, daß die Takteinriehtung 51 fortlaufend arbeitet. Bei Auftreten einer "O" in den Feldern 38 und 48 tritt keine Verriegelung auf; die Takteinrichtung 51 setzt dabei ihren Betrieb fort. Die Verriegelungsoperation der Rechen- und Verknüpfungseinrichtung ist der in Verbindung mit Fig. i beschriebenen Operation ähnlich. Ein Wort der Lesespeicher-Secheneinrichfcung, das eine "1" in dem Verriegelungs-Feld 48 besitzt, weist eine tfiederholungs-Adresse in dem Feld 47 auf. Mit einer "1" in dem Feld 4£ und einer "Q" in dem Feld 58 ist das Verriegelungs-Gatter 41 gesperrt, und die V/ieder— holungs-Adresse in dem Feld 47 bewirkt, daß das Iiesespeicher-Adressenregister 42 die Adressen desselben -.iortes wiederholt. Mit einer "1" in dem Feld 48 und einer iri" in dem Feld 58 bewirkt ein Ausgangssignal des Verriegelungs-Gatters 41 eine Modifizierung der Adresse in dem Lesespeicher-Adressenregister 42, und zwar derart, daß das Lesespeieher-Steuerelement der Rechen- und Verknüpfungs^Verarbeitungseinrichtung seinen Betrieb fortsetzt» liachstehend wird- eine allgemeine Funkt ioiis- und Operations-Beschreibung der in Fig. 2 dargesteilen Anordnung gegeben.
Die zentrale Verarbeitungseinrichtung gemäß Fig. 2 enthält zwei "Sub-Verarbeitungseinrichtungen11, nämlich eine einrichtung 62 und einen. Adressengenerafcor 6i> Jede beiden Sub-Verarbeitungseinrichtungen. besitzt einen
MtMS/titl badoriGINau
1315818
Lesespeicher 43 bzw. 33· Die Recheneinrichtung 62 und der Adressengenerator 61 arbeiten parallel als zwei voneinander unabhängige Verarbeitungeeinrichtungen, deren jede gänzlich von ihrem eigenen Lesespeicher gesteuert wird. Es besteht jedoch eine gewisse Synchronisierung und Nachrichtenverbindung zwischen beiden Sub-Verarbeitungseinrichtungen. In der Organisation, Adressierung und Dekodierung bestehen zwischen den beiden Sub-Verarbeitungseinrichtungen jedoch grundsätzliche Unterschiede. Diese Unterschiede rufen in gewissem Ausmaß grundsätzliche Unterschiede zwischen der Recheneinrichtung und dem Adressengenerator hervor; sie lassen dabei die Flexibilität und Fähigkeit der Spezialisierung eines Lesespeichers erkennen. Die hohe Geschwindigkeit, Kompliziertheit und physikalische Größe sind wichtige Bestimmungsgrößen hinsichtlich der Ausführung der Steuerfunktionen eines Lesespeichers.
Der Adressengenerator 53 steuert folgende Vorgänge:
1) Erzeugung sämtlicher Hauptspeicheradressen (Haupt- und Steuerspeicher),
2) zyklischer Umlaufbetrieb des Steuerspeichers,
3) Erzeugung von die Verbindung von Verarbeitungseinrichtungen betreffenden Datenworten (in Verbindung mit der Lesespeicher-Recheneinrichtung).
Die von dein Lesespeicher-Adressengenerator abgegebenen Wortfolgen stellen einen Satz von grundsätzlichen Mikrobefehlen' dar, aus denen eine Untergruppe dazu ausgewählt werden kann, irgendeine Adresse zu erzeugen oder aus irgendeinem Steuerspeicherplatz den Inhelt zu lesen oder in diesem zu ändern. Die folgenden Beispiele typischer Ablauffolgen des Lesespeiclier-AdressengeneratoiT mc^en dies verdeutlichen:
9 0 9 8 4 5 / U 1 S BA0
1) Periphere Zähleraufnähme; 2) direkte Hauptspeicheradresse; 3) Index-Hauptspeicherverzweigung; 4) Lade-" Eecheneinrichtungs-Zähler - Typ 1; 5) Aufnahme von Pufferbits. Das Beispiel der Ablauffolge 1 entspricht einer Folge von Lese- oder Schreibvorgängen in Bezug auf einige spezielle Speicherplätze; Beispiel 2 gibt Ablauffolgen an, die speziellen Adressentypen zugehörig sind; Beispiel 3 gibt Ablauffolgen an, die einer speziellen Kombination von Befehlstypen (Verzweigung) und Adressentypen (Index-Hauptspeicher) zugehörig sind; Beispiel 4- ist typisch für Ablauffolgen, die eine spezielle Kombination von Befehlstypen . · (Typ 1) und Steuerspeicherplätzen (Recheneinrichtungs-Zähler) betreffen; Beispiel 5 ist typisch für Ablauffolgen, die spezielle Befehle betreffen (Aufnahme von Pufferbits).
Tritt ein Befehlswort auf, so leitet die herkömmliche Verknüpfungsschaltung (Folgesteuereinrichtung 39) aus dem Befehlswort selbst die Gruppe der Adressengenerator-Folgen aus, die erforderlich sind, um sämtliche Speicheradressen zu erzeugen und den Inhalt sämtlicher Steuerspeicherplätze zu lesen bzw. zu ändern, der für eine Vervollständigung des Befehls erforderlich ist . Die Folgesteuereinrichtung 39 lädt dann die Adresse des ersten Speicherplatzes der ersten Folge in das Lesespeicher-Adressenregister 32. Dieses Adressenregister 32 wird dann mit Auftreten jedes Taktsignales um eins weitergeschaltet (sofern keine Verzweigung auftritt), bis die letzte Stelle der Folge erreicht ist. Zu diesem Zeitpunkt lädt die Folgesteuereinrichtung 39 die Adresse der ersten Stelle der nächsten Folge in das Lesespeicher-Adressenregister 32. Wenn die letzte Stelle der letzten Folge erreicht ist, lädt die Folge-Steuereinrichtung 39 die Adresse der ersten Stelle der ersten Folge des nächsten Befehls in das Lesespeicher-Adressenregister 32. Der betrachtete Vorgang wiederholt sich dann von neuem.
909845/ U1 5
Wie oben angedeutet, besitzt der Lesespeicher-Adressengenerator 33 Einrichtungen zur Verzweigung, d.h. zum Überg'ang von irgendeiner Speicherstelle zu irgendeiner anderen Speicherstelle, und zwar in Abhängigkeit von vorliegenden Bedingungen oder bedingungslos und unter seiner eigenen Steuerung. Die Verzweigung dient dabei dazu, Speicherstellen zu erhalten und eine Befehlsausführung durch Schleifenbildung innerhalb einer Folge zu beschleunigen, oder durch Springen auf einen Teil einer anderen Folge oder auf irgeneinen anderen Teil des Lesespeichers. Normalerweise arbeitet das Lesespeicher-Adressenregister 32 innerhalb einer Ablauffolge schrittweise mit jedem Taktimpuls bis zur letzten Speicherstelle hin, sofern nicht eine Verzweigung auftritt. Nach erfolgter Verzweigung läuft die norr.ale Schrittschaltung des Lesespeicher-Adressenregisters 32 weiter.
Der Lesespeicher-Adressengenerator 33 enthält z.B. 54- Ablauffolgen' aus jeweils zwei (Direkt-Hauptspeicheradressen)-Würtern zu 102 (peripheren Befehls )-V/örtern; dabei sind acht Worte pro Ablauffolge typisch. Die Erzeugung jeder Speicheradresse erfordert die Anwendung jeweils einer (Direkt-Hauptspeicher)-Ablauffolge zu vier (periphere Zählerabgabe)-Ablauffolgen; zwei Ablauffolgen pro Adresse sind typisch. Bei jeder zu erzeugenden Adresse stellen die speziell benutzten Ablauffolgen und die Befehle, in welchen diese Folgen benutzt werden, eine komplizierte Funktion -des jeweiligen Befehls, des Adressentyps und der umfaßten Steuerspeicherstellen dar. Dabei kann die Erzeugung der A-Adresse für einen binären Additionsbefehl jeweils zwei voneinander verschiedene Reihen von Ablauffolgen umfassen, und zwar wegen der ,Unterschiede in den Adressentypen. Selbstverständlich könnte eine bestimmte Ablauffolge bei vielen verschiedenen Befehlen benutzt werden.
$09845/1 4ti BAD ORIGINAL
Die Lesespeicher-Recheneinrichtung 62 führt folgende Steuervorgänge aus: 1. Steuerung von Operanden, 2. Zyklisches Betreiben des eine kleine Kapazität besitzenden Recheneinrichtungs-Zwischenspeichers, J. Erzeugung von Datenworten (in Verbindung mit dem Adressengenerator 61) betreffend die Verbindung der ■ Verarbeitungseinrichtungen.
Um den Lesespeicher 43 in wirtschaftlichster Weise au--
^ zunutzen, sind die Maschinenbefehle z.B. in 50 Gruppen eng verwandter Befehle angeordnet; dabei ist für jede Gruppe eine andere Recheneinrichtungs-Lesespeicherfol^e vorgesehen. So enthält z.B. die ii'estadditions-i'olge die Befehle Dezimal-Addition, Binär-Addition, Dezimal-Subtraktion, Binär-Subtraktion, erweiterte Binär-Addition und erweiterte Binär-Subtraktion. Besondere Varianten erfolgen durch Verzweigung.
Tritt ein Befehlswort auf, so werden die Operationskodebits in einem Operationskoderegister 58 gespeichert, v/enn der gerade aufgetretene Befehl vollständig verarbeitet ist (und keine Fehler festgestellt worden sind) , dann wird ) der Inhalt des Operationskoderegisters zu dem Adressenre— gister 42 hin übertragen. Die somit adressierte Lesespeicherstelle wird als Operationskodestelle bezeichnet; für jeden Maschinenoperationskode ist eine Operationskodestelle vorgesehen.
Verschiedene Bits jedes iesespeicher-Wortes werden als nächste Adresse in dem Feld 47 zurückbehalten. Normalerweise bezeichnet das Adressenfeld 47 den nächsten Wert des Lesespeicher-Adressenregisters 42. Eine Ausnahme hiervon bildet die Eingabe einer Ablauffolge oder das Auftreten einer Verzweigung innerhalb einer Ablauffolge. Das nächste
109845/UH
'■■';. "■■■■"■ ■■■--■ : ■ ■ .- ■'." BAD ORiGlMAL
Adressen:? eld einer Operatioiiskodestelle gibt die Adresse des ersten Wortes derjenigen Ablauffolge an, die zur Ausführung des Befehls benutzt \tfird. So ist z.B. die nächste Adresse der Binärsubtrafctions-OperationskOdestelle die Adresse der ersten Stelle der Fesi^additions-Folge. Dieses Adressenverfahren erlaubt eine vollkommenei Flexibilität in der Datensusammenstellung, wobei jedes Lesespeicherwort das nächste Lesespeicherwort bezeichnet.
Eine Verzweigung wird angewandt: Ί» Zum Festlegen einer Ablauffolge für einen besonderen Befehl innerhalb einer Befehlsgruppe, 2. zum Berücksichtigen von Änderungen in den Adressenformen und 3. zum Berücksichtigen von operandenabhängigen Zuständen. So liegt z.B. eine Verzweigung, die eine Festadditions-IOlge spezialisiert, in folgendem Fall vor: Dezimalsubtraktion, Leer-A-Adresse, Akkumulator- und B-Operanden entsprechender Vorzeichen, Wert des B-Operanden ist größer als Wert des Akkumulators.
Die Verzweigung wird durch Vei'zweigungs-Mikrooperationen gesteuert, die in gegenseitig sich ausschließenden Gruppen angeordnet sind. Jede Verzweigungs-Hikrooperation bezieht sich auf eine bestimmte Untergruppe von Verzweigungsvor-■iingen und auf ein bestimmtes Bit der Bits des Adressenref;isters ή-2. Eine Verzweigungs-Hikrooperation "besagt", u.a^ in dem Fall, d'aß bezeichnete Zustände auftreten, das bezeichnete Adressenregister-Bit auf "1" gesetzt werden .5GlItG« Wenn der Inhalt dea nächsten Adressenfeldes in das -Ädrespenrefister geladen wird, überlagern die aktiven Verzweitvungs-Kikrooperationen ausgewählte externe Zustände betreffende Daten über ausgewählte Bits des Adressenre-.^isterc.
9Q9845/U15
Um die Bedeutung der vorliegenden Erfindung zu erläutern, ■ist in dem in Fig. 3 dargestellten Flußdiagramm ein Beispiel sehr einfacher Vorgänge veranschaulicht, die das zur Erfindung gehörige Verriegelungs—Konzept benutzen.
Das im folgenden gegebene Beispiel betrifft einen einfachen Vergleich eines Α-Operanden mit einem B-Operanden. Der Befehl von dem Hauptspeicher 30 befiehlt dem Adressengenerator 61, die A-Operanden-Adresse zu erzeugen. Der Befehl von dem Hauptspeicher 30 befiehlt ferner der Recheneinrichtung, den Α-Operanden aufzunehmen. Üblicherweise verhindert eine festverdrahtete Verknüpfungsschaltung, daß die Recheneinrichtung fortschaltet, bevor sie den A-Operanden aufgenommen hat. Bei dem hier beschriebenen Ausführungsbeispiel sind die meisten Verzögerungseinrichtungen, die durch mangelnde. Zugriffsfähigkeit zu dem Hauptspeicher erforderlich sind, fest verdrahtet. Da dies herkömmlich ist und keinen Teil der Erfindung bildet, wird hierauf nicht näher eingegangen.
Der Adressengenerator läuft während der erforderlichen Lesespeicherzyklen, um die A-Operanden-Adresse zu erzeugen. Dies ist in Fig. 3 durch drei Zyklen angedeutet. Während dieser Zeitspanne kann die Lesespeicher-Recheneinrichtung in der durch die gestrichelte Linie 70 angedeuteten Weise angesteuert werden.
Wenn die A-Operanden-Adresse erzeugt ist, wird sie dem Speicheradressenregister 55 zugeführt, in welchem dann der Α-Operand verfügbar ist. Die Verfügbarkeit des A-Operanden führt zum erneuten Fortschalten des Lesespeichers 43 der Recheneinrichtung 62. Fig. 3 veranschaulicht dabei* daß dex· Lesespeicher 43 zur Aufnahme des Operanden A zwei Zyklen
909845/U15
BAD ORIGINAL
durchläuft. Es sei bemerkt, daß die Anzahl der für jede Operation dargestellten Zyklen nur der Erläuterung dient und daß in typischen Fällen hierfür eine r.elativ große Anzahl.an Zyklen erforderlich ist, wie z.B. acht.
Der Adressengenerator 61-setzt unmittelbar auf die Vervollständigung der A-Operanden~Adresse seinen Betrieb fort, um die B-Operanden-Adresse zu erzeugen. Da mit einem einzigen Befehlswort die Erzeugung der A-»Operanden-Adresse und der B-Operanden-Adresse erfaßt sein kann, sind die durch den Adressengenerator umfaßten Verzögerungen bis zu diesem Punkt durch dessen interne Verarbeitungszeit zuzüglich der Verzögerungszeit der NichtVerfügbarkeit des Hauptspeichers gegeben. Nach Beendigung der Erzeugung der 3-Operanden-Ädresse muß der Adressengenerator auf die Ergebnisse des Vergleichs der Recheneinrichtung warten, um seine nächste Befehlsadresse zu erhalten. Bei Fehlen eines Vergleichsergebnisses würde z.B. der betreffende Lesespeicher-Ädressengenerator die Adresse des nächsten Folgebefehls ableiten, wahrend bei Auftreten eines Vergleichsergebnisses eine Verzweigung des Lesespeicher-Adressengenerators zur Berechnung einer Verzweigungsadresse und für die Speicherstelle des nächsten Befehls verwendet würde.
Bas dem Adressengenerator zum Zwecke des Wartens zugeführte Signal besitzt, die Form einer Verriegelungs-Anzeige in dem letzten Wort der "Erzeuge-B-Adressen-Folge.- Dies ist in Fig. 3 durch einen mit "Zyklus 3 - Verriegelung" bezeichneten Block angedeutet.
Zurückkommend auf Fig. 2 sei bemerkt, daß ein Adressenre^ister-Verriegelungszeichen die Takteinrichtung 51 sperrt und damit das Fortschalten des Lesespeicher-Adressengenerators 33 unterbindet.
81104 5/HtS BADORiGINAL
Die Recheneinrichtung setzt ihren Betrieb fort, indem sie zunächst den B-Operanden aufnimmt und dann den A-Operanden mit dem B-Operanden vergleicht. Der Vergleich erfordert eine Folge von Lesespeicherzyklen 1 bis 6. Diese Anzahl an Zyklen ist hier rein willkürlich für die Vergleichsfolge gewählt. Eine gestrichelte Linie 71 vertritt dabei nicht dargestellte Zyklen. Das letzte-Wort der Vergleichsfolge liefert eine Verriegelungs-Anzeire, die durch einen mit "Zyklus 6 - Verriegelung" bezeichneten Block angedeutet ist. Das Leseeinrichtungs-Verriegelungszeichen gibt die Takteinrichtung 51 frei (siehe Fig. 2), indem das Verriegelungs-Gatter 40 gesperrt wird. Damit ist dem Adressengenerator eine Information darüber zugeleitet, daß die Vergleichsergebnisse verfügbar sind. Dabei wird der Lesespeicher-Adressengenerator wieder fortgeschaltet. Die in Fig. 3 dargestellte gestrichelte Linie 72 soll die Verzögerungszeitspanne andeuten, während der der Adressengenerator auf die Ergebnisse des A/B-Vergleichs wartet.
Mit Auftreten eines Recheneiiirichtun^s-Verriegelungszeichens wird der Adressengenerator fortgeschaltet, und die A/B-Vergleichsergebnisse v/erden als externe Zustandsgrößen dem Eingang 56 des !'Ükrooperations-Generators 36 zugeführt (siehe Fig. 2).
Zurückkommend auf Fig. 3 sei bemerkt, daß der durch den mit "Wenn A = B ist, setze Verzweigungs-Anzeige1* bezeichneten Block festgelegte Vorgang die Abgabe der Verzvieigungs-Anzeige des Adressengenerators mit Auftreten der Ergebnisse der Recheneinrichtung auslöst. Die gestrichelte Linie 75 deutet dies an. Das Auftreten eines VergleichsergebMsges kann z.B. die Abgabe einer Verzweigungs-Operation mit sieh bringen, die durch den mit "Verzweigung" bezeichnetes Block angedeutet ist. Ein Hieht-Vergleich kann z.B. zii eimern*
9Q9845/U15
BAD ORIGINAL
Fortsetzung der Ablauf folge "keine "Verzweigung" führen. Die beiden Ablauffolgen führen in Abhängigkeit von den Vergleichsergebnissen zur Abgabe von Adressen für unterschiedliche Befehle.
it
Das Auftreten einer Adressengenerator-Verriegelung, wie sie durch die gestrichelte Linie 75 angedeutet ist, und zwar auf das Auftreten einer Recheneinrichtungs-Vex1-riegelung hin, ermöglicht der Recheneinrichtung, ihren Betrieb fortzusetzen. Wäre die Adressengenerator-Verriegelung nio_Jit aufgetreten, so würde die Recheneinrichtung foi^tfahren, auf das letzte Wort hin zyklisch weiter zu arbeiten.
Die Portschaltung der Recheneinrichtung kann angehalten werden, und zwar auch bei aufgetretener Adressengenerator- :: und bei Fehlen eines weiteren Befehls.
Das in Fig. 3 dargestellte Flußdiagramm veranschaulicht eine Unterbefehlsfolge, die eine Verriegelung zwischen den beiden in Fig· 2 gezeigten Sub-Verarbeitungseinrichtungen erfordert. Betrachtet man diese beiden Sub-Verarbeitungseinrichtungen, so zeigt sich, daß einige Unterbefehlsfolgen eine Verriegelung nicht erforderlich machen. So ist z.B. bei dem Befehl "Addiere A und B und führe die Summe in das Speicherregister X ein" keine der zu erzeugenden Adressen von den Ergebnissen der Recheneinrichtung abhängig. Damit kann der Adressengenerator seinen Betrieb fortsetzen und Adressen erzeugen, einschließlich den nächsten Befehl und die Adressen, die der nächste Befehl erfordert. Der Betrieb kann dabei mit der maximalen Arbeitsgeschwindigkeit erfolgen, die lediglich durch den Zugriff zu dem Hauptspeicher begrenzt ist. Die Recheneinrichtung arbeitet ebenfalls siit voller Geschwindigkeit; eine Ausnahme hiervon
909845/U1S
BAD
bildet der Speicherzugriff. Damit ist die Ablauffolge durch unnötige Verzögerungen nicht behindert. Die Lesespeicher-Verriegelungen werden eindeutig auf sie erfordernde Ablauf folgen hin ausgeführt.. Eine zusätzliche Verknüpfung wird dazu benutzt zu verhindern, daß Operanden auftreten, bevor die Recheneinrichtung sie aufnehmen kann, oder daß Ergebnisse früher auftreten als die Recheneinrichtung sie abgeben kann.
r Die Befehls-Vorschau-Merkmale der beschriebenen Ausführungsformen gehen aus den Zeichnungen nicht unmittelbar hervor. Gemäß Fig. 2 enthält das Adressengeneratorelement 50 vorzugsweise eine Vielzahl von Registern zur Aneinanderreihung von während des Betriebs fortzuschaltenden Hauptspeicheradressen. Dies ermöglicht dem Adressengenerator 61, die Erzeugung von Adressen auch dann fortzusetzen, wenn die Recheneinrichtung· 62 diese noch nicht verwenden* kann. Da sowohl die Recheneinrichtung 62 als auch der Adressengenerätor 61 ihren jeweiligen Betrieb unter Mikroprogrammsteuerung ausführen, die unabhängig von dem jeweiligen Anfangsbefehl ist, kann der Adressengenerator 61 einen Befehl herausziehen und mit der Adressenerzeugung beginnen, während die Recheneinrichtung 62 noch den vorangehenden Befehl verarbeitet. Diese Vorfachau-Betriebsart ist in der vorliegen^ den Erfindung stark vereinfacht, da die Verriegelungen, die durch Anzeige-Bits in den Mikrobefehlen ausgelöst werden, den notwendigen Schutz bei den kritischen Punkten liefern, an denen die Verarbeitungseinrichtungs-Operätiönen stimmen müssen. Wie aus der vorstehenden Erläuterung hervorgehen dürfte, ist die Rompl:ziertheit und der Preis des Hardware-Aufwandes, der für diesen Verriegelungs-Schutz erforderlich ist,
909845/1415 BADOR1G1NAL
Vorstehend ist die Erfindung an Hand spezieller Ausführungsbeispiele mit nur zwei Verarbeitungseinrichtungen . erläutert worden. Die Erfindung ist jedoch auch in Fällen anwendbar, in denen drei oder mehr Verarbeitungseinrichtungen Verarbeitungs-Verriegelungen erfordern. Die jeweils verwendeten besonderen Gatteranordnungen hängen dabei in gewissem Ausmaß von der Art der verwendeten Folgesteuereinrichtungen ab. Fig. 1 zeigt dabei eine im wesentlichen symmetrische Anordnung, während Fig. 2 den Aufbau einer Verarbeitungseinrichtung veranschaulicht, deren Betrieb durch ein Verriegelungs-tfort aufhaltbar ist. Die andere Verarbeitungseinrichtung setzt ihren Zyklus in Abhängigkeit von einem Verriegelungsbefehl auf ein einzelnes Wort hin fort.
Bei der in Fig. 2 dargestellten Ausführungsform ist es ferner häufig erwünscht, die beiden Verarbeitungseinrichtungen im Master-Slave-Betrieb arbeiten zu lassen. Durch Wegnahme oder Sperrung des Verriegelungs-Gatters 40 wird lediglich der Betrieb der Recheneinrichtung 62 durch ein Verriegelungs-Zeichen aufgehalten. Ein Verriegelungs-Zeichen von dem Adressengenerator 61 gibt dann die Recheneinrichtung 62"als Master-Einrichtung wieder frei. Andere auf bestimmte Formen von Verarbeitungseinrichtungen gerichtete Änderungen liegen im Rahmen der Erfindung.
RAD
909845/T41S BA

Claims (1)

  1. atenfcan spräche
    Elektronisches Datenverarbeitungssystem mit einem Hauptspeicher, wenigstens einem eine erste üub-Verarbeitungsein:eichbung darstellenden Adressengrenerator und wenigstens einer eine zweite Sub-Ve^arbeicuaGS-einrichtung darstellenden Rechen- und Verknüpfung ein-" richtung, wobei die oub—Verarbeitungseinrichtungen insbesondere zur-Ausführung von voneinander abhängigen Befehlen dienen, dadurch gekennzeichnet, cLaf: eine erste adressierbare ffolgesteuereinrichtung (13) vorgesehen ist, die Mikrobefehle zur Steuerung elementarer Operationen des Adressengenerators (50) abgibt, daß eine zweite adressierbare Folgesteuereinrichtung (23) vorgesehen ist, die Iiikrobefehle zur Steuerung elementarer Operationen der Rechen- und VerknÜDfungseinrichtung (60) abgibt, daß Steuereinrichtungen (12,22; 36,46;5Ί) vorgesehen sind, die eine aufeinanderfolgende Fortschaltung von Mikrobefehlswörtern in der ersten und in der zweiten adressierbaren Folgesteuez*einriciitung (13,23) bewirken, daß Verriegelungseinrichtungen (20,21 bzw. 40,41) vorgesehen sind, die mit Auftreten eines ein Verriegelung^—Zeichen enthaltenden Mikrobefehlswortes das Sortschalten der Mikrobef ehlsv/örter in der einen SOlgesteuereinrichtung (13,23) unterbrechen, und daß Freigabeeinrichtungen (20,21 bzw. 40, 41) vorgesehen sind, die nach Auftreten des ein Verriegelungszeichen enthaltenden Mikrobefehlswortes die Fortschaltung der genannten einen PoIgesteuereinrichtung (13) auf ein ein Verriegelungszeichen für die andere Folgesteuereinrichtung (23) enthaltendes HikrobefehlsWort hin freigehen.
    SQI045/U1S
    BAD ORIGINAL
    2. I)3"tenv(-3'a3.'"beitungsaystera nach Anspruch 1, dadurch gekennzeichnet, daß die IPolgesteuereinrichtungen ('13,2^) durch Lesespeicher gebildet sind, deren Speicherinhalt lediglich außerhalb des Hormal-Betriebs elektrisch änderbai^ ist.
    5. Datenverarbeitungsystem nach Anspruch 2, dadurch (gekennzeichnet, daß die Lesespeicher durch adressier bare Speichermatrizen gebildet sind.
    4·. Datenverarbeitungssystem nach einem der Ansprüche bis 5t dadurch gekennzeichnet, daß die Steuereinrichtungen zur aufeinanderfolgenden Fortschaltung von insbesondere dem AcLressenfcenerator (50) zuzuführenden Mikrobefehlswörtern einen Taktgenerator (^1) enthalten.
    5. Datenveiarbeitun^södstem nach Anspruch 4, dadurch £exennzeiclin.et, daf. c ie Abgabe von Taktimpuls en von deia Taktgenerator ( ;'1) durch die Verriegelungs-Einriclitiuir;en (^Ο,^^ΐ) unterbrechbar ist.
    „- Diteiiverex'beitungss^'iiteir. nach einem der Ansprüche bis 5-1 dadurch gekennsoichnet, daß durch die Verrief.eluii^i-jiinrichrunjen (,/'Κ),'-1 ;yt ,4i) eine Wiederholungsadrease deo jev/eils vorliegenden Hikrobefehlewortes in der entsprechenden Ifolgesteuerein-G (1^,25) alvebfcar ist.
    7. Datenverarbeitungt-s; i, uOi-i nach Anspruch 6, dadurch gekennzeichnet, da:: da Viiedsrholun^sadx^esse durch die Preicabeeinrichtung (7'^,·' \j ,■'..) incdifizierbar ist.
    BAD ORIGINAL
    - 26 -
    8. Datenverarbeitungsystem nach einem der Ansprüche 1 bis 7» dadurch gekennzeichnet, daß dem Adressengenerator (50) und der Rechen- und Verknüpfungseinrichtung (60) jeweils ein durch Mikroprogramme gesteuertes Register (15525 bzw. 35; 4-5) zugehörig ist und daß in diesen Registern (15»25 bzw. 35j4-5) Jeweils an bestimmten Stellen (17,28 bzw. 38,4-8) Mikrobe- ,. ~ fehle für die Steuerung der Verriegelungs- und Freigabeeinrichtungen (20,21 bzw. 40,4-1) speicherbar sind.
    9* Datenverarbeitungssystem nach einem der Ansprüche bis 8, dadurch gekennzeichnet, daß die Verriegelungsund Freigabeeinrichtungen (20,21 bzw'. 40,41) durch Verknüpfungsgatter gebildet sind.
    10. Datenverarbeitungssystem nach Anspruch 9» dadurch gekennzeichnet, daß die Verknüpfungsgatter mit beiden Polgesteuereinrichtungen (13,23) verbunden sind.
    11. Datenverarbeitungssystem nach einem der Ansprüche 1 bis 10, dadurch gekennzeichnet, daß bei Verwendung von zwei Sub-Verarbeitungseinrichtungen (61,62) diesen zugehörige Steuei^elemente (35j4-'5) nach dem Master-Slave-Prinsip betrieben werden, daß für die Unterbrechung der Fortschaltung der Mikrobefehlswörter der einen Steuereinrichtung (35) eine Verriegelungs-Anzeige in einem dieser Steuereinrichtung (35) zugeführten Mikrobefehl dient und daß die betreffende Foz'tschaltung durch eine Verriegelungs-Anzeige in einem der anderen Steuereinrichtung (4-5) zugeführten Mikrobefehl wieder freigebbar ist.
    90984 5/ HI 5
    BAD ORIGINAL '
DE1915818A 1968-04-03 1969-03-27 Steuerschaltung für ein elektronisches Datenverarbeitungssystem Expired DE1915818C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US71849368A 1968-04-03 1968-04-03

Publications (3)

Publication Number Publication Date
DE1915818A1 true DE1915818A1 (de) 1969-11-06
DE1915818B2 DE1915818B2 (de) 1978-05-03
DE1915818C3 DE1915818C3 (de) 1979-01-04

Family

ID=24886273

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1915818A Expired DE1915818C3 (de) 1968-04-03 1969-03-27 Steuerschaltung für ein elektronisches Datenverarbeitungssystem

Country Status (5)

Country Link
US (1) US3651482A (de)
JP (1) JPS524140B1 (de)
DE (1) DE1915818C3 (de)
FR (1) FR2005426A1 (de)
GB (1) GB1258801A (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
FR2136845B1 (de) * 1971-05-07 1973-05-11 Inf Cie Intern
US3896418A (en) * 1971-08-31 1975-07-22 Texas Instruments Inc Synchronous multi-processor system utilizing a single external memory unit
US3891972A (en) * 1972-06-09 1975-06-24 Hewlett Packard Co Synchronous sequential controller for logic outputs
US3931505A (en) * 1974-03-13 1976-01-06 Bell Telephone Laboratories, Incorporated Program controlled data processor
US3978454A (en) * 1974-06-20 1976-08-31 Westinghouse Electric Corporation System and method for programmable sequence control
JPS5121453A (ja) * 1974-08-15 1976-02-20 Hitachi Ltd Deetashorishisutemu
US3953833A (en) * 1974-08-21 1976-04-27 Technology Marketing Incorporated Microprogrammable computer having a dual function secondary storage element
JPS5216974U (de) * 1975-07-24 1977-02-05
US4320453A (en) * 1978-11-02 1982-03-16 Digital House, Ltd. Dual sequencer microprocessor
US4370709A (en) * 1980-08-01 1983-01-25 Tracor, Inc. Computer emulator with three segment microcode memory and two separate microcontrollers for operand derivation and execution phases
US4399516A (en) * 1981-02-10 1983-08-16 Bell Telephone Laboratories, Incorporated Stored-program control machine
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
JPH081604B2 (ja) * 1983-07-25 1996-01-10 株式会社日立製作所 マイクロプロセッサ
US5165033A (en) * 1983-07-25 1992-11-17 Hitachi, Ltd. Microprocessor and data processor using the former
US5093775A (en) * 1983-11-07 1992-03-03 Digital Equipment Corporation Microcode control system for digital data processing system
JPS61110256A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 複数の演算部を有するプロセツサ
CA1271561A (en) * 1986-07-02 1990-07-10 Jeffry M. Bram Instruction decoding microengines
JPH06103494B2 (ja) * 1986-11-18 1994-12-14 株式会社日立製作所 ベクトル処理装置の制御方式
US4853849A (en) * 1986-12-17 1989-08-01 Intel Corporation Multi-tasking register set mapping system which changes a register set pointer block bit during access instruction
US4965721A (en) * 1987-03-31 1990-10-23 Bull Hn Information Systems Inc. Firmware state apparatus for controlling sequencing of processing including test operation in multiple data lines of communication
US4979104A (en) * 1987-03-31 1990-12-18 Bull Hn Information Systems Inc. Dual microprocessor control system
US4945473A (en) * 1987-05-15 1990-07-31 Bull Hn Information Systems Inc. Communications controller interface
US5222237A (en) * 1988-02-02 1993-06-22 Thinking Machines Corporation Apparatus for aligning the operation of a plurality of processors
US5117387A (en) * 1988-08-18 1992-05-26 Delco Electronics Corporation Microprogrammed timer processor
US5081609A (en) * 1989-01-10 1992-01-14 Bull Hn Information Systems Inc. Multiprocessor controller having time shared control store
US5043879A (en) * 1989-01-12 1991-08-27 International Business Machines Corporation PLA microcode controller
US5761473A (en) * 1993-01-08 1998-06-02 International Business Machines Corporation Method and system for increased instruction synchronization efficiency in a superscalar processsor system utilizing partial data dependency interlocking
JPH0887411A (ja) * 1994-09-19 1996-04-02 Fujitsu Ltd パイプライン演算方法およびパイプライン演算装置
JP2007317152A (ja) * 2006-05-29 2007-12-06 Yuundo:Kk 情報処理装置
US7526638B1 (en) * 2008-03-16 2009-04-28 International Business Machines Corporation Hardware alteration of instructions in a microcode routine

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3248708A (en) * 1962-01-22 1966-04-26 Ibm Memory organization for fast read storage
US3319226A (en) * 1962-11-30 1967-05-09 Burroughs Corp Data processor module for a modular data processing system for operation with a time-shared memory in the simultaneous execution of multi-tasks and multi-programs
US3312951A (en) * 1964-05-29 1967-04-04 North American Aviation Inc Multiple computer system with program interrupt
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3462741A (en) * 1966-07-25 1969-08-19 Ibm Automatic control of peripheral processors
US3480917A (en) * 1967-06-01 1969-11-25 Bell Telephone Labor Inc Arrangement for transferring between program sequences in a data processor

Also Published As

Publication number Publication date
FR2005426A1 (de) 1969-12-12
GB1258801A (de) 1971-12-30
JPS524140B1 (de) 1977-02-01
US3651482A (en) 1972-03-21
DE1915818B2 (de) 1978-05-03
DE1915818C3 (de) 1979-01-04

Similar Documents

Publication Publication Date Title
DE1915818A1 (de) Elektronisches Datenverarbeitungssystem
DE2322674C3 (de) Mikroprogramm-Steuereinrichtung
DE2907181C2 (de) Prozessor mit einem Befehlssatz-Modifizierregister
DE2714805C2 (de)
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE2545873A1 (de) Zugriffsfolgesteuervorrichtung fuer eine speichereinheit
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2339636A1 (de) Programmsteuereinrichtung
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE2019444A1 (de) Datenverarbeitungsanlage
DE2755616A1 (de) Asymmetrischer multiprozessor
DE2440628A1 (de) Datenverarbeitungsanlage mit mikroprogrammierung
DE2364323C2 (de) Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage
DE2753650C2 (de) Zeithaltende Einrichtung mit einem Register zum Speichern von Zeitzähldaten
DE2725614C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE3447530A1 (de) Vektorprozessor
DE2545751C2 (de) Ablaufsteuerung für eine Datenverarbeitungsanlage
DE1499224B2 (de) Datenverarbeitungsanlage mit kellerspeichereinrichtungen
DE3435741C2 (de)
DE2710436A1 (de) Datenverarbeitungseinrichtung
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee