DE1774258A1 - Method for addressing a memory - Google Patents
Method for addressing a memoryInfo
- Publication number
- DE1774258A1 DE1774258A1 DE19681774258 DE1774258A DE1774258A1 DE 1774258 A1 DE1774258 A1 DE 1774258A1 DE 19681774258 DE19681774258 DE 19681774258 DE 1774258 A DE1774258 A DE 1774258A DE 1774258 A1 DE1774258 A1 DE 1774258A1
- Authority
- DE
- Germany
- Prior art keywords
- register
- address
- memory
- character
- characters
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/04—Addressing variable-length words or parts of words
Description
Verfahren zur Adressierung eines Speichers Die Erfindung betrifft ein Verfahren zur Adressierung eines Speichers, bei dem den Zeichen einer Information aufeinanderfolgende Adressen in mehreren Blöcken des Speichers zugeordnet sind und gleichzeitig mehrere Zeichen gespeichert oder entnommen werden. Es ist bekannt, den Hauptspeicher einer Datenverarbeitungsanlage in Blöcke aufzuteilen und aufeinanderfolgende Adressen verschiedenen Blöcken zuzuteilen. Dies kann z. B. geschehen, um die Entnahme von Informationen verschachtelt durchzuführen (BRD-AS 1 194 179). Es sind auch Anlagen bekannt, bei denen jedem Zeichen eine Adresse im Speicher zugeordnet ist und die die gleichzeitige Entnahme oder Eintragung mehrerer Zeichen aus dem Speicher gestatten. Besteht ein Wort z. B. aus zwei Zeichen, werden die Wörter durch geradzahlige Zeichenadressen adressiert. Beide Zeichen liegen dann an den gleichen Stellen zweier Speicherblöcke, von denen der erste die Speicherplätze mit dem geradzahligen und der zweite die mit den ungeradzahligen Zeichenadressen im Wort enthält. Es kann aber auch eine Information, die aus zwei Zeichen besteht, so im Speicher plaziert sein, daB das erste Zeichen auf einem Speicherplatz mit ungerader Adresse und das zweite auf einem Speicherplatz mit der darauffolgenden geraden Adresse steht, also zwei verschiedenen Wörtern angehört. In diesem Fall ist es bekannt, daB man die Adresse des Wortes, in dem das erste Zeichen steht, in die Adressenregister der beiden zugehörigen Blöcke einträgt, das Wort in das Pufferregister des Speichers übernimmt und das gewünschte Zeichen aus dem Speicherwort auswählt und im nächsten Speicherzyklus die Adresse des Speicherwortes, in dem das zweite Zeichen steht, in die Adressenregister der beiden zugehörigen Speicherblöcke einträgt, das Speicherwort in das Pufferregister übernimmt und. das gewünschte zweite Zeichen auswählt.Method for addressing a memory The invention relates to a method for addressing a memory in which the characters of an item of information are assigned consecutive addresses in several blocks of the memory and several characters are stored or extracted at the same time. It is known to divide the main memory of a data processing system into blocks and to assign successive addresses to different blocks. This can e.g. B. happen to carry out the extraction of information in an interleaved manner (BRD-AS 1 194 179). There are also systems known in which each character is assigned an address in the memory and which allow the simultaneous removal or entry of several characters from the memory. If there is a word z. B. consisting of two characters, the words are addressed by even-numbered character addresses. Both characters are then in the same places in two memory blocks, of which the first contains the memory locations with the even-numbered and the second the memory locations with the odd-numbered character addresses in the word. However, information consisting of two characters can also be placed in the memory in such a way that the first character is in a memory location with an odd address and the second in a memory location with the following even address, i.e. belongs to two different words. In this case it is known that the address of the word in which the first character is located is entered in the address register of the two associated blocks, the word is transferred to the buffer register of the memory and the desired character is selected from the memory word and in the next memory cycle enters the address of the memory word in which the second character is located in the address registers of the two associated memory blocks, takes over the memory word in the buffer register and. select the desired second character.
Um eine solche Information, deren Zeichen zwei Wörtern angehören, zu lesen oder einzuschreiben, sind daher zwei Speicherzyklen nötig. Wenn ein Wort z: B. aus vier Zeichen besteht, wird es durch die Zeichenadresse 4j + 0 (j - 0, 1, 2, ... ) adressiert. Das Wort kann aber auch so im Speicher angeordnet sein, daB das erste Zeichen auf einem Speicherplatz mit der Zeichenadresse 4j + 1 oder auf einem Speicherplatz mit der Zeichenadresse 4j + 2 oder auf einem Speicherplatz mit der Zeichenadresse 4j + 3 steht. j ist von der Kapazität des Speichers abhängig. Auch in diesem und in den Fällen, wo das Wort aus mehr Zeichen zusammengesetzt ist, wird man nacheinander zwei Wörter aufrufen und die benötigten Zeichen auswählen.In order to read or write such information, the characters of which belong to two words, two memory cycles are therefore necessary. For example, if a word consists of four characters, it is addressed by the character address 4j + 0 (j - 0, 1, 2, ...). The word can also be arranged in the memory in such a way that the first character is in a memory location with the character address 4j + 1 or in a memory location with the character address 4j + 2 or in a memory location with the character address 4j + 3. j depends on the capacity of the memory. In this case, too, and in those cases where the word is composed of more characters, two words will be called up one after the other and the characters required will be selected.
Der Zweck der Erfindung besteht in der Verringerung der Zahl der zur Entnahme oder zur Eintragung benötigten Speicherzyklen und damit in der Erhöhung der Arbeitsgeschwindigkeit des Speichers.The purpose of the invention is to reduce the number of memory cycles required for removal or entry and thus to increase the operating speed of the memory.
Der Erfindung liegt die Aufgabe zugrunde, zu einer Information, die aus m Zeichen besteht und deren m - 2n Zeichen, wobei n eine ganze Zahl ist, auf aufeinanderfolgenden Speicherplätzen in m Blöcken stehen, in einem Speicherzyklus simultan zuzugreifen.The invention is based on the object of information that consists of m characters and their m - 2n characters, where n is an integer successive memory locations in m blocks are in one memory cycle access simultaneously.
Die Aufgabe wird erfindungsgemäß dadurch gelöst, daß die Adressen, die die den einzelnen Zeichen zugeordneten Speicherplätze innerhalb der Blöcke festlegen, in einer Stufe bereitgestellt werden, in der Art, daß die Zeichenadresse des ersten Zeichens einer Information ohne die n niedrigsten Bits in ein erstes Register und um eins erhöht in ein zweites Register und die niedrigsten n Bits der Adresse des ersten Zeichens in ein drittes Register eingetragen werden und die Adresse aus dem ersten Register mit der Bedingung 1 = 0 v 1 v .... v (i - 1) in das Adressenregister eines i-ten Blockes des Speichers, wobei i die Werte 1 bis m - 1 annimmt und 1 der Wert einer Dualzahl ist, die in dem dritten Register steht und die Werte 0 bis m - 1 annimmt, oder die Adresse aus dem zweiten Register mit der Bedingung 1 = 0v 1 v ... v - in das Adressenregister eines i-ten Blockes des Speichers gebracht und die Adresse aus dem ersten Register unbedingt in das Adressenregister des m-ten Blockes transportiert wird. The object is achieved according to the invention in that the addresses which define the memory locations within the blocks assigned to the individual characters are provided in one stage in such a way that the character address of the first character of information without the n lowest bits is in a first register and increased by one in a second register and the lowest n bits of the address of the first character are entered in a third register and the address from the first register with the condition 1 = 0 v 1 v .... v (i - 1) into the address register of an i-th block of the memory, where i takes on the values 1 to m - 1 and 1 is the value of a binary number that is in the third register and takes on the values 0 to m - 1, or the address from the second register with the condition 1 = 0v 1 v ... v - brought into the address register of an i-th block of the memory and the address from the first register must be transported into the address register of the m-th block t will.
Die Erfindung ermöglicht somit, m Zeichen in einem Speicherzyklus aus dem Speicher zu lesen oder in diesen einzuschreiben, ganz gleich, ob das erste Zeichen eine Adresse hat, die durch m teilbar ist oder nicht, trenn der Speicher aus mindestens m Blöcken besteht, Diese Zeichen können verschiedenen Wörtern angehören. Der erfinderische Gedanke ist selbstverständlich auch dann anwendbar, wenn die Wörter eine Zahl m von Zeichen haben, die keine Potenz von 2 ist, Dann ist eine Division notwendig.The invention thus enables m characters in one memory cycle reading from or writing to memory, regardless of whether it is the first Character has an address that is divisible by m or not, separate the memory consists of at least m blocks, these characters can belong to different words. The inventive idea is of course also applicable when the words have a number m of characters that is not a power of 2, then a division necessary.
Die Erfindung soll an einem Ausführungsbeispiel näher erläutert Werden.The invention is to be explained in more detail using an exemplary embodiment.
In der zugehörigen Zeichnung zeigen: Fig. 1 die Zuordnung der Speicherplatzadreseen in einem Block, Fig. 2: die Zuteilung der Zeichenadressen zu den Blöcken des Speichers bei Wörtern aus vier Zeichen, Fig. 3: die Schaltung zur Ansteuerung von vier Blöcken des Speichers.The accompanying drawings show: FIG. 1 the assignment of the memory location addresses in a block, FIG. 2: the assignment of the character addresses to the blocks of the memory in the case of words of four characters, FIG. 3: the circuit for controlling four blocks of the memory.
Es wird angenommen m = 4. Daraus folgt n = 2 1 hat zwei Dualstellen i = 1, 2, 3 Hat der Speicher 8 K Speicherplätze (1 K - 1024) und besteht er aus acht Blöcken, von denen jeder 1024 Plätze enthält (Fig. 1), kann man die den Zeichenadressen 4j + 0 zugeordneten Zeichen in den ersten Block, die den Zeichenadressen 4j + 1 zugeordneten Zeichen-in den zweiten Block, die den Zeichenadressen 4j + 2 zugeordneten Zeichen in den dritten Block und die den Zeichenadressen 4j + 3 zugeordneten Zeichen in den vierten Block eintragen (Fig. 2), wobei j die Werte 0 bis 204'7 annehmen kann. Jedem Speicherplatz ist somit ein Zeichen, welches direkt adressiert werden kann, zugeordnet. In der Zentraleinheit werden Wörter oder Informationen, die aus vier Zeichen bestehen, aufgerufen, deren erstes Zeichen auf einem Speicherplatx,mit der Zeichenadresse 4j + 0 (Fall W) oder deren erstes Zeichen auf einem Speicherplatz mit der Zeichen- adresse 4j + 1 (Fall X) oder deren erstes Zeichen auf einem Speicherplatz mit der Zeichenadresse 4j + 2 (Fall Y) oder deren erstes Zeichen auf einem Speicherplatz mit der Zeichenadresse 4j + 3 (Fall Z) steht, und die übrigen Zei- chen des Wortes stehen auf den darauffolgenden Speicher- plätzen. It is assumed that m = 4. It follows that n = 2 1 has two binary digits i = 1, 2, 3 If the memory has 8 K memory locations (1 K - 1024) and it consists of eight blocks, each of which contains 1024 locations (Fig . 1), you can put the characters assigned to the character addresses 4j + 0 in the first block, the characters assigned to the character addresses 4j + 1 in the second block, the characters assigned to the character addresses 4j + 2 in the third block and the characters assigned to the character addresses 4j Enter + 3 assigned characters in the fourth block (Fig. 2), whereby j can assume the values 0 to 204'7. Each memory location is thus associated with a character which can be directly addressed. In the central unit, are words or information that is composed of four characters called whose first character on a Speicherplatx, with the character address 4j + 0 (case W) or the first character on a memory location with the character address 4j + 1 (Case X) or whose first character is in a memory location with the character address 4j + 2 (case Y) or whose first character is in a memory location with the character address 4j + 3 (case Z), and the remaining characters of the word are in the subsequent ones Storage spaces.
Die Fig. 3 zeigt vier Blöcke 68; 69; 70g7 71,mit den Pufferregistern 72; 73; 74; 75 und den Adressenregistern 64; 65; 66; 67. Der Block 68 enthält die Zeichenadressen 4j + 0, der Block 69 die Zeichenadressen 4j + 1, dar Block 70 die Zeichenadressen 4j + 2 und der Block 71 die Zeichenadressen 4j + 3. Die Zeichenadresse des ersten Zei- chens einen aufzurufenden Wortes oder einer aufzurufenden Information gelangt ohne die zwei niedrigsten Bite-in das Register 51 und über ein Netzwerk 53 zur ldditign von eins in ein anderes Register 54, und die zwei nied- rigsten Bits der Zeiohenadresee des ersten Zeichens wer- den in das Register 52 transportiert. Der Inhalt den Re-44 44 giaters 58 kann die Worte 0, 1, 2, oder .3 annehmen und be- stimmt die Funktion 1 m 0 v 1 v 2 v ... v (i - 1)" 1 ist keine logische Spannung, sondern eine Bedingung, aus der die Eintragungsspannung gebildet werden mu8. Die Eintragung in das Adressenregister 64 erfolgt aus dem Register 51 über ein Und-Gatter 56 und ein Oder' Gatter 57', wenn 1 gleich 0 ist, .oder aus den: iRe$t ;e54 über ein Und-Gatter 55 und ein Oder-4atter 5?', weni@dli nicht gleich 0 ist, die Eintragung: in' das @diRSe#i"e$-ster 65 erfolgt rue. dem Register. 51 -ßber ein: Und-Gatter-59 und. ein Oder-Gatter 60, wenn i gleich 0 oder l ist oder aus dem Register 54 über ein Und-Gatter 58 und ein Oder-Gatter 60, wenn 1 nicht gleich 0 oder 1 ist, die Eintragung in das Adressenregister 66 erfolgt aus dem Register 51 über ein Und-Gatter 62 und ein Oder-Gatter 63, wenn 1 gleich 0 oder 1 oder 2 ist, odet aus dem Register 54 über ein Und-Gatter 61 und ein Oder-Gatter 63, wenn 1 nicht gleich 0 oder 1 oder 2 ist, und die Eintragung in das Adressenregister 67 erfolgt unbedingt aus dem Register 51. Figs. 3 shows four blocks 68; 69; 70g7 71, with the buffer registers 72; 73; 74; 75 and the address registers 64; 65; 66; 67. Block 68 contains the character addresses 4j + 0, block 69 the character addresses 4j + 1, block 70 the character addresses 4j + 2 and block 71 the character addresses 4j + 3. The character address of the first character of a word or to be called up a invoked information passes without the two lowest bite into the register 51 and via a network 53 to ldditign from one to another register 54, and the two least significant bits of the first character of the Zeiohenadresee advertising the transported into the register 52nd The content of the controller 58 can take the words 0, 1, 2, or .3 and determines the function 1 m 0 v 1 v 2 v ... v (i - 1) "1 is not a logical one Voltage, but a condition from which the entry voltage must be formed. The entry in the address register 64 is made from the register 51 via an AND gate 56 and an OR 'gate 57', if 1 is equal to 0, or from the: iRe $ t; e54 via an AND gate 55 and an OR gate 5? ', if @ dli is not equal to 0 , the entry: in' the @ diRSe # i "e $ -ster 65 takes place. the register. 51 -over a: AND-gate-59 and. an OR gate 60 if i is equal to 0 or 1 or from the register 54 via an AND gate 58 and an OR gate 60 if 1 is not equal to 0 or 1, the entry in the address register 66 is made from the register 51 via an AND gate 62 and an OR gate 63, if 1 is equal to 0 or 1 or 2, or from the register 54 via an AND gate 61 and an OR gate 63, if 1 is not equal to 0 or 1 or 2 , and the entry in the address register 67 is unconditionally made from the register 51.
Im Fall W gelangt die Zeichenadresse 8 (1000) ohne die zwei niedrigsten Bits in das Register 51 (10) und über ein Netzwerk 57 um eins erhöht (11) in das Re- gister 54 und die zwei niedrigsten Bits (00) in das Register 52. Da 1 = 0 ist, wird in alle vier Adressen- register 64; 65; 66; 67 die Adresse aus dem Register 51 eingetragen (also 10). In case W , the character address 8 (1000) without the two lowest bits gets into the register 51 (10) and increased by one (11) via a network 57 into the register 54 and the two lowest bits (00) into the register 52. Since 1 = 0, 64; 65; 66; 67 entered the address from register 51 (i.e. 10).
Im Fall X gelangt die Zeichenadresse 13 (1101) ohne die zwei niedrigsten Bits in das Register 51 (11) und über ein Netzwerk 53 um eins erhöht (100) in das Re- gister 54 und die zwei niedrigsten Bits (01) in das Register 52. Da 1 = 1 ist, wird in das Adressen-register 64 die Adresse aus dem Register 54 (also 100) und in die Adressenregister 65; 66; 67 die Adresse aus den Register 51 eingetragen. In case X , the character address 13 (1101) without the two lowest bits gets into the register 51 (11) and increased by one (100) via a network 53 into the register 54 and the two lowest bits (01) into the register 52. Since 1 = 1 , the address from register 54 (ie 100) and address register 65; 66; 67 the address from register 51 is entered.
Die Fälle i und Z werden analog behandelt. The cases i and Z are treated analogously.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19681774258 DE1774258A1 (en) | 1968-05-13 | 1968-05-13 | Method for addressing a memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19681774258 DE1774258A1 (en) | 1968-05-13 | 1968-05-13 | Method for addressing a memory |
Publications (1)
Publication Number | Publication Date |
---|---|
DE1774258A1 true DE1774258A1 (en) | 1971-09-09 |
Family
ID=5702069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19681774258 Pending DE1774258A1 (en) | 1968-05-13 | 1968-05-13 | Method for addressing a memory |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE1774258A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0032136A2 (en) * | 1980-01-08 | 1981-07-15 | Honeywell Bull Inc. | Memory system |
FR2573562A1 (en) * | 1984-11-21 | 1986-05-23 | France Etat | RAM AND LINEAR INTERPOLATION CIRCUIT INCLUDING APPLICATION |
EP0473302A2 (en) * | 1990-08-31 | 1992-03-04 | International Business Machines Corporation | Memory device with improved means for controlling data transfer |
-
1968
- 1968-05-13 DE DE19681774258 patent/DE1774258A1/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0032136A2 (en) * | 1980-01-08 | 1981-07-15 | Honeywell Bull Inc. | Memory system |
EP0032136A3 (en) * | 1980-01-08 | 1982-03-24 | Honeywell Information Systems Inc. | Memory system |
FR2573562A1 (en) * | 1984-11-21 | 1986-05-23 | France Etat | RAM AND LINEAR INTERPOLATION CIRCUIT INCLUDING APPLICATION |
EP0183610A1 (en) * | 1984-11-21 | 1986-06-04 | ETAT FRANCAIS repr. par le Secrétaire d'Etat aux Postes et Télécomm. et à la Télédiffusion (CENT. NAT. D'ETUDES DES TELECOMM.) | Read-write memory and its use in a linear interpolation circuit |
EP0473302A2 (en) * | 1990-08-31 | 1992-03-04 | International Business Machines Corporation | Memory device with improved means for controlling data transfer |
EP0473302A3 (en) * | 1990-08-31 | 1992-06-03 | International Business Machines Corporation | Memory device with improved means for controlling data transfer |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2803989C2 (en) | Digital data storage with random access | |
DE3011552C2 (en) | ||
DE2550339C2 (en) | Storage system with a slow working main memory of large capacity and with at least one fast working buffer memory of low capacity | |
DE3804938C2 (en) | Image processing device | |
DE2637054C3 (en) | Control device for a buffer storage | |
DE2310631C3 (en) | Storage hierarchy for a data processing system | |
DE3132225C2 (en) | Device for addressing stored result values in the case of a fast Hadamard transformation | |
DE3906497A1 (en) | SELF-CONFIGURING STORAGE SYSTEM | |
DE2455803A1 (en) | MULTIPROCESSOR DATA PROCESSING SYSTEM | |
DE3015875A1 (en) | MEMORY ACCESS SYSTEM AND METHOD FOR ACCESSING A DIGITAL MEMORY SYSTEM | |
DE1901343B2 (en) | Data processing system for the execution of material invoices | |
DE2230103A1 (en) | ADDRESSING DEVICE FOR A MEMORY | |
DE2551239B2 (en) | Data processing system | |
DE2703559C2 (en) | ||
DE2121490A1 (en) | Orthogonal data storage | |
DE1774258A1 (en) | Method for addressing a memory | |
DE2233193A1 (en) | STACK STORAGE SYSTEM | |
DE10105627B4 (en) | A multi-port memory device, method and system for operating a multi-port memory device | |
DE1774259A1 (en) | Method for addressing a memory | |
EP0051308B1 (en) | Method and arrangement for formatting a magnetic recording disc | |
DE3917558A1 (en) | Semiconductor memory device | |
DE2729361A1 (en) | MEMORY CIRCUIT | |
DE69333792T2 (en) | A semiconductor device | |
DE2233164B2 (en) | Partial amendment of stored data - using logic circuit transferring part of bit sequence between registers | |
DE2017879C3 (en) | Free access memory array |