DE1160222B - Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine - Google Patents
Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen RechenmaschineInfo
- Publication number
- DE1160222B DE1160222B DES77411A DES0077411A DE1160222B DE 1160222 B DE1160222 B DE 1160222B DE S77411 A DES77411 A DE S77411A DE S0077411 A DES0077411 A DE S0077411A DE 1160222 B DE1160222 B DE 1160222B
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- command
- index
- stored
- 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.)
- Pending
Links
- 230000004048 modification Effects 0.000 title description 25
- 238000012986 modification Methods 0.000 title description 25
- 230000015654 memory Effects 0.000 claims description 73
- 230000003936 working memory Effects 0.000 claims description 4
- 238000006467 substitution reaction Methods 0.000 description 16
- 238000000034 method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- AHPWEWASPTZMEK-PEBGCTIMSA-N (1-Ribosylimidazole)-4-acetate Chemical compound O[C@@H]1[C@H](O)[C@@H](CO)O[C@H]1N1C=C(CC(O)=O)N=C1 AHPWEWASPTZMEK-PEBGCTIMSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000036651 mood Effects 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/34—Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
- G06F9/342—Extension of operand address space
-
- 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
- G06F9/355—Indexed addressing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
In einer programmgesteuerten digitalen Rechenmaschine wird der Rechenablauf durch eine Vielzahl
von Befehlen bestimmt, die von der Maschine automatisch nacheinander ausgeführt werden. Die Gesamtzahl
der in einen der Maschine zugeordneten Speicher eingespeicherten Befehle bildet das
Programm.
Jeder Befehl enthält einen Operationsteil und (bei einer Einadreßmaschine) einen Adressenteil. Der
Operationsteil kennzeichnet die auszuführende Rechenoperation, der Adressenteil enthält die Adresse
der Speicherzelle, mit deren Inhalt die betreffende Operation auszuführen ist.
Für eine flexible Programmierung ist die Möglichkeit automatischer Veränderungen des Adressenteiles
wichtig. Im allgemeinen kann der Adressenteil in zweierlei Weise verändert werden: Er kann substituiert
werden, d. h. der ursprüngliche Adressenteil wird durch einen neuen Adressenteil ersetzt. In diesem
Fall wird die ursprüngliche Adresse als Adresse einer Adresse interpretiert, d. h. der Adressenteil des Inhalts
der Speicherzelle mit der ursprünglichen Adresse bildet den neuen Adressenteil des Befehlswortes.
Hierzu ist im allgemeinen im Adressenteil eine Kennzeichnung enthalten, die angibt, ob substituiert werden
soll oder nicht (Substitutionsstelle). Außerdem kann die Adresse des Befehls über ein sogenanntes
Indexregister modifiziert werden. Dies bedeutet, daß die ursprüngliche Adresse durch eine Rechenoperation
mit Hilfe einer bestimmten, in einem von gegebenenfalls mehreren Indexregistern gespeicherten
Zahl verändert wird. Meist geschieht dies durch Addition der in dem betreffenden Indexregister
stehenden Zahl zu der ursprünglichen Adresse. Hierzu ist im Adressenteil eine Kennzeichnung enthalten,
die angibt, ob modifiziert werden soll und, falls mehr als ein Indexregister vorhanden ist, mit welchem Indexregister
modifiziert werden soll (Modifikationsstelle).
Im allgemeinen können mit einer relativ geringen Anzahl von Indexregistern die meisten Aufgaben
relativ leicht programmiert werden. Es gibt jedoch stets Probleme, bei denen eine möglichst große Zahl
von Indexregistern vorteilhaft wäre. Da Indexregister stets einen zusätzlichen Aufwand bedeuten, verwendet
man in der Praxis eine relativ geringe Anzahl von Indexregistern und nimmt dafür die kompliziertere
Programmierung bei bestimmten Aufgaben in Kauf.
Mit der Schaltungsanordnung gemäß der Erfindung ist es nun möglich, ohne zusätzliche Indexregister
auszukommen und trotzdem die in der Praxis sehr bewährte und vorteilhafte Modifikation des Adressen-Schaltungsanordnung
zur Adressenmodifikation bei einer
programmgesteuerten digitalen
Rechenmaschine
Anmelder:
Siemens & Halske Aktiengesellschaft,
Siemens & Halske Aktiengesellschaft,
Berlin und München,
München 2, Witteisbacherplatz 2
München 2, Witteisbacherplatz 2
Dipl.-Ing. Heinz Trauboth,
Großhesselohe bei München,
ist als Erfinder genannt worden
teils durchzuführen. Dies wird bei der Schaltungsanordnung gemäß der Erfindung dadurch erreicht,
daß als Indexregister beliebige Zellen des Arbeits-Speichers vorgesehen sind, daß das Befehlsregister
einen zusätzlichen, m zusätzlichen Stellen des Befehlswortes zugeordneten Teil aufweist, in dem m
von η Stellen der Adresse der jeweils als Indexregister vorgesehenen Zelle des Arbeitsspeichers gespeichert
sind, und daß ein besonderes Register vorgesehen ist, in dem die restlichen n—m Stellen dieser Adresse
gespeichert sind. Es können also theoretisch alle Stellen des Arbeitsspeichers verwendet werden, so daß
sich die gleichen Vorteile wie bei einer entsprechend großen Zahl von zusätzlichen Indexregistern ergeben.
Die Zahl der zusätzlich notwendigen Stellen des Befehlswortes wird dadurch verringert, daß in diesen
zusätzlichen Stellen nicht die gesamte Adresse der als Indexregister verwendeten Speicherzelle, sondern nur
ein Teil dieser Adresse angegeben wird, während der andere Teil der Adresse in einem besonderen Register,
dem Indexadressenregister, gespeichert ist. Dabei sind vorteilhaft in dem zusätzlichen Teil des Befehlsregisters
die m untersten Stellen der Adresse der als Indexregister verwendeten Zelle des Arbeitsspeichers
gespeichert. Falls man beispielsweise für die m zusätzlichen Stellen zwei Dezimalstellen zugrunde
legt und das Indexadressenregister drei Dezimalstellen aufweist (damit das Befehlswort nicht zu
lang wird, wird man stets die Anzahl der Stellen des Indexadressenregisters größer als die Anzahl der zusätzlichen
Stellen des Befehlswortes machen), so
309 770/362
3 4
können 100 Speicherzellen als Indexregister verwendet auszuführende Befehl gespeichert ist. Sobald ein Bewerden,
ohne daß das Indexadressenregister um- fehl ausgeführt ist, wird der Befehlszähler BZ weitergeladen
werden muß. Diese Umladung, d. h. die Ein- geschaltet und der nächste Befehl aufgerufen und
speicherung einer neuen Zahl in das Indexadressen- ausgeführt.
register, kann durch einen besonderen Befehl in an 5 Im einzelnen laufen dabei unter anderem folgende
sich bekannter Weise erfolgen. Es ist jedoch gemäß Vorgänge ab: Nach Ausführung eines Befehls überder
Erfindung auch möglich, das Indexadressenregister trägt der inzwischen weitergeschaltete Befehlszähler
ohne einen eigenen Befehl umzuladen. Zu diesem BZ seine Stellung in ein dem Arbeitsspeicher AS zuZweck
enthält das Befehlsregister einen weiteren zu- geordnetes Adressenregister AR. Über das Adressensätzlichen,
q weiteren zusätzlichen Stellen des Befehls- io register AR wird die entsprechende Zelle des Arbeitswortes zugeordneten Teil, in dem jeweils die Adresse Speichers AS angesteuert und die darin gespeicherte
einer Zelle des Arbeitsspeichers in codierter Form Information, die den nächsten auszuführenden Begespeichert
ist, mit deren Speicherinhalt die im Index- fehl darstellt, in ein Befehlsregister BR übertragen,
adressenregister gespeicherte Information gegebenen- Das Befehlsregister enthält einen Teil 1 für den
falls verändert wird. Durch q zusätzliche Stellen im 15 Operationsteil des Befehls, der auf hier nicht interes-Befehlswort
werden also bestimmte Zellen des Arbeits- sierende bekannte Weise decodiert wird und später
Speichers gekennzeichnet, deren Speicherinhalt den die betreffende Rechenoperation im Rechenwerk verInhalt
des Indexadressenregisters bestimmt. Hierdurch anlaßt. Außerdem weist das Befehlsregister Teile 2
wird auch das Abspeichern des Inhalts des Index- bis 4 für den Adressenteil des Befehls auf, in denen
adressenregisters bei einer Programmunterbrechung 20 die Adresse (Teil 2) sowie die Kennzeichnungen für
vermieden. eine eventuelle Substitution (Teil 3) und Modifika-
Wie bereits erwähnt, ist üblicherweise zur Kenn- tion (Teil 4) gespeichert werden,
zeichnung, daß die Adresse eines Befehls zu modi- Zunächst sei angenommen, daß die Kennzeichfizieren
ist, im Adressenteil des Befehlswortes eine nungen derart sind, daß keine Adressenmodifikation
Modifikationsstelle vorgesehen. Diese Modifications- 25 oder Adressensubstitution erfolgen soll. In diesem
stelle kann bei der Schaltungsanordnung gemäß der Fall wird die Adresse aus dem Teil 2 des Befehls-Erfindung
entfallen, wenn eine bestimmte, in dem zu- registers BR in das Adressenregister AR übernomsätzlichen,
den m zusätzlichen Stellen des Befehls- men, die entsprechende Zelle im Arbeitsspeicher AS
worts zugeordneten Teil des Befehlsregisters gespei- angesteuert, ihr Inhalt ins nicht dargestellte Rechencherte
Information zur Kennzeichnung dafür dient, 30 werk übergeführt und dort in hier nicht interessiedaß
der Adressenteil des Befehlsworts nicht modifi- render bekannter Weise der Adressenteil des Befehls
ziert werden soll. Falls also in dem zusätzlichen Teil einmal oder mehrmals ersetzt, bis die Substitutionsdes
Befehlsregisters die m untersten Stellen der stelle anzeigt, daß keine weitere Substitution mehr erAdresse
der jeweils als Indexregister verwendeten folgen soll. Die weiteren Vorgänge laufen dann wie
Speicherzelle stehen, so können dann selbstverständ- 35 bereits beschrieben ab.
lieh alle Speicherzellen, deren Adressen diese End- Falls dagegen die im Teil 4 des Befehlsregisters BR
stellen aufweisen, nicht mehr als Indexregister ver- gespeicherte Modifikationsstelle entsprechend belegt
wendet werden. Dies spielt jedoch praktisch keine ist, wird die Adresse des Befehls für eine Rechen-Rolle,
da ja beliebig viel Speicherzellen als Index- operation mit Hilfe eines in der Modifikationsstelle
register verwendet werden können. Ebenso können 40 gekennzeichneten Indexregisters verändert. Normalerfür
andere Zwecke, z. B. zur Kennzeichnung dafür, weise wird die in dem betreffenden Indexregister gedaß
die Adresse des Befehlswortes mit dem Befehls- speicherte Information, deren Stellenzahl der Adresse
zähler modifiziert werden soll, andere Kombinationen des Befehlswortes gleich ist, zu dieser Adresse addiert,
der m zusätzlichen Stellen des Befehlswortes verwen- wobei Additionsüberläufe nicht berücksichtigt werdet
werden. Die Speicherzellen, deren Adressen diese 45 den. Beispielsweise erfolgt, wenn die Modifikations-Endstellen
aufweisen, scheiden dann ebenfalls als stelle bei Dezimalcodierung mit »0« belegt ist, keine
Indexregister aus. Indexregistermodifikation. Der Schalter Sch ist in Einzelheiten der Erfindung werden an Hand der diesem Fall an keines der Indexregister IR1 bis IR3
Zeichnung erläutert. In der Zeichnung sind nur die angeschaltet. Falls die Modifikationsstelle mit »2«
für die Erfindung wichtigen Teile einer Rechen- 50 belegt ist, so wird der Schalter Sch an das Indexmaschine
in Form von vereinfachten Blockschalt- register IR2 angeschaltet und der Speicherinhalt
bildern dargestellt. Dabei sind insbesondere die zwi- dieses Indexregisters zu der aus dem Teil 2 des Besehen
den einzelnen Schaltungsteilen vorgesehenen fehlsregisters BR ins Adressenregister AR übertra-Schalter
weggelassen. Die dargestellten Schaltungen genen Adresse des Befehls addiert, die durch die
sind nur als Prinzipschaltbilder aufzufassen. 55 modifizierte Adresse bestimmte Zelle im Arbeits-Jede
Rechenmaschine besitzt einen Arbeitsspeicher speicher AS angesteuert und ihr Inhalt ins Rechen-
(AS in Fig. 1) sehr kurzer Zugriffszeit, in den die werk übertragen.
von der Maschine auszuführenden Befehle und die Die Modifikation der Adresse erfolgt bei den bedazu
notwendigen Daten vor Beginn des Rechen- kannten Rechenmaschinen stets nach diesem Prinzip,
Prozesses in bekannter, hier nicht interessierender 60 d. h., es sind stets zusätzliche Speicher, nämlich die
Weise eingespeichert werden. Bei einer für die fol- Indexregister notwendig, die einen zusätzlichen Mehrgenden
Ausführungen beispielsweise zugrunde ge- aufwand bedeuten. Außerdem ist bei den bekannten
legten Einadreßmaschinen sind die Befehle normaler- Rechenmaschinen bei jedem Befehl nur eine Indexweise
in der Reihenfolge gespeichert, in der sie aus- registermodifikation der Befehlsadresse möglich,
geführt werden. Die einzelnen Befehle werden von 65 Fig. 2 zeigt ein vorteilhaftes Ausführungsbeispiel
einem Befehlszähler BZ aufgerufen, dessen Stellung gemäß der Erfindung in entsprechender Darstellung
bei normaler Reihenfolge der Befehle der Adresse wie die bekannte Schaltung nach Fig. 1. Wie bei den
derjenigen Speicherzelle gleich ist, in der der jeweils bekannten Rechenmaschinen ist ein Arbeitsspeicher
AS, ein Befehlszähler BZ, ein Befehlsregister BR und
ein Adressenregister AR vorgesehen. Zusätzliche Indexregister sind nicht vorgesehen, da gemäß der Erfindung
die Zellen des Arbeitsspeichers AS als Indexregister verwendet werden. Lediglich ein zusätzliches
Register geringer Stellenanzahl, das Indexadressenregister IA-R, ist vorgesehen.
Der Adressenteil des gemäß der Erfindung verwendeten Befehlsworts besteht aus einer n-stelligen
Adresse, einer Substitutionsstelle, einer Modifikationsstelle und m zusätzlichen Stellen. Die m Stellen enthalten
einen Teil der Adresse der jeweils als Indexregister verwendeten Speicherzelle, meist die unteren
m Stellen dieser Adresse. Die n—m restlichen Stellen dieser Adresse, meist die n—m oberen Stellen, sind
in dem Indexadressenregister IA-R gespeichert. Falls eine bestimmte Kombination der m zusätzlichen
Stellen, z. B. die Kombination 00 ... 0 des Befehlswortes zur Kennzeichnung dafür verwendet wird, daß
die Adresse des Befehls nicht zu modifizieren ist, kann die Modifikationsstelle entfallen. Dies wird für die
folgenden Ausführungen beispielsweise angenommen. Die Speicherzellen, deren Adresse diese Endstellen
aufweist, scheiden dann als Indexregister aus.
Falls gemäß der Kennzeichnung im Befehl weder eine Adressensubstitution noch eine Adressenmodifikation
durchzuführen ist oder falls nur eine Adressensubstitution erfolgen soll, laufen die Vorgänge wie
bei der bekannten Rechenmaschine gemäß Fig. 1 ab. Das Indexadressenregister IA-R tritt in diesen Fällen
nicht in Aktion.
Falls dagegen eine Adressenmodifikation erfolgen soll, so laufen folgende Vorgänge ab: Der Stand des
Befehlszählers BZ wird in das Adressenregister AR übertragen, die entsprechende Speicherzelle im
Arbeitsspeicher AS angesteuert und ihr Inhalt ins Befehlsregister BR übernommen. Der Operationsteil
des Befehls wird dabei in dem Teil 1 des Befehlsregisters, der Adressenteil in die Teile 2, 3 und 5 des
Befehlsregisters BR übernommen. Im Teil 2 des Befehlsregisters ist dabei wieder die eigentliche Adresse,
im Teil 3 die Substitutionsstelle und im Teil 5 sind die m zusätzlichen Stellen des Befehlswortes gespeichert.
Falls im Teil 5 des Befehlsregisters BR nicht die Kombination 00 ... 0 gespeichert ist (die,
wie erwähnt, zur Kennzeichnung dafür dient, daß nicht modifiziert werden soll), so wird der Inhalt des
Teils 5 des Befehlsregisters in den Teil 1 des Adressenregisters eingespeichert. In den Teil 2 des
Adressenregisters AR wird die im Indexadressenregister IA-R gespeicherte Information eingespeichert.
Im Teil 1 und 2 des Adressenregisters steht dann also die Adresse der als Indexregister zu verwendenden
Speicherzelle des Arbeitsspeichers AS. Diese Speicherzelle wird angesteuert, und mit ihrem Inhalt
der Adressenteil des im Befehlsregister BR gespeicherten Befehlswortes modifiziert. Dabei werden vorzugsweise
auch die m zusätzlichen Stellen und die Substitutionsstelle, d. h. insgesamt die in den Teil 2,
3 und 5 des Befehlsregisters gespeicherte Information verändert. In der Praxis wird bei jeder Modifikation
das gesamte Befehlsregister verändert, wobei der alte Inhalt vorher in besonderen Registern sichergestellt
wurde. Bei den vereinfachten Prinzipschaltungen nach Fig. 1 bis 3 sind diese besonderen Register nicht dargestellt.
Zur Modifikation und Kennzeichnung bestimmter Kriterien können alle Teile 1, 2, 3 und 5 des Befehlsregisters
herangezogen werden, während bei den bekannten Maschinen nur ein dem Adressenteil (Teil 2)
entsprechendes Register zur Verfügung steht. Hierdurch ergibt sich der Vorteil, daß im Gegensatz zu
den bekannten Rechenmaschinen eine wiederholte Modifikation möglich wird. Falls nämlich die neuen
m zusätzlichen Stellen wieder eine von 00 ... 0 abweichende Kombination aufweisen, so werden diese
Stellen wieder in den Teil 1 des Adressenregisters ίο AR und die im Indexregister IA-R gespeicherte Information
wieder in den Teil 2 des Adressenregisters AR übernommen, die durch diese neue Adresse gekennzeichnete
Zelle des Arbeitsspeichers AS angesteuert und mit dem Adressenteil ihres Speicherinhalts
der Adressenteil des Befehlswortes nochmals modifiziert. Dies wiederholt sich so lange, bis die m zusätzlichen
Stellen des Befehlswortes die Kombination 00 ... 0 und damit die Kennzeichnung aufweisen, daß
keine weitere Modifikation mehr erfolgen soll. Nunao mehr wird die Adresse des im Teil 2 des Befehlsregisters
BR gespeicherten Befehlswortes in das Adressenregister AR übernommen, die entsprechende
Zelle im Arbeitsspeicher AS angesteuert und ihr Inhalt ins Rechenwerk übertragen. Nach Ausführung
as der entsprechenden Rechenoperation wird der inzwischen veränderte Befehlszählerstand in das
Adressenregister AR übertragen und die Vorgänge wiederholen sich. Selbstverständlich ist es jedoch
auch möglich, auf die wiederholte Modifikation zu verzichten. In diesem Fall wird nur die im Teil 2 des
Befehlsregisters BR gespeicherte Befehlsadresse mit dem Speicherinhalt der als Indexregister verwendeten
Zelle des Arbeitsspeichers modifiziert, über das Adressenregister AR die durch die modifizierte
Adresse gekennzeichnete Zelle im Arbeitsspeicher AS angesteuert und ihr Inhalt ins Rechenwerk gegeben.
Hiervon unabhängig laufen die hier nicht interessierenden Substitutionsvorgänge in bekannter Weise
ab, falls die im Teil 3 des Befehlsregisters BR gespeicherte Substitutionsstelle entsprechend belegt ist.
In der Praxis wird man m immer wesentlich kleiner als η wählen, z. B. m = 2 und η — 5 Dezimalstellen
(die beispielsweise binär untercodiert sind). In diesem Fall können also ΙΟ2—1 Speicherzellen als Indexregister
verwendet werden, ohne daß das Indexadressenregister IA-R umgeladen werden muß. Durch
Umladen des Indexadressenregisters können alle Speicherzellen (mit Ausnahme der Speicherzellen,
deren Adressen die Endstellen 00 aufweisen) als Indexregister verwendet werden. Das Umladen des
Indexadressenregisters IA-R kann durch einen eigenen Befehl erfolgen. Es ist jedoch gemäß der Erfindung
auch möglich, das Indexadressenregister IA -R automatisch umzuladen. Dies wird später noch erläutert.
Zunächst wird jedoch noch eine andere Frage untersucht. Es könnte der Eindruck entstehen, daß
die Verwendung der Speicherzellen des Arbeitsspeichers AS zur Adressenmodifikation zwangläufig mit
einem längeren Befehlswort, und, da die Wortlänge in einer Rechenmaschine im allgemeinen für Befehle,
Zahlen, alphanumerische Ausdrücke usw. stets gleich ist, mit einem höheren Speicheraufwand erkauft werden
müßte. Dies muß jedoch zumindest bei den hauptsächlich verwendeten Einadreßmaschinen durchaus
nicht der Fall sein. Die Wortlänge bei einer Rechenmaschine wird im allgemeinen durch die
Größe der zu verarbeitenden Zahlen bestimmt. Eine
geeignete Wortlänge beträgt z. B. dreizehn Dezimalstellen, so daß eine zwölfstellige Dezimalzahl mit
Vorzeichen mit einem Wort dargestellt werden kann. Zahlen mit mehr Dezimalstellen müssen im allgemeinen
nicht verarbeitet werden. Für das Befehlswort stehen dann ebenfalls dreizehn Dezimalstellen zur
Verfügung. Bei einer maximal fünfstelligen Adresse besteht der Adressenteil des Befehlswortes bei einer
bekannten Rechenmaschine z. B. aus sieben Stellen
Bei dem Ausführungsbeispiel nach Fig. 3 wird das Indexadressenregister IA-R gegebenenfalls automatisch,
d. h. ohne eigenen Befehl umgeladen. Zu diesem Zweck enthält das Befehlswort q weitere zusätzliche
Stellen, die in dem Teil 6 des Befehlsregisters BR eingespeichert werden. Mit diesen q Stellen
kann eine Anzahl von Zellen des Arbeitsspeichers gekennzeichnet werden, deren Speicherinhalt die im
Indexadressenregister IA -R gespeicherte Information
besteht dann aus sechs Stellen (z. B. einer Vorzeichenstelle, einer Markierungsstelle, einer Rundungsstelle,
drei Operationsstellen). Im Operationsteil ist dabei
(fünf Adressenstellen, eine Substitutionsstelle, eine io bestimmt. Gegenüber dem Ausführungsbeispiel nach
Modifikationsstelle). Der Operationsteil des Befehls Fig. 2 ist weiterhin ein zusätzliches Register IAA-R
vorgesehen, in dem jeweils die q weiteren zusätzlichen Stellen des vorhergehenden Befehlswortes gespeichert
sind. Der Inhalt des Registers IAA-R wird mit dem
eine relativ große Redundanz enthalten. Das Befehls- 15 Inhalt des Teils 6 des Befehlsregisters BR mittels der
wort insgesamt könnte wesentlich kürzer sein, wenn Vergleichseinrichtung VG verglichen. Falls Übereindie
beispielsweise dreizehn Dezimalstellen nicht so- Stimmung besteht, so bedeutet dies, daß der Inhalt
wieso zur Verfügung ständen. Man kann deshalb bei des Indexadressenregisters IA-R nicht verändert werz.
B. m — 2 zusätzlichen Stellen die Redundanz des den soll. In diesem Fall kufen die gleichen Vorgänge
Operationsteils vermindern, so daß die Stellenzahl 20 wie bei dem Ausführungsbeispiel nach Fig. 2 ab.
des Befehlswortes insgesamt nicht erhöht werden muß. Ein Befehlswort besteht dann beispielsweise aus
einem achtstelligen Adressenteil (fünf Adressenstellen, eine Substitutionsstelle, zwei zusätzliche Stel-
Besteht dagegen keine Übereinstimmung, so bedeutet dies, daß das Indexadressenregister IA-R neu zu
laden ist, und zwar mit dem Speicherinhalt der Zelle des Arbeitsspeichers AS, deren Adresse in codierter
len — die Modifikationsstelle kann entfallen, wenn 25 Form im Teil 6 des Befehlsregisters Bi? gespeichert
eine Kombination der zwei zusätzlichen Stellen als ist. In diesem Fall wird die im Teil 6 des Befehls-Kennzeichnung
dafür verwendet wird, daß nicht registers Si? gespeicherte Information mit Hilfe der
modifiziert werden soll) und einem fünfstelligen DecodierungseinrichtungDC decodiert, d.h. in die
Operationsteil (eine Vorzeichenstelle, eine Markie- Adresse der Speicherzelle umgesetzt, deren Speicherrungsstelle,
eine Rundungsstelle, zwei Operations- 30 inhalt die neue Information des Indexadressenstellen).
Der Operationsteil kann unter Umständen registers IA-R bestimmen soll. Diese Adresse wird
noch weiter verkürzt und dafür der Adressenteil ent- ins Adressenregister AR übertragen, die entspresprechend
verlängert werden. Die Speicherzellen des chende Speicherzelle wird im Arbeitsspeicher AS anArbeitsspeichers
AS müssen also nicht größer werden. gesteuert, und die entsprechenden Stellen ihres Spei-Auch
muß der Arbeitsspeicher AS im allgemeinen 35 cherinhalts werden in das Indexadressenregister IA-R
nicht mehr Speicherzellen enthalten, da der Arbeits- übernommen. Normalerweise wird eine einmalige
Veränderung des Indexadressenregisters IA-R während
eines Befehls ausreichen. Es kann jedoch auch eine wiederholte Veränderung des Indexadressen-40
registers IA-R dadurch erreicht werden, daß zusammen mit dem Indexadressenregister IA -R zumindest
auch der Teil 6 des Befehlsregisters BR neu geladen wird und der bisherige Speicherinhalt des Teils 6 in
das RegisterIAA-R übernommen wird. Falls die VerAdressen
mehrerer Speicherzellen mitgeführt werden. 45 gleichseinrichtung VG dann keine Übereinstimmung
Will man eine Verlängerung des Befehlswortes ver- feststellt, wird das Indexadressenregister IA-R in der
beschriebenen Weise nochmals verändert usw. Dies wird jedoch in der Praxis kaum notwendig sein.
Nach abgeschlossener Veränderung des Indexadressenregisters
IA-R laufen die gleichen Vorgänge wie bei dem Ausführungsbeispiel nach Fig. 2.
In der Praxis wird q sehr klein sein, z. B. q=1 Dezimalstelle.
Dann können zehn Stellen des Arbeitsspeichers AS gekennzeichnet werden, mit deren
Indexregisters addiert, in dem ein unverkürzter 55 Speicherinhalt die im Indexadressenregister IA-R ge-Adressenteil
steht. Dann können alle möglichen speicherte Information zu verändern ist. Diese zehn
möglichen Ziffern sind dabei nicht mit den Adressen dieser Speicherzellen identisch, die ja weit mehr
Stellen (z. B. fünf Adressendezimalstellen) aufweisen.
register verwendeten Speicherzellen zusammen- 60 Deshalb ist die Decodierungseinrichtung DC notgesetzt.
Die im Befehlswort fehlenden Adressen- wendig, die jede dieser Ziffern in eine fünfstellige
stellen stehen in einem zusätzlichen Register. Adresse umsetzt.
Dieses Register braucht nur selten umgeladen zu Auch bei dem Ausführungsbeispiel nach Fig. 3
werden, da die in diesem Register stehenden muß aus den gleichen Gründen wie bei dem Ausfüh-Adressensteüen
klein gegenüber der Gesamt- 65 rungsbeispiel nach Fig. 2 nicht zwangläufig eine
speicher praktisch nie völlig durch das in ihm enthaltene Programm belegt ist. Es bleiben fast immer
Speicherzellen frei, die dann ohne Mehraufwand als Indexregister verwendet werden können.
Es ist jedoch auch möglich, daß im Operationsteil des Befehls keine ausreichende Redundanz vorhanden
ist. Dies kann beispielsweise bei einer Mehradreßmaschine der Fall sein, bei der ja im Befehl die
meiden, so muß man den Adressenteil verkürzen. Der verkürzte Adressenteil erfaßt dann aber nicht den
gesamten Arbeitsspeicher. Die tatsächliche Adresse muß erst aufgebaut werden. Dies kann man z. B.
durch zwei Methoden erreichen:
1. Jeder Befehl wird modifiziert, d. h., vor Befehlsausführung wird zur verkürzten Adresse (des Adressenteils im Befehlswort) der Inhalt eines
1. Jeder Befehl wird modifiziert, d. h., vor Befehlsausführung wird zur verkürzten Adresse (des Adressenteils im Befehlswort) der Inhalt eines
Adressen des Arbeitsspeichers gebildet werden. 2. Die Adresse wird im Adressenregister auf ähnliche
Weise wie die Adresse der als Indexadresse sein werden. Es lassen sich die gleichen
Maßnahmen vornehmen wie beim Adressenaufbau der Indexregisterzellen.
größere Wortlänge erforderlich sein. Beispielsweise kann für q = 1 das Befehlswort folgendermaßen zusammengesetzt
sein: Vierstelliger Operationsteil (z.B.
eine kombinierte Vorzeichen- und Markierungsstelle, eine Rundungsstelle, zwei Operationsstellen) und
neunstelliger Adressenteil (fünf Adressenstellen, eine Substitutionsstelle, zwei zusätzliche Stellen, eine weitere
zusätzliche Stelle). Bei diesem Beispiel können dann 1000 — 10 Speicherzellen als Indexregister verwendet
werden, ohne daß das Indexadressenregistei IA-R durch einen eigenen Befehl umgeladen werden
muß, so daß praktisch nie ein besonderer Umladebefehl für das Indexadressenregister erforderlich sein
wird. Selbstverständlich kann auch eine Verkürzung des Adressenteils, wie bei Fig. 2 beschrieben, durchgeführt
werden.
Ob das Ausführungsbeispiel nach Fig. 2 oder das nach Fig. 3 vorzuziehen ist, hängt vom Einzelfall,
insbesondere von der Art der durchzuführenden Rechenoperation ab. Das Ausführungsbeispiel nach
Fig. 3 hat gegenüber dem nach Fig. 2 bei gleichem Aufwand den Vorteil, daß ohne Umladung des Indexadressenregisters
IA-R an verschiedenen Stellen des Arbeitsspeichers AS stehende Speicherzellen als Indexregister
verwendet werden können, während bei dem Ausführungsbeispiel nach Fig. 2 ohne Umladung des
Indexadressenregisters IA-R nur an einer Stelle des Arbeitsspeichers stehende Speicherzellen als Indexregister
verwendet werden können.
Die Stellen der als Indexregister verwendeten Speicherzellen, die für die Modifikation nicht benötigt
werden, können gegebenenfalls für andere Zwecke verwendet werden, z. B. zur Kennzeichnung, ob die
ganze Zelle oder nur bestimmte Teile der Zelle gelesen werden sollen.
Die Erfindung kann nicht nur auf die für die Ausführungsbeispiele zugrunde gelegten Einadreßmaschinen,
.sondern auoh auf Mehradreßmaschinen angewendet werden. In diesem Fall sind die Register
IA-R und IAA-R mehrfach auszuführen.
Claims (7)
1. Schaltungsanordnung zur Modifikation des Adressenteils der Befehlsworte einer programmgesteuerten
digitalen Rechenmaschine mit Hilfe von Indexregistern, dadurch gekennzeichnet, daß
als Indexregister beliebige Zellen des Arbeitsspeiohers (AS) vorgesehen sind, daß das Befehlsregister
(BR) einen zusätzlichen, m zusätzliche Stellen des Befehlswortes zugeordneten Teil (5)
aufweist, in dem m von η Stellen der Adresse der jeweils als Indexregister vorgesehenen Zelle
des Arbeitsspeichers (AS) gespeichert sind, und daß ein besonderes Register (IA-R) vorgesehen
ist, in dem die restlichen η — m Stellen dieser Adresse gespeichert sind.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß in dem zusätzlichen
Teil (5) des Befehlsregisters (BR) die m untersten Stellen der Adresse der als Indexregister verwendeten
Zelle des Arbeitsspeichers (AS) gespeichert sind.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß das besondere
Register (IA-R) durch einen eigenen Befehl in an sich bekannter Weise umladbar ist.
4. Schaltungsanordnung nach Anspruch 1, 2 oder 3, dadurch gekennzeichnet, daß das Befehlsregister
(BR) einen weiteren zusätzlichen q weiteren zusätzlichen Stellen des Befehlswortes zugeordneten
Teil (6) aufweist, in dem jeweils die Adresse einer Zelle des Arbeitsspeichers (AS) in
codierter Form gespeichert ist, mit deren Speicherinhalt die in dem besonderen Register (IA-R) gespeicherte
Information gegebenenfalls verändert wird.
5. Schaltungsanordnung nach Anspruch 4, dadurch gekennzeichnet, daß eine Vergleichseinrichtung
(VG) vorgesehen ist, die die jeweils in dem weiteren zusätzlichen Teil (6) des Befehlsregisters
(BR) gespeicherte Information mit der in einem weiteren Register (IAA-R) gespeicherten
Information, die stets den q weiteren zusätzlichen Stellen des vorhergehenden Befehls gleich ist, vergleicht
und nur bei Nichtübereinstimmung das Einspeichern des Inhalts der durch die in dem
weiteren zusätzlichen Teil (6) des Befehlsregisters (BR) gekennzeichneten Speicherzelle in das besondere
Register (IA-R) veranlaßt.
6. Schaltungsanordnung nach einem oder mehreren Ansprüchen 1 bis 5, dadurch gekennzeichnet,
daß eine bestimmte, in dem zusätzlichen, den m zusätzlichen Stellen des Befehlswortes zugeordneten
Teil (5) des Befehlsregisters (BR) gespeicherte Information zur Kennzeichnung dafür
dient, daß der Adressenteil des Befehlswortes nicht modifiziert wird.
7. Schaltungsanordnung nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet,
daß die Befehlsadresse in gleicher Weise wie die Adresse der als Indexregister verwendeten
Speicherzellen im Befehlswort nur teilweise mitgeführt und mit Hilfe besonderer Register ergänzt
wird.
Hierzu 1 Blatt Zeichnungen
©309 770/362 12.63
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DES77411A DE1160222B (de) | 1962-01-04 | 1962-01-04 | Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine |
GB3351/63A GB975751A (en) | 1962-01-04 | 1963-01-26 | Improvements in or relating to circuit arrangements for address modification in a programme controlled digital computer |
US261597A US3284778A (en) | 1962-01-04 | 1963-02-28 | Processor systems with index registers for address modification in digital computers |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DES77411A DE1160222B (de) | 1962-01-04 | 1962-01-04 | Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine |
GB3351/63A GB975751A (en) | 1962-01-04 | 1963-01-26 | Improvements in or relating to circuit arrangements for address modification in a programme controlled digital computer |
US261597A US3284778A (en) | 1962-01-04 | 1963-02-28 | Processor systems with index registers for address modification in digital computers |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1160222B true DE1160222B (de) | 1963-12-27 |
Family
ID=27212748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DES77411A Pending DE1160222B (de) | 1962-01-04 | 1962-01-04 | Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine |
Country Status (3)
Country | Link |
---|---|
US (1) | US3284778A (de) |
DE (1) | DE1160222B (de) |
GB (1) | GB975751A (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1004759A (en) * | 1963-04-30 | 1965-09-15 | Smith & Sons Ltd S | Improvements in or relating to digital systems of the kind for providing an output representation of the value of a predetermined dependent variable |
US3380034A (en) * | 1963-07-17 | 1968-04-23 | Vyzk Ustav Matemat Stroju | Addressing system for computer memories |
US3343138A (en) * | 1964-10-07 | 1967-09-19 | Bell Telephone Labor Inc | Data processor employing double indexing |
US3366932A (en) * | 1965-04-14 | 1968-01-30 | Gen Electric | Address development apparatus for a data processing system |
US3397391A (en) * | 1965-10-22 | 1968-08-13 | Ibm | Compact storage control apparatus |
US3391394A (en) * | 1965-10-22 | 1968-07-02 | Ibm | Microprogram control for a data processing system |
US3387283A (en) * | 1966-02-07 | 1968-06-04 | Ibm | Addressing system |
DE1524090B2 (de) * | 1966-04-30 | 1970-11-19 | Anker-Werke Ag, 4800 Bielefeld | Einrichtung zur Modifizierung eines Befehls im Befehlsregister einer elektronischen Datenverarbeitungsanlage |
US3530439A (en) * | 1968-07-22 | 1970-09-22 | Rca Corp | Computer memory address generator |
US4290104A (en) * | 1979-01-02 | 1981-09-15 | Honeywell Information Systems Inc. | Computer system having a paging apparatus for mapping virtual addresses to real addresses for a memory of a multiline communications controller |
FR2445988A1 (fr) * | 1979-01-02 | 1980-08-01 | Honeywell Inf Systems | Dispositif d'adressage perfectionne d'un systeme de traitement de donnees |
GB2298296B (en) * | 1995-02-23 | 1999-12-22 | Sony Uk Ltd | Data processing |
US5765219A (en) * | 1995-02-23 | 1998-06-09 | Sony Corporation | Apparatus and method for incrementally accessing a system memory |
-
1962
- 1962-01-04 DE DES77411A patent/DE1160222B/de active Pending
-
1963
- 1963-01-26 GB GB3351/63A patent/GB975751A/en not_active Expired
- 1963-02-28 US US261597A patent/US3284778A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US3284778A (en) | 1966-11-08 |
GB975751A (en) | 1964-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1424732C3 (de) | Einrichtung zum gegenseitigen Austausch von Angabenwörtern zwischen einem unmittelbar zugänglichen Hauptspeicher eineT Ziffernrechenmaschine und einem an diese angeschlossenen Sekundärspeicher vergleichsweise längerer Zugriffszeit | |
DE2453040C3 (de) | Programmierbarer elektronischer Rechner | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2258460C3 (de) | Programmierbare Steueranordnung für maschinelle Vorrichtungen | |
DE3047251A1 (de) | Rechner | |
DE2440072A1 (de) | Elektronischer rechner | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2060635A1 (de) | Rechner-Steuergeraet sowie Verfahren und Steuerpult zum Programmieren desselben | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE1499193A1 (de) | Datenverarbeitungsanlage | |
DE1160222B (de) | Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine | |
DE2713253A1 (de) | Programmlader fuer ein steuergeraet | |
DE2420057A1 (de) | Elektronischer computer fuer gespeicherte programme | |
DE2601242A1 (de) | Elektronenrechner mit programmspeicherung | |
DE1499206B2 (de) | Rechenanlage | |
DE2335991A1 (de) | Logische schaltung zur lenkung der zur unterbrechung auffordernden signale in einem rechenautomaten | |
DE2264184C3 (de) | Elektrischer Tischrechner | |
DE1222289B (de) | Datenverarbeitungseinrichtung | |
DE1549497B2 (de) | Parallel arbeitender ziffernrechner mit eingegebenen bedingt ablaufenden programm zur steuerung einer automatischen fernsprechvermittlungsanlage | |
DE2343501B2 (de) | Steuerschaltung für zumindest eine Rechenanlage mit mehreren für die Durchführung von EuWAusgabe-Programmen bestimmten Registern | |
DE1115483B (de) | Vorrichtung zum Abfragen eines Ziffernspeichers | |
DE1283895B (de) | Codeumsetzer zum Umsetzen eines beliebigen Eingangscode in einen beliebigen Ausgangscode | |
DE2717244C2 (de) | ||
DE2735874C2 (de) | ||
DE1474090B2 (de) | Datenverarbeitungsanlage |