DE2717700C2 - Speicherzugriffsanordnung - Google Patents
SpeicherzugriffsanordnungInfo
- Publication number
- DE2717700C2 DE2717700C2 DE2717700A DE2717700A DE2717700C2 DE 2717700 C2 DE2717700 C2 DE 2717700C2 DE 2717700 A DE2717700 A DE 2717700A DE 2717700 A DE2717700 A DE 2717700A DE 2717700 C2 DE2717700 C2 DE 2717700C2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- key
- register
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
— Fehlerdetektoreinrichtungen (421, 422, Fig.4)
zur Abgabe von Fehlersignalen bei Auftreten von Maschinen- oder Programmfehlern;
— ein Pufferregister (408, F i g. 4) zur Aufnahme
des jeweils zuletzt an die Speicherzugriffseinrichtungen abgegebenen Adreßschlüssels; sowie
— eine Torschaltung (407, F i g. 4), deren Steuereingänge
mit einer Leitung für ein Prozessorzyklussignal (PROZ.-SP.-ZYKL.) und mit den
Fehlerdetektoreinrichtungen verbunden sind, um nur jeweils bei Vorliegen des Prozessorzyklussignals
und bei Nichtvorliegen eines Fehlersignals einen von den Schlüsselauswahleinrichtungen
abgegebenen Adreßschlüssel in das Pufferregister zu übertragen.
2. Speicherzugriffsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß bei Auftreten eines eine
Unterbrechungsoperation hervorrufenden Fehlersignals der zuletzt benutzte Adreßschlüssel aus
dem Pufferregister (408) in den ersten Registerabschnitt einer Adreßschlüsselregistecanordnung (420)
übertragen wird (F i g. 4).
3. Speicherzugriffsanordnung nach Anspruch 2, dadurch gekennzeichnet, daß Zwangsadreßschaltungen
(402, Fig.4) vorgesehen sind, welche mit den Fehlerdetektoreinrichtungtn (421, 422) verbunden
sind, und bei Auftreten von Fehlersignalen vorgegebene Adressen an einen Steuerprogrammfestspeicher
(ROS) abgeben, um die Abgabe der zur Übertragung des im Pufferregister (408) gespeicherten,
zuletzt benutzten Adreßschlüssels in die Adreßschlüsselregisteranordnung (420) notwendigen Steuersignale
durch einen Decodierer (405) des Steuerprogrammfestspeichers zu bewirken.
4. Speicherzugriffsanordnung nach Anspruch 3, dadurch gekennzeichnet, daß der Decodierer (405)
des Steuerprogrammfestspeichers (ROS) bei Zwangsadressierung durch Fehlersignale ein Steuersignal
(AG 0) abgibt, welches die Eingabe eines aus Nullen bestehenden Adreßschlüssels in einen
Befehlsabruf-Registerabschnitt (ISS) der Adreßschiüsseiregisteranordnung
(42Ö) bewirken, so daß nach Auftreten eines Fehlers sowohl ein Adreßschlüssel
für einen Überwachungsprogramm-Adreßbereich zum Befehlsabruf als auch für einen Adreßbereich de* durch Fehler unterbrochenen
Programms zum Operanden-Zugriff verfügbar sind.
5. Speicherzugriffsanordnung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß zusätzliche
Steuerschaltungen (Fig. 17) vorgesehen sind
zur Erzeugung von Steuersignalen (PROZ.-SP.-ZYKL, KEIN SR-ZYKL), welche bei Durchführung von Verwaltungsoperationen
(SEG.-REG.-Zyklus) oder Eingabe/Ausgabe-Operationen (CS-Zyklus) die Übertragung eines Adreßschlüssels
durch die Torschaltung (407) in das Pufftrregister (408) verhindern.
Die vorliegende Erfindung betrifft eine Speicherzugriffsanordnung nach dem Oberbegriff des Patentanspruchs
1. Eine solche Speicherzugriffsanordnung ist in
ίο der DE-PS 27 16 051 vorgeschlagen.
Im US-Patent 39 24 823 ist ein Multiprozessorsystem mit Steuerschaltung und Puffereinrichtungen beschrieben,
welche die Adressierbarkeit eines Operanden bei der Durchführung eines Befehls in einem der Prozessoren
gewährleisten, obwohl durch einen anderen Prozessor ein Adreßübersetzungspuffer-Eintrag, der zur
Adressierung eben dieses Operanden nötig ist, in einer asynchronen Operation ungültig gemacht wird. Durch
die besonderen Puffereinrichtungen wird die Adressierbarkeit
der Seite, welche den betreffenden Operanden enthält, so lange erhalten, bis der laufende Befehl fertig
ausgeführt ist Bei diesem System werden aber keine Adressierschlüssel verwendet Die Verschiebung eines
akuten Programm-Statuswortes (PSW) in ein besonderes Register für ein altes PSW sowie die Eingabe eines
neuen PSW in das Register für das akute Programmstatuswort bei Auftreten eines Maschinenfehlers oder einer
Programmunterbrechung, um auf diese Weise eine vcm unterbrochenen Programm benutzte Adresse zu
retten, ist seit langem bekannt, so z. B. durch die Anlagen vom Typ IBM System/360 und IBM System/370.
Diese bekannten Verfahren oder Einrichtungen zur Erhaltung der Adressierbarkeit sind aber nicht optimal
geeignet für alle Anlagearten.
Der Erfindung liegt die Aufgabe zugrunde, eine Speicherzugriffsanordnung
in Datenverarbeitungsanlagen, bei denen Adreßschlüssel verwendet werden, anzugeben,
die die Adressierbarkeit bei auftretenden Fehlern und Programmunterbrechungen aufrechterhält.
Gelöst wird diese Aufgabe der Erfindung durch die im Patentanspruch 1 angegebenen Merkmale.
Weitere vorteilhafte Ausgestaltungen, Weiterbildungen und Merkmale des Gegenstandes der Erfindung
sind den Unteransprüchen zu entnehmen.
Bei Verwendung der Erfindung wird im wesentlichen der Vorteil erzielt, daß bei auftretenden Fehlern und
Programmunterbrechungen die Adressierbarkeit bei Speicherzugriffssystemen, die mit Adreßschlüsseln arbeiten,
aufrechterhalten bleibt
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand von Zeichnungen beschrieben. Es zeigt
Fig. IA-I allgemein das Prinzip der Adreßschlüsselauswahl
aufgrund von Speicherzugriffs-Steuersignalen, welche die Art des Zugriffs identifizieren.
Fig. lA-2 allgemein das Prinzip der Adreßübersetzung
für den Speicherzugriff, wobei die logische Eingangsadresse aus einem speziell generierten Adreßschlüssel
und der im Programm erscheinenden Adresse besteht,
F i g. 1B eine Übersicht der verschiedenen möglichen
Speicherzugriffsarten,
Fig. IC in Blockform eine Übersichtsdarstellung einer
Datenverarbeitungsanlage mit erweiterbarem Hauptspeicher, die als Ausführungsbeispiel beschrieben
ti5 wird,
Fig. ID eine spezielle Ausführungsform der in
F i g. 1A gezeigten Anordnungen,
Fig. 2A eine Übersichtsdarstellung der bei den Ρίο-
Fig. 2A eine Übersichtsdarstellung der bei den Ρίο-
zessoroperationen und E/A-Operationen vorkommenden
Speicherzugriffe, sowie der verschiedenen Adreßbereiche,
F i g. 2B eine Obersicht der Speicherzugriffsvorgänge
bei E/A-Operationen,
F i g. 3A Einzelheiten eines E/A-Unterkanals, der bei
jedem Unterkanalbefehl einen Adreßschlüssel erhält und diesen für jeden Datenzugriff zur Ausführung des
Befehls abgibt,
Fig.3B die relevanten Teile eines E/A-Kanals, der
eine Mehrzahl von Unterkanälen mit einer Speicherprioritätsauswahlschaltung verbindet,
Fig.3C in Blockform eine Speicherprioritätsauswahlschaltung
mit einer Kanalauswahlschaitung, durch welche E/A-Kanä;e und Prozessor über den Hauptspeicherbus
mit Speicher und Übersetzer verbunden sind, und die je einen ausgewählten Adreßschlüssel sowie
eine Adresse für einen Speicherzugriff abgeben,
F i g. 3D Einzelheiten einer Aktivadreßschlüssel-Auswahlschaltung,
bei der auch ein Operandenbereichsabgleich erreicht werden kann,
F i g. 4 Einzelheiten eines Prozessors, welche für die Speicherzugriffssteuerung mit Adreßschlüsseln relevant
sind,
F i g. 5 das Aufteilungsformat des Adreßschlüsselregisters
in einem bevorzugten Ausführungsbeispiel,
F i g. 6 das Inhaltsformat der im Ausführungsbeispiel vorgesehenen Segmentregister,
F i g. 7 Einzelheiten der Eingabe- und Ausgabesteuerung einer einzelnen Bitposition im Adreßschlüsselregister,
Fig.8A schematisch die Vorgänge bei Ausführung eines Befehls zum Laden bzw. Abspeichern eines Segmentregisters,
F i g. 8B schematisch die Vorgänge bei Ausführung eines Befehls zum Laden bzw. Abspeichern des Adreßschlüsselregisters
aus einem bzw. in einen Speicher,
Fig.8C schematisch die Vorgänge bei Ausführung
eines Befehls zuin Laden bzw. Abspeichern des Adreßschlüsselregisters
aus einem bzw. in ein Allgemeinregister,
Fig.S)A und 9B ein Blockschaltbild einer bevorzugten
Ausführungsform des Übersetzers gemäß Fig. IC, der eine 19 Bit lange logische Maschinenadresse in eine
24 Bit lange physische Adresse für den Speicherzugriff umwandelt,
Fig.9C, 9D-1, 9D-2, 9E, 9F-1 und 9F-2 Einzelheiten
des in F i g. 9A/9B in Blockform gezeigten Übersetzers,
Fig.9G die Arbeitsweise der in Fig.9C gezeigten
Vorgriffsschaltungen zur jeweiligen Auswahl des Innenspeichers (Basisspeichei), Außenspeichers (Zusatzspeicher)
oder Asynchronspeichers, sowie die Interpretation der 24 Bit langen physischen Adresse durch die
gewählte Speichereinheit beim Zugriff,
Fig. 10 eine Schaltungsanordnung im Prozessor zur
Auswahl zwischen den Betriebsarten »Speicherschutz ohne Übersetzung« und »Speicherschutz mit Übersetzung«,
Fig. Il Speicherschutzsteuerschaltungen zur Verwendung bei übersetzungsfreier Betriebsart,
Fig. 12 das Format eines Speicher-Speicher-Befehls,
F i g. 13A relevante Teile des Formats eines Freigabe-/
Sperrbefehls zur Festlegung der Betriebsarten mit spezieller Adreßbereichsauswahl (z. B. übersetzungsfreie
Adressierung mit Speicherschutz, Speicherschutz mit Übersetzung, Operandenbereichsabgleich),
Fig. 13B aufeinanderfolgende Zustände eines Adreßschlüsselregisters,
wenn bei einer Unterbrechung Operandenbereichsatigleich
erfolgt
F i g. 14 eine Schaltungsanordnung für eine alternative Speicherschuttbetriebsart mit Übersetzung, welche
eine Alternative zu der Speicherschutzbetriebsart mit Adreßschlüsselübersetzung darstellt,
Fig. 15 schematisch ein alternatives Verfahren zur Adreßschlüsselübersetzung, das in einem Prozessor als
Alternative zur Übersetzeranordnung mit mehreren Registerstapeln dienen kann,
to Fig. 16 Zugriff zu parallelen Grundspeichermoduln mittels mehrerer aktiver Adreßschlüssel in einem Multi·
Prozessorsystem,
Fig. 17 Steuerschaltungseinzelheiten aus dem Prozessor,
zur Durchführung des in Fig. 8A gezeigten Befehls
zum Laden/Abspeichern eines Segmentregisters,
Fig. 18 schematisch die Vorgänge zum Laden und
zum Abspeichern bei Klassenunterbrechungen.
1. Beschreibung eines Ausführungsbeispiels
Fi g. 1A und F i g. 1B zeigen die wesentlichen Merkmale
eines Ausführungsbeispiels der Erfindung. F i g. 1A
zeigt eine Adreßschlüssel-Auswahlschaltung 20, die je nach Art der Speicherzugriffsanforderung (welche
durch Signale auf den Leitungen 2t, 22, 23, 24 oder 25 angezeigt werden) einen der Schlüsseiregisterabschnitte
31, 32, 33, 34 oder 35 auswählt, welche folgende Schlüssel entfalten: CS-Schlüssel, IS-Schlüssel,
OPl-Schlüssel, OP2-Schlüssel und OP3-Schlüssel. Derjenige
dieser Schlüssel, welcher der vorliegenden Speicherzugriffsanforderung entspricht, wird durch die
AAS-Auswahlschaltung 20 als aktiver Adreßschlüssel (AAS) ausgegeben. Dieser aktive Adreßschlüssel steuert
die Adressierung des Hauptspeichers des Systems während des nächsten Speicherzugriffs, d. h. Abruf oder
Speicherung von Daten im Hauptspeicher. Bei dieser Adressierungsopeiration bestimmt der aktive Adreßschlüssel
AAS den oberen Teil (höherwertige Steilen) der logischen Adresse, die von der Anlage für den Speicherzugriff
benutzt wird.
Die Signale auf den Zugriffsanforderungsleitungen 21, 22, 23, 24 und 25 stellen jedes eine andere Art von
Zugriffsanforderumg dar, welche von den Kanälen und Prozessoren gestellt werden kennen, die Zugriff zum
gleichen Hauptspeicher haben. Diese Anforderungenleitungen sind in Fig. IA folgendermaßen bezeichnet:
E/A-Zugriff, Befehlszugriff, OPl-Zugriff, OP2-Zugriff
und OP3-Zugriff. Wenn nur eins dieser Zugriffsanforderungssignale auftritt, dann wird sofort der Inhalt des
betreffenden Adreßschlüsselregisterabschnitts als AAS
ausgegeben. Falls mehrere Anforderungssignale gleichzeitig auftreten, wird durch Prioritätsschaltungen in der
AAS-Auswahlschaltung 20 bestimmt, in welcher Reihenfolge die betreffenden Adreßschlüssel als AAS ausgegeben
werden. Dabei ist eine bestimmte Prioritätsordnung vorgegeben, so daß z. B. eine E/A-Zugriffsanforderung
für eine Cycle-Steal-Operation den Vorrang hat, um zuerst den CS-Schlüssel auszugeben. Die Befehlsabrufanforderung
wird als zweite bedient, um den IS-Schlüssel als AAS auszugeben. Als dritte wird die
OPl-Zugriffsanforderung bedient, um den OPl-Schlüssel
als AAS auszugeben; schließlich werden die OP2- und OP3-Zugriffsanforderungen als vierte und fünfte
beditnt. um den OP2-Schlüssel bzw. OP3-Schlüssel als
AAS auszugeben.
Es besteht also eine bestimmte Beziehung zwischen den verschiedenen Arten von Zugriffsanforderungen
und den speziellen Schlüsselregisterabschnitten.
In einem Prozessor enthält ein Adreßschlüsselregister (ASR) folgende Abschnitte: den IS-Schlüsselabschnitt
(ISS), welcher den Befehlsabrufanforderungen für den Zugriff zu jeder Instruktion zugeordnet ist, und
die Schlüsselregisterabschnitte für die Schlüssel OPl (OPIS) bis OP3 (OP3S), welche zu den verschiedenen
Arten von Operanden-Zugriffen gehören, die zur Ausführung
der Befehle benötigt werden.
Außerdem hat jeder E/A-Unterkanal einen entsprechenden CS-Schlüsselregisterabschnitt (CSS). Es kann
auch vorkommen, daß mehrere E/A-Unterkanäie gleichzeitig einen Zugriff zum Hauptspeicher anfordern.
Deshalb sind CSS-Prioritätsauswahlschaltungen vorgesehen, um bei gleichzeitigen Anforderungen die
CS-Schlüssei in einer vorgegebenen Reihenfolge auszugeben.
Falls überdies mehrere Prozessoren zum gleichen Hauptspeicher Zugriff haben, sind weitere Prioritätsschaltungen vorgesehen, um die Anforderungen dieser
Prozessoren in vorgegebener bestimmter Reihenfolge zu bedienen.
Fig. IA veranschaulicht die Erfindung in einem System
mit Prozessor und Kanaieinheit, bei dem aktive Adreßschlüssel benutzt werden und in dem nur ein Teil
der in einem Datenverarbeitungssystem an und für sich möglichen Speicherzugriffsarten verwendet wird.
F i g. 1B zeigt eine größere Zahl verschiedener Speicherzugriffsarten.
Die in einem bestimmten System verwendbaren Speicherzugriffstypen sind auf solche eingeschränkt,
die durch die Schaltungen des Systems identifizierbar sind. Das heißt, es werden im System Schaltungen
benötigt, welche verschiedene Arten von Speicherzugriffsanforderungen
feststellen können, und zwar jeweils zu der Zeit, wenn die betreffende Zugriffsanforderung
auftritt F i g. 1B zeigt mehr Zugriffsarten als die Anordnung, welche in Fig. IA gezeigt ist. In Fig. IB
sind acht Speicherzugriffsarten in drei Zugriffskategorien eingeteilt: (1) Befehlszugriff, (2) Operanden-Zugriff
und (3) eine Zugriffskategorie, die den Prozessorereignissen zugeordnet ist. Jeder Kanal enthält K Unterkanäle,
und jeder Unterkanal hat drei Speicherzugriffskategorien: (1) Kanalbefehlszugriff, (2) E/A-Datenzugriff
und (3) eine Zugriffskategorie für E/A-Ereignisse.
Zu jeder Zugriffskategorie gehört mindestens eine Speicherzugriffsart.
Bei irgendeiner bestimmten Anlage können nur die Speicherzugriffsarten verwendet werden, die in der Maschinenkonstruktion
durch ein identifizierendes Signal, d. h. ein Speicheranforderungssignal, vorgesehen sind.
So ist z. B. die Befehlszugriffskategorie in der Anlage durch ein Beicnisäbruisänfürderüngssigna! gekennzeichnet.
Die Operanden-Zugriffskategorie kann in der Anlage durch sechs verschiedene Arten von Operanden-Zugriffen
identifiziert werden (F i g. 1 B). Diese sind unterteilt in direkte und indirekte Operanden-Zugriffsarten,
wobei zu der Unterkategorie der direkten Zugriffe diejenigen Zugriffe gehören, welche Adressen benutzen,
die direkt aus dem Befehl abgeleitet sind, während die Unterkategorie der indirekten Zugriffe solche
Operanden betrifft, bei denen die Adressen indirekt aus der Operanden-Adresse eines Befehls abgeleitet sind
Zu jeder Unterkategorie gehören drei verschiedene Operanden-Zugriffsarten, weiche durch die Schaltung
der Anlage identifiziert werden können als Anforderungssignale für Quellenabruf, Senkenabspeicherung
und Senkenabruf. Jede dieser sechs Operandenzugriffsarten kann bei der Konstruktion einer Anlage vorgesehen
werden, und die betreffenden von der Anlage identifizierbaren Signale können aus jedem Befehl abgeleitet
werden, und zwar vom Operationscode und von den Operandenfeldern. Die Quellenabruf-Operandenart betrifft
Daten, die als Quelle einer Befehlsausführung benutzt werden; sie wird nicht verändert, sondern nur benutzt,
um die Ergebnisse einer Befehlsausführung zu erstellen. Auf der anderen Seite bezieht sich die Senkenabspeicherung-Operandenart
auf Zugriffe, bei denen die Resultate einer Befehlsausführung gespeichert werden.
Die Senkenabruf-Operandenart ist das Resultat einer früheren Befehlsausführung, welches als Quelle für
die Ausführung eines nachfolgenden Befehls benutzt wird. Für viele Datenverarbeitungsanlagen wurde es jedoch
für praktisch befunden, bei der Konstruktion den Senkenabspcächeriings-Opcrandentyp und der. Senker.-abruf-Operandentyp
zu einem einzelnen Senkenabspeicherungs/-abruf-Operandentyp zusammenzufassen.
Prozessorereignis-Zugriffe werden hervorgerufen durch das Auftreten interner Prozessorereignisse, wie
z. B. Datenfehler, Maschinenfehler, Adressierungsausnahme, usw., die zu einer langen Liste bekannter Ereignisse
gehören, welche die üblichen Prozessorunterbrechungen, d.h. interne Unterbrechungen, hervorrufen.
Die Kategorie der Prozessorereigniszugriffe kann z. B.
den Zugriff zu einem Bereich des Hauptspeichers einschließen, der ein Unterbrechungs-Verarbeitungsprogramm
und andere Programme zur Verarbeitung von Signalen enthält, die mit der Unterbrechung im Zusammenhang
stehen, und in dem weiterhin Daten gespeichert sind, die mit der Unterbrechung im Zusammenhang
stehen, so z. B. Abschlußaufzeichnungen.
Jeder Kanal hat eine Mehrzahl von Unterkanälen, die eine Vielzahl von verschiedenen Zugriffsarten durchführen.
So gehört z. B. zu jedem Unterkanal eine E/A-Datenzugriffskategorie
mit den Zugriffsarten E/A-Abruf und E/A-Abspeicherung. Bei manchen Anlagen sind
diese beiden durch die Kostruktion zu einem einzelnen Zugriffstyp zusammengefaßt, den man E/A-Abruf/Abspeicherungszugriff
nennt Die mit Unterkanalereignissen zusammenhängenden Zugriffe werden durch Unterbrechungen
signalisiert, die für den Prozessor extern sind, d. h. externe Unterbrechungen. Es werden üblicherweise
viele verschiedene externe Unterbrechungen verwendet so z. B. die Geräteschlußunterbrechung, Gerätefehlerunterbrechung,
E/A-Datenfehlerunterbrechungen, usw.
Zusammenfassend kann man sagen, das mit der Erfindung die Möglichkeit geschaffen wird, die Adressiervorgänge
im Hauptspeicher für jede der verschiedenen Speicherzugriffsarten, die in F i g. 1B gezeigt sind, separat
zu beeinflussen. Zu der. in F i g. 1B gezeigten Zugriffsarten
gehören die acht verschiedenen Speicherzugriffsarten, welche jedem Prozessor zur Verfügung stehen,
und die vier verschiedenen Speicherzugriffsarten, welche jedem Unterkanal zur Verfügung stehen. Diese
Möglichkeit der separaten Beeinflussungen ist dadurch gegeben, daß man für jede der Zugriffsarten, welche in
einer Anlage vorgesehen sind, einen separaten Schlüsselregisterabschnitt
vorsieht Das Ausführungsbeispiel, welches in Fig. IA gezeigt ist, benutzt nur vier verschiedene
Prozessorzugriffsarten, welche im gewählten Beispiel durch ein Adreßschlüsselregister dargestellt
sind, das vier verschiedene Registerabschnitte hat Die Anzahl der Registerabschnitte im Adreßschlüsselregister
ASR kann jedoch beliebig gewählt werden entsprechend der Anzahl verschiedener Zugriffsarten, die in der
Konstruktion der Anlage vorgesehen sind.
Auf jeden Fall wird für jede durch die Schaltungen
Auf jeden Fall wird für jede durch die Schaltungen
der Maschine identifizierbare Zugriffsart ein ASR-Registerabschnitt
oder ein CS-Registerabschnitt vorgesehen mit entsprechenden Vorrichtungen in der AAS-Auswahlschaltung,
um einen ausgewählten Registerabschnitt auszulesen, wenn die entsprechende Zugriffsanforderung
bedient wird, wobei dann der Inhalt des ausgewählten Registerabschnitts der aktive Adreßschlüssel
wird, welchen die Anlage als Adreßkomponente benutzt,
um den Adressiervorgang für den betreffenden Speicherzugriff zu beeinflussen. Für die durch den aktiven
Adreßschlüssel AAS gegebene Adreßkomponente kann folgendes gelten: (1) sie kann eine direkte Beziehung
zur physischen Adresse haben, indem der AAS mit der Programmadresse verkettet wird, so daß beide zusammen
eine physische Adresse im Hauptspeicher ergeben; (2) sie kann einen fest vorgegebenen Speicherzugriff
im Hauptspeicher ermöglichen, wie es im Ausführungsbeispiel der F i g. 11 gezeigt ist; (3) sie kann zur
Bestimmung einer verschiebbaren Adresse für durch Schlüssel identifizierte Speicherbereiche dienen, wobei
man innerhalb jedes Bereiches sequentielle Programmadressen benötigt, wie es in Fig. 15 gezeigt ist; (4) sie
kann in noch flexiblerer Art für die Bestimmung von verschiebbaren Adressen dienen, wobei auch noch innerhalb
der durch Schlüssel identifizierten Bereiche eine Adreßverschiebung möglich ist, so wie es im Ausführungsbeispiel
der F i g. IA dargestellt ist
Die Hauptspeichereingangsadresse, welche durch die in Fig. IA gezeigte Anordnung bereitgestellt wird, ist
die Kombination eines aktiven Adreßschlüssels AAS mit einer im Programm erscheinenden Adresse. Die
letztere ist eine Adresse, welche die Anlage in einem in Ausführung befindlichen Programm sieht, wie z. B. die
Befehlsabrufadresse im Befehlsadreßregister, und die Operanden-Adressen in den Befehlen des Programms.
Wenn ein Programm geschrieben wird, so sind nur im Programm erscheinende Adressen bekannt. Der Anwendungsprogrammierer
bekümmert sich um die AAS-Operationen nur insoweit, als er seine Operandendaten
separat vom Programm zusammenfaßt Der Systemprogrammierer spezifiziert allgemein die Prozessorereigniszugriffsbereiche
und ihren Inhalt, und der E/A-Programmierer spezifiziert allgemein die E/A-Kanalbefehls-
und Ereigniszugriffsbereiche und ihren Inhalt. In Fig. IA besetzt die AAS-Komponente K Bit-Positionen
im höherstelligen Teil der kombinierten Eingangsadresse, und die im Programm erscheinende Adresse
besitzt 16 Bitstellen, so daß es insgesamt eine Eingangsadresse für die Anlage mit 16 + K Bitstellen ergibt.
Bei der in F i g. 1A gezeigten Anordnung ist die Eingangsadresse
einschließlich des AAS-Feldes eine logische Maschinenadresse, für welche noch eine Übersetzung
erforderlich ist, um eine gewünschte Speicherstelle im Datenverarbeitungssystem zu erreichen. Auf der anderen
Seite wird in der in F i g. 11 gezeigten Anordnung der aktive Adreßschlüssel AAS als direkt benutzte Einschränkungen
der physischen Adresse verwendet, welche nicht übersetzt wird.
A. Übersetzer mit Registerstapeln
Der in Fig. IA gezeigte Übersetzer enthält eine
Mehrzahl von Segmentregisterstapeln mit den Nummern 0 bis 2K. Jeder Schlüsselregisterabschnitt im Prozessor
oder in einem Unterkanal enthält mindestens einen Schlüssel mit K Bits, mit dem man jeden der Stapel
adressieren kann. Der aktive Adreßschlüssel AAS wird in eine Stapeladressiereinrichtung 40 eingegeben und
dekodiert, um den gewünschten Stapel auszuwählen. Danach wird mit den höherwertigen Bit-Positionen
0— Pder im Programm erscheinenden Komponente der Eingangsadresse ein Segmentregister (SR) innerhalb
des adressierten Stapels ausgewählt. Bit-Positionen 0 bis 12 des gewählten Segmentregisters enthalten eine
zugeordnete Blocknummer, welche die Bit-Positionen 0 bis 12 der physischen Adresse eines bestimmten physischen
Blocks im Hauptspeicher darstellen, zu dem dann
ίο zugegriffen wird.
Die restlichen Bit-Positionen 13—23 der physischen
Adresse, welche 24 Bit umfaßt, geben die relative Byte-Adresse (D) innerhalb des gewählten physischen Blocks
an; sie sind identisch mit der relativen Byte-Adresse D in
is der Eingangsadresse, wo sie in den niederwertigen Bit-Positionen
(P+ 1) bis 15 stehen. Der Zugriff zu einem bestimmten physischen Block wird auch gesteuert durch
Kennzeichen-Bits in den restlichen Bit-Positionen !3 — 15 im gewählten Segmentregister SR. Die Einteilung
der Segmentregister SR ist in F i g. 6 gezeigt; der Inhalt der Validitäts-Bit-Position 13 (V) zeigt an, ob der
Inhalt des Blocknummernfeldes gültig ist. Falls er ungültig ist (d.h. V = O), kann der Inhalt des gewählten Segmentregisters
nicht zur Generierung einer physischen
25> Adresse benutzt werden, und es erfolgt dann eine
Adressierungsausnahme-Unterbrechung. Die Kennzeichen-Bit-Position 14 gibt an, ob der adressierte Block
nur gelesen werden darf. Falls Bit 14 auf eins gesetzt ist, darf in dem betreffenden Block nicht geschrieben werden,
und es sind dann nur Abruf-Zugriffe gestattet Bit 15 ist nicht benutzt. Das Zweitwort mit den Bit-Positionen
16 bis 31 ist reserviert und wird für das vorliegende
Ausführungsbeispiel auch nicht benutzt.
B. Erweiterbarer Hauptspeicher
F i g. IC zeigt die Konfiguration eines Datenverarbeitungssystems,
daß einen neuartigen erweiterbaren Hauptspeicher zur Verarbeitung übersetzter Adressen
hat. Der Hauptspeicher besteht mindestens aus einem inneren Speicherteil 51, im folgenden kurz Innenspeicher
genannt, der bis zu 64 K Bytes Speicherkapazität hat Die erste mögliche Erweiterung ist die Hinzufügung
eines äußeren Speicherteils 52, im folgenden kurz Außen:speicher
genannt, durch den der Speicher um 64 K Bytes erweitert werden kann, so daß der Hauptspeicher
danin 128 K Bytes umfaßt. Dann kann zusätzlich ein erwekerbarer
asynchroner Speicher 53, im folgenden auch kurz Asynchronspeicher genannt, hinzugefügt
werden, womit die Kapazität des Hauptspeichers auf maximal 16 777 216 Bytes (d. h. 224) erweitert werden
kann.
Zur Adreßübersetzung ist ein Übersetzer 59 vorgesehen, der auch Schnittstelleneinrichtungen enthält für die
Verbindung des Außenspeichers 52 und des Asynchronspeichers 53 mit der Hauptspeicherkonfiguration.
Eiin Hauptspeicherbus 56A (mit Bus sind im folgenden Sammelleitungen bezeichnet) verbindet einen Prozessor
;>4 und einen E/A-Kanal 55 über eine Speicherprioritätsauswahlschaltung
56 mit der Hauptspeicherkonfiguration. Der Hauptspeicherbus 56A ist auch mit dem
Übersetzer 59 und mit dem Innenspeicher 51 verbunden.
Innenspeicher-Zyklus-Signalleitungen 54A verbinden den Innenspeicher 51 direkt mit der Speicherprioritätsauswahlschaltung 56. Sie übertragen Innenspeicherzyklussignale (ISZ-Signale), weiche 16 Bit lange nicht übersetzte physische Adressen darstellen, die vom Pro-
Innenspeicher-Zyklus-Signalleitungen 54A verbinden den Innenspeicher 51 direkt mit der Speicherprioritätsauswahlschaltung 56. Sie übertragen Innenspeicherzyklussignale (ISZ-Signale), weiche 16 Bit lange nicht übersetzte physische Adressen darstellen, die vom Pro-
zessor generiert werden, wenn er im Nichtübersetzungsbetrieb arbeitet. Wenn der Prozessor im Übersetzungsbetrieb
arbeitet, werden für ISZ die fünf höherwertigen Bits vom Übersetzer bereitgestellt; sie enthalten
ein Kartenauswahlsignal (welches eine bestimmte Karte von bis zu vier Karten auswählt, aus denen der
Innenspeicher besteht) sowie die Felder CSY und CSX (die einen bestimmten Speicherbereich auf der gewählten
Karte auswählen, wobei diese Bereiche 4096 Bits umfassen). Die fünf höherwertigen Bits auf den Adreßbusleitungen
00—04 werden vom Übersetzer zum Prozessor übertragen, um von diesem während eines Innenspeicherzyklus
ISZ benutzt zu werden. Bit 13 bis 22 werden vom Speicheradreßregister des Prozessors abgegeben,
um eine bestimmte Wortstelle im Speicherbereich auszuwählen, und das letzte Bit 23 wählt ein bestimmtes
Byte in diesem Wort aus, wenn es sich um eine Schreiboperation handelt. Die Byte-Adressierung mittels
des Bit 23 wird nur für Schreiboperationen benutzt, da bei Leseoperationen nur ganze Wörter adressiert
werden (1 Wort enthält 2 Bytes). Für eine Schreiboperation wird das letzte Adreßbit 23 entweder auf 0 oder auf
1 gesetzt, um entweder das linke oder das rechte Byte in einem Wort zu adressieren.
Wenn der Prozessor nur mit dem Innenspeicher arbeitet (d. h. wenn im System kein Außenspeicher und
kein Asynchronspeicher vorgesehen ist), dann adressiert der Prozessor den Innenspeicher nur mit physischen 16
Bit langen Adressen; die vom Speicheradreßregister auf dem Bus 54/4 direkt abgegeben werden. Die vom Prozessor
abgegebenen 16 Bit langen Adressen reichen gerade aus zur Adressierung der Höchstkapazität des Innenspeichers
(d. h. 64 K). Bei dieser Minimalkonfiguration werden mit den 16 Bit langen physischen Adressen
Speicherschutzschlüssel benutzt entsprechend den Nichtübersetzungsspeicherschutzschaltungen, die in
F i g. 11 gezeigt sind.
Die Speicherschutzschlüssel benutzen die Möglichkeit der separaten Adreßbereichsbestimmung, welche
durch die Adreßschlüsselregisterabschnitte für verschiedene Speicherzugriffsarten gegeben ist. Die Kombination
der Aktivadreßschlüsselauswahlschaltungen mit den Speicherschutzschlüsseln gehört auch zu der in
dieser Beschreibung dargestellten Erfindung. Das hier dargestellte Merkmal der Aktivadreßschlüsselschaitungen,
durch welche separate Adreßbereichsbestimmungen je nach Speicherzugriffsart möglich sind, kann separat
kombiniert werden, entweder mit der Benutzung von Speicherschlüsseln bei Verwendung von nicht verschiebbaren
Adressen, oder mit der Benutzung von Adreßschlüsseln, bei Verwendung verschiebbarer
Adressen.
Wenn man die Möglichkeit der Adreßverschiebung wünscht, die erlaubt, daß der Hauptspeicher über die
Kapazitätsgrenze des Innenspeichers von 64 K hinaus erweitert werden kann, muß ein Übersetzer vorgesehen
werden, wie es in F i g. IC gezeigt ist Es kann dann ein
Außenspeicher hinzugefügt werden, welcher mit dem Übersetzer durch Außenspeicherzyklus-Signalleitungen
58 verbunden werden, welche die Außenspeicherzyklussteuerung (OSZ) ermöglichen, die in F i g. 9G dargestellt
ist.
Der Übersetzer ermöglicht auch eine zusätzliche Erweiterung des Hauptspeichers über die Kapazitätsgrenze
von 128 K, welche für den Innenspeicher und Außenspeicher
gilt, hinaus durch Hinzufügung einer Asynchronspeichereinheit.
Die Asynchronspeichereinheit benutzt die übersetzten 24 Bit langen Adressen in anderer
Art als der Außenspeicher, wie dies in F i g. 9G für den Asynchronspeicherzyklus (ASZ) gezeigt ist. Beim
Asynchronspeicherzyklus ASZ werden die Bit-Positionen 0 bis 6 benutzt, und in diesen Bit-Positionen steht
mindestens ein 1 -Bit, weil man mehr als 16 Bit braucht, um eine Zahl darzustellen, die größer als 128 K ist.
Durch die Benutzung der Bit-Positionen 0 bis 6 unterscheidet sich der Asynchronspeicherzyklus vom Außenspeicherzyklus,
bei welchem diese Bit-Positionen nicht benutzt werden; beim Außenspeicherzyklus werden nur
die Bit 7 bis 23 benutzt. Diese besonderen Bedingungen für die Bit-Positionen 0 bis 6 werden dazu benutzt, um
ein Paar von Vorgriffbits zu setzen, welche in Fig.9G
gezeigt sind, wobei die zugehörigen Schaltungen und Vorgänge in weiteren Einzelheiten im Zusammenhang
mit den F i g. 9A und 9B beschrieben werden.
Der Übersetzer hat eine Verbindung zur Hauptspeicherbusschnittstelle,
über welche er logische Adressen einschließlich der Aktivadreßschlüssel vom Prozessor
für die Übersetzung erhält. Der Übersetzer enthält auch Schnittstellen für d*n Außenspeicher und dew Asynchronspeicher.
C. Adreßbereichs-Verteilung
F i g. 2A zeigt die Beziehungen zwischen den verschiedenen Speicherzugriffsarten, welche durch verschiedene
Arten von Prozessorbefehlen und Kanalbefehlen hervorgerufen werden, und den entsprechenden
Datenadreßbereichen, die in dem Ausführungsbeispiel benutzt werden. In F i g. 2A ist nur eine Untermenge der
Zugriffsarten benutzt, die in F i g. 1B gezeigt wurden. Wie in Fig.2A dargestellt, wird ein Befehlsabruf im
Befehlsadreßbereich 60 unter Benutzung des ISS ausgeführt Außerdem sind zwei verschiedene Operanden-Zugriffsarten
in F i g. 2A gezeigt, welche in den Datenadreßbereichen 61 und 62 ausgeführt werden, wobei die
Inhalte der Schlüsselregisterabschnitte OPIS und OP2S
benutzt werden.
Cl. Prozessoradreßbercichs-Verteilung
F i g. 2A veranschaulicht die Speicherzugriffe, welche auf Grund verschiedener Prozessorbefehlsarten vorgenommen
werden. Ein Speicher-Speicherbefehl ruft Daten im OPIS-Datenbereich 61 oder im OP2S-Datenbereich
62 ab und bewirkt eine Speicherung der Resultate in den OP2S-Datenadreßbereich 62. Ein Befehl für direkte
Speicheroperationen holt seine Daten von ISS-Adreßbereich 60 und speichert seine Resultate in den
OP2S-Datenadreßbereich 62 oder in ein Allgemeinregister (AK). Ein Register-Speicher-Befehl verschiebt Daten
von einem allgemeinen Register 63 zum OP2S-Datenadreßbereich
62; ein Speicher-Register-Befehl holt Daten vom OP2S-Datenadreßbereich 62 und speichert
sie in einem Allgemeinregister 63. Ein Verzweigungsbefehl holt einen Verzweigungszielbefehl auch vom ISS-Adreßbereich
60.
C2. E/A-Unterkanaladreßbereichs- Verteilung
Zwei verschiedene Arten von E/A-Unterkanalbefehlen
sind in Fig.2A gezeigt Die eine Befehlsart wird Direkt-Programmste':erungs-E/A-Befehl genannt
(DPS E/A) und bewirkt eine E/A-Operation, die synchron
mit dem Hauptprogramm abläuft, d. h. das Hauptprogramm läuft nicht weiter, bis die E/A-Operation beendet
ist, wobei sowohl der E/A-Befehl als auch die
Daten aus dem OP2S-Adreßbereich 62 entnommen
werden.
Die andere E/A-Befehlsart bewirkt die normale Art von asynchronen E/A-Operationen, welche allgemein
als Cycle-Steal-E/A-Operationen (CS) bezeichnet werden.
Für diese zweite Befehlsart muß das E/A-Programm selbst (d.h. die Kanalbefehle) im »Schlüssel = 0
Kanalprogrammadreßbereich« 64 (siehe F i g. 2A) gespeichert werden, während die Datenzugriffe, welche
für das Kanalprogramm ausgeführt werden, durch Schlüssel gesteuert werden, welche in den betreffenden
rianalbefehlen spezifiziert sind, so daß durch jeden Kanalbefehl (z. B. GSB) jeweils ein anderer der Adreßbereiche
65 bis 66 ausgewählt werden kann. Das heißt also, daß jedes E/A-Gerät sein eigenes Unterkanalprogramm
hat, in welchem die Befehle die Möglichkeit haben, jeweils einen anderen Schlüsselwert in den Adreßschlüsselregisterabschnitt
jedes Unterkanals einzugeben, so daß es für jeden Unterkanal möglich ist, bei jedem Kanalbefehl
zu einem anderen Adreßbereich zuzugreifen. Damit hat also jeder Kanal die Möglichkeit, den Datenadreßbereich,
zu dem er zugreift, bei Bedarf beliebig zu verschieben.
F i g. 2B zeigt etwas genauer die Art und Weise, in der die E/A-Operationen ihre Adreßschlüssel bestimmen
können, um verschiedene Datenadreßbereiche im Hauptspeicher auszuwählen.
Wie in Fig.2B gezeigt, enthält das Hauptprogramm
einen E/A-Betriebsbefehl, der einen E/A-Vorgang auslöst,
und deshalb befindet sich der E/A-Betriebsbefehl im ISS-Adreßbereich. Der OP-Codeteil des Befehls gibt
an, daß es sich um einen E/A-Betriebsbefehl handelt, und das R2-Feld bezeichnet ein Register, dessen Inhalt
mit dem Adreßfeld kombiniert werden muß. um eine Adresse zu erzeugen, die direkt oder indirekt einen »Indirekten
Gerätesteuerbiock« (IGSB) im OP2S-Adreßbereich bezeichnet. Falls mit indirekter Adressierung
gearbeitet wird, steht die indirekte Adresse selbst im OP2S-Adreßbereich. Die IGSB-Adresse ist entweder eine
direkte oder eine indirekte Adresse, abhängig vom Wert des I-Bit im E/A-Betriebsbefehl. Das heißt also,
daß der E'A-Betriebsbefeh! im ISS-Adreßbereich steht
und der IGSB im OP2S-Adreßbereich steht.
Es gibt zwei Arten von indirekten Gerätesteuerblökken IGSB: (1) einen CS-Typ, oder (2) einen DPS-Typ.
Das Kanalbefehlsfeld CMD im IGSB gibt an, ob eine CS-Operation oder eine DPS-Operation eingeleitet
wird. Wenn der IGSB ein DPS-Typ ist, enthält sein zweites Wort direkte Daten, die entweder an das adressierte
Gerät übertragen oder von diesem empfangen werden, je nachdem, ob das Kanalbefehlsfeld CMD anzeigt, ob
es eine E/A-Lese- oder Schreiboperation ist
Wenn das CMD-FeId anzeigt,"daß der IGSB vom CS-Typ
ist, enthält das zweite Wort im IGSB die Adresse
des Unterkanalprogramms für das Gerät, welches durch das GA-FeId im IGSB adressiert ist Der erste Kanalbefehl
(d. h. Kanalsteuerwort), welcher Gerätesteuerblock
0 (GSB-O) genannt wird, befindet sich in dem Adreßteil
des IGSB. Ein Feld im GSB-O, welches Verkettungsadresse genannt wird, gibt den Ort des nächsten Unterkanalsteuerwortes
an, welches GSB-I genannt wird, und welches ebenso eine Verkettungsadresse enthält, die
den nächsten GSB lokalisiert usw, bis der letzte GSB aufgefunden ist
In diesem Ausführungsbeispiel befindet sich also das gesamte Kanalprogramm im »Schlüssel = 0 Adreßbereich«.
Jeder Gerätesteuerblock GSB hält jedoch in seiner ersten Wortstelle EA ein Schlüsselfeld, welches der
Adreßschlüssel für Daten ist, auf die der betreffende GSB zugreift. GSB-O enthält z. B. ein Schlüsselfeld, welches
als Schlüssel für GSB-O bezeichnet wird, und welches den Adreßbereich für einen zusammenhängenden
Block logischer Adressen angibt, welcher an der Datenadresse beginnt, die in dem PeId von GSB-O enthalten
ist, das sich an der Stelle EA +14 befindet. Der Schlüssel für GSB-O kann jeden beliebigen Schlüsselwert haben.
ίο In ähnlicher Weise enthält das nächste Steuerwort
GSB-I einen Schlüssel für GSB-I, der jeden beliebigen
Schlüsselwert haben kann, zur Festlegung des Adreßbereichs für die Daten, welche innerhalb GSB-I adressiert
werden. Der Schlüsselwert in GSB-I kann also verschieden sein von dem Schlüsselwert in GSB-O usw.
Hieraus wird ersichtlich, daß sich aus der Erfindung
eine sehr große Flexibilität in der Adreßbereichsauswahl während dem Betrieb von E/A-Geräten im System
ergibt. Bei Benutzung von Speicherschutzschlüsseln ohne Übersetzung können in den Gerätesteuerblöcken
GSB verschiedene Schlüsselwerte benutzt werden, um einen speziellen selektiven Speicherschutz für die E/ADatenzugriffe
zu bekommen.
Wenn überdies im System im Übersetzungsbetrieb gearbeitet wird, werden für jeden Zugriff alle E/A-Datenadressen durch den Übersetzer übersetzt (siehe Fig. 1 D) in der gleichen Weise, wie die Prozessoradressen übersetzt werden.
Fig.3A zeigt Schaltungseinzelheiten für die Steuerung der GSB-Schlüsseloperationen. Jeder E/A-Unterkanal enthält eine kleine prozessorähnliche Steuereinheit zur Steuerung der Operation eines angeschlossenen E/A-Gerätes, das von beliebiger Art sein kann. Diese prozessorähnliche Steuereinheit steuert die Verarbeitung der GSB-Schlüssel durch den betreffenden E/A-Unterkanal. Der GSB-Schlüsse! wird in ein GSB-Schlüsselregister 301 in der Unterkanalsteuereinheit vom E/ADatenbus des Kanals eingegeben, wenn jeweils ein Gerätesteuerbiock GSB im Schlüssel =0 Adreßbereich entnommen wird.
Wenn überdies im System im Übersetzungsbetrieb gearbeitet wird, werden für jeden Zugriff alle E/A-Datenadressen durch den Übersetzer übersetzt (siehe Fig. 1 D) in der gleichen Weise, wie die Prozessoradressen übersetzt werden.
Fig.3A zeigt Schaltungseinzelheiten für die Steuerung der GSB-Schlüsseloperationen. Jeder E/A-Unterkanal enthält eine kleine prozessorähnliche Steuereinheit zur Steuerung der Operation eines angeschlossenen E/A-Gerätes, das von beliebiger Art sein kann. Diese prozessorähnliche Steuereinheit steuert die Verarbeitung der GSB-Schlüssel durch den betreffenden E/A-Unterkanal. Der GSB-Schlüsse! wird in ein GSB-Schlüsselregister 301 in der Unterkanalsteuereinheit vom E/ADatenbus des Kanals eingegeben, wenn jeweils ein Gerätesteuerbiock GSB im Schlüssel =0 Adreßbereich entnommen wird.
Eine Mehrzahl von Unterkanälen ist in der üblichen Weise mit einem einzelnen Kanal verbunden. Jeder Unterkanal
kann sich mit seinem Kanal durch speziell dafür vorgesehene Protokollsignale verständigen. Ein Unterkanal,
der Bedienung durch den Kanal anfordert, wird durch einen Aufruf-Vorgang ausgewählt. Nach der Auswahl
durch den Aufruf-Vorgang überträgt der Kanaldatenbus Steuersignale und Daten zwischen dem Unterkanal
und dem Hauptspeicher. Durch ein Signal, welches von der Aufrufauswahlsteuerung 310 an die Unterkanal-ROS-Steuerung
311 gelangt wird bewirkt daß ein Wort aus dem Festspeicher ROS 312 in ein ROS-Dafnregister
313 eingegeben wird, um die notwendigen Unterkanaloperationen zu steuern. Eine der Unterkanaloperationen
ist ein GSB-Abruf des nächsten Adreßfeldes im laufenden GSB vom Adreßbereich mit Schlüssel
= 0. Das GSB-Abruffeld in einem ROS-Wort wird von einem ROS-Decodierer 314 entschlüsselt welcher dann
ein GSB-Abrufsteuersignal abgibt das die UND-Glieder
315(0), 315(1) und 315(2) aktiviert, welche eine Eingabe
in das GSB-Schlüsselregister 301 bewirken, das ein Teil des Registerstapels ist der den ganzen Gerätesteuerbiock
GSB empfängt Nachdem der GSB-Abruf ausgeführt ist, wird der GSB im Unterkanal gespeichert
das GSB-Abruf-Signal beendet und ein »Kein GSB-Abruf«-Steuersignü
aktiven, welches die UND-Glieder 316^0), 316(1) und 316(2) freigibt um den GSB-Schlüssel
aus dem GSB-Schlüsselregister auszugeben, so daß die-
ser als CS-Schlüssel für die OSB-Datenzugriffsoperationen zur Verfügung steht. Der CS-Schlüssel wird über
den Bedingungscodebus zum Kanal in F i g. 3B übertragen. Der Kanal überträgt dann den CS-Schlüssel zum
CS-Schlüsselbus, der mit der Speicherprioritätsauswahlschaltung
in F i g. 3C verbunden ist.
CJ.Speicherprioritäts-Auswahlschaltung
In F i g. 3C ist gezeigt, daß der CS-Schlüssel vom Kanalbus
einer Kanalauswahlschaltung 331 zugeführt wird, die mit den Kanalbussen von allen Kanälen verbunden
ist, die an den Prozessor angeschlossen sind, und welche einem CS-Schlüssel von einem der Kanäle Priorität
gibt.
Mit jeder Unterkanalsteuereinheit ist auch eine Mehrzahl von Steuerleitungen verbunden, darunter ein
Steuerbus und ein E/A-Adreßbus. Der E/A-Adreßbus überträgt die Datenadresse, welche vom GSB hergeleitet
wurde. Zum E/A-Steuerbus gehört eine CS-Anforderungsleitung, welche anzeigt, ob sich eine Adresse auf
dem E/A-Adreßbus befindet (F i g. 3B).
Die Speicherprioritätsauswahlschaltung 56 ist mit CS-Zyklus-Anforderungsleitungen eines jeden der Kanäle
1... ^verbunden, welche an einen Prozessor angeschlossen
sind. Durch die Schaltung 332 wird jeweils ein bestimmter CS-Schlüssel ausgewählt und an die Kanalauswahlschaltung
331 abgegeben, welche den CS-Schlüssel des ausgewählten Unterkanals an die AAS-Auswahlschaltungen
333 überträgt, welche auch die Prozessoradreßschlüssel von den Prozessor-ASR-Bussen
erhalten. Gesteuert von der Speicherprioritäts-Zyklusschaltung 332 wählen die AAS-Auswahlschaltungen
333 jeweils einen der empfangenen Adreßschlüssel als den aktiven Adreßschlüssel AAS des Systems aus.
Fig.3D zeigt Einzelheiten der AAS-Auswahlschaltung
333.
D. Prozessor
Fig.4 zeigt Einzelheiten der für die Beschreibung
wesentlichen Teile des Systemprozessors, der sich gegebenenfalls gleichzeitig mit den CS-Schlüsseln um einen
Speicherzugriff bemüht Die Prozessor-ASR-Busse (Sammelleitungen) sind mit den Ausgängen des Adreßschlüsselregisters
ASR verbunden. Die Speicherprioritätszyklusschaltung 332 (Fig. 3C), welche von bekannter
Bauart sein kann, bestimmt die Reihenfolge, in welcher den miteinander konkurrierenden Anforderungen
ein Zugriff gewährt wird, d. h. also die Reihenfolge, in welcher die entsprechenden Adreßschlüssel als aktiver
Adreßschlüssel AAS an den Ausgängen der AAS-Auswahlschaltungen (F i g. 3D) erscheinen.
F i g. 4 zeigt diejenigen Steuereinrichtungen im Prozessor, die mit dem Adreßschlüsselregister ASR zusammenarbeiten.
Das ASR wird geladen vom Prozessordatenbus (Datensammelleitung) mittels der Eingabesteuerung
(EG), und die verschiedenen Adreßschlüssel werden aus dem Adreßschlüsselregister auf den Prozessordatenbus
ausgegeben mit Hilfe der Ausgabesteuerung (AG). Die EG- und AG-Steuersignale werden vom Prozeüsor-ROS-Dekodierer
abgegeben. Der Inhalt des Adreßschlüsselregisters ASR wird ständig abgegeben an die Prozessor-ASR-Busse, nämlich den ISS-Bus, den
OP2S-BUS, den OPlS-Bus und den OBA-Bus, welche mit
Eingängen der ASS-Auswahlschaltung 333 (F i g. 3C) verbunden sind, von welcher Einzelheiten in Fig.3D
gezeigt sind. Die AAS-Auswahlschaltungen nehmen die Auswahl zwischen diesen drei Prozessorschlüsseln und
etwa gleichzeitig vorliegenden CS-Schlüsseln vor, und bestimmen damit, welcher von diesen Schlüsseln der
aktive Adreßschlüssel AAS wird. F i g. 7 zeigt im Detail die ASR-Steuerschaltung anhand der Eingabe- und
Ausgabeschaltungen für eine einzelne Bitposition des ASR. Alle anderen Bitpositionen des ASR haben entsprechende
Steuerschaltungea
ίο Aus Fig.4 ist ersichtlich, daß der Prozessor-ROS-Dekodierer
405 (Festspeicher-Dekodierer) Ausgangsleitungen hat, deren jede durch ein bestimmtes ROS-Wort,
wenn dieses ins ROS-Datenregister 406 eingegeben ist, aktiviert wird, um Eingabe und Ausgabe bei den
ASR-Regisierabschnitten ISS, OPlS und OP2S zu steuern,
bzw. um andere Prozessoroperationen zu veranlassen.
D. I. Register für letzten aktiven
Adreßschlüssel AAS
Adreßschlüssel AAS
Der in Fig.4 gezeigte Prozessor enthält auch ein
Register für den letzten aktiven Adreßschlüssel, mit dessen Eingang.seite eine AAS-Torschaltung 407 verbunden
ist, welche einerseits an den AAS-Bus von F i g. 3D angeschlossen ist und andererseits an einen Inverter, der
mit einer Prozessorfehlerkippschaltung 401 verbunden ist. Das Ausgangssignal der AAS-Torschaltung 407 wird
in das Register 408 für den letzten aktiven Adreßschlüssei
AAS eingegeben, wenn ein Prozessorspeicherzyklussignal (von Fi g. 17) vorliegt Das Register 408 speichert
jeden auf dem AAS-lJS vorliegenden aktiven Adreßschlüssel vom Prozessor-Adreßschlüsselregister
ASR, sofern die Fehlerkippschaltung 401 keinen Fehler auf einer Fehlersperrleitung anzeigt
Wenn aber ein Maschinenfehler (MCK) oder ein Programmfehler (PCK) im Prozessor auftritt, wird die Fehlerkippschaltung
401 gesetzt. Als Folge davon wird die AAS-Torschaltung 407 gesperrt, weil das Fehlersperrsignal
abfällt, um dadurch den letzten aktiven Adreßschlüssel des Prozessors zurückzuhalten (LKSA), welcher
zu der Zeit vorlag, als die Fehlerkippschaltung 401 gesetzt wurde. Das Maschinenfehlersignal (MCK) und
das Programmfehlersignal (PCK) werden in einem Zwangsadreßdecodierer 402 eingegeben (außer während
eines Segmentregister-Zyklus), um in die ROS-Steuerschaltung 403 zwangsweise eine Festspeicheradresse
einzugeben, welche den Aufm! eines Diagnoseprogramms bewirkt, welches die Fehlerbedingung beseitigt
entweder durch wiederholte Ausführung der fehlerhaften Funktion, bis sie korrekt ausgeführt ist, oder
durch Ausführung einer Abschlußoperation (log—out), wenn festgestellt wird, daß der Fehler ein Dauerfehler
ist. Das AAS-Register 408 bewahrt inzwischen den LKSA auf, um die zuletzt gültig gewesene Adreßbereichsfestlegung
aufrechtzuerhalten, während im Prozessor Fehlerbehebungs-Operationen ablaufen, so daß
nach Behebung der Fehlerbedingung das System unter Beibehaltung der zuletzt benutzten Adreßbereichsfestlegung
die Arbeit wieder aufnehmen kann.
Eine der jeweils letzten diagnostischen Operationen, die vorgenommen werden, bevor der Zustand eines
Prozessors geändert werden kann, ist die Speicherung des Gesamtzustands des Prozessors in einem Niveau-Statusblock
(NSB) im Hauptspeicher, wozu der Inhalt des AdreßsJilüsselregisters ASR gehört. Durch ein Signal
AG AASR (Ausgabe aus dem Register für den letzten aktiven Adreßschlüssel) wird der Inhalt des Regi-
sters 408 (LKSA) an den Prozessordatenbus ausgegeben; ein gleichzeitig auftretendes Signal EG OPlS bewirkt
die Eingabe des LKSA in den OPIK-Registerabschnitt des ASR für die Diagnose- oder Fehlerbehebungsoperationen
(siehe Abs :hnitt II. 3). Wenn die Fehlerbehebungsoperationen
beendet sind, wird der letzte normale ASR-Wert vom NSB im Speicher wieder geladen,
um den normalen Betrieb wieder aufzunehmen.
D.2. Befehle zum Laden/Abspeichern des ASR
F'g. 8B und 8C zeigen die Befehle zur Steuerung folgender beiden Operationen: (1) Laden des Adreßschlüssels
in das ASR entweder von einer Wortstelle im Hauptspeicher oder von einem bezeichneten Allgemein-Register
AR; (2) die Abspeicherung von Adreßschlüsseln vom ASR entweder in eine Wortstelle im
Hauptspeicher, oder in ein bezeichnetes Allgemeinregister AR. F i g. 8B zeigt die Vorgänge bei Ausführung des
Befehls »ASR/Speicher Laden/Abspeichern«. Mit diesem einzelnen Befehl kann entweder das Laden des
ASR aus dem Hauptspeicher oder das Abspeichern des Inhalts des ASR in den Hauptspeicher gesteuert werden.
F i g. 8B zeigt die Einteiluni; des 16 Bit langen Befehls »ASR/Speicher Laden/Abspeichern«. Er ist gekennzeichnet
durch den 5-Bit-OP-Code und das 3-Bit-Modifizierfeld in den Bit-Positionen 13 bis 15. Das K-FeId in
den Bit-Positionen 5 bis 7 adressiert den Teil des ASR (oder das ganze ASR), der eingegeben oder ausgegeben
werden soll. Die K-Werte 0,1, 2 oder 3 bezeichnen die
Registerabschnitte ISS, OP2I5, OPIS bzw. das gesamte
ASR, zur Benutzung durch diesen Befehl. Eine logische Hauptspeicheradresse wird erzeugt mit Hilfe des RB-Feldes
in den Bit-Positionen B und 9, welches ein Basisregister bezeichnet, und die Zugriffsmodusbits 10 und 11
(AMX welche angeben, ob ein Wort ein angehängtes Feld an eine Instruktion ist, die ein Adreßfeld tnthält,
wobei der Inhalt des AM-Feldes und des RB-Registers kombiniert werden, um die effektive Adresse derjenigen
Wortstelle im Hauptspeicher zu erzeugen, welche durch die Ausführung dieses Befehls entweder geladen oder
abgespeichert wird. Das Bit X in der Bit-Stelle 12 gibt
an, ob es sich um einen Ladebefehl oder einen Abspeicherbefehl handelt. Wenn X*°0 ist, dann wird der Inhalt
der adressierten Wortstelle in demjenigen ASR-Teil abgespeichert,
der durch das K Feld bezeichnet ist. Wenn das-Y-Bu=I ist, dann wird der angegebene AKR-Teilin
der adressierten Wortstelle abgespeichert.
In ähnlicher Weise stellt F i g. 8C die bei der Ausführung des Befehls »ASR/Register Laden/Abspeichern«
ausgeführten Operationen dsir; der einzige Unterschied
gegen F i g. 8B ist, daß statt einer Hauptspeicherwortstelle bei der Ausführung dieses Befehls ein Allgemein-Register
AR benutzt wird. Demgemäß bezeichnet in Fig.8C das R-FeId in den Bit-Positionen 8 bis 10 ein
bestimmtes Allgemein-Register AR, welches zum Laden oder Abspeichern eines oder mehrerer Schlüssel in
oder von dem bezeichneten Teil (bzw. den bezeichneten Teilendes ASR benutzt wird.
Die ents rechenden Operationen werden im Prozessor ausgeführt aufgrund von Signalen auf den mit EG
bzw. AG bezeichneten Aus|>angsleitungen des Prozessor-ROS-Decodierers
405 (Fig.4), welche mit den auf dem Datenpfad des Prozessors auftretenden Signalen
die im Zusammenhang mit F i g. 8B beschriebenen Operationen veranlassen.
16
E Obersetzer
E Obersetzer
F i g. 9A und 9B enthalten Einzelheiten des in F i g. IC
gezeigten Obersetzers 59, weicher die mit F i g. IA beschriebenen
Obersetzungsvorgänge für Adreßverschiebungen vornimmt Diese Adreßverschiebungs-Übersetzungsschaltungen
können den physischen Adreßbereich von 64 K (216) Bytes auf 16 Millionen (224) Bytes vergrößern,
was also einer Erweiterung des Innenspeichers
to von 64 K Bytes entspricht
Durch den Obersetzer wird der Adreßbereich des
Hauptspeichers insofern vergrößert, als dieser den aktiven Adreßschlüssel AAS und die 16 Bit lange im Programm
erscheinende Adresse vom Prozessor oder von einem Unterkanal gemeinsam als logische Eingangsadresse aufnimmt und diese Eingangsadresse in eine 24
Bit lange physische Adresse umwandelt, die Zugriff zum Innenspeicher, Außenspeicher oder Synchron-Speicher
hat
Dieser Übersetzungsvorgang ermöglicht die dynamische Zuteilung physischer Speicherkapazität zu logischen
Adreßbereichen und die gemeinsame Benutzung physischer Speicherkapazität von mehreren logischen
Adreßbereichen. 8 Sätze (Stapel) von je 32 Segmentregistern (SR) sind für die 8 verschiedenen möglichen
Werte der Adreßschlüssel vorgesehen, was insgesamt 256 Segmentregister ergibt. Jeder geladene SR-Stapel
kann eine vollständige Abbildung eines Speicherbereiches enthalten, der bis zu 64 K Bytes enthält, die in
Blöcken von je 2 K Byte Speicherkapazität verteilt sein können. Mit einem Stapel kann auch ein Adreßbereich
adressiert werden, der weniger als 64 K Bytes hat, indem man lediglich die Validitäts-Bit-Position in einem
oder mehreren der Segmentregister auf eins setzt, so daß nur diejenigen Segmentregister, bei denen die VaIiditäts-Bit
- 0 sind, die Blöcke mit je 2 K Bytes Kapazität bezeichnen, welche zu einem adressierbaren Bereich
gehören, der durch einen zugeordneten Adreßschlüssel identifiziert ist.
Für jeden Adreßschlüssel ist ein separater Segmentregisterstapel vorgesehen, um ein schnelles Umschalten
der logischen Adreßbereiche zu ermöglichen ohne die Notwendigkeit der Wegspeicherung und Wieder-Einspeicherung
der Adreßbereichsspeicherabbildungen des Systems.
Der Adreßverschiebungsübersetzer, der in den F i g. 9A und 9B gezeigt ist, ermöglicht eine Erweiterung
des Hauptspeichers durch einen Außenspeicher von bis zu 64 K Bytes in Inkrementen von 16 K Bytes auf je
einer Karte, welche als die fünfte bis achte Karte für den Außenspeicher bezeichnet sind. Der Innenspeicher besteht
aus der ersten bis vierten Karte, welche auch je eine Kapazität von 16 K Bytes haben. Erweiterungen
der Speicherkapazität über die 128 K Bytes des innen-Speichers und Außenspeichers hinaus bedürfen einer zusätzlichen
Asynchronspeichereinheit (Fig. IC), durch welche der physische Speicher von 128 K Bytes bis zu
einem Maximum von 16 Millionen Bytes vergrößert werden kann.
Der größte durch die Maschine statisch adressierbare Adreßbereich, welcher allen gleichzeitig ablaufenden
Programmen zur Verfugung steht, wenn alle Segmentregister mit verschiedenen physischen Blockadressen
geladen sind, beträgt 219 Bytes. Diese Grenze ist bestimmt durch die 19 Bit lange Eingangsadresse, welche
in Fig. IA gezeigt ist, und die entsteht, wenn ein 3 Bit
langer aktiver Adreßschlüssel an die 16 Bit lange im Programm erscheinende Adresse angehängt wird, um
so eine 19 Bit lange logische Maschineneingangsadresse für den Obersetzer zu erzeugen. Für ein einzelnes Programm besteht die Adressierungsmöglichkeit bis zu drei
verschiedenen Adreßbereichen, welche durch die drei
Abschnitte des ASR definiert sind, nämlich ISS, OPlS und OP2S, was also eine Adressierbarkeit eines Adreßbereichs von max. 64 K bis zu max. 192 K Bytes ergibt
Das heißt: für einen physischen Hauptspeicher mit einer Kapazität zwischen 512 K Bytes und 16 Millionen
Bytes ergibt sich eine Adressierungsmöglichkeit von nur bis zu 512 K. Bytes bei einem bestimmten geladenen
Inhalt der Segmentregister; dies wird als die größte statische Maschinenadressierbarkeit bezeichnet Wenn
man nun eine Adressierung über die 512 K. Bytes des statischen Maximums hinaus vornehmen will, so muß
man die Segmentregister durch Programms umladen, um eine Adressierbarkeit anderer Bereiche im Hauptspeicher zu erhalten.
Die statische Adressierbarkeit kann leicht vergrößert werden durch die Hinzufügung weiterer Bits zu dem
Adreßschlüssel im ASR und durch die Vergrößerung der zugehörigen Schaltungen, um dadurch eine entsprechend größere Anzahl von Segmentregisterstapeln zu
unterstützen.
Wenn in das System ein Übersetzer eingebaut wird, wie er in Fig. IA gezeigt ist, so wird seine Benutzung
durch ein Bit Nr. 14 im Prozessorstatuswort (PSW) gesteuert, und zwar durch Ausgangsleitungen des Prozessor-ROS-Decoders in Fig.4, bei Vorliegen des in
Fig. 13A gezeigten Freigabe/Sperrbefehls. Bit 14 im Freigabe/Sperrbefehl gibt an, ob im System ein Übersetzer vorgesehen ist oder nicht, und Bit 7 gibt an, ob er
freigegeben oder gesperrt ssin solj. Die in Fig. 10 gezeigte Schaltung bestimmt, ob der Übersetzer freigegeben wird oder nicht. Wenn der Übersetzer nicht freigegeben wird, und wenn das SP-Bit in dem in Fig. 13A
gezeigten Befehl auf 1 gesetzt ist, wird die in F i g. 11
gezeigte Schaltung zum Speicherschutz bei NichtÜbersetzung verwendet. Falls AdressierbarJceit nur in einem
kleinen Adreßbereich benötigt ist und falls sehr schnelle Verarbeitung gewünscht wird, kann der Übersetzer gesperrt werden.
F i g. 9A und 9B zeigen im einzelnen die Schaltungen, Busleitungen und Schnittstellenleitungen für den Übersetzer 59 des Systems von Fig. IC, gemäß folgender
Aufstellung:
(1) Speicheradreßbus 901. Er hat 15 Leitungen, welche die logische Programmadresse vom Speicheradreßregister (SAR) des Prozessors zum Übersetzer übertragen. Nach der Adreßübersetzung werden die fünf werthöchsten Bits der Übersetzadresse
an den Prozessor zurückgeschickt, um, falls erforderlich, zur Adressierung des Innenspeichers 51 benutzt zu werden. Die 10 niederwertigen Bits (D-FeId) brauchen nicht übersetzt werden.
(2) Speicherdatenbus 902 zum Speicher. Er enthält 16
Datenleitungen und zwei Paritätsleitungen. Er überträgt Speicherdaten und Segmentregisterinhalte vom Prozessor zum Übersetzer.
(3) Speicherdatenbus 903 vom Speicher. Er enthält 16
Datenleitungen und zwei Paritäisleitungen. Er überträgt Speicherdaten vom Übersetzer und den
Inhalt der Segmentregister (SR) zum Prozessor.
(4) Bus für aktiven Adreßschlüssel (AAS-Bus). Diese drei Leitungen übertragen den aktiven Adreßschlüssel AAS von der Speicherprioritätsauswahlschaltung (F i g. 3C) zum Obersetzer, um einen bestimmten Segmentregisterstapel im Obersetzer
auszuwählen.
(5) Speicherschreiben OPO. Einzelheiten vom Prozessor, die dem Übersetzer signalisiert, daß eine
Schreiboperation im Speicher auszuführen ist mit dem linken Byte des Wortes, das gegenwärtig auf
dem Speicherdatenbus zum Speicher vorliegt Die
se Leitung wird aktiviert, wenn das niedrigste Bit
Nr. 23 der 24 Bit langen physischen Adresse gleich Oist.
(6) Speicherschreiben OPl. Einzelleitung vom Prozessor, die dem Übersetzer signalisiert, daß eine
Schreiboperation im Speicher auszuführen ist mit dem rechten Byte des Wortes, daß sich auf dem
Speicherdatenbus zum Speicher befindet Diese Leitung wird aktiviert, wenn das niedrigste Bit Nr.
23 der 24 Bit langen physischen Adresse gleich 1 ist
(7) Übersetzerfreigabe. Einzelleitung, welche ein Prozessorsignal an den Übersetzer abgibt, daß den
Übersetzer für seine Funktion freigibt Dieses Signal wird aktiviert durch den Freigabe/Sperrbefehl.
(8) Speicheranforderung an Übersetzer. Diese Einzelleitung überträgt ein Prozessorsignal, welches den
Übersetzer auffordert, die logische Adresse vom Speicheradreßbus zu übersetzen. Ein Mikrozyklus
(220 Nanosekunden) wird automatisch übersprun-
gen, um dem Übersetzer einen Zugriff zum betreffenden Segmentregister zu ermöglichen, um die
physische Adresse zu ermitteln und um zu bestimmen, ob ein Zugriff zum Innenspeicher, Außenspeicher oder zum Asynchronspeicher erforderlich ist
(9) Zeitgeberimpulse A, B, C, D. Diese vier Leitungen
übertragen Prozessorzeitgeberimpulse von 55 Nanosekunden Dauer, welche den Synchronismus
zwischen dem Prozessor und dem Übersetzer herstellen.
(10) Übersetzer/SAR durchgeben. Das Signal auf dieser
Leitung gibt an, daß der Übersetzer die fünf höchstwertigen Bits der übersetzten physischen Speicheradresse 55 Nanosekunden nach Beginn dieses Signals auf den Speicheradreßbus gegeben hat Es
veranlaßt den Prozessor, daß er Bits 00—04 der übersetzten Adresse vom Adreßbus an den Innenspeicher weitergeben soll.
(11) Innenspeicherzyklus(ISZ). Diese Leitung überträgt
ein vom Übersetzer generiertes Signal, welches den Prozessor auffordert dem Innenspeicher 51
mit jeder neuen physischen Adresse ein Speicherzeitsignal zur Verfugung zu stellen. Wenn ein Außenspeicher- oder Asynchronspeicherzyklus (OSZ
oder ASZ) ausgeführt werden soll, wird diese Leitung deaktiviert, so daß der innere Speicher nicht
ausgewählt wird.
(12) Übersetzerspeicher besetzt. Diese Leitung überträgt einen vom Übersetzer generiertes Signal,
welches dem Prozessor anzeigt, daß er die Taktsignale stoppen soll. Diese Leitung wird nur aktiviert
bei Zugriffen zur Asynchronspeichereinheit 53. Wenn der Übersetzer die entsprechende Antwort
von der Asynchronspeichereinheit 53 bekommen hat, wird diese Leitung deaktiviert, und die Taktsignale werden wieder gestartet, um den Speicherzyklus zu beenden. Diese Stillegung der Speichertaktsignale durch eine Asynchronspeichereinheit ist der
Grund für deren asynchrone Arbeitsweise und der
Grund dafür, daß ihr Zugriffszyklus länger ist als der Zugriffszyklus beim Innenspeicher 51 oder Außenspeicher
52.
(13) Obersetzer eingebaut Diese Leitung überträgt ein
vom Obersetzer generiertes Signal, welches dem
Prozessor anzeigt, daß ein Obersetzer 59 im System eingebaut ist
(14) Obersetzer ungültige Speicheradresse. Diese Leitung
überträgt ein vom Obersetzer generiertes Signal, das dem Prozessor anzeigt daß die soeben an
den Übersetzer übertragene logische Adresse ungültig ist; es erfolgt dann eine Programmfehleranzeige
(PCK).
(15) Obersetzer Speicherschutzanzeige. Diese Leitung
überträgt ein vom Übersetzer generiertes Signal, welches dem Prozessor anzeigt daß ein Versuch
gemacht wurde, im Speicher in einen Block zu schreiben, in dessen Segmentregister das Bit 14 auf
1 gesetzt ist wodurch angezeigt wird, daß für diesen Block nur Leseoperationen erlaubt sind.
(16) Überwachungsprogrammzustand oder Cycle-Steal-Zyklus.
Diese Leitung überträgt ein vom Prozessor generiertes Signal an den Übersetzer, welches
anzeigt daß dieser das Nur-Lese-Bit 14 im adressierten Segmentregister ignorieren soll, weil die
vorliegende Speicherzugriffsanforderung entweder vom Überwachungsprogramm oder von einem
E/A-Unterkanal stammt.
(17) Zyklusende. Diese Leitung überträgt ein vom Prozessor generiertes Signal, welches dem Übersetzer
anzeigt, daß jetzt der Speicherzyklus beendet wird.
(18) Segmentregisterzyklus. Diese Leitung überträgt ein vom Prozessor generiertes Signal, welches dem
Übersetzer anzeigt daß die Segrnentregister aktiviert
werden. Gleichzeitig werden die Leitungen Speicher Schreiben OPO bzw. Speicher Schreiben
OPl benutzt um anzuzeigen, ob der Zyklus ein Lese- oder Schreib-Zyklus als Teil eines Befehls
»Segmentregister abspeichern« oder »Segmentregister laden« ist.
E2. Schnittstelle Übersetzer/Außenspeicher
Die Schnittstelle vom Übersetzer zum Außenspeicher ist in Fig.9B gezeigt. Zu ihr gehören folgende
Leitungen:
(1) Kartenauswahlleitungen. Diese vier Leitungen, welche bezeichnet sind mit Kartenauswahl 80 K,
96 K, 112 K und 128 K, wählen je eine Speicherkarte
von 16 K Bytes im Außenspeicher aus.
(2) Leitungen TCSX und TCSY. Diese sechs Leitungen übertragen X-Koordinaten und Y-Koordinaten für
die ausgewählte Karte, um einen bestimmten Bereich auf dieser Karte auszuwählen.
(3) Leitungen »Byte 0 Schreiben« und »Byte 1 Schreiben«. Diese vier Leitungen übertragen Zeitgebersignale
zu den vier Außenspeicherkarten, um ein Byte zu schreiben.
Wenn der Übersetzer die physische Speicheradresse vom entsprechenden Segmentregister erhält, bestimmt
er, ob ein Zugriff zum Innenspeicher, zum Außenspeicher oder zum Asynchronspeicher gemacht werden
muß: er aktiviert die Schnittstellenleitungen zum Außenspeicher nur, wenn ein Außenspeicherzyklus erforderlich
ist. Die Leitungsbrücken, welche in der Außenspeichersteuerung eingebaut werden (Fig.9B), zeigen
an, weiche der vier Karten der Außenspeichereinheit installiert sind.
E3. Schnittstelle Übersetzer/Asynchronspeicher
Die Schnittstelle vom Übersetzer zum Asynchronspeicher (F i g. 9A und 9B) umfaßt folgende Leitungen:
(1) Asynchronspeicher Ausgabedaten/Parität Diese ίο 16 Datenleitungen und zwei Paritätsleitungen bilden
den Speicherdatenbus zur Asynchronspeichereinheit
(2) Asynchronspeicher Eingabedaten/Parität. Diese 16
Datenleitungen und zwei Paritätsleitungen bilden den Speicherdatenbus von der Asynchronspeichereinheit
zum Prozessor und zum Kanal.
(3) Asynchronspeicher unteres SAR Aus. Diese 13 Leitungen übertragen die 13 höherwertigen Bits der
physischen Adresse, welche die Blockadresse in der Asynchronspeichereinheit bilden. Sie bilden die
oberen SAR-Bits 0—12, welche im Asynchronspeicherzyklus
in F i g. 9G gezeigt sind.
(4) Asynchronspeicher oberes SAR Aus. Diese zehn Leitungen übertragen die 10 niederwertigen Bits
13—22 im Asynchronspeicherzyklus, aber nicht Bit 23 des Asynchronspeicherzyklus (Fig.9G). Die Bit
13 bis 22 adressieren ein Wort im ausgewählten Block.
(5) Byte 0 Schreiben. Diese Leitung überträgt das niedrigste Bit Nr. 23 der physischen Adresse, um anzuzeigen,
ob das linke Byte des adressierten Wortes während des Asynchronspeicherzyklus für eine
Speicheroperation benutzt wird.
(6) Byte 1 Schreiben. Diese Leitung informiert den Asynchronspeicher, daß das rechte Byte des gerade
adressierten Wortes während des Asynchronspeicherzyklus einer Speicheroperation unterliegt.
(7) Asynchronspeicherauswahl. Diese Leitung zeigt dem adressierten Speichermodul an, daß ein Speicherzyklus
begonnen werden soll. Diese Auswahlleitung wird nur aktiviert während eines Asynchronspeicherzyklus,
und wenn keine logische Befehlsadresse und keine Speicherschutzanzeige vom Übersetzer festgestellt wurden.
(8) Schnittstellentakt und Schnittstellentakt 90°. Diese zwei Taktsignale haben eine Periode von 440 Nanosekunden
mit einer Impulsdauer von 50% pro Periode. Die beiden Taktsignale haben eine Phasenverschiebung
von 90° gegeneinander; sie sind nur aktiv, wenn das Asynchron-Speicherauswahlsignal
auch aktiv ist. Diese Taktsignale können in der Asynchron-Speichereinheit für folgendes benutzt
werden: Synchronisierung innerhalb der Speichereinheit, Vermeidung von Problemen beim Wiedereinschreiben,
Einspeicherung von Daten in Kippschaltungen, und zur Erzeugung von Antwortsignalen
zu den vorgegebenen Zeitpunkten.
(9) Rückantwort. Auf dieser Leitung erscheint ein Signal von der Asynchronspeichereinheit, wenn der adressierte Speicherplatz installiert ist.
(9) Rückantwort. Auf dieser Leitung erscheint ein Signal von der Asynchronspeichereinheit, wenn der adressierte Speicherplatz installiert ist.
(10) Schreibzeitgabesignal. Diese Leitung zum ausgewählten Asynchronspeichermodul wird während
der zweiten Hälfte des Schreibzyklus aktiviert, nachdem der Übersetzer eine Rückantwort erhalten
hatte. Das Schreibzeitgabesignal wird nur aktiviert, wenn die Auswahlleitung auch aktiviert ist.
(11) Normales Asynchronspeicherzyklusende. Auf dieser
Leitung wird ein Zeitgabeimpuls abgegeben,
wenn die Rückantwortieitung ein Signal vom Asynchronspeicher
erhält. Es wird von der ausgewählten Asynchronspeichereinheit als Bestätigungssignal
benutzt, um die Rückstellung der Kippschaltungen, welche während des Zyklus gesetzt wurden,
zu erreichen, und um die Wiederauswahl während desselben Zyklus beim Abfallen des Asynchronspeicherauswahlsignals
zu verhindern.
E.4. Segmentregisterauswahl
Einzelheiten der Segmentregistersteuerschaltungen sind in F i g. 9C gezeigt. Ein Segmentregister wird durch
ein Konzentrationsverfahren ausgewählt. Zunächst wird in allen Registerstapeln die gewünschte Speicherstelle
ausgewählt durch Adressierung aller Register mit den höherwertigen Bitstellen 0—4 der im Programm
erscheinenden logischen Adresse, so daß aus jedem Stapel der Inhalt des gewählten Registers ausgegeben wird.
Dann wird mit Hilfe der AAS-Bits eine Auswahl unter den Stapeln getroffen, wobei durch diese Auswahl eines
der acht vorgewählten Register endgültig ausgewählt wird. Dies wird so erreicht, daß man zunächst den Wert
des AAS-Bits 2 benutzt, um von den vorgewählten Segmentregistern zur Einschränkung zunächst vier auszuwählen,
und zwar entweder von den gradzahligen oder den ungradzahligen Stapeln. Die vom AAS-Bit 1 beaufschlagten
Leitungen mit dem Signal echt (T) und Komplement (C) werden dann dazu benutzt, um von den
zwei Gruppen von Stapelausgangssignalen nur eine auszuwählen, und zwar entweder die Stapel 0,1 und 4,5
oder die Stapel 2, 3 und 6, 7. (Hierbei bedeutet das Komma zwischen den Stapelnummern »oder«.) Es werden
also die Ausgabesignale eines Paares von Registern benutzt, und zwar entweder von den Stapeln 0,1 und 4,
5, wenn AAS-Bit 1 im Zustand 0 ist, oder von den Stapeln 2,3 und 6, 7, wenn das AAS-Bit 1 im Zustand 1 ist.
Von dem ausgewählten Paar wird schließlich ein einzelnes Register ausgewählt aufgrund des Zustandes des
SR-Hoch-Niedrig-Auswahl-Bit (AAS-Bit 0), welches dem Konzentrator 921 in F i g. 9A zugeführt wird, welcher
eine Auswahl aus dem vorausgewählten Paar von Stapeln trifft und schließlich nur von einem einzigen
Register aus einem ausgewählten Stapel die Ausgangswerte abgibt.
E.5. Steuerung zum Laden/Abspeichern
der Segmentregister
der Segmentregister
F i g. 8A zeigt die Operationen der Befehle zum Laden
und Abspeichern der Segmentregister (SR). F i g. 17 zeigt die Prozessorspeichersteuerung, und F i g. 9A und
9B zeigen die zugehörigen Übersetzersteuerungen, welche zur Ausführung dieser Befehle benötigt werden.
In F i g. 8A ist gezeigt, wie der Befehl »SR Laden« die
Eingabe einer physischen Blockadresse in ein gewähltes Segmentregister von einem adressierten Wortspeicherplatz
im Hauptspeicher steuert. Der Befehl »SR Abspeichern« bewirkt das Kopieren des Inhalts eines ausgewählten
Segmentregisters in eine adressierte Wortspeicherstelle im Hauptspeicher.
Das Format der 16 Bit langen Befehle zum Laden und
Abspeichern der Segmentregister wird bestimmt durch einen 5 Bit langen OP-Code und ein 3 Bit langes Modifizierfeld,
weiche in den Bit-Positionen 0 bis 4 bzw. 13 bis 15 stehen.
Das Bit ΛΊη der Bit-Position 12 des SR-Befehls gibt
an, ob es sich um eine Lade- oder um eine Abspeicher-Operation handelt. Wenn X auf 0 gesetzt ist, wird der
Inhalt der adressierten Wortspeicherstelle im Hauptspeicher in das ausgewählte Segmentregister geladen.
Wenn das A'-Bit auf 1 gesetzt ist, dann wird der Inhalt
des gewählten Segmentregisters in der adressierten Wortspeicherütelle abgespeichert.
Das R-FeId in den Bit-Positionen 5 bis 7 adressiert ein
Allgemein-Register (AR), welches die Adresse des ausgewählten Segmentregisters enthält, welches geladen
oder dessen Inhalt abgespeichert werden soll. Im Allgemein-Register ist das Schlüsselfeld in den Bit-Positionen
5 bis 7 eine Stapelnummer, die den gewählten Stapel identifiziert, und die AR-Bit-Positionen 0 bis 4 enthalten
eine Segmentregisternummer, welche das gewählte
is Segmentregister identifiziert, weiches geladen oder aus
dem abgespeichert werden soll.
Die gewünschte Wortspeicherstelle im Hauptspeicher wird adressiert mit Hilfe einer logischen Adresse,
welche generiert wird unter Benutzung des RB-Feldes in den Bit-Positionen 8 und 9, die ein Basisregister angeben;
das AM-FeId in den Bit-Positionen 10 und 11 (Zugriffsart)
gibt an, ob ein Zugriffsart-Wort der Instruktion folgt. Der Inhalt des Zugriffsart-Wortes (AM-Wort)
und des RB-Registers werden kombiniert, um die effektive (d. h. im Programm erscheinende) Adresse der
Hauptspeicherwortstelle zu generieren, welche durch Ausführung der Instruktionen geladen oder aus der abgespeichert
werden soll. Falls das System im Übersetzerbetrieb arbeitet, wird die generierte effektive Adresse
in den Übersetzer eingegeben (F i g. 9A und 9B) zusammen mit dem aktiven Adreßschlüssel AAS, um eine
logische Maschineneingabeadresse zu bilden. Der Übersetzer gibt eine 24 Bit lange physische Adresse ab,
mit der ein Zugriff zu der adressierten Wortspeichersteile möglich ist. Somit ist es möglich, daß bei dem
Segmentregister, welches geladen werden soll, sein vorheriger Inhalt in einer Übersetzungsoperation benutzt
wird, bevor dieser Inhalt durch den Segmentregisterladebefehl zu einer anderen physischen Blockadresse verändert
wird.
Wenn der Prozessor nicht im Übersetzerbetrieb arbeitet, ist die generierte effektive Adresse die physische
Adresse im Hauptspeicher.
Bits 13 und 14 der adressierten Wortspeicherstelle im Hauptspeicher enthalten die Werte für das Validitäts-Bit V und das Nur-Lese-Bit R, welche in das Segmentregister zu laden sind, um dessen Wirkung zu steuern, wenn es für eine angeforderte Übersetzung benutzt wird.
Bits 13 und 14 der adressierten Wortspeicherstelle im Hauptspeicher enthalten die Werte für das Validitäts-Bit V und das Nur-Lese-Bit R, welche in das Segmentregister zu laden sind, um dessen Wirkung zu steuern, wenn es für eine angeforderte Übersetzung benutzt wird.
Fig. 17 zeigt die Steuereinrichtungen des Prozessors,
die bei Ausführung der Befehle zum Laden bzw. Abspeichern der Segmentregister benutzt werden. Diese Steuerschaltungen
im Prozessor generieren ein Segmentregisterzyklussignal, welches vom Übersetzer (Fig.9A
und 9B) benutzt wird, um das Laden oder Abspeichern eines Segmentregisters zu bewirken. Durch einen Befehl
zum Laden oder Abspeichern eines Segmentregisters werden im Prozessor Mikrobefehle abgerufen,
welche ein Signal »Anforderung zum Laden/Abspeiehern
eines Segmentregisters« erzeugen, und danach ein Signal für eine Prozessoranforderung eines Speicherzyklus.
Das erste Signal setzt eine Kippschaltung 481 »SR-Anforöerung folgt« (Fig. 17), und das zweite
Signal gelangt an ein UND-Glied 482, welches durch das T-Ausgangssignal der Kippschaltung 481 freigegeben
wird. Bei aktivem Ausgangssignal des UND-Gliedes 482 wird eine SR-Phasenkippschaltung (PH) für einen
Zyklus gesetzt; deren Ausgangssignal aktiviert das
27 Yl 700
UND-Glied 484, wenn der Übersetzer eingebaut ist. Das Ausgangssignal des UND-Gliedes 484 setzt eine
Kippschaltung 486 »SR-Anforderung«, um anzuzeigen, daß ein Zugriff zu einem Segmentregister erforderlich
ist. Das T-Ausgangssignal der Kippschaltung 486 gibt
das UND-Glied 488 frei, um so ein SR-Zyklussignal zu
erzeugen unter der Voraussetzung, daß keine CS-Zyklusanforderung vorliegt, da CS-Zyklen die höchste
Priorität haben. Der SR-Zyklus hat zweithöchste Priorität, und ein normaler Prozessor-Speicherzyklus hat
niedrigste Priorität; dies wird bewirkt durch ein UND-Glied 493, das ein Prozessorspeicherzyklussignal auf
Leitung 494 nur dann erzeugt, wenn kein SR-Anforderungssignal
vom C-Ausgang: der Kippschaltung 486 an seinem Eingang vorliegt. Der andere Eingang des UND-Gliedes
493 ist mit dem T-Ausgang der Prozessorzyklus-Kippschaltung verbunden. (Der T-Ausgang einer
Kippschaltung gibt das echte oder wahre Ausgangssignal ab, während der C-Aus,(;ang das Komplementärsignal
abgibt.)
Wenn während der Ausführung eines Befehls zum Laden oder Abspeichern eines Segmentregisters das
UND-Glied 488 durch das T-Ausgangssignal der Kippschaltung 486 freigegeben wird, erhält sein anderer Eingang
das T-Ausgangssignal von der Prozessorzykluskippschaltung 490, die immer dann aktiviert wird, wenn
eine Speicherzyklusanfordeirung vom Prozessor vorliegt Die Kippschaltung 490 wird durch ein Ausgangssignal
des UND-Gliedes 491 gesetzt; dessen einer Eingang erhält zur Freigabe das Signal »kein CS-Zyklus«
(welches dann auftritt, wenn keine E/A-Speicher-Zugriffsanforderung
vorliegt). Der andere Eingang des UND-Gliedes 49! erhält zur Freigabe das T-Ausgangssignal
(wahres Ausgangssignal) der Prozessorspeicheranforderungskippschaltung
4I1W, die immer gesetzt wird, wenn eine Prozessoranforderung für einen Speicherzyklus
vorliegt.
Während ein Segmentregisterzyklussignal auf Leitung 923 vorliegt, wird das a uszuwählende Segmentregister
von der laufenden Adresse im Prozessorspeicheradreßregister SAR adressiert Daraufhin erfolgt eine
Auswahloperation für das Segmentregister in der gleichen Weise, wie es bei der Beschreibung des Übersetzers
im Abschnitt »Segment;registerauswahl« erläutert wurde.
Wie bereits erwähnt, bestimmt der Binärwert des X-Bits
im Befehl, ob eine Lade- oder Abspeicher-Operation ausgeführt wird; zu diesi;m Zweck wählt das A"-Bit
eine Lade- oder Abspeicher-Mikroroutine vom Prozessorfestspeicher
ROS. Für ein« Segmentregisterladeopersticn
generiert die Mikrcrcuiinc zunächst eine Prozessorspeicheranforderung,
während der das durch den SR-Befehl adressierte Wort aus dem Hauptspeicher abgerufen
und in das Prozessorspeicherdatenregister SDR eingegeben wird. Danach gib't die Mikroroutine das Anforderungssignal
für das Laden/Abspeichern des Segmentregisters ab, worauf eine weitere Prozessoranforderung
für einen Speicherzyklus folgt Dies veranlaßt die Schaltung in F i g. 17, um in der oben beschriebenen
Art und Weise einen SR-Zyklus zu generieren, welcher das Segmentregister auswählt und bewirkt, daß der Inhalt
des Speicherdatenregisttirs SDR in das ausgewählte Segmentregister übertragen wird.
Der Befehl »Segmentregisler abspeichern« läuft ähnlich
ab, aber mit umgekehrten Ablauf der Mikroroutine, so daß zuerst die Schaltung in Fig. 17 veranlaßt wird,
einen SR-Zyklus zu generieren, während das Segmentregister ausgewählt und sein Inhalt in das Speicherda
tenregister SDR übertragen wird. Dann bewirkt die Mikroroutine eine normale Prozessorspeicheranforderung,
welche veranlaßt, daß der Inhalt des SDR in die adressierte Speicherstelle im Hauptspeicher übertragen
wird.
E.6. Steuerung für Vorgriffs-Übersetzereinheit
Wenn bei der Adreßübersetzung der Blockadreßteil
ίο der physischen Adresse aus den Bits 0—4 der logischen
Adresse erzeugt wird, wird zum Zugriff für die Auswahl und das Auslesen eines Segmentregisters SR ein Prozessortaktzyklus
benötigt. Ein weiterer Prozessortaktzyklus wurde zum Zugriff benötigt (falls die Vorgriffs-
!5 schaltungen nicht vorgesehen wären), um die ausgelesene
Blockadresse zu decodieren, um den Schnittstellenbus zu der benötigten Speichereinheit auszuwählen,
d. h. zum Innenspeicher, zum Außenspeicher oder zum Asynchronspeicher, zu dem die physische Blockadresse
übertragen werden muß. Wenn eine Vorgriffsschaltung vorgesehen wird, braucht man keine zusätzliche Zeit
zur Auswahl des benötigten Schnittstellenbus, und man braucht die ausgelesene Blockadresse nicht zu decodieren,
um die benötigte Speichereinheit zu bestimmen.
Das heißt, daß durch die Vorgriffsschaltung die Zugriffszeit bei Übersetzung um einen Prozessortaktzyklus verkürzt
wird. Während des Übersetzungsvorgangs liegen die D-Bits der Positionen 5 bis 15 der logischen Adresse
ständig auf dem Hauptspeicherbus vom Prozessorspeicheradreßregister SAR vor. Für die D-Bits wird also
keine zusätzliche Übersetzungszeit benötigt; sie werden gleichzeitig an alle drei Speichereinheiten abgegeben.
Für die Vorgriffsschaltungen werden in jedem Segmentregister (SR) in jedem der acht Stapel (F i g. 9A)
zwei Bit-Positionen vorgesehen, die als Vorgriffsbits bezeichnet sind. Die Einteilung der Segmentregister zeigt
F i g. 6. Die beiden Vorgriffsbits werden generiert und in das Segmentregister eingesetzt, wenn die Blocknummer
durch die Prozessorspeichersteuerung in das Segmentregister eingesetzt wird; diese Steuerung, welche die in
Fig. 8A gezeigten Operationen ausführt, ist in Fig. 17
gezeigt. Die Vorgriffsbits zeigen an, ob der Innenspeicher, der Außenspeicher oder der Asynchronspeicher
den Block enthält welcher der Blocknummer im SR entspricht. Wenn die Vorgriffsbits gesetzt sind und die
Segmentregister geladen sind, werden die Vorgriffsbits bei jedem Speicherzugriff mit Übersetzung benutzt, um
die Bestimmung und Auswahl der erforderlichen Speichereinheit parallel mit der schaltungsmäßigen Über-Setzung
der logischen Eingangsadresse durchzuführen. Die Blocknummeri nicht aber die Vorgriffsbits, können
durch ein Programm gelesen werden, daß einen SR-Speicherbefehl benutzt
Die Vorgriffsbits werden in der in Fig. 9G gezeigten
Art codiert. Das linke Vorgriffsbit wird auf 1 gesetzt, wenn der zugehörige Block im Innenspeicher steht.
Wenn das linke Bit auf 0 gesetzt ist steht der zugehörige Block entweder im Außenspeicher oder im Asynchronspeicher.
Der Wert des rechten Vorgriffsbits zeigt an, ob der Außenspeicher oder der Asynchronspeicher den
Block hält Wenn das rechte Bit gleich 0 ist steht der Block in der Asynchronspeichereinheit.
Die Vorgriffsbits werden nur von den Schaltungen benutzt und sind für den Programmierer oder den Systembenutzer
nicht sichtbar. Sie dienen lediglich dazu, die Speicherzugriffe zu beschleunigen, und sind nicht
Teil der Übersetzungsoperation.
Die Schaltungen zum Setzen der Vorgriffsbits sind in
Die Schaltungen zum Setzen der Vorgriffsbits sind in
Fig.9C gezeigt. Dazu gehören die Decodierer 9OM
und 902/4, denen beide der höherwertige Teil der zugeordneten Blocknummer zugeführt wird, die in ein Segmentregister
bei Ausführung eines Segmentregisterbefehls geladen wird, wie dies im Zusammenhang mit
F i g. 8A beschrieben wurde. Das ausgewählte Segmentregister befindet sich in einem der Stapel 0 bis 7
(Fig.9C). Die Blocknummer wird abgegeben vom Befehl
»Segmentregister laden«, welcher die durch Programm zugeteilte Blocknummer von dem Speicherplatz
im Hauptspeicher abruft, der durch den Befehl adressiert wird, wonach die Blocknummer in das Speicherdatenregister
SDR (F i g. 4) eingesetzt wird. Dann gibt der Prozessor die zugeteilte Blocknummer vom SDR auf
den Prozessordatenbus (F i g. 3C), welcher mit dem Speicherdatenbus zum Speicher (Fig.9A) verbunden
ist, über welchen die Daten übertragen werden, welche in ein adressiertes Segmentregister in einem der Stapel
0 bis 7 zu laden sind. Der Segmentregisterladeweg ist in Fig.9C im einzelnen gezeigt; die Signale auf den SR-Eingangsleitungen
00—07 werden zur Erzeugung der Vorgriffbits benutzt. Die Leitungen 00 bis 06 sind mit
dem Eingang des 0-Decodierers 902/4 verbunden, und die Leitungen 00 bis 07 sind mit dem Eingang des 0-Decodierers
901/4 verbunden. Jeder der 0-Decodierer gibt eine 1 als Vorgriffssignal ab, wenn an seinen Eingängen
lauter Nullen vorliegen, und er gibt ein 0-Signal am Ausgang ab, wenn irgendeiner der Eingänge gleich 1 ist.
Wenn der Decodierer 901/4 lauter Nullen in den Bit-Positionen 00 bis 07 feststellt, überträgt er ein 1-Bit in die
linke Vorgriffsbitstelle des adressierten Segmentregisters in den Stapeln; wenn aber irgendeines der Eingangsbits
0 bis 7 eine 1 ist, dann wird das linke Vorgriffsbit auf 0 gesetzt Der Decodierer 901/4 zeigt an, ob der
physische Block, dessen Adresse geladen wird, im Innenspeicher steht oder nicht; hiervon hängt es ab, ob ein
ISZ-Signal erzeugt werden muß.
Wenn der Decodierer 902/4 lauter Nullen in den SR-Eingangsbitpositionen
0 bis 6 feststellt, dann wird das rechte Bit des adressierten Segmentregisters auf 0 gesetzt
Der Grund hierfür ist, daß, wenn das linke Vorgriffsbit anzeigt, das die Innenspeichereinheit nicht die
betroffene Speichereinheit ist und wenn Bit 0 bis 6 alle Null sind, daß dann der Decodierer 902A anzeigt ob ein
1-Bit in Bit-Position 7 der physischen Adresse, die geladen wird, vorliegt oder nicht; dies schließlich zeigt an, ob
der betreffende Block im Außenspeicher steht oder im Asynchronspeicher.
Bei jedem Segmentregister also, das geladen wird, werden die Vorgriffsbits so gesetzt daß sie diejenige
Speichereinheit angeben, welche den zugeordneten Block enthält Die SR-Ladeoperation erfolgt während
eines SR-Zyklus, der auf Leitung 923 im Konzentrator
922 (F i g. 9A) von der Grundsteuerung angezeigt wird, die im einzelnen in F i g. 9D-2 gezeigt ist.
Die Stapeladresse wird in den Konzentrator 922 durch die Leitungen 05 bis 07 des Speicheradreßbus 901
(F i g. 9A) eingegeben. Die Segmentregisteradresse wird von den Leitungen 00 bis 04 des Speicheradreßbus 901
über das PH-Register zu den Segmentregisterstapeln 0—7 (Fig.9A) übertragen. Diese Adreßsignale gelangen
auf die Leitungen 00 bis 07 des Speicheradreßbus 901 (siehe Fig.3C) vom Speicheradreßregister SAR
(Fig.4) über den Prozessoradreßbus. Der Inhalt des
SAR stammt aus dem Allgemein-Register, welches durch den Befehl »Segmentregister Laden« (Fig.8A)
ausgewählt wurde, von welchem Allgemein-Register die Bits 0—7 die SR-Adreß-Bits auf den Leitungen 00 bis 07
des Bus 901 sind. (Das Allgemein-Register AR wird im Niveau-Stapel 431 [Fig.4] durch eine Niveaustapeladresse
ausgewählt, die vom AR-FeId im Befehl »Segmentregister
laden« abgeleitet wurde.)
Der Konzentrator 922 gibt dann die Stapeladresse des gewählten Segmentregisters auf seinen folgenden
Ausgangsleitungen ab: AAS-Bit 2, AAS-Bit 1, und »SR Hoch-Niedrig-Auswahl« (Leitung 935). Die Leitung 935
gibt ein Eingangssignal an die Grundsteuerung in Fig.9B. Diese Schaltungen sind im einzelnen in
F i g. 9D-2 gezeigt; sie erzeugen die Signale für die Leitungen 932 und 933, die mit den Segmentregisterstapeln
0—7 zur Angabe des niederwertigen Stapeladreßbits verbunden sind, und entsprechend der wahren und der
komplementären Form des Signals auf Leitung 07 des Speicheradreßbus 901. Die Signale auf der Leitung
AAS-Bit 1 entsprechen der wahren und der komplementären Form der Signale auf der Busleitung 06; und
das Signal auf der Leitung AAS-Bit 2 entspricht dem Signal auf der Bus-Leitung 05.
Bei einem Speicherzugriff im Übersetzungsbetrieb wird ein Stapelregister ausgewählt durch die gleiche Art
von Konzentrationsoperation, wie sie im Abschnitt »Segmentregister-Auswahl« beschrieben wurde. Aus
den vom Konzentrator angewählten Segmentregistern werden die beiden Vorgriffsbits zur gleichen Zeit wie
die übrigen 16 Bits ausgelesen. Für die Vorgriffsbits wird ein separater Konzentrator 331 benutzt, weil er
schneller arbeitet als der weitere Konzentrator 921, der die Blockadreß-Bits für das gleiche Segmentregister
auswählt Am Ausgang des Konzentrator 931 wird jeweils eine von drei Ausgangsleitungen aktiviert um den
gewählten Speicherzyklus anzugeben, nämlich entweder ISZ, OSZ oder ASZ. Für den Prozessor werden die
ISZ-Signalleitungen 54Λ vom Prozessor durch die Speicherprioritätsauswahlschaltung
56 zur Innenspeichereinheit 51 (Fig. IC) benutzt. Da die Leitungen 54/4 auf
jeden Fall existieren, ob nun das System einen Übersetzer hat oder nicht, wird die Innenspeicherzyklus-Steuerleitung
vom Konzentrator 931 mit dem Prozessor verbunden, um eine ISZ-Adressieroperation zu veranlassen.
Die Leitungen für den Außenspeicherzyklus und den Asynchronspeicherzyklus führen zu den Fig.9E
bzw. 9F-1, um die Adreßauswahl in den betreffenden Einheiten zu veranlassen.
F. Operandenbereichsabgleich
Eine speziell vorgesehene Einrichtung ist der Operandenbereichsabgleich
(OBA). Wenn diese Bedingung im Adreßschlüsselregister ASR gesetzt ist ergibt sich ein
spezieller Adressierungszustand, bei dem alle Operandenabrufe
zwangsweise im OP2S-Adreßbereich stattfinden, während der Adreßbereich, der durch den OPl S-Adreßschlüssel
angegeben ist obwohl der Schlüssel im OPIS-Registeiäbschnitt des Adreßschlüsselregisters
ASR nicht geändert wird.
Der OBA-Zustand des Systems wird herbeigeführt durch den in Fi g. 13A gezeigten Freigabebefehl, wenn
dessen OBA-Bit 13 auf 1 gesetzt ist Wenn dieser Befehl ausgeführt wird, bewirkt das gesetzte OBA-Bit daß der
OBA-Registerabschnitt im betreffenden ASR entsprechend geladen wird durch Eingabe vom Prozessor-ROS-Decodierer
(Fig.4). Es wird keiner der Schlüssel
im ASR geändert wenn der OBA-Zustand aktiviert wird. Es wird jedoch nicht zu dem Adreßbereich zugegriffen,
der im OPl S-Abschnitt definiert ist solange der OBA-Zustand im ASR aktiv ist Die OBA-Einrichtung
wird durch die in Fig.3D gezeigte Schaltung implementiert,
in welcher eine Aktivierung der OBA-Leitung vom ASR zwangsweise bedingt, daß der AAS-Ausgang
den OP2S-Schlüssel abgibt, jedesmal wenn bei Ausführung eines Befehls im Prozessor eine Zugriffsanforderung
entweder für einen OPl-Operanden oder einen OP2-Operanden vorliegt.
Wenn dervOBA-Zustand beendet wird durch Ausführung eines Sperrbefehls, dessen OBA-Bit 13 auf Null
gesetzt ist, wird der Schlüsselwert im OPlS-Registerabbohnitt
wieder in Benutzung genommen, und bei jeder OPl -Operandenanforderung ausgegeben.
G. Adreßbereichsbestimmung durch
Schlüsseleingabe ins ASR
Schlüsseleingabe ins ASR
Wenn die OBA-Einrichtung gesperrt ist, haben die drei Adreßschlüssel im Adreßschlüsselregister ASR folgende
Funktion:
Jeder in das ASR geladene Adreßschlüssel definiert einen Adreßbereich, dem zugegriffen werden kann. Jeder
Adreßbereich ist ein logisch zusammenhängender Speicherbereich, zu dem durch die effektive logische
Adresse zugegriffen werden kann, ohne Zuhilfenahme irgendeiner programmierten Managementfunktion für
die Verteilung der vorhandenen Mittel. Jeder logische Adreßbereich enthält bis zu 64 K Bytes. Alle Befehlsabrufe
erfolgen in dem Adreßbereich, der durch den ISS definiert ist. Alle Leseoperationen, die einen Datenoperanden
1 betreffen (wie er im Speicher-Befehl definiert wird), erfolgen im Adreßbereich, der durch den OPlS
definiert ist. (Auf Grund der Konstruktion sind keine Schreiboperationen für Operanden 1 vorgesehen.) In
ähnlicher Weise erfolgen alle Schreib- und Leseoperationen, die einen Datenoperand 2 betreffen (wie beim
Entwurf der Befehlsstruktur vorgesehen), im Adreßbereich, der durch den OP2S definiert ist
Wenn z. B. ISS = OPlS = OP2S, erfolgen alle Speicherzugriffe
zu dem gleichen logischen Adreßbereich von 64 K Bytes Kapazität. Wenn ISS nicht gleich OPl
ist, wenn aber OPlS = OP2S, dann erfolgen die Instruktionsabrufe
im ISS-Adreßbereich und die Datenzugriffe erfolgen im OP2-Adreßbereich. Wenn ISS φ OPlS Φ
OP2S, dann erfolgt der Befehlsabruf im ISS-Adreßbereich,
jeder Abruf eines Operanden 1 im OPl S-Adreßbereich, und jeder Abruf oder jede Abspeicherung eines
Operanden 2 im OP2S-Adreßbereich, wobei also die 3 Adreßbereiche voneinander verschieden sind. Der Datenfluß
für eine Klasse von Instruktionen, bei denen drei verschiedene Adreßbereiche benutzt werden, ist in
F i g. 2A dargestellt Die Schlüsselwerte im ASR können nur gesetzt werden, wenn der Prozessor im Überwachungsprogrammbetrieb
arbeitet, d. h. wenn die Befehle zum Laden des ASR privilegiert sind.
H. Laden des ASR bei Unterbrechung
Wenn im Prozessor eine Unterbrechung vorkommt, werden in das ASR zur Vorbereitung Adreßschlüssel für
Adreßbereiche eingegeben, die von den die Unterbrechung behandelnden Programmen benötigt werden
könnten. Es gibt im System eine Mehrzahl verschiedener Arten von Unterbrechungen, deren jede ihre spezielle
Programmierunterstützung hat, die wiederum das Laden bestimmter Adreßschlüssel erfordert Zu den
Prozessorunterbrechungen gehören: Unterbrechungen zum Überwachungsprogrammaufruf, E/A-Gerätunterbrechungen,
Maschinenfehler-ZProgrammfehler-Unterbrechungen,
Programm-Protokoll-Unterbrechungen, Bedienungsfeld-Unterbrechungen und Unterbrechungen
bei thermischer Überlastung. Diese Prozessor-Unterbrechungen werden manchmal Klassen-Unterbrechungen
genannt.
Es wird angenommen, daß alle Unterbrechungs-Routinen im Adreßbereich mit Schlüssel = O untergebracht
sind. Deshalb muß in den ISS-Abschnitt eine O geladen
werden, wenn eine Unterbrechung eintritt. Da die Operandendaten, welche zur Behandlung einer bestimmten
Unterbrechung benötigt werden, in einem anderen Adreßbereich untergebracht sein können, kann der zu
den speziellen Unterbrechungsdaten gehörende Adreßschlüssel in den OPIS-Registerabschnitt geladen wer-
is den. Ein OPl-Schlüssel wird eingegeben, wenn eine
Klassenunterbrechung erfolgt (d. h. Eingabe eines Eingangssignals in die Zwangsadreßschaltung 402 in
F i g. 4), und zwar zur Vorbereitung der Durchführung einer Speicher-Speicher-Übertragungsoperation vom
unterbrechenden Adreßbereich (d.h. OPIS-Bereich) zum OP2S-Adreßbereich mit Schlüssel = 0. Wenn eine
Klassenunterbrechung auftritt, wird z. B. ein Niveaustatusblock NSB in den OP2S-Bereich abgespeichert, welcher
den Schlüssel = 0 hat (d.h. OP2S = 0), wobei Daten vom OPIS-Bereich abgerufen werden. Der Inhalt
des ASR wird mit einem Befehl zum Abspeichern des ASR auch in den NSB eingegeben.
Andere Zustände, bei denen alle Schlüsselwerte im ASR = 0 gesetzt werden, sind: Systemrückstellung und
einleitendes Programmladen, während denen die OPA-Einrichtung, der Übersetzer und die Speicherschutzeinrichtung
alle gesperrt sind.
H.l. Unterbrechung mit Überwachungsprogramm-Ruf (SVC-Unterbrechung)
Für die unten besprochenen Operationen bei der SVC-Unterbrechung ist angenommen, daß die Überwachungsprogramme
im Adreßbereich mit Schlüssel = 0 untergebracht sind, und daß das Benutzer-Programm in
einem anderen Adreßbereich, d. h. mit Schlüssel Φ 0 steht. Es ist weiterhin angenommen, daß ein Austausch
von Daten zwischen Benutzer und Überwachungsprogrammen erforderlich ist. Die Daten müssen vom
Adreßbereich des Benutzers in den Adreßbereich des Überwachungsprogramms geholt werden und müssen
später zum Adreßbereich des Benutzers zurückübertragen werden.
Fig. 13B zeigt die Ladeoperationen für das ASR bei
Fig. 13B zeigt die Ladeoperationen für das ASR bei
so einer SVC-Unterbrechung. Es wird angenommen, daß anfänglich im Benutzerzustand jeder der drei Benutzerschlüssel
den Wert 2 hat, und daß das OBA-FeId = 0 gesetzt ist Wenn im Prozessor der F i g. 4 ein Überwachungsprogramm
Rufbefehl (SVC-Befehl) ausgeführt wird, bewirkt die Zwangsadreßschaltung, daß eine Folge
von ROS-Wörtern abgerufen und ausgeführt wird, wodurch der Prozessor in den Überwachungszustand
gebracht wird. Es wird auch ein Niveaustatusblock NSB abgespeichert, der Inhalt von OP2S an den Inhalt von
OPlS ausgegeben, so daß der Adreßbereich, der die Daten enthält, die bei der Generierung der Unterbrechung
beteiligt waren, adressierbar wird. Die Null-Ausgabeleitung (AG 0) vom Prozessor-ROS-Decodierer
wird aktiviert und über den Prozessordatenpfad in die OP2S- und ISS-Positionen des ASR Werte eingegeben.
Daten werden vom Benutzerbereich in den Überwachungsprogrammbereich übertragen, und dann wird der
Freigabebefehl (Fig. 13A) mit einer 1 in Bitposition 13
ausgeführt, um den OBA-Zustand 4, der in Fig. 13B
gezeigt ist, herbeizuführen. Dies bewirkt, daß alle Speicherzugriffe im Adreßbereich mit Schlüssel = 0 erfolgen, während das Überwachungsprogramm im OBA-Zustand ausgeführt wird, wobei die Zugriffsmöglichkeit
zum OPl-Adreßbereich nicht verloren wird.
Wenn das Überwachungsprogramm Information in den OPIS-Bereich übertragen möchte, gibt der Prozessor einen Sperrbefehl ab, der den Inhalt des OBA-Abschnitts im ASR rückstellt; dies bewirkt Rückkehr zum
OPl-Adreßbereich. Dann wird der Zustand 6 von Fig. 13B herbeigeführt durch Auswechseln der Felder
OPlS und OP2S, damit dem Überwachungsprogramm eine Adressiermöglichkeit zum Abspeichern im OPIS-Bereich gegeben wird. Das Überwachungsprogramm
kann dann die Daten vom Überwachungsprogrammbereich zum Benutzerbereich übertragen. Dann wird das
ASR in den Benutzerzustand 7 (Fig. 13B) zurückgebracht durch Laden des ursprünglichen Inhalts des ASR
vom Niveaustatusblock NSB.
F i g. 18 zeigt die Operationen, die ausgeführt werden, wenn ein SVC-Befehl ausgegeben wird. Zu diesen Operationen gehört die Rettung des alten Inhalts des ASR
und Laden eines neuen Inhalts in das ASR entsprechend der nachfolgenden Übersicht, wobei die Abschnittsnummern der Übersicht und die eingekreisten Nummern an
den Datenpfaden in der Fig. 18 einander entsprechen.
Die Ausführung des SVC-Befehls im Prozessor geschieht auf folgende Weise:
(1) Am Anfang der Ausführung des SVC-Befehls wird
der Inhalt des ASR an das Arbeitsbereichregister (ABR) ausgegeben, und zwar über den Prozessor-Jatenpfad durch Aktivierung des Signals AG ASR
und des Signals EG ABR vom ROS-Decodierer. Diese Operation wird angezeigt durch die Übertragung des ASR-Inhalts in das Register TEMPA in
Fig. 18; es wird angenommen, daß OPlS, OP2S und ISS auf den Wert 3 gesetzt worden sind.
(2) Ausgabe OP2S und Eingabe OPlS.
(3) OP2S = ISS = O setzen.
(4) Der Inhalt des Niveaustatusregisters (NSR) wird im Temporärregister gespeichert (TEMPB'j.
(5) Im Register NSR' wird das Bit für den Überwachungszustand gesetzt, das Bit für die Summenmaske rückgestellt, und das Protokollbit ebenfalls rückgestellt.
(6) Der Inhalt des BAR (Befehlsadreßregister) wird dann um zwei Einheiten erhöht, so daß jetzt die
nächste Speicherstelle adressiert wird, in welchem sich der Anfang der Daten oder ein Zeiger zu den
Daten befindet.
(7) Wenn der Prozessor den SVC-Zustand entdeckt, wird der Inhalt der Speicherstelle 0010 im Adreßbereich mit Schlüssel = 0 abgerufen. Dieser Bereich enthält definitionsgemäß eine Adresse (d. h.
einen Zeiger) zu einem Niveauspeicherblock (d. h. NSB), welcher sich seinerseits auch im Adreßbereich mit Schlüssel = 0 befindet.
(8) Der NSB-Zeiger in Stelle 0010 wird in das Speicheradreßregister SAR (F i g. 4) übertragen.
(9) An dem durch das SAR adressierten, für den NSB vorgesehenen Speicherplatz werden dann die Inhalte von BAR, TEMPA,TEMPB, sowie der Allgemein-RegisterO—7 gespeichert (NSB).
(10) Die SVC-Nummer (welche die betreffende Art von
SVC-Befehl identifiziert) wird aus dem SVC-Befehl im Adreßbereich 1 kopien in das Register Rl.
(11) Der Inhalt des Speicherplatzes 0012 wird in das
BAR übertragen.
(12) Es beginnt jetzt die Ausführung der Überwachungsprogrammroutine, welche an der Speicher-
stelle mit Adresse 0012 beginnt. Das ist die Routine, welche durch SVC Nummer 2 gerufen wird.
Beim Beginn der SVC-Routine hat das ASR folgenden Inhalt:
OPlS
OP2S'
OP2S
0
0
ISS
(Bemerkung: OP2S' ist der vorherige Inhalt von OP2S).
Bei den anderen Klassen-Unterbrechungen werden ähnliche Arten von Operationen durchgeführt um einen
bestimmten Ladezustand des ASR zu erreichen, wie es im folgenden dargestellt ist:
Protokoll rückstellen, OBA sperren, und Überwachungszustände setzen.
ISS = CIS = OP2S = 0 setzen.
Die Adresse eines Gerätedatenblocks in Register 1 einsetzen.
Die Unterbrechungsidentifikation (ID), welche vom unterbrechenden E/A-Gerät empfangen wurde, in Register 7 einsetzen.
OPlS
0
0
OP2S
0
ISS
0
H3. Unterbrechung bei Maschinenfehler und Programmfehler
Protokoll rücksteljen, Summenmaske sperren, OBA sperren, und Überwachungszustände setzen.
Den NSB im Adreßbereich mit Schlüssel = 0 abspeichern.
ISS = 0P2S = 0 setzen.
LKSA im OPlS speichern.
Inhalt des SAR im Register 7 speichern (außer Protokollbit).
OPIS
LKSA
LKSA
OP2S
0
0
ISS
0
(Bemerkung: LKSA ist der letzte im Register 408 in F i g. 4 gespeicherte
Schlüssel bei Auftreten der Unterbrechung).
H.4. Unterbrechung vom Bedienungsfeld/ Unterbrechung bei thermischer Überlastung
schlüssclsO.
Es ergibt sich folgender Zustand des ASR:
OPlS
0
0
OP2S
0
0
ISS
0
0
H.5. Protokollaufzeichnungs-Unterbrechung
(1) Protokoll rückstellen, Summenmaske sperren, OBA sperren, und Überwachungszustände setzen.
NSB abspeichern im Adreßbereich mit Schlüssel = 0.
(2) ISS übertragen nach OPl S.
(3) OP2S= ISS = O setzen.
Daraus ergibt sich folgender Inhalt des ASR:
OPlS OP2S ISS
ISS' 0 0' (Bemerkung: ISS-
entspricht dem zur Zeit der Unterbrechung vorliegenden
ISS).
2. Schaltungen für Speicherschutz
ohne Übersetzer
ohne Übersetzer
Die in F i g. 11 gezeigten Speicherschutzschaltungen
für übersetzungsfreie Adressierung (ÜFA-Speicherschutzschaltungen) werden benutzt, wenn der in
F i g. 9A und 9B gezeigte Adreßverschiebungsübersetzer entweder nicht freigegeben oder im System nicht
installiert ist. Die Erfindung ermöglicht eine Aufwärtskompatibilität zwischen einem System mit Übersetzer
und Adreßschlüsselspeicherschutz einerseits und einem System ohne Übersetzer mit Speicherschutz andererseits.
Das heißt: Programme und Daten, die in einem System benutzt werden, welches mit der ÜFA-Speicherschutzeinrichtung
arbeitet, können ohne Änderung in einer Anlage benutzt werden, die einen Adreßverschiebungsübersetzer
hat. Diese Wechselmöglichkeit zwischen zwei Arten von Speicherschutzschaltungen ist für
Systembenutzer sehr wichtig, die mit einem relativ kleinen Speichersystem, das preiswert ist, beginnen wollen,
und die ihren Speicher später für ein größeres System erweitern wollen.
Wenn der Adreßverschiebungsübersetzer freigegeben ist, und die ÜFA-Speicherschutzschaltung auch freigegeben
ist, wird der Adreßverschiebungsübersetzer gesperrt. Der Zustand der ÜFA-Speicherschutzeinrichtungen
wird gesteuert durch den Freigabe/Sperrbefehl, der in F i g. Ϊ3Α gezeigt ist.
Die ÜFA-Speicherschutzschaltungen ermöglichen die Verhinderung unerwünschter Zugriffe zu einer
Hauptspeicherstelle, sei es durch einen Prozessorbefehl oder einen E/A-Befehl, der eine nicht übersetzte Adresse
benutzt. Mit den ÜFA-Speichereinrichtungen wird der Hauptspeicher in Blöcke von je 2048 Byte Kapazität
unterteilt. Für jeden Block des Hauptspeichers wird ein Speicherschlüsselregister in einem Registerstapel 501
(F i g. 11) vorgesehen. Jedes Register ist einem bestimmten
Block im Innenspeicher zugeordnet, welcher durch die fünf luk istwertigen Bits in einer 16 Bit langen physischen
Adresse ausgewählt wird, wobei dies die im Programm erscheinende Adresse ist, welche direkt von einem
Programm erzeugt wird, das im System abläuft. Bei Verwendung der ÜFA-Speicherschutzeinrichtung sind
die im Programm erscheinenden Adressen die physischen Adressen; wenn aber der Übersetzer freigegeben
wird, ist die im Programm erscheinende Adresse ein Teil der logischen Eingangsadresse. Jedes Register hat mindestens
drei Bitstellen für einen zugeordneten Speicherschlüssel und ein Nur-Lese-Bit R; es kann auch zusätz-Hch
ein Validitätsbit V haben (nicht gezeigt). Für die drei Bit langen Speicherschlüssel sind die Bit-Positionen 0,1
und 2 vorgesehen, welche durch eine der üblichen Befehle zum Laden von Speicherschlüsseln geladen werden
können (vie ζ. B. im SBM System/360.
ίο Ein zur ÜFA-Speicherschutzoperation gehörender
Vergleichsteil entspricht in etwa der Arbeitsweise der
Speicherschlüsselschutzeinrichtungen, die in bekannten Systemen wie z. B. IBM-Systeme/360 oder IBM-Systeme/370
vorkommen. Die übrigen, damit zusammenar-
bettenden Teile der ÜFA-Speicherschutzeinrichtungen aber gehören zu der neuen Lösung, welche in dieser
Beschreibung dargestellt ist, ebenso ihre Kombination mit den besonderen AAS-Auswahlschaltungen 333
(F ig. 3D).
Für die Vergleichsoperation werden die höchstwertigen Bits 0—4 der 16 Bit langen physischen Adresse
benutzt, um dasjenige Register im Stapel auszuwählen, welches dem Innenspeicherblock zugeordnet ist. Der
Speicherschlüssel im ausgewählten Register wird abgerufen. Der aktive Adreßschlüssel AAS wird dann mit
dem aus dem Stapel ausgewählten Speicherschlüssel in der Vergleichsschaltung 502 (Fig. It) verglichen. Falls
der Vergleicher anzeigt, daß die beiden Schlüssel gleich sind, so wird der Zugriff zugelassen, vorausgesetzt, daß
die ÜFA-Speicherschutzeinrichtung freigegeben ist, und daß es sich bei dem Zugriff entweder um eine Abruf-Operation
handelt oder um eine Schreib-Operation, wobei das Nur-Lese-Bit auf 0 gestellt ist. Die ÜFA-Speicherschutzeinrichtung
ermöglicht also einen selektiven Schutz je nach Zugriffsart; mit ihr kann also bei übersetzungsfreier
Adressierung ein getrennter Speicherschutz für Adressen in den Bereichen OPlS, OP2S und iSS
erreicht werden.
Ein weiteres besonderes Merkmal der ÜFA-Speicherschutzeinrichtungen ist die Zugriffssteuerung bei gemeinsam benutzten Speicherbereichen, welche durch einen besonderen Schlüsselwert angezeigt ist, und bei Zugriffen durch E/A-Unterkanäle. Jeder Benutzer hat Zugriff zu den speziellen, durch Schlüssel bezeichneten Speicherbereichen, die für den betreffenden Benutzer im ASR im Prozessor definiert sind; alle Benutzer können den Schlüssel = 7 in jedem Registerabschnitt des ASR benutzen, um einen von den Benutzern gemeinsam benutzten Speicherbereich zu definieren. Die Schaltung 505 steuert die Zugriffe zu den gemeinsam benutzten Speicherbereichen.
Ein weiteres besonderes Merkmal der ÜFA-Speicherschutzeinrichtungen ist die Zugriffssteuerung bei gemeinsam benutzten Speicherbereichen, welche durch einen besonderen Schlüsselwert angezeigt ist, und bei Zugriffen durch E/A-Unterkanäle. Jeder Benutzer hat Zugriff zu den speziellen, durch Schlüssel bezeichneten Speicherbereichen, die für den betreffenden Benutzer im ASR im Prozessor definiert sind; alle Benutzer können den Schlüssel = 7 in jedem Registerabschnitt des ASR benutzen, um einen von den Benutzern gemeinsam benutzten Speicherbereich zu definieren. Die Schaltung 505 steuert die Zugriffe zu den gemeinsam benutzten Speicherbereichen.
Eine besondere Zugriffssteuerung für E/A-Operationen
bei Benutzung der ÜFA-Speicherschutzeinrichtungen ist durch die Schaltungen 504 und 505 gegeben,
welche ermöglichen, daß eine E/A-Cycle-Steal-Zugriffsanforderung
sowohl zu dem Speicherbereich, der für den betreffenden Benutzer in seinem ASR definiert ist,
als such zu dem gemeinsamen Speicherbereich mit Schlüssel = 7 gemacht werden kann, wobei kein E/A-Cycle-Steale-Zugriff
verhindert wird durch das Nur-Lese-Elit im verwendeten Speicherschlüsselregister. Das
heißt also, daß ein E/A-Schreibzugriff immer zugelassen wird, unabhängig vom Wert des Nur-Lese-Bits im ausgewählten
Register im Stapel 501.
b5 Falls der Prozessor im Überwachungsprogrammzustariid
ist, d.h. wenn Bit 8 im NSR (Fig.4) gesetzt ist, werden die Speicherschlüsselschutzschaltungen umgangen
und alle Zugriffe zu jedem beliebigen Block im
Zusammenfassend kann man sagen, daß die Adreßbereichsauswahlsteuerung, welche durch das Adreßschlüsselregister ASR gegeben ist immer benutzt wird, sowohl bei Freigabe der ÜFA-Speicherschutzeinrichtung
als auch bei Benutzung einer zusätzlich vorgesehenen Obersetzer-Einrichtung. Der aktive Adreßschlüssel
AAS ist entweder ein CS-Schlüssel oder ein Schlüssel,
der aus dem ASR ausgewählt wurde bei Ausführung eines Prozessorbefehls, in Abhängigkeit davon, welche
Art Information durch den Zugriff abgerufen wird (Art von Operand bzw. Befehl).
Wenn die UFA-Speicherschutzeinrichtung freigegeben ist muß mindestens eine der folgenden Bedingungen erfüllt sein, damit ein versuchter Speicherzugriff
erlaubt wird:
(1) Die Anlage befindet sich im Überwachungsprogrammzustand.
(2) Der Speicherschlüssel des adressierten Blocks ist 7.
Bei einem Versuch zum Einschreiben im Speicher muß das Nur-Lese-Bit -= Osein.
(3) Der Speicherschlüssel des adressierten Blocks muß dem aktiven Adreßschlüssel AAS gleich sein. Wenn
eine Speicherschreib-Operation versucht wird, muß das Nur-Lese-Bit - Osein.
Wenn keine der obigen Bedingungen (1), (2) oder (3)
erfüllt ist, gibt der Inverter 507 (Fig. 11) ein Speicherzugriffsperrsignal aus, durch welches eine Programm-
fehler-Ünterbrechung (PCK) hervorgerufen wird, welche das entsprechende Bit im Prozessor-Zustandswortregister (PSW-Register) setzt.
Im Überwachungsprogramm-Zustand ist also freier Zugriff zu sämtlichen Teilen des Hauptspeichers gegeben. Ein Zugriff zu einem Speicherbereich, der einen
Speicherschutzschlüssel 7 hat, ist erlaubt unabhängig vom Wert des aktiven Adreßichlüssels AAS oder der
Werte im Adreßschlüsselregister ASR, wenn das System nicht im Überwachungsprogramm-Zustand ist,
vorausgesetzt, daß die durch den Wert des Nur-Lese-Bit für den adressierten Block gegebene Bedingung nicht
verletzt wird.
Daraus ergibt sich also, daß innerhalb eines einzelnen, durch einen Adreßschlüssel definierten adressierbaren
Speicherbereichs einige Blöcke im Nur-Lese-Zustand gehalten werden können, während zu anderen Blöcken
ein Schreibzugriff möglich ist; dies ist abhängig von dem Binärwert des Nur-Lese-Bits der betreffenden Blöcke
im adressierbaren Speicherbereich. Das Nur-Lese-Bit kann durch das Überwachungsprogramm gesetzt werden, welches die Stapelregister lädt.
Beim einleitenden Programm-Laden (IPL) sind sowohl die ÜFA-Speicherschutzeinrichtungen als auch die
Übersetzer-Einrichtungen beide gesperrt, so daß beim einleitenden Laden in jedem Platz des Hauptspeichers
eingeschrieben werden kann. Nach der erfolgreichen Durchführung des einleitenden Programm-Ladens
(IPL) kann jede der beiden Speicherschutzeinrichtungen freigegeben werden, und bei Vorkommen von ω
Adreßschlüsseln im ASR, die auf 0 eingestellt sind, geht die Anlage in den Überwachungsprogramm-Zustand
über.
Die ÜFA-Speicherschutzeinrichtung und die Übersetzereinrichtung benutzen zwar gemeinsam die Ein-
richtung des aktiven Adreßschlüssels AAS, sie haben aber auch eine Anzahl von Merkmalen, die verschieden
sind, wie z. B.:
(1) Bei der ÜFA-Speicherschutzeinrichtung ist im Überwachungsprogramm-Zustand der Zugriff zu
sämtlichen Teilen des Hauptspeichers gestattet unabhängig vom Speicherschlüssel. In einem System
mit Übersetzer kann im Überwachungsprogramm-Zustand nur zu dem Speicherbereich zugegriffen
werden, der durch den aktiven Adreßschlüssel AAS definiert ist
(2) Die gesamte Speicherkapazität die in einem ÜFA-Speicherschutzsystem durch Adreßschlüssel definiert ist beträgt höchstens 61 K Bytes. Der gesamte statische Speicher, der durch die Adreßschlüssel in einem Ubersetzersystem definierbar ist,
kann zu jeder Zeit eine Kapazität von bis zu 512 K Bytes haben.
(3) In einem Übersetzersystem beginnt der durch die Adreßschlüssel definierte Adreßbereich bei der logischen Adresse 0. In einem ÜFA-Speicherschutzsystem beginnt der durch die Adreßschlüssel definierte Adreßbereich bei verschiedenen möglichen
Grenzen von Blöcken von je 2 K Byte Kapazität doch ist durch den Adreßschlüssel immer eine Zugriffskontrolle je nach Art gegeben.
(4) Die Befehle, welche benutzt werden, um die Speicherschlüsselregister im Prozessor zu laden oder
um aus diesen abzuspeichern, sind verschieden von den Befehlen, die benutzt werden, um in einem System mit Übersetzer die Segmentregister zu laden
oder aus ihnen abzuspeichern.
(5) Für ein E/A-Gerät in einem System, bei dem ein
Übersetzer freigegeben ist, kann keine Speicherschutz-Fehleroperation vorkommen, ein E/A-Gerät in einem System mit ÜFA-Speicherschutzeinrichtung aber kann Speicherschutz-Fehleroperationen annehmen für den Zugriff zu einer Adresse,
welche nicht zu dem durch einen CS-Schlüssel oder durch einen Schlüssel — 7 definierten Bereich gehört.
(6) Wegen der bei einem System mit Übersetzer gegebenen Flexibilität für die Adreßumsetzungen sind
bei Vorliegen der ÜFA-Speicherschutz-Einrichtungs=n bestimmte Umsetzungen von logischen in physische Adreßbereiche schwierig auszuführen, z. B.
Benutzung eines gemeinsamen Bereichs für nur zwei Adreßschlüssel.
3. Alternative Speicherschutz-Betriebsart (ASB)
bei Systemen mit Adreßübersetzung
F i g. 14 zeigt die Steuerschaltungen für eine alternative Speicherschutz-Betriebsart (ASB), die in einem Datenverarbeitungssystem verwendet werden kann. Diese
Betriebsart ist eine Alternative zur oben beschriebenen Übersetzungsbetriebsart, bei der ein mehrfach unterteiltes Adreßschlüsselregister ASR (Fig. ID) benutzt
wird. Bei dieser alternativen Betriebsart gibt es nicht die vom Typ des Speicherzugriffs abhängige Adressierbarkeit durch den Prozessor, die mit der Anordnung gemäß
Fig. ID erreicht werden kann; sie ermöglicht jedoch separate Adressierbereiche für E/A-Speicherzugriffe.
Die alternative Betriebsart ermöglicht dem Prozessor eine unterschiedliche, von einem aktiven Adreßschlüssel
abhängige Adressierbarkeit für seine verschiedenen Programme und Daten mit unterschiedlichem Benutzeradreßschlüssel; sie erlaubt aber auch eine interaktive
Beziehung des Benutzers zum Überwachungsprogramm, soweit erforderlich, ohne daß dabei der Inhalt
eines Benutzerschlüsselregisters (BSR) 460 verändert
3b
werden müßte.
In der Anordnung gemäß F i g. 14 kann nur ein einzelner
AdreBschlfissel in das BSR-Register 4SQ des Prozessors
geladen werden, so daß sämtliche Speicherzugriffe zar Ausführung eines Benutzerprogramms und zum
entsprechenden Datenzugriff innerhalb eines einzelnen Adreßbereichs erfolgen müssen, der durch den Benutzeradreßschlüssel
im BSR 460 definiert ist; dieser BenutzeradreßschlQssel kann nicht den Wert Null haben,
da dieser Wert für denjenigen Speicherbereich reserviert ist in dem die Systemüberwachungsprogramme
und Systemdaten stehen. E/A-Zugriffe werden durch den CS-Schlüssel gesteuert, der von einem Unterkanal
in das CS-Schlüsselregister 465 geladen werden kann.
Die ASB-Betriebsart wird für einen Prozessor durch eine Bitposition A im Niveaustatusregister (NSR) 470
gesteuert Wenn der Überwachungszustand eingeschaltet ist enthält Bitposition S eine Eins; wenn die ASB-Betriebsart
eingeschaltet ist enthält Bitposition A eine Eins.
Wenn beide Bitpositionen S und A eine Eins enthalten, wird eine erste Art von Prozessoroperation vorgesehen,
bei der das Überwachungsprogramm (welches im Adreßbereich mit Schlüssel = 0 enthalten ist) mit dem
Adreßbereich des laufenden Benutzeradreßschlüssels (der im BSR 460 enthalten ist) arbeiten kann. Das heißt,
daß das Überwachungsprogramm aus dem Bereich mit Schlüssel = 0 heraus arbeitet, und dabei Operanden aus
dem durch den Benutzerschlüssel bezeichneten Adreßbereich benutzt Das Überwachungsprogramm kann
aber nicht zu anderen Adreßbereichen im Hauptspeicher zugreifen, die zu anderen Adreßschlüsseln gehören.
Diese Arbeitsweise des Überwachungsprogramms mit eingeschränkter Adressierbarkeit ermöglicht zwar
den Programmen zur Unterbrechungsbehandlung, zu einem gegenwärtig unterbrochenen Benutzerprogramm
und dessen Daten zuzugreifen, ohne daß dabei die Gefahr besteht, daß das Überwachungsprogramm
bei einer eigenen Störung die Integrität nichtbeteiiigter Bereiche des Hauptspeichers stört. Im übrigen kann em
Benutzerprogramm bei seiner Ausführung niemals zum Speicherbereich des Überwachungsprogramms zugreifen,
weil jedes Benutzerprogramm nur zu dem durch den eigenen Benutzeradreßschlüssel definierten Speicherbereich
Zugriff hat.
Eine zweite Art von Prozessoroperation tritt auf, wenn das Über.vachungsprogrammbit S Eins und das
ASB-Bit A gleich Null ist. Hierbei kann das Überwachungsprogramm aus dem Bereich mit Schlüssel = 0
heraus arbeiten, ohne den !aufenden Benutzerschlüssel
im BSR 460 zu stören. In diesem Fall erfolgen alle Befehls- und Operandenzugriffe nur im Bereich mit
Schlüsse! = 0, und das Uberwachungsprogramm darf zu
keinem Benutzerbereich zugreifen. Das heißt, daß in diesem Zustand das Überwachungsprogramm einen Zugriff
weder zu dem Benutzerbereich hat, der durch den gegenwärtigen Inhalt des BSR 460 identifiziert ist, noch
zu sonst einem durch irgendeinen andern Schlüssel definierten Bereich. Durch diese Art von Systembetrieb
wird die Notwendigkeit vermieden, den Schlüssel = 0 jeweils in das BSR 460 einzugeben.
Eine dritte Art von Prozessoroperation ist vorgesehen, wenn das Überwachungsprogrammbit S gleich
Null ist, wobei der Wert des ASB-Bit A ohne Belang ist. In diesem Fall erfolgen alle Befehlsabrufe und Operandenzugriffe
nur in dem durch den Benutzerschlüssel definierten Bereich; zum Hauptspeicherbereich mit dem
Schlüssel = 0 sind dann keinerlei Zugriffe erlaubt.
Die ASB-Betriebsart wird im Prozessor durch die in Fig. 14 gezeigte Schaltungsanordnung gesteuert
UND-Glied 462 wird freigegeben, wenn im NSR 470 sowohl S-Bit als auch Α-Bit gesetzt sind. Damit wird die
5 oben beschriebene erste Art von Prozessoroperation eingeleitet Daraufhin wird bei jeder Befehlsabruf-Anforderung
vom Prozessor (Fig.4) ein Signal über UND-Glied 462, ODER-Glied 466 und Inverter 467 an
UND-Glied 461 gegeben, um dieses während dem Be-
!0 fehlsabrufsvorgang zu sperren. Während das UND-Glied
461 gesperrt ist gibt es ein Nullsignal, welches den Schlüssel = 0 darstellt an den AAS-Bus. Ein Befehlsabruf
ist also nur im Speicherbereich des Überwachungsprogramms mit dem Schlüssel = 0 erlaubt
is Wenn keine Befehlsabruf-Anforderung vorliegt (also
in den Zeiten zwischen den Befehlsabruf-Anforderungen), wird das UND-Glied 462 nicht freigegeben, so daß
Inverter 467 ein Aktivsignal an das UND-Glied 461 abgibt
um den Benutzeradreßschlüssel aus dem BSR 460 auf den AAS-Bus zu geben, so daß ein aus dem Überwachungsprogramm
abgerufener Befehl zu Operanden zugreifen kann, die in dem Bereich stehen, der zu dem
im BSR 460 stehenden Schlüssel gehört.
Wenn im NSR das ASB-Bit A rückgestellt ist (gleich
Wenn im NSR das ASB-Bit A rückgestellt ist (gleich
Null), während das Überwachungsprogrammbit S gesetzt ist (gleich Eins), bleibt das UND-Glied 464 ständig
freigegeben und sperrt über Inverter 467 das UND-Glied 461, so daß dieses ständig den Schlüssel = 0 an
den AAS-Bus abgibt. Hieraus ergibt sich die oben beschriebene zweite Art von Prozessoroperation, bei der
das Überwachungsprogramm für alle Befehlsabrufe und Operandenzugriffe auf den Bereich des Schlüssels = 0
eingeschränkt ist, unabhängig vom Wert des Benutzerschlüssels im BSR 460.
Wenn das S-Bit im NSR 470 rückgestellt ist (gleich Null), bleiben UND-Glieder 462 und 464 ständig gesperrt,
so daß Inverter 467 ständig ein Freigabesignal an UND-Glied 461 liefert welches infolgedessen ohne Unterbrechung
den Benutzeradreßschlüssel an den AAS-Bus durchgibt. Daraus ergibt sich die oben beschriebene
dritte Art von Prozessoroperation, bei der alle Speicherzugriffe, sowohl für den Prozessor als auch für E/A,
in dem Hauptspeicherbereich erfolgen, dessen Adressierung durch den Benutzerschlüssel im BSR 460 gege-
ben ist. Das Überwachungsprogramm kann nur arbeiten, wenn Bit S gesetzt (gleich Eins) ist.
Hierzu 29 Blatt Zeichnungen
Claims (1)
1. Speicherzugriffsanordnung in Datenverarbeitungsanlagen,
bei denen Adreßschlüssel zur Steuerung
von Speicherzugriffen verwendet werden, mit Schlüsselauswahleinrichtungen, die je einen Adreßschlüssel
an Speicherzugriffseinrichtungen abgeben, gekennzeichnet durch:
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/682,226 US4037207A (en) | 1976-04-30 | 1976-04-30 | System for controlling address keys under interrupt conditions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2717700A1 DE2717700A1 (de) | 1977-11-10 |
DE2717700C2 true DE2717700C2 (de) | 1985-05-23 |
Family
ID=24738759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2717700A Expired DE2717700C2 (de) | 1976-04-30 | 1977-04-21 | Speicherzugriffsanordnung |
Country Status (9)
Country | Link |
---|---|
US (1) | US4037207A (de) |
JP (1) | JPS52132754A (de) |
AU (1) | AU507988B2 (de) |
BR (1) | BR7702778A (de) |
CA (1) | CA1075366A (de) |
DE (1) | DE2717700C2 (de) |
FR (1) | FR2349882A1 (de) |
GB (1) | GB1557118A (de) |
SE (1) | SE417553B (de) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4408292A (en) * | 1979-09-27 | 1983-10-04 | Sharp Kabushiki Kaisha | Data print control in an electronic cash register |
US4355355A (en) * | 1980-03-19 | 1982-10-19 | International Business Machines Corp. | Address generating mechanism for multiple virtual spaces |
US4587632A (en) * | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4575817A (en) * | 1983-06-27 | 1986-03-11 | International Business Machines Corporation | Switching of programming routine supporting storage stacks |
JPH01112450A (ja) * | 1987-10-27 | 1989-05-01 | Sharp Corp | メモリ管理ユニット |
US5287523A (en) * | 1990-10-09 | 1994-02-15 | Motorola, Inc. | Method for servicing a peripheral interrupt request in a microcontroller |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566358A (en) * | 1968-03-19 | 1971-02-23 | Bevier Hasbrouck | Integrated multi-computer system |
GB1410631A (en) * | 1972-01-26 | 1975-10-22 | Plessey Co Ltd | Data processing system interrupt arrangements |
US3828327A (en) * | 1973-04-30 | 1974-08-06 | Ibm | Simplified storage protection and address translation under system mode control in a data processing system |
US4037214A (en) * | 1976-04-30 | 1977-07-19 | International Business Machines Corporation | Key register controlled accessing system |
-
1976
- 1976-04-30 US US05/682,226 patent/US4037207A/en not_active Expired - Lifetime
-
1977
- 1977-03-04 FR FR7707430A patent/FR2349882A1/fr active Granted
- 1977-04-05 CA CA275,542A patent/CA1075366A/en not_active Expired
- 1977-04-05 GB GB14253/77A patent/GB1557118A/en not_active Expired
- 1977-04-08 JP JP3962377A patent/JPS52132754A/ja active Granted
- 1977-04-21 DE DE2717700A patent/DE2717700C2/de not_active Expired
- 1977-04-27 BR BR7702778A patent/BR7702778A/pt unknown
- 1977-04-29 SE SE7704957A patent/SE417553B/xx not_active IP Right Cessation
- 1977-05-02 AU AU24743/77A patent/AU507988B2/en not_active Expired
Also Published As
Publication number | Publication date |
---|---|
JPS5653782B2 (de) | 1981-12-21 |
DE2717700A1 (de) | 1977-11-10 |
GB1557118A (en) | 1979-12-05 |
CA1075366A (en) | 1980-04-08 |
BR7702778A (pt) | 1978-02-21 |
AU507988B2 (en) | 1980-03-06 |
FR2349882A1 (fr) | 1977-11-25 |
JPS52132754A (en) | 1977-11-07 |
SE417553B (sv) | 1981-03-23 |
SE7704957L (sv) | 1977-10-31 |
FR2349882B1 (de) | 1979-03-09 |
AU2474377A (en) | 1978-11-09 |
US4037207A (en) | 1977-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2716051C2 (de) | Datenverarbeitungsanlage mit einem oder mehreren Prozessoren mit mindestem einem Ein-/Ausgabekanal mit mehreren Unterkanälen und mit einer Speicheranordnung, bei der zum Speicherzugriff Schlüssel verwendet werden | |
CH619309A5 (de) | ||
CH615521A5 (de) | ||
DE68923627T2 (de) | Steuerungsverfahren und -vorrichtung für Nullursprungsdatenräume. | |
DE2350884C2 (de) | Adreßumsetzungseinheit | |
DE3853759T2 (de) | Datenprozessor mit zwei Betriebsmoden. | |
DE2807476C2 (de) | Speichereinrichtung mit mehreren virtuellen Adreßräumen | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE69022716T2 (de) | Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür. | |
DE68916167T2 (de) | Adressenspeichersperrung mit priorität für einen gemeinsamen speicher. | |
DE3588009T2 (de) | Vorrichtung und Verfahren zum Rekonfigurieren eines Speichers in einer Datenverarbeitungsanordnung. | |
DE3587960T2 (de) | Datenverarbeitungsanlage mit einem Speicherzugriffssteuergerät. | |
DE2414311C2 (de) | Speicherschutzeinrichtung | |
DE68923863T2 (de) | Ein-/Ausgabecachespeicherung. | |
DE2417795C2 (de) | Datenverarbeitungsanlage | |
DE2953861C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE3852695T2 (de) | Multiprozessorsystem mit mehreren Speichern. | |
DE2902465A1 (de) | Datenverarbeitungsanordnung | |
DE2725718A1 (de) | Verarbeitungssystem mit mehreren virtuellen adressenraeumen | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2441754A1 (de) | Prozessor-datenuebertragungssteueranordnung sowie verfahren zur steuerung der datenuebertragung eines prozessors | |
DE1549531A1 (de) | Digitale Rechenanlage | |
DE10393803T5 (de) | Verfahren und Vorrichtung zum Bestimmen einer Seitenverwaltungsimplementierung bei dynamischem Speicher mit wahlfreiem Zugriff | |
DE112019002336T5 (de) | Speicherpoolzuordnung für ein mehrkern-system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8176 | Proceedings suspended because of application no: |
Ref document number: 2716051 Country of ref document: DE Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |