DE2938929A1 - Dv-system - Google Patents

Dv-system

Info

Publication number
DE2938929A1
DE2938929A1 DE19792938929 DE2938929A DE2938929A1 DE 2938929 A1 DE2938929 A1 DE 2938929A1 DE 19792938929 DE19792938929 DE 19792938929 DE 2938929 A DE2938929 A DE 2938929A DE 2938929 A1 DE2938929 A1 DE 2938929A1
Authority
DE
Germany
Prior art keywords
control
wcs
address
memory
firmware
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.)
Granted
Application number
DE19792938929
Other languages
English (en)
Other versions
DE2938929C2 (de
Inventor
Kiyoshi H Terakawa
William E Woods
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems 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 DE2938929A1 publication Critical patent/DE2938929A1/de
Application granted granted Critical
Publication of DE2938929C2 publication Critical patent/DE2938929C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/268Microinstruction selection not based on processing results, e.g. interrupt, patch, first cycle store, diagnostic programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30196Instruction operation extension or modification using decoder, e.g. decoder per instruction set, adaptable or programmable decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Memory System (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Storage Device Security (AREA)

Description

Die vorliegende Erfindung bezieht sich auf ein Datenverarbeitungssystem nach de» Gattungsbegriff des Anspruches 1 und insbesondere auf ein solches System, bei dem eine Zentraleinheit einen für die Benutzer zugänglichen Steuerspeicher aufweist.
Die heutige fortgeschrittene Entwicklung der Computertechnik hat die Erweiterung einer Zentraleinheit (CPU) durch einen dem Benutzer zugänglichen Steuerspeicher hervorgebracht, wobei dieser Steuerspeicher manchmal als schreibfähiger Steuerspeicher (WCS) bezeichnet wird. Ein solcher Steuerspeicher versieht den Benutzer mit extrem leistungsfähigen Hardwarebefehlen/ wodurch die Standard-Softwarebefehle der Zentraleinheit erweitert sowie verbessert werden und bei einer bestimmten Benutzeranwendung die Leistungsfähigkeit der Zentraleinheit bei sonst kritischen Softwareroutinen verbessert wird. Diese Routinen können daher mit Geschwindigkeiten bearbeitet werden, die mit der Bearbe-itungsgeschwiniäigkeit von systemeigenen Befehlen der Zentraleinheit vergleichbar sind. Dies geschieht dadurch, daß ein Benutzer in die Lage versetzt wird, anwenderorientierte. Firmware in die Zentraleinheit zu schreiben,um sich wiederholende Softwareroutinen zu ersetzen. Ein Großteil der Verbesserung hinsichtlich der Verarbeitungsgeschwindigkeit ist auf die Fähigkeit der Firmware zurückzuführen, verschiedene Operationen gleichzeitig in einem einzigen Firmwareschritt auszuführen. Die Anwendung des schreibfähigen Steuerspeichers variiert von Benutzer zu Benutzer beträchtlich. Ein Mikroprogrammierer wird in die Lage versetzt, die systemeigene Firmware der Zentraleinheit zu verbessern und zu vergrößern, wodurch quasi eine anwendungsorientierte spezialisierte Zentraleinheit gebildet wird. Softwareroutinen bzw. Programme, die so ausgelegt sind, daß sie ohne einen schreibfähigen Steuerspeicher ablaufen, werden durch die Anwesenheit eines solchen Steuerspeichers nicht beeinflußt. Mit wirksamen Firmwarebefehlen kann ein Anwender die Gesamtleistung der Zentraleinheit mit einer minimalen Umwandlung der Softwareprogramme erhöhen.
030016/0718
Die Mikroprogrammierung und insbesondere ein schreibfähiger Steuerspeicher wird in einem Buch mit dem Titel "Microprogramming: Principles and Practice", von Samir S. Husson, beschrieben, das 197o in dem Verlag Prentice-Hall, Inc. erschienen ist. Ferner wird in der US-PS 4.O42.972 ein Computersystem beschrieben, in welchem ein schreibfähiger Steuerspeicher zusätzlich zu dem Steuerspeicher benutzt wird, der intern in der Zentraleinheit angeordnet ist.
Ausgehend von den bekannten Lösungen ist es die Aufgabe der vorliegenden Erfindung einen verbesserten schreibfähigen Steuerspeicher für die Anwendung in einem Datenverarbeitungssystem zu schaffen, durch welchen basierend auf den besonderen Anforderungen des Anwenders die Fähigkeit des System erweitert wird. Die Lösung dieser Ausfgäbe gelingt gemäß der im Anspruch 1 gekennzeichneten Erfindung. Weitere vorteilhafte Ausgestaltungen der Erfindung sind den Unteraneprüchen entnehmbar.
Durch die vorliegende Erfindung wird ein Datenverarbeitungssystem geschaffen, bei dem eine Zentraleinheit ihre eigene Steuerspeichereinrichtung für die Speicherung von Steuerworten für die Operationssteuerung dieser Einheit aufweist und bei dem ein Steuerspeicher seine eigene Steuerspeichereinrichtung für die Speicherung zusätzlicher Steuerworte besitzt, die für die Betriebssteuerung der Zentraleinheit benutzt werden. Eine elektrische Sammelschiene ist angeordnet,um die Zentraleinheit und den ;teuerspeicher miteinander zu verbinden, wobei die Zentraleinheit den Steuerspeicher adressiert und Befehle zu dem Steuerspeicher überträgt und wobei der Steuerspeicher Steuerworte zu der Zentraleinheit überträgt. Eine festgeschaltete Schnittstelle ist ebenfalls zwischen der Zentraleinheit und dem Steuerspeicher vorgesehen, über welche die Zentraleinheit Adressen zu dem Steuerspeicher für die Verwendung durch diesen überträgt und über welche der Steuerspeicher ein adressiertes Steuerwort zu der Zentraleinheit überträgt. Der Steuer-
03001 6/0718
speicher weist mehrere Quellen für die Adressierung seiner eigenen Steuerspeichereinrichtung auf,wobei ein Multiplexaufbau zur Anwendung gelangt.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei die Erfindung im Folgenden näher erläutert. Es zeigen:
Fig. 1 ein Blockdiagramm zur Veranschaulichung der Anwendung der vorliegenden Erfindung;
Fig. 2 ein Blockdiagramm der Speichereinrichtung gemäß der vorliegenden Erfindung;
Fig. 3 ein detailliertes Blockdiagramm der Speichereinrichtung gemäß der vorliegenden Erfindung;
Fig. 4 das Format einer Speicher-Ladeanweisung,wie sie im Zusammenhang mit einer Speichereinrichtung gemäß der Erfindung benutzt wird;
Fig. 5 das Format einer Speicher-Schreibanweisung, wie sie im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung benutzt wird;
Fig. 6 das Format einer Speicher-Eintrittsanweisung, wie sie im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung benutzt wird;
Fig. 7 das Format einer Rückkehranweisung zu dem
PROM -Speicher , wie sie im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung verwendet wird;
Fig. 8 das Format einer RAM-Speicherwort-Leseanwelsung und darauf erfolgenden Antwort,wie sie im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung verwendet wird;
030016/0718
Fig. 9 drei Felder eines Firmwarewortes, das im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung verwendet wird;
Fig.io das Flussdiagramm einer typischen Ladefolge bei der Speichereinrichtung gemäß der vorliegenden Erfindung;
Fig.11 bis 16 Flußdiagramme verschiedener Anweisungen im Zusammenhang mit der Speichereinrichtung gemäß der Erfindung;
Fig.17 flie benutzte Logik/um den Basis-Zeittakt für die erfindungsgemäße Speichereinrichtung vorzugeben;
Fig.18 die Logik, wie sie für erweiterte Zentraleinheitzyklen in Zusammenarbeit mit der erfindungsgemäßen Speichereinrichtung benutzt wird;
Fig.19 die RAM-Speicher-Lese/Schreib-Zeittaktlogik
für die erfindungsgemäße Speichereinrichtung;
Fig.2o das Format der Adresse, wie sie beim Zugriff auf die Information in der erfindungsgemäßen Speichereinrichtung benutzt wird;
Fig.21 die Multiplexer-Steuerlogik für die erfindungsgemäße Steuereinrichtung;
Fig.22 ein Logikdiagramm zur Veranschaulichung des sogenannten Aufsplitter-Adressregisters,wie es bei der erfindungsgemäßen Speichereinrichtung verwendet wird;
030016/0718
Fig. 23 die detaillierte Logik des Erhöhungsadresszählers und des Rückkehr von der Subroutine-Registers im Zusammenhang mit der erfindungsgemäßen Speichereinrichtung;
Fig. 24 ein detailliertes Logikdiagramm der Samme1-schienen-Antwortlogik innerhalb der Samme1-schienen-Steuerlogik für die erfindungsge--Speichereinrichtung;
Fig. 25 die detaillierte Logik für den Sammel- " schienen-Adresszähler im Zusammenhang mit der erfindungsgemäßen Speichereinrichtung;
Fig. 26 Einzelheiten des Transparenzmodus/Folgemodus-Schalters im Zusammenhang mit der erfindungsgemäßen Speichereinrichtung;
Fig. 27 Einzelheiten der im Zusammenhang mit der erfindungsgemäßen Speichereinrichtung verwendeten PROM/RAM-Steuerlogik; und
Fig. 28 Einzelheiten einer alternativen Ausführungs form eines Teiles der Logik gemäß Fig. 23
Der schreibfähige Steuerspeicher WCS-Io gemäß Fig. 1 verbessert die Leistungsfähigkeit der zugeordneten Zentraleinheit CPU-12 durch Bildung eines zusätzlichen Firmwarespeichers, der durch Programmbefehle geändert werden kann,um eine Anpassung an die spezifischen Anforderungen des Benutzers herbeizuführen. Diese Ausgestaltung gestattet der Zentraleinheit vom Benutzer definierte Befehle zu bearbeiten, wobei Hardwareoperationen gemäß der durch den Anwender geschaffenen und in einen veränderbaren Speicherplatz eingeschriebenen Firmware ausgeführt werden können. Der Steuerspeicher WCS ersetzt nicht die Firmware für die Standard-Befehlsgruppe der Zentraleinheit CPU sondern bildet ein Mittel für den Anwender, dieser vorhandenen Befehle-
030016/0718
gruppe noch etwas hinzuzufügen. Durch den Anwender codierte Firmware zur Verwirklichung von durch den Anwender definierten Befehlen wird in den Steuerspeicher WCS über die Systemsammelschiene 14 unter Verwendung von Ein/Ausgabe-Befehlen geladen. Eine festgeschaltete Schnittstelle 16 zwischen der Zentraleinheit CPU und dem Steuerspeicher WCS bildet einen direkten Datenweg für die Zentraleinheit CPU bei der Bearbeitung von Anwender-Firmware/ wenn ein von einem Benutzer Jefinierter Befehl angetroffen wird. Figur 1 zeigt ein typisches System mit einem Steuerspeicher WCS,wobei beispielhalber noch andere Elemente wie beispielsweise ein Hauptspeicher 18 und eine Gerätesteuerung 2o dargestellt sind.
Der schreibfähige Steuerspeicher WCS-Io umfaßt gemäß Figur 2 eine Sammelschienenschnittstelle 22, einen vom Anwender codierten Firmwarespeicher 24/ eine Statuslogik 32, eine Anweisungs-Decodierlogik 34 und eine Adressierlogik 36. Der Steuerspeicher WCS kann ferner wahlweise eine Testeinrichtung 26 enthalten, die zeitweilig in dem dargestellten System installiert werden kann. Der Steuerspeicher WCS-Io interpretiert Funktionscodeanweisungen und verarbeitet den Dialog über die Sammelschiene 14 zwischen der Zentraleinheit CPU und dem Steuerspeicher WCS^ um Anwender-Firmware in den Speicher zu laden und Firmwareoperationen auszulösen, durch die die vom Anwender definierten Befehle bearbeitet werden. Die Testeinrichtung 26 kann zeitweilig in dem System installiert sein, um den Benutzer beim Austesten seiner codierten Firmware zu unterstützen. Die Testeinrichtung 26 zeigt die Information auf der internen Sammelschiene 28 der Zentraleinheit CPU und die Firmwareadresse 3o für den laufenden oder irgendeinen der 16 vorangegangenen Firmwarezyklen an. Die Testeinrichtung kann ferner benutzt werden bei einer Einzelzyklus-Firmwarebearbeitung und bei Operationen,bei denen durch Adresse ein Stop vorgegeben wird.
Es gibt zwei verschiedene Operationen hinsichtlich des Steuerspeichers WCS: 1. Laden der von dem Anwender codierten Firmware; 2. Bearbeitung der durch den Anwender codierten Firmwareroutinen.
030016/0718
ORIGINAL INSPECTED
Die Firmware des Anwenders wird in den Steuerspeicher WCS durch Ausgabe von Ein/Ausgabe-Befehlen geladen, die dazu führen, daß die Standard-Firmware der Zentraleinheit CPU die übertragung von Daten von der Zentraleinheit CPU zu dem Steuerspeicher WCS über die Sammelschiene 14 steuert. Getrennte Ein/Ausgabe-Befehle werden für die übertragung jedes Wortes (z.B. 16 Bit pro Wort) zu oder von der Zentraleinheit CPU ausgegeben. Die vom Anwender codierte Firmware muß in den Steuerspeicher WCS-24 geladen werden, bevor sie bearbeitet werden kann. Die Firmware des Anwenders wird bearbeitet, indem Firmwareworte von dem Steuerspeicher WCS-24 gelesen und zu der Zentraleinheit CPU übertragen werden,in welcher sie verarbeitet werden. Der Inhalt jedes Firmwarewortes legt die Adresse des nachfolgenden zu bearbeitenden Firmwarewortes fest. Um in diesen Prozess einzutreten, muß ein vom Anwender definierter Befehl während der Programmbearbeitung des Computers festgestellt werden. Dies führt dazu, daß die Standard-Firmware der Zentraleinheit CPU den Befehlscode über die Datenleitunge^der Sammelschiene 14 zu dem Steuerspeicher WCS-Io überträgt, wo er benutzt wird, um die Eintrittsstelle in die Anwender-Firmware auszuwählen. Dies gestattet der Anwender-Firmware die Steuerungsübernahme der CPU-Hardware und die weitere Verarbeitung durch die Firmware des Anwenders.
Wenn die vom Anwender codierte Firmwareroutine die Bearbeitung vervollständigt hat und die Steuerung zu der Standard-Firmware der Zentraleinheit CPU zurückkehren soll, so erzeugt der Anwender am Ende seiner codierten Firmwareroutine eine Ein/Ausgabe-Ausgangsanweisung an den Steuerspeicher WCS. Diese Anweisung schaltet die Steuerung von der Anwender-Firmware auf die Standard-Firmware der Zentraleinheit CPU um. Die Standard-Firmware erzeugt automatisch die Anweisung f durch die in die Anwender-Firmwareverarbeitung eingetreten wird, aber der Anwender muß den Ein/Ausgabe-Befehl in seiner Firmware erzeugen, um zu der Standard-Firmwaresteuerung zurückzukehren.
Die Anwender-Firmware kann auf zwei Weisen der Reihe nach bearbeitet werden:
1. WCS-Folgemodus oder 2. Transparenzmodus.
030016/0718
In beiden Bearbeitungsweieen wird die nächste Firmwareadresse durch die Codierung der Anwender-Firmware festgelegt. Beim Folgeinodus ist jedoch eine Verzweigungscodierung der Firmware untersagt und die Steuerspeicherlogik interpretiert über die Anweisungs-Decodierlogik 34 das Verzweigungscodefeld des Finnwarewortes ,um festzustellen, welche von 4 Quellen die nächste Adresse enthält. Im Transparenzmodus sind alle Verzweigungscodes gültig und der normale Generator für die nächste Adresse (NAG) in der Zentraleinheitlogik interpretiert das vollständige Firmvarewort und erzeugt die nächste Firmwareadresse/ die zu dem Steuerspeicher WCS übertragen wird.
Die zwei Firmware-Fortschalte-Betriebsweisen des Steuerspeichers WCS schließen sich gegenseitig aus. Der Steuerspeicher muß durch einen manuell betätigten, oder anderweitig betätigten Schalter 95 (wie in Figur 5 gezeigt) auf den einen oder anderen Modus eingestellt werden. Der Unterschied zwischen den beiden Betriebsweisen erscheint in der Zuordnung von Steuerspeicheradressen zu aufeinanderfolgenden Schritten einer Firmwareroutine. In dieser Hinsicht ordnet der Microprogrammierer beim Folgemodus eine Anfangsadresse zu, nach welcher die Adresse bei jedem neuen Schritt automatische erhöht wird. Bedingte Verzweigungen stellen eine Wahl zwischen dem Fortfahren in der Folge und dem Ergreifen irgendeiner anderen Maßnahme (Verzweigung zu einem festgelegten Speicherplatz, oder Aufruf einer Subroutine oder Rückkehr) dar. Im Gegensatz hierzu wird der Microprogrammierer beim Transparenzmodue kaum dem System gestatten, die Adresse des nächsten Schrittes zuzuordnen, selbst wenn die Werte benachbart sind. Jeder Schritt im Transparenzmodus legt explizit die Adresse des nachfolgenden Schrittes fest, die sich irgendwo in dem Firmwarespeicher mit 2o48 Speicherplätzen befinden kann. Bedingte Verzweigungen stellen eine Wahl zwischen der so festgelegten Adresse und einer alternativen Adresse dar. In jedem Modus wird, wenn keine Verzweigung erforderlich ist, der notwendige Code erzeugtem Schritt für Schritt weiterzuschreiten. Nichtsdestoweniger sollte festgehalten werden, daß beim Transparenzmodue die für die Festlegung
030016/0710
der nächsten Adresse verantwortlichen Bits tx-lnabe bei jeden Schritt besetzt sind, wahrend beim Folgemodus diese Bits unbenutzt bleiben, es sei denn ,-es liegt ein Aufruf für eine Verzweigung vor. Diese Unterscheidung ist wesentlich, da einige dieser gleichen Bits an der Erzeugung von Konstanten durch die Firmware beteiligt sind. Wenn daher eine bestimmte Konstante erzeugt werden muß, ergibt sich eine Einschränkung hinsichtlich des Wertes des Feldes für die nächste Adresse. Beim Transparenzmodus erfordert diese Einschränkung eine besondere Aufmerksamkeit bei der Verfolgung der Adresszuordnungen. Beim Folgemodus verschwindet diese Einschränkung wenn keine gleichzeitige Verzweigung vorliegt; andernfalls wird es gewöhnlich erforderlich, einen besonderen Firmwareschritt einzufügen. Die Wahl zwischen den zwei Betriebsweisen basiert gewöhn1Icherweise auf der erwarteten Häufigkeit der Verzweigung und der konstanten Benutzung und der daraus folgenden Wahrscheinlichkeit ihrer gegenseitigen Überlappung.
Eine genauere Darstellung des Steuerspeichers WCS ist in Fig.3 gegeben. Dort sind die WCS-Hardwarekomponenten und der Datenfluß zwischen dem Steuerspeicher WCS-Io, der Zentraleinheit CPU-12 und der wahlweise vorgesehenen Testeinrichtung 26 dargestellt. Alle von der Zentraleinheit CPU an den Steuerspeicher WCS ausgegebenen Anweisungen werden fiber die Systemsammelschiene 14 übertragen. Die festgeschaltete Schnittstelle zwischen der Zentraleinheit CPU und dem Steuerspeicher WCS bildet ein Mittel des Steuerspeichers, um direkt das Anwender-Firmwarewort an die Zentraleinheit CPU zu übertragen. Die Schnittstelle der Testeinrichtung gestattet einen manuellen Zugriff auf den Firmwarespeicher. Die Hauptkomponenten der Hardware innerhalb des Steuerspeichers WCS seien nachfolgend beschrieben.
Der Steuerspeicher WCS umfaßt die Systemsammelschiene-Steuerlogik 63,die Empfänger 62 und Treiber 64 und weitere Logikschaltkreise aufweisen kann, was in der ÜS-PS 3.993.981 näher beschrieben ist. Die Steuerlogik bildet ein Mittel um der Zentraleinheit CPU und dem Steuerspeicher WCS einen Dialog mitein-
030016/0718
ander zu gestatten. Der Steuerspeicher WCS empfängt Anweisungscodes zusammen mit ihrer Kanalnummer von der Zentraleinheit CPU über die Adressleitungen der Sammelschiene 14. Mit jeder ausgegebenen Anweisung kann ein Datenwort von 16 Bit von dem Steuerspeicher WCS über die Datenleitungen empfangen werden. Der Steuerspeicher WCS erzeugt die CPU-Kanalnummer an den Adressleitungstreibern der Sammelschiene. Daher überträgt er nur Daten zu der Zentraleinheit CPU. Diese Daten können entweder aus dem WCS-Identifikationscode, den WCS-Statusbits oder aus ein^m ausgewählten Datenwort (16 Bit) der Anwender-Firmware bestehen/ diesem WCS-RAM-Speicher 6o des Firmwarespeichers 24 gespeichert ist. Der Steuerspeicher WCS führt keinen direkten Dialog mit deir. Hauptspeicher 18 durch.
Der WCS-Anweisungsdecodierer 34 decodiert den Anweisungscode t der an den Steuerspeicher WCS über die Adressleitungen der Sammelschiene 14 ausgegeben wird. Er speichert den Anweisungstyp und erzeugt die erforderlichen Steuersignale,um die durch die Zentraleinheit CPU angewiesene Maßnahme auszuführen. Derartige Anweisungen werden spSter beschrieben. Der Basis-Zeittakt für den Steuerspeicher WCS wird direkt von dem CPU-Haupttakt (MCLOCK) abgeleitet und auf der Leitung 64 empfangen. Dies stellt sicher, daß alle Operationen des Steuerspeichers WCS und der Zentraleinheit CPU zueinander synchron erfolgen.
Das Aufsplitterungs-Adressregister 66 ist ein 5 Bit-Register, das einen temporären Speicher für Aufgabenworte bildet, das auf einigen der Datenleitungen der Sammelschiene 14 zugeführt wird,wenn eine Eintrittsanweisung an den Speicherspeicher WCS ausgegeben wird. Der Inhalt dieses Registers wird benutzt,um die Adresse des WCS-RAM-Speichers zu bilden, die eine Verzweigung zu dem ersten Speicherplatz einer bestimmten Anwender-Firmwareroutine hervorruft.
Der Saminelschienen-AdresszähJLer 68 is-t ein 14 Bit-Erhöhiingszähler. Sein Inhalt wird benutzt, um den WCS-Firmwarespeicher 24 zu adressieren, wenn Anwender-Firmware über die S annnel schiene 14 ge-
030016/0718
laden oder gelesen wird. Er 1st anfänglich durch eine eindeutige WCS-Anweisung geladen und wird sodann bei jeder Ausführung einer RAM-Lese- bzw.Schreibanweisung fortgeschaltet. Die niedrigrangigen beiden Bits dieses Registers sind Datenwort-Hinweisbits. Sie wählen das Datenwort (16Bit) innerhalb des 64-Bit-Finnwarewortes aus, das behandelt wird. Dies ist erforderlich, da die Sammelschiene 14 nur ein 16-Bit-Datenwort pro Anweisung behandeln kann. Diese beiden niedrigrangigen Bits werden von der Schreibsteuerlogik 89 und dem Datenselektor 82 verarbeitet.
Der Erhöhungs-Adresszähler 7o ist ein 12 Bit-Zähler, der f(irden CPU-Taktzyklus eine erhöhte Firmwareadresse liefert.
Das Rückkehr von der Subroutine-Register 12 weist eine Breite von 12 Bit aufvspeichert die Rückkehradresse für den Steuerspeicher WCS, wenn eine Firmwareverzweigung zu einer Subroutine ausgeführt wird. Wenn eine Subroutinen-Rückkehrverzweigung bearbeitet wird, so wird die erhöhte Adresse in dieses Register geladen und für die Rückkehr zur Haupt-Bearbeitungsfolge der Anwender-Firmware benutzt.
Der WCS-Anwenderfirmware-Speicher 24 umfaßt beispielsweise 2 RAM-Speicher 6o. Jeder Speicher enthält beispielsweise 1o24 Speicherplätze von jeweils einer Breite von 64 Bit. Jeder Speicherplatz speichert ein Firmwarewort bei einer Gesamt-Firmwarespeicherkapazität von 2K (2o48) Speicherplätzen. Diese RAM-Speicher werden geladen bzw. gelesen mit einem Datenwort (16-Bit) pro Schrelb/Leseanweisung. Bei der Bearbeitung wird jedoch das vollständige Firmwarewort mit 64 Bit ausgegeben.
Der Adressen-Auswahlmultiplexer MUX 74 weist mehrere Anschlüsse und eine Breite von 12 Bit auf. Er wählt die WCS-RAM-Adresse aus, durch die auf ein gespeichertes Fimiwarewort Zugriff genommen wird. Die Adresse kann von verschiedenen Quellen in Abhängigkeit von der in dem Anweisungsdecodierer 34 gespeicherten Anweisung und von der Codierung des laufenden Firmwarewortee ausgewählt werden. Die ausgewählte Adresse kann bei ihrer Abgabe an den RAM-Speicher übersteuert werden, was mittel* des direkten
030016/071 8
Adressenmultiplexers 76 geschieht.
Der direkte Adressenmultiplexer 76 weist zwei Anschlüsse und eine Breite von 12 Bit auf. Er wählt die endgültige Adresse aus, die von dem Steuerspeicher WCS an die RAM-Speicher 6o abgegeben wird. Wenn die Zentraleinheit CPU einen Zustand feststellt/ der eine Firmwareverzweigung zu der nächsten in dem laufenden Firmwarewort codierten Adresse erfordert, so informiert sie den Adressenmultiplexer 76, so daß dieser das Feld der nächsten Adresse (NA) auswählt, das in dem Sprungadressregister 78 gespeichert ist. Andernfalls wählt der Multiplexer 76 den Ausgang des Adressenauswahlmultiplexers 74 aus/ um den WCS-Firmwarespeicher 24 zu adressieren. Das Sprungadressregister 78 speichert das Feld der nächsten Adresse (NA) des laufenden Finnwarewortes. Sein Inhalt wird benutzt,wenn eine Verzweigung zu der nächsten Adresse NA gefordert ist.
Das Daten-Eingaberegister 8o besitzt eine Breite von 16 Bit und speichert das Schreibdatenwort (16 Bit), das an den Steuerspeicher WCS abgegeben wird, wenn Firmware in den Firmwarespeicher 24 geladen wird. Es sind vier Schreibanweisungen erforderlich, um ein Firmwarewort in den RAM-Speicher 6o zu laden. Die Positiosn der 16 Bit des zu schreibenden Firmwarewortes wird durch die Schreibsteuerlogik 89 festgelegt, die die Hinweisbits des Samroelschienenadresszählers 68 decodiert.
Der Datenselektor 82 weist vier Anschlüsse auf und besitzt eine Breite von 16 Bit. Er nimmt das von dem Firmwarespeicher 24 empfangene Firmwarewort mit 64 Bit auf und wählt ein Datenwort mit 16 Bit aus, wobei dies gemäß den in dem Sammelschienen-Adresszähler 68 gespeicherten Hinweisbits geschieht. Das ausgewählte Datenwort kann über die Sammelschiene 14 in die Zentraleinheit CPU zurückgeführt werden.
Das Daten-Auegabereglster 84 speichert das ausgewählte Datenwort mit 16 Bit, das an die Zentraleinheit CPU über die Sammelschiene 14 abgegeben wird. Dieser Datenweg wird benutzt, wenn das Syatem
030016/0718
eine Überprüfung des Inhalte des Firmwarespeiches 24 fordert.
Die PROM/RAM-Steuerlogik 86 stellt fest, ob die in dem PROM-Speicher der Zentraleinheit CPU gespeicherte Firmware oder die Anwender-Firmware, die in dem Steuerspeicher WCS gespeichert ist, aktiv ist und die Zentraleinheit CPU steuert. Sie überwacht in dem Steuerspeicher HCS gespeicherte Anweisungen und Zustände der Zentra viert ist.
der Zentraleinheit CPU um festzustellen, welche Firmware akti-
Die Statue- und Identifizierungslogik 88 liefert auf Anweisung die WCS-Statusbits oder den WCS-Identifizierungscode an die Sammelschienen-Datentreiber 64.
Es gibt folgende fünf Haupt-Schnittstellen im Zusammenhang mit dem Steuerspeicher WCS: 1. CPü/WCS-Steuerspeicherschnittstelle, 2. Systemsammelschienenschnittstelle, 3.WCS/RAM-Speicherschnitt-Btelle, 4. WCS/Testgerätschnittstelle und 5. Testgerät/CPÜ-Schnittstelle. Die Schnittstellen 1 und 3 sollen nua näher erläutert werden. Einzelheiten hinsichtlich der Sammelschienenschnittsteile 2 können der zuvor erwähnten Patentschrift entnommen werden, Die Schnittstellen 4 und 5 gelangen bei der vorliegenden Erfindung nicht zur Anwendung.
Die CPU/WCS-Steuerspeicherschnittstelle ist eine festgeschaltete Daten/Steuerschnittstelle zwischen dem Steuerspeicher WCS und der Zentraleinheit CPU. Sie bildet einen direkten Datenweg zwischen dem WCS-Firmwarespeicher 24 und der Zentraleinheit CPÜ-12. 64 Steuerspeicherbits (d.h. ein Firmwarewort) plus ein Steuersignal fließen über die Leitungen 9o und 92 von dem Steuerspeicher WCS zu der Zentraleinheit CPU. Von der Zentraleinheit CPU werden zu dem Steuerspeicher WCS die Signale für die nächste Adresse (11 Bits) auf der Leitung 94 und der Haupttakt auf der Leitung 64 übertragen. Die Signale, die die CPU/ WCS-Schnittstelle ausmachen,seien : nunmehr erläutert. Das Haupttaktsignalu auf der Leitung 64 ist das CPU-Baeiszeittakteignal und wird benutzt,um die Zentraleinheit CPU und den Steuerspeicher WCS zu synchronisieren. Die WCS-Basiszeittaktsignale werden von
030016/0718
diesem Signal abgeleitet. Die die nächste Adresse erzeugenden Signale (11 Bits) auf der Leitung 94 kommen von dem Ausgang der Erzeugungslogik für die nächste Adresse innerhalb der Zentraleinheit CPU. In Abhängigkeit von dem Verzweigungsfeld (BR) des Firmwarewortes und dem Modus der WCS-Operation können diese Schnittstellensignale die WCS-RAM-Zugriffsadresse bilden. Im WCS-Folgemodus wird das niedrigrangige Bit (NAG011) immer dann auf den hohen Pegel geschaltet, wenn die CPU-Testlogik feststellt, daß eine Verzweigung zu der NA-Feldadresse gefordert ist. Einzelheiten hinsichtlich der CPU-Erzeugungslogik für die nächste Adresse und der Testlogik können der US-PS 4.O47.247 entnommen werden. Das PROM-Steuerfreigabesignal (PROMCE) auf der Leitung 92 zeigt bei hohem Pegel an, daß der CPU-PROM-Speicher (CPU-Firmware) freigegeben und der WCS-RAM-Speicher (Anwender-Firmware) gesperrt ist. Das WCS-RAM Steuerwort (64 Bits) auf der Leitung 9o ist das von dem WCS-RAM-Speicher gelesene Firmware-Steuerwort. Im Folgemodus werden die in den Bits 49, 5o und 63 gespeicherten Verzweigungstypcodes durch die WCS-Logik interpretiert und daher zu der Zentraleinheit CPU mit dem Binärwert "O" übertragen. Im Transparenzmodus werden alle 64 Bits des Firmware-Steuerwortes unverändert zu der Zentraleinheit CPU übertragen.
Die Schnittstelle zwischen dem Steuerspeicher WCS und dem RAM-Speicher enthält alle Daten, Adressen und Steuersignale, die erforderlich sind, um Firtnware-Steuerworte in dem RAM-Speicher zu speichern und wieder aufzusuchen. Die Schnittstelle für jeden RAM-Speicher 6o ist im wesentlichen die gleiche. Nur die Freigabe- und Verfügbarkeitssignale unterscheiden sich in Abhängigkeit von der physikalischen Position, die der RAM-Speicher in dem Steuerspeicher WCS einnimmt. Die Daten- und Adresssignale für jeden RAM-Speicher sind in dem Steuerspeicher WCS zusammen verdrahtet. Eine Beschreibung der Signale der WCS/RAM-Schnittstelle sei nun gegeben. Zwei Signale werden benutzt, um entweder den ersten RAM-Speicher 6o-1 oder den zweiten RAM-Speicher 6o-2 auszuwählen. Zwei Signale werden ebenfalls benutztjUm den Typ des RAM-Speichers festzustellen,und zwei weitere
030016/0718
Signale sind vorgesehen,um zu prüfen, ob der spezielle RAM-Speicher installiert ist. Ein Daten-Eingangswort (16 Bit) wird als Eingangs-Schreibdaten beiden RAM-Speichern 6o zugeführt. Dieses Wort wird in dem freigegebenen Speicher RAM an dem Speicherplatz eingeschrieben, der durch den Adresseingang festgelegt ist. Ein Adress-Eingangesignal (1o Bit ) wird an beide . RAM-Speicher 6o gesendet und wählt den Speicherplatz aus, aus dem ausgelesen oder in den eingeschrieben wird. Diese Adresse ist nur von Bedeutung für den freigegebenen Speicher RAM. Ein Schreibwort (4 Signale) legt fest, in welche Wortposition des adressierten RAM-Speicherplatzes die Eingangsdaten einzuschreiben sind. Jedes Signal steuert eine Wortpositdon (16 Bit) des mit den Eingangsdaten zu ladenen Speicherplatzes. Diese Schreibsignale gelangen zu beiden RAM-Speichern; sie rufen jedoch nur ein Einschreiben in dem freigegebenen Speicher RAM hervor. Ein Steuerwort des Speichers RAM (64 Signale) bildet das Firmware-Steuerwort,das aus dem freigegeben Speicher RAM an der durch die Adresse festgelegten Speicherstelle ausgelesen wird. Da nur ein Speicher RAM zu jedem Zeitpunkt freigegeben ist, werden die Ausgangssignale beider RAM-Speicher in einer festverdrahteten ODER-Schaltung zusammengeführt.
Die Systemsammeischiene 14 bildet die gemeinsame Schnittstelle, die von der Zentraleinheit CPU-12 und anderen Einheiten benutzt wird, um einen Dialog untereinander auszuführen. Alle den Steuerspeicher WCS-Io betreffenden Sammelschienenoperationen erfolgen jedoch nur zwischen der Zentraleinheit CPU und dem Steuerspeicher WCS. Der Steuerspeicher WCS führt keinen direkten Dialog mit irgendeiner anderen Einheit aus. Die Zentraleinheit CPÜ gibt alle WCS-Anweisungen und zugeordneten Daten an den Steuerspeicher WCS über diese Sammelschiene aus, während der Steuerspeicher WCS aufgrund einer Anweisung nur Daten zu der Zentraleinheit CPU über die Sammelschiene überträgt. Alle Sammelschienenoperationen erfolgen auf einer asynchronen Basis des Sammelschienenzyklus. Jeder Sammelschienenzyklus besitzt einen Haupt/Nebente11. Die Einheit, die die Information überträgt,bildet jeweils die Haupteinheit und die empfangende Einheit bildet die Nebeneinheit.
030016/0718
Wenn eine Einheit Information zu übertragen wünscht, wird sie zur Hautpeinheit,inwdem sie einen SammelSchienenzyklus anfordert. Wenn keine andere Einheit mit einer höheren Priorität einen Samraelschienenzyklus anfordert, so wird der Zyklus der Haupteinheit zugeteilt. Bei gewährtem Zyklus gibt die Haupteinheit die Kanalnummer der NeJbeneinheit und Dateninformation auf der Sammelschiene aus. Die Nebeneinheit bestätigt ihren Kanal, empfängt die Sammelschlenend**-en und antwortet mit dem geeigneten Antwortsignal. Das Antwortsignal beendigt den Sammelschienenzyklus.
Die Zentraleinheit CPU kann entweder Eingabeanweisungen (lesen aus dem Steuerspeicher WCS) oder Ausgabeanweisungen (schreiben in den Steuerspeicher WCS) an den Steuerspeicher WCS ausgeben. Zwei Sanunelschienenzyklen sind erforderlich, um Information aus dem Steuerspeicher WCS zu lesen. Im ersten Zyklus bildet die Zentraleinheit CPU die Haupteinheit und gibt eine Leseanweisung an den Steuerspeicher WCS aus, wodurch bestimmte WCS-Daten angefordert werden. Im zweiten Zyklus wird der Steuerspeicher WCS zur Haupteinheit/und es werden die angeforderten Daten zu der Zentraleinheit CPU übertragen. Bei Anweisungen vom Ausgabetyp ist nur ein Sammelschienenzyklus erforderlich. Bei diesen Anweisungen bildet die Zentraleinheit CPU immer die Haupteinheit und alle angefordete Information wird zu dem Steuerspeicher WCS mit der Anweisung übertragen.
Die Sammelschiene 14 weist 24 Adressleitungen auf. Die Haupteinheit liefert immer die Kanalnummer der Nebeneinheit auf den Adressleitungen 8-17 und den Anweisungscode auf den Leitungen 18-23. Da alle Operationen betreffend den Steuerspeicher WCS über die Sammelschieneη nur mit der Zentraleinheit CPU erfolgen, an die der Steuerspeicher WCS angeschlossen ist, weist die Adress3ammelschiene immer die Kanalnummer der Zentraleinheit CPU bzw. des Steuerspeichers WCS auf. Die KanalnummerZuordnung für diese Einheiten steht aufgrund ihrer engen Verbindunq in einer direkten Beziehung. Die letzten beiden Bit der WCS-Kanalnummer sind so eingestellt, daß sie das Komplement der letzten
030016/0718
beiden Bits der CPU-Kanalnummer bilden. Diese Bits werden durch Schalter überprüft, die in dem Steuerepeicher WCS-Io angeordnet sind.
Die Anweisungen, die die Zentraleinheit CPU an den Steuerspeicher WCS ausgeben kann, sind entweder vom Ausgabe-oder vom Eingabetyp. In der Kategorie des Ausgabetyps sind folgende Anweisungen enthalten: Auslösen WCS (Funktionscode FC-01), Lade-WCS-Adresse, Schreibe RAM-Wort, WCS-Eintritt und Rückkehr zu PROM. In der Kategorie vom Eingabetyp sind folgende Anweisungen enthalten: Lese RAM-Wort, Eingabe WCS-Status und Eingabe WCS-Identifikation. Eine Beschreibung einiger dieser Anweisungen wird nachstehend gegeben. Diese Anweisungen werden über die Sammelschiene 14 durch Verwendung der CPU-Firmware infolge eines entweder vom Anwender definierten Befehles oder eines aus dem Hauptspeicher herausgezogenen Ein/ Ausgabe-Befehles ausgegeben. Wenn ein vom Anwender definierter WCS-Softwarebefehl aus dem Hauptspeicher herausgezogen wird, so erzeugt die Firmware der Zentraleinheit CPU eine Eintrittsanweisung an den Steuerspeicher WCS. Das erste Wort (16 Bit) des Softwarebefehls wird an den Steuerspeicher WCS über die Datenleitungen der Sammelschiene 14 als ein Aufgabenwort ausgegeben, wobei die WCS-Kanalnuimner und der Funktionscode der Eintrittsanweisung auf den Adressleitungen übertragen wird.
Die WCS-Adressen-Ladeanweisung lädt eine WCS-Startadresse in den WCS-Sammelschienenzähler 68. Diese Adresse wird benutzt,um auf den WCS-RAM-Speicher bei einem nachfolgenden RAM-Lese- bzw. - Anweisungswort Zugriff zu nehmen. Jeder Speicherplatz des WCS-RAM-Speichers umfaßt vier 16 Bit-Datenwortsegmente für eine Gesamtanzahl von 64 Bit. Wenn eine Adresse zu dem Steuerspeicher WCS durch diese Anweisung übertragen wird, so verweist sie auf das erste 16 Bit-Datenwortsegment (d.h.auf die am weitesten links stehenden 16 Bit innerhalb der 64 Bit). Eine nachfolgende RAM-Wort-Lese/Schreibanweisung erhöht die Segment-Hinwelsadresse, sowie die WCS-RAM-Speicherplatzadresse, so daß nur eine WCS-Ladeadressanweisung erforderlich ist, um irgendeine Anzahl von aheinandergrenzenden RAM-Speicherplätzen zu laden. Vier RAM-Wort-Lese/Schreibanweisungen übertragen den Inhalt eines 64 Bit-
030016/0718
Speicherplatzes. Das Sammelschienenformat für die WCS-Ladeanweisung ist in Figur 4 dargestellt. Das Bit 4 der Datensammelschiene muß den Wert "1" aufweisen, um auf eine WCS-RAM-Adresse zu verweisen.
Die RAM-Wort-Schreibanweisung schreibt ein 16 Bit-Datenwortsegment des 64 Bit-Firmwarewortes in den gerade ausgewählten WCS-RAM Speicherplatz. Die Auswahllogik wird nach der übertragung fortgeschaltet, so daß eine nachfolgende RAM-Wort-Schreibanweisung das nächste 16 Bit-Datenwortsegment in den gleichen RAM-Speicherplatz schreibt. Wenn vier Schreibanweisungen hinsichtlich des gleichen Speicherplatzes aufgetreten sind, so ist das gesamte Firmwarewort eingeschrieben und die Speicherplatzadresse wird fortgeschaltet. Es ist möglich, die RAM-Speicherplatzadresse über die Kapazität des RAM-Speichershinaus zu erhöhen. Wenn dies auftritt, so wird ein Fehlerstatusbit 1o gesetzt und der Steuerspeicher WCS gibt NAK-Antworten auf nachfolgende RAM-Wort-Lese/ Schreibanweisungen aus. Das Sammelschienenformat für die RAM-Wort-Schreibanweisung ist in Figur 5 dargestellt.
Die Eintrittsanweisung wird erzeugt, wenn ein vom Anwender definierter Befehl aus dem Speicher entnommen wird. Sie veranlaßt die Hardwaresteuerung zur Umschaltung der Firmwaresteuerung von der Standard-Befehlsgruppe zu der vom Anwender codierten Firmware. Der aus dem.Soeicher durch die Zentraleinheit CPU
v£irjy
herausgezogene Bef ehr* benutzt, um eine bestimmte Eintrittsstelle in die vom Anwender codierte Firmware innerhalb des Steuerspeichers WCS auszuwählen. Das Sammelschienenformat der Eintrittsanweisung ist in Figur 6 dargestellt.
Vom Anwender definierte Befehlscodes bilden in einem ausgewählten Bereich eine Eintrittsstelle zu einem der ersten 16 Speicherplätze der in dem Steuerspeicher WCS gespeicherten Anwender-Firmware. Bei der Bearbeitung des in dem WCS-Steuerspeicher an der ausgewählten Eintrittsetelle gespeicherten Firmwarewortes gewinnt die von dem Anwender codierte Firmware den Einfluß auf die Steuerung der Logik der ZentraleinheitCPU.
030016/0718
Die Hardware verbleibt unter der Steuerung der vom Anwender codierten Firmware bis eine Rückkehr zur PROM-Anweisung ausgeführt wird. Der Steuerspeicher WCS nimmt keine Eintritteanweisung an, wenn ein Fehlerstatusbit in dem Steuerspeicher WCS gespeichert ist.
Die Rückkehr zur PROM-Anweisung veranlaßt durch ihren Code die Zentraleinheit CPU zur Umschaltung von der vom Anwender codierten Firmwaresteuerung auf eine Steuerung durch die normale Befehlsgruppe der in dem CPü-PROM-Speicher gespeicherten Firmware. Die Bestimmungsadresse wird durch das Ausgangssignal der CPU-Erzeugungslogik für die nächste Adresse zu dem Zeitpunkt festgelegt, wo diese Anweisung von dem Steuerspeicher WCS bearbeitet wird. Normalerweise wird diese Anweisung durch die letzte Anweisung in einer Anwender-Firmwareroutine erzeugt. Das Sammelschienenformat für diese Anweisung ist in Figur 7 dargestellt.
Die RAM-Wort-Leseanweisung ruft die Übertragung eines 16 Bit-Datenwortsegmentes des ausgewählten Firmwarewortes im WCS-Speicher der Zentraleinheit CPU hervor. Die Anweisung erfordert zu ihrer Bearbeitung zwei Sammelschienenzyklen: zunächst einen Anforderungszyklus und sodann einen WCS-Antwortzyklus. Das Format dieser beiden Zyklen ist in Figur 8 dargestellt.
Die WCS-Adressierung des Firmwarewortes ist identisch mit derjenigen, wie sie bei der RAM-Wort-Schreibanweisung benutzt wird. Nachdem jedes 16 Bit-Datenwortsegment von dem Steuerspeicher WCS übertragen worden ist, wird die Segment-Hinweisadresse erhöht, um auf das nächste 16 Bit-Segment des gleichen Finnwarewortes zu verweisen. Nachdem das letzte am weitesten: rechts befindliche 16 Bit-Segment übertragen ist, wird die Adresse fortgeschaltet, um auf das am weitesten links befindliche 16 Bit-Segment des nächsten Firtnwarewortes zu verweisen. Es sind vier RAM-Wort-Leseanweisungen erforderlich, um den Inhalt eines Firmwarewortspeicherplatzes zu der Zentraleinheit CPU ru übertragen.
030016/0718
Das CPU-Register bzw. die Speicheradresse,an die das Datenwort übertragen wird, wird durch die Zentraleinheit CPü festgelegt. Die Kanalnummer,die über die Adressleitungen der Sairanelschiene 14 wahrend des Antwortzyklus übertragen wird, ist die der Zentraleinheit CPU-an die der Steuerspeicher WCS angeschlossen ist. Die Kanalzuordnung wird in der zuvor erwähnten Weise durch einen Schalter festgelegt.
Wie zuvor erwähnt,gibt es zwei Betriebsweisen des Steuerspeichers WCS, durch die festgelegt wird, in welcher Weise die Anwender-Finrrware interpretiert und bei der Bearbeitung fortgeschaltet wird: 1. Folgemodus; 2.Transparenzmodus. In beiden Betriebsweisen legen drei Felder des Firmwarewortes die Adresse des nächsten zu bearbeitenden Firmwarewortes fest. Dies ist in Figur 9 dargestellt.
Im Folgemodus interpretiert die WCS-Logik zusammen mit der CPU-Logik diese Felder(um die nächste Firmwareadresse festzulegen. Im Transparenzmodus wird das Anwender-Firmwarewort gänzlich von der CPU-Logik interpretiert und die nächste Firmwareadresse wird durch die normale Erzeugungslogik für die nächste Adresse (NAG) der Zentraleinheit CPU erzeugt. Die Auswahl des Operationsmodus erfolgt durch einen Schalter 95 innerhalb des Steuerspeichers WCS. Der durch den Schalter ausgewählte Modus wird wirksam, nachdem ein Eintritt in die Anwender-Firmware bearbeitet wird.
Bei ausgewähltem Folgemodus werden drei Bit 49, 5o und 63 des Anwender-Firmwarewortes auf den niedrigen Pegel gesetzt, wenn sie an die Zentraleinheit CPU abgegeben werden. Die WCS-Logik speichert das NA-FeId und interpretiert die Verzweigungscodebits 49 und So1Um festzustellen, von woher die nächste Firmwareadresse auszuwählen ist. Der verbleibende Teil des Anwender-Firmwarewortes wird an die Zentraleinheit CPU geliefert. Wenn die CPU-Logik einen Verzweigungszustand feststellt, so setzt sie das NAG-Bit 11,Um den Steuerspeicher WCS zu unterrichten, daß er das gespeicherte NA-FeId im Sprungadressregister 78 als nächste Adresse auszuwählenhat.
030016/0718
Beim Folgemodus sind alle Änderungen innerhalb der Folge (z.B. Sprünge oder Verzweigungen) gleichbleibend, da der WCS-Erhöhungs-Adresszähler MCNT-7O mit der Adresse eines jeden bearbeiteten Firmwarewortes geladen wird und nachfolgende Adressen durch Fortschaltung dieses Zählers 7o hergeleitet werden. Ein Eintritt in eine Subroutine und eine Rückkehr werden durch einen Betrieb erleichtert, bei dem der erhöhte Wert des MCNT-Zählers 7o in einem WCS-Rückkehrregister RSBA 72 gespeichert wird. Wenn eine Rückkehr von der Subroutine zu der aufrufenden Routine erfolgt, so wird das RCBA-Register 72 benutzt, um Zugriff auf die Anwender-Firmware zu nehmen, so daß diese Steuerung mit dem Firmwarewort weiterfahrt, das auf die Fimrwareworte der aufgerufenen Subroutine folgt. Das RSBA-Register 72 wird nicht durch die in der Zentraleinheit CPU gespeicherte Firmware benutzt. Der WCS-Folgemodus gestattet nur eine Verarbeitung der von dem Anwender codierten und in dem Steuerspeicher WCS gespeicherten Firmware.
Im Transparenzmodus werden die Verzweigungstypcodes durch den Steuerspeicher WCS nicht Interpretiert. Das gesamte Anwender-Firmwarewort (64 Bit) wird unverändert zu der Zentraleinheit CPU-12 übertragen. Alle nächsten Finnwareadressen werden durch die Erzeugungslogik für die nächste Adresse (NAG) in der Zentraleinheit CPU erzeugt. Das Ausgangssignal für die nächste Adresse der Zentraleinheit CPUwird immer zurück zu dem Steuerspeicher WCS-Io übertragen und ausgewählt, um die vom Anwender codierte Firmware zu adressieren.
Der Steuerspeicher WCS-Io erlaubt somit die Bearbeitung von durch den Anwender codierter Firmware,durch die Hardware-Operationen auf die speziellen Erfordernisse des Anwenders zugeschnitten werden. Diese Anwender-Firmware wird in dem Steuerspeicher WCS unter CPU-Systemsteuerung gespeichert und vergrößert die CPU-Standard-Firmwarebefehlsgruppe. Wenn sie einmal geladen ist, so kann die Software benutzt werden, um eine spezialisierte Firmware über vom Anwender definierte Befehle aufzurufen, wodurch die Hardwaresteuerung von einer CPU-Standard-Firmwaresteuerung auf die WCS-Anwender-Firmwaresteuerung umschaltet. Die vom Anwender codierte Firmware wird entweder im
030016/0718
Folgemodus oder im Transparenzmodus bearbeitet bis zu einem Zeitpunkten dem die Anwender-Firmware die Steuerung auf die CPU-Standardfirmware zurückführt oder ein Hauptfehler (z.B. Speicherparität) festgestellt wind.
Der Steuerspeicher WCs-Ιο wird mit der Anwender-Firmware durch die Systemsoftware geladen. Normalerweise wird bei der System-Inbetriebnahme ein WCS-Ladeprogramm aufgerufen und in dielage versetzt, eine zuvor gespeicherte Anwender-Firmwaredatei in den WCS-Speicher 24 zu übertragen. Sodann können nachfolgende Software- bzw.Operatormaßnahmen das Ladeprogramm wieder aufrufen und das Laden anderer Firmwaredateiearin den Steuerspeicher WCS veranlassen. In allen Fällen ist das Ladeprogramm mit der WCS-Speicherplatzadresse versehenen der die Ladung zu beginnen hat, wobei die Größe des zu ladenden Fixmwareblockes vorgegeben wird. Eine typische WCS-Ladefolge ist in Figur 1o dargestellt und wird nachstehend beschrieben. Anfänglich kann die WCS-Kanalnummer festgestellt werden, indem eine Eingabe-Identifikationsanweisung an jeden Kanal ausgegeben wird. Wenn der Kanal einmal errichtet ist, so wird der Steuerspeicher WCS ausgelöste1"^ es werden die WCS-Betriebsweisen durch ein Lesen des Status überprüft. An dieser Stelle wird die Anzahl der installierten RAM-Speicher festgestellt, indem eine RAM-Wort-Leseanweisung/gefolgt von einer Status-Leseanweisung,an jeden RAM-Speicher ausgegeben wird. Die Ergebnisse werden mit der Größe des Firmwareblockes verglichen. Ein Fehler wird der System-Software berichtet, wenn nicht genug RAM-Speicherplatz verfügbar ISt7Um den Firmwareblock zu speichern. Wenn ausreichend WCS-RAM-Speicherplatz verfügbar ist, so wird das erste 16 Bit-Wort der Anwender-Firmwaredatei herausgezogen und die WCS-Start-Ladeadresse wird zu dem WCS-Sammelschienen-Adresszähler übertragen. Nachdem die Adresse in den Steuerspeicher WCS geladen ist, beginnt der Schreibvorgang. Bei jedem Schreibvorgang wird das aus der Firmwaredatei herausgezogene 16 Bit-Wort in den Steuerspeicher WCS übertragene1"* es wird der Inhalt des WCS-Adresszählers 68 erhöht. Der Sammelschienenadresszähler 68 verweist immer auf das 16 Bit-Segment des RAM-Speicherplatzes t in das einzuschreiben ist. Nach vier Schreibvorgängen schaltet
030016/0718
dieser Zähler die RAM-Speicherplatzadresse weiter. Zwischen aufeinanderfolgenden Schreibvorgängen wird das nächstfolgende 16-Bit -Datenwort aus der Datei herausgezogen. Es sind vier Schreibvorgänge erforderlich,um einen RAM-Speicherplatz zu speichern. Nachdem vier SchreibvorgSnge stattgefunden haben, wird der WCS-Status gelesen, so daß festgestellte Fehler an die Zentraleinheit CPU berichtet werden können. Wenn keine Fehler berichtet werden und die Ladesoftware festeilt, daß der gesamte Firmwareblock geladen wurde, so ist die Operation vervollständigt. Anderenfalls wird in den Schreibvorgang erneut eingetreten und es wird der nächste RAM-Speicherplatz geladen.
Die Bearbeitung der System-Software einschließlich des Ladens des Steuerspeichers WCS mit der vom Anwender codierten Firmware wird durch die Zentraleinheit CPU ausgeführt, indem Standard-Firmwareroutinen bearbeitet werden, die permanent in dem PROM-Speicher der Zentraleinheit CPQ gespeichert sind. Die Umschaltung auf vom Anwender codierte Firmware hinsichtlich des Betriebs der Zentraleinheit CPU kann nur verwirklicht werden, indem ein vom Anwender definierter Softwarebefehl ausgeführt wird. Wenn ein vom Anwender definierter Softwarebefehl aus dem Hauptspeicher herausgezogen wird, so wird eine permanent gespeicherte CPU-Firmwareroutine bearbeitet, die zu einer Eintrittsanweisung führt, welche über die Sammelschiene 14 an den Steuerspeicher WCS-Io ausgegeben wird. Wenn der Steuerspeicher WCS die Anweisung akzeptiert, so sperrt er die CPU-Firmware und gibt die vom Anwender codierte Firmware frei,die in dem Steuerspeicher WCS gespeichert ist. Die spezifische Eintrittsstelle in die vom Anwender codierte Firmware wird durch den Operationscode des Befehls vorgegeben. Ist sie einmal freigegeben, so wird die vom Anwender codierte Firmware über die freigeschaltete WCS/CPU-Schnittstelle 16 zur Bearbeitung durch die Zentraleinheit CPU übertragen. Die Steuerung der CPU-Logik wird von der permanent gespeicherten Firmware innerhalb der Zentraleinheit CPU auf die vom Anwender codierte Firmware umgeschaltet, die in dem Steuerspeicher WCS gespeichert ist. Die Rückkehr zur CPU-Firmwaresteuerung wird durch die vom Anwender codierte Firmware vorgegeben.
030016/0718
Wenn die Verarbeitung der vom Anwender codierten Firmware vervollständigt ist und eine Rückkehr zur CPU-Fimrwaresteuerung gewünscht wird, so wird eine vom Anwender codierte Austritt-Finnwareroutine bearbeitet, die zu einer Rückkehr zur PROM-Anweisung führt, welche an den Steuerspeicher WCS über die Sammelschiene 14 ausgegeben wird. Wenn der Steuerspeicher WCS die Anweisung akzeptiert, so sperrt er die übertragung der vom Anwender codierten Firmware an die Zentrale? r/niit CPU und gibt die permanent in der Zentraleinheit CPU gespeicherte Firmware frei. Die Steuerung der CPU-Logik wird somit auf die Firmware übertragen, die in dem PROM-Speicher der Zentraleinheit CPU gespeichert ist. Der Anwender kann eine Rückkehr auf irgendeinen Speicherplatz innerhalb der CPU-Firmware codieren. Normalerweise wird jedoch der erste Speicherplatz der Befehlsbearbeitung als Rückkehrpunkt ausgewählt.
Wenn vom Anwender codierte Firmware bearbeitet wird, so ist der Zugriff auf die permanente Firmware in der Zentraleinheit CPU gesperrt bis ein Hauptfehler festgestellt wird. Bei der Feststellung eines Hauptfehlers^wie beispielsweise eines Sammelschienen-ParitStsfehlers oder eines unkorrigierten Speicherfehlers, erzwingt die Zentraleinheit CPU eine Adresse mit dem Wert Null auf den Adressleitungen für die nächste Adresse,die an den Steuerspeicher WCS gerichtet ist. Wenn diese Adresse festgestellt wird während der WCS-Folgemodus wirksam ist, so sperrt die WCS-Logik die vom Anwender codierte Firmware. Die CPU-Firmware übernimmt die Steuerung/und es tritt eine Verzweigung auf den Speicherplatz Null der CPU-Firmware auf,unabhängig von der Codierung der Anwender-Firmware. Wenn ein illegaler Verzweigungscode bei der Bearbeitung der vom Anwender codierten Firmware in dem WCS-Folgemodus festgestellt wird, so sperrt die WCS-Logik das Lesen des Anwender-Firmwarewortes und ruft die Erzeugung der nächsten Adresse mit dem Wert Null hervor. Die Signalleitungen für die nächste Adresse der Zentraleinheit CPU besitzen den Signalpegel Null, was dazu führt, daß der Steuerspeicher WCS die Firmwaresteuerung auf die Zentraleinheit CPU an dem Speicherplatz Null überträgt.
030016/071S
Im Folgenden wird auf verschiedene Figuren Bezug genommen, die Flußdiagrajtme darstellen und die Ereignisfolge und Hauptsteuersignale zeigen, die für bestimmte Anweisungen erzeugt werden und an den Steuerspeicher WCS-ΙΟ ausgegeben werden können. Jedes Flussdiagramm ist in eine CPU-Hälfte und eine WCS-HSlfte unterteilt, um die Zusammenwirkung zwischen diesen zwei Einheiten zu zeigen. Ein Prozessblock in der CPU-Hälfte kann entweder einen durch die Firmware gesteuerten Prozess oder eine Hardwaremaßnahme vorgeben. Die Prozessblöcke in der WCS-Hälfte zeigen d<fce WCS-Hardwareoperationen an. Eine detaillierte Beschreibung der WCS-Hardware gemäß der vorliegenden Erfindung wird später gegeben.
Die Flußdiagramme zeigen die Formate des Softwarebefehls und die sich ergebenden Sammelschienenzyklen, die die Anweisungen ausführen. Aufgrund der asynchronen Natur der Sammelschiene 14 treten einige Ereignisse in dem Steuerspeicher WCS und der Zentraleinheit CPU parallel auf.
Die aus sich selbst heraus verständlichen Flußdiagramme für die WCS-Anweisungen sind in den Figuren 15 bis 22 dargestellt. Diese Figuren stellen folgende Anweisungsflüsse dar:
Fig. 11 WCS-Auslöse-Anweisungsfluss, Fig. 12 WCS-Ladeadress-Anweisungsfluss, Fig. 13 RAM-Schreibwort-Anweisungsfluss, Fig. 14 RAM-Lesewort-Anweisungsfluss, Fig. 15 Eintritts-Anweisungsfluss und Fig. 16 Rückkehr zum PROM-Anweisungsfluss.
Obgleich die Flussdiagramme gemäß den Figuren 11 bis 16 aus sich heraus verständlich sind, sei im Folgenden eine allgemeine Beschreibung dieser Figuren gegeben. Die Folge sowohl in der Zentraleinheit CPU als auch in dem Steuerspeicher WCS für jeden der Anweisungscodes ist bis zu einem gewissen Ausmaß einander ähnlich, indem anfänglich nach dem Start der Befehl aus dem
030016/0718
Hauptspeicher 18 herausgezogen wird, worauf ein Sammelschienenzyklus ausgegeben wird. Nachdem die Zentraleinheit CPU den Sammelschienenzyklus erhalten hat, überträgt sie durch das sogenannte BSDCNN-Signal die Kanalnummer an den Steuerspeicher WCS. Die Signale^wie beispieleweise BSDCNN, BSACKR usw./ sind in der zuvor erwähnten US-PS 3.993.981 näher erläutert. Daraufhin wird die Kanalnummer durch den Steuerspeicher WCS decodiert, wobei der Funktionscode der durch £is Zentraleinheit CPU ausgegebenen Anweisung durch den Anweisungsdecodierer 34 decodiert wird und ein Tastsignal erzeugt wird, das anzeigt, daß dies die Adresse des Steuerspeichers WCS ist. Daraufhin wird ein Bestätigungssignal in Form des Signales ACK von dem Steuerspeicher WCS ausgegeben, wodurch der Sammelschienenzyklus durch die Zentraleinheit CPU beendet wird. Parallel zu vorstehender Operation wird eine Neuablauf-Anweisung innerhalb des Steuerspeichers WCS erzeugt. Die vorstehende Beschreibung bis zu dem Punkt,wo das Bestätigungssignal an die Zentraleinheit CPU ausgegeben wird, ist für jede der Figuren die gleiche. Die verbleibenden Teile der FIußdlagramme dieser Figuren sind im allgemeinen spezifisch für jeden Anweisungsfluss.
Grundsätzlich wird der Auslöse-Anweisungsfluss gemäß Figur benutztyum die WCS-Logik zu löschen und die bistabilen Paritätseleinente auszulösen, worauf die Paritätsprüfung ermöglicht wird. Gemäß Figur 12 wird nach der Ausgabe des Beatätigungssignales an die Zentraleinheit CPU der Sammelschienenzyklus beendet und es wird der Inhalt der Datenleitungen in den Sammelschienen-Adresszähler 68 eingetastet. Gemäß Figur 13 werden durch den RAM-Schrelbwort-Anweisungsfluss grundsätzlich die Daten in das Eingangs-Datenregister eingetastet und es werden zwei Warteantworten gebildet, wobei mit der Ausgabe der ersten Warteantwort parallel der Takt der Zentraleinheit CPU angehalten wird bis ein Bestätigungssignal von dem Steuerspeicher WCS empfänger, wird. Der Zweck der Taktanhaltung und der Ausgabe der Wartesignale an die Zentraleinheit CPU liegt darin, dem System genug Zeit zu lassen/um die verschiedenen Übertragungen und logischen Operationen ausführen zu können. Beispielsweise sind während dem Auslöse-Anweisungsfluss gemäß Figur 11 keine
030016/0718
Warteantworten oder Taktanhaltungen erforderlich, da diese Anweisung keine besondere Zeit für ihre Operation benötigt. Andererseits beanspruchen manche Operationen bis zu drei solcher Anhalteoperationen/um die erforderliche Zeit für derartige logische Operationen bereitzustellen. Die RAM-Eintritts- und Austritts-Anweisungsflüsse erfordern eine Anhalteoperation und die RAM-Leseoperation erfordert drei solcher Anhalteoperationen.
Wie gerade erläutert erfordert die RAM-Schreiboperation zwei solcher Anhalteoperationen. Aufgrund des Wartesigna&es gibt somit die Zentraleinheit CPU erneut den Sairanelschienenzyklus aus, und der Steuerspeicher WCS führt parallel hierzu die angezeigte Operation aus. Insbesondere wird die Schreiblogik für den Betrieb bereitgestellt, worauf der Saramelschienen-Adresszähler 68 ausgewählt wird,um den Speicher RAM zu adressieren und freizugeben. Parallel hierzu erhält der Steuerspeicher WCS von der Zentraleinheit das Signal BSDCNN über die Sammelschiene 14 zugeführt, woraufhin die Kanalnummer erneut decodiert wird und ein weiteres Wartesignal an die Zentraleinheit CPU ausgegeben wird. Erneut wird der gleiche Sammelschienenzyklus von der Zentraleinheit CPU neu ausgegeben. Nach der Decodierung der Kanalnummer zum dritten Mal wird von dem Steuerspeicher WCS eine ACK-Bestätigungsantwort an die Zentraleinheit CPU abgegeben. Parallel hierzu werden die Daten in den freigegebenen RAM-Speicher geschrieben, worauf dieser gesperrt wird und der Erhöhungs-Adresszähler 7o fortgeschaltet wird.
Figur 14 veranschaulicht das Flussdiagramm für die RAM-Lesewort-Anweisung. Wie zuvor aufgezeigt, werden während einer solchen Anweisung drei Warteantworten ausgegeben, die in der gleichen Weise wirken wie jene, die bei der RAM-Schreibwort-Anweisung ausgegeben werden,mit der Ausnahme, daß eine extra Warteantwort vorliegt, d.h. es gibt eine gesonderte Neuausgabe des Sammelschienenzyklus durch die Zentraleinheit CPU. Während der Zeit, in der diese sogenannten Anhalteoperationen stattfinden, wählt der Steuerspeicher WCS den Sammelschienenadresszähler 68 aus, um den Speicher RAM zu adressieren und den Speicher PROM der Zentraleinheit CPU zu sperren. Ferner wird das 16 Bit-Datenwort aus
030016/0718
dem zu lesenden Firmwarewort ausgewählt und in das Daten-Ausgaberegister 84 eingetastet, nachdem der Erhöhungs-Adresszähler 7o erhöht wurde. Während dieser Zeit werden die zusätzlichen Warteantworten an die Zentraleinheit CPU ausgegeben, die wie bei der Schreibanweisung eine bestimmte InformationsverSchiebung in der sogenannten Verschiebe-Antwortlogik erfordert. Nach einer Bestätigungsantwort ACK gibt der Steuerspeicher WCS eine sogenannte zweite Hälfte des Lesezyklus aus, während welcher Zeit der Steuerspeicher WCS erneut Zugriff auf die Sammelschiene gewinnt, indem er sein Signal BSDCNN an die Sammelschiene ausgibt, worauf die Zentraleinheit CPU eine Bestätigungsantwort ausgibt und das Datenwort in das durch die Zentraleinheit CPU festgelegte Register bzw. Speicher lädt.
Der Eintritts-Anweisungsfluss ist in Figur 15 dargestellt. Wie zuvor aufgezeigt ist nur ein Anhalten durch Verwendung einer Warteantwort erforderlich,um ausreichend Zeit für die logischen Operationen zu schaffen, die im Zusammenhang mit einer solchen Eintrittsanweisung verwendet werden. Anfänglich werden die Daten in das Aufsplitterungs-Adressregister 66 eingetastet, worauf die erste und einzige Warteantwort für die Anweisung ausgegeben wird. Das Aufsplitterungs-Adressregister wird sodann ausgewählt, um den Speicher RAM zu adressieren, worauf dieser freigegeben und der Speicher PROM der Zentraleinheit CPU gesperrt wird. Das erste vom Anwender codierte Firmwarewort wird sodann aus dem Speicher RAM gelesen und legt die nächste RAM-Adresse fest. Dieses 64 Bit-Wort wird an die Zentraleinheit CPU geliefert und in ein internes Register in der Zentraleinheit zu weiteren Verwendung eingetastet. Parallel wird der gleiche Sammelschienenzyklus erneut von der Zentraleinheit CPU ausgegeben und es wird die Kanalnummer durch den Steuerspeicher WCS decodiert, woraufhin die Bestätigungsantwort ACK durch den Steuerspeicher WCS erzeugt wird, welche den Sammelschienenzyklus beendet. Die Eintrittsanweisung wird gespeichert und bis zum nächsten Taktzyklue aufrecht erhalten, wonach sie gelöscht wird. Sodann kann die Anwender-Firmware die Steuerung der RAM-Adressierung übernehmen. Während der Rückkehr zur PROM-Anweisung ist gemäß Figur 16 eine Warteantwort alles, was benötigt wird. Während der Zeit, in der die Zentraleinheit
030016/0718
den gleichen Sammelschienenzyklus erneut ausgibt/ wird der Speicher PROM der Zentraleinheit CPU freigegeben und der Speicher RAM des Steuerspeichers WCS gesperrt. Bei der Decodierung der Kanalnummer gibt sodann der Steuerspeicher WCS eine Bestätigungsantwort ACK aus, wodurch der Sammelschienenzyklus beendet wird. Die Verarbeitung beginnt sodann in der Zentraleinheit CPU unter der Adresse, die durch die Erzeugungslogik für die nächste Adresse der Zentraleinheit CPÜ während der Zeit gebildet wird, in der der erste Sammelschienenzyklus durch die Zentraleinheit CPU ausgegeben wurde. Dies gescheiht nach dem Diagramm gerade nach der Ausgabe des ersten Sammelschienenzyklus.
Es sei nun der grundlegende WCS-Takt und der erweiterte CPU-Taktzyklus erläutert. Der grundlegende WCS-Zeittakt wird von dem CPU-Haupttaktsignal (MCLOCK+) auf der Leitung 64 hergeleitet, der zu dem Steuerspeicher WCS über die festgeschaltete WCS/CPU-Schnittstelle 16 übertragen wird. Drei grundlegende WCS-Taktsignale werden erzeugt: SYSCLK, RSBCAP, DELY9o. Diese Taktsignale stellen sicher, daß die Operationen des Steuerspeichers WCS und der Zentraleinheit CPU synchronisiert sind. In Figur 17 ist die Logik zur Erzeugung dieser WCS-Signale dargestellt.
Das Signal SYSCLK stellt das primäre WCS-Zeittaktsignal dar. Es wird direkt über einen Puffer 1oo erzeugt und folgt daher genau dem CPU-Haupttaktsignal MCLOCK+. Diese= primäre WCS-Signal wird benutzt, um die anderen Basis-Taktsignale zu erzeugen, um die Felder NA und BR des aus dem Speicher RAM gelesenen Steuerwortes zu speichern und um den Erhöhungs-Adresszähler MCNT-7o zu erhöhen.
Das Signal RSBCAP wird 6o ns nach dem primären Signal SYSCLK+ über eine Verzögerungsleitung 1o2 erzeugt. Seine primäre Verwendung liegt in dem Eintakten erhöhter Adressen aus dem Erhöhungs -Adresszähler MCNT-7o in das Rückkehrregister RSBA-72. Der Takt RSBCAP setzt ebenfalls das Zyklus-Steuer-Flip-Flop 1o4/welchesseinerseits über ein ODER-Gatter 11o die Verzögerungs-
030016/0718
leitung 1o2 erneut in Betrieb setzt und somit ein um 9o ns verzögertes Signal zum Laden des Zählers MCNT-7o erzeugt. Wenn jedoch eine Eintrittsanweisung gespeichert ist (SPCONT)/ so wird das anfängliche Eingangssignal in die Verzögerungsleitung (LINEIP) über Logikelemente gesperrt, wobei diese durch das UND-Gatter 1o6 und das ODER-Gatter 1o8 vorgegeben sind. Das Signal RSBCAP- wird somit nicht erzeugt und es wird daher das Laden des Registers RSBA-72 und des Zählen MCNT-7o verhindert.
Das Signal DELY9o+ wird über das ODER-Gatter 112 9o ns nach dem primären Taktsignal SYSCLK+ nur dann erzeugt, wenn eine Eintrittsanweisung nicht gespeichert ist. Sein Zweck liegt darin, die Adresse in den Erhöhungs-Adresszähler MCNT-7o zu takten, die für den Zugriff auf den Speicher RAM 24 benutzt wird.
Wenn der RAM-Speicher 24 des Steuerspeichers WCS freigegeben ist (Anwender-Firmware aktiv), so wird jeder CPU-Firmwarezyklus um zusätzliche 8o ns erweitert. Dies geschieht gemäß Figur 18 durch Anhalten des CPÜ-Taktes um 8o ns während jedes CPU-Zyklus. Der CPU-Takt wird gesperrt/wenn das Signal PLUPTB auf den niedrigen Pegel geschaltet wird. Wenn das Testgerät 26 installiert ist, so wird dieses Signal in dem Testgerät erzeugt und dazu verwendet, den CPU-Takt anzuhalten und zu starten. Wenn das Testgerät nicht installiert ist, so wird ein PLUPTB-Flip-Flop 114 in dem Steuerspeicher WCS benutzt/um den CPU-Zyklus zu erweitern. Der erweiterte Zyklus wird gebildet, indem das Flip-Flop 114 für 8o ns in jedem CPU-Zyklus gelöscht wird. Wenn das Signal PROMCE am Eingang des Inverters 116 den niedrigen Pegel aufweist (RAM ist freigegeben),so taktet das CPü-Zeittaktsignal CDHOOO-auf der Leitung 118 das PLUPTB-Flip-Flop 114 auf den niedrigen
wird
Pegel. Hierdurchveine 8o ns-Verzögerungsleitung 12o über ein ODER-Gatter 122 in Betrieb gesetzt. Das Flip-Flop 114 bleibt gelöscht und dadurch wird der CPU-Takt angehalten, bis die 8o ns-Verzögerung abgelaufen ist. Am Ende der Verzögerung nimmt das Signal ENDCDH-, das über den Inverter 126 und das ODER-Gatter abgegeben wird, den hohen Pegel ein und setzt das Flip-Flop 114 auf den hohen Pegel, wodurch der CPU-Takt erneut gestartet wird.
030016/0718
Der CPU-Zyklus wird jedesmal erweitert,wenn das Signal CDHOOO erzeugt wird, wobei dies solange geschieht bis die CPÜ-Firmware erneut die Steuerung übernimmt/ was durch den hohen Pegel des Signales PROMCE signalisiert wird.
Wenn entweder eine RAM-Lese- oder eine RAM-Schreibanweisung an den Steuerspeicher WCS ausgegeben wird, so wird ein Lese/Schreib-Tastimpuls WRITIM erzeugt. Dieser Tastimpuls ist erforderlich aufgrund der asynchronen Natur der Sammelschiene 14 und um sicherzustellen, daß die WCS-Adressier- und Ausgangsauswahllogik geschaltet ist;bevor Daten in den Speicher RAM oder auf die Sammelschiene 14 getastet werden. Kein spezieller Zeittakt wird jedoch für ein Firmwarewort erzeugt, das von dem Speicher RAM gelesen wird und direkt zu der Zentraleinheit CPU-12 über die festgeschaltete WCS/CPU-Schnittstelle 16 gesendet wird. In diesem Fall wird das normale CPU-Steuerspeicher-Tastsignal MCLOCK benutzt. Der Lese/Schreib-Anweisungstakt wird durch zwei Monoflops 128 und 13o und eine Verzögerungsleitung 132 gebildet, wie dies in Figur 19 dargestellt ist. Wenn entweder eine RAM-Lese- oder Schreibanweisung in den Flip-Flops 134 oder 136 gespeichert ist und der Sammelschienen-Tastzeittakt MYADD2 am Eingang des UND-Gatters 138 vorliegt, so werden über das ODER-Gatter 14o beide nachgeschalteten Monoflops 128 und 13o geschaltet. Das Signal BUSKIL+ und seine Umkehrung BSCNCK+ wählen den Sammelschienen-Adresszähler 68 aus, um den Speicher RAM zu adressieren. 195 n6 später verschwindet das Signal WRIDEL+ des Monoflops 13o, wodurch das Signal WRITIW am Ausgang des UND-Gatters 146 über das Flip-Flop 142 und den Inverter 144 auf den hohen Pegel geschaltet wird, und der hohe Pegel durch die Verzögerungsleitung 132 für eine Dauer von 4o ns vorgegeben wird. Dieser 4o ns-Tastimpuls ruft die Erzeugung des Signales DOCLCK am Ausgang des UND-Gatters 148 hervor, wenn eine Leseanweisung gespeichert ist bzw. es gibt den Schreibimpulsdecodierer 15o über das UND-Gatter 152 frei,wenn eine Schreibanweisung gespeichert ist. Der Decodierer 15O^der in der Schreibsteuerlogik 89 enthalten ist^erzeugt einen von vier möglichen Schreibwortimpulsen BTWR11-14(wobei der jeweilige Schreibwortimpuls durch die niedrigrangigen Adressbits SADDOO, SADD01 vorgegeben wird, die in dem Sammelschienen-Adresszähler 68 ge-
030016/0718
speichert sind. Nach Ablauf von 27o ns schaltet das Monoflop 128 zurück, wodurch der Saironelschienen-AdresszShler 68 zur Erhöhung auf die nächste Wortadresse freigegeben wird.
Um auf den Speicher mit wahlfreiem Zugriff des Steuerspeichers WCS Zugriff zu nehn\en,muß die Adresse das in Figur 2o dargestellte Format aufweisen. Das Bit 0 der RAM-Adresse muß den Wert "1" aufweisen, womit angezeigt -..Ij-J, daß dies eine WCS-RAM-Adresse ist. Es liegt in der Verantwortlichkeit des Anwenders/ sicherzustellen, daß das Bit 0 den hohen Pegel in jeder Startadresse aufweist, die anfänglich in den Saramelschienen-Adresszähler 68 über eine WCS-Ladeanweisung geladen wird. Den gleichen Wert muß diese Bit für alle RAM-Adressen aufweisen, die in dem Feld für nächste Adresse NA in jedem Anwender-Firmwarewort codiert ist. Die WCS-Logik wird verwendet, um das Bit 0 auf den hohen Pegel zu setzen, wenn die Anwender-Firmware aktiv ist oder wenn eine Eintrittsanweisung bearbeitet wird. Die Bits 0 und 1 werden benutzt,um den Speicher RAM-24 freizugeben. Wenn das Bit 0 den Wert "0" aufweist, so sind beide RAM-Speicher gesperrt. Das Bit 1 legt fest, welcher RAM-Speicher freigegeben ist (z.B gibt das Bit 1 den ersten Speicher bei niedrigem Pegel und den zweiter. Speicher bei hohem Pegel frei). Die Bits 2 bis bilden die Zugriffsadresse, die an die RAM-Speicher gesendet wird. Die WCS-Logik wählt die Adresse aus und gibt die RAM-Adressen an die RAM-Speicher. Die abgegebene Adresse wird durch zwei Adressenmultiplexer ausgewählt, die durch den Direktadressenmultiplexer DADD-76 und den Auswahladressenmultiplexer SELA-74 gemäß Figur 3 vorgegeben sind. Diese ausgewählte Adresse kann von der Erzeugungslogik für dia nächste Adresse in der Zentraleinheit CPU oder von bestimmten Registern und Zählern innerhalb des Steuerspeichers WCS kommen^wie dies in Figur 3 dargestellt ist.
Der Direktadressenmultiplexer DADD-76 wählt die endgültige Adresse aus, die an die RAM-Speicher geliefert wird. Diese Adresse kann entweder am Ausgang des Sprungadressregisters JADD-78, das das NA-FeId des Firmwarewortes speichert,oder vom Ausgang des Auswahladressenmultiplexers SELA-74 ausgewählt werden, wobei der letztgenannte Multiplexer die Adressen von verschiedenen Quellen
030016/0718
auswählt. Das Sprungadressregister 78 wird nur ausgewählt, wenn der Steuerspeicher WCS im Folgemodus arbeitet und eine Verzweigung zu dem NA-FeId gefordert ist. In allen anderen Fällen wird der Ausgang des Multiplexers SELA-74 ausgewählt. Die Auswahl des Multiplexers DADD-76 wird durch das niedrigrangigste Bit der nächsten Adresse festgelegt/ das über die Leitung 94 empfangen wird. Die auf diese Weise ausgewählte Adresse wird in erster Linie durch die CPU-Firmware-Testlogik gesteuert. Während jedes Firmwarezyklus werden die BR-(Verzweigungscode) und die TC-(Testzustand)-Felder des adressierten Firmwarewortes durch die normale CPU-Firmware-Testlogik überprüft. Wenn diese CPU-Logik feststellt, daß eine Verzweigung zu dem NA-FeId gefordert ist, so informiert sie davon den Steuerspeicher WCS/ indem sie das Signal NAG011 auf der Leitung 9o auf den hohen Pegel setzt. Das Sprungadressregister wird somit für den Ausgang des Multiplexers DADD-76 ausgewählt. Wenn jedoch eine Verzweigung vom Verbindungstyp aus dem Firmwarewort decodiert wird, oder wenn sich der Steuerspeicher WCS im Transparenzmodus befindet, so wird der Multiplexer SELA-74 mit seinem Ausgangssignal ausgewählt, um den Speicher RAM unabhängig von dem Ausgangssignal der CPU-Testlogik zu adressieren.
Um die Stabilität der Eingangssignale des Multiplexers 76 und eine ausreichende Zeit für die RAM-Adressenerezeugung sicherzustellen, wird das NA-FeId des adressierten Firmwarewortes in das WCS-Sprungadressregister JADD-78 zu Beginn eines jeden Firrowarezyklus SYSCLK eingetaktet, wie dies aus Figur 3 hervorgeht. In gleicher Weise werden die BR-Bit 1,2 und 3 des Firmwarewortes, die die Auswahl des Multiplexers SELA-74 steuern(mit dem gleichen Zeittaktsignal SYSCLK in WCS Flip-Flops 16o und 162 gespeichert. Da dieses Zeittaktsignal direkt von dem CPU-Haupttakt MCLOCK abgeleitet wird, ist die Erzeugungslogik für die nächste Adresse in der Zentraleinheit CPU und die Adressenlogik des Speichers RAM im Steuerspeicher WCS immer synchronisiert.
Der Multiplexer MELA-74 wählt die Zugriffsadresse auf den WCS-RAM-Speicher in allen Fällen aus/mit Auenahme^enn eine Verzweigung auf das NA-FeId eines Firmwarewortes gefordert ist.
030016/0718
-41' 293892?
Wenn jedoch eine Verzweigung auf das NA-FeId gefordert ist, so übersteuert der Multiplexer DAJDD-76 den Multiplexer SELA-74, indem er den Inhalt des Sprungadressregisters 78 (NA-FeId) an die RAM-Speicher abliefert.
Gemäß Figur 21 wird das Ausgangssignal des Multiplexers 74 durch den Binärcode von Steuerfunktionen MUXSL4, MUXSL2 und MUXLS1 an den Ausgängen entsprechender In^-rter T64 und ODER-Gatter 166 und 168 festgelegt. Der Eingang des Inverters 164 ist an den Ausgang eines ODER-Gatters 17o angeschlossen, wobei dieses Ausgangssignal ebenfalls auf UND-Gatter 172 und 174 einwirkt, die die Ausgänge der Flip-Flops 16o und 162 mit den ODER-Gattern 168 und 166 verbinden. Dem ODER-Gatter 17o werden die Anweisungen des Decodierers 34 zugeführt. Der ausgewählte Code wird entsprechend der Betriebsweise des Steuerspeichers erzeugt. Für die Zwecke der Erzeugung des Auswahlcodes kann der WCS-Betriebszustand entweder ein durch Firmware gesteuerter Betriebszustand oder ein Betriebszustand mit RAM-Zwangsadresse sein. In einem durch die Firmware gesteuerten Betriebszustand wird der Auswahlcode direkt aus dem BR-FeId des Firmwarewortes erzeugt und ist für einen Firmwarezyklus gültig. In einem Betriebszustand mit RAM-Zwangsadresse wird das BR-FeId unterdrückt, und der Auswahlcode wird entsprechend den spezifischen WCS-Anweisungen bzw. dem in dem Steuerspeicher WCS gespeicherten Betriebszustand gesetzt. Der durch ainen Betriebszustand mit RAM-Zwangsadresse erzeugte Auswahlcode ruft die Gültigkeit des Firmwarezyklus solange hervor wie der Zwangszustand vorliegt. Jeder durch einen Betriebszustand mit Zwangeadresse erzeugte Auswahlcode besitzt Priorität über einen Auswahlcode (der^durch die Firmware gesteuert/erzeugt wird.
Jeder der unten aufgelisteten Zustände zeigt an, daß eine Betriebsweise mit RAM-Zwangsadresse vorliegt. Jeder Zustand erzeugt einer, eindeutigen Auswahlcode und ruft daher die Auswahl einer spezifischen Eingangadresse durch den MultiplexerSELA-74 hervor. Die RAM-Zwangsadresszustände sind folgende:
eine WCS-Lese- bzw. eine RAM-Schreibanwelsung wird
030016/0718
in dem Steuerspeicher WCS ausgeführt (dieser Zustand liegt vor, wenn das Lese/Schreib-Monoflop-Zeittaktsignal BUSKIL/BSCMCK wirksam ist);
eine Eintrittsanweisung wird durch den Steuerspeicher WCS bearbeitet (die Anweisungs-Decodierfunktion SPCONT zeigt diesen Zustand an); und
der Steuerspeicher WCS befindet sich im Transparenzmodus d.h. das Signal TRANSP besitzt den hohen Pegel.
Ein durch die Firmware gesteuerter Auswahlcode wird erzeugt/ wenn kein Zustand mit RAM-Zwangsadresse vorliegt. Dies kann nur der Fall sein, wenn der Steuerspeioher WCS im Folgemodus betrieben wird, wobei in diesem Fall die durch den Multiplexer SELA-74 ausgewählte Adresse nur von drei Quellen stammen kann: dem ErhöhungszShler MCNT-7O, dem Rückkehr von der Subroutine-Register RSBA-72 und von einem Register innerhalb der Zentraleinheit CPU-12, dem sogenannten CPU-Verbindungsregister. Das Ausgangssignal des CPU-Verbindungsregisters wird auf der NAG Leitung 94 auf den hohen Pegel gesetzt, wenn die CPU-Logik eine Verzweigung vom Verbindungstyp in dem BR-FeId des Firmwarewortes decodiert. Da nur drei Quellen ausgewählt werden können, sind nur zwei Bits des BR-Feldes (MEMD5o und MEMD49) erforderlich,um den Auswahlcode zu erzeugen.
Das Aufsplitterungs-Adressregister, das in näheren Einzelheiten in Figur 22 gezeigt ist, liefert eine temporäre Speicherung des Aufgabenwortes, das über die Datenleitungen der Sammelschiene zugeführt wird, wenn eine Eintrittsanweisung an den Steuerspeicher WCS ausgegeben wird. Dieses Wort wird benutzt, um die RAM-Adresse für den Eintritts-Firmwarezyklus zu liefern. Es ist erforderlich, das Aufgabenwort zu speichernde die Sammelechienendaten nicht während des gesamten Firmwarezyklus gültig •ind. Am Beginn des nächsten Firmwarezyklus SYSCLR wird der Inhalt des Aufsplitterungsregisters auf den Binärwert "0" gelöscht. Im folgenden sei die Betriebsweise dieses Registers
030016/0718
beschrieben. Wenn eine Eintrittsanweisung an den Steuerepeicher WCS ausgegeben wird, so nimmt der Funktions-Aufsplitterungstakt SPLCLK am Ausgang des UND-Gatters 180 den hohen Pegel beim Auftritt des Tast-Zeittaktsignales MYADD2 für die Sammelschiene 14 ein. Der Impuls SPLCLK ruft zwei Dinge hervor: zunächst wird das Flip-Flop 182 für die Speicherung der AufSplitterungsanweisung gesetzt. Dieses Flip-Flop setzt einen Auswahlcode auf den Steuerleitungen des Multiplexers SELA-74. Das AufSplitterungsregister wird somit ausgewählt um den Speicher RAM zu adressieren. Sodann wird das Aufgabenwort auf den Sammelschienenleitungen BSDTO9, BSDT12 bis BSDT15 in die Bitpositionen SADSEL, SPADO3 bis SPADOO des AufSplitterungsregisters 66 entsprechend eingetastet. Der Ausgang dieses Registers ist mit dem Multiplexer SELA-74 verbunden und bildet über diesen die RAM-Adresse. Durch diese Adresse wird auf den Speicher RAM Zugriff genommen, da das Signal SPCONT gesetzt ist. Beim Beginn des nächsten Finnwarezyklus (Zeittaktsignal SYSCLK schaltet auf den hohen Pegel um) wird das Aufsplitterungs-Lösch-Flip-Flop 184 gesetzt. Hierdurch wird über das ODER-Gatter 186 das Flip-Flop 182 und somit das Signal SPCONT gelöscht, wodurch ein neuer Auswahlcode erzeugt werden kann,und der Inhalt des Aufsplitterungsregisters wird ebenfalls auf den Binärwert "0" zurückgestellt. Das Flip-Flop 184 wird während des nächsten Firmware-Zyklus zurückgestellt.
Gemäß Figur 23 besteht der Erhöhungs-Adresszähler MCNT-7o aus einem 12 Bit-Aufwärtszähler, der bei jedem Firmwarezyklus eine erhöhte RAM-Adresse liefert. Die Betriebseise dieses Zählers erfolgt synchronisiert, d.h.^aB ein Taktimpuls CNTR3C für das Laden bzw. für die Zählstandserhöhung erforderlich ist. Im Folgenden sei die Betriebsweise des Zählers 7o beschrieben. Beim Beginn eines jeden Firmwarezyklus SYSCLK wird der Inhalt des Zählers MCNT-7o durch den Taktimpuls CNTR3C fortgeschaltet. Dieser Taktimpuls wird über die ODER-Gatter 19o und 192 und das UND-Gatter 194 erzeugt. Das erhöhte Ausgangssignal MCNTOO-11 wird an den Auswahladressenroultiplexer SELA-74 gesendet. Die Adresse des Zählers MCNT-7o kann als RAM-Speicheradresse ausgewählt werden, wenn der geeignete Auswahlcode erzeugt wird. Die erhöhte
030016/0718
Adresse wird ebenfalls zu dem Rückkehr von der Subroutine-Register RSBA-72 gesendet. Sie wird durch Verwendung des Signales RSBCAP und des UND-Gatters 196 in das Register 72 6o ns nach der Erhöhung des Zählers 7o eingetastet, sofern sich nicht die Finnware bereits in einer Subroutine befindet. Die Verzögerung stellt sicher, daß der Zähler MCNT-7o einen stabilen Zählstand aufweist bevor er eine Rückkehradresse auf eine Subroutine speichert. 9o ns nach dem Beginn eines jeden Firmwarezyklus ist die RAM-Adressierlogik stabil und die RAM-Adresse am Ausgang des Multiplexers DADD-76 ist gültig. Zu dieser Zeit wird ein Ladeimpuls LMCNTR über die UND-Gatter 198 und 2oo sowie den Inverter 2o2 erzeugt, um die neue RAM-Adresse in den Erhöhungszähler MCNT-7O zu laden. Diese Adresse kann entweder die erhöhte Adresse des Zählers MCTN-7o sein oder durch den Inhalt des Registers RSBA-72 oder irgendeine andere Adresse vorgegeben sein, die durch die RAM-Adressenmultiplexer 74 und 76 ausgewählt wird. Der Zähler MCNT-7O kann asynchron durch das Auslösesignal INMCLR gelöscht werden.
Das Rückkehr von der Subroutine-Register RSBA-72 speichert die Rückkehradresse für den Steuerspeicher WCS, wenn eine Verzweigung auf eine Firmwaresubroutine ausgeführt wird. Figur 23 veranschaulicht ebenfalls die detaillierte RSBA-Logik. Der Ausgang des Registers RSBA-72 wird dann ausgewählt, um den Speicher RAM zu adressieren, wenn ein die Rückkehr von der Subroutine betreffender Microbefehl bearbeitet wird. Die erhöhte Adresse des Zählers 7o wird in dieses Register 72 bei jedem Firmwarezyklus geladen, mit Ausnahme/wenn die Firmware eine Subroutine bearbeitet. Dies geschieht durch Sperrung der Ladefunktion RSBRCK des Registers RSBA-72 während der Bearbeitung einer Subroutine. Wenn somit ein die Rückkehr von einer Subroutine betreffender Microbefehl bearbeitet wird, so wird in den nächstfolgenden Speicherplatz nach dem Speicherplatz eingetreten, der die Verzweigung auf die Subroutine enthält. Das RSBA-Register wird 6o ns (RSBCAP) nach dem Beginn eines jeden Nicht-Subroutinen-Firmwarezyklus durch Verwendung des UND-Gatters 196 geladen. Die Verzögerung stellt sicher, daß der Inhalt des
030016/0718
Zählers MCNT-7o stabil ist, bevor die Rückkehradresse gespeichertwird. Das Flip-Flop 212 verhindert mit seinem Signal RSTBRA die Änderung des Inhalts des Registers 72 während Subroutinenoperationen. Wenn eine Verzweigung auf einen Subroutinen-Microbefehl durch das UND-Gatter 216 festgestellt wird (MUXBR1 . MUXBR2 . NAG11) so wird das Flip-Flop 212 gesetzt und sperrt über das UND-Gatter 196 die Ladefunktion RSBRCK. Wenn an den Eingängen der UND-Gatter 218 und 22o eine Verzweigung mit der Rückkehr auf eine Subroutine festgestellt wird (MUXBR1 . MÜXBrI . NAG11), so wird ' über das UND-Gatter 222 das Signal RSTBRA des Flip-Flops 212 gelöscht, wodurch die Speicherung einer neuen Adresse in dem Register RSBA-72 ermöglicht wird. Dies geschieht zum Beginn des nächsten Firmwarezyklus SYSCLK.
Die System-Sammelschiene 14 bildet die Schnittstelle, die von der Zentraleinheit CPU und anderen Einheiten benutzt wird(um einen Dialog untereinander auszuführen. Alle von der Zentraleinheit CPU ausgegebenen WCS-Anweisungen werden an den Steuerspeicher WCS über diese Sammelschiene übertragen, während der Steuerspeicher WCS nur Daten an die Zentraleinheit CPU über diese Sammelschiene überträgt. Der Steuerspeicher WCS führt keinen direkten Dialog mit dem Hauptspeicher durch. Alle Operationen auf der Sammelschiene 14 erfolgen asynchron und der Dialog findet auf einer Haupt/Nebenbasis statt. Die Haupteinheit fordert einen Sammelschienenzyklus an und überträgt die Kanalnummer und Dateninformation zu der Nebeneinheit. Umgekehrt bestätigt die Nebeneinheit ihre Kanalnummer und antwortet mit dem geeigneten Antwortsignal. Das Antwortsignal beendet den Sammelschienenzyklus. Wenn kein Anwortsignal ausgegeben wird, so beendet ein Zeitablauf den Sainmelschienenzyklus.
Ee sind zwei Sammelschienenzyklen erforderlich um Information von dem Steuersp«icher WCS zu lesen. Im ersten Zyklus bildet die Zentraleinheit CPU die Haupteinheit und gibt die Leseanweisung an den Steuerspeicher WCS aus,um Daten anzufordern. Im zweiten Sammelschienenzyklus wird der Steuersp«icher WCS zur Haupteinheit und übertragt die angeforderten Daten zu der Zentraleinheit CPU. Die drei Anweisungen an den Steuerspeicher WCS, die die
030016/0718
beiden Sammelschienenzyklen erzeugen sind folgende:1. Eingangsstatus-Anweisung, 2.Eingangsidentifikations-Anweisung und 3. RAM-Lese-Anweisung. Nur ein Sammelschienenzyklus ist erforderlich ujn eine Schreib- oder irgendeine andere Anweisung an den Steuerspeicher WCS auszugeben. In diesem Fall ist die Zentraleinheit CPU immer die Haupteinheit und alle erforderliche Information wird zu dem Steuerspeicher WCS in einem Sammelschienenzyklus übertragen. Eine vollständige Beschreibung der Sammelschiene 14 kann der US-PS 3.9 93.981 entnommen werden. Die Sammelschienen-Steuersignale, die dort beschrieben sind, seien hier kurz wiedergegeben.
Es gibt sieben Haupt-Sairanelschienensignale, die den Betrieb der Sammelschiene steuern. Eine Beschreibung dieser Signale im Hinblick auf den Steuerspeicher WCS sei nachstehend gegeben. Jedes Signal weist den hohen Pegel auf t wenn seine Sammelschienenleitung an Masse gelegt ist.
BSREQT (Bus Request * Sammelschienenanforderung)- Wenn dieses Signal den hohen Pegel besitzt, so zeigt es an, daß irgendeine Haupteinheit einen Sammelschienenzyklus anfordert. Dieses Signal wird nur durch den Steuerspeicher WCS auf den hohen Pegel geschaltet,wenn die zweite Hälfte eines Sammelschienenzyklus angefordert wird.
BSDCNN (Data Cycle Now = jetzt Datenzyklus) - Dieses Signal zeigt bei hohem Pegel an, daß eine Haupteinheit Information auf der Sammelschiene für eine Verwendung durch eine bestimmte Nebeneinheit abgibt. Wenn der Steuerspeicher WCS nicht fiie Haupteinheit ist, so muß er nun bestimmen*., ob er die adressierte Nebeneinheit ist und die Antwort an die Haupteinheit festlegen. Die drei möglichen Antwortsignale sind: BSACKR, BSWAIT und BSNAKR. Während einer zweiten Hälfte des Lesezyklue bildet der Steuerepeicher WCS die Haupteinheit und setzt das Signal BSDCNN auf den hohen Pegel, wenn gültige Daten an die Zentraleinheit CPU übertragen werden. Die drei möglichen Antworten sind nachstehend näher beschrieben:
030016/0718
BSACKR (Acknowledge Response * Bestätigungsantwort) - Der Steuerspeicher WCS setzt dieses Signal auf den hohen Pegel,um die Zentraleinheit CPü (Haupteinheit) davon zu informieren, daß er die gegenseitige übertragung auf der Sammelschiene annimmt.
BSWAIT (Wait Response ■= Warteantwort)- Der Steuerspeicher WCS setzt dieses Signal auf den hohen Pegel,um die Haupteinheit davon zu informieren, daß der Steuer Gg>«lcher WCS mehr Zeit benötig^ um die Anweisung zu vervollständigen. Dies veranlaßt die Haupteinheit zur Neuausgabe des Sammelschienenzyklus. Der Steuerspeicher WCS erzeugt Warteantworten bei folgenden Anweisungen: 1. Eintrittsanweisung, 2. RAM-Austrittsanweisung, Rückkehr zur PROM-Steuerung-Anweisung und 3. RAM-Lese/ bzw. Schreibanweisung.
BSNAKR (Negative Response = Negative Bestätigungsantwort) der Steuerspeicher WCS setzt dieses Signal auf den hohen Pegel, um die Haupteinheit davon zu informieren, daß er einen Fehler festgestellt hat und die Sammelschienenübertragung nicht akzeptiert. Die folgenden WCS-Zustände erzeugen eine NAK-Antwort: 1. Megabus-Paritätsfehler, 2.festgestellter RAM-Ladefehler und 3. adressiertes nicht existierendes Systemmittel. Der Steuerspeicher WCS erzeugt niemals eine negative Bestätigungsantwort aufgrund der zweiten Hälfte eines Lesezyfclus. Wenn eine negative Bestätigung BSNAKR empfgangen wird, so wird der Steuerspeicher WCS die zweite Hälfte des Lesezyklus nicht anfordern und die Zentraleinheit CPU wird die Daten niemals zugeführt erhalten.
BSMREF (Memory Reference *= Speicherbezugnahme) - Dieses Signal zeigt im gesetzten Zustand an, daß ein Zyklus mit Speicherbezugnahme vorliegt. Der Steuerspeicher setzt dieses Signal auf den niedrigen Pegel während der zweiten Hälfte eines Lesezyklus.
BSSHBC (Second Half Bus Cycle * Zweite Hälfte des Sammelschienenzyklus) - Dieses Signal zeigt an, daß die zweite Hälfte eines Lesezyklus vorliegt. Der Steuerspeicher WCS setzt dieses Signal auf den hohen Pegel, wenn Daten zu der Zentraleinheit CPU übertragen werden.
030016/0718
Wenn die Zentraleinheit CPU eine WCS-Anweisung ausgibt, eo muß der Steuerspeicher WCS mit einem der drei Antwortsignale antworten: 1. BSWAIT (Anhalten der Zentraleinheit CPU7 Neuausgabe der Anweisung), 2.BSACKR (normale Bestätigung, Anweisung akzeptiert), oder 3. BSNAKR (negative Antwort, Anweisung nicht akzeptiert).
Das Signal BSWAIT wird benutzt um die Zentraleinheit CPU anzuhalten und Zeit für den Zugriff auf den Speicher RAM oder zur Umschaltung zwischen der PROM- und RAM-Firmwaresteuerung bereitzustellen. Wie zuvor erwähnt, sind verschiedene Anhaltezeiten für verschiedene Anweisungen erforderlich. Die Anzahl der erzeugten Warteantworten BSWAIT bildet die erforderliche Verzögerung.
Ein Schieberegister 23o wird gemäß Figur 24 benutzt, um die richtige Anzahl von Antworten zu erzeugen. Alle an den Steuerspeicher WCS ausgegebenen Anweisungen setzen irgendein Bit in dem Schieberegister,wenn das WCS-Sammelschienen-Tastsignal MYADD2 über die UND-Gatter 236 und 238 erzeugt wird. Die Anweisungen werden an den entsprechenden Eingängen des Schieberegisters 23o in Abhängigkeit von der Anzahl der erforderlichen Wartestops aufgenommen. Zwei solcher Anweisungen, die die gleiche Anzahl von Stillsetzungen erfordern, werden an dem gleichen Eingang des Schieberegisters 23o über ein ODER-Gatter 24o empfgangen, Wenn die letzte Stufe des Schieberegisters nicht gesetzt ist, so wird eine Warteantwort BSWAIT über ein ODER-Gatter 24 2 erzeugt. Dies ruft die Beendigung des Sammelschienenzyklus und die Erzeugung eines nachfolgenden neuen Sammelschienenzyklus hervor. Jeder neuausgegebene Sammelschienenzyklus erzeugt ein neues Signal MYADD1 und/ da einige Bit zuvor in dem Schieberegister gesetzt sind, wird über das UND-Gatter 234 ein Schiebeimpuls NOSHFT erzeugt. Hierdurch wird das gespeicherte Bit in Richtung auf die letzte Stufe des Schieberegisters 23o verschoben. Wenn das Ausgangssignal PREACK der letzten Stufe nicht gesetzt ist, so wird eine Warteantwort BSWAIT erneut ausgegeben, wodurch ein neuer Sammelschienenzyklus und eine weitere Verschiebung hervor-
030016/0718
gerufen werden. Wenn das Ausgangssignal PREACK gesetzt ist, so wird über das UND-Gatter 244 eine Bestätigungsantwort BSACKR erzeugt. Hierdurch werden die Sammelschienenoperationen beendigt und die Zentraleinheit CPU wird davon informiert, daß der Steuerspeicher WCS die Anweisung angenommen hat.
Wenn ein Fehlerbit in dem WCS-Statusregister gespeichert ist, d.h. wenn das Signal COOLAK vorliegt, und wenn das Signal PREACK vorliegt, so wird eine negative Bestätigungsantwort BSNAKR über die UND-Gatter 246 und 248 ausgegeben, wobei das UND-Gatter 244 mittels des Gatters 246 und des Inverters 25o gesperrt ist. Anweisungen, die das Lesen des Status, das Lesen der Identifikation und das Laden der Adresse oder das Auslösen betreffen, werden niemals durch den Steuerspeicher WCS mit einer negativen Antwort bestätigt. Die negative Antwort beendet die Sammelschienenoperation und informiert die Zentraleinheit CPU davon, daß der Steuerspeicher WCS die Anweisung nicht angenommen hat. Das WCS-Statusregister 88 kann abgefragt werden/um die Natur des Fehlers festzustellen.
Der S&mmelschienen-Adresszähler 68 ist ein 14 Bit-Aufwärtszähle^ der in den Figuren 5 und 25 dargestellt ist. Dieser Zähler speichert die RAM-Adresse, die für den Zugriff auf den Speicher RAM benutzt wird, wenn entweder eine Schreib- bzw.Leseanweisung ausgeführt wird. Er ist ursprünglich mit einer getrennten WCS-Anweisung LDEADD geladen, die an einem Eingang des UND-Gatters 26o aufgenommen und sodann mittels des Signales BSCNCK (siehe Figur 19) jedesmals erhöht wird, wenn eine RAM-Lese- oder Schreibanweisung ausgeführt wird. Da das in einem RAM-Speicherplatz gespeicherte Firmwarewort eine Breite von 64 Bit aufweist, und die Datenleitungen der Systemsairanelschiene nur ein Datenwort mit 16 Bit übertragen können, werden die am wenigsten Signifikaten beiden Bits dieses Zählers (SADDO1, SADDOO) benutzt,um auf das entsprechende Datenwort hinzuweisen. Die binäre Konfiguration dieser Bits verweist auf das Datenwort innerhalb eines Firmware-Wortes, das zu verarbeiten ist. Beim Schreiben in den Speicher RAM legen diese Bits fest, welcher Schreibwortimpule für jede Anweisung erzeugt wird. Beim Lesen des Speichere RAM steuern diese
030016/0718
Bits den Ausgang des Ausgangsdatenselektors 82,wodurch das zu der Zentraleinheit CPU zu übertragende Wort ausgewählt wird. Wenn eine Anfangsadresse in diesen Zähler 68 geladen wird, so weisen diese beiden Hinweisbits den Wert "0" auf. Dies stellt sicher, daß diese Hinweisbite immer auf das erste Datenwort ( Wort Null) verweisen, wenn die erste Lese- oder Schreibanweisung ausgegeben wird, nachdem die Adressen-Ladeanweisung bearbeitet 1st. Die tatsächliche Adresse, die für den Zugriff auf den Speicher RAM benutzt wird, ist in den oberen 12 Bits dieses Registers (CSADOO-CSADH) gespeichert.
Der Sainmelschienen-Adresszähler wird nach jeder bearbeiteten Lese- oder Schreibanweisung fortgeschaltet. 27o ns nach der Speicherung einer Lese- oder Schreibanweisung schaltet das Ausgangssignal BSCNCK des Monoflops 128 (siehe Figur 19) auf den hohen Pegel um, wodurch angezeigt wird, daß das Datenwort entweder aus dem Speicher RAM gelesen oder in den Speicher RAM geschrieben wurde. Diese Umschaltung ruft eine Erhöhung des Sammelschienen-Adresszählers hervor, worauf die Hinweisbits auf das nächste Firmwarewort verweisen. Somit wird bei der Ausgabe der nächsten Lese- oder Schreibanweisung das nächste Datenwort behandelt. Vier Lese- oder Schreibanweisungen werden somit benutzt, um ein vollständiges Firmwarewort zu speichern. Wenn
dies der Fall ist, so erhöht der Zähler automatisch den Zählauf
stand;um*den Speicher RAM an dem nächstfolgenden Speicherplatz Zugriff zu nehmen. Es ist keine neue RAM-Ladeadressanweisung erforderlich.
Wie zuvor erläutert, kann der Steuerspeicher WCS eine Firmwareadresse in einer von zwei Betriebsweisen erzeugen: 1. Normaler Transparenzmodus, 2. Folgemodus. Ein Handschalter 95 in dem Steuerspeicher WCS wird benutzt/um die Betriebsweise des Steuerspeichers WCS auszuwählen. Im Folgemodus werden 3 Bit (63,5o,49) des Firmwarewortes durch den Steuerspeicher WCS interpretiert t um die Quelle der nächsten Firmwareadresse festzustellen. In diesem Folgemodus setzt die WCS-Logik diese Bits (CSNA11, CSBRO1, CSBR02) auf den niedrigen Pegel, wenn sie über die festgeschaltete
030016/0718
WCS/CPU-Schnittstelle 16 an die Zentraleinheit CPU abgegeben werden. Im Transparenzmodus werden diese 3 Bit von dem Speicher RAM gelesen und unverändert an ein Register in der Zentraleinheit CPU-12 abgegeben. Bei dieser Betriebsweise erzeugt die normale Erzeugungslogik für die nächste Adresse in der Zentraleinheit CPU die nächste Firmwareadresse. Das Transparenzmodus-Flip-Flop 27o stellt sicher, daß der Ausgang für die nächste Adresse NAG der Zentraleinheit CPU ausgewählt wird, um den WCS-RAM-Speicher zu adressieren. Der Modusschalter 95 ist in näheren Einzelheiten in Figur 26 dargestellt.Dieser Schalter kann eine hexadezimaler Drehschalter sein. Es sind jedoch nur zwei Schalterstellungen gültig (0 und E). In der Stellung F wird der Folgemodus und in der Stellung 0 wird der Transparenzmodus ausgewählt. Wenn der Schalter 95 den Transparenzmodus auswählt, so wird das Funktionssignal STAB09 an Masse gelegt, wodurch das WCS-Transparenzmodus-Statusbit STAB09 am Ausgang des Inverters 272 den hohen Pegel und das Folgemodus-Statusbit STAB04 am Ausgang des Inverters 274 den niedrigen Pegel einnimmt. In dieser Stellung leitet der Schalter 95 die Ausgangssignale MEMD63, MEMD5O, MEMD49 des Speichers RAM direkt zu dem internen Register des PROM-Speichers in der Zentraleinheit CPU, wobei dies durch die Bits CSNA11, CSBR02 und CSBR01 geschieht.
Wenn der Schalter 95 den Folgemodus auswählt, so schalten die Kontakte aus der in Figur 26 gezeigten Stellung in die jeweils andere Stellung um. Hierdurch wird das Signal PLUP16 am einen Ende des Widerstandes 278 an Masse gelegt, so daß das Folgemodus-Statusbit STAB04 auf den hohen Pegel und das Transparenzmodus-Statusbit STAB09 auf den niedrigen Pegel gesetzt wird. Bei einem niedrigen Pegel des Signales STAB09 werden über das UND-Gatter 282 die Treiber 28o freigegeben. Diese Treiber 28o geben immer ein Ausgangssignal mit niedrigem Pegel aus und sie werden durch den Schalter 95 im Folgemodus ausgewählt/um die Firmwarebits 63,5o und 49 zu liefern. Wenn der PROM-Speicher der Zentraleinheit CPU freigegeben ist, und das Signal PROMCE vorliegt, so werden diese Treiber gesperrt^um das Laden des normalen Ausgangsslgnales des CPU-Steuerspeichere in das interne Register
030016/0718
der Zentraleinheit CPU zu ermöglichen. Das Transparenzroodus-Flip-Flop 27o/das die Adressierung des WCS-FAM-Speichere steuert / wird nicht direkt durch den Transparenzmodusschalter gesetzt, über das UND-Gatter 284 und das Signal SPLCLR wird es in den Zustand des Transparenzmodusschalters nur getaktet, nachdem eine Eintrittsanweieung ausgeführt worden ist. Dies gestattet dem Steuerspeicher WCS den Eintritt in die Anwender-Firmware, und es wird sodann beim allernächsten Taktzyklus SPLCLR die Anwender-Firmware in der durch den Schalter 95 ausgewählten Betriebsweise bearbeitet. Das Flip-Flop 27o wird beim Folgemodus über das ODER-Gatter 286 gelöscht, wenn eine Rückkehr zur PROM-Anweisung decodiert wird (EXITRM) oder ein Auslösesignal (INMCLR) erfasst wird. Wenn das Flip-Flop 27o gelöscht wird, so ist eine weitere Eintrittsanweisung erforderlich, um es erneut zu setzen.
Der Ausgang des CPU-PROM-Firmwarespelchers und der Ausgang des WCS-RAM-Speichers sind am Ausgang des CPU-Steuerspeichers miteinander verbunden. Es muß daher nur einer dieser Speicher zu jedem Zeitpunkt freigegeben sein. GemSß Figur 27 stellt das PROM-Steuerfreigabe-Flip-Flop 3oo in dem Steuerspeicher WCS fest, welcher Speicher freigegeben ist. Wenn das Signal PROMCE des Flip-Flops 3oo gesetzt ist, so ist der CPU-PROM-Speicher freigegeben. Das CPU-PROM-Freigabesignal PROMCE-01 wird über ein ODER-Gatter 3o4 zu der Zentraleinheit CPU-12 übertragen. Dieses Signal wird direkt von dem Flip-Flop 3oo abgeleitet, wobei es mit dem RAM-Lese/Schreib-Zeittaktsignal BSCNCK des Monoflops 128 einer ODER-Verknüpfung unterzogen wird. Diese Verknüpfung stellt sicher, daß der CPU-PROM-Speicher während der Zeit gesperrt ist^nder eine tatsächliche Lese- oder Schreiboperation hinsichtlich des RAM-Speichers auftritt. Wenn das Monoflop 128 zurückkippt und das Signal BUSKIL ausgibt, so wird das Flip-Flop 3oo über das von dem Inverter 3o6 gelieferte Signal PROMDD in einen Zustand gebracht, in dem der Speicher RAM freigegeben ist. Wenn jedoch in Form des Signals BSERRS am Ausgang des ODER-Gatters 3o8 ein Zustand vorliegt, der zwingend eine PROM-Steuerung vorschreibt, so bleibt das Flip-Flop 3oo gesetzt und die CPU-Firmware behält die Steuerung bei. Die folgenden Zu-
030016/0718
stände erzwingen ein Setzen des Flip-Flops 3oo und somit die Freigabe des PROM-Speichers der Zentraleinheit CPU: 1. Wenn die Zentraleinheit CPU einen Hauptfehler (z.B. einen fatalen Speicherfehler, usw.) feststellt, so setzt sie die NAG-Leitungen alle auf den Binärwert "0". Wenn sich der Steuerspeicher WCS im Folgemodus befindet; und er einen NAG-Zustand mit dem Binärwert "0" feststellt, so setzt er das PROM-Freigabesignal KSKILL auf den hohen Pegel. 2. Wenn der Steuerspeic'.ier WCS eine NAK-Antwort erzeugt, so wird die Freigabe des PROM-Speichers erzwungen. Eine NAK-Antwort kann nur erzeugt werden, wenn ein WCS-Fehlerstatusbit gesetzt ist. 3. Wenn eine RAM-Austritts-Steueranweisung EXITRM decodiert wird, so wird die Freigabe des PROM-Speichers erzwungen. 4. Wenn ein Auslösesignal INMCLR erfaßt wird, so wird das Signal PROMCE gesetzt um die CPU-PROM-Steuerung freizugeben.
Es gibt zwei Zustände, die das Löschen des Signales PROMCE aufgrund des Signales RAMLET erzwingen und somit die WCS-RAM-Steuerung freigeben: I.Wenn eine Eintrittsanweisung SPCONT in dem Steuerspeicher WCS gespeichert ist und 2. wenn der Steuerspeicher WCS eine Warteantwort UNDWAT am Eingang des UND-Gatters 312 während der Ausführung einer RAM-Lese- oder Schreibanweisung RAMSEL erzeugt,die am Ausgang des Inverters 314 ansteht.
Das Flip-Flop 32o wird während der Auslösung der erfingungsgemäßen Speichereinrichtung benutzt. Der Löscheingang ist über ein ODER-Gatter 322 an Lösch-, Schreib- und Fehlerzustands-Eingangssignale angeschlossen, wobei jedes dieser Signale eine Verrriegelung herbeiführt, Wenn irgeneiner dieser Verriegelungszustände wirksam ist, so erfolgt eine Rückkehr zur PROM-Operation. Wenn das Flip-Flop 32o gelöscht ist, so zeigt das Signal WCSRDY der Zentraleinheit CPU nicht langer einen aktiven Zustand an, wobei in diesem Fall eine Eintrittsanweisung solange nicht akzeptiert wird,bis derartige Verriegelungszustände gelöscht sind. Der Setzeingang des Flip-Flops 32o ist an einen Funktionscode angeschlossen, der grundsätzlich eine über die Sammelschiene 14 empfangene Ladeanweisung darstellt. Liegt eine inkorrekte oder nicht erfolgreiche Ladeanweisung vor, so übersteuert die Löschmaßnahme die Setzfunktion,und es erfolgt ein Hinweis WCSRDY zu-
030016/0718
rück an die Zentraleinheit CPUy um dieser mitzuteilen, daß der Steuerspeicher WCS nicht bereit ist. Ferner wird für die spätere Verwendung der Zentraleinheit CPU der Zustand eines Statusbits (Bit Nummer 7) in der Statuslogik 88 geändert, wodurch dieser Status der Zentraleinheit CPU zugänglich gemacht wird. Ein solches Statusbit kann in einem späteren Zeitpunkt anzeigen, daß der Steuerspeicher WCS nicht bereit ist, wenn sich tatsächlich ein Fehlerzustand ergeben hat, obgleich das System anfänglich dem Steuerspeicher WCS die Bereitschaft angezeigt hatte. Eine Eintrittsanweisung wird an den Steuerspeicher WCS nicht ausgegeben, wenn das Flip-Flop 32o gelöscht ist. Das Flip-Flop 32o wird gelöscht, wenn in den WCS-RAM-Speicher eingeschrieben wird, ein Auslösesignal erfaßt wird, ein Fehlerzustand erfaßt wird oder wenn eine NAK-Antwort durch den Steuerspeicher WCS empfangen wird. Das Flip-Flop 32o wird nur durch die Ausgabe einer geeigneten Ausgabeanweisung von der Zentraleinheit CPU an den Steuerspeicher WCS gesetzt. Auf diese Weise kann die Zentraleinheit CPU sicherstellen, daß die Anwender-Firmware in dem Steuerspeicher WCS nur mit Erlaubnis der Zentraleinheit CPU bearbeitet wird, d.h. wenn ein Verriegelungszustand anderweitig vorliegt.
Die Logik gemäß Figur 23 veranschaulichte die Art und Weise in der der Erhöhungs-Adresszähler 7o geladen und getaktet wird. Die Logikelemente 19o, 192, 194, 198, 2oo und 2o2 verwirklichen hierbei die Lade- und Taktoperation. Figur 28 veranschaulicht ein anderes Ausführungsbeispiel für diese Logik. Die Logik gemäß Figur 28 ist insbesondere nützlich wegen ihrer extrem schnellen Operation. Wenn beispielsweise eine Adresseam Ausgang des direkten Adressenmultiplexers 76 und demgemäß am Eingang des Zählers 7o, sowie am Adresseneingang des WCS-Firmwarespeichers empfangen wird, so muß diese Adresse geladen und sodann im Zähler 7o innerhalb des gleichen Zyklusjerhöht werden. Zur Lösung des Problems muß eine Zeitperiode während des Zyklus verstreichen,um sicherzustellen, daß sich die Adresse am Ausgang des Multiplexers 76 stabilisiert hat und dementsprechend fehlerfrei ist. Da der Speicher 24 nicht die durch den Zähler 7o benötigte Zeit erfordert, um seine entsprechenden Operationen auszuführen, stellt dieses
030016/0718
Zeitproblem kein Hindernis für den Speicher 24 dar. Der Zähler 7o muß daher auf einen Teil des Zyklus warten,um sicherzustellen, daß die Adresse stabil ist, worauf er vor den» Beginn des nächsten Zyklus diese Adresse .laden und erhöhen muß, wobei die Erhöhung rechtzeitig vor dem Beginn des nächsten Zyklus erfolgen muß.
Gemäß der Logik in Figur 28 wird diese schnelle Operation des Ladens und der darauf folgenden Erhöhung durch die Verwendung eines Verzögerungsgliedes 3 5o verwirklicht, wobei ein einziger Abgriff 36o in der Mitte des Verzögerungsgliedes 35o angeschlossen ist und zusammen mit dem Ausgang des Verzögerungsgliedes einem Exklusiv-ODER-Gatter 354 zugeführt ist, um einen Taktimpuls zu erzeugen. Ein Lade-Freigabesignal wird durch ein NAND-Gatter 352 erzeugt, das drei Eingänge aufweist. Ein Eingangssignal wird^iem Ausgang des Verzögerungsgliedes 35o abge-
ein
nonaneη und*weiteres Eingangssignal wird durch das Auslöse-Zyklussignal gebildet, das kurz von dem Ende des Zyklus empfangen wird und den bevorstehenden Start des nächsten Zyklus anzeigt. Das dritte Eingangssignal wird von dem Ausgang Q eines Flip-Flops erhalten,welches benutzt wird(um sicherzustellen, daß nur ein Zyklus der Logik in Figur 28 aufgrund des Auslöse-Zyklussignal erzeugt wird.
It. Betrieb nimmt nach dem Empfgang des Auslöse-Zyklussignales (Binärwert 1M") das Lade-Freigabeslgnal den Binärwert "0" ein, da die anderen zwei Eingangsignale des Gatters 352 bereits von Anfang an den Binärwert "1" aufweisen. Diese Zustandsänderung von dem Binärwert "1" auf den Binärwert "0" pflanzt sich durch das Verzögerungsglied 35o fort. Wenn ein Binärwert "0" am Abgriff 36o empfangen wird, so schaltet das Taktsignal am Ausgang des Gatters 354 auf den Binärwert "1" um, worauf nach dem Empfgang des Binärwertes "0" am Ausgang des Verzögerungsgliedes 35o das Ausgangssignal des Gatters 354 auf den Binärwert "0" zurückschaltet, wodurch die Erzeugung des Taktsignales beendet wird. Die Rückführung des Ausgangssignales des Verzögerungsgliedes 35o auf das Gatter 352 verursacht bei einem Binarwert "O",daS der Ausgang des Gatters 352 den Binärwert "1" einnimmt,
030016/0711
wodurch das Lade-Freigabesignal beendet und ein Binärwert "1" auf das Verzögerungsglied 35o gegeben wird. Ein weiteres Taktsignal wird erzeugt, wenn der BinSrwert "1" am Abgriff 36o empfangen wird. Dieses zweite Signal endet^wenn das Signal mit dem Binärwert "1" den Ausgang des Verzögerungsgliedes 35o erreicht hat.
Somit wird das Lade-Freigabesignal vor und während der Erzeugung des ersten Taktsignales erzeugt und das gleichzeitige Vorhandensein dieser Signale taktet die Adresse in den Zähler 7o. Wenn das zweite Taktsignal empfangen wird und das Lade-Freigabesignal nicht länger vorliegt wird der Zählstand des Zählers erhöht.
Das Flip-Flop 356 wird benutzt;um sicherzustellen, daß nur ein solcher Operationszyklus der Logik gemäß Figur 28 erzeugt wird. Das Zurückspeicher-Taktsignal,, das unmittelbar vor dem Auslöse-Zyklussignal empfangen wird, wird benutzt/um das Flip-Flop 356 zu löschen. Anfänglich weist daher der Ausgang Q den Binärwert "1" auf. Wenn ein Binärwert "0" am Setzeingang empfangen wird, so wird das Flip-Flop 356 gesetzt und der Ausgang Q schaltet auf den Binärwert "0" um, wodurch ein Binärwert "1" am Auegang des Gatters 352 aufrecht erhalten wird und jegliche weitere Umschaltungen des Binärzustandes gesperrt werden bis zu einer Zeit^in der das Rückspeicher-Taktsignal,gefolgt von dem Auslöse-Zyklussignal/erneut empfangen wird.
030Ö16/071S
Leerseite

Claims (19)

HONEYWELL INFORMATION SYSTEMS INC. 2oo Smith Street < * ^ 1979 Waltham, Massachusetts, USA 51016 86 Ge DV-System Patentansprüche: '"Λ
1.) DV-System, gekennzeichnet durch:
a. eine Zentraleinheit mit einer ersten Steuerspeichereinrichtung zur Speicherung von Steuerworten für die Operationssteuerung dieser Einheit;
b. einen Steuerspeicher mit einer zweiten Steuerspeichereinrichtung zur Speicherung von Steuerworten für die Operationssteuerung der Zentraleinheit;
c. eine Sammelschiene zur Verbindung von Zentraleinheit und Steuerspeicher; ·
d. eine Einrichtung in dem Steuerspeicher zum Empfang einer Adresse von dem Steuerspeicher und von Befehlen und Daten von der Zentraleinheit jeweils über die Sammelschiene;
e. eine Einrichtung in dem Steuerspeicher zur übertragung eines adressierten Steuerwortes von der zweiten Steuerspeichereinrichtung zu der Zentraleinheit über die Sammelschiene;
f. eine erste Einrichtung zum Anschließen der Zentraleinheit zwecks Übertragung einer Adresse für die zweite Steuerspeichereinrichtung im Steuerspeicher; un<j
H2/umw 030016/0718
ORIGINAL INSPECTED
g. eine zweite Einrichtung zum Anschließen des Steuer' Speichers zwecks Übertragung eines adressierten Steuerwortes von der zweiten Steuerspeichereinrichtung zu der Zentraleinheit.
2. System nach Anspruch 1, gekennzeichnet ferner durch:
a. mehrere DV-Geräte;
b. eine Einrichtung zum Anschluß dieser Geräte an die Sammelschiene für die Informationsübertragung zvischen den Geräten, der Zentraleinheit und dem Steuerspeicher; und
c. wobei die erste und zweite Anschlußeinrichtung ausschließlich von der Zentraleinheit und dem Steuerspeicher benutzt werden.
3. System nach Anspruch 1, gekennzeichnet ferner durch:
a. eine die Empfangseinrichtung umfassende Einrichtung zum Laden der von der Zentraleinheit empfangenen Steuerworte in die zweite Steuerspeichereinrichtung; und
b. eine auf einen Lesebefehl der Zentraleinheit ansprechende Einrichtung zur Informationsübertragung von der zweiten Steuerspeichereinrichtung zu der Zentraleinheit/ um der Zentraleinheit eine Prüfung dahingehend zu ermöglichen, ob die durch die Ladeeinrichtung in die zweite Steuerspeichereinrichtung geladenen Steuerworte richtig geladen worden sind.
4. System nach Anspruch 3, dadurch gekennzeichnet, daß die Sammelschiene aufgrund der Bitanzahl nicht in der Lage ist, gleichzeitig ein ganzes Steuerwort zu übertragen und daß eine auf einen Teil der von der Zentraleinheit über die Sammelschiene empfangenen Adresse ansprechende Einrichtung angeordnet ist, um der Reihe nach Teile der
030016/0718
adressierten Steuerworte zu Obertragen bis alle adressierten Steuerworte zu der Zentraleinheit übertragen sind.
5. System nach Anspruch 1, dadurch gekennzeichnet, daß die erste Steuerspeichereinrichtung Steuerworte enthält, die für alle Benutzer der Zentraleinheit allgemein nützlich sind und daß die zweite Steuerspeichereinrichtung Steuerworte enthält, die lediglich für eine begrenzte Klasse von Benutzern nützlich sind.
6. System nach Anspruch 5, dadurch gekennzeichnet, daß der Inhalt der zweiten Steuerspeichereinrichtung durch den Benutzer veränderbar ist.
7. System nach Anspruch 1, gekennzeichnet ferner durch:
a. eine Einrichtung in dem Steuerspeicher zur Adressierung der zweiten Steuerspeichereinrichtung; und
b. eine Einrichtung zur Verbindung der ersten Verbindungseinrichtung mit der Adressiereinrichtung.
8. System nach Anspruch 7, gekennzeichnet ferner durch:
a. mehrere Quellen einschließlich der Adressiereinrichtung und der Empfangseinrichtung zum Adressieren der zweiten Steuerspeichereinrichtung;
b. eine Einrichtung in dem Steuerspeicher für den Empfang eines Auswahlsignales; und
c. eine auf das Auswahlsignal ansprechende Einrichtung zur Auswahl einer der Quellen für die Adressierung der zweiten Steuerspeichereinrichtung.
030016/0718
9. System nach Anspruch 8, dadurch gekennzeichnet, daß die Auswahleinrichtung einen Multiplexer aufweist.
10. System nach Anspruch 8, dadurch gekennzeichnet, daß das Auswahlsignal in der Adresse enthalten ist, die von der Zentraleinheit durch die erste Verbindungseinrichtung empfangen wird.
11. System nach Anspruch 8, dadurch gekennzeichnet, daß die Quellen umfassen:
a. ein erstes Register, dem ein vorbestimmter Teil eines adressierten Steuerwortes von der zweiten Steuerspeichereinrichtung zugeführt wird; und
b. ein zweites Register, das eine Adresse eines Steuerwortes in der zweiten Steuerspeichereinrichtung liefert, wobei die Adresse sequentiell fortschreitet.
12. System nach Anspruch 11, dadurch gekennzeichnet, daß das Auswahlsignal von der Zentraleinheit empfangen wird und einen ersten bzw. zweiten Pegel aufweist, daß eine Einrichtung zur Freigabe der Adressiereinrichtung angeordnet ist, um die zweite Steuerspeichereinrichtung mit dem Inhalt des ersten Registers aufgrund des ersten Pegels des Auswahlsignales zu adressieren, und daß eine Einrichtung zur Freigabe der Adressiereinrichtung angeordnet ist, um die zweite Steuerspeichereinrichtung mit dem Inhalt des zweiten Registers aufgrund des zweiten Pegels des Auswahlsignales zu adressieren.
13. System nach Anspruch 12, dadurch gekennzeichnet, daß das Aaswahlsignal durch die Zentraleinheit aufgrund eines oder mehrerer Tests erzeugt wird.
030016/0718
14. System nach Anspruch 1, gekennzeichnet ferner durch:
a. eine auf eine vorbestimmte Anweisung ansprechende Einrichtung zur übertragung der Steuerung der Zentraleinheit von der ersten Steuerspeichereinrichtung auf die zweite Steuerspeichereinrichtung des Steuerspeichers;
b. eine Einrichtung in dem Steuerepeicher zur Erzeugung eines Ubertragungssignales zur Anzeige, daß die zweite Steuerspeichereinrichtung die Operationssteuerung vervollständigt hat; und
c. eine auf das Übertragungssignal ansprechende Einrichtung in dem Steuerspeicher, um die Steuerung der Zentraleinheit von der zweiten auf die erste Steuerspeichereinrichtung zu übertragen.
15. System nach Anspruch 1, dadurch gekennzeichnet, daß der Steuerspeicher ferner umfaßt:
a. ein Register mit mehreren Positionen einschließlich einer letzten Position, wobei jede Position einen Eingang aufweist und das Register eine Einrichtung besitzt, um einen in einer Position gespeicherten Hinweis in Richtung auf die letzte Position zu verschieben;
b. eine auf einen von der Zentraleinheit empfangenen Befehl ansprechende Einrichtung, um den Hinweis in der erwähnten Position des Registers zu speichern;
c. eine Einrichtung zur Ausführung einer durch den Befehl aufgezeigten Operation, wenn der Hinweis in der letzten Position gespeichert ist;
d. eine Einrichtung zur Aktivierung der Verschiebeeinrichtung, wenn der Hinwels nicht in der letzten Position gespeichert ist;
030016/0718
e. eine Einrichtung,um der Zentraleinheit anzuzeigen, daß eine Anforderung zur Ausführung dieses Befehle während des nächsten verfügbaren Sanunelschienenzyklus ausgegeben werden sollte, falls der Hinweis nicht in der letzten Bitposition gespeichert ist; und
f. eine auf eine wiederholte Anforderung der Zentraleinheit ansprechende Einrichtung zur Befehlsausführung, um die Aktivierungseinrichtung oder Ausführungseinrichtung in Abhängigkeit von der Position des Hinweises freizugeben.
16. System nach Anspruch 15, dadurch gekennzeichnet, daß die Aktivier- und die Hinweiseinrichtung benutzt werden, um das Gerät mit hinreichender Zeit für die Vervollständigung anderer Operationen und zur Vorbereitung auf die Befehlsausführung auszustatten.
17. System nach Anspruch 1, dadurch gekennzeichnet, daß der Steuerspeicher ferner umfaßt:
a. eine Einrichtung zur Operationsfreigabe entweder der ersten oder der zweiten Steuerspeichereinrichtung;
b. eine Einrichtung für den Empfang eines Schreibsignales von der Zentraleinheit zur Anzeige, daß die Zentraleinheit Information in die zweite Steuerspeichereinrichtung schreibt; und
c. eine in der Freigabeeinrichtung enthaltene und auf das Schreibsignal ansprechende Einrichtung zur Sperrung der zweiten und zur Freigabe der ersten Steuerspeichereinrichtung .
18. System nach Anspruch 1, gekennzeichnet ferner durch: a. eine in dem Steuerspeicher enthaltene Einrichtung
030016/0718
zum Sperren des Gebrauchs des Steuerspelchers, wenn Information In die zweite Steuerspeichereinrichtung geladen wird; und
b. eine in dem Steuerspeicher enthaltene Einrichtung zur erneuten Freigabe des Gebrauchs des Steuerspeichers nach dem Laden der Information in die zweite Steuerspeichereinrichtung.
19. System nach Anspruch 1, gekennzeichnet ferner durch:
a. eine Einrichtung in dem Steuerspeicher für die Decodierung des Befehlstypes, wobei der Befehl den Typ der durch den Steuerspeicher auszuführenden Operation anzeigt; und
b. eine Einrichtung in dem Steuerspeicher für die Verzögerung der Operation um eine Zeitperiode/ die mit der Zeit in Beziehung steht, die der Steuerspeicher erfordert, um für die Bearbeitung der durch den Befehlstyp angezeigten Operation bereit zu sein.
030016/0718
DE19792938929 1978-10-02 1979-09-26 Dv-system Granted DE2938929A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US05/947,987 US4236210A (en) 1978-10-02 1978-10-02 Architecture for a control store included in a data processing system

Publications (2)

Publication Number Publication Date
DE2938929A1 true DE2938929A1 (de) 1980-04-17
DE2938929C2 DE2938929C2 (de) 1987-03-19

Family

ID=25487087

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792938929 Granted DE2938929A1 (de) 1978-10-02 1979-09-26 Dv-system

Country Status (12)

Country Link
US (1) US4236210A (de)
JP (1) JPS5549750A (de)
AU (1) AU532568B2 (de)
BE (1) BE878371A (de)
BR (1) BR7903423A (de)
CA (1) CA1116303A (de)
DE (1) DE2938929A1 (de)
FR (1) FR2438298B1 (de)
GB (1) GB2032661B (de)
IT (1) IT1120522B (de)
NL (1) NL7905916A (de)
SE (1) SE444235B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241666A (en) * 1979-06-04 1993-08-31 Unisys Corporation Variable rate improvement of disc cache subsystem
US4399505A (en) * 1981-02-06 1983-08-16 Data General Corporaton External microcode operation in a multi-level microprocessor
US4439827A (en) * 1981-12-28 1984-03-27 Raytheon Company Dual fetch microsequencer
US5239636A (en) * 1988-09-09 1993-08-24 Advanced Micro Devices, Inc. Buffer memory subsystem for peripheral controllers
JPH04305735A (ja) * 1991-04-02 1992-10-28 Mitsubishi Electric Corp マイクロプログラム制御回路
JP3190945B2 (ja) * 1991-04-08 2001-07-23 三菱電機株式会社 マイクロプログラム制御回路
JPH086796A (ja) * 1994-06-15 1996-01-12 Nec Corp ダウンロード方法、そのネットワークシステム、及びデータファイル更新方法
US10824938B2 (en) 2017-04-24 2020-11-03 Intel Corporation Specialized fixed function hardware for efficient convolution

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1774296A1 (de) * 1967-05-23 1971-08-19 Ibm Steuereinheit fuer elektronische Digitalrechner

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828320A (en) * 1972-12-29 1974-08-06 Burroughs Corp Shared memory addressor
US4042972A (en) * 1974-09-25 1977-08-16 Data General Corporation Microprogram data processing technique and apparatus
US4000485A (en) * 1975-06-30 1976-12-28 Honeywell Information Systems, Inc. Data processing system providing locked operation of shared resources
US4044339A (en) * 1975-12-15 1977-08-23 Honeywell Inc. Block oriented random access memory
US4075687A (en) * 1976-03-01 1978-02-21 Raytheon Company Microprogram controlled digital computer
US4045782A (en) * 1976-03-29 1977-08-30 The Warner & Swasey Company Microprogrammed processor system having external memory
US4131941A (en) * 1977-08-10 1978-12-26 Itek Corporation Linked microprogrammed plural processor system
JPS5498125A (en) * 1978-01-20 1979-08-02 Hitachi Ltd Control storage unit of computer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1774296A1 (de) * 1967-05-23 1971-08-19 Ibm Steuereinheit fuer elektronische Digitalrechner

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DE-Buch: Klar, Wichmann "Mikroprogrammierung" Vorlesungsskripten Band 8, Nr. 3, Erlangen, Juni 1975, S. 159 - 169 *

Also Published As

Publication number Publication date
JPS5549750A (en) 1980-04-10
AU532568B2 (en) 1983-10-06
DE2938929C2 (de) 1987-03-19
US4236210A (en) 1980-11-25
SE444235B (sv) 1986-03-24
SE7904063L (sv) 1980-04-03
BE878371A (fr) 1979-12-17
CA1116303A (en) 1982-01-12
IT7950062A0 (it) 1979-08-20
GB2032661B (en) 1983-04-27
BR7903423A (pt) 1980-09-02
JPS6333177B2 (de) 1988-07-04
FR2438298B1 (fr) 1987-12-18
NL7905916A (nl) 1980-04-08
FR2438298A1 (fr) 1980-04-30
IT1120522B (it) 1986-03-26
GB2032661A (en) 1980-05-08
AU5103679A (en) 1980-04-17

Similar Documents

Publication Publication Date Title
DE2856483C2 (de)
DE4305442C2 (de) Verfahren und Vorrichtung zum Erzeugen eines Testvektors
EP0010194B1 (de) Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb
DE2714805C2 (de)
DE2522748C2 (de) Peripheriekopplungsadapter zur Steuerung der Informationsübertragung zwischen einer Datensammelleitung eines Zentralprozessors und daran angeschlossenen peripheren Einheiten
DE69120586T2 (de) Rechnersystem mit synchronem Bus
DE3886529T2 (de) Einrichtung in einem Datenverarbeitungssystem zur System-Initialisierung und -Rückstellung.
DE2251876C3 (de) Elektronische Datenverarbeitungsanlage
DE3751297T2 (de) Schaltung zur Programmsteuerung.
DE1815078C3 (de) Elektronisches Datenverarbeitungssystem
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE3751164T2 (de) Datenprozessor mit verschiedenen Unterbrechungsverarbeitungsarten.
DE3204905C2 (de)
DE2456578C2 (de) Datenverarbeitungsanlage
EP0097725B1 (de) Einrichtung im Befehlswerk eines mikroprogrammgesteuerten Prozessors zur direkten hardwaregesteuerten Ausführung bestimmter Instruktionen
DE3650165T2 (de) Buszustandssteuerungsschaltung.
DE2657848A1 (de) Steuereinheit fuer ein datenverarbeitungssystem
DE2448212A1 (de) Asynchrone sammelleitung zur selbstbestimmten kommunikation zwischen mutterrechnergeraeten und tochtergeraeten
DE2928488A1 (de) Speicher-subsystem
DE1774296B2 (de) Restruktuierbare Steuereinheit für elektronische Digitalrechner
DE2648229A1 (de) Einschaltkreis als urlader fuer digitalrechner
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
EP0134831B1 (de) Einrichtung im Befehlswerk eines Fliessbandprozessors zur Befehlsunterbrechung und -wiederholung
DE2401364A1 (de) Datenverarbeitungssystem
DE2935101C2 (de)

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

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

8339 Ceased/non-payment of the annual fee