DE1499193C3 - Speicher-Adressierschaltung - Google Patents
Speicher-AdressierschaltungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30185—Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30145—Instruction analysis, e.g. decoding, instruction word fields
- G06F9/3016—Decoding the operand specifier, e.g. specifier format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/34—Addressing 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)
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.
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)
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)
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 |
-
1964
- 1964-07-15 US US382891A patent/US3331056A/en not_active Expired - Lifetime
-
1965
- 1965-07-01 GB GB28010/65A patent/GB1115765A/en not_active Expired
- 1965-07-06 NO NO158829A patent/NO119855B/no unknown
- 1965-07-10 DE DE1499193A patent/DE1499193C3/de not_active Expired
- 1965-07-14 FI FI651682A patent/FI46100C/fi active
- 1965-07-14 NL NL6509102.A patent/NL156840B/xx unknown
- 1965-07-14 SE SE09313/65A patent/SE341282B/xx unknown
- 1965-07-15 BE BE666942D patent/BE666942A/xx unknown
- 1965-07-15 DK DK362665AA patent/DK129814B/da unknown
- 1965-07-15 AT AT649765A patent/AT261940B/de active
- 1965-07-15 CH CH993765A patent/CH448574A/fr unknown
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 |