DE1958747A1 - Mikroprogrammgesteuertes Datenverarbeitungssystem - Google Patents

Mikroprogrammgesteuertes Datenverarbeitungssystem

Info

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
Application number
DE19691958747
Other languages
English (en)
Other versions
DE1958747C3 (de
DE1958747B2 (de
Inventor
Syme David Mcculloch
Attwood Dennis Paton
Tuffil Harold William
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)
  • 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

IBM Deutschland Internationale Büro-Maschinen Gesellschaft mbH
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
Mikroprogrammgesteuertes Datenverarbeitungssystem
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 OCQc 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
BAI> ORIGINAL "
.-■-■■■■■.■■■ - 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
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)

  1. 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. 2. Mikroprogrammgesteuertes Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Identifizierungsanordnung (IDM; Fign. I, 4) mehr als eine vorgebbare Stufe des Mikroprogramms Identifiziert.
  3. 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. 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. 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. 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. 7. Mikroprogrammgesteuertes Datenverarbeitungssystem nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß das Datenerzwingungssystem aus mehreren
    Docket UK 968 006 00 9 8 28/1570
    195874?
    InjektionsregiSiteri* (ERf Fig. I), mehreren ordÄungen (GM) und· mehreren Identifizierungsanordnungen fees tent.
  8. 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 Haupt
    datenverarbeitungsblockes besteht und in das simulierte Daten von der Datenerzwingungsanordnung eingegeben werden.
    Docket UK 9 6 & 000 Ü-0:9 8 2 & / ΐ & l! O^
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 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)

* 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
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