DE1499193C3 - Speicher-Adressierschaltung - Google Patents

Speicher-Adressierschaltung

Info

Publication number
DE1499193C3
DE1499193C3 DE1499193A DE1499193A DE1499193C3 DE 1499193 C3 DE1499193 C3 DE 1499193C3 DE 1499193 A DE1499193 A DE 1499193A DE 1499193 A DE1499193 A DE 1499193A DE 1499193 C3 DE1499193 C3 DE 1499193C3
Authority
DE
Germany
Prior art keywords
address
character
register
memory
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1499193A
Other languages
English (en)
Other versions
DE1499193B2 (de
DE1499193A1 (de
Inventor
Michael H. Newton Centre Blume
Walter R. Canton Lethin
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 DE1499193A1 publication Critical patent/DE1499193A1/de
Publication of DE1499193B2 publication Critical patent/DE1499193B2/de
Application granted granted Critical
Publication of DE1499193C3 publication Critical patent/DE1499193C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Magnetically Actuated Valves (AREA)

Description

Die Erfindung betrifft eine Speicher-Adressierschaltung für mit einem gespeicherten Programm versehene Datenverarbeitungsgeräte, die ein Hauptspeicheradressenregister zum Adressieren eines Hauptspeichers und einen an das Hauptspeicheradressenregister angeschlossenen und dieses steuernden Steuerspeicher aufweist, wobei beim Verarbeiten von mit einem Operationscöde und einer Adresse veränderlicher Länge versehenen Programmbefehlen eine Reihe von Speicheradressieroperationen durchgeführt werden. Die Entwicklungstendenz bei den Datenverarbeitungsgeräten ist gegenwärtig auf die sogenannte Einheitsbauweise gerichtet, bei der Baugruppen unterschiedlicher Größe und Arbeitsgeschwindigkeit zusammenarbeiten können und gegeneinander austauschbar sind. Diese Bauweise ermöglicht es, zunächst nur diejenigen Einheiten aufzustellen und in Betrieb zu setzen, die den Anforderungen eines bestimmten Anwendungsgebietes Rechnung tragen und diese Grundeinheiten nachträglich durch weitere Baugruppen und -einheiten zu ergänzen, um so den hinzukommenden Aufgaben und Anforderungen Rechnung zu tragen. Eine Möglichkeit zur Veränderung der Größe und Leistungsfähigkeit eines in Einheitsbauweise erstellten Datenverarbeitungsgerätes besteht in der Erweiterung des zugehörigen Haupt-Speichers, in dem nicht nur die einzelnen, zu verarbeitenden Operanden, sondern auch die Programmbefehle und die Adressen gespeichert sind, unter denen die zu verarbeitenden Operanden aufgesucht werden können.
Es ist ein Datenverarbeitungsgerät bekannt, dessen Programmbefehl jeweils eine bestimmte, gleichbleibende Länge besitzt, wobei allerdings der Adressenteil des Befehls um zwei Stellen geändert werden kann. Datenverarbeitungsgeräte mit derartigen, eine gleichbleibende Befehlslänge aufweisenden Programmbefehlen werden vielfach als Festwortmaschinen bezeichnet, wobei darauf geachtet werden muß, daß die zur Verfügung stehende Befehlslänge der größtmöglichen zu erwartenden Binärzifferdarstellung des Befehls Rechnung trägt. Nachteilig bei derartigen Festwortmaschinen ist, daß die festgelegte Wortlänge im Hinblick auf eine möglichst wirkungsvolle Anpassung der Programmbefehle zu einer Beeinträchtigung des Wirkungsgrades des Datenverarbeitungsgerätes führen kann, da die Länge der benötigten und zu bearbeitenden Befehle innerhalb des Aufgabenbereiches eines Datenverarbeitungsgerätes oft sehr stark schwankt. Auch ist die Speicherkapazität des Datenverarbeitungsgerätes von vornherein durch die feststehende Länge des Befehlswortes festgelegt. Eine gewisse Abhilfe schaffen hier Datenverarbeitungsgeräte mit einer variablen Befehlswortlänge, deren Programmbefehle aus einer variablen Anzahl von Zeichen bestehen. Dabei ist es bekannt, eine variable Anzahl von Zeichen für den sogenannten Operationscode vorzusehen, welcher die von dem Datenverarbeitungsgerät auszuführende Operation kennzeichnet, während dem sogenannten Adressenfeld eine bestimmte Anzahl von Zeichen fest vorgegeben ist, so daß die Länge des Adressenfeldes in diesen bekannten Datenverarbeitungsgeräten immer gleich bleibt. Die gleichbleibende Anzahl der einem Zeichen zugeordneten Bits ist vielfach gerade so groß, daß es einschließlich der für das Datenverarbeitungsgerät notwendigen Nebeninformationen gerade ein alphanumerisches Zeichen zu definieren vermag. Obwohl nun bei den bekannten Datenverarbeitungsgeräten mit variabler Befehlswortlänge die Länge des Befehls und damit die auszuführenden Operationen veränderbar ist, haben die Befehle doch, wie schon erwähnt, eine konstante Länge des Adressenfeldes, was der Adressierfähigkeit einer solchen Anlage bestimmte Begrenzungen auferlegt. Soll beispielsweise bei einem
bekannten Datenverarbeitungsgerät mit variabler Wortlänge die Kapazität des Speichers verändert werden, so ist dies nur möglich, wenn die zugeordneten Steuerschaltungen zusammen mit der Länge des Adressenfeldes erweitert werden, was einen erheblichen Aufwand bedeutet, oder aber die Steuerschaltungen schon von Anfang an auf die größtmögliche Speicherkapazität des Datenverarbeitungsgerätes zugeschnitten sind, was den Nachteil in sich trägt, daß derartige Steuerschaltungen möglicherweise niemals optimal genutzt werden.
Aufgabe der Erfindung ist es, eine Speicher-Adressierschaltung zu schaffen, die bei Datenverarbeitungsgeräten der Einheitsbauweise auf die Erzielung einer großen Wirtschaftlichkeit hinsichtlich der Speicherkapazität und der Rechenzeit gerichtet ist, indem sie eine Änderung der Speicherkapazität des Datenverarbeitungsgerätes mit relativ geringem Aufwand zuläßt und bei Datenverarbeitungsgeräten mit großer Speicherkapazität besonders wenig Zeit benötigt, um die Adressen zusammenzustellen, welche einen Zugriff zu den Operandenadressen erlauben.
Die Aufgabe wird dadurch gelöst, daß die eingangs genannte Speicher-Adressierschaltung mit den im kennzeichnenden Teil des Hauptanspruchs bezeichneten Merkmalen versehen wird. Bei Datenverarbeitungsgeräten, welche mit der erfindungsgemäßen Adressierschaltung versehen sind, kann daher zum einen also die Länge der Adressen, mit denen man Zugriff zu den Operandenadressen erhält, verändert werden. Hat man beispielsweise einen relativ kleinen Speicher, so werden auch die Operandenadressen eine geringe Anzahl von Stellen haben. Es ist daher wenig sinnvoll, in dem Adressenfeld des Programmbefehles, aus dem sich indirekt die Operandenadresse ergibt, eine große Anzahl von Zeichen vorzusehen, da vielen aus diesem Zeichen zusammensetzbaren Ziffern gar keine Stelle im Speicher zugeordnet sein wird; andererseits wird aber für einen großen, gegebenenfalls auch nachträglich vergrößerten Speicher, eine größere Anzahl Zeichen in dem Adressenfeld benötigt werden, um einen bestimmten Platz im Hauptspeicher zu definieren, welcher die Operandenadresse angibt. Die Speicher-Adressierschaltung gemäß der Erfindung ist daher so aufgebaut, daß sie wahlweise eine unterschiedliche Anzahl von Zeichen aufweisende Operandenadressen aus dem Hauptspeicher herauszieht und in vorgegebenen Speicherorten im Steuerspeicher (nachfolgend vielfach als Operandenadressenregister bezeichnet) speichert. Dabei ist es nicht nur möglich, einmal eine bestimmte Anzahl von Zeichen den einzelnen Operandenadressen zuzuordnen, sondern es kann auch innerhalb eines ablaufenden Programms durch entsprechende Befehle die Zahl der in dem nachfolgenden Befehl pro Operandenadresse herauszuziehenden Zeichen verändert werden. Eine derartige Variation des Adressenmodus während eines Programmes oder bei dem Wechsel eines Programmes in einem Datenverarbeitungsgerät mit gleichbleibender Speicherkapazität ist dann besonders vorteilhaft, wenn beispielsweise aus einem oder mehreren Zeichen bestehende Teile der Operandenadresse im Operandenadressenregister stehenbleiben können, welche dann einen sogenannten, für die nachfolgenden Adressen stets gleichbleibenden Sektor innerhalb des Hauptspeichers definieren. Ist daher bekannt, daß die nachfolgenden Adressen innerhalb dieses Sektors liegen werden, so empfiehlt es sich, den Adressenmodus dahingehend zu ändern, daß nur noch wenige Zeichen aus dem Hauptspeicher zur Kennzeichnung der Operandenadresse herausgezogen werden, während der höherstellige Adressenrest, welcher den genannten Sektor kennzeichnet, im Operandenadressenregister stehenbleibt und auch für die späteren Operandenadressen gültig ist.
Das Adressenfeld selbst zerfällt gewöhnlich in ein A-Adressenfeld und ein B-Adressenfeld, welche indirekt die Adressen des A- und B-Operanden definieren, die nachfolgend von dem Datenverarbeitungsgerät gemäß dem Programmbefehl zu verarbeiten sind.
Um die Gewinnung der Operandenadressen zu erleichtern, ist die erfindungsgemäße Speicher-Adressierschaltung mit den im kennzeichnenden Teil des Anspruchs 2 angegebenen Merkmalen zu versehen. Durch die zeichenmäßige Organisation der aus dem Hauptspeicher kommenden Adressenteile der Operandenadresse wird die Operandenadresse in nacheinander erfolgenden Schritten aus den einzelnen Zeichen zusammengesetzt, wodurch die Speicheradressierschaltung sich in ihrem Aufwand erheblich vermindert, da sie immer nur gerade zur Verarbeitung und Behandlung eines Zeichens in der Lage sein muß. Müßten sämtliche Zeichen gleichzeitig behandelt werden, so wäre der Aufwand für die Speicher-Adressierschaltung erheblich größer.
Hierdurch wird auch die vorteilhafte Wirkungsweise einer weiteren Ausgestaltung der Erfindung besonders begünstigt, nach der der Steuerspeicher Folgeregister aufweist, die die Adressen der demnächst auszuführenden, zur Bildung der Operanden-Adressen dienenden Befehle enthalten und nach der, um innerhalb des Hauptspeichers jedes zum Befehl gehörende Zeichen zu finden, ein Hilfsregister vorgesehen ist, in dem die ziffernmäßige Darstellung der Adresse des letzten Zeichens des vom Hauptspeicher entnommenden Befehls vergrößert oder verkleinert wird, um hierdurch die Adresse des nächsten zu entnehmenden Zeichens zu bilden. Danach wird also, nachdem durch das Adressenfeld innerhalb des Befehls der Speicherplatz des Hauptspeichers festgelegt ist, aus dem sich das erste Zeichen der Operandenadresse ergibt, der nächste Speicherplatz und alle folgenden Speicherplätze durch schrittweises Weiterschalten eines Hilfsregisters (vorzugsweise um eine Einheit) quasi automatisch in einer sehr einfachen Weise gewonnen. Es muß festgehalten werden, daß durch ein derartiges Weiterschalten sich nicht die Operandenadresse selbst ergibt, die ja erst im Operandenadressenregister zusammengestellt wird, sondern nur immer jeweils ein Speicherplatz in dem ein Teil bzw. ein Zeichen der Operandenadresse gespeichert ist. Weiterhin ist noch festzuhalten, daß die Operandenadresse auch nicht den ganzen Operanden angibt, sondern nur seine unterste oder oberste Stelle, wobei die Adressen für die im Speicher meist nebenan liegenden weiteren Ziffern des Operanden wiederum durch ein derartiges automatisches Verfahren gewonnen werden können.
Um in einfacher Weise zur Änderung des Adressenmodus den Zustand des Adressenmodusregisters ändern zu können, empfiehlt sich nach einer vorteilhaften Weiterbildung in der erfindungsgemäßen Schaltung die im kennzeichnenden Teil des Anspruchs 6 angegebenen Merkmale anzuwenden. Die Möglichkeit, gemäß der Erfindung den Adressenmodus zu wechseln, gestattet es daher auch quasi als
Nullfall das Adressenfeld im Programmbefehl ganz wegzulassen, wodurch sich eine erhebliche Zeitersparnis ergibt.
Zusätzliche vorteilhafte Weiterbildungen der Erfindung ergeben sich aus den weiteren Unteransprüchen.
Ein Ausführungsbejspiel der Erfindung wird nachfolgend an Hand der Zeichnung erläutert. Es zeigt
Fig. 1 ein Blockschaltbild eines Teils eines Datenverarbeitungsgeräts in dem die erfindungsgemäße Speicher-Adressierschaltung enthalten ist, und
Fig. 2 ein Signalflußdiagramm aus dem sich die Reihenfolge der einzelnen Arbeitsschritte beim Herausziehen der Programmbefehle während aufeinanderfolgender Arbeitszyklen ergibt.
Fi g. 1 zeigt einen Teil eines elektronischen Datenverarbeitungsgeräts mit einer zentralen Recheneinheit, deren Hauptspeicher 11 beispielsweise einen Koinzidenz-Kernspeicher mit mehreren Speicherebenen (3D-Speicher) enthält. Von einem Steuerspeicher 13 besteht Zugang zum Hauptspeicher 11 über ein vielstufiges Hauptspeicher-Adressenregister 15, welches die Adresse des im Hauptspeicher aufzusuchenden Speicherplatzes enthält. Dem Adressenregister 15 ist ein Hilfsregister 17 zugeordnet, welches kenntlich macht, ob der Inhalt des Hauptspeicher-Adressenregisters 15 um einen Schritt vergrößert, verkleinert oder unverändert in ein vorbestimmtes Feld des Steuerspeichers 13 überführt werden soll. Die Informationen gelangen zu den Speicherplätzen des Hauptspeichers und verlassen diese entsprechend der vom Register 15 gegebenen Adressierung über das zum Hauptspeicher gehörige Register 19, welches außerdem eine den eingespeicherten Daten entsprechende Prüfinformation erzeugt und die Daten bei ihrer Ausspeicherung überprüft. Der Weg zum Herausnehmen der Information aus dem Speicher 11 führt über eine Gruppe von Leseverstärkern 21.
Der Steuerspeicher 13 besteht aus einer Vielzahl von Speicherregistern mit jeweils mehreren Stellen (2D-Register), wobei jedes Register eine zur Durchführung der verschiedenen Programmbefehle gehörige Information speichert. In dieser Beziehung werden alle Programmbefehle über den Steuerspeicher geführt, der die Auswahl, Auswertung und Durchführung in der richtigen Reihenfolge unterstützt. Bei der Ausübung seiner Funktionen koordiniert der Steuerspeicher 13 die verschiedenen Vorgänge der Datenaufnahme, der Umspeicherung innerhalb der zentralen Recheneinheit und der Ausgabe der berechneten Daten an die verschiedenen peripheren Geräte. Bei einer bevorzugten Ausführungsform der Erfindung umfaßt die Steuerspeicheranlage A- und B-Operanden-Adressenregister, Folge- sowie weitere Speicherregister. Die Mehrzahl der Speicherregister im Steuerspeicher 13, werden über ein Steuerspeicher-Adressenregister 23 adressiert. Informationen werden in den Steuerspeicher entweder vom Hilfsadressenregister 17 oder als Ausgangssignal einer Addiereinrichtung 25 über ein zum Steuerspeicher gehöriges, lokales Register 27 übertragen. Außerdem kann der Steuerspeicher jede der in ihm gespeicherten Informationen über zugehörige Leseverstärker 29 in das Hauptspeicher-Adressenregister 15 leiten.
Das zum Steuerspeicher gehörige lokale Register 27 und die Leseverstärker 29 besitzen Speichermöglichkeiten für eine Vielzahl von Zeichen und außerdem die Fähigkeit, wahlweise irgendwelche, den verschiedenen Speicherplätzen zufließende Informationen durchzulassen oder zu sperren.
Die Addiervorrichtung in Fig. 1 kann sowohl binäre als auch dezimale arithmetische Operationen durchführen. Zwei Operandenregister 31 und 33 sind an den Eingang der Addiereinrichtung 25 angeschlossen und stellen eine Einrichtung zur Speicherung der A- und der B-Operanden-Daten während der Verarbeitung der Programmbefehle dar. Die Information
ίο gelangt vom lokalen Register 19 des Hauptspeichers in die genannten Operanden-Register. Die in das A -Operanden-Register 33 einfließende Information läuft über eine der drei Leitungen in einer direkten Einer- oder Neuner-Komplementdarstellung je nach Art der auszuführenden Operation.
Die Addiervorrichtung 25 enthält eine Übertragvorrichtung 35, die die wahlweise Kombination der aus entsprechenden Stufen des A- und des B-Operanden-Registers 31 bzw. 33 stammenden Signale mit
ao in den vier Stufen der Übertragungsvorrichtung 35 erzeugten Übertragsignalen bewirkt. Diese wahlweise Kombination von Signalen wird durch in dem Entschlüßler 37 erzeugte Signale gesteuert, der den Befehlscode und die Varianten entschlüsselt und die
»5 Reihenfolge der Arbeitsvorgänge während der Extraktionsphase jedes Befehls bestimmt und außerdem feststellt, ob gerade eine logische oder eine arithmetische Operation durchgeführt wird.
Die Ausgangssignale entsprechender Stufen der A- und B-Operanden-Register 31 und 33 werden in einem Summen-Register 39 mit Signalen aus der Übertragvorrichtung 35 kombiniert. Das Ausgangssignal des Summen-Registers 39 gelangt zu einem Summenentschlüßler 41, wo das Signal in eine dezimale Darstellung zurückverwandelt wird, sofern die ursprüngliche Darstellung dezimal war; während für binäre Operationen die ermittelte Darstellung an dem Entschlüßler unverändert vorbeigeleitet wird. Normalerweise wird das Ausgangssignal des Summenentschlüßlers 41 zwecks anschließender Speicherung im Hauptspeicher 10 in das diesem zugeordnete Register 19 überführt. In einem Befehlscode-Register 43 wird der Befehlscode und in einem Modifizierungsregister 45 die Befehlscode-Modifikation oder Variante gespeichert. Der Befehlscode gibt die auf Grund des Befehls auszuführende Grundoperation an, während die Befehlscode-Modifikation oder Variante die durch den Befehlscode gegebene Definition erweitert. Ferner ist ein besonderes Taktgeber- und Zeitfolge-Register 47 vorgesehen, welches aktiviert wird, sobald die zentrale Recheneinheit einen Programmbefehl oder einen anderen Befehl verarbeitet. Das Taktgeber- und Zeitfolge-Register 47 ist zusammen mit dem Befehlscode-Register 43 und dem Modifizierungsregister 45 an den Entschlüßler 37 angeschlossen, der, wie bereits erwähnt, die Zeitfolge der in der Addiereinrichtung 25 ablaufenden Vorgänge bestimmt. An die Ausgänge der beiden Register 43 und 45 ist das Adressenmodus-Register 49 angeschlossen. Dessen Aufgabe besteht darin, ein Signal zu speichern, welches angibt, ob im 3-Zeichen- oder im 2-Zeichen-Adressenmodus gearbeitet wird. In seiner einfachsten Form besteht das Adressenmodus-Register aus einer einfachen Kippschaltung. Jedoch kann durch einfaches Vergrö-Bern der Speicherkapazität mittels zusätzlicher Stufen angezeigt werden, in welcher von η möglichen Betriebsarten gearbeitet wird.
Bei einer bevorzugten Ausführungsform der Erfin-
dung erfolgt die Verarbeitung der Daten und Befehle auf Zeichenbasis mit einem einzigen aus einer Mehrzahl von Binärziffern bestehenden Zeichen, welches in jedem Speicherzyklus aus dem Hauptspeicher übertragen wird. Bei jeder programmierten Operation besteht der erste Schritt darin, den als nächsten auszuführenden Befehl aus dem Speicher zu entnehmen. So werden mit fortschreitender Verarbeitung des Befehls dessen Zeichen eines nach dem anderen aus den aufeinanderfolgenden Speicherplätzen des Hauptspeichers herausgenommen und in die verschiedenen Befehlsregister der zentralen Recheneinheit und des Steuerspeichers überführt. Ein typischer Programmbefehl kann beispielsweise überhaupt nur ein Zeichen oder zehn oder mehr Zeichen enthalten. Dies hängt von der Art des Befehls und vom Adressenmodus ab.
Die Verarbeitung eines Befehls, der arithmetische oder logische Operationen enthält, erfolgt in zwei Schritten; zunächst werden nämlich die Befehlszeichen aus dem Hauptspeicher herausgeholt und anschließend die durch die herausgeholten Zeichen gekennzeichneten Daten verarbeitet. Nunmehr soll auf Fig. 2 Bezug genommen werden, die ein Signalflußdiagramm darstellt und die Speicherzyklen wiedergibt, wie sie der Verarbeitung der verschiedenen Zeichen eines Programmbefehls während der Extraktionsphase zugeordnet sind. Die Extraktionsphase eines Programmbefehls beginnt mit der Entnahme der Information eines durch das Folgeregister des Steuerspeichers 13 bestimmten Speicherplatzes im Hauptspeicher und dessen Identifizierung als Befehlscode-Zeichen, welches im folgenden als V3 bezeichnet wird. Hierauf folgt die Verarbeitung des Zeichens A1, wonach festgestellt wird, ob die Anlage im 2-Zeichen- oder im 3-Zeichen-Adressenmodus arbeiten muß. Soll im 2-Zeichen-Adressenmodus gearbeitet werden, so führt der Signalweg am Zeichen A 2 vorbei und beginnt sofort mit der Verarbeitung des Zeichens A3. Wird statt dessen im 3-Zeichen-Adressenmodus gearbeitet, so setzt sich der Signalfluß über die Zeichen A2 und A3 fort, worauf eine Überprüfung folgt, ob ein direkter, indirekter oder Indexmodus vorliegt. Dementsprechend schließt sich beim Indexmodus die Verarbeitung der Zeichen AIx, AIx und A3x an, während bei indirektem Modus die Zeichen AId, AId und A3d aufeinander folgen.
In ähnlicher Weise werden die Zeichen Bl, Z? 2 und B3 entnommen und hinsichtlich der genannten Bedingungen überprüft und der entsprechenden Operationsfolge unterworfen. Die Ausspeicherphase wird durch Entnahme der Signale Vl und V2 oder sonstiger zusätzlicher, den Befehlscode modifizierender Zeichen angeschlossen.
Nunmehr soll zur weiteren Erläuterung der während jeder der zuvor genannten Zeitintervalle auftretenden Extraktionszyklen erneut auf Fig. 1 Bezug genommen werden. Die Entnahme der Befehlscode-Zeichen beginnt mit der Information, die auf den Ziffernplätzen 1 bis 15 des Folgeregisters des Steuerspeichers 13 anzutreffen ist und über entsprechende Leseverstärker 29 in die zugehörigen Stufen des Hauptspeicher-Adressenregisters 15 überführt wird. Hierauf wird die im Hauptspeicher 11 befindliche Information durch entsprechende weitere Leseverstärker 21 in das dem Hauptspeicher zugeordnete Register 19 übertragen. Nach dieser Informationsübertragung wird die digitale Darstellung im Hauptspeicher-Adressenregister 15 um einen Schritt vergrößert und in das Hilfsregister 17 übertragen. Anschließend gelangt sie in das Folgeregister des Steuerspeichers 13 und identifiziert hierdurch den Speicherplatz im Hauptspeicher, von dem das folgende Zeichen des Programmbefehls abgenommen werden muß.
Dieses folgende Zeichen, welches durch die zuvor um einen Schritt fortgeschaltete Darstellung im Folgeregister des Steuerspeichers 13 gekennzeichnet ist,
ίο erweist sich im allgemeinen als das höherstellige Zeichen des X-Operanden-Adressenfeldes. Nimmt man an, daß die Verarbeitung in dem mit drei Zeichen pro Adresse arbeitenden Adressenmodus erfolgt, so wird die digitale Darstellung von den dem Steuerspeicher
!5 13 zugeordneten Leseverstärkern 29 in das Adressenregister 15 des Hauptspeichers übertragen und löst hierdurch die Entnahme der zum höherstelligen Zeichen des X-Operanden gehörenden Information aus dem Hauptspeicher aus. Die in dem angesteuerten Speicherplatz des Hauptspeichers 11 gespeicherte Information wird über die weiteren Leseverstärkers 21 des Hauptspeichers 11 in das zum Hauptspeicher ge-. hörige Register 19 umgeladen. Diese Information wird dann vorübergehend im Modifizierungsregister 45 gespeichert, wobei die ersten drei Binärziffern anzeigen, ob die nachfolgende Adressierung des laufenden Programmbefehls direkt, indirekt oder indexiert ist.
Normalerweise kennzeichnet der Adressenteil eines Befehls die Adresse eines bestimmten Datenfeldes im Hauptspeicher. Diese Art der Adressierung eines Datenfeldes wird als direkte Adressierung bezeichnet. In manchen Fällen ist es jedoch günstiger, den Speicherplatz einer anderen Adresse anzugeben, die ihrerseits den Speicherplatz eines gewünschten Datenfeldes kennzeichnet. Diese Art der Adressierung wird als indirekte Adressierung bezeichnet. Bei der dritten Art der Adressierung, der sogenannten Index-Adressierung, wird der Inhalt eines Index-Registers automatisch dem Adressenfeld eines Befehls hinzuaddiert. Die auf dem adressierten Speicherplatz des Hauptspeichers 11 gespeicherte Information wird außerdem im jB-Operanden-Register 33 aufbewahrt, um während des nächsten Arbeitszyklus in das dem Steuerspeicher 13 zugeordnete lokale Register 27 übertragen zu werden. Etwa gleichzeitig wird die zuvor im Adressenregister 15 gespeicherte Information um einen Schritt vergrößert und in das Folgeregister des Steuerspeichers 13 zurückgeführt.
Nimmt man erneut das Signalschema gemäß F i g. 2 zur Hand, so erkennt man, daß zu dieser Zeit das Adressenmodus-Register 49 abgetastet und festgestellt wird, ob die Adressierung im 2- oder im 3-Zeichen-Modus erfolgt, d. h. ob die während des Xl-Zyklus aufgenommene Information tatsächlich das höherstellige Zeichen der X-Operanden-Adresse oder dessen mittleres Zeichen ist. In Abhängigkeit vom Ergebnis dieser Überprüfung wird die im Augenblick im lokalen Register 27 des Steuerspeichers befindliche Information so, wie sie ist, in die das mittlere Zeichen aufnehmenden Ziffernplätze des X-Operandenadressenregisters des Steuerspeichers 13 überführt. Die drei niedrigrangigen Binärzeichen der Information, welche das höherrangige Zeichen bilden, werden an die entsprechenden Ziffernplätze des A-Operandenadressenregisters geleitet. Würde die Verarbeitung nach dem 2-Zeichen-Adressenmodus erfolgen, so würde der normalerweise dem Herauszie-
hen des ^42-Zeichens zugeordnete Speicherzyklus statt dessen der Extraktion des ^43-Zeichens zugewiesen, wonach das hierauf folgende, zur Verfügung stehende Speicherzyklus-Intervall zum Herausziehen des Bl-Operanden-Zeichens benutzt wird.
Wenn, wie hier vorausgesetzt wurde, die Operation im 3-Zeichen-Adressenmodus abläuft, so werden die Zeichen A2 und A3 in aufeinanderfolgenden Subintervallen des Speicherzyklus herausgezogen, wonach die während des A1 Zyklus in das Modifizierungsregister 45 übertragende Information abgetastet und dabei festgestellt wird, ob die Verarbeitung direkt, indirekt oder im Indexmodus erfolgt.
Wird direkte Adressierung verwendet, so ist der folgende Arbeitszyklus der Herausziehung des Bl-Zeichens zugeordnet, während bei indirekter Adressierung sich die Extraktion der Zeichen AId, A2d und A3d während der folgenden Speicherzyklus-Subintervalle anschließt. Wird im Indexmodus gearbeitet, so werden während der entsprechenden Zeitintervalle die AIx-, AIx- und ^43x-Zeichen entnommen. Diese Betriebsart kann dadurch ausge- ■) führt werden, daß den modifizierten Adressen ein Code hinzugefügt wird, der angibt, welcher aus einer Vielzahl reservierter Speicherplätze im Hauptspeicher 11 benutzt werden soll. In ähnlicher Weise legt eine indirekte Adresse das erste Zeichen eines eine andere Adresse enthaltenden Feldes fest.
Ferner ist dafür gesorgt, daß entweder die den mittleren Zeichenstellen der A -Operanden-Adresse oder die den unteren drei Binärziffern der höherstelligen A -Operanden-Adresse entsprechende Information auf die entsprechenden Ziffernplätze des A-Operandenadressenregisters des Steuerspeichers 13 überführt werden. Entsprechend einer hier getroffenen Entscheidung sind die darauffolgenden Betriebszyklen der Extraktion der Binärzifferdarstellung entsprechend dem mittleren oder dem unteren ^4-Operandenadressen-Zeichen zugeordnet. In beiden Fällen wird die Adresse des die zugehörige Information aufweisenden Speicherplatzes im Hauptspeicher vom Folgeregister des Steuerspeichers 13 durch die zugeordneten Leseverstärker 29 in das Hauptspeicher-Adressenregister 15 umgeladen, wo nach der Adressierung des Hauptspeichers 11 die im Adressenregister gespeicherte Information um eine Stelle vergrößert und in das Folgeregister des Steuerspeichers 13 zurückgeführt wird.
Bei der Verarbeitung eines Programmbefehls, dessen Aufbau sowohl ein A- als auch ein 5-Operanden-Adressenfeld aufweist, werden die aufeinanderfolgenden Subintervalle des Speicherzyklus zum Herausziehen der ^-Operanden-Adresse in ähnlicher Weise ausgenutzt, wie dies zuvor an Hand von F i g. 2 für die Extraktion der A -Operanden-Adressen erläutert wurde. Im Anschluß an das Herausziehen der Operanden-Adressen werden die Varianten-Zeichen Vl und V2 verarbeitet, womit die Extraktionsphase des Befehls abgeschlossen wird. Für das Herausziehen der Varianten-Zeichen wird der um einen Schritt erweiterte Inhalt der durch das Folgeregister des Steuerspeichers 13 bestimmten Speicherplätze im Hauptspeicher 11 in das Modifizierungsregister 45 umgeladen. Ein wesentliches Merkmal der Erfindung ist die Möglichkeit, einen Befehl zu verarbeiten, der eine unbeschränkte Anzahl von Varianten-Zeichen aufweist. Die Anlage ist so ausgelegt, daß sie das zuletzt verarbeitete Varianten-Zeichen zurückhält. Diese Merkmale sind für die Verarbeitung eines Programmbefehls von besonderer Bedeutung.
Wie bereits erwähnt, wird das Adressenmodusregister 49 für die Adressierart durch einen Programmbefehl eingestellt, dessen Format sich zu FIV ergibt. Unter Bezugnahme auf die Fig. 1 und 2 erkennt man, daß der Befehlscode oder das F3-Zeichen, wenn es aus dem Hauptspeicher herausgezogen wird, im Befehlscode-Register 43 gespeichert wird. Im besonderen wird der Inhalt des Folgeregisters des Steuerspeichers 13 über die zugehörigen Leseverstärker 29 in das Hauptspeicheradressenregister 15 des Hauptspeichers umgeladen. Diese Information definiert einen bestimmten Platz im Hauptspeicher, von dem die
1S darin gespeicherte Information über die zugeordneten weiteren Leseverstärker 21 in das Register 19 des Hauptspeichers umgeladen und anschließend in das Befehlscode-Register 43 überführt wird. Nachdem das Befehlscode-Zeichen aus dem Hauptspeicher herausgezogen ist, wird der Inhalt des Hauptspeicheradressenregisters 15 des Hauptspeichers um eine Stelle weitergeschaltet und über das dem Steuerspeicher zugeordnete lokale Register 27 in das Folgeregister des Steuerspeichers 13 eingespeichert. Entsprechend dem oben erwähnten Aufbau des für die Änderung des Adressierungsmodus verantwortlichen Befehls werden die A- und die Extraktionszyklen umgangen.
Wie man aus Fig. 2 erkennt, ist der nächste auf die Abtrennung des Befehlscodes folgende Zyklus der ./41-Zyklus, der während der Extraktionsphase jedes programmierten Befehls auftritt. Da jedoch bei der Verarbeitung des ^4-Adressenmodus-Befehls die A- und B-Extraktionszyklen umgangen werden, ist das nächste bei der Verarbeitung dieses Befehls herausgezogene Zeichen das Varianten-Zeichen. Dieses wird also aus dem Folgeregister während des normalerweise mit A1 bezeichneten Zyklus herausgenommen. Während dieses Zyklus wird die im Folgeregister des Steuerspeichers 13 enthaltene Information in das Hauptspeicheradressenregister 15 des Hauptspeichers umgeladen und die auf dem derart adressierten Platz des Hauptspeichers 11 gespeicherte Information über die zugehörigen Leseverstärker 21 in das lokale Register 19 des Hauptspeichers überführt, von wo sie in das A -Operanden-Register 31 und schließlich in das Modifizierungsregister 45 gelangt. Nach der Verarbeitung des Varianten-Zeichens wird die Folge der Zyklen, wie F i g. 2 zeigt, durch Wiedereinfügen in den Hauptverkehrsweg fortgesetzt, und zwar auf der Ebene des F2-Zyklus.
Während der Verarbeitung innerhalb des T/2-Zeitzyklus eines die Betriebsart ändernden Befehls wird die Information im Folgeregister des Steuerspeichers 13 vor ihrer Übertragung in das Adressenregister des Hauptspeichers abgetastet, ob sie das charakteristische, dazugehörige Endzeichen aufweist. Diese besondere Interpunktion wird als Wortmarke bezeichnet und kennzeichnet in diesem Falle, daß das gegenwärtig im Folgeregister befindliche Zeichen tatsächlich der Befehlscode des nächsten Befehls ist. Hierdurch wird festgestellt, daß die Extraktionsphase des gegenwärtigen Befehls abgeschlossen ist.
Die Phase, in der ein den Adressiermodus verändernder Befehl ausgeführt wird, schließt praktisch mit der Verarbeitung eines Leerzyklus ab, während dem die im Folgeregister des Steuerspeichers 13 vorhandene Information in das Hauptspeicheradressenregi-
i 499 193
ster IS des Hauptspeichers umgeladen, anschließend um einen Schritt vergrößert und in das- zum Steuerspeicher gehörige lokale Register zurückgeführt wird. Dabei wird jedoch verhindert, daß die um eine Einheit vergrößerte Information wieder im Folgeregister des Steuerspeichers aufgenommen wird. Da das Folgeregister des Steuerspeichers 13 nicht um eine Einheit weitergeschaltet wurde und da es zuvor den Befehlscode des folgenden Befehls enthielt, bleibt die zur Verarbeitung des nachfolgenden Befehls gehörige Information im Folgeregister, bis die Ausführungsphase des gerade in Verarbeitung befindlichen Befehls abgeschlossen ist.
Während des Leerzyklus wird kein Versuch gemacht, Informationen aus dem Hauptspeicher zu entnehmen. Jedoch wird bei einer Anlage, die etweder im 2- oder im 3-Zeichen-Adressenmodus arbeitet, eine bestimmte Binärziffer des im Modifizierungsregister 45 gespeicherten Varianten-Zeichens abgefühlt und das Ergebnis zur Einstellung der Kippschaltung des Adressenmodusregisters 49 verwendet. Während der Verarbeitung eines folgenden Programmbefehls zeigt die zum Adressenmodusregister 49 gehörige Kippschaltung an, ob das Programm im 2- oder im 3-Zeichen-Adressenmodus abgewickelt wird, und hält diese Anzeige nach der Verarbeitung des Extraktionsteils und des Ausführungsteils eines den Adressenmodus ändernden Befehls bei. Obwohl zuvor die praktische Anwendung der Erfindung hinsichtlich der Auswahl zwischen einem 2- oder 3-Zeichen-Adressenmodus geschildert wurde, ist es klar, daß die Ausdehnung dieses Prinzips auf eine 4-, 5- oder η-Zeichen-Adressiertechnik durch Eingeben einer entsprechenden Anzahl von Ziffernstellen in das Varianten-Zeichen und durch. Einstellen bzw. Rückstellen entsprechender Kippschaltungen ermöglicht werden kann.
Es wurde bereits erwähnt, daß im vorliegenden Ausführungsbeispiel Informationen in den Steuerspeicher auf Zeichenbasis eingegeben werden, statt mit einem Adressenfeld vorgegebener konstanter Länge. Diese Eigenschaft ermöglicht die Anwendung der Technik der unterschiedlichen Anzahl von Kennzeichen pro Adresse, wenn die Erfindung bei einem erweiterten Speicher angewandt wird, d. h. bei einem Speicher, bei dem es nicht möglich ist, einen bestimmten Speicherplatz allein durch die verfügbaren Binärziffern der beiden Zeichen der Adresseninformation vollständig zu kennzeichnen. In dieser Beziehung hängt die den Binärzifferdarstellungen der A- und ß-Adressen zukommende Interpretation davon ab, ob die Anlage nach dem 2- oder dem 3-Zeichen-Adressenmodus arbeitet. Bei Anwendung des Adressenmodus stellt die auf die höher- und niederrangigen Zeichen einer Adresse ausgedehnte Interpretation die einer fortlaufend binärcodierten, zwölf Binärziffern enthaltenden Zahl dar. Demgegenüber enthält das Adressenfeld mit drei Zeichen achtzehn Binärziffern, von denen die fünfzehn unteren einen Platz im Hauptspeicher definieren, während die oberen drei die Art der Adressierung kennzeichnen, d. h. ob direkt, indirekt oder indexiert adressiert wird. Die unteren fünfzehn Binärziffern können weiterhin dahingehend ausgewertet werden, daß deren obere drei einen bestimmten Speicherblock kennzeichnen, während die zwölf unteren einen bestimmten Speicherplatz kennzeichnen, der mit dem durch die zwölf Binärziffern des 2-Zeichen-Adressiermodus gekennzeichneten Platz übereinstimmt. Im Rahmen der Erfindung soll ein Speicherblock als ein Sektor des Hauptspeichers 11 mit einer Vielzahl von Speicherplätzen angesehen werden, die durch eine aus zwölf Binärziffern bestehende, binärcodierte Darstellung adressierbar sind.
Betrachtet wird nun die Verarbeitung einer Reihe von Befehlen, wobei alle Zeichen der ^-Operanden in einem ersten Speicherblock und alle Zeichen der
ίο ß-Operanden in einem zweiten Speicherblock gespeichert sind. Durch Zuordnung eines bestimmten Speicherblocks zur Information der A-Operanden-Adresse und eines zweiten Speicherblocks zur Information der .B-Operanden-Adresse ist es möglich, die Speicherplätze der A- und ß-Operanden im Hauptspeicher mit einem 2-Zeichen-Modus anzusteuern, obwohl die Verarbeitung mit einem erweiterten Speicher durchgeführt wird. Zur Durchführung dieser Operation wird die Verarbeitung mit einem 3-Zeichen-Adressenmodus begonnen, und die Ziffernstellen in den A- und ß-Operandenadressenregistern des Steuerspeichers 13, die den höherrangigen Zeichen der A- und ß-Operanden zugeordnet sind, werden mit Informationen aufgeladen, die den entsprechen-
»5 den, dem A- und ß-Operanden zugeordneten Speicherblock kennzeichnen. Hiernach wird die den Adressenmodus umschaltende Kippschaltung derart umgesteuert, daß die Anlage im 2-Zeichen-Adressenmodus weiterarbeitet. Bei der Durchführung eines binären Additionsbefehls bestimmt die zuerst aus dem Folgeregister des Steuerspeichers 13 herausgezogene Information den Platz des mittleren Zeichens der .<4-Operanden-Adresse im Hauptspeicher. Diese Information gelangt zusammen mit der y4-Operanden-Adresse niedriger Ordnung in das Operandenadressenregister des Steuerspeichers 13. Da die drei oberen Binärziffern des ^4-Operandenadressenregisters, welche einen bestimmten Speicherblock kennzeichnen, bereits eingespeichert sind, genügt die jetzt im ./4-Operandenadressenregister befindliche Information zur vollständigen Definition des Speicherplatzes im Hauptspeicher der den A -Operanden enthält.
In ähnlicher Weise wird die die Adresse des ß-Operanden kennzeichnende Information aus dem Hauptspeicher entnommen und in das ß-Operandenadressenregister des Steuerspeichers 13 überführt. Dieses hat bereits in den oberen drei Binärzifferstellen den zum ß-Operanden zugehörigen, bestimmten Speicherblock registriert. Die Durchführung des binären Additionsbefehls schreitet in Übereinstimmung mit der zuvor erörterten Betriebsart voran, wobei die im A- und ß-Operandenadressenregister des Steuerspeichers 13 gespeicherte Information zur Aufladung der zugehörigen A- und ß-Operanden-Register 31 und 33 dient. Anschließend wird in der Addiervorrichtung 25 das Ergebnis der binären Addition erzeugt und an denjenigen Platz des Hauptspeichers zurückgeführt, der zuvor vom Operanden eingenommen wurde. Auf diese Weise können die aufeinanderfolgenden Befehle der gerade zu verarbeitenden Reihe unter Benutzung des 2-Zeichen-Adressiermodus verarbeitet werden, wodurch eine beträchtliche Ersparnis an Arbeitszeit erzielt wird, die pro Operation der für zwei Speicherzyklen benötigten Zeit entspricht.
Das Ausführungsbeispiel besitzt die Fähigkeit, Befehle mit einer unbeschränkten Anzahl von Varianten-Zeichen zu verarbeiten und das zuletzt verarbeitete Varianten-Zeichen zurückzuhalten. Diese
Fähigkeit gestattet es dem Programmierer, zwei Befehle Rücken an Rücken derart anzuordnen, daß die Information des einen zur Verarbeitung des anderen benutzt werden kann. Insbesondere kann eine binäre Addition, an die sich ein logischer Austauschbefehl anschließt, das folgende Befehlsformat haben: FIA/ BZV1ZV2/... Vn FIV.
Da das letzte Varianten-Zeichen Vn im Modifizierungsregister 45 verbleibt, kann dieses Zeichen als Variante für den nachfolgenden Austauschbefehl verwendet werden. Nachdem die Varianten-Zeichen des binären Additionsbefehles herausgezogen wurden,
werden sie im Modifizierungsregister gespeichert, sobald der Befehlscode des logischen Austauschbefehles entnommen ist. Vorausgesetzt, daß ein spezielles Interpunktionszeichen, nämlich eine Wortmarke, mit dem auf den Operationscode des logischen Austauschbefehls folgenden Zeichen erscheint, wird das zuvor gespeicherte Varianten-Zeichen als zu diesem Befehl gehörig interpretiert. Es ergibt sich also eine Einsparung von fünf Speicherzyklus-Subintervallen beim Arbeiten im 2-Zeichen-Modus und eine Ersparnis von sieben Speicherzyklus-Subintervallen bei Betrieb im 3-Zeichen-Modus.
Hierzu 1 Blatt Zeichnungen

Claims (11)

Patentansprüche:
1. Speicher-Adressierschaltung für mit einem gespeicherten Programm versehene Datenverarbeitungsgeräte, die ein Hauptspeicheradressenregister zum Adressieren eines Hauptspeichers und einen an das Hauptspeicheradressenregister angeschlossenen und dieses steuernden Steuerspeicher aufweist, wobei beim Verarbeiten von mit einem Operationscode und einer Adresse veränderlicher Länge versehenen Programmbefehlen eine Reihe von Speicheradressieroperationen durchgeführt werden, dadurchgekennzeichnet, daß ein mit seinem einen Eingang an den Hauptspeicher (11) zur Übernahme eines die Länge der Adressen des nachfolgenden Programmbefehls kennzeichnenden Führungssignals angeschlossenes Adressenmodusregister (49) vorgesehen ist, wobei das Führungssignal des Adressenmodusregisters einstellt, dessen Ausgang zur Übergabe eines die Länge der Adresse des folgenden Programmbefehles bestimmenden Stellsignals mit einem ersten Eingang des Steuerspeichers (13) verbunden ist,
daß das Adressenmodusregister (49) durch ein von dem Hauptspeicher (11) abgegebenes Folgesignal zurückgestellt wird, sobald die Länge des Adressenteiles des folgenden Programmbefehls geändert werden soll, andernfalls aber im alten Zustand verbleibt,
daß die Adresse des nächsten anzuwählenden Speicherplatzes des Hauptspeichers (11) in vorgegebenen Speicherorten in dem Steuerspeicher (13) zusammengestellt und danach zu dem Hauptspeicheradressenregister (15) geleitet wird und daß zumindest ein Teil der zu erzeugenden Adresse aus in dem Hauptspeicher (11) gespeicherten Informationen in Übereinstimmung mit dem Zustand des Adressenmodusregisters (49) abgeleitet wird, wobei dieser Teil der Adresse zu einem zweiten Eingang des Steuerspeichers (13) über ein lokales Register (27) gelangt, welches die Informationen in der entsprechenden Reihenfolge in die vorgesehenen Speicherorte des Steuerspeichers (13) eingibt und
daß ein gegebenenfalls vorhandener weiterer Teil der Adresse in den genannten Speicherorten zurückgehalten wird, wenn zuvor der Zustand des Adressenmodusregisters entsprechend geändert wurde.
2. Schaltung nach Anspruch 1, dadurch gekennzeichnet, daß die von dem Hauptspeicher (11) über den zweiten Eingang (über 25, 27) zum Steuerspeicher (13) kommende Information zeichenorganisiert ist,
daß die die gesuchte Adresse für den Speicherplatz im Hauptspeicher (11) bildenden Zeichen in Operandenadressenregistern des Steuerspeichers (13) mit η Speicherplätzen für die Adresse gespeichert werden,
daß bei zwei-Zeichen-Adressenmodus das erste Zeichen der Adresse in den (n-l)-ten Speicherplatz gespeichert wird, während im Dreizeichen-Adressenmodus das erste Zeichen in dem (n—2)-ten Speicherplatz gespeichert wird und bei einem n-Zeichen-Adressenmodus das erste Zeichen in dem ersten Speicherplatz gespeichert wird.
3. Schaltung nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die in ihrer Länge veränderliche Adresse zwei Zeichen und das Adressenmodusregister (49) n — l Zustände aufweist.
4. Schaltung nach einem der Ansprüche 1 bis
3, dadurch gekennzeichnet, daß das erste Zeichen der Adresse eine kodierte Darstellung aufweist und die Schaltung derart beeinflußt, daß sie den gewählten Teil des Hauptspeichers (11) über einen von drei Wegen anwählt, von denen der erste direkt, der zweite indirekt über einen weiteren Satz von π durch den ersten Satz Zeichen adressierten Speicherplätzen und der dritte über ein Indexverfahren führt, indem vorbestimmte Bits mit jedem der ersten η Zeichen verbunden werden, wodurch ein neuer Satz von η Zeichen entsteht.
5. Schaltung nach einem der Ansprüche 1 bis
4, bei der ein erstes Zeichen des Programmbefehls des gewünschten Datenverarbeitungsvorgangs in Form eines Operationscodes die grundsätzliche von der Schaltung durchzuführende Arbeitsweise bestimmt und bei der am Ende des Befehls ein Variantenzeichen (Vl, V2) zur Änderung des Operationscodes der nachfolgenden Befehle steht, dadurch gekennzeichnet, daß die Schaltung mit einem Modifizierungsregister (45) versehen ist, in welches die Darstellung eines oder mehrerer, einen Befehl ausmachender Zeichen gespeichert wird, wobei der Inhalt des Modifizierungsregisters (45) den Zustand des Adressenmodusregisters (49) bestimmt,
daß der Programmbefehl mit einer Anzahl zur Änderung der augenblicklichen Betriebsart dienender abweichender Zeichen ( Vl, V2, V3) versehen sein kann, die in dem Modifizierungsregister (45) gespeichert sind und
daß das letzte während der Bildung des Befehls gewonnene Zeichen ( VI bzw. V3) während der nachfolgenden Betriebsvorgänge wahlweise in dem Modifizierungsregister (45) zurückbehalten wird.
6. Schaltung nach einem der Ansprüche 1 bis
5, dadurch gekennzeichnet, daß zur Zustandsänderung des Adressenmodusregisters (49) für die Vorbereitung der nachfolgenden Adressierart ein besonderer Betriebsablauf vorgesehen ist, durch den ein besonderer Befehl erzeugt wird, der in Form eines Operationscodes ein erstes Zeichen ( V3) zur Bestimmung der auszuführenden Operation und in Form eines Varianten-Zeichens ( Vl) ein zweites Zeichen aufweist, welches während eines gewöhnlich für das erste Zeichen der Speicheradresse (Al) reservierten Zeitraumes ausgewählt und nachfolgend in dem Modifizierungsregister (45) abgelegt wird, daß hierauf die normalerweise zum Zusammensetzen einer Adresse dienenden Schritte ausgelassen und eine weitere Operationsfolge vorgesehen ist, in der ein weiteres Varianten-Zeichen ( Vl) herausgezogen und als sich auf die nachfolgenden Operationen beziehender Code erkannt wird und
daß der Inhalt des Modifizierungsregisters (45) zum Rückstellen des Adressenmodusregisters (49) dient.
7. Schaltung nach einem der Ansprüche 4 bis
6, gekennzeichnet durch ein Interpunktionsbit, welches bei Zuordnung zu einem besonderen Zeichen (V2) während eines den Befehl ausführenden Schrittes der Schaltung anzeigt, daß das be-
sondere Zeichen (V2) den die Betriebsweise während der nachfolgenden Operation bestimmenden Code aufweist.
8. Schaltung nach einem der Ansprüche 1 bis
7, dadurch gekennzeichnet, daß durch das Zurückhalten des letzten abgeänderten Zeichens im Modifizierungsregister (45) die durch den Operationscode während des nachfolgenden Betriebes bestimmte grundsätzliche Betriebsart geändert wird.
9. Schaltung nach einem der Ansprüche 1 bis
8, dadurch gekennzeichnet, daß das Adressenmodusregister (49) mit mindestens einer bistabilen Kippstufe versehen ist.
10. Schaltung nach einem der Ansprüche 1 bis
9, dadurch gekennzeichnet, daß der Steuerspeicher (13) Folgeregister aufweist, die die Adressen der demnächst auszuführenden zur Bildung der Operandenadressen dienenden Befehle enthalten,
daß, um innerhalb des Hauptspeichers (11) jedes zum Befehl gehörende Zeichen zu finden, ein Hilfsregister (17) vorgesehen ist, in dem die ziffernmäßige Darstellung der Adresse des letzten Zeichens des vom Hauptspeicher (11) entnommenen Befehls vergrößert oder verkleinert wird, um hierdurch die Adresse des nächsten zu entnehmenden Zeichens zu bilden.
11. Schaltung nach einem der Ansprüche 1 bis
10, bei der A- und B-Operandenregister zum Speichern der zu verarbeitenden Operanden vor der Verarbeitung sowie A- und .B-Operandenadressenregister zum Zusammenstellen der die Adressen der Speicherplätze im Hauptspeicher (11) bildenden Zeichen vorgesehen sind, in denen die A- und B-Operanden gespeichert werden, dadurch gekennzeichnet, daß die yl-Operanden eines Datenverarbeitungsvorganges in dem einen Teil und die entsprechenden B-Operanden in dem anderen Teil des Hauptspeichers (11) gespeichert sind,
daß die Adressierung der gewünschten ersten A- und ß-Operanden mit η Zeichen geschieht, daß die η — 2 oberen Zeichen der Adresse in den Operandenadressenregistern während der folgenden Operanden-Adressiervorgänge zurückgehalten werden,
daß das Adressenmodusregister (49) nach dem ersten Vorgang zurückgestellt wird, so daß die Schaltung mit einer 2-Zeichen-Adressierung weiterarbeitet und
daß während dieser Arbeitsweise die entsprechenden 2-Zeichen-Adressen jedes Operanden in den zwei unteren Speicherplätzen des betreffenden Operandenadressenregisters an Stelle der dort während der vorangegangenen Adressierung gespeicherten Zeichen gespeichert sind.
DE1499193A 1964-07-15 1965-07-10 Speicher-Adressierschaltung Expired DE1499193C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US382891A US3331056A (en) 1964-07-15 1964-07-15 Variable width addressing arrangement

Publications (3)

Publication Number Publication Date
DE1499193A1 DE1499193A1 (de) 1970-03-12
DE1499193B2 DE1499193B2 (de) 1973-08-16
DE1499193C3 true DE1499193C3 (de) 1974-03-14

Family

ID=23510845

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1499193A Expired DE1499193C3 (de) 1964-07-15 1965-07-10 Speicher-Adressierschaltung

Country Status (11)

Country Link
US (1) US3331056A (de)
AT (1) AT261940B (de)
BE (1) BE666942A (de)
CH (1) CH448574A (de)
DE (1) DE1499193C3 (de)
DK (1) DK129814B (de)
FI (1) FI46100C (de)
GB (1) GB1115765A (de)
NL (1) NL156840B (de)
NO (1) NO119855B (de)
SE (1) SE341282B (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3422405A (en) * 1966-03-25 1969-01-14 Burroughs Corp Digital computer having an indirect field length operation
US3425036A (en) * 1966-03-25 1969-01-28 Burroughs Corp Digital computer having a generalized literal operation
US3462744A (en) * 1966-09-28 1969-08-19 Ibm Execution unit with a common operand and resulting bussing system
US3448436A (en) * 1966-11-25 1969-06-03 Bell Telephone Labor Inc Associative match circuit for retrieving variable-length information listings
US3521237A (en) * 1967-05-11 1970-07-21 Bell Telephone Labor Inc High-speed data-directed information processing system
US3530439A (en) * 1968-07-22 1970-09-22 Rca Corp Computer memory address generator
NL6815506A (de) * 1968-10-31 1970-05-04
US3581287A (en) * 1969-02-10 1971-05-25 Sanders Associates Inc Apparatus for altering computer memory by bit, byte or word
US3593312A (en) * 1969-11-14 1971-07-13 Burroughs Corp Data processor having operand tags to identify as single or double precision
BE758811A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites
BE758815A (fr) * 1969-11-28 1971-04-16 Burroughs Corp Systeme de traitement d'information presentant des moyens pour la preparation dynamique d'adresses de memoire
FR10582E (fr) * 1970-06-29 1909-07-30 Paul Alexis Victor Lerolle Jeu de serrures avec passe-partout
US3701108A (en) * 1970-10-30 1972-10-24 Ibm Code processor for variable-length dependent codes
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US3735355A (en) * 1971-05-12 1973-05-22 Burroughs Corp Digital processor having variable length addressing
US3739352A (en) * 1971-06-28 1973-06-12 Burroughs Corp Variable word width processor control
US3806877A (en) * 1971-07-28 1974-04-23 Allen Bradley Co Programmable controller expansion circuit
US3827027A (en) * 1971-09-22 1974-07-30 Texas Instruments Inc Method and apparatus for producing variable formats from a digital memory
US3828316A (en) * 1973-05-30 1974-08-06 Sperry Rand Corp Character addressing in a word oriented computer system
US4109310A (en) * 1973-08-06 1978-08-22 Xerox Corporation Variable field length addressing system having data byte interchange
US3883847A (en) * 1974-03-28 1975-05-13 Bell Telephone Labor Inc Uniform decoding of minimum-redundancy codes
US4037213A (en) * 1976-04-23 1977-07-19 International Business Machines Corporation Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPS5931734B2 (ja) * 1977-10-25 1984-08-03 デイジタル イクイプメント コ−ポレ−シヨン 特別のオペランド指定子を持つた命令を実行する中央処理装置
US4206503A (en) * 1978-01-10 1980-06-03 Honeywell Information Systems Inc. Multiple length address formation in a microprogrammed data processing system
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
US4293907A (en) * 1978-12-29 1981-10-06 Bell Telephone Laboratories, Incorporated Data processing apparatus having op-code extension register
US4240142A (en) * 1978-12-29 1980-12-16 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoincrementing of memory pointer registers
US4250545A (en) * 1978-12-29 1981-02-10 Bell Telephone Laboratories, Incorporated Data processing apparatus providing autoloading of memory pointer registers
USRE32493E (en) * 1980-05-19 1987-09-01 Hitachi, Ltd. Data processing unit with pipelined operands
CA1174370A (en) * 1980-05-19 1984-09-11 Hidekazu Matsumoto Data processing unit with pipelined operands
US4403284A (en) * 1980-11-24 1983-09-06 Texas Instruments Incorporated Microprocessor which detects leading 1 bit of instruction to obtain microcode entry point address
US4814978A (en) * 1986-07-15 1989-03-21 Dataflow Computer Corporation Dataflow processing element, multiprocessor, and processes
US5127104A (en) * 1986-12-29 1992-06-30 Dataflow Computer Corporation Method and product involving translation and execution of programs by automatic partitioning and data structure allocation
US5072372A (en) * 1989-03-03 1991-12-10 Sanders Associates Indirect literal expansion for computer instruction sets
US5168571A (en) * 1990-01-24 1992-12-01 International Business Machines Corporation System for aligning bytes of variable multi-bytes length operand based on alu byte length and a number of unprocessed byte data
JP3428741B2 (ja) * 1994-02-14 2003-07-22 松下電器産業株式会社 演算装置とアドレス発生装置及びプログラム制御装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1163267A (fr) * 1956-12-12 1958-09-24 Electronique & Automatisme Sa Perfectionnements apportés aux calculatrices numériques
US3200380A (en) * 1961-02-16 1965-08-10 Burroughs Corp Data processing system
US3275989A (en) * 1961-10-02 1966-09-27 Burroughs Corp Control for digital computers
US3223982A (en) * 1962-04-06 1965-12-14 Olivetti & Co Spa Electronic computer with abbreviated addressing of data

Also Published As

Publication number Publication date
AT261940B (de) 1968-05-27
NL156840B (nl) 1978-05-16
NO119855B (de) 1970-07-13
FI46100B (de) 1972-08-31
NL6509102A (de) 1966-01-17
BE666942A (de) 1965-11-03
US3331056A (en) 1967-07-11
DE1499193B2 (de) 1973-08-16
CH448574A (fr) 1967-12-15
FI46100C (fi) 1972-12-11
SE341282B (de) 1971-12-20
DK129814C (de) 1975-05-12
GB1115765A (en) 1968-05-29
DE1499193A1 (de) 1970-03-12
DK129814B (da) 1974-11-18

Similar Documents

Publication Publication Date Title
DE1499193C3 (de) Speicher-Adressierschaltung
DE2230102A1 (de) Rechenwerk fuer variable wortlaengen
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE1901343B2 (de) Datenverarbeitungsanlage zur Ausführung von Mateirenrechnungen
DE2339636A1 (de) Programmsteuereinrichtung
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE2420057A1 (de) Elektronischer computer fuer gespeicherte programme
DE1449544A1 (de) Datenverarbeitende Maschine mit ueberlappend abrufbarem Speicherwerk
DE1115488B (de) Datenverarbeitungssystem
DE2433436A1 (de) Verfahren und anordnung zum mehrfachverzweigen des programms in einem digitalen computer
DE1171650B (de) Maschine zur serienmaessigen Verarbeitung von Daten in binaerer Zeichenverschluesselung
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE1549434A1 (de) Datenverarbeitungsanlage
DE3101270C2 (de) Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung
DE2000608C3 (de) Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage
DE3341339C2 (de) Befehlsfolgegenerator
DE10107102B4 (de) Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor
DE2735874C2 (de)
DE1474090B2 (de) Datenverarbeitungsanlage
DE2204680B2 (de) Mikroprogramm-steuereinrichtung
DE2419836A1 (de) Verfahren zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen
DE2451984C2 (de) Datenverarbeitungsanlage
DE1774917A1 (de) Elektronische Rechenanlage
DE1170004B (de) Freistellen-Sucher
DE2327950C3 (de) Vorrichtung zur Steuerung industrieller Einrichtungen

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee