DE1958747A1 - Mikroprogrammgesteuertes Datenverarbeitungssystem - Google Patents
Mikroprogrammgesteuertes DatenverarbeitungssystemInfo
- Publication number
- DE1958747A1 DE1958747A1 DE19691958747 DE1958747A DE1958747A1 DE 1958747 A1 DE1958747 A1 DE 1958747A1 DE 19691958747 DE19691958747 DE 19691958747 DE 1958747 A DE1958747 A DE 1958747A DE 1958747 A1 DE1958747 A1 DE 1958747A1
- Authority
- DE
- Germany
- Prior art keywords
- microprogram
- data processing
- register
- processing system
- bit storage
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2215—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
-
- 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/22—Microcontrol or microprogram arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Retry When Errors Occur (AREA)
- Executing Machine-Instructions (AREA)
Description
Böblingen, 10. November 1969 jo-sc
Anmelderin: International Business Machines
Corporation, Armonk, N.Y. 10504
Amtliches Aktenzeichen: Netaanmeldung
Aktenzeichen der
Anmelderin: Docket UK 968 006
Die Erfindung betrifft ein mikroprogrammgesteuertes Datenverarbeitungssystem
mit einem Hauptdatenverarbeitungsblock, der Bit-Speicherstellen besitzt, die Oberwachungs- und Steuerdaten
für das System liefern.
Eines der wichtigsten Probleme bei dem Betrieb von elektronischen Datenverarbeitungssystemen besteh't darin, die Maschine
ständig daraufhin zu überprüfen, ob ihre Funktionen fehlerfrei ablaufen. Zu diesem Zweck sind die heute gebräuchlichen
Systeme mit Fehlerprufschaltungen ausgerüstet, die an verschiedenen
Stellen des Systems die gespeicherten, übertragenen und errechneten Daten und Instruktionen auf Fehlerfreiheit
überprüfen.
U09828/1570
Es ist eine bekannte Tatsache, daß in elektronischen Datenverarbeitungssystemen
Fehler auftreten, die nur kurze Zeit andauern und nicht unbedingt auf Fehler, in den Schaltkreisen zurückzuführen sind. So ist es hierbei durchaus möglich, daß eine un-,
mittelbar darauf ausgeführte gleiche Instruktion richtige Resultate
liefert. ■ . ·
Diese Fehler, oft auch als intermetierende Fehler bezeichnet, können mit Hilfe der bekannten Instruktionswiederholungstechnik
elimeniert werden. Bei dieser Technik herden fehlerhaft ausgeführte
Instruktionen mehrmals wiederholt, wobei die Wiederholungsversuche in ihrer Anzahl vorgebbar sind. Wird am Ende dieser
Prozedur immer noch ein Fehler festgestellt, dann kann mit großer Wahrscheinlichkeit angenommen werden, daß ein fehlerhafter Schaltkreis
diesen Fehler verursacht.
Bei dieser Technik ist jedoch von Nachteil, daß die genannte Xnstruktionswiederholungsroutine
nur durch einen tatsächlich im . . System aufgetretenen Fehler ausgelöst werden kann. Es ist- also,
bei den bekannten Einrichtungen nicht möglich, diese Technik für' eine ständige Fehlerprüfung zu verwenden.
Es ist daher die Aufgabe der Erfindung, insbesondere diesen Nachteil
zu vermeiden. Für ein mikroprogrammgesteuertes Datenverär-* .
beitungssystem mit einem Hauptdatenverarbeitungsblock , der Bit-Speicherstellen besitzt, die Überwachungs- und Steuerdaten für das
System liefern, besteht die Erfindüngr darin, daß ein selektiv .arbeitendes
Datenerzwingüngssystem vorgesehen ist, das aus einem
Injektionsregister, in dem simulierte Überwachungs- und/oder Steuerdaten
gespeichert sind, das ferner aus einer Anschlussanordnung
zum Anschluss des Injektionsregisters an die Bit-Speicherstellen des Hauptdatenverarbeitungsblocks und das schließlich aus einer
Identifizierungsanordnung besteht, die auf den Hauptdatenverarbeitungsblock anspricht, um eine vorgebbare Stufe
'««ι,*, mr OCQ ™c 003828/157©
Docket UK 968 006
in der Ausführung eines Mikroprogramms zu identifizieren, wobei
sie bei Erreichen der Stufe ein Durchschaltsignal an die Anschlussanordnung
überträgt, die den Inhalt des Injektionsregisters in die Bit-Speicherstellen transferiert und so Sonderfunktionen
(z.B. Diagnose) im System einleitet, die nicht vom eigentlichen Mikroprogramm gesteuert werden.
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weiterbildungen
des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Der durch die Erfindung erzielbare Vorteil besteht also im wesentlichen
darin, daß besondere Daten an bestimmten vorgebbaren Stellen während der Ausführung eines Mikroprogramms in die Datenverarbeitungsanlage
injiziert werden können, so daß mit diesen Daten besondere Fehlersituationen, Steuersituationen oder Überwachungssituationen simuliert werden können, die für die ständige überprüfung
eines Systems auf fehlerfreien Betrieb von Vorteil sind.
Im folgenden wird die Erfindung anhand eines durch Zeichnungen erläuterten
Ausführungsbeispieles näher beschrieben. Es zeigen:
Fig. 1 Das Blockschaltbild eines Datenverarbeitungssysteins
gemäß der Erfindung,
Fig. 2 das Blockschaltbild eines Datenverarbeitungssystems nach Fig. 1, bei dem ein besonderes
System zur Erzwingung bestimmter Daten in bestimmten Teilen der Anlage verwendet wird,
Fig. 3 das Blockschaltbild eines Datenverarbeitungssystems nach Fig. 1, in dem ein anderes Datenerzwingungssystem
verwendet wird und
0 098 28/1570
Docket UK 968 006 · ■ ' , >
,
■ - 4 -
Fig. 4 das Blockschaltbild einer Alternativlösung des Datenverarbeitungssystems gemäß der Erfindung.
-
In den Figuren sind die verschiedenen Kanäle der Einfachheit halber als Einzellinien dargestellt, so daß bei der Beschreibung
auch davon ausgegangen werden kann, daß Daten parallel über diese Leitungen übertragen werden können.
Im allgemeinen besitzen mikroprogrammierte Datenverarbeitungssysteme der in den Fign. 1 - 4 dargestellten Art einen Hauptdatenverarbeitungsblock,
der aus einem Hauptspeicher MS besteht, in dem Daten und ein aus Instruktionen aufgebautes Programm gespeichert
sind und der eine zentrale Verarbeitungseinheit CPU enthält. Zwischen dem Hauptspeicher MS und der zentralen Verarbeitungseinheit
CPU v/erden Daten und Instruktionen ausgetauscht und die Daten in der von den Instruktionen definierten Weise in
der zentralen Verarbeitungseinheit verarbeitet. Unter einem mikroprogrammierten System ist hierbei ein solches zu verstehen, bei
dem eine einzelne Programminstruktion nicht alle einzelnen Operationen spezifiziert, die notwendig sind, um die Aufgabe der Instruktion
durchzuführen. Vielmehr enthält die einzelne Programminstruktion
die Startadresse eines Unterprogramms von Mikro-Instruktionen, das als Mikroprogramm bezeichnet wird. Die Mikroinstruktionen
selbst definieren auf individuelle Weise die Grundoperationen, die von dem System durchgeführt werden müssen, um
die Aufgabe der Programmin^struktion durchzuführen, die normalerweise
als Makroinstruktion bezeichnet wird. Mikroprogramme können im Hauptspeicher gespeichert werden; bei der im folgenden beschriebenen
Anordnung jedoch sind sie in einem eigenen Speicher in der Zentraleinheit CPU gespeichert. .
Docket UK 968 006 0 0 9 8 28/1570
Der Hauptdatenverarbeitungsblock besitzt eine Reihe von Bit-Speicherstellen,
beispielsweise in der Form von Verriegelungsschaltungen oder Registern, die überwachungs- oder Steuerinformation für das
System bereitstellen; das ist beispielsweise Fehler- oder Zustandinformation, die beispielsweise durch das Auftreten.eines Paritätsfehlers oder die Verfügbarkeit einer peripheren Einrichtung für
die Bedienung gegeben ist. Das System ist hierbei so ausgelegt, daß eine bestimmte Systemantwort initiiert werden kann, wenn bestimmte
Werte in diese Bit-Speicherstellen gelangen. So kann beispielsweise das System Schaltkreise enthalten, die für Instruktionswiederholungsversuche
dienen, die auf Fehleranzeigen ansprechen, die während der Ausführung eines Mikroprogramms auftreten, so daß
das System einen neuen Versuch zur Ausführung des Mikroprogramms startet.
Andererseits kann ein Mikroprogramm die Abfrage von Bit-Speicherstellen des Hauptdatenverarbeiturigsblocks an irgendeiner Stelle
während seiner Ausführung vornehmen, um beispielsweise eine Verzweigungsentscheidung
zu treffen. Die vorliegende Erfindung basiert auf einem Konzept, bei dem es für Diagnose- oder Prüfzwecke
wünschenswert ist, Daten in diese Bit-Speicherstellen bei einer
vorgegebenen Stufe während der Ausführung eines Mikroprogramms zu
injizieren, d.h. einzugeben, um bestimmte Systemzustände zu simulieren oder um bestimmte Systemantworten einzuleiten, die sich
von den durch das normale Mikroprogramm eingeleiteten unterscheiden. Diese Möglichkeit gestattet die Prüfung beispielsweise
der Operationen einer Instruktionswiederholungseinrichtung an einer beliebigen Stufe in der Ausführung eines Mikroprogramms, in
dem ein Fehler simuliert wird. Es sei in diesem Susammenhang daran
erinnert, daß derartige Prüfungen nicht mit Makroinstruktionen des Mikroprogramms selbst durchgeführt werden können. Die Fehleranzeige
kann dadurch erzeugt werden, daß direkt eine Bit-Speicherstelle, die eine" Fehlerprüf-Verriegelungsschaltung darstellt,
eingestellt wird. Andererseits kann diese Fehleranzeige auch durch ■
die Injektion beispielsweise eines Paritätsfehlers in gültige Daten
009828/1570
in den Bit-Speicherstellen des Hauptdatenverarbeitungsblockes erzeugt werden, wodurch die Prüfverriegelungsschaltung automatisch
von einer Fehlererkennungsschaltung eingestellt wird. Diese Möglichkeiten können auch dazu dienen, eine bestimmte Verzweigung
des zu prüfenden Mikroprogramms durchzuführen, indem in den Bit-Speicherstellen des Hauptdatenverarbeitungsblocks Zustände simuliert
werden, die das System dazu veranlassen, diese Verzweigung durchzuführen.
Die mikroprogrammierten Datenverarbeitungssysteme, die in den
Fign. 1-4 dargestellt sind enthalten jeweils ein Datenerzwingungssystem,
um diese vorstehend erwähnten Dateninjektionen vorzunehmen.
In der britischen Patentschrift 1 038 710 ist ein mikroprogrammiertes
Datenverarbeitungssystem beschrieben, in dem mit Hilfe einer
Diagnose-Programminstruktion eine Mikroprogrammroutine durchgeführt werden kann, die aus einem beliebigen Abschnitt eines gespeicherten
Mikroprogramms besteht. Die Mikroinstruktion bei der
die Routine beendet ist, kann dabei gekennzeichnet werden. Wenn
beim Durchlauf der Routine dese Mikroinstruktion erreicht wird,
dann wird eine Instruktions-Abrufroutine eingeleitet. In dem im folgenden erläuterten bevorzugten Ausführungsbeispiel der Erfindung, wird ebenfalls eine Diagnose-Instruktion verwendet. Es
gibt hierbei jedoch zwei grundlegende Unterschiede, die darin bestehen, daß erstens die Instruktion die Injektion simulierter
Daten in das System bewirkt, das sind künstliche Prüf- oder
Diagnosedaten, die Daten entsprechen, die auch anderweitig im System auftreten können und daß zweitens die Instruktion für sich
nicht die Beendigung des Mikroprogramms an irgendeiner Zwischen-Mikroinstruktion
bestimmt. Der Einbau dieser-'Einrichtungen erfordert
Schaltungsänderungen in dem bestehenden System insofern, als mindestens das Injektionsregister und die zugehörigen Verbindungen
zusätzlich vorgesehen werden müssen. Eine weitere bedeutende Änderung wird offenbar aus einem bevorzugten Merkmal
der Erfindung, nämlich daß mindestens eine der Bit-Speicherstellen
; 009828/1570
Docket UK 968 006
des Hauptdatenverarbeitungsblockes ausschließlich Zugang zu dem Datenerzwingungssystem für die Eingabe von simulierten überwachungs-
oder Steuerdaten in das System erhält. So war es beispielsweise aus Sicherheitsgründen üblich, einige der Bit-Speicherstellen
des Hauptdatenverarbeitungsblockes, z.B. die Fehlerprüf-Verriegelungsschaltung,
für die Eingabe von Daten in diese Stelle durch die Programmsteuerung unzugänglich zu machen, d.h.,
daß es nicht mit Hilfe der Programmierung möglich war, vorgegebene Daten absich&ich in diese Bit-Speicherstellen einzugeben. Durch
die vorliegende Erfindung wird diese Beschränkung aufgehoben, da diese Bit-Speicherstellen, wie bereits erläutert wurde, sowohl
mit dem Datenerzwingungssystem, als auch mit den vorhandenen Dateneingangsschaltungen (die jedoch keine simulierten Daten eingeben
können) verbunden werden können.
Wie Fig 1 zeigt, besteht das Datenverarbeitungssystem gemäß der vorliegenden Erfindung aus einer zentralen Verarbeitungseinheit
11 und einem Hauptspeicher 12, die zum Austausch der Information über die Leitungen 13 und 14 miteinander verbunden sind. Einige
der Bit-Speicherstellen der CPU, beispielsweise Register oder
Verriegelungsschaltungen, sind als Bit-Speicherstellen BSP 15 bezeichnet. Eine Stufen-Informationsquelle 21 ist als gestrichelter
Abschnitt in einer Ecke der zentralen Verarbeitungseinheit dargestellt. Die gestrichelten Leitungen deuten an, daß die
Stufen-Informationsquelle 21 nur wahlweise einen Teil der CPU bildet. Diese Quelle liefert eine Information darüber, von welcher
die in der Ausführung eines Mikroprogramms erreichte Stufe bestimmt
wird.
Das Datenerzwingungssystem besteht aus einem Injektionsregister ER 16, einer Anschlußschaltung CM 17 und einer Identifizierungsschaltung IDM 22. Vor dem Start des Mikroprogramms werden die
Daten, die Uberwachungs- oder Steuerdaten für das System simulieren
und die in die Bit-Speicherstellen 15 zwangsweise eingeführt werden sollen, beispielsweise von einem nichtfiargestellten
Register im Hauptspeicher 12 aus in das Injektionsregister geDocke t UK 968 006 009828/1570
.-■-■■■■■.■■■ - 8 - ■ .. . . ' :
laden. Die gestrichelte Linie 2O stellt eher den effektiven
Fluß dieser Daten dar, als die tatsächliche Verbindung, die normalerweise über die CPU führt, wenn die Daten aus dem Hauptspeicher
kommen» Eine Alternative hierzu besteht darin, daß die Daten über eine Tastatur in das Injektionsregister geladen werden*
Die Bit-Speicherstellen des Injektionsregisters sind mit den Bit-Speicher
stellen 15 über die Leitungen 18 und 19 und die Änschlußschaltung 17 verbunden. Die Anschlußschaltung· 17 verhindert den
Datenfluß vom Injektionsregister 16 zu den Bit-Speicherstellen 15 solange, bis sie durch einen Impuls auf der Leitung 24 von der
Identifizierungsschaltung 22 für die Freigabe des Datenflusses aufgeschaltet wird. Die Anschlußschaltung besteht beispielsweise
aus mehreren UND-Toren. Die Information, die eine bestimmte Stufe
in der Ausführung eines Mikroprogramms spezifiziert, wird von einem allgemeinen Register im Hauptspeicher (oder sonstwo) zu der
Identifizierungsschaltung 22 vor dem Start des Mikroprogramms über
die Leitung 20 übertragen. Während der Ausführung des Mikroprogramms empfängt die Identifizierungsschätung 22 über die Leitung
Information, welche die Stufe kennzeichnet. Wenn sie die bestimmte
Stufe, die durch die vorher geladene Information spezifiziert ist, kennzeichnet, liefert sie ein Öffnungssignal auf der Leitung 24 zu
der Anschlußschaltung 17, so daß diese nun Daten vom Injektionsregister 16 in die Bit-Speicherstellen 15 überträgt.
Fig. 2 zeigt das Datenverarbeitungssystem der Fig. 1, in dem eine
spezielle Methode der Stufen-^Identifizierung verwendet wird.
Diese Methode macht Gebrauch von der Tatsache, daß die meisten Datenverarbeitungssysteme
in Phasensynchronismus mit den Ausgangssignalen eines Taktgebers 31 in der CPU arbeiten· Jeder Mikrooperation
eines Mikroprogramms ist eine festgelegte Anzahl von Taktimpulsen zuerkannt, um ihre Funktion vollständig auszuführen.
Daher kann die in der Ausführung eines Mikroprogramms erreichte
Stufe dadurch festgestellt werden, daß die Anzahl der Taktimpulse vom Beginn des Mikroprogramms an gezählt werden. In dem System
der Fig. 2 wird eine Zahl, die der Zahl der Stufen entspricht, bei
denen Daten Injektionen zu erfolgen haben, über die Leitung 20 vor
Docket mc 968 006 0 0 9 8 2 8/1570
der Ausführung des Mikroprogrammstarts in den Zähler 32 geladen. Nachdem das Mikroprogramm gestartet ist, dienen die Taktimpulse
des Taktgebers 31 dazu, um den Zähler 32 herunterzuzählen, der
den Wert 0 dann zu einer Zeit erreicht, die der vorgegebenen Stufe entspricht. Ein Detektor 33 zur Erkennung der Zählstellung
erzeugt unmittelbar daraufhin einen Öffnungsimpuls und liefert ihn an die Verbindungsschaltung 17, so daß eine Dateninjektion vom
Register 16 in die Bit-Speicherstellen 15 der CPU erfolgt.
In dem vorgeschlagenen System sind verschiedene Variationen dieses
Verfahrens möglich. Bei einer Variation wird der Null-Detektor durch einen anderen Detektor ersetzt, mit dem die Leitung 20
anstelle des Zählers 32 verbunden ist. Dieser Zähler wird von der Zählerstellung 0 heraufgezählt, so daß der Detektor einen Öffnungsimpuls an die Änschlußschaltung 17 liefert, wenn die Zählstellung
im Zähler 32 einer Zahl entspricht, die vorher über die Leitung in den Detektor geladen wurde.
Auch wenn das Datenverarbeitungssystem asynchron arbeitet, d.h. daß die MikroOperationen variable Zeitabschnitte in Anspruch
nehmen, kann das Verfahren nach Fig. 2 verwendet werden, solang jedenfalls, als irgendeine Ausgangssignalquelle vorhanden ist, die
anzeigt, daß aufeinanderfolgende Mikrooperationen vollständig ausgeführt sind, und die dazu verwendet werden kann, um den Inhalt
des Zählers 32 zu verändern.
Fig. 3 zeigt nun das Datenverarbeitungssystem nach Fig. 1, in dem
wieder ein anderes Verfahren zur Stufenidentifizierung verwendet
wird. In Datenverarbeitungssystemen der in den Fign. 1 und 4 dargestellten
Art, werden Mikroprogramme häufig in einem Festwertspeicher ROS gespeichert, der in Fig. 3 unter der Bezeichnung 46
dargestellt ist. Der Festwertspeicher 46 wird über ein Mikroprogrammadressenregister
MAR 41 adressiert. In diesem Register ist die Adresse derjenigen MikroInstruktion gespeichert, die von der
CPU für die Ausführung einer bestimmten Funktion benötigt wird.
Docket UK 968 006 009828/1570
BAD
- ίο -
Wenn eine solche Mikroinstruktion dann ausgeführt wird, wird gleichzeitig auch die Adresse im Mikroprogrammadressenregister
von der CPU auf den neuesten Stand gebracht. Daher ist; die in
der Ausführung eines Mikroprogramms erreichte Stufe durch die Adresse im Mikroprogrammadressenregister 41 genau definiert.
In dem System der Fig. 3 wird die Adresse derjenigen Mikroinstruktion,
bei der Daten in die Bit-Speicherstellen 15 erzwungen werden sollen, über die Leitung 20 in ein Adressenvergleichsregister
ACP 44 geladen. Während der Ausführung des Mikroprogramms wird dann die Adresse im Mikroprogrammadressenregister, das die
in der Ausführung des Mikroprogramms erreichte Stufe kennzeichnet,
über die Leitung 45 zu einem Register CAR 42 für die laufende
Adresse übertragen, das dann, sowie sich die Adresse ändert, auf den neuesten Stand gebracht wird. Ein Adressenvergleicher
ACM 43 vergleicht die Adressen in den beiden Registern 42 und
auf Gleichheit ihres Inhaltes und Öffnet für diesen Fall die Anschlußschaltung
17.
In den bisher beschriebenen Ausführungsbeispielen wurde der Gesamtinhalt
des Injektionsregisters in die Bit-Speicherstellen eingegeben. Es ist aber auch möglich, vorher einstellbare iiaskierungsschaltungen
vorzusehen, um auf effektive Weise ausgewählte Bit-Speicherstellen des Injektionsregisters während der
Injektion von Daten aus diesem Register in die Bit-Speicherstellen
des Hauptdatenverarbeitungsblocks zu maskieren, d.h. um ganz allgemein Techniken der assoziativen Speicherung einzusetzen«,
Bei einer anderen Variante der Erfindung werden mehrere Injektionsregister verwendet, um die Injektionen von Daten bei mehr als
einer Stufe während der Ausführung eines Mikroprogramms zu ermöglichen.
Jedes dieser Injektionsregister ist hierbei durch eine
eigene Verbindungsschaltung mit den Bit-Speicherstellen 15 verbunden. Jede Bit-Speicherstelle 15 ist in diesem Fall operativ
Docket ÜK 968 006
0 0 9 8 2 87 1 5 7 0 BAD ORIGINAL
allen entsprechenden Bit-Speicherstellen in allen Injektionsregistern
zugeordnet. Die Identifizierungsschaltung ist dabei so modifiziert, daß sie, anstelle von einer, nun mehrere bestimmte
Stufen identifizieren kann. So sind beispielsweise bei einer Abwandlung des Systems nach Fig. 4 mehrere Werterkennungsschaltungen
an den Zähler angeschlossen, wobei jede Werterkennungsschaltung an eine der Verbindungsschaltungen angeschlossen ist. Der Inhalt
jedes einzelnen Injektionsregister wird dann in den Bit-Speicherstellen 15 erzwungen, wenn die zugeordnete Werterkennungsschaltung
anzeigt, daß die ihr zugeordnete Stufe im Mikroprogramm erreicht "
wurde.
Fig. 4 zeigt ein Datenverarbeitungssystem nach der Erfindung, in dem ein spezielles Ausführungsbeispiel der Erfindung verwendet
wird. Das Datenverarbeitungssystem enthält eine Instruktionswiederholungseinrichtung
RLU 51. Eine solche Einrichtung gestattet dem zugeordneten Datenverarbeitungssystem die Wiederholung der Ausführung
einer Makro- oder Programminstruktion zu versuchen, wenn während der Instruktionsausführung ein Fehler auftritt. Hierzu
speichert sie die Inhalte ausgewählter Register und die Zustände von Verriegelungsschaltungen in der CPU zusammen mit einer bestimmten
Menge von Hauptspeicherdaten. Die Information von der CPU i wird über die Leitung 52 und die Information aus dem Hauptspeicher
über die Leitung 53 übertragen. Jede Prograxnrainstruktion hat zwei
Phasen, die zwei unterschiedlichen Abschnitten des zugehörigen Mikroprogramms entsprechen. Der Exekutionsphase (Ε-Phase) folgt
die Abrufphase für die nächste Instruktion (I-Phase). Während der Ε-Phase kann sich die von der CPU und dem Hauptspeicher verwendete
Information entsprechend der Programmsteuerung verändern?
aber während der I-Phase sollte sie konstant bleiben. Die Instruktionswiederholungseinrichtung
speichert diese Information während einer I-Phase und betrachtet sie als gültige Information. Sie
wird dann während der Ε-Phase der nächsten Makroinstruktion eingefroren, d.h. festgehalten. Wenn während der Ε-Phase dieser Instruktion
ein Fehler auftritt, kann das System auf seinen Zustand
0098 28/1570
Docket UK 968 006 . BADGRICfNAL
Docket UK 968 006 . BADGRICfNAL
zurückgespeichert werden, den es vor dem Start der Instruktion einnahm. Es kann versucht werden,die Instruktion zu wiederholen,
in^dem die in der Instruktionswiederholungseinheit eingefrorenen
Daten wieder verwendet werden. Einen Fehler bemerkt die Instruktionswiederholungseinheit
dadurch, daß sie von einem Anzeigeregister IR 54, das aus einem Teil der Bit- Speicherstellen 15 besteht,
über die Leitung 55 ein Änzeigesignal erhält.
Durch die Verwendung eines Datenerzwingungssystems, wie es zuvor _ beschrieben wurde, wird die Instruktionswiederholungseinrichtung
™ geprüft, indem eine Fehleranzeigeinformation in dem Register 54
an einem geeigneten Punkt während der Ausführung eines Mikroprogramms,
das einer Makroinstruktion zugeordnet ist, erzwungen wird. Das Register 54 ist ausschließlich von dem Datenerzwingungssystem
ansteuerbar, um simulierte Fehlerdaten einzugeben. In
allen zuvor erörterten Systemen, findet in der Praxis die Injektion
der simulierten Daten als das Ergebnis der Ausführung einer
Spezialzweck-Programminstruktion statt, die als Diagnose-Instruktion bezeichnet wird. Diese Instruktion geht unmittelbar der Programminstruktion
voraus , während der das Erzwingen von Daten in einigen oder allen Bit-Speicherstellen 15 in der CPU gewünscht
wird. Die Diagnose-Instruktion besitzt einen Operationscode, der
fe in eindeutiger Weise die Operation kennzeichnet, die ausgeführt
werden soll, das ist die Dateninjektion, ferner eine Adresseninformation für den Startpunkt eines zugeordneten Mikroprogramms,
das die eigentliche Steuerung der Operation vornimmt und schließlich eine Hauptspeicheradresse. Die Hauptspeicheradresse ist die
Adresse eines Registers, das Daten enthält, die injiziert werden
sollen und beispielsweise im System nach Fig. 2 die Zahlenangabe,
die in den Zähler eingegeben werden soll. Dieses Hauptspeicherregister
wird mit geeigneten Daten gemäß konventioneller Programmiertechniken über die üblichen Eingabemedien gefüllt. Die Ausführung
des Diagnose-Instruktionsmikroprogramms bewirkt das Laden djfes Injektionsregisters und des Zählers. Das Erzwingen der gewünschten
Daten findet dann, wie es zuvor ausführlich beschrieben
Docket UK 968 006 00 9828/157 0
wurde, an vorgegebenen Stufen in der Ausführung des Mikroprogramms
statt, welch letzteres selbst von der Programminstruktion aufgerufen wird, die unmittelbar der Diagnose-Instruktion im
Hauptspeicher folgt.
Obwohl bei den vorstehend beschriebenen Ausführungsformen keine
speziellen Schaltungen für das Injektionsregister, die Verbindungsschaltungen und die Bit-Speicherstellen des Hauptdatenverarbeitungsblocks
angegeben wurden, sind sie dennoch bekannt und besitzen
konventionelle Strukturen. Beispielsweise kann in einer bestimmten Anordnung das Injektionsregister aus einer Anzahl bistabiler
Flip-Flops bestehen, deren "1"-Ausgänge zu entsprechenden UND-Toren
führen, die ihrerseits die Verbindungsschaltungen darstellen,
Die UND-Tore werden hierbei durch einen Impuls der Identifizierungsschaltung geöffnet. Die Bit-Speicherstellen des Hauptdatenverarbeitungsblocks
bestehen ferner aus bistabilen Flip-Flops, die Einstell- und Rückstelleingänge besitzen, wobei die Einstelleingänge
jeweils mit den entsprechenden Ausgängen der UND-Tore verbunden sind. Die Rückstelleingänge sind über einen Inverter
mit den entsprechenden Ausgängen der UND-Tore gekoppelt. Wenn es bei einer bestimmten Ausführung gewünscht wird, nur Einsen zu
injizieren, dann kann auf die Kopplung der Rücksteileingänge mit den Invertern verzichtet werden. Langsamere Einrichtungen können
beispielsweise auch konventionelle Schieberegisterschaltungen verwenden.
009828/1670 Docket UK 968 006
Claims (8)
- PATENTANSPRÜCHE(1,- Mikroprogrammgesteuertes Datenverarbeitungssystem mit einem Hauptdatenverarbeitungsblock, der Bit-Speicherstellen besitzt, die überwachungs- und Steuerdaten für dasfeystem liefern, dadurch gekennzeichnet, daß ein selektiv arbeitendes Datenerzwingungssystem vorgesehen ist, das aus einem Injektionsregister (ER; Fign. 1 bis 4), in dem simulierte Überwachungs- und/oder Steuerdaten gespeichert sind, das ferner aus einerAnschluSanordnung (CM) zum Anschluß des Injektionsregisters an die Bit-Speicherstellen (BSP) des Hauptdatenverarbeitungsblockes (MS, CPU) und das schließlich aus einer Identifizierungsanordnung (IDM) besteht, die auf den Hauptdatenverarbeitungsblock anspricht, um eine vorgebbare Stufe in der Ausführung eines Mikroprogrammes zu identifizieren, wobei sie bei Erreichen der Stufe ein Durchschaltesignal an die Anschlußanordnung überträgt, die den Inhalt des Tnjektionsregisters in die Bit-Speicheretellen transferiert und so Sonderfunktionen (z.B. Diagnose) im System einleitet, die nicht vom eigentlichen Mikroprogramm gesteuert werden.
- 2. Mikroprogrammgesteuertes Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Identifizierungsanordnung (IDM; Fign. I, 4) mehr als eine vorgebbare Stufe des Mikroprogramms Identifiziert.
- 3. Mikroprogrammgesteuertes Datenverarbeitungssystem nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß das Datenerzwingungssystem (ER, CM, IDM; Fign. 1 bis 4) ausschließlich/zü mindestens einer Bit-'Speichersteile der Anordnung (BSD) für die Injektion von simulierten Fehler- und/oder überwachungs- und/oder Steüerdaten hat.Ö09828/157ÖDdcket UK 968 006
- 4. Mikroprogrammgesteuertes Datenverarbeitungssystem nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Hauptdatenverarbeitungsblock (MS, CPU; Fig. 2) einen Taktgeber (31) besitzt, der zu vorgebbaren Zeitintervallen während der Ausführung eines Mikroprogramms Zählsignale erzeugt und daß ferner die Identifizierungsanordnung einen Zähler (32) besitzt, dessen Inhalt beim Empfang eines Zählsignales um einen bestimmten Betrag geändert wird, daß ferner eine Zählerprüf schaltung (33) vorgesehen ist, die den Inhalt des Zählers mit einem vorgebbaren Stufenwert vergleicht und ein Durchschaltesignal bei Vorliegen des Stufenwertes erzeugt, das die Änschlußanordnung (CM) durchschaltet.
- 5. Mikroprogrammgesteuertes Datenverarbeitungssystem nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß die Identifizierungsanordnung aus einem Register (CAR; Fig. 3) zur Speicherung der Adresse der laufenden Mikroinstruktion, ferner aus einem Register (ACP) zur Speicherung der Adresse(n) der vorgegebenen Stufe(n) und aus einer zwischen beiden Registern angeordneten Vergleichsschaltung (ACM) besteht, die bei Gleichheit der in den genannten Registern gespeicherten Adressen ein Durchschaltesignal zu der Anschlußanordnung (CM) überträgt.
- 6. Mikroprogrammgesteuertes Datenverarbeitungssystem nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur selektiven Adressierung der Bit-Speicherstellen (BSP; Fig. 1) zwischen dem Injektionsregister (ER) und den Bit-Speicherstellen eine Maskierungsschaltung vorgesehen ist.
- 7. Mikroprogrammgesteuertes Datenverarbeitungssystem nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Datenerzwingungssystem aus mehrerenDocket UK 968 006 00 9 8 28/1570195874?InjektionsregiSiteri* (ERf Fig. I), mehreren ordÄungen (GM) und· mehreren Identifizierungsanordnungen fees tent.
- 8. Mikroprogrammgesteuertes Datenverarbeitungssystem nach; einem oder mehreren der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der Hauptdatenverarbeitungsblock (MS> CPU; Fig. 4) mit einer Operationswiederholungsanordnung (RLU) verbunden ist, die auf einen vorgebbaren Zustand eines Änzeigeregisters (IR) anspricht, das aus mindestens W. einem Teil der Bit-Speicherstellen (15 und; 54) des Hauptdatenverarbeitungsblockes besteht und in das simulierte Daten von der Datenerzwingungsanordnung eingegeben werden.Docket UK 9 6 & 000 Ü-0:9 8 2 & / ΐ & l! O^
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB6055668A GB1202489A (en) | 1968-12-20 | 1968-12-20 | Microprogrammed data processing system |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1958747A1 true DE1958747A1 (de) | 1970-07-09 |
DE1958747B2 DE1958747B2 (de) | 1980-03-27 |
DE1958747C3 DE1958747C3 (de) | 1980-11-27 |
Family
ID=10485740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19691958747 Expired DE1958747C3 (de) | 1968-12-20 | 1969-11-22 | Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5029775B1 (de) |
CH (1) | CH502646A (de) |
DE (1) | DE1958747C3 (de) |
FR (1) | FR2026618B1 (de) |
GB (1) | GB1202489A (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS52104370A (en) * | 1976-02-27 | 1977-09-01 | Sharp Corp | Programmed dehydrating and washing machie |
JPS52105669A (en) * | 1976-03-01 | 1977-09-05 | Hitachi Ltd | Program cycle of one tank type dewatering washer |
US4759019A (en) * | 1986-07-10 | 1988-07-19 | International Business Machines Corporation | Programmable fault injection tool |
-
1968
- 1968-12-20 GB GB6055668A patent/GB1202489A/en not_active Expired
-
1969
- 1969-11-03 FR FR6938590A patent/FR2026618B1/fr not_active Expired
- 1969-11-22 DE DE19691958747 patent/DE1958747C3/de not_active Expired
- 1969-12-04 JP JP44096883A patent/JPS5029775B1/ja active Pending
- 1969-12-19 CH CH1889669A patent/CH502646A/de not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
FR2026618B1 (de) | 1973-03-16 |
JPS5029775B1 (de) | 1975-09-26 |
CH502646A (de) | 1971-01-31 |
GB1202489A (en) | 1970-08-19 |
DE1958747C3 (de) | 1980-11-27 |
FR2026618A1 (de) | 1970-09-18 |
DE1958747B2 (de) | 1980-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0010194B1 (de) | Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb | |
DE2614000C2 (de) | Diagnoseeinrichtung zur Prüfung von Funktionseinheiten | |
DE19833208C1 (de) | Integrierte Schaltung mit einer Selbsttesteinrichtung zur Durchführung eines Selbsttests der integrierten Schaltung | |
DE2747384C2 (de) | Datenverarbeitungseinheit mit Einrichtung zur Prüfung des Verarbeitungsabschnitts | |
DE3750948T2 (de) | Datenverarbeitungssystem mit watch-dog Schaltung. | |
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
DE1900042A1 (de) | Verfahren und Anordnung zur Ortung von Fehlern in einer Datenverarbeitungsanlage | |
DE2721319A1 (de) | Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration | |
DE3015992A1 (de) | Programmierbare logische anordnung | |
DE2915401A1 (de) | Digitalrechnervorrichtung und verfahren zum pruefen ihrer funktion | |
DE2461592C3 (de) | Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem | |
DE2418650C2 (de) | Einrichtung zur Prüfung und Überwachung von Stromversorgungseinrichtungen | |
DE2246863A1 (de) | Verfahren und anordnung zur protokollierung des programmablaufs in datenverarbeitungsanlagen | |
DE2723706A1 (de) | Einrichtung zum adressenvergleich | |
DE3704318A1 (de) | Verfahren und anordnung zur ueberwachung der funktion eines mikroprozessors | |
DE3639395A1 (de) | Verfahren und vorrichtung zum uebertragen von daten in einem datenverarbeitungssystem mit einer vielzahl von prozessoren | |
DE1958747C3 (de) | Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung | |
DE2106731A1 (de) | Diagnoseeinrichtung fur elektronische Datenverarbeitungsanlagen | |
DD145972A5 (de) | Einrichtung zur feststellung der l enge beliebiger schieberegister | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
DE3885935T2 (de) | Digitaler In-Circuit-Prüfer mit Kanalspeicherlöschschutz. | |
EP0013885B1 (de) | Verfahren zur Vermeidung von unerwünschten Paritätsfehlersignalen bei der Paritätprüfung eines Registerfeldes und Paritätsprüfeinrichtung zur Durchführung des Verfahrens | |
DE3437510A1 (de) | Eingabedaten-lesegeraet fuer ein schalterfeld | |
DE2954533C2 (de) | ||
DE69517630T2 (de) | Anordnung zur Optimierung der Leistung eines Prozessors |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |