DE1900141A1 - Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung

Info

Publication number
DE1900141A1
DE1900141A1 DE19691900141 DE1900141A DE1900141A1 DE 1900141 A1 DE1900141 A1 DE 1900141A1 DE 19691900141 DE19691900141 DE 19691900141 DE 1900141 A DE1900141 A DE 1900141A DE 1900141 A1 DE1900141 A1 DE 1900141A1
Authority
DE
Germany
Prior art keywords
register
memory
cycle
address
branch
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19691900141
Other languages
English (en)
Other versions
DE1900141C3 (de
DE1900141B2 (de
Inventor
Ming-Tzer Miu
Hoff George S
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 DE1900141A1 publication Critical patent/DE1900141A1/de
Publication of DE1900141B2 publication Critical patent/DE1900141B2/de
Application granted granted Critical
Publication of DE1900141C3 publication Critical patent/DE1900141C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • G06F9/265Microinstruction selection based on results of processing by address selection on input of storage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13083Jumps

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Patentanwalt München, 2.1.1969
B München 22, HEtrns;M5,TeI1WM53
Postanschrift München 26, Posöacfc 4
Mein Zeichen: P 674
Anmelder: HONEYWELL INC.
27Ol Fourth Avenue South Minneapolis, Minnesota
USA
Datenverarbeitungsvorrichtung
Die Erfindung bezieht sich auf eine Datenverarbeitungsvorrichtung und insbesondere auf eine Einrichtung, die in dieser Datenverarbeitungsvorrichtung eine Vielfach-Verzweigungsoperation durchzuführen gestattet.
Bei herkömmlichen Programmierungsmethoden wird die Ausführung einer Vielfach-Verzweigungsoperation dadurch ermöglicht, daß herkömmliche Verzweigungsbefehle.hintereinander gereiht werden. Diese Methode ist langsam, und zwar insofern, als ein geprüfter Zweigbefehl pro Element der hintereinander angeordneten Befehle erzeugt werden muß. Es sind auch schon Vielfach-Verzweigungsoperationen bekannt, die ihre Operationen während der einem einzigen Maschinenzyklus entsprechenden Zeitspanne auszuführen gestatten. Derartigen Vielfach-Verzweigungsoperationen haftet jedoch der Mangel an, daß normalerweise während eines
909836/1256
1900U1
einzigen Befehlszyklus die Vielfach-Adressen vorliegen und die Prüfanforderungen ausgeführt werden. Dadurch müssen sämtliche Prüfanforderungen bezeichnet und nahezu gleichzeitig erfüllt werden. Dies steht im Gegensatz zum Gegenstand der vorliegenden Erfindung. Gemäß der Erfindung werden Einrichtungen geschaffen, die eine oder mehrere Verzweigungsadressen und Angaben über Prüfanforderungen unabhängig voneinander vorzuspeiehern gestatten. Zu einem späteren Zeitpunkt werden dann die Ergebnisse der vorgespeicherten Anforderungen überprüft, und außerdem wird eine einer der vorgespeicherten Adressen entsprechende Verzweigungsoperation ausgeführt.
Der Erfindung liegt daher die grundsätzliche Aufgabe zugrunde, eine Vorrichtung zu schaffen, die auf irgendeine Verzweigungsadresse einer Vielzahl vorgespeicherter Verzweigungsadressen hin eine Verzweigungsoperation ausführt, und zwar entsprechend den in dem zugehörigen Datenverarbeitungssystem vorliegenden Anforderungen. Dabei ist eine Überprüfung zu irgendeinem Zeitpunkt nach der eigentlichen Ausführung der betreffenden Operation vorzunehmen.
Gelöst wird diese Aufgabe mit einer Datenverarbeitungsvorrichtung der eingangs genannten Art erfindungsgemäß dadurch, daß ein adressierbar ansteuerbarer Speicher vorgesehen ist, dem ein erstes Register zur Speicherung einer Speicheransteueradresse und ein zweites Register zur Kurzzeitspeicherung des Inhalts eines bezeichneten Speicherplatzes de.s Speichers zugeordnet ist, daß eine Vielzahl unabhängig voneinander ansteuerbarer Register vorgesehen ist, in welche mit Hilfe von Steuereinrichtungen selektiv zumindest ein Teil des jeweiligen Informationsinhalts des zweiten Registers während aufeinanderfolgender Operationszyklen des Speichers einspeicherbar ist, und daß die Steuereinrichtungen eine der Anzahl der unabhängig voneinander
909836/1256
1900U1
ansteuerbaren Register entsprechende Anzahl von Speicherelementen und Prüfeinrichtungen enthalten, die auf Prüfanforderungssignale hin selektiv ansprechende Auswerteeinrichtungen einstellen, woraufhin der Inhalt eines bestimmten Registers der unabhängig voneinander ansteuerbaren Register als Speicheransteueradresse zur Bezeichnung des nächsten Speicherplatzes des Speichers heranziehbar ist.
Die der Erfindung zugrundeliegende Aufgabe wird also dadurch gelöst, daß eine Vielzahl von als Zweigadressenregistern zu bezeichnenden Speicherregistern zur Verfugung steht, die einer Adresse oder einem Teil einer Adresse in einem zugehörigen Speicher entsprechende digitale Daten zu speichern imstande sind. Jedem der Zweigadressenregister ist eine setzbare bistabile Speichereinrichtung in Form eines Flip-Flops zugeordnet, Jede dieser bistabilen Einrichtungen kann auf eine erfolgreiche Ausführung in dem System vorhandener Anforderungen gesetzt werden, woraufhin die Verzweigungsoperation bestimmt ist. Ferner ist eine Abtasteinrichtung in Form einer Prüflogikschaltung vorgesehen, die auf eine Feststellung eines gespeicherten Verzweigungssignals, das die Steuereinrichtung des zugehörigen Datenverarbeitungssystems erzeugt, eine Abtastung der bistabilen Einrichtungen einleitet um festzustellen, welche der Verzweigungsadressen zu beachten ist. Bei einer bevor- : zugten Ausführungsform der Erfindung ist die Reihenfolge der Abtastung und damit die Richtung der Abtastung der Flip-Flops durch eine abnehmende Wertigkeit festgelegt.
Gemäß einem speziellen Zweck ist eine Vielfach-Verzweigungsmethode anzuwenden, bei der Verzweigungsadressen, die irgendeiner Anforderung einer Vielzahl von zu überprüfenden Anforderungen entsprechen, in Verzweigungsadressenregistern vorgespeichert werden, währenddessen die zu prüfenden Anforderungen in entsprechenden Flip-Flops
909836/1266
gespeichert werden. Daraufhin wird ein Verzweigungssignal abgegeben, mit dessen Hilfe die Abtastung der Flip-Flops eingeleitet wird. Die Überprüfung erfolgt in einer dem Inhalt eines bestimmten Verzweigungsadressenregisters entsprechenden Reihenfolge.
Die durch die Verzweigung zufolge einer gespeicherten Prüfanforderung erzielte zusätzliche Flexibilität dürfte somit ersichtlich sein. Diese Flexibilität !trifft sowohl interne als auch externe Verzweigungsoperationen. Eine besondere Anwendung der Vielfach-Verzweigungsmethode liegt in der Anwendung bei der Folgesteuerung durch gespeicherte Programme. Derartige gespeicherte Programme können die Form eines normalen gespeicherten Programms besitzen, wie es in herkömmlichen Datenverarbeitungsanlagen benutzt wird. Im Unterschied dazu kann das Programm, wie dies bei der bevorzugten Ausführungsform der Erfindung der Fall ist, Bestandteil eines Auslesespeichers sein, der zur Erzeugung von Steuersignalen in einer zugehörigen Datenverarbeitungsvorrichtung benutzt wird. Dabei kann eine geplante Anwendung auf einen reinen internen Anwendungsbereich einen Anwendungsfall darstellen, bei dem der Programmierer eine interne Programmschleife zu realisieren beabsichtigt, in der eine begrenzte Anzahl von Lesespeicherstellen zyklisch nacheinander angesteuert werden, bis in einem zugehörigen Register, das in jedem Zyklus um eins weitergeschaltet wird, eine der gewünschten Anzahl an Programmschleifen entsprechende Information gespeichert ist. Zu einem derartigen Zeitpunkt ist die Prüfanforderung eines einem der Zw.eigadressenregister zugeordneten Flip-Flops erfüllt, so daß die nächstfolgende Lesespeicherstelle berücksichtigt wird, die der in dem zugehörigen Verzweigungsadressehregister gespeicherten Adresse entspricht.
908836/1268
'*" 1900U1
Das Beispiel einer externen Verzweigungsoperation stellt einen Fall dar, bei dem verschiedene aufeinanderfolgende Auslesespeicherstellen zur Erzeugung von Steuersignalen ν führende Zyklen festlegen, die einer Vielzahl von Programmbefehlen gemeinsam sind, die jedoch nur einen kleinen Anteil der Gesamtzahl von Zyklen ausmachen, die zur vollständigen Ausführung irgendeiner dieser Operationen erforderlich sind. In derartigen Fällen werden die gemeinsamen Zyklen auf die verschiedenen Programmbefehle aufgeteilt; eine externe Verzweigungsoperation wird dabei eingeführt, um Steuersignale für nachfolgende Operationszyklen der betreffenden Befehle an verschiedene andere Teile des Auslesespeichers zurückzuleiten.
Anhand von Zeichnungen wird nachstehend ein Ausführungsbeispiel der Erfindung näher erläutert. Fig. 1 zeigt schematisch ein die Erfindung umfassendes Rechnersystem. '
Fig. 2A bis 2F veranschaulichen im einzelnen Verknüpfungsschaltungen zur Ausführung der vorliegenden Erfindung. Fig. 3 zeigt ein Flußdiagramm eines zur Erläuterung der Arbeitsweise der vorliegenden Erfindung benutzten Programmbefehls.
Im folgenden sei das in Fig. 1 dargestellte Blockschaltbild betrachtet, das den generellen Aufbau eines, elektronischen Datenverarbeitungssystems zeigt, in welchem die Merkmale der vorliegenden Erfindung realisiert sind. Wie aus Fig. 1 hervorgeht, kann der zentrale Verarbeitungsteil des Systems im wesentlichen als in drei Teile aufgeteilt betrachtet werden: Ein Speicherteil 10, ein ■Rechenteil 12 und ein Steuerteil 14. Eine Haupttakteinrichtung (nicht gezeigt) wird dazu benutzt, Taktsignale für die Synchronisierung sämtlicher Einrichtungen des Systems zu erzeugen. Die von der Haupttakteinrichtung
806836/1256
1900U1
bzw. von dem Haupttaktgenerator abgegebenen Signale können, obwohl dies nicht dargestellt ist, so angesehen werden, als seien sie an sämtliche entsprechenden Einrichtungen des Systems verteilt, die solche Signale zur Synchronisierung ihrer Operationen benötigen.
Im folgenden sollen die den Speicherteil 10 gemäß Fig. 1 bildenden Elemente näher betrachtet werden. Zu diesen Elementen gehört ein Hauptspeicher 20, der ein mehrere Ebenen umfassender Koinzidenzstrom-Kernspeicher sein kann, wie er in der US-Patentschrift 3 201 762 angegeben ist. Der Zugriff zu dem Hauptspeicher 20 von dem Steuerspeicher 22 her kann über ein Mehrfachstufen-Hauptspeicheradressenregister 24- erfolgen. Dieses Register speichert die Adresse eines gegenwärtig bezeichneten Speicherplatzes in dem Hauptspeicher. An den Ausgang des Hauptspeichers ist ein örtliches Hauptipeicherregister 26 angeschlossen,
Inhalt
das den / einer bezeichneten Hauptspeicherstelle aufzunehmen und kurzzeitig zwischenzuspeichern vermag.
In entsprechender Weise wie beim Hauptspeicher 20 sind auch dem Steuerspeicher 22 ein Steuerspeicheradressenregister 28 und ein örtliches Steuerspeicherregister 30 zugehörig. Der Steuerspeicher 22 kann eine Vielzahl von Mehrstellen-Speicherregistern enthalten, die in geeigneter Weise geschaltet sind. Jedes dieser Speicherregister vermag eine Information zu speichern, die die Verarbeitung der verschiedenen Programmbefehle betrifft. Diese Speicherregister enthalten.die Befehlsadressen und die während eines Programmdurchlaufes zu verarbeitenden Daten. Bei einer bevorzugten Ausführungsform der Erfindung umfaßt das Steuerspeicherregister A-, B-, C- und D-Operanden-Adressenregister, Folgeregister, peripheren Übertragungsoperationen zugehörige Darstellungs- und Auslöse-Befehlsregister und für die kurzzeitige Informationsspeicherung dienende spezielle Arbeitsspeicherregister·
909836/126 6
Eine in dem Steuerspeicher 22 erzeugte Signalfolge einer Hauptspeicheradresse wird dem Hauptspeicheradressenregister 24 über das ortliche Steuerspeicherregister 30 und einem Kurzzeitspeicher oder S-Register 32 zugeführt. Diese Adressen werden normalerweise auch einem zweiten Kurzzeitspeicherregister oder M-Register 34 zugeführt, das mit einer normalen Vergrößerungs-Verkleinerungs-Logikschaltung 36 verbunden ist. Die jeweils erhöhten oder verringerten Adressen der betreffenden Adressen werden danach wieder in dem Steuerspeicher 22 für nachfolgende Adressierungszwecke gespeichert.
Der Rechenteil des Systems 12 umfaßt grundsätzlich eine Gruppe von vier Operanden-Speicherregistern 38, 40, 42 und 44, die als Recheneinheit 46 dienen. Die Recheneinheit besteht ihrerseits grundsätzlich aus einem Addierer, der sowohl binäre als auch dezimale Rechenoperationen auszuführen erlaubt und der in der Weise realisiert sein kann, wie es in dem Buch "Arithmetic Operations in Digital Gomputers", von R.K.Richards, D.Van Nostrand Company, 1955» angegeben ist. Der Rechenteil wird mit seiner normalen Kapazität dazu benutzt, entweder numerische oder logische Operationen auf Operanden hin auszuführen, die in dem zugehörigen Datenverarbeitungssystem verarbeitet werden.
Ein weiteres Element, das unter den zu der zentralen Verarbeitungsexnrichtung gemäß Fig. 1 aufgeführten Elementen nicht genannt worden ist, dessen Funktion jedoch für ein vollständiges Datenverarbeitungssystem erforderlich ist, ist die Eingabe-ZAusgabe-Verkehrsregeleinrichtung. Wie der Name dieser Einrichtung sagt, reguliert die Eingabe-/Ausgabe-Verkehrsregeleinrichtung den Datenfluß zwischen der zentralen Verarbeitungsexnrichtung und den Eingabe-/Ausgabe-Einrichtungen, und zwar dadurch, daß die zentrale Verarbeitungsexnrichtung während entsprechender Zeitspannen für die
909836/1266
Eingabe-/Ausgabe-Operationen zur Verfügung gestellt wird und die peripheren Steuereinrichtungen identifiziert, die die jeweilige Zeitspanne für die Datenübertragung benutzen. Ein derartiges System ist in der US-Patentschrift 3 323 110 beschrieben.
Die Erfindung betrifft jedoch den Steuerteil oder die Steuereinheit der zentralen Verarbeitungseinrichtung, der den Kern der zentralen Datenververarbeitungsvorgänge bildet. Die Hauptfunktion der Steuereinheit besteht darin, die Auswahl, Auswertung und Ausführung der das gespeicherte Programm bildenden Befehle zu unterstüzten. In der Ausführung dieser Maßnahmen koordiniert die Steuereinheit die verschiedenen Operationen der Datenaufnahme von den Eingabeeinrichtungen, der Datenübertragung von der zentralen Verarbeitungseinrichtung und der Übertragung verarbeiteter Daten zu den.Ausgabeeinrichtungen hin. Demgemäß vermag die Steuereinheit Steuersignale zu erzeugen und an das Datenverarbeitungssystem bildende Gatter und Register abzugeben. Gleichzeitig muß der Steuerteil flexibel sein, um auf in der Datenverarbeitungsvorrichtung vorhandene Zustände reagieren zu können. Die Erzielung der erforderlichen Flexibilität ist in großem Maße in dem Steuerteil der zentralen Verarbeitungseinrichtung durch Anwendung der die Erfindung kennzeichnenden Merkmale erleichtert.
Gegebenenfalls ist das Schlüsselelement in der Steuereinheit 14 der Speicher 48, der bei einer bevorzugten Ausführungsform der Erfindung ein adressierbarer, elektrisch steuerbarer Auslesespeicher mit 4096 Speicherstellen ist, deren jede eine Information von 120 Bits zu speichern vermag. Jede Speicherstelle des Lesespeichers 48 ist ausschließlich durch ein Speicheradressenregister 50 herkömmlicher Art ansteuerbar. Die das
90S83S/1266
-9- 1900U1
Ausgangssignal des Speichers 48 bildenden 120 Bits werden in dem örtlichen Speicherregister 52 kurzzeitig gespeichert. Das Speicherregister 52 ist ebenfalls von herkömmlicher Bauart. Das örtliche Speicherregister 52 kann auch so aufgebaut sein, daß es ferner drei unterschiedliche Gruppen zu speichern vermag, die 12 Bits, 22 Bits bzw. 86 Bits umfassen. Die 12-Bit-Gruppe dient als Steuergruppe, die in einem Fall zur Aufnahme von Eingabedaten für. ein Kurzzeitspeicherregister 54- benutzt wird, das hier als QG-Register bezeichnet ist. Die in dem QG-Register 54· enthaltenen Bits werden dazu benutzt, eine selektive Auswertung entsprechend dem Hauptanteil des Inhalts des örtlichen Speicherregisters 52 zu bewirken, nämlich die Auswertung der 86-Bit-Gruppe. Dies erfolgt in einem Unterbefehls-Generator 56. Jede Änderung der in dem QG-Register 54 gespeicherten 12-Bit-Gruppe bewirkt eine andere Auswertung der dem Unterbefehls-Generator 56 zugeführten Bitfolge. Ist die 12-Bit-Gruppe in das QG-Register 54 eingegeben, so bleibt diese Bit-Gruppe normalerweise während der Verarbeitung des gerade gespeicherten Programmbefehls unverändert.
Neben der !funktion der Auswertung des Inhalts des Unterbefehls-Generators 56 dient die 12-Bit-Gruppe des örtlichen Speicherregisters 52 ferner dazu, eine Adresseninformation selektiv an eine Vielzahl von Adressenregistern 60 bis 68 während aufeinanderfolgender Zyklen der Steuereinheit 14 abzugeben. Die 22-Bit-Gruppe in dem örtlichen Speicherregister 52 dient hauptsächlich dazu, die Lesespeicher-Verzweigungssteuerfunktionen auszuführen. Zu diesem Zweck sind 17 Bits auf die Ausführung von Prüfvorgängen gerichtet. Der Rest von etwa 86 Bits ist für die Erzeugung von Unterbefehlen vorbehalten, die an verschiedene Operationselemente der Datenverarbeitungsvorrichtung zu deren Steuerung verteilt werden.
909636/1266
ORIGINAL !NSPECTED
-ίο- 1900U1
Die 86 Bits können ferner in zwei Gruppen unterteilt sein, von denen die eine 30 Bits enthält, die zur Erzeugung von etwa 4O oder mehr sich gegenseitig " -. ausschließenden Operationen selektiv kombiniert werden. Die übrigen 56 Bits werden entsprechend dem Inhalt des örtlichen Speicherregisters 52 ausgewertet sowie zur Erzeugung einer Gruppe von einigen 400 Mikrobefehlen herangezogen.
Das Speicheradressenregister 50 verwendet als Adresseninformation entweder eine vergrößerte oder verkleinerte Adresse der jeweils vorangehenden Adresse, und zwar durch Verwendung einer Verknüpfungsschaltung 70, oder im Falle einer Zweigoperation eine der in den Registern 60 bis 68 enthaltenen vorgespeicherten Adressen.
In dem Übertragungsweg zwischen dem Kurzzeitspeicherregister 60 bis 68 und dem Hauptspeicheradressenregister 50 befindet sich eine Adressenerkennungs-Verknüpfungsschaltung 72, die zum Teil durch Signale aus der 22-Bit-Gruppe des örtlichen Speicherregisters 52 sowie durch einen Teil der. die zu überprüfenden Systemanforderungen darstellenden Anforderungssignale angesteuert wird· Die zuletzt genannten Signale gelangen zu dem Verknüpfungselement 72 hin, nachdem sie zuerst in der Prüflogikschaltung 78, in den Verbindungs-Flip-Flops 76 und in der Prioritätslogikschaltung 72J- verarbeitet worden sind. Eine zusätzliche Reihe von Eingangssignalen für das Prüf-Verknüpfungselement 78 sowie für den Unterbefehls-Generator 56 wird von dem A-Stammregister 80 und dem A-Zeigerregister 82 sowie von dem B-Stammregister 84- und dem B-Zeigerregister 86 geliefert. Aus. einer weiter unten noch erfolgenden Erläuterung des Betriebs des Gesamtsystems wird die Funktion der A- und B-Zeigerregister und -Stammregister näher ersichtlich werden.
909836/1266
19001 A
Die Arbeitsweise der in Fig. 1 gezeigten Steuereinheit 14-dürfte durch Erläuterung eines Beispiels besser verständlich werden. Dabei soll die Arbeitsweise bei einem typischen Verzweigungsprogramm näher betrachtet werden. Es sei angenommen, daß die Steuereinheit für eine Verzweigungsoperation entsprechend vorbereitet ist. Diese Vorbereitung wird bei der normalen Überprüfung der Funktionen der Steuereinheit vorgenommen. Dabei kann eine in dem Speicheradressenregister 50 gespeicherte Adresse irgendeine Speicherstelle der etwa 2000 Speicherstellen des Lesespeichers ^S bezeichnen und bewirken, daß der Inhalt der betreffenden Speicherstelle in das örtliche Speicherregister 52 übertragen wird. Es sei daran erinnert, daß der Lesespeicher bei jedem auszuführenden Programmbefehl mehrere Male nacheinander angesteuert wird. Während des ersten Lesespeicherzyklus werden die Bits in der in dem örtlichen Speicherregister 52 gespeicherten 12-Bit-Gruppe in das QG-Register 54- übertragen und während der restlichen Dauer des betreffenden Programmbefehls gespeichert. Dadurch wird der Unterbefehls-Generator 56 derart angesteuert, daß dieser eine bestimmte Auswertung aus einer Vielzahl von Auswertungen der 56 Bits umfassenden Gruppe vornimmt, die aus dem örtlichen Speicherregister ausgegeben worden sind. Nach erfolgter Dekodierung in dem Unterbefehlsgenerator werden diese Bits als Stauersignale den verschiedenen dem Datenverarbeitungssystem zugehörigen Verknüpfungsgattern und Registern zugeführt.
Von dem in dem Adressenregister 50 gespeicherten Informationsinhalt kann ein vergrößerter oder verkleinerter Informationsteil über die Verknüpfungsschaltung 70 nach Ausführung des ersten Operationszyklus des LeseSpeichers wieder eingespeichert v/erden. In diesem Zyklus kann eine Bitfolge entweder in der 86-Bit-Gruppe oder in der 22-Bit-Gruppe
909836/1266
-12- 1900H1
auftreten, und zwai eine solche Bitfolge, die anzeigt, daß die niedrigerwertigen 12 Bits des örtlichen Speicherregisters 52 eine in einem Kurzzeitspeicherregister der Kurzzeitspeicherregister 60 bis 68 zu speichernde Adresse darstellen. Daraufhin werden entsprechende Steuersignale erzeugt, mit deren Hilfe der Informationsinhalt der niedrigerwertigen 12 Bits in das bezeichnete Speicherregister der Speicherregister 60 bis 68 eingeführt wird. Gleichzeitig wird der übrige Teil des Informationsinhaltes des Örtlichen Speicherregisters 52 in dem Unterbefehls-Generator 56 dekodiert. Dadurch werden dem Datenverarbeitungssystem zusätzliche Steuersignale zugeführt, und zwar in einer Weise, die der oben in Verbindung mit dem Zyklus 1 erläuterten Weise entspricht.
Während nachfolgender Zyklen wird aus dem Lesespeicher 48 eine zusätzliche Information zur Kurzzeitspeicherung in dem örtlichen Speicherregister 52 ausgespeichert. Dieser Vorgang braucht nicht notwendigerweise während jedes nachfolgenden Zyklusses erfolgen. Aus dem örtlichen Speicherregister 52 wird die betreffende Information dann zu einem bezeichneten Kurzzeitspeicherregister der Kurzzeitspeicherregister 60 bis 68 übertragen.
Während der folgenden Zyklen, während der die Operation der Steuereinheit entsprechend dem betrachteten Programmbefehl erfolgt, werden aus der Bitfolge der in dem örtlichen Speicherregister 52 gespeicherten 22-Bit-Gruppe ferner Signale erzeugt, die das Prüf-Verknüpfungselement entsprechend den Prüfanforderungssignalen wirksam steuern, die verschiedentlich in dem Datenverarbeitungssystem auftreten. Diese Prüfanforderungssignale stellen ferner Eingangssignale für das Prüf-Verknüpfungselement bzw. Prüflogikelement 78 in einer von der betrachteten.Weise unabhängigen Weise dar.
9Ö983S/12SS
Dem Prüflogikelement 78 sind unmittelbar Leitungs-Flip-Flops 78 zugeordnet, die eine Vielzahl bistabiler Einrichtungen oder Flip-Flops enthalten können, deren jedes die Ergebnisse einer bestimmten geprüften Anforderung zu speichern vermag. Ein gesondertes Flip-Flop der Flip-Flops ist jedem der Zweigadressenregister 60 bis 68 zugeordnet. Das Setzen der bistabilen Einrichtungen oder Leitungs-Flip-Flops stellt eine Anzeige dafür dar, daß die -jeweilige in der zugehörigen Prüflogikschaltung 78 geprüfte Anforderung erledigt ist. Darüber hinaus steuern diese Signale die Prioritätslogikschaltung 74- an, und zwar derart, daß ,der Speicherinhalt des dem ranghöchsten gesetzten Leitungs-Flip-Flop zugehörigen Zweigadressenregisters der Zweigadressenregister 60 bis 68 über die Adressenregister-Überwachungsanordnung 72 zu dem Speicheradressenregister 52 hin übertragen wird. Dies erfolgt auf die Aufnahme eines von. dem örtlichen Speicherregister 52 abgegebenen Signals "Verzweigung auf gespeicherte Prüfung hin" in der Anordnung 72· Zu diesem Zeitpunkt wird der Inhalt des ausgewählten Adressenregisters der Adressenregister 60 bis 68 in das Speicheradressenregister 50 übertragen. In diesem Register wird der erwähnte Inhalt des ausgewählten Adressenregisters während eines folgenden Zyklus zur Bezeichnung des Speichers 48, d.h. als Ansteueradresse für diesen Speicher benutzt. Sollten die irgendeinem Leitungs-Flip-Flop, dessen entsprechendes Zweigadressenregister vorgeladen ist, zugehörigen Prüfanforderungen auf die Erzeugung eines Prüfsignals in dem örtlichen Speicherregister 52 hin nicht erfüllt sein, so wird die :> den betreffenden Spexcherzyklus betreffende Adresse der Verknüpfungsschaltung 70 zugeführt.
Nachstehend seien die Figuren 2A bis 2F näher betrachtet, in welchen Verknüpfungsanordnungen näher gezeigt sind, durch die jene Teile der Steuereinheit 14 realisiert sind, die zu
909836/1256
1900H1
der Erfindung gehören. Dabei zeigt !ig. 2A eine Verknüpfungsschaltung, der die Bitpositionen 106, 107 und 108 des örtlichen Speicherregisters 250 gemäß Fig. 1 darstellende Signale zugeführt werden. Diese Signale sind mit RK10620, RK10720 und RK1O83O bezeichnet. Die "2" an der zweitniedrigsten Stelle der den Bitpositionen 106 und 107 entsprechenden Signalbezeichnungen bedeuten die Negation oder das Fehlen eines Signals in der betreffenden Bitposition. Die "3" an der betreffenden Stelle des die Bitposition 108 bezeichnenden Signals bedeutet eine Aussage über das Vorhandensein des betreffenden Signals. Wenn die Bitfolge in den betreffenden Bitpositionen des örtlichen Speicherregisters 50 diese Bedingungen erfüllen, gibt die in Fig. 2A gezeigte, ein UND-Gatter A1 bildende Verknüpfungsschaltung ein Ausgangs signal REiE1AHO ab. Dieses Ausgangssignal bildet ein Ansteuersignal für die nächsthöhere Reihe von Verknüpfungsschaltungen, d.h. für Verknüpf ungsBchaltungen, wie sie in Fig. 2B gezeigt sind.
Gemäß Fig. 2B sind Teile der Prüflogiksehaltung 78 mit Teilen der Leitungs-Flip-Flops 76 gemäß Fig. 1 zusammengefaßt. Dabei wird ein Signal SFBP010 einem UND-Gatter A2 zugeführt. Dieses Signal kennzeichnet das Vorliegen einer in der zugehörigen Datenverarbeitungsvorrichtung erzeugten Prüfanforderung. Das betreffende Signal wird in dem UND-Gatter A2 mit einem Signal RLFG231 kombiniert, das ein Signal aus einer Gruppe vonSignalen darstellt, die einem bestimmtem Taktzustand zugehörig sind. Dem anderen Steuereingang des UND-Gatters A2 wird das am Ausgang des UND-Gatters A1 gemäß #ig. 2A auftretende Signal zugeführt.
Das Ausgangssignal des UND-Gatters A2 wird an einen Ver stärker GBA1 abgegeben. An den Eingang des betreffenden Verstärkers ist ferner der Ausgang eines UND-Gatters A3
909836/1256
1900H1
angeschlossen. Dieses UND-Gatter wird durch andere Prüfanforderungssignale und Taktsignale gesteuert. An den Eingang des Verstärkers GAB1 können ferner weitere, den UND-Gattern A2 und A3 entsprechende UND-Gatter angeschlossen sein, um den Prüfergebnissen von anderen, in dem zugehörigen Datenverarbeitungssystem vorhandenen Prüfanforderungen entsprechende Signale über den Verstärker zu übertragen. Das Ausgangssignal des Verstärkers GBA1 wird seinerseits als Signal BLFAX1O dem einen Eingang eines UND-Gatters A4 zugeführt. Dem anderen Eingang des UND-Gatters A4 wird ein Taktsignal RBIT021 zugeführt.
Das UND-Gatter A4 bildet die Eingangsstufe des Flip-Flops A, das als dem A-Adressenregister 60 zugehöriges Flip-Flop betrachtet werden kann. Dabei wird das Ausgangssignal des UND-Gatters A4 in ein Flip-Flop SFF1 eingegeben, um ein Signal RLFAA10 zu erzeugen, wenn das betreffende Flip-Flop gesetzt ist, und ein Signal ELFAAOO zu erzeugen, wenn das betreffende Flip-Flop zurückgestellt ist. Es dürfte genügen darauf hinzuweisen, daß die übrigen Adressenregister 62 bis 68 der Steuereinheit 14 gemäß Fig. mit entsprechenden Flip-Flops und zugehörigen Gatterschaltungen versehen sind. Die dabei vorgesehenen Leitungs-Flip-Flops werden mit B,OrD und E bezeichnet. Diese zusätzlichen Leitungs-Flip-Flop reagieren unabhängig voneinander auf Signalkombinationen aus dem örtlichen Speicherregister 52 und auf die Ergebnissignale von in einem zugehörigen Datenverarbeitungssystem vorliegenden Prüfanforderungen. Die dabei ablaufenden Vorgängen entsprechen den im Zusammenhang mit dem Leitungs-Flip-Flop A betrachteten Vorgängen.
909836/1266
1900H1
Das "bei gesetztem Leitungs-Flip-Flop A auftretende Ausgangssignal KEJ1AAIO wird dem einen Eingang eines UND-Gatters A5 zugeführt. Dieses UND-Gatter wirkt als Rückkopplungsgatter, über das das Leitungs-Flip-Flop A solange gesetzt gehalten bleibt, bis ein Prüfsignal erzeugt wird. Daraufhin werden sämtliche Leitungs-Flip-Flops zurückgestellt. Demgemäß bleibt die Rückkopplung solange aufrechterhalten, bis das erwähnte Prüfsignal auftritt. Damit bleibt auch das Leitungs-Flip-Flop A entsprechend gesetzt. Dies hat zur Folge, daß aufgrund von Prufanforderungen erzielte Ergebnisse gespeichert werden, und zwar solange, bis ein eine Verzweigung betreffendes Prüfsignal auftritt, durch das die Verzweigungsoperation abgeschlossen wird. Es'sei hier darauf hingewiesen, daß die Aufstellung der Verzweigungsadresse, die Erzeugung der Prüfanforderungssignale, die Speicherung der Prüfanforderungssignale und die Einleitung der eigentlichen Verzweigungsoperation zeitlich unabhängig voneinander und asynchron erfolgen.
Im Zusammenhang mit ^ig. 1 ist bereits ausgeführt worden, daß die Funktion der Prioritätslogikschaltung 74- darin besteht, eine Überwachung der Vielzahl von Zweigadressen, die für aufeinanderfolgende Bezeichnungszyklen des Lesespeichers erzeugt werden, entsprechend einer gegebenen Rangordnung auszuführen. Bei der bevorzugten Ausführungsform der Erfindung wird entsprechend der betreffenden Rangordnung zuerst das A-Adressenregister 60 bedient. Sodann wird in dem Fall, daß die Prüfanforderungen nicht erfüllt sind, d.h. daß das A-Leitungs-Flip-Flop nicht gesetzt ist, das erste Adressenregister der B-, C-, D- oder E-Adressenregister 62 bis 68 bedient, dessen Prüfanforderungen bereits erfüllt sind. Gemäß Fig. 2C hängt die Einstellung eines UND-Gatters A6 lediglich vom Auftreten eines Signals RLFAA10 ab. Ist das UND-Gatter A6 eingestellt, d.h. angesteuert, so gibt es an den Eingang des Verstärkers SGA1
9098367 1256
1900H1
ein Signal ab, der daraufhin ein Ausgangssignal RBQA010 abgibt. Zur Ansteuerung eines UND-Gatters A7 sind zwei Ansteuersignale erforderlich, nämlich ein Signal RLi1BBIO von einem Leitungs-Flip-Flop B und ein negiertes Signal RLi1AAOO, das das Fehlen eines Signals am Ausgang des Leitungs-Flip-Flops A bezeichnet. In entsprechender Weise erfordert jedes der übrigen UND-Gatter A8 bis Δ10 für seine Ansteuerung neben dem Signal von dem jeweils zugehörigen Leitungs-Flip-Flop noch ein negiertes Signal von jedem der höherrangigen Leitungs-Flip-Flops .-
]?ig. 2D zeigt den Aufbau der Adressenregister-Abtast- und Überwachungslogikschaltung 72 gemäß Fig. 1. Die UND-Gatter A11 bis A15 gemäß Fig. 2D werden jeweils durch zwei Eingangssignale angesteuert, die durch ein Ausgangssignal der Prioritäts-Überwachungslogikschaltung und durch ein Signal gebildet sind, das in einer bestimmten Bitposition der Adressenregister 60 bis 68 auftritt. Die in Fig. 2 gezeigte Verknüpfungsschaltung stellt somit die der ersten Bitposition jedes Registers 60 bis.68 zugehörige Gatterschaltung dar. Bezüglich des UND-Gatters A11 sei bemerkt, daß die Verknüpfungsbedingung dieses UND-Gatters erfüllt ist, wenn das Leitungs-Flip-Flop A gesetzt ist und die Prioritäts-Überwachungsschaltung diesem Flip-Flop zugeordnet ist und außerdem das der ersten Bitposition des A-Adressenregisters zugehörige Flip-Flop gesetzt ist. In diesem FaIL' trifcb am Ausgang des Verstärkers GBA2 ein Signal R01QX10 auf. Es dürfte ohne weiteres einzusehen sein, daß die Verknüpfungsbedingungen jeweils nur eines der UND-Gatter A11 bis A15 erfüllt sind, und zwar wegen der Eigenschaft der in der Logikschaltung 74- erzeugten Prioritätssignale, sich gegenseitig auszuschließen.
909836/1256
_ 18 _ 1900U1
Fig. 2E zeigt die Eingangsschaltung des Verknüpfungselementes 72, und zwar in Verbindung mit einer Stufe des in Fig. 1,gezeigten Speicheradressenregisters 50. Das Aus— gangssignal der in Fig. 2D gezeigten Verknüpfungsschaltungsanordnung wird als Steuersignal dem Eingang eines UND-Gatters AI7 (Fig. 2E) zugeführt. Einem weiteren Eingang dieses UND-Gatters A17 wird ein Signal RBSOiOIO zugeführt, durch das das Vorliegen eines eine Verzweigung betreffenden Prüfsignals angezeigt wird. Einen weiteren Eingang, nämlich dem dritten -Eingang des UND-Gatters Ai? wird ein Signal RAMPQ40 zugeführt, das der vorliegenden Operation insofern entspricht, als es sich auf die Aufrechterhaltungsoperationen bezieht und insoweit das Fehlen derartiger Operationen im vorliegenden Fall anzeigt. Das Ausgangssignal des UND-Gatters A17 wird einem Flip-Flop SFF2 züge- " führt. Dieses Flip-Flop wird auf diese Signalzuführung hin gesetzt. Dieses Flip-Flop gibt somit in dem Fall, daß die Verknüpfungsbedingungen des UND-Gatters A17 erfüllt sind, ein Ausgangs signal RQROHO ab. Wie oben bereits angedeutet, bildet das Flip-Flop SFF2 einen Teil des Lesespeicheradressenregisters 50 und entspricht dabei der ersten oder die niedrigstelfertigkeit besitzenden Bitposition.
In Fig. 2E ist noch eine weitere Einrichtung vorgesehen, die das Flip-Flop SFF2 anzusteuern erlaubt. Dabei handelt es sich um ein UND-Gatter A16, das durch zwei Signale RQZ0110 und RINC010 angesteuert wird. Das Signal RQZ0110 stellt, von der zuletzt benutzten Speicheradresse ausgehend, eine vergrößerte oder verkleinerte Speicheradresse dar. Das zur Ansteuerung des UND-Gatters A16 gemäß Fig. 2E benutzte Signal RINCOHO wird in der in Fig. 2F gezeigten Verknüpfungsschaltung erzeugt. In diesem Zusammenhang dürfte ohne weiteres einzusehen sein, daß die Verknüpfungsanordnung gemäß Fig. 2F eine Kombination eines Prioritäts-FestSetzungssignals und
909838/ 1256
1900U1
eines eine Verzweigung betreffenden Prüfoperationssignals vornimmt. Das UND-Gatter A18 wird durch die ihm zugeführten Ansteuersignale wirksam, wenn ein eine Verzweiguno; betreffendes Prüfsignal auftritt und die Ergebnisse sämtlicher vorgespeicherter Prüfanforderungen negativ ausfallen, d.h. wenn keines der den Adressenregistern 60 bis 68 zugehörigen Leitungs-Flip-Flpps gesetzt ist. Dies heißt im wesentlichen, daß die die Speicheradressen jeweils vergrößernde oder verkleinernde Verknüpfungsschaltung in dem Fall wirksam ist und entsprechend vergrößerte Adressen abgibt, daß ein Verzweigungs-Zyklus eingeleitet wird und sämtliche vorgespeicherten Prüfanforderungen als negativ ermittelt worden sind. Dabei sind Einrichtungen vorgesehen, die einen vergrößerten oder verkleinerten Speicherinhalt des Speicheradressenregisters bei Fehlen eines Verzweigungs-Prüfzyklus zu benutzen gestatten.
Die Erläuterung eines typischen Programmbefehls, bei dessen Ausführung in umfangreichem Maße von der Verzweigungsoperation Gebrauch gemacht wird, dürfte das Verständnis der Arbeitsweise der erfindungsgemäßen Datenverarbeitungsvorrichtung erleichtern. Bei dieser Erläuterung werden verschiedene Speieherzyklen und Steuersignale betrachtet, die die Ausführung des Befehls betreffen* Die betreffenden Zusammenhänge sind schematisch in dem Flußdiagramm gemäß Fig. 3 wiedergegeben. Zur Erleichterung der Erläuterung des in JB1Ig. 3 dargestellten Flußdiagramms möge das nachstehend angegebene Verzeichnis dienen, in welchem die einzelnen . Verknüpfqngsfunktionen näher erläutert sind.
909826/1256
Register
R - Steuerspeicheradressenregister I - örtliches Steuerspeicherregister N - örtliches Hauptspeicherregister
S - Ubertragungsregister, Steuerspeicher für das Hauptspeicheradressenregister
M - Übertragungsregister, Steuerspeicher für die Vergrößerungs-/Verkleinerungs-Logikschaltung
A, B, C, B- Operandenregister, der w/ Recheneinrichtung zugehörig
AC - A-Operandenregister in dem Steuerspeicher Acci - Akkumulatorregister in dem Steuerspeicher CM - gegenwärtig adressierter Steuerspeicherplatz
AP, AH, BP, BH- A- und B-Stammregister sowie A- und B-Zeigerregister
WL,, WL6 - Arbeitsstellenregister 3 und 6 in dem Steuerspeicher
QA, QB, QC, QD, QE- Adressenregister A bis E LA, LB5LC, LD, LE - Leitungs-Flip-Elops A bis E
Operationen
ASRC, BSRC - Verschiebe Inhalt des A- und B-Operandenregisters um eine Zeichenposition nach rechts
B^ Y- Verringere die Größenordnung von 3 in das örtliche Speicherregister geschobenen Zeichenpositionen des B-Operandenregisters
A^ B^ - Verschiebe den Inhalt der vierten Zeichenposition des A-Operandenregisters in die erste Zeichenposition des B-Operandenregisters
CMW - Einschreiben in den Steuerspeicher MMR - Hauptspeicher-Bezugszyklus BST - Verzweigung auf gespeicherte Prüfung
OABPO - Setze Leitungs-Flip-Flop A, wenn das B-Zeigerregister O ist ir
909836/1256
1900U1
Die durch die einzelnen Blöcke gemäß S1Ig. 3 bezeichneten Lesezyklen sind für fünf verschiedene Programmbefehle gemeinsam. In dem Bemühen, eine einheitliche Ausdrucksweise beizubehalten, wird eine die verschiedenen Zyklen der Ausführung eines bestimmten Befehls betreffende Erläuterung gegeben. Hiervon ausgenommen sind jedoch Vorgänge, die die Vielfach-Verzweigungsoperation selbst betreffen. Der zu betrachtente Programmbefehl ist der TMA-Befehl (Übertrage vom Speicher zum Akkumulator), durch den acht Informationszeichen aus einem Speicherplatz des Hauptspeichers 20 gemäß Fig. 1 in einen entsprechenden Speicherplatz des Steuerspeichers 22 übertragen werden. Bei der bevorzugten Ausführungsform der Erfindung ist der Hauptspeicher 20 wortorientiert; er enthält pro Speicherplatz 24- Informationsbits. Gleichzeitig wird ein aus sechs Informationsbits bestehendes Informationszeichen festgelegt. Damit enthält jeder WortSpeicherplatz vier Informationszeichen.
Die verschiedenen Speicherplätze in dem Steuerspeicher vermögen jeweils drei .Informationszeichen aufzunehmen. Das erste Zeichen der jeweiligen drei"Informationszeichen kann in irgendeinen der vier Zeichenspeicherplätze eingeführt werden, die ein Hauptspeicherwort aufzunehmen vermögen. Dadurch kann es erforderlich sein, drei Hauptspeicherstellen zu bezeichnen, um einen Zugriff zu den gewünschten acht Zeichen zu haben, die in den Steuerspeicher zu übertragen sind. Demgemäß wird der TMA-Befehl in Lesespeicherzyklen so ausgeführt, daß eine kurzzeitige Übertragung zur Speicherung der drei Hauptspeicherwörter erfolgt, aus welchen die gewünschten acht Zeichen ausgewählt und zur Einspeicherung in den Steuerspeicher übertragen werden können.
909836/12S6
1900U1
Die Gesamtoperation einer Datenverarbeitungsvorrichtung unter der Steuerung eines Programmbefehls wird mit der Extraktionsphase eingeleitet. Dabei werden die verschiedenen, die auszuführende Operation bestimmenden Parameter in entsprechende Register des zugehörigen Datenverarbeitungssystems eingeführt. Danach wird die eigentliche Ausführung des Programmbefehls eingeleitet. Während dieser Zeitspanne erfolgt ein Austausch, des Informationsinhalts der verschiedenen, während der Extraktionsphase mit Informationen gefüllten Register. Zur Erläuterung der vorliegenden Erfindung im Hinblick auf den TMA-Befehl sei angenommen, daß die verschiedenen Schritte betreffend die Extraktionsphase bereits ausgeführt worden sind. Dazu gehören die Ermittelung des vorliegenden Befehls, wie eines TMA-Befehls, sowie das Laden zugehöriger Register mit Steuerinformationen, umfassenddie Operandenadressenregister des Steuerspeichers und der Sonderspeicher des Systems , die kurzzeitig zur Steuerinformationsspeicherung dienen.
Zur vorläufigen Betrachtung der Einleitung der Extraktionsphase auf dem TMA-Befenl hin oder auf irgendeinen anderen Befehl in einer die Erfindung umfassenden Datenverarbeitungsvorrichtung hin sei davon ausgegangen, daß in dem B-Zeigerregister 56 ein Binärzeichen "1" gespeichert ist. Während des ersten I«esespeicher-Zyklus (ROM-Zyklus), der als TMAOHO-Zyklus in fig. 3 bezeichnet ist, wird die Adresse des A-Operandenregisters des Steuerspeichers in das Adressenregister dieses Speichers übertragen. Während des THA.O11O-Zyklus oder kurz während des Zyklus 10 wird der Inhalt des B-Zeigerregisters 56, in welchem gerade ein Binärzeichen "1" gespeichert ist, zu dem B-Stammregister hin übertragen.
909836/1256
Während des Zyklus 11 wird der Inhalt des A-Operandenadressenregisters des .Steuerspeichers in das örtliche Steuerspeicherregister 30 übertragen, wie dies während des vorangehenden Zyklus festgelegt ist. Gleichzeitig wird der Inhalt des B-Stammregisters 84 um eins erhöht, so daß nunmehr der Binärwert zwei in diesem Register gespeichert ist.
Der ROM-Zyklus 12 stellt den ersten Zyklus einer Programmschleife dar, die durch eine interne Verzweigungsoperation ausgeführt wird. Während des Zyklus 12 bewirken die am Ausgang des Lesespeichers 48 und des Unterbefehls-Generators 56 auftretenden Signale die Einleitung einer Übertragung des vorliegenden Inhaltes des örtlichen Steuerspeicherregisters 30 in das M-Register 34, das auf die Durchführung einer Vergrößerungs-/Verkleinerungs-Operation vorbereitet ist. Gleichzeitig wird der Inhalt des örtlichen Steuerspeicherregisters (welches gegenwärtig die Hauptspeicheradresse der ersten drei herauszuführenden Wörter enthält) zu den S-Register 32 hin übertragen, das auf die nachfolgende Übertragung zu dem Hauptspeicheradressenregister 24 hin vorbereitet ist. Heben der zur Adressierung des Hauptspeichers benutzten Bitfolge des örtlichen Steuerspeicherregisters verbleibt in dem örtlichen Steuerspeicherregister noch eine 2-Bit-Gruppe, die ein bestimmtes Zeichen der vier Zeichen des Speicherwortes bezeichnet, das als Beginnzeichen der in den Steuerspeicher zu übertragenden 8-Bit-Gruppe bezeichnet wird. Diese beiden Bits werden von dem örtlichen Steuerspeicherregister während des ROM-Zyklus 12 übertragen und kurzzeitig in den B-Zeigerregister 86 gespeichert.
Während des ROM-Zyklus 12 erfolgt ferner ein Austausch des Inhalts des B-Stammregisters 84 durch eine vergrößerte Information. Damit befindet sich in dem B-Stammregister 84 am Ende
909836/1256
ORIGfNAL INSPECTED
1900U1
des ROM-Zyklus 12 ein dem Wert drei entsprechendes Binärwort (011). Me !Funktion dieses Stammregisters in der gerade betrachteten Programmschleifenoperation liegt darin, die Anzahl der .zyklischen Vorgänge zu überwachen. Während des folgenden Lesespeicherzyklus, d.h. während des Zyklus 13, erfolgt ein Vergleich zwischen dem Inhalt des B-Stammregisters und einer Information OXX. Während XX sind die unbedeutenden Ziffern im Hinblick auf die erfolgende Vergleichsoperation bezeichnet. Solange eine "0" in der dritthöchsten Bitposition vorhanden ist, ist die Ver-* gleichsbedingungen erfüllt, und ferner wird ein einem bestimmten Adressenregister 60 bis 68 zugehöriges, bezeichnetes Leitungs-Flip-Flop gesetzt. Das Adressenregister wird nahezu gleichzeitig mit der dem Zyklus 12 entsprechenden Lesespeicheradresse geladen. Wie aus der nachstehenden Beschreibung noch näher ersichtlich werden wird, beendet eine auf ein gespeichertes Prüfsignal hin erfolgende Verzweigung (BST) einen bestimmten Zyklus der Programmschleifenoperation, indem der Inhalt des zuvor erwähnten einen Adressenregisters 60 bis 68 in das Speicheradressenregister 50 übertragen wird. Auf diese Weise wird dann ein neuer Zyklus der Programmschleifenoperation eingeleitet.
Mit jeder Durchführung des Lesespeicherzyklus 12 ist ferner die Anzeige einer Verkleinerungs-Operation bezüglich des Inhalts des M-Registers 34 verbunden. Der Inhalt dieses Registers wird in dieses Register während des betreffenden Lesespeicherzyklus von dem örtlichen Steuerspeicherregister 30 her übertragen. Während dieses Zyklus erfolgt ferner eine Einspeicherung derjenigen Adresse in das A-Adressenregister 60, die den ersten Speicherplatz aus einer Reihe von Lesespeicherplätzen bezeichnet. Diese Adresse bezeichnet diejenige Maßnahme, die in dem Fall auszuführen ist, daß ein unrechtmäßiges OP-Kodewort in dem -vorliegenden Befehl ermittelt wird. Eine derartige Maßnahme wird bei der Auslösung -
909836/1256
-25- 1900H1
einer Verzweigung auf ein gespeichertes Prüfsignal hin während eines nachfolgenden Lesespeicherzyklus eingeleitet.
Während des Lesespeicherzyklus 13 wird die oben erwähnte BST-Prüfung eingeleitet, bei der der Inhalt des B-Stammregisters mit einer Information OXX verglichen wird, um festzustellen, ob noch ein Programmschleifenzyklus auszuführen ist. Zur Erläuterung dieser Vorgänge sei angenommen, daß das Leitungs-Flip-Hop D und das zugehörige D-Adressenregister 66 die Ergebnisse der Überprüfung sowie die Adresse zu speichern haben. Während des ROM-Zyklus 13 wird ferner der im Wert verkleinerte Teil des Inhalts des M-Registers zur nachfolgenden Rückspeicherung in den Steuerspeicher 22 gespeichert.
Der ROM-Zyklus 14 wird dazu benutzt, ein Signal zu erzeugen, das zur Einleitung der Durchführung der Verzweigung auf die gespeicherte Prüfoperation hin herangezogen wird. Dies erfolgt, wie aus Pig. 3 hervorgeht, nach Beendigung des ROM-Zyklus 15- Die Tatsache, daß ein vollständiger Zyklus benutzt wird, um die Einleitung der BST-Operation und das Auftreten eines Antwortsignals zu trennen, soll nicht als Beschränkung des Systems betrachtet werden, da es lediglich eine Frage der Auslegung des Systems ist, ob die eigentliche Verzweigung während des unmittelbar folgenden Zyklus oder einen oder mehrere Zyklen danach erfolgt. Bei der; bevorzugten Ausführung der Erfindung wird somit das auf eine gespeicherte Prüfung hin erzeugte Verzweigungssignal erst nach dem nächstfolgenden ROM-Zyklus für die Übertragungssteuerung zu dem Speicherplatz in dem Lesespeicher hin wirksam. Dies wird durch den Inhalt des ranghöchsten Adressenregisters 60 bis 68 bewirkt, dessen zugehöriges Leitungs-Plip-fflop gesetzt is; . In Abweichung hiervon kann dies auch durch die vergrößerte oder verkleinerte Adresse der vorangehenden ROM-Adresse bewirkt werden. Unter der Annahme, daß kein unrecht-
909838/1256
-26- 1900ΊΑ1
mäßiges OP-Kodezeichen ermittelt worden ist und daß kein ranghöheres Leitungs-Flip-Flop gesetzt war, ist der nächstfolgende Lesespeicherzyklus durch den Inhalt des DxZweigadressenregisters 66 bestimmt, das im vorliegenden Fall den dem Zyklus 12 entsprechenden Lesespeicherplatz bestimmt.
Im Hinblick auf den Zyklus 14 sei ferner bemerkt, daß das B-Adressenregister 62 mit einer Information geladen wird, die die dem Zyklus 22 entsprechende ROM-Adresse bezeichnet. Die Tatsache, daß während des Zyklus 14 diese Information in das B-Adressenregister eingegeben wird, ist unabhängig davon, daß das Verzweigungssignal gegebenenfalls während des betreffenden Zyklus erzeugt wird, und zwar insofern, als das Leitungs-3?lip-]?lop B nicht gesetzt ist. Unabhängig von dem Setzen oder Zurückstellen irgendeines Leitungs-Flip-Flops ist, daß eine Adresse, die in eines der Adressenregister 60 bis 68 eingegeben ist, solange zur Verfügung steht, bis sie durch eine neue Adresse ersetzt wird.
Vor. der eigentlichen Ausführung der internen Verzweigungsoperation wird der Lesespeicherzyklus 15 ausgeführt, in welchem der verkleinerte Inhalt des M-Eegisters in einen entsprechenden Speicherplatz des Y-Registers zurückgespeichert wird, und zwar zusammen mit dem Inhalt des B-Zeigerregisters 86. Darüber hinaus wird der während des vorangehenden Lesespeicherzyklus .aus dem Hauptspeicher herausgeführte und in dem Örtlichen Hauptspeicherregister 26 zwischengespeicherte Inhalt des Hauptspeichers zu dem C-Register 42 hin übertragen.
Wie oben bereits erwähnt, führt die Einleitung der Verzweigungsoperation auf die Erzeugung des Verzweigungssignals während des Zyklus 15 dazu, dass eine interne
80983S/1256
-27- 1900U1
Verzweigungsoperation abläuft, bei der das Leitungs-Flip-Flop D gesetzt und das Leitungs-Flip-flop A zurückgestellt ist. Ferner führt dies dazu, daß der Inhalt des D-Adressenregisters 66 zu dem Speicheradressenregister 50 übertragen wird. Hieran schließt sich ein Übergang zu einer wirksamen Steuerung des Lesespeicherzyklus 12 an.
Es sei ferner bemerkt, daß bei der besonderen Ausführungsform der vorliegenden Erfindung ein Gesehwindigkeitsunterschied zwischen den Lesespeicherzyklen und den Hauptspeicherzyklen in der Größenordnung von 6:1 vorhanden ist. Demgemäß wird eine Anforderung, die während des vorangehenden Zyklus 12 bezüglich des Inhalts eines bezeichneten Hauptspeicherplatzes auftritt, etwa sechs Leaeapeicherzyklen später ausgeführt. Während des Zyklus des ersten Programmschleifenumlaufs wird somit der in das G-Register übertragene Inhalt des örltichen Hauptspeicherregisters 26 nicht beachtet. Während des zweiten Programmschleifenumlaufs und insbesondere während des dabei auftretenden Zyklus 14 steht jedoch der Inhalt des während des vorangehenden Zyklus 12 bezeichneten Hauptspeicherplatzes in dem N-Register zur Verfügung. Der betreffende Inhalt wird während des folgenden Steuerspeicherzyklus (das ist Zyklus 15) aus dem N-Register in das G-Register übertragen. Dies stellt dann den Abholvorgang des ersten Wortes der drei Wörter dar, nach denen bei Vorliegen des TMA-Befehls gearbeitet wird.
Es sei ferner darauf hingewiesen, daß während des zweiten Programmschleifendurchlaufs, und zwar insbesondere während des Zyklus 12 dieses Programmschieifendurchlauf s, eine zweite den Hauptspeicher betreffende Anforderung auftritt, die etwa sechs Lesespeicherzyklen
909836/1256
1900H1
später bedient wird. Wenn der Programmschleifenbetrieb so fortliefe, würde dies während des Zyklus 14 des folgenden Programmschleifenzyklus erfolgen. Während des Zyklus 12 des zweiten Programm s chieif endurchiaufs wird der Inhalt des B-Stammregisters jedoch um eins erhöht. Damit ist in dem B-Stammregister nunmehr die Bitfolge gespeichert, die im Zyklus 13 dazu führt, daß das Leitungs-Flip-Flop D zurückgestellt bleibt. Unter diesen Voraussetzungen ist bei der Erzeugung eines Verzweigungssignals im Zyklus 14 keines der den Adressenregistern 60 bis 68 entsprechenden Leitungs-Flip-Flops gesetzt. Dadurch gibt die Vergrößerungs-ZVerkleinerungs-Verknüpfungsschaltung 70 die nächstfolgende Lesespeicheradresse ab, nämlich die für den Zyklus 16.
Während des Zyklus 16 wird durch die Übertragung des Inhalts des Y-Registers in das S-Register eine weitere Anfrage bezüglich des Hauptspeichers ausgelöst. Dadurch wird die Ausspeicherung des dritten Wortes ausgelöst. Gleichzeitig wird das den Inhalt des Y-ßegisters bezeichnende Zeichen zu dem B-Zeigerregister 86 wie in dem Zyklus 12 übertragen. Ferner wird während des Zyklus das erste, aus dem Speicher während des Zyklus 14- ausgespeicherte und aus dem örtlichen Hauptspeicherregister während des vorangehenden Zyklus 15 in das C-Register 4-2 eingespeicherte Wort der drei Wörter nunmehr zu dem B- Register 40 übertragen. Gleichzeitig wird in das D-Adres·» senregister 66 die Lesespeicheradresse des Zyklus 2$ eingespeichert.
Bei der weiteren Erläuterung der Erfindung und insbesondere bei der Erläuterung einer Operation, d'ie mit einer Verzweigung auf eine externe Anforderung hin abläuft, sei die durch den TMA-Befehl realisierte Funktion mit
909836/1256
-29- 1900U1
betrachtet. In diesem Zusammenhang sei angenommen, daß das erste der drei Vielfach-Zeichenwörter bereits aus dem Hauptspeicher ausgespeichert ist und gerade in dem B-Registers 40 gespeichert ist. Da das erste der dem Steuerspeicher 22 zu übertragenden acht Zeichen irgendein Zeichen der in dem B-Operandenregister 40 enthaltenen vier Zeichen bilden kann, sei nunmehr die Auswahl des ersten Zeichens und die Vorbereitung für seine Übertragung betrachtet. Es sei daran erinnert, daß der Zeichen-Bezeichnungsteil der ursprünglich in dem Steuerspeicher 22 gespeicherten Adresseniüformation in das B-Zeigerregister 86 übertragen worden ist. Dadurch wird im Zyklus 17 das Leitungs-Flip-Flop D gesetzt, wenn festgestellt wird, daß in dem B-Zeigerregister 86 ein einer "3" entsprechendes Binärkodewort gespeichert ist, d.h. die Bitfolge 111. Während des Zyklus 17 wird das B-Stammregister 84, in dem zuvor das einer 0 entsprechende Binärkodewort gespeichert war, weitergeschaltet, so daß nunmehr in diesem Register ein einer "1" entsprechendes Binärkodewort (das ist 01) enthalten ist. Der Inhalt des A-Adressenregisters 60 wird durch die dem Zyklus 22 entsprechende Lesespeicheradresse ersetzt. Es sei daran erinnert, daß in dem A-Adressenregister 60 zuvor eine Lesespeicheradresse enthalten war, die in dem betreffenden Fall als unrechtmäßiges OP-Kodewort bezeichnet ist. Dieser zuletzt genaaante Zustand wurde während der Ausführung der ersten.Verzweigungsoperation überprüft, und zu diesem Zeitpunkt der Ausführung des gerade vorliegenden Befehls wii'd das betreffende Kodewort als überflüssige Information betrachtet,
Nunmehr sei der nächste Zyklus, d.h. Zyklus 20 (Oktalschreibweise), näher betrachtet. Hierbei ist das Leitungs-Flip-Flop A gesetzt, wenn in dem B-Zeigerregister ein einer 0 entsprechendes Binärkodewort (das ist 00)
909836/ 1256
-30- 1900U1
in den anderen zwei Bits gespeichert ist. In entsprechender Weise ist das Leitungs-Flip-Flop B gesetzt, wenn in dem B-Zeigerregister ein einer 1 entsprechendes Binärkodewort (das ist 01) in den beiden niedrigerwertigen Bits gespeichert ist. Das Setzen des A- und des B-Leitungs-Flip-Flops während des Zyklus 20 erfolgt nahezu gleichzeitig mit der Abgabe eines Verzweigungssignals in das örtliche Speicherregister 52. Die Leitungs-Flip-Flops A und B und ihre zugehörigen Adressenregister 60 und 62 werden durch die gerade vorliegende Verzweigungsoperation nicht beeinflußt. Demgemäß erfolgt eine Verzweigung zu der dem Zyklus 23 entsprechenden Lesespeicherstelle hin, wenn das Leitungs-Flip-Flop D während des Zyklus 17 gesetzt ist. Damit ist dann angezeigt, daß ein einer 3 entsprechendes Binärkodewort (das ist 11) gerade in dem B-Zeigerregister gespeichert war. Das in dem B-Zeigerregister 86 gespeicherte, einer 3 entsprechende Binärkodewort (das ist 11) zeigt an, daß sämtliche vier Zeichen, die das aus dem Hauptspeicher ausgespeicherte erste Wort enthalten, als brauchbare Information in den Steuerspeicher zu übertragen sind. Mit anderen Worten ausgedrückt heißt dies, daß die gewünschten acht Zeichen gerade in den ersten beiden bezeichneten Hauptspeicherwörtern enthalten sind. Unter diesen Voraussetzungen führt die Ausführung der im Zyklus
20 ausgelösten Verzweigungsoperation zu einem unmittelbaren Übergang zum Zyklus 23, nachdem der Lesespeicher den Zyklus
21 durchlaufen hat.
Der Inhalt des während des Zyklus 12 des zweiten Programmschleif endur chi auf es bezeichneten Hauptspeicherplatzes wird während des Zyklus 20 in dem örtlichen Hauptspeicherregister 26 verfügbar. Während des Zyklus 20 wird in das E-Adressenregister 68 ferner eine Information eingespeichert, die eine Lesespeicheradresse bezeichnet, 'welche
909836/ 1256
-31- 1900H1
während der Ausführung der Verzweigungsoperation umzulaufen hat. Hierdurch ist der Höhepunkt des vorliegenden Befehls erreicht. Während des Zyklus 20 wird ferner der Inhalt des A-Zeigerregisters 82 als Binärkodewort zu dem A-Stammregister 80 hin übertragen. Dieses Binärkodewort ist während des vorangehenden Lesespeicherzyklus aus dem Y-Register in das A-Zeigerregister 82 eingespeichert worden.
Während des Zyklus 21 wird ein Signal erzeugt, um das Leitungs-Flip-Flop A im gesetzten Zustand zu halten, wenn das B-Zeigerregister 86 ein eine 0 darstellendes Binärkodewort speichert. Ebenso wie dem Setzen des A- und des B-Leitungs-Flip-Flops während des Zyklus 20 die im Zyklus 21 ausgelöste Verzweigungsoperation entspricht, entspricht hier dem Setzen des Leitungs-Flip-Flops A während des Zyklus 21 die Ausführung der Verzweigungsoperation während des Zyklus 22. Somit löst die mit dem Zyklus 21 beginnende Verzweigungsoperation eine verkürzte Programmschleifenoperation während des Zyklus 22 aus, und zwar entweder für eine B-Zeigerdarstellung 00 oder für eine Zeigerdarstellung 01. Im Unterschied dazu führt ein Binärkodewort 10 in dem B-Zeigerregister zu einer normalen Arbeitsfolge durch den Zyklus 22 in den Zyklus Es sei daran erinnert, daß ein Binärkodewort 11 in dem B-Zeigerregister 86 eine Verzweigung hervorruft, und zwar direkt vom Zyklus 23 zum Zyklus 21, u^ter Auslassung cii^ Zyklus 22.
Es sei angenommen, daß in dem B-^oirc^-regi^-·-; 0'5 ~;\/ sprünglich, ein Binärwort >"Γ: eni;h;;.? ; t/; -.··ν:· , 7 ;■ .:'': ;:.Ü;::;■·"■■-. einzusehen sein, daß zu uem Γ-:,.:.ν.^.,:·'.:".. ■-::. :"■:■-:■-■. l·-.;.- Zyklus 21 beginnt, das A-'.". :\.t:urj^ —?λ:ί.ν '"'-■.""■: ^.. ;:>^als ne» setzt wird, so daß ein ftv-'-er D^cbla^ :-;> Sytltia 2ä als·
9 0 S 8 3 6 / 1 2 5 6
-52- 1900U1
normale Folge der Vergrößerungs-/Verkleinerungs-Verknüpfungsschaltung auftritt. Ein zweiter Durchlauf des Zyklus erfolgt in Abhängigkeit von der Erfüllung des Prüfzustands des Leitungs-Flip-Flops A, wie dies während des Zyklus 20 entsprechend dem Verzweigungssignal des Zyklus 21 festgelegt ist. Ein dritter Pro gr amm sohle if en*- durchlauf durch den Zyklus 22 tritt dann auf, wenn die Anforderungen bezüglich des Setzens des Flip-Flops A erfüllt sind, und zwar entsprechend der Festlegung im Zyklus 21 und als Folge des während des Zyklus 22 erzeugten Verzweigungssignals.
Schließlich sei angenommen, daß in dem B-Zeiger-Register 86 während des* Zyklus 20 ein Binärkodewort 01 gespeichert ist. Dies führt zum Setzen des B-Leitungs-Flip-Flops und zur Auslösung einer einzigen Programmschleife durch den Zyklus 22, und zwar zusätzlich zu den Vorgängen, die als normale Arbeitsvorgänge in der Vergrößerungs-ZVerkleinerungs-Verknüpfungsschaltung auftreten.
Nachdem die Umstände bezeichnet worden sind, unter denen der Lesespeicherzyklus 25 erreicht wird, ist noch erforderlich, die Eigenschaft der Operationen zu erläutern, die während der Zyklen 21 und 22 ausgeführt werden. In diesem Zusammenhang sei bemerkt, daß die während des vorangehenden Zyklus 20 von dem Speicher 20 her in das örtliche Hauptspeicherregister 26 übertragene. Information nunmehr während des Zyklus 21 in das A-Operandenregister übertragen wird. Darüber hinaus wird ein Binärkodewort 01 von dem B-Stammregister zu dem B-Zeigerreigster hin übertragen. Ferner wird in dem B-Zeigerregister eine Adresse eingespeichert, die bezogen auf die im A-Stammregister gespeicherte Adresse im Wert verkleinert ist. Angesichts der vorangehenden Operationen ist in dem A-Stammregister ein einer 3 entsprechendes Binärkodewort gespeichert. In dem
909836/1256
-33- 1900U1
C-Adressenregister 64· ist darüber hinaus eine Lesespeicher-Zweigadresse gebildet, die der Verzweigungsoperation zugehörig ist, welche den gerade vorliegenden Befehl abschließt.
Die ]?unktion des Zyklus 22 besteht darin, die Verschiebung der Information auszulösen, die derzeit in dem A-Operandenregister 38 und dem B-Operandenregister 40 enthalten ist. Diese Operandenregister sind für die Übertragung der betreffenden Information zu dem Steuerspeicher 22 hin vorbereitet. Mit Rücksicht auf die Ubertragungseigenschaften bei der bevorzugten Ausführungsform der Erfindung muß die betreffende Information in den drei niedrigerwertigen Zeichenpositionen des B-Operandenregisters 40 eingeführt werden, bevor sie zu dem Steuerspeicher 22 hin übertragen wird. Demgemäß wird der Inhalt des B-Operandenregisters 4O während ^jedes Programm schl eif endur chi aufs durch den Zyklus 22 um eine Position nach rechts verschoben. In entsprechender Veise geschieht dies mit dem Inhalt des A-Operandenregisters 38. Gleichzeitig wird das vierte, eine niedrige Wertigkeit besitzende Zeichen in dem A-Operandenregister 38 in die einer hohen Wertigkeit entsprechende. Zeichenposition des B-Operandenregisters 40 verschoben. Während jedes Lesespeicherzyklus 22 wird der jeweilige Inhalt des A-Stammregisters 80 im Wert verringert.
Wenn die gerade vorliegende Operation durch einen THA-Befehl bestimmt wird, wie dies bei der vorliegenden Erläuterung angenommen ist, dann wird während des entsprechenden Zyklus die Lesespeicheradresse des Α-Zählers in das Steuerspeicheradressenregister 23 eingegeben. Im Unterschied dazu wird die Steuerspeicheradresse eines speziellen Arbeitsplatzregisters, d.h. des Arbeitsplatzregisters 3« in das Steuerspeicheradressenregister übertragen. Gleichzeitig wird der Inhalt des
909836/1256
1900U1
B-Zeigerregisters 86 zu dem Steuerspeicheradressenregister 28 hin übertragen. Außerdem wird in dieses Register eine im Wert verringerte Adresse des B-Zeigerregisters' eingegeben.
Während des Zyklus 23 wird ferner der Inhalt des Hauptspeicherplatzes, bezüglich dessen während des Zyklus 16 eine Anforderung ausgelöst worden war, von dem örtlichen Hauptspeicherregister 26 zu dem D-Operandenregister 24 hin übertragen. Dadurch wird die Ausspeicherung der drei Informationswörter aus dem Hauptspeicher beendet. Im übrigen liegt damit ein Zustand vor, gemäß welchem die eine geringe Wertigkeit besitzenden drei Zeichen des B-Operandenregisters zu dem Y-Eegister übertragen werden können. Nachdem die ersten drei Zeichen übertragen worden sind, verbleibt in der einer höheren Wertigkeit entsprechenden Position des B-Operandenregisters 40 ein einziges Informationszeichen und in dem A-Operandenregister zwischen einem und vier brauchbaren Informationszeichen, was von dem Originalzustand des B-Zeicherregisters 86 abhängt. Gleichzeitig ist in das D-Operandenregister der restliche Teil der brauchbaren Information eingegeben worden. Damit werden die nachfolgenden Operationszyklen des Lesespeichers dazu benutzt, eine weitere Gruppe der drei Informationszeichen in den einer geringen Wertigkeit zugehörigen drei Zeichenpositionen des B-Operandenregisters zu sammeln, bevor die betreffenden Zeichen zu dem Steuerspeicher hin übertragen werden. Um diese Sammelpperation ausführen zu können, wird eine -an keine Bedingungen geknüpfte Verzweigungsoperation ausgeführt, in_dem während des Zyklus 23 das Leitungs-Plip-Plop D bedingungslos gesetzt wird. Dies bedeutet, daß mit dem nächsten Auftreten einer Verzweigung zufolge eines gespeicherten Prüfsignals eine Maßnahme zur Auslösung einer Übertragung zu dem Lesespeicherplatz hin ausgeführt wird, und zwar entsprechend
909836/1256
1900H1
dem Inhalt des D-Adressenregisters 66, welcher im vorliegenden Fall dem Zyklus 23 entspricht. Während des Zyklus 23 wird ferner in das Adressenregister 62 eine Lesespeicheradresse eingespeichert, die bei der den Höhepunkt, des vorliegenden Befehls bildenden Verzweigungsoperation benutzt wird.
Wie im Zyklus 22 erfolgt auch im Zyklus 24· eine Verschiebung der brauchbaren Informations zeichen in die einer niedrigen Wertigkeit entsprechenden Zeichenpositionen des A-Operandenregisters 38 und des B-Operandenregisters 4-0. Der Inhalt des A-Stammregisters 80 wird dazu benutzt, die jeweils verschcu-bene Information zu überwachen. Dabei wird jede Zeichenverschiebung in das A-Operandenregister 38 durch eine Verringerung des Inhalts des A-Stammregisters 80 begleitet. Dies setzt sich bis zu dem Zeitpunkt fort, zu dem in den einer niedrigen Wertigkeit entsprechenden 2-Bitpositionen des A-Stammregisters die Bitfolge 00 festgestellt wird. Dies zeigt dann an, daß die brauchbaren Informationszeichen von dem A-Operandenregister 38 zu dem B-Operandenregister 4-0 hin übertragen sind. Auf eine derartige Anzeige hin wird der Inhalt des D-Operandenregisters 44-, d.h. das dritte aus dem Hauptspeicher ausgespeicherte Informationswort , in das A-Operandenregister 38 übertragen.
Während des Lesespeicherzyklus 24· erfolgt ferner die Einspeicherung einer Lesespeicheradresse in das A-Adressenregister 60. Diese Adresse wird bei dem Höhepunkt des vorliegenden Befehls benutzt. Während des Zyklus 24- tritt auf ein gespeichertes Prüfsignal hin eine Verzweigung auf, die nach dem Zyklus 25 bewirkt, daß in Abhängigkeit von dem bedingungslosen Setzen des Leitungs-llip-Flops D ein wiederholter Durchlauf durch die LeseSpeicherplätze entsprechend den Zyklen 23, 24- und 25 erfolgt.
909836/1256
1900H1
Es dürfte einzusehen sein, daß diese Programmschleife automatisch nach einem einzigen Zyklus beendet wird, da der Inhalt des D-Adressenregisters 66 während des Zyklus 25 durch die dem Zyklus 26 entsprechende Adresse des nächstfolgenden Lesespeicherplatzes ersetzt wird.
Während des Zyklus 25 erfolgt sine nochmalige Ausführung der im Zyklus 24 ausgeführten Operationen. Hierzu gehört das Verschieben des Inhalts des Α-Registers und des B-Registers sowie die Übertragung des Inhalts der einer niedrigen Wertigkeit entsprechenden Zeichenposition des Α-Registers in die einer höheren Wertigkeit entsprechende Zeichenpositipn des B-Registers, Sine bedingte Übertragung des Inhalts des D-Operandenregisters 44 in das A-Operandenregister 38 erfolgt wie im Zyklus 24 auf die Feststellung eines einer O entsprechenden Binärwortes in dem A-Stammregister 80. Während des Zyklus 25 wird das Leitungs-Flip-Flop E bedingungslos gesetzt. Eine auf ein gespeichertes Prüfsignal hin erfolgende Verzweigung bewirkt dann die Auswahl des Inhalts des E-Adressenregisters 68 nur in dem Fall, daß sämtliche eine niedrigere Hangordnung besitzenden Leitungs-Flip-Flops zurückgestellt sind.
Während des Zyklus 26 wird die Sechtsvsrschiebung. der Zeichen in dem A-Operandenregister 38 und in dem 3-Gperandenregister 40 fortgesetzt. Außerdem wird die Übertragung des Inhalts des einer niedrigen Wertigkeit entspx'echsziden Zeichenspeicherplatzes des A-Op^randsnrsgisters in ctei einer höherwertigen Zeichenposition des B-Operandenregisters fortgesetzt. Während dieses Zyklus erfolgt faraer das bedingte Setzen der Leitungjs-Flip-Ficps I5-B5 0 und B« Dabei wird das A-Leitungs-Flip-]?lop da:on gesetzt, -"/enn die gerade vorliegende Operation entweder eine Addition odereine Subtraktion betrifft. Das E-Leitungs-Flip-Flop wird
~ 57 " 1900H1
dann gesetzt, wenn durch die gerade vorliegende Operation eine Multiplikation ausgeführt wird. Das O-Leitungs-Flip-Flop wird dann gesetzt, wenn durch die gerade vorliegende Operation eine Din-ision durchgeführt wird. Das D-Leitungs-Flip-Elop wird schließlich dann gesetzt, wenn die gerade vorliegende Operation das Laden eines speziellen Registers betrifft, das bei der Durchführung wissenschaftlicher Operationen benutzt wird. Während des Zyklus 26 werden ferner Maßnahmen getroffen, um in das D-Adressenregister 66 die Adresse eines Lesespeicherplatzes einzuspeichern, die der dem D-Leitungs-Elip-Flop zugehörigen bedingten Operation entspricht.
Während des Zyklus 27 wird die Steuerspeicheradresse des Polgeregisters des Steuerspeichers in das SteuerSpeicheradressenregister 28 übertragen, wenn der gerade vorliegende Befehl die Eigenschaft einer TMA-Operation besitzt, was für die folgende' Erläuterung auch angenommen worden ist. Im Unterschied dazu wird die Adresse des Arbeitsspeicherplatzes 6 des Steuerspeichers in das Steuerspeicheradressenregister 28 übertragen. Gleichzeitig wird der Inhalt des B-Zeigerregisters 86 in das Steuerspeicheradressenregister übertragen, und die in dem B-Operandenregister 4Ό noch enthaltenen, eine niedrige Wertigkeit besitzenden drei Zeichen werden in das örtliche Steuerspeicherregister übertragen und anschließend wieder in den Speicherplatz des Steuerspeichers zurückgespeichert, der für eine Speicherung gerade adressiert ist. Zu diesem Zeitpunkt wird die letzte Verzweigung auf ein gespeichertes Prüfsignal hin erzeugt.
Während des Zyklus 30 wird in das Steuerspeicheradressenregister die Adresse des IFolgezählers eingespeichert, und der Inhalt des B-Zeigerregisters 86 wird um eine Einheit erhöht. Am Ende des Zyklus 30 wird die während des Zyklus
909836/1256
. 1900U1
ausgelöste Verzweigung auf eine gespeicherte Prüfoperation hin wirksam, wodurch das höchstwertige Adressenregister der Adressenregister A, B, C und D, dessen zugehöriges Leitungs-Flip-Flop gesetzt ist, dazu benutzt wird, die nächste Lesespeicheradresse abzugeben.
Gemäß einem Beispiel, bei dem, wie dies im vorliegenden Fall angenommen worden war, die vorliegende Operation einem TMA-Befehl entspricht, wird keines der Flip-Flops A bis D gesetzt. Dabei obliegt es dem D-Adressenregister 68, die Adresse für den nächsten Lesespeicherzyklus abzugeben. In derartigen Fällen, in denen die TMA-Operation selbst beendet wird, ist der nächstfolgende Zyklus der erste Ausspeicherzyklus des folgenden Programmbefehls, wie dies durch den Inhalt des Folgeregisters des Steuerspeichers bezeichnet ist.
Die Ausführung des TMA-Befehls erfolgt in der Weise, daß eine Verzweigungsoperation entsprechend der jeweils auszuführenden Operation erfolgt. In Abweichung hiervon kann auch ein bedingungsloser Übergang auf den nächsten Programmbefehl in einem Fall erfolgen, bei dem die vorliegende Operation beendet ist. Dies ist dabei nicht als Beschränkung der vielfältigen Anwendungsmöglichkeiten der Erfindung anzusehen.
8C3936/1256

Claims (1)

1900U1 53
Paten tansprüche
Datenverarbeitungsvorrichtung, dadurch gekennzeichnet, daß ein adressierbar ansteuerbarer Speicher (48) vorgesehen ist, dem ein erstes Register (50) zur Speicherung einer Speicheransteueradresse und ein zweites Register (52) zur Kurzzeitspeicherung des Inhalts eines bezeichneten Speicherplatzes zugeordnet ist, daß eine TEielzahl unab hängig voneinander ansteuerbarer Register (60 bis 68) vorgesehen ist, in welche mit Hilfe von Steuereinrich tungen (72) selektiv zumindest ein Teil des jeweiligen Informationsinhalts des zweiten Registers (52) während aufeinanderfolgender Operationszyklen des Speichers (43) einspeicherbar ist, und daß die Steuereinrichtungen (?2) eine der Anzahl der unabhängig voneinander ansteuert-aren Register (38 bis 42) entsprechende Anzahl von Speieherelementen (76) und Prüf einrichtungen (76) enthalten», die auf Prüfanfor&erungssignale hin selektiv ansprechende Auswerteeinrichtungen einstellen, woraufhin ler Inhalt eines bestimmten Registers der unabhängig beieinander ansteuerbaren Register (60 bis 68) als Spei'.■aeransteueradresse zur Bezeichnung des nächst sr. Spsie^c -' ■■ Platzes des Speichers (4-5) heransiehbar lsi;*
Datenverarbeitungsvorricctung nach Aiiapr'HV-i ·'■ - -u·,·"..-gekennzeichnet;, daß zur Gasführung r>ir..·; - :.;:.v '■'■: /Λ Verzweigungsadresse f e ^t ,r si epr
innerhalb des Ausführt.:^;;z
befehls eine Vielzahl c
bis 68) vorgesehen Lz~ < .
Informationen zu s>-5x . e... r.
plätze in dem Soeirie: -:'
r 1J ^n
9 O 9 8 2 e / 1 2 c ο BAD ORIGlNAt
19 00H1
den Zweigadressenregistern (60 bis 68) bistabile Elemente (76) zugeordnet sind, die unabhängig voneinander auf externe Anforderungssignale hin setzbar sind und die jeweils dasjenige Zweigadressenregister (60 bis 68) bezeichnen, dessen Adresse zur Ansteuerung des Speichers (4-8) dient.
3. Datenverarbeitungsvorrichtung nach Anspruch 2, dadurch gekennzeichnet, daß die Prüfeinrichtungen (78) auf die Feststellung eines bestimmten Bits in dem den Speicher (48) zugehörigen zweiten Register (52) eine Abtastung des Zustands der bistabilen Speicherelemente (76) einleiten und als Ergebnis dieser Abtastung den Inhalt eine-s bestimmten Zweigadressenregisters (60 bis 68) an das erste Register (50) des Speichers (48) übertragen.
4. Datenverarbextungsvorrxchtung nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß eine Verzweigung einer Operation mit Aufnahme eines bestimmten Anforderungssignals dadurch erfolgt, daß eine durch dieses Anforderungssignal in dem jeweiligen Zweigadressenregister (60 bis 68) festgelegte Adresse zur Speicheransteuerung abgegeben wird.
5. Datenverarbextungsvorrxchtung nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, daß die Speicherelemente (76) in einer bestimmten Reihenfolge abgetastet werden, bis ein Speicherelement ermittelt ist, das sich im Setzzustand befindet, und daß daraufhin der Inhalt des diesem Speicherelement entsprechenden Verzweigungsadressenregisters (60 bis 68) zu dem ersten Register (50) hin übertragen wird.
909836/ 1256
1900H1 In
6. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß Einrichtungen (70) vorgesehen sind, die den Wert der in dem dem Speicher (48) zugehörigen ersten Register (50) gespeicherten Adresse nach jedem Zyklus selektiv erhöhen oder verringern, daß mit den bistabilen Speicherelementen (76) eine Priorität s-Prüfl ogikschaltung (74) verbunden ist, und daß der Inhalt des dem höchstrangigen, im Setζzustand befindlichen bistabilen Speicherelement zugehörigen Zweigadressenregisters (60 bis 68) dem ersten Register (50) des Speichers (48) zugeführt wird.
909836/ 1256
DE1900141A 1968-01-02 1969-01-02 HilfsSteuerwerk für eine Datenverarbeitungsanlage Expired DE1900141C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US69494968A 1968-01-02 1968-01-02

Publications (3)

Publication Number Publication Date
DE1900141A1 true DE1900141A1 (de) 1969-09-04
DE1900141B2 DE1900141B2 (de) 1973-10-25
DE1900141C3 DE1900141C3 (de) 1974-05-22

Family

ID=24790930

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1900141A Expired DE1900141C3 (de) 1968-01-02 1969-01-02 HilfsSteuerwerk für eine Datenverarbeitungsanlage

Country Status (9)

Country Link
US (1) US3570006A (de)
JP (1) JPS5031419B1 (de)
BE (1) BE726343A (de)
CH (1) CH512782A (de)
DE (1) DE1900141C3 (de)
FR (1) FR1603682A (de)
GB (1) GB1254538A (de)
NL (1) NL163339C (de)
SE (1) SE345332B (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3673573A (en) * 1970-09-11 1972-06-27 Rca Corp Computer with program tracing facility
US3699526A (en) * 1971-03-26 1972-10-17 Ibm Program selection based upon intrinsic characteristics of an instruction stream
US3728686A (en) * 1971-06-07 1973-04-17 Rca Corp Computer memory with improved next word accessing
US3704448A (en) * 1971-08-02 1972-11-28 Hewlett Packard Co Data processing control system
US3781814A (en) * 1971-10-07 1973-12-25 Raytheon Co Method and apparatus for applying source language statements to a digital computer
US3798613A (en) * 1971-10-27 1974-03-19 Ibm Controlling peripheral subsystems
US3881172A (en) * 1971-12-01 1975-04-29 Struthers Dunn Process control computer
FR2166733A5 (de) * 1972-01-06 1973-08-17 Sagem
US3753236A (en) * 1972-03-31 1973-08-14 Honeywell Inf Systems Microprogrammable peripheral controller
US3760369A (en) * 1972-06-02 1973-09-18 Ibm Distributed microprogram control in an information handling system
US3800291A (en) * 1972-09-21 1974-03-26 Ibm Data processing system memory relocation apparatus and method
US3793631A (en) * 1972-09-22 1974-02-19 Westinghouse Electric Corp Digital computer apparatus operative with jump instructions
US3979725A (en) * 1973-08-06 1976-09-07 Xerox Corporation Multi-way program branching circuits
US3922538A (en) * 1973-09-13 1975-11-25 Texas Instruments Inc Calculator system featuring relative program memory
IT1000638B (it) * 1973-12-28 1976-04-10 Olivetti & Co Spa Calcolatore elettronico con dispo sitivo di deviazione dei micropro grammi
DE2529348A1 (de) * 1975-07-01 1977-01-13 Siemens Ag Verfahren zum verarbeiten von maschinenbefehlen mit bytefeldoperanden in einem mikroprogrammierten prozessor einer datenverarbeitungsanlage
DE2805939C2 (de) * 1978-02-13 1980-01-31 Siemens Ag, 1000 Berlin Und 8000 Muenchen Steuerwerk
US4271484A (en) * 1979-01-03 1981-06-02 Honeywell Information Systems Inc. Condition code accumulator apparatus for a data processing system
IT1134780B (it) * 1980-12-18 1986-08-13 Honeywell Inf Systems Unita' di controllo microprogrammata con rete di salti multipli
JPS62501940A (ja) * 1985-02-20 1987-07-30 マジエラン コ−ポレイシヨン(オ−ストラリア)プロプライエタリ リミテイツド マイクロプログラム・コントロ−ラの改良
US4885682A (en) * 1986-12-01 1989-12-05 Nec Corporation Microprogram controller for detecting the occurrence of an interrupt request or a termination of a string instruction
EP0551932B1 (de) * 1987-06-05 1998-07-15 Mitsubishi Denki Kabushiki Kaisha Digitaler Signalprozessor der bedingte Mehrpunkt-Sprungbefehle im Pipelinemodus bearbeitet
US4933847A (en) * 1987-11-17 1990-06-12 International Business Machines Corporation Microcode branch based upon operand length and alignment
US5664135A (en) * 1994-09-28 1997-09-02 Hewlett-Packard Company Apparatus and method for reducing delays due to branches
US8301890B2 (en) * 2006-08-10 2012-10-30 Inside Secure Software execution randomization
US7613907B2 (en) * 2006-08-11 2009-11-03 Atmel Corporation Embedded software camouflage against code reverse engineering
US7554865B2 (en) 2006-09-21 2009-06-30 Atmel Corporation Randomizing current consumption in memory devices
CN114116533B (zh) * 2021-11-29 2023-03-10 海光信息技术股份有限公司 利用共享存储器存储数据的方法

Also Published As

Publication number Publication date
FR1603682A (de) 1971-05-10
BE726343A (de) 1969-05-29
NL163339C (nl) 1980-08-15
US3570006A (en) 1971-03-09
DE1900141C3 (de) 1974-05-22
NL6900010A (de) 1969-07-04
NL163339B (nl) 1980-03-17
CH512782A (fr) 1971-09-15
SE345332B (de) 1972-05-23
JPS5031419B1 (de) 1975-10-11
GB1254538A (en) 1971-11-24
DE1900141B2 (de) 1973-10-25

Similar Documents

Publication Publication Date Title
DE1900141A1 (de) Datenverarbeitungsvorrichtung
DE1928202C3 (de) Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen
DE69738188T2 (de) Verfahren und apparat für eine erhöhte genauigkeit bei der verzweigungsvorhersage in einem superskalaren mirkroprozessor
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
DE1424732C3 (de) Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE2060635A1 (de) Rechner-Steuergeraet sowie Verfahren und Steuerpult zum Programmieren desselben
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE1901228A1 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2753062A1 (de) Einrichtung zur durchfuehrung programmierter befehle
DE2023354A1 (de) Programmierbare Einheit und Verfahren zum Betreiben einer programmierbaren Einheit
DE1499193A1 (de) Datenverarbeitungsanlage
DE2714805A1 (de) Datenverarbeitungssystem
DE1524222B1 (de) Schaltung zum bereichsweisen Adressieren der Register des Hauptspeichers eines Rechenautomaten
DE1524102B2 (de) Elektronische, aus baueinheiten aufgebaute datenverarbeitungsmaschine
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2713253A1 (de) Programmlader fuer ein steuergeraet
DE1499206C3 (de) Rechenanlage
DE2145709B2 (de)
DE2556617C2 (de) Schiebe- und Rotierschaltung
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2063195C2 (de) Verfahren und Einrichtung zur Operationssteuerung einer Anzahl von externen Datenspeichern
DE3811658C2 (de)
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1191145B (de) Elektronische Zifferrechenmaschine

Legal Events

Date Code Title Description
SH Request for examination between 03.10.1968 and 22.04.1971
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977