DE1160222B - Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine - Google Patents

Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine

Info

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
Application number
DES77411A
Other languages
English (en)
Inventor
Dipl-Ing Heinz Trauboth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DES77411A priority Critical patent/DE1160222B/de
Priority to GB3351/63A priority patent/GB975751A/en
Priority to US261597A priority patent/US3284778A/en
Publication of DE1160222B publication Critical patent/DE1160222B/de
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/342Extension of operand address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed 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,
Berlin und München,
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
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)

PATENTANSPRÜCHE: 40
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
DES77411A 1962-01-04 1962-01-04 Schaltungsanordnung zur Adressenmodifikation bei einer programmgesteuerten digitalen Rechenmaschine Pending DE1160222B (de)

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)

* Cited by examiner, † Cited by third party
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

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