DE2658864A1 - Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit - Google Patents
Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheitInfo
- Publication number
- DE2658864A1 DE2658864A1 DE19762658864 DE2658864A DE2658864A1 DE 2658864 A1 DE2658864 A1 DE 2658864A1 DE 19762658864 DE19762658864 DE 19762658864 DE 2658864 A DE2658864 A DE 2658864A DE 2658864 A1 DE2658864 A1 DE 2658864A1
- Authority
- DE
- Germany
- Prior art keywords
- address
- register
- control
- circuits
- signal
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Description
5101580 Ge 22. Dezember 1976
HONEYWELL INFOnMATION SYSTEIiS INC.
200 Smith Street
Waltham, Mu... . , USA
Waltham, Mu... . , USA
Prüfsystem für eine mikroprograminierte Verarbeitungseinheit.
Die Erfindung betrifft ein System nach dem Gattungsbegriff des
Anspruches 1 und insbesondere ein System zum Prüfen der Operation eines Steuerspeichers für die Steuerung einer Datenverarbeitungseinheit.
In bekannter Weise wurden bisher Festwert-Steuerspeicher und Steuerspeicher mit wahlfreiem Zugriff für die Speicherung von
mikroprogrammierter Inform .tion benutzt. Um die ordnungsgemäße
Funktion des Steuerspeichers und der zugeordneten Schaltkreise zu gewährleisten, wurden bislang verschiedene Fehlerdiagnosen
innerhalb des Steuerspeichers und der zugeordneten Schaltkreise durchgeführt. Die meisten dieser Diagnoseverfahren prüfen den
Steuerspeicher und die zugeordneten Schaltkreise unabhängig voneinander. Diese Verfahren, die eine Selbstdiagnose durchführen,
verwenden in erster Linie Diagnoseprogramme, die als Mikrodiagnosen bezeichnet werden und normalerv/eise einen Teil
des Gesamtwartungssystems bilden, das der Ausführung von Basistestoperationen hinsichtlich der verschiedenen Teile des den
Steuerspeicher umfassenden Datenverarbeitungssystems dient.
709827/0750
Die vorstehend erwähnte Testart wird normalerweise von Hand infolge eines Systemfehlers ausgelöst. Um die beim manuellen
Testen auftretenden Probleme zu verringern, wird in einem bekannten System eine Prüfeinrichtung vorgesehen, mit der die
Operation eines mikroprogrammierten Steuerspeichers automatisch unter Steuerung durch die im Steuerspeicher enthaltenen Mikrobefehle
überprüft wird. Dieses bekannte System ist Gegenstand der US-PS 3 831 148. Bei diesem bekannten Prüfsystem führen
Paritätsprüfschaltkreise zusammen mit logischen Diagnostizierschaltkreisen
eine Prüfung hinsichtlich der Zusammensetzung des Informationsmusters eines jeden in das Steuerspeicher-Ausgangsregister
ausgelesenen Mikrobefehls und hinsichtlich des Inhalts des Steuerspeicher-Adressregisters durch, wobei
die Unversehrtheit der Information und die richtige Adressierung des Systems überprüft wird.
Ein anderes, aus der US-PS 3 789 204 bekanntes System führt eine Selbstprüfung eines digitalen Speichersystems durch, um
darin enthaltene Fehler festzustellen. Dieses System kombiniert ein Adressenwort für einen Speicherplatz, in welchen Information
eingeschrieben werden soll mit einem Datenwort, das an diesem Adressenspeicherplatz enthalten ist und erzeugt ein Paritätsbit für die kombinierten Worte und legt diese im Speicher ab.
Wenn auf die Information Zugriff genommen wird, so wird die Adresseninformation von der Dateninformation subtrahiert, wobei
eine korrekte Dateninformation angezeigt wird, wenn die Datenparität mit der ursprünglichen Datenparität übereinstimmt.
Während die beiden genannten Systeme der automatischen Feststellung
von Fehlern innerhalb eines Speichersystemes dienen, sind sie nicht in der Lage, eine automatische Prüfung der
zugeordneten Adressier- und Steuerschaltkreise durchzuführen.
Die Operation dieser Schaltkreise muß daher unabhängig überprüft werden. Ferner werden diese Schaltkreise ebenso wie der
Steuerspeicher normalerweise als Teil einer Test- oder Diagnoseroutine vor der normalen Systemoperation überprüft.
709827/0750
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Prüfsystem
der eingangs genannten Art so auszubilden, daß sowohl Fehler innerhalb des Steuerspeichers, als auch innerhalb der
zugeordneten Schaltkreise sowohl während normaler Operationen, als auch während Testoperationen durchgeführt werden können.
Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten
Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Das erfindurigsgemäße System umfaßt einen Steuerspeicher mit einer
Vielzahl von adressierbaren Speicherplätzen, mehrere Register und wenigstens einen Inkrementierschaltkreis. Jedem der Register,
die Adressoperationen steuern, sind Paritätsschaltkreise zugeordnet. Diese Schaltkreise werden während der Systemoperation für
eine Paritätsprüfung freigegeben. Dementsprechend werden bei der Initialisierung des Systemes diese Register so gesetzt, daß
sie die richtige Parität speichern. Während der Umsetzung der in dem Steuerspeicher zu speichernden Information wird die ungerade
Parität für die Anzahl der "1"-Bits der Adresse desjenigen Wortes
errechnet, das einen Speicherplatz vor der laufenden Adresse abgespeichert ist. Dieses nächste Mressen-Paritätsbit wird in eine
vorbestimmte Bitposition desjenigen Wortes eingesetzt, das an dem durch die laufende Adresse bestimmten Speicherplatz zu speichern ist.
Während der Operation, wenn auf die Information an einem vorgegebenen
Speicherplatz Zugriff genommen wird, wird der Inhalt der für die Adressierung des Steuerspeichers benutzten Register
um 1 erhöht und in der erforderlichen Weise gespeichert. Gleichzeitig
prüfen die mit den Registern verbundenen Paritätsprüfschaltkreise das von der Firmware gelieferte nächste Adressen-Paritätsbit
und die von dem System gelieferte erhöhte Adresse auf eine ungerade Parität. Jeder Paritätsprüfschaltkreis, der
einen Fehler feststellt, verursacht ein Anhalten der Systemoperation. .
709827/0750
40
Das erfindungsgemäße System ist somit in der Lage, die Operation
des SteuerSpeichers, der Register und des Inkrementierschaltkreises
zu überprüfen. Ferner ist es bei dem vorliegenden System nicht erforderlich, ein neues Paritätsprüfbit hinsichtlich
des erhöhten Adresseninhalts zu erzeugen. Die Überprüfung
des Steuerspeichersystems kann somit sehr schnell
vonstatten gehen. Im vorliegenden Fall erfolgt diese Prüfung mit der Taktgeschwindigkeit des Systems.
vonstatten gehen. Im vorliegenden Fall erfolgt diese Prüfung mit der Taktgeschwindigkeit des Systems.
Anhand eines in den Figuren der beiliegenden Zeichmingen dargestellten
Ausführungsbeispieles wird im folgenden das erfindungsgemäße Prüf system näher beschrieben. F,s zeigen:
709827/0750
Figur 1 ein Blockdiagramm eines Systems, in welchem das Prinzip der vorliegenden Erfindung verwirklicht ist,
Figur 2 in näheren Einzelheiten den Prozessor-Schnittstellenadapter 200 gemäß Figur 1,
Figur 3 die verschiedenen Mikrobefehlsformate, wie sie von dem Adapter 200 verarbeitet werden,
Figur 4 die Organisation des SteuerSpeichers 210-10 gemäß
Figur 2,
Figuren 5a bis 5h verschiedene Blöcke innerhalb von Figur 2 in näheren Einzelheiten und
Figuren 6a und 6b Taktdiagramme zur Beschreibung der Wirkungsweise
des erfindungsgemäßen Systems.
Zentralsystem gemäß Figur 1
Aus Figur 1 geht hervor, daß das System einen Zentralprozessor 100 aufweist, der an eine Systemsteuereinheit SCU-IlO angeschlossen
ist, die ihrerseits verschiedenen Einheiten innerhalb des· Systems den Zugriff auf irgendeinen aus einer Anzahl von Speichermodulen
innerhalb des Hauptspeichers 150 gestattet. Außer mit einer Anzahl verschiedener Anschlüsse des Hauptspeichers
150 ist die Systemsteuereinheit mit einer Anzahl von Anschlüssen einer Ein/Ausgabe-Steuereinheit oder Multiplexer I0M--120 verbunden,
der die Operation einer Anzahl von Ein/Ausgabe-Geräten durch Subsysteme 130 und 140 steuert. Das Subsystem 130 steuert
mehrere Bandeinrichtungen 130-1 bis 130-n. Das Subsystem 140 steuert mehrere Platteneinheiten 140-1 bis 140-n. .
Im Hinblick auf die vorliegende Erfindung können die Einheiten 100 bis 150 in der Art ausgebildet sein, wie dies in den US-Patentschriften
3 413 613 und 3 514 772 beschrieben ist. Das Verwaltungs-Steuer-Subsystem oder die Betriebssystem-Software
für die Überwachung und Durchführung der Operation des im vorliegenc'ian
Ausführungsbeispiel benutzten Datenverarbeitungssystems kann die in der US-PS 3 618 045 beschriebene Form aufweisen.
709827/0750
Gemäß Figur 1 ist eine Zentraleinheit S2P-3OO an einen
Prozessor-Schnittstellenadapter PIA-200 angeschlossen. Die Zentraleinheit 300 kann im Hinblick auf die vorliegende .
Erfindung einen herkömmlichen Aufbau aufweisen. Beispielsweise kann sie von der Form sein, wie sie in der Veröffentlichung
"Model 3200 Summary Description", veröffentlicht durch Honeywell Inc., Copyright 1970, Bestell-Nr. 111.0015.
OOO.1-C52 beschrieben ist. Hinsichtlich des Aufbaus der
Zentraleinheit sei ferner auf die US-Patentschriften 3 323 110 und 3 811 114 verwiesen.
Der Prozessor-Schnittstellenadapter 200 ist ein mikroprogrammier· ter Prozessor, der als Daten- und Steuerschnittstelle zwischen
dem äußeren Zentralprozessor 300 und dem Zentralsystem dient, wodurch das System zur Emulation von Zielsystemprogrammen befähigt
wird.. Der Adapter 200 ist direkt mit einem der Anschlüsse der Systemsteuereinheit 100 verbunden, so daß hinsichtlich
des Gesamtsystems keine Hardwaremodifikationen erforderlich sind. Zur Ausführung der vielfältigen Operationen!
wie sie erforderlich sind, um den Prozessor 300 in die Lage zu versetzen, direkt gewisse Befehlsarten eines Zielsystemprogrammes
auszuführen, muß der Adapter 200 eine Anzahl verschiedener Operationen ausführen können. Der Adapter 200 macht
von der vorliegenden Erfindung Gebrauch, um den Aufwand und die Speicheranforderungen der mikroprogrammierten Verarbeitungseinheit auf ein Minimum herabzudrücken.
Prozessor-Schnittstellenadapter 200
Aus Figur 2 ist ersichtlich, daß der Adapter 200 einen Steuerabschnitt
201 und einen Ein/Ausgabe-Verarbeitungsabschnitt aufweist. Der Steuerabschnitt 201 stellt im Hinblick auf die
vorliegende Erfindung den wichtigsten Abschnitt dar und erzeugt Subbefehlssignale zur Steuerung der Operation des Prozessors
709827/0750
in Abhängigkeit von Befehlen, wie sie von dem Zentralprozessor
100 empfangen werden. Insbesondere erzeugt dieser Abschnitt Subbefehlsignale, die den Prozessor 300 steuern, Daten zu und aus
dem Hauptspeicher 150 übertragen und eine vom dem Prozessor benutzte Steuertafel ansteuern.
Der Ein/Ausgabe-Verarbeitungsabschnitt 210 umfaßt die Schnittstellenschaltkreise,
die den Adapter 200 an die Systemsteuereinheit SCU-IlO, die Steuertafel und die Datenleitungen des
Prozessors 300 anschließen. Dieser Abschnitt führt die verschiedenen Operationen hinsichtlich der Datenmanipulation und
der Speicheradressierung durch, wobei diese Operationen unter
der Steuerung des Steuerabschnittes 201 oder unter der Steuerung des Prozessors 30Q stattfinden. Die beiden Hauptabschnitte seien
nunmehr in näheren Einzelheiten erläutert.
Steuerabschnitt.
Gemäß Figur 2 ist ersichtlich, daß dieser Abschnitt einen Steuerspeicher
201-10 aufweist, der so organisiert ist, daß er ein Maximum von 5.120 Worten aufweist, wobei jedes Wort 36 Bits umfaßt.
Die Steuerspeicherorganisation ist schematisch in Figur dargestellt. Wie aus Figur 4 hervorgeht, umfassen die unteren
1.024 Speicherplätze die durch die Oktaladressen 00000 bis 01777 bezeichnet sind, vier Festwertspeicherschaltkreise (ROM), von
denen jeder eine Breite von 9 Bit aufweist. Diese Speicherplätze speichern eine Anzahl von Mikroprogrammen für einen
Hardware-Basislogiktest (BLT) wie sie bei einem vorausgehenden Test der Adapterschaltkreise und des Steuerabschnittes, bei der
Zugriffsgewinnung auf den Hauptspeicher 115 und beim Laden der
anderen Abschnitte des Steuerspeichers 110 mit Prüfroutinen und normalen Betriebsmikroprogrammen oder mit Firmware benutzt werden,
709827/0750
"Jf-
Die verbleibenden Speicherplätze wie sie gemäß Fig. 4 durch die Oktaladressen 02000 bis 11777 bezeichnet sind, umfassen
bis zu zwei Abschnitte von Speicherplätzen (RAM); in die Information
eingeschrieben werden kann. Diese Speicherplätze speichern die Prüfroutinenüberlagerung und individuelle
Firmware, die durch eine Mikroprogramm-Laderoutine geladen werden, wobei diese Laderoutine in dem Festwertspeicherberej ch
des Steuerspeichers 2O1-1O gespeichert ist. Um die Anzahl der
erforderlichen Speicherplätze auf ein Minimum zu reduzieren, werden die Prüfroutinen in eine Anzahl verschiedener Lade-
und Bearbeitungsfolgen unterteilt, die einander überlappenf
bis schließlich die individuelle Firmware in den Steuerspeicher 210-10 geladen wird. Hinsichtlich der vorliegenden Erfindung
kann der Steuerspeicher aus herkömmlichen Schaltkreisen aufgebaut
sein, wobei diese Schaltkreise von der Art sein können, wie sie in der Veröffentlichung "The Integrated Circuits
Catalog for Design Engineers", veröffentlicht von Texas Instruments, Inc., 1972 beschrieben sind.
•Gemäß Figur 4 wird das Komplement der Signale CSAO300 bis CSZiI200
aus einem Speicheradressregister CSA-201-12 jedem der Festwertspeicherschaltkreise
ROM zugeführt, da jeder Festwertspeicherschaltkreis einen in Reihe mit jeder Adressenleitung geschalteten
Puffer-Inverterschaltkreis aufweist, der das Eingangs-Adressensignal
invertiert. Sowohl die bestätigten, als auch die negierten Adressignale des Registers 201-12 werden als Eingänge den
RAM-Speicherschaltkreisen zugeführt.
Die Signale CSCEOOO bis CSCE400 sind Freigabesignale für die Speicherschaltkreise, die bei der Decodierung der höchstrangigen
Adressbits des CSA-Registers 201-12, d. h bei der Decodierung der Bits 00 bis 02 erzeugt werden. Bei ihrer Erzeugung versetzen
diese Signale die geeigneten ROM- oder RAM-Schaltkreise in die Lage, den Zugriff auf einen der Speicherplätze des Steuerspeichers
201-10 freizugeben. Ein Schreibimpuls CSWRTlO wird ebenfalls als Eingangssignal jedem Speicherschaltkreis zugeführt,
709827/0750
1$
wodurch die Signale BSZOOlO bis ESZ351O in einen ausgewählten
Speicherplatz eingeschrieben werden können. Es sei vermerkt, daß Figur 4 ebenfalls das Anlegen des Signales CSWRTlO an die
ROM-Speicherschaltkreise zeigt, was erforderlichenfalls für
Wartungszwecke einen Ersatz der ROM-Speicherschaltkreise durch
RAM-Speicherschaltkreise gestattet. Hinsichtlich v/eiterer Informationen in Bezug auf die Art der die Freigabesignale erzeugenden
Schaltkreise sei auf die US-PS 3 911 406 verwiesen.
Der Inhalt eines Speicherplatzes, auf den Zugriff genommen wird, wird über eine Eingangsschiene ausgelesen und auf mehrere Verstärkerschaltkreise
des Blockes 201-14 gegeben. Diese Schaltkreise erzeugen frühe Datenausgangssignale CSK0030 bis CSN353O,
die 139 ns nach dem Auftreten eines Taktimpulses als gültige Signale vorliegen. Ein 4 MHz-Systemtakt, der nicht dargestellt
ist, erzeugt die Taktimpulse oder PDA-Impulse, die den Grundtakt des Systems darstellen. Zur Erläuterung der vorliegenden
Erfindung kann ein herkömmlicher Takt angenommen werden.
Alle frühen Registerübertragungs-Subbefehlssignale werden durch
in dem Block 201-32 enthaltene Schaltkreise decodiert, wobei die Ausgangssignale des Blockes 201-14 die zu decodierenden Signale
bilden. Die Ausgangssignale CSK0030 bis CSN353O werden in ein
internes 36 Bit-Speicherregister übertragen, das durch die Verriegelungsschaltkreise
des Blockes 201-16 gebildet wird, wobei die Übertragung in Abhängigkeit eines Subbefehlsignales CSNFMOO
erfolgt, das durch Schaltkreise innerhalb des Blockes 301-32 erzeugt wird. Zusätzlich werden die Ausgangssignale CSN0030 bis
CSNO4 3O in'ein 5 Bit-Operationscoderegister 201-30 übertragen,
wobei die übertragung in Abhängigkeit von einem Subbefehlsignal
CSNFM90 erfolgt, das durch Schaltkreise innerhalb des Blockes 201-32 erzeugt wird. Wie später noch anhand von Figur 5a zu
erläutern sein wird, weist das Signal CSNFM90 normalerweise den Binärwert "1" auf, vorausgesetzt, daß keine Verzweigungsbedingung und keine Nicht-Ausführungsbedingung vorliegt, wodurch
die Ausführung des nächsten Mikrobefehles verhindert würde
709827/0750
bzw. wenn sich das System im Stop-Modus oder bei der Ausführung
eines Mikrobefehls vom 'Lese- oder Schreibtyp be- . findet.
Das Register 201-30 speichert immer den Operationscode des gerade ausgeführten Mikrobefehls. Somit werden die Bitsignale
CSN0050 bis CSNO45O von den Signalen CSNOOlO bis CSN0410 abgeleitet.
Das Register 201-16 speichert immer den Inhalt desjenigen Speicherplatzes im Steuerspeicher, der durch die im CSA-Register
201-12 enthaltene Adresse während des vorausgegangenen Taktzyklus adressiert wird. Die Ausgangssignale des
internen Registers 201-16 werden mehreren Decodierschaltkreisen der Blöcke 201-34, 201-36, 201-38 und 201-40 zugeführt, um alle
Subbefehle, Datenübermittlungs- und Multipliziersteuersignale, Testfeider usw. zu decodieren. Die Ausgangssignale des Operationscoderegisters
201-30 v/erden Decodierschaltkreisen im Block 201-34 zugeführt, die Hauptgruppen-Decodiersignale und Subbefehls-Sperrsignale
für die Sperrung gewisser Ubertragungsoperationen, wie zuvor erläutert, erzeugen.
Wie aus Figur 2 ersichtlich, werden den Schaltkreisen des Blockes 201-34 Signale des Blockes 201-50 zugeführt, wobei
diese eine Anzahl von Status-Flip-Flops für die Errichtung einer Anzahl verschiedener Operationsmoden für den Adapter
200 aufweisen. Jedes Status-Flip-Flop wird durch Subbefehlssignale
gesetzt oder zurückgestellt, die durch Schaltkreise des Blockes.201-32 oder aus Bits innerhalb des Mikrobefehls
selbst erzeugt werden. Die Ausgangssignale verschiedener Status-Flip-Flops werden als Eingangssignale den Steuerfeld-Schaltkreisen
des Blockes 201-55 zugeführt. Diese Schaltkreise erzeugen Signale hinsichtlich einer Steuerschnittstelle
für die Steuerung der Operation des Prozessors S2P-3OO, wobei dies über Steuerfeid-Schnittstellen-Logikschaltkreise
erfolgt/ die normalerweise einen Teil des Prozessors S2P-3OO bilden. Beispielsweise geben diese Schaltkreise den Eintritt
7 0*9 827/0750
- JW. -
bzw. die Darstellung der in dem Steuerspeicher des S2P-Prozessors
enthaltenen Programm- bzw. Unterbrechungszähler, die Operation des S2P-Prozessors für einen einzelnen Befehl,
den ABLAUF- und STOP-Modus ,. die Löschung und Auslösung des
S2P-Prozessors und die Veränderung des Adressenmodus sowie
die Fühlschaltereinstellung des S2P-Prozessors frei.
Die Schaltkreise liefern ferner Signale an ein Wartungsbzw. Steuerfeld, welches für alle externen Operator- oder
Wartungseingriffe vorgesehen ist, die zur Steuerung der Systemoperation erforderlich sind.
Die Wirkungsweise dieser Schaltkreise soll nur in dem für ein vollständiges Verständnis der vorliegenden Erfindung erforderlichen
Ausmaß beschrieben werden. Zur Informierung hinsichtlich der Art der erwähnten Operationen sei auf die US-Patentschriften
3 909 802 und 3 813 531 verwiesen.
Es ist aus Figur 2 ersichtlich, daß die frühen Datenausgangssignaie
ebenfalls als Eingänge den Schaltkreisen des Blockes 201-15, dem CSA-Register 201-12 und einem Steuerspeicher-Unterbrechungsregister
CSI-201-26 zugeführt werden. Die Ausgangssignale
beeinflussen Schreibsteuerschaltkreise des Blockes 201-15, der in Figur 5g näher dargestellt ist und veranlassen
diese zur Erzeugung eines Schreibimpulssignales CSWRTlOo In
Abhängigkeit von bestimmten Typen von Mikrobefehlen, wie noch zu erläutern sein wird, setzen die Schaltkreise des Blockes
201-32 entsprechende Subbefehlsignale CSANElO und CSIFNlO auf
den Binärwert "1", wodurch das CSA-Register 201-12 und das CSI-Register 201-26 über die Datenübertragungswege 201-29 und
201-27 mit den Bitsignalen CSN05 bis CSN17 und CSN23 geladen
werden. Es sei darauf verwiesen, daß das CSA-Register 201-12 ebenfalls über einen Datenweg 201=31 mit einer Verzweigungsadresse und einem Paritätsprüfbit aus dem internen Speicherregister
201-16 geladen werden kann, wenn das Subbefehlssignal CSAFNlO auf den Binärwert "1" durch die Schaltkreise
des Blockes 201-32 gesetzt wird.
709827/0750
2658
864
Betrachtet man die Steueradressregister und Schaltkreise des
Abschnittes 201-10 so ist ersichtlich, daß das CSA-Registcr 201-22 als SteuerSpeicher-Adressregister dient. Dieses stellt
ein 14 Bit-Register dar, weiches eine durch die Schaltkreise des Abschnittes 201 erzeugte 13 Bit-Adresse und ein einzelnes
Paritätsprüfbit speichert, das gemäß der vorliegenden Erfindung
zuvor während der Verarbeitung der Mikrobefehle der nacheinander in den Steuerspeicher 201-10 geladenen Mikroprogramme erzeugt
wird. Die Bitpositionen 0 bis 12 speichern die 13 Bit-Adresse und die Bitposition 13 speichert das Paritätsprüfbit. Die Bitpositionen
0 bis 12 des Registers liefern über den Datenweg 201-21 eine 13 Bit-Adresse, wodurch einer der 5120 Wortspeicherplätze
des Steuerspeichers 201-10 adressiert wird. Das Paritätsprüfbitsignal
wird über die Leitung 201-11 der Bitposition 13 des Registers 201-12 durch das Ausgangssignal vom Bit 31 eines
jeden Mikrobefehlswortes beim Auslesen durch die Verstärkerschaltkreise des Blockes 201-14 zugeführt.
Die 13 Bit-Adresse und das Paritätsprüfbit des CSA-Registers
201-12 werden als Eingangssignal eines 14 Bit-Steuerspeicher-Rückkehradressregister
CSR-201-22 über einen Datenweg 201-17 und einem 14 Bit-Steuerspeicher-Standardenregister CSH-201-18
über einen Datenweg 201-19 zugeführt. Die Adresse und die Paritätsprüfsignale werden im CSR-Register 201-22 und im CSU-Register
201-18 gespeichert, wenn entsprechende Subbefehlsignale SCRFAlO und CSHFAlO mittels der Schaltkreise des Blockes 201-32
den Binärwert "1" einnehmen.
Das CSR-Register 201-22 wird zur Speicherung einer Rückkehradresse
für eine Mikroprogramm-Subroutine benutzt. Dieses Register wird mit einer Rückkehradresse in Abhängigkeit von Mikrobefehlen
des Verzweigungs- und Rückkehrtypes geladen. Die gespeicherte Adresse wird dem CSA-Register 201-12 über den Datenweg
201-37 zugeführt. Die Adresse und die Paritätsprüfsignale werden in das CSA-Register 201-12 geladen, wenn die Schaltkreise
des Blockes 201-32 das Signal CSAFRlO zur Annahme des
709827/075 0
Binärwertes "1" veranlassen. Das CSA-Register 201-18 wird
für die Darstellung des vorhergehenden Inhalts des C''"-Registers 201-12 verwendet. Dieses Register wird automat. h
durch Steuerschaltkrei^e geladen und es kann auf dieses Iw
gister durch Mikrobefehle kein Zugriff genommen v/erden.
Die 13 Bit-Adresse des CSA-Registers 201-12 wird zusätzlich
als Eingang einem.13 Bit-Addierschaltkreis CSB-201-20 zugeführt,
welcher automatisch die Adresse um eins erhöht. Der Addierschaltkreis 201-20 kann im Hinblick auf die vorliegende
Erfindung eine herkömmliche bekannte Ausgestaltung aufweisen. Die um eins erhöhte Adresse wird dem CSR-Register 201-22 über
einen Datenweg 201-33 und dem CSI~Register 201-26 über einen Datenweg 201-25 zugeführt. In gleicher Weise wird das Paritätsprüfbitsignal
auf der Leitung 201-11 über die zuvor erwähnten Datenübertragungswege der am wenigsten signifikanten Bitposition
des CSR-Registers 201-22 und des SCI-Registers 201-26 zugeführt.
Die Adresse und die Paritätsprüfsignale v/erden im CSR-Register
201-22 und im CSI-Register 201-26 entsprechend gespeichert, wenn
zugehörige Subbefehlssignale CSRFBlO un<? CSIFBlO durch die
Schaltkreise des Blockes 201-32 zur Anm ... · des Binärwertes
"1" veranlaßt v/erden. Das CSI-Register 201-26 wird als zweites Rückkehradressregister und als ein Adress/Arbeitsregister während
Lese- und Schreiboper itionen des SteuerSpeichers benutzt.
Das Register wird über den Datenweg 201-27 geladen, wenn das Subbefehlssignal CSIFNlO durch die Schaltkreise des Blockes
201-32 zur Annahme des Binärwertes "1" veranlaßt wird.
"Sowohl die von dem Addierschaltkreis 201-20 erhöhte Adresse,
als auch das auf der Leitung 201-11 anstehende Paritätsprüfsignal werden als Eingänge dem CSA-Register 201-12 über einen
Datenübertragungsweg 201-33 zugeführt. Die Adresse und die Prüfbitsignale werden im CSA-Register 201-12 gespeichert,
wenn ein Subbefehlsignal CSAFBlO durch die Schaltkreise des
Blockes 201-32 auf den Binärwert "1" gesetzt wird.
709827/07RO
Wie aus Figur 2 ersichtlich, werden die Ausgangssignale des
CSI-Registers 201-26 einem von zwei Eingängen eines Datenselektor-Multiplexerschaltkreises
201-24 über einen Datenweg 201-39 zugeführt. Der Multiplexerschaltkreis 201-24 ist mit
seinem anderen Eingang mit einer von einem Steuerfeld eingebbaren Adresse verbunden. In Abhängigkeit von Signalen
DPSAA-C werden die ausgewählten Ausgangssignale des Multiplexerschaltkreises
201-24 dem CSA-Register 201-12 über einen Datenweg 201-35 zugeführt. ,Während einer normalen Operation
wird das CSI-Register 201-26 als Quelle der Adressignale ausgewählt.
Die Adresse und die Paritätsprüfsignale werden in das
CSR-Register 201-12 geladen, wenn ein Übertragungs-Subbefehlsignal
CSAFIlO durch die Schaltkreise des Blockes 201-32 zur Annahme des Binärwertes "1" veranlaßt wird.
Es sei darauf verwiesen, daß jedes der durch das Mikroprogramm zugänglichen Adressregister CSA, CSR und CSI an einen Paritätsprüfschaltkreis,
beispielsweise die Schaltkreise 201-42, 201-43 und 201-44 angeschlossen ist. Jeder dieser Schaltkreise ist
immer wirksam und überprüft das zugeordnete Register auf übereinstimmende Parität. Das von jedem Paritätsprüfschaltkreis
erzeugte Ausgangssignal wird als Eingang Fehlerschaltkreisen zugeführt, die in einem Block 201-45 enthalten sind
und ein Anhalten der Systemoperation verursachen, sofern ein Fehlersignal auftritt,*das einen Fehler innerhalb des Steuerabschnittes
201 anzeigt.
Der Steuerabschnitt 201 weist ferner einen 24 Bit-Zähler 201-56 und einen-zugeordneten 24 Bit-Inkrement/Dekrementschaltkreis
201-58 auf. Der Zähler 201-56 ist ein Auf/Abwärtszähler, der
durch das Mikroprogramm und die Hardwaresteuerung betätigt wird. Ein in den Zähler 201-56 zu ladender Zählstand und die
Zählrichtung karrn durch gewisse Mikrobefehlstypen vorgegeben werden. Der Zähler 201-56 umfaßt ein Paar Flip-Flops (oberer
709827/075 0
und unterer überlauf) zur Anzeige des Auftretens einer Grenzüberschreitung,
bezogen auf den zuletzt ausgegebenen Steuer-Mikrobefehl. Der Zähler 201-56 wird über die Eingangsleitungen
BSZ48 bis BSZ71 in Abhängigkeit eines Subbefehlsignales CSS861O geladen. Zur gleichen Zeit werden beide Grenz-Flip-Flops auf
"0" zurückgestellt.
Die Wirkungsweise der Inkrement/Dekrementschaltkreise 201-58 wird durch den Zustand eines der Flip-Flops des Blockes 2O1-5O
definiert. Je nachdem, ob das Flip-Flop den Wert "1" oder den Wert "0" anzeigt, führt der Schaltkreis 201-58 eine Zählstandserniedrigung
bzw. eine Zählstandserhöhung des Inhalts des Zäh-' lers 201-56 durch. Wenn das Signal CSMTClO auf Grund eines
Mikrobefehls den Wert "1" einnimmt, so wird der erhöhte oder
erniedrigte Wert in den Zähler 201-56 geladen und das obere bzw. untere Überlauf-Flip-Flop markiert. Im Erhöhungsmodus
wird das obere überlauf-Flip-Flop nur auf "1" geschaltet, wenn
der Zählstand von 77777777 auf "0" in allen Bitstellen umschaltet. In gleicher Weise wird im Erniedrigungsraodus das untere
Uberlauf-Flip-Flop nur auf "1" umgeschaltet, wenn der Zählstand
von "0" in allen Bitstellen auf 77777777 umschaltet.
Ein/Ausgabe-Verarbeitungsabschnitt 210
Wie aus Figur 2 ersichtlich, weist dieser Abschnitt einen Eingangs-Multiplexerschaltkreis
210-10, einen Datenabschnitt 210-6, einen Adressenabschnitt 210-2, einen Speicherschnittstellenabschnitt
SCU-210-4 und einen S2P-Schnittstellenabschnitt 210-8
auf. Der 36 Bit-Multiplexerschaltkreis 210-10 (Datenselektor)
erhält Eingangssignale von den dargestellten Datenquellen. Diese Datenquellen werden beispielsweise durch den Steuerspeicher
201-10, den SpeicherSchnittstellenabschnitt 210-4 usw. gebildet.
Der Multiplexer schaltet die Signale der ausgewählten Quelle
sowohl auf den Abschnitt 210-2, als auch auf den Abschnitt 210-6.
709827/0750
Durch den Zustand der Signale Pl, P2 und P3, die durch bestimmte
Mikrobefehlsfelder oder durch die Decodierung von Mikrobefehlen durch die Schaltkreise des Blockes 201-40 definiert
sind, wird die auszuwählende Quelle festgelegt. In ähnlicher Weise wird durch den Zustand der Gruppe von Signalen
P5, D6, MG2 sowie D5, D6, MG3, die in Abhängigkeit von bestimmten
Mikrobefehlsfeldern erzeugt v/erden, und durch die Schaltkreise des
Blockes 201-34 der Abschnitt 210-2 und der Abschnitt 21O-6 als
Empfänger der von dem Multiplexerschaltkreis 210-10 kommenden Signalgruppe festgelegt.
Der in Figur 5f in näheren Einzelheiten dargestellte Datenabschnitt
210-6 bildet einen Verbindungsweg zu der Systemsteuereinheit SCU-IlO für den Adapter 200 und den Prozessor S2P-3OO.
Der Abschnitt 210-6 führt die erforderliche Datenbehandlung für die übertragung von Datenbytes und für die Sicherstellung der
geeigneten Ausrichtung der Datenbytes durch. Datenübertragungen innerhalb des Adapters 200 können durch ein Mikroprogramm oder
durch Hardware-Steuerschritte gesteuert v/erden. Sofern ein
Mikroprogramm nicht die Steuerung einer Gruppe von Hardware-Steuerschaltkreisen freigibt, die als ein Teil des Blockes
210-6 angesehen werden können, erfolgt die Steuerung der Register und Multiplexerschaltkreise unter direkter Steuerung
durch das Mikroprogramm. Wenn bestimmte Mikrobefehle ausgeführt werden, wie beispielsweise zum Starten einer Datenübertragungsoperation
zum Auslösen einer Steuerung, so steuern die Hardware-Steuerschaltkreise die übertragung bis zu deren
Beendigung.
Es ist somit ersichtlich, daß die Subbefehlssignale, z.B. Pl, P2, P3, D5, D6, MG3 usw., die die übertragung von Datensignalen
verursachen, durch Logikgatterschaltkreise erzeugt werden, die wenigstens zwei Gruppen von Eingängen aufweisen.
Eine Gruppe umfaßt ein Signal, das anzeigt, daß die Hardware-Steuerschaltkreise die übertragung von Signalen steuern, wobei
709827/0750
Zl
es sich um Signale von einem einen Teil der Kardware-Steuerschaltkreise
bildenden Zykluszähler und Signale entsprechend dem Systemzustand handelt. Die andere Gruppe beinhaltet das
Komplement desjenigen Signales, das anzeigt, daß die übertragung durch die Mikroprogrammsteuerung stattfindet sowie
ein Signal, das einen besonderen Typ von Mikrobefehl festlegt und Signale entsprechend einem Bit bzw. Bits innerhalb
des speziellen Mikrobefehle. Als Beispiel für diese Art von Schaltkreisen, wie sie zur Erzeugung von Hardware-Schrittfolgen
benutzt werden, sei auf die US-PS 3 909 799 verwiesen.
Der Adressensteuerabschnitt 210-2 führt Operationen zur Adressierung
des Hauptspeichers 150 während Lese- und Schreiboperationen durch. Der Abschnitt verwirklicht ferner die erforderliche Adressenprüfoperation,
wie sie beim Speicherschutz und der Basisverschiebung auftreten. Dieser Abschnitt ist in einer ähnlichen
Weise organisiert, wie dies beim Datenabschnitt 210-6 der Fall war. ..>
Der Speicherschnittstellenabschnitt 210-4 weist Register und Sehaltkreise zur Verbindung des Adapters 200 mit Leitungen auf,
die die System-Anschlußschnittstelle der Systemsteuereinheit SCU-IlO umfassen. Diese Leitungen umfassen bis zu 74 Zweirichtungs-Daten-
und Paritätsleitungen, 24 Adressleitungen, 5 Befehlsleitungen und eine Anzahl von Steuerleitungen. Die Steuerleitungen
umfassen Leitungen für die übertragung von Auslöse-, übertragungs-, Unterbrechungs-, Bereitschafts- und Verbindungssignalen zwischen dem Adapter 200 und der Systemsteuereinheit
SCU-IlO.
Der S2P-Schnittstellenabschnitt 210-8 umfaßt ebenfalls Registerund
Schaltkreise für die Verbindung des Adapters 200 mit den Speicherschnittstellenleitungen des Prozessors 300. Diese
709827/0750
Leitungen umfassen zwei Gruppen von 19 Speicheradressleitungen,
36 Datenleitungen (18 Eingangs- und 18 Ausgangsleitungen) und eine Anzahl von Steuerleitungen zur Ausführung von S2P-Taktstillständen,
einer S2P-Verschiebufig oder einer Schreibmaskierung. Der Abschnitt 210-8 umfaßt ferner Datenauswahlschaltkreisc
für die Ausrichtung und übertragung von Zeichen mit einer Geschwindigkeit, die an die Speicherschnittstelle des
Prozessors 300 angepaßt ist. Im vorliegenden Ausführungsbeispiel stellt der S2P-Prozessor 300 insbesondere einen Zwei-Zeichen-Prozessor
dar, der während einer normalen Operation aus seinem Hauptspeicher in einer Zykluszeit von einer Mikrosekunde
zwei Datenzeichen entnimmt. Die zwei Daten/Adressschienen bilden eine Schnittstelle mit zwei asynchronen Registern
mit einer Breite von einem Byte, die an ein Doppelkanal-Schaltnetzwerk angeschlossen sind. Die Anordnung erlaubt ·
dem Prozessor die Behandlung zweier Zeichen zur gleichen Zeit (lesen oder schreiben) , wobei dies in einer Weise erfolgt, die
mit der normalen Betriebskonfiguration des Prozessors übereinstimmt.
Mikrobefehls-Formate
Bevor in näheren Einzelheiten die verschiedenen Blöcke gemäß Figur 2 beschrieben werden/o sei auf die verschiedenen Arten
von Mikrobefehlenund ihre Formate im Zusammenhang mit Figur eingegangen. Gemäß Figur 3 ist ersichtlich, daß der Adapter
Operationen ausführen kann, die durch den Operationscode von bis zu 25 verschiedenen Mikrobefehlen festgelegt werden, die
in 8 Hauptgruppen organisiert sind. Jedes Mikrobefehlswort enthält alle erforderlichen Operanden für eine vorgegebene
Operation.
709827/0750
ir? -
ZS
Die 8 Hauptgruppen und die Arten der durch sie festgelegten
Operationen sind folgende:
Gruppe O: no-op Gruppe 1: MMRQ
Gruppe 2: ARCA ARCL
Gruppe 3: DRCA DRCL LDC
Gruppe 4: DCKl DCK2 Gruppe 5: CBOTN
CBOTE ■■-■·-- CBRTN
CBRTE Keine Operation
Anforderungsparameter und Steueroperation für den Hauptspeicher (SCU)
Arithmetische und Steueroperation des Adressregisters
Logische und Steueroperation des Adressregisters
Arithmetische und Steueroperation des Datenregisters
Logische und Steueroperation des Datenregisters
^Ladeoperation einer Konstanten ins BSNl-Register
Leitoperation für Steuerung 1 Leitoperation für Steuerung 2
Bedingte Verzweigung beim Test- und Nicht-Bearbeitungsoperation
Bedingte Verzweigung beim Test- und Bearbeitungsoperation
Bedingte Verzweigung beim Test- und Lade-Rückkehrregister- und Nicht-Bearbeitungs-Operation
Bedingte Verzweigung beim Test- und Lade-Rückkehrregister- und
Bearbeitungs-Operation
709827/D750
Gruppe 6: LCSIK Gruppe 7: UCBK
UBRK
UBRK
RTNFI
RTFIR
RTNFR
RTFRR
CSMR
CSWR
CSWR
Lade-Steuerspeicher-Unterbrechungsregister-
und Steuer-Operation
Bedingungslose Verzweige- und Steuer-Operation
Bedingungslose Verzweige- und Steuer- und Lade-Rückkehrregister-Operation
Rückkehr vom Unterbrechungsregisterund
Steuer-Operation
Rückkehr vom Unterbrechungsregister- und Steuer- und Lade-Rückkehrregister
Operation
Rückkehr vom Rückkehrregister- und Steuer-Operation
Rückkehr vom Rückkehrregister- und Steuer- und Lade-Rückkehrregister-Operation
Steuerspeicher-Lese-Operation
Steuerspeicher-Schreib-Operation
Aus Figur 3 ist ersichtlich, daß jeder Mikrobefehl einen 5 Bit-Operationscode,
beispielsweise die Bits O bis 4, zur Festlegung der Art der auszuführenden Operation aufweist. Zusätzlich besitzt
jeder Mikrobefehl 26 Bits, z. B. die Bits 5 bis 30, die auf Grund ihrer Codierung Subbefehlc, Konstanten, Adressen usw.
festlegen und er besitzt ferner 5 Paritätsprüfbits, z. B. die Bits 31 bis 35. Jedes der Paritätsbits 32 bis 35 ist einem unterschiedlichen
Byte des Mikrobefehlswortes zugeordnet. Dies bedeutet, daß jeweils eine Ergänzung auf ungerade Parität durch das
Bit 32 hinsichtlich der Bits O bis 7, durch das Bit 33 hinsichtlich
der Bits 8 bis 15, durch das Bit 34 hinsichtlich der Bits 16 bis 33 und durch das Bit 35 hinsichtlich der Bits 24 bis 30
709827/0750
- al· -
vorgenommen wird. Das Bit 31 ist ein spezielles Paritätsprüfbit, welches eine ungerade Parität hinsichtlich der nächsten
absoluten Speicheradresse herstellt, auf die in der Folge als nächstes zugegriffen wird. Der Wert für das Bit 31 wird während
der Verarbeitung des Mikrobefehles vor seiner Einspeicherung
in den Steuerspeicher 201-10 gebildet.
Die verschiedenen Mikrobefehle gemäß Figur 3 sollen nun in
näheren Einzelheiten erläutert werden. Der einzige Mikrobefehl der Gruppe 0 weist einen Operationscode mit einem Binärwert von
11O" in allen Bitstellen auf, wodurch eine Nicht-Operation festgelegt
wird. Der einzige Mikrobefehl der Gruppe 1 besitzt einen Operationscode von 00100 und er errichtet Parameter für Zyklen
des Hauptspeichers SCU. Die Bits 5 bis 9 kennzeichnen durch ihre Codierung die Art des Speicherbefehls und die Bits 10 bis 13
legen durch ihre Codierung eine Zone fest. Die Bits 14, 15 und 16 verweisen durch ihre Codierung auf eine Verschiebung, Seitenunterteilung
und einen Grenz-Prüfmodus. Die Bits 20 bis 22, 25 bis 27 und 28 bis 30 legen durch ihre Codierung Subbefehlsgruppen
6, 7 und 8 fest.
Der erste Mikrobefehl der Gruppe 2 ARCA besitzt einen Operationscode von 01000. Dieser Mikrobefehl versetzt den Adressensteuerabschnitt
210-2 in die Lage, arithmetische Operationen hinsichtlich der in den Abschnittsregistern gespeicherten Adressen durchzuführen,
die bei der Hauptspeicheradressierung erforderlich sind. Die Bits 5 bis 10 definieren durch ihren Code die Art der arithmetischen
Operation (Modus), wie sie durch ein in dem Abschnitt 210-2 enthaltenes Rechenwerk ALU ausgeführt wird. Das Bit 10 stellt
hierbei ein Ubertrags-Eingangsbit dar. Die Bits 15 bis 17 wählen durch ihre Codierung den gewünschten Anschluß einer an den Multiplexerschaltkreis
210-10 angeschlossenen Quelle aus. Die Bitpaare 11 bis 12 und 18 bis 19 geben durch ihre Codierung an, welches
Register innerhalb der ersten und zweiten Registergruppen das Rechenwerksergebnis zugeführt erhält. Das Bitpaar 23 bis 24 gibt
70 9 8 27/0750'
ze
durch seine Codierung an, welches Register innerhalb der
ersten Registergruppe die Ausgangssignale des Multiplexerschaltkreises 210-10 zugeführt erhält. Die Bits 20 bis 22,
23 bis 24 und 25 bis 26 legen Subbefehlsgruppen 6, 7 und 8
fest.
ersten Registergruppe die Ausgangssignale des Multiplexerschaltkreises 210-10 zugeführt erhält. Die Bits 20 bis 22,
23 bis 24 und 25 bis 26 legen Subbefehlsgruppen 6, 7 und 8
fest.
Der zweite Mikrobefehl der Gruppe 2 ARCL v/eist einen Operationscode 01001 auf. Dieser Mikrobefehl ist in gleicher Weise wie
der Mikrobefehl ARCA codiert, mit der Ausnahme, daß die Bits 5 bis 10 die Art der logischen Operation definieren, wie sie
durch das Rechenwerk des Abschnitts auszuführen ist. Wenn
eine logische Operation vorliegt, so gibt es kein Ubertrags-Eingangssignal und das Bit 10 weist den Wert "0" auf.
eine logische Operation vorliegt, so gibt es kein Ubertrags-Eingangssignal und das Bit 10 weist den Wert "0" auf.
Der erste und zweite Mikrobefehl innerhalb der Mikrobefehle
der Gruppe 3 ist ähnlich den Mikrobefehlen der Gruppe 2 codiert. Der erste Mikrobefehl der Gruppe 3 DRCA besitzt einen Operationscode von 01100. Dieser Mikrobefehl versetzt den
Datenabschnitt 210-6 in die Lage, arithmetische Operationen
hinsichtlich des Dateninhalts der verschiedenen Register in
diesem Abschnitt durchzuführen. Die Operationen können hierbei getrennt oder gleichzeitig hinsichtlich der oberen 36 Bits (00 bis 35) oder der unteren 36 Bits (36 bis 71) eines jeden Registers ausgeführt werden. Die Bits 5 bis 10 legen die Art der durch das Rechenwerk ALU des Abschnittes durchzuführenden arithmetischen Operation fest. Die Bits 15 bis 17 wählen durch ihre Codierung den Anschluß der Bits 0 bis 35 des Multiplexerschaltkreises 210-10 aus und die Bits 20 bis 22 wählen in
gleicher Weise den Anschluß der Bits 36 bis 71 eines zweiten nicht dargestellten MultiplexerSchaltkreises aus. Die Bitpaare 10 bis 11 und 13 bis 14 legen durch ihre Codierung fest, welches der Register innerhalb der ersten und zweiten Registergruppen mit dem Ergebnis des Rechenwerks beaufschlagt wird.
Die Eitpaare 18 bis 19 und 23 bis 24 legen durch ihre Codierung fest, welches der Register innerhalb der ersten und zweiten Registergruppen mit den Ausgangssignalen des Multiplexcr-
der Gruppe 3 ist ähnlich den Mikrobefehlen der Gruppe 2 codiert. Der erste Mikrobefehl der Gruppe 3 DRCA besitzt einen Operationscode von 01100. Dieser Mikrobefehl versetzt den
Datenabschnitt 210-6 in die Lage, arithmetische Operationen
hinsichtlich des Dateninhalts der verschiedenen Register in
diesem Abschnitt durchzuführen. Die Operationen können hierbei getrennt oder gleichzeitig hinsichtlich der oberen 36 Bits (00 bis 35) oder der unteren 36 Bits (36 bis 71) eines jeden Registers ausgeführt werden. Die Bits 5 bis 10 legen die Art der durch das Rechenwerk ALU des Abschnittes durchzuführenden arithmetischen Operation fest. Die Bits 15 bis 17 wählen durch ihre Codierung den Anschluß der Bits 0 bis 35 des Multiplexerschaltkreises 210-10 aus und die Bits 20 bis 22 wählen in
gleicher Weise den Anschluß der Bits 36 bis 71 eines zweiten nicht dargestellten MultiplexerSchaltkreises aus. Die Bitpaare 10 bis 11 und 13 bis 14 legen durch ihre Codierung fest, welches der Register innerhalb der ersten und zweiten Registergruppen mit dem Ergebnis des Rechenwerks beaufschlagt wird.
Die Eitpaare 18 bis 19 und 23 bis 24 legen durch ihre Codierung fest, welches der Register innerhalb der ersten und zweiten Registergruppen mit den Ausgangssignalen des Multiplexcr-
709827/0750
Schaltkreises 210-10 und des zweiten nicht dargestellten Multiplexerschaltkreises beaufschlagt wird. Die Bits 25 bis
27 und 28 bis 30 legen durch ihre Codierung wiederum Subbefehle
der Gruppe 7 und 8 fest.
Der zweite Mikrobefehl der Gruppe 3 DJRCL besitzt einen Operationscode
von 01101. Dieser Mikrobefehl ist in der gleichen Weise wie der Mikrobefehl DRCA codiert, mit Ausnahme der
Modusbits 5 bis 10, die durch ihre Codierung die Art der logischen Operation festlegen, wie sie durch das Rechenwerk
des Abschnittes auszuführen ist.
Der letzte Befehl der Gruppe 3 LDC besitzt einen Operationscode von OHIO. Dieser Mikrobefehl veranlaßt die Abgabe einer
26 Bit-Konstanten (Bits 5 bis 30) an ein spezifisches Register BSNl innerhalb des Abschnittes 210-6, wobei diese Abgabe über
den Multiplexerschaltkreis 210-10 erfolgt.
Der erste und zweite Mikrobefehl innerhalb der Mikrobefehle der Gruppe 4 DCKl und DCK2 besitzen Operationscodes von 10000
und 10001. Der erste dieser Mikrobefehle besitzt Bitgruppen,
die durch ihre Codierung Operationen festlegen, wie sie durch die Subbefehlsgruppen 1 bis 8 bestimmt sind. Der zweite Mikrobefehl
DCK2 besitzt Bitgruppen, die durch ihre Codierung Operationen festlegen, wie sie durch die Subbefehlsgruppen
6 bis 13 bestimmt sind.
,Die Mikrobefehle der Gruppe 5 sind bedingte Verzweigungs-Mikrobefehle,
wie sie zur Prüfung des Zustandes verschiedener Test-Anzeigeschaltkreise innerhalb des Adapters 200 und zu einer
Verzweigung nach einem Speicherplatz innerhalb des Steuerspeichers
201-10 benutzt werden, wobei der Speicherplatz durch die Adressbits 5 bis 16 festgelegt ist, wenn die Resultate
des Tests im Hinblick auf eine getroffene Vereinbarung keinen Fehler aufweisen. Die Bits 17 bis 22 und 24 bis 29 bestimmen
709827/0750.
durch ihre Codierung die beiden Test-Anzeigeschaltkreise, deren Zustände zu prüfen sind. Es sei darauf verwiesen, daß das niedrigrangige
Verzweigungs-Adressbit (A12) in dem Mikrobefehl nicht enthalten
ist. Das Bit 23 ist ein ungerades Paritätsbit, das für die Adressbits 5 bis 16 während der Verarbeitung der Mikrobefehle und
vor deren Speicherung im Steuerspeicher 201-10 errechnet wird. Das
Bit A12 wird bei der Berechnung mit "0" angenommen.
Bei der verwendeten Verzv/eigungskonvention verzweigt ein Steuerspeicher-Mikroprogramm
zu dem Verzweigungs-Adressenspeicherplatz, wenn der Zustand des durch das Testfeld 1 festgelegten Indikators
nicht erfüllt und der Zustand des durch das Testfeld 2 festgelegten Indikators erfüllt ist. Das Bit 12 des CSA-Registers 201-12 wird
auf den Binärwert "0" gesetzt. Wenn der durch das Testfeld 1 festgelegte Indikatorzustand erfüllt ist und der durch das Testfeld 2
festgelegte Indikatorzustand erfüllt bzw. nicht erfüllt ist, so
verzweigt das Mikroprogramm zu dem Verzweigungs-Adressenspeicherplatz
plus 1 und es wird das Bit 12 des CSA-Registers auf den Binärwert "1" gesetzt. Da das Bit 23 ein ungerades Paritätsbit
für die Verzweigungsadresse darstellt, wenn das Testfeld 1 einen erfüllten Indikatorzustand anzeigt, wodurch eine Erhöhung der Verzweigungsadresse
um 1 bewirkt wird, so wird der Zustand dieses Bits invertiert, bevor es im CSA-Register 201-12 gespeichert wird.
Die Art der Operationen, wie sie durch jeden der Mikrobefehle vom Verzweigungstyp ausgelöst werden, sei nun erläutert. Während der
Bearbeitung eines jeden Verzweigungs-Mikrobefehls verzweigt das Steuerspeicher-Mikroprogramm zu dem durch die Verzweigungsadresse
festgelegten Mikrobefehl, sofern der Anzeigestatus, der anhand der Testfelder Γ und 2 überprüft wird, erfüllt ist. Die verschiedenen
Mikrobefehle führen zu den folgenden verschiedenen Operationen.
Der Mikrobefehl CBOTN besitzt einen Operationscode von lOlOO. Bei
seiner Ausführung sperrt er die Ausführung des nächsten Mikrobefehls der Folge, wenn die getestete Verzweigungsbedingung erfüllt
709827/0 750
ist. Wenn die getestete Verzweigungsbedingung nicht erfüllt
ist, so schreitet das Mikroprogramm zu dem nächsten Mikrobefehl
weiter.
Der Mikrobefehl CBOTE besitzt einen Operationscode von lOlOl.
Dieser Mikrobefehl wird in der gleichen Weise wie der Mikrobefehl CBOTN ausgeführt, mit der Ausnahme, daß der unmittelbar
folgende Mikrobefehl immer vor einer Verzweigung bearbeitet wird.
Der Mikrobefehl CBRTN besitzt einen Operationscode von 10110. Dieser Mikrobefehl wird in der gleichen Weise wie der Mikrobefehl
CBOTN ausgeführt, mit der Ausnahme, daß er ein Laden des CSR-Registers 201-22 mit der Adresse des unmittelbar auf
den Verzweigungs-Mikrobefehl folgenden Speicherplatzes veranlaßt.
Der Mikrobefehl CBRTE besitzt einen Operationscode von 10111. Dieser Mikrobefehl wird in der gleichen Weise wie der Mikrobefehl
CBOTE ausgeführt, mit der Ausnahme, daß er ein Laden des CSR-Registers 201-22 mit der Adresse des Verzweigungs-Mik,robefehls
plus 2 verursacht. Hierdurch wird dem auf die Verzweigung folgenden Mikrobefehl Rechnung getragen.
Der einzige Mikrobefehl der Gruppe 6 LCSIK besitzt einen Operationscode von 11010. Dieser Mikrobefehl enthält eine
13 Bit-Adresse und ein ungerades Paritätsprüfbit entsprechend
den Bits 5 bis 17 und dem Bit 23, welches in das CSI-Register 201-26 geladen wird. Die Bits 20 bis 22, 25 bis
27 und 28 bis 30 legen durch ihre Codierung Subbefehlsgruppen -6,7 und 8 fest.
Die Mikrobefehle der Gruppe 7 bewirken eine Modifikation des Inhalts des CSA-Registers 201-10 vor ihrer Bearbeitung. Wie
aus Figur 3 ersichtlich, weist jeder dieser Mikrobefehle ein
7 0 9827/0750
13 Bit-Feld entsprechend den Bits 5 bis 17 auf, das durch seine Codierung eine Verzweigungsadresse oder den Binärwert
"0" in allen Bitstellen festlegt. Das Bit 23 gibt durch seine Codierung eine ungerade Parität für die Verzweigungsadressen
enthaltenden Mikrobefehle vor. In bestimmten Fällen sind die Bits 18 bis 19 und 23 bis 24 ebenfalls codiert, um die Art
des Mikrobefehls weiter festzulegen. Die Bits 20 bis 22,
25 bis 27 und 28 bis 30 geben durch ihre Codierung Subbefehlsgruppen 6,7 und 8 vor.
Betrachtet man jeden Mikrobefehl für sich, so ist ersichtlich, daß der Mikrobefehl UCBK einen Operationscode von 11100 aufweist.
Dieser Mikrobefehl veranlaßt das Steuerspeicher-Mikroprogramm
zu einer Verzweigung zu dem durch die Adressbits 5 bis 17 vorgegebenen Speicherplatz. Der Mikrobefehl UBRK besitzt
einen Operationscode von 11110 und wird in der gleichen Weise wie der Mikrobefehl UCBK ausgeführt, mit der Ausnahme,
daß er noch das Laden des CSR-Registers 201-22 mit einer Rückkehradresse vom CSB-Inkrementierschaltkreis 201-20 verursacht.
Der Mikrobefehl RTNFI besitzt einen Operationscode von 11100. Dieser Mikrobefehl veranlaßt das Steuerspeicher-Mikroprogramm
zur Rückkehr zur Programmadresse, die durch den Inhalt des CSI-Registers 201-26 vorgegeben ist. Der Mikrobefehl RTFIR
besitzt einen Operationscode von 11110 und wird in der gleichen Weise wie der Mikrobefehl RTNFI ausgeführt, mit der Ausnahme,
daß er noch das Laden des CSR-Registers mit einer Rückkehradresse,
wie sie durch den CSB-Inkrementierschaltkreis 201-20 vorgegeben ist, verursacht.
Der Mikrobefehl RTNFR besitzt einen Operationscode von 11100. Dieser Mikrobefehl veranlaßt das Steuerspeicher-Mikroprogramm
zur Rückkehr auf die durch den Inhalt des CSR-Registers 201-22 vorgegebene Programmadresse. Der Mikrobefehl RTFRR mit einem
Operationscode von 11110 wird in der gleichen Weise wie der
709827/0750
Mikrobefehl RTNFR bearbeitet, mit der Ausnahme, daß er noch das Laden des CSR-Registers 201-22 mit einer von dem CSB-Inkrementierschaltkreis
201-20 erhaltenen Rückkehradresse verursacht.
Der Mikrobefehl CSMR besitzt einen Operationscode von. 11101. Dieser Mikrobefehl verursacht das Lesen des Inhalts des Speicherplatzes,
der durch den Inhalt des CSI-Registers 201-26 vorgegeben ist, aus dem Steuerspeicher 201-10 und das Laden in ein vorbestimmtes
Register des Datenabschnittes 210-6. Der Mikrobefehl CSMW mit dem gleichen Operationscode veranlaßt das Einschreiben
des Inhalts eines vorgegebenen Registers im Datenabschnitt 210-6 in einen Speicherplatz, der durch den Inhalt des CSI-Registers
201-26 festgelegt ist.
Die verschiedenen Blöcke gemäß Figur 2 sollen nunmehr unter Bezugnahme auf die Figuren 5a bis 5h näher erläutert werden.
Grundlegende Steuer-Decodierschaltkreise 201-32
Figur 5 zeigt die Schaltkreise 201-200 bis 201-272, die die
verschiedenen Register-Übertragungssignale für die Konditionierung der verschiedenen Register des Steuerabschnittes 201 für
die Übertragungen während einer Mikrobefehlsbearbeitung erzeugen.
Aus Figur 5a ist ersichtlich, daß mehrere UND-Gatter 201-200 bis 201-202 zusammen mit einem Inverterschaltkreis 201-203
und einem Verstärker 201-204 der Erzeugung eines frühen übertragungssignales CSANElO auf Grund verschiedener Mikrobefehle
der Gruppe 7, z.B. der Mikrobefehle UCBK und UBRK dienen. Das
Signal CSINFlA nimmt auf Grund eines Mikrobefehles CBOTN oder CBRTN den Binärwert "0" ein, wenn die durch das Testfeld 1
oder das Testfeld 2 vorgegebene Bedingung erfüllt ist. In diesem Fall wird die Erzeugung des Signales CSANElO ebenso wie die
Erzeugung eines frühen Ubertragungssignales CSIFNlO durch ein UND-Gatter 201-253 9^gJ7 / Q7 S 0
Die UND-Gatter 201-206 und 201-207 veranlassen den Verstärker
201-206 zur Ausgabe des Übertragungssignales CSRFBlO mit.dem
Binärwert "1" auf Grund gewisser Mikrobefehle der Gruppe 5 und Gruppe 7. Bei diesen Mikrobefehlen handelt es sich um den
Mikrobefehl CBRTE der Gruppe 5 und die Mikrobefehle UBRK,
RTFIR und RTERR der Gruppe 7.
Das UND-Gatter 201-210 veranlaßt den Verstärker 201-211 zur Ausgabe des Übertragungssignales CSRFAlO in Abhängigkeit von
dem Mikrobefehl CBRTN der Gruppe 5. Die Gatter 201-212 und 201-213 verursachen die Ausgabe des Übertragungssignales CSAFRlO
mit dem Binärwert "1" durch den Verstärker 201-214 in Abhängigkeit von bestimmten Bedingungen und in Abhängigkeit von bestimmten
Mikrobefehlen der Gruppe 7. Die Bedingungen sind beispielsweise durch das Ende einer Abtastoperation, CSASCOT = 0,
beim Vorliegen eines Auslösesignales oder durch ein Speichersignal während einer Vorabtastoperation, CSAFRIB = 0, vorgegeben.
Bei den Mikrobefehlen der Gruppe 7 handelt es sich beispielsweise um die Mikrobefehle RTNFR und RTFRR. Die Gatter
201-230 und 201-231 und die Inverterschaltkreise 201-232 bis 201-234 erzeugen das geeignete Konditionierungssignal für das
Gatter 201-212 in der dargestellten Weise.
Das Gatter 201-216 veranlaßt den Verstärker 201-218 zum Übergang
des Signales CSIFBlO auf den Binärwert "1" während einer Hardware-Register-Ein/Auslagerungs-Operation (z.B. CSHRSlO = 1) ,
in welcher der Inhalt des CSI-Registers 201-26 mit einer von dem CSB-Inkrementierschaltkreis 201-20 während des Vorliegens
der Mikrobefehle CSMR und CSWR inkrementierten Adresse geladen wird. Das UND-Gatter 201-217 setzt über den Schaltkreis 201-218
das Signal CSIFElO während der Abrufphase der Mikrobefehle CSMR und CSMW auf den Binärwert "1".
709827/0750
Das UND-Gatter 201-220 sperrt den Inverterschaltkreis 201-222, so daß das Übertragungssignal CSHFAlO, das für die Ergänzung
des Stammdatenregisters 201-18 während der Ausführung der Verzweigungsmikrobefehle
CBOTN und CBRTN erforderlich ist, gesperrt wird, sofern irgendeine der getesteten Bedingungen erfüllt
ist (CSATTlO = 1). Das Gatter 201-221 verhindert ebenfalls, daß das Signal CSHFAlO den Binärwert "1" einnimmt, wenn
sich der Steuerabschnitt 201 nicht im Ablauf-Zustand befindet (z.B. CSRUNOO = 1). Die Bedingungen, die den Steuerabschnitt
in den Ablauf-Zustand versetzen, werden durch das Drücken eines Steuerfeld-Druckknopfes für einen Befehl, durch den Steuerfeld-Ablauf-Druckknopf
oder durch die Vervollständigung einer erfolgreichen Abtastoperation vorgegeben. Der Steuerabschnitt
schaltet von dem Ablauf zustand in den Haltezustand um, wenn ein Steuerfeld-Auslösedruckknopf, der Druckknopf für den einen
Befehl oder ein Steuerfeld-Stopdruckknopf beim Vorliegen bestimmter Fehlerbedingungen gedrückt wird.
Die UND-Gatter 201-224, 201-226 und 201-227 sperren den Inverterschaltkreis
201-228, so daß dieser das Übertragungssignal CSAFBlO beim Vorliegen bestimmter Arten von Mikrobefehlen
nicht auf den Binärwert "1" setzen kann. Beispielsweise verhindern die UND-Gatter 201-224 und 201-226 eine Umschaltung
des Signales CSAFBlO auf den Binärwert "1" während der Bearbeitung von Verzweigungs-Mikrobefehlen der Gruppe 5,
wenn entweder die durch das Testfeld 1 oder die durch das Testfeld 2 getestete Bedingung erfüllt ist. Hierdurch wird
die normale Erhöhung des Adresseninhalts des CSA-Registers 201-12 durch den CSB-Inkrementierschaltkreis 201-20 verhindert.
Das UND-Gatter 201-241 und das Gatter 201-240 verhindern ebenfalls die Umschaltung des Signales CSAFBlO auf den Binärwert
"1" beim Vorliegen von Mikrobefehlen des Types CSMR und CSJlW.
Ferner sperrt das UND-Gatter 201-237 die Erzeugung des Signales CSAFBlO, wenn sich der Steuerabschnitt 201 nicht im Ablauf-Zustand
befindet (z.B. CSRUNOO = 1), wenn er nicht ausgelöst
worden ist, sich nicht im Abtastmodus befindet (CSINTOO = 1, CSASCOO - 1) oder wenn das Signal CSAFRlO den Binärwert "1"
709827/0750
aufweist. Ein letztes UND-Gatter 201-236 verhindert die Umschaltung
des Signales CSAFBlO auf den Binärwert "1" während der Abrufphase von Mikrobefehlen der Gruppe 7.
Das Gatter 201-245 setzt über den Verstärker 201-247 das Übertragungssignal CSAFIlO auf den Binärwert "1", wenn ein
Mikrobefehl des Types CSMR oder CSMW beendigt wird oder wenn eine Steuerfeld-Schreiboperation über die Gatter 201-265 bis
201-268 abläuft, durch welche das Umschalt-Flip-Flop 201-270
für ein Taktimpulsintervall auf den Binärwert "1" umschaltet. Die Rückstellung erfolgt über das UND-Gatter 201-269. In Abhängigkeit
von den Mikrobefehlen RTNFI und RTFIR der Gruppe 7 verursacht das UND-Gatter 201-246 die Erzeugung des Signales
CSAFIlO mit einem Binärwert "1".
Das Paar von UND-Gattern 201-248 und 201-249 veranlaßt den Verstärkerschaltkreis 201-250 zur Ausgabe des spaten Übertragungssignales
CSAFNlO mit einem Binärwert "1" während der Ausführung von bedingten Verzweigungsbefehlen der Gruppe 5,
wenn entweder die durch das Testfeld 1 oder die durch das Testfeld 2 geprüfte Bedingung erfüllt ist.
Die UND-Gatter 201-252 und 201-253 setzen über den Verstärkerschaltkreis
201-254 das frühe Übertragungssignal CSIFNlO während der Abrufphase des Mikrobefehls LCSIK aus der Gruppe 6
auf den Binärwert "1", wenn das Signal CSIFNlA unter den oben
erläuterten Bedingungen den Binärwert "1" aufweist.
Die Gatter 201-256 und 201-257 sperren das Operationscode-Übertragungssignal
CSNFM90 gegen eine Umwandlung auf den Binärwert "1" während der Ausführung der Mikrobefehle CSMR
und CSMW der Gruppe 7. Das Gatter 201-258 sperrt das Signal CSNFM90 während- der Ausführung von Mikrobefehlen CBOTN und
CBRTN der Gruppe 5, wenn die durch das Testfeld 1 oder das Testfeld 2 überprüfte Bedingung erfüllt ist. Bei erfüllter,
709827/0750
265886A
getesteter Bedingung und in Abhängigkeit der Mikrobefehle CBOTN und CBRTN veranlaßt das UND-Gatter 201-262 über den
Verstärker 201-263 die Umwandlung des Ubertragungssignales
CSNFMOO in den Binärwert "0".
Hauptgruppen- und Subbefehls-Decodierschaltkreise 201-34.
Die Schaltkreise, die die verschiedenen, den Schaltkreisen des Blockes 201-32 zugeführten Gruppen-Decodiersignale erzeugen,
sind in näheren Einzelheiten in Figur 5b dargestellt. Gemäß
Figur 5b ist ersichtlich, daß die Hauptgruppensignale in erster Linie durch die Decodierung verschiedener Kombinationen
der Operationscodebits 0 bis 4 gebildet v/erden. Die Schaltkreise umfassen eine Vielzahl von UND-Gattern 201-400 bis
201-411, die in Abhängigkeit von verschiedenen Operationscode-Bitmustern der verschiedenen Mikrobefehlstypen ihre
zugeordneten Verstärkerschaltkreise 201-414 bis 201-424 beaufschlagen.
In: Figur 5c sind die Subbefehls-Decodierschaltkreise dargestellt,
welche die für die Mikrobefehlsbearbeitung erforderlichen Subbefehlssignale erzeugen. Wie aus Figur 5c ersichtlich/,
sind die Subbefehle in 13 getrennte Gruppen von 7 Subbefehlen unterteilt. Der Block 201-34 weist demnach 13 Binär/
Dezimal-Decodierschaltkreise 201-451 bis 201-463 auf, von denen
jeder eine spezifische Gruppe von Bits des internen Speicherregisters
201-16 decodiert. Der Bit-Eingang mit dem höchsten Rang eines jeden Decodierschaltkreises wird als Freigabeeingang
benutzt und erhält Sperrsignale (z.B. CSGAIlO bis CSGDIlO)
zugeführt, die durch verschiedene der Schaltkreise 201-470 bis 201-487 erzeugt werden. Dies bedeutet bei einem Sperrsignal
mit dem Binärwert "1" eine Sperrung der Decodierung der Subbefehlssignale,
da die Eingangscodes nunmehr Werte besitzen, die größer als die für die Erzeugung der 7 Subbefehle erforderlichen
Werte sind.
70982 7/0750
Die Sperrsignale, die mit Gruppe A bis Gruppe D bezeichnet
sind, stellen sich folgendermaßen dar:
1. CSGAIlO = (Gruppe A) für die Subbefehls-Decodiergruppen
1 bis 5. Das Signeil nimmt den Binärwert "0"
nur dann ein, wenn ein Mikrobefehl DCKl vorliegt.
2. CSGBIlO = (Gruppe B) für die Subbefehls-Decodiergruppen
7 bis 8. Dieses Signal nimmt den Binärwert "0" hinsichtlich aller Mikrobefehlsgruppen mit Ausnahme
der Gruppe 0, der Gruppe 5 oder einem LDC-Mikrobefehl ein.
3. CSGBI30 = (Gruppe B) für die Subbefehls-Decodiergruppe 6.
Dieses Signal nimmt den Binärwert "0" beim Vorliegen aller Mikrobefehlsgruppen mit Ausnahme
der Gruppen 0, 3 und 5 ein.
4. CSGCIlO = (Gruppe C) für die Subbefehls-Decodiergruppen
9 bis 12. Dieses Signal nimmt den Binärwert "0" nur beim Vorliegen eines DCK2~Mikrobefehls ein.
5. CSGDIlO = (Gruppe D) für die Subbefehls-Decodiergruppe 13,
Dieses Signal nimmt den Binärwert "0" nur beim Vorliegen eines DCK2-Mikrobefehls ein.
Testanzeige- und Verzweigungsschaltkreise 201-36
Figur 5d zeigt die Schaltkreise zum Decodieren der beiden 6 Bit-Gruppen der Testfeldbits innerhalb der Mikrobefehle der
Gruppe 5. Wie aus der Zeichnung ersichtlich, weisen die Schaltkreise vier Gruppen von Multiplexerschaltkreisen auf. Zwei der
Gruppen^entsprechend den Blöcken 201-600 und 201-602/umfassen
jeweils 8 Multiplexerschaltkreise. Die beiden anderen Gruppen,
709827/075 0
entsprechend den Blöcken 201-604 und 201-606, umfassen jeweils einen einzigen Multiplexerschaltkreis. Jeder Multiplexer-Auswahlschaltkreis
besitzt 8 Eingänge, von denen jeder an ein vorbestimmtes Indikatorsignal entsprechend einer speziellen
Bedingung angeschlossen ist.
Die spezielle durch jeden Multiplexerschaltkreis der Blöcke 201-600 und 201-602 auszuwählende Bedingung wird durch die
Bits CSN2O-22 des Testfeldes 1 und die Bits CSN27 bis 29
des Testfeldes 2 festgelegt. Die verbleibenden drei Bits eines jeden Testfeldes werden zur Auswahl eines der 8 Ausgänge
aus jeder Gruppe der 8 Multiplexerschaltkreise benutzt. Die Ausgänge der 8 Multiplexerschaltkreise werden
durch die Signale CSTFlOA bis CSTFlOH und CSTF20A bis CSTF20H gebildet. Ein UND-Gatter 201-610 und ein Inverterschaltkreis
201-611 kombiniert die Indikator-Ausgangssignale des Testfeldes 1 und des Testfeldes 2 und setzt das Signal CSATTlO
auf den Binärwert "1", wenn die durch das Testfeld 1 oder das Testfeld 2 geprüfte Bedingung erfüllt ist.
HauptStatusschaltkreise 201-50
Die Hauptstatusschaltkreise umfassen mehrere Flip-Flops 201-500 bis 201-507, von denen eine Anzahl in Figur 5e dargestellt
ist. Zum Zwecke der Vereinfachung sind nur drei der Flip-Flops mit den zugeordneten Schaltkreisen dargestellt.
Die verbleibenden Flip-Flops sind jedoch an gleiche Schaltkreise angeschlossen.
Das Flip-Flop 201-500 zeigt an, wenn der Steuerabschnitt initialisiert worden ist. Das UND-Gatter 201-510 setzt das
Flip-Flop 201-500 auf den Binärwert "1", wenn ein Steuerspeicher-Initialisierknopf
gedrückt wird. Das UND-Gatter 201-512 stellt das Flip-ΓΙορ bei der Freigabe des Druckknopfes
zurück, wenn das Signal CSNEMlA den hohen Pegel einnimmt. Das Signal CSINTlO wird zur Rückstellung der CSR- und
709827/0750
HO
CSI-Register 201-22 und 201-26 benutzt und es versetzt den
Adapter 200 und den S2P-Prozessor in einen bekannten Zustand.
Das Flip-Flop 2Ο1-5Ο1 gestattet dem Steuerabschnitt 201 das
Anhalten der Operation bei der Feststellung eines Hardware-Fehlers, eines Steuerspeicher-Paritätsfehlers, eines Register-Paritätsfehlers
oder eines nicht-existierenden Speicher-Prüffehlers. Das Gatter 201-514 schaltet das Flip-Flop auf den
Binärwert "1" entsprechend dem Subbefehlssignal CSS421O. Das
Flip-Flop wird durch das Niederdrücken des Initialisierknopfes oder durch das Subbefehlssignal CSS4110 zurückgestellt. Im
zurückgestellten Zustand verursacht das Flip-Flop 201-501 kein Anhalten der Systemoperation in Abhängigkeit von Steuerspeicherfehlern.
Die Fehler veranlassen lediglich das Setzen geeigneter Statusindikatoren. Es sei darauf verwiesen, daß
der Operationsmodus, der durch das Flip-Flop 201-501 freigegeben wird, mit Vorteil Verwendung findet, wenn das System
einen Basislogiktest und Wartungs-Uberprüfungsroutinen beim
Testen der Operation von Prüfschaltkreisen durchführt.
Das nächste Flip-Flop 201-502 gestattet entweder die Auswahl
nicht-modifizierter 36 Bits zum Einschreiben in den Steuerspeicher
201-10 (z.B, wenn das Signal CSAHPlO = 0 ist) oder
die Auswahl von Paritätsprüfbits, die durch Schaltkreise des
Blockes 201-15 zum Einschreiben in den Steuerspeicher 201-10 erzeugt werden (z.B. wenn das Signal CSAHPlO = 1 ist). Das
Flip-Flop 2Ο1-5Ο^Ρ"ίϊδεΓ das Gatter 201-524 durch das Subbefehlssignal
CSS761O auf den Binärwert "1" umgeschaltet. Durch das Subbefehlssignal CSS77OO wird es über das UND-Gatter 201-526
zurückgestellt.
Das Flip-Flop 201-503 zeigt einen Diagnostiziermodus an und wird während der Ausführung von Wartungsprüfroutinen als ein
Statusindikator benutzt. Es wird durch das Subbefehlssignal CSS231O auf den Binärwert "1" und durch das Haltesignal CSDIAlI!
auf den Binärwert "0" geschaltet. Das Flip-Flop 201-504 definiert
709 827/075Ü
den Modus des CST-Zählers 201-54. Wenn es durch das Subbefehlssignal
CSS871O auf den Binärwert "1" gesetzt ist, zeigt es an,
daß sich der Zähler in einem Abwärts-Zählmodus befindet. Ist es durch das Subbefehlssignal CSS83OO auf den Binärv;ert "0" zurückgestellt,
so zeigt es an, daß sich der Zähler in einem Aufwärts-Zählmodus
befindet.
Das Flip-Flop 201-506 ist ein Status-Flip-Flop, welches im auf
"1" gesetzten Zustand anzeigt, daß der Steuerspeicher 201-10 mit individueller Firmware geladen ist. Es wird durch das Subbefehlssignal
CSS1210 auf "1" gesetzt und durch das Haltesignal CSFLDlH auf "0" zurückgestellt, wobei dieses Haltesignal den Wert "O"
aufweist, wenn der Steuerspeicher-Steuerfeld-Auslöseknopf gedrückt
ist.
Das letzte Flip-Flop 201-507 ist ein Start-Datenbewegungs-Flip-Flop,
das die Schaltkreise innerhalb des Datenabschnittes 210-20 aktiviert, um Daten durch den Adapter 200 zu bewegen. Es wird in
Abhängigkeit eines Subbefehlssignales CSS3110 auf "1" gesetzt.
Das Flip-Flop wird auf "0" zurückgestellt, indem das Signal
CSINTOO zur Annahme des Binärwertes "0" veranlaßt wird. Das Signal CSINTOO v/ird durch die Datenabschnitts-Schaltkreise,
ein S2P-Auslösesignal oder durch Subbefehlssignale zur Annahme des Binärwertes "0" veranlaßt.
Daten-'Steuer-Decodier schaltkreise 201-40
Diese Schaltkreise entsprechend größtenteils den Schaltkreisen gemäß den Figuren 5a bis 5c. Figur 5g zeigt in näheren Einzelheiten
die Schaltkreise, die den Datenabschnitt 210-6 und den Multiplexerschaltkreis 210-10 während der Bearbeitung von CSMR-
und LDC-Mikrobefehlen konditionieren. Gemäß Figur 5g ist ersichtlich,
daß das Steuersignal BSNFMlO erzeugt wird, wenn ein Flip-Flop 201-700 über ein UND-Gatter 201-702 oder ein UND-Gatter
201-704 auf Grund eines LDC-Mikrobefehls der Gruppe 3 oder eines
7098 27/0750
CSMR-Mikrobefehls der Gruppe 7 auf "1" geschaltet wird. Das
UND-Gatter 201-706 stellt das Flip-Flop beim Auftreten des nächsten Taktimpulses auf "1" zurück»
S2P-Steuerfeld-Logikschaltkreis 201-52
In Figur 5i sind die Schaltkreise dargestellt, die eine Vorabtastung
des SteuerSpeichers 201-10 durchführen. Für eine vereinfachte Erläuterung bilden diese Schaltkreise einen Teil des
Blockes 201-52. Aus Figur 5i ist ersichtlich, daß die Schaltkreise ein Paar hintereinandergeschalteter Flip-Flops 201-550
und 201-552 aufweisen. Das erste Flip-Flop wird auf "1" immer dann umgeschaltet, wenn der Steuerspeicher-Auslöseknopf freigegeben
wird und es verbleibt in diesem gesetzten Zustand, bis die Abtastung vollständig durchgeführt ist (z.B. Signal CSB0210
= 1) oder ein Steuerspeicherfehler festgestellt wird.(z.B. Signal
CSAERlO = 1).
Das zweite Flip-Flop 201-552 wird über das Gatter 201-600 einen Taktimpuls nach dem Umschalten des Flip-Flops 201-550 auf "1"
umgeschaltet. Die Signale CSASCOO und CSASC30 sowie CSAEROO
werden zur Erzeugung des Signales CSASCOT benutzt, wodurch der Steuerabschnitt 201 beim Ende einer Festwertspeicherabtastung
zum Eintritt in einen Ablaufmodus veranlaßt wird, sofern die
Abtastung erfolgreich verlief.
Lese/Schreib- und Paritäts-Erzeugungsschaltkreise 201-15.
Die Schaltkreise erzeugen bestimmte Steuersigale, wie sie bei der Ausführung einer Steuerspeicher-Schreiboperation erforderlich
sind. Wie aus Figur 5g hervorgeht, weisen die Schaltkreise ein Paar von in Reihe geschalteten Flip-Flops 201-150 und 201-151
auf. Die "!"-Ausgangssignale der Flip-Flops werden in einem UND-Gatter 201-159 miteinander kombiniert und veranlassen den
709827/0750
Verstärkerschaltkreis 201-160 zur Ausgabe eines Schreibsteuerimpulses
CSWRTlO. :
Das Flip-Flop 201-151 wird durch ein Signal DPCSElO auf "1" umgeschaltet,
wobei das Signal DPCSElO durch Drücken des Steuerfeldknopf es erzeugt und über das Gatter 201-157 zugeführt wird.
Das UND-Gatter 201-158 schaltet das Flip-Flop 201-151 auf "1" auf Grund eines CSMW-Mikrobefehls um. Ein UND-Gatter 201-155
stellt das Flip-Flop auf "0" beim Auftreten des nächsten Taktimpulses zurück. · '■
Verschiedene der Schaltkreise, die durch die von dem Flip-Flop 201-151 erzeugten Signale konditioniert werden, weisen ein Paar
Flip-Flops 201-161 und 201-162 auf. Das Flip-Flop 201-161 wird durch das Schreibsignal CSWRTlA über ein UND-Gatter 201-163 auf
"1" geschaltet. Ein UND-Gatter 201-164 schaltet das Flip-Flop ebenfalls auf "1" beim Vorliegen eines CSMR-Mikrobefehls der
Gruppe 7. Beim Auftritt eines nachfolgenden Taktimpulses stellt ein UND-Gatter 201-165 das Flip-Flop auf "0" zurück.
Das "1"-Signal des Flip-Flops 201-161 veranlaßt bei seiner Zuführung
über das Gatter 201-166 das Flip-Flop 201-162 zur Umschaltung auf "1". Das "1"-Signal dieses Flip-Flops wird zum
Sperren des ParitätsprüfSchaltkreises 201-44 benutzt, so daß
dieser keine Prüfung des Adresseninhalts des CSI-Registers 201-26
nach der Bearbeitung der CSMR- und CSMW-Mikrobefehle oder
nach einer durch das Steuerfeld ausgelösten Schreiboperation durchführen kann. Das Flip-Flop 201-162 wird über ein UND-Gatter
201-167 zurückgestellt, wenn ein LCSIK-Mikrobefehl der
Gruppe 6 (z.B. CSIFNlO = 1), ein Steuerspeicher-Auslösesignal (z.B. CSINTlO = 1) oder ein Subbefehlssignal (z.B. CSS731O = 1)
vorliegt. Somit sperrt das Flip-Flop 201-162 die Paritätsprüfung des CSI-Registers 201-26 nach einem Steuerspeicherlese-oder
Schreibzyklus bis das CSI-Register 201-26 erneut über einen LCSIK-Mikrobefehl, ein Auslösesignal oder einen Firmware-Subbefehl
mit der richtigen Parität geladen ist.
709827/0750
- ye -
Die Schaltungsanordnung gemäß Figur 5g umfaßt ferner die Paritäts-Generator
schaltkreise, die neue Paritätsbits für ein während der Bearbeitung eines CSMW-Mikrobefehls in den Steuerspeicher
201-10 eingeschriebenes Wort erzeugen. Die Paritätsschaltkreise weisen einen herkömmlichen Aufbau auf.
Wie weiterhin aus Figur 5g ersichtlich, erzeugt jeder der vier
Paritäts-Generatorschaltkreise ein ungerades Paritätsprüfbit für die Bits der vier verschiedenen Bytes, die das Wort bilden.
Das ungerade Prüfbit (z.B. die Signale BSZPIlO bis BSZP410) eines jeden Schaltkreises wird verschiedenen UND-Gattern 2Ο1-Γ74 bis
201-176 einer ersten Gruppe zugeführt. Die ursprünglichen unveränderten Bits (d.h. die Signale BSZ321O bis BSZ351O) werden verschiedenen
UND-Gattern 201-175 bis 201-177 innerhalb einer zweiten Gruppe von Gattern zugeführt.
Die Schaltkreise 201-180 bis 201-184 dienen der Auswahl entweder der durch die Schaltkreise 201-170 bis 201-173 erzeugten
Paritätsbits (z,B. wenn das Signal CSAHPlO = 1 ist) oder der '
Auswahl der unmodifizierten BSZ-Bits (wenn das Signal CSAIIPlO
- 0 ist). Wie zuvor erwähnt, bildet der erste Operationsmodus
einen normalen Operationsmodus, der das Einschreiben von Daten in die Speicherplätze des im Steuerspeicher 201-10 enthaltenen
Zwischenspeichers gestattet. Der zweite Operationsmodus wird während der Ausführung von Lade-Steuerspeicher- und Basislogiktest-Routinen
benutzt. Die Signale CSAUPlO und CSAGPlO weisen die Werte "0" und "1" auf, wenn sich der Steuerspeicher
201-10 in einem Stopmodus befindet. Dies gestattet die Erzeugung neuer Paritätsprüfbits in Abhängigkeit von Schreiboperationen,
die vom Steuerfeld her ausgelöst werden, ungeachtet des Zustandes des Signales CSAHPlO.
709827/07 5 0
Paritätsprüfschaltkreise und Fehlerschaltkreise 201-4 2 bis 201-45
Figur 5h zeigt die Paritätsprüfschaltkreise der Blöcke 201-42,
201-43 und 201-44 zusammen mit zugeordneten Flip-Flops und
Gatterschaltkreisen des Blockes 201-45. Lediglich einer der Paritätsprüfschaltkreise ist näher dargestellt. Jeder Paritätsprüfschaltkreis
umfaßt zwei in Reihe geschaltete Paritäts-Generatorschaltkreise, z.B. die Schaltkreise 201-428 und 201-426,
die einen herkömmlichen Aufbau aufweisen. .
Der erste Schaltkreis unterzieht die 8 höchstrangigsten Bits des zugeordneten Registers einer EXKLUSIV-ODER-Verknüpfung
während der zweite Schaltkreis eine EXKLUSIV-ODER-Verknüpfung mit den 8 niedrigrangigsten Bits des gleichen Registers durchführt,
wobei ein durch den ersten Schaltkreis erzeugter Übertrag hinzuaddiert wird. Wenn die Anzahl der Bits mit dem Binärwert "1" gerade ist, so gibt der zweite Schaltkreis an seiner
Ausgangsklemme den Binärwert "1" (z. B. das Signal CSAPElA ~ 1)
aus, um einen Fehlerzustand anzuzeigen.
Es sei vermerkt, daß einige der Paritätsschaltkreise mehr als
ein Freigabesignal erhalten (z.B. CSHRSOO, CSLOGlO, CSIICOO). Normalerweise weisen diese Signale Bits mit dem Wert "1" auf,
welche ihrerseits die Paritätsprüfschaltkreise während der
Systemoperation freigeben.
Jedes der Paritätsfehlersignale CSAPElA, CSRPElA und CSIPElA
wird als Eingang einem entsprechenden Flip-Flop 201-800 bis 201-802 zugeführt. Das Flip-Flop 201-800 wird durch ein UND-Gatter
201-803 auf "1" gesetzt, wenn das Signal CSWRTOA den Wert "1" aufweist, d. h. wenn keine Schreiboperation vorliegt,
die durch das Steuerfeld oder einen CSMW-Mikrobefehl vorgegeben
ist. Die Flip-Flops 201-801 und 201-802 werden durch Signale CSRPElA und CSIPElA auf "1" gesetzt.
709827 /0 7.5 0
Die "O"-Ausgänge der Flip-Flops werden durch ein UND-Gatter
zusammengefaßt, wobei dessen Ausgang einem Gatter- und Inverterschaltkreis'201-812
und einem UND-Gatter 2OL-814 zugeführt wird. Der Schaltkreis 201-812 setzt das Signal CSARElO auf den Binärwert
"1", wenn irgendeines der Fehler-Flip-Flops 201-800 bis 201-802 auf "1" gesetzt wird. Das UND-Gatter 201-814 kombiniert
die verschiedenen Arten von Steuerspeicherfehlern und setzt den Ausgang eines Inverterschaltkreises 201-816 auf den Binärwert
"1" beim Vorliegen eines Fehlers. Die Fehlersignale umfassen · Steuerspeicher-Paritätsfehler, die festgestellt werden durch:
Schaltkreise, die einen Teil des Speicher-Ausgangsregisters 201-16 bilden (Signale CSPEROO bis CSPER60), sowie durch Steuerspeicher-Adressierbedingungen
(Signal CSNEMOO) zusätzlich zu dem durch das Signal CSAERlA angezeigten Register-Paritätsfehler.
Datenabschnitt 210-8
Figur 5f zeigt einen Teil des Datenabschnittes 210-6. Wie zuvor bereits erwähnt, wird die gleiche Schaltungsanordnung zur Verarbeitung
der niedrigrangigen Bits 36 bis 71 benutzt, die von einem zweiten nicht dargestellten Multiplexerschaltkreis erhalten
werden.
Gemäß Figur 5f ist ersichtlich, daß der Abschnitt eine Gruppe von 3 Registern 210-900 bis 210-902 mit einer Breite von 36
Bit aufweist. Die Register BSY1-21O-9OO und BSXl-210-901 bilden
die Eingänge für einen anderen Multiplexerschaltkreis 210-904. Der Ausgang des Multiplexerschaltkreises 210-904 bildet eine
Quelle von A-Operandensignalen für ein Rechenwerk ALU-210-906.
Das Register BSN1-21O-9O2 dient als Quelle für B-Operandensignale.
709827/0750
Der Ausgang des Rechenwerks ALU-210-906 ist auf eine Datenschiene
BSZ geschaltet und dient zugleich als Eingang für jedes der Register 210-900 bis 210-902. Jedes der Register
ist ferner an den Ausgang des Multiplexerschaltkreises 210-10 angeschlossen. Während der Bearbeitung von Mikrobefehlen der
Gruppe 3 (MG310 = 1) gibt das Bitpaar Dl * D2 die Abgabe des
Rechenwerkausganges an die Register BSXl, BSYl und BSNl frei. Das Bitpaar D5 · D6 schaltet den Ausgang BSMl des Multiplexerschaltkreises
210-10 auf die Register BSXl, BSYl und BSNl, wenn das Signal CSMG310 = 1 ist. " ·■.■·.
Anhand des vorstehend beschriebenen Systemaufbaus sei nunmehr die' Wirkungsweise der erfindungsgemäßen Einrichtung anhand der
Figuren 6a und 6b beschrieben. Bevor jedoch auf diese Figuren Bezug genommen wird, sei in dem erforderlichen Ausmaß beschrieben,
wie die Paritätsprüfbit-Information während der Umsetzung
der in den Steuerspeicher 201-10 zu ladenden Mikroprogrammroutinen
erzeugt wird.
Mikroprogramm-Assembler-System
Es sei vorausgeschickt, daß die in den Steuerspeicher 201-10 zu ladenden Mikroprogramme durch ein Register-Übertragungspegel-Assembler-Softwaresystem
RTL umgewandelt werden. Im Falle der vorliegenden Erfindung kann das System herkömmlicher Art sein.
Solche Systeme sind in verschiedenen Veröffentlichungen erläutert worden, beispielsweise in "RTL The Firmware Design Automation
System" von. Robert L Ilasterlik, veröffentlicht in "Eleventh
Design Automation Workshop Proceedings", Juni 17-19, 1974.
Das System macht von einer Universalsprache Gebrauch, welche in großem Umfang bei der Steuerspeicherverwirklichung benutzt wird.
Parameter, die die Grundlage von Anweisungen bilden, kennzeichnen die Steuerspeicher/Firmware-Verwirklichungsinformation durch den
709827/0750
speziellen Entwurf des Assemblersystems. Solche Parameter
definieren die Größe des Steuerspeichers oder dessen Länge, die Breite eines jeden Steuerspeicherwortes, die Felder eines
jeden Wortes usw.
Wie zuvor erläutert worden ist, ist jedes Wort in eines oder mehrere Felder unterteilt und seine Verwendung hängt von der
Informationsart ab, die in dem Feld auftritt. Ein Parameter wird zur Definition eines jeden Feldes in dem Steuerspeicherwort
benutzt.
Einer der feststellbaren Feldtypen ist durch ein Paritätsfeld vorgegeben. Ein Paritätsfeld ist ein Wortfeld mit einer Breite
von einem Bit, das auf "0" oder "1" in Abhängigkeit von dem Inhalt eines anderen Feldes gesetzt wird. Die Paritätsfelder
werden durch den Assembler eingesetzt, nachdem alle anderen Felder eingesetzt worden sind.
Das Format einer grundlegenden Paritätsfeld-Definitionsanweisung ist durch die PARITÄT, den Paritätstyp, das Paritätsbit und die
Paritätsdefinition vorgegeben. Der Paritätstyp ist UNGERADE für eine ungerade Parität und GERADE für eine gerade Parität. Das
Paritätsbit ist durch die Positionsnummer des durch diese Anweisung zu setzenden Bits vorgegeben. Die Paritätsdefinition
gibt vor, wie die Parität zu berechnen ist. Hinsichtlich der Prüfbits 32 bis 35 wird die Parität für die verschiedenen vier
Felder des SteuerSpeicherwortes berechnet. Dies erfordert das Zählen der Anzahl von Bits, welche in jedem Feld auf den Wert
"1" gesetzt sind. Jedes der Paritätsprüfbits 32 bis 35 wird
auf den Binärwert "1" gesetzt, um die Anzahl der "1"-Bits ungerade zu machen. Dies wird ebenfalls bei Mikrobefehlen gemacht,
die Verzweigungsadressen beinhalten, d. h. das Paritätsbit wird in Abhängigkeit von dem Absolutwert der Adresse gesetzt, auf die
durch das Verzweigungsfeld hingewiesen wird.
709827/0750
Gemäß der vorliegenden Erfindung wird das Paritätsprüfbit 31 mit der Anzahl der "1"-Bits in der Adresse desjenigen Wortes
berechnet, das eine Adresse vor der laufenden Adresse steht.
Das Ässemblersystem setzt die symbolischen Daten in das Steuerspeicherwort
um. Ein Ladeprogramm bildet das Format der in den wortorganisierten/ veränderbaren Steuerspeicher zu ladenden
Daten. Ein anderes Verfahren wird hinsichtlich der Abschnitte des auf einer Chipbasis organisierten Steuerspeichers 201-10
benutzt. Programmierbare Festwertspeicher (PROM) sind auf dieser Grundlage organisiert. Das Verfahren unterteilt und organisiert
die Daten durch Schaltkreise von Platinen und Chips und erzeugt Lösch- und Testbänder. Wie erläutert, werden die Daten in den
Steuerspeicher 201-10 geladen und die Festwertspeicher-Abschnitte enthalten die geeigneten Bitmuster. Es sei darauf verwiesen, daß
die Art und Weise, in der die Daten in die Festwertspeicher-Abschnitte
eingegeben v/erden und die Information haltbar gemacht wird, im Stand der Technik bekannt ist. Einige Möglichkeiten
dieser Informationseingabe sind in der US-PS 3 789 204 beschrieben.
Die Operation des Systems gemäß Figur 2, das von den Prinzipien der vorliegenden Erfindung Gebrauch macht, sei nunmehr anhand
der Figuren 6a und 6b beschrieben.
Figur 6a stellt schematisch die Art und Weise dar, in welcher
der Mikrobefehlsabruf und die Ausführungsoperationen überlappt werden, um eine optimale Leistung des Systems zu gewährleisten.
In dieser Figur sind typische Abruf- und Ausführungsphasen für zwei Mikrobefehle N und N+l dargestellt.
Es sei vermerkt, daß jeder Mikrobefehl aus dem Steuerspeicher
201-10 während des 250 ns-Intervalles zwischen dem ersten und
zweiten PDA-Taktimpuls abgerufen wird. Bei dem zweiten Taktimpuls wird die in dem CSA-Register 201-12 enthaltene Adresse durch den
CSB-Schaltkreis 201-20 um 1 erhöht, der Inhalt des CSH-Registers
201-18 wird ergänzt und das CSNl-Register wird mit Signalen der
70 9 827/0750
~"5~0 2658364
CSIO-Schaltkreise geladen. Im Intervall zwischen dem zweiten
und dritten Taktimpuls werden die Subbefehle, Verzweigungsbedingungen und die auf den laufenden Mikrobefehl N bezogenen
Rechenwerksoperationen decodiert und beim dritten PDA-Taktimpuls verarbeitet. Im Intervall zwischen dem zweiten und
dritten Taktimpuls wird der nächste Mikrobefehl N+l der Folge abgerufen und in das CSNl-Register 201-16 mit dem dritten
Taktimpuls geladen. Während des Abrufintervalles v/erden ebenfalls
bestimmte Registerübertragungen im Falle des Varliegens bestimmter Mikrobefehle ausgeführt, um die Leistung des Systems
noch weiter zu verbessern. Diese Übertragungen umfassen frühe Übertragungen hinsichtlich des Mikrobefehles N beim zweiten
Taktimpuls und hinsichtlich des Mikrobefehles N+l beim dritten Taktimpuls. Diese Übertragungen werden in Abhängigkeit von frühen
Übertragungssignalen ausgeführt, die von den Schaltkreisen des Blockes 201-32 während der Ausführung bestimmter Mikrobefehle
der Gruppe 6 und 7 erzeugt werden.
Die Paritätsprüfschaltkreise 201-42, 201-43 und 201-44 stellen
sicher, daß die Schaltkreise, die die Übertragung auslösen und die Adressen in dem Steuerabschnitt 201 speichern während der
Abrufung und der Ausführung der Mikrobefehle in der richtigen Weise arbeiten. Beispielsweise stellt der Paritätsprüfschaltkreis
201-42 sicher, daß der Inkrementierschaltkreis 201-20 die in dem CSA-Register 201-12 gespeicherte Adresse korrekt
um 1 erhöht und daß die erhöhte Adresse korrekt in das CSA-Register 201-12 geladen wird, d. h. daß der Paritätsprüfschaltkreis
201-42 den Inhalt des CSA-Registers 201-12 auf eine ungerade Anzahl von "1"-Bits überprüft. Der Inhalt des CSA-Registers
201-12 ergibt sich durch Kombination der erhöhten Adresse aus dem Schaltkreis 201-20 und dem Paritätsprufbitsignal CSN31,
das aus dem laufenden Mikrobefehlswort des Registers 201-16 erhalten wird. Das Prüfbitsignal und die erhöhte Adresse werden
in das CSA-Register 201-12 in Abhängigkeit von dem Übertragungssignal CSAFBlO beim Auftreten des zweiten Taktimpulses geladen.
709827/0750
Si
Der Paritätsprüfschaltkreis 201-42 stellt ferner sicher, daß
die Adressenübcrtragung von anderen Schaltkreisen und Registern (CSNl-Register 201-16, Verstärkerschaltkreise 201-14, CSI-Register
201-26, CSR-Register 201-22) in Abhängigkeit von dem zuvor erwähnten Übertragungssignal ohne Fehler erfolgt. Ferner
prüft dieser Schaltkreis auf korrekte Parität hinsichtlich der Verzweigungsadressen, die während der Ausführung von Mikrobefehlen
der Gruppe 5 in das CSA-Register 201-12 geladen werden.
In gleicher Weise stellt der Paritätsprüfschaltkreis 201-43
sicher, daß der Imkrementierschaltkreis 201-20 die in dem CSA-Register 201-12 gespeicherte Adresse korrekt um 1 erhöht und
daß die erhöhte Adresse richtig in das CSR-Register 201-22 geladen wird. Insbesondere führt der Paritätsprüfschaltkreis 201-43
eine Prüfung auf eine ungerade Anzahl von "1"-Bits hinsichtlich der durch den Schaltkreis 201-20 erhöhten Adresse und des Paritätsprüfbitsignales
CSN31 in dem in dem Register 201-16 enthaltenen laufenden Mikrobefehlswort durch, wobei die Adresse und das
Prüfbitsignal in das CSR-Register 201-22 in Abhängigkeit von dem Übertragungssignal CSRFBlO geladen werden.
Der Paritätsprüfschaltkreis 201-43 stellt ferner sicher, daß
die in dem CSA-Register 201-12 enthaltenen Adressen in geeigneter Weise übertragen v/erden.
Der dritte Paritätsschaltkreis 201-44 stellt sicher, daß die in dem CSA-Register 201-12 gespeicherte Adresse korrekt um 1 erhöht
wird und ohne Fehler in das CSI-Register 201-26 übertragen und geladen wird. Dies geschieht erneut durch Prüfung auf eine ungerade
Anzahl von "1"-Bits hinsichtlich der durch den Schaltkreis 201-20 erhöhten Adresse und des Paritätsprüfbitsignales
CSN31, das aus dem CSNl-Register 201-16 erhalten wird. Die erhöhte
Adresse und das Prüfbitsignal werden beide in das CSI-Register 201-26 in Abhängigkeit von dem Ubertragungssignal CSIFBlO
geladen.
709827/0750
Sl
ο ρ r ρ ρ ρ /
Der Paritätsprüfschaltkreis 201-44 überprüft ferner die richtige
Adressenübertragung durch andere Schaltkreise, z.B. durch die Verstärkerschaltkreise 201-14. Der Paritätsprüfschaltkreis 201-44
wird jedoch während der Ausführung von CSMR- und CSMW-Mikrobefehlen
der Gruppe 7 gesperrt. Dies ist erforderlich, da das Bit 31 in dem nächsten adressierten Speicherplatz auf Grund der Ausführung
eines vorangegangenen CSMW- Mikrobefehles, durch den der Zustand des Bits verändert werden kann, fehlerhaft sein
kann.
Aus der vorstehenden Beschreibung geht hervor, in welcher Weise
die Paritätsprüfschaltkreise sicherstellen, daß die Erzeugung und Übertragung der Adressen durch die Schaltkreise des Steuerabschnittes
201 ohne Fehler erfolgen. Aus Figur 6a ist ersichtlich, daß die erforderliche Prüfung innerhalb einer Taktimpulsperiode
durchgeführt wird.
Wenn zu irgendeinem Zeitpunkt irgendeiner der Paritätsprüfschaltkreise
feststellt, daß das zugeordnete Register keine ungerade Anzahl von "1"-Bits aufweist, so verursacht dieser das Umschalten
eines entsprechenden Flip-Flops gemäß Figur 5h in den Zustand "1". Hierdurch werden wiederum die beiden Signale CSARElO und CSAERlO
auf den Wert "1" gesetzt, wodurch die Operation des Steuerspeichers 201-10 angehalten wird, sofern das Signal CSHOElO auf "1"
gesetzt ist.
Das System gemäß der vorliegenden Erfindung vermindert die Beanspruchung
der Mikroprogramm-Basislogiktest-Routinen, indem es die Überprüfung der Adressenerhöhung, der Übertragung und der
Steuerspeicheroperation freigibt. Eine solche Überprüfung wird automatisch nach einer Auslöseoperation durchgeführt.
In Figur 6b ist der Takt der Auslöseoperation und der ROM-Abtastoperation
dargestellt. Gemäß dieser Figur ist ersichtlich, daß das Signal DPPAIlA den Wert "1" einnimmt, wenn der Steuerspeicher-Auslöseknopf
oder Schalter betätigt wird. Ein Verriegelungsschalter ist ferner vorgesehen, um das dauernde Niederdrücken
des Auslöseknopfes während einer Anlagestörung zu vermeiden.
709827/0750
Das Signal DPPAIlA triggert ein nicht dargestelltes Monoflop, welches seinerseits ein Flip-Flop setzt. Beim Ablauf von 30 ms
wird das Monoflop zurückgestellt/ so daß das nachgeschaltete Flip-Flop beim Auftreten des nächsten Taktimpulses ebenfalls
zurückgestellt werden kann. Hierdurch wird das Signal DPSTR5T erzeugt. Die beiden Signale schalten das CSINT-Flip-Flop 201-500
gemäß Figur 5e auf den Wert "1" (Signal CSINTlO).
Gemäß Figur 6b setzt das von dem Auslöse-Flip-Flop 201-500 erzeugte
Signal CSIKTlO seinerseits das Signal CSINT30 auf den Binärwert "1". Dieses Signal löscht ferner die Bits 0 bis 12
des CSR- und CSI-Registers 201-22 und 201-26 und setzt das Bit 13 dieser Register auf den Binärwert "1", wodurch die
richtige Parität erzeugt wird.
Das Auslösesignal schaltet ferner das Signal CSRUKlA auf den
Binärwert "0", welches seinerseits das Ablauf-Flip-Flop beim Auftreten eines nächsten Taktimpulses auf den Binärwert "0"
zurückstellt (z.B. CSRUNlO = O)-. Da das Signal CSRUNlO alle
Registerübertragungen, Gruppen-Decodierschaltkreise und Operationscoderegister 201-30 steuert, v/erden diese Schaltkreise und Register alle gesperrt und gelöscht, d. h. auf
den Binärwert "0" gesetzt.
Das Signal CSINT30 zwingt das Speichersignal CSRAElO zur Annahme
des Viertes "0". Hierdurch werden die Fehler-Flip-Flops des Blockes 201-45 am Speichern von durch die Schaltkreise
201-42 bis 201-44 festgestellten Fehlersignalen gehindert.
Das Signal CSINTlO ist ferner dafür verantwortlich, daß das Flip-Flop 201-501 gemäß Figur 5e zurückgestellt bleibt. Hierdurch
wird das System beim Auftreten eines Fehlerzustandes gegen eine Haltoperation gesperrt.
709827/0750
Es sei darauf verwiesen, daß das Signal CSINTlO das Übertragungssignal
CSAFBlO zur Annahme des Viertes "1" veranlaßt, wodurch das CSA-Register 201-12 zur kontinuierlichen Erhöhung
um 1 freigegeben wird. Hierdurch wird der Steuerspeicher 201-10
in all seinen verfügbaren Speicherplätzen zyklisch durchlaufen bis die maximale Adresse erreicht worden ist. In diesem
Augenblick nimmt das Signal CSNEMlA den Wert "1" ein, welches seinerseits das Übertragungssignal CSAFRlO zur Annahme des
Wertes"1" veranlaßt. Zum gleichen Zeitpunkt wird das Signal CSAFBlO auf den Wert "0" gesetzt. Hierdurch wird das CSA-Register
201-12 in allen Bitstellen mit dem Wert "O" und mit der richtigen Parität des CSR-Registers 201-22 geladen.
Der zyklische Durchlauf durch den Steuerspeicher 2O1-1O wird
solange fortgesetzt, bis der Auslöseknopf freigegeben wird. Wenn die maximale Adresse erneut erreicht v/ird, schaltet das
Signal CSNEMlA auf den Wert "1". Hierdurch wird der Steuerabschnitt 201 erneut initialisiert. Dies bedeutet, daß das Signal
CSAFRlO das CSA-Register 201-12 mit "O"-Bits und der richtigen
Parität lädt. Die Freigabe des Auslöseschalters zieht die Erzeugung des Impulssignales CSINTlT gemäß Figur 6b nach
sich. Dieses Impulssignal schaltet das Flip-Flop 201-550 gemäß Figur 5i auf den Wert "1", worauf das Signal CSASClO den
Wert "1" einnimmt. Einen Taktimpuls später schaltet das Festwertspeicher-Abtast-Flip-Flop
201-552 auf den Wert "1", worauf das Signal CSASC30 den Wert "1" einnimmt. Da die Signale CSINTlO
und CSINT30 den Binärwert "0" aufweisen, werden die Fehler-Flip-Flops
gemäß Figur 5h und das Flip-Flop 201-501 gemäß Figur 5e nunmehr freigegeben.
Das Signal CSASClO setzt über die Schaltkreise des Blockes 201-32 erneut das Übertragungssignal CSAFBlO auf den Binärwert "1", wodurch das CSA-Register 201-12 zur fortlaufenden
Adressenerhöhung um 1 freigegeben wird, was einen Durchlauf
709827/0750
SS
der ROM-Speicherplätze entsprechend den Oktaladressen OOOOO
bis 01777 zur Folge hat. Während der Abtastung führt die Feststellung eines Register-Paritätsfehlers, eines Steuerspeicher-Paritätsfehlers oder eine.r nicht-existierenden Speicherfehlerprüfung zum Anhalten in der Abtastung und zum Aufleuchten einer Abtastfehlerlampe auf dem Steuerfeld. Der Inhalt des CSA-Registers 201-12 ist dergestalt, daß auf eine Adresse zwei Speicherplätze unterhalb des Speicherplatzes verwiesen wird, in dem der Fehler festgestellt wurde.
bis 01777 zur Folge hat. Während der Abtastung führt die Feststellung eines Register-Paritätsfehlers, eines Steuerspeicher-Paritätsfehlers oder eine.r nicht-existierenden Speicherfehlerprüfung zum Anhalten in der Abtastung und zum Aufleuchten einer Abtastfehlerlampe auf dem Steuerfeld. Der Inhalt des CSA-Registers 201-12 ist dergestalt, daß auf eine Adresse zwei Speicherplätze unterhalb des Speicherplatzes verwiesen wird, in dem der Fehler festgestellt wurde.
Wenn während einer Abtastung kein Fehler festgestellt wird, so wird das Signal CSB0210 auf den Binärwert "1" gesetzt, wenn festgestellt
wird, daß der Speicherplatz 1024 (dezimal) oder 01777 (oktal) erreicht worden ist. Wie aus Figur 6b ersichtlich, wird
hierbei das das Ende der Abtastung anzeigende Signal CSASClT
auf den Wert "1" gesetzt, worauf die Signale CSAFRlO und CSRUNlA ebenfalls den Wert "1" annehmen. Das Signal CSAFRlO initialisiert erneut das CSA-Register 201-12, während das Signal CSRUNlA das Umschalten des Ablaufmodus-Flip-Flops auf den Wert "1" hervorruft.
auf den Wert "1" gesetzt, worauf die Signale CSAFRlO und CSRUNlA ebenfalls den Wert "1" annehmen. Das Signal CSAFRlO initialisiert erneut das CSA-Register 201-12, während das Signal CSRUNlA das Umschalten des Ablaufmodus-Flip-Flops auf den Wert "1" hervorruft.
Nachdem die Umschaltung in den Ablaufmodus erfolgt ist, führt
der Adapter 200 die in dem ROM-Abschnitt des Steuerspeichers
201-10 gespeicherten Basislogiktestroutinen durch. Am Ende der Bearbeitung dieser Routinen tritt der Adapter 200 in eine
"Firmware-Warteschleife" ein, in der er das Laden von Anfangstestroutinen und schließlich das Laden der "individuellen Firmware" in den Schreibabschnitt des SteuerSpeichers 210-10 abwartet. Dieses Laden erfolgt in Abhängigkeit eines Befehles
von dem Zentralprozessor 100 (z. B. über einen Verbindungsund Ladebefehl).
der Adapter 200 die in dem ROM-Abschnitt des Steuerspeichers
201-10 gespeicherten Basislogiktestroutinen durch. Am Ende der Bearbeitung dieser Routinen tritt der Adapter 200 in eine
"Firmware-Warteschleife" ein, in der er das Laden von Anfangstestroutinen und schließlich das Laden der "individuellen Firmware" in den Schreibabschnitt des SteuerSpeichers 210-10 abwartet. Dieses Laden erfolgt in Abhängigkeit eines Befehles
von dem Zentralprozessor 100 (z. B. über einen Verbindungsund Ladebefehl).
709827/0750
se
Leerseite
Claims (15)
- PatentansprücheSystem zum Prüfen der Operation von Schaltkreisen und Übertragungswegen einer mikroprogrammierten Verarbeitungseinheit, gekennzeichnet durch einen zyklisch adressierbaren Steuerspeicher mit einer Vielzahl von Speicherplätzen zur Speicherung einer entsprechenden Anzahl von Mikrobefehlsworten, wobei jedes Mikrobefehlswort so codiert ist, daß es wenigstens ein zuvor berechnetes Prüfbit aufweist, das durch seinen Wert hinsichtlich mehrerer Bits eine vorbestimmte Charakteristik für eine als nächste in der Folge berechnete Speicherplatzadresse im Steuerspeicher festlegt,ein erstes mit dem Steuerspeicher verbundenes Adressregister zum Speichern der erwähnten Adresse für die Bezugnahme auf die Vielzahl von Speicherplätzen, welchem ein dem Prüfbit entsprechendes Signal beim Auslesen eines jeden Mikrobefehlswortes zugeführt wird,ein zweites mit dem Steuex'speicher verbundenes Register zum Speichern wenigstens eines Teiles eines während eines Operationszyklus des Steuerspeichers aus einem adressierten Speicherplatz ausgelesenen Mikrobefehlswortes, eine an das zweite Register angeschlossene Decodiereinrichtung zur Erzeugung einer Vielzahl von Steuersignalen, einen an das erste Register angeschlossenen Inkrementierschaltkreis zur Erhöhung der Adresse um 1 und eine erste an das erste Adressregister angeschlossene Prüfeinrichtung, welche kontinuierlich mit der Adresse und dem Prüfbit in Abhängigkeit von wenigstens einem ersten Steuersignal eine Prüfoperation ausführt, um zu überprüfen, ob einer aus der Vielzahl von Schaltkreisen eine fehlerhafte Operation aufweist.70 9 8 2 7/0750 original inspected
- 2. System nach Anspruch 1, dadurch gekennzeichnet, daß die vorbestimmte Charakteristik der Vielzahl von Adressbits der Anzahl der Bits mit dem Wert "1" in der zuvor berechneten Adresse entspricht und daß das eine Prüfbit auf "1" gesetzt wird, wenn die Anzahl der "1"-Adressbits gerade ist und auf "0" gesetzt wird, wenn die Anzahl der "1"-Adressbits ungerade ist.
- 3. System nach Anspruch 1, gekennzeichnet durchein zweites Adressregister, das angeschlossen ist an:den Steuerspeicher, um das Prüfbit von diesem zugeführt zu bekommen,den Inkrementierschaltkreis, um die erhöhte Adresse von diesem zu erhalten,das erste Adressregister unddie Decodiereinrichtung undeine zweite an das zweite Adressregister angeschlossene Prüfeinrichtung, welche kontinuierlich mit der Adresse und dem zuvor berechneten in das zweite Adressregister geladenen Prüfbit in Abhängigkeit von wenigstens einem zweiten Steuersignal eine Prüfoperation ausführt, um festzustellen, ob irgendeiner der Schaltkreise oder Übertragungswege eine fehlerhafte Funktion aufweist.
- 4. System nach Anspruch 3, dadurch gekennzeichnet, daß sowohl die erste als auch die zweite Prüfeinrichtung die gleiche, einzige logische Operation hinsichtlich der Adresse und des Prüfbits im ersten und zweiten Adressregister ausführt.
- 5. System nach Anspruch 4, dadurch gekennzeichnet, daß die erste und zweite Prüfeinrichtung jeweils mehrere Exclusiv-ODER-Schaltkreise aufweisen und die einzige logische Operation eine Exclusiv-ODER-Operation darstellt.709827/0750
- 6. System nach Anspruch 3, gekennzeichnetdurch 2658854ein drittes Adressregister, welches an das erste Adressregister, den Inkrementierschaltkreis, die Decodiereinrichtung und den Steuerspeicher angeschlossen ist und eine dritte an das dritte Adressregister angeschlossene Prüfeinrichtung, welche kontinuierlich mit der Adresse und dem zuvor berechneten in das dritte Adressregister geladenen Prüfbit in Abhängigkeit von wenigstens einem dritten Steuersignal eine Prüfoperation ausführt, um festzustellen, ob irgendeiner der Schaltkreise oder Übertragungswege eine fehlerhafte Funktion aufweist.
- 7. System nach Anspruch 6, gekennzeichnetdurcheinen Eingangsschaltkreis zum Empfang eines Auslösesignales, der an das zweite und dritte Adressregister angeschlossen ist und durch das Auslösesignal das zweite und dritte Adressregister auf eine vorbestimmte Adresse und ein vorbestimmtes Prüfbit einstellt, um die vorbestimmte Charakteristik in geeigneter Weise feststellen zu können/ ein Laden des ersten Adressregisters auf Grund des ersten Steuersignales mit der erhöhten Adresse und dem Prüfbit, um die Speicherplätze des Steuerspeichers zyklisch zu durchlaufen; ;an das zweite Register angeschlossene Schaltkreise innerhalb der Decodiereinrichtung, um die Übertragung eines jeden aus jedem adressierten Speicherplatz ausgelesenen Mikrobefehlswortes zu dem zweiten Register während dem zyklischen Durchlauf des Steuerspeichers zu sperren und eine Prüfoperation der ersten Prüfeinrichtung hinsichtlich der Adresse und des Prüfbits, um die vorbestimmte Charakteristik festzustellen und dadurch den korrekten Inhalt eines jeden Speicherplatzes und die korrekte Operation der Inkrementierschaltkreise zu überprüfen, wodurch die Anzahl der normalerweise zum überprüfen aller Schaltkreise und Übertragungswege erforderlichen Testroutinen beim Testen der Einheit verringert wird.709827/07B0
- 8. System nach Anspruch 7, dadurch gekennzeichnet , daß die vorbestimmte Adresse in allen Binärstellen den Wert "0" aufweist und daß der vorbestimmte Zustand des Prüfbits den Wert "0" besitzt.
- 9. System nach Anspruch 1 oder einem der folgenden, gekennzeichnet durch die Ausführung folgender Schritte:a. Codierung eines jeden Mikrobefehlswortes dergestalt, daß es wenigstens ein zuvor berechnetes Prüfbit umfaßt, das durch seinen Wert eine vorbestimmte Charakteristik hinsichtlich mehrerer Bits für eine als nächste in der Folge berechnete Speicherplatzadresse festlegt,b. Erhöhung der im Adressregister gespeicherten Adresse um 1 während jedes Operationszyklus,c. gleichzeitiges Laden der erhöhten Adresse und des einen Prüfbits aus dem Steuerspeicher in das Register in Abhängigkeit von einem ersten Übertragungssignal undd. Ausführung einer Prüfoperation hinsichtlich des Adresseninhalts und Prüfbitinhalts des Adressenregisters, um durch Feststellung der Charakteristik die Operation der Schaltkreise der Verarbeitungseinheit zu überprüfen.
- 10. System nach Anspruch 9, gekennzeichnet durch die Ausführung folgender weiterer Schritte:e. gleichzeitiges Laden der erhöhten Adresse und des zuvor errechneten Prüfbits von dem Steuerspeicher in ein erstes Adressen-Steuerregister in Abhängigkeit von einem zweiten Übertragungssignal undf. Ausführung einer Prüfoperation hinsichtlich des Adresseninhalts und Prüfbitinhalts des ersten Adressensteuerregisters, um durch Feststellung der Charakteristik die Operation -der Schaltkreise der Verarbeitungseinheit zu überprüfen.709827/0750
- 11. System nach Anspruch 10, gekennzeichnet durch die Ausführung des folgenden weiteren Schrittes:g. Erzeugung eines Fehlersignales bei der Feststellung eines Fehlerzustandes während der Ausführung des Schrittes (d) oder (f), um eine weitere Erhöhung der Adresse und damit einen zyklischen Durchlauf des Steuerspeichers zu verhindern.
- 12. System nach Anspruch 10* dadurch gekennzeichnet , daß in den Prüfschritten (d) und (f) eine Exclusiv-ODER-Operation mit den Adressbits und dem Prüfbit durchgeführt wird.
- 13. System nach Anspruch 10, gekennzeichnet durch die Ausführung folgender weiterer Schritte:h. gleichzeitiges Laden des erhöhten Adresseninhaltes und des Prüfbits aus dem Steuerspeicher in ein zweites Ädressensteuerregister in Abhängigkeit von einem dritten übertragungssignal undi. Ausführung einer Prüfoperation hinsichtlich des Adresseninhalts und des Prüfbitinhalts des zweiten Adressensteuerregister s, um durch Feststellung der Charakteristik die Operation der Schaltkreise der Verarbeitungseinheit zu überprüfen.
- 14. System nach Anspruch 13, dadurch gekennzeichnet, daß die Prüfoperation in den Schritten (d) , (f.) und (i) kontinuierlich während jedes Operationszyklus durchgeführt wird.709827/0750
- 15. System nach Anspruch 13, gekennzeichnet durch die folgenden weiteren Schritte:Anlegen eines Auslösesignales an die Eingangsschaltkreise, um in dem ersten und zweiten Steueradressregister eine vorbestimmte Adresse und ein Prüfbit mit einem vorbestimmten Wert zwecks richtiger Erkennung der vorbestimmten Charakteristik zu speichern,fortlaufende Erhöhung der in dem Register gespeicherten Adresse um 1, um die Vielzahl der Speicherplätze im Steuerspeicher zu durchlaufen,Sperrung der Aufnahme eines jeden aus jedem adressierten Speicherplatz während eines Operationszyklus ausgelesenen Mikrobefehlswortes,gleichzeitiges Laden der erhöhten Adresse und des einen Prüfbits aus dem Speicher in das Register und fortlaufende Ausführung der Prüfoperation mit der Adresse und dem Prüfbit, um anhand der festgestellten Charakteristik die Richtigkeit des Inhalts des Steuerspeichers und des Inkrementierschrittes zu überprüfen und die Anzahl der normalerweise erforderlichen Testroutinen zu vermindern.709827/0750
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/644,678 US4019033A (en) | 1975-12-29 | 1975-12-29 | Control store checking system and method |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2658864A1 true DE2658864A1 (de) | 1977-07-07 |
Family
ID=24585916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19762658864 Withdrawn DE2658864A1 (de) | 1975-12-29 | 1976-12-24 | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit |
Country Status (7)
Country | Link |
---|---|
US (1) | US4019033A (de) |
JP (1) | JPS5283044A (de) |
BE (1) | BE849914A (de) |
CA (1) | CA1081853A (de) |
DE (1) | DE2658864A1 (de) |
FR (1) | FR2337374A1 (de) |
GB (1) | GB1519110A (de) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1058706B (it) * | 1976-03-30 | 1982-05-10 | Honeywell Inf Systems | Apparato di governo microprogrammato provvisto di mezzi per la verifica dello indirizzamento di memoria di microprogrammazione |
JPS52124826A (en) * | 1976-04-12 | 1977-10-20 | Fujitsu Ltd | Memory unit |
JPS5931800B2 (ja) * | 1978-08-14 | 1984-08-04 | 日本電気株式会社 | 制御メモリ診断方式 |
US4360917A (en) * | 1979-02-07 | 1982-11-23 | The Warner & Swasey Company | Parity fault locating means |
US4410984A (en) * | 1981-04-03 | 1983-10-18 | Honeywell Information Systems Inc. | Diagnostic testing of the data path in a microprogrammed data processor |
US4514806A (en) * | 1982-09-30 | 1985-04-30 | Honeywell Information Systems Inc. | High speed link controller wraparound test logic |
US4667329A (en) * | 1982-11-30 | 1987-05-19 | Honeywell Information Systems Inc. | Diskette subsystem fault isolation via video subsystem loopback |
GB8518859D0 (en) * | 1985-07-25 | 1985-08-29 | Int Computers Ltd | Digital integrated circuits |
US4809278A (en) * | 1986-04-21 | 1989-02-28 | Unisys Corporation | Specialized parity detection system for wide memory structure |
US4809279A (en) * | 1986-09-08 | 1989-02-28 | Unisys Corporation | Enhanced parity detection for wide ROM/PROM memory structure |
US4799222A (en) * | 1987-01-07 | 1989-01-17 | Honeywell Bull Inc. | Address transform method and apparatus for transferring addresses |
US4849978A (en) * | 1987-07-02 | 1989-07-18 | International Business Machines Corporation | Memory unit backup using checksum |
US5241547A (en) * | 1987-08-31 | 1993-08-31 | Unisys Corporation | Enhanced error detection scheme for instruction address sequencing of control store structure |
US5052001A (en) * | 1989-11-22 | 1991-09-24 | Unisys Corporation | Multiple memory bank parity checking system |
US5088092A (en) * | 1989-11-22 | 1992-02-11 | Unisys Corporation | Width-expansible memory integrity structure |
US5243601A (en) * | 1990-10-05 | 1993-09-07 | Bull Hn Information Systems Inc. | Apparatus and method for detecting a runaway firmware control unit |
US5392302A (en) * | 1991-03-13 | 1995-02-21 | Quantum Corp. | Address error detection technique for increasing the reliability of a storage subsystem |
US5325375A (en) * | 1991-06-28 | 1994-06-28 | Sun Microsystems, Inc. | Method and apparatus for non-atomic level parity protection for storing data in a random access memory |
SE503589C2 (sv) * | 1994-02-10 | 1996-07-15 | Ericsson Telefon Ab L M | Förfarande och anordning för övervakning av ett minne |
SE503316C2 (sv) * | 1994-04-19 | 1996-05-13 | Ericsson Telefon Ab L M | Förfarande för övervakning av ett minne samt kretsanordning härför |
US6311298B1 (en) | 1999-02-17 | 2001-10-30 | Rise Technology Company | Mechanism to simplify built-in self test of a control store unit |
US6907484B2 (en) * | 2002-09-24 | 2005-06-14 | Sun Microsystems, Inc | Method and apparatus for atomically changing selected bits within a register |
JP4160625B1 (ja) * | 2007-04-04 | 2008-10-01 | シャープ株式会社 | 誤り検出制御システム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1038704A (en) * | 1964-02-14 | 1966-08-10 | Ibm | A self-addressed data store |
USRE28421E (en) * | 1971-07-26 | 1975-05-20 | Encoding network | |
FR2257213A5 (de) * | 1973-12-04 | 1975-08-01 | Cii |
-
1975
- 1975-12-29 US US05/644,678 patent/US4019033A/en not_active Expired - Lifetime
-
1976
- 1976-11-24 CA CA266,456A patent/CA1081853A/en not_active Expired
- 1976-12-22 GB GB53479/76A patent/GB1519110A/en not_active Expired
- 1976-12-24 DE DE19762658864 patent/DE2658864A1/de not_active Withdrawn
- 1976-12-28 JP JP16092876A patent/JPS5283044A/ja active Pending
- 1976-12-28 FR FR7639339A patent/FR2337374A1/fr active Granted
- 1976-12-28 BE BE173686A patent/BE849914A/xx unknown
Also Published As
Publication number | Publication date |
---|---|
US4019033A (en) | 1977-04-19 |
FR2337374B1 (de) | 1983-03-11 |
BE849914A (fr) | 1977-04-15 |
CA1081853A (en) | 1980-07-15 |
GB1519110A (en) | 1978-07-26 |
FR2337374A1 (fr) | 1977-07-29 |
JPS5283044A (en) | 1977-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2658864A1 (de) | Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit | |
DE2456578C2 (de) | Datenverarbeitungsanlage | |
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE2714805C2 (de) | ||
DE3110378C2 (de) | ||
DE4305442C2 (de) | Verfahren und Vorrichtung zum Erzeugen eines Testvektors | |
DE2847934A1 (de) | Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher | |
DE2907181A1 (de) | Befehlssatz-modifizierregister fuer einen datenprozessor | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
CH654943A5 (de) | Pruefeinrichtung fuer mikroprogramme. | |
DE2648229A1 (de) | Einschaltkreis als urlader fuer digitalrechner | |
DE2148847B2 (de) | Datenübertragungssteuerung zwischen Speichern und peripheren Geräten einer Datenverarbeitungsanlage | |
DE1901036A1 (de) | Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
EP0010185A1 (de) | Virtuell-Adressiervorrichtung für einen Computer | |
DE2145709B2 (de) | ||
DE2721623A1 (de) | System zur bearbeitung eines zielsystemprogrammes | |
DE2401364A1 (de) | Datenverarbeitungssystem | |
DE69219662T2 (de) | Verfahren zur On-Line-Modifizierung von komprimierten digitalen Prüfvektoren | |
DE2658950A1 (de) | Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben | |
DE3307194C2 (de) | ||
DE3323824A1 (de) | Speicherprogrammierbare steuerung | |
DE2245284A1 (de) | Datenverarbeitungsanlage | |
DE2759120C2 (de) | ||
DE2702722A1 (de) | Instruktionsinterpretation in elektronischen datenverarbeitungsanlagen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8130 | Withdrawal |