DE2055716A1 - Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme - Google Patents

Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme

Info

Publication number
DE2055716A1
DE2055716A1 DE19702055716 DE2055716A DE2055716A1 DE 2055716 A1 DE2055716 A1 DE 2055716A1 DE 19702055716 DE19702055716 DE 19702055716 DE 2055716 A DE2055716 A DE 2055716A DE 2055716 A1 DE2055716 A1 DE 2055716A1
Authority
DE
Germany
Prior art keywords
processing device
memory
program
control
register
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.)
Withdrawn
Application number
DE19702055716
Other languages
English (en)
Inventor
George S Sudbury Mass Kelly Richard P Nashua N H Hoff, (V St A )
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 DE2055716A1 publication Critical patent/DE2055716A1/de
Withdrawn 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
    • 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/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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

Dipl.-Ing. Heinz Bardehle 2ö557lQ
Patentanwalt
8000 München 26, Postfach 4
Mein Zeichen: P 1052
Anmelder: HONEYIiBLL INC.
2701 Fourth Avenue South, Minneapolis, Minnesota, V.St.A.
Datenverarbeitungssystem zur gleichzeitigen Verarbeitung mehrerer Programme
Sie Erfindung bezieht sich auf Datenverarbeitungsaysteme und inabesondere auf Datenverarbeitungssysteme zur gleichzeitigen Verarbeitung mehrerer Programme, wobei Yerarbeitungseinrichtungen mit verschiedenen Befehlssätzen verwendet und durch individuelle Steuerelemente gesteuert werden.
Um Befehle von einem oder mehreren Programmen schneller verarbeiten zu können, sind Vesrbeitungseinrichtungen vorgesehen, die stark spezialisierte Befehlsvorräte aufweisen (das sind Quadratwurzel, Logarithmen etc.). Durch das Aufkommen der Mikroprogrammerung lassen sich bestimmte Befehlsarten durch SpeZielprogramme einfach ausführen, die in einem Steuerelement gespeichert sind (wie zum Beispiel in einem
109821/1830
: Festwertspeicher). Um den Steuerspeieheraufwand herabzusetzen, der mit der Speicherung zusätzlicher Programme verbunden- ist,, ' und ausserdem die zusätzliche lomplizierung der für die Ablaufsteuerung vorgesehenen Baugruppen der einzelnen Verarbeitungseinriehtungen herabzusetzen, sind bei den bisher bekannten Systemen unterprogramm© mit mehreren Programmbefehlen verwendet worden. Dabei ist jeder Programmbefehl duroh verfügbare Mikroprogramme ausführbar. Bei der herkömmlichen Program·» mierung ist jedoch die Anwendung von Unterprogrammen zur Ausführung bestimmter Operationen, die nicht durch den vorhandenen Befehlssatz umfasst sind, zeitraubend.
Gemäss einem weiteren Versuch j die Kompliziertheit der für die Verarbeitungssteuereinrichtungen vorgesehenen BaUjgrmppen und Geräte herabzusetzen, ist bisher so vorgegangen worden, dass der Befehlssatz der einzelnen Verärbeitungseinriehtungen eines Datenverarbeitungssystems zur gleichzeitigen Yerarbeitung mehrerer Programme beschränkt worden ist. Ausserdea ist dabei gefordert worden, dass jede Verarbeitungseinriehtung in spezieller Weise programmiert wird, um unterschiedliche * Befehlsprogrammsegmente ausführen zu können. In diesem Fall wird von dem Programmierer verlangt, spezielle Befehle am besonderen Punkten innerhalb des jeweiligen Programms eiözu-H fügen, und zwar zur Übertragung unterschiedlicher Programmteile zu und von dem der jeweiligen Verarbeitungsei^riehtung zugehörigen Speicherbereich. Ton Nachteil bei Anordnungen dieses Typs ist, dass der Programmierer zusätzlich belastet wird und dass wertvolle leehenzeit für die Verarbeitung derartiger übergänge bzw. Sprünge verbraucht wid.
Bei anderen bekannten Systemen ist ein Ausführungs- oder Überwachui^programm in dem Datenverarbeitungssystem für die gleichzeitige Verarbeitung mehrerer Programme vorgesehen, um die Zuordnung von Anforderungen und die erforderliehen
109821/1830
ο _ 3 -
Sprung- und Steuerfunktionen zu den einzelnen Systemverarbeitungseinrichtungen hin zu leiten. (Das heisst, dass organisatorische Operationen bezüglich der Zuordnung von Programmen Datensegmenten ausgeführt werden). Aufgrund der Schwierigkeit, eine natürliche und wirkungsvolle Aufteilung der Anforderungen an die einzelnen Verarbeitungseinrichtungen vorzunehmen, muss das Überwachungsprogramm ausaerordentlich kompliziert sein. Darüber ünaus benötigt das Überwachungsprogramm des Systems relativ viel Zeit, um die betreffenden Operationen auszuführen, die zur Erzielung der oben erwähnten Zuordnung und Betriebsfunktionen erforderlich sind. Von weiterer Bedeutung· ist noch, dass die Zeit für die Verarbeitung jeder Funktion ausserordentlich lang ist und unnötige Verzögerungen für die Programme bedeuten kann, die von den einzelnen Verarbeitungseinrichtungen verarbeitet werden.
Der Erfindung liegt demgemäss die Aufgabe zugrunde, ein Datenverarbeitungssystem zur gleichzeitigen Verarbeitung mehrerer Programme zu schaffen, das Verarbeitungseinrichtungen mit unterschiedlichen Befehlssätzen enthält, wobei eine derartige Verarbeitungseinrichtung während der Ausführung eines Programms im Stande ist, eine zeitliche Verachachtelung mit dem Befehlssatz einer anderen Verarbeitungseinrichtung für die Ausführung von Programmbefehlen vorzunehmen, die nicht innerhalb des eigenen Programmsatzes enthalten sind.
G-elöst wird die vorstehend aufgezeigte Aufgabe erfindungsgemäss durch eine Datenverarbeitungsanlage zur gleichzeitigen Ausführung mehrerer Programme mit einem Speicher zur Speicherung von Befehlen, mit einer ersten Verarbeitungffeinrichtung, die mit einem bestimmten Befehlssatz arbeitet und die ein erstes Steuerelement enthält, durch das die betreffende Verarbeitungseinrichtung unabhängig die Befehle eines ersten Programms auszuführen vermag, wobei das genannte erste Steuerelement Einrichtungen enthält, die Befehle festzustellen gestatten, welche
109821/1Ö30
nicht innerhalb des eigenen Befehlssatzes vorhanden sind, und die daraufhin ein Ausgangs-Setzsignal erzeugen. Ferner ist eine zweite Verarbeitungseinrichtung vorgesehen, die mit einem anderen Befehlssatz arbeitet und die ein zweites Steuerelement enthält, durch das die zweite Verarbeitungseinrichtung in einen Zustand geführt wird, in welchem sie unabhängig Befehle eines zweiten Programms auszuführen vermag. Schliesslich ist eine Verknüpfungseinrichtung unmittelbar mit dem ersten und dem zweiten Steuerelement verbunden. Diese Verknüpfungseinrichtung spricht auf die Aüsgangs-Setz-Signale an und überführt das zweite Steuerelement in einen _ Zustand, in welchem dieses den Ausgangs-Setzbefehl ausführt, ™ und zwar zeitlich verschachtelt mit der Ausführung der Befehle, die innerhalb des eigenen Programms der betreffenden zweiten Verarbeitungseinrichtung auftreten.
Bei dem erfindungsgemässen, verbesserten Datenverarbeitungseystem zur praktisch gleichzeitigen Verarbeitung mehrerer Programme werden also Verarbeitungseinrichtungen verwendet, deren jede einen anderen Befehlsvorrat aufweist. Die Verarbeitingseinrichtungen arbeiten dabei zeitlich verschachtelt mit einem gemeinsamen Speicher zusammen; sie werden über ihre individuellen Steuerelemente in zeitlicher Verschachtelung mit dem Befehlssatz der jeweils anderen Verarbeitungseinrich- m tung verbunden, um jene Befehle auszuführen, die nicht innerhalb des eigenen Befehlssatzes vorhanden sind.
Bei einer in den Zeichnungen dargestellten und weiter unten näher beschriebenen Ausführungsform der Erfindung enthalten beide Verarbeitungseinrichtungen ttikroprogrammierte Steuerelemente sowie Verarbeitungsdaten mit unterschiedlichen Datenformaten. Die eine Verarbeitungseinrichtung verarbeitet dabei Daten mit einem festen Wortformat, während die andere Ver-
1 09821/1830
arbeitungseinrichtung Daten variabler länge bzw. variablen Zeichenformats verwendet. Das zur praktisch gleichzeitigen Ausführung mehrerer Programme dienende Datenverarbeitungasystem gemäss der bevorzugten Ausführungsform arbeitet mit Programmverschachtelung, und zwar insoweit, als sowohl eine wortorientierte Verarbeitungseinrichtung als auch eine zeichenorientierte Verarbeitungseinrichtung gleichzeitig mehr als
en
ein Programm ausführen könn. Gemäss den Lehren der Erfindung werden sämtliche Befehle in den durch eine Wort-Verarbeitungseinrichtung zu verarbeitenden Programmen für die Ausführung codiert. Die betreffende Wort-Verarbeitungseinrichtung bezeichnet dabei wesentlich wirksamer Operationen, die von der Zeichen-Verarbeitungseinrichtung ausgeführt werden.
Während der normalen Programmverarbeitung wird in dem Pail, dass die wortorientierte Verarbeitungseinrichtung eine Befehlstype umfasst, die nicht in ihrem Befehlsvorrat als codierte 1 enthalten ist, der betreffende Befehl in daa System-Überwachungsprogramm mit einbezogen. Bei der codierten 1 kann es sich zum Beispiel um die Bezeichnung eines bevorzugten Befehls handeln, der durch die Zeichen-Verarbeitungseinrichtung auszuführen ist. Das Überwachungsprogramm bewirkt eine Codedarstellung des Befehls in einem Zeichenformat; es enthält einen geeigneten Verschlüsselungscode und eine Grund-Wiederauf findungsadresse des Urapriingsprogramms. Hierdurch ist es der Zeichen-Verarbeitungseinrichtung möglich, die Identität bzw. das Kennzeichen des Ursprungsprogramms aufzunehmen, und zwar für den Zugriff zu Speicherbereichen, die dem Programm zugeordnet sind, wenn die durch den Befehl bezeichnete Operation ausgeführt wird. Das Überwachungsprogramm signalisiert :. . die die Wort-Verarbeitungeeinrichtung betreffenden Signale die Zeichen-Verarbeitungseinrichtung über ihr mikroprogrammiertes Steuerelement. Nach erfolgter Signalieierung gibt die Zeichen-Verarbeitungeeinrichtung eine spezielle Mikrobefehlefolge ein, durch die die normale Befehle-
109821/1830
205571
einfangphase nachgebildet wird. Dadurch wird der Masehinenzustand automatisch ausgespeichert, und der Programmbefehl für die Wort-Verarbeitungseinrichtung wird aus dem bestimmten Speicherplatz entnommen. Jener wird die Maschine in eine spezielle Betriebsart übergeführt. Die spezielle Mikrobefehlsfolge führt das mikroprogrammierte Steuerelement zu einem Punkt zurück, an dem die durch den Befehl bezeichnete Operation durch Mikroprogramme ausführbar ist, die von der Zeichen-Verarbeitungseinrichtung für die normale Ausführung von Befehlen
en ihres eigenen Programms benutzt werd.
Nach erfolgter Ausführung der entsprechenden Vorgänge gibt die Zeichen-Verarbeitungseinrichtung über ihr mikroprogrammiertes Steuerelement ein entsprechendes Signal an die Wort-Verarbeitungseinrichtung ab. Die Zeichen-Verarbeitungseinrichtung kehrt dann wieder in ihren ursprünglichen Maschinenzustand zurück, bevor ihr spezieller Betrieb; wieder abläuft. Ferner wird zu der normalen Verarbeitung wieder zurückgekehrt. Die Wort-Verarbeitungseinrichtung, die bis zu der Beendigung der Ausführung des Befehls durch die Verarbeitungseinrichtung
stillgesetzt war, nimmt wieder die normale Programmverarbeitung auf die Aufnahme des Zeichen-Verarbeitungs-Signals auf.
Durch direkte Verbindung der Steuerelemente beider Verarbeitungseinrichtungen stehen diese direkt und mit minimalem Geräteaufwand wirksam in Nachrichtenverbindung. Darüber hinaus ist es der einen Verarbeitungseinrichtung möglich, in zeitlicher Verschachtelung die vorhandenen Programme auszunutzen, die in dem Steuerelement der anderen Verarbeitungseinriehtung enthalten sind. Die betreffende Verarbeitungseinrichtung erweitert oder vergrössert damit ihren Befehlsvorrat bei nur geringer Zunahme des Steuerspeicheraufwanda (das ist das Steuerelement) der anderen Verarbeitungseinrichtung.
109821/1830
Anhand von Zeichnungen wird die Erfindung nachstehend an Ausführungsbeispielen näher erläutert.
Fig. 1 zeigt schematisch ein die vorliegende Erfindung verkörperndes Datenverarbeitungssystem zur gleichzeitigen Verarbeitung mehrerer Programme.
Fig. 1a zeigt das Format eines Befehls, der durch eine Zeiehen-Verarbeitungseinriehtung ausführbar ist.
Fig. 2 zeigt in näheren Einzelheiten Teile einer Wort-Verarbeitungseinrichtung des in Fig. 1 dargestellten Systems.
Fig. 3 zeigt in näheren Einzelheiten Teile einer Zeiehen-■^•arbeitungseinrichtung bei dem System gemäss Fig.
Fig. 4 zeigt in einem Flussdiagramm den Verfahrensablauf durch die Wort-Verarbeitungseinrichtung bei dem System gemäss Fig. 1, wenn ein zeichenorientierter Befehl verarbeitet wird.
Fig. 5 zeigt in einem Flussdiagramm die Verfahrensweise bei der Zeichen-Verarbeitungseinrichtung während der Verarbeitung eines Zeichenbefehls für eine Programmgruppe der Wort-Verarbeitungseinrichtung.
Die vorliegende Erfindung wird hauptsächlich in einem Datenverarbeitungssystem angewandt, das zur praktisch gleichzeitigen Verarbeitung mehrerer Programme dient und das zwei oder mehr Zentraleinheiten, hier als Verarbeitungseinrichtungen bezeichnet, enthält, deren jede andere Befehlssätze enthält und die in zeitlicher Verschachtelung mit einem gemeinsamen
109821/1830
Hauptspeicher zusammenarbeiten.
Bai In Pig. 1 dargestellte, die Torliegende Erfindung umfassende DatenYerarbeituBgasystem zur praktisch gleichzeitigen Verarbeitung »sheerer Programme enthält eine wortoriestierte Verarbeitungseinriehtung 10 und eine zeiehenorientierte Yerarbeitungseinriehtung 12. Jede dieser Yerarbeitungseinriehtungen ist in Stande» unabhängig und gleichzeitig Operationen auszuführen. Bas dargestellte System arbeitet ferner Mit ProgranuBversehachtelung, und zwar inaofern, als die Wort-Verarbeitungseinrielituag und die Zeiehen-Verarbeitungseiarichtung gleichzeitig mehr als ein Programm ausführen können. Bei den dargestellten Ausführusgsformen kann die Wort-Verarbeitungseinrichtung 10 gleichzeitig bis zu acht Anwenderprogrammen ausführen und mit Datenfeldern bzw. -bereichen fester Länge arbeiten, die jeweils ein 48 Bit umfassendes Wort als Informationseinheit rerwenden. Sine Art einer in dieser Weise arbeitenden Verarbeitungseinrichtung ist in der US-Patentschrift 3 2o1 762 besehrieben.
Die Zeiohen-Verarbeltuagseinrichtung 12 kann gleichzeitig bis zu zwei Anwenderprogrammen ausführen und mit Datenfeldern rariabler Länge arbeiten» Babel wird ein acht Bit umfassendes Zeichen als Informationseinheit verwendet. Obwohl die Yerarbeitungseinriöhtung 12 als eine einzige Zeichen-Yerarbeitungseinriöhtung charakterisiert werden kann, kann sie bis zu Tier Zeiehengruppen bedienen und Befehle mit zwei, drei oder Tier Zeichenlängen-Adressen auswerten. Bezüglich einer Yerarbeitungseinrlehtung mit einer entsprechenden Leistungsfähigkeit sei auf die US-Patentschrift 3 331 o56 hingewiesen.
Aufgrund der oben erwähnten Onteraehlede in den Datenformaten kann -las System geaäe· Jig. 1 auf wirksame Weise Programm β ,..';
109821/1830
aufnehmen, die sowohl hinsichtlich der Wortverarbeitung als auch hinsichtlich, der Zelenenverarbeitung orientier"I sind.
Ein als Hauptprogrammgruppe bezeichnetes Überwaohimgs- oder Aufsichtsprogramm steuert die Zuordnung von Anforderungen
an die Wort- und Zeiohenverarbeitungseinriehtung 10 bsw.
12. Der Zweck dieser Massnanoe dient dazu, eine natürliche und wirksame Arbeiteverteilung vorzunehmen. Dies bedeutet, dass der Wort-Verarbeitungseinrichtung 10 Anforderungen bzw. Anforderungssignale zugeordnet werden, die sämtlich eine Datenverarbeitung mit hoher Geschwindigkeit sowie eine wissenschaftliche Berechnung erfordern· Demgegenüber werden ^ der Zeichen-Verarbeitungseinriehtung 12 Anforderungen bzw.
Anforderungssignale zugeordnet, welche Bachrichtenverbindungs-
f unktionen und Aufbereitungsfunktionen zugehörig sind.
Bei der dargestellten Ausführungsform wird die zuvor erwähnte Programmverschaehtelung in dem Folgeresgister der Wort-Yerarbeitungselnrichtung 10 durch ein Verkehrssteuerelement ausgeführt. Durch dieses Verkehrs- bzw. Hachriehtensteuerelement wird im Zuge der Programmverschachtelung die Steuerung sequentiell auf unterschiedliche Programmgruppen angewandt, und zwar auf der Basis der Anforderung· Die Wort-Yerarbeitungseinrlchtung enthält ferner einen Steuerspeicher für jede Programmgruppe· Dieser Steuerspeicher besitzt die ?orm einer ™ Yielzahl von Steuerspeicherregistem. Diese Steuerspeicherregister können Folgezahler, für keine Folgte vorgesehene Zähler, nicht programmierte Übertrag- bzw. Sprungregister, Indexregister, Unterbreohungsregister, Abdeckregister und ArbeüBspeicherregister enthalten, die für die Weiterleitung der Ausführung dee jeweiligen Programme benutzt werden· Das Verkehrssteuerelement und die oben erwähnte Steuerspeioheranordnung sind in weiteren Einzelheiten la den US-Patentschriften 3 2o9 414 und 3 2o1 7o2 beschrieben.
109821/1830
Der Steuerspeicher der Wort-Yej^beitunfeelnrichtung 10 enthält ferner eine weitere Vielzahl von Steuerspeicher-Registem, die von der Hauptprogranragruppe dazu benutzt werdec, Wechselwirkungen zwischen des verschiedenen feiles des für die gleichzeitige Verarbeitung nehrerer Programme dienenden Datenverarbeitungssyetems zu steuern· Die Hauptprogrammgruppe benutzt dabei feste Formateodes sowie die Recheneinheit der Wort-Verarbeitungseinrichtung 10, um eise hohe Rechenleistung zu erzielen·
Die oben erwähntes ProgramSteuerregister werden la Übriges direkt für die Ausführung von Programmen verwendet; die Wort-Verarbeitungseinrichtung enthält ferner einen Steuerspei eher, der für Oberwaohungseteuerzweolce -verwendet wird
fur
(zua Beispiel/dem Speicherschutz)· Hierauf wird noch näher eingegangen werden·
Eine Speichersteuereinrichtung 16 Verbindet wirksam beide Verarbeitungseinrichtungen 10 und 12 alt einem gemelnsamen Speichersystem 13· Dieses Speichersystem 13 enthält eine Vielzahl von Speichermodulen 14» die mit M1 bis Mn bezeichnet sind« Bei der vorliegenden Ausführungsform besteht jedes Speichermodul;aus einer Vielzahl von "«halben" Wortspeicherplätzen, deren jeder 24 Bit umfasst. Dabei ist ein Informationszeichen mit sechs Informationsbits festgelegt. Demgemäss enthält jeder Speicherwortplatz jedes Speichermoduls entsprechend 4 Informationszeichen, die Speichersteuereinrichtung 16 leitet Zugriffsanforderungen von den Verarbeitungseinrichtungen 10 und 12 zu irgendeinem der Spelohermodule M1 bis Mn hin. Das Speichersystem 13 enthält unabhängige Speicherwege 17» die des Terarbeitungselnrichtungen die Möglichkeit bieten, gleichseitig über eines Zugriff zu verschiedenen Speichermodulen zu verfügen. Wenn beide Verarbeitungseinrichtungen
109821/1830
ein- und dasselbe Speichermodul anfordern, erteilt die Speichersteuereinrichtung 16 jedoch dem betreffenden Modul auf der Grundlage einer Prioritäteentscheidung den Vorrang. Dabei wird diejenige Verarbeitungseinrictatung, der die höhere Priorität zugehörig ist, über einen Weg 11 mit den betreffenden Modul verbunden·
Bestimmte Segmente eines Speicheraodule der Speiohermodule M1 bis Mn sind in Pig. 1 als Spelcherzwisohenverbindungen für die Yerarbeitungseinrichtung (IPC) bezeichnet; sie werden für Yerarbeltungselnrlohtungs-Zwieohenverbindungen benutzt· Dabei hat eic Segment des Speichermoduls M1 gemäse I1Ig. 1 speziell eine Anzahl von Sätzen von Spelcherreglstern 15 (das heisst Wortspeicherplätzen), die den 'Verarbeitungeeinrichtungen 10 und 12 zugehörig sind. Jedes Speicherregister 15 enthält eine Anzahl von festen Speicherplätzen, die eine Kurzzeltspeicherung sämtlicher Aufruf nachrichten vorn sinnen, die zwischen den beiden Verarbeitungseinrichtungen 10 übertragen werden.
Bei dem System gemäßs Figur 1 kann eine Terarbeitungseinrichtung einen Aufruf zur Anforderung einer Massnahme oder von Daten von der anderen Verarbeitungseinriehtung abgeben, und zwar durch codierte Ansteuerung von einer oder mehreren "Ruf"-Leitungen, die mit der anderen Yerarbeitungseinrichtung verbunden sind. Bevor der betreffende Ruf ausgelöst wird, führt die betreffende Yerarbeitungseinrichtung in die Speicherstellen des für diese Yerarbeitungseinrichtung reservierten IPC-Speichers eine codierte Nachricht ein, die die Ursachen für den vorzunehmenden Ruf erläutern· Die betreffende Nachricht kann dabei entweder durch Programm- oder durch Baugruppen erzeugt werden. Die fcerufene Yerarbeitungseinrichtung reagiert auf den betreffenden Ruf in der Weise, dass sie den über die Ruf-Leitungen zugeführten Code decodiert, die geforderte Massnahme ausführt und ein Antwortsignal erzeugt.
109821/1830
Dies geschieht dadurch, daeβ eine oder mehrere leitungen, die Hit der rufenden Yerarb*itungseinrichtung verbunden sind, codiert angesteuert wird bzw. werden.
Durch Herstellen von lachriehteoverbindungen zwischen des beiden Terarbeitungeeinrichtungen unter Ausnutzung der vorbestineten Segnente des geneinsanen Speichersystem 13 wird die Trenneinrichtung zwischen der Yerarbeitungseinrichtung 10 und der Verarbeituagseinriehtung 12 wesentlich weniger koapliziert gemacht. Wie durch Pigur 1 dargestellt, sind lediglich zwei Leitungen, eine Eufleitung 18 und eine Antwortleitung 19, erforderlich, ua die beiden Verarbeitungseinrichtungen für die Bachrichtenverbindung Miteinander zu verbinden.
Bei der dargestellten Ausführungsfora werden die Nachrichtenverbindungen zwischen den beiden Terarbeitungseinrichtungen 10 und 12 indirekt über die Steuerung der Hauptprogramagruppe der Verarbeitungseinriehtung 10 vorgenommen. Der Grund hierfür liegt hauptsächlich in der Disparität bzw. in dia Missverhältnis der Datenforaate. Ausserden sind hierfür noch andere Gründe aasegebend, auf die weiter unten noch näher eingegangen werden wird.
Venn die Verarbeitungaeinrichtung 10 die Verarbeitungseinriohtung 12 ruft, wird durch die Verarbeitungseinriohtung 10 dengeaäss die Ruf-Nachricht in einer ersten Gruppe von Speicherwortplätzen abgespeichert, die als IPC-Speicher für P1 in Fig. 1 bezeichnet sind. Bei diesen Speicherplätzen handelt es sich ua die der Yerarbeitungseinrichtung 10 zugeordneten Speicherplätze. Ausserden werden entsprechende Signale an die Hauptprograaagrupp· abgegeben· In entsprechender Weise wird in den fall, dass die Verarbeitungseinrichtung 12 die verarbeitung»einrichtung 10 ruft bzw. anfordert, die Ruf-
109821/1830
nachricht in eise zweite Gruppe von Speicherwortplätzen abgespeichert, die als IPC-Speicher für P2 bezeichnet sind und der betreffenden Yerarbeitungseinrichtung zugehörig sind. Ausserdea werden dann Signale an die Hauptprogramngruppe abgegeben. In beiden fällen reagiert die Hauptgruppen-Software dadurch, dass sie an die betreffende Yerarbeitungseinrichtung einen geeigneten Ruf, bzw. ein geeignetes Anforderungssignal in geeigneten Pornat abgibt. Es sei hier bemerkt, dass mit Rücksicht darauf, dass die Wort-Yerarbeitungseinrichtung 10 und die Zeichen-Verarbeitungseinrichtung 12 in Prograenver— schachtelung arbeiten, Verbindungen zwischen den beiden Yerarbeitungseinrichtungen wesentlich wirksaner über die Hauptgruppen-Software bedient werden.
Das in Pig. 1 dargestellte Systea nutzt ein "Sperr"- und NYerschlüsselungsK-Schutzscheaa aus, ust zu verhindern, dass sich Programme gegenseitig stören. Sine "Verschlüsselung" ist hier als eine Codezahl definiert, die unter Steuerung der Hauptprogranagruppe der jeweiligen Prograamgruppe entsprechend zugeteilt wird« Der ltYerschlüsselungslt-Code ist in einen 4-Bit-NYerschlüsselungsN-Register gespeichert, das der jeweiligen Programigruppe in diese« System zugehörig ist· Eine "Sperrung" ist hier als Code definiert, der den jeweiligen Speicherblock innerhalb der Speioheraodule des Speichersystem 13 zugehörig 1st· Jede Yerarbeitungseinriohtung speichert die ihr zugeordneten "Sperr"-Codes in einer Steuerspeichertabelle ab, die in der Yerarbeitungseinrichtung vorgesehen ist (das 1st eine Sperr-Tabelle). Normalerweise wird die Zuordnung durch dae Übtrwaehungaprogram vorgenovnen, das über die Hauptgruppeneinriohtung«n wirkt, wenn den Speicherraun ein bestimntes Programs zugeordnet ist.
Bas Sohutzsysten arbeitet, nit wenig» Worten gesagt, wie folgt. Wenn eis Prograanb·fehl einto Sptiohtrsugriff fordert,
109821/1830
wird der "Yersehlusselunge^Oode der Programmgruppe, die des betreffenden Befehl ausgegeben hat, müdem Inhalt der Speichertabelle überprüft. Wenn der Verschlüaeelungs-Code «it den "Sperrw-Oode .übereinstimmt, ist ein Zugriff erlaubt. Wenn der Yersehl&elungs-Code jedoch nicht mit dem "Sperr"-Code übereinstimmt, wird ein Zugriff verhindert. Das damit nicht zugelassene Programm wird dann abgeschaltet, und der Hauptgruppe wird durch die vorgesehene Hardware singaalisiert, dass ein Yerletzungs-Versuch unternommen worden ist, der jedoch zu keinem Erfolg führt. Das Überwachungsprogramm kanu dann durch Einwirkung auf die Hauptgruppe die geeignete Hassnahme ausführen, und zwar während des nicht zugelassenen Programms· Die obenstehenden Operationen und die zur Ausführung dieser Operationen dienenden Einrichtungen werden, soweit sie die Erfindung betreffen, weiter unten noch näher beschrieben werden.
Im folgenden seien unter Bezugnahme auf Pig. 2 diejenigen !Seile des in Fig. 1 dargestellten Systems näher betrachtet, die die Bereiche der Wort-Verarbeitungseinrichtung 10 betreffen. Die betreffenden Seile sind in Fig. 2 dabei in
Blockform wiedergegeben. Bei der vorliegenden Ausführungs-
en form ist die Yerarbeltungsrichtung 10 als ein Adressen generatorteil HO, einen Rechenteil 220, einen Steuerspeicherteil 330 und eine Ablauf-Register-Verkehrssteuereinrichtung 400 enthaltend dargestellt. Der Adressengeneratorteil HO erzeugt sämtliche Speicheradressen (das sind die Adressen des Steuerspeichers und des Hauptspeichers) und die Anforderungen betreffend Verbindungen zwischen den Verarbeitungseinrichtungen in Verbindung mit dem Rechenteil bzw. -abschnitt.
Der Adressengeneratorteil enthält eine mikroprogrammierte AblaufSteuereinheit. Die Steuereinheit enthält ein
109821/1830
element 142, ein Steuerspeieher-Adressenregister 144» ein örtliches Ausgabespeicherregister 146 und einen Unterbefehls-Generator 143· Dae Steuerelement 142 ist vorzugsweise ein adressierbarer, elektrisch, änderbarer Festwertspeicher, der in Fig. 1 mit SROM bezeichnet ist. Dieser festwertspeicher enthält etwa 512 Speicherplätze. Jeder Speicherplatz weist 120 Bit-Positionen auf. Das Steuerelement 142 führt auf seine Inbetriebsetzung hin einen zyklischen Betrieb unter der Steuerung eines Haupttaktgenerators (nicht dargestellt) aus ·
Bas Speicheradressenregister 144» das von herkömmlichem Aufbau ist, dient als Adressenquelle für die Adressierung irgendeines Speicherplatzes aus der Tielzahl von Speicherplätzen des Steuerelements 142. Der Inhalt des jeweils adressierten Speicherplatzes wird in das örtliche Speicherregister 146 ausgelesen. Das Register 144 nimmt von einer lOlgesteuereinrichtung 150 her eine Anfangs- bzw, Startadresse auf. Der grosser werdende Inhalt des Adressenregisters 144 liefert die nächste Adresse während des normalen Zyklus des Steuerelements 142. Dies bedeutet, dass der Inhalt des Adressenregisters 144 während jedes Zyklus des Elements 142 durch eine Schrittschaltung (nicht££zeigt) jeweils um 1 erhöht wird. Dies ist bei dem betreffenden Aufbau von herkömmlicher Art. Zusätzlich werden Steuersignale über eine Synchronisierleitung 264 und ein Gatter (nicht gezeigt) von dem Rechenteil 220 zugeführt (das ist ALL PROM), um ein weiteres Singangsachrittsignal dem Register 144 zuzuführen.
Die 120 Bit-Positionen des jeweiligen Speicherplatzes speichern ein Steuerwort, das unter Bildung eines bestimmten Bitmusters entsprechend codiert ist. Jedes Steuerwort enthält zumindest zwei definierte Bereiche. Diese Bereiche sind ein Adressenbereich und ein Mikrobefehlebereich. Der Mikrobefehlsbereich legt fest, welcher Satz von Mikrooperationen (das sind /i-0pera-
109821/1830
tionen) während eines besonderen Zyklus auszuführen sind« Der Unterbefehls-&enerator 148, der eine Reihe von Decodiernetzwerken enthält, arbeitet insbesondere auf bestimate Bits inaerhall) der Mikrobefehlsbereiche hin, ua Mikrooperations-Steuersignale (das sind Unterbefehls-Signale) abzugeben. Biese Steuersignale bewirken die Steuerung der Informationsübertragungen durch die Gatter und Speicherregister, die die Yerarbeitungseinriohtung 10 enthält.
Der Adressenbereich, jedes Steuerwortes dient für die Aufnahme einer Verzweigungeadreste, die bedingt oder unbedingt die Adresse der Speicherstelle bezeichnen kann, in welcher das während des nächsten Speicherffclus auszulesende Steuerwort gespeichert ist. Dies bedeutet, dass die Vemreigung zu der Adresse, die durch das Steuerwort bezeichnet ist, das gerade in dem örtlichen Register 146 enthalten ist, durch den Unterbefehls-Generator 148 oder durch extern oder intern erzeugte Signale vorgenommen wird, die bestiante Verzweigungsbedingungen festlegen. Der erstgenannte fall tritt dabei dann auf, wenn der Mikrobefehlsbereich das Vorhandensein einer Verzweigungs-Mikrooperation (das ist eine ,»-Operation) festlegt. In derartigen Fällen gibt der Generator 148 Steuersignale über einen Weg 154 an eine Adressen- und Yerzweigungs-Logik 156 ab, die ihrerseits als nächste Adresse über einen Weg 158 die in dea Adressenbereich des dann in dea Register 146 gespeicherten Steuerworte gespeicherte Adresse an das Adressenregister 144 abgibt. Die Übertragung der in dem Steueradressenbereich bzw. -feld befindlichen Adresse an das Adressenregiater 144 erfolgt über einen Weg 160.
In dea zweiten Pail wird durch die gleiche Verzweigungs- Logik 156, und zwar dann, wenn diese durch Signale entsprechend
eingestellt ist, die charakteristisch sind für bestimmte Yer-
109821/1830
zweigungsbedingungen und die über einen Weg 170 zugeführt werden, die Möglichkeit der Auswahl der Steuerwortadresse gegeben.
In Pig. 2 und ebenso in anderen Zeichnungsfiguren sind jeweils eine Vielzahl von Bits führende Informationsflusswege durch stark ausgezogene linien gekennzeichnet, während die dünner ausgezogenen linien einzelne Bits führende Information sfluss wege kennzeichnen ·
Der TJnterbefehls-Generator 148 ist ferner derart in das Δ
System einbezogen, dass er Unterbefehls-Signale über einen Weg 162 an einen Adressengenerator 164 abgibt. Der Adressengenerator 164 nimmt die Adreaseninfornation von dem Hauptspeicher (das ist das Speichersystem 13 gemäss fig. 1) über ein Datenregister 152 und von der Polgesteuereinrichtung 150 über einen Weg 151 auf. Wie gezeigt, ist der Adressengenerator 164 dabei so geschaltet, dass er Adressen an den Hauptspeicher über das Speicheradressenregister 166 und einen Weg 168 abgibt.
Der Rechenteil 220 steuert die Bedienung der Operanden innerhalb der Yerarbeitungseinrichtung 10 sowie den zykli- μ sehen Betrieb der Recheneinrichtung und die Erzeugung von AnforderungsSignalen betreffend die Verbindung der Verarbeitungseinrichtungen mit dem Adreesengeneratorteil HO. Eine nikroprogrammierte FolgeSteuereinheit steuert ebenfalls eine Recheneinheit und Verknüpfungseinheit 221, die Daten auf einer Wortbasis be- bzw. verarbeitet.
Jede Recheneinheit, die !■ Stande ist, Datenwörter zu be- bzw. verarbeiten, kann fur die Ausführung der Punktionen der Einheit 221 verwendet werden« Die Einheit 221 enthält
103921/1830
einen 43-Bit-Akkumulator, einen ait hoher Arbeitsgeschwindigkeit laufenden 48-Bit-Parallel-Binäraddierer, ein 48-Bit^ Produktregister niederer Ordnung und einen Hilfswortspeieher für Mehrfachvorgänge· Bezüglich weiterer Einzelheiten des Aufbaues einer derartigen Recheneinheit sei auf die US-Patentschrift 3 293 419 hingewiesen. Bezüglich des oben erwähnten Addierers sei bemerkt, dass eine entsprechende Ausführungsform hierfür in der US-Patentschrift 3 243 584 angegeben ist. Die Recheneinheit bzw· -einrichtung 221 enthält ferner einen Spezielwortfehlergenerator 240. Der Generator enthält eine Anzahl von G-atter-Pufferverstärkern (GBA), die Spezialcodemuster auf ihnen zugeführte Steuersignale hin abzugeben ver- ' mögen, wie dies weiter unten noch näher ersichtlich werden wird.
Die Steuereinrichtung bzw. -einheit enthält ein Adressenregister 222, das mit einem Festwertspeicher- bzw. Lesespeicher-Steuerelement 224 verbunden ist, wie es in Pig. 1 mit PROM bezeichnet ist. Dieses Steuerelement 224 enthält 2048 Speicherplätze. Jeder Speicherplatz vermag 120 Bits zu speichern· Das Steuerelement 224 ist mit einem örtlichen Register 226 verbunden, das seinerseits Steuersignale an einen Mikrooperations- und Ünterbefehls-Generator 228 abzugeben vermag. Ein Operationscodeiegister 230 nimmt dabei die Information über einen «Weg 232 von dem Datenregister 152 auf. Das Operationscoderegister 230 gibt seinerseits eine Startadresse an das Adressenregister 222 über einen Weg 234 ab, und zwar über ein· Adressen- und Yerzweigungslogik 236. DarüberÜnaus werden Steuersignale an eine Synchronisierleitung 164 abgegeben und zwar über ein Yerknüpfungsgatter (nioht gezeigt) tob dem Adreseengeneratorteil (das ist AG PROX) her. Auf diese Weise wird ein schrittweise grosser werdendes Eingangssignal des Adressenregister 222 zugeführt.
109821/1830
Jedes 120 Bit umfassende Speicherwort, das in den Steuerelement 224 gespeichert ist, enthält einen Adressenteil und einen Mikrobefehlsteil. Wie in Verbindung mit den Adressengeneratorteil HO bereits erwähnt, dient der Adressenteil jedes PROM-Steuerwortes normalerweise als nächste Adresse. In diesem Fall wird die betreffende Adresse unmittelbar an das Register 222 abgegeben. DarüberHnaus kann der Adressenteil modifiziert werden, um als Verzweigungsadresse zu dienen. In diesem Fall kann der betreffende Adressenteil durch die Adressen- und Yerzweigungslogik 236 abgegeben werden. Die betreffende Adresse wird dabei dann abgegeben, wenn die genannte Logik 236 durch Signale, die kennzeichnend (( sind für Verzweigungszustände auf einer Leitung 239, angesteuert wird oder durch Steuersignale, die über einen Weg von dem Unterbefehls-Generator 228 her zugeführt werden, und zwar auf dessen Decodierung von bestimmten Mikrobefehlsteilen hin. Die Modifizierung des Adressenteils wird dabei entweder durch Signale vorgenommen, die charakteristisch sind für externe Zustände oder durch Yerzweigungs-Mikrooperationen«
Die Adressen- und Verzweigungslogik gibt ferner eine: bestimmte Adresse an das Adressenregister 222 ab, wenn sie durch ein Steueransprechsignal auf der Ansprechleitung 19 μ entsprechend angesteuert ist.
Der ünterbefehls-G-enerator 228 gibt Unterbefehls-Steuersignale an die Rechen- und Verknüpfungseinheit 221 und an die Rufleitung 18 ab. Diese Signale werden von der Bitgruppe abgeleitet, die in dem Mikrobefehlsteil des jeweiligen Steuerworts gespeichert ist., wenn dieses in das Register 226 ausgelesen wird. Die Rechen- und Verknüpfungseinheit nimmt die Wortoperanden aus dem Speicher über das Datenregister 152 und einen Weg 223 auf. Das Datänregister 152 nimmt
109821/18 30
über den Weg 225 zur Einspeicherung in den Speicher den Inhalt des Akkueulafors auf. Dieser Inhalt des Akkuaulators stellt das Ergebnis einer durch die Einheit 221 zuvor ausgeführten Operation dar.
Der Mikrooperations- und TJnterbefehls-Generator 228 gibt Steuersignale über einen Weg 250 an ein Vergrösserungs-Register 242 ab, dessen Ausgangssignal seinerseits einen örtlichen Steuerspeicherregister CM2 NIiR zugeführt wird. Das Vergrösserungs-Register stellt eine Einrichtung zur Übertragung der Steuerung auf das Hauptprogranra dar, und W zwar auf das Auftreten spezieller Punktionen hin. Wenn eine spezielle Punktion auftritt, bewirkt diese in allgeneinen, dass ein bestirnte Flip-Flop eines Satzes von Flip-Flops in seinen Setz- oder "1"-Zustand umgeschaltet wird. Dadurch wird dann eine für die betreffende spezielle Funktion eindeutige Adresse festgelegt. Diese Adresse wird dazu benutzt, eines der Speicherregister in den Steuerspeicher CM1 zu adressieren. Der aus den betreffenden Speicherregister ausgelesene Inhalt wird dann zu einer Eonstanten hinzuaddiert, die von den Generator 228 erzeugt wird. Bei der betreffenden Eonstanten handelt es sich üb eine eindeutige Konstante für die betreffende spezielle Funktion ·
Der Steuerspelohertell 300 enthält einen ersten Steuerspeicher 302 , der alt CM1 bezeichnet ist, und einen zweiten Steuerspeicher 350 , der alt CM2 bezeichnet ist. Der Speicher CH1 gibt die erforderliche Zahl der zuvor erwähnten Steuerspeicherregister für jede Prograsragruppe der neun Programmgruppen ab. Bei der dargestellten Ausführungsfons weisen die neun Gruppen 32 individuell adressierbare Spezialreglster auf. Der Steuerspeicher OM1 ist über ein Adressenregister 304 adressierbar bzw. ansteuerbar, und der Inhalt der jeweils adressierten
109821/1830
Speicheretelle wird in ein örtliches Speicherregieter 300 eingelesen, das seinerseits selektir über einen Weg 303 das Datenregister 152 und das Speicheradressenregister 166 speist·
Der zweite Steuerspeicher CM2 enthält bei der dargestellten Ausführungsform eine aufgeteilte Wortspeicherorganisation für die Speicherung der Basis-Wiederauffindungsadressen in einer ersten Hälfte zusätzlich zu den "Verschlüsselungs11-Oode (PIT),der der jeweiligen Programragruppe zugeordnet ist, und der Anhalte-Adressen der jeweiligen Gruppe in einer «weiten Hälfte. Die einzelnen Speicherplätze des zweiten Steuerspeichers CM2 können direkt über ein 48 Bit umfassendes lokales Wortspeicherregister (nicht dargestellt) geladen werden. Der Basis-Wiederauffindungsregistercode entspricht dem Speicherinhalt des Anfangs- oder Start-Hauptspeicherplatzes des der betreffenden Gruppe zugeordneten Blockes.
Die Hauptspeicheradressierung wird in Bezug auf den Inhalt der Basis- bzw. Grundadresse vorgenommen, die durch das Überwachungsprograma geliefert wird· Dieses Überwachungsprogramm wirkt über die Hauptprogrammgruppe. Der Verschlüsaelungscode stellt, wie oben beschrieben, eine Schutzmarkierung dar, die der betreffenden Prograomgruppe zugeteilt ist. Der betreffende Code wird dabei isnit dem Inhalt der wSperr"-;St$euerspeichertabelle der Wort-Terarbeitungseinriehtung 10 vergleichen (nicht dargestellt). Die Anhalte-Adresse bezeichnet die obere Adressengrenze des einer Prograaagruppe zugeteilten Speichers. Lediglich die Hauptprogranagruppe weist dabei einen Zugriff zu den Inhalt des Steuerspeichers CH2 auf, und zwar entweder zum Zwecke des Auslesens oder zum Zwecke der Änderung,
109821/1830
Der Steuerspeicher 350 wird über ein Speicheradressenregister 352 adressiert. Dieses Speicheradresaenregister nimmt seinerseits eisen Gruppencode von einer terke^hrsfdigesteuerungseinrichtung 400 auf, und zwar Über einen feg 354. Das Unschalten des Zustande der Bit-Position "1n des Adressenregisters 352 erlaubt ein selektives Auslesen jeder Hälfte des gesamten Wortinnalts eines adressierten Speicherplatzes in ein örtliches Speicherregister 354 hineis, das in flg. 2 mit CM2MIE. bezeichnet ist. Dieser Speicherinhalt wird dann entweder zu den Datenregister 152 oder zu dem Speicheradressenregister 166 hin übertragen. Wie dargestellt, erfolgen beide Übertragungen über einen Addierer und das örtliche Speicheraregister 3o6.
Bei der dargestellten Ausführungeform bewirkt die Ablauf -steuerungs-Yerkehrsregistersteuereinrichtung 400 eine programraversehachtelte Steuerung durch Festlegen der Ablauffolge, in der die Progrannngruppen ihre Programme durchlaufen, Ss sei bemerkt, dass die Erfindung auf eine Hardwareform der Programmverschaehtelung nicht beschränkt ist, sondern auch andere bekannte Methoden der Programmerschachtelung (zum Beispiel Programmierung) anwenden kann. Demgemäss wird die Terkehrssteuereinrichtung 400 hier nur in dem Masse näher beschrieben, wie es für das Verständnis der Erfindung erforderlich ist.
Die Steuereinrichtung 400 enthält ein neunstufiges Polgesteuerungs-Anforderungsspeieherregister, dessen jede Stufe einer anderen Progranagruppe der neun Programmgruppen zugehörig ist. Die Speiehereinrlehtungsstufe, die einer bestimmtes Programmgruppe zugehörig ist, kann entweder durch eines manuell betätigbaren Schalter oder durch eine geeignete Programminstruktion gesetzt werden· Wenn die betreffende
109821/1830
Einrichtung gesetzt ist, zeigt dies an, dass ihr· entsprechende Programragruppe aktiv ist (das heisst la Ein-Zustand ist)· Die Yerkehrasteuereinrichtung enthält ferner ein weiteres bistabiles Element je Programmgruppe. Dieses bistabile Element ist als Kurzzeit-Flip-Flop bezeichnet. Wenn dieses Flip-Flop gesetzt ist, bzw. sich in "Ein"~Zustand befindet, lässt es die Gruppenanforderungseinrichtung ausser Betracht und verhindert damit, dass bezüglich der zugehörigen Programmgruppe eine Steuerung vorgenommen wird.
Die Verkehrssteuereinrichtung 400 enthält ferner einen vierstufigen Zähler, der während eines Zyklus von 0 bis 8 λ und zurück zu 0 zählt· Diese Zählerstellung wird decodiert und mit dem Inhalt des Anforderungs-Speicherregisters verglehen. Wenn bei diesem Yergleich eine Obereinstimmung festgestellt wird, hält der Zähler an, und der Zählerinhalt wird dann zu einem Gruppenregister hin übertragen· Der Inhalt des Gruppenregisters wird seinerseits dem Speicheradressenregister zugeführt, das mit CM1HAR bezeichnet ist· Der Zweck dieser Massnahme dient dazu, den Programmablaufzähler zu adressieren und den Inhalt dieses Zählers auszulesen, der den nächsten Programmbefehl innerhalb des durch die bestimmte Programmgruppe auszuführenden Programms festlegt.
Es sei bemerkt, dass die Hauptprogrammgruppe auch unter den acht Programmgruppen abgetastet wird, jedoch normalerweise inaktiv verbleibt. Die Hauptprogrammgruppe kann speziell als eine Programmgruppe angesehen werden, die drei Betriebsbereiche aufweist: Betriebsbereit, Suche und keine Suche. In dem Betriebsbereit-Bereich ist die Hauptgruppe inaktiv (das heisst ihre Anforderungs-Speicherstufe führt den Binärzustand O). Die betreffende Speicherstufe kann zufolge bestimmter Unterbrechungen und Anforderungen betätigt werden.
109821/1830
So können zum Beispiel bevorzugte Befehle, die als Multi-Programmsteuerungsbefehle (HPC) bezeichnet werden, durch eine Programmgruppe nicht ausgeführt werden, wenn versucht wird, diese Befehle auszuführen; durch die Hardware werden derartige Befehle jedoch auf die Haupt-Pregranmgruppe übertragen (das heisst eie aktivieren die Hauptgruppe). Während des Suchbetriebs, der durch den Binärzustand "Null" eines weiteren Betriebssteuerungs-Flip-Flops hervorgerufen wird, in Verbindung mit dem Binärzustand 1 der Anforderungs-Spelcherstufe arbeitet die Hauptprogramsgruppe als neunte aktive Programmsteuerungagruppe, und zwar zyklisch aalt zeitlicher Yersehachtelung der Zyklen der Wort-Yerarbeitungseinrichtungen. Bezüglich des Binärzustands der Anforderungs-Speicherstufe sei hier noch bemerkt, dass dieser Zustand als Zustand des keiner Suche zugehörigen Flip-Flops bezeichnet ist· Wenn in der keine Suche hervorrufenden Betriebsart gearbeitet wird, wie sie durch den Binärzustand "1" des für keine Suche vorgesehenen Flip-Flops bestiirat ist, wird durch die Hauptprograsnagruppe eine weitere Programmabtastung verhindert. Statt dieser Abtastung wird nunmehr auaechliesslieh. die Hardware der Wort-Verarbeitungseinrichtung verwendet.
Bezüglich weiterer Einzelheiten des Aufbaues der Verkebrssteuereinrichtung 400 sei auf die bereits erwähnte US-Patentschrift 3 o29 414 hingewiesen. Bezüglich weiterer Einzelheiten betreffend die Art und Weise, in der der Adressengeneratorteil 140 und der Rechenteil 120 ausgeführt sind, sei auf die Druckschrift "Honeywell Computer lournal» Honeywell Incorp., Winttr-Spring 1968, Seiten 25 bis 33, ToI. II, Fr. 1, hingewiesen.
Im folgenden sei fig· 3 näher betrachtet, in der in Blockform die wesentlichen Seile der vorliegendes Ausführusgsform
109821/1830
der Zeiehen-Verarbeitungseinriehtung 12 dargestellt sind. Die in Pig. 3 vorgesehenen entsprechenden feile enthalten einen Speicherteil 500, einen Rechenteil 600, einen Steuerteil 700 und einen Steuerungs-Anforderungslogiicteil 800. Eine Haupttakteinrichtung (nicht gezeigt) erzeugt Taktsignale für die Synchronisierung sämtlicher Gatter und Registerübe?· tragungen innerhalb der Zeichen-Verarbeitungseinrichtung 12·
Im folgenden sei jedes Seil näher betrachtet. !Der Speieherteil 500 enthält einen Steuerdatenspeicher 502 und einen Steuerspeicher 504-· Jeder Paten speicher ist in an sich bekannter Weise aufgebaut; er enthält eine sehr Ebenen umfassende Koinzidenz-Stromspeichereinheit, die eine Vielzahl von Speiehersteilen umfasst, deren jede eine Vielzahl von Bit-Positionen umfasst· Ein derartiger Speicher kann in der Weise aufgebaut sein, wie es in der TJS-Pat ent schrift 3 2o1 762 angegeben ist·
Der Steuerdatenspeicher 502 speichert Informationen, einschliesslich der Adressen, welche die Datenspticherßätze der Befehle und der Baten bezeichnen, die für die Verarbeitung der Programme von Bedeutung sind· Bei einer bevorzugten Aua-r führungsform enthält der Steuerdatenspeicher 502 ein A-, B-, C- und D-Operandenadreaeenregister, Ablaufsteuerungeregiater und Register für eine gemeinsame Ablaufsteuerung, Barstellungsund Auslöse«ttllenregister, die des Eingabe~/Ausgabe-Datenübertragungeoperationen zugehörig sind, und Spezialarbeitsregister.
Der Steuerdatenspeicher 502 adressiert eine Speicherstelle in irgendeinem Modul der Speichermodule H gem&ss flg. 1, uod zwar Über ein Adrosetnregiattr 506. Dieses Adressenregister 506 dient dazu, eine digitale Darstellung der Information
109821/1830
zu speichern, von der der Adresaenspeicher die Speichersteilen innerhalb des Speichermoduls Η ermittelt, die während des Zugriffszyklus in Betracht tonnen. Der aus des Steuerdatenspeicher 502 ausgelesene AdresseninformationsinlaLt wird über ein örtliches Steuerspeicherregister .508 (CIOjR) dem Adressenregister 506 zugeführt, ferner einen Addierer 510 und einen Kurzzeitspeicherregister 512, das als S-Register bezeichnet ist. Der Addierer 510 bewirkt über einen Weg 5H eine Rückführung der erhöhten oder verhinderten Form der dem Register 508 zugeführten Adresse. Biese Adressen werden danach wieder in dem Steuerdatenspeicher 502 gespeichert und für nachfolgende Adressierungsoperationen verwendet.
Der Addierer 510 dient dabei dazu, eine zusätzliche Adresseninformation von dem &rund-¥iedeauffiBdungsregister 516 über den Weg 518 aufzunehmen· Das Grund-Wiederauffindungsregister 516 erleichtert die Zuordnung des Speicherplatzes, indem der Inhalt des Addierers 510 zu den Adressen hinzu — addiert wird, die von dem Steuerdatenspeicher 502 erzeugt werden·
Pas Register 516 nimmt die Adresseninformation über einen Weg 520 von einem Datenregister 522 her auf. Wie dargestellt, ist das Datenregister 522 mit irgendeinem Speichermodul der Speiohermodule geaäso JIg. 1 über den Weg 11 verbunden.
Der Adresseninhalt des Registers 508 (CMLR) wird folglich durch den Inhalt des &rund-Registers 516 Modifiziert, das dazu dient, die Speicherplätzesdes Steuerspeichers 504 über einen Weg 524 und das Adressenregister 526 zu adressieren. Ein Ausgabe-Speicherregister 528, das mit CSIjH bezeichnet ist, nimmt den Inhalt eines adressierten Speicherplatzes in den Steuerapeicher 504 auf und speichert diesen Inhalt kurzzeitig ab. Das Register 528 ist mit einem Vergleicher verbunden, der von herkömmlicher Ausführungsform ist. Die
109821/1830 .
Verbindung zwischen dea Register 526 und den Vergleieher erfolgt dabei über einen Weg 532. Der Yergleicher 530 nimmt ferner ein !Eingangssignal τοη einem nYersehlü8selungs"-Register 534 über einen Weg 536 her auf· Das Register 534 ist in fig. 3 als ΡΙϊ-Register bezeichnet· Bas Yerschlüsselungs-Register 534 ist über einen Weg 538 mit dem Datenregister 522 verbunden. Die Steuersignale, die durch, einen Vergleich erzeugt worden sind, den der Yergleicher 530 vorgenommen hat, werden dem Steuerteil 700 und einem Sehieib-Steuerungs-Flil: Flop 540 über die Leitungen 542 bzw. 544 zugeführt. Das KLip-Flop 540 ist seinerseits mit seiner "1"-Seite mit einer Ausgangsleitung 506 verbunden, die als Eingangsleitung für das Speichersystem 13 gemäss fig. 1 dient. ([
Der Steuerspeicher 504 wird hier dazu benutzt, das oben erwähnte Yersehlüsselungs-Sperr-Programmschutzverfahren auszuführen? er dient als Sperr-Tabelle. Jeder Speicherplatz des Steuerspeichers 504 speichert insbesondere andere Code-Kombinationen, die als "Sperr-Oodes1* bezeichnet sind« Diese Codekombinationen dienen für sämtliche Blöcke der 512 Hauptspeicherplätze, zu denen die Yerarbeitungseinrichtung 12 Zugriff hat. Der Inhalt des Steuerspeichere 504 wird durch das Hauptgruppenprogramm-Programm geladen; der betreffende Inhalt ist durch die zigphörige Yerarbeitungseinrichtung nicht änderbar. Wie oben bereits erwähnt, wird Λ in dem Sail, dass die Yerarbeitungseinrichtung 12 einen Befehl ausführen muss, der einen Zugriff zu dem Speicher erfordert, zuerst durch Adressierung des Steuerspeichers 504 in einer hier beschriebenen Weise geprüft, ob die Codekombination, die als "Yerschlüsselungs-Code* des Befehls bezeichnet ist, der den Zugriff zu einem bestimmten Speicherblock bezeichnet, mit dem "Sperr-Code* übereinstimmt, der dem in dem Steuerspeicher 504 gespeicherten Block zugeteilt ist.
109821/1830
Der Reehenteil 600 der Yerarbeitungseinriehtung 12 enthält zwei Operanienspelcherregister 604 und 606, die in J1Ig. 3 als Α-Register bzw. B-Register bezeichnet sind. Diese Register sind über einen Weg 608 bzw, 610 mit einer Recheneinheit rerbunaen. Die Recheneinheit 602 enthalt einen Addierer, der sowohl binäre als auch deziaale Rechenoperationen alt zwei Zeichenoperanden auszufahren versag. Diese Recheneinheit kann dabei die 3?ora der Einheit aufweisen, wie sie in der US-Patentschrift 3 400 259 angegeben ist.
Bei der bevorzugten Ausführungsfora ist der Addierer la Stande, auf ein,- zwei, drei oder vier Zeichenoperanäen hin zu arbeiten. Zwei zusätzliche Register 616 und 618, die als Operationscoderegister bzw. als Yariantenregister bezeichnet sind, dienen zur Speicherung des Operationscodes bzw. zur Operationscodeänderung· Der Operationscode, hier auch als op-Code bezeichnet, legt die durch den Befehl auszuführende Grundoperation fest. Die Operationscodeänderungseinrlchtung bzw, das Inderungszeichen erweitert die durch den Operationscode gegebenen Definitionen. Das Operationscoderegister 616 ninst einen Operationsoode von den Register 522 über einen Weg 620 auf, während das Inderungsregister 618 von de» Α-Register über einen Weg 622 geladen wird. Das Inderungsregister liefert einen zusätzlichen Weg zum Laden des Steuerspeicheradreseenregisters 526 von den Wartungsfeld-Schalterzr her.
Der Rechenteil 602 führt entweder numerische oder verknüpfungsmässige Operationen auf die von den Registern 604 und 606 her aufgenommenen Zeichenoperanfee hin aus · Bei diesen Zelchenoptrandtn handelt es sich um Operanden, die den gerade genannte» Registern von des Datenregister 522 über den Weg mgeführt worden sind. Die Srgetonisse^auf diese Operanden hla ausgeführten arithmetischen oder verknüpfungsm&ssigea Opera-
109821/1830
■ - 29 -
tion werden Über einen Weg 614 de« Register 604 zurückgeführt·
Der Steuerteil 700, der eine aikr ©programmierte Ablauf -steuereinrichtung ist, enthält einen Datenspeicher 702» ein Steuerspeicheradressenregister 704 » ein Ausgabe-Steuerregister 706 und einen Hikro-Unterbefehls-€renerator 708. Bei der dargestellten Aueführungsfora enthalt der Datenspeicher 702 einen adressierbaren und elektrisch änderbaren Festwertspeicher »it etwa 4096 Speicherplätzen, deren jeder 120 Bitpositinen uafasst. Der Datenspeicher 702 wird j über einen Weg 710 von de« Datenspeicheradressenregister her angesteuert, das von herk8ealicb.ee Aufbau ist·
Das örtliche Datesspeieherregister 706, das ebenfalls τοπ herkSvalicher Ausführungsfora ist, weist die gleiche Kapazität von 120 Bit-Positionen auf; es speichert kurzzeitig den Inhalt eines Adressenspeicherplatzes des Speichers 702 ab.
Jedes in einea Speicherplatz des Datenspeichers 162 abgespeicherte Steuerwort enthält drei unterschiedliche Bereiche bzw. Felder mit Längen von 12 Bit, 22 Bit und 86 Bit· Der « 12-Bit-Berelch, der in KLg. 3 »la Adreseenbereioh bezeieh- " net ist, liefert entweder eine Steuerinforsatios oder eine Adresaeninforaation. Dies bedeutet, dass der 12-Bit-Bereich die Steuerinforvation über einen Weg 712 abgibt, der zu eine« Surzzeitspeieherreglstsr 714 funxt» das sit QS bezeichnet 1st· Die in das Register 7H Übertragenen 12 Bit werden dazu herangezogen, selektiv den 86-Bit-Bereich des gleiche» Steuerworte auszuwerten, das über eisen Weg dea Unterbefehls-Generator 708 zugeführt wird. Di· einzelnen Codierungen des in dea Register 714 gespeicherten 12-Bit-Bertichs liefem dabti unterschiedlich· Interpretationen
1Ö9821/1830
bzw. Deutungen des 86-Bit-JereichSjder den linterbefehls-Generator 708 zugeführt ist. laehdea eis la bestinater Weise codierter 12-Bit-Bereicb. des Register 714 zugeführt worden ist, verbleibt dieser Bereich in dem Register während der Verarbeitung eines einzigen PrograisBbefehls · .
Wie oben bereits erwähnt, dient der 12-Bit-Bereieh des jeweiligen Steuerwerts auch als Steueradresse, die über einen Weg 713 einer Adressen- and Terzweigungs-Logik 720 zugeführt wird. Der 22-Bit-Bereieh, in Pig. 3 mit BSS bezeichnet, wird codiert, uv Versweigunge-Prüfbedingungen festzulegen. Der 22-Bit-lereieh wird Hier einen Weg 724 eines Prioritäts-Speicher und einer Prüflogik 722 zugeführt. Die Prüflogik eapfängt über einen Weg 726 Steuersignale, die für interne SysteBzustinde charakteristisch, sind. Ein weiteres Steuersignal SIM und ein externes Anforderungssignal, Bit HiSD bezeichnet, werden über eine leitung 728 sowie über eine Ruf leitung zugeführt.
Der 86-Bit-Bereich wird 4erart codiert, dass er Mikrooperationen bezeichnet. Aosserdea wird durch diesen Bereich der unterbefehle-Generator 708 derart angesteuert, dass er ψ Sätze von Mikrooperations-Steiiersignalen abgibt, die direkt auf die Steuerung der Übertragung der Information innerhalb der Seile der TerarbeitangSeiiirichtung 12 des Systems geffläss flg. 1 einwirken· Darüber hinaus gibt der ünterbefehls-G-enerator 708 ein zusätzliches Ausgangssignal an eine Antwortleitung 19 ab.
Der Prioritätsapeicher and die Prüflogik 722 sind Bit einer Adressen- und TerzweigangBlogik 720 verbunden, die als Adrasaeninforeationsquelle für das Speicheradressenregister 704 dient. Die Yerzweigungslogik 720 enthält eine Yielzahl von Speicherregistern, dessen jedes eines anderen Stemer-
169821/1830
Hip-Plop zugehörig ist, das hier ale BVerbindungs*-Plip-:Flop bezeichnet ist. Die Prioritäts-Eogik 722 bewirkt eine geordnete Ermittelung der Vielzahl von Yerzweigungsadressen, die in einer entsprechenden Anzahl von Registern gespeichert sind, und zwar für einen fo^pnden Zyklus des Steuerdaten-4" Speichers 702· Die Yerbindungs-ELip-KLops werden entweder unbedingt gesetzt, wenn spezielle Mikrobefehle ausgeführt werden, oder während festgelegter Zyklen, wenn bestirnte PrUfbedingungen vorhanden sind, die durch, den BSf-Bereich geprüft werden· Wenn ein geprüfter Zustand durch. Setzen eines der Yerbindungs-HLip-KLops hervorgerufen wird, wird der Inhalt seines Yerzweigungaadressenregisters über einen Weg dem Speicheradressenregister 704- zugeführt··
Das Speicheradressenregister 704 wird ferner als Quelle für eine Adresseninforaation ausgenutzt, die eine vergrösserte bzw. verkleinerte ?oro der vorangehenden Adresse ist, die von der Erhöhungs-Erniedrigungs-Logik 732 erzeugt worden ist, welche von herköealichem Aufbau ist. Biese Logik nimrt den Inhalt des Speicheradressenregisters 704 über einen Weg 734 auf und führt die vergrösserte oder verkleinerte Adresse über einen Weg 736 zurück» Demgeffläsa gibt die Adressierungs- und Terzweigungslogik 720 die Adresseninforaation entweder von der YergrSsserungs-Logik 732 oder die Adresse von eine« der Yerzweigungs-Eegister, die in der Logik 720 enthalten sind, über den Weg 730 an das Adressenregister 704 ab. Darüber hinaus gibt die Adressierungs- bzw· Adressen- und Yerzwelgungs-Logik 720 als Start-Adresse an das Speicheradressenregister 704 den Inhalt des Operationscode-Registers 616 ab. Weitere Einzelheiten bezüglich der Art und Weise, in der der Steuerteil 700 ausgeführt ist, sind an anderer Stelle näher beschrieben (üS-Anaeldung, US-Ser.Ho. 694 949).
109821/1830
Hie Betriebs-Steuerlogik 800 enthält ein Speieherelement 802, das zwei Eingänge für die Aufnahme τοη Steuersignalen Ton den Unterbefehls-Öenerator 708 über zwei Steuerleitungen 804 und 806 aufweist. Sie Speichereinrichtung 802 weist einen Ausgang auf, der πιt der Leitung 728 verbunden ist. Wie dargestellt, enthält die Speichereinrichtung 802 in ihrer einfachsten !Or» ein einziges flip-flop, das τοη herkömmlichem Aufhau ist. Die Steuerleitungen 804 und sind ait den "1"- oder "Setz11- bzw. w0»- oder "Rüekstell11-Eingang des Speicherelemente 802 rerbunden, während der "I"- oder "Setz1·- Ausgang mit der Leitung 728 verbunden * ist.
In folgenden wird unter Bezugnahme auf die figuren 1, 1a, 2, 3» 4 und 5 die Arbeitsweise der Erfindung näher erläutert. Es sei bemerkt, dass während der normalen Ausführung τοη Programmen durch die Programagruppen der Wort-Yerarbeitungseinrichtung 10 jede Programmgruppemormalerweise einen Punkt in ihren Program« ezxeicht, der zum Beispiel die Durchführung einer zeichenorientierten Operation erfordert, wobei die Ergebnisse eines vorhergehenden Befehls für das Ausdrucken vorbereitet werden, normalerweise umfasst eine derartige Torbereitung die Ausführung einer oder mehrerer zeichen-P orientierter Operationen. Bei der dargestellten Ausführungsform sind jedoch, wie oben erwähnt, die Hardware-Einrichtungen der Wort-Verarbeitungseinrichtung 10 so ausgeführt, dass sie wortorientierte Operationen ausführen und demgemäss nicht die Einrichtungen für die Ausführung einer Operation enthalten, die be- bzw. verarbeitet· Zeichenfolgen umfasst.
Um eint ztichenoritntierte Operation auszuführen, würde die Terarbeitungseinrichtung 10 normalerweise ein Uster-
109821/1830
programm einführen, das mehrere Befehle umfasst. Im Unter« schied dazu sind die Hardware-Einrichtungen der Zeichenverarbeitungseinrichtung 12 bei der dargestellten Ausführungsform so ausgelegt, dass sie zeichenorientierte Operationen ausführen, welche die Be- bzw. Verarbeitung von Datenfeldern bzw. -bereichen variabler Länge umfassen. Geaäss den Lehren der Erfindung wird somit eine Zahl von seichenorientierten Befehlen, die in den noraalen Befehlsvorrat der Verarbeitungseinrichtung 10 enthalten sind, für Programmgruppen der Wortverarbeitungseinrichtung 10 verfügbar gemacht. Der Typ der verfügbar gemachten Zeiohenbefehle umfasst: j
Zeichenaufbereitung (MCE), Binäraddition (A)9 Dezimalsubtraktion (S), Dezimalmultiplikation (MPY) ,Extraktion (ΕΧϊ), Binärsubtraktion (BS),Satzwortmarkierung (SW), Satzpositionmarkierung (SI),LSschwortmarkierung (CW),LSschpositionsmarkierung (CI), Erweitern und Verschieben (WIM) und Verschieben und Umsetzen (MAT). Die vorstehende Befehlsliste ist hier lediglich zum Zwecke der Teranschaulichung gegeben; es sei bemerkt, dass mit dieser Befehlsliste keine Beschränkung der Erfindung beabsichtigt ist.
Im folgenden sei Pig· 2 näher betrachtet. Wenn eine Programmgruppe der Verarbeitungseinrichtung 10 durch die Verarbeitung der Befehle des zugehörigen Programms belegt ist, wird jeder Befehl aus einem der Module gemäss J1Ig* 1 ausgelesen und in das Datenregister 152 über den Weg 11 eingeführt. Bei der dargestellten Ausführungsform enthält das Grund-Befehlsformat der Wort-Verarbeitungseinrichtung 10 drei Adressenbereiche bzw· -feider fester Länge, Diese Ääresssnfeider werden im folgenden als A-, B- bzw. C-Adreese bezeichnet. Andere gesonderte Befehlswortbereiche legen die Auslöse- bzw« Startpunkte (das sind Startadr^seen) innerhalb des jeweiligen Steuerelements 142 und 224 fest«
109821/1830
Während der Befehlsphase der normalen Befehlsverarbeitung leitet die Ablaufst eueruBgseinrielitiiBg 150 von dem Befehlswort seifest zunächst den Satz von Adressengenerator-Mikrobefehlswortfolgen ab, die zur Erzeugung sämtlicher Speicheradressen erforderlich sind, welche während der Ausführung des Befehls benutzt werden. Me lolgesteuereinrichtung oder Ablaufsteuereinrichtimg 150 erzeugt eine geeignete Startadresse für eine erste Ablauffolge sun Zwecke der Berechnung einer ersten Speicheradresse.
fc Die Startadresse wird über den Weg 160 in das AG-Adressen- ** register 144 übertragen· Die Übertragung wird über den Weg zu der Verzweigunjplogik 156 Mb fortgeführt. Das Register adressiert den Startwortplatz, und dessen Inhalt wird in das Ausgaberegister 146 eingeleeen. Der Mikrooperations- und Unterbefehls-G-enerator 148 bestirnt den Mikrobefehlsteil des Wortes und erzeugt einen Satz tob TJnt erbe fe his Signalen (das sind MikroOperationen), die bestiaaten Übertragungsgattern innerhalb der Wort-Verarbeitungeeinrichtung 10 zugeführt werden. Der Inhalt von aufeimnden^ijfolgenden Wortplätzen wird dabei in entsprechender Yeiae ausgelesen und decodiert. Dabei werden aufeinanderfolgende Wortplätze bzw· -stellen ■* nacheinander erfasst, und zwar durch schrittweises Tergrössern ■** des Inhalts des Adressenregieters 144 ua 1 während jedes Speicherzyklus (das heisst während jeder Taktzeit), und zwar so lange, bis das letzte Mikrobefehlswort in der Folge erreicht ist. Zu dies·« Zeitpunkt erzeugt die Polgesteuereinrichtung 150 die Startadreaae des ersten Mikrobefehlswortes der nächsten folg·· Diese Startadresee wird in das AG-Adressenregister 144 übertragen. Wenn der Adressengenerator die Erzeugung der Operandenadresse beendet, überträgt er die Adresse an das Adxeasearegister 166. Wenn die Speiohersteuerelnrichtuag 16 einen Zugriff der Verarbeitungeeinrichtung 10 zu den Speicher ermöglicht, wird der Inhalt
109821/1830
der Speicherwortstelle, die durch, die berechnete Operandenadresse bezeichnet ist, ausgelesen und über den Weg 11 zu der Rechen- und Verknüpfungseinheit 221 hin übertragen. Mit Erreichen des letzten MikrobefehlsWortes der letzten folge erzeugt die Polgesteuereinrichtung 150 die Startadresse des ersten Mikrobefehlswortes in einer Polge, die zur Berechnung der ersten Speicheradresse für die Wiederauffindung des ersten Operanden des nächsten Programabefehls· wortes benutzt wird·
Bei der dargestellten Ausftthrungsform speichert das Steuerspeicherelement 142 etwa 54- verschiedene Mikrobefehlsfolgen für die Berechnung von Speicheradressen für unterschiedliche Adressenarten· Diese Mikrobefehlsfolgen variieren in der Länge zwischen zwei und 102 Worten zur Erzeugung von Hauptspeicheradressen, und zwar zur Vornahae der Adressierung und Weiterleitung von Ad©ssen für periphere Befehle.
Gleichzeitig mit der Erzeugung der Staäadresse einer ersten Polge durch die Polgesteuereinrichiiüng IjJQ werden die Bite des Operandencodeteils des Programebefehlß ia ü&s Gpsraticziscoderegister 130 übertragen. Auf die Beendigung der Befehlsphase bei der Be- bzw. Verarbeitung hin, einschliesslich der Wiederauffindung der Operanden, die der Be- bzw. Verarbeitung unterzogen werden, wird der Bit-Inhalt des Operandenooderegisters 130 als Startadresse zu dem ATT-Adressenregister 220 hin übertragen. Die Übertragung erfolgt dabei über den Weg 254 durch die Verzweigungslogik 236.
Sie durch dieOperandencode-Bits adressierte Speicherwort- . stellt speichert ein Mikrobefehlswort, dessen Adressenbereich die Adresse des ersten Mikrobefehlewortes der Mikrobefehlsfolge festlegt. Diese Mikrobefehlsfolge steuert die
109821/1830
Sechen- und Verknüpfungseinheit 221 derart an, dass die la Präge könnende Operation auf die wieder aufgefundenen Operanden hin ausgeführt wird, die duroh den Operatjfcnsoodeteil des Programmbefehls bezeichnet sind. Daäreh, dass die Operandeneöde-Blts indirekt das Start-Mikrobefehlswort einer Mikrobefehlsfolge (das 1st ein Mikroprogramm) für die Ausführung des Prpgrammbefehls bezeichnen, können verschiedene Operationseode die gleiche Mikrobefehlsfolge be~ nutsen. Anzeigebits, die Synchronisiersignale auf den Leitungen 164 und 264 erzeugen, können aus bestimmten Mikrobefehlen weggelassen werden. Dadurch wird entweder das AG SROM-Regiater oder das AU PROM-Register an der Fortschaltung über bestimmte Funkte hinaus innerhalb der individuellen Mikrobefehlsfolgen gehindert. Weitere Einzelheiten der Codierung der Anzeige-Bits sind an anderer Stelle näher beschrieben (US-Anmeldung, US-Ser.No. 718 493).
Bei der dargestellten Ausführungsform speichert das*AU-Steuerelement 224 etwa 50 verschiedene Mikrd»fehlsfolgen variabler Länge. Die Längen erstrecken sich dabei zwischen 4 und 34 Worten.
Bezugnehmend auf lig. 1 und auf das in Pig. 3 dargestellte KLussdiagramm sei im Zusammenhang mit dem hier betrachteten Beispiel angenommen, dass eine Programmgruppe der Wort-Terarbeitungseinrichtung 10 den Satz von Befehlen des Programms verarbeitet, das in dem Modul 2 gespeichert ist. Ferner ist in diesem Zusammenhang angenommen, dass in der betreffenden Programmgruppe ein MPG-Befehl enthalten ist, den die Programmgruppe ausser Stande ist auszuführen. Der MPO-Befehl möge insbesondere die Satsache signalisieren, dass die Programmgruppe einen Punkt in ihrem Programm erreicht hat, der die Ausführung einer zeichenorientierten Operation (zum Beispiel eine Korrekturoperation) erfordert, und zwar
109821/1830
auf die Ergebnisse eines zuvor ausgeführten Additionabefehls in Torbereitung des Ausdrucken^,
Is sei bemerkt, dass die Zeichen-Terarbeitungseinrichtung 12 in den Pail, dass ein Zeichenbefehl für eine Programmgruppe der acht Programmgruppen ausgeführt wird, normalerweise erforderlich wäre, um feile des Hauptspeichers zu adressieren, die der betreffenden Programmgruppe nicht zugeteilt sind· Demgemäss wird zur Tereinfaehung der Hardware und eines maximalen Speicherschutzes bei jedem Program! der Programme, die durch unterschiedliche Gruppen ausgeführt werden, sowie zur Tereinfaehung des Speieherwiederauffindungs-Brozesses f Torkehrung dafür getroffen, dass das Überwachungsprograram» welches über die Hauptprograaagruppe wirkt, den Zeichenbefehl in seinem geeigneten Format der Zeichen-Verarbeitungaeiarichtung 12 zuführt. Erreicht wird dies dadurch, dass jeder Zeichenoperation ein spezieller Maschinencode angefügt wird· Während der Programrnumaetzung wird ein Multiprogramm«-Steuer~ befehl (NPC) an die Stelle des jewtiLigen speziellen Maschinencodes eingefügt«
Im folgenden sei der in Pig. 4 dargestellte Block 900 näher betrachtet. Dabei sei angenommen, dass die Progransgruppe, welche das in dem Modul 2 gespeicherte Program» | rerarbeitet, aktiv ist. Dies bedeutet, dass das Anforderungs-Bit für die Gruppe in den Binärzustand "1* gesetzt ist· Unter der getroffenen Annahme wird der nächste Befehl in dem Programm aus dem Modul herausgeholt und Über den Weg 11 in das Datenregister 152 eingeführt· Der betreffende ausgelesene Befehl bewirkt, wie oben bereits erwähnt, die Ausführung einer Zeichenoperation. Der betreffende Befehl besitzt, wie oben bereite erwähnt, die Form eines Multi-» programB-Steuerbefehls (MPO), Dieser Befehl let «in bero?« zugter Befehl, der nur tos der Hauptptogrfturaigruppe ausgefüaxt
109821/1830
~58~ - 2055718
werden kann. Sie Codierung des MPC-Befehls ist wie folgt:
ππ Β12...Β9:
Befehls-Qode (Α-Adresse) (S-Adresse) (O-Adrease
Hierin bedeuten die Symbole ¥¥¥ = "behandle keine Zustände·1 und ausserde«: Befehlecode = auszuführende Operation; A-Adrease = Adresse der Stelle, as der die zusätzliche Information für die Ausführung der bezeichneten Operates enthalten ist (zum Beispiel kann die A-Adresee die Start-Adressen des Steuerbareiehe und des Datenbereiche festlegen, das in einer Korrekturoperation verwendet wird); B-Adresse - Bits B12 bis B19 ■ die Art der auszuführenden Massnahae;
C-Adresse - sie dient als Adresse für die Bezugnahme auf eine zusätzliche Information, die für die Verarbeitung des Befehls in !Frage körnet.
Weitere Einzelheiten betreffend die Befehlscodierung sind in der Druckschrift "Honeywell" H800 Programmer's Reference Manual" Copyright 1964, S. 109-114 angegeben.
Der in I1Ig. 4 angegebene Blook 904 zeigt an, dass die Yerarbeitungseinriohtung 10 bestimmt, ob der Befehl durch die betreffende Programmgruppe auegeführt werden kann oder nicht. Sies wird durch eine Mikrobefehlafolge wie folgt erreicht. Sie Bits des Operationaoodeteils des MPC-Befehlswortea werden in das Operationeeoderegister 30 und dann in das Adressenregister 222 Übertragen· Dor Operations·* codeinhalt des Adreesenregisters 222 yeraniaest das FHOM-Eegister 224, einen «raten Mikrobefehl in einer Mikrobefehla-
109821/1830
folge zu adressieren, die festlegt, welche Massnahae in diesem Zusammenhang auszuführen ist. Die Decodierung des ersten Mikrobefehls durch den Mikrooperationsgenerator 228 erzeugt zunächst ein Unterbefehls-Signal* das als Eingangssignal dea Adressenregister 144 des AGf SROM-Speichers 142 zugeführt wird. Der AS SROM-Speicher 142 wird in einen solchen Zustand übergeführt, dass ein Mikrobefehl adressiert und ausgelesen wird, der auf seine Decodierung durch den Unterbefehls-Generator 143 hin Unterbefehls-Signale erzeugt. Die TTnterbefehls-Signale -veranlassen den Adressengenerator, eine Hauptspeieher-Arbeitsplatzadresse zu erzeugen, die der Hauptprograaagruppe zugeteilt wird«
Der nächste ausgelesene Mikrobefehl erzeugt auf seine Decodierung hin ein Schreibsignal« Dieses Schreibsignal bewirkt, dass die C-Adresse des MPC-Befehls in den adressierten Arbeitsplatz eingeschrieben wird«
Während des nächsten Zyklus wird ein weiterer Mikrobefehl ausgelesen und derart codiert, dass ein "Synchronisiersignal11 auf der Leitung 264 erscheint. Dieses Synchronisiersignal erhöht den Regsiterstand des Adresaenrtgistera 222 vaa 1« Deagenäss wird ein neuer Mikrobefehl aus dea AIu PROM-Speicher 224 ausgelesen und in das örtliche Ausgaberegister 226 eingegeben. Deageaäss gibt der AU-PROM-Speicher 224 eine codierte Gruppe τοπ Hikrooperations-Steuersignalen ab, die eindeutig für den Operationscode des MPC-Befehls sind. Diese Steuersignale werden als Eingangesignale der Ablaufsteuerungs-Register-Yerkehrsateuereinriehtung 400 zugeführt · Die Punktion des Blockes 904 wird hauptsächlich durch die 7erkehrssteuereinrichtung 400 ausgeführt. Di· Yerkehrssteuereinrichtung 400 enthält dabei Insbesondere einen Faqptellen-Eardware-Decoder τοπ herköaalicher Ausführungsfora, der durch
109821/1830
den zuvor erwähnten PROM-Bit-Code veranlasst wird, die Tier Bite (B12 bis B9) des durch das Datenregister 152 zugeftihrten B-Adressenbereichs zu decodieren· Da der MPC-Befehl als bevorzugter Befehl codiert ist, erzeugt der Hardware-Decoder der Verkehrssteuereinrichtung 400 ein langstellen-Steuersignal, das seinerseits der Adressen- und Yerzweigungslogik 236 des AU(PROM)-Speichers 224 zugeführt wird· Dieses Signal bewirkt, dass eine Adresse in das Adressenregister 222 eingegeben wird, die ihrerseits ein erstes Mikrobefehlswort einer Mikrobefehlsfolge für die Übertragung der Steuerung von der Progranmgruppe, W yon der der betreffende Befehl ausgegangen ist, auf die Hauptprogramigruppe adressiert. Erreicht wird dies wie folgt:
* ■
Der AU PROM-Speicher erzeugt während seiner Ablauffolge ein Steuersignal, das den AG SROM-Schaltungsteil veranlasst, ein Mikrobefehlewort auszulesen. Dieses Mikrobefehlswort bewirkt auf seine Decodierung hin, dass der Adressengenerator 164 die Hauptspeicheradresse der Hauptgruppe erzeugt, «it der eine Speicherverbindung IPC erfolgt· Da die Hauptgruppe für säatliche praktischen Zwecke ein Teil der Wort-Verarbeitungseinriohtung 10 ist, niwrfc sie P Yerbindungsnachrichten über des Pi-IPC-Spelcher geaäss Fig. 1 auf.
Parallel zu de« obigen Betrieb liest der AU-PROM-Sehaltungsteil während eines folgenden Zyklus einen Mikrobefehl aus, auf den hin der Wort-ß-enerator 240 ein erstes ITachriohtenwort erzeugt· Dieses Nachrichtenwort uafasst einen Anlass-Code, einen Gruppen-Code der letzten Gruppe, den PIT-Code und, sofern vorhanden, die C-Adresse. Der AS-SROM-Sοhaitunge -
109821/1830
■·'■ ' "" ': -■ F ' ' ■"=' Uli! «:' PWWFSB 5 ■ "P! if ■ "SH !": :- !<■■ --..:.» ,I- · « , ι ,:■:;,,,: „ ,
■■ ■■■ ' "■■ " -''■":■'·" ■■■■'■ ■'■'■■·' ·,-■■·■■■ ■> ■ ■ . - ■·..·.■-i :■■■';·■»-■. ■■ ·'"' '. .- " ■'■ . ■ i: ' ' ■■« JB i"!1«"» ; i|j!Siii>'ii ! ·ρψψ,
- 41 -.."■■'■ ■■■■■■■■ -
teil bewirkt dann durch Erzeugen eines Schreibsignals das Einladen des Infoma-tionswor-fcs in einen ersten Speicherplatz des Wortspeieherplatzes 15 des Pi-IPC-Speichers. I» Anschluss daran erzeugt der AU-Schaltungsten in entsprechender Weise ein zweites Wort, das eine Zustandsinfornation bezüglich der Anzeigeeinrichtungen der Yerarbeitungseinriohtung 10 enthält. Dieses Wort wird in einen zweiten Speicherplatz der Wortspeicherplätze 15 eingespeichert.
Während der folgenden nächsten- Zyklen des AG-SROM-Speichers bzw» -schaltungsteiles werden Mikrobefehle ausgelesen und in das Register 146 eingeführt· Auf die Decodierung dieser J Mikrobefehle hin werden Steuersignale erzeugt, durch die die Terschiedenen Seile des Systens zur Speicherung des Hauptgruppensustands entsprechend eingestellt werden. Diese Vorgänge uafassen eine aufeinanderfolgende Adressierung jener Speicherplätze des Steuerspeichers 302, der den Inhalt des AblaufZählers der Hauptgruppe, des für einen gemeinsamen Ablauf vorgesehenen Zählers und des Indexregisters speichert und zu den Hauptgruppen-Eilfsregistern in dem Steuerspeieher CM1 überträgt. Als Teil der gleichen Operation wird der Adresseninhalt des FolgeZählers der Ursprungsprograoogruppe, deren Code in dem Gruppenregister gespeichert ist, in einen Speicherarbeiteplatz eingespeichert, der τοη α den Hauptprogranra für eine weitere Bezugnahme benutzt wird.
Parallel zu dea oben beschriebenen Torgang wird aus den AU-PROM-Sρeieher der in der !folge nächste Mikrobefehl ausgelesen und decodiert· Dadurch wird ein Steuersignal erzeugt, das auf seine Abgabe an die Polgeregister-Verkehrssteuereinrlchtung 400 hin die Erzeugung der in Trage könnenden Adreseenkonstanten bewirkt, welche ihrerseits zu den UXR-Reglster 542 übertragen w:„rd. Die Steuereinrichtung 400 decodiert dabei insbesondere dtn 4-Bit-Bereioh (das sind
109821/1830
^■ ■ ' ■ -4-2- . " .
die Bits 112 Ma 19) der »-Adresse. Dadurch wird die Eigenschaft der speziellen Funktionen gekennzeichnet. Ausserde» wird aus der betreffenden Adresse eine geeignete Konstante abgeleitet. Der AU-P&OM-Speicher erzeugt ferner ein Signal^ durch das ein Adressenregister 144 veranlasst wird» die Mikrobefehlsfelge für «ine programmiert© Übertragung auszulösen. Aufgrund der durch den Generator 148 erfolgenden Decodierung des nächsten AG-SEGM-Kikrobefehls, der in das Register 140 eingespeichert worden ist, wird insbesondere das Adreseenregister 504 fur eine Adressierung des nicht programmierten Übertragregisters der in dem Steuerspeicher 304 gespeichertes ürsprongsgruppe entsprechend angesteuert« fe Die Decodierung eines weiteren Mikrobefehls erzeugt Steuersignale, die die Übertragung fies Ib das Ausgaberegister 306 eingelesenen Adreeseniahalts über das Register 166 Km de« Hauptapeieheradreesenregieter t&a bewirken.
Ein weiterer Satz ran Steuersignalen bewirkt, dass der nicht eingehaltene (angelagerte) Befehl der Urspruagsgruppe in den adressierten Hauptspeicherplatz eingeschrieben wird (das 1st der Adresseninhalt des Ürsprungsgruppen-UPT-Registers). Zu diesen Zeitpunkt wird der AU-PROM-Speicher durch einen auf der Leitung 264 von dem AG—SROM-S chaltungsteil her auftretenden Synchroaisierimpuls veranlasst, den ^ in der Tolge nächsten Mikrobefehl su adressieren und auszulesen. Das Decodieren des Mikrobefehls durch den Generator 228 fuhrt zur Abgabe eines Einfang- bzw. Sperr-Steuersignals, das der Verkehrssteuereinrichtung 400 zugeführt wird. Auf die Aufnahm dieses Signale hin aktiviert die Steuereinrichtung 400 die Hauptgruppe. Dies erfolgt dadurch, dass das Hauptprograaagruppen-Betriebsart-Plip-yiop in die dem Suchbetrieb entsprechend· Stellung gesetzt wird. Daduroh wird der feil a11 der übrigen Programagruppea
109821/1830
'ai!!iiiü:|l'Hjl|ll||!J|ll!!l!!'!i;il" ■ y !;'' ;;j !S!! ■■' ; -; ' - '*: Ί.1 ■ i'!ί1:1"I, !;»"> ■ ?9ψΡ "!■!■■■■■liMMjl-illilliMllllljjMMIjlMtllJiilMlililliJMMIIiiiMjjlMIIMIjlljlll-üMüiMllülliiiiMj!;:: Si;»!»!!!!:]!»!!!!!;!:»■ ■» μι ι». ■",: !!illpjgililipi!!«;'.. ■!■ ■ , ■ ■ ■■ ■■■ ■■ ■ ■
inaktiv. Die Yerkehrssteuereinrichtung 400 speichert dann den Zustand des Hauptgruppen-Anforderungsbits, bewirkt die löschung seines Anforderungs-llip-Flops und führt den Hauptprogrammgruppencode in den Gruppencodespeicher ein. Diese Wirkung sehliesst die Übertragung des Steuerungsteiles von der Ursprungsgruppe auf die Hauptprogrammgruppe ab.
Es sei bemerkt, dass unter normalen Voraussetzungen jjede Programmgruppe»' die einen Befehl abgibt, der nicht ausgeführt werden kennte, eine Fang- bzw. Sperr-Steile in den inaktiven Zustand bringen würde, und zwar durch Überführen des für die Surzseit-Abschaltung dienenden Flip-Flop in den ä Binärzustand 1· Dadurch wird dann verhindert, dass die Programmgruppe eine Steuerung erfährt. Im Rahmen der vorliegenden Erfindung führt Jedoch die Ursprungsprogrammgruppe über die Zeichen-Yerarbeitungaeinrichtung 12 den Zeichenbefehl aus« Demgemäss wird die betreffende Ursprungsgruppe nicht in den inaktiven Zustand übergeführt. Da die Zeichen-Verarbeitungseinrichtung im Stande ist, den Zeichenbefehl innerhalb einer kurzen Zeitspanne auszuführen, und zwar im Vergleichezu den normalen Bei«hlszeit&ß·¥ werden die Programme der aktiven Programagruppen nicht verzögert«
Bei im Steuerbetrieb befindlicher Hauptprogrammgruppe er- λ zeugt der AU-PROM-Speicher auf der leitung 164 ein Synchronisiersignal, das das Adressenregister 144 jeweils um 1 in seinem Registerstand erhöht. Dadurch wird der AGr-SROM-Schaltungsteil 142 veranlasst, den nächsten Mikrobefehl auszulesen. Das Decodieren dieses Mikrobeftbis durch den Generator 148 liefert die Adressierung des Speichers 302 zum Auslesen des nicht programmierten Verkehrsregisters der Hauptgruppe· Der nächste Mikrobefehl veranlasst, nachdem er ausgelesen und deoodiert ist, den Addierer 358, den Inhalt des USR-
109821/1830
Registers 242 zu dem Inhalt des Hauptgruppen-ÜTR-Registers hinzuzuaddieren. Während des nächsten Zyklus werden durch einen weiteren Satz von Steuersignalen die verschiedenen Übertragungsgatter veranlasst, die vergrösserte Adresse über das Register 166 zu dem Hauptspeicher hin abzugeben, und zwar als Teil des Befehls-Abholzyklus. Innerhalb eines solchen Zyklus wird der betreffende gespeicherte Befehl durch Auslesen der Adresse aus dem Hauptspeicher in das Datenregister 152 eingelesen. Parallel zu den obigen Operationen wird aus dem AU-PROM-Speicher ein Mikrobefehl ausgelesen und decodiert, der zur Löschung sämtlicher Zustände führt. Dadurch wird das AU-Register 221 wieder zu seinem Nullpunkt zurückgebracht.. Der AG-SROM-Speicher kehrt dann zu einem Adressenpunkt zurück, der dem.Beginn einer Befehls-Abholmikrobefehlsfolge entspricht.
Das Hauptgruppenprogramm führt durch Ausführung der Punktionen, die durch die Blöcke 910, 912, 914, 916 und 918 in Pig. bezeichnet sind, die Hachrichteinformation mit sich, die eine bestimmte zeichenorientierte Operation erfordert. Ausserdem setzt das Hauptgruppenprogramm diese Information in einen Zeichenbefehl mit dem aus Pig. 1a ersichtlichen Porraat um, und sodann wird die Yerarbeitungseinrichtung 12 angefordert. Die Software der Hauptprogrammgruppe überprüft dabei speziell den Sperr-Befehl (siehe Block 910),holt aus dem Haupi^eicher zusätzlüie Parameter heraus, und zwar unter Heranziehung des A-Adressenbereichs des Befehls, und gibt dann entsprechende Signale an die Yerarbeitungseinrichtung 12 ab. Dies geschieht, nachdem die betreffende Software unter Heranziehung der Information, die zuvor in dem Verbindungsspeicher der Yerarbeitungseinrichtung gespeichert war, den entsprechenden Befehl gebildet hat.
109821/1830
«· 45 -
Diese Verfahrensweise umfasst, wie der Block 912 in Jig. erkennen lässt, das Umsetzen bestimmter Inforraationsbits des Befehls in den geeigneten Operationscode der Zeichen-Verarbeitungseinrichtung 12. Dies kann entweder durch einen Tabellenabsuchvorgang oder durch ein indirektes Adressierungsverfahren erfolgen. Bei dem vorliegenden Beispiel wird der in dem Operationacodebereich eingeschriebene Operationscode derart codiert, dass er eine Korrekturoperation bezeichnet. Im Zuge der Ausführung der Punktion des Blockes 94 wird durch das Hauptprogramm unter Heranziehung des Codes der Ursprungsprogrammgruppe zum Zwecke der Erzielung des Grund- v Wiederbereitstellungsadressencodes der in Präge kommende G-ruppenspeicherplatz des Steuerspeichers 35P adressiert. Dies erfolgt über das Speicheradressenregister 352.
Der Grund-Wiederbereitstellungsadressencode der betreffenden Gruppe, der in dem Steuerspeicher 350 gespeichert ist, wird selektiv in das Speicherregister 356 eingelesen (das ist das linke Halbwort) und dann in die geeignete PosiiLon des ersten Wortspeicherplatzes des Verbindungsspeichers eingeführt (siehe Pig. 1a). Zusätzlich führt die Programmgruppe die Punktion des Blockes 918 aus. Dabei wird entweder der zuvor gespeicherte Verschlüsselungs-PIiD-Code in die erste Wortstelle wieder zurückgeführt, oder es wird der betreffende " PIT-Code in die betreffende Wortstelle eingeschrieben, nachdem er aus dem Steuerspeicher 350 ausgelesen ist.
Mit Beendigung dieser letzten Operation ist in dem Verbindungsspeicher ein Befehl mit den aus Pig· 1a ersichtlichen Format gespeichert. Die Hauptprogrammgruppe Äiir* dann die letzte Punktion des Blockes 918 aus. Durch diese Punktion wird die Hauptprogrammgruppe veranlasst, ein Steuersignal an die Rufleitung 18 abzugeben.
109821/1830
Die Hauptgruppe führt über die Mikrobefehlsplätze die obigen Operationen aus (zum Beispiel die Liste der Spezial·- befehle). Dabei wird die Hardware des Rechenteils 220 und des Adressengenecatorteils HO der Wort-Vθrarbeitμngseinrichtung 10 ausgenutzt. Die Ausführung der Mikrobefehlssätze erfolgt dabei in der gleichen Weise, wie normale Befehle ausgeführt werden. Demgemäss wird die gesamte oben beschriebene Operation innerhalb einer extrem kurzen Zeitspanne ausgeführt. Es sei bemerkt, dass das in der Folge letzte Mikrobefehls wort (des AU-PROM-Speichers 224) derart codiert wird, dass eine Mikrooperation erhalten wird, durch die ein Steuersignal auf der Rufleitung 18 erzeugt wird. Die Codierung kann zum Beispiel in ihrer einfachsten Fora die Einfügung eines Binärzeichens "1" in eine bestimmte Bitposition des Mikrobefehlswortes umfassen. Die Hauptprogrammgruppe wird dann so lange unberrücksichtigt gelassen (das heisst die Schleifen - siehe Block 920) bis der Wort-Verarbeitungseinrichtung 10 von der Zeichen-Verarbeitungseinrichtung 12 signalisiert wird, dass sie die Ausführung der bezeichneten Operation abgeschlossen hat.
Bezüglich der weiteren Operation sei nunmehr auf Fig. 3 und
1 P-
Bezug genommen. Das auf der Leitung/auftretende Unterbefehls-Signal wird als Eingangssignal der Prioritäts-Speicher- und Prüflogik 722 gemäss Fig. 3 zugeführt. Bei der vorliegenden Ausführungsform wird dieses Signal als Eingangssignal dem der höchsten Priorität zugehörigen Steuer-Flip-Flop zusammen mit weiteren Signalen zugeführt, die kennzeichnend sind für andere Systemzustände.
Während der normalen Verarbeitung bewirkt die Verarbeitungseinriohtung 12 vor den Abholen eines weiteren Befehls die Auslösung einer Prüfung, durch die eine Folge von Prüfmikrobefehlen (BSI) ausgeführt wird. Mit Hilfe dieser Prüf-
10982 1/1830
Mikrobefehle wird daa Vorhandensein "bestimmter Systemzustände ermittelt. Dabei wird insbesondere während jedes Speicherzyklus der Inhalt eines anderen Speicherwortplatzes ausgelesen und zum Zwecke der Decodierung in das Ausgaberegister 166 eingeführt. Gleichzeitig damit wird der 22-Bit-Verzweigungsteil des gespeicherten Prüfbereichs, als BSO? bezeichnet, als Eingangssignal der Prioritätsspeicher- und Prüflogik 722 zugeführt. Ton dem Bit-Muster des BST-Bereiches des jeweiligen Mikrobefehls erzeugte Signale bewirken zusammen mit Signalen, die kennzeichnend sind für in der Verarbeitungseinrichtung 12 vorhandene Zustände (zum Beispiel Fehlerzustände, Unterbrechungen, etc.), das Setzen der zugehörigen f Steuer-Flip-Flops. Die Leitungen 18 und 728, welche die Signale MGSD und SIM führen, sind der höchsten Priorität zugeteilt. Demgemäss sind diese Leitungen als Eingangsleitungen mit dem der höchsten Priorität zugeordneten Steuer-Flip-Flop verbunden.
Aufeinanderfolgende Mikrobefehle in der Prüf-Mikrobefehlsfolge prüfen das Vorhandensein der Signale MGSD und SIM.
Die erste Punktion des Blockes 950 wird insbesondere als Teil einer normalen Befehls-Abholfolge ausgeführt. Das Bitmuster des BST-Bereichs des ersten Mikrobefehlswortes, das μ in das Register 706 eingelesen ist, veranlasst die Prioritäts-Logik 722, den Zustand des Flip-Flop 802 zu prüfen. Da sich das Flip-Flop 802 noch in seinem Rückstell-Zustand befindet, gibt dieses Flip-Flop 802 kein Signal an die Leitung 788 ab. Da der zu ermittelnde Zustand (SIM =1) nicht vorhanden ist, erfolgt auch keine Verzweigung, und das Adressenregister 041 verwendet den vorhergehenden Adresseninhalt, dessen Wert um 1 vergrössert ist.
10 9 821/1830
"55716
Als nächste Funktion wird die durch den Block 952 in Pig. 5 bezeichnete Funktion ausgeführt. Dabei wird insbesondere während des nächsten Zyklus der Datenspeicher 702 adressiert und ausserdem wird der Mikrobefehl des bezeichneten Speicherplatzes in das Ausgaberegister 706 ausgelesen. Das ausgelesene BST-Bereichsmuster wird codiert, um das Vorhandensein eines Ruf- bzw. Anforderungssignals (MG-SD) auf der Leitung 18 von der Hauptprogrammgruppe her festzustellen. Demgemäss wird durch das Prüfbereichsmuster die Logik 722 entsprechend vorbereitet. Das Vorhandensein eines Signals MG-SD bewirkt dann» dass
»das zugehörige Steuer-Flip-Flop in seinen "1 "-Zustand umgeschaltet wird. Da das gesetzte Flip-Flop der höchsten Priorität zugeordnet ist, überträgt die Logik 722 den Inhalt des dabei zugehörigen Verzweigungsadressenregiaters zu dem Adressenregister 704 hin.
Die bezeichnete Startadressenverzweigung innerhalb des Datenspeichers 702 markiert den Beginn einer Folge von Mikrobefehlen, die die innerhalb der Blöcke 980, 982 und 984 bezeichneten Operationen ausführen. Sämtliche derartige Operationen können so betrachtet werden, als wurden sie einen speziellen Abhol-Befehl darstellen. Durch diesen _ Befehl wird anstelle der Wieterauffindung des nächsten Be- ^ fehls der Programm-Verarbeitungseinrichtung 12, der durch die Verarbeitungseinrichtung ausgeführt wird, aus den Verbindungsspeicherplätzen des Pi-IPC-Speichers der Zeichenbefehl herausgeholt, der von einer Programmgruppe der Programmgruppen der Verarbeitungpeinrichtung 10 abgegeben worden ist. Im Unterschied dazu erfolgt, wie der Block in Fig. 5 erkennen lässt, bei Fehlen des Signals MGrSD keine Verzweigung. Die Verarbeitungseinrichtung 12 holt dann in normaler Weise einen Befehl ab. Damit wird der nächstfolgende Mikrobefehl ausgelesen und decodiert.
10982 1/1830
Im folgenden wird unter Bezugnahme auf die Figuren 3 und 5 jede der obigen Operationen (die durch die Blöcke 980, 982 und 984 bezeichnet sind) näher betrachtet. Während der nächstfolgenden Speicherzyklen werden zunächst der Mikrobefehl, der in der durch die zuvor erwähnte Verzweigungsadresse bezeichneten Speicherstelle gespeichert ist, und die Mikrobefehle, die in aufeinanderfolgenden Speicherplätzen gespeichert sind, ausgelesen und in das Ausgaberegister 706 eingeführt. Der Generator 708 decodiert jeden dieser bezeichneten Mikrobefehle und erzeugt Gruppen bzw. Sätze von Mikro-Operations-Steuersignalen. Diese Sätze von Steuersignalen bewirken über die verschiedenen Gatter > und Register in der Verarbeitungseinrichtung die Einspeicherung " der Maschine. Mit eingeschlossen sind dabei jene Übertragungsvorgänge, die durch den Block 980 bezeichnet sind. Dabei bewirkt insbesondere eine erste Gruppe bzw. ein erster Satz von Steuersignalen eine Übertragung des Inhalts (das ist der Verschlüsselungscode) des PIT-Reigsters 534 an das Steuerspeicherregister 508. Diese Übertragung erfolgt dabei über einen nicht näher dargestellten Weg. Gleichzeitig damit veranlassen weitere Mikrooperations-Steuersignale das Speicheradressenregister 503, einen ersten HilfsSpeicherplatz zu adressieren, der durch den Steuerspeicher 502 bezeichnet ist. Sodann wird der Inhalt (des Verschlüsselungscodes) des Registers 508 in diesen Speicherplatz eingeschrie- * ben. In entsprechender Weise wird über die Decodierung eines nächsten Mikrobefehls der Inhalt (das ist die dem vorliegenden Programm zugeteilte Grund-BereitStellungsadresse) des Grund- bzw. Basisregisters 516 zu dem Register 508 hin übertragen und in einen zweiten HilfsSpeicherplatz, mit CMAS2 bezeichnet, des Steuerspeichers 502 eingeschrieben. Diese übertragung erfolgt dabei über den Weg 518. Ein weiteres Mikrooperations-Steuersignal, das durch den gleichen
109821/1830
■ . - 50 -
Mikrobefehl erzeugt wird, bewirkt, dass der Inhalt des Adressenregisters 603 um 1 schrittweise vergröesert wird. Ausserdem wird hierdurch die Adressierung des zweiten Hilfsspeicherplatzes vorgenommen.
Die Decodierung der folgenden Sätze von Mikrobefehlen führt zur Erzeugung von Gruppen von Mikrooperations-Steuersignalen. Diese Steuersignale bewirken, dass der Inhalt des A-Zählers, des B-Zählers und des Folgezählers des Steuerspeichers 508 nacheinander adressiert, in das Register 503 ausgelesen und in die entsprechenden HilfsSpeicherplätze CMAS^, CMAS^ bzw. JDMASc wieder eingeschrieben wirdc\. Die Decodierung fc weiterer Sätze von Mikrobefehlen führt zu einer Übertragung des Inhalts des V-Registers zu einem weiteren Hilfs-Steuerspeicherplatz, der mit OMASg bezeichnet ist. Ferner erfolgt eine Übertragung des Inhalts von Systera-Anzeigeeinrichtungen (Rechenvorgang) an die HilfsSpeicherplätze OMAS« bis CMAS^
Nachdem der Maschineiizustand gespeichert ist, führt die Decodierung einer noch weiteren folge von Mikrobefehlen die Adressierung und Auslesung des Inhalts des Verbindungsspeichers in die Maschine aus. Dies umfasst die Ausführung derjenigen Übertragungen, die in dem Block 982 bezeichnet sind.
Gleichzeitig mit dem Speichern der Maschineninformation werden insbesondere aufeinanderfolgende Wortplätze des Moduls 1 geraäss Pig. 1 adressiert, und der Inhalt (der 3?1-Befehl) der Wortspeicherplätze 15 des Yerbindungsspeichers wird in das Datenregister 522 über den Weg 11 ausgelesen. Die Adressierung der Wortspeicherplätze des Moduls 1 erfolgt über die Decodierung ednes ersten Mikrobefehls, der eine Sruppe von Steuersignalen erzeugt. Diese Steuersignal© übertragen eine Bit-Darstellung des Adressenfeereiehsteils
109821/1830
desselben Mikrobefehlsworts, und zwar über den Addierer 510 und das S-Register 512 in das Adressenregister 506.
Der Unterbefehls-Generator 708 decodiert weitere Mikrobefehle. Dadurch werden Sätze von Unterbefehls-Signalen erzeugt, die die Übertragung des Operationscodes des PIT-Codes und der Basis-Wiederbereitschaftsadresse von dem Datenregister 522 in das Operationscoderegister 618, in das PIT-Register 534 und in das Basis- bzw. Grundregister 516 leiten. Darüber hinaus werden die A- und B-Operandenadresse des Befehls, der aus dem zweiten Wortspeicherplatz 15 des Verbindungsspeichers ausgelesen und in das Datenregister 522 eingeführt worden ist, zum Zwecke der Speicherung in den Steuerspeicher 502 übertragen. Dabei werden insbesondere die Bitmuster der Adressenbereiche bzw, -felder von aufeinanderfolgend ausgelesenen und decodierten Mikrobefehlsworten in das Adressenregister 503 über den Weg 501 eingeführt.. Diese Adressen betreffen den Α-Zähler und den B-Zähler des Steuerspeichers 502. Die Bit-Darstellungen der A-Adresse und der B-Adresse werden in diesen Steuerspeicher eingeschrieben. Die Übertragung der A-Adresse und der B-Adresse wird über das Datenregister 522 und einen (nicht gezeigten) Weg in das örtliche Speicherregister 508 des Steuerspeichers 502 fortgesetzt. Sämtliche Übertragungen, die die Ausführung der obigen Operationen erfordern, erfolgen unter der Leitung der Mikrooperations-Steuersignale, die durch die Decodierung der einzelnen Mikrobefehle erzeugt werden.
Die letzte Gruppe von Mikrobefehlen in der Mikrobefehlsfolge führt die in dem Block 984 bezeichneten Punktionen aus. Dabei ruft insbesondere die Decodierung eines ersten Mikrobefehls ein Mikrooperationssignal hervor, das über die leitung 804 abgegeben wird. Dadurch wird das 3?lip-KLop 802
103321/1830
von seinem Binärzustand nOM in seinen Binärzustand "1" mmgesehaltet. Ist das Flip-Flop 802 gesetzt, so bewirkt es die Umschaltung der Verarbeitungseinrichtung 12 von dessen normalen Verarbeitungsbetrieb auf einenwSpezialw-Yerarbeitungsbetrieb. Darüber hinaus schalten weitere Mikrooperations-Steuersignale die Verarbeitungseinrichtung in einen 4-Zeiehen-Adressenbetrieb um. Hierdurch wird die HauptSpeicheradressierung auf einen Höchststand gebracht.
Mit Beendigung der obigen Operationen gelangt man innerhalb des Verarbeitungslaufes zu dem Block 956, wobei die Jk Verarbeitungseinrichtung 12 die Ausführungsphase der Befehlsverarbeitung beginnt. Im Zusammenhang mit Fig. 5 sei bemerkt, dass im Anschluss an das Abholen des ?1-Befehls aus dem Verbindungsspeicher der Steuerspeicher 702 zu einem Punkt zurückkehrt, an dem die normale Ausführungsphase eines Befehls beginnt. Dies erlaubt die Anwendung einer Zeitunterteilung der gleichen Mikroprogramme, die von der Zeichen-Verarbeitungseinrichtung 12 für die Ausführung von Operationen verwendet werden, welche durch Befehle der eigenen Programme bezeichnet sind. Anstatt der Vergrösserung des Speichers 702 zur Aufnahme spezieller Mikroprogramme für die Ausführung von Operationen für unterfe schiedliche Programmgruppen der Wort-Verarbeitusagseinrich-"* tung, nutzen die Programmgruppen die vorhandenen Mikroprogram me der Zeichen-Verarbeitungseinrichtung aus bzw. wenden diese Mikroprogramme unter Ausnutzung der Zeitverschachtelung aus (das heisst jener Mikroprogramme, die durch die Codes in den Blöcken 958 bis 976 bezeichnet sind). Die vorstehend erläuterten Vorgänge sind in Pig. 5 dadUcch veranschaulicht, dass die linien 985 und 985 in dem Block zusammen laufen.
1098 21/1830
' "■ '"■'■ '■■■"■ "■ :
Die Punktion des Blockes 956 wird durch Decodieren eines weiteren Mikrobefehls ausgeführt, durch den Mikrooperations-Signale erzeugt werden. Diese Mikrooperations-Signale übertragen die Operationscodebits von dem Operationscoderegister 618 über den Weg 738 in das Adressenregister 704, und zwar über die logik 720. Die betreffenden Bits bewirken, wie durch den Block 978 angegeben ist, eine Adressierung eines ersten Speicherplatzes, der den ersten Mikrobefehl des Mikroprogramms speichert, welcher die Ausführung des P1-Befehls steuert. In dem betrachteten Beispiel bezeichnen die Operationscodebits des P1-Befehls ein Korrekturprogramm· Demgemäss wird das durch den Code MCE in dem Block 962 bezeichnete Mikroprogramm ausgewählt. Wie oben bezüglich | des Blockes 978 erwähnt, wird dann die Korrekturoperation unter Heranziehung des Korrektur-Ausführungs-Mikroprogramms ausgeführt. Der Anfangs- bzw. Startplatz dieses Mikroprogramms ist dabei durch den Operationscodeinhalt des Adressenregisters 704 festgelegt.
Während der Ausführung der spezifizierten Zeichenoperation (zum Beispiel Korrektur) wird, wenn ein leil des Mikroprogramms ausgeführt wird, durch die Verarbeitungseinrichtung der Inhalt des Basis- bzw. Grundregisters (zum Beispiel die Grundadresse der Ursprungsprogrammgruppe) ausgenutzt. Der Zweck dieser Massnahme dient dazu, eine Bezuginforma- ä tion der in Präge kommenden Programmgruppe für die Verlagerung der A- und B-Operanden-Zeichenadressen bereit zu stellen» und zwar unter Verwendung des Inhalts des Basisregisters (z.B. Basisadresse der Ursprungsprogrammgruppe„ Die obige Basis-Bereitstellung der A- und B-Operanden-Zeichenadressen erfolgt über die Decodierung eines Mikrobefehls, durch den die Gatter und Register entsprechend angesteuert werden, um den Inhalt des Basis- bzw. Grundregisters $6
109821/1830
über den Weg 518 an den Addierer 51 ο abzugeben. Die Decodierung weiterer Mikrobefehle liefert Steuersignale, auf die hin die Basis- bzw. Grundadresse zu dem Adresseninhalt des jeweiligen A- bzw. B-Zählers hinzu addiert wird. Bei dem betreffenden Adresseninhalt handelt es sich dabei um den in dem Steuerspeioher 502 gespeicherten entsprechenden Adresseninhalt. Dies bedeutet, dass die Mikrooperations-Steuersignale durch die Decodierung der gleiche» Mikrobefehle das Auslesen der A- und B-Operanden-Zeichenadressen aus dem Steuerspeicher 502 in das örtliche Register 508 und dann in den Addierer 510 bewirken. Die Basis-Bereitstellungsergebnisse werden dem Register 512 und dem Steu erspeicher-
Adressenregister 526 über den Weg 524 zugeführt. Der Inw
halt des Registers 512 wird seinerseits dem Adressenregister 506 und damit dem Hauptspeicheradressenregister des bezeichneten Moduls zugeführt.
Parallel mit dem Auslesen der bezeichneten Adressen führt die Hardware eine Speicherschutzprüfung aus. Dies bedeutet, dass die den vier oberen Stellenwerten zugehörigen Bitpositionen jeder A- und B-Bereitstellungszeiehenadresse nach Einführung in das Adressenregister 526 bestimmte Speicherplätze des Steuerspeichers 504 bezeichnen. Der Inhalt des so jeweils adressierten Speicherplatzes wird in das Ausgaberegister 528 ausgelesen und mit dem Inhalt des PIT-Registers 534 verglichen. Dieser Vergleich wird durch den Vergleicher 538 vorgenommen, der über die Leitung 504 ein Signal abgibt/Dieses Signal zeigt dann das Vergleichsergebnis an. Auf einen positiven Vergleich Mn gibt der Vergleicher 538 ein Signal über die Leitung 504 ab. Auf einen negativen Vergleich hin gibt der Vergleicher 538 über die betreffende Leitung kein Signal ab. Sämtliche tfbertragungsvorgänge, die zur Ausführung der oben erwähnten Operationen
109821/1830
erforderlich sind, laufen unter der leitung der Mikrooperationssignale ab, die durch Decodierung der Mikrobefehls-Bitmuster der aufeinanderfolgend berücksichtigten Mikrobefehle erzeugt werden.
Wie oben bereits erwähnt, basiert der Speicherschutz auf deia System der "Sperrungen" und "Verschlüsselungen". Es sei bemerkt, dass die Verarbeitungseinrichtung 12 normalerweise einen Zugriff zu Speicherbereichen hat, zu denen die Progrannngruppen der Verarbeitungseinrichtung 10 .Zugriff haben. Deragemäss stimmt keiner der gespeicherten Sperr-Codes des Steuerspeichers 504, der normalerweise den Verarbeitungs- | Programmen zugeteilt ist, ... mit dem "Verschlüsselungscode™ übereinstimmen, der in dem PIT-Register 534 gespeichert ist. Deragemäss würde der Vergleicher 100 über die Leitung 504 kein Signal abgeben, und das Flip-Flip 120 würde in seinem zurückgestellten Zustand verbleiben. Dadurch, dass das Flip-Flop 540 in seinem Eückstell-Zustand ist, wird das Einschreiben einer Information in den Speicherplatz verhindert, der durch die Basis-Bereitstellungsadresse bezeichnet ist.
Gleichzeitig mit der oben erwähnten Sperrwirkung wird bei dem betreffenden Fall durch den Vergleicher 538 ein Signal J an die leitung 542 abgegeben. Dieses Signal führt ein bestimmtes Bitmuster in das Adressenregister 164 ein, und ausserdem wird hierdurch eine weitere Verarbeitung des Prograannbefehls beendet. Das bestimmte Adressenbitmuster veranlasst die Bezugnahme auf den ersten Mikrobefehl einer Folge von Mikrobefehlen. Auf die Decodierung dieser Mikrobefehle hin werden Unterbefehls-Signale erzeugt, die zum Setzen bestimmter Fehler-Steuer-Flip-Flop führen (das heisst Lese-ZSchreib-Sperrhindernis). Ferner können die Sätze von Unterbefehls-Signalen, auf die Bezug genommen ist, sowohl
109821/1830
die Signalisierung dee Hauptgruppenprogramms als auch die Erzeugung einer geeigneten Nachricht in dem P2-IPC-Verbindungsspeicher bewirken, wodurch die Ursache für die "Anforderung" oder Unterbrechung bezeichnet wird, (das heisst Einschreiben des Sperrhindernisses).
Sei dem obigen Beispiel ist angenommen worden, dass die Software für das Hauptgruppenprogramm zuvor in den Steuerspeicher 504 eingeführt worden ist, wobei "Sperrcodes" jener Programmgruppen vorgesehen waren, bezüglich der die Verarbeitungseinrichtung 12 benötigt wird, um Zeichenbefc fehle auszuführen« Demgemäss wird durch die Hauptprogramm-• gruppe der Verarbeitungseinrichtung 12 die gleiche Speicher-Kennzeichnung bzw. -Identität gegeben, wie den Programmgruppen der Verarbeitungseinrichtung 10. Wenn die Hardware die Speicherschutzprüfung durch Adressierung des Steuerspeichers 504 vornimmt, wird der "Sperrcode" der Ursprungsprogrammgruppe ausgelesen und vorzugsweise mit dem "Verschlüsselungscode" verglichen, der in dem Verschlüsselungs-PIT-Register 534 gespeichert ist. Zu diesem Zeitpunkt gibt der Vergleicher 100 ein Signal über die leitung 540 ab. Dieses Signal schaltet damit das Schreib-Flip-Flop 540 von seinem Binärzustand 0 in seinen Binärzustand1 oder ^ Setzzustand um. Das Flip-Flop 540 gibt seinerseits ein ™ Schreib-Signal über die Leitung 526 ab. Dadurch wird das Einschreiben der Infoemation in den Speicherplatz bewirkt, der durch die Basis-Bereitstellungsadresse bezeichnet ist, .". die von dem Adressenregister 506 her übertragen worden ist.
Im Hinblick auf die Fortsetung des Betiiebs sei erneut auf Fig. 5 Bezug genommen. Wie durch den Punkt Ä bezeichnet,
109821/1830
kehrt die Verarbeitung zu dem Punktionsblock 950 auf die Beendigung der Mikroprogrammausführung zurück. Die Beendigung wird dabei in herkömmlicher Weise signalisiert. (Zum Beispiel durch Wort-Satzzeichen). In der oben beschriebenen Weise wird die Punktion des Blockes 950 ausgeführt, indem der Zustand des Flip-Flops 802 ermittelt wird. Da das Flip-Flop 802 zuvor in seinen Binärzustand 1 gesetzt worden ist, wird das Signal SIM über die Leitung 184 als Eingangssignal der Prioritätsspeicher- und Prüflogik 722 zugeführt. Demgemäss wird ein erster Mikrobefehl ausgelesen und decodiert. Auf diese Weise wird durch das Codieren des BST-Bitmusters bei Vorhandensein des Signals SIM das der hohen Priorität zugeordnete Steuer-Flip-Flop I in seinen Binärzustand 1 umgeschaltet. Demgemäss wird der Inhalt des diesem Flip-Flop zugehörigen Verzweigungs-Registers in das Adressenregister 704 übertragen. Dies bewirkt die Adressierung des ersten Speicherplatzes eines Folgemikrobefehls, der die durch die Blöcke 986, 988 und 990 bezeichneten Funktionen ausführt. Im folgenden seien diese Funktionen näher betrachtet. Der Unterbefehls-G-enerator 708 decodiert einen ersten Mikrobefehl, der Sätze von Mikrooperationssignalen erzeugt. Diese Mikrοoperations-Signale schalten das Flip-Flop 802 von seinem Binärzustand eins in seinen Binärzustand 0 oder in seinen Rüekstellzustand um. Die Decodierung weiterer Sätze von Mikrobefehlen führt » zur Abgabe von Mikrooperationssignalen, die die Maschine· ™ wieder in ihren Ausgangszustand zurückführen. In der im Zusammenhang mit dem Block 980 zuvor beschriebenen Weise wird insbesondere der Inhalt der HilfsSpeicherplätze CMAS-j^ wieder in das PIT-Register 534» in das Basis-Register 516, in den Α-Zähler, den B-Zähler, den Folgezähler, das V-Register und in die Steueranzeigeeinrichtungen zurückgeführt.
109821/1830
Die Decodierung aufeinanderfolgender Mikrobefehle in dem Mikrobefehlssatz führt zur Abgabe der erforderlichen Mikrooperations-Steuersignale, die die oben erwähnten Rückspeicherungsoperationen ausführen (zum Beispiel Registerübertragungen, Steuerspeicheradressierung und Austausch der vergrösserten Adresse, sowie Abgabe von Speicher-Schreibsignalen). Parallel zu der obigen wWiederherstellungsw-Operation gibt der Unterbefehls-Generator 708 ein weiteres Unterbefehls-Signal über die Leitung 19 ab. Dieses Signal führt die Punktion des Blockes 990 aus. Dies bedeutet, dass die Wort-Verarbeitungseinrichtung 10 auf Signalisierung über ihr
* Steuerelement hin am Ende der Korrekturoperation zu ihrer
* normalen Verarbeitung zurückkehrt. Dies wiederum bedeutet, dass die weiterhin eine Steuerung ausübende Hauptprogrammgruppe die erforderlichen Operationen ausführt, um die Wort-Verarbeitungseinrichtung 10 in ihren vorhergehenden Zustand zurückzuführen (zum Beispiel die Hauptgruppe in ihren vorhergehenden Zustand zurückzuführen). Fig. 2 zeigt in diesem Zusammenhang in näheren Einzelheiten, dass das auf der Leitung 19 auftretende Signal die Adressen- und Verzweigungslogik 236 gemäss Pig. 2 entsprechend ansteuert und dem AU-PROM-Speicher 224 ermöglicht, das Auslesen und Decodieren des
in der Mikrobefehlsfolge nächsten Mikrobefehls fortzusetzen. ^ Der AU-TJnterbefehlsgenerator gibt über die Leitung 164 ein Signal ab, durch das eine Start-Adresse in das Adressenregister 144 eingeführt wird. Diese Adresse bezeichnet den Beginn einer Befehlsabholung, auf die hin der Adresaeninhalt des Hauptgruppen-Folgeregisters ausgelesen und zu dem Adressenregister 166 hin Übertragen wird und sodann zu dem Hauptspeicher. Der in dem bezeichneten Speicherplatz gespeicherte Befehl wird aus dem Hauptspeicher ausgelesen und in das Datenregister 152 übertragen. In der zuvor beschriebenen Weise wird der Befehl ausgeführt, (das heisst der Operationscode bewirkt eine Verzweigung des Inhalts des
109821/1830
AU-PROM-Speichers 224 auf eine Mikrobefehlsfolge). Dadurch kehrt die Hauptgruppe in ihren vorhergehenden Zustand zurück und ausserdem vermag die Terkehrssteuereinrichtung 4-00, die nächste aktive Programmgruppe auszuwählen.
Im vorstehenden ist ein für die praktisch gleichzeitige Verarbeitung mehrerer Programme dienendes Datenverarbeitungssystem "beschrieben worden, das eine wortorientierte Verarbeitungseinrichtung und eine zeichenorientierte Ver-, arbeitungseinrichtung aufweist. Das System enthält ferner Einrichtungen, die der wortorientierten Verarbeitungseinrichtung ermöglichen, in zeitlicher Verschachtelung vor-
!'1It. - ί
handene: Mikroprogramme/der zeichenorientierten Verarbei- ( tungseinrichtung solche Befehle auszuführen, die in den Programmen auftreten, durch die Operationen bezeichnet werden, die schneller durch die Zeichen-Verarbeitungseinrichtung verarbeitet werden. Bei den zuletzt genannten Programmen handelt es sich um solche, die einer Verarbeitung bzw. Bearbeitung unterzogen werden. Es sei hier bemerkt, dass bei der dargestellten Ausführungsform sämtliche Mikrobefehlsprogramme für die Programme der Wort-Verarbeitungseinrichtung verfügbar gemacht sind, das. die gleiche Folge 'von Mikrobefehlen für die Anfangsspeicherung des Zustands der Zeichen-Verarbeitungseinrichtung benutzt, und zwar gleichzeitig mit dem Herausholen der Wortver- |
arbeitungs-Programmgruppe und der Wiederherstellung des Zustands der Zeichen-Verarbeitungseinrichtung auf die Beendigung der Mikroprogrammausführung hin. Die o^i^e Anordnung setzt nicht nur den Steuerspeicheraufwand/einen minimalen Wert herab, sondern sie -ist auch ausserordentlich wirksam. Bei der praktischen Ausführung ist die Zeichen-Verarbeitungseinrichtung im Stande, die oben erwähnten
109821/1830
Operationen, und zwar ausschliesslich der Mikroprogrammausführung, innerhalb von zehn Mikrosekunden auszuführen.
Es ist von Bedeutung darauf hinzuweisen, dass gemäss den Lehren der Erfindung die Wort-Verarbeitungseinrichtung der Zeichen-Verarbeitungseinrichtung hinsichtlich des Umstands äquivalent ist, dass der Zeichen-Verarbeitungseinrichtung ermöglicht ist, in zeitlicher Verschachtelung mit den Einrichtungen der wortorientierten Verarbeitungseinrichtung zu arbeiten, um jene Programmbefehle auszuführen, die von der Wort-Verarbeitungseinrichtung schneller ausgeführt werden können. Bei dieser Anordnung würde jede Verarbeitungseinrichtung über ihren hier als zeitlichen Zugriff bezeichneten Zugriff zu jeder der übrigen Mikroprogrammierungseinrichtungen im Stande sein, ihren Befehlssatz zu erweitern oder zu vergrössern, ohne dass damit eine Vergrösserung des Speicherbedarfs der jeweils übrigen Steuerelemente verbunden ist.
Zum Zwecke der vereinfachten Darstellung ist der Betrieb gemäss der Erfindung in Flussdiagrammen veranschaulicht, welche eine Vielzahl von Punktionsblöcken umfassen, denen bestimmte Sätze oder Folgen von Mikrobefehlen .zugehörig sind. DarüberbLnaus sind in einigen Fällen gleichzeitig ablaufende Operationen als zeitlich aufeinanderfolgend auftretend dargestellt. So ist zum Beispiel die Überprüfung der Signale SIM und MG-SD als nacheinander auftretend dargestellt. Tatsächlich werden beide Signale jedoch gleichzeitig geprüft, wobei die Auswahl auf der Grundlage einer Prioritätsentscheidung vorgenommen wird, gemäss der dem Signal SIM die höchste Priorität zugeteilt wird.
109 8 21/1830
Sas genaue Codierungsmuster für die einzelnen Mikrobefehle ist hier nicht näher angenommen, da es dem Entwickler unbenommen bleiben soll, unterschiedliche Codierungsformen anzuwenden. Bezüglich weiterer Einzelheiten in die Verfahren zur Codierung sowie bezüglich weiteren Standes der Technik betreffend das System und die Schaltunggmerkmale und zur Erleichterung des Verständnisses der vorstehenden Beschreibung wird noch auf folgende Druckschriften hingewiesen:
1. "Microprogramming and the Design of the Control Circuits in an Electronic Digital Computer" von M.V. Wilkes und J.B. Stringer, Proc. Cambridge Phil.
Soc, Seiten 230 bis 238, Ausgabe April 1953. t
2. R. J. Mercer, "Microprogramming" Ausgabe April 1954 der Zeitschrift Jo%. Assoc.Computing Machinery, Seiten 157 bis 1.71.
3. US-Patentschriften 3 215 987, 3 245 o44, 3 246 303,
3 258 748, 3 300 764, 3 302 183, 3 349 379, 3 380 025, 3 387 379, 3 389 376, 3 391 394, 3 400 371, 3 434 112, 3 444 527 und 3 469 247.
4. Honeywell Computer Jdrnal, Winter-Spring 1968,
"Model 4200-8200 - Read-Only Memory Control Logic", | von Stuart Klein und Scott Schwartz.
Es sei ferner bemerkt, dass die oben erwähnten Punktionen zwar durch Mikrobefehlssätze (die sind fest vorgegeben) realisiert worden sind, dass aber auch andere Ausführungen anwendbar sind. So können zum Beispiel die Punktionen jedes Blockes durch eine fest verdrahtete Logik realisiert werden, die bekannte Decodier- und Zählanordnungen umfasst. Bezüglich
* 'lurch sonf'nannte Firmware
109821/1830
* - 62 -
einer derartigen Logik sei zum Beispiel auf das Buch "Computer Design Fandamentals" von Chu, McGraw-Hill BoQk Company, Inc., Copyright 1962, insbesondere Kapitel 11, hingewiesen.
TJm eine unnötige Überlastung der Beschreibung mit Dingen zu vermeiden, die als an sich bekannt angenommen werden dürfen, ist hier eine Blockdiagramm- bzw. Blockschaltbild-Darstellung gewählt worden, wobei bestrich jedes Blockes eine detaillierte funktionelle Beschreibung gegeben worden ist. Ausserdem sind die speziellen Kennzeichen der Schaltung erläutert worden. Damit soll es dem Entwickler unbenommen ψ bleiben, Elemente und Schaltungsteile, wie Flip-Flop-Schaltungen, Schieberegister, etc. frei zu wählen oder aus Standardwerken zu entnehmen, wie aus den Büchern "Arithmetic Operations in Digital Computors" von R.K. Eichards (Van Nostrand Publishing Company), "Computer Design Fundamentals" von Chu (McGraw-Hill Book Company, Inc.), und "Pulse, Digital and Switching Waveforms" von Millman and Taub (McGraw-Hill-Book Company, Inc.).
109821/1830

Claims (1)

  1. Patentansprüche
    1c Datenverarbeitungssystem zur gleichzeitigen Verarbeitung mehrerer Programme, dadurch gekennzeichnet, daß ein Speicher(i3) zur Befehlsspeicherung vorgesehen ist, daß eine erste Verarbeitungseinrichtung (1O) vorgesehen ist, die mit einem bestimmten Befehlssatz arbeitet und die ein erstes Steuerelement enthält, das sie zur unabhängigen Ausführung der Befehle eines ersten Programms veranlaßt, daß das erste Steuerelement Befehle er- _ ,
    mittelt, die nicht in dem betreffenden bestimmten I
    Befehlssatz enthalten sind und auf die hin ein Ausgangssetzsignal abgegeben -wird, daß eine zweite Verarbeitungseinrichtung (12) vorgesehen ist, die mit einem anderen Befehlssatz arbeitet und die ein zweites Steuerelement enthält, das sie zur unabhängigen Ausführung von Befehlen eines zweiten Programms veranlaßt, und daß eine Steuerlogik (16) vorgesehen ist, die direkt das erste und zweite Steuerelement verbindet und die auf das Ausgangssetzsignal hin das zweite Steuerelement veranlaßt, den durch das betreffende Ausgangssetzsignal festgelegten Befehl auszuführen, und zwar durch Verschachtelung mit Befehlen, die die zweite Verarbeitungs- «
    einrichtung (12) innerhalb des eigenen Programms ausführt. "
    2. System nach Anspruch 1 , dadurch gekennzeichnet, daß der Speicher (13) Programmbefehle speichert, daß eine ''Tort-Verarbeitungseinrichtung (TO) mit einem bestimmten Befehlssatz und mit einem bestimmten ¥ort-Datenformat arbeitet, daß die Wort-Verarbeitungseinrichtung (1O) eine Dekodiereinrichtung enthält, die auf Befehle, welche zeichenorientierte Operationen bezeichnen ,· ein Festhalte-Steuersignal abgibt, daß eine Zeichen-Verarbei tungs einrichtung (12) mit einem anderen Befehlssatz und mit einem Datenformat variabler Länge arbeitet
    109821/1830
    und daß die Verknüpfungseinrichtung auf ein Festhalte-Steuersignal des zweiten Steuerelements hin die Ausführung der zeichenorientierten Befehle durch die Steuereinrichtung der zweiten Verarbeitungseinrichtung bewirkt, die für die Ausführung von Befehlen des eigenen Programms diente
    3. System nach Anspruch 2, dadurch gekennzeichnet, daß der Speicher (13) Befehle von zumindest zwei verschiedenen Progrämmsegmenten speichert und eine Vielzahl von Speicherplätzen aufweist, von denen eine be- ^ stimmte Anzahl für die Speicherung von von Zwischen- m verbindungen mit den Verarbeitungseinrichtungen (10,12) bezeichnenden Informationen dient, daß die Wort-Verarbeitungseinrichtung (1O) ein erstes mikroprogrammiertes Steuerelement für eine unabhängige Befehlsausführung bei einem ersten Programmsegment der Programmsegmente enthält, daß das genannte erste Steuerelement auf das von der Dekodiereinrichtung abgegebene Festhalte-Signalhin einen umgesetzten Festhalte-Befehl in einen der für die Zwischenverbindungen der Verarbeitungsein- : richtungen (10,12) vorgesehenen Speicherplätze einspeichert,' daß die zweite Verarbeitungseinrightung(12) ein zweites mikroprogrammiertes Steuerelement mi-fc,, ... fe einer Vielzahl Von Mikroprogrammen enthält, die von "" der zweiten Steuereinrichtung während ihres normalen Betriebs zur Ausführung von Zeichenbefehlen der zweiten Programmsegmente verwendbar sind, und daß eine Betriebsart-Steuereinrichtung unmittelbar mit dem ersten und zweiten Steuerelement verbunden ist, das auf ein Signal von dem ersten mikroprogrammierten Steuerelement die Betriebsart-Steuereinrichtung in einem bestimmten Zustand umschaltet, in dem das mikroprogrammierte Steuerelement veranlaßt wird, eine spezielle"Mikrobefehlsfolge zum
    109821/1830
    Herau£5holen des betreffenden Befehls aus dem Speicherplatz für die Zwischenverbindung der betreffenden Verarbeitungseinrichtung abzugeben und den vorhergehenden Zustand abzuspeichern sowie eine Verzweigung zu einem bestimmten Mikroprogramm der Mikroprogramme zur Ausführung der Operation auszuführen, die durch den umgesetzten Pesthaltebefehl bezeichnet ist.
    System nach einem der Ansprüche T bis 3» dadurch gekennzeichnet, daß zur Erweiterung des Befehlssatzes zumindest einer Verarbeitungseinrichtung (10;12) zu- J
    mindest eine erste und eine zweite Verarbeitungseinrichtung (10,12) vorgesehen sind, daß ein adressierbarer Speicher (13) mit einer Vielzahl von Speicherplätzen vorgesehen ist, von denen einige Programmbefehle speichern, daß die erste Verarbeitungseinrichtung (1O) Steuereinrichtungen enthält, die während der Ausführung der Befehle eines ersten Programms wirksam sind und Befehle festhalten, einschließlich Operationskode, die nicht in dem zugehörigen Befehlssatz enthalten sind, und dabei jeweils ein erstes. externes Steuersignal erzeugen, daß ein mikroprogrammierbares Steuerelement zur Speicherung einer Vielzahl von Mikroprogrammen vorgesehen ist, die während der Befehlsausführung eines zweiten Programms bezeichnet sind, und daß eine Programmschalteinrichtung vorgesehen ist» die zumindest einen ersten und einen zweiten Zustand einzunehmen vermag und die auf ein externes Steuersignal hin von dem ersten Zustand in den zweiten Zustand umschaltet und das mikroprogrammierbare Steuerelement veranlaßt, die betreffende Verarbeitungseinrichtung auf einen Spezialbetrieb umzuschalten, bei
    109821/1830
    dem das Steuerelement eine Folge von Steuersignalen eines ersten Satzes von Mikrobefehlen erzeugt, die die eine Verarbeitungseinrichtung betätigen und den Festhalte-Befehl herauszuholen sowie die durch den Operationskode bezeichnete Operation über ein Mikroprogramm der Mikroprogramme auszuführen, die für Verarbeitungsbefehle des eigenen Programms benutzt werden, derart, daß der ersten Verarbeitungseinrichtung ermöglicht ist, zeitlich verschachtelt sämtliche Mikroprogramme der zweiten Verarbeitungseinrichtung anzuwenden.
    5β System nach Anspruch 4, dadurch gekennzeichn% daß die beiden Verarbeitungseinrichtungen (10,12) unterschiedliche Befehlsformate aufweisen, daß die Programmumschalteinrichtung einen bistabilen Speicher mit einem Eingangskreis und einem Ausgangskreis aufweist, daß mit dem bistabilen Speicher der Ausgang des'mikroprogrammierten Steuerelements der ersten Verarbeitungseinrichtung (1O) verbunden ist, daß der Ausgangskreis des bistabilen Speichers als Ausgang des mikroprogrammierten Steuerelements der zweiten Verarbeitungseinrichtung (12) geschaltet ist, daßcfer bistabile P Speicher bei Wirksamsein im ersten Zustand die zweite Verarbeitungseinrichtung (12) veranlaßt, im Normalbetrieb zu arbeiten, wobei- Befehle des eigenen Programms unter der Steuerung des mikroprograrnmierten Steuerelements ausgeführt werden, und daß der bistabile Speicher auf die Aufnahme eines ersten Steuersignals hin von demjsrsten Zustand in den zweiten Zustand umschaltet und das Steuerelement der zweiten Verarbeitungseinrichtung veranlaßt, die genannte Verarbeitungseinrichtung (12) auf einen Spezialbetrieb umzuschalten,
    109821/1830
    die daraufhin einen Programmbefehl der ersten Verarbeitungseinrichtung (10) aufnimmt "und unter Heranziehung desselben Mikroprogramms ausführt, das norme'1 erweise für die Ausführung von Befehlen des eigenen Programms diente
    6» System nach einem der Ansprüche 1 bis 5f dadurch gekennzeichnet, daß der Speicher (13) eine Vielzahl von Speichermodulen (14) enthält, deren jedes eine Vielzahl von Speicherplätzen aufweist, daß Gruppen von Speicherplätzen bestimmter Speichermodule (14)
    für die Befehlsspeicherung jeweils eines anderen f
    Programms aus einer Vielzahl von Programmen vorgesehen sind, daß ein Speichermodul (14) eine bestimmte Anzahl von festen Speicherplätzen enthält, die Verbindungen mit den Verarbeitungseinrichtungen (1O,12) zugeteilt sind, daß die erste mit Programmverschachtelung arbeitende Verarbeitungseinrichtung (1O) auf einen bestimmten Befehlssatz hin arbeitet und ein mikroprogrammiertes Steuerelement aufweist, durch das unabhängig Befehle für Programme aus der Vielzahl von Programmen ausführbar sind, von denen jedes durch einen Gruppenkode bezeichnet ist und einen
    anderen Speicherschutzkode aufweist, wobei eines ,
    der Programme einer Hauptsteuerfunktion des Systems I
    zugeteilt ist, daß die erste Verarbeitungseinrichtung (10) eine mit Programmverschachtelung arbeitende Verkehrssteuereinrichtung für die Abtastung der Programme und Zuordnung der Zyklen zu den.aktiven Programmen enthält, daß die zweite Verarbeitungseinrichtung (12) ein zweites mikroprogrammiertes Element zur Speicherung einer Vielzahl von Mikroprogrammen enthält, die von der betreffenden Verarbeitungseinrichtung. (12) während ihres normalen Betriebs Für die Befehlsausführung bei zumindest
    109821/1830
    einem Programm aus der Vielzahl von Programmen benutzbar sind, daß die erste Verarbeitungseinrichtung eine Dekodiereinrichtung enthält, die mit der ersten Steuereinrichtung verbunden ist und die wirksam Operationskodes der Befehle festhält, die nicht durch die betreffenden Programme ausführbar sind, daß die Steuereinrichtung durch ein derart festgehaltenes Steuersignal von der Dekodiereinrichtung .. die Programmsteuerung über das Programm, von dem der festgehaltene Befehl, abgegeben ist, an ein Hauptprogramm überträgt, das die jeweils festgehaltenen Befehle in Befehle umsetzt, einschließlich' eines
    ψ Operationskodes, die von der zweiten Verarbeitungs— einrichtung (12) ausführbar sind, und zwar zusätzlich mit einer Information, die den Speicherbereich bezeichnet, dem das Ursprungsprograrnm zugeteilt ist, daß der umgesetzte Befehl in einer geeigneten Verbindungsspeicherstelle abgespeichert wird, daß Einrichtungen vorgesehen sind, die das erste und zweite mikroprogrammierte Steuerelement verbinden und die auf ein Signal von dem ersten Steuerelement hin das zweite Steuerelement veranlassen, an die zweite Verarbeitungseinrichtung (12) ein zu einem Spezialbetrieb führendes Steuersignal abzugeben, auf das hin diese Verarbeitungseinrichtung (12) den umgesetzten
    W Befehl aus dem Verbindungsspeicherplatz gleichzeitig mit einer Information für die Rückführung zu dem Programm herausholt, das von der zweiten Verarbeitungseinrichtung (12) ausgeführt wird, und daß das zweite Steuerelement durch den Operationskode des umgesetzten Befehls auf ein Mikroprogramm der Mikroprogramme zurückgreift, die normalerweise von dieser Verarbeitungseinrichtung für die Ausführung entsprechender Operationen herangezogen werden, welche durch Befehle der eigenen Programme bezeichnet sind.
    109821/1830
    System nach Anspruch 6, dadurch gekennzeichnet, daß die erste Verarbeitungseinrichtung (10) einen Speicher mit einer Vielzahl von Speicherplätzen für die Speicherung von Verschlüsselungs-Iodes und Basis-Adressen des jeweiligen Programms enthält, und daß das Hauptprogramm während der Umsetzung des festgehaltenen Befehls im Hinblick auf die Bezugnahme auf ein Verschlüsselungs- und Basis-Register wirksam ist, das dem Ursprungsprogramm zugeteilt ist, und den Inhalt dieses Registers zu dem Verbindungsspeicherplatz für die übertragung zu der zweiten Verarbeitungseinrichtung hinleitet,
    8. System nach Anspruch 6, dadurch gekennzeichnet, daß die jeweils festgehaltene Information als bevorzugte Information kodiert wird und daß das Hauptprogramm den Operationskode des bevorzugten Befehls in einen geeigneten Operationskode innerhalb des Vorrats der zweiten Verarbeitungseinrichtung (12) umsetzt»
    9, System nach Anspruch 5, dadurch gekennzeichnet, daß
    clip erste Verarbeitungseinrichtung (TO) eine vfort— orientierte Verarbeitungseinrichtung (1 θ) mit einem TTortdatenformat ist und daß die zweite Verarbeitungseinrichtung (12) eine zeichenorientierte Verarbeitungseinrichtung (12) mit einem Datenformat variabler Länge ist.
    10, System nach Anspruch 3, dadurch gekennzeichnet, daß die Operationskodes der jeweils umgesetzten Befehle/der Klasse von Operationskodes liegen, die zeichenorientierte Operationen bezeichnen.
    109821/1830
    11. System nach Anspruch 6, dadurch gekennzeichnet,
    daß der jeweils umgesetzte Befehl eine dem Ursprungsprogramm zugeordnete Steuerinformation umfaßt, die der zweiten Verarbeitungseinrichtung (12) den Zugriff zu solchen Speicherbereichen erlaubt, die dem Ursprungsprogramm während der Ausführung des umgesetzten Befehls zugeteilt sind,'
    12. System nach Anspruch 11, dadurch gekennzeichnet, daß die Steuerinformation einen Verschlüsselungskode und einen Basisadreissenkode umfaßt.
    13. System nach Anspruch 6, dadurch gekennzeichnet, daß der Speicher (13) durch ein System von Sperr- und Verschlüsselungskodes geschützt ist, daß die zweite Verarbeitungseinrichtung (12) einen Datenspeicher mit einer Vielzahl von Speicherplätzen für die Speicherung einer Anzahl von Sperrkodes enthält, die einer entsprechenden Anzahl von Speicherblöcken zugeteilt sind, zu denen die zweite Verarbeitungseinrichtung (12) Zugriff hat, daß die zweite Ver-χ arbeitungseinrichtung (12) ferner ein Verschlüsselungs-Register zur Speicherung eines Verschlüsselungs— Schutzkodes enthält, das dem Programm zugeteilt ist, ψ welches durch die zweite Verarbeitungseinrichtung (12) ausgeführt wird, und daß das zweite milcroprogrammierte Steuerelement vorübergehend zur Aus'führung des umgesetzten Befehls, zur Ausspeicherung des Inhalts des Verschlüsselungs-Registers und zum Laden des betreffenden Registers mit einem Verschlüsselungs-Kode dient, der dem Ursprungsprogramm zugeteilt ist, das in dem umgesetzten Befehl enthalten ist, und zwar zum Vergleich des Inhalts des Verschlüsselungs-Registers
    109821/1830
    mit einem Sperrkode, der den adressierten Speicherplätzen zugeordnet ist, und zur Festlegung, ob die zweite Verarbeitungseinrichtung (12) zuvor Zugang erhalten hat oder nicht«
    14. System nach Anspruch 13, dadurch gekennzeichnet, daß die zweite Verarbeitungseinrichtung (12) ein erstes Signal erzeugt, wenn, beide Verschlüsselungskodes übereinstimmen, und ein zweites Schreib-Sperrsignal, wenn die beiden Kodes nicht übereinstimmen, wobei das zweite Signal das Einschreiben in den
    adressierten Speicherplatz verhindert, und daß das j
    rnilcroprogrammierte Steuerelement durch dieses Schreib-Sperrsignal veranlaßt wird, durch Bezugnahme auf eine Mikrobefehlsfolge eine Schreibsperrfunktion an das Hauptprogramm zu signalisieren.
    15. System nach Anspruch 13, dadurch gekennzeichnet, daß die zweite Verarbeitungseinrichtung (12) ein Basisregister enthält und daß das mikroprogrammierte Steuerelement zusätzlich zur Speicherung des Verschlüsselungskodes den Basisadressen-Kodeinhalt des Basisregisters des Programms ausspeichert und dieses Basisregister mit
    der Basisadresse lädt, die dem Ursprungsprogramm |
    zugeteilt ist, und zwar zum Vergleich des Inhalts des Vorschlüsselungs-Registers mit den Sperrkodes, die den Basis-^Jiederbereitstellungs-Speicheradressensteilen zugeordnet sind.
    16. System nach Anspruch 6, dadurch gekennzeichnet, daß die erste Verarbeitungseinrichtung (1O) einen Adressengenerator und eine Rechen- und Verknüpfungs-
    109821/1830
    einrichtung enthält, daß der Adressengenerator ein Mikroprogramm-Steuerelement zur Abgabe von Mikrobefehlen enthält, die die Operationen des Adressengenerators leiten, daß die Rechen- und Verknüpfungs"einrichtung ein zweites Mikroprogramm-Steuerelement zur Abgabe von Mikrobefehlen zum Zwecke der Ausführung von Operationen der genannten Recheneinrichtung enthält und daß der Adressengenerator und die Rechen- und Verknüpfungseinrichtung gleichzeitig wahrend der Ausführung von Befehlen von der Vielzahl von aktiven Programmen wirksam sind.
    1.7. System nach Anspruch 6, dadurch gekennzeichnet, daß die erste Verarbeitungseinrichtung (10) einen Steuerspeicher mit einer Vielzahl von Speichergruppen enthält, deren jede eine Vielzahl von Speicherplätzen aufweist, und daß eine mit Programmverschachtelung arbeitende Verkehrssteuereinriohtung dem Steuerspeicher zugeordnet ist und Speicherplätze innerhalb unterschiedlicher Speichergruppen entsprechend den aktiven Programmen auszuwählen erlaubt.
    18. System nach Anspruch 6, dadurch gekennzeichnet, daß die Zwischenverbindungseinrichtung eine Rufleitung (18) und eine Antwortleitung (19) zur Signalisierung einer Anforderung nach einem Mikr'o- · programm der zv/eiten Verarbeitungseinrichtung (12) und der Beendigung der Mikroprogrammausführung des angeforderten Mikroprogramms enthält.
    19. System nach Anspruch 6, dadurch gekennzeichnet,
    daß das mikroprogrammierte Steuerelement der zweiten Verarbeitungseinrichtung (12) ein externes Antwort-
    ßAD ORIGINAL
    109821/1830
    signal auf die Beendigung der Ausführung des Mikroprogramms gleichzeitig mit der Zurückführung der betreffenden Information in das Programm erzeugt.
    20. Verfahren zum Betreiben eines Systems nach einem . der Ansprüche 1 bis 19, dadurch gekennzeichnet, daß die Ausführung von Programmbefehlen innerhalb der beiden Verarbeitungseinrichtungen (10,12) durch Heranziehen einer Vielzahl von Mikroprogrammen gesteuert wird, die in mikroprogrammierten Steuerelementen gespeichert sind, welche den beiden Ver- | arbeitungseinrichtungen (10,12) individuell zugeordnet sind, daß mit jedem Befehl eines Programms, das der ersten Verarbeitungseinrichtung (10) zugeordnet ist, kodiert festgelegt wird, welche unterteilten Mikroprogramme, auszuführen sind, die in den. mikroprogrammierten Steuerelementen der zweiten Verarbeitungseinrichtung (12) gespeichert sind, und zwar einschließlich eines Operationbkodes, der auf die Dekodierung hin ein erstes Steuersignal erzeugt,
    das
    durch das/mikroprogrammierte Steuerelement veranlaßt wird, eine Folgesteuerung bezüglich eines Mikrobefehlswortkodes vorzunehmen und ein externes Steuer- ^ signal zu erzeugen, daß an bestimmten Punkten in dem " mikroprogrammierten Steuerelement der zweiten Verarbeitungseinrichtung (12) erste und zweite Mikrobefehlsfolgen gespeichert werden, daß die erste Mikrobefehlsfolge zur Nachbildung einer normalen Befehlsabholung herangezogen wird, und zwar in Verbindung mit der gleichzeitigen Speicherung des Zustands der zugehörigen Verarbeitungseinrichtung, daß die erste Mikrobefehlsfolge so ausgelegt wird, daß sie sich mit der Vielzahl von Mikroprogrammen
    109821/1830
    verbindet, die in dem mikroprogrammierten steuerelement gespeichert sind, daß die zweite Mikrobefehl sf ο Ige dazu benutzt wird, den betreffenden Zustand v/i eder her zustell en und gleichzeitig ein Antwortsignal an die erste Verarbeitungseinrichtung (lo) abzugeben, durch das die Beendigung der Mikroprogrammausführung signalisiert wird,, daß das externe Steuersignal dem Steuerelement der zweiten Verarbeitungseinrichtung zugeführt wird, derart, daß dieses Steuerelement veranlaßt wird, die erste Mikrobefehlsfolge auszuführen, und daß ein Mikroprogramm durch den Operationskode des festgehaltenen Befehls und der zweiten Mikrobefehlsfolge ausgewählt wird.
    10982 1/1830
DE19702055716 1969-11-12 1970-11-12 Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme Withdrawn DE2055716A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US87590069A 1969-11-12 1969-11-12

Publications (1)

Publication Number Publication Date
DE2055716A1 true DE2055716A1 (de) 1971-05-19

Family

ID=25366574

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19702055716 Withdrawn DE2055716A1 (de) 1969-11-12 1970-11-12 Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme

Country Status (5)

Country Link
US (1) US3631405A (de)
JP (1) JPS5713018B1 (de)
CA (1) CA936623A (de)
DE (1) DE2055716A1 (de)
GB (1) GB1327779A (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2456578A1 (de) * 1973-11-30 1975-06-05 Cii Honeywell Bull Datenverarbeitungssystem

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3786427A (en) * 1971-06-29 1974-01-15 Ibm Dynamic address translation reversed
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US4135240A (en) * 1973-07-09 1979-01-16 Bell Telephone Laboratories, Incorporated Protection of data file contents
IT993428B (it) * 1973-09-26 1975-09-30 Honeywell Inf Systems Unita di controllo di calcolatore microprogrammato con microprogram mi residenti in memoria e sovrap posizioni delle fasi interpretati ve di una microistruzione con la fase esecutiva della precedente microistruzione
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
US3955180A (en) * 1974-01-02 1976-05-04 Honeywell Information Systems Inc. Table driven emulation system
US3976979A (en) * 1974-01-02 1976-08-24 Honeywell Information Systems, Inc. Coupler for providing data transfer between host and remote data processing units
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
JPS5121453A (ja) * 1974-08-15 1976-02-20 Hitachi Ltd Deetashorishisutemu
US4136383A (en) * 1974-10-01 1979-01-23 Nippon Telegraph And Telephone Public Corporation Microprogrammed, multipurpose processor having controllable execution speed
JPS5524134B2 (de) * 1974-11-15 1980-06-27
US4001788A (en) * 1975-03-26 1977-01-04 Honeywell Information Systems, Inc. Pathfinder microprogram control system
US4167778A (en) * 1975-11-28 1979-09-11 Sperry Rand Corporation Invalid instruction code detector
US4162529A (en) * 1975-12-04 1979-07-24 Tokyo Shibaura Electric Co., Ltd. Interruption control system in a multiprocessing system
DE2607685C3 (de) * 1976-02-25 1981-01-15 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum Betrieb von Prozessoren in einem Multiprozessorsystem
IT1062827B (it) * 1976-03-29 1985-02-11 Olivetti Controllo Numerico Sistema di controllo numerico per macchine utensili
US4224664A (en) * 1976-05-07 1980-09-23 Honeywell Information Systems Inc. Apparatus for detecting when the activity of one process in relation to a common piece of information interferes with any other process in a multiprogramming/multiprocessing computer system
US4042914A (en) * 1976-05-17 1977-08-16 Honeywell Information Systems Inc. Microprogrammed control of foreign processor control functions
JPS538034A (en) * 1976-06-30 1978-01-25 Toshiba Corp Electronic computer
JPS5317240A (en) * 1976-07-31 1978-02-17 Toshiba Corp Controller
US4256926A (en) * 1976-10-21 1981-03-17 Wescom Switching, Inc. Microprocessor control complex for a telecommunication switching system
US4259549A (en) * 1976-10-21 1981-03-31 Wescom Switching, Inc. Dialed number to function translator for telecommunications switching system control complex
US4322716A (en) * 1976-11-15 1982-03-30 Environmental Research Institute Of Michigan Method and apparatus for pattern recognition and detection
US4131941A (en) * 1977-08-10 1978-12-26 Itek Corporation Linked microprogrammed plural processor system
US4199811A (en) * 1977-09-02 1980-04-22 Sperry Corporation Microprogrammable computer utilizing concurrently operating processors
US4179736A (en) * 1977-11-22 1979-12-18 Honeywell Information Systems Inc. Microprogrammed computer control unit capable of efficiently executing a large repertoire of instructions for a high performance data processing unit
US4291370A (en) * 1978-08-23 1981-09-22 Westinghouse Electric Corp. Core memory interface for coupling a processor to a memory having a differing word length
US4648063A (en) * 1978-10-30 1987-03-03 Phillips Petroleum Company Programming a peripheral computer
JPS55134459A (en) * 1979-04-06 1980-10-20 Hitachi Ltd Data processing system
US4346438A (en) * 1979-10-24 1982-08-24 Burroughs Corporation Digital computer having programmable structure
US4429372A (en) 1981-06-16 1984-01-31 International Business Machines Corporation Method for integrating structured data and string data on a text processing system
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
JPS5955565A (ja) * 1982-09-24 1984-03-30 Fujitsu Ltd マルチフア−ムウエア方式
US4928223A (en) * 1982-10-06 1990-05-22 Fairchild Semiconductor Corporation Floating point microprocessor with directable two level microinstructions
DE3302929A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
US4587609A (en) * 1983-07-01 1986-05-06 Honeywell Information Systems Inc. Lockout operation among asynchronous accessers of a shared computer system resource
US5165033A (en) * 1983-07-25 1992-11-17 Hitachi, Ltd. Microprocessor and data processor using the former
JPH081604B2 (ja) * 1983-07-25 1996-01-10 株式会社日立製作所 マイクロプロセッサ
US4591982A (en) * 1983-08-29 1986-05-27 International Business Machines Corporation Storage selection override apparatus for a multimicroprocessor implemented data processing system
US4862351A (en) * 1983-09-01 1989-08-29 Unisys Corporation Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same
US4561051A (en) * 1984-02-10 1985-12-24 Prime Computer, Inc. Memory access method and apparatus in multiple processor systems
JPS61110256A (ja) * 1984-11-02 1986-05-28 Hitachi Ltd 複数の演算部を有するプロセツサ
US4722048A (en) * 1985-04-03 1988-01-26 Honeywell Bull Inc. Microcomputer system with independent operating systems
CA1270338C (en) * 1985-09-11 1990-06-12 DATA PROCESSING SYSTEM FOR PROCESSING UNITS WITH DIFFERENT RATES
JPS62169205A (ja) * 1986-01-22 1987-07-25 Hitachi Ltd プログラマブルコントロ−ラ
US5109329A (en) * 1987-02-06 1992-04-28 At&T Bell Laboratories Multiprocessing method and arrangement
US5003466A (en) * 1987-02-06 1991-03-26 At&T Bell Laboratories Multiprocessing method and arrangement
JPH0810428B2 (ja) * 1988-12-26 1996-01-31 三菱電機株式会社 データ処理装置
US4961162A (en) * 1989-01-13 1990-10-02 International Business Machines Corporation Multiprocessing system for performing floating point arithmetic operations
EP0843254A3 (de) * 1990-01-18 1999-08-18 National Semiconductor Corporation Integrierte, digital arbeitende Signalverarbeitungsanlage/Universalprozessor mit anteilig genutzten internem Speicher
US5446865A (en) * 1990-03-13 1995-08-29 At&T Corp. Processor adapted for sharing memory with more than one type of processor
US5506980A (en) * 1991-10-22 1996-04-09 Hitachi, Ltd. Method and apparatus for parallel processing of a large data array utilizing a shared auxiliary memory
EP0545581B1 (de) * 1991-12-06 1999-04-21 National Semiconductor Corporation Integriertes Datenverarbeitungssystem mit CPU-Kern und unabhängigem parallelen, digitalen Signalprozessormodul
JPH0628322A (ja) * 1992-07-10 1994-02-04 Canon Inc 情報処理装置
DE4341886A1 (de) * 1992-12-16 1994-06-23 Rolm Co HDLC-Hardwaremaschine und Speicherschnittstelle
JP3138171B2 (ja) * 1994-06-22 2001-02-26 インターナショナル・ビジネス・マシーンズ・コーポレ−ション システム機能をダウンロードする方法
US5828897A (en) * 1996-12-19 1998-10-27 Raytheon Company Hybrid processor and method for executing incrementally upgraded software
US5941966A (en) * 1997-05-05 1999-08-24 International Business Machines Corporation Method and apparatus using a plural level processor for controlling a data bus
JP2000242489A (ja) * 1998-12-21 2000-09-08 Casio Comput Co Ltd 信号処理装置の資源管理装置、プログラム転送方法、及び記録媒体
US6701426B1 (en) * 1999-10-19 2004-03-02 Ati International Srl Switching between a plurality of branch prediction processes based on which instruction set is operational wherein branch history data structures are the same for the plurality of instruction sets
JP3981238B2 (ja) * 1999-12-27 2007-09-26 富士通株式会社 情報処理装置
US7149878B1 (en) 2000-10-30 2006-12-12 Mips Technologies, Inc. Changing instruction set architecture mode by comparison of current instruction execution address with boundary address register values
US7711926B2 (en) * 2001-04-18 2010-05-04 Mips Technologies, Inc. Mapping system and method for instruction set processing
US6826681B2 (en) * 2001-06-18 2004-11-30 Mips Technologies, Inc. Instruction specified register value saving in allocated caller stack or not yet allocated callee stack
US7107439B2 (en) * 2001-08-10 2006-09-12 Mips Technologies, Inc. System and method of controlling software decompression through exceptions
US7707389B2 (en) 2003-10-31 2010-04-27 Mips Technologies, Inc. Multi-ISA instruction fetch unit for a processor, and applications thereof
JP4224080B2 (ja) * 2006-06-05 2009-02-12 フェリカネットワークス株式会社 情報処理端末およびそのプログラム
EP2015174B1 (de) * 2007-06-21 2018-03-14 Imsys AB Mikroprogrammierter prozessor mit vielfachen prozessorkernen und zeitgleichem zugriff auf einen mikroprogrammsteuerspeicher
US8230425B2 (en) * 2007-07-30 2012-07-24 International Business Machines Corporation Assigning tasks to processors in heterogeneous multiprocessors

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US26171A (en) * 1859-11-22 Improvement in grain-binders
US3348210A (en) * 1964-12-07 1967-10-17 Bell Telephone Labor Inc Digital computer employing plural processors
US3480914A (en) * 1967-01-03 1969-11-25 Ibm Control mechanism for a multi-processor computing system
US3496551A (en) * 1967-07-13 1970-02-17 Ibm Task selection in a multi-processor computing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2456578A1 (de) * 1973-11-30 1975-06-05 Cii Honeywell Bull Datenverarbeitungssystem

Also Published As

Publication number Publication date
US3631405A (en) 1971-12-28
CA936623A (en) 1973-11-06
GB1327779A (en) 1973-08-22
JPS5713018B1 (de) 1982-03-15

Similar Documents

Publication Publication Date Title
DE2055716A1 (de) Datenverarbeitungssystem zur gleich zeitigen Verarbeitung mehrerer Programme
DE69730276T2 (de) Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes
DE2555963C2 (de) Einrichtung zur Funktionsmodifizierung
DE2515696C2 (de) Datenverarbeitungssystem
DE2113890C2 (de) Zentrale Verarbeitungseinrichtung für Datenverarbeitungsanlagen
DE2500006A1 (de) Wirtsdatenverarbeitungssystem und verfahren zur emulation von eingabe/ausgabe- befehlen
DE1931966C3 (de) Datenverarbeitungsanlage mit Assoziativspeichern
DE2540824C2 (de) Auf verschiedene Ausbaustufen veränderbare Abrechnungsmaschine
DE2350884C2 (de) Adreßumsetzungseinheit
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE2417795C2 (de) Datenverarbeitungsanlage
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2813128A1 (de) Mikroprogrammspeicher
DE2517276A1 (de) Datenverarbeitungssystem
DE1499193A1 (de) Datenverarbeitungsanlage
DE2248296A1 (de) Programmsteuereinrichtung
DE2317870A1 (de) Programmgesteuertes unterbrechungssystem fuer ein- und ausgabe in einem digitalen rechenwerk
DE2542740A1 (de) Mikroprogramm-datenverarbeitungsverfahren und geraet zur ausfuehrung des verfahrens
DE1929010A1 (de) Modular aufgebautes Datenverarbeitungssystem
DE2316296A1 (de) Durch mikroprogramme steuerbare verarbeitungseinrichtung
DE2339741A1 (de) Anordnung zur bildung einer relativen adresse fuer einen speicher
DE2746505C2 (de)
DE2054947A1 (de) Adressenvorbereitungseinnchtung und verfahren und Speicherzugnffan forderungseinnchtung fur ein Infor mationsver arbeitungssystem
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee