DE1958747B2 - Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung - Google Patents

Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung

Info

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
Application number
DE19691958747
Other languages
English (en)
Other versions
DE1958747A1 (de
DE1958747C3 (de
Inventor
Dennis Paton Attwood
David Mc Culloch Syme
Harold William Tuffill
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1958747A1 publication Critical patent/DE1958747A1/de
Publication of DE1958747B2 publication Critical patent/DE1958747B2/de
Application granted granted Critical
Publication of DE1958747C3 publication Critical patent/DE1958747C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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/2215Detection 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
    • 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/22Microcontrol 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.
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
Facner SuS biSiubÜSn pjtn.l?jrtrtc rilA Pinct*»JI- HfI^
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.
Hierzu 3 Blatt Zeichnungen

Claims (8)

Patentansprüche;
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.
DE19691958747 1968-12-20 1969-11-22 Einrichtung zur mikroprogrammgesteuerten Fehlerprüfung Expired DE1958747C3 (de)

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)

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

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