DE1958747B2 - Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung - Google Patents
Einrichtung zur mikroprogrammgesteuerten FehlerprüfungInfo
- Publication number
- DE1958747B2 DE1958747B2 DE19691958747 DE1958747A DE1958747B2 DE 1958747 B2 DE1958747 B2 DE 1958747B2 DE 19691958747 DE19691958747 DE 19691958747 DE 1958747 A DE1958747 A DE 1958747A DE 1958747 B2 DE1958747 B2 DE 1958747B2
- Authority
- DE
- Germany
- Prior art keywords
- data
- microinstruction
- arrangement
- microprogram
- register
- 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)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (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
Die Erfindung betrifft eine Einrichtung zur mikroprogrammgesteuerten
Fehlerprüfung gemäß Oberbegriff des Hauptanspruchs.
Eines der wichtigsten Probleme bei dem Betrieb von elektronischen Datenverarbeitungssystemen besteht
darin, die Maschine ständig daraufhin zu überprüfen, ob die Funktionen fehlerfrei ablaufen. Zu diesem Zweck
sind die heute gebräuchlichen Systeme mit Fehlerprüfschaltungen ausgerüstet, die an verschiedenen Stellen
des Systems die gespeicherten, übertragenen und errechneten Da>en und Instruktionen auf Fehlerfreiheit
überprüfen.
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 unmittelbar darauf ausgeführte gleiche Instruktion richtige Resultate liefert.
Diese Fehler, oft auch als intermittierende Fehler bezeichnet, können mit Hilfe der bekannten Instruktionswiederholungstechnik eliminiert werden. Bei dieser Technik werden fehlerhaft ausgeführte Instruktionen mehrmals wiederholt, wobei die Wiederholungsversuche in ihrer Anzahl vorgebbav bind. 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.
Diese Fehler, oft auch als intermittierende Fehler bezeichnet, können mit Hilfe der bekannten Instruktionswiederholungstechnik eliminiert werden. Bei dieser Technik werden fehlerhaft ausgeführte Instruktionen mehrmals wiederholt, wobei die Wiederholungsversuche in ihrer Anzahl vorgebbav bind. 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 Instruktionswiederhcluifsroutine nur durch
einen tatsächlich im System aufgetretenen Fehler ausgelöst werden kann. Es ist also bei den bekannien
Einrichtungen nicht möglich, diese Technik für eine ständige Fehlerprüfung zu verwenden.
Da es auch möglich ist, daß Fehlerprüfschaltungen selbst fälschlicherweise Fehlermeldungen erzeugen, ist
in der US-PS 34 05 258 eine Einrichtung beschrieben,
mit deren Hilfe Fehlerprüfschaltungen geprüft werden können. Dieses geschieht mit Hilfe von Mikroprogrammen,
die in einem Festwertspeicher gespeichert sind. Sollen solche Prüfungen durchgeführt werden, dann ist
es möglich, mit Hilfe von Konsolschaltern die Adressen der gewünschten Fehlerprüf-Mikroprogramme aus dem
Festwertspeicher abzurufen.
Einrichtungen dieser Art erlauben jedoch nicht eine detaillierte Prüfung von Datenverarbeitungsanlagen
einschließlich ihrer Fehlerprüfschaltungen. Sie erreichen insbesondere nicht die Tiefe der Schaltkreisstruktur,
die für eine direkte Reparaturaktion erforderlich wäre.
Auch die in der DE-AS 12 24 542 beschriebene Prüfschaltung betrifft nur die Prüfung von Fehlerprüfschaltungen
selbst, bei der absichtlich Fehler hervorge-
rufen werden, um das sichere Ansprechen der Fehlerprüfschaltungen festzustellen. Eine Fehlermeldung
aus anderen Bereichen der Anlage wird von diesen Prüfschaltungen nicht erfaßt Auch hier wird nicht
diejenige niedere Ebene der Schaltkreisstruktur erreicht, in der der Fehler tatsächlich liegt.
Eine Fehlerdiagnose, bei der der Mikroprogrammteil der Programmsteuerung einer Datenverarbeitungsanlage
von den Registern und dem Speicher abgetrennt werden und diese Register und Speicher getrennt mit
Signaifolgen gespeist werden, die aus einer anderen Quelle stammen und so gestaltet sind, daß die Register
und Speicher sie normalerweise betreiben können, ist in der GB-PS 11 31 085 beschrieben.
Durch diese vollständige Abtrennung des Mikroprogrammteils ist eben dieser Mikroprogrammteil selbst
nicht mehr prüfbar, so daß auch hier eine umfassende Prüfung einer elektronischen Datenverarbeitungsanlage
nicht möglich ist.
Bei programmgesteuerten elektronischen Rechenmaschinen, die eine große Zahl verschiedener arithmetischer
und logischer Operationen auszuführen vermögen, treten insbesondere bei der Übertragung von
Daten oder Befehlen zwischen den einzelnen Teilen der Maschine Fehler auf. In der DE-AS 10 85 360 wird
erläutert, wie dann, wenn Fehler auftreten, diese beseitigt werden, indem während eines bestimmten,
wählbaren Zeitintervalls die Übertragung mehrfach wiederholt wird und die Maschine erst dann anhält,
wenn der Fehler nach Ablauf dieses Intervalls noch vorhanden ist. Da dieses Vorgehen bei intermittierenden
Fehlern, die Wirkung solcher Fehler beseitigt, bei permanenten Fehlern aber nicht zum trfolg führen
kann, ergibt sich hier ein entscheidender Nachteil, der noch dadurch verstärkt wird, daß auch eine Fehlerioka-
!isation durch wiederholte Übertragung nicht vorgenommen werden kann, ohne daß besondere Maßnahmen
ergriffen werden.
Es hat sich somit gezeigt, daß der bekannte Stand der
Technik keine Lösungen dafür bereithält, die komplexe Struktur einer elektronischen Datenverarbeitungsanlage
bis ins Detail hinein zu prüfen. Dieses ist ein Nachteil, vor allem dann, wenn es darum geht, unmittelbare
Reparaturaktionen durchzuführen.
Es ist daher die Aufgabe der Frfindung, eine Lösung
vorzusehen, elektronische Datenverarbeitungsanlagen bis in die Tiefe der Schaltkreisstruktur prüfen zu
können.
Weitere Merkmale, vorteilhafte Ausgestaltungen und Weilerbildungen des Gegenstands der Erfindung sind
den Unteransprüchen zu entnehmen.
Durch die Erfindung wird insbesondere der Vorteil erzielt, daß spezielle Prüfdaten zu einem ganz
bestimmten Zeitpunkt im Zyklus eines Programmablaufs, d. h. bei einer Mikroinstruktion und selbrt da
noch zu einer ganz bestimmten Taktzeit einer Mikroinstruktion, in die zu prüfenden Anlagenteile
übertragen werden können, so daß dip Diagnose bis in
die Tiefe der Schaltkreisstruktur ausgedehnt werden kann, in der sich einzelne Schaltkreise befinden.
Im folgenden wird ein Ausführungsbeispiel der Erfindung an Hand der Zeichnungen näher beschrieben.
Es zeigt
Fig. I das Blockschaltbild eines beispielsweisen Datenverarbeitunsssystems,
F i g. 2 das Blockschaltbild eines Datenverarbeitungssystems nach Fig. 1, bei dem ein besonderes System zur
Erzwingung bestimmter Daten in bestimmten Teilen der Anlage verwendet wird,
F i g. 3 das Blockschaltbild eines Datenverarbeitungssystems nach Fig. 1, in dem ein anderes Datenerzwingungssystem
verwendet wird und
F i g. 4 das Blockschaltbild einer Alternativlösung des Datenverarbeitungssystems.
In den Figuren sind die verschiedenen Kanäle der Einfachheit halber i'.s 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 F i g. 1 bis 4 dargestellten Art einen Hauptdatenverarbeitungsblock, der aus
einem Hauptspeicher (MS) 12 besteht, in dem Daten und ein aus Instruktionen aufgebautes Programm gespeichert
sind und der eine zentrale Verarbeitungseinheit (CPU) 11 enthält. Zwischen dem Hauptspeicher 12 und
der zentralen Verarbeitungseinheit 11 werden Daten und Instruktionen ausgetauscht v-id 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 Programminstp_ktion 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 Mikroinstruktionen, uas 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 Programminstruktion 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
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 eine Fehler- oder Zustandinformation, die 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
Instruktionswiedernolungsversuche dienen, die auf ! ehleranzeigen ansprechen, die während der Ausfüh·
rur.g eines Mikroprogramms auftreten, so daß das
System einen neuen Versuch zur Ausführung des Mikroprogramm j startet.
Andererseits kann ein Mikroprogramm die Abfrage von Bit-Speicherstellen des Hauptdatenverarbeitungsblocks
an irgendeiner Stelle während seiner Ausführung vornehmen, um beispielsweise eine Verzweigungsentseheidung
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 Zusammenhang daran erinnert, daß derartige Prüfungen nicht mit Mikroinstruktionen des Mikroprogramms selbst durchgeführt werden können. Die
Fehleranzeige kann dadurch erzeugt werden, daß direkt eine Bit-Speicherstelle, die eine Fehlerprüf-Verriegetungsschaltung darstellt, eingestellt wird. Andererseits
kann diese Fehleranzeige auch durch die Injektion beispielsweise eines Paritätsfehlers in gültige Daten in
den Bit-Speicherstellen des Hauptdatenverarbeitungsblockcs erzeugt werden, wodurch die Prüfverricgelungsschaltung
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-Speichersteiien des Haupiuaieiiverarbeitungsblocks
Zustände simuliert werden, die das System dazu veranlassen, diese Verzweigung durchzuführen.
Die mikroprogrammierten Datenverarbeitungssystenie.
die in den F i g. 1 bis 4 dargestellt sind, enthalten jeweils ein Datenerzwingungssystem, um diese vorstehend
erwähnten Dateninjektionen vorzunehmen.
In der britischen Patentschrift 10 38 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 werfen. Wenn beim Durchlauf der
Routine diese Mikroinstruktion erreicht wird, dann wird eine Instruktions-Abrufroutine eingeleitet. In dem im
folgenden erläuterten bevorzugten Ausführungsbcispiel der Erfindung wird ebenfalls eine Diagnose-Instruktion
verwendet. Es gibt hierbei jedoch zwei grundlegende Unterschiede, die darin bestehen, daß erstens die
Instruktion 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 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 absichtlich in diese Bit-Speicherstellen einzugeben. Durch die vorliegende
Erfindung wird diese Beschränkung aufgehoben, da diese Bit-Speichersteiien, 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. I zeigt, besteht das Datenverarbeitungssy
stern gemäß der vorliegenden Erfindung aus eine zentralen Verarbeitungseinheit 11 und einem Haupt
speicher 12, die zum Austausch der Information über die Leitungen 13 und 14 miteinander verbunden sind. Einige
der Bit-Speicherstellen der CPU, beispielsweise Regi ster oder Verriegelungsschaltungen, sind als Bit
Speicherstellen BSP 15 bezeichnet. Eine Mikrobefehls schritt-lnforniationsquellc 21 ist als gesirichrl-.-r Vh
schnitt in einer Ecke der zentralen Vcrarbeitunescinlu'i
11 dargestellt. Die gestrichelten Leitungen deuten ;in.
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 einen
iiijekiionsrcgisici (E-R) J6. ciiKi AfiSCmüijSchaltunf
(CM) 17 und einer Mikrobefehlsschritt-Identifizieriings
schaltung (IDM) 22. Vor dem Start des Mikropro gramms werden die Daten, die Überwachungs- ode
Steuerdaten für das System simulieren und die in die Bit-Speicherstellen 15 zwangsweise eingeführt wmlei
sollen, beispielsweise von einem nicht dargestellter Register im Hauptspeicher 12 aus in das Injcktionsregi
ster (ER) 16 geladen. Die gestrichelte Linie 20 stellt ehei den effektiven Fluß dieser Daten dar als die tatsächliche
Verbindung, die normalerweise über die CPl! führt wenn die Daten aus dem Hauptspeicher kommen. Eine
Alternative hierzu besteht clarir. daß die Daten über eine Tastatur in das Injektionsregister geladen werden
Die Bit-Speicherstellen des Injektionsregisters sind mi den Bit-Speicherstellen 15 über die Leitungen 18 up:! 1
und die Anschlußschaltung 17 verbunden. Die Anschluß schaltung 17 verhindert den Datenfluß vom Injektions
register 16 zu den Bit-Speicherstellen 15 solange, bis sie
durch einen Impuls auf der Leitung 24 von der MikrobefehUschritt-ldentifizierungsschaltung 22 für dl
Freigabe des Datenfeldes anfgeschaltet wird. Die
Anschiußschaltung besteht beispielsweise aus mehreren UND-Toren. Die Information, die einen bestimmter
Schritt in der Ausführung eines Mikroprogramm' spezifiziert, wird von einem allgemeinen Register im
Hauptspeicher (oder sonstwo) zu der Mikrobefehls schritt-Identifizierungsschaltung 22 vor dem Start des
Mikroprogramms über die Leitung 20 übertragen Während der Ausführung des Mikroprogramms emp
fängt die Mikrooefehlsschritt-Identifizierungsschaltung
22 über die Leitung 23 Information, welche den Schrit kennzeichnet. Wenn sie den bestimmten Sehr: .. dei
durch die vorher geladene Information spezifiziert ist kennzeichnet, liefert sie ein Öffnungssignal auf dei
Leitung 24 zu der Anschlußschaltung 17, so daß diese nun Daten vom Injektionsregister 16 in die Bit
Speicherstellen 15 überträgt.
F i g. 2 zeigt das Datenverarbeitungssystem dei F i g. 1, in dem eine spezielle Methode der Schritt-Iden
tifizierur.g verwendet wird. Diese Methode mach
Gebrauch von der Tatsache, daß die meisten Datenver arbeitungssysteme in Phasensynchronismus mit der
Ausgangssignalen eines Taktgabers 31 in der CPL arbeiten. Jeder Mikrooperation eines Mikroprogramm«
ist eine festgelegte Anzahl von Taktimpulsen zuerkannt
um ihre Funktion vollständig auszuführen. Daher kanr
der in der Ausführung eines Mikroprogramms erreicht«
Schritt dadurch festgestellt werden, daß die Anzahl de
Taktimpulse vom Beginn des Mikroprogramms ai
gezählt werden. In dem System der Fig.2 wird eine
Zahl, die der Zahl der Schritte entspricht, bei denen Dateninjektionen zu erfolgen haben, über die Leitung 20
vor der Ausführung des Mikroprogrammstarts in den Zähler 32 geladen. Nachdem das Mikroprogramm
gestartet ist, dienen die Taktimpulse des Taktgebers 31 dazu, ;*h den Zähler 32 herunterzuzählen, der den Wert
0 dann zu einer Zeit erreicht, die dem vorgegebenen Schritt entspricht Ein Detektor 33 zur Erkennung der
Zählstellung 0 erzeugt unmittelbar darr.üfhin 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 is
Variation wird der Null-Detektor durch einen anderen Detektor ersetzt, mit dem die Leitung 20 an Stelle des
Zählers .12 verbunden ist. Dieser Zähler wird von der Zählerstellung 0 heraufgezählt, so daß der Detektor
einen Öffnungsimpuls an die Anschlußschaltung 17 liefert, wenn die Zählstellung im Zähler 32 einer Zahl
entspricht, die vorher über die Leitung 20 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 F i g. 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.
F i g. 3 zeigt nun das Datenverarbeitungssystem nach
Fig. 1, in dem wieder ein anderes Verfahren zur Schrittidentifizierung verwendet wird. In Datenverarbeitungssystemen der in den F i g. 1 und 4 dargestellten
Art werden Mikroprogramme häufig in einem Festwertspeicher ROS gepeichert, der in F i g. 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.
Wenn eine solche Mikroinstruktion dann ausgeführt wird, wird gleichzeitig auch die Adresse im Mikroprogrammadressenregister 41 von der CPU auf den
neuesten Stand gebracht. Daher ist der in der Ausführung eines Mikroprogramms erreichte Schritt
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 fibertragen, 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 44 auf
Gleichheit ihres !nhaltes 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 15 eingegeben. Es ist aber auch
möglich, vorher einstellbare Maskierungsschaltungen 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 einem Schritt 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 allen entsprechenden Bit-Speicherstellen in allen Injektionsregistern zugeordnet. Die
Mikrnhefehlssnhnritt-Identifi7ieningssrhaltnng ist rlahpi
so modifiziert, daß sie, anstelle von einer, nun mehrere bestimmte Schritte 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ß der ihr zugeordnete Schritt im Mikroprogramm erreicht wurde.
F i g. 4 zeigt ein Datenverarbeitungssystem 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 wird über die Leitung 52 und die Information aus dem
Hauptspeicher über die Leitung 53 übertragen. Jede Programminstruktion hat zwei Phasen, die zwei
unterschiedlichen Abschnitten des zugehörigen Mikrogrogramms entsprechen. Der Exekutionsphase (E-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 zurückgespeichert werden, den es vor
dem Start der Instruktion einnahm. Es kann versucht werden, die Instruktion zu wiederholen, indem 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
Anzeigesignal 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 in eindeutiger Weise die Operation kennzeichnet,
die ausgeführt werden soll, das ist die Dateninjektion, ferner eine Adresseninformation für den Startpunkt
• J * um Jj* ■ L·^'
ehe 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 des Injektionsregisters und des Zählers. Das Erzwingen der gewünschten
Daten findet dann, wie es zuvor ausführlich beschrieben 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
»!«-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
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 bestimm
ten Ausführung gewünscht wird, nur Einsen zu
injizieren, dann kann auf die Kopplung der Rückstelleingänge mit den Invertern verzichtet werden. Langsamere Einrichtungen können beispielsweise auch konventionelle Schieberegisterschaltungen verwenden.
Claims (8)
1. Einrichtung zur mikroprogrammgesteuerten
Fehlerprüfung von elektronischen Datenverarbeitungsanlagen, einschließlich der Fehlerprüfschaltungen,
bei der im Prüfbetrieb vorgebbare Prüfdaten mittels Anschlußanordnungen den zu prüfenden
Anlagenteilen zuführbar sind, dadurch gekennzeichnet, daß eine Mikrobefehlsschritt-Identifizierungsanordnung
(22) vorgesehen ist, die bei Erreichen eines durch eine Anzahl von Mikrobefehlsschritten von der Ausführung eines
Bezugsmikrobefehls an gerechnet oder durch eine Mikrobefehlsadresse vorgebbaren Mikrobefehlsschrittes beim Durchlaufen eines Mikroprogramms
die abgespeicherten Prüfdaten über die Anschlußanordnung (17) zuführt.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet,
daß die Mikrobefehlsschritt-Identifizierungsanordnung (22) mehr als einen vorgebbaren
Mikrobefehlsschritt identifiziert
3. Einrichtung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß eine Datenerzwingungsanordnung
(16,17,22; F i g. 1 bis 4) ausschließlich Zugriff zu mindestens einer Bit-Speicherstelle
der Anordnung (BSP) für die Injektion von Prüfdaten, simulierten Fehler- und/oder Überwachungs-
und/oder Steuerdaten hat.
4. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der
Hauptdatenverartzitungs'lock (11,12; F i g. 2) einen
Taktgeber (31) besif.t, der zu vorgebbaren Zeitintervallen
während der Äusfi;·' rung eines Mikroprogramms
Zählsignale erzeugt und daß ferner die Mikrobefehlsschritt-Identifizierungsanordnung (22)
einen Zähler (32) besitzt, dessen Inhalt beim Empfang eines Zählsignals um einen bestimmten
Betrag geändert wird, daß ferner eine Zählerprüfschallung (33) vorgesehen ist, die den Inhalt des
Zählers mit einem vorgebbaren Mikrobefehlsschritt vergleicht und ein Durchschaltesignal bei Vorliegen
des gewünschten Mikrobefehlsschritts erzeugt, das die Anschlußordnung (17) durchschaltet.
5. Einrichtung nach einem oder mehreren der Ansprüche I bis 3, dadurch gekennzeichnet, daß die
Mikrobefehlsschritt-Identifizierungsanordnung (22) aus einem Register (12; F i g. 3) zur Speicherung der
Adresse der laufenden Mikroinstruktion, ferner aus einem Register (44) zur Speicherung der Adresse(n)
des vorgegebenen Mikrobefehlsschrittes und aus einer zwischen beiden Registern angeordneten
Vergleichsschaltung (43) besteht, die bei Gleichheit der in den genannten Registern gespeicherten
Adressen ein Durchschaltesignal zu der Anschlußanordnung (17) überträgt.
6. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß zur
selektiven Adressierung der Bit-Speicherstellen (BSP; Fig, I)zwischen einem Injektionsregister(16)
und den Bit-Speicherstellen eine Maskierungsschaltung vorgesehen ist.
7. Einrichtung nach einem oder mehreren der Ansprüche I bis 6, dadurch gekennzeichnet, daß die
Datenerzwingungsanordnung (16,17,22) aus mehreren Injektionsregistern (16; Fig. 1), mehreren
Anschlußanordnungen (17) und mehreren Mikrobefehlsschritt-ldcntifizierutigsanordnungen
(22) be
steht
8. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß der
Hauptdatenverarbeitungsblock (11, 12; Fig.4) mit einer Operationswiederholungsanordnung (51) verbunden
ist, die auf einen vorgebbaren Zustand eines Anzeigeregisters (IR) anspricht, das aus mindestens
einem Teil der Bit-Speicherstellen (15 »jnd 54) des
Hauptdatenverarbeitungsblockes besteht und in das
ίο simulierte (Prüf-)Daten von der Datenerzwingungsanordnung
(16, 17,22) eingegeben werden.
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 DE1958747A1 (de) | 1970-07-09 |
DE1958747B2 true 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 |
---|---|
GB1202489A (en) | 1970-08-19 |
DE1958747A1 (de) | 1970-07-09 |
DE1958747C3 (de) | 1980-11-27 |
JPS5029775B1 (de) | 1975-09-26 |
FR2026618A1 (de) | 1970-09-18 |
FR2026618B1 (de) | 1973-03-16 |
CH502646A (de) | 1971-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2735397C2 (de) | Überwachungseinrichtung für eine programmgesteuerte Maschine | |
DE3206891C2 (de) | ||
EP0010194B1 (de) | Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb | |
DE1900042A1 (de) | Verfahren und Anordnung zur Ortung von Fehlern in einer Datenverarbeitungsanlage | |
DE3702408C2 (de) | ||
DE2418650C2 (de) | Einrichtung zur Prüfung und Überwachung von Stromversorgungseinrichtungen | |
DE2442847A1 (de) | Test- und diagnoseanordnung fuer eine datenverarbeitungseinheit | |
DE2461592C3 (de) | Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem | |
DE2425757A1 (de) | Testsystem fuer eine datenverarbeitungseinheit | |
EP0048991B1 (de) | Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE2715029B2 (de) | Schaltungsanordnung zur Diagnose oder Prüfung von funktioneilen Hardware-Fehlern in einer digitalen EDV-Anlage | |
DE2246863C3 (de) | Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage | |
DE2835498C2 (de) | Anordnung zur dynamischen Fehlerermittlung in Datenverarbeitungsanlagen | |
DE1191144B (de) | Einrichtung zum Nachweis von Fehlern und zum Feststellen des Fehlerortes | |
DE1958747C3 (de) | Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung | |
EP1025501B1 (de) | Verfahren und vorrichtung zur überprüfung einer fehlerüberwachung einer schaltung | |
DE3138989A1 (de) | Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb | |
DE3413330C2 (de) | ||
DE2756033A1 (de) | Verfahren und einrichtung zur diagnose von stoerungen von rechenmaschinen | |
DE2715983C2 (de) | Schaltungsanordnung in einem Digitalrechner zur Überwachung und Prüfung des ordnungsgemäßen Betriebs des Digitalrechners | |
DE2248451C3 (de) | Prüfverfahren und Schaltungsanordnung in Datenverarbeitungsanlagen | |
DE102020104595B3 (de) | Integrierter Schaltkreis mit Selbsttestschaltung, Verfahren zum Betreiben eines integrierten Schaltkreises mit Selbsttestschaltung, Mehrkernprozessoreinrichtung und Verfahren zum Betreiben einer Mehrkernprozessoreinrichtung | |
DE2737133C2 (de) | Schaltungsanordnung zum Verhindern von Doppelfehlern in einer Datenverarbeitungsanlage | |
DE2505475C3 (de) | Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen | |
DE2412179A1 (de) | Testsystem fuer eine datenverarbeitungseinheit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
8339 | Ceased/non-payment of the annual fee |