DE1549451C3 - Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung - Google Patents

Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung

Info

Publication number
DE1549451C3
DE1549451C3 DE1549451A DE1549451A DE1549451C3 DE 1549451 C3 DE1549451 C3 DE 1549451C3 DE 1549451 A DE1549451 A DE 1549451A DE 1549451 A DE1549451 A DE 1549451A DE 1549451 C3 DE1549451 C3 DE 1549451C3
Authority
DE
Germany
Prior art keywords
register
main memory
character
characters
address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1549451A
Other languages
English (en)
Other versions
DE1549451A1 (de
DE1549451B2 (de
Inventor
Michael Arlington Mass. Blume
Howard Woban Mass. Stein
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honeywell Inc
Original Assignee
Honeywell Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Inc filed Critical Honeywell Inc
Publication of DE1549451A1 publication Critical patent/DE1549451A1/de
Publication of DE1549451B2 publication Critical patent/DE1549451B2/de
Application granted granted Critical
Publication of DE1549451C3 publication Critical patent/DE1549451C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Building Environments (AREA)

Description

Die Erfindung bezieht sich auf eine elektronische Datenverarbeitungseinrichtung mit einer Übersetzungstabelle zur Übersetzung ein oder mehrere Zeichen enthaltender Operanden in einen anderen Kode.
In Datenverarbeitungssystemen ist es oft erwünscht, mit variabler Wortlänge zu arbeiten, was sich sowohl auf die Arbeitsbefehle als auch auf das Datenfeld bezieht. Aus diesem Grunde ist bereits vorgeschlagen worden, die Informationen zeichenweise zu verarbeiten. In einem zeichenorientierten System kann auf diese Weise eine vorbestimmte Anzahl von Informationsbits mit entsprechenden Markierungen kombiniert werden, um auf diese Weise ein vollständiges Zeichen zu definieren. Um eine Operation vollständig zu definieren, kann eine wählbare Anzahl von Zeichen mit entsprechenden Satzmarken kombiniert werden, um die Grenzen eines Befehls zu kennzeichnen (Stellenmaschine).
Außerdem ist bereits vorgeschlagen worden, die spezielle Stellung von Bits in Verbindung mit vorgegebenen Bitdarstellungen zu benutzen, um die gewünschte Zeichenbegrenzung festzulegen. In einem Zeichen mit 7 Bits können die ersten 6 Bits in Form von Kodekombinationen zur Übertragung von Informationen benutzt werden, während das 7te Bit dazu benutzt werden kann, die Lage des Programmbefehls oder die Grenzen eines Datenbefehls zu definieren.
Eine bestimmte Anzahl von Zeichen ergeben ein Wort, wobei die einzelnen Worte, und damit alle jeweils zu einem Wort gehörenden Bits, parallel verarbeitet werden (Wortmaschine).
Aus der FR-PS 13 47 978 ist es bekannt, Eingangsgrößen, die eine stark voneinander abweichende Anzahl von Elementen (Bits) besitzen, in Zeichen einer gleichbleibenden Länge mit Hilfe von einer Übersetzungstabelle umzuwandeln. Damit wird das Problem gelöst, bei Maschinen (Wortmaschinen), die jeweils nur Zeichen gleichbleibender Länge verarbeiten können, eine Möglichkeit vorzusehen, auch Eingangsgrößen unterschiedlicher Länge (also wechselnder Bitzahl) verarbeiten können. Mit Hilfe der aus der FR-PS 13 47 978 vorbekannten Schaltungsanordnung ist es somit möglich, Eingangsgrößen, die zwischen 1 und 8 Bit breit sind, mit Hilfe eines dreimal wiederholten Abtastverfahrens abzutasten und in eine dreistellige Zwischenadresse umzuwandeln, die dann zum Auffinden einer der Eingangsgröße fest zugeordneten, von dem wort-orientierten Rechner verarbeitbaren Ausgangsgröße umgewandelt wird. Es wird somit unabhängig davon, wie breit die zu übersetzende Eingangsgröße nun tatsächlich ist, immer der gleiche Arbeitsablauf abgewickelt, so daß sich die gleichbleibende Länge des Übersetzungsprozesses immer nach der breitesten zu übersetzenden Eingangsgröße richtet.
Aus der US-PS 32 22 649 ist es weiterhin bekannt, einzelne Bereiche eines Speichers in einer Datenverarbeitungseinrichtung mit Hilfe einer indexierten Adressierung anzusprechen. Dabei wird zwischen gewöhnlichen Operanden und Descriptoren unterschieden. Findet die Datenverarbeitungsanlage aufgrund eines besonderen Merkmales einen Descriptor innerhalb der Adresse, so wird, wenn keine Indexierung gewünscht wird, der Descriptor durch den Inhalt der von ihm angegebenen Adresse ausgetauscht. Diesen Inhalt bildet dann den neuen Befehl bzw. Operanden. Wird aber eine Indexierung aufgrund eines Merkmals in dem Descriptor verlangt, so wird der Index zur Descriptoradresse hinzuaddiert und dann der Descriptor durch den Inhalt der neuen Summenadresse ausgetauscht.
Die Möglichkeit eine Speicheradresse mit Hilfe der Addition einer aus einem Indexregister kommenden Konstanten abzuändern, wird weiterhin in dem Buch »Digitale Rechenanlagen« 2. Auflage 1965 von A. Speiser auf den Seiten 25 bis 33 beschrieben.
Die Erfindung geht daher aus von einer in dem Oberbegriff des Hauptanspruchs beschriebenen Datenverarbeitungsanlage.
Aufgabe der Erfindung ist es, eine Datenverarbeitungsanlage der geschilderten Gattung derart auszugestalten, daß die zur Übersetzung notwendige Übersetzungstabelle an eine beliebige Stelle des Hauptspeichers gelegt werden kann und weiterhin der für die Übersetzungstabelle benötigte Speicherumfang sowie die für den Übersetzungsvorgang benötigte Zeit möglichst weitgehend reduziert wird. Dabei soll insbesondere zum einen die zeitraubende Bildung einer Zwischenadresse entsprechend dem in der genannten FR-PS 13 47 798 beschriebenen Verfahren vermieden und die in ihrer Länge variable Eingangsgröße direkt zur Adressierung angewendet werden, andererseits aber auch eine möglichst große Freizügigkeit in der Festlegung der Übersetzungstabelle innerhalb des Hauptspeichers bestehen. Dabei entsteht die Schwierigkeit, daß zum einen, um die Übersetzungstabelle weitgehend freizügig innerhalb des Hauptspeichers anordnen zu können, die Basisadresse möglichst breit sein muß, um auch am äußeren Ende des Hauptspeichers liegende Bereiche für die Übersetzungstabelle vorsehen zu können. Zum anderen wird aber die Größe der Basisadresse durch die Größe der zu übersetzenden Eingangsgröße beschränkt, da diese zu der Basisadresse noch hinzugefügt wird. Da aber die Eingangsgröße sehr lang sein kann, wird dementsprechend bei Anwendung der bekannten Indexierverfahren der Umfang der möglichen Basisadresse entsprechend beschränkt, so daß demgemäß die Übersetzungstabelle nur in dem vorderen Bereich des Hauptspeichers liegen könnte.
Die Erfindung löst die gestellte Aufgabe durch die in
ίο dem kennzeichnenden Teil des Anspruchs 1 aufgeführte Merkmalskombination. Ein für die Erfindung wichtiges Prinzip liegt u. a. darin, daß Teile des Hauptspeicheradressierregisters sowohl Zugriff von zumindest Teilen der Basisadresse aber auch Zugriff zu zumindest Teilen des zu übersetzenden Operanden besitzen. Auf diese Weise ist die Möglichkeit geschaffen, die Hauptspeicheradresse durch Überlagerung der Basisadresse mit dem zu übersetzenden Operanden zu gestalten, anstatt in der üblichen Weise die Indexzahl zu dem Operanden hinzuzuaddhren. Als Folge davon erhält man unabhängig von der Länge der Eingangsgröße stets eine zu der gewünschten Stelle der Übersetzungstabelle führende Hauptspeicheradrt'sse gleicher Breite, wobei die einzige hierdurch bewirkte Beschränkung darin besteht, daß bei besonders langen zu übersetzenden Operanden der Einfluß der Elemente der Basisadresse mit niedrigem Stellenwert unwirksan gemacht wird, so daß im Effekt hierdurch die Basisadresse abgerundet wird. Das bedeutet, daß der Beginn der Übersetzungstabelle nur noch an eine geringere Anzahl von Plätzen innerhalb des Hauptspeichers gelegt werden kann, die über den Hauptspeicher gleichmäßig verteilt sind. Wird andererseits die zu übersetzende Eingangsgröße kleiner, so kann auf der anderen Seite die Basisadresse und damit die Lage des Tabellenanfangs mit entsprechend hoher Genauigkeit definiert werden.
Als weiterer Vorteil der Erfindung ergibt sich, daß unabhängig von der Breite der zu übersetzenden Eingangsgröße stets die gleiche Zykluszeit zum Auffinden der übersetzten Größe benötigt wird.
Um die Basisadresse an einen in seiner Größe geänderten Hauptspeicher anpassen zu können oder aber um die durch die einzelnen zu übersetzenden Operanden angesprochenen Speicherplätze weiter auseinanderzulegen, empfiehlt sich in Weiterbildung der Erfindung eine in Anspruch 2 aufgeführte Merkmalskombination. Praktisch läßt sich hierdurch erreichen, daß die in den einzelnen Registersätzen gespeicherten Worte wahlweise in abgeänderte Bereiche des Hauptspeicheradressierregisters überführt werden können, wodurch u. a. der Super-ponierung unterliegende Bereich sich in seiner Größe wahlweise verändern läßt. Durch eine Verschiebung der zu übersetzenden Operanden innerhalb des Hauptspeicheradressierregisters zu höherwertigen Stellen hin, läßt sich beispielsweise der Abstand der durch die so gewonnenen Hauptspeicheradressen angesprochenen Speicherplätze vergrößern. Auf diese Weise wird es möglich, einer Eingangsgröße mehrere Ausgangsgrößen zuzuordnen, indem man die dazwischenliegenden Speicherplätze mit Hilfe einer an sich bekannten lnkrenicnticning oder Dekrementierung (ausgehend von dein ursprünglichen Speicherplatz) nacheinander abruft. Somit können durch einen einzelnen in seiner Länge wähllxneii /u übersetzenden Operanden wahlweise ein oder mehrere gleichlange Worte innerhalb des Hauptspeichers als Übersetzungsergebnis zugeordnet werden, l'ine /weck mäßige Ausgestaltung der Erfindung hierzu beschreibt
der Anspruch 3.
Will man eine Möglichkeit vorsehen, in Abhängigkeit von einer vor dem Übersetzungsvorgang eingespeicherten Größe eine Eingangsgröße wählbarer Länge mittels jeweils eines oder mehrerer Worte zu übersetzen, so empfiehlt sich eine Ausgestaltung, wie sie in Anspruch 4 beschrieben ist. Hierbei ist ein gesondertes Register vorgesehen, in welches eine Information eingegeben wird, die eine Aussage über die Anzahl der Worte des zu übersetzenden Operanden als auch die Anzahl der für die Übersetzung benötigten Worte macht und somit für die Datenverarbeitungsanlage ein Hinweis auf die zweckmäßiger Weise vorzusehenden Operationen gibt.
Vielfach kann es sich bei Übersetzungsvorgängen als notwendig erweisen in Beantwortung des zu übersetzenden Operators auch andere Maßnahmen außer der Ausgabe der übersetzten Operanden einzuleiten. Für diese Zwecke können die in Anspruch 6 aufgeführten Maßnahmen Verwendung finden.
Zur besseren Erläuterung der Erfindung wird nachfolgend ein Ausführungsbeispiel beschrieben, wobei auf die Zeichnungen Bezug genommen wird. Es zeigt
F i g. 1 ein Blockschaltbild der erfindungsgemäßen Datenverarbeitungseinrichtung,
F i g. 2 ein Zeitdiagramm der Abläufe in dem Hauptspeicher und dem Steuerspeicher sowie in den Steuer- und Übertragungsteilen,
F i g. 3 eine schematische Darstellung des zyklischen Ablaufs beim Ausspeichern und Verarbeiten einer Größe deren nachfolgender Umsetzung und
Fig.4A und Fig.4B das Verknüpfen von Zeichen verschiedener Informationsquellen zum Ableiten der Adresse der Übersetzungstabelle im Hauptspeicher.
In dem Blockschaltbild der F i g. 1 ist ein Hauptspeicher 10 vorgesehen. Der Zugriff eines Steuerspeichers 12 zu dem Hauptspeicher erfolgt durch ein mehrstufiges Hauptspeicheradressierregister 14, daß die Adressen der Plätze innerhalb des Hauptspeichers enthält. Dem Hauptspeicheradressierregister 14 ist außerdem ein Hilfsregister 16 zugeordnet, in das der Inhalt des nachfolgend kurz als Adressierregister 14 bezeichneten Hauptadressierregisters umgespeichert, dort erhöht oder erniedrigt oder unverändert an ein Eingangsregister 18 weitergegeben wird, das dem Steuerspeicher 12 zugeordnet ist. Es ist jedoch auch möglich, die Information von dem Hilfsregister 16 des Hauptspeichers über ein Ortsregister 24 des Steuerspeichers 12 an diesen zu geben.
Der Steuerspeicher 12 kann aus einer Anzahl von konventionellen mehrstufigen Speicherregistern bestehen, die die zum Verarbeiten der verschiedenen Programmbefehle notwendigen Informationen speichern. In einem Ausführungsbeispiel der vorliegenden Erfindung enthält der Steuerspeicher 12 Spezialregister (A- und B-Adressenregister usw.) für die Hauptspeicheradresse der Operanden des durchzuführenden Befehls.
Die den Steuerspeicher 12 bildenden Spezialregister werden durch ein Adressenregister 20 des Steuerspeichers adressiert. Von dem Hilfsregister 16 werden über ein Eingangsregister 18 oder das Ortsregister 24 Informationen an den Steuerspeicher übertragen. Außerdem können Ausgangssignale eines Addierers 22 über das Ortsregister 24 zu dem Steuerspeicher 12 gelangen. Der Steuerspeicher 12 ist in der Lage, jede in ihm gespeicherte Information über zugeordnete Leseverstärker 26 oder über das Eingangsregister 18 an den Hauptspeicher des Adressenregisters 14 zu geben.
Sowohl die Ortsregister 24 als auch die Leseverstärker 26 haben Speicherraum für mehrere Zeichen und können wahlweise Informationszeichen aufnehmen und ausgeben, die den verschiedenen Speicherplätzen zugeleitet werden. Das Adressenregister 14 des Hauptspeichers hat ähnliche Eigenschaften und kann Zeichen, die die Hauptspeicheradresse angeben, wahlweise aufnehmen.
Die in dem Hauptspeicher 10 gespeicherten Informationen werden über eine Mehrzahl von konventionellen Leseverstärkern 28 weitergeleitet. Eine vorteilhafte Ausführungsform der vorliegenden Efindung arbeitet zeichenweise, wobei jedes Zeichen 6 Informationsbits und 2 Markierbits hat, die zusätzlich zu einem Paritätsbit für die Fehlerprüfung vorgesehen sind. Durch die Ausspeicherung wird der Speicherinhalt des Steuerspeichers 12 und des Hauptspeichers 10 nicht zerstört.
Die Ausgänge der Leseverstärker 28 führen auf ein Ortsregister 30 und ein Hilfsortsregister 32 des Hauptspeichers. Durch diese doppelt vorgesehenen Ortsregister 30 und 32 können von den adressierten Hauptspeicherplätzen Informationen abgezogen und auf eine einfache Weise an die verschiedenen Operationsregister verteilt werden, so daß die Verteilung der Informationen ohne Zeitverlust auch bei erschwerten Lastbedingungen möglich ist. Dabei sind konventionelle Treiberstufen 34 vorgesehen, um den Inhalt des Ortsregisters 30 auf die adressierten Plätze des Hauptspeichers 10 zu verteilen. Zwei Operandenregister 36 und 38 sind mit dem Eingang des Addierwerkes 22 verbunden und dienen zum Speichern der Operanden A und B während der Verarbeitung der Programmbefehle. Die Operandenregister für die Operanden A und B erhalten ihre Informationen von dem Ortsregister 30 des Hauptspeichers. Der Addierer 22 enthält ein Übertragungsregister 39, das eine bestimmte Verknüpfung von Signalen entsprechender Stufen der Operandenregister 36 und 38 mit in diesen Stufen erzeugten Übertragungssignalen bewirkt. Diese Verknüpfung von Signalen wird durch Steuersignale gesteuert, die in einem Taktgenerator 41 erzeugt werden, der über einen Unterprogrammdekodierer 42 mit dem Addierer 22 verbunden ist. Ein Taktgenerator 41 und ein Unterprogrammdekodierer 42 dienen zur Steuerung der beim Ausspeichern und Verarbeiten jedes Befehles ablaufenden Vorgänge.
Die Ausgangssignale der Operandenregister 36 und 38 des Addierers 22 werden mit Signalen aus dem Übertragungsregister 39 in einem Summenregister 40
so kombiniert. Normalerweise wird das Ausgangssignal des Summenregisters 40 an das Ortsregister 30 des Hauptspeichers für eine nachfolgende Speicherregister 30 des Hauptspeichers für eine nachfolgende Speicherung im Hauptspeicher 10 übertragen. Es sind jedoch Mittel vorgesehen, um das Ausgangssignal des Summenregisters 40 auf den Eingang des ß-Operandenregisters 38 zurückzuführen. Der Ausgang des Summenregisters 40 ist außerdem noch über einen Puffspeicher 43 mit dem Eingang des ß-Operandenregisters 38 verbunden. Der Pufferspeicher 43 koppelt außerdem den Ausgang des Leseverstärkers 26 an den Eingang des J?-Operandenregisters 38.
Vier weitere Register 44, 46, 47 und 48 sind vorgesehen, um den Operationscode und die Operationscodemodifikationszeichen, die die Einzelheiten eines durchzuführenden Befehls enthalten, zu speichern. Der Operationscode gibt den fundamentalen Arbeitsablauf eines Programmbefehls an und wird aus dem
Hauptspeicher 10 über die Leseverstärker 28 und das Ortsregister 30 an das Operationscoderegister 46 übertragen. Das Operationscodemodifikationsregister 44 das einen die Breite des umzusetzenden Zeichens bestimmenden Parameter aufnehmende Umsetzungsbreitenregister 47 und das Hilfsregister 48 für die Operationscodemodifikation enthalten alle verschiedene Zeichen, die die von dem Operationscode gelieferte Definition erweitern oder zusätzliche Informationen geben, die für die Abwicklung eines bestimmten Programmbefehls erforderlich sind. Über den Leseverstärker 28, das Ortsregister 30 des Hauptspeichers und das B-Operandenregister 38 werden Informationen von dem Hauptspeicher 10 in das Operationscodemodifikationsregister 44 übertragen. In gleicher Weise werden wahlweise über die Leseverstärker 28 und das Hilfsregister 32 des Hauptspeichers Informationen von dem Hauptspeicher 10 in das Umsetzungsbreitenregister 47 und das Hilfsregister 48 für die Operationscodemodifikation übertragen. Außerdem sind Mittel vorgesehen, um die Inhalte des Hilfsregisters 32 und des Hilfsregisters 48 für die Operationscodemodifikation in j ausgewählte Zeichenplätze des Hauptspeicheradressenregisters 14 zu übertragen.
Die Ausgänge des Operationscodemodifikationsregisters 44, des Operationscoderegisters 46 und des Operationscodehilfsregisters 48 sind mit dem Taktgenerator 41 und dem Unterprogrammdekodierer 42 verbunden. Es sind Mittel vorgesehen, um den Ausgang des Taktgenerators 41 mit dem Adressenregister 20 des Steuerspeichers zu verbinden.
Mit den Ausgängen des Operationscoderegisters 46 und des Operationskodemodifikationsregisters 44 ist ein Adressenmodifikationsregister 49 verbunden. Dieses dient dazu, eine Angabe zu speichern, die die Verarbeitungsart anzeigt, also ob es sich um eine Adressierung durch zwei, drei oder vier Zeichen handelt Der variable Zeichenadressierungsbetrieb ist vorgesehen, um einen vorhandenen Gesamtspeicherraum, der adressiert wird, mit größtem Wirkungsgrad auszunutzen. Die Anzahl der zur Definierung eines Speicherplatzes erforderlichen Bits ist der gesamten Anzahl von Speicherplätzen direkt proportional. In ι einem erweiterungsfähigen System ist es normalerweise erforderlich, zur Zeit des Entwurfes anhand der in der Einrichtung enthaltenden Einzelteile die maximale Adressierungskapazität des Systems anzugeben. Hierdurch wird eine Grenze für die gesamte Speicherkapazität gesetzt Es ist auch möglich, konventionelle indirekte Adressierungsverfahren anzuwenden, um eine vollständige Adresse anzugeben. Diese Betriebsart bedingt jedoch einem zusätzlichen Zeitbedarf, um die vollständige Speicheradresse zu erzeugen.
Das Adressenmodifikationsregister 49 der F i g. 1 ist deshalb so ausgebildet, daß es dem Programmierer erlaubt, die Anzahl von aufeinanderfolgenden Zeichen, die für die Definition eines Speicherplatzes eines auszuspeichernden Operanden erforderlich ist, anzugeben. Der Ausgang des Adressenmodifikationsregisters 49 ist sowohl mit dem Taktgenerator 41 als auch mit dem Ortsregister 24 des Steuerspeichers verbunden. Die letztere Verbindung erlaubt die Übertragung von Steuersignalen, die die wahlweise Übertragung der Bits des Ortsregisters 24 an die A- und ß-Operandenadressenregister im Steuerspeicher bewirken.
Zusätzlich zu der konventionellen, direkten Adressierungsmöglichkeit, die zusammen mit irgendeinem der Adressierungsformate variable Länge gegeben ist, wird gemäß der vorliegenden Erfindung eine besonders ausgestaltete indirekte Adressierung oder Indexadressierung mit einer Adressierung durch drei Zeichen oder vier Zeichen ermöglicht. Wird die konventionelle, direkte Adressierung benutzt, so wird die Adresse, wie sie in dem Befehl auftritt, verwendet und an den Steuerspeicher übertragen, der wiederum keine Modifikationen durchführt. Bei der Indexadressierung wird die Adresse durch das Indexregister des Steuerspeichers 12 erhöht, wobei diese Zahl der Bitdarstellung eines zugeordneten Indexanzeigers entspricht. Bei der indirekten Adressierung wird die Adresse dazu benutzt, den Platz im Hauptspeicher anzuzeigen, in dem die eigentliche Operandenadresse gespeichert ist. Die Arbeitsweise des beschriebenen Datenverarbeitungssystems, bei dem die Speicheradresse flexibel modifiziert wird, wird am besten anhand eines Beispieles der Durchführung einer Größenbewegung und der Umsetzung eines Befehls erläutert.
Bei der Durchführung eines Programmbefehls im beschriebenen System ist es erforderlich, eine Anzahl von Zwischenstufen oder Unterprogrammen durchzuführen. Diese Unterprogramme werden während bestimmter Zeitintervalle durchgeführt, die als Speicherzyklen bezeichnet werden. Der Speicherzyklus wird wie üblich als Informationszugriffszeit definiert, die erforderlich ist, um eine Information eines bestimmten Platzes des Speichers zu lesen und wieder einzuschreiben. In F i g. 2 sind die Beziehungen zwischen den Zeitzyklen des Hauptspeichers 10 und des Steuerspeichers 12 und deren Steuer- und Übertragungsteile dargestellt. Jeder Hauptspeicherzeitzyklus besteht aus vier Speicherzyklusunterintervallen TO 1 - TO 4.
Jeder Hauptspeicherzeitzyklus ist außerdem durch einen Steuer- und einen Übertragungsteil definiert. Während des Steuerteils jedes Hauptspeicherzeitzyklus werden Informationen von dem Steuerspeicher 12 abgezogen und an das Hauptspeicherregister 14 des Hauptspeichers übertragen, und zwar von der Ausgabe von Informationen von dem so adressierbaren Platz des Hauptspeichers 10. Der Steuerteil des Speicherzyklus besteht aus vier Speicherzyklusunterintervallen, und zwar beginnend mit dem Unterintervall TO 2 des ersten Hauptspeicherzyklus und fortfahrend mit dem Unterintervall TO 1 des nachfolgenden Hauptspeicherszeitzyklus. Die Steuer- und Übertragungsteile überlappen sich derart, daß am Ende eines Steuerzyklus der nachfolgende Steuerzyklus beginnt. Für jeden Hauptspeicherzeitzyklus sind auf diese Weise entsprechende Steuer- und Übertragungsteile vorhanden. Aus der Fig.3 geht hervor, daß der jedem Steuerzyklus entsprechende Übertragungszyklus am Anfang des Unterintervalles TO 1 des nächsten Hauptspeicherzeitzyklus beginnt und sich bis zur Mitte des entsprechenden Unterintervalles TO 4 erstreckt
Die während des Steuerteiles des Hauptspeicherszeitgabezyklus in dem Hauptspeicher 10 angesprochene Information wird über die Leseverstärker 28 an das Ortsregister 30 des Hauptspeichers übertragen, und zwar beginnt diese Übertragung mit dem Unterintervall TO 3 und reicht in das Unterintervall TOX des nachfolgenden Hauptspeicherzeitgabezyklus hinein. Während eines Teiles dieser Zeit wird ein Übertragungsbefehlssignal wirksam, das die Übertragung der in das Ortsregister des Hauptspeichers und des entsprechenden Hilfsspeichers hineingegebenen Informationen an entsprechende Registerteile des Systems bewirkt. Dieser letztere Übertragungsvorgang ändert sich
abhängig von dem durchgeführten Vorgang und von der Phase des Vorganges.
Die Verarbeitung eines Befehls, der arithmetische und logische Operationen erfordert, erfolgt in zwei Arbeitsschritten, d. h. die Zeichen des Befehles werden zuerst von dem Hauptspeicher abgezogen und anschließend werden die durch die abgezogenen Zeichen identifizierten Daten verarbeitet. Die genannten Arbeitsphasen werden nachfolgend als Ausspeicherphase und Verarbeitungsphase bezeichnet.
Ein Beispiel, bei dem die Eingangsgröße gegebenenfalls in verschobener Form mit einer Basisadresse verknüpft und die so gewonnene Adresse zur Ausspeicherung der übersetzten Größe und deren Einspeicherung an anderer Stelle bewirkt wird, hat folgenden Aufbau (Format):
F/A/B/V UV2/V3
Hierbei sind
F = der Operationskode, der die durchzuführende Operation für einen Befehl angibt, der das Verschieben und Übersetzen einer Eingangsgröße betrifft,
A = das Adressenfeld, das den Startplatz einer umzusetzenden /A-Größe angibt, wobei die Übersetzung jeweils für ein oder zwei Zeichen der Λ-Größe erfolgt,
B = das Adressenfeld, das den Startplatz im Hauptspeicher für die einzuspeichernden übersetzten Größen abgibt,
Vi und V2 = die variablen Zeichen, die die Anfangsadressen der Übersetzungstabelle im Hauptspeicher 10 abgeben und
V3 = gibt an, ob die Zeichen der A-Größe jeweils einzeln oder jeweils zu zweit umgesetzt werden sollen und ob die in die durch B definierte Ergebnistabelle eingegebenen Zeichen jeweils oder zu zweit eingegeben werden.
Die Ausspeicherungsphase eines Befehls beginnt damit, daß der Dateninhalt eines Platzes im Hauptspeicher durch den Folgezähler des Steuerspeichers 12 spezifiziert wird. Entsprechend dem oben definierten Befehlsformat ist das erste auszuspeichernde Zeichen das Operationscode-/ oder F-Zeichen, das die durchzuführende Operation angibt. Entsprechend der Arbeitsweise des vorliegenden Systems wird der Operationscode F von dem Hauptspeicher abgezogen und am Ende der Ausspeicherphase des vorhergehenden Befehls in das Folgeregister des Steuerspeichers 12 eingespeichert. Während der Ausspeicherphase bei der Verarbeitung eines Befehles wird also jedes Zeichen von dem Hauptspeicher nacheinander abgezogen, bis ein Zeichen mit einem angehängten Markierungsbit festgestellt wird, welches das Ende der Ausspeicherphase des Befehls anzeigt.
F i g. 3 zeigt ein Flußdiagramm, in dem die Speicherzyklen des für die Bewegung und Umsetzung einer Eingangsgröße dienenden Befehls F einander folgend gezeigt werden, wobei die Ausspeicherphase und Verarbeitungsphase eingeschlossen sind. Nachfolgend sollen die während der Ausspeicherphase und Verarbeitungsphase des F- Befehls auftretenden Speicherzeitgabezyklen in der Weise beschrieben werden, daß das Phasendiagramm der F i g. 3 und das Blockschaltbild der F i g. 1 herangezogen werden.
Wie bereits erwähnt, besteht der erste Schritt in der Verarbeitung eines Programmbefehles darin, daß der F-Befehl von dem Hauptspeicher 10 abgezogen wird, der in F i g. 3 durch den ersten Speicherzyklus CV 5, TV5 bezeichnet ist. Während des Steuerteiles des ersten Speicherzyklus steuert das Adressenregister 20 des Steuerspeichers das Folgeregister innerhalb des Steuerspeichers 12 an und bewirkt die Übertragung dessen Inhalts an das Hauptspeicheradressenregister 14. Während des Übertragungsteiles dieses ersten
ίο Speicherzyklus wird der Inhalt des Hauptspeicherplatzes durch das Adressenregister 14 angerufen und über die Leseverstärker 28 und das Ortsregister 30 an das Operationsregister 46 übertragen. Wie bereits in F i g. 2 gezeigt ist, wird der letzte Teil des Übertragungszyklus
beim Auftreten eines Übertragungsbefehlssignales abgeschlossen. Im wesentlichen zur gleichen Zeit wird der Inhalt des Adressierregisters 14 des Hauptspeichers über das Hilfsregister 16, in dem eine Inkrementierung um einen Zähler stattfindet, an das Eingangsregister 18 (nachfolgend oft kurz y-Register genannt) zurückgegeben.
Der zweite Speicherzyklus ist in F i g. 3 als CN 5, TN 5 bezeichnet und dient zum Ausspeichern des ersten Zeichens der ^-Operandenadresse. Dieser Zyklus beginnt mit dem Inhalt des V-Register 18, der vorher erhöht wurde und anschließend an das Adressierregister 14 des Hauptspeichers übertragen wird, um den Inhalt des angegebenen Platzes des Hauptspeichers aufzurufen. Während des Übertragungsteiles des Zyklus CN5.
77V 5 wird die auf diese Weise aufgerufene Information über die Leseverstärker 28 und das Ortsregister 30 des Hauptspeichers an das ß-Operandenregister 28 übertragen. Das von dem Hauptspeicher abgezogene Zeichen wird außerdem über ein Hilfsortsregister 32 des Hauptspeichers an das Operationscodemodifikationshilfsregister 48 übertragen, in dem es für die Indexadressierung oder indirekte Adressierung abgefragt wird. Bei der Adressierung durch vier Zeichen wird dieses Zeichen dazu benutzt, die Adressierungsmo-
^o difikation zu definieren und wird deshalb in dem Steuerspeicher nicht gespeichert. Etwa gleichzeitig mit der Übertragung der Information vom Hauptspeicher erfolgt im Hilfsregister 16 eine Erhöhung des Inhaltes des Adressierregisters 14 des Häuptspeichers, und diese erhöhte Größe wird dann in das y-Register 18 eingespeichert.
Der nächste beginnende Zyklus ist der Zyklus CN 4. 77V4, in dem der obere Teil der /^-Operandenadresse von dem Hauptspeicher 10 abgezogen und in den Addierer 22 eingespeichert werden soll. Hierzu wird der vorher erhöhte Inhalt des K-Registers während des Steuerteiles des Zyklus CN 4.TN 4 an das Adressierregister 14 des Hauptspeichers übertragen. Der Inhalt des adressierten Platzes des Hauptspeichers 10 wird anschließend in das Ortsregister 30 des Hauptspeichers übertragen. Beim Auftreten des Übertragungsbefehls wird die in dem Ortsregister 30 des Hauptspeichers gespeicherte Information an das B-Operandenregister 38, das dem Addierer 22 zugeordnet ist, übertragen. Zur gleichen Zeit wird der Inhalt des Adressierregisters 14 im Hilfsregister 16 erhöht und in das F-Register 18 eingespeichert.
Erfolgt die vorliegende Verarbeitung im Zweizeichenbetrieb, d. h., setzt sich das Adressenfeld A zu Lokalisierung der zu übersetzenden Größe aus zwei (6-Bit)-Zeichen zusammen, so wäre das Ausspeichern der Α-Operandenadresse vollständig. Aus diesem Grunde ist ein Rückführungspfad vom Block CN4.TN4
des Flußdiagramms der Fig.3 zum Block CN5.TN5 vorgesehen. Wurde die Verarbeitung jedoch im Dreizeichenbetrieb durchgeführt, so würde der nächste Arbeitszyklus der Zyklus CNi.TNi sein. Beim Vierzeichenbetrieb wird der Zyklus CN 2. TN 2 hinzugefügt, um die Bits 13 — 18 der während des vorhergehenden Speicherzyklus abgezogenen Adresse an das A-Adressenregister des Steuerspeichers 12 gegeben. Der Inhalt des Addierers 22 wird also während dieses Zyklus über das Summenregister 40 an die Bitpositionen höherer Ordnung des Ortsregisters 24 des Steuerspeichers und von dort an die entsprechenden Positionen des /4-Operandenadressenregisters im Steuerspeicher 12 gegeben.
Während die in das ß-Operandenregister 38, das dem Addierer 22 während des vorhergehenden Arbeitszyklus zugeordnet ist, gegebene Information zu dem Steuerspeicher 12 gelangt, wird der vorher erhöhte Inhalt des Y"-Registers 18 an das Adressierregister 14 des Hauptspeichers weitergegeben, um den mittleren Teil der A-Operandenadresse auszuspeichern. Während des Übertragungsteiles dieses Speicherzyklus wird die Information vom Bezugsort des Hauptspeichers über die Leseverstärker 28 und das Ortsregister 30 des Hauptspeichers an das Ä-Operandenregister 38 übertragen und gelangt von dort an den Addierer 22. Etwa zur gleichen Zeit wird der Inhalt des Adressierregisters des Hauptspeichers im Hilfsregister 16 nochmals erhöht und an das V-Register 18 zurückgegeben. Erfolgte der Vorgang im indirekten Adressierungsbetrieb, so wäre eine Übertragung des Inhalts des Hauptspeicherhilfsortsregisters an das F-Register erfolgt, und zwar während des Übertragungsteils des vorliegenden Speicherzyklus.
Der nächste zu beginnende Zyklus ist der Zyklus CNi.TNi. Während dieses Zyklus wird der vorher erhöhte Inhalt des F-Registers 18 an das Adressierregister 14 des Hauptspeichers übertragen. Zur gleichen Zeit wird das in dem Addierer 22 während des vorhergehenden Ausspeicherzyklus gespeicherte Zeichen an die Bit-Positionen 7 — 12 des A-Adressenregisters des Steuerspeichers 12 weitergegeben. Dieser Platz des Hauptspeichers enthält Informationen gespeichert, die über die Leseverstärker 28 an das Ortsregister 30 des Hauptspeichers und an das Hilfsortsregister 32 des Hauptspeichers während des Übertragungsteils des vorliegenden Speicherzyklus übertragen werden müssen.
Wurde die vorliegende Operation im Indexbetrieb durchgeführt, so ist der nächste zu beginnende Zyklus der Zyklus CS5.TS5, dem die Zyklen CS4.TS4 und CSt.TSl folgen. Während der letzten beiden Zyklen werden entsprechenden Zeichen eines bezeichneten Indexregisters innerhalb des Steuerspeichers 12 entsprechende Zeichen hinzuaddiert, die von dem Hauptspeicher und den in dem /4-Operandenadressenregister des Steuerspeichers 12 gespeicherten Resultaten abgezogen werden. Wird jedoch angenommen, daß der Betriebsablauf im direkten Adressierbetrieb mit vier Zeichen fortfahren soll, so ist der nächste Zyklus eine Wiederholung des Zyklus CN5.TN5, um das erste Zeichen der ^-Operandenadresse abzuziehen. Dieses Ausspeichern erfolgt in der gleichen Weise wie für den /4-Operanden, jedoch mit der Ausnahme, daß während des Zyklus CN5.TN5 das Zeichen niedrigerer Ordnung der in dem ß-Operandenregister des Addierers 22 während des vorhergehenden Ausspeicherzyklus gespeicherten /4-Adresse über das Z-Register in die Bitpositionen 1 —6 des /4-Operandenadressenregisters des Steuerspeichers 12 übertragen wird.
Nach dem Durchlauf der Zyklen CN4.TN4, CN2.TN2 und CNi.TNi in der für das Ausspeichern der /4-Operandenadresse beschriebenen Weise wird das Ausspeichern des ß-Operanden im Zyklus CN3.TN3 abgeschlossen. Während des Steuerteils des letzten Zyklus wird der vorher erhöhte Inhalt des V-Registers 18 an das Adressierregister 14 des Hauptspeichers weitergegeben. Während des Übertragungsteils dieses Zyklus wird die an dem aufgerufenen Platz des Hauptspeichers enthaltende Information über die Leseverstärker 18, das Ortsregister 30 des Hauptspeichers an das ß-Operandenregister 38 weitergegeben, das dem Eingang des Addierers 22 zugeordnet ist. Zur gleichen Zeit wird der Inhalt des Adressierregisters 14 des Hauptspeichers im Hilfsregister 16 erhöht und an das Y- Register 18 weitergegeben.
Der nächste Zyklus in der Ausspeicherphase ist der Zyklus CV4.TV4, in dem das in dem ß-Operandenregister 38 während des vorhergehenden Zyklus gespeicherte Zeicher, für die Dauer des vorliegenden Zyklus festgehalten wird. Zur gleichen Zeit wird der vorher erhöhte Inhalt des y-Registers 18 an das Register 14 des Hauptspeichers übertragen. Während dieses Übertragungsteils des vorliegenden Zyklus wird der Inhalt des aufgerufenen Hauptspeicherplatzes über die Leseverstärker 28 an das Hhfsortsregister 32 des Hauptspeichers übertragen und gelangt von dort an das Hilfsregister 48 für die Operationscodemodifikation zur weiteren Speicherung.
Der nächste Zyklus ist der Zyklus CM5.TM5., in dem die Basisadresse (Variable Zeichen Vl und V2) der Übersetzungstabelle in die einen sog. Arbeitsspeicher 2 des Steuerspeichers 21 eingespeichert wird. In dieser Weise wird während des ersten Teils des Zyklus CM5.TM5 das K2-Zeichen, das momentan in dem Hilfsregister 48 enthalten ist, an die Plätze 7 — 12 des Adressierregisters 14 des Hauptspeichers übertragen, von wo diese Information über das Hilfsregister 16 und das Ortsregister 24 des Steuerspeichers an die Plätze 7 — 12 des Arbeitsspeichers 2 im Steuerspeicher 12 gelangt. Während des gleichen Steuerspeicherzyklus wird das Vi -Zeichen, das vorher in dem ß-Operandenregister 38 gespeichert war, an die Position höherer Ordnung des Ortsregisters 24 gegeben und gelangt von dort an die entsprechenden Bitpositionen 13 — 18 des Arbeitsspeichers 2 in dem Steuerspeicher 12.
In Übereinstimmung mit dem Format für den für eine Bewegung von Umsetzung einer Größe geltenden Befehl ist der Befehl F selbst solange nicht endgültig zusammengestellt, wie das V3-Zeichen nicht von dem Hauptspeicher 10 abgezogen wurde. Dies wird während des darauffolgenden Speicherzyklus CM4.TN4 durchgeführt. Während es Steuerteiles dieses Zyklus wird der Inhalt des Folgeregisters des Steuerspeichers 12 über die zugeordneten Leseverstärker 26 an das Adressierregister 14 des Hauptspeichers übertragen. Diese Information bildet die Hauptspeicheradresse des V3-Zeichens, die von dem Hauptspeicher 10 über die Leseverstärker 28 an das Ortsregister 30 des Hauptspeichers und das Ortshilfsregister 32 des Hauptspeichers während des Übertragungsteils des vorliegenden Speicherzyklus übertragen wird.
Wie bereits erwähnt würde, können die gleichzeitig zu übersetzenden Größen und die umgesetzten Äquivalente eine variable Länge habe, wobei die Größen in einem durch den /4-Operanden definierten
Speicherbereich nacheinander angeordnet sind. Das gerade von dem Speicher abgezogene V3-Zeichen dient zur Definierung dieser Beziehung. In einer vorteilhaften Ausführungsform der vorliegenden Erfindung hat jede Größe wahlweise ein oder zwei 5 (6-Bit)-Zeichen. Es ist jedoch auch möglich, das Grundprinzip auf Größen beliebiger Länge auszudehnen.
Während das V3-Zeichen von dem Hilfsortsregister 32 an das Umsetzungsbreitenregister 47 übertragen wird, lösen die Bits niedrigerer Ordnung des V3-Zeichens folgende Operationen aus:
Variable V3 Vorgang
00 Übersetze ein einziges Zeichen, das durch den Inhalt des /4-Operandenadressenregisters des Steuerspeichers 12 spezifiziert ist, und bewege das umgesetzte Äquivalent an den Speicherplatz für ein einzelnes Zeichen, wie er durch den Inhalt des ß-Operandenregisters angegeben wird.
01 Übersetze ein aus zwei nebeneinanderliegenden Speicherplätzen kommendes Zeichenpaar, wobei die Plätze aus dem Inhalt des A-Operandenadressenregisters definiert sind und bewege das umgesetzte Äquivalent an einen Platz eines einzigen Zeichens, der durch den Inhalt des ß-Operandenadressenregisters angegeben ist.
10 Übersetze ein einziges Zeichen, das durch den Inhalt des A-Operandenadressenregisters spezifiziert ist, und bringe das übersetzte Äquivalent an zwei nebeneinanderliegende Zeichenplätze, die durch den Inhalt des ß-Operandenadressenregisters spezifiziert sind.
11 Übersetze ein Zeichenpaar, dessen nebeneinanderliegende Plätze durch den Inhalt des A-Operandenadressenregisters definiert sind und bringe das übersetzte Äquivalent an zwei aneinandergrenzende Zeichenplätze, die durch den Inhalt des ß-Operandenadressenregisters spezifiziert sind.
Die obige Tabelle legt die Beziehungen zwischen dem Bit niedrigster Ordnung des V3-Zeichens und der umzusetzenden Informationsgröße fest, während das Bit zweitniedrigster Ordnung des V3-Zeichens die Zeichenart der Größe bezeichnet, die aus der Übersetzungstabelle ausgespeichert wird.
Die Übertragung des V3-Zeichens aus dem Speicher beendet die Ausspeicherphase des vorliegenden Befehls F. Die Phase der eigentlichen Ausführung des Ablaufs beginnt mit dem Zyklus CE4.TM4, in dem das /4-Operandenadressenregister des Steuerspeichers 12 die Hauptspeicheradresse des ersten umzusetzenden (6-Bit)-Zeichens liefert. Während des Steuerteils dieses Zyklus wird also der Inhalt des /l-Operandenadressenregisters über die Leseverstärker 26 an das Adressierregister 14 des Hauptspeichers 10 übertragen. Während des Übertragungsteils des Zyklus CE4.TM4 wird der Inhalt des aufgerufenen Platzes des Hauptspeichers 10 über die Leseverstärker 28 an das Ortsregister 30 des
15
20
25
30
35
40
45 Hauptspeichers und des Hilfsortsregisters 32 des Hauptspeichers übertragen. Beim Auftreten des Übertragungsbefehls wird der Inhalt des Ortshilfsregisters 32 des Hauptspeichers an das Hilfsregister 48 für die Operationscodemodifikation übertragen. Zur gleichen Zeit wird der Inhalt des Adressierregisters 14 im Hilfsregister 16 erhöht und an das /4-Operandenadressenregister des Steuerspeichers 12 über das Ortsregister 14 zurückgegeben.
Wie bereits angegeben wurde, werden in Kombination mit der gespeicherten Information Steuerzeichen (d. h. Markierbits) benutzt, um u. a. bestimmte Vorgänge zu beenden. Die Durchführung des ablaufenden Vorganges wird also abgebrochen, wenn die Umsetzung einer Tabelleneintragung erfolgt ist, in der das durch das Λ-Operandenadressenregister des Steuerspeichers 12 spezifizierte Zeichen ein Steuerzeichen, z. B. eine Wortmarke enthält. Ebenso wird die Durchführung beendet, wenn ein weiteres definierendes Bit eines Steuerzeichens festgestellt wird, das einem übersetzen Zeichen der Übersetzungstabelle selbst zugeordnet ist. Hierzu sind konventionelle, logische Lesekreise 50 und 51 vorgesehen, die die Inhalte des Hilfsregisters 48 zur Operationscodemodifikation und des ß-Operandenregisters 38 während der zugehörigen Teile des vorliegenden Vorganges ablesen, um das Vorhandensein eines Steuerzeichens festzustellen. Beim Feststellen einer solchen Markierung wird ein Signal erzeugt und durch den Lesekreis 50 oder 51 an den Taktgenerator 41 übertragen, der wiederum entsprechende Steuersignale erzeugt und verteilt, um auf diese Weise die Vorgänge innerhalb des Systems zu beeinflussen.
Ist das Bit niedrigster Ordnung des V3-Zeichens, das gerade im Umsetzungsbreitenregister 47 gespeichert ist, eine »Eins«, wodurch angezeigt wird, daß die zu übersetzende Größe durch zwei hintereinander angeordnete Zeichen definiert ist, so muß ein zweiter Zyklus CE4.TM4 durchgeführt werden, um eine Ausspeicherung des verbleibenden /4-Zeichens zu ermöglichen. Die zwei Zeichen werden miteinander kombiniert werden, um die Adresse der Nachschlagtabelle einer umzusetzenden Größe zu definieren. Hierzu wird der Zyklus CE4.TM4 auf ähnliche Weise wiederholt, wie es bereits beim Ausspeichern des ersten /4-Zeichens der Fall war. Die zweite aus dem Hauptspeicher zu holende Α-Größe wird in dem Ortshilfsregister 32 des Hauptspeichers gespeichert. Ist das in dem Übersetzungsbreitenregister 47 gespeicherte Bit zweitniedrigster Ordnung des V3-Zeichens eine »Eins«, was anzeigt, daß das übersetzte Äquivalent zwei Zeichen enthält, so wird jedes der ausgespeicherten Α-Zeichen um eine Bitposition nach links verschoben, wenn es dem Ortshilfsregister 32 des Hauptspeichers zugeführt wird.
Der nächste zu beginnende Zyklus ist der Zyklus CM5.TE3, in dem die Übersetzungstabelle zum Aufsuchen einer Größe abgefragt wird, die durch die /4-Operandenadressenzeichen, d. h. die miteinander verknüpften Zeichen Vl und V2, identifiziert wird. Die Hauptspeicheradresse des übersetzten Äquivalents wird in dem Hauptspeicheradressierregister 14 erzeugt, in dem zuerst die Tabellenbasisangabe mit den Variablen V\ und V2 in die Bitpositionen 7-18 gebracht werden. Anschließend wird der Inhalt des Ortshilfsregisters 32 des Hauptspeichers an die niedrigwertigen 6 Bitpositionen des Hauptspeicheradressierregisters 14 gebracht, wenn die Übersetzung von Einzelzeichen in Einzelzeichen erfolgen soll.
Erfolgt die Übersetzung vom Doppelzeichen in Einzelzeichen, so wird die letzte Übertragung begleitet durch die Übertragung der Information des Hilfsregisters 48 in die Bitpositionen 7 — 12 des Hauptspeicheradressierregister. Im letzten Fall werden die von dem Hilfsregister 48 zur Operationscodemodifikation übertragene Informationen und das gerade in den Bitpositionen 7 — 12 des Hauptspeicheradressierregisters 14 enthaltene V2-Zeichen miteinander verknüpft, um die richtige Identifizierung des übersetzten Zeichens zu gewährleisten. Wird das übersetzte Äquivalent als Doppelzeichen ausgedrückt, so wird die verschobene 7-Bitdarstellung des A 1-Zeichen oder die verschobene 13-Bitdarstellung der A 1-A 2-Zeichen mit der die Vl- und V2-Zeichen umfassenden Basisadresse überlagert.
In der Fig.4A ist die Beziehung zwischen den Zeichen Vl und V2 gezeigt, die die Basisadresse der Übersetzungstabelle und den Inhalt des Hauptspeicherplatzes enthält, der durch das A-Operandenadressenregister des Steuerspeichers 12 spezifiziert ist. Es wird zuerst angenommen, daß die zu übersetzende Größe durch zwei Zeichen gebildet wird. Der Inhalt des in F i g. 4A gezeigten Adressierregisters 14 beschreibt im Hauptspeicher unmittelbar nebeneinanderliegende Plätze, wobei zusätzlich die beiden /!-Zeichen im Adressierregister nebeneinanderliegen. In dieser Weise werden die 12 Datenbits, die die ersten und zweiten /4-Zeichen enthalten, der Hauptadresse mit den Variablen Vl und V2 überlagert. In der Fig.4A bezeichnet der Buchstabe »A« die entsprechenden Bits des .Α-Zeichens, während der Buchstabe »X« die entsprechenden Bits der Basisadresse der Übersetzungstabelle anzeigt.
Das Überlagern der Hauptadresse mit den Zeichen einer umzusetzenden Größe kann dadurch erfolgen, daß für ein 1-Bit in der entsprechenden Bitposition der /4-Zeichen oder der Basisadresse Vl, V 2, oder für beide, ein 1-Bit in jede Position des Hauptspeicheradressierregisters eingegeben wird. Die logische Funktion für diese Beziehung ist die logische INKLUSIV-ODER-Funktion.
Aus der Überlagerung der V2- und V2-Zeichen, die die Hauptadresse der Umsetzungstabelle enthalten, mit den A 1- und A 2-Zeichen, der die umzusetzende Größe kennzeichnen, geht hervor, daß der Länge der zu übersetzenden Größe theoretisch keine Grenze gesetzt ist. Die Beziehung zwischen der Anzahl Bits des ersten für die Kennzeichnung der umzusetzenden Größe benutzten /4-Zeichens und den überlagerten Bits des V2-Zeichens sind somit derart, daß der unbenutzte Teil des ersten /!-Zeichens die genauere Kennzeichnung der Basisadresse der Übersetzungstabelle in einer besonders flexiblen Weise erlaubt, wie es bei den bisher bekannten Adressierungsmethoden nicht möglich war. Weiterhin ist die Möglichkeit gegeben, innerhalb den Grenzen der Länge der Übersetzungstabelle den Anfangsplatz der Ubersetzungstabelle innerhalb des Hauptspeichers zu variieren.
In F i g. 4B ist gezeigt, wie eine zu übersetzenden 6 Bit breite Größe f/i-Zeichen) durch eine verschobene Eingabe in das Adressierregister 14 zur wahlweisen Adressierung eines oder mehrerer Speicherplätze angewendet werden kann, die zu übersetzende Zeichen enthalten. Hat also das übersetzte Äquivalent einer zu übersetzenden Größe eine solche Länge, daß es innerhalb der Grenzen eines einzelnen Zeichens (6 Bit) des Speichers nicht untergebracht werden kann, so kann ein zweiter angrenzender Speicherplatz benutzt werden, um die Speicherung des übersetzten Äquivalents zu erreichen. In einem solchen Fall werden die beiden, die übersetzte Größe bildenden Zeichen automatisch ausgespeichert, wenn diese Arbeitsweise entsprechend gekennzeichnet wurde. Mit Bezug auf die F i g. 4B wird bemerkt, daß die Vl- und V2-Zeichen die höherwertigen Stellen der Basisadresse einer Übersetzungstabelle darstellen.
Beim Übersetzen einer Einzeichengröße in ein
ι ο Äquivalent mit zwei Zeichen erfordern die 64 möglichen und zu übersetzenden Größen 128 Zeichenplätze im Speicher für die Übersetzungstabelle. Dadurch, daß die zu übersetzende Größe (erstes /!-Zeichen) um ein Bit nach links verschoben und die rechte Bitposition des resultierenden 7-Bit-Zeichens zu 0 gemacht wird, ist es möglich, die Adresse der Übersetzungstabelle zu verdoppeln. Die durch die Verschiebung entstandene Adresse definiert somit den ersten der beiden Speicherplätze, der das umgesetzte Äquivalent enthält.
Das erste der beiden Zeichen, das nun die übergesetzte Größe bildet, wird durch die das 7-Bit-Zeichen mit der angefügten »0« als Bit niedrigster Ordnung enthaltende Adresse innerhalb der Tabelle vollständig definiert, wobei diese Adresse noch die Basisadresse der Tabelle überlagert. Der zweite der beiden nebeneinanderliegenden Speicherplätze wird durch Erhöhen oder Erniedrigen des Inhalts des Hauptspeicheradressierregister, das für das Ausspeichern des ersten Zeichens bnutzt wurde, aufgerufen. Es ist klar, daß durch Verschieben des wichtigsten Bit des Zeichens, das die umzusetzende Größe kennzeichnet, um eine oder mehrere zusätzliche Bitpositionen und durch Hinzufügen einer entsprechenden Anzahl von »Nullen« an die Stellen niedriger Ordnung jede beliebige Anzahl Zeichen untergebracht werden kann, wobei das links-bündige Zeichen das erste auszuspeichernde Zeichen ist.
In den Beispielen der Fig.4A und 4B mußte sichergestellt werden, daß die entsprechenden Bits der Hauptspeicher-Übersetzungstabelle und die übergesetzte Größe einander eindeutig zugeordnet waren. In den beschriebenen Beispielen war diese Beziehung gegenseitig exklusiver Art. Es gibt jedoch andere Anwendungen des Überlagerungsprinzips, in denen es insbesondere vorteilhaft ist, die Bitbeziehungen auf gegenseitig inklusive Art auszudrücken. Es kann also sein, daß eine zu übersetzende Größe in erweiterter Kodeschreibweise ausgedrückt wird, um z. B. große und kleine Buchstaben voneinander zu unterscheiden. Die das übergesetzte Äquivalent näher beschreibende
so Kodedarstellung kann durch eine stark begrenzte Anzahl von Bits ausgedrückt werden, wenn z. B. zwischen oberen und niedrigeren Buchstaben nicht unterschieden werden muß. Weicht also in der zu übersetzenden Größe nur die Darstellung einer besonderen Bitposition voneinander ab, um große und kleine Buchstaben zu unterscheiden, so ist dies im Zwischenbetrieb möglich, in dem man ein »1«-Bit an die entsprechende Position des V2-Zeichen setzt, wodurch die Auswahl der verfügbaren Zeichen entsprechend den oberen oder unteren Zeichen vorgenommen wird.
Der Zyklus CM5.TE3 fährt mit dem Zeichen fort, das in dem Hauptspeicherplatz enthalten ist, der durch den gegenwärtigen Inhalt des Hauptspeicheradressierregisters 14 gekennzeichnet ist. Dieses Zeichen wird ausgespeichert und in das ß-Operandenregister 38, das dem Eingang des Addierers 22 zugeordnet ist, und in das Operationskodemodifikationsregister 44 eingespeichert. Die letzte Übertragung wird vorgenommen, um
130 261/4
sicherzustellen, daß das letzte von der Übersetzungstabelle ausgegebene Zeichen verfügbar bleibt, wenn es eine Markierung enthält, die automatisch eine Betriebsfolgeänderung auslösen.
Enthält die von der Übersetzungstabelle ausgegebene Information zwei Zeichen, so wird der Inhalt des Hauptspeicheradressierregisters 14 erhöht und an das y-Register 18 übertragen, und zwar etwa gleichzeitig mit der Übertragung der Information des Ortsregisters 30 an das B-Operandenregister 38 und das Operations- ίο kodemodifikationsregister 44. Wird angenommen, daß der Inhalt der Übersetzungstabelle zwei Zeichen enthält, so wird der Zyklus CM5.TE3 wiederholt, um das Ausspeichern der verbleibenden Zeichen aus der Umsetzungstabelle zu bewirken. Auf diese Weise wird der vorher erhöhte Inhalt des Y- Registers 18 an das Hauptspeicheradressierregister 14 übertragen, und nachfolgend wird der Inhalt des angerufenen Hauptspeicherplatzes über die Leseverstärker 28 und das Ortsregister 30 an das BOperandenregister 38 übertragen. Der Inhalt des B-Registers wird dann durch die zugeordneten Lesekreise 51 auf das Vorhandensein von Markierungsbits untersucht, wobei diese entsprechende Änderung des Betriebsablaufes einleiten. .
Der nächst durchzuführende Zyklus ist der Zyklus CE5.TW5, der dazu dient, die übersetzte Information vom Addierer 22 an den Speicherplatz des Hauptspeichers zu übertragen, der durch das BOperandenadressenregister des Steuerspeichers 12 definiert ist. Der Inhalt des B-Operandenadressenregisters wird hierbei während des Steuerteils des Zyklus CE5.TW5 über die Leseverstärker des Steuerspeichers an das Hauptspeicheradressierregister 14 übertragen. Während des ubertragungsteils des Zyklus wird das übersetzte Äquivalent vom Summenregister 40 des Addierers 22 an das Ortsregister 30 des Hauptspeichers übertragen und gelangt anschließend über eine Treiberstufe 34 zur Hauptspeicheradresse, die gegenwärtig von dem Inhalt des B-Operandenregister des Steuerspeichers 12 aufgerufen wird.
Benutzt die Übersetzungstabelle zum Ausdrücken des umgesetzten Äquivalents zwei Zeichen, so wird der Zyklus CE5.TW5 wiederholt, um das Ausspeichern des zweiten Zeichens zu bewirken. Wird das übersetzte Äquivalent in der Übersetzungstabelle als einzelnes Zeichen gespeichert, und wurde die Übertragung abgeschlossen, ohne daß eine beendende Markierung festgestellt wurde, so ist der nächste Zyklus der Zyklus CE 4. TM 4, wenn das gerade übergesetzte Feld noch nicht beendet ist; während dieses neuen Zyklus wird das nächste zu übersetzende Zeichen ausgespeichert. Werden zwei Zeichen benötigt, um das übersetzte Äquivalent in der Übersetzungstabelle zu speichern, wurden beide Zeichen ausgespeichert, ohne daß eine beendende Markierung festgestellt wurde und ist das gerade übergesetzte Feld noch nicht beendet, so ist der nächst durchzuführende Zyklus der Zyklus CE 4. TM 4.
Ist das gerade übergesetzte Feld beendet und ist die Übersetzung des letzten Zeichens vollständig erfolgt, ohne daß eine Markierung festgestellt wurde, so ist der Vorgang die Operation gemäß dem Operationscode F abgeschlossen und die Verarbeitung fährt mit dem Ausspeichern des nächsten Befehls fort. Dieser letzte Vorgang beginnt mit einem üblicherweise Zyklus CV 5.TV 5.
Wird während er Übertragung des übergesetzten Äquivalents an den Speicherplatz des Hauptspeichers eine Markierung in der Tabelle festgestellt, so werden die zwei Folgezähler gegeneinander vertauscht. Das System arbeitet dann mit dem Zyklus CW5.TM5 weiter, der der erste Zyklus des geänderten Betriebsablaufes ist.
Der nächste Zyklus des geänderten Betriebsfolgeablaufes ist der Zyklus CM3.TE3, in dem der ursprüngliche Inhalt des einen Folgezählers in dem Folgezähler des Steuerspeichers 12 eingespeichert wird. Das Vertauschen des Folgezählers 12 schließt den Befehl für die Änderung des Betriebsablaufes ab, so daß das System einen Zyklus VC5.TV5 beginnen kann, der den ersten Befehl dieses neuen Ablaufes kennzeichnet.
Hierzu 3 Blatt Zeichnungen

Claims (6)

Patentansprüche:
1. Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung mit einem Hauptspeicher, einem Steuerspeicher, Registern bzw. Registersätzen, zu denen ein Hauptspeicheradressierregister gehört, welches eine zur Aufnahme eine bestimmte Anzahl von Zeichen umfassender Adressen geeignete Breite besitzt, wobei der Hauptspeieher eine Übersetzungstabelle enthält, die zur Übersetzung von jeweils ein oder mehrere Zeichen enthaltenden Operanden in einen anderen Kode dient, und wobei die Übersetzungstabelle durch eine Adresse angesprochen wird, die durch Verbinden des oder der Zeichen der zu übersetzenden Größe (Operanden) mit Zeichen dargestellt wird, welche eine Basisadresse darstellen, dadurch gekennzeichnet,
daß das Hauptspeicheradressierregister (14) sowohl eine Anzahl von Zeichenplätzen (12-7, 6-1) besitzt, die insbesondere mit einem ersten Registersatz (48, 32) verbunden sind, in welchem vorübergehend die zu übersetzende Größe (A 1, A 2) gespeichert wird als auch eine Anzahl von Zeichenspeicherplätzen (18-13, 12-7) besitzt, die insbesondere mit einem zweiten Registersatz im Steuerspeicher (12) verbunden sind, in welchem vorübergehend die die Basisadresse der Übersetzungstabelle darstellenden Zeichen (Vi, V2) gespeichert sind, daß einige der Zeichenspeicherplätze des Hauptspeicheradressierregisters (14) wahlweise sowohl mit dem ersten Registersatz (48,32) als auch mit dem zweiten Registersatz im Steuerspeicher (12) verbindbar sind und eine die Einspeicherung der Zeichen in die entsprechenden Zeichenspeicherplätze des Hauptspeicheradressierregisters (14) steuernde Steuerung vorgesehen ist, und daß in den mit dem ersten Registersatz (48, 32) und dem zweiten Registersatz im Steuerspeicher (12) verbindbaren Zeichenspeicherplätzen (12-7) des Hauptspeicheradressierregisters (14) sowohl Zeichen der Basisadresse (V2) als auch der zu übersetzenden Größe (A 1) einspeicherbar sind, wobei diese Zeichen durch Überlagerung ihrer einzelnen Bits nach vorgegebenen Verknüpfungsregeln miteinander verknüpft werden.
2. Datenverarbeitungseinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der erste Registersatz (32, 48) und der zweite Registersatz im Steuerspeicher (12) selektiv und veränderbar mit bestimmten Bitpositionen des Hauptspeicheradressierregister (14) verbindbar sind.
3. Datenverarbeitungseinrichtung nach Anspruch
1 oder 2, gekennzeichnet durch Mittel (16) für das selektive Inkrementieren oder Dekrementieren der in dem Hauptspeicheradressierregister (14) gespeicherten Übersetzungstabellenadresse vor ihrer Rückübertragung auf das Hauptspeicheradressierregister (14), wobei die so gewonnenen absoluten Übersetzungstabellenadressen die Adressen der einzelnen aus mehreren Zeichen bestehenden Übersetzungsgrößen der zu übersetzenden Informationsgröße bilden.
4. Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet,
daß ein mit dem Hauptspeicher (10) verbundenes Register (47) von diesem ein Teil eines den Übersetzungsvorgang betreffenden Befehls bildendes Zeichen (V3) übernimmt, daß eine mit diesem Register (43) verbundene Steuerschaltung (41, 42) die Verknüpfung der in dem ersten Registersatz (48, 32) und dem zweiten Registersatz im Steuerspeicher (12) gespeicherten Zeichen (Ai, A 2 bzw. Vi, V2) steuert und
daß in Abhängigkeit des Wertes des in dem Register (47) gespeicherten Zeichens (V3) wahlweise die Bits der zu übersetzenden Größe (A 1, A 2) mit den Bits der Basisadresse verknüpft und ggf. in ihrer Lage verschoben werden, bevor sie in das Hauptspeicheradressierregister in Abhängigkeit von dem in dem Register (47) gespeicherten Wert eingefügt werden.
5. Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß ein mit dem Hauptspeicher (10) verbundenes zusätzliches Register (38) vorgesehen ist, welches von dem Hauptspeicher die übersetzten Ausdrücke übernimmt und welches weiterhin mit einer Steuereinheit (50, 51) verbunden ist, die die übersetzten Zeichen auf Elemente (Bits) überprüft, welche das Mißlingen der Übersetzung anzeigen.
6. Datenverarbeitungseinrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die Steuereinheit (51) die durch das Hauptspeicheradressierregister (14) angesprochene Ausgangsgröße der Übersetzungstabelle des Hauptspeichers (10) auswertet und bei entsprechendem Auswerterergebnis, bei dem die Steuereinheit (50,51) auf bestimmte Signalkombinationen anspricht, eine andere Betriebsart, insbesondere ein neues Programm der Datenverarbeitungseinrichtung einleitet.
DE1549451A 1966-01-20 1967-01-18 Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung Expired DE1549451C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US52186566A 1966-01-20 1966-01-20

Publications (3)

Publication Number Publication Date
DE1549451A1 DE1549451A1 (de) 1971-01-28
DE1549451B2 DE1549451B2 (de) 1981-04-16
DE1549451C3 true DE1549451C3 (de) 1982-01-07

Family

ID=24078465

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1549451A Expired DE1549451C3 (de) 1966-01-20 1967-01-18 Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung

Country Status (11)

Country Link
JP (1) JPS5630578B1 (de)
AT (1) AT264879B (de)
BE (1) BE692932A (de)
CH (1) CH468674A (de)
DE (1) DE1549451C3 (de)
DK (1) DK147925C (de)
FI (1) FI45706C (de)
FR (1) FR1508747A (de)
GB (1) GB1176532A (de)
NL (1) NL157727B (de)
NO (1) NO123321B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6261132A (ja) * 1985-09-12 1987-03-17 Fujitsu Ltd デ−タ転送命令制御方式

Also Published As

Publication number Publication date
BE692932A (de) 1967-07-03
NO123321B (de) 1971-10-25
FI45706C (fi) 1972-08-10
JPS5630578B1 (de) 1981-07-15
DE1549451A1 (de) 1971-01-28
NL6700969A (de) 1967-07-21
GB1176532A (en) 1970-01-07
FR1508747A (de) 1968-03-14
FI45706B (de) 1972-05-02
CH468674A (fr) 1969-02-15
DE1549451B2 (de) 1981-04-16
DK147925B (da) 1985-01-07
AT264879B (de) 1968-09-25
DK147925C (da) 1985-06-17
NL157727B (nl) 1978-08-15

Similar Documents

Publication Publication Date Title
DE1499193C3 (de) Speicher-Adressierschaltung
DE2260353C2 (de) Schaltungsanordnung für die Adressenumsetzung in einer Datenverarbeitungsanlage
DE2351791C2 (de) Datenverarbeitungsanlage
DE2756890C2 (de) Schaltungungsanordnung zur Steuerung der Datenübertragung zwischen einer zentralen Verarbeitungseinheit und einer Mehrzahl peripherer Einheiten
DE2339636C2 (de) Einrichtung zur Adressierung eines schreibbaren Mikroprogrammspeichers
DE2210044A1 (de) Verfahren zum Umsetzen von Codewörtern
DE1499201B2 (de) Schaltungsanordnung zur Umwandlung von Informationen in gepackter Bytedar stellung in eine ungepackte Darstellung
DE2543522C2 (de) Mikroprogrammierbare Datenverarbeitungseinrichtung
DE2139731A1 (de) Anordnung und Verfahren zur Code Um Setzung mit einem Assoziativ Speicher
DE2712224A1 (de) Datenverarbeitungsanlage
DE2718110A1 (de) Datenverarbeitungseinheit
DE2930441C2 (de) Anzeigeeinrichtung zur wahlweisen dynamischen oder statischen Anzeige
DE2556661A1 (de) Steuerschaltung mit adressenerweiterung
DE2318069A1 (de) Rechnersteuersystem unter verwendung von mikroprogrammierung und statisch/dynamischer erweiterung von steuerfunktionen mittels festverdrahteter logischer matrix
DE2353635C2 (de) Vorrichtung zur Datenverarbeitung
DE3856139T2 (de) Mikroprozessor
DE2750344C2 (de) Logikschaltung zum Betätigen irgendeiner Teilmenge einer Mehrzahl von Vorrichtungen
DE2935101C2 (de)
DE2900586C2 (de) Anordnung zum Decodieren von Codewörtern variabler Länge
DE2458286A1 (de) Datenverarbeitungssystem zum verschieben von datenfeldern mit verschiedenen strukturen
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE3121046C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE1549451C3 (de) Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung
DE1952175B2 (de) Steuerungsanordnung fuer die anzeige von datenzeichen in tabulierter form

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee