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/LokalspeicherarchitekturInfo
- 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
Links
- 230000015654 memory Effects 0.000 title claims abstract description 79
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012360 testing method Methods 0.000 claims abstract description 17
- 230000001360 synchronised effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000001353 Chip-sequencing Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1992
- 1992-10-30 US US07/969,596 patent/US5448716A/en not_active Expired - Lifetime
-
1993
- 1993-06-30 CA CA002099413A patent/CA2099413C/en not_active Expired - Fee Related
- 1993-09-24 JP JP5258901A patent/JPH06231097A/ja active Pending
- 1993-11-01 EP EP93308706A patent/EP0602791B1/de not_active Expired - Lifetime
- 1993-11-01 AT AT93308706T patent/ATE179812T1/de not_active IP Right Cessation
- 1993-11-01 DE DE69324778T patent/DE69324778T2/de not_active Expired - Fee Related
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 |