[go: up one dir, main page]

DE69324778T2 - Gerät und Verfahren zum Starten eines Mehrprozessorsystems mit einer Global/Lokalspeicherarchitektur - Google Patents

Gerät und Verfahren zum Starten eines Mehrprozessorsystems mit einer Global/Lokalspeicherarchitektur

Info

Publication number
DE69324778T2
DE69324778T2 DE69324778T DE69324778T DE69324778T2 DE 69324778 T2 DE69324778 T2 DE 69324778T2 DE 69324778 T DE69324778 T DE 69324778T DE 69324778 T DE69324778 T DE 69324778T DE 69324778 T2 DE69324778 T2 DE 69324778T2
Authority
DE
Germany
Prior art keywords
processor
global memory
processors
reset
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69324778T
Other languages
English (en)
Other versions
DE69324778D1 (de
Inventor
William Rudolph Hardell
James Dodd Henson
Oscar Reid Mitchell
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
Application granted granted Critical
Publication of DE69324778D1 publication Critical patent/DE69324778D1/de
Publication of DE69324778T2 publication Critical patent/DE69324778T2/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/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

    Bezugnahme auf vewandte Anmeldungen
  • Die vorliegende Erfindung ist mit der ebenfalls anhängigen Europäischen Patentanmeldung Nr. 93308323.0 (IBM-Verzeichnisnr. AT 992 147) mit dem Titel "Apparatus and Method for Steering Spare Bits in a Multiple Processor System" verwandt und weist Miterfinderschaft und denselben Anmelder auf.
  • Der Erfindung zugrundeliegender allgemeiner Stand der Technik
  • Die vorliegende Erfindung betrifft allgemein Mehrprozessor- Rechnersysteme. Insbesondere betrifft die Erfindung Systeme und Verfahren, die dazu dienen, ein Mehrprozessorsystem, das durch das Vorhandensein eines gemeinsam benutzten globalen Speichers und einer Vielzahl von Prozessoren, die verhältnismäßig unabhängig voneinander betrieben werden können und über spezifische Rücksetz- und Laderessourcen verfügen, zu laden/zu starten/erneut zu starten/zurückzusetzen.
  • Systeme, die aus mehreren, aber koordinierten Prozessoren bestehen, wurden zuerst im Zusammenhang mit Großrechnern entwickelt und eingesetzt. In der letzten Zeit hat das Interesse an Mehrprozessorsystemen als Folge der niedrigen Kosten und der hohen Leistungsfähigkeit von Mikroprozessoren mit dem Ziel, die Leistungsfähigkeit von Großrechnern durch die parallele Verwendung von mehreren Mikroprozessoren zu vervielfältigen, stark zugenommen.
  • Viele verschiedene Architekturen wurden für Mehrprozessorsysteme definiert. Die meisten Konzepte stützen sich auf Grund der Notwendigkeit der Übereinstimmung von Cachespeichern in hohem Maße auf integrierte Architekturen. In diesen Systemen wird die Übereinstimmung der Cachespeicher durch die Verbindung der zu den einzelnen Mikroprozessoren gehörenden Cachespeicher über komplexe Logikschaltungen aufrechterhalten, um eine Übereinstimmung der Daten sicherzustellen, die in den verschiedenen Cachespeichern und im Hauptspeicher widergespiegelt wird.
  • Ein etwas anderer Ansatz zur Definition der Architektur eines Mehrprozessorsystems stützt sich auf eine verhältnismäßig lose Kopplung der einzelnen Prozessoren auf Hardwareebene, mit der einzigen Ausnahme, dass Schaltlogik den Zugriff auf den gemeinsam benutzen globalen Speicher steuert, und auf die Verwendung von Software zur Verwaltung der Übereinstimmung der Cachespeicher. Eine Architektur, die sich auf softwareverwaltete Cachespeicherübereinstimmung stützt, erlaubt dem Entwickler die Nutzung von bestehender Prozessor-Hardware in höchstmöglichem Umfang, einschließlich der Nutzung von Ressourcen zum Laden/Starten/erneuten Starten/Zurücksetzen, die in die Prozessor-Hardware integriert sind. Diese Unabhängigkeit der Prozessoren eignet sich auf für Mehrprozessorsysteme mit sehr unterschiedlichen Verfügbarkeitsgraden, da diese Unabhängigkeit die Aufrechterhaltung eines kontinuierlichen Systembetriebs bei einem Ausfall oder einer Entnahme von einem oder mehr Prozessoren erleichtert. Die Koordination beim Zugriff auf und die Übereinstimmung mit einem gemeinsam benützten globalen Speicher ist bei dieser Unabhängigkeit der Prozessoren natürlich etwas schwieriger.
  • Ein grundlegendes Problem, das bei solchen Mehrprozessorsystemen mit spezifischen Prozessoren auftritt, schließt die Koordination zur Durchführung eines systemweiten Hochfahrens ein.
  • Nicht nur werden die vielen Prozessoren zur Durchführung der spezifischen Startvorgänge entwickelt und konfiguriert, sondern diese Startvorgänge müssen auch die Wirkungen eines gemeinsamen asynchronen Startsignals beinhalten. Das asynchrone Signal wird gewöhnlich vom, Zustand der Stromversorgung abgeleitet. Das Mehrprozessorsystem muss auch über Ressourcen zur Synchronisation der Prozessoren verfügen, die nach einem Haupttakt spezifisch gestartet werden, sowie über Einrichtungen und Verfahren, um die Initialisierung und Prüfung aller Prozessoren sowie des gemeinsam benutzten globalen Speichers sicherzustellen. Dies angesichts eines Fehlers in einem oder mehreren der Prozessoren durchzuführen, kompliziert die Verwaltung des Hochfahrens, da die Verantwortung für den Ladevorgang nicht ständig ausgewählten der Prozessoren zugewiesen werden kann.
  • Zusammenfassung der Erfindung
  • Die vorliegende Erfindung stellt ein Verfahren und eine Vorrichtung zum Hochfahren eines Mehrprozessor-Rechnersystems bereit, das einen gemeinsam benutzten globalen Speicher und einen im Prozessor befindlichen lokalen Speicher aufweist, wobei die Vorrichtung folgendes umfasst: Mittel, um mehrere Prozessoren asynchron zu starten; und Mittel, um ein Signal in der Startfolge eines jeden der vielen Prozessoren auf einen Haupttakt zu synchronisieren, wobei das Synchronisationsmittel Rücksetzschaltungen umfasst, um ein allgemein verteiltes Startsignal und Startfolgen von prozessorspezifischen Ressourcen zu synchronisieren, wobei die Rücksetzschaltungen so ausgelegt sind, dass sie taktsynchronisierte Rücksetzsignale verteilen, um sowohl den lokalen Speicher als auch den globalen Speicher zurückzusetzen.
  • Vorzugsweise definiert die vorliegende Erfindung eine Mehrprozessorarchitektur und ein Betriebsverfahren, bei dem eine Viel zahl von Prozessoren, die getrennte Startressourcen haben, auf ein gemeinsames Startsignal und einen gemeinsamen Haupttakt ansprechen, um nicht nur ihre spezifischen Prozessorressourcen, sondern auch den globalen Speicher auf Systemebene zu laden. Außerdem werden die Aufgaben im Zusammenhang mit einer Architektur gelöst, die ungeachtet eines Fehlers in oder bei Nichtvorhandensein von einem oder mehreren der spezifischen Prozessoren eine Startoperation durchführt.
  • In einer Ausführungsform schließt die vorliegende Erfindung eine Vorrichtung zum Hochfahren eines Mehrprozessorsystems ein, das sowohl einen im Prozessor befindlichen lokalen als auch einen gemeinsam benutzen globalen Speicher hat, wobei die Prozessoren über spezifische Startmittel verfügen, wobei das System ein Mittel enthält, um ein gemeinsames Startsignal an alle Prozessoren zu erzeugen, ein Haupttaktmittel, um die vielen Prozessoren zu synchronisieren, und ein Mittel, um den lokalen Speicher und den globalen Speicher synchron mit dem Haupttaktmittel und als Antwort auf das gemeinsame Startsignal zu prüfen. In einer anderen Ausführungsform betrifft die Erfindung Verfahren, welche die von der Vorrichtung näher bezeichneten Schritte durchführen.
  • Eine bevorzugte Ausführungsform der Erfindung schließt eine Vielzahl von Prozessoren ein, die auf spezifische, chipexterne Folgesteuerungseinheiten ansprechen, um die Prozessoren zu starten und zu prüfen. Jeder Prozessor verfügt über einen lokalen Speicher und hat über einen blockierungsfreien Koppelpunktschalter Zugriff auf den gemeinsam benutzten globalen Speicher. Der Zugriff auf den globalen Speicher wird durch eine autarke Speicherzugriffs-Steuereinheit koordiniert, während die Übereinstimmung der Cachespeicher durch Software verwaltet wird. Ein gemeinsames Startsignal wird als Antwort auf den Zustand einer gemeinsamen Stromversorgung erzeugt und über Rücksetz schaltungen auf einen Haupttakt synchronisiert. Die Rücksetzschaltungen synchronisieren und koordinieren auch das Zurücksetzen des lokalen und des globalen Speichers. Die Prüfung des globalen Speichers wird vom ersten Prozessor, der einen angegebenen Zustand in einer Programmladefolge erreicht, durchgeführt, wobei dieser Zustand diesem ersten Prozessor den Zugriff auf den globalen Speicher ermöglicht, während andere Prozessoren von diesem Zugriff ausgeschlossen werden.
  • Die Vorteile und die Merkmale der Architektur und der Verfahren, auf die sich die vorliegende Erfindung bezieht, werden nach Prüfung der folgenden Beschreibung einer ausführlichen Ausführungsform klarer verstanden und als vorteilhaft erkannt werden.
  • Kurze Beschreibung der Zeichnungen
  • Fig. 1 ist ein schematisches Blockschaltbild eines Mehrprozessorsystems gemäß einer Ausführungsform der vorliegenden Erfindung;
  • Fig. 2 ist ein Blockschaltbild, das die in einer Rücksetzschaltung enthaltenen Schaltfunktionen gemäß einer Ausführungsform der vorliegenden Erfindung zeigt;
  • Fig. 3 und Fig. 4 veranschaulichen durch Signalformen das Verfahren, nach dem die Schaltung von Fig. 2 arbeitet, um bei zwei verschiedenen Hardware-Startbedingungen einen Rücksetzvorgang und eine Prüfung durchzuführen.
  • Kurze Beschreibung der bevorzugten Ausführungsform
  • Fig. 1 veranschaulicht anhand eines schematischen Blockschaltbilds eine Architektur für das Mehrprozessorsystem, auf das sich die vorliegende Erfindung bezieht. In dem System enthalten sind vier Prozessoren, die mit den Bezugszahlen 1 bis 4 gekennzeichnet sind. Ein repräsentatives Beispiel für einen Prozessor ist der Arbeitsplatzrechner RISC System/6000 mit zugehörigem Betriebssystem AIX, die von der IBM Corporation im Handel erhältlich sind. (RISC System/6000 ist ein eingetragenes Warenzeichen der International Business Machines Corporation). Jeder Prozessor enthält eine chipexterne Folgesteuerungseinheit (OCS) 6 und einen Taktgeber 7, die in Erwartung des Beginns des einleitenden Programmladens (IPL), das dazu dient, das Betriebssystem zu laden, den zugehörigen Prozessor gemeinsam einer Folge von Rücksetz- und Prüfbedingungen zyklisch unterwerfen. Sobald die chipexterne Folgesteuerungseinheit 6 ihre Zyklen abgeschlossen hat, wird der herkömmlichen Praxis entsprechend auf den ROM 8 für das einleitende Programmladen (IPL-ROM) zugegriffen, um mit dem Laden des Betriebssystems aus einem nichtflüchtigen Speicher, wie beispielsweise der Festplatte (nicht gezeigt), zu beginnen. Das Mehrprozessorsystem in Fig. 1 zeigt das Vorhandensein von mehreren solcher Prozessoren und ihrer jeweils zugehörigen Startsysteme. Zu jedem Prozessor 1 bis 4 gehört ein entsprechender lokal adressierbarer Speicherblock, der mit den Bezugszahlen 9, 11, 12 und 13 gekennzeichnet ist. Obwohl dies nicht ausdrücklich gezeigt ist, enthält jeder Prozessor auch einen Speicher vom Typ eines Cachespeichers für Befehle sowie für Daten. Wie zuvor erwähnt wurde, wird die Übereinstimmung der Cachespeicher auf eine Art und Weise von Software verwaltet, die nachfolgend beschrieben werden wird.
  • Der Aufbau eines Mehrprozessorsystems aus einer Vielzahl von spezifischen Prozessorsystemen, einschließlich ihrer zugehörigen Start- und Speicherressourcen, macht die anderen Elemente notwendig. Beispielsweise wird auf der Leitung 14 ein Signal "Spannung in Ordnung" an alle chipexternen Prozessor-Folgesteuerungseinheiten verteilt, um die Startfolge einzuleiten.
  • Erwartungsgemäß ist das Signal "Spannung in Ordnung" auf der Leitung 14 asynchron zum Haupttaktsignal auf der Leitung 16. Deshalb werden die chipexternen Folgesteuerungseinheiten und der Haupttakt nicht gleichzeitig gestartet. Dieses Synchronisationsproblem wird durch die Tatsache, dass die als Ausführungsbeispiel dienenden chipexternen Folgesteuerungseinheiten 6 oftmals auf ihre eigenen Takte 7 synchronisiert werden, weiter verschärft.
  • Weitere Ausführungsformen des Mehrprozessorsystems befinden sich in den autarken Semaphoren 17 der autarken Steuereinheit 15, die es der Software ermöglichen, Zugriffe auf die globale Speichermatrix, die allgemein bei 18 gezeigt ist, zu koordinieren. Die autarke Semaphor-Steuereinheit verwendet sperrbare Register vom Typ Semaphor. Die autarke Semaphor-Steuereinheit gestattet nur jeweils einem Prozessor den Erwerb des ausschließlichen Zugriffs auf ein Semaphor-Register. Jedoch können verschiedene Prozessoren gleichzeitig verschiedene Semaphore besitzen, und jeder Prozessor kann zur selben Zeit mehr als ein Semaphor besitzen. Die Software verwendet die Semaphore zur Auswahl der Prozessoren, die auf verschiedene Blöcke des globalen Speichers zugreifen können. Die Software verwendet auch Cachespeicher-Löschzyklen, um die Übereinstimmung des globalen Speichers mit jeweiligen Prozessor-Cachespeichern aufrechtzuerhalten. Der autarke Zähler 19 spielt beim Hochfahrendes Mehrprozessorsystems eine Rolle und wird verwendet, um den Prozessor auszuwählen, der die globale Speichermatrix 18 auf Defekte und dergleichen prüft.
  • Der blockierungsfreie Koppelpunktschalter 23 verwendet ein verhältnismäßig übliches Konzept, mit dem erden Prozessoren 1 bis 4 den direkten Zugriff auf die gesamte globale Speichermatrix 18 erlaubt, wenn keine Adressenkonflikte vorhanden sind. Die Prozessoren sind dadurch in der Lage, gleichzeitig mit dem globalen Speicher zu kommunizieren.
  • Die Verwaltung der Startoperation für das Mehrprozessorsystem in Fig. 1 wird über zwei Rücksetzschaltungen, die Rücksetzschaltung RC1 an der Bezugszahl 21 und die Rücksetzschaltung RC2 an der Bezugszahl 22 durchgeführt. Obwohl normalerweise eine einzige Rücksetzschaltung ausreichend wäre, verwendet die Ausführungsform auf Grund von Einschränkungen bei der physischen Chipgröße und um Zeitverschiebungen innerhalb des Systems zu minimieren zwei Rücksetzschaltungen. Die Rücksetzschaltungen 21 und 22 sind über Kreuz gekoppelt, um sicherzustellen, dass beide Teile der globalen Speichermatrix, nämlich die Speicherbänke 0 bis 3 und die Speicherbänke 4 bis 7, weitgehend gleichzeitig zurückgesetzt werden.
  • Fig. 1 zeigt auch das Vorhandensein von Speichertrennschaltern 26, die zwischen jedem Prozessor und dem Speicherbus, der sich sowohl zum lokalen Speicher als auch zum globalen Speicher erstreckt, zwischengeschaltet sind. Die Speichertrennschalter 26 dienen zum selektiven Entkoppeln der chipexternen Folgesteuerungsaktivitäten der drei Prozessoren, die den globalen Speichertest nicht durchführen. Dadurch wird verhindert, dass fremde Speicherbusaktivitäten den globalen Speicher erreichen, während der globale Speicher gerade von dem einzigen ausgewählten Prozessor geprüft wird.
  • Die Mehrprozessor-Startoperation des als Ausführungsbeispiel dienenden Systems in Fig. 1 beginnt mit einem asynchron erzeugten Signal "Spannung in Ordnung" auf der Leitung 14. Das asynchrone Signal "Spannung in Ordnung" löst eine Vielzahl von asynchronen und einzeln getakteten. Rücksetzsignalen in den chipexternen Folgesteuerungseinheiten aus, die jedem Prozessor einzeln zugeordnet sind. Die Rücksetzsignale, die von diesen chipexternen Folgesteuerungseinheiten ausgehen, werden in den Rücksetzschaltungen 21 und 22 auf das Haupttaktsignal auf der Leitung 16 synchronisiert, wobei die Rücksetzschaltung 21 die Rücksetzsynchronisation für die Prozessoren 1 und 2 und die Rücksetzschaltung 22 für die Prozessoren 3 und 4 durchführt. Die taktsynchronisierten Rücksetzsignale werden an die jeweiligen Prozessoren übertragen. Von den Rücksetzschaltungen 21 und 22 gehen auch taktsynchronisierte Rücksetzsignale aus, die an die jeweiligen lokalen Speicher 9, 11, 12 und 13 sowie die jeweiligen Teile der globalen Speichermatrix 18 übertragen werden. Auf diese Weise behalten die Prozessoren weitgehend unabhängige Lade- oder Startressourcen, werden unter Verwendung eines Haupttakts aber dennoch auf ein gemeinsames Startsignal vom Typ "Spannung in Ordnung" und auf spezifische Rücksetzsignale synchronisiert.
  • Jede chipexterne Folgesteuerungseinheit durchläuft im Verlauf der Prüfung ihres zugehörigen Prozessors mehrere Zustände. Zu diesen Zuständen gehören mehrere Rücksetzzyklen, die wieder durch die Rücksetzschaltungen 21 und 22 synchronisiert werden. Jede chipexterne Folgesteuerungseinheit schließt mit dem Laden des Codes für das einleitende Programmladen aus dem ROM 8, wobei dieser Code dann das Laden des Betriebssystems einleitet. In dieser Ausführungsform enthält der Code für das einleitende. Programmladen einen Befehl, der den Prozessor anweist, die Daten im Zähler 19 der autarken Steuereinheit 15 zu lesen. Der Zähler 19 wird beim Einschalten auf null gesetzt und nach jeder Leseoperation des Prozessors erhöht Leseoperationen durch aufeinanderfolgende Prozessoren werden serialisiert, so dass keine zwei Prozessoren denselben Wert lesen. Der Wert 0 weist den Empfangsprozessor darauf hin, dass er nicht nur seinen eigenen lokalen Speicher, sondern auch den gesamten globalen Speicher prüfen muss. Im Gegensatz dazu werden Prozessoren, die Werte ungleich null lesen, angewiesen, nur ihre jeweiligen lokalen, im Prozessor befindlichen Speicher zu prüfen. Das Erfordernis, dass nur ein Prozessor während eines Zeitintervalls den globalen Speicher prüft, ist offensichtlich wichtig, während die Auswahl des ersten Prozessors als des den Zähler lesenden Prozessors auf praktischen Überlegungen beruht. Da die chipexternen Folgesteuerungseinheiten nämlich nicht synchronisiert werden, ist es nicht möglich, vorherzusagen, welcher Prozessor zuerst mit dem einleitenden Programmladen (IPL) beginnen wird. Wenn einer oder mehr Prozessoren funktionsunfähig sind, erfordert das ursprüngliche Entwurfsziel außerdem, dass die System- Startoperation dennoch abgeschlossen wird und dass nur ein einziger Prozessor die Prüfung des globalen Speichers übernimmt.
  • Nach ausführlicher Betrachtung sollte offensichtlich sein, dass dieses System eine Architektur und ein zugehöriges Betriebsverfahren definiert, wodurch das Hochfahren des Systems ohne Rücksicht auf die asynchrone Form des Auslösesignals, die asynchrone Form der prozessorspezifischen Startfolgen und ohne Rücksicht auf das Vorhandensein oder Nichtvorhandensein von ausgewählten Prozessoren durchgeführt wird. Wenn zum Beispiel der Prozessor und die zugehörigen Ressourcen, die durch den gestrichelten Block 27 in Fig. 1 angegeben sind, funktionsunfähig wären, würden die restlichen drei Prozessoren auf normale Art und Weise ein vollständig funktionsfähiges System starten.
  • Fig. 2 veranschaulicht schematisch die in eine als Ausführungsbeispiel dienende Rücksetzschaltung integrierte Logik. Die verschiedenen Blöcke sind ihrer Funktion nach gekennzeichnet. Die Haupttaktsignale und die zum Signal "Spannung in Ordnung" gehörenden Netz-Ein-Rücksetz-(POR-)Signale sind zusammen mit den Eingangs- und den Ausgangssignalen gezeigt. Die Quelle, das Ziel und die Art der Eingangs- und Ausgangssignale sind in der Aufschrift der Fig. 3 und 4 angegeben. Die Zeitbeziehungen der verschiedenen Signale sind in den Fig. 3 und 4 darge stellt. Fig. 3 veranschaulicht die Signalformen, wenn das Hardware-Rücksetzsignal bei logisch "0" beginnt. Fig. 4 veranschaulicht andererseits die Zustände der verschiedenen Signale, wenn das Rücksetzen der Hardware bei logisch "1" beginnt.
  • Die Architektur und das Betriebsverfahren, die von der vorliegenden Erfindung definiert wurden, synchronisieren nicht nur verschiedene, asynchron auftretende Signale vom Typ "Laden" für ein Mehrprozessorsystem, das über einen im Prozessor befindlichen lokalen Speicher und einen gemeinsam benutzten globalen Speicher verfügt, sondern lösen diese Aufgaben mit geringerer Flexibilität. Der Startvorgang wird nämlich mit Prozessoren durchgeführt, die unabhängige Start-Folgesteuerungseinheiten haben, er ermöglicht ein auf den Haupttakt synchronisiertes Zurücksetzen des lokalen und des globalen Speichers und legt einen Prozeß zur Auswahl eines Prozessors fest, um den globalen Speicher zu prüfen. Vor allem lassen sich diese Aufgaben mit einem oder mehreren abgehängten Prozessoren lösen.

Claims (11)

1. Vorrichtung zum Laden eines Mehrprozessor-Rechnersystems, das einen gemeinsam benutzten globalen Speicher (18) und einen im Prozessor befindlichen lokalen Speicher (9, 11, 12, 13) aufweist, die folgendes umfasst:
Mittel, um mehrere Prozessoren (1, 2, 3, 4) asynchron zu starten; und
Mittel, um ein Signal in der Startfolge eines jeden der vielen Prozessoren auf einen Haupttakt zu synchronisieren, wobei das Synchronisationsmittel Rücksetzschaltungen (21, 22) umfasst, um ein allgemein verteiltes Startsignal und Startfolgen von prozessorspezifischen Ressourcen zu synchronisieren, wobei die Rücksetzschaltungen so ausgelegt sind, dass sie taktsynchronisierte Rücksetzsignale verteilen, um sowohl den lokalen Speicher als auch den globalen Speicher zurückzusetzen.
2. Vorrichtung nach Anspruch 1, die des Weiteren folgendes umfasst: Mittel (6, 7), um den globalen Speicher durch einen ersten Prozessor synchron mit dem Haupttakt zu prüfen.
3. Vorrichtung nach Anspruch 2, wobei der erste Prozessor ausgewählt wird, um den globalen Speicher (18) auf der Grundlage, dass der erste Prozessor der erste unter den Prozessoren ist, der eine interne Prüffolge abschließt, zu prüfen.
4. Vorrichtung nach Anspruch 3, die des Weiteren folgendes umfasst: Mittel, um während der Prüfung des globalen Speichers nichtausgewählte Prozessoren vom globalen Speicher abzuhängen.
5. Vorrichtung nach Anspruch 3 oder Anspruch 4, wobei das Mittel zur Prüfung des globalen Speichers unter Verwendung eines ausgewählten Prozessors des Weiteren ein Mittel zur Synchronisation der Rücksetzsignale des globalen Speichers und der Prüfsignale des globalen Speichers auf das Haupttaktmittel umfasst.
6. Vorrichtung nach jedem der vorhergehenden Ansprüche, wobei das Mittel, das dazu dient, mehrere Prozessoren asynchron zu starten, ein Mittel enthält, um jeden Prozessor einzeln zu starten, wobei die asynchrone Startfolge in jedem Prozessor einschließt, dass jeder Prozessor schrittweise eine mehrstufige, einzeln getaktete Taktfolge durchläuft.
7. Verfahren zum Laden eines Mehrprozessor-Rechnersystems, das einen gemeinsam benutzten globalen Speicher und einen im Prozessor befindlichen lokalen Speicher aufweist, welches folgendes umfasst:
asynchrones Starten der vielen Prozessoren (1, 2, 3, 4) und
Synchronisieren eines Signals in einer Startfolge eines jeden der vielen Prozessoren auf einen Haupttakt, einschließlich der Synchronisation eines allgemein verteilten Startsignals und der Startfolgen von prozessorspezifischen Ressourcen unter Verwendung von Rücksetzschaltungen, wobei taktsynchronisierte Rücksetzsignale verteilt werden, um sowohl den lokalen Speicher als auch den globalen Speicher zurückzusetzen.
8. Verfahren nach Anspruch 7, das des Weiteren den folgenden Schritt umfasst: haupttaktsynchrones Prüfen des globalen Speichers durch einen ersten Prozessor.
9. Verfahren nach Anspruch 8, das des Weiteren den folgenden Schritt umfasst: Auswählen von einem der Prozessoren, um den globalen Speicher auf der Grundlage, dass der eine Prozessor der erste unter den Prozessoren ist, der eine interne Prüffolge abschließt, zu prüfen.
10. Verfahren nach Anspruch 9, wobei der Schritt der Prüfung des globalen Speichers durch einen ausgewählten Prozessor des Weiteren die Synchronisation der Prüfsignale und der Rücksetzsignale des globalen Speichers auf den Haupttakt umfasst.
11. Verfahren nach jedem der Ansprüche 7 bis 10, wobei der Schritt des asynchronen Startens der vielen Prozessoren folgendes beinhaltet: einzelnes Starten eines jeden Prozessors, wobei die asynchrone Startfolge in jedem Prozessor eine mehrstufige, einzeln getaktete Startfolge einschließt.
DE69324778T 1992-10-30 1993-11-01 Gerät und Verfahren zum Starten eines Mehrprozessorsystems mit einer Global/Lokalspeicherarchitektur Expired - Fee Related DE69324778T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/969,596 US5448716A (en) 1992-10-30 1992-10-30 Apparatus and method for booting a multiple processor system having a global/local memory architecture

Publications (2)

Publication Number Publication Date
DE69324778D1 DE69324778D1 (de) 1999-06-10
DE69324778T2 true DE69324778T2 (de) 1999-12-09

Family

ID=25515723

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69324778T Expired - Fee Related DE69324778T2 (de) 1992-10-30 1993-11-01 Gerät und Verfahren zum Starten eines Mehrprozessorsystems mit einer Global/Lokalspeicherarchitektur

Country Status (6)

Country Link
US (1) US5448716A (de)
EP (1) EP0602791B1 (de)
JP (1) JPH06231097A (de)
AT (1) ATE179812T1 (de)
CA (1) CA2099413C (de)
DE (1) DE69324778T2 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
DE4426001A1 (de) * 1994-07-22 1996-02-01 Sel Alcatel Ag Verfahren zur Überlastvermeidung bei einem Systemanlauf eines Mehrrechnersystems und Mehrrechnersystem dafür
GB9422854D0 (en) * 1994-11-12 1995-01-04 Int Computers Ltd High availability data processing system
JPH08194679A (ja) * 1995-01-19 1996-07-30 Texas Instr Japan Ltd ディジタル信号処理方法及び装置並びにメモリセル読出し方法
AU5029896A (en) * 1995-03-31 1996-10-16 Intel Corporation Memory testing in a multiple processor computer system
JP4226085B2 (ja) 1996-10-31 2009-02-18 株式会社ルネサステクノロジ マイクロプロセッサ及びマルチプロセッサシステム
KR100240572B1 (ko) * 1996-12-05 2000-01-15 윤종용 프로그램 메모리를 공유하는 멀티 프로세서 시스템
JP3180728B2 (ja) * 1997-07-25 2001-06-25 日本電気株式会社 半導体記憶装置
US6058475A (en) * 1997-09-22 2000-05-02 Ncr Corporation Booting method for multi-processor computer
US20050060549A1 (en) * 1998-10-26 2005-03-17 Microsoft Corporation Controlling access to content based on certificates and access predicates
US7194092B1 (en) * 1998-10-26 2007-03-20 Microsoft Corporation Key-based secure storage
US7174457B1 (en) * 1999-03-10 2007-02-06 Microsoft Corporation System and method for authenticating an operating system to a central processing unit, providing the CPU/OS with secure storage, and authenticating the CPU/OS to a third party
US6701429B1 (en) * 1998-12-03 2004-03-02 Telefonaktiebolaget Lm Ericsson(Publ) System and method of start-up in efficient way for multi-processor systems based on returned identification information read from pre-determined memory location
US6601165B2 (en) * 1999-03-26 2003-07-29 Hewlett-Packard Company Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
JP4144990B2 (ja) * 2000-01-14 2008-09-03 富士通株式会社 データ処理システム及び初期化方法
US6487464B1 (en) * 2000-02-25 2002-11-26 Intel Corporation Power-on software for robust boot
US6584560B1 (en) 2000-04-19 2003-06-24 Dell Usa, L.P. Method and system for booting a multiprocessor computer
US20020029334A1 (en) * 2000-07-26 2002-03-07 West Karlon K. High availability shared memory system
US6782440B2 (en) 2000-07-26 2004-08-24 T.N.S. Holdings, Inc. Resource locking and thread synchronization in a multiprocessor environment
US6675277B2 (en) 2000-07-26 2004-01-06 Tns Holdings, Inc. Method and apparatus for demand usable adapter memory access management
US6665777B2 (en) 2000-07-26 2003-12-16 Tns Holdings, Inc. Method, apparatus, network, and kit for multiple block sequential memory management
US6892298B2 (en) 2000-07-26 2005-05-10 Times N Systems, Inc. Load/store micropacket handling system
US6715059B2 (en) 2000-07-26 2004-03-30 Tas Holdings, Inc. Methods and systems for a shared memory unit with extendable functions
EP1407352A2 (de) * 2001-05-19 2004-04-14 International Business Machines Corporation Elektronisches system und verfahren zur urladung eines elektronischen systems
US6948079B2 (en) * 2001-12-26 2005-09-20 Intel Corporation Method and apparatus for providing supply voltages for a processor
US7032106B2 (en) 2001-12-27 2006-04-18 Computer Network Technology Corporation Method and apparatus for booting a microprocessor
US20030126477A1 (en) * 2001-12-28 2003-07-03 Zhang Kevin X. Method and apparatus for controlling a supply voltage to a processor
US7487365B2 (en) * 2002-04-17 2009-02-03 Microsoft Corporation Saving and retrieving data based on symmetric key encryption
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US7100034B2 (en) * 2003-05-23 2006-08-29 Hewlett-Packard Development Company, L.P. System for selecting another processor to be the boot strap processor when the default boot strap processor does not have local memory
JP4576433B2 (ja) * 2006-02-06 2010-11-10 富士通株式会社 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム
US7702893B1 (en) * 2006-09-22 2010-04-20 Altera Corporation Integrated circuits with configurable initialization data memory addresses
US7711941B2 (en) * 2006-12-19 2010-05-04 Lsi Corporation Method and apparatus for booting independent operating systems in a multi-processor core integrated circuit
US7814301B2 (en) * 2007-04-11 2010-10-12 Hewlett-Packard Development Company, L.P. Clock architecture for multi-processor systems
US8862922B2 (en) * 2010-01-14 2014-10-14 International Business Machines Corporation Data center power adjustment
US9037838B1 (en) * 2011-09-30 2015-05-19 Emc Corporation Multiprocessor messaging system
JP2017135762A (ja) 2014-06-03 2017-08-03 三菱電機株式会社 圧力タンク、これを用いたガス絶縁開閉装置および圧力タンクの製造方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4377000A (en) * 1980-05-05 1983-03-15 Westinghouse Electric Corp. Automatic fault detection and recovery system which provides stability and continuity of operation in an industrial multiprocessor control
US4590556A (en) * 1983-01-17 1986-05-20 Tandy Corporation Co-processor combination
US4594657A (en) * 1983-04-22 1986-06-10 Motorola, Inc. Semaphore for memory shared by two asynchronous microcomputers
US4827401A (en) * 1984-10-24 1989-05-02 International Business Machines Corporation Method and apparatus for synchronizing clocks prior to the execution of a flush operation
JPS61281352A (ja) * 1985-06-07 1986-12-11 Hitachi Ltd マルチプロセツサシステムの起動方式
JPS61288262A (ja) * 1985-06-17 1986-12-18 Hitachi Ltd マルチプロセツサシステム
JPH0821025B2 (ja) * 1986-09-29 1996-03-04 株式会社東芝 マルチプロセッサシステムおよび同システムの初期化方法
JPH0766368B2 (ja) * 1986-10-21 1995-07-19 日新電機株式会社 ブ−トプロセツサ決定方式
DE3639571A1 (de) * 1986-11-20 1988-06-01 Standard Elektrik Lorenz Ag Verfahren und schaltungsanordnung zum urladen eines zweitrechners
CA1320276C (en) * 1987-09-04 1993-07-13 William F. Bruckert Dual rail processors with error checking on i/o reads
US5050072A (en) * 1988-06-17 1991-09-17 Modular Computer Systems, Inc. Semaphore memory to reduce common bus contention to global memory with localized semaphores in a multiprocessor system
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5276828A (en) * 1989-03-01 1994-01-04 Digital Equipment Corporation Methods of maintaining cache coherence and processor synchronization in a multiprocessor system using send and receive instructions
US5204938A (en) * 1989-05-30 1993-04-20 Loral Aerospace Corp. Method of implementing a neural network on a digital computer
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
IL93239A (en) * 1990-02-01 1993-03-15 Technion Res & Dev Foundation High flow-rate synchronizer/schedular apparatus for multiprocessors

Also Published As

Publication number Publication date
US5448716A (en) 1995-09-05
ATE179812T1 (de) 1999-05-15
JPH06231097A (ja) 1994-08-19
CA2099413C (en) 1999-02-16
CA2099413A1 (en) 1994-05-01
EP0602791A2 (de) 1994-06-22
EP0602791A3 (de) 1997-03-19
EP0602791B1 (de) 1999-05-06
DE69324778D1 (de) 1999-06-10

Similar Documents

Publication Publication Date Title
DE69324778T2 (de) Gerät und Verfahren zum Starten eines Mehrprozessorsystems mit einer Global/Lokalspeicherarchitektur
DE68925046T2 (de) Konfigurationssteuerungssystem
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE3881824T2 (de) Speichersystem mit automatischer grössenbestimmung.
DE3751600T2 (de) Dreifachredundantes fehlererkennungssystem und entsprechendes anwendungsverfahren.
DE69225750T2 (de) Datenverarbeitungssystem mit internem Befehlspufferspeicher
DE3851033T2 (de) Datenprozessor mit Entwicklungsunterstützungsmerkmalen.
DE69729771T2 (de) Integrierte Schaltung mit einer eingebauten Selbsttestanordnung
DE69027167T2 (de) Rechnersystem mit Programmladegerät und Ladeverfahren
DE3853452T2 (de) Mehrfachverarbeitung mit hoher Verfügbarkeit.
DE19833208C1 (de) Integrierte Schaltung mit einer Selbsttesteinrichtung zur Durchführung eines Selbsttests der integrierten Schaltung
DE69714472T2 (de) Verfahren zum überprüfen eines integrierten speichers mit hilfe einer integrierten dma-schaltung
DE69831732T2 (de) Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem
DE69316755T2 (de) Fehlertolerantes rechnersystem.
DE3786862T2 (de) Fehlertolerante Rechnerarchitektur.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE69435090T2 (de) Rechnersystem mit Steuereinheiten und Rechnerelementen
DE3852604T2 (de) Mikrokomputersystem mit einem Masterprozessor und einem Sklavenprozessor.
DE3853759T2 (de) Datenprozessor mit zwei Betriebsmoden.
DE69028253T2 (de) Mikrocomputersystem mit Mikroprozessor-Rücksetzschaltung
DE2400010A1 (de) Mikroprogrammierte verarbeitungsanordnung und mikro-fehlerdiagnoseanordnung fuer ein datenverarbeitungssystem
DE69608124T2 (de) Prozessorunabhängige fehlerprüfungsanordnung
DE69230626T2 (de) Informationsverarbeitungssystem mit der Fähigkeit zum Betreiben von mehreren Vektorpipelines in zwei unterscheidlichen Wirkungsweisen
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
DE3735828A1 (de) Verfahren und vorrichtung fuer eine anweisungs-wiederanlaufverarbeitung in einer mikroprogramm-gesteuerten datenverarbeitungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee