DE2658864A1 - Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit - Google Patents

Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit

Info

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
Application number
DE19762658864
Other languages
English (en)
Inventor
Arthur A Parmet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Italia SpA
Original Assignee
Honeywell Information Systems Italia SpA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2658864A1 publication Critical patent/DE2658864A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error 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
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.
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
RTNFI
RTFIR
RTNFR
RTFRR
CSMR
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.
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.
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-
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.
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.
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).
709827/0750
se
Leerseite

Claims (15)

  1. Patentansprüche
    System 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. 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. 3. System nach Anspruch 1, gekennzeichnet durch
    ein 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 und
    die Decodiereinrichtung und
    eine 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. 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. 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. 6. System nach Anspruch 3, gekennzeichnet
    durch 2658854
    ein 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. 7. System nach Anspruch 6, gekennzeichnet
    durch
    einen 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. 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. 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 und
    d. 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. 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 und
    f. 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. 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. 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. 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 und
    i. 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. 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. 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
DE19762658864 1975-12-29 1976-12-24 Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit Withdrawn DE2658864A1 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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