DE2002369C3 - Data processing system with buffer memory - Google Patents

Data processing system with buffer memory

Info

Publication number
DE2002369C3
DE2002369C3 DE19702002369 DE2002369A DE2002369C3 DE 2002369 C3 DE2002369 C3 DE 2002369C3 DE 19702002369 DE19702002369 DE 19702002369 DE 2002369 A DE2002369 A DE 2002369A DE 2002369 C3 DE2002369 C3 DE 2002369C3
Authority
DE
Germany
Prior art keywords
memory
address
word
data
buffer memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE19702002369
Other languages
German (de)
Other versions
DE2002369A1 (en
DE2002369B2 (en
Inventor
Joseph A. Cherry Hill N.J. Weisbecker (V.St.A.)
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.)
RCA Corp
Original Assignee
RCA Corp
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 RCA Corp filed Critical RCA Corp
Publication of DE2002369A1 publication Critical patent/DE2002369A1/en
Publication of DE2002369B2 publication Critical patent/DE2002369B2/en
Application granted granted Critical
Publication of DE2002369C3 publication Critical patent/DE2002369C3/en
Expired legal-status Critical Current

Links

Description

Die vorliegende Erfindung betrifft eine Datenverarbeitungsanlage mit mindestens einer Verarbeitungseinheit, ferner mit einem Pufferspeicher, welcher mehrere Speicherplätze enthält, in denen jeweils Information für die Verwendung in der Verarbeitungseinheit und ein Kennungsabschnitt gespeichert sind, weiterhin mit einem aus zwei Teilen bestehenden Adressengenerator zum Erzeugen zweier Adressen, von denen die erste einen Lokalisierungsabschnitt zur Identifizierung eines Pufferspeicherplatzes und die zweite einen Suchabschnitt enthält, ferner mit einem durch die vom Adressengenerator aus dem Lokalisierungsabschnitt erzeugte Adresse gesteuerten und zum Abfragen von Information dienenden ersten Wähler, der aus dem adressierten Speicherplatz sowohl die Information als auch den dort gespeicherten Kennungsabschnitt herausliest, mit mindestens einem Satz von Verknüpfungsgliedern zur Übertragung von Information zwischen einem Speicherplatz und der Verarbeitungseinheit und schließlich mit mindestens einem Vergleicher, dem der aus dem Speicherplatz herausgelesene Kennungsabschnitt und der vom Adiessengenerator bereitgestellte Suchabschnitt zugeführt sind und der bei Übereinstimmung ein Gleichheitssignal an den Satz von Torschaltungen liefert.The present invention relates to a data processing system with at least one processing unit, furthermore with a buffer memory, which contains several memory locations, each containing information for use in the processing unit and an identifier portion are stored, further comprising a two-part Address generator for generating two addresses, the first of which is a localization section for identifying a buffer location and the second includes a search section, further comprising one controlled by the address generated by the address generator from the locating section and for querying information serving first selector, both from the addressed memory location reads out the information as well as the identifier section stored there, with at least one Set of links for transferring information between a memory location and the Processing unit and finally with at least one comparator, the one from the memory space The identification section read out and the search section provided by the Adiessen generator are supplied and which, if they match, supplies a match signal to the set of gates.

Datenverarbeitungseinheiten können bekanntlich schneller arbeiten als der gewöhnlich dazugehörige große Randomspeicher (Speicher mit beliebigem Zugriff) oder anderweitige Speicher. Jedoch ist der Zeitsteiierzyklus einer solchen Datenverarbeitungseinheit von der Speicherzykluszeit abhängig und durch diese festgelegt. Datenverarbeitungsanlagen mit sogenanntem Zeitteilungsbetrieb sowie Datenverarbeitungsanlagen mit Multiprozessierung stellen ferner bekanntlich größere Anforderungen an das Speicherwerk als Datenverarbeitungsanlagen vom Standardtyp, bei denen z. B. eine Verarbeitungseinheit für die Durchführung jeweils eines Programms auf der Grundlage eines Programms von Befehlen und Dalen, die von einem einzigen Hauptspeicher geliefert werden können, vorgesehen sein kann. Bei einer Datenverarbeitungsanlage mit Zeitteilungsbetrieb führt eine Datenverarbeitungseinheit verschiedene Programme nach einem Zeitmultiplexschema durch, d. h., jedes Programm benutzt die gesamte Datenverarbeitungseinheit jeweils für kurze, aufeinanderfolgende Zeilintervalle, gewöhnlich gemessen in Mikrosekunden, wobei einzelne Programmabschnitte mit Abschnitten der anderen Programme verschachtelt sind. Multiprozessierung be-As is well known, data processing units can work faster than the one usually associated with them large random memory (memory with any access) or other memory. However that is Timing cycle of such a data processing unit depends on the memory cycle time and determined by this. Data processing systems with so-called time sharing operation and data processing systems with multiprocessing are also known to make greater demands on the storage unit than data processing systems from Standard type, where e.g. B. a processing unit for the implementation of a program on the basis of a program of instructions and data supplied by a single main memory can be provided. In a data processing system with time division operation, one data processing unit carries out various Programs according to a time division multiplex scheme, d. that is, each program uses the entire Data processing unit in each case for short, successive line intervals, usually measured in microseconds, with individual program sections with sections of other programs are nested. Multiprocessing

deutet die gleichzeitige Durchführung verschiedener Programme oder die gleichzeitige Durchführung verschiedener Teile eines Programms durch verschiedene Datenverarbeitungseinheiten (oder Rechenwerke) innerhalb einer einzigen, speziell fü.: diesen Zweck konstruierten Datenverarbeitungsanlage.indicates the simultaneous execution of different programs or the simultaneous execution of different ones Parts of a program through different data processing units (or arithmetic units) within a single, specially for: this purpose constructed data processing system.

Bei einem Randomspeicher der obengenannten Art ist ein Speicherzyklus herkömmlicherweise in zwei Teile, einen Lesezyklus und eineu Schreibzyklus unterteilt. Bei Speichern mit zerstörender Ablesung bezeichnet man den Schieibzyklus auch als Rückspeicherzyklus. Der Wirkungsgrad von Anlagen der obengenannten Art kann dadurch verbessert werden, daß man einen schnelleren Speicher oder daß man mehrere kleine Speicher an Stelle eines großen Speichers verwendet. Die letztgenannte Methode macht es möglich, daß die Verarbeitungseinheit nur während des Lesezyklus des Speichers wartet. Sobald die Daten vom Speicher zur Vera^beitungseinheit übertragen sind, kann die Verarbeitungseinheit mit den neugelieferten Daten arbeiten, während der Speicher den Rückspeicherzyklus vollführt. Sobald der Zugriff zu einem ersten Speicher vollzogen ist, kann unmittelbar der Zugriff zu einem anderen Speicher eingeleitet werden, so daß die Verzögerung vermieden wird, die sich ergibt, wenn auf die Beendigung des Rückspeicherzyklus im ersten Speicher gewartet wird.In a random memory of the type mentioned above, a memory cycle is conventionally in divided into two parts, a read cycle and a write cycle. When storing with destructive reading the write cycle is also referred to as the restore cycle. The efficiency of systems of the Above type can be improved by having a faster memory or that one uses multiple small memories in place of one large memory. The latter method enables the processing unit to wait only during the read cycle of the memory. As soon as the data have been transferred from the memory to the processing unit, the processing unit can with the newly supplied data work while the memory is performing the restore cycle. As soon as access to a first memory has been completed, access to another can be carried out immediately Memories are initiated so that the delay that incurs when terminating is avoided the restore cycle is waited in the first memory.

Bei der Multiprozessierung kann es geschehen, daß mehrere Verarbeitungseinheiten den Speicher zugleich zu beanspruchen versuchen. In diesem Fall ergibt sich ein »Ansteheffekt«, derart, daß sämtliche bis auf eine der verschiedenen Verarbeitungseinheiten auf den Zugang zum Hauptspeicher warten. Die wartenden Verarbeitungseinheiten können erst dann mit ihren Operationen fortfahren, wenn ihre einzelnen Speicheransuchen erfüllt sind.In multiprocessing it can happen that several processing units use the memory try to claim at the same time. In this case there is a "queuing effect" such that all wait for one of the various processing units to access the main memory. the Waiting processing units cannot continue their operations until their individual Memory requests are fulfilled.

Bei einer Anlage mit Multiprozessierung, mit verschiedenen unabhängigen Verarbeitungseinheiten, die sich in einen gemeinsamen Hauptspeicher teilen, oder bei einer Anlage mit Multiprogrammierung (bei der eine Verarbeitungseinheit auf die Durchführung verschiedener Programme programmiert wird) hat die Verwendung eines kleinen Pufferspeichers für jede Verarbeitungseinheit zum Speichern der Daten, mit welchen die dazugehörige Verarbeitungseinheit arbeitet, mindestens zwei Vorteile. Einmal ist (im Falle einer Anlage mit Multiprozessierung oder im Falle einer Anlage mit Zeitteilungsbetrieb) der Pufferspeicher kleiner und kann daher schneller arbeiten als der große Hauptspeicher. Sodann verringern sich (im Falle einer Anlage mii Multiprozessierung) bei Verwendung eines Pufferspeichers die Anforderungen an den Hauptspeicher, indem die Anzahl von Malen sich erniedrigt, die eine Verarbeitungseinheit darauf warten muß, daß die Speichererfordernisse einer anderen Verarbeitungseinheit erfüllt sind.In a system with multiprocessing, with different independent processing units, the share in a common main memory, or in a system with multi-programming (with the a processing unit is programmed to run various programs) has the Using a small buffer memory for each processing unit to store the data, with which the associated processing unit operates, at least two advantages. Once is (in In the case of a system with multiprocessing or in the case of a system with time division operation) the Buffer memory is smaller and can therefore work faster than the large main memory. Then decrease (in the case of a system with multiprocessing) when using a buffer memory the Main memory requirements by decreasing the number of times that a processing unit must wait for another processing unit to meet its memory requirements are.

Im Interesse des Wirkungsgrades der Programmierung ist es erforderlich und wünschenswert, daß die Daten stets durch ihre Adressen im Hauptspeicher adressiert werden, obwohl der größte Teil der Daten aus einem Pufferspeicher geholt werden. Die Zuordnung der Speicherstellen wird erleichtert, und die gleichen Daten können von verschiedenen Verarbeitungseinheiten verwendet werden. Der Pufferspeicher, der weniger Speicherstellen hat als der Hauptspeicher, muß so organisiert sein, daß die Hauptspeicheradresse dazu Verwender wird, entweder die Daten zu lokalisieren oder zu ermitteln, daß die Daten sich nicht im Pufferspeicher befinden.In the interests of programming efficiency, it is necessary and desirable that the Data are always addressed by their addresses in main memory, although most of the data is can be fetched from a buffer memory. The allocation of the memory locations is made easier, and the The same data can be used by different processing units. The buffer tank, which has fewer memory locations than the main memory must be organized so that the main memory address this user is either to locate the data or to determine that the data is are not in the buffer tank.

Wenn die adressierten Daten sich nicht im Pufferspeicher befinden, werden die Daten vom Hauptspeicher abgerufen, so daß sie dann zur Verarbeitungseinheit auf deren Datenansuchen hin übertragen werden können. Diese Daten können auch im Pufferspeicher gespeichert werden. Durch Übertragung großer Anzahlen von Wörtern (Blöcken) in der Nachbarschaft der gewünschten Daten vom Hauptspeicher in den Pufferspeicher wird der Wirkungsgrad einer Pufferanordnung verbessert, weil die meisten Programme Daten verwenden, die sich in benachbarten Stellen des Hauptspeichers befinden. Wenn daher ein adressiertes Wort nicht im Pufferspeicher ist, wird durch Übertragung verschiedener, im Hauptspeicher diesem Wort benachbarter Wörter zusammen mit dem adressierten Wert zum Pufferspeicher die Wahrscheinlichkeit erhöht, daß später adressierte Wörter sich im Pufferspeicher befinden.If the addressed data is not in the buffer memory, the data is taken from the main memory retrieved so that they are then transmitted to the processing unit upon its data requests can be. This data can also be stored in the buffer memory. By transmission large numbers of words (blocks) in the vicinity of the desired data from main memory in the buffer memory, the efficiency of a buffer arrangement is improved because the Most programs use data that is in adjacent locations in main memory. If, therefore, an addressed word is not in the buffer memory, different, in the main memory of this word of neighboring words together with the addressed value to the buffer memory increases the likelihood that words addressed later will be in the buffer memory.

Aus der Veröffentlichung von G. G. Scarrot, »The Efficient Use of Multilevel Storage«, erschienen in den »Proceedings of the IFIPS Congress 1965« (Spartan Books), S. 137 bis 141, ist bereits eine Datenverarbeitungsanlage des eingangs genannten Typs bekanntgeworden, bei der die Tatsache ausgenutzt wird, daß bei vielen Programmen, insbesondere wissenschaftlichen Berechnungen, ein großer Teil der Rechenzeit in kleineren Programmschleifen verbraucht wird und die Befehle in solchen Schleifen gewöhnlich aufeinanderfolgende Adressen haben. Die bekannte Datenverarbeitungsanlage enthält z. B. einen langsamen Speicher mit einer Kapazität von 16 384 Wörtern und einen schnellen Speicher mit einer Kapazität von 16 Wörtern. Eine Adresse besteht dann für einen Platz des langsamen Speichers aus 14 Bits und für einen Platz im schnellen Speicher aus 4 Bits. Jedem Wort im schnellen Speicher ist bei der bekannten Datenverarbeitungsanlage eine 14-Bit-Adresse zugeordnet, von der die 4 Bits der niedrigsten Stellen fest sind und mit der Adresse im schnellen Speicher übereinstimmen. Die restlichen 10 Bits sind veränderlich und werden von einem füt diesen Zweck vorgesehenen Adressenspeicherplatz im schnellen Speicher aufgenommen. Benötigt das Rechenwerk für die Durchführung eines Befehls ein Wort aus dem Speicherwerk, so wird das Wort aus der Adresse des schnellen Speichers herausgelesen, die durch die vier niedrigsten Bits der vom Rechenwerk geforderten Adresse definiert ist. Die übriger 10 Bits der gewünschten Adresse werden dann mi' den 10 veränderlichen Adressenbits aus dem gelesenen Platz des schnellen Speichers verglichen, unc bei Übereinstimmung wird das gelesene Wort zui Durchführung des Befehls verwendet. Wird kein< Übereinstimmung festgestellt, so wird das benötigt« Wort aus dem langsamen Speicher entnommen unc gleichzeitig mit der richtigen 10-Bit-Adressenver längerung im schnellen Speicher gespeichert, wöbe dessen früherer Inhalt gelöscht wird. Durch diesi Maßnahmen wird erreicht, daß die Operationen eine Programmschleife verhältnismäßig rasch durchgeführ werden können, nachdem das erste Wort noch ver hältnismäßig langsam aus dem langsamen Speiche entnommen worden ist.From the publication by G. G. Scarrot, "The Efficient Use of Multilevel Storage" in the "Proceedings of the IFIPS Congress 1965" (Spartan Books), pp. 137 to 141, is already one Data processing system of the type mentioned became known in which the fact is exploited becomes that with many programs, especially scientific calculations, a large part the computing time is used in smaller program loops and the commands in such loops usually have consecutive addresses. The known data processing system contains z. B. a slow memory with a capacity of 16,384 words and a fast memory with a capacity of 16 words. An address then exists for a slow memory location from 14 bits and for a place in the high-speed memory from 4 bits. Every word in the fast memory is with the known data processing system is assigned a 14-bit address, of which the 4 bits are the lowest Determine and match the address in the fast memory. The remaining 10 bits are variable and are stored in an address storage space provided for this purpose recorded in fast memory. Requires the arithmetic unit to execute a command Word from the storage unit, the word is read from the address of the high-speed memory, which is defined by the four lowest bits of the address required by the arithmetic unit. The rest 10 bits of the desired address are then read from the 10 variable address bits The fast memory location is compared, and if they match, the word read is added Execution of the command used. If no <match is found, this is required « Word taken from the slow memory unc at the same time with the correct 10-bit address ver stored in the fast memory for longer, its previous content would be deleted. Through diesi Measures are achieved that the operations carried out a program loop relatively quickly after the first word can still be relatively slow from the slow spoke has been removed.

Der vorliegenden Erfindung liegt die Aufgabe zu gründe, eine Datenverarbeitungsanlage dieses TypThe object of the present invention is to provide a data processing system of this type

5 65 6

dahingehend weiterzubilden, daß die mittlere Spei- gemeint, der durch äußere Einrichtungen einzehto the extent that the middle storage is meant to be received by external devices

cherzyklus- oder Zugriflszeit weiter herabgesetzt adressierbar ist. Der Inhalt einer Speicherstelle kamcher cycle or access time is further reduced addressable. The contents of a memory location came

wird. eme Zelle oder eine Gruppe von Zellen sein.will. eme cell or group of cells.

Diese Aufgabe wird durch die im Patentanspruch 1 Es wird zunächst eine Anlage erläutert, bei deiThis problem is solved by the in claim 1 It will first be explained a system in dei

unter Schutz gestellte Erfindung gelöst. 5 eine Verarbeitiingscinheit mehrere SpeichereinheiterInvention put under protection solved. 5 a processing unit of a plurality of storage units

Die Unteransprüche betreffen Weiterbildungen und verwendet. Eine bevorzugte Ausführungsform eine:The subclaims relate to further developments and are used. A preferred embodiment one:

Ausgestaltungen der Erfindung. solchen Anlage ist in F i g. 1 gezeigt. Die einzelnerRefinements of the invention. such a system is shown in FIG. 1 shown. The individual

Bei der von Scar rot beschriebenen bekannten Teile oder Einheiten der Anlage sind bekannt uncIn the known parts or units of the system described by Scar rot are known unc

Datenverarbeitungsanlage kann im schnellen Puffer- brauchen hier nicht im einzelnen beschrieben zu wer-Data processing system can in the fast buffer do not need to be described in detail here

speicher jeweils nur ein Wort von jedem der ent- io den. Die mit Schraffierung versehenen Linien stellersave only one word from each of the enti- tes. The hatched lines represent

sprechenden Plätze des langsamen Hauptspeichers jeweils Sammelleitungen aus mehreren EinzeldrähterTalking places of the slow main memory each have collecting lines made up of several individual wires

aus dem zugehörigen Hauptspeicherabschnitt ge- oder Verbindungsleitern dar.from the associated main memory section or connecting conductors.

speichert werden, der Adressenbits entsprechend den Die Verarbeitungseinheit 10 ist irgendeine elektroniedrigstelligen Bits hat, die für die Adressierung des nische Spezial- oder Allzweck-Datenverarbeitungs-Pufferspeichers dienen. Im Gegensatz dazu können 15 einheit oder wissenschaftliche Computereinheit, die bei der vorliegenden Datenverarbeitungsanlage im gewöhnlich in der Weise arbeitet, daß sie program-Pufferspeicher Wörter aus π entsprechenden Sek- mierte Befehle sequentiell durchführt. Die für die toren des Hauptspeichers gespeichert werden, die die Durchführung und Bearbeitung der Befehle erlordergleichen niedrigstelligen Adressenbits enthalten, ohne liehen Daten sind in Speichereinheiten wie der ersten daß hierfür zusätzliche Bits in der zur Adressierung ao Speichereinheit 20 und der zweiten Speichereinheit 22 der Pufferspeicherplätze dienenden Bitgruppe be- gespeichert. Während im vorliegenden Fall nur zwei nötigt werden. Trotzdem mehr Wörter im Puffer- Speichereinheiten gezeigt sind, kann an sich die Anspeicher zur Verfügung stehen, bleibt die Arbeits- lage mit einer beliebigen Anzahl von Speichereinheigeschwindigkeit hoch, und außerdem steigt die ten mit gleichartiger Verschaltung in der nachstehend Wahrscheinlichkeit, daß sich ein gesuchtes Wort im as zu beschreibenden Weise ausgerüstet sein. Pufferspeicher befindet, erheblich. Die Speichereinheiten 20 und 22 haben je einenThe processing unit 10 is any electronic sub-digit Has bits used for addressing the niche special purpose or general purpose computing buffer memory serve. In contrast, 15 unit or scientific computer unit that the present data processing system usually operates in such a way that it has program buffers Words from π corresponding segmented commands sequentially. The for the gates of the main memory are stored, which require the execution and processing of the commands Low-order address bits without borrowed data are in storage units like the first that for this purpose additional bits in the memory unit 20 for addressing and the second memory unit 22 the bit group serving the buffer storage locations. While in the present case only two be compelled. Even though more words are shown in the buffer storage units, the accum are available, the working position remains with any number of storage unit speeds high, and also the ten increases with similar interconnection in the following Probability that a searched word will be equipped in the as to be described way. Cache is located significantly. The storage units 20 and 22 each have one

Im folgenden werden Ausführungsbeispiele der Adressendecodierer 16 bzw. 18, der die Adresse derIn the following, embodiments of the address decoder 16 or 18, which the address of the

Erfindung unter Bezugnahme auf die Zeichnung anzusteuernden Speicherzelle empfängt. Der InhaltInvention receives memory cell to be controlled with reference to the drawing. The content

näher erläutert; es zeigt der adressierten Speicherstelle ist in zwei Teilen,explained in more detail; it shows the addressed location is in two parts,

Fig. 1 ein Blockschaltbild einer Ausführungsform 3° einem Datenspeicherteil und einem Adressenwortteil, der vorliegenden Datenverarbeitungsanlage, bei der gespeichert. Die Adressenregister 12 und 14 erapfaneine Verarbeitungseinheit mit verschiedenen Spei- gen von der Verarbeitungseinheit 10 die Adresse der ehern gekoppelt ist, für die jeweilige Operation in der Verarbeitungsein-1 shows a block diagram of an embodiment 3 ° a data storage part and an address word part, of the present data processing system, stored in the. The address registers 12 and 14 span one Processing unit with different memories from the processing unit 10 the address of the is inherently coupled, for the respective operation in the processing unit

F i g. 2 das Blockschaltschema einer Anlage mit heit benötigten Daten. Der Adressenregisterinhalt istF i g. 2 the block diagram of a system with the required data. The content of the address register is

einer anderen Ausführungsform des erfindungs- 35 in eine λ-Stellen-Untergruppe und eine /i-Stellen-another embodiment of the invention into a λ-place subgroup and a / i-place-

gemäßen Speicherwerks, wobei eine Verarbeitungs- Untergruppe unterteilt. Die fc-Stellen-Untergruppe istaccording to storage unit, where a processing sub-group is divided. The fc job subgroup is

einheit eine Pufferspeicherung zur Zwischenspeiche- an die Decodierer 16 und 18 angekoppelt,unit a buffer storage for intermediate storage coupled to the decoders 16 and 18,

rung zwischen ihr und dem Hauptspeicher verwendet, Die Vergleicher 36 und 38 haben jeweils zwei Sätzetion is used between it and main memory. The comparators 36 and 38 each have two sets

F i g. 3 ein Diagramm, das eine hypothetische Ver- von Eingängen und einen Ausgang. Der AusgangF i g. 3 is a diagram showing a hypothetical supply of inputs and an output. The exit

teilung von Hauptspeicherwörtern im Pufferspeicher 40 wird aktiviert, wenn die entsprechenden Stellen derdivision of main memory words in the buffer memory 40 is activated when the corresponding positions of the

der Anlage nach F i g. 2 wiedergibt, ersten und zweiten Eingänge gleich sind. Der erstethe system according to FIG. 2 reproduces, first and second inputs are the same. The first

F i g. 4 das Blockschaltschema einer Anlage, bei Satz von Eingängen der Vergleicher 36 und 38 ist jeder als Pufferspeicher ein assoziativer Speicher ver- weils an die A-Stellen-Untergruppe des dazugehörigen wendet wird, Adressenregisters 12 bzw. 14 angeschlossen, währendF i g. 4 is the block diagram of an installation, with a set of inputs of the comparators 36 and 38, each is as a buffer memory an associative memory residing in the A position subgroup of the associated memory is applied, address register 12 or 14 connected while

F i g. 5 das Blockschaltschema einer Anlage, bei 45 der zweite Satz von Eingängen an den Ausgang desF i g. 5 shows the block diagram of a system, at 45 the second set of inputs to the output of the

der ein Pufferspeicher verwendet wird, der in jeder Adressenwortteils der dazugehörigen Speichereinheitwhich a buffer memory is used, which is in each address word part of the associated memory unit

Stelle zwei Datenwörter und zwei Adressenwörter 20 bzw. 22 angeschlossen ist.Place two data words and two address words 20 and 22 respectively.

enthält, Die Datenausgänge der Speichereinheiten 20 undcontains, The data outputs of the storage units 20 and

F i g. 6 ein Diagramm, das hypothetisch eine mög- 22 sind über die Kabel 24 und 26 jeweils an eine entliche Anordnung von im Pufferspeicher der Anlage 50 sprechende Gruppe von UND-Gliedern 32 bzw. 34 nach F i g. 5 gespeicherten Hauptspeicherwörtern angeschlossen, die durch das Ausgangssignal des entwiedergibt, und sprechenden Vergleichers 36 bzw. 38 über dies Lei-F i g. 6 is a diagram that hypothetically shows a 22 possible via cables 24 and 26, respectively, to a public Arrangement of group of AND gates 32 and 34 speaking in the buffer memory of the system 50 according to FIG. 5 stored main memory words connected, which are unrecovered by the output signal of the and speaking comparator 36 or 38 via this line

F i g. 7 das Blockschaltschema einer Anlage, bei tungen 40 bzw. 42 aufgetastet werden. Die UND-F i g. 7 shows the block diagram of a system, with lines 40 and 42 respectively. The AND

welcher gemäß einer weiteren Ausführungsform der Glieder der Gruppen 32 und 34 sind jeweils an den Erfindung getrennte Speicher zum Speichern der 55 einen Eingang einer Gruppe von ODER-Gliedern 48which according to a further embodiment of the members of groups 32 and 34 are each attached to the Invention separate memory for storing the 55 an input of a group of OR gates 48

Datenwörter und ein getrennter Pufferspeicher zum angeschlossen, deren Ausgänge die Datenrückleitun-Data words and a separate buffer memory to the connected, whose outputs the data return

Speichern der Adressenwörter verwendet werden. gen zur Verarbeitungseinheit bilden. Mittels derSaving the address words to be used. to form the processing unit. Using the

In den verschiedenen Figuren sind gleichartige Gruppen von UND-Gliedern 44 und 46 wird ein zuIn the various figures there are similar groups of AND gates 44 and 46 becomes a

Teile jeweils mit den gleichen Bezugszeichen ver- speicherndes Wort von der VerarbeitungseinheitParts of the word from the processing unit that each store the same reference numerals

sehen. 60 zur entsprechenden Speichereinheit 20 oder 22 ge-see. 60 to the corresponding storage unit 20 or 22

Der Begriff »Wort« bedeutet im vorliegenden Falle leitet.The term "word" means in the present case directs.

irgendeine Gruppe von Ziffern oder alphanumeri- Wenn die Verarbeitungseinheit 10 für die Durchsehen Zeichen insgesamt. Wörter oder Gruppen von führung des laufenden Befehls Daten benötigt, wird Wörtern können auch als »Blöcke« bezeichnet wer- die Adresse an die beiden Adressenregister 12 und den. Eine »Zelle« ist eine adressierbare Stelle in 65 übertragen. Die Jfc-Stellen-Untergruppe jedes Registers einem Speicher, die ein Wort oder eine Gruppe von wird durch den dazugehörigen Adressendecodierer Wörtern enthält. Mit »Stelle eines Speichers« oder und 18 der Speichereinheiten 20 bzw. 22 decodiert. »Speicherstelle« ist eine Untergruppe oder ein Platz Die in der Speichereinheit 20 gespeicherten Datenany group of digits or alphanumeri- If the processing unit 10 for the look-through Total characters. Words or groups of data needed to carry the current command is needed Words can also be referred to as "blocks", the address to the two address registers 12 and the. A "cell" is an addressable location in 65 transmitted. The Jfc digits subgroup of each register a memory that is a word or group of is determined by the associated address decoder Contains words. Decoded with “Place of a memory” or and 18 of the memory units 20 and 22, respectively. “Storage Location” is a subset or location of the data stored in storage unit 20

stehen über das Kabel 24 an den UND-Gliedern 32 an, während die in der Speichereinheit 22 gespeicherten Daten an den UND-Gliedern 34 anstehen. Die /i-Stellen-Untergruppe der Adressenregister 12 und 14 wird nach den Vergleichern 36 bzw. 38 übertragen. Das Adressenwort an der adressierten Speichersteile der Speichereinheiten 20 und 22 wird über die Kabel 28 und 30 nach dem entsprechenden Vergleicher 36 bzw. 38 übertragen.are available via the cable 24 to the AND gates 32, while those stored in the memory unit 22 Data are pending at the AND gates 34. The / i digit subset of address registers 12 and 14 is transmitted after the comparators 36 and 38, respectively. The address word at the addressed memory section the storage units 20 and 22 is via the cables 28 and 30 after the corresponding comparator 36 or 38 transferred.

Wenn das Adressenwort in der adressierten Speicherstelle der Speichereinheit 20 mit der /i-Stellen-Untergruppe des Adressenregisters 12 übereinstimmt, werden durch das Ausgangssignal des Vergleichers 36 die UND-Glieder 32 aufgetastet. Entsprechend werden, wenn das Adressenwort in der adressierten Speicherstelle der Speichereinheit 22 mit der Λ-Stellen-Untergruppe des Adressenregisters 14 übereinstimmt, durch das Ausgangssignal des Vergleichers 38 die UND-Glieder 34 über die Leitung 42 aufgetastet. Durch das Ausgangssignal der UND-Glieder 32 oder 34 der Speichereinheit 20 bzw. 22, in welcher die angeforderten Daten gespeichert waren, werden die ODER-Glieder 48 aktiviert, so daß die angeforderten Daten über sie zur Bearbeitungseinheit 10 übertragen werden.If the address word is in the addressed memory location of the storage unit 20 with the / i digit subgroup of the address register 12 coincides with the output of the comparator 36 the AND gates 32 keyed. Correspondingly, if the address word is addressed in the Storage location of storage unit 22 with the Λ-digit subgroup of the address register 14 matches by the output of the comparator 38 the AND gates 34 keyed over the line 42. By the output signal of the AND gates 32 or 34 of the storage unit 20 or 22 in which the requested data were stored the OR gates 48 are activated so that the requested data can be sent to the processing unit 10 via them be transmitted.

Zum Einspeichern von Daten in die Speichereinheit 20 oder 22 wird der gleiche Adressierungsvorgang durchgeführt. Durch das Ausgangssignal des Vergleichers 36 oder 38, je nachdem welche Speichereinheit das richtige Adressenwort enthält, werden die UND-Glieder 44 oder 46 aufgetastet, so daß die Daten in die entsprechende Speichereinheit 20 oder 22 eingespeichert werden. Über eine Steuerleitung, eine der Ausgangsleitungen der Verarbeitungseinheit 10, wird der Speichereinheit angezeigt, daß Daten gespeichert werden sollen.The same addressing process is used to store data in the memory unit 20 or 22 accomplished. By the output signal of the comparator 36 or 38, depending on which memory unit contains the correct address word, the AND gates 44 or 46 are gated so that the Data are stored in the corresponding memory unit 20 or 22. Via a control line, one of the output lines of the processing unit 10, the memory unit is informed that data should be saved.

Es ist auch möglich, Adressenwörter zwischen den Speichereinheiten auszutauschen. Die von der Verarbeitungseinheit zum Adressenregister 12 oder 14 übertragene Adresse enthält als ^-Stellen-Untergruppe die Adresse, an welcher das neue Adressenwort gespeichert werden soll. Die /i-Stellen-Untergruppe des Adressenregisters enthält das zu speichernde neue Adressenwort. Die anfängliche Aufteilung der Adressenwörter zwischen den Speichereinheiten sowie die nachträgliche Veränderung dieser Aufteilung erfolgt durch Speichern der Adressenwörter jeder Speichereinheit nach irgendeinem beliebigen Schema. Die Zuordnung der Adressenwörter kann auf Willkürlichkeit, bekannten Gebrauchsschemen, einem zyklischen Schema oder irgendeiner anderen Voraussetzung beruhen, so daß ein großer Flexibilitätsgrad möglich ist.It is also possible to exchange address words between the storage units. The one from the processing unit Address transferred to address register 12 or 14 contains as a ^ digit subgroup the address at which the new address word is to be saved. The / i digits subgroup of the Address register contains the new address word to be stored. The initial breakdown of the Address words between the storage units as well as the subsequent change to this division is done by storing the address words of each storage unit according to any arbitrary scheme. The assignment of the address words can be based on arbitrariness, known usage schemes, a cyclical one Scheme or some other requirement, allowing a great deal of flexibility is possible.

Vorstehend wurde gezeigt, wie durch die Unterteilung der Adresse die Verwendung mehrerer kleiner Speicher eine größere Leistungsfähigkeit der Anlage ergibt als die Verwendung eines großen Speichers. Die Speicher werden adressiert, als wenn sie einen großen Speicher bildeten, so daß die Programmierungsschwierigkeiten entfallen, die sich ergeben, wenn die Adresse einer speziellen Speichereinheit zugeleitet und dann diese Einheit adressiert werden muß. Durch die erfindungsgemäßen Maßnahmen wird erreicht, daß das Speicherwerk die Flexibilität eines großen Speichers und zugleich die hohe Arbeitsgeschwindigkeit eines kleinen Speichers hat. Ferner werden durch die Modularisierung des Speicherwerks die bei großen Speichern auftretenden Warrungsprobleme verringert, da einzelne Speichereinheiten ausgebaut und repariert werden können, während der übrige Teil des Speicherwerks arbeitsfähig bleibt.It was shown above how the use of several smaller by subdividing the address Storage results in greater system performance than using a large storage facility. The memories are addressed as if they formed one large memory, thus eliminating programming difficulties that arise when the address is sent to a special memory unit and then this unit must be addressed. By the measures according to the invention achieves that the storage unit has the flexibility of a large store and at the same time the high operating speed of a small store. Furthermore, through the modularization of the storage plant reduces the maintenance problems that occur with large storage units, since individual storage units can be removed and repaired while the remainder of the storage facility remains operational.

Das sechsstellige Adressenregister in Fig. 1 kann 2°, also 64 Speicherstellen adressieren. Jede Speichereinheit hat im vorliegenden Fall acht Speicherstellen, so daß ein vollständiges Speicherwerk für die Verarbeitungseinheit gemäß Fi g. 1 acht statt zwei Speichereinheiten enthalten würde. In der Praxis ist inThe six-digit address register in FIG. 1 can address 2 °, i.e. 64 memory locations. Any storage unit in the present case has eight storage locations, so that a complete storage unit for the processing unit according to Fi g. 1 would contain eight instead of two storage units. In practice, in

ίο der Regel η größer als 6 und kann auf η — 1 verschiedene Weisen aufgeteilt werden. Jede Speichereinheit enthält 2* Speicherstellen, und 2h Speichereinheiten werden für die Besetzung von 2" Speicherstellen benötigt. Die Teilung der Speicheradresse ermöglicht schnellere Verarbeitungszyklen als bei bekannten Anlagen. ίο usually η greater than 6 and can be divided in η - 1 different ways. Each memory unit contains 2 * memory locations, and 2 h memory units are required to occupy 2 "memory locations. The division of the memory address enables faster processing cycles than in known systems.

Bei Verwendung eines Speichers umfaßt jeder Speicherzyklus die für einen Lesezyklus und einen Schreibzyklus erforderliche Zeit. ErfindungsgemäßWhen using a memory, each memory cycle includes those for a read cycle and a Write cycle time required. According to the invention

ao umfaßt dagegen jeder Speicherzyklus nur die für den Lesezyklus erforderliche Zeit, außer wenn der gleiche Speicher zweimal nacheinander angegangen wird. Allgemein kann, wenn die Speicherstellen willkürlich auf 2* Speichereinheiten verteilt sind, die Speicher-Zykluszeit durch die Gleichungao, on the other hand, each storage cycle only includes the one for the Read cycle time required unless the same memory is addressed twice in a row. In general, if the memory locations are arbitrarily distributed over 2 * memory units, the memory cycle time can by the equation

<m = tr + tjlk, <m = tr + tjl k ,

worin
'm — gesamte Speicherzykluszeit,
wherein
'm - total storage cycle time,

tr = Lesezykluszeit des Speichers und tw = Schreibzykluszeit des Speichers, t r = read cycle time of the memory and t w = write cycle time of the memory,

in guter Annäherung approximiert werden. Wenn A: = 3, so würde die Zeit tm durch tm = tr + tJ8 approximiert werden. Die obige Gleichung beruht auf einer annähernd normalen Verteilung der Speicheradressen, so daß jeder Speicher zweimal nacheinander in einem Achtel der Zeit angegangen wird. Der andere Vorteil der Ausführungsform nach F i g. 1 ergibt sich aus der Tatsache, daß ein kleiner Speicher eine kürzere Zykluszeit hat als ein großer Speicher. Nachstehend werden Ausführungsformen der Er-can be approximated to a good approximation. If A: = 3, then the time t m would be approximated by t m = t r + tJ8. The above equation is based on an approximately normal distribution of the memory addresses, so that each memory is approached twice in succession in one eighth of the time. The other advantage of the embodiment of FIG. 1 results from the fact that a small memory has a shorter cycle time than a large memory. Embodiments of the

♦5 findung beschrieben, die auf Anlagen anwendbar sind, bei denen mehrere Verarbeitungseinheiten mil einem oder mehreren gemeinsamen Hauptspeichern gekoppelt sind. Die in F i g. 2 gezeigte Anlage enthält zwei Speicher: einen Hauptspeicher 52 und einer Pufferspeicher 20. In diesem beispielsweisen Fall ist der Hauptspeicher 52 ein Speicher für 64 Wörter unc enthält der Pufferspeicher 20 acht adressierbare Wörter. In der Praxis würden sich in den Hauptspeichei 52 mehrere Verarbeitungseinrichtungen mit je einen zugehörigen Pufferspeicher 20 teilen.♦ 5 description that can be applied to systems are in which several processing units with one or more common main memories are coupled. The in F i g. The system shown in Figure 2 includes two memories: a main memory 52 and one Buffer memory 20. In this exemplary case, the main memory 52 is a memory for 64 words unc the buffer memory 20 contains eight addressable words. In practice it would be in the main store 52 share several processing devices, each with an associated buffer memory 20.

Eine Verarbeitungseinheit (nicht gezeigt) liefer eine Adresse an das Adressenregister 12, das in eini Λ-Stellen-Untergruppe und eine fc-Stellen-Unter gruppe unterteilt ist. Wie bei der oben beschriebene!A processing unit (not shown) supplies an address to the address register 12, which is in a Λ-job subgroup and an fc-job sub group is divided. As with the one described above!

Anlage ist jede Speicherstelle des Pufferspeichers 21 in einen Datenteil und einen Adressenwortteil aufge teilt. Der Adressenwortteil ist an den einen Eingan eines Vergleichers 36 angekoppelt, dessen andere Eingang an die A-Stellen-Untergruppe des AdressenThe system is each storage location in the buffer memory 21 divided into a data part and an address word part. The address word part is at the one input a comparator 36 coupled, the other input to the A-digit subgroup of the addresses

registers 12 angeschlossen ist. Der Vergleicher 36 ha zwei Ausgänge, deren einer wirksam wird, wenn da Adressenwort der adressierten Speicherstelle de Pufferspeichers 20 gleich der ft-Stellen-Untergruppregister 12 is connected. The comparator 36 ha two outputs, one of which becomes effective when there is address word of the addressed memory location de Buffer 20 is equal to the ft-digit subgroup

609 616/1:609 616/1:

des Adressenregisters 12 ist, und deren anderer wirksam wird, wenn das Adressenwort nicht gleich dieser Untergruppe ist.of the address register 12, and the other one takes effect if the address word is not equal to this Subgroup is.

Die Verarbeitungseinheit beliefert das Adressenregister 12 mit einer Adresse. Die £-Stel!en-Untergruppe wird vom Decodierer 16 decodiert, der das Herausholen des Inhalts der adressierten Speicherstelle einleitet. Der Datenteil des Inhalts der adressierten Speicherstelle tastet die Gruppe von UND-Gliedern 32 auf. Wenn die /i-Stellen-Untergruppe des Inhalts des Adressenregisters 12 gleich dem Adressenwortteil der adressierten Speicherstelle des Pufferspeichers 20 ist, werden durch das Gleichheitsausgangssignal des Vergleichers 36 die UND-Glieder 32 aktiviert, deren Ausgänge an die Gruppe von ODER-Gliedern 48 angekoppelt sind. Die ODER-Glieder 48 übertragen ausgangsseitig die Daten zur Verarbeitungseinheit. The processing unit supplies the address register 12 with an address. The £ -Stel! En subgroup is decoded by the decoder 16, which is responsible for extracting the content of the addressed memory location initiates. The data part of the content of the addressed memory location scans the group of AND gates 32 on. If the / i digit subgroup of the contents of the address register 12 is equal to the address word part of the addressed memory location of the buffer memory 20 are determined by the equality output signal of the comparator 36 activates the AND gates 32, the outputs of which are sent to the group of OR gates 48 are coupled. The OR gates 48 transmit the data to the processing unit on the output side.

Wenn die /i-Stellen-Untergruppe nicht gleich dem Adressemvortteil der adressierten Speicherstelle des Pufferspeichers 20 ist, wird durch das Ungleichheitsausgangssignal des Vergleichers 36 die Gruppe von UND-Gliedern 50 aktiviert, an deren anderen Eingängen sämtliche Bits des Adressenregisters 12 anstehen. Wenn daher das Adressenwort sich nicht im Pufferspeicher 20 befindet, wird seine Adresse zum Hauptspeicher 52 übertragen. Durch das Ausgangssignal des Hauptspeichers werden die UND-Glieder der Gruppe 44 sowie die ODER-Glieder der Gruppe 48 aufgetastet und die Daten über letztere zur Verarbeitungseinheit übertragen. Die /i-Stellen-Untergruppe des Adressenregisters tastet die UND-Glieder der Gruppe 54 auf. Die UND-Glieder der Gruppen 44 und 54 werden durch das Ungleichheitsausgangssignal des Vergleichers 36 aktiviert, so daß das adressierte, aus dem Hauptspeicher 52 herausgeholte Wort an der richtigen Speicherstelle des Pufferspeichers 20 zusammen mit dem die Λ-Stellen-Untergruppe der Adresse umfassenden Adressenwort gespeichert wird.If the / i-digit subgroup does not equal the address advantage of the addressed storage location of the Of buffer memory 20, the inequality output of comparator 36 becomes the group of AND gates 50 activated, at the other inputs of which all bits of the address register 12 are pending. Therefore, if the address word is not in the buffer memory 20, its address becomes the Main memory 52 transferred. The AND gates are set by the output signal of the main memory of group 44 and the OR elements of group 48 and the data via the latter to the processing unit transfer. The / i digits subgroup of the address register scans the AND gates of group 54. The AND members of the groups 44 and 54 are activated by the inequality output of comparator 36 so that the addressed word fetched from main memory 52 in the correct memory location of the buffer memory 20 stored together with the address word comprising the Λ-digit subgroup of the address will.

Während der beschriebenen Vorgänge empfängt die Verarbeitungseinheit die Daten von der adressierten Speicherstelle, gleichgültig ob im Pufferspeicher 20 oder im Hauptspeicher 52. Wenn das adressierte Wort sich im Pufferspeicher 20 befindet, ist die Zugriffszeit kürzer, als wenn das adressierte Wort aus dem Hauptspeicher herausgeholt werden muß. Ein weiteres Merkmal der Anordnung nach F i g. 2 besteht darin, daß, wenn ein Wort aus dem Hauptspeicher 52 herausgeholt wird, dieses Wort im Pufferspeicher 20 gespeichert wird.During the processes described, the processing unit receives the data from the addressed Storage location, regardless of whether in the buffer memory 20 or in the main memory 52. If the addressed Word is in the buffer memory 20, the access time is shorter than when the addressed word is out must be fetched out of the main memory. Another feature of the arrangement according to FIG. 2 exists in that when a word is fetched from main memory 52, that word is in the buffer memory 20 is saved.

Es wird davon Gebrauch gemacht, daß während der Durchführung eines Programms die gleichen Datenspeicherstellen des Hauptspeichers wiederholt verwendet werden. Statt daß jedesmal, wenn der Hauptspeicher angegangen werden muß, nur eine kleine Datenmenge ausgelesen wird, kann jeder vom Hauptspeicher 52 zum Pufferspeicher 20 übertragene Datenblock aus mehreren hundert Wörtern bestehen. Aus der Tatsache, daß jedesmal, wenn das adressierte Wort nicht im Pufferspeicher 20 verfügbar ist, ein verhältnismäßig großer Datenblock übertragen wird, ergibt sich, daß der Hauptspeicher 52 erheblich weniger oft angegangen wird und die Datenverarbeitungszeit sich beträchtlich verringert.Use is made of the same data storage locations during the execution of a program of main memory can be used repeatedly. Instead of that every time the main memory must be addressed, only a small amount of data is read out, everyone can from the main memory 52 data block transmitted to the buffer memory 20 consist of several hundred words. From the fact that every time the addressed word is not available in the buffer memory 20, a relatively large data block is transferred, the result is that the main memory 52 is considerable is addressed less often and data processing time is significantly reduced.

Die Verbesserung hinsichtlich der Arbeitszeit läßt sich zeigen, wenn man realistischerweise für den Pufferspeicher eine Bezugszeit von 50 ns und für den Hauptspeicher eine Zykluszeit von 400 ns voraussetzt. Wenn sich das adressierte Wort nicht im Pufferspeicher 20 befindet, beträgt die gesamte Blockübertragungszeit 450 ns (50 ns für das Überprüfen des Pufferspeichers plus 400 ns für den Zugang zum Hauptspeicher). Wenn 100% der Datenansuchen eine Blockübertragung vom Hauptspeicher zum Pufferspeicher erfordern, beträgt die Speicherzykluszeit 450 ns. Wenn alle Datenansuchen vom Pufferspeicher erfüllt werden können, beträgt die Speicherzykluszeit 50 ns. Wenn 10% der Datenansuchen eine Blockübertragung erfordern (was eine realistische Annahme ist), so beträgt die durchschnittliche Speicherzykluszeit 0,9-50 ns +0,1-450 ns, also 90 ns.The improvement in working hours can be seen if one realistically looks for the Buffer memory requires a reference time of 50 ns and a cycle time of 400 ns for the main memory. If the addressed word is not in buffer memory 20, the total block transfer time is 450 ns (50 ns for checking the buffer memory plus 400 ns for access to the Main memory). If 100% of the data requests are a block transfer from main memory to Require buffer memory, the memory cycle time is 450 ns. When all data requests from the cache can be met, the storage cycle time is 50 ns. If 10% of the data requests a Require block transfer (which is a realistic assumption), the average memory cycle time is 0.9-50 ns + 0.1-450 ns, i.e. 90 ns.

Die Anstehwahrscheinlichkeit ist ebenfalls verringert, so daß durch die erfindungsgemäßen Maßnahmen auch die mittlere Zeit des Wartens der Verarbeitungseinheiten auf den Speicheraigang sich verkürzt. Die Gesamterhöhung der Arbeitsgeschwindigkeit ist da-The queuing probability is also reduced, so that by the measures according to the invention the mean time the processing units wait for the memory access is also shortened. the The overall increase in working speed is

her größer, als es der bloßen Erhöhung der mittleren Speicherzugriffsgeschwindigkeit entspräche.fro larger than it is the mere increase in the mean Memory access speed would correspond.

F i g. 3 gibt eine hypothetische Darstellung einer Situation wieder, wie sie bei der Anlage nach Fig. 2 sich ergeben kann. Die Spalte 56 stellt die ft-Stellen-F i g. 3 shows a hypothetical representation of a situation as it is in the case of the system according to FIG. 2 can arise. Column 56 represents the ft-digits

»5 Untergruppe und die Spalte 58 stellt die ifc-Stellen-Untergruppe der Hauptspeicheradresse dar. Die 64 Wortspeicherstellen im Hauptspeicher 52 sind mit ihrem entsprechenden hypothetischen Platz im Pufferspeicher 20 verbunden. Die Spalte 60 gibt die Adres-»5 subgroup and column 58 represents the ifc position subgroup the main memory address. The 64 word storage locations in main memory 52 are marked with their corresponding hypothetical place in the buffer memory 20 connected. Column 60 gives the address

sen der Wortspeicherstellen im Pufferspeicher 20 wieder. Das Adressenwort, das zusammen mit jedem Datenwort erscheinen würde, ist ebenfalls im Pufferspeicher 20 dargestellt.sen the word storage locations in the buffer memory 20 again. The address word that goes along with everyone Data word would appear is also shown in the buffer memory 20.

Die Darstellung in F i g. 3 zeigt den Vorteil derThe representation in FIG. 3 shows the advantage of

Verwendung der Λ-Stellen-Untergruppe der Hauptspeicheradressen als Adresse für den Pufferspeicher, indem dadurch die Speicherung von Wörtern, die sich an benachbarten Speicherstellen im Hauptspeicher befinden, im Pufferspeicher möglich wird. DiesUse of the Λ-digit subgroup of the main memory addresses as the address for the buffer memory, thereby saving words that contain are located in adjacent storage locations in the main memory, is possible in the buffer memory. this

wird ersichtlich, wenn man betrachtet, was die Folgen sein würden die /?-SteIlen-Untergruppe als Pufferspeicheradresse verwendet würde. Beispielsweise sei angenommen, daß die Adresse 101011 im Pufferspeicher gespeichert werden sollte. Bei Verwendung derbecomes apparent when one looks at what the consequences are would be the /? - SteIlen subgroup as the cache address would be used. For example, assume that address 101011 is in the buffer memory should be saved. When using the

/i-Stellen-Untcrgruppe wäre die Pufferspeicheradresse 101 und das gespeicherte Adressenwort 011. Kein anderes Wort mit der gleichen Adresse 101 könnte dann im Pufferspeicher gespeichert werden, weil diese Adresse, sobald sie einmal verwendet ist, hinsichtlich/ i-digit subsection would be the buffer address 101 and the stored address word 011. No other word with the same address 101 could then stored in the cache because that address, once used, as to

des Pufferspeichers verbraucht ist. Es könnten daherof the buffer memory is used up. It could therefore

imnDiate 1 n n WÖrter im Hauptspeicher bei lOlOOO,imn D i ate 1 n n words in the main memory at lOlOOO,

0 001Ί01010, 101100, 101101, 101110, d.h. die0 001-01010, 101100, 101101, 101110, i.e. the

JUlUIl benachbarten Wörter, nicht im PufferspeicherJUlUIl neighboring words, not in the buffer

gespeichert werden. Dies würde die Nützlichkeit desget saved. This would increase the usefulness of the

Pufferspeichers beschränken, da dieser keine benachbarten Worter vom Hauptspeicher speichern kann und, wie bereits erwähnt, die Verarbeitungseinheit wahrend der Durchführung eines Programms dazu neigt, solche benachbarten Wörter zu verwenden Da-Limit the buffer memory, as this cannot store any neighboring words from the main memory and, as already mentioned, the processing unit for this purpose during the execution of a program tends to use such neighboring words

gegen wird bei Verwendung der ^-Stellen-Untergruppe als Pufferspeicheradresse gemäß der Erfindung dieser Nachteil vermieden und die Speicherung uenac.uarter Wörter ermöglicht, wie sich aus der Darstellung in F i g. 3 ergibtagainst is when using the ^ digit subgroup as a buffer memory address according to the invention, this disadvantage is avoided and the storage uenac.uarter allows words, as can be seen from the Representation in FIG. 3 results

Die Anordnung nach Fig. 2, eine Verbesserung gegenüber dem Stand der Technik, kann nur eine beschrankte Anzahl von Kombinationen von acht Wörtern aus dem Hauptspeicher speichern. Es gibtThe arrangement of FIG. 2, an improvement over the prior art, can only do one store a limited number of combinations of eight words from main memory. There is

annähernd 4,456 · ΙΟ9 Kombinationen von acht aus 64 Wörtern im Hauptspeicher mit jeweils acht. Da jedoch zwei Wörter mit der gleichen fc-Stellen-Untergruppe im Pufferspeicher nach F i g. 2 nicht gleichzeitig gespeichert werden können, ist die Anzahl der Kombinationen der 64 Hauptspeicherwörter, die jeweils im Pufferspeicher 20 nach F i g. 2 gespeichert werden können, auf 1,678 ■ 107, d.h. annähernd 0,3% der insgesamt möglichen Kombinationen beschränkt. Im allgemeinen Fall ist die Anzahl der Kombinationen von r aus π Elementen durch die folgende Gleichung gegeben:approximately 4,456 · ΙΟ 9 combinations of eight out of 64 words in main memory with eight each. However, since two words with the same fc digit subgroup are in the buffer memory of FIG. 2 cannot be stored at the same time, the number of combinations of the 64 main memory words which are each in the buffer memory 20 according to FIG. 2 can be stored, limited to 1.678 ■ 10 7 , ie approximately 0.3% of the total possible combinations. In the general case, the number of combinations of r from π elements is given by the following equation:

η!η!

r\in-r)\r \ in-r) \

Angenommen die Wurzel der Speicheradresse ist R, so ist die Gesamtzahl der adressierbaren Speicherstellen R", wobei η die Stellenanzahl der Speicheradresse ist. Die Anzahl der Kombinationen, die im Pufferspeicher 20 nach F i g. 2 gespeichert werden können, ist durch den folgenden Ausdruck gegeben:Assuming the root of the memory address is R, the total number of addressable memory locations is R ", where η is the number of digits of the memory address. The number of combinations that can be stored in the buffer memory 20 of FIG. 2 is given by the following expression given:

AK'AK '

Durch Verändern der Aufteilung der η Stellen der Hauptspeicheradresse wird die Anzahl der Kombinationen von Hauptspeicherwörtern, die im Pufferspeicher gespeichert werden können, verändert. Das Verhältnis RhRk (R»J nimmt bis zum Maximalwert 1 zu, wenn der Wert von h gegen Null geht. Dies bedeutet effektiv, daß die Pufferspeicheradresse für sämtliche Wörter im Pufferspeicher die gleiche ist und das Adressenwort an jeder Speicherstelle das gleiche ist wie die Hauptspeicheradresse bei diesem maximalen Verhältniswert. Ein Pufferspeicher, das diesen Erfordernissen genügt, ist ein assoziativer oder inhaltsadressierbarer Speicher.By changing the division of the η digits of the main memory address, the number of combinations of main memory words that can be stored in the buffer memory is changed. The ratio R hRk ( R »J increases to the maximum value 1 when the value of h approaches zero. This effectively means that the buffer memory address for all words in the buffer memory is the same and the address word at each memory location is the same as that Main memory address at this maximum ratio value A buffer memory that meets these requirements is an associative or content addressable memory.

F i g. 4 zeigt eine Pufferspeicheranordnung unter Verwendung eines abgewandelten inhaltsadressierbaren Speichers 20 als Pufferspeicher. Ein inhaltsadressierbarer Speicher ist ein Speicher, in welchem das adressierte Wort oder ein Teil desselben gleich der Adresse oder einem Teil derselben ist. Der inhaltsadressierbare Speicher nach F i g. 4 ist dahingehend abgewandelt, daß ein Wort durch Bezeichnen einer Speicherstelle durch Beliefern des Decodierers mit einer Adresse adressiert werden kann, und zwar zusätzlich zu der ungewöhnlichen Betriebsweise des inhaltsadressierbaren Speichers. Wie in F i g. 4 gezeigt, hat jede Speicherstelle im Pufferspeicher 20 einen eigenen Vergleicher, der den Inhalt der entsprechenden Speicherstelle mit dem Adressenwort vom Adressenregister 12 vergleicht. Eine Schaltungsanordnung schickt in die Leitung 64 ein Ungleichheitssignal (»Fehlanzeigesignal«), welches anzeigt, daß keiner der Adressenwortteile der gespeicherten Wörter im Pufferspeicher 20 gleich dem Adressenwort im Adressenregister 12 ist. Dieses Ungleichheitssignal wird unter anderem einer Wortwählschaltung 62 zugeleitet, die, wenn sie aktiviert wird, den Adressendecodierer des Pufferspeichers 20 mit der Adresse beliefert, an welcher neue Daten zu speichern sind. Die Wortwählschaltung 62 wird lediglich für die Speicherung neuer Daten im Pufferspeicher verwendet und kann in beliebiger Weise so ausgeführt sein, daß sie eine Adresse auf der Grundlage der Willkürlichkeit, der Neuheit, eines zyklischen Schemas, des Gebrauchs oder auf irgendeiner anderen gewünschten Basis liefert.F i g. Figure 4 shows a buffer memory arrangement using a modified content addressable Memory 20 as a buffer memory. A content addressable memory is a memory in which the addressed word or part of it is equal to the address or part of it. The content addressable Memory according to FIG. 4 is modified in that a word is represented by designating a Storage location can be addressed by supplying the decoder with an address, in addition to the unusual mode of operation of the content addressable memory. As in Fig. 4 shown each storage location in the buffer memory 20 has its own comparator, which compares the content of the corresponding Compare the memory location with the address word from the address register 12. A circuit arrangement sends an inequality signal ("incorrect display signal") to line 64, which indicates that none of the address word parts of the stored words in the buffer memory 20 is equal to the address word is in the address register 12. This inequality signal is used, among other things, by a word selection circuit 62 which, when activated, the address decoder of the buffer memory 20 with the Address supplied at which new data are to be saved. The word selection circuit 62 only becomes used for storing new data in the buffer memory and can be done in any way be that they have an address based on arbitrariness, novelty, a cyclical scheme, of use or on any other desired basis.

ίο Wenn die Verarbeitungseinheit (nicht gezeigt) dem Adressenregister 12 ein Adressenwort anliefert, wird dieses mit dem Adressenwortteil jedes gespeicherten Wortes im Pufferspeicher 20 verglichen. Wenn der Vergleicher 66 Gleichheit (»Übereinstimmung«) zwisehen dem Inhalt des Adressenregisters 12 und irgendeinem der gespeicherten Adressenwörter feststellt, wird der Datenteil des im Pufferspeicher 20 gespeicherten Wortes nach den ODER-Gliedern der Gruppe 48 und von dort zur Verarbeitungseinheitίο If the processing unit (not shown) the Address register 12 supplies an address word, this is stored with the address word part of each Word in the buffer memory 20 compared. When the comparator 66 discriminates between equality ("agreement") detects the contents of the address register 12 and any of the stored address words, becomes the data part of the word stored in the buffer memory 20 after the OR gates of the Group 48 and from there to the processing unit

ao übertragen, womit der Speicherzyklus beendet ist.ao, which ends the storage cycle.

Wenn das im Adressenregister 12 befindliche Adressenwort im Pufferspeicher 20 nicht vorgefunden wird, aktiviert ein Signal in der Leitung 64 die Wortwählschaltung 62 und wird über die UND-GliederIf the address word located in the address register 12 is not found in the buffer memory 20 is, a signal on the line 64 activates the word selection circuit 62 and is via the AND gates

a5 der Gruppe 50 das Adressenwort vom Adressenregister 12 zum Hauptspeicher 52 übertragen. Das Ausgangswort des Hauptspeichers 52 wird auf die ODER-Glieder der Gruppe 48 und die UND-Glieder der Gruppe 44 gekoppelt. Die ODER-Glieder 48a5 of group 50 is the address word from the address register 12 to main memory 52. The output word of the main memory 52 is on the OR gates of group 48 and the AND gates of group 44 coupled. The OR gates 48

übertragen das Ausgangswort zur Verarbeitungseinheit als Antwort auf deren Ansuchen an den Speicher. Das Ungleichheitssignal aktiviert außerdem die UND-Glieder der Gruppen 44 und 54, wodurch das an der durch die Wortwählschaltung 62 bezeichneten Speicherstelle zu speichernde Wort zum Pufferspeicher 20 übertragen wird. Damit ist der Speicherzyklus beendet, und das neue Wort befindet sich nunmehr im Pufferspeicher 20.transmit the output word to the processing unit in response to its request to the memory. The inequality signal also activates the AND gates of groups 44 and 54, which causes the on by the word selection circuit 62 designated memory location to be stored to the buffer memory 20 is transmitted. This ends the storage cycle and the new word is now in Buffer memory 20.

Der modifizierte inhaltsadressierbare Speicher 20 repräsentiert die Anwendung der Erfindung bei einer Aufteilung von k = 0 und h = n, was die Speicherung jeder beliebigen Kombination von Hauptspeicherwörtern im Pufferspeicher ermöglicht.The modified content addressable memory 20 represents the application of the invention with a division of k = 0 and h = n, which enables any combination of main memory words to be stored in the buffer memory.

Der modifizierte inhaltsadressierbare Speicher ist jedoch teurer als der in der Anordnung nach F i g. 2 verwendete Pufferspeicher. Gemäß einer weiteren Ausführungsform der Erfindung wird ein Kompromiß zwischen der beschränkten Anzahl von Kombinationen von Hauptspeicherwörtern, die in der Pufferspeicheranordnung nach F i g. 2 gespeichert werden können, und den hohen Kosten eines modifizierten inhaltsadressierbaren Speichers nach F i g. 4 geschlossen. F i g. 5 zeigt eine entsprechende Anordnung.
Der Pufferspeicher 20 der Anordnung nach F i g. 5 hat vier adressierbare Speicherstellen. Das im Adressenregister 12 festgehaltene Adressenwort ist so aufgeteilt, daß k = 2 und h = 4, wobei der Wert von η = 6 hier beispielsweise angenommen ist. Wie zuvor kann jedoch das Adressenwort auf n—1 verschiedene Weisen aufgeteilt sein. Jede Speicherstelle im Pufferspeicher 20 enthält zwei Zellen, wobei jede Zelle ein Adressenwort und ein Datenwort enthält. Wie zuvor können acht Datenwörter im Pufferspeicher 20 gespeichert werden. Jede Zelle des Pufferspeichers 20 ist mit eigenen Verknüpfungsgliedergruppen für die Ausgangs- und Eingangswörter sowie mit eigenen Vergleichern iür jedes Adressenwort versehen. Zusätzlich ist eine Wortwählschaltung 62 mit einem Ein-
However, the modified content addressable memory is more expensive than that in the arrangement of FIG. 2 used buffers. According to a further embodiment of the invention, a compromise is made between the limited number of combinations of main memory words which can be used in the buffer memory arrangement according to FIG. 2, and the high cost of a modified content addressable memory as shown in FIG. 4 closed. F i g. 5 shows a corresponding arrangement.
The buffer memory 20 of the arrangement according to FIG. 5 has four addressable storage locations. The address word held in the address register 12 is divided up in such a way that k = 2 and h = 4, the value of η = 6 being assumed here, for example. As before, however, the address word can be divided in n- 1 different ways. Each storage location in buffer memory 20 contains two cells, each cell containing an address word and a data word. As before, eight data words can be stored in buffer memory 20. Each cell of the buffer memory 20 is provided with its own logic element groups for the output and input words and with its own comparators for each address word. In addition, a word selection circuit 62 with an input

jang und zwei Ausgängen vorgesehen, wobei jeder 64 Hauptspeicherwörtera, die in der Anordnung nach Ausgang einer anderen Zelle des Pufferspeichers 20 Fig. 5 gespeichert werden kann. Wenn die Anzahl zugeordnet ist. Einer der Ausgänge der Wortwähl- von Zellen odei Reihen in jeder adressierten Speischalrung 62 wird durch Aktivieren des mit dem cherstelle des Pufferspeichers 20 mit m bezeichnet UND-Glied 70 gekoppelten Eingangs aktiviert. Wenn 5 ist, ist die Gesamtzahl von Kombinationen, die in die Verarbeitungseinheit (nicht gezeigt) vom Speicher einer Anordnung nach Art der Fig. 5 gespeichert Daten benötigt, wird in das Adressenregister 12 ein d kö durch den Ausdruck /*V* gegeben.jang and two outputs are provided, each 64 main memory words, which can be stored in the arrangement according to the output of another cell of the buffer memory 20, FIG. When the number is assigned. One of the outputs of the word selection of cells or rows in each addressed Speischalrung 62 is activated by activating the input coupled to the cherstelle of the buffer memory 20 with m designated AND element 70. When 5 is the total number of combinations (not shown) in the processing unit from the memory of an arrangement in the manner of Figs. 5 stored data required is added to the address register 12, a d kö by the expression / * V *.

Adressen won emgegeoen. Durch die Jfc-Stellsn-Unter- \mj ° ° Addresses won emgegeoen. By the Jfc-Stellsn-Unter- \ mj ° °

gruppe des Adressenwortes wird eine Zelle im Puffer- Bei der Anordnung nach Fi g. 5 sind R = 2, h = 4, speicher 20 gewählt und angegangen. Das Adressen- io k = 2,m = 2. Die im Pufferspeicher 20 speicherbare wort von der einen Zelle, bezeichnet mit X in F i g. 5, Gesamtzahl von Kombinationen von acht Datenwörist dem ersten Satz von Eingängen eines Vergleichers tern der 64 Datenwörter im Hauptspeicher 52 ist 36 zugeführt, und das Adressenwort von der anderen 2,074 · 108 oder ungefähr 5 °/o. Dies übersteigt um Zelle, bezeichnet mit Y in F i g. 5, ist dem ersten mehr als eine ganze Größenordnung die bei der An-Satz von Eingängen des Vergleichers 38 zugeführt. 15 Ordnung nach Fig.2 mögliche Anzahl und läßt sich Die /i-Stellen-Untergruppe des Adressenwortes ist mit geringeren Kosten erreichen als bei einer Anorddem zweiten Satz von Eingängen beider Vergleicher nung nach F i g. 4. Durch Verändern der Aufteilung 36 und 38 zugeführt. Durch das Datenausgangswort und Anzahl von Zeilen in jeder Speicherstelle läßt der A'-Zelle werden die UND-Glieder der Gruppe 32 sich die Erfindung je nach den gegebenen Zweck- und durch das Datenausgangswort der Y-Zelle wer- ao mäßigkeiten in der verschiedenartigsten Weise anden die UND-Glieder der Gruppe 34 aufgetastet. wenden und ausgesta ten.group of the address word is a cell in the buffer. 5, R = 2, h = 4, memory 20 are selected and approached. The address io k = 2, m = 2. The words that can be stored in the buffer memory 20 from the one cell, denoted by X in FIG. 5, total number of combinations of eight data words is applied to the first set of inputs of a comparator t one of the 64 data words in main memory 52 is 36, and the address word of the other 2.074 x 10 8 or about 5%. This exceeds by cell labeled Y in FIG. 5, the first is more than a whole order of magnitude supplied to the set of inputs of the comparator 38. 15 order according to FIG. 2 possible number and can be The / i-digit subgroup of the address word can be achieved at lower costs than with an arrangement of the second set of inputs for the comparison according to FIG. 4. Supplied by changing the division 36 and 38. Due to the data output word and the number of lines in each memory location, the A 'cell can be used to modify the AND gates of group 32 in a wide variety of ways, depending on the given purpose and the data output word of the Y cell the AND gates of group 34 keyed. turn and equip.

Wenn das Adressenwort der adressierten X- oder F i g. 7 zeigt eine weitere Ausführuiigsform der Er-If the address word of the addressed X or F i g. 7 shows a further embodiment of the

Y-Zelle der ft-Stellenl-Untergruppen des Adressen- findung. Erfindungsg-jmäß ist es möglich, mit großem Wortes im Adressenregister 12 entspricht, werden Vorteil von der Übertragung großer Datenblöcke durch das Ausgangssignal des Vergleichers 36 die as vom Hauptspeicher zum Pufferspeicher Gebrauch zu UND-Glieder 32 oder durch das Ausgangssignal des machen. Je größer die Anzahl von Zellen in jeder Vergleichers 38 die UND-Glieder 34 aktiviert. Die adressierten Speicherstelle des Pufferspeichers ist, Ausgänge der UND-Glieder der Gruppen 32 und 34 desto größer wird die Anzahl von Stellen im Aussind an zwei Sätze von Eingängen der ODER-Glieder gangswort. Durch diese Vergrößerung der Ausgangsder Gruppe 48 angeschlossen, die ausgangsseitig die 30 wortlänge wird die Ansprechzeit des Pufferspeichers angeforderten Daten zur Verarbeitungseinheit über- verlängert. Bei der Anordnung nach F i g. 7 ist der tragen. Pufferspeicher in einen Pufferspeicheradressentabel-Y cell of the ft-digit subgroups of the address finding. According to the invention, it is possible with large Word in the address register 12, take advantage of the transfer of large blocks of data by the output of the comparator 36 the AS from the main memory to the buffer memory use AND gates 32 or by the output signal of the make. The greater the number of cells in each Comparator 38, the AND gates 34 activated. The addressed memory location of the buffer memory is Outputs of the AND gates of groups 32 and 34, the greater the number of places in the field to two sets of inputs of the OR gangs. This enlargement of the output der Group 48 connected, the 30 word length on the output side becomes the response time of the buffer memory requested data to the processing unit over- extended. In the arrangement according to FIG. 7 is the carry. Buffer memory in a buffer memory address table

Wenn das adressierte Datenwort sich nicht im Puf- lenteil 20, eine A'-Datenspeicherreihe oder -abteilung ferspeicher 20 befindet, wird der Ungleichheitsaus- 22 und eine Y-Datenspeicherreihe oder -abteilung 23 gang beider Vergleicher 36 und 38 aktiviert. Beide 35 unterteilt. Jede adkessierbare Speicherstelle des Adres-Ungleichheitsausgänge der Vergleicher 36 und 38 sentabellenteüs 20 enthält zwei Adressenwörter, sind an das UND-Glied 70 angeschlossen, dessen deren eines dem an der entsprechenden Adresse der Ausgangssignal anzeigt, daß das adressierte Daten- A'-Datenspeicherabteilung 22 und deren anderes dem wort sich nicht im Pufferspeicher 20 befindet. Das an der entsprechenden Adresse der Y-Datenspeicher-Ausgangssignal des UND-Gliedes 70 aktiviert die 40 abteilung 23 gespeicherten Datenwort zugeordnet ist. UND-Glieder der Gruppe 50, die an ihren anderen Im übrigen entspricht die Anordnung in ihrem AufEingängen die Stellen oder Bits des Adressenregisters bau und in ihrer Arbeitsweise der nach F i g. 5.
12 empfangen, so daß das Adressenwort vom Adres- Der Vorteil der Anordnung nach F i g. 7 besteht
If the addressed data word is not located in the buffer part 20, an A 'data storage row or division, the inequality output 22 and a Y data storage row or division 23 output of both comparators 36 and 38 are activated. Both 35 divided. Each addressable storage location of the address inequality outputs of the comparators 36 and 38 sentabellenteüs 20 contains two address words, are connected to the AND element 70, one of which indicates the output signal at the corresponding address that the addressed data A 'data storage division 22 and whose other word is not in the buffer memory 20. The at the corresponding address of the Y data memory output signal of the AND gate 70 activates the 40 department 23 is assigned to the stored data word. AND elements of group 50, which at their other In the rest of the arrangement corresponds to the positions or bits of the address register in their inputs and in their mode of operation to that according to FIG. 5.
12 received, so that the address word from the address The advantage of the arrangement according to FIG. 7 consists

senregister 12 zum Decodierer des Hauptspeichers 52 darin, daß die Arbeitsgeschwindigkeit der getrennten übertragen wird. Das Ausgangswort der adressierten as Speicher 20, 22 und 23 größer ist als die des Puffer-Speicherstelle des Hauptspeichers 52 ist den UND- Speichers 20 nach F i g. 5, und zwar wegen der klei-Gliedern der Gruppen 44 und 46 sowie den ODER- neren Datenausgangswortlänge.
Gliedern der Gruppe 48 zugeführt. Die /i-Stellen- Bei den hier beispielsweise beschriebenen Anord-
senregister 12 to the decoder of the main memory 52 in that the operating speed of the separate ones is transmitted. The output of the addressed word as memory 20, 22 and 23 is greater than that of the buffer memory location of the main memory 52 is the AND memory 20 to F i g. 5, because of the small members of groups 44 and 46 as well as the OR data output word length.
Members of the group 48 supplied. The / i positions in the arrangement described here, for example,

Untergruppe des Adressenwortes im Adressenregister nungen haben die Hauptspeicher jeweils nur 64 adres-12 ist den UND-Gliedern der Gruppen 54 und 55 zu- 50 sierbare Speicherstellen und enthalten die Puffergeführt. Bei Empfang des Ausgangssignals des UND- speicher nur acht Hauptspeicherdatenwörter. Ferner Gliedes 70 werden durch eines der Ausgangssignale ist nur eine Pufferspeicheranordnung vorgesehen. In der Wortwählschaltung 62 entwedsr die UND-Glieder der Praxis können der Hauptspeicher Millionen von der Gruppen 44 und 54 oder die UND-Glieder der adressierbaren Speicherstellen und die Pufferspeicher Gruppen 46 und 55 aktiviert, so daß das neue Daten- 55 mehrere hundert Datenwörter enthalten. Die Aufwort und das neue Adressenwort in die entsprechende teilung des Adressenregisters und die Anzahl von Zelle der adressierten Speicherstelle des Pufferspei- Reihen oder Abteilungen ist hier nur beispielsweise chers 20 eingespeichert werden. gewählt. Die in einem gegebenen Fall am besten ge-The main memories only have 64 adres-12 subgroups of the address word in the address register is the AND gates of groups 54 and 55 assignable to 50 memory locations and contain the buffers. When the output signal of the AND memory is received, only eight main memory data words. Further Member 70 is provided by one of the output signals only a buffer memory arrangement. In of word selection circuit 62, either the AND gates, in practice, the main memory can store millions of times of groups 44 and 54 or the AND gates of the addressable memory locations and the buffer memories Groups 46 and 55 activated so that the new data 55 contains several hundred data words. The answer and the new address word in the corresponding division of the address register and the number of Cell of the addressed memory location of the buffer memory rows or departments is only an example here chers 20 are stored. chosen. Which are best suited in a given case

F i g. 6 zeigt eine hypothetische Darstellung einer eigneten Anordnungen ergeben sich dem Fachmann Kombination von acht Pufferspeicherwörtern aus den 60 ohne weiteres.F i g. 6 shows a hypothetical representation of a suitable arrangement will be apparent to those skilled in the art Combination of eight buffer words out of the 60 easily.

Hierzu 4 Blatt ZeichnungenFor this purpose 4 sheets of drawings

Claims (4)

Patentansprüche:Patent claims: 1. Datenverarbeitungsanlage mit mindestens einer Verarbeitungseinheit, ferner mit einem runerspeicher, welcher mehrere Speicherplätze enthält, in denen jeweils Information für die Verwendung in der Verarbeitungseinheit und ein Kennungsabschnitt gespeichert sind, weiterhin mit einem aus zwei Teilen bestehenden Adressengenerator zum Erzeugen zweier Adressen, von denen die erste einen Lokalisierungsabschnitt zur Identifizierung eines Pufferspeicherplatzes und die zweite einen Suchabschnitt enthält, ferner mit einem durch die vom Adressengenerator aus dem Lokalisierungsabschnitt erzeugte Adresse gesteuerten und zum Al/fragen von Information dienenden ersten Wähler, der aus dem adressierten Speicherplatz sowohl die Information als auch den dort gespeicherten Kennungsabschnitt her- ausliest, mit mindestens einem Satz von Verknüpfungsgliedern zur Übertragung von Information zwischen einem Speicherplatz und der Verarbeitungseinheit, und schließlich mit mindestens einem Vergleicher, dem der aus dem Speicher- *5 platz herausgelesene Kennungsabschnitt und der vom Adressengenerator bereitgestellte Suchabschnitt zugeführt sind und der bei Übereinstimmung ein Gleichheitssignal an den Satz von Torschaltungen liefert, dadurch gekenn-30 zeichnet, daß jeder Speicherplatz im Pufferspeicher η (η ganzzahlig und größer als 1) Zellen für jeweils ein Datenwort (BWXO usw.) sowie ein zugehöriges Adressenwort (KX), die die Information bzw. den Kennungsabschnitt in der betreffenden Zelle darstellen, enthält und daß η Sätze von Verknüpfungsgliedern (32, 34) sowie η getrennte Vergleicher (36, 38) vorgesehen sind, denen jeweils eines der η Adressenwörter, das von einem Pufferspeicherplatz herausgelesen worden ist, und der Suchabschnitt, der vom zweiten Teil des Adressengenerators erzeugt wird, anspricht und bei Übeieinstimmung den zugehörigen Satz von Verknüpfungsgliedern aktiviert.1. Data processing system with at least one processing unit, further with a run memory which contains several memory locations, in each of which information for use in the processing unit and an identifier section are stored, further with an address generator consisting of two parts for generating two addresses, of which the The first contains a localization section for identifying a buffer memory location and the second contains a search section, furthermore with a first selector, controlled by the address generated by the address generator from the localization section and used to query information, which selects both the information and the information from the addressed memory location stored identification section her- * ° reads out, with at least one set of logic elements for the transmission of information between a memory location and the processing unit, and finally with at least one comparator, which the The identifier section read out from the memory location and the search section provided by the address generator are supplied and which, if they match, delivers an equality signal to the set of gate circuits, characterized in that each memory location in the buffer memory η (η is an integer and greater than 1) Cells for one data word each (BWXO etc.) and an associated address word (KX), which represent the information or the identifier section in the relevant cell, and that η sets of logic elements (32, 34) and η separate comparators (36, 38) are provided, each of which addresses one of the η address words that has been read out from a buffer memory location and the search section that is generated by the second part of the address generator and, if they match, activates the associated set of logic elements. 2. Datenverarbeitungsanlage nach Anspruch 1 mit einem Hauptspeicher, der eine Anzahl von Hauptspeicherplätzen zur Speicherung von Information enthält, und mit einem durch die von beiden Teilen des Adressengenerators erzeugten Adressen gesteuerten zweiten Wähler zum Herauslesen von Information aus einem adressierten Hauptspeicherplatz, dadurch gekennzeichnet, daß jeder der η Vergleicher (36, 38) ein Ungleichheitssignal (KX^zA, ΚΥφΑ) liefert, wenn der vom zweiten Teil des Adressengenerators (12) erzeugte Suchabschnitt mit dem aus der entsprechenden Zelle d~s adressierten Speicherplatzes herausgelesenen Adressenwort nicht übereinstimmt, und daß die Ungleichheitssignale aller Vergleicher einem zusätzlichen Verknüpfungsglied (70) zugeführt sind, das beim Empfang von Ungleichheitssignalen von allen Vcrgleichern ein Aktivierungssignal an den zweiten Wähler (50) liefert.2. Data processing system according to claim 1 with a main memory containing a number of main memory locations for storing information, and with a controlled by the addresses generated by the two parts of the address generator second selector for reading out information from an addressed main memory location, characterized in that each the η comparator (36, 38) supplies an inequality signal (KX ^ zA, ΚΥφΑ) if the search section generated by the second part of the address generator (12) does not match the address word read out from the corresponding cell d ~ s addressed, and that the Inequality signals from all comparators are fed to an additional logic element (70) which, upon receipt of inequality signals from all comparators, supplies an activation signal to the second selector (50). 3. Datenverarbeitungsanlage nach Anspruch 2, dadurch gekennzeichnet, daß die η Sätze von Verknüpfungsgliedern (32, 34) einen Weg (über 48) zur Übertragung von Information aus dem3. Data processing system according to claim 2, characterized in that the η sets of logic elements (32, 34) have a path (via 48) for the transmission of information from the Hauptspeicher (52) zur Verarbeitungseinheit emMain memory (52) to the processing unit em halten.keep. 4. Datenverarbeitungsanlage nach Anspruch: oder 3, gekennzeichnet durch π Sätze von wei teren Verknüpfungsgliedern (44, 46 in Fig. 5 414, 46, 54, 55 in Fig. 7), durch die einer ent sprechenden der η Zellen des adressierten Puffer Speicherplatzes (BWXO, BWXl, BWYO usw. ein vom Hauptspeicher (52) herausgelesene: Datenwort zuführbar äst, und einen vom zusatz liehen Verknüpfungsglied (70) gesteuerten zu sätzlichen Wähler (62) zur wahlweisen Aktivierung eines der η Sätze von zusätzlichen Verknüpfungsgliedern. 4. Data processing system according to claim: or 3, characterized by π sets of white direct logic elements (44, 46 in Fig. 5, 414, 46, 54, 55 in Fig. 7), through which one of the η cells of the addressed buffer storage space (BWXO, BWXl, BWYO etc. a read out from the main memory (52): data word can be fed, and an additional selector (62) controlled by the additional link element (70) for the optional activation of one of the η sets of additional link elements.
DE19702002369 1969-01-22 1970-01-20 Data processing system with buffer memory Expired DE2002369C3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US79304369A 1969-01-22 1969-01-22
US79304369 1969-01-22

Publications (3)

Publication Number Publication Date
DE2002369A1 DE2002369A1 (en) 1970-07-30
DE2002369B2 DE2002369B2 (en) 1975-09-04
DE2002369C3 true DE2002369C3 (en) 1976-04-15

Family

ID=

Similar Documents

Publication Publication Date Title
DE3011552C2 (en)
DE2227882C2 (en) Virtual storage arrangement
DE2231146C3 (en) Data processing system with virtual addressing
DE2515696C2 (en) Data processing system
DE1956604B2 (en) Data processing system
DE2154106A1 (en) RAM drive
DE2523414A1 (en) HIERARCHICAL STORAGE ARRANGEMENT
DE2547488C2 (en) Micro-programmed data processing system
EP0013737A1 (en) Multilevel storage hierarchy for a data processing system
DE2617408B2 (en) Memory module for a data processing device with a memory hierarchy
DE2302074A1 (en) MEMORY PROTECTION ARRANGEMENT IN A MULTIPROCESSOR SYSTEM
DE3618136C2 (en)
DE2252489A1 (en) STORAGE SYSTEM
DE1449544A1 (en) Data processing machine with overlapping retrievable storage unit
DE1922304A1 (en) Data storage control unit
DE2648225A1 (en) DATA STORAGE FACTORY WITH MULTIPLE STORAGE MODULES
EP0009625B1 (en) Data transfer commutator with associative address selection in a virtual store
CH495584A (en) Data processing system
DE2002369C3 (en) Data processing system with buffer memory
DE2349590A1 (en) DATA PROCESSING DEVICE
DE1774849C3 (en) Addressing device for a memory section chain
DE2355814C2 (en) Channel access device for a hierarchical memory arrangement
DE1449816C3 (en) Circuit arrangement for controlling access to a magnetic drum memory
DE3009317A1 (en) HYBRID ASSOCIATIVE MEMORY
DE2000608A1 (en) Circuit arrangement for a message processing system, in particular for a message switching system