DE3540753A1 - Store for data processing systems - Google Patents

Store for data processing systems

Info

Publication number
DE3540753A1
DE3540753A1 DE19853540753 DE3540753A DE3540753A1 DE 3540753 A1 DE3540753 A1 DE 3540753A1 DE 19853540753 DE19853540753 DE 19853540753 DE 3540753 A DE3540753 A DE 3540753A DE 3540753 A1 DE3540753 A1 DE 3540753A1
Authority
DE
Germany
Prior art keywords
memory
matrix
register
store
data processing
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.)
Ceased
Application number
DE19853540753
Other languages
German (de)
Inventor
Oliver 7141 Benningen Bartels
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.)
BARTELS, OLIVER, 8000 MUENCHEN, DE
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE19853540753 priority Critical patent/DE3540753A1/en
Publication of DE3540753A1 publication Critical patent/DE3540753A1/en
Ceased 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/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

To increase the speed of data processing systems, use is made of a store which, once it has intermediately stored an entire matrix line from the approximately square storage matrix in a register provided especially for this purpose on a memory chip, can output the bits, assigned to the same memory chip, of the commands of successive program steps quickly from this register while bypassing the storage matrix and independently of other accesses. The use of a plurality of such registers makes this design suitable also for the parallel operation of a plurality of processors on the same store both for fast data exchange with the processor and for early reloading to ensure a continuous data stream.

Description

Beschreibung :Description :

Programmspeicher für Datenverarbeitungsanlage Die Erfindung betrifft einen schnellen Programmspeicher für Datenverarbeitungsanlagen, insbesondere für von-Neumann Rechner.Program memory for data processing system The invention relates to a fast program memory for data processing systems, especially for von-Neumann calculator.

Ein solcher Speicher hält einerseits mit den auszuführenden Befehlen das Programm für einen oder mehrere Prozessoren, andererseits aber auch Daten für diese. Dabei werden standig aus diesem Speicher Befehle ausgelesen, die die Veränderung irgendwelcher Daten, unter anderem auch aus diesem Speicher, bewirken. Im allgemeinen werden hintereinander im Speicher befindliche Befehle ausgeführt, nur manchmal wird zum Beispiel durch Programmverzweigungen diese Reihenfolge gestört.Such a memory holds on the one hand with the commands to be executed the program for one or more processors, but also data for these. In doing so, commands are constantly read out from this memory that reflect the change any data, including from this memory, cause. In general commands in memory are executed one after the other, only sometimes this sequence is disturbed by program branches, for example.

Bei bisherigen Rechnern wird für jeden Befehl oder höchstens sehr kleine Gruppen von Befehlen ein Zugriff auf den Speicher zum Holen des jeweiligen Befehls durchgeführt, höchstens werden schon benutzte Befehle in einem schnellen Zwischenspeicher zum ernauten Zugriff abgelegt oder der Speicher in einzelne Gruppen verschränkt, wobei der Zugriff dann im allgemeinen auf unterschiedliche Gruppen und deshalb quasi-parallel und somit schneller erfolgt.In previous computers, every command or at most very small groups of commands an access to the memory for fetching the respective one Command carried out, at most commands already used are carried out in a quick Intermediate storage for renewed access stored or the storage in individual groups entangled, with access then generally to different groups and therefore takes place quasi-parallel and therefore faster.

Ein zu diesem Zweck verwendeter Speicher besteht im allgemeinen aus einer Anzahl von Speicherchips, die häufig der Speicherwortbreite des Rechners, gegebenenfalls eines Teils oder Vielfachen davon entspricht. Jedes Speicherchip enthält nun eine oder mehrere Speichermatrizen. Ein Zugriff erfolgt indem die gewünschte Reihe des Speichers ausgewählt wird und dann alle in dieser Reihe befindlichen Bits über die Spaltenleitungen zum Spaltendekoder gebracht werden, wovon dieser dann eines auswählt. Dies geschieht gleichzeitig für jedes Bit des Speicherworts. Alle übrigen Spaltenbits werden verworfen. Gegebenenfalls kann bei einigen Speichertypen eine andere Spaltenadresse unter Beibehaltung der Zellenadresse vorgegeben werden, diese wird jedoch extra zum Speicher übertragen (Page-Mode) oder es wird von festen Startpunkten ausgegangen (Nibble-Mode), außerdem blockiert dieser Vorgang die ganze Speichermatrix. Es gibt lediglich für Spezialanwendungen wie Grafiksysteme sogenannte Multiport-DRAM'*, die eine solche Spalte ohne Rücksicht auf die Spaltenadresse von wenigen festen Startpunkten aus über ein separates Schieberegister ausgeben, was zwar der Erfindung recht nahe kommt, aber schnelle Programmverzweigungen unmöglich macht, da dort der Programmfluß an beliebgen Punkten fortgesetzt wird. Auch ist der Versuch einer direkten Paralleverarbeitung auf dem Chip für spezielle Videoanwendungen gemacht worden (SLAM der Stanford University).A memory used for this purpose generally consists of a number of memory chips, which often correspond to the memory word length of the computer, optionally corresponds to a part or a multiple thereof. Any memory chip now contains one or more memory matrices. An access is made by the desired Row of memory is selected and then all bits in that row are brought via the column lines to the column decoder, from which this then selects one. This happens simultaneously for each bit of the memory word. All remaining column bits are discarded. If necessary, with some storage types a different column address can be specified while retaining the cell address, However, this is transferred separately to the memory (page mode) or it is fixed Starting points assumed (nibble mode), this process also blocks the whole Storage matrix. There are only so-called for special applications such as graphics systems Multiport DRAM '*, which has such a column regardless of the column address of output a few fixed starting points from what via a separate shift register it comes very close to the invention, but fast program branches are impossible because there the program flow is continued at any point. Also is an attempt at direct parallel processing on the chip for special video applications made (SLAM from Stanford University).

Nachteilig daran ist, daß der Speicher mit dem Holen der Befehle unnötigt belastet wird und damit für Zugriffe auf Daten nur eingeschränkt zur Verfügung steht. Weiterhin wird die Leistungsfähigkeit der möglicherweise sehr schnellen Prozessoren durch Verzögerungen beim Holen der Befehle eingeschränkt, insbesondere wenn diese nur eine interne, nicht auf den Speicher bezogene Verarbeitung durchführen.The disadvantage of this is that the memory is unnecessary when the commands are fetched is loaded and is therefore only available to a limited extent for access to data. Furthermore, the performance of the possibly very fast processors limited by delays in fetching commands, especially when these only perform internal, non-memory processing.

Der Erfindung liegt die Aufgabe zugrunde, das Holen der Befehle möglichst unabhängig vom Speicher zu machen.The invention is based on the task of fetching the commands as possible to make it independent of the memory.

Diese Aufgabe wird erfindungsmäßig dadurch gelöst, daß die einem Speicherchip zugeordneten Bits der Befehle aufeinanderfolgender Programmschritte nach einmaliger Zwischenspeicherung einer ganzen Matrixzeile aus der annähernd quadratischen Speichermatrix in einem dafür besonders vorgesehenen Register auf demselben Speicherchip schnell unter Umgehung der Speichermatrix und getrennt von anderen Zugriffen aus diesem Register ausgelesen werden können.This object is achieved according to the invention in that a memory chip assigned bits of the commands of successive program steps after one-time Intermediate storage of an entire matrix line from the approximately square memory matrix in a specially provided register on the same memory chip bypassing the memory matrix and separately from other accesses from it Register can be read out.

Um auch mehrere Prozessoren an einem solchen Speicher arbeiten zu lassen, schnell Prozessordaten wie Prozessorregisterinhalte mit dem Speicher auszutauschen oder bei Erschöpfung des Spaltenregisters durch frühzeitiges Nachladen den Datenfluß sicherzustellen, sind nach einer weiteren Ausgestaltung der Erfindung mehrere Matrixzellenregister auf demselben Chip vorgesehen.In order to have several processors working on such a memory let you quickly exchange processor data such as processor register contents with the memory or the data flow if the column register is exhausted by reloading early to ensure, according to a further embodiment of the invention, several matrix cell registers provided on the same chip.

Die mit der Erfindung erzielbaren Vorteile bestehen insbesondere darin, daß durch weitgehendes Entfallen intensiver Speicherzugriffe nur zum Holen der Programmbefehle die Programmausführung unabhängig von der Speichergeschwindigkeit wird und gleichzeitig Speicher für andere Aufgaben wie zum Beispiel Datenveränderungen äfter zur Verfügung steht.The advantages that can be achieved with the invention are, in particular, that by largely eliminating intensive memory accesses only for fetching the program commands the program execution becomes independent of the memory speed and simultaneously Memory is often available for other tasks such as data changes stands.

Ein Ausführungsbeispiel der Erfindung wird im folgenden beschrieben: Gegeben sei ein langsamer dynamischer Speicher mit 64KBit Kapazität und ca. 150 ns Zugriffszeit. Dieser sei aus einer 256 mal 256 Bit Matrix aufgebaut. Bei der Adressierung wird nun zunächst eine der 256 Zeilen ausgewählt. An embodiment of the invention is described below: A slow dynamic memory with 64KBit capacity and approx. 150 is given ns access time. This is made up of a 256 by 256 bit matrix. In the Addressing is now first selected one of the 256 lines.

Die Speicherzellen geben nun ihre Ladungen gleichzeitig auf die Spaltenleitungen, wo diese durch die Leitungsverstärker zu gültigen logischen Signalpegeln umgeformt und die Informationen zwecks Erneuerung - wegen des zwerstörenden Lesensbis zum Ende des Zugriffs in einem Register gehalten werden, um dann wieder zurückgespeichert zu werden. Von diesen Leitungen wird nun eine ausgewählt und ausgegeben.The memory cells now transfer their charges to the column lines at the same time, where these are converted to valid logical signal levels by the line amplifier and the information for the purpose of renewal - because of the destructive reading up to At the end of the access, they are kept in a register and then stored back again to become. One of these lines is now selected and output.

An dieser Stelle wird nun die Erfindung angewendet : Statt wie bischer alle anderen Bits zu verwerfen, werden diese in einem weiteren statischen Register zwischengespeichert.At this point the invention is now applied: Instead of like a little bit discard all other bits, these are stored in a further static register cached.

Dieses Register kann jetzt an einen eigenen Spaltendekoder angeschlossen sein. Fordert nun der Prozessor den nächsten Befehl von der nachfolgenden Adresse an, so wird einfach die zwischenzeitlich in einem Zähler gerettete und z. B. um eine erhöhte Spaltenadresse an den diesem Register zugeordneten Spaltendekoder angelegt und die zugehörigen Daten auf einen zusätzlichen Ausgang ausgegeben. Damit muß der Prozessor nicht 150 ns, sondern etwa nur 40 ns warten und der Speicher wird bei linearem Programmverlauf im günstigten Fall nur bei jedem 256 Zugriff belastet.This register can now be connected to its own column decoder be. The processor now requests the next command from the following address on, the meanwhile saved in a counter and z. B. to an increased column address is applied to the column decoder assigned to this register and the associated data is output to an additional output. So he has to Processor does not wait 150 ns, but only about 40 ns and the memory will be at linear program sequence in the best case only loaded with every 256 access.

Hat der Zähler bis zum Ende gezählt so muß eine neue Matrixzeile angefordert werden. Zur weiteren Beschleunigung kann diese natürlich auch schon vorher in einem anderen Zusatzregister abgelegt worden sein. Im Falle einer Programmverzweigung wird einfach die neue Adresse an den Speicher angelegt und wie oben erneut eine ganze Matrixzelle geladen.If the counter has counted to the end, a new matrix line must be requested will. For further acceleration, this can of course also be done beforehand in one other additional register. In the case of a program branch the new address is simply placed in the memory and, as above, one more whole matrix cell loaded.

Statt der Ausführung mit Zähler ist natürlich auch die Verwendung eines Schieberegisters denkbar.Instead of the version with a counter, it is of course also used a shift register conceivable.

Zur weiteren Beschleunigung bei Verzweigungen kann dieser Speicher natürlich auch mit einem Dachespeicher für die jeweils ersten Befehle nach einer Verzweigung verknüpft werden. Besonders gut dürfte diese Art von Speicher für Prozessoren mit reduziertem Befehlssatz (RISC-Konzept) geeignet sein.This memory can be used to accelerate the process of branching Of course, also with an attic for the first commands after one Branch to be linked. This type of memory is particularly good for processors be suitable with a reduced instruction set (RISC concept).

Claims (3)

Patentansprüche : 1. Speicher für eine Datenverarbeitungsanlage, dadurch gekennzeichnet, daß die einem Speicherchip zugeordneten Bits der Befehle aufeinanderfolgender Programmschritte nach einmaliger Zwischenspeicherung einer ganzen Matrixzeile aus der annähernd quadratischen Speichermatrix in einem dafür besonders vorgesehenen Register auf demseiben Speicherchip schnell unter Umgehung der Speichermatrix und getrennt von anderen Zugriffen aus diesem Register ausgelesen werden können. Claims: 1. Memory for a data processing system, characterized in that the bits of the commands assigned to a memory chip successive program steps after one-time intermediate storage of a entire matrix row from the approximately square memory matrix in one for it specially provided register on the same memory chip quickly bypassing the memory matrix and read out from this register separately from other accesses can be. 2. Speicher wie oben, dadurch gekennzeichnet, daß durch Bereitstellung mehrerer Matrixzeilenregister mehrere Prozessoren gleichzeitig bedinet werden können oder ein überlappendes Nachladen ermöglicht wird. 2. Memory as above, characterized in that by providing multiple matrix line registers multiple processors can be operated at the same time or overlapping reloading is enabled. 3. Speicher wie oben, dadurch gekennzeichnet, daß durch Bereitstellung weiterer Matrixzeilenregister auch aufeinanderfolgende Dateninformationen schnell mit dem Prozessor ausgetauscht werden können.3. Memory as above, characterized in that by providing further matrix line registers also successive data information quickly can be exchanged with the processor.
DE19853540753 1985-11-16 1985-11-16 Store for data processing systems Ceased DE3540753A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19853540753 DE3540753A1 (en) 1985-11-16 1985-11-16 Store for data processing systems

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19853540753 DE3540753A1 (en) 1985-11-16 1985-11-16 Store for data processing systems

Publications (1)

Publication Number Publication Date
DE3540753A1 true DE3540753A1 (en) 1986-04-24

Family

ID=6286208

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19853540753 Ceased DE3540753A1 (en) 1985-11-16 1985-11-16 Store for data processing systems

Country Status (1)

Country Link
DE (1) DE3540753A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800289A (en) * 1972-05-15 1974-03-26 Goodyear Aerospace Corp Multi-dimensional access solid state memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3800289A (en) * 1972-05-15 1974-03-26 Goodyear Aerospace Corp Multi-dimensional access solid state memory

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DE-Z: Der Elektroniker, 5, 1984, S.28-34 *
US-Z: Electronic Design, 18.08.83, S.161-164, 166, 168, 170, 172 *
US-Z: Electronic Design, 30.05.85, S.117-120, 122, 123, 125 *

Similar Documents

Publication Publication Date Title
DE3788032T2 (en) Structure for reordering bits on the chip.
DE68928213T2 (en) Content addressed memory cell arrangement
DE2515696C2 (en) Data processing system
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
DE2803989C2 (en) Digital data storage with random access
DE2364408C3 (en) Circuit arrangement for addressing the memory locations of a memory consisting of several chips
DE1956604C3 (en) Data processing system
DE2059917C3 (en) Hybrid addressed data store
DE3586377T2 (en) SEMICONDUCTOR MEMORY ARRANGEMENT.
DE68907518T2 (en) Content-addressed storage arrangement.
DE2617408B2 (en) Memory module for a data processing device with a memory hierarchy
DE68915082T2 (en) Chip card and method for inserting data into it.
DE68928187T2 (en) Content addressed memory cell arrangement
DE2154106B2 (en) Main memory unit with two buffer memories and additional content-addressed auxiliary memory
DE2415900B2 (en) Computing machine with several computing systems, each provided with a storage tank
DE2364254B2 (en) CIRCUIT ARRANGEMENT FOR DATA PROCESSING DEVICES
DE3916784A1 (en) DYNAMIC SEMICONDUCTOR MEMORY DEVICE
DE2718551B2 (en)
DE69011867T2 (en) NIBBLE MODE D RAM RAM MEMORY
DE2111642A1 (en) Device for exchanging information between a fast and a slow memory
DE4302754C1 (en) Monolithic integrated data memory e.g. for access to data table or list - uses Hash function to generate memory address from data to be entered
DE69025782T2 (en) Register bank switching
DE602004012923T2 (en) Word-wise programmable flash memory
DE2556357A1 (en) ADDRESSING DEVICE
DE2110458C3 (en) Storage arrangement in a data processing system

Legal Events

Date Code Title Description
OAV Applicant agreed to the publication of the unexamined application as to paragraph 31 lit. 2 z1
OR8 Request for search as to paragraph 43 lit. 1 sentence 1 patent law
8105 Search report available
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: BARTELS, OLIVER, 8000 MUENCHEN, DE

8131 Rejection