DE2629311C2 - - Google Patents
Info
- Publication number
- DE2629311C2 DE2629311C2 DE19762629311 DE2629311A DE2629311C2 DE 2629311 C2 DE2629311 C2 DE 2629311C2 DE 19762629311 DE19762629311 DE 19762629311 DE 2629311 A DE2629311 A DE 2629311A DE 2629311 C2 DE2629311 C2 DE 2629311C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- word
- page table
- dcw
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
Die vorliegende Erfindung betrifft ein Verfahren zum
Adressieren von Daten in einem Hauptspeicher nach dem
Gattungsbegriff des Patentanspruches 1.
Ein derartiges Verfahren ist aus der DE-OS 23 60 303
bekannt. Dort enthalten Kanalbefehlsworte nur relative
Adressen, d. h. Adressen, die auf die Segmenttabellenbasis,
die Seitentabellenbasis und die Seitenbasis bezogen sind.
Zum Zugriff auf Daten im Hauptspeicher, d. h. für die
Bildung der echten Adresse wird die Segmenttabellenbasis
in einem Subkanal-Übersetzungswort zu dem Segmentfeld
(logische Adresse) in einem Kanalbefehlswort addiert, um
die echte Adresse des Seitentabelleneintrages zu erhalten.
Sodann wird der Seitentabelleneintrag im Hauptspeicher
aufgesucht. Die Seitentabellenbasis im Segmenttabelleneintrag
wird nachfolgend zu dem Seitenfeld im Kanalbefehlswort
addiert, um die echte Adresse des Seitentabelleneintrages
zu erhalten. Schließlich wird die Seitenbasis im
Seitentabelleneintrag zu dem Bytefeld im Kanalbefehlswort
hinzuaddiert, um die endgültige echte Adresse zu erhalten.
Es sind somit insgesamt drei Zugriffe auf den Hauptspeicher
erforderlich, um zu der endgültigen echten Hauptspeicheradresse
zu gelangen.
Es ist die Aufgabe der vorliegenden Erfindung, ein
verbessertes Verfahren zum Zugriff auf einen
seitenunterteilten Hauptspeicher anzugeben, das eine
raschere Umsetzung der logischen Adresse in die echte
Adresse gestattet.
Die Lösung dieser Aufgabe gelingt gemäß
dem im Patentanspruch 1 gekennzeichneten Verfahren.
Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen
Verfahrens sind den Unteransprüchen entnehmbar.
Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung besitzt die
Ein-Ausgabe-Einheit einen Zwischenspeicher, der ein
peripheres Steuerwort (PCW) für jedes periphere Gerät
speichert. Das periphere Steuerwort (PCW) verweist direkt
auf die Basis der Seitentabelle, die dem entsprechenden
peripheren Gerät zugeordnet ist. Wenn die echte Adresse
zum Zugriff auf Daten im Hauptspeicher durch das periphere
Gerät angefordert wird, so wird die Hinweisadresse in dem
peripheren Steuerwort (PCW) benutzt, um zusammen mit der
vorgesehenen relativen Adresse direkt das Seitentabellenwort
in der Seitentabelle zu erhalten, die zu dem
betroffenen peripheren Gerät gehört. Dieses Seitentabellenwort
verweist auf die Basis der Seiten, die dem
peripheren Gerät zugeordnet sind, und es wird benutzt, um
endgültig auf die gewünschten Daten zuzugreifen. Durch die
Zuordnung einer Seitentabelle zu einem peripheren Gerät
ergibt sich eine sehr schnelle Umsetzung der logischen
Adresse in die echte Adresse.
Anhand der Figuren der Zeichnungen wird das erfindungsgemäße
Verfahren im folgenden näher erläutert. Es
zeigt
Fig. 1 die wichtigsten Komponenten eines Datenverarbeitungssystems,
in welchem die vorliegende Erfindung Anwendung
findet,
Fig. 2 bis 8 Flußdiagramme, die das erfindungsgemäße
Verfahren des Zugriffs auf einen seitenunterteilten Speicher
bei Ein/Ausgabe-Operationen darstellen und
Fig. 9 ein Funktionsdiagramm des Ein/Ausgabe-Multiplexers
des Systems Honeywell 6600, in welchem das erfindungsgemäße
Verfahren Anwendung finden kann.
Gemäß Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems
beispielsweise des Systems Honeywell 6600 dargestellt,
in welchem die vorliegende Erfindung Anwendung finden kann.
Das System umfaßt typischerweise eine Zentraleinheit CPU-10,
die in Abhängigkeit von Programmbefehlen arithmetische und
logische Funktionen mit Daten ausführt; einen Hauptspeicher 12, in
welchem Programmbefehle und Daten für die Programmausführung
gespeichert sind; eine Ein/Ausgabe-Einheit I/O-14 mit mehreren
Kanälen, über welche Daten und Programme zwischen peripheren
Benutzern und dem Verarbeitungssystem ausgetauscht werden.
Der Großraumspeicher 16 dient zusätzlich als erweiterter
Speicher und umfaßt eine Speichersteuerung und mehrere Speichereinheiten.
Die Koordination der Systemoperationen wird
von einer Systemsteuereinheit SCU-18 erzeugt, über die jeglicher
Nachrichtenaustausch mit dem Hauptspeicher 12 erfolgt.
Da der Nachrichtenaustausch zwischen der I/O-14 und der SCU-18
mit einer sehr viel höheren Geschwindigkeit als der Nachrichtenaustausch
zwischen der I/O-14 und den peripheren Geräten erfolgen
kann, kann jede Ein/Ausgabe-Einheit I/O-14 mehrere
Kanäle im Multiplexverfahren bearbeiten. Beispielsweise kann
bei dem System Honeywell 6600 der Ein/Ausgabe-Multiplexer IOM
bis zu 47 Kanälen aufweisen, wobei jeder Kanal über eine
mikroprogrammierte periphere Steuereinheit mit mehreren
peripheren Geräten im Nachrichtenaustausch stehen kann oder
ein direkter Kanal mit einem einzigen peripheren Gerät, wie
beispielsweise einem Datanet 355-Kommunikationsprozessor im
Nachrichtenaustausch stehen kann. Jeder IOM arbeitet im wesentlichen
als eine durch ein gespeichertes Programm gesteuerte
Einrichtung, wobei die Steuerung durch die CPU erfolgt und
der Speicherzugriff gemeinsam mit dieser vorgenommen wird.
Datenblock-Übertragungsoperationen werden durch das allgemeine
Betriebssystem GCOS (General Comprehensive Operating
System) ausgelöst. Die Operationen peripherer Geräte werden
durch eine Steuerwortliste gesteuert, die vom Prozessor erstellt
wird und die entweder Befehlsdaten-Steuerwörter IDCW
oder Datensteuerwörter DCW enthält und die in dem Kommunkationsbereich
des Speichers 12 gespeichert sind, der als IOM-Briefkasten
(IOM mailboxes) bezeichnet wird. Datenübertragungsoperationen
werden durch Listen von Datensteuerwörtern DCW
gesteuert, die die Speicherbereiche festlegen, aus denen
Daten entnommen bzw. zu denen Daten übertragen werden sollen.
Der IOM ist mit einem Zwischenspeicher ausgestattet zur
Speicherung der Datensteuerwörter für jeden Kanal.
Fig. 9 stellt ein Blockdiagramm des Multiplexers IOM des
Systems Honeywell 6600 dar. Anschluß-Schnittstellen zu der
Systemsteuerung sind allgemein mit der Bezugsziffer 300 versehen,
die Ein/Ausgabe-Schiene zu den Kanälen der peripheren
Steuereinheit ist mit 302 bezeichnet und der Zentralteil des
Multiplexers IOM weist die Bezugsziffer 304 auf. Der Informationsfluß
erfolgt von der Systemsteuerung über Speicherregister
306 zu den peripheren Geräten und umgekehrt fließt die Information
von den peripheren Geräten über Datenregister und den
Packungsschalter 310 zu der Systemsteuerung. Die von der
Systemsteuerung aufgenommenen und abgegebenen Daten weisen
ein Format von 72 Bit auf, während die von den peripheren
Steuerkanälen abgegebenen und aufgenommenen Daten ein Format
von 36 Bit aufweisen. Die Daten fließen über die Schiene 312,
wobei hierbei eine Umschaltung, eine Paritätsprüfung sowie eine
Paritätserzeugung ausgeführt wird. Mit der Schiene 312 sind
ferner Zwischenspeicher 314 und ein Wartungskanal 316 mit
einem Wartungsfeld 318 und Aufwandkanälen 320 verbunden. Die
Seitenadressierung gemäß der vorliegenden Erfindung und andere
Adressierungs- und Anweisungsfunktionen werden in der Einheit
322 durchgeführt. Ein Steuerwortregister 324, ein Kanalregister
326 und ein Übertragungsregister 328, deren Funktionen später
beschrieben werden, sind miteinander über eine Zeitberechnungs-
und Steuerlogikeinheit 330 verbunden.
Wie zuvor beschrieben, handelt es sich bei dem System
Honeywell 6600 und dem Multiplexer IOM dieses Systems um
handelsübliche Geräte, so daß daher nur soviel Einzelheiten
über diese Geräte angegeben werden müssen, damit die Ein/Ausgabe-Seitenadressentwicklung
gemäß der vorliegenden Erfindung
verstanden werden kann.
Die Logik des Ein/Ausgabe-Multiplexers IOM bewerkstelligt
die Informationsübertragung zwischen den Nutzlastkanälen,
die ihrerseits Information von und zu den peripheren Geräten
übertragen und der Systemsteuerung. Die übertragene Information
kann im wesentlichen eine von drei Formen aufweisen:
- 1. Information, die an einen Kanal abgegeben wird, um die nächste Folge von Operationen des Kanals zu steuern;
- 2. Daten, d. h. Information, die zwischen dem Primärspeicher (Kernspeicher des Systems 6600) und dem Ein/Ausgabe-Speichergerät (Kartenleser, Bänder, Platten usw.) ausgetauscht wird und
- 3. Status, d. h. Information, die von einem Kanal herstammt und den Zustand des Kanales bzw. des peripheren Gerätes anzeigt.
Eine aktive Operation des Multiplexers IOM wird durch eine
Dienstanforderung von einem der Kanäle entweder dem Nutzlastkanal
oder einem Aufwandkanal ausgelöst. Der Multiplexer IOM
führt den angeforderten Dienst aus und kehrt sodann in einen
Leerlaufzustand zurück bis eine andere Dienstanforderung erzeugt
wird. Das erste Informationswort, das an die IOM-Zentrale
von einem Kanal übertragen wird, ist das Übertragungs-Anweisungswort,
das in dem 36 Bit-Übertragungsanweisungsregister
gespeichert ist. Der Inhalt des Übertragungs-Anweisungsregisters
wird zur Steuerung der Operation der IOM-Zentrale
während des Datendienstes benutzt. Die Übertragungsanweisung
weist grundsätzlich das nachstehende Format auf:
Der größte Teil der Informationsübertragung durch den Multiplexer
IOM erfolgt in einer indirekten Weise, d. h. der Ursprung oder der
Bestimmungsort für die Inforamtion innerhalb des primären Speichermoduls
(Kernspeicher) wird durch ein Steuerwort festgelegt. Jeder
indirekte Service beginnt daher durch Abruf des geeigneten Steuerwortes
aus seinem Briefkasten entweder im Kernspeicher oder im
Zwischenspeicher und durch Ablage desselben in dem Steuerwortregister
des Multplexers IOM.
Das Steuerwortregister (C-REG) weist zwei 36 Bit-Segmente C 0-35
und C 36-71 auf. Das Segment C 0-35 wird zur Speicherung des
ersten Wortes eines Doppelpräzisionssteuerwortes, wie beispielsweise
eines Listen-Hinweisadressenwortes LPW benutzt oder es
wird zur Speicherung des einzigen Wortes eines Einfach-Präzisions-Steuerwortes,
wie beispielsweise eines Datensteuerwortes DCW oder
eines Statussteuerwortes SCW herangezogen. Das Register C 0-35
wird meist in Form eines Speicherregisters verwirklicht. Die
Steuerwort-Adressbits 0-17 und die Zeichen-Positionsfeldbits
18-20 werden jeweils um eins erhöht und die Zählstandsbits 24-35
werden jeweils um eins erniedrigt, wobei hierbei von Addierschaltkreisen
Gebrauch gemacht wird. Das Segment C 36-71 wird lediglich
als Speicherregister verwirklicht, da keine Zähloperationen hinsichtlich
dieses Teiles des Steuerwortes erforderlich sind.
Das C-Register 0-17 wird zur Erzeugung einer stabilen Adressenbasis
bei der indirekten Betriebsweise benutzt. Das Halteregister
(H-REG) ist ein Speicherregister mit 72 Bit plus 2 Paritätsbits,
das zwei Funktionen erfüllt:
- 1. Seine erste Funktion besteht in der Abgabe der Information an die Ein/Ausgabeschiene. Diese Information kann in der Form von Daten vorliegen oder in der Form eines peripheren Steuerwortes PCW oder eines Datensteuerwortes DCW;
- 2. seine zweite Funktion besteht in der temporären Speicherung der Information, die später entweder im Kernspeicher oder im Zwischenspeicher abgelegt wird. Im vorliegenden Fall speichert das H-Register ein Datensteuerwort DCW, welches während eines Listendienstes erhalten wird oder den Rest des Datensteuerwortes DCW der während eines Statusdienstes erhalten wird oder die Daten des Zwischenspeichers, die sich während eines Zwischenspeicher-Zugriffsdienstes ergeben.
Die IOM-Zentrale sieht die Möglichkeit der Behandlung von Daten
einer Größe von 3 Byte während Datenübertragungsoperationen vor.
Das erste Byte ist entweder eine 72 Bit plus 2 Paritätsbits-Doppelpräzision-Wortübertragung
oder eine 36 Bit plus 1 Paritätsbit-Einfachpräzisions-Wortübertragung.
Ein 9 Bit-Byte kann jedoch
ebenalls übertragen werden. Wenn ein 9 Bit-Byte vom Kernspeicher
zu einem peripheren Gerät übertragen wird, so wählt
der Entpackungsschalter das geeignete Byte aus und überträgt
es rechtsbündig, bevor es in dem H-Register gespeichert wird.
Der Multiplexer IOM ist fähig, absolute DCW-Adressen während
eines Listendienstes zu erzeugen, indem er die Information der
Listen-Hinweisadressenworterweiterung LPWX, die in dem C-Register
gespeichert ist und das in dem H-Register gespeicherte Datensteuerwort
DCW benutzt. Zusätzlich zur Erzeugung absoluter DCW-Adressen
werden verschiedene Tests durchgeführt, um sicherzustellen,
daß das sich ergebende Datensteuerwort DCW nicht zur
Übertragung von Daten zu oder von einem verbotenen Kernspeicherbereich
führt.
Das Kanalnummerregister ist ein 6 Bit-Speicherregister, welches
temporär die Kanalnummer desjenigen Kanales speichert, an den
ein peripheres Steuerwort gerichtet ist. Der Inhalt dieses
Registers wird an die Ein/Ausgabeschiene zum geeigneten Zeitpunkt
während des Dienstes des verbundenen Kanales ausgegeben.
Das Datenregister (D-REG) ist ein 36 Bit plus Parität-Speicherregister,
welches der Speicherung folgender Informationen dient:
- 1. Daten von einem Kanal für einen Einfachpräzisions-36-Bit-Datenspeicherservice;
- 2. Ein erstes Datenwort von einem Kanal für einen Doppelpräzisions-Datenspeicherservice und
- 3. Ein Statuswort von einem Kanal für einen Statusservice. Wenn ein Doppelpräzisions-Datenwort von einer Datenschiene mit einer Breite von 36 Bit ankommt, so wird das erste Wort in dem D-Register gespeichert, wodurch das zweite Wort zur Abgabe an die Schiene freigegeben wird. Von nun an werden die Daten zu den Anschlüssen mit einer Breite von 72 Bit plus 2 Paritätsbit übertragen, indem 36 Bits plus ein Paritätsbit aus dem D-Register und 36 Bits plus ein Paritätsbit von der Ein/Ausgabeschiene entnommen werden.
Da der Zwischenspeicher mit wahlfreiem Zugriff ausgestattet ist,
kann die benutze Zwischenspeicheradresse größer als die Adresse
sein, die dem letzten verfügbaren Zwischenspeicherwort zugeordnet
war. In diesem Fall werden die Daten aus dem Kernspeicherplatz
gelesen bzw. in diesen hineingeschrieben, der dieser
Adresse zugeordnet ist, d. h. der Zwischenspeicher-Zugriffskanal
kann zum Lesen oder Schreiben in irgendeiner Adresse
benutzt werden, wobei diese Adresse durch das periphere Steuerwort
PCW die mit der IOM-Basisadresse einer ODER-Verknüpfung
unterzogen wird, bestimmt ist. Wenn ein dieser Adresse zugeordneter
Zwischenspeicherplatz vorhanden ist, so wird auf diesen
Zugriff genommen und wenn kein entsprechender Zwischenspeicherplatz
vorhanden ist, so wird auf den Kernspeicher Zugriff genommen.
Der Multiplexer IOM verarbeitet Dienstanforderungen von Kanälen
auf einer Anforderung/Prioritätsbasis. Der Multiplexer IOM ist
untätig bis eine Dienstanforderung vorliegt und hinsichtlich
gleichzeitiger Anforderungen wird diejenige mit dem höchsten
Rang zuerst verarbeitet. Der Multiplexer IOM verschiebt Information
zwischen dem Kernspeicher und verschiedenenen peripheren
Geräten, wobei dies durch Anforderungen durch periphere
Steuereinheiten, die den peripheren Geräten zugeordnet sind,
gesteuert wird. Diese Operationen treten nicht fortlaufend
auf, sondern werden durch Verbindungen ausgelöst, die durch
Steuerworte gesteuert sind und ihre Beendigungen werden durch
Programmunterbrechungen angezeigt.
Alle Operationen des Multiplexers IOM werden hinsichtlich
eines besonderen Aufwand- oder Nutzlastkanales durchgeführt.
Jedem Kanal ist eine Gruppe von vier Steuerwort-Speicherplätzen
im Kernspeicher, die als Briefkästen bezeichnet werden, zugeordnet,
wobei die Zuordnung auf der Kanalnummer und der IOM-Basisadresse
basiert. Die Briefkästen sind folgendermaßen angeordnet:
Bestimmten Kanälen können auch Hilfs-Zwischenspeicherplätze für
die vier Steuerworte zugeordnet sein. Wenn einem Kanal dieser
Hilfsspeicherplatz zugeordnet ist, so wird er als Zwischenspeicherkanal
bezeichnet. Die beiden Gruppen von Briefkästen
für einen Zwischenspeicherkanal treten wie folgt auf:
Ein indirekter Datenservice überträgt Daten unter Steuerung eines
Datensteuerwortes vom Kernspeicher zu einem peripheren Gerät oder
von dem peripheren Gerät zum Kernspeicher. Die Menge der pro
Service zu übertragenden Daten wird durch den Kanal in der
Übertragungsanweisung in einer der folgenden Formen festgelegt:
72 Bits (eine Doppelpräzisionsübertragung); 36 Bits (eine Einfachpräzisionsübertragung);
9 Bits.
Ein indirekter Datenservice besteht aus drei Speicherzyklen:
- 1. Abruf des Kanal-Datensteuerwortes DCW aus seinem Briefkasten, wobei der Abruf aus einem Zwischenspeicher erfolgt, falls es sich um einen Zwischenspeicherkanal handelt, und andernfalls aus dem Kernspeicher erfolgt;
- 2. Übertragung der Daten zu oder von dem durch das Datensteuerwort DCW festgelegten Speicherplatz mit oder ohne Adressenerweiterung in Abhängigkeit von dem Modus und den Steuerbits in dem Datensteuerwort DCW und
- 3. Ergänzung der Adreß- und Zählstandsfelder und bei einer 9 Bit-Übertragung ebenfalls des Zeichenpositionsfeldes des Datensteuerwortes DCW und Rückspeicherung in dem DCW-Briefkasten des Kanals.
Bei einem direkten Datenservice werden Daten vom Kernspeicher
zu einem peripheren Gerät oder von dem peripheren Gerät zum Kernspeicher
übertragen. Er unterscheidet sich von einem indirekten
Datenservice dadurch, daß die Kernspeicheradresse durch die Übertragungsanweisung
des Kanals festgelegt wird. Der Kanal muß die
zu benutzende Kernspeicheradresse bestimmen, so daß nur ein
direkter Kanal einen direkten Datenservice anfordern kann. Im
allgemeinen ist ein direkter Kanal aufwendiger ausgestaltet
als ein indirekter Kanal, da er die entsprechende Logik aufweisen
muß, um auf das Datensteuerwort DCW Zugriff zu nehmen
bzw. dieses zu speichern und zu ergänzen.
Ein direkter Datenservice kann entweder 36 Bits oder 72 Bits
übertragen und besteht aus einem einzigen Speicherzyklus: Übertragung
der Daten zu oder aus einem Speicherplatz, der durch die
Übertragungsanweisung festgelegt ist. Ein direkter Lesevorgang
in Einfachpräzision kann ebenfalls modifiziert werden, um ein
Löschen beim Lesen unter der Adresse vorzunehmen, die durch die
Übertragungsanweisung vorgegeben ist.
Der Ein/Ausgabe-Multiplexer IOM nimmt von fünf unterschiedlichen
Arten von Datensteuerworten Notiz. Diese sind:
Befehls-Datensteuerwort DCW
Übertragungs-Datensteuerwort TDCW
E/A Übertragung und Auftrennung IOTD
E/A Übertragung und Fortschaltung IOTP
E/A Nichtübertragung und Fortschaltung IONTP
Übertragungs-Datensteuerwort TDCW
E/A Übertragung und Auftrennung IOTD
E/A Übertragung und Fortschaltung IOTP
E/A Nichtübertragung und Fortschaltung IONTP
Die Software oder das Benutzerprogramm müssen geeignete Datensteuerworte
DCW für jeden Datenkanal erzeugen und die Datensteuerworte
DCW für jeden Kanal in einer Liste anordnen. Die
Liste der Datensteuerworte DCW für einen Kanal muß aufeinanderfolgende
Speicherplätze einnehmen, mit der Ausnahme, wenn eine
Liste mit einer anderen Liste über ein Übertragungs-Datensteuerwort
TDCW verbunden ist.
Befehls-Datensteuerwort IDCW: Das IDCW stattet die Software und
unbeschränkte Benutzerprogramme mit der Fähigkeit aus, Befehle
für periphere Geräte an geeigneten vorbestimmten Stellen in der
DCW-Liste einzufügen. Das Format des IDCW ist dem Format des PCW
ähnlich. Es gibt kein Gegenstück in dem IDCW für das ungerade
Wort des PCW, welches die Nummer des Kanals festlegt, der das
PCW empfängt.
Das einzige Feld in dem IDCW, das durch die IOM-Zentrale interpretiert
wird, ist das Feld mit den Bits 18-20, welche im Dualcode
mit 111 und im Oktalcode mit 7 codiert sein müssen, um das
Datensteuerwort DCW als ein Befehls-Datensteuerwort IDCW zu
identifizieren. Wenn das IDCW während eines Listenservice angetroffen
wrid, so werden alle 36 Bits des IDCW zu dem Datenkanal
gesendet. Im allgemeinen verwendet ein Kanal die Information
für solche Dinge, wie beispielsweise einen Gerätebefehl,
einen Kanalbefehl, einen Aufzeichnungszählstand, ein Einzelzeichen,
eine Kernspeicheradresse und periphere Speicheradressen.
Übertragungs-Datensteuerwort TDCW: Das TDCW stattet die Software
und den Benutzer mit der Fähigkeit aus, die Steuerbits auszutauschen
und eine DCW-Liste mit einer anderen DCW-Liste zu verbinden.
Das Format des TDCW ist nachstehend dargestellt. Die
Bits 24-32 werden von der IOM-Zentrale nicht benutzt.
DCW-Hinweisadresse (Bits 0-17) - bestimmt die Bits 6-23 der
Adresse des nächsten Datensteuerwortes DCW, wobei die Adresse
absolut oder relativ sein kann in Abhängigkeit von dem REL-Bit
in dem Listenhinweisadressenwort LPW. Die IOM-Zentrale
absolutiert erforderlichenfalls die Adresse und legt die Bits
6-23 der absoluten Adresse in dem DCW-Hinweisadressenfeld des
LPW ab, so daß nachfolgende Datensteuerworte DCW der neuen Liste
entnommen werden können. Die höchstrangigsten sechs Bits (Adressenweiterung)
der nächsten DCW-Adresse sind Null, wenn LPW 20
= 0 ist. Wenn LPW 20 = 1 ist, so ergibt sich die Adressenerweiterung
durch die von dem Kanal gespeicherte vorliegende Adressenerweiterung.
Bits 18-20 - irgendein von 111 verschiedener Code.
Bit 21 - muß Null sein.
Bits 22-23 - muß im Dualcode den Wert 10 aufweisen, um das Datensteuerwort DCW als ein Übertragungs-Datensteuerwort TDCW festzulegen.
Bits 24-31 - müsssen Null sein.
Bit 32 - das 19. Adressbit für ein Übertragungs-Datensteuerwort TDCW.
Bit 33 - kann zur bedingten Änderung von LPW 20 von Null auf Eins verwendet werden, d. h. wenn TDCW 33=1 und wenn Bit 18 des vorliegenden LPW Null ist, so wird LPW 20 auf Eins gesetzt. Dies gstattet der Software die Steuerung, wenn die Seitentabelle zum Zugriff auf die Datensteuerwortliste der Benutzer benutzt wird.
Bit 34 - wird durch den Multiplexer IOM einer logischen ODER-Verknüpfung unterzogen und zu dem LPW-Bit 18 gegeben, um das Programm mit einer Möglichkeit der Umschaltung von unbeschränkten auf beschränkten Betrieb zu versehen.
Bit 35 - wird durch den Multiplexer IOM einer logischen ODER-Verknüpfung unterworfen und zu dem LPW-Bit 23 gegeben, um das Programm mit einer Möglichkeit der Umschaltung von absoluten auf relativen Betrieb zu versehen.
Bits 22-23 - muß im Dualcode den Wert 10 aufweisen, um das Datensteuerwort DCW als ein Übertragungs-Datensteuerwort TDCW festzulegen.
Bits 24-31 - müsssen Null sein.
Bit 32 - das 19. Adressbit für ein Übertragungs-Datensteuerwort TDCW.
Bit 33 - kann zur bedingten Änderung von LPW 20 von Null auf Eins verwendet werden, d. h. wenn TDCW 33=1 und wenn Bit 18 des vorliegenden LPW Null ist, so wird LPW 20 auf Eins gesetzt. Dies gstattet der Software die Steuerung, wenn die Seitentabelle zum Zugriff auf die Datensteuerwortliste der Benutzer benutzt wird.
Bit 34 - wird durch den Multiplexer IOM einer logischen ODER-Verknüpfung unterzogen und zu dem LPW-Bit 18 gegeben, um das Programm mit einer Möglichkeit der Umschaltung von unbeschränkten auf beschränkten Betrieb zu versehen.
Bit 35 - wird durch den Multiplexer IOM einer logischen ODER-Verknüpfung unterworfen und zu dem LPW-Bit 23 gegeben, um das Programm mit einer Möglichkeit der Umschaltung von absoluten auf relativen Betrieb zu versehen.
Die weiteren Datensteuerworte DCW:
I/OÜbertragung und Auftrennung IOTD
I/OÜbertragung und Fortschaltung IOTP
I/ONichtübertragung und Fortschaltung IONTP
I/OÜbertragungs-Datensteuerwort bestimmen einen
Datenblock im Kernspeicher, der übertragen
werden kann. Das Format des Datensteuerwortes DCW
ist nachstehend dargestellt:
Datenadresse (Bits 0-17) - bestimmt die niedrigrangigsten
18 Bits der Startadresse des Datenblockes und wird entweder
als absolute oder relative Adresse behandelt, was von dem
REL-Bit in dem LPW abhängt. Die Adressenerweiterung d. h.
die Bits 0-5 wird dem Kanal entnommen und so ergänzt, daß
sie eine 24-Bit-Adresse bildet.
Zeichenposition CP (Bits 18-20) - bestimmt die Stellung des ersten Zeichens innerhalb des ersten Wortes des Blockes. Die durch den Kanal festgelegte Bytegröße legt fest, welche CP-Werte gültig sind.
Mod 64 Bit (Bit 21) - nicht benutzt.
Typ (Bits 22- 23) - muß durch seine Codierung die Art des Datensteuerwortes DCW festlegen.
Zeichenposition CP (Bits 18-20) - bestimmt die Stellung des ersten Zeichens innerhalb des ersten Wortes des Blockes. Die durch den Kanal festgelegte Bytegröße legt fest, welche CP-Werte gültig sind.
Mod 64 Bit (Bit 21) - nicht benutzt.
Typ (Bits 22- 23) - muß durch seine Codierung die Art des Datensteuerwortes DCW festlegen.
00 IOTDI/O Übertragung und Auftrennung. Der laufende
Gerätebefehl ist beendet, wenn der Kanal den
Zählerablaufzustand des Zählers feststellt.
01 IOTPI/O Übertragung und Fortschaltung. Der laufende
Gerätebefehl schaltet auf ein neues Datensteuerwort
DCW weiter, wenn der Kanal den Zählerablaufzustand
des Zählers feststellt.
10Übertragungs-Datensteuerwort TDCW.
11 IONTPDas gleiche wie bei IOTP mit der Ausnahme, daß
keine Kernspeicherzugriffe gemacht werden können.
Wenn Daten durch ein peripheres Gerät gelesen
werden, so wird der Datenblock ausgeschieden.
Wenn Daten in ein peripheres Gerät eingeschrieben
werden, so erzeugt die IOM-Zentrale einen Block
von Nullstellen.
Seitenunterteilte Speicher-Adressierung:
Im dargestellten Ausführungsbeispiel des Systems Honeywell 6600
sind 512 Seiten mit jeweils 1024 Worten in willkürlichen Bereichen
des Hauptspeichers abgelegt. Ein Bezug auf die Wort-Speicherplätze
ist in einer Seitentabelle enthalten, die durch
das Betriebssystem vor Aktivierung einer Ein/Ausgabe-Kanaloperation
errichtet wird. Der absolute Speicherort der Kanal-Seitentabelle
bzw. die Seitentabellen-Hinweisadresse wird der
Ein/Ausgabe-Einheit als Teil eines zwei Worte aufweisenden,
peripheren Steuerwortes vorgegeben., das zur Aktivierung des
Kanales benutzt wird und das in dem Ein/Ausgabe-Zwischenspeicher
gespeichert ist. Danach werden Datensteuerworte DCW
und Befehls-Datensteuerworte IDCW unter Benutzung von Listen-Hinweisadressenworten
aus den Hauptspeicher-Briefkästen erhalten,
wobei dies in herkömmlicher Weise geschieht; und die
Listen-Hinweisadressenworte LPW und die Datensteuerworte DCW
werden mit der Seitentabellen-Hinweisadresse PTP kombiniert,
um in der Seitentabelle die tatsächliche Hauptspeicheradresse
festzustellen.
Eine Seitentabellen-Hinweisadresse PTP besitzt das folgende
Format:
Eine Parität wird für die Seitentabellen-Hinweisadresse erzeugt
und gespeichert.
Ein Vergleicher vergleicht ebenfalls die einkommende Seitentabellen-Hinweisadresse
mit der Information, die gespeichert
wurde, nachdem in den Zwischenspeicher eingeschrieben worden
ist. Ein Fehlvergleich verursacht einen Zwischenspeicher-Paritätsfehler,
der angezeigt wird. Die System-Fehlerlogik
verhindert ebenfalls den Empfang des peripheren Steuerwortes
PCW von dem Kanal, in dem die Übertragung des Kanalnummernregisters
zu der Nutzlast-Kanalschiene gesperrt wird.
Bits 36-38
66-71Werden von dem Multiplexer IOM nicht beachtet. Bits 39-44Sind in dem Kanal-Nummernregister gespeichert. Bits 45-6218 Bit-Seitentabellen-Hinweisadresse. Dies sind die oberen 18 Bits einer 24-Bit-Adresse (niedrige 6 Bits = 0) durch die die Seitentabelle der Ein/Ausgabekanäle fesgelegt ist. Bit 63Muß gesetzt werden, wenn ein PTW-Abruf hinsichtlich der Ein/Ausgabeoperation gewünscht ist. Bit 64Muß gesetzt sein, um die segmentierten seitenunterteilten Untermoden freizugeben. Bit 65Muß gesetzt sein, um die Operation mit einer in einer Seite gespeicherten DCW-Liste freizugeben, wobei die Seite durch ein "Hilfs-Seitentabellenwort" bestimmt wird.
66-71Werden von dem Multiplexer IOM nicht beachtet. Bits 39-44Sind in dem Kanal-Nummernregister gespeichert. Bits 45-6218 Bit-Seitentabellen-Hinweisadresse. Dies sind die oberen 18 Bits einer 24-Bit-Adresse (niedrige 6 Bits = 0) durch die die Seitentabelle der Ein/Ausgabekanäle fesgelegt ist. Bit 63Muß gesetzt werden, wenn ein PTW-Abruf hinsichtlich der Ein/Ausgabeoperation gewünscht ist. Bit 64Muß gesetzt sein, um die segmentierten seitenunterteilten Untermoden freizugeben. Bit 65Muß gesetzt sein, um die Operation mit einer in einer Seite gespeicherten DCW-Liste freizugeben, wobei die Seite durch ein "Hilfs-Seitentabellenwort" bestimmt wird.
Eine Adresse für eine Hilfsseite, z. B. eine Seite, die nicht in
der Seitentabelle abgelegt ist, wird durch eine Basisadresse der
Ein/Ausgabeeinheit erhalten, wobei diese Adresse in einem Hauptspeicher-Briefkasten
abgelegt ist und mit der Ein/Ausgabekanalnummer
kombiniert wird.
Dieser Hilfsservice wird in dem ersten Listenservice zum Auffinden
einer DCW-Liste für den Kanal verwendet. Danach werden
die Datensteuerworte DCW wie oben beschrieben zum Zugriff auf
die Speichereinheit benutzt bis ein Übetragungs-Datensteuerwort
TDCW in der Liste festgestellt wird, wenn das LPW-Bit 23 = 1 ist.
Eine neue DCW-Liste wird sodann von der Kanal-Seitentabelle erhalten.
Bei einem normalen Listenservice wird die Seitentabellen-Hinweisadresse
PTP des Kanals mit dem Listen-Hinweisadressenwort
LPW des Kanals kombiniert, um die Datensteuerworte DCW in der
Kanal-Seitentabelle festzustellen.
Hierbei werden die Bits SEG, LPW0 und LPW1 zu der Seitentabellen-Hinweisadresse
00-17 hinzuaddiert, um die Adresse
00-17 zu erzeugen.
Bei einem indirekten Datenservice kombiniert die Ein/Ausgabeeinheit
die Seitentabellenhinweisadresse PTW und das Datensteuerwort
DCW, um in der Kanal-Seitentabelle die absolute
Speicheradresse für die Daten aufzusuchen. Auf eine neue PTW-DCW-Seite
muß bei jedem indirekten Datenservice Zugriff genommen
werden, der einem Listenservice folgt oder wenn ein
Seitenüberlauf auftritt.
Hierbei werden die Bits DSEG, DCW0 und DCW1 zu der Seitentabellen-Hinweisadresse
00-17 hinzuaddiert, um die Adresse
00-17 zu erzeugen.
Bei einem direkten Datenservice wird das Datensteuerwort DCW
von dem peripheren Gerät an die Ein/Ausgabeeinheit abgeliefert
und es wird zu der Seitentabelle durch Kombination der Seitentabellen-Hinweisadresse
PTP und des Datensteuerwortes DCW Zugriff
genommen.
Hierbei werden die direkten Kanaladressen 06 und 07 mit der
Seitentabellen-Hinweisadresse PTP 16 und 17 einer logischen
ODER-Verknüpfung unterzogen, um die Adresse 16, 17 zu erzeugen.
Bei einem indirekten Datenservice kann auf bis zu 512 Seitentabellenworte
Zugriff genommen werden, indem auf eine von
zwei Seitentabellen Bezug genommen wird, von denen jede eine
Kapazität von 256 Seitentabellenworten PTW umfaßt. Im dargestellten
Ausführungsbeispiel wird ein Listenhinweisadressenwort
LPW oder ein Datensteuerwort DCW-Segmentbit herangezogen,
um festzulegen, welcher der beiden Seitentabellenteile für
die Speicheradressierung benutzt wird.
Im dargestellten Ausführungsbeispiel besitzt ein Seitentabellenwort
PTW das folgende Format:
Bits 0-3
18-30
34-35Werden von dem Multiplexer IOM nicht beachtet. Bit 31Schreibsteuerbit
= 0, Seite kann nicht geschrieben werden
= 1, Seite kann geschrieben werden
18-30
34-35Werden von dem Multiplexer IOM nicht beachtet. Bit 31Schreibsteuerbit
= 0, Seite kann nicht geschrieben werden
= 1, Seite kann geschrieben werden
Der Multiplexer IOM wird am Schreiben nur gehindert, wenn das
LPW Bit 23 gesetzt ist (Daten sind segmentiert) oder wenn ein
direkter Service angefordert ist.
Bit 32Organisationsbit - legt eine Seite fest,
welche Prozessorinformation enthält, auf die
durch den Prozessor nur mit privilegierten
Befehlen Zugriff genommen werden kann. Der
Multiplexer IOM wird in diesen Seiten nur am
Schreiben gehindert, wenn ein direkter Service
vorliegt oder das LPW Bit 23 gesetzt ist
(Daten sind segmentiert). Er kann diese Seiten
zu jedem Zeitpunkt lesen.
= 0, keine Organisationsseite
= 1, Organisationsseite Bit 33IOM-Seitenbit vorhanden oder fehlt. Dieses Bit gibt einen Hinweis darauf, daß das Seitentabellenwort PTW eine gültige Adresse enthält.
= 0, Seite nicht im Speicher (fehlt)
= 1, Seite im Speicher (vorhanden) Bits 4-17Seitentabellenwort
= 0, keine Organisationsseite
= 1, Organisationsseite Bit 33IOM-Seitenbit vorhanden oder fehlt. Dieses Bit gibt einen Hinweis darauf, daß das Seitentabellenwort PTW eine gültige Adresse enthält.
= 0, Seite nicht im Speicher (fehlt)
= 1, Seite im Speicher (vorhanden) Bits 4-17Seitentabellenwort
Das Seitentabellenwort wird zur Unterstützung bei der Feststellung
der effektiven Adresse von Daten oder eines Datensteuerwortes
wie folgt benutzt:
Das Ergebnis dieser Operation ist dieses, daß die Bits LPW 8-17,
DCW 8-17 oder die direkte Kanaladresse 14-23 den Offset innerhalb
einer 1024-Wortseite bestimmen, wobei die Seite durch ein
Seitentabellenwort ausgewählt wird. Das Seitentabellenwort wird
hierbei aus einer Seitentabelle erhalten, die durch die Bits
LPW 0-7, DCW 0-7 oder die direkte Kanaladresse 6-13, die
Seitentabellen-Hinweisadresse und das Segmentbit ermittelt
wird.
Fig. 2-8 sind Flußdiagramme, die die Schritte der Adressierung
eines seitenunterteilten Speichers durch den Ein/Ausgabe-Multiplexer
IOM gemäß der vorliegenden Erfindung darstellen.
Fig. 2 stellt einen Listenservice für einen Steuerwortaufruf
dar, wobei das Datensteuerwort DCW zuerst auf eine Übertragung
geprüft wird und sofern eine solche nicht gegeben ist, auf
einen 256 K-Überlauf und einem Segmentbithinweis überprüft wird.
Wenn das Segmentbit gesetzt ist, so sind die über die Seitentabelle
adressierten Daten auf 256 K begrenzt. Ist das Segmentbit
nicht gesetzt, so können 512 K-Daten adressiert werden. Absolut
adressierte Daten sind auf 256 K begrenzt; die relativ
(seitenunterteilt) adressierten Daten können 512 K-Worte umfassen.
Fig. 3 stellt den LPW-Aufruf dar und umschließt Überprüfungen
auf einen Hilfsservice, einen Wiederversuch, der eine Bezugnahme
auf eine Sicherungsliste erfordert, sowie auf eine seitenunterteilte Liste.
Fig. 4 stellt den neuen DCW-Aufruf dar, unter Benutzung einer
seitenunterteilten oder realen Adresse, sowie einer Prüfung
auf eine Übertragung. Das Datensteuerwort DCW wird auf einen
Grenzfehler überprüft und falls kein Fehler vorliegt, wird
das Datensteuerwort DCW gespeichert.
Fig. 5 stellt den Listenservicezyklus für ein Übertragungs-Datensteuerwort
TDCW dar, wobei eine Übertragung von einer
Liste zu einer anderen Liste bewirkt wird.
Fig. 6 stellt die Speicherung des neuen Datensteuerwortes DCW
und die erneute Speicherung eines Listenhinweisadressenwortes
LPW dar.
Fig. 7 stellt den Datenservice dar, der einen DCW-Aufruf,
einen PTW-Aufruf und Überprüfungen, Datenzugriffe und eine
Neuspeicherung des Datensteuerwortes DCW umfaßt.
Fig. 8 stellt die Datenservice-Überprüfung für Überlauffehler
dar.
Fig. 2 - Listenservice, Segmentierung und 256 K-Überlauf.
Fig. 2 ist ein Flußdiagramm einer Steuerwort-Aufrufprozedur
und enthält das Laden eines Segmentes (Seitentabelle) oder
eines 256 K-Speicherüberlauffehlers in den Kanalzwischenspeicher.
- 41 - Ist das aus dem Briefkasten aufgerufene Wort eine TDCW? Wenn ja, verlasse die Prozedur.
- 42 - Liegt kein TDCW vor, so erwarte das Signal, um das LPW in dem C-Register zu speichern.
- 43 - Betrifft die Anforderung eine erste Liste oder einen Wiederversuch?
- 44 - Wenn ja, so stelle das Segmentbit zurück.
- 45 - Wenn nein, dann setze das Segmentbit, wenn ein DCW oder Datensegementbit gesetzt ist (Hardware-Zwischenspeicher-Auslesung verriegeln).
- 46 - Ist dies eine erste Liste?
- 47 - Wenn ja, dann prüfe auf 256 K-Überlauf. Wenn kein Überlauf, verlasse diese Prozedur.
- 48 - Liegt ein 256 K-Überlauf vor, so setze den 256 K-Überlauf-Systemfehler und verlasse die Prozedur.
- 49 - Wenn dies nicht eine erste Liste ist, so überprüfe auf ein relatives (seitenunterteiltes) oder absolutes DCW. Ist das DCW absolut, so schreite nach 47 wegen einer 256 K-Überlaufprüfung.
- 50 - Liegt ein seitenunterteiltes DCW vor, so prüfe auf 256 K-Überlauf. Wenn kein Überlauf vorliegt, so verlasse die Prozedur.
- 51 - Liegt ein 256 K-Überlauf vor, so überprüfe das Segmentbit und wenn dieses nicht gesetzt ist, so kann der 256 K-Überlauf durch den Gebrauch von zwei Seitentabellen aufgenommen werden. Wenn das Segmentbit gesetzt ist, dann kann die zweite Seitentabelle den Überlauf nicht aufnehmen und es wird in 48 ein Systemfehler gesetzt.
Fig. 3 - Aufruf des Steuerwortes und des Seitentabellenwortes
sowie Adresse für das Datensteuerwort.
- 60 - Ist dies die erste Liste?
- 61 - Wenn ja, so rufe das LPW vom Kernspeicher auf und schreite nach 69 fort.
- 62 - Wenn nein; liegt ein Wiederversuch vor?
- 63 - Wenn nein, überprüfe Bit C-20, um festzustellen, ob die DCW-Liste real oder seitenunterteilt adressiert ist.
- 64 - Liegt ein Wiederversuch vor, so wird das LPW über die Sicherungs-Listenadresse aufgerufen.
- 65 - Überprüfe die Sicherungs-Listenadresse auf Paritätsfehler.
- 66 - Liegt ein Paritätsfehler vor, so setze den Zwischenspeicher-Paritäts-Systemfehler und verlasse die Prozedur.
- 67 - Liegt ein Paritätsfehler vor, so prüfe das Bit C-19 auf das Erfordernis des Wiederzugriffs auf das Hilfs-PTW (Rückstelleinrichtung für den Wiederzugriff erforderlich). Wenn das Bit gesetzt ist, so schreite nach Punkt 63 fort.
- 68 - Wird ein Wiederzugriff gefordert, so stelle die Sperrung des Hilfs-PTW zurück.
- 69 - Ist der Hilfs-PTW-Hinweis gesetzt? Wenn nein, so schreite nach Punkt 63 fort.
- 70 - Wenn ja, so rufe das Hilfs-PTW aus dem DCW-Briefkasten im Kernspeicher ab.
- 71 - Liegt ein PTP- oder ein PTW-Fehler vor? Wenn nein, so schreite nach Punkt 63 fort.
- 72 - Wenn ein PTP- oder ein PTW-Fehler vorliegt, so setze ein Systemfehler und verlasse die Prozedur.
- 73 - Wenn das Bit C-20 anzeigt, daß die DCW-Liste nicht seitenunterteilt ist, so schreite nach Punkt A in Fig. 4 fort.
- 74 - Wenn die DCW-Liste seitenunterteilt ist, so prüfe das Bit C-23 auf segmentierte Daten.
- 75 - Wenn die Daten segmentiert sind, dann setze den auf den Steuerwortaufruf bezogenen Hinweis und schreite nach 76 fort.
- 76 - Prüfe den PTW-LPW-Hinweis auf Gültigkeit des Wortes
- 77 - Wenn das PTW-LPW gültig ist, so prüfe auf eine erste Liste oder einen Wiederversuch. Wenn nein, so gehe zu Punkt B von Fig. 4.
- 78 - Wenn der PTW-LPW-Hinweis ein ungültiges PTW-LPW oder eine erste Liste oder einen Wiederversuch anzeigt, so prüfe auf ein Hilfs-PTW. Liegt ein Hilfs-PTW vor, so schreite zu Punkt B in Fig. 4 fort.
- 79 - Liegt kein Hilfs-PTW vor, so prüfe auf einen Wiederversuch.
- 80 - Liegt ein Wiederversuch vor, so lade die PTP-Adresse mit dem Segementbit der Sicherungsliste.
- 81 - Liegt kein Wiederversuch vor, so lade die PTP-Adresse mit dem Segmentbit des aufgerufenen Wortes.
- 82 - Rufe das PTW von der Seitentabelle unter Benutzung der resultierenden Adresse auf.
- 83 - Prüfe das PTP und PTW-Fehlerbit und wenn kein Fehler vorliegt, so schreite nach Punkt B in Fig. 4 fort.
- 84 - Wenn ein PTP- oder PTW-Fehler vorliegt, dann setze den Systemfehler und verlasse die Prozedur.
Fig. 4 - Aufruf des Datensteuerwortes DCW
- 90 - Benutze die reale Adresse für das DCW.
- 91 - Benutze die Seitenadresse für das DCW.
- 92 - Rufe das DCW aus dem Kernspeicher auf.
- 93 - Prüfe auf ein IDCW; liegt es vor, so schreite zu Punkt ICW2 in Fig. 6 fort.
- 94 - Liegt kein IDCW vor, so prüfe auf ein TDCW; liegt dieses vor, so schreite zu Punkt C gemäß Fig. 5 fort.
- 95 - Liegt kein TDCW vor, so prüfe Bit C-23 auf segmentierte Daten.
- 96 - Sind die Daten nicht segmentiert, so prüfe auf seitenunterteilte Daten. Liegen keine seitenunterteilten Daten vor, so schreite zu Punkt ICW2 in Fig. 6 fort.
- 97 - Sind die Daten seitenunterteilt, so prüfe die Adresse daraufhin, ob sie innerhalb der unteren Grenze plus der Datengröße liegt.
- 98 - Wenn die Adresse die untere Grenze plus Datengröße überschreitet, dann setze den Grenzfehler.
- 99 - Wenn die Adressen innerhalb der unteren Grenze plus Datengröße liegt, so prüfe die DCW-Adresse plus Zählstand ob sie größer als die untere Grenze plus Datengröße ist. Wenn ja, so gehe zum Punkt 98 und setze den Grenzfehler.
- 100 - Liegt keine Überschreitung vor, so prüfe die untere Grenze plus Datengröße daraufhin, ob sie größer als 512 K-Worte ist (außerhalb der Kapazität einer Seitentabelle); ist sie größer, so setze den Grenzfehler im Punkt 98; ist sie nicht größer, so schreite zum Punkt ICW2 in Fig. 6 fort.
- 101 - Wenn das Bit C-23 einen segmentierten Modus (Punkt 95) anzeigt, so prüfe die DCW-Adresse plus den Zählerstand, ob er größer als die Segmentgröße ist; wenn ja, so schreite zum Punkt 98 fort; wenn nein, so schreite zum Punkt 100 fort.
- 102 - Wenn ein Grenzfehler festgestellt wird, so setze die Bits 18, 19 und 20 des DCW auf 111, so daß für den Fall, daß der Kanal dieses DCW zu benutzen versucht, ein Systemfehler "Illegale Zeichenposition" auftritt.
Fig. 5 - Übertragungs-Datensteuerwort (TDCW) - Listen-Service
- 110 - War das aufgerufene Steuerwort absolut oder relativ?
- 111 - Wenn es relativ war, so befinden sich die DCW in der Benutzerliste.
- 112 - Fand ein Überlauf der absoluten Adresse statt?
- 113 - Wenn nein, so befinden sich die DCW in der ersten 256-Seitentabelle und das Segmentbit ist zurückgestellt.
- 114 - Wenn ja, so befinden sich die DCW in der zweiten 256-Seitentabelle und das Segmentbit muß gesetzt sein.
- 115 - Die TDCW-Adresse und untere Grenze ergibt die Adresse des Listen-Hinweisadressenwortes.
- 116 - Setze die Sperrung des Hilfs-PTW, wenn das PTW aus der Seitentabelle erhältlich ist.
- 117 - Sind für den Fall, daß das aufgerufene Steuerwort sich nicht in der Benutzerliste befindet C-23 und TDCW-33 gesetzt?
- 118 - Wenn ja, lade das Bit 31 des TDCW in das Segmentbit und schreite nach 121 fort.
- 119 - Wenn nein, sind C-20 und TDCW35 gesetzt? Wenn ja, schreite nach 118 fort.
- 120 - Wenn nein, sind TDCW33 und TDCW35 gesetzt? Wenn ja, so schreite nach 118 fort.
- 121 - Wenn nein, lade die TDCW-Adresse in die LPW-Adresse.
- 122 - Ein Untermodus des IOM wird entsprechend durch Laden der Bits 33, 34, 35 des TDCW in C-20, C-18 und C-23 errichtet.
- 123 - Prüfe C-20 oder C-23 auf absolute Daten. Liegen solche vor, so schreite nach 126 fort.
- 124 - Wenn nein, prüfe TDCW33, 35 auf ein seitenunterteiltes DCW oder segmentierte Daten.
- 125 - Wenn nein, so lade TDCW32 in den Hinweis auf seitenunterteilte Daten und schreite nach 126 fort. Wenn ja, so schreite direkt nach 126.
- 126 - Prüfe C-20 auf eine seitenunterteilte DCW-Liste.
- 127 - Falls erfüllt, prüfe den Hinweis auf ein Hilfs-PTW.
- 128 - Liegt der Hinweis vor, so benutze die Seitenadresse für das DCW.
- 129 - Rufe das DCW aus dem Kernspeicher auf.
- 130 - Wenn die DCW-Liste nicht seitenunterteilt ist, so benutze die reale Adresse für das DCW und rufe es unter 129 aus dem Kernspeicher auf.
- 131 - Wenn das aufgerufene DCW ein IDCW ist, dann gehe nach ICW2 in Fig. 6.
- 132 - Ist es kein IDCW, so prüfe auf ein TDCW, liegt dies auch nicht vor, so schreite nach BNDY1 in Fig. 4 fort zwecks Prüfung auf einen Grenzfehler.
- 133 - Liegt ein TDCW vor, so setze einen Benutzerfehler für zwei TDCW und schreite nach 134 fort.
- 134 - Setze die Bits 18, 19 und 20 des DCW auf 111 und schreite nach ICW2 in Fig. 6.
- 135 - Wenn der Hinweis auf ein Hilfs-PTW nicht gesetzt ist, so prüfe die untere Grenze plus Datengröße auf eine Überschreitung von 512 K-Worten.
- 136 - Liegt eine Überschreitung vor, so setze den Grenzfehler.
- 137 - Setze die Bits 18, 19, 20 des DCW auf 111 und gehe nach ICW2 in Fig. 6.
- 138 - Prüfe, ob die Daten segmentiert sind.
- 139 - Wenn nicht, so prüfe die Adresse des TDCW, ob sie außerhalb der unteren Grenze plus Datengröße liegt.
- 140 - Ist dies nicht der Fall, so rufe das PTW aus der Seitentabelle unter Benutzung der neuen LPW-Adresse, die aus 118 und 121 erhältlich ist, auf.
- 141 - Liegt ein Grenzfehler vor, so setze den Grenzfehler und schreite nach 134 fort.
- 142 - Sind die Daten segmentiert, so prüfe die TDCW-Adresse, ob sie größer als eine Segmentgröße ist. Wenn ja, so schreite zum Grenzfehler im Punkt 141.
- 140 - Wenn nein, so rufe des PTW aus der Seitentabelle unter Benutzung der neuen LPW-Adresse, die aus 115 erhältlich ist auf.
- 143 - Prüfe den Hinweis auf ein PTP- oder PTW-Fehler. Liegt ein solcher Fehler vor, so verlasse die Prozedur. Liegt kein Fehler vor, so schreite nach 128 weiter und benutze die Seitenadresse für das DCW.
Fig. 6 - Indirekter Steuerwort-Listenservice
- 150 - Beginnend mit dem ICW2-Eingangsstellenpunkt werden die Steuerleitungen für die relative CWP und die Freigabe des PTW-LPW zurückgestellt.
- 151 - Prüfe Bit C-23 auf segmentierte Daten.
- 152 - Falls erfüllt, so wird DT 00-17 mit dem Ergebnis des DCW plus untere Grenze geladen. Der Überlaufzustand dieser Addition wird in einer Verriegelung ADR <256 K gespeichert, um anzuzeigen, ob die erste 256 K- oder die zweite 256 K-Worthälfte der Seitentabelle vorliegt.
- 153 - Sind die Daten nicht segmentiert, so wird die DCW-Adresse in DT 00-17 abgelegt.
- 154 - DCW 18-35 wird in DT 18-35 geladen.
- 155 - DT 00-35 wird im DCW-Zwischenspeicher gespeichert und der Hinweis PTW-DCW wird zurückgestellt.
- 156 - Ist dies eine erste Liste?
- 157 - Wenn nein, liegt das DCW oder das Datensegmentbit vor? Wenn nein, so schreite nach 159 weiter.
- 158 - Wenn ja, so prüfe den Überlauf der absoluten Adresse. Liegt ein Überlauf vor, so schreite nach 160, liegt keiner vor, so schreite nach 159.
- 159 - Setze das DCW oder Datensegmentbit auf den gleichen logischen Zustand, wie die Verriegelung ADR < 256 K.
- 160 - Setze die Freigabe für PTW-LPW.
- 161 - Ist dies eine erste Liste oder ein IDCW? Wenn nein, so gehe nach 163.
- 162 - Wenn ja, so wird die Adresse der Sicherungsliste aus dem LPW geladen.
- 163 - Der LPW-Zwischenspeicher ist geladen und die Hinweise auf das relative DCW und das seitenunterteilte DCW sind ebenfalls geladen.
- 164 - Ist dies ein Wiederversuch?
- 165 - Wenn ja, so muß das DCW oder das Datensegment auf den gleichen logischen Zustand wie das Sicherungslistensegment gesetzt werden und nach 169 fortgeschritten werden.
- 166 - Liegt kein Wiederversuch vor, so prüfe auf ein Steuerregister-Überlauf.
- 167 - Liegt ein Überlauf vor, so wird eine 1 in dem DCW oder dem Datensegmentbit abgelegt, um anzuzeigen, daß die DCW-Liste über die 256 K-Grenze übergelaufen ist.
- 168 - Liegt kein Überlauf vor, so wird das alte Segmentbit in das DCW oder das Datensegmentbit übertragen.
- 169 - Liegt ein 1 K-Überlauf der Seite vor?
- 170 - Wenn ja, so wird der Hinweis auf das PTW-LPW zurückgestellt und nach 171 fortgeschritten.
- 171 - Der Listenservice wird zurückgestellt und die Prozedur wird verlassen.
Fig. 7 - Datenservice
- 180 - Ist der PTW-DCW-Hinweis gesetzt und wird eine gültige Seite angezeigt?
- 181 - Wenn ja, liegt ein Paritätsfehler vor?
- 182 - Wenn ja, setze den Paritätsfehler im Zwischenspeicher und verlasse die Prozedur.
- 183 - Wenn nein, so greife unter Benutzung der Seitenadresse auf die Daten zu.
- 184 - Ist das DCW segmentiert für den Fall, daß sich an der Stelle 180 ein ungültiges PTW befindet?
- 185 - Wenn ja, rufe das PTW aus der Seitentabelle auf.
- 186 - Liegt ein PTP-Fehler vor?
- 187 - Wenn ja, setze den Fehlerhinweis und verlasse die Prozedur.
- 188 - Wenn nein, so prüfe den Hinweis auf die Schreiberlaubnis.
- 189 - Liegt keine Schreiberlaubnis vor, so prüfe, ob es sich um eine Datenspeicherung handelt.
- 190 - Wenn ja, so setze einen PTW-Hinweis-Fehler und verlasse die Prozedur.
- 191 - Liegt keine Datenspeicherung vor, so prüfe den Hinweis auf das Vorhandensein einer IOM-Seite. Liegt dieser Hinweis nicht vor, so schreite nach 190 fort und setze den PTW-Fehler-Hinweis. Liegt er vor, so greife unter 183 auf die Daten zu.
- 192 - Wenn der Schreiberlaubnis-Hinweis vorliegt, so prüfe den Organisations-Hinweis auf eine Organisations-Seite. Liegt er vor, so schreite nach 189 fort. Liegt er nicht vor, so schreite nach 191.
- 193 - Wenn kein Hinweis auf ein relatives DCW vorliegt und die Daten nicht segmentiert sind, so prüfe, ob ein Hinweis auf ein seitenunterteiltes DCW vorliegt.
- 194 - Wenn ja, so rufe das PTW aus der Seitentabelle auf.
- 195 - Wenn nein, so prüfe auf einen Hinweis auf seitenunterteilte Daten. Wenn ja, so rufe das PTW unter 194 aus der Seitentabelle auf.
- 196 - Wenn nein, so wird auf die Daten unter Benutzung der realen Adresse Zugriff genommen.
- 197 - Auf die Daten wird Zugriff genommen und das Steuerregister wird auf einen Überlauf überprüft.
- 198 - Liegt ein Überlauf vor, so wird eine 1 in das DCW oder Datensegmentbit geladen.
- 199 - Liegt kein Registerüberlauf vor, so wird der 1 K-Überlauf geprüft. Liegt dieser ebenfalls nicht vor, so wird die Prozedur verlassen.
- 200 - Liegt ein 1 K-Überlauf vor, so wird der PTW-DCW-Hinweis zurückgestellt und die Prozedur verlassen.
Fig. 8 - Datenservice, Segmentierung und 256 K-Überlauf
- 210 - Erwarte das C-Register-Strobosignal.
- 211 - Das Zwischenspeicher-DCW oder Datensegment wird in den Segmentbit-Hinweis eingelesen.
- 212 - Liegt ein 256 K-Speicherüberlauf vor? Wenn nein, so verlasse die Prozedur.
- 213 - Wenn ja, so prüfe, ob die Daten segmentiert sind.
- 214 - Ist dies nicht der Fall, so setze den 256 K-Überlauf-Fehler.
- 215 - Sind die Daten segmentiert, so prüfe, ob das Segmentbit gesetzt ist. Ist dies der Fall, so befinden sich die Daten in der zweiten Hälfte der Seitentabelle und es liegt somit ein Datenüberlauf vor. Der Überlauffehler wird gesetzt und die Prozedur verlassen. Wenn das Segmentbit nicht gesetzt ist, so liegt kein Überlauffehler vor und die Prozedur wird verlassen.
Liste der verwendeten Abkürzungen
BULBack-Up List
Sicherungsliste DCWData Control Word
Datensteuerwort GCOSGeneral Comprehensive Operating System
Allgemeines Umfassendes Betriebssystem IDCWInstruction Data Control Word
Befehls-Datensteuerwort IOMInput Output Multiplexer
Ein/Ausgabe-Multiplexer LPWList Pointer Word
Listen-Hinweisadressenwort LPWXList Pointer Word Extension
Listen Hinweisadressenwort-Erweiterung PCWPeripheral Control Word
Peripheres Steuerwort PTPPage Table Pointer
Seitentabellen-Hinweisadresse PTWPage Table Word
Seitentabellenwort SCUSystem Controller Unit
Systemsteuereinheit SCWStatus Control Word
Statussteuerwort TDCWTransaction Data Control Word
Übertragungs-Datensteuerwort
Sicherungsliste DCWData Control Word
Datensteuerwort GCOSGeneral Comprehensive Operating System
Allgemeines Umfassendes Betriebssystem IDCWInstruction Data Control Word
Befehls-Datensteuerwort IOMInput Output Multiplexer
Ein/Ausgabe-Multiplexer LPWList Pointer Word
Listen-Hinweisadressenwort LPWXList Pointer Word Extension
Listen Hinweisadressenwort-Erweiterung PCWPeripheral Control Word
Peripheres Steuerwort PTPPage Table Pointer
Seitentabellen-Hinweisadresse PTWPage Table Word
Seitentabellenwort SCUSystem Controller Unit
Systemsteuereinheit SCWStatus Control Word
Statussteuerwort TDCWTransaction Data Control Word
Übertragungs-Datensteuerwort
Claims (10)
1. Verfahren zum Adressieren von in Seiten unterteilten
Daten in einem Hauptspeicher einer Datenverarbeitungseinheit,
welche weiter umfaßt: eine Zentraleinheit,
eine Ein/Ausgabe-Einheit, und mehrere über die
Ein/Ausgabe-Einheit mit dem Hauptspeicher einen Dialog
ausführende periphere Geräte, wobei der Hauptspeicher
neben den in Seiten unterteilten Daten ferner
Seitentabellenworte in Seitentabellen speichert, die
mit Hinweisadressen jeweils auf die Basis einer
entsprechenden Seite verweisen, gekennzeichnet
durch die Speicherung eines
peripheren Steuerwortes (PCW) für jedes periphere Gerät
in einem Zwischenspeicher innerhalb der
Ein/Ausgabe-Einheit, wobei das periphere Steuerwort
(PCW) eine Hinweisadresse auf die Basis einer
Seitentabelle aufweist;
Aufsuchen des peripheren Steuerwortes (PCW) für ein
bestimmtes peripheres Gerät, wenn dieses Gerät Zugriff
zu dem Hauptspeicher anfordert;
Benutzung der Hinweisadresse des peripheren
Steuerwortes (PCW) zum Aufsuchen eines
Seitentabellenwortes (PTW) in der diesem Gerät
zugeordneten Seitentabelle; und
Verwendung der Hinweisadresse des Seitentabellenwortes
(PTW) zum Zugriff zu einem Speicherplatz in der dem
Seitentabellenwort (PTW) entsprechenden Seite.
2. Verfahren nach Anspruch 1, gekennzeichnet
durch die Benutzung von
Offset-Worten zusammen mit der Seitentabellen-Hinweisadresse
(PTP) zur Ermittlung der Seitentabellenworte
(PTW) für die Daten in der Seitentabelle.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet,
daß die Offset-Worte
Datensteuerworte (DCW) aufweisen, die jeweils eine
Gruppe von Daten bestimmen und daß sie ferner
Listen-Hinweisadressenworte (LPW) aufweisen, die eine
Gruppe von Datensteuerworten bestimmen.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet,
daß zur Adressierung des
Speichers ein Seitentabellenwort (PTW) mit einem
Offset-Wort kombiniert wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß die Offset-Wörter durch
ein peripheres Gerät vorgegeben sind.
6. Verfahren nach Anspruch 4, dadurch gekennzeichnet,
daß ein erster Teil eines
jeden Datensteuerwortes (DCW) und ein erster Teil eines
jeden Listen-Hinweisadressenwortes (LPW) mit einer
Seitentabellen-Hinweisadresse (PTP) zur Auffindung
eines Seitentabellenwortes (PTW) kombiniert wird und
daß ein zweiter Teil eines jeden Listen-Hinweisadressenwortes
(LPW) mit einem Seitentabellenwort (PTW) zur
Auffindung der absoluten Adresse im Hauptspeicher
kombiniert wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet,
daß die Seitentabelle einen
ersten Teil mit einer Speicherkapazität von 256
K-Seitentabellenworten und einen gleich großen weiteren
Teil aufweist und daß das Datensteuerwort (DCW) ein
Segmentbit aufweist, daß den Teil der Seitentabelle
festlegt, in dem ein gesuchtes Seitentabellenwort (PTW)
auffindbar ist.
8. Verfahren nach Anpruch 7, dadurch gekennzeichnet,
daß jede Seite eine
Kapazität von 1024 Worten aufweist.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet,
daß jedem Datensteuerwort
(DCW) ein Wortzähler für gespeicherte Worte zugeordnet
ist.
10. Verfahren nach Anspruch 9, gekennzeichnet
durch eine Prüfung des Datensteuerworte-Zählstandes
und des Segmentbits auf einen Seitentabellenüberlauf
und einen Seitenüberlauf.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US59154975A | 1975-06-30 | 1975-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2629311A1 DE2629311A1 (de) | 1977-01-20 |
DE2629311C2 true DE2629311C2 (de) | 1987-11-19 |
Family
ID=24366919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762629311 Granted DE2629311A1 (de) | 1975-06-30 | 1976-06-30 | Verfahren zur adressierung von in seiten unterteilten daten zu einem speicher eines dv-systems |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5922977B2 (de) |
BE (1) | BE843646A (de) |
DE (1) | DE2629311A1 (de) |
GB (1) | GB1555234A (de) |
HK (1) | HK37680A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4155119A (en) * | 1977-09-21 | 1979-05-15 | Sperry Rand Corporation | Method for providing virtual addressing for externally specified addressed input/output operations |
US4277826A (en) | 1978-10-23 | 1981-07-07 | Collins Robert W | Synchronizing mechanism for page replacement control |
US4476524A (en) * | 1981-07-02 | 1984-10-09 | International Business Machines Corporation | Page storage control methods and means |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1447297A (en) * | 1972-12-06 | 1976-08-25 | Amdahl Corp | Data processing system |
-
1976
- 1976-06-29 JP JP51076971A patent/JPS5922977B2/ja not_active Expired
- 1976-06-30 BE BE168521A patent/BE843646A/xx not_active IP Right Cessation
- 1976-06-30 DE DE19762629311 patent/DE2629311A1/de active Granted
- 1976-06-30 GB GB2721076A patent/GB1555234A/en not_active Expired
-
1980
- 1980-07-10 HK HK37680A patent/HK37680A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
GB1555234A (en) | 1979-11-07 |
HK37680A (en) | 1980-07-18 |
BE843646A (fr) | 1976-10-18 |
JPS5220729A (en) | 1977-02-16 |
JPS5922977B2 (ja) | 1984-05-30 |
DE2629311A1 (de) | 1977-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3786967T2 (de) | Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem. | |
DE3607889C2 (de) | ||
DE3151745C2 (de) | ||
DE2226382C3 (de) | Datenverarbeitungsanlage mit mehreren Prozessoren und diesen zugeordneten Pufferspeichern | |
DE69022716T2 (de) | Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür. | |
DE68927172T2 (de) | Multiprozessorsystem mit cache-speichern | |
DE69019925T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Vervielfältigung von globalen Daten. | |
DE69518827T2 (de) | Fehlerinformationsbenachrichtigungssystem | |
DE2241257C3 (de) | Datenverarbeitende Anlage | |
DE2912738A1 (de) | System mit direkter uebertragung zwischen subsystemen | |
DE69230211T2 (de) | Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem | |
DE3127349A1 (de) | Signalverarbeitungssystem mit verteilten elementen | |
DE2612139A1 (de) | Ein/ausgang-steuerungssystem | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE69029815T2 (de) | Zentralisierte referenz- und änderungstabelle für eine virtuelle speicheranordnung | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE3750045T2 (de) | Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten. | |
EP0739509B1 (de) | Anordnung mit master- und slave-einheiten | |
DE19733527A1 (de) | Kommunikationssystem mit einer DMA-Einheit | |
DE2629311C2 (de) | ||
DE2749884C2 (de) | ||
DE3025167C2 (de) | Datenverarbeitungseinrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
D2 | Grant after examination | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US |
|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |