DE2710436A1 - Datenverarbeitungseinrichtung - Google Patents

Datenverarbeitungseinrichtung

Info

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
Application number
DE19772710436
Other languages
English (en)
Other versions
DE2710436C2 (de
Inventor
John Austin Jones
Brian John Procter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Services Ltd
Original Assignee
Fujitsu Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Services Ltd filed Critical Fujitsu Services Ltd
Publication of DE2710436A1 publication Critical patent/DE2710436A1/de
Application granted granted Critical
Publication of DE2710436C2 publication Critical patent/DE2710436C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/1407Checkpointing the instruction stream
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • G06F9/3863Recovery, 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
Fig. 1 ein schematisches Blockschaltbild einer mikroprogrammier-
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.
Die adressierte Instruktion wird aus dem Speicher 10 ausgelesen
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.
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)

  1. 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. 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/0781
    ORIGINAL INSPECTED
    u -
    als der für Schreibzugriffe zu verwendende Speicherplatz spezifiziert wird.
  3. 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.
  4. 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. 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. 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. 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
DE2710436A 1976-03-18 1977-03-10 Datenverarbeitungseinrichtung Expired DE2710436C2 (de)

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)

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

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

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

Patent Citations (1)

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