[go: up one dir, main page]

DE2658950A1 - Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben - Google Patents

Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben

Info

Publication number
DE2658950A1
DE2658950A1 DE19762658950 DE2658950A DE2658950A1 DE 2658950 A1 DE2658950 A1 DE 2658950A1 DE 19762658950 DE19762658950 DE 19762658950 DE 2658950 A DE2658950 A DE 2658950A DE 2658950 A1 DE2658950 A1 DE 2658950A1
Authority
DE
Germany
Prior art keywords
address
microinstruction
control
register
memory
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
DE19762658950
Other languages
English (en)
Inventor
Donald R Taylor
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 DE2658950A1 publication Critical patent/DE2658950A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

5101581 Ge 1 22· Dezember 1976
HONEYWELL INFORMATION SYSTEMS INC.
200 Smith Street
Waltham, Mass.r USA
Mikroprogrammierte Verarbeitungseinheit sowie Verfahren zur Organisation derselben.
Die Erfindung bezieht sich auf eine mikroprogrammierte Verarbeitungseinheit nach dem Gattungsbegriff des Anspruches 1 sowie auf ein Verfahren zur Organisation dieser Verarbeitungseinheit.
Zur Ausführung von Befehlen gibt es bislang programmierte Steuereinheiten mit verschiedenartigem Aufbau. Diese Einheiten besitzen normalerweise einen getrennten Zwischenspeicher, der zur Speicherung von Informationsparametern dient und zusätzlich für die Steuerung und Datenverarbeitungsoperationen als temporärer Speicher herangezogen wird. Als Beispiel für die Art des Aufbaus einer solchen Steuereinheit sei auf die US-PS 3 913 074 hingewiesen. Die dort beschriebene bekannte Einrichtung erfordert zusätzliche Speicherschaltkreise, um die erforderlichen Speicherplätze des Zwischenspeichers zu bilden. Ebenso erfordert die bekannte Einrichtung Schaltkreise, um sicherzustellen, daß die Zykluszeit des Steuerspeichers und
70 9 827/07B3
des Zwischenspeichers in geeigneter Weise synchronisiert ist. Durch diese Maßnahmen wird der Umfang hinsichtlich der Steuerung und der Taktvorgabe der mikroprogrammierten Verarbeitungseinheit vergrößert.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine mikroprogrammierte Verarbeitungseinheit anzugeben, die sich durch einen verhältnismäßig einfachen Aufbau auszeichnet. Die Lösung dieser Aufgabe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sowie eines Verfahrens zur Organisation der mikroprogrammierten Verarbeitungseinheit sind den Unteransprüchen entnehmbar.
Gemäß der Erfindung weist die mikroprogrammierte Verarbeitungseinheit eine adressierbare Steuerspeichereinheit mit einer Vielzahl von Speicherplätzen auf, wobei jeder Speicherplatz Mikrobefehle (Firmware) speichern kann, die jeweils einen Operationscodeteil aufweisen. Vor der Verarbeitung des Firmwarecodes kann die Anzahl der einen Zwischenspeicherbereich definierenden Speicherplätze vergrößert oder vermindert werden, indem die gewünschte Anzahl von Speicherplätzen mit einem Hinweisfeld oder einem Wortnamen, der den Speicherplatz als Zwischenspeicher-Speicherplatz festlegt, definiert wird.
Insbesondere wird die in dem Steuerspeicher zu speichernde Information symbolisch codiert und dieser Code in geeignete Bitmuster von "1" und "O" umgewandelt, die sodann in den Steuerspeicher geladen werden. Die Größe des Zwischenspeicherbereiches wird durch symbolischen Hinweis auf die gewünschte Anzahl von Speicherplätzen festgelegt, wobei diese Anzahl von Speicherplätzen einen Zwischenspeicherbereich hinsichtlich einer vorgegebenen Operation bilden. Bei der vorliegenden Einrichtung wird ein 11O"-Bitmuster in jeden Speicherplatz zusammen mit den geeigneten Prüfbits geladen.
709827/0753
Im Betrieb versetzt ein Adressregister den Steuerspeicher in die Lage, Mikrobefehlsworte zur übertragung in Ausgangsregister abzurufen und diese durch Decodierschaltkreise zu decodieren. Mikrobefehle, die durch ihre Codierung das Auslesen oder Einschreiben solcher Zwischenspeicher-Speicherplätze vorgeben, verhindern die Interpretation des Inhalts dieser Speicherplätze als Mikrobefehle und interpretieren stattdessen diese Inhalte als Zwischenspeicher-Daten. Hierdurch wird eine Operationscode-Decodierung und die Erzeugung von Subbefehlssignalen für normale Registerübertragungen vermieden. Stattdessen wird der Zugriff auf einen durch ein zweites Adressregister festgelegten Speicherplatz für das Lesen und Einschreiben von Daten freigegeben. Im bevorzugten Ausführungsbeispiel entspricht die Zwischenspeicheradresse dem Inhalt des zweiten Adressregisters, das zuvor unter Mikroprogrammsteuerung vor der Ausführung des Lese- oder Schreib-Mikrobefehls geladen würde. Es sind Mittel vorgesehen, um die Zwischenspeicheradresse nach dem Abruf eines jeden Lese- oder Schreib-Mikrobefehls automatisch um eins zu erhöhen. Dieser Aufbau gestattet das Einschreiben in eine Anzahl aufeinanderfolgender Zwischenspeicher-Speicherplätze, ohne daß ein weiteres Laden des zweiten Registers unter Mikroprogrammsteuerung erforderlich wäre.
Es ist somit ersichtlich, daß die gleichen Steuerspeicher-Speicherplätze, die während der Ausführung einer Operationsart Mikrobefehle speichern, ebenfalls während der Ausführung einer anderen Operationsart als Zwischenspeicher-Speicherplätze dienen können. Ein solcher Aufbau ist wünschenswert, wenn eine mikroprogrammierte Verarbeitungseinheit Testroutinen vor der Ausführung von den normalen Operationen zugeordneten Aufgaben auszuführen hat. Es werden daher als Zwischenspeicher-Speicherplätze benutzte Speicherplätze während normaler Operationen mit Mikrobefehlen verschiedener Testroutinen geladen. Nach der Beendigung der Testoperatiori^ Speicherplätze sodann in der zuvor erwähnten Weise codiert,
709827/0753
um Zwischenspeicher-Speicherplätze zu bilden, wobei diese Speicherplätze bei der Ausführung von Befehlen als Arbeitsspeicherplätze für die aus dem Hauptspeicher aufgenommenen Adressen und Daten dienen.
Dadurch, daß ein getrennter Zwischenspeicher nicht benötigt wird, setzt die Anordnung gemäß der vorliegenden Erfindung die mikroprogrammierte Verarbeitungseinheit in die Lage, die Mikrobefehlsausführung und die Speicheroperation hinsichtlich des Zwischenspeichers innerhalb der Zykluszeit zu bewerkstelligen. Hierdurch wird der Aufwand hinsichtlich der Steuer- und Taktschaltkreise,wie sie normalerweise bei der Ausführung solcher Operationen benötigt werden, vermindert.
Weiterhin kann der Zwischenspeicherbereich in der zuvor erläuterten Weise verändert werden, ohne daß hierzu Veränderungen hinsichtlich der Adressensteuerschaltkreise des Steuerspeichers erforderlich wären. Wenn es daher erforderlich ist, den Zwischenspeicherbereich zu vergrößern, beispielsweise um eine Seitenunterteilung durchzuführen, so macht dies lediglich die Definition einer größeren Anzahl unbenutzter Speicherplätze im Steuerspeicher als Teil des Zwischenspeichers erforderlich.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei nunmehr die erfindungsgemäße Verarbeitungseinheit sowie deren Organisation beschrieben. Es zeigen:
709827/0753
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 bis 6c 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 IOM-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 vorliegenden Ausführungsbeispiel benutzten Datenverarbeitungssystems kann die in dero UQrES, 3-6J.& 045 beschriebene Form aufweisen.
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 mikroprogrammierter 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/0753
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 300 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/0753
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 (RMI), in die Information eingeschrieben v/erden kann. Diese Speicherplätze speichern die Prüfroutinenüberlagerung und individuelle Firmware, die durch eine Mikroprogramm-Laderoutine geladen werden, wobei diese Laderoutine in dem Festwertspeicherbereich des Steuerspeichers 201-10 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 überlappen, 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 CSAO3OO bis CSA1200 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/0753
fS
wodurch die Signale BSZOOlG bis BSZ351O 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 weiterer 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 CSN0030 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 Ausgangs signale CSN0.030 bis CSN 3 5 30 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 CSNO43O 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
7 09827/07 5 3
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 CSNOO5O bis CSKO45O 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, Testfelder usw. zu decodieren. Die Ausgangssignale des Operationscoderegisters 201-30 werden Decodierschaltkreisen im Block 201-34 zugeführt, die Hauptgruppen-Decodiersignale und Subbefehls-Sperrsignale für die Sperrung gewisser Übertragungsoperationen, 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 Steuerfeld-Schnittstellen-Logikschaltkreise erfolgt, die normalerweise einen Teil des Prozessors S2P-3OO bilden. Beispielsweise geben diese Schaltkreise den Eintritt
709827/0753
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 Datenausgangssignale ebenfalls als Eingänge den Schaltkreisen des Blockes 201-15, dem CSA-Register 201-12 und einem Steuerspeicher-Unterbrechungsregister CSI-201-26 zugeführt v/erden. Die Ausgangssignale beeinflussen Schreibsteuerschaltkreise des Blockes 201-15, der in Figur 5g näher dargestellt ist und veranlassen diese zur Erzeugung eines Schreibimpulssignales CSWRTlO. 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/0753
Betrachtet man die Steueradressregister und Schaltkreise des Abschnittes 201-10 so ist ersichtlich, daß das CSA-Register 201-22 als Steuerspeicher-Adressregister dient. Dieses stellt ein 14 Bit-Register dar, welches 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 Eingangssignale 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 CSH-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 d<3S Blockes 201-32 das Signal CSAFRlO zur Annahme des
709827/0753
Binärwertes "1" veranlassen. Das CSA-Register 201-18 wird für die Darstellung des vorhergehenden Inhalts des CSA-Registers 201-12 verwendet. Dieses Register wird automatisch durch Steuerschaltkreise geladen und es kann auf dieses Re- . gister durch Mikrobefehle kein Zugriff genommen werden.
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 auf v/eisen. 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 werden im CSR-Register 201-22 und im CSI-Register 201-26 entsprechend gespeichert, wenn zugehörige Subbefehlssignale CSRFBlO und CSIFBlO durch die Schaltkreise des Blockes 201-32 zur Annahme des Binärwertes "1" veranlaßt werden. Das CSI-Register 201-26 wird als zweites Rückkehradressregister und als ein Adress/Arbeitsregister während Lese- und Schreiboperationen 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/0753
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-Inkremen.t/Dekrementschaltkreis 201-58 auf. Der Zähler 201-56 ist ein Auf/Abwartszä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 kann durch gewisse Mikrobefehlstypen vorgegeben werden. Der Zähler 201-56 umfaßt ein Paar Flip-Flops (oberer
709827/0753
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 "O" zurückgestellt.
Die Wirkungsweise der Inkrement/Dekrementschaltkreise 201-58 wird durch den Zustand eines der Flip-Flops des Blockes 201-50 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ählers 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 Erniedrigungsmodus das untere überlauf-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 Eingangsr-Multiplexerschaltkreis 210-10, einen Datenabschnitt 210-6, einen Adressenabschnitt 210-2, einen Speicherschnittstellenabschnitt S.Cü-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
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 werden,und durch die Schaltkreise des Blockes 201-34 der Abschnitt 210-2 und der Abschnitt 210-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 werden. Sofern ein Mikroprogramm nicht die Steuerung einer Gruppe von Hardware-Steuer schaltkreisen 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-Steuer schaltkreise die übertragung von Signalen steuern, wobei
709827/0753
2658350
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 Mikrobefehls. 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 Schaltkreise 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/0 753
IH
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-VerSchiebung oder einer Schreibmaskierung. Der Abschnitt 210-8 umfaßt ferner Datenauswahlschaltkreise 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 Ereite 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, 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/0753
JiS
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 Testund Lade-Rückkehrregister- und Bearbeitungs-Operation
709827/0753
- VS -
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 Unterbrechungsregister- und 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 Subbefehle, 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/0753
265895Q - «a* -
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 "0" 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 Übertrags-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
7 09827/0753
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 weist einen Operationscode OlOOl 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 Übertrags-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 Bitpaare 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 Multiplexer-
709827/0753
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 DRCL 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 i 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/07 5 3
26589TT] 30
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 Verzvreigungskonvention 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 Indikator zustand erfüllt bzv/. 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 1 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 10100. Bei seiner Ausführung sperrt er die Ausführung des nächsten Mikrobefehls der Folge, wenn die getestete Verzweigungsbedingung erfüllt
709827/0753
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 10101. 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-Mikrobefehls plus 2 verursacht. Hierdurch wird dem auf die Verzweigung folgenden Mikrobefehl Rechnung getragen.
Der einzige Mikrobefehl der Gruppe 6 LCSIK besitzt einen Operatiönscode von 11010. Dieser Mikrobefehl enthält eine 13 Bit-Adresse und ein ungerades Paritätsprüfbit entsprechend den Eits 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
709827/0753
13 Bit-Feld entsprechend den Bits 5 bis 17 auf, das durch seine Codierung eine Verzweigungsadresse oder den Binärwert 11O" 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 Programinadresse, 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/0753
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 gesperrt.
709827/0753
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 = 0f 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 CSIFBlO während der Abrufphase der Mikrobefehle CSMR und CSMW auf den Binärwert "1".
709827/0753
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 Ablaufzustand 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 CSMW. 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/07 53
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/0753
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 Übertragungssignales 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 werden. 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 Subbef ehlen 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 Subbef ehlssignale, da die Eingangscodes nunmehr Werte besitzen, die größer als die für die Erzeugung der 7 Subbefehle erforderlichen Werte sind.
709827/0753
J*
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 Signal 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/0753
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-Flop 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
70 9 827/0753
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 201-501 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-überprü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 2Ol-5O^iubler das Gatter 201-524 durch das Subbefehlssignal CSS761O auf den Binärwert "1" umgeschaltet. Durch das Subbefehlssignal CSS770O 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 CSDIAlH auf den Binärwert "0" geschaltet. Das Flip-Flop 201-504 definiert
709827/0753
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 Abwarts-Zählmodus befindet. Ist es durch das Subbefehlssignal CSS83OO auf den Binärwert "O" zurückgestellt, so zeigt es an, daß sich der Zähler in einem Aufwarts-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 "0" 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 wird durch die Datenabschnitts-Schaltkreise, ein S2P-Auslösesignal oder durch Subbefehlssignale zur Annahme des Binärwertes "0" veranlaßt.
Daten-Steuer-Decodierschaltkreise 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
709827/0753
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 CSBO21O = 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 "1"-Ausgangssignale der Flip-Flops werden in einem UND-Gatter 201-159 miteinander kombiniert und veranlassen den
709827/0753
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 Steuerfeldknopfes 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, v/eisen 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 "!"-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/07 5 3
Die Schaltungsanordnung gemäß Figur 5g umfaßt ferner die Paritäts-Generatorschaltkreise, 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 BSZP41O) 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 (zfB. wenn das Signal CSAHPlO = 1 ist) oder der Auswahl der unmodifizierten BSZ-Bits (wenn das Signal CSAHPlO = 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/0753
Paritatsprüfschaltkreise und Fehlerschaltkreise 201-42 bis 201-4
Figur 5h zeigt die Paritatsprü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 Paritatsprü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/0753
Die "O"-Ausgänge der Flip-Flops v/erden 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 BSX1-21O-9O1 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 BSNl-210-902 dient als Quelle für B-Operandensignale.
709827/0753
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.
709827/0753
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 Speicherplätze, die den Zwischenspeicher bilden, während der Verarbeitung der Mikroprogrammroutinen aufgerufen werden, um sie in den Steuerspeicher 201-10 zu laden.
Mikroprogramm-Assembler-System
Es sei vorausgeschickt, daß die in den Steuerspeicher 201-10 zu ladenden Mikroprogramme durch ein Register-Übertragungspegel-Assemblersystem 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. Hasterlik, veröffentlicht in "Eleventh Design Automation Workshop Prodeedings", Juni 17-19, 1974.
Das System πι acht 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 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.
Die zu der vorliegenden Erfindung gehörenden Parameter umfassen die Größe des Steuerspeichers, welche deklariert wird als: ROMDEF, den "R0M"-Name, "die "Breite" und die "Länge". Der "R0M"-Name ist irgendein gültiger Name, der dem Steuerspeicher zur Bezugnahme durch andere Parameter gegeben wird. Die "Breite" bezeichnet die
709827/0753
Anzahl der Bits in jedem SteuerSpeicherwort. Hier ist dieser Wert durch 36 gegeben. Die "Länge" bezeichnet die Anzahl der Worte im Steuerspeicher. Dieser Wert ist im vorliegenden Fall durch 5120 gegeben.
Jedes Steuerspeicherwort wird durch Voranstellung des Dollarzeichens vor den symbolischen Namen gekennzeichnet. Jeder dem
fo3.ge.nde
DollarzeichenVund vor dem nächsten Dollarzeichen stehende symbolische Code wird umgewandelt und in einem Wortspeicher- . platz des Steuerspeichers abgelegt. Im allgemeinen v/erden Wortadressen durch den Assembler zugeordnet, wobei diese Adressen mit Null beginnen und der Reihe nach für jedes festgestellte Steuerspeicherwort fortschreiten. Um dies zu ändern, kann die Adresse auf einen Wert gesetzt werden, der von dem nächsten Wert der Folge abweicht, in dem der gewünschte Wert unmittelbar nach dem Namen des Steuerspeicherwortes oder dem das Wort definierenden Dollarzeichen in Klammern gesetzt wird. Die Adressenzuordnung sehreitet sodann von diesem neuen Wert der Reihe nach weiter.
Gemäß der vorliegenden Erfindung kennzeichnen die Mikrobefehlsworte LCSIK des Steuerspeichers auf Grund ihrer Codierung Speicherplätze eines Zwischenspeichers. Jeder Zwischenspeicher-Speicherplatz ist mit $SPA bezeichnet, wobei 'SPA" den symbolischen Code oder Hinweis darstellt, der zur Festlegung eines Zwischenspeicher-Speicherplatzes benutzt wird.
Ein Abschnitt des Assemblers umfaßt ein "Wörterbuch" oder eine Tabelle, in der die Steuerspeicher-Mikrobefehle und ihre entsprechenden Steuerspeicher-Wortstrukturen definiert sind.
Im Falle eines jeden mit einem Hinweis versehenen LCSIK-Mikrobefehlswortes kann dieses Wort durch seine Codierung einen bestimmten Speicherplatz als Zwischenspeicher-Speicherplatz 1 ($SPA1) festlegen, wobei auf diesen durch die Adresse 5700
709827/0753
so
hingewiesen wird. Die in dem LCSIK-Mikrobefehl enthaltene Zwischenspeicheradresse wird durch das Verzweigungs-Adressenfeld als ($SPA1) bestimmt. Das in den Zwischenspeicher-Speicherplatz 1 zu ladende Steuerspeicherwort wird jedoch mit £SPA1 (5700) keine Operation bezeichnet.
Alle Zwischenspeicher-Speicherplätze und unbenutzten Steuerspeicher-Speicherplätze speichern ein Bitmuster, das auf einen Mikrobefehl "keine Operation" (no op) hinweist, wobei dieser Mikrobefehl als ein Anfangswert (no op) spezifiziert ist. Ferner ist jedem Zwischenspeicher-Speicherplatz eine getrennte Hinweisadresse zugeordnet, wodurch dieser Speicherplatz freigehalten wird. Im folgenden sei ein Beispiel für den Gebrauch des Zwischenspeicher-Speicherplatzes während einer normalen Operation gegeben:
Steuerspeicher-Zwischenspeicherverzeichnis (individuelles Laden)
Speicherplatz (oktal) Inhalt
05701 CMPW(00-26) Steuerspeicher-
Hinweisadressenwort
05702 CMPW(O9-35)
05703 2/SSA Hinweisadresse
05704 BAR
05705 Größe
05706 CSB Hinweisadresse
05707 Seitentabellenhinweisadresse
05710 Laufende CC-Hinweisadresse
05711 Nächste CC-Hinweisadresse
05712 Gesondertes CC-Wort (00-26)
05713 Gesondertes CC-Wort (09-35)
05714 Erstes Wort des laufenden CC
7 0 9 8 2 7 / 0 7 B 3
Si
05740 Arbeitsspeicherplatz Nr. 1
05741 Arbeitsspeicherplatz Nr. 2
05774 S2P-Speicherhinweisadresse
05775 S2P-Speiehergröße
05776 Zähler-Taktgeberkonstante
05777 S2P-Statusparameter
Aus vorstehendem wird ersichtlich, daß durch ledigliche Veränderung der Codierung der £SPA-Mikrobefehle (Zwischenspeicherreservierung) die Größe des Zwischenspeicherbereiches verändert werden kann. Das bedeutet, daß die Codierung modifiziert wird,· Um das Laden des CSI-Registers 201-26 mit einer neuen Adresse zu spezifizieren, wodurch ein anderer Zwischenspeicher oder Arbeitsspeicherplatz aus der verbleibenden Gruppe unbenutzter Speicherplätze definiert wird. Durch Codierung solcher Adressen in den LCSIK-Mikrobefehlen selbst kann somit der Zwischenspeicherbereich in der gewünschten Weise definiert werden.
Das Assemblersystem wandelt die symbolischen Daten in das Steuerspeicherwort um. Ein Ladeprogramm bildet das Format der Daten zum Laden in den veränderlichen wortorganisierten Steuerspeicher .
Bevor die Wirkungsweise des Systems gemäß Figur 2 beschrieben wird, sei zuerst Bezug auf Figur 6a genommen. Figur 6a stellt schematisch die Art und Weise dar, in der Mikrobefehle abgerufen werden und in der ausgeführte Operationen überlappt werden, um eine optimale Leistung des Systems zu erzielen. In Figur 6a sind für zwei Mikrobefehle N und N+l typische Abruf- und Bearbeitungsphasen dargestellt.
709827/0753
SZ
Es sei darauf verwiesen, daß jeder Mikrobefehl aus dem Steuerspeicher 201-10 abgerufen wird und während des 250 ns-Intervalles zwischen den PDA-Taktimpulsen in das interne CSNl-Speicherregister 201-16 geladen wird. Während dieser Zeit wird die in dem CSA-Register 201-12 enthaltene Adresse um erhöht und der Inhalt des CSH-Registers 201-18 ergänzt. Beim Auftreten des nächsten Taktimpulses werden die Subbefehle, die Verzweigungsbedingungen und die Rechenwerksoperationen ausgeführt. Gleichzeitig wird während des nächsten PDA-Taktimpulsintervalles der nächste Mikrobefehl der Folge abgerufen und in das CSNI-Register 201-16 geladen. Ebenso werden während dieser Zeit, d. h. während der Abrufphase des Mikrobefehls N+l bestimmte Registerübertragungen durchgeführt, um die Leistung des Systems noch weiter zu verbessern. Beispielsweise betreffen diese Übertragungen die frühen Übertragungssignale, wie sie durch die Schaltkreise des Blockes 201-32 während der Ausführung bestimmter Mikrobefehle der Gruppe und 7 erzeugt werden.
Das erfindungsgemäße System sei nunmehr anhand der Figuren 6b und 6c beschrieben. Die Speicherplätze des Steuerspeichers 201-10, die den Zwischenspeicherbereich bilden, werden in Abhängigkeit von Mikrobefehlen CSMR und CSMW ausgelesen und eingeschrieben. Die Mikrobefehle CSMR und CSMW verhindern, daß der Inhalt eines Zwischenspeicher-Speicherplatzes als Mikrobefehlswort interpretiert wird. Stattdessen wird der Inhalt dieser Speicherplätze als Dateninformation behandelt, die aus dem Speicherplatz ausgelesen bzw. in den Speicherplatz eingeschrieben werden kann. Die Figuren 6b und 6c zeigen die Takt- und Steuersignale, die während der Entnahme und der Bearbeitung der Mikrobefehle CSMR und CSMW erzeugt werden. Das "P"-Zeichen bezeichnet den vorangegangenen Inhalt bestimmter Register (z.B. CSA, CSR, CSI usw.).
709827/0753
Leseoperation
Gemäß Figur 6b speichert das CSA-Register 201-12 während des ersten Taktzyklus eine Adresse N, die den Speicherplatz des CSMR-Mikrobefehls definiert. Das CSI-Register 201-26 speichert die Adresse, die sich aus einem zuvor ausgeführten LCSIK-Mikrobefehl oder einem CSMW-, CSMR-Mikrobefehl ergibt. Diese Adresse bestimmt den Zwischenspeicher-Speicherplatz. Das CSN5-0perationscoderegister 201-30 enthält den Operationscode des gerade bearbeiteten Mikrobefehls.
Während dieses Zyklus lädt das Übertragungssignal CSAFIlO die Adresse im CSI-Register 201-26 in das CSA-Register 201-12. Ebenso wird die Adresse im CSA-Register 201-12 um 1 erhöht und im CSI-Register in Abhängigkeit von dem Übertragungssignal CSIFBlO gespeichert, wenn dieses durch das Gatter 201-217, d.h. durch die Signale CSMG710 und CSNO43O auf "1" gesetzt wird. Auf diese Weise wird die Adresse des nächsten Mikrobefehls innerhalb des Mikroprogrammes im CSI-Register 201-26 gespeichert und die auszulesende Zwischenspeicheradresse (der vorangegangene Inhalt des CSI-Registers 201-26) ist in das CSA-Register 201-12 übertragen worden.
Während des nächsten Zyklus hindert das Signal CSHRSlO das Übertragungssignal CSAFBlO daran, das CSA-Register 201-12 über den Schaltkreis 201-20 zu laden. Ferner setzt dieses Signal das Übertragungssignal CSNFM90 auf den Binärwert 11O", wodurch normale Registerübertragungen und eine Operationscodebearbeitung gesperrt werden. Ferner setzt das Signal CSHRSlO das Signal CSMG71A auf den Binärwert 11O", wodurch frühe Registerübertragungen gesperrt werden.
Während dieses Zyklus wird ferner der Inhalt des Zwischenspeicher-Speicherplatzes (Ip) aus dem Steuerspeicher 201-10 in die Verriegelungsschaltkreise 201-16 ausgelesen. Wenn jedoch
709827/0753
das Signal CSNFM9O den Binärwert "O" aufweist, so werden hierdurch die Bits des CSN5-Registers 2O1-3O ebenfalls auf "O" gesetzt. Hierdurch werden alle normalen Registerübertragungen gesperrt usw.
Es sei darauf verwiesen, daß der Mikrobefehl LCSIK das CSI-Register 201-26 während des Abrufs des Mikrobefehls lädt, z. B. durch eine frühe Registerübertragung. Hierdurch wird das System in die Lage versetzt, einen LCSIK-Mikrobefehl, der unmittelbar einem CSMR- oder CSWR-Mikrobefehl folgt, auszuführen und von dem durch den LCSIK-Mikrobefehl spezifizierten Speicherplatz Gebrauch zu machen.
Die zuvor im CSI-Register 201-26 gespeicherte Adresse wird in das CSA-Register 201-12 zurückgeholt, wenn das Übertragungssignal CSAFIlO auf den Binärwert "1" gesetzt wird. Wie weiter aus Figur 6b hervorgeht, wird die im CSA-Reglster 201-12 gespeicherte Adresse um 1 erhöht und in Abhängigkeit von dem auf den Binärwert "1" gesetzten Übertragungssignal CSIFBlO in das CSI-Register 201-26 zurückgeholt.
Während des zweiten Ausführungsintervalles wird der Inhalt des adressierten Zwischenspeicher-Speicherplatzes, der in das CSNl-Register 201-16 ausgelesen worden ist, durch den Multiplexerschaltkreis 210-10 übertragen und in das BSNl-Register 210-902 gemäß Figur 5f geladen. Hierbei werden die Bits Pl bis P3 auf "011" und die Überlieferungsbits D5 bis D6 auf "11" gesetzt, um die Übertragung des Dateninhalts zu dem BSNl-Register 210-902 zu verursachen. Das Setzen der Bits Pl bis P3, D5 und D6 wird durch das Signal BSNFMlO bewirkt, welches durch die Schaltkreise des Blockes 201-40 gemäß Figur 5g auf den Binärwert "1" gesetzt wird. Das Signal BSNFMlO wird in Abhängigkeit von dem CSMR-Mikrobefehl über das UND-Gatter 201-704 auf den Binärwert "1" gesetzt. Ferner wird hierdurch, da die Signale CSGBIlO und CSGBI30 den Binärwert "0" aufweisen,
709827/07B3
die Decodierung der Subbefehle der Gruppen 6, 7 und 8 gestattet.
Da nicht alle 36 Bit als Daten benutzt werden (z. B. werden einige Bits als Paritätsprüfbits benutzt), werden die Prüfbits auf "O" gesetzt und das gesamte Wort um 9 Bits nach rechts verschoben. Die Verschiebung erfolgt durch den Multiplexer schaltkreis 210-10, bevor das Wort in das BSNl-Register 210-902 geladen wird. Bevor die Daten zurück in den Zwischenspeicher-Speicherplatz während der Ausführung einer Schreiboperation zurückgeschrieben werden, wird das Wort zuvor um 9 Bits nach links unter Steuerung durch das Mikroprogramm (Firmware) verschoben.
Während dieses zweiten Intervalles wird ebenfalls der Operationscode des nächsten Mikrobefehlswortes N+l abgerufen und in das CSN5-Register 201-30 geladen, wie dies aus Figur 6b hervorgeht. Das Signal CSIIClO wird auf den Binärwert "1" gesetzt, worauf das Signal CSNFM90 auf "1" umgeschaltet wird. Das Signal CSIIClO hindert den Paritätsprüfschaltkreis 201-44 am Prüfen der Parität des CSI-Registers 201-26 solange, bis der nächste LCSIK-Mikrobefehl abgerufen und bearbeitet ist. Wie erläutert, ist dies erforderlich, da das Bit 31 im Zwischenspeicher-Speicherplatz auf Grund der Modifikation durch einen vorausgegangenen CSMW-Mikrobefehl nicht korrekt sein könnte.
: Schreiboperation
Anhand von Figur 6c sei nunmehr eine Schreiboperation erläutert. Ein CSMW-Mikrobefehl verursacht das Einschreiben der im BSXl-Register 210-901 gespeicherten Daten in einen Zwischenspeicher-Speicherplatz, der durch den Adresseninhalt des CSI-Registers 201-26 bezeichnet wird. Es sei angenommen, daß der CSMW-Mikrobefehl im Speicherplatz N+l gespeichert ist.
709827/0753
St
Wie im Zusammenhang mit der Leseoperation bereits erläutert, wird das CSI-Register 201-25 durch einen zuvor ausgeführten LCSIK-Mikrobefehl oder infolge eines vorausgegangenen CSMR- oder CSMW-Mikrobefehls geladen. Wie aus Figur 6c hervorgeht, wird während der Abrufphase des CSMW-Mikrobefehls das CSA-Register 201-12 mit der Zwischenspeicheradresse vom CSI-Register 201-26 in Abhängigkeit von Übertragungssignal CSAFIlO geladen. Das CSI-Register 201-26 wird ebenfalls mit der Rückkehradresse N+2 geladen, dae durch den CSB-Inkrementierschaltkreis 201-20 in Abhängigkeit von dem Übertragungssignal CSIFBlO gebildet wird. Der Adresseninhalt des CSH-Registers 201-18 wird in der gleichen Weise fortgeschrieben, wie dies bei der Leseoperation der Fall war.
Während des ersten Ausführungsintervalles des CSMW-Mikrobefehls weisen die Signale CSGBIlO und CSGBI30 den Binärwert "0" auf, wodurch die Decodierung der Subbefehle aus den Gruppen 6, 7 und 8 gestattet wird. Wie aus Figur 6c ersichtlich, erzeugen die Schaltkreise des Blockes 201-15 gemäß Figur 5g Schreibsignale CSWRTlA und CSWRTlB,die zur Erzeugung des Steuerspeicher-Schreibimpulses CSWRTlO miteinander verknüpft werden. Dieses Signal wird invertiert, bevor es den SteuerSpeicherschaltkreisen zugeführt wird. Da der Schreibimpuls während des Auftretens eines Taktimpulses erzeugt wird, wobei die Daten auf der Speicher-Datenschiene nicht gültig sein können, wird die Paritätsprüfung durch Schaltkreise, die einen Teil der Verriegelungen des Blockes 201-16 bilden, gesperrt, wobei dies durch das Signal CSWRTOA mit dem Binärwert "0" erfolgt.
Normalerweise verbindet der Multiplexerschaltkreis 201-904 gemäß Figur 5f das BSXl-Register 201-901 mit der BSZl-Datenschiene, so daß die zuvor in dieses Register geladenen Signale in den Zwischenspeicher-Speicherplatz eingeschrieben werden. Neue Paritätsbits werden durch die Schaltkreise gemäß Figur 5g erzeugt, wenn das Signal CSAIiPlO den Binärwert "1" aufweist.
709827/0753
Während des ersten Ausführungsintervalles wird ebenfalls das Signal CSNFM9O auf den Binärwert "O" gesetzt. Wie im Falle der Leseoperation wird hierbei die Decodierung des vorherigen Inhalts des Zwischenspeichers verhindert, indem der Inhalt des CSN5-Registers 201-30 auf den Binärwert "0" gesetzt wird. Hierdurch verhindert der Inhalt des CSN5-Registers 201-30 die Interpretation (Bearbeitung) des neuen Inhalts des Zwischenspeicher-Speicherplatzes als ein Mikrobefehl während des zweiten Ausführungsintervalles.
Während des nächsten Ausführungsintervalles (III) wird der Adresseninhalt des CSI-Registers 201-25 in Abhängigkeit von dem tibertragungssignal CSAFIlO in das CSA-Register 201-12 zurückgeholt. Gleichzeitig wird die im CSA-Register 201-12 gespeicherte Zwischenspeicheradresse um 1 erhöht und in Abhängigkeit von dem Übertragungssignal CSIFBlO in das CSI-Register 201-26 zurückgeholt. Die Ubertragungssignale werden hierbei auf den Binärwert "1" durch die Schaltkreise des Blockes 201-32 in Abhängigkeit von den Signalen CSHRSlO und CSWRTOA gesetzt. Das Signal CSHRSlO hindert ebenfalls den Paritätsprüfschaltkreis 201-44 am Prüfen des Adresseninhalts des CSI-Registers 201-26, indem es das Signal CSIIClO auf "0" setzt. Wie im Falle der Leseoperation wird die Paritätsprüfung des CSI-Registers 201-26 solange gesperrt, bis ein anderer LCSIK-Mikrobefehl abgerufen wird.
Systemoperation
Aus Vorstehendem geht hervor, wie der CSMR- und CSMW-Mikrobefehl das Lesen und das Einschreiben von Information aus und in die Zwischenspeicher-Speicherplätze des Steuerspeichers ermöglicht. Die Anordnung gemäß der vorliegenden Erfindung erleichtert das Schreiben und Lesen einer Anzahl von Zwischenspeicher-Speicherplätzen in fortlaufender Folge. Ein Beispiel
709827/07B3
se
sei gegeben, wobei der Adapter 200 die Speicherung verschiedener Informationsarten anfordert, wenn er mit der Bearbeitung eines von dem Zentralprozessor 100 erhaltenen Kanalbefehls beginnt.
In Abhängigkeit von einem Verbindungsimpuls löst der Adapter eine Folge von Operationen aus, die dem Abruf eines Kanal-Briefkasten-Hinweisadressenwortes (CMPW), eines Kanal-Briefkasten-Blockes (CMB) und eines Kanalbefehles (CC) vom Hauptspeicher 150 dienen. Das Wort CMPW wird von dem System für die Aufrechterhaltung der Synchronisation während der Systemauslösung, der Ausführung und der Beendigung eines Kanalprogrammes benutzt. Das Wort CMPW enthält eine Hinweisadresse, die die absolute Adresse des ersten Wortes des Blockes CMB im Hauptspeicher 150 enthält. Das Wort CMPW wird ferner zur Auffindung des ersten Wortes des Kanal-Programm-Blockes CPB benutzt, welcher N-Kanalbefehle (CC) umfaßt, wobei jedes Wort durch seine Codierung eine in dem Adapter 200 auszuführende Operation festlegt.
Der Block CMB umfaßt 8 Worte und wird zur geeigneten Bearbeitung des Kanalprogrammes durch den Adapter 200 benutzt. Er umfaßt eine Hinweisadresse zu einem Status-Sicherungsbereich (SSA), zu dem Wert eines Basisadressregisters (BAR) und zu anderen Informationen. Der Status-Sicherungsbereich enthält die für den Adapter 200 erforderliche Information, um den Prozessor S2P-3OO zu betreiben und während der Operation von dem Adapter 200 gelieferte Statusinformation zur Anzeige des Status des S2P-Prozessors. Das Register BAR enthält eine absolute Adresse von 24 Bit, die von dem Adapter 200 benutzt wird, um alle relativen Adressen in absolute Adressen umzuwandeln. Die andere Information umfaßt eine Hinweisadresse auf das erste Wort in einem Kanalstatusblock und eine Seitentabellenhinweisadresse zum Verweis auf den Beginn einer Kanalseitentabelle.
709827/0753
SSi
Während der Operationsfolge verarbeitet der Adapter 200 eine Reihe von CSMW-Mikrobefehlen, um die verschiedene Hinweisadresseninformation in den Zwischenspeicher-Speicherplätzen des Steuerspeichers 201-10 zu speichern. Die Zwischenspeicherinformation ist in der zuvor anhand eines Beispiels erläuterten Weise gespeichert. Ein LCSIK-Mikrobefehl wird vor der Reihe von CSMW-Mikrobefehlen ausgeführt, wodurch das CSA-Register 201-12 mit der geeigneten Zwischenspeicher-Startadresse geladen wird.
Während eines jeden CSMW-Mikrobefehls wird das CSI-Register 201-26 nach einer jeden Schreiboperation automatisch um 1 erhöht. Solange die Zwischenspeicherinformation in aufeinanderfolgende Speicherplätze geschrieben wird, ist kein weiterer LCSIK-Mikrobefehl erforderlich.
Es sei unterstellt, daß während der Bearbeitung des Kanalbefehles die Speicherung zusätzlicher Information, z. B. die Speicherung von Adressen und Daten erforderlich sein kann. Diese Information würde wiederum durch die Ausführung weiterer CSMW-Mikrobefehle zusammen mit LCSIK-Mikrobefehlen gespeichert. Hierbei müssten die LCSIK-Mikrobefehle durch ihre Codierung Adressen von Arbeitsspeicherplätzen des Zwischenspeichers festlegen.
Wenn der Adapter 200 die Bearbeitung des gespeicherten Kanalbefehles beendigt, muß er den nächsten Befehl aus dem Block CPB im Hauptspeicher 150 abrufen. Dementsprechend führt er einen CSMR-Mikrobefehl aus, durch den die CC-Hinweisadresse aus dem zugeordneten Zwischenspeicher-Speicherplatz des Steuerspeichers 201-10 ausgelesen wird. Nach dem Abruf des nächsten Kanalbefehles (CC) führt der Adapter 200 sodann die angeforderten Mikrobefehle LCSIK und CSMW aus, durch welche Signale entsprechend dem abgerufenen Kanalbefehl gespeichert werden.
709827/07 S3
Aus der vorstehenden Beschreibung geht hervor, wie durch die erfindungsgemäßen Maßnahmen ein einziger Steuerspeicher in die Lage versetzt wird, einem doppelten Zweck zu dienen. Entweder durch Aufnahme zusätzlicher Mikrobefehle vom Ladetyp oder durch Modifikation der durch solche Mikrobefehle spezifizierten Adressen kann die Größe des Zwischenspeicherbereiches erweitert oder vermindert v/erden. Noch wichtiger ist, daß es nicht erforderlich ist, Veränderungen hinsichtlich der Steuerspeicherschaltkreise vorzunehmen, wenn es gilt, den Zwischenspeicherbereich zu modifizieren. Das Versehen der Speicherplätze des Zwischenspeicherbereiches mit einem Hinweis erfolgt hierbei in der zuvor beschriebenen Weise.
Es sei festgestellt, daß durch die vorliegende Erfindung der Umfang des Steuerabschnittes beträchtlich vermindert wird und daß zusätzlich die Steuer- und Taktschaltkreise des Abschnittes vereinfacht werden. Durch eine Reduzierung der Anzahl von Schaltkreisen wird auch deren Prüfung erleichtert und die Verfügbarkeit des Steuerabschnittes erhöht.
709827/0753

Claims (19)

  1. Patentansprüche
    (Ύ7) Mikroprogrammierte Verarbeitungseinheit in einem DV-System mit einem der Speicherung von Befehlen und Daten wenigstens eines Programmes dienenden Hauptspeicher, gekennzeichnet durch
    einen zyklisch adressierbaren Steuerspeicher mit einer Vielzahl von Speicherplätzen zur Speicherung von Mikrobefehlsworten und wenigstens eines Mikroprogrammes, wobei jedes Mikrobefehlswort einen Befehlscodeteil aufweist, eine Gruppe aus der Vielzahl von Speicherplätzen der Speicherung von Worten zur Reservierung dieser Speicherplätze für den Gebrauch als Zwischenspeicher-Speicherplätze dient und wobei wenigstens eines dieser Mikrobefehlsworte von einem ersten Typ ist und einen Befehlscodeteil aufweist, der durch seine Codierung das Einschreiben von Daten in den Steuerspeicher festlegt, ein mit dem Steuerspeicher verbundenes Adressregister zum Speichern einer Adresse, die der Bezugnahme auf die Vielzahl der Speicherplätze dient, ein mit dem Steuerspeicher verbundenes Ausgangsregister zur Speicherung von wenigstens des Befehlscodeteiles eines jeden aus dem Speicherplatz ausgelesenen Mikrobefehlswortes und
    an das Ausgangsregister angeschlossene Decodierschaltkreise, welche auf Grund des Befehlscodeteiles mehrere Steuersignale für die Operationsdurchführung der mikroprogrammierten Verarbeitungseinheit erzeugen, wobei erste Schaltkreise innerhalb der Decodierschaltkreise, die auf ein Mikrobefehlswort ansprechen, Signale erzeugen, die dem Laden einer den Zwischenspeicher-Speicherplatz festlegenden Adresse in das Adressregister und der Bereitstellung des Steuerspeichers zum Einschreiben der Daten in den Zwischenspeicher dienen.
    709827/0753
  2. 2. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet , daß die Decodierschaltkreise zweite auf eines der Mikrobefehlsworte ansprechende Schaltkreise aufweisen, um die übertragung des Befehlscodeteiles des aus dem Zwischenspeicher-Speicherplatzes ausgelesenen Wortes nach dem Ausgangsregister zu sperren, wodurch die Interpretation dieses Wortes als Daten anstelle eines Mikrobefehles gestattet wird.
  3. 3. Verarbeitungseinheit nach Anspruch 2, gekennzeichnet durch
    ein an das Adressregister und den Steuerspeicher angeschlossenes Steueradressregister,
    wenigstens einen zweiten Mikrobefehlstyp innerhalb des Mikroprograrnmes, der an einem vorbestimmten Speicherplatz innerhalb der Vielzahl von Speicherplätzen gespeich'ert ist, wobei der zweite Mikrobefehlstyp einen durch seine Codierung eine Adressenübertragungsoperation festlegenden Befehlscodeteil und einen durch seine Codierung eine Adresse innerhalb der Gruppe von Speicherplätzen festlegenden Adressteil aufweist und eine._durch den Befehlscode des zweiten Mikrobefehlstypes bei dessen Einspeicherung in das Ausgangsregister bewirkte Steuerung der Decodierschaltkreise, um Signale zum Laden der Adresse in das Steueradressregister zu erzeugen, wobei die ersten Schaltkreise in Abhängigkeit vom Befehlscode die Signale zum Laden der Adresse in das Adressregister erzeugen.
  4. 4; Verarbeitungseinheit nach Anspruch 3, gekennzeichnet durch
    einen an das Adressregister und das Steueradressregister angeschlossenen Inkrementierschaltkrexs zur Erhöhung der in dem Adressregister gespeicherten Adresse um 1 und
    709827/0753
    die Erzeugung von Signalen durch den Decodierschaltkreis in Abhängigkeit von dem einen Mikrobefehl zum Laden der erhöhten Adresse in das Steueradressregister gleichseitig mit dem Laden des Adressregisters mit dem Inhalt Steueradressregisters,- wodurch das Einschreiben von ^n in aufeinanderfolgende Speicherplätze des im Steuerspeit ier gebildeten Zwischensp0ichers ermöglicht wird.
  5. 5. Verarbeitungseinheit nach Anspruch 4f dadurch gekennzeichnet , daß
    das eine Mikroprogramm eine Reihe von Mikrobefehlsworten des ersten Types mit jeweils einem Befehlscodeteil zur Festlegung einer Schreiboperation aufweist und die Decodierschaltkreise in Abhängigkeit von der Reihe der Mikrobefehlsworte des ersten Types Signale zum Einschreiben von Daten in aufeinanderfolgende Speicherplätze des im Steuerspeicher gebildeten Zwischenspeichers erzeugen,
  6. 6. Verarbeitungseinheit nach Anspruch 1, d"a d u r c h gekennzeichnet , daß jedes Wort in der Gruppe von Speicherplätzen einen Befehlscodeteil aufweist^ der durch seine Codierung eine Nicht-Operation f "legt.
  7. 7. Verarbeitungseinheit nach Anspruch 3, dadurch geke nn ζ ei c hn e t daß das Mikroprogramm mehrere Mikrobefehle des zweiten Types umfaßt, deren Adressteile jeweils durch ihre . Codierungen neue Adressen festlegen, wodurch die Größe des im Steuerspeicher gebildeten Zwischenspeichers modifiziert wird.
  8. 8. Verarbeitungseinheit nach Anspruch 1, dadurch gekennzeichnet , daß das Mikroprogramm eine zusätzliche Anzahl Mikrobefehle des zweiten Types zur Vergrößerung der Anzahl der Zwischenspeicher-Speicherplätze aufweist.
    709827/0753
  9. 9. Verarbeitungseinheit nach Anspruch 5, dadurch gekennzeichnet , daß die Decodierschaltkreise in Abhängigkeit einer jeden Reihe von Mikrobefehlen des ersten Types Signale erzeugen, die dem Einschreiben von aus dem Hauptspeicher erhaltenen Daten in aufeinanderfolgende Speicherplätze des Zwischenspeichers dienen.
  10. 10. Verfahren zur Organisation der mikroprogrammierten Verarbeitungseinheit nach Anspruch 1 oder einem der folgenden, gekennzeichnet durch folgende Schritte:
    a. Codierung einer Vielzahl von Speicherplätzen zum Gebrauch als Zv/ischenspeicherbereich,
    b. Speicherung einer ersten Anzahl von Mikrobefehlsworten des ersten Types an anderen Speicherplätzen, wobei die erste Anzahl von Mikrobefehlsworten durch ihre Codierung anzeigt, wann während der Ausführung des Mikroprogrammes in einen der Zwischenspeicher-Speicherplätze eingeschrieben oder aus diesen ausgelesen wird,
    c. Laden der Adresse eines der Zwischenspeicher-Speicherplätze in das Adressregister und
    d. Erzeugung von Steuersignalen durch die Decodierschaltkreise in Abhängigkeit irgendeines Mikrobefehlswortes aus der ersten Anzahl von Mikrobefehlsworten zum Einschreiben von Daten aus dem Datenabschnitt in den durch den Inhalt des Adressregisters festgelegten Zwischenspeicher-Speicherplatz oder zum Auslesen des Inhalts des Zwischenspeicher-Speicherplatzes in den Datenabschnitt.
  11. 11. Verfahren nach Anspruch 10, gekennzeichnet durch die Sperrung der Übertragung der ersten Anzahl von Mikrobefehlen des ersten Types zu dem Ausgangsregister, wodurch das Ausgangsregister zur Speicherung von Bits mit dem Wert "O" veranlaßt wird und die Decodierschaltkreise den Inhalt.des adressierten Speicherplatzes als Daten und nicht als Mikrobefehl deuten.
    709827/07 5 3
    *9
  12. 12. Verfahren nach Anspruch 10, gekennzaichnet durch
    Speicherung einer zweiten Anzahl von Mikrobefehlsworten des zweiten Types in vorbestimmten Speicherplätzen des Steuer speicher s, wobei jedes der zv/eiten Mikrobefehlsworte durch seine Codierung eine Adresse eines der Zwischenspeicher-Speicherplätze festlegt/ Erzeugung von Signalen durch die Decodierschaltkreise in Abhängigkeit eines jeden Mikrobefehles innerhalb der zweiten Anzahl von Mikrobefehlen zum Laden der Adresse in das Steueradressregister und Erzeugung von Übertragungssignalen durch die Decodierschaltkreise in Abhängigkeit eines jeden Mikrobefehles innerhalb der ersten Anzahl von Mikrobefehlen, die der Reihe nach aus dem Steuerspeicher ausgelesen werden, um das Adressregister mit der im Steueradressregister gespeicherten Adresse zu laden.
  13. 13. Verfahren nach Anspruch 12, gekennzeichnet durch
    Erhöhung der in dem Adressregister gespeicherten Adresse um 1 und
    Erzeugung von Signalen durch die Decodierschaltkreise in Abhängigkeit von der ersten Anzahl von Mikrobefehlen, um die erhöhte Adresse in das Steueradressregister zu laden, wodurch das Einschreiben von Daten in aufeinanderfolgende Speicherplätze des Zwischenspeichers ermöglicht wird.
  14. 14. Verfahren nach Anspruch 13, gekennzeichnet durch
    Codierung einer jeden Gruppe der zweiten Anzahl von Mikrobefehlsworten des zweiten Types zur Festlegung einer Schreiboperation und
    Speicherung dieser Gruppe von Mikrobefehlen der Reihe nach zur Freigabe der mikroprogrammierten Einheit zum Einschreiben von Daten in die aufeinanderfolgenden Speicherplätze des Zwischenspeicherbereiches.
    709827/0753
  15. 15. Verfahren nach Anspruch 10, dadurch gekennzeichnet , daß bei der Codierung einer Vielzahl von Speicherplätzen im Steuerspeicher anfänglich in jedem der Anzahl von Zwischenspeicher-Speicherplätzen ein Mikrobefehlswort gespeichert wird, das durch seinen Befehlscodeteil eine Nicht-Operation festlegt.
  16. 16. Verfahren nach Anspruch 12, dadurch gekennzeichnet , daß jeder Mikrobefehl innerhalb der zweiten Anzahl von Mikrobefehlen des zweiten Types einen Befehlscodeteil und einen Adressteil aufweist, wobei der Adressteil durch seine Codierung die Adresse eines Zwischenspeicher-Speicherplatzes festlegt und der Befehlscodeteil durch seine Codierung die Decodierschaltkreise in einen derartigen Zustand bringt, daß er die Signale zum Laden der Adresse in das Adressregister erzeugt.
  17. 17. Verfahren nach Anspruch 16, gekennzeichnet durch Modifikation der Adressteile verschiedener Mikrobefehle aus der zweiten Anzahl von Mikrobefehlen des zweiten Types, um die Größe des Zwischenspeicherbereiches zu verändern.
  18. 18. Verfahren nach Anspruch 16, gekennzeichnet durch die Speicherung zusätzlicher Mikrobefehle aus der Anzahl von Mikrobefehlen des zweiten Types zur Festlegung einer vergrößerten Anzahl von reservierten Speicherplätzen.
  19. 19. Verfahren nach Anspruch 14, gekennzeichnet durch die Erzeugung von Signalen durch die Decodierschaltkreise in Abhängigkeit der Mikrobefehlsworte des ersten Types, um den Datenabschnitt des Steuerspeichers zur Aufnahme von Daten aus dem Hauptspeicher vorzubereiten, wobei die Daten in die Zwischenspeicher-Speicherplätze eingeschrieben werden.
    709827/0753
DE19762658950 1975-12-29 1976-12-24 Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben Withdrawn DE2658950A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/644,777 US4084229A (en) 1975-12-29 1975-12-29 Control store system and method for storing selectively microinstructions and scratchpad information

Publications (1)

Publication Number Publication Date
DE2658950A1 true DE2658950A1 (de) 1977-07-07

Family

ID=24586289

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19762658950 Withdrawn DE2658950A1 (de) 1975-12-29 1976-12-24 Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben

Country Status (7)

Country Link
US (1) US4084229A (de)
JP (1) JPS5282148A (de)
BE (1) BE849913A (de)
CA (1) CA1081854A (de)
DE (1) DE2658950A1 (de)
FR (1) FR2337372A1 (de)
GB (1) GB1556874A (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4295205A (en) * 1978-10-16 1981-10-13 Kunstadt George H Solid state mass memory system compatible with rotating disc memory equipment
US4224668A (en) * 1979-01-03 1980-09-23 Honeywell Information Systems Inc. Control store address generation logic for a data processing system
DE3120713A1 (de) * 1981-05-25 1982-12-09 Siemens AG, 1000 Berlin und 8000 München Schaltungsanordnung fuer ein prozessorsystem
US4490782A (en) * 1981-06-05 1984-12-25 International Business Machines Corporation I/O Storage controller cache system with prefetch determined by requested record's position within data block
US4489378A (en) * 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
US4553222A (en) * 1983-03-14 1985-11-12 Kurland Lawrence G Integrated interactive restaurant communication system for food and entertainment processing
US4620274A (en) * 1983-04-01 1986-10-28 Honeywell Information Systems Inc. Data available indicator for an exhausted operand string
US4910666A (en) * 1986-12-18 1990-03-20 Bull Hn Information Systems Inc. Apparatus for loading and verifying a control store memory of a central subsystem
US4825356A (en) * 1987-03-27 1989-04-25 Tandem Computers Incorporated Microcoded microprocessor with shared ram
US5081609A (en) * 1989-01-10 1992-01-14 Bull Hn Information Systems Inc. Multiprocessor controller having time shared control store
US5553259A (en) * 1993-07-16 1996-09-03 Unisys Corporation Apparatus and method for synchronizing the simultaneous loading of cache program word addresses in dual slice registers

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3293610A (en) * 1963-01-03 1966-12-20 Bunker Ramo Interrupt logic system for computers
US3380025A (en) * 1964-12-04 1968-04-23 Ibm Microprogrammed addressing control system for a digital computer
US3391394A (en) * 1965-10-22 1968-07-02 Ibm Microprogram control for a data processing system
US3434112A (en) * 1966-08-01 1969-03-18 Rca Corp Computer system employing elementary operation memory
US3560933A (en) * 1968-01-02 1971-02-02 Honeywell Inc Microprogram control apparatus
US3646522A (en) * 1969-08-15 1972-02-29 Interdata Inc General purpose optimized microprogrammed miniprocessor
IT951233B (it) * 1972-04-07 1973-06-30 Honeywell Inf Systems Sistema di comando di un calcola tore mediante microprogrammazione ed estensione dinamica delle fun zioni di controllo ottenuta da reti logiche
US3828320A (en) * 1972-12-29 1974-08-06 Burroughs Corp Shared memory addressor
JPS5214900B2 (de) * 1973-02-28 1977-04-25
US3859636A (en) * 1973-03-22 1975-01-07 Bell Telephone Labor Inc Microprogram controlled data processor for executing microprogram instructions from microprogram memory or main memory
US3900835A (en) * 1973-09-24 1975-08-19 Digital Equipment Corp Branching circuit for microprogram controlled central processor unit
FR2253435A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3914747A (en) * 1974-02-26 1975-10-21 Periphonics Corp Memory having non-fixed relationships between addresses and storage locations
US3911406A (en) * 1974-04-01 1975-10-07 Honeywell Inf Systems Correction apparatus for use with a read only memory system

Also Published As

Publication number Publication date
CA1081854A (en) 1980-07-15
BE849913A (fr) 1977-04-15
FR2337372B1 (de) 1983-04-01
JPS5282148A (en) 1977-07-09
GB1556874A (en) 1979-11-28
FR2337372A1 (fr) 1977-07-29
US4084229A (en) 1978-04-11

Similar Documents

Publication Publication Date Title
DE3751503T2 (de) Datenprozessor in Pipelinestruktur mit der Fähigkeit mehrere Befehle parallel zu dekodieren und auszuführen.
DE3607889C2 (de)
DE68921775T2 (de) Prozessorssimulation.
DE69129565T2 (de) Hochleistungsfähiger Emulator mit Pipelining
DE68921906T2 (de) Verfahren für ein Multiprozessorsystem mit sich selbst zuordnenden Prozessoren.
DE2847934A1 (de) Datenverarbeitungseinrichtung mit einem mikrobefehlsspeicher
DE2714805C2 (de)
DE2417795C2 (de) Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE2517276A1 (de) Datenverarbeitungssystem
DE2658864A1 (de) Pruefsystem fuer eine mikroprogrammierte verarbeitungseinheit
DE3689389T2 (de) Datenverarbeitungsprozessor.
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2756762A1 (de) Verfahren und anordnung zum zugriff zu beliebigen bitfeldern im hauptspeicher einer datenverarbeitungsanlage
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2758830A1 (de) Rechenvorrichtung
DE2721623C2 (de)
EP0010185A1 (de) Virtuell-Adressiervorrichtung für einen Computer
DE3855524T2 (de) Arithmetik-Parallelverarbeitungseinheit und zugehöriger Kompilator
DE2401364A1 (de) Datenverarbeitungssystem
DE2658950A1 (de) Mikroprogrammierte verarbeitungseinheit sowie verfahren zur organisation derselben
DE69219662T2 (de) Verfahren zur On-Line-Modifizierung von komprimierten digitalen Prüfvektoren
DE2830334C2 (de)
DE2245284A1 (de) Datenverarbeitungsanlage
DE2725614C2 (de)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 9/22

8130 Withdrawal