DE2302379C3 - Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing - Google Patents
Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressingInfo
- Publication number
- DE2302379C3 DE2302379C3 DE19732302379 DE2302379A DE2302379C3 DE 2302379 C3 DE2302379 C3 DE 2302379C3 DE 19732302379 DE19732302379 DE 19732302379 DE 2302379 A DE2302379 A DE 2302379A DE 2302379 C3 DE2302379 C3 DE 2302379C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- data
- address
- physical
- linked list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
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
Bekannte virtuell adressierende datenverarbeitende Anlagen benutzen die virtuelle Adressierung des Arbeitsspeichers nur 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 die sogenannten virtuellen Adressen adressierbar. Der virtuelle Speicher wird in gleich große Bereiche, sogenannte Seiten unterteilt, die bei bekannten Datenverarbeitungsanlagen ζ. Β. ίο 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 Prugramms enthalten.Known virtually addressing data processing systems use the virtual addressing of the main memory only during 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 off. This can be addressed using so-called virtual addresses. The virtual memory will divided into equally sized areas, so-called pages, which in known data processing systems ζ. Β. ίο are two or four KBytes long. The physically available main memory is also used in areas of this Split size The content of the entire virtual memory is located on an external memory the data processing system. Only those pages are stored in the physical main memory of the virtual memory that contain the currently required commands or operands of a running Prugrams included.
Die virtuelle Adressierung ist nur in. Multiprogramm-Betrieb sinnvoll einzusetzen. Jeder Benutzer bzw. jedes Programm hat 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, sondern beliebig gestreut im Arbeitsspeicher gespeichert sind. Die Zuordnung der virtuellen Adressen von Befehlen oder Operanden zu den physikalischen Arbeitsspeicheradressen erfolgt über Tür jeden Programmablauf neu präparierte Adreßtabellen, die sogenannten Seitentafeln, aufgrund derer festzustellen ist, welche physikalische Adresse gegenwärtig einer virtuellen Adresse entspricht und ob überhaupt die entsprechende Seite eines virtuellen Speichers derzeit im Arbeitsspeicher enthalten ist Wird bei der Adreßübersetzungsroutine festgestellt, daß dies nicht der Fall 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 durchführtVirtual addressing can only be used sensibly in multi-program operation. Every user or each program has its own virtual memory, but then that of the different Programs require pages of the virtual memory in no fixed assignment to specific pages of the physical main memory, but are stored randomly in the main memory. The assignment of the virtual addresses of commands or operands to the physical memory addresses every program sequence takes place via the door newly prepared address tables, the so-called side tables, based on which it can be determined which physical address is currently a virtual address corresponds and whether the corresponding page of a virtual memory is currently in the main memory is contained If the address translation routine determines that this is not the case, it comes to a program interruption, during which the operating system of the data processing system the Transfer of the relevant virtual memory page from the external memory to the physical main memory performs
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 Adreßübersetzungsroutinen bleiben für den Benutzer unsichtbar, d. h., sie 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 restrictions. Of the Program changes from user programs and address translation routines remain with the user invisible, d. That is, they do not need to be taken into account in the user programs. So that forms the size of the physical main memory no longer limits 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. jede Speicherseite des virtuellen Speichers einen Adreßbereich von 4 KByte und werden sechzehn Speicherseiten zu einem Segment zusammengefaßt, so enthält eine diesem Segment zugeordnete Seitentafel als Adreßübersetzungstabelle sechzehn Eintragszeilen, in denen den virtuellen Seitennummern die gegenwärtige Arbeitsspeicheraclresse der virtuellen Seite, die sogenannte physikalische Seitennummer, zugeordnet ist Im gewählten Beispiel umfaßt jedes Segment einen Adreßbereich von 64 KByte. Man kann nun 16 derartiger Segmente zu einem Block zusammenfassen, der dann einen Adreßbereich von einem MByte umfaßt Für die Adreßü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 Adreßbereich und sind analog bei der Adreßübersetzung über eine Blocktafel ansprechbar.However, in a virtually addressing data processing system - as mentioned - with each access to the physical main memory initially one very time-consuming translation routine may be run through, depending on the size of the physical main memory can also be multilevel. This is briefly explained using an example: If, for example, each memory page of the virtual memory comprises an address area of 4 KByte and will sixteen memory pages combined to form a segment, then contains one assigned to this segment Page table as address translation table sixteen entry lines in which the virtual page numbers the current memory address of the virtual page, the so-called physical Page number that is assigned In the example chosen, each segment comprises an address range of 64 KByte. You can now combine 16 such segments into a block, which then has a Address area comprises one Mbyte. This block is the virtual one for address translation A segment table is assigned to the memory, the 16 entries for the physical addresses of the corresponding Side panels contains several such blocks eventually form the entire virtual one Address area and can be addressed in the same way with address translation via a block table.
Daraus wird deutlich, daß jede Adreßübersetzung stufenweise eine Mehrzahl von Adreßübersetzungstabellen benutzt und eine Anzahl von Hilfszugriffen zum Arbeitsspeicher erfordert, die den eigentlichen Zugriff zum physikalischen Arbeitsspeicher verzögert und erschwert Wegen dieser zeitraubenden Adreßübersetzung einerseits und der strengen Realzeitbedingungen bei der Ein-/Ausgabe moderner Datenverarbeitungsanlagen andererseits werden bisher Eingabe-Ausgabe-Operationen immer reell adressiert Dabei ergibt sich dann folgendes Organisationsschema: Die Eingabe-Ausgabe-Operationen laufen aufgrund von Kanalprogrammen ab, die kurz vor ihrer Inbetriebnahme aus einem gegebenen Ursprungsprogramm dadurch generiert, das heißt ablauffähig gemacht werden, daß reelle Adressen in alle fünf Adressen vorgesehenen Plätze in den Kanalprogrammen eingesetzt werden. Dabei handelt e? sich um Datenadressen und als Sprungadressen auftretende Kanalbefehlsadressen 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-Ausgabe-Operation vor seinem Ablauf generiert werden. Anderenfalls ist auch eine fortlaufende, sogenannte dynamische Präparierung während des laufenden Kanalprogramms möglich.It is clear from this that each address translation has a plurality of address translation tables in stages and requires a number of auxiliary accesses to the main memory that the actual Access to the physical main memory is delayed and difficult because of this time-consuming address translation on the one hand and the strict real-time conditions for the input / output of modern data processing systems on the other hand, input-output operations have so far always been addressed in real terms The following organizational scheme then results: The input-output operations are running on the basis of channel programs that are generated from a given original program shortly before they are put into operation, that is, executable that real addresses are made in all five addresses provided places in the channel programs can be used. This is e? data addresses and channel command addresses appearing as jump addresses from, if applicable, in the channel program contained program jumps. Unless the sequence of the channel programs with that of the operating system programs through special precautions is coordinated in time, the entire channel program must be prepared for an input-output operation generated during its course. Otherwise there is also a continuous, so-called dynamic preparation possible while the channel program is running.
Wollte man eine derartige Eingabe-Ausgabe-Operation in einem virtuell adressierenden System durchführen, so blieb bisher nur folgender Weg offen: Alle virtuellen Programm- und Datenadressen des Kanalprogramms 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 Datenkettungsbefp.hlen 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 Programms im physikalischen Arbeitsspeicher zusammenhängend gespeichert werden. Jedoch erfordert dies spezielle Vorkehrungen in der Speicherverwaltung des Betriebssystems, da dies normalerweise bei virtuell adressierenden Datenverarbeitungsanlagen ja gerade nicht der Fall ist.If one wanted to carry out such an input-output operation in a virtual addressing system, So until now only the following path remained open: All virtual program and data addresses of the channel program are translated in the course of generation by the operating system and already as physical Memory addresses inserted in the channel program When it is expected that an input-output data address will later exceed the limit of a physical page, additional, Channel commands not contained in the original program are inserted into the channel program. With These so-called data chain commands can then be used to determine at which point of the physical Working memory the channel program is to be continued. The insertion of additional data chain commands in a channel program can be circumvented if necessary, that all data blocks extending over several memory pages this Program can be stored contiguously in the physical main memory. However, requires take special precautions in the memory management of the operating system, as this is usually the case virtually addressing data processing systems, yes just not the case.
Mit dieser Art der Durchführung von Eingabe-Ausgabe-Operationen sind die wesentlichen Nachteile verbunden, daß ein Ursprungsprogramm und das darausThe main disadvantages associated with this type of implementation of input-output operations are that an original program and that from it
generierte Kanalprogramm verschieden lang sind, das heißt, eine strikte »1: 1-Übersetzung« ausgeschlossen ist. Weiterhin 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 wird und deshalb wiederholt werden muß.generated channel programs are of different lengths, i.e. a strict »1: 1 translation« is excluded is. Furthermore, the inserted data chains put a strain on the data transfer rate of peripheral devices with high data rates strong, as the actual data transfer is interrupted more frequently. This can be done with peripheral devices with high device data rate, such as B. in modern disk storage, even lead to the fact that the data transfer is then carried out incorrectly and therefore must be repeated.
Bei einer bekannten Datenverarbeitungsanlage wird versucht, diese Nachteile auf folgende Weise zu beheben: Es wird die indirekte Adressierung für Eingabe-Ausgabe-Operationen 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 Fall ist. Tür den Benutzer aber nicht sichtbar wird.In a known data processing system, attempts are made to remedy these disadvantages in the following way: Indirect addressing is used for input-output operations, which is addressing therefore also adapted to the program processing in the central processor for these operations. The ones to be transferred Data is segmented into 2 Kbyte blocks, assuming that what appears to be the the data belonging to the channel commands are stored in the physical working memory next to what however, in reality it is not. Door the user but is not visible.
Das Adressenfeld eines Kanalbefehls bezeichnet die physikalische Adresse eines ersten, sogenannten indirekten Datenadreßwortes, das seinerseits die Adresse des ersten Datenbytes der zu übertragenden Daten in einem Bereich des physikalischen Arbeitsspeichers bis zu 2 KByte festlegt.The address field of a channel command designates the physical address of a first, so-called indirect one Data address word, which in turn contains the address of the first data byte of the data to be transmitted defines an area of the physical main memory of up to 2 KByte.
Weiterhin ist im Kanalbefehl die zu übertragende Datenmenge bezeichnet. Daraus und aus der Anfangsadresse des zum ersten indirekten Datenadreßwortes gehörenden Speicherbereiches ergibt sich die zur Ausführung eines Kanalbefehles erforderliche Anzahl von indirekten Datenadreßworten.The amount of data to be transmitted is also specified in the channel command. From this and from the starting address of the memory area belonging to the first indirect data address word results in the execution number of indirect data address words required for a channel command.
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 Datenadreßworte eigens und hintereinander gespeichert sein, d.h.. Tür jeden Kanalbefehl ist eine eigene Liste von indirekten Datenadreßworten mit den physikalischen Datenadressen des ersten Bytes jedes Blockes jedesmal neu zu präparieren. Man muß sich aber klarmachen, daß bei einer datenverarbeitenden Anlage mit Multiprogrammverarbeitung etwa 30 bis 60% aller Seiten des physikalischen Arbeitsspeichers im Durchschnitt gleichzeitig allein durch Eingabe-Ausgabe-Operationen belegt sind. Dann wird deutlich, daß ständig eine Vielzahl von Kanalbefehlen gleichzeitig bearbeitet wird und deshalb ebenfalls eine Vielzahl von Index-Adreßlisten mit indirekten Datenadreßworten im Arbeitsspeicher resident sein muß. Besonders unangenehm ist dabei, da für das System unwirtschaftlich, daß die Länge dieses Listenpools für diese Indexadreßlisten veränderlich ist, da sich ja auch die durch Kanalbefehle angesprochenen Datenmengen ständig ändern können. Es muß aber für jede dieser Indexadreßlisten ein eigenes schnelles Indexadreßregister vorgesehen sein, in dem die physikalische Fuß- punktadresse dieser Liste, d. h. die Adresse des ersten, zu einem Kanalbefehl gehörenden indirekten Datenadreßwortes gespeichert ist As with virtual addressing, this method has the advantage that the amount of data addressed in a channel command does not need to be stored contiguously in the main memory. 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 must be prepared anew each time. However, one must realize that in a data-processing system with multi-program processing, about 30 to 60% of all pages of the physical main memory are on average occupied simultaneously by input-output operations alone. 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 main 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. For each of these index address lists, however, a separate high-speed index address register must be provided in which the physical base point address of this list, ie the address of the first indirect data address word belonging to a channel command, is stored
Daher ist auch hier die Durchführung von Eingabe-Ausgabe-Operationen bei datenverarbeitenden An- lagen mit virtueller Adressierung nicht in ausreichend befriedigender Weise gelöst, obwohl wegen der orga nisatorischen Vorteile einer einheitlichen SDeicherverwaltung und des Fortfalles der Mehrzahl aller zeit raubenden Datenkettungen weiterhin das Bedürfaibesteht, ein Adressierungsverfahren bei Eingabe-Ausgabe-Vorgängen von datenverarbeitenden Anlagen einzuführen, das auf die Organisationsformen bei virtueller Adressierung im Zentralprozessor abgestimml ist. Therefore, the implementation of input-output operations in data processing systems with virtual addressing is not solved in a sufficiently satisfactory manner, although due to the organizational advantages of a uniform storage management and the elimination of the majority of all time-consuming data chains, the need continues to exist to introduce an addressing method for input-output operations of data processing systems, which is tailored to the organizational forms in the case of virtual addressing in the central processor.
Wie dieses Beispiel gezeigt hat, bieten bekannte Adressierungsprinzipien als solche keine Lösung füi dieses Problem aus sich heraus. Der Erfindung liegl daher die Aufgabe zugrunde, eine Schaltungsanordnung zum Durchführen von sequentiell ablaufender Eingabe-Ausgabe-Operationen bei einer mit virtuellei Adressierung arbeitenden Datenverarbeitungsanlage mit Hilfe von ursprünglich beliebig virtuell oder reell adressierten, aber stets reell adressiert ablaufender Kanalprogrammen gemäß dem Oberbegriff des Hauptanspruches zu schaffen, die trotz einer beliebig gestreuten Verteilung von Teilen eines virtuellen Speichers in einem physikalischen Arbeitsspeicher Datenkettungen mit einfachen Mitteln zu verarbeiten gestattet. As this example has shown, addressing principles known as such do not offer a solution for this this problem out of itself. The invention is therefore based on the object of a circuit arrangement for performing sequential input-output operations in a with virtuali Addressing working data processing system with the help of originally arbitrarily virtual or real addressed, but always real addressed running channel programs according to the preamble of the main claim to create that despite an arbitrarily scattered distribution of parts of a virtual memory allows data links to be processed with simple means in a physical main memory.
Dies schließt insbesondere ein, daß eine wesentliche Grundlage des Konzeptes des virtuellen Speichers mil einer seitenweise gestreuten Anordnung im physikalischen Arbeitsspeicher strikt beibehalten wird, weil dadurch die Zuordnung freigewordener Seiten im physikalischen Arbeitsspeicher zu virtuellen Speicherseiten und damit die Speicherverwaltung einfach bleibt Weiterhin bedeutet dies aber auch, daß für Eingabe-Ausgabe-Operationen keine einschränkenden Vereinbarungen, z.B. über Segmentierung getroffen werden dürfen, um das Prinzip des virtuellen Speichers nicht aufzuweichen, wonach ein Benutzer scheinbar uneingeschränkt über den vollen Adreßraum seines virtuellen Speichers verfügen kann. Das bedeutet wiederum daß die Adressenzuordnung zwischen dem reeller Arbeitsspeicher und seinem virtuellen Speicher füi den Benutzer völlig unsichtbar, d.h. ohne Auswirkungen bleiben muß.This includes in particular that an essential basis of the concept of virtual memory mil a paged arrangement in the physical main memory is strictly maintained because thereby the assignment of freed pages in the physical main memory to virtual memory pages and so that the memory management remains simple. Furthermore, this also means that for input-output operations No restrictive agreements, e.g. on segmentation, may be made in order to avoid the principle of virtual memory to soften, after which a user has apparently unlimited access to the full address space of his virtual Memory can have. This in turn means that the address assignment between the real RAM and its virtual memory are completely invisible to the user, i.e. without any effects must stay.
Diese Aufgabe wird erfindungsgemäß mit den irr Kennzeichen des Hauptanspruches beschriebener Merkmalen gelöst.According to the invention, this object is described in greater detail with the characteristics of the main claim Features solved.
Diese Lösung 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 eigene Kanalbefehle programmier! werden mußten. Das bedeutet, daß einzelne Teile dei 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 durch zusätzliche Kettungsbefehle zu stark belastet wird. Sobald dei Kettungslisten-Speicher Einträge über die Reihenfolge aller benutzten Seiten des physikalischen Arbeitsspei chers enthält, können Seitengrenzüberschreitungen gestreuter, aber virtuell zusammenhängend adressierte] Speicherseiten von Kanalprogrammen und darübei hinaus sogar auch von im Zentralprozessor ablaufender Hauptprogrammen durch Zugriffe zum Kettungslisten-Speicher abgewickelt werden. This solution has the advantage that scattering of individual data blocks is now possible within the execution of an input-output channel command without interposed data chains, which up to now have also been programmed as separate channel commands! had to be. This means that individual parts of the amount of data addressed in a channel command can also be stored on non-contiguous pages of the physical main memory without the data transfer rate in the input-output channel being excessively stressed by additional chaining commands. As soon as the linked list memory contains entries about the order of all used pages of the physical main memory, page limits of scattered, but virtually contiguous] memory pages can be handled by channel programs and also by main programs running in the central processor by accessing the linked list memory.
Weiterhin läßt sich dies alles mit Hilfe einer einzigen Adreßtabelle, der Kettungsliste, die im Kettungslisten-Speicher niedergelegt ist, durchführen. Im Gegensatz zu den obenerwähnten Indexadreßlisten bei dem bekannten Verfahren, die ähnlich wie dieFurthermore, all of this can be carried out with the aid of a single address table, the linked list, which is stored in the linked list memory. In contrast to the above-mentioned index address lists for the known method, which is similar to the
Adreßübersetzungstabellenbenutzer individuell sind, ist die Kettiingsliste 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, die Zugriffshäufigkeit ist also relativ gering.Address translation table users are individual, the kettling list is therefore system-specific, i.e. for the entire central unit of the data processing system only required once. Because of the sequential Sequence of input-output operations, access to the linked list is only required if when a page limit violation occurs and the new physical page number is determined with which the program is to be continued, so the access frequency is relatively low.
Der Aufbau dieser Schaltungsanordnung zeigt weiterhin, daß Eingabe-Ausgabe-Operationen nun auch mit verhältnismäßig einfachen Mitteln durchführbar sind, und deshalb gegenüber den bekannten Lösungen auch vom schäitungstechnischen Aufwand her einen i> weiteren Vorteil bietet. Dieser zeigt sich insbesondere in der Speicherverwaltung, d. h., in der Zuweisung von physikalischen Speicherseiten beim simultanen Ablauf von mehreren Programmen: Der Kettungslistenspeicher besitzt im Gegensatz zu den bekannten Index-Adreßlisten eine feste Länge, er kann daher an sich auch im physikalischen Arbeitsspeicher ohne weiteres mit festen Adressen, also ständig speicherresident, gespeichert sein, weil der benötigte Speicherplatz genau definiert ist. In diesem Fall ist es an sich auch nicht erforderlich, einen Fußpunkt für die Adressen im Kettungslisten-Speicher festzulegen, jedoch bedeutet dies eine gewisse Einschränkung, die man bei virtuell adressierenden Datenverarbeitungsanlagen Heber 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ß die erfindungsgemäße Lösung auch unabhängig von einem praktischen Speicherausbau einer datenverarbeitenden Anlage anwendbar ist Weiterbildungen der Erfindung sind in Unteransprüchen gekennzeichnetThe structure of this circuit arrangement also shows that input-output operations are now also possible are feasible with relatively simple means, and therefore compared to the known solutions also an i> in terms of technical expenditure offers another advantage. This is particularly evident in memory management, i. i.e., in the assignment of physical memory pages when several programs are running simultaneously: the linked list memory In contrast to the known index address lists, it has a fixed length, so it can in itself also stored in the physical main memory with fixed addresses, i.e. permanently memory-resident because the required storage space is precisely defined. In this case it is not in itself either required to define a base point for the addresses in the linked list memory, but means This is a certain restriction that one bypasses with virtually addressing data processing systems Heber, to remain more flexible in memory allocation. In this case, this is also easily possible, since only a single quickly accessible register is required, which is the base point address of the linked list memory is deposited, because this achieves that the linked list memory in each any memory page of the main memory can be deposited. In addition, it would be in itself it is also not necessary to arrange the linked list memory directly in the main memory, it could too be constructed as a separate storage unit with particularly fast access. This shows that the invention Solution also independent of a practical memory expansion of a data processing system is applicable Developments of the invention are characterized in the subclaims
Im folgenden wird ein Ausfuhrungsbeispiel der Erfindung anhand der Zeichnungen näher erläutert Es zeigtThe following is an exemplary embodiment of the invention explained in more detail with reference to the drawings It shows
Fig. 1 ein vereinfachtes Blockschaltbild einer Schaltungsanordnung zur Durchführung eines Verfahrens Tür den Ablauf von sequentiellen Eingabe-Ausgabe-Operationen bei einer mit virtueller Adressierung arbeitenden Datenverarbeitungsanlage,1 shows a simplified block diagram of a circuit arrangement to carry out a method door the sequence of sequential input-output operations in the case of a data processing system that works with virtual addressing,
Fig. 2 ein Organisationsschema eines erfindungsgemäß zu benutzenden Kettungslisten-Speichers und FIG. 2 shows an organization diagram of a linked list memory to be used according to the invention, and FIG
Fig. 3 zur Erläuterung der Wirkungsweise der in Fig. 1 dargestellten Schaltungsanordnung ein auf die wesentlichen Verfahrensschritte bei einer Eingabe-Ausgabe-Operation reduziertes Ablaufschema.Fig. 3 to explain the operation of the in 1 shows a flow chart reduced to the essential method steps in an input-output operation.
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 Ein- gang eines Decodierers, des sogenannten Datenadreß-Decodierers DECX verbunden, der seinerseits an einen Datenspeicher DSPangeschaltet ist Dieser bildet einen Teil des Arbeitsspeichers ASP. Dieser Datenspeicher DSP ist an periphere Geräte PG anschaltbar, einander entgegengesetzt gerichtete Pfeile in der Verbindungsleitung sollen verdeutlichen, daß zwischen den peripheren Geräten und dem Datenspeicher ein Datentransfer in beiden Richtungen stattfinden kann. 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 determined by a physically addressing channel command is stored so-called data address decoder DECX , 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 ; arrows pointing in opposite directions in the connecting line are intended to make it clear that data can be transferred in both directions between the peripheral devices and the data memory.
Ein weiteres Leitungsvielfach verbindet die Ausgänge des Datenadreß-Registers DARPmW Eingängen eines Addierers ADD. Auch dieses Leitungsvielfach ermöglicht die gesamte physikalische Datenadresse PDA parallel aus dem Datenadreß-Register DARPauszulesen und in den Addierer ADD einzugeben. Dies ist in Fig. 1 ebenso wie bei der Leitungsverbindung zwischen dem Datenadreß-Register DARP und dem Datenadreß-Decodiercr DECl durch den Hinweis auf ein Leitungsbündel und die Angabe »3 Bytes« verdeutlicht. In diesem Ausfuhrungsbeispiel ist davon ausgegangen, daß die Eingabe-Ausgabe-Operation mit fortlaufender Adressenerhöhung abläuft, der Addierer ADD hat dann die Funktion, die ausgelesene physikalische Datenadresse PDA, um eine Konstante α zu erhöhen, die dem Adressenformat der zu transferierenden Daten entspricht. Another line multiple connects the outputs of the data address register DARPmW inputs of an adder ADD. This line manifold also enables the entire physical data address PDA to be read out in parallel from the data address register DARP and entered into the adder ADD . This is illustrated in FIG. 1 as well as with the line connection between the data address register DARP and the data address decoder DEC1 by the reference to a line bundle and the indication "3 bytes". In this exemplary embodiment it is assumed that the input-output operation takes place with continuous address increase, the adder ADD then has the function of increasing the physical data address PDA read out by a constant α which corresponds to the address format of the data to be transferred.
Am Ausgang des Addierers ist angedeutet, daß sich die physikalische Datenadresse PDA im gewählten Ausführungsbeispiel als eine Binärzahl mit 24 Bitstellen darstellt, die aus zwei Teilen besteht: Die Bitstellen 212 bis 223 bezeichnen eine physikalische Seitennummer PSN des Arbeitsspeichers ASP und die Bitstellen 2° bis 2" bezeichnen eine sogenannte Bytenummer 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 Bytenummer D^Szugeordneten 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 Eingänge eines weiteren Decodierers, des sogenannten Kettungslisten-Decodierers DECl, angeschlossen sind.At the output of the adder it is indicated that the physical data address PDA in the selected embodiment is a binary number with 24 bit positions, which consists of two parts: The bit positions 2 12 to 2 23 denote a physical page number PSN of the main memory ASP and the bit positions 2 ° to 2 "refer to a so-called byte number DAS, ie the address of a data byte within the specified by the physical page number PSN memory page are the working memory ASP. the splitting of the line-multiplexed switch shown is intended to illustrate that the the byte number D ^ Szugeordneten outputs of the adder ADD directly with corresponding Inputs of the data address register DARP are connected and on the other hand the outputs of the adder ADD to be assigned to the physical page number PSN are connected both to a switching unit DSE and with a certain orientation to some of the inputs of a further decoder, the so-called Kettun gslisten decoder DECl, are connected.
Dieser Kettungslisten-Decodierer DECl 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 DECl 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 DECl angeschlossenen Kettungslisten-Speichers KSP auswählbar ist This linked list decoder DECl has a further group of inputs which are connected to the outputs of a register, the so-called linked list base register KBR . The content of this register and the physical page number PSN read out from the adder ADD are combined to form a new address which is input to the linked list decoder DECl . 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 memory KSP connected to the linked list decoder DECl can be selected
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 ArbeitsspeicherThe basic structure of this linked list memory is shown schematically in FIG. 2. The memory is oriented line by line, the total number of its lines corresponds to the number of pages of the physical main memory ASP. In the left column of FIG. 2, entry numbers EN are given in consecutive order from 1 to η . These entry numbers EN correspond to the page numbers of the physical memory pages PSN, ie it is assumed in this example that the main memory
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.also has η memory pages. In the simplest case, the linked list memory could contain a single entry, the physical page number PSN + 1 of the memory page following in the program sequence, in each entry line which is defined by a specific linked list memory address KZA. This entry is indicated in a schematic form in the right-hand column labeled PSN + 1.
Ein derartiger Eintrag PSN+ 1 in einer Zeile des Kettungslisten-Speichers bedeutet jedoch nur die physikalische 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 physical page number with which a program run is to be continued if a page limit is exceeded in the main memory ASP in the course of the data transfer by continuously increasing the address of a byte number.
Im gewählten Ausuinrungsbeispie! enthält jedoch jede Eintragszeile noch einen weiteren 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 chosen example! however, each entry line contains a further entry PSN- 1 in the middle column. Analogous to the first-mentioned entry, this entry represents the physical address of a memory page that preceded the previous memory page in the program run, provided that the address is continuously increased. This second entry in each line of the linked list memory KSP enables the operating case of "input backwards" in which the data address is continuously decreased. Here, too, of course, page limits can be exceeded, which require access to the linked list memory in order to find the next memory page in the program flow.
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 Programmablauf nach der ersten Seitengrenzüberschreitung fortlaufen soll, wenn bei diesem Programm mit fortschreitender Adressenerhöhung gearbeitet wird. Das ist in diesem Fall die Speicherseite mit der physikalischen Seitennummer PSN= 5. In der mittleren Spalte in Zeile 5 ist die Seitennummer der im Programmablauf vorher belegten Speicherseite, also PSV-1=3 und in der rechten Spalte PSN+1 = η - 4 als Folgenummer niedergelegt In der Eintragszeile EN= n-4 steht dann in der mittleren Spalte die vorhergehende Seitennummer FSN-I=S und in der rechten Spalte die Folgenummer PSN+1= I, 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 Pfeile an Verbindungslinien auf der rechten Seite der Fig. 2 verdeutlicht In order to clarify the structure of the linked list memory KSP , an arbitrary order of all pages of the main memory ASP is defined in FIG. 2 with a specific order of entries which differ from one another. The entry »Begin« in the middle column PSN- 1 in line 3 indicates the beginning of a certain program sequence; 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 that memory page in which the program should continue after the first page limit is exceeded if this program is used with a progressive increase in the address. In this case, this is the memory page with the physical page number 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. PSV-1 = 3 and in the right column PSN + 1 = η - 4 as Sequence number laid down In the entry line EN = n-4 the previous page number FSN-I = S is then in the middle column and the sequence number PSN + 1 = I in the right column, which means that the program sequence now jumps to memory page 1 It has become clear how this sequence is to be continued, which finally ends with the jump from the memory page with the page number PSN = 2 to the memory page with the page number PSN = n - 2 Side of Fig. 2 illustrates
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 UGl bzw. UGl 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ärzah! 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 UGl und UGZ, die 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 UGX bzw. UGl ist jeweils mit einer Signalleitung t/12 verbunden, die aus dem Addierer herausgeführt ist. Wird bei dem Errechnen einer neuen Bytenuir.mer DAS durch die Addition - es wird ja in diesem Beispiel von Eingabe-Ausgabe-Operationen mit fortlaufender Adreßerhöhung ausgegangen - der Konstante α zu der bisherigen im Datenadreß-Register DARP gespeicherten Bytenummer ein Übertrag in der höchsten Bitstelle dieser Bytenummei festgestellt, so zeigt sich auf der Signalleitung t/12 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 Uli sperrt die ersten UND-Glieder UGl und schaltet die zweiten UND-Glieder UGl leitend. Die Ausgänge beider Gruppen von UND-Gliedern UGl bzw. UGl sind paarweise über jeweils ein ODER-Glied OG an einen der Ausgänge der Durchschalteeinheit DSE durchgeschaltet. This linked list memory KSP, shown only schematically as a block in FIG. 1, is also connected to the switching unit DSE via a line manifold. In the example shown here, the switching unit DSE is significantly simplified. Just as each line manifold is shown only as a single line, the logical network drawn in the switching unit DSE with the two AND elements UGl or UGl and the OR element OG for each of the lines to be switched through must be present once. Since it is assumed in this embodiment that the physical page number PSN is represented by a binary number! is reproduced with twelve bit positions, the switching unit DSE would therefore have to contain twelve logical networks of the same type. Each logical network contains two AND elements UGl and UGZ, each with an input 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 it to the linked list memory KSP . The other input of the two AND elements UGX and UG1 is each connected to a signal line t / 12 which is led out of the adder. When calculating a new byte number DAS by adding - in this example input-output operations with continuous address increase - of the constant α to the previous byte number stored in the data address register DARP, a carry is made in the highest bit position If this byte number is detected, a change of state is shown on the signal line t / 12. This carry in the highest bit position of the byte number indicates that the page limit has been exceeded in the physical ASP. This change of state on the signal line Uli blocks the first AND gates UGl and switches the second AND gates UGl on . The outputs of both groups of AND gates UGl or UGl are connected in pairs via an OR element OG to one of the outputs of the switching unit DSE .
Das die Ausgänge der Durchschalteeinheit DSE mit Eingängen des Datenadreß-Registers DARF verbindende Leitungsvielfach ist in der Darstellung nach Fig. 1 wieder aufgespalten, um zu verdeutlichen, 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 istThe outputs of the switching unit DSE to inputs of the data address register DO line connecting multiple is split in the representation according to Fig. 1 again, to indicate that after each run in the data address register DARP newly stored physical data address from the adder ADD calculated new byte number DAS and the physical page number PSN switched through by the switching unit DSE
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, ie the process sequence, will now be explained in the following in connection with the schematic flow chart shown in FIG. 3. Although this type of representation is usually used for program sequences, it also seems suitable here because it is easy to remember, its symbolism is familiar to all experts in the field of data processing and is 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.1 shows that the physical data address PDA determined by a channel command is stored in the data address register DARP. This physical data address PDA is made up of a physical page number PSN and the byte number DAS, i.e. H. the data address of a data byte within a memory page and forms, as shown in the second line in FIG. 3, the content of the data address register DARP, indicated by the reference character DARP in square brackets.
physikalische Datenadresse PDA bezeichnet eine bestimmte Datenmenge, die im Datenspeichei DSP gespeichert ist oder in den Datenspeicher DSP einzuspeichern ist. Die physikalische Datenadresse bezeichnet den für diese Datenmenge bereitgestellten Speicherpkitz im Datenspeicher DSP Zwischen diesem Speicherplatz und angeschlossenen peripheren Geräten PG findet bei Ein&übe-Ausgabe-Operationen ein Datentransfer statt. Dies ist in der dritten Zeile von Fig. 3 angedeutet.physical data address PDA describes a specific amount of data that is stored in the DSP or Datenspeichei einzuspeichern into the data memory DSP. The physical data address designates the storage capacity in the data memory DSP made available for this amount of data. A data transfer takes place between this storage space and connected peripheral devices PG during input and output operations. This is indicated in the third line of FIG. 3.
Wie in Fig. 3 in der vierten Zeile ungedeuid, wird die physikalische Datenadresse PDA gleichzeitig um die Konstante α erhöht, die sich aus der Anzahl der Datenbytes ergibt, die am Datentransfer beteiligt sino Damit ist eine neue physikalische Datenadresse PDA errechnet. Nun ist in Fig. 3 in der vierten Zeile auch angedeutet, daß die bisherige physikalische Datenadresse PDA auch um die Konstante α erniedrigt werden !rrtnri. Dieser raii gilt für den in Fig. I 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.As in Fig. 3 in the fourth line, the physical data address PDA is increased at the same time by the constant α , which results from the number of data bytes involved in the data transfer so that a new physical data address PDA is calculated. It is now also indicated in FIG. 3 in the fourth line that the previous physical data address PDA are also decreased by the constant α ! Rrtnri. This rule applies to the special case of an input operation, which is otherwise not shown in detail in FIG. 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 α 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 auszufuhren ist. In diesem Fall wird die in dem Addierer ADD errechnete 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 223 bis 212, zu der neuen physikalischen Datenadresse PDA zusammengesetzt und in dem Datenadreßregister 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 UYl keine Zustandsänderung erfolgt. Die neue physikalische Datenadresse PDA bildet damit wieder den Inhalt des Datenadreß-Registers DARP, wie in Fig. I dargestellt, die Bildung der neuen Datenadresse ist damit beendet, und der Datentransfer wird mit dieser Datenadresse fortgesetzt In Fig 3 ist dieser Verfahrensablauf durch die Verzweigung in der fünften Zeile und den Block in der vorletzten Zeile angedeutet.The content of the newly calculated physical data address PDA provides a criterion for the way in which the process sequence is to be continued. If the addition of the constant α to the previous physical data address PDA does not result in a carry from the highest bit position of the byte number DAS , this means that the next data transfer must also be carried out within the previous memory page with the physical page number PSN . In this case, the new byte number DAS calculated in the adder ADD , ie the bit positions 2 "... 2 ° of the physical data address PDA, together with the previous physical page number PSN, ie the remaining bit positions 2 23 to 2 12 , become the new one physical data address PDA and temporarily stored in the data address register DARP. Because in this case the switching unit DSE switches the inputs coming from the adder ADD through to its outputs, since there is no change of state on the signal line UYl. The new physical data address PDA thus forms the content of the Data address register DARP, as shown in Fig. I, the formation of the new data address is finished and the data transfer is continued with this data address. In Fig. 3 this process sequence is indicated by the branch in the fifth line and the block in the penultimate line .
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 Adreßerhöhung ausgeht, ein Übertrag erfolgt, der auf der Signalleitung i/12 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 PSNder Programmablauf fort gesetzt werden soll.A new cycle begins, as it has been described so far. These procedural steps continue one after the other until, when the new physical data address PDA is calculated in the adder ADD from the highest bit position of the byte number DAS, assuming a program sequence with a progressive increase in the address, a carry occurs on the signal line i / 12 It has already been pointed out that this transfer means nothing else than that the calculated byte number DAS is no longer within the previously selected memory page with the physical page number PSN , ie that a page limit is now exceeded and must now be determined with which physical page number PSN the program sequence should be continued.
Aus der Angabe der Verzweigung in der fünften Zeile der Fig. 3 ergibt sich für diesen Fall, daß sich jetzt der Verfahrensablauf ändert. Dazu wir^ ent-From the specification of the branch in the fifth line of FIG. 3 it follows for this case that now the process flow changes. To do this, we
s sprechend der Darstellung in der sechsten Zene von Fig. 3 aus der bisherigen physikalischen .Scitenniimmer PSN und dem Inhalt eines Kettungslisten-Basisregisters KBR eine Kettungslisten-Speicheradresse KZA gebildet, über die mit Hilfe des Kettungsiisten-DecodierersIn accordance with the representation in the sixth scene of FIG. 3, a linked list memory address KZA is formed from the previous physical .Scitenniimmer PSN and the contents of a linked list base register KBR , via which the link list decoder
ίο DEC7 eine Zeile des Kettungslisten-Speichcrs KSPauswählbar ist. Dabei hut da= KeUungslisten-Basisregister KBR die Aufgabe, die Fußpunktadresse für den Kettungslisten-Speicher KSP bereitzustellen, d.h., daß in diesem Register diejenige physikalische Seitennummer des Arbeitsspeichers ASP gespeichert ist, in der die Kettungsüste niedergelegt ist. In diesem Verfahrensschritt ist also ein Hilfszugriff zum Arbeitsspeicher ASP notwendig, um die neue physikalische Seitennummer RSjV 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 Durchschalteeinheit DSE an das Datenadreß-Register DARP durchgeschaltet. Dies ist möglich, da auf der Signalleitung Uli, bedingt durchίο DEC7 one line of the linked list memory KSPaus can be selected. Here, da = link list base register KBR has the task of providing the base point address for the link list memory KSP , ie that the physical page number of the main memory ASP in which the link structure is stored is stored in this register. In this process step, an auxiliary access to the main memory ASP is necessary in order to determine the new physical page number RSjV with which the program is to be continued. This new physical page number is one of the two entries in the line of the linked list memory KSP selected by the linked list memory address KZA. This fact is shown in the seventh line of FIG. The new physical page number PSN is read out from the linked list memory KSP and switched through to the data address register DARP via the switching unit DSE . This is possible because on the signal line Uli, due to
den aufgetretenen Übertrag, eine Zustandsänderung erfolgte und damit die Durchschalteeinheit DSE umgeschaltet ist.the carried over occurred, a change of state took place and the switching unit DSE was switched over.
Wie in Fig. 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ß-Register DARP niedergelegt. Dies ist in Fig. 3 in den beiden Zeilen dargestellt, die die letzten Verfahrensschritte kennzeichnen. Damit ist der Verfahrensablauf zur Feststellung der neuen physikalischen Seitennummer PSN bei einer Seitengrenzüberschreitung beendet, und die Eingabe-Ausgabe-Operation setzt sich mit dem oben beschriebenen normalen Zyklus fortAs shown in FIG. 1, this new physical page number PSN is combined with the byte number DAS calculated in the adder ADD to form the new physical data address PDA and stored in the data address register DARP. This is shown in FIG. 3 in the two lines which characterize the last method steps. This ends the process flow for determining the new physical page number PSN in the event of a page limit being 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ß sie in mancherlei Weise an praktische Gegebenheiten anzupassen ist und hier nur schematisiert wiedergegeben ist Bei einer echten Realisierung wird man z. B. statt des Datenadreß-Registers DARP einen größeren Datenadreß-Speicher verwenden, der mehrere physikalische Datenadressen PDA enthält, von denen jede einem anderen Eingabe-Ausgabe-Kanal zugeordnet ist Ebenso ist es selbstverständlich, daß an den Datenspeicher nicht nur ein einziges peripheres Gerät, sondern mehrere periphere In the preceding description of an embodiment of the invention it is already indicated on various occasions that it is to be adapted in various ways to practical conditions and is only shown schematically here. B. instead of the data address register DARP use a larger data address memory containing a plurality of physical data addresses PDA, each having a different input-output channel is assigned Likewise, it is understood that the data store not only a single peripheral device , but several peripheral
wieder eine Vielzahl von peripheren Geräten bedienen.again operate a large number of peripheral devices.
»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»Input backwards« is pointed out. One can assume that this is a special case in the channel commands is characterized by a certain control bit, which is then used to switch the adder accordingly, so that there automatically the Konstante α von der bisherigen Bytenummer DAS abgezogen wird. Nun wird in der Datenverarbeitung die Subtraktion in Dualsystemen durch eine Addition mit dem Komplement des Subtrahenden ersetzt Dar-Constant α is subtracted from the previous byte number DAS. Now, in data processing, the subtraction in dual systems is replaced by an addition with the complement of the subtrahend.
aus ergibt sich dann bei dieser Eingabeoperation die Tatsache, daß kein Übertrag aus dem höchsten Bit der Byienuramer bt; der Subtraktion gerade das Kriterium für eine Seitengrenzüberschreitung bildet und deshalb eine Zustandsänderung auf der Signalleitung auslösen muß. In entsprechender Weise läßt sich das obenerwä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- 1 auszulesen ist Weiterhin ist es eine Frage der Speicherorganisation im Arbeitsspeicher ASP, ob der Kettungslisten-Speicher KSP im Arbeitsspeicher ASP erstens ständig resident ist und zweitens in diesem Fall auch ständig in denselben Speicherseiten abgelegt ist. Hinsichtlich der Organisation des Kettungslisten-Speichers KSP \st noch auf folgende Besonderheit hinzuweisen: Bei virtuell adressierenden Datenverarbeitungsanlagen sind sogenannte Adreßübersetzungstafeln gebräuchlich, mit denen bei normalen Benutzerprogrammen die virtuellen Datenadressen in physikalische Adressen übersetzt werden. In diesen Adreßübersetzungstafeln sind zusätzlich zu den Adressen auch Kontroll- und Überwachungsbits gespeichert, die bei Systemprogramm- und Benutzer-Programmfehlern 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-Ausgabe-Operationen angewendet werden. Auch der Datenadreß-Speicher, der im praktischen Fall statt des Datenadreß-Registers odei 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.The result of this input operation is that there is no carry over from the highest bit of the byienuramer; the subtraction forms the criterion for exceeding the side limit and must therefore trigger a change of state on the signal line. In a corresponding manner, the above-mentioned control bit can also be used to select the Kettungslisten memory KSP so as to read the corresponding entry line in each case the next lower physical page number PSN 1 Further, it is a question of the memory organization in the working memory ASP whether the Kettungslisten -Memory KSP is firstly permanently resident in the main memory ASP and secondly in this case it is also permanently stored in the same memory pages. With regard to the organization of the linked list memory KSP \ st , the following peculiarity should be pointed out: In the case of virtually addressing data processing systems, so-called address translation tables are used, with which the virtual data addresses are translated into physical addresses in normal user programs. In these address translation tables, in addition to the addresses, control and monitoring bits are also stored, which cause a program interruption and error routine in the event of system program and user program errors. Such control bits can also be transferred to the linked list memory KSP , since the linked list is prepared with the content of the address translation tables. The corresponding controls and error routines can then also be used for input-output operations. The data address memory, which is used in the practical case instead of the data address register or several data address registers DARP , can also be part of the main memory, so that it is not necessary to provide separate, particularly fast registers for the intermediate storage of the physical data address PDA .
Das geschilderte Ausführungsbeispiei hat aber trotz aller Vereinfachung gezeigt, daß Eingabe-Ausgabe-Operationen bei virtuell adressierenden Datenverarbeitungsanlagen durchaus auch mit geringem Aufwand derart zu organisieren sind, daß die Dateneingabe bzw. -ausgabe die Eigenschaften virtuell adressierte! Speicher berücksichtigt Da eine derartige Lösung als reine Schaltungsanordnung zu realisieren ist, lasser sich Eingabe-Ausgabe-Operationen damit auch se durchführen, daß ihre Wirkungsweise bei der Aufstellung von System- und Kanalprogrammen nichi berücksichtigt zu werden braucht, d.h. für den An wender und sogar den Systemprogrammierer unsicht bar bleibt, sofern im Betriebssystem entsprechend privilegierte Befehle vorliegen. Dazu braucht vielfach die Bedeutung solcher bereits bestehenden Befehle nui durch eine entsprechende Mikroprogrammroutine erweitert zu werdei.However, despite all its simplification, the exemplary embodiment described has shown that input-output operations with virtually addressing data processing systems with little effort must be organized in such a way that the data input or output virtually addressed the properties! Memory taken into account Since such a solution can be implemented as a pure circuit arrangement, lasser Input-output operations are thus also carried out so that their mode of action during the setup does not need to be taken into account by system and channel programs, i.e. for the An The user and even the system programmer remain invisible, provided that they are appropriately privileged in the operating system Commands are available. For this purpose, the meaning of such already existing commands often only needs to be expanded by a corresponding microprogram routine.
Daraus ergibt sich insbesondere, daß die bisher not wendigen und aufwendigen Datenkettungen bei Seiten grenzüberschreitungen nicht mehr auftreten, daß die Datentransferrate für das einzelne am Datenaustauscr beteiligte periphere Gerät wesentlich weniger belaste wird und daß sich die Speicherverwaltung stark ver einfacht, da die für Eingabe-Ausgabe-Operationer generierten Kanalprogramme aus Ursprungspro grammen strikt 1:1 übersetzt werden können.From this it follows in particular that the previously necessary and expensive data chains for pages Crossings no longer occur that the data transfer rate for the individual at the Datenaustauscr involved peripheral device is significantly less stressed and that the memory management is greatly ver simplified, since the channel programs generated for input-output operations are based on original software grams can be translated strictly 1: 1.
Hierzu 3 Blatt ZeichnungenFor this purpose 3 sheets of drawings
Claims (4)
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 | |
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 |
NL7400649A NL7400649A (en) | 1973-01-18 | 1974-01-17 | |
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 |
FR7409060A FR2222696B2 (en) | 1973-01-18 | 1974-03-18 | |
NL7403609A NL7403609A (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 |
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 |
NL7510623A NL7510623A (en) | 1973-01-18 | 1975-09-09 | PROCEDURE FOR PERFORMING IMPORT / EXPORT OPERATIONS AT AN INFORMATION PROCESSING DEVICE WORKING 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 DE2302379A1 (en) | 1974-08-15 |
DE2302379B2 DE2302379B2 (en) | 1977-03-31 |
DE2302379C3 true 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)
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 |
-
0
- FR FR108891D patent/FR108891A/fr active Active
-
1973
- 1973-01-18 DE DE19732302379 patent/DE2302379C3/en not_active Expired
- 1973-03-21 DE DE19732314070 patent/DE2314070C3/en not_active Expired
- 1973-12-10 GB GB5705473A patent/GB1447680A/en not_active Expired
-
1974
- 1974-01-14 FR FR7401140A patent/FR2214923B1/fr not_active Expired
- 1974-01-16 LU LU69174D patent/LU69174A1/xx unknown
- 1974-01-17 NL NL7400649A patent/NL7400649A/xx not_active Application Discontinuation
- 1974-01-18 BE BE139975A patent/BE809930A/en not_active IP Right Cessation
- 1974-02-15 GB GB691174A patent/GB1454357A/en not_active Expired
- 1974-03-18 NL NL7403609A patent/NL7403609A/xx not_active Application Discontinuation
- 1974-03-18 FR FR7409060A patent/FR2222696B2/fr not_active Expired
- 1974-03-19 LU LU69663A patent/LU69663A1/xx unknown
- 1974-03-21 BE BE142284A patent/BE812640R/en not_active IP Right Cessation
- 1974-09-17 DE DE19742444406 patent/DE2444406A1/en active Pending
-
1975
- 1975-09-09 FR FR7527583A patent/FR2285658A2/en active Granted
- 1975-09-09 NL NL7510623A patent/NL7510623A/en not_active Application Discontinuation
- 1975-09-17 BE BE160129A patent/BE833520R/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
BE809930A (en) | 1974-07-18 |
BE812640R (en) | 1974-09-23 |
FR2214923A1 (en) | 1974-08-19 |
DE2302379A1 (en) | 1974-08-15 |
FR2285658B2 (en) | 1978-09-08 |
DE2444406A1 (en) | 1976-03-25 |
NL7403609A (en) | 1974-09-24 |
FR2285658A2 (en) | 1976-04-16 |
FR2222696B2 (en) | 1978-09-08 |
DE2314070A1 (en) | 1974-10-10 |
FR108891A (en) | |
GB1454357A (en) | 1976-11-03 |
BE833520R (en) | 1976-03-17 |
NL7400649A (en) | 1974-07-22 |
FR2222696A2 (en) | 1974-10-18 |
LU69174A1 (en) | 1974-04-08 |
GB1447680A (en) | 1976-08-25 |
NL7510623A (en) | 1976-03-19 |
DE2314070C3 (en) | 1980-08-07 |
DE2314070B2 (en) | 1979-11-29 |
DE2302379B2 (en) | 1977-03-31 |
LU69663A1 (en) | 1974-10-17 |
FR2214923B1 (en) | 1978-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2139731A1 (en) | Arrangement and procedure for code implementation with an associative memory | |
DE2547488C2 (en) | Micro-programmed data processing system | |
DE1956604B2 (en) | Data processing system | |
DE3131341A1 (en) | "BUFFER STORAGE ORGANIZATION" | |
DE2154106A1 (en) | RAM drive | |
DE2758829C2 (en) | Data processing system with several processors | |
DE2360303A1 (en) | DATA PROCESSING SYSTEM WITH DYNAMIC ADDRESS TRANSLATION | |
DE2422732C2 (en) | Hierarchical storage arrangement | |
DE1499206B2 (en) | COMPUTER SYSTEM | |
DE2703559A1 (en) | COMPUTER SYSTEM | |
DE1900007A1 (en) | Data processing system | |
DE2302379C3 (en) | Circuit arrangement for performing sequentially running input / output operations in a data processing system working with virtual addressing | |
DE2459476C3 (en) | ||
DE2948340C2 (en) | Information transmission arrangement for the transmission of selected information units | |
DE2233164B2 (en) | Partial amendment of stored data - using logic circuit transferring part of bit sequence between registers | |
DE1549446A1 (en) | Digital computer | |
DE2601379C3 (en) | Circuit arrangement for converting virtual addresses into real addresses | |
DE2000608A1 (en) | Circuit arrangement for a message processing system, in particular for a message switching system | |
DE2846572A1 (en) | DISPLAY CONTROL FOR SWITCH TABLES | |
EP0262636B1 (en) | Circuit arrangement for selecting and/or aligning data units in data processors | |
DE2451984C2 (en) | Data processing system | |
DE3009330C2 (en) | Method for sorting data stored in a hybrid associative memory and arrangement for carrying out the method | |
DE2002369C3 (en) | Data processing system with buffer memory | |
DE2116639C3 (en) | Data processing system. Änm: Eysenbach, Wilfried, Dipl.-Ing., 8023 Pullach | |
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 |