DE68922521T2 - Sekundärprozessorinitialisierungssystem. - Google Patents
Sekundärprozessorinitialisierungssystem.Info
- Publication number
- DE68922521T2 DE68922521T2 DE1989622521 DE68922521T DE68922521T2 DE 68922521 T2 DE68922521 T2 DE 68922521T2 DE 1989622521 DE1989622521 DE 1989622521 DE 68922521 T DE68922521 T DE 68922521T DE 68922521 T2 DE68922521 T2 DE 68922521T2
- Authority
- DE
- Germany
- Prior art keywords
- processor
- primary
- memory
- unit
- program
- 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.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 118
- 238000000034 method Methods 0.000 claims description 9
- 230000003936 working memory Effects 0.000 claims 3
- 230000000903 blocking effect Effects 0.000 claims 2
- 238000002360 preparation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Description
- Diese Erfindung bezieht sich auf das Gebiet der Datenverarbeitung. Genauer gesagt ist diese Erfindung ein Computersystem mit einer Primäreinheit und einer Sekundäreinheit wobei die Primäreinheit die Initialisierung der Sekundäreinheit steuert.
- Das typische auf einem Mikroprozessor aufbauende Computersystem hat eine Systemleiterplatte die einen Primärprozessor enthält. Üblicherweise enthält diese Systemleiterplatte Steckplätze, in die eine oder mehrere Adapterkarten eingesetzt werden können. Diese Adapterkarten können der Steuerung eines Druckers, einer Anzeige oder der Kommunikation mit anderen Computern dienen, um einige Funktionen zu nennen. Oft enthalten diese Adapterkarten einen sekundären Mikroprozessor, der benutzt wird, um die spezielle Funktion der jeweiligen Adapterkarte zu steuern. Zusätzlich zu einem Sekundärprozessor enthalten Adapterkarten oft ein Nur-Lese-Speicher- (ROS-) oder ein Nur-Lese-Arbeitsspeicher- (ROM-) Modul. Dieses ROS- (oder ROM-) Modul wird benutzt, um ein Initialisierungsprogramm (auch bekannt als Anfangsstartprogramm), auch wenn die Stromversorgung der Adapterkarte abgeschaltet ist, dauerhaft zu speichern. Wenn die Stromversorgung das erste mal an die Adapterkarte angelegt wird, führt der Sekundärprozessor als seine erste Aktivität das in dem ROS-Modul enthaltene Initialisierungsprogramm aus. Dieses Programm initialisiert den Sekundärprozessor, den Arbeitsspeicher mit wahlweisem Zugriff (RAM) und andere auf der Adapterkarte enthaltene Hard-ware.
- Die Forderung, ein ROS- (oder ROM-) Modul auf der Adapterkarte zu haben, um das Initialisierungsprogramm dauerhaft zu speichern, ist nicht erwünscht, da dies die Kosten der Adapterkarte sowie die Zeit für die Entwicklung der Adapterkarte ansteigen läßt und gebietsweise Änderungen oder Aktualisierungen des Initialisierungsprogramms der Adapterkarte ziemlich kompliziert macht.
- US-A-3 940 743 beschreibt ein Verfahren und ein Computersystem für die Übertragung von Daten zwischen dem Arbeitsspeicher einer Primäreinheit und dem Arbeitsspeicher einer Sekundäreinheit, das die folgenden Schritte umfaßt:
- - Definieren eines Fenster aus dem Adressraum des primären Arbeitsspeichers in der Primäreinheit aus einem Segment des Adressraumes des nicht eingerichteten Arbeitsspeichers und aus dem Adressraum des sekundären Arbeitsspeichers in der Sekundäreinheit in einem Segment des Adressraumes des eingerichteten Arbeitsspeichers;
- - Abfragen von Daten aus dem primären Arbeitsspeicher und Stellen in das Fenster.
- Dieses Dokument beschreibt jedoch keinen Stoff, der sich auf die Initialisierung eines Sekundärprozessors bezieht.
- Es ist eine Hauptaufgabe der Erfindung, eine Methode für die Initialisierung eines Sekundärprozessors auf einer Adapterkarte oder einer anderen Sekundäreinheit zu liefern, bei der kein auf der Leiterplatte fest installiertes ROS- oder ROM-Modul benötigt wird, um das Initialisierungsprogramm zu speichern.
- Es ist eine weitere Aufgabe der Erfindung, ein vereinfachtes Verfahren zur Initialisierung eines Sekundärprozessors auf einer Adapterkarte oder einer anderen Sekundäreinheit zu liefern, bei der das Initialisierungsprogramm leicht verändert werden kann.
- Es ist eine andere Aufgabe der Erfindung, die Kosten und die Entwicklungszeit von Adapterkarten oder anderen Sekundäreinheiten für ein Computersystem zu senken.
- Diese und weitere Aufgaben werden durch das hier beschriebene Initialisierungsschema für eine Sekundäreinheit gelöst.
- In einem auf einem Mikroprozessor aufbauenden Computersystem mit einer Primäreinheit (wie etwa einer Systemleiterplatte) und einer Sekundäreinheit (wie etwa einer Adapterkarte) kann der in der Sekundäreinheit enthaltende Sekundärprozessor (der in einem nicht arbeitenden zurückgesetzten Zustand gehalten wird), ohne daß ein Nur-Lese-Speicher- (ROS) Modul oder ein NUR-LESE-Arbeitsspeicher- (ROM) Modul benötigt werden, initialisiert werden, so daß er ein Teil der Sekundäreinheit ist. Insbesondere wird ein Fenster aus einem Segment des Adressraumes von nicht eingerichtetem Arbeitsspeicher von der Primäreinheit und ein Segment des Adressraumes von eingerichtetem Arbeitsspeicher von der Sekundäreinheit definiert. Das Segment aus dem Arbeitsspeicher aus der Sekundäreinheit umfaßt die Befehlsadressen des Sekundärprozessors, die am Anfang ausgeführt werden. Der Primärprozessor auf der Primäreinheit ruft das Initialisierungsprogramm des Sekundärprozessors aus der primären Speichereinheit ab. Dieses Initialisierungsprogramm wird dann in das Fenster gestellt. Der Sekundärprozessor muß für Zugriffe auf das Fenster des Primärprozessors nicht arbeiten. Der Primärprozessor sperrt dann die Rücksetzleitung des Sekundärprozessors. Bis seine Rücksetzleitung gesperrt ist, beginnt der Sekundärprozessor das Initialisierungsprogramm auszuführen. Auf diese Weise wird die Sekundäreinheit initialisiert, ohne daß ein fest installiertes ROS- oder ROM-Modul benötigt wird. Nachdem das Initialisierungsprogramm abgeschlossen wurde, kann die Primäreinheit andere Vorbereitungsprogramme wie etwa Diagnoseprogramme an die Sekundäreinheit über das Fenster senden. Wenn alle dieser Vorbereitungsprogramme abgeschlossen wurden, werden die Inhalte des Fensters überschrieben, so daß der Arbeitsspeicher der Primäreinheit und der Arbeitsspeicher der Sekundäreinheit vollständig für andere Kommunikationen zwischen den Prozessoren genutzt werden können.
- Fig. 1 zeigt ein Blockdiagramm einer Primäreinheit und einer Sekundäreinheit gemäß der Erfindung.
- Fig. 2A zeigt, wie das Fenster aus dem Adressraum des primären Arbeitsspeichers und aus dem Adressraum des sekundären Arbeitsspeicher in der bevorzugten Ausführungsform der Erfindung erzeugt wurde.
- Fig. 2B zeigt, wie das Fenster aus dem Adressraum des primären Arbeitsspeichers und dem Adressraum des sekundären Arbeitsspeichers in einer alternativen Ausführungsform der Erfindung erzeugt werden.
- Fig. 2C zeigt eine alternative Ausführungsform der Erfindung, die ein gemeinsames Speicherschema nutzt.
- Fig. 3 zeigt die E/A-Register der Sekundäreinheit detaillierter.
- Fig. 4A bis 4B zeigen ein Flußdiagramm des programmierten Primärprozessors gemäß der Erfindung.
- Fig. 5A bis 5B zeigen ein Flußdiagramm des programmierten Sekundärprozessors gemäß der Erfindung.
- Fig. 1 zeigt ein Gesamtblockdiagramm der Primäreinheit und der Sekundäreinheit der Erfindung. In der bevorzugten Ausführungsform stellt die Primäreinheit 10 die Systemleiterplatte eines IBM PERSONAL SYSTEM/2-Computers dar, wobei die Primäreinheit 10 auch die Primäreinheit jedes anderen Computers darstellen kann. Die Sekundäreinheit 20 ist in der bevorzugten Ausführungsform eine Adapterkarte, wie etwa die im IBM Personal System/2-Computer eingesetzte IBM 69X6279-Adapterkarte, obwohl die Sekundäreinheit 20 nicht notwendigerweise eine Adapterkarte sein muß. Vorstellbar wäre auch, daß die Sekundäreinheit 20 ein Teil einer Systemhauptleiterplatte ist, die eine spezielle Funktion ausführt, die einen Sekundärprozessor benötigt. Zusätzlich kann die Sekundäreinheit 20 ein entferntes Gerät, wie etwa ein Terminal darstellen, das mit der Primäreinheit 10 über eine Kommunikationsleitung verbunden ist.
- Die Primäreinheit 10 wird jetzt detaillierter beschrieben. Die Primäreinheit 10 enthält eine primäre Zentralprozessoreinheit 11. In der bevorzugten Ausführungsform ist der Primärprozessor 11 ein Mikroprozessor wie etwa ein INTEL 80286 oder 80386 Mikroprozessor, obwohl auch andere Mikroprozessoren eingesetzt werden können. Der Prozessor 11 ist mit einem primären Speicher mit wahlfreiem Zugriff 12, einem nichtflüchtigen Speicher 17 und einem Nur-Lese-Speicher (ROS) 18 verbunden. Der nichtflüchtige Speicher 17 ist üblicherweise eine Platte, eine Diskette, ein Band, eine optische Platte oder ein anderes sekundäres Speichergerät, das seine gespeicherten Informationen behält, nachdem die Stromversorgung abgeschaltet wurde. ROS 18 wird auf konventionelle Weise eingesetzt, um das Initialisierungsprogramm für die Primäreinheit dauerhaft zu speichern. Der Primärprozessor 11, der Adressraum des primären Arbeitsspeichers 12, der Speicher 17 und der ROS 18 sind alle mit einem Bussystem 19 verbunden, das an die Sekundäreinheit 20 angeschlossen ist. Die Sekundäreinheit 20 enthält einen Sekundärprozessor 21, E/A-Register 30 und einen Adressraum des sekundären Arbeitsspeichers 22. Der Sekundärprozessor 21 ist in der bevorzugten Ausführungsform ein INTEL 8088- Mikroprozessor, obwohl auch andere Prozessoren eingesetzt werden können. Die Register 30 sind in Fig. 3 detaillierter dargestellt und werden später diskutiert.
- Fig. 2A zeigt den Adressraum des primären Arbeitsspeichers 12 und den Adressraum des sekundären Arbeitsspeichers 22 der bevorzugten Ausführungsform der Erfindung in größerem Detail. Es soll festgehalten werden, daß der Adressraum des primären Arbeitsspeichers 12 in der Darstellung größer ist als der Adressraum des sekundären Arbeitsspeichers 22. Dies wird üblicherweise der Fall sein, ist jedoch für diese Erfindung nicht notwendig. Der Adressraum des primären Arbeitsspeichers 12 enthält nicht eingerichteten primären Arbeitsspeicher 14 und eingerichteten primären Arbeitsspeicher 15. Nicht eingerichteter primärer Arbeitsspeicher 14 ist trotz der Tatsache, daß er nicht eingerichtet wurde, adressierbar. Ein Segment aus nicht eingerichtetem primären Arbeitsspeicher 14 ist als Platz für das primäre Arbeitsspeicherfenster 13 festgelegt. Der Adressraum des sekundären Arbeitsspeichers 22 enthält installierten sekundären Arbeitsspeicher 25. Ein Segment aus installiertem sekundären Arbeitsspeicher 25 ist als Platz für ein sekundäres Arbeitsspeicherfenster 23 festgelegt.
- Während des Initialisierungs- und Vorbereitungsprozesses, wie später detaillierter diskutiert wird, enthalten die Arbeitsspeicherplätze 13 und 23 die gleichen Daten und werden gemeinsam als Fenster 50 betrachtet. Es ist jedoch wichtig zu bedenken, daß Fenster 50 während der Initialisierung und Vorbereitung der Sekundäreinheit 20 als Platz für ein primäres Arbeitsspeicherfenster 13, auf das durch den Primärprozessor 11 zugegriffen wird, und als Platz für ein sekundäres Arbeitsspeicherfenster 23, auf das durch den Sekundärprozessor 21 (wenn dieser arbeitet) zugegriffen wird, definiert ist. Wenn ein Primärprozessor 11 auf einen Platz im primären Arbeitsspeicherfenster 13 zugreift, greift er auf Daten zu, die in dem realen Arbeitsspeicher auf Platz 23 im sekundären Arbeitsspeicherfenster enthalten sind.
- Fig. 28 zeigt den Adressraum des primären Arbeitsspeichers 22 einer ersten alternativen Ausführungsform in größerem Detail. Es soll festgehalten werden, daß sich der Platz im primären Arbeitsspeicherfenster 13 im eingerichteten primären Arbeitsspeicher 15 anstatt im nicht eingerichteten primären Arbeitsspeicher 14 befindet, so wie dies in der bevorzugten Ausführungsform der Fall war. Wenn der Sekundärprozessor 21 Daten an den Platz im Sekundärfensters 23 schreibt, müssen die gleichen Daten an den Platz im Primärfensters 13 geschrieben werden. Dies ist in der bevorzugten Ausführungsform nicht notwendig.
- Fig. 2C zeigt das Schema des gemeinsam genutzten Arbeitsspeichers für eine zweite alternative Ausführungsform. In dieser alternativen Ausführungsform greifen sowohl der Primärprozessor 11 als auch der Sekundärprozessor 21 auf den Adressraum des gemeinsam genutzten Arbeitsspeichers 62 über den Bus 19 zu. Nur ein Prozessor kann zu einem bestimmten Zeitpunkt auf den Adressraum des gemeinsam genutzten Arbeitsspeichers zugreifen, so daß die Integrität der Daten sichergestellt ist.
- Fig. 3 zeigt die E/A-Register 30 einer Sekundäreinheit 20 in größerem Detail. Die Register 31 und 33 werden eingesetzt, um die Anfangsadresse des Platzes im primären Arbeitsspeicherfensters 13 zu bestimmen. In der bevorzugten Ausführungsform beträgt die Größe des Platzes im primären Arbeitsspeicherfensters 13 16 Kilobyte, obwohl auch ein größerer oder kleinerer oder dynamisch variabler Wert im Blickfeld der Erfindung liegt. Des weiteren hat in der bevorzugten Ausführungsform der Adressraum des primären Arbeitsspeichers 12 eine Größe von einem Megabyte und der Adressraum des sekundären Arbeitsspeichers 22 eine Größe von 256 Kilobyte, obwohl diese auch viel kleiner oder größer sein können, um in das Blickfeld der Erfindung zu fallen.
- Die Register 31 und 33 enthalten die 10 Adressleitungen AM14 bis AM23. Diese 10 Adressleitungen sind ausreichend, um jedes 16 Kilobyte-Segment aus dem einen Megabyte insgesamt adressierbaren Arbeitsspeicher in dem Adressraum des primären Arbeitsspeichers 12 zu adressieren. Es ist klar, daß auch mehr oder weniger Adressleitungen für die Adressierung eingesetzt werden können, wenn entweder der Platz im primären Fensters 13, oder der Adressraum des primären Arbeitsspeichers 12 von einer anderen Größe als in der bevorzugten Ausführungsform sind.
- Register 32 wird genutzt, um den Anfang des Platzes des Sekundärfensters 23 im Adressraum des sekundären Arbeitsspeichers 22 zu adressieren. Es soll festgehalten werden, daß Register 32 vier Adressleitungen PS1 bis PS4 enthält. Diese vier Adressleitungen sind ausreichend, um alle 16 Kilobyte-Segmente in den 256 Kilobyte Adressraum des sekundären Arbeitsspeichers 22 zu adressieren. Wiederum kann die Anzahl der Adressleitungen in Register 32 geändert werden, wenn die Größe von entweder dem Platz im Primärfensters 32 oder des Adressraumes des sekundären Arbeitsspeichers 22 sich von dem in der bevorzugten Ausführungsform unterscheiden.
- Register 34 wird genutzt, um der Primäreinheit mitzuteilen, ob die Sekundäreinheit eingerichtet ist, und enthält weiterhin die Identifikation der Sekundäreinheit.
- Register 36 enthält die Rücksetzleitung 37 des Prozessors, um den Sekundärprozessor 21 zurückzusetzen. In der bevorzugten Ausführungsform springt der Sekundärprozessor 21 automatisch zu dem Adressraum des sekundären Arbeitsspeichers 22 und beginnt mit der Ausführung des ersten dort enthaltenen Befehls, wenn die Rücksetzleitung 37 des Prozessors gesperrt ist.
- Fig. 4A bis 4B zeigen das Flußdiagramm des programmierten Primärprozessors 11. Block 101 fragt, ob eine Sekundäreinheit 29 installiert ist. Dies wird durch Nachschauen nach dem Inhalts von Register 34 festgestellt. Wenn Register 34 die ID von Sekundäreinheit 20 enthält, dann weiß die Primäreinheit 10, daß eine Sekundäreinheit 20 eingerichtet ist, und Block 101 wird bestätigend beantwortet. Wenn die Sekundäreinheit 20 nicht eingerichtet ist, wird in Block 102 eine Fehlermeldung angezeigt und das Programm tritt in Block 103 aus. Wenn eine Sekundäreinheit 20 eingerichtet ist, bewegt sich die Ablaufsteuerung zu Block 104, wo die Anfangsadresse des Platzes im primären Arbeitsspeicherfensters 13 an die Register 31 und 33 der Sekundäreinheit 20 gesandt wird. Auf diese Weise wird Sekundäreinheit 20 von der Lage des primären Arbeitsspeicherfensters informiert. Block 105 setzt die Lage des sekundären Arbeitsspeicherfensters, in dem die Anfangsadresse des Platzes im sekundären Arbeitsspeicherfensters 23 in Register 32 geschrieben wird. Der Platz im sekundären Arbeitsspeicherfensters 23 muß den Platz für die Ausführung des Rücksetzprogramm beim Einschalten des Sekundärprozessors enthalten.
- Block 106 testet den Platz im Sekundärfensters 23, um sicherzustellen, daß dieser Arbeitsspeicher ordnungsgemäß arbeitet. Block 107 liest dann das Initialisierungsprogramm für den Sekundärprozessor aus dem Speicher der Primäreinheit 10. Dieses Initialisierungsprogramm kann sich ebenfalls im ROS 18 oder irgendeinem anderen nichtflüchtigen Speichergerät befinden, das Bestandteil der Primäreinheit 10 ist. Block 108 kopiert dann das Initialisierungsprogramm des Sekundärprozessors in Fenster 50, das von dem Platz im primären Arbeitsspeicherfensters 13 und dem Platz im sekundären Arbeitsspeicherfensters 23 erzeugt wurde.
- Die Ablaufsteuerung bewegt sich zu Fig. 4B. Block 109 fügt eine Sprunganweisung zum Start des Initialisierungsprogramm zu der Adresse für die Ausführung des Rücksetzprogramm beim Einschalten des Sekundärprozessors im Adressraum des sekundären Arbeitsspeicher 22 ein, der in dem Fenster 50 enthalten ist. Block 110 entfernt die Rücksetzbedingung vom Sekundärprozessor. Dies wird durch Schreiben in Register 36 erreicht, wobei die Rücksetzleitung 37 des Prozessors gesperrt wird. Wenn die Rücksetzleitung 37 des Prozessors gesperrt ist, wird der Sekundärprozessor, wie in Block 200 dargestellt, gestartet. Der Betrieb von Sekundärprozessor 21 wird in den Fig. 5A und 5B detaillierter dargestellt und später diskutiert.
- Der Primärprozessor 11 wartet auf den Sekundärprozessor 21, um den Initialisierungsprozeß abzuschließen, und schreibt einen Abschluß-Code für die Initialisierung in ein Fenster 50, so wie es in den Blöcken 112 und 113 dargestellt wird. Im Falle, daß die Zeitablaufperiode vergangen ist, bevor der Abschluß-Code für die Initialisierung in Fenster 50 erscheint, wird in Block 114 ein Fehler-Code angezeigt, und das Programm tritt in Block 115 aus. Andernfalls tritt der Primärprozessor 11 zwischen den Blöcken 112 und 113 in eine Programmschleife und wartet auf den Abschluß-Code für die Initialisierung von Sekundärprozessor 21. Wenn Sekundärprozessor 21 einmal einen Abschluß-Code für die Initialisierung in das Fenster abgelegt hat, führt Block 116 eine Überprüfung aus, um zu sehen, ob dieser Abschluß-Code anzeigt, daß der Sekundärprozessor 21 richtig initialisiert wurde. Wenn nicht, wird in Block 114 ein Fehler-Code angezeigt und das Programm tritt in Block 115 aus. Wenn doch, liest Block 117 eine Diagnose- oder anderes Vorbereitungsdiagramm von Speicher 17 und überträgt dieses Programm in Fenster 50, immer einen Block auf einmal. Es soll festgehalten werden, daß der Primärprozessor 11 einen Abschluß-Code über das Fenster 50 von dem Sekundärprozessor empfangen wird, nachdem jeder Block erfolgreich übertragen wurde.
- Nachdem der Primärprozessor 11 einen Abschluß-Code von dem Programm empfangen hat, daß das Programm erfolgreich abgeschlossen wurde (Block 122 und 126), geht die Steuerung zurück zu Block 117 und das nächste Vorbereitungsprogramm (wenn Block 127 feststellt, daß es eins gibt) wird nach Fenster 50 übertragen. Im Falle, daß die Zeitablaufperiode vergangen ist, bevor der Abschluß-Code für die Initialisierung in Fenster 50 erscheint, wird in Block 114 ein Fehler-Code angezeigt. Die oben beschriebene Fähigkeit gestattet Programmierern mehr Flexibilität bei der Steuerung des Initialisierungs- und Vorbereitungsprozesses der Sekundäreinheit 20. Wenn alle Diagnose- und anderen Vorbereitungsprogramnie über Fenster 50 zum Sekundärprozessor 21 übertragen und erfolgreich ausgeführt wurden, überschreibt Primärprozessor 11 den letzten Block des letzten Vorbereitungsprogramms in Fenster 50, setzt jedoch die Nutzung von Fenster 50 fort, um mit dem Sekundärprozessor 21 durch Senden von Anfragen und Daten und durch Empfangen von Anfragen, Zuständen und Daten vom Sekundärprozessor 21 zu kommunizieren.
- Es soll festgehalten werden, daß, wenn das Vorbereitungsprogramm kleiner oder gleich der Größe von Fensters 50 ist, es nicht notwendig sein wird, das Vorbereitungsprogramm in Blöcke einzuteilen und diese zu einem anderen Platz im sekundären Arbeitsspeicher zu bewegen. Statt dessen kann das Programm direkt aus Fenster 50 in einer ähnlichen Weise wie das Initialisierungsprogramm ausgeführt werden.
- Fig. 5A bis 5B zeigen ein Flußdiagramni des programmierten Sekundärprozessors 21. Block 201 kennzeichnet, daß die Prozessor- Rücksetzleitung des Prozessors von Register 36 gesperrt und der Sekundärprozessor 21 zurückgesetzt wurden. In Block 21 springt Prozessor 21 zum Start des Initialisierungsprogramms, das Ziel der Sprunganweisung ist, die von Prozessor 11 in Block 109 in den Adressraum des sekundären Arbeitsspeichers 22 abgelegt wurde. Block 203 testet den Betrieb von Sekundärprozessor 21 und dessen zugehörigen Registern. In Block 204 testet Sekundärprozessor 21 den Teil des Adressraumes des sekundären Arbeitsspeichers 22, der nicht Bestandteil des Platzes im sekundären Arbeitsspeicherfensters 23 ist. Block 205 stellt alle anderen Initialisierungsschritte dar, die erforderlich sein können, und Block 206 informiert den Primärprozessor vom Abschluß der Initialisierung. Dies wird durch Ablegen eines Abschluß-Codes in Fenster 50 getan. Wenn Sekundärprozessor 21 seine Initialisierung erfolgreich abgeschlossen hat, wird ein erfolgreicher Abschluß-Code in Fenster 50 abgelegt. Wenn jedoch Sekundärprozessor 21 die Initialisierung nicht erfolgreich abgeschlossen hat (infolge eines entdeckten Fehler einer der Tests in den Blöcken 203 oder 204), wird ein nicht erfolgreicher Abschluß-Code in Fenster 50 abgelegt. Dieser Abschluß-Code wird von Primärprozessor 11 in Block 116 in Fig. 48, wie bereits diskutiert, analysiert. Die Ablaufsteuerung bewegt sich dann weiter nach Block 207 in Fig. 5B.
- Block 207 wartet auf einen Block eines Diagnose- oder anderen Vorbereitungsprogramms, der in Fenster 50 der Primäreinheit 10 abgelegt werden soll. Block 209 kopiert diesen Block eines Diagnose- oder anderen Vorbereitungsprogramms zu einem bestimmten Gebiet in dem Adressraum des sekundären Arbeitsspeichers 22. Block 214 benachrichtigt den Primärprozessor vom Abschluß der Übertragungsoperation der Blöcke durch Schreiben eines Abschluß- Codes in Fenster 50. Block 210 schaut dann nach, um zu sehen, ob dies der letzte Block des zu übertragenden Programms ist. Wenn nicht, tritt Block 211 in eine Programmschleife ein, bis ein weiterer Block geladen wurde. Wenn ein weiterer Block geladen wurde, kehrt die Ablaufsteuerung zu Block 209 zurück, wo der zusätzliche Block dann in den Adressraum des sekundären Arbeitsspeichers 22 kopiert wird.
- Wenn Block 210 anzeigt, daß der letzte Block des Programms übertragen wurde, durchläuft Block 212 die Steuerung zum Eintrittspunkt des Programms, das gerade in den Adressraum des sekundären Arbeitsspeichers 22 geladen wurde.
- In Block 213 läuft das geladene Programm und sendet einen Abschluß-Code an den Primärprozessor 11, der anzeigt, daß die Ausführung erfolgreich war. Das geladene Programm gibt dann die Steuerung an den Sekundärprozessor 21 zurück, wenn es nicht das auszuführende Vorbereitungsprogramm war. Wenn Block 213 die Steuerung zurück gibt, kehrt die Ablaufsteuerung zu Block 207 zurück, wo Sekundärprozessor 21 auf einen Block eines weiteren Diagnose- oder anderen Vorbereitungsprogramms wartet, das in dem Fenster von der Primäreinheit 10 erscheint. Wenn Block 213 nicht die Kontrolle zurück gibt, wird der Ort des sekundären Fensters 23 überschrieben und vom Sekundärprozessor 21 genutzt, um, wie bereits diskutiert, mit dem Primärprozessor 11 zu kommunizieren.
- Wenn die in Fig. 2C dargestellte zweite alternative Ausführungsform eingesetzt wird, werden die in den Fig. 4A bis 4B und 5A bis 5B dargestellten Diagramme etwas modifiziert. Insbesondere wird das Fensterkonzept durch das Konzept des gemeinsam genutzten Arbeitsspeichers ersetzt. Zum Beispiel würde Block 108 folgendes lesen: "kopiere das Initialisierungsprogramm des Sekundärprozessors in den Adressraum des gemeinsam genutzten Arbeitsspeichers". Die Sprunganweisung, die bei der POR-Ausführungsadresse in Block 109 abgelegt wurde, würde das Sekundärprogramm zum Springen in den gemeinsam genutzten Speicher veranlassen. Auf die gleiche Weise würden alle Abschluß-Codes zu dem gemeinsam genutzten Speicher 62 vom Sekundärprozessor 21 gesendet und aus dem gemeinsam genutzten Speicher 62 vom Primärprozessor 11 gelesen werden.
- Während die Erfindung unter Bezug auf die bevorzugte Ausführungsform beschrieben wurde, wird es dem Fachmann verständlich sein, daß viele Veränderungen im Detail durchgeführt werden können, ohne daß von der Lehre der Erfindung abgewichen wird. Zum Beispiel können der Primär- und Sekundärprozessor mehr in einer Master-/Slave-Beziehung betrieben werden, wobei der Primärprozessor vollständig die Übertragung der Blöcke der Diagnose- oder Vorbereitungsprogramme zum sekundären Arbeitsspeicher ohne Hilfe des Sekundärprozessors steuert. Dies kann durch Bewegen des Fensters über den sekundären Arbeitsspeicher erreicht werden. Zusätzlich kann das Initialisierungsprogramm größer als die Größe von Fenster 50 sein. In diesem Falle wird das Initialisierungsprogramm in Blöcke eingeteilt und auf eine Weise zur Sekundäreinheit 20 gesandt, die ähnlich zu der ist, mit der die Diagnose- oder anderen Vorbereitungsdiagramme wie in den Blöcken 117-127 in Fig. 4B beschrieben, gesandt wurden.
Claims (10)
1. Verfahren zur Initialisierung einer Sekundäreinheit 20 mit
einem Sekundärprozessor (21) der eine Rücksetzleitung
besitzt, von einer Primäreinheit (20) aus, die einen
Primärprozessor (11) besitzt, bestehend aus den Schritten der
Definition eines Fensters (50) aus dem Adressraum eines
primären Arbeitsspeichers (12) in der Primäreinheit und aus
dem Adressraum eines sekundären Arbeitsspeichers (22) in
der Sekundäreinheit, dadurch gekennzeichnet, daß sie
weiterhin folgende Schritte umfaßt:
Abrufen eines Initialisierungsprogramms für die
Sekundäreinheit aus Speicher (17) in der Primäreinheit;
Stellen des Initialisierungsprogramms in das Fenster;
Sperren der Rücksetzleitung (17) des Sekundärprozessors
durch den Primärprozessor; und
Initialisieren des Sekundärprozessors durch das
Initialisierungsprogramm das sich in dem Fenster befindet.
2. Verfahren nach Anspruch 1, das weiterhin die folgenden
Schritte umfaßt:
Abrufen eines Vorlaufprogramms für die Sekundäreinheit aus
dem Speicher mit dem Primärprozessor;
Stellen des Vorlaufprogramms in das Fenster mit dem
Primärprozessor;
und Ausführen des Vorlaufprogramms durch den
Sekundärprozessor:
3. Verfahren nach Anspruch 1, das weiterhin die folgenden
Schritte umfaßt:
Abrufen eines Blockes eines Vorlaufprogramms für die
Sekundäreinheit aus dem Speicher mit dem Primärprozessor,
wobei das Vorlaufprogramm eine Vielzahl von Blöcken umfaßt;
Stellen des Blockes in das Fenster mit dem Primärprozessor;
Kopieren des Blockes in den Sekundärarbeitsspeicher
Wiederholen der Abrufungs-, Stell- und Kopierschritte für
jeden Block des Vorlaufprogramms bis sich das
Vorlaufprogramm in dem Sekundärspeicher befindet; und
Ausführen des Vorlaufprogramms durch den Sekundärprozessor.
4. Computersystem, bestehend aus einer Primäreinheit (10), die
mit einer Sekundäreinheit (20) verbunden ist, wobei die
Primäreinheit einen Primärprozessor (11), einen
Primärarbeitsspeicher (12) und einen Primärspeicher (17) umfaßt
sowie die Sekundärspeichereinheit einen Sekundärprozessor
(21) und einen Adressraum des Sekundärspeichers (22)
umfaßt; dadurch gekennzeichnet, daß das Computersystem
weiterhin folgendes umfaßt:
Mittel (31, 32, 33) für Festlegung eines Fensters (50) aus
dem Adressraum des primären Arbeitsspeichers und dem
Adressraum des sekundären Arbeitsspeichers;
Mittel für die Wiederherstellung eines
Initialisierungsprogramms für die Sekundäreinheit aus dem Primärspeicher;
Mittel für das Stellen des Initialisierungsprogramms in das
Fenster;
Mittel (36) für die Sperrung der Rücksetzleitung (37) des
Sekundärprozessors durch den Primärprozessor; und
Mittel für die Initialisierung des Sekundärprozessors durch
das in dem Fenster enthaltene Initialisierungsprogramm.
5. Computersystem nach Anspruch 4, das weiterhin folgendes
umfaßt:
Mittel für die Wiederherstellung eines Vorlaufprogramms für
die Sekundäreinheit aus dem Primärspeicher mit dem
Primärprozessor;
Mittel für das Stellen des Vorlaufprogramms in das Fenster
mit dem Primärprozessor; und
Mittel für die Ausführung des Vorlaufprogramms durch den
Sekundärprozessor.
6. Computersystem nach Anspruch 4, das weiterhin folgendes
umfaßt:
Mittel für die Wiederherstellung eines Blockes aus einem
Vorlaufprogramm für die Sekundäreinheit aus dem
Primärspeicher mit dem Primärprozessor, wobei das Vorlaufprogramm
eine Vielzahl von Blöcken umfaßt;
Mittel für das Stellen des Blockes in das Fenster mit dem
Primärprozessor;
Mittel für das Kopieren des Blockes in den
Sekundärarbeitsspeicher
Mittel für die Wiederholung der Abrufungs-, Stell- und
Kopierschritte für jeden Block des Vorlaufprogramms, bis sich
das Vorlaufprogramm in dem Sekundärarbeitsspeicher
befindet;
Mittel für die Ausführung des Vorlaufprogramms durch den
Sekundärprozessor.
7. Verfahren für die Initialisierung einer Sekundäreinheit mit
einem Sekundärprozessor (21) aus einer Primäreinheit mit
einem Primärprozessor (11), wobei die Primäreinheit und die
Sekundäreinheit mit einem gemeinsam genutzten Adressraum
des Arbeitsspeichers (62) über einen Bus (19) verbunden
sind, die folgende Schritte umfaßt:
Abrufen eines Initialisierungsprogramms für die
Sekundäreinheit aus dem Speicher in die Primäreinheit;
Stellen des Initialisierungsprogramms in den gemeinsam
genutzten Adressraum des Arbeitsspeichers;
Sperren der Rücksetzleitung des Sekundärprozessors durch
den Primärprozessor; und
Initialisieren des Sekundärprozessors durch das
Initialisierungsprogramm das in dem gemeinsam genutzten Adressraum
des Arbeitsspeichers enthalten ist.
8. Verfahren nach Anspruch 7, das weiterhin die folgenden
Schritte umfaßt:
Abrufen eines Vorlaufprogramms für die Sekundäreinheit aus
dem Speicher;
Stellen des Vorlaufprogramms in den gemeinsam genutzten
Adressraum des Arbeitsspeichers; und
Ausführen des Vorlaufprogramms durch den Sekundärprozessor.
9. Computersystem, bestehend aus einer Primäreinheit (11), die
mit einer Sekundäreinheit (21) verbunden ist, wobei die
Primäreinheit und die Sekundäreinheit mit einem gemeinsam
genutzten Adressraum des Arbeitsspeichers (62) verbunden
sind, sowie die Primäreinheit einen Sekundärprozessor und
einen Sekundärarbeitsspeicher umfaßt; dadurch
gekennzeichnet,
daß das Computersystem weiterhin folgendes umfaßt:
Mittel für die Wiederherstellung eines
Initialisierungsprogramms für die Sekundäreinheit aus dem Primärspeicher;
Mittel für das Stellen des Initialisierungsprogramms in den
gemeinsam genutzten Adressraum des Arbeitsspeichers;
Mittel für die Sperrung der Rücksetzleitung des
Sekundärprozessors durch den Primärprozessor; und
Mittel für die Initialisierung des Sekundärprozessors durch
das Initialisierungsprogramm, das in dem gemeinsam
genutzten Adressraum des Arbeitsspeichers enthalten ist.
10. Computersystem nach Anspruch 9, das weiterhin folgendes
umfaßt:
Mittel für die Wiederherstellung eines Vorlaufprogramms für
die Sekundäreinheit aus dem Primärspeicher;
Mittel für das Stellen des Vorlaufprogramms in den
gemeinsam genutzten Adressraum des Arbeitsspeichers; und
Mittel für die Ausführung des Vorlaufprogramms durch den
Sekundärprozessor.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17406488A | 1988-03-28 | 1988-03-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE68922521D1 DE68922521D1 (de) | 1995-06-14 |
DE68922521T2 true DE68922521T2 (de) | 1996-01-18 |
Family
ID=22634660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1989622521 Expired - Fee Related DE68922521T2 (de) | 1988-03-28 | 1989-02-28 | Sekundärprozessorinitialisierungssystem. |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP0335812B1 (de) |
JP (1) | JPH0212363A (de) |
DE (1) | DE68922521T2 (de) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4021840A1 (de) * | 1990-07-09 | 1992-01-23 | Daimler Benz Ag | Mehrrechnersystem fuer steuer- und diagnosegeraete bei einem kraftfahrzeug |
EP0535265B1 (de) * | 1991-09-30 | 1998-03-18 | Siemens Aktiengesellschaft | Verfahren zur Erstellung einer ablauffähigen Konfiguration eines in einen Systemspeicherbereich eines Prozessorsystems ladbaren Systemprogramms |
FR2704677B1 (fr) * | 1993-04-29 | 1995-06-23 | Alcatel Business Systems | Procédé et dispositif de programmation pour mémoire non volatile électriquement reprogrammable. |
DE19503312A1 (de) * | 1995-02-02 | 1996-08-08 | Sel Alcatel Ag | Verfahren und Schaltungsanordnung für das Laden von Rechnern mit einem Rechnerstartprogramm |
FR2809204B1 (fr) * | 2000-05-17 | 2003-09-19 | Bull Sa | Interface applicative multiprosseur, ne necessitant pas l'utilisation d'un systeme d'exploitation multiprocesseur |
TW558430B (en) * | 2000-11-01 | 2003-10-21 | Kao Corp | Cleaning device |
US6868492B1 (en) * | 2001-07-20 | 2005-03-15 | Lsi Logic Corporation | Methods and apparatus for booting a host adapter device devoid of nonvolatile program memory |
FI20011881A (fi) | 2001-09-25 | 2003-03-26 | Nokia Corp | Menetelmä tukiaseman hajautetun prosessoriarkkitehtuurin käynnistämiseksi ja tukiasema |
US7032106B2 (en) | 2001-12-27 | 2006-04-18 | Computer Network Technology Corporation | Method and apparatus for booting a microprocessor |
JP3826859B2 (ja) * | 2002-08-19 | 2006-09-27 | ソニー株式会社 | 情報処理方法とその方法を実現するプログラム及び記録媒体 |
JP2007213292A (ja) * | 2006-02-09 | 2007-08-23 | Nec Electronics Corp | マルチプロセッサシステム及びスレーブシステムの起動方法 |
EP2141590A1 (de) * | 2008-06-26 | 2010-01-06 | Axalto S.A. | Verfahren zur Datenverwaltung in einem tragbaren elektronischen Gerät mit mehreren Steuerungen |
JP5949977B1 (ja) * | 2015-02-19 | 2016-07-13 | 日本電気株式会社 | 情報処理装置、情報処理方法、メインプロセッサコア、プログラム、情報処理方法、サブプロセッサコア |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3940743A (en) * | 1973-11-05 | 1976-02-24 | Digital Equipment Corporation | Interconnecting unit for independently operable data processing systems |
JPS5822464A (ja) * | 1981-07-31 | 1983-02-09 | Fuji Electric Co Ltd | マルチプロセツサの制御方式 |
AU568490B2 (en) * | 1982-05-07 | 1988-01-07 | Digital Equipment Corporation | Memory-to-memory intercomputer communication |
JPS60147863A (ja) * | 1984-01-11 | 1985-08-03 | Fuji Electric Co Ltd | スレ−ブプロセツサの識別・登録方式 |
EP0179981B1 (de) * | 1984-10-26 | 1992-08-26 | International Business Machines Corporation | Datenverarbeitungsvorrichtung mit festem Adressraum und variablem Speicher |
JPS6260042A (ja) * | 1985-09-10 | 1987-03-16 | Fujitsu Ltd | アタツチメントプログラムのロ−デイング方式 |
JPS62125444A (ja) * | 1985-11-27 | 1987-06-06 | Hitachi Ltd | メモリ共有エリア制御方式 |
JPS62179045A (ja) * | 1986-01-31 | 1987-08-06 | Hitachi Koki Co Ltd | 制御装置 |
JPS62276663A (ja) * | 1986-05-26 | 1987-12-01 | Nec Corp | プログラム転送方法 |
-
1989
- 1989-02-28 DE DE1989622521 patent/DE68922521T2/de not_active Expired - Fee Related
- 1989-02-28 EP EP19890480027 patent/EP0335812B1/de not_active Expired - Lifetime
- 1989-03-09 JP JP1055260A patent/JPH0212363A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
DE68922521D1 (de) | 1995-06-14 |
JPH0212363A (ja) | 1990-01-17 |
EP0335812B1 (de) | 1995-05-10 |
EP0335812A2 (de) | 1989-10-04 |
EP0335812A3 (de) | 1991-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3689696T2 (de) | Datenverarbeitungssystem mit einem Hauptprozessor und einem Ko-Prozessor mit gemeinsamen Betriebsmitteln. | |
DE69730449T2 (de) | Erzeugung einer spiegeldatenkopie (bild) unter verwendung von referenzetiketten | |
DE10315490B4 (de) | Verfahren und System zum Wechsel zwischen zwei oder mehreren Firmwareabbildungen auf einer Hostvorrichtung | |
DE19983768B4 (de) | Verfahren zum Ausführen von für verschiedene Befehlssatzarchitekturen geschriebener Firmware | |
DE68928311T2 (de) | Fern-Urlader | |
DE69027167T2 (de) | Rechnersystem mit Programmladegerät und Ladeverfahren | |
DE3689961T2 (de) | Verfahren zur Verarbeitung von Unterbrechungen in einem digitalen Rechnersystem. | |
DE10085374B4 (de) | Systemmanagementspeicher für die Systemmanagement-Interrupt-Behandler wird in die Speichersteuereinrichtung integriert, unabhängig vom BIOS und Betriebssystem | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE3786967T2 (de) | Protokoll zum Ungültigerklären eines Cachespeichers für ein digitales Datenverarbeitungssystem. | |
DE69022716T2 (de) | Mehrrechnersystem mit verteilten gemeinsamen Betriebsmitteln und dynamischer und selektiver Vervielfältigung globaler Daten und Verfahren dafür. | |
DE2657848C2 (de) | ||
DE69628480T2 (de) | Ausnahmebehandlung in einem Datenprozessor | |
DE69627814T2 (de) | System zum bereitstellen eines bios für den hauptrechner | |
DE3853759T2 (de) | Datenprozessor mit zwei Betriebsmoden. | |
DE68922521T2 (de) | Sekundärprozessorinitialisierungssystem. | |
DE69111635T2 (de) | Gerät und Verfahren zur Background-Speicherprüfung während des Systemanlaufs. | |
DE69124470T2 (de) | Initialisierung von Rechnersystemen | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE3606211A1 (de) | Multiprozessor-computersystem | |
DE69817170T2 (de) | Emulation von unterbrechungsmechanismus in einem multiprozessorsystem | |
DE2517276A1 (de) | Datenverarbeitungssystem | |
DE2750721A1 (de) | Ein/ausgabe-system | |
DE102008030397A1 (de) | Vorrichtung und Verfahren zum drahtlosen Programmieren | |
DE68924992T2 (de) | Symmetrische Steuerungsanordnung für Multiverarbeitung. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |