DE2953432C1 - Vorrichtung zum Testen eines Mikroprogramms - Google Patents

Vorrichtung zum Testen eines Mikroprogramms

Info

Publication number
DE2953432C1
DE2953432C1 DE2953432A DE2953432A DE2953432C1 DE 2953432 C1 DE2953432 C1 DE 2953432C1 DE 2953432 A DE2953432 A DE 2953432A DE 2953432 A DE2953432 A DE 2953432A DE 2953432 C1 DE2953432 C1 DE 2953432C1
Authority
DE
Germany
Prior art keywords
memory
data
microprogram
control circuit
address
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.)
Expired
Application number
DE2953432A
Other languages
English (en)
Other versions
DE2953432A1 (de
Inventor
Hajime Wako Saitama Kurii
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.)
Toshiba Corp
Original Assignee
Tokyo Shibaura Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Shibaura Electric Co Ltd filed Critical Tokyo Shibaura Electric Co Ltd
Application granted granted Critical
Publication of DE2953432C1 publication Critical patent/DE2953432C1/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

Die Erfindung bezieht sich auf eine Vorrichtung zum Testen eines Mikroprogramms gemäß Oberbegriff des Anspruchs 1 bzw. des Anspruchs 9.
Bei einem mikroprogrammgesteuerten Rechner ist es im allgemeinen nicht notwendig, den Inhalt des
programm enthaltende Nur-Lese-Speicher (82) aus 35 Mikroprogrammspeichers zu regenerieren. Wenn ein
einem ersten Abschnitt (83) zum Speichern von Mikrobefehlen und einem zweiten Abschnitt (84) zum Speichern von Daten für die Erfassung eines Fehlers gebildet wird und eine Mikroadressen-
neu entwickeltes Mikroprogramm getestet werden soll, wird üblicherweise das Mikroprogramm direkt in einen Nur-Lese-Speicher eingeschrieben und dieser Speicher in einen Mikroprogrammspeicherabsehnitt (MROM)H Steuereinheit (21) eine Adresse an den Mikropro- 40 eingesetzt (vgl. Fig. 1). Ein Mikroadiessen-Steucrabgrammspeicher (82) liefert, ein Mikrobefehlsregister scnnitt (MAC) , j gibt an den Mikroprogrammspeicherabschnitt (MROM) 12 eine Adresse, aus der ein Mikrobefehl auszulesen ist. Der ausgelesene Mikrobefehl wird in einem Mikrobefehlsregister (MIR) 13 Fehlerinden Mikrobefehlen erfaßt, gekennzeichnet 45 festgehalten.
durch: Nachteilig bei dem oben geschilderten Vorgang ist
jedoch, daß jedesmal dann ein Mikroprogramm in einen neuen Speicher eingeschrieben werden muß, wenn der Inhalt eines zuvor erstellten Mikroprogramms ausge-
zweiten Abschnitt (27) für wenigstens die Daten für 50 bessert werden soll. Dies nimmt beträchtliche Zeit in
Anspruch, und der Nur-Lese-Speicher, in welchem das alte Programm gespeichert ist, wird unbrauchbar und kann fortgeworfen werden. Hierdurch erhöhen sich die Kosten beim Testen von Mikroprogrammen. Es wurden 55 daher Versuche unternommen, um beispielsweise einen programmierbaren Nur-Lese-Speicher (PROM) einzusetzen, welcher ein erneutes Einschreiben von Daten ermöglicht. Jedoch hat auch diese Lösung insofern Nachteile, als zum Schreiben von Daten in einen solchen gespeicherten Mikrobefehlen nach Maßgabe der 60 Speicher relativ viel Zeit benötigt wird und die Fehlererfassungsdaten erfaßt; Zugriffszeit zum Speicher so groß ist, daß Taktimpulse,
die bei Kombination eines Rechners mit einer Testvorrichtung (im folgenden als System bezeichnet) verwendet werden, eine niedrige Frequenz haben
(25) einen nach Maßgabe der von der Mikroadressen-Steuereinheit (21) gelieferten Adresse ausgelesenen Mikrobefehl hält, und ein Fehlerdetektor (85)
einen Schreib/Lese-Speicher (23). der aus einem ersten Abschnitt (26) für Mikrobefehle zum Steuern des Betriebs des elektronischen Rechners und einem
die Erfassung eines Fehlers in den Mikrobefehlen oder Daten zum Steuern des Anhaltens der Ausführung der Mikrobefehle gebildet wird und der von der Mikroadressen-Steuereinheit (21) adressierbar ist;
einen Fehlerdetektor (28), der, wenn Daten für die Erfassung eines Fehlers in dem zweiten Abschnitt des Speichers (23) gespeichert sind, einen Fehler in den in dem ersten Abschnitt des Speichers (23)
eine Ablaufüberwachungs-Steuerschaltung (29), die, wenn Daten für die Steuerung des Anhaltens der Ausführung von Mikrobefehlen in dem zweiten
Abschnitt des Speichers (23) gespeichert sind, die 65 müssen. Dies hat den Nachteil, daß der Speicher nicht im
Ausführung von in dem ersten Abschnitt des Echtzeitbetrieb getestet werden kann.
Speichers (23) gespeicherten Mikrobefehlen aus- Um die oben aufgezeigten Probleme zu lösen, wurden
setzt; und
Versuche unternommen, einen Nur-Lese-Speicher
(ROM) durch einen Speicher mit wahlfreiem Zugriff zu ersetzen, der eine relativ kurze Zugriffszeit aufweist und sowohl Lesen als auch Schreiben ermöglicht. Die Anwendung eines derartigen Speichers macht es in der Tat möglich, den Inhalt eines Mikroprogramms beliebig neu zu schreiben. Ferner kann bei Verwendung eines solchen Speichers der Mikroprogrammtest echtzeitgemäß durchgeführt werden. Der RAM jedoch läßt es zu, daß sein Inhalt beispielsweise durch Rauschen oder Schwankungen der Stromversorgung zerstört wird. ]0 Wenn daher ein in einem solchen Speicher gespeichertes Mikroprogramm getestet wird und eine vorgeschriebene Steuerung versagt, treten Schwierigkeiten auf beim Beurteilen, ob das Versagen auf Fehler des Mikroprogramms selbst zurückzuführen ist oder auf die )5 Zerstörung des Inhalts des Speichers. Vorschläge, die zur Lösung der oben angesprochenen Probleme gemacht wurden, beinhalten ein; datenverarbeitende Vorrichtung, wie sie beispielswe· -e in der japanischen Patentschrift 142 939 (1976) niedergelegt ist. Diese Vorrichtung umfaßt einen Steuerspeicher, in dem Mikrobefehle gespeichert sind, und ein Steuerspeicher-Adreßregister, welches Adreßdaten hält, um einen Zugriff auf den Steuerspeicher zu haben. Bei dieser Vorrichtung werden aus einer Adreßspeichereinrichtung sukzessive mehreren Steuercodedaten paarweise zugeordnete Adreßdaten ausgelesen. Es erfolgt ein Vergleich zwischen den Adreßdaten und den Inhalten des Steuerspeicher-Adreßregisters in einem Vergleichen Wenn von dem Vergleicher ein Übereinstimmungssignal erzeugt wird, wird auf die Adreßspeichereinrichtung zugegriffen, um die Steuerdaten auszulesen. Mittels der so ausgelesenen Steuerdaten wird eine Betriebsart gesteuert.
Jedoch ermangelt es der in der oben erwähnten japanischen Patentschrift 1 42 939(1976) beschriebenen Vorrichtung, bei der Adreßdaten sukzessive aus der Adreßspeichereinrichtung ausgelesen werden, an einer Funktion zum Anhalten der Ausführung eines Mikroprogramms an einer wahlfrei festgelegten Adresse, um den Inhalt eines allgemeinen Registers und des Hauptspeichers auszulesen.
Weiterhin erläutert die japanische Patentschrift 52-2146 (1977) eine Testvorrichtung für einen kleinen Prozessor. Sie enthält einen als Zwischenspeicher dienenden Speicher, in dem ein zu testendes Mikroprogramm gespeichert wird, eine an eine Eingabe/Ausgabe-Einheit für die Testvorrichtung angeschlossene Schnittstellenschaltung, eine Konsole und eine Konsolenschaltung, die einen von der Konsole abgegebenen Befehl decodiert und einen Befehl an den erwähnten Speicher für die Zwischenspeicherung und die Eingabe/ Ausgabe-Einheit der Testvorrichtung liefert. Diese Testvorrichtung ist jedoch nicht in der Lage, die Ausführung eines Mikrobefehls echtzeitgemäß anzuhalten.
In der Druckschrift »Siemens, Elektronisches Wählsystem EWS, Zentralsteuerwerk mit SSP 102 und Bedienungsplatz«, Bestell-Nr. A 30 808-X105-AlOO-1-18, Dezember 1978, Seiten 11 bis 15, ist eine Anordnung beschrieben, bei der Mikrobefehle, die jeweils ein Paritätsbit enthalten, behandelt werden. Zum Testen eines Mikroprogramms vor dessen endgültigem Einsatz in einem elektronischen Rechner eignet sich diese Anordnung jedoch nicht.
In der DE-AS 22 46 863 ist ein Befehls-Anhalteverfahren für Programme beschrieben. Hierbei wird eine bestimmte Adresse mit den Adressen der laufend verarbeiteten Befehle verglichen. Bei Übereinstimmung wird der Programmlauf angehalten. Diese an sich bekannte Methode zum Erzielen von »Momentaufnahmen« erfordert jedoch relativ viel Aufwand, da die einzelnen Adressen in ihrer Gesamtheit festgelegt werden müssen, um für den erwähnten Vergleich zur Verfügung zu stehen.
Die DE-AS 20 02 166 offenbart eine Methode des Wiederholens des Schleifendurchlaufs eines Mikrobefehls zu Testzwecken. Hierzu wird z. B. jedesmal dann, wenn ein Ergebnis vorliegt, die Ausführung eines Mikroprogramms angehalten. Zum Testen von Mikroprogrammen ist dies aber nicht besonders wirksam; denn es kann vorkommen, daß bestimmte Programmabschnitte bereits vollständig ausgetestet sind, so daß sich eine Überprüfung der von solchen Programmabschnitten gelieferten Ergebnissen erübrigt. Wünschenswert ist es, die Ausführung eines Mikroprogramms zu Testzwekken nur dort anzuhalten, wo es der testenden Bedienungsperson angebracht erscheint.
In der DE-OS 24 00 010 ist ein mikroprogrammierter Rechner mit Mikroprogramm-Fehlerdiagnoseeinrichtung beschrieben. Bei der Fehlerdiagnose wird davon ausgegangen, daß möglicherweise einzelne Stellen eines oder mehrerer Mikrobefehle gestört sind. Um solche Fehler festzustellen, erfolgt in an sich bekannter Weise eine Paritätsprüfung, und zwar nur unter gewissen Bedingungen, damit diese Prüfung den normalen Programmablauf nicht stört. Allerdings handelt es sich bei dieser Fehlerdiagnoseeinrichtung nicht um eine Einrichtung zum Testen eines Mikroprogramms für einen Rechner, bevor das Mikroprogramm endgültig zur Steuerung des Rechners verwendet wird, sondern die bekannte Einrichtung- geht von einem bereits getesteten Mikroprogramm aus und hat nur den Zweck, solche Fehler zu erkennen, die nach dem an sich endgültigen Feststehen des Mikroprogramms auftreten.
Von einer Vorrichtung zum Testen eines bei einem elektronischen, mikroprogrammierten Rechners verwendeten Mikroprogramms wird jedoch gefordert, daß das für die Steuerung des Rechners entworfene Mikroprogramm erst durch einige Testläufe überprüft wird, um festzustellen, ob das Programm sämtliche gewünschten Funktionen in der richtigen Weise ausführt. Bei dem oben geschilderten Stand der Technik steht jedoch das endgültige Mikroprogramm fest und es werden nur solche Fehler berücksichtigt, die beispielsweise durch Verfälschungen der in dem Mikroprogrammspeicher des Rechners gespeicherten Information entstehen.
Der Erfindung liegt die Aufgabe zugrunde, eine Vorrichtung der eingangs genannten Art anzugeben, mit der die oben geschilderten Nachteile vermieden werden, die sich an einen Rechner anschließen läßt, und die die Möglichkeit bietet, nach Belieben ein Mikroprogramm zu schreiben, zu testen und auszubessern, bevor das Mikroprogramm endgültig den Betrieb des Rechners steuert.
Diese Aufgabe wird durch die im Anspruch 1, im Anspruch 6 bzw. im Anspruch 9 angegebenen Merkmale gelöst.
Der erfindungsgemäß vorgesehene SchreibVLese-Speicher ist Bestandteil der Testvorrichtung, die zu Testzwecken an den Rechner angeschlossen werden kann und während der Dauer des Tests mit dem Rechner zusammenarbeitet. Ist der Test abgeschlossen, d. h. steht die endgültige Version des den Rechner steuernden Mikroprogramms fest, so kann die Testvor-
richtung gegebenenfalls wieder von dem Rechner entfernt werden. In dem ersten Abschnitt des Schreib-/ Lese-Speichers sind Mikrobefehle gespeichert, die den in dem Mikroprogrammspeicher des Rechners gespeicherten Befehlen entsprechen. In dem zweiten Abschnitt des Schreib-/Lese-Speichers lassen sich zusätzliche Befehle oder Informationen speichern, um beispielsweise den Ablauf eines zu testenden Mikroprogramms an einer bestimmten Stelle anzuhalten, eine Paritätsprüfung durchzuführen, und dergleichen. Die erfindungsgemäße Testvorrichtung ist praktisch unabhängig von der Hardware des Rechners ausgebildet, so daß der Rechner selbst durch die Testvorrichtung nicht belastet wird.
Ausführungsbeispiele der Erfindung werden nachfolgend anhand der Zeichnung beschrieben.
Fig. 1 ist ein Blockschaltungsdiagramm eines Beispiels eines zum Lesen eines Mikrobefehls dienenden Steuerabschnitts, der in dem bekannten mikroprogrammgesteuerten elektronischen Rechner enthalten ist;
F i g. 2 ist ein Blockschaltungsdiagramm einer Mikroprogramm-Testvorrichtung gemäß einem Ausführungsbeispiel dieser Erfindung und eines mikroprogrammgesteuerten elektronischen Rechners, der mit der Mikroprogramm-Testvorrichtung ausgestattet ist;
Fig. 3 ist ein Blockschaltungsdiagramm einer Mikroprogramm-Testvorrichtung gemäß einer weiteren Ausführungsform der Erfindung;
Fig.4 ist ein Blockschaltungsdiagramm einer Mikroprogramm-Testvorrichtung gemäß einem noch weiteren Ausführungsbeispiel der Erfindung;
F i g. 5 ist ein Blockschaltungsdiagramm einer Mikroprogramm-Testvorrichtung gemäß einem weiteren Ausführungsbeispiel der Erfindung;
Fig.6 ist ein den Datenfluß zeigendes Blockschaltungsdiagramm desjenigen Abschnitts der Erfindung, der eine Mikroprogrammadresse spezifiziert;
Fig. 7 ist ein Bloekschaltungsdiagramm einer Mikroprogramm-Testvorrichtung gemäß einem noch weiteren Ausl'ührungsbeispiel der Erfindung;
Fig.8 zeigt die detaillierte Anordnung einer Schaltung zum Steuern des Umschaltens der verschiedenen Funktionen der Mikroprogramm-Testvorrichtung der Erfindung;
Fig. 9 ist ein Bloekschaltungsdiagramm einer konkreten Mikroprogramm-Testvorrichtung gemäß dieser Erfindung;
Fig. 10 ist ein detailliertes Bloekschaltungsdiagramm einer Schreibsteuerschaltung;
Fig. 11 ist ein detailliertes Bloekschaltungsdiagramm einer Mikroprogrammadressen-Steuerschaltung;
Fig. 12 ist ein detailliertes Blockdiagramm einer Lesesteuerschaltung;
Fig. 13A bis 13F sind Impulsübersichten, die die Operationen eines Adreßbusses (A-BUS), eines ersten Stapel-Freigabesignals (STKEi), eines Ablaufüberwachungsspeichers (TRACEM), eines zweiten Stapel-Freigabesignals (STKE2), eines Ablaufüberwachungs-Adreßzählers (RNGC) bzw. eines Taktsignals darstellen: und
Fig. 14 ist ein Flußdiagramm eines Unterbrechungsbehandlungs-Mikroprogramms.
Gemäß Fig.2 ist ein Adreßbus 22 einer Mikroprogrammadressen-Steuereinheit 21 zum Steuern der Adresse eines Mikroprogramms an einen ersten Test-Mikroprogrammspeicher 23, der in einer Testvorrichtung vorgesehen ist, angeschlossen. Der Ausgangsanschluß des ersten Mikroprogrammspeichers 23 und der Ausgangsanschluß eines zweiten Mikroprogrammspeichers 24 eines Rechners sind an ein Mikrobefehlsregister 25 angeschlossen. Der erste Mikroprogrammspeieher 23 besitzt eine um ein Wort größere Wortlänge als der zweite Mikroprogrammspeicher 24, und er weist einen ersten Abschnitt 26 mit derselben Wortlänge wie der zweite Mikroprogrammspeicher 24 sowie einen zweiten Abschnitt 27 auf, der beim Steuern des to Rechners nicht beteiligt ist. Der Ausgangsanschluß des zweiten Abschnitts 27 ist an einen Fehlerdetektor 28 und an eine Ablaufüberwachungs-Steuerschaltung 29, die beide in der Testvorrichtung vorgesehen sind, angeschlossen. Das System wird von dem ersten und dem zweiten Mikroprogrammspeicher 23 und 24 sowie einer Funktionsumschalt-Steuerschaltung 30 gesteuert. In anderen Worten, die Funktionsumschalt-Steuerschaltung 30 ermöglicht, daß der in der Testvorrichtung vorgesehene erste Mikroprogrammspeicher 23 und der in dem Rechner enthaltene zweite Mikroprogrammspeicher 24 austauschbar zur Anwendung gelangen. Ein Mikroprogramm wird getestet, indem zuerst der Inhalt des Mikroprogramms in dem ersten Mikroprogrammspeicher 23 gespeichert wird. Wenn es notwendig ist, einen Fehler in dem Mikroprogramm zu korrigieren oder seine Anordnung auszubessern, werden die Inhalte derjenigen Adresse des ersten Mikroprogrammspeichers 23 geändert, die nach Ansicht der Bedienungsperson in Beziehung steht mit dem obengenannten Erfordernis.
In diesem Fall ist es selbstverständlich möglich, wiederholt Daten zu schreiben und zu lesen. Der erste Mikroprogrammspeicher 23 hat eine Zugriffszeit, die genauso kurz oder kürzer ist als diejenige des zweiten Mikroprogrammspeichers 24. Die Inhalte einer von der Mikroadressen-Steuereinheit 21 spezifizierten Adresse werden über einen O-Bus 31 zum Steuern des Rechners in das Mikrobefehlsregister 25 ausgelesen. In diesem Fall verhindert die Funktionsumschalt-Sleuerschaltung 30, daß eine Ausgangsgröße aus dem zweiten Mikroprogrammspeicher 24 ausgelesen wird, und sie ermöglicht, daß ein Ausgangssignal von dem ersten Mikroprogrammspeicher 23 abgegeben wird. Wenn der Test eines in dem ersten Mikroprogiammspeicher 23. gespeicherten Mikroprogramms zu einem Abschluß gebracht wird, wird das getestete Mikroprogramm mittels einer ausschließlich zum Schreiben vorgesehenen Vorrichtung in einen Nur-Lese-Speicher ausgelesen. Der genannte Nur-Lese-Speicher wird als der zweite Mikroprcgrammspeicher 24 in den Rechner geladen. Die Funktionsumschalt-Steuerschaltung 30 gestattet, daß nach Erhalt eines Freigabesignals (MROME) 32 aus dem zweiten Mikroprogrammspeicher 24 ein Ausgangssignal ausgelesen wird, und sie verhindert, daß nach Erhalt eines Freigabesignals (MRAME)33 aus dem ersten Mikroprogrammspeicher 23. ein Ausgangssignal ausgelesen wird. Danach wird ein endgültiger Test durchgeführt, indem das getestete Mikroprogramm in dem Rechner ausgeführt wird. Nach Abschluß des endgültigen Tests wird die Testvorrichtung von dem Rechner entfernt. Nun kann ein Ausgangssignal aus dem zweiten Mikroprogrammspeicher 24 ausgelesen werden.
Ein Wort des ersten Mikroprogrammspeichers 23. ist länger als das des zweiten Mikroprogrammspeichers 24. Der zweite Abschnitt 27 des ersten Mikroprogrammspeichers 23 ist ausgelegt zum Speichern von Daten bei jedem besonderen Datenwort eines zu testenden
Mikroprogramms (im folgenden als »Testdaten« bezeichnet). Die Testdaten, die erhalten werden, wenn ein Mikrobefehl ausgelesen wird, werden zu dem Fehlerdetektor 28 sowie der Ablaufüberwachungs-Steuerschaltung 29 geleitet. Diese Elemente 28 und 29 steuern die Weise, in der verschiedene Datenworte eines Mikroprogramms getestet werden. Die beiden Elemente 28 und 29 können abwechselnd zur Anwendung kommen oder zur selben Zeit gesperrt werden. Diese Betriebsart kann durch die Funktionsumsehalt-Steuerschaltung 30 gesteuert weiden. Die Ausgangssignale der Elemente 28 und 29 werden auf ein ODER-Glied 44 gegeben.
Es wird nun die Beschreibung eines konkreten Falls gegeben, bei dem der zweite Abschnitt 27 des ersten MikropiOgrammspeichers 23 eine Wortlänge von einem Bit hat. Beispielsweise kann ein Datenbit des zweiten Abschnitts 27 des ersten MikropiOgrammspeichers 23 das Stoppen der Ausführung eines Mikrobefehls steuern. In anderen W rten. es kann ein Anhaltepunkt eingerichtet werden. Wenn das genannte eine Bit auf einen logischen Pegel »0« gesetzt ist. wird ein Mikrobefehl, der unter derselben Adresse des ersten Abschnittes 26 des ersten Mikroprogrammspcichers 23 gespeichert ist wie derjenigen, zu der der zweite Abschnitt des Speichers 23 gehört, in das Mikrobefehlsregister 25 ausgelesen, um den Rechner /u steuern. Folglich wird die gewöhnliche Operation in Vorbereitung der Ausführung eines Mikrobefehls ausgeführt. Wenn das genannte Bit des zweiten Abschnitts 27 des ersten MikropiOgrammspeichers 23 auf einen logischen Pegel »I« gesetzt ist, wird die Ablaul'iiberwachungs-Sieueischaltung 29 betätigt, wenn der Mikrobefehl ausgelesen wird, um die Ausführung des Mikrobefehls anzuhalten, was die testende Person über den Halt informiert. In anderen Worten, wenn die Ablaufüberwachungs-Steuerschaltung 29 den logischen Pegel »I« des Bits erfaßt, wandelt sie den logischen Pegel eines Taktsteuersigiials (HAU) 34 in »0« um. Demzufolge wird der logische Pegel eines S\stemtaktsignals 36. das Vi)Ii einem Taktgeber 35 an die einsprechenden Teile ties Rechners geliefert wird, in »0« geändert, wodurch der Betrieb des Rechners angehalten wird. Zum Zeitpunkt des Anhaltens zeigt eine an die Testvorrichtung angeschlossene Anzeigecuiheit die Adresse an. bei der die Ausführung eines Mikroprogramms endet. 4-,
Das eine Bit des zweiten Abschnitts 27 des ersten Mikroprogrammspeichers 23 kann auch als Paritätsbit für einen Mikrobefehl verwendet werden. Wenn der RAM als Speicher zum Speichern eines Mikroprogramms zur Anwendung gelangt, werden die Inhalte des RAM manchmal /erstört, beispielsweise durch Rauschen oder Schwankungen der Versorgungsspannung. Daher besitzt der RAM eine geringere Zuverlässigkeit als der ROM. Daher wird einem Mikrobefehl zwecks Erkennung eines ein Bit umfassenden Fehlers ein Paritätsbit beigefügt. Der Fehlerdetektor 28 erfaßt das Auftreten eines Paritätsfehlers jedesmal, wenn ein Mikrobefehl während der Ausführung eines Mikroprogramms ausgelesen wird. Wenn kein Paritätsfehlcr auftritt, gestattet der Fehlerdetektor 28 die Ausführung <,o eines Mikrobefehls in der gegebenen Weise. Wenn hingegen ein Paritätsfehlcr auftritt, stoppt der Fehlerdetektor 28 die Ausführung eines Mikrobefehls. Zu dieser Zeit zeigt die an die Testvorrichtung angeschlossene später beschriebene Anzeigeeinheit eine Adresse an, bei b5 der ein Paritätsfehler aufgetreten ist. Die Ausführung eines Mikrobefehls wird in derselben Weise gestoppt, wie es bei dem zuvor beschriebenen .Anhaltepunkt der Fall war.
Es wird nun ein weiteres Verfahren beschrieben, durch das die Ausführung eines Mikrobefehls gestoppt wild. Wenn ein Rechner die Unterbrechung eines Mikroprogramms gestattet und die oben erwähnte Bedingung zum Anhalten eines zu testenden Mikroprogramms vorliegt, dann kann die Ausführung eines Mikroprogramms dadurch gestoppt werden, daß der Rechner zur Unterbrechung veranlaßt wird und danach die Daten des Datenwortes angezeigt werden, das zuvor durch die testende Person spezifiziert wurde. Die Daten des durch die testende Person spezifizierten Datenwortes werden durch ein Unterbrechungsbehandlungs-Mikroprogramm zur Anzeige gebracht, das in dem ersten Mikroprogrammspeicher 23 zusammen mit einem zu testenden Mikroprogramm gespeichert ist. Im folgenden wird unter Bezugnahme auf F i g. 3 und Fig. 14 ein System beschrieben, das die oben erläuterte Funktion aufweist, in F i g. 3 sind die gleichen Teile wie in F i g. 2 mit dem gleichen Bezugszeichen versehen, eine Beschreibung dieser Teile wird fortgelassen. Zuerst verlangt die Ablaufüberwachungs-Steuerschaltung 29. daß die Ausführung eines Mikrobefehls gestoppt wird. Als Folge wird an eine Unterbrechungseinheit 163 des Rechners ein Unterbrechungsanforderungssignal (IRP) 37 ausgegeben. Beim Anerkennen eines Grundes für eine angeforderte Unterbrechung übernimmt die zentrale VerarbciumgseinheitfCPL^SdesMikroadressen-Steuereinheit 21 und das Mikrobefehlsregister 25 enthaltenden Rechners die Inhalte eines Ausgaberegistcis (OREG)40 über einen Eingabe/Ausgabe-Bus (I/O-Bus)39 in dem Rechner sowie einen ähnlichen Eingabe/Ausgabe-Bus (I/O-Bus) 39 in der Mikroprogramm-Test vorrichtung. Daten weiden /u dem Ausgaberegistcr (ORFG)AO von einer Eingabe/Ausgabe-Bussteuerschaluing (K)CNT) 41 geliefert. Diese Eingabe/ Ausgabe-BussteuersehalUing (1OCNT)AX liefert an.das Ausgaberegister (OREG) 40 eine Anforderung. Daten auszulesen aus dem von der testenden Person spezifizierten allgemeinen Register eines Registersalzes (GR) 160 und diejenige Adresse eines Hauptspeichers (161) auszulesen, aus der Daten ausgelesen werden sollen. Wenn ihr der Inhalt des Ausgaberegisters (OREG) 40 zugeführt wird, beurteilt die CP(/38 eine ihr von der Mikroprogramm-Testvorrichtung gelieferte Anforderung und veranlaßt, daß aus dem allgemeinen Register oder aus der spezifizierten Adresse Daten auf einen Bus 162 ausgelesen werden. Die so ausgelcsenen Daten werden über den Eingabe/Ausgabe-Bus 39 einem Eingaberegister (IREG)42 zugeleitet. Die Eingabe/Ausgabe-Bussteuerschaltung (lOCNT) 41 gibt den Inhalt des Eingaberegisters (IREG) 42 zur anschließenden Anzeige an eine Lesesteuerschaltung 43 weiter. Der CPU 38 wird der Inhalt des Ausgaberegisters 40 zugeleitet, um die Ursache für die angeforderte Unterbrechung zu beurteilen. Die Lieferung vorgeschriebener Daten zu dem Eingaberegister 42 wird durch ein Unterbrechungsbehandlungs-Mikroprogramm durchgeführt, das zuvor in dem ersten Mikroprogrammspeicher 23 gespeichert wurde. Nach dieser Behandlung stoppt die CPU 38 die Ausführung eines Mikrobefehls und wird demzufolge in einen Zustand gebracht, in dem sie für den Empfang einer nachfolgenden Unterbrechung bereit ist. Die Inhalte des zweiten Abschnitts 27 derselben Adresse des ersten Mikroprogrammspeichers 21. welche der erste Abschnitt 26 des Speichers 22 enthält, werden sämtlich auf einen logischen Pegel »0« gesetzt, wodurch verhindert
wird, daß erneut eine Unterbrechungsanforderung gemacht wird, während die genannten Inhalte verarbeitet werden.
Der zweite Abschnitt 27 des ersten Mikroprogrammspeichers 23 kann auch dazu verwendet werden, das Protokoll (log) zu untersuchen, gemäß dem ein Mikroprogramm ausgeführt wurde. In anderen Worten, während ein Mikroprogramm ausgeführt wird, kann eine Ablaufüberwachung bewirkt werden, durch die die testende Person über sämtliche Adressen solcher Mikrobefehle informiert wird, die mit einem Zeichen »1« markiert sind, und zwar in der Reihenfolge, in der die mit »I« markierten Mikrobefehle ausgeführt werden. Die obengenannte Information gestattet der solchen Anordnung ausgestattete System beschrieben. Eine Funktionsumschalt-Steuerschaltung 30 wählt den ersten Mikroprogrammspeicher 23 nach Erhalt eines Freigabesignals 33 aus und gibt die Operation der Ablaufüberwachungs-Steuerschaltung 29 nach Erhalt eines Steuersignals 47 frei. Die testende Person schreibt zuvor ein Mikroprogramm in den ersten Abschnitt des ersten Mikroprogrammspeichers 23 und setzt dessen zweiten Abschnitt bezüglich derjenigen Adresse auf ίο einen logischen Pegel »1«, bei der die Beendigung der Ausführung des Mikroprogramms gewünscht wird, sowie bezüglich derjenigen Adresse, bei der eine Ablaufüberwachung durchgeführt werden soll. Wenn ein Mikroprogramm ausgeführt wird, überwacht die
testenden Person zu erkennen, entlang welchem Weg ,5 Ablaufüberwachungs-Steuerschaltung 29 die aus dem
ein Mikroprogramm ausgeführt wird.
Unter Bezugnahme auf Fig.4 wird ein System beschrieben, das die oben erwähnte Ablaufüberwachungsfunktion aufweist. Diejenigen Teile in Fig.4,die dieselben sind wie in Fig. 2 und 3. sind mit denselben Zahlen bezeichnet, eine Beschreibung dieser Teile wird fortgelassen. Von dem Inhalt derjenigen Adresse des ersten Mikroprogrammspeichers 23, die von der Mikroadressen-Steuereinheit (MAC) 21 spezifiziert wird, weiden die in dem zweiten Abschnitt 27 der Adresse gespeicherten Daten an die Ablaufüberwachungs-Steuerschaltung 29 geliefert. Haben die Daten einen logischen Pegel »0«, so unternimmt die Ablaufüberwachungs-Steuerschaltung 29 nichts. Haben hingezweiten Abschnitt 27 ausgelesenen Daten. Wenn ein Ablaufüberwachungs-Bit einen logischen Pegel »1« aufweist, wird die entsprechende Adresse in dem Adressenstapel 46 gehalten. Die Lesesteuerschaltung 43 liest die Inhalte des Adressenstapels 46 aus und bringt die Adresse zur Anzeige, bei der das Ablaufüberwachungs-Bit einen logischen Pegel »1« hat. Die Ablaufüberwachungs-Steuerschaltung 29 überwacht ferner den Zustand eines Anhaltepunkt-Bits. Wenn dieses Anhaltepunkt-Bit einen logischen Pegel »I« hai, wandelt die Ablaufüberwachungs-Steuerschaltung 29 den logischen Pegel eines Taktsteuersignals 34 in »0« und den logischen Pegel eines Systemtaktsignals 36 in »0« um, wodurch die Ausführung eines Mikrobefehls
gen die Daten einen logischen Pegel »1«, liefert die 30 gestoppt wird. Zu dieser Zeit wird ein Stapel-Steuersi-
Ablaufüberwachungs-Steuerschaltung 29 an einen gnal (STKE) 47 an den Adressenstapel 46 geleitet, um
Adressenstapel (ASTK) 46 ein Steuersignal (STKE) 47, eine auf einen Anhaltepunkt bezogene Adresse zu
um eine Adresse zu halten, die durch die Mikroadressen- halten. Wie bei der Ablaufüberwachung wird die
Steuereinheit 21 spezifiziert wird. Wo während des Anhaltepunkt-Adresse durch die Lesesteuerschaltung
Ablaufs des sukzessive ausgeführten Mikroprogramms 35 43 zur Anzeige gebracht. Die testende Person prüft das
ein Ausgangssignal des zweiten Abschnitts 27 einen logischen Pegel »I« aufweist, werden sämtliche entsprechenden Adressen wie bei der oben erläuterten Operation in dem Adressenstapcl (ASTK) 46 gehalten. Die Lesesleuerschaluing (RCNT) 43 veranlaßt, daß in dem Adressenstapcl 46 gespeicherte Daten, das heißt, eine Mikrobefehlsiidres.se. zwecks Anzeige für die testende Person ausgelesen wird. Der Adreßstapel 46 ist ein Speicher mit einer »first-in-first-outw-Struktur. und Protokoll, gemäß dem der Mikrobefehl ausgeführt wurde, und die Adresse, bei der die Ausführung des Mikroprogramms abgeschlossen wurde, um dadurch eventuell vorhandene Fehler zu entdecken, die während des Ablaufs der Steuerung des Mikroprogramms auftreten.
Wenn der zweite Abschnitt 27 des ersten Mikroprogrammspeichers 23 eine Wortlänge von 3 Bits hat, ist es möglich, zusätzlich zu der obengenannten Einrichtung
er ist in der Lage, eine Mehrzahl von Daten zu halten. 45 des Anhaltspunkts und der Ablaufüberwachungsfunk-Die zuerst in den Adressenstapel 46 geschriebenen tion die Zählfunktion zu erzielen. Unter Bezugnahme
Daten werden aus diesem als erste wieder ausgelesen, wenn die Lesesteuerschaltung 43 eine Leseanforderung abgibt. Wenn die Lesesteuerschaltung 43 erneut eine Anforderung zum Lesen abgibt, werden die beim zweiten Mal in den Adressenstapel 46 eingeschriebenen Daten ausgelesen. Wenn der zweite Abschnitt 27 bezüglich eines Mikrobefehls für die Analyse eines Mikroprogramms durch die oben erläuterte Funktion auf F i g. 5 wird ein System beschrieben, das mit einer solchen Funktion ausgestattet ist. Diejenigen Teile von F i g. 5, die die gleichen sind wie in den F i g. 2 bis 4, sind durch die gleichen Zahlen bezeichnet, eine Beschreibung dieser Teile wird fortgelassen.
Die Funktionsumschalt-Steuerschaltung 30 wählt bei Erhalt eines Freigabesignals 33 den ersten Mikroprogrammspeicher 23 aus und gibt weiterhin den Betrieb
auf einen logischen Pegel »I« gesetzt wird, kann die 55 der Ablaufüberwachungs-Steuerschaltung 29 nach Er
testende Person über das Protokoll informiert werden, gemäß dem das Mikroprogramm ausgeführt wird, und, falls vorhanden. Fehler erkennen, die während des Testlaufs auftreten.
halt eines Steuersignals 47 frei. Die testende Person veranlaßt, daß der erste Mikroprogrammspeicher 23 bezüglich eines Mikroprogramms oder Mikroprogrammadressen, die sich auf die Ablaufüberwachung
Besitzt der zweite Abschnitt 27 des ersten Mikropro- 60 und den Anhaltepunkt beziehen, auf einen logischen
grammspeichers 23 eine Wortlänge von 2 Bits, können die Einrichtung des zuvor beschriebenen Anhaltepunkts und die Ablaufüberwachungsfunktion in Kombination vorgenommen werden. Es ist also möglich, ein Bit des zweiten Abschnitts 27 für die Einrichtung des Anhaltspunkts und das andere Bit für die Ablaufüberwachungsfunktion zu verwenden.
Unter Bezugnahme auf Fig.4 wird das mit einer Pegel »1« gesetzt wird. Besitzt der zweite Abschnitt 27 eine Wortlänge von 2 Bits, dann wird ein Mikrobefehl in der Weise ausgeführt, daß, wenn die Adresse erreicht ist, bei der das Bit des zweiten Abschnitts 27 einen logischen Pegel »1« aufweist, die Ablaufüberwachungsfunktion oder die Anhaltepunktfunktion durchgeführt wird. Wenn hingegen der zweite Abschnitt 27 eine Wortlänge von 3 Bits hat, wird durch das zusätzliche Bit
gezählt, wie oft die Ausführung eines Mikroprogramms bis zum Erreichen der spezifizierten Adresse wiederholt wird. Gibt der Zählerstand einen von der testenden Person vorgeschriebenen Wert wieder, wird die Ablaufüberwachungsfunktion oder die Anhaltepunktfunktion zum ersten Mal durchgeführt.
Nun soll eine Kombination der oben erläuterten Ablaufüberwachungsfunktion, Anhaltepunktl'unktion und Zählfunktion beschrieben weiden. Enthält ein Mikroprogramm einen gewissen Abschnitt, dessen Ausführung wiederholt werden soll, dann kann der Zustand eines Registers oder Speichers geprüft werden, nachdem der gewisse Abschnitt einer vorgeschriebenen Zahl entsprechend oft durchgeführt wurde. In diesem Fall wird das dritte Bit des zweiten Abschnitts 27 auf einen logischen Pegel »1« bezüglich der Adresse gesetzt, die als Anhaitcpunkt in der schleifenartigen Ausführung eines Mikroprogramms spezifiziert werden soll. Ferner werden ein dem Anh.^.epunkt entsprechendes Bit und das dritte Bit bezüglich der Kennzeichnung des Inhalts eines Zählers beide auf einen logischen Pegel »1« gesetzt. Zur gleichen Zeit veranlaßt die Schreibsteucrschaltung (WCNT)51, daß eine durch die Testperson spezifizierte Scnlcifenzahl an den Zähler (CNTR) 52 geliefert wird. Wenn die Daten auf einer Zähler-Steuerbiileitung einen logischen Pegel »0« haben, erfolgt bezüglich des Inhalts des Zählers 52 keine Veränderung. Wenn hingegen die Daten auf der Zählcr-Steuerbitleituiig einen logischen Pegel »I« aufweisen, wird der Inhalt des Zählers 52 um 1 vermindert. Der Inhalt des Zählers 52 wird später sukzessive jedesmal um I vermindert, wenn ein Mikrobefehl aus der entsprechenden Adresse ausgelesen wird. Ist der Inhalt des Zählers 52 auf Null vermindert, wird an die Ablaulüberwachungs-Sleueischaltung 29 ein Steuersignal (BRW) 53 geliefert. Diese Ablaufüberwachungs-Steuerschaltiing 29 gibt ein Taktsteuersignal (HALT)34 ab, das von einer logischen Summe der Daten (mit einem logischen Pegel »1«)
Steue
kann das Taktsteuersignal (HALT) 34 von einem Unter jrechungsanforderungssignal (IHP) 37 ersetzt werden. Feiner ist es möglich, eine logische Summe der Daten auf der Ablaufüberwachungs-Steuerbitleitung und dps Steuersignals (BRW) 53 zu verwenden. Der oben erläuterte alternative Vorgang wird durch das Steuersignal (TRCE) 47 ausgeführt, das von der Funktionsumschalt-Steuerschaltung geliefert wird. Wenn, wie oben beschrieben wurde, eine logische Summe der zwei Eingangssignale einen logischen Pegel »1« hat, wird das Steuersignal (STKE) 47 an den Adresscnstapel 46 geliefert, um die entsprechende Adresse zu erhalten. Zu dieser Zeit bringt die Lesesteuerschaltung 43 den Inhalt des Adressenstapcls 46 zur Anzeige.
Nun wird unter Bezugnahme auf F i g. 6 ein System beschrieben, bei dem für Testzwecke gebrauchte Daten frei in den ersten Mikroprogrammspeicher 23 eingeschrieben oder aus diesem ausgelesen werden können. Gemäß dem Blockschaltiingsdiagramm von F i g. 6 hat der zweite Abschnitt 27 des eisten Mikroprogramm-Speichers 23 eine Wortlänge von einem Bit. Der zweite Abschnitt 27 kann auch eine Wortlänge von mehreren Bits haben. Die folgenden vier Betriebsarten stehen hinsichtlich des Vorgangs des Einschreibens von Daten oder des Lesens von Daten in bzw. aus jeder wahlfreien Adresse des ersten Mikroprogrammspeichers 23 zur Verfügung.
uf der Anhaltepunkt-Stcuerbitlciliing und des signals (BR W) 53 abgeleitet wird. In diesem Fall Betriebsart 1:
In den ersten Abschnitt (MRAMX) 26 des ersten Mikroprogrammspeichers 23 werden Daten eingeschrieben.
Betriebsart 2:
In den zweiten Abschnitt (MRAM2) 27 des Speichers 23 werden Daten eingeschrieben.
Betriebsart 3:
In den ersten Abschnitt (MRAM 1) 26 und den zweiten Abschnitt (MRAM2) 27 werden Daten eingeschrieben.
Betriebsart 4:
Es werden gleichzeitig Daten aus dem ersten Abschnitt (MRAMi) 26 und dem zweiten Abschnitt (MRAM 2) 27 ausgelesen.
Wenn daher ein in den ersten Mikroprogrammspeicher 23 eingeschriebenes Mikroprogramm ausgeführt wird, gelangt Betriebsart 4 zur Anwendung. In diesem Fall wird ein Signal, das die von der Mikroadressen-Steuercinhcit 21 spezifizierte Adresse bezeichnet, zur selben Zeit über eine Ausgabcsignalleilung (A-BLIS)22 an den ersten und den /weilen Abschnitt 2b und 27 geliefert. Zu dieser Zeil liefert die l'unkiionsiimschali-Steuerschaltung 30 an den ersten Mikroprogrammspeichcr 23 ein Freigabesignal (MRAMl-')33 zum Auslesen von Daten aus dem Speicher 23. und sie sendet lerner ein Signal, das die Ausgabesignalleitung (A-IHIS)22 als Quelle eines Eingabesignals für einen Selektor (SEI. 2) 61 spezifiziert. Zur selben Zeit wird der Inhalt der spezifizierten Adresse des ersten Mikroprogrammspeichers 23 nach der Zugriffszeil des Speichers 23 auf einen Mikroprogrammspeicher-Ausgabebus 62 bis 66 gegeben.
Die Daten auf dem Mikropiogrammspeicher-Ausgabebus 62 bis 65 werden in dem in dem Rechner enthaltenen Mikrobefehlsregisier 25 gehalten, um die Steuerung des Rechners zu bewirken. Die Daten auf dem Ausgabebus 66 werden in einer Flipflopschaltung (EFi) 67. das ein Teil der Ablaufüberwachungs-Steuerschaltung 29 ist, festgehalten. Die Daten auf sämtlichen Busleitungen 62 bis 66 gelangen an eine Paritätsprüfschaltung 69, die Bestandteil des Fehlerdetektor 28 ist. Wenn ein Paritätsl'ehler entdeckt wird, gibt die Paritätsprüfschaltung 69 ein Ausgangssignal mit einem logischen Pegel »I« ab. das in einer Flipllopschaltung (EF2) 68 gehalten wird. Eine logische Summe der Ausgangssignale der Flipflopschaltungen 67 und 68 wird zu dem Taktgeber 35 des Rechners als das Taktsteucrsignal (HALT)34 geliefert. Der Fall, daß die Ausführung eines Mikroprogramms angehalten und der Inhalt des ersten Mikroprogrammspeichcrs 23 ausgelesen wird, stellt ebenfalls die Betriebsart 4 dar. Zu dieser Zeit leitei die Funktionsumschalt-Steuerschaltung (ESC) 30 ein von dem Selektor (SEL 2) 61 empfangenes Eingangssignal in eine Mikroprogrammadressen-Steuerschaltung (ASC) 71 um, die in der Testvorrichtung enthalten ist. Ein die von der testenden Person spezifizierte Adresse kennzeichnendes Signal wird von der Mikroprogrammadressen-Steuerschaltung (ASC) 71 über den Selektor 61 in den ersten Mikroprogrammspeicher 23 geleitel. Aus dem eisten Mikroprogrammspeicher 23 gelesene Daten werden auf den MikropiOgrammspeicher-Ausgabcbus 62 bis 66 gelegt.
Nun soll die Betriebsart I beschrieben werden. In den ersten Abschnitt des ersten Mikroprogrammspeichers' 23 einzuschreibende Daten werden zuvor in der Schreibsteuerschaltung 51 gespeichert. Die Adresse des
ersten Abschnitts 26, in die die Daten eingeschrieben werden, wird außerdem in der Mikroprogrammadressen-Steuerschaltung (ASC) 71 gespeichert. Die Funktionsumschalt-Steuerschaitung 30 steuert den Selektor 61, so daß dieser einen Ausgang der Mikroprogrammadressen-Steuerschaltung 71 auswählt. Unter dieser Bedingung sendet zur selben Zeit die Schreibsteuerschaltung 51 die zu schreibenden Daten auf den Mikroprogramm-Schreibdatenbus 72 bis 75. Wenn ein Schreibsignal (WEi) 78 einen logischen Pegel »0« hat, wird das Schreiben von Daten zu Ende gebracht. In der Betriebsart 2 werden das Schreiben von Daten und die Spezifizierung einer Adresse in derselben Weise durchgeführt wie in der Betriebsart 1. Der Selektor 61 befindet sich im selben Zustand wie in der Betriebsart 1. In anderen Worten, die Funktionsumschalt-Steuerschaltung 30 steuert den Selektor (SEL 1) 77, so daß dieser ein Ausgangssignal der Schreibsteuerschaltung 51 auswählt. Unter dieser Bedingung sendet die Schreibsteuerschaltung 51 zu schreibende Daten auf einen Mikroprogramm-Schreibdatenbus (MDT32) 76. Wenn ein Schreibsignal (WE2) 79 einen logischen Pegel »0« hat, wird das Einschreiben von Daten zum Abschluß gebracht. Zu dieser Zeit verbleiben die Inhalte derselben Adresse des ersten Abschnitts 26 des ersten Mikroprogrammspeichers 23. wie die des zweiten Abschnitts 27 unverändert.
Bei der Betriebsart 3 können als in den zweiten Abschnitt 27 des eisten Mikroprogrammspeichers 23 einzuschreibende Daten solche Daten ausgewählt werden, die auf einem Mikroprogramm-Schreibdatenbus (MDT32) 76 von der Schreibsteuerschaltung 51 gesendet werden, oder ein Paritätsbit, das von Daten auf dem Mikroprogramm-Schreibdatenbus 72 bis 75 definiert wird, die ebenfalls von der Schreibsteuerschaltung 51 geliefert werden. Die Auswahl der Daten auf dem Mikroprogramm-Schreibdatenbus (MDT32) 76 erfolgt durch den gleichzeitigen Betrieb der beiden Betriebsarten 1 und 2. In diesem Fall ist es ratsam. Daten zu dem Mikroprogramm-Schreibdatenbus (MTDOO bis MTD 32) 72 bis 76 zu liefern und dabei die Schreibsignale (WEi) 78 und (WE2) 79 gleichzeitig auf einem logischen Pegel »0« zu belassen. Die Auswahl von Daten auf dem Mikroprogramm-Schreibdatenbus 72 bis 75 erfolgt durch das Schreiben der oben erwähnten Fehlererfassungsdaten, nämlich durch das Paritätsbit in dem zweiten Abschnitt 27. Im letzteren Fall steuert die Funktionsumschalt-Steuerschaltung 30 den Selektor (SEL 1) 77, so daß dieser ein Ausgangssignal eines Paritätsbit-Generators (PTYGEN) 80 auswählt. Wenn unter der oben erläuterten Bedingung die Schreibsteuerschaltung 81 zu schreibende Daten auf den Mikroprogramm-Schreibdatenbus (MTDOO bis MTD3X) 72 bis 75 gibt, gibt der Paritätsdaten-Generator 80 ein Paritätsbit auf der Grundlage der auf dem genannten Bus anstehenden Daten ab. Das abgegebene Paritätsbit wird über den Selektor 77 an den zweiten Abschnitt 27 geleitet. Wenn die Schreibsignale (WEi) 78 und (WE2) einen logischen Pegel »0« aufweisen, wird das Schreiben von Daten beendet.
Die obige Beschreibung bezieht sich auf den Fall, daß Daten in eine einzelne Adresse eingeschrieben werden. Es können Daten in mehrere benachbarte Adressen, die von der Adressen-Steuerschaltung 71 spezifiziert werden, geschrieben werden. Die obengenannten vier Betriebsarten gelangen wie folgt zur Anwendung. Wenn ein Ausgangssignal von dem Paritätsbit-Generator 80 in der Betriebsart 3 an den Selektor 77 geliefert wird, wird ein Mikroprogramm geschrieben, indem an jeden Mikrobefehl ein Paritätsbit angehängt wird. Gelangen die Ablaufüberwachungsfunktion und die Paritätserfassungsfunktion nicht zur Anwendung, dann wird die Betriebsart I verwendet. Werden die Ablaufüberwachungsfunktion und die Anhaltepunktfunktion durchgeführt, wird ein Ausgangssignal der Schreibsteuerschaltung 51 in den Betriebsarten 2 und 3 zu dem Selektor 77 geleitet. In diesem Fall wird ein zu testendes ίο Mikroprogramm in der Betriebsart 3 zuerst in den ersten Abschnitt 26 des Mikroprogrammspeichers 23 eingeschrieben. Sämtliche Bitstellen des zweiten Abschnitts 27 des Speichers 23 werden auf einen logischen Pegel »0« eingestellt. Die testende Person liefert der Mikroprogrammadressen-Steuerschaltung 71 Daten bezüglich derjenigen Adressen, die er als Anhaltepunkt zu verwenden wünscht, oder bezüglich solcher Adressen, zwischen denen die Ablaufüberwachung eines Mikroprogramms durchgeführt werden soll. Der zweite Abschnitt 27 der entsprechenden Adresse wird auf einen logischen Pegel »1« in der Betriebsart 2 eingestellt. In diesem Fall ist es möglich, wahlfrei eine Anzahl von zu verwendenden Anhaliepunktcn zu definieren und die Adressen auszuwählen, zwischen denen die Ablaufüberwachung erfolgen soll. Werden die Anhaltepunkte und die Ablaufüberwachung aufgegeben, so ist es ratsam, die zweiten Abschnitte 27 der entsprechenden Adressen auf einen logischen Pegel »0« einzustellen. Gelangt die Zählerfunktion zur Anwendung, so ist es ratsam, die zweiten Abschnitte 27 der entsprechenden Adressen auf einen logischen Pegel »1« einzustellen.
Zusätzlich zu den oben beschriebenen vier Betriebsarten besteht ferner die Möglichkeit, die Inhalte eines zweiten Mikroprogrammspeichers 24 eines Rechners auszulesen. Dieses Auslesen erfolgt, wenn der Rechner mit einem programmierbaren Speicher geladen wird, in den bereits ein Mikroprogramm eingeschrieben ist und der das erneute Einschreiben eines anderen Mikroprogramms gestattet. Diesmal gibt die Funktionsumsehalt-Steuerschaltung 30 ein Freigabesignal (MROMEJ32 ab, das es ermöglicht, daß Daten aus dem zweiten Mikroprogrammspeicher 24 ausgelesen werden, und sie liefert an den ersten Mikroprogrammspeicher 23 der Mikroprogramm-Testvorrichtung ein Signal 33, um zu verhindern, daß der Speicher 23 ein Ausgangssignal liefert. Diesmal arbeiten ein Ablaufüberwachungs-Steuersignal (TRCE) 47 und ein Paritätssteuersignal (PTYE)Si zusammen, um den Betrieb der Ablaufüberwachungs-Steuerschaltung 29 und der Paritätsprüfschaltung 69 zu stoppen.
Anhand von F i g. 7 wird nun ein System beschrieben, das, wenn der Rechner mit einer Einrichtung zum Erfassen eines Fehlers in einem Mikrobefehl ausgestattet ist, den Betrieb oder den Nicht-Betrieb der Erfassungseinrichtung extern von der Mikroprogramm-Testvorrichtung aus steuern kann. Diejenigen Teile in F i g. 7, die dieselben sind wie in den F i g. 2 bis 6, sind mit denselben Zahlen bezeichnet.
Zuerst erhält der Rechner als einen zweiten Mikroprogrammspeicher 82 einen Nur-Lese-Speicher, in dem ein Mikroprogramm gespeichert ist. Ein von der Mikroadressen-Steuereinheit 21 spezifizierter Mikrobefehl wird aus dem zweiten Mikroprogrammspeicher 82 ausgelesen. Der so ausgelesene Mikrobefehl wird in dem Mikrobefehlsregister 25 zur Steuerung des Rechners gehalten. Ähnlich wie der erste Mikroprogrammspeicher 23 der Testvorrichtung enthält der
zweite Mikroprogrammspeicher 82 zwei Abschnitte, das heißt, einen ersten Abschnitt 83, in dem ein Mikrobefehl gespeichert ist, und einen zweiten Abschnitt 84, in dem Fehlerdaten gespeichert sind. Von dem Inhalt derjenigen Adresse des zweiten Mikroprogrammspeichers 82, die durch die Mikroadressen-Steuereinheit 21 spezifiziert ist, wird der Inhalt des ersten Abschnitts 83 der spezifizierten Adresse unverändert in dem Mikrobefehlsregister 25 gehalten. Diesmal werden die Inhalte des ersten und zweiten Abschnitts 83 und 84 an einen Fehlerdetektor 85 geliefert. Dieser Fehlerdetektor 85 beurteilt, ob ein Bit-Fehler aufgetreten ist oder nicht. Liegt kein Bit-Fehler vor, gestattet der Fehlerdetektor 85 die Ausführung eines Mikroprogramms in der vorgegebenen Weise. Wird ein Bit-Fehler erfaßt, stoppt der Fehlerdetektor 85 die Ausführung.
Ist die Mikroprogramm-Testvorrichtung an den Rechner angeschlossen und wird d?r zweite Mikroprogrammspeicher 82 nicht benutzt, ist es notwendig, die sich gegenüberstehenden Ausgangsgrößen von beiden Mikroprogrammspeichern 23 und 82 zu unterdrücken. Daher sendet die Funktionsumschalt-Steuerschaltung 30 ein Signal (MROME) 32, um zu verhindern, daß die Inhalte des zweiten Mikroprogrammspeichers 82 ausgelesen werden. Somit werden die Inhalte derjenigen Adresse des ersten Mikroprogrammspeichers 23, die von der Mikroadressen-Steuereinheit 21 spezifiziert wurde, über den Ausgabebus 31 in dem Mikrobefehlsregister 25 gehalten. Diesmal wird der Fehlerdetektor (ERC2)85 nicht mit Daten bezüglich einer Fehlererfassung gespeist. Daher wird angenommen, daß ein ausgelesener Mikrobefehl einen Bit-Fehler enthält, und die Ausführung des Befehls wird verhindert. Um ein solches Ereignis zu vermeiden, liefert die Funktionsumschalt-Steuerschaltung 30 an den Fehlerdetektor 35 ein Signal (ERCE) 86 zum Anhalten des Betriebs des Fehlerdetektors. Als Folge wird der Betrieb des Fehlerdetektors 85 nur dann angehalten, wenn ein Test eines Mikroprogramms erfolgt, das in den Mikroprogrammspeicher 23 eingeschrieben ist. Wenn ein in den zweiten Mikroprogrammspeicher 82 eingeschriebenes Mikroprogramm ausgeführt wird, gestattet die Funktionsumschalt-Steuerschaltung 30 dem Fehlerdetektor 85, bei Erhalt eines Steuersignals 86 zu arbeiten. Wenn die Mikroprogramm-Testvorrichtung von dem Rechner abgetrennt wird, wird der Fehlerdetektor 85 freigegeben.
Nun soll unter Bezugnahme auf F i g. 8 die Arbeitsweise der Funktionsumschalt-Steuerschaltung 30 für den Fall erläutert werden, daß der zweite Abschnitt (MRAM2) 27 des ersten Mikroprogrammspeichers 23 eine Wortlänge von einem Bit hat. Ein Schalter (SWi) 91 ist eine Einheit zum Entscheiden, welcher bzw. welche der Fehlerdetektoren (ERCi) 28 und (ERC2) 85 und der Ablaufüberwachungs-Steuerschaltung 29 freigegeben werden sollen. Ein Schalter (SW2) 92 entscheidet, ob Daten aus dem ersten Mikroprogrammspeicher (MRAM) 23 oder dem zweiten Mikroprogrammspeicher (MROM) 24 ausgelesen werden sollen, und ob weiterhin der Fehlerdetektor (ERC2) 85 freigegeben werden soll. Wenn der zweite Abschnitt (MRAM2) 27 für einen Anhaltepunkt verwendet wird, wird der Schalter (SWX) 91 an einen Anhaltepunkt (BRAKE) 93 angeschlossen. Der Schalter (SW2) 92 wird an einen Speicher mit wahlfreiem Zugriff (RAM) 94 angeschlossen. Unter dieser Bedingung werden ein Signal (TRCE) 47 zum Freigeben der Ablaufüberwachungs-Steuerschaltung 29 und ein Signal (MRAME)33 zum Ermöglichen des Auslesens von Daten aus dem ersten Mikroprogrammspeicher (MRAM) 23 beide auf einen logischen Pegel »1« gesetzt. Die anderen Signale (PTYE)Si, (ERCE)86 und (MROM)32 werden sämtlich auf einen logischen Pegel »0« gesetzt, wodurch die entsprechenden Schaltungen gesperrt werden. Während die Funktionsumschalt-Steuerschaltung 30 in der oben beschriebenen Weise aus einer Kombination der Schalter und Verknüpfungsglieder hergestellt werden kann, kann die Steuerschaltung 30 von einem Mikroprozessor gesteuert werden, um eine erhöhte Funktionsfähigkeit zu erzielen.
Anhand von F i g. 9 wird nun die Arbeitsweise der von einem Mikroprozessor gesteuerten Funktionsumschalt-Steuerschaltung 30 beschrieben. Der Zentralabschnitt der Funktionsumschalt-Steuerschaltung 30 umfaßt einen Mikroprozessor (CPU) 101 und einen mit der CPU 101 verwendeten Speicher (CM,) 102. Wenn die testende Person den Mikroprozessor CPU 101 von einer Tastatur 103 aus mit einem funktionsspezifizierenden Code speist, decodiert der Mikroprozessor CPU 101 einen gelieferten Code nach Maßgabe eines Tastatur-Eingabeprogramms, das in dem Speicher (CM) 102 gespeichert ist und veranlaßt, daß ein vorgeschriebener Wert in ein funktionshaltendes Register (STSREG) 104, das in der Funktionsumschalt-Steuerschaltung 30 enthalten ist, eingeschrieben wird. Die Auswahl jeder der von dem funktionshaltenden Register 104 gelieferten Ausgangsgrößen wird von einer Speichersteuerschaltung (MCL) durchgeführt. Die Inhalte des funktionshaltenden Registers 104 werden beispielsweise in der Form eines Signals (PTYE) 81 oder (TRCE) 47 abgegeben.
Anhand von Fig. 10 wird nun die Arbeitsweise der Schreibsteuerschaltung (WCNT) 51 beschrieben. In den ersten Mikroprogrammspeicher (MRAM) 23 einzuschreibende Daten werden von dem in F i g. 9 gezeigten Mikroprozessor (CPU) 101 über einen internen Bus (IBUS) 106 in die Schreibsteuerschaltung 51 geleitet. Über den internen Bus (l-BUS) 106 übertragene Daten besitzen eine Wortlänge von 8 Bits. Andererseits ist die Wortlänge des ersten Mikroprogrammspeichers (MRAM) 23 im allgemeinen größer als die Wortlänge der über den internen Bus (I-BUS) 106 geleiteten Daten. Im vorhergehenden Ausführungsbeispiel wird die Wortlänge des ersten Abschnitts (MRAMX) 26 aus 32 Bits gebildet. Daher werden die in den ersten Abschnitt (MRAMX) 26 einzuschreibenden Daten in Form von vier Unterteilungsabschnitten (32/8 = 4) geliefert. Diese vier Daten-Teilstücke werden über ein Eingaberegister (INREGX) XXX in datenhaltenden Registern (RAM REG X) 112, (RAMREG 2) 113, (RAMREG 3) 114 bzw. (RAMREG 4) 115 gehalten.
Die Auswahl jedes dieser datenhaltenden Register wird bewirkt durch den verbundenen Betrieb eines befehlshaltenden Registers (CMDREG X) 117 und einer Schreibmodus-Auswahlschaltung (SELC) 118. Der Mikroprozessor (CPU) 101 gibt zuerst über den internen Bus 106 in die datenhaltenden Register (RAMREG X) 112 bis (RAMREG 4) 115 einzuschreibende Befehle an das befehlshaltende Register (CMDREGX) 117 und sendet danach die dort einzuschreibenden Daten. Der Mikroprozessor (CPU) 101 sendet in den ersten Abschnitt (MRAM X) 26 einzuschreibende Daten in vier Unterteilungsabschnitten an sämtliche der datenhaltenden Register (RAMREGX) 112 bis (RAMREG4) 115. Die anschließende Operation variiert mit der Form der
in den zweiten Abschnitt (MRAM 2) 27 einzuschreibenden Testdaten. Wenn in der Funktionsumschalt-Steuerschaltung 30 eine Paritätsprüfung ausgewählt ist, gibt der Mikroprozessor (CPU) 101 Schreibbefehle von dem ersten und zweiten Abschnitt über den internen Bus 106 an das befehlshaltende Register (CMDREG) 117, und dann liefert die Schreibmodus-Auswahlschaltung (SELC) 118 Schreib-Freigabebefehle (WEi) 78 und (WE2) 79 an den ersten Mikroprogrammspeicher des zweiten Abschnitts (MRAM2) 27 wie der des ersten Abschnitts (MRAM 1) 26 unverändert. In der Betriebsart 2 liefert der Mikroprozessor (CPU) 101 Testdaten lediglich an das datenhaltende Register (RAMREG 5) 116, und dann an das befehlshaltende Register (CMDREG 1) 117 einen Schreibbefehl für den zweiten Abschnitt. Die Schreibmodus-Auswahlschaltung (SELC) 118 gibt ein lediglich für den zweiten Abschnitt (MRAM2) 27 vorgesehenes Schreib-Freigabesignal
(MRAM) 23. Die Inhalte der datenhaltenden Register io (WE2) 79 ab. Der Inhalt des datenhaltenden Registers (RAMREG \)ii2 bis (RAMREG4) U5 werden so, wie (RAMREG5) 116 wird genau in der gespeicherten sie gespeichert sind, an den ersten Abschnitt (MRAM 1) Weise an den zweiten Abschnitt (MRAM2) 27 geliefert 26 geliefert, wie man aus F i g. 6 ersieht, und in den und dort unter einer zeitlichen Steuerung eingeschrieersten Abschnitt 26 unter einer zeitlichen Steuerung ben, die definiert wird durch das Schreib-Freigabesignal eingeschrieben, die definiert wird durch ein Adressen- 15 (WE2) 79. Diesmal bleiben die Inhalte derselben
Freigabe-Signal (WE 1) 78. Die Inhalte der datenhaltenden Register (RAMREGX) 112 bis (RAMREG4) 115 werden an den Paritätsbit-Generator (PTYGEN) 80 (Fig.6) geleitet. Ein von dem Generator 80 erzeugtes Paritätsbit wird über den Selektor (SEL 1) 77 in dieselbe Adresse des zweiten Abschnitts (MRAM2) 27 eingeschrieben wie der des ersten Abschnitts (MRAMi) 26, und zwar unter einer zeitlichen Steuerung, die definiert wird durch das Schreib-Freigabesignal (WE2) 79.
Nun wird der Fall beschrieben, bei dem in der Funktionsumschalt-Steuerschaltung 30 Ablaufüberwachung oder Anhaltepunktfunktion ausgewählt wird.
Der Mikroprozessor (CPU) 101 liefert Schreibdaten an die datenhaltenden Register (RAMREG i) 112 bis (RAMREG 4) 115 und veranlaßt danach, daß in das datenhaltende Register (RAMREG 5) 116 Ablaufüberwachungs- oder Anhaltepunkt-Daten eingeschrieben werden, die für den zweiten Abschnitt (MRAM2) 27 verwendet werden. Besitzen die Ablaufüberwachungsoder Anhaltepunktdaten einen logischen Pegel »1«, ist· der in den datenhaltenden Registern (RAMREG 1) 112 bis (RAMREG4) 115 gehaltene Mikrobefehl für die Anwendung der Ablaufüberwachung oder der Anhaltepunktfunktion vorgesehen. Wenn der Mikroprozessor (CPU) 101 an das befehlshaltende Register (CMDREG 2) 119 einen Befehl gibt, der das Einschreiben von Daten in den ersten und den zweiten Abschnitt verlangt, sendet die Schreibmodus-Auswahlschaltung (SELC) 118 Schreib-Freigabesignale (WE 1) 78 und Adresse des ersten Abschnitts (MRAMi) 26 wie die des zweiten Abschnitts (MRAM2) 27 unverändert.
Nun wird die Mikroprogrammadressen-Steuerschaltung (ASC) 71 beschrieben, die, wie in F i g. 11 zu sehen ist, einen ähnlichen Aufbau hat wie die Schreibsteuerschaltung (WCNT)5i. Diese Mikroprogrammadressen-Steuerschaltung (ASC) 71 veranlaßt, daß eine Mikroprogrammadresse von 12 Bits in adressenhaltenden Registern (ASCREG 1) 121 und (ASCREG 2) 122 gehalten wird. Das befehlshaltende Register (CMDREG 2) 119 wird von dem Mikroprozessor (CPU) 101 mit einem Befehl gespeist. Über den Selektor (SEL^) 123 wird ein Steuersignal abgegeben, um.nach Maßgabe eines Wertes, der von dem von dem Mikroprozessor (CPU) 101 kommenden, oben erwähnten Befehl gekennzeichnet wird, zu bestimmen, welches der Adressenregister (ASCREG 1) 121 und (ASCREG 2) 122 verwendet werden soll.
Unter Bezugnahme auf die Fig. 12 und 13 wird nun die Arbeitsweise des Adressenstapels (ASTK) 46 und der Lesesteuerschaltung (RCNT) 43 beschrieben. Der Adressenstapel (ASTK) 46 wird gebildet von einem Ablaufüberwachungsspeicher (TRACEM) 131 zum Speichern von Mikroprogrammadressen, deren Ablaufüberwachungs-Bit auf einen logischen Pegel »1« gesetzt ist, und einem Ablaufüberwachungs-Adressenzähler (RNGC) 132 zum Spezifizieren jeder der in dem Ablaufüberwachungsspeicher (TRACEM) 131 gespeicherten Adressen. Der Mikroprozessor (CPU) 101
(WE2) 79 an den ersten Mikroprogrammspeicher 45 veranlaßt, daß ein Anfangswert in einen Ablaufüberwa-
(MRAM) 23. Die Inhalte der datenhaltenden Register (RAMREGi) 112 bis (RAMREG5) 116 werden, wie man aus Fig.6 ersieht, an den ersten Abschnitt (MRAM 1) 26 und den zweiten Abschnitt (MRAM2) 27 geleitet und in die Adressen eingeschrieben, die durch die Mikroprogrammadressen-Steuerschaltung (ASC)H spezifiziert werden. Dies geschieht unter einer zeitlichen Steuerung, die definiert wird durch Adressen-Freigabesignale (WE 1) 78 und (WE2) 79.
Die oben erläuterten beiden Schreibvorgänge stellen die zuvor beschriebene Betriebsart 3 dar, bei der Daten in den ersten Mikroprogrammspeicher (MRAM) 23 eingeschrieben und aus diesem ausgelesen werden.
Die weitere Beschreibung erfolgt im Hinblick auf den Betrieb der Schreibsteuerschaltung (WCNT) 51 in den Betriebsarten 1 und 2. In der Betriebsart 1 veranlaßt der Mikroprozessor (CPU) 101, daß die Inhalte der datenhaltenden Register (RAMREGi) 112 bis (RAM REG 4) 115 genau in der gespeicherten Weise an den ersten Abschnitt (MRAM 1) 26 geliefert und dort unter einer zeitlichen Steuerung eingeschrieben werden, die definiert wird durch das Schreib-Freigabesignal (WEi) 78. Zu dieser Zeit bleiben die Inhalte derselben Adresse chungs-Adressenzähler (RNGC) 132 über den internen' Bus 106 eingeschrieben wird. Wenn ein zu testendes Mikroprogramm ausgeführt wird und ein Signal mit einem logischen Pegel »1« aus dem zweiten Abschnitt (MRAM2) 27, wie in Fig. 5 zu sehen ist, ausgelesen wird, in anderen Worten, wenn ein Ablaufüberwachungsbefehl abgegeben wird, dann sendet die Ablaufüberwachungs-Steuerschaltung (TRC) 29 ein Stapel-Freigabesignal (STKE) 133 aus. Diesmal sind Daten bezüglich der Adresse des ersten Mikroprogrammspeichers (MRAM) 23, aus der ein Mikrobefehl ausgelesen wurde, bereits auf den Adreßbus (ABUS) 22 gegeben. Die Adreßdaten werden in diejenige Adresse des Ablaufüberwachungsspeichers (TRACEM) 131 eingeschrieben, die durch den Ablaufüberwachungs-Adressenzähler (RNGC) 132 bezeichnet wird, und zwar unter einer zeitlichen Steuerung, die definiert wird durch ein Stapel-Freigabesignal (STKE2) 135, das in den Stapel-Freigabesignalen (STKE) 133 enthalten ist (siehe Fig. 13C und 13D). Nach Abschluß des Schreibvorgangs veranlaßt ein weiteres Stapel-Freigabesignal (STKEX) 134, das in den Stapel-Freigabesignalen (STKE) 133 enthalten ist, daß der Inhalt des
Ablaufüberwachungs-Adressenzählers (RNGC) 132 um 1 erhöht wird (siehe Fig. 13B und 13E). Wenn zum zweiten Mal ein Ablaufüberwachungsbefehl abgegeben wird, wird ebenfalls der oben erläuterte Vorgang durchgeführt. Somit werden Daten bezüglich 'der Ablaufüberwachungs-Befehlsadressen sukzessive in den Adressen gespeichert, die durch den Ablaufüberwachungs-Adressenzähler (RNGC) 132 angegeben werden. Wenn in sämtlichen Adressen des Ablaufüberwachungsspeichers (TRACEM) 131 ein Ablaufüberwachungsbefehl gespeichert ist und später ein weiterer Ablaufüberwachungsbefehl abgegeben wird, ergibt sich für den Inhalt des Ablaufüberwachungs-Adressenzählers (RNGC) 132 ein Überlauf, was das Setzen einer Flipflopschaltung (FFV) 143 veranlaßt. Zu dieser Zeit is wird der Inhalt des Ablaufüberwachungs-Adressenzählers (RNGC) 132 auf Null vermindert, und es wird eine Überlagerung bei der Adresse Null in dem Ablaufüberwachungsspeicher (TRACEM) 131 gestartet, die die alten Daten löscht. Wenn der Ablaufüberwachungsspeieher (TRACEM) 131 eine Kapazität von 256 Wörtern hat, ist es möglich, maximal 256 Ablaufüberwachungsbefehls-Adressendaten zu speichern, was gezählt wird von derjenigen Mikroprogrammadresse, die den letzten Ablaufüberwachungsbefehl empfangen hat.
Unter Bc/ugnahme auf Fig. 12 wird nun die Arbeitsweise der Lesesteuerschaltung (RCNT) 43 beschrieben. Es wird Bezug genommen auf den Fall, daß der Inhalt des Ablaufüberwachungsspeichers (TRACEM) 131 ausgelesen wird. In diesem Fall veranlaßt der Mikroprozessor (CPU) 101, daß das Auslesen über den internen Bus 106 und Ausgabepuffer (OB 1) 141 und (OB2) 142 durchgeführt wird. Der Inhalt des Ablaufüberwachungs-Adressenzählers (RNGC) 132 wird aus dem Ausgabepuffer (OB 1) 141 ausgelesen. Den Zustand einer Flipflopschaltung (FF 3) 143 kennzeichnende Daten werden aus dem Ausgabepuffer (OB 2) 142 ausgelesen. Besitzt ein Ausgangssignal der Flipflopschaltung (FF3) 143 einen logischen Pegel »0«, so zeigt dies, daß die Daten bezüglich der Mikroprogrammadressen, für die ein Ablaufüberwachungsbefehl abgegeben wurde, in den Adressen des Ablaufüberwachungsspeichers (TRACEM) 131 gespeichert sind, die sich von der Adresse Null bis zu derjenigen Adresse erstrecken, deren laufende Stelle gekennzeichnet ist durch eine um 1 verminderte Zahl des letzten Inhalts des Ablaufüberwachungs-Adressenzählers (RNGC) 132.
Wenn ein Ausgangssignal der Flipflopschaltung (FF3) 143 einen logischen Pegel »1« aufweist, so zeigt dies, daß Daten bezüglich der Mikroprogrammadressen, für die ein Ablaufüberwachungsbefehl ausgegeben wurde, in denjenigen Adressen des Ablaufüberwachungsspeichers (TRACEM) 131 gespeichert sind, die sich von der vom Inhalt des Ablaufüberwachungszählers (RNGC) 132 gekennzeichneten Adresse bis zu der Adresse erstrecken, deren Position gemäß Reihenfolge gekennzeichnet ist durch eine um 1 verringerte Zahl des letzten Inhalts des Ablaufüberwachungs-Adressenzählers (RNGC) 132. Wenn Daten in mehr Adressen zu speichern sind, als es der Kapazität des Ablaufüberwachungsspeichers (TRACEM) 131 entspricht, dann werden die Daten, die in der überschüssigen Anzahl von Adressen zu speichern sind, in denjenigen Adressen des Ablaufüberwachungsspeichers (TRACEM) 131 gespeichert, die mit der Adresse Null des Speichers beginnen. In anderen Worten, die überschüssigen Daten werden teilweise den Daten überlagert, die bereits in der vorgegebenen Anzahl von Adressen des Ablaufüberwachungsspeichers (TRACEM)i3i gespeichert wurden.
Die neuen Daten werden in den Adressen gespeichert, die sich von der Adresse Null des Ablaufüberwachungsspeichers (TRACEM) 131 bis zu derjenigen Adresse erstrecken, deren laufende Position gekennzeichnet ist durch eine um 1 verminderte Zahl des laufenden Inhalts des (RNGC) 132. Abhängig von dem Zustand der Flipflopschaltung (FF3) 143 veranlaßt der Mikroprozessor (CPU) 101, daß die Inhalte des Ablaufüberwachungsspeichers (TRACEM) 131 über einen Ausgabemultiplexer 146 und den internen Bus 106 ausgelesen werden. Sämtliche so ausgelesenen Daten werden zu einer Anzeigeeinheit (CRT) 144 oder zu einem Drucker 145, die in F i g. 9 gezeigt sind, geleitet. Die Lesesteuerschaltung (RCNT) 43 ermöglicht das Auslesen des Inhalts des ersten Mikroprogrammspeichers (MRAM) 21 Der Mikroprozessor (CPU) 101 veranlaßt, daß über den internen Bus 106 Adreßdaten zu der Adressen-Steuerschaltung (ASC) 71 ausgelesen werden. Daten der durch die Adressen-Steuerschaltung (ASC) 71 gekennzeichneten Adressen werden über den Selektor (SEL) 61 an den ersten Mikroprogrammspeicher (MRAM)IZ gegeben. Der Inhalt der entsprechenden Adresse des ersten Mikroprogrammspcichers (MRAM) 23 wird ausgelesen. Die so ausgelesenen Daten werden durch den Betrieb eines Ausgabemulliplexers 146 auf den internen Bus 106 in der Einheit von 8 Bits gegeben. Der Mikroprozessor (CPU) 101 nimmt die Inhalte jener Speicherstellen des ersten Mikroprogrammspeichers (MRAM) 23, die durch die zu der Adressen-Steuerschaltung (ASC) 71 gelieferten Adreßdaten spezifiziert werden, in Form gleichmäßig unterteilter Anteile auf. Eine Ausgabe des Mikroprozessors (CPU) 10 wird zu der in Fig.9 gezeigten Anzeigeeinheit (CRT) 44 oder dem Drucker 145 geliefert. Sämtliche oben erläuterten Operationen des Mikroprozessors (CPU) 101 folgen einem bereits in den Speicher (CM) 102 eingeschriebenen Programm.
Nun wird die Art und Weise beschrieben, in der eine erfindungsgemäße Mikroprogramm-Testvorrichtung zur Anwendung gelangt.
Zuerst wird Bezug genommen auf den Vorgang, daß die Vorrichtung zur Anwendung gelangt, wenn als Testdaten ein Paritätsbit in den zweiten Abschnitt (MRAM 2) 27 eingeschrieben wird.
(1) Eine Tastatur 103 wird zum Liefern eines Codes betätigt, um den zweiten Abschnitt (MRAM)27 als denjenigen Abschnitt zu spezifizieren, in den ein Paritätsbit geschrieben wird. Die Funktionsumschalt-Steuerschaltung 30 sendet ein Steuersignal, das für die Paritätsprüf-Betriebsart benötigt wird.
(2) Ein auf einem Lochstreifen geschriebenes Mikroprogramm wird über einen Lochstreifenleser (PTR) 147 (Fig.9) ausgelesen. Der Mikroprozessor (CPU) 101 veranlaßt, daß die so aufgenommenen Daten über den internen Bus (I-BUS) 106 an die Schreibsteuerschaltung (WCNT)Si und die Mikroprogrammadressen-Steuerschaltung (ASC) 71 geliefert werden.
(3) Die von dem Mikroprozessor (CPU) 101 gelieferten Daten werden durch den gemeinsamen Betrieb der Schreibsteuerschaltung (WCNT) 51 und der Mikroprogrammadressen-Steuerschaltung (ASC) 71 in den ersten Abschnitt (MRAM 1) 26 geschrieben. Zu dieser Zeit wird in den zweiten Abschnitt (MRAM 2) 27 ein Paritätsbit geschrieben.
(4) Ein in den ersten Abschnitt (MRAMi) 26
geschriebenes Mikroprogramm wird ausgeführt. Wenn zu dieser Zeit ein Paritätsfehler auftritt, wird die Abgabe von Taktimpulsen durch den Fehlerdetektor (FRCl) 28 gestoppt. Die Ausführung eines Mikroprogramms wird bei der Adresse unterbro- 5 (7) chen. bei der der Paritätsfehler aufgetreten ist. Die l.esesteuerschaltung (RCNT)43 nimmt die von der Mikroadressen-Steuereinheit (MAC)2l auf den Adreßbus (A-BDS) 22 abgegebenen Daten sowie von dem ersten Mikroprogrammspeicher (MRAM) 10 (8) 23 auf den Ausgabebus 31 gelieferten Daten auf. Beide Daten werden auf der Anzeigeeinheit (CRT) 144 /ur Anzeige gebracht. Die in diesem Fall dargestellten Datenworte sind Daten bezüglich der Adressen, bei denen ein Paritatsl'ehler aufgetreten ist. sowie ein Mikrobefehl, welcher der genannten Adresse einspricht.
die Anzeige auf der Anzeigeeinheit (CRT) 144. In diesem Fall werden eine als ein Anhaltepunkt spezifizierte Adresse sowie ein der Adresse einsprechender Mikrobefehl angezeigt. Wenn die Ausführung eines Mikroprogramms bei der so dargestellten Adresse unterbrochen wird, richtet die testende Person den nachfolgenden Anhaltepunkt mittels einer Prozedur ein. die dieselbe ist wie die oben erläuterte Prozedur (4). Die Ausführung eines Mikroprogramms wird bei der in der obigen Prozedur (6) angezeigten Adresse gestartet. Wenn die Funktionsumschalt-Steuerschaltung 30 ein Ablaufüberwachungs-Freigabesignal (TRCE) 47 an die Ablaufüberwachungs-Steuerschaltung (TRC) 29 gibt, wird die Flipflopschaltung (FFi) 67 zurückgesetzt, was die Abgabe eines Taktimpulses veranlaßt.
Nun wird der Vorgang des Schreibens eines Anhaltepunkts als Testdaten in den zweiten Speicher >o (MRAM2) 27 beschrieben.
(1) Die Tastatur 103 wird zum Liefern eines Codes betätigt, um den /weiten Abschnitt (MRAM2) 27 als denjenigen zu spezifizieren, der für einen Anhahepuiikt verwendet wird. Die Funklionsumschalt-Steuerschaltung 30 gibt ein für die Anhaltcpunkt-Beiriebsart erforderliches Steuersignal ab.
(2) Fin auf einem Lochstreifen geschriebenes Mikroprogramm wird durch den Lochstreifenleser (PTR) 147 ausgelesen. Der Mikroprozessor (CPU) 101 veranlaßt, daß aufgenommene Daten über den internen Bus (IHUS) 106 an die Schreibsteuerschaliung (H(TVXIaI und die Mikroprogramm-Sieuerschaliung(-l.SV/7l geliefert weitlen.
(J) W)H dem Mikroprozessor (CPU) 101 gelieferte Daten weitlen durch den gemeinsamen Betrieb der Schreihsteuerschaltimg (WCNT)Si und tier Mikroprogrammadressen-Steuerschalumg (ASC) 71 in den eisten Abschnitt (MRAM I) 26 eingeschrieben. Der /weite Abschnitt (MR AM2) 27 w ird auf einen logischen Pegel »0« gesetzt.
(4) Die testende Person betätigt die Tastatur 103. um Daten be/üglich derjenigen Adressen eines /u testenden Mikroprogramms zu liefern, mit der die Ausführung des Mikroprogramms abschließen sollte. Der Mikroprozessor (CPU) 101 veranlaßt, daß der /weite Abschnitt (MRAM2) 27 in der Betriebsart 2 auf einen logischen Pegel »I« gesetzt wird. Wenn gewünscht wird, mehrere Anhaltepunkte einzurichten, wird der oben erläuterte Vorgang wiederholt.
(>) Fin in dem ersten Abschnitt (MRAM I) 26 geschriebenes Mikroprogramm wird ausgeführt. Wenn in diesem Fall der erste Abschnitt (MRAM I) als ein Anhaltepunkt spezifiziert wird, stoppt die Ablaufüberw achungs-Steuerschaltung (TRC) 29 die Abgabe eines Taktimpulses und unterbricht die Ausführung eines Mikroprogramms vor dem Beginn eines Mikrobefehls, der einer als Anhaltepunkt spezifizierten Adresse entspricht. Zu dieser Zeit veranlaßt der Adressenstapel (ASTK)46. daß Daten bezüglich der als Anhaltepunkt spezifizierten Adresse in dem Ablaufiiberwachungsspeicher (TRACEM) 131 gespeichert werden.
(6) Der Mikroprozessor (CPU) 101 zieht über die Lesesteuerschaltung (RCNT)43 den Inhalt aus dem Ablaufüberwachungsspeicher (TRACEM) 131 für Nun wird der Vorgang des Sehreibens eines Anhalteptinkt- und Ablaufüberwaehungs-Bits als Testdaten in den zweiten Abschnitt (MRAM 2) 27 beschrieben.
(1) Die Tastatur 103 wird /um Liefern eines Codes betätigt, um den zweiten Abschnitt (MRAM 2) als denjenigen zu spezifizieren, der für einen Anhaltepunkt verwendet wird und in dem ein Ablaufüberwachungs-Bit eingeschrieben wird. Die Funktionsuiiischalt-Steuerschaltung 30 gibt für die Anhaltepunkt-Bet riebsan und A blaufüborwachiings-Betriebsart benötigtes Steuersignal ab.
(2) Fin auf einem Lochstreifen geschriebenes Mikroprogramm wird über den Lochstreifenleser (PTR) 147 gelesen. Der Mikroprozessor (CPL)) 101 veranlaßt, daß die so aufgenommenen Daten zu der Schreibsteuerschaltung (W'CNT)5\ und der Mikroprogrammadressen-Steuerschaltung (ASC) 71 geliefert werden.
(J) Die von dem Mikroprozessor (CPU) 101 gelieferten Daten werden durch die gemeinsame Arbeit der Schreibsteuerschaltung (WCNT) 51 und der Mikroprogrammadressen-Steuersclialtung (ASC) 71 in den ersten Abschnitt (MRAMi) 26 eingeschrieben. Der zweite Abschnitt (MRAM2)27 wird auf einen logischen Pegel »0« gesetzt.
(4) Die testende Person betätigt die Tastatur 103. um Daten be/üglich der Adresse zu liefern, bei der die Ausführung eines Mikroprogramms beendet werden sollte. Die Adressen, die einer Ablaufüberwachung unterzogen werden sollten, weiden durch einen Mikrobefehl spezifiziert, der ausgeführt wird, bevor die Adresse erreicht ist. bei der die Ausführung eines Mikroprogramms beendet werden sollte. Wenn jeder Mikrobefehl zum Durchführen der Ablaufüberwaehungsfunktion spezifiziert ist. ist es möglich, sämtliche ausgeführten Mikrobefehle wiederzuerkennen. Wenn ein Verzweigungs-Mikrobelchl allein spezifiziert wird, um die Ablaufüberwaehungsfunktion durchzuführen, ist es möglich, in einfacher Weise den Weg wieder zu erkennen, entlang dem ein Mikroprogramm ausgeführt wird, und die Anzahl von Adressen herabzusetzen, deren Ablaufüberwachung zu spezifizieren ist.
(5) Ein in den ersten Abschnitt (MRAM 1) 26 eingeschriebenes Mikroprogramm wird ausgeführt. Zu dieser Zeit wird die Adresse, deren Ablaufüberwachung spezifiziert ist. in dem Ablaufüberwa-
chungsspeicher (TRACEM) 131 durch die gemeinsame Arbeit der Ablaufüberwachungs-Steuerschaltung (TRC) 29 und des Adressenstapels (ASTAK) (6) 46 gespeichert. Wenn die Adresse erreicht ist, die als ein Anhaltepunkt spezifiziert ist, wird durch den Betrieb der Ablaufüberwachungs-Steuerschaltung (TRC) 29 die Abgabe eines Taktimpulses eingestellt. Die Ausführung des in den ersten Abschnitt (MRAMX) 26 eingeschriebenen Mikroprogramms wird unterbrochen, bevor die Ausführung eines Mikrobefehls beginnt, der der als ein Anhaltepunkt spezifizierten Adresse entspricht. Zu dieser Zeit veranlaßt der Adressenstapel (ASTAK) 46, daß die
entsprechende Adresse in dem Ablaufüberwachungsspeicher (TRACEM) 131 gespeichert wird.
Der Mikroprozessor (CPU) 101 veranlaßt, daß der gesamte Inhalt des Ablaufüberwachungsspeichers (TRACEM) 131 über die Lesesteuerschaltung (RCNT) 43 ausgelesen wird. Die so ausgelesenen Daten werden auf der Anzeigeeinheit (CRT) 144 dargestellt. In diesem Fall sind die auf der Anzeigeeinheit (CRT) 144 dargestellten Datenwörter die Adressen, deren Ablaufüberwachung spezifiziert ist, die Adresse, die als ein Anhaltepunkt spezifiziert ist sowie der Mikrobefehl, der der als ein Anhaltepunkt spezifizierten Adresse entspricht.
Hierzu 12 Blatt Zeichnungen

Claims (10)

Patentansprüche:
1. Vorrichtung zum Testen eines bei einem elektronischen, mikroprogrammierten Rechner verwendeten Mikroprogramms, gekennzeichnet durch:
einen Schreib-/Lese-Speicher (23), der aus einem ersten Abschnitt (26) für Mikrobefehle zum Steuern des Betriebs des elektronischen Rechners und aus einem zweiten Abschnitt (27) für wenigstens den jeweiligen Mikrobefehlen zugeordnete Daten für die Erfassung eines Fehlers in den Mikrobefehlen oder für Daten zum Steuern des Anhaltens der Ausführung eines Mikrobefehls gebildet wird; einen Fehlerdetektor (28), der, wenn Daten für die Erfassung eines Fehlers in den zweiten Abschnitt des Speichers (23) geschrieben sind einen Fehler in den in dem ersten Abschnitt les Speichers (23) gespeicherten Mikrobefehlen nach Maßgabe der Fehlererfassungsdaten erfaßt;
eine Ablaufüberwachungs-Steuerschaltung (29), die, wenn Daten zum Steuern des Anhaltens der Ausführung von Mikrobefehlen in dem zweiten Abschnitt ties Speichers (23) gespeichert sind, die 2> Ausführung von in dem ersten Abschnitt des Speichers (23) gespeicherten Mikrobefehlen nach Maßgabe der Daten anhält; und
eine Funktionsumschalt-Steuerschaltung (30) /um Entscheiden der selektiven Verwendung des Speichers (23) und eines mit einem Mikroprogramm geladenen Nur-Lese-Speichers (24) des Rechneis, und ferner der selektiven Verwendung des Fehlerdetektors (28) und der Ablaufüberwachungs-Steuerschaltung(29). r>
2. Vorrichtung nach Anspruch 1. in der die Ablaufüberwachungs-Steuerschaltiing (29) eine Funktion zum Anfordern einer Unterbrechung aufweist, gekennzeichnet durch:
eine Eingabe/Ausgabe-Steuerschaltung (41), die die 4« Adresse desjenigen allgemeinen Registers und des Hauptspeicherbereichs des elektronischen Rechners, aus denen Daten auszulesen sind, in ein Ausgaberegister (40) einschreibt,
ein Eingaberegister (42). in das die Inhalte desjenigen allgemeinen Registers oder des Hauptspeicherbereichs nach Maßgabe der in dem Ausgaberegister (40) gespeicherten Inhalte geschrieben werden; und
eine Lesesteuerschaltung (43) zum Aufnehmen der Inhalte des Eingaberegisters (42) und zum Veranlassen, daß die Inhalte auf einer Anzeigeeinheit dargestellt werden.
3. Vorrichtung nach Anspruch 1, gekennzeichnet durch einen Adressenstapel (46), der bei Empfang von Steuersignalen von der Ablaufüberwachungs-Steuerschaltung(29) die Mikrobefehlsadressen speichert, die von der Mikroadressen-Steucreinhcit (21) des elektronischen Rechners geliefert werden.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, t>o dadurch gekennzeichnet, daß ein Zähler (52) vorgesehen ist, und daß eine Schreibsteuerschaltung (51) einen Zählwert an den Zähler (52) gibt, so daß der Zähler (52) Daten zum Steuern des Anhaltens der Ausführung eines Mikrobefehls zählt, wobei ein b5 Freigabesignal von der Funktionsumschalt-Steuerschaltung (30) an die Ablaufüberwaehungs-Steuerschaltung (29) und die Lesesteuerschaltung (43) geliefert wird, um die Ausführung der Ablaufüberwachung und des Mikrobefehls zu gestatten.
5. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß der Adressenstapel (46) einen Ablaufüberwachungs-Adressenzähler (132) zum Zählen einer Anzahl von überwachten Adressen enthält; und
einen Ablaufüberwachungsspeicher (131) zum Spei chern von Adressen, in die von dem Speicher (23) ausgegebene Mikrobefehle nach Maßgabe der durch die Inhalte des Ablaufüberwachungs-Adressenzählers (132) gegebenen Adressen geschrieben sind.
6. Vorrichtung zum Testen eines bei einem elektronischen, mikroprogrammierten Rechner verwendeten Mikroprogramms, gekennzeichnet durch einen Schreib-/Lesc-Speicher (23), der aus einem ersten Abschnitt (26) für Mikrobefehle zum Steuern des Betriebs des elektronischen Rechners und aus einem zweiten Abschnitt (27) für wenigstens den jeweiligen Mikrobefehlen zugeordnete Daten für die Erfassung eines Fehlers in den Mikrobefehlen oder für Daten zum Steuern des Anhaltens der Ausführung eines Mikrobefehls gebildet wird.
eine Schreibsteuerschaltung (51) /um Schreiben von Mikrobefehlen in den ersten Abschnitt des Speichers (23) und Daten für die Erfassung eines Fehlers in den Mikrobefehlen oder Daten zum Steuern des Anhaltens der Ausführung der Mikrobefehle in den zweiten Abschnitt des Speichers (23);
einen Paritätsbit-Generator (80) zum Abgeben eines Paritätsbits bei Erhalt von Schreibdaten von der Schreibsteuerschaltung (51);
einen ersten, dem zweiten Abschnitt des Speichers (23) vorgeschalteten Selektor (77) /um Auswählen von aus der Schreibsteuerschaltung auszulesenden Daten und von von dem Paritäts-Generator· Pariiäisbit-Generator kommenden Ausgangsdaten;
eine Mikroprogrammadressen-Steuerschaltung (71), um an den Speicher (23) Adressen zu liefern, in die Daten einzuschreiben sind, oder von denen Daten zu holen sind;
einen /weiten Selektor (61), um entweder die Ausgangsdaten der Mikroprogrammadressen-Steuerschaltung (71) oder die Daten von einem Adressenbus (22) des Rechners auszuwählen:
ein erstes Flipflop (67) zum Speichern eines Ausgangssignals des zweiten Abschnitts des Speichers (23);
eine Paritätsprüfschaltung (69). um nach Maßgabe der Ausgangsdaten von dem ersten Abschnitt des Speichers (23) und dem /weiten Abschnitt des Speichers (23) eine Paritätsprüfung durchzuführen;
ein zweites Flipflop (68) zum Speichern der Ausgangsdaten der Paritätsprüfschaltung (69). und
eine Funktionsumschalt-Steuerschaltung (30), die den Betrieb des ersten und des /weiten Selektors (77,61) und des ersten und des zweiten Flipflops (67, 68) steuert.
7. Vorrichtung nach einem der Ansprüche 4 bis 6. dadurch gekennzeichnet, daß die Schreibsteuerschaltung (51)
ein Eingaberegister (111) zum Halten der von einem Eingabegerät gelieferten Daten enthält sowie
mehrere Register (112, 113, 114, 115, 116) für Daten, die aus dem Eingaberegister (111) ausgelesen sind,
ein Befehlsregister (117) /um Halten eines Befehls. der das Einschreiben von Daten in den ersten und
Abschnitt
des Speichers (23) vor-
den zweiten
schreibt, und
einen Selektor (118) zum Auswählen eines der datenhaltenden Register (112 bis 116) und zum Abgeben eines Schreib-Freigabesignals an den ersten und zweiten Abschnitt des Speichers (23).
8. Vorrichtung nach einem der Ansprüche 2,6 und 7, dadurch gekennzeichnet, daß ein Adressenstapel (46) vorgesehen ist mit einem Ablaufüberwachungs-Adressenzähler (132) zum Zählen einer Anzahl von überwachten Adressen und einem Ablaufüberwachungsspeicher (131) zum Speichern von Adressen, in die von dem Speicher (23) ausgegebene Mikrobefehle nach Maßgabe der durch die Inhalte des Ablaufüberwachungs-Adressenzählers spezifizierte Mikrobefehlsadressen eingeschrieben werden, und daß eine Lesesteuerschaltung (43) vorgesehen ist mit einer ersten Puffereinrichtung (141) zum Halten von von dem Ablaufüberwachungs-Adressenzähler (132) gelieferten Daten, einer Flipflopschaltung (143) zum Kennzeichnen von in dem Adressenstapel (46) gespeicherten Daten, einer zweiten Puffereinrichtung (142) zum Halten einer Ausgabe der Flipflopschaltung (143), einem Multiplexer (146), der selektiv die Inhalte des Ablaufüberwachungsspeichers (131) und Ausgangsdaten des ersten und des zweiten Abschnitts des Speichers (23) sendet, und einem Selektor (147) zum Auswählen von Ausgangsdaten der ersten und der /weiten Puffereinrichtung (141, 142) und des Multiplexers (146).
9. Vorrichtung zum Testen eines bei einem elektronischen, mikroprogrammierten Rechner verwendeten Mikroprogrammes, wobei der das Mikroeine Funktionsumschalt-Steuerschaltung (30) zum Aussetzen des Betriebs des Mikroprogrammspeichers (82) des elektronischen Rechners und des Fehlerdetektors (85) und zum Senden eines Steuersignals, um eine Kollision der Ausgangsgrößen des Speichers (23) mit denen des Mikroprogrammspeichers (82) zu verhindern.
10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, daß die Funktionsumschalt-Steuerschaltung(30)
einen ersten Schalter (91) zum Entscheiden, ob der Fehlerdetektor (28) oder die Ablaufüberwachungs-Steuerschaltung (29) freigegeben werden soll, enthält, sowie
einen zweiten Schalter (92) zum Entscheiden, ob dem Mikroprogrammspeicher (82) des elektronischen Rechners oder dem Speicher (23) der Mikroprogramm-Testvorrichtung gestattet werden soll, eine Ausgangsgröße abzugeben: und eine Gruppe von Verknüpfungsschaltungen, die ein vorgeschriebenes Signal abgeben, wenn ihnen ein Ausgangssignal des ersten oder zweiten Schalters oder Ausgangssignale von beiden Schaltern zugeführt werden.
DE2953432A 1978-12-18 1979-10-19 Vorrichtung zum Testen eines Mikroprogramms Expired DE2953432C1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15619978A JPS5582359A (en) 1978-12-18 1978-12-18 Microprogram test unit

Publications (1)

Publication Number Publication Date
DE2953432C1 true DE2953432C1 (de) 1983-12-22

Family

ID=15622525

Family Applications (2)

Application Number Title Priority Date Filing Date
DE792953432T Pending DE2953432A1 (de) 1978-12-18 1979-10-19 Testing device for microprogram
DE2953432A Expired DE2953432C1 (de) 1978-12-18 1979-10-19 Vorrichtung zum Testen eines Mikroprogramms

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE792953432T Pending DE2953432A1 (de) 1978-12-18 1979-10-19 Testing device for microprogram

Country Status (7)

Country Link
US (1) US4429368A (de)
JP (1) JPS5582359A (de)
CH (1) CH654943A5 (de)
DE (2) DE2953432A1 (de)
GB (1) GB2047929B (de)
SE (1) SE446671B (de)
WO (1) WO1980001323A1 (de)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57169860A (en) * 1981-04-10 1982-10-19 Yokogawa Hokushin Electric Corp Address testing equipment
US4563762A (en) * 1981-06-15 1986-01-07 General Signal Corp. Vital communication system for transmitting multiple messages
JPS58205214A (ja) * 1982-05-26 1983-11-30 Omron Tateisi Electronics Co プログラマブル・コントロ−ラのモニタ表示方式
FR2528597A1 (fr) * 1982-06-11 1983-12-16 Thomson Csf Mat Tel Dispositif de test des programmes d'un microprocesseur dans son environnement reel
US4520440A (en) * 1982-12-15 1985-05-28 International Business Machines Corporation Test verification of processor architecture having a partial instruction set
JPS59133610A (ja) * 1983-01-19 1984-08-01 Omron Tateisi Electronics Co プログラマブルコントロ−ラ
DE3501569C2 (de) * 1984-01-20 1996-07-18 Canon Kk Datenverarbeitungseinrichtung
US4841434A (en) * 1984-05-11 1989-06-20 Raytheon Company Control sequencer with dual microprogram counters for microdiagnostics
JPS60243795A (ja) * 1984-05-17 1985-12-03 シャープ株式会社 電子レジスタの変更プログラム設定装置
US5115502A (en) * 1984-11-02 1992-05-19 Tektronix, Inc. Method and apparatus for determining internal status of a processor using simulation guided by acquired data
JPS61188626A (ja) * 1985-02-18 1986-08-22 Fujitsu Ltd マイクロプロセツサ
JPH0756636B2 (ja) * 1985-12-11 1995-06-14 株式会社日立製作所 データ処理方法
JPS62257543A (ja) * 1986-04-30 1987-11-10 Toshiba Corp マイクロプログラム活性化状態検査回路
US4802165A (en) * 1986-10-08 1989-01-31 Enteleki, Inc. Method and apparatus of debugging computer programs
US4760329A (en) * 1987-04-23 1988-07-26 Grumman Aerospace Corporation Programmable tester with bubble memory
US5179696A (en) * 1987-07-24 1993-01-12 Nec Corporation Generator detecting internal and external ready signals for generating a bus cycle end signal for microprocessor debugging operation
US5535331A (en) * 1987-09-04 1996-07-09 Texas Instruments Incorporated Processor condition sensing circuits, systems and methods
JPH01140249A (ja) * 1987-11-26 1989-06-01 Nec Corp 情報処理装置
US5287483A (en) * 1988-07-06 1994-02-15 Kabushiki Kaisha Toshiba Prefetched operand storing system for an information processor
US5134701A (en) * 1989-02-10 1992-07-28 Hewlett-Packard Co. Test apparatus performing runtime replacement of program instructions with breakpoint instructions for processor having multiple instruction fetch capabilities
US5206948A (en) * 1989-12-22 1993-04-27 Bull Hn Information Systems Inc. Bus monitor with means for selectively capturing trigger conditions
US5124989A (en) * 1990-01-08 1992-06-23 Microsoft Corporation Method of debugging a computer program
US5355469A (en) * 1990-07-30 1994-10-11 Delphi Data, A Division Of Sparks Industries, Inc. Method for detecting program errors
JP2505950B2 (ja) * 1991-05-13 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション ハ―ドウェア支援ブレ―クポイント・システム
US5359608A (en) * 1992-11-24 1994-10-25 Amdahl Corporation Apparatus for activation and deactivation of instruction tracing through use of conditional trace field in branch instructions
JP2630271B2 (ja) * 1994-09-14 1997-07-16 日本電気株式会社 情報処理装置
US5754839A (en) * 1995-08-28 1998-05-19 Motorola, Inc. Apparatus and method for implementing watchpoints and breakpoints in a data processing system
US6142683A (en) * 1997-04-08 2000-11-07 Advanced Micro Devices, Inc. Debug interface including data steering between a processor, an input/output port, and a trace logic
US6148381A (en) * 1997-04-08 2000-11-14 Advanced Micro Devices, Inc. Single-port trace buffer architecture with overflow reduction
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
US6094729A (en) * 1997-04-08 2000-07-25 Advanced Micro Devices, Inc. Debug interface including a compact trace record storage
US6314530B1 (en) * 1997-04-08 2001-11-06 Advanced Micro Devices, Inc. Processor having a trace access instruction to access on-chip trace memory
US6041406A (en) * 1997-04-08 2000-03-21 Advanced Micro Devices, Inc. Parallel and serial debug port on a processor
US6189140B1 (en) 1997-04-08 2001-02-13 Advanced Micro Devices, Inc. Debug interface including logic generating handshake signals between a processor, an input/output port, and a trace logic
US6016555A (en) * 1997-11-19 2000-01-18 Texas Instruments Incorporated Non-intrusive software breakpoints in a processor instruction execution pipeline
US6175914B1 (en) 1997-12-17 2001-01-16 Advanced Micro Devices, Inc. Processor including a combined parallel debug and trace port and a serial port
US6145100A (en) * 1998-03-04 2000-11-07 Advanced Micro Devices, Inc. Debug interface including timing synchronization logic
US6145122A (en) * 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
JP2002073348A (ja) * 2000-08-31 2002-03-12 Mitsubishi Electric Corp シナリオ解析型制御システム装置
JP5670117B2 (ja) * 2010-08-04 2015-02-18 ルネサスエレクトロニクス株式会社 表示制御装置
US9495158B2 (en) * 2014-06-20 2016-11-15 Netronome Systems, Inc. Multi-processor system having tripwire data merging and collision detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2002166B2 (de) * 1970-01-19 1972-02-17 Verfahren und einrichtung zur pruefung des programmablaufes in einer programmgesteuerten datenverarbeitungsanlagew
DE2400010A1 (de) * 1973-01-02 1974-07-04 Honeywell Inf Systems Mikroprogrammierte verarbeitungsanordnung und mikro-fehlerdiagnoseanordnung fuer ein datenverarbeitungssystem
DE2246863B2 (de) * 1972-09-23 1978-05-11 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5074950A (de) * 1973-11-02 1975-06-19
JPS5223208B2 (de) * 1974-12-21 1977-06-22
JPS5361940A (en) * 1976-11-16 1978-06-02 Nippon Telegr & Teleph Corp <Ntt> Debug system for microprogram
JPS5391546A (en) * 1976-12-29 1978-08-11 Fujitsu Ltd Program debugging system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2002166B2 (de) * 1970-01-19 1972-02-17 Verfahren und einrichtung zur pruefung des programmablaufes in einer programmgesteuerten datenverarbeitungsanlagew
DE2246863B2 (de) * 1972-09-23 1978-05-11 Ibm Deutschland Gmbh, 7000 Stuttgart Einrichtung zur Protokollierung des Programmablaufs in einer Datenverarbeitungsanlage
DE2400010A1 (de) * 1973-01-02 1974-07-04 Honeywell Inf Systems Mikroprogrammierte verarbeitungsanordnung und mikro-fehlerdiagnoseanordnung fuer ein datenverarbeitungssystem

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Siemens, Elektronisches Wählsystem EWS, Zentralsteuerwerk mit SSP 102 und Bedie- nungsplatz, Dez. 1978, S.11-15 *

Also Published As

Publication number Publication date
WO1980001323A1 (en) 1980-06-26
SE8005750L (sv) 1980-08-15
US4429368A (en) 1984-01-31
GB2047929B (en) 1983-08-10
JPS5582359A (en) 1980-06-21
CH654943A5 (de) 1986-03-14
GB2047929A (en) 1980-12-03
SE446671B (sv) 1986-09-29
DE2953432A1 (de) 1980-12-18

Similar Documents

Publication Publication Date Title
DE2953432C1 (de) Vorrichtung zum Testen eines Mikroprogramms
DE4313594C2 (de) Mikroprozessor
DE2657848C2 (de)
DE3110378C2 (de)
DE3629178C2 (de)
DE19834191C2 (de) Integrierte Schaltungsvorrichtung und ihr Steuerverfahren
DE2735397C2 (de) Überwachungseinrichtung für eine programmgesteuerte Maschine
DE60002908T2 (de) Vorrichtung und verfahren zur verbesserten fehlerortung und diagnose in rechnern
CH522921A (de) Rechneranlage
DE2163162A1 (de) Schaltungsanordnung zur Kanalfehlerkorrektur
DE3116100A1 (de) Sprungabschaetz-zentraleinheit
DE2842548A1 (de) Programmierbare speicherschutzlogik fuer mikroprozessorsysteme
DE102009019961A1 (de) Vorrichtung, Systeme und Verfahren zum effizienten Verwenden von Hardware-Ressourcen für einen Softwaretest
DE2747633A1 (de) Dv-system mit einer unterbrechungseinrichtung
DE2658864A1 (de) Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit
EP2962205B1 (de) Mehrkern-prozessorsystem mit fehleranalysefunktion
DE2145709B2 (de)
DE2461592C3 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
EP0048991B1 (de) Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE2364323C2 (de) Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage
DE2657897A1 (de) Externes geraet, das die ureingabe fest gespeichert enthaelt, fuer elektronische datenverarbeitungsanlagen mit einem zentralen speicher
DE19901879A1 (de) Verfahren zum Tracen von Daten
DE2622140C3 (de) Einrichtung zur Steuerung manueller Operationen
DE102004051966A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8327 Change in the person/name/address of the patent owner

Owner name: KABUSHIKI KAISHA TOSHIBA, KAWASAKI, KANAGAWA, JP

8339 Ceased/non-payment of the annual fee