-
Die vorliegende Erfindung bezieht sich auf Rechnersysteme und
insbesondere auf das Aktualisieren des Prozessorsteuercodes in
Rechnersystemen.
-
Rechnersysteme enthalten üblicherweise einen Mikroprozessor,
der Eingabe- und Ausgabevorgänge zahlreicher zugehöriger
peripherer Geräte nach einem Schema (oder BIOS, "grundlegendes
Eingabe- und Ausgabesystem") steuert, das als Mikroprogramm in
einem dazugehörigen Speicher gespeichert ist. Wenn sich die
Anforderungen ändern, das Eingabe/Ausgabe-Steuersystem zu
ändern, ist es wünschenswert, das Mikroprogramm zu ändern, mit
dem diese Funktionen durch den Mikroprozessor ausgeführt
werden. Dies wird üblicherweise bewerkstelligt, indem das
Mikroprogramm geändert wird, das den Prozessor steuert. Dies ist
jedoch ziemlich problematisch gewesen.
-
IBM TDB vom März 1990, Bd. 32, Nr. 10A, S. 282 bis 283,
beschreibt eine Technik zum automatisch beim Einschalten
erfolgenden Qnline-Aktualisieren von elektronisch löschbaren
Festspeichern (ROS) an einer Übertragungs-E/A-Prozessor- oder E/A-
Adapter-Karte während des anfänglichen Ladens des
Mikroprogramms (IML). Eine Vergleichsroutine stellt fest, ob eine
Aktualisierung erforderlich ist, und wenn dies der Fall ist,
führt eine Aktualisierungseinrichtung das notwendige
Aktualisieren durch.
-
Als weiteres Beispiel enthalten Speichersteuerungen (oder
"Speichersteuereinheiten"), wie etwa die Einheit 3990, die von
der International Business Machines (IBM) Corporation verkauft
wird, üblicherweise zwei Gruppenanschlüsse, die Zugriff auf
eine einzelne Gruppe von Direktzugriffs-Speichereinrichtungen
(DASDs) gestatten. Jeder der Gruppenanschlüsse befindet sich
an einer getrennten Stromversorgung, und jeder hat die
Fähigkeit, sein eigenes Mikroprogramm zu laden. Jeder
Gruppenanschluss hat zwei Mikroprozessoren, und jeder Mikroprozessor
stellt einen getrennten Pfad zu den Speichereinrichtungen
bereit. Innerhalb jedes Mikroprozessors regelt das Mikroprogramm
den Zugriff des Hauptrechners auf die Speichereinrichtung.
-
Das übliche Verfahren des Aktualisierens des Mikroprogramms in
jedem Gruppenanschluss bewirkt eine Unterbrechung im Betrieb
des Gruppenanschlusses, wenn das Mikroprogramm geladen und der
Gruppenanschluss neu initialisiert wird. Die Verfahrensweise
kann im herkömmlichen-System bis zu einer halben Stunde pro
Gruppenanschluss dauern. In diesem Zusammenhang bedeutet
"unterbrochen", dass der Gruppenanschluss den Zugriff auf die
Daten hinter der Steuereinheit verliert, bis das neue
Mikroprogramm unter Benutzung eines Einschaltens / Wiedereinschaltens
in beide Gruppenanschlüsse geladen worden ist. Daher sind
längerwährende Betriebsunterbrechungen allgemein unerwünscht.
-
Eine andere, aber nicht weniger unerwünschte Verfahrensweise
besteht darin, das Aktualisieren des Mikroprogramms auf kleine
Veränderungen zu beschränken. Dies ist jedoch nicht
durchführbar, wenn bedeutende und wesentliche Veränderungen im
Mikroprogramm anstehen.
-
Damit besteht nach Stand der Technik ein Bedürfnis nach einer
Technologie, ein Mikroprogramm mit minimaler Unterbrechung im
Betrieb eines Steuerprozessors wesentlich zu verändern.
-
Demgemäß stellt die Erfindung ein Verfahren zum automatischen
Installieren eines neuen Prozessorsteuercodes in einem mit
einem alten Prozessorsteuercode laufenden Rechnersystem bereit,
wobei das Verfahren die Schritte enthält:
-
Laden des neuen Codes in das Rechnersystem;
-
Identifizieren von Werten aus einer Vielzahl von
Aktualisierungsvariablen (MIVs) sowohl in dem neuen als auch in dem
alten Code und Vergleichen der Aktualisierungsvariablen in dem
neuen Code mit den entsprechenden in dem alten Code, um
festzustellen, welche Betriebsmittel (58, 60, AWEs) zu steuern
sind, um ein Aktualisieren des Codes zu bewirken; und
-
Veranlassen von Veränderungen in dem Prozessorsteuercode beim
Steuern der Betriebsmittel auf der Grundlage der Ergebnisse
des Vergleiches.
-
Die Variablen beziehen sich auf Betriebsmittel, die von dem
Rechnersystem verwaltet werden. Vorzugsweise enthält das
Verfahren auch den Schritt des Initialisierens des
Rechnersystems, nachdem die Veränderungen in seinem Betrieb vorgenommen
worden sind.
-
Die Erfindung stellt auch eine Vorrichtung zum automatischen
Installieren eines neuen Prozessorsteuercodes in einem mit
einem alten Prozessorsteuercode laufenden Rechnersystem bereit,
wobei die Vorrichtung umfasst:
-
Mittel zum Laden des neuen Codes in das Rechnersystem;
-
Mittel zum Identifizieren von Werten aus einer Vielzahl von
Aktualisierungsvariablen (MIVs) sowohl in dem neuen als auch
in dem alten Code und zum Vergleichen der
Aktualisierungsvariablen in dem neuen Code mit den entsprechenden in dem alten
Code, um festzustellen, welche Betriebsmittel (58, 60, AWEs)
zu steuern sind, um ein Aktualisieren des Codes zu bewirken;
und
-
Mittel zum Bewirken von Veränderungen in dem
Prozessorsteuercode während des Steuerns der Betriebsmittel auf der Grundlage
der Ergebnisse des Vergleiches.
-
Üblicherweise enthält das Rechnersystem viele Prozessoren,
welche die gleichen Geräte steuern, und der neue Steuercode
wird in einem der Prozessoren installiert, die mit dem alten
Steuercode laufen. Ein Beispiel eines derartigen Systems ist
eines, das eine Vielzahl von Speichersteuerungen hat. Es
sollte jedoch wahrgenommen werden, dass die Erfindung in einem
beliebigen Rechnersystem anwendbar ist, das einen Steuercode
benutzt, der von Zeit zu Zeit aktualisiert wird.
-
Die Vorrichtung oder das System installiert bei minimaler
Betriebsunterbrechung automatisch einen neuen Prozessorsteuer-
Code in einem Rechnersystem, das mit einem alten
Prozessorsteuercode läuft. Der neue Code wird in das Rechnersystem
geladen und mit dem alten Code verglichen, um Werte aus einer
Vielzahl von Aktualisierungsvariablen zu identifizieren.
Veränderungen beim Betrieb des Rechnersystems werden auf der
Grundlage der Werte der Aktualisierungsvariablen bewirkt, ohne
dass sein Betrieb unterbrochen wird.
-
Das Mikroprogramm enthält Variable zur
Betriebsmittelverwaltung, die gekennzeichnet und denen vorgegebene Werte
zugeordnet werden. Die Variablen zur Betriebsmittelverwaltung werden
mit entsprechenden Variablen in dem alten Code verglichen, um
festzustellen, welche Betriebsmittel zu steuern sind, um ein
Aktualisieren des Systems zu bewirken. Damit werden
wesentliche Veränderungen im Mikroprogramm automatisch und ohne
Unterbrechung bewirkt.
-
Eine Ausführungsform der Erfindung wird nun als Beispiel unter
Bezug auf die folgenden Zeichnungen beschrieben:
-
Fig. 1 ist ein Blockschaltbild eines
Datenverarbeitungssystems.
-
Fig. 2 ist ein Blockschaltbild der Speichersteuerung des
Datenverarbeitungssystems von Fig. 1.
-
Fig. 3 ist ein Blockschaltbild eines Speicherpfades für die
Speichersteuerung des Datenverarbeitungssystems von Fig. 1.
-
Fig. 4 ist ein Flussdiagramm, das eine andere bevorzugte
Ausführungsform erläutert, in der Mikroprogramminstallationen
automatisch und ohne Bedienereingriff vorgenommen werden.
-
Eine Einschätzung der vorliegenden Erfindung wird durch eine
Betrachtung eines typischen konventionellen Großrechnersystems
hinsichtlich der Betriebsmittel erleichtert, die verwaltet
werden müssen. Dies wird das Verständnis für die Notwendigkeit
von Veränderungen oder Aktualisierungen im Prozessorsteuercode
(Mikroprogramm) erleichtern, mit dem die Betriebsmittel
verwaltet werden.
-
Fig. 1 zeigt ein Übersichts-Blockschaltbild eines
Datenverarbeitungssystems 10. Das System 10 enthält eine
Speichersteuerung 12, eine Vielzahl von Hauptrechnern 14, 16, 18 und 20 und
eine Vielzahl von Direktzugriffs-Speichergeräten (DASD) 22 bis
32. Derzeitig sind Plattenspeichereinheiten die am häufigsten
übliche Art von DASD. In großen Datenverarbeitungssystemen mit
vielen Rechnern bedient eine große Anzahl von Direktzugriffs-
Speichergeräten mehrere Rechner.
-
Die Speichersteuerung 12 ist logisch zwischen den
Hauptrechnern 14 bis 20 und den DASDs 22 bis 32 angeordnet. Die
Speichersteuerung 12 handhabt Verbindung und Trennung zwischen
einem bestimmten Rechner und einer Magnetplatteneinheit zum
Übertragen eines Datensatzes.
-
Die Speichersteuerung IBM Modell 3990 ist ein Beispiel einer
Speichersteuerung, die dafür benutzt wird, Verbindungen
zwischen Magnetplatteneinheiten und Hauptrechnern zu steuern. Die
Hauptrechner 14 bis 20 sind üblicherweise Großrechnersysteme,
wie etwa der IB 3090, das Modell E59000 oder andere
vergleichbare Systeme.
-
Die Steuerung vom Typ IBM 3990 Modell 3 kann bis zu sechzehn
Kanäle von Hauptrechnern und bis zu vierundsechzig
Magnetplattenspeichereinheiten handhaben. Daher sind die Hauptrechner 14
bis 20 mit Speichersteuerung 12 durch mindestens einen und
durch bis zu vier Kanäle verbunden. Beispielsweise ist der
Hauptrechner 20 mit Speichersteuerung 12 durch Kanäle 34(a),
34(b), 34(c) und 34(d) verbunden. Obgleich in Fig. 1 vier
Hauptrechnersysteme und sechs
Direktzugriffs-Speichereinrichtungen dargestellt sind, kann die Speichersteuerung 12
zusätzliche Kanäle und Direktzugriffs-Speichereinrichtungen
handhaben.
-
Fig. 2 beschreibt die Speichersteuerung 12 ausführlicher. Die
Speichersteuerung 12 hat zwei Speichergruppenanschlüsse 36 und
38, von denen jeder für wahlweise Verbindung zwischen einem
Hauptrechner und einer Direktzugriffs-Speichereinrichtung
sorgt. Die Gruppenanschlüsse 36 und 38 befinden sich an
getrennten Stromversorgungen. Der erste Gruppenanschluss 36
enthält einen ersten Mehrwegspeicherinterpolator 62 mit den
zugehörigen Speicherpfaden 48 und 50, einen gemeinsam genutzten
Steuerbereich 64 und einem Cachespeicher 58. Der zweite
Gruppenanschluss 38 enthält einen zweiten
Mehrwegspeicherinterpolator 63 mit zugehörigen Speicherpfaden 52 und 54, einen
gemeinsam genutzten Steuerbereich (SCA) 66 und einen
Permanentspeicher (NVS) 60.
-
Fig. 3 ist ein Blockschaltbild eines Speicherpfades. Der
Speicherpfad 48 ist mit einem Mehrwegspeicherinterpolator 62 durch
einen oberen Anschluss und mit einer Vielzahl von
Direktzugriffs-Speichereinrichtungen durch einen unteren Anschluss
verbunden. Datenübertragung zwischen dem
Mehrwegspeicherinterpolator 62 und einer der Direktzugriffs-Speichereinrichtungen
erfolgt während Synchronbetrieb über eine automatische
Datenübertragungsschaltung 74, die, falls erforderlich, durch einen
Ratenänderungs-Zwischenspeicher 76 unterstützt wird.
Ratenänderungs-Zwischenspeicher 76 kompensiert Unterschiede zwischen
der Datenübertragungsgeschwindigkeit bei Plattenlaufwerken,
DASDs und der Betriebsgeschwindigkeit der Kanäle zu
Hauptrech
nern. Die Kanäle handhaben Daten üblicherweise mit einer
schnelleren Rate als die Direktzugriffs-Speichereinrichtungen.
Ein Anschlussadapter 72 steuert Datenübertragung zwischen dem
Cachespeicher 58, dem Permanentspeicher 60 und dem unteren
Anschluss. Der Anschlussadapter 72 steuert auch die
Datenübertragung zwischen Cachespeicher 58 und dem oberen Anschluss.
Wie vorstehend erörtert, sorgt das Vorhandensein von
Cachespeicher 58 und Permanentspeicher 60 für den logischen
Abschluss von spezifischen Datenübertragungen, ohne dass auf
physische Synchronisation der Platten- und Kanalverbindung
gewartet wird. Alle Vorgänge des Speicherpfades 48 werden von
einem Mikroprozessors 70 gesteuert. Die Mikroprogrammsteuerung
des Prozessors wird durch den Mikroprozessor auf dem
Speicherpfad ausgeführt, um den Betrieb der Speichersteuerung zu
steuern. Daher nutzen, obwohl jeder Speicherpfad in der Tat eine
selbständig arbeitende Steuereinheit ist, die auf ihrem
eigenen Mikroprozessor beruht, die Speicherpfade über den SCA
gemeinsam Prozessorsteuerinformationen für
Synchronisationsfunktionen zum Handhaben von Verbindungen, Trennungen und erneuten
Verbindungen in Bezug auf eine Transaktion.
-
Unter erneuter Bezugnahme auf Fig. 2 hat jeder Speicherpfad in
der Speichersteuerung Zugriff auf drei adressierbare
Speichergeräte, die zur Unterstützung des Speichersteuerungsbetriebes
benutzt werden. Die drei Speichergeräte sind: der
Cachespeicher 58, der Permanentspeicher 60 und der gemeinsam genutzte
Steuerbereich 64/66. Die drei Speichergeräte und die
asynchronen Arbeitsmittel bilden die gemeinsam genutzten Baugruppen
der Steuereinheit 3990.
-
Cachespeicher sind ihrer Anwendung nach allgemein bekannt als
Zusatzeinrichtung für Rechnerspeicher, bei denen sie als
Hochgeschwindigkeitsspeicher für Anweisungen und Daten benutzt
wird, auf die häufig zugegriffen wird. Die Zeitspanne nach dem
letzten Gebrauch eines Datensatzes wird als Anzeige für die
Häufigkeit des Gebrauch benutzt. Cachespeicher unterscheiden
sich von Systemspeichern darin, dass ihr Inhalt vom Zeitpunkt
des letzten Gebrauchs an altert. Im Adressraum eines
Rechnerspeichers müssen Programmdaten freigegeben werden, ehe Daten
Zugriff erhalten, die miteinander um Platz im Adressraum
konkurrieren. Im Cachespeicher führt die Konkurrenz um Platz
dazu, dass Daten aus dem Speicher herausfallen, wenn sie die am
längsten nicht benutzten Daten werden. Obwohl periodisch Daten
in den Cachespeicher kommen, auf die selten zugegriffen wird,
neigen diese dazu zu "altern", und fallen aus dem Speicher
heraus. Der Inhalt wird im Systemspeicher dupliziert. Ein
Speichersteuerungscachespeicher führt für
Direktzugriffs-Speichereinrichtungen und Speichersteuerungen eine Analogfunktion
aus. Das Lesen von Daten vom Magnetmedium (und das Aufzeichnen
von Daten darauf) der Direktzugriffs-Speichereinrichtungen ist
ziemlich zeitaufwendig. Zu den Faktoren, welche die Lese- und
Aufzeichnungsvorgänge verlangsamen, gehört die Zeit, die für
die Magnetplatte erforderlich ist, den Standort eines
Datensatzes in Ausrichtung zu einem Wandler zu bringen, und die
begrenzte Bandbreite des Magnetwandlers, der zum Lesen und
Aufzeichnen von Daten benutzt wird. Durch Duplizieren von Daten,
auf die häufig zugegriffen wird, im Cachespeicher wird die
Lesezeit für Daten vermindert, und der Durchsatz des
Datenspeichersystem wird beträchtlich verbessert.
Hochgeschwindigkeitsbauelemente sind hinsichtlich der Kosten pro Speicherbyte
teuer, insbesondere im Vergleich mit Magnetspeichermedien, und
damit ist ein Cachespeicher im Vergleich mit der
Speicherein
richtung recht klein. Im Sinne der vorliegenden Beschreibung
sollte angemerkt werden, dass dann, wenn ein Cachespeicher
nicht verfügbar ist, kein Versuch unternommen wird, auf den
Cachespeicher zuzugreifen, bis ein Befehl "Cachespeicher
verfügbar machen" vom Hauptrechner empfangen wird.
-
Permanentspeicher (NVS) dienen dem Cachespeicher als Sicherung
für die Zwischenspeicherfunktion. Der Zugriff auf einen NVS
erfolgt schneller als der Zugriff auf eine Direktzugriffs-
Speichereinrichtung, aber im allgemeinen langsamer als auf den
Cachespeicher. Daten werden zum Cachespeicher und zum NVS
verzweigt, um den Cachespelcher im Falle eines Netzausfalles zu
sichern. Daten, die in einem NVS aufgezeichnet worden sind,
werden als so sicher betrachtet, als ob sie auf Magnetmedien
aufgezeichnet worden wären. Beim Abstufen eines Datensatzes zu
einem NVS wird dem Hauptrechner angezeigt, dass die Daten
erfolgreich gespeichert worden sind. Der NVS ist für
Schnellaufzeichnungsvorgänge und zum Einrichten von Doppelkopiepaaren
erforderlich. Wenn der Cachespeicher nichtverfügbar gemacht
worden ist, werden alle Schnellaufzeichnungsdaten während des
Vorganges des Nichtverfügbarmachens abgestuft, und es werden
in dem NVS keine neuen Schnellaufzeichnungsdaten
aufgezeichnet, bis, der Cachespeicher verfügbar gemacht worden ist. Wenn
der Cachespeicher nichtverfügbar ist, muss der NVS noch die
Bitabbilder aufrechterhalten, welche die Zylinder definieren,
die zwischen den primären und den sekundären Einrichtungen für
Doppelkopien nicht synchron sind.
-
Ein gemeinsam genutzter Steuerbereich (SCA) ist ein
Speicherbereich, der über alle Speicherpfade gemeinsam genutzt wird.
Es gibt üblicherweise zwei Arten von Daten in dem SCA. Die
erste sind Daten zur Unterstützung der DASD, und die zweite sind
die Daten zur Unterstützung des Speicherns im Cachespeicher
und erweiterter Funktionen (d. h. Schnellaufzeichnung und
Doppelkopie).
-
Ein weiteres für den Großrechner verfügbares Betriebsmittel
kann ein asynchrones Arbeitselement (AWE) sein. Ein AWE ist
eine Task, die durch einen beliebigen Prozessor ausgeführt
wird, durch den Daten aus dem Cachespeicher entnommen und
aufgezeichnet oder zur DASD "abgestuft" werden. Diese Baugruppen
steuern die internen Arbeitselemente, welche die asynchrone
Funktion steuern, die durch die Cachespeichersteuereinheit
angefordert werden (d. h. Stapel ändern, abgestufte modifizierte
Daten, Cachespeicherverwaltung usw.).
-
Es ist klar, dass die beiden Gruppenanschlüsse in der
Steuereinheit 3990 Datenstrukturen gemeinsam nutzen. In dem Maße,
wie sich die Betriebsanforderungen des Systems ändern und wie
neue und verbesserte Merkmale des Systems verfügbar gemacht
werden, stehen Veränderungen beim Betrieb des Systems
insbesondere im Hinblick auf die Verwaltung der vielen vorstehend
erwähnten Betriebsmittel an. Diese Veränderungen werden durch
Verändern des Mikroprogramms realisiert, das den Systembetrieb
durch die Mikroprozessoren 70 steuert. Wie vorstehend erwähnt,
umfasst die herkömmliche Verfahrensweise zum Vornehmen
bedeutender Änderungen im Mikroprogramm eine Unterbrechung des
Systembetriebes, während das neue Mikroprogramm in den
Mikroprozessorspeicher geladen wird, üblicherweise über eine
Unterstützungseinrichtung (Diskettenlaufwerk, 68 und 69 in Fig.
2). Das traditionelle Verfahren zum Aktualisieren des
Mikroprogramms in jedem Gruppenanschluss bringt eine
Betriebsunterbrechung am Gruppenanschluss mit sich, während das
Mikroprogramm geladen und der Gruppenanschluss neu initialisiert wird.
-
Da diese Verfahrensweise bis zu einer halben Stunde dauern
kann, ist die Betriebsunterbrechung allgemein nicht
wünschenswert.
-
Der Bedarf nach dem Stand der Technik für einen im
wesentlichen aktualisierenden Mikroprogramm mit minimaler
Unterbrechung des Betriebes eines Steuerprozessors wird durch die
vorliegende Erfindung angesprochen. Die Erfindung stellt ein
System zum automatischen Installieren eines neuen
Prozessorsteuercodes in einem Rechnersystem bereit, das mit einem alten
Prozessorsteuercode läuft, wobei sein Betrieb minimal
unterbrochen wird. In Verbindung mit der Steuereinheit 3990 ist
bekannt, dass die betroffene gemeinsam benutzte Baugruppe nur im
Verlaufe von Cachespeichervorgängen benutzt wird. Wenn dies
auftritt, kann der Cachespeicher nichtverfügbar gemacht
werden, und das neue Mikroprogramm kann ohne Unterbrechung
installiert werden. Im allgemeinen wird der neue Code, wie
nachstehend ausführlich erläutert, in das Rechnersystem geladen
und mit dem alten Code verglichen, um Werte aus einer Vielzahl
von Aktualisierungsvariablen zu identifizieren. Veränderungen
im Betrieb des Rechnersystems werden auf der Grundlage der
Werte der Aktualisierungsvariablen ohne Unterbrechung seines
Betriebes bewirkt.
-
Eine spezielle Ausführungsform enthält ein Mikroprogramm, in
dem Variable zur Betriebsmittelverwaltung gekennzeichnet und
ihnen vorgegebene Werte zugeordnet werden. Die Variablen zur
Betriebsmittelverwaltung werden mit entsprechenden Variablen
im alten Code verglichen, um festzustellen, welche
Betriebsmittel zu steuern sind, um ein Aktualisieren des Systems zu
bewirken. Damit werden wesentliche Veränderungen im
Mikroprogramm automatisch und ohne Unterbrechung bewirkt.
-
Die SCA-Strukturen der Geräte sind im Verlauf der Zeit stabil
geblieben und ändern sich im allgemeinen nur, wenn ein neues
Mikroprogramm einen neuen Gerätetyp unterstützt. Wenn dies
auftritt, wird das neue Mikroprogramm während einer
Aktualisierung gemäß den vorliegenden Lehren eingerichtet, um für
vorhandene Geräte unter Verwendung des vorhandenen Formates
Daten im SCA zu speichern. Das neue Format wird nur für neue
Geräte benutzt. Dies wird nur das Abrufen und Speichern von
Daten im SCA betreffen. Da der Steuerspeicher innerhalb eines
Steuerpfades nicht gemeinsam genutzt wird, können die im
Steuerspeicher des neuen Mikroprogramms benutzten Strukturen in
einem einzigen Format eingerichtet werden.
-
Die folgenden Schritte definieren das Geschehen bei der
gleichlaufenden unterbrechungsfreien Installation des
Mikroprogramms:
-
1. Kanalpfade weg vom Gruppenanschluss vom Hauptrechner
verändern;
-
2. Schnittstellen zum Gruppenanschluss deaktivieren;
-
3. Unterstützungseinrichtung benutzen, um Gruppenanschluss
stillzulegen;
-
neue Disketten laden;
-
5. Unterstützungseinrichtung benutzen, um Gruppenanschluss
wieder aufzunehmen;
-
6. Schnittstellen aktivieren;
-
7. Kanalpfade hin zum Gruppenanschluss vom Hauptrechner
verändern;
-
8. für anderen Gruppenanschluss wiederholen.
-
Ein Schlüsselaspekt ist die Identifizierung von
Installationsvariablen des Mikroprogramms (MIVs). Installationswerte werden
in jeder neuen Version jeder Variablen zugeordnet. Es wird nur
agiert, wenn sich der Wert einer MIV zwischen Versionen
ändert. Damit erfolgt eine unterbrechungsfreie Installation,
wenn sich eine gemeinsam genutzte Struktur ändert, die ein
Gerät nicht beeinflusst.
-
In der erläuternden Ausführung werden die folgenden
Installationsvariablen definiert:
-
mit Unterbrechung = das neue Mikroprogramm
unterbricht
-
Cachespeicher nichtverfügbar = der Cachespeicher muss während
des Installationsvorganges
nichtverfügbar sein
-
NVS nichtverfügbar = der NVS muss während des
Installationsvorganges
nichtverfügbar sein
-
AWE einschränkend = alle AWEs müssen während des
Installationsvorganges auf der
spätesten Ebene des
Mikroprogramms laufen; und
-
reserviert = Platz, der für zusätzliche
nichtdefinierte Variablen
reserviert ist. In der
erläuternden Ausführungsform ist
diesen Variablen ein Wert von
null zugeordnet worden.
-
Während der Installation wird das neu zu installierende
Mikroprogramm den Mikroprozessor 70 veranlassen, die MIV-Werte des
alten Mikroprogramms mit den MIV-Werten des neuen
Mikroprogramms zu vergleichen. Die folgende Liste definiert die durch
das Mikroprogramm ausgelöste Vorgehensweise, wenn
Installationswerte zwischen dem alten und dem neuen Mikroprogramm nicht
gleich sind.
-
Unterbrechende Variable: Der Installationsvorgang wird nicht
abgeschlossen, und eine Nachricht wird an der Konsole der
Unterstützungseinrichtung (SF) aufgezeichnet.
-
Variable für nichtverfügbaren Cachespeicher: Wenn der
Cachespeicher verfügbar ist, wird der Installationsvorgang
angehalten, und der Cachespeicher wird in automatischem Betriebsmodus
nichtverfügbar gemacht, oder es wird an der SF-Konsole eine
Nachricht aufgezeichnet, die den CE (Anpassungstechniker)
anweist, vor dem erneuten Start des Installationsvorganges den
Cachespeicher nichtverfügbar zu machen.
-
Variable für nichtverfügbaren NVS: Wenn der NVS verfügbar ist,
wird der Installationsvorgang angehalten, und der NVS wird in
einem automatischen Betriebsmodus nichtverfügbar gemacht, oder
es wird an der SF-Konsole eine Nachricht aufgezeichnet, die
den CE anweist, vor dem erneuten Start des
Installationsvorganges den NVS nichtverfügbar zu machen.
-
Begrenzungswerte für AWE: Das Mikroprogramm wird AWEs nur an
dem Gruppenanschluss zur Verfügung stellen, der gerade geladen
wurde.
-
Die Werte der Installationsvariablen sind im Speicher
(Steuerspeicher) des Mikroprozessors jedes Speicherpfades enthalten.
Wenn ein Gruppenanschluss das Laden eines anfänglichen
Mikro
programms (IML) vornimmt, erfolgt eine Prüfung, um
festzustellen, ob der andere Gruppenanschluss geladen worden ist. Wenn
der andere Gruppenanschluss nicht geladen worden ist, werden
die Werte der Installationsvariablen vom Steuerspeicher in den
SCA geschoben. Wenn der andere Gruppenanschluss geladen worden
ist, werden die Werte der Installationsvariablen mit den
Werten verglichen, die aktuell im SCA gespeichert sind. Der
Vergleich geht als ,nicht gleich' aus, ungeachtet der
Größenordnung des Unterschiedes oder ob der neue geringer als der alte
ist. Dies ermöglicht das Installieren eines ,alten Code'
ebenso wie einer fortgeschriebenen Version.
-
In einer Ausführung wird, wenn die Unterbrechungswerte nicht
gleich sind, die Speichereinrichtung dafür benutzt, an der
Wartungskonsole eine Nachricht anzuzeigen, und der
Installationsvorgang wird beendet. Wenn die Werte für die
Nichtverfügbarkeit des Cachespeicher nicht gleich sind, wird eine Prüfung
vorgenommen, um sicherzustellen, dass der Status des
Cachespeichers ,NICHTVERFÜGBAR' ist. Wenn er nicht verfügbar ist,
ersetzt der neue Wert den alten Wert im SCA, und die
Installation geht weiter. Wenn der Cachespeicher verfügbar ist, wird
die SF dazu benutzt, an der Wartungskonsole eine Nachricht
anzuzeigen, und der Installationsvorgang wird angehalten.
-
Die Verarbeitung für das Signal ,NVS nichtverfügbar' ist mit
der für Cachespeicher nichtverfügbar identisch.
-
Wenn die die AWE begrenzenden Werte nicht gleich sind, wird
der neue Wert im SCA gespeichert, und eine erneute
Initialisierung wird aufgerufen. Die erneute Initialisierung wird
veranlasst, dass die AWEs geschlossen und neu initialisiert
werden. AWEs werden nur SPs (Speicherpfad, Fig. 3) zur Verfügung
gestellt, deren Variablenwerte für die AWE-Begrenzung gleich
denen im SCA sind. Dies gestattet es, dass nur das neue
Mikroprogramm mit den neuen Strukturen läuft. Erstellungen von
neuen AWEs durch das alte Mikroprogramm werden blockiert, weil
sie unter Benutzung der alten Struktur erzeugt worden wären.
Dies kann erreicht werden, indem ein ,im Fortschreiten
begriffener' Code zurückgeschickt wird, wenn ein Versuch unternommen
wird, ein neues AWE auf einem SP niedriger Stufe zu erzeugen.
Dieser ,im Fortschreiten begriffene' Code führt dazu, dass der
Erstellungsvorgang an einen anderen SP weitergeleitet wird.
Die Erstellungsfunktion wird modifiziert, um Erstellungen von
Nicht-AWEs zurückzuweisen, welche die asynchrone Gerätewartung
(d. h. Bewegen der Geräteköpfe) und Kanalbefehle (z. B.
Untersystemfunktion ausführen oder Systemmodus einstellen) blockieren
würden. Erstellungen für Stapelveränderungen werden noch auf
einer beliebigen Stufe des Mikroprogramms ablaufen, aber nur
auf dem neuen Mikroprogramm ausgeführt. Fehlerhaftes
Einschalten lädt IML mit unterschiedlichem Code. Dies veranlasst den
letzten Gruppenanschluss dazu, davon auszugehen, dass er den
gewünschten Code geladen hat und weiterarbeitet, um den
anderen Gruppenanschluss zu zwingen, mit verminderter Leistung,
ohne AWEs, zu arbeiten.
-
Das vorstehend beschriebene Mikroprogramm ermöglicht einen
Bedienereingriff beim Installieren eines neuen Mikroprogramms.
-
Fig. 4 ist ein Flussdiagramm, das eine alternative bevorzugte
Ausführung veranschaulicht, mit der
Mikroprogramminstallationen automatisch und ohne Bedienereingriff erfolgen.
-
Die nachstehenden Tabellen 1 und 2 geben ein Beispiel der
Anwendung der Erfindung zum Unterstützen der
Mikroprogrammin
stallation. Im Beispiel werden die Mikroprogrammversionen wie
folgt definiert:
-
Rel 6.0 = Version des Mikroprogramms 3990 zum Unterstützen
einer neuen Hardware-Plattform.
-
Rel 6.1 = Verbesserungen, die gemeinsam genutzte Baugruppen
nicht aktualisierten.
-
Rel 7.0 = Veränderung des Cachespeicher-Algorithmus.
-
Rel 8.0 = fügt Unterstützung neuen Geräteformats und
veränderter AWE-Struktur hinzu.
Tabelle 1 Variablenwerte für die vier Versionen des
Mikroprogramms
Tabelle 2 Installationsverarbeitung