DE2327690C3 - Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time - Google Patents

Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time

Info

Publication number
DE2327690C3
DE2327690C3 DE19732327690 DE2327690A DE2327690C3 DE 2327690 C3 DE2327690 C3 DE 2327690C3 DE 19732327690 DE19732327690 DE 19732327690 DE 2327690 A DE2327690 A DE 2327690A DE 2327690 C3 DE2327690 C3 DE 2327690C3
Authority
DE
Germany
Prior art keywords
command
memory
register
data processing
main 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
DE19732327690
Other languages
German (de)
Other versions
DE2327690B2 (en
DE2327690A1 (en
Inventor
Anmelder Gleich
Original Assignee
Schecher, Heinz, Prof Dr, 8026 Irschenhausen
Filing date
Publication date
Application filed by Schecher, Heinz, Prof Dr, 8026 Irschenhausen filed Critical Schecher, Heinz, Prof Dr, 8026 Irschenhausen
Priority to DE19732327690 priority Critical patent/DE2327690C3/en
Publication of DE2327690A1 publication Critical patent/DE2327690A1/en
Publication of DE2327690B2 publication Critical patent/DE2327690B2/en
Application granted granted Critical
Publication of DE2327690C3 publication Critical patent/DE2327690C3/en
Expired legal-status Critical Current

Links

Description

23 2723 27

Zeitabschnitt t5: Verarbeitung der Befchlsoperanlen. Die Zeitabschnitte (4 und f5 umfassen die »lusführungsphase.Time segment t5: Processing of command operands. The time segments (4 and f5 comprise the execution phase.

In F i g. 1 ist eine beliebige Kette von Befehlen B 1 bis 3(> einfach aneinandergereiht, die im Zeitablauf /erschieden lang sein können, da die Art eines Befehles iie Dauer der einzelnen Grundzyklen bestimmt. Während dieser Phasen eines BefehlEablaufes sind jedoch immer nur einzelne Teile der datenverarbeitenden Anlage aktiv. Deshalb ist es seit langem bekannt, wie in F i g. 2 dargestellt, die Aufruf- und Modifikationsphase eines Befehls mit der Ausführungsphase seines Vorgängers zeillich zu überlappen, sobald dieser in der Ausführungsphase keinen Speicherzugriff mehr auslöst. Dafür muß dem Befehlsregister ein Vorregister zugeordnet werden, in das der aufgerufene Befehl zunächst aus dem Arbeitsspeicher übertragen wird.In Fig. 1 is any chain of commands B 1 to 3 (> simply strung together, which can be of different lengths over time, since the type of command determines the duration of the individual basic cycles. During these phases of a command sequence, however, there are always only individual parts of the data processing System active. It has therefore been known for a long time, as shown in FIG Pre-register are assigned to which the called command is first transferred from the main memory.

In F i g. 2 sind Störungen dieses einfachsten Überlappungsverfahrens dargestellt: Ein Befehl, z. B. der zweite Befehl Bl kann erst entschlüsselt werden, wenn der erste Befehl ß 1 ausgeführt ist, da er dazu bereits im Befehlsregister stehen müßte. Wird ein Folgebefehl, wie z. B. der zweite Befehl B 2, der fünfte Befehl B5 nicht modifiziert, so ergeben sich Wartezeiten 161 bzw. 162. Weiter ist angenommen, daß der fünfte Befehl B 5 ein sogenannter bedingter Sprungbefehl ist. Aus diesem Crrunde ist es nicht möglich, bereits während der Ausführungsphase des fünften Befehles Ö5 den sechsten Befehl B% aufzurufen. Der Ablauf dieser Befehle überlappt sich daher nicht.In Fig. 2 shows faults in this simplest overlapping method: A command, e.g. B. the second command B1 can only be decrypted when the first command ß 1 has been executed, since it would have to be in the command register. If a follow-up command, such as If, for example, the second command B 2 is not modified, the fifth command B5 is not modified, then waiting times 1 61 or 1 62 result. It is also assumed that the fifth command B 5 is a so-called conditional jump command. For this round it is not possible to call up the sixth command B% during the execution phase of the fifth command Ö5. The sequence of these commands therefore does not overlap.

Man kann das Überlappungsverfahren durch Arbeitsspeicher mit sogenannter Adressenverschränkung noch weiter ausbauen. Dabei ist der Arbeitsspeicher modular aufgebaut, aufeinanderfolgende Befehle in einer Befehlskette sind in verschiedenen Moduln des Arbeits-Speichers niedergelegt Wie vorher ist dem Befehlsregister ein Vorregister zugeordnet. Dann kann der nächste Befehl gelesen werden, wenn der vorangehende aus dem Vorregister ausgespeichert ist. Diese Verfahrensvariante versagt allerdings dann, wie F i g. 3 zeigt, wenn sich der Folgebefehl im gleichen Speichermodul befindet wie ein zu dem vorangegangenen Befehl gehörender Operand, hier z. B. beim Ablauf der beiden ersten Befehle B\ und B 2. Der erste Befehl ßl wird nach seiner Adreßmodifikation zum Entschlüsseln in das Befehlsregister und dann auch der zweite Befehl B 2 im Zeitabschnitt Π gelesen und in das Vorregister übertragen. Daraus resultiert eine Wartezeit f 63 für den ersten Befehl B1. Nun hat aber der zweite Befehl keine Modifikationsphase, sein Ablauf verzögert sich daher um die Wartezeit 164.The overlapping method can be expanded even further by using a working memory with so-called address interleaving. The main memory has a modular structure, successive commands in a command chain are stored in different modules of the work memory. As before, a preregister is assigned to the command register. The next command can then be read when the previous one has been saved from the preregister. However, this variant of the method then fails, as shown in FIG. 3 shows when the next instruction is in the same memory module as an operand belonging to the previous instruction, here e.g. B. when the first two commands B \ and B 2. The first command ßl is read after its address modification for decryption in the command register and then also the second command B 2 in the time segment Π and transferred to the preregister. This results in a waiting time f 63 for the first command B 1. Now, however, the second command has no modification phase, its expiry is therefore delayed by waiting time 1 64.

Andererseits ermöglicht das Verfahren den Aufruf des dritten Befehles B 3, sobald der zweite Befehl im Befehlsregister steht Nach seiner Modifikationsphase tritt dann aber auch hier eine Wartezeit 165 auf, da jetzt erst noch der zweite Befehl B 2 ausgeführt sein muß. Die Verzögerung beim zweiten Befehl wirkt sich daher auch noch auf den Ablauf des dritten Befehles B 3 aus.On the other hand, the method enables the third command B 3 to be called as soon as the second command is in the command register. After its modification phase, however, a waiting time 1 65 occurs here too, since the second command B 2 must now be executed. The delay in the second command therefore also has an effect on the execution of the third command B 3.

Die beiden anderen Wartezeiten r66 und i67 sind durch die lange Ausführungsphase des dritten Befehles S3 bzw. durch die fehlende Modifikationsphase im fünften Befehl B 5 bedingt.The other two waiting times r66 and i67 are due to the long execution phase of the third command S3 or the missing modification phase in the fifth command B 5.

Wie aus dem Vergleich der F i g. 1 bis 3 zu ersehen ist, verbessern die erläuterten Varianten des Überlappungsverfahrens die Leistungsfähigkeit der datenverarbeiten- den Anlage, da die Befehlskette damit schneller abzuarbeiten ist. Die Überlappung ist jedoch nicht. es treten dabei immer noch verschieden große Wartezeiten auf, die sich zum Teil auch sogar verzögernd auf den Ablauf nachfolgender Befehle auswirken. Dies gilt vor allem dann, wenn die Adressenverschränkung versagt. Deshalb soll ein Weg gefunden werden, mit dem sich derartige Wartezeiten vermeiden lassen.As can be seen from the comparison of FIGS. 1 to 3 can be seen, the explained variants of the overlap method improve the performance of the data processing the system, as the command chain can be processed more quickly. However, the overlap is not. There are still waiting times of different sizes, some of which even vary have a delaying effect on the execution of the following commands. This is especially true when the Address entanglement fails. Therefore, a way should be found with which such waiting times let avoid.

Nun werden in modernen elektronischen datenverarbeitenden Anlagen in zunehmendem Maße integrierte Halbleiterspeicher als schnelle Arbeitsspeicher eingesetzt, bei denen für jedes zu speichernde Bit als Speicherelement ein Flip-Flop in bipolarer oder MOS-Technik vorgesehen ist. Mit der modernen Halbleitertechnologie ist es heute möglich, 256 und mehr Speicherelemente in einem Chip unterzubringen. Ein Speicher für z. B. 256 Worte mit jeweils η Bit würde dann aus η solchen Chips bestehen. Zusätzlich sind Auswahlschaltungen notwendig, die im wesentlichen aus logischen Gliedern bestehen und die über Auswahlleitungen eines der zweidimensional angeordneten Speicherelemente bei einem Speicherzugriff auswählen. Sie können intern auf den Chips oder extern verdrahtet sein.In modern electronic data processing systems, integrated semiconductor memories are increasingly being used as fast working memories, in which a flip-flop in bipolar or MOS technology is provided as a memory element for each bit to be stored. With modern semiconductor technology, it is now possible to accommodate 256 or more memory elements in one chip. A memory for z. B. 256 words with η bits each would then consist of η such chips. In addition, selection circuits are necessary which essentially consist of logic elements and which select one of the two-dimensionally arranged memory elements via selection lines when a memory is accessed. They can be wired internally on the chips or externally.

In F i g. 4 ist ein Speicherfeld eines solchen bekannten Speichertyps in bipolarer Technik mit Multiemittertransistoren dargestellt. Jedes Speicherelement SZij besitzt zwei Transistoren A und B. Ein Emitter aller Transistoren einer Zeile liegt an einer der Auswahlleitungen Xl bis Xm, ein anderer Emitter aller Transistoren einer Spalte an einer der spaltenweise angeordneten Auswahlleitungen Kl bis Yn. Die dritten Emitter aller linken Transistoren der Speicherelemente SZIl bis SZ mn und die dritten Emitter aller rechten Transistoren sind über Lese-/Schreibleitungen Zbzw. Z' mit Signalanschlüssen L bzw. 0 verbunden.In Fig. 4 shows a memory field of such a known memory type using bipolar technology with multi-emitter transistors. Each memory element SZij has two transistors A and B. An emitter of all transistors in a row is connected to one of the selection lines Xl to Xm, and another emitter of all transistors in a column is connected to one of the selection lines Kl to Yn arranged in columns. The third emitters of all left transistors of the memory elements SZIl to SZ mn and the third emitters of all right transistors are connected via read / write lines Zbzw. Z ' connected to signal connections L and 0, respectively.

Zum zerstörungsfreien Lesen der Information in einem Speicherelement SZij werden die sich in ihm kreuzenden Auswahlleitungen Xi bzw. Yj auf positives Signal gehoben. Der Strom durch den leitenden Transistor A oder ßmuß daher über die angeschlossene Lese-/Schreibleitung Z bzw. Z' abfließen und wird in einem an die Signalanschlüsse 0 bzw. L angeschlossenen Leseverstärker bewertet. Zum Einschreiben von Informationen wird das Speicherelement wie beschrieben ausgewählt, an einen der Signalanschlüsse L oder 0 aber eine dieser Information entsprechende Spannung angelegt.For non-destructive reading of the information in a memory element SZij , the selection lines Xi and Yj crossing in it are raised to a positive signal. The current through the conductive transistor A or ß must therefore flow off via the connected read / write line Z or Z ' and is evaluated in a sense amplifier connected to the signal connections 0 and L, respectively. To write information in, the memory element is selected as described, but a voltage corresponding to this information is applied to one of the signal connections L or 0.

Im Prinzip ähnlich, erfolgt die Auswahl eines Speicherelementes bei einem Halbleiterspeicher in MOS-Technik, für das in Fig.5 ein Beispiel dargestellt ist. Die speichernden Transistoren sind mit Λ'und B' bezeichnet und liegen einseitig an positiver Betriebsspannung + Ub. Die dazu in Reihe geschalteten Transistoren R' wirken durch entsprechende Kanalgeometrie und eine feste Gate-Vorspannung als Widerstände in der Größenordnung von etwa 100 kQ und liegen einseitig an negativer Betriebsspannung - Ub. Im Ruhezustand sind die vier weiteren, zu jedem Speicherelement gehörenden und paarweise in Reihe geschalteten Schalttransistoren t//bzw. O gesperrt. Zur Auswahl eines bestimmten Speicherelementes werden die sich in ihm kreuzenden Auswahlleitungen Xi und Yj auf negatives Potential gelegt, so daß die Schalttransistoren Ul und Ur leiten. Zum Auslesen schaltet man die Signalanschlüsse L bzw. 0 über externe Widerstände von einigen 100 kQ an negative Betriebsspannung derart, daß an dessen externen Widerständen und an den Transistoren /?'die gleiche Spannung abfällt. Dieser Spannungsabfall wird wieder bewertet. Zum Einschrei-In principle, a memory element is selected in a similar manner in a semiconductor memory using MOS technology, an example of which is shown in FIG. The storing transistors are labeled Λ 'and B' and are connected to a positive operating voltage + Ub on one side. The transistors R ' connected in series for this purpose act as resistors in the order of magnitude of about 100 kΩ due to the corresponding channel geometry and a fixed gate bias voltage and are connected to a negative operating voltage - Ub on one side. In the idle state, the four other switching transistors t // or. O locked. To select a specific memory element, the selection lines Xi and Yj crossing in it are set to negative potential, so that the switching transistors Ul and Ur conduct. To read out, the signal connections L or 0 are switched to negative operating voltage via external resistors of a few 100 kΩ in such a way that the same voltage drops across its external resistors and the transistors /? '. This voltage drop is assessed again. To enroll

ben von Information in ein ausgewähltes Speicherelement sind an die Signalanschlüsse 0 und L der einzuschreibenden Information entsprechende Potentiale aus einer Spannungsquelle mit nicht zu großem Innenwiderstand anzulegen.When information is stored in a selected memory element, potentials corresponding to the information to be written must be applied to the signal connections 0 and L from a voltage source with an internal resistance that is not too high.

Wie man sich leicht überlegt, sind bei beiden Schaltungstechniken zum Einschreiben von Information zwei Lese-/Schreibleitungen Zbzw. Z'vorteilhaft. Sonst müßte man zum Umladen eines bipolaren Speicherelementes den an die Lese-/Schreibleitung angeschlossenen stromlosen Speichertransistor an seinem Emitteranschluß sehr weit absenken. Nach einem solchen Absenken des Potentials auf der Lese-/Schreibleitung würden dann alle angeschlossenen Speichertransistoren Strom führen. Daher zieht man es vor, das Speicherelement dadurch umzuladen, daß der stromführende Speichertransistor durch Anheben seines mit einer Lese-/Schreibleitung verbundene·; Emitters auf positives Potential gesperrt wird.As can be easily seen, both are circuit techniques for writing information two read / write lines Zbzw. Z 'advantageous. Otherwise you would have to reload a bipolar storage element connected to the read / write line Lower the currentless storage transistor very far at its emitter connection. After one All connected memory transistors would then lower the potential on the read / write line Conduct electricity. Therefore, it is preferred to reload the storage element in that the current-carrying Memory transistor by lifting its connected to a read / write line ·; Emitter to positive Potential is blocked.

Etwas andere Überlegungen führen zu zwei Lese-/ Schreibleitungen Z bzw. Z' in der MOS-Technik: Zum Umladen einer Speicherzelle, in der der stromführende Speichertransistor an die Lese-ZSchreibleitung angeschlossen ist, genügt es, deren Potential auf das Speicherelement durchzuschalten. Am Arbeitswiderstand des anderen Speichertransistors entsteht dadurch eine Spannungsänderung von ca. der Hälfte der Betriebsspannung Ub. Diese Spannungsänderung reicht aus, um das Speicherelement zu kippen.Somewhat different considerations lead to two read / write lines Z and Z 'in MOS technology: To reload a memory cell in which the current-carrying memory transistor is connected to the read / write line, it is sufficient to switch its potential through to the memory element. This creates a voltage change of approximately half the operating voltage Ub at the working resistance of the other memory transistor. This change in voltage is sufficient to tilt the storage element.

Anders sind die Verhältnisse, wenn z. B. der linke Speichertransistor A'leitet und der Strom mittels einer Lese-/Schreibleitung Z'auf den rechten Speichertransistor B' übertragen werden soll. Wegen des kleinen Widerstandes des durchgeschalteten linken Speichertransistors verändert ein Potential von -15VoIt am Signalanschluß 0 die Spannung am Arbeitswiderstand des linken Transistors A' so wenig, daß sich das Speicherelement nicht entlädt. Eine Verkleinerung des Durchlaßwiderstandes der beiden Speichertransistoren auf etwa 10 kO könnte dem abhelfen. Dies hütte jedoch eine Vergrößerung des Stromes beim Einschreiben und damit eine erhöhte Energieaufnahme des Speichers zur Folge. Um die Speicherlransistoren so niederohmig zu milchen, wäre außerdem eine Steuerspannung an den Gates notwendig, die negativer als die Betriebsspannung ist. Deshalb ist von Vorteil, auch bei Halblcitsrspcichcrn in MOS-Technik zwei Lese'/Schrcibleitungen zu verwenden und immer den Spannungshub, der am nichtleitenden Transistor entsteht, zur Einleitung des Anstcucrvorganges heranzuziehen.The situation is different if z. B. the left memory transistor A 'conducts and the current is to be transferred to the right memory transistor B' by means of a read / write line Z '. Because of the small resistance of the left storage transistor that is switched through, a potential of -15VoIt at the signal connection 0 changes the voltage at the load resistance of the left transistor A ' so little that the storage element does not discharge. A reduction in the forward resistance of the two memory transistors to about 10 kO could help. However, this would result in an increase in the current when writing and thus an increased energy consumption of the memory. In order to milk the memory transistors with such low resistance, a control voltage at the gates that is more negative than the operating voltage would also be necessary. It is therefore advantageous to use two read / write lines even with half-memory devices in MOS technology and to always use the voltage swing that occurs at the non-conductive transistor to initiate the triggering process.

Für reine Lesevorgänge sind zwei Lese-/Schreibleitungen allerdings nicht erforderlich, denn man kann ohne Schwierigkeiten den Zustand eines ausgewählten Spcicherelcmentes dadurch erkennen, daß man bei der bipolaren Technik nur den Strom durch einen Transistor oder bei der MOS-Technik die Spannung an einem Transistor bestimmt.For pure read processes, however, two read / write lines are not required because you can recognize without difficulty the state of a selected memory element by the fact that one at the With bipolar technology only the current through a transistor or with MOS technology the voltage across one Transistor determined.

Darüber hinaus ist aus der US-Patentschrift 36 38 204 ein In MOS-Technik realisierter Halbleiterspeicher bekannt, dessen matrixförmig angeordnete Speicherzelle derart aufgebaut und mit Auswahlelnrichlungen verbunden ist, daß in einem Speicherfeld mit einer Mehrzahl von Speicherzellen gleichzeitig zu verschiedenen Speicherzellen zugegriffen werden kann. Die bekannte Speicherzelle besteht aus zwei kreuzgekoppclten Speichertransistoren mit jeweils am sogenannten Source-Anschluß angeschlossenen Ladetransistoren. PUr die Auswahl einer Speicherzelle ist jeweils ein Zeilen- und ein Spallentreiber vorgesehen. Diese Auswahleinrichtungen sind jeweils an die Steuerelektroden von zwei Schalttransistoren angeschlossen, deren Schaltstrecke an eine von zwei in Zeilenrichtung bzw. an eine von zwei in Spaltenrichtung verlaufenden Lese-/Schreibleitungen angeschlossen ist. In addition, US Pat. No. 3,638,204 discloses a semiconductor memory realized in MOS technology, the memory cell of which is arranged in a matrix and is connected to selection devices such that different memory cells can be accessed simultaneously in a memory field with a plurality of memory cells. The known memory cell consists of two cross-coupled memory transistors, each with charging transistors connected to the so-called source terminal. A row driver and a column driver are provided for the selection of a memory cell. These selection devices are each connected to the control electrodes of two switching transistors, the switching path of which is connected to one of two read / write lines running in the row direction or one of two read / write lines running in the column direction.

Abgesehen von dem letztgenannten Merkmal, das besagt, daß an eine Speicherzelle jeweils zwei Paare von Lese-/Schreibleitungen angeschlossen sind und ausApart from the last-mentioned feature, which means that two pairs of Read / write lines are connected and off

,o diesem Grunde die vier genannten Schalttransistoren nicht hintereinander, sondern parallel geschaltet sind, entspricht auch diese Speicherzelle insoweit im Prinzip etwa der anhand der F i g. 5 beschriebenen bekannten Speicherzelle. Über das Merkmal der beiden in Spalten-, o for this reason the four switching transistors mentioned are not connected in series but in parallel, this memory cell also corresponds in principle to this extent about the one based on FIG. 5 described known Storage cell. About the characteristic of the two in column

,5 oder Zeilenrichtung verlaufenden Lese-/Schreibleitungen hinausgehend, enthält die bekannte Speicherzelle allerdings insofern eine Besonderheit, als zwischen den Source-Anschlüssen der beiden Speichertransistoren und einem der beiden Paare von Schalttransistoren je ein weiterer Schalttransistor angeordnet ist. Diese beiden Schalttransistoren werden gemeinsam durch einen weiteren diagonal angeordneten Treiber angesteuert.
Neben der Auswahl in Zeilen- und Spaltenrichtung hat daher die bekannte Speicherzelle eine weitere Auswahlkoordinate in Richtung der Matrixdiagonalen. Diese dritte Auswahlkoordinate ermöglicht innerhalb eines Speicherfeldes simultan zwei verschiedene Speicherzellen auszuwählen. Bei der Auswahl dieser beiden Speicherzellen werden immer die beiden ihnen zugeordneten Diagonaltreiber selektiert und damit die beiden angeschlossenen Schalttransistoren durchgeschaltet. Das zweite notwendige Auswahlsignal wird der einen Speicherzelle über den Horizontaltreiber H und der anderen über den Vertikaltreiber V zugeführt. Um nun die Lese- bzw. Schreibsignale den beiden so selektierten Speicherzellen eindeutig zuordnen zu können, ist je ein Paar von Lcse-/Schrcibleitungen in Zeilen- bzw. Spaltenrichtung notwendig. Bei der in
, 5 or row direction extending read / write lines, the known memory cell contains a special feature in that a further switching transistor is arranged between the source terminals of the two memory transistors and one of the two pairs of switching transistors. These two switching transistors are controlled jointly by a further diagonally arranged driver.
In addition to the selection in the row and column directions, the known memory cell therefore has a further selection coordinate in the direction of the matrix diagonals. This third selection coordinate enables two different memory cells to be selected simultaneously within a memory field. When these two memory cells are selected, the two diagonal drivers assigned to them are always selected and thus the two connected switching transistors are switched through. The second necessary selection signal is supplied to one memory cell via the horizontal driver H and the other via the vertical driver V. In order to be able to unambiguously assign the read and write signals to the two memory cells selected in this way, a pair of read / write lines each in the row or column direction is necessary. At the in

Zeilenrichtung mit dem Zeilentrcibcr ausgewählten Speicherzelle werden die in Spaltenrichtung verlaufenden Lesc-ZSchrcibleitungen, bei der zweiten in Spaltenrichtung ausgewählten Speicherzelle die in Zeilcnrich lung verlaufenden Lese-ZSchrciblcitungcn durchgc-Line direction selected with the line scroller The memory cells are the read / write lines running in the column direction, in the case of the second in the column direction selected memory cell, the read / write lines running in line direction are carried out.

4J schallet. Dazu sind weitere Schalttransistoren erforderlich, die über entsprechende Auswahlcinrichtungen durchgcschaltct werden. 4J resounds. For this purpose, further switching transistors are required, which are switched through via appropriate selection devices.

Diese bekannte Speicherzelle besitzt ein sein kompliziertes Auswuhiprinzip, um die Forderung ztThis known memory cell has a be Complicated selection principle to meet the requirement zt

erfüllen, mehr als eine Speicherzelle gleichzeitig ir einem Speicherfeld selektieren zu können. Es sind nictv nur drei Koordinatcncinrichtungcn notwendig, die ir drei voneinander unabhängigen Ansteuerleitunger realisiert sind und die jeweils ein Paar von Schalttransi stören anzusteuern vermögen, sondern auch zwei Paar« von in Zeilen- bzw. Spaltenrichtung vcrlaufendei Lese'/Schreibleitungeri. Darüber hinaus ist bei einen simultanen Zugriff zu zwei verschiedenen Speicherzel len Innerhalb eines Speicherfeldes bei jeder Speicher meet to be able to select more than one memory cell at the same time in a memory field. There are not only three coordinate devices necessary, which are implemented in three independent control lines and which are each able to control a pair of switching transistors , but also two pairs of read / write lines running in the row or column direction. In addition, there is simultaneous access to two different memory cells within a memory field for each memory

zelle die Zeilen- bzw, Spaltenrichtung bezüglich de Auswahl- und der Lese-/iSchreibsignale zu vertauscher Diese komplizierte Ansteuerung der bekanntei Speicherzelle erfordert einen erheblichen Steuerauf wand auf der einen Seite und bedingt zum anderen eincell the row or column direction with respect to de Selection and read / write signals to be swapped This complicated control of the known memory cell requires a considerable amount of control objected on the one hand and conditionally on the other

aufwendige Topographie in der Speicherzelle selbst.complex topography in the storage cell itself.

Von diesem Stand der Technik ausgehend, wird der Anmeldungsgegenstand die Aufgabe zugrunde geleg einen als Halbleiterspeicher ausgebildeten ArbeltsspciProceeding from this state of the art, the subject of the application is based on the task an arbeltsspci designed as a semiconductor memory

eher der im Oberbegriff des Hauptanspruches genannten Art zu schaffen, der es bei einem geringeren Flächenbedarf und mit einer einfacheren Steuerung gestattet, innerhalb eines Speicherfeldes zwei verschiedene Speicherzellen für einen Lesezugriff auszuwählen.rather that mentioned in the preamble of the main claim Art to create that does it with a smaller space requirement and with a simpler control allows two different memory cells to be selected for read access within a memory field.

Die im Kennzeichen des Hauptanspruches beschriebene erfindungsgemäße Lösung dieser Aufgabe beschreitet gegenüber der bekannten Lösung einen anderen Weg. Anstatt neue Koordinatenrichtungen für die Auswahl einzuführen, was aber — wie die bekannte Lösung zeigt — bereits bei n~ 3 Koordinatenrichtungen bereits sehr aufwendig ist, geht die Erfindung von dem Gedanken aus, daß jeder der beiden Speichertransistoren — wenn auch in invertierter Form — aufgrund seines Betriebszustandes die in einer Speicherzelle gespeicherte Information wiederspiegelt. Dies ausnutzend, besteht der andere Weg darin, daß die Speicherzelle derart aufgebaut ist, daß beide Speichertransistoren getrennt und gleichzeitig ansteuerbar sind. Wird dann in zwei verschiedenen Speicherzellen einerseits der linke bzw. andererseits der rechte Speichertransistor angesteuert, so geben die Lesesignale auf den beiden, ohnehin immer paarweise vorgesehenen Lese-/Schreibleitungen die gespeicherte Information in je einer der beiden Speicherzellen wieder. Dementsprechend besteht die Lösung der Aufgabe in den durch den kennzeichnenden Teil des Hauptanspruchs angegebenen.The inventive solution to this problem described in the characterizing part of the main claim takes a different approach compared to the known solution. Instead of introducing new coordinate directions for the selection, which - as the known solution shows - is already very complex with n ~ 3 coordinate directions, the invention is based on the idea that each of the two memory transistors - albeit in an inverted form - due to its Operating state reflects the information stored in a memory cell. Taking advantage of this, the other way is that the memory cell is constructed in such a way that the two memory transistors can be driven separately and simultaneously. If the left and the right memory transistor in two different memory cells are then controlled, the read signals on the two read / write lines, which are always paired anyway, reproduce the information stored in one of the two memory cells. Accordingly, the object is achieved in that specified by the characterizing part of the main claim.

An sich wird so bei einem der beiden Lesevorgänge immer die negierte Information ausgelesen. Deshalb müssen die Leseverstärker, die mit den linken oder den rechten Speichertransistoren verbunden sind, eine zusätzliche Negatorstufe enthalten. Dabei bedeutet die Verdoppelung der Anzahl der Auswahlleitungcn natürlich einen gewissen Aufwand, der sich aber dadurch noch verringern läßt, daß die Umsetzer für die Adressenauswahl, die den »t-aus-n«-Codc in den Binärcode umwandeln, in dun Speicherchip integriert werden. Bei dem heutigen Stande der Halbleitertcehnologic ist dies eine erfüllbare Forderung.As such, the negated information is always read out during one of the two reading processes. Therefore the sense amplifiers connected to the left or right memory transistors must have one additional negator stage included. Of course, doubling the number of selection lines means a certain amount of effort, which can be reduced by the fact that the converters for the Address selection that converts the "t-out-of-n" codc into binary code, integrated in the memory chip will. With today's state of semiconductor technology is this a requirement that can be met.

Allerdings können bei diesem Zellenaufbau nur Lcsczyklcn parallel ausgeführt werden. Deshalb bietet sich ein derart aufgebauter Halbleiterspeicher insbesondere für seine Verwendung in einer datcnverarbeitcndcn Anlage an, in der Bcfchlszyklcn teilweise überlappt durchgeführt werden sollen und dann auch gleichzeitig zwei verschiedene Lesezugriffe /.um Arbeitsspeicher notwendig sind.However, only Lcsczyklcn can be carried out in parallel with this cell structure. Therefore offers A semiconductor memory constructed in this way is particularly suitable for its use in data processing Plant in which the cycle cycles are to be carried out partially overlapped and then also simultaneously two different read accesses /. to main memory are necessary.

Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand der Zeichnung erläutert. An embodiment of the invention is explained below with reference to the drawing.

Neben den Fig. 1 bis 3, anhand deren der Ablauf einer Befehlskette bei verschiedenen bekannten Varianten des Überlappungsverfahrens erläutert wurden, sowie den F i g. 4 und 5, die - wie ebenfalls bereits erläutert - eine Matrix eines bekannten Halbleiterspeichers in bipolarer Technik bzw. ein Speicherelement für einen derartigen Halbleiterspeicher In MOS-Technik darstellen, zeigt die Zeichnung in FI g. 6 «in Beispiel für eine Matrix eines Halbleiterspeichers, der erfindungsgcmaß für die Zellen- bzw. Spaltenauswahl jeweils ein Paar von Auswahlleitungen besitzt, FI g. 7 ein Blockschaltbild für eine gemllB dar Erfindung ausgebildete datenverarbeitende Anlage, aus dem sich die Zuordnung der verwendeten Register zu dem Rechenwerk, dem Leitwerk und dem Arbeitsspeicher ergibt und FI g. 8 ein Ablaufdiagramm der in F i g. I dargestellten Befehlskette in einer datenverarbeitenden Anlage bei Einsatz der Erfindung.In addition to FIGS. 1 to 3, on the basis of which the sequence a chain of commands in various known variants of the overlapping method have been explained, as well as the F i g. 4 and 5, which - as also already explained - a matrix of a known semiconductor memory in bipolar technology or a storage element for represent such a semiconductor memory in MOS technology, shows the drawing in FI g. 6 «in example for a matrix of a semiconductor memory, according to the invention for the cell or column selection Owns pair of selection lines, FI g. 7 is a block diagram for an embodiment according to the invention data processing system from which the assignment the registers used for the arithmetic unit, the control unit and the main memory result and FI g. 8 a Flow chart in FIG. I shown command chain in a data processing system when using the Invention.

In F i g. 6 ist ein Halbleiterspeicher mit einer Vielzahl von in einer Matrix angeordneten Speicherelementen SZijdargestellt. Ihr interner Aufbau ist am Speicherelement SZ11 detaillierter dargestellt, der dem anhand der Fig.5 erläuterten Speicherelement in MOS-Technik weitgehend entspricht. Wie bei dem dort dargestellten Speicherelement sind die ersten Schalttransistoren Ul 1 bzw. Ur 1 über je eine Lese-ZSchreibleitung Z bzw. Z' mit den Signalanschlüssen L und 0 verbunden. EbensoIn Fig. 6 shows a semiconductor memory with a multiplicity of memory elements SZij arranged in a matrix. Its internal structure is shown in more detail on the storage element SZ 11, which largely corresponds to the storage element in MOS technology explained with reference to FIG. As in the case of the memory element shown there, the first switching transistors Ul 1 and Ur 1 are each connected to the signal connections L and 0 via a read- Z write line Z or Z '. as well

ίο analog ist auch hier das negative Betriebspotential - Ub dem Speicherelement SZIl über die als Widerstände wirksamen Transistoren R' zugeführt. Die kreuzgekoppielten eigentlichen Speichertransistoren A' und B' liegen dagegen am positiven Betriebspotential + Ub. The negative operating potential - Ub is also here analogously supplied to the storage element SZIl via the transistors R ' which act as resistors. The cross-copied actual memory transistors A ' and B' , however, are at the positive operating potential + Ub.

Im Unterschied zu der Darstellung eines Speicherelernentes nach F i g. 5 ist nun aber jedem Speicherelement SZy zeilenweise und spaltenweise je ein Paar von Auswahlleitungen Xir, XiI bzw. Yjr, YjI zugeordnet. Dabei ist jeweils eine Auswahlleitung jedes Paares mitIn contrast to the representation of a memory element according to FIG. 5, however, a pair of selection lines Xir, XiI or Yjr, YjI is assigned to each storage element SZy row by row and column by column. One selection line for each pair is included

ίο einem der beiden zweiten Schalttransistoren Ul2 bzw. Ur 2 verbunden.ίο one of the two second switching transistors Ul2 or Ur 2 connected.

Der Betrieb dieser Speichermatrix gleicht weitgehend der in F i g. 4 dargestellten Speichermatrix bzw. dem Betrieb des in Fig.5 dargestellten Speicherelementes, mit dem Unterschied, daß es nun möglich ist, wahlweise den Zustand eines linken Speichertransistors A'bzw. eines rechten Speichertransistors B' über die Lese'/Schreibleitungen Z bzw. Z'auszulesen. Dazu sind an die Signalanschlüsse L und O in bekannter Weise Leseverstärker angeschlossen, die hier aber nicht mehr dargestellt sind.The operation of this memory matrix is largely similar to that in FIG. 4 shown memory matrix or the operation of the memory element shown in Figure 5, with the difference that it is now possible to selectively the state of a left memory transistor A 'or of a right memory transistor B ' via the read / write lines Z and Z'. For this purpose, sense amplifiers are connected to the signal connections L and O in a known manner, but these are no longer shown here.

Ein Halbleiterspeicher mit zwei Paaren von Auswahlleitungen, der ebenso auch in bipolarer Technik ausgeführt sein könnte, wird nun in dem Datenvcrarbeitungsgcrät als Arbeitsspeicher verwendet, um eine bessere Überlappung von nacheinander auszuführenden Befchlszyklen zu erreichen. Um dies zu erläutern, ist in F i g. 7 ein Blockschaltbild des Datenverarbeitungsgerätes dargestellt. Neben einem Rechenwerk /W für die reinen Rechenfunktionen enthält es ein Leitwerk LW. das in ebenso an sich bekannter Weise den Funklionsablauf innerhalb des Dalcnvcrarbcitungsgcrätcs steuert. Das Rechenwerk KlV und der Arbeitsspeicher .SV sind miteinander verbunden, um errechnete Ergebnisse im Arbeitsspeicher SPabspeichern zu können.A semiconductor memory with two pairs of selection lines, which could also be implemented using bipolar technology, is now used in the data processing device as a working memory in order to achieve better overlapping of command cycles to be carried out one after the other. In order to explain this, FIG. 7 shows a block diagram of the data processing device. In addition to an arithmetic unit / W for the pure arithmetic functions, it contains a control unit LW. which controls the function sequence within the Dalcnvcrarbcitungsgcrätcs in a manner also known per se. The arithmetic unit KlV and the main memory .SV are connected to one another in order to be able to save the calculated results in the main memory SP.

Die Ausgänge der Arbeitsspeicher .SV sind gruppenweise mit einem von zwei Vorregistern VR 1 bzw. VK 2 verbunden, die wie ein Befehlsregister IiR aufgebaut sind, an das sie über Schnltcinrichtimgcn S3 bzw. .S'4 «»geschlossen sind. Jedem Vorregister VW 1 bzw. VR 7 ist außerdem über ein Addiernetzwerk A DD ein eigenes Indexregister IRi bzw. IR2 zugeordnet. Schließlich enthält das Dalenverarbcitungsgerttt noch ein weiteres. Register, einen sogenannten Befehlszähler BZ1 der In The outputs of the main memory .SV are connected in groups to one of two pre-registers VR 1 or VK 2, which are structured like an instruction register IiR to which they are closed via Schnltcinrichtimgcn S3 or .S'4 «». Each preregister VW 1 or VR 7 is also assigned its own index register IRi or IR2 via an adder network A DD. Finally, the Dalen processing equipment contains another one. Register, a so-called command counter BZ 1 of the In

SS üblicher Welse die Adresse des im Programmablauf nachfolgenden Befehles enthält.SS usual catfish the address of the program sequence contains the following command.

Neben den bereits erwähnten Schaltclnrichuingen bzw. 54 enthüll das Datenverarbeltungsgerllt zwei weitere Schaltelnrichtungcn 51 bzw. 52, die jeweilsIn addition to the switching devices and 54 already mentioned, the data processing device reveals two further switching devices 51 and 52, respectively einer von zwei Gruppen von Adreßleltungen ADR 1 bzw. ADRl des Arbeitsspeichers SPzugeordnet sind. Diese sind notwendig, da vorausgesetzt wurde, daß Im Arbeitsspeicher SPglelchzeltigzwel beliebige Speicherzellen auiiwuhlbar sein sollen. Über die eine Schalteines richtung Sl sind in der Schaustellung Sin die ersten Adreßleltungen ADR \ mit solchen Ausgängen des ersten Vorregisters VR 1 verbunden, die dem Teil des Vorregisters zugeordnet sind, In dem jeweils dieone of two groups of address lines ADR 1 and ADR1 of the main memory SP are assigned. These are necessary because it was assumed that any memory cells should be selectable in the main memory SPglelchzeltigzwel. In the display Sin, the first address lines ADR \ are connected to outputs of the first preregister VR 1 which are assigned to the part of the preregister in which each of the

700 033/1(M700 033/1 (M.

Auresse eines Befehles abgelegt ist. Die ersten Adreßleitungen sind in der zweiten Schaltstellung Sib mit den Ausgängen des Befehlszählers BZ und in der dritten Schaltstellung 5 Ic mit Ausgängen des Befehlsregisters BR verbunden, die dem Teil des Befehlsregisters zugeordnet sind, in dem jeweils die Adresse des dort abgelegten Befehles steht.Auresse of an order is filed. The first address lines are connected in the second switch position Sib to the outputs of the command counter BZ and in the third switch position 5 Ic to outputs of the command register BR , which are assigned to the part of the command register in which the address of the command stored there is located.

Diese Ausgänge des Befehlsregisters BR sind aber in der einen Schaltsteliung 52a der anderen Schalteinrichtung 52 auch noch mit der anderen Gruppe von Adreßleitungen ADR2 verbunden. In der zweiten Schaltstellung 526 dieser Schalteinrichtung sind diese Adreßleitungen dagegen — analog den ersten Adreßleitungen ADR 1 — mit den Adreßausgängen des zweiten Vorregisters VR 2 verbunden.These outputs of the command register BR are, however, also connected in one switching position 52a of the other switching device 52 to the other group of address lines ADR2 . In the second switching position 526 of this switching device, on the other hand, these address lines are connected to the address outputs of the second preregister VR 2 , analogously to the first address lines ADR 1.

Schließlich ist in dem Blockschaltbild der F i g. 7 noch angedeutet, daß dem Operationsteil Op eines Befehles zuzuordnende Ausgänge des Befehlsregisters BR an das Leitwerk LW angeschlossen sind und bestimmten Steuerbits innerhalb dieses Operationsteiles zugeordnete Ausgänge der Vorregister VR 1 bzw. VR 2 mit einem Teil des Leitwerkes LW verbunden sind, der in dem Blockschaltbild mit LWM bezeichnet ist. Damit soll angedeutet sein, daß dieser Teil des Leitwerkes L Wdie Adreßmodifikationen steuert.Finally, in the block diagram of FIG. 7 also indicated that the outputs of the command register BR which are to be assigned to the operational part Op of a command are connected to the control unit LW and outputs of the pre-registers VR 1 or VR 2 assigned to certain control bits within this operational part are connected to a part of the control unit LW , which is shown in the block diagram is labeled LWM . This is intended to indicate that this part of the tail unit LW controls the address modifications.

Der Funktionsablauf in diesem Datenverarbeitungsgerät läßt sich folgendermaßen erläutern: Durch das Leitwerk L Wgesteuert, steht die der ersten Gruppe der Adreßleitungen ADR 1 zugeordnete Schalteinrichtung 51 zu Beginn eines Programmablaufes in der zweiten Schaltstellung S1 b, d. h„ der Arbeitsspeicher SP ist mit dem Inhalt des Befehlszählers BZ adressierbar. Damit ist der erste Befehl aufzurufen, der aus dem Arbeitsspeicher SP in das erste Vorregister VR 1 ausgelesen wird. Dort werden zunächst diejenigen Bit eines Operationsteiles abgefragt, die Modifikationen, wie /.. B. die Aufaddition des Inhaltes des ersten Indexregisters IR 1 oder die Auslösung einer indirekten Adresse steuern. Diese Operationen werden sofort ausgeführt. Im Falle der indirekten Adressierung wird die Schalteinrichtung 5 I ausgelöst durch den mit L WM bezeichneten Teil des Leitwerkes in die Schaltsteliung 5 la gelegt, so daß mil dem im ersten Vorregister VR I stehenden Adreßteil des ersten Befehles der Arbeitsspeicher SP erneut adressierbar ist. Im anderen Full wird zum Inhalt des ersten Vorregisters VR 1 der Inhalt des ersten Indexregisters IR I addiert. Nach Abschluß dieser Operationen wird das so modifiziert!.' Befehlswort in das eigentliche Befehlsregister BR I übertragen.The functional sequence in this data processing device can be explained as follows: Controlled by the control unit L W, the switching device 51 assigned to the first group of address lines ADR 1 is in the second switching position S 1 b, i.e. at the beginning of a program sequence. The main memory SP can be addressed with the content of the command counter BZ. The first command that is read from the main memory SP into the first preregister VR 1 must therefore be called. There, first of all, those bits of an operation part are queried that control modifications such as / .. B. the addition of the content of the first index register IR 1 or the triggering of an indirect address. These operations are carried out immediately. In the case of indirect addressing, the switching device 5 I is triggered by the part of the control unit labeled L WM placed in the switching position 5 la , so that the main memory SP can be addressed again with the address part of the first command in the first preregister VR I. In the other of the first full preregister VR 1 is added to the contents of the first index register IR I to the content. After these operations have been completed, this will be modified !. ' Transfer the command word to the actual command register BR I.

Nun sind zu dem Arbeitsspeicher S'/'gleich/.eitig zwei Zugriffe möglich, Einerseits ist durch den inzwischen um I erhöhten Stand des Befehlszählers BZd\c Adresse des nachfolgenden Befehles bestimm), der nun seinerseits aus dem Arbeitsspeicher SP in das erste Vorregister VR I übertragen und dort modifiziert wird. Der zweite Zugriff zum Arbeitsspeicher SP ist durch den Adreßteil des gleichzeitig im Befehlsregister BR stehenden Befehlcsi bestimmt. Der Inhalt dieser Speicheradresse wird, unabhängig davon ob dies durch den parallel zu entschlüsselnden Operationsteil Op des Befehles gerechtfertigt ist oder nicht, In das zweite Vorregister VR 2 gelesen. Stellt sich nach der Entschlüsselung des Operationsteiles Op heraus, daß durch den Im Befehlsregister BR stehenden Befehl z. B. eine Größe vom Arbeitsspeicher SP In das Rechenwerk RW transportiert werden sollte, so ist die Übertrugung des Inhaltos der adressierten Zelle des Arbeitsspeichers SP In dus zweite Vorregister VR 2 richtig, denn dieses Datenwort braucht dann nur noch über die in der Schaltstellung 546 stehende Schalteinrichtung 54 in das Rechenwerk übertragen zu werden. Ist der im Befehlsregister BR stehende Befehl jedoch z. B. einIs now equal to / .eitig two accesses are to the work RAM S '/' possible the one hand, by the now increased by I status of the instruction counter BZD \ c address of the subsequent instruction limited hours), which in his turn from memory SP in the first pre-register VR I is transferred and modified there. The second access to the main memory SP is determined by the address part of the command csi simultaneously in the command register BR . The content of this memory address is read into the second preregister VR 2, regardless of whether this is justified by the operational part Op of the instruction to be decrypted in parallel or not. If after the decryption of the operational part Op it turns out that the command in the command register BR z. B. a size should be transported from the main memory SP into the arithmetic unit RW , the transfer of the content of the addressed cell of the main memory SP in the second preregister VR 2 is correct, because this data word then only needs via the switching device in switch position 546 54 to be transferred to the arithmetic and logic unit. However, if the command in the command register BR is z. B. a

S Speicherbefehl, dann war das Auslesen der durch diesen Befehl adressierten Speicherzelle sinnlos, jedoch gleichgültig, da durch diese Operation keine Zeit verloren ging, denn zur gleichen Zeit wurde ja auch aus dem Arbeitsspeicher SP in das erste Vorregister VR 1 derS memory command, then reading out the memory cell addressed by this command was pointless, but irrelevant, since no time was lost as a result of this operation, because at the same time the main memory SP was also transferred to the first preregister VR 1

ίο nächste Befehl übertragen. Ebenso ohne nachteilige Folgen bleibt das Auslesen einer Speicherzelle in das zweite Vorregister VR 2 auch bei allen anderen Befehlen, bei denen der Arbeitsspeicher SP überhaupt nicht angesprochen ist.ίο transmit next command. Reading out a memory cell into the second preregister VR 2 also has no disadvantageous consequences for all other commands in which the main memory SP is not addressed at all.

Die eigentliche Ausführungsphase eines im Befehlsregister BR stehenden Befehles läuft parallel zu der Modifizierungsphase des inzwischen im ersten Vorregister VR 1 stehenden Folgebefehles ab. Im Falle eines Abspeicherbefehles werden beide Gruppen von Adressierungsleitungen ADR \ und ADR 2 des Arbeitsspeichers SP parallel geschaltet. Aufgerufen wird die Zelle des Arbeitsspeichers SP, die durch den Adreßteil Adr des im Befehlsregister erstehenden Befehles bestimmt ist.The actual execution phase of an instruction in the instruction register BR runs parallel to the modification phase of the subsequent instruction in the meanwhile in the first preregister VR 1. In the case of a storage command, both groups of addressing lines ADR \ and ADR 2 of the main memory SP are connected in parallel. The cell of the main memory SP is called which is determined by the address part Adr of the command in the command register.

Vorstehende Erläuterungen zeigen auch schon, wie Sprungbefehle zu behandeln sind. Bei bedingten Sprungbefehlen steht in dem ersten Vorregister VRI der Nachfolgebefehl, der bei Nichterfüllung der Sprungbedingung ausgeführt wird, in das zweite Vorregister VR 2 wird der Inhalt einer Speicherzelle eingelesen, die durch das Sprungziel bestimmt ist. Man kann die Befehlsmodifikationen, die diese beiden Befehle erfordern, in den beiden Vorregistern VT? 1 bzw, VR 2 parallel ausführen und — nachdem bekannt ist, ob die Sprungbcdingung erfüllt ist oder nicht — den Inhalt eines der beiden Vorregistcr VR 2 bzw. VR 1 in das Befehlsregister BR übertragen. Auch durch Sprungbefehle ist also die Überlappung der Giunclzyklcn aufeinanderfolgender Befehle nicht gestört. Die Verar-The above explanations already show how jump commands are to be handled. In the case of conditional jump commands, the first pre-register VRI contains the follow-up command that is executed if the jump condition is not met; the content of a memory cell which is determined by the jump destination is read into the second pre-register VR 2. The command modifications that these two commands require can be found in the two pre-registers VT? Execute 1 or VR 2 in parallel and - after it is known whether the jump condition is fulfilled or not - transfer the content of one of the two pre-registers VR 2 or VR 1 to the command register BR . The overlap of the regular cycles of successive commands is not disturbed by jump commands either. The processing

beitung von Sprungbefehlen hat allerdings insofern eineHowever, processing jump commands has a

Besonderheit, daß eine Modifikation des Inhaltes des zweiten Vorregisters VR 2 nur in diesem Falle durchgeführt wird.A special feature is that the content of the second pre-register VR 2 is only modified in this case.

Hin Beispiel für einen solchen Funktionsablauf ist in dem Ablaufdiiigramm einer Befehlskette in Fig.8 dargestellt. Dabei handelt es sich um dieselbe Befehlskette, die auch bereits unhand der F i g. 1 bis 3 eriilutcrl wurde. Der erste Befehl steht nach Ablauf seiner Modifikationsphase im Befehlsregister I)R und wirdAn example of such a functional sequence is shown in the sequence diagram of a command chain in FIG. This is the same chain of command that has already been used in FIG. 1 to 3 eriilutcrl. The first command is in the command register I) R after its modification phase and is

dort entschlüsselt, Parullul dn/.u erfolgt uufgrund seines Adreßteiles Adr ein Arbeitsspeicherzugriff mit dei Übertragung des Zcllcninhultes In das zweite Vorregister VR 2. Gleichzeitig wird die durch den Folgebcfeh B2 angesprochene Zelle des Arbeltsspeichers S/decrypted there, Parullul dn / .u takes place on the basis of its address part Adr a work memory access with the transfer of the counter content into the second pre-register VR 2. At the same time the cell of the work memory S / addressed by the follow-up command B2 is

ausgelesen und deren Inhalt in dus erste Vorregistei VR1 übertragen. Bei diesem Beispiel hut der zweite Befehl B2 keine Modiflkatlonsphase, daher ergibt slcr für die Verarbeitung dieses Befehles eine Verzögerung bis der erste Befehl B\ ausgeführt ist und da!read out and their content transferred to the first Vorregistei VR 1. In this example, the second command B2 has no modification phase, so slcr results in a delay for processing this command until the first command B \ has been executed and there!

Befehlsregister BR nicht mehr belegt. Nach dei Ausführung des zweiten Befehles könnte an sich bereit! die Verarbeitung des vierten Bpfuhles fl4 begonner werden, Jedoch verzögert sich dies noch, da dlt Modiflkutlonsphuse des dritten Befehles B 3 IttngeiCommand register BR no longer used. After executing the second command, you could be ready! the processing of the fourth command fl4 can be started, but this is still delayed, since there is a modification of the third command B 3 Ittngei

duuert als die Ausführungsphase des zweiten Befehle! B 2. Dies Ist also die Ursache für die zwelu eingezeichnete Wartezeit,
Beim dritten Befehl Ö3 handelt es sich um einer
duuert as the execution phase of the second commands! B 2. This is the reason for the two waiting times shown,
The third command Ö3 is one

Speicherbefehl, deshalb ist der dort dargestellte eine Speicherzugriff sinnlos und wird nicht weiterverfolgt,Memory command, therefore the one memory access shown there is pointless and will not be pursued further,

Während der Verarbeitung des vierten Befehles BA tritt zwischen der Modifications- und der Entschlüsselungsphase eine dritte Wartezeit auf. Sie ergibt sich daraus, daß die Ausführungsphase des dritten Befehles B 3 langer dauert als die Modifikationsphase des vierten Befehles B 4.During the processing of the fourth command BA , a third waiting time occurs between the modification phase and the decryption phase. It results from the fact that the execution phase of the third command B 3 lasts longer than the modification phase of the fourth command B 4.

Die nächste Verzögerungszeit ergibt sich bei der Verarbeitung des fünften Befehles ß5, da dieser Befehl keine Modifikationsphase hat und deshalb ebenso wie beim zweiten Befehl erst die Ausführung des vorhergehenden Befehles abgewartet werden muß.The next delay time arises when processing the fifth command ß5, since this command has no modification phase and therefore, just as with the second command, only executes the previous one Command must be awaited.

Beim sechsten Befehl B6 handelt es sich um einen bedingten Sprungbefehl, bei dem, wie in zwei übereinanderliegenden Zeilen dargestellt, parallel zwei Arbeitsspeicherzugriffe erfolgen. Die in die beiden Vorregister VRl bzw. VR 2 übertragenen Datenworte werdenThe sixth command B6 is a conditional jump command in which, as shown in two superimposed lines, two main memory accesses take place in parallel. The transmitted in the two preregister VRL or VR 2 data words

modifiziert. Welches der beiden Datenworte dann nicht mehr weiter verarbeitet wird, ergibt sich aus der Erfüllung der Sprungbedingung.modified. Which of the two data words is then no longer processed is determined by the Fulfillment of the jump condition.

Die Erfindung wurde vorstehend anhand von Ausführungsbeispielen erläutert. Verglichen mit herkömmlichen Datenverarbeitiingsgeräten mit der Möglichkeit, die Modifikation eines nachfolgenden Befehles während der Ausführung des vorhergehenden Befehles durchzuführen, bleibt der /.usätzliche Aufwand im Verhältnis zu dem gewonnenen Leistungszuwachs in Grenzen. Abgesehen von der Anpassung des Arbeitsspeichers werden lediglich statt einem zwei Vorregister mit einem zusätzlichen Addiernetzwerk und Ansteuerungen für das zweite Indexregister benötigt. Ein gewisser Mehraufwand ist ebenfalls im Leitwerk erforderlich, da ja bei Sprungbefehlen gleichzeitig zwe Modifikationsoperationen durchzuführen sind.The invention has been explained above on the basis of exemplary embodiments. Compared with conventional Data processing devices with the possibility of modifying a subsequent command to be carried out during the execution of the previous command, the additional effort remains in the Relation to the gain in performance within limits. Apart from the adjustment of the RAM are only instead of one two pre-registers with an additional adding network and controls required for the second index register. A certain additional effort is also in the tail unit required, since two modification operations have to be carried out at the same time with jump commands.

Hierzu 5 Blatt ZeichnungenIn addition 5 sheets of drawings

Claims (4)

Patentansprüche: register oder den die Adresse beinhaltenden Teil des zweiten Vorregisters (VR 2) anschaltbar ist.Claims: register or the part of the second pre-register (VR 2) containing the address can be switched on. 1. Als Halbleiterspeicher ausgebildeter Arbeitsspeicher einer datenverarbeitenden Anlage, die außerdem ein Rechenwerk und ein Leitwerk sowie zum Ansteuern des Arbeitsspeichers als Befehlsregister, Indexregister und Befehlszähler verwendete Register enthält und Befehlszyklen teilweise überlappt auszuführen gestattet, bei dem in Form einer Matrix angeordnete Speicherelemente eines Speicherfeldes durch in Zeilen- bzw. Spaltenrichtung verlaufende Auswahlleiiungen auswählbar sind und je zwei kreuzgekoppelte Speichertransistoren aufweisen, die jeweils mit einer von zwei Lese-/Schreibleitungen verbunden sind, dadurch gekennzeichnet, daß in den Matrixzei'.en und -spalten eines Speicherfeldes jeweils ein Paar von voneinander unabhängig Auswahlsignale führenden Auswahlleitungen (XJr, XiI bzw. Yir, YiI) vorgesehen ist, die analog den Lese-ZSchreibleitungen (Zund Z'^jeweils einem der beiden Speichertransistoren (Λ'bzw. B') der Speicherelemente (SZij) einer Matrixzeile bzw. -Spalte zum separaten Ansteuern des angeschlossenen Speichertransistors zugeordnet sind, und daß an eine der beiden Lese-/Schreibleitungen eine Negatorstufe angeschlossen ist, so daß mit einem Lesevorgang gleichzeitig zwei Speicherelemente eines Speicherfeldes durch Ansteuern des ersten bzw. des zweiten Speichertransistors auswählbar und ihre Speicherinhalte eindeutig bewertbar sind.1. As a semiconductor memory designed main memory of a data processing system, which also contains an arithmetic unit and a control unit as well as registers used to control the main memory as command register, index register and command counter and allows command cycles to be executed partially overlapping, in which memory elements of a memory field arranged in the form of a matrix are carried out by in Selection lines running in the row or column direction are selectable and each have two cross-coupled memory transistors which are each connected to one of two read / write lines, characterized in that in the matrix rows and columns of a memory field in each case a pair of independent Selection lines (XJr, XiI or Yir, YiI) carrying selection signals are provided, which are analogous to the read-Z write lines (Z and Z '^ each to one of the two memory transistors (Λ ' or B ') of the memory elements (SZij) of a matrix line or - Column for separate to control of the connected memory transistor are assigned, and that an inverter stage is connected to one of the two read / write lines so that two memory elements of a memory field can be selected at the same time with one read operation by controlling the first or second memory transistor and their memory contents can be clearly assessed. 2. Als Halbleiterspeicher ausgebildeter Arbeitsspeicher einer datenverarbeitenden Anlage, die Befehlszyklen teilweise überlappt auszuführen gestattet, nach Anspruch I1 dadurch gekennzeichnet, daß der Arbeitsspeicher (SP)für einen gleichzeitigen Lesezugriff zu zwei Speicherworten zwei Gruppen von Adreßleitungen (ADR 1 bzw. ADR2) aufweist, und daß zwischen den Ausgängen des Arbeitsspeichers und dem Befehlsregister (BR) zwei analog diesem ausgebildete Vorregister (VR 1 bzw. VR 2) angeordnet sind, deren Ausgänge wahlweise auf die Eingänge des Befehlsregisters durschaltbar sind und daß statt dem Befehlsregister jedem dieser Vorregister ein Indexregister (IR 1 bzw. IR X) über je ein Addiernetzwerk ^4DDJzugeordnet ist.2. As a semiconductor memory designed main memory of a data processing system, which allows command cycles to execute partially overlapping, according to claim I 1, characterized in that the main memory (SP) has two groups of address lines (ADR 1 or ADR2) for simultaneous read access to two memory words, and that between the outputs of the main memory and the command register (BR) two pre-registers (VR 1 or VR 2) designed analogously to this are arranged, the outputs of which can optionally be switched to the inputs of the command register and that instead of the command register, each of these pre-registers has an index register ( IR 1 or IR X) is assigned via an adding network ^ 4DDJ each. 3. Als Halbleiterspeicher ausgebildeter Arbeitsspeicher einer datenverarbeitenden Anlage nach Anspruch 2, dadurch gekennzeichnet, daß den Ausgängen des zweiten Vorregisters (VR 2) eine Schalteinrichtung (S 4) zugeordnet ist, über die diese Ausgänge wahlweise rait Eingängen des Rechenwerkes (RW) oder des Befehlsregisters (BR) zu verbinden sind.3. As a semiconductor memory designed main memory of a data processing system according to claim 2, characterized in that the outputs of the second pre-register (VR 2) is assigned a switching device (S 4) via which these outputs either rait inputs of the arithmetic unit (RW) or the command register (BR) are to be connected. 4. Als Halbleiterspeicher ausgebildeter Arbeitsspeicher einer datenverarbeitenden Anlage nach einem der Ansprüche 2 und 'i, dadurch gekennzeichnet, daß die zwei Gruppen von Adreßleitungen (ADRX bzw. ADR2) des Arbeitsspeichers (SP) an die Ausgänge der Register der datenverarbeitenden Anlage über weitere Schalteinrichtungen (Si bzw. 52) derart angeschlossen sind, daß der Arbeitsspeicher über die eine Schalteinrichtung (S 1) wahlweise an den Befehlszähler (BZ), das Befehlsregister (BR) oder den die Adresse beinhaltenden Teil des ersten Vorregisters (VR 1) und über die andere Schalteinrichtung ('S 2) gleichzeitig wahlweise an das Befehls-Die Erfindung bezieht sich auf einen als Halbleiterspeicher ausgebildeten Arbeitsspeicher einer datenverarbeitenden Anlage gemäß dem Oberbegriff des Hauptanspruches.4. As a semiconductor memory designed main memory of a data processing system according to one of claims 2 and 'i, characterized in that the two groups of address lines (ADRX or ADR 2) of the main memory (SP) to the outputs of the registers of the data processing system via further switching devices (Si or 52) are connected in such a way that the main memory can be connected to the command counter (BZ), the command register (BR) or the part of the first pre-register (VR 1) containing the address and via the switching device (S 1) other switching device ('S 2) at the same time optionally to the command. Auch bei neueren datenverarbeitenden Anlagen war es noch vielfach üblich, nur direkt adressierte Programme abzuspeichern. Relative Adressen wurden hier schon bei der Eingabe in absolute Adressen umgewandelt. Eine Modifikation des Adreßteiles eines Befehles im Befehlsregister war daher relativ selten und kam eigentlich nur bei Unterprogrammanschlüssen oder in linearen Fortschaltungen vor.Even with newer data processing systems, it was still common practice to only use directly addressed programs to save. Relative addresses were converted into absolute addresses when they were entered. A modification of the address part of an instruction in the instruction register was therefore relatively rare and came about actually only for subroutine connections or in linear increments. In modernen datenverarbeitenden Anlagen werden jedoch Programme in der Regel durch sogenannte Compiler generiert, d. h. aus einer problemorientierten Programmsprache in die Maschinensprache übersetzt. Außerdem legt ein Betriebssystem fest, welche Programme sich zu einem bestimmten Zeitpunkt im Arbeitsspeicher der datenverarbeitenden Anlage befinden dürfen. Hier sind dann Modifikationen der Adreßteile von Maschinenbefehlen im Befehlsregister der Regelfall.In modern data processing systems, however, programs are usually carried out by what are known as Compiler generated, d. H. Translated from a problem-oriented program language into machine language. In addition, an operating system determines which programs are in the Working memory of the data processing system. Then here are modifications of the Address parts of machine commands in the command register are the rule. Diese Befehlsmodifikationen sollen den Rechenbetrieb jedoch so wenig wie möglich verzögern. Wird dabei nur eine Bitgruppe im Adreßteil ersetzt und ist die neue Bitgruppe abhängig, dann — aber auch nur dann — läßt sich folgende bekannte Methode anwenden: Die oft komplizierten Modifikationsoperationen werden nur einmal durchgeführt und die Ergebnisse in einem Assoziativspeicher abgelegt, aus dem die modifizierte Bitgruppe dann mit Hilfe der ursprünglichen Bitgruppe beliebig oft und sehr schnell entnommen werden kann.However, these command modifications are intended to delay arithmetic operations as little as possible. Will only one bit group is replaced in the address part and the new bit group is dependent, then - but only then - The following well-known method can be used: The often complicated modification operations are only carried out once and the results stored in an associative memory from which the modified Bit group can then be taken as often and very quickly with the help of the original bit group. Wegen dieser Einschränkungen ist auch ein anderes Verfahren bekannt, das von dem Grundgedanken ausgeht, die Modifikation eines gerade aufgerufenen Befehles; schon während der Ausführungsphase seines Vorgängers durchzuführen. Die bekannten Möglichkeiten dieses Überlappungsverfahrens seien im folgenden anhand der F i g. 1 bis 3 erläutert.Because of these limitations, another method, that of the basic idea outgoing, the modification of a command that has just been called; already during the execution phase of his The previous one. The known possibilities of this overlapping method are as follows on the basis of FIG. 1 to 3 explained. In Fig. 1 ist der zeitliche Ablauf einer Befehlskette mit den Befehlen Bi bis B6 schematisch als Ablaufdiagramm einer Zeitachse f aufgetragen. Jeder Befehlszyklus setzt sich aus einer Reihe von Grundzyklen oder Phasen zusammen, die in den in F i g. 1 bis 3 dargestellten Ablaufdiagrammen jeweils in der gleichen Weise gekennzeichnet sind und am Beispiel für den ersten Befehl B1 in F i g. 1 näher erläutert werden:
Zeitabschnitt 11: Aufrufphase des Befehls.
Eine in einem Register, dem Befehlszähler stehende Speicheradresse wird ausgelesen und in das Befehlsregister übertragen, der Inhalt des Befehlszählers wird um 1 erhöht.
In Fig. 1, the time sequence of a command chain with the commands Bi to B6 is plotted schematically as a flow diagram of a time axis f. Each command cycle is made up of a series of basic cycles or phases, which are shown in the FIGS. 1 to 3 are each identified in the same way and using the example of the first command B 1 in FIG. 1 will be explained in more detail:
Time segment 1 1: Call phase of the command.
A memory address in a register, the command counter, is read out and transferred to the command register; the content of the command counter is increased by 1.
Zeitabschnitt ί 2: Modifikationsphase
Dabei werden z. B. relative Adressen der Befehls-Operanden durch Addition mit dem Inhalt eines Indexregisters in absolute Adressen umgewandelt.
Zeitabschnitt i3: Entschlüsselungsphase
Der Operationsteil des Befehles wird decodiert, das Leitwerk der datenverarbeitenden Anlage leitet daraufhin die notwendigen Vorgänge ein.
Period ί 2: Modification phase
Here z. B. Relative addresses of the instruction operands are converted into absolute addresses by adding them to the contents of an index register.
Period i3: decryption phase
The operational part of the command is decoded, the control unit of the data processing system then initiates the necessary processes.
Zeitabschnitt ?4: Speicherzugriff zur Befehlsausführung, um z. B. einen im Arbeitsspeicher stehenden Operanden in das Rechenwerk zu übertragen.Time period? 4: memory access for command execution, to z. B. to transfer an operand in the main memory into the arithmetic unit.
DE19732327690 1973-05-30 Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time Expired DE2327690C3 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE19732327690 DE2327690C3 (en) 1973-05-30 Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19732327690 DE2327690C3 (en) 1973-05-30 Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time

Publications (3)

Publication Number Publication Date
DE2327690A1 DE2327690A1 (en) 1974-12-19
DE2327690B2 DE2327690B2 (en) 1976-12-30
DE2327690C3 true DE2327690C3 (en) 1977-08-18

Family

ID=

Similar Documents

Publication Publication Date Title
DE2716369C2 (en)
DE2819571C2 (en)
DE2059917B2 (en) HYBRID ADDRESSED DATA STORAGE
DE2854782C2 (en) Data processing system and method for replacing a block of data in high-speed storage
DE3635687C2 (en)
DE10116639A1 (en) Write/read comparator system for reducing ports in a multi port SRAM buffer memory
DE2359920A1 (en) ADDRESSING UNIT FOR A COMMON MEMORY
EP0282976B1 (en) Method and circuit arrangement for the parallel write-in of data in a semiconductor memory
DE2620749A1 (en) MATRIX MEMORY MADE FROM SEMICONDUCTOR ELEMENTS
DE1524200B2 (en) TIMING CONTROL FOR AN ELECTRONIC NUMBER CALCULATOR
DE3344340C2 (en) Data processing arrangement for performing microinstructions
DE2327690C3 (en) Main memory of a data processing system, designed as a semiconductor memory, with command cycles that can sometimes be executed overlapping in time
DE1295656B (en) Associative memory
DE2327690B2 (en) WORKING MEMORY OF A DATA PROCESSING SYSTEM TRAINED AS SEMICONDUCTOR MEMORY WITH PARTICULARLY OVERLAPPED EXECUTABLE COMMAND CYCLES
DE2233164B2 (en) Partial amendment of stored data - using logic circuit transferring part of bit sequence between registers
DE1549446A1 (en) Digital computer
DE2618760B2 (en) Semiconductor memory device
DE2853926A1 (en) WORD-ORGANIZED, CONTENTLY ADDRESSABLE MEMORY
DE1524211A1 (en) Data processing system
DE2363100C3 (en) Microprogram control unit and procedure for its operation
DE1774864B1 (en) MICROPROGRAMMED DATA PROCESSING SYSTEM WITH A MAIN MEMORY AND A FAST MEMORY
DE1774606C (en) Memory arrangement for performing basic logical and arithmetic operations
DE2033709A1 (en) Associative storage system
DE1524264B2 (en) Device for generating an image recording
DE1499203C (en) Circuit arrangement for memory protection in data processing systems with simultaneous operation