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
Application number
DE19762629311
Other languages
English (en)
Other versions
DE2629311A1 (de
Inventor
John F. Scottsdale Ariz. Us Couleur
Robert E. Phoenix Ariz. Us Scriver
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Publication of DE2629311A1 publication Critical patent/DE2629311A1/de
Application granted granted Critical
Publication of DE2629311C2 publication Critical patent/DE2629311C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program 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.
IOM-Register und Datenfluß
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.
Grundfunktionen IOM-Operation
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:
Kernspeicher
Zwischenspeicher
Indirekter Datenservice
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.
Direkter Datenservice
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.
Datensteuerwort DCW
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
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.
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.
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.
Format des PCW-Wortes 2
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.
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.
Hilfs-PTW-LPW-Adressierung
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.
Normale PTW-LPW-Adressierung Beginn der Seitentabelle
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.
PTW-DCW-Adressierung - Indirekter Kanal
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.
PTW-DCW-Adressierung - Direkter Kanal
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:
PTW Format - NSA
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
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
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

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.
DE19762629311 1975-06-30 1976-06-30 Verfahren zur adressierung von in seiten unterteilten daten zu einem speicher eines dv-systems Granted DE2629311A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1447297A (en) * 1972-12-06 1976-08-25 Amdahl Corp Data processing system

Also Published As

Publication number Publication date
DE2629311A1 (de) 1977-01-20
BE843646A (fr) 1976-10-18
GB1555234A (en) 1979-11-07
JPS5922977B2 (ja) 1984-05-30
HK37680A (en) 1980-07-18
JPS5220729A (en) 1977-02-16

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.
DE2241257C3 (de) Datenverarbeitende Anlage
DE69021899T2 (de) DMA-Steuerung.
DE2912738A1 (de) System mit direkter uebertragung zwischen subsystemen
DE68903693T2 (de) Einrichtung zur datenverarbeitung.
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
DE3046912C2 (de) Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE3750045T2 (de) Unterbrechungssteuerungsvorrichtung für eine virtuelle Maschine mit einer Vielzahl von Verarbeitungseinheiten.
DE3013064C2 (de) Schaltungsanordnung zur Übertragung von Bitgruppen zwischen einer von mehreren peripheren Einheiten und einem Pufferspeicher
DE2611975A1 (de) Dv-system mit einer einrichtung zur zuordnung von prozessen zu einem prozessor auf einer prioritaetsbasis
EP0739509B1 (de) Anordnung mit master- und slave-einheiten
DE19733527A1 (de) Kommunikationssystem mit einer DMA-Einheit
DE2629311C2 (de)

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