DE2717700A1 - MEMORY ACCESS ARRANGEMENT - Google Patents
MEMORY ACCESS ARRANGEMENTInfo
- Publication number
- DE2717700A1 DE2717700A1 DE19772717700 DE2717700A DE2717700A1 DE 2717700 A1 DE2717700 A1 DE 2717700A1 DE 19772717700 DE19772717700 DE 19772717700 DE 2717700 A DE2717700 A DE 2717700A DE 2717700 A1 DE2717700 A1 DE 2717700A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- key
- register
- access
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Executing Machine-Instructions (AREA)
Description
Böblingen, den 15. April 1977 jo- szBoeblingen, April 15, 1977 jo- sz
Anmelderin:Applicant:
International Business Machines Corporation, Armonk, NY. 10504International Business Machines Corporation, Armonk, NY. 10504
Amtliches Aktenzeichen:Official file number:
Aktenzeichen der Anmelderin:Applicant's file number:
Neuanmeldung BC 976 012New registration BC 976 012
Vertreter:Representative:
Patentassessor Dipl. -Ing. O. Jost 7030 BöblingenPatent assessor Dipl. -Ing. O. Jost 7030 Boeblingen
Bezeichnung:Description:
Sp eich er ZugriffsanordnungSave access arrangement
709345/0874709345/0874
SpeicherzuqiiiiSoi ι Ordnung,SpeicherzuqiiiiSoi ι order,
Die vorliegende Erfindung betrifft eine Speicherzugriffsanordnung in einem Datenveraibei tuiicjssystem, bei der Schlüssel zur Steuerung des Speicherzugriffs verwendet v/eidi.-n.The present invention relates to an all-in-one memory access arrangement Datenveraibei tuiicjssystem, with the key to control the memory access uses v / eidi.-n.
Im USA-Paieni 3.924.823 ist ein Multipiozessorsysiem mit Steuerschaltung und Puffeteim ichtungen beschrieben, welche die Adressierbarkeit eines Operanden \n-\ (k-r Durchführung eines Befehls in einem der Prozessaren gewährleisten, ο bv/ofil durch einen anderen Prozessor ein Adressübersetz.ungspuff'.-r - Einiruc), der zur Adressierung eben dieses Operanden nötig ist, in einer asynclnonen Operation ungültig gemacht wird. Durch die besonderen Puffereinrichtungen wird die Adressierbarkeit der Seile , welche den betreffenden Operanden enihult, solange erhalten, bis der laufende Befehl fertig ausgeführt ist. Bei diesem Syslern werden aber keine Adressierschlüssel verwendet. Die Versicherung V'. !Schiebung eines akuten Programm-Statuswortes(PSW]in ein oesonderes Register für ein altes PSW, sowie die Eingabe eines neuen PSW in das Register für das akute Programmstatuswort bei Auftreten eines Maschinenfehlers oder einer Programmunterbrechung, um auf diese Weise eine vom unterbrochenen Programm benutzte Adresse zu retten, ist seit langem bekannt, so. z.B. durch die Anlagen vom Typ IBM System/360 und IBM System/370. Diese bekannten Verfahren oder Einrichtungen zur Erhaltung der Adressierbarkeit sind aber nicht optimal geeignet für alle Anlagenarten. Der Erfindung liegt die Aufgabe zugrunde, hier noch eine Verbesserung zurUSA-Paieni 3.924.823 describes a multipio-processor system with control circuit and buffer devices, which ensure the addressability of an operand \ n- \ (kr execution of an instruction in one of the processors, ο bv / ofil an address translation buffer by another processor .-r - Einiruc), which is necessary for addressing this operand, is made invalid in an asynchronous operation. Due to the special buffer devices, the addressability of the cables which enihult the relevant operand is maintained until the current command has been completed. Addressing keys are not used with this sysler. Insurance V '. ! Shifting an acute program status word (PSW) into a special register for an old PSW, as well as entering a new PSW in the register for the acute program status word in the event of a machine error or a program interruption in order to obtain an address used by the interrupted program It has been known for a long time, for example, from the systems of the IBM System / 360 and IBM System / 370. These known methods or devices for maintaining addressability, however, are not ideally suited for all types of systems , here's an improvement on the
BC9-76-012 -6-BC9-76-012 -6-
7-098*5/08747-098 * 5/0874
j 27t7700j 27t7700
Erhaltung der Adres sierbarkeit bei auftretenden Fehlern und Programmunterbrechungen anzugeben, welche insbesondere für Speicherzugriffssysteme geeignet sind, bei denen Schlüssel zur Adressierung verwendet werden.Maintaining addressability in the event of errors and program interruptions specify which are particularly suitable for memory access systems in which keys are used for addressing will.
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch angegebenen Merkmale.This object of the invention is achieved by what is specified in the main claim Characteristics.
Weitere vorteilhafte Ausgestaltungen, Weiterbildungen und Merkmale des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.Further advantageous refinements, developments and features of the The subject of the invention can be found in the subclaims.
Bei Verwendung der Erfindung wird im wesentlichen der Vorteil erzielt, dass bei auftretenden Fehlern und Programmunterbrechungen die Adressierbarkeit bei Speicherzugriffssystemen, die mit Adressenschlüsseln arbeiten, aufrechterhalten bleibt.When using the invention, the advantage is essentially achieved that, in the event of errors and program interruptions, the addressability of memory access systems that use address keys work, sustained.
70984-^/087470984 - ^ / 0874
Ein Ausiiihiungsbei spiel der Erf indiing wird im folgenden anhand von Zeichnungen beschrieben. Es zeigen:An example of the invention is illustrated below with the aid of drawings described. Show it:
Fig. IA-1 allgemein das Prinzip der Adressschi ür.selaiiswahl auf {',rund von Spei chorzugri ( ft;-St eucrsignal en, welche die Art des Zugriffs identifizieren;Fig. IA-1 in general the principle of address lock selection to {', round from Storage access rights (ft; -St eucrsignal s), which identify the type of access;
Fig. IA-2 allgemein das Prinzip der Adressübcrsetzung für den Speieherziigriff, wobei die logische Eingangsadresse aus einem speziell generierten Ac'ressr.clilüssel und der im Programm erscheinenden Adresse, besteht}Fig. IA-2 generally shows the principle of address translation for memory access, where the logical input address from a specially generated Ac'ressr.clilüssel and the address appearing in the program, consists}
Fig. IB eine Ucbersicbt der verschiedenen möglichen Speicherzugriffsarten;FIG. 1B shows an overview of the various possible types of memory access; FIG.
Fig. IC in lilockform eine Uebersichtsdarstellunß einer Datenverarbeitungsanlage mit erwciterbarom Hauptspeicher, die als Ausführungsbcispicl besehrieben wird; IC in block form shows an overview of a data processing system with expandable main memory, which is described as an execution example;
Fiß. ID eine spezielle Ausführunßsform der in Fig. IA gezeigten Anordnungen;Fiß. ID a specific embodiment of the arrangements shown in Fig. 1A;
Fig. 2Λ eine Uobcrsichtsdarstellung der bei den Prozessoroperationen und E/A-Operationen vorkommenden Speicherzugriffe, sowie der verschiedenen Adressbereiche;Fig. 2Λ an overview representation of the processor operations and I / O operations occurring memory accesses, as well as the various Address ranges;
Fig. 215 eine llebersicht der Speicherziigriffsvorgänge bei E/A-Operationen;Fig. 215 is an explanatory diagram of memory access operations in I / O operations;
Fiß. 3Λ Einzelheiten eines E/A-Untcrkanals, der bei jedem Unterkanalbefehl einen Adressschliissel erhält und diesen für jeden Datenzugriff zur Ausführum·.Fiß. 3Λ Details of an I / O subchannel that is sent with each subchannel command receives an address key and this for each data access for execution.
70 984 5/087470 984 5/0874
des Moli-iil.-; abgibt;des Moli-iil.-; gives up;
?-7 -01? -.Ι-? -7 -01? -.Ι-
Fig. 3Β die relevanten Teile einer, E/A-lünials, der eine Mehrzahl von Unti-rkanalen mit einer Speiche rpri ori lätsauswahl schal tuug verbindet;Fig. 3Β the relevant parts of an, I / O lünials, the a plurality of Connecting lower channels with a memory rpri ori lätswahl schal tuug;
Fig. 3C in Blockform eine i>pei cherpr iori tätäaur.wahlr.chal tunp mit einer Kana 1 a ii r. wahl scha Ii imp,, durch welche E/A-Kanäle und Prozessor über den Haiipt;;peicherbus mit Speicher und Uoborsel zer verbunden sind, und die je einen ausgevrähl ton AdressschliJssel sowie eine Adresse für einen Speicherzugriff abgeben;Fig. 3C in block form an i> pei cherpr iori täaur.wahlr.chal tunp with a Kana 1 a ii r. choice scha Ii imp ,, through which I / O channels and processor via the Haiipt ;; memory bus with memory and Uoborsel zer are connected, and the ever a selected address key and an address for memory access hand over;
Fig. 3D Einzelheiten einer Akt :i .vadressschlüsso l-Ausv/ahlsclia) t nng, bei der aucli ein Opc-randcnbereichs.Tb(;lei ch erreicht werden kann;Fig. 3D details of an act: i .vadressschlüsso l-Ausv / ahlsclia) t nng, in which also an Opc-randcnbereichs.Tb (; lei ch can be reached;
Fig. 4 Einzelheiten eines Prozessors, welche für die Speicherzugriffs— steuerung mit Adressschlüsseln relevant sind;4 shows details of a processor which is used for memory access control with address keys are relevant;
Fig. 5 das Aufteilungsformat des Adressschlüsselregisters in einem bevorzugten Ausführuiigsbeispiel;Fig. 5 shows the partition format of the address key register in a preferred one Detailed example;
Fig. 6 das Inhaltsformat der im Ausführuiigsbcispie 1 vorgesehenen Segmentregister; 6 shows the content format of the segment registers provided in embodiment example 1;
Fig. 7 Einzelheiten der Eingabe- und Ausgabcsteuerung einer einzelnen Bitposition im Adressschlüsselregister;Figure 7 shows details of the input and output control of a single bit position in the address key register;
Fig. 8A schematisch die Vorgänge bei Ausführung eines Befehls zum Laden bzw. Abspeichern eines Segmcntregistcrs;8A schematically shows the processes when a command for loading is executed or storage of a segment register;
709 8 4 5/0874709 8 4 5/0874
BC9-7<f-012 -9-BC9-7 <f-012 -9-
Fin· Hb schomatisch die Vorgänge bei. Ausführung eines Nciehls zum Laden bzw. Abspeichern de·κ Adres<;scli]ü;;se] registers aus einem bzw. in einen Speicher;Fin · Hb schomatically at the events. Execution of a Nciehls for loading or storing the · κ Adres <; scli] ü ;; se] register from or into a memory;
Fig. CC schematisch die Vorgänge bei Ausführung eines Befehls zum Laden bzw. Abr.pi-.iche.rn des Adresssehlüssclregistors aus einem bzw. in ein Allgemeinrugister;CC schematically shows the processes when a command for loading is executed or Abr.pi-.iche.rn of the address key register from or into a General registry;
Fig. 9Λ und 915 ein Hlockschal tbild einer bevorzugten Ausführnngsforin des Uebersel/er:; geinnss Fig. IC, der eine 19 Hit lange logische Nasehinenndresse in eine ?A Bit lange physische Adresse für den Speicherzugriff umwandelt;9Λ and 915 a block diagram of a preferred embodiment of the Uebersel / er :; Geinnss Fig. IC, which converts a 19 hit long logical nose address into an ? A bit long physical address for memory access;
Fig. 9C, 9D-1, 9D-2, 9K, 9F-1 und 9F-2 Einzelheiten des in Fig. 9Λ/9Β in Blockform gezeigten Uebcrsefzers;9C, 9D-1, 9D-2, 9K, 9F-1 and 9F-2 details of the in Fig. 9Λ / 9Β in Block form shown Uebcrsefzers;
Fig. 90 die Arbeitsweise der in Fig. 9C gezeigten Vorgriffsschaltungen zur jeweiligen Auswahl des Innenspeichers (Basisspeicher), Aussenspeichers (Zusatzspeicher) oder Asynchronspeichers, sowie die Interpretation der 24 Bit Jangen physischen Adresse durch die gewählte Speichereinheit beim Zugriff:Fig. 90 illustrates the operation of the look-ahead circuits shown in Fig. 9C for respective selection of the internal storage (basic storage), external storage (Additional storage) or asynchronous storage, as well as the interpretation of the 24 Bit Jangen physical address by the selected storage unit when accessing:
Fig. 10 eine Schal tungsanoi'dnung im Prozessor zur Auswahl zwischen den Betriebsarten "Speicherschutz ohne Uebersetzung" und "Speicherschutz mit lieber sctzung";10 shows a circuit arrangement in the processor for selecting between the operating modes "memory protection without translation" and "memory protection with preferential translation";
Fig. 11 Speicherschutzsteuerschaltungcn zur Verwendung bei übersetzungsfreio. Betriebsart; Fig. 11 Memory protection control circuits for use in translation-free. Operating mode;
709 8 4 5/0874709 8 4 5/0874
Fig. 12 das Format eines Spei (Ihm - Hpeioher-Hefchl s;12 shows the format of a Spe (Him - Hpeioher-Hefchl s;
Fig. 13Λ rc·] cvnntc Teile des )Όπη;ιΙ;; eines Freißabc-/Spc:rrbef ulils zur Festlegung dor Ho tr icbsart en mit. r.pezi öl ] er Adressbereich.saur.wahl (z.B. (iber.'ic t zuiij',;; ire i c Adressierung mit Speiehersehut v., Speicherschutz mit WeberSetzung, Op e.randenbcreichs abgleich) ;Fig. 13Λ rc ·] cvnntc parts of the) Όπη; ιΙ ;; a Freißabc- / Spc: rrbef ulils to determine the Ho tr icbsart s with. r.special oil] er address range.saur.selection (e.g. (iber.'ic t zuiij ', ;; ire ic addressing with Speiehersehut v., memory protection with Weber setting, Op e.randenbcreichs comparison);
Fiß. 1315 aufeinanderfolgende. Zur.tlindc eines Adre.ssschlii.süt'lroßisters, Venn bei einer unterbrecliunß Operandcnbcreiclisabp.l.cich erfolgt;Fiß. 1315 consecutive. To the.tlindc of an address.ssschlii.süt'l grand general, If, in the event of an interruption, Operandcnreiclisabp.l.cich takes place;
Fiß. 14 eine Schal, t.imgsanordnung für eine alternative Spei ehe rscliutzbetriebsart mit Uebersetzunn» welche eine Alternative ?.u der Speicherscliutzbelriebsart mit Adresssclilüsselübersetzunj; darstellt;Fiß. 14 a switching arrangement for an alternative storage mode before rscliutzbetriebsart with translation, what an alternative? .u the storage mode with address key translation; represents;
Γίβ. 15 schematisch ein alternatives Verfahren zur Adre.ssschlüssclübersetzung, das in einem Prozessor als Alternative zur Uebersetzcrnnordnuuf; mit mehreren Registerstapeln dienen kann;Γίβ. 15 schematically shows an alternative method for address key translation, that in a processor as an alternative to the translation process; with can serve multiple stacks of registers;
Fiß. 16 Zugriff zu parallelen Grundspeichermoduln mittels mehrerer aktiver Adressschlüssel, in einem Multiprozessorsystem;Fiß. 16 Access to parallel basic memory modules using several active ones Address key, in a multiprocessor system;
Fig. 17 Steuerschaltungseinzelheiton aus dem Prozessor, zur Durchführung des in Fig. 8A gezeigten Befehls zum Laden/Abspeichern eines Segmentregisters ; Fig. 17 shows control circuit details from the processor for performing the load / save segment register instruction shown in Fig. 8A;
Fig. 18 schematisch die Vorgänge zum Laden und zum Abspeichern bei Klassenunterbrechungen. 18 schematically shows the processes for loading and storing in the event of class interruptions.
709845/0874709845/0874
BC 9-76 012 -11-BC 9-76 012 -11-
1. Bcsrhrci bun ^ eines Ausführungsbeispiels1. Bcsrhrci bun ^ an embodiment
Pig. IA und Fig. IB zeigen die v/esenlHclien Merkmale eines Ausl-ülirunp.sbt:i spiels der F.rf iiuliinf·,. Fiß. 1Λ zeigt eine Λ dress schlüssel- Auswahlschaltung ?.0, dit: je nach Art der Speicherzugriffsanforderung (welche durch Signale auf den J_.eitungcn 21, 22, 23, 2-1 oder 25 angezeigt werden) einen der Schltissclregisterabschnitlc 31, 32, 33, 34 oder 3 5 auswählt, welche folgende Schlüssel enthalten: CS-Schhissel, IS-Schlüssel, OPl-Schhissel, OP2-Schltissel und OP3-Schlüssel. Derjenige dieser Schlüssel, welcher der vorliegenden Speicher Zugriffsanforderung entspricht, wird durch die AAS-Auswahlschaltung 20 als aktiver Adressschlüssel (A.AS) avisgegeben. Dieser aktive Adresschlüssel steuert die Adressierung des Hauptspeichers des Systems während des nächsten Speicherzugriffs, d.h. Abruf oder Speicherung von Daten im Hauptspeicher. Bei dieser Adressicrungsopcration bestimmt der aktive Adresschlüssel AAS den oberen Teil (höhervvertige Stellen) der logischen Adresse, die von der Anlage für den Speicherzugriff benutzt wird.Pig. IA and Fig. IB show the essential characteristics of a Auslirunp.sbt: i game of F.rf iiuliinf · ,. Fiß. 1Λ shows a Λ dress key selection circuit ? .0, dit: depending on the type of memory access request (which are indicated by signals on the J_.leitungcn 21, 22, 23, 2-1 or 25) selects one of the key register sections 31, 32, 33, 34 or 3 5, which contain the following keys: CS key, IS key, OPl key, OP2 key and OP3 key. The one of these keys which corresponds to the present memory access request is determined by the AAS selection circuit 20 as the active address key (A.AS) advised. This active address key controls the addressing of the main memory of the system during the next memory access, i.e. Retrieval or storage of data in main memory. In this addressing operation, the active address key AAS determines the Upper part (higher-valued places) of the logical address that is used by the system for memory access.
Die Signale auf den Zugriffsanforderungsleitungen 21, 22, 23, 24 und stellen jedes eine andere Art von Zugriffsanforderung dar, welche von den Kanälen und Prozessoren gestellt werden können, die Zugriff zumThe signals on the access request lines 21, 22, 23, 24 and each represent a different type of access request that can be made by the channels and processors that are accessing the
709845/0874709845/0874
BC9-70-012 -12-BC9-70-012 -12-
gleiche» Hauptspeicher haben. Diese Anforde rungsleitungen sind in Fig. JA folgenderinassen bezeichnet: E/A-Zugriff, Befehls zugriff, OPl-Zugriff, OP2- Zugriff und OP3-Zugriff. Wenn nur eine dieser Zugriff.sanforderuiig.'isi gnal e auftritt, dann wird sofort der Inhalt der. betreffenden Adressschliifisel registerabsc.hnitt s als AAS ausgegeben. PaDs mehrere Anforderungssignale gleichzeitig auftreten, wird durch Prioritiitsschaltimgen in der AAS - Auswahlschaltung 20 bestimmt, in welcher Reihenfolge die bet reffcndt:n Adressschlüssel als AAS ausgegeben werden. Dabei ist eine bestimmte Priorilälsordnung vorgegeben, sodass 7..Vj. eine E/A-Zugriffsanforderung für eine Cyclc-Steal-Operalion den Vorrang hat, um zuerst den CS-Schltissel auszugeben. Die Befehlsabruf anforderung wird als zweite bedient, um den IS-Schlüsscl ali; AAS auszugeben. Als dritte wird die OPl-Zugriffsanforderung bedient, um den OPl-Schlüssel als AAS auszugeben; schliesslich werden die OP2 - und OP3-Zugriffsanforderungen als vierte und fünfte bedient, um den OP2-Schlüssel bzw. OP3-Schlüssel als AAS auszugeben.have the same main memory. These request lines are designated as follows in FIG. JA: I / O access, command access, OP1 access, OP2 access and OP3 access. If only one of these access.required.'isi gnal s occurs, then the content of the. relevant address key registerabsc.hnitt s is output as AAS. If several request signals occur simultaneously, the sequence in which the relevant: n address keys are output as AAS is determined by priority switching in the AAS selection circuit 20. A certain order of priority is given so that 7..Vj. an I / O access request for a Cyclc-Steal-Operalion has priority in order to issue the CS key first. The command fetch request is served as the second to the IS-Schlüsscl ali; To issue AAS. Third, the OPI access request is served in order to output the OPI key as AAS; Finally, the OP2 and OP3 access requests are served as fourth and fifth in order to output the OP2 key or OP3 key as AAS.
Es besteht also eine bestimmte Beziehung zwischen den verschiedenen Arten von Zugriffsanforderungen und den speziellen Schlüssclregisterabschnitten. So there is a certain relationship between the different ones Types of access requests and the special key register sections.
70984 5/087470984 5/0874
BC9-7C-012 -13-BC9-7C-012 -13-
In cinc:rn Pro/.cssor enthält ein Adresüschlü.snelregisler (ASR) folgende Abschnitte: den IS-SchHis.selabschnitt (LSS), welcher den Befchlsabrufanforderungun für den Zugriff zu jeder Instruktion Kiijjoorclncl ist, und die SirhUiKseJrei'.isierabfichnitU· für die Schlüssel OPl (OPlS) bis OPi (OP3S), welche zu den verschiedenen Arten von Operanden. Zugriffen gehören, die zur Ausführung der Befehle benötigt worden.In cinc: rn Pro / .cssor, an address key register (ASR) contains the following sections: the IS switch section (LSS), which is the command call request for access to each instruction, and the SirhUiKseJrei'.isierabfichnitU · for the Keys OPl (OPlS) to OPi (OP3S), which correspond to the different types of operands. Accesses that were required to execute the commands.
Aiisscrdcm hat jeder E/A~Unterkanal einen cutsprcchcndon CS-Schliisselregisterabschnitt (CSS). ICs kann auch vorkommen, dass mehrere K/A-Unterkanälc gleichzeitig einen Zugriff zum Hauptspeicher anfordern. Deshalb sind CSS-Prioritätsauswahlschaltungen vorgesehen, um bei gleichzeitigen Anforderungen die CS-Schltissel in einer vorgegebenen Reihenfolge auszugeben.In addition, each I / O subchannel has a cut-language CS key register section (CSS). ICs can also happen that several K / O subchannels request access to the main memory at the same time. Therefore, CSS priority selection circuits are provided to help with simultaneous requirements the CS key in a given Output order.
Falls überdies mehrere Prozessoren zum gleichen Hauptspeicher Zugriff haben, sind weitere Prioritätsschaltungcn vorgesehen, um die Anforderungen dieser Prozessoren in vorgegebener bestimmter Reihenfolge zu bedienen.In addition, if several processors have access to the same main memory further priority circuits are provided to meet the requirements to operate these processors in a predetermined, specific order.
Fig. IA veranschaulicht die Erfindung in einem System mit Prozessor und Kanaleinheit, bei dem aktive Adressschlüsscl benutzt werden und in1A illustrates the invention in a processor system and channel unit in which active address keys are used and in
709845/0874709845/0874
BC9-76012 -14-BC9-76012 -14-
dem nur ein Teil der in einem Dalenverarbeilungssyslem an und für Kieli möglichen Speichcrzugriffsarlen verwendet wird. Fig. 1Π zeigt eine grössere /.aiii ve rschiedener Sju-ieherzugriffsartcn. Die in einem befit jiiiiiil cn System _ verwendbaren Spei die rzugrif fslypen sind auf solche eingeschränkt, die durch die Schaltungen des Systems identifizierbar sind. D.h., es werden im System Schaltungen benötigt, welche verschiedene1 Arien von Speicher zugriff sanforderun gen feststellen können, und zwar jeweils zu der Zeit, wenn die betreffende Zugriffsanforderung auftritt. Fig. IB zeigt mehr Zugriffsarien als die Anordnung, welche in Fig. IA Gezeigt ist. In Fig. 11Ϊ sind acht Speicherzugriffsarten in drei Zugriffskategorien eingeteilt: (1) Befchlszugriff, (2) Operanden-Zugriff und (3) eine Zugriffskalegorie, die den Prozessorereigmsscn zugeordnet ist. Jeder Kanal enthält K Unterkanäle, und jeder Unterkanal hat drei Speicherzugriffskategorien: (1) Kanalbefehlszugriff, (2) E/A-Datenzugriff und (3) eine Zugriffskategoric für E/A-Ereignisse.only a part of the memory access rights possible in a Dalenverarbeilungssyslem on and for Kieli is used. Fig. 1Π shows a larger number of different types of access. The memory access types that can be used in a suitable system are limited to those that can be identified by the circuitry of the system. That is, it is required in the system circuits various arias 1 of memory access can see sanforderun gen, in each case at the time when the access request in question occurs. Fig. IB shows more access scenarios than the arrangement shown in Fig. 1A. In FIG. 11Ϊ, eight types of memory access are divided into three access categories: (1) command access, (2) operand access and (3) an access category which is assigned to the processor features. Each channel contains K subchannels, and each subchannel has three memory access categories: (1) channel command access, (2) I / O data access, and (3) an access category for I / O events.
Zu jeder Zugriffskategorie gehört mindestens eine Speicherzugriffsart.Each access category has at least one memory access type.
Bei irgendeiner bestimmten Anlage können nur die Speicherzugriffsarten verwendet werden, die in der Maschinenkonstruktion durch ein identifizierendes Signal, d.h. ein Speicheranforderungssignal, vorgesehen sind.For any particular installation, only the memory access modes which are provided in the machine construction by an identifying signal, i.e. a memory request signal.
709845/0874709845/0874
BC9-7O-012 -15-BC9-7O-012 -15-
So ist κ. Jl. die Befehlszugriffskategorie in der Anlage durch ein Befehl sabru fs anf or dc rungs signal gekennzeichnet. Die Operanden - Zugriff skategorie kann in der Anlage durch sechs verschiedene Arten von Operanden-Zugriffen identifiziert werden (Fig. IB). Diese sindSo κ. Jl. the command access category in the system by a command sabru fs request signal marked. The operand access category can be identified in the system by six different types of operand accesses (Fig. IB). These are
unterteilt in direkte und indirekte Operanden-Zugriffsarteii, wobei zu der Un te rkat egori e der direkten Zugriffe diejenigen Zugriffe gehören, welche Adressen benutzen, die. direkt aus dem Befehl abgeleitet sind, während die: Unlerkalegoric der indirekten Zugriffe solche Operanden betrifft, bei denen die Adressen indirekt aus <]er Operanden-Adresse eines Befehls abgeleitet sind. Zu jeder Unterkategorie gehören drei verschiedene Operanden-Zugriffsarten, welche durch die Schaltung der Anlage identifiziert werden können als Anfordcrungssignale für Qucllenabruf, Senkcnabspeicherung und Senkenabruf. Jede dieser sechs Operandenzugriffsarien kann bei der Konstruktion einer Anlage vorgesehen werden, und die betreffenden von der Anlage identifizierbaren Signale können aus jedem Befehl abgeleitet werden, und zwar vom Operationscode und von den Operandcnfeldcrn. Die Quclleiiabruf- Operandenart betrifft Daten, die als Quelle einer Befehlsausführung benutzt werden; sie wird nicht verändert, sondern nur benutzt, um die Ergebnisse einer Befehlsausführung zu erstellen. Auf der anderen Seite bezieht sich die Scnkenabspcicherung - Operandenart auf Zugriffe, bei denen die Resultatedivided into direct and indirect operand access types, with the sub-category of direct accesses including those accesses which use addresses which. are derived directly from the instruction, while the: Unlerkalegoric relates to such operands of the indirect accesses where the addresses are derived indirectly from <] he operand address of an instruction. Each sub-category has three different operand access types, which can be identified by the circuitry of the system as request signals for source retrieval, sink storage and sink retrieval. Any of these six operand access scenarios can be included in the design of a plant, and the relevant plant identifiable signals can be derived from each instruction, from the opcode and from the operand fields. The source fetch operand type relates to data used as the source of instruction execution; it is not changed, it is only used to create the results of a command execution. On the other hand, the Scnkenabcicherung - operand type refers to accesses for which the results
709045/0874709045/0874
RC9-76-012 V -16-RC9-76-012 V -16-
einer Befehlsausführung gespeichert werden. Die Senkenabruf- Operandenart ist das Resultat einer früheren Befehlsausführung, welches als Quelle: für die Ausführung eines nachfolgenden Befehls benut/.t wi rtl. Für viele Datenverarbeitungsanlagen wurde es jedoch für praktisch befunden, bei der Konstruktion den Senkenabspeiche rungs- Opcrandeiityp und den .Senkenabruf- OperandenIy ρ zu einem einzelnen Senken abspeirherungs/'abruf-Operanden ty ρ zusammenzufassen .of a command execution. The sink call operand type is the result of an earlier command execution, which is saved as Source: use / .t wi rtl to execute a subsequent command. For many data processing systems, however, it has been found practical to the Senkenabspeiche- Opcrandeiityp in the construction and the .Senkenabruf- OperandIy ρ to a single sink abspeirherungs / 'fetch operand ty ρ to summarize.
Prozcssorercigniss- Zugriffe werden hervorgerufen durch das Auftreten interner Prozessorcreignir. r.e, wie z.B. Datenfelder, Maschinenfehle r, Adressicrungsausnalunc, usw, die zu einer langen Liste bekannter Krcignissc gehören, welche die üblichen Prozes sorunterbrechungcn.d. h . interne Unterbrechungen, hervorrufen. Die Kategorie der Prozessorcrcigniszugriffe kann z.B. den Zugriff zu eincin Bereich des Hauptspeichers einschliesscn, der ein Untcrbrechungs-Verarbcitungsprogramni und andere Programme zur Verarbeitung von Signalen enthält, die mit der Unterbrechung im Zusammenhang stehen, und in dem weiterhin Daten gespeichert sind, die mit der Unterbrechung im Zusammenhang stehen, so z.B. Abschlussaufzeichnungcn.Processor event accesses are caused by the occurrence of internal processor events. re, such as data fields, machine errors, addressing messages, etc., which belong to a long list of known events which cause the usual processor interruptions. H . internal interruptions. The category of processor event accesses can include, for example, access to an area of main memory which contains an interrupt processing program and other programs for processing signals associated with the interruption and in which data relating to the interruption is still stored Related, for example final recordings.
Jeder Kanal hat eine Mehrzahl von Unterkanälen, die eine Vielzahl vonEach channel has a plurality of subchannels that contain a plurality of
70984 5/08 7 470984 5/08 7 4
Γ0? ""-012 *?7-Γ0? "" -012 *? 7-
verschiedenen Zuoriffsarten durchfiih ren. Gd gehört z.B. zu jedem Unterkanal eine: F./A-Datenzugriffskategorie mit den Zugriffr.arlen K/A-Abrui und li/A-Aljüjiei clieruun. . Bei manchen Anlagen sind diese beiden durch die Konsl ruktion y.u einem einzelnen Zugriffslyp zusammengefasst, «lon man E/A-Abruf/Abspeicherungszugriff nennt. Die mit Unterkanalereigiiisscn zusammenhängenden Zugriffe werden durch Unterbrechungen signalisiert, die: für de?i Prozessor extern sind, d.h. externe Unterbrechungen. Ka werden Üblicherweise viele verschiedene externe Unterbrechungen verwendet, so z.B. die Gerriteschlussunlerbrechung, Cleräte- f chi er unterbrechung, E/A~ Da ten fehl er Unterbrechungen, usw.different types of access. Gd belongs, for example, to each subchannel one: F./A data access category with the accesses arlen K / A-Abrui and li / A-Aljüjiei clieruun. . Some systems these two are Ruktion by Konsl yu a single Zugriffslyp together, called "lon one I / O request / Abspeicherungszugriff. The accesses associated with sub-channel functions are signaled by interruptions which: are external to the processor, ie external interruptions. Ka are usually used many external interrupts, such as the Gerriteschlussunlerbrechung, Cleräte- f chi it disruptive, since th I / O ~ he failed interruptions, etc.
Zusammenfassend kann man sagen, das mit der Erfindung die Möglich keit geschaffen wird, die Adressiervorgänge im Hauptspeicher für jede der verschiedenen Speicherzugriffsarten, die in Fig. IB gezeigt sind, separat zu beeinflussen. Zu den in Fig. IB gezeigten Zugriffsarten ge hören die acht verschiedenen Speicherzugriffsarten, welche jedem Prozessor zur Verfügung stehen, und die vier verschiedenen Speicher zugriffsarten, welche jedem Unterkanal zur Verfügung stehen. Diese. Möglichkeit der separaten Beeinflussungen ist dadurch gegeben, dass man für jede der Zugriffsarten, welche in einer Anlage vorgesehen sind, einen separaten Schlüsselrcgisterabschnitt vorsieht. Das Ausführungs- In summary, it can be said that the invention makes it possible to influence the addressing processes in the main memory separately for each of the different types of memory access shown in FIG. 1B. The types of access shown in FIG. IB include the eight different types of memory access which are available to each processor and the four different types of memory access which are available to each subchannel . These. The possibility of separate influencing is given by providing a separate key register section for each of the access types which are provided in a system . The execution
709845/08U709845 / 08U
BC9-76-012 -18-BC9-76-012 -18-
beispiel , wolclics in Fig. IA gezeigt ist, benutzt nur vier verschiedene Prozc:s »or zugriff sartun, vvclclic im gewählt i:n üei.c;piel durch ein Adresssehlti.s.selregi ster dargestellt sind, das vier verschiedene Regi.sternbschnille hat. Die Anzahl der Registerabschnilte im AdressschltisKcl regi ster ASK kann jedoch beliebig gewählt werden entsprechend der Anzahl verschiedener Zugriffsarten, die in der Konstruktion der Anlage vorgesehen sind.example, wolclics shown in Fig. 1A, uses only four different procec: s »or access sartun, vvclclic in the selected i: n üei. c ; piel are represented by an address list that has four different registers. The number of register sections in the address key register ASK can, however, be selected as desired according to the number of different types of access that are provided in the construction of the system.
Auf jeden Fall wird ftir jede durch die Schaltungen der Maschine identifizierbarc Zugriffsart ein ASR-Registc rabschnitt oder ein CS-Registerabschnitt vorgesehen mit entsprechenden Vorrichtungen in der AAS-Aus-. wahlschaltung, um einen ausgewählten Registerabschnitt auszulesen, wenn die entsprechende Zugriffsanforderung bedient wird, wobei dann der Inhalt des ausgewählten Regi stcrabschnitts der aktive Adressschlüssel wird, welchen die Anlage als Adresskomponente benutzt, um den Adressiervorgang für den betreffenden Speicherzugriff zu beeinflussen. Für die durch den aktiven Adressschlüssel AAS gegebene Adresskomponente kann folgendes gellen: (1) sie kann eine direkte Beziehung zur physischen Adresse haben, indem der AAS mit der Programm adrcssc verkettet wird, sodass beide zusammen eine physische Adresse im Hauptspeicher ergeben; (2) sie kann einen fest vorgegebenenIn any case, each is identifiable by the circuitry of the machine Access type an ASR register section or a CS register section provided with appropriate devices in the AAS-Aus. selection circuit to read out a selected register section, if the corresponding access request is served, where then the content of the selected register section the active address key which the system uses as an address component to influence the addressing process for the relevant memory access. The following can apply to the address component given by the active address key AAS: (1) It can have a direct relationship to the physical address by concatenating the AAS with the adrcssc program so that both together have a physical address result in main memory; (2) it can be a fixed one
709845/0874709845/0874
RC9-76-012 -19-RC9-76-012 -19-
»Speicherzugriff im Hauptspeicher ermöglichen, wie ca im Ausführungsbcispiel der fig. 11 gezeigt i si; (3).':i c kann zur Bestimmung einer verschiebbiiren Adresse für durch Schlüssel identifizierte Spei cherbereir he»Enable memory access in main memory, as in the example the fig. 11 shown i si; (3). ': I c can be used to determine a shift Address for storage areas identified by keys
(^ecjiioiit^e] 1 e)(^ ecjiioiit ^ e] 1 e)
dienen, wobei man innerhalb jedci; BcreichesYPrograiiiinadre hü cn benötigt, wie es in Fig. 15 gezeigt i«;t; (4) sie kann in noch flexiblerer Art fiir die Bestimmung von verschiebbaren Adressen dienen, wobei auch noch innerhalb der durch Schlüssel identifizierten Bereiche eine Adressverschiebung möglich ist, so wie es im Ausführungsboispiel der Fig. IA dargestellt ist.serve, being within jedci; BcreichesYPrograiiiinadre hü cn required, as shown in Fig. 15 i «; t; (4) it can be even more flexible Type for the determination of relocatable addresses, whereby even within the areas identified by the key Address shift is possible, as it is in the exemplary embodiment of Fig. IA is shown.
Die Hauptspeichcreingangsadrcsse , welche durch die in Fig. IA gezeigte Anordnung bereit gestellt wird, ist die Kombination eines aktiven Adressschltissels AAS mit einer im Programm erscheinenden Adresse. Die letztere ist eine Adresse, welche die Anlage in einem in Ausführung befindlichen Programm sieht, wie z.B. die Befehlsabrufadresse im Beielilsadressregister, und die Operanden-Adressen in den Befehlen des Programms. Wenn ein Programm geschrieben wird, so sind nur im Programm erscheinende Adressen bekannt. Der Anwcndungsprogrammiererbekümmert sich um die AAS-Opcrationen nur insoweit, als er seine Operandendaten separat vom Programm zusammenfasst. Der Systemprogrammierer spezifiziert allgemein die Prozessorereigniszugriffs-The main memory input address represented by that shown in FIG Arrangement is provided is the combination of an active Address key AAS with an address appearing in the program. The latter is an address that the facility is in execution the program located, such as the instruction call address in the example address register, and the operand addresses in the instructions of the program. When a program is written, only im Addresses appearing in the program known. The application programmer cares The AAS operations only insofar as it combines its operand data separately from the program. The system programmer generally specifies the processor event access
709845/0874709845/0874
-20--20-
bcrciche und ihren Inhalt, und der E/A-Prograinmiercr spezifiziert allgemein die E/A-Kanalbefehls- und Ereignis szugriffsbcreiche und iliren Inhalt. Jn Fig. IA besel/.t die AAS-Kdinpoiiciilc K Bit-Positionen im höher ;:lelligcn Teil der kombinierten Eingangsadre.'-.se, und die im Programm erscheinende Adresse besitzt ]6 Bitsiel len, sodai'.s ei; insgesamt eine Eingangsadrer; se ftir die Anlage mit 16 -I K Bitslellen ergibt. bcrciche and their contents, and the I / O programmer generally specifies the I / O channel command and event access areas and contents. In Fig. 1A, the AAS-Kdinpoiiciilc has K bit positions in the higher; a total of one input address; it is available for the system with 16 -IK bits .
Bei der in Fig. IA gezeigten Anordnung ist die Ei ngangsadresse cinschliesslich des AAS-Feldcs eine logische Masc hinenadresse, für welche noch eine Uebersetzung erforderlich ist, um eine gewünschte •Spei eher stelle im Datenverarbeitungssy stern zu erreichen. Auf der anderen Seite wird in der in Fig. 11 gezeigten Anordnung der aktive Adressschliissel AAS als direkt benutzte Einschränkungen der physischen Adresse verwendet, welche nicht übersetzt wird.In the arrangement shown in FIG. 1A, the input address is inclusive of the AAS field cs a logical Masc hinen Adresse, for which still requires a translation to get a desired • Store to be reached in the data processing system. On the on the other hand, in the arrangement shown in FIG. 11, the active address key AAS is used as a directly used restriction on the physical Address used which is not translated.
A. Ucbersetzer mit Register stapelnA. Stack translators with registers
Der in Fig· IA gezeigte Ucbersetzer enthält eine Mehrzahl von Segmcntregisterstapeln mit den Nummern 0 bis 2 . Jeder Schlüssel registerab- schnitt im Prozessor oder in einem Unterkanal enthält mindestens einen Schlüssel mit K Bits,mit dem man jeden der Stapel adressieren kann. The translator shown in FIG. 1A contains a plurality of segment register stacks with the numbers 0 to 2. Each key register section in the processor or in a subchannel contains at least one key with K bits with which each of the stacks can be addressed.
70984 5/087470984 5/0874
ΒΓ9-76-012 - -21-ΒΓ9-76-012 - -21-
Der aktive: AdressschlusseJ AAS wird in eine Slapelruliessiereinrithtung -10 eingegeben und dekojiert, um Δί·.ι\ gewünschten Stapel auszuwählen. Danach wird mit den höherwertigen Bit-Positionen 0 - P der im Programm erscheinenden Komponente der Ein;;angsadrc;;se ein Segment register (SIl) innerhalb des adressierten Stapels ausgewählt. Bit-Posit ionen 0 bis 12 des gewählten Segmentregisters enthalten eine zugeordnete Hlocknumincr, welche die Bit-Positionen 0 bis 12 der physischen Adresse eines bestimmten physischen Blocks im Hauptspeicher darstellen ,zu dem dann zugegriffen wird.The active: AdressschlusseJ AAS is entered into a Slapelruliessiereinrithtung -10 and decoded in order to select Δί · .ι \ desired stack. Then a segment register (SIl) within the addressed stack is selected with the more significant bit positions 0 - P of the component appearing in the program of the input ;; angsadrc ;; se. Bit positions 0 to 12 of the selected segment register contain an assigned block number which represents bit positions 0 to 12 of the physical address of a particular physical block in main memory which is then accessed.
Die restlichen Bit-Positionen 13 - 23 der physischen Adresse, welche 24 Bit umfasst, geben die relative Byte-Adresse (D) innerhalb des gewählten physischen Blocks an; sie sind identisch mit der relativen Byte-Adresse D in der Eingangsadressc, wo sie in den nicdcrwertigcn Bit-Positionen (PH) bis 15 stehen. Der Zugriff zu einem bestimmten physischen Block wird auch gesteuert durch Kcnnzcichen-Bits in den restlichen Bit-Positionen 13 - 15 im gewählten Segmentregistcr SR. Die Einteilung der Segmentregistcr SR ist in Fig. 6 gezeigt; der Inhalt der Valitlitäts-Bit-Position 13 (V) zeigt an, ob der Inhalt des Blocknummcrnfcldes güllig ist. Falls er ungültig ist (d.h. V = 0) kann der Inhalt des gewählten Segmentregisters nicht zur Generierung einer physischenThe remaining bit positions 13-23 of the physical address, which Comprises 24 bits, indicate the relative byte address (D) within the selected physical block; they are identical to the relative Byte address D in the input address, where it is in the non-significant Bit positions (PH) up to 15 are available. Access to a specific The physical block is also controlled by character bits in the remaining bit positions 13 - 15 in the selected segment register SR. the The division of the segment registers SR is shown in FIG. 6; the content of the Validity bit position 13 (V) indicates whether the content of the block number is is valid. If it is invalid (i.e. V = 0) the content of the selected segment register is not used to generate a physical
BC9-76-012 7 0 98^5/0874 BC9-76-012 7 0 98 ^ 5/0874
tvtv
Adresse benutzt werden, und e.s erfolgt dann eine Adresnierungsausnahine-Unterbrcc.hung. Die Kennzeichcn-Bit-Position 1-1 gibt «in, ob der adrefjsierle Block mir gelesen werden darf. Kalis Bit 14 auf eins gesetzt ist, darf in dem betreffenden Block nicht geschrieben werden, und es sind dann nur Abruf-Zugriffe gestattet. Bit 15 ist nicht benutzt. Das Zweitwort mit den Bit-Positionen 16 bis 31 ist reserviert und wird itir das vorliegende Ausfiihrungsbcispiel auch nicht benutzt.Address are used, and an addressing exception suspension then takes place. The identifier bit position 1-1 indicates whether the adrefjsierle block me can be read. Kalis bit 14 set to one is not allowed to be written in the relevant block, and only polling accesses are then permitted. Bit 15 is not used. The second word with bit positions 16 to 31 is reserved and is used it is also not used for the present exemplary embodiment.
B. Erweilerbarer HauptspeicherB. Detectable main memory
Fig. IC zeigt die Koniiguration eines Datenvcrarbeilungssystems, dass einen neuartigen erweiterbaren Hauptspeicher zur Verarbeitung übersetzter Adressen hat. Der Hauptspeicher besteht mindestens aus einem inneren Speicherteil 51, im folgenden kurz Innenspeicher genannt, der bis zu 64 K Bytes Speicherkapazität hat. Die erste mögliche Erweiterung ist die Hinzufügung eines äusscrcn Speichcrteils 52, im folgenden kurz Aussenspcichcr genannt, durch den der Speicher um 64 K Bytes erweitert werden kann, sodass der Hauptspeicher dann 128 K Bytes umfasst. Dann kann zusätzlich ein erweiterbarcr asynchroner Speicher 53, im folgenden auch kurz Asynchronspeichcr genannt, hinzugefügt werden, womit die Kapazität des Hauptspeichers auf maximalFig. IC shows the configuration of a data display system that a new type of expandable main memory for processing translated Has addresses. The main memory consists of at least one internal memory part 51, hereinafter referred to as internal memory for short, the has a storage capacity of up to 64 K bytes. The first possible extension is the addition of an outer memory part 52, in the following briefly called external memory, through which the memory can be expanded by 64 K bytes, so that the main memory is then 128 K bytes includes. An expandable asynchronous memory 53, also referred to below as an asynchronous memory for short, can then be added with which the capacity of the main memory to maximum
709845/0874709845/0874
BC9-76-012 -23-BC9-76-012 -23-
te-te-
24
16'777 1ZlO Bytes (d.h. 2 ) erweitert werden kann.24
16,777 1 ZlO bytes (ie 2) can be expanded.
Zur AclrcGsübcrsci/.ung ist ein Uebersetzer 59 vorgesehen, der auch Schnitt st elleneinrichUmgen enthält für die Verbindung des Aussenspeicherf; 52 und des Asynchronspeichers 53 mit der Hauptspcicherkonf i gu ra ti on.A translator 59 is provided for the AclrcG translation Interface equipment contains for the connection of the external storage; 52 and the asynchronous memory 53 with the main memory configuration.
Ein Hauplspcichcrbus 56A (mit Bus sind im folgenden Sammelleitungen bezeichnet) verbindet einen Prozessor 54 und einen E/A-Kannl 55 über eine Speicherprioritätsauswahlschaltung 56 mit der Hauptspeicherkonfiguration. Der Hauptspeicherbus 56A ist auch mit dem Uebersetzer 59 und mit dem Innenspeicher 51 verbunden.A main processor bus 56A (with bus are collectors designated) connects a processor 54 and an I / O can 55 via a memory priority selection circuit 56 having the main memory configuration. The main memory bus 56A is also with the translator 59 and connected to the internal memory 51.
Innenspeicher Zyklus-Signalleitungen 54Λ verbinden den Innenspeicher direkt mit der Speicherprioritätsauswahlschaltung 56. Sie übertragen Innenspeicherzyklussignale (ISZ-Signale), welche 16 Bit lange nicht tibersetzte physische Adressen darstellen, die vom Prozessor generiert werden, wenn er im Nichtübersetzungsbetrieb arbeitet. Wenn der Prozessor im Uebcrsctzungsbetrieb arbeitet, werden für ISZ die fünf höhcrwerti gen Bits vorn Uebersetzer bereitgestellt; sie enthalten ein Kartcnauswahlsignal (welches eine bestimmte Karle von bis zu vierInternal memory cycle signal lines 54Λ connect the internal memory directly to the memory priority selection circuit 56. They transmit internal memory cycle signals (ISZ signals) which are 16 bits long represent translated physical addresses generated by the processor if he works in non-translation mode. When the processor is operating in reverse mode, ISZ becomes five higher value bits provided by the translator; they contain a Card selection signal (which selects a certain card from up to four
709845/0874709845/0874
BC 9-76-012 ■ ' -24-BC 9-76-012 ■ '-24-
27Π70027,700
Karten auswählt, aus denen der Innenspeichcr besieht) sowie die Felder CSY und CSX (die einen bestimmten SpeicJit:rbereich auf der gewählten Karle auswiihlcn, wobei diese Bereiche Λ Ό96 Bits umfar.ücn). Die fünf höhe rverti gen Bit.'; auf den Adres.sbuslei tunken 00-04 werden vom Uebersctzcr zum Prozessor übertragen, um . von iliesem während eines Innenspeiche rzyklus 1SZ benutzt zu werden. Bit 13 bis 22 werden vom Speicheradressregister des Prozessors abgegeben, um eine be-.stiininte Wortstelle im Speicherbereich auszuwählen, und das letzte Bit 23 wählt ein bestimmtes Byte in diesem Wort aus, wenn es sich um eine Schreiboperation handelt. Die Byte-Adressierung mittels des Bit wird nur fur Schreiboperationen benutzt, da bei Leseoperationen nur ganze Wörter adressiert werden (1 Wort enthält 2 Bytes). Für eine Schreiboperalion wird das letzte Adressbit 23 entweder auf 0 oder auf 1 gesetzt um entweder das Unke oder das rechte Byte in einem Wort zu adressieren.Cards from which the internal memory can be viewed) as well as the fields CSY and CSX (which select a specific memory area on the selected card, these areas comprising Λ 96 bits). The five higher bits. '; on the Adres.sbuslei tunken 00-04 are transferred from the Uebersctzcr to the processor in order to. to be used by this during an internal storage cycle 1SZ. Bits 13-22 are output from the processor's memory address register to select a specific word location in the memory area, and the last bit 23 selects a specific byte in that word when it is a write operation. Byte addressing by means of the bit is only used for write operations, since read operations only address whole words (1 word contains 2 bytes). For a write operation, the last address bit 23 is set either to 0 or to 1 in order to address either the toad or the right byte in a word.
Wenn der Prozessor nur mit dem Innenspeicher arbeitet (d.h. wenn im System kein Ausscnspeichcr und kein Asynchronspcichcr vorgesehen ist), dann adressiert der Prozessor den Innenspeicher nur mit physischen 16 Bit langen Adressen; die vom Speicheradressregister auf dem Bus 5-lA direkt abgegeben werden. Die vom Prozessor abgegebenen rC'Bit langenIf the processor only works with the internal memory (i.e. if in the System no storage and no asynchronous storage is provided), then the processor only addresses the internal memory with physical 16-bit addresses; those from the memory address register on bus 5-1A be delivered directly. The rC'Bit output by the processor is long
7G9845/08747G9845 / 0874
?.C? 7'-012 ^25- ? .C? 7'-012 ^ 25-
Adressen reichen gerade aus zur Adressierung der IIöchstkn.pazit.it des Innen Speicher s (d.h. 6-JK). Bei dieser Minimalkonfiguralion werden mil den 16.BiI ],-ingen physischen Adressen Spcicherstrhulzschlüssei benutzt ent sprechend den Nichltiber :; et ζ im gsspei eher schul /.scha It ungen, die in Fig. Jl gezeigt sind.Addresses are just sufficient for addressing the IIöchstkn.pazit.it of the internal storage (i.e. 6-JK). With this minimal configuration with the 16.BiI], - in few physical addresses memory key connections accordingly uses the nonsense:; et ζ in the gsspei rather schul /.scha It ungen, which are shown in Fig. Jl.
Die Speicher schutzschliisscl benutzen die Möglichkeit der separaten Adressbereichsbestimmung, welche durch die Adrcssschliisaclregislerabschnitte für verschiedene Speicherzußri ff s.irten gegeben ist. Die Kombination der Aktivadressschhis.selauswahlschaltungon mit den Spcichersrhut^schlüsseln geliört auch zu der in dieser Beschreibung dargestellten Erfindung. Das hier dargestellte Merkmal der AklivadressschlüsselschaHungcn durch welclic separate Adressbercichsbesliminungcn je nach Speicherzugriffsart möglich sind, kann separat kombiniert werden, entweder mit der Benutzung von Speicherschltisscln hei Verwendung von nicht verschiebbaren Adressen, oder mit der Benutzung von Adrcssschlüsseln, bei Verwendung verschiebbarer Adressen.The memory protection locks use the option of separate Determination of the address range, which is provided by the address key register sections for different memory allocations see s. the Combination of the active address switch with the Spcichersrhut ^ keys also included in this description illustrated invention. The feature of the AklivaddresskeyschaHungcn by welclic separate address range delimitations depending on the type of memory access are possible, can be combined separately, either with the use of memory keys when using non-relocatable addresses, or with the use of address keys, when using relocatable Addresses.
Wenn man die Möglichkeit der Adressverschiebung wünscht, die erlaubt, •dass der Hauptspeicher über die Kapazitätsgrenze des InnenspeichersIf you want the possibility of address shifting, which allows • that the main memory has exceeded the capacity limit of the internal memory
BC9-76-012 7 0 9^-5/0874 BC9-76-012 7 0 9 ^ -5 / 0874
ItIt
von 64K hinauf; erwc.ilort werden kann, muss ein Ucbersctzcr vorgeriehen worden, wie cn in Fig. JC gezeigt ist. Es kann dann ein Aussenspcicher h in/,u gefügt werden, welcher mit dem Ucbcrsctzer durch Aiisscnspeicherzj'kliiüT.SJ gnalleitungc-n f>8 verbunden werden, welc-Jie die Aussenspeicherzyklu;: steuerung (OSZ) ermöglichen, die in Fig. 9G dargestellt ist.from 64K up; been erwc.ilort may be, must be a pre-Ucbersctzcr riehen as cn in Fig. JC is shown. An external memory can then be added, which can be connected to the Uccrsctzer by means of signal lines, which enable the external memory cycle control (OSZ) shown in FIG. 9G is shown.
Der Uebersetzer ermöglicht «inch eine zusätzliche Erweiterung des
Hauptspeichers über die Kapn xiiätsgrcnze von 128K, welche für den
Innr.nfjpeichcr und Aussenspcichor gilt, hinaus durch I Ii η/.uf (igung einer
Asynchronspeichcreinhcit. Die Asynchron.speiclicrcinhcit benutzt die
übersetzten 24 Bit langen Adressen in anderer Art als der Ausscnspeicher,
wie dies in Fig. 9G für den Asynchronspeicherzyklus (ASZ) gezeigt ist. Beim Asynchronspeicherzyklus ASZ werden die Bit-Positionen 0 bis 6 benutzt,
und in diesen Bit-Positionen steht mindestens ein 1-Bit, weil man mehr als 16 Bit braucht, um eine Zahl darzustellen, die grosser als 128K
ist. Durch die Benutzung der Bit-Positionen 0 bis 6 unterscheidet sich der Asynchronspeicherzyklus vom Ausscnspeicherzyklus, bei welchem
diese Bit-Positionen nicht benutzt werden; beim Ausscnspcichcrzyklus
werden nur die Bit 7 bis 23 benutzt. Diese besonderen Bedingungen für die Bit-Positionen 0 bis 6 werden dazu benutzt, um ein Paar von Vorgriffbits
zu setzen, welche in Fig. 9G gezeigt sind, wobei die zugehörigenThe translator enables an additional extension of the
Main memory over the cap xiiätsgrcnze of 128K, which for the
Internal storage and external storage are valid, in addition through Ii η / .uf (ization of an asynchronous storage unit. The asynchronous storage unit uses the
translated 24-bit addresses in a different way than the Ausscnspeicher, as shown in Fig. 9G for the asynchronous storage cycle (ASZ). Bit positions 0 to 6 are used in the ASZ asynchronous memory cycle, and at least one 1 bit is in these bit positions because more than 16 bits are needed to represent a number that is larger than 128K. By using the bit positions 0 to 6, the asynchronous storage cycle differs from the Ausscnspeicher cycle, in which these bit positions are not used; Only bits 7 to 23 are used in the download cycle. These special conditions for bit positions 0 through 6 are used to set a pair of look-ahead bits shown in FIG. 9G, with the associated
70 9845/08 74
BC9-76-012 A27- 70 9845/08 74
BC9-76-012 A27-
Schaltunj^cii und Vorgänge in weiteren Einzelheiten im ZuKnmmciilian« mit den Fig. 9A und 9B beschrieben werden.Schaltunj ^ cii and processes in further details in the ZuKnmmciilian « will be described with Figs. 9A and 9B.
Der Uebersetzcr hat eine Verbindung zur Haupt speicherbusschniltstelle über welche er logische Adressen einschlicsslich der Aktivadrens.schlür.sel vom Prozessor für die Ucbersetzung erhält. Der Ucberselzer enthält auch .Schnittstellen für den Aussenspcicher und den Asynchronspeicher.The translator has a connection to the main memory bus interface Via which it receives logical addresses including the Aktivadrens.schlür.sel from the processor for the translation. The Ucberselzer contains also .interfaces for the external memory and the asynchronous memory.
C. Adressbereichs-Vc rtcilune;C. Address Range Vc rtcilune;
Fig. 2Λ zeigt die Beziehungen zwischen den verschiedenen Speicherzugriffsarten, welche durch verschiedene Arten von Prozcssorbcfehlcn und Kanalbefehlen hervorgerufen werden, und den entsprechenden Datenadressberc-ichen, die in dem Ausführungsbeispiel benutzt werden. In Fig. 2 A ist nur eine Untermenge der Zugriffsarten benutzt, die in Fig. IB gezeigt wurden. Wie in Fig. 2A dargestellt, wird ein Befehlsabruf im Befehlsadressbcreich 60 unter Benutzung des ISS ausgeführt. Ausserdem sind zwei verschiedene Operanden- Zugriffr.a rten in Fig. 2A gezeigt, welche in den Datcnadrcssbereichcn 61 und 62 ausgeführt werden, wobei die Inhalte der Schlüssclregisterabschnitte OPlS und OP2S benutzt werden.Fig. 2Λ shows the relationships between the different types of memory access, which are caused by different types of process sensor and channel commands, and the corresponding data address areas, used in the embodiment. In Fig. 2A, only a subset of the access types are used that are used in Fig. IB were shown. As shown in Fig. 2A, instruction fetch is carried out in instruction address area 60 using the ISS. Besides that two different types of operand access are shown in Fig. 2A, which are executed in the data address areas 61 and 62 using the contents of the key register sections OPIS and OP2S.
BC9-76-012BC9-76-012
C.l. Prozessοradres sbc reichs-VerteilungC.I. Prozessοradres sbc empire distribution
Kig. 2A veranschaulicht die Speichcrzugriffc, welche auf Gruiul verschiedener Prozessorbcfehl sarten vor|jcnommeii wci'ilen. Ein Speicher-Speicherbefehl ruft Daten im OPlS-Datenbercich 61 oder im OPZS-DaUm-bereich 62 ab und bewirkt eine Speicherung der Resultate in den OPZS Datenadrcssbereich 62. Ein Befehl für direkte'Speicheroperationen holt seine Daten von ISS-Adressbereich 60 und speichert seine ResultateKig. 2A illustrates memory access which can be used in various ways Processor errors start before | jcnommeii wci'ilen. A memory save command calls data in the OPIS data area 61 or in the OPZS data area 62 and causes the results to be stored in the OPZS data address area 62. A command for direct memory operations fetches its data from ISS address range 60 and stores its results
in den OPZS-Datcnadressbe reich 62 oder in ein Allgemeinrcgister (AR). Ein Registcr-Speicher-Befchl verschiebt Daten von einem allgemeinen Register 63 zum OP2S~Datenadressbereich 62; ein Spcicher-Registcr-Befehl holt Daten vom OP2S-Datenadrc.i;sbereich 62 und speichert sie in einem Allgcmeinregister 63. Ein Verzweigungsbefehl holt einen Vcrzwcigungszielbcfchl auch vom ISS-Adrcssbcrcich 60.in the OPZS data address area 62 or in a general register (AR). A register store command moves data from a general one Register 63 for OP2S data address area 62; a memory registers command fetches data from the OP2S data address area 62 and stores it in a general register 63. A branch instruction fetches a branch target folder also from ISS address area 60.
C . 2. E/A-Unterkanaladrcssbereichs-Ve r toi lungC. 2. I / O subchannel address area distribution
Zwei verschiedene Arten von E/A-Unterkanalbcfehlcn sind in Fig. 2A gezeigt. Die eine Befchlsart wird Direkt-Programmsteuerungs-E/A-Befehl genannt (DPS E/A) und bewirkt eine E/A-Operation,die synchron mit dem Ilauptprogramm abläuft, d.h. das Hauptprogramm läuft nichtTwo different types of I / O subchannel errors are shown in Figure 2A shown. One type of command is a direct program control I / O command called (DPS I / O) and causes an I / O operation that is synchronous runs with the main program, i.e. the main program is not running
BC9-76-012 ' -29-BC9-76-012 '-29-
weiter, bis die Ε/Λ- Operation beendet ist, wobei sowohl der E/A-Bi:fehl als auch die Daten aus dem OP?. S- Ad rcssbereich 62 entnommen werden.continue until the Ε / Λ operation is finished, whereby both the I / O-Bi: failed and the data from the OP ?. S address area 62 can be taken.
Die andere E/A -Befehlsart bewirkt die normale Art von asynchroiicn E/A-Operationen, welche allgemein als Cycle-Stcal-E/A-Operationen (CS) bcxeichnel werden. Für diese zweite Befehlsart muss das E/A-Pro«ramm selbst (d.h. die Kanalbcfehle) im "Schlüssel~O Kanalpropramni adrcssbereich" (>Λ (siehe Fig. 2Λ) gespeichert werden, während die Datenzugriffe, welche für das Kanalprogramm ausgeführt werden, durch Schlüssel gesteuert werden, welche in i\cn betreffenden Kanalbefchlen spezifiziert sind, sodass durch jeden Kanalbefehl (z.D. GSB ) jeweils ein anderer der Adrcssbercichc 65 bis 66 ausgewählt werden kann. D.h. also, dass jedes E/A-Gerät sein eigenes Unterkanalprogramm hat, in welchem die Befehle die Möglichkeit haben, jeweils einen anderen Schlüsselwort in den Adressschlüssclrcgisterabschnilt jedes Unterkanals einzugeben, sodass es für jeden Unterkanal möglich ist, bei jedem Kanalbcfehl zu einem anderen Adressbereich zuzugreifen. Damit hat also jeder Kanal die Möglichkeit, den Datenadressbereich, zu dem er zugreift.bei Bedarf beliebig zu verschieben.The other type of I / O command effects the normal type of asynchronous I / O operations, which are generally referred to as Cycle Stcal I / O (CS) operations. Be saved for this second type of command has the I / O-Pro "ramme itself (ie the Kanalbcfehle) in the" Key ~ O Kanalpropramni adrcssbereich "(> Λ (see Fig. 2Λ), while the data accesses that are performed for the channel program, are controlled by keys which are specified in i \ cn concerned Kanalbefchlen so that through each channel command (zD GSB) another of the Adrcssbercichc. that can be selected at 65 to 66 so that each I / O device has its own sub-channel program, in which the commands have the option of entering a different keyword in the address key register section of each subchannel, so that it is possible for each subchannel to access a different address range for each channel error can be moved as required.
Fig. 2B zeigt etwas genauer die Art und Weise, in der die E/A-OperatiomFig. 2B shows in somewhat greater detail the manner in which the I / O operatiom
70.9845/087470.9845 / 0874
BC9-76-012 " ' -30-BC9-76-012 "'-30-
ihre AdrcssKchliissel beglimmen können, um verschiedene Dalcnadrcssberciche im Uaupi speicher auszuwählen.their address keys can glow to different addresses in the Uaupi memory.
Y/ic in Fi[J. 2)1 gezeigt, enthält das IJauplprograrnm einen E/A-Bet riebsbcfehl, eier einen E/A-Vorgang auslöst, und deshalb befinde! sich der E/A-Bctriebsbefehl im ISS-Aclressbcreich. Der OP-Codeteil des Befehls gibt an, dass es sich um einen E/A-Betriebsbefehl handelt, und das R2-Fcld bezeichnet ein Register, dessen Inhalt mit dem Adressfeld kombiniert werden muss, um eine Adresse zu erzeugen, die direkt oder indirekt einen "Indirekten Gerälestcucrblock" (IGSB) im OP2S-Adressbcrcich bezeichnet. Falls mit indirekter Adressierung gearbeitet wird, steht die indirekte Adresse selbst im OP2S-Adressbereich. Die IGSB-Adrcsse ist entweder eine direkte oder eine indirekte Adresse, abhängig vom Wert des I-Bit im E/A-Bctricbsbefehl. D.h. also, dass der E/A-Betriebsbefehl im ISS-Adressbereich steht und der IGSB im OP2S-Adrcssbereich steht.Y / ic in Fi [J. 2) 1 shown, the I / O program contains an I / O operation command, egg triggers an I / O operation, and that's why! himself the I / O drive command in the ISS acess area. The OP code portion of the command indicates that it is an I / O operation command, and that R2-Fcld designates a register, the content of which corresponds to the address field must be combined to produce an address that is direct or indirectly an "Indirect Gerälestcucrblock" (IGSB) in the OP2S address area designated. If indirect addressing is used, the indirect address itself is in the OP2S address range. The IGSB address is either a direct or an indirect address, depending on the value of the I bit in the I / O control command. That is, the I / O operation command is in the ISS address range and the IGSB is in the OP2S address range stands.
Es gibt zwei Arten von indirekten Gerfltcsteuerblöcken IGSB: (1) einen CS-Typ, oder (2) einen D PS-Typ. Das Kanalbefehlsfeld CMD im IGSB gibt an, ob eine CS-Opcration oder eine DPS-Operation eingeleitet wird.There are two types of IGSB indirect device control blocks: (1) one CS type, or (2) a D PS type. The channel command field CMD in the IGSB indicates whether a CS operation or a DPS operation is being initiated.
BC9-76-012 '-31-BC9-76-012 '-31-
709 8 4 5/0874709 8 4 5/0874
Wenn dor IGSB ein DPS-Typ ist, enthält sein zweites Wort direkte Daten, die entweder an das adressierte Gerät übertragen oder von diesem empfangen worden, je nach dem, ob da« Kanalbefehlsfeld CMD anzeigt, ob es eine E/A-I^ese- oder Schreiboperiition ist.If the IGSB is a DPS type, its second word contains direct data, which have either been transmitted to or received from the addressed device, depending on whether the channel command field CMD indicates whether it is an I / O read or write operation.
Wenn das CMD-FeId anz.eigl,daps der IGSD vom CS-Typ ist, enthält das zweite V/ortjm IGSB die Adresse des Unterkanalprograms für das Gerät, welches durch das GA-FeId im IGSB adressiert ist. Der erste Kanalbe-' fehl (d.h. Kanalsteuerwort), welcher Gerätcsteucrblock 0 (GSB-O) genannt wird, befindet sich in dem Adressteil des IGSB. Ein Feld im GSlI-O, welches VcrkeUungsadressc genannt wird, gibt den Ort des nächsten Unterknnalsteuerwortcs an, welches GSB-I genannt wird, und welches ebenso cine Vcrketlungsadresse enthält, die den nächsten GSB lokalisiert usw. bis der letzte GSB aufgefunden ist.If the CMD field Show daps the IGSD is of the CS type, this contains second V / ortjm IGSB the address of the sub-channel program for the device, which is addressed by the GA field in the IGSB. The first canal failed (i.e. channel control word), which device control block 0 (GSB-O) is called is located in the address part of the IGSB. A field in the GSlI-O, which is called the link address indicates the location of the next sub-link control word, which is called GSB-I, and which also contains a link address that locates the next GSB etc. until the last GSB is found.
• In diesem Ausführungsbeispiel befindet sich also das gesamte Kanalprogramm im "Schlüsselt Adrcssbercich".• The entire channel program is located in this exemplary embodiment in the "Key address area".
Jeder Gerätcsteucrblock GSB hält jedoch in seiner ersten WortstellcHowever, each device control block GSB stops in its first word position
EA ein Schlüsselfcld, welches der Adrcssschlüssel für Daten ist, auf die der betreffende GSB zugreift. GSB-O enthält z.B. ein Schlüsselfcld,EA has a key field, which is the address key for data which the GSB concerned accesses. GSB-O contains e.g. a key field,
BC'-76-012 7 0 93^/087 BC '- 76-012 0 7 93 ^ / 087
welches als Schlüssel i.'üi'~---j'--i.>e zeichnet wild, und welches den AdrcSH-bereich für einen zusannmenhängenden Block logischer Adressen angibt, welcher an der Datenadresse beginnt, die indem J-'cld von CSJi-O enthalten ist, das sich an der Stelle F.A-lM befindet. Der Schlüssel für GSK-O kann jeden beliebigen Schlüsselwert haben. In ähnlicher Weise enthält das nächste Steuerwort GSB-I eiVien Schlüssel für OSB-I, der jeden beliebigen Schlüsselwert haben kann, zur Festlegung des Adressbereichs für die Daten, welche innerhalb GSB-I adressiert werden. Der Schlüsselwert in GSB-I kann also verschieden sein von denn Schlüsselwert in GSB-O usw.which as the key i.'üi '~ --- j' - i.> e draws wild, and which the AdrcSH area for a contiguous block of logical addresses which begins at the data address contained in the J-'cld of CSJi-O which is located at the point F.A-lM. The key to GSK-O can have any key value. Similarly, the next control word GSB-I eiVien key for OSB-I, of any Can have a key value to define the address range for the data which are addressed within GSB-I. The key value in GSB-I can therefore be different from the key value in GSB-O etc.
Hieraus wird ersichtlich, dass sich aus der Erfindung eine sehr grosse Flexibilität in der Adrcssbereichsauswahl während dem Betrieb von E/A-Gcräten im System ergibt. Bei Benutzung von Speicherschutzschlüsseln ohne Ucbersetzung können in den Gerätesteuerblöcken GSB verschiedene Schlüsselwerte benutzt werden, urn einen speziellen selektiven Speicherschutz für die E/A-Datenzugriffe zu bekommen.It can be seen from this that the invention results in a very large Flexibility in the selection of the address range during the operation of I / O devices in the system results. When using memory protection keys Without translation, different key values can be used in the device control blocks GSB to create a special to get selective memory protection for the I / O data accesses.
Wenn überdies im System im Uebersctzungsbetrieb gearbeitet wird, werden für jeden Zugriff alle E/A-Datenadresscn durch den Uebersctzer Übersetzt (siehe Fig. ID) in der gleichen Weise, wie die ProzessoradresseIf, moreover, the system is working in translation mode, all I / O data addresses are read by the translator for each access Translated (see Fig. ID) in the same way as the processor address
BC9-76-0.2 70^*5/08BC9-76-0.2 70 ^ * 5/08
übersetzt werden.to be translated.
Fig. 3A zeigt Schaltungseinzelheiten für die Steuerung der GSB-Schliissel-· operationen. Jeder Κ/A-Unterkanal cnth/ill eine kleine prozessorähnliche Steuereinheit zur Steuerung der Operation eines angeschlossenen E/A-Gcrnter., das von beliebiger Art sein kann. Diese prozessorälinliche Steuereinheit steuert die Verarbeitung der GSB-Schlüssel durch den betreffenden E/A-Untcrkanal. Der GSB-Schlüssel wird in ein GSB-Schlüsselrcgister 301 in der Untcrkanalsteuereinhcit vom E/A-Datenbus des Kanals eingegeben, wenn jeweils ein Gcrätesleuerblock GSB im Schlüssel-:0 Adressbereich entnommen wird.3A shows circuit details for the control of the GSB key operations. Each Κ / O subchannel cnth / ill a small processor-like control unit for controlling the operation of a connected I / O device, which can be of any type. This internal processor control unit controls the processing of the GSB keys through the relevant I / O sub-channel. The GSB key is entered into a GSB key register 301 in the sub-channel control unit from the I / O data bus of the channel whenever a GSB device control block is removed from the key: 0 address area.
Eine Mehrzahl von Unterkanälen ist in der üblichen Weise mit einem einzelnen Kanal verbunden. Jeder Unterkanal kann sich mit seinem Kanal durch speziell dafür vorgesehene Protokollsignale verständigen. Ein Unterkanal, der Bedienung durch den Kanal anfordert, wird durch einen Aufruf-Vorgang ausgewählt. Nach der Auswahl durch den Aufruf-Vorgang überträgt der Kanaldatenbus Steuersignale und Daten zwischen dem Unterkanal und dem Hauptspeicher. Durch ein Signal, welches von der Aufrufauswahlstcuerung 310 an die Unterkanal~ROS-Steucrung 311 gelangt, wird bewirkt, dass ein Wort aus dem Festspeichcr ROS 312 in A plurality of subchannels are connected to a single channel in the usual manner. Each subchannel can communicate with its channel using protocol signals specially provided for this purpose. A subchannel requesting service by the channel is selected by a calling process. After the selection by the calling process, the channel data bus transfers control signals and data between the subchannel and the main memory. A signal which reaches the sub-channel ROS control 311 from the call selection control 310 causes a word from the read-only memory ROS 312 to be stored in
BC9-76-012BC9-76-012
7098^5/08747098 ^ 5/0874
ein ROS-D.tlcnregi.sler 313 eingegeben wird, um die notwendigen Unlcrkanalopovationr.n zn steuern. Eine der Unterkanalopq rationcn ist ein GSB-Abruf des nächsten Adresnfeldcs im laufenden GSB vom Adressbereich mit Schlüssel·= 0. Das GSB-Abruffekl in einem ROS-Wori wird von einem ROS- Decodierer 314 entschlüsselt, welcherdann ein GSB-Abiufsteucrsignal abgibt, das die UND-Glieder 315 (0) 315 (l) unda ROS-D.tlcnregi.sler 313 is entered in order to obtain the necessary Unlcrkanalopovationr.n zn control. One of the sub-channel opq rationcn is a GSB retrieval of the next address field in the current GSB from the address area with key · = 0. The GSB-Abruffekl in a ROS word is decrypted by a ROS decoder 314, which then outputs a GSB-Abiufsteucrsignal that the AND gates 315 (0) 315 (1) and
315 (2) aktiviert, welche eine Eingabe in das GSB-Schliisselregister 301 bewirken, das ein Teil des Registerstapels ist, der den ganzen Gerätesleuerblock GSB empfängt. Nachdem der GSB-Abruf ausgeführt ist, wird der GSB im Untcrkanal gespeichert, das GSB-Abruf-Signal beendet und ein "Kein GSB-Abruf-Steuersignal aktiviert, welches: die UND-Glieder315 (2) activated, which requires an entry in the GSB key register 301 cause that is a part of the register stack that the whole device control block GSB receives. After the GSB request has been carried out, the GSB is stored in the sub-channel, the GSB request signal is terminated and a "No GSB request control signal activated, which: the AND gates
316 (0), 316(1) und 316 (2) freigibt, um den GSB-Schlüssel aus dem CSB-Schlüsselregistcr auszugeben, sodass dieser als CS-Schlüsscl für die GSB-Datcnzugriffsoperationen zur Verfügung steht. Der CS-Schlüsscl wird über den Bedingungscodebus zum Kanal in Fig. 3B Übertragen. Der Kanal überträgt dann den CS-Schlüssel zum CS-Schlüsselbus, der mit der Speicherprioritätsauswahlschaltung in Fig. 3C verbunden ist.316 (0), 316 (1) and 316 (2) enables the GSB key from the CSB key register output so that it is available as a CS key for the GSB data access operations. The CS key is transmitted over the condition code bus to the channel in Fig. 3B. Of the Channel then transmits the CS key to the CS key bus, which is with the memory priority selection circuit in Fig. 3C.
In Fig. 3C ist gezeigt, dass der CS-Schlüssel vom Kanalbus einerIn Fig. 3C it is shown that the CS key from the channel bus of a
7 0,9845/08747 0.9845 / 0874
BC9-76-012 -35-BC9-76-012 -35-
Kanalauswahlschaltung 331 zugeführt wird, die mit den Kanalbussen von allen Kanälen verbunden ist, die an den Prozessor angeschlossen .sind, und welche einem CS-Schltissel von einem der Kanäle Priorität {',ibt.Channel selection circuit 331 is supplied, which is connected to the channel buses of connected to all channels connected to the processor, and which gives priority to a CS key from one of the channels.
Mit jeder UnlerkanalSteuereinheit ist auch eine Mehrzahl von Steuer« leitungen verbunden, darunter ein Steuerbus und ein E/A~Adrcssbus. Der E/A-Adressbus überträgt die Datenadresse, welche vom GSB hergeleitet wurde. Zum E/A-Steuerbus gehört eine CS-Anfordcrungs-- . ■ leitung, welche anzeigt, ob sich eine Adresse auf dem E/A-Adressbus befindet (Fig. 3B).With every un-channel control unit, there is also a plurality of control " lines, including a control bus and an I / O address bus. The I / O address bus transmits the data address derived from the GSB. The I / O control bus includes a CS request. ■ line indicating whether an address is on the I / O address bus (Fig. 3B).
Die Spcicherprioritätsauswahlschaltung 56 ist mit CS-Zyklus- Anforderung leitungen eines jeden der Kanäle 1...P verbunden, welche an einen Prozessor angeschlossen sind. Durch die Schaltung 332 wird jeweils ein bestimmter CS-Schlüssel ausgewählt und an die Kanalauswahlschallung 331 abgegeben, welche den CS-Schlüssel des ausgewählten Untcrkanals an die AAS~Auswahlschaltungen 333 überträgt, welche auch die Prozcssoradressschlüssel von den Prozessor-ASR-Bussen erhalten. Gesteuert von der Spcicherprioritäts-Zyklusschaltung 332 wählen die AAS-AuEwahlschaltungen 333 jeweils einen der empfangenen Adressschlüssel als den aktiven Adrcssschlüsscl AAS des Systems aus. Fig. 3DThe memory priority selection circuit 56 is with CS cycle request lines of each of the channels 1 ... P connected, which are connected to a processor. Through the circuit 332, respectively a certain CS key is selected and sent to the channel selection system 331 issued, which transmits the CS key of the selected sub-channel to the AAS selection circuits 333, which also Obtain the processor address keys from the processor ASR buses. Under the control of the memory priority cycle circuit 332, the select AAS selection circuits 333 each have one of the received address keys as the active address key AAS of the system. Figure 3D
70 9fH 5-/,08 7 470 9fH 5 - /, 08 7 4
BC9-76-012 -36-BC9-76-012 -36-
xcigl Einzelheiten der AAS-Ausv/ahLschnltung 333. D. Prozessorxcigl details of AAS option 333. D. Processor
Fig. 4 zeig! Einzelheiten der für die Beschreibung wesentlichen Teile: des Sy slejnprO7.cs.sor s, der sich gegebenenfalls gleichzeitig mit den CS-Schlüsseln um einen Speicher zugriff bemüht. Die Prozessor- ASR-Bussc (Sammelleitungen) sind mit den Ausgängen des Adrcssschlüsselregisters ASR verbunden. Die Speicherprioritätszyklusschullung 33?. (Fig. 3C), welche von bekannter Bauart sein kann, bestimmt die Reihenfolge,in welcher den miteinander konkurrierenden Anforderungen ein Zugriff gewährt wird, d.h. also die Reihenfolge, in welcher die entsprechenden Adressschlüsscl als aktiver Adressschlüsse] AAS an den Ausgängen der AAS-Auswahlschallungen (Fig. 3D) erscheinen.Fig. 4 shows! Details of the parts essential for the description: of the Sy slejnprO7.cs.sor s, which, if necessary, tries to access the memory at the same time as the CS keys. The processor ASR buses (collective lines) are connected to the outputs of the address key register ASR. The memory priority cycle training 33 ?. (Fig. 3C), which can be of known type, determines the order in which the competing requests access is granted, ie the order in which the corresponding address keys as active address keys AAS at the outputs of the AAS selection sounds (Fig. 3D) appear.
Fig. 4 zeigt diejenigen Steuereinrichtungen inn Prozessor, die mit dem Adresschlüsselrcgister ASR zusammenarbeiten. Das ASR wird geladen vom Prozessordatenbus (Datensamrnelleitung) mittels der Eingabesteuerung (EG),und die verschiedenen Adrcssschlüssel werden aus dem Adressschlüsselregister auf den Prozessordatenbus ausgegeben mit Hilfe der Ausgabcslcucrung (AG). Die EG- und AG-Steuersignale werden4 shows those control devices in the processor which cooperate with the address key register ASR. The ASR is loaded from the processor data bus (data collection line) by means of the input control (EG), and the various address keys are output from the address key register to the processor data bus with the aid of the output control (AG). The EG and AG control signals are
709845/0874709845/0874
BC9-76-012 -37-BC9-76-012 -37-
vom Prozessor-JlOS-Dekodiere)· abgegeben. Der Inhalt des AdressschlüsfielregiKters ASR wird .ständig abgegeben an die Prozessor-ASK-Bussc, nämlich den TSS-Bus, den OPZS-Bus, den OPlS-Bus und den OBA-JUis, welche mit Eingängen der ASS~Auswahlschaltung 333 (Fig. 3C) verbunden s'ind,von-welcher !Einzelheiten in Fig. 3D gezeigt sind. Die AAS-Auswahlschaltungen nehmen die Auswahl zwischen diesen drei Prozessorschilissein und etwa gleichzeitig vorliegenden CS-Schlüsscln vor, und bestimmen damit,wclchcr von diesen Schlüsseln der aktive Adrcssschltisscl AAS wird. Fig. 7 zeigt im Detail die ASR-Steuerschaltung anhand der Eingabe - und Ausgabeschaltungen für eine einzelne Bitposition ties ASR. Alle anderen Bitpositionen des ASR haben entsprechende Steuer schal tun gen.from the processor JlOS decoder) · released. The content of the address key register ASR is continuously transferred to the processor ASK bus, namely the TSS bus, the OPZS bus, the OPIS bus and the OBA-JUis, which with inputs of the ASS ~ selection circuit 333 (Fig. 3C) are connected, details of which are shown in Figure 3D. the AAS selection circuits choose between these three Processor license and at about the same time present CS keys and thus determine which of these keys is the active one Adrcssschltisscl AAS will. Fig. 7 shows the ASR control circuit in detail based on the input and output circuits for a single bit position ties ASR. All other bit positions of the ASR have the same Tax scarfs.
Au« Fig. 4 ist ersichtlich, dass der Prozessor- ROS-Dekodier er (Fcstspeicher-Dekodicrer) Ausgangsleitungen hat, deren jede durch ein bestimmtes ROS-Wort, wenn dieses ins ROS-Datenregisler 406 eingegeben ist, aktiviert wird, um Eingabe und Ausgabe bei den ASR-Registerabschniltcn ISS, OPlS und OP2S zu steuern, bzw. um andere Prozessor-Operationen zu veranlassen.From Fig. 4 it can be seen that the processor ROS decoder (Fcstspeicher-Dekodicrer) has output lines, each of which goes through a specific ROS word when entered into ROS data register 406 is activated to input and output at the ASR register sections ISS, OPIS and OP2S to control or to other processor operations to cause.
BC9-76-012BC9-76-012
7098jy;_/08747098jy; _ / 0874
HOHO
D. 1 Register ftir letzten aktiven Adressschhissel AAS D. 1 register for the last active address code AAS
Der in Fig. 4 gezeigtuProzesHoi· enthält auch ein Re gis Uw ftir dt-n letzten aktiven Adrer.schlürjsel, mit dessen Eingangsseitc eine AAS--Torsclialtung -107 verbunden ist, welche einerseits an c)cn AAS-Bu s von Pig. 3D angeschlossen ist und andererseits an einen Inverter, der mil einer Prozessorfehlerkippschaltung 401 verbunden ist. Das Ausgangssignal der AAS-Torschaltung 407 wird in das'Register 408 ftir dan letzten aktiven Adrcssschlüsscl AAS eingegeben, wenn ein Prozessorspeicherzyklussignal (von Fig. 17) vorliegt. Das Register 408 speichert jeden auf dein AAS-Bus vorliegenden aktiven Adressschlüssel vom Prozessor-Aclressschlüsselrcgister ASR1 sofern die Fehlerkippschaltung 401 keinen Fehler auf einer Fehlerspcrrleilung anzeigt.The process shown in Fig. 4 also contains a register Uw for the last active address key, with the entry side of which an AAS gate terminal -107 is connected, which on the one hand is connected to c) cn AAS bus from Pig. 3D is connected and on the other hand to an inverter which is connected to a processor error flip-flop 401. The output of the AAS-gate 407 is input 408 FTIR dan last active Adrcssschlüsscl AAS in das'Register when a processor memory cycle signal (from FIG. 17) is present. The register 408 stores every active address key from the processor access key register ASR 1 present on your AAS bus, provided that the error toggle circuit 401 does not indicate an error on an error message.
Wenn aber ein Maschincnfchler (MCK) oder ein Programmfehler (PCK) im Prozessor auftritt, wird die Fehlerkippschaltung 401 gesetzt. Als Folge davon wird die AAS-Torschaltung 407 gesperrt, weil das Fehlcrsperrsignal abfällt,um dadurch den letzten aktiven Adrcssschlüssel des Prozessors zurückzuhalten (LKSA), welcher zu der Zeit vorlag, als die Fehlerkippschaltung 401 gesetzt wurde. Das Maschinenfehlcrsignal (MCK) und das Programmfchlersignal (PCK) werden in einem Zwangs-If, however, a machine error (MCK) or a program error (PCK) occurs in the processor, the error toggle circuit 401 is set. as As a result, the AAS gate circuit 407 is blocked because the Fehlercrsperrsignal falls, thereby retaining the last active address key of the processor (LKSA) which was present at the time the Error toggle 401 has been set. The machine error signal (MCK) and the program error signal (PCK) are
709 8 4 5/Qj374709 8 4 5 / Qj374
BC9-76-012 -39-'BC9-76-012 -39- '
adre«sdecodien.:r 402 eingegeben (aussei· während eines Segmentregister-Zyklus), um in die ROS-Stcuerschaltung 403 zwangsweise eine Festspeicheradresse einzugeben, welche den Aufruf eines Diagnoseprogramms bewirkt, welches die Fehlerbedingung beseitigt entweder durch wiederholte Ausführung der fehlerhaften Funktion, bis sie korrekt ausgeführt ist, oder durch Ausführung einer Abschluss-Operation (log-out), wenn festgestellt wird, dass der Fehler ein Dauerfehler ist. Das AAS-Rcgister 408 bewahrt inzwischen den LKSA auf, um die zuletzt gültig gewesene Adressbereichsfestlegung aufrecht zu erhalten, während im Prozessor Fehlcrbchebungs-Operationcn ablaufen, sodass nach Behebung der Fehlerbedingung das System unter Beibehaltung der zuletzt benutzten Adressbereichsfestlegung die Arbeit wieder aufnehmen kann.address «sdecodien.:r 402 entered (except during a segment register cycle), in order to be forced into the ROS control circuit 403 enter a read-only memory address which causes a diagnostic program to be called up which eliminates the error condition either by repeatedly executing the faulty function until it is executed correctly, or by performing a close operation (log-out) if the error is found to be one Is a permanent error. The AAS Rcgister 408 in the meantime keeps the LKSA in order to maintain the last valid address range definition while error cancellation operations are running in the processor, so that after the error condition has been eliminated, the system runs under Retention of the last used address range definition can resume work.
Eine der jeweils letzten diagnostischen Operationen, die vorgenommen werden, bevor der Zustand eines Prozessors geändert werden kann, ist die Speicherung des Gesamtzustands des Prozessors in einem Nivcau-Statusblock (NSB) im Hauptspeicher, wozu der Inhalt des Adressschlüssclrcgisters ASR gehört. Durch ein Signal AG AASR (Ausgabe aus dem Register für den letzten aktiven Adressschlüssel) wird der Inhalt des Registers 408 (LKSA) an den Prozessor-One of the last diagnostic operations that are carried out before the status of a processor can be changed is the storage of the overall status of the processor in a Nivcau status block (NSB) in the main memory, which includes the content of the address key register ASR. A signal AG AASR (output from the register for the last active address key) sends the content of register 408 (LKSA) to the processor
709845/087Λ709845 / 087Λ
BC9-76:012 -40-BC9-76 : 012 -40-
datenbus ausgegeben; ein gleichzeitig auftretendes Signal EG OPlS bewirkt die Eingabe des LKSA in den OPIK-Regi atcrab.schnitt des ASR für die Diagnose- oder Fchlerbehebungsoperationcn (siehe Abschnitt II. 3). Wenn die Fehlerbehcbungsoperationen beendet sind, wird der letzte normale ASR-Wert vom NSR im Speicher wieder geladen, um den normalen Betrieb wieder aufzunehmen.data bus output; a simultaneously occurring signal EG OPIS causes the LKSA to be entered in the OPIK regi atcrab.section of the ASR for the diagnosis or troubleshooting operations (see section II. 3). When the debugging operations are complete, the last normal ASR value is reloaded from the NSR into memory to resume normal operation.
D. 2 Befehle zum Laden/Abspeichern den ASRD. 2 commands to load / save the ASR
Fig. 8B und 8C zeigen die Befehle zur Steuerung folgender beiden Operationen: (l) Laden des Adrcssarhlüssels in das ASR entweder von einer Wortstelle im Hauptspeicher oder von einem bezeichneten Allgomein-Rcgister AR; (2) . die Abspeicherung von Adressschlüsseln vom ASR entweder in eine Wortstelle im Hauptspeicher, oder in ein bezeichnetes Allgemeinregister AR. Fig. 8B zeigt die Vorgänge bei Ausführung des Befehls "ASR/Speichcr Laden/Abspeichern1 Mit diesem einzelnen Befehl kann entweder das Laden des ASR aus dem Hauptspeicher oder das Abspeichern des Inhalts des ASR in den Hauptspeicher gesteuert werden.8B and 8C show the commands for controlling the following two operations: (1) loading the address key into the ASR either from a word location in main memory or from a designated general-purpose register AR; (2). the storage of address keys by the ASR either in a word position in the main memory or in a designated general register AR. 8B shows the processes when the command “ASR / Speichercr Load / Save 1 ” is executed.
Fig. 8B zeigt die Einteilung des 16 Bit langen Befehls "ASR/Speicher8B shows the division of the 16-bit long command "ASR / memory
709 8 4 5/0874709 8 4 5/0874
BC9-76-012 -41-BC9-76-012 -41-
Laden/Abspeichern11. ICr ist gekennzeichnet durch den 5-Bit-OP-Code und das 3-Bit-Modifizierfekl in den Bit-Positionen 13 bis 15. Das K-FeId in den Bil-Po:.i !ionen 5 bis 7 adressiert den Teil des ASR (oder das ganze ASR), der eingegeben oder ausgegeben werden soll. Die K-Werte 0, 1, 2 oder 3 bezeichnen die Registerabschnitte ISS, QPZS, OP]S bzw., das gesamte ASR1 zur Benutzung durch diesen Befehl. Eine logische Ilauptspcicbcradresse wird erzeugt mit Hilfe des RB-Feldes in den Bit- Positionen 8 und 9,welches ein Basisregister bezeichnet, und die Zugriffsmodusbits 10 und 11 (AM) welche angeben, ob ein Wort ein angehängtes Feld an eine Instruktion ist, die ein Adressfeld enthält, wobei der Inhalt des AM-Foldes und des RB-Regislers kombiniert werden, um die effektive Adresse derjenigen Wort stelle im Hauptspeicher zu erzeugen, welche durch die Ausführung dieses Befehls entweder geladen oder abgespeichert wird. Das Bit X in der Bit-Stelle 12 gibt an, ob es sich um einen Ladebefehl oder einen Abspcichcrbefehl handelt. Wenn X-O ist, dann wird der Inhalt der adressierten Wortstelle in demjenigen ASR-Teil abgespeichert, der durch das K-FcId bezeichnet ist. Wenn das X-Bit = 1 ist, dann wird der angegebene AKR-Teil in der adressierten Wortstelle abgespeichert.Load / save 11 . ICr is characterized by the 5-bit OP code and the 3-bit modificator in bit positions 13 to 15. The K field in Bil-Po: .i! Ions 5 to 7 addresses the part of the ASR (or the entire ASR) to be entered or output. The K values 0, 1, 2 or 3 designate the register sections ISS, QPZS, OP] S or the entire ASR 1 for use by this command. A logical master address is generated with the aid of the RB field in bit positions 8 and 9, which designates a base register, and the access mode bits 10 and 11 (AM) which indicate whether a word is an appended field to an instruction which is a Contains address field, the contents of the AM-Foldes and the RB-Regislers are combined in order to generate the effective address of that word position in the main memory, which is either loaded or saved by the execution of this instruction. Bit X in bit position 12 indicates whether it is a load command or a save command. If XO, then the content of the addressed word position is stored in that ASR part which is identified by the K-FcId. If the X bit = 1, then the indicated AKR part is saved in the addressed word position.
In ähnlicher Weise stellt Fig. 8C die bei der Ausführung des BefehlsSimilarly, Figure 8C illustrates the execution of the instruction
BC9-76«-012BC9-76 «-012
7 0 984 5/^87 0 984 5 / ^ 8
"ASR/Regi fiter J-iaden/Abspei clic rn" ausgeführten Operationen dar; der einzige Unterschied gegen Fig. 8)3 ist, dass statt einer ) JauptspeichcrwortslclU: bei der Ausführung dieses Befehls ein Allgemein-Register AR benutzt wird. Demgeinäss bezeichnet in Fig. 8C das R-FcId in i\r.n Bit-Positionen 8 bis 10 ein bestimmtes AUgemein-Rcgi stcr AR, welches zum Laden oder Abspeichern eines oder mehrerer Schlüssel in oder von dem bezeichneten Teil (bzw. den bezeichneten Teilen) des ASR benutzt wird."ASR / Regi fiter J-iaden / Abspei clic rn" represent operations carried out; the only difference to Fig. 8) 3 is that instead of a) main memory word: when this instruction is executed, a general register AR is used. Accordingly, in Fig. 8C the R-FcId in i \ rn bit positions 8 to 10 denotes a specific AUgemein-Rcgi stcr AR, which is used for loading or storing one or more keys in or from the designated part (or the designated parts) of the ASR is used.
Die entsprechenden Operationen weiden im Prozessor ausgeführt aufgrund von Signalen auf den mit EG bzw. AG bezeichneten Ausgangsleitungen des Prozessor-ROS-Decodicrers 405 (Fig. Λ), welche mit den auf dem Datenpfad des Prozessors auftretenden Signalen die im Zusammenhang mit Fig. 8B beschriebenen Operationen veranlassen.The corresponding operations are carried out in the processor on the basis of signals on the output lines labeled EG or AG of the processor ROS decoder 405 (FIG. 6 ), which with the signals occurring on the data path of the processor are those described in connection with FIG. 8B Initiate operations.
E. Ucber setze rE. Ucber put r
Fig. 9A und 9B enthalten Einzelheiten des in Fig. IC gezeigten Uebersetzers 59, welcher die mit Fig. IA beschriebenen Uebersetzungsvorgange für Adressverschiebungen vornimmt. Diese Adressverschicbungs Uebcrsetzungsschaltungcn können den pliysischcn Adressbereich vonFigures 9A and 9B contain details of the translator shown in Figure IC 59, which the translation processes described with Fig. IA for address shifts. This address shift translation circuit can use the physical address range of
709845/0874709845/0874
BC9-76-012 -43-BC9-76-012 -43-
61 K (^ ) Bytes auf 16 Millionen (Z ) Bytes vergrößern, was also triner Erweiterung des Innenspeichers von 64 K Bytes entspricht.Increase 61 K (^) bytes to 16 million (Z ) bytes, which corresponds to a trine expansion of the internal memory of 64 K bytes.
Durch den IJebersctzcr wird der Adressbereich des Hauptspeichers insofern vergrüssert, als dieser den aktiven Adressschlüssel AAS und die 16 Bit lange im Programm erscheinende Adresse vom Prozessor oder von einem Unterkanal gemeinsam als logische Ehigangsadressc; aufnimmt und diese Eingangsadresse in eine 24 Bit lange physische Adresse umwandelt, die Zugriff zum Innenspeicher, Ausscnspcichcr oder Asynchron-Speicher hat.The address area of the main memory is enlarged by the IJebersctzcr insofar as it combines the active address key AAS and the 16-bit address from the processor or from a subchannel as a logical access address; and converts this input address into a 24-bit physical address that has access to the internal memory, external memory or asynchronous memory.
Dieser Ucbcrsctzungsvorgang ermöglicht die dynamische Zuteilung physischer Speicherkapazität zu logischen Adressbercichen und die gemeinsame Benutzung physischer Speicherkapazität von mehreren logischen Adressbercichen. 8 Sätze (Stapel) von je 32 Segmentregistern (SR) sind für die 8 verschiedenen möglichen Werte der Adressschlüssel vorgesehen, was insgesamt 256 Segment register ergibt. Jeder geladene SR-Stapel kann eine vollständige Abbildung eines Speicherbereiches enthalten, der bis zu 64K Bytes enthält, die in Blöcken von je 2K Byte Speicherkapazität. verteilt sein können. Mit einem Stapel kann auch ein Adrcssbercich adressiert werden, der weniger als 64K Bytes hat,This mapping process enables the dynamic allocation of physical storage capacity to logical address areas and the sharing of physical storage capacity of several logical address areas. 8 sets (stacks) of 32 segment registers each (SR) are provided for the 8 different possible values of the address key, which results in a total of 256 segment registers. Everyone invited SR stack can be a complete mapping of a storage area containing up to 64K bytes in blocks of 2K bytes each. can be distributed. With a stack, too an address range is addressed that has less than 64K bytes,
BC9-76-012 . -44-BC9-76-012. -44-
7D9845/08747D9845 / 0874
in-dem iiuiii lediglich die Validitäts-Bit-Position in einem oder mehreren der Scgmontre gis-; ler auf eins setzt, BO(l;iss nur diejenigen Scgincntregisier, bei denen die VnIidit;iLs- 13it - 0 sind, die Blöcke mit je 2K Bytes Kapazität bezeichnen, welche zu einem adressierbaren Bereich gehören, der durch einen zugeordneten Adressschlüs sei identifiziert ist.in-dem iiuiii only the validity bit position in one or more the Scgmontre gis-; ler sets on one, BO (l; eat only those Scgincntregisier, where the VnIidit; iLs- 13it - 0, the blocks with 2K each Bytes of capacity denote which belong to an addressable area which is identified by an assigned address key is.
Pur jeden Adressschlüssel ist ein separater Scgincnlrcgisterslapel vorgesehen, um ein schnelles Umschalten der logischen Adressbereiche zu ermöglichen ohne die Notwendigkeit der V/egspciche rung und Ulider·- Einspeichcrung der Adressborcichspeicherabbildungen des Systems.A separate Scgincnlrcgisterslapel is provided for each address key, to enable quick switching of the logical address areas without the need for backup and Ulider Storage of the address book memory map of the system.
Der Adressverschicbungcübcrsctzer, der in ocn Fig. 9A und 9B gezeigt ist, ermöglicht eine Erweiterung des Hauptspeichers durch einen AuBScnspcicher von bis zu 64 K Bytes in Inkrementen von 16K Bytes auf je einer Karte, welche als die fünfte bis achte Karte für den Ausscnspeicher bezeichnet sind. Der Innenspeicher besteht aus der ersten bis vierten Karte, welche auch je eine Kapazität von 16K Bytes haben. Erweiterungen der Speicherkapazität über die 128 K Bytes des Innenspeichers und Aussenspeichers hinaus bedürfen einer zusätzlichen Asynchronspeichcreinheit (Fig. IC), durch welche der physischeThe address shift converter shown in FIGS. 9A and 9B enables the main memory to be expanded by an external memory of up to 64K bytes in increments of 16K bytes on each card, which are designated as the fifth through eighth cards for the readout memory . The internal memory consists of the first to fourth cards, each of which has a capacity of 16K bytes. Extensions of the storage capacity beyond the 128 K bytes of the internal and external storage require an additional asynchronous storage unit (FIG. IC), through which the physical
BC9-76-012 -45-BC9-76-012 -45-
709845/0874709845/0874
Speicher von lZfiKUytos bis zu einem Maximum von 16 Millionen Bytes vcrgrösscrt werden kann.Memory of lZfiKUytos up to a maximum of 16 million bytes can be enlarged.
Der grüsste durch die Maschine statisch adressierbare Adressbertiich, welcher allen gleichzeitig ablaufenden Programmen zur VerfügungThe address area that was statically addressable by the machine said hello, which is available to all programs running at the same time
steht, wenn alle Segment reg) ster mit verschiedenen physischen Blockig
adrcssen geladen sind, beträgt 2 Bytes. Diese Grenze ist bestimmtstands when all segment reg) ster with different physical blocks
addresses are loaded is 2 bytes. This limit is determined
durch die 19 Bit lange Kingangsadresse, welche in Fig. 1Λ gezeigt ist, und die entsteht, wenn ein 3 Bit langer aktiver Adrcssschlüssel an die 16 Bit lange im Programm erscheinende Adresse angehängt wird, um so eine 19 Bit lange logische Maschincneingangsudressc für den Uebersetzer zu erzeugen. Für ein einzelnes Programm besteht die Adressierungsmöglichkeit bis zu drei verschiedenen Adressbereichen, welche durch die drei Abschnitte des ASR definiert sind, nämlich ISS, OPlS und OP2S, was also eine Adressierbarkeit eines Adressbereichs von max. 64 K bis zu max. 192 K Bytes ergibt.by the 19 bit long kingang address, which is shown in Fig. 1Λ, and that arises when a 3-bit long active address key is sent to the 16-bit long address appearing in the program is appended to create a 19-bit long logical machine input address for the Generate translator. For a single program there is the option of addressing up to three different address ranges, which are defined by the three sections of the ASR, namely ISS, OPIS and OP2S, which means that an address range can be addressed of max. 64 K up to max. 192 K bytes results.
D.h.: für einen physischen Hauptspeicher mit einer Kapazität zwischen 512 K Bytes und 16 Millionen Bytes ergibt sich eine Adressierungsmöglichkeit von nur bis zu 512K Bytes bei einem bestimmten geladenen Inhalt der Segmcntrcgislcr; dies wird als die grösste statische Maschin'cn-That means: for a physical main memory with a capacity between 512 K bytes and 16 million bytes result in an addressing option of only up to 512K bytes for a certain loaded content the Segmcntrcgislcr; this is called the largest static machine
BC9-76-012 -46-BC9-76-012 -46-
709845/0874709845/0874
ad rc s sic. rbarkeit bezeichnet. Wenn man nun eine Adressierung Über die 512K ByIeB des statischen Maximums hinaus vornehmen will, so muss man die Scgmcntrcgi r.ter clurcli Programme umladen, um eine Adressierbarkeit ander<:r Bereiche im Hauptspeicher zu erhalten.ad rc s sic. called rability. If you now have an addressing via the 512K ByIeB wants to add to the static maximum, so must one reload the Scgmcntrcgi r.ter clurcli programs in order to have an addressability other <: r areas in main memory.
Die statische Adressicrharkeit kann leicht vcrgrössert werden durch die Hinzufügung weiterer Bits zu dem Adressschhissel im ASR und durch die Vergrösserung der zugehörigen Schaltungen, um dadurch eine entsprechend grössere Anzahl von Scgmentregisterstapeln zu unter stutzen.The static addressability can easily be increased by the addition of further bits to the address key in the ASR and through the enlargement of the associated circuits, thereby creating a corresponding to support a larger number of fragment register stacks.
Wenn in das System tin Uebersctzer eingebaut wird, wie er in Fig. IA gezeigt ist,, so wird seine Benutzung durch ein Bit Nr. 14 im Prozessorstatuswort (PSW) gesteuert, und zwar durch Ausgangsleitungen des Prozessor-ROS-Decodcrs in Fig. 4, bei Vorliegen des in Fig. 13 A gezeigten Frcigabe/Sperrbefehls. Bit 14 im Freigabe/Sperrbefehl gibt an, ob im System ein Uebersctzer vorgesehen ist oder nicht, und Bit 7 gibt an, ob er freigegeben oder gesperrt sein soll. Die in Fig. 10 gezeigte Schaltung bestimmt, ob der Uebersctzer freigegeben wird oder nicht. Wenn der Ucbersetzer nicht freigegeben wird, und wenn das SP-Bit in dem in Fig. 13 A gezeigten Befehl auf 1 gesetzt ist, wird die in Fig. 11 gezeigte Schaltung zum Speicherschutz bei NichtÜbersetzung verwendet. FallsIf a converter is built into the system as shown in Fig. 1A is shown, its use is indicated by bit number 14 in the processor status word (PSW) controlled by output lines of the processor ROS decoder in FIG. 4 when that shown in FIG. 13A is present Enable / disable command. Bit 14 in the enable / disable command indicates whether or not an interpreter is provided in the system, and bit 7 indicates whether it should be enabled or disabled. The one shown in FIG Circuit determines whether the converter is released or not. if the translator is not enabled, and when the SP bit is set to 1 in the instruction shown in FIG. 13A, it becomes that shown in FIG Circuit used for memory protection when not translated. If
BC9-76-012 -47-BC9-76-012 -47-
709845/0874709845/0874
Afiressicrbarkeit nur in einem kleinen Adressbcrcich benötigt ist und falls sein· schnelle Verarbeitung gewünscht wird, kann der Uebersetzcr gesperrt werden.Accessibility is only required in a small address area and if fast processing is desired, the translator can be blocked.
Fig. 9A und 9 D zeigen im Einzelnen die Schaltungen, Busleitungen und SchnittstellenlciHingen für den Uebersetzcr 59 des Systems von Fig. IC1 gemüsr» folgender Aufstellung:FIG. 9A and 9 D show in detail the circuits and bus lines SchnittstellenlciHingen for Uebersetzcr 59 of the system of Figure 1 IC gemüsr "the following list.:
E. 1 Schnittstelle Prozcssor/UebcrsetzerE. 1 interface processor / translator
(1) Speicheradressbus 901. Er hat 15 Leitungen, welche die logische Programmadresse vom Speicheradressregister (SAR) des Prozessor; zum Uebersetzcr übertragen. Nach der Adressübersetzung werden die fünf werthöchsten Bits der Uebersetzadresse an den Prozessor zurückgeschickt um, falls erforderlich, zur Adressierung des Innenspeichers 51 benutzt zu werden. Die 10 niederwertigen Bits (D-Feld) brauchen nicht übersetzt werden.(1) Memory address bus 901. It has 15 lines representing the logical Program address from the memory address register (SAR) of the processor; transferred to the translator. After the address translation will be the five most significant bits of the translation address are sent back to the processor in order, if necessary, to address the Internal storage 51 to be used. The 10 least significant bits (D field) do not need to be translated.
(2) Speicherdatenbus 902 zum Speicher.. Er enthält 16 Datcnleitungcn und zwei Paritätsleitungen. Er überträgt Speicherdaten und Segmentregisterinhalte vom Prozessor zum Ucbersctzer.(2) Memory data bus 902 to memory .. It contains 16 data lines and two parity lines. It transfers memory data and segment register contents from the processor to the converter.
BC9-76-012 7η οBC9-76-012 7η ο
(3) Speicherdatenbur; 903 vom Speicher. Er enthält 16 Datenleitungen und zwei Paritätsloitungen. Er überträj-.l· Spuichtrdatcii vom lieber-Setzer und den Inhalt der Scgmcnl rc|;i st er (SU) κ um Prozessor.(3) memory data bur; 903 from memory. It contains 16 data lines and two parity lines. He transfers the content of the scgmcnl rc |; i st he (SU) κ to the processor.
(4) Bus fur aktiven Adrcssschlüssel (AAS-Bus). Diese drei Leitungen Übertragern den aktiven Adro.s schlüssel AAS von i)cr Speicherpriorität sauswahlschaltung (Fig. 3C) zum» Uebersetzer, uiti einen bestimrnten Scgmentrcgislcrstapel im Ucbersetzer auszuwählen.(4) Bus for active address key (AAS bus). These three lines transformers select the active Adro.s key AAS i) cr memory priority sauswahlschaltung (Fig. 3C) for "translator, uiti a bestimrnten Scgmentrcgislcrstapel in Ucbersetzer.
(5) Speicher schreiben OP 0. Einzelleitung vom Prozessor, die dem Uebersetzer signalisiert, dass eine Schreiboperation im Speicher auszuführen ist mit dem linken Byte des Wortes, das gegenwärtig auf dem Speicherdatenbus zum Speicher vorliegt. Diese Leitung wird aktiviert, wenn das niedrigste Bit Nr. 23 der 24 Bit langen physischen Adresse gleich 0 ist.(5) Memory write OP 0. Single line from the processor, which signals to the translator that a write operation in the memory to be performed on the left byte of the word currently on the memory data bus to memory. This line is activated when the lowest bit number 23 of the 24-bit physical address is 0.
(6) Speicher schreiben OP 1. Einzelleitung vom Prozessor, die dem Uebersetzer signalisiert, dass eine Schreiboperation im Speicher auszuführen ist mit dem rechten Byte des Wortes, dass sich auf dem Speicherdatenbus zum Speicher befindet. Diese Leitung wird aktiviert, wenn das niedrigste Bit Nr. 23 der 24 Bit langen physischen Adresse gleich 1 ist.(6) Write memory OP 1. Single line from the processor, which signals to the translator that a write operation is in the memory is to be carried out with the right byte of the word that is on the memory data bus to the memory. This line will activated when the lowest bit number 23 of the 24-bit physical address is equal to 1.
709845/0874709845/0874
BC9-76-012 -49-BC9-76-012 -49-
(7) Ucberselze rf rcigabe . Einzelleitung, welche ein Prozessor .signal an den Uebersel/.cr abgibt, dass den UeberKelzer flir seine Kunktion freigibt. Dieses Signal wird aktiviert durch den Freigabe/Sperrbefehl. (7) Transfer. Single line, which is a processor .signal to the Uebersel / .cr that the UeberKelzer for his Function releases. This signal is activated by the enable / disable command.
(8) Speicheranforderung an Uebersctzor. Diese Einzelleitung übertriigl ein Prozessorsignal, welches den Ucbersetzcr auffordert, die logische Adresse vom Speicheradressbus zu übersetzen. Ein Mikrozyklus (220 Nanosekundcn) wird aulomatiscli Übersprungen, um dem Uebersctzcr einen Zugriff zum betreffenden Segmentregister zu ermöglichen, um die physische Adresse zu ermitteln und um zu bestimmen, ob ein Zugriff zum Innenspeicher, Ausscnspoieher oder zum Asynchronspeicher erforderlich ist.(8) Memory request to Uebersctzor. Transfer this individual line a processor signal which requests the translator, translate the logical address from the memory address bus. A Microcycle (220 nanoseconds) is automatically skipped, to give the Uebersctzcr access to the relevant segment register to enable to determine the physical address and to determine whether an access to the internal memory, Ausscnspoieher or to asynchronous storage is required.
(9) Zeitgeberimpulse A, B, C, D. Diese vier Leitungen übertragen Prozessorzeitgeberimpulse von 55 Nanosekundcn Dauer, welche den Synchronismus zwischen dem Prozessor und dem Ucbersetzer herstellen.(9) Timer pulses A, B, C, D. These four lines carry processor timer pulses of 55 nanoseconds in duration, which establish synchronism between the processor and the translator.
(10) Uebcrselzer/SAR durchgeben. Das Signal auf dieser Leitung gibt an, dass der Ucbersetzcr die fünf höchstwertigen Bits der über-(10) Transmit Uebcrselzer / SAR. The signal on this line is there indicates that the translator uses the five most significant bits of the
BC9-76-012BC9-76-012
setzten physi sehen Spuicherodresse 55 Nanosekunden nach Beginn dieses Signals auf den Speicheradressbus gegeben hat. Es veranlasst den Prozessor, dass er Bits 00-0-1 der übersetzten Adresse vom Adressbus an den Innenspeicher weitergeben soll.set physi see memory address 55 nanoseconds after the start of this signal on the memory address bus. It causes the processor to forward bits 00-0-1 of the translated address from the address bus to the internal memory.
(11) Jnncnspeicherzyklus (ISZ). Diese Leitung tibertragt ein vom Ueber-Kctzcr generiertes Signal, welches den Prozessor auffordert, dein Innenppcicher 51 mit jeder neuen physischen Adresse ein Speichcrzcitsignal zur Verfügung zu stellen. Wenn ein Aussenspcicher- oder Asynrhronspeicherzyklus (OSZ oder ASZ) ausgeftihrt werden soll, wird diese Leitung deaktiviert, so dass der innere Speicher nicht ausgewählt wird.(11) Internal storage cycle (ISZ). This line transmits a from the Ueber-Kctzcr generated signal, which asks the processor, your interior pcicher 51 to provide a memory bit signal with each new physical address. If an outside storage or asynchronous storage cycle (OSZ or ASZ) is to be executed, this line is deactivated so that the internal memory is not selected.
(12) Uebersetzerspeicher besetzt. Diese Leitung überträgt einen vom Uebcr-(12) Translation memory occupied. This line transmits one of the
setzer generiertes Signal, welches dem Prozessor anzeigt, dass er die Taktsignale stoppen soll. Diese Leitung wird nur aktiviert bei Zugriffen zur Asynchronspeichercinheit 53. Wenn der Uebersetzcr die entsprechende Antwort von der Asynchronspcichereinheit 53 bekommen hat, wird diese Leitung deaktiviert, und die Taktsignale werden wieder gestartet, um den Speicherzyklus zu beenden. Diese Stillegung der Speichertaktsignalc durch eine Asynchronspeichereinheit ist der Grund für deren asynchrone Arbeitsweise und der Grund dafür, dass ihr Zu-setter generated signal which indicates to the processor that he stop the clock signals. This line is only activated when the asynchronous storage unit 53 is accessed has received a corresponding response from the asynchronous storage unit 53, this line is deactivated and the clock signals are restored started to end the storage cycle. This shutdown of the storage clock signals by an asynchronous storage unit is the reason for their asynchronous mode of operation and the reason that their access
7tf9845/08747tf9845 / 0874
-51--51-
griffszyklus länger ist als der Zugriffszyklus beim Innenspeicher oder Aussenspeicher 52. ■handle cycle is longer than the access cycle for the internal storage or external storage 52. ■
(13) Uebersftzer eingebaut. Diese Leitung überträgt ein vom. Uebersetzer generiertes Signal, welches dem Prozessor anzeigt, dass ein Uebersetzer 59 im System eingebaut ist.(13) Built-in translator. This line transmits a dated. Translator generated signal which indicates to the processor that a translator 59 is installed in the system.
(14) Uebersetzer ungültige Speicheradresse. Diese Leitung überträgt ein vom Uebersetzer generiertes Signal, das dem Prozessor anzeigt, dass die soeben an den Uebersetzer übertragene logische Adresse ungültig ist; es erfolgt dann eine Programmfchieranzeige (PCK).(14) Translator invalid memory address. This line transmits a Signal generated by the translator, which indicates to the processor that the logical address just transmitted to the translator is invalid; a program display (PCK) then appears.
(15) Uebersetzer Speicherschutzanzeige. Diese Leitung überträgt ein vom Uebersetzer generiertes Signal, welches dem Prozessor anzeigt, dass ein Versuch gemacht wurde, im Speicher in einen Block zu schreiben, in dessen Segmentregister das Bit 14 auf 1 gesetzt ist, wodurch arigezeigt wird, dass für diesen Block nur Leseoperationen erlaubt sind. .(15) Translator memory protection display. This line transmits a Signal generated by the translator, which indicates to the processor that an attempt has been made to access a block in the memory write, in whose segment register bit 14 is set to 1, thereby indicating that read only operations for this block allowed are. .
(16) Ueberwachungsprogramnizustand oder Cycle-Stcal-Zyklus. Diese(16) Monitoring program status or Cycle-Stcal cycle. These
Leitung überträgt ein vom Prozessor generiertes Signal an denLine transmits a signal generated by the processor to the
BC9-76-012 -52-BC9-76-012 -52-
709845/0874709845/0874
Üebersctzcr, welchen anzeigt, dass dieser das Nur-Lese-Bit 14 im adressierten Sogmentrcgister ignorieren soll, weil die vorliegende Speicherzugriff sanforderung entweder vom Ueberwachungsprogramm oder von einem E/A-UnIerkanal stammt.Üebersctzcr, which indicates that this read-only bit 14 in the should ignore the addressed suction register because the present Memory access requirement either from the monitoring program or comes from a universal I / O channel.
(17) Zyklusende. Diese Leitung überträgt ein vom Prozessor generiertes Signal, welches dem Uebcrsetzer anzeigt, dass jetzt der Speicherzyklus beendet wird.(17) End of cycle. This line transmits a generated by the processor Signal which indicates to the translator that the storage cycle is now is terminated.
(18) Segmentregisterzyklus. Diese Leitung überträgt ein vom Prozessor(18) Segment register cycle. This line transmits a from the processor
generiertes Signal, welches dem Ucbersetzcr anzeigt, dass die Segmentregister aktiviert werden. Gleichzeitig werden die Leitungen Speicher Schreiben OP 0 bzw. Speicher Schreiben OP 1 benutzt, um anzuzeigen, ob der Zyklus ein Lese- oder Schreib-Zyklus als Teil eines Befehls "Segmentregister abspeichern1 oder "Segmentregister laden" ist.generated signal which indicates to the translator that the segment registers are activated. At the same time, the write memory OP 0 or write memory OP 1 lines are used to indicate whether the cycle is a read or write cycle as part of a "save segment register 1 or" load segment register "command.
JS. 2 Schnittstelle Uebersetzer / AusscnspeicherJS. 2 Translator / Ausscnspeicher interface
Die Schnittstelle vom Uebersetzer zum Aussenspcichcr ist in Fig. 9B gezeigt. Zu ihr gehören folgende Leitungen:The interface from the translator to the external memory is shown in Fig. 9B. The following lines belong to it:
70 984 5/00 7;70 984 5/00 7;
BC9-76-012 -53-BC9-76-012 -53-
(1) Kartenauswahlleituiigen. Diese vier Leitungen, welche bezeichnet sind mit Kartcnauswahl 8OK, 96K, 112K und 128K,wählen je eine Speic:h(*rkartc von 16K Bytes in» Aussenr.peichcr aus.(1) Card selection guide. These four lines, which are labeled with card selection 8OK, 96K, 112K and 128K, choose one memory each: h (* r card of 16K bytes in »store external number.
(2) !.leitungen TCSX und TCSY. Diese sechs Leitungen übertragen X-Koordinaten und Y-Koordinaten für die ausgewählte Karte, um einen bestimmten Bereich auf dieser Karle auszuwählen.(2)!. Lines TCSX and TCSY. These six lines transmit X coordinates and Y coordinates for the selected map to select a particular area on that map.
(3) Leitungen "Byte 0 Schreiben" und "Byte 1 Schreiben". Diese vier Leitungen übertragen Zeitgebcrsignale zu den vier Ausscnspcicherkarten.um ein Byte zu schreiben.(3) Lines "byte 0 write" and "byte 1 write". These four Lines carry timing signals to the four storage cards to write a byte.
Wenn der Uebcrse.tzer die physische Speicheradresse vom entsprechenden Segmentregister erhält, bestimmt er, ob ein Zugriff zum Innenspeicher, zum Aussenspeicher oder zum Asynchronspeicher gemacht werden muss; er aktiviert die Schnittstcllenleitungen zum Aussenspeicher nur, wenn ein Ausseiispeichcrzyklus erforderlich ist. Die Leitungsbrücken, welche in der Aussenspeichcrsteuerung eingebaut werden (Fig. 9B), zeigen an, welche der vier Karlen der Aussenspeichercinhc.it installiert sind.If the Uebcrse.tzer the physical memory address of the corresponding Segment register receives, it determines whether an access to the internal memory, the external memory or the asynchronous memory has to be made; it only activates the interface lines to the external storage unit if a Storage cycle is required. The cable bridges, which are in of the external storage control (Fig. 9B), indicate which of the four cards of the external storage control are installed.
709845/0874709845/0874
BC9-76-012 ' -54-BC9-76-012 '-54-
271770Q271770Q
K. 3 Schnittstelle Ueber sotzer/Asynchvoniipei ehe rK. 3 Interface via sotzer / Asynchvoniipei ehe r
Die Schnittstelle vom Uebersctzcr zum Asynehronspeicher (3·^j j;. 9Λ und 9B) umfasst folgende Leitungen:The interface from the Uebersctzcr to the Asynehron memory (3 · ^ j j ;. 9Λ and 9B) includes the following lines:
(1) Asynchronspeichcr Ausgabedaten/Parität. Diese 16 Datcnlcitungen und zwei Paritätsleilungen bilden den Speicherdatenbus zur Asynchronspeiche reinheit.(1) Asynchronous storage output data / parity. These 16 data lines and two parity lines form the memory data bus to the asynchronous memory purity.
(2) Asynchronspeicher Eingabedaten/Parität. Diese 16 Datenlcitungen und zwei Parjlätsleitungen bilden den Speicherdatenbus von der Asynchronspeichereinheit zum Prozessor und zum Kanal.(2) Asynchronous memory input data / parity. These 16 data lines and two Parjlätslinien form the memory data bus from the asynchronous memory unit to the processor and to the channel.
(3) Asynchronspcichcr unteres SAR Aus. Diese 13 Leitungen übertragen die 13 höherwcrtigen Bits der physischen Adresse, welche die Blockadressc in der Asynchronspeichcreinhcit bilden. Sie bilden die oberen SAR-Bits 0-12, welche im Asynchronspeicherzyklus in Fig. 9G gezeigt sind.(3) Asynchronous memory lower SAR off. These 13 lines transmit the 13 most significant bits of the physical address that make up the block address in the asynchronous storage unit. They form the top SAR bits 0-12 shown in the asynchronous memory cycle in Figure 9G.
(4) Asynchronspeichcr oberes SAR Aus. Diese zehn Leitungen übertragen die 10 niedcrwcrtigen Bits 13 - 22 im Asynchronr.pcicherzyklus, aber(4) Asynchronous storage upper SAR off. These ten lines transmit the 10 lower bits 13-22 in the asynchronous memory cycle, but
7 0 9845/08747 0 9845/0874
BC9-76-012 . -55-BC9-76-012. -55-
nicht Bit 23 des Asynchronspeicherzyklus (Fig. 9G). Die Bit 13 bis ?.Z adressieren ein Wort im ausgewählten Block.not bit 23 of the asynchronous memory cycle (Fig. 9G). Bits 13 to ? .Z address a word in the selected block.
(5) Byte 0 Schreiben. Diese Leitung tiberträgt das niedrigste Bit Nr. ?.3 der physischen Adresse, um anzuzeigen, ob das linke Byte des adressierten Wortes während des Asynchronspeicherzyklus für eine Speicher ope ration benutzt wird.(5) Byte 0 write. This line carries the lowest bit no.? .3 the physical address to indicate whether the left byte of the addressed word will be used for a Memory operation is used.
(6) Byte 1 Schreiben. Diese Leitung informiert den Asynchronspeicher, dass das rechte Byte des gerade adressierten Wortes während des Asynchronspeicherzyklus einer Speicheroperation unterliegt.(6) Byte 1 write. This line informs the asynchronous memory, that the right byte of the currently addressed word is subject to a memory operation during the asynchronous memory cycle.
(7) Asynchronspeicherauswahl. Diese Leitung zeigt dem adressierten Speichermodul an, dass ein Speicherzyklus begonnen werden soll. Diese Auswahlleitung wird nur aktiviert während eines Asynchronspeicherzyklus, und wenn keine logische Befehlsadresse und keine Speichcrschutzanzcigc vom Uebersetzer festgestellt wurden.(7) Asynchronous memory selection. This line shows the addressed Memory module indicates that a memory cycle is to be started. This selection line is only activated during an asynchronous storage cycle, and if no logical command address and no memory protection indicator have been detected by the translator.
(8) Schnittstellentakt und Schnittstellentakt 90 . Diese zwei Taktsignalc haben eine Periode von 440 Nanosekunden mit einer Impulsdauer von 50 % pro Periode. Die beiden Taktsignale haben eincJPhasenver-(8) Interface cycle and interface cycle 90. These two clock signals c have a period of 440 nanoseconds with a pulse duration of 50% per period. The two clock signals have a phase shift
709845/0874709845/0874
BC9-76-012 -56-BC9-76-012 -56-
Schiebung von 90 gegeneinander; sie sind nur aktiv, wenn das Asynehron-SpcicherauswahLsignal auch aktiv ist. Diese Taktsignale können in der Asynchron-Speichcrcinhcit für folgendes benutzt werden: Synchronisierung innerhalb der Speichereinheit, Vermeidung von Problemen beim Wiedereinsrhrciben, Einsp oicherung von Daten in Kippschaltungen, und zur Erzeugung von Antwortsignalen zu den vorgegebenen Zeitpunkten.Shift of 90 against each other; they are only active when that Asynehron memory selection signal is also active. These clock signals can be used in the asynchronous memory function for the following: Synchronization within the storage unit, avoidance of problems with re-entry, saving of data in Flip-flops, and for generating response signals at the specified times.
(9) Rückantwort. Auf dieser Leitung erscheint ein Signal von der Asynchron Speichereinheit, wenn der adressierte Speicherplatz installiert ist.(9) Reply. A signal from the asynchronous appears on this line Storage unit, if the addressed storage space is installed.
(10) Schreibzeifgabc--signal. Diese Leitung zum ausgewählten Asynchronspei ehe rmodul wird während der zweiten Hälfte des Schreibzyklus aktiviert, nachdem der Uebcrsetzer eine Rückantwort erhallen hatte. Das Schreibzcilgabe^-signal wird nur aktiviert, wenn die Auswalillcitung auch aktiviert ist.(10) Writing signal. This line to the selected asynchronous storage Before the rmodul is activated during the second half of the write cycle after the translator had received a response. The write indication signal is only activated if the selection is also activated.
.(H) Normales Asynchronspeicherzyklusende. Auf dieser Leitung wird ein Zeitgabeimpuls abgegeben, wenn die Rückantwortleitung ein Signal vom Asynchronspeicher erhält. Es wird von der ausgewählten Asynchrtn. spcichcreinheit als Bcstätigungssignal benutzt, um die Rückstellung der. (H) Normal asynchronous memory cycle end. A timing pulse is emitted on this line when the response line receives a signal from the asynchronous memory. It is used by the selected asynchronous. memory unit used as a confirmation signal to reset the
BC9-76-012BC9-76-012
709045^0874709045 ^ 0874
Kippschaltungen, welche während des Zyklus gesetzt wurden, zu erreichen, und um clic Wiederauswahl während desselben Zyklus beim Abfallen d'-.s Asynchronspeichcrauswahlsignals zu verhindern.To achieve flip-flops that were set during the cycle, and to clic re-selection during the same cycle at To prevent falling of the asynchronous memory selection signal.
K^ Λ ScKmentrofii stcrauswnhlK ^ Λ Sc Kmentrofii stcrauswnhl
Einzelheiten der Segmentregistcrsleuerschaltungen sind in Fig. 9C gezeigt. Ein Segmcntregistor wird durch ein Konzentrationsverfahren ausgewählt. Zunächst wird in allen Registerstapcln die gewünschte Speicherfitellc ausgewählt durch Adressierung aller Register mit den höherwerligen Bilstelleii 0-4 der im Programm erscheinenden logischen Adresse, sodass aus jedem Stapel der Inhalt des gewählten Registers ausgegeben v.'ird. Dann wird mit Hilfe der AAS-BiIs eine Auswahl unter den Stapeln getroffen, wobei durch diese Auswahl eines der acht vorgewählten Register endgültig ausgewählt wird. Dies wird so erreicht, dass man zunächst den Wert des XAS-Bits 2 benutzt, um von den vorgewählten Segmentregistern zur Einschränkung zunächst vier auszuwählen und zwar entweder von den gradzahligen oder den ungradzahligen Stapeln. Die vom AAS-Bit 1 beaufschlagten Leitungen mit dem Signal echt (T) und Komplement (C) werden dann dazu benutzt, um von den zwei Gruppen von Stapelausgangssignalen nur eine auszuwählen, und zwar entweder die Stapel 0,1 und 4, 5 oder dieDetails of the segment register control circuits are shown in Figure 9C. A segment register is selected by a concentration method. First of all, the required storage capacity is set in all register steps selected by addressing all registers with the higher-order ones Bilstelleii 0-4 of the logical address appearing in the program, so that the content of the selected register is output from each stack v.'ird. Then, with the help of the AAS-BiIs, a selection is made among the stacks made, whereby one of the eight preselected registers is finally selected by this selection. This is achieved by first using the The value of XAS bit 2 is used to first select four of the preselected segment registers for restriction, either from the even or odd stacks. Those acted upon by AAS bit 1 Lines with the signal real (T) and complement (C) become then used to select only one of the two groups of stack output signals, either stacks 0, 1 and 4, 5 or the
5/08745/0874
BC9-76-012 -53-BC9-76-012 -53-
Stapel 2,3 und 6,7. (Hierbei bedeutet dar, Komma zwischen <len Stapelniuninern "oder"). Kn werden also die Ausgabesignale eines Paares von Registern benutzt, und zwar entweder von den Stapeln 0,1 und -1, f>, wcitn AAS-Bit 1 im Zustand 0 ist, oder von den Stapeln 2, 3 und 6,7, wenn da» AAS-Bit 1 im Zustand 1 ist. Von dem ausgewählten Paar wird r.chliesülich ein einzelnes Register ausgewählt aufgrund des Zustande» des SR-IIoch-Nicdrig-Auswahl-Bit (AAS-Bit 0), welches dem Konzentrator 921 in Fig.9\ zugeführt wird, welcher eine Auswahl aus dem vorausgewähllen Paar von Stapeln trifft und schliesslich nur von einem einzigen Register aus einem ausgewählten Stapel die Ausgangswerte abgibt.Stacks 2,3 and 6,7. (Here dar means comma between <len stacking nines "or"). Kn so the output signals are used a pair of registers, either by the stacks 0,1 and -1, f>, AAS-1 wcitn bit is at 0, or from stacks 2, 3 and 6.7 when because »AAS bit 1 is in state 1. From the selected pair, an individual register is ultimately selected on the basis of the state of the SR-IIoch-Nicdrig selection bit (AAS bit 0), which is fed to the concentrator 921 in FIG meets a preselected pair of stacks and finally only outputs the output values from a single register from a selected stack.
K. 5 Steuerung zum Laden/Abspeichern der Segment register K. 5 Control for loading / saving the segment register
Fig. 8A zeigt die Operationen der Befehle zum Laden und Abspeichern der Segmentregister (SR). Fig. 17 zeigt die Prozessorspeichersteuerung, und Fig. "9A und 9B zeigen die zugehörigen Ucbersetzerstcuerungen, welche; zur Ausführung dieser Befehle benötigt werden.Fig. 8A shows the operations of the load and save instructions the segment register (SR). Fig. 17 shows the processor memory control, and FIGS. 9A and 9B show the associated translator controls which; required to execute these commands.
Li Fig. 8A ist gezeigt, wie der Befehl "SR Laden" die Eingabe einer physischen Blockadressc in ein gewähltes Segmentregistcr von einem adressierten Wortspeichcrplatz im Hauptspeicher steuert. Der BefehlLi Fig. 8A is shown how the command "SR Load" the input of a physical block address in a selected segment register of a addressed word storage location in main memory controls. The command
709845/0874709845/0874
BC9-76-012 -59-BC9-76-012 -59-
11SK Abspeichern" bewirkt das Kopieren des Inhalts eines ausgewählten Segment register s in eine adressierte Wortr.peicherstelle im Hauptspeicher . 11 SK Storing "causes the content of a selected segment register to be copied into an addressed word memory location in the main memory.
Das Format der 16 Bit langen Befehle zum Laden und Abspeichern tier Segrncntregisler wird bestimmt durch einen 5 Bit langen OP- Code und ein 3 Bit langet; Modifizierfeld, welche in den Bit-Positionen 0 bis 4~bzw. 13 hi s 15 stehen .The format of the 16-bit commands for loading and saving tier Segrncntregisler is determined by a 5-bit long OP code and a 3-bit long; Modification field, which in the bit positions 0 to 4 ~ or. 13 hi s 15 stand.
Das Bit X in der Bit-Position 12 des SR-Befehls gibt an, ob es sich um eine Lade- oder um eine Abspeicher-Operation handelt. Wenn X auf 0 gesetzt ist, wird der Inhalt der adressierten Wortspcichcrslelle im Hauptspeicher in das ausgewählte Segmenlregisler geladen. Wenn das X-Bit auf 1 gesetzt ist, dann wird der Inhalt des gewählten Segmentregisters in der adressierten Wortspeicherstellc abgespeichert.Bit X in bit position 12 of the SR command indicates whether it is a load or a store operation is involved. When X is set to 0, the content of the addressed word memory is in main memory loaded into the selected segment register. If the X bit is set to 1, then the content of the selected segment register stored in the addressed word memory location.
Das R-FeId in den Bit-Positionen 5 bis 7 adressiert ein Allgemein-Register" (AR), welches die Adresse des ausgewählten Segmentregisters enthält, welches geladen oder dessen Inhalt abgespeichert werden soll. Im Allgemein-Register ist das Schlüssclfcld in den Bit-Positionen 5 bis 7 eine Stapelnummer, die den gewählten Stapel identifiziert, und die AR-Bit-The R field in bit positions 5 to 7 addresses a general register " (AR), which contains the address of the selected segment register which is to be loaded or whose content is to be saved. In the general tab the key clfcld in bit positions 5 to 7 is a Batch number that identifies the selected batch and the AR bit
709845/0874709845/0874
BC9-76-012 -60-BC9-76-012 -60-
Positionen 0 bis ·1 enthalten eine Scgmciitrogislenniinmrr, welche: this gewiUilte Segment regi si er identifiziert, welches geladen oder aus dein abgespeiche rt werden soll.Positions 0 to · 1 contain a Scgmciitrogislenniinmrr, which: this Selected segment register identifies which one is loaded or unloaded from your should be saved.
Die gewünschte Wortspeichcrstelle im Hauptspeicher wird adressiert mit Hilfe einer logischen Adresse, welche generiert wird unter lionulzung der. RB-Feldes in den Bit-Positionen 8 und 9, die ein Basis regi sler angeben; das AM-FeJd in den Bit-Positionen 10 und Jl (Zugriffsart) gibt an, ob ein Zugriffsart-Wort der Instruktion folgt.. Der Inhalt des Zugriffsart-Worles (AM- V/ort) und des RB-Rcgisters werden kombiniert, urn die effektive (d.h. im Programm erscheinende) Adresse der Hauplspcichorwortstcllc zu generieren, welche durch Ausführung der Instruktionen geladen oder aus der abgespeichert werden soll. Falls das System im Ueborsctzerbctrieb arbeitet, wird die generierte effektive Adresse in den Uebcrselztcr eingegeben (Fig. 9A und 9B) zusammen mit dem aktiven Adressschlüsscl AAS, um eine logische Xiascliinencingabeadresse zu bilden. Der Uebersctzer gibt eine 24 Bit lange physische Adresse ab, mit der ein Zugriff zu der adressierten Wortspcicherstelle möglich ist. Somit ist es möglich, dass bei dem Segmentregister, welches geladen werden soll, sein vorheriger Inhalt in einer Uebersetzungsoperalion benutzt wird, bevor dieser Inhalt durch den Segmcntrcgisterladebefchl zu einer anderenThe desired word storage location in the main memory is addressed with the aid of a logical address which is generated using the. RB field in bit positions 8 and 9, which specify a base regi sler; the AM field in bit positions 10 and Jl (access type) indicates whether an access type word follows the instruction. The content of the access type word (AM-V / ort) and the RB register are combined, urn to generate the effective address of the main spcichorwortstcllc (ie that appears in the program) which is to be loaded by executing the instructions or to be saved from the. If the system is operating in the operating mode, the generated effective address is entered in the transcript (FIGS. 9A and 9B) together with the active address key AAS in order to form a logical communication address. The translator issues a 24-bit physical address with which access to the addressed word memory location is possible. It is thus possible that the previous content of the segment register that is to be loaded is used in a translation operation before this content is transferred to another through the segment register loader
70 9845/087470 9845/0874
BC9-76-012 -61-BC9-76-012 -61-
physischen Blockpresse verhindert wird.physical block press is prevented.
W(.'im der Prozessor nicht im Uebersetzerbetrieb arbeitetest die generierte effektive Adresse die physische Adresse im Hauptspeicher.W (. 'In the processor not in translation mode, the generated effective address the physical address in main memory.
Bits 13 und 14 der adressierten Worlspcicherslelle irn Hauptspeicher enthalten die Werte für das Validitäls-Bit V und das Nur-Lese-Hit K1 welche in das iJegmentregisler zu laden sind, um dessen Wirkung zu steuern, wenn es fiir eine angeforderte Uebcrsetzung benutzt wird.Bits 13 and 14 of the addressed workspace in the main memory contain the values for the validity bit V and the read-only hit K 1, which are to be loaded into the segment register in order to control its effect when it is used for a requested translation.
Fig. 17 zeigt die Steuereinrichtungen des Prozessors, die bei Ausführung der liefflile zum Laden bzw. Abspeichern der Segmentregister benutzt werden. Diese Steuerschaltungen im Prozessor generieren ein Scgmcnlregisterzyklussignal, welches vom Uebersetzcr (Fig. 9A und 9B) benutzt wird, um das Laden oder Abspeichern eines Segmentregisters zu bewirken. Durch einen Befehl zum Laden oder Abspeichern eines Segmentregislcrs werden im Prozessor Mikrobefehle abgerufen, welche ein Signal "Anforderung zum Laden/Abspeichern eines Segmentregisters" erzeugen, und danach ein Signal für eine Prozessoranforderung eines Speicherzyklus. Das erste Signal setzt eine Kippschaltung 481 "SR-Anforderung folgt" (Fig. I7),und das zweite Signal gelangt an ein UND-Glied 482, welchesFig. 17 shows the controls of the processor in use when executing the liefflile is used to load or save the segment register will. These control circuits in the processor generate a Scgmcnlregisterzyklussignal, which is used by the translator (Figs. 9A and 9B) to effect loading or storage of a segment register. By means of an instruction for loading or saving a segment register, microinstructions are called up in the processor which have a signal "Request to load / save a segment register "generate, and thereafter a signal for a processor request for a memory cycle. The first signal sets a toggle 481 "SR request follows" (Fig. I7), and the second signal goes to an AND gate 482, which
709845/0874709845/0874
BC9-76-012 -62-BC9-76-012 -62-
durch das T-Ausgangssignal der Kippschaltung 481 freigegeben wird. aktivem Ausgangs-signnl des UND-Gliedes 482 wird eine SR -Phasenkippschaltung (J-3JI) für einen Zyklus gesetzt; deren Ausgangssignal aktiviert das UND-Glied 48-1, wenn der Uebersetzer eingebaut ist. Das Ausgangssignal des UND-Gliedes 484 setzt eine Kippschaltung 486 "SR-Anforderung1,' um anzuzeigen, dass ein Zugriff zu einem Segmenlregistcr erforderlich ist. Das T-Ausgangssignal der Kippschaltung 486 gibt das UND-Glied 488 frei, um so ein SR-Zyklunsignal zu erzeugen unter der Voraussetzung, dass keine CS-Zyklusanforderung vorliegt, da CS-Zyklen die höchste Priorität haben. Der SR-Zyklus hat zweithöchste Priorität, und ein normaler Prozessor-Speicherzyklus hat niedrigste Priorität; dies wird bewirkt durch ein UND-Glied 493, das ein Prozcssorspeichcrzyklussignal auf Leitung 494 nur dann erzeugt, wenn kein SR-Anforderungssignal vom C-Ausgang der Kippschaltung 486 an seinem Eingang vorliegt. Der andere Eingang des UND-Gliedes 493 ist mit dem T-Ausgang der Prozcssorzyklus-Kippschaltung verbunden. (Der T-Ausgang einer Kippschaltung gibt das echte oder wahre Ausgangssignal ab, während der C-Ausgang dac Komplcmcntärsignal abgibt).is enabled by the T output of flip-flop 481. When the output signal of the AND gate 482 is active, an SR phase toggle circuit (J- 3 JI) is set for one cycle; the output signal of which activates the AND gate 48-1 when the translator is installed. The output of AND gate 484 sets a toggle 486 "SR request 1 " to indicate that access to a segment register is required. The T output of toggle 486 enables AND gate 488 to provide an SR Generate cycle signal provided that there is no CS cycle request, since CS cycles have the highest priority, the SR cycle has the second highest priority, and a normal processor memory cycle has the lowest priority; this is effected by an AND gate 493 , which generates a processor storage cycle signal on line 494 only when there is no SR request signal from the C output of the trigger circuit 486. The other input of the AND gate 493 is connected to the T output of the processor cycle trigger circuit The T output of a multivibrator gives the real or true output signal, while the C output gives the complementary signal).
Wenn während der Ausführung eines Befehls zum Laden oder Abspeichern eines Segmentregisters das UND-Glied 488 durch das T-AusgangssignalIf during the execution of a load or save command of a segment register the AND gate 488 by the T output signal
7098A5/Q8747098A5 / Q874
BC9-76-012 -63-BC9-76-012 -63-
der Kippschaltung 486 freigegeben wird, erhält sein anderer Eingang das T-Ausgangsßignal von der Prozessorzykluskippschallung 490, die immer dann iikl.i viert wird, wenn eine Spei ehe r zyklu.sanfordc rung vom Prozessor vorliegt. Die Kippschaltung 490 wird durch ein Ausgangssignal des UND-Gliedes 491 gesetzt; dessen einer Eingang erhält zur Freigabe das .Signal " kein CS-Zyklus" (welches dann auftritt, wenn keine E/A-Speicher-Zugriffsanforderung vorliegt). Der andere Eingang des UND-Gliedes 491 erhält zur Freigabe das T-Ausgangssignal (wahres Ausgangssignal) der Prozcs.sorspeichcranforderungskippschaltung 49?·, die immer gesetzt wird, wenn eine Prozessoranforderung für einen Speicherzyklus vorliegt.of flip-flop 486 is enabled, its other input receives that T output from processor cycle tumble 490, which is always it is then iikl.i fourth if a memory is called from the processor before the cycle is present. The flip-flop 490 is activated by an output of the AND gate 491 set; one input of which receives the "no CS cycle" signal for release (which occurs when there is no I / O memory access request present). The other input of the AND gate 491 receives the T output signal (true output signal) of the release Prozcs.sorspeichcran request toggle switch 49? · Which is always set when there is a processor request for a memory cycle.
AVahrend einSegrncntrcgisterzyklussignal auf Leitung 923 vorliegt, wird das auszuwählende Segmentregister von der laufenden Adresse im Prozessorspcichcradressregister SAR adressiert. Daraufhin erfolgt eine Auswahloperation für das Segmentregister in der gleichen Weise, wie es bei der Beschreibung des Ucbersctzers im Abschnitt "Segmentregisterauswahl" erläutert wurde.A while there is a pulse trigger register cycle signal on line 923, will the segment register to be selected from the current address in the processor pcichcr address register SAR addressed. A selection operation is then performed for the segment register in the same way as it was explained in the description of the converter in the section "Selection of segment registers".
Wie bereits erwähnt, bestimmt der Binärwert des X-Bit im Befehl, ob eine Lade- oder Abspeicher-Opcration ausgeführt wird; zu diesem Zweck wählt das X-Bit eine Lade- oder Abspeicher-Mikroroutinc vom Prozessor-As mentioned earlier, the binary value of the X bit in the instruction determines whether a load or store operation is performed; for this purpose, the X bit selects a load or store microroutinc from the processor
709845/0874709845/0874
bC_V-"'c-012 -64-bC_V - "'c-012 -64-
iestspeichcr ROS. Fur cine Segmentregisterladeoperation gcm-riert die Mikrorou lim: zunächst cine I'rozcssoj-sjjcii'lHiranfordcning, wahrend di'.r da;; durch <\cn SR- I'.efehl adressierte Wort aus dem ] lauplspeicher abgeruf <:n vuid in das l'rozcssorspeicherdatenregiKlcr SDR eingegeben wird. Danach gibt die Mikroroutine das Anforde rungs signal für dar. Laden/Abspeichern des Segmentregisters ab, worauf eine weitere Prozessoranforderung für einen Speicherzyklus folgt. Dies veranlasst die Schaltung in Fig. 17, urn in der oben beschriebenen Art und Weise einen SR-Zyklus zu generieren, welcher das Segmcntregisler auswählt und bewirkt, dass der Inhalt des Speicherdatenregisters SDR in das ausgewählte Segmcntregisler tibertragen wird.ieststore ROS. For a segment register loading operation, the micro-rotation calculates: first of all, it is a razocssoj- sjjcii'lHiranfordcning ; Word addressed by <\ cn SR- I'. fetched from the] run memory <: n vuid is entered into the l'rozcssorspeicherdatenregiKlcr SDR. The microroutine then outputs the request signal for. Loading / saving of the segment register, which is followed by a further processor request for a memory cycle. This causes the circuit in FIG. 17 to generate an SR cycle in the manner described above which selects the segment register and causes the contents of the memory data register SDR to be transferred to the selected segment register.
Der Befehl "Segmentregister abspeichern" läuft ähnlich ab, aber mit umgekehrten Ablauf der Mikroroutine., so dass zuerst die Schaltung in Fig. 17 veranlasst wird, einen SR-Zyklus zu generieren, während das Segmentregister ausgewählt und sein Inhalt in das Speicherdatenregi stcr SDR übertragen wird. Dann bewirkt die Mikroroutine eine normale Prozessorspeicheranforderung, welche veranlasst, dass der Inhalt des SDR in die adressierte Spcicherstcllc im Hauptspeicher übertragen wird.The "Save segment register" command is similar, but with reverse sequence of the microroutine., so that the circuit in Fig. 17 is caused to generate an SR cycle while the Segment register is selected and its content is transferred to the SDR memory data register. Then the micro-routine does a normal one Processor memory request which causes the content of the SDR to be transferred to the addressed memory stcllc in the main memory.
_K. 6 Stenciling für Vorp.ri f f s-Ucbersclzcreinliei t_K. 6 Stenciling for preliminary drafts
Wenn bei der Adrossiibcrsetzunp, der Blockadressteil der physischen Adresse aus den Hits 0-4 der logischen Adresse erzeugt wird, wird zumIf at the address block, the block address part of the physical Address generated from hits 0-4 of the logical address is used for
709845/0874709845/0874
Zugriff fur die: Auswahl und das Auslesen eines Segmenlregisters SR ein ProzesKortciklzyklus benötigt. Kin weiterer Prozes so rtaktzyklu s vunh· zum Zugriff benötigt (falls die Vorgriffsschaltungen nicht vorgesehen waren J, um die ausgclesone Blockadresse zu decodieren, um den Schnittstellenbus ?.u der benötigten Speichereinheit auszuwählen, d.h. zum Innenspeicher, zum Aussenspcicher oder zum Asynchronspeichor, zu dem die physische Blockadresse tibertragen werden muss. Wenn eine Vorgriffsschallung vorgesehen wird, braucht man keine zusätzliche Zeil zur Auswahl des benötigten Schnittstellenbus, und man braucht die ausgelesene Blockadrcsse nicht zu decodieren, um die benötigte Speichereinheit zu bestimmen. D.h., dass durch die \^orgriffsschaltung die Zugriffszeit bei Uebersctzung um einen Prozessortaktzyklus verkürzt wird. Während des Uebcrsetzungsvorgangs liegen die D-Bits der Positionen 5 bis 15 der logischen Adresse ständig auf dem Hauptspeicherbus vom Prozessorspeicheradressregister SAR vor. Für die D-Bits wird also keine zusätzliche Uebcrsctzungszeit benötigt; sie werden gleichzeitig an alle drei Speichercinheiten abgegeben.Access for: Selection and reading of a segment register SR ProzesKortcikl cycle required. In further processes so rtaktzyklu s vunh · required for access (if the look-ahead circuits are not provided were J to decode the excluded block address to the interface bus ? .u to select the required storage unit, i.e. for Internal memory, external memory or asynchronous memory to which the physical block address must be transferred. When a Anticipatory sounding is provided, there is no need for an additional line to select the required interface bus, and you need the one that has been read out Not to decode block addresses in order to determine the required storage unit. This means that the access time is shortened by one processor clock cycle when the system is translated. During the translation process, the D bits in positions 5 to 15 of the logical address are always on the main memory bus from Processor memory address register SAR. No additional conversion time is therefore required for the D bits; they will be at the same time all three storage units delivered.
Für die Vorgriffsschallungcn werden in jedem Segmentregisler (SR) in jedem der acht Stapel (Fig. 9A) zwei Bit-Positionen vorgesehen, die als . Vorgriffsbits bezeichnet sind. Die Einteilung der Segmentregister zeigtFor the anticipatory sound, in each segment regulator (SR) in two bit positions are provided for each of the eight stacks (FIG. 9A), which are used as. Look ahead bits are designated. The division of the segment registers shows
709845/0874709845/0874
-66--66-
Fig. 6. Die beiden Vorgriffsbits werden generiert und in das Segmentregister eingesetzt, wenn die Blocknummer durch die Prozes r.or speichersteuerung in das Segmentregister eingesetzt wird; diese Steuerung, welche die in Fig. HA gezeigten Operationen ausführt, ist in Fig. 17 gezeigt. Die Vor griffsbi t ?; zeigen an, ob der Innenspeicher, der Aussenspeicher oder der Asynchronspeicher den Block enthält, welcher der Blocknummer im SR entspricht. Wenn die Vorgriffsbits gesetzt sind und die Segmentregister geladen sind, werden die Vorgriffsbits bei jedem Speichorzugriff mit Ucbcrsetzung benutzt, um die Bestimmung und Auswahl der erforderlichen Speichereinheit parallel mit der schaltungsmä ssigen Uebcrsct'zung der logischen Eingangsadresse durchzuführen. Die Blocknummer, nicht aber die Vorgriffsbits, können durch ein Programm gelesen werden, dass einen SR-Speichcrbefehl benutzt.Fig. 6. The two look ahead bits are generated and placed in the segment register used when the block number is processed by the process or memory control is inserted into the segment register; this control, which carries out the operations shown in FIG. 8A, is shown in FIG. the Before griffsbi t?; indicate whether the internal storage, the external storage or the asynchronous memory contains the block which corresponds to the block number in the SR. When the look ahead bits are set and the segment registers are loaded, the look-ahead bits are used with each memory access with translation to determine and select the required storage unit in parallel with the circuitry To execute the logical input address. The block number, but not the look-ahead bits, can be done by a program read that uses an SR memory command.
Die Vorgriffsbits werden in der in Fig. 9G gezeigten Art codiert. Das linke Vorgriffsbit wird auf 1 gesetzt, wenn der zugehörige Block im Inncnspcichcr steht. Wenn das linke Bit auf 0 gesetzt ist, steht der zugehörige Block entweder im Aussenspeicher oder im Asynchronspeicher. Der Wert des rechten Vorgriffsbits zeigt an, ob der Aussenspeicher oder der Asynchronspeicher den Block hält. Wenn das rechte Bit gleich 0 ist, steht der Block in der Asynchronspeichercinheit.The look ahead bits are encoded in the manner shown in Figure 9G. That The left look-ahead bit is set to 1 if the associated block is in the inncnspcichcr. If the left bit is set to 0, the associated bit is available Block either in external storage or in asynchronous storage. The value of the right look ahead bit indicates whether the external memory or the asynchronous memory holds the block. If the right bit is equal to 0, the block is in the asynchronous storage unit.
7098A5/08747098A5 / 0874
BC9-76-012 -67- BC9-76-012 -67-
Die Vorgriff.'ibits werden nur von den Schaltungen benutzt: und sind für den Programmierer oder den Systernbenutzer nicht sichtbar. Sie dienen lediglich dazu, die Speicherzugriffe zu beschleunigen, und sind nicht Teil der Ul her Setzungsoperation.The anticipation bits are only used by the circuits: and are for not visible to the programmer or the system user. They are only used to speed up memory access and are not Part of the Ul her settlement operation.
Die Schaltungen zum Setzen der Vorgriffsbits sind in Fig. 9C gezeigt. Dazu gehören die Decodierer 901 A und 902A, denen beide der höherwertige Teil der zugeordneten Blocknummer zugeführt wird, die in ein Segmentregister bei Ausführung eines Segmcntrcgistcrbcfchls geladen' wird, wie dies im Zusammenhang mit Fig. 8A beschrieben wurde. Das ausgewählte Segmentregister befindet sich in einem der Stapel Obis 7 (Fig. 9C). Die Blocknummer wird abgegeben vom Befehl "Segmentregister laden", welcher die durch Programm zugeteilte Blocknummcr von dem Speicherplatz im Hauptspeicher abruft, der durch den Befehl adressiert wird, "wonach die Blocknummer in das Speicherdatenregister SDR (Fig. 4) eingesetzt wird. Dann gibt der Prozessor die zugeteilte Blocknummcr vom SDR auf den Prozessordatenbus (Fig. 3C), welcher mit dem Speicherdatenbus zum Speicher (Fig. 9A) verbunden ist, über welchen die Daten Übertragen werden, welche in ein adressiertes Segmentregistcr in einem der Stapel 0 bis 7 zu laden sind. Der Segmentrcgistcrladcweg ist in Fig. 9C im einzelnen gezeigt; die Signale auf den SR-EingangsleitungcnThe circuitry for setting the look ahead bits is shown in Figure 9C. These include decoders 901 A and 902A, both of which are the higher order ones Part of the assigned block number is supplied, which is loaded into a segment register when executing a Segmcntrcgistcrbcfchls' as described in connection with Fig. 8A. The selected segment register is in one of the stacks Obis 7 (Figure 9C). The block number is issued by the "Load segment register" command, which contains the block number assigned by the program from the Memory location in main memory which is addressed by the command, "after which the block number in the memory data register SDR (Fig. 4) is used. The processor then puts the assigned block number from the SDR onto the processor data bus (Fig. 3C) which is connected to the memory data bus to the memory (Fig. 9A) is connected, via which the data are transmitted, which in an addressed segment register in a batches 0 to 7 are to be loaded. The Segmentrcgistcrladcweg is in Fig. 9C is shown in detail; the signals on the SR input lines
.7098A5/0874.7098A5 / 0874
3C9---012 -63-3C9 --- 012 -63-
00-07 werden zur Erzeugung der V orgriffbits benutzt. Die Leitungen 00 bi.s 06 sind mit dem Eingang des O-Decodierors 902Λ verlnmden,und die Leitungen 00 bis 07 .sind mit dein Eingang des O-Decodie rc rr; 901Λ verbunden. Jeder der O-Decodicrer gibt eine: 1 al;; Vorgri ffssignal ab, wenn an seinen Eingängen lauter Nullen vorliegen, und ergibt ein O-Signal am Ausgang ab, wenn irgendeiner der Eingänge gleich 1 ist. Wenn der Decodierer 901A lauter Nullen in den Bit-Positionen 00 bis 07 feststellt, Überträgt er ein 1-Bit in die linke: Vorgriffsbit stelle des adressierten Segmentregi stc rs in den Stapeln; wenn aber irgendeines der Eingangsbits 0 bis 7 eine 1 ist, dann wird das linke Vorgriffsbit auf 0 gesetzt. Der Decodierer 90lAzcigl an, ob der physische Block, dessen Adresse geladen wird, im Innenspeicher steht oder nicht; hiervon hängt es ab, ob ein ISZ-Signal erzeugt werden muss.00-07 are used to generate the prefix bits. The lines 00 to 06 are connected to the input of the O decoder 902Λ, and the lines 00 to 07 are connected to the input of the O decoder rc rr; 901Λ connected. Each of the O decoders gives one: 1 al ;; Pre-attack signal from when all zeros are present at its inputs, and results in a 0 signal at the output when any of the inputs is equal to 1. If the decoder 901A detects all zeros in the bit positions 00 to 07, it transfers a 1 bit to the left: look-ahead bit position of the addressed segment register in the stacks; but if any of the input bits 0 through 7 is a 1, then the left look-ahead bit is set to zero. The decoder 90lAzcigl indicates whether the physical block whose address is being loaded is in internal memory or not; it depends on this whether an ISZ signal has to be generated.
Wenn der Decodierer 902 A lauter Nullen in den SR-Eingangsbitpositionen 0 bis 6 feststellt, dann wird das rechte Bit des adressierten Segmentregisters auf 0 gesetzt. Der Grund hierfür ist, dass wenn das linke Vorgriffsbit anzeigt, das die Innenspeichereinhcit nicht die betroffene Speichcrcinheit ist und wenn Bit 0 bis 6 alle Null sind, dass dann der Decodierer 90EA anzeigt, ob ein 1-Bit in Bit-Position 7 der physischen Adrcsse^die geladen wird, vorliegt oder nicht; dies schliesslich zeigt an,When the decoder 902 A has all zeros in the SR input bit positions 0 to 6, then the right bit of the addressed segment register is set to 0. The reason for this is that if the left look-ahead bit indicates that the internal storage unit is not the affected storage unit and if bits 0 to 6 are all zero, then the Decoder 90EA indicates whether or not there is a 1-bit in bit position 7 of the physical address ^ being loaded; this ultimately indicates
BC9-76-012 70SL&A5/08 74BC9-76-012 70SL & A5 / 08 74
ob der beireffende Block im Aussenspcichcr steht, oder im Asynchronspeicher. whether the referring block is in the external memory or in the asynchronous memory.
Bei jedem Segmenlrogistcr also, dar. geladen wird, werden die Vorgriffubits so gesetzt, dass sie diejenige Speichereinheit angeben, welche den zugeordneten Block enthält. Die SR-Ladeoperation erfolgt während eines SR-Zyklus, der auf Leitung 923 im Konzentrator 922 (Fig. 9A) von der Grundsteuerung angezeigt wird, die im Einzelnen in Fig. 9D-Z gezeigt ist.With every segment logistcr that is loaded, the look-ahead ubits set so that they indicate the storage unit which contains the assigned block. The SR load operation occurs during a SR cycle appearing on line 923 in concentrator 922 (Fig. 9A) from the Basic controls are displayed, which are shown in detail in Figs. 9D-Z is.
Die Slapeladrcsse wird in den Konzentrator 922 durch die Leitungen 0 5 bis 07 des Speicheradrcssbus 901 (Fig. 9A) eingegeben. Die Scgmentregisteradressc wird von den Leitungen 00 bis 04 des Speichcradressbus 901 über das PH-Register zu den Segmentregisterstapeln 0-7 (Fig. 9A) übertragen. Diese Adresssignale gelangen auf die Leitungen 00 bis 07 des Speicheradrcssbus 901 (Siehe Fig. 3C) vom Speichcradressrcgistcr SAR (Fig. 4) über den Prozessoradressbus. Der Inhalt des SAR stammt aus dem Allgemein-Register, welches durch den Befehl "Segmentregister Laden" (Fig. 8A) ausgewählt wurde, von welchem Allgemein-Registcr die Bits 0-7 die SR-Adress-Bits auf den Leitungen 00 bis 07 des Bus 901 sind. (Das Allgcmein-Register AR wird im Niveau-Stapel 431 (Fig. 4) The slave address is input to the concentrator 922 through lines 05 through 07 of the memory address bus 901 (FIG. 9A). The segment register address is transferred from lines 00 through 04 of memory address bus 901 through the PH register to segment register stacks 0-7 (FIG. 9A). These address signals arrive on lines 00-07 of memory address bus 901 (see FIG. 3C) from memory address register SAR (FIG. 4) via the processor address bus. The content of the SAR comes from the general register, which was selected by the command "Load segment register" (FIG. 8A), from which general register bits 0-7 are the SR address bits on lines 00 to 07 of the Bus 901 are. (The general register AR is in level stack 431 (Fig. 4)
709845/0874709845/0874
BC 9-76-012 -70-BC 9-76-012 -70-
durch eine Niveaustapeladresse ausgewählt, die vom All-Feld im Befehl "Segment register laden" abgeleitet wurde).selected by a level stack address given by the All field in the command "Load segment register" was derived).
Der Konzentrator 92?. gibt dann die Stapelad rosse den gewählten Segmentregir.ters auf seinen folgenden Ausgangsleitungen ab: ΛAS-Iiit 2, AAS-Ri1I 1, und "SR Hoch-Niedrig-Auswahl" (Leitung 935). Die Leitung 935 gibt ein Eingangssignal an die Grundsteuerung in Fig. 9B. Die.se Schaltungen sind im !einzelnen in Fig. 9D-2 gezeigt; sie erzeugen die Signale für die Leitungen 932 und 933, die mit den Segmentregisterstapcln 0-7 zur Angabe des niederwertigcn Stapeladressbits verbunden sind, und entsprechend uer wahren und der komplementären Form] Signals auf Leitung 07 des Speicheradressbus 901. Die Signale auf der Leitung AAS-Bit 1 entsprechen der wahren und der komplementären Form der Signale auf der Busleitung 06; und das Signal auf der Leitung AAS-Bit 2 entspricht dem Signal auf der Bus-Leitung 05.The Concentrator 92 ?. the stack address then outputs the selected segment register on its following output lines: AS-Iiit 2, AAS-Ri 1 I 1, and "SR high-low selection" (line 935). Line 935 provides an input to the basic controller in Figure 9B. These circuits are shown in detail in Fig. 9D-2; they generate the signals for the lines 932 and 933 which are connected to the Segmentregisterstapcln 0-7 to indicate the niederwertigcn Stapeladressbits, and true and complementary form corresponding uer] signal on line 07 of the memory address bus 901. The signals on line AAS Bit 1 correspond to the true and the complementary form of the signals on bus line 06; and the signal on line AAS bit 2 corresponds to the signal on bus line 05.
Bei einem Spcic.herzugriff im Uebersetzungsbetrieb wird ein Stapclregister ausgewählt durch die gleiche Art von Konzentrationsoperation, wie sie im Abschnitt "Segmentregister-Auswahl" beschrieben wurde. Aus den vom Konzentrator angewählten Seginentregistern werden die beiden Vorgriffsbits zur gleichen Zeit wie die übrigen 16 Bits ausgelesen. Für dieWhen a memory is accessed in translation mode, a stack register selected by the same type of concentration operation as described in the section "Segment Register Selection". From the The segment registers selected by the concentrator are read out at the same time as the other 16 bits. For the
709 8*4 5/0874709 8 * 4 5/0874
BC9-76-012 -71-BC9-76-012 -71-
Vorgriffsbitü wird ein separator Konzentrator 931 benutzt, weil er schneller arbeitet als der weitere Konzentrator 921, der die Blockadress-Bits für das gli'iche Segmenlregister auswälilt. Am Ausgang des K0n7.cntrators 931 wird jeweils eine von drei Ausgangsleitungen aktiviert,um den gewühlten Speicherzyklus anzugeben, nämlich entweder ISZ, OSZ oder ASZ, Für den Prozessor werden die ISZ -Signalleitungen 54A vorn Prozessor durch die SpeicherprioriUitsauswahlschaltung 56 zur Innenspeiche reinheit 51 (Fig. IC) benutzt. Da die Leitungen 54Λ auf jeden Pail existieren, ob nun das System einen Uebersetzer hat oder nicht, wird die Inncnspeicherzyklus-Stcuerlcitung vom Konzentrator 931 mit dem Prozessor verbunden, um cine ISZ . Adressicropcration zu veranlassen. Die Leitungen für den Ausscnspcicherzyklus und den Asynchronspeicherzyklus führen zu den Fig. 9E bzw. 9F-1, um die Adressauswahl in den betreffenden Einheiten zu veranlassen.Look ahead bit a separator concentrator 931 is used because it works faster than the further concentrator 921, which the block address bits selects for the corresponding segment register. At the output of the K0n7.cntrator 931 one of three output lines is activated at a time to generate the specified storage cycle, namely either ISZ, OSZ or ASZ, For the processor, the ISZ signal lines 54A from the processor are made internal memory through memory priority selection circuit 56 purity 51 (Fig. IC) used. Since the lines 54Λ on each pail exist, whether the system has a translator or not, the internal memory cycle control from the concentrator 931 with the Processor connected to cine ISZ. To initiate addressicropcration. The lines for the Ausscnspcicher cycle and the asynchronous memory cycle lead to FIGS. 9E and 9F-1 in order to enable the address selection in the to initiate the units concerned.
F. OperandcnbcreichsabgleichF. Operand range comparison
Eine speziell vorgesehene Einrichtung ist der Operandenbercichsabgleich (ODA). Wenn diese Bedingung im Adressschlüsselregister ASR gesetzt ist, ergibt sich ein spezieller Adrcssicrungszustand, bei dem alle Operandenabrufe zwangsweise im O P2 S-Adressbereich stattfinden, •während der Adressbereich, der durch den OPlS-Adrcssschlüssel ange-A specially provided facility is the operand area comparison (ODA). If this condition is set in the address key register ASR there is a special address status in which all operand calls are forced to take place in the O P2 S address area, • while the address range specified by the OPIS address key
709845/0874709845/0874
-72--72-
geben ist, obwohl der Schlüssel im OPlS-Registcrabschnit.t des Adressschlüsselregisters ASR nicht geändert wird.although the key is in the OPIS register section of the address key register ASR is not changed.
Der OBA-Zustand des Systems wird herbeigeführt durch den in Fig. 13Λ gezeigten Freigabebefahl, wenn dessen OJiA-Bit 13 auf 1 gesct'/.t ist. Wenn dieser Bcfelil ausgeführt wird, bewirkt das genetzte OBA-Bit,das;der OBA-Registerabschnitt im betreffenden ASR entsprechend geladen wird durch Eingabe vom Prozessor-ROS- Decodierer (Fig. 4). Es wird keiner der Schlüssel im ASR geändert, wenn der OBA-Zustand aktiviert wird. Es wird jedoch nicht zu dem Adressbereich zugegriffen, der im OPIiJ-Abschnitt definiert ist, solange der OBA-Zustand im ASR aktiv ist. Die OBA-Einrichtung wird durch die in Fig. 3D gezeigte Schaltung implementiert, in welcher eine Aktivierung der OBA-L-citung vom ASR zwangsweise bedingt, dass der AAS-Ausgang den OPZS-Schlüsscl abgibt,jedesmal wenn bei Ausführung eines Befehls im Prozessor eine Zugriffsanfordcrung entweder für einen OPl-Operanden oder einen OP2-Operariden vorliegt. The OBA state of the system is brought about by the in Fig. 13Λ enable command shown if its OJiA bit 13 is set to 1 '/. t. if this bcfelil is executed causes the networked OBA bit that; the OBA register section is loaded accordingly in the relevant ASR by input from the processor ROS decoder (Fig. 4). It won't the key in the ASR changed when the OBA state is activated. However, the address range specified in the OPIiJ section is not accessed is defined as long as the OBA status is active in the ASR. The OBA facility is implemented by the circuit shown in Fig. 3D, in which an activation of the OBA-L citations from ASR is compulsory requires that the AAS output delivers the OPZS key every time if an access request is made when an instruction is executed in the processor is available either for an OP1 operand or an OP2 operand.
Wenn der OBA~Zustand beendet wird durch Ausführung eines Sperrbcfehls, dessen OBA-Bit 13 auf Null gesetzt ist, wird der Schlüssel wert im OPlS-Registerabschnitt wieder in Benutzung genommen, und bei jeder OPl-If the OBA state is ended by executing a lock command, whose OBA bit 13 is set to zero, the key becomes the value in the OPIS register section put back into use, and every OPl-
BC9-76-012 -73-BC9-76-012 -73-
^09845/0874^ 09845/0874
Ope ran d c na nf or dc rung ausgegeben .Ope ran d c na nf or dc tion output.
G. Adresühereichslu-stiinniung diircli ScIiIii.i; seleinirabo ins ASRG. Adresühbereichslu-stiinniung diircli ScIiIii.i; seleinirabo in the ASR
Wenn die OBA -Einrichtung gesperrt ist, haben die drei Adrcssscliliissul iin Adressschliisiiclregister ASR folgende Funktion:When the OBA facility is locked, the three Adrcssscliliissul The following function in the ASR address key register:
Jeder in das ASR geladene Adressfrchliissel definiert einen Adressbereich, dem zugegriffen werden kann. Jeder Adressbereich ist ein logisch zusammenhängender Speicherbereich, zu dem durch die effektive logische Adresse zugegriffen werden kann, ohne Zuhilfenahme irgendeiner programmierten Managementfunklion für die Verteilung der vorhandenen Mittel. Jeder logische Adrcssbcrcich enthält bis zu 64 K Bytes. Alle Bcfchlsabrufe erfolgen in dem Adressbereich, der durch den ISS definiert ist. Alle Lescoperationen, die einen Datenoperanden 1 betreffen (wie er im Speicher-Befehl definiert wird), erfolgen im Adressbereich, der durch den OPlS definiert ist. (Auf Grund der Konstruktion sind keine Schreiboperationen für Operanden 1 vorgesehen). In ähnlicher Weise erfolgen alle Schrcib-und Lescoperationen,die einen Datenoperand 2 betreffen (wieEach address key loaded into the ASR defines an address range, which can be accessed. Each address range is logically connected Memory area that can be accessed by the effective logical address without the aid of any programmed management function for the distribution of the existing Middle. Each logical address area contains up to 64K bytes. All call-offs take place in the address range defined by the ISS. All read operations that concern a data operand 1 (such as is defined in the memory command), take place in the address area defined by the OPIS is defined. (Due to the construction there are no write operations intended for operands 1). All writing and reading operations that relate to a data operand 2 (such as
beim Entwurf der Befehls struktur vorgesehen), im Adressbcrcichiprovided when drafting the command structure), in the address book
t . ■t. ■
der durch den OP2 S definiert ist.which is defined by the OP2 S.
709845/0874709845/0874
ßC9-7o-012 -74-ßC9-7o-012 -74-
Wenn z.B. ISS=-- OPlS- OPZS, erfolgen alle Speiche:rzugriffe zu dem gleichen logischen Adrcr.r.bereich von 6-1K Bytes Kapazität. Wenn ISS nicht gleich OPl ist, wenn aber OPlS π OPZS, dann erfolgen die In.struktionsahrufe im JSS-Adrc-ssbeveich und die Datenzugriffe erfolgen im OPZ-Adrcssbcreich. Wenn ISS / OPlS / OPZS, dann erfolgt der Befehls ab ruf im ISS-Adressboreich, jeder Abruf eines Operanden 1 im OPlS-Adrcssbereich, und jeder Abruf oder jede Abspeichcrung eines Operanden Z im OPZS-Ad ressbe reich, wobei also die 3 Adres sbereiche voneinander verschieden Kind. !Der Dalenfluss für eine Klasse von Inslruklionen^bei denen drei verschiedene Adressbercichc benutzt werden, ist in Fig. ZA darge- stellt. Die Schlüsselwerte im ASR können nur gesetzt werden, wenn der Prozessor im Ucberwachungsprogrammbctrieb arbeitet, d.h. wenn die Befehle zum Laden des ASR privilegiert, sind.If, for example, ISS = - OPlS- OPZS, all memory: r accesses are made to the same logical address range with a capacity of 6-1K bytes. If ISS is not equal to OPl, but if OPlS π OPZS, then the instruction calls take place in the JSS-Adrc-ssbeveich and the data access takes place in the OPZ-Adrcssbcreich. If ISS / OPIS / OPZS, then the command is called in the ISS address area, every call of an operand 1 in the OPIS address area, and every call or every storage of an operand Z in the OPZS address area, with the 3 address areas different from each other child. The Dalen flow for a class of information in which three different address ranges are used is shown in FIG . The key values in the ASR can only be set if the processor is working in the monitoring program, ie if the commands for loading the ASR are privileged.
H. Laden des ASR bei UnterbrechungH. Loading the ASR in the event of an interruption
Wenn im Prozessor eine Unterbrechung vorkommt, werden in das ASR zur Vorbereitung Adressschlüssel für Adressbereiche eingegeben, die von den die Unterbrechung behandelnden Programmen benötigt werden könnten. Es gibt im System eine Mehrzahl verschiedener Arten von Unterbrechungen, deren jede ihre spezielle Programmieruntcrstülzung hat, dieIf there is an interruption in the processor, address keys for address ranges that may be required by the programs handling the interruption are entered into the ASR in preparation. There are a number of different types of interrupts in the system, each with its own specific programming support, the
BC9-76-012 -75- BC9-76-012 -75-
709845/0874709845/0874
wiederum das Jaulen bestimmter Adressschlüssel erfordert. Zu den Pro/.e.s.sorimterbrechungen gehören: Unterbrechungen zum Ucbcrwachungsp r ng ramm auf ruf, E/A- Gera !Unterbrechungen, Ma schinen fehle; r-/j3ro{;rani n · fehler-Uiiterbr ucliun gen, Programm- Protokoll -Unterbrechungen, Bedienungsfelcl-Unt e rbrechungen und Unterbrechungen bei thermischer Heberlastung. Diese Prozessor-Unterbrechungen werden manchmal Klassen-Unterbrechungen genannt.again requires the whine of certain address keys. The processor interrupts include: interruptions to the monitoring program on call, I / O device interrupts, machine errors; r- / j 3 ro {; rani n · error bridges, program protocol interruptions, control panel interruptions and interruptions in the event of thermal siphon load. These processor interrupts are sometimes called class interrupts.
Es wird angenommen, dass alle Unterbrcchungs-Routinen im Adressbereich mit Schlüssel = 0 untergebracht sind. Deshalb muss in den ISS-Abschnitt eine 0 geladen werden, wenn eine Unterbrechung eintritt. Da die Operandcndat.en, welche zur Behandlung einer bestimmten Unterbrechung benötigt werden, in einem anderen Adressbereich untergebracht sein können, kann der zu den speziellen Unterbrechungsdaten gehörende Adressschliissel in den OPIS-Rcgiste rabschnitt geladen werden. Ein OPl-Schlüssel wird eingegeben, wenn eine Klassenunterbrechung erfolgt (d.h. Eingabe eines Eingangs signals in die Zwangsadressschaltung 402 in Fig. 4), und zwar zur Vorbereitung der Durchführung einer Speicher-Speiche r-Uebcrt ragungsopcration vom unterbrechenden Adressbereich (d.h. OPlS-Bcrcich) zum OP2S-Adressbereich mit Schlüssel = 0. Wenn eine Klassenunterbrechung auftritt, wird z.B. ein Nivcaustatusblock NSB in den OP2S-It is assumed that all interrupt routines are in the address range with key = 0. Therefore it has to be in the ISS section a 0 can be loaded if an interrupt occurs. Since the operand data which are used to handle a specific interrupt are required, can be accommodated in a different address area, the belonging to the special interruption data can Address key can be loaded into the OPIS register section. An OPl key is input when a class interrupt occurs (i.e. input of an input signal to the compulsory address circuit 402 in Fig. 4), namely to prepare the implementation of a memory-storage transfer operation from the interrupting address area (i.e. OPIS-Bcrcich) to the OP2S address area with key = 0. If a class break occurs, e.g. a level status block NSB in the OP2S
BC9-76-012BC9-76-012
!Bereich abgespeichert, weicherden Schlüssel - 0 hat (d.h. OP2S --- 0), wobei Dale·, η VO)Ii OPlS-Berci ch abgerufen werden. Der Inhalt des ASR wird mit einem Befehl /.urn Abspei ehern des ASR auch in den NSB eingegeben. ! Area saved, which key has - 0 (i.e. OP2S --- 0), where Dale ·, η VO) Ii OPlS report are called up. The content of the ASR is also entered in the NSB with a command /. to store the ASR.
Andere Zustünde, bei denen alle: Schlünsclwertc; im ASR - 0 gesetzt v/erden, sind: Syr.tcmrückstellung und einleitendes Programmladen , während denen die OPA-Einri chtung, der Uebersclzer, und die Spcicherschut/.einrichtung alle gesperrt .sind.Other states in which all: Schlünsclwertc; in ASR - 0 are set: Syr.tcm resetting and initial program loading, during which the OPA device, the overclzer, and the memory protection device are all blocked.
H, 1 Unterbrechung mit Ueberwaclnnip,sprogramm - Ruf (SVC-Unlcrbn-chuniH, 1 interruption with monitoring, program call (SVC-Unlcrbn-chuni
Kür die unten besprochenen Operationen bei der SVC-Unterbrechung ist angenommen, dass die Ueberwachungsprogramme im Adressbereich mit Schlüssel - 0 untergebracht sind, und dass das Benutzer-Programm in einem anderen Adressbereich, d.h. mit Schlüssel / 0 steht. Es ist •weiterhin angenommen, dass ein Austausch von Daten /.wischen Benutzer und Ucbcrwachungsprograrnm erforderlich ist. Die Daten müssen vom Adressbereich des Benutzers in den Adressbereich des Ueberwachungsprogramms geholt werden und müssen später zum Adrer.sbcrcich des Benutzers zurückübertragen werden.For the SVC interruption operations discussed below, it is assumed that the monitoring programs are accommodated in the address area with key - 0 and that the user program is in a different address area, ie with key / 0. It is also assumed that an exchange of data between the user and the monitoring program is necessary. The data must be fetched from the address area of the user into the address area of the monitoring program and must later be transferred back to the user's Adrer.sbcrcich.
BC9-76-012BC9-76-012
Fig. 13B zeigt die liadcoperationen fiir das ASR bei einer SVC-Unterbrechung. Ks wird angenommen, dass anfänglich iin Benutze !^--zustand jeder der drei Benutzer schlüssel den Wert ?. hat, und dass das. ΟΓ·Λ-Feld = 0 gesetzt ist. Wenn im Prozessor der Fig. 4 ein Uebcrwachungsprogramt: Rufbefehl (SVC- 13cfell 1) ausgeführt wird, bewirkt die Zwangsadrcsssehaltung, dass eine Folge von ROS-Wörtern abgerufen und ausgeführt wird, wodurch der Prozessor in den Ucbcrwao.hungszusland gebracht wird. Es wird auch ein Niveaustalusblock NSB abgespeichert, der Inhalt von OPZS an den Inhalt von OPlS ausgegeben, sodass der Adressbercich. der die Daten enthält, die bei der Gcnericrung der Unterbrechung beteiligt waren, adressierbar wird. Die Null-Ausgabeleitung (AG 0) vorn Prozessor -ROS-Decodierer wird aktiviert und liber den Prozessordatenpfad in die OP2S- und ISS-Positionen des ASR Werte eingegeben.13B shows the load operations for the ASR in the event of an SVC interruption. Ks is assumed that initially in Use! ^ - each of the three user keys had the value ?. and that the. ΟΓ · Λ field = 0 is set. When a monitoring program: call command (SVC-13cfell 1) is executed in the processor of FIG. 4, the forced address circuit causes a sequence of ROS words to be called up and executed, whereby the processor is brought into the monitoring country. A level value block NSB is also stored, the content of OPZS is output to the content of OPIS, so that the address range. which contains the data that were involved in the generation of the interruption, becomes addressable. The zero output line (AG 0) from the processor -ROS decoder is activated and values are entered into the OP2S and ISS positions of the ASR via the processor data path.
Daten werden vom Benutzerbereich in den Ueberwachungsprogrammbcrcich Übertragen,und dann wird der Freigabebefehl (Fig. 13 A) mit einer 1 in Bitposition 13 ausgeführt, um den OBA-Zustand 4, der in Fig. 13B gezeigt ist, herbeizuführen. Dies bewirkt, dass alle Speicherzugriffe im Adressbercich mit Schlüssel- 0 erfolgen, während das Ucberwachungsprogramm im OBA-Zustand ausgeführt wird, wobei die Zugriffsmöglichkeit zum O Pl-Adressbereich nicht verloren wird.Data is transferred from the user area to the monitoring program area Transmitted, and then the release command (Fig. 13A) with a 1 executed in bit position 13 to produce OBA state 4, which is shown in FIG. 13B is shown to bring about. This has the effect that all memory accesses in the address area take place with key 0 during the monitoring program is executed in the OBA state, whereby the possibility of access to the O PI address area is not lost.
BC9-76-012BC9-76-012
AVcnn das Uobcrwachungsprogramm Information in den OPIS-Bcreich Übertragen möchte, gibt der Prozessor einen Sperrbefehl ab, der den Inhalt des OBA-AbschniUs im ASR rückstellt; dies bewirkt Rückkehr zum OPl-A<lres.c;bereich. Dann wird der Zustand 6 von Fig. 1315 herbeigeführt durch Auswechseln der Felder OPlS und OP2S, damit dem Ueberwachungsprogrnmm eine Adressiermöglichkeit zum Abspeichern im OPlS-Bereich gegeben wird. Das Ucbcrwachungsprogramm kann dann die Daten vom Ueberwachungsprogrammbc reich zum Bcnutzerbercich übertragen. Dann wird das ASR in den Benutzerzusland 7 (Fig. J3B) zurückgebracht durch Laden des ursprünglichen Inhaltes des ASR vom Niveaustatusblock NSB.If the monitoring program wants to transfer information to the OPIS area, the processor issues a lock command which resets the content of the OBA section in the ASR; this causes a return to the OPI-A <lres. c ; area. Then state 6 of FIG. 1315 is brought about by exchanging the fields OPIS and OP2S so that the monitoring program is given an addressing option for storing in the OPIS area. The monitoring program can then transfer the data from the monitoring program to the user area. Then the ASR is brought back to user country 7 (Fig. J3B) by loading the original contents of the ASR from the level status block NSB.
Fig. 18 zeigt die Operationen, die ausgeführt werden, wenn ein SVC-Befehl ausgegeben wird. Zu diesen Operationen gehört die Rettung des altenFig. 18 shows the operations performed when an SVC instruction is issued. These operations include saving the old one
Inhalts des ASR und Laden eines neuen Inhalts in das ASR entsprechend der nachfolgenden Uebersicht, wobei die Abschiiittsnummcrn der Uebersicht und die eingekreisten Nummern an den Datenpfaden in der Fig. 18 einander entsprechen. Die Ausführung des SVC-Befehls im Prozessor geschieht auf folgende Weise:Contents of the ASR and loading of new content into the ASR accordingly of the following overview, whereby the section numbers of the overview and the circled numbers on the data paths in FIG. 18 correspond to one another. The execution of the SVC instruction in the processor happens in the following way:
(1) Am Anfang der Ausführung des SVC-Befehls wird der Inhalt des ASR(1) At the beginning of the execution of the SVC command, the content of the ASR
7 L! 9 04 5/00 747 L! 9 04 5/00 74
-79--79-
an das Arbeit sbercichregisler (ABR) ausgegeben, und zwar Über den Prozessordatenpfad durch Aktivierung des Signals ACl AS]I und des Signals KG ABU vom ROS-Decodiercr. Diese Operation wird angezeigt durch die Uebertragiing des ASR-Inhaltes in das Register TEMPA ind Fig. 18; es wird angenommen, dass OPlS, OP2S und ISS auf den Wert 3 gesetzt worden sind.issued to the Arbeits sbercichregisler (ABR), namely About the processor data path by activating the signal ACl AS] I and of the signal KG ABU from the ROS decoder. This operation will indicated by the transfer of the ASR content into the register TEMPA in Fig. 18; it is believed that OPIS, OP2S and ISS have been set to the value 3.
(2) Ausgabe OP2S und Eingabe OPlS.(2) Output OP2S and input OPlS.
(3) OP2S - LSS - 0 setzen.(3) Set OP2S - LSS - 0.
(4) Der Inhalt des Niveaustatusregisters (NSR) wird im Tempora rrcgisler gespeichert (TEMPB1).(4) The content of the level status register (NSR) is saved in the tempora rrcgisler (TEMPB 1 ).
(5) Im Register NSR1 wird das Bit iiir den Ueberwachungszustand gesetzt, das Bit für die Summenmaske rückgestellt, und das Protokollbit ebenfalls rückgestellt.(5) In register NSR 1 , the bit ii for the monitoring status is set, the bit for the sum mask is reset, and the protocol bit is also reset.
(6) Der Inhalt des BAR (Befehlsadressregister) wird dann um zwei Einheiten erhöht, sodass jetzt die nächste Speicherstcllc adressiert wird, in welchem sich der Anfang der Daten oder ein Zeiger zu den Daten befindet.(6) The content of the BAR (instruction address register) is then increased by two units so that the next memory stcllc is now addressed where the beginning of the data or a pointer to the data is located.
709845/0874709845/0874
BC9-76-012 -30- :'BC9-76-012 -30- : '
(7) Wenn der Prozessor den SVO Zustand entdeckt, wird der Inhalt der Speicherstelle 0010 im Adrcssbercich mit Schlüssel - 0 abgerufen. Dieser Bereich enthält dcfini t ionsgernii ss eine Adresse (d.h. einen Z^ciger) zu einem Nivcauspeicherblock (d.h. NSP)), •welche:r sich seinerseits auch im Adressbereich mit Schlüssel "0 befindet.(7) When the processor detects the SVO state, the content the memory location 0010 in the address area with key - 0. This area contains an address (i.e. a Z ^ ciger) to a level memory block (i.e. NSP)), • which: r in turn also in the address area with key "0 is located.
(8) Der NSB-Zeiger in Stelle 0010 wird in das Speicheradress registe r SAR (Fig. 4) übertragen.(8) The NSB pointer in position 0010 is stored in the memory address registe r SAR (Fig. 4) transmitted.
(9) An dem durch das SAR adressierten, für den NSB vorgesehenen Speicherplatz werden dann die Inhalte von BAR, TEMPA, TEMPB, sowie der AUgemcin-Register 0-7 gespeichert (NSB).(9) The contents of BAR, TEMPA, TEMPB, as well as the AUgemcin register 0-7 (NSB).
(10) Die SVC-Nummer (welche die betreffende Art von SVC-Befehl identifiziert) wird aus dem SVC-Befehl im Adrcssbereich 1 kopiert.in das Register Rl.(10) The SVC number (indicating the type of SVC command identified) is copied from the SVC command in address area 1 into register Rl.
(11) Der Inhalt des Speicherplatzes 0012 wird in das BAR übertragen.(11) The content of memory location 0012 is transferred to the BAR.
(12) Es beginnt jetzt die Ausführung der Ucberwachungsprogramm-(12) The execution of the monitoring program now begins
routine, welche an der Spcicherstclle mit Adresse 0012 beginnt.routine, which starts at the memory location with address 0012.
709845/0874709845/0874
BC9-76-012 -81- -; ^BC9-76-012 -81- -; ^
Das ist die Routine, welche durch SVC Nummer 2 gerufen wird.This is the routine called by SVC number 2.
Beim Beginn der SVC-Routine hat das ASR folgenden Iiihali:At the beginning of the SVC routine, the ASR has the following Iiihali:
OPlS OP2S ISSOPlS OP2S ISS
OP2S1 0 0 (Bemerkung: OP2S1 ist derOP2S 1 0 0 (Note: OP2S 1 is the
vorherige Inhalt von OP2S).previous content of OP2S).
Bei den anderen Klassen-Unterbrechungen werden ähnliche Arien von Operationen durchgeführt um einen bestimmten Ladezustand des ASR zu erreichen, wie es im Folgenden dargestellt ist:In the other class breaks, similar arias are used by Operations carried out to a certain state of charge of the ASR as shown below:
H. 2 Gerätebedingte Unterbrechung H. 2 G e erätebedingt Unterbrec hung
(1) Protokoll rückstellen, OBA sperren, und Ueberwachungszustände $etzen.(1) Reset protocol, block OBA, and monitoring states $ et.
(2) ISS = OPlS = OP2S = 0 setzen.(2) Set ISS = OPlS = OP2S = 0.
(3) Die Adresse eines Gerätedatenblocks in Register 1 einsetzen.(3) Insert the address of a device data block in register 1.
(4) Die Unterbrechungsidentifikation (ID), welche vom unterbrechenden(4) The interrupt identification (ID) used by the interrupting
709845/0874709845/0874
BC9-76-012 -82— ;BC9-76-012 -82-;
K/A-Gerät empfangen wurde, in Register 7 einsetzen.Enter the K / O device in register 7.
Der sieh ergebende Inhalt des ASR ist:
OPlS OPZS ISS The resulting content of the ASR is:
OPlS OPZS ISS
JI. 3 Unterbrechung bei Maschincnfehler und ProgrammfehlerJI. 3 Interruption in the event of machine error and program error
(1) Protokoll rückstellen, Summenmaske sperren, OBA sperren, und Ueberwachuiigszuständc setzen. Den NSB im Adressbereich mit Schlüssel - 0 abspeichern.(1) Reset protocol, block total mask, block OBA, and set monitoring status. Save the NSB in the address area with key - 0.
(2) ISS = OP2S - 0 setzen. (2) Set ISS = OP2S - 0 .
(3) LKSA im OPlS speichern.(3) Save the LKSA in the OPlS.
(4) Inhalt des SAR im Register 7 speichern (ausser Protokollbit).(4) Save the content of the SAR in register 7 (except for the protocol bit).
Register 408 in Fig. 4 gespeicherte Schlüssel bei Auftretender Unterbrechung).Register 408 in Fig. 4 stored keys when interrupt occurred).
709 84 5/0874709 84 5/0874
BC9-7r-012 -83-BC9-7r-012 -83-
II. 4 Unterbrechung vom Bcdienungsfeld/II. 4 Interruption from the control panel /
Untcrlircflninp, bei thermischer üc-hori :i stUntcrlircflninp, with thermal üc-hori: i st
unU.N
(1) Protokoll rückstellen, Suiruncnmaske sperren, OBA sperren, und Ucbcrwarlnmoszusländi: setzen.(1) Reset protocol, lock control mask, lock OBA, and Ucbcrwarlnmoszusländi: put.
(2) NSB nbspeicliern unter Benutzung des Adrcssschlüssel s(2) Save NSB using the address key s
(3) ISS ^ OPlS ~ OPZS = 0 setzen.(3) Set ISS ^ OPlS ~ OPZS = 0.
Es ergibt sich folgender Zustand des ASR:The ASR is in the following state:
OPLS OP?. S ISSOPLS OP ?. S ISS
0 0 00 0 0
H. 5 Pi-ot okollauf zcirhnungs- UnterbrechungH. 5 Pi-ot okollauf zcirhn- interruption
(1) Protokoll rückstellen, Summenmaske sperren, OBA sperren, und Uc-bc rwachungszuständc setzen. NSB abspeichern im Adressbereich mit Schlüssel =(1) Reset protocol, block total mask, block OBA, and set Uc monitoring states. Save NSB in the address area with key =
(2) ISS übertragen nach OPlS.(2) ISS transferred to OPIS.
BC9-76-012 -34- -BC9-76-012 -34- -
709 8-4 5/087;709 8-4 5/087;
(3) OP2S = ISS =-- O setzen.(3) Set OP2S = ISS = - O.
ergibt sich folgender Inhalt des ASR:the following content of the ASR results:
OPlS OP2S ISSOPlS OP2S ISS
ISS1 0 0 (Bemerkung: ISS1 entspricht dorn y.ur ISS 1 0 0 (Note: ISS 1 corresponds to dorn y.ur
Zeit der Unterbrcchimg vorliegenden JSS).Time of interruption present JSS).
2. Schaltungen für Speicherschutz ohne Uebersetzcr2. Circuits for memory protection without translator
Die in Fig. 11 gezeigten Speicher schutzschaltungcn für über setzungsfreie Adressierung (UFA-Spcichc rschu tzschaltungen) werden benutzt, wenn der in Fig. 9A und 9B gezeigte Adres sver schiebungsüber set zer entweder nicht freigegeben oder im System nicht installiert ist. Die Erfindung er-' möglicht eine Aufwärtskompatibilität zwischen einem System mit Uebcr-Hetzer und Adrcssschlüsselspcichcrschutz einerseits und einem System ohne Uebcrsetzer mit Speicherschutz andererseits. Das heisst: Programme und Daten,die in einem System benutzt werden, welches mit der UFA-Speicherschutzeinrichtung arbeitet, können ohne Aenderung in einer An-. lage benutzt werden, die einen Adressverschiebungsübersetzer hat. Diese Wechsclmöglichkcit zwischen zwei Arten von Speiche rschut zschaltungcn ist für Systembenutzer sclir wiclitig, die mit einem relativ kleinen Speiche-1The memory protection circuit shown in Fig. 11 for over settlement-free Addressing (UFA memory protection circuits) are used when the Address shift translator shown in Figs. 9A and 9B either not released or not installed in the system. The invention enables upward compatibility between a system with Uebcr-Hetzer and address key memory protection on the one hand and a system without translator with memory protection on the other hand. That means: programs and data used in a system associated with the UFA memory protection facility works, can without change in an. location that has an address shift translator. These Possibility to switch between two types of memory protection circuits is important for system users who have a relatively small spoke-1
709845/0874709845/0874
r.C? ""-012 -85-Γ .r.C? "" -012 -85-Γ.
system, das preiswert ist, beginnen wollen, und die ihren Speicher später für ein grüs.seres System erweitern wollen.system that is inexpensive, and who want to start their memory want to expand later for a greener system.
Wenn der Ad ressverschiebungsübe rnet/.er freigegeben ist, und die UFA-Speicherschulzschaltung auch freigegeben ist, wird der Adressverschiebungnu.be rs<jtz;cr gesperrt. Der Zustand der UFA-Speicherschulzeinrichtungen wird gesteuert durch den Freigabe/Spcrrbefehl, der in Fig. 13A gezeigt ist.When the address shift control is released, and the UFA storage school circuit is also enabled, the address shift is nu.be rs <jtz; cr blocked. The state of the UFA storage school facilities is controlled by the enable / lock command, which is in 13A is shown.
Die UFA-SpeicherSchutzschaltungen ermöglichen die Verhinderung unerwünschter Zugriffe zu einer Hauptspeichcrstelle, sei es durch einen Prozessorbefehl oder einen E/A-Befehl, der eine nicht übersetzte Adresse benutzt. Milden UFA-Speichereinrichtungcn wird der Hauptspeicher in Blöcke von je 2048 Byte Kapazität unterteilt. Für jeden Block des Hauptspeichers w^rd ein Speicherschlüsselregister in einem Regislerstapcl 501 (Fig. 11) vorgesehen. Jedes Register ist einem bestimmten Block im Innenspeicher zugeordnet, welcher durch die fünf höchstwertigen Bits in einer 16 Bit langen physischen Adresse ausgewählt wird, wobei dies die im Programm erscheinende Adresse ist, welche direkt von einem Programm erzeugt wird, das im System abläuft. Bei Verwendung der UFA-Speichcrschutzeinrichtung sind die im ProgrammThe UFA memory protection circuits make it possible to prevent undesired Access to a main storage location, be it through a Processor command or an I / O command that uses an untranslated address. Mild UFA storage devices become the main storage divided into blocks with a capacity of 2048 bytes each. For each block of main memory, there is a memory key register in one Regisler stack 501 (Fig. 11) is provided. Each register is a specific one Allocated block in internal memory, which is selected by the five most significant bits in a 16-bit physical address This is the address appearing in the program that is generated directly by a program that runs in the system. at Use of the UFA memory protection device are included in the program
BC9-76-01 2 -86-BC9-76-01 2 -86-
erscheinenden Adressen die physischen Adressen; wenn aber der Uebersetzer freigegeben wird, ist die im Programm erscheinende Adresse ein Teil der logischen Eingnngsadressc. Jedes Register hat mindestens drei Bitstellcn für einen zugeordneten Spcicherschlüfisel und ein Nur-Lese-Bit R; es kann auch zusätzlich ein Validitätsbil V haben (nicht gezeigt). Für die drei Bit langen Speicherschlüssel sind die Bi t- Positionen 0, 1 und ?. vorgesehen, welche durch eine der üblichen Befehle zum Laden von Speichersclilüsscln geladen werden können, (wie z.B. im IBM System/ 360.appearing addresses the physical addresses; but if the translator is released, the address appearing in the program is part of the logical input address. Each register has at least three bit positions for an assigned memory key and a read-only bit R; it can also have a validity profile V (not shown). The bit positions are 0, 1 and ? For the three-bit storage keys. provided, which can be loaded by one of the usual commands for loading memory keys (such as in the IBM System / 360.
Ein zur UFA-Speicherschutzoperation gehörender Verglcichstcil entspricht in etwa der Arbeitsweise der Spcichcrschlüsselschutzcinrichlungcn, die in bekannten Systemen wie z.B. ΙΒλΊ-Systeme /360 oder IBM-Systeme/ 370 vorkommen. Die übrigen, damit zusammenarbeitenden Teile der UFA-Speicherschutzeinrichlungen aber gehören zu der neuen Lösung', welche in dieser Beschreibung dargestellt ist, ebenso ihr« Kombi nation mit den besonderen AAS - Auswahlschaltungcn 333 (Fig. 3D).A comparison item belonging to the UFA memory protection operation corresponds to roughly how the memory key protection devices work, those in known systems such as ΙΒλΊ systems / 360 or IBM systems / 370 occur. The other parts of the UFA storage protection devices that work together are part of the new solution ', which is shown in this description, as well as its «combination with the special AAS selection circuit 333 (FIG. 3D).
Für die Vcrgleichsopcration werden die höchstwertigen Bits 0-4 der 16 Bit langen physischen Adresse benutzt, um dasjenige Register im Stapel auszuwählen, welches dcmlnnenspcichcr block zugeordnet ist.For the comparison operation, the most significant bits 0-4 become the 16-bit physical address is used to select the register in the stack that is assigned to the dcmlnnenspcichcr block.
709845/0874709845/0874
BC9-76-012 -B7-· BC9-76-012 -B7-
Der Speiche rschlüsscl im ausgewählten Register wird abgerufen. Der aktive Adressschlüssel AAS wird dann mit dem aus dem Stapel ausgewählten SpeicherschlÜKsel in der Vergleichsschaltung 502 (Fig. 11) verglichen. Falls der Vergleiche!· anzeigt, dass die beiden Schlüssel gleich sind, so wird der Zugriff zugelassen, vorausgesetzt, dass die UFA-Speicherschutzeinrichtung freigegeben ist, und dass es sich bei dem Zugriff entweder um eine Abruf-Operation handelt oder um eine Schreib-Operation, wobei das Mur-Lese-Bit auf 0 gestellt ist. Die UFA-Speicherschutzeinrichlung ermöglicht also einen selektiven Schutz je nach Zugriffsart; mit ihr kann also bei übersetzungsfreicr Adressierung ein getrennter Speicherschutz für Adressen in den Bereichen OPlS, OPZS und ISS erreicht werden.The memory key in the selected register is retrieved. Of the AAS active address key is then selected with the one selected from the stack Storage keys in comparison circuit 502 (Fig. 11) are compared. If the comparison! · Indicates that the two keys are the same access is permitted provided that the UFA memory protection facility is enabled and that the access is either a fetch operation or a write operation, where the Mur read bit is set to 0. The UFA storage protection facility thus enables selective protection depending on the type of access; it can be used for addressing with no translation Separate memory protection for addresses in the areas OPIS, OPZS and ISS can be reached.
Ein weiteres besonderes Merkmal der UFA-Speicherschutzcinrichtungen ist die Zugriffs steuerung bei gemeinsam benutzten Speicherbereiclien, welche durch einen besonderen Schlüsselwert angezeigt ist, und bei Zugriffen durch E/A-Unterkanäle. Jeder Benutzer hat Zugriff zu den speziellen, durch Schlüssel bezeichneten Speicherbereichen, die für den betreffenden Benutzer im ASR im Prozessor definiert sind; alle Benutzer könnenden Schlüssel -Ί in jedem Registerabschnitt, des ASR benutzen, um einen von den Benutzern gemeinsam benutzten Speicherbereich zu definierenAnother special feature of the UFA memory protection devices is the access control for shared memory areas, which is indicated by a special key value, and for accesses through I / O subchannels. Each user has access to the special memory areas, designated by keys, which are defined for the respective user in the ASR in the processor; all users can use the key -Ί in each register section of the ASR to define a memory area shared by the users
BC9-76-01 2 / -33-BC9-76-01 2 / -33-
7Π98Α5/08747Π98Α5 / 0874
Die Schaltung 505 steuert die Zugriffe zu den gemeinsam benutzten Speicherbereichen.The circuit 505 controls the accesses to the shared memory areas.
Eine besondere Zugriffs steuerung für E/A-Operationen bei Benutzung der ÜFA-Speicherschutzeinrichtungen ist durch die Schaltungen 50-1 und 505 gegeben, welche ermöglichen, dass eine E/A-Cyclc-Sleal-Zugriffsanforderung sowohl zu dem Speicherbereich, der für den betreffenden Benutzer in seinem ASR definiert ist, als auch zu dem genieinsamen Speicherbereich mit Schlüssel = 7 gemacht werden kann, wobei kein E/A-Cycle-Steale- Zugriff verhindert wird durch das Nur-Lese-Bit im verwendeten Speichcrschlüsselregister. D.h. also, dass ein E/A-Schreibzugriff immer zugelassen wird unabhängig vom Wert des Nur-Lese-Bits im ausgewählten Register im Stapel 501.A special access control for I / O operations when using the ÜFA memory protection devices is given by the circuits 50-1 and 505, which enable an I / O Cyclc Sleal access request to both the memory area for the relevant User is defined in his ASR, as well as can be made to the ingenious memory area with key = 7, whereby no I / O cycle steal access is prevented by the read-only bit in the memory key register used. In other words, I / O write access is always permitted regardless of the value of the read-only bit in the selected register in stack 501.
Falls der Prozessor im Ueberwachungsprogrammzustand ist, d.h. wenn Bit 8 im NSR (Fig. 4) gesetzt ist, werden die Speicherschlüsselschutzschaltungen umgangen und alle Zugriffe zu jedem beliebigen Block im Hauptspeicher erlaubt. If the processor is in the monitoring program state, ie if bit 8 in the NSR (FIG. 4) is set, the memory key protection circuits are bypassed and all access to any block in the main memory is permitted.
Zusammenfassend kann man sagen, dass die Adrcssbcreichsauswahlsteuerung, welche durch das Adrcssschlüsselregister ASR gegeben ist,In summary, it can be said that the address range selection control, which is given by the address key register ASR,
BC9-76-012 7ίΊ9^_5/08 7 4BC9-76-012 7ίΊ 9 ^ _5 / 08 7 4
immer benutzt wird, sowohl bei Freigabe der OFA-Speicherschutzeinrichtung als auch bei Benutzung einer zusätzlich vorgesehenen tlcbcrsetzer-Einrichtung. Der aktive Adress schlüssel AAS ist entweder ein CS-Schlüssel oder eiji Schlüssel, fter aus dem ASR ausgewählt wurde bei Ausführung eines Prozessorbefehls, in Abhängigkeit davon, welche Art Information durch den Zugriff abgerufen wird (Art von Operand bzw. Befehl).is always used, both when the OFA memory protection facility is enabled as well as when using an additionally provided transfer device. The active address key AAS is either a CS key or eiji key that was selected more often from the ASR at Execution of a processor command, depending on which type Information is called up through the access (type of operand or Command).
Wenn die UFA-Spcicherschutzeinrichtung freigegeben ist, muss mindesten: eine der folgenden Bedingungen erfüllt sein, dainit ein versuchter Speicher zugriff erlaubt wird:If the UFA memory protection device is released, at least: one of the following conditions must be met, so that an attempted Memory access is allowed:
(l) Die Anlage befindet sich im Uebcrwachungsprogrammzustand.(l) The system is in the monitoring program state.
(?.) Der Speicher schlüssel des adressierten Blocks ist 7. Bei einem Versuch zum Einschreiben im Speicher muss das Nur-Lese-Bit " sein .(?.) The memory key of the addressed block is 7. With a Attempt to write to memory must have the read-only bit ".
(3) Der Spcicherschlüsscl des adressierten Blocks muss dem aktiven Adrcssschlüssel AAS gleich sein. Wenn eine Spcicherschreib-Operation versucht wird, muss das Nur-Lese-Bit = 0 sein.(3) The memory key of the addressed block must correspond to the active one Address key AAS must be the same. If a memory write operation is attempted, the read-only bit must be 0.
7 0 9-8 4 5/08747 0 9-8 4 5/0874
BC9-76-O12 -90-BC9-76-O12 -90-
'AVcnn keine der obigen Bedingungen (]), (2) oder (3) erftillt ist, gibt der Inverter 507 (Fig. U) ein Spcicherzugriffsperrsignal aus, durch weh lies eine'Prograrnmfehler-Unterbrechung (PCK) hervorgerufen wird, welche das entsprechende Bit im Prozessor- Zustandswortregister (PSW- Ri- gist er) setzt.'AVcnn none of the above conditions (]), (2) or (3) is met, the Inverter 507 (Fig. U) a memory access lock signal, read through a program error interruption (PCK) is caused which the corresponding bit in the processor status word register (PSW register) puts.
Im Uebcrwachungsprogramm-Zustand ist also freier Zugriff zu s/imtlichen Teilen des Hauptspeichers gegeben. Ein Zugriff zu einem Speicherbereich, der einen Spcicherschutzschlüsscl 7 hat, ist erlaubt unabhängig vom Wert des aktiven Adressschlüssels AAS oder der Werte im Adressschlüsselregistcr ASR, wenn das System nicht im Ueberwachungsprogramm- Zustand ist, vorausgesetzt, dass die durch den Wert des Nur-Lese-Bit für den adressierten Block gegebene; Bedingung nicht verletzt wird.In the monitoring program status there is therefore free access to the internal Share the main memory given. Access to a memory area that has a memory protection key 7 is permitted regardless of the value of the active address key AAS or the values in the address key register ASR, if the system is not in the monitoring program state, provided that the value of the read-only bit for given the addressed block; Condition is not violated.
Daraus ergibt sich also, dass innerhalb eines einzelnen, durch einen Adressschilissei definierten adressierbaren Speicherbereichs einige Blöcke im Nur-Lese-Zustand gehalten werden können, während zu anderen Blöcken ein Schreibzugriff möglich ist; dies ist abhängig von dem Binärwert des Nur-Lese-Bits der betreffenden Blöcke im adressierbaren Speicherbereich. Das Nur-Lese-Bit kann durch das Ueberwachungsprogramm gesetzt werden, welches die Stapelregistcr lädt.So it follows that within an individual, through a Address schilissei defined some addressable memory areas Blocks can be kept read-only while moving to others Blocks can be written to; this depends on the binary value of the read-only bit of the relevant blocks in the addressable Storage area. The read-only bit can be set by the monitoring program that loads the stack register.
7U984 5/0 8747U984 5/0 874
BC9-76-012 -91-BC9-76-012 -91-
Beim einleitenden Programm-Laden (IPL) sind sowohl die UFA-Spcichcrschut zeinrichlungen als auch die Uebersctzer-Einrichlungen beide gesperrt, sodass beim einleitenden Laden in jedem Platz des Hauptspeichers eingeschrieben werde)! kann. Nach der erfolgreichen Durchfahrung des einleitenden Programm-Ladens (IPL) kann jede der beiden Speicher schutzeinrichtungen freigegeben werden, und bei Vorkommen von Adres sschl ils se In im ASR^die auf 0 eingestellt sind, geht die Anlage in den Uebcrwachungsprogramm- Zustand über.During the initial program load (IPL), both the UFA spcichcrs are protected zeinrichlungen as well as the overscraper facilities are both blocked, so that during the initial loading in every place of the main memory will be enrolled)! can. After the successful completion the introductory program load (IPL) can be either Storage protection devices are released, and in the event of occurrence from address keys in the ASR which are set to 0, the system goes into the monitoring program state.
Die UFA-Speicherschutzeinrichtung und die UeberSetzereinrichtung benutzen zwar gemeinsam die Einrichtung des aktiven Adressschlüssels AAS, sie haben aber auch eine Anzahl von Merkmalen, die verschieden sind, wie z.B.:Use the UFA memory protection device and the translator device although together the establishment of the active address key AAS, but they also have a number of characteristics that are different, such as:
(1) Bei der UFA-Speicherschutzeinrichtung ist im Ueberwachungsprogramm- Zustand der Zugriff zu sämtlichen Teilen des Hauptspeichers gestattet unabhängig vom Spcicherschlüssel. In einem System mit Uebersetzer kann im Uebcrwachungsprogramm - Zustand nur zu dem Speicherbereich zugegriffen werden, der durch den. aktiven Adressschlüssel AAS definiert ist.(1) In the case of the UFA storage protection device, the monitoring program State of access to all parts of the main memory is allowed regardless of the memory key. In one System with translator can only be accessed in the monitoring program status to the memory area that is assigned by the. active address key AAS is defined.
BC9-76-012 -92-BC9-76-012 -92-
70904 5/087470904 5/0874
(2) Die gesamte Speicherkapazität, die in einem UFA-Spcicherschutzf;ystem durch Adrcsschlür.scl definiert ist, beträgt höchstens 6ΊΚ Bytes. Der gesamte statische Speicher, der durch die Adressschlüssel in einem Uebersetzer sy stern definierbar ist, kann zu jeder Zeit eine Kapazität von bis zu 512K Bytes haben.(2) The total storage capacity in a UFA storage protection system is defined by Adrcsschlür.scl is 6ΊΚ at most Bytes. All of the static memory used by the address key is definable in a translation system, can be used by everyone Time have a capacity of up to 512K bytes.
(3) In einem Uebersetzersystern beginnt der durch die Adrcssschlüssel definierte Adressbereich bei der logischen Adresse 0. In einem UFA-Spcicherschutzsystern beginnt der durch die Adressschlüssel definierte Adressbereich bei verschiedenen möglichen Grenzen von Blöcken von je 2K Byte Kapazität, doch ist durch den Adressschlüssel immer eine Zugriffskontrollc je nach Art gegeben.(3) In a translation system, it begins with the address key Defined address range at the logical address 0. In a UFA storage protection system the address range defined by the address key begins at various possible block boundaries each with a capacity of 2K bytes, but the address key always provides access control depending on the type.
(4) Die Befehle, welche benutzt werden, um die Speicherschlüsselregister im Prozessor zu laden oder um aus diesen abzuspeichern, sind verschieden von den Befehlen, die benutzt werden, um in einem System mit Uebersetzer die Segmentregister zu laden oder aus ihnen abzuspeichern.(4) The instructions used to store the key register to load in the processor or to save from it are different from the instructions that are used in a System with translator to load the segment registers or to save them from them.
(5) Für ein E/A-Gerät in einem System, bei dem ein Uebersetzer freigegeben ist, kann keine Speicherschutz-Fehleropcration vorkommen,(5) For an I / O device in a system where a translator is enabled no memory protection error operation can occur,
7098"45/,08747098 "45 /, 0874
BC9-76-012 -93-BC9-76-012 -93-
ein E/A-Gerät in einem System mit UFA-Spcicher schutzeinrichtung aber kann Speiche rschut κ- Fehlerope ralionen annehmen für den Zugriff 7.U einer Adresse, welche nicht zu dem durch einen CS-Schliissel oder durch einen Schlüssel=? definierten Bereich gehört.an I / O device in a system with a UFA memory protection device but can accept κ error operations for the access 7.U of an address that is not assigned to the CS key or by a key =? defined area belongs.
(6) Wegen der bei einem System mit Uebersetzer gegebenen Flexibilität für die Adressumsetzungen sind bei Vorliegen der UFA-Spcicherschulz-Einrichtungen bestimmte Umsetzungen von logischen in physische Adressbereiche schwierig auszuführen, z.B. Benutzung eines gemeinsamen Bereichs für nur zwei Adrcssschlüsscl.(6) Because of the flexibility given in a system with a translator for address translations are available if the UFA Spcicherschulz facilities are available certain conversions from logical to physical address areas are difficult to carry out, e.g. use of a common Area for only two address keys.
■ 3· Alternative Speicherschutz-Betriebsart (ASB) hei Systemen mit Adrer.siibersetzunß ■ 3 · Alternative memory protection operating mode (ASB) for systems with wire translation
Fig. IA zeigt die Stcuorschaltungen für eine alternative Speicherschutz-Betriebsart (ASB), die in einem Datenverarbeitungssystem verwendet werden kann. Diese Betriebsart ist eine Alternative zur oben beschriebenen Uebersctzungsbelriebsart, bei der ein mehrfach unterteiltes Adrcss— schlüsselrcgister ASR (Fig. ID) benutzt wird. Bei dieser alternativen Betriebsart gibt es nicht die vom Typ des Speicherzugriffs abhängige Adrcssicrbarkcit durch den Prozessor, die mit der Anordnung gemäss Fig. ID erreicht werden kann; sie ermöglicht jedoch separate Adressierbereiche für E/A-Spcichcrzugriffe. Die alternative Betriebsart ermöglicht dem Prozessor eine unterschiedliche, von einem aktiven Adressschlüssel abhängige1A shows the control circuits for an alternative memory protection mode of operation (ASB) that can be used in a data processing system. This operating mode is an alternative to the one described above Type of translation, in which a multiple subdivided address- key register ASR (Fig. ID) is used. With this alternative There is no operating mode that depends on the type of memory access Adrcssicrbarkcit by the processor, which with the arrangement according to FIG. ID can be reached; however, it enables separate addressing areas for I / O memory access. The alternative mode of operation enables that Processor a different one, depending on an active address key
709845/0874709845/0874
BC9-76-012 -94- "BC9-76-012 -94- "
Adressierbarkeit für seine verschiedenen Programme und Daten mit unterschiedlichem Bemil zeradrcssschlüssel; sie erlaubt aber auch eine interaktive Beziehung dos Benutzers zum liebe rwachungsprogramm, soweit erforde»— lieh, ohne, dass dabei der Inhalt eines Benutzerschlüssel.registers (DSR) 460 verändert werden müsste.Addressability for its various programs and data with different Bemil wheel key; but it also allows an interactive one Relationship of the user to the dear monitoring program, as far as necessary »- borrowed without losing the content of a user key register (DSR) 460 would have to be changed.
In der Anordnung gemär.s Fig. IA kann nur ein einzelner Adressschlüssel in das BSR-Rogistcr /«60 des Prozessors geladen werden, so dass sämtliche Speichcrzugriffe zur Ausführung eines Benutzerprogramins und zum entsprechenden Datenzugriff innerhalb eines einzelnen Adressbereichs erfolgen müssen, der durch den Benutzeradressschlüssel im BSR 460 definiert ist; dieser Benutzeradressschlüsse] kann nicht dBn Wert Null haben, da dieser Wert für denjenigen Speicherbereich reserviert ist, in dem die Systemüberwachungsprogramme und Systemdaten stehen. E/A-Zugriffe werden durch den CS-Schlüssel gesteuert, der von einem Unterkanal in das CS-Schlüsselreßister 465 geladen werden kann.In the arrangement according to FIG. 1A, only a single address key can be used in the BSR-Rogistcr / «60 of the processor are loaded so that all Memory accesses for the execution of a user program and the corresponding Data can be accessed within a single address range defined by the user address key in BSR 460; this user address closure] cannot have a dBn value of zero because this is Value is reserved for the memory area in which the system monitoring programs and system data are available. I / O accesses are controlled by the CS key, which is entered from a subchannel in the CS key register 465 can be loaded.
Die ASB-Betriebsart wird für einen Prozessor durch eine Bitposition A im Niveaustatusregister (NSR) 470 gesteuert. Wenn der Ueberwachungszustand eingeschaltet ist, enthält Bitposition S eine Eins; wenn die ASB-Betriebsart eingeschaltet ist, enthält Bitposition A eine Eins.The ASB operating mode is indicated for a processor by a bit position A im Level status register (NSR) 470 controlled. If the monitoring state is on, bit position S contains a one; when the ASB mode is switched on, bit position A contains a one.
Wenn beide Bitpositionen S und A eine Eins enthalten, wird eine erste Art von Prozessoroperation vorgesehen, bei der das Ueberwachungsprogramm (welches im Adressbereich mit Schlüssel ·= 0 enthalten ist) mit dem Adressbereich des laufenden Benutzeradressschlüssels (der im BSR 460 enthalten ist)If both bit positions S and A contain a one, a first type of processor operation is provided in which the monitoring program (which is contained in the address area with key = 0) with the address area of the current user address key (which is contained in the BSR 460)
709845/087*709845/087 *
arbeiten kann. D.h., dass das Ueberwachungsprogramm aus dem Bereich mit: Schlüssel = 0 heraus arbeitet, und dabei Operanden aus dem durch den BenutzorschKisKol bezeichneten Adressbereich benutzt. Das Ueberwac.hungsprogramm kann aber nicht zu anderen Adrossbereichen im Hauptspeicher zugreifen die zu anderen Adressteil] iisse.l η gehören. Diese Arbeitsweise des Ueberwachimgsprogrammes mit eingeschränkter Adressierbnrkeit ermöglicht zwar den Programmen zur Untcrbrechungsbehnndlung, zu einem gegenwärtig unterbrochenen Benutzerprogramm und dessen Daten zuzugreifen, ohne dass dabei die Gefahr besteht, dass das Ueberwachungsprogramin bei einer eigenen Störung die Integrität nicht-beteiligter Bereiche dos Hauptspeichers stört. Im übrigen kann ein Benutzerprogramm bei seiner Ausführung niemals zum Speicherbereich des Ueberwachungsprogramms zugreifen, weil jedes Benutzerprogramm nur zu dem durch den eigenen Benutzeradressschlüssel definierten Speicherbereich Zugriff hat.can work. This means that the monitoring program from the area with: Key = 0 works out, and thereby operands from the through the User-defined address range is used. The monitoring program but cannot access other address areas in the main memory which belong to other address part] iisse.l η. This mode of operation of the monitoring program with limited addressing space allows the programs for interrupt handling to access a currently interrupted user program and its data without the danger there is that the Ueberwachungsprogramin with its own disturbance the Disrupts the integrity of non-involved areas of the main memory. Furthermore A user program can never access the memory area of the monitoring program when it is executed, because every user program only to the memory area defined by its own user address key Has access.
Eine zweite Art von Prozessoroperation tritt auf, wenn das Uebcrwachungsprograrmibit S Kins und das ASB-Bit A gleich Null ist. Hierbei kann das Ueberwachungsprogramin aus dem Bereich mit Schlüssel = 0 heraus arbeiten, ohne den laufenden Benutzerschlüssel im BSR 460 zu stören. In diesem Fall erfolgen alle Befehls- und Operandenzugriffe nur im Bereich mit Schlüssel = 0, und das Ueberwachungsprogramm darf zu keinem Benutzerbereich zugreifen. D.h., dass in diesem Zustand das Ucbewachungsprogramm einen Zugriff weder zu dem Henutzerbereich hat, der durch den gegenwärtigen Inhalt des BSR identifiziert ist, noch zu sonst einem durch irgendeinen andern Schlüssel definierten Bereich. Durch diese Art von Systembetrieb wird die Notwendigkeit vermieden, den Schlüssel - 0 jeweils in das BSR 460 einzugeben.A second type of processor operation occurs when the monitoring program bit S Kins and the ASB bit A are equal to zero . The monitoring program can work from the area with key = 0 without disturbing the current user key in the BSR 460. In this case, all command and operand access takes place only in the area with key = 0, and the monitoring program is not allowed to access any user area. This means that in this state the surveillance program has access neither to the user area which is identified by the current content of the BSR, nor to any other area defined by any other key. This type of system operation avoids the need to enter key - 0 into the BSR 460 at a time.
703845/0874..703845/0874 ..
BC9-76-012 -96-BC9-76-012 -96-
Eine dritte Art von Prozessoropcration ist vorgesehen, wenn das lieberwachungsprogramr.ibi t S gleich Null ist, wobei der Wert der; ASB-Bit Λ ohne Belang ist. In diesem FnIl erfolgen alle liefehlsabrufe und Operandenzugriffc nur in dem durch den Benutzcrschl ii;:;.el definierten Bereich; zum llauptspeicherbereich mit. dem Schlüssel = 0 sind dann keinerlei Zugriffe erlaubt.A third type of processor operation is provided if the preferwatchprogramr.ibi t S is zero, where the value of the; ASB bit Λ without Is important. All output calls and operand accesses take place in this FnIl only in the area defined by user key ii;:;. el; to the main memory area with. the key = 0 then no accesses are allowed.
Die ASB-Betriebsart wird im Prozessor durch die in Tig. IA gezeigte Schaltungsanordnung gesteuert. UND-Glied A62 wird freigegeben, wenn im KSR A70 sowohl S-]iit als auch Λ-Bit gesetzt sind. Damit wird die. oben beschriebene erste Art von Prozessoroperation eingeleitet. Daraufhin wird bei jeder Bcfehlsabruf-Anforderung vom Prozessor (Fig. A) ein Signal über UND-Glied 462, ODER-Glied A66 und Inverter A67 an UND-Glied A61 gegeben, um dieses während dem Befchlsabrufsvorgang zu sperrpn. Während dar, UND-Glied 461 gesperrt ist, gibt es ein Nullsignal, welches den Schlüssel = 0 darstellt, an den AAS-Bus. Ein Befehlsabruf ist also nur im Speicherbereich des Ueberwachungsprogramms mit dem Schlüssel = 0 erlaubt.The ASB operating mode is defined in the processor by those in Tig. IA shown Circuit arrangement controlled. AND gate A62 is enabled when im KSR A70 both S-] iit and Λ-bit are set. This will make the. above described first type of processor operation initiated. Then will a signal on every command fetch request from the processor (Fig. A) AND gate 462, OR gate A66 and inverter A67 given to AND gate A61 to to block this during the command process. While dar, AND gate 461 is blocked, there is a zero signal, which represents the key = 0, to the AAS bus. A command call is therefore only permitted in the memory area of the monitoring program with the key = 0.
Wenn keine Befehlsabruf-Anforderung vorliegt (also in den Zeiten zwischen den Befehlsabruf-Anforderungen)» wird das UND-Glied A62 nicht freigegeben, so dass Inverter A67 ein Aktivsignal an das UND-Glied A61 abgibt, um den Benutzeradressschliissel aus dem BSR A60 auf den AAS-Bus zu geben, so dass ein aus dem Uebcrwachungsprogramni abgerufener Befehl zu Operanden zugreifen kann, die in dem Bereich stehen, der zu dem im BSR A60 stehenden Schlüssel gehört.If there is no command call request (i.e. in the times between the command call requests) »the AND element A62 is not released, so that inverter A67 sends an active signal to AND gate A61 in order to put the user address key from BSR A60 onto the AAS bus, so that a command called up from the monitoring program to access operands that are in the area that belongs to the key in the BSR A60.
709 8 4 5/0874709 8 4 5/0874
BC9-7<"012 -97-BC9-7 <"012 -97-
Wenn im NSR das ASli-Bit Λ rücktest el It. ist (gleich Null), während das Ucberwac.hungsprogr.iimibit S gesetzt ist (gleich Eins)· bleibt das UND-CIi ed 464 ständig freigegeben und sperrt über Inverter 467 das UND-Glied" 461, r.o dass dieses ständig den Schlüssel = 0 an den AAS-Bus abgibt. Hieraus ergibt sieh die oben beschriebene zweite Art vun Prozessoroperation, bei der das Ueberwachungsprogramin für alle Befehl sahrufe und Operandenzugriffe auf den Bereich des Schlüssels = 0 eingeschränkt ist, unabhängig vom Wert des Benutzerschlüssel s im P.SR 460.If in the NSR the ASli bit Λ reset el It. Is (equal to zero), while the Ucberwac.hungsprogr.iimibit S is set (equal to one) · the AND-CIi ed 464 constantly released and blocks the AND gate "461, r.o." via inverter 467 that this constantly transfers the key = 0 to the AAS bus. From this it follows See the second type of processor operation described above, where the Monitoring program for all command calls and operand accesses to the Range of the key = 0 is restricted, regardless of the value of the User key s in the P.SR 460.
Wenn das S-Bit im NSR 470 riickgestcll t ist (gleich Null), bleiben UND-Glieder 462 und 464 ständig gesperrt, so dass Inverter 467 ständig ein Freigabesignal an UND-Glied 461 liefert, welches infolgedessen ohne Unterbrechung den Benutzeradressschlüssel an den AAS-Rus durchgibt. Daraus ergibt sich die oben beschriebene dritte Art von Prozessoroperation, bei der alle Speicherzugriffe, sowohl für den Prozessor als auch für E/A, in dem Hauptspeicherbereich erfolgen, dessen Adressierung durch den Benutzerschlüsse] itn BSR 460 gegeben ist. Das Ueberwachungsprogramm kann nur arbeiten, wenn Bit S gesetzt (gleich Eins) ist.If the S bit in the NSR 470 is reset (equal to zero), AND gates remain 462 and 464 are permanently blocked, so that inverter 467 constantly supplies an enable signal to AND gate 461, which as a result, without interruption passes the user address key to the AAS-Rus. From it the third type of processor operation described above results in the all memory accesses, both for the processor and for I / O, in the Main memory area, the addressing of which is given by the user keys in BSR 460. The monitoring program can only work if Bit S is set (equal to one).
BC9-76-012 -93-BC9-76-012 -93-
709845/0874.709845/0874.
LeerseiteBlank page
Claims (7)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/682,226 US4037207A (en) | 1976-04-30 | 1976-04-30 | System for controlling address keys under interrupt conditions |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2717700A1 true DE2717700A1 (en) | 1977-11-10 |
DE2717700C2 DE2717700C2 (en) | 1985-05-23 |
Family
ID=24738759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2717700A Expired DE2717700C2 (en) | 1976-04-30 | 1977-04-21 | Memory access arrangement |
Country Status (9)
Country | Link |
---|---|
US (1) | US4037207A (en) |
JP (1) | JPS52132754A (en) |
AU (1) | AU507988B2 (en) |
BR (1) | BR7702778A (en) |
CA (1) | CA1075366A (en) |
DE (1) | DE2717700C2 (en) |
FR (1) | FR2349882A1 (en) |
GB (1) | GB1557118A (en) |
SE (1) | SE417553B (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4408292A (en) * | 1979-09-27 | 1983-10-04 | Sharp Kabushiki Kaisha | Data print control in an electronic cash register |
US4355355A (en) * | 1980-03-19 | 1982-10-19 | International Business Machines Corp. | Address generating mechanism for multiple virtual spaces |
US4587632A (en) * | 1980-05-27 | 1986-05-06 | At&T Bell Laboratories | Lookahead stack oriented computer |
US4575817A (en) * | 1983-06-27 | 1986-03-11 | International Business Machines Corporation | Switching of programming routine supporting storage stacks |
JPH01112450A (en) * | 1987-10-27 | 1989-05-01 | Sharp Corp | Memory control unit |
US5287523A (en) * | 1990-10-09 | 1994-02-15 | Motorola, Inc. | Method for servicing a peripheral interrupt request in a microcontroller |
US5548746A (en) * | 1993-11-12 | 1996-08-20 | International Business Machines Corporation | Non-contiguous mapping of I/O addresses to use page protection of a process |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2716051C2 (en) * | 1976-04-30 | 1982-06-09 | International Business Machines Corp., 10504 Armonk, N.Y. | Data processing system with one or more processors with at least one input / output channel with several subchannels and with a memory arrangement in which keys are used for memory access |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3566358A (en) * | 1968-03-19 | 1971-02-23 | Bevier Hasbrouck | Integrated multi-computer system |
GB1410631A (en) * | 1972-01-26 | 1975-10-22 | Plessey Co Ltd | Data processing system interrupt arrangements |
US3828327A (en) * | 1973-04-30 | 1974-08-06 | Ibm | Simplified storage protection and address translation under system mode control in a data processing system |
-
1976
- 1976-04-30 US US05/682,226 patent/US4037207A/en not_active Expired - Lifetime
-
1977
- 1977-03-04 FR FR7707430A patent/FR2349882A1/en active Granted
- 1977-04-05 GB GB14253/77A patent/GB1557118A/en not_active Expired
- 1977-04-05 CA CA275,542A patent/CA1075366A/en not_active Expired
- 1977-04-08 JP JP3962377A patent/JPS52132754A/en active Granted
- 1977-04-21 DE DE2717700A patent/DE2717700C2/en not_active Expired
- 1977-04-27 BR BR7702778A patent/BR7702778A/en unknown
- 1977-04-29 SE SE7704957A patent/SE417553B/en not_active IP Right Cessation
- 1977-05-02 AU AU24743/77A patent/AU507988B2/en not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2716051C2 (en) * | 1976-04-30 | 1982-06-09 | International Business Machines Corp., 10504 Armonk, N.Y. | Data processing system with one or more processors with at least one input / output channel with several subchannels and with a memory arrangement in which keys are used for memory access |
Also Published As
Publication number | Publication date |
---|---|
FR2349882B1 (en) | 1979-03-09 |
FR2349882A1 (en) | 1977-11-25 |
US4037207A (en) | 1977-07-19 |
SE7704957L (en) | 1977-10-31 |
BR7702778A (en) | 1978-02-21 |
JPS52132754A (en) | 1977-11-07 |
DE2717700C2 (en) | 1985-05-23 |
AU2474377A (en) | 1978-11-09 |
GB1557118A (en) | 1979-12-05 |
SE417553B (en) | 1981-03-23 |
CA1075366A (en) | 1980-04-08 |
AU507988B2 (en) | 1980-03-06 |
JPS5653782B2 (en) | 1981-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2716051C2 (en) | Data processing system with one or more processors with at least one input / output channel with several subchannels and with a memory arrangement in which keys are used for memory access | |
CH619309A5 (en) | ||
CH615521A5 (en) | ||
DE3689488T2 (en) | Memory arrangement with simplified and fast data cache. | |
DE3685876T2 (en) | MASTER SLAVE MICROPROCESSOR SYSTEM WITH A VIRTUAL MEMORY. | |
DE69233655T2 (en) | Microprocessor architecture with the possibility to support several different processors | |
DE69906156T2 (en) | MICROPROCESSOR DEVICE WITH PROGRAMMABLE WAIT STATE | |
DE3853759T2 (en) | Data processor with two operating modes. | |
DE69024078T2 (en) | Multi-processor arrangement with duplication of global data and with two stages of address translation units | |
DE2414311C2 (en) | Memory protection device | |
DE602005002691T2 (en) | Method of programming a system on chip DMA control, as well as a system on chip for it. | |
DE2944419C2 (en) | ||
DE69708933T2 (en) | ADDRESS TRANSLATION IN COMPUTER BUS BRIDGE DEVICES | |
DE3438869A1 (en) | COMPUTER SYSTEM WITH ADDRESS CONVERSION | |
DE2902465A1 (en) | DATA PROCESSING ARRANGEMENT | |
DE1774296B2 (en) | Restructurable control unit for electronic digital computers | |
DE2054830C3 (en) | Information processing system with means for accessing memory data fields of variable length | |
DE68920929T2 (en) | Timer channel with multiple timer reference features. | |
DE69605820T2 (en) | DATA ERROR DETECTION AND CORRECTION FOR COMMON STORAGE | |
DE1549531A1 (en) | Digital computer system | |
DE69029815T2 (en) | CENTRALIZED REFERENCE AND CHANGE TABLE FOR A VIRTUAL STORAGE ARRANGEMENT | |
DE112019002336T5 (en) | STORAGE POOL ASSIGNMENT FOR A MULTICORE SYSTEM | |
DE69027919T2 (en) | Arrangement and method for supporting access to I / O devices through large, directly mapped data cache memories | |
DE69726400T2 (en) | SOLID BODY DATA PROCESSOR WITH VERSATILE MULTI-SOURCE INTERRUPTION ORGANIZATION | |
DE69618831T2 (en) | ECC-protected memory organization with read-change-write pipeline access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8176 | Proceedings suspended because of application no: |
Ref document number: 2716051 Country of ref document: DE Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |