DE1774258A1 - Method for addressing a memory - Google Patents

Method for addressing a memory

Info

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
Application number
DE19681774258
Other languages
German (de)
Inventor
Walter Dipl-Phys Schiedewitz
Klaus Dipl-Phys Wendlik
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.)
Elektronische Rechenmaschinen Wissenschaftlicher Industriebetrieb VEB
Original Assignee
Elektronische Rechenmaschinen Wissenschaftlicher Industriebetrieb VEB
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 Elektronische Rechenmaschinen Wissenschaftlicher Industriebetrieb VEB filed Critical Elektronische Rechenmaschinen Wissenschaftlicher Industriebetrieb VEB
Priority to DE19681774258 priority Critical patent/DE1774258A1/en
Publication of DE1774258A1 publication Critical patent/DE1774258A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing 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)

Patentanspruch: Verfahren zur Adressierung eines Speicher, bei dem die m (m - 2n) einzelnen Zeichen einer Information m verschiedenen Blöcken zugeordnet sind und aufeinanderfolgende Adressen haben, dadurch gekennzeichnet, daß die Adressen, die die den einzelnen Zeichen zugeordneten Speicherplätze innerhalb der Blöcke festlegen, in einer Stufe bereitgestellt werden, in der. Art, daB die Zeichenadresse des ersten Zeichens einer Information ohne die n niedrigsten Bits in ein erstes Re-gister 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 - Ö v 1v :.. v in das Adressenregister eines i-1;en Blockes des Speichers gebracht und die Adresse üus der ersten Register unbedingt in das Adressenregistci,Ges m-ten Blockes transportiert wird.Claim: Method for addressing a memory in which the m (m-2n) individual characters of an item of information are assigned to m different blocks and have consecutive addresses, characterized in that the addresses which define the memory locations assigned to the individual characters within the blocks, be provided in a stage in which. Way that the character address of the first Character of information without the n lowest bits in a first register and increased by one in a second register and the lowest n bits of the address of the first character in a third register and the address from the first register with the condition 1 = 0 v 1 v ... v (i - 1) in the address register 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 the values are 0 until m assumes - 1, or the address from the second register with condition 1 - Ö v 1v: .. v brought into the address register of an i-1; en block of the memory and the address üus of the first register absolutely in the address register, Ges m-th Block is transported.
DE19681774258 1968-05-13 1968-05-13 Method for addressing a memory Pending DE1774258A1 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (6)

* Cited by examiner, † Cited by third party
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