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
Application number
DE1989622521
Other languages
English (en)
Other versions
DE68922521D1 (de
Inventor
Stephen Arthur Knight
Mark Gregory Manges
Nelson Armand Martel
Gerald David Miller
Raymond Keith Morse
Raymond Francis Romom
Anne Margaret Wernimont
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE68922521D1 publication Critical patent/DE68922521D1/de
Application granted granted Critical
Publication of DE68922521T2 publication Critical patent/DE68922521T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/177Initialisation 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.
DE1989622521 1988-03-28 1989-02-28 Sekundärprozessorinitialisierungssystem. Expired - Fee Related DE68922521T2 (de)

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)

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

* Cited by examiner, † Cited by third party
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 プログラム転送方法

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