DE2827745C2 - Dynamic address translation arrangement - Google Patents

Dynamic address translation arrangement

Info

Publication number
DE2827745C2
DE2827745C2 DE2827745A DE2827745A DE2827745C2 DE 2827745 C2 DE2827745 C2 DE 2827745C2 DE 2827745 A DE2827745 A DE 2827745A DE 2827745 A DE2827745 A DE 2827745A DE 2827745 C2 DE2827745 C2 DE 2827745C2
Authority
DE
Germany
Prior art keywords
channel
page
address
memory
address translation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE2827745A
Other languages
German (de)
Other versions
DE2827745A1 (en
Inventor
Yutaka Dipl.-Ing. Inagi Tokio/Tokyo Katsumata
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to DE2827745A priority Critical patent/DE2827745C2/en
Publication of DE2827745A1 publication Critical patent/DE2827745A1/en
Application granted granted Critical
Publication of DE2827745C2 publication Critical patent/DE2827745C2/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/145Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

5555

Die Erfindung betrifft eine dynamische Adressenübersetzungsanordnung für einen Kanal oder einen Adapter einer Unteranordnung nach dem Oberbegriff des Patentanspruchs 1.The invention relates to a dynamic address translation arrangement for a channel or a Adapter of a sub-assembly according to the preamble of claim 1.

Bei einem Beispiel einer dynamischen Kanaladressenübersetzung in einem bekannten Datenverarbeitungssystem wird der Prozeß des Festhaltens einer Seite bei einem Zugriff von den Kanälen zum Hauptspeicher vorher ausgeführt. Um den Zugriff zu dieser festgehaltenen Seite von den Kanälen zu ermöglichen, wird das Kanalungültigkeitsbit zu AUS gemacht und danach wird der SIO-Befehl zur Ausführung des Zugriffs vonIn one example of dynamic channel address translation in a known data processing system, the process of capturing a page carried out beforehand in the case of an access from the channels to the main memory. To enable access to this pinned page from the channels, the Channel invalidation bit turned OFF and then the SIO command is used to execute the access from den Kanälen ausgegeben. Dieser Seitenfesthalteprozeß und die Operation des Kanalungültigkeitsbits werden vom Betriebssystem gesteuert Jedoch treten bei diesem System die folgendes Schwierigkeiten auf: Organisation zur Suche der festzuhaltenden Seite muß auch über irgendwelche Eingangs-Ausgangs-Geräte zugeführt werden, die mit den Kanälen vor dei Ausführung der Kanalprogramme verbunden werden müssen, und die Zahl der festgehaltenen Seiten wächst, während eine Zahl von Eingangs-Ausgangs-Geräten in Betrieb gesetzt wird, damit wird der reelle Speicher knapp.output to the channels. This page capturing process and the channel invalidation bit operation will become controlled by the operating system However, the following difficulties arise with this system: The organization to search for the page to be recorded must also have some input-output devices that must be connected to the channels before executing the channel programs, and the number of pages held grows, while a number of input-output devices are in Operation is set, so the real memory is running out.

Außerdem wird bei den bekannten Datenverarbeitungssystemen der Zugriffschutz für den Hauptspeicher dadurch ausgeführt, daß der Speicherschlüssel in jeder physikalischen Seite innerhalb des Hauptspeichers und der Kanalschlüssel, der zu den Kanälen übertragen werden soll, während der SIO-Befehl ausgegeben wird, verglichen werden. Beim virtuellen Speichersystem sollte der Zugriffsschutz natürlich in einer Einheit logischer Daten ausgeführt werden. Jedoch besitzt dieses System die folgenden Nachteil: Die logischen Zugriffsschutzdaten sollten für den physikalischen Zugriffsschutziiechanismus aufgezeichnet sein, dort besteht eine solche architektonische Unlogik, daß der Kanal die logischen Adressen für einen AdressenscLutz und die physikalischen Schlüssel für einen Zugriffsschutz kennen muß, und die Organisation für die Aufzeichnung wird auch zugeführt.In addition, the known data processing systems provide access protection for the main memory carried out in that the storage key in each physical page within the main memory and the channel key to be transferred to the channels while the SIO command is issued, be compared. In the case of a virtual storage system, access protection should of course be implemented in a unit of logical data. However this owns The system has the following disadvantage: The logical access protection data should be recorded for the physical access protection mechanism there is such an architectural illogic that the canal is the logical addresses for address protection and the physical keys for access protection must know, and the organization for the recording is also fed.

Bekannt ist auch ein Datenverarbeitungssystem mit dynamischer Adressenübersetzung zur Neuadressierung von Programmen und Kanaladressierung auf logischer Basis (DE-OS 23 60 303). Dabei sind jedem Kanal zugeordnete Vorrichtungen zum Speichern von Adreßumsetzparametern und Vorrichtungen zum Kombinieren der Adreßumsetzparameter mit den logischen Adressen in einem Kanalprogramm unter Übersetzung der logischen Adressen in reelle Adressen vorgesehen.A data processing system with dynamic address translation for re-addressing programs and channel addressing on a logical basis is also known (DE-OS 23 60 303). Do each channel associated devices for storing address translation parameters and devices for combining the address translation parameters with the logical ones Addresses provided in a channel program with translation of the logical addresses into real addresses.

Die Aufgabe der Erfindung besteht darin, eine dynamische Adressenübersetzungsanordnung nach dem Oberbegriff des Patentanspruchs 1 zu schaffen, bei der eine durcn den Kanal oder den Adapter der Unteranordnung zu verarbeitende Speicherseite nicht im Hauptspeicher festgehalten werden muß, wenn der Betrieb des Kanals oder des Adapters der Unteranordnung unterbrochen wird.The object of the invention is to provide a dynamic address translation arrangement according to the To create the preamble of claim 1, in which a memory page to be processed by the channel or the adapter of the sub-arrangement does not have to be retained in the main memory when the operation of the channel or adapter of the subassembly is interrupted.

Für das Eingangs-Ausgangs-Gerät oder die Unteranordnung, welches/welche nicht notwendig erfordert, die Seite festzuhalten, besitzt die Erfindung den Vorteil, daß eine Kanal- oder Untersystemverbindungseinheit gebildet werden kann, weiche mit hoher Geschwindigkeit und weniger Hardware arbeitet, ohne daß die folgenden Schwierigkeiten auftreten:For the input-output device or sub-assembly that does not necessarily require holding the page, the invention has the advantage that a channel or subsystem connection unit which operates at high speed and less hardware without encountering the following troubles:

(1) aufgrund der Verarbeitung zum Suchen einer festzuhaltenden Seite wird eine Organisation angewandt, bevor die Kanalprogramme ausgeführt werden,(1) Due to the processing for searching a page to be pinned, an organization is applied before the channel programs are executed,

(2) wenn eine Anzahl von Eingangs-Ausgangs-Geräten in Betrieb gesetzt wird, wächst die Zahl der festgehaltenen Seiten und der reale Speicher wird knapp.(2) when a number of input-output devices are put into operation, the number of them increases captured pages and the real memory is running out.

Außerdem hat die Erfindung die zusätzlichen Vorteile, daß das Festhalten der Seite allein innerhalb des Bereichs der Software ausgeführt werden kann, nicht nur für das Eingangs-Ausgangs-Gerät, welches kein Festhalten der Seite erfordert, sonder auch für einIn addition, the invention has the additional advantages that holding the page solely within the Area of the software can be executed, not only for the input-output device, which is not a Holding the page requires, but also for a

solches Gerät, welches ein Festhalten der Seite erfordert, da das Kanalungültigkeitsbit in der Seitentabelleneintragssteile, wie es zur Zeit benutzt wird, unnötig wird, und die Organisation fur die Softw.ireverarbeitung, die für die Operation des Kanalungültigkeitsbits s benötigt wird, überflüssig wird.such a device which requires the page to be held because the channel invalidation bit in the page table entry part as currently used is unnecessary and the organization for the software processing responsible for the operation of the channel invalidation bit is needed, becomes superfluous.

Die Anwendung der Erfindung bei dem Kanal oder dem Unteranordnungsadapter des Datenverarbeitungssystems, bei dem die logischen Zugriffsschutzdaten, <Ue sich auf die einer Eintragsstelle entsprechende Seite beziehen, für solch eine Eintragsstelle der Adressenübersetzungstabelle vorgesehen sind, erlaubt die Ausführung eines solchen Datenverarbeitungssystems, bei dem das Problem, daß der Kanal die logische Adresse als Adresse anerkennt, wie beim Stand der Technik, nicht auftritt, jedoch muß er den physikalischen Schlüssel für den Zugriffsschutz anerkennen.The application of the invention to the channel or the sub-arrangement adapter of the data processing system in which the logical access protection data, <Ue refer to the page corresponding to an entry point, are provided for such an entry point of the address translation table, allows such a data processing system to be implemented the problem that the channel recognizes the logical address as an address, as in the prior art, does not occur, but it must recognize the physical key for access protection.

Außerdem ist gemäß der Erfindung ein Zugriff mit hoher Geschwindigkeit möglich, und füi die dynamische Adressenübersetzung wird weniger Hardware zugefugt, da es nicht notwendig ist, jedesmal einen Zugriff auf die Adressenübersetzungstabelle zu machen, wenn ein Zugriff vom Kanal oder Unteranordnungsadapter auf den Hauptspeicher ausgeführt wird.In addition, according to the invention, high-speed access is possible and the dynamic address translation becomes less hardware added, since it is not necessary to do one every time Access the address translation table when accessing main memory from the channel or sub-array adapter.

Nachfolgend wird die Erfindung genauer anhand der Zeichnungen erläutert.The invention is explained in more detail below with reference to the drawings.

Fig. 1 ist eine Systemdarstellung einer Ausfuhrungsform gemäß der vorliegender Erfindung. In Fig. 1 bezeichnet 1 den Hauptspeicher MM, 2-1 und 2-2 bezeichnen die zentrale Prozessoreinheit CPU, 3-1 und 3-2 bezeichnen Kanäle, 4 bezeichnet den Adapter der Unteranordnung, 5-1 und 5-2 bezeichnen Eingangs-Ausgangs-Steuereinheiten IOC, 6 bezeichnet ein Ein· gangs-Ausgangs-Gerät IO, und 7 bezeichnet eine Unteranordnung.Fig. 1 is a system diagram of an embodiment according to the present invention. In Fig. 1 1 denotes the main memory MM, 2-1 and 2-2 denote the central processing unit CPU, 3-1 and 3-2 denote channels, 4 denotes the adapter of the subassembly, 5-1 and 5-2 denote input-output control units IOC, 6 denotes an input input-output device IO, and 7 denotes a sub-arrangement.

Die Kanäle 3-1,3-2 und der Adapter der Unteranordnung 4, wie sie in Fig. 1 gezeigt sind, besitzen den Hauptspeicher 1 zusammen mit den zentralen Prozessoreinheiten 2-1 und 2-2, außerdem besitzen sie die dynamische Adressenübersetzungsanordnung.The channels 3-1,3-2 and the adapter of the subassembly 4, as shown in Fig. 1, have the Main memory 1 together with the central processor units 2-1 and 2-2, they also have the dynamic address translation arrangement.

Fig. 2 zeigt den der Funktion der dynamischen Adressenübersetzung zugeordneten Teil der Ausführungsform, dieser Teil liegt zwischen dem Hauptspeicher 1, der zentralen Prozessoreinheit 2 und dem Kanal 3.Fig. 2 shows the function of dynamic address translation assigned part of the embodiment, this part is between the main memory 1, the central processor unit 2 and the Channel 3.

In Fig. 2 bezeichnet 1 den Hauptspeicher MM, 2 bezeichnet die zentrale Prozessoreinheit CPU, 3 bezeichnet den Kanal CH, 10 bezeichnet eine Segmenttabelle, 11 bezeichnet die Seitentabelle, 12 bezeichnet die Seitentabelleneintragsstelle, 13 bezeichnet das Seitenun- gültigkeitsbit PI, 14 bezeichnet Zugriffsschutzdaten ACC, 15 bezeichnet eine physikalische Seitenadresse PPA, 16 bezeichnet ein Steuerregister CR, Yl bezeichnet ein CCW (Kanalbefehlswort)-Adressensp?icherregister CCAW, 18 bezeichnet ein Speicherregister für logische Hauptspeicheradressen CLAR, 19 bezeichnet ein CCW (Kanalbefehlswort)-Speicherregister CCCW, 20 bezeichnet ein Speicherregister für Seitentabelleneintragsdaten CTLB, 21 bezeichnet ein Steuerregister innerhalb des Kanals CCR, 22 bezeichnet einen Zähler, 23 bezeichnet ein Speicherregister für die physikalische Hauptspeicheradresse CPAR, 24 bezeichnet ein Gültigkeitsbit I, 25 bezeichnet einen Komparatorkreis, und 26 bezeichnet einen Einheitsteuerwott-UCW-Speicher.In FIG. 2, 1 denotes the main memory MM, 2 denotes the central processor unit CPU, 3 denotes the channel CH, 10 denotes a segment table, 11 denotes the page table, 12 denotes the page table entry position, 13 denotes the page invalidation bit PI, 14 denotes access protection data ACC , 15 denotes a physical page address PPA, 16 denotes a control register CR, Yl denotes a CCW (channel command word) address storage register CCAW, 18 denotes a storage register for main logical memory addresses CLAR, 19 denotes a CCW (channel command word) storage register CCCW, 20 denotes a Storage register for page table entry data CTLB, 21 denotes a control register within the channel CCR, 22 denotes a counter, 23 denotes a storage register for the main physical memory address CPAR, 24 denotes a valid bit I, 25 denotes a comparator circuit, and 26 denotes a unit control word UCW memory.

Der Hauptspeicher 1 besitzt die Segmenttabelle 16 und die Seitentabelle 11, die für die dynamische Adressenübersetzung von der zentralen Prozessoreinheit (CPXl) 2 benutzt werden, während die SeitentabellenThe main memory 1 has the segment table 16 and the page table 11, which are used for the dynamic address translation by the central processor unit (CPX1) 2, while the page tables eintragsstelle 12 innerhalb der Seitentabelle das Seitenungültigkeitsbit (PI) 13 besitzt, welches die Effektivität der entsprechenden Seitentabelleneintragsstelle, der ZugrifTsschutzdaten (ACC) 14 der logischen Seite, die einer solchen Seitentabelleneintragsstelle entspricht, und der physikalischen Seitensdresse (PPA), in der die entsprechende Seite existiert, anzeigt. In jeder zentralen Prozessoreinheit (CPU) 2 ist das Steuerregister (CR) 14 angeordnet, welches die Kopfadresse der Segmenttabelle 10 anzeigt, entsprechend dem zu dieser Zeit unter Ausfuhrung stehenden Raum. Jeder Kanal besitzt das CCW-Adressenspeicherregister (CCAW) 17, welches die logische Adresse und den Kanalzugriffsschlüssel des Kanalsteuerworts (CCW) speichert, welches nun ausgeführt wird, das Speicherregister für die logische Hauptspeicheradresse (CLAR) 18, welches die Hauptspeicheradresse (logische Adresse), die nun ausgeführt wird, speichert, das CCW-Speicherregister (CCCW) 19, welches das unter Ausführung stehende CCW (Kanalsteuerwort bzw. Kanalbefehlswort) speichert, das Seitentabelleneingangsdatenspeicherregister (CTLB) 20, welches einer Kopie der SeitentabeUeneintragsstelle, der der logischen Seite, auf die ein Zugriff ausgeführt wird, und einem Gültigkeitsbit (I-Bit) für diese Kopie entspricht, und das Steuerregister (CCR) 21 im Kanal, welches die Kopfadresse der Segmenttabelle entsprechend dem Raum, auf den ein Zugriff ausgeführt wird, speichert. Das Speicherregister für die logische Hauptspeicheradresse (CLAR) 18 innerhalb eines jeden Kanals (CH) 3 ist zusammengesetzt aus dem logischen Seitenadressenteil und dem Adressenteil in der Seite, und Inhalte der Adressen in der Seite können mittels des Zählers 22 verändert werden. Von jedem Kanal (CH) wird ein Zugriff auf den Hauptspeicher mittels des Speicherregisters für die physikalische Hauptspeicheradresse (CPAR) 23 ausgeführt, welches immer den Wert hält, welcher die physikalische Seitenadresse (PPA) im Speicherregister für die Seitentabelleneintragsdaten (CTLB) 20 und die Adresse auf der Seite im Speicherregister für die logische Hauptspeicheradresse (CLAR) 18 koppelt. Ein Gültigkeitsbit (I) 24 im Speicherregister für die Seitentabelleneintragsdaten (CTLB) 20 wird synchron auf »1« gesatzt, wenn irgendeine zentrale Prozessoreinheit (CPU) 2 den Befehl TLB FREIGEBEN, welcher später beschrieben wird, ausgibt. Außerdem besitzt jeder Kanal (CH) 3 eine Vergleichsvorrichtung 25, die die ZugrifTsschutzdaten (ACC) im Speicherregister für die Seitentabelleneintragsdaten (CTLB) 20 und den Kanalzugriffsschlüssel im CCW-Adressenspeicherregister (CCAW) 17 vergleicht. Außerdem besitzt jeder Kanal (CH) 3 verschiedene Arten von Kreisen, beispielsweise den Einheitsteuerwort(UCW)-Speicherbereich (Unterkanal) 26, welcher die ausführbare Bedingung der Kanalprogramme enthält, wie im Falle des existierenden Kanals.entry point 12 within the page table has the page invalidation bit (PI) 13, which indicates the effectiveness the corresponding page table entry location, the access protection data (ACC) 14 of the logical page that corresponds to such a page table entry location and the physical page address (PPA) in which the corresponding page exists. In each central processing unit (CPU) 2 the control register (CR) is 14, which indicates the head address of the segment table 10, corresponding to that at that time space under execution. Each channel has the CCW address storage register (CCAW) 17 which stores the logical address and the channel access key of the channel control word (CCW) which is now is executed, the memory register for the logical main memory address (CLAR) 18, which is the main memory address (logical address) that is now being executed is, stores, the CCW storage register (CCCW) 19, which stores the CCW (channel control word or channel command word) under execution, the page table input data storage register (CTLB) 20, which is a copy of the page table entry point of the logical page to which access is carried out and corresponds to a validity bit (I-Bit) for this copy, and the control register (CCR) 21 in the channel, which is the head address of the segment table corresponding to the space to which an access is carried out, saves. The main logical memory address (CLAR) storage register 18 within each Channel (CH) 3 is composed of the logical page address part and the address part in the page, and contents of the addresses in the page can be changed by means of the counter 22. From any channel (CH) an access to the main memory is carried out by means of the memory register for the physical main memory address (CPAR) 23, whichever is always the value which holds the physical page address (PPA) in the storage register for the page table entry data (CTLB) 20 and the address on the page in the memory register for the main logical memory address (CLAR) 18 couples. A valid bit (I) 24 in the page table entry data storage register (CTLB) 20 is synchronously set to "1" when any central processing unit (CPU) 2 issues the ENABLE TLB command, which will be described later. In addition, each channel (CH) 3 has a comparison device 25, the access protection data (ACC) in the storage register for the page table entry data (CTLB) 20 and the Channel access key in CCW address storage register (CCAW) 17 compares. Besides, everyone owns Channel (CH) 3 different types of circles, for example the unit control word (UCW) storage area (subchannel) 26 which contains the executable condition of the channel programs, as in the case of the existing channel.

Die Operation der dynamischen Adressenübersetzung wird in jedem Kanal ausgeführt, wie unten erläutert wird. Die zentrale Prozessoreinheit (CPU) 2 setzt zuerst die Kopfadresse des Kanalprogramms und den Kanalzugriffsschlüssel zum Kanaladressenwort (CAW) (nicht dargestellt), wenn eine Eingangs-Ausgangs-Anfrage einmal ausgegeben wird, und dann gibt sie den SIO-Befehl aus. Der Kanal (CH) 3, der im Operanden des 3IO-Befehls bestimmt ist, setzt das Kanaladressenwort (CAW) und den Inhalt des Steuerregisters (CR) 16 in das CCW-Adressenspeicherregister (CCAW) 17 und das Steuerregister (CCR) 21 innerhalb des Kanals, damit wird ein Zugriff auf den SegmenttabelleneintragThe dynamic address translation operation is performed in each channel as explained below. The central processing unit (CPU) 2 sets First the head address of the channel program and the channel access key for the channel address word (CAW) (not shown) when an input-output request is issued once and then it issues the SIO command off. The channel (CH) 3, which is determined in the operand of the 3IO command, sets the channel address word (CAW) and the content of the control register (CR) 16 into the CCW address storage register (CCAW) 17 and the control register (CCR) 21 within the channel, this provides access to the segment table entry

aufgrund der Adresse ausgeführt, welche aus der Kopfadresse der Segmenttabelle, die durch das Steuerregister (CCR) 21 im Kanal und der Kanalprogrammkopfadresse im Speicherregister für die logische Hauptspeicheradresse (CLAR) 18 bestimmt ist, erhalten werden s kann. Dann wird ein Zugriff auf die Seitentabelleneintragsstelle ausgeführt, und zwar aufgrund der Adresse, welche aus der Seitenadresse der Seitentabellenkopfadresse, welche in dieser Eintragsstelle enthalten ist, und der Kanalprogrammkopfadresse im Speicherregi- to ster fur die logische Hauptspeicheradresse (CLAR) 18 erhalten werden kann, und danach wird der Inhalt in das Speicherregister für die Seitentabellentragsielle (CTLB) 20 im Kanal (CH) 3 kopiert, dabei wird »0« das Gültigkeitsbit (I) 24 im Speicherregister für Seitentabel- ι s leneintragsdaten (CTLB) 2β. Der obige Prozess wird dynamische Adressenübersetzung (DAT) genannt.executed on the basis of the address which is taken from the head address of the segment table which is specified by the control register (CCR) 21 in the channel and the channel program head address in the storage register for the logical main storage address (CLAR) 18 is determined, can be obtained s. Then an access is made to the page table entry location executed, based on the address, which from the page address of the page table header address, which is contained in this entry position, and the channel program header address in the memory register ster for the main logical storage address (CLAR) 18 can be obtained, after which the content in the memory register for the page table (CTLB) 20 in channel (CH) 3 is copied, "0" becomes the Validity bit (I) 24 in the memory register for page table ι s entry data (CTLB) 2β. The above process is called dynamic address translation (DAT).

Der Kanal verkoppelt die physikalische Seitenadresse im Speicherregister für die Seitentabelleneintragsdaten (CTLB) 20 und die Adresse auf der Seite im Speicherregister für die logische Hauptspeicheradresse (CLAR) 18, erzeugt die reale Adresse für den Hauptspeicher (MM) 1 im Speicherregister Tür die physikalische Hauptspeicheradresse (CPAR) 23, macht einen Zugriff auf den Hauptspeicher (MM) 1 und greift dann auf das Kanalsteuerwort (CCW) zu. Der Kanal (CH) 3 dekodiert dieses Kanalsteuerwort (CCW) und setzt ein Eingangs-Ausgangs-Gerät (10) in Betrieb. Falls die Ausführung dieses Kanalsteuerworts (CCW) verbunden ist mit einem Zugriff auf den Hauptspeicher, setzt der Kanal Jo (CH) 3 die logische Adresse im Kanalsteuerwort (CCW) in das Speicherregister tür die Hauptspeicheradresse (CLAR) 18 für die dynamische Adressenübersetzung (DAT), wie im obigen Fall, und dann setzt er die physikalische Adresse in das Speicherregister für die physika- 3S lische Hauptspeicheradresse (CPAR) 23.The channel couples the physical page address in the storage register for the page table entry data (CTLB) 20 and the address on the page in the memory register for the logical main memory address (CLAR) 18, the real address for the main memory (MM) 1 in the storage register door generates the physical one Main memory address (CPAR) 23, makes an access to the main memory (MM) 1 and then accesses the Channel control word (CCW) to. Channel (CH) 3 decodes this channel control word (CCW) and sets an input-output device (10) in operation. If the execution of this channel control word (CCW) is linked to an access to the main memory, the channel Jo (CH) 3 the logical address in the channel control word (CCW) in the memory register for the main memory address (CLAR) 18 for dynamic address translation (DAT), as in the above case, and then it sets the physical Address in the memory register for the physical main memory address (CPAR) 23.

Wenn die Ausführung des Kanalsteuerworts (CCW) einen Zugriff auf den Hauptspeicherbereich umfaßt, der aus mehreren aufeinanderfolgenden Bytes zusammengesetzt ist. wemn ein Wert einmal in das Speicherregister für die physikalische Hauptspeicheradresse (CPAR) 23 gesetzt worden ist, führt der Kanal (CH) 3, bis die folgenden Bedingungen erzeugt worden sind, einen Zugriff auf den Hauptspeicher entsprechend einer physikalischen Adresse aus, welche nur durch die physikalische Seitenadresse im Speicherregister fur die Seitentabelleneintragsdaten (CTLB) 2· und durch die Adresse auf der Seite im Speicherregister für die logische Hauptspeicheradresse (CLAR) 18 erzeugt worden ist, und welche mittels des Zählers 22 zusammenge- so zählt worden ist.
Bedingungen:
If the execution of the channel control word (CCW) involves an access to the main memory area which is composed of several consecutive bytes. Once a value has been set in the memory register for the main physical memory address (CPAR) 23, the channel (CH) 3 accesses the main memory according to a physical address which is only available by the physical page address in the memory register for the page table entry data (CTLB) 2 · and has been generated by the address on the page in the memory register for the logical main memory address (CLAR) 18, and which has been added up by means of the counter 22.
Conditions:

1. Bei der Adresse in der Seite ist ein Überlauf erfolgt als Ergebnis davon, daß die Zusammenzählung im SS Adressenteil in der Seite im Speicherregister für die logische Hauptspeicheradresse (CLAR) 18 ausgeführt wurde.1. The address in the page has overflowed as a result of the accumulation in the SS address part in the page in the storage register for Main Logical Storage Address (CLAR) 18 has been executed.

2. Das Gültigkeitsbit (I) 24 im Speicherregister für die Seitentabelleneintragsdaten (CTLB) 20 ist »1«.2. The valid bit (I) 24 in the page table entry data (CTLB) 20 storage register is "1".

Liegen die obigen Bedingungen vor, führt der Kanal (CH) 3 die oben beschriebene dynamische Adressenübersetzung (DAT) aus und macht einen Zugriff auf den Hauptspeicher (MM) 1, indem er eine physikalische Adresse im Speicherregister für die physikalische Hauptspeicheradresse (CPAR) 23 sucht.If the above conditions are met, channel (CH) 3 carries out the dynamic address translation described above (DAT) and makes an access to the main memory (MM) 1 by having a physical Looks for address in memory register for physical main memory address (CPAR) 23.

Danach führt der Kanal (CH) 3 sequentiell das Kanalsteuerwort (CCW) in den Kanalprogrammen aus, wie im Falle von existierenden Kanälen, und wenn der Ausführungsbeginn für ein neues Kanalsteuerwort mit einem Zugriff auf den Hauptspeicher zusammenfallt, so wiederholt der Kanal jedesmal die oben genannten Operationen.Thereafter, the channel (CH) 3 sequentially executes the channel control word (CCW) in the channel programs, such as in the case of existing channels, and when the start of execution for a new channel control word with coincides with an access to the main memory, the channel repeats the above each time Operations.

Wenn außerdem der Inhalt des Speicherregisters für die Seitentabelleneintragsdaten (CTLB) 20 durch die dynamische Adressenübersetzung (DAT) wieder eingeschrieben ist, werden jeweils das Seitengültigkeitsbit (PI) und die Zugriffsschutzdaten (ACC) geprüft. Wenn das Seitengültigkeitsbit (PI) eine »1« ist, erzeugt der Kanal die Seitenfehlereinwendung, oder wenn das Ergebnis des Vergleichs zwischen jden Zugriffsschutzdaten (ACC) und dem KanalzugrifTsschlüssel im Speicherregister für die CCW-Adresse (CCAW) 17 ein Zugriffsverbot anzeigt, erzeugt die Vergleichsvorrichtung 25 die Schutzeinwendung.In addition, when the contents of the page table entry data storage register (CTLB) 20 are checked by the dynamic address translation (DAT) is rewritten, the page valid bit is used in each case (PI) and the access protection data (ACC) checked. If the page valid bit (PI) is a "1", the generates Channel the page fault objection, or if the result of the comparison between each security data (ACC) and the channel access key in the memory register indicates an access prohibition for the CCW address (CCAW) 17, the comparison device generates 25 the defense.

Wenn diese Einwendungen erzeugt werden, erzeugt der Kanal (CH) 3 eine Unterbrechung für die zentrale Prozessoreinheit (CPU) 2 und erzeugt und gibt einen Befehl zur Einstellung der Operationen an das Eingangs-Ausgangs-Gerät (IO), um die Ausführung der Kanalprogramme zu stoppen.When these objections are generated, the channel (CH) 3 generates an interrupt for the central Processor unit (CPU) 2 and generates and issues an instruction for setting operations to the input-output device (IO) to stop the execution of the channel programs.

Weiter unten ist dann eine Operation beschrieben, um das Gültigkeitsbit (I) 24 im Speicherregister für die Seitentabelleneintragsdaten (CTLB) mittels des Befehls TLB FREIGEBEN aud »1« zu setzen. Fig. 3 zeigt eine Ausfuhrungsform des Kreises, der direkt den Befehl TLB FREIGEBEN in der zentralen Prozessoreinheit (CPU) und im Kanal (CH) betrifft. In Fig. 3 bezeichnet 1 den Hauptspeicher MM, 2 bezeichnet die Zentralprozessoreinheit CPU, 3 bezeichnet den Kanal CH, 20 bezeichnet das Speicherregister für die Seitentabelleneintragsdaten CTLB, 24 bezeichnet das Gültigkeitsbit 1,26 bezeichnet den Einheitssteuerwort-UCW-Speicher, 30 bezeichnet das Befehlsregister, 31 bezeichnet den Dekodierer DEC, 32 bezeichnet den Steuerkreis für den Befehl TLB FREIGEBEN, 33 bezeichnet den Tabellenumwandlungsindex-Pufferspeicher TLB, 34 bezeichnet den Speicherzugriffssteuerkreis,35 bezeichnet den TLB FREIG EBEN-Kanalsteuerkreis, 36 bezeichnet den Datenübertragungssteuerkreis, 37 bezeichnet den Eingangs-Ausgangs-Schnittstellensteuerkreis. Der Befehl TLB FREIGEBEN ist ein Befehl, der zur Information der Aktualisierung des Eintrags der Adressenübersetzungstabelle oder zur Änderung dieses Eintrags benutzt wird. Die Operationen aufgrund eines solchen Befehls werden anhand der Fig. 3 erläutert. An operation is then described below in order to set the valid bit (I) 24 in the storage register for the Set page table entry data (CTLB) to "1" using the command TLB RELEASE. Fig. 3 shows an embodiment of the circle, which directly the command TLB RELEASE in the central processing unit (CPU) and in the channel (CH). In Fig. 3, 1 denotes the main memory MM, 2 denotes the Central processing unit CPU, 3 denotes the channel CH, 20 denotes the storage register for the page table entry data CTLB, 24 denotes the validity bit 1.26 denotes the unit control word UCW memory, 30 denotes the command register, 31 denotes the decoder DEC, 32 denotes the control circuit for command TLB RELEASE, 33 denotes the table conversion index buffer TLB, 34 denotes the memory access control circuit, 35 denotes the TLB ENABLE LEVEL channel control circuit, 36 denotes the data transfer control circuit, 37 denotes the input-output interface control circuit. The command TLB RELEASE is a command that provides information about the update of the entry of the Address translation table or to change this entry. The operations due such a command are explained with reference to FIG.

Die Zentraiprozessoreinheit (CPU) Z dekodiert den Befehlskode (OP) im Befehlsregister 3· im Dekodierer (DEC) 31 und setzt den Steuerkreis 32 für den Befehl TLB FREIGEBEN in Betrieb, wenn der Befehl TLB FREIGEBEN ausgegeben wird. Der Steuerkreis 32 für den Befehl TLB FREIGEBEN gibt die Information der Ausgabe des Befehls TLB FREIGEBEN an den Kanal (CH) 3.(©) The central processor unit (CPU) Z decodes the command code (OP) in the command register 3 · in the decoder (DEC) 31 and puts the control circuit 32 into operation for the command TLB ENABLE when the command TLB ENABLE is issued. The control circuit 32 for the command TLB ENABLE gives the information of the output of the command TLB ENABLE to the channel (CH) 3. (©)

Beim Empfang der Information über die Ausgabe des Befehls TLB FREIGEBEN sendet der TLB FREIGE-BEN-Steuerkreis 35 den Unterbrechungsbefehl an den Datenübertragungssteuerkreis, wenn der Kanal nun im Zustand für die Datenübertragung ist, um die Datenübertragung beim wünschenswertesten Schritt zu unterbrechen. ((F))When the information about the issue of the command TLB RELEASE is received, the TLB RELEASE-BEN control circuit sends 35 the interrupt command to the data transfer control circuit if the channel is now in State for the data transmission is to the data transmission to interrupt at the most desirable step. ((F))

Dann informiert der TLB FREIGEBEN-Kanalsteuerkreis 35 den TLB FREIGEBEN-Befehlssteuerkreis 32 der Zentralprozessoreinheit (CPU) 2 von der Unter-Then the TLB ENABLE channel control circuit informs 35 the RELEASE TLB command control circuit 32 of the central processing unit (CPU) 2 from the sub-

brechung der Datenübertragung. ((T))interruption of data transmission. ((T))

Damit schreibt der Steuerkreis 32 für den Befehl TLB FREIGEBEN das Gültigkeitsbit (I) als eine »1« erneut in jeden Eingang des Tabellenumwandlungsindex-Pufferspeichers (TLB) 33 in der Zentralprozessoreinheit s (CPU) 2 und gibt dann die Information an den Kanal (CH) 3, um ebenfalls das Gültigkeitsbit (I) 24 des Speicherregisters für die Seitentabelleneintragsdaten (CTLB) 2· in »1« zu ändern. Diese Information bewirkt, daß der Kanalsteuerkreis für TLB FREIGEBEN 35 erneut das Gültigkeitsbit (I) 24 als eine »1« in das Speicherregister fur den Seitentabelleneintragsdaten (CTLB) 20 schreibt. (©)The control circuit 32 thus rewrites the validity bit (I) as a "1" for the command TLB RELEASE into each entry of the table conversion index buffer (TLB) 33 in the central processing unit s (CPU) 2 and then outputs the information to the channel (CH) 3 to also set the validity bit (I) 24 of the memory register for the page table entry data (CTLB) 2 · to be changed to »1«. This information causes the channel control circuit for TLB ENABLE 35 again valid bit (I) 24 as a "1" in the storage register for the page table entry data (CTLB) 20 writes. (©)

Der Kanalsteuerkreis für TLB FREIGEBEN 35 gibt an die Zentralprozessoreinheit (CPU) 2 die Informa- is tion, daß die Ungültigmachung des Speicherregisters für die Seitentabelleneintragsdaten (CTLB) 2t vollendet worden ist ((T))The channel control circuit for TLB ENABLE 35 gives to the central processing unit (CPU) 2 the information that the invalidation of the memory register for the page table entry data (CTLB) 2t has been completed ((T))

Damit endet die Ausführung des Befehls TLB FREIGEBEN.This ends the execution of the RELEASE TLB command.

Nun wird eine Operation erläutert, um der Zentralprozessoreinheit (CPU) und dem Eingangs-Ausgangs-Gerät eine Information von der Seitenfehlereinwendung und der Schutzeinwendung zu geben. F i g. 4 zeigt eine Ausführungsform des Kreises, der direkt die Seitenfehlereinwendung und Schutzeinwendung in den Kanälen bretrifTt. In Fig. 4 bezeichnen 2-1 und 2-2die Zentralprozessoreinheit CPU, 3 bezeichnet den Kanal CH, 18 bezeichnet das Speicherregister für die logische Hauptspeicheradresse CLAR, 2t bezeichnet das Speicherregister für die Seitentabelleneintragsdaten CTLB, 25 bezeichnet eine Vergleichsvorrichtung, 26 bezeichnet den Einhtitsteuerwort-UCW-Speicher, 36 bezeichnet den Datenübertragungssteuerkreis, 37 bezeichnet den Eingangs-Ausgangs-Schnittstellensteuerkreis, 40 bezeichnet den Selektorkreis, 41 bezeichnet einen Kreis zur Bestimmung einer CPU-Unterbrechung, 42 bezeichnet ein Seitenfehleradressensendegatter, 43 bezeichnet eine Seitenfehlerdetektorleitung, 44 bezeichnet eine Schutzeinwendungsdetektorleitung, 45 be- zeichnet eine Seitenfehlerunterbrechungs-Anfrageleitung, 4* bezeichnet eine Schutzeinwendungsunterbrechungs-Anfrageleitung, 47 bezeichnet eine Seitenfehleradresse-Sendebestimmungs-Signalleitung, 48 bezeichnet eine Unterbrechungsende-Informationsleitung, und 49 bezeichnet eine Seitenfehleradressenleitung.An operation for giving information of the page fault objection and the protection objection to the central processing unit (CPU) and the input-output device will now be explained. F i g. 4 shows an embodiment of the circle that directs the page fault objection and protection objection in the Channels. In Fig. 4, 2-1 and 2-2 denote them Central processing unit CPU, 3 denotes the channel CH, 18 denotes the storage register for the logical Main memory address CLAR, 2t denotes the memory register for the page table entry data CTLB, 25 denotes a comparison device, 26 denotes the unit control word UCW memory, 36 denotes the data transfer control circuit, 37 denotes the input-output interface control circuit, 40 denotes the selector circuit, 41 denotes a circuit for determining a CPU interrupt, 42 denotes a page fault address send gate, 43 denotes a page fault detector line, 44 denotes a protective object detector line, 45 denotes a draws a page fault break request line, 4 * denotes a guard break request line, 47 denotes a page fault address transmission designation signal line, 48 denotes an end of break information line, and 49 denotes a page fault address line.

Die Operation zur Information der Zentralprozessorcinhcii (CPU) und des Eingangs-Ausgangs-Geräts über die Seitenfehlereinwendung wird in der unten beschriebenen Weise ausgeführt. soThe operation for informing the central processing unit (CPU) and the input-output device about the page fault objection is carried out in the manner described below. so

In F i g. 4 wird mittels der Seitenfehlerdetektorleitung 43 die Tatsache, daß das Seitenungültigkeitsbit (Pl) im Speicherregister für die Seitentabelleneintragsstelle (CTLB) 20 eine »1« ist, an den Datenübertragungssteuerkreis 36 gegeben. Der Datenübertragungssteuer- SS kreis 36 gibt über die Seitenfehlerunterbrechungs-Anfrageleitung 45 die Information, daß eine Seitenfehlerunterbrechungsanfrage vorliegt, an den Kreis zur Bestimmung einer CPU-Unterbrechung. Der Kreis 41 zur Bestimmung einer CPU-Unterbrechung veranlaßt, daß die Zentralprozessoreinheit unterbrochen wird, wie im Fall des Kanalquerrufs (channel-cross-call), und zeigt den Datenweg im Selektorkreis 40 an. Der Datenübertragungssteuerkreis 36 gibt eine Unterbrechungsanfrage aus und öffnet über die Seitenadressen-Sende- bestimmungs-Signalieitung 47 das Seitenfehleradressen-Sendegatter 42 und gibt die vom Speicherregister für die logische Hauptspeicheradresse (CLAR) W übersandte Fehleradresse auf die Seitenfehleradressenleitung 49. Damit wechseln die Seitenfehlerunterbrechungsanfrage und die Seitenfehleradresse für die bestimmte Zentralprozessoreinheit (CPU) vom Kanal (CH) 3 über die Seitenfehlerunterbrechungsanfrageleitung 45 und die Seitenfehleradressenleitung 49 die Seiten. Die Zentralprozessoreinheit (CPU) vollführt die Operation ähnlich denen, die ausgeführt werden, wenn ein Seitenfehler in der Zentralprozessoreinheit (CPU) erzeugt wird, um Umwandlungseinwendungen zu erzeugen, und speichert gleichzeitig die Adresse, in der ein Fehler erzeugt worden ist, im Kanal für die festgehaltene Adresse des vorausgegangenen Bereichs der Zentralprozessoreinheit (CPU). Hier kann der Speicherbereich der gleiche sein wie für die Speicherung der Umwandlungseinwendungsadresse in der Zentralprozessoreinheit (CPU). Der Datenübertragungssteuerkreis 36 im Kanal (CH) 3 gibt eine Unterbrechungsanfrage an die Zentralprozessoreinheitsseite und fragt gleichzeitig den Eingangs-Ausgangs-Schnittstellen-Steuerkreis 37 ab, um die in der Seite des Kanals bestimmte Vollendungsfolge auszuführen. Der Eingangs-Ausgangs-Schnittstellen-Steuerkreis 37 gibt solch eine Vollendungsfolge wie in dem Fall, daß ein Fehler im Speicherzugriffvom Kanal auf der Eingangs-Ausgangs-Schnittstelle erzeugt wird. Wenn die Unterbrechungsende-Information über die Unterbrechungsende-Informationsleitung 48 von der Zentralprozessoreinheit (CPU) 2 zurückkommt, und wenn die Unterbrechungsfolgenende-Information vom Eingangs-Ausgangs-Schnittstellen-Steuerkreis 37 gesendet wird, vollendet der Datenübertragungssteuerkreis 36 eine Serie der Seitenfehlerbearbeitung.In Fig. 4 is made by means of the page fault detector line 43 the fact that the page invalid bit (PI) is in the storage register for the page table entry location (CTLB) 20 is a "1" is given to the data transfer control circuit 36. The data transfer control SS Circuit 36 gives the information that a page fault break request is present to the circuit via the page fault break request line 45 Determination of a CPU interrupt. The circuit 41 causes the determination of a CPU interruption, that the central processing unit is interrupted, as in the case of channel cross-call, and indicates the data path in selector circle 40. The data transfer control circuit 36 issues an interrupt request and opens the page address send determination signaling line 47 the page fault address send gate 42 and outputs from the memory register for the logical main memory address (CLAR) W sent error address on the page fault address line 49. This changes the page fault interrupt request and the page fault address for the designated central processing unit (CPU) from channel (CH) 3 through the page fault interrupt request line 45 and the page fault address line 49 the pages. The central processing unit (CPU) performs the Operation similar to those performed when there is a page fault in the central processing unit (CPU) is generated to generate conversion objections and at the same time stores the address in which an error has been generated in the channel for the pinned address of the previous area of the Central Processing Unit (CPU). Here the memory area can be the same as for the storage of the Conversion objection address in the central processing unit (CPU). The data transfer control circuit 36 in the channel (CH) 3 issues an interrupt request to the central processing unit side and inquires at the same time from the input-output interface control circuit 37 to the in the side of the channel to carry out a certain sequence of completion. The input-output interface control circuit 37 is such a completion sequence as in the case that an error is generated in memory access from the channel on the input-output interface. When the interruption end information comes back through the interruption end information line 48 from the central processing unit (CPU) 2 and when the interruption sequence end information is sent from the input-output interface control circuit 37, the data transfer control circuit 36 completes a series page fault handling.

Eine Operation zur Übergabe der Information von einer Schutzeinwendung an die Zentralprozessoreinheit (CPU) und das Eingangs-Ausgangs-Gerät wird wie folgt ausgeführt. Gemäß Fig. 4 wird die Information von der Erzeugung einer Schutzeinwendung über die Schutzeinwendungsdetektorleitung 44, die aus der Vergleichsvorrichtung 25 herauskommt, an den Datenübertragungssteuerkreis 36 gegeben. Der Datenübertragungssteuerkreis 36 informiert den Kreis zur Bestimmung einer CPU-Unterbrechung von der Existenz der Schutzeinwendungs-Unterbrechungsanfrage, dazu wird die Schutzeinwendungsunterbrechungs-Anfngeleitung 46 benutzt. Der Kreis 41 zur Bestimmung einer CPU-Unterbrechung bestimmt die Zentralprozessorcinhcit für eine Unterbrechung wie im Falle der Seitenfehleninterbrechung und zeigt dann den Datenverlauf im Selektorkreis 40 an. Damit wird über die Schutzeinwendungsunterbrechungs-Abfrageleitung 46 die Schutzeinwenaungsunierbrcchungs-Abfrage an die vom Kanal (CH) 3 bestimmte Zentralprozessoreinheit (CPU) ausgegeben. Im Unterschied zur Seitenfehlerunterbrechung wird keine Adresse übertragen. Der Datenübertragungssteuerkreis 36 gibt die Unterbrechungsanfrage an die Zentralprozessoreinheit und fragt gleichzeitig den Eingangs-Ausgangs-Schnittstellen-Steuerkreis 37 ab, um die durch den Kanal bestimmte Vollendungsfolge auszuführen.An operation for transferring the information from a protective objection to the central processing unit (CPU) and the input-output device becomes like follows executed. According to Fig. 4, the information is from the generation of a protective appeal on the Protective objection detector line 44 coming out of the comparison device 25 is given to the data transfer control circuit 36. The data transfer control circuit 36 informs the CPU interruption determination circuit of the existence of the Protection object interrupt request, for this purpose the protection object interrupt start line 46 is used. The circle 41 to determine a CPU Interrupt determines the central processor unit to interrupt as in the case of the page miss interrupt, and then shows the data history in selector circuit 40. This is via the protection interruption interrogation line 46 the Protection barrier query to the central processing unit (CPU) determined by channel (CH) 3. In contrast to page fault interruption, no address is transmitted. The data transfer control circuit 36 issues the interrupt request to the central processing unit and at the same time interrogates the input-output interface control circuit 37 in order to execute the completion sequence determined by the channel.

Der Eingangs - Ausgangs- Schnittstellen - Steuerkreis 37 führt die Vollendungsfolge aus, welche ähnlich derjenigen ist, die vom Kanal auf der Eingangs-Ausgangs-Schnittstelle ausgeführt wird, wenn ein Fehler im Speicherzugriff erzeugt wird. Wenn dann über die Unterbrechungsende-Informationsleitung 48 die Unterbrechungsende-Information von der Zentralprozessoreinheit (CPU) 2 zurückkommt, und wenn die Vollendungs-The input-output interface control circuit 37 executes the completion sequence which is similar to that performed by the channel on the input-output interface when a memory access error is generated. Then, when the interruption end information comes back from the central processing unit (CPU) 2 via the interruption end information line 48, and when the completion

9 ίο9 ίο

t| fotgende-Information vom Eingangs-Ausgangs-Schnittstellen-Steuerkreis 37 abgesendet worden ist, vollendet der Datenübertragungssteuerkreis 36 eine Serie von Schutzeinwendungsverarbeitungen.t | After information has been sent from the input-output interface control circuit 37, is completed the data transfer control circuit 36 performs a series of protection appeal processing.

Bei der obigen Erläuterung wurde der Kanal als ein 5 Beispiel der Einheit genommen, welche den Hauptspeicher zusammen mit der Zentralprozessoreinheit benutzt und eine dynamische Adressenübersetzung ausführt. Jedoch ist diese Erfindung nicht auf den Kanal begrenzt, und es ist klar, daB die vorliegende Erfindung io für eine solche Einheit wie den in Fig. 1 dargestellten Unteranordnungsadapter benutzt werden kann. In diesem Fall entspricht die Unteranordnung dem Eingangs-Ausgangs-Gerät.In the above explanation, the channel was identified as a 5th Take the example of the unit which uses the main memory together with the central processing unit and carries out dynamic address translation. However, this invention is not related to the channel is limited, and it is clear that the present invention is applicable to such a unit as that shown in FIG Sub-assembly adapter can be used. In this case the sub-arrangement corresponds to the input-output device.

._. , 15 ._. , 15

Hierzu 3 Blatt ZeichnungenFor this purpose 3 sheets of drawings

2020th

2525th

3030th

3535

4040

4545

5050

5555

6060

6565

Claims (2)

Patentansprüche:Patent claims: 1. Dynamische Adressenübersetzungsanordnung für einen Kanal (3) oder einen Adapter (4) einer s Unteranordnung (7) in einem Datenverarbeitungssystem mit einem Hauptspeicher (1) und einer Zentralprozessoreinheit (2), bei der in dem eine Unterbrechung der Verarbeitung einer Speicherseite zulassenden Kanal (CH 1, CH 2) oder Adapter (4) to der Unteranordnung (7) eine Kopie wenigstens einer1. Dynamic address translation arrangement for a channel (3) or an adapter (4) of a s Sub-arrangement (7) in a data processing system with a main memory (1) and a central processing unit (2), in which an interruption of the processing of a memory page allowing channel (CH 1, CH 2) or adapter (4) to the sub-assembly (7) a copy of at least one in einer Adressenübersetzungstabelk (Seitentabelle U) enthaltenen Eintragsstelle (12), welche die physikalische Adresse (PPA) der zu verarbeitenden Speicherseite speichert, hergestellt wird, gekennzeichnet durch ein Speicherregister (CTLB 2·) in dem Kanal oder dem Adapter der Unteranordnung mit Bereichen zum Speichern der Daten (PI, ACC, PPA) der Kopie der Eintragsstelle (12) in der Adressenübersetzungstabelle (U) in dem Hauptspeicher (1) und zum Speichern eines die Kopie als gültig anzeigenden Gültigkeitsbits (I),in an address translation table (page table U) contained entry position (12) which the physical address (PPA) of the memory page to be processed stores, is established, marked by a storage register (CTLB 2 *) in the channel or adapter of the sub-array with areas for storing the data (PI, ACC, PPA) of the copy of the entry point (12) in the address translation table (U) in the main memory (1) and for storing a validity bit (I) indicating the copy as valid, einen Zähler (22) in dem Kanal oder dem Adapter zum Verändern der jeweiligen Adressen innerhalb der Speicherseite, die der Kopie der Eintragsstelle (12) in der Adressenübersetzungstabelle (11) zugeordnet ist, unda counter (22) in the channel or the adapter for changing the respective addresses within the memory page containing the copy of the entry position (12) in the address translation table (11) is assigned, and eine mit der Zentralprozessoreinheit (2) in Wirkungsverbindung stehende Einrichtung (35) in dem Kanal oder dem Adapter zum Ändern des Zustands des das Gültigkeitsbit (I) enthaltenden Bereichs (24) des Speicherregisters (2·), wenn die Zentralprozessoreinheit einen Befehl zum Aktualisieren der entsprechenden Eintragsstelle (12) in der Adressen- Übersetzungstabelle (11) oder einen eine Änderung dieser Eintragsstelle (12) anzeigenden Befehl abgibt, so daß das Gültigkeitsbit (I) die Kopie der betreffenden Eintragsstelle (12) als ungültig anzeigt.one with the central processor unit (2) in operative connection device (35) in the Channel or the adapter for changing the state of the area (24) containing the valid bit (I) of the memory register (2) when the central processing unit has received an instruction to update the corresponding entry position (12) in the address Translation table (11) or a command indicating a change in this entry position (12) releases so that the validity bit (I) indicates the copy of the relevant entry point (12) as invalid. 2. Dynamische Adressenübersetzungsanordnung nach Anspruch 1, dadurch gekennzeichnet, daß eine Vergleichsvorrichtung (25) zum Vergleich von Zugriffsschutzdaten (ACC), die in dem Speicherregister (CTLB 20) gespeichert sind, und eines Zugriffsschlüssels (17), der in dem Kanal oder Unter- anordnungsadapter enthalten ist, vorgesehen ist, und daß eine Vorrichtung (44,36,46) vorgesehen ist, die eine Information an die Zentralprozessoreinheit abgibt, wenn das Vergleichsergebnis, welches durch die Vergleichsvorrichtung erhalten wird, die so Unmöglichkeit eines Zugriffs auf die adressierte Speicherseite anzeigt.2. Dynamic address translation arrangement according to claim 1, characterized in that a comparison device (25) for comparing access protection data (ACC), which are stored in the memory register (CTLB 20), and an access key (17) which is in the channel or sub- arrangement adapter is included, and that a device (44, 36, 46) is provided which outputs information to the central processing unit if the comparison result obtained by the comparison device indicates the inability to access the addressed memory page .
DE2827745A 1978-06-23 1978-06-23 Dynamic address translation arrangement Expired DE2827745C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2827745A DE2827745C2 (en) 1978-06-23 1978-06-23 Dynamic address translation arrangement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2827745A DE2827745C2 (en) 1978-06-23 1978-06-23 Dynamic address translation arrangement

Publications (2)

Publication Number Publication Date
DE2827745A1 DE2827745A1 (en) 1980-01-03
DE2827745C2 true DE2827745C2 (en) 1985-05-23

Family

ID=6042635

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2827745A Expired DE2827745C2 (en) 1978-06-23 1978-06-23 Dynamic address translation arrangement

Country Status (1)

Country Link
DE (1) DE2827745C2 (en)

Family Cites Families (1)

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

Also Published As

Publication number Publication date
DE2827745A1 (en) 1980-01-03

Similar Documents

Publication Publication Date Title
EP0010198B1 (en) Device for page replacement control in a data processing system with a virtual memory
DE2227882C2 (en) Virtual storage arrangement
DE2726488C2 (en) Address translation facility
DE3146356C2 (en) Device for controlling the transmission of device control information in a data terminal
DE2241257C3 (en) Data processing system
DE3011552C2 (en)
DE2226382C3 (en) Data processing system with several processors and buffer memories assigned to them
EP0600112A1 (en) Data processing system with virtual memory addressing and memory access controlled by keys
DE3502147C2 (en)
DE2847960A1 (en) MEMORY CONTROL DEVICE
DE2360303C2 (en) Data processing system with address translation for input / output channels
DE2841041A1 (en) DATA PROCESSING SYSTEM WITH AT LEAST TWO PROCESSORS EQUIPPED WITH A FAST WORKING MEMORY
DE3621321A1 (en) CACHE STORAGE OR MULTIPROCESSOR SYSTEM AND OPERATING METHOD
DE3805107A1 (en) METHOD AND DEVICE FOR CONTROLLING VIRTUAL ADDRESS SPACES OF A VIRTUAL STORAGE
CH619309A5 (en)
DE2054830C3 (en) Information processing system with means for accessing memory data fields of variable length
DE2750721A1 (en) INPUT / OUTPUT SYSTEM
DE2517302C2 (en) Multi-program data processing device
DE2441754A1 (en) PROCESSOR DATA TRANSFER CONTROL ARRANGEMENT AND METHOD FOR CONTROLLING THE DATA TRANSFER OF A PROCESSOR
DE4123550C2 (en) Information processing system with direct memory access
DE3046912C2 (en) Circuit arrangement for the selective deletion of cache memories in a multiprocessor data processing system
DE19722803A1 (en) Circuit for moving data between remote memories and a computer containing this circuit
DE2454613A1 (en) ELECTRONIC DATA PROCESSING SYSTEM
DE2827745C2 (en) Dynamic address translation arrangement
DE4227784A1 (en) COMPUTER SYSTEM AND METHOD FOR REMOVING A PAGE ERROR

Legal Events

Date Code Title Description
OAP Request for examination filed
OD Request for examination
D2 Grant after examination
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: REINLAENDER, C., DIPL.-ING. DR.-ING., PAT.-ANW., 8000 MUENCHEN

8339 Ceased/non-payment of the annual fee