DE1549451C3 - Zeichenorientierte Befehlsformate verarbeitende Datenverarbeitungseinrichtung - Google Patents
Zeichenorientierte Befehlsformate verarbeitende DatenverarbeitungseinrichtungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address 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
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.
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)
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6261132A (ja) * | 1985-09-12 | 1987-03-17 | Fujitsu Ltd | デ−タ転送命令制御方式 |
-
0
- FR FR1508747D patent/FR1508747A/fr not_active Expired
-
1967
- 1967-01-06 GB GB898/67A patent/GB1176532A/en not_active Expired
- 1967-01-09 NO NO166318A patent/NO123321B/no unknown
- 1967-01-18 DE DE1549451A patent/DE1549451C3/de not_active Expired
- 1967-01-19 JP JP340567A patent/JPS5630578B1/ja active Pending
- 1967-01-19 DK DK31867A patent/DK147925C/da not_active IP Right Cessation
- 1967-01-19 FI FI670151A patent/FI45706C/fi active
- 1967-01-20 AT AT59467A patent/AT264879B/de active
- 1967-01-20 BE BE692932D patent/BE692932A/xx unknown
- 1967-01-20 NL NL6700969.A patent/NL157727B/xx unknown
- 1967-01-20 CH CH83267A patent/CH468674A/fr unknown
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 |