DE2041171B2 - Address computing device for large memory - Google Patents
Address computing device for large memoryInfo
- Publication number
- DE2041171B2 DE2041171B2 DE2041171A DE2041171A DE2041171B2 DE 2041171 B2 DE2041171 B2 DE 2041171B2 DE 2041171 A DE2041171 A DE 2041171A DE 2041171 A DE2041171 A DE 2041171A DE 2041171 B2 DE2041171 B2 DE 2041171B2
- Authority
- DE
- Germany
- Prior art keywords
- address
- memory
- data
- virtual
- data unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90339—Query processing by using parallel associative memories or content-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
Die Erfindung bezieht sich auf eine Adreßrecheneinrichtung für einen Großraumspeicher zur Speicherung von Dateneinheiten, in dem die Lage einer jeden Dateneinheit durch eine echte Adresse gegeben ist, Dateneinheiten vom Prozessor durch virtuelle Adressen aufgerufen werden und in Blöcken gruppiert sind, denen wiederum echte und virtuelle Adressen zugeordnet sind, wobei die virtuellen Adressen die Ordnung der Dateneinheiten innerhalb eines Blockes ausdrücken, und die Zuordnung von virtuellen und echten Adressen durch in einen assoziativen Speicher enthaltene Tabellen gegeben ist.The invention relates to an address computing device for a large memory for storage of data units, in which the location of each data unit is given by a real address, Data units are called up by the processor through virtual addresses and are grouped in blocks, which in turn are assigned real and virtual addresses, the virtual addresses being the order express the data units within a block, and the assignment of virtual and real addresses is given by tables contained in an associative memory.
Die Verwendung von Blockspeichern mit direktem Zugriff, wie ?.. B. großen Magnetplattendateien, nimmt in Recheneinrichtungen immer mehr zu. Es ist ganz allgemein erforderlich, daß die Verbesserung von laufend gespeicherten Datenaufzeichnungen und die Hinzufügung neuer Datenaufzeichnungen einfach und rasch durchgeführt wird. Die Datenaufzeichnungen müssen bedeutungsvolle Adressen innerhalb des Speichers aufweisen, damit eine augewählte Aufzeichnung ausgelesen werden kann.The use of block memories with direct access, such as? .. B. large magnetic disk files, is increasing in computing facilities. It is generally required that the improvement of continuously stored data records and the addition of new data records easy and is carried out quickly. The data records must have meaningful addresses within the Have memory so that a selected recording can be read out.
Das einfachste Adressiersystemi besteht darin, einen Speicherblock jeder Datenaufzeichnung zuzuweisen, die erwünscht ist, wobei die Aufzeichnungen in einer logischen Reihenfolge angeordnet werden, z. B. in regelmäßiger Aufeinanderfolge über eine Aufzeichnungsbezugszahl. Somit ist die Bezugszahl einer Aufzeichnung in einfacher Weise auf eine Blockadresse bezogen. Eine solche Anordnung hat zwei Nachteile. Einerseits können eine größere Anzahl von Datenaufzeichnungen nicht zu einem bestimmten Zeitpunkt vorhanden sein. Wenn die Aufzeichnungsbezugszahlen in regelmäßiger Folge gegebenen Kontozahlen entsprechen, ist klar, daß keine Datenaufzeichnungen für Konten vorhanden sind, die geschlossen worden sind, und für neue Konten, die noch nicht eröffnet worden sind. Andererseits sind Datenaufzeichnungen erheblich unterschiedlich in ihrer Länge, so daß viele Speicherblöcke nur teilweise gefüllt sind, da die Blocklänge hinreichend groß gewählt werden muß, damit die längste Aufzeichnung aufgenommen werden kann.The simplest addressing system is to assign a block of memory to each data record, which is desired, with the records arranged in a logical order, z. B. in regular succession via a record reference number. Thus the reference number is a record in a simple manner related to a block address. Has such an arrangement two disadvantages. On the one hand, a larger number of data records cannot be given to a particular one Point in time. When the record reference numbers are given in regular sequence Correspond to account numbers, it is clear that there are no data records for accounts that have been closed and for new accounts that have not yet been opened. On the other hand are Data records differ considerably in length, so that many memory blocks are only partially are filled, since the block length must be chosen to be large enough to make the longest recording can be included.
Um die unwirtschaftliche Ausnutzung von Speichern, die bei einem derartigen einfachen Adressiersystem erhalten wird, zu verbessern, sind bereits zahlreiche Vorschläge gemacht worden. Sie haben sich hauptsächlich auf den Programmiervorgang bezogen und lassen sich in zwei Kategorien einteilen. In der ersten Kategorie wird die notwendige Adresseninformation in einem getrennten Teil des Speichers in Form eines Verzeichnisses bereitgestellt. Jeder Verzeichniseintrag besteht aus einer Aufzeichnungsidentifizierung, z. B. den Aufzeichnungsbezugsadressen, für diese Aufzeichnung. Somit wird eine Aufzeichnung aus dem Speicher dadurch erhalten, daß in regelmäßiger Folge das Verzeichnis durchsucht wird, damit der entsprechende Aufzeichnungseintrag gefunden wird, und daß dann die bezogene Adresseninformation für den Zugriff zum Speicher verwendet wird.To the uneconomical use of memory, which with such a simple addressing system is obtained to improve, numerous proposals have already been made. they have themselves mainly related to the programming process and can be divided into two categories. In the first category is the necessary address information in a separate part of the memory in Provided in the form of a directory. Each directory entry consists of a record identification, z. The record references, for that record. Thus becomes a record obtained from the memory in that the directory is searched at regular intervals so that the corresponding record entry is found and then the related address information used to access the memory.
Die zweite Kategorie verwendet eine bestimmte Form der Zufallstechnik zur Zuweisung von Adressen. Beispielsweise kann eine Folge von arithmetischen Vorgängen an einem Teil der Daten der Aufzeichnung durchgeführt werden, wobei das Resultat als die Adresse der Aufzeichnung verwendet wird. Diese Technik kann die gleiche Adresse für verschiedene Aufzeichnungen ergeben, und es muß eine Prüfung durchgeführt werden, daß eine berechnete Adresse leer ist, bevor die Aufzeichnung in den Speicher eingegeben wird. Wenn die Adresse bereits besetzt ist, wird ein Überlaufprogramm verwendet, um eine neue Adresse zu bestimmen und einen Hinweis in der ursprünglichen Adresse auf die neue Adresse aufzuzeichnen.The second category uses a certain form of randomization technique to assign addresses. For example, a sequence of arithmetic operations on part of the data can be recorded using the result as the address of the record. This technique can result in the same address for different records and must be checked be performed so that a computed address is empty before recording in memory is entered. If the address is already occupied, an overflow program is used to to designate a new address and a reference in the original address to the new address to record.
Diese verbesserte Technik kann den Ausnutzungsgrad des Speichers erheblich vergrößern. Hand in Hand damit geht jedoch eine wesentliche Erhöhung des Zeitaufwandes, der für das Durchsuchen und Instandhalten des Verzeichnisses oder für die Berechnung von Adressen mit direktem Zugriff erforderlich ist.This improved technique can significantly increase memory utilization. Hand in This, however, goes hand in hand with a substantial increase in the time required for searching and maintenance of the directory or for the calculation of addresses with direct access is.
Die Verwendung eines assoziativen bzw. inhaltsadressierbaren Speichers als Index- oder Übersetzungseinrichtung in einer hierarchischen Speicheranordnung ist beispielswiese aus den US-PSen 3 275 991 und 3 248702 bekannt. Ein Speicher nach der US-PS 3248702 arbeitet in einen »Festblockbedarfsbetrieb«, bei welchem ein vollständiger Informationsblock, der aus einer vorbestimmten festen Anzahl von Datenausdrücken besteht, als Einheit zur Einführung in den raschesten Speicher aus dem Hilfsspeicher behandelt wird. Zwischen dem Speicheradressierregister und den Speichern ist eine Vergleichsmatrix eingeschaltet, die sowohl die Bezeichnungen dieser BlöckeThe use of an associative or content addressable memory as an index or translation facility In a hierarchical memory arrangement, for example, from US Pat. No. 3,275,991 and 3,248,702 known. A memory according to US-PS 3248702 works in a "fixed block operation", in which a complete information block consisting of a predetermined fixed number of Data expressions are treated as a unit for introducing the fastest memory from the auxiliary memory will. A comparison matrix is connected between the memory address register and the memories, the both the names of these blocks
laufend im schnellsten Speicher speichert als auch diese Bezeichnungen in ihre entsprechenden Speicherplatzadressen innerhalb des schnellsten Speichers übersetzt. Die Vergleichsmatrix dient somit als ini.altsadressierter Indexspeicher. Eine derartige Anordnung befaßt sich ausschließlich mit der Auswahl gewünschter Daten aus dem schnellsten Speicher aus einer Hierarchie von Speichern, und die Übertragung zwischen Speichern und Adressierung von Speicherplätzen durch das Speicheradressierregister erfolgt stets in Form eines vollständigen Blockes von Datenausdrücken. continuously saves these designations in the fastest memory as well as their corresponding memory address translated within the fastest memory. The comparison matrix thus serves as the originally addressed one Index store. Such an arrangement is solely concerned with selection desired data from the fastest memory from a hierarchy of memories, and the transfer takes place between storing and addressing of memory locations by the memory addressing register always in the form of a complete block of data expressions.
Im Falle der US-PS 3275991 arbeitet ein hierarchischer Speicher im Datenausdruck-Adressier-Betrieb. Dieser Speicher ist stets mit dem Speichern und Wiederauffinden von einzelnen Datenausdrücken befaßt, so daß er Datenblöcke nicht berücksichtigen braucht und damit auch die Probleme von Blöcken mit veränderlicher Länge nicht auftreten. Das Aufrufen der Speicherplätze des schnellsten Speichers erfolgt auf einer Prioritätsbasis anstatt nach dem Rotationsprinzip. Das verwendete Prioritätssystem basiert auf zurückliegenden Vorgängen der Verwendung eines jeden Datenausdruckes, und das System besitzt deshalb zwei inhaltsadressierbare Speicher, von denen einer einen »Prioritätswert« aufnimmt, der jedem Speicherplatz des schnellsten Speichers zugeordnet ist, und deren anderer Details der Hauptspeicheradressen der Datenausdrücke aufnimmt, die in jedem der Speicherplätze des schnellsten Speichers gespeichert sind.In the case of US Pat. No. 3,275,991, a hierarchical one operates Memory in data printout addressing mode. This memory is always with the save and Retrieval of individual data expressions is concerned, so that it does not take data blocks into account and thus the problems of blocks with variable length do not arise. The calling the fastest memory locations are on a priority rather than a rotation basis. The priority system used is based on the history of the use of a every data printout, and the system therefore has two content-addressable memories, one of which is one records a "priority value" that is assigned to each memory location of the fastest memory and its other details include the main memory addresses of the data items contained in each the memory locations of the fastest memory are saved.
Des weiteren ist es aus »Elektronische Datenverarbeitung« 6/68, Seiten 263-280 bekannt, zur Speicherung von Datenblöcken variabler Länge Grenzadressen dieser Blöcke in einer eigenen Tabelle anzugeben. Hierbei werden Datei-Kennsätze verwendet, die zur Identifizierung, Prüfung, Lokalisierung und Beschreibung der Speicherungsform der Datei dienen und die im Datei-Verzeichnis beim erstmaligen Erstellen der Datei gespeichert werden. In diesen Datei-Kennsätzen sind die Bereichsgrenzen eingetragen. Zum Aufsuchen einer bestimmten Datei wird der Datenträger-Kennsatz gelesen und geprüft und daraus die Adresse des Dateiverzeichnisses ermittelt. Dann wird das Dateiverzeichnis angesteuert und nach dem Kennsatz für eine bestimmte Datei durchsucht. Wird der Datei-Kennsatz gefunden, erfolgt die Ansteuerung der eigentlichen Datei mit Hilfe der im Kennsatz angegebenen Adressierungsgrenzen, und die Datei wird verarbeitet. Aus einer derartigen Anordnung läßt sich jedoch nicht entnehmen, wie die Adresseneinrichtung für die Ansteuerung eines Speichersystems mit dieser Struktur zu gestalten ist.It is also known from "Electronic Data Processing" 6/68, pages 263-280, for storage of data blocks of variable length to specify limit addresses of these blocks in a separate table. File labels are used for identification, checking, localization and description the form of storage of the file and those in the file directory when the File to be saved. The range limits are entered in these file labels. To seek out The volume label of a specific file is read and checked and the Address of the file directory determined. Then the file directory is controlled and after the Searched the label for a specific file. If the file label is found, it is activated the actual file using the addressing limits specified in the label, and the file is being processed. However, it cannot be seen from such an arrangement how the address means is to be designed for the control of a storage system with this structure.
Aufgabe der Erfindung ist es demgegenüber, eine Adreßrecheneinrichtung für einen Großraumspeicher anzugeben, in dem die Daten in Blöcken variabler Länge gespeichert und Dateneinheiten virtuell adressiert werden.In contrast, the object of the invention is to provide an address computing device for a large-capacity memory specify in which the data is stored in blocks of variable length and data units are virtually addressed will.
Die Lösung dieser Aufgabe ist im Patentanspruch gekennzeichnet.The solution to this problem is characterized in the claim.
Vorteil der Erfindung ist die Schaffung einer einfachen Adressiereinrichtung für einen Großraumspeicher bei Verwendung von Blöcken variabler Länge, wodurch sich eine bessere Ausnutzung des Speichers ergibt.The advantage of the invention is the creation of a simple addressing device for a large-capacity memory when using blocks of variable length, which results in better utilization of memory results.
Nachstehend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung erläutert.An exemplary embodiment of the invention is explained below with reference to the drawing.
Fig. 1 zeigt eine Speicheranordnung mit einer Plattendatei undFig. 1 shows a storage arrangement with a disk file and
Fig. 2 eine Adreßrecheneinrichtung.
Datenaufzeichnungen werden in einem Großraumspeicher in Form einer Plattendatei 1 gespeichert, die
herkömmlich ausgeführt sein kann und die aus einer Vielzahl von drehbaren magnetischen Aufzeichnungsplatten
und zugeordneten beweglichen magnetischen Auslese- und Aufzeichnungsköpfen besteht.
Jede Platte besitzt eine Vielzahl von Aufzeichnungsspuren und jede dieser Spuren ist virtuell in
verschiedene Sektoren unterteilt, deren jeder einen adressierfähigen Speicherplatz darstellt. Die Adresse
besteht aus einer Folge von Ziffern, die eine bestimmte Platte, eine Spur auf dieser Platte und einen
Sektor dieser Spur angeben.Fig. 2 shows an address computing device.
Records of data are stored in a large capacity memory in the form of a disk file 1, which may be of any conventional type and which consists of a plurality of rotatable magnetic recording disks and associated movable magnetic readout and recording heads. Each disk has a plurality of recording tracks and each of these tracks is virtually divided into different sectors, each of which represents an addressable storage location. The address consists of a sequence of digits which identify a particular disk, a track on this disk and a sector on this track.
Eine in der Plattendatei 1 zu speichernde Datenaufzeichnung kann vorübergehend in einem Schnellspeicher 2, z. B. einem Kernspeicher gehalten werden, der einem Prozessor 3 zugeordnet ist. Dieser Prozessor 3 erzeugt einen Datenübertragungsbefehl, der die virtuelle Adresse des Speicherplatzes in der Plattendatei 1 enthält, an welchem die Datenaufzeichnung beginnen soll. Aus Gründen der einfacheren Erläuterung wird unterstellt, daß die Aufzeichnungen in regelmäßiger Reihenfolge in der Plattendatei 1 aufgezeichnet werden und daß der Prozessor 3 die Adresse des letzten Speicherplatzes festhält, welcher zur Aufzeichnung verwendet worden ist. Die Startadresse für die laufende Aufzeichnung wird desha!b der nächste Platz in der Folge. Es können jedoch erforderlichenfalls andere Verfahren zur Bestimmung der Startadresse verwendet werden.A data record to be stored in the disk file 1 can be temporarily stored in a quick storage 2, e.g. B. be held in a core memory which is assigned to a processor 3. This Processor 3 generates a data transfer command containing the virtual address of the memory location in the Contains disk file 1 on which data recording is to begin. For the sake of simplicity Explanation assumes that the records are in regular order in the disk file 1 are recorded and that the processor 3 holds the address of the last memory location which has been used for recording. The start address for the current recording is therefore! B the next place in the sequence. However, other methods of determination can be used if necessary the start address.
Die echte Startadresse wird über die Leitung 4 der Adressenauswählvorrichtung 5 aufgegeben, damit die Plattendatei 1 zur Aufnahme der Daten durch Einstellung und/oder Auswahl des entsprechenden Aufzeichnungskopfes bereitgemacht wird. Wenn dies erfolgt ist, bewirkt ein Steuersignal, über das die Leitung 6 in den Kernspeicher 2 eingegeben wird, daß mit der Auslesung der Datenaufzeichnung begonnen wird. Die Daten werden in eine Datenein- und -ausgabevorrichtung 7 eingelesen, die die notwendigen Sektor- und anderen Taktgebersignale aus der Adressenauswählvorrichtung 5 über die Leitung 8 aufnimmt. The real start address is given over the line 4 of the address selector 5 so that the Disk file 1 for recording the data by setting and / or selecting the appropriate recording head is made ready. When this is done, a control signal causes the Line 6 is entered into the core memory 2 that the reading of the data record is started will. The data are read into a data input and output device 7, which has the necessary Sector and other clock signals from the address selector 5 via line 8 receives.
Jede Datenaufzeichnung besteht üblicherweise aus einer großen und veränderbaren Anzahl einzelner Datenwörter. Für die Zwecke vorliegender Beschreibung wird davon ausgegangen, daß jedes Datenwort nur einen Speicherplatz einnimmt. Die Lage einer Datenaufzeichnung in der Plattendatei 1 kann somit vollständig dadurch angegeben werden, daß die Adressen der ersten und letzten Speicherplätze, die beim Aufzeichnen der Datenaufzeichnung vewendet werden, angegeben werden. Andererseits kann die Lage der Datenaufzeichnung durch Relativadressierung für den Start und die Beendigung der Aufzeichnung und die Startadresse im Speicher spezifiziert werden.Each data recording usually consists of a large and changeable number of individual ones Data words. For the purposes of this description it is assumed that each data word only occupies one space. The location of a data record in the disk file 1 can thus fully specified by the addresses of the first and last memory locations that used when recording the data log. On the other hand, the Position of the data recording through relative addressing for the start and end of the recording and the start address in memory can be specified.
Wird eine Folgeanordnung verwendet, um die Datenaufzeichnungen anfangs in den Speicher einzuführen, wird der Speicher dicht bepackt. Es kann dann erforderlich sein, einige der Aufzeichnungen zu einem späteren Zeitpunkt zu verbessern und einige solche Verbesserungen können die Länge der Aufzeichnungen erhöhen. Dies läßt sich durch Anwendung einer Kettenadressierung erreichen. Bei einer derartigen Anordnung wird der Überlauf aus dem ursprünglichenIf a sequential arrangement is used to initially introduce the data records into memory, the storage tank is densely packed. It may then be necessary to transfer some of the records to one Later date to improve and some such improvements can reduce the length of the records raise. This can be achieved by using chain addressing. With such a Arrangement will overflow from the original
Aufzeichnungsbereich in einem oder mehreren räumlich getrennten Bereichen der Plattendatei 1 aufgezeichnet. Eine Bezugnahme auf den ursprünglichen Bereich ergibt die Adresse des ersten Überlaufbereiches, der erste Überlaufbereich enthält die Adresse des zweiten Überlaufbereiches usw. Auf diese Weise kann ein Zugriff zu der vollständigen Aufzeichnung erhalten werden, obgleich sie in der Plattendatei 1 in Bruchteilen vorliegt.Recording area recorded in one or more spatially separated areas of the disk file 1. A reference to the original area results in the address of the first overflow area, the first overflow area contains the address of the second overflow area, and so on. In this way the complete record can be accessed even though it is in the disk file 1 in Fractions.
Gleichzeitig mit der Übertragung der Aufzeichnung aus dem Kernspeicher 2 in die Plattendatei 1 steuert der Prozessor 3 die virtuelle Adresse der gewünschten Informtion in einen Assoziativspeicher 9 herkömmlicher Ausgestaltung über eine Leitung 10 an. Der Aufbau der Adresseninformationen im einzelnen kann entsprechend den Aufzeichnungsverarbeitungsvorgängen ausgewählt werden, die von dem Prozessor 3 verwendet werden. Ein zweckmäßiger Aufbau besteht darin, die virtuellen Start- und Stoppadressen eines Aufzeichnungsblockes zu spezifizieren, wobei die Kettenadresse der Startadresse des nächsten Blockes der Datei und der Startadresse in der Plattendatei 1 des Aufzeichnungsblockes entspricht. Dies gilt, wenn das Programm, da der Prozessor 3 steuert, in einer solchen Form geschrieben ist, daß er eine Aufzeichnung durch Bezugnahme auf die virtuellen Adressen identifiziert. Andererseits können die virtuellen Adressen durch andere Aufzeichnungsbezugsanzeigen, z. B. einen Aufzeichnungsnamen oder eine Aufzeichnungszahl, ergänzt oder ersetzt werden. Eine andere Möglichkeit besteht darin, den Aufzeichnungsnamen, die Anzahl von Datenwörtern, die in vorausgehenden Blöcken der Aufzeichnung enthalten sind, die Start- und Stoppadressen im Blockspeicher dieses Blockes, und eine Kettenadresse, die zum nächsten Block führt, anzugeben.Simultaneously with the transfer of the recording from the core memory 2 to the disk file 1 controls the processor 3 the virtual address of the desired information in an associative memory 9 conventional Design via a line 10. The structure of the address information in detail can can be selected in accordance with the recording processing operations performed by the processor 3 be used. A useful structure is to use the virtual start and stop addresses of a Recording block, where the chain address is the start address of the next block corresponds to the file and the start address in disk file 1 of the recording block. This is true when the program, which the processor 3 controls, is written in such a form as to make a record identified by reference to the virtual addresses. On the other hand, the virtual Addresses by other record related advertisements, e.g. B. a record name or record number, can be supplemented or replaced. Another option is to change the record name, the number of data words that are in previous blocks of the recording are contained, the start and stop addresses in the block memory of this block and a chain address that leads to the next block.
Gleichgültig, welcher Aufbau für die Ansteuerung in den Assoziativspeicher 9 gewählt worden ist, reicht die Information aus, um jede Aufzeichnung oder einen Teil einer Aufzeichnung einschließlich eines individuellen Datenwortes in der Aufzeichnung aus der Plattendatei 1 wiedergewinnen zu können. Die entsprechende virtuelle Aufzeichnungsidentifizierinformation für eine gewünschte Aufzeichnung oder einen Teil einer Aufzeichnung wird über eine Leitung 11 aus dem Prozessor 3 in den Assoziativspeicher 9 eingeführt. Diese Eingangsinformation wird in an sich bekannter Weise effektiv parallel mit der Aufzeichnung verglichen, die einen Teil aller Eingänge in den Speicher 9 identifiziert und alle Eingänge, die gleich der Eingangsinformation sind, werden markiert. Beispiele für Assoziativspeicher, die zur Verwendung im Falle vorliegender Erfindung geeignet sind, können der US-PS 3339181 oder der GB-PS 973 866 entnommen werden. Die markierten Eingänge werden nacheinander aus dem Speicher 9 in eine Adreßrecheneinrichtung 12 ausgelesen, die ferner die Eingangsinformation über die Leitung 11 aufnimmt. Die Adreßrecheneinrichtung 12 bestimmt die echte Adresse der gewünschten Daten in der Plattendatei 1.Regardless of which structure has been selected for the control in the associative memory 9, is sufficient the information out to any record or part of a record including an individual To be able to recover data word in the recording from the disk file 1. The corresponding virtual record identification information for a desired record or Part of a recording is transferred from the processor 3 to the associative memory 9 via a line 11 introduced. This input information is effectively parallel with the recording in a manner known per se compared that identifies a part of all inputs in the memory 9 and all inputs that are the same of the input information are marked. Examples of associative memories that can be used in the If the present invention is suitable, US-PS 3339181 or GB-PS 973 866 can be found will. The marked inputs are successively transferred from the memory 9 to an address computing device 12, which also receives the input information via line 11. the Address calculator 12 determines the real address of the desired data in disk file 1.
Wenn beispielsweise ein bestimmtes Datenwort spezifiziert wird, kann die Adreßrecheneinrichtung 12 zusammen mit dem Assoziativspeicher 9 aus den virtuellen Adressen bestimmen, welcher der Aufzeichnungsblöcke das gewünschte Datenwort enthält, und berechnet dann die echte Plattendateiadresse dieses Datenwortes. Diese Adresse wird über eine Leitung 13 an eine Andressenauswählvorrichtung S gegeben, die die Adresse auswählt und die Daten aus der Plattendatei 1 in den Kernspeicher 2 über die Eingabe-Ausgabevorrichtung 7 in analoger Weise, wie dies in Verbindung mit dem Eintritt von Daten beschrieben worden ist, einliest.If, for example, a certain data word is specified, the address calculation device 12 together with the associative memory 9 determine from the virtual addresses which of the recording blocks contains the desired data word, and then computes the real disk file address of this Data word. This address is given via a line 13 to an address selection device S, which selects the address and the data from the disk file 1 into the core memory 2 via the input-output device 7 in a manner analogous to that described in connection with the entry of data has been read.
Die speziellen Vorgänge, die von der Adreßrecheneinrichtung 12 durchgeführt werden, hängen von dem Aufbau der Eingänge in den Speicher 9 und von der Art der Auswahl ab, beispielsweise, ob ein vollständiger Dateianteil oder ein bestimmtes Datenwort ausgewählt werden soll. In Fig. 2 ist gezeigt, wie eine Adreßrecheneinrichtung 12 ausgebildet sein kann, damit sie eine Datenwortadresse in der Plattendatei 1 berechnet. Wenn das erste vorbeschriebene Format verwendet wird, spezifiziert die virtuelle Adresse den bestimmten Plattendateiblock, so daß nur ein Eingang in den Assoziativspeicher 9 markiert wird. Die Adreßrecheneinrichtung 12 berechnet dann die echte Datenwortadresse, indem sie die virtuelle Startadresse des Datenblockes Al (virtuelle Startadresse des Blokkes, in dem die gesuchte Dateneinheit steht) von deiThe special processes which are carried out by the address computing device 12 depend on the structure of the inputs in the memory 9 and on the type of selection, for example whether a complete file portion or a specific data word is to be selected. FIG. 2 shows how an address calculating device 12 can be designed so that it calculates a data word address in the disk file 1. When the first format described above is used, the virtual address specifies the particular disk file block so that only one entry into the associative memory 9 is marked. The Adreßrecheneinrichtung 12 then calculates the real data word address by the start address of the virtual data block Al (starting virtual address of the Blokkes in which the requested data unit is available) by dei
jo virtuellen Datenwortadresse Al (virtuelle Adresse der gesuchten Dateneinheit) im Subtrahierer 14 subtrahiert und das Resultat (Ax-A1) zur rechten Blockspeicher-Startadresse A3 (echte Adresse des Blockes, in der die gesuchte Dateneinheit steht) hinzuaddiert.jo subtract virtual data word address Al (virtual address of the data unit sought) in subtracter 14 and add the result (A x -A 1 ) to the right block memory start address A 3 (real address of the block in which the data unit sought is located).
Die echte Datenwortadresse für die Plattendatei 1 wird dann der Adressenauswählvorrichtung 5 über die Leitung 13 zugeführt.The real data word address for the disk file 1 is then transmitted to the address selector 5 via the Line 13 supplied.
Daraus ergibt sich ein augenblicklicher Zugriff zu allen Aufzeichnungsadreßinformationen in dem Assoziativspeicher 9. Die Adressenberechnung, die vor der Adreßrecheneinrichtung 12 ausgeführt wird, isi einfach und gestattet einen Zugriff zu einem beliebigen Teil der Plattendatei 1 innerhalb eines Zeitraumes, der sehr viel kleiner ist, als er sich bei bekannter Systemen für die gleichen Grundzugriffszeiten für dit Plattendatei 1 und den Kernspeicher 2 erzielen läßt Das beschriebene Ausführungsbeispiel ist auf dieThis results in instant access to all record address information in the associative memory 9. The address calculation which is carried out before the address calculator 12 isi simple and allows access to any part of the disk file 1 within a period of time, which is much smaller than it would be in known systems for the same basic access times for dit Disk file 1 and the core memory 2 can be achieved. The embodiment described is based on the
Verwendung einer Plattendatei 1 als Blockspeichei und eines Kernspeichers als Schnellspeicher 2 abgeUse of a disk file 1 as block storage and a core storage as high-speed storage 2
so stellt. Es lassen sich jedoch anstelle der Plattendate andere Arten von Speichern zur Erzielung vergleichbarer Ergebnisse verwenden. Beispielsweise kann an stelle der Plattendatei 1 eine Magnettrommel oder eit großer, verhältnismäßig langsam arbeitender Kern speicher verwendet werden, und der Schnellspeicher ί kann dünne magnetische Filme oder Halbleitet ent halten. Der Assoziativspeicher 9 kann für verschie dene Verarbeitungsanlagen in einer Multiplexanlagi zur Verfügung stehen, damit in dieser eine Blockspei cherung erzielt wird.so poses. However, instead of the disk data use other types of memory to get comparable results. For example, at Put a magnetic drum or a large, relatively slow-working core on the disk file 1 memory can be used, and the high-speed memory ί can store thin magnetic films or semiconductors keep. The associative memory 9 can be used for various processing systems in a Multiplexanlagi are available so that a block storage is achieved in this.
Claims (1)
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| GB4233769 | 1969-08-26 |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| DE2041171A1 DE2041171A1 (en) | 1971-03-11 |
| DE2041171B2 true DE2041171B2 (en) | 1978-07-20 |
| DE2041171C3 DE2041171C3 (en) | 1979-03-22 |
Family
ID=10423978
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE2041171A Expired DE2041171C3 (en) | 1969-08-26 | 1970-08-19 | Address computing device for large memory |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US3676857A (en) |
| DE (1) | DE2041171C3 (en) |
| FR (1) | FR2059687B1 (en) |
| GB (1) | GB1266579A (en) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3693165A (en) * | 1971-06-29 | 1972-09-19 | Ibm | Parallel addressing of a storage hierarchy in a data processing system using virtual addressing |
| US3800286A (en) * | 1972-08-24 | 1974-03-26 | Honeywell Inf Systems | Address development technique utilizing a content addressable memory |
| US3958222A (en) * | 1974-06-27 | 1976-05-18 | Ibm Corporation | Reconfigurable decoding scheme for memory address signals that uses an associative memory table |
| US4212058A (en) * | 1975-09-27 | 1980-07-08 | National Research Development Corporation | Computer store mechanism |
| JPS55135951A (en) * | 1979-04-10 | 1980-10-23 | Canon Inc | Electronic computer |
| US4587610A (en) * | 1984-02-10 | 1986-05-06 | Prime Computer, Inc. | Address translation systems for high speed computer memories |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3292152A (en) * | 1962-09-17 | 1966-12-13 | Burroughs Corp | Memory |
| US3387283A (en) * | 1966-02-07 | 1968-06-04 | Ibm | Addressing system |
| US3435423A (en) * | 1966-09-01 | 1969-03-25 | Gen Precision Systems Inc | Data processing system |
| FR1546203A (en) * | 1966-12-22 | 1900-01-01 |
-
1969
- 1969-08-26 GB GB4233769A patent/GB1266579A/en not_active Expired
-
1970
- 1970-08-12 US US63163A patent/US3676857A/en not_active Expired - Lifetime
- 1970-08-19 DE DE2041171A patent/DE2041171C3/en not_active Expired
- 1970-08-25 FR FR7031112A patent/FR2059687B1/fr not_active Expired
Also Published As
| Publication number | Publication date |
|---|---|
| FR2059687A1 (en) | 1971-06-04 |
| FR2059687B1 (en) | 1978-03-10 |
| US3676857A (en) | 1972-07-11 |
| DE2041171C3 (en) | 1979-03-22 |
| GB1266579A (en) | 1972-03-15 |
| DE2041171A1 (en) | 1971-03-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE2515696C2 (en) | Data processing system | |
| DE2415900C3 (en) | Computing machine with several computing systems, each provided with a storage tank | |
| DE69030945T2 (en) | Two-level address translation buffer with partial addresses to increase speed | |
| DE3151745C2 (en) | ||
| DE68929229T2 (en) | Control device with a cache memory and method for controlling the cache memory | |
| DE2521436C3 (en) | Information retrieval arrangement | |
| DE1499182C3 (en) | Data storage system | |
| DE1146290B (en) | Electronic data processing system | |
| DE2154106A1 (en) | RAM drive | |
| DE2523414B2 (en) | Hierarchical storage arrangement with more than two storage levels | |
| DE2235841A1 (en) | ARRANGEMENT FOR MEMORY CONTROL WITH LOGICAL AND REAL ADDRESSING | |
| DE2310631A1 (en) | STORAGE HIERARCHY FOR A DATA PROCESSING SYSTEM | |
| DE2055522B2 (en) | ARRANGEMENT FOR ENTERING DATA INTO A DIGITAL DATA PROCESSING SYSTEM | |
| DE3685844T2 (en) | ELECTRONIC CIRCUIT TO CONNECT A PROCESSOR TO A POWERFUL MEMORY. | |
| DE2149200B2 (en) | Device for the selection of data that is most frequently required in the course of a program processing | |
| DE2041171C3 (en) | Address computing device for large memory | |
| DE1574502C3 (en) | Associative memory | |
| DE2233193A1 (en) | STACK STORAGE SYSTEM | |
| EP1204917B1 (en) | Stack of operands and method for stacking of operands | |
| DE1774607A1 (en) | Fast access storage system | |
| DE1549473A1 (en) | Data storage system or method for dividing data storage media | |
| DE3121710C2 (en) | Control device for a virtual memory in a data processing system | |
| DE3788824T2 (en) | Device and method for page replacement in a data processing system with virtual memory. | |
| DE1955797A1 (en) | Method for controlling the processing of input data and data processing system for this | |
| DE1221037B (en) | Process for storing hierarchically ordered data chains and arrangement for carrying out this process |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C3 | Grant after two publication steps (3rd publication) | ||
| 8339 | Ceased/non-payment of the annual fee |