DE2302379A1 - PROCESS AND CIRCUIT ARRANGEMENT FOR PERFORMING SEQUENTIAL INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING - Google Patents

PROCESS AND CIRCUIT ARRANGEMENT FOR PERFORMING SEQUENTIAL INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING

Info

Publication number
DE2302379A1
DE2302379A1 DE19732302379 DE2302379A DE2302379A1 DE 2302379 A1 DE2302379 A1 DE 2302379A1 DE 19732302379 DE19732302379 DE 19732302379 DE 2302379 A DE2302379 A DE 2302379A DE 2302379 A1 DE2302379 A1 DE 2302379A1
Authority
DE
Germany
Prior art keywords
memory
data
address
physical
page
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
Application number
DE19732302379
Other languages
German (de)
Other versions
DE2302379B2 (en
DE2302379C3 (en
Inventor
Albrecht Dipl Ing Baer
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.)
Siemens AG
Original Assignee
Siemens AG
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
Priority to FR108891D priority Critical patent/FR108891A/fr
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE19732302379 priority patent/DE2302379C3/en
Priority to DE19732314070 priority patent/DE2314070C3/en
Priority to GB5705473A priority patent/GB1447680A/en
Priority to ES421559A priority patent/ES421559A1/en
Priority to ZA740006A priority patent/ZA746B/en
Priority to FR7401140A priority patent/FR2214923B1/fr
Priority to IT1942574A priority patent/IT1012542B/en
Priority to LU69174D priority patent/LU69174A1/xx
Priority to BR33474A priority patent/BR7400334D0/en
Priority to NL7400649A priority patent/NL7400649A/xx
Priority to BE139975A priority patent/BE809930A/en
Priority to GB691174A priority patent/GB1454357A/en
Priority to NL7403609A priority patent/NL7403609A/xx
Priority to FR7409060A priority patent/FR2222696B2/fr
Priority to LU69663A priority patent/LU69663A1/xx
Priority to BE142284A priority patent/BE812640R/en
Publication of DE2302379A1 publication Critical patent/DE2302379A1/en
Priority to DE19742444406 priority patent/DE2444406A1/en
Priority to NL7510623A priority patent/NL7510623A/en
Priority to FR7527583A priority patent/FR2285658A2/en
Priority to BE160129A priority patent/BE833520R/en
Publication of DE2302379B2 publication Critical patent/DE2302379B2/en
Application granted granted Critical
Publication of DE2302379C3 publication Critical patent/DE2302379C3/en
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)
  • Bus Control (AREA)

Description

Verfahren und Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage Method and circuit arrangement for performing sequentially running input / output operations in the case of a data processing system working with virtual addressing

Die Erfindung bezieht sich auf ein Verfahren und eine Schaltungsanordnung zum Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage mit Hilfe von ursprünglich beliebig virtuell oder reell adressierten, aber stets reell adressiert ablaufenden Kanalprograminen,. mit einer für- eine Vielzahl von angeschlossenen peripheren Geräten auch dann noch ausreichenden Datenrate, wenn bei einem Datentransfer während des Ablaufs eines Kanalbefehls zu mehr als einer Seite des segmentierten physikalischen Arbeitsspeichers zugegriffen werden muß, bei dem eine durch einen physikalisch adressierenden Kanalbefehl festgelegte und in einem Datenadreß-Speicher als Adresse eines Datenbytes gespeicherte physikalische Datenadresse gelesen, decodiert, damit ein Speicherplatz im einem Teil des Arbeitsspeichers bildenden Datenspeicher ausgewählt und entsprechende Datenbytes zwischen diesem und einem der angeschlossenen peripheren Geräte transferiert werden.The invention relates to a method and a circuit arrangement for performing sequentially running Input / output operations in a data processing system working with virtual addressing with the help of originally arbitrarily addressed virtually or real, but always with real addresses Channel programs ,. with one for-a variety of connected peripheral devices still have a sufficient data rate if a data transfer is in progress a channel command has to be accessed to more than one page of the segmented physical main memory, in which one determined by a physically addressing channel command and stored in a data address memory as Address of a data byte stored physical data address read, decoded so that a memory location in the a part of the main memory forming data memory selected and corresponding data bytes between this and transferred to one of the connected peripheral devices.

Bekannte virtuell adressierende datenverarbeitende Anlagen benutzen die virtuelle Adressierung des ArbeitsspeichersKnown virtually addressing data processing systems use the virtual addressing of the main memory

VPA 9/210/30094 Go/FdlVPA 9/210/30094 Go / Fdl

-2--2-

409833/0413409833/0413

mir bei der Programmverarbeitung im Zentralprozessor. Virtuell adressierende datenverarbeitende Anlagen gehen von einem theoretisch beliebig großen Arbeitsspeicher, dem sogenannten virtuellen Speicher aus. Dieser ist durch eine dann theoretisch ebenfalls beliebig große Anzahl von Arbeitsspeicheradressen, die sogenannten virtuellen Adressen, adressierbar. Der virtuelle Speicher wird in gleich große Bereiche, sogenannte Seiten unterteilt, die bei bekannten Datenverarbeitungsanlagen z. B. zwei oder vier KByte lang sind. Auch der physikalisch vorhandene Arbeitsspeicher wird in Bereiche dieser Größe aufgeteilt. Der Inhalt des gesamten virtuellen Speichers befindet sich auf einem äußeren Speicher der Datenverarbeitungsanlage. In den physikalischen Arbeitsspeicher werden jeweils nur diejenigen Seiten des virtuellen Speichers übertragen, die die gerade benötigten Befehle oder Operanden eines laufenden Programms enthalten.me with the program processing in the central processor. Virtually addressing data processing systems are based on a theoretically arbitrarily large working memory, the so-called virtual memory. This is then theoretically also an arbitrarily large number of Main memory addresses, the so-called virtual addresses, are addressable. The virtual memory is in the same size Areas, so-called pages, which are used in known data processing systems such. B. two or four Kbytes long are. The physically available main memory is also divided into areas of this size. The content of the entire virtual memory is located on an external memory of the data processing system. In the physical main memory, only those pages of the virtual memory are transferred which contain the commands or operands currently required for a running program.

Die virtuelle Adressierung ist nur dann sinnvoll einzusetzen, wenn in einer Datenverarbeitungsanlage gleichzeitig eine Vielzahl von Programmen verarbeitet werden soll. Jeder Benutzer bzw. jedes Programm hat dann seinen eigenen virtuellen Speicher, wobei dann aber die von den verschiedenen Programmen benötigten Seiten des virtuellen Speichers in keiner festen Zuordnung zu bestimmten Seiten des physikalischen Arbeitsspeichers stehen. Denn der Inhalt einer virtuellen Speicherseite wird eben nur bei Bedarf in eine Seite des physikalischen Arbeitsspeichers transferiert, die gerade frei ist. Die Zuordnung der virtuellen Adressen von Befehlen oder Operanden zu den physikalischen Arbeitsspeicheradressen ist daher nichtVirtual addressing is only sensible to use when in a data processing system at the same time a large number of programs are to be processed. Each user or each program then has his own own virtual memory, with the pages of the virtual Memory are not permanently assigned to specific pages of the physical main memory. Because the content of a virtual memory page is just if necessary, transferred to a page of the physical main memory that is currently free. The assignment of the Therefore, virtual addresses of commands or operands are not related to the physical memory addresses

VPA 9/21Ο/3ΟΟ9Λ -3-VPA 9 / 21Ο / 3ΟΟ9Λ -3-

409833/0413409833/0413

fest und erfolgt über für jeden Programmablauf neu präparierte Adresstabellen, die sogenannten Seitentafeln, aufgrund derer festzustellen ist, welche physikalische Adresse gegenwärtig einer virtuellen Adresse entspricht und ob überhaupt die entsprechende Seite des virtuellen Speichers derzeit im Arbeitsspeicher enthalten ist. Wird bei der Adressübersetzungsroutine festgestellt, daß dies nicht der Pail ist, kommt es zu einer Programmunterbrechung, während der das Betriebssystem der datenverarbeitenden Anlage den Transfer der betreffenden virtuellen Speicherseite aus dem äußeren Speicher in den physikalischen Arbeitsspeicher veranlaßt.fixed and takes place via address tables, the so-called side tables, which are newly prepared for each program sequence, on the basis of which it can be determined which physical address is currently a virtual address corresponds and whether the corresponding page of virtual memory is currently in memory is. If the address translation routine determines that this is not the Pail, the program is interrupted. while the operating system of the data-processing system is responsible for the transfer of the relevant the virtual memory page from the external memory into the physical main memory.

Der große Vorteil der virtuellen Adressierung besteht darin, daß jedes der simultan ablaufenden Programme seinen gesamten virtuellen Speicher- und Adressenraum scheinbar uneingeschränkt benutzen kann. Der Programmwechsel von Benutzerprogrammen und Adress..über Setzungsroutinen, bleiben für den Benutzer unsichtbar, d. h. brauchen in den Benutzerprogrammen nicht berücksichtigt zu werden. Damit bildet die Größe des physikalischen Arbeitsspeichers auch keine Grenze mehr für die Anzahl der Programme, die in Multiprogrammverarbeitung laufen können.The great advantage of virtual addressing is that each of the programs running simultaneously can apparently use its entire virtual memory and address space without restriction. The program change from user programs and address .. via setting routines, remain invisible to the user, d. H. do not need to be taken into account in the user programs. In order to the size of the physical main memory no longer forms a limit for the number of programs, which can run in multi-program processing.

Allerdings muß in einer virtuell adressierenden Datenverarbeitungsanlage - wie erwähnt - bei jedem Zugriff zum physikalischen Arbeitsspeicher zunächst eine unter Umständen sehr zeitraubende Übersetzungsroutine durchlaufen werden, die je nach der Größe des physikalischen Arbeitsspeichers auch mehrstufig sein kann. Dies sei kurz an einem Beispiel erläutert: Umfaßt z. B.However, in a virtually addressing data processing system - as mentioned - each time the physical main memory is accessed, one under Very time-consuming translation routine must be run through, depending on the size of the physical RAM can also be multilevel. This will be explained briefly using an example: B.

VPA 9/21O/3OO9cc -4-VPA 9 / 21O / 3OO9cc -4-

4098 3 3/04134098 3 3/0413

jede Speicherseite des virtuellen Speichers einen Adressberej eh von 4KByte und werden sechzehn Speicherseiten zu einem Segment zusammengefaßt, so enthält dieEach memory page of the virtual memory has an address range of 4KByte and becomes sixteen memory pages combined into a segment, the contains

diesem Segment zugeordnete Seitentafel als Adressübersetzungstabelle sechzehn Eintragszeilen, in denen den virtuellen Seitennummern die gegenwärtige Arbeitsspeicheradresse der virtuellen Seite, die sogenannte physikalische Seitennuinmer zugeordnet ist. Im gewählten Beispiel umfaßt jedes Segment einen Adressbereich von 64KByte. Man kann nun 16 derartiger Segmente zu einem Block zusammenfassen, der dann einen Adressbereich von einem MByte umfaßt. Pur die Adressübersetzung ist diesem Block des virtuellen Speichers eine Segmenttafel zugeordnet, die 16 Einträge für die physikalischen Adressen der entsprechenden Seitentafeln enthält. Mehrere derartiger Blöcke bilden schließlich den gesamten virtuellen Adressbereich und sind analog bei der Adressübersetzung über eine Blocktafel ansprechbar.Page table assigned to this segment as an address translation table sixteen entry lines in which the virtual page numbers show the current memory address the virtual page, which is assigned to the so-called physical page number. In the selected example includes each segment has an address area of 64KByte. You can now combine 16 such segments into one block, which then covers an address range of one Mbyte. Purely the address translation is this block of the virtual A segment table is assigned to the memory, the 16 entries for the physical addresses of the corresponding side tables contains. Several such blocks ultimately form the entire virtual address range and are analogous addressable via a block table for address translation.

Daraus wird deutlich, daß jede Adressübersetzung stufenweise eine Mehrzahl von Adressübersetzungstabellen benutzt und eine Anzahl von Hilfszugriffen zum Arbeitsspeicher erfordert, die den eigentlichen Zugriff zum physikalischen Arbeitsspeicher verzögert und erschwert. Yfegen dieser zeitraubenden Adressübersetzung einerseits und der strengen Realzeitbedingungen bei der Ein-/Ausgabe moderner Datenverarbeitungsanlagen andererseits werden bisher Einga"te-/Ausgabeoperationen immer reell adressiert. Dabei ergibt sich dann folgendes Organisationsschema: Die Eingabe-/Ausgabeoperationen laufen aufgrund von Kanalprogrammen ab, die kurz vor ihrer Inbetriebnahme aus einem gegebenen UrsprungsprogrammIt is clear from this that each address translation uses a plurality of address translation tables in stages and a number of auxiliary accesses to the main memory which delays and complicates the actual access to the physical main memory. Yfegen this time-consuming address translation on the one hand and the strict real-time conditions in the Input / output of modern data processing systems, on the other hand, have always been input / output operations up to now Really addressed. The following organizational scheme then results: The input / output operations run on the basis of channel programs, which shortly before they are put into operation from a given original program

VPA 9/210/30094 -5-VPA 9/210/30094 -5-

409833/0413409833/0413

dadurch generiert, das heißt ablauffähig gemacht werden, daß reelle Adressen in alle für Adressen vorgesehenengenerated thereby, i.e. made executable, that real addresses in all intended for addresses

Plätze in den Kanalprogrammen eingesetzt werden. Dabei handelt es sich um Datenadressen und als Sprungadressen auftretende Kanalbefehladressen von gegebenenfalls im Kanalprogramm enthaltenen Programmsprüngen. Sofern nicht der Ablauf der Kanalprogramme mit dem von Betriebssystemprogrammen durch besondere Vorkehrungen zeitlich koordiniert ist, muß das gesamte Kanalprogramm für eine Eingabe-/ Ausgabeoperation vor seinem Ablauf generiert v/erden. Anderenfalls ist auch eine fortlaufende, sogemannte dynamische Präparierung während des laufenden KanalProgramms möglich.Places in the channel programs are used. These are data addresses and jump addresses Occurring channel command addresses from program jumps possibly contained in the channel program. Unless the sequence of the channel programs with that of the operating system programs is time-coordinated by special precautions, the entire channel program must be for an input / Output operation generated before it expires. Otherwise is also a continuous, so-called dynamic Preparation possible while the sewer program is running.

Wollte man eine derartige Eingabe-/Ausgabeoperation in einem virtuell adressierenden System durchführen, so blieb bisher nur folgender V/eg offen: Alle virtuellen Program- und Datenadressen des Kanalprogrammes werden im Verlauf der Generierung durch das Betriebssystem übersetzt und bereits als physikalische Speicheradressen in das Kanalprogramm eingesetzt. Wenn zu erwarten ist, daß eine Eingabe-/ Ausgabe-Datenadresse später die Grenze einer physikalischen Seite überschreiten wird, müssen zusätzliche, im Ursprungsprogramm nicht enthaltene Kanalbefehle in das Kanalprogramm eingefügt werden. Mit diesen sogenannten Datenkettungsbefehlen kann dann festgelegt werden, an welcher Stelle des physikalischen Arbeitsspeichers das Kanalprogramm fortgesetzt werden soll. Die Einfügung zusätzlicher Datenkettungsbefehle in ein Kanalprogramm kann gegebenenfalls dadurch umgangen werden, daß alle über mehrere Speicherseiten reichenden Datenblöcke dieses Programmes im physikalischen Arbeitsspeicher zusammenhängend gespeichert werden. Jedoch erfordert dies spezielle Vorkehrungen in der Speicherverwaltung des Betriebssysteros , da dies normalerweise bei virtuellIf you wanted to carry out such an input / output operation in a virtually addressing system, the only option that was previously open was the following: All virtual program and data addresses of the channel program are translated by the operating system during generation and already as physical memory addresses in the channel program used. W e nn to be expected that an input / output data address will later cross the boundary of a physical page, additional, not included in the original program channel commands must be inserted into the channel program. These so-called data chain commands can then be used to determine at which point in the physical main memory the channel program is to be continued. The insertion of additional data chaining commands into a channel program can be circumvented if necessary by storing all data blocks of this program that extend over several memory pages in a contiguous manner in the physical main memory. However, this requires special precautions in the memory management of the operating sys- tem, as this is normally done in the case of virtual

VPA 9/2IO/3OO93-- -6-VPA 9 / 2IO / 3OO93-- -6-

409833/0413409833/0413

adressierenden Datenverarbeitungsanlagen ja gerade nicht der Fall ist.addressing data processing systems is just not the case.

Mit dieser Art der Durchführung von Eingabe-/Ausgabeoperationen sind die wesentlichen Nachteile verbunden, daß ein Ursprungsprogramm und das daraus generierte Kanalprogramm verschieden lang sind, das heißt, eine strikte "1:1-Übersetzung" ausgeschlossen ist, 7/eiterhin belasten die eingefügten Datenkettungen die Datentransferrate peripherer Geräte mit hoher Datenrate stark, da der eigentliche Datentransfer häufiger unterbrochen wird. Das kann bei ■ peripheren Geräten mit hoher Gerätedatenrate, wie z. B. bei modernen Plattenspeichern sogar dazu führen, daß der Datentransfer dann fehlerhaft ausgeführt v/ird und deshalb wiederholt v/erden muß.This type of implementation of input / output operations has the essential disadvantages that an original program and the channel program generated from it are different are long, that is, a strict "1: 1 translation" is excluded is, 7 / continue to burden the inserted data chains the data transfer rate of peripheral devices with a high data rate is strong, since the actual data transfer is interrupted more often. This can happen with ■ peripheral devices with a high device data rate, such as B. in modern Disk storage even cause data transfer then carried out incorrectly and therefore has to be grounded repeatedly.

Ein bekanntes Verfahren zum Durchführen von Eingabe-/Ausgabeoperationen versucht diese Nachteile auf folgende Weise zu beheben: Es wird die indirekte Adressierung für Eingabe-/ Ausgabeoperationen verwendet, die Adressierung ist daher auch bei diesen Operationen der Programmverarbeitung im Zentralprozessor angepaßt. Die zu übertragenden Daten sind in 2 KByte-große Blöcke segmentiert, wobei angenommen wird, daß scheinbar die zu den Kanalbefehlen gehörenden Daten im physikalischen Arbeitsspeicher benachbart abgelegt sind, was jedoch in Wirklichkeit nicht der Pail ist, für den Benutzer aber nicht sichtbar wird. "A known method for carrying out input / output operations attempts to remedy these disadvantages in the following way: Indirect addressing is used for input / output operations; the addressing is therefore also adapted to the program processing in the central processor in these operations. The data to be transmitted is segmented into blocks of 2 KByte size, whereby it is assumed that the data belonging to the channel commands appear to be stored adjacent in the physical main memory, which in reality is not the pail, but is not visible to the user. "

Das Adressenfeld des Kanalbefehls bezeichnet die physikalische Adresse eines ersten sogenannten indirekten Datenadresswortes, das seinerseits die Adresse des ersten Datenbytes der zu übertragenden Daten in einem Bereich des physikalischen Arbeitsspeichers bis zu 2 BKyte festlegt.The address field of the channel command designates the physical address of a first so-called indirect data address word, in turn the address of the first data byte of the data to be transmitted in an area of the physical main memory up to 2 Bbytes.

VPA 9/210/3009; L ' . _7_VPA 9/210/3009; L ' . _7_

409833/0413409833/0413

Weiterhin ist im Kanalbefehl die zu übertragende Datenmenge bezeichnet, daraus und aus der Anfangsadresse des zum ersten indirekten Datenadresswortes gehörendenSpeicherbereiches ergibt sich die zur Ausführung eines Kanalbefehles erforderliche Anzahl von indirekten Datenadressv/orten. Dieses Verfahren hat - wie bei der virtuellen Adressierung den Vorteil, daß die in einem Kanalbefehl angesprochene/. Datenmenge im Arbeitsspeicher nicht zusammenhängend gespeichert zu sein braucht. Jedoch müssen die zu einem Kanalbefehl gehörenden indirekten Datenadressworte eigene und hintereinander gespeichert sein, d. h. für jeden Kanalbefehl ist eine eigene Liste Λοη indirekten Datenadressv/orten mit den physikalischen Datenadressen des ersten Bytes jedes Blockes jedesmal neu zu präpapieren. Maß muß sich aber klarmachen, daß bei einer datenverarbeitenden Anlage mit Multiprogrammverarbeitung etwa 30 fo bis 60 $ aller Seiten des physikalischen Arbeitsspeichers im Durchschnitt gleichzeitig allein durch Eingabe-/Ausgabeoperaticnenbelegt sind. Dann wird deutlich, daß ständig eine Vielzahl von Kanalbefehlen gleichzeitig bearbeitet wird und deshalb ebenfalls eine Vielzahl von Index-Adresslisten mit indirekten Datenadressworten im Speicher resident sein muß. Besonders unangenehm ist dabei, da für das System unwirtschaftlich, daß die Länge dieses Listenpools für diese Indexadresslisten veränderlich ist, da sich ja auch die durch Kanalbefehle angesprochenen Datenmengen ständig ändern können. Es muß aber für jede dieser Indexadresst-..-listen ein eigenes schnelles Indexadressregister vorgesehen sein, in dem die physikalische Pußpunktadresse dieser Liste, d. h. die Adresse des ersten, zu einem Kanalbefehl gehörenden indirekten Datenadresswortesgespeichert ist.Furthermore, the amount of data to be transmitted is designated in the channel command, from this and from the start address of the memory area belonging to the first indirect data address word the number of indirect data address locations required to execute a channel command results. As with virtual addressing, this method has the advantage that the /. The amount of data in the main memory does not need to be stored contiguously. However, the indirect data address words belonging to a channel command must be stored separately and one after the other, ie for each channel command a separate list of indirect data address words with the physical data addresses of the first byte of each block has to be newly prepared each time. Measure must however be clear that, in a data processing system with multi-program processing about 30 to 60 $ of all pages of physical memory are on average at the same time fo Ausgabeoperaticnenbelegt solely by input /. It then becomes clear that a large number of channel commands are constantly being processed at the same time and therefore a large number of index address lists with indirect data address words must also be resident in the memory. It is particularly uncomfortable, since it is uneconomical for the system, that the length of this list pool for these index address lists can be changed, since the amounts of data addressed by channel commands can also change constantly. However, a separate fast index address register must be provided for each of these index address lists, in which the physical touch point address of this list, ie the address of the first indirect data address word belonging to a channel command, is stored.

VPA 9/21Ο/3ΟΟ9... -8-VPA 9 / 21Ο / 3ΟΟ9 ... -8-

A09833/0A13A09833 / 0A13

Daher ist auch durch dieses bekannte Verfahren die Durchführung von Eingabe-/Ausgabeoperationen bei datenverarbeitenden Anlagen mit'virtueller Adressierung nicht in ausreichend befriedigender Y/eise gelöst, obwohl wegen der organisatorischen Vorteile einer einheitlichen Speicherverwaltung und des Fortfalles der Mehrzahl aller zeitraubenden Datenkettungen weiterhin das Bedürfnis besteht, ein Adressierungsverfahren bei Eingabe-/Ausgabevorgängen von datenverarbeitewnden Anlagen einzuführen, das auf die Organisationsformen bei virtueller Adressierung im Zentralprozessor abgestimmt ist.Therefore, this known method also enables input / output operations to be carried out in the case of data processing Systems with virtual addressing are not solved in a sufficiently satisfactory manner, although because of the organizational advantages of a uniform memory management and the elimination of the majority of all time-consuming There is still a need for data chains, an addressing method in input / output processes of data processing systems based on the organizational forms with virtual addressing in Central processor is matched.

Der Erfindung liegt (iaher die Aufgabe zugrunde, ein Verfahren zum Durchführen von sequentiell ablaufenden Eingabe-/ Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage der eingangs genannten Art zu schaffen, das bei bekannten Eingabe-/Ausgabesystemen verwendbar ist, d. h. sich organisch in diese bekannten Systeme einfügt, trotzdem die Eigenschaften eines Datenverarbeitungssystems mit virtueller Adressierung berücksichtigt und auch bei einer Vielzahl von angeschlossenen peripheren Geräten "im einzelnen Eingabe-/Ausgabekanal eine derart hohe Datentransferrate ermöglicht, daß auch Geräte mit hoher Gerätedatenrate mit Vorteil einzusetzen sind.The invention is based on the object of a method for performing sequentially running input / output operations in a one with virtual addressing working data processing system of the type mentioned to create the known input / output systems is usable, d. H. fits organically into these known systems, despite the properties of a data processing system with virtual addressing and also with a large number of connected peripheral devices "enables such a high data transfer rate in the individual input / output channel that also Devices with a high device data rate are to be used with advantage.

Bei einem Verfahren zum Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage mit Hilfe von ursprünglich beliebig virtuell oder reell adressierten, aber stets reell adressiert ablaufenden Kanalprogrammen mit einer für eine Vielzahl von angeschlossenen peripheren Geräten auch dann noch ausreichenden Datenrate, wenn bei einem Datentransfer während des Ablaufes eines KanalbefehlesIn a method for performing sequential input / output operations with a virtual one Addressing working data processing system with the help of originally arbitrarily virtually or real addressed, but always real addressing running channel programs with a data rate that is sufficient for a large number of connected peripheral devices even if at a data transfer during the execution of a channel command

VPA 9/210/3009; ι -9-VPA 9/210/3009; ι -9-

409833/0413409833/0413

zu mehr als einer Seite des segmentierten physikalischen Arbeitsspeiches zugegriffen werden muß, bei dem eine durch einen physikalisch adressierenden Kanalbefehl festgelegte und in einem Datenadreß-Speieher als Adresse eines Datenbytes gespeicherte physikalische Datenadresse gelesen, decodiert, damit ein Speicherplatz im einen Teil des Arbeitsspeichers bildenden Datenspeicher ausgewählt und entsprechende Datenbytes zv/ischen diesem und einem der angeschlossenen peripheren Geräte transferiert werden,wird diese Aufgabe erfindungsgemäß dadurch gelöst, daß der normale, aufgrund der im Datenadreß-Speicher gespeicherten physikalischen Datenadresse durchgeführte Datentransfer dann unterbrochen wird, sobald aufgrund einer einen Teil der physikalischen Datenadresse bildenden und die Adresse eines Datenbytes innerhalb einer Speicherseite darstellenden Bytenummer festgestellt wird, daß der Datentransfer nicht mehr innerhalb der bisher ausgewählten Speicherseite fortgesetzt werden kann, daß dann mit Hilfe eines die bisherige physikalische Seitennummer einer Speicherseite bezeichnenden Teiles der physikalischen Datenadresse zu einem Kettungslisten-Speicher zugegriffen wird, der für jede physikalische Seitennummer des Arbeitsspeichers in konsekutiver Folge eine Eintragszeile besitzt, in der die physikalische. Seitennummer der.im Programmablauf folgenden virtuellen Speicherseite gespeichert ist, daß diese neue physikalische Seitennummer mit der errechneten neuen Bytenummer zu einer gültigen, neuen physikalischen Datenadresse zusammengesetzt und im Datenadreß-Speicher gespeichert wird und daß dann der Datentransfer für eine neue Speicherseite bis zur nächsten, ebenso zu behandelnden Seitengrenzübersehreitung im Arbeitsspeicher bzw. ohne Seitengrenzüberschreitung bis zum Programmende durchgeführtmore than one page of the segmented physical memory has to be accessed, one of which is through a physically addressing channel command specified and stored in a data address memory as the address of a Data bytes stored physical data address read, decoded so that a memory location in a part of the Working memory forming data memory selected and corresponding data bytes zv / ischen this and one of the connected peripheral devices are transferred, this object is achieved according to the invention in that the normal, then interrupted due to the physical data address stored in the data address memory becomes, as soon as a part of the physical data address and the address of a Data bytes within a byte number representing the memory page indicates that the data transfer has taken place can no longer be continued within the previously selected memory page that then with the help of one of the previous physical page number of a memory page identifying part of the physical data address a linked list memory is accessed, which for each physical page number of the working memory in consecutive sequence has an entry line in which the physical. Page number of the following in the program sequence virtual memory page is stored that this new physical page number with the calculated new byte number combined to a valid, new physical data address and stored in the data address memory and that then the data transfer for a new memory page to the next, is to be treated in the same way Page limit exceeded in memory or without Page limit violation carried out until the end of the program

, wird., will.

■ VPA 9/21O/3OO9:<- -10-■ VPA 9 / 21O / 3OO9: <- -10-

1 409833/0413 1 409833/0413

- ίο -- ίο -

Dieses Verfahren hat den Vorteil, daß nunmehr Streuungen einzelner Datenblöcke innerhalb der Ausführung eines Eingabe-/Ausgabe-Kanalbefehles ohne zwischengeschaltete Datenkettungen möglich sind, die bisher ebenfalls als Kanalbefehle programmiert werden mußten. Das bedeutet, daß einzelne Teile der in einem Kanalbefehl angesprochenen Datenmenge durchaus auch auf nicht zusammenhängenden Speicherseiten des physikalischen Arbeitsspeichers abgelegt sein können, ohne daß dadurch die Datentransferrate im Eingabe-/Ausgabe-Kanal zu stark belastet wird. Sobald der Kettungslisten-Speicher Einträge über die Reihenfolge aller benutzten Seiten des physikalischen Arbeitsspeichers enthält, können sogar auch Seitengrenzüberschreitungen gestreuter, aber virtuell zusammenhängend adressierter Speicherseiten von Kanalprogrammen und darüber hinaus von im Zentralprozessor ablaufenden Hauptprogrammen durch Zugriffe zum Kettungslisten-Speicher abgewickelt werden. Weiterhin läßt sich dies alles mit Hilfe einer einzigen sogenannten Kettungsliste, die im Kettungslisten-Speicher niedergelegt ist, durchführen. Im Gegensatz zu den oben erwähnten Indexadresslisten bei den bekannten Verfahren/ die ähnlich wie die Adressübersetzungstabelle· benutzer individuell sind, ist die Kettungsliste also systemeigen, d.h. für die gesamte Zentraleinheit der datenverarbeitenden Anlage nur einmal erforderlich. Wegen der sequentiellen Abfolge von Eingabe-/Ausgabe-Operationen ist ein Zugriff zu der Kettungsliste auch nur dann erforderlich, wenn eine Seitengrenzüberschreitung auftritt und die neue physikalische Seitennummer festgestellt werden muß, mit der das Programm fortgesetzt werden soll.This method has the advantage that there are now scatter individual data blocks within the execution of an input / output channel command without any intermediary Data chains are possible, which previously also had to be programmed as channel commands. That means, that individual parts of the data volume addressed in a channel command can also be transferred to non-contiguous ones Memory pages of the physical main memory can be stored without affecting the data transfer rate is too heavily loaded in the input / output channel. As soon as the linked list stores entries about the sequence contains all used pages of the physical main memory, page limits can even be exceeded scattered, but virtually contiguous addressed memory pages of channel programs and beyond be handled by main programs running in the central processor by accessing the linked list memory. Furthermore, all of this can be done with the help of a single so-called linked list that is stored in the linked list memory is laid down. In contrast to the above-mentioned index address lists in the known methods / which, similar to the address translation table, are user-specific, the linked list is therefore inherent in the system, i.e. only required once for the entire central unit of the data processing system. Because of the sequential order of input / output operations, access to the linked list is only required if a Page limit violation occurs and the new physical page number must be determined with which the program should be continued.

VPA 9/210/3009a - 11 -VPA 9/210 / 3009a - 11 -

409833/0413409833/0413

.- 11 -.- 11 -

Eine besonders vorteilhafte Weiterbildung der Erfindung besteht in.einer Schaltungsanordnung zur Durchführung eines erfindungsgemäßen Verfahrens, die gekennzeichnet ist durch einen Datenadreß-Speicher zum Speichern der laufenden physikalischen Datenadresse, der über ein Leitungsvielfach an einen Datenadreß-Decodierer angeschlossen ist, über den mit der Da.tenadresse ein Speicherplatz des Datenspeichers auswählbar ist, der seinerseits für den Datenaustausch an periphere Geräte anschaltbar ist, durch einen über ein weiteres Leitungsvielfach mit den Ausgängen des Datenadreß-Speichers verbundenen Addierer zum Errechnen einer neuen physikalischen Datenadresse, wobei ein Übertrag aus der neuen Bytenummer eine Seitengrenzüberschreitung im Arbeitsspeicher anzeigt, die als Zustandsänderung auf einer an den Addierer angeschlossenen Signalleitung axiswertbar ist, durch der neuen Bytenummer zugeordnete Ausgänge des Addierers, die direkt mit entsprechenden Eingängen des Datenadreß-Speichers verbunden sind, sowie der physikalischen Seitennummer zugeordnete Ausgänge, die an niedrigstellige Eingänge eines weiteren Decodierers, des sogenannten Kettungslisten-Decodierers angeschlossen sind, der seinerseits außerdem mit seinen restlichen Eingängen an Ausgänge des Kettungslisten-Basisregisters und mit seinen Ausgängen an den Kettungslisten-Speicher angeschlossen ist, und durch eine an die Signalleitung angeschlossene Durchschalteeinheit, die eingangsseitig sowohl mit der physikalischen Seitennummer zugeordneten Ausgängen des Addierers als auch mit Ausgängen des Kettungslisten-Speichers verbunden ist und in der diese einander entsprechenden Eingangsgruppen mit Hilfe von logischen Gliedern abhängig von dem Signalzustand auf der Signalleitung wahlweise auf Ausgänge durchschaltbar sind, die mitA particularly advantageous development of the invention consists in.einer circuit arrangement for carrying out a method according to the invention, which is characterized is through a data address memory for storing the current physical data address, which is via a line manifold is connected to a data address decoder, via which the data address is a memory location in the data memory can be selected, which in turn can be switched on for data exchange to peripheral devices, through a another line multiple connected to the outputs of the data address memory adder for calculating a new physical data address, with a carry from the new byte number exceeding the page limit in the Shows working memory that can be axisevaluated as a state change on a signal line connected to the adder, through the outputs of the adder assigned to the new byte number, which are directly connected to the corresponding inputs of the data address memory are connected, as well as outputs assigned to the physical page number, which are connected to low-digit inputs of a another decoder, the so-called linked list decoder are connected, which in turn also with its remaining inputs to outputs of the linked list base register and is connected with its outputs to the linked list memory, and through one to the signal line connected switching unit, which is assigned both with the physical page number on the input side Outputs of the adder as well as outputs of the linked list memory is connected and in which these Corresponding input groups with the help of logic elements depending on the signal status on the signal line can optionally be switched through to outputs that are marked with

VPA 9/21O/3OO9a - 12. -VPA 9 / 21O / 3OO9a - 12. -

A09833/0413A09833 / 0413

der physikalischen Seitennummer zugeordneten Eingängen des Datenadreß-Speichers verbunden sind.the inputs of the data address memory assigned to the physical page number are connected.

Der Aufbau dieser Schaltungsanordnung zeigt, daß das oben beschriebene erfindungsgemäße Verfahren mit verhältnismäßig einfachen Mitteln durchführbar ist und deshalb gegenüber den bekannten Verfahren auch vom schaltungstechnischen Aufwand her wesentlich einfacher zu realisieren ist. Dazu kommt ein weiterer Vorteil, der sich insbesondere in der Speicherverwaltung, d.h. in der Zuweisung von physikalischen Speicherseiten beim simultanen Ablauf von mehreren Programmen besonders bemerkbar mach: Der Kettungslistenspeicher besitzt im Gegensatz zu den bekannten Index-Adreßlisten eine feste Länge, er kann daher an sich im physikalischen Arbeitsspeicher ohne weiteres mit festen Adressen, also ständig speicherresident, gespeichert sein, weil der benötigte Speicherplatz genau definiert ist. In diesem EaIl ist es auch nicht erforderlich, einen Fußpunkt für die Adressen im Kettungslisten-Speicher festzulegen, d.h. man könnte auf das Kettungslisten-Basisregister verzichten, jedoch bedeutet dies-eine gewisse Einschränkung, die man bei virtuell adressierenden Datenverarbeitungsanlagen lieber umgeht, um in der Speicherzuweisung flexibler zu bleiben. Dies ist in diesem Fall auch ohne weiteres möglich, da nur ein einziges schnell zugreifbares Register erforderlich ist, in dem die Fußpunktadresse des Kettungslisten-Speichers niedergelegt ist, denn damit erreicht man, daß der Kettungslisten-Speicher in jeder beliebigen Speicherseite des Arbeitsspeichers niedergelegt sein kann. Darüber hinaus wäre es an:- sich auch nicht erforderlich, den Kettungslisten-Speicher direkt im Arbeitsspeicher anzuordnen, er ;könnte auch als getrennte Speichereinheit mit besonders schnellem Zugriff aufgebaut sein. Dies zeigt, daß das erfindungsgemäße VerfahrenThe structure of this circuit arrangement shows that the method according to the invention described above can be carried out with relatively simple means and is therefore much easier to implement in terms of circuitry complexity than the known methods. In addition, there is another advantage that is particularly noticeable in the memory management, ie in the allocation of physical memory pages when several programs are running simultaneously: In contrast to the known index address lists, the linked list memory has a fixed length be stored in the physical main memory easily with fixed addresses, i.e. permanently memory-resident, because the required memory space is precisely defined. In this EaIl it is also not necessary to define a base point for the addresses in the linked list memory, i.e. one could do without the linked list base register, but this means a certain restriction that one would rather avoid in the case of virtually addressing data processing systems in order to be able to use the Memory allocation to stay more flexible. This is also easily possible in this case, since only a single quickly accessible register is required in which the base point address of the linked list memory is stored, because this means that the linked list memory can be stored in any memory page of the main memory . In addition, it would be to: - also not necessary to arrange the Kettungslisten memory directly in memory, he, could be constructed with particularly fast access as a separate storage unit. This shows that the method according to the invention

VPA 9/210/300O:* - 13 -VPA 9/210 / 300O: * - 13 -

409833/0413409833/0413

auch unabhängig von einem praktischen Speicherausbau einer datenverarbeitenden Anlage anwendbar ist. Andere Weiterbildungen der Erfindung sindin Unteransprüchen gekennzeichnet. can also be used independently of a practical memory expansion of a data processing system. Other training of the invention are characterized in subclaims.

Im folgenden wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnungen näher erläutert. Ss zeigt Fig. 1 ein vereinfachtes Blockschaltbild einer Schaltungsanordnung zur Durchführung eines Verfahrens für den Ablauf von sequentiellen Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage,
Fig^ 2 ein Organisationsschema eines erfindungsgemäß zu
In the following an embodiment of the invention is explained in more detail with reference to the drawings. 1 shows a simplified block diagram of a circuit arrangement for carrying out a method for the sequence of sequential input / output operations in a data processing system operating with virtual addressing,
Fig ^ 2 shows an organizational diagram of an according to the invention

benutzenden Kettungslisten-Speichers und Fig. 3 zur Erläuterung der Wirkungsweise der in Fig. 1 dargestellten Schaltungsanordnung ein auf die wesentlichen Verfahrensschritte bei einer Eingabe-/ Ausgabeoperation reduziertes Ablaufschema.linked list memory and FIG. 3 for explaining the mode of operation of the in FIG. 1 shown circuit arrangement on the essential process steps in an input / Output operation reduced flowchart.

In Fig. 1 ist als Datenadreß-Speicher vereinfacht ein Datenadreß-Register DARP dargestellt, in dem die durch einen physikalisch adressierenden Kanalbefehl festgelegte physikalische Datenadresse PDA eines Datenbytes gespeichert ist. Parallele Ausgänge dieses Registers sind über ein Leitungsvielfach mit dem Eingang eines Decodierers, des sogenannten Datenadreß-Decodierers DEC1 verbunden, der seinerseits an einen Datenspeicher DSP angeschaltet ist. Dieser; bildet einen Teil des Arbeitsspeichers ASP. Dieser Datenspeicher DSP ist an periphere Geräte PG anschaltbar, einander entgegengesetzt gerichtete Peile in der Verbindungsleitung sollen verdeutlichen, daß zwischen den peripheren Geräten und dem Datenspeicher ein Datentransfer in beiden Richtungen stattfinden kann.
VPA 9/210/3009a - 14 -
In FIG. 1, a data address register DARP is shown in simplified form as a data address memory, in which the physical data address PDA of a data byte is stored, which is determined by a physically addressing channel command. Parallel outputs of this register are connected via a multiple line to the input of a decoder, the so-called data address decoder DEC1, which in turn is connected to a data memory DSP. This; forms part of the main memory ASP. This data memory DSP can be connected to peripheral devices PG, directional arrows pointing in opposite directions in the connecting line are intended to make it clear that a data transfer can take place in both directions between the peripheral devices and the data memory.
VPA 9/210 / 3009a - 14 -

A09833/OA13A09833 / OA13

Ein weiteres Leitungsvielfach verbindet die Ausgänge des Datenadreß-Registers DARP mit Eingängen eines Addierers ADD. Auch dieses Leitungsvielfach ermöglicht die gesamte physikalische Datenadresse PDA parallel aus dem Datenadreß-Register DARP auszulesen und in den Addierer ADD einzugeben. Dies ist in Fig. 1 ebenso wie bei der Lei-" tungsverbindung zwischen dem Datenadreß-Register DARP und dem Datenadreß-Decodierer DEC1 durch den Hinweis auf ein Leitungsbündel und die Angabe"3 Bytes" verdeutlicht. In diesem Ausführungsbeispiel ist davon ausgegangen, daß die Eingabe-/Ausgabeoperation mit fortlaufender Adressenerhöhung abläuft, der Addierer ADD hat dann die Funktion, die ausgelesene physikalische Datenadresse PDA, um eine Konstante a zu erhöhen, die dem Adressenformat der zu transferierenden Daten entspricht.Another line manifold connects the outputs of the data address register DARP with inputs of an adder ADD. This line manifold also enables the entire physical data address PDA in parallel from the data address register Read DARP and enter it into the adder ADD. This is in Fig. 1 as well as in the Lei " connection between the data address register DARP and the data address decoder DEC1 by referring to a Line bundle and the indication "3 bytes" clarified. In In this embodiment, it is assumed that the input / output operation is progressively incrementing the address expires, the adder ADD then has the function of converting the physical data address PDA read out to a Increase constant a that corresponds to the address format of the data to be transferred.

Am Ausgang des Addierers ist angedeutet, daß sich die physikalische Datenadre see PDA im gewählten Ausführungsbeispiel als eine Binärzahl mit 24 Bitstellen darstellt, die aus zwei Teilen besteht: Die Bitstellen 212 bis 2 . bezeichnen eine physikalische Seitennummer PSN des Arbeitsspeichers ASP undAt the output of the adder it is indicated that the physical data address see PDA is represented in the selected embodiment as a binary number with 24 bit positions, which consists of two parts: the bit positions 2 12 to 2. designate a physical page number PSN of the working memory ASP and

O 11
die Bitstellen 2 bis 2 bezeichnen eine sogenannte Byte nummer DAS, d.h. sind die Adresse eines Datenbytes innerhalb der durch die physikalische Seitennummer PSN festgelegten Speicherseite des Arbeitsspeichers ASP. Die dargestellte Aufspaltung des Leitungsvielfachs soll verdeutlichen, daß die der Byte#nummer DAS zugeordneten Ausgänge des Addierers ADD direkt mit entsprechenden Eingängen des Datenadreß-Registers DARP verbunden sind und andererseits die der physikalischen Seitennummer PSN zuzuordnenden Ausgänge des Addierers ADD sowohl mit einer Durchschalteeinheit DSE verbunden, als auch mit einer bestimmten Orientierung an einen Teil der
O 11
the bit positions 2 to 2 designate what is known as a byte number DAS, ie they are the address of a data byte within the memory page of the main memory ASP defined by the physical page number PSN. The illustrated splitting of the line manifold is intended to make it clear that the outputs of the adder ADD assigned to the byte number DAS are connected directly to the corresponding inputs of the data address register DARP and, on the other hand, the outputs of the adder ADD assigned to the physical page number PSN are both connected to a switching unit DSE, as well as with a certain orientation towards part of the

VPA 9/210/3009a - 15 -VPA 9/210 / 3009a - 15 -

409833/0413409833/0413

Eingänge eines weiteren Decodierers , des sogenannten Kettungslisten-Decodierers DEC2 angeschlossen sind.Inputs of a further decoder, the so-called linked list decoder DEC2 are connected.

Dieser Kettungslisten-Decodierer DEC2 besitzt eine weitere Gruppe von Eingängen, die mit den Ausgängen eines Registers, des sogenannten Kettungslisten-Basisregisters KBR verbunden sind. Der Inhalt dieses Registers und die aus dem Addierer ADD ausgelesene physikalische Seitennummer PSN wird zu einer neuen Adresse zusammengesetzt, die dem Kettungslisten-Decodierer DEC2 eingegeben wird. Dies ist wiederum durch das aufgespaltene Leitungsvielfach schematisch angedeutet. Diese derart zusammengesetzte Adresse stellt die sogenannte Kettungslisten-Speicheradresse KZA dar, mit der eine Zeile des an den Kettungslisten-Decodierer DEC2 angeschlossenen Kettungslisten-Speicheis KSP auswählbar ist.This linked list decoder DEC2 has another one Group of inputs that are connected to the outputs of a register, the so-called linked list base register KBR are connected. The content of this register and the physical page number read out from the adder ADD PSN is composed to a new address which is input to linked list decoder DEC2. this is again indicated schematically by the split line manifold. This address composed in this way represents the so-called linked list memory address KZA, with which a line of the linked list decoder Linking list memory KSP connected to DEC2 can be selected is.

Die prinzipielle Struktur dieses Kettungslisten-Speichers ist in Fig. 2 schematisch dargestellt. Der Speicher ist zeilenweise orientiert, die Gesamtzahl seiner Zeilen entspricht dabei der Zahl der Seiten des physikalischen Arbeitsspeichers ASP. In der linken Spalte der Fig. 2 sind Eintragsnummern EN in konsekutiver Folge von 1 bis η angegeben. Diese Eintragsnummern EN entsprechen den Seitenzahlen der physikalischen Speicherseiten PSN, d.h. es ist in diesem Beispiel angenommen, daß der Arbeitsspeicher ebenfalls η Speicherseiten besitzt. Im einfachsten Fall könnte der Kettungslisten-Speicher in jeder Eintragszeile, die durch eine bestimmte Kettungslisten-Speicheradresse KZA festgelegt ist, einen einzigen Eintrag, die physikalische Seitennummer PSN+1 der im Programmablauf folgenden Speicherseite enthalten. Dieser Eintrag ist in schematisierter Form in der rechten, mit PSN+1 bezeichneten Spalte angedeutet.The basic structure of this linked list memory is shown schematically in FIG. The memory is oriented line by line, the total number of its lines corresponds thereby the number of pages of the physical main memory ASP. In the left column of Fig. 2 are Entry numbers EN given in consecutive order from 1 to η. These entry numbers EN correspond to the page numbers of the physical memory pages PSN, i.e. it is In this example it is assumed that the main memory also has η memory pages. In the simplest case it could the linked list memory in each entry line that a single entry, the physical one, is determined by a specific linked list memory address KZA Contains page number PSN + 1 of the memory page following in the program sequence. This entry is in schematic form indicated in the right column labeled PSN + 1.

VPA 9/210/3009a - 16 -VPA 9/210 / 3009a - 16 -

409833/0413409833/0413

Ein derartiger Eintrag PSN+1 in einer Zeile des Kettungslisten-Speichers bedeutet jedoch nur die pirysikalische Seitennummer, mit der ein Programmablauf fortzusetzen ist, wenn im Laufe des Datentransfers durch fortlaufende Adressenerhöhung einer Bytenummer eine Seitengrenzüberschreitung im Arbeitsspeicher ASP stattfindet.Such an entry PSN + 1 in a line of the linked list memory however only means the pirysical page number with which a program sequence is to be continued, if in the course of the data transfer by continuously increasing the address a byte number a page limit violation takes place in the working memory ASP.

Im gewählten Ausführungsbeispiel enthält jedoch jede Eintragszeile noch einen v/eiteren Eintrag PSN-1 in der mittleren Spalte. Analog zu dem erstgenannten Eintrag stellt dieser Eintrag die physikalische Adresse einer Speicherseite dar, die im Programmablauf, sofern mit fortlaufender Adressenerhöhung gearbeitet wird, der bisherigen Speicherseite vorangegangen ist. Dieser zweite Eintrag in jeder Zeile des Kettungslisten-Speichers KSP ermöglicht den Betriebsfall der "Eingabe rückwärts", bei dem die Datenadresse fortlaufend erniedrigt wird. Auch hier können natürlich Seitengrenzüberschreitungen auftreten, die einen Zugriff zu dem Kettungslisten-Speicher erfordern, um die nachfolgende Speicherseite im Programmablauf zu finden.In the selected embodiment, however, contains each entry line Another entry PSN-1 in the middle column. Analogous to the first entry, this one Entry represents the physical address of a memory page that is used in the program sequence, provided that the address is continuously increased the previous memory page is being worked on. That second entry on each line of the linked list memory KSP enables the operating case of "input backwards", in which the data address is consecutive is humiliated. Here, too, of course, side boundaries can be crossed occur that require access to the linked list memory in order to access the subsequent The memory page can be found in the program sequence.

Um die Struktur des Kettungslisten-Speichers KSP zu verdeutlichen, ist in Fig. 2 mit einer bestimmten Reihenfolge von untereinander verschiedenen Einträgen eine willkürliche Reihenfolge aller Seiten des Arbeitsspeichers ASP festgelegt. Mit dem Eintrag "Begin" in der mittleren Spalte PSN-1 in Zeile 3 ist der Anfang eines bestimmten Programmablaufs angedeutet; ein bestimmtes Programm startet also in der Speicherseite mit der physikalischen Seitennummer "3". Der Eintrag in der rechten Spalte PSN+1 deutet schematisch die Nummer derjenigen Speicherseite an, in der der Programm-, ablauf nach der ersten Seitengrenzüberschreitung fortlaufen soll, wenn bei diesem Programm mit fortschreitender Adressen-To clarify the structure of the linked list memory KSP, is an arbitrary one in FIG. 2 with a certain sequence of entries which differ from one another The order of all pages of the ASP main memory is set. With the entry "Begin" in the middle column PSN-1 in line 3 the beginning of a certain program sequence is indicated; a certain program starts in the memory page with the physical page number "3". The entry in the right column PSN + 1 schematically indicates the number of the memory page in which the program, should continue after the first page limit has been exceeded, if with this program with a progressive address

VPA 9/21O/3OO9a - 17 -VPA 9 / 21O / 3OO9a - 17 -

409833/0413409833/0413

. - 17 -. - 17 -

erhöhung gearbeitet wird. Das ist in diesem Fall die Speicherseite mit der physikalischen Seitennuramer PSN=5. In der mittleren Spalte in Zeile 5 ist die Seitennummer der im Programmablauf vorher belegten Speicherseite, also PSN-1=3increase is being worked on. In this case, this is the memory page with the physical side only PSN = 5. In the middle column in line 5 is the page number of the Memory page previously occupied in the program sequence, i.e. PSN-1 = 3

und in der rechten Spalte PSN+1= n-4 als Folgenummer niedergelegt. In der Eintragszeile EN=n-4 steht dann in der mittleren Spalte die vorhergehende Seitennummer PSN-1=5 und in der rechten Spalte die Folgenummer PSN+1=1, d.h. daß der Programmablauf nunmehr nach der Speicherseite 1 springt. Damit ist wohl deutlich geworden, wie diese Reihenfolge weiterzuführen ist, die schließlich mit dem Sprung aus der Speicherseite mit der Seitennummer PSN=2 in die Speicherseite mit der Seitennummer PSN=n-2 endet. Zusätzlich ist diese hier willkürlich gewählte Reihenfolge durch Bteile an Verbindungslinien auf der rechten Seite der Fig. 2 verdeutlicht. and laid down in the right column PSN + 1 = n-4 as a sequence number. In the entry line EN = n-4, the previous page number PSN-1 = 5 and in is then in the middle column the sequence number PSN + 1 = 1 in the right column, i.e. the program sequence now jumps to memory page 1. It has thus become clear how this sequence is to be continued, which will ultimately result in the leap out the memory page with the page number PSN = 2 ends in the memory page with the page number PSN = n-2. Additionally is this arbitrarily chosen order by parts illustrated by connecting lines on the right-hand side of FIG.

Dieser, in Fig. 1 nur schematisch als Block wiedergegebene Kettungslisten-Speicher KSP ist ebenfalls mit der Durchschalteeinheit DSE über ein Leitungsvielfach verbunden. In dem hier dargestellten Beispiel ist die Durchschalteeinheit DSE wesentlich vereinfacht. So wie jedes Leitungsvielfach nur als eine einzige Leitung dargestellt ist, müßte auch das in die Durchschalteeinheit DSE eingezeichnete logische Netzwerk mit den beiden UND-Gliedern UG1 bzw. UG2 und dem ODER-Glied OG für jede der durchzuschaltenden Leitungen einmal vorhanden sein. Da in diesem Ausführungsbeispiel angenommen ist, daß die physikalische Seitennummer PSN durch eine Binärzahl mit zwölf Bitstellen wiedergegeben ist, müßte also die Durchschalteeinheit DSE zwölf gleichartige logische Netzwerke enthalten. Jedes logische Netzwerk enthält zwei UND-Glieder UG1 und UG2, dieThis linked list memory KSP, shown only schematically as a block in FIG. 1, is also connected to the switching unit DSE connected via a multiple line. In the example shown here is the switching unit DSE much simplified. Just as each line manifold is only shown as a single line, the logical network drawn in the switching unit DSE with the two AND gates UG1 would also have to be or UG2 and the OR element OG for each of the to be switched through Lines exist once. Since it is assumed in this embodiment that the physical Page number PSN is represented by a binary number with twelve bit positions, so the switching unit DSE would have to contain twelve similar logical networks. Each logical network contains two AND elements UG1 and UG2, which

VPA 9/21O/3OO9a - 18 -VPA 9 / 21O / 3OO9a - 18 -

4G9833/CK134G9833 / CK13

mit jeweils einem Eingang an eine der Leitungen des Leitungsvielfachs, das die Durchschalteeinheit DSE mit dem Addierer ADD bzw. des Leitungsvielfachs angeschlossen ist, das diese mit dem Kettungslisten-Speicher KSP verbindet. Der andere Eingang der beiden UND-Glieder UG1 bzw. UG2 ist jeweils mit einer Signalleitung U12 verbunden, d.ie aus dem Addierer herausgeführt ist. Wird bei dem Errechnen einer neuen Bytenummer DAS durch die Addition - es wird ja in diesem Beispiel von Eingabe-/Ausgabeoperationen mit fortlaufender Adreßerhöhung ausgegangen - der Konstante a zu der bisherigen im Datenadreß-Register DARP gespeicherten Bytenummer ein Übertrag in der höchsten Bitstelle dieser Bytenummer festgestellt, so zeigt sich auf der Signalleitung U12 eine Zustandsänderung. Dieser Übertrag in der höchsten Bitstelle der Bytenummer kennzeichnet eine Seitengrenzüberschreitung im physikalischen Arbeitsspeicher ASP. Diese Zustandsänderung auf der Signalleitung U12 sperrt die ersten UND-Glieder UG1 und schaltet die zweiten UND-Glieder UG2 leitend. Die Ausgänge beider Gruppen von UND-Gliedern UG1 bzw. UG2 sind paarweise über jeweils ein ODER-Glied OG an einen der Ausgänge der Durchschalteeinheit DSE durchgeschaltet .with one input each to one of the lines of the line manifold, that the switching unit DSE is connected to the adder ADD or the line manifold, that connects this with the linked list memory KSP. The other input of the two AND gates UG1 and UG2 is each connected to a signal line U12, which is led out of the adder. When calculating a new byte number DAS by adding - it is in This example assumes input / output operations with continuous address increment - the constant a to the previous ones stored in the data address register DARP Byte number a carry is detected in the highest bit position of this byte number, this is indicated on the signal line U12 a change of state. This carry over in the highest The bit position of the byte number indicates that the page limit has been exceeded in the physical working memory ASP. This change of state on the signal line U12 blocks the first AND gate UG1 and switches the second AND gate UG2 conductive. The outputs of both groups of AND gates UG1 and UG2 are connected through in pairs via an OR element OG each to one of the outputs of the switching unit DSE .

Das die Ausgänge der Durchschalteeinheit DSE mit Eingängen des Datenadreß-Registers DARP verbindende Leitungsvielfach ist in der Darstellung nach Fig. 1 wieder aufgespalten, um zu verdeutliche, daß die nach jedem Durchlauf in das Datenadreß-Register DARP neu eingespeicherte physikalische Datenadresse aus der im Addierer ADD errechneten neuen Bytenummer DAS und der von der Durchschalteeinheit DSE durchgeschalteten physikalischen Seitennummer PSN zusammengesetzt ist.The line multiple connecting the outputs of the switching unit DSE with inputs of the data address register DARP is split again in the representation of FIG. 1 to make it clear that the after each run in the Data address register DARP newly stored physical data address from the new one calculated in the adder ADD Byte number DAS and the physical page number PSN switched through by the switching unit DSE is.

VPA 9/210/3009a - 19 -VPA 9/210 / 3009a - 19 -

409833/0413409833/0413

Die Wirkungsweise der in Fig. 1 dargestellten Schaltungsanordnung, d.h. der Verfahrensablauf soll nun im folgenden in Verbindung mit dem in Fig. 3 dargestellten schematischen Ablaufschema erläutert werden. Obwohl diese Art der Darstellung sonst- üblicherweise für Programmabläufe verwendet wird, scheint sie auch hier geeignet, weil sie einprägsam ist, in ihrer Symbolik allen Fachleuten auf dem Gebiete der Datenverarbeitung geläufig ist und daher eindeutig verstanden wird.The mode of operation of the circuit arrangement shown in FIG. 1, i.e. the process flow shall now be described below in connection with the schematic shown in FIG Flow chart are explained. Although this type of representation is otherwise usually used for program sequences, it seems suitable here too, because it is memorable in its symbolism to all experts in the field of data processing is common and therefore clearly understood.

In Fig. 1 ist dargestellt, daß die durch einen Kanalbefehl festgelegte physikalische Datenadresse PDA in dem Datenadreß-Register DARP gespeichert wird. Diese physikalische Datenadresse PDA setzt sich aus einer physikalischen Seitennummer PSN und der Bytenummer DAS, d.h. der Datenadresse eines Datenbytes innerhalb einer Speicherseite zusammen und bildet, wie in Fig. 3 in der zweiten Zeile dargestellt ist, den Inhalt des Datenadreß-Registers DARP, darauf weist das in eckige Klammern gesetzte Bezugszeichen DARP hin.In Fig. 1 it is shown that the physical data address PDA determined by a channel command in the data address register DARP is saved. This physical data address PDA consists of a physical page number PSN and the byte number DAS, i.e. the data address of a data byte within a memory page together and forms, as shown in the second line in FIG. 3, the content of the data address register DARP DARP in square brackets.

Diese im Datenadreß-Register DARP gespeicherte physikalische Datenadresse PDA bezeichnet eine bestimmte Datenmenge, die im Datenspeicher DSP gespeichert ist oder in den Datenspeicher DSP einzuspeichern ist. Die physikalische Datenadresse bezeichnet den für diese Datenmenge bereitgestellten Speicherplatz im Datenspeicher DSP. Zwischen diesem Speicherplatz und angeschlossenen peripheren Geräten PG findet bei Eingabe-/ Ausgabeoperationen ein Datentransfer st,att. Dies ist in der dritten Zeile von Fig. 3 angedeutet.This physical data address PDA stored in the data address register DARP designates a certain amount of data, the is stored in the data memory DSP or is to be stored in the data memory DSP. The physical data address refers to the storage space made available for this amount of data in the data memory DSP. Between this space and connected peripheral devices PG takes place during input / output operations a data transfer st, att. This is in the third line of Fig. 3 indicated.

Yfie in Fig. 3 in der vierten Zeile angedeutet, wird die phy sikalische Datenadresse PDA gleichzeitig um die Konstante a erhöht, die sich aus der Anzahl der Datenbytes ergibt, die am Datentransfer beteiligt sind. Damit ist eine neue physi-Yfie indicated in Fig. 3 in the fourth line, the phy sical data address PDA increased at the same time by the constant a, which results from the number of data bytes that are involved in the data transfer. A new physical

VPA 9/210/3009a -20 -VPA 9/210 / 3009a -20 -

409833/0A13409833 / 0A13

kalische Datenadresse PDA errechnet. Fun ist in Fig. 3 in der vierten Zeile auch angedeutet, daß die "bisherige physikalische Datenadresse PDA auch um die Konstante a erniedrigt werden kann. Dieser Fall gilt für den in Fig. 1 sonst nicht näher dargestellten Sonderfall einer Eingabeoperation, die als "Eingabe rückwärts"bekannt ist, bei der sich die Datenadresse fortschreitend erniedrigt. Dieser Schritt der Adressenerhöhung bzw.-Erniedrigung wird in dem in Fig. 1 dargestellten Addierer ADD vollzogen.'Calculated data address PDA. Fun is in Fig. 3 in the fourth line it is also indicated that the "previous physical data address PDA has also been extended by the constant a can be degraded. This case applies to the one shown in FIG. 1 otherwise not shown special case of an input operation, known as "input backwards", in the the data address decreases progressively. This step of increasing or decreasing the address is carried out in the adder ADD shown in FIG.

Der Inhalt der neu errechneten physikalischen Datenadresse PDA bietet ein Kriterium dafür, in welcher Weise der ■Verfahrensablauf fortzusetzen ist. Tritt bei der Addition der Konstanten a zu der bisherigen physikalischen Datenadresse PDA kein Übertrag aus der höchsten Bitstelle der Bytenummer DAS auf, so bedeutet das, daß auch der nächste Datentransfer innerhalb der bisherigen Speicherseite mit der physikalischen Seitennummer PSN auszuführen ist. In diesem Fall wird die in dem Addierer ADD errechneteThe content of the newly calculated physical data address PDA provides a criterion for determining the manner in which the ■ procedure is carried out is to continue. If the addition of the constant a to the previous physical data address PDA does not result in a carry over from the highest bit position of the Byte number DAS, this means that the next data transfer within the previous memory page will also take place the physical page number PSN is to be executed. In this case, that calculated in the adder ADD

11 O neue Bytenummer DAS, d. h. die Bitstellen 2 ...2 der physikalischen Datenadresse PDA zusammen mit der bisherigen physikalischen Seitennummer PSN, d. h. die restlichen Bitstellen 2 bis 2 zu der neuen physikalischen Datenadresse PDA zusammengesetzt und in dem Datenadressregister DARP zwischengespeichert. Denn in diesem Fall schaltet die Durchschalteeinheit DSE die vom Addierer ADD kommenden Eingänge auf ihre Ausgänge durch, da auf der Signalleitung U12 keine Zustandsänderung erfolgt. Die neue physikalische Datenadresse PDA bildet damit wieder den Inhalt des Datenadreß-Registers DARP, wie in Fig. 1 dargestellt, die Bildung der neuen Datenadresse ist damit beendet und der Datentransfer wird mit dieser Datenadresse fortgesetzt. In Fig. 3 ist dieser Yerfahrensablauf durch die Verzweigung in der fünften11 O new byte number DAS, i.e. H. the bit positions 2 ... 2 of the physical data address PDA together with the previous physical page number PSN, d. H. the remaining bit positions 2 to 2 combined to form the new physical data address PDA and in the Data address register DARP temporarily stored. Because in this case the switching unit DSE switches the the inputs coming from the adder ADD pass through to their outputs, since there is no change of state on the signal line U12 he follows. The new physical data address PDA thus again forms the content of the data address register DARP, as shown in Fig. 1, the formation of the new data address is finished and the data transfer is with continued at this data address. In FIG. 3, this process sequence is represented by the branch in the fifth

VPA 9/210/3009^· -21-VPA 9/210/3009 ^ · -21-

409833/0413409833/0413

Zeile und den Block in der vorletzten Zeile angedeutet.Line and the block in the penultimate line indicated.

Damit beginnt ein neuer Zyklus, so wie er bisher beschrieben wurde. Diese Verfahrensschritte setzen sich nacheinander so lange fort, bis bei dem Errechnen der neuen physikalischen Datenadresse PDA im Addierer ADD aus der höchsten Bitstelle der Bytenummer DAS, wenn man von einem Programmablauf mit fortschreitender Adresserhöhung ausgeht, ein Übertrag erfolgt, der auf der Signalleitung TJ12 eine Zustandsänderung hervorruft. Es wurde bereits darauf hingewiesen, daß dieser Übertrag nichts anderes bedeutet, als daß die errechnete Bytenummer DAS nicht mehr innerhalb der bisher ausgewählten Speicherseite mit der physikalischen Seitennummer PSN liegt, d. h. daß nunmehr eine Seitengrenzüberschreitung auftritt und nun festgestellt werden muß, mit welcher physikalischen Seitennummer PSN der Programmablauf fortgesetzt werden soll.A new cycle begins, as it has been described so far. These procedural steps take place one after the other until the calculation of the new physical data address PDA in the adder ADD from the highest bit position of the byte number DAS, if one thinks of a program sequence with a progressive increase in the address goes out, a carry takes place, which causes a change of state on the signal line TJ12. It was already pointed out that this carry means nothing else than that the calculated byte number DAS does not more is within the previously selected memory page with the physical page number PSN, d. H. that now a side boundary crossing occurs and now it must be determined with which physical page number PSN the program sequence is to be continued target.

Aus der Angabe der Verzweigung in der fünften Zeile der Pig. 3 ergibt sich für diesen Pail, daß sich jetzt der Verfahrensablauf ändert. Dazu wird entsprechend der Darstellung in der sechsten Zeile von Pig. 3 aus der bisherigen physikalischen Seitennummer PSN und dem Inhalt eines Kettungslisten-Basisregisters KBR eine Kettungslisten-Speicheradresse KZA gebildet, über die mit Hilfe des Kettungslisten-Decodierers DEC2 eine Zeile des Kettungslisten-Speiehers KSP auswählbar ist. Dabei hat das Kettungslisten-Basisregister KBR die Aufgabe, die Pußpunktadresse für den Kettungslisten-Speicher KSP bereitzustellen, d. h. daß in diesem Register diejenige physikalische Seitennummer des ArbeitsspeichersFrom the indication of the branch in the fifth line of the Pig. 3 it follows for this Pail that now the procedure changes. For this purpose, as shown in the sixth line of Pig. 3 off the previous physical page number PSN and the content of a linked list base register KBR a linked list memory address KZA is formed via which the linked list decoder DEC2 a line of the linked list memory KSP can be selected. The linked list base register has KBR the task of providing the dot point address for the linked list memory KSP, d. H. that in this register the physical page number of the main memory

VPA 9/21O/3OO9ä -22-VPA 9 / 21O / 3OO9ä -22-

Λ09833/0413Λ09833 / 0413

ASP gespeichert ist, in der die Kettungsliste niedergelegt ist. In diesem Verfahrensschritt ist also ein Hilfszugriff zum Arbeitsspeicher ASP notwendig, um die neue physikalische Seitennummer PSN festzustellen, mit der das Programm fortzusetzen ist. Diese neue physikalische Seitennummer ist einer der "beiden Einträge in der durch die Kettungslisten-Speicheradresse KZA ausgewählten Zeile des Kettungslisten-Speichers KSP. Dieser Sachverhalt ist in der siebenten Zeile der Fig. 3 wiedergegeben. Die neue physikalische Seitennummer PSN wird aus dem Kettungslisten-Speicher KSP ausgelesen und über die Durchsehalteeinheit DSE an das Datenadreß-Register DARP durchgeschaltet. Dies ist möglich, da auf der Signalleitung U12, bedingt durch den aufgetretenen Übertrag, eine Zustandsänderung erfolgte und damit die Durchschalteeinheit DSE umgeschaltet ist.ASP is stored in which the linked list is stored is. In this process step there is therefore an auxiliary access to the main memory ASP necessary to determine the new physical page number PSN with which the program is to continue. This new physical page number is one of the "two entries in the linked list memory address" KZA selected line of the linked list memory KSP. This fact is in the seventh Line of Fig. 3 reproduced. The new physical page number PSN is taken from the linked list memory KSP read out and sent to the Data address register DARP switched through. This is possible because on the signal line U12, due to the Carry over, a change of state has taken place and the switching unit DSE has thus been switched over.

Wie in Pig. 1 dargestellt, wird diese neue physikalische Seitennummer PSN mit der im Addierer ADD errechneten Bytenummer DAS zu der neuen physikalischen Datenadresse PDA zusammengesetzt und in dem Datenadreß-Eegister DARP niedergelegt. Dies ist in Pig. 3 in den beiden Zeilen dargestellt, die die letzten Verfahrensschritte kennzeichnen. Damit ist der Verfahrensablauf zur Peststellung der neuen physikalischen Seitennummer PSN bei einer Seitengrenzüberschreitung beendet und die Eingabe-/Ausgabeoperation setzt sich mit dem oben beschriebenen normalen Zyklus fort.Like in Pig. 1, this new physical page number PSN is combined with the byte number calculated in the adder ADD DAS combined to form the new physical data address PDA and stored in the data address register DARP. This is in Pig. 3 shown in the two lines, which mark the last procedural steps. Thus the procedure for plaguing is the new one physical page number PSN terminated when the page limit was exceeded and the input / output operation continues with the normal cycle described above.

In der voranstehenden Beschreibung eines Ausführungsbeispieles der Erfindung ist verschiedentlich schon angedeutet, daß der Verfahrensablauf in mancherlei 7/eise an praktische Gegebenheiten anzupassen ist und hier nur schematisiert wiedergegeben ist. Bei einer echten Realisierung wird man z. B. statt des Datenadreß-RegistersIn the preceding description of an exemplary embodiment of the invention, it has already been indicated on various occasions, that the course of the procedure has to be adapted to practical circumstances in many ways, and here only is shown schematically. In a real implementation you will z. B. instead of the data address register

VPA 9/21Ο/3ΟΟ9Λ -23-VPA 9 / 21Ο / 3ΟΟ9Λ -23-

409833/0413409833/0413

DARP einen größeren Datenadreß-Speicher verwenden, der mehrere physikalische Datenadressen PDA enthält, von denen jede einem anderen Eingabe-/Ausgabekanal zugeordnet ist. Ebenso ist es selbstverständlich, daß an den Datenspeicher nicht nur ein einziges peripheres Gerät, sondern mehrere periphere Gerätesteuerungen angeschlossen sind, die ihrerseits wieder eine Vielzahl von peripheren Geräten bedienen.DARP use a larger data address memory, the contains several physical data addresses PDA, each of which is assigned to a different input / output channel. It is also a matter of course that not just a single peripheral device, but several peripheral device controls are connected, which in turn operate a large number of peripheral devices.

Außerdem wurde bereits auf den Sonderfall der "Eingabe rückwärts" hingewiesen. Man kann davon ausgehen, daß dieser Sonderfall in den Kanalbefehlen durch ein bestimmtes Steuerbit gekennzeichnet ist, das man dann auch dazu benutzt, um den Addierer entsprechend umzuschalten, so daß dort automatisch die Konstante a von der bisherigen Bytenummer DAS abgezogen wird. Dabei wäre zu berücksichtigen, daß bei dieser Eingabeoperation die Tatsache, daß sich kein Übertrag aus dem höchsten Binder Bytenummer bei der Subtraktion ergibt, gerade das Kriterium für eine Seitengrenzüberschreitüng bildet und deshalb eine Zustandsänderung auf der Signalleitung auslösen müßte. In entsprechender 7/eise läßt sich das oben erwähnte Steuerbit ebenfalls dazu benutzen, den Kettungslisten-Speicher KSP derart auszuwählen, daß aus · den entsprechenden Eintragszeilen jeweils die nächst niedrigere physikalische Seitennummer PSN-I auszulesen ist. Y/eiterhin ist es eine Frage der Speicher Organisation im Arbeitsspeicher ASP, ob der Kettungslisten-Speicher KSP im Arbeitsspeicher ASP erstens ständig resident ist und zweitens in diesem Pail auch ständig in denselben Speicherseiten abgelegt ist. Hinsichtlich der Organisation des Kettungslisten-Speichers KSP ist noch auf folgende Besonderheit hinzuweisen:Bei virtuell adressierenden Datenverarbeitungsanlagen sind sogenannte Adreßübersetzungstafeln gebräuchlich, mit denen bei normalen Benutzerprogrammen die virtuellen DatenadressenIn addition, the special case of "input backwards" has already been pointed out. One can assume that this Special case in the channel commands is identified by a certain control bit, which is then also used to to switch the adder accordingly, so that there automatically the constant a from the previous byte number DAS is deducted. It should be taken into account that in this input operation the fact that there is no carry out results in the highest binder byte number in the subtraction, just the criterion for a side limit crossing and therefore a change of state on the Signal line would trigger. The above-mentioned control bit can also be added accordingly use to select the linked list memory KSP in such a way that from the corresponding entry lines the next lower physical page number PSN-I is to be read out. Y / it is, after all, a matter of Memory organization in the working memory ASP, whether the Linked list memory KSP is firstly permanently resident in the main memory ASP and secondly also in this Pail is always stored in the same memory pages. Regarding the organization of the linked list memory KSP should also point out the following special feature: In the case of virtually addressing data processing systems, so-called address translation tables are common, with which the virtual data addresses in normal user programs

- VPA 9/2IO/3OO9.X -24-- VPA 9 / 2IO / 3OO9.X -24-

409833/0413409833/0413

in physikalische Adressen übersetzt werden. In diesen Adreßübersetzungstafeln sind zusätzlich zu den Adressen auch Kontroll- und Überwachungsbits gespeichert, die bei Systemprogram- und Benutzerprogrammfehlern eine Programmunterbrechung und Fehlerroutine veranlassen. Solche Kontrollbits können auch in den Kettungslisten-Speicher KSP übernommen werden, da die Kettungsliste mit dem Inhalt der Adreßübersetzungstafeln präpariert wird. Die entsprechenden Kontrollen und Fehlerroutinen können dann auch bei Eingabe-/Ausgabeoperationen angewendet werden. Auch der Datenadreß-Speicher, der im praktischen Pail statt des Datenadreß-Registers oder mehrerer Datenadreß-Register DARP verwendet wird, kann ein Teil des Arbeitsspeichers sein, so daß es nicht erforderlich ist, eigene besondere schnelle Register für die Zwischenspeicherung der physikalischen Datenadresse PDA vorzusehen.translated into physical addresses. In these address translation tables are in addition to the addresses control and monitoring bits are also stored, which lead to a program interruption in the event of system program and user program errors and initiate error routine. Such Control bits can also be transferred to the linked list memory KSP, since the linked list with the content the address translation tables are prepared. The corresponding controls and error routines can then can also be used in input / output operations. Also the data address memory, which is included in the practical Pail is used instead of the data address register or several data address registers DARP, a part of the main memory so that it is not necessary to have your own special fast registers for caching the physical data address PDA.

Das geschilderte Ausführungsbeispiel hat aber trotz aller Vereinfachung gezeigt, daß Eingabe-/Ausgabeoperationen bei virtuell adressierenden Datenverarbeitungsanlagen durchaus auch mit geringem Aufwand derart zu organisieren sind, daß die Dateneingabe bzw. -Ausgabe die Eigenschaften virtuell adressierter Speicher berücksichtigt. Da eine derartige Lösung als reine Schaltungsanordnung zu realisieren ist, läßt sich das Verfahren auch so durchführen, daß es bei der Aufstellung von System- und Kanalprogrammen nicht berücksichtigt zu werden braucht, d. h. für den Anwender und sogar den Systemprogrammierer unsichtbar bleibt, sofern im Betriebssystem entsprechend privilegierte Befehle vorliegen, dazu braucht vielfach die Bedeutung solcher bereits bestehenden Befehle nur durch eine entsprechende Mikroprogrammroutine erweitert zu werden. The described embodiment has shown, despite all the simplification, that input / output operations in virtually addressing data processing systems can be organized with little effort in such a way that the data input or output takes into account the properties of virtually addressed memories. Since such a solution can be implemented as a pure circuit arrangement, the method can also be carried out in such a way that it does not need to be taken into account when setting up system and channel programs, ie remains invisible to the user and even the system programmer, provided that it is in the operating system accordingly If privileged commands are present, the meaning of such already existing commands often only needs to be expanded by a corresponding microprogram routine.

VPA 9/210/3009^ -25-VPA 9/210/3009 ^ -25-

409833^0413409833 ^ 0413

Daraus ergibt sich insbesondere, daß die bisher notwendigen und aufwendigen Datenkettungen bei Seitengrenzüberschreitungen nicht mehr auftreten, daß die Datentransferrate für das einzelne am Datenaustausch beteiligte periphere Gerät wesentlich weniger belastet wird, und daß sich die Speicherverwaltung stark vereinfacht, da die für Eingabe-/Ausgabeoperationen generierten Kanalprogramme aus Ursprungsprogrammen strikt 1:1 übersetzt werden können. It follows in particular that the previously necessary and complex data chains when the page limit is exceeded no longer occur that the data transfer rate for the individual peripheral devices involved in the data exchange are significantly less burdened, and that the memory management greatly simplified, since the channel programs generated for input / output operations can be translated strictly 1: 1 from the original programs.

4 Patentansprüche
.3 Figuren
4 claims
.3 figures

VPA 9/210/30090'VPA 9/210/30090 '

409833/0413409833/0413

Claims (3)

-26-Patentansprüche -26- claims r\j Verfahren zum Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage mit Hilfe von ursprünglich beliebig virtuell oder reell adressierten, aber stets reell adressiert ablaufenden Kanalprogrammen mit einer für eine Vielzahl von angeschlossenen peripheren Geräten auch dann noch ausreichende Datenrate, wenn bei einem Datentransfer während des Ablaufes eines Kanalbefehles zu mehr als einer Seite des segmentierten physikalischen Arbeitsspeichers zugegriffen werden muß, bei dem eine durch einen physikalisch adressierenden Kanalbefehl festgelegte und in einem Datenadreß-Speicher als Adresse eines Datenbytes gespeicherte physikalische Datenadresse gelesen, decodiert, damit ein Speicherplatz im einen Teil des Arbeitsspeichers bildenden Datenspeicher ausgewählt und entsprechende Datenbytes zwischen diesem und einem der angeschlossenen peripheren Geräte transferiert werden, dadurch gekennzeichnet, daß der normale, aufgrund der im Datenadress-Speicher (DARP) gespeicherten physikalischen Datenadresse (PDA) durchgeführte Datentransfer dann unterbrochen wird, sobald aufgrund einer einen Teil der physikalischen Datenadresse bildenden und die Adresse eines Datenbytes innerhalb einer Speicherseite darstellenden Bytenummer (DAS) festgestellt wird, daß der Datentransfer nicht mehr innerhalb der bisher ausgewählten Speicherseite fortgesetzt werden kann, daß dann mit Hilfe eines die bisherige physikalische Seitennummer (PSN) einer Speicherseite bezeichnenden Teiles der physikalischen Datenadresse zu einem Kettungslisten-Speicher r \ j Method for performing sequentially running input / output operations in a data processing system working with virtual addressing with the help of channel programs that were originally virtually or real addressed, but always real addressed, with a data rate that is still sufficient for a large number of connected peripheral devices , if more than one page of the segmented physical main memory must be accessed during a data transfer during the course of a channel command, in which a physical data address specified by a physically addressing channel command and stored in a data address memory as the address of a data byte is read, decoded, so that a memory location is selected in the data memory forming part of the main memory and corresponding data bytes are transferred between this and one of the connected peripheral devices, characterized in that the normal data transfer carried out on the basis of the physical data address (PDA) stored in the data address memory (DARP) is then interrupted as soon as a byte number (DAS) which forms part of the physical data address and represents the address of a data byte within a memory page is determined that the Data transfer can no longer be continued within the previously selected memory page that then, with the aid of a part of the physical data address identifying the previous physical page number (PSN) of a memory page, to a linked list memory VPA 9/210/3009a -27-VPA 9/210 / 3009a -27- 409833/0413409833/0413 (KSP) zugegriffen wird, der für jede physikalische Seitennnummer des Arbeitsspeichers (ASP) in konsekutiver Folge eine Eintragszeile besitzt, in der die physikalische Seitennuminer der im Programmablauf folgenden virtuellen(KSP) is accessed for each physical Page number of the main memory (ASP) has an entry line in consecutive order in which the physical Page number of the following virtual Speicherseite gespeichert ist, daß diese neue physikalische Seitennummer mit der errechneten neuen Bytenummer zu einer gültigen, neuen physikalischen Datenadresse zusammengesetzt und im Datenadreß-Speicher gespeichert wird und daß dann der Datentransfer für eine neue Speicherseite bis zur nächsten, ebenso zu behandelnden Seitengrenzüberschreitung im Arbeitsspeicher bzw. ohne Seitengrenzüberschreitung bis zum Programmende durchgeführt wird.Memory page is stored that this new physical page number with the calculated new byte number is composed of a valid, new physical data address and stored in the data address memory and that then the data transfer for a new memory page up to the next, also to be treated, page limit violation is carried out in the main memory or without exceeding the page limit until the end of the program. 2. Verfahren zum Durchführen von sequentiell ablaufenden Eingabe-/Ausgabeoperationen nach Anspruch 1, dadurch g e k ennzei chnet, daß die im Datenadreß-Speicher (DARP) gespeicherte physikalische Datenadresse (PDA) gelesen und nicht nur für die Speicherauswahl im Datenspeicher (DSP) decodiert, sondern daneben auch um eine dtsrch das Adressenformat der zu transferierenden Daten festgelegte Konstante (a) verändert wird, daß diese so errechnete, neue Datenadresse jedoch nur dann in den Datenadreß-Speicher als nunmehr gültig eingespeichert wird, wenn aus dem Inhalt der neuen Bytenummer (DAS) festgestellt wird, daß die neue Datenadresse noch innerhalb der bisher ausgewählten Seite des Datenspeichers (DSP) im Arbeitsspeicher (ASP) liegt, und daß anderenfalls die bisherige physikalische Seitennummer (PSlT) mit dem Inhalt eines Registers, des sogenannten Kettungslisten-Basisregis ters (KBR) als Fußpunkt zu einer neuen Adresse, der sogenannten Kettungslisten-Speicheradresse (KZA) zusammengesetzt wird, mit der dann die der bisherigen physikalischen Seitennummer zuge-2. A method for performing sequentially running input / output operations according to claim 1, characterized denotes that the physical data address (PDA) stored in the data address memory (DARP) read and not just for memory selection in the data store (DSP) decoded, but also by a dtsrch the address format of the data to be transferred is changed to the specified constant (a) so that it is calculated However, the new data address is only stored in the data address memory as valid now if it is determined from the content of the new byte number (DAS) that the new data address is still within the previously selected one Side of the data memory (DSP) is in the main memory (ASP), and that otherwise the previous physical one Page number (PSIT) with the content of a register, the so-called linked list base register (KBR) as Base point of a new address, the so-called linked list memory address (KZA), with which the previous physical page number assigned VPA 9/210/3Q09cl -28-VPA 9/210 / 3Q09cl -28- 409833/0413409833/0413 ordnete Zeile des Kettungslisten-Speichers (KSP) ausgewählt wird.ordered line of linked list memory (KSP) selected will. 3. Schaltungsanordnung zur Durchführung eines Verfahrens nach Anspruch 1 oder 2, ge ke nnzei chnet durch einen Datenadreß-Speicher (DARP) zum Speichern der laufenden physikalischen Datenadresse (PDA), der über ein Leitungsvielfach an einen Datenadreß-Decodierer (DEC1) angeschlossen ist, über den mit der Datenadresee ein Speicherplatz des Datenspeichers (DSP) auswählbar ist, der seinerseits für den Datenaustausch an periphere Geräte (PG) anschaltbar ist, durch einen über ein weiteres Leitungsvielfach mit den Ausgängen des Datenadreß-Speichers verbundenen Addierer (ADD) zum Errechnen einer neuen physikalischen Datenadresse, wobei ein Übertrag aus der neuen Bytenummer (DAS) eine Seitengrenzüberschreitung im Arbeitsspeicher (ASP) anzeigt, die als Zustandsänderung auf einer an den Addierer angeschlossenen Signalleitung (U12) auswertbar ist, durch der neuen Bytenummer zugeordnete Ausgänge des Addierers, die direkt mit entsprechenden Eingängen des Datenadreß-Speichers verbunden sind, sowie der physikalischen Seitennummer (PSN) zugeordnete Ausgänge, die an niedrigstellige Eingänge eines weiteren Decodierers, des sogenannten Kettungslisten-Decodierers (DE2) angeschlossen sind, der seinerseits außerdem mit seinen restlichen Eingängen an Ausgänge des Kettungslisten-Basisregisters (KBR) und .mit seinen Ausgängen an den Kettungslisten-Speicher (KSP) angeschlossen ist, und durch eine an die Signalleitung angeschlossene Durchschalteeinheit (DSE), die eingangsseitig sowohl mit der physikalischen Seitennummer zugeordneten Ausgängen des Addierers als auch mit den Ausgängen des Kettungslisten-Speichers verbunden ist und in der diese einander entsprechenden Eingangsgruppen mit Hilfe von logischen Gliedern (OG, TJGl, ÜG2) abhängig von dem Signalzustand auf der Signalleitung wahlweise auf Ausgänge durch-3. Circuit arrangement for carrying out a method according to claim 1 or 2, ge ke nnzei chnet by a data address memory (DARP) for storage the current physical data address (PDA), which is sent via a multiple line to a data address decoder (DEC1) is connected, via which a memory location of the data memory (DSP) can be selected with the data address, the in turn can be connected to peripheral devices (PG) for the exchange of data, by means of a further line manifold connected to the outputs of the data address memory Adders (ADD) for calculating a new physical one Data address, with a carry from the new byte number (DAS) exceeding the page limit in the main memory (ASP), which as a change of state on a to the Signal line (U12) connected to the adder can be evaluated is, through the outputs of the adder assigned to the new byte number, which are directly connected to the corresponding inputs of the Data address memory are connected, as well as the physical page number (PSN) assigned outputs that to low-digit inputs of another decoder, the so-called linked list decoder (DE2) are, which in turn also with its remaining inputs to outputs of the linked list base register (KBR) and . is connected with its outputs to the linked list memory (KSP), and through a connected to the signal line Interconnection unit (DSE), which on the input side is assigned both with the physical page number Outputs of the adder as well as the outputs of the linked list memory is connected and in which these Corresponding input groups with the help of logic elements (OG, TJGl, ÜG2) depending on the signal status on the signal line optionally through to outputs VPA 9/210/3009^ 40 98 3 3 /0413 -29-VPA 9/210/3009 ^ 40 98 3 3/0413 -29- schaltbar sind, die mit der physikalischen Seitennummer zugeordneten Eingängen des Datenadress-Speichers verbunden sind.are switchable, the inputs of the data address memory assigned to the physical page number are connected are. h. Schaltungsanordnung nach Anspruch 3»dadurch gekennzeichnet, daß zum Durchführen von sequentiell ablaufenden Eingabs--/Ausgabeoperationen mit wahlweise fortlaufender Adressenerhöhung bzw. -erniedrigung der Kettungslisten-Speicher (KSP) derart ausgebildet ist, daß jede einer physikalischen Seitennummer (PSN) zugeordnete Eintragszeile sowohl die physikalische Seitennummer der nächstniedrigeren als auch die der nächsthöheren virtuellen Speicherseite enthält und die Einträge wahlweise auslesbar sind und daß der Addierer (ADD) derart ausgebildet ist, daß die Konstante (a) analog v/ahlweise mit positivem oder negativem Vorzeichen zu der Bytenummer (DAS) addierbar ist und der Übertrag aus der höchsten Bitstelle der Bytenummer bei einem Programmablauf mit fortschreitender Adresserhöhung als Seitengrenzüberschreitung bzw. bei einem Programmablauf mit fortschreitender Adresserniedrigung nicht als Seitengrenzüberschreitung zu werten ist. H. Circuit arrangement according to Claim 3 »characterized in that the linked list memory (KSP) is designed in such a way that each entry line assigned to a physical page number (PSN) both the contains the physical page number of the next lower as well as that of the next higher virtual memory page and the entries can optionally be read out and that the adder (ADD) is designed in such a way that the constant (a) is analogous to a positive or negative sign to the byte number (DAS) can be added and the carryover from the highest bit position of the byte number is not to be assessed as exceeding the page limit in a program run with a progressive increase in the address or as a page limit exceeded in a program run with a progressive decrease in the address. VPA 9/21O/3OO9aVPA 9 / 21O / 3OO9a 409833/0413409833/0413 LeerseiteBlank page
DE19732302379 1973-01-18 1973-01-18 Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing Expired DE2302379C3 (en)

Priority Applications (21)

Application Number Priority Date Filing Date Title
FR108891D FR108891A (en) 1973-01-18
DE19732302379 DE2302379C3 (en) 1973-01-18 1973-01-18 Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing
DE19732314070 DE2314070C3 (en) 1973-01-18 1973-03-21 Method and circuit arrangement for creating the entries of a linked list memory in a method and a circuit arrangement for performing sequentially running input / output operations in a data processing system operating with virtual addressing
GB5705473A GB1447680A (en) 1973-01-18 1973-12-10 Data processing systems
ES421559A ES421559A1 (en) 1973-01-18 1973-12-17 Procedure and circuit disposition for carrying out separating discurrent input-output operations in an operating data processing system with virtual addressing. (Machine-translation by Google Translate, not legally binding)
ZA740006A ZA746B (en) 1973-01-18 1974-01-02 Improvements in or relating to data processing systems
FR7401140A FR2214923B1 (en) 1973-01-18 1974-01-14
IT1942574A IT1012542B (en) 1973-01-18 1974-01-15 CIRCUIT ARRANGEMENT FOR PERFORMING INPUT OR ISSUING OPERATIONS WITH A QUENTIAL COURSE IN A DATA PROCESSING PLANT THAT WORKS WITH VIRTUAL ADDRESS FORMULATION
LU69174D LU69174A1 (en) 1973-01-18 1974-01-16
NL7400649A NL7400649A (en) 1973-01-18 1974-01-17
BR33474A BR7400334D0 (en) 1973-01-18 1974-01-17 PERFECT PROCESS AND CIRCUIT FOR PERFORMING INPUT AND OUTPUT OPERATIONS THAT ARE PERFORMED IN A DATA PROCESSING INSTALLATION THAT WORKS WITH VIRTUAL ADDRESSING
BE139975A BE809930A (en) 1973-01-18 1974-01-18 PROCESS AND CIRCUIT FOR EXECUTING INPUT / OUTPUT OPERATIONS TAKING PLACE IN SEQUENCE IN A DATA PROCESSING INSTALLATION
GB691174A GB1454357A (en) 1973-01-18 1974-02-15 Data processing systems
NL7403609A NL7403609A (en) 1973-01-18 1974-03-18
FR7409060A FR2222696B2 (en) 1973-01-18 1974-03-18
LU69663A LU69663A1 (en) 1973-01-18 1974-03-19
BE142284A BE812640R (en) 1973-01-18 1974-03-21 PROCESS AND CIRCUIT FOR EXECUTING INPUT / OUTPUT OPERATIONS TAKING PLACE IN SEQUENCE IN A DATA PROCESSING INSTALLATION
DE19742444406 DE2444406A1 (en) 1973-01-18 1974-09-17 METHOD FOR PERFORMING INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING
NL7510623A NL7510623A (en) 1973-01-18 1975-09-09 PROCEDURE FOR PERFORMING IMPORT / EXPORT OPERATIONS AT AN INFORMATION PROCESSING DEVICE WORKING WITH VIRTUAL ADDRESSING.
FR7527583A FR2285658A2 (en) 1973-01-18 1975-09-09 PROCEDURE AND CIRCUIT FOR PERFORMING INPUT / OUTPUT OPERATIONS TAKING PLACE IN SEQUENCE IN A DATA PROCESSING INSTALLATION WHICH OPERATES WITH VIRTUAL ADDRESSING
BE160129A BE833520R (en) 1973-01-18 1975-09-17 PROCESS AND CIRCUIT FOR EXECUTING INPUT / OUTPUT OPERATIONS TAKING PLACE IN SEQUENCE IN A DATA PROCESSING INSTALLATION

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19732302379 DE2302379C3 (en) 1973-01-18 1973-01-18 Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing
DE19732314070 DE2314070C3 (en) 1973-01-18 1973-03-21 Method and circuit arrangement for creating the entries of a linked list memory in a method and a circuit arrangement for performing sequentially running input / output operations in a data processing system operating with virtual addressing
DE19742444406 DE2444406A1 (en) 1973-01-18 1974-09-17 METHOD FOR PERFORMING INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING

Publications (3)

Publication Number Publication Date
DE2302379A1 true DE2302379A1 (en) 1974-08-15
DE2302379B2 DE2302379B2 (en) 1977-03-31
DE2302379C3 DE2302379C3 (en) 1978-12-07

Family

ID=27184986

Family Applications (3)

Application Number Title Priority Date Filing Date
DE19732302379 Expired DE2302379C3 (en) 1973-01-18 1973-01-18 Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing
DE19732314070 Expired DE2314070C3 (en) 1973-01-18 1973-03-21 Method and circuit arrangement for creating the entries of a linked list memory in a method and a circuit arrangement for performing sequentially running input / output operations in a data processing system operating with virtual addressing
DE19742444406 Pending DE2444406A1 (en) 1973-01-18 1974-09-17 METHOD FOR PERFORMING INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING

Family Applications After (2)

Application Number Title Priority Date Filing Date
DE19732314070 Expired DE2314070C3 (en) 1973-01-18 1973-03-21 Method and circuit arrangement for creating the entries of a linked list memory in a method and a circuit arrangement for performing sequentially running input / output operations in a data processing system operating with virtual addressing
DE19742444406 Pending DE2444406A1 (en) 1973-01-18 1974-09-17 METHOD FOR PERFORMING INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING

Country Status (6)

Country Link
BE (3) BE809930A (en)
DE (3) DE2302379C3 (en)
FR (4) FR2214923B1 (en)
GB (2) GB1447680A (en)
LU (2) LU69174A1 (en)
NL (3) NL7400649A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2437300A1 (en) * 1978-09-26 1980-04-25 Cii Honeywell Bull Stored data checking technique - determines whether items are within page limits by using address calculator which performs addition or subtraction from origin

Also Published As

Publication number Publication date
GB1454357A (en) 1976-11-03
NL7403609A (en) 1974-09-24
BE812640R (en) 1974-09-23
BE833520R (en) 1976-03-17
DE2314070C3 (en) 1980-08-07
GB1447680A (en) 1976-08-25
BE809930A (en) 1974-07-18
DE2302379B2 (en) 1977-03-31
NL7400649A (en) 1974-07-22
FR2214923B1 (en) 1978-08-04
LU69174A1 (en) 1974-04-08
DE2302379C3 (en) 1978-12-07
FR2222696A2 (en) 1974-10-18
DE2444406A1 (en) 1976-03-25
NL7510623A (en) 1976-03-19
FR108891A (en)
FR2285658B2 (en) 1978-09-08
DE2314070B2 (en) 1979-11-29
FR2214923A1 (en) 1974-08-19
FR2285658A2 (en) 1976-04-16
LU69663A1 (en) 1974-10-17
DE2314070A1 (en) 1974-10-10
FR2222696B2 (en) 1978-09-08

Similar Documents

Publication Publication Date Title
DE2459006C2 (en) Device for forming an absolute address in a data processing system
DE1956604B2 (en) Data processing system
EP0013737A1 (en) Multilevel storage hierarchy for a data processing system
DE2350884A1 (en) DATA PROCESSING SYSTEM
CH650600A5 (en) CENTRAL PROCESSOR UNIT OF A DATA PROCESSING SYSTEM WITH OPERATION CODE EXTENSION REGISTER.
DE102006005877A1 (en) Address mapping table and method for generating an address mapping table
DE2556661A1 (en) CONTROL CIRCUIT WITH ADDRESS EXTENSION
DE2758829C2 (en) Data processing system with several processors
DE2556617C2 (en) Sliding and rotating circuit
DE2360303A1 (en) DATA PROCESSING SYSTEM WITH DYNAMIC ADDRESS TRANSLATION
DE2426874A1 (en) PROCEDURE AND CIRCUIT ARRANGEMENT FOR DETERMINING THE TYPE OF ADDRESS OF AN COMMAND
DE2720864C3 (en) Arrangement for the gap-free storage of a number of data blocks of indefinite length
DE1499206B2 (en) COMPUTER SYSTEM
CH495584A (en) Data processing system
DE2302379A1 (en) PROCESS AND CIRCUIT ARRANGEMENT FOR PERFORMING SEQUENTIAL INPUT / OUTPUT OPERATIONS IN A DATA PROCESSING SYSTEM WORKING WITH VIRTUAL ADDRESSING
DE2948340C2 (en) Information transmission arrangement for the transmission of selected information units
DE2601379C3 (en) Circuit arrangement for converting virtual addresses into real addresses
DE1549446A1 (en) Digital computer
DE1774864C2 (en) Micro-programmed data processing system with a main memory and a high-speed memory
DE2204680A1 (en) MICROPROGRAM CONTROL DEVICE
DE102004005290B3 (en) Securing data in non-volatile data memory divided into segments involves management data per segment containing further data element to determine age range of second segment data compared to first segment data for incomplete clearing
EP0262636B1 (en) Circuit arrangement for selecting and/or aligning data units in data processors
DE4342521C1 (en) Compressed data expansion method
DE2246405C3 (en) Circuit arrangement for addressing a memory system with logical addresses
DE10128752A1 (en) Storage of data in computer memory, especially EEPROM or flash memory by writing data to memory in pages, whereby each page contains a value and a reference to the next page in the chain

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee