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 werdenInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 25
- 238000012545 processing Methods 0.000 title claims description 17
- 230000015654 memory Effects 0.000 claims description 126
- 230000008859 change Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 claims description 3
- 238000003754 machining Methods 0.000 claims 3
- 230000015607 signal release Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 29
- 238000012360 testing method Methods 0.000 description 23
- 238000012546 transfer Methods 0.000 description 22
- 230000000694 effects Effects 0.000 description 8
- 101150058668 tra2 gene Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000813 microbial effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- XUKUURHRXDUEBC-KAYWLYCHSA-N Atorvastatin Chemical compound C=1C=CC=CC=1C1=C(C=2C=CC(F)=CC=2)N(CC[C@@H](O)C[C@@H](O)CC(O)=O)C(C(C)C)=C1C(=O)NC1=CC=CC=C1 XUKUURHRXDUEBC-KAYWLYCHSA-N 0.000 description 1
- 244000292411 Excoecaria agallocha Species 0.000 description 1
- 101001043598 Homo sapiens Low-density lipoprotein receptor-related protein 4 Proteins 0.000 description 1
- 206010021703 Indifference Diseases 0.000 description 1
- 102100021918 Low-density lipoprotein receptor-related protein 4 Human genes 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001066 destructive effect Effects 0.000 description 1
- 238000001310 location test Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003446 memory effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/277—Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/26—Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
- G06F9/262—Arrangements for next microinstruction selection
- G06F9/268—Microinstruction 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 ■
• 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 ■
• (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.
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 U» 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-
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
Maßnahmen
Geprüfte Funktion
777'1
»STOBRN«
0003
0003
übertragen von U
nach R 7772 übertragen
von R nach A
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)
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
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)
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)
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 |
-
1971
- 1971-08-26 US US00175266A patent/US3728690A/en not_active Expired - Lifetime
-
1972
- 1972-06-05 CA CA143,916A patent/CA968061A/en not_active Expired
- 1972-06-06 AU AU43114/72A patent/AU460047B2/en not_active Expired
- 1972-06-08 GB GB2687872A patent/GB1382850A/en not_active Expired
- 1972-08-15 NL NL7211118A patent/NL7211118A/xx unknown
- 1972-08-25 FR FR7230450A patent/FR2151420A5/fr not_active Expired
- 1972-08-26 DE DE2242009A patent/DE2242009C2/de not_active Expired
- 1972-08-26 JP JP8579472A patent/JPS563582B2/ja not_active Expired
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 |