DE2242009C2 - Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden - Google Patents

Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden

Info

Publication number
DE2242009C2
DE2242009C2 DE2242009A DE2242009A DE2242009C2 DE 2242009 C2 DE2242009 C2 DE 2242009C2 DE 2242009 A DE2242009 A DE 2242009A DE 2242009 A DE2242009 A DE 2242009A DE 2242009 C2 DE2242009 C2 DE 2242009C2
Authority
DE
Germany
Prior art keywords
register
microinstruction
memory
micro
operations
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
DE2242009A
Other languages
English (en)
Other versions
DE2242009A1 (de
Inventor
Donald J. Brookline Mass. Greenwald
Thomas O. Newton Lower Falls Mass. Holtey
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Inc
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 Honeywell Information Systems Inc filed Critical Honeywell Information Systems Inc
Publication of DE2242009A1 publication Critical patent/DE2242009A1/de
Application granted granted Critical
Publication of DE2242009C2 publication Critical patent/DE2242009C2/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Correction Of Errors (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

Un - Uu- Ou-- Ou - L'iu · Om ■ Om ■ ß>7
On, ■ (in-, · (7o4 · f/nj · Um ■ Um
erfüllt ist, und daß der Signalgenerator (502) ein Signal (ß) liefert, das eine logische »1« ist. wenn der Boolesche Ausdruck
= Uu -Un- Uu ■ Pn ■ U„ ■ i/o» · Un* i/o;
• (7c* · i/o-, · U,» ■ Un ■ Um ■ Om ■
erfüllt ist, wobei U„m Bit-Positionen des Mikrobefehlsregisters (101) kennzeichnen.
7. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß das Ausgangssignal des Flip-Flops (300) und der von einem Signalgenerator (609, 613) erzeugte Code für die besondere Mikrooperation (HLT) dem Exklusiv-ODER-Glied (507) zur Erzeugung des Modifikationssignals zugeführt werden.
8. Schaltungsanordnung nach Anspruch 5. dadurch gekennzeichnet, daß Unterbefehlsgeneratoreinrichtungen (520, 611, 624) vorgesehen sind, welche bestimmte Unterbefehle (FNR. FAR. FRA) erzeugen.
Die Erfindung betrifft ein Verfahren und eine Anordnung zur Durchführung des Verfahrens zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden, wobei zur Stillsetzung von Bearbeitungsvorgängen der Datenverarbeitungsanlage besondere Mikrooperationen vorgesehen sind.
Als ROM-Speicher bezeichnete 1 .esespeicher werden in verstärktem Maße als Steuerelemente in einer zentralen Verarbeitungseinrichtung eines Rechners verwendet, und überdies können sie zur Ausführung von anderen Funktionen herangezogen werden, wie z. B. für eine Adressenerzeugung für sämtliche Rechnerspeicher (Hauptspeicher und Steuerspeicher). Die betreffenden Lesespeicher bzw. Festwertspeicher sind in den frühen fünfziger Jahren entwickelt worden, als M. V. Wilkes
J5 (siehe hierzu von M. V. Wilkes: »The Best Way to Design an Automatic Calculation Machine«. Manchester. Juli 1951. Seiten 16 bis 18) einen Rechner mit einem variablen Befehlssatz vorschlug. Die frühen Rechner waren mit einem festen Befehvs^i/ ausgerüstet, deren jeder Befehl aus einer Folge von Elemenmroperationen oder Mikroopcr;iiionen bestand. Diese frühen Rechner waren dabei so ausgelegt, daß sie die verschiedenen MikroOperationen derart ausführten, daß für jeden der Programmvorrichtung zur Verfügung stehenden Befehl die Mikrooperationsfolge in der Rechnerhardware fest vorgegeben war. Durch Bereitstellen einer Maschine mit einem variablen Befehlssatz war die Mikroprogrammiereinrichtuni» imstande, das Befehlsrcpertoire des Rechners auf Grund der Forderungen seines Problems zu ändern, und zwar durch Zusammenstellen der Mikrooperationen zu irgendeinem Befehl, den die Maschine auszuführen imstande war. Diese Befehle konnten durch die Mikroprogrammiereinrichiung geändert werden, im allgemeinen jedoch nicht durch die Maschine.
5"j Ein Rechner mit einem variablen Befehlsrcpertoire erforderte für die Speicherung der Mikrooperationsfolgen einen Speicher, der durch die Mikroprogrammiereinrichtung geändert werden konnte, nicht, aber durch die Maschine. Demgemäß wurde der Lese- bzw. Fcst-
bO Wertspeicher ROM bzw, ein zerstörungsfrei auslesbarer Speicher entwickelt. Schließlich wurden die verschiedenen Steuerelemente — das sind diejenigen Teile eines digitalen Rechners, die die Ausführung von Befehlen in richtiger Reihenfolge, die Auswertung des jeweiligen
b5 Befehls und die Abgabe der geeigneten Befehle an das Rechenelement und an andere Schaltungen in dem ROM-Speicherelemcni unc" seiner zugehörigen Hardware bewirken — zentralisiert.
' In typischer Weise handelt es sich bei einem Lesespeicher bzw. Festwertspeicher um eine rechteckförmige Speichermatrix, die eine Vielzahl von Wörtern zu speichern vermag, deren jedes aus einer Vielzahl von Bits besteht. Auf seine einfachste Funktion zurückgeführt erzeugt ein Bit eines Woi tes eine Mikrooperation. Die ein Wort bildenden Bits werden parallel ausgelesen; werden sie gleichzeitig oder nacheinander durch einen externen Takt gesteuert ausgeführt, so bilden die betreffenden Bits einen Satz von MikroOperationen. Dabei werden verichiedene Folgen von Mikrocperationen auf ihre Zusammenstellung zu Mikrooperationsbefehlen hin, mit deren Hilfe irgendwelche bezeichneten Funk- ; tionen festgelegt oder ausgeführt werden, wie z. B. die tlerauslösung und Ausführung normaler Progranmm-' befehle, als ein Mikroprogramm bezeichnet Um hinsichtlich der Rechner-Hardware und des Rechner-Ge- : brauchs wirtschaftlich zu sein, werden im allgemeinen
■ Mikroprogramme von unterschiedlichen Maschinenbe-Snch'cn durch Verändern der Ablauffolge oder von Proiigrammteilen gemeinsam benutzt. Demgemäß uyifaßt -jdie Benutzung eines Lesespeichers bzw. Festwertspeichers als Steuerelement eine erhebliche Verzweigung !innerhalb des betreffenden Lesespeichers, um die Änderungen hinsichtlich der Ablauffolge der Mikrooperationen zu bewirken, die während der Verarbeitung des
jeweiligen Programmbefehls zu benutzen sind. Zu diesem Zweck ist eine Anzahl von Verzweigungs-Mikrobefehlen zusammen mit subsidiären Verzweigungseigenschafien als Teil des Mikrobefehlsrepertoirs des Festwertspeichers vorgesehen. Da es zwingend erforderlich ist. daß die Verzweigungseigenschaften einer Maschine zuverlässig funktionieren und daß jedes Bit eines Mikrobefehls fehlerfrei übertragen und gespeichert wird, so daß ein Sieuerungsausfall der Maschine nicht auftritt, gewinnen eine Sicherheitsprüfung und eine Fehlerprüfung der Lesespeicher-Verzweigungseigenschaften Hauptbedeutung.
Die bisher bek_nnten Verfahren zur Ermittlung von Fehlern in einem Rechnersystem sind verschiedene Wege gegangen. Als hauptsächliches Verfahren ist irgendeine Form eines Datenvergleichs vorgenommen worden, bei dem Daten mit irgendeinem bestimmten vorgegebenen oder unabhängig berechneten, erwarteten Ergebnis verglichen werden. Die meisten Sicherheilsprüf- und Fehlerprüfverfahren erfordern jedoch eine Reihe von Wiederholungsoperationer. zu denen Abtast-. Verzweigungs-. Speicher-. Vergleichs- und Ausgabeoperationen gehören.
Ein besonders bekanntes Verfahren zur Fehlerfeststellung in einem Festwertspeicher ist in der US-PS 33 43 141 beschrieben. Bei diesem Verfahren erfolgt, mit wenigen Worten gesagt, eine Bit-um-Bit-Reihenprüfung des Festwertspeichers. Bei dieser Betriebsart wird ein Hauptspeicher sowohl als Datenquelle als auch als Steuereinrichtung ausgenutzt, und zwar im Unterschied zum normalen Betrieb, bei dem Daten aus dem Hauptspeicher entommen werden, um in Datenwege geleitet zu werden, und bei dem eine Steuerinformation aus dem Lesespeicher aufgenommen und Decodern zugeführt wird, die ihrerseits die Datenwege steuern bzw. tasten. Bei der Lesespeichermatrix werden dessen Adressenregister und das örtliche Speicherregister durch eine Anordnung geprüft, die ciiie nur auf 1 -Zeichen ansprechende Prüfeinrichtung und einen einstufigen Binär-Trigger enthält, der wiederholt geor.itiet werden kann, um aus einer Gruppe von binären Schaltungselementen jeweils ein Element unter der Leitung eines Prograinmbefehls zu prüfen, der in einem loschbaren Speicher(Hauptspeichec) gespeichert ist
Ein weiteres bekanntes Fehlerprüfverfahren ist in der US-PS 35 18 413 angegeben. Bei diesem bekannten Fehlerprüfverfahren führt eine Fehlerprüfvorrichtung die Prüfung der Verarbeitung von im einzelnen angegebenen Teilen eines Programmbefehls zu bestimmten Zeitpunkten durch, um zu bestimmen, ob die Ablauffolge bis zu diesem Zeitpunkt normal fortgeschritten ist. to Bei noch anderen bekannten Verfahren wird eine Paritätsprüfung angewandt, gemäß der ein Paritätsbit angegeben oder nicht angegeben wird, und zwar gemäß einem ungeraden oder einem geraden Paritätsprüfschema, gemäß dem festgestellt wird, ob in der Verarbeitungsinformation ein Bit entfallen ist oder ein Bit hinzugekommen ist
Die meisten dieser Systeme erfordern jedoch gesonderte Prüfungen und/oder Vorrichtungen zur Prüfung des Prüfsysteme bzw. Prüfschemas und/oder der Prüfvorrichtung. Dieser Vorgang kann bis .".a Unendliche gehen, um in der Anlage einen hohen Grad <m Sicherheit zu erzielen. Darüber hinaus werden bei den bisher bekanntenb Prüfschemen bzw. Prüfsystemen Verzwe·- gungsoperationen nicht unmittelbar geprüft, sondern nur indirekt, und zwar als Ergebnis der Durchführung einer anderen Fehlerlokalisierungsprüfung.
Aus der US-PS 33 91 394 ist eine Mikroprogrammsteuerung bekannt, bei der durch einen an ein Befehlsregister angeschlossenen Decoder aus Mikrobefehlen des Mikrospeichers entsprechende Steuersignale erzeugt werden. Ein Befehlszähler stellt entweder eine Folgeadresse oder im Falle eines Sprungbefehls eine modifizierte Adresse ein. Auch aus dieser bekannten Mikroprogrammsteuerung kann kein Hinweis darauf abgeleitet werden, wie die Verzweigungsoperationen unmittelbar geprüft werden können. Auch diese Entgegenhaltung beschäftigt sich mithin lediglich mit indirekter Erkennung von Fehlern aufgrund der Überprüfung von abgeleiteten Vorgängen.
Der Erfindung liegt demgemäß die Aufgabe zugrunde, einen Weg aufzuzeigen, bei dem auf besonders einfache Weise eine Aussage über die Sicherheit, mit der gewünschten Verzweigungsoperation im Mikroprogramm einer Datenverarbeitungsanlage :'usgefübrt werden, erhalten werden kann sowie Anordnungen zur Durchführung des Verfahrens anzugeben.
Diese Aufgabe ist gemäß dein Hauptanspruch gelöst. Weitere vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den weiteren Ansprüchen.
Vorteilhafterweise w'wd mit dem Verfahren erreicht, daß jede Verzweigungsoperalion die Ausführung einer modifizierten Halt-Operation veranlaßt. Durch die sich aus der Anwendung des Verfahrens ergebende andersartige Betriebsweise der Datenverarbeitungsanlage wird eine Arbeitsweise erzielt, die unmittelbar Aufschluß über die nach der Aufgabe gewünschte Aussage zu liefern imstande ist.
Eine bevorzugte A'Jsführungsform der Erfindung weist, mit wenigen Worten gesagt, ein Flipflop (RlT)auf, welches im gesetzten Zustand die Operation der HaIt-/-/Ζ-Γ-Mikrooperation ändert bzw. modifiziert Der normale, nicht geänderte Betrieb der WZ-T-Mikrooperation besteht darin, den Rechnertakt anzuhalten bzw. stillzusetzen. Ist das K/T-Flipfbp gesetzt, so setzt die HLT-IVikrooperation den Takt nicht still, jedoch wird der betreffende Takt durch jeden anderen Mikrobefehl stillgesetzt. Wenn das /f/T-Flipflop durch einen Mikrobefehl gesetzt ist muß somit der nächste Mikrobefehl ein
Ha't-r/LT-Befehl sein, um die Maschine in Betrieb zu halten.
Das /?/T-Flipf!op wird durch drei Mokrobefehle gesetzt:
a) Speichern und Verzweigen »STOBRN« zu einem Speicherplatz 0003 (oktal),
b) Speichern und Verzweigen »STROBRN« zu einem Speicherplatz 7774 (oktal) und
c) »MA1NTRA2R« \o
Wenn irgendeiner dieser Mikrobefehle zu dem bestimmten Speicherplatz geführt wird, müssen diese zu einem Speicherplatz verzweigen, der eine ZYLT-Mikrooperation enthält. Wenn bei der Ausführung dieser Mi- is krobefehle keine Fehler auftreten, setzt die Maschine ihren Lauf fort; ansonsten hält die Maschine an. Auf diese Weise ist ein Steuerungsausfall vermieden, und ferner erfolgt eine Fehleridentifizierung.
An Hand von Zeichnungen wird die Erfindung nachstehend beispielsweise erläutert.
Fig. 1 zeigt in einem Blockdiagramm ein die Erfindung benutzendes System.
Fig. 2 zeigt ein Mikrobefehlsspeicher·Wortformat eines die Erfindung benutzenden Systems.
F i g. 3 zeigt verschiedene Mikrobefehlsformate, die das System zu benutzen imstande ist.
Fig.4 zeigt schematisch in einem Blockdiagramm Verzweigungseigenschaften gemäß der Erfindung.
F i g. 5 zeigt ein Verknüpfungsblockdiagramm einer Vorrichtung, die die Operation einer f/XT-Mikrooperation zu ändern gestattet.
Fig.6 zeigt in einem detaillierten Verknüpfungsblockdiagramm eine Anordnung gemäß der Erfindung.
F i g. 7 zeigt in einem Zeitdiagramm die Folge ver- j5 schiedener Zustände bei einer Anordnung gemäß der Erfindung.
Fig.8 veranschaulicht in einem Flußdiagramm das Sicherheits- und Fehlerdiagnoseverfahren.
In Fig. I ist in einem Blockdiagramm ein die Erfindung benutzendes System gezeigt. Der Systemaufbau ist der eines programmierbaren Endgeräts, obwohl die Erfindung auch bei anderen Systemen anwendbar ist. einschließlich eines Gesamtrechnersystems.
Gemäß F i g. 1 stellt ein Lese- bzw. Festwertspeicher (ROM) 100 eine Steuereinrichtung für das System dar. In dem Lesespeicher 100 (Mikrobefehlsspeicher) sind verschiedene Typen bzw. Arten von Mikrobefehlen mit den in F i g. 3 dargestellten Formaten gespeichert. Die Mikrobefehle werden in ein LZ-Register 101 (Mikrobefehlsregister) gelesen, bei dem eine Paritätsprüfung bezüglich de.· 14 Bits niederer Ordnung zuzüglich des ggfs. vorhandenen (16.) Paritätsbits höchster Ordnung ausgeführt wird. Das 15. Bit erfüllt keine normale Steuerfunktion, sondern dient zur Entstörung bzw. Programmkorrektur (worauf weiter unten noch näher eingegangen wird), um die Lesespeicher-Folgesteuerung an ausgewählten Stellen in dem Mikroprogramm anzuhalten. Die Folgesteuerung des Lesespeichers 100 wird im allgemeinen durch schrittweises Erhöhen des Inhalts eines /{-Registers 102 (Mikrobefehlsadressenregister) ausgeführt, dessen Inhalt durch eine Inkrementeinrichtung 107 schrittweise erhöht wird, und zwar unter der Steuerung eines Unterbefehls RP1, urn das nächste Wort der Folge aus dem Lesespeicher auszulesen. Dabei sind zwei Funktionen vorhanden, die diesen schrittweisen Betrieb des Lesespeichers 100 ändern. Die eine Funktion ergibt sich aus der Test- und Sprunglogik (nicht gezeigt), und die andere Funktion ergibt sich aus den nachstehend noch näher zu beschreibenden Lesespeicher-Verzweigungseigenschaf ten. i
Im allgemeinen ermöglichen die Verzweigungseigenschaften bzw. -einrichtungen, eine aus dem Lesespeicher in das LZ-Register 101 ausgelesene neue Adresse zu dem /?-Register 102 zu übertragen. Dabei sind, mit wenigen Worten gesagt, drei Verzweigungstypen vornan- ,· den: Die Grundverzweigung, die lediglich di·. Überiragungdes Inhalts des LZ-Registers 101 zudem R- Register , , 102 ausführt: die gespeicherte Verzweigung, die die obenerwähnte Übertragung bewirkt, nachdem die in dem /?-Register 102 gerade vorliegende Adresse zu dem A-Register 103 übertragen worden ist (die in diesem System gerade vorliegende Adresse ist die Adresse der Verzweigung zuzüglich der Zuwachsgröße); ein Aus- r. tausch des Inhalts des Λ-Registers 103 mit dem Inhalt des Λ-Registers 102. 'U
Der in das LZ-Register 101 gelesene Mikrobefehl wird durch die Mikrobefehlsdecoder· und Verzweigungslogik 108 decodiert, welche die Bit-Kombination in dem LZ-Register 101 als Mikrooperalionen und Unterbefehle auswertet. (Bezüglich einer vollständigeren Erläuterung der Mikrobefehlsdecodierung sei auf Seite 467 des Buches »Digital Computer Design Fundamentals« von ' Yaohan Chu. McGraw Hill Book Company, hingewie- j sen\
Ein S/?-Regisler 105 stellt das Hauptarbeitsregister dar; es hat viele Funktionen. Zum einen dient dieses Register als örtliches Hauptsoeicherregister. durch welches eine Information in den Hauptspeicher 104 hinein oder aus diesem herausgelangcn kann. Der Inhalt eines Speicherplatzes, der durch ein Hauptspeicher-A-Adressenregister 103 adressiert wird, wird in das SR-Register ;
105 ausgelesen. Die betreffende Information kann über ' Übertragungsleilungen einem Modem 110 zugeführt werden, oder die betreffende information kann weiter -~ verarbeitet und zu dem Hauptspeicher zurückgeführt werden. Ferner kann ein Fern-Endgerät unter Heranziehung der Übertragungsleitungen und des SW-Registers 105 eine Information eingeben. Ein durch den AUF-TeW des Mikrobefehls gesteuerter 1-Bit-Addierer
106 ermöglicht, das S/?-Register auf verschiedenen Wegen mit Daten zu kombinieren, die z. B. von dem Hauptspeicher herstammen.
Der Hauptspeicher 104 ist funktionell in zwei Teilen organisiert. Die ersten 256 Bytes sind durch das A-Register 103 und durch einen 8-Bit-Parameter (nicht gezeigt) adressierbar, der durch den Lese/Schreib-Speichermikrobefehl bezeichnet bzw. spezifiziert ist. Die ; 256 Bytes stehen für die Mikroprogrammanwnedung als Zwi- y. schenspeicher für die Speicherung verschiedener Zu-'// stands-Bytes. Zählerstände und Registerstände zur Ver- j|j fügung. Darüber hinaus sind zwei Unterabteilungen in ψ. dem Hilfsspeicher vorgesehen. Die ersten 128 Speicher- g^ platze siehen für die ausschließliche Benutzung des Mi- |i kroprogramms zur Verfügung, wobei der Anwender des Ji Programms an der Benutzung dieses Bereichs gehindert |] ist. Die zweiten 128 Bytes werden als Obertragungsbe- f] reich zwischen dem Programmanwender und dem Mi- J] kroprogramm benutzt Der übrige Bereich des Haupt- ^ Speichers 104 dient der Benutzung durch das Anwen- % derprogramm als Puffer, für die Befehlsaufnahme und^i die Aufnahme anderer Daten.
Der Hauptspeichev 104 wird durch das Hauptspei- ψ cher-Adressenregister 103 adressiert- Das /4-Register ^ 103 kann eine Information ferner von dem S/?-Register |j 105 her empfangen, oder sie kann ihren Inahlt mit dem ffi
des R- Registers 102 austauschen.
Die Verzweigung in einem Lese- bzw. Festwertspeicher wird durch eine Mikrobefehlsdecoder- und Verzweigungslogik 108 ausgeführt (die Verzweigungslogik ist auf dem vorliegenden Gebiet bekannt und braucht hier nicht ini einzelnen beschrieben zu werden; es sei in diesem iusimmenhang z. B. auf das obenerwähnte Buch hingewiesen). Eine Verzweigung durch Übertragung des Inhalts des t/-Registers 101 zudem /?-Register
102 wird unter der Einwirkung des Mikrobefenls BRN und des Unierbefehls FNR ausgeführt. Eine Verzweigung durch Austauschen des Inhalts des A-Registers
103 und des /f-Registers 102 wird durch den Mikrobefehl TRA2R oder MA1NTRA2R unter dem Einfluß der Unterhefehle M/?und FRA ausgeführt.
Bezugnehmend auf F i g. 2 sei bemerkt, daß ein Lesespeicherwort 200 aus 16 Bits besteht, die in verschiedene Gruppen eingeteilt sind. Die Anzahl der Bits in irgendeiner Gruppe hängt von der Funktion der betreffenden Gruppe ab. Durch Decodieren der Lesespeicher-Bits werden sieben Mikrobefehlstypen erzeugt (siehe F i g. 3). wobei noch eine Ausweitung erfolgen kann, wenn neue Funktionen benötigt werden.
Das Lesespeicherwort bzw. Lesespeicher-Wortformat 200 ist wie folgt unterteilt:
a) Bit Ib ist ein ungerades Paritätsbit (Bit 15 ausgeschlossen),
b) Bit IS ist ein Halt-Bit (manuelles Setzen/Zurückstellen).
c) Bits 13,14 — sie bestimmen die Mikrobefehlstypen,
d) Bits 9 bis 12 — sie spezifizieren die Rechenwerkfunktion (AUF).
e) Bits 1 bis 8 — sie spezifizieren die Datenbits bei den MikroOperationen.
(In dem BRN- oder STOßfljV-Mikrobefehl sind die Bits 1 bis 12 die Adresse.)
In Fig.3 sind sieben Typen von Mikrobefehlen gezeigt, und zwar folgende Typen:
1) Bezüglich des Typs 1 des Mikrobefehls besitzt das Mikrooperationsfeld (Bits I bis 8) eine Steuerwirkung über die meisten Datenwege der Verarbeitungseinrichtung. Die Mikrooperationen dieses Typs sind in zwei Gruppen unterteilt. Die eine Gruppe betrifft die Steuerung von Datenübertragungen zwischen Registern und innerhalb der Register, wie die schrittweise Vergrößerung oder Verkleinerung des Inhalts des 5/f-Registers. Die andere Gruppe dient dazu (IV2 μ5-)Ιπιρυΐ5ε an die verschiedenen Teile des Systems abzugeben, wie z. B. Lesekarten-Impulse, Setzimpulse zum Setzen eines Fehler-Flipflops, etc.
2) Bei den Typen 2 und 3 unterscheiden sich die Mikrobefehle auf Grund der Tatsache, daß sie auf Daten hin wirksam werden, die in gewissen Speicherplätzen gespeichert sind, und daß sie der Verarbeitungseinrichtung mitteilen müssen, wo die Daten in dem Kernspeicher untergebracht sind, damit nämlich die betreffende Verarbeitungseinrichtung die Daten auffinden kann.
3) Der Mikrobefehl des Typs 4 wird dazu benutzt, einen Byte-Parameter in ein bestimmtes Register zu laden.
4) Der Mikrobefehl des Typs 5 wird im Rahmen der Erfindung unmittelbar benutzt; er erfüllt zwei Funktionen:
a) Unbedingte Verzweigung — Verzweigung zu einer Lesespeicher-Adresse N. Der Maschinenname für diesen Mikrobefehl lautet BRN; er ist dadurch definiert, daß das Bit 14 eine I ist und daß das Bit 13 eine Null ist. Unter der Steuerung dieses Mikrobefehls wird der Inhalt des tZ-Registers 101 gemäß Fig. 1 und 4 durch den Unterbefehl FNR zu dem /^-Register 102 hin übertragen, womit eine einfache Verzweigung bewirkt wird.
b) Speichern und Verzweigen — zunächst Speichern der vorliegenden Adresse und Verzweigen zu der Lesespeicher-Adrcsse N. Der Maschinenname für diesen Mikrobefehl lautet STOBRN; er ist dadurch bezeichnet, daß das Bit 14 eine 1 ist und daß das Bit 13 eine 1 ist. Unter der Steuerung dieses Befehls wird der Inhalt des /?-Registers 102 zuerst in das ■4-Register 103 unter dem Einfluß des Un'.erbefehls FRA übertragen, und dann wird der Inhalt des U-Registcrs 101 unter dem Einfluß des Unterbefehls FRNm das R-Register tO2 üuei ifägen. Dieser Vorgang veranlaßt die Speicherung der normalen nächsten Adresse in dem A-Register 103, wodurch diese Adresse für eine Unterprogramm-Rückkehradressc bzw. -Rücksprungadresse oder für andere Benutzungsfälle reserviert ist. Um zu dem nächstfolgenden Befehl zurückzukehren, nachdem ein Unterprogramm ausgeführt worden ist, wird ein Befehl benutzt, der mit TRA 2R bezeichnet ist. bei dem es sich um einen Mikrobefehl des Typs 7 handelt. Dieser Befehl bewirkt, daß der Inhalt des R-Registers 102 mit dem Inhalt des 4-Registers 103 ausgetauscht wird, und zwar durch gleichzeitige Ausführung der Unterbefehle FAR und FRA (siehe Fig.4). Eine weitere Form des TRA 2-Befehls ist der MAINTRA 2-Bcfehl. bei dem es sich ebenfalls um einen Mikrobefehl des Typs 7 handelt. Dieser Mikrobefehl unterscheidet sich aber von dem TRA 2/?-.Mikrobefeh! dadurch, daß er einen 4-Bit-Satz enthält.
Wird irgendeiner der Verzweigungs-Mikrobefehle in Anwendung auf das Fehlerdiagnose-Unterprogramm ausgeführt, so wird der betreffende Mikrobefehl so programmiert, daß eine Verzweigung zu einem Speicherplatz hin erfolgt, in welchem ein ///.T-Mikrobefehl enthalten ist (siehe Fig. 8).
5) Der Mikrobefehl des Typs 6 dient zur Prüfung der empfangsseitigen I/O-Parität.
6) Der Mikrobefehl des Typs 7 wird z. B. dazu benutzt, den Lesespeicherzyklus anzuhalten oder keinen Operationsbefehl für Programmkorrekturzwecke oder andere Zwecke auszugeben.
Zu den Mikrobefehlen des Typs 7 gehören die Befehle HLT. TRA 2R. MAlNTRA 2R und NOP. auf die weiter unten noch näher eingegangen werden wird.
Im folgenden sei auf F i g. 4 näher eingegangen, in der die Mikroprogramm-Verzweigungseigenschaften in Blockform veranschaulicht sind. Ferner ist in Fig.4 der Lesespeicher 100 mit dem Λ-Adressenregistrer 102 und dem örtlichen Lesespeicher-Register bzw. i/Register 101 gezeigt. Eine dem Adressenregister 102 zugeordnete Schritt-Logik 107 bewirkt ein Hinzuaddieren einer 1 zu dem Inhalt des Λ-Registers 102 unter der Steuerung des Unterbefehls RPi. Demgemäß wird bei Fehlen einer Verzweigungs-Mikrooperation der in der Folg« nächste Mikrobefehl ausgeführt.
Das Λ-Register 103 wird als Arbeitsregister im Hinblick auf die Verzweigungseigenschaften benutzt Der Inhalt des Λ-Registers 103 kann seriell durch das Rechenwerk des Rechners geleitet werden, um den betref-
ίο
fenden Inhalt zu verarbeiten und/oder im Hauptspeicher zu speichern, oder das betreffende Register wird einfach als Kurzzeitspeicher benutzt.
Die eine parallele Datenübertragung zwischen diesen Registern ermöglichenden Datenwege und Unterbefehle sind folgende:
a) Der Inhalt des (-/-Registers 101 kann unter der Steuerwirkung des Unterbefehls FNR parallel zu dem /?-Register 102 übertragen werden.
b) Der Inhalt des /7-Registers 102 kann unter der Steuerwirkung des Unterbefehls FRA parallel zu dem /^-Register 103 hin übertragen werden.
c) Der Inhalt des A-Registers 103 kann unter der Steuerwirkung des Unterbefehls FAR parallel zu dem /?-Register 102 !iin übertragen werden.
Darüber hinaus bewirkt das Lesespeicher-Adressenregister 102 eine Adressierung des Lesespeichers iOO. und der auf Grund dieser Adresse vorhandene Speicherinhalt wird zu dem (./-Register 101 übertragen.
Die obenerwähnten Mikroprogramm-Ver/weigungseigenschaften bzw. -einrichtungen werden da/u herangezogen, drei grundsätzliche Verzweigungs-MikrooDcrationen auszuführen. Ein zuvor im Hinblick auf F i g. 3 erläuterter Mikrobefehl des Typs 5 leitet die Ausführung der Verzweigungsfunktion und außerdem die Speicherung und Verzweigung. Der Ver/.weigungs-Mikrobefehl BRN ist (wie oben erläutert) dadurch festgelegt, daß das Bit Um des Registers 101 auf 1 gesetzt Ki und daß das Bit U\ \ des Registers 101 auf 0 gesetzt ist. Liegt dieser Zustand vor. so werden die Bits / Ί · bis (/.die den Inhalt des ^/-Registers 101 umfassen, unter dem Einfluß des Unterbefehls FNRzudem ft-Register 102 hin übertragen, womit eine einfache Verzweigung bewirkt ist.
Der Speicher- und Verzweigiingsbefehl STOBRN ist dann bezeichnet, wenn die Bits U1* und i-Ί i des Registers 101 auf 1 gesetzt sind. Wenn dies der Fall ist. wird der vorliegende Inhalt des R-Rcgisters 102 unter dem Einfluß des Unterbefehls FRA parallel /u dem .-\-Register 103 hin übertragen. Der Inhalt des (/-Registers 101 wird dann, wie zuvor erläutert, unter dem Einfluß des Unterbefehls FNR zu dem /^-Register 102 hin übertragen. Dieser Befehl veranlaßt daher die Speicherung und Reservierung der nächsten Adresse in dem Register 103. währenddessen ein Unterprogramm in dem Programm ausgeführt wird. Ist das betreffende Unterprogramm beendet, kann die reservierte Befehlsadresse zu dem /?-Registcr 102 für die Fortsetzung des Programms zurückgeführt werden. Dieser Befehlsadressenrückführung von dem Arbeitsregister 103 zu dem Lesespeicher-Adressenregister 102 wird unter der Steuerwirkung des TRA 2/?-Befehls oder des MAINTRA 2fl-Befehls bewirkt, bei dem es sich um eine spezielle Form des TRA 2/?-Befehls handelt und der von diesem Befehl sich dadurch unterscheidet, daß das Bit (Λ auf ! gesetzt ist.
Diese Befehle TRA 2R und MAINTRA 2R bewirken, daß der Inhalt des Λ-Registers 103 und der Inhalt des R-Registers 102 ausgetauscht werden, und zwar durch gleichzeitige Ausführung der Unterbefehle FAR und FRA.
Wenn irgendeiner dieser Mikrobefehle ausgeführt ist. wird eine Verzweigung zu einem Speicherplatz vorgenommen, der einen Halt-Befehl ///.Tenthält.Wie weiter unten noch näher erläutert werden wird, läuft das Maschinenprogramm weiter, wenn keine Frhler vorhanden sind Sind jedoch ein oder mehrere Fehler vorhanden, so hkif die Maschine an. Dadurch ist ein Steuerungsverlusl verhindert, und ferner erfolgt eine Fehleridentifizierung an Hand des Inhalts des R-Registers 102. Die Anordnung, die den Ηί,Γ-Befehl derart modifiziert, daß dieser eine zu seiner normalen Operation entgegengesetzte
5 Operation leitet bzw. anweist, ist in F i g. 5 gezeigt.
In F i g. 5 sind UND-Glieder 501 und 502 gezeigt, die mit ihren Eingängen an dem (-/-Register 101 (Fig. 4) angeschlossen sind. Der Ausgang bzw. die Ausgangsklemme des UND-Gliedes 501 ist mit einem Eingang
ίο bzw. einer Eingangsklemme eines UND-Gliedes 504 verbunden, während der Ausgang des UND-Gliedes
502 mit einem Eingang eines UND-Gliedes 505 verbunden ist. Die UND-Glieder 504 und 505 sind ferner mit einem Eingang an einem FNK-Funktionsgenerator angeschlossen (der in F i g. 6 als UND-Glied 520 dargestellt ist). Das UND-Glied 503 ist mit einem seine Eingänge an die Bit-Stelle L'M des /<■ Registers 101 angeschlossen, und der andere Eingang des UND-Gtiedes
503 is; an einem />'/?-Funk::or.5ge::era:cr arigeschlossen, der weiter unten noch näher zu beschreiben ist. Die Ausgänge der UND-Glieder 503, 504 und 505 sind mit den Eingängen eines ODER-Gliedes 510 verbunden, dessen Ausgang mit dem D-Anschluß eines Flipflops 500 verbunden ist. Der T.ikteingang des Flipflops 500 ist
y, mit dem Ausgang des UND-Gliedes 506 verbunden, dessen Eingänge mit einer C Iß-Leitung bzw. mit S\- stemtaktimpulsgeneratoren verbunden sind.
Die Setz- oder 1-Klemme des Flipflops 500 ist mit einem Eingang eines E\klusi\-ODER-Gliedes 507 \er-
jii blinden, dessen anderer Eingang mit einem /7Z-T-Funktionsgenerator verbunden ist. der im Zusammenhang mit F i g. b noch erläutert werden wird. Der Ausgang des E\kluMv-ODER-Gliedes 507 ist schließlich mit der S\stemtaktschaltung verbunden; d.\s beireffende Ve,--
r, knüpfungsglied 507 hält die Taktinipulsabgabe an. wenn sein Ausgangssignal mit hohem Pegel auftritt.
Vom Ausgang des UND-Gliedes 501 tritt ein Ausgangssignal \ auf. wenn das UND-Glied 501 durchschaltet. D;is UND-Glied 501 schaltet durch, wenn die Bus
4i» ( 'h. (■',>;. ( Ί ι und Cn gese'zt sind bzw. mit hohem Pegel auftreten und die übrigen Bjts mit_nic(>jgem Pegel auftreten (d. h. \ = i',4 · L'm ■ 77,; ■ 77, ...77,)) · ('„_- · U1,:). Das UND-Glied 502 schaltet durch, wenn sämtliche Bits gesetzt sind bzw. mit hohem Pegel auftreten, jedoch mit
4> Ausnahme der Bits (Oi und L\r (dies heißt ,/=i'i4 -Un- L'i: · Un... U,,> ■ 77,o ■ Γ/,.,). Da die Vusgangssignale λ und β mit dem Unterbefehl FNR undmäßig verknüpft werden, wird das Flipflop 500 in Abhängigkeit von dem auf der mit ClB bezeichneten
5(i Leitung auftretenden entsprechend zu bezeichnenden Impulssignal gesetzt, wenn λ oder β und FNR vorhanden sind. Wenn ein S7"Oß/?/V-Befehl ausgeführt wird, und zwar entweder zu dem Speicherplatz 0003 oder zu dem Speicherplatz 7774 (oktal), wird, so weit ersichtlich.
das Flipflop 500 gesetzt, und es tritt das Signal /?/7"auf. Da das Signal RiT mit dem WLT-Signal durch das Exklusiv-ODER-Glied 507 verknüpft wird, wird der Takt angehalten, wenn das R/T-Signal oder das HLT-S\%na\ eingestellt ist. nicht aber dann, wenn beide Funktionen vorhanden sind. Demgegenüber wird bei gesetztem Flipflop 500 und bei mit hohem Pegel auftretendem /?/7"-Signal und bei ebenfalls mit hohem Pegel auftretendem HLT-Signal das Exklusiv-ODER-Glied 507 nicht durchschalten, wenn während des nächsten Mikrobefehls der Impuls Clß das f/LT-Signal erzeugt. Dadurch wird der Takt nicht angehalten. Es dürfte somit ohne weiteres einzusehen sein, daß ein Speicher- und Verzweigungsbefehl STOBRN für den Üktal-Speieher-
plat/ 000J oder für den Oktal-Speicherplatz 7774 die nächste //LT-Milirooperation ändern wird. Da die norm/ .· Funktion bzw. Operation der WLT-Mikrooperation d;irin besteht, den Maschinentakt anzuhalten, wenn das Flipflop 500 gesetzt ist. so daß das /?/7"-Signal mit hohem Pegel auftritt, wird der Takt durch die WLT-Mikrooperation nicht angehalten; dies erfolgt jedoch durch jeden anderen Mikrobefehl. An Hand der nachstehenden Wemabelle sind die verschiedenen Kombinationen der WLT-Mikrooperation und des Λ/7-Signals angegeben, die zum Stillsetzen oder zur Freigabe des Takts führen.
Tabelle I
KIT Taktstop Operalioiislyp
G 0 0 Normaüauf
0 1 1 Fehler-Stop
1 0 1 Normal-Halt
1 1 0 Prüfung einwandfrei —
kein Stop
Die vorstehende Wertetabelle I zeigt im übrigen, daß ■ dann, wenn die Signale WL7" und RIT mit niedrigem Pegel auftreten, der Takt nicht angehalten wird. Tritt das Signal WL7"mil niedrigem Pegel auf und das Signal RITmn hohem Pegel, so wird der Takt angehalten. Tritt das Signal IILTmh hohem Pegel auf und das Signal RIT mit niedrigem Pegel, so liegt ein Normal-Halt vor. Dies heißt, daß die //ΛΓ-Mikrooperaiion nicht geändert worden ist. Treten die Signale HLT und RIT mit hohem Pegel auf. so liegt eine einwandfreie Prüfung vor. und der geände'tc bzw. modifizierte WLT-Befehl tritt mit niedrigem Pegel auf: er bewirkt kein Anhalten des Takts
Im Hinblick auf F i g. b sei bemerkt.daß NAND-Glieder 601 und 605 mit ihren Eingängen jeweils an die Bitstellen I bis 8 des (/-Registers 101 angeschlossen sind. Mit den Ausgängen der betreffenden NAND-Glieder 601 und 605 sind Inverter 602 bzw. 606 verbunden. Ferner sind NAND-Glieder 603 und 607 vorgesehen, die jeweils mit einem Eingang mit dem Ausgang des Inverters 602 bzw. 606 verbunden sind. Sechs Eingänge der Eingänge der NAND-Glieder 603 und 607 sind jeweils mit den Bitstellen 9 bis 14 des L/-Registers 101 verbunden, während die übrigen Eingänge der jeweils acht Eingänge aufweisenden NAND-Glieder 603 und
607 nicht benutzt sind. Der Ausgang des NAND-Gliedes 603 ist mit dem Eingang eines Inverters 604 verbunden, dessen Ausgang seinerseits mit dem Eingang eines UND-Gliedes 617 verbunden ist. Der Ausgang des NAND-Gliedes 607 ist mit dem Eingang eines Inverters
608 verbunden, dessen Ausgang mit dem Eingang eines UND-Gliedes 618 verbunden ist. Die UND-Glieder 617 und 618 sind mit weiteren Eingängen undmäßig zusammengefaßt an ein FAZß-Generator-UND-Glied 520 angeschlossen. Der eine Eingang des UND-Gliedes 520 ist mit der Bitstelle 14 des LZ-Registers 101 verbunden, und der andere Eingang des betreffenden UND-Gliedes 520 ist an dem C1 ß-Impulsgenerator angeschlossen. Ein
, NAND-Glied 609 ist mit sieben seiner acht Eingänge an den Bitstellen 8 bis 14 des LZ-Registers 101 angeschlossen. Ferner ist das NAND-Glied 609 mit seinem Ausgang an dem Eingang eines Inverters 610 angeschlossen, dessen Ausgang seinerseits mit jeweils einem Eingang von NAND-Gliedern 611. 613 verbunden ist Das NAND-Glied 611 ist mit sechs seiner Eingänge mit den Bitstellen 0 bis 3 und 5 bis 7 des (/-Registers 101 verbun- ' den. Der (/«-Eingang des NAND-Gliedes 611 wird hier ' nicht benutzt. Dies ermöglicht, das Bit 4 als »Gleichgüitigkeits«-Bit zu verwenden. Der Ausgang des N/.ND-Gliedes 611 ist mil dem Eingang eines Inverters 612 verbunden, der seinerseits den FA/f-Untcrbcfchi erzeugt. Dieser Unterbefehl wird dazu ausgenutzt, den Inhalt des -4-Registers 103 in das «-Register 102 zu übertragen. Das NAND-Glied 613 ist mit sieben seiner Eingänge an den Bit-Stellen 1 bis 7 des (./-Registers 101 angeschlossen. Der Ausgang des NAND-Gliedes 613 ist mit dem Eingang eines Inverters 614 verbunden, der seinerseits die WLT-Mikrooperaüon erzeugt, und zwar auf einen WLT-Mikrobefehl in dem (/-Register 101 hin. Ein UND-Glied 615 ist mit seinem einen Eingang an dem F4/?-Funktionsgeneraior angeschlossen, und der andere Eingang dieses UND-Gliedes 615 ist an der Bit-Stelle 4 des (/-Registers 101 angeschlossen. Der Ausgang des UND-Gliedes 615 ist mit dem einen Eingang eines NOR-Gliedes 619 verbunden. Das UND-Glied 616 ist mit einem seiner Eingänge geerdet, und der andere Eingang ist »hochgelegt«, d. h. verkniipfiingsmiißig z. B. auf 1.
>-> Die Ausgänge der UND-Glieder 616, 617 und 618 sind mit Eingängen des NOR-Gliedes 619 verbunden. Der Ausgang des NOR-Gliedes 619 ist mit dem Eingang bzw. der Eingangsklemme eines Inverters 621 verbunden, dessen Ausgang mit dem D-Eingang bzw. der D- m Klemme des Flipflops 500 verbunden ist. Das Flipflop 500 ist ein sogenanntes MIL Standard »D«-Flipflop, obwohl auch andere Flipflopartcn verwendet werden können. Diese Art von Flipflop weist einen Takteingang auf. der ein Flipflop veranlaßt, seinen Zustand auf die Zufüh-Ji rung der zu positiven Pegelwerten ansteigenden Flanke eines Impulssignals hin zu ändern. Mit dem Takteingang des Fiipfiops 500 ist der Ausgang des NAND-Giiedes 622 verbunden, dessen Eingänge mit dem C lS-lmpulsgenerator (nicht gezeigt) bzw. aem Systemtaktgenerator verbunden sind. Die Setz- oder 1-Klemme des FIipflops 500 liefert das /?/7"-Signal. das dem einen Eingang eines Exklusiv-ODER-Gliedes 507 zugeführt wird. Die Rückstell- oder Null-Klemme des Flipflops 500 lie\^ri das negierte tf/7-Signal. Das Exklusiv-ODER-Glied 507 ist mit einem weiteren Eingang an dem WLT-Funktionsgenerator 614 angeschlossen. Der Ausgang des Exklusiv-ODER-Gliedes 507 ist mit der Systemtaktschaltung verbunden. Das UND-Glied 624 bildet den FRA-Gcncrator; es ermöglicht die Übertragung des Inhalts des «-Registers 102 in das /4-Register 103. Die Eingänge dieses UND-Gliedes 624 sind mit dem F/V/?-Funktionsgenerator und der Bit-Stelle 13 des (/-Registers 101 verbunden.
Im Betrieb erzeugen die Verknüpfungsglieder 601, 602, 603 und 604 im Zusammenwirken ein Verknüpfungssignal, welches anzeigt, daß das im (/-Register 101 gerade vorliegende Bit-Muster ein zu dem Speicherplatz 0003 hinweisender Befehl STOBRNist. In entsprechender Weise ermitteln die AM/VD-Glieder 605. 606, 607 und 608 einen zu dem Speicherplatz 7774 hinweisenden Befehl STOBRN. Wenn die Ausgangssignale der Inverter 604 und 608 mit hohem Pegel auftreten, ist eine Anzeige dafür vorhanden, daß der eine oder andere dieser Mikrobefehlstypen in dem LZ-Register 101 zu dem betreffenden Zeitpunkt vorhanden ist Das UND-Glied 520 stellt fest daß eine Verzweigung, und zwar entweder eine gespeicherte Verzweigung oder eine nor-Tiale Verzweigung, angefordert wird, und ferner er-
zeugt das betreffende UND-Glied 52tf einen Unterbefehl FNR, der mit Auftreten die Übertragung des Inhalts des {/-Registers 101 in das Ä-Register 102 ermöglicht Die beiden UND-Glieder 617 und 613 verarbeiten die Ausgangssignaic des UND-Gliedes 520 undmäßig mit den Ausgangssigiialen des Inverters 604 bzw. 608. Diese undmäßig verknüpften Ausgangssignale werden dann odermäßig zusammengefaßt, und zwar durch das .NOR-Glied 619 und den Inverter 621. Das UND-Glied 615, dessen Ausgangssignal ebenfalls durch das NOR-Glied 619 und den Inverter 620 odermäßig verarbeitet wird, ermittelt die Ausführung eines speziellen TRA 2/?-Mikrobefehls, der für die Wartungsprüfung benutzt wird. Das Bit 4, das in dem FaIi, daß es eine 1 ist zum Ausgang des UND-Gliedes 615 geleitet wird,zeigt den speziellen TRA 2P-Mikrobefehl an. Die mit dem Eingang des UND-Gliedes 615 über die Verknüpfungsglieder 611 und 612 verbundenen Verknüpfungsglieder 609 und 610 zeigen an, daß der Mikrobefehl ein solcher des Typs 7 ist. Dies erfolgt dadurch, daß festgestellt bzw. bestimmt wird, daß die Bits 13 und 14 des t/Registers 101 beide Null sind und daß die AUF-ß'ns 9, 10, 11 un.J 12 eine Hexadezimale E (1110) bilden.
Das von dem Inverter 610 gelieferte Ausgangssignal wird von zwei gesonderten Verknüpfungsgliedern benutzt: Das eine Verknüpfungsglied 611 decodiert einen Teil des L/Registers 101. um anzuzeigen, daß der Mikrobefehl ein TRA 2Ä-Mikrobefehl ist oder daß der FAR-Beieh] zu aktivieren ist. Es sei darauf hingewiesen, daß bei dem Verknüpfungsglied 611 die vierte Bit-Stelle (Λ nicht als Eingangssignal für das Bit-Muster dient und bei der Erzeugung der F4/?-Funklion nicht umfaßt ist. Das vierte Bit des LZ-Registers 101 wird dem einen Eingang des UND-Gliedes 615 zugeführt, um anzuzeigen, daß anstelle einer normalen F,4/?-Funktion der Betrieb mit einer F4/?-Funktion des Wartungstyps erfolgt. Demgemäß läßt das Ausgangssignal des Inverters 621 durch die Verknüpfungsgücder 615 bis 619 unterstützt erkennen, daß einer der drei Verzweigungsbefehle des Wartungstyps auszuführen ist. Demgemäß veranlaßt eine auftretende gespeicherte Verzweigung STOBRN zu dem Speicherplatz 0003 oder eine Verzweigung STOBRN zu dem Speicherplatz 7774 oder eine Warlungsvcrzweigung TRA 2R. daß das /?/7~-Flipflop 500 gesetzt wird.
Das Verknüpfungsglied 622 steuert den Takteingangsimpuls für das Flipflop 500. Wie oben bereits erwähnt, handelt es sich bei dem Flipflop 500 um ein Flipflop des Mll.-Standard-Typs D. Dieses Flipflop ist so aufgebaut, daß mit Auftreten eines positiven Signalsprungs am Ausgang des Vcrkniipfungsglicdes 622 das gerade vorliegende Atisgangssignal des Inverers 621, dessen Ausgangssignal dem D-Eingang des Flipflops 500 zugeführt wird, in dein betreffenden Flipflop gespeichert wird, bis der nächste Signalsprung am Verknüpfungsglied 622 auftritt. Auf diese Weise wird je C 1B-Zyklus der Inverter 621 einmal abgetastet, um anzuzeigen, ob der gerade vorliegende Befehl einer des Wartungs-Verzweigungstyps ist. Liefert das Verknüpfungsglied 621 keine 1. so wird das RIT-Flipflop beim nächsten Clß-Zyklus zurückgestellt. Dadurch wird das betreffende Flipflop für eine Mikrobefehlsdauer gesetzt, wobei eine Änderung bzw. Modifizierung der nächsten Mikrooperation bei richtigem Betrieb erfolgt, nämlich zu einem HLT-Bdehi Das NAND-Glied 613 und der Inverter 614 werden dazu herangezogen, den HLT-Mikrobefehl festzustellen, wenn er in dem U- Register 101 enthalten ist. Das NAND-Glied 609 und der Inverter 610 stellen den höherwertigen Teil des Bitmusters in dem LARegister 101 fest; sie bestimmen damit den Mikrooperationstyp 7,d. h. die Bits bis LA4- Das NAND-Glied 613 und der Inverter 614 ermitteln das niederwertige Bit-Muster in dem iZ-Register 101 im Hinblick auf eine vollständige Berücksichtigung des gesamten Musters, welches eine //LT-Mikrooperation darstellt Die HLT^-Mikrooperation ist vorhanden bzw. 1. wenn die Bits Um, Uio, Un und U12 mit hohem Pegel auftreten und wenn die übrigen Bits mit niedrigem Pegel auftreten. Wenn dieses Bit-Muster vorhanden ist wird eine HLT-Mikroopertion ausgeführt
Das Ausgangssignal des NAND-Gliedes 613 und des Inverters 614 wird mit dem RIT-Ausgangssignal des Flipflops 500 mit Hilfe des Exklusiv-ODER-Gliedes 507 entsprechend einer Exklusiv-ODER-Funktion verknüpft. Auf diese Weise wird festgestellt daß in dem Fall, daß das Α/Γ-Flipflop 500 zurückgestellt ist. das Ausgangssignal des Exklusiv-ODER-Gliedes 507 eine 1 ist wenn der HLT^Mikrobefehl vorhanden LsI1 und daß in dem Fall, daß das Ä/T-FKpflop 500 gesetzt ist, das Ausgangssignal des Exklusiv-ODER-Gliedes 507 Null und der WLT-Mikrobefehl vorhanden ist. Dieses Ausgangssignal wird anschließend dem Flipflop (nicht gezeigt) zugeführt, welches den Betrieb der Systemtaktschaltung steuert und welches die Stillsetzung des Taktes bei Auftreten des betreffenden Ausgangssignals veranlaßt Dies dient für die Zwecke der Wartungsprüfung, wie dies in der nachstehend im Zusammenhang mit F i g. 8 noch erläuterten Tabelle 11 angegeben ist.
Das UND-Glied 624 liefert den F/M-Unterbcfchl. der die Übertragung des Inhalts des /?-Registers 102 in das LZ-Register 101 ermöglicht, wenn der Mikrobefehl eine gespeicherte Verzweigung ist. Dies wird durch undmäßiges Zusammenfassen der F/V/?-Funktion und des durch eine 1 gebildeten 13. Bits des U- Registers ausgeführt.
Im folgenden sei auf das in F i g. 7 dargestellte Zeitdiagramm (nicht maßstabsgerecht) eingegangen, welches die Ablauffolge des Abrufs, der Ausführung, des Setzens des /?/7"-FHpflops und des /VZ.Γ-Befehls veranschaulicht. Mit CiA ist der Abrufzyklus für den Fall veranschaulicht, daß das LZ-Register 101 Daten aus einem solchen Speicherplatz des Lesespeichers aufnimmt. der durch das /?-Register 102 adressiert ist. Dieser Zyklus dauert im wesentlichen I1/. Mikrosekunden. obwohl auch andere Zeitspannen in diesem Zusammenhang benutzt werden können. Der CI ß-Zyklus bzw. das C lö-Impulssignal dauert etwa Vj Mikrosekundc: bei jo dieser Zeitspanne handelt es sich um die tatsächliche Dauer, während der der Inhalt des Registers 101 in das Register 102 übertragen wird, wenn ein BR/V-Mikrobcfehl unter dem Einfluß eines UnterbcL'hls FNR ausgeführt wird oder wenn der Inhalt des Registers 102 unicr dem Einfluß des Unterbefehls FRA in das Register 103 übertragen wird und wenn anschließend der Inhalt des Registers 101 unter dem Einfluß des Untcrbcfchls FNR in das Register 102 übertragen wird, oder aber wenn schließlich der Inhalt des Registers 102 mit dem Inhalt w) des Registers 103 ausgetauscht wird, und zwar mit Hilfe des Mikrobefehls TRA 2R oder MAINTRA 2R unter dem Einfluß der Unterbefehle FRA und FAR. Nach der Ausführung irgendeines Verzweigungs-Mikrobefehls zu einem Oktal-Speicherplatz 0003 oder 7774 isi das Flipflop 500 gesetzt, und das Signal /?/7~tritt mit hohi-in Pegel auf: es verbleibt mit hohem Pegel bis /um nächsten ausgeführten Unterbefehl. Schließlich triii cmc WL7~-Mikrooperalion auf. wenn sie während eines Aus-
fuhrungszyklus vorhanden ist.
F i g. 8 zeigt in einem Flußdiagramm eine Abtastprüfung und eine Prüfung von Verzweigungseinrichtungen. Zunächst erfolgt eine Prüfung der durch die Oktalwerte 0000 bis 7770 bezeichneten Speicherplätze des Lesespeichers hinsichtlich der Parität, und sodann werden die Oktal-Speicherplätze 7771 bis 7774 und 0003 bis 0006 dazu herangezogen, die Verzweigungseigenschaften bzw. -einrichtungen des Systems zu prüfen. Das System wird dadurch in Betrieb gesetzt bzw. ausgelöst, daß das Ä-Register 102 mit dem Speicherplatz 0000 in Verbindung gebracht wird (Block 701). An der durch die Lesespeicher-Adresse 0000 bezeichneten Stelle ist ein Mikrobefehl vorhanden, der ei^p Nichtausführungs-Prüfung festlegt bzw. einstellt (Block 702). Während dieser Nichtausführungs-Prüfung bewirkt das /?-Register 102 eine Adressierung des jeweiligen Lesespeicherplatzes von dem Oktalwert 0000 bis zu dem Oktalwert 7770 (Blöcke 702 bis 705). Da jeder Lesespeicherplatz durch das Register 102 adressiert wird, wird der Inhalt des jeweiligen Speicherplatzes in das i/Register 101 gelesen, woraufhin eine Paritätsprüfung bezüglich des Inhalts vorgenommen wird. Dabei wird jedoch kein Unterbefehl oder Ausführungsbefehl abgegeben. Wenn der Lesespeicherplatz 7770 erreicht ist, wird die Nichtausführungs-Prüfung zurückgestellt (Block 705). Ab diesem Schritt ruft die Maschine nicht nur einen Befehl in das f-Register 101 ab, sondern sie führt diesen Befehl auch aus. Der nächste Speicherplatz 7771 des Lesespeichers 100 enthält einen Mikrobefehl STOBRN0003, bei dem es sich um einen Speicher- und Verzweigungsbefehl /.u dem Oktalspeicherplatz 0003 handelt. Wenn das /?-Register 102 den Speicherplatz 7771 adressiert (Block 706). erfolgt eine Verzweigung zu dem Speicherplatz 0003 hin (Block 707). Wenn der STOBRN-Befehl richtig ausgeführt worden ist und wenn eine Verzweigung zu dem Speicherplatz 0003 hin ausgeführt worden ist, wird somit das Flipflop 500 gemäß Fig. 5 gesetzt, welches seinerseits das /?/7"-Signal setzt (siehe F i g. 6 und 7). An dem Speicherplatz 0003 (Block 707) ist cine HLT-Mikrooperation vorhanden. Die normale Funktion der /-//L7~-Mikrooperation besteht darin, die Maschine anzuhalten. Da das Flipflop 500 diese Mikrooperation jedoch verändert hat. und zwar durch Setzen des ff/7~-Signals. setzt die Maschine ihren Lauf fort. Dies zeigt an, daß der STOBR/V-Mikrobcfehl richtig ausgeführt worden ist. Ist z. B. keine Verzweigung zu dem Speicherplatz 0003 hin erfolgt als eine solche Verzweigung durch den STOß/?/V-Mikrobefehl in dem Speicherplatz 7771 gefordert worden war. so würde der Inhalt des Registers 102 auf einenWert erhöht werden, der dem Oktal-Speicherplaiz 7772 entspricht, an dem ebenfalls ein HLT-Mikrobefehl vorhanden ist (Block 709). In diesem Augenblick würde das Flipflop 500 jedoch das Λ/Γ-Signal nicht setzen, da das betreffende Signal durch ein bestimmtes Bit-Muster eingestellt wird und da der Unterbefehl FNR in dem STOß/W-Befehl entweder auf den Speicherplatz 0003 oder 7774 hinweist, wie dies oben erläutert worden ist. Deshalb würde die Maschine unter dieser Bedingung anhalten und das Vorliegen eines Fehlers in der Verzweigung anzeigen. Auf die erfolgreiche Beendigung einer Verzweigung von dem Speicherplatz 7771 zu dem Speicherplatz 0003 hin (Blöcke 706 und 707) ist die Fähigkeit des von dem i/-Register 101 zu dem /?-Register 102 hinführenden Datenweges hinsichtlich der Übertragung von im wesentlichen durch Nullen gebildeten Zeichen überprüft worden. Das Lesespeicher-Adressenregister 102 adressiert dann den Lesespeicherplatz 0004 (Block 708), an welchem eine spezielle Form des TRA 2R-MikrobefehIs oder des MAIN- TRA 2/?-Mikrobefehls vorhanden ist. Der MAIN- TRA 2Ä-Mikrobefehi bewirkt auf seine Ausführung hin den Austausch des Inhalts des A-Registers 103 mit dem Inhalt des Ä-Registers 1OZ Da bei der Ausführung des vorhergehenden STOßÄ/V-Mikrobefehls (Block 706) der Inhalt des Ä-Registers 102 zuerst auf die Oktal-Adresse 7772 vergrößert wurde, die dann kurzzeitig in
ίο dem A-Register 103 vor der Übertragung des Inhalts des L/-Registers zu dem /?-Register 102 zwischengespeichert wurde, führt die Ausführung des MAINTRA 2R-Mikrobefehls dazu, daß die in dem A-Register 103 gespeicherte Adresse 7772 zurückgebracht und in das R-Register 102 eingegeben wird. Daraufhin wird der !r,-halt des /?-Registers 102 in das A-Register 103 eingeführt. Bei nunmehr die Adresse 7772 enthaltendem Lesespeicher-Adressenregister 102 erfolgt eine Verzweigung von dem Speicherplatz 0004 zu dem Speicherplatz 7772 (Blöcke 708 und 709). Dabei wird erneut das RIT-Signal eingestellt bzw. bereitgestellt; da am Speicherplatz 7772 eine W-T-Mikrooperation vorhanden ist, setzt die Maschine ihren Betrieb fort, wenn die Übertragung richtig ausgeführt wird. Das Mikroprogramm wird
fortgeführt zu dem Block 710 hin. wenn der Inhalt des K-Registers 102 auf die Adresse 7773 erhöhl wird. An dem durch die Adresse 7773 bezeichneten Speicherplatz ist ein weiterer MAINTRA 2R-Mikrobefehl, der ebenfalls einen Austausch des Inhalts des A-Registers 103
jo mit dem Inhalt des /^-Registers 102 bewirkt. Dies führt dazu, daß die Adresse des Lesespeicherplatzes 0005 in das R-Register 102 gelangt, welches einen WZ.7"-Mikrobefehl in das LZ-Register 101 liest. Bei diesem Mikrobefehl handelt es sich um den Mikrobefehl, der an dem
j5 Lesespeicherplatz 0005 untergebracht ist. Da das RIT-Signal des Flipflops 500 auf die Ausführung des MAIN- TRA 2/?-Mikrobefehls hin eingestellt worden war und da der /YZ.7"-Mikrobefehl modifiziert wurde, wird das Mikroprogramm zu dem nächs?en Speicherplatz 0006 (Block 711 zu Block 712) ausgeführt, und die Maschine wird nicht angehalten. Der Lesespeicherplatz 0006 enthält einen S7Oß/?MMikrobcfehl,der in das (./-Register 101 ausgelesen wird. Dieser Mikrobefehl wird decodiert und durch Übertragung des Inhalts des U-Registers, das
•π ist die Adresse 7774, in das /?-Register 102 ausgeführt (Block 712 zu Block 713). Nach der Ausführung des STOßflyV-Mikrobefehls wird das Λ/7-Signal eirgestelli. Der Speicherplatz 7774 enthüll einen WZ.7-Mikrobefehl. der auf sein Auslesen in das Register 101 und auf seine Decodierung hin den Maschinenlauf ermöglicht, da nämlich das Λ/Γ-Signal gesetzt ist. Die nächste Lesespeicherplatzadressc ist die Adresse 7775 (Block 714). An diesem Speicherplatz ist ein Verzweigungs-(ß/f/V/Mikrobefehl vorhanden, der eine Verzweigung der Maschine zu dem letzten Lesespeicherplatz 7777 hin bewirkt (der Speicherplatz 7776 ist ein Speicherplatz, der für Paritätsfehlerprüfung reserviert ist und der bei dieser Prüfung übergangen wird). Der letzte Speicherplatz (Block 716) dient zur Prüfung eines Wartungs-Schalters der vorgesehenen Wartungsschalter, welcher anzeigt, ob dieses Unterprogramm erneut ausgeführt oder ob zu anderen Fehlerprüfungen übergegangen werden sollte. Ist der betreffende Schalter geöffnet, so wird der Inhalt des Lesespeicher-Adressenregisters 102 um I erhöht, wodurch das Prüf-Unterprogramm wieder zu dem Speicherplatz 0000 zurückgebracht wird. Auf diese Weise werden die Nichtausführungs-Prüfung eingestellt und alle Vorgänge wieder ausgeführt. Liefert
der Prüfschalter eine 1, so wird der Inhalt des Lesespeicher-Adressenregisters einmal im Normalfall oder für den Fall, daß die Prüfung gültig ist, vergrößert, und das Programm wird zu dem Lesespeicherplatz 0001 oder Block 703 hin geführt. An diesem Speicherplatz ist eine Verzweigung zu dem Speicherplatz 0002 vorhanden. Die Verzweigung wird ausgeführt, und das Programm verzweigt sich aus dieser Prüffolge zu anderen Prüfvor-
Tabellell
gangen.
An Hand der nachstehenden Tabelle II sind verschiedene Zustände des Ä-Registers und des /4-Registers sowie die verschiedenen Übertragungen veranschaulicht, die unter dem Einfluß verschiedener Mikrobefehle erfolgen. Ferner ist die geprüfte Funktion der Maschine veranschaulicht.
Schritt
Vorher
Mikro-Befehl
Vorher Bedeutende
Maßnahmen
Geprüfte Funktion
777'1
»STOBRN«
0003
übertragen von U
nach R 7772 übertragen
von R nach A
2
3
0003
0004
»HLT
MAlNTRA 2R
7772
7772
7772 übertragen
von A nach /?0005
übertragen von
R nach A
4 7772 HLT 0005
5 7773 MAINTRA 2R 0005 0005 übertragen
von A nach R
6 0005 HLT 7774
7 0006 STOBRN
7774
7774 7774 übertragen
von i/nach R
7774
Hl. T
0006
Der Schritt I der Tabelle Il erfolgt im Block 706 gemäß Fig. 7 oder bei dein Lescspeicherplatz 7771. Das Ä-Register 102 enthalt die Adresse 7771. bei der es sich um die vergrößerte Adresse des Speicherplatzes handelt, an dem der Rückstcll-Nichtausführiings-Prüftings-Befehl zuvor die Verzweigungseigenschaft- bzw. Vcrzweigungseinrichtungs-Prüfung begonnen ha·. Nachdem die Nichtausführungs-Prüfung zurückgeführt bzw. zurückgestellt war (Block 705 gemäß F i g. 7). wurde somit die Adresse 7770 auf 7771 erhöht, die den Mikrobefehl STOBRNOOQi enthält. Der vorhergehende Zustand des A-Registers 103 ist nicht bekannt. Auf die Ausführung des .STOS/J/V-Mikrobcfchls hin wird der Inhalt 7772 des /?-Registers 102 zuerst in das /\-Register 103 übertragen, und der Inhalt des (/Registers 101. der nunmehr die Adresse 0003 enthält, wird in das /?-Rcgister 102 übertragen. Hierdurch wird die Übertragung des Datenmusters 0003 oder des im wesentlichen aus 0-Zeichen bestehenden Musters von dem (/-Register 101 zu dem /?-Register 102 hin geprüft. Ferner wird die Verzweigungsdecodier-Mikrooperation FNR geprüft, da diese Mikrooperation für die Übertragung der 7772-Datcn benutzt wird. Wenn /?/Tnicht eingestellt ist. wird im übrigen die Maschine bei 0003 angehalten, da nämlich der Inhalt des ^-Registers 102 nicht vergrößert ist. (Dies stellt eine Form einer Selbstprüfung der Prüfvorrichtung dar.)
i/nach R, Übertragung von 0003 Verzweigungs-Decodierung (wenn »FNR« nicht codiert wird, hält die Maschine bei 7772 an). Wenn RIT die Maschine nicht eingestellt hat, hält sie bei 0003 an
R nach A und A nach R, Übertragung von 7772 Decodierung von TRA 2/? (wenn FAR nicht decodieri wird, hält die Maschine bei 0005 an)
R nach A und A nach R. Übertragung von 0005 (es sei bemerkt, daß dies das Komplement von 7772 ist)
U nach R. Übertragung von 7774 (es sei bemerkt, daß dies das KomplemcKf ·. on 0003 ist)
Der Schritt 2 zeigt, daß ein W/-7"-MikrobcfehI an dem Lescspeicherplatz 0003 untergebracht ist und daß das /4-Rcgister 103 nunmehr die Adresse 7772 enthält.
■r> Bei dem Schritt 3 ist die Maschine von dem Lesespeicherplalz 0003 zu dem Lescspeicherplatz 0004 weitergeführt worden.der einen MAINTRA 2/? Mikrobefehl enthält. Das .4-Registcr 103 enthält noch die Adresse 7772. Auf die Ausführung dieses Befehls hin wird das
;(i Datcnmuster 7772 aus dem /^-Register 103 zu dem R-Register 102 hin übertragen, und der vergrößerte Inhalt des R- Registers 102. der gegeben ist durch den Code 0005. wird zu dem ,Λ-Registcr 103 übertragen. Durch diesen Vorgang wird der Inhalt des /l-Registers mit dem
")5 Inhalt des ^-Registers ausgetauscht. Dieser Befehl führt zur Überprüfung der Übertragung der Daten des Codes 7772 bzw. des im wesentlichen aus !-Zeichen bestehenden Codes von dem /?-Registcr zu dem 4-Registcr und von dem 4=Rcgiser zu dem ft-Register Ferner wird
dadurch der Übertragungsweg des Codes 0005 eingestellt. Darüber hinaus führt dieser Befehl zur Prüfung des M/MJnterbefehls. da in dem Fall, daß der Befehl TRA 2Rdecodiert wird und der Unterbcfchl FAR riiclii eingestellt ist. die Maschine an dem Speicherplatz bzw.
hi an der Stelle 0005 anhält. Der Unterbefehl FAR wird zum Einstellen von RIT benutzt. Ist der WnterbclVhl FAR nicht eingestellt, so bewirkt der am Speicherplatz 0005 vorhandene Befehl HLTdas Stillsetzen des Takts.
(Der Inhalt des «-Registers wird vergrößert, jedoch erfolgt keine Übertragung von A nach R.)
Der Schritt 4 zeigt, daß das «-Register 102 das Datenmuster 7772 enthält, bei dem es sich um eine Adresse handelt, der eine HLT-Mikrooperation innewohnt. Ferner zeigt der betreffende Schritt 4. daß das Register 103 das Datenmuster 0005 enthält.
Im Schritt 5 ist der inhalt des «-Registers 102 auf 7/73 vergrößert worden. Dies führt zur Abgabe eines weiteren MAlNTRA 2«-Mikrobefehls, der den Austausch des Inhalts des Α-Registers und des Inhalts des «-Registers bewirkt. Das A-Register 103 enthält noch die Adresse des Speicherplatzes 0005. Auf die Ausführung des MAlNTRA 2Ä-Mikrobefehls hin wird das in dem Α-Register enthaltene Datenmuster 0005 zu dem «-Register hin übertragen. Dieser Vorgang führt zur Überprüfung der Möglichkeit der Übertragung des Datenmusters 0005 von dem Α-Register zu dem «-Register _ und des Datenmusters 7772 von dem «-Register zu dem ~ Α-Register (es sei bemerkt, daß diese Datenmuster im Oktalsystem zueinander komplementär sind).
Der Schritt 6 zeigt das Ergebnis der obigen Übertragung, wobei das «-Register nunmehr das Datenmuster 0005 und das Α-Register das Datenmuster 7774 enthält, bei dem es sich um das vergrößerte Datenmuster 7773 handelt. In dem durch das «-Register 102 adressierten Lesespeicherplatz 0005 ist der /-/LT-Mikrobefehl enthalten.
Der Schritt 7 zeigt, daß das «-Register das Datenmuster 0006 enthält, welches zur Abgabe eines STOBRN-Speicher- und Verzweigungs-Mikrobefehls zu dem Speicherplatz 7774 führt, bei dem es sich um ein Kom-
plement des Datenmusters 0006 handelt. Das A-Register weist das Datenmuster 7774 auf. Auf die Ausführung des Mikrobefehls STOBRN hin wird das Datenmuster 7774 aus dem U-Register zu dem «-Register hin übertragen. (Übertragungen von dem Α-Register zu dem «-Register und von dem «-Register zu dem A-Register mit komplementierten Datenmustern werden abgeschlossen. Die einzige noch übrigbleibende Prüfung besteht darin, von dem ^/-Register zu dem «Register die Datenmuster 7774 zu übertragen, um H^s Datenmustcr 0003 zu ergänzen (Schritt !). Es stellt einen Ausfall der Prüfung dar, daß in dem Α-Register das uatenmuster 7774 gespeichert ist.)
Hierzu 5 Blatt Zeichnungen

Claims (6)

Patentansprüche:
1. Verfahren zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden, wobei zur Stillsetzung von Bearbeitungsvorgängen der Datenverarbeitungsanlage besondere Mikrooperationen vorgesehen sind, dadurch gekennzeichnet, daß jeder der Verzweigungsoperationen die Ausführung der besonderen Mikrooperationen (HLT) veranlaßt, wobei die normalerweise zur Stillsetzung von Bearbeitungsvorgängen führende besondere Mikrooperation (HLT) in ihre; Ausführung derart modifiziert wird, daß die Bearbeitungsvorgänge weiter abgewickelt werden, und daß eine Stillsetzung von Bearbeitungsvorgängen bei Ausbieiben der besonderen Mikrooperation (HLT) oder bei Auftreten jeder anderen Mikrooperation erfolgt-
2. Verfahren nach Anspruch !, dadurch gekennzeichnet, daß die Verzweigungsoperationen sowohl Verzweigungen zu einem ursprünglichen Mikroprogramm zurück bewirken (MAINTRA 2R), als auch Verzweigungen zu festgelegten Mikroprogrammspeicherstellen (STOBR^ 0003. STOBRN 7774).
3. Verfahren nach Anspruch 2. dadurch gekennzeichnet, daß die Adressen der festgelegten Mikro-Drogrammspeicherstellen zueinander komplementäre Werte (z. B. 0003 oder 7774 im Oktalsystem) aufweisen.
4. Verfahren n^ch Arroruch 1. dadurch gekennzeichnet, daß bestimmte Mikroprogrammspeicherstellen zum Speichern nw iestens eines HLT-M]-krobefehls vorgesehen sind.
5. Schaltungsanordnung zur Durchführung des Verfahrens nach einem oder mehreren der vorhergehenden Ansprüche, für eine Datenverarbeitungsanlage mit einem Mikrobcfehlsspeicher (100). einem Mikrobefehlsspcicher-Adrcsscnregister (102) und einem mit beiden verbundenen Mikrobefehlsregister (101). dadurch gekennzeichnet, daß eine Anderungseinrichuing (500, 507) vorgesehen ist. die auf bestimmte Bits in dem Mikrobefehlsregister (101) hin die MikroOperationen /u modifizieren gestattet, die auf dasselbe bestimmte Bit-Muster im Mikrobefehlsregister (101) hin erzeugt werden, daß die Änderungseinrichtung durch ein Flip-Flop (500) und ein lAklusiv-ODER-Glicd (507) gebildet ist. und daß dem Setzeingang des Füp-Flops (500) Signulgeneratoren (501; 502) und Signalfreigabeeinrichtungcn (503, 504, 505) vorgeschaltet sind, wobei die Signalgeneraloren NAND-Glieder (601. 603; 605: 607) enthalten.
6. Schaltungsanordnung nach Anspruch 5. dadurch gekennzeichnet, daß der Signalgenerator (501) ein Signal (.ι) liefert, das eine logische »I« ist. wenn der Boolesche Ausdruck
DE2242009A 1971-08-26 1972-08-26 Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden Expired DE2242009C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US17526671A 1971-08-26 1971-08-26

Publications (2)

Publication Number Publication Date
DE2242009A1 DE2242009A1 (de) 1973-03-01
DE2242009C2 true DE2242009C2 (de) 1984-03-08

Family

ID=22639621

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2242009A Expired DE2242009C2 (de) 1971-08-26 1972-08-26 Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden

Country Status (8)

Country Link
US (1) US3728690A (de)
JP (1) JPS563582B2 (de)
AU (1) AU460047B2 (de)
CA (1) CA968061A (de)
DE (1) DE2242009C2 (de)
FR (1) FR2151420A5 (de)
GB (1) GB1382850A (de)
NL (1) NL7211118A (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT995722B (it) * 1973-10-10 1975-11-20 Honeywell Inf Systems Italia Calcolatore microprogrammato a interior decore espansibile mediante riconoscimento e interpre tazione di codici di operazione aggiunti
CA1039217A (en) * 1974-07-01 1978-09-26 Willy J. Grundherr Rotary wheel printing system
JPS51138354A (en) * 1975-05-26 1976-11-29 Hitachi Ltd Data processing apparatus having a pseude interruption generation inst ruction
US4449185A (en) * 1981-11-30 1984-05-15 Rca Corporation Implementation of instruction for a branch which can cross one page boundary
JP2762829B2 (ja) * 1992-02-06 1998-06-04 日本電気株式会社 電子計算機
US6009516A (en) * 1996-10-21 1999-12-28 Texas Instruments Incorporated Pipelined microprocessor with efficient self-modifying code detection and handling
US20040010458A1 (en) * 2002-07-10 2004-01-15 First Data Corporation Methods and systems for organizing information from multiple sources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3343141A (en) * 1964-12-23 1967-09-19 Ibm Bypassing of processor sequence controls for diagnostic tests
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3560933A (en) * 1968-01-02 1971-02-02 Honeywell Inc Microprogram control apparatus
US3518413A (en) * 1968-03-21 1970-06-30 Honeywell Inc Apparatus for checking the sequencing of a data processing system

Also Published As

Publication number Publication date
DE2242009A1 (de) 1973-03-01
US3728690A (en) 1973-04-17
JPS4831032A (de) 1973-04-24
AU460047B2 (en) 1975-03-18
FR2151420A5 (de) 1973-04-13
CA968061A (en) 1975-05-20
AU4311472A (en) 1973-12-13
NL7211118A (de) 1973-02-28
GB1382850A (en) 1975-02-05
JPS563582B2 (de) 1981-01-26

Similar Documents

Publication Publication Date Title
DE2328869C2 (de) Verfahren und Schaltungsanordnung zum Betreiben eines digitalen Speichersystems
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE1499722C2 (de) Einrichtung zur Modifizierung von Informationswörtern
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2357003C2 (de) Prozessor für eine Mehrprogramm-Datenverarbeitungsanlage
DE2400010C2 (de) Schaltungsanordnung zum Testen eines ein Mikroprogramm enthaltenden Steuerspeichers
DE3126878C2 (de) Mikroprogramm-Steuerschaltung zum Ausführen eines aus einem Steuerspeicher in einem Quellenregister aufgenommenen Mikrobefehls
DE2416609C2 (de) Datenverarbeitungsanlage mit einer zentralen Verarbeitungseinheit und Multiprogrammierung mit mehreren Programmunterbrechungs-Prioritätsstufen
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2555963A1 (de) Einrichtung zur funktionsmodifizierung
DE2714805A1 (de) Datenverarbeitungssystem
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE2719635A1 (de) Anordnung fuer eine erweiterung einer mikroprogrammsteuerung einer datenverarbeitungsanlage
DE2722099A1 (de) Abfangeinrichtung fuer ein dv-system
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE2755616A1 (de) Asymmetrischer multiprozessor
DE2145709A1 (de) Datenverarbeitungsanlage
DE2715029C3 (de) Schaltungsanordnung zur Diagnose oder Prüfung von funktionellen Hardware-Fehlern in einer digitalen EDV-Anlage
DE2744359C2 (de)
DE2551741A1 (de) Datenverarbeitungseinrichtung
DE2242009C2 (de) Verfahren und Anordnung zum Erkennen, ob im Mikroprogramm einer Datenverarbeitungsanlage vorgesehene Verzweigungsoperationen ausgeführt werden
DE2364323C2 (de) Verfahren zur Behandlung von Unterbrechungsbedingungen in einer Datenverarbeitungsanlage
DE2246863A1 (de) Verfahren und anordnung zur protokollierung des programmablaufs in datenverarbeitungsanlagen
DE3323824A1 (de) Speicherprogrammierbare steuerung

Legal Events

Date Code Title Description
OD Request for examination
8125 Change of the main classification

Ipc: G06F 11/00

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8339 Ceased/non-payment of the annual fee