JPH06231097A - マルチプロセサシステムの始動装置および方法 - Google Patents
マルチプロセサシステムの始動装置および方法Info
- Publication number
- JPH06231097A JPH06231097A JP5258901A JP25890193A JPH06231097A JP H06231097 A JPH06231097 A JP H06231097A JP 5258901 A JP5258901 A JP 5258901A JP 25890193 A JP25890193 A JP 25890193A JP H06231097 A JPH06231097 A JP H06231097A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- memory
- global memory
- processors
- starting
- 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.)
- Pending
Links
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
Abstract
(57)【要約】 (修正有)
【目的】 プロセサローカルメモリーと共有するグロー
バルメモリーとを備えたマルチプロセサシステムを始動
するアーキテクチャと方法。 【構成】 共有するグローバルメモリーへのアクセスは
アトミックメモリーアクセスコントローラによって管理
され、キャッシュメモリーのコヒーレンスはソフトウェ
アによって管理される。リセット回路を使って、共通の
スタート信号とプロセサの個々のリスタート手順をマス
タークロックに同期させる。また、リセット回路信号
は、ローカル及びグローバルメモリー両方をリセットす
るために分配される。グローバルメモリーのテストは、
内部のテスト手順を実行している際の進捗の状況によっ
て或る1つのプロセサに割り当てられて行われる。この
システムと方法は、個々に独立作動できる複数のプロセ
サよりなるマルチプロセサシステムの始動に適してい
る。
バルメモリーとを備えたマルチプロセサシステムを始動
するアーキテクチャと方法。 【構成】 共有するグローバルメモリーへのアクセスは
アトミックメモリーアクセスコントローラによって管理
され、キャッシュメモリーのコヒーレンスはソフトウェ
アによって管理される。リセット回路を使って、共通の
スタート信号とプロセサの個々のリスタート手順をマス
タークロックに同期させる。また、リセット回路信号
は、ローカル及びグローバルメモリー両方をリセットす
るために分配される。グローバルメモリーのテストは、
内部のテスト手順を実行している際の進捗の状況によっ
て或る1つのプロセサに割り当てられて行われる。この
システムと方法は、個々に独立作動できる複数のプロセ
サよりなるマルチプロセサシステムの始動に適してい
る。
Description
【0001】
【産業上の利用分野】本発明は、マルチプロセサシステ
ムに関する。具体的には、共有するグローバルメモリー
と、個々にリセットと始動(以下ブート)が可能な資源
を持つ独立作動が可能な複数のプロセサがあることを特
徴とする多重プロセサシステム即ちマルチプロセサシス
テムのブート、スタート、リスタート、リセットの為の
システムと方法に関するものである。
ムに関する。具体的には、共有するグローバルメモリー
と、個々にリセットと始動(以下ブート)が可能な資源
を持つ独立作動が可能な複数のプロセサがあることを特
徴とする多重プロセサシステム即ちマルチプロセサシス
テムのブート、スタート、リスタート、リセットの為の
システムと方法に関するものである。
【0002】
【従来の技術】互いに整合的に作動する複数のプロセサ
からなるシステムは、初めは、メインフレームコンピュ
ーの状況下で開発され使用された。近来は、マイクロプ
ロセサの低コスト化と高性能化の結果として、マルチプ
ロセサシステムへの関心が高まり、複数のマイクロプロ
セサをパラレルに使ってメインフレームコンピュータと
同様の性能を得ようとしている。
からなるシステムは、初めは、メインフレームコンピュ
ーの状況下で開発され使用された。近来は、マイクロプ
ロセサの低コスト化と高性能化の結果として、マルチプ
ロセサシステムへの関心が高まり、複数のマイクロプロ
セサをパラレルに使ってメインフレームコンピュータと
同様の性能を得ようとしている。
【0003】マルチプロセサシステムについては、いろ
いろなアーキテクチャが定義されてきた。殆どの設計は
キャッシュメモリーの結合作動(以下コヒーレンス)の
必要上、高度に結合されたアーキテクチャに依存してい
る。そのようなシステムでは、キャッシュメモリーのコ
ヒーレンスは、各種のキャッシュやメインメモリーのデ
ータの整合性を確実にするために、個々のマイクロプロ
セサについているキャッシュメモリーを複雑な論理回路
の相互接続によって維持されている。
いろなアーキテクチャが定義されてきた。殆どの設計は
キャッシュメモリーの結合作動(以下コヒーレンス)の
必要上、高度に結合されたアーキテクチャに依存してい
る。そのようなシステムでは、キャッシュメモリーのコ
ヒーレンスは、各種のキャッシュやメインメモリーのデ
ータの整合性を確実にするために、個々のマイクロプロ
セサについているキャッシュメモリーを複雑な論理回路
の相互接続によって維持されている。
【0004】
【発明が解決しようとする課題】マルチプロセサシステ
ムをアーキテクトするにあたっての違ったアプローチ
は、共有するグローバルメモリーへのアクセスをコント
ロールする回路論理とキャッシュのコヒーレンスをソフ
トウェアで管理することを除いて、個々のプロセサのハ
ードウェアレベルの結合を比較的緩くしようとするもの
である。ソフトウェアでキャッシュのコヒーレンスを管
理するアーキテクチャでは、マルチプロセサシステムの
設計にあたって、資源のブート、スタート、リスター
ト、リセットをプロセサハードウェアで統合して行う方
法を利用できるので、現存するプロセサハードウェアを
最大限に有効利用することができる。このように、個々
のプロセサを独立して使うことは、1つまたはそれより
多くのプロセサが故障したりシステムから切り離された
時でも、1個1個が独立していることによりマルチプロ
セサシステム総体としての使用可能性を高めるのに役立
つ。ただ、共有するグローバルメモリーとのコヒーレン
スやアクセスに対する調整作動は、個々のプロセサが独
立している時には若干困難にはなる。
ムをアーキテクトするにあたっての違ったアプローチ
は、共有するグローバルメモリーへのアクセスをコント
ロールする回路論理とキャッシュのコヒーレンスをソフ
トウェアで管理することを除いて、個々のプロセサのハ
ードウェアレベルの結合を比較的緩くしようとするもの
である。ソフトウェアでキャッシュのコヒーレンスを管
理するアーキテクチャでは、マルチプロセサシステムの
設計にあたって、資源のブート、スタート、リスター
ト、リセットをプロセサハードウェアで統合して行う方
法を利用できるので、現存するプロセサハードウェアを
最大限に有効利用することができる。このように、個々
のプロセサを独立して使うことは、1つまたはそれより
多くのプロセサが故障したりシステムから切り離された
時でも、1個1個が独立していることによりマルチプロ
セサシステム総体としての使用可能性を高めるのに役立
つ。ただ、共有するグローバルメモリーとのコヒーレン
スやアクセスに対する調整作動は、個々のプロセサが独
立している時には若干困難にはなる。
【0005】このような個々に独立したプロセサからな
るマルチプロセサシステムで起こる根本的な問題は、シ
ステム全体にわたるブートの実行の調整作業である。複
数のプロセサによるシステムでは個々のプロセサがそれ
ぞれスタートできるように設計され構成されるのは勿論
として、そのようなスタートによる非同期的な共通のス
タート信号の結果のことを組み込まなくてはならない。
非同期性信号は通常パワーサプライの状況から引き起こ
される。また、マルチプロセサシステムは、個々にスタ
ートを行っているプロセサをマスタークロックに同期さ
せるための手段と、共有するグローバルメモリーは勿論
プロセサ全ての初期化(initialization)とテストを確実
に行う装置と方法とを持たねばならない。これを、1つ
または複数のプロセサがダウンしている時でも行うこと
は、ブーティングの仕事をいつも或る一定のプロセサに
行わせることが出来ないので、ブーティングのオペレー
ションの管理を複雑にする。
るマルチプロセサシステムで起こる根本的な問題は、シ
ステム全体にわたるブートの実行の調整作業である。複
数のプロセサによるシステムでは個々のプロセサがそれ
ぞれスタートできるように設計され構成されるのは勿論
として、そのようなスタートによる非同期的な共通のス
タート信号の結果のことを組み込まなくてはならない。
非同期性信号は通常パワーサプライの状況から引き起こ
される。また、マルチプロセサシステムは、個々にスタ
ートを行っているプロセサをマスタークロックに同期さ
せるための手段と、共有するグローバルメモリーは勿論
プロセサ全ての初期化(initialization)とテストを確実
に行う装置と方法とを持たねばならない。これを、1つ
または複数のプロセサがダウンしている時でも行うこと
は、ブーティングの仕事をいつも或る一定のプロセサに
行わせることが出来ないので、ブーティングのオペレー
ションの管理を複雑にする。
【0006】
【課題を解決するための手段】本発明は、それぞれが自
分でスタートできる資源を備えている複数のプロセサ
が、共通のスタート信号とマスタークロックに反応し、
個々のプロセサの資源のみならずシステムレベルのグロ
ーバルメモリーをブート出来るようにするためのアーキ
テクチャとオペレーションの方法を定義するものであ
る。さらに、1個または複数のプロセサがダウンしてい
るかシステムから外されている状況でも、ブート出来る
アーキテクチャを作成することに目的が置かれている。
分でスタートできる資源を備えている複数のプロセサ
が、共通のスタート信号とマスタークロックに反応し、
個々のプロセサの資源のみならずシステムレベルのグロ
ーバルメモリーをブート出来るようにするためのアーキ
テクチャとオペレーションの方法を定義するものであ
る。さらに、1個または複数のプロセサがダウンしてい
るかシステムから外されている状況でも、ブート出来る
アーキテクチャを作成することに目的が置かれている。
【0007】本発明の1つの形として、ローカルプロセ
サメモリー及び共有するグローバルメモリーを持つマル
チプロセサシステムをブートする装置を含むものであ
り、複数のプロセサは個々にスタートする手段を持ち、
マルチプロセサシステムとして全てのプロセサに共通の
スタート信号を生成する手段と、複数のプロセサを同期
化するマスタークロック手段と、マスタークロック手段
に同期し共通のスタート信号に反応するローカルメモリ
ー及びグローバルメモリーのテスト手段とを包含してい
る。本発明のもう1つの側面は、この装置によって定義
されたステップを実行する方法に関する。
サメモリー及び共有するグローバルメモリーを持つマル
チプロセサシステムをブートする装置を含むものであ
り、複数のプロセサは個々にスタートする手段を持ち、
マルチプロセサシステムとして全てのプロセサに共通の
スタート信号を生成する手段と、複数のプロセサを同期
化するマスタークロック手段と、マスタークロック手段
に同期し共通のスタート信号に反応するローカルメモリ
ー及びグローバルメモリーのテスト手段とを包含してい
る。本発明のもう1つの側面は、この装置によって定義
されたステップを実行する方法に関する。
【0008】本発明の1つの望ましい具体化は、プロセ
サスタートとテストのための個別に作動するオフチップ
シーケンサに反応する複数のプロセサを含む。個々のプ
ロセサはローカルメモリーを持ち、ノンブロッキング・
クロスポイントスイッチを介して共有のグローバルメモ
リーにアクセスする。グローバルメモリーへのアクセス
はアトミックメモリーアクセスコントローラを介して調
整される。一方、キャッシュのコヒーレンスはソフトウ
ェアで管理される。共通のスタート信号は共有するパワ
ーサプライの状態に反応して発生され、リセット回路を
介してマスタークロックに同期される。リセット回路は
ローカルメモリーとグローバルメモリーのリセットと同
期をとり調整をする。グローバルメモリーのテストはプ
ログラムロードのシーケンスで或る状態に到達した最初
のプロセサによって実行される。その状態になると、最
初のプロセサはグローバルメモリーにアクセスできる
が、他のプロセサはグローバルメモリーにアクセスでき
なくなる。
サスタートとテストのための個別に作動するオフチップ
シーケンサに反応する複数のプロセサを含む。個々のプ
ロセサはローカルメモリーを持ち、ノンブロッキング・
クロスポイントスイッチを介して共有のグローバルメモ
リーにアクセスする。グローバルメモリーへのアクセス
はアトミックメモリーアクセスコントローラを介して調
整される。一方、キャッシュのコヒーレンスはソフトウ
ェアで管理される。共通のスタート信号は共有するパワ
ーサプライの状態に反応して発生され、リセット回路を
介してマスタークロックに同期される。リセット回路は
ローカルメモリーとグローバルメモリーのリセットと同
期をとり調整をする。グローバルメモリーのテストはプ
ログラムロードのシーケンスで或る状態に到達した最初
のプロセサによって実行される。その状態になると、最
初のプロセサはグローバルメモリーにアクセスできる
が、他のプロセサはグローバルメモリーにアクセスでき
なくなる。
【0009】
【実施例】図1と図2は、本発明によるマルチプロセサ
システムのアーキテクチャをブロックダイアグラムで図
式的に示す。システムには4個のプロセサがあり、番号
1から4をつけてある。プロセサの代表的なものはRISC
システム/6000ワークステーションでAIXのオペレー
ティングシステムがあり、IBM社から出荷されてい
る。各プロセサはオフチップシーケンサ(OCS)6と
クロック7があり、両者はあいまって、オペレーティン
グシステムをブートするイニシャルプログラムロード
(IPL)を始めるのに備えて、関連するプロセサに対
し1連のリセットとテストの手順を実行する。通常行わ
れているように、オフチップシーケンサ6が1連のテス
ト実行を終えると、イニシャルプログラムロード(IP
L)ROM8がアクセスされてハードディスク(図示せ
ず)のような不揮発性の記憶装置からオペレーティング
システムのブートが開始される。図1と図2に示したマ
ルチプロセサシステムは、そのようなプロセサが複数存
在し、それぞれが個々にスターティングシステムを持っ
ていることを示す。各プロセサ1ー4に付随して、それ
ぞれローカルにアドレス可能なメモリーブロック9、1
1、12、13がある。図示していないが、各プロセサ
には命令とデータのためのキャッシュタイプのメモリー
も持っている。先述したように、キャッシュコヒーレン
スはこの後述べる方法によりソフトウェアで管理する。
システムのアーキテクチャをブロックダイアグラムで図
式的に示す。システムには4個のプロセサがあり、番号
1から4をつけてある。プロセサの代表的なものはRISC
システム/6000ワークステーションでAIXのオペレー
ティングシステムがあり、IBM社から出荷されてい
る。各プロセサはオフチップシーケンサ(OCS)6と
クロック7があり、両者はあいまって、オペレーティン
グシステムをブートするイニシャルプログラムロード
(IPL)を始めるのに備えて、関連するプロセサに対
し1連のリセットとテストの手順を実行する。通常行わ
れているように、オフチップシーケンサ6が1連のテス
ト実行を終えると、イニシャルプログラムロード(IP
L)ROM8がアクセスされてハードディスク(図示せ
ず)のような不揮発性の記憶装置からオペレーティング
システムのブートが開始される。図1と図2に示したマ
ルチプロセサシステムは、そのようなプロセサが複数存
在し、それぞれが個々にスターティングシステムを持っ
ていることを示す。各プロセサ1ー4に付随して、それ
ぞれローカルにアドレス可能なメモリーブロック9、1
1、12、13がある。図示していないが、各プロセサ
には命令とデータのためのキャッシュタイプのメモリー
も持っている。先述したように、キャッシュコヒーレン
スはこの後述べる方法によりソフトウェアで管理する。
【0010】それぞれがスタートするための資源とメモ
リーを持つ独立した複数のプロセサシステムからマルチ
プロセサシステムを考案することは他の要素のことも考
える必要がでてくる。例えば、ライン14上のパワー・
グッド信号は全てのプロセサのオフチップシーケンサに
分配されスタートシーケンスが起こされる。予期される
ように、ライン14上のパワー・グッド信号はライン1
6上のマスタクロック信号とは同期していない。従っ
て、オフチップシーケンサとマスタークロックの始動
は、同時に起こらない。この同期の問題は、オフチップ
シーケンサ6が多くの場合自らのクロック7に同期して
いるので、さらに厄介な問題である。
リーを持つ独立した複数のプロセサシステムからマルチ
プロセサシステムを考案することは他の要素のことも考
える必要がでてくる。例えば、ライン14上のパワー・
グッド信号は全てのプロセサのオフチップシーケンサに
分配されスタートシーケンスが起こされる。予期される
ように、ライン14上のパワー・グッド信号はライン1
6上のマスタクロック信号とは同期していない。従っ
て、オフチップシーケンサとマスタークロックの始動
は、同時に起こらない。この同期の問題は、オフチップ
シーケンサ6が多くの場合自らのクロック7に同期して
いるので、さらに厄介な問題である。
【0011】マルチプロセサシステムのさらに他の側面
はアトミックコントローラ15のアトミック信号(semap
hore)17にあり、これはグローバルメモリーアレイ1
8にアクセスすることを、ソフトウェアで調整させるも
のである。アトミックセマフォアコントローラは、ロッ
ク可能なセマフォアタイプのレジスタを使用している。
アトミックセマフォアコントローラは、1時に1つのプ
ロセサが独占的にセマフォアレジスタにアクセスするの
を許すものである。しかしながら、異なるプロセサが同
時に異なるセマフォアを所有することもでき、それぞれ
のプロセサは1時に1つ以上のセマフォアを所有するこ
ともある。ソフトウェアはセマフォアを使って、グロー
バルメモリーの異なったブロックをどのプロセサがアク
セス出来るかを選択する。ソフトウェアはまた、キャッ
シュフラッシュサイクル(cache flush cycle)を使っ
て、それぞれのプロセサキャッシュとグローバルメモリ
ーのコヒーレンスを維持する。アトミックカウンタ19
はマルチプロセサシステムのブートの目的の為にあり、
グローバルメモリーアレイ18の障害やその種の検出の
テストを行うプロセサを選択するのに使われる。
はアトミックコントローラ15のアトミック信号(semap
hore)17にあり、これはグローバルメモリーアレイ1
8にアクセスすることを、ソフトウェアで調整させるも
のである。アトミックセマフォアコントローラは、ロッ
ク可能なセマフォアタイプのレジスタを使用している。
アトミックセマフォアコントローラは、1時に1つのプ
ロセサが独占的にセマフォアレジスタにアクセスするの
を許すものである。しかしながら、異なるプロセサが同
時に異なるセマフォアを所有することもでき、それぞれ
のプロセサは1時に1つ以上のセマフォアを所有するこ
ともある。ソフトウェアはセマフォアを使って、グロー
バルメモリーの異なったブロックをどのプロセサがアク
セス出来るかを選択する。ソフトウェアはまた、キャッ
シュフラッシュサイクル(cache flush cycle)を使っ
て、それぞれのプロセサキャッシュとグローバルメモリ
ーのコヒーレンスを維持する。アトミックカウンタ19
はマルチプロセサシステムのブートの目的の為にあり、
グローバルメモリーアレイ18の障害やその種の検出の
テストを行うプロセサを選択するのに使われる。
【0012】ノンブロッキング・クロスポイントスイッ
チ24は比較的通常の設計を使っており、アドレスコン
テンションがない時には、プロセサ1ー4がグローバル
メモリーアレイ18全体をアクセス出来るようにしてい
る。これにより、複数のプロセサがグローバルメモリー
と同時に連絡することが出来る。
チ24は比較的通常の設計を使っており、アドレスコン
テンションがない時には、プロセサ1ー4がグローバル
メモリーアレイ18全体をアクセス出来るようにしてい
る。これにより、複数のプロセサがグローバルメモリー
と同時に連絡することが出来る。
【0013】図1および図2に示すマルチプロセサシス
テムのブートオペレーションの管理は、2つのリセット
回路、即ちリセット回路RC1(番号21)とリセット
回路RC2(番号22)を介して行われる。通常1個の
リセット回路で充分なのであるが、本発明では、物理的
なチップサイズ上の制限と、システムの中でのタイミン
グのゆがみ(skew)を最小化するために、2個使用する。
リセット回路21と22はグローバルメモリーアレイの
両方の部分即ちバンク0ー3と4ー7が実質的に同時に
リセット出来ることを確実にするために互いに組み合わ
されいる。
テムのブートオペレーションの管理は、2つのリセット
回路、即ちリセット回路RC1(番号21)とリセット
回路RC2(番号22)を介して行われる。通常1個の
リセット回路で充分なのであるが、本発明では、物理的
なチップサイズ上の制限と、システムの中でのタイミン
グのゆがみ(skew)を最小化するために、2個使用する。
リセット回路21と22はグローバルメモリーアレイの
両方の部分即ちバンク0ー3と4ー7が実質的に同時に
リセット出来ることを確実にするために互いに組み合わ
されいる。
【0014】図1と図2には、メモリー断路器(アイソ
レータ)26があり、各プロセサと、ローカル及びグロ
ーバルの両方のメモリーまで延びるメモリーバスの間に
置かれているのを示す。メモリーアイソレータ26は、
グローバルメモリーのテストを実行していない3つのプ
ロセサのオフチップシーケンサの作業を切り離すのに使
われる。これは、選択された1つのプロセサによってグ
ローバルメモリーがテストされている間、グローバルメ
モリーをアクセスする余分なメモリーバスの活動を避け
るためである。
レータ)26があり、各プロセサと、ローカル及びグロ
ーバルの両方のメモリーまで延びるメモリーバスの間に
置かれているのを示す。メモリーアイソレータ26は、
グローバルメモリーのテストを実行していない3つのプ
ロセサのオフチップシーケンサの作業を切り離すのに使
われる。これは、選択された1つのプロセサによってグ
ローバルメモリーがテストされている間、グローバルメ
モリーをアクセスする余分なメモリーバスの活動を避け
るためである。
【0015】図1及び図2で示す、本発明の具体化した
システムとしてのマルチプロセサシステムのブートオペ
レーションは、ライン14上に非同期的に発生したパワ
ー・グッド信号によって開始される。非同期のパワー・
グッド信号は、各プロセサについているオフチップシー
ケンサの中で、非同期の個々にクロックされた複数のリ
セット信号を始動させる。そのようなオフチップシーケ
ンサからでてくるリセット信号は、リセット回路21及
び22の中のライン16上のマスタークロック信号と同
期をとり、リセット回路21はプロセサ1と2に対しリ
セットの同期化を実行し、リセット回路22は同様のこ
とをプロセサ3と4に行う。クロックにより同期のとれ
たリセット信号はそれぞれのプロセサに伝えられる。同
様に、リセット回路21と22から出てくるクロックに
より同期のとれたリセット信号は、それぞれのローカル
メモリー9、11、12、13とグローバルメモリー1
8のそれぞれの部分に向けられる。このようにして、複
数のプロセサは実質的に独立してブートし、自分の資源
をスタートさせるが、なおかつ、共通のパワー・グッド
のスタート信号と、マスタークロックを使った個別に作
動するリセット信号とは同期がとれている。
システムとしてのマルチプロセサシステムのブートオペ
レーションは、ライン14上に非同期的に発生したパワ
ー・グッド信号によって開始される。非同期のパワー・
グッド信号は、各プロセサについているオフチップシー
ケンサの中で、非同期の個々にクロックされた複数のリ
セット信号を始動させる。そのようなオフチップシーケ
ンサからでてくるリセット信号は、リセット回路21及
び22の中のライン16上のマスタークロック信号と同
期をとり、リセット回路21はプロセサ1と2に対しリ
セットの同期化を実行し、リセット回路22は同様のこ
とをプロセサ3と4に行う。クロックにより同期のとれ
たリセット信号はそれぞれのプロセサに伝えられる。同
様に、リセット回路21と22から出てくるクロックに
より同期のとれたリセット信号は、それぞれのローカル
メモリー9、11、12、13とグローバルメモリー1
8のそれぞれの部分に向けられる。このようにして、複
数のプロセサは実質的に独立してブートし、自分の資源
をスタートさせるが、なおかつ、共通のパワー・グッド
のスタート信号と、マスタークロックを使った個別に作
動するリセット信号とは同期がとれている。
【0016】各オフチップシーケンサは、それぞれのプ
ロセサをテストしている間、いくつかの状態(state)に
対し1連のサイクルをとる。そのようなステートには、
複数のリセットサイクルがあり、これらのサイクルはリ
セット回路21と22を介して同期がとられている。各
オフチップシーケンサの仕事は、ROM8からのイニシ
アルプログラムロード(IPL)コードをローディング
することで終了し、つぎにIPLコードはオペレーテイ
ングシステムのローディングを始動する。本発明の具体
化では、IPLコードは、プロセサがアトミックコント
ローラ15のカウンタ19の中のデータを読むよう指示
する命令を含んでいる。カウンタ19はパワアップの際
にはゼロに初期化され、プロセサが読む毎に増加する。
プロセサによる読みは順番づけられているので2つのプ
ロセサが同じ値を読むことはない。値ゼロはこれを受け
取るプロセサに、ローカルメモリーだけでなくグローバ
ルメモリーの全部をテストするようにと伝える。これに
対し、ゼロでない値を読んだプロセサはめいめいのロー
カルメモリーだけをテストするように指示される。ある
時間、ただ1つのプロセサだけがグローバルメモリーを
テストするという必要条件が重要なことは明らかであ
り、カウンタを読む最初のプロセサをどう選択するかは
実用上の考慮からきている。即ち、オフチップシーケン
サは同期しておらず、どのプロセサが最初にIPLを始
めるのかを予測することは実際的ではない。さらに、1
つまたは複数のプロセサが活動していない場合でも、シ
ステムブートのオペレーションが完了し、かつ、1台の
プロセサでグローバルメモリーのテストを実行すること
がもともとの設計目標である。
ロセサをテストしている間、いくつかの状態(state)に
対し1連のサイクルをとる。そのようなステートには、
複数のリセットサイクルがあり、これらのサイクルはリ
セット回路21と22を介して同期がとられている。各
オフチップシーケンサの仕事は、ROM8からのイニシ
アルプログラムロード(IPL)コードをローディング
することで終了し、つぎにIPLコードはオペレーテイ
ングシステムのローディングを始動する。本発明の具体
化では、IPLコードは、プロセサがアトミックコント
ローラ15のカウンタ19の中のデータを読むよう指示
する命令を含んでいる。カウンタ19はパワアップの際
にはゼロに初期化され、プロセサが読む毎に増加する。
プロセサによる読みは順番づけられているので2つのプ
ロセサが同じ値を読むことはない。値ゼロはこれを受け
取るプロセサに、ローカルメモリーだけでなくグローバ
ルメモリーの全部をテストするようにと伝える。これに
対し、ゼロでない値を読んだプロセサはめいめいのロー
カルメモリーだけをテストするように指示される。ある
時間、ただ1つのプロセサだけがグローバルメモリーを
テストするという必要条件が重要なことは明らかであ
り、カウンタを読む最初のプロセサをどう選択するかは
実用上の考慮からきている。即ち、オフチップシーケン
サは同期しておらず、どのプロセサが最初にIPLを始
めるのかを予測することは実際的ではない。さらに、1
つまたは複数のプロセサが活動していない場合でも、シ
ステムブートのオペレーションが完了し、かつ、1台の
プロセサでグローバルメモリーのテストを実行すること
がもともとの設計目標である。
【0017】このシステムは、始動信号の非同期的状
態、プロセサの個々の始動順序の非同期的状態、また、
選択されたプロセサの存在のいかんにかかわらず、シス
テムのブートを実行するアーキテクチャとそれに関連す
るオペレーションの方法を定義していることを明らかに
した。例えば、図2の点線で囲まれた27の中のプロセ
サとその資源が活動していない場合でも、残りの3台の
プロセサは通常の方法で完全に稼働するシステムにブー
トできる。
態、プロセサの個々の始動順序の非同期的状態、また、
選択されたプロセサの存在のいかんにかかわらず、シス
テムのブートを実行するアーキテクチャとそれに関連す
るオペレーションの方法を定義していることを明らかに
した。例えば、図2の点線で囲まれた27の中のプロセ
サとその資源が活動していない場合でも、残りの3台の
プロセサは通常の方法で完全に稼働するシステムにブー
トできる。
【0018】図3は具体案のリセット回路の内部の論理
構造を図式的に示したものである。各種のブロックは機
能別に位置づけられている。マスタークロックとパワー
・グッドに関連するパワーオンリセット(POR)信号
が、入力及び出力とともに示してある。図4と図5の上
部の説明に、ソース、行き先、及び入力と出力信号の特
徴を定義してある。図4及び図5に各種信号のタイミン
グの関連を示す。図4はハードウェアリセット信号が低
いレベルでスタートする場合の各種信号の状態を示す。
図5はハードウェアリセット信号が高いレベルでスター
トする場合の各種信号の状態を示す。
構造を図式的に示したものである。各種のブロックは機
能別に位置づけられている。マスタークロックとパワー
・グッドに関連するパワーオンリセット(POR)信号
が、入力及び出力とともに示してある。図4と図5の上
部の説明に、ソース、行き先、及び入力と出力信号の特
徴を定義してある。図4及び図5に各種信号のタイミン
グの関連を示す。図4はハードウェアリセット信号が低
いレベルでスタートする場合の各種信号の状態を示す。
図5はハードウェアリセット信号が高いレベルでスター
トする場合の各種信号の状態を示す。
【0019】
【発明の効果】本発明により定義されたアーキテクチャ
とオペレーションの方法は、ローカルメモリー及び共有
するグローバルメモリーを持つマルチプロセサシステム
に於いて、非同期的に起きるブート用の各種信号を同期
化するのみならず、システム構成上融通性が欠けた状況
でも、この目的を達成するものである。即ち、ブーティ
ングは、独立して作動する始動シーケンサを持つプロセ
サで実行され、マスタークロックにより同期がとられた
ローカルメモリー及びグローバルメモリーのリセットを
用意し、グローバルメモリーをテストするプロセサを選
択するプロセスを定義している。最も大切なことは、こ
れらの目的が1台または複数台のプロセサがシステムか
ら外されていても可能なことである。
とオペレーションの方法は、ローカルメモリー及び共有
するグローバルメモリーを持つマルチプロセサシステム
に於いて、非同期的に起きるブート用の各種信号を同期
化するのみならず、システム構成上融通性が欠けた状況
でも、この目的を達成するものである。即ち、ブーティ
ングは、独立して作動する始動シーケンサを持つプロセ
サで実行され、マスタークロックにより同期がとられた
ローカルメモリー及びグローバルメモリーのリセットを
用意し、グローバルメモリーをテストするプロセサを選
択するプロセスを定義している。最も大切なことは、こ
れらの目的が1台または複数台のプロセサがシステムか
ら外されていても可能なことである。
【図1】図1は、マルチプロセサシステムを図式化した
ブロックダイアグラムである。
ブロックダイアグラムである。
【図2】図2は、図1と同様のマルチプロセサシステム
のブロックダイアグラムで、図1の続きである。
のブロックダイアグラムで、図1の続きである。
【図3】図3は、リセット回路の回路機能を示すブロッ
クダイアグラムである。
クダイアグラムである。
【図4】図4は、リセットとテストを実行する方法での
回路の動きを波形で表したものでハードウェアリセット
が"0"でスタートする場合を表す。
回路の動きを波形で表したものでハードウェアリセット
が"0"でスタートする場合を表す。
【図5】図5は、図4と同様で、ハードウェアリセット
が"1"でスタートする場合を表す。
が"1"でスタートする場合を表す。
1、2、3、4 プロセサ 6 オフチップシーケンサ 7 クロック 8 イニシャルプログラムロードR
OM 9、11、12、13 プロセサメモリーブロック 15 アトミックコントローラ 17 アトミックセマフォア 18 グローバルメモリーアレイ 19 アトミックカウンタ 21、22 リセット回路 24 ノンブロッキング・クロスポイ
ントスイッチ 26 メモリー断路器
OM 9、11、12、13 プロセサメモリーブロック 15 アトミックコントローラ 17 アトミックセマフォア 18 グローバルメモリーアレイ 19 アトミックカウンタ 21、22 リセット回路 24 ノンブロッキング・クロスポイ
ントスイッチ 26 メモリー断路器
フロントページの続き (72)発明者 ジェイムス ドッド ヘンセン、ジュニア アメリカ合衆国 78758 テキサス州 オ ースティン メインドライブ 8405 (72)発明者 オスカー レイド ミッチェル アメリカ合衆国 78660 テキサス州 フ ルージャヴィル ウイロウッドレイン 600
Claims (5)
- 【請求項1】 グローバルメモリーを備えたマルチプロ
セサシステムを始動する装置で、 複数のプロセサを非同期的にスタートする手段と、 第1のプロセサのスタート手順の信号をマスタークロッ
クに同期させる手段よりなる始動装置。 - 【請求項2】 上記装置に於いて、グローバルメモリー
を第1のプロセサによってマスタークロックに同期させ
てテストする手段よりなる請求項1に記載の装置。 - 【請求項3】 上記装置に於いて、同期の手段がさらに
リセット信号をグローバルメモリーに同期させる手段よ
りなる請求項1に記載の装置。 - 【請求項4】 グローバルメモリーの為にマルチプロセ
サシステムを始動する方法で、 複数のプロセサを非同期的にスタートし、 第1のプロセサのスタート手順の信号をマスタークロッ
クに同期させることよりなる始動方法。 - 【請求項5】 プロセサローカルメモリーとグローバル
メモリーとを備えたマルチプロセサシステムを始動する
装置で、 各プロセサを個々にスタートする手段と、 複数のプロセサを同期させるマスタークロック手段と、 選択された1つのプロセサにより、マスタークロックと
同期してグローバルメモリーをテストする手段よりなる
始動装置。
Applications Claiming Priority (2)
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 |
US07/969,596 | 1992-10-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06231097A true JPH06231097A (ja) | 1994-08-19 |
Family
ID=25515723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5258901A Pending JPH06231097A (ja) | 1992-10-30 | 1993-09-24 | マルチプロセサシステムの始動装置および方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5448716A (ja) |
EP (1) | EP0602791B1 (ja) |
JP (1) | JPH06231097A (ja) |
AT (1) | ATE179812T1 (ja) |
CA (1) | CA2099413C (ja) |
DE (1) | DE69324778T2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170116147A (ko) | 2014-06-03 | 2017-10-18 | 미쓰비시덴키 가부시키가이샤 | 압력 탱크, 이것을 이용한 가스 절연 개폐 장치 및 압력 탱크의 제조 방법 |
Families Citing this family (36)
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 | ディジタル信号処理方法及び装置並びにメモリセル読出し方法 |
EP0817998A4 (en) * | 1995-03-31 | 1998-09-23 | Intel Corp | TESTING THE MEMORY IN A MULTI-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 |
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 |
US20050060549A1 (en) * | 1998-10-26 | 2005-03-17 | Microsoft Corporation | Controlling access to content based on certificates and access predicates |
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 |
US6782440B2 (en) | 2000-07-26 | 2004-08-24 | T.N.S. Holdings, Inc. | Resource locking and thread synchronization in a multiprocessor environment |
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 |
US6675277B2 (en) | 2000-07-26 | 2004-01-06 | Tns Holdings, Inc. | Method and apparatus for demand usable adapter memory access management |
US6715059B2 (en) | 2000-07-26 | 2004-03-30 | Tas Holdings, Inc. | Methods and systems for a shared memory unit with extendable functions |
US20020029334A1 (en) * | 2000-07-26 | 2002-03-07 | West Karlon K. | High availability shared memory system |
EP1407352A2 (en) * | 2001-05-19 | 2004-04-14 | International Business Machines Corporation | Electronic system and method for booting of an electronic system |
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 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6383856A (ja) * | 1986-09-29 | 1988-04-14 | Toshiba Corp | マルチプロセッサシステムおよび同システムの初期化方法 |
JPS63104167A (ja) * | 1986-10-21 | 1988-05-09 | Nissin Electric Co Ltd | ブ−トプロセツサ決定方式 |
Family Cites Families (14)
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 | マルチプロセツサシステム |
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/en 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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6383856A (ja) * | 1986-09-29 | 1988-04-14 | Toshiba Corp | マルチプロセッサシステムおよび同システムの初期化方法 |
JPS63104167A (ja) * | 1986-10-21 | 1988-05-09 | Nissin Electric Co Ltd | ブ−トプロセツサ決定方式 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170116147A (ko) | 2014-06-03 | 2017-10-18 | 미쓰비시덴키 가부시키가이샤 | 압력 탱크, 이것을 이용한 가스 절연 개폐 장치 및 압력 탱크의 제조 방법 |
US10263401B2 (en) | 2014-06-03 | 2019-04-16 | Mitsubishi Electric Corporation | Pressure tank, gas insulated switchgear using same, and pressure tank manufacturing method |
Also Published As
Publication number | Publication date |
---|---|
EP0602791A3 (en) | 1997-03-19 |
EP0602791B1 (en) | 1999-05-06 |
US5448716A (en) | 1995-09-05 |
DE69324778T2 (de) | 1999-12-09 |
CA2099413C (en) | 1999-02-16 |
ATE179812T1 (de) | 1999-05-15 |
CA2099413A1 (en) | 1994-05-01 |
DE69324778D1 (de) | 1999-06-10 |
EP0602791A2 (en) | 1994-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH06231097A (ja) | マルチプロセサシステムの始動装置および方法 | |
US6604060B1 (en) | Method and apparatus for determining CC-NUMA intra-processor delays | |
US6154838A (en) | Flash ROM sharing between processor and microcontroller during booting and handling warm-booting events | |
US6158000A (en) | Shared memory initialization method for system having multiple processor capability | |
US5491788A (en) | Method of booting a multiprocessor computer where execution is transferring from a first processor to a second processor based on the first processor having had a critical error | |
US6223228B1 (en) | Apparatus for synchronizing multiple processors in a data processing system | |
Heart et al. | A new minicomputer/multiprocessor for the ARPA network | |
JP2651916B2 (ja) | インサーキット・エミュレータ | |
US6502209B1 (en) | Chip with debug capability | |
US6571360B1 (en) | Cage for dynamic attach testing of I/O boards | |
JPH011039A (ja) | インサーキット・エミュレータ | |
JP2002268900A (ja) | 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構 | |
JP2007004787A (ja) | コンピュータシステムの高速ブート | |
US7111200B2 (en) | Apparatus and method for debugging a logical partition | |
US7568138B2 (en) | Method to prevent firmware defects from disturbing logic clocks to improve system reliability | |
JPS5812603B2 (ja) | 入出力活動監視装置 | |
US8898653B2 (en) | Non-disruptive code update of a single processor in a multi-processor computing system | |
US5408647A (en) | Automatic logical CPU assignment of physical CPUs | |
WO1994008291A9 (en) | AUTOMATIC LOGICAL CPU ASSIGNMENT OF PHYSICAL CPUs | |
US6249880B1 (en) | Method and apparatus for exhaustively testing interactions among multiple processors | |
JP3947381B2 (ja) | スケーラブルパラレル処理のためのユニット同期化を処理する方法 | |
US6230263B1 (en) | Data processing system processor delay instruction | |
JP2001209556A (ja) | 検証支援システム | |
US5812822A (en) | Apparatus for coordinating clock oscillators in a fully redundant computer system | |
KR100681427B1 (ko) | 다중 프로세서 시스템을 위한 리셋 회로 |