DE2458331A1 - DATA PROCESSING SYSTEM FOR ADDRESSING A DATA SET STORED IN A SECONDARY MEMORY - Google Patents

DATA PROCESSING SYSTEM FOR ADDRESSING A DATA SET STORED IN A SECONDARY MEMORY

Info

Publication number
DE2458331A1
DE2458331A1 DE19742458331 DE2458331A DE2458331A1 DE 2458331 A1 DE2458331 A1 DE 2458331A1 DE 19742458331 DE19742458331 DE 19742458331 DE 2458331 A DE2458331 A DE 2458331A DE 2458331 A1 DE2458331 A1 DE 2458331A1
Authority
DE
Germany
Prior art keywords
register
data field
data
control
content
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.)
Withdrawn
Application number
DE19742458331
Other languages
German (de)
Inventor
Charles W Bachmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2458331A1 publication Critical patent/DE2458331A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30018Bit or string instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Executing Machine-Instructions (AREA)

Description

51-01270 Ge 9. Dezember 197451-01270 Ge December 9, 1974

HONEYWELL INFORMATION SYSTEMS INC.HONEYWELL INFORMATION SYSTEMS INC.

200 Smith Street Waltham, Mass., USA ■200 Smith Street Waltham, Mass., USA ■

Datenverarbeitungssystem zur Adressierung eines in einem Sekundärspeicher abgelegten Datensatzes.Data processing system for addressing a data record stored in a secondary memory.

Die Erfindung betrifft ein Verfahren zur Adressierung eines in einem Sekundärspeicher abgelegten Datensatzes, sowie eine Anlage zur Durchführung dieses Verfahrens.The invention relates to a method for addressing an in a secondary memory stored data set, as well as a plant to carry out this procedure.

Die Brauchbarkeit eines Informationssystemes ist von der Schaffung und Aufrechterhaltung einer umfassenden Datenbank abhängig. Da Millionen von Worte in einer Datenbank gespeichert sind, ist irgendeine geeignete Form der Unterteilung erforderlich, um jedes Wort zum geeigneten Zeitpunkt wieder auffinden zu können. Eine solche Datenbank ist beispielsweise mit einem Wörterbuch vergleichbar, in welchem Millionen von Worte in einer vorgegebenen Ordnung angeordnet sind, so daß jedes Wort leicht aufgefunden werden kann. Obwohl der Vergleich mit einem Wörterbuch nicht in jeder Hinsicht zutrifft,, muß eine Datenbank in eine Anzahl von Dateien logisch unterteilt sein, wobei jede Datei eine Anzahl von Speicherabschnitten, nachstehend "Seiten" genannt, enthält. In Anlehnung an den Vergleich mit dem Wörterbuch können die Dateien als eine Gruppe von einem oder mehrerenThe usefulness of an information system is of the creation and maintaining a comprehensive database dependent. Because there are millions of words stored in a database some suitable form of subdivision is required in order to be able to find each word at the appropriate time. Such a database can be compared, for example, with a dictionary in which millions of words are given in a given Order so that each word can be easily found. Although the comparison with a dictionary Not in all respects, a database must be logically divided into a number of files, with each file a number of memory sections, hereinafter referred to as "pages". Based on the comparison with the dictionary can save the files as a group of one or more

509825/0946509825/0946

Anfangsbuchstaben des Alphabets betrachtet v/erden. Jede Datei enthält eine Anzahl von Seiten, welche weiter in eine Anzahl von Datensätzen unterteilt sind, v/obei in Anlehnung an den angezogenen Vergleich ein Datensatz einem Wort entspricht. In einem Datenverarbeitungssystem enthält ein Datensatz diskrete Informationen, z. B. die Angaben hinsichtlich eines Angestellten in einem Unternehmen.The first letter of the alphabet is considered v / earth. Any file contains a number of pages which are further subdivided into a number of data records, based on the one referred to Comparison of a data set corresponds to a word. In a data processing system, a data set contains discrete Information, e.g. B. the information regarding an employee in a company.

In umfangreichen Dateien wird im allgemeinen ein Teil eines jeden Datensatzes zu dessen eindeutiger Kennzeichnung herangezogen. Diese Kennzeichnung besteht in einer Zahl, die für jeden Datensatz verschieden ist oder aus alphanummerischen Zeichen, welche in Zahlen.umgewandelt werden können. Beispielsweise kann die Sozialversicherungsnummer oder ein Name als Kennzeichnungsteil des Datensatzes verwendet v/erden. Wenn allen Datensätzen entsprechende Kennzeichnungshinweise zugeordnet sind, so können diese möglicherweise mit leichter Abänderung als Adressennummern verwendet werden. Häufig werden jedoch lediglich ein kleiner Teil der verfügbaren Kennzeichnungsnummern benutzt, wobei diese in einer mathematisch wahllosen Weise ausgewählt werden. Wird sodann jeder möglichen Kennzeichnungsnummer ein Speicherplatz zugeordnet, so wird nur ein kleiner Teil des Speicherraumes mit Datensätzen belegt sein, so daß wertvoller Speicherplatz innerhalb eines SekundärSpeichers verschwendet wird. Um dieses Problem zu überwinden, kann der Speicherplatz wirksam durch einfache Einspeicherung der Datensätze innerhalb einer Datei ausgenutzt werden, ohne daß diesen Datensätzen entsprechende Speicheradressen und Kennzeichnungsnummern hinzugefügt werden. Dies erfordert jedoch ein bestimmtes Verfahren zum Auffinden der Datensätze, da es erforderlich wird, eine die Datensätze kennzeichnende, bekannte Adresse zu entwickeln. Als Ergebnis dieser bekannten Umstände wurden praktische Verfahren entwickelt, welche einen Kompromiß zwischen diesen beiden erläuterten extremen Speicherverfahren darstellen. So wird beispielsweise eine teilweiseIn large files, a part of each data record is generally used to uniquely identify it. This identification consists of a number that is different for each data record or of alphanumeric characters, which can be converted into numbers. For example, the social security number or a name can be used as an identifier of the data set is used. If corresponding identification instructions are assigned to all data records, then these can may be used as address numbers with slight modification. Often, however, only a small one will be Part of the available identification numbers are used, these being selected in a mathematically random manner. Will then a memory location is assigned to each possible identification number, so only a small part of the memory space is included Records are occupied, so that valuable storage space is wasted within secondary storage. To this problem To overcome the storage space can be effective by simply storing it of the data records within a file are used without the memory addresses corresponding to these data records and identification numbers can be added. However, this requires a certain procedure to find the records, since it becomes necessary to develop a known address identifying the data records. As a result of this well-known In the circumstances, practical methods have been developed which compromise these two extreme storage methods discussed represent. For example, one becomes partial

S09825/0946S09825 / 0946

Zuordnung von Kennzeichriungsnumiriern und Adressen vorgenommen- und andererseits ein Großteil des Speicherplatzes des Sekundärspeichers ausgenutzt, indem auf eine entsprechende Kennzeichnung der Datensätze verzichtet wird.Assignment of identification numbers and addresses made- and on the other hand, a large part of the storage space of the secondary memory is used by clicking on a corresponding label the data records are dispensed with.

Da in diesem Fall nur eine teilweise Zuordnung zwischen Kennzeichnungsnummern und Adressen besteht, sind verschiedene Suchläufe des Datenverarbeitungssystemes erforderlich, wenn es darum geht, einen Datensatz wieder aufzufinden. Solche Suchläufe sind unerwünscht, da als Sekundärspeicher im wesentlichen Magnettrommeln und Plattenspeicher zur Anwendung gelangen, die eine relativ lange Zugriffszeit aufweisen. Während der Hauptspeicher eines Datenprocessors sehr viel schneller arbeitet, bildet jedoch der Umfang einer typischen Datenbank im allgemeinen ein Hindernis, den in seiner Speicherkapazität beschränkten schnellen Hauptspeicher zur Speicherung dieser Datenbank zu benutzen. Somit hängt die Wirksamkeit einer sekundären Speichereinrichtung davon ab, ob das Aufsuchen eines gesuchten Datensatzes in einem ersten Anlauf möglich ist. Um dieser Anforderung zu genügen, wurden verschiedene Adressierverfahren entwickelt.Because in this case only a partial assignment between identification numbers and addresses, various searches of the data processing system are required when it comes to this goes to find a record again. Such searches are undesirable because the secondary storage is essentially magnetic drums and disk storage devices are used which have a relatively long access time. While the main memory of a Data processor is much faster, but the size of a typical database is generally an obstacle. the fast main memory, which is limited in its storage capacity to use to store this database. Thus, the effectiveness of a secondary storage device depends on it whether it is possible to search for a data record in a first attempt. In order to meet this requirement, various Addressing process developed.

Bei den am häufigsten benutzten Adressiersystemen für Sekundärspeicher sind die Dateien auf Grund von Kennzeichnungsnummern sortiert, so daß sich beim Einspeichern der Datensätze die Kennzeichnungsnummern in einer "geeigneten Reihenfolge befinden. Ein bekannter Weg zum Auffinden eines Datensatzes in einer sortierten Datei benutzt dessen Kennzeichnungsnummer und vergleicht bezüglich der im Sekundärspeicher abgelegten Dateien die Kennzeichnungsnummer des gesuchten Datensatzes mit dem mittleren Datensatz der Datei. Durch diesen Vergleich wird angezeigt, in welcher Hälfte der Datei der gesuchte Datensatz liegt. Der nächste Vergleich wird hinsichtlich des mittleren Datensatzes der ausgewählten Hälfte ausgeführt, wodurch bestimmt wird, in welchem ViertelIn the most commonly used addressing systems for secondary storage the files are sorted on the basis of identification numbers so that the identification numbers are in an "appropriate order. A known way to find a record in a sorted The file uses its identification number and, with regard to the files stored in the secondary memory, compares the identification number of the data record sought with the middle data record of the File. This comparison shows in which half of the file the data record you are looking for is located. The next comparison is performed on the middle record of the selected half, thereby determining which quarter

509825/0946509825/0946

der Datei der gesuchte Datensatz liegt. Dieses Verfahren wird solange fortgesetzt, bis der gesuchte Datensatz gefunden ist. Die Wirksamkeit eines solchen Systems hängt· von der statistischen Charakteristik der Datei ab. Wenn die Kennzeichnungsnummern unter dem Aspekt vollkommener Gleichmäßigkeit ausgewählt sind, so kann durch dieses System ein Datensatz sehr viel schneller aufgefunden werden, als dies bei wahllos ausgewählten oder nicht gleichmäßigen Kennzeichnungsnummern der Fall ist. In jedem Fall besitzen jedoch die Adressiersysteme, welche von einer sortierten Datei Gebrauch machen, verschiedene Nachteile. Zunächst muß die Datei vor der Abspeicherung sortiert werden, wobei das Sortieren ein zeitraubender Prozess darstellt. Zweitens gestattet die sortierte Datei nicht die Einfügung neuer Datensätze und die Entnahme von nicht länger erforderlichen Datensätzen, ohne daß eine Neusortierung erforderlich wäre.the file is where the data record you are looking for is located. This process continues until the data record you are looking for is found. The effectiveness of such a system depends · on the statistical Characteristics of the file. If the identification numbers are selected from the point of view of perfect uniformity, then With this system, a data record can be found much faster than with randomly selected or non-uniform ones Identification numbers is the case. In any case, however, the addressing systems have which from a sorted file Make use of various disadvantages. First of all, the file must be sorted before being saved, the sorting being a represents a time-consuming process. Second, the sorted file does not allow the insertion of new records and the extraction of records that are no longer required without the need to reorder.

Ein oft vorgeschlagenes System zum Auffinden von Datensätzen macht von dem Einspeichern einer Tabelle in den Sekundärspeicher Gebrauch, wobei die Tabelle für jede einem Datensatz zugeordnete Kennzeichnungsnummer, die tatsächliche Adresse des eingespeicherten Datensatzes angibt. Beim Aufsuchen des Datensatzes wird die Tabelle, in den Hauptspeicher eingelesen, wodurch die Suche sehr viel schneller durchgeführt werden kann. Bei näherer Betrachtung dieses Verfahrens wird jedoch klar, daß auch hierbei bestimmte Nachteile auftreten. Obgleich durch den Gebrauch des Hauptspeichers eine erhöhte.Arbeitsgeschwindigkeit erzielt wird, hat sich die übertragung der Tabelle in den Hauptspeicher und die damit verbundene Benutzung von Speicherplätzen des Hauptspeichers als nicht wirtschaftlich erwiesen. Zudem ist die erforderliche Gesamtzeit zur Auffindung eines Datensatzes groß, da der Sekundärspeicher zuerst die Tabellenseiten und dann die gewünschte Seite der Datensätze übertragen muß.One often proposed system for retrieving records involves storing a table in secondary storage Use, with the table for each identification number assigned to a record, the actual address of the stored Data record. When looking for the data record, the table is read into the main memory, which makes the search very can be done much faster. On closer inspection of this method, however, it becomes clear that here too certain Disadvantages occur. Although an increased operating speed is achieved through the use of the main memory, the transfer of the table to the main memory and the associated use of memory locations in the main memory as not proven economically. In addition, the total time required to find a data record is large because of the secondary storage must first transmit the table pages and then the desired page of the data records.

Es ist die Aufgabe der vorliegenden Erfindung, ein Adressiersystem anzugeben, bei dem ein direkter Zugriff zu den DatensätzenIt is the object of the present invention to provide an addressing system specify, with which a direct access to the data sets

S09825/0946S09825 / 0946

der Datenbank möglich ist, obwohl die Datensätze ohne ein bestimmtes Ordnungsprinzip unter Ausnutzung der vollen Speicherkapazität des SekundärSpeichers in diesem angeordnet sind. Die Iiösung dieser Aufgabe gelingt erfindungsgemäß durch das im Anspruch 1 gekennzeichnete Verfahren. Weitere vorteilhafte Ausgestaltungen des Verfahrens sowie eine Anlage zur Durchführung des Verfahrens sind in den Unteransprüchen gekennzeichnet.the database is possible, although the records are without a specific Ordering principle using the full storage capacity of the secondary storage in this are arranged. the This object is achieved according to the invention by what is stated in the claim 1 marked procedure. Further advantageous embodiments of the method and a system for carrying out the Process are characterized in the subclaims.

Anhand eines in den Figuren der beiliegenden Zeichnungen dargestellten Ausführungsbeispieles wird die Erfindung im folgenden näher beschrieben. Es zeigen:On the basis of an embodiment shown in the figures of the accompanying drawings, the invention is described below described in more detail. Show it:

Figur 1 eine schematische Darstellung verschiedener Hardware-Strukturen, wie sie bei der vorliegenden Erfindung Verwendung finden,Figure 1 is a schematic representation of various hardware structures, as they are used in the present invention,

Figur 2 ein allgemeines Blockdiagramm eines Datenverarbeitungssystems zur Ausführung des erfindungsgemäßen Verfahrens, Figur 3 die schematische Darstellung eines Flußdiagrammes für einen Datenfeld-Descriptor, wie er bei der vorliegenden Erfindung Anwendung findet,FIG. 2 shows a general block diagram of a data processing system for carrying out the method according to the invention, FIG. 3 shows the schematic representation of a flow chart for a data field descriptor as used in the present invention Is used

Figur 4 ein Blockdiagramm der bei dem Datenverarbeitungssystem gemäß Figur 2 verwendeten Schaltkreise und Figur 5 ein Flußdiagramm betreffend die Ausführung des Kontrollbefehls. .FIG. 4 is a block diagram of the circuitry used in the data processing system of FIG. 2 and FIG FIG. 5 shows a flow chart relating to the execution of the control command. .

Bevor das Adressiersystern zum Auffinden von Datensätzen innerhalb eines SekundärSpeichers näher beschrieben wird, sei das Gebiet, auf dem die Erfindung liegt> zum Zwecke des besseren Verständnisses der Erfindung näher erläutert. Der Umfang der von einem Benutzer zu verarbeitenden Information erfordert die Speicherung der Information in einem Sekundärspeicher. Sekundäre Speichereinrichtungen können in kleinere Einheiten unterteilt werden. Zum Beispiel kann ein Plattenspeicher in mehrere aneinander grenzende Sektoren unterteilt v/erden, wobei jeder Sektor leicht aufgesucht werden kann. Jeder Sektor kann somit als eine Informationsseite betrachtet werden, wobei jede Informationsseite eine Vielzahl Before the addressing system to find records within a secondary memory is described in more detail, let the field in which the invention lies> explained in more detail for the purpose of better understanding of the invention. The scope of one Information to be processed by users requires the information to be stored in secondary storage. Secondary storage facilities can be divided into smaller units. For example, a disk storage can be divided into several contiguous Sectors are subdivided and each sector can be easily accessed. Each sector can thus be viewed as one information page, with each information page having a plurality

50 9 8 25/094650 9 8 25/0946

von Datensätzen enthalten kann. Jeder Datensatz enthält bestimmte Informationen, von denen ein Teil herangezogen werden kann, um den Datensatz selbst eindeutig hinsichtlich .seines Speicherplatzes zu kennzeichnen. Beispielsweise kann die Größe, das Gewicht oder das Geschlecht einer Person nicht dazu herangezogen werden, um diese Person eindeutig gegenüber einer anderen Person zu unterscheiden. Jedoch kann hinsichtlich eines Angestellten, dessen Angestelltennummer oder sein Name für eine eindeutige Kennzeichnung ausreichend sein. In einem Plattenspeicher können somit pro Sektor, d. h. pro Seite mehrere unterschiedliche Datensätze untergebracht werden. Hinsichtlich Bandspeicher kann auf Grund verschiedener benutzter Spuren und Bandabschnitte ebenfalls die Information unterteilt werden.of records may contain. Each data set contains certain information, some of which can be used to clearly identify the data record itself with regard to its storage location. For example, the size the weight or gender of a person cannot be used to uniquely distinguish that person from another Distinguish person. However, regarding an employee, their employee number or name can be used for a clear labeling is sufficient. In a disk storage system, per sector, i. H. several different ones per side Records are accommodated. Regarding tape storage, different tracks and tape sections used the information can also be subdivided.

Da eine Magnetplatte oder ein Magnetband gegenüber einem Hauptspeicher sehr viel mehr Zeit zum Auffinden der Information erfordert, muß die Speicherung der aufzusuchenden Datensätze so getroffen werden, daß dieser Zeitaufwand auf das geringstmögliche Maß reduziert wird. Dies führt jedoch zu Problemen, wenn nur spärliche Kennzeichnungshinweise hinsichtlich der Datensätze vorhanden sind. Soll beispielsweise ein Angestellter auf Grund seiner Sozialversicherungsnummer in einer Datenbank aufgesucht werden, so tritt im allgemeinen eine Diskrepanz zwischen der Beschäftigtenzahl in einem Unternehmen und der Anzahl der sozialversicherten Personen auf. Zum Beispiel weist ein Unternehmen lediglich einige wenige bis 10.000 Personen auf, während die Sozialversicherungsnummer für etliche Millionen Personen vorgesehen ist. Es hat sich somit herausgestellt, daß ein Mechanismus, welcher den Kennzeichnungshinweis, z. B. die Sozialversicherungsnummer benutzt, um den endgültigen Speicherort,t z. B. die Seitennummer zu bestimmen, den Bedürfnissen am besten entspricht. Dieser Mechanismus setzt notwendigerweise voraus, daß die tatsächliche Verteilung der Datensätze auf einer SeiteSince a magnetic disk or a magnetic tape requires much more time to find the information than a main memory, the data records to be searched for must be stored in such a way that this expenditure of time is reduced to the lowest possible level. However, this leads to problems if there are only sparse labeling instructions with regard to the data records. For example, if an employee is to be searched for in a database on the basis of his or her social security number, there is generally a discrepancy between the number of employees in a company and the number of people with social security. For example, a company has only a few to 10,000 people, while the social security number is intended for several million people. It has thus been found that a mechanism which the labeling information, e.g. B. the social security number used to determine the final location, t z. B. Determine the page number that best suits your needs. This mechanism necessarily assumes that the actual distribution of the records on a page

509825/0946509825/0946

stochastisch erfolgt, d. h. daß gewisse Seiten innerhalb der Datei nicht eine wesentlich größere Anzahl von Datensätzen gegenüber einer anderen Seite aufweisen.occurs stochastically, d. H. that certain pages within the File does not have a much larger number of records have opposite another side.

Während eine flache Verteilungshäufigkeit, z. B. eine solche, bei der eine identische Anzahl von Datensätzen auf jeder Seite gespeichert ist, nur auf Grund einer sehr speziellen Berechnung erzielbar ist, hat es sich herausgestellt, daß eine Poisson-Verteilung für Speicherzwecke ausreichend ist. Es wurde empirisch festgestellt, daß ein stochastisches Verfahren, welches diese Poisson-Verteilung ergibt, für sekundäre Speicherzwecke annehmbar ist. ·While a flat frequency of distribution, e.g. B. one with an identical number of records on each page is stored, can only be achieved on the basis of a very special calculation, it has been found that a Poisson distribution is sufficient for storage purposes. It has been empirically found that a stochastic process which this Poisson distribution results, acceptable for secondary storage purposes is. ·

Hinsichtlich der Verwirklichung des für den Erhalt einer Poisson-Verteilung erforderlichen stochastischen Merkmales, ist festgestellt worden, daß erfahrungsgemäß der Gebrauch der Bit-Positionen innerhalb von Datenwörtern nicht gleichmäßig erfolgt. Die niederen Bit-Positionen eines Datenwortes zeichnen sich durch einen höheren Benutzungsgrad aus. Die Wahrscheinlichkeit, daß ■ sich die verwendeten Zahlen verkleinern, ist gering. Bei der vorliegenden Erfindung werden diese experimentell gefundenen Resultate dazu benutzt, ein stochastisches Verfahren anzugeben, welches durch Mischen des hohen Benutzungsgrades eine gute Verteilung ergibt. Dies wird verwirklicht durch Verschieben der Kennzeichnungsnummer des Datensatzes derart, daß jene1Bit-Positionen des Wortes, die einen hohen Benutzungsgrad aufweisen, mit denjenigen Bit-Positionen des Wortes, die einen niedrigen Benutzungsgrad aufweisen, zu einer gemeinsamen Zahl kombiniert werden.With regard to the implementation of the stochastic feature required to obtain a Poisson distribution, it has been found that experience has shown that the use of the bit positions within data words does not take place uniformly. The lower bit positions of a data word are characterized by a higher degree of utilization. The probability that the numbers used will decrease is low. In the present invention, these experimentally found results are used to specify a stochastic method which gives a good distribution by mixing the high degree of utilization. This is accomplished by shifting the identification number of the data set so that those 1- bit positions of the word which have a high degree of usage are combined into a common number with those bit positions of the word which have a low degree of usage.

Zusätzlich zu den oben genannten Umständen wurde erkannt, daß die Kennzeichnungsnummer des Wortes irgendeine Größe aufweisen kann. Zum Beispiel ist eine Ängestelltennummer gewöhnlich sehr viel kleiner, als die Sozialversicherungsnummer. Bei jederIn addition to the above circumstances, it has been recognized that the tag numbers of the word are of some size can. For example, an employee number is usually very much smaller than the social security number. With everyone

509825/0946509825/0946

individuellen Anwendung kann die Kennzeichnungsnummer in einer Weise ausgedrückt werden, die dem individue'llen Anwendungszweck angemessen ist.individual application, the identification number can be expressed in a way that suits the individue'llen application purpose is appropriate.

Gemäß Figur la ist ein Befehl 100 dargestellt, welcher die Entwicklung einer Kennschlüssel-Adresse für direkten Zugriff gemäß der Erfindung ermöglicht. In dem Befehl 1OQ stellen die ersten 8 Bit einen Operationscode OP dar. Der Operationscode ist das hochrangigste Byte eines Befehls und wird benutzt, um einen besonderen Befehl zu kennzeichnen. Im vorliegenden Fall kennzeichnet der Operationscode einen Kontrollbefehl ("Hash"-Befehl). Unter einem Kontrollbefehl sei ein Befehl verstanden, der die zufällige Wiederauffindung von etwas bereits Bekanntem ermöglicht. Die nächsten 4 Bits, d. h. die Bits 8 bis 11 bestimmen ein allgemeines Register GR des Datenprocessors, welches eine dem Befehl zugeordnete Information enthält. Bei der vorliegenden Verwendung enthält das allgemeine Register eine Konstante, welche geeignet ist, eine günstige Verteilung zu erzeugen. Die Bits 12 bis 31 kennzeichnen eine Adressensilbe, welche eine logische Darstellung der Adresse des Operanden verkörpert. Dieser Operand kann beispielsweise die Kennzeichnungszahl eines aufzusuchenden Datensatzes sein.According to Figure la, a command 100 is shown, which the development of a key address for direct access made possible according to the invention. The first 8 bits in the instruction 1OQ represent an operation code OP. The operation code is the most significant byte of a command and is used to identify a special command. In the present case the operation code identifies a control command ("hash" command). A control command is understood to be a command which enables the accidental retrieval of something already known. The next 4 bits, i.e. H. bits 8 to 11 determine a general register GR of the data processor, which contains information assigned to the command. With the present When used, the general register contains a constant which is suitable for generating a favorable distribution. Bits 12 through 31 identify an address syllable which is a logical representation of the address of the operand. This operand can, for example, be the identification number of a data record to be searched for.

Der Befehl 100 verweist auf einen Daten-Descriptor, welcher in Form der in den Figuren Ib bis Id dargestellten Descriptoren 102, 104 und 106 vorliegen kann. Der Daten-Descriptor stellt eine effektive Adresse dar und besitzt einen Hinweisteil in seinen ersten beiden Bit-Speicherstellen. Im vorliegenden Fall weist dieser Hinweisteil den Code 01 auf, welcher darauf verweist, daß ein ein erweiterter Datenfeld-Descriptor zu verwenden ist. Dieser erweiterte Datenfeld-Descriptor liegt in Form des Wortes 108 gemäß Figur Ie vor. Das Wort 108 enthält die Kennzeichnung des Datensatzes betreffende Informationen. Die Daten-The command 100 refers to a data descriptor, which in Form of the descriptors shown in Figures Ib to Id 102, 104 and 106 may be present. The data descriptor represents an effective address and has a hint part in its first two bit storage locations. In the present case, this reference part has the code 01, which refers to that an extended data field descriptor is to be used. This extended data field descriptor is in the form of the Word 108 according to Figure Ie. The word 108 contains the designation information relating to the data set. The data-

509825/0946509825/0946

Descriptoren 102, 104 und 106 enthalten in den verbleibenden Bit-Stellen weitere Informationen, welche auf Tabellen verweisen und die absolute Adresse des Operanden, z. B. des zu bestimmenden Datensatzes^ entwickeln. Die Adressilbe AS des Befehls 100 wird so entwickelt, daß zwei Worte aufgefunden werden, z. B. eines der VJorte 102 bis 106 und das Wort 108. Eines der Worte. 102 bis 106 wird benutzt, um den Operanden zu bestimmen und das Wort 108 beschreibt die Merkmale dieses Operanden, wie nachstehend ersichtlich wird.Descriptors 102, 104 and 106 included in the remaining Bit positions further information, which refer to tables and the absolute address of the operand, e.g. B. the to defining data set ^ develop. The address syllable AS des Instruction 100 is developed to match two words, e.g. B. one of the VJorte 102 to 106 and the word 108. One of the words. 102-106 is used to determine the operand and word 108 describes the characteristics of this Operands, as will be seen below.

Im Wort 108 kennzeichnen die Bits 32 bis 34 eine Bit-Zeichenfolge, welche dem Benutzer die Möglichkeit bietet, die Information seiner Dateien in Form von Bit-Zeichenfolgen dicht zu packen. Das Bit 35 muß immer 0 sein und spielt im Zusammenhang mit der vorliegenden Erfindung keine Rolle. Die Bits 36 bis 38 geben eine Feldanordnung an, und das Bit 39 verweist auf ein Veränderbarkeits-Anzeige-Bit, welches im Zusammenhang mit der vorliegenden Erfindung ebenfalls keine Anwendung findet.In word 108, bits 32 to 34 identify a bit string, which offers the user the possibility of packing the information of his files tightly in the form of bit strings. Bit 35 must always be 0 and is irrelevant in connection with the present invention. Enter bits 36 to 38 an array, and bit 39 refers to a changeability indicator bit, which is also not used in connection with the present invention.

Die Bits 40 bis 63 des Wortes 108 bestimmen diejenigen Teile der Datenfeld-Descirptoren, welche die Merkmale des Operanden in der Datenbank beschreiben. Insbesondere bestimmen die Bits 40 bis 47 den Datentyp des Operanden. Der Datentyp ist eine Beschreibung gewisser Merkmale des von dem Benutzer vorgesehenen Informationsformates. Zum Beispiel können in dem 8-Bit-Datentyp-Feld die folgenden Codes mit folgender Bedeutung benutzt werden: Ein Binärcode von 0000 0000 verweist auf eine alphanumerische Zeichenfolge, ein Binärcode von 0000 0001 kennzeichnet eine ungepackte Dezimalzahl und ein Binärcode von 0000 0010 verweist auf eine gepackte Dezimalzahl. Es ist festgestellt.worden, daß 90 bis 95 % der Datensatz-Bestimmungsmerkmale,, z. B. der Kennzeichnungshinweise,sich aus den vorstehend genannten Datenfeld-Typen ergeben. Als Folge hiervon sollen andere Darstellungen des Informationsformates, wie sie durch den Benutzer vorgesehen werden, durch das Bits 40 to 63 of word 108 determine those parts of the Data field descirptors, which describe the characteristics of the operand in the database. In particular, bits 40 through 47 determine the data type of the operand. The data type is a description of certain characteristics of the information format intended by the user. For example, in the 8-bit data type field, the The following codes can be used with the following meanings: A binary code from 0000 0000 refers to an alphanumeric string, a binary code of 0000 0001 indicates an unpacked decimal number and a binary code of 0000 0010 indicates an packed decimal number. It has been found that 90 to 95% the data record determinants ,, z. B. the labeling information result from the aforementioned data field types. As a result, other representations of the information format, as provided by the user, should be replaced by the

509825/0946509825/0946

hier beschriebene System nicht behandelt werden. Die Datentyp-Codierungen von 0000 1010 bis 1000 0000 zeigen eine illegale Datentyp-Codierung an,und die Datentyp-Codierungen 1000 0000 bis 1111 1111 kennzeichnen Datentypen, welche'für andere Anwehdungszwecke verfügbar sind.system described here are not covered. The data type encodings from 0000 1010 to 1000 0000 indicate an illegal data type coding, and the data type coding 1000 0000 to 1111 1111 identify data types which are used for other purposes Are available.

Die Bits 48 bis 55 bestimmen das Kennschlüsselfeld des Operanden. Das Kennschlüsnelfeld beschreibt gewisse Merkmale eines bestimmten Datentypes, ζ. B. das Datentyp-Format des Operanden. Das Kennschlüsselfeld stellt somit eine zweite überlagerung von Anforderungen an den Datentyp dar. In der vorliegenden Situation, wo der Kennzeichnungsteil des Datensatzes die Adresse des Speicherplatzes des gesuchten besonderen Datensatzes erzeugt, wird der Kennschlüssel-Datenfeld-Descripto-r nicht benutzt.Bits 48 to 55 determine the code field of the operand. The key field describes certain features of a particular one Data type, ζ. B. the data type format of the operand. That The code field thus represents a second overlay of requirements for the data type. In the present situation, where the identification part of the record is the address of the storage location of the particular data record sought is generated, the identification key data field descriptor is not used.

Die Bits 56 bis 63 des Wortes 108 stellen eine 8-Bit-Längenbeschreibung des aufzusuchenden Operanden dar. Insbesondere bestimmt das Längenfeld die Anzahl der Bytes, die der Operand aufweist. Die Länge des Operanden kann beim Vorliegen einer Byte-Zeichenfolge kleiner oder gleich 256 Bytes sein. Im vor- . liegenden Fall wird die, durch den Kontrollbefehl ausgelöste Operation immer auf Grund einer Byte-Zeichenfolge durchgeführt, so daß für den Fall, daß die Operandenlänge diese Grenze überschreitet, eine illegale Datenausnahme vorliegt.Bits 56 through 63 of word 108 provide an 8-bit length description of the operand to be looked up. In particular, the length field determines the number of bytes that the operand contains having. If a byte string is present, the length of the operand can be less than or equal to 256 bytes. In the fore. lying case becomes the one triggered by the control order The operation is always carried out on the basis of a byte string so that in the event that the operand length exceeds this limit, there is an illegal data exception.

Die Wirkungsweise des in Figur la dargestellten Befehls 100, sowie der sich aus der Adresse des Befehls 100 ergebenden Daten-Descriptoren gemäß Figur Ie kann besser verstanden werden, wenn das Blockdiagramm gemäß Figur 2 zugrunde gelegt wird, welches ein Datenverarbeitungs-Hardwaresystem darstellt, das von der Erfindung Gebrauch macht.The mode of operation of the command 100 shown in FIG. 1 a, as well as the data descriptors resulting from the address of the command 100 according to Figure Ie can be better understood if the block diagram of Figure 2 is used as a basis, which Figure 3 illustrates a data processing hardware system making use of the invention.

Gemäß Figur 2 besteht ein Hauptspeicher 201 aus 4 Modulen eines Metalloxyd-HalbleiterspeiGhers (MOS). Die 4 Speichermodule 0 bis 3 sind über einen Hauptspeicher-Sortierer 202 an die Zentral-According to FIG. 2, a main memory 201 consists of 4 modules of a metal oxide semiconductor memory (MOS). The 4 memory modules 0 to 3 are via a main memory sorter 202 to the central

509825/0946509825/0946

einheit 200 angeschlossen. Die 4 Hauptspeichermodule 0 bis 3 sind weiterhin über den Hauptspeicher-Sortierer 202 und ein Eingang/Ausgang-Steuerwerk 220 (IOC) an ein peripheres Untersystem angeschlossen, welches beispielsweise aus Magnetbandeinheiten und Plattenspeicher-Antriebseinheiten besteht. Der Hauptspeicher-Sortierer 202 bietet die Möglichkeit des Zugriffs zu allen 4 Haüptspeichermodulen und zur Steuerung derselben. Da der Betrieb des Hauptspeicher-Sortierers 202 mit dem zyklischen Durchlauf des Hauptspeichers überlappen kann, können zu jedem gegebenen Zeitpunkt mehr als ein Speichermodul 0 bis 3 zyklisch durchlaufen werden. Die Zentraleinheit 200 (CPU) und ein Pufferspeicher 204 sowie das Eingang/Ausgang-Steuerwerk 220 (IOC) können bei jeder Speicher-Bezugnahme ein Doppelwort (8 Bytes) verarbeiten. Jedoch werden bei einem Speicherzugriff der Zentraleinheit entweder die 4 hochrangigen Bytes oder die 4 niedrigrangigen Bytes ausgewählt, so daß lediglich 4 Bytes der Information von der Zentraleinheit 200 aufgenommen werden. Die Operationen der Zentraleinheit werden durch einen Festwertspeicher ROM gesteuert, der nachfolgend als Steuerspeichereinheit 210 bezeichnet ist. Jeder Speicherplatz des SteuerSpeichers 210 kann zur Steuerung eines Zentraleinheit-Zyklus herangezogen werden. Beim Auslesen eines jeden Speicherplatzes der SteuerSpeichereinheit 210 wird der entsprechende Informationsinhalt durch eine Mikrooperation-Decodierfunktion decodiert. Jede Mikrooperation-Decodierfunktion veranlasst die Zentraleinheit zur Ausführung einer spezifischen Operation. Werden beispielsweise die Daten-Bits 1, 2 und 3 mit 010 ausgelesen und decodiert, so lösen sie eine Mikrooperation-Decodierfunktion aus, welche die Verschiebung des Inhalts eines Α-Registers nach einem B-Register zur Folge hat. Da jeder Speicherplatz der Steuerspeichereinheit 210 30 bis Bits enthalten kann, können bei jedem Steuerspeicherzyklus eine Vielzahl von Mikrooperation-Decodierfunktionen ausgelöst werden.unit 200 connected. The 4 main memory modules 0 to 3 are still via the main memory sorter 202 and a Input / output controller 220 (IOC) to a peripheral subsystem connected, which consists for example of magnetic tape units and disk drive units. Of the Main memory sorter 202 offers the possibility of accessing and controlling all 4 main memory modules. Since the operation of the main memory sorter 202 may overlap with the cycling of the main memory, each at a given point in time, more than one memory module 0 to 3 can be cycled through. The central processing unit 200 (CPU) and a buffer memory 204 and the input / output control unit 220 (IOC) can use a double word (8 bytes) for each memory reference. to process. However, the central unit either the 4 high order bytes or the 4 low order bytes are selected, leaving only 4 bytes of information can be received by the central processing unit 200. The operations of the central processing unit are stored in a read-only memory ROM controlled, hereinafter referred to as control storage unit 210 is. Each memory location of the control memory 210 can can be used to control a central unit cycle. When reading out each memory location of the control memory unit 210 the corresponding information content is decoded by a micro-operation decoding function. Any micro-operation decoding function causes the central processing unit to carry out a specific operation. For example, the data bits 1, 2 and 3 are read out and decoded with 010, they trigger a micro-operation decoding function which does the shifting of the content of a Α-register after a B-register. Since each storage location of the control storage unit 210 is 30 to May contain bits, a variety of micro-operation decode functions can be initiated on each control store cycle.

50 9825/094650 9825/0946

Durch gruppenweise Anordnung von Speicherplätzen können Schrittfolgen des Steuerspeichers erzielt v/erden, durch die eine bestimmte Operation oder ein Befehl hinsichtlich der Zentraleinheit ausgeführt wird. Da jeder Befehl durch die Zentraleinheit 200 ausgelöst wird, können gewisse Bits innerhalb des Operationscodes herangezogen werden, um die Startfolge des Steuerspeicherε zu bestimmen. Die Überprüfung bestimmter, nicht dargestellter Flip Flops, welche durch eine Befehls-Decodierfunktion gesetzt oder zurückgestellt werden, gestattet dem Steuerspeicher, erforderlichenfalls, eine Verzweigung nach einer spezifischeren Schrittfolge. By arranging storage locations in groups, steps can be made of the control memory is achieved by means of a specific operation or command with respect to the central unit is performed. Since each command is sent by the central processing unit 200 is triggered, certain bits within the operation code can be used to determine the start sequence of the control store to determine. The checking of certain flip-flops, not shown, which are set by a command decoding function or reset, allows the tax store, if necessary, a branch to a more specific sequence of steps.

Der Steuerspeicher-Schnittstellenadapter 209 steht zwecks Steuerung der Operation des Steuerspeichers mit der Steuerspeichereinheit 210, der Datenverwaltungseinheit 206, der Adressensteuereinheit 207 und dem arithmetischen Rechenwerk 212 in Nachrichtenverbindung. Der Steuerspeicher-Schnittstellenadapter 209 weist Logikschaltkreise für eine Steuerspeicher-Adressenmodifikation, zum Testen, zur Fehlerprüfung und für eine Hardware-Adressenerzeugung auf. Eine Hardware-Adressenerzeugung wird im allgemeinen benutzt, um die Startadresse von Fehlerfolgen oder für eine Anfangsschrittfolge zu entwickeln.The control store interface adapter 209 is available for control the operation of the control memory with the control memory unit 210, the data management unit 206, the address control unit 207 and the arithmetic unit 212 in communication. The control store interface adapter 209 has Logic circuits for a control store address modification, for testing, for error checking and for a hardware address generation on. Hardware address generation is generally used used to develop the start address of error sequences or for an initial sequence of steps.

Der Pufferspeicher 204 wird benutzt, um die zuvor bei der Verarbeitung durch die Zentraleinheit 200 am häufigsten benutzte Information zu speichern. Der Pufferspeicher ist verhältnismäßig klein, weist eine sehr hohe Arbeitsgeschwindigkeit auf und enthält 128 Spalten und 2 Zeilen, wobei die beiden Zeilen nach- t folgend als obere und untere Zeile bezeichnet seien. Der Pufferspeicher ist logisch in Voreinstellblöcke unterteilt, welche eindeutig adressierbar sind. Diese Blöcke sind mit Seiten bezeichnet und jede Speicher sei te enthält 3.2 Bytes Information. Eine besondere Seite kann durch die signifikantesten 16 Bits derThe buffer memory 204 is used to store the information previously most frequently used in the processing by the central processing unit 200. The buffer memory is relatively small, has a very high operating speed and includes 128 columns and 2 rows, the two rows neighboring t the following as the upper and lower line are indicated. The buffer memory is logically divided into preset blocks, which can be uniquely addressed. These blocks are labeled pages and each memory page contains 3.2 bytes of information. A particular page can be represented by the most significant 16 bits of the

509825/0946509825/0946

-η.-η.

Hauptspeicheradresse adressiert werden, wobei die 5 am wenigsten signifikanten Bits benutzt werden, um ein besonderes Byte der Information innerhalb der Seite zu adressieren. Die Seiten können von dem Hauptspeicher nach dem Pufferspeicher übertragen werden, wobei eine feste Spaltenzuordnung aufrecht erhalten wird, z. B. wird eine Seite aus Spalte 1 im Hauptspeicher immer in die SpalteMain memory addresses are addressed, with the 5 being the least significant bits are used to represent a special byte of the Address information within the page. The pages can be transferred from the main memory to the buffer memory, a fixed column assignment is maintained, e.g. B. a page from column 1 in main memory is always in the column

1 des Pufferspeichers übertragen. Die Entscheidung jedoch, ob die Information in der oberen oder unteren Zeile der Spalte abgelegt wird, hängt von der Verfügbarkeit ab. So sind für jede Spalte der Hauptspeicherseiten 2 Seiten im Pufferspeicher vorgesehen. Beirspielsweise kann die Spalte 37 im Hauptspeicher irgendeine von1 of the buffer memory. The decision, however, whether the information should be stored in the top or bottom row of the column depends on availability. Two pages are provided in the buffer memory for each column of the main memory pages. For example column 37 in main memory can be any of

2 Informationsseiten in' Spalte 37 des Pufferspeichers enthalten. Die 2 in der Spalte des Pufferspeichers enthaltenen Informationsseiten hängen zu jedem gegebenen Zeitpunkt davon ab, welche Seiten zuvor von der Zentraleinheit am meisten benutzt wurden, d. h. die beiden zuvor am häufigsten benutzten Seiten befinden sich typischerweise in dem Pufferspeicher 204. 2 pages of information contained in 'column 37 of the buffer memory. The 2 pages of information contained in the buffer column depend on which pages at any given time have previously been widely used by the central unit, d. H. the two most frequently used pages previously are typically in buffer memory 204.

Ob sich eine vorgegebene Informationsseite in dem Pufferspeicher 204 befindet, kann lediglich durch Prüfung des Inhalts der Pufferspeicher-Adressliste 205 festgestellt werden. Die Pufferspeicher-Adressliste ist in der gleichen Weise wie der Pufferspeicher logisch unterteilt, wobei jedoch jede Spalte der Pufferspeicher-Adressliste 205 anstelle von Informationsseiten die Hauptspeicher-Zeilenadresse der zugeordneten Information in dem Pufferspeicher 204 enthält. Enthält beispielsweise die Spalte 0 des Pufferspeichers 204 die Seite 20 in der unteren Zeile und die Seite 0 in der oberen Zeile, so weist die Puff er speicher-? Adressiis te in der unteren und oberen Zeile entsprechend die Codierungen 10100 und 00000 auf. Somit kann die Zentraleinheit 200 durch Zugriff der Pufferspeicher-Adressliste 205 mit der Spaltennummer und durch Vergleich der geforderten Zeilennummer mit der am Speicherplatz der Pufferspeicher-Adressliste abgespeicherten Zeilennummer feststellen, ob eine vorgegebene Seite im Pufferspeicher enthalten ist.Whether a predetermined information page is in the buffer memory 204 can only be determined by checking the contents of the buffer memory address list 205. The buffer address list is logically divided in the same way as the buffer memory, but each column of the buffer memory address list 205 contains the main memory row address of the associated information in the buffer memory 204 instead of information pages. For example, if column 0 of buffer 204 contains page 20 in the bottom line and page 0 in the top line, then the buffer has memory? Addresses in the lower and upper lines have the codes 10100 and 00000 accordingly. Thus, by accessing the buffer memory address list 205 with the column number and by comparing the required line number with the line number stored in the memory location of the buffer memory address list, the central processing unit 200 can determine whether a specified page is contained in the buffer memory.

509825/0946509825/0946

Die Datenverwaltungseinheit 206 stellt die Daten-Schnittstelle zwischen der Zentraleinheit 200 und dem Hauptspeicher 301 und/ oder Pufferspeicher 204 dar. Während einer Speicher-Leseoperation kann aus dem Hauptspeicher oder Pufferspeicher Information herausgelesen werden. Es liegt in der Verantwortlichkeit der Datenverwaltungseinheit 206 die Information in die Register der Zentraleinheit zum geeigneten Zeitpunkt zu verteilen. Die Datenverwaltungseinheit 206 übernimmt weiterhin die Ausblendung während partieller Schreiboperationen.The data management unit 206 provides the data interface between the central processing unit 200 and the main memory 301 and / or buffer memory 204. During a memory read operation information can be read from the main memory or buffer memory. It is the responsibility of the data management unit 206 to distribute the information in the registers of the central processing unit at the appropriate time. The data management unit 206 continues to do the blanking during partial write operations.

Die Befehlabrufeinheit 208, welche mit.der Datenverwaltungseinheit 206, der Adressensteuereinheit 207, dem arithmetischen Rechenwerk 212 und der Steuerspeichereinheit 210 zusammenarbeitet, ist für die Versorgung der Zentraleinheit 200 mit Befehlen verantwortlich. Die Befehlabrufeinheit 208 ist bestrebt, den nächsten Eefehl in ihre Register hereinzunehmen, bevor der gerade vorliegende Befehl fertig bearbeitet ist. Um diese Fähigkeit zu besitzen, ist die Befehlabrufeinheit 208 mit einem 12-Wort-Befehlsregister ausge- . stattet, welches normalerweise mehr als einen Befehl aufnehmen kann. Zudem fordert die Befehlabrufeinheit 208, gesteuert durch den Steuerspeicher 210, Befehle von dem Hauptspeicher 201 an, bevor dieser Befehl tatsächlich benötigt wird, wodurch das 12-Wort-Befehlsregister fortlaufend ergänzt wird. Die Befehle v/erden mittels normalerweise ungenutzter Speicherzyklen abgerufen. Die Befehlabrufeinheit 208 decodiert jeden Befehl und informiert die anderen Einheiten über die Länge und das Format des Befehls.The command fetch unit 208, which with the data management unit 206, the address control unit 207, the arithmetic unit 212 and the control storage unit 210 cooperate is for is responsible for supplying the central unit 200 with commands. The instruction fetch unit 208 seeks to receive the next einstruction in take their registers in before the current instruction is finished. To have this ability is that Instruction fetch unit 208 equipped with a 12 word instruction register. which can normally accommodate more than one command. In addition, the instruction fetch unit 208 requests, under the control of the control memory 210, commands from the main memory 201, before this instruction is actually needed, which creates the 12 word instruction register is continuously updated. The instructions are fetched using normally unused memory cycles. the Instruction fetch unit 208 decodes and informs each instruction other units about the length and format of the command.

Die Adressensteuereinheit 207 steht über den Steuerspeicher-Schnittstellenadapter 209 mit der Befehlabrufeinheit 208, der Pufferspeicher-Adressliste 205, dem Hauptspeicher-Sortierer 202, dem arithmetischen Rechenwerk 212, der Datenverwaltungseinheit 206 und der Steuerspeichereinheit 210 in Nachrichtenverbindung. Die Adressensteuereinheit 207 ist für jegliche AdressentwicklungThe address control unit 207 is above the control store interface adapter 209 with the instruction fetch unit 208, the buffer memory address list 205, the main memory sorter 202, the arithmetic arithmetic unit 212, the data management unit 206 and the control storage unit 210 in communication. The address control unit 207 is for any address development

509825/0946509825/0946

innerhalb der Zentraleinheit verantwortlich. Alle Operationen der Adressensteuereinheit werden durch Steuerspeicher-Mikrobefehle und Logikschaltkreise innerhalb der Einheit ausgeführt. Die normale Arbeitsweise der Adressensteuereinheit hängt mehr von der Art der Adressen des Befehls, als von der Art des Befehls selbst ab. In Abhängigkeit von dem Adressentyp kann die Adressensteuereinheit verschiedene Operationen für jede Adresse eines Befehls ausführen. ·responsible within the central unit. All operations of the address control unit are controlled by control store microinstructions and logic circuits carried out within the unit. The normal operation of the address controller is more dependent on the type of addresses of the command than on the type of command itself. Depending on the address type, the Address control unit can perform different operations for each address of an instruction. ·

Die Adressensteuereinheit 207 enthält weiter einen Assoziativspeicher, der typischerweise die Basisadresse der 8 zuvor am " . häufigsten benutzten Speichersegmente zusammen mit ihren Segmentnummern speichert. Jedesmal, wenn eine Speicheranforderung erfolgt, wird die Segmentnummer mit dem Inhalt des Assoziativspeiehers verglichen, um festzustellen, ob die Basisadresse des Seg- ■ mentes.bereits entwickelt und gespeichert ist. Wenn die Basisadresse in dem Assoziativspeicher enthalten ist, so wird diese Adresse bei der absoluten Adressentwicklung benutzt und es wird ein beträchtlicher Zeitbetrag eingespart.The address control unit 207 further contains an associative memory, which is typically the base address of the 8 previously most frequently used memory segments along with their segment numbers saves. Every time a memory request is made, the segment number is stored with the contents of the associative memory compared to see if the base address of the Seg- ■ mentes. is already developed and saved. If the base address is contained in the associative memory, this address is used in the absolute address expansion and it becomes saved a considerable amount of time.

Ist die Basisadresse in dem Assoziativspeicher nicht enthalten, so wird sie durch Zugriff zu den Hauptspeicher-Tabellen entwickelt.' Nachdem die Basisadresse des Segmentes entwickelt ist, wird sie zusammen mit der Segmentnummer für eine spätere Bezugnahme in den Assoziativspeicher eingespeichert. -If the base address is not contained in the associative memory, it is developed by accessing the main memory tables. ' After the segment's base address is developed, it is stored along with the segment number for later reference stored in the associative memory. -

Mit der Adressensteuereinheit 207, der Befehlabrufeinheit 208 und der Steuerspeichereinheit 210 ist die arithmetische Recheneinheit 212 verbunden, welche den primären Arbeitsbereich der Zentraleinheit 200 darstellt. Die Grundfunktion der arithmetischen Recheneinheit 212 besteht in der Ausführung der arithmetischen Operationen und der von der Zentraleinheit geforderten Datenmanipulationen. Die Operationen, der arithmetischen Recheneinheit 212 erfolgen in vollständiger Abhängigkeit von Mikrobefehlen der SteuerSpeichereinheit 210.With the address control unit 207, the command fetch unit 208 and the control storage unit 210 is connected to the arithmetic processing unit 212, which is the primary work area of the Central processing unit 200 represents. The basic function of the arithmetic Computing unit 212 consists in carrying out the arithmetic operations and the data manipulations required by the central unit. The operations of the arithmetic processing unit 212 are completely dependent on the microinstructions of the Control storage unit 210.

5 0 9 8 2 570 9 A 65 0 9 8 2 570 9 A 6

Der arithmetischen Recheneinheit 212 und der Stcuerspeichereinheit 210 ist eine interne Speichereinheit 211 zugeordnet, welche aus einem 256-Speicherplatz-Festkörperspeicher und den entsprechenden Anwahl- und Schreib/Lese-Logikschaltkreisen für den Speicher bestehen kann. Der interne Speicher 211 v/ird benutzt, um die Steuer- und Verfügbarkeitsinformation der Zentraleinheit zu' speichern. Der interne Speicher 211 enthält ferner Arbeits-Speicherplätze/ welche primär für die temporäre Speicherung von Operanden und von Teilresultaten während der Datenmanipulation benutzt werden.The arithmetic processing unit 212 and the control storage unit 210 is assigned an internal storage unit 211, which consists of a 256-space solid-state memory and the corresponding selection and read / write logic circuits for the memory can exist. The internal memory 211 is used to save the control and availability information of the central unit. The internal memory 211 also contains Work memory locations / which are primarily for the temporary storage of operands and partial results during data manipulation to be used.

Die Zentraleinheit 200 enthält typischerweise 8 Basisregister, welche in dem arithmetischen Rechenwerk 212 angeordnet sind und welche bei dem Verfahren der Adressberechnung benutzt werden, um eine Segmentnummer, einen Offset und eine Ringnummer zu bestimmen. Der Offset ist ein Hinweis innerhalb des Segmentes und die Ringnummer wird benutzt bei der Adressen-Gültigkeitsberechnung, um die Zugriffsrechte bei einer besonderen Bezugnahme auf ' ein Segment zu bestimmen.The central unit 200 typically contains 8 base registers which are arranged in the arithmetic unit 212 and which are used in the address calculation method to determine a segment number, an offset and a ring number. The offset is an indication within the segment and the ring number is used in the address validity calculation to determine the access rights for a special reference to ' to determine a segment.

Das Eingang/Ausgang-Steuerwerk 220 stellt denjenigen Teil des Datenverarbeitungssystems .dar, der einen Datenweg zwischen einer Anzahl peripherer Untersysteme und dem Hauptspeicher herstellt. Das Steuerwerk stellt die Nachrichtenverbindung her, über die periphere Befehle ausgelöst werden und es steuert die daraus resultierende Datenübertragung. Das Eingang/Ausgang-Steuerwerk kann maximal 16 Kanal-Steuereinheiten bearbeiten und jede Kanal-Steuereinheit kann auf eine periphere Steuereinheit einwirken. Die peripheren Steuereinheiten versorgen die Zentraleinheit mit den Dateien der Benutzer.The input / output control unit 220 represents that part of the data processing system .dar that provides a data path between a Number of peripheral subsystems and the main memory. The control unit establishes the communication link via which peripheral commands are triggered and it controls them resulting data transfer. The input / output control unit can process a maximum of 16 channel control units and each channel control unit can act on a peripheral control unit. The peripheral control units also supply the central unit the files of the users.

Gemäß Figur 3 ist ein Flußdiagramm dargestellt, aus welchem die allgemeinen Regeln für eine Benutzung des Kontrollbefehls und des Datenfeld-Descriptors gemäß Figur 1 hervorgehen. Wird Figur 3 inAccording to Figure 3, a flow chart is shown from which the general rules for using the control command and the data field descriptor according to FIG. 1 emerge. Will figure 3 in

50 98 25/094650 98 25/0946

Zusammenhang mit den Figuren 2, 4 und 5 gelesen, so wird die Gesamtwirkungsweise des Datenverarbeitungssystems verständlich. Figur 4 ist ein schematisches Diagramm, welches die Übertragungen, und die Manipulationen des Datenfeld-Descriptors gemäß Figur 3 und der Kontrolloperation gemäß Figur 5 in der Systemebene veranschaulicht. Figur 5 stellt ein Flußdiagramm der allgemeinen Regeln hinsichtlich der Benutzung des Kontrollbefehls dar.Read in connection with Figures 2, 4 and 5, the Overall operation of the data processing system understandable. Figure 4 is a schematic diagram showing the transmissions, and illustrates the manipulations of the data field descriptor according to FIG. 3 and the control operation according to FIG. 5 at the system level. FIG. 5 shows a flow chart of the general rules regarding the use of the control command.

Gemäß Figur 3 ist mit der Bezugsziffer 300 der Beginn der Operation hinsichtlich des Kontrollbefehls bezeichnet. Zu diesem Zeitpunkt ist der Befehl 100 gemäß Figur la in dem Befehlsregister 400 der Befehlabrufeinheit 208 gemäß Figur 4 eingespeichert. Der Operationscode wird durch den Steuerspeicher-Schnittstellenadapter 209 untersucht, der seinerseits die Steuerspeichereinheit 210 zur Ausführung einer Reihe von Tests hinsichtlich ausgewählter Bit-Felder des Befehls veranlasst. Diese Tests werden auf Grund von Mikrobefehlen durchgeführt, die durch die Steuerspeichereinheit 210 erzeugt werden. Die Ergebnisse dieser Tests können den Abruf des nächsten Mikrobefehls der" Steuerspeichereinheit 210 modifizieren, so daß ein'bezogener, den festgestellten Zustand beinhaltender, Mikrobefehl erzeugt wird. Es liegt auf der Hand, daß eine Mikro-Verzweigungstechnik angewandt werden kann, wobei die von dem Steuerspeicher-Schnittstellenadapter 209 empfangenen Signale in ein direktes Adressensignal der Steuerspeichereinheit 210 umgesetzt werden. Durch die sich daraus ergebende Operation wird ein direkter Leitungsweg für einen nachfolgenden Datentransfer hergestellt, wobei dem zuvor festgestellten Zustand Rechnung getragen wird. Die vorstehend erwähnte Ereignisfolge tritt hinsichtlich jeder Rautendarstellung in den Figuren 3 und 5 auf und wird nachstehend nicht näher beschrieben. .According to FIG. 3, the reference numeral 300 denotes the start of the operation with regard to the control command. To this Time is the command 100 according to Figure la in the command register 400 of the command retrieval unit 208 according to FIG. The opcode is provided by the control store interface adapter 209, which in turn examines the control storage unit 210 to perform a series of tests for selected bit fields of the command. These tests are performed on the basis of microinstructions generated by the Control storage unit 210 are generated. The results of these tests can lead to the fetching of the next microinstruction of the "control storage unit" 210 modify so that more involved, the determined State containing microinstruction is generated. It is obvious that a micro-branching technique was used with the signals received by the control store interface adapter 209 into a direct address signal the control storage unit 210 can be implemented. The resulting operation creates a direct path of conduction for a subsequent data transfer, taking into account the previously established state. The above The sequence of events mentioned occurs with respect to each diamond representation in Figures 3 and 5 and will not be discussed below described in more detail. .

Im Schritt 302 wird das Bit-Feld 11 auf das Vorhandensein des . Binärwertes "0" untersucht. Ist dieser Test erfolgreich, so wirdIn step 302, bit field 11 is checked for the presence of the. Binary value "0" examined. If this test is successful, then

509825/0946509825/0946

im Schritt 304 das Bit-Feld 12 auf das Vorhandensein des Binärwertes "1" untersucht. Die Schritte 302 und 304 werden gleichzeitig ausgeführt. Liegt- einer der in diesen Feldern geforderten Wette nicht vor, so wird im Schritt 306 eine illegale Formatfeld-Ausnahme hervorgerufen, welche die SteuerSpeichereinheit 210 zusammen mit dem Steuerspeicher-Schnittstellenadapter 209 zur ausführung einer Hardware-Ausnahmeroutine veranlasst. Dies wird durch eine Verzweigung in der, Steuerspeichereinheit 210 und das Anfügen einer Nachricht verwirklicht, wodurch die Art der aufgetretenen Ausnahme angezeigt wird.In step 304 the bit field 12 is examined for the presence of the binary value "1". Steps 302 and 304 become simultaneous executed. If one of the bets required in these fields is not present, an illegal format field exception is raised in step 306 caused, which the control storage unit 210 together caused by the control store interface adapter 209 to execute a hardware exception routine. this will Realized by a branch in the, control storage unit 210 and the appending of a message, whereby the nature of the occurred Exception is displayed.

Das Bit 11 weist den Binärwert "0" auf, wenn zwei allgemeine Register GR hinsichtlich des Befehls 100 gemäß Figur la gefordert werden. Weist das Bit 11 den Binärwert 11O" auf, so wird das nächste allgemeine Register GR benutzt, welches die gleichen ersten drei Bits und in der vierten Bit-Stelle den Binärwert "1" aufweist. Zwei allgemeine Register sind für einen Datenfeld-Descriptor erforderlich, da ein Register die, effektive Adresse, wie sie aus dem Befehl entwickelt wird, speichert und das zweite Register den erweiterten Daten-Descriptor gemäß Figur Ie speichert,Bit 11 has the binary value "0" if two general registers GR are required with regard to command 100 according to FIG. If bit 11 has the binary value 11 O ", the next general register GR is used, which has the same first three bits and the binary value" 1 "in the fourth bit position. Two general registers are required for a data field descriptor , since one register stores the effective address as it is developed from the instruction and the second register stores the extended data descriptor according to Figure Ie,

Durch das Bit-Feld 12 wird angegeben, ob hinsichtlich der Adressenentwicklung eine indirekte Adressierung mit der Adressensilbe gefordert wird. Im vorliegenden Beispiel wird das Bit-Feld 12 auf das Vorliegen des Binärwertes "1" untersucht, wodurch angezeigt wird, daß ein indirektes Adressierverfahren erforderlich ist. In diesem Zusammenhang muß die früher erwähnte Segment-Adressenentwicklung berücksichtigt werden, da diese die genauen, für die Entwicklung einer indirekten Adressilbe erforderlichen Regeln beschreibt. Bit field 12 indicates whether with regard to the address development indirect addressing with the address syllable is required. In the present example, the bit field 12 is on examines the presence of the binary value "1", which indicates that an indirect addressing method is required. In this context, the segment address development mentioned earlier must be taken into account, as these are the exact ones for which Development of an indirect address syllable describes the necessary rules.

Ist einmal festgestellt worden, daß ein erweiterter Daten-Descriptor zu entwickeln ist und .daß das indirekte Adressierverfahren gefordert wird, so wird der Schritt 308 gemäß Figur 3 ausgeführt.Once it has been established that an extended data descriptor is to be developed and that the indirect addressing process is required, step 308 according to FIG. 3 is carried out.

509-825/0946509-825 / 0946

Im Schritt 308 kann irgendein bekanntes indirektes Adressierverfahren Verwendung finden, wie es beispielsweise in dem US-Patent Nr. 3.412.382 beschrieben ist. Der· Vollständigkeit wegen , sei auf dieses bekannte indirekte Adressierverfahren kurz ' eingegangen.Any known indirect addressing technique may be used in step 308, such as that described in U.S. Patent No. 3,412,382. For the sake of completeness , this known indirect addressing method will be briefly discussed.

Im Schritt 308 wird also festgestellt, daß eine Adressenentwicklung mit der vorliegenden Adressilbe, d. h. mit den Bits 12 bis 31 des Befehls 100 ausgeführt werden soll. Die Adresssilbe wird dazu benutzt, einen Operanden im Speicher mittels eines Basisregisters zu bezeichnen. Die segmentierte effektive Adresse des Operanden wird aus dem Inhalt der Adressilbe und dem Inhalt des durch die Adressilbe bestimmten Basisregisters entwickelt. Ist die effektive Adresse einmal berechnet, so kennzeichnet sie das, den Datan-Descriptor aufweisende. Segment. Der Daten-Descriptor ist ein erstes Wort aus der Gruppe von Worten, wie sie in den Figuren Ic bis Ie dargestellt sind.In step 308 it is thus determined that an address development with the present address syllable, d. H. is to be executed with bits 12 to 31 of command 100. The address syllable is used to designate an operand in memory by means of a base register. The segmented effective The address of the operand is derived from the content of the address syllable and the content of the base register determined by the address syllable developed. Once the effective address has been calculated, it identifies that containing the data descriptor. Segment. The data descriptor is a first word from the group of words as shown in Figures Ic to Ie.

Das erste Wort des Daten-Descriptors besitzt ein Hinweisfeld mit den Bits 01, wodurch darauf verwiesen wird, daß der Daten-Descriptor nicht nur auf einen Operanden hinweist, sondern auch eine Länge aufweist, die größer als ein Wort ist. Dieses zusätzliche Wort, z. B. der erweiterte Daten-Descriptor 108, . beschreibt die Merkmale des Operanden, der durch das erste Wort bestimmt ist. . ...The first word of the data descriptor has a hint field with bits 01, which indicates that the data descriptor not only indicates an operand, but also has a length greater than a word. This additional word, e.g. B. the extended data descriptor 108,. describes the characteristics of the operand, which is replaced by the first word is determined. . ...

Das erste Wort des Datenfeld-Descriptors enthält eine auf den Speicherplatz des Segmentes (STN und STE) hinweisende Information, sowie eine relative Verschiebung, zum Hinweis, wo der Operand in dem Segment abgespeichert ist. Durch eine weitere Adressentwicklung über ein Basisregister wird sodann die absolute Adresse des Operanden berechnet und abgespeichert. Es sei darauf verwiesen, daß die tatsächliche Ilauptspeicheradresse durch die Verwendung von Tabellen auf die absolute Ilauptspeicheradresse bezogen ist.The first word of the data field descriptor contains a to the Storage space of the segment (STN and STE) indicating information, and a relative shift to indicate where the operand is stored in the segment. Through another address development The absolute address of the operand is then calculated and stored via a base register. It should be pointed out that the actual main memory address is related to the absolute main memory address through the use of tables.

. 509825/0946. 509825/0946

Die effektive Adresse, ζ. B. das erste Wort wird nachstehend mit Xl bezeichnet und soll von der Adressensilbe und der absoluten Adresse unterschieden werden,-da jede von diesen in verschiedenen Einheiten der Zentraleinheit gespeichert ist. Die Adressilbe bestimmt somit den Daten-Descriptor, welcher 2 Worte aufweist. Das erste Wort kennzeichnet den Operanden und das zweite Wort beschreibt die Merkmale des Operanden.The effective address, ζ. B. the first word is below designated with Xl and should be distinguished from the address syllable and the absolute address, since each of these in different Units of the central unit is stored. The address syllable thus determines the data descriptor, which 2 words having. The first word identifies the operand and the second word describes the characteristics of the operand.

Im Schritt 310 wird eine effektive Adresse, wie sie in den Figuren Ib bis Id dargestellt ist, in dem Register 404 der Adressensteuereinheit 207 gespeichert. Die Steuerspeichereinhe.it 210 zusammen mit dem Steuerspeicher-Schnittstellenadapter 209 überprüft sodann, ob das Hinweisfeld der effektiven Adresse in seinen ersten zwei Bits die Codierung 01 aufweist. Diese Hinweis-Bits bestimmen einen erweiterten Daten-Descriptor 108, der die Descriptoren des Operanden enthält. Weist das Hinweisfeld die Bit-Konstellation 01 auf, so wird das in Figur Ie dargestellte Wort aus dem Hauptspeicher 201 oder dem Pufferspeicher 204 herausgelesen. Nachdem dieses Wort ausgelesen ist, wird es über das DN-Register 402 in die Datenverwaltungseinheit 206 gebracht. Das Wort wird sodann von der Datenverwaltungseinheit nach der internen Speichereinheit 211 übertragen und in einem Arbeitsregister eines Zwischenspeichers 406 abgespeichert. Weicht die Bit-Konstellation von .dem Wert 01 ab, so verzweigt die Steuerspeichereinheit 210 nach einem Ausnahme-Zustand, wie dies im Schritt 312 dargestellt ist, wodurch eine illegale Daten-Descriptor-Ausnahme gekennzeichnet wird. Dieser Ausnahme-Zustand wird in der gleichen Weise, wie die zuvor erwähnte illegale For<matfeld-Ausnahme behandelt.In step 310, an effective address, as shown in FIGS. Ib to Id, is stored in register 404 of FIG Address control unit 207 is stored. The control store unit 210 together with the control store interface adapter 209 then checks whether the information field of the effective address has the coding 01 in its first two bits. These notice bits determine an extended data descriptor 108 which contains the descriptors of the operand. Indicates the hint field the bit constellation 01, then that shown in Figure Ie Word from main memory 201 or the buffer memory 204 read out. After this word has been read out, it is brought into the data management unit 206 via the DN register 402. The word is then transferred from the data management unit to the internal memory unit 211 and in a Working register of a buffer memory 406 is stored. If the bit constellation deviates from the value 01, the control storage unit branches 210 after an exception state, as shown in Step 312 is shown which causes an illegal data descriptor exception is marked. This exception condition is created in the same way as the previously mentioned illegal format field exception treated.

Unter der Annahme, daß die Descriptoren ein Ol-Hinweisfeld aufweisen, gelangt der Schritt 314 zur Ausführung. Im Schritt 314 wird der erweiterte Daten-Descriptor gemäß Figur Ie, wie er in dem Arbeitsspeicher 406 der internen Speichereinheit 211 gespeichert ist, unter Steuerung durch die SteuerSpeichereinheit 210Assuming that the descriptors have an oil hint field, step 314 is executed. In step 314 the extended data descriptor according to FIG. 1e, as shown in FIG the main memory 406 of the internal storage unit 211 is stored is under control of the control storage unit 210

509825/0946509825/0946

nach einem AC-Register 408 übertragen. Hinsichtlich des AC-Registers 408 ist es möglich, irgendein Byte aus diesem auszuwählen und dieses Byte bestimmten Tests zu unterziehen. Dies kann durch einen Auswahlmechanismus 428 bewerkstelligt v/erden, der irgendein Byte in dem AC-Register 408 herausgreift oder durch Verschieben des Inhalts des AC-Registers in eine vorbestimmte Stelle und anschließende übertragung dieses Bytes. Diese Merkmale werden nicht näher beschrieben, da sie im Stand der Technik bestens bekannt sind.transferred to an AC register 408. Regarding the AC register 408 it is possible to select any byte from this and to subject this byte to certain tests. this may be accomplished by a selection mechanism 428 which picks out any byte in the AC register 408 or by shifting the contents of the AC register to a predetermined one Digit and subsequent transmission of this byte. These features are not described in detail as they are in the prior art Technology are well known.

Im Schritt 314 wird von den vorstehend beschriebenen Merkmalen Gebrauch gemacht, indem der Datentyp, d. h. die Bits 40 bis 47 des Wortes 108, die sich in dem AC-Register befinden, nach einem AA-Register 412 übertragen werden. Das AA-Register 412 ist Teil eines Byte-Rechners 410, der in Übereinstimmung mit den Mikrobefehlen der Steuerspeichereinheit 210 eine einfache Paralleladdition und Subtraktion durchführt. Der Byte-Rechner 410 kann irgendein Paralleladdierer oder eine Subtrahiereinheit sein, wie sie im Stand der Technik bestens bekannt sind. Innerhalb des Byte-Rechners 410 befindet sich ein AG-Register 414 sowie Logikschaltkreise 416, welche die arithmetischen Berechnungen mit den ausgewählten Byte-Feldern ausführen. Der Schritt 314 wird mit dem Datentyp-Byte im Register 408, welches durch den Auswahlmechanismus 428 ausgewählt wurde, durchgeführt. Dieses Byte wird sodann in das AA-Register 412 der arithmetischen Recheneinheit 212 übertragen. Gleichzeitig wird durch die Steuerspeichereinheit 210 eine Konstante in das AG-Register 414 geladen. Die Konstante ist in diesem Fall eine binärcodierte 3, welche sich durch die Bit-Konstellation 0000 0011 darstellt. Durch die Logikschaltkreise 416 wird sodann eine Subtraktion mit den Inhalten des AA-Registers und des AG-Registers durchgeführt. Das Ergebnis dieser Subtraktion wird durch den Steuerspeicher-Schnittstellenadapter 209 erfasst und die Steuerspeichereinheit 210 bestimmt, ob der Datentyp für den Kontrollbefehl.geeignet ist oder nicht.In step 314 use is made of the features described above by specifying the data type, i. H. bits 40 to 47 of the word 108 that are in the AC register are transferred to an AA register 412. The AA register 412 is part a byte calculator 410 which performs simple parallel addition and subtraction in accordance with the microinstructions of the control storage unit 210. The byte calculator 410 can any parallel adder or subtracter as are well known in the art. Within the Byte computer 410 is an AG register 414 and logic circuits 416, which perform the arithmetic calculations on the selected byte fields. Step 314 is continued with the Data type byte in register 408, which was selected by selection mechanism 428, performed. This byte is then transferred to the AA register 412 of the arithmetic processing unit 212. At the same time, the control storage unit 210 a constant is loaded into the AG register 414. In this case, the constant is a binary-coded 3, which is determined by the bit constellation 0000 represents 0011. Logic circuitry 416 then performs a subtraction with the contents of the AA register and the AG register. The result of this subtraction is detected by the control store interface adapter 209 and the control store unit 210 determines whether the data type for the control command is appropriate or not.

50 98 25/094650 98 25/0946

Wenn das Subtraktionsergebnis größer als oder gleich Null ist, z. B. also eine positive Zahl, so wird der Schritt 316 gemäß Figur 3 ausgeführt. In diesem Schritt wird die" in dem· AG-Register 414 .befindliche Konstante durch die binärcodierte Zahl 6, d. h. durch die Bit-Konstellation 0000 0110 ausgetauscht und,es wird eine Subtraktion wiederum durchgeführt. In Abhängigkeit von dem Ergebnis dieser Subtraktion wird entweder eine Verzweigung nach dem Schritt 320 oder dem Schritt 318 durchgeführt, wobei durch die Steuerspeichereinheit 210 eine Testbedingung erzeugt wird. Ist der Wert des erhaltenen Datentyps kleiner als 0000 0110, so wird eine Beendigungsroutine gemäß dem Schritt 318 durchgeführt. Dies wird verwirklicht, indem ein Zustandscode in das Statusregister 418 der arithmetischen Recheneinheit 212 entsprechend einer binärcodierten'Dezimalzahl 3 eingeschrieben wird. Durch den· Zustandscode von 3 wird angezeigt, daß ein Eingriff erforderlich ist, um die Operation zu beenden. Dieser Eingriff ist erforderlich, wenn ein verarbeitbarer Datentyp vorliegt, aber eine spezielle Subroutine zur Behandlung der verarbeitbaren Datentypen angefordert v/ird. Im Schritt 318 wird der Zustandscode von 3 durch die SteuerSpeichereinheit 210 so interpretiert, daß die effektive Adresse Xl und der Datenfeld-Descriptor nach dem durch die Adressilbe gemäß Figur la gekennzeichneten allgemeinen Register übertragen werden. In dem durch Bits 8 bis 11 bestimmten allgemeinen Register wird das Wort Xl, z. B. die effektive Adresse gespeichert und der erweiterte Daten-Descriptor 108 wird in dem nächsten allgemeinen Register abgelegt. Nachfolgend wird ein Hinweis gegeben, daß der Kontrollbefehl soweit wie möglich durchgeführt worden ist, was in dem Schritt 324 angezeigt wird.If the subtraction result is greater than or equal to zero, e.g. B. So a positive number, then step 316 according to Figure 3 executed. In this step the "in the · AG register 414 .being constant through the binary-coded number 6, i.e. H. replaced by the bit constellation 0000 0110 and, it becomes a subtraction is carried out again. Depending on the result of this subtraction, either a branch to carried out in step 320 or in step 318, wherein a test condition is generated by the control storage unit 210. If the value of the received data type is less than 0000 0110, a termination routine according to step 318 is carried out. This is achieved by entering a status code in the status register 418 of the arithmetic processing unit 212 accordingly a binary coded decimal number 3 is written. By the · status code of 3 indicates that intervention is required is to end the operation. This intervention is required if there is a processable data type, but a special subroutine for handling the processable data types is requested. In step 318, the status code of FIG interpreted by the control storage unit 210 so that the effective address Xl and the data field descriptor according to the general register identified by the address syllable according to FIG. la be transmitted. In the general register determined by bits 8-11, the word Xl, e.g. B. the effective address and the extended data descriptor 108 is placed in the next general register. An indication is given below that the control command has been carried out as far as possible which is indicated in step 324.

Wenn der den Datentyp beschreibende Datenfeld-Descriptor größer oder gleich der codierten Zahl 0000 0110 ist, so gelangt der Schritt 320 gemäß Figur 3 zur Ausführung. Dieser Schritt wird durchgeführt, indem die SteuerSpeichereinheit 210 eine neue Konstante für das Register 414 erzeugt und das AA-Register 412 die gleiche Information beibehält. Durch den RechenschaltkreisIf the data field descriptor describing the data type is greater or is equal to the coded number 0000 0110, then step 320 according to FIG. 3 is executed. This step will performed by the control storage unit 210 a new Constants generated for register 414 and AA register 412 maintains the same information. Through the computing circuit

509825/0946509825/0946

wird sodann eine Subtraktion mit den Inhalten des AA-Registers 412 und des AG-Registers 414 durchgeführt und für den Fall, daß das Subtraktionsergebnis 0 oder größer als 0 ist, wird das Beendigungsverfahren im Schritt 318 durchgeführt. Ist das Subtraktionsergebnis kleiner als 0, so wird durch die Steuerspeichereinheit 210 im Schritt 322 eine illegale Datentyp-Ausnahme erzeugt. Im Schritt 320 wird" festgestellt, ob der Datentyp für eine spezielle Benutzung reserviert ist.a subtraction is then carried out with the contents of the AA register 412 and the AG register 414 and in the event that the subtraction result is 0 or greater than 0, the termination process in step 318 is performed. Is the subtraction result less than 0, the control storage unit 210 in step 322 an illegal data type exception is generated. In step 320 it is determined whether the data type for a special use is reserved.

Im Schritt 326 ist es bekannt, daß der Operand, z. B. die Kennzeichnungsnummer einen Datentyp aufweist, der durch den Kontrollbefehl bearbeitbar ist. Der Schritt 326 stellt den logischen Kontrollbefehl dar, welcher auf den durch das erste Wort des Datenfeld-Descriptors ausgewiesenen Operanden einwirkt.At step 326 it is known that the operand, e.g. B. the identification number has a data type that is editable by the control command. Step 326 provides the logical Control command, which is based on the first word of the data field descriptor the specified operands.

Der Schritt 326 ist in näheren Einzelheiten in Figur 5 dargestellt und soll nunmehr näher beschrieben werden. In Figur 5 wird durch den Schritt 500 angezeigt, daß der die Länge beschreibende Datenfeld-Descriptor, z. B. die Bits 56 bis 63 des Wortes 108 behandelt wird. Dieser Schritt wird ausgeführt, indem der Auswahlmechanismus 428 das letzte Byte innerhalb des AC-Registers 408 adressiert und dieses Byte in das AA-Register 412 überträgt." Das Längenmerkmal kennzeichnet die Anzahl der Bytes des Operanden.Step 326 is shown in greater detail in FIG and will now be described in more detail. In Figure 5, step 500 indicates that the length descriptive Data field descriptor, e.g. B. bits 56 to 63 of word 108 is handled. This step is performed by the Selection mechanism 428 addresses the last byte within AC register 408 and transfers this byte to AA register 412. " The length characteristic indicates the number of bytes in the operand.

Der Kontrollbefehl behandelt jeden der 3 legalen Datentypen in Form ;einer Byte-Zeichenfolge. Da der Kontrollbefehl jeweils auf Gruppen von 4 Bytes einwirkt, müssen die Byte-Zeichenfolgen daraufhin untersucht werden, ob sie ein ganzzahliges Vielfaches von 4 Bytes darstellen. Wenn die Länge einer alphanummerisehen Zeichenfolge einer gepackten Dezimalzahl oder einer ungepackten Dezimalzahl nicht ein Vielfaches von 4 darstellt, so muß das Datenfeld durch Bytes mit dem Wert "0" ergänzt werden. Wenn beispielsweise ein Byte übrig bleibt und durch den Kontrollbefehl bearbeitet werden soll, so müssen 3 Bytes mit dem Wert "0" zuvorThe control command handles each of the 3 legal data types in form ; a byte string. Since the control command affects groups of 4 bytes, the byte character strings must be examined to see whether they represent an integer multiple of 4 bytes. If the length of an alphanumeric string of a packed decimal number or an unpacked decimal number does not represent a multiple of 4, the data field must be supplemented by bytes with the value "0". If, for example, a byte is left over and is to be processed by the control command, 3 bytes with the value "0" must first

509825/0946509825/0946

2A583312A58331

hinzugefügt werden. Hinsichtlich der gepackten DezimaldarstelTung kann die Länge einen Operanden mit-einem halben Byte aufweisen. Tritt dieser Fall auf, so werden 4 Bits mit dem Binärwert 11O" dem ersten Teil des Operanden hinzuaddiert, v/elcher in die nachfolgend zu erläuternden Isolationsregister eingelesen wird.to be added. With regard to the packed decimal representation, the length can have an operand of half a byte. If this occurs, 4 bits with the binary value 11 O "are added to the first part of the operand, whichever is read into the isolation register to be explained below.

Es sei hier bemerkt, daß das gepackte Dezimalformat eine Reihe aneinandergrenzender Bytes aufweist, wobei jedes Byte zwei 4-Bit-Zahlencodierungen enthält, mit Ausnahme des am weitesten rechts stehenden Bytes, welches eine Zahlencodierung und eine Vorzeichencodierung aufweist. Das ungepackte Dezimalformat besteht aus einer Reihe aneinandergrenzender Bytes, wobei jedes Byte eine Zonen- und eine Zifferncodierung aufweist. Für beide Formate stellt die Ziffercodierung die Größendarstellung einer dezimalen ganzen Zahl dar. Somit wird bei einer ungepackten Dezimaldarstellung eine dezimale ganze Zahl durch ein Byte codiert, während bei einer gepackten Dezimaldarstellung zwei dezimale ganze Zahlen durch ein Byte codiert werden. Bei einer alphanummerischen Zeichenfolge wird jedes Zeichen durch ein Byte codiert.It should be noted here that the packed decimal format comprises a series of contiguous bytes, each byte having two 4-bit number encodings contains, with the exception of the byte furthest to the right, which is a number coding and a sign coding having. The unpacked decimal format consists of a series of contiguous bytes, with each byte representing a zone and has a digit coding. For both formats, the digit coding represents the size representation of a decimal whole number Thus, with an unpacked decimal representation, a decimal integer is encoded by a byte, while with a packed Decimal representation two decimal whole numbers can be encoded by one byte. For an alphanumeric string each character is encoded by a byte.

Da die durch den Kontrollbefehl ausgelöste Operation von einer exakten Bestimmung der Länge des Operanden abhängig ist, stellt die durch den Datenfeld-Descriptor beschriebene Länge ein bedeutendes Merkmal der Erfindung dar. Die Verwendung des Längenfeldes in dem erweiterten Daten-Descriptor wirkt auf einen Hardware-Mechanismus in der Adressensteuereinheit ein, wodurch sichergestellt wird, daß nur der durch das Längenfeld beschriebene Operand abgerufen wird, so daß immer die gleiche eindeutige Kennschlüsseladresse für den direkten Zugriff erzeugt wird.Since the operation triggered by the control command depends on an exact determination of the length of the operand, the length described by the data field descriptor is significant The use of the length field in the extended data descriptor acts on a hardware mechanism in the address control unit, thereby ensuring that only the operand described by the length field is retrieved so that the same unique identification key address is always generated for direct access.

Im Schritt 502 werden bestimmte Operationen hinsichtlich des sich nunmehr in dem AA-Register 412 befindlichen Längenfeldes ausgeführt. Zuerst wird die Anzahl der Worte des Operanden bestimmt,In step 502, certain operations are performed with respect to the length field now in AA register 412. First the number of words of the operand is determined,

50 9 8 25/094650 9 8 25/0946

indem die Anzahl der Bytes in dem Längenfeld durch 4 dividiert wird. Die Division des Längenfeldes durch 4 kann durch bekannte Einrichtungen erfolgen. Zum Beispiel kann die Konstante 4 in das AG-Register 414 geladen werden und nachfolgend über den Rechenschaltkreis 416 von dem Inhalt des AA-Registers 412 subtrahiert werden. Nach jedem Subtraktionsschritt, bei dem der Wert in dem AA-Register 412 positiv bleibt, kann der Inhalt eines temporären Speicherregisters im Arbeitsspeicher 406, welches nachstehend mit N bezeichnet wird, um 1 erhöht werden. Somit gibt das N-Register die Anzahl der Worte des dem Kontrollbefehl unterzogenen Operanden an. Der Inhalt des N-Registers wird sodann in das AA-Register eingebracht und es wird eine v/eitere Subtraktion dieses Inhalts von dem Inhalt des AG-Registers 414 durchgeführt. Wenn das in
dem AA-Register abgelegte. Ergebnis negativ·wird, so wird der
verbleibende Rest, z. B. der Wert von dem die Konstante.4 nicht subtrahiert werden konnte·, in einem zweiten temporären Arbeitsregister im Arbeitsspeicher 406 gespeichert, welches Register
nachstehend als R-Register bezeichnet wird. Auf diese Weise
enthalten die Register N und R die Längeninformation des Operanden und dienen der Steuerung des stochastischen Verfahrens gemäß den Schritten 506 und 528.
by dividing the number of bytes in the length field by 4. The division of the length field by 4 can be done by known devices. For example, the constant 4 can be loaded into the AG register 414 and subsequently subtracted from the content of the AA register 412 via the arithmetic circuit 416. After each subtraction step in which the value in the AA register 412 remains positive, the content of a temporary storage register in the main memory 406, which is referred to below as N, can be increased by 1. The N register thus indicates the number of words in the operand subjected to the control command. The content of the N register is then brought into the AA register and a further subtraction of this content from the content of the AG register 414 is carried out. If that is in
stored in the AA register. Result becomes negative, the
remaining remainder, e.g. B. the value from which the constant.4 could not be subtracted ·, stored in a second temporary working register in the main memory 406, which register
hereinafter referred to as the R register. In this way
registers N and R contain the length information of the operand and are used to control the stochastic method according to steps 506 and 528.

Im Schritt 502 wird die absolute Adresse X des Operanden in das Arbeitsregister S des Arbeitsspeichers 406 übertragen. Hierbei wird die absolute Adresse X aus dem Hauptspeicher 201 in die
Datenverwaltungseinheit 206 über das DN^Register 402 ausgelesen. Das Wort wird sodann von., der Datenverwaltungseinheit 206 nach
der internen Speichereinheit 212 übertragen und in dem Register S abgelegt. Somit wird in dem Arbeitsspeicher 406 durch das. N-Register die Anzahl der Worte des Operanden, durch das R-Register die verbleibenden Bytes des Operanden und durch das S-Register der Operand selbst angezeigt.
In step 502, the absolute address X of the operand is transferred to the working register S of the working memory 406. Here, the absolute address X is transferred from the main memory 201 to the
Data management unit 206 is read out via the DN ^ register 402. The word is then transferred from., The data management unit 206 to
the internal memory unit 212 and stored in the register S. The number of words of the operand is thus indicated in the main memory 406 by the. N register, the remaining bytes of the operand by the R register and the operand itself by the S register.

Im Schritt 504 wird der» durch den Kontrollbefehl gemäß Figur la bestimmte Inhalt des allgemeinen Registers GR in ein Zirkulationsregister 420 gemäß Figur 4 übertragen. Der Inhalt des allgemeinen In step 504 the »by the control command according to FIG certain contents of the general register GR are transferred to a circulation register 420 according to FIG. The content of the general

5098257094650982570946

Registers GR ist durch eine Konstante gegeben, welche dem Aufsuchen von Datensätzen innerhalb des gleichen Sekundärspeichers dient. Diese Konstante kann verändert werden, nachdem die Datensatz-Verteilung untersucht worden ist. Diese Untersuchung kann durch ein hier nicht beschriebenes Nützlichkeitsprogramm durchgeführt werden, welches einen statistischen Bericht hinsichtlich der Datensatz-Verteilung erzeugt, was dem Benutzer die Bestimmung der Anzahl der Datensätze in jeder Seite der Datei erlaubt. Basierend auf diesem statistischen Bericht ist es sodann bekannt, wie dicht die durch den Kontrollbefehl erzeugte Kennschlüsseladresse für direkten Zugriff an eine Poisson-Verteilung herankommt. Ist die sich ergebende Verteilung ungünstig, so kann die Anfangskonstante verändert werden. Die -Konstante wirkt auf das Ergebnis ein, so daß.eine günstigere Verteilung der Datensätze innerhalb der Datei erzeugt wird. Wahlweise kann auch die Anzahl der Seiten, welche die Datensätze speichern, einer Veränderung unterzogen werden. .Register GR is given by a constant, which the search of data sets within the same secondary storage. This constant can be changed after the data set distribution has been investigated. This investigation can be carried out through a utility program not described here which generates a statistical report on the data set distribution, giving the user the determination the number of records allowed in each page of the file. Based on this statistical report, it is then known how close the identification key address for direct access generated by the control command comes to a Poisson distribution. If the resulting distribution is unfavorable, the initial constant can be changed. The constant acts on that Result, so that a more favorable distribution of the data sets within the file is generated. Optionally, the number the pages that store the data records are subject to change. .

Das durch den Kontrollbefehl benutzte stochastische Verfahren ist funktionsmäßig in den Schritten 506 bis 522 dargestellt. Insbesondere wird im Schritt 506 der die Gesamtzahl der Worte anzeigende Operand einem Test auf den Wert 0 unterzogen. Dieser Test kann durchgeführt werden, indem der Wert des N-Registers in das AA-Register 412 des Arbeitsspeichers 406 übertragen wird. Das AG-Register 414 wird mit der Konstanten 0 geladen und der Logikschaltkreis 416 subtrahiert, gesteuert durch die Steuerspeichereinheit 210, den Wert des AA-Registers 412 von dem Wert des AG-Registers 414. Das Ergebnis wird sodann durch den Steuerspeicher-Schnittstellenadapter 209 erfasst, und falls dieses Ergebnis 0 ist, wird der Schritt 520 ausgeführt. Der Fall, daß ein auszusuchender Datensatz so klein ist, ist jedoch relativ selten. Der Wert des Inhalts des Registers N ist im allgemeinen größer als 0, so daß der Schritt 508 zur Ausführung gelangt.The stochastic method used by the control command is functionally represented in steps 506 to 522. In particular the operand indicating the total number of words is subjected to a test for the value 0 in step 506. This test can be done by adding the value of the N register to the AA register 412 of the main memory 406 is transferred. The AG register 414 is loaded with the constant 0 and the logic circuit 416, under the control of the control store unit 210, subtracts the value of the AA register 412 from the value of the AG register 414. The result is then passed through the control store interface adapter 209 is detected, and if this result is 0, step 520 is carried out. The case that a to be chosen However, the record that is so small is relatively rare. The value of the content of register N is generally greater than 0, so that step 508 is executed.

509825/0946509825/0946

Im Schritt 508 wird der Wert des N-Registers, z. B. die Anzahl der zu verarbeitenden Worte, in das AA-Register 412 eingespeichert. Eine Konstante mit dem Wert 1 wird in das AG-Register 414 geladen und mittels des Logikschaltkreises 416 wird eine Subtraktion durchgeführt,und es wird das Subtraktionsergebnis in das AA-Register 412 zurücktransferiert. Der durch die absolute Adresse bestimmte Operand wird hinsichtlich seiner ersten 4 Bytes, d. h. hinsichtlich seines ersten Wortes abgerufen und in dem Isolationsregister 422 gespeichert, welches Register nachfolgend als IR-Register bezeichnet wird. Zu diesem Zeitpunkt wird die Adresse um 4 erhöht, so daß sie auf das nächste abzurufende Wort verweist. Somit ist zu diesem Zeitpunkt das erste Wort des Operanden im Isolationsregister 422 gespeichert,und die absolute · Adresse weist auf das erste Byte des nächsten abzurufenden Wortes.In step 508 the value of the N register, e.g. B. the number of words to be processed, stored in the AA register 412. A constant with the value 1 is stored in the AG register 414 is loaded and a subtraction is performed by means of the logic circuit 416, and it becomes the subtraction result transferred back to the AA register 412. The operand determined by the absolute address is used with regard to its first 4 bytes, d. H. fetched for its first word and stored in isolation register 422, which register follows referred to as the IR register. At this point the Address incremented by 4 so that it points to the next word to be retrieved. Thus at this point the first word is the Operands stored in isolation register 422, and the absolute Address points to the first byte of the next word to be fetched.

Im Schritt 510 wird der Inhalt ..des Zirkulationsregisters 420 um 19 Bits nach links verschoben. Das Zirkulationsregister 420 kann als bekanntes Schiebe-Ringregister ausgeführt sein, welches· eine zirkuläre Verschiebung seines Inhalts gestattet. Durch eine Verschiebung des Inhaltes des Zirkulationsregisters um 19 Bit nach links wird die Stellung der zuvor einer hohen Benutzung unterliegenden Information verändert,. Diese Operation wird durch die Steuerspeichereinheit 210 ausgeführt.In step 510, the contents of... Of the circulation register 420 shifted 19 bits to the left. The circulation register 420 can be implemented as a known shift ring register, which a circular displacement of its content is permitted. By shifting the contents of the circulation register by 19 bits to the left, the position of the information previously subject to high usage is changed. This operation is going through the control storage unit 210 is executed.

Im nächsten Schritt veranlasst die Steuerspeichereinheit 210 eine Addition, wobei die Inhalte des CR-Registers und des IR-Registers miteinander addiert werden. Zu diesem Zweck wird ein Wort-Rechner 424 benutzt. Das Ergebnis der Addition wird sodann in das Zirkulationsregister 420 zurückgespeichert. Erfolgt ein überlauf, z. B. wenn die Addition des CR-Registers und des IR-Registers einen übertrag ergibt, so wird das Übertrag-Bit dem niedrigsten Bit in dem CR-Register hinzuaddiert. Dies wird durchgeführt, indem das über lauf-^Bit in einem Register 426 gespeichert wird und nachfolgend eine Addition zwischen dem InhaltIn the next step, the control storage unit 210 causes an addition, the contents of the CR register and the IR register can be added together. A word calculator 424 is used for this purpose. The result of the addition is then stored back in the circulation register 420. If there is an overflow, e.g. B. if the addition of the CR register and the IR register results in a carry, the carry bit is added to the lowest bit in the CR register. this will performed by storing the overflow ^ bit in a register 426 and subsequently an addition between the content

509825/0946509825/0946

des CR-Registers 420 und dem Inhalt des Registers 426 durchgeführt wird, wobei das Ergebnis dieser Addition in dem Zirkulationsregister 4 20 gespeichert wird. Der Steuerspeicher-Schnittstellenadapter 209 überprüft, ob ein Überlauf-Zustand vorliegt und für den Fall, daß dieser überlauf-Zustand vorliegt, veranlasst er die Verzweigung der Steuerspeichereinheit 210 auf einen anderen Additions-Mikrobefehl, welcher den Inhalt des IR-Registers unangetastet läßt.of the CR register 420 and the contents of the register 426 the result of this addition being stored in the circulation register 4 20. The control store interface adapter 209 checks whether there is an overflow condition and in the event that this overflow condition is present, initiated he branches the control storage unit 210 to another addition microinstruction which contains the contents of the IR register leaves untouched.

Das Einer-Komplement des CR-Registers wird im Schritt 514 gebildet. Dies geschieht, indem in das Übertrags-Register 426 in allen Stellen der Binärwert "1" eingeschrieben wird. Der Inhalt des Zirkulationsregisters 420 wird sodann von dem Inhalt des Übertrag-Registers 426 subtrahiert und das Ergebnis wird zurück in das Zirkulationsregister 420 übertragen. Zur Bildung des Einer-Komplements können ebensogut andere, im Stand der Technik bekannte, Verfahren angewendet werden.The one's complement of the CR register is formed in step 514. This is done by writing the binary value "1" in all digits of the carry register 426. The contents of the circulation register 420 are then subtracted from the contents of the carry register 426 and the result is transferred back to the circulation register 420. Other methods known in the art may as well be used to form the one's complement.

Der in dem Zirkulationsregister 420 gespeicherte Wert des Einer-Komplements wird sodann im Schritt 516 um 18 Bit nach links verschoben. Diese Verschiebung erfolgt in der gleichen Weise, wie dies anhand des Schrittes 510 beschrieben wurde. Der so erhaltene Wert wird sodann im Schritt 518 über den Wort-Rechner 424 zu dem gleichen 4-Byte-Operanden in dem Isolationsregister 422 addiert. Wie dies im Schritt 512 der Fall war, wird der Überlauf, sofern einer vorhanden ist, im Register 426 gespeichert und es wird eine weitere Addition des Übertrags mit dem niedrigsten Bit innerhalb des Zirkulationsregisters ausgeführt.The value of the one's complement stored in the circulation register 420 is then shifted 18 bits to the left in step 516. This shift is done in the same way as this has been described with reference to step 510. The value obtained in this way is then transmitted via the word calculator 424 in step 518 added to the same 4-byte operand in isolation register 422. As was the case in step 512, the overflow is if any, stored in register 426 and another addition of the carry with the lowest bit is made carried out within the circulation register.

Der Grund für die oben genannten Schritte ist in der Schaffung einer stochastischen Zahl zu sehen, wobei die Bit-Positionen des Operanden, welche einen hohen Benutzungsgrad aufweisen, herangezogen v/erden. Durch die Veränderung der Bit-Positionen in den Schritten 510 und 516 wird eine Vermischung der Bit-Positionen erzielt.The reason for the above steps is in creation to see a stochastic number, the bit positions of the operand, which have a high degree of use, used v / earth. By changing the bit positions in steps 510 and 516 there is a shuffling of the bit positions achieved.

509825/0946509825/0946

Nach dem Schritt 51S vjird der Schritt 506 ausgeführt. In diesem Schritt wird der neue im AA-Register 412 enthaltene Wert auf den Wert O überprüft. Wenn der Operand beispielsweise 5 Bytes aufwies, dann ergibt sich der Wert der im N-Register stehenden Zahl zu O, so daß der Schritt 520 ausgeführt wird. War der Operand sehr viel größer, so werden die zuvor erläuterten Schritte, d. h. die Schritte 508 bis 518 ausgeführt.After step 51S, step 506 is carried out. In this step is the new one contained in AA register 412 Checked for the value O. For example, if the operand had 5 bytes, the value in the N register results number to 0 so that step 520 is carried out. If the operand was much larger, the steps explained above, i.e. H. steps 508-518 are performed.

Im Schritt 520 wird dem Arbeitsspeicher 406 der in dem R-Register stehende Wert entnommen. Dieser Wert wird sodann in dem Register 412 gespeichert. War die Anzahl der Bytes gleich 4", so verbleibt kein Rest und der Schritt 524 wird ausgelöst. Dieses Ergebnis wird überprüft, indem das AG-Register 414 mit dem Wert 0 geladen wird und dieser Wert von dem Inhalt des AA-Registers 412 subtrahiert wird, und indem der Steuerspeicher-Schnittstellenadäpter 209 anschließend das Ergebnis der Subtraktion überprüft.In step 520, the value in the R register is taken from the main memory 406. This value is then used in the Register 412 stored. If the number of bytes was equal to 4 ", there is no remainder and step 524 is triggered. This result is checked by loading the AG register 414 with the value 0 and this value from the contents of the AA register 412 is subtracted and by the control store interface adapter 209 then checked the result of the subtraction.

Wenn der Inhalt des R-Registers ungleich 0 ist, so muß er 1, 2 oder 3 Bytes aufweisen. Im Schritt 522 bestimmt die Steuerspeichereinheit zusammen mit dem Steuerspeicher-Schnittstellenadapter, wieviele Bytes verbleiben. Dies wird durchgeführt, indem das AG-Register 414 mit dem Binärwert "1" geladen wird und dieser Wert fortlaufend von dem Inhalt des AA-Registers 412 subtrahiert wird, wobei das AA-Register 412 den Wert des R-Registers enthält. Sobald bei der Subtraktion eine 0 festgestellt wird, kennt die Steuerspeicherexnheit 210 die Anzahl der benutzten Bytes. Die SteuerSpeichereinheit 210 fügt sodann dem IR-Register 422 Nullstellen für die restlichen Bytes an. Anschließend werden die Schritte 510 bis 518 durchgeführt. Wenn sowohl der Inhalt des N-Registers und R-Registers den Wert 0 aufweist, so wird der Schritt 524 ausgelöst. Im Schritt 524 wird der Inhalt des. Zirkulationsregisters 420 um 17 Positionen nach links verschoben. Dies geschieht in der gleichen Weise wie im Schritt 510. EbensoIf the content of the R register is not equal to 0, it must have 1, 2 or 3 bytes. In step 522, the control store unit, in conjunction with the control store interface adapter, determines how many bytes remain. This is done by loading the AG register 414 with the binary value "1" and continuously subtracting this value from the contents of the AA register 412, the AA register 412 containing the value of the R register. As soon as a 0 is determined during the subtraction, the control storage unit 210 knows the number of bytes used. The control storage unit 210 then adds zeros to the IR register 422 for the remaining bytes. Steps 510 to 518 are then carried out. If both the contents of the N register and the R register have the value 0, then step 524 is triggered. In step 524 the contents of the circulation register 420 are shifted 17 positions to the left. This is done in the same way as in step 510. Likewise

509825/0946509825/0946

wird die Addition des Inhalts des Zirkulationsregisters 4 20 zu dem Inhalt des IR-Registers 422 im Schritt 526 in der gleichen Weise, wie im Schritt 512,durchgeführt. Diese Sehritte dienen einer weiteren stochastischen Verteilung des Operanden.the addition of the contents of the circulation register 4 20 to the contents of the IR register 422 in step 526 in the same Manner as in step 512 performed. These steps serve a further stochastic distribution of the operand.

Mit der nunmehr im Zirkulationsregister 420 gespeicherten stochastischen Verteilung veranlasst die Steuerspeichereinheit 210 die Rückübertragung des Inhalts des Zirkulationsregisters in das allgemeine Register im Schritt 528. Dieser in dem allgemeinen Register GR gespeicherte Inhalt, gibt nunmehr die Kennschlüsseladresse für direkten Zugriff an, durch die der Speicherplatz des Datensatzes im Sekundärspeicher bestimmt ist.With the stochastic distribution now stored in the circulation register 420, the control storage unit initiates 210 transferring the contents of the circulation register back to the general register in step 528. This in general Contents stored in register GR, now specifies the identification key address for direct access through which the memory location of the data record in the secondary storage is determined.

Wenn die Forderung besteht, zwei Datensätze zu überwachen, so kann das allgemeine Register eine Konstante enthalten, welche aus der stochastischen Verteilung des ersten Datensatzes abgeleitet ist, wie dies durch den Schritt 528 veranschaulicht ist, und der zweite Datensatz kann über das Isolationsregister .422 eingeführt werden. Diese Situation tritt auf, wenn beispielsweise ein Angestellter in verschiedenen Abteilungen eines Unternehmens beschäftigt ist. Hierbei kann es wünschenswert sein, seine Kontonummer mit den verschiedenen Abteilungsnummern, in denen er beschäftigt war, in Verbindung zu bringen. Durch Verarbeitung der Abteilungsnummer und Erzeugung einer Konstanten in dem allgemeinen Register, ergibt sich eine neue Kombination, wodurch der bestimmte gesuchte Datensatz in dem Sekundärspeicher festgelegt ist.If there is a requirement to monitor two data sets, the general register can contain a constant, which is derived from the stochastic distribution of the first data set, as illustrated by step 528, and the second data set can be introduced via the isolation register .422. This situation occurs when, for example an employee is employed in different departments of a company. It may be desirable to have your account number with the various department numbers in which he was employed. By processing the Department number and creation of a constant in the general register, results in a new combination, whereby the specific searched record is set in the secondary storage.

Auf die durch den Kontrollbefehl festgelegten Operationen wird nachfolgend eine Multiplikation oder Division durchgeführt. Der erste Wert bei dieser Berechnung ist der in dem allgemeinen Register enthaltene Wert,.und der zweite Wert bildet die Anzahl der in dem sekundären Speicher enthaltenen.Seiten. Die sich durch die Multiplikation oder Division ergebende Überlauf-Zahl, z. B. die Zahl,die größer als die 32. Bits ist, oder der verbleibende Rest bei der Division,kann in einem zweiten allgemeinen Register gespeichert werden. Dieser Wert kennzeichnet die endgültige Seite, welche denA multiplication or division is then carried out on the operations specified by the control command. Of the The first value in this calculation is the value contained in the general register, and the second value is the number of Pages contained in secondary storage. The overflow number resulting from the multiplication or division, e.g. B. the Number greater than the 32nd bits or the remainder at the division, can be stored in a second general register will. This value identifies the final page, which the

gesuchten Datensatz speichert.saves the data set searched for.

509825/0946509825/0946

Wenn mehr Datensätze verarbeitet werden sollen, als eine Seite enthält, so wird eine Überlauftechnik angewandt. Hierzu- kann irgendein im Stand der Technik bekanntes Verfahren benutzt werden. When more records are to be processed than one page contains an overflow technique. For this- can any method known in the art can be used.

509825/0946509825/0946

Claims (28)

PatentansprücheClaims (lj/Verfahren zur Adressierung eines in einem Sekundärspeicher abgelegten Datensatzes/ gekennzeichnet durch folgende Schritte:(lj / method of addressing one in secondary storage stored data record / marked by the following steps: Speicherung eines Datenfeldes eines Datensatzes sowie von Datenfeld-Pescriptoren, welche die Merkmale des Datenfeldes bestimmen, wobei das Datenfeld den Datensatz im Sekundärspeicher eindeutig kennzeichnet,Storage of a data field of a data record as well as of Data field pescriptors, which define the characteristics of the data field determine, whereby the data field uniquely identifies the data record in the secondary storage, Prüfung mittels der Datenfeld-Descriptoren, ob das Datenfeld innerhalb einer zur Auffindung des Datensatzes benutzbaren Gattung liegt undCheck by means of the data field descriptors whether the data field can be used within a data set to find the data set Genus lies and Kontrolle des Daten-Merkmales in einem stochastischen Verfahren, wobei durch diesen Kontrollschritt eine Kennschlüssel-Adresse für direkten Zugriff geschaffen wird, die die Auffindung des Datensatzes im Sekundärspeieher gestattet.Control of the data characteristic in a stochastic process, with this control step creating an identification key address for direct access that enables the discovery of the data record in the secondary storage. 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet , daß der Kontrollschritt folgende Maßnahmen umfasst:2. The method according to claim 1, characterized in that the control step takes the following measures includes: Feststellung der Anzahl von 4 Bytes in dem Datenfeld und Feststellung, ob weniger als 4 Bytes in dem Datenfeld verbleiben. Determination of the number of 4 bytes in the data field and Determination of whether less than 4 bytes remain in the data field. 3. Verfahren nach den Ansprüchen 1 und 2, dadurch g.e kennzeichnet , daß der Kontrollschritt folgende weitere Maßnahmen umfasst: "3. The method according to claims 1 and 2, characterized in that the control step comprises the following further measures: " Übertragung von 4 Bytes des Datenfeldes in ein erstes Register, übertragung einer in einem allgemeinen Register enthaltenen Konstanten in ein zweites Register und Ausführung vorbestimmter Maßnahmen hinsichtlich der beiden Register zur stochastischen Behandlung des Datenfeldes.Transfer of 4 bytes of the data field to a first register, transfer of one contained in a general register Constants in a second register and execution of predetermined actions on the two Register for the stochastic handling of the data field. 509825/0946509825/0946 4. Verfahren nach Anspruch 3, dadurch gekennzeichnet , daß die vorbestimmten Maßnahmen folgende Schritte umfassen:4. The method according to claim 3, characterized that the predetermined measures include the following steps: Verschiebung des Inhalts des zweiten Registers um eine erste vorbestimmte Anzahl von Positionen,Shifting the content of the second register by a first predetermined number of positions, Addieren des Inhalts des zweiten Registers zu dem Inhalt des ersten Registers,Adding the content of the second register to the content of the first register, Speicherung des Additionsergebnisses in dem zweiten Register, Komplementbildung des Inhalts des zweiten Registers, Verschiebung des Inhalts des zweiten Registers um eine zweite, vorbestimmte' Anzahl von Positionen,Storage of the addition result in the second register, Completion of the content of the second register, shifting the content of the second register by a second, predetermined number of positions, Addieren des Inhalts des zweiten Registers zu dem Inhalt des ersten Registers undAdding the content of the second register to the content of the first register and Speicherung des Additionsergebnisses im zweiten RegisterStorage of the addition result in the second register 5. Verfahren nach Anspruch 4, dadurch gekennzeichnet , daß die vorbestimmten Maßnahmen folgende weitere Schritte umfassen:5. The method according to claim 4, characterized in that the predetermined measures follow further steps include: übertragung der nächsten 4 Bytes des Datenfeldes in das erste Register undTransfer of the next 4 bytes of the data field to the first Register and Wiederholung der Maßnahmen des erwähnten Kontrollschrittes bis jedes der genannten 4 Bytes des Datenfeldes behandelt ist.Repeat the measures of the mentioned control step until each of the mentioned 4 bytes of the data field has been dealt with. 6. Verfahren.nach Anspruch 5, dadurch gekennzeichnet , daß nach der Behandlung aller der erwähnten 4 Bytes, der verbleibende Rest des Datenfeldes folgenden Maßnahmen unterzogen wird:6. Method according to claim 5, characterized in that after the treatment of all of the 4 bytes mentioned, the remainder of the data field is subjected to the following measures: übertragung einer Konstanten in die durch das Datenfeld unbenutzten Byte-Speicherplätze des ersten Registers und Wiederholung der Maßnahmen des erwähnten Kontrollschrittes hinsichtlich des verbleibenden Teils des Datenfeldes.Transfer of a constant to the one not used by the data field Byte storage locations of the first register and repetition of the measures of the control step mentioned with regard to the remaining part of the data field. 509825/0946509825/0946 7. Verfahren nach Anspruch 6, dadurch gekennzeichnet , daß der KontrollschrLtt folgende v/eitere Maßnahmen umfasst:7. The method according to claim 6, characterized that the control step continues the following Measures include: Verschiebung des Inhalts des zweiten Registers um eine dritte vorbestimmte Anzahl von Positionen, nachdem die Bytes des Datenmerkmales zweimal zu dem zweiten Register addiert worden sind,Shifting the contents of the second register by a third predetermined number of positions after the bytes of the Data attribute have been added twice to the second register, Addieren des Inhalts des zweiten Registers zu dem Inhalt des ersten Registers,Adding the content of the second register to the content of the first register, Speicherung des Additionsergebnisses in dem zweiten Register undStorage of the addition result in the second register and Übertragung des Inhalts des zweiten Registers zu dem allgemeinen Register. -Transferring the contents of the second register to the general one Register. - 8. Verfahren nach den Ansprüchen 4 und 7, dadurch gekennzeichnet, daß die erste, zweite und dritte vorbestimmte Anzahl von Positionen hinsichtlich der Inhaltsverschiebung der Register voneinander verschieden sind. 8. The method according to claims 4 and 7, characterized in that that the first, second and third predetermined numbers of positions in terms of the content shift of the registers are different from each other. 9. Verfahren nach Anspruch 4, dadurch gekennzeichnet , daß jeder der genannten Addierschritte die Addition eines sich aus der Addition zu dem niedrigrangigen Bit des zweiten Registers etwa ergebenden Überlaufs umfasst.9. The method according to claim 4, characterized that each of the said adding steps is the addition of one from the addition to the lower-order Bit of the second register includes approximately resulting overflow. 10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Datenfeld-Descriptoren den Datentyp und die Länge des Datenfeldes beschreiben.10. The method according to claim 1, characterized in that the data field descriptors describe the data type and the length of the data field. 11. Verfahren nach Anspruch 10, gekennzeichnet durch eine Feststellung, ob der Datentyp eine alphanummerische Zeichenfolge, eine ungepackte Dezimalzahl oder · eine gepackte Dezimalzahl darstellt.11. The method according to claim 10, characterized by determining whether the data type represents an alphanumeric character string, an unpacked decimal number or a packed decimal number. 509825/0946509825/0946 245Ε331245-331 12. Verfahren nach Anspruch 11, gekennzeichnet durch folgende Prüfschritte:12. The method according to claim 11, characterized by the following test steps: Speicherung des Längenfeldes in einem dritten Register, Division des Lrngenfeldes des Datenfeld-Descriptors durch 4, zwecks Bestimmung der Anzahl der fortlaufend zu übertragenden Bytes des" Datenfeldes und "
Speicherung des Divisionsrestes in einem vierten Register.
Storage of the length field in a third register, division of the length field of the data field descriptor by 4 for the purpose of determining the number of bytes of the "data field and" to be continuously transmitted
Storage of the remainder of the division in a fourth register.
13. Verfahren nach Anspruch 12, dadurch gekenn-13. The method according to claim 12, characterized ' zeichnet, daß der Kontrollschritt folgende weitere Maßnahmen umfasst:'indicates that the control step following further Measures include: eine schrittweise Erniedrigung des Inhalts des ersten Registers·, nachdem jeweils ein Satz von 4 Bytes übertragen ist, und eine Prüfung des dritten Registers, ob sein Inhalt Null be-■ trägt. · ,a gradual decrease in the content of the first register, after a set of 4 bytes has been transmitted, and a check of the third register as to whether its content is zero wearing. ·, 14. Verfahren nach Anspruch 13, dadurch. gekennzeichnet , daß der Kontrollschritt eine schrittweise. Erniedrigung des Inhalts des vierten Registers auf Hull einschließt, falls, der Inhalt des ersten Registers Null beträgt und der verbleibende Rest des Längenfeides - sofern vorhanden in das zweite Register übertragen worden ist.14. The method according to claim 13, characterized. marked that the control step is a gradual. Includes lowering the contents of the fourth register to Hull, if, the content of the first register is zero and the remainder of the length field - if available in the second register has been transferred. 15. Anlage zur Durchführung des Verfahrens nach Anspruch lr wobei der Sekundärspeicher in eine Anzahl von als Seiten bezeichnete Speicherabschnitte unterteilt ist, jede Seite mehrere Datensätze enthält und wobei einigen der Datensätze ein Datenfeld zugeordnet ist, welches eindeutig den Datensatz bestimmt, gekennzeichnet durch einen Speicher zum Speichern jedes Datenfeldes der Datensätze und von zugeordneten Datenfeld-Descriptoren, welche die Merk-. male des Datenfeldes beschreiben," ...15. System for carrying out the method according to claim l r wherein the secondary memory is divided into a number of memory sections called pages, each page contains several data records and wherein some of the data records are assigned a data field which uniquely determines the data record, characterized by a memory for storing each data field of the data sets and associated data field descriptors, which the marker. times of the data field, "... eine Einrichtung zur Erzeugung eines Kontrollbefehles, eine erste, von einem ersten Teil des Kontrollbefehles abhängige Einrichtung zum Aufsuchen eines dem Datenfeld zugeordneten Datenfeld-Descriptors,a device for generating a control command, a first device, which is dependent on a first part of the control command, for searching for a data field assigned to the data field Data field descriptors, 509825/0946509825/0946 eine zweite, von einem ersten Wort des Datenfeld-Descriptors abhängige Einrichtung zum Aufsuchen des Datenfeldes und eine von einem zweiten Teil des Kontrollbefehls abhängige Recheneinrichtung zum Errechnen-in Übereinstimmung mit einem zweiten Wort des Datenfeld-Descriptors~ einer Kennschlüssel-Adresse für direkten Zugriff des Datenfeldes, wobei die Kennschlüssel-Adresse eine den Datensatz speichernde Seite des SekundärSpeichers bestimmt.a second device, dependent on a first word of the data field descriptor, for looking up the data field and one dependent on a second part of the control command Computing means for computing-in accordance with a second word of the data field descriptor ~ a passkey address for direct access to the data field, the identification key address being a page that stores the data record of the secondary storage. 16. Anlage nach Anspruch 15, dadurch gekennzeichnet , daß die durch den Datenfeld-Descriptor beschriebenen Merkmale sich auf den Datentyp und die Länge des Datenfeldes beziehen.16. Plant according to claim 15, characterized in that by the data field descriptor The features described relate to the data type and the length of the data field. 17. Anlage nach Anspruch 16, dadurch gekennzeichnet , daß das Datentyp-Merkmal Codierungen für eine alphanummerische Zeichenfolge, eine ungepackte Dezimalziffer und eine gepackte Dezimalziffer umfasst.17. Plant according to claim 16, characterized in that the data type feature encodings for comprises an alphanumeric string, an unpacked decimal digit, and a packed decimal digit. 18. Anlage nach Anspruch 15, gekennzeichnet18. Plant according to claim 15, characterized d u r c h eine zusätzliche, von dem Kontrollbefehl zum Prüfen der Merkmale des Datenfeld-Descriptors abhängige Einrichtung zur Entscheidung, ob ein gegebenes Datenfeld durch die Recheneinrichtung verarbeitbar ist.d u r c h an additional, from the control command to Checking the characteristics of the data field descriptor dependent device to decide whether a given data field can be processed by the computing device. 19. Anlage nach Anspruch 15, dadurch gekennzeichnet , daß die Kennschlüssel-Adresse für direkten Zugriff zum Einschreiben und Wiederaufsuchen des Datensatzes benutzt wird.19. Installation according to claim 15, characterized in that the identification key address for direct Access to write in and retrieve the data set is used. 20. Anlage nach Anspruch 15, gekennzeichnet durch eine dritte, von einem dritten Teil des Kontrollbefehls abhängige Einrichtung zum Aufsuchen eines, eine Anfangskonstantc enthaltenden Registers, wobei die Recheneinrichtung die Anfangskonstante mit dem Datenfeld zwecks Erzeucfung der Kennschlüssel-Adresse für direkten Zugriff verkettet. 509825/094620. Plant according to claim 15, characterized by a third, from a third part of the control command dependent facility for finding one, an initial constantc containing register, wherein the arithmetic unit the initial constant with the data field for the purpose of generation concatenated to the passkey address for direct access. 509825/0946 21. Anlage nach Anspruch 20, gekennzeichnet durch eine Einrichtung, zum Verändern der Anfangskonstante zwecks Erzielung einer günstigeren Verteilung der Datensätze in dem Sekundärspeicher.21. Plant according to claim 20, characterized by a device for changing the initial constant in order to achieve a more favorable distribution of the data sets in the secondary memory. 22. Anlage zur Durchführung des Verfahrens nach Anspruch 1 mit einem intern programmierbaren Datenverarbeitungssystem, welches durch aus dem Hauptspeicher ausgelesene Befehle gesteuert wird und zum Aufsuchen von Datensätzen in einem Sekundärspeicher mittels eines den Datensatz jeweils eindeutig bestimmenden Datenfeldes herangezogen wird, gekennzeichnet durch22. Plant for performing the method according to claim 1 with an internally programmable data processing system, which is controlled by commands read from the main memory and for looking up data records in a secondary memory by means of a device which uniquely determines the data record in each case Data field is used, marked by eine Speichereinheit, welche auf Grund der erhaltenen Befehle logische Steuersignale zur Ausführung von Mikrooperationen in den Logikschaltkreisen des Systems erzeugt, eine Einspeicherung,des Datenfeldes des Datensatzes und der zugeordneten Datenfeld-Descriptoren in den Hauptspeicher, eine Einrichtung zum Aufsuchen des Datenfeldes über den zu- . geordneten Datenfeld-Descriptor in Abhängigkeit von einer Befehlsart und ' .a memory unit which, on the basis of the commands received, logic control signals for the execution of micro-operations in the logic circuits of the system generated, a storage, the data field of the data set and the assigned data field descriptors in the main memory, a device for looking up the data field via the. ordered data field descriptor depending on a command type and '. eine Einrichtung zur Ausführung der einen Befehlsart unter Steuerung durch die SteuerSpeichereinheit, wobei die eine Befehlsart zusammen mit den zugeordneten Datenfeld-Descriptoren eine Kennschlüssel-Adresse für direkten Zugriff des Datenfeldes errechnet; wodurch dessen Speicherplatz im Sekundärspeicher festliegt.a device for executing the one type of command under Control by the control storage unit, one type of instruction together with the assigned data field descriptors calculates an identification key address for direct access to the data field; thereby its storage space in the secondary storage is fixed. 23. Anlage nach Anspruch 22, dadurch gekennzeichnet , daß die eine Befehlsart ein Kontrollbefehl ist.23. System according to claim 22, characterized in that one type of command is a control command is. 24. Anlage nach Anspruch 22, dadurch gekennzeichnet, daß die Steuerspeichereinheit in Abhängigkeit des Kontrollbefehls den Datenfeld-Descriptor einem Test unterzieht, zwecks Bestimmung, ob der Kontrollbefehl hinsichtlich des Datenfeldes ausführbar ist.24. Plant according to claim 22, characterized in that that the control storage unit as a function of the control command the data field descriptor a test to determine whether the control command is executable with respect to the data field. 509825/0946509825/0946 25. Anlage nach Anspruch 24, dadurch gekennzeichnet, daß der Datcnfeld-Descriptor den Daten-25. Plant according to claim 24, characterized in that that the data field descriptor stores the data • typ und die Datenlänge des Datenfeldes beschreibt.• Describes the type and the data length of the data field. 26. Anlage nach Anspruch 22, dadurch gekennzeichnet., daß die Einrichtung zum Aufsuchen des Datenfeldes umfasst:26. Plant according to claim 22, characterized., that the means for searching the data field comprises: ein erstes Register,
ein zweites Register,
a first register,
a second register,
eine auf einen ersten Teil des Kontrollbefehls ansprechende Einrichtung zur Auswahl des ersten Registers, eine zweite Einrichtung zum Aufsuchen des Datenfeld-Descriptors, wobei die Steuerspeichereinheit den Inhalt des. ersten Registers mit einem zweiten Teil des Kontrollbefehls verkettet, . „a device for selecting the first register, which is responsive to a first part of the control command, second means for looking up the data field descriptor, wherein the control storage unit stores the contents of the first Register chained to a second part of the control command,. " eine dritte auf den einen Teil des ersten Wortes des Datenfeld-Descriptors ansprechende Einrichtung zur Auswahl des zweiten Registers unda third to the part of the first word of the data field descriptor appealing facility for selecting the second register and eine vierte Einrichtung zum Aufsuchen des Datenfeldes des Datensatzes, wobei die Steuerspeichereinheit den Inhalt des zweiten Registers mit dem Inhalt eines zweiten Teiles des ersten Wortes des Datenfeld-Descriptors verkettet.a fourth device for looking up the data field of the Data record, wherein the control storage unit combines the content of the second register with the content of a second part of the first word of the data field descriptor.
27. Anlage nach Anspruch 26, gekennzeichnet durch27. Plant according to claim 26, characterized by ein drittes, eine Anfangskonstante enthaltendes Register, eine Anwahl des dritten Registers über die Steuerspeichereinheit mittels eines vierten Teiles des Kontrollbefehles, wobei die Steuerspeichereinheit das Datenfeld in 4-B'it-Abschnitten in ein viertes Register überträgt und eine Ver-* Schiebung und Addierung des Inhalts des vierten Registers zu dem Inhalt des dritten Registers zwecks Bildung der Kennschlüssel-Adresse für direkten Zugriff bewirkt.a third register containing an initial constant, a selection of the third register via the control storage unit by means of a fourth part of the control command, the control storage unit dividing the data field in 4-bit sections transfers to a fourth register and a shift and addition of the content of the fourth register to the content of the third register for the purpose of forming the identification key address causes for direct access. 509825/0946509825/0946 28. Anlage nach Anspruch 27, dadurch gekennzeichnet, daß das dritte Register ein Isolationsregister und das vierte Register ein Zirkulationsregister ist. '28. Plant according to claim 27, characterized in that that the third register is an isolation register and the fourth register is a circulation register is. ' 50982&/094650982 & / 0946 HOHO LeerseiteBlank page
DE19742458331 1973-12-13 1974-12-10 DATA PROCESSING SYSTEM FOR ADDRESSING A DATA SET STORED IN A SECONDARY MEMORY Withdrawn DE2458331A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US42439173A 1973-12-13 1973-12-13

Publications (1)

Publication Number Publication Date
DE2458331A1 true DE2458331A1 (en) 1975-06-19

Family

ID=23682467

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19742458331 Withdrawn DE2458331A1 (en) 1973-12-13 1974-12-10 DATA PROCESSING SYSTEM FOR ADDRESSING A DATA SET STORED IN A SECONDARY MEMORY

Country Status (5)

Country Link
JP (1) JPS5093054A (en)
CA (1) CA1023476A (en)
DE (1) DE2458331A1 (en)
FR (1) FR2287724A1 (en)
GB (1) GB1494750A (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356710B2 (en) 2003-05-12 2008-04-08 International Business Machines Corporation Security message authentication control instruction
US7159122B2 (en) 2003-05-12 2007-01-02 International Business Machines Corporation Message digest instructions
US7257718B2 (en) 2003-05-12 2007-08-14 International Business Machines Corporation Cipher message assist instructions
US7921300B2 (en) 2003-10-10 2011-04-05 Via Technologies, Inc. Apparatus and method for secure hash algorithm
FR2917197B1 (en) * 2007-06-07 2009-11-06 Thales Sa METHOD OF MASKING THE RESULT OF A MODULAR MULTIPLICATION OPERATION AND ASSOCIATED DEVICE
US9251377B2 (en) 2012-12-28 2016-02-02 Intel Corporation Instructions processors, methods, and systems to process secure hash algorithms
US8924741B2 (en) 2012-12-29 2014-12-30 Intel Corporation Instruction and logic to provide SIMD secure hashing round slice functionality
US10038550B2 (en) 2013-08-08 2018-07-31 Intel Corporation Instruction and logic to provide a secure cipher hash round functionality
US10503510B2 (en) 2013-12-27 2019-12-10 Intel Corporation SM3 hash function message expansion processors, methods, systems, and instructions
US9912481B2 (en) 2014-03-27 2018-03-06 Intel Corporation Method and apparatus for efficiently executing hash operations
US9317719B2 (en) 2014-09-04 2016-04-19 Intel Corporation SM3 hash algorithm acceleration processors, methods, systems, and instructions
US9658854B2 (en) 2014-09-26 2017-05-23 Intel Corporation Instructions and logic to provide SIMD SM3 cryptographic hashing functionality

Also Published As

Publication number Publication date
JPS5093054A (en) 1975-07-24
FR2287724A1 (en) 1976-05-07
CA1023476A (en) 1977-12-27
FR2287724B1 (en) 1977-11-10
GB1494750A (en) 1977-12-14
AU7590974A (en) 1976-06-03

Similar Documents

Publication Publication Date Title
DE2459006C2 (en) Device for forming an absolute address in a data processing system
DE3991231C2 (en) Retrieving keyword sequence for concurrent processing
DE69912410T2 (en) FAST STRING SEARCHING AND INDICATING
DE2515696C2 (en) Data processing system
DE2230102C2 (en) Micro-programmed processor with bit-parallel data transmission
DE2458300A1 (en) DATA PROCESSING SYSTEM FOR PROCESSING VARIOUS DATA FORMATS
DE112011105774B4 (en) Movable storage that supports in-memory data structures
DE1246289B (en) Condition register for a program-controlled data processing system
DE2930441C2 (en) Display device for optional dynamic or static display
DE2846495A1 (en) DIGITAL DATA PROCESSING SYSTEM
EP1975821A2 (en) Method for digital storing of data on a data storage device with limited available space
DE1293857B (en) Circuit arrangement for controlling the bistable match display elements in an associative memory
DE2458331A1 (en) DATA PROCESSING SYSTEM FOR ADDRESSING A DATA SET STORED IN A SECONDARY MEMORY
DE112020000748B4 (en) ADDRESS GENERATION FOR HIGH PERFORMANCE PROCESSING OF VECTORS
DE2458286A1 (en) DATA PROCESSING SYSTEM FOR MOVING DATA FIELDS WITH DIFFERENT STRUCTURES
DE2000340A1 (en) Method and apparatus for searching condensed stored information
DE1449544A1 (en) Data processing machine with overlapping retrievable storage unit
DE2458259A1 (en) DATA PROCESSING SYSTEM TO COMPARE DIFFERENT DATA STRUCTURES
DE1964570A1 (en) Procedure for retrieving stored information
DE3518818A1 (en) DATA PROCESSING DEVICE AND METHOD AND DEVICE FOR IMPLEMENTING DATA ELEMENTS
DE2233193C3 (en) Stack storage system
DE10048478C2 (en) Method of accessing a storage unit when searching for substrings
DD294115A5 (en) DEVICE AND METHOD FOR SIGNAL PROCESSING
DE2062164A1 (en) Method for generating a multi-level index for stored data units
DE1955797A1 (en) Method for controlling the processing of input data and data processing system for this

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8130 Withdrawal