DE2611598A1 - Uebersetzungseinrichtung fuer speicheradressen - Google Patents
Uebersetzungseinrichtung fuer speicheradressenInfo
- Publication number
- DE2611598A1 DE2611598A1 DE19762611598 DE2611598A DE2611598A1 DE 2611598 A1 DE2611598 A1 DE 2611598A1 DE 19762611598 DE19762611598 DE 19762611598 DE 2611598 A DE2611598 A DE 2611598A DE 2611598 A1 DE2611598 A1 DE 2611598A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- memory
- address
- card
- instruction
- 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.)
- Ceased
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/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
- Executing Machine-Instructions (AREA)
Description
Int. Az.: Case 950 5. März 1976
Hewlett-Packard Company 26115 98
ÜBERSETZÜNGSEINRICHTÜNG FÜR SPEICHERADRESSEN
Die vorliegende Erfindung betrifft eine Übersetzungseinrichtung für Speicheradressen gemäß dem Oberbegriff des Anspruchs
1. Das Anwendungsgebiet von sogenannten Minicomputern hat sich inzwischen derart erweitert, daß die Anforderungen an
die Speicheradressierungskapazität so groß geworden sind, daß die Anzahl der verfügbaren Bits in der Wortlänge des Computers
weit überschritten worden ist. Die Wortlänge beträgt typischerweise 16 Bits, wodurch der Hauptspeicher des Computers auf
32 76 8 Worte bei unbegrenzter indirekter Adressierung oder auf 65 536 Worte beschränkt ist, wenn nur eine Ebene der indirekten
Adressierung erlaubt ist.
Da die Kernspeichertechnik keine wirtschaftlich attraktive Methode für die Bereitstellung großer Speicherkapazitäten
innerhalb eines Computers war, haben sich in der Vergangenheit die Bemühungen auf Massenspeicher wie Magnetplattenoder
Magnetbandeinheiten gerichtet. Solche Massenspeicher konnten viele Millionen Bits für einen kleinen Bruchteil der
Kosten bereitstellen, die ein entsprechender Kernspeicher verursacht hätte. Solche Vorrichtungen sind jedoch langsam.
In einigen Fällen wurden komplexe Software-Betriebssysteme verwendet, damit diese Vorrichtungen für den Benutzer als Erweiterung
des Computer-Hauptspeichers erschienen. Diese Technik, oft als "virtueller Speicher" bezeichnet, hatte den Nachteil
der Langsamkeit und war schwierig wirkungsvoll zu benutzen.
Eine andere naheliegende Wahlmöglichkeit für den Entwickler bestand darin, die Wortlänge des Computers zu vergrößern und
den Aufbau der Maschine so zu verändern, daß für die Speicher-
609842/0882
adressierung eine größere Wortlänge zur Verfügung stand.
Diese Lösung war zwar die konsequenteste, jedoch auch die teuerste. Zum Beispiel ist es möglich, die Register, Sammelschienen
und die Wortlänge in einem Computer von 16
Bits auf 20 Bits zu erweitern, wodurch die Speicheradressierungskapazität von 65 536 auf über eine Million Worte
erweitert wird. Diese Wahl ist aber speziell dann nicht attraktiv, wenn eine Kompatibilität der Software mit bestehenden
Computern aufrechterhalten werden soll. Der Aufbau einer umfangreichen Software-Bibliothek erfordert nämlich
viel Zeit und Geld.
Eine andere Wahlmöglichkeit für den Entwickler war das Verfahren der Stufenschaltung. Ein Beispiel dafür ist in der
Patentanmeldung P 24 22 802.2-53 beschrieben. Nachteilig ist dabei hauptsächlich das Erfordernis einer zusätzlichen
Speichersteuerung für jede im System benutzte Stufe.
Weiterhin verfügbar war die Benutzung von übersetzungstabellen.
Die bekannten Konstruktionen mit Übersetzungstabellen ließen jedoch die Vielseitigkeit vermissen, die für
komplizierte und ausbaufähige Software-Betriebssysteme erforderlich
ist. In einem Übersetzungstabellensystem ist es erwünscht, Worte zwischen Speicherbereichen zu übertragen,
wobei die Speicherbereiche durch verschiedene Übersetzungstabellen ausgewählt werden, so daß Subroutinen in einem
Speicherbereich ausgeführt werden können, der durch eine
andere Andressentabelle adressiert ist, und daß die Programmsteuerung zu einem Programm in einem Speicherbereich übertragen werden kann, der durch eine andere Übersetzungstabelle adressiert ist. Weiterhin ist es erwünscht, einige
physikalische Speicherplätze allen Benutzern zugänglich zu machen, so daß jeder Benutzer sich einen Teil des tatsächlichen Speichers für die ausschließliche Benutzung reservieren kann.
Speicherbereich ausgeführt werden können, der durch eine
andere Andressentabelle adressiert ist, und daß die Programmsteuerung zu einem Programm in einem Speicherbereich übertragen werden kann, der durch eine andere Übersetzungstabelle adressiert ist. Weiterhin ist es erwünscht, einige
physikalische Speicherplätze allen Benutzern zugänglich zu machen, so daß jeder Benutzer sich einen Teil des tatsächlichen Speichers für die ausschließliche Benutzung reservieren kann.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, eine
609842/0882
Übersetzungseinrichtung für Speicheradressen zu schaffen, mittels -welcher ohne großen Aufwand große Speicher realisiert
werden können. Die Lösung dieser Aufgabe ist im Anspruch 1 gekennzeichnet.
Gemäß einer bevorzugten Ausfuhrungsform der vorliegenden
Erfindung werden von der zentralen Prozessoreinheit (CPU) kommende Speicheradressen aus einer logischen Seitenadresse
und einer Wortadresse zusammengesetzt. Die logische Seitenadresse wird zur Adressierung von Registern in einer
Übersetzungstabelle benutzt, die die physikalische Seitenadressen enthält. Physikalische Seitenadressen unterscheiden
sich von den logischen Seitenadressen dadurch, daß sie mehr Bits enthalten und einen bestimmten Bereich im tatsächlichen
(physikalischen) Speicher adressieren. Die physikalische Seitenadresse ist an die Wortadresse angehängt,
so daß eine vollständige physikalische Speicheradresse eines physikalischen Speichers gebildet wird, die
vom Computer eingegeben oder ausgelesen wird. Jede logische Seite kann in irgendeine physikalische Seite übersetzt werden,
indem die passende Information in die Register der Übersetzungstabelle eingegeben wird. Da weiterhin eine Vielzahl
von Ubersetzungstabellen vorgesehen ist, hängt die schließlich ausgewählte physikalische Adresse von der jeweils
freigegebenen speziellen Übersetzungstabelle ab.
Eine Freigabeschaltung für die Übersetzungstabellen sorgt dafür, daß der Zustand der Übersetzungstabellen wahlweise
verändert werden kann, wobei sich die Schaltung an den vorherigen Zustand erinnert. Diese Schaltung ist nützlich
bei der Ausführung von Instruktionen, die einem Speicherbenutzer die Eingabe und das Auslesen in einen bzw. aus einem
Speicherplatz erlauben, der durch andere ubersetzungstabellen adressiert ist. Andere Instruktionen erlauben eine andauernde
Übertragung der Programmsteuerung von einem Programm in einem ersten, durch eine erste Übersetzungstabelle
adressierten Speicherbereich zu einem Programm, das durch
609842/0882
Eine zweite Übersetzungstabelle adressiert ist. Dies geschieht durch Sperren der ersten Übersetzungstabelle, Freigabe der
zweiten Übersetzungstabelle und Übertragung der Programmsteuerung zu einer spezifizierten Adresse im physikalischen Speicher
durch die zweite Übersetzungstabelle. Andere Instruktionen sorgen
für eine zeitweilige Übertragung der Programmsteuerung von einem Hauptprogramm in einem Speicherbereich, der durch eine
erste Übersetzungstabelle ausgewählt wurde, zu einer Subroutine in einem Speicherbereich, der durch eine zweite Übersetzungstabelle ausgewählt wurde, und zwar durch Sperren der ersten und
Freigabe der zweiten Übersetzungstabelle. Die Rückkehr zum Hauptprogramm wird dadurch bewerkstelligt, daß die erste Übersetzungstabelle
wieder freigegeben wird und die zweite Übersetzungstabelle nach Fertigstellung der Subroutine gesperrt
wird.
Gemäß der vorliegenden Erfindung ist auch ein Register vorgesehen,
das im folgenden als "Umgrenzungsregister" bezeichnet wird und eine logische Basisseitenwort-Adresse speichert. Wenn
die adressierte logische Seite die Basisseite ist, wird der Inhalt dieses Registers mit der Wortadresse von der CPU verglichen.
Auf der Grundlage dieses Vergleichsergebnisses wird die logische Basisseite in eine physikalische Seite übersetzt,
die in den Übersetzungstabellen enthalten ist, oder die Adresse von der CPU wird zur direkten Adressierung eines physikalischen
Speicherplatzes benutzt. Durch direkte Adressierung des physikalischen Speichers mit der Adresse von der CPU
wird, wenn durch die Ergebnisse des Vergleichs/angezeigt, ein gemeinsamer Bereich im physikalischen Speicher geschaffen,
der unabhängig von jeglichem Registerinhalt für die Basisseite einer Übersetzungstabelle ist.
Die Erfindung wird im folgenden anhand von Ausführungsbeispielen in Verbindung mit der zugehörigen Zeichnung erläutert.
In der Zeichnung zeigen:
B09842/0882
Figur 1 das Speicheradressenformat eines Minicomputers gemäß
einem bevorzugten Ausführungsbeispiel;
Figur 2 das Referenzinstruktionsformat für den Speicher
eines Minicomputers;
Figur 3 eine Darstellung der Adressenübersetzung gemäß dem bevorzugten Ausführungsbeispiel;
Figur 4 eine Darstellung zur Beschreibung des Adressenübersetzungsvorgangs
gemäß dem bevorzugten Ausführungsbeispiel ;
Figur 5 ein Blockschaltbild der bevorzugten Ausführungsform;
Figur 6 eine schematische Darstellung der logischen Schaltungen gemäß dem bevorzugten Ausführungsbeispiel;
Figur 7 eine vereinfachte Darstellung von Schaltelementen, die zum Übertragen von Daten zwischen Speicherbereichen
dienen, zu denen von verschiedenen Übersetzungstabellen Zugriff genommen wurde;
Figur 8 ein Flußdiagramm der Datenübertragung zwischen Speicherbereichen,
zu denen über verschiedene Übersetzungstabellen Zugriff genommen wurde;
Figur 9 eine logische Schaltung entsprechend einem Teil der bevorzugten Ausführungsform;
Figur 10 eine logische Schaltung eines weiteren Teils der be-
vorzugten Ausführungsform;
Figur 11 ein F-lußdiagramm, das die logischen Schritte für die
Ermittlung eines falschen Auslesens zeigt.
In Figur 1 ist das Speicheradressierungsschema eines Minicomputers
dargestellt,· wobei die Speicheradresse in eine Seitenadresse und eine Wortadresse aufgeteilt ist. Der Umfang der
Seiten- und der Wortadresse wurde im Definitionsstadium des Instruktionssatzes für den Computer willkürlich gewählt und
hat nichts mit einer physikalischen Aufteilung des Speichers zu tun.
Unabhängig davon, welche Seite ausgewählt wird, liegt die Wortadresse
zwischen 000O0 (0000._) und 1777O (1024.„). Wenn man
O IU ο IU
die Speicheradresse erhöht, sind die Bits null bis neunalle
609842/0882
2000g oder 1O241Q Worte gleich 0000, wodurch der Seitenumfang
bei dieser Ausführungsform definiert ist. Diese Seitenabgrenzungen
sind in Figur 1 dargestellt. Die Nützlichkeit des Seitenkonzeptes wird klar, wenn man das Format
der Speicher-Referenzinstruktionen in Figur 2 betrachtet. Der Operationscode 53 spezifiziert die mit dem aus dem
Speicher ausgelesenen Wort durchzuführende Operation. Typische Operationen sind ADD, AND oder XOR für den Inhalt
eines Speicherplatzes und den Inhalt eines Registers. Die Wortadresse 57 der aus dem Speicher zu lesenden Daten wird
durch Bits null bis neun der Instruktion spezifiziert. Die Seitenadresse des aus dem Speicher auszulesenden Wortes
wird durch das Bit 55 bestimmt und ist entweder die laufende Seite, definiert als die Seite, auf die sich die Instruktion
bezieht, oder ist die Null-Seite. Bei den derzeitig verfügbaren CPUs mit Seitenadressenschemen sind daher
die Null-Seitenadressen extrem wichtig, da zu ihnen von der CPU von einer beliebigen Stelle im Speicher direkt
Zugriff genommen werden kann. Wegen dieser Einschränkung auf die direkte Adressierung lediglich der Speicherplätze
der laufenden Seite und der Nullseite haben Minicomputer-Programmierer vielfältige Programmschemata entwickelt und
ihre'Programme in Segmente aufgeteilt, um diese Begrenzung zu minimisieren. In Anpassung an diese Begrenzungen werden
gemäß der vorliegenden Erfindung mehr Seiten des physikalischen Speichers für die Auswahl verfügbar gemacht, während
der sofort adressierbare Speicherraum bei den vorherigen logischen Seiten belassen wird. Der Speicherbenutzer hat die
Wahlmöglichkeit, den Inhalt der Übersetzungstabellenregister zu ändern oder eine andere übersetzungstabelle zu benutzen,
um den von der jeweils freigegebenen Übersetzungstabelle nicht adressierten Speicherbereich zu adressieren.
Gemäß Figur 3 wird eine durch den Computer spezifizierte Seitenadresse
60 benutzt, um eine der 32 Register in einer übersetzungstabelle 64 zu adressieren, welche ein 12-Bit-Wort
erzeugt, das eine physikalische 10-Bit-Seitenadresse 65 und
B0 9842/0882
Bits 66 und 67 enthält. Die Bits 66 und 67 zeigen an, ob die Seite lese- oder schreibgeschützt ist, wenn die Speicherschutzschaltung
freigegeben ist. Die physikalische 10-Bit-Seitenadresse 65 wird an die 10-Bit-Wortadresse 57
angehängt, wodurch eine 2O-Bit-Adresse 69 entsteht.
Auch Figur 4 zeigt die Betriebsweise der Übersetzungstabelle. Die fünf Bits der logischen Seitenadresse 60
adressieren eines von 32 Registern in der Übersetzungstabelle 64. Das Ausgangssignal des adressierten Registers ist
eine physikalische 10-Bit-Seitenadresse 66. Obwohl bei Benutzung von 10 Bits für die Seitenadressierung 1024,. Seiten
des Speichers auswählbar sind, werden von einer einzelnen Übersetzungstabelle nur 32. Seiten zu jeder beliebigen
Zeit ausgewählt, da die Seitenadressierung noch durch die fünf Bits der logischen Seitenadresse 60 von der CPU begrenzt
ist.
Unter Bezugnahme auf Figur 5 wird das System zunächst beschrieben,
nachdem anfänglich die Leistungszufuhr eingeschaltet wurde. Der Zustand von vier hauptsächlichen Steuersignalen
sperrt das Speichererweiterungssystem, und die gesamte Kommunikation zwischen CPU und Speicher wird durchgeführt,
als wenn der Gegenstand der Erfindung nicht vorhanden wäre ( die CPU und der allgemeine Speicherbetrieb sind
in der Patentanmeldung P 24 22 802.2-53 beschrieben. Die CPU 150 ist auch im HP Journal Oktober 1974 beschrieben.)
Signale 101, 102 und 103 werden zusammen benutzt, um das System in einen von acht Zuständen zu steuern, die mit QO
bis Q7 bezeichnet sind und in Tabelle 1 beschrieben sind. Bei Einschaltung der Leistungszufuhr sind die Signale 101,
102.und 103 alle im logischen Zustand "1", der in Tabelle I mit Q7 bezeichnet ist und den NOP-Zustand (kein Betrieb)
des Systems darstellt. Diese drei Signale bewirken, daß eine Freigabe und eine Adressierungsschaltung 105 alle Eingangssignale ignoriert und ein Signal 108 im logischen Zustand
6 f) 9 84 2 / 0 8 8 2
-B-
"O" hält. (Das Signal 108 wird in den logischen Zustand "0"
übersetzt, wenn die Energiezufuhr eingeschaltet wird.) Dementsprechend wird ein Multiplexer-Steuergatter 109 gesperrt.
Das Multiplexer-Steuergatter 109 erzeugt ein Signal 11ü mit dem logischen Zustand 11O" das den B-Eingang
eines Multiplexers 111 auswählt und zu einem Register 182 für physikalische Speicheradressen durchschaltet. Die CPU
150 kann nur zu den untersten 32 K des physikalischen Speichers Zugriff nehmen, wenn der B-Eingang des Multiplexers
111 gewählt ist, da die den fünf Bits mit den höchsten Stellenwerten
des B-Eingangs entsprechenden Leitungen geerdet sind.
Die Register der Übersetzungstabelle werden aufeinanderfolgend
adressiert, beginnend mit Null für das erste Register in der Übersetzungstabelle 130 und endend mit 1271Q für das
letzte Register in der Übersetzungstabelle 145. Die übersetzungstabellen-Register
werden mit Adresseninformation geladen, wie nachfolgend beschrieben ist. Zuerst wird die
Adresse des zu ladenden Registers von der CPU 150 über eine S-Sammelschiene 155 zu einem Tabellen-Adressenregister
innerhalb der Freigabe- und Adressierungsschaltung 105 gesandt.
Sie wird in das Tabellenadressenregister 106 durch gleichzeitige Ausführung des System-Zustandsbefehls Q5 eingetaktet,
wie in Tabelle I beschrieben ist. (Spezielle Konfigurationen von Daten auf der S-Sammelschiene 155 und
ihr Effekt im Zusammenhang mit der Ausführung der Zustandsbefehle nach Tabelle I sind in Tabelle II dargestellt).
Danach wird die physikalische Seitenadresse und Schreib/ Lese-Schutzinformation auf die S-Sammelschiene 155, bzw. auf
Leitungen 0 bis 9, 14 und 15 gegeben und im ausgewählten
Übersetzungstabellen-Register durch gleichzeitige Ausführung des Zustandsbefehls Q1 gespeichert, wie in den Tabellen I
und II beschrieben ist. Die obige Prozedur wird solange wiederholt, bis alle Übersetzungstabellen-Register mit der
6 0 9 8 4 11 0 8 8 2
gewünschten Information geladen sind. Spezielle Instruktionen für den gradlinigen Betrieb des Systems sind im Anhang
A beschrieben.
Gemäß Figur 6A ist es erforderlich, ein Steuerwort zu einem Zustandsregister 268 zu übertragen und den Zustandsbefehl
Q5 auszuführen, um die Übersetzung der logischen Seitenadressen zu starten. Dies geschieht durch gleichzeitige Eingabe
eines Steuerwortes in die S-Sammelschiene 155, wobei der logische Zustand der Bits über Tabelle II ausgewählt ist, und
durch Ausführung des Systemzustandsbefehls Q5, der in Tabelle I beschrieben ist. Wenn z.B. mit der Übersetzung logischer
Seitenadressen vom Computer über die Übersetzungstabelle begonnen werden soll, muß das Steuerwort für die S-Sammelschiene
alle Bits im logischen Zustand "0" haben, mit Ausnahme der Leitung 14. Die Decodierung des Systemzustandsbefehls Q5 durch
einen Zustandsbefehlsdecoder 201 bewirkt das Setzen eines Flipflops (FF) 205 und die Rückstellung eines FF 210. Der Q-Ausgang
des FF 205 ist mit einem Gatter 215 verbunden, welches daraus eine logische "1" erzeugt. Das "1" Ausgangssignal vom
Gatter 215 erzeugt bei einem Gatter 220 ein Ausgangssignal "0". Das Ausgangssignal des Gatters 220 wird einem Inverter 225
zugeführt, der ein Signal 22 7 erzeugt, welches sich im logischen Zustand "1" befindet. Das Signal 227 und ein Signal
226 sind die Freigabesignale für Übersetzungstabellen 130 bzw. 135. Das FF 210 wird zurückgestellt und erzeugt ein Signal
im logischen Zustand "1". Daher wird die Übersetzung der logischen
Seitenadresse durch die Übersetzungstabelle 130 freigegeben
.
Wie in Figur 5 dargestellt ist, wird eine logische Seitenadresse
160 von der CPU 150 zur Übersetzungstabelle 130 durchgeschaltet.
Der Inhalt des Übersetzungstabellen-Registers, das durch die logische Seitenadresse 160 adressiert wird, wird
zu einer Sammelschiene 115 ausgegeben und dem Α-Eingang des Multiplexers 111 zugeführt. Das Signal 108 befindet sich im
logischen Zustand "1", und da sich das Ausgangssignal eines
0-984 2/-Ü8 &2
!Comparators 165 (Benutzung weiter unten beschrieben) sich zu
diesem Zeitpunkt im Zustand "1" befindet, erzeugt ein UND-Glied 109 ein Signal 110 im logischen Zustand "1". Der Multiplexer
111 wählt den Α-Eingang, den Registerinhalt der Übersetzungstabelle auf Sammelschiene 115 und verbindet ihn mit
dem zehnten bis neunzehnten Bit des Registers 182 für physikalische Speicheradressen. Die Wortadresse 125 wird mit
den Bits 0 bis 9 des Registers 182 verbunden.
Wenn ein Lese-Befehl 186 oder ein Schreib-Befehl 187 von
der CPU 150 an eine Speicherzeitgeber- und Steuereinrichtung
180 ausgegeben wird, taktet ein Taktsignal auf einer Leitung 123 sowohl das Ausgangssignal vom Multiplexer 111 als auch
die Wortadresse 125 in das Register 182 ein. Außerdem werden
Zeitgeber- und Steuersignal 184 in den physikalischen Speicher
190 gegeben. Die Ausführung des Lesebefehls 186 bewirkt
ein Auslesen der Daten aus dem physikalischen Speicher 190
in ein Speicherdatenregister 192. Die Übertragung von Daten
vom Speicherdatenregister 192 zur CPU 150 wird weiter unten im Zusammenhang mit einer Schutzschaltung 199 beschrieben.
Der Ausführung des Schreibbefehls 187 geht die Speicherung des in den Speicher einzuschreibenden Wortes dem Speicherdatenregister
192 voraus.
Nimmt man an, daß alle Register der Übersetzungstabelle mit den gewünschten physikalischen Adressen geladen sind, kann
die CPU 150 Zugriff zu Speicherplätzen durch jede der Übersetzungstabellen
nehmen oder kann die Übersetzungstabellen sperren, indem sie den Zustandsbefehl Q5 (Tabelle I) ausführt,
und die logische Seitenadresse 160 mit der Wortadresse 125 benutzen, um direkten Zugriff zu den untersten
32 Seiten des physikalischen Speichers zu nehmen.
In Figur 6A ist eine Schaltung der bevorzugten Ausführungsform gezeigt, die den freigegebenen Zustand der Übersetzungstabelle im Betrieb bewahrt, nachdem irgendeine CPU-Unterbrechung
aufgetreten ist. Diese Schaltung wählt dann die
60 9 842/0882
Übersetzungstabelle aus, die den Speicherbereich adressiert, welcher das Programm zum Beheben der Unterbrechung enthält.
Daraufhin kann die Übersetzungstabelle, die zum Zeitpunkt der Unterbrechung in Benutzung war, wieder in ihren freigegebenen
Zustand zurückversetzt v7erden. Der Inhalt eines Zustandsregisters
268 wird in einem Bewahrungsregister 250 auf ein Signal 265 hin gespeichert, wo er für die nachfolgende
Rückspeieherung in das Zustandsregister 268 benutzt wird.
Außerdem wird die Übersetzungstabelle 130 durch ein Gatter 266 freigegeben. Das Signal 265 wird auch an ein Gatter 220
gegeben, welches einem Gatter 225 äne logische "0" zuführt, wodurch ein Signal 22 7 erzeugt wird und die Übersetzungstabelle 130 ausgewählt wird. Die Schaltung in der CPU 150
reagiert auf das Signal 265 und bewirkt, daß die nächste Instruktion von der Speicheradresse abgerufen wird, die den
gleichen Binärwert wie der Auswahlcode der unterbrechenden Vorrichtung hat. FF 205 ist mit dem Gatter 215 verbunden,
welches an ein Gatter 220 ein Ausgangssignal mit niedrigem Pegel liefert. Das Gatter 220 erzeugt ebenfalls ein niedriges
Ausgangssignal, nachdem das Signal 265 auf den logischen Zustand "0" gegangen ist. FF 260 wird auch durch
das Signal 265 gesetzt.
Nachdem durch die CPU eine Unterbrechung verarbeitet worden ist, stellt das Unterbrechungsprogram den Originalzustand
der Zustandsregister wieder her. Das Bewahrungsregister 250 wird auf die S-Sammelschiene 155 ausgelesen, indem der Systemzustandsbefehl
Q6 (Tabelle I) ausgeführt wird. Der Zustandsbefehldecoder
201 gibt das Signal Q6 an ein Gatter 2 86, welches bewirkt, daß ein Signal 2 85 den Inhalt des Bewahrungsregisters 250 auf die Leitungen 15 und 14 der S-Sammelschiene
155 ausliest. (FF 279 ist zu diesem Zeitpunkt als gesetzt angenommen. FF 2 79 wird benutzt, wenn erwünscht ist, das weiter
unten beschriebene Verletzungsregister anstelle des Zustandsregisters zu lesen. Dies geschieht durch Ausführung des Zustandsbefehls
Q4 unmittelbar vor der Ausführung des Zustandsbefehls Q6, wodurch FF 279 gesetzt wird, was daraufhin das
Gatter 268 sperrt und stattdessen das Gatter 227 freigibt.)
B09H42/0882
Die CPU 150 verschiebt dann die aus dem Bewahrungsregister
250 ausgelesenen Bits so, daß sie auf den Leitungen 9 und der S-Sammeischiene 155 anstehen. Die CPU mischt dann diese
verschobenen Bits mit einem ^atenwort, das bei Bit 14 eine logische "1" hat und liest sie dann zurück auf die Sammelschiene
155, während wieder der Systemzustandsbefehl Q5
(Tabelle I) ausgeführt wird. Die Information auf den Leitungen 8 und 9 der S-Samme!schiene wird in das Zustandsregister
168 eingetaktet und der Originalzustand der Übersetzungstabellen
ist damit wiederhergestellt. Nur zwei Übersetzungstabellen werden durch die Schaltung gemäß Figur 6
gesteuert, jedoch könnte eine beliebige Zahl von Übersetzungstabellen auf diese Weise gesteuert werden, indem zusätzliche
Speicherelemente dem Zustandsregister 268 und dem Bewahrungsregister 250 angefügt würden.
Eine andere in Figur 6 dargestellte Schaltung eignet sich insbesondere
für Anwendungen, bei denen erwünscht ist, abwechselnd zwei verschiedene Übersetzungstabellen freizugeben, um Datenblocks
von einem durch die eine Übersetzungstabelle ausgewählten Speicherbereich zu einem von der anderen Übersetzungstabelle ausgewählten Speicherbereich zu übertragen oder Subroutinen
in einem Speicherbereich auszuführen, der durch eine andere Übersetzungstabelle ausgewählt wurde. In Figur 7 sind
als Auszug aus Figur 6 einige Elemente dieser Schaltung dargestellt. Sobald FF 205 gesetzt ist, wird ein Signal 227 im
logischen Zustand "1" vom Gatter 225 ausgegeben. Die Übersetzungstabelle 130 wird freigegeben und die Übersetzungstabelle 135 wird gesperrt. Um die beiden Übersetzungstabellen
130 und 135 abwechselnd freizugeben, ist es erforderlich, den
Systemzustandsbefehl Q3 (Tabelle I) auszuführen. Der Betrieb
dieser Schaltung wird nachfolgend beschrieben.
Es sei angenommen, daß FF 260 zunächst rückgestellt und FF gesetzt ist, daß das Gatter 220 an seinem Ausgang eine "0" abgibt
und daß das Eingangssignal des Gatters 225 logisch "1" ist. Dementsprechend ist die Übersetzungstabelle 130 freigegeben.
B [l 9 H 4 2 / 0 8 8 2
Die Ausführung des Systemzustandsbefehls Q3 gibt ein Signal
"1" vom Ausgang des Gatters 345 an den J-Eingang und eine logische "0" an den invertierenden K-Eingang des FF 260.
Ein Taktsignal 346 bewirkt, daß FF 260 in den gesetzten Zustand schaltet. Dadurch wird am Gatter 215 ein niedriges
Ausgangssignal erzeugt, wodurch die Übersetzungstabelle 130
durch das Gatter 225 gesperrt und die Übersetzungstabelle 135 freigegeben wird. Zugriff zum Speicher wird von da an,
durch die Übersetzungstabelle 135 genommen. Die Ausführung des Systemzustandsbefehls Q3 stellt den freigegebenen Zustand
der Übersetzungstabelle 130 wieder her und sperrt die Übersetzungstabelle
135. Die Nützlichkeit dieser Schaltung ist im Flußdiagramm in Figur 8 dargestellt.
Das Verfahren gemäß dem Flußdiagramm kammittels eines Softwareprogramms,
eines Mikroprogramms oder einer Hardwareschaltung ausgeführt werden. Vorzugsweise wird ein Mikroprogramm
wegen der Ausführungsgeschwindigkeit benutzt. (Alle Mikroprogramme der Systembefehle sind im Anhang C aufgelistet.
Definitionen der Mikroinstruktionen finden sich im Anhang B.)
Es gibt zwei Eingangspunkte. Es sei zunächst einmal angenommen, daß die Übersetzungstabelle 130 freigegeben ist und ein
Programm im Speicherbereich 335 ausgeführt wird. Wenn gewünscht wird, aus dem Speicherbereich 335 durch die Übersetzungstabelle 130 auszulesen und in den Speicherbereich 340 durch die
Übersetzungstabelle 135 zu schreiben, wird der Eingangspunkt 2 benutzt. Wenn der Eingangspunkt 1 benutzt wird, werden Worte
aus dem Speicherbereich 340 ausgelesen und in den Speicherbereich 335 eingeschrieben.
Die obigen Ausführungen gehen davon aus, daß zu Daten in einer Speicheradresse durch eine andere Übersetzungstabelle Zugriff
genommen wird. Diese Schaltungen sind aber auch wirksam bei der Ausführung von Subroutinen in Speicherbereichen, die durch
andere Übersetzungstabellen adressiert sind. Spezielle Instruktionen sind im Anhang A aufgelistet.
6 0 9 8 4-2/0882
Unter Bezugnahme auf Figur 5 soll nun das Verfahren beschrieben werden, wie die Wortadressen der logischen Basisseite
entweder für die Übersetzung durch die Übersetzungstabelle, wenn diese freigegeben ist, oder für die direkte Adressierung
des physikalischen Speichers ausgewählt werden. Vor Betriebsbeginn wird ein Umgrenzungsregister 168 durch Ausführung des
Systemzustandsbefehls Q5 (Tabelle I) geladen, während Daten in dem in Tabelle II dargestellten Format auf die S-Sammelschiene
155 ausgelesen werden. Wenn danach das System freigegeben wird und die logische Basisseitenadresse 160 die Basisseite
adressiert, gibt ein Komparator 170 ein Freigabesignal·
an den Komparator 165 ab. Der Komparator 165 vergleicht dann
die Wortadresse 125 mit dem Inhalt des Umgrenzungsregisters 168. Wenn die Wortadresse 125 innerhalb des Bereichs der logischen
Basisseite liegt, der für die direkte Adressierung des physikalischen Speichers ausgewählt ist, ist das Ausgangssignal
vom Komparator 165 logisch 11O". Dadurch wird das Gatter
109 gesperrt und der B-Eingang des Multiplexers 111 wird auf
das Register 182 für die physikalischen Speicheradressen geschaltet. Wenn der Vergleich der logischen Wortadressen 125
mit dem Inhalt des Umgrenzungsregisters 268 nicht ergibt, daß die Wortadresse zur direkten Adressierung des physikalischen
Speichers dient, wird das Gatter 109 nicht gesperrt, und der Registerinhalt der Übersetzungstabelle auf einer ME-Sammelschiene
115 wird vom Α-Eingang des Multiplexers 111 zum Regisfcs:
182 durchgeschaltet.
Die für direkte Adressierung ausgewählten Wortadressen der Basisseite stellen daher einen gemeinsamen Bereich des physikalischen
Speichers zur Verfugung, zu dem jeder Speicherbenutzer Zugriff nimmt, ohne Rücksicht auf die Registerinhalte
der Übersetzungstabelle. Die verbleibenden Wortadressen auf der logischen Basisseite werden durch die Register der Übersetzungstabelle
übersetzt und können dazu dienen, zu jedem Bereich des physikalischen Speichers 19O Zugriff zu nehmen,
indem verschiedene physikalischen Seitenadressen in den Registern
der Übersetzungstabellen 130, 135, 140 und 145 gespeichert
werden, die adressiert werden, wenn die logische
609842/0882
?6 Ί1598
Seitenadresse 160 die Basisseite adressiert. Die als Teilungspunkt zwischen den zugeordneten und den gemeinsamen Bereichen
ausgewählte Adresse wird vom Systemprogrammierer ausgewählt.
Die in Figur 5 dargestellte Schutzschaltung prüft solange nicht auf fehlerhaftes Schreiben, bis die CPU 150 ein Signal MPCND
500 mit dem logischen Zustand "1" erzeugt. Jede Instruktion, die eine Schreib- oder Sprungoperation versucht, hat einen
Mikroinstruktionsschritt, mit dem MPCK ausgeführt wird (Anhang B) und die verdächtige Adresse auf die S-Sammelschiene 155 ausliest.
Wenn ein geschützter Speicherbereich adressiert wird, bewirkt die Ausführung der Mikroinstruktion MPCK durch die CPU
150 die Abgabe eines Signals 500 an die Schutzschaltung 199. Erfaßte Versuche einen geschützten Speicherbereich zu verletzen
führen zur Erzeugung eines Signals 505 und seine Abgabe an die CPU 150, die dann die Instruktion hemmt.
Gemäß Figur 9A speichert ein Verletzungsregister 550 die logische Seitenadresse 160 .und die aufgetretene Verletzungsart.
Der Takt für das Verletzungsregister wird durch das Signal 500, ein Signal 514 oder ein Signal 186 erzeugt, je nach Art der
Verletzung. Sobald eine Verletzung stattgefunden hat, wird durch die Erzeugung des Signals 505 ein Flipflop 506 gesetzt,
welches das Verletzungsregister vor einer Veränderung schützt, solange bis es durch die CPU 150 zurückgestellt wird.
Die vier Verletzungsarten sind Leseschutz-Verletzung, Schreibschutz-Verletzung,
Basisseiten-Verletzung und Unterbrechung von priviligierten Instruktionen. Ein detaillierte Beschreibung
findet sich im Anhang A. Diese Verletzungen werden durch Signale 511, 512, 513 bzw. 514 angezeigt. Der Zustand der Signale wird
im Verletzungsregister 550 festgehalten, wenn die Verletzung erfaßt worden ist. Das Format des im Verletzungsregister festgehaltenen
Wortes ist in Tabelle III dargestellt.
Das Wort "Karte" ist synonym mit "Übersetzungstabelle " und wird in den Tabellen, Kommentaren zu den Erogrammlisten und den In-
6 0 9842/ÜHB2-
struktionsbeschrexbungen genutzt. Das Wort "tabelliert" zeigt
an, daß die logische Seitenadresse durch die Übersetzungstabellen in eine physikalische Seitenadresse übersetzt worden
ist.
Weitere Information über den Zustand des Systems ist für die CPU 150 vom Zustandsregister 279 erhältlich, welches in Figur
6B dargestellt ist. Es gibt Zustandsinformationen in dem in
Tabelle III dargestellten Format auf den Systemzustandsbefehl Q6 hin ab. Das Signal 285 gibt Gatter 2 78 und 280 frei, um
Zustandsinformation auf die Ξ-Sammelschiene 155 auszulesen. Wie in Figur 6A dargestellt ist, ist der Zustandsbefehl-Decoder
201 mit seinem Ausgang an das Gatter 286 angeschlossen, welches nur dann ein Signal 285 erzeugt, wenn FF 279 durch
die Ausführung des Systemzustandsbefehls Q4 (Tabelle I) zurückgestellt worden ist.
Alle versuchten Verletzungen eines geschützten Speicherbereichs'
oder Versuche, verbotene Instruktionen auszuführen, werden erfaßt und zum Zeitpunkt des Beginns der Instruktion
gehemmt, mit der Ausnahme des Leseschutzes. Bei modernen CPU-Schaltungen ist eine "vorausschauende" Leseschaltung
vorhanden, die den Speicherplatz liest, der höchstwahrscheinlich als nächster angefordert wird, bevor ein Lesebefehl ausgegeben
wird. Die Verletzungsschaltung erzeugt daher solange kein Unterbrechungssignal bis die CPU 150 tatsächlich Daten
anfordert. Dies wird durch Erzeugung eines Signals 510 (Figur 5) durch die CPU 150 und seine Abgabe an das Speicherdatenregister
192 über ein Gatter 194 angezeigt. Wenn diese Datenanforderung auftritt und durch eine Leseschutz-Bit 516
ein Leseschutz angezeigt wird, erzeugt die Schutzschaltung 129 ein Signal METDIS 188 im Zustand 11O". Dadurch wird
das Lesendes Inhalts des geschützten Speicherplatzes zurück
in die CPU 150 über die S-Sammeischiene 155 gehemmt. Das
detaillierte Schaltbild dieses Teils der Schutzlogik ist in Figur 6B dargestellt.
Das Flußdiagramm in Figur 11 zeigt die logischen Schritte,
B 0 H fU 2 I O 8 8 2 -
die von der Schaltung ausgeführt werden, um festzustellen, ob eine Leseverletzung versucht wird.
609 8-4 2/0882 GOPY
TABELLE I
Q 1. Auslesen der SYS/USR-Karte an die S-Sammel-
schiene freigeben (über Register 106, Bit 5)
2. S-Sammelschiene in Karten speichern (über Register 106, Bit 7)
3. Relative Kartenadresse durch Register 106, Bits (0 - 4) spezifiziert.
Q 1. S-Sammelschiene in Karten speichern (über
Register 106, Bits 5, 6)
2. Kartenregisteradresse spezifiziert durch Register 106, Bits (0 - 4)
Q 1. Karten an S-Sammelschiene freigeben (über
Register 106, Bits 5, 6)
2. S-Sammelschienen-Bits (10 - 13) sind immer niedrig.
3. Kartenregister, Adresse spezifiziert durch Register 106, Bits (0 - 4)
Q_ 1. Entgegengesetzte Programmkarte auswählen
Q. 1. Hinweismarke "Zustandsbefehl" durch nächsten
Mikroprozessorzyklus setzen (siehe Qfi)
2. Auf gerade ausgewählte Programmkarte zurückstellen
. QOPY
- 1 y -
2 B I 1 S 9 B
Q_ 1 . S-Sammelschiene speichern in
a) MEM-Zustandsregister (2 Bits)
b) MEM-Zaunregister (11 Bits)
c) MEM-Adressenregister (8 Bits)
2. Obige Register ausgewählt durch S-Sammelschienen-Bits
(15 - 13)
Q, . 1. Zustandsdaten auf S-Sammelschiene freigeben
ο
a) Normalerweise liest Verletzungsregister
b) Bei vorangehendem Q.-Befehl wird Zustandsregister
gelesen
Q 1. Kein Mikrocode spezifiziert
2. NOP-Zustand
h I.I H H A 11 U b B 2
COPY
TABELjjjc. II
Zustandsbefehl
S-Sammelschienen-Bits
Bedeutung der S-Sammelschienen-Bits
0-9
14
15
0-9, 14,
10 N /A N/A
14
S-Sammelschienen-Bits 0-9
stellen in ein ausgewähltes Kartenregister eingespeicherte Adressendaten dar.
S-Sammelschienen-Bit 14 stellt das Schreibschutz-Bit dar. S-Sainmelschienen-Bit 15 stellt das Leseschutz-Bit dar.
S-Sammelschienen-Bit 14 stellt das Schreibschutz-Bit dar. S-Sainmelschienen-Bit 15 stellt das Leseschutz-Bit dar.
S-Sammelschienen-Bits 0-9 stellen in ein ausgewähltes
Kartenregister eingespeicherte Daten dar.
S-Sammelschienen-Bit 14 stellt das Schreibschutz-Bit dar.
S-Sammelschienen-Bit 15 stellt das Leseschutz-Bit dar.
S-Sammelschienen-Bits stellen vom ausgewählten Kartenregister lesende Daten dar.
Immer im Null-Zustand.
Immer im Null-Zustand.
Keine besondere Bedeutung Keine besondere Bedeutung
Bevorzugte Operation erlauben. Zustandsregister 268 über S-Sammelschienen-Bits
8, 9 laden. Register 106 über S-Sammelschienen-Bits 0-10 laden.
609842/0882
Q 0-15 Zustandsregister nach Tabelle I
oder Verletzungsregister nach Tabelle IV
Q N/A Keine besondere Bedeutung
609842/0882
TABELLE III
Zustandsregister Bedeutung
15 MEM Aus/Ein (0/1) bei letzter Unterbrechung
15 MEM Aus/Ein (0/1) bei letzter Unterbrechung
14 System/Benutzer (0/1) ausgewählt bei
letzter Unterbrechung
13 MEM"Aus/Ein (0/1) momentan
12 System/Benutzer (0/1) momentan ausgewählt
11 PM momentan freigegeben
10 Teil tabelliert
9 Basisseiten-Eingrenzungsbit 9
8 Basisseiten-Eingrenzungsbit 8
7 Basisseiten-Eingrenzungsbit 7
6 Basisseiten-Eingrenzungsbit 6
5 Basisseiten-Eingr.enzungsbit 5
4 Basisseiten-Eingrenzungsbit 4
3 Basisseiten-Eingrenzungsbit 3
2 Basisseiten-Eingrenzungsbit 2
1 Basisäeiten-Eingrenzungsbit 1
O Basisseiten-Eingrenzungsbit O
Bit 10 Tabellierte Adressen
0 Umgrenzung <. M <- 2000 o
1 1 < M < Umgrenzung
609842/0882
609842/0882
TABELLE IV
Verletzungsregister Bedeutung
Leseverletzung SchreibVerletzung
Basisseiten-Verletzung
I 2 Verletzung bevorzugter Instruktion
Reserviert Reserviert
9 Reserviert
8 Reserviert
7 ME-Saitimelschiene freigegeben
6 MEM-Karten freigegeben
5 System/Benutzer (0/1) freigegeben
4 Kartenregister-Bit
3 Kartenregister-Bit
2 Kartenregister-Bit
1 Kartenregister-Bit
0 Kartenregister-Bit
B Ü 9 H /♦ 2 / (J 8 8 2
ANHANG A
Spezielle Begriffe und spezielle Anmerkungen einschließlich Abkürzungen, die bei der Interpretation der Instruktionsbeschreibungen
nützlich sind. "MEM" bezieht sich auf das System gemäß der bevorzugten Ausführungsform.
Geschützter Betrieb (PM)
Durch die CPU hergestellter Programmzustand. Der geschützte Betrieb beginnt mit der Ausführung einer·
Instruktion STC 05B.
Der geschützte Betrieb endet, wenn die CPU eine Unterbrechung erkennt.
Voreinstellung sperrt die Tabellierungsfunktionen und
beendet den geschützten Betrieb.
MEM-Verletzung (MEMV) Eine von verschiedenen Bedingungen die beim bevorzugten
Ausführungsbeispiel nicht erlaubt sind. Kann nur bei PM eintreten.
Angezeigt durch eine Unterbrechungsanforderung zum Kanal
5 mit gesetzter I/O-Marke (d.h. man kann programmatisch
feststellen, ob die CPU oder MEM die Unterbrechung durch Ausführung entweder von SFS 05 oder SFC 05 verursacht hat).
N.B. ein STF 05 oder CLF 05 gibt noch die paritätsbezogenen Funktionen von MP frei oder sperrt sie.
MEM-Verletzungsregister (MVR)
Das MVR wird solange nicht mit irgendwelchen Daten geladen, bis Steuerung 5 gesetzt ist.
Es wird dann kontinuierlich eingeblendet, bis ein MEMV auftritt oder Steuerung 5 gelöscht wird.
Daher ist der auf ein MEMV folgende Inhalt gültig bis STC 05 ausgegeben wird.
Voreinstellung löscht MVR.
Voreinstellung löscht MVR.
B Ü 9 8 k 2 I Cl 8 8 2
--25 -
Basisseitenumgrenzung (BPF)
Erlaubt einem Teil der Basisseite (00000-01777) der zugehörigen
physikalischen Adressen zu entsprechen ohne Rücksicht darauf, welche Karte freigegeben ist.
Ob der Teil oberhalb oder unterhalb der Umgrenzungsadresse liegt, ist vom Programm festlegbar, wenn die Umgrenzung
gesetzt wird.
Logische Adressen 00000 und 00001 (z.B. A/B) werden nicht tabelliert, wenn der Standardsatz von Assembler-Sprache-Instruktionen
benutzt wird.
Voreinstellung löscht BPF.
Voreinstellung löscht BPF.
Netzausfall/Automatisches Wiederstarten
Alle Register auf dem MEM sind energieabhängig, und der
Inhalt sollte im Hauptspeicher durch die Leistungsausfallroutinen
festgehalten werden, wenn automatisches Wiederstarten gewünscht wird.
Nach Wiederherstellung der Energiezufuhr werden alle Karten gesperrt und müssen vor Freigabe unter Programmsteuerung
geladen werden.
MVR und BPF werden automatisch gelöscht, wenn die Leistungszufuhr wiederhergestellt wird.
Karte Wechseln
Das MEM hat vier bestimmte Karten.
Zwei dienen zur Programmausführung.
Die Programmkarte die speziell freigegeben ist, wird als
die "laufende Karte" bezeichnet.
Die andere Programmkarte wird als "Wechselkarte" bezeichnet.
Die Karten für Zugang A und Zugang B werden in keinem Fall als laufende oder Wechselkarte bezeichnet. Sie werden von
anderen Vorrichtungen für die Kommunikation mit den Speicher
benutzt.
Beispiel: SJP macht aus der Systemkarte die laufende Karte
und die Benutzer-Karte ist dann die Wechselkarte.
G 0 9 B k 2 / (J B 8 2
- 2δ -
MEM MAKROINSTRUKTIONEN
CODE | MNEMONIK | LEN | PRV | INT |
02 | MBI | 1 | A | Y |
03 | MBF | 1 | M | Y |
04 | MBW | 1 | A | Y |
05 | MWI | 1 | A | Y |
06 | MWF | 1 | M | Y |
07 | MWW | 1 | A | Y |
10 | SYA/B | 1 | M | N |
11 | USA/B | 1 | M | N |
12 | PAA/B | 1 | M | N |
13 | PBA/B | 1 | M | N |
14 | SSM | 2 | M | N |
15 | JRS | 3 | M | N |
20 | XMM | 1 | M | Y |
21 | XMS | 1 | M | Y |
22 | XMA/B | t | A | N |
24 | XLA/B | 2 | M | N |
25 | XSA/B | 2 | A | N |
26 | XCA/B | 2 | M | N |
27 | LFA/B | 1 | A | N |
30 | RSA/B | 1 | N | N |
31 | RVA/B | 1 | N | N |
32 | DJP | 2 | M | N |
33 | DJS | 2 | M | N |
34 | SJP | 2 | M | N |
35 | SJS | 2 | M | N |
36 | UJP | 2 | M | N |
37 | IJS | 2 | M | N |
BESCHREIBUNG
Bytes hineinbewegen Bytes herausbewegen Bytes innerhalb bewegen Worte hineinbewegen Worte hinausbewegen Worte innerhalb bewegen System laden/speichern Benutzer laden/speichern Zugang A laden/speichern Zugang B laden/speichern Zustand im Speicher speichern
Bytes hineinbewegen Bytes herausbewegen Bytes innerhalb bewegen Worte hineinbewegen Worte hinausbewegen Worte innerhalb bewegen System laden/speichern Benutzer laden/speichern Zugang A laden/speichern Zugang B laden/speichern Zustand im Speicher speichern
Springen und Zustand wiederherstellen Karte oder Speicher übertragen
Karte aufananderfolgend übertra-Karte
intern übertragen Kreuzung laden
Kreuzung speichern Kreuzung vergleichen Umgrenzung laden Zustand lesen
Verletzung lesen Sperren und JMP Sperren und JSB System freigeben und JMP System freigeben und JSB Benutzer freigeben und JMP Benutzer freigeben und JSB
Kreuzung speichern Kreuzung vergleichen Umgrenzung laden Zustand lesen
Verletzung lesen Sperren und JMP Sperren und JSB System freigeben und JMP System freigeben und JSB Benutzer freigeben und JMP Benutzer freigeben und JSB
" Letzte zwei Oktalziffern. Vorausgeht 1017 oder 1057 ..
wie für A/B-Registerbedeutung benötigt wird. Instruktionen, die sich nicht explizit auf A/B beziehen, empfangen 1057 ..
vom Assembler.
6 0 9842/Ü882
Die Spaltenüberschriften sind folgendermaßen definiert:
LEN - Anzahl der Worte für diese Makroinstruktion.
PEY — Diese Instruktion wird besonders beachtet wenn eine. Ausführung bei geschütztem Betrieb erfolgt
(d^h. wenn Steuerung 5 gesetzt ist). Bei "A" (immer) ist diese Instruktion bei PM unerlaubt
und erzeugt immer eine MEM-Verletzung. Bei "M" (manchmal) kann die spezielle Instruktion ein
MEMV verursachen, wie in der Instruktionsbeschreibung erklärt ist- Bei 41N" (nie) erzeugt diese Instruktion
auf keinen Fall ein MEMV in irgendeinem Betrieb.
INT - Zeigt an ob die Ausfuhrungsroutine der Instruktion
unterbrechbar igt oder nicht.
MEM sperren und springen (JUMP) Mnemonik: DJP
Oktal-Code: 1O5732 Format: DJP DEF ADR (,I)
Bewirkt die Sperrung der Übersetzungs- und Schutzmerkmale
von MEM. Das P-Register wird dann auf die Adresse gesetzt, die sich aus ADR(,I) vor der Sperrung
ergeben hat. Als Ergebnis der Ausführung dieser Instruktion werden normale I/O-ünterbrechungen solange
herausgehalten, bis zur ersten Möglichkeit, die auf den Abruf der nächsten Instruktion folgt, solange
drei oder mehr Indirekt-Niveaus benutztwerden.
Wenn keine Karten freigegeben sind, wird die In-
struktion zu einem JMP +1,1. Diese Instruktion erzeugt
normalerweise ein MEMV, wenn sie in PM ausgeführt wird. Wenn jedoch die Systemkarte freigegeben
ist, ist sie in PM erlaubt.
MEM sperren und zur Subroutine springen Mnemonik: DJS Oktal-Code: 1O5733
Format DJS DEF ADR(,I)
609842/Ü882
Bewirkt die Sperrung der Übersetzungs- und Schutzmerkmale
von MEME. Das P-Register wird auf die Adresse gesetzt, die um Eins hirfer der Adresse
liegt, die vor der Sperrung aus ADR(,I) erhalten wurde. Die Rückkehradresse wird in ADR(,I) eingeschrieben.
Als Ergebnis der Ausführung dieser Instruktion werden normale I/O-Unterbrechungen herausgehalten
bis zur ersten Möglichkeit, die dem Abruf der nächsten Instruktion folgt, es sei denn, daß
drei oder mehr Indirekt-Niveaus benutzt werden. Diese Instruktion erzeugt normalerweise ein MEMV,
wenn sie in PM ausgeführt wird. Wenn jedoch die Systemkarte freigegeben ist, ist sie in PM erlaubt.
Springen und Zustand wieder speichern Mnemonik: JRS
Oktalcode: 105715 Format: JRS DEF STS (,I) DEF ADR(,I)
Bewirkt, daß der Zustand von MEM (d.h. freigeben/ sperren und System/Benutzer) wieder gespeichert
wird, wie durch die Bits 15, 14 von STS (,I) angezeigt
ist. Die Bits (13-0) werden ignoriert. Das P-Register wird auf ADR(I,) gesetzt. Als Ergebnis
der Ausführung dieser Instruktion werden normale I/O-Unterbrechungen herausgehalten bis zur ersten
Möglichkeit, die dem Abruf der nächsten Instruktion folgt, es sei denn drei oder mehr Indirekt-Niveaus
werden benutzt. Diese Instruktion erzeugt normalerweise ein MEMV, wenn sie in PM ausgeführt wird.
Wenn jedoch die Systemkarte freigegeben ist, ist sie in PM erlaubt.
Umgrenzung vom A/B-Register laden Mnemonik: LFA, LFB
Oktalcode: 101727, 103727 Format:LFA
Lädt das Umgrenzungsregister (Zaun-Register) der Basisseite
-vom Α-Register oder B-Register. Die Bits (9-0)
609842/0882
spezifizieren die Adresse auf Seite O, wo der geteilte
(untabellierte) Speicher vom reservierten (tabellierten) Speicher abgesondert ist. Bit 10
wird zur Spezifikation des tabellierten Teils benutzt.
Bit 10
Tabellierte Adressen (M) Umgrenzung < M ^ 200O0
~ ο
M < Umgrenzung
Diese Instruktion erzeugt normalerweise ein MEMV, wenn sie in PM ausgeführt wird. Jedoch wenn die
Systemkarte freigegeben ist, ist sie in PM erlaubt. Wenn ein MEMV auftritt, wird die Umgrenzung nicht
verändert.
Bytes von der Wechselkarte wegbewegen
Mnemonik: MBF
Oktalcode: 105703
Format: LDA SRC
LDB DST
LDX CNT
MBF
LDB DST
LDX CNT
MBF
Bewegt eine Byte-Kette unter Benutzung der Wechselkarte für das Lesen von Quellen und unter Benutzung
der augenblicklich freigegebenen Karte für das Schreiben von Zielplätzen. Das A-Register enthält
die Quellen-Byte-Adresse. Das B-Register enthält die Ziel-Byte-Adresse. Das X-Register enthält die
Anzahl der zu bewegenden Bytes. Sowohl Quelle als auch Ziel müssen bei Wortbegrenzungen beginnen. Die
Instruktion ist bei einer geraden Zahl von Byte-Übertragungen unterbrechbar, so daß die geraden
Wortbegrenzungen in A und B aufrechterhalten werden. Zum Zeitpunkt der Unterbrechung werden A, B und X
zurückgestellt, um die Fortsetzung der Instruktion beim nächsten Eingang zu ermöglichen. Nach Abschluß
ist das X-Register immer Null; A und B sind gleich
609842/0882
der Originaladresse plus Anzahl der bewegten Bytes. Diese Instruktion kann nur dann ein MEMV hervorrufen,
wenn die Regeln des Lese- oder Schreibschutzes verletzt werden.
Bytes in die Wechselkarte einbewegen:
Mnemonik: MBI
Oktalcode: 105 702
Format: LDA SRC LDB DST LDX CNT MBT
Bewegt eine Byte-Kette unter Benutzung der freigegebenen laufenden Karte für das Lesen von Quellen
und der Wechselkarte für das Schreiben von Zielplätzen. Das A-Register enthält die Quellen-Byte-Adresse.
Das B-Register enthält die Ziel-Byte-Adresse. Das X-Register enthält die Anzahl der zu
bewegenden Bytes. Sowohl Quelle als auch Ziel müssen an Wortbegrenzungen beginnen. Die Instruktion
ist bei einer geraden Zahl von Byte-Übertragungen unterbrechbar, wodurch die geraden Wortbegrenzungen
in A und B aufrechterhalten werden. Zum Zeitpunkt der Unterbrechung werden A, B und X zurückgestellt,
um die Fortsetzung der Instruktion beim nächsten Eingang zu erlauben. Nach Abschluß ist das X-Register
immer Null; A und B sind gleich der Originaladresse
plus der Anzahl der bewegten Bytes. Diese Instruktion bewirkt ein MEMV, wenn sie in PM ausgeführt wird, und
keine Bits werden übertragen, wenn dies durch das Schreibschutz-Bit angezeigt wird.
Bytes innerhalb der Wechselkarte bewegen Mnemonik: MBW
Oktalcode: 105704 Format: LDA SRC
Oktalcode: 105704 Format: LDA SRC
LDB DST
LDX CNT
MBW
609842/0882
Bewegt eine Byte—Kette, wobei sowohl die Quellenais
auch die Zieladresse durch die Wechselkarte
aufgestellt werden. Das Α-Register enthält die Quellen-Byte-Adresse. Das B-Hegister enthält die
Ziel-Byte. Adresse. Das X-Register enthält die Anzahl der zu bewegenden Bytes. Sowohl Quelle als
auch Ziel müssen bei Wortgrenzen beginnen. Die Instruktion ist bei einer geraden Zahl von Byteübertragungen
unterbrechbar, wodurch die geraden Wortbegrenzungen in A und B erhalten bleiben. Zum
Zeitpunkt der Unterbrechung werden A, B und X zurückgestellt, um die Fortsetzung der Instruktion
beim nächsten Eingang zu ermöglichen. Nach Abschluß ist das X-Register immer Null. A und B sind
gleich der Originaladresse plus der Anzahl der bewegten
Bytes. Diese Instruktion bewirkt ein MEMV,
• wenn sie in PM ausgeführt wird, und keine Bytes
werden übertragen, wenn dies durch das Schreib-
.schutz-Bit angezeigt ist.
Worte von der Wechselkarte bewegen "
Mnemonik: MWF Oktalcode: 105706 Format: LDA SRC
. LDB DST
- LDX ■ CNT .·■:■.--
■ MWF ' ·
• . "-. .. Bewegt eine Wortserie unter Benutzung der Wechsel-.
... ·."-."· karte für das Lesen von Quellen und der laufenden • ■ Karte-für das Schreiben von Zielen. Das A-Register
enthält die Quellenadresse. Das B-Register enthält die Zieladresse. Das X-Register enthält die Anzahl
der zu bewegenden Worte. Die Instruktion ist nach jeder Wortbewagung unterbrechbar, zu welchem Zeitpunkt
A, B und X zurückgestellt werden, um die Fortsetzung beim nächsten Eingang zu ermöglichen. Nach
609842/0882
Abschluß ist das X-Register immer Null; A und B sind gleich der Originaladresse plus der Anzahl
der bewegten Worte. Diese Instruktion kann nur dann ein MEMV bewirken, wenn Lese- oder Schreibschutzregeln
verletzt werden.
Worte in die Wechselkarte hineinbewegen.
Mnemonik: MWI
Oktalcode: 105705
Format: LDA SRC LDB DST LDX CNT MWT
Bewegt eine Serie von Worten unter Benutzung der laufenden Karte für das Lesen von Quellen und der
Wechselkarte für das Schreiben von Zielen. Das Α-Register enthält die Quellenadresse. Das B-Register
enthält die Zieladresse. Das X-Register enthält die Anzahl der zu bewegenden Worte. Die Instruktion ist
nach jeder Wortbewegung unterbrechbar, zu welchem Zeitpunkt A, B und X zurückgestellt werden, um die
Fortsetzung beim nächsten Eingang zu erlauben. Nach Abschluß ist das X-Register immer Null; A und B
sind gleich den Originaladressen plus der Anzahl der bewegten Worte. Diese Instruktion bewirkt ein
MEMV, wenn sie in PM ausgeführt wird, und keine Worte werden übertragen, wenn dies durch das Schreibschutzbit
angezeigt ist.
Worte innerhalb der Wechselkarte bewegen.
Mnemonik: MWW
Oktalcode: 105707
Format: LDA SRC LDB DST LDX CNT MWW
Bewegt eine Serie von Werten, wobei sowohl die Quellenais
auch die Zieladressen durch die Wechselkarte auf-
B 0 9 0 4 2/0882
gestellt werden. Das Α-Register enthält die Quellenadresse. Das B-Register enthält die Zieladresse. Das
X-Register enthält die Anzahl der zu bewegenden Worte. Die Instruktion ist nach jeder Fortbewegung unterbrechbar,
zu welchem Zeitpunkt A, B und X zurückgestellt werden, um die Fortsetzung beim nächsten
Eingang zu ermöglichen. Nach Abschluß ist das X-Register immer Null; A und B sind gleich der Originaladresse
plus der Anzahl der bewegten Worte. Die Instruktion bewirkt ein MEMV, wenn sie in PM ausgeführt
wird, und keine Worte werden übertragen, wenn dies durch das Schreibschutz-Bit angezeigt ist.
Karte für Zugang A laden/speichern über A/B Mnemonik: PAA, PAB Oktalcode: 101712, 105712
Format: LDA TBL PAA
Überträgt 32 Kartenregister zum oder vom Speicher. Wenn Bit 15 von A/B gelöscht ist, wird die Karte für
Zugang A vom Speicher geladen, beginnend mit der Adresse, die in den Bits 14-0 von A/B spezifiziert ist.
Wenn Bit 15 von A/B 1 ist, wird die Karte für Zugang A in den Speicher gespeichert, beginnend mit der in
A/B spezifizierten Adresse. Das A/B-Register wird um 32 erhöht, um mehrfach Karteninstruktionen zu ermöglichen.
Ein Versuch, irgendwelche Kartenregister in PM zu laden, bewirkt ein MEMV. Ein Versuch, die Karte
für Zugang A zu laden ist innerhalb der Beschränkungen eines schreibgeschützten Speichers erlaubt.
Karte für Zugang B laden/speichern über A/B Mnemonik: P.BA, PBB Oktalcode: 101713, 105713
Format: LDA TBL PBA
Überträgt 32 Kartenregister zum oder vom Speicher. Wenn
Bit 15 von A/B gelöscht ist, wird die Karte für Zugang
B 0 9 8 4 2 / 0 8 8 2
B geladen, beginnend bei der Adresse, die in Bits 14-0 von A/B spezifiziert ist. Wenn Bit 15 von A/B
gesetzt ist, wird die Karte für Zugang B in den Speicher gespeichert, beginnend mit der in A/B
spezifizierten Adresse. Dieses A/B-Register wird um 32 erhöht, um mehrfach Karteninstruktionen zu ermöglichen.
Ein Versuch während PM irgendein Kartenregister zu laden, bewirkt ein MEMV. Ein Versuch
die Karte für Zugang B zu speichern, ist innerhalb der Beschränkungen des schreibgeschützten Speichers
erlaubt.
Zustandsregister in A/B-Register lesen.
Mnemonik: RSA, RSB Oktalcode: 101730, 105730 Format: RSA
überträgt den 16-Bit-Inhalt des MEM-Zustandsregisters
nach A/B. Diese Instruktion kann zu jeder Zeit ausgeführt werden. Das Format des Zustandsregisters
ist in Tabelle III aufgelistet.
Verletzungsregister in A/B-Register lesen Mnemonik: RVA, RVB Oktalcode: 101731, 105731
Format: RVA
Überträgt den 16-Bit-Inhalt des MEM-Verletzungsregisters
nach A/B. Diese Instruktion kann zu jeder Zeit ausgeführt werden. Das Verletzungsregisterformat
ist in Tabelle IV aufgelistet.
Systemkarte freigeben und springen Mnemonik: SJP
Oktalcode: 105734 Format: SJD
DEF ADR(,I)
Bewirkt, daß die MEM-Hardware den Satz von 32 Kartenregistern
(als Systemkarte bezeichnet) für die Über-
609842/0882
Setzung aller programmierten Speicherzuordnungen benutzt-.Das B-Register wird dann auf die Adresse
gesetzt, die aus ADR (,I) vor der Freigabe erhalten wurde. Als Ergebnis der Ausführung dieser Instruktion
werden normale I/O-Unterbrechungen bis zur ersten Möglichkeit herausgehalten, die auf
den Abruf der nächsten Instruktion folgt, es sei denn, daß drei oder mehr Indirekt-Niveaus benutzt
werden. Diese Instruktion erzeugt normalerweise ein MEMV, wenn sie in PM ausgeführt wird. Wenn jedoch
die Systemkarte freigegeben ist, ist sie erlaubt und erzeugt effektiv ein JMP +1,1.
Systemkarte freigeben und zur Subroutine springen Mnemonik: SJS
Oktalcode: 105735
Format: SJS
DEF ADR (,I)
Bewirkt, daß die MEM-Hardware den Satz von 32 Kartenregistern (als Systemkarte bezeichnet)
für die Übersetzung aller programmierten Speicherzuordnungen benutzt. Das P-Register wird dann auf
die Adresse hinter der Adresse gesetzt, die vor der Freigabe aus ADR(,I) erhalten wurde. Die Rückkehradresse
wird in ADR(,I) eingeschrieben. Als Ergebnis der Ausführung dieser Instruktion werden
normale I/O-Unterbrechungen bis zur ersten Möglichkeit herausgehalten, die dem Abruf der nächsten Instruktion
folgt, es sei denn, es werden drei oder mehr Indirekt-Niveaus benutzt. Diese Instruktion
erzeugt normalerweise ein MEMV, wenn sie in PM ausgeführt wird. Wenn jedoch die Systemkarte freigegeben
ist, ist sie erlaubt und erzeugt effektiv ein JSB +1,1.
Zustandsregister im Speicher speichern
Mnemonik: SSM
Mnemonik: SSM
B0 9342/U882
Oktalcode: 105714 Format: SSM
DEF STS (> I)
Speichert den 16-Bit-Inhalt eines MEM-Zustandsregisters
in den Speicherplatz, auf den durch STS(,I) gezeigt wird. Diese Instruktion wird in Verbindung
mit der JRS-Instruktion benutzt, um eine leichte Verarbeitung von Unterbrechungen zu ermöglichen,die
immer die Systemkarte freigeben (wenn MEM freigegeben ist). Das Format des Zustandsregisters ist in
Tabelle III aufgelistet. Diese Instruktion kann nur dann ein MEMV bewirken, wenn Schreibschutzregeln
verletzt werden.
Systemkarte laden/speichern über A/B Mnemonik: SYA, SYB Oktalccde: 101710, 105710
Format: LDA TBL SYA
Überträgt 32 Kartenregister zum oder vom Speicher. Wenn Bit 15 von A/B gelöscht ist, wird die Systemkarte
vom Speicher geladen, beginnend mit der Adresse, die in Bits 14-0 von A/B spezifiziert ist.
Wenn Bit 15 von A/B gesetzt ist, wird die Systemkarte in den Speicher geladen, beginnend mit der
in A/B spezifizierten Adresse, MEM bietet keinen " Schutz (wenn nicht in PM) gegen Änderung des Inhalts
der Karten, während sie gerade freigegeben sind. Das A/B-Register wird um 32 erhöht, um vielfach
Karteninstruktionen zu ermöglichen. Ein Versuch, irgendeine Karte in PM zu laden, bewirkt ein MEMV.
Ein Versuch, die Systemkarte zu speichern, ist innerhalb der Beschränkungen des ächreibgeschützten
Speichers erlaubt.
Benutzerkarte freigeben und springen Mnemonik: UJP Oktalcode: 105736
6 09842/0882
Format: UJP
DEF ADR (ν I)
Bewirkt, daß die MEM-Hardware den Satz von 32 Kartenregistern (als Benutzerkarte bezeichnet)
zur Übersetzung aller programmierten Speicherzuordnungen benutzt. Das P-Register wird dann
auf die Adresse gesetzt, die aus ADR(I) vor der Freigabe erhalten wurde. Als Ergebnis der Ausführung
dieser Instruktion wird eine normale I/O-Unterbrechung bis zur ersten Gelegenheit
herausgehalten, die auf den Abruf der nächsten Instruktion folgt, es sei denn drei oder mehr
Indirekt-Niveaus werden benutzt. Wenn die Benutzerkarte schon freigegeben ist, wird die Instruktion
zu einem JMP +1,1. Diese Instruktion erzeugt normalerweise ein MEMV, wenn sie in PM
ausgeführt wird. Wenn jedoch die Systemkarte freigegeben ist,, ist sie in PM erlaubt.
Benutzerkarte freigeben und zur Subroutine springen Mnemonik: UJS
Oktalcode: 105737
Format: UJS
DEF (ADR (,I)
Bewirkt,daß die MEM-Hardware den Satz von 32 Kartenregistern
(als Benutzerkarte bezeichnet) für die Übersetzung aller programmierten Speicherzuordnungen
benutzt. Das P-Register wird dann auf die Adresse gesetzt, die hinter der Adresse liegt,
die vor der Freigabe von ADR(,I) erhalten wurde. Die Rückkehradresse wird in ADR(,I) eingeschrieben.
Als Ergebnis der Ausführung dieser Instruktion werden normale I/O-Unterbrechungen bis zur ersten
Gelegenheit herausgehalten, die dem Abruf der nächsten Instruktion folgt, es sei denn drei oder
mehr Indirekt-Niveaus werden benutzt. Wenn die Benutzerkarte schon freigegeben ist, wird die Instruktion
zu einem JSB +1,1. Diese Instruktion
6 0 9842/0882
erzeugt normalerweise ein MEMV, wenn sie in PM aufgeführt wird. Wenn jedoch die Systemkarte
freigegeben ist/ ist sie in PM erlaubt.
Benutzerkarte laden/speichern Mnemonik: USA, USB Oktalcode: 101711, 105711
Format: LDA TBL USA
überträgt 32 Kartenregister zum oder vom Speicher. Wenn Bit 15 von A/B gelöscht ist,wird die Benutzerkarte
vom Speicher geladen, beginnend mit der Adresse, die in Bits 14-0 von A/B spezifiziert ist.
Wenn Bit 15 von A/B gesetzt ist, wird die Benutzerkarte in den Speicher gegeben, beginnend mit der in
A/B spezifizierten Adresse. MEM bewirkt keinen schutz ( wenn nicht in PM) gegen Änderung des Inhalts
der Karten, während sie gerade freigegeben sind. Das A/B-Register wird um 32 erhöht, um vielfach Karten-Instruktionen
zu ermöglichen. Ein Versuch, irgendeine Karte während PM zu laden, bewirkt ein MEMV.
Ein Versuch, die Benutzerkarte zu speichern, ist innerhalb der Beschränkungen des lesegeschützten
Speichers erlaubt.
Kreuzung vergleichen Mnemonik: XCA, XCB Oktalcode: 101726, 105726
Format: XCA DEF ADR (, I)
Vergleicht den Inhalt des A/B-Registers mit einem zweiten Operanden im Speicher. Wenn sie gleich sind,
wird die nächste Instruktion in numerischer Reihenfolge ausgeführt. Wenn sie nicht gleich sind, wird
die nächste Instruktion übersprungen. Der zweite Operand wird dadurch erhalten, daß ADR(,I) aufgelöst
wird und die Wechselkarte für die Leseoperation be-
609842/0882
V R11 ζ 9
nutzt wird, Wenn weder die Systemkarte norhtdie
Benutzerkarte freigegeben ist{Zustand MEM gesperrt) erfolgt ein direkter Vergleich mit dem
physikalischen Speicher. Diese Instruktion erzeugt ein MEMV nur dann, wenn Leseschutzregeln
verletzt werden.
Kreuzung laden Mnemonik: XLA, XLB Oktalcode: 1O17247 105724
Format: XLA
DEF ADRCD
Lädt das A/B-Register vom Speicher. Der Operand wird dadurch erhalten, daß ADR(,I) aufgelöst wird
und die Wechselkarte für die Leseoperation benutzt wird. Wenn weder die Systemkarte noch die Benutzerkarte
freigegeben ist (d.h. Zustand MEM gesperrt) erfolgt eine Ladung direkt vom physikalischen
Speicher. Diese Instruktion erzeugt ein MEMV nur dann, wenn Leseschutzregeln verletzt werden.
Karten intern übertragen über A/B Mnemonik: XMA, XMB Oktalcode: 101722, 105722
Format: LDA CTL XMA
überträgt den gesamten Inhalt (32 Kartenregister)
der Systemkarte oder Benutzerkarte zur Karte für den Zugang A oder zur Karte für den Zugang B entsprechend
der Festlegung durch das Steuerwort im A/B-Register.
Bit | Bedeutung |
15 | System/Benutzer (0/1) |
0 | Zugang A/Zucang B (0/1) |
14-1 | Ignoriert |
609842/0882
Diese Instruktion erzeugt immer ein MEMV, wenn sie während PM ausgeführt wird.
Karte oder Speicher übertragen
Mnemonik: XMM
Oktalcode: 105720
Format: LDA FST
LDB TBL
LDX CNT
XMM
LDB TBL
LDX CNT
XMM
. Überträgt (CNT) die Anzahl der Worte entweder von aufeinanderfolgenden Speicherplätzen zu aufeinanderfolgenden
Kartenregistern oder von Karten zum Speicher. Bits 0-9 des Speichers entsprechen 0-9
der Karte und Bits 14, 15 des Speichers sind bezogen
auf Bits 10, 11 der Karte.
SPEICHER
KARTE
15 | 14 | X | / | X | 9 0 |
10 9
Das A-Register zeigt auf das erste Register, zu dem
Zugriff genommen werden soll. Das B-Register zeigt auf die Startadresse der Tabelle im Speicher.
127
Zugang B
Zugang A
Benutzer
System
96 95 64 63 32 31 0
Die Karten werden als aneinanderstoßender Raum adressiert. Ein Umwickeln von 127 bis 0 kann auftreten
60984 2/0882
und tritt auch auf. Der Programmierer ist dafür verantwortlich, daß dieser Fehler vermieden wird.
Das X-Register zeigt die Anzahl der Kartenregister an, die übertragen werden sollen (1 ^c JCNTJ ^ 128) .
Eine positive Zahl in X bewirkt, daß die Karten mit den zugehörigen Daten vom Speicher geladen
werden soll. Eine negative (Zweier-Komplement)
Zahl in X bewirkt, daß die Karten in die zugehörigen Speicherplätze gespeichert werden. Die Instruktion
ist nach der Übertragung von jeder Gruppe von 16
Registern unterbrechbar. A, B und X werden zurückgestellt, um eine erneute Eingabe zu einem späteren
Zeitpunkt zu ermöglichen. Das X-Register ist bei Abschluß dieser Instruktion immer Null. A und B
werden um die Anzahl der bewegten Register vorgeschoben. Ein Verusch, irgendein Kartenregister
in PM zu laden, erzeugt ein MEMV. Ein Versuch Kartenregister zu speichern ist innerhalb der Einschränkungen
des schreibgeschützten Speichers erlaubt.
Karten aufeinanderfolgerfi. übertragen
Mnemonik: XMS
Oktalcode: 105721
Format: LDA FST LDB TBL LDX CNT XMS
überträgt (CNT) die Anzahl von Worten entweder zu aufeinanderfolgenden Kartenregistern zu aufeinanderfolgende
Speicherplätzen. Das Α-Register zeigt auf das erste Register, zu dem Zugriff genommen werden
soll. Das B-Register zeigt auf die Startadresse der Tabelle im Speicher. Das X-Register zeigt die Anzahl
der Kartenregister an, die betroffen sind. Eine positive Größe bewirkt, daß das im Speicherplatz TBL
gefundene Wort als Grundmenge zum Laden in das erste Register benutzt wird. Das nächste Register wird mit
6098 42/0882
, J?e 11538
(CNTT bis
der Grundmenge plus eins geladen usw zur Gesamtzahl der Register. Wenn jedoch X eine
negative Größe enthält, werden die Kartenregister zu aufeinanderfolgenden Speicherplätzen auf einer
eins-zu-eins Basis wie in XMM übertragen, beginnend mit Speicherplatz TBL. Bits 0-9, 14, 15 werden benutzt
wie in XMM beschrieben. Ein Versuch während PM irgendein Kartenregister zu laden, erzeugt ein
MEMV. Ein Versuch Kartenregister zu speichern ist innerhalb der Beschränkungen des schreibgeschützten
Speichers erlaubt.
Kreuzung speichern Mnemonik: XSA, XSB Oktalcode: 101725, 105723 Format: XSA
DEF (ADR (,I)
Speichert den Inhalt des A/B-Registers in den Speicher. Das Ziel wird durch Auflösen von ADR(,I)
und Benutzung der Wechselkarte für die Schreiboperation bestimmt. Wenn weder die Systemkarte
noch die Benutzerkarte freigegeben ist (d.h. Zustand MEM gesperrt) erfolgt eine Speicherung direkt in
den physikalischen Speicher. Diese Instruktion erzeugt immer ein MEMV, wenn sie während PM ausgeführt
wird.
6 0 9 8 4 2/0882
ANHANG B
MIKRO SsiSTJRUKT IONSFORMATE UND AUSFÜHRUNG
Dieser Abschnitt enthält eine Beschreibung der Form der Mikroinstruktioiis-Worttypen
und eine Beschreibung von Form und Wirkung jedes Mikroinstruktionsfeldes innerhalb eines Worttyps.
Ein Diagramm der Form jedes Worttyps befindet sich in Tabelle
V. Tabelle VI zeigt die binäre und mnemonisehe Form jedes Feldes der Mikroinstruktionsworte.
Worttyp 4
Worttyp 4 führt unbedingte Sprünge oder Subroutinensprünge zu jedem P-latz in dem Festwertspeicher (ROM)-Adressenraum aus.
Die einzige Differenz zwischen JMP und JSB besteht darin , daß JSB die Ladung des Halteregisters bei P 2 bewirkt. Bei P2 wird
RAR mit der 12-Bit-Adresse geladen, die in Bits 16-5 spezifiziert
ist. Die Adresse wird jedoch vor dem Laden durch eines der acht Tabellierungssehernen modifiziert, die durch das
Spezialfeld festgelegt sind.
Worttyp 4 wird durch das Vorhandensein von JMP oder JSB im OP-FeId
festgelegt, sowie durch die Anwesenheit irgendeines Spezialfeldcodes mit Ausnahme von CNDX. Die Spezifizierung von
JTAB, RTN oder eines anderen Spezialfeldcodes, der mit ~110„
oder -011 endet, führt nicht zu einem direkten JMP oder JSB, sondern lädt die JTAB- oder RTN-Adresse. Dies beruht auf der
Natur des Adressen-Tabellierungsschemas, welches weiter unten beschrieben ist.
Die drei Bits niedriger Ordnung des Spezialfeldes (RIR2-RIR0) steuern dauernd die ROM-Adressenmultiplexer, die ein von acht
möglichen Quellen auswählen und sie dem Eingang von RAR zuführen. DieserAufbau dient dazu, daß verschiedene Typen von
indizierten Sprüngen und Rückkehr von Subroutinen verwendet werden können.
, 6 09842/0882
WORTTYP
TABELLE V
CPU MIKROINSTRUKTIONSFORMATE
CPU MIKROINSTRUKTIONSFORMATE
S-SAMMEL-OP CODE ALU SCHIENE SPEICHERN SPEZIAL
23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 ο
JEDE OP
AUSSER JMP
JSB, IMM
AUSSER JMP
JSB, IMM
JEDE ALU
JEDES S-FELD
JEDES
SPEICHERFELD
SPEICHERFELD
JEDER NICHT-S>RUNG SPEZIAL
IMM
PO C1
UO L1
OPERANDENFELD
JEDES
SPEICHERFELD
SPEICHERFELD
JEDER NICHTSPRUNG SPEZIAL
JMP
JEDE BEDINGUNG
= O
RJS
RJS
ADRESSE
(9 BITS)
(9 BITS)
CNDX
JMP JSB
ADRESSE
(12 BITS)
(12 BITS)
JEDER SPRUNG SPEZIAL
ABER CNDX
Anmerkung:
Worttyp 2 Bit 19: Wenn Null, ALU läßt anderes Einer-Komplement durch.
Bit 18: Wenn Null, oberes Byte anderes urteres
Byte.
Worttyp 3 Bit 14: Wenn Null, dann umgekehrten Sprung
erfassen
6 0 9842/0882
Tabelle VI MIKROINSTRUKTIONS-MNEMONIKEN
BITS POS. 20-23 0-4
BINÄR OP (4) SPEZIAL(5)
,cc co, J>
rc
CD CO OO
00000 | NOP | IOFF |
00001 | ARS | SRG 2 |
00010 | CRS | Ll |
00011 | LGS | L4 |
00100 | MPY | Rl |
00101 | DIV | ION |
00110 | LWF | SRGl |
00111 | WRTE | RES2 |
01000 | ASG | STFL |
01001 | READ | CLFL |
01010 | ENV | FTCH |
01011 | ENVE | SOV |
01100 | JSB | COV |
01101 | JMP | RPT |
OHIO | IMM | SRGE |
01111 | (BLANK) | NOP |
10000 | MESP | |
10001 | MPCK | |
10010 | IOG | |
10011 | ICNT |
15-19 | 15-19 | 10-14 |
ALU (5) | BEDINGUNG(5) | S-SAMMEL |
SCHIENE (5) | ||
INC | TBZ | TAB |
OPl | ONES | CAB |
OP 2 | COUT | T |
ZERO | AL0 | CIR |
0P3 | AL15 | ΙΟΙ |
0P4 | NMLS | CNTR |
SUB | CNT 8 | DSPL |
0P5 | FPSP | DSPI |
OP 6 | FLAG | ADR |
ADD | E | M |
0P7 | OVFL | B |
OP 8 | RUN | A |
0P9 | NHOI | LDR |
ΟΡΙΟ | SKPF | RES 2 |
OPH | ASGN | MEU |
DEC | IR2 | NOP |
CMPS | NLDR | Sl |
NOR | NSNG | S2 |
NSAL | NINC | S3 |
0P13 | NDEC | S4 |
5-9 18-19 SPEICHERN(5) IMM(2)
TAB
CAB
100
CNTR
DSPL
DSPI
IR
MEU
CM
PNM
NOP
Sl
S"2
S3
S4
HIGH LOW CMHI CMLO
CD
cn
CO QO
O CD CO
CD
OO
OO
BITS POS. | 20-23 | 0-4 | 15-19 | 15-19 | 10-14 | 5-9 | 18-19 |
BINÄR | 0P(4) | SPEZIAL(5) | ALU(5) | BEDINGUNG(5) | S-SAMMEL SCHIENE (5) |
SPEICHERN(5) | IMM (2) |
10100 | SHLT | NAND | NRT | S5 | S5 | ||
10101 | INCI | CMPL | NLT | se | S6 | ||
10110 | RESl | XOR | NSTR | S7 | S7 | ||
10111 | SRUN | SANL | NRST | S8 | S8 | ||
11000 | UNCD | NSOL | NSTB | S9 | S9 | ||
11001 | CNDX | XNOR | NSFP | SlO | SlO | ||
11010 | JIO | PASL | INT | SIl | SIl | ||
11011 | JTAB | AND | SRGL | S12 | S12 | ||
11100 | J74 | ONE | RUNE | X | X | ||
11101 | J30 | SONL | NOP | Y | Y | ||
11110 | RTN | I OR | CNT 4 | P | P | ||
11111 | JEAU | PASS | NMEU | S | S |
CT\
Etikett Op | Spezifikation | ALU | Speichern | S-Sammel- Schiene |
Zustands- Befehl |
(ά -.ο | MESP | d | MEU | MEU : | Q |
ld d | MESP | d | MEU | $ | Ql |
'Ö Si | MESP | $ | MEU | Q2 | |
id d | MESP | !d | S | $ | Q3 |
id 'd | * | d | MEU | MEU | Q4 |
(θ & | d | MEU | S | Q5 | |
id ii | is | d | $ | MEU | 6 |
id vd | ά | d | ■cn | $ ! | Q-7 |
d - jeder erlaubte Code Ä - jeder erlaubte Code mit Ausnahme von MESP
$ - jeder erlaubte Code mit Ausnahme von MEU
Wort Typ 3
Wort Typ 3 unterscheidet sich durch JMP im OP-FeId und
CNDX im Spezialfeld. RAR8-RAR0 werden während P2 mit der Adresse geladen, die in RIR13-RIR5 (RAR11-RAR9 unverändert)
spezifiziert ist, wenn die Bedingung eintrifft, die in den Bedingungs- und RJS {Rückwärtssprung feststellen)-Feldern
spezifiziert ist (siehe Abschnitt über Bedingungslogik). Wenn RJS (RIR14) 0 ist, wird JMP genommen, wenn die Bedingung
nicht eintrifft. ..
Im folgenden werden die Bedingungs-Feld-Mnemoniken beschrieben. Diese sind sorgfältig zu lesen, da einige Bedingungen eintreffe
wenn das getestete Signal falsch ist. Die Bedingung, die bewirkt, daß JMP auftritt (für RJS = 1) wird nach der Bedingungs-
609842/0882
feld-Mnemonik definiert. Der tatsächliche Signalname, der
in die Bedingungslogik auf der CPU eingegeben wird, ist in Klammern angegeben, wenn er von der Mnemonik des Mikroinstruktionsfeldes
abweicht.
TBZ CTBZF) Die T-Sammelschiene war 000000g nach dem letzten
Worttyp 1 oder 2 μ-Instruktion.
ONES (ONESF) Der Ausgang von ALU war 177777g nach dem letzten
ONES (ONESF) Der Ausgang von ALU war 177777g nach dem letzten
Worttyp 1 oder 2 μ-Instruktion. COUT (COUTF) Es war ein Austrag aus der ALU aufgetreten nach
dem letzten Worttyp 1 oder 2 μ-Instruktion. ALO (ALUOF) ALU Bit 0 war 1 nach dem letzten Worttyp 1 oder
2 μ-Instruktion.
AL15 (ALU15F)ALU Bit 15 war 1 nach dem letzten Worttyp 1 oder
AL15 (ALU15F)ALU Bit 15 war 1 nach dem letzten Worttyp 1 oder
2 μ-Instruktion.
NMLS (MLSTF) Leistungszufuhr zum Speicher war nicht ausgefallen
(Bedingung nicht eingetroffen nach einem Netzausfall mit Verlust der Energiezufuhr zum Speicher).
Der Speicher sollte bei Zutreffen in Ordnung sein.
CNT8 Zählerausgang 1111111I2.
FPSP Sondertest für Frontplatte. Kein Sprung für Standardfrontplatte. Signal geerdet auf der
Standardfrontplatte.
FLAG (FLAGFF)Marken-Flipflop gesetzt.
E (EXFF) Ausweitungsflipflop gesetzt.
OVFL (OVERFF) Überlauf-Flipflop gesetzt.
RUN (RUNFF) Lauf-Flipflop gesetzt.
NHOI(HOI) Keine schwebende Unterbrechung und Lauf-Flipflop
gesetzt.
SKPF Eine I/O Instruktions-Überspringungsbedingung
SKPF Eine I/O Instruktions-Überspringungsbedingung
(SFS, SFC) traf ein. Eingetroffen nur während
I/O Steuertyp Instruktionen.
ASGN (ASGNj Mikro-Instruktions-Überspringbedingung trifft
zu, wenn ASG-Instruktions-Überspringbedingung nicht zutrifft. Nur von Bedeutung bei Ausführung
von ASG-Instruktionen. ASGN ist niedrig, wenn
609842/0882
die Bedingungen für ein ASG-Überspringen zutreffen.
Für ASG-Instruktionen sind die IR-Bits, die die
Überspringtests spezifizieren:
IRO: RSS — Rückwärtssprung Erfassung
IRl: SZ(A/B) — Überspringen, wenn A/B-Register
null ist.
IR2: IN(A/B) — A/B-Register erhöhen. IR3: SL(A/B) — Überspringen, wenn Bit mit
dem niedrigsten Stellenwert (Bit 0) von A/B null ist.
IR4: SS(A/B) — Überspringen, wenn Vorzeichenbit
(Bit 15) von A/B null ist. IR5: SEZ — Überspringen, wenn Erweiterungsbit
null ist.
ASGN testet alle Überspringungsbedingungen gleichzeitig. Es gibt so zwei Bedingungen, die
bewirken, daß der SZ(A/B)-Test erfolgreich ist: Entweder ist IN(A/B) auszuführen und das A/B-Register
ist auf allen Stufen 1, oder (IN(A/B) ist nicht auszuführen und das A/B-Register ist
durchgehend null.
Die Gleichung für die Überspringung (ASGN ist
niedrig) ist dann: SKIP (ASGN niedrig) = ((TBZF-
IR2+ONESF-IR2) OIR0) *IR1 + (EXFFOIR0)· IR5 +
MULTIPLEXER SKIP
Das Ausgangssignal des ASG-Multiplexers zeigt
eine Überspringung gemäß den folgenden Kombinationen von IR4, IR3 und IRO:
B0 9842/0882
IR4 (SS") |
IR3 (SL*) |
IRO (RSS) |
Überspringung erzeugende ; Bedingung |
1 0 |
0 |
0 | KEINE |
0 | 0 | 1 | IR5·IRI |
0 0 |
1 1 |
0 1 |
ALU0F ALUOF j |
1 1 |
0 0 |
0 1 |
ALU15F ALU15F |
1 1 |
1 1 |
0 1 i |
ALU0F+ALU15F ÄLU0F·ALU15F _ |
IR Bit 2 ist "hoch".
Die folgenden 8 Mnemoniken testen den Zustand der Druckknöpfe auf der Frontplatte. Die Bedingungen
treffen zu, wenn die Knöpfe nicht gedrückt sind.
NLDR(IBL): IBL Knopf
NSNG(INSTEP) : NINC(INCM) : NDEC(DECM):
NRT(RIGHT) NLT(LEFT) NSTR(STORE):
NRST(DISPLAY)
INSTR SCHRITT Knopf INC M Knopf DEC M Knopf RECHTER Knopf LINKER Knopf
Knopf SPEICHERN :ANZEIGE Knopf
NSTB (STROBE)
NSFP (SFP)
INT
SRGL
SRGL
Kein Druckknopf auf der Frontplatte gedrückt. Keine Standardfrontplatte installiert.
SFP wird durch die Standardfrontplatte geerdet. Unterbrechung, Service wird erwartet.
IR3 ist "1" und das ALU-Bit 0 war 1 hinter dem letzten Worttypl oder 2 μ-Instruktion.
Benutzt als Teil der SRG-Routine für Test auf Überspringungsbedingung.
6Ü9842/Ü882
RUNE (RUNEN) Taste für den Benutzerschlüssel ist nicht
in der Stellung "ABGESCHLOSSEN".
HOP(GROUND) Springen wenn RJS = O
CNT4 Die.4 Bits niedriger Ordnung des Zählers
sind
NMEU Spezielle Bedingung die für die Benutzung
durch Speicherverwaltung reserviert ist.
Worttyp 2
Dieser Typ von Makroinstruktionen ist durch IMM im OP-FeId
unterschieden. Das 8-Bit Zeichen in RIR17-RIR10 wird auf die S-Sammelschine geschaltet und in dem Register gespeichert,
welches im Speicherfeld am Ende des Instruktionszyklus
spezifiziert ist.
RIR18 spezifiziert ob das Zeichen auf die hohen CO) oder niedrigen (1) 8 Bits der S-Sammelschiene gegeben werden
soll. Die andere Hälfte der S-Sammelschiene besteht aus Einsen, wenn sie nicht durch irgendwelche Gatterschaltungen
angesteuert wird. RIR19 spezifiziert, die S-Sammelschiene
durch die ALU einer-komplementiert wird (RIR19 = 1) oder
durchgelassen wird (RIR19 = O)."Wenn das Speicherfeld ein
Register spezifiziert, das aus der S-Sammelschiene herausgeladen wird, können die Daten nicht komplementiert werden,
bevor sie im Register gespeichert werden. (Die ALU komplementiert
jedoch noch.) Das Spezialfeld wird ausgeführt wie in den Mikroinstruktionen des Worttyps 1.
Worttyp 1 ,
Dieser Mikroinstruktiohstyp wird zur Durchführung aller
arithmetischen, logischen, I/O und Speicheroperationen benutzt/ sowie zur Verwaltung der Kommunikation zwischen
speziell wählbaren Betriebsweisen, wie Speicherschutz und Speicherverwaltüng.
6098 42/0 882
Die in OP, ALU und Spezialfeldern spezifizierten Signale
werden am Ausgang der Felddekoder während des Mikroinstruktionszyklus geltend gemacht. Sie sind so getaktet oder geschaltet,
daß sie mit dem System richtig zusammenwirken.
Während PO-P2 sind RIR10-RIR13 des S-Sammelschienen-Feldes
zur Adressierung der "Radierblock"-RAMS. Die Ausgangssignale der RAMS werden am Ende von P2 in das Halteregister gegeben.
Diese Daten werden auf die S-Sammelschiene gegeben, wenn RIR14 "hoch" ist. RIR14 = 1 in der S-Sammelschiene bestimmt,
daß die S-Sammelschiene durch die "Radierblock"-Register (S1-S12, X, Y, P und S) angesteuert werden. RIR14=14 in der
S-Sammelschiene wählt eines der diskreten Register aus, um es auf die S-Sammelschiene zu schalten.
Wenn ein Zeitgabe- oder Quellenkonflikt entsteht, wird das
Flipflop FRZ (einfrieren) am Ende von P2 gesetzt, wodurch die meisten CPU-Takte gesperrt werden, was ein "Einfrieren"
der Mikroinstruktion bewirkt und sie vor der Vervollständigung bewahrt. Das Flipflop FRZ wird am Ende von P2 zurückgestellt,
folgend auf das Ende des Konflikts, und die Instruktion kann angeschlossen werden.
Während Zyklen direkten Speicherzugriffs ist DMAFRZ während
T3 niedrig. Dieses Signal hemmt den S-Sammelschienen-Feld-Dekoder
und hindert die CPU an der Ansteuerung der S-Sammelschiene, so daß DCPC diese benutzen kann. Wenn nicht ein
Worttyp 3 oder 4 zu dieser Zeit ausgeführt wird, wird der Prozessor für einen Zyklus eingefroren.
Während P3-P5 sind RIR8-RIR5 so gewählt, daß sie die "Radierblock"
-RAMs adressieren, das Register auszuwählen, in das die T-Sammelschiene gespeichert werden soll. Das Speicherfeld
wird durch JORJ gesperrt, wenn JMP oder JSB im OP-FeId auftritt, wodurch ungewählte Registeränderungen verhindert
werden.
609 8k2/0882
Bei P5 wird das ausgewählte Register mit den Daten an seinen Eingängen geladen. RAMWEN ist während P5 niedrig,
um die T-Sammelschiene in die "Radierblöcke" zu laden, wenn RIR9=1 oder wenn PNM im Speicherfeld spezifiziert
ist. Es wird daran gehindert, niedrig zu werden, während die CPU eingefroren ist, während JMP oder JSB im OP-FeId
oder wenn eine Speicherschutzverletzung (MPV) auftritt und das P-oder S-Register durch RIR8-RIR5 ausgewählt ist. ·
Das Spezialfeld wird solange bedingungslos dekodiert, wie die Mikroinstruktion im RIR ist. Dekoder-Ausgänge werden
für eine Vielfalt von Steuerfunktionen benutzt und werden
zu verschiedenen Zeitperioden benutzt.
Mikro-Befehle
Dieser Abschnitt enthält eine detaillierte Beschreibung der Funktion bzw. der Wirkung jeder Mikroinstruktions-Mnemonik,
ausgenommen für Bedingungsfelder und die Sprung-Spezialbefehle. Zunächst wird die Mnemonik angegeben, dann
der CPU Signalname davon in Klammern und schließlich eine Beschreibung der Wirkung.
OP-FeId
NOP ( ) Keine Verbindung an der CPU. Keine Wirkung.
ARS (ARSOP) Arithmetische 32-Bit-Verschiebung. Die Mikroinstruktion
muß die folgende Form haben:
i ARS
PASS
Ll OR Rl
OP ALU S-Sammel- Speichern SPEC
Schiene
a) Wenn Ll: ASl=I, ASO=O, was das A-Register um 1 nach links verschiebt. Das B-Register
wird durch die ALU hindurchgelassen und durch den Schieber (TBSl-O, TBSO=I), um 1 nach
links verschoben, mit ALX14=ALU15 und LSI=AR15,
BO 9 8 A 2/Q8 8 2
Die T-Sammelschiene wird dann ins B-Register
gespeichert, überlauf wird gesetzt, wenn ALU14 f ALU15 (Zeichen ψ original B-Register-Bit-14).
Die Wirkung ist unten gezeigt. Wenn Rl: ASl=O, ASO=I, was das Α-Register um
nach rechts verschiebt, wobei B-Register 0 -»· A-Register 15. A-Register 0 geht verloren. Das
B-Register wird durch die ALU durchgelassen und durch den Schieber (TBSO=O, TBSl=O) um 1 nach
rechtsverschoben, wobei ALX16=ALU15 (Zeichen erweiterte Verschiebung). Die T-Sammelschiene wird
dann in das B-Register gespeichert. Die Wirkung ist im folgenden gezeigt:
ARS mit Ll:
L5
14
13
B-REG
L5
B-REG 1
1514 A-REG
ASHI=O
A-REG
ARS mit Rl:
L514
B-REG
L5
14 B
B-REG
A-REG Il IO l 1
\\VERLOREN
1514! A-REG !θ
CRS (CRSOP) Zirkulare 32-Bit-Verschiebung. Anforderungen:
■CRS
PASS
Ll OR Rl
OP
ALU S-Sammel- Speichern SPEC Schiene
a) Wenn Ll: ASl=I, ASO=O, was das A-Register
um 1 nach links verschiebt, wobei ARO-ASHI = ALU15. Das B-Register wird durch die ALU hin-
60 9 842/0882
hindurchgelassen und im Schieber (TBSl=O, TBSO=I) nach links verschoben, wobei ALX14=
ALU14 und LSI=AR15. Die T-Sammelschiene wird zurück ins B-Register gespeichert.
b) Wenn Rl: ASl=O, ASO=I, was das Α-Register um
eins nach rechts verschiebt, wobei AR15«-B-Register
0. B wird durch die ALU hindurchgelassen und dann nach rechts verschoben (TBS0=O, TBSl=O), wobei
ALX16=ARO. Die T-Sammelschiene wird zurück ins B-Register gespeichert.
CRS mit Ll:
B-REG O
X
4i
4i
B-REG
CRS mit Rl:
1514
L5 | B-REG | 1 | 0 |
B-REG
14
A-REG
ASHI
A-REG
L5
A-REG
AXL16
L514
A-REG
1 i 0
Ii
LGS CLGSOP) Logische 32-Bit-Verschiebung. Anforderungen:
LGS
PASS
Ll OR Rl
OP
ALU
S-Sammel- Speichern SPEC Schiene
Die Operation ist ähnlich CRS, ARS (oben)
a) Ll: Wenn B im Schieber verschoben wird,
gilt ALX14=ALUle, LSI=AR15. ASHI schiebt 0 ins A-Register.
609842/0882
b) Rl: Wenn B im Schieber verschoben wird, ist ALX16=O, Α-Register 15-B-Register 0.
LGS mit Ll:
1514
B-REG 10
VERLOREN
B-REG
LGS mit Rl:
B-REG
ALX 16=^.0
JJ
B | 14 | A-REG | 0 |
LSI/
B | M | B-REG | O |
A-REG
A-REG
ASHI=O
10
B | A-REG | Φ _} |
MPY (MPYOP)
Multiplikationsschritt. Normalerweise in einer Wiederholungsschleife als Teil eines
Multiplikationsalgorithmus benutzt. Erfordernisse für richtige Operation:
MPY | ADD | B | B | Rl |
OP
ALU S-Sammel- Speichern SPEC Schiene
Das Α-Register wird intern nach rechts verschoben, AR15-ALU0. Das B-Register wird
auf die S-Sammelschiene geschaltet. Die ALU addiert die S-Sammelschiene zum L-Register,
wenn A-Register-Bit-0 eine Eins ist und läßt die S-Sammelschiene durch, wenn S null ist.
Das Ausgangssignal der ALU wird um eins nach rechts verschoben, wobei ALX16=COUT (Austragung
von ALU) ist. Dies wird zurück ins B-Register über die T-Sammelschiene gespeichert.
609842/0882
15 L-REG
Oi
B-REG
!_ S-Sammel^.
!" Schiene
!" Schiene
ALU
\ Addiere Verriegelung + B /
\ wenn A-REG 0=1, andern- /
\falls B durchlassen /
3-REG
Ol
A-REG
Γ"
interne
Verschie
bung
i__T-Sammel-_ , Rotation^il" Schiene
V. Verschie
J1314J A-REG j θ!
DIV (DiVÖP)
16 Wiederholungen führen die Funktion B+A'L aus
und lassen das Ergebnis im B- und A-Register, wobei das Bit mit dem niedrigsten Stellenwert
im A-Register 0 und das Bit mit dem höchsten Stellenwert im B-Register 15 ist,
Divisionsschritt. Normalerweise in einer Wiederholungsschleife als Teil eines Divisionsalgorithmus
benutzt, Erfordernisse für richtige Operation:
DIV
SUB
Ll
OP
ALU S-Sammel- Speichern
Schiene
Schiene
SPEC
Das A-Register wird intern um eins.nach links
verschoben, wobei ASHI=COUT (Austrag von ALU). Die ALU subtrahiert das L-Register vom B-Register.
Das Resultat wird im Schieber um eins nach links verschoben, wobei ALX14=ALU14 und LSI=AR15. Wenn
COUT=I (kein"Leihen"), wird dieses Resultat über die T-Sammelschiene ins B-Register gespeichert.
Wenn COUT=O ("Leihen"), wird das B-Register intern nach links verschoben (Subtraktion wird effektiv
nicht durchgeführt) , wobei B-Register-Bit O4-AR15.
609842/0882
Sechzehn Wiederholungen dieser Instruktion bewirken (B,A) -rL=Quotient in B, Rest in A,
wobei angenommen ist, daß (B,A) eine positive Zahl repräsentiert.
15 L-REG
15 B-REG !o} IBM.
' S-Sammel-'"
J Schiene
J Schiene
A-REG 1Qi
ALU
^Verriegelung von B subtrahier
14 10
Interne
Verschief
bung
Eingang verschieben wenr COUT=0
15 A-REG
Interne Verschiebung wenn COUT=0
LWF (LWFOP) Mit Marke verbinden. Wenn Ll oder Rl im
Spezialfeld spezifiziert ist, wird das Marken-Flipflop
mit der ALU verbunden, wodurch eine 17-Bit-Rotation durch die R/S-Logik erfolgt.
Für Ll ist LSI=FLAGFF und FLAGFF<-ALUl5. Für Rl
ist ALXIo=FLAGFF und FLAGFF*ALU0.
WRTE (WRTEOP) Wenn der Speicher im Betrieb ist, wenn WRTEOP
überstrichen auftritt (REFRESH oder MSRDY oder
DMALO niedrig), wird die CPU "eingefroren" t bis
der Speicher frei ist. Dann wird am Ende des nächsten P5 das Schreib-Flipflop gesetzt. Das
Schreib-Flipflop wird beim folgenden P2 zurückgestellt. Setzt einen Schreibzyklus im Speicher
in Gang. Das T-Register sollte in der gleichen Instruktion geladen werden, in welcher WRTE
K09842/0882
spezifiziert ist, da DCPC den T-Registerinhalt zerstören könnte, wenn es eher geladen
worden wäre.
ASG (ASGOP)
READ (READOP) ENV (ENVOP)
ENVE (ENVEOP)
Während ASG-Instruktions-Routinen benutzt. Setzt, löscht, komplementiert das Erweiterungsflipflop
entsprechend der Kombination von IRfj,
IR7. Löscht außerdem das L-Register während P5, so daß die Überlauf/Erweiterungs-Logik während
Erhöhungen richtig arbeitet.
Wenn der Speicher arbeitet, wenn READOP
auftritt (REFRESH oder MSRDY oder
DMALO niedrig), wird die CPU "eingefroren", bis der Speicher frei ist. Dann wird am Ende vom
nächsten P5 das Lese-Flipflop gesetzt. Es wird beim folgenden P2 zurückgestellt. Dadurch wird
ein Lesen vom Speicher eingeleitet. Das M-Register muß vor oder während der Instruktion mit READ
im OP-FeId geladen werden. Die Daten müssen genau zwei Instruktionszyklen nach READ aus dem
T-Register entfernt werden, anderenfalls könnte DCPC den Inhalt des T-Registers zerstören und
der Speicher sperrt T nach dieser Zeit.
Gibt die überlauflogik für die laufende ALU-Operation
frei. Das Überlauf-Flipflop wird am Ende von P5 gesetzt, wenn L-Register und S-Sammelschiene
das gleiche Vorzeichenbit (Bit 15) haben und ALU15 verschieden ist. Vorsicht ist
am Platze, damit das Vorzeichenbit des L-Registers richtig gesetzt wird.
Gibt die Überlauf-(siehe oben) und Erweiterungslogik für die laufende ALU-Operation frei. Das
Erweiterungsflipflop wird am Ende von P5 gesetzt,
BO9842/ü882
JSB (JSBOP)N
JMP (JMPOP)/
JMP (JMPOP)/
IMM (IMMOP)
wenn COUT=I (Austrag von ALU).
Sprung oder Subroutinensprung zu neuen Platz
im Mikrocode spezifizieren. Siehe Abschnitte über Worttypen 3,4. Das AND von JSBOP und
JMPOP (=JORJ) verhindert das Speichern in die "Radierblöcke", sperrt den Speicherfeld-Dekoder,
sperrt Eintakten des Zustandsmarken-Registers und gibt die RAR-Ladelogik frei.
Spezifiziert Worttyp 2. IMMOP gibt RIR auf der S-Sammelschiene frei, spezifiziert PASS
(durchlassen) durch die ALU oder SMPS, wenn RIR19=1 und verhindert die Ansteuerung der
S-Sammelschine durch das Halteregister.
Das Spezialfeld wird zur Steuerung spezieller Computeroptionen
wie Speicherschutz oder Speicherverwaltung, zur Steuerung einer Unterbrechungserkennung, zur Durchführung spezieller arithmetischer/logischer
Operationen, zur Ingangsetzung spezieller CPU-Steuermerkmale und zum spezifizieren von Sprungschemen benutzt.
IOFF (IOFFSP) Löscht das INTEN Flipflop am Ende der laufenden
Instruktion. Dies verhindert Erkennung von Unterbrechungen von Vorrichtungen, die Codes
auswählen, welche größer als 5 sind (d.h. nur Speicherschutz-Netzausfall- oder HALT-Betrieb
können RAR auf 4 zwingen, wenn ein Sprung nach 0 versucht wird). Benutzt während JMP, I und
JSB,I Maschinen-Instrukitonsroutinen, um Unterbrechungen
solange herauszuhalten, bis eine weitere Instruktion ausgeführt ist.
SRG2 (SRG2SP) Gibt IR-Bits 0, 1, 2, 4 für SRG-Schiebe/Rota-
tionsdekoder frei. Dies bewirkt ein Schieben oder Ro/tieren der ALU auf die T-Sammelschiene,
Ll (LISP)
wie von der SRG-Instruktion angefordert.
Bewirkt eine Linksverschiebung (TBS0=1, TBS1=0) in den Schiebemultiplexern. Ohne
einen qualifizierenden OP-Feld-Befehl (LWF,
ARS, CRS, LGS, MPY, DIV) schiebt dieser Befehl in der nachfolgend gezeigten Weise.
1514 ALU | k |
LO | |
j R/S MUXRS | |
I J | |
,A T-Sammel- . , Schiene |
|
L4 (L4SP) Rl (RlSP)
Bewirkt eine zirkuläre Linksverschiebung um 4 Bit-Positionen (TBS0=O, TBSl=I) in den
Schiebemultiplexern. Rotiert die ALU um vier Positionen, bevor sie auf die T-Sammel-Schiene
gegeben wird.
Bewirkt eine Rechtsverschiebung (TBS0=0, TBSl=O) in den Schiebemultiplexern. Ohne
einen qualifizierenden OP-Feld-Befehl (LWF, ARS, CRS, LGS, MPY, DIV), schiebt dieser Befehl
wie nachfolgend gezeigt. s
jl5l | ALU j | ( | R/S MUXRS | lJo | ·- | i/ |
1
y |
I | ι j | ||||
i°\ | ||||||
H1 |
BO 9842-/0882
ION (IONSP)
SRGL (SRGlSP)
Schaltet das INTEN-Flipflop am Ende der
laufenden Mikroinstruktion ein. Erlaubt, daß bei normalen Unterbrechungen das RAR
auf 4o gezwungen wird, wenn ein Sprung order
RTN zur Adresse O0 versucht wird.
Gibt die IT-Bits 9 , 8, 7, 6 für den Schiebe/
Rotationsdekoder frei. Dies bewirkt eine Verschiebung oder Rotation der ALU auf der T-Sammelschiene,
wie von SRG-Maschineninstruktionen benötigt.
RES2 (XCHSP)
Wird dem Mikroprogrammierer nicht angeboten. Marken-Flipflop mit Erweiterungsflipflop vertauschen.
STFL (STFLSP)
CPU-Markenflipflop setzen.
CLFL (CLFLSP)
CPU-Markenflipflop löschen.
FTCH (FTCH)
Interface-Signal zum Speicherschutz. Ergebnisse:
Verletzungsregister von der M-Sammelschiene während P5 verriegeln; MPV am Ende von P5
löschen; Indirektzähler zurückstellen. Zu benutzen, während die Adresse der laufenden
Maschinen-Instruktion von Ihrer Ausführung
auf der M-Sammelschiene ist. Benutzt zur Ingangsetzung der Speicherschutz-Fehlererkennungs-Logik.
SOV (SOVSP)
Überlauf-Flipflop setzen.
COV (COVSP)
Überlauf-Flipflop löschen,
RPT (RPTSP)
Wiederholungs-Flipflop setzen. Der RIR-Takt wird nach P5 gesperrt und die
RAR-Erhöhung wird nach dem folgenden P2 gesperrt. Die nächste MjJcro-Instruktion wird
B0 9842/0882
CSRGESP)
wiederholt und der Zähler wird bei jedem folgenden P5 erhöht, bis die unteren 4 Bits
des Zählers 1111„ sind. Dann wird das Wieder— holungs-Flipflop bei P4 gelöscht, und die
normale Steuerung wird wieder hergestellt. Die Makroinstruktion hinter RPT wird wiederholt
das Zweierkomplement des Wertes in den unteren 4 Bits des Zählers {mit QOOO2= IS mal)
Erweiterungsflipflop löschen, wenn IR5=1.
Keine besonderen Signale erzeugt,
(MESP)
Signal zur besonderen Verwendung für Speicherverwaltung.
MPCK CMPCK)
Speicherschutzprüfung. Interface-Signal für Speicherschutz. Muß spezifiziert werden,
während die Adresse eines schwebenden Speicherbezugs auf der S-Sammelschiene ist. Dieser
Wert wird mit dem Umgrenzungsregister verglichen, um festzustellen, ob eine Verletzung
stattgefunden hat. Wenn S-Sammelschiene < Umgrenzungsregister, wird MPV niedrig, wenn
Speicherschutz freigegeben ist. Wenn MPV niedrig ist, beeinträchtigen Speicherbezüge
nicht den Speicher, und die Speicherdaten erscheinen als 0, keine I/O Signale können
erzeugt werden, und P- und S-Register können nicht verändert werden. FTCH oder IAK löschen
die MPV-Bedingung.
IOG (IOGSP)
Der Prozessor wird bis T2 "eingefroren".
Am Ende von T2 wird das lO-Gruppen-Freigabe-
6 (J B 8 4 2 / U B 8 2
Flipflop gesetzt, wodurchdie Erzeugung eines I/O-Signals für einen I/O Zyklus freigegeben
wird.
ICNT (ICNTSP) Zähler erhöhen.
SHLT (SHLTSP)
Das Lauf-Flipflop wird am Ende der nächsten Makroinstruktion gelöscht.
INCI (INCISP)
Der Indirekt-Zähler wird auf der Speicherschutzplatte
erhöht. Wird benutzt, nachdem ein Indirekt-Adressenniveau erfaßt worden ist, um unbegrenzte Schleifen daran zu hindern,
Unterbrechunganforderungen zu erfassen. Das INTEN-Flipflop wird nach drei Erhöhungen gesetzt.
Kein Signal.
SRUN (SRUNSP)
Lauf-Flipflop am Ende der laufenden Makroinstruktion
setzen.
JTAB (JTABSP) RAR bei P2 von der JTAB-Karte laden.
RTN (RTNSP) RAR bei P2 vom Bewahrungsregister laden und
Bewahrungsregister bei P5 löschen.
609842/Ü882
Es folgt eine Beschreibung der Mnemoniken für die S-Sammelschäanen
und Speicherfelder. Die "Radierblock"-Register sind S1-S12, X, Y, P, S. Einige der anderen Mnemoniken haben spezielle
Bedeutungen und Anwendungen und sind weiter unten beschrieben. Die "Radierblöcke" werden direkt durch RIR adressiert.
Die aus den Felddecodern kommenden Signalnamen sind in Klammer angegeben.
Der Speicherfelddecoder wird durch JMP, JSB oder RIR19=1 gesperrt.
Der S-Sammelschienen-Feld-Decoder wird durch JMP, JSB,
IMM oder DMAFRZ (T3 eines DCPC-,-Zyklus) gesperrt.
TAB Speichern (TABST) und S-Sammelschiene (TABEN). Wählt das T-, A- oder B-Register aus, abhängig von
dem Setzen von AAFF und BAFF, welche entsprechend dem Wert der T-Sammelschiene gesetzt werden, jedes Mal
wenn das M-Register geändert wird. Erlaubt Zugriff zu A, B anstatt zu den Plätzen 0, 1 des Hauptspeichers,
Siehe Beschreibung von T unten für T zugeordnete Zeitgabe.
DURCH TAB AUSGEWÄHLTES REGISTER
T-SAMMELSCHIENE | RESULTIERENDE | BAFF |
BEIM SPEICHERN | WERTE | 1 |
IN M | AAFF | 1 |
0 | 1 | 0 |
1 | 0 | 1 |
2 | 1 | |
2 | 1 | |
T A B T
CAB Speichern (CABST) und S-Sammelschiene (CABENi.Wählt
das Α-Register aus, wenn IR-11 gleich Null ist oder das B-Register, wenn IR-11 gleich Eins ist.
T Speichern (TST) und S-Sammelschiene (TREN). Wenn vom Speicherfeld, wird TST zum Speicher gesandt, wenn der
Prozessor nicht "eingefroren" ist. Wird zum Eintakten
6 09 8 42/0882
CIR (CIREN)
-· 66 -
der S-Sammelschiene in das T-Registerbenutzt.
Wenn vom S-Sammelschienen-Feld, führt es den Prozessor ein, bis der Speicher bereit ist.
Prozessor bis T6 einfrieren, dann während P3-P5 CIR von der Unterbrechungs-Adressensammelschiene
laden, IAC ausgeben und CIR auf die S-Sammelschiene schalten, wobei die zehn Bits hoher
Ordnung Null sind.
(LST)
L-Register von S-Sammelschiene laden.
ΙΟΙ (IOIEN)
S-Sammelschiene von der Quelle steuern, die durch die Auswahlcode-Sammelschiene festgelegt
ist, wie unten dargestellt. Beachten: IOIEN erzeugt ΙΟΙ auf dem I/O-System (um das Abladen des
Ausgabepuffers auf die I/0-Sammelschiene zu bewirken)
nur während T4 oder T5 oder wenn das 1/0-Freigabeflipflop
gesetzt ist.
auswahlcode- sammelschiene |
DURCH ΙΟΙ AUSGEWÄHLTE QUELLE |
00 | I/0-Sammelschiene (=O) |
01 | Frontplatten-Anzeige |
02 | Wortzählregister DPPC Kanal 1 |
03 | Wortzählregister DCPC Kanal 2 |
04 | Zentrales Unterbrechungs- register |
05 | Register für Speicherschutz verletzung |
06 | Nichts = 177777g |
07 | Nichts = 177777g |
10S-77S | I/O-Samme!schiene (vom Ausgabepuffer der Ϊ/0- Einrichtung geladen) |
609842/0882
100 (IOOST)
Dies ist unabhängig vom IOO-Signal, welches
durch die I/O-Signalgeneratoren erzeugt werden.
Schaltet die S-Sammelschiene auf die
I/O-Sammelschiene wenn das IO-Gruppen-Freigabeflipflop
gesetzt ist.
CNTR
S-Sammelschiene (CNTREN) und Speichern (CNTRST).
CNTRST speichert die acht Bits niedriger Ordnung der S-Sammelschiene in den Speicher. CNTREN
gibt den acht-Bit-Zähler auf die unteren vier Bits der S-Sammelschiene frei. Die oberen acht
Bits der S-Sammelschiene sind alle eins.
DSPL
S-Sammelschiene Ö3SPLEN) , Speichern (DSPLST) . Wählt das Register für die Frontplatten-Änzeige
aus.
DSPI
S-Sammelschiene (DIEN): Wählt das Indikatorregister für die Anzeige auf der Frontplatte auf
den Bits 5-0 der S-Sammelschiene aus. Die Bits
höherer Ordnung sind eins. Speichern (DIST): speichert die unteren sechs Bits der S-Sammelschiene
in das Indikator register ..für die Anzeige
auf der Frontplatte. Bits höherer Ordnung werden ignoriert. Zu beachten: niedrige Bits
entsprechen den Leuchtdioden-Indikatoren, die auf dem Anzeigeindikator erleuchtet sind, wie
im folgenden gezeigt:
S-SAMMELSCHIENEN-BITS NIEDRIG BEI GEGEBENEN DSPI 5 4 3 2
ERLEUCHTETER REGISTERINDIKATOR SPTMBA
ADR (ADREN)
Gibt Bits 9-0 des M-Registers auf Bits 9-0 der S-Sammelschiene. Wenn IRIO=O, Nullen auf Bits
15-10 der S-Sammelschiene geben. Wenn IR1O=1, M-Register Bits 15-10 auf die S-Sammelschiene
schalten. Führt Adressierung der Null- und der laufenden Seite für Maschineninstruktionen des
-609842/0-8 82
MRG-Typs durch.
IR (IRST)
IR von der S-Sammelschiene laden.
Das M-Register hat nur 15 Bits. Wenn es auf der S-Sammelschiene freigegeben ist, ist das
Bit 15 niedrig.
LDR (LDREN)
Komplement des Inhalts des Lader-ROM freigeben, welches durch IR15, IR14 ausgewählt ist und
durch Zählerbits 7-0 auf den S-Sammelschienenbits 3-0 adressiert ist. Bits 15-4 werden
hochgezogen.
MEU (MEST)
Speichererweiterungseinheit von S-Sammelschiene geladen.
CM (CMST)
Kein Register steuert die S-Sammelschiene an.
S-Sammelschiene ist 177777O.
S-Sammelschiene dann und nur dann in M-Register speichern, wenn IR eine Instruktion des MRG-Typs
enthält, aber nicht direkt springen. In Hardware wird M geladen, wenn CMST niedrig ist
und (IR12+IR14+IR13(IR15+IR11)=1.
MEU (MEEN)
Speichererweiterungseinheit wird auf S-Sammelschiene geschaltet.
PNM (PNMST)
S-Sammelschiene in M-Register laden und T-Sammelschiene
in P-Register (Teil der "Radierblöcke") laden.
X, Y, P, S,
Diese Register sind alle in den 16X4-Bit-"Radierblock
"-Registern und werden durch RIR durch einen Multiplexer adressiert.
6 09842/0882
Das ALU-Feld gibt direkt in die ALU ohne Decodierung ein. Die ALU führt kontinuierlich die Operation aus, die durch RIR19-15
spezifiziert ist, es sei denn, daß diese durch eine IMM- oder MPY-Mikroinstruktion überfahren wird und stattdessen ein PASS
oder CMPS ausführt. Die möglichen Operationen sind nachstehend dargestellt (S = S-Sammelschiene, L = L-Register). Die Arithmetik
ist Zweier-Komplement, "+" = logisches ODER. INC S PLUS 1
OP1 (S+L) PLUS 1
OP2 (S+L) PLUS 1
ZERO AUSGANG NUR NULLEN
0P3 S PLUS (S · L) PLUS
0P4 (S+L) PLUS (S · L) PLUS
SUB S MINUS L
0P5 S · L
0P6 S PLUS (S · L)
ADD S PLUS L
0P7 (S+L) PLUS (S · L)
0P8 S · L MINUS
0P9 S PLUS S (LOGISCHE LINKSVERSCHIEBUNG)
OP10 (S+L) PLUS S
OP11 (S+L) PLUS S
DEC" S MINUS 1
Zu beachten: Folgendes sind logische Operationen
CMPS NICHT S
NOR NICHT (S ODER L)
NSAL (NICHT S) UND L
OP13 ALLES NULLEN
NAND NICHT (S UND L)
CMPL NICHT L
XOR S (EXKLUSIV - ODER) L
SANL S UND (NICHT L)
NSOL (NICHT S) ODER L
XNOR NICHT (S (EXKLUSIV - ODER) L)
PASL L
609842/0882
AND S UND L
ONE ALLES EINSEN
SONL S ODER (NICHT L)
IOR· S ODER L
PASS S
M-REGISTER-OPERATION
Das M-Register muß mit der Adresse des Hauptspeichers geladen werden, der zu lesen ist, bevor der Mikrobefehl READ erscheint,
oder mit ihm zusammenfällt. Das M-Register wird beim Start von P4 geladen. Wenn der Mikrobefehl CM benutzt wird, wird M nur
geladen, wenn eine Instruktion des MRG-Typs in IR ist. M kann nach Ingangsetzung eines Bezugs geändert werden, da die M-Sammeischiene
in ein Halteregister im Speicher eingetaktet wird, und zwar nach 200us in den Speicherzyklus. Das M-Register muß vor
der Benutzung eines WRTE-Befehls geladen werden, da "Datenschreiben"
in T geladen wird, wenn WRTE gegeben ist.
TAB-LOGIK
Immer wenn M geladen wird, werden die A-adressierbaren und B-adressierbaren
Flipflops (AAFF, BAFF) entsprechend dem Wert
der T-Sammelschiene gesetzt, wie im folgenden dargestellt ist.
T-SAMMELSCHIENE AAFF BAFF
1 2
ANDERE
Diese Flipflops legen fest, ob das A-, B- oder T-Register benutzt wird, wenn der TAB-Mikrobefehl spezifiziert ist (da die Register
A und B als Speicherplätze O, 1 adressiert sind, obwohl sie in Wirklichkeit Hardware-Register sind). Wenn M eine Null oder eine
Eins empfangen könnte sollte im ALU-Feld der Mikrobefehl INC benutzt
werden. Dieses T-Sammelschienenschema mit INC wird benutzt,
um Operandenabrufe während der Ausführung der Instruktion zu vereinfachen. Die Standardfolge ist folgende:
609842/0882
1 | 0 |
O | 1 |
0 | 0 |
READ INC PBM P M P, P P+; , TAB-Logik setzen, READ initiieren.
(Warten)
(Warten)
PASS S1 TAB Daten vom T-, A- oder B-Register nehmen,
entsprechend TAB-Logik.
LESE-OPERATIONEN Einfrieren
MSRDY (Speicher bald fertig)ist bis P2 hoch, wenn der Speicher
für einen anderen Bezug bis zum Ende des nächsten P5 fertig ist.
Wenn es nicht bei P2 hoch ist, oder DMALO niedrig ist, oder REFRESH niedrig ist (Speichererneuerung), erfolgt ein Einfrieren,
wenn READ spezifiziert ist, bis ein Fortfahren sicher ist.
Ingangsetzung
Ein Speicherlesezyklus wird durch das Lese-Flipflop am Ende von
P5 inganggesetzt, wenn der Mikrobefehl READ spezifiziert ist.
READ ist niedrig von P5 bis P1, die Abfallflanke setzt jedoch
den Zyklus ingang.
Datenwiedergewinnung
Die Daten müssen vom Speicher genau zwei Mikroinstruktionen nach READ wiedergewonnen werden. Nach dieser Zeit sperrt der Speicher
das T-Register. Wenn die Mikrobefehle T oder TAB (wenn AAFF gleich BAFF=O) im S-Sammelschienenfeld sind und MSRDY niedrig ist, erfolgt
ein Einfrieren bis MSRDY hoch ist. Wenn die TAB-Logik A oder B spezifiziert, wird auf das T-Register überhaupt kein Bezug genommen
und ein Einfrieren findet nicht statt. Auf Speicherplatz 0, 1 des Hauptspeichers kann Bezug genommen werden, wenn die TAB-Logik
nicht wie vorbeschrieben benutzt wird.
SCHREIBOPERATIONEN
Einfrieren _ R fJ 9 8 4 2 / 0 8 8 2
Der Mikrobefehl WRTE erfordert die gleiche Einfrieroperation wie READ.
Ingangsetzung
Ein Schreibzyklus wird durch das Schreibflipflop am Ende von
P5 in Gang gesetzt, wenn der Mikrobefehl WRTE gegeben ist.
WRITE ist von P5 bis P1 niedrig, jedoch setzt die Abfallflanke
von P5 den Zyklus in Gang-
9842/0882
ANHANG
ETIKETT | MAKRO-SPRUNG-PUNKT | RTN | JMP | PASS | RTN | JMP | RTN | JSB | MEU | JTABL | BINÄRCODE | |
UND MNEMONIK | JMP | RTN PASS | JMP | RTN | CAB | XMM | ||||||
0001 | NEUMACRO | JMP J30 | JMP | JMP | JMP MESP | XMx | 1000X0111100XXXX | |||||
0002 | JMP STFL | JMP | JMP | JMP | 1000X01111010001 | |||||||
0003 | JMP | JMP | JMP MESP | XLx | 1000X01111010010 | |||||||
0004 | JMP | ■ JMP MESP | XSx | 1000X01111010011 | ||||||||
0005 | JMP | JMP | XCh | 1000X01111010100 | ||||||||
0006 | JMP | JMP | LFk | 1000X01111010101 | ||||||||
0007 | JMP | JMP | MEU | 1000X01111010110 | ||||||||
0008 | JMP | MEU | 1000X01111010111 | |||||||||
0009 | RS* | JMP | DJP | 1000X01111011000 | ||||||||
0010 | RVX | JMP | DJS | 1000X01111011001 | ||||||||
0011 | SJP | 1000X01111011010 | ||||||||||
0012 | SJS | 1000X01111011011 | ||||||||||
0013 | UJP | 1000X01111011100 | ||||||||||
0014 | UJS | 1000X01111011101 | ||||||||||
0015 | XMM | 1000X01111011110 | ||||||||||
0016 | 1000X01111011111 | |||||||||||
0017 | JTABL | MBI | 1000X011110X0000 | |||||||||
0018 | MBF | 1000X01111000001 | ||||||||||
0019 | MBW | 1000X01111000010 | ||||||||||
0020 | MWI | 1000X01111000011 | ||||||||||
0021 | MWI | 1000X01111000100 | ||||||||||
0022 | MWW | 1000X01111000101 | ||||||||||
0023 | SYh | 1000X01111000110 | ||||||||||
0024 | USx | 1000X01111000111 | ||||||||||
0025 | PAx | 1000X01111001000 | ||||||||||
0026 | PBx | 1000X01111001001 | ||||||||||
0027 | SSM | 1000X01111001010 | ||||||||||
0028 | JRS | 1000X01111001011 | ||||||||||
0029 | 1000X01111001100 | |||||||||||
0030 | 1000X011110011Oq | |||||||||||
0031 | OPGET | 1000X01111001110 | ||||||||||
0032 | 1000X01111001111 | |||||||||||
0033 | X H H H UTIL IT YX X H H |
6Ü98 "4 2/0882
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
CD
OO
4>-NJ
•^.
O
CO
CO
0034 0035
0036 0037 0038
0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049
0050
XMM
PASS S3 CMPS S2
P X
MELOOP1
JMP | CNDX | ONES | L | RTN* |
IMM | LOW | S1 | %200 | |
SANL | L | A | ||
IMM | HIGH | S1 | %337 | |
SONL | MEU | S1 | ||
PASS | P | S1 | ||
PASS | CNTR | B | ||
PASS | S2 | |||
JMP | CNDX | FLAG | RJX | XMS |
JMP | CNDX | AL 15 | PNK | READMAP |
READ | INC | S4 | P | |
PASS | MEU | TAB | ||
MESP | PASS | PNM | S4 | |
READ | ICNT | INC | RJS | P |
JMP | CNDX | CNT 4 | MELOOP1 | |
53 <= P; P BEFAHREN
S2 < = EINER-KOMPLEMENT DER ZÄHLUNG
AUF NULLZÄHLUNG PRÜFEN L <= 111111111000000
UNTERE SIEBEN BITS DES Α-REGISTERS MASKIEREN L< = 1101111111111111 STEUERBIT ADDIEREN (13)
SPEICHERADRESSENREGISTER <= Sl P< = B(TABELLENADRESSE)
CNTR < = S2
AUF XMS-INSTRUKTION PRÜFEN AUF NEGATIVE ZÄHLUNG PRÜFEN
ERSTES WORT LESEN P<=P+1
54 <= KARTENDATEN KARTENREGISTER <= DATEN
NÄCHSTES WORT LESEN, CNTR UND P ERHÖHEN
SCHLEIFE FÜR 16X
ZEILE
ETIKETT
MIKROINSTRUKTIONEN BEMERKUNGEN
0051 0052 0053 0054
JMP CNDX CNT8 READ
XMM,RTN
JMP CNDX INT RJS MELOOP1
DEC S3 S3
9842 | 0055 0056 |
XMM,RTN | JMP | RTN | PASS | 8 | XMM,RTN M |
/0882 | 0057 0058 |
XMS,RTN | CNDX | INC PASS |
S1 L |
CNTR X |
|
0059 | MESP | CMPS | X | CNTR | |||
0060 | ICNT | ADD | S1 | S1 | |||
0061 | CNDX | PASS | L | S1 | |||
0062 | CNDX | ADD | A | A | |||
0063 | P. RTN | PASS | P | S3 | |||
0064 | XMS | JMP | AL15 | RJS | P. RTN | ||
0065 | MELOOP2 | PASS | MEU | B | |||
0066 | INC | B | B | ||||
006 7 | JMP | CNT 4 | RJS | MELOOP2 | |||
0068 | JMP | CNT8 | XMS,RTN | ||||
IST GESAMTE SCHLEIFE BEENDET? LESEN BEI GLEICHER ADRESSE WIEDER STARTEN
AUF NICHTVORHANDENE UNTERBRECHUNG PRÜFEN
P-REGISTER FÜR WIEDERSTART ZURÜCKSTELLEN
ANDERE SERVICEUNTERBRECHUNG B-REGISTER ZURÜCKSTELLEN
S1<= VERBLEIBENDE ZÄHLUNG (ZWEIER KOMPLEMENT)
L * = ORIGINALZÄHLUNG (POSITIV) X<= VERBLEIBENDE ZÄHLUNG (POSITIV) SK = ORIGINAL-BLEIBEND
L < = WORTE VOLLSTÄNDIG
A< = A + TOTAL VOLLSTÄNDIG P<= NÄCHSTE INSTRUKTION
TESTEN AUF X O ... NOP
KARTENREGISTER<= DATEN
B < = B + 1; CNTR ERHÖHEN
SCHLEIFE FÜR 16X
IST GESAMTE SCHLEIFE BEENDET?
S1<= VERBLEIBENDE ZÄHLUNG (ZWEIER KOMPLEMENT)
L * = ORIGINALZÄHLUNG (POSITIV) X<= VERBLEIBENDE ZÄHLUNG (POSITIV) SK = ORIGINAL-BLEIBEND
L < = WORTE VOLLSTÄNDIG
A< = A + TOTAL VOLLSTÄNDIG P<= NÄCHSTE INSTRUKTION
TESTEN AUF X O ... NOP
KARTENREGISTER<= DATEN
B < = B + 1; CNTR ERHÖHEN
SCHLEIFE FÜR 16X
IST GESAMTE SCHLEIFE BEENDET?
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
CD
O
CD
CD
O
CD
CD
O
OO
OD
FO
OO
OD
FO
0069 0070
0071 0072 0073 0074 0075 0076 0077 0078 0079
0080
0081 0082 0083 0084 0085
0086
JMP CNDX
JMP
READMAP
MELOOP3
WRTE
JMP
JMP
JMP
JMP
JMP
JMP
MPCK MESP ICNT CNDX CNDX CNDX
JMP
XMM,RTN
INT DEC
DEC
PASS
INC
P-ASS
PASS
CNT4
CNT 8
INT
DEC
RJS S3
S4
CNTR
PNM
S1
TAB
RJS
RJS S3
MELOOP2 S3
XMS7RTN
S4
MEU
S1
MELOOP3
XMM, RTN**"
MEL00P3
S3
B | XMM,RTN | |
PASS | L | P |
PASS | X | X |
INC | S1 | CNTR |
SUB | X | |
AUF NICHT VORHANDENE UNTERBRECHUNG PRÜFEN
P-REGISTER FÜR ERNEUTEN START ZURÜCKSTELLEN
ANDERE SERVICE UNTERBRECHUNG S4 4= X-1
CNTR = CNT+1 (ZWEIERKOMPLEMENT) M.P.PRÜFUNG: P <= P+1
S1 <= KARTENREGISTER
DATEN IN TABELLE SCHREIBEN SCHLEIFE FÜR 16X
DATEN IN TABELLE SCHREIBEN SCHLEIFE FÜR 16X
AUF NICHTVORHANDENE UNTERBRECHUNG PRÜFEN
P-REGISTER FÜR ERNEUTEN START ZURÜCKSTELLEN
ANDERE SERVICE UNTERBRECHUNG
B-REGISTER ZURÜCKSTELLEN L < = ORIGINALZÄHLUNG (NEGATIV) X <
= VERBLEIBENDE ZÄHLUNG (ZWEIER KOMPLEMENT)
SK = ORIGINAL - VERBLEIBEND
SK = ORIGINAL - VERBLEIBEND
cn co oo
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
0087 | |
0088 | |
0089 | |
0090 | |
0091 | |
0092 | |
'860 | 0093 0094 |
■F- | 0095 |
O | 0096 |
882 | 0097 0098 |
0099 | |
0100 | |
0101 | |
0102 | |
0103 |
XM
PA. PB
SY.US
XPER
IMM LWF
JMP IMM
JMP IMM
IMM
RTN
L1
CNDX
CNDX
IMM
RTN
RPT
MESP
RPT
MESP
RTN
PASS | L | S1 |
ADD | A | A |
PASS | P | S3 |
CMHI | SL | %337 |
PASS | CAB | |
ALO | RJS | SY.US |
LOW | L | %177 |
SONL | S1 | S1 |
FLAG | RJS | XFER |
LOW | L | %337 |
SONL | S1 | S1 |
PASS | MEU | S1 |
LOW | CNTR | %000 |
PASS MEU MEU
LOW CNTR %000
PASS MEU MEU
L < = WORTE VOLLSTÄNDIG A< = A + TOTALVERVOLLSTÄNDIGT
P < = NÄCHSTE INSTRUKTION S1< = 0010000000000000
T-SAMMELSCHIENE < = A/B ,-MARKE
<= Α/Β (15)
PRÜFUNG AUF KARTE FÜR ZUGANG A L <= 1111111101111111 SK = 0010000010000000
PRÜFUNG AUF SYSTEMKARTE L < = 1111111111011111 S1<
= 00100000X0100000 SPEICHERADRESSENREGISTER <=S1 (7-3))
CNRT <. - O; WIEDERHOLUNGSFLIPFLOP
16X SETZEN
SPEICHERZUGANGSREGISTER = SPEICHERPROGRAMMREGISTER CNTR<
= O; WIEDERHOLUNGSFLIPFLOP 16X SETZEN
SPEICHERZUGANG NEHMEN <= SPEICHERPROGRAMMREGISTER
ZURÜCK
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
0104
0105 | |
0106 | |
0107 | |
609 | 0108 0109 |
OO | |
to | 0110 |
σ | 0111 |
OO 00 |
0112 |
0113 | |
0114 | |
T | 0115 |
0116 | |
0117 | |
0118 | |
0119 | |
0120 |
OPGET
XS"
XC
MESP | INC | P | P |
INC | M | M | |
PASS | MEU | MEU | |
RTN | PASS | CAB | TAB |
OPGET | |||
MESP | INC | P | P |
MPCK | INC | M | M |
PASS | TAB | CAB | |
RTN | PASS | MEU | MEU |
OPGET
MESP | PASS | L | CAB |
INC | M | M | |
MESP | INC | P | P |
XOR | TAB | ||
CNDX | TBZ | RTN * | |
RTN | INC | P | P |
OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
KARTEN SCHALTEN; TATSÄCHLICHEN OPERANDEN NEHMEN
KARTENZUSTAND ZURÜCKSTELLEN
KARTENZUSTAND ZURÜCKSTELLEN
OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
KARTENZUSTAND SCHALTEN
KARTENZUSTAND SCHALTEN
KARTENZUSTAND ZURÜCKSTELLEN OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
L<= A/B; WECHSELKARTE SETZEN TATSÄCHLICHEN OPERANDEN NEHMEN P<
= INSTRUKTION + 1; KARTE ZURÜCKSTELLEN
A/B MIT SPEICHER VERGLEICHEN RTN-NICHT ÜBERSPRINGEN WENN GLEICH P<
= INSTRUKTION + 2; ZURÜCK
(JD CO
ZEILE | ETIKETT |
0121 | LF * |
0122 | |
0123 | |
0124 | |
0125 | DJP |
0126 | |
0127 | SJP |
0128 | |
0129 | UJP |
0130 | JP * |
0131 | SETSTAT |
MIKROINSTRUKTIONEN
BEMERKUNGEN
0132
0133 0134 0135 0136 0137 0138
IMM | RTN | IMM | HIGH | L | %007 |
JMP | AND | S1 | CAB | ||
IMM | PASS | MEU | MEU | ||
JMP | PASS | MEU | S1 | ||
IMM | HIGH | S2 | %ioo | ||
JSB IOFF | JP * | ||||
HIGH | S2 | %102 | |||
JP *· | |||||
HIGH | S2 | %103 | |||
OPGET |
PASS MEU S2
DJS
SJS
UJS
MPCK | PASS | P | M | |
RTN | PASS | S2 | M | |
IMM | HIGH | %100 | ||
JMP | S2 | JS * | ||
IMM | HIGH | %102 | ||
JMP | S2 | JS8 | ||
IMM | HIGH | %103 | ||
L < = 000001111111 1111
S1< = A/B (10-0)
UMGRENZUNGSDIREKTIVE SENDEN SPEICHERUMGRENZUNG = S1; ZURÜCK
S2< = 0100000011111111
S2< = 0100001011111111
S2 < = 0100001111111111
OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
SPEICHERZUSTAND IST HIER GESETZT
SPEICHERZUSTAND IST HIER GESETZT
S-SAMMELSCHIENE = ADRESSE; ZIEL PRÜFEN
P< = ZIELADRESSE; ZURÜCK S2< = 0100000011111111
S2 «= 0100001011111111 S2 <= 0100001111111111
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
CO
O
CD
OO
■P-
O
CO
CD
NJ
0139
0140 0141 0142 0143 o144 0145
0146 0147 0148
0149 0150 0151 0152 0153
0154 0155
0156 0157
JS
JSB
IOPF
OPGET
MBP
MBI
MPCK | INC | S3 | P | |
PASS | MEU | S2 | ||
RTN | PASS | M | ||
WRTE | MESP | PASS | TAB | S3 |
R1' | INC | P | M | |
IMM | R1 | HIGH | L | %000 |
R1 | PASS | A | A | |
PASS | B | B | ||
LWF | PASS | X | X | |
JSB | CNDX | X.LOOP-1 | ||
CNDX | PASS | X | ||
JMP | MESP | TBZ | RJS | B.RESET |
JMP | CNDX | FLAG | RJS | B.RESET |
MESP | PASS | i&R | ||
JMP | ALO | *+2 | ||
IMM | L1 | HIGH | L | %000 |
READ | INC | M | A | |
PASS | A | A | ||
OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
S3 <= RÜCKKEHRADRESSE
SPEICHERZUSTAND IST HIER GESETZT S-SAMMELSCHIENE = ADRESSE RÜCKKEHRADRESSE AM ZIEL SCHREIBEN P <= ZIEL + 1
L <= 0000000011111111;
WECHSELKARTE SETZEN
A < = QUELLENWORTADRESSE B < = ZIELWORTADRESSE
X < = WORTZÄHLUNG; MARKE <= UNGERADES BYTE
BYTES PAARWEISE BEWEGEN T-SAMMELSCHIENE <= X
AUF UNTERBROCHENE BEWEGUNG PRÜFEN AUF NICHT UNGERADES BYTE PRÜFEN ALO <= IR(O); WECHSELKARTE SETZEN
S3 <= RÜCKKEHRADRESSE
SPEICHERZUSTAND IST HIER GESETZT S-SAMMELSCHIENE = ADRESSE RÜCKKEHRADRESSE AM ZIEL SCHREIBEN P <= ZIEL + 1
L <= 0000000011111111;
WECHSELKARTE SETZEN
A < = QUELLENWORTADRESSE B < = ZIELWORTADRESSE
X < = WORTZÄHLUNG; MARKE <= UNGERADES BYTE
BYTES PAARWEISE BEWEGEN T-SAMMELSCHIENE <= X
AUF UNTERBROCHENE BEWEGUNG PRÜFEN AUF NICHT UNGERADES BYTE PRÜFEN ALO <= IR(O); WECHSELKARTE SETZEN
AUF MBF-INSTRUKTION PRÜFEN L <= 0000000011111111; WECHSELKARTE
SETZEN
M <= QUELLENADRESSE
BYTE-ADRESSE IN A FORMEN
M <= QUELLENADRESSE
BYTE-ADRESSE IN A FORMEN
CjO OO
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
CO
N-"
N-"
0158 0159 0160 0161 0162
0163 0164
0165 0166
0167 0168 0169 0170 0171 0172 0173 0174 0175
MBW
MESP | SANL | S2 | TAB | |
JMP | R1 | MB * | ||
R1 | PASS | A | A | |
R1 | PASS | B | B | |
LWF | PASS | X | X | |
JSB | MESP | W. LOOP-1 | ||
PASS | X | |||
MB**
JMP | CNDX | TBZ | RJS | B.RESET |
JMP | CNDX | FLAG | RJS | B.RESET |
+ 1 | ||||
IMM | HIGH | L | %000 | |
READ | PASS | M | A | |
L1 | PASS | A | A | |
SANL | S2 | TAB | ||
READ | MPCK | INC | M | B |
L1 | PASS | B | B | |
AND | S1 | TAB | ||
PASS | L | S1 | ||
IOR | S2 | S2 |
S2 <= ΑΑΑΑΑΑΑΑΟΟΟΟΟΟΟΟ
A = QUELLENWORTADRESSE B <= ZIELWORTADRESSE
X <= WORTZÄHLUNG; MARKE
<.= UNGERADES BYTE BYTES PAARWEISE BEWEGEN
T-SAMMELSCHIENE = X; WECHSELKARTE AUSWÄHLEN AUF UNTERBROCHENE BEWEGUNG
PRÜFEN
AUF NICHT UNGERADES BYTE PRÜFEN
L <= 0000000011111111
M < = QUELLENADRESSE BYTE ADRESSE IN A FORMEN S2 <= ΑΑΑΑΑΑΑΑΟΟΟΟΟΟΟΟ
MC= ZIELADRESSE BYTEADRESSE IN B FORMEN
51 = OOOOOOOOBBBBBBBB L <= S1
52 < = AAAAAAAABBBBBBBB
TN5 CD
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
CTJ
O
CO
OD
O
CO
OD
0176 0177 0178 0179 0180 0181 0182 0183
0184 0185 0186 0187 o188 0189
0190 0191 0192 0193 0194
B.RESET
MWI
X.LOOP
WRTE | RTN | PASS | TAB | S2 |
L1 | PASS | MEU | MEU | |
L1 | INC | A | A | |
L1 | INC | B | B | |
LWF | RTN | PASS | X | X |
PASS | A | A | ||
CNDX | PASS | B | B | |
PASS | MEU | MEU | ||
MESP | PASS | X | ||
JMP | TBZ | MW* | ||
READ | MPCK | INC | M | A |
INC | A | A | ||
PASS | S2 | TAB | ||
MESP | INC | M | B | |
WRTE | CNDX | PASS | TAB | S2 |
CNDX | INC | B | B | |
DEC | X | X | ||
JMP | TBZ | MW* | ||
JMP | INT | RJS | X.LOOP | |
AUSGEWÄHLTE KARTE ZURÜCKSTELLEN A <= A + 1
B <= B + 1
B <= B + 1
AUSGEWÄHLTE KARTE ZURÜCKSTELLEN; ZURÜCK ι
T-SAMMELSCHIENE <= X °5
AUF X=O PRÜFEN ι
QUELLENWORT LESEN
QUELLENADRESSE ERHÖHEN; KARTEN SCHALTEN S2
<= DATEN
M.P. PRÜFUNG; M <= BESTIMMUNGSADRESSE
DATEN IN ZIEL SCHREIBEN BESTIMMUNGSADRESSE ERHÖHEN ZÄHLUNG ERNIEDRIGEN; KARTEN SCHALTEN^
PRÜFEN OB BEWEGUNG KOMPLETT AUF NICHT VORHANDENE UNTERBRECHUNG PRÜFEN
ETIKETT
MIKROINSTRUKTIONEN BEMERKUNGEN
RTN
MWW
DEC P PASS MEU
PASS
0198 | Y.LOOP | JMP | CNDX | TBZ | M | MW* | |
CJ? | 0199 | READ | INC | A | A | ||
CO | 0200 | INC | S2 | A | |||
CO .t— |
0201 | PASS | M | TAB | |||
N." | 0202 | MPCK | INC | TAB | B | ||
t Λ OC CO |
0203 | WRTE | PASS | B | S2 | ||
N> | 0204 | INC | X | B | |||
0205 | DEC | X | |||||
0206 | JMP | CNDX | TBZ | RJS | MW** | ||
0207 | JMP | CNDX | INT | P | W. LOOP | ||
0208 | MW * | DEC | MEU | P | |||
0209 | SY * | RTN | PASS | S1 | MEU | ||
0210 | IMM | CMHI | %337 | ||||
0211 | PA * | JMP | Sl | MAPMOVE | |||
0212 | IMM | R1 | CMHI | S1 | %176 | ||
0213 | R1 | PASS | S1 | ||||
P <= INSTRUKTIONSADRESSE AUSGEWÄHLTE KARTE ZURÜCKSTELLEN;
ZURÜCK
WECHSELKARTE SETZEN; T-SAMMEL-SCHIENE <= X
AUF X=O PRÜFEN
QUELLENWORT LESEN
QUELLENADRESSE ERHÖHEN S2 <= DATEN
AUF X=O PRÜFEN
QUELLENWORT LESEN
QUELLENADRESSE ERHÖHEN S2 <= DATEN
M.P. PRÜFUNG; M<= BESTIMMUNGSADRESSE
DATEN IN ZIEL SCHREIBEN BESTIMMUNGSADRESSE ERHÖHEN ZÄHLUNG ERNIEDRIGEN
PRÜFEN OB BEWEGUNG KOMPLETT AUF NICHTVORHANDENE UNTERBRECHUNG PRÜFEN
PRÜFEN OB BEWEGUNG KOMPLETT AUF NICHTVORHANDENE UNTERBRECHUNG PRÜFEN
P <= INSTRUKTIONSADRESSE AUSGEWÄHLTE KARTE ZURÜCKSTELLEN;
ZURÜCK
S1 <= 001000000000000
S1 <= 001000000000000
S1 <>= 0100000010000000
S1 <·= 0010000001000000
TNT CO
cn CD OO
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
0214 0215 0216 0217 0218 0219 0220 0221
0222 0223 0224 0225 Ο226 0227 0228 0229
0230 0231 0232 0233 0234
PB*
US
MAPMOVE
JMP IMM JMP
IMM IMM
LOW S1
MAPMOVE %237 US +1
LOW S1 %337
HIGH L %337
XOR S1 S1
PASS MEU S1
MELOOP4
MELOOP5
IMM | CNDX | LOW | CNTR | %337 |
PASS | S3 | P | ||
PASS | P | CAB | ||
JMP | MESP | AL15 | MELOOP5 | |
READ | ICNT | INC | PNM | P |
CNDX | PASS | S4 | TAB | |
PASS | MEU | S4 | ||
READ | RTN | INC | PNM | P |
JMP | MPCK | CNTB | RJS | MELOOP4 |
MESP | PASS | CAB | M | |
PASS | P | S3 | ||
INC | PNM | P | ||
PASS | S1 | MEU | ||
S1 <= 1111111110011111 L *= 1101111111111111
S1 <= 0010000001100000 S1 <= 1111111111011111
L C = 1101111111111 111 S1 <·= 0010000000100000
SPEICHERADRESSENREGISTER < = 1
CNTR <= 11011111 (-41B)
CNTR <= 11011111 (-41B)
53 <= P
P <= A/B
P <= A/B
AL 15=1 => KARTEN LESEN ERSTES WORT LESEN; P.<= P+1
54 <= KARTENDATEN KARTENREGISTER = DATEN
NÄCHSTES WORT LESEN; P <= P + 1
SCHLEIFE FÜR 32X A/B <= A/B + 32 P <= INSTR + 1
M.P. PRÜFUNG; P*= P +
S1 <= KARTENREGISTER
JSJJ CD
<jD QO
ZEILE
ETIKETT
MIKROINSTRUKTIONEN
BEMERKUNGEN
0235 0236 0237 0238 0239 SSM
0240 0241 0242
0243 0244 JRS
0245 0246 0247
0248 0249
0250 ON.OFF
0251 0252 SY.USR
WRTE JMP
ICNT
CNDX
RTN
RTN
CNDX
RTN
RTN
MPCK
JSB
LWF
READ JSB
JMP
IMM LWF
RTN
IOFF
IOFF
L1
PASS TAB
CNT8 RJS
PASS CAB
PASS P
PASS M
PASS MEU
PASS TAB
INC P
INC M HIGH S2 PASS S1
CNDX
R1
INC
FLAG
HIGH
PASS
PASS
S2
S1
S1 DATEN IN TAFEL SCHREIBEN MELOOP5 SCHLEIFE FÜR 32X
P Α/Β 4= Α/Β + 32
S3 P 4= INSTR + 1
OPGET OPERANDENADRESSE VON INSTRUKTDN + 1 NEHMEN M.P. PRÜFUNG VOR SCHREIBEN
MEU ZUSTANDSDIREKTIVE SENDEN
MEU ZUSTANDSWORT IN SPEICHER SCHREIBEN
P T? < = INSTRUKTION + 2; ZURÜCK
OPGET OPERANDENADRESSE VON INSTRUKTION + 1 NEHMEN
M ZUSTANDSWORT LESEN
%103 S2 <= 01000001111111111
TAB MARKE <= ZUSTAND (15); S1
(15) (=ZUSTAND(14)
S3 JMP-ZIEL LESEN
OPGET+2 ZIELADRESSE VON INSTRUKTION + 2 NEHMEN
SY.USR PRÜFEN OB SPEICHER EINGESCHALTET WAR
%101 WBNNAUS, S3 <= 01000000111111111
S1 S1 <= ZUSTAND; AL15 <= ZUSTAND(14)
CiD CD
ZEILE
ETIKETT
MIKROINSTRUKTIONEN BEMERKUNGEN
0253
JMP CNDX AL15
0254 | OPGET |
0255 | |
0256 | |
0257 | |
0258 | |
0259 | |
0260 | INDLEVEL |
0261 | |
0262 | INDIRECT |
0263 | |
0264 | |
0265 | IND 2 |
0266 | |
0267 | |
0268 | |
IMM
JMP
READ
HIGH AND
INC INC
L S2
M S3
SETSTAT
%102 S2
SETSTAT
P P
PASS
JMP CNDX AL15 JMP LISTE DER INDLEVEL
M TAB RJS RTH * INDLEVEL
ROUTINE (NUR ALS BEZUG)
ROUTINE (NUR ALS BEZUG)
ZUSTAND (14) FÜR AUSGEWÄHLTEN BENUTZER PRÜFEN
WENN SYS, L <= 0100001011111111
DANN S2 <= 010000X011111111 ZUSTAND DES SPEICHERS SETZEN:
AUCH P SETZEN
S3 <= P + 1; S3
<= INSTRUKTION + 2
M <= NÄCHSTE ADRESSE
AUF "NICHT INDIREKT" PRÜFEN
M <= NÄCHSTE ADRESSE
AUF "NICHT INDIREKT" PRÜFEN
READ INC M M
JMP CNDX NHOI RJS IND2
CNDX PASS M TAB
JMP CNDX AL15 INDLEVEL
READ RTN INC M M
INCI PASS M TAB
NÄCHSTES NIVEAU LESEN
HALTEN ODER UNTERBRECHEN? M(=(/A/B; INDIREKT-ZÄHLER ERHÖHEN
HALTEN ODER UNTERBRECHEN? M(=(/A/B; INDIREKT-ZÄHLER ERHÖHEN
AUF EIN ANDERES INDIREKTNIVEAU PRÜFEN
EFFEKTIVE ADRESSE LESEN, ZURÜCK
EFFEKTIVE ADRESSE LESEN, ZURÜCK
M <= T/A/B; INDIREKT-ZÄHLER
ERHÖHEN
ZEILE ETIKETT MIKROINSTRUKTIONEN BEMERKUNGEN
0269 ' JMP CNDX NSNG RJS INDIRECT+1 FÜR EINZELNE INSTRUKTIONEN
ZURÜCKSPRINGEN
0270 DEC PP P ZURÜCKSTELLEN
0271 JMP HORI HALTEN ODER UNTERBRECHEN
05 O CD CO •J>-K)
"^. O OD OO
OO
CD
cn
CD QO
Claims (7)
- PatentansprücheRechenanlage zur Übersetzung von vom zentralen Prozessor kommenden logischen Adressen in physikalische Speicherplatzadressen, dadurch gekennzeichnet , daß die logischen Adressen jeweils aus einem Seiten- (160, Fig. 5) und einem Wortanteil (125) bestehen, daß eine Vielzahl von Übersetzern (129, 130, 135, 140, 145) vorgesehen ist, die freigegeben und gesperrt werden können und aus einer logischen Seitenadresse eine physikalische Seitenadresse erzeugen, und daß eine Freigabe- und Adressierungsschaltung (105) vorgesehen ist,- die vom zentralen Prozessor (150) Befehlsignale (101, 102, 103) und die logische Seitenadresse empfängt und an die Übersetzer Steuersignale und die logische Seitenadresse weitergibt.
- 2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß eine Zustandsschaltung (250, 268, Fig. 6A) elektrische Signale speichert, die den jeweiligen Zustand der Übersetzer (129, 130, 135, 140, 145) darstellen, wenn dieser Zustand durch die Befehlssignale (101, 102, 103) vom zentralen Prozessor (150) verändert wird, wobei mittels dieser elektrischen Signale die Übersetzer hinterher in den ursprünglichen Zustand zurückversetzbar sind.
- 3. Einrichtung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß die Freigabe- und Adressierungsschaltung (105, Fig. 5) zusätzlich ein erstes Signal (108, 110) erzeugt,welches zwei logische Zustände annehmen kann, deren zweiter die Freigabe eines der Übersetzer (129, 130, 135, 140, 145) anzeigt, und daß eine Wähleinrichtung (111) die logische Seitenadresse (160) auf den ersten logischen Zustand hin erzeugt und die physikalische Seitenadresse auf* den zweiten logischen Zustand hin erzeugt.609842/0882
- 4. Einrichtung nach einem der Ansprüche 1 bis 3, dadurchgekennzeichnet , daß eine erste Komparatorschaltung (170) ein zweites Signal erzeugt, wenn die logische Seitenadresse (160) gleich einer vorbestimmten Seitenadresse ist, daß ein Umgrenzungsregister (168) eine vorgewählte Wortadresse speichert, daß eine zweite Komparatorschaltung (165) auf das zweite Signal hin ein drittes Signal erzeugt, wenn das Verhältnis von Wortadresse zum Inhalt des Umgrenzungsregisters größer als ein erster und kleiner als ein zweiter vorbestimmter Wert ist, und daß eine Torschaltung (111, 109) die logische Seitenadresse auf das dritte Signal hin erzeugt, ohne Rücksicht auf den logischen Zustand des ersten Signals.
- 5. Einrichtung nach einem der Ansprüche 1 bis 4, dadurch g e kennzeichnet , daß jeder Übersetzer (129, 130, 135, 140, 145) Gruppen von adressierbaren Speicherregistern enthält.
- 6. Einrichtung nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet , daß eine erste Schaltung (265, 266, 205, Fig. 6A) einen ausgewählten Übersetzer (129, 130, 135, 140, 145) auf Steuersignale hin freigibt, die anzeigen, wenn der zentrale Prozessor (150) ein Unterbrechungssignal von der Eingabe/Ausgabe-Vorrichtung empfängt.
- 7. Vorrichtung nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet , daß eine zweite Schaltung (345, 260, 215, Fig. 7, Fig. 6A) auf die Befehlssignale hin abwechselnd einen ersten und einen zweiten ausgewählten Übersetzer freigibt, wobei die zweite Schaltung zur Ausführung von Subroutinen in einem Speicherbereich dient, zu dem durch den ersten Übersetzer von einem Programm Zugriff genommen wird, welches sich in einem zweiten Speicherbereich befindet,zu dem durch den zweiten der Übersetzer Zugriff genommen wird, und daß die zweite Schaltung außerdem zur Übertragung von Daten vom einen zum anderen Speicherbereichdient.609842/08823*Leerseite
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/561,470 US3970999A (en) | 1975-03-24 | 1975-03-24 | Memory expansion apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2611598A1 true DE2611598A1 (de) | 1976-10-14 |
Family
ID=24242114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762611598 Ceased DE2611598A1 (de) | 1975-03-24 | 1976-03-19 | Uebersetzungseinrichtung fuer speicheradressen |
Country Status (5)
Country | Link |
---|---|
US (1) | US3970999A (de) |
JP (1) | JPS51118928A (de) |
BR (1) | BR7601815A (de) |
DE (1) | DE2611598A1 (de) |
FR (2) | FR2304962A1 (de) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4042911A (en) * | 1976-04-30 | 1977-08-16 | International Business Machines Corporation | Outer and asynchronous storage extension system |
US4092715A (en) * | 1976-09-22 | 1978-05-30 | Honeywell Information Systems Inc. | Input-output unit having extended addressing capability |
US4086658A (en) * | 1976-10-04 | 1978-04-25 | International Business Machines Corporation | Input/output and diagnostic arrangements for programmable machine controllers having multiprogramming capabilities |
US4093986A (en) * | 1976-12-27 | 1978-06-06 | International Business Machines Corporation | Address translation with storage protection |
FR2400729A1 (fr) * | 1977-08-17 | 1979-03-16 | Cii Honeywell Bull | Dispositif pour la transformation d'adresses virtuelles en adresses physiques dans un systeme de traitement de donnees |
US4320455A (en) * | 1978-01-09 | 1982-03-16 | Honeywell Information Systems Inc. | Queue structure for a data processing system |
US4500952A (en) * | 1980-05-23 | 1985-02-19 | International Business Machines Corporation | Mechanism for control of address translation by a program using a plurality of translation tables |
US4403283A (en) * | 1980-07-28 | 1983-09-06 | Ncr Corporation | Extended memory system and method |
US4374417A (en) * | 1981-02-05 | 1983-02-15 | International Business Machines Corp. | Method for using page addressing mechanism |
US4481570A (en) * | 1981-08-07 | 1984-11-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automatic multi-banking of memory for microprocessors |
US4513371A (en) * | 1982-07-29 | 1985-04-23 | Ncr Corporation | Computer interface apparatus using split-cycle lookahead addressing for faster access to paged memory |
US4488228A (en) * | 1982-12-03 | 1984-12-11 | Motorola, Inc. | Virtual memory data processor |
JPH0652511B2 (ja) * | 1984-12-14 | 1994-07-06 | 株式会社日立製作所 | 情報処理装置のアドレス変換方式 |
JPS61160091U (de) * | 1985-03-22 | 1986-10-03 | ||
US4727485A (en) * | 1986-01-02 | 1988-02-23 | Motorola, Inc. | Paged memory management unit which locks translators in translation cache if lock specified in translation table |
US4761736A (en) * | 1986-01-02 | 1988-08-02 | Commodore Business Machines, Inc. | Memory management unit for addressing an expanded memory in groups of non-contiguous blocks |
JPS62134151U (de) * | 1986-05-23 | 1987-08-24 | ||
US4907190A (en) * | 1986-08-08 | 1990-03-06 | Toshiba Kikai Kabushiki Kaisha | Computer control system and method for effecting sequence controls and servo-controls |
US5109492A (en) * | 1986-09-19 | 1992-04-28 | Hitachi, Ltd. | Microprocessor which terminates bus cycle when access address falls within a predetermined processor system address space |
US4831522A (en) * | 1987-02-17 | 1989-05-16 | Microlytics, Inc. | Circuit and method for page addressing read only memory |
DE3890141T1 (de) * | 1987-03-03 | 1989-04-13 | Tandon Corp | Computersystem mit computeradressenmodifiziersystem |
US4849875A (en) * | 1987-03-03 | 1989-07-18 | Tandon Corporation | Computer address modification system with optional DMA paging |
US4891752A (en) * | 1987-03-03 | 1990-01-02 | Tandon Corporation | Multimode expanded memory space addressing system using independently generated DMA channel selection and DMA page address signals |
US5101339A (en) * | 1987-08-10 | 1992-03-31 | Tandon Corporation | Computer address modification system using writable mapping and page stores |
US5327542A (en) * | 1987-09-30 | 1994-07-05 | Mitsubishi Denki Kabushiki Kaisha | Data processor implementing a two's complement addressing technique |
US5307474A (en) * | 1987-09-30 | 1994-04-26 | Mitsubishi Denki Kabushiki Kaisha | Apparatus and method for processing literal operand computer instructions |
US4903194A (en) * | 1987-11-12 | 1990-02-20 | International Business Machines Corporation | Storage addressing error detection circuitry |
US4965720A (en) * | 1988-07-18 | 1990-10-23 | International Business Machines Corporation | Directed address generation for virtual-address data processors |
US5123098A (en) * | 1989-02-28 | 1992-06-16 | Hewlett-Packard Company | Method for executing programs within expanded memory of a computer system using MS or PC DOS |
US5247655A (en) * | 1989-11-07 | 1993-09-21 | Chips And Technologies, Inc. | Sleep mode refresh apparatus |
US5161218A (en) * | 1989-11-13 | 1992-11-03 | Chips And Technologies, Inc. | Memory controller for using reserved DRAM addresses for EMS |
US5317706A (en) * | 1989-11-15 | 1994-05-31 | Ncr Corporation | Memory expansion method and apparatus in a virtual memory system |
EP0429780B1 (de) * | 1989-11-29 | 1997-11-12 | Kabushiki Kaisha Toshiba | Zum Anschluss einer Erweiterungseinheit geeignetes Rechnersystem |
EP0443876A3 (en) * | 1990-02-23 | 1992-01-02 | Kabushiki Kaisha Toshiba | Computer system capable of connecting expansion unit |
US5282172A (en) * | 1991-02-22 | 1994-01-25 | Vlsi Technology, Inc. | Look-ahead circuit for fast decode of bankselect signals in EMS systems |
US5206935A (en) * | 1991-03-26 | 1993-04-27 | Sinks Rod G | Apparatus and method for fast i/o data transfer in an intelligent cell |
US5640531A (en) * | 1993-06-22 | 1997-06-17 | Unisys Corporation | Enhanced computer operational system using auxiliary mini-cache for enhancement to general cache |
US5537609A (en) * | 1993-06-22 | 1996-07-16 | Unisys Corporation | Mini cache operational module for enhancement to general cache |
US6460131B1 (en) * | 1993-08-03 | 2002-10-01 | Xilinx Inc. | FPGA input output buffer with registered tristate enable |
US5651139A (en) * | 1993-12-23 | 1997-07-22 | International Business Machines Corporation | Protected system partition read/write access on a SCSI controlled DASD |
FR2740237B1 (fr) * | 1995-10-18 | 1997-11-14 | Schlumberger Ind Sa | Composant electronique a memoire synchronisee |
US5974498A (en) * | 1996-09-24 | 1999-10-26 | Texas Instruments Incorporated | Loading page register with page value in branch instruction for as fast access to memory extension as in-page access |
JP3052857B2 (ja) * | 1996-10-31 | 2000-06-19 | 日本電気株式会社 | クラスタ間共有メモリアクセス方式 |
US5987581A (en) * | 1997-04-02 | 1999-11-16 | Intel Corporation | Configurable address line inverter for remapping memory |
US7631160B2 (en) * | 2001-04-04 | 2009-12-08 | Advanced Micro Devices, Inc. | Method and apparatus for securing portions of memory |
GB2378277B (en) * | 2001-07-31 | 2003-06-25 | Sun Microsystems Inc | Multiple address translations |
DE10163342A1 (de) * | 2001-12-21 | 2003-07-10 | Elektro Beckhoff Gmbh Unterneh | Datenübertragungsverfahren, serielles Bussystem und Anschalteinheit für einen passiven Busteilnehmer |
JP2003233534A (ja) * | 2002-02-07 | 2003-08-22 | Hitachi Ltd | メモリシステム |
EP1563374A2 (de) * | 2002-06-07 | 2005-08-17 | Sun Microsystems, Inc. | Verwendung kurzer referenzen zum zugriff auf programmelemente in einem grossen adressenraum |
US7480784B2 (en) * | 2005-08-12 | 2009-01-20 | Advanced Micro Devices, Inc. | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) |
US7793067B2 (en) * | 2005-08-12 | 2010-09-07 | Globalfoundries Inc. | Translation data prefetch in an IOMMU |
US7543131B2 (en) * | 2005-08-12 | 2009-06-02 | Advanced Micro Devices, Inc. | Controlling an I/O MMU |
US7548999B2 (en) * | 2006-01-17 | 2009-06-16 | Advanced Micro Devices, Inc. | Chained hybrid input/output memory management unit |
US8631212B2 (en) | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
US9606803B2 (en) | 2013-07-15 | 2017-03-28 | Texas Instruments Incorporated | Highly integrated scalable, flexible DSP megamodule architecture |
US9715342B2 (en) | 2015-07-03 | 2017-07-25 | Xitore, Inc. | Apparatus, system, and method of logical address translation for non-volatile storage memory |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3533075A (en) * | 1967-10-19 | 1970-10-06 | Ibm | Dynamic address translation unit with look-ahead |
-
0
- FR FR119649D patent/FR119649A/fr active Active
-
1975
- 1975-03-24 US US05/561,470 patent/US3970999A/en not_active Expired - Lifetime
-
1976
- 1976-03-19 DE DE19762611598 patent/DE2611598A1/de not_active Ceased
- 1976-03-19 FR FR7607983A patent/FR2304962A1/fr not_active Withdrawn
- 1976-03-24 JP JP51032361A patent/JPS51118928A/ja active Granted
- 1976-03-24 BR BR7601815A patent/BR7601815A/pt unknown
Also Published As
Publication number | Publication date |
---|---|
FR119649A (de) | |
BR7601815A (pt) | 1976-09-21 |
JPS6122331B2 (de) | 1986-05-31 |
FR2304962A1 (fr) | 1976-10-15 |
US3970999A (en) | 1976-07-20 |
JPS51118928A (en) | 1976-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2611598A1 (de) | Uebersetzungseinrichtung fuer speicheradressen | |
DE69533005T2 (de) | Bytecodeprogramminterpreter, Verfahren und Anordnung mit Vorprüfung von Datentyprestriktionen | |
DE69833008T2 (de) | Prozessor mit instruktionskodierung mittels eines schablonenfeldes | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE69229319T2 (de) | System und Verfahren zur Konservierung der Unteilbarkeit eines Quellbefehls in übertragenen Programmbefehlen | |
DE69433339T2 (de) | Lade-/Speicherfunktionseinheiten und Datencachespeicher für Mikroprozessoren | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2714805C2 (de) | ||
DE3685913T2 (de) | Vektorenverarbeitung. | |
DE3689389T2 (de) | Datenverarbeitungsprozessor. | |
DE2357003A1 (de) | Programmierbarer prozessor | |
DE2756768A1 (de) | Mikroprozessor-architektur | |
DE2720578A1 (de) | Rechnersystem mit mehrprogrammbetrieb/mehrprogrammverarbeitung sowie verfahren zum betrieb eines solchen rechnersystems | |
DE112009000344T5 (de) | Zugriffsrechte auf eine Speicher-Map | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
EP0010186B1 (de) | Vorrichtung zum Bearbeiten bezeichneter Hinweise | |
DE69130513T2 (de) | Verfahren zur Durchführung boolescher Operationen zwischen zwei beliebigen Bits von zwei beliebigen Registern | |
DE69732793T2 (de) | Acht-bit-mikrokontroller mit risc-architektur | |
DE69922238T2 (de) | Mechanismus zur blockierung von ladeoperationen auf adressengeneration von speicherbefehlen und universeller abhängigkeitsvektor | |
DE2626703A1 (de) | Intern programmierbares datenverarbeitungssystem | |
DE1549531A1 (de) | Digitale Rechenanlage | |
DE2533737A1 (de) | Datenprozessor | |
DE19824289A1 (de) | Pipelineverarbeitungsmaschine | |
DE2617127A1 (de) | Mehrfachprogramm-datenverarbeitungssystem | |
DE2948442C2 (de) | Digitalrechenanlage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8131 | Rejection |