DE1499193B2 - Speicher-adressierschaltung - Google Patents
Speicher-adressierschaltungInfo
- Publication number
- DE1499193B2 DE1499193B2 DE19651499193 DE1499193A DE1499193B2 DE 1499193 B2 DE1499193 B2 DE 1499193B2 DE 19651499193 DE19651499193 DE 19651499193 DE 1499193 A DE1499193 A DE 1499193A DE 1499193 B2 DE1499193 B2 DE 1499193B2
- Authority
- DE
- Germany
- Prior art keywords
- address
- character
- memory
- register
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims description 189
- 238000012545 processing Methods 0.000 claims description 54
- 238000012986 modification Methods 0.000 claims description 18
- 230000004048 modification Effects 0.000 claims description 18
- 238000000034 method Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 7
- 230000015572 biosynthetic process Effects 0.000 claims description 2
- 230000000717 retained effect Effects 0.000 claims 3
- 238000000605 extraction Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
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
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
I 499 193
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ührungsbeispiel 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.
Fig. 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 Ubertragvorrichtung 35, die die wahlweise Kombination der
aus entsprechenden Stufen des A- und des B-Operanden-Registers
31 bzw. 33 stammenden Signale mit
«ο in den vier Stufen der Übertragungsvorrichtung 35
erzeugten Ubertragsignalen 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 A2 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, A2d und A3d aufeinander folgen.
In ähnlicher Weise werden die Zeichen Bl, B 2 und B 3 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 ^4-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 13 zugeordneten Leseverstärkern 29 in das Adressenregister
15 des Hauptspeichers übertragen und löst hierdurch die Entnahme der zum höherstelligen Zeichen
des A -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 gehö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 B -Operanden-Register 33 aufbewahrt, um während des nächsten Arbeitszyklus in das dem Steuer- C
Speicher 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 ^iI-Zyklus
aufgenommene Information tatsächlich das höherstellige Zeichen der A -Operanden-Adresse '■
oder dessen mittleres Zeichen ist. In Abhängigkeit vom Ergebnis dieser Überprüfung wird die im Augen- ;
blick im lokalen Register 27 des Steuerspeichers be- \ findliche Information so, wie sie ist, in die das mittlere |
Zeichen aufnehmenden Ziffernplätze des A-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 ^4 2-Zeichens zugeordnete Speicherzyklus
statt dessen der Extraktion des ^43-Zeichens zugewiesen, wonach das hierauf folgende, zur Verfügung
stehende Speicherzyklus-Intervall zum Herausziehen des .B 1-Operanden-Zeichens benutzt wird.
Wenn, wie hier vorausgesetzt wurde, die Operation im 3-Zeichen-Adressenmodus abläuft, so werden die
Zeichen Al und /13 in aufeinanderfolgenden Subintervallen
des Speicherzyklus herausgezogen, wonach die während des Al 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 Ald, 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 /13x-Zeichen
entnommen. Diese Betriebsart kann dadurch ausgefü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 /!-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 /1-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 ß-Operanden-Adressenfeld
aufweist, werden die aufeinanderfolgenden Subintervalle des Speicherzyklus zum Herausziehen der B-Operanden-Adresse in ähnlicher
Weise ausgenützt, 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 Fl V 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
/11-Zyklus, der während der Extraktionsphase jedes
programmierten Befehls auftritt. Da jedoch bei der Verarbeitung des /I-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-
13 14
ster 15 des Hauptspeichers umgeladen, anschließend ten Platz übereinstimmt. Im Rahmen der Erfindung
um einen Schritt vergrößert und in das zum Steuer- soll ein Speicherblock als ein Sektor des Hauptspeispeicher
gehörige lokale Register zurückgeführt wird. chers 11 mit einer Vielzahl von Speicherplätzen ange-Dabei
wird jedoch verhindert, daß die um eine Einheit sehen werden, die durch eine aus zwölf Binärziffern
vergrößerte Information wieder im Folgeregister des 5 bestehende, binärcodierte Darstellung adressierbar
Steuerspeichers aufgenommen wird. Da das Folgere- sind.
gister des Steuerspeichers 13 nicht um eine Einheit Betrachtet wird nun die Verarbeitung einer Reihe
weitergeschaltet wurde und da es zuvor den Befehls- von Befehlen, wobei alle Zeichen der /!-Operanden
code des folgenden Befehls enthielt, bleibt die zur in einem ersten Speicherblock und alle Zeichen der
Verarbeitung des nachfolgenden Befehls gehörige In- io B-Operanden in einem zweiten Speicherblock geformation
im Folgeregister, bis die Ausführungsphase speichert sind. Durch Zuordnung eines bestimmten
des gerade in Verarbeitung befindlichen Befehls ab- Speicherblocks zur Information der A -Operandengeschlossen ist. Adresse und eines zweiten Speicherblocks zur Infor-
Während des Leerzyklus wird kein Versuch ge- mation der B-Operanden-Adresse ist es möglich, die
macht, Informationen aus dem Hauptspeicher zu ent- 15 Speicherplätze der A- und B-Operanden im Hauptnehmen.
Jedoch wird bei einer Anlage, die etweder speicher mit einem 2-Zeichen-Modus anzusteuern,
im 2- oder im 3-Zeichen-Adressenmodus arbeitet, obwohl die Verarbeitung mit einem erweiterten Speieine
bestimmte Binärziffer des im Modifizierungsre- eher durchgeführt wird. Zur Durchführung dieser
gister 45 gespeicherten Varianten-Zeichens abgefühlt Operation wird die Verarbeitung mit einem 3-Zei-
und das Ergebnis zur Einstellung der Kippschaltung *o chen-Adressenmodus begonnen, und die Ziffernsteldes
Adressenmodusregisters 49 verwendet. Während len in den A- und B-Operandenadressenregistern des
der Verarbeitung eines folgenden Programmbefehls Steuerspeichers 13, die den höherrangigen Zeichen
zeigt die zum Adressenmodusregister 49 gehörige der A- und B-Operanden zugeordnet sind, werden ff"
Kippschaltung an, ob das Programm im 2- oder im mit Informationen aufgeladen, die den entsprechen- y
3-Zeichen-Adressenmodus abgewickelt wird, und 25 den, dem A- und fl-Operanden zugeordneten Speihält
diese Anzeige nach der Verarbeitung des Extrak- cherblock kennzeichnen. Hiernach wird die den
tionsteils und des Ausführungsteils eines den Adres- Adressenmodus umschaltende Kippschaltung derart
senmodus ändernden Befehls bei. Obwohl zuvor die umgesteuert, daß die Anlage im 2-Zeichen-Adrespraktische
Anwendung der Erfindung hinsichtlich der senmodus weiterarbeitet. Bei der Durchführung eines
Auswahl zwischen einem 2- oder 3-Zeichen-Adres- 30 binären Additionsbefehls bestimmt die zuerst aus dem
senmodus geschildert wurde, ist es klar, daß die Aus- Folgeregister des Steuerspeichers 13 herausgezogene
dehnung dieses Prinzips auf eine 4-, 5- oder n-Zei- Information den Platz des mittleren Zeichens der
chen-Adressiertechnik durch Eingeben einer entspre- ^.-Operanden-Adresse im Hauptspeicher. Diese Inchenden
Anzahl von Ziffernstellen in das Varianten- formation gelangt zusammen mit der A -Operanden-Zeichen
und durch. Einstellen bzw. Rückstellen 35 Adresse niedriger Ordnung in das Operandenadresentsprechender
Kippschaltungen ermöglicht werden senregister des Steuerspeichers 13. Da die drei oberen ;
kann. Binärziffern des /4-Operandenadressenregisters, wel- j
Es wurde bereits erwähnt, daß im vorliegenden ehe einen bestimmten Speicherblock kennzeichnen, !
Ausführungsbeispiel Informationen in den Steuer- bereits eingespeichert sind, genügt die jetzt im i
Speicher auf Zeichenbasis eingegeben werden, statt 4° A -Operandenadressenregister befindliche Informamit
einem Adressenfeld vorgegebener konstanter tion zur vollständigen Definition des Speicherplatzes j
Länge. Diese Eigenschaft ermöglicht die Anwendung im Hauptspeicher der den yl-Operanden enthält. j
der Technik der unterschiedlichen Anzahl von Kenn- In ähnlicher Weise wird die die Adresse des I
zeichen pro Adresse, wenn die Erfindung bei einem B-Operanden kennzeichnende Information aus dem ,v
erweiterten Speicher angewandt wird, d. h. bei einem 45 Hauptspeicher entnommen und in das B-Operanden- ψ
Speicher, bei dem es nicht möglich ist, einen bestimm- adressenregister des Steuerspeichers 13 überführt. !
ten Speicherplatz allein durch die verfügbaren Binär- Dieses hat bereits in den oberen drei Binärzifferstellen j
ziffern der beiden Zeichen der Adresseninformation den zum B-Operanden zugehörigen, bestimmten I
vollständig zu kennzeichnen. In dieser Beziehung Speicherblock registriert. Die Durchführung des bi- j
hängt die den Binärzifferdarstellungen der A- und 50 nären Additionsbefehls schreitet in Übereinstimmung |
B-Adressen zukommende Interpretation davon ab, mit der zuvor erörterten Betriebsart voran, wobei die j
ob die Anlage nach dem 2- oder dem 3-Zeichen- im A- und B-Operandenadressenregister des Steuer- I
Adressenmodus arbeitet. Bei Anwendung des Adres- Speichers 13 gespeicherte Information zur Aufladung
senmodus stellt die auf die höher-und niederrangigen der zugehörigen A- und B-Operanden-Register 31
Zeichen einer Adresse ausgedehnte Interpretation die 55 und 33 dient. Anschließend wird in der Addiervoreiner
fortlaufend binärcodierten, zwölf Binärziffern richtung 25 das Ergebnis der binären Addition erzeugt
enthaltenden Zahl dar. Demgegenüber enthält das und an denjenigen Platz des Hauptspeichers zurück-Adressenfeld
mit drei Zeichen achtzehn Binärziffern, geführt, der zuvor vom Operanden eingenommen
von denen die fünfzehn unteren einen Platz im Haupt- wurde. Auf diese Weise können die aufeinanderfolspeicher
definieren, während die oberen drei die Art 60 genden Befehle der gerade zu verarbeitenden Reihe
der Adressierung kennzeichnen, d. h. ob direkt, indi- unter Benutzung des 2-Zeichen-Adressiermodus verrekt
oder indexiert adressiert wird. Die unteren fünf- arbeitet werden, wodurch eine beträchtliche Ersparnis
zehn Binärziffern können weiterhin dahingehend aus- an Arbeitszeit erzielt wird, die pro Operation der für
gewertet werden, daß deren obere drei einen zwei Speicherzyklen benötigten Zeit entspricht,
bestimmten Speicherblock kennzeichnen, während 65 Das Ausführungsbeispiel besitzt die Fähigkeit, Bedie zwölf unteren einen bestimmten Speicherplatz fehle mit einer unbeschränkten Anzahl von Varikennzeichnen, der mit dem durch die zwölf Binärzif- anten-Zeichen zu verarbeiten und das zuletzt verarfern des 2-Zeichen-Adressiermodus gekennzeichne- beitete Varianten-Zeichen zurückzuhalten. Diese
bestimmten Speicherblock kennzeichnen, während 65 Das Ausführungsbeispiel besitzt die Fähigkeit, Bedie zwölf unteren einen bestimmten Speicherplatz fehle mit einer unbeschränkten Anzahl von Varikennzeichnen, der mit dem durch die zwölf Binärzif- anten-Zeichen zu verarbeiten und das zuletzt verarfern des 2-Zeichen-Adressiermodus gekennzeichne- beitete 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/ ...VnFIV.
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, dadurch gekennzeichnet, 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 (Fl, Vl) 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, Vl, V3) versehen sein kann, die in dem Modifizierungsregister
(45) gespeichert sind und
daß das letzte während der Bildung des Befehls gewonnene Zeichen ( Vl bzw. F3) 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
( VV) ein zweites Zeichen aufweist, welches während eines gewöhnlich für das erste Zeichen der
Speicheradresse {A\) 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
( Vl) 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 ß-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 B-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 true DE1499193B2 (de) | 1973-08-16 |
DE1499193C3 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 |
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 |
BE758811A (fr) * | 1969-11-28 | 1971-04-16 | Burroughs Corp | Systeme de traitement d'information ayant un emmagasinage sans structure pour traitements emboites |
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 |
DE2846495C2 (de) * | 1977-10-25 | 1993-10-21 | Digital Equipment Corp | Zentraleinheit |
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 |
US4240142A (en) * | 1978-12-29 | 1980-12-16 | Bell Telephone Laboratories, Incorporated | Data processing apparatus providing autoincrementing of memory pointer registers |
US4293907A (en) * | 1978-12-29 | 1981-10-06 | Bell Telephone Laboratories, Incorporated | Data processing apparatus having op-code extension register |
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 AT AT649765A patent/AT261940B/de active
- 1965-07-15 DK DK362665AA patent/DK129814B/da unknown
- 1965-07-15 BE BE666942D patent/BE666942A/xx unknown
- 1965-07-15 CH CH993765A patent/CH448574A/fr unknown
Also Published As
Publication number | Publication date |
---|---|
NL6509102A (de) | 1966-01-17 |
FI46100B (de) | 1972-08-31 |
NL156840B (nl) | 1978-05-16 |
SE341282B (de) | 1971-12-20 |
NO119855B (de) | 1970-07-13 |
DK129814B (da) | 1974-11-18 |
DE1499193A1 (de) | 1970-03-12 |
AT261940B (de) | 1968-05-27 |
GB1115765A (en) | 1968-05-29 |
CH448574A (fr) | 1967-12-15 |
BE666942A (de) | 1965-11-03 |
DK129814C (de) | 1975-05-12 |
DE1499193C3 (de) | 1974-03-14 |
US3331056A (en) | 1967-07-11 |
FI46100C (fi) | 1972-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1499193C3 (de) | Speicher-Adressierschaltung | |
DE2716369C2 (de) | ||
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2055784A1 (de) | Datenverarbeitungssystem | |
DE2318069A1 (de) | Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
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 | |
DE2725614C2 (de) | ||
DE2403039C2 (de) | Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE1499224B2 (de) | Datenverarbeitungsanlage mit kellerspeichereinrichtungen | |
DE1549434A1 (de) | Datenverarbeitungsanlage | |
DE2000608C3 (de) | Schaltungsanordnung fuer eine Nachrichtenverarbeitungs-,insbesondere fuer eine Nachrichtenvermittlungsanlage | |
DE1069910B (de) | Kommandowerk mit Indexregister | |
DE3341339C2 (de) | Befehlsfolgegenerator | |
DE10107102B4 (de) | Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor | |
DE1549446A1 (de) | Digitalrechner | |
DE2735874C2 (de) | ||
DE2419836A1 (de) | Verfahren zur durchfuehrung von unterprogramm-sprungbefehlen in datenverarbeitungsanlagen | |
DE2451984C2 (de) | Datenverarbeitungsanlage | |
DE1774866C3 (de) | Schaltung zur Bestimmung der Adresse einer in einem Speicher einer Datenverarbeitungsanlage enthaltenen, gesuchten Information | |
DE2502005C2 (de) | Schaltungsanordnung zur Zuordnung von Adressen zu Operationen zwecks Ausführung von Befehlen in einer Datenverarbeitungseinrichtung |
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 |