DE2710436A1 - Datenverarbeitungseinrichtung - Google Patents
DatenverarbeitungseinrichtungInfo
- Publication number
- DE2710436A1 DE2710436A1 DE19772710436 DE2710436A DE2710436A1 DE 2710436 A1 DE2710436 A1 DE 2710436A1 DE 19772710436 DE19772710436 DE 19772710436 DE 2710436 A DE2710436 A DE 2710436A DE 2710436 A1 DE2710436 A1 DE 2710436A1
- Authority
- DE
- Germany
- Prior art keywords
- memory
- pair
- accesses
- data processing
- bit
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims description 21
- 230000015654 memory Effects 0.000 claims description 72
- 238000012986 modification Methods 0.000 claims description 9
- 230000004048 modification Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 claims 2
- 238000000034 method Methods 0.000 description 7
- 239000003607 modifier Substances 0.000 description 4
- 230000000737 periodic effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 2
- 241000473945 Theria <moth genus> Species 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/1407—Checkpointing the instruction stream
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3861—Recovery, e.g. branch miss-prediction, exception handling
- G06F9/3863—Recovery, e.g. branch miss-prediction, exception handling using multiple copies of the architectural state, e.g. shadow registers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Executing Machine-Instructions (AREA)
- Retry When Errors Occur (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
ICL House, Putney, London SW 15, England
Datenverarbeitungseinrichtung
Die Erfindung bezieht sich auf Datenverarbeitungseinrichtungen mit einem Speicher, der eine Vielzahl von individuell zugänglichen
Speicherstellen enthält, wobei die Einrichtung so ausgelegt ist, daß sie Instruktionen ausführt, von denen wenigstens
einige Zugriffe zum Speicher einleiten.
In Datenverarbeitungseinrichtungen ist es häufig möglich, daß die Durchführung eines Programmes aus verschiedenen Gründen unterbrochen
wird, z.B. im Falle eines Fehlers oder einer anderen Form einer unmittelbaren Unterbrechungsanmeldung. In einem solchen Fall,
in welchem das Programm nach Behebung der Unterbrechung wieder aufgenö*uK«n wird, ist es üblicherweise erforderlich, das Programm
zu wiederholen, d.h. an der Stelle erneut anlaufen zu lassen, die vor der Stelle liegt, an der die Unterbrechung erfolgt ist.
Wenn beispielsweise die Unterbrechung aufgrund eines Fehlers aufgetreten ist, kann das Resultat der letzten, durchgeführten
Instruktion nicht gültig sein, so daß es dann notwendig ist, das
709839/0783
Kontori- Bayerische Vereinsbnnk (DLZ 750 200 73) 5 839
!'0!.1..(.!1CCk München ΗΠ3 GU - 801
Gerichtsstand Regensburg
• ψ.
Programm zu wiederholen, um wenigstens diese Instruktion nochmals zu versuchen.
Eine extreme Form eines solchen Wiederholvorganges besteht darin, das gesamte Programm von Anbeginn an nochmals ablaufen zu lassen,
ein derartiger Vorgang ist jedoch außerordentlich unrationell. Eine weitere Technik, die in diesem Zusammenhang verwendet worden
ist, ist die, ein Programm mit Meß- bzw. Fixpunkten zu verwenden. Bei dieser Technik werden Meß- bzw .Fixpunkte in das Programm
in gewissen Abständen eingeführt und an jedem Meß- bzw. Fixpunkt wird die gesamte Information, die notwendig ist, um das
Programm von diesem Meß- bzw. Fixpunkt erneut anlaufen zu lassen, in einem Reservespeicher gespeichert.
Eine weitere Technik, die bereits vorgeschlagen worden ist, besteht
darin, eine Anzahl von speziell ausgelegten Reserveregistem
zu verwenden, in welche die Inhalte der verschiedenen Datenregister automatisch in regelmäßigen Intervallen eingegattert werden.
Diese Information wird auf diese Weise beibehalten und automatisch in die Datenregister aus den Reserveregistern im Falle
eines nochmaligen Versuches zurückgegattert.
Aufgabe der Erfindung ist es, eine Einrichtung zur Beibehaltung j der Information für die Verwendung in einem möglichen Wiederhol-
! Vorgang zu schaffen, mit der vermieden werden kann, daß die Information
in Reservespeicher übertragen werden muß.
' Gemäß der Erfindung wird bei einer Datenverarbeitungseinrichtung
der gattungsgemäßen Art vorgeschlagen, daß wenigstens einige der Speicherplätze paarweise angeordnet sind, daß eine Anzeigevor-
; richtung jedem Paar zugeordnet ist, um anzuzeigen, welcher Speicherplatz
des Paares für Lesezugriffe und welcher Speicherplatz des Paares für Schreibzugriffe verwendet werden soll, daß in Abhängigkeit
von einem Schreibzugriff zu einem der Paare von Spei-
!cherplätzen die Anzeigevorrichtung, die dem Paar von Speicherplätzen
zugeordnet ist, so gesetzt wird, daß angezeigt wird, daß
709839/0783
Lesezugriffe nun auf den gleichen Speicherplatz des Paares wie den erfolgen, der gerade für Schreibzugriff angezeigt wird, und
daß jede Anzeigevorrichtung periodisch so gesetzt wird, daß angezeigt
wird, daß Schreibzugriffe nunmehr auf den entgegengesetzten Speicherplatz des Paares zu dem, der laufend für Lesezugriffe
angezeigt wird, erfolgen. Dies bewirkt, daß zu einem gegebenen Zeitpunkt ein Speicherplatz in einem gegebenen Paar
den jeweiligen Wert einer bestimmten Veränderlichen hält und dann, wenn der Wert dieser Veränderlichen seit der letzten
periodischen Einstellung der Anzeigevorrichtungen geändert worden ist, der andere Speicherplatz den anfänglichen Wert dieser
Veränderlichen beibehält.
Es ist jedoch zu beachten, daß keiner der Teile des Paares eine feste Rolle besitzt: Manchmal steht der laufende Wert in einem
Speicherplatz des Paares, manchmal im anderen. Die Einrichtung . gewährleistet automatisch, daß der jeweilige Teil des Paares
verwendet wird, wenn es erwünscht ist, den laufenden Wert auszulesen. Es ist deshalb nicht erforderlich, Informationen von einem
Speicherplatz des Paares auf den anderen zu übertragen, um den \ Anfangswert beizubehalten oder den Anfangswert im Falle einer i
Wiederholung erneut zu speichern.
Nach einer speziellen Ausführungsform der Erfindung weist die Datenverarbeitungseinrichtung eine mikroprogrammierte Verarbeitungseinheit
auf, die einen Mikroprogrammspeicher besitzt, der verschiedene Folgen von Mikroprogramminstruktionen zur Durchführung
von Instruktionen höherer Stufe hält. Bei dieser Ausführungsform wird die periodische Einstellung der Anzeigevorrichtungen
zweckmäßigerweise am Ende der Durchführung einer ' jeden Instruktion höherer Stufe erzielt, d.h. am Ende der Durch- |
führung der Mikroprogrammfolge, die zur Ausführung der Instruk- | tion höherer Stufe notwendig ist. Auf diese Weise werden, wenn ;
i die Ausführung der Instruktion höherer Stufe aus irgendeinem i Grunde unterbrochen wird, die anfänglichen Werte der Veränderlichen
in den Paaren von Speicherplätzen für den nochmaligen Ver-
709839/0783
such der Instruktion höherer Stufe beibehalten.
Nach einer weiteren bevorzugten Ausführungsform der Erfindung
weist jede Anzeigevorrichtung zwei bistabile Vorrichtungen auf, die ein Benutzungsbit und ein Modifizierbit halten; die periodische Einstellung der Anzeigevorrichtung umfaßt das Einstellen
des Modifizierbits auf einen Wert gleich der Antivalenzfunktion des Benutzungsbits und des Modifizierbits, und dann die Einstellung des Benutzungsbits auf einen Wert, der eine binäre Null
darstellt, wobei das Benutzungsbit auf einen Wert gesetzt wird, der eine binäre Eins darstellt, wenn ein Schreibzugriff zu dem
zugeordneten Paar von Speicherplätzen erfolgt; die Antivalenzfunktion des Benutzungsbits und des Modifizierbits ergibt dabei eine Anzeige darüber, welcher Speicherplatz des Paares für
Lesezugriffe verwendet wird, und der inverse Wert des Modifizier" bits ergibt eine Anzeige darüber, welcher Speicherplatz des
Paares für Schreibzugriffe verwendet wird.
Nachstehend wird die Erfindung in Verbindung mit der Zeichnung anhand eines Ausführungsbeispieles erläutert. Es zeigen: j
ten Datenverarbeitungseinrichtung, und Fig. 2 und 3 einen Arbeitsspeicher in detailierter Darstellung.
Nach Fig. 1 enthält die Verarbeitungseinrichtung einen Mikroprogrammspeicher 10, der Folgen von Mikroprogramminstruktionen
hält. i
Der Mikroprogrammspeicher wird durch ein Mikroprogrammadressenregister 11 adressiert, das normalerweise bei Beendigung der \
Durchführung einer jeden Instruktion um eine Einheit fortgeschaltet wird, so daß schrittweise durch den Mikroprogrammspeicher
geschaltet wird.
709899/0783
und einer Steuereinheit 12 aufgegeben, wo sie so dekodiert wird, daß Steuersignale für die anderen Teile der Verarbeitungseinrichtung
erzeugt werden. Diese anderen Teile enthalten eine nach dem Kellerungsprinzip arbeitende (der zuletzt eingeführte
Wert ist der erste wieder entnommene) Operanden-Stapelspeichereinheit
13, eine Arbeitsspeichereinheit IU und ein Rechenwerk
15.
Die gesamte Verarbeitung von Operanden wird durch das Rechenwerk vorgenommen. Es steht ein voller Bereich von Arbeitsvorgängen,
einschließlich Addieren, Subtrahieren und dgl. zur Verfugung. Das Rechenwerk nimmt Eingabeoperanden aus dem Operanden-Stapelspeicher
und dem Arbeitsspeicher auf, während der Ausgang aus dem Rechenwerk entweder in den Operanden-Stapelspeicher
oder den Arbeitsspeicher eingeschrieben werden kann.
Die Steuereinheit kann ferner eine Sprungadresse in das Mikroprogrammadressenregister
einschreiben, so daß ein Sprung in der Mikroprogrammfolge erzwungen wird. Ein derartiger Sprung kann ·
als Ergebnis von Prüfungen durch die Steuereinheit oder als Er- j gebnis eines Sofortunterbrechungs-Signales (II) aus einem ι
externen Gerät durchgeführt werden.
Die Arbeitsweise der Datenverarbeitungseinrichtung wird durch eine Zeitschaltung 16 gesteuert, wobei jede Mikroprogramminstruktion
in vier Takten der Zeitschaltung durchgeführt wird. Für eine typische Instruktion, die einen Betrieb zwischen zwei
Operanden umfaßt, ist die Wirkung bei jedem Takt wie folgt:
(1) Instruktion holen.
Bei diesem Takt erfolgt ein Zugriff in den Mikroprogrammspeicher, um die Instruktion auszulesen.
(2) Dekodieren.
Die Instruktion wird in der Steuereinheit dekodiert und es erfolgt ein Zugriff zu den Operanden im Operanden-Stapelspeicher
und Arbeitsspeicher.
?09839/0783
(3) Ausführen.
Die Operation wird zwischen den Operanden im Rechenwerk durchgeführt.
(4) Schreiben.
Das Resultat des Vorganges wird in den Operanden-Stapelspeicher oder den Arbeitsspeicher eingeschrieben.
Vorliegende Erfindung befaßt sich mit einem Merkmal des Arbeitsspeichers
14, das nachstehend im einzelnen beschrieben wird. Die anderen Teile der Verarbeitungseinrichtung nach Fig. 1 sind
nicht Gegenstand der Erfindung und werden deshalb auch hier nicht im einzelnen erläutert.
Arbeitsspeichereinheit
Nach Fig. 2 weist die Arbeitsspeichereinheit einen Speicher 20 mit direktem Zugriff auf, der 256 Wörter hält, von denen jedes
eine Adresse aus acht Bits besitzt. Der Adresseneingang für den Speicher wird aus einem Multiplexer 21 erhalten, der einen der
sieben Eingänge aus jeweils acht Bits zum Adressieren des Speichers auswählt.
Nur drei dieser Eingänge sind im Falle vorliegender Erfindung von Bedeutung:
RA: Eine Lese-Adresse.
RIA: Eine Lese-Beginn-Adresse.
RIA: Eine Lese-Beginn-Adresse.
WA: Eine Schreib-Adresse, die aus einem Schreibadressenpufferspeicher
WAB2 erhalten wird.
Einer der ersten beiden Eingänge (RA, RIA) kann zum Adressieren des Speichers während des Dekodiertaktes der Instruktion ausgewählt
werden, so daß ein Operand aus dem Speicher ausgelesen wird. Welcher Eingang ausgewählt wird, wird durch ein Teilfeld
der Instruktion bestimmt, das als das XK-Teilfeld bezeichnet
wird, welches in einem Dekodierer 22 dekodiert wird, damit ein Signal zur Steuerung des Multiplexers 21 erzeugt wird.
?09839/0783
Wenn die Instruktion eine solche Instruktion ist, die ein Einschreiben
in den Arbeitsspeicher ergibt, wird der WA-Eingang während des Schreibtaktes dieser Instruktion ausgewählt.
Die Schreibadresse WA im Pufferspeicher WAB2 wird über einen
anderen Pufferspeicher WABl aus einem anderen Multiplexer 23 mit sieben Eingängen entnommen. Der Multiplexer 23 wird durch
ein drei Bits umfassendes Signal aus einem Dekodierer 25 gesteuert,
das aus dem XK-Teilfeld entnommen wird. Nur einer dieser
Eingänge, der mit WAX bezeichnet ist, ist für vorliegende Erfindung relevant.
Für jede Instruktion werden somit zwei Adressen gleichzeitig während des Dekodiertaktes gebildet: Eine Leseadresse am Ausgang
des Multiplexers 21, und eine Schreibadresse am Ausgang ' des Multiplexers 23. Die Leseadresse kann unmittelbar zum Adressieren des Speichers 20 verwendet werden, so daß ein Operand für j
die Verarbeitung ausgelesen wird. Die Schreibadresse wird im Schreibadressenpufferspeicher WABl gespeichert, auf den Puffer- ,
speicher WAB2 während des Au%ührungstaktes übertragen, und kann
dann verwendet werden, um den Speicher 20 während des Schreib- j taktes der Instruktion zu adressieren. Das Ergebnis dieser Ar- ;
beitsweise aus dem Rechenwerk wird dann in den adressierten Speicherplatz des Speichers eingeschrieben, vorausgesetzt, daß
zum gleichen Zeitpunkt ein Schreibfreigabesignal WE dem Speicher
aus der Steuereinheit aufgegeben wird. i
Fig. 3 zeigt, wie die Adressen RA, RIA und WAX gebildet werden. ,
Jede dieser Adressen besteht aus acht Bits, wobei die vier höchstwertigen Bits Mull sind, und die nächsten drei Bits von ,
einem anderen Teilfeld der Instruktion, das mit XN bezeichnet ist, entnommen werden.
Daraus ergibt sich, daß jede dieser Adressen in ihrem Bereich auf die ersten sechzehn Wortspeicherplätze des Speichers 20
909839/0783
_, . 271ÜA36
begrenzt ist. Darüberhinaus können diese ersten sechzehn Speicherplätze
als in acht Paaren von Speicherplätzen gruppiert angesehen werden, wobei eines dieser Paare durch das XN-Teilfeld
ausgewählt wird. Welcher Teil des ausgewählten Paares tatsächlich adressiert wird, wird durch das geringstwertige Bit der
Adresse bestimmt.
Die Art und Weise, in der diese acht Paare von Speicherplätzen verwendet werden, wenn sie durch RA und WAX adressiert sind,
ist folgende. Die beiden Speicherplätze eines jeden Paares werden abwechselnd verwendet, um den jeweiligen Wert einer bestimmten
Veränderlichen zu speichern. Das Oberwechseln von einem Speicherplatz des Paares zum anderen wird unmittelbar vor dem
ersten Schreibzugriff zum Paar in einer Mikroprogrammfolge für die Ausführung einer Instruktion hohen Niveaus bewirkt. Mit
andren Worten heißt dies, daß Lesezugriffe zu dem Paar zu einem der Speicherplätze bis zum ersten Schreibzugriff zu dem Paar
vorgenommen werden, wobei Schreibzugriff und nachfolgende Leseoder Schreibzugriffe zum anderen Teil des Paares vorgenommen
werden. Daraus ergibt sich, daß der Wert der Veränderlichen zu Beginn der laufenden Mikroprogrammfolge stets beibehalten wird,
obgleich ein neuer Wert der Veränderlichen in den Arbeitsspeicher:
während der Folge eingeschrieben worden sein kann.
Wenn es zu irgendeinem Zeitpunkt erwünscht ist, diesen beibehaltenen
Anfangswert einzusehen (z.B. für diagnostische Zwecke), wird die Adresse RIA verwendet. Diese Adresse gibt stets den
Speicherplatz an, der den Anfangswert hält. Wenn es erwünscht ist, die Folge erneut anlaufen zu lassen, wobei die Anfangswerte
der Veränderlichen verwendet werden, ist es lediglich erforderlich, zu gewährleisten, daß der Speicherplatz eines jeden Paares,
der den Anfangswert hält, als der laufende Speicherplatz wieder eingeführt wird.
Die Art und Weise, in der die drei geringstwertigen Bits der
Adressen RA, RIA und WAX gebildet werden, um zu gewährleisten,
709839/078
daß Zugriffe zu dem richtigen Speicherplatz eines jeden Paares erfolgen, wird nachstehend beschrieben.
Jedes der acht Paare von Speicherplätzen weist eine zugeordnete Anzeigevorrichtung auf, um den augenblicklichen Zustand dieses
Paares anzuzeigen. Jede der Anzeigevorrichtungen besteht aus zwei bistabilen Vorrichtungen, die ein Benutzungsbit U und ein
Modifizierbit M halten. Das Benutzungsbit zeigt an, ob ein Schreibzugriff zu dem Paar in der jeweiligen Folge erfolgt ist.
Das Modifizierbit gibt an, welcher Speicherplatz des zugeordneten
Paares den laufenden Wert zu Beginn der Folge enthalten hat.
Aus Zweckmäßigkeitsgründen sind die acht Benutzungsbits zusammen in einem Register 30 gruppiert, während die acht Modifizierbits
in einem Register 31 zusammengefaßt sind.
Die Benutzungsbits werden in acht Antivalenzgattern 3 2 (von denen
nur eines gezeigt ist) mit ihren entsprechenden Modifizierbits kombiniert. Eines der acht Antivalenzergebnisse wird dann durch
einen Multiplexer 33 in Obereinstimmung mit dem Wert des XN- ; Teilfeldes ausgewählt, und das ausgewählte Resultat Mf^U als das !
geringstwertige Bit von RA verwendet. Wenn das Benutzungsbit uflgesetzt ist (d.h. U = 0), wird M^U gleich dem Modifizierbit, j
Somit erfolgen Zugriffe unter Verwendung von RA zum anfänglich I laufenden Speicherplatz. Wenn das Benutzungsbit gesetzt ist
(beim ersten Schreibzugriff), wird M^U gleich dem inversen Wert
des Modifizierbits. Dies gewährleistet, daß Lesezugriffe im An- ,
Schluß an den ersten Schreibzugriff zum anderen Speicherplatz ' erfolgen. \
Die Modifizierbits werden ferner einem Multiplexer 34 aufgegeben,
der eines dieser Bits in Obereinstimmung mit dem Wert des XN-Teilfeldes auswählt. Das ausgewählte Bit wird durch den Multiplexer
34 invertiert, damit ein Ausgangsbit M erzielt wird, das
als geringstwertiges Bit von WAX verwendet wird. Daraus ergibt sich, daß Schreibzugriffe unter Verwendung von WAX stets auf den
709839/0783
entgegengesetzten Speicherplatz zu dem zu Beginn laufenden Speicherplatz vorgenommen werden. Der Multiplexer 34 ergibt
auch ein nicht-invertiertes Ausgangsbit M, das als das geringstwertige Bit von RIA verwendet wird. Somit finden Lesezugriffe
unter Verwendung von RIA stets zu dem zu Beginn laufenden Speicherplatz statt, selbst nach dem ersten Schreibzugriff.
Nachstehend wird erläutert, wie die Benutzungsbits gesteuert werden. Die acht Eingänge des Benutzungsbitregisters 30 sind
mit den Ausgängen entsprechender ODER-Gatter 3 6 (von denen nur eines gezeigt ist) verbunden, deren Eingänge wiederum mit entsprechenden
Ausgängen eines 3 : 8 Dekodierers 37 verbunden sind. Der Dekodierer 3 7 wird durch einen drei Bits umfassenden Eingang
gesteuert, der aus dem XN-Teilfeld entnommen wird.
Dem Benutzungsbitregister 30 wird am Ende einer jeden Mikroprogrammfolge
ein Rücksetzägnal aufgegeben, wie z.B. durch ein EI-Signal aus der Steuereinheit angedeutet. Die Ausgänge der ODER-Gatter
werden bei jedem Takt der Zeitschaltung in das Register 30 getaktet. Nimmt man an, daß der Dekodierer 37 zu Anfang unwirksam
ist, werden alle seine Ausgänge Null und deshalb bleiben' alle Benutzungsbits in gleicher Weise Null.
Wenn jedoch eine Instruktion auftritt, die ein Einschreiben untej
Verwendung der Adresse WAX einschließt, gibt die Steuereinheit ein Freigabesignal EN in den Dekodierer 37 am Ende des Ausführungstaktes
dieser Instruktion. Damit wird eine binäre Eins an einem der Ausgänge des Dekodierers erzeugt, wodurch das entsprechende
ODER-Gatter 36 wirksam gemacht und das entsprechende Benutzungsbit auf Eins gesetzt wird. Dieses Bit bleibt dann
aufgrund einer Rückkopplungsverbindung aus dem Ausgang des Benutzungsbits zum Eingang des entsprechenden ODER-Gatters 36 bis
zum nächsten Ei-Signal auf Eins gesetzt.
Das Benutzungsbitregister 30 wird sowohl am Ende einer Mikro- ; programmfolge als auch immer dann rückgesetzt, wenn ein Sofortj
Unterbrechungssignal II auftritt. Aus der vorausgehenden Er-
909839/0783
'43.
orterung ergibt sich, daß auf diese Weise gewährleistet wird,
daß nachfolgende Lesezugriffe zum beibehaltenen Anfangswert der Veränderlichen in jedem Paar von Speicherplätzen vorgenommen
werden.
Die Steuerung der Modifizierbits geschieht wie folgt: Die Ausgänge der acht Antivalenzgatter 32 werden entsprechenden Eingängen des Modifizierbitregisters 31 aufgegeben, das am Ende
einer jeden Mikroprogrammfolge durch das Ei-Signal getaktet wird. Somit wird jedes Modifizierbit auf einen neuen Wert Μ^έϋ
gesetzt. Wenn keine Schreibzugriffe an ein Speicherplatzpaar aufgetreten sind, wird das zugeordnete Modifizierbit ungeändert
belassen, während dann, wenn ein oder mehrere Schreibzugriffe aufgetreten sind, das Modifizierbit komplementiert wird. Somit
wird jedes Modifizierbit so gesetzt, daß es auf den Speicherplatz zeigt, der den laufenden Wert der Veränderlichen hält.
Das Aufgeben des EI-Signales zum Rücksetzen des Benutzungsbitregisters 30 wird in Wirklichkeit um einen Vierteltakt in bezug
auf das Aufgeben des Signales zum Takten des Modifizierbitregisters 31 mit Hilfe einer Verzögerungsschaltung 38 verzögert.
Damit ist es möglich, die Modifizierbits auf den entsprechenden
Wert von M U zu setzen, bevor die Benutzungsbits auf Null rückgesetzt werden.
^09839/0761
Claims (7)
- Patentansprüche^liDatenverarbeitungseinrichtung mit einem Speicher, der eine Vielzahl von individuell zugänglichen Speicherplätzen enthält, wobei die Einrichtung so ausgelegt ist, daß sie Instruktionen ausführt, von denen wenigstens einige Zugriffe zum Speicher einleiten, dadurch gekennzeichnet, daß wenigstens einige der Speicherplätze paarweise angeordnet sind, daß eine Anzeigevorrichtung (30, 31, 32) jedem Paar zugeordnet ist, um anzuzeigen, welcher Speicherplatz des Paares für Lesezugriffe und welcher Speicherplatz des Paares für Schreibzugriffe verwendet werden soll, und daß in Abhängigkeit von einem Schreibzugriff zu einem der Paare von Speicherplätzen die Anzeigevorrichtung, die dem Paar von Speicherplätzen zugeordnet ist, so gesetzt wird, daß eine Anzeige erhalten wird, daß Lesezugriffe nun auf den gleichen Speicherplatz des Paares erfolgen wie der, der laufend für Schreibzugriffe angezeigt wird, und daß jede Anzeigevorrichtung periodisch so gesetzt wird, daß angezeigt wird, daß Schreibzugriffe nun auf den entgegen- , gesetzten Speicherplatz des Paares zu dem, der laufend für Lesezugriffe angezeigt wird, erfolgen. '
- 2. Datenverarbeitungseinrichtung nach Anspruch 1, zur Durchführung einer Vielzahl von Befehlsfolgen, von denen einige Schreibzugriffe zum Speicher und andere Lesezugriffe zum Speicher spezifizieren, dadurch gekennzeichnet, daß in Ab- , hängigkeit von einer Instruktion, die einen Lesezugriff j spezifiziert, eines der Paare von Speicherplätzen ausgewählt ! und das Auslesen aus dem Speicherplatz des ausgewählten Paares, angezeigt durch die Anzeigevorrichtung (30, 31, 32), so bewirkt wird, daß sie für Lesezugriffe verwendet werden kann, ; und daß in Abhängigkeit von einer Instruktion, die einen Schreibzugriff eines der Paare von Speicherplätzen spezifiziert, ausgewählt und das Schreiben in den Speicherplatz des ausgewählten Paares, angezeigt durch die Anzeigevorrichtung (31, 3U),709839/0781ORIGINAL INSPECTED• u -als der für Schreibzugriffe zu verwendende Speicherplatz spezifiziert wird.
- 3. Datenverarbeitungseinrichtung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Anzeigevorrichtungen (30, 31,32) periodisch in Abhängigkeit von dem Ende einer Folge von Instruktionen gesetzt werden.
- U. Datenverarbeitungseinrichtung nach den Ansprüchen 1-3, dadurch gekennzeichnet, daß jede Anzeigevorrichtung (30, 31) einen Speicher (30) für Benutzungsbits, einen Speicher (31) für Modifizierbits, ein Gatter (3 2) zur Erzeugung der Exklusiv-ODER-Funktion der Benutzungs- und Modifizierbits zur Erzeugung der Anzeige, welcher der Speicherplätze des Paares für Lesezugriffe verwendet werden soll, und einen Inverter (34) zum Invertieren des Modifizierbits zur Erzeugung der Anzeige, welcher Speicherplatz des Paares für Schreibzugänge verwendet werden soll, aufweist.
- 5. Datenverarbeitungseinrichtung nach Anspruch U, dadurch gekennzeichnet, daß am Ende einer Folge von Instruktionen das Modifizierbit im Speicher (31) auf den Wert der Exklusiv-ODER-Funktion der Benutzungs- und Modifizierbits und das Benutzungsbit im Speicher (30) auf einen Anfangswert durch ein Ende des Instruktionssignales (EI) gesetzt wird.
- 6. Datenverarbeitungseinrichtung nach Anspruch 5, dadurch gekennzeichnet, daß das Benutzungsbit im Speicher (30) auf den Anfangswert rückgesetzt wird und auf ein Wiederholsignal (II) anspricht.
- 7. Datenverarbeitungseinrichtung nach den Ansprüchen 5 oder 6, dadurch gekennzeichnet, daß das Modifizierbit in Abhängigkeit von einem Wiederholsignal (II) verwendet wird, um für Lesezugriffe den Speicherplatz anzuzeigen, der zu Beginn der Folge als der für L-esezugriffe zu verwendende Speicherplatz angezeigt worden ist.709839/0783
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB10865/76A GB1507428A (en) | 1976-03-18 | 1976-03-18 | Data processing systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2710436A1 true DE2710436A1 (de) | 1977-09-29 |
DE2710436C2 DE2710436C2 (de) | 1983-03-31 |
Family
ID=9975744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2710436A Expired DE2710436C2 (de) | 1976-03-18 | 1977-03-10 | Datenverarbeitungseinrichtung |
Country Status (8)
Country | Link |
---|---|
US (1) | US4124892A (de) |
JP (1) | JPS52135235A (de) |
AU (1) | AU508503B2 (de) |
DE (1) | DE2710436C2 (de) |
FR (1) | FR2344893B1 (de) |
GB (1) | GB1507428A (de) |
HU (1) | HU175939B (de) |
ZA (1) | ZA771645B (de) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE31977E (en) * | 1979-03-12 | 1985-08-27 | Texas Instruments Incorporated | Digital computing system having auto-incrementing memory |
JPS5642806A (en) * | 1979-09-18 | 1981-04-21 | Fanuc Ltd | Sequence control system for numerical control machine tool |
US4761732A (en) * | 1985-11-29 | 1988-08-02 | American Telephone And Telegraph Company, At&T Bell Laboratories | Interrupt controller arrangement for mutually exclusive interrupt signals in data processing systems |
EP0228559A1 (de) * | 1985-12-17 | 1987-07-15 | BBC Brown Boveri AG | Fehlertolerante Mehrrechneranordnung |
DE3602112A1 (de) * | 1986-01-24 | 1987-07-30 | Vdo Schindling | System zur speicherung von informationen |
JPS6362039A (ja) * | 1986-09-03 | 1988-03-18 | Mitsubishi Electric Corp | 計算機 |
JPS63213034A (ja) * | 1987-03-02 | 1988-09-05 | Nippon Telegr & Teleph Corp <Ntt> | 処理再開制御方式 |
GB2272549B (en) * | 1992-11-03 | 1997-01-29 | Tolsys Ltd | Memory checkpointing |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3533082A (en) * | 1968-01-15 | 1970-10-06 | Ibm | Instruction retry apparatus including means for restoring the original contents of altered source operands |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3409877A (en) * | 1964-11-27 | 1968-11-05 | Bell Telephone Labor Inc | Automatic maintenance arrangement for data processing systems |
US3753244A (en) * | 1971-08-18 | 1973-08-14 | Ibm | Yield enhancement redundancy technique |
-
1976
- 1976-03-18 GB GB10865/76A patent/GB1507428A/en not_active Expired
-
1977
- 1977-03-10 DE DE2710436A patent/DE2710436C2/de not_active Expired
- 1977-03-17 US US05/778,478 patent/US4124892A/en not_active Expired - Lifetime
- 1977-03-18 AU AU23416/77A patent/AU508503B2/en not_active Expired
- 1977-03-18 FR FR7708272A patent/FR2344893B1/fr not_active Expired
- 1977-03-18 JP JP3026777A patent/JPS52135235A/ja active Granted
- 1977-03-18 ZA ZA00771645A patent/ZA771645B/xx unknown
- 1977-03-18 HU HU77IE772A patent/HU175939B/hu unknown
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3533082A (en) * | 1968-01-15 | 1970-10-06 | Ibm | Instruction retry apparatus including means for restoring the original contents of altered source operands |
Also Published As
Publication number | Publication date |
---|---|
JPS52135235A (en) | 1977-11-12 |
JPS5727493B2 (de) | 1982-06-10 |
HU175939B (en) | 1980-11-28 |
FR2344893A1 (fr) | 1977-10-14 |
AU2341677A (en) | 1978-09-21 |
US4124892A (en) | 1978-11-07 |
FR2344893B1 (fr) | 1984-12-21 |
AU508503B2 (en) | 1980-03-20 |
ZA771645B (en) | 1978-02-22 |
GB1507428A (en) | 1978-04-12 |
DE2710436C2 (de) | 1983-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE68922941T2 (de) | Bedingungsschreib-RAM. | |
DE69217761T2 (de) | Lese- und Schreibschaltung für einen Speicher | |
DE68925466T2 (de) | Zeitgeberschaltung | |
DE68907518T2 (de) | Inhaltsadressierte Speicheranordnung. | |
DE2719635A1 (de) | Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage | |
DE2953861C2 (de) | ||
DE3752280T2 (de) | Mustergenerator | |
DE69027932T2 (de) | Cpu-pipeline mit registerfile-bypass durch adressvergleich bei aktualisierungen/zugriffen | |
DE2641741A1 (de) | Rechnersystem aus mehreren miteinander verbundenen und zusammenwirkenden einzelrechnern | |
DE1499722B1 (de) | Einrichtung zur modifizierung von informationswoertern | |
DE1499203B1 (de) | Schaltungsanordnung zum Speicherschutz bei Datenverarbeitungsanlagen mit Simultanbetrieb | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2715073B2 (de) | Mikroprogranunierte Rechner-Steuervorrichtung | |
DE2145709A1 (de) | Datenverarbeitungsanlage | |
DE2539211A1 (de) | Zugriffssteuereinheit | |
DE2440628A1 (de) | Datenverarbeitungsanlage mit mikroprogrammierung | |
DE2813080A1 (de) | Einrichtung zur speicheradressierung | |
DE2426874A1 (de) | Verfahren und schaltungsanordnung zur bestimmung der adressenart eines befehls | |
DE2551741A1 (de) | Datenverarbeitungseinrichtung | |
DE3501903A1 (de) | Im pipelinebetrieb arbeitende datenverarbeitungseinrichtung | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
DE2948442C2 (de) | Digitalrechenanlage | |
DE1499191B2 (de) | Elektronische einrichtung fuer eine datenverarbeitungsanlage | |
DE69025782T2 (de) | Registerbankschaltung | |
DE3688973T2 (de) | Verarbeitungssystem in Pipelinestruktur und Mikroprozessor mit einem derartigen System. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OD | Request for examination | ||
8126 | Change of the secondary classification |
Ipc: ENTFAELLT |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |