DE3540753A1 - Store for data processing systems - Google Patents
Store for data processing systemsInfo
- 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
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/0215—Addressing or allocation; Relocation with look ahead addressing means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data 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
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)
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)
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 |
-
1985
- 1985-11-16 DE DE19853540753 patent/DE3540753A1/en not_active Ceased
Patent Citations (1)
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)
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 |