JPH05158902A - マルチプロセッサシステムの試験方法及び装置 - Google Patents

マルチプロセッサシステムの試験方法及び装置

Info

Publication number
JPH05158902A
JPH05158902A JP4063587A JP6358792A JPH05158902A JP H05158902 A JPH05158902 A JP H05158902A JP 4063587 A JP4063587 A JP 4063587A JP 6358792 A JP6358792 A JP 6358792A JP H05158902 A JPH05158902 A JP H05158902A
Authority
JP
Japan
Prior art keywords
test
processor
packet
accumulating
test data
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
Application number
JP4063587A
Other languages
English (en)
Inventor
Hanku Mariusu
マリウス・ハンク
Yuji Sato
裕二 佐藤
Mamoru Sugie
衛 杉江
Kazuhiko Iwasaki
一彦 岩崎
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4063587A priority Critical patent/JPH05158902A/ja
Publication of JPH05158902A publication Critical patent/JPH05158902A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【目的】マルチプロセッサシステムのオンライン及びオ
フライン自己試験のための方法及び装置の提供。 【構成】オフライン試験では、各ノードから、擬似ラン
ダム発生器54が発生した試験データを送信し、各受信
点ノードで、受信した試験データをシグナチャアナライ
ザ55で累積・圧縮して、予め与えられた基準値と比較
する。オンライン試験では、各ノードで、送信するパケ
ット内の目的地アドレスと、受信したパケット内のソー
スアドレスと、供給された命令とをシグナチャアナライ
ザ55で累積・圧縮し、予め与えられた基準値と比較す
る。 【効果】オフライン試験によって、相互接続回路網のす
べてのエレメント(ワイヤ、スイッチ、インタフェー
ス、キュー等)が試験でき、オンライン試験によって、
プログラムの実行時におけるデータ及び制御のフローが
試験できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システムの
試験に関し、特に、コンピュータシステムのシステムレ
ベルでの挙動をオンラインで試験したり、その相互接続
回路網をオフラインで試験するための、高度に並列化さ
れたコンピュータシステムの自己試験における改良に関
する。本発明は、また、複数のプロセスの並行的実行の
自己試験にも利用できる。
【0002】
【従来の技術】伝統的なコンピュータシステムは、プロ
グラムメモリからの単一の命令ストリームの中で1度に
1個ずつ与えられる命令を実行する、単一のプロセッサ
(中央処理ユニット、すなわちCPU)を中心として構
成される。これは、逐次式単一プロセッサ(フォンノイ
マン)アーキテクチャとして知られている。
【0003】ごく最近までは、この手法で十分であっ
た。しかし、計算に対する需要の絶えざる増大は、一部
の研究者達を新しいアーキテクチャについての試みに駆
り立てた。この試みは、計算の速度とスループットの増
大を、単に単一のプロセッサの性能を改良することによ
るのではなく、非常に多数のプロセッサを、いわゆる高
並列アーキテクチャ又は超並列アーキテクチャにより組
合せることによって、追求するものである。このアーキ
テクチャにおいて、計算作業は、複数の命令を同時に実
行する非常に多数の処理エレメントに分配される。この
手法は、非常に有望と認められている。例えば、C. Mea
d及びL. Conwayによる“Introduction toVLSI System
s”、1980年、Addison-Wesley出版社発行、第26
4、265及び273頁とそこに引用されている参考文
献、並びにW. Hillisによる“The Connection Machin
e”、1985年、MITプレス発行、第3ないし6頁
とそこに引用されている参考文献を参照されたい。
【0004】しかしながら、同一パーツ上に作られるコ
ンポーネントの数の増加は、このようなシステムの試験
及び故障許容性の問題を一層厳しいものにした。試験に
関しては、2つの主な手法、つまり、オンライン試験
(時には並行監視と呼ばれる)と、オフライン試験とが
ある。
【0005】オンライン試験は、被試験システムの挙動
におけるエラーを、並列プログラムの実行と並行して検
出することが期待され、その主な目的は、過渡的及び間
欠的故障の検出及び診断にある。この型の故障は、大型
のディジタルシステムでは、永久故障よりも10ないし
30倍多いといわれている。単一プロセッサについて
は、過渡的及び間欠的故障に対処するために幾つかの企
てがなされている。それらは、例えば、A. Mahmood及び
E. J. McCluskeyによる“Concurrent Error Detection
Using Watchdog Processors - A Survey”、1988年
2月発行、IEEE Transactions on Computers、Vol. 3
7、No. 2、第160ないし174頁、及びV. P. Nels
onによる“Fault-Tolerant Computing:Fundamental Co
ncepts”、1990年7月発行、IEEE Computer、第1
9ないし25頁に良く要約されており、主として、冗長
性、誤り検出コード、ウォッチドッグプロセッサ、又は
シグナチャ付き命令ストリームを用いるものである。
【0006】オフライン試験は、より良い診断を行なう
ためにオンライン試験の補助として使える故障検出能力
の高い試験と考えてもよいし、また、それだけを単独で
使用してもよい。オフラインでの適用については、内蔵
自己試験(BIST,Built-In Self-Test)が、直ちに
利用可能なパターンを実施場所で供給すること、システ
ムの平常速度における試験ができること、並びにBIS
T回路により圧縮された試験結果と所定の基準との迅速
な比較ができること、の全てを満たすことができる唯一
の試験方法として、次第に認められつつある。このこと
は、機能試験及びスキャンテストのような在来の試験方
法とは対照的である。
【0007】図2は、マルチプロセッサシステムのオン
ライン試験のための従来技術の一例の概要を示す(前掲
“Concurrent Error Detection Using Watchdog Proces
sors- A Survey”の第167頁右欄、より詳細には、J.
B. Eifert及びJ. P. Shenによる“Processor Monitori
ng Using Asynchronous Signatured Instruction Strea
ms”、1984年、Proceedings of the 14th Fault-To
lerant Computing Symposium"、第394ないし399
頁参照)。図において、マルチプロセッサシステム(2
個のプロセッサ803−1及び803−2のみが示され
ている)のオンライン挙動が、補助プロセッサであるモ
ニタ800によってオンラインでチェックされる。プロ
グラムの実行は、制御フロー、すなわち、各プロセッサ
によって実行される命令の順序を、追うことによってチ
ェックされる。
【0008】プログラムは、まず、プログラムセグメン
トに分割される。各セグメントについて、各プロセッサ
により受信される命令は、シグナチャアナライザ(前掲
文献には、Hardware Signature Generator−HSGとして
示されている)として知られている符号化回路804−
1及び804−2により逐次累積・圧縮される。この圧
縮結果はシグナチャと呼ばれる。以上のようにして得ら
れた、各プロセッサにより実行された一連の命令に対応
するシグナチャは、関連するシグナチャキュ−805−
1及び805−2に、それらの実行の順に記憶される。
モニタは、すべてのシグナチャキューを所定の順に読
み、そして、個々のシグナチャをコンパイル時に発生さ
れた基準シグナチャと比較する。基準シグナチャは、プ
ロセッサがあるプログラムセグメントで実行することに
なっているすべての命令を、それらが実行されるべき正
しい順序で、符号化回路804−1等と同じ構造の符号
化回路で符号化することにより得られる。もしもラン時
のシグナチャとコンパイル時のシグナチャが一致しない
ならば、そのプログラムセグメントの実行に際して生じ
たエラーが検出されたことになる。
【0009】こうして、モニタは、そのシステムにおけ
るすべてのプロセッサの実行時における制御フロー(命
令ストリーム)をチェックする。上記のキューは、モニ
タがあるプロセッサのシグナチャをチェックする間、別
のプロセッサのシグナチャを記憶するために必要であ
る。前掲文献において、モニタとウォッチドッグプロセ
ッサは、実質的に同じものである。この従来技術におい
て、モニタは、すべてのプロセッサを逐次的にチェック
するので、“遊動モニタ”と呼ばれる。
【0010】他方、相互接続回路網も、マルチプロセツ
サシステムの主要な要素の一つであり、この相互接続回
路網の試験も、オンライン及びオフライン共に、マルチ
プロセッサシステムの適正な挙動の検証にとって重要で
ある。パケット交換回路網におけるこの問題の包括的な
解決への従来の試みの一つは、Jyh-Charn Liu及びK.G.
Shinによる“Polynominnal Testing of Packet Switchi
ng Networks”、1989年2月発行、IEEE Transactio
nson Computers、Vol. 38、No. 2、第202ないし
217頁に記載されている。図3は、この従来技術の概
要を示す。図において、スイッチ735がリンク729
を介して接続されている。ここで用いられているのは、
2×2スイッチである(すなわち、それは、2個の入力
ポートと2個の出力ポートの間でメッセージを交換する
ことができる)。それぞれが4個の2×2スイッチから
なる3段スイッチが8個のプロセッサの相互接続のため
に使用され、それにより、8個のプロセッサの間の任意
のデータ交換が可能である。各スイッチは2個のメッセ
ージバッフア733(Q1)と736(Q2)を持ち、
これらが、このスイッチからの2個の出力リンクが利用
可能になるのを待っているメッセージをバッファする。
【0011】この従来技術が採用した方法は、2つのレ
ベルの試験によるものである。すなわち、その一つは、
いわゆる回路網レベルの試験であって、そこでは、各プ
ロセッサがテスタとして使用されて、回路網の一部の試
験を、回路網の残りの部分の平常動作と並行して行な
い、他の一つは、いわゆるスイッチレベルの試験であっ
て、そこでは、各スイッチが、オフライン自己試験(自
律的試験)機構におけるテスタとして使用される。
【0012】始めに、一連のビット又はワードは、解析
上は多項式によって表わすことができることを想起され
たい。前掲文献所載の相互接続回路網に適用される多項
式試験法は、相互接続回路網中の経路を縦続接続された
シフトレジスタアレイとして再構成することによるもの
である。このシフトレジスタアレイは、次いで、多項式
試験のための除算器、乗算器又は類似回路へと変形され
る。被試験経路(RUT)の送信点と受信点に接続され
た各プロセッサが、試験用プロセッサになる。パケット
の既知の入力シーケンスが、試験用プロセッサによって
被試験経路に印加され、この経路の受信点で得られたシ
ーケンス(すなわち、多項式)が、試験応答として監視
される。
【0013】この従来技術において、回路網レベルの試
験は、回路網の形態(トポロジー)と機能をチェック
し、スイッチレベルの試験は、回路網の被試験コンポー
ネントの論理回路構造を検証する。回路網レベルの試験
において、回路網は、送信点から受信点までの各経路に
分割される。1個又は数個の経路が、それをシステムの
残余の部分の平常動作から締め出す(分離する)ことに
よって、オフラインで試験される。こうして、被試験経
路(これは、基本的には、リンクとスイッチからなる)
が試験モードにある間、システムの残余の部分は、平常
の動作モードで動作を続ける。
【0014】図3において、被試験経路(RUT)は太
線によって表わされており、その端子〔1,2〕には、
送信点としてのプロセッサ(PE)739が接続され、
端子〔4,5〕には、受信点としてのプロセッサ741
が接続されている。直列パターン(試験シーケンス)
が、端子〔1,2〕に接続された試験データ発生器とし
てのプロセッサ739によって、被試験経路の入力に供
給される。送信点と受信点の間に存在する諸スイッチ
は、2進シーケンスプロセッサ(多項式乗算器又は除算
器、図4)として動作するように再構成される。この経
路の出力(受信点)〔4,5〕において、プロセッサ7
41が試験観測器(チェッカ)として働き、この経路の
出力シーケンスを監視する。入力シーケンスと、介在す
る諸スイッチの故障が無い場合の構造とが既知なので、
故障が無い場合の出力シーケンスは、予め計算すること
ができる。出力シーケンスにおける誤りの位置は、故障
の位置判定(診断)に使用できる情報を与える。
【0015】図4の(a)と(b)は、それぞれ多項式
乗算器と除算器を示す。これらの回路は、キュー(バッ
ファ)733(Q1)や736(Q2)中に当然存在す
るフリップフロップ751と、それらの間に接続された
排他的ORゲート753とから構成される。諸キューを
このような多項式乗算器又は除算器として配列するに
は、全てのスイッチが再構成可能でなければならない。
【0016】スイッチレベルの試験においては、各スイ
ッチがテスタである。スイッチは、キューとして構成さ
れたバッファと、回送制御ユニット(RCU)と、マル
チプレクサ−デマルチプレクサ(MUDEX)を有する
出力ポートとからなる。前掲文献には、これらのブロッ
クの試験のための混成手法が記載されており、それによ
れば、回送制御ユニツトの試験は、オンラインチェッカ
により行なわれ、諸キューの試験は、それらを多項式発
生器(2進シーケンス発生器)として再構成して、出力
シーケンスを比較することにより行なわれ、もしも諸キ
ューに故障が無ければ、それらは、マルチプレクサ−デ
マルチプレクサの試験のために、再度シーケンス発生器
として再構成される。
【0017】他方、プログラムを複数のプロセスに分割
して、これらのプロセスを、単一のプロセッサで時分割
的に実行したり、あるいは、複数のプロセッサにより並
行的に実行することが、しばしば行なわれる。このよう
な場合に、これら複数のプロセスの間における通信、同
期等の協調機能が必要であり、そのために、メッセージ
授受のためのシステムコール、共用メモリを介してのプ
ロセス間通信、セマフォ、バリヤなどの技巧が開発され
た。また、このような複数のプロセスを複数のプロセッ
サに適切な順序で実行させるように管理するために、オ
ペレーティングシステムにスケジューリング機能を持
つ。これらの協調機能やスケジューリング機能の試験・
監視も重要である。
【0018】
【発明が解決しようとする課題】前掲“Processor Moni
toring Using Asynchronous Signatured Instruction S
treams”に述べられている遊動モニタは、従来提案され
ている数少ないマルチプロセッサシステム用オンライン
試験技法の内の1つである。しかしながら、それは、非
常に多数のプロセッサを含むマルチプロセッサシステム
への適用という点からいうと、重大な難点を持ってい
る。というのは、単一の遊動モニタが時分割ですべての
プロセッサをチェックしなければならないので、個々の
プロセッサのチェックは、相次ぐ命令実行サイクル中極
めて希れにしか行なわれないからである。これは、エラ
ー検出に非常に長い潜伏期間を生じるため、数万個のプ
ロセッサを持つ大型の並列プロセッサにとっては、もは
やオンライン試験とはみなしがたいものである。さりと
て、多数のモニタを設けることは、ハードウェア量の非
常な増大を招くので、甚だ非実用的である。
【0019】従来技術における遊動モニタ手法の他の難
点は、プログラム実行のもう一つの特性、すなわち、プ
ロセッサ間のデータの流れのパターンを、チェックしな
いことである。このことは、相互接続回路網がプログラ
ムの適正な実行に重要な役割を持っているマルチプロセ
ッサシステムにおいて、特に重大である。遊動モニタ法
は、また、コンピュータシステムのオフライン試験のた
めの手段の提供という点からみて不十分である。製造段
階又は保守作業時に徹底した故障検出を行なうには、オ
フライン試験が重要である。
【0020】他方、多項式試験技法は、相互接続回路網
に対してオンライン及びオフライン試験の双方を行なう
ために従来提案された数少ない方法の一つである。しか
しながら、それには幾つかの重大な難点がある。
【0021】第1に、そして最も重大なこととして、こ
の技法による並行試験は、システムの挙動に関する包括
的な機能情報、すなわち、制御フローとデータ回送挙動
の双方に関する情報を、与えない点において不十分であ
る。
【0022】第2に、従来の多項式試験による回路網レ
ベルの試験は、真の意味における並行(オンライン)試
験ではない。すなわち、そこにおける被試験経路(RU
T)の試験は、あくまでもオフライン試験であって、た
だ、それがシステムの他の部分の平常動作と並行して行
なわれるという意味においてのみ、「並行」試験あるい
はオンライン試験であるにすぎない。また、被試験経路
は、試験の間中、システムの他の部分から分離されねば
ならず、かつ、完全な同期動作を必要とする。
【0023】第3に、多項式試験は、制御フローのオン
ライン監視と両立しない。なぜならば、ネットワークレ
ベルの試験に関与するコンポーネントは、平常動作から
外されるからである。例えば、被試験経路の送信点のプ
ロセッサは、試験用入力シーケンスを発生しなければな
らず、したがって、このプロセッサは、もはや平常動作
(プログラムの実行)に使用することができない。試験
されるリンクとスイッチもまた、平常動作から外され
る。
【0024】第4に、従来の多項式試験は、試験用プロ
セッサが特別な試験シーケンスを発生することを必要と
する。
【0025】最後に、従来の多項式試験では、諸スイッ
チが、多項式乗算器又は除算器を構成するように、それ
ら自体で再構成できなければならない。それには、諸ス
イッチをそのためのコマンドパケツトに応答できるよう
にするための、余分の論理回路が必要である。
【0026】我々の知る限り、マルチプロセッサシステ
ムのオンライン試験及びオフライン試験のための満足し
うる方法や装置は、未だ提案されていない。
【0027】また、複数のプロセス間の各種協調機能や
プロセススケジューリング機能をオンラインで試験・監
視する技術も、未だ十分には開発されていない。
【0028】本発明の一つの目的は、大規模なマルチプ
ロセッサシステムにおける相互接続機構を、通常のプロ
グラムの実行と完全に並行して、しかも、比較的少量の
付加的ハードウェアで試験することができるような、オ
ンライン試験方法を提供することにある。
【0029】本発明の他の目的は、前記のような相互接
続機構の試験と同時に制御フローの試験も行なえるよう
な、大規模なマルチプロセッサシステムのためのオンラ
イン試験方法を提供することにある。
【0030】本発明の他の目的は、大規模なマルチプロ
セッサシステムにおける相互接続機構の全体の十分な試
験が、比較的少量の付加的ハードウェアで行なえるよう
な、オフライン試験方法を提供することにある。
【0031】本発明の他の目的は、前記のようなオンラ
イン試験又はオフライン試験を、分散された少量の試験
用ハードウェアによって実施できるような、大規模なマ
ルチプロセッサシステムのための試験装置を提供するこ
とにある。
【0032】本発明の他の目的は、前記のようなオンラ
イン試験及びオフライン試験の双方を、分散された少量
の試験用ハードウェアによって実施できるような、大規
模なマルチプロセッサシステムのための試験装置を提供
することにある。
【0033】本発明の更に他の目的は、複数のプロセス
間の各種協調機能やプロセススケジューリング機能を、
オンラインで試験・監視する方法を提供することにあ
る。
【0034】
【課題を解決するための手段】基本的には、本発明は、
シグナチャ試験の原理を新規な態様で応用することによ
り、前記の目的を達成する。
【0035】本発明のオンライン試験方法においては、
通常のプログラムの実行中に、転送源プロセッサにおい
て、試験データを生成して、転送先プロセッサへ送るデ
ータのパケツトにこの試験データを付加し、パケットを
受信した各プロセッサにおいて、このパケット内の試験
データの少なくとも一部を、例えばシグナチャアナライ
ザを用いて、累積する。予め定められた数のクロックサ
イクルの後、このようにして累積された試験データの累
積値は、予め定められた期待値と比較される。この試験
データとしては、転送源プロセッサの相互接続回路網に
おけるアドレスを用いることができる。
【0036】代替的方法として、転送先プロセッサのア
ドレスを試験データとして用い、転送源プロセッサにお
いて、送出するパケット内の転送先プロセッサのアドレ
スを累積してもよい。また、これらの両方法を併用する
こともでき、更に、これらの試験に加えて、各プロセツ
サにおいて、従来技術と同様な、受信した命令のシグナ
チャ試験を行なってもよい。これらの場合、転送源プロ
セッサのアドレス、転送先プロセッサのアドレス、及び
命令を、単一の累積手段で累積してもよいし、あるい
は、それらを別々の累積手段で累積してもよい。
【0037】他方、本発明のオフライン試験方法におい
ては、試験運転中に、転送源プロセッサにおいて、試験
データを生成し、この試験データを含む試験パケットを
組立てて、転送先プロセッサに宛てて送出し、試験パケ
ットを受信したプロセツサにおいて、このパケツト内の
試験データの少なくとも一部を累積する。予め定められ
た数のクロックサイクルの後、このようにして累積され
た試験データの累積値は、予め定められた期待値と比較
される。試験パケットの転送先アドレスも、試験データ
発生手段により与えることができる。
【0038】オフライン試験における累積値と期待値と
の比較は、各プロセッサがそのすべての直近隣接プロセ
ッサ(他のプロセッサによる中継の必要無しにパケット
を送れるプロセッサ)へ宛てて試験パケツトを送出し終
った時に、行なってもよい。そして、前記比較が不一致
を示す場合には、各プロセッサが直近隣接プロセッサの
一つへ試験パケットを送出するたびに、オフライン試験
を反復することができる。他方、前記比較が一致を示す
場合には、直近隣接プロセッサ以外のプロセッサへの転
送を含むオフライン試験を行なうことができる。
【0039】前記のような試験方法の実施に適した本発
明の並列コンピュータシステム試験装置は、それぞれが
プロセッサの少なくとも一つに接続された複数の試験デ
ータ発生手段と、それぞれがプロセッサの少なくとも一
つに接続された複数の試験データ累積手段と、各転送源
プロセツサにおいてそれに接続された試験データ発生手
段により与えられる試験データを含むパケットを組立て
るための手段と、各転送源プロセッサにおいて前記パケ
ットをその転送先プロセツサに宛てて相互接続手段に送
出するための手段と、各プロセツサにおいて到来したそ
れ宛のパケットを受信するための手段と、パケツトを受
信したプロセッサにおいて受信されたパケット内の試験
データの少なくとも一部をこのプロセッサに接続された
試験データ累積手段により累積するための手段と、与え
られたプログラムを実行しながら予め決められた数のク
ロックサイクルの間並列コンピュータシステムを運転す
るための手段と、前記試験データ累積手段の最終内容を
予め決められた期待値と比較するための手段とを備え
る。
【0040】この装置において、パケットを組立てるた
めの手段を、通常のデータと試験データとを含むパケツ
トを組立てるように構成すれば、オンライン試験用の装
置が得られる。その場合、試験データ発生手段は転送源
プロセツサのアドレスを発生し、試験データ累積手段は
受信されたパケツト内の転送源プロセッサアドレスを累
積するように、構成することができる。あるいは、試験
データ発生手段は転送先プロセッサのアドレスを発生
し、試験データ累積手段は送出されるパケット内の転送
先プロセッサアドレスを累積するように、変更してもよ
い。また、試験データ発生手段は、転送源プロセツサの
アドレスと転送先プロセッサのアドレスの双方を発生
し、試験データ累積手段は、送出するパケット内の転送
先プロセッサアドレスと、受信したパケット内の転送源
プロセツサアドレスとを累積するように、構成すること
もでき、更に、受信した命令も圧縮するように、試験デ
ータ累積手段を構成してもよい。これらの場合、転送先
プロセッサのアドレス、転送源プロセッサのアドレス、
及び命令をそれぞれ累積するための、別々の累積手段を
設けてもよい。
【0041】他方、オフライン試験のためには、パケッ
トを組立てるための手段を、試験データのみからなるパ
ケットを組み立てるように構成する。その場合、試験パ
ケットの転送先プロセッサのアドレスを発生する手段
を、試験データ発生手段の一部として設けてもよい。
【0042】また、前述のようなオンライン試験のため
の機構とオフライン試験のための機構の双方を設け、動
作モードの切替えによって一方又は他方の機構が選択的
に働くように、構成してもよい。
【0043】本発明のオンライン試験方法の原理は、プ
ロセス間通信のオンライン試験にも適用することができ
る。メッセージの形でデータを授受するプロセス間通信
のオライン試験は、前述したプロセッサ間データ転送の
オンライン試験方法におけるのと同様な試験データをメ
ツセージに付加し、同様に試験データを累積することに
よって、行なうことができる。
【0044】共有メモリを介してデータの授受を行なう
プロセス間通信に対しては、各プロセスがプロセス間の
データ授受のため共有メモリセグメントにアクセスする
たびに、当該プロセスの識別情報を、その共有メモリセ
グメントに割当てられた累積手段により累積し、予め定
められた数のクロツクサイクルの後に、最終累積値を期
待値と比較すればよい。プロセス識別情報に加えて、ア
クセスの型(書込み、読出しなど)を示す情報を累積し
てもよい。
【0045】セマフォのような、リソースの使用の可否
を示す情報を備えた共有リソースを介するプロセス間通
信に対しては、各プロセスがプロセス間通信の目的でこ
の共有リソースへのアクセスに成功するたびに、当該プ
ロセスの識別情報を累積すればよい。
【0046】複数のプロセスがそれぞれ所定の段階に到
達するまで各プロセスのそれ以上の進行を阻止する同期
点(バリヤ)によって、プロセス間の同期化が行なわれ
る場合には、相次ぐ同期点に関して、予定されたすべて
のプロセスがそこに到達した時に、それらのプロセスの
識別情報を所定の順序で累積することができる。
【0047】更に、複数のプロセッサに実行順序を定め
て割り当てられた複数のプロセスの実行のオンライン試
験も、各プロセッサが実行中のプロセスの識別情報を、
予め定められた時間間隔で、各プロセッサごとに累積す
ることによって、行なうことができる。
【0048】
【作用】本発明のオンライン試験方法によれば、転送源
プロセッサにおいてデータパケットに付加された試験デ
ータ(例えば転送源プロセッサのアドレス)が、相互接
続機構を介して転送されて、そのパケットを受信したプ
ロセッサにおいて到着順に累積され、更に/あるいは、
転送源プロセッサにおいてデータパケットに付加された
試験データ(例えば転送先プロセッサのアドレス)が、
転送源プロセッサにおいて送出順に累積されて、所定期
間後の累積値が期待値と比較される。期待値は、プロセ
ッサ間のデータ転送が正しく行なわれた場合に得られる
べき累積値であり、例えば、プログラムをコンパイルす
る時に作成することができる。したがって、この比較の
結果が一致を示すか否かは、プログラムが予定したとお
りのデータ転送が行なわれたか否かを示すものとみなし
うる。かくして、相互接続回路網の各種コンポーネン
ト、データ転送に関連するルーター内の各種回路、デー
タ転送に関連するソフトウェア等を含む相互接続機構の
全体が、通常のプログラムの実行と同時に、分散された
少量の試験用ハードウェアにより試験される。
【0049】更に、各プロセッサが受信した命令も累積
すれば、相互接続機構の試験と同時に、制御フローの試
験も行なわれ、かくして、マルチプロセッサシステム全
体の包括的試験を行なうことができる。転送先プロセッ
サのアドレス、転送源プロセッサのアドレス及び命令
を、別々の累積手段で累積すれば、不良箇所の特定が容
易になる。
【0050】他方、本発明のオフライン試験方法によれ
ば、転送源プロセッサにおいて組立てられた試験パケッ
ト内の試験データが、相互接続回路網を介して転送され
て、そのパケットを受信したプロセッサにおいて到着順
に累積され、所定期間後の累積値が期待値と比較され
る。期待値は、プロセッサ間の試験パケット転送が正し
く行なわれた場合に得られるべき累積値であり、試験プ
ログラムを作成する時に作成することができる。したが
って、この比較の結果が一致を示すか否かは、試験プロ
グラムが指定したとおりのデータ転送が行なわれたか否
かを示すものとみなしうる。かくして、相互接続回路網
の各種コンポーネント、データ転送に関連するルーター
内の各種回路等からなる、相互接続回路網の全体が、通
常のシステム速度で、分散された少量の試験用ハードウ
ェアにより試験される。
【0051】各プロセッサからそのすべての直近隣接プ
ロセッサへ試験パケットを送出し終った時に終了するオ
フライン試験は、直近隣接プロセツサ間の(中継プロセ
ッサを介さない)直接接続路の全体を試験する。この試
験により異状が検出されたときに、各プロセッサが直近
隣接プロセッサの一つへ試験パケットを送出するたびに
終るオフライン試験を行なえば、どの直接接続路に不良
があるかを知ることができる。また、前記試験により異
状が検出されないときに、直近隣接プロセッサ以外のプ
ロセッサへの転送を含むオフライン試験を行なえば、中
継プロセッサを含む長い接続路を試験することができ
る。この試験は、ルーター内のキューの試験を含むの
で、通信デッドロックの試験を可能にする。
【0052】本発明の試験装置は、その構成自体から明
らかなように、本発明の試験方法を効率よく実行する。
特に、動作モードの切替えによりオンライン試験とオフ
ライン試験のどちらも行なえるように構成した装置にお
いては、試験用ハードウェアのかなりの部分が、オンラ
イン試験及びオフライン試験の双方において有効に働
き、したがって、僅かなハードウェアで両方の試験を実
施することができる。
【0053】メッセージの形でデータを授受するプロセ
ス間通信についても、本発明によるオンライン試験方法
によれば、マルチプロセッサシステムの相互接続機構に
対する前述のオンライン試験と同様にして、プロセス間
通信機能が試験される。
【0054】共有メモリを介するプロセス間通信につい
ては、この共有メモリにアクセスした諸プロセスとそれ
らの順序とが、また、セマフォのような使用可否表示情
報を備えた共有リソースを介するプロセス間通信につい
ては、この共有リソースの使用に成功した諸プロセスと
それらの順序とが、本発明によるオンライン試験方法に
より、予定通りであったか否かがチェックされ、したが
って、この面からプロセス間通信が試験される。
【0055】また、バリヤのような同期点によるプロセ
ス同期化の本発明によるオンライン試験方法によれば、
各同期点に到達した諸プロセスとそれらの順序とが、予
定通りであったか否かがチェックされる。
【0056】更に、複数のプロセッサに割り当てられた
複数のプロセスの実行の本発明によるオンライン試験方
法によれば、各プロセッサにより実行された諸プロセス
と、それらの順序及び実行時間とが、予定通りであった
か否かがチェックされ、これにより、オペレーティング
システムのスケジュール実行機能が試験される。
【0057】
【実施例】理解が容易なように、以下において、本発明
の好ましい実施例を次の章に分けて説明する。 1 システムの全般的説明 2 ノードの構成 3 相互接続回路網のオフライン内蔵自己試験(BIS
T) 4 並列コンピュータシステムのオンライン試験 5 代替例
【0058】なお、本発明の思想を実施例上に端的に表
わすため、基本的な実施例のシステムの構成は、次のこ
とを前提としている。 ○ 相互接続回路網はパケット交換式である。 ○ 相互接続リンク上の伝送は同期的である。 ○ 相互接続回路網は、パケットの回送に絶対アドレス
指定を使用するn次元キューブ型である。 ○ 回送過程において、受信点は、1回送サイクル中に
せいぜい1個の送信点からデータを受信するだけであ
る。 しかしながら、代替例の章に示すように、この発明の適
用は、このような前提の下に構成されれたシステムの試
験にのみ限定されるものではない。
【0059】1 システムの全般的説明 図5は、本発明によるマルチプロセッサシステムの概略
図である。同図に示されているように、この発明は、コ
ンピュータ10と、マイクロコントローラ20と、相互
接続された多数のプロセッサ42からなるプロセッサア
レイ40と、相互接続回路網50とを含むコンピュータ
システムにおいて、実施することができる。プロセッサ
47は、集積回路の形態にあるのが好ましい。
【0060】コンピュータ10は、汎用のホストコンピ
ュータ又はワークステーションである。それは、ユーザ
ーの便宜のため、高レベルの並列処理用言語でプログラ
ムされる。制御バス11は、コンピュータ10とマイク
ロコントローラ20の間のインタフェースのために使用
される。マイクロコントローラ20は、ホストコンピュ
ータ10に入力される高レベル言語と、プロセッサアレ
イ40を駆動するのに使用されるマイクロ命令の間の変
換を行なう。マイクロコントローラ20は、単一又は多
重の命令バス(I)27を介して、単一又は複数ストリ
ームの命令をプロセッサアレイ40に与える。SIMD
(単一命令複数データ)システムの場合には、単一スト
リームの命令が共通バスを介してすべてのプロセッサに
与えられるが、MIMD(複数命令複数データ)システ
ムの場合には、幾つかのストリームの命令が、各々、別
個のバスを介して、異なるグループのプロセッサへ分配
される。このバスは、すべてのプロセッサ42へ分配さ
れ、そして、個々のプロセッサが行なう動作を常に規定
する。
【0061】双方向データバス(D)32は、プロセッ
サアレイ40からのデータ入力及びそこへのデータ出力
のために使用される。単一(SIMDの場合)又は複数
(MIMDの場合)のステータスバス26は、プロセッ
サアレイ40の現行の状態に関するフィードバック情報
を、マイクロコントローラ20に供給する。ステータス
バス26は、例えば、適当なフラグ信号をサンプリング
することによりプロセッサアレイにおける動作(算術演
算、論理演算、データ転送等)の完了を検出するために
も、使用することができる。更に、マイクロコントロー
ラ20によりプロセッサアレイ40へブロードキャスト
される条件付命令(前述のフラグの値に基づいての)を
使用することによって、適切な制御が行われる。本実施
例で使用されるステータスバス26の尋常な構成は、ア
レイ40内のすべてのプロセッサ42の個々のステータ
スビットにわたる全体的なワイヤードANDとして形成
された、単一ビットの信号線(SIMDの場合)か、又
は、同じ命令を受ける各プロセッサグループにわたるワ
イヤードANDとして形成された、複数ビットの信号線
(MIMDの場合)である。
【0062】プロセッサアレイ40により実行される並
列プログラムのための初期データ及び中間データは、各
プロセッサ内のローカル(内部)メモリ(図示省略)に保
持される。これらのプロセッサの外部に設けられるグロ
ーバルメモリは、多くの応用において有用かも知れない
が、その存否は本発明に直接には関係しないので、図示
していない。
【0063】マイクロコンピュータ20は、適当なアド
レス指定機構を介して、諸プロセッサの内部レジスタ及
びローカルメモリを選択して、読出し/書込み動作を行
なわせることができる。アドレスバス(A)28は、こ
のアドレス情報をプロセッサアレイ40に供給する。
【0064】アレイ40内のプロセッサ42は、相互接
続回路網50を介して互いに接続される。この回路網の
形態(キューブ、ハイパーキューブ、トーラスなど)
は、本発明の適用に無関係である。また、その回路網内
のデータ回送は、回線交換によることもできるし、ある
いは、パケツト交換によることもできる。回線交換の場
合には、連続する電気的通路が、各データ交換の全期間
にわたって送信点(ソース)と受信点(目的地)の間に
存在し、パケット交換の場合には、データは、パケット
のヘッダー部分に含まれている情報に基づいて回送さ
れ、それが通る通路は、データ交換の全期間にわたって
送信点と最終受信点の間を接続しているとは限らない。
回線交換の場合、一つのしばしば使用される実現形態
は、マイクロコントローラ20により、スイッチ制御線
23を介して、相互接続回路網50内のスイッチ(図示
省略)を直接制御するものである。この実現形態におい
ては、毎回の回送サイクルにおいて、マイクロコントロ
ーラ20により、すべての送信点と受信点の間にそれぞ
れの回送経路が同時に設定される。
【0065】実施態様の細部は、採用される回路網の交
換方式に応じて変わる。しかし、その違いは、本発明の
要旨には関係がない。したがって、以下の説明では、概
してパケット交換による回送を想定し、回線交換による
回送の場合については、そのために必要となる実施態様
上の変更の概要を略述するにとどめる。
【0066】図6は、プロセッサアレイ40内のプロセ
ッサを接続するのに使用しうる、パケット交換型の相互
接続回路網50のブロック図である。相互接続回路網5
0の能動素子は、データパケットの回送と中間記憶を担
当するルータ45である。本実施例では、各ルータ45
に一つのプロセッサ42が接続されている。諸ルータ4
5は、相互接続リンク51を介して相互接続されてい
る。本実施例の場合、これらのリンク51はワイヤの組
である。また、ここでは双方向リンクを想定している。
これらのリンク51は、それらを経て伝送されるデータ
の形式に応じて、直列式か又は並列式である。
【0067】内部構造に関して、ルータ45は、2つの
ブロック、すなわち、スイッチボックス46と、キュー
及びパケット組立ブロック47とを含んでいる。スイッ
チボックス46は、パケットの転送経路を切替える機能
を果たし、ルータ45を適当なリンク51に接続するプ
ログラム可能なスイッチ(例えば、マルチプレクサとし
て構成される)を含んでいる。スイッチボックス46
は、また、リンクインタフェースも含んでいる。このイ
ンタフェースは、リンクにとって必要とされる電気的レ
ベルの維持と、リンクシエークハンド信号の処理とを遂
行する。この信号は、リンクの獲得、リンクを経てのデ
ータ交換、及びリンクの解放のためのプロトコルを与え
る。リンク51に関して使用される特定のプロトコル
は、本発明の原理的実施に無関係である。
【0068】キューは、関連するリンクが利用可能にな
るまで、各ルータ45へ入って来たパケット又はそれか
ら出て行くパケットを記憶する。パケット組立ブロック
は、送出すべきデータとその目的地アドレスを含むパケ
ットを組立てる。プロセッサ42との情報の授受は、プ
ロセッサ−ルータバス44を経て行なわれる。
【0069】2 ノードの構成 本章では、本発明のオンライン試験及びオフライン試験
に使用される分散型内蔵自己試験(BIST)ハードウ
ェアとしてのノードを説明する。その目的で、図7を参
照して、バイナリキューブ(理解を容易にするために簡
単な例を選ぶ)の形態を持つ3次元相互接続回路網の場
合を検討する。このキューブにおいて、回路網の各ノー
ドA〜Hは、3本の座標軸のそれぞれに沿って、3個の
他のノードに接続されている。各ノードは、データ交換
のためのルータ及びそれと連携する1個又は複数個のプ
ロセッサを含んでいる。図7においては、簡明化のた
め、ノードの詳細は図示していない。各ノードには、本
発明による試験のための、擬似ランダム発生器(PR
G)とシグナチャアナライザ(SA)の組(PRG/S
Aと略記)からなるブロック53がある。PRGは、ソ
ース(送信点)ノードのために試験データを発生し、S
Aは、目的地(受信点)ノードのために試験応答を累積
的に圧縮する。
【0070】相互接続される各ノード対は、リンク51
を介して接続されている。前章で述べたように、本実施
例におけるリンク51は双方向の伝送が可能であると仮
定する。これらのリンクは、多ビット型(この場合のデ
ータ伝送はビット並列形式で行われる)又は単一ビット
型(この場合のデータ伝送はビット直列形式で行なわれ
る)のいづれでもよい。後述するように、擬似ランダム
発生器PRGは試験データの送信にのみ関与し、シグナ
チャアナライザSAは試験応答の圧縮にのみ関与する。
したがって、図7に示された構成において、回路網内の
すべてのノードは、試験データの送信と受信とを同時に
行なうことができる。
【0071】本発明による試験方法の基本は、いわゆる
BIST制御性ノード及びBIST観測性ノード(これ
らをまとめてBISTノードと呼ぶ)というノードの使
い分けの導入と、擬似ランダム試験シーケンス及びシグ
ナチャ解析技術の使用とにある。ここで、BIST制御
性ノードとは、管理された試験パターンの自律的送信源
として機能するノードであり、BIST観測性ノードと
は、被試験回路に試験パターンを印加した結果の出力
(試験応答)を受信して、累積圧縮し、そしてそれを被
試験回路に故障が存在しない場合の期待値(基準シグナ
チャ)と比較するノードである。同じBISTノードが
オフライン試験とオンライン試験の双方に使用されるの
で、試験用回路装置の無駄な重複はない。本実施例で
は、BISTノードが各プロセッサごとに設けられる
が、別の実現形態として、後述するように、プロセツサ
の各グループごとに共通ルータがある場合には、この共
通ルータにBISTノードを設けてもよい。
【0072】図1はノードの構成の概要を示し、そこに
は、内蔵自己試験(BIST)のための主要なエレメン
トであるシグナチャアナライザ(SA)55及び擬似ラ
ンダム発生器(PRG)54が、プロセッサ42及びル
ータ45と関連付けて示されている。更に、目的地アド
レスカウンタ56も示されている。
【0073】各ノードは、線形帰還シフトレジスタ(L
FSR)の形をとる擬似ランダム発生器(PRG)54
と、LFSR又は多入力シグナチャレジスタ(MIS
R)として構成される累積圧縮器、すなわちシグナチャ
アナライザ(SA)55とを含んでいる。PRG54
は、相互接続回路網50のオフライン試験にのみ使用さ
れるものであり、オフライン試験用の試験データを発生
して、信号バス168を経てルータ45に供給する。こ
の信号バスは、直列伝送の場合には単一ビット線であ
り、ビット並列伝送の場合には多ビット線である。SA
55は、オフライン試験とオンライン試験の両方に使用
され、信号線916から受取ったデータを累積圧縮す
る。このデータは、オフライン試験では、擬似ランダム
試験パターンをリンク(ネットワーク)に印加した結果
の出力(試験応答)であり、オンライン試験では、命令
又はパケット内のアドレスである。これらの回路の詳細
と、オフライン試験及びオンライン試験に際してのこれ
らの回路の動作は、後で説明する。
【0074】目的地アドレスカウンタ56は、オフライ
ン試験に際して、試験パケットのための目的地(受信
点)アドレスを発生し、信号線168を経てルータ45
に供給する。目的地アドレスカウンタ56は、相互接続
回路網50の本発明によるオフラインBISTを実施す
るのに有用ではあるが、後述するマルチプロセッサシス
テムの本発明によるオンライン試験では使用されない。
【0075】PRG54、SA55及び目的地アドレス
カウンタ56の初期値は、マイクロコントローラ20か
ら与えられる。マイクロコントローラ20は、また、プ
ロセッサ42に命じて、最終のシグナチャ(シンドロー
ム)をSAから読出して、それを既知の基準シグナチャ
と比較する。この基準シグナチャは、各プロセッサのロ
ーカルメモリ(図1では省略)にマイクロコントローラ
20から予め書込まれる。試験過程において外部(マイ
クロコントローラ)からの介入が必要となるのは、これ
らの時だけである。
【0076】なお、擬似ランダム発生器54、目的地ア
ドレスカウンタ56及びシグナチャアナライザSAは、
後述するように、ルータ45(図1に示すように)又は
プロセッサ42のいづれに接続されてもよい。
【0077】図8は、ルータ45の詳細と、それに関連
する他の回路、すなわち、プロセッサ42、擬似ランダ
ム発生器54、シグナチャアナライザ55及び目的地ア
ドレスカウンタ56に加えて、セレクタ912及びブロ
ック先頭/末尾検出回路913を示す。これらがノード
777を構成する。
【0078】プロセッサ42は、演算ユニット421、
内部レジスタ423及びローカルメモリ424を主な構
成要素とする。演算ユニット421は、命令バス(I)
27を介してマイクロコントローラ20から供給される
命令の、フェッチ、デコード及び実行を行なう。内部レ
ジスタ423は、例えば計算の中間データや状態フラグ
の一時的な保存に使用される。ローカルメモリ424
は、各プロセッサ42がその計算結果を格納する場所で
ある。また、試験で使用するアドレス情報等もそこに格
納される。
【0079】ルータ45は、スイッチボックス46、ル
ータ制御/タイミングユニット452、キュー453、
パケット組立て/分解ユニット454、パケットアドレ
ス一致回路455及びプロセッサインタフェース456
を、構成要素として含んでいる。また、ルータ45は、
3種類の内部バス、すなわち、ルータ制御バス(RC
B)930、ルータアドレスバス(RAB)932及び
ルータデータバス(RDB)934を持つ。特にRDB
934は、ルータ45内の前記各構成要素間のデータの
やりとりに使用される。ルータ45の入出力は、例えば
プロセッサ42と同じクロックを用いて、同期的に行な
われる。
【0080】ルータ制御/タイミングユニット452
は、普通の構造のマイクロプログラム制御装置であっ
て、例えばROMに格納されたマイクロプログラムを備
え、このマイクロプログラムに従い、かつ、ルータ内の
他の諸要素からRCB930を経て送られる要求信号又
は状態信号に応答して、これら要素のための制御信号と
タイミング信号を発生し、それらをRCB930を介し
て分配する。各要素のアドレス指定はRAD932を介
して行なわれる。このユニットは、また、セレクタ91
2に選択制御信号(SEL1)911を与える。
【0081】キュー453は、リンク51に対するアク
セスの競合が生じた場合のために、2個以上のパケット
を格納できる構成になっている。すなわち、複数のパケ
ットが同時に同じリンク51へのアクセスを要求する場
合に、1個のパケットのみが送出されて、他のパケット
はキュー453に一時的に蓄積される。本実施例におい
ては、キュー453は、受信したパケットは必らず一旦
はそこに入り、また、パケットの送出もそこから行なう
ように、その仕様を想定している。キュー453は、例
えば、FIFO(First-In First-Out)メモリにより構
成される。すなわち、最も先にキュー453に入力され
たパケットが、最も先にリンク51に出力される。
【0082】パケット組立て/分解ユニット454は、
データからパケットへの組立てと、パケットからデータ
への分解とを行なう。すなわち、送信点(ソース)にお
いては、送出すべきデータとアドレス情報を、後述する
プロセッサインタフェース456を介してプロセッサ4
2から受け取って、所定形式のパケットに組立て、ま
た、受信点(目的地)においては、受信したパケットか
らアドレス情報を削除して、データを切出す。アドレス
情報が削除されたデータは、プロセッサインタフェース
456を介してプロセッサ42に送られて、平常動作に
使用される。パケット内の目的地アドレス(DA)91
4、ソース(送信点)アドレス(SA)924及びオフ
ライン試験用データ(TDATA)928は、チェック
のためにセレクタ912へ送られる。
【0083】パケットアドレス一致回路455は、送ら
れてきたパケット内の目的地アドレスと、各プロセッサ
に割当てられたネットワークアドレスとの一致をチェッ
クする。一致した場合には、そのパケットは対応するプ
ロセッサへの入力データとなるが、不一致の場合には、
そのパケットは、他のルータを介して、回路網内の他の
プロセッサへ送られる。
【0084】プロセッサインタフェース456は、ルー
タ45とプロセッサ42の間で、データの受け渡しを行
なう。すなわち、他の目的地プロセッサへ送信すべきデ
ータとそのアドレス情報を、バス44を介して送信点プ
ロセッサ42から入力し、また、他の送信点プロセッサ
から受信したデータを、バス44を介して目的地プロセ
ッサ42へ送出する。
【0085】スイッチボックス46は、前述のように、
ルータ45を適当なリンク51に選択的に接続するため
のスイッチと、ルータ45とリンク51の間のインタフ
ェース回路とを含んでいる。
【0086】ルータの詳細な設計は、本発明の課題では
ないので、これ以上詳しい説明は省略する。この回路の
詳細に関しては、前掲文献“The Connection Machine”
の第78ないし87頁及びそこで引用されている文献を
参照されたい。
【0087】次に、擬似ランダム発生器(PRG)5
4、シグナチャアナライザ(SA)55、目的地アドレ
スカウンタ56、セレクタ912、及びブロック先頭/
末尾検出回路913について説明する。
【0088】擬似ランダム発生器(PRG)54は、接
続回路網のオフライン試験用の試験データの生成を行な
う。すなわち、後述する図11に示すオフライン試験用
パケット内の試験データ部82を生成する。生成された
データは、信号線918を介して、ルータ45内のパケ
ット組立て/分解ユニット454に送られる。図11に
示すオフライン試験用パケット内の目的地アドレス83
は、目的地アドレスカウンタ56が生成し、信号線16
7を介して、同様にパケット組立て/分解ユニット45
4に送られる。PRGを用いて試験データを自動生成す
ることにより、試験データの人手による作成が不要にな
り、また、システムの外部から試験データを印加する必
要がなくなる。
【0089】シグナチャアナライザ(SA)55は、オ
フライン試験とオンライン試験の双方において使用さ
れ、セレクタ912が選択した信号線916上の相次ぐ
データを累積圧縮する。このデータは、オフライン試験
では、相互接続回路網50を経て受信された試験パケッ
トの試験データ部(TDATA)928であり、オンラ
イン試験では、命令バス(I)27上をプロセッサ42
に送られて来た命令、送出パケット内の目的地アドレス
(DA)914又は受信パケット内のソース(送信点)
アドレス(SA)924である。
【0090】擬似ランダム発生器(PRG)54とシグ
ナチャアナライザ(SA)55は、種々の回路で実現で
きるが、以下において、そのうちの幾つかを紹介する。
【0091】図9(a)は、直列出力282を有する線
形帰還シフトレジスタ285として構成された、擬似ラ
ンダム発生器54の回路図である。このような回路は既
に周知であって、例えば、N. Weste及びK. Eshraghian
による“Principles of CMOSVLSI design”、1985
年、Addison-Wesley出版社発行、第266ないし269
頁、及びそこに引用されている参考文献を参照された
い。この型の回路は、本実施例において、直列リンクの
オフライン自己試験のために使用される。
【0092】この擬似ランダム発生器は、チェーン接続
された複数の双安定フリップフロップ281を記憶素子
として使用し、これらがクロック信号286により一斉
にクロック駆動される。擬似ランダムシーケンスを発生
するために必要な出力信号282からの帰還が、複数の
帰還スイッチ283を介して与えられ、これらのスイッ
チは、発生すべき擬似ランダムシーケンスの特性に従っ
て、それぞれ開又は閉の状態に設定されている。各フリ
ップフロップ281のデータ入力端子Dの前には、そこ
への帰還信号を前段のフリップフロップからの出力と組
合せるための排他的ORゲート284がある。クロック
信号286は、常時発生されている主クロック970
を、PRGクロックゲート信号978により、ANDゲ
ート289においてゲートすることにより得られる。P
RGクロックゲート信号978は、オフライン試験にお
ける試験用パケット作成過程で、ルータ制御/タイミン
グユニット452により発生される。
【0093】擬似ランダムシーケンスの周期は、チェー
ン接続されたフリップフロップの個数によって決定され
るが、そのチェーンの擬似ランダム特性は、その帰還経
路における諸帰還スイッチ283の開及び閉状態の分布
によって決定される。
【0094】図9(b)は、並列出力288を持つ線形
帰還シフトレジスタ287として形成された、擬似ラン
ダム発生器54の回路図である。この回路の本実施例に
おける用途は、多ビット(並列)リンクの試験にある。
一組の並列出力288は、幾つかのフリップフロップ2
81の出力から得られる。この点を除けば、本回路の構
造は図9(a)に示す構造と同様なので、その説明は割
愛する。
【0095】図10(a)は、シグナチャアナライザ5
5の一例として、線形帰還シフトレジスタを用いて形成
された、直列入力シグナチャアナライザ295の回路図
を示す。このような回路もまた周知であって、例えば、
K. Iwasakiによる“Analysisand Proposal of Signatur
e Circuits for LSI Testing”、1988年1月発行、
IEEE Transactions on Computer-Aided Design、Vol.
7、No. 1、第84ないし90頁、及びそこに引用され
ている参考文献を参照されたい。
【0096】この回路において、チェーン接続された複
数のフリップフロップ281が記憶素子を形成し、これ
らがクロック信号293により一斉に駆動される。累積
圧縮すべき直列2進シーケンスは入力292に入れら
れ、そのシグナチャ出力は一組のフリップフロップ出力
291上に並列に得られる。各段のプリップフロップへ
の入力は、前段のフリップフロップからの出力と最終段
の出力294とを、排他的ORゲート284により組合
せた結果として与えられる。クロック信号293は、常
時発生されている主クロック970を、SAクロックゲ
ート信号977により、ANDゲート298においてゲ
ートすることによって得られる。SAクロックゲート信
号977は、オフライン試験におけるソースアドレスの
累積圧縮過程と、オンライン試験における命令、目的地
アドレス及びソースアドレスの各累積圧縮過程で、ルー
タ制御/タイミングユニット452により発生される。
【0097】シグナチャのサイズは、チェーン内のフリ
ップフロップの数によって定まる。フリップフロップの
個数は、また、シグナチャアナライザのエイリアス特
性、すなわち、2個の異なる入力シーケンスが同じシグ
ナチャを発生する可能性の程度を、決定する。かかる望
ましくない結果が生じる可能性は、チェーン内のフリッ
プフロップの数が大きいほど小さくなる。このような直
列入力型のシグナチャアナライザは、直列リンクを使用
した相互接続回路網の試験に使用される。
【0098】図10(b)は、シグナチャアナライザ5
5の他の例として、線形帰還シフトレジスタを用いて形
成された、並列入力シグナチャアナライザ296(従来
技術では多入力シグナチャレジスタとも呼ばれる)の回
路図を示す。圧縮されるべき並列2進シーケンスは、並
列入力線297から入れられる。入力線297の本数
は、DA914、SA924、TDATA928及びI
27(図22)の内の最大の幅(ビット数)に合せる。
入力線の本数よりも入力データの幅(ビット数)の方が
小さい場合には、残りの入力は“0”に設定される。シ
グナチャ(圧縮結果)は、一組のフリップフロップ出力
291上に得られる。このような並列入力シグナチャア
ナライザは、並列リンクを使用した相互接続回路網の場
合に使用される。入力の形式を除けば、本回路の構造は
図10(a)に示された構造と同様なので、その説明は
割愛する。
【0099】擬似ランダム発生器(PRG)54、シグ
ナチャアナライザ(SA)55及び目的地アドレスカウ
ンタ56は、プロセッサ42のレジスタとして構成つま
り位置付け(マップ)される。したがって、プロセッサ
42は、アドレスバス(A)28上のアドレスを解読し
て得られる選択信号(SEL2)920によって、それ
らの選択を行なうことができ、また、信号線(R/W)
922によつて、それらの読出し/書込み制御を行なう
ことができる。これらの回路への初期値の書込みは、並
列データ入出力ポートPDIOを通って、データバス
(D)29から行なわれる。同様に、これらからのデー
タの読出しも、このPDIOポートを通って、データバ
ス(D)29へと行なわれる。
【0100】このように、擬似ランダム発生器(PR
G)54、シグナチャアナライザ(SA)55及び目的
地アドレスカウンタ56は、マイクロコントローラ20
からはプロセッサ42のレジスタとみなすことができ
る。したがって、PRG54とSA55と目的地アドレ
スカウンタ56は、並列(グローバル)レジスタ書込み
動作により初期化され、また、SA55の内容は、並列
(グローバル)レジスタ読出し動作により読出されて、
各プロセッサのローカルメモリ424に記憶されている
基準シグナチャと比較される(例えば、並列(グローバ
ル)レジスタ−メモリ排他的OR演算により)。
【0101】図8に戻り、セレクタ912は、ルータ制
御/タイミングユニット452から与えられる選択信号
(SEL1)911に従って、4種類の入力、すなわ
ち、目的地アドレス(DA)912、ソース(送信源)
アドレス(SA)924、オフライン試験用データ(T
DATA)929及びプロセッサ命令(I)27の中か
ら一つを選択し、信号線916を介して、シグナチャア
ナライザ(SA)55の入力ポートComprlに送る。これ
らの信号が1ビットづつ直列に送られるか、複数ビット
がまとまって並列に送られるかは、SA55の構成に依
存する。
【0102】ブロック先頭/末尾検出回路913は、マ
イクロコントローラ20から命令バス(I)27を介し
て各プロセッサ42に与えられる命令から、命令ブロッ
クの先頭の命令を示すブロック先頭ビットと、命令ブロ
ックの末尾の命令を示すブロック末尾ビットを検出す
る。命令中のブロック先頭ビットとブロック末尾ビット
については、後で図28を参照して説明する。ブロック
先頭/末尾検出回路913は、ブロック先頭ビットを検
出すると、信号線917を介して、SA55の初期化要
求をマイクロコントローラ20へ送り、また、ブロック
末尾ビットを検出すると、信号線917を介して、シグ
ナチャ(SA55で圧縮した結果)の読出し要求をマイ
クロコントローラ20へ送る。マイクロコントローラ2
0は、信号線917の信号値に応答して、命令バス
(I)27を介して、プロセッサ42にSA55の初期
化又はシグナチャの読出しを指示する。
【0103】3 相互接続回路網のオフライン内蔵自己
試験(BIST) 一般に、マルチプロセッサシステムの試験には、ハード
ウェアレベルにおける3つの主要な対象がある。すなわ
ち、個々のプロセッサの試験、相互接続回路網の試験、
及び全システムの試験である。本章においては、相互接
続回路網のための本発明による分散オフライン自己試験
手順を説明する。この試験手順は、相互接続回路網に対
する以下の試験を可能にする。
【0104】○ 以下のコンポーネントについての試験
を含む、ルータとプロセッサの間のリンク及びプロセッ
サ間におけるリンクの全体についての試験 ・ ワイヤ ・ スイッチ ・ バッファ及びインタフェース ・ リンクプロトコル ○ キューを含む、ルータの試験 ○ パケット組立ブロックの試験(パケット式相互接続
回路網の場合) ○ デッドロックの検出
【0105】本発明の方策は、その試験を極力BIST
(内蔵自己試験)により行なうことであり、それにより
次の利点を生ずる。すなわち、 ○ 試験パターンの発生、記憶及び印加を外部的に行な
う必要がない。 ○ 試験は実働構成に近い構成において行なわれる。 ○ 試験は実働クロック率と同じクロック率において行
なわれる。 ○ 出力応答は既知の基準値と比較し易い形態に圧縮さ
れる。 ○ 試験過程における外部の介入が最小である。
【0106】隔絶された個々のプロセッサ及びルータの
内部構造に対するBISTによる試験は、一般のプロセ
ッサの試験と本質的に異なるところがなく、従来技術で
十分間に合う。したがって、それはこの発明の目的に入
らない。また、テストが中央のコントローラから全て管
理される必要があるような相互接続回路網試験も、従来
技術の適用可能な範囲にある。
【0107】図11は、相互接続回路網50のオフライ
ン自己試験に用いられる試験パケット80のフォーマッ
トを示す。それは、2個のフィールド、すなわち、目的
地アドレスカウンタ56により与えられる目的地アドレ
ス(タグ)83と、擬似ランダム発生器54により与え
られるデータ82とを含んでいる。目的地アドレス83
は、回路網50上を回送されるデータの目的地を指示す
るために使用され、データ82は、目的地でシグナチャ
アナライザ55により圧縮される試験データとして使用
される。
【0108】図12は、本発明によるオフライン試験の
全体の流れの概要を示す。第1の試験では、直近隣接ル
ータ間を接続している諸リンクの全体的試験を行なう。
第1の試験で何らかの故障が検出された場合には、個々
のリンクの試験である第2の試験を行なう。第1の試験
で故障が検出されない場合には、キュー453も含めた
広域的な試験である第3の試験を行なう。
【0109】図13は、第1の試験を説明するための図
である。第1の試験では、各ルータ45をその直近隣接
ルータ群に接続するリンク群の、全体的な試験を行な
う。この試験は次のステップからなる。参照されるの
は、図13及び図8である。
【0110】(1)各プロセッサ42内のローカルメモ
リ424に、それぞれの直近隣接ノード(又はその中の
プロセッサ)のアドレスが、マイクロコントローラ20
からロードされる。
【0111】(2)全体的リセットを行なう。特に、ノ
ード777内のキュー453及びSA55を初期化す
る。
【0112】(3)各ノード777における目的地アド
レスカウンタ56に、直近の隣接ノード(又はその中の
プロセッサ)の一つのアドレスが、マイクロコントロー
ラ20からの指示により、ローカルメモリ424からロ
ードされる。各目的地ノード(又はその中のプロセッ
サ)が、各回送サイクルにおいて確実にただ一つのソー
スノード(又はその中のプロセッサ)のみからデータを
受信するように、ステップ(1)で諸ノードにロードす
る目的地アドレスの順序を調整して、複数のノードが同
時に同一のノードを目的地として指定しないようにして
おく必要がある。
【0113】(4)各ノード777において、ルータ4
5内のパケット組立て/分解ユニット454は、PRG
54及び目的地アドレスカウンタ56から、それぞれ試
験データ及び目的地アドレスを受取り、図11に示すオ
フライン試験用のパケットを生成する。
【0114】(5)オフライン試験用のパケットが目的
地ノードに(例えば、ノードBからノードAに)送られ
る。パケットを受信したノード777において、ルータ
45内のパケット組立て/分解ユニット454は、パケ
ットから試験データ部(図11の82)を抽出して、S
A55に送る。リンクに故障が存在しなければ、リンク
通過中にデータの破壊は行なわれないので、SA55に
送られるデータは、ソースノードからリンクに送出され
たデータと一致する。SA55は、パケット組立て/分
解ユニット454からのデータ、すなわち、受信された
試験データを累積圧縮する。
【0115】(6)上記ステップ(3)〜(5)が、各
ノード777が隣接するすべてのノードに試験パケット
を送信するまで、目的地アドレスカウンタ56にロード
するアドレスを替えながら繰り返される。図13の例に
おいては、例えば、ノードBがノードA、C及びFのす
べてに試験パケットを送信するまで、ステップ(3)〜
(5)を繰り返す。
【0116】(7)各ノード777において、SA55
によつて最終の圧縮が行なわれた結果(試験シグナチ
ャ)は、予めプロセッサ42内のローカルメモリ424
に格納されている期待値(基準シグナチャ)と比較され
る。例えば、マイクロコントローラ20からの指示によ
り、試験シグナチャと基準シグナチャのビットごとの排
他的ORをとって、その結果がすべて“0”であるか又
は少なくとも1個の“1”を含むかを、調べればよい。
あるいは、プロセッサ42内の演算処理ユニット421
を用いて、試験シグナチャと基準シグナチャの差をと
り、その結果が“0”になるか否かを調べてもよい。
【0117】基準シグナチャは、次のようにして得るこ
とができる。すなわち、PRG54とSA55の構造が
既知であるから、このPRGの一連の出力をこのSAに
印加した結果、換言すれば、リンクに故障が無い場合の
シグナチャ、すなわち基準シグナチャは、所定のPRG
及びSAの正しく作られたハードウェア又はソフトウェ
アシミュレーションによって、容易に予め作成すること
ができる。
【0118】この比較の結果、すべてのノードで一致が
検出されれば、どのリンクにも故障は無いことになる。
他方、いずれかのノードで不一致が検出されれば、いず
れかのリンクに故障があることになる。しかし、どのリ
ンクの故障であるかは不明である。そこで、第2の試験
に移る。
【0119】図14は、第2の試験を説明するための図
である。第2の試験では、故障リンクの特定を目的とし
て、各リンクごとの試験を行なう。この試験は、次のス
テップからなる。参照されるのは、図14および図8で
ある。
【0120】(1)各プロセッサ42内のローカルメモ
リ424に、それぞれの直近隣接ノード(又はその中の
プロセッサ)のアドレスが、マイクロコントローラ20
からロードされる。
【0121】(2)全体的リセットを行なう。特に、ノ
ード777内のキュー453及びSA55の初期化を行
なう。
【0122】(3)各ノード777における目的地アド
レスカウンタ56に、直近の隣接ノード(又はその中の
プロセッサ)の一つのアドレスが、マイクロコントロー
ラ20からの指示により、ローカルメモリ424からロ
ードされる。各目的地ノード(又はその中のプロセッ
サ)が、各回送サイクルにおいて確実にただ一つのソー
スノード(又はその中のプロセッサ)のみからデータを
受信するように、ステップ(1)で諸ノードにロードす
る目的地アドレスの順序を調整して、複数のノードが同
時に同一のノードを目的地として指定しないようにして
おく必要がある。
【0123】(4)各ノード777において、ルータ4
5内のパケット組立て/分解ユニット454は、PRG
54及び目的地アドレスカウンタ56から、それぞれ試
験データ及び目的地アドレスを受取り、図11に示すオ
フライン試験用のパケットを生成する。
【0124】(5)オフライン試験用のパケットが目的
地ノードに(例えば、ノードBからノードAに)送られ
る。パケットを受信したノード777において、ルータ
45内のパケット組立て/分解ユニット454は、パケ
ットから試験データ部を抽出して、SA55に送る。リ
ンクに故障が存在しなければ、リンク通過中にデータの
破壊は生じないので、SA55に送られるデータは、ソ
ースノードからリンクに送出されたデータと一致する。
SA55は、パケット組立て/分解ユニット454から
のデータ、すなわち、受信された試験データを圧縮す
る。SA55により圧縮された結果は、予めプロセッサ
42内のローカルメモリ424に格納されている期待値
と、第1の試験のステップ(7)におけるのと同様な方
法で比較される。
【0125】(6)上記ステップ(2)〜(5)が、各
ノード777が隣接するすべてのノードへ試験パケット
を送信するまで、目的地アドレスカウンタ56にロード
するアドレスを替えながら繰り返される。図14の例に
おいては、例えば、ノードBがノードA、C及びFのす
べてに試験パケットを送信するまで、ステップ(2)〜
(5)を繰り返す。
【0126】前述の説明から明らかなように、本方法で
は、試験の中間段階のための記憶データを必要とせず、
かつ、被試験ノード777の内部にあるエレメント(S
A55、PRG57、目的地アドレスカウンタ56)の
みを試験に用いている。唯一の外部からの介入は、マイ
クロコントローラ20からの、擬似ランダム発生器54
及び目的地アドレスカウンタ56の初期値の書込みだけ
である。そして、この試験は、平常の動作クロック速度
で進行することができる。また、それは、機能的試験と
類似の態様において、相互接続回路網50のすべてのハ
ードウェアエレメントを試験する。実際、ソースと目的
地の間に存在するハードウェアエレメントは、パケット
組立て/分解ユニット454、ルータ45、インタフェ
ース及びワイヤであり、これらがこの試験に関与する。
唯一の例外はルータ内のキュー453であって、それ
は、上記の型式の試験では検査できない。
【0127】前記第1及び第2の試験では、各ノードは
1個のパケットの送受信を行なうにすぎず、かつ、試験
の始めに、キュー453は初期化によって空にされる。
したがって、前記両試験によっては、キュー453はそ
の初段が試験されるだけであって、それより奥の部分の
試験はできない。また、パケット交換回路網におけるデ
ッドロックの検出も、前記の試験では行なわれない。デ
ッドロックは、少なくとも1個のノードにおいて、デー
タの受信及び/又は送出が不可能な場合(例えば、キュ
ーの溢れ、すなわち、キューに空きがなく、かつ、デー
タを隣りへ送出することによって空きを作ることができ
ない場合)に生じる。しかるに、このような状況は、前
記両試験においては生じない。なお、回線交換型の回路
網においては、ソースと目的地の間に連続通路が維持さ
れるので、キューは使用されず、したがって、デッドロ
ックは生じない。
【0128】相互接続回路網の本発明による第3の試験
は、すべてのノードに、所定の回送サイクルにわたって
データを各所のノードに送らせて、十分な量の回送トラ
フィックを発生し、それにより、キューの奥の部分の試
験と、キューの溢れに起因するデッドロックの検出とを
可能にする。
【0129】さて、第3の試験においても、他のノード
(又はその中のプロセッサ)へ送られる試験パケットの
ためのデータは、PRG54により、擬似ランダム形式
で局地的に発生される。2個のノードがデータを同じ目
的地へ同時に送ろうとして衝突が生じるのを避けるよう
に、試験パケットのアドレス部は、各ソースノードにお
ける目的地アドレスカンウタ56により、決定論的に発
生される。すなわち、諸目的地アドレスカウンタ56
は、目的地アドレスの衝突を防ぐようにずらされた別個
の初期値を、試験の開始に先立って、ホストコンピュー
タ10からマイクロコントローラ20を介してロードさ
れる。各目的地アドレスカウンタ56は、各ソースノー
ドが少なくとも1個のパケットを各目的地(自分自身を
含む)へ送出するように、各回送サイクルの終りにイン
クリメントされる。
【0130】表1は、諸目的地アドレスカウンタ56の
カウント値を“1”ずつずらせて、それぞれ別個の目的
地アドレスを与えるようにする方法、並びにそれらを試
験手順の各回送サイクルの終りでインクリメントして、
それぞれのソースノードにより送出すべきパケットの次
の目的地を指すようにする方法を、示している。この例
では、各ソースは23=8個の目的地(それ自体を含
む)へデータを送ることができ、したがって、全試験手
順は8回の繰り返しからなっている。
【0131】
【表1】 目的地アドレスカウンタの内容 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ノード: 000 001 010 011 ・・・ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 第1回回送サイクル前 001 010 011 100 ・・・ (初期値) 第2回回送サイクル前 010 011 100 101 ・・・ ・ ・ ・ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【0132】もっとも、非常に大きなアレイの場合、こ
の試験の完了に要する時間は、受入れられないほど長
い。例えば、相互結合回路網50が20次元を持つ2進
キューブであると仮定すると、220個のプロセッサが存
在するため、各ソースは、それ自体へのデータ伝送がそ
の試験に含まれるとすると、220個の目的地へパケット
を送らなければならず、それはまず実行不能である。し
たがって、かかる非常に大きなアレイに対してすべての
通路を漏れなく試験することは、実際問題として不可能
である。しかしながら、もしも個々のリンクが正しく動
作しているのならば、多リンク通路が使用されていると
きのエラーの唯一の理由は、キューの故障か又はデッド
ロックの発生に結び付けることができる。したがって、
必要となるのは、キューの動作とデッドロックに関する
エラーを検出できる試験手順を、工夫することである。
前記第1の試験において故障が検出されなかった後で行
なわれる第3の自己試験手順は、まさにそれに当たるも
のである。
【0133】図15及び図16は、本発明の第3の試験
を説明するための図である。この第3の試験は、ルータ
45内のキュー453の奥の部分の試験と、デッドロッ
クの検出とを目的にしている。この試験は次のステップ
からなる。参照されるのは、図15、図16及び図8で
ある。
【0134】(1)全体的リセットを行なう。特に、ノ
ード777内のキュー453及びSA55を初期化す
る。
【0135】(2)各ノード777内の目的地アドレス
カウンタ56に、例えば前掲の表1に示すような目的地
アドレスの初期値が、マイクロコントローラ20からロ
ードされる。目的地アドレスの初期値は、表1に示され
たもののように、各目的地ノード(又はその中のプロセ
ッサ)が、各回送サイクルにおいて確実にただ一つのソ
ースノード(又はその中のプロセッサ)のみからデータ
を受信するように、調整される必要がある。目的地アド
レスカウンタ56は、各回送サイクルの最後でインクリ
メントされる。2進キューブの場合には、2進リングカ
ウンタを目的地アドレスカウンタとして採用することが
できる。
【0136】(3)各ノード777において、ルータ4
5内のパケット組立て/分解ユニット454は、PRG
54および目的地アドレスカウンタ56から、それぞれ
試験データ及び目的地アドレス(例えば表1に示すアド
レス)を受取り、図11に示すオフライン試験用のパケ
ットを生成する。
【0137】(4)オフライン試験用のパケットが目的
地ノードに送られる。パケットを受信したノード777
において、ルータ45内のパケット組立て/分解ユニッ
ト454は、パケットから試験データ部を分離し、SA
55に送る。もしもキュー453に故障が存在しなけれ
ば(第1の試験でリンク51自体には故障が無いことが
判明している)、途中でデータの破壊は行なわれないの
で、SA55に送られるデータは、ソースノードからリ
ンクに送出されたデータと一致する。SA55は、パケ
ット組立て/分解ユニット454から送られて来たデー
タ、すなわち、受信された試験データを圧縮する。
【0138】(5)上記ステップ(2)〜(4)は、予
め指定された回数だけ繰り返される。
【0139】(6)各ノード777において、SA55
によって最後の圧縮が行なわれた結果は、予めプロセッ
サ42内のローカルメモリ424に格納されている期待
値と、第1の試験のステップ(7)におけるのと同様な
方法で比較される。
【0140】第3の試験では、遠く離れたノード(プロ
セッサ)間での通信が多発する。その結果、複数のパケ
ットが回送の途上で同一ノードにおいて衝突する場合が
生じる。その場合、1個のパケットが送信され、他のパ
ケットはルータ45内のキュー453に貯えられる。し
たがって、キュー453の奥の部分及び溢れのチェック
ができる。
【0141】上記の多リンク通路試験がいかにしてキュ
ーの試験を含むのかを例示するために、図15において
2個のパケットの経路が太線で示されている。それらの
パケットの一方は通路BADCを取る。すなわち、それ
は、ノードBをソースとし、ノードCを目的地とし、そ
して、ノードA及びDを中継ノードとして通る。他方の
パケットは通路EADを取る。すなわち、それは、ノー
ドEをソースとし、ノードDを目的地とし、そして、ノ
ードAを中継ノードとして通る。これらのパケットがそ
れぞれノードBとノードEから同時に送信され、かつ、
リンクBA及びEA上において同じ遅延が生じると仮定
すれば、両パケットは、ほぼ同時刻に、ノードAにおけ
るルータに到着することになる。ここで、ノードBから
のパケットが先に到着するものと仮定する。そうする
と、このパケットが、先に、最終目的地に向かってリン
クAD上を回送されることになる。その間、ノードEか
ら到着するパケットは、キューの中で待たされる。リン
クADとノードAのルータとが目下使用中であるためで
ある。
【0142】デッドロックの発生は、満杯で空きを作る
ことができないキューの存在に関係する。したがって、
デッドロック試験は、本質的に、キューの奥の部分の試
験に関係する。少なくとも幾つかのキューを満杯にする
ためには、相当な量のパケットが相互接続回路網内を往
来するように、十分な回送活動が生起されなければなら
ない。オフライン試験においては、実用プログラムが実
行されるオンライン試験の場合とは違って、このような
状況が人工的に作り出されなければならない。本発明の
上記第3の試験で行なわれる自己試験においては、その
ような回送活動が、最小の外部介入により経済的にもた
らされる。
【0143】上記第1の試験で故障が検出されなかった
ことによって、相互接続回路網のすべてのエレメント
が、キューの奥の部分とデッドロックに関する部分を除
いて、無欠であることが保証されている。したがって、
第3の試験の結果得られるすべての誤ったシグナチャ
は、キューの深い部分の故障か、又はデッドロックの発
生を示すものと、みなすことができる。
【0144】デッドロックが生じないような相互接続回
路網を設計することは可能である。例えば、W. J. Dall
yによる“Deadlock-Free Meddage Routing in Multipro
cessor Interconnection Networks”、1987年5月
発行、IEEE Transactions onComputers、Vol. C−3
6、No. 5、第547ないし553頁を参照されたい。
しかし、これは装置を複雑化するので、常に採用しうる
とは限らない。このようなデッドロック防止機構を欠く
場合、又はそのような機構が故障した場合には、デッド
ロックの発生の検出が不可欠であり、そのために本発明
が有効である。
【0145】決定論的に発生される目的地アドレス83
の使用は、2個のメッセージが同じ試験回送サイクルに
おいて同じ目的地へ回送されるのを回避するために、極
めて重要である。もしもそのような事態が生じると、か
かる2個のメッセージは、任意の利用可能な回送経路で
送られるため、順不同で到着することになり、その結
果、応答データの圧縮に基づく自己試験法の使用が、不
可能になる恐れがある。なぜならば、到着順が不定だ
と、正しい最終的なシグナチャ(基準シグナチャ)を予
め計算することは、特別な注意なしには不可能だからで
ある。ただし、後出代替例の章において、幾つかのパッ
ケットが所定の回送サイクルにおいて同じ目的地へ送ら
れるのを許す変形例を、図31を参照して概説する。
【0146】ノード777内の擬似ランダム発生器54
と目的地アドレスカウンタ56を使用する利点は、試験
に用いるデータの記憶の必要を減らすことである。ま
た、試験用のデータは、回路網の最大動作速度で供給す
ることができる。勿論、この試験は、2個以上のリンク
を含む通路に対して行うことができる。この試験は、リ
ンク51の他に、ルータ45、したがって、その中のス
イッチボックス46、キュー453及びパケット組立て
/分解ユニット454も、その範囲に含む。
【0147】以上に述べた3種類のオフライン自己試験
手順を利用して、相互接続回路網に対する次のような階
層的試験を行なうことができる。 (a)内部の内蔵自己試験をすべてのプロセッサによっ
て行なう。 (b)すべての回路網ノードが試験パケットを自分自身
に送る(ただし、回送機構がこの動作を許すならば)。 (c)個々のリンク及びそれらに関連する回路装置の試
験を、本発明による第1及び第2の自己試験を適用して
行なう。 (d)多リンク経路を含む通路上でのパケットの回送
を、本発明の第3の自己試験を適用して試験する(キュ
ー奥部及びデッドロックの試験)。
【0148】多くの処理エレメントを持つ超並列コンピ
ュータにおいて、もしもすべての可能な目的地への回送
を試験しようとすれば、前述した階層的試験手順のステ
ップ(d)は、試験時間の点で適用できないであろう。
したがつて、試験範囲と試験時間の間で適当な妥協が必
要である。また、回路網全体を適当な時間内で試験でき
る小さな部分回路網に分割してもよい。こうすると、故
障診断も容易になる。
【0149】ここで強調したいことは、本発明による試
験方法が、次章で述べるオンライン試験も含めて、ソー
スと目的地の間で取られる特定の回送経路には関係しな
い点である。したがって、この試験方法は、ソースと目
的地の間で取られる経路が、パケット送出時点では完全
には予知できない回路網(例えば、回送経路が各中間ノ
ードにおけるランダムな決定に基づいて定まる、確率的
経路指示式の回路網)に対しても、適用することができ
る。
【0150】4 並列コンピュータシステムのオンライ
ン試験 図17は、マルチプロセッサシステムのオンライン試験
の基本的原理を、図式的に示す。図において、ノードA
〜Hは、図8に示すノード777と同じものであり、矢
印I1〜I8は、各ノード内のプロセッサ42にマイクロ
コントローラ20から与えられる命令を表わしている。
擬似ランダム発生器(PRG)はこの試験では使用され
ないので、シグナチャアナライザ(SA)55の符号
(SA1〜SA8)のみが記載されている。
【0151】マルチプロセッサシステムのオンライン試
験中、シグナチャアナライザ55は次のデータを圧縮す
る。 ○ 運転時における制御フローを監視するために、命令
バス27を経てプロセッサに受信される命令I1〜I8 ○ 運転時におけるデータ依存関係を監視するために、
ソースノードにおいて送出されるパケット内の目的地ア
ドレス(図8における信号914) ○ 運転時におけるデータ依存関係を監視するために、
目的地ノードにおいて受信されたパケット内の目的地ア
ドレス(図8における信号924) ○ 上記3種の情報の任意の組合せ
【0152】ここで注意すべき点は、目的地アドレスの
圧縮とソースアドレスの圧縮は、パケット回送過程中の
別の時点において行なわれることである。なお、データ
依存関係とは、プログラムの正常な実行にとって重要
な、諸データの到着順序のことである。
【0153】オンライン試験は、平常動作中に送受信さ
れるパケットと、マイクロコントローラ20からプロセ
ッサ42に供給される命令(I)27を利用する。ま
ず、図17および図8を用いて、オンライン試験の概要
を説明する。
【0154】まず、パケットを用いた試験について説明
する。ルータ45内のパケット組立て/分解ユニット4
54において、図18(後述)に示すような、送信すべ
きデータ121に、ソースノード(又はその中のプロセ
ッサ)のアドレス(ソースアドレス)85と、目的地ノ
ード(又はその中のプロセッサ)のアドレス(目的地ア
ドレス)83を付加して、パケット120を生成する。
生成されたパケット内の目的地アドレス部83は、ソー
スノードにおいて送信前に圧縮される。この圧縮は、パ
ケット組立て/分解ユニット454の試験のために有効
である。また、パケット内のソースアドレス部85は、
目的地ノードにおいて受信後に圧縮される。この圧縮
は、データ依存関係(データの到着順序)の試験に加え
て、前章で述べたオフライン試験と同様に、パケットが
経由してきたリンク51、ノード45等の試験と、デッ
ドロックの検出に関係する。
【0155】ここで、ソースアドレスと目的地アドレス
の試験は、パケット組立て/分解ユニット454におい
て相次ぐパケットからアドレス部を分離し、分離したソ
ースアドレス又は目的地アドレスを、シグナチャアナラ
イザ55により圧縮して、その結果を、予めプロセッサ
42内のローカルメモリ454に格納しておいた期待値
(基準シグナチャ)と、比較することにより行なわれ
る。この比較は、前述したオフライン試験の第1の試験
でのステップ(7)におけるのと同様な方法により、行
なうことができる。
【0156】命令の試験は、命令バス(I)27を経て
供給された命令を、シグナチャアナライザ55により圧
縮し、各命令ブロック中の相次ぐ命令の圧縮結果を、予
めローカルメモリ424に格納しておいた期待値(基準
シグナチャ)と、比較することにより行なわれる。この
試験は、システムの動作をプログラムされた制御フロー
の実行の観点から監視するものであって、命令分配・供
給機構及び命令解読・実行機構の試験のために有効であ
る。
【0157】ソースアドレス、目的地アドレス及び命令
のいずれをシグナチャアナライザに供給するかの選択
は、ルータ制御/タイミングユニット452からの制御
信号に応じて、セレクタ912で行なう。命令ブロック
中の先頭命令と末尾命令の認識は、ブロック先頭/末尾
検出回路913により行なう。
【0158】オンライン試験では、目的地ノードで受信
されるパケットの到着順序が、ランダムになる場合もあ
りうる。この場合は、図31に示すように、複数のバッ
ファを設けることにより対処することができるが、それ
については次章で説明する。
【0159】図18は、パケット交換型相互接続回路網
を用いるマルチプロセッサシステムのオンライン試験に
使用される、パケット120のフォーマットを示す。パ
ケットは、プログラムの実行の過程で他のプロセッサへ
送られるデータ121(アプリケーションプログラムの
実行の結果生じる)を含んでいる。目的地アドレス83
は、相互接続回路網上の経路指示に使用されるだけでな
く、既に図17に関連して説明したように、ソースノー
ドにおいて、送信される前に圧縮される。ソースアドレ
ス85は、そのパケットの目的地において圧縮される。
ソースアドレスは、マルチプロセッサシステムの相互接
続回路網にとっては、不要な場合が多いであろう。しか
しながら、本発明においては、それが、データ依存関係
に基づくプログラム実行のオンライン試験を行う目的
で、特に付加される。しかも、それは、データ依存関係
の試験のみならず、マルチプロセッサシステムで現に実
行中のアルゴリズムのための全回送過程の試験にも、ま
た役立つ。
【0160】各ノード(又はプロセッサ)が、他のノー
ド(又はプロセッサ)のどれとどれから、どんな順序で
データを受取るべきであるかは、プログラムによって予
め定められている。したがって、各ノードのための基準
シグナチャは、例えば、プログラムをコンパイルする時
に、プログラムを解析することによって容易に得ること
ができる。そして、システムが誤り無く動作すれば、各
ノードにおいて受信したパケットのソースアドレスを圧
縮して得られるシグナチャは、そのノードのための基準
シグナチャと一致するはずである。
【0161】図19は、マイクロコントローラ20から
各プロセツサ42に送られる命令のフォーマットを示し
ている。この命令フォーマットは、オンライン試験を行
なうのに適合するように、次に列挙する諸フィールドを
有する。
【0162】○ ブロック先頭ビット651:このビッ
トは、ブロック先頭/末尾検出回路913(図8)にお
いて、マイクロコントローラ20から特定のプロセッサ
42に送られる一連の命令(I)27の中から、各命令
ブロックの先頭の命令を検出するために用いられる。こ
のビットは、予め定められた各命令ブロックの先頭の命
令においてのみ“1”に設定される。あるノードにこの
ビットが“1”の命令が供給されると、そのノードのブ
ロック先頭/末尾検出回路913は、マイクロコントロ
ーラ20に、シグナチャアナライザ55の初期化を要求
する。
【0163】○ ブロック末尾ビット652:このビッ
トは、ブロック先頭/末尾検出回路913において、マ
イクロコントローラ20から特定のプロセッサ42に送
られる一連の命令(I)27の中から、各命令ブロック
の末尾の命令を検出するために用いられる。このビット
は、前記の予め定められた各命令ブロックの末尾の命令
においてのみ“1”に設定される。あるノードにこのビ
ットが“1”の命令が供給されると、ブロック先頭/末
尾検出回路913は、マイクロコントローラ20に、シ
グナチャアナライザ55の内容の読出しを要求する。
【0164】このビットは、また、実行する命令がプロ
セッサによって異なるMIMDアレイにおいて、シグナ
チャアナライザ55による圧縮結果(シグナチャ)と期
待値の比較のタイミングを、各プロセッサごとに制御す
るためのフラグとしても、利用することができる。
【0165】○ テストモードフィールド655:この
フィールドは、試験に関する動作モードを指定する。以
下に一例を示す。 ・ テストモードビット=000: 通常モード;オンライン試験は行なわない。 ・ テストモードビット=001:第1のオフライン試
験モード ・ テストモードビット=010:第2のオフライン試
験モード ・ テストモードビット=011:第3のオフライン試
験モード ・ テストモードビット=100: 通常モード;オンライン試験を行なう。
【0166】○ オペレーションコードフィールド65
4:このフィールドは、各プロセッサで実行される命令
のオペレーションコードを保持する。制御フローの試験
のための命令の圧縮においては、このフィールドの内容
が圧縮される。
【0167】○ その他653:このフィールドの用途
は、プロセッサの設計に依存する。例えば、プロセッサ
42の内部レジスタ423及びそれと同等なユニットの
指定に用いることができる。
【0168】制御フローの監視のための命令シグナチャ
試験それ自体は、周知である。例えば、前掲文献“Conc
urrent Error Detection Using Watchdog Processors -
A Survey”、及び“Processor Monitoring Using Asyn
chronous Signatured Instruction Streams”を参照さ
れたい。要約すると、プログラムは、適当なブロック
(例えば、条件付き分岐命令の次の命令から、次の条件
付き分岐命令までの命令列)に分割される。プログラム
の実行中、各ブロックごとに、実行される相次ぐ命令の
オペレーションコードが累積・圧縮されて、試験シグナ
チャが生成され、それが基準シグナチャと比較される。
基準シグナチャは、プログラムをコンパイルする時に、
正しい命令列を正しい順序で圧縮することにより作成し
うる。
【0169】本実施例においては、命令、ソースアドレ
ス及び目的地アドレスの全てを、単一のシグナチャアナ
ライザによって累積・圧縮する。前述したように、それ
ぞれの情報の正しいシーケンスが既知であり、かつ、後
述するように、各命令の実行過程におけるこれらの情報
の圧縮順序も既知であるから、これらの情報の全体に対
する単一の基準シグナチャを作成することが可能であ
り、したがって、これらの全体のシーケンスを単一のシ
グナチャアナライザで検査することができる。しかしな
がら、各情報専用のシグナチャアナライザを設けてもよ
い。これらのシグナチャアナライザは、それぞれ対応す
る情報の圧縮のタイミングに同期したゲート信号により
作動される。こうすれば、ハードウエア量は増すけれど
も、誤りがどのシーケンスに生じたか、したがってどこ
に障害が発生したかの診断は、容易になる。あるいはま
た、命令専用のシグナチャアナライザと、ソースアドレ
ス及び目的地アドレスのための共用シグナチャアナライ
ザとを設けてもよい。
【0170】図20は、MIMDプロセッサアレイへの
並列アルゴリズムの写像(マッピング)の一例を示す。
ここでは、相互接続回路網50として、方形2次元メッ
シュ相互接続回路網が使用されている。この場合、図6
に示されるように、各プロセッサにそれぞれルータが割
当てられているものと仮定する。相互接続回路網の各ノ
ードに1個のプロセッサ−ルータ対が存在し、回路網内
におけるその位置は、座標(i,j)により識別され
る。ただし、iは水平軸212上の値であり、jは垂直
軸214上の値である。
【0171】この例において写像されているアルゴリズ
ムは、トリー形態をなし、変数a、x、b、y、c、
z、d及びwが入力208に供給されて、式(ax+b
y)及び(cz+dw)の値の大きい方を判別するもの
である。図において、黒い四角形202は入力ポートを
表わし、黒い丸204は演算子(加算、乗算及び“より
大きい”)を表わしている。この場合の“より大きい”
演算子は、その入力上の2個の値の内の大きい方をその
出力に出すものと定義される。この実行はパイプライン
化されている。すなわち、各クロックサイクルにおい
て、新しい一組の入力値が処理のために供給され、か
つ、新しい最終結果値が出力210に出力される。プロ
グラム実行のオンライン試験のために使用されるシグナ
チャアナライザを表わす符号SAは、能動状態のノード
にのみ付されている。非能動プロセッサはNOP(非動
作)命令を受け取る。
【0172】図20に写像されているプログラムは、固
定的なものである。すなわち、そこでは、同じ命令がプ
ログラム実行の全期間を通して同じ場所に写像される。
しかしながら、パケットが通過する経路は、固定されて
おらず、回送過程の進行中に動的に規定される。例え
ば、座標(8,6)においてシグナチャアナライザによ
り圧縮される量は、次のようなものである。
【0173】○ マイクロコントローラ20から受信さ
れる命令で、この例では乗算命令 ○ 入力データのソースアドレスで、この例では、座標
(7,8)及び(9,8)にあるプロセッサの回路網ア
ドレス ○ 出力データの目的地アドレスで、この例では、座標
(10,4)にあるプロセッサの回路網アドレス
【0174】このプログラムでも、また他のプログラム
でも、その実行を本発明の基本的方法(次章で図31に
関して説明する変更がなされない場合)により監視する
ために注意を要する点は、任意の回送サイクルにおい
て、どのノードもただ1個のソースノードのみからデー
タを受けるように、回送が行なわれなければならないこ
とである。前にも述べたように、この条件は、回路網に
ランダムな遅延が存在してもシグナチャは予知可能でな
ければならないという要請から、不可避的に生じるもの
である。したがって、前記の例においては、プロセッサ
(7,8)からの結果データの回送は、プロセッサ
(9,8)からの結果データの回送に先立つ回送サイク
ルにおいて行われるように、スケジュールされる。
【0175】平常動作中におけるデッドロックの検出
は、ソースアドレスのシグナチャのオンライン試験によ
って可能である。もしもどこかのリンクでデッドロック
が発生すれば、1個又はそれ以上のメッセージがそれら
の目的地ノードに到達できず、したがって、それらの目
的地ノードで生成されるソースアドレスのシグナチャに
異常が生じる。もっとも、このソースアドレスのシグナ
チャの異常は、デッドロックに起因するものとは診断で
きない。オンライン試験は、故障の早期発見に重点を置
いており、故障の診断を目指してはいない。それ故、前
章で説明したオフライン試験による故障解析が必要であ
り、また、それが可能である。
【0176】図21は、SIMDプロセッサアレイにお
けるオンライン試験の実現形態を模式的に示す。このア
ーキテクチャの場合、すべてのプロセッサは、マイクロ
コントローラ20から同じ命令を受信する。しかしなが
ら、その前のサイクルにおける内部フラグレジスタへの
適当な書込みにより、その命令を実行するプロセッサが
選択される。図21に示されている各局面(クロックサ
イクル)においてプロセッサアレイにより実行されるプ
ログラムセグメントは、次のようになる。
【0177】(a)2行目及び4行目にある各プロセッ
サは、前の動作の結果を、同じ行の右方二つ目の各プロ
セッサに回送する。 (b)上記各プロセッサにおいて、レジスタBに入力ポ
ート“ウエスト”からのデータを記憶する。 (c)上記各プロセッサにおいて、レジスタBの内容を
レジスタA(その内容は以前に計算されている)に加算
する。 (d)2行目の各プロセッサは、前のサイクルの結果
(レジスタBの内容)を同じ列の4行目のプロセッサに
回送する。
【0178】プログラムが正しく実行されたとすると、
本発明によるオンライン試験が適用された結果、座標
(2,3)にあるシグナチャアナライザは、前述した各
サイクル中に、それぞれ下記の入力を圧縮することにな
る。
【0179】(a) ○ 回送命令のオペレーションコード ○ 座標(2,1)にあるプロセッサのアドレス、すな
わち、現行サイクルにおいて受信されたパケットのソー
スアドレス ○ 座標(2,5)にあるプロセッサのアドレス、すな
わち、現行サイクルにおいて送出されたパケットの目的
地アドレス ただし、これらの3個の量が圧縮される順序は、これら
の量が利用可能となるマイクロサイクルによって予め決
められている。 (b)入力ポート“ウエスト”からのデータをレジスタ
Bに記憶する命令のオペレーションコード (c)レジスタBの内容をレジスタAの内容に加える命
令のオペレーションコード (d) ○ 回送命令のオペレーションコード ○ 座標(5,3)にあるプロセッサのアドレス、すな
わち、現行サイクルにおいて送出されたパケットの目的
地アドレス
【0180】図22は、シストリック(systolic)アル
ゴリズムの実行のオンライン試験を示す。このアルゴリ
ズムについては、Dan I. Moldovanによる“On the Desi
gn of Algorithms for VLSI Systolic Arrays"、198
3年1月発行、Proceedingsof the IEEE、Vol. 71、N
o. 1、第113ないし120頁を参照されたい。
【0181】図22(a)には、SIMDプロセッサア
レイでのこのアルゴリズムの一つの可能な写像が示され
ている。同図(b)には、同じアレイでのこのアルゴリ
ズムの別の可能な写像が示されており、ここでは、更に
対角接続が使用されている。全プロセッサが同じ命令
(固定のアルゴリズム)を実行する。写像の変化は収集
されたシグナチャにより容易に検出される。例えば、図
22(b)の写像において、座標(2,2)にあるプロ
セッサは、図22(a)におけるのと同じソース(2,
1)及び(1,2)から来るデータの外に、ソース
(3,3)からのデータを受信する。かくして、同じ数
のクロックサイクルに対してノード(2,2)で圧縮さ
れるシグナチャは、(b)ではソース(3,3)のアド
レスが(a)におけるよりも余計に累算されるので、二
つの写像の間で異なることになる。
【0182】すなわち、本発明は、誤りの検出のみなら
ず、所望のマッピングパタンが正しく形成されているか
否かの検査にも利用できる。例えば、(b)のパタンで
処理中に、ある対角リンクの故障がシグナチャ解析によ
り検出されれば、マイクロコントローラ20により
(a)のパタンに切替えて、今度は、このパタン切替が
正しく行なわれたか否かを、シグナチャ解析によって検
査することができる。
【0183】ここで注意すべきことは、オンライン試験
を行なう上で、シグナチャアナライザは、むしろそれが
監視する命令(固定プログラムの場合)又は命令列(一
般の場合)と関連付けられるのであって、必ずしも特定
の物理的場所(プロセッサ)と関連付けられるのではな
いということである。写像が動的に行なわれ、同じ命令
又は命令列が、並列プログラムの実行過程において、異
なる時点において異なるプロセッサに写像されるという
ことがありうる。このようなことは、例えば、プログラ
ムの規模が大きすぎるために、その全体をプロセッサア
レイに一度に写像することができないときに生じる。か
かる場合において、基準シグナチャとの比較が全実行の
終りにおいて必要なのであれば、中間シグナチャは、動
的写像の過程において、命令又は命令列と共に移動しな
ければならない(図23参照)。中間シグナチャを新し
い位置に初期値として転送する処理は、命令又は命令列
の変位(再写像)と並行して、マイクロコントローラ2
0により行われる。
【0184】さて、タイミングに関して、シグナチャア
ナライザにより、又はそれに対して行なわれる動作は、
表2に示すように、プロセッサアレイにおいて行なわれ
る主処理ステップと整合している。
【0185】
【表2】 オンライン監視ステップ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ プロセッサアレイ処理位相 シグナチャアナライザ動作 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ …………… ・マイクロコントローラ20による 初期化(もし必要なら) 命令処理: ・マイクロコントローラによる ・命令の圧縮 命令取出し又は写像 ・命令実行 …………… ・結果の記憶 …………… ・目的地へのパケット送出 ・目的地アドレスの圧縮 ・回路網内でのパケット回送 ・(回送命令の圧縮) ・目的地でのパケット受信 ・ソースアドレスの圧縮 …………… ・マイクロコントローラ20による シグナチャ読出し(もし所望なら) 及び基準シグナチャとの比較 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
【0186】表2に示されているように、マイクロコン
トローラ20は、すべてのシグナチャアナライザ55に
対する書込み動作を、二つの場合に行なうものと想定さ
れている。第1に、シグナチャアナライザ55の初期値
が、プログラム実行の開始前に規定されなければならな
い。これは、データバス(D)29を介して、マイクロ
コントローラ20からの指示により行なわれる。第2
に、プロセッサアレイにおける命令の各再写像に先立っ
て、中間初期値が、図23を参照して前に述べたように
転送されなければならない。ここでは、すべてのシグナ
チャアナライザ55は、マイクロコントローラ20によ
ってのみアクセスされるグローバル読出し/書込みメモ
リとして、構成されているものと仮定している。
【0187】基準シグナチャとの比較のために中間シグ
ナチャ又は最終シグナチャを読出す動作は、すべてのシ
グナチャアナライザ55に対して並列に行われる。これ
は、すべてのシグナチャアナライザ(レジスタとして構
成されている)を対象とする型式の並列動作(レジスタ
を読み出してメモリと比較)を、プログラミングするこ
とによりなされる。もしも、いづれかのシグナチャアナ
ライザの値がローカルメモリ424に記憶されている基
準シグナチャの値と異なっていれば、プロセッサアレイ
のグローバルステータスフラグ26により、エラーの発
生がマイクロコントローラ20に通報されて、適当な手
段が講じられることになる。図24は、表2に示したオ
ンライン試験手順を模式的に示す。プロセッサアレイ4
0における演算過程は、次の二つの主なフェーズに分け
ることができる。
【0188】〇 プロセッサ内での処理フェーズ601 〇 回送フェーズ602
【0189】処理フェーズ601において、命令(I)
27が、マイクロコントローラ20からすべてのプロセ
ッサ42に供給され、演算処理ユニット421(図8)
により実行される。実行結果は、ローカルメモリ424
に格納されるか、又は他のプロセッサヘ送るパケットに
組込むために準備される。また、処理フェーズ601の
初頭において、命令の圧縮(604)が行なわれる。
【0190】回送フェーズ602の初頭において、パケ
ット組立て/分解ユニット454でパケットが生成され
る(611)。続いて、シグナチャアナライザ55が、
目的地アドレスの累積・圧縮(606)を行なう。生成
されたパケットは、パケット内に示された目的地アドレ
スに回送される。目的地アドレスにパケツトが到着する
(613)と、そのソースアドレス部が、シグナチャア
ナライザ55によって累積・圧縮される(608)。
【0191】本発明によるオンライン試験の有効性を示
すために、リンク51の縮退故障に対するソースアドレ
スのシグナチャのエイリアス確率の理論的計算の結果を
次に述べる。ただし、以下の条件を仮定する。
【0192】(a)各プロセッサに1個のノードが割り
当てられる。 (b)プセッサの総数はN2個で、相互接続回路網はN
行N列のトーラス網。 (c)パケットは図8のフォーマツトで、アドレスの長
さはm(=log22)ビット。 (d)各回送サイクルにおいて、各ノードは1個のパケ
ットを送出し、かつ、1個のパケットを受信する。送出
及び受信のタイミングは、全プロセッサについて同一で
ある。 (e)パケツトが到着しない場合、ソースアドレスがオ
ール“0”のパケットが受信されたものとして処理を行
なう。 (f)回送経路としては、まずX軸方向に進み、次にY
方向に進む。 (g)相互接続回路網内の1個のリンクのみが0縮退
(stuck at 0)故障を起こす。したがって、このリンク
を通ったパケットは、オール“0”となる。 (h)誤ったノードに回送される確率は、意図されたノ
ード以外のすべてのノードについて同一である。
【0193】理論的計算の結果によれば、アドレス“0
・・・0”以外の全ノードでは、試験長が十分長い場
合、エイリアス確率の上限値は、ほぼ、N~2の〔N2-
1〕乗となり、例えば、N2=1000のとき、約10~3000
である。また、試験長が短い場合には、この値は、試験
長をnとすると、ほぼ、{1−1/(4N)}のn乗の
更に〔N2−1〕乗となり、例えば、N2=1000でn=1
6のとき、約3×10~4である。したがって、アドレス
“0・・・0”以外の全ノードでシグナチャ解析を行な
えば、そのエイリアス確率は、試験長の如何にかかわら
ず、無視できる程度に低い。
【0194】他方、アドレス“0・・・0”のノードで
は、試験長が十分長い場合、エイリアス確率の上限値
は、ほぼN~2となる。したがって、プロセッサの個数が
十分大きければ、アドレス“0・・・0”のノードにお
けるシグナチャ解析のみによっても、システム内のリン
クの0縮退故障を、十分高い確率で検出することができ
る。しかしながら、試験長nが短い場合のエイリアス確
率は、0縮退故障点を通ったパケットの扱いに依存す
る。すなわち、0縮退故障点を通ったパケットをアドレ
ス“0・・・0”のノードに到着させ、かつ、各サイク
ルに到着したパケットの内の一つだけをシグナチャ解析
のために圧縮するとすれば、エイリアス確率は、ほぼ、
[{1−1/(4N)}/K]のn乗となり、例えば、
2=1000、n=16、K=10のとき、約10~16であ
って、無視できる値である。ところが、到着した全パケ
ットを圧縮する場合、及び0縮退故障点を通ったパケッ
トを消滅させる場合には、エイリアス確率は、ほぼ、
{1−1/(4N)}のn乗となり、例えば、N2=100
0でn=16のとき、約0.88であって、“1”に比
べて無視できない。
【0195】したがって、数千個以上のプロセッサを有
するシステムでは、0縮退故障点を通ったパケットをア
ドレス“0・・・0”のノードに到着させ、かつ、この
ノードのみにおいて、各サイクルに到着したパケットの
内の一つだけを圧縮すれば十分であるが、数百台以下の
プロセッサを有するシステムでは、全プロセッサでシグ
ナチャ解析を行なうのが安全であろう。
【0196】5 代替例 当業者には明らかなように、前述の基本的実施例に対す
る幾多の変更が、本発明の精神及び範囲内でなしえるで
あろう。
【0197】この発明は、プロセッサアレイ内のプロセ
ッサを接続するために使用される相互接続回路網の型式
とは無関係に、実施することがきる。前述の実施例にお
いてはn次元キューブが使用されたが、他の型の結合網
でもよい。
【0198】図6に示したような、パケット交換式の相
互接続回路網が使用され、かつ、各プロセッサごとにル
ータが設けられているシステムは、可能な実施態様の一
つであるにすぎない。図25(a)ないし図25(c)
には、他の可能性が示されている。
【0199】図25(a)は、本発明が適用できるマル
チプロセッサシステムに使用可能なパケット交換式相互
接続回路網の、他の例を示すブロック図である。この回
路網の場合、各ルータは、幾つかのプロセッサに接続さ
れる。この構造は、図6に示されているものと比較し
て、回路網内のルータの合計数を減少させる。しかしな
がら、この場合のルータ45は、複数のプロセッサから
の通信要求を処理しなければならないので、複雑さが増
すことになる。
【0200】図25(b)は、本発明が適用できるマル
チプロセッサシステムに使用可能な回線交換式相互接続
回路網の、一例を示すブロック図である。この型式の回
路網において、各プロセッサは、スイッチボックス46
に接続される。スイッチボックス46は、回路網の形態
(トポロジー)により規定されたパターンで相互接続さ
れ、そして、マイクロコントローラ20により供給され
るスイッチ制御信号23によって制御される。本発明の
適用に際して、プログラム実行のデータ依存関係に基づ
くオンライン試験に必要な、データのソース及び/又は
目的地の識別を可能にするために、いくつかの補足的情
報が、IDアペンドブロック49においてデータに付加
される。この補足的情報は、例えば、データのソース又
は目的地の識別データ(例えば、それらのアドレス)で
あってもよいし、あるいは、それを圧縮することによっ
てプログラム実行時におけるデータ依存関係が試験でき
るような、先験的に知りうる他のデータであってもよ
い。
【0201】図25(c)は、本発明が適用できるマル
チプロセッサシステムに使用可能な回線交換式相互接続
回路網の、他の例を示すブロック図である。この回路網
においては、幾つかのプロセッサが、1個のIDアペン
ドブロック49を介して、1個のスイッチボックス46
に接続される。
【0202】図26は、回線交換式相互接続回路網を使
用したマルチプロセッサシステムのオンライン試験で使
用される、データフォーマットの一例を示す。この場
合、オンライン自己試験を適用するために、データは、
パケット交換式相互接続回路網の場合のパケットに類似
した、一種のパケット100に組立てられる。しかしな
がら、それらの間には大きな差違がある。すなわち、図
26に示されたパケットの内容は、パケット交換式相互
接続回路網の場合とは違って、データを回送する過程に
おいて使用されることはない。この場合、ソースから目
的地へのデータの回送は、当該回送サイクルを通して設
定される回路通路を経て行なわれ、この回路通路は、ス
イッチ制御信号23を介して、マイクロコントローラ2
0によって行われる。
【0203】このパケット100は、プログラムの並列
実行の過程で他のプロセッサへ送られるデータ121
(プログラム実行の結果生じる)を含む。このデータ
は、本発明による試験のために直接には使用されない。
このパケット100は、また、ソースアドレス(タグ)
フィールド85を含む。このフィールドは、回送過程に
おいて何の役割も持たない。それは、データ依存関係に
基づくプログラム実行のオンライン試験を行うという明
確な目的をもって、パケットの構造に特に導入されたも
のである。図17に関連して説明したように、このソー
スアドレスは、データ依存関係の試験を行なうために、
そのパケットの目的地において圧縮される。しかしなが
ら、それは、データ依存関係の正しさを試験するのみな
らず、更に、マルチプロセッサシステムで実行中のアル
ゴリズムのための、全回送過程も試験する。もしも所望
ならば、目的地アドレスも、図18に示したフォーマッ
トと同様に、パケットに加えてもよい。
【0204】前述したオフライン自己試験の実施例の説
明においては、各ノードが、擬似ランダム発生器とシグ
ナチャアナライザの双方を、同時に働かせることができ
るものと仮定した。しかしながら、そのような能力は、
本発明にとって必ずしも不可欠ではない。例えば、図2
7は、図7に示されたのとは異なるシステムを示し、そ
こにおいて、ある回送サイクルでは、図7におけるPR
G/SAブロックの幾つか(符号55が付されているも
の)は、擬似ランダム発生器としてのみ使用され、他の
もの(符号54が付されているもの)は、シグナチャア
ナライザとしてのみ使用され、次いで、それらの役割が
交替する。この構成は、ノードがデータの送出と受信を
同時には行わない(又は行えない)場合に使用される
が、この構成にも本発明を適用することができる。
【0205】前にも述べたように、シグナチャアナライ
ザ(SA)の割り当てには、幾つかの変形がありうる。
図28及び図29は、図1に示されている構成に対する
幾つかの代案を示す。
【0206】図28は、ルータ45が各プロセッサ42
に割当てられる場合の代案を示す。シグナチャアナライ
ザ(SA)55は、マイクロコントローラ20から来る
命令ストリーム(I)27を直接監視する入力を持って
いる。もう一つの入力は、プロセッサ42とルータ45
の間のバス(又は直列リンク)44を監視する。ルータ
45が、受信したパケットのデータ部のみをプロセッサ
42に送る構造の場合(アドレス部はプロセッサにとっ
て不要である)には、バス44の監視によったのでは、
受信したパケットのソースアドレスを累積・圧縮するこ
とはできず、単に、送出されるパケットの目的地アドレ
ス(これはプロセッサ42からバス44を経てルータ4
5に送られる)が累積・圧縮できるだけである。しかし
ながら、もしも、ルータ45が、累積・圧縮だけの目的
でソースアドレスもバス44上に送出するならば、図1
7に関連して説明したような、データ依存関係の全試験
が可能である。ただし、この変形は、ソースアドレスの
送出により生じるオーバヘッドのために、バス44上で
のデータの授受が減速されるので、それとの間での妥協
が必要である。
【0207】前にも述べたように、所要のハードウェア
量の低減のために、複数のプロセツサが1個のルータを
共有する構造をとることができる。図29(a)に示さ
れた変形では、3個のプロセッサ42が1個のルータ4
5に割当てられており、そして、1個のシグナチャアナ
ライザ(SA)55−1〜55−3が、図28に示した
のと同じ態様で、各プロセッサに割当てられている。ソ
ースアドレスの監視に関しては、図28に関連して説明
したように、もしも、ルータ45がソースアドレスもバ
ス44上に送出するものであれば、バス44上において
ソースアドレスが監視されることになる。
【0208】図29(b)には、シグナチャアナライザ
を割当てる別の案が示されており、そこでは、ただ1個
のシグナチャアナライザ(SA)55が、1個のルータ
45に接続された1群のプロセッサ42に割当てられて
いる。容易に類推できるように、この場合に得られるシ
グナチャは、プロセッサ群の間におけるデータ交換を反
映する。一般に、異なる幾つかのプロセッサから送出さ
れ、またそれらにより受信されるパケットは、時間的順
序が不定である。したがって、このように配置されたシ
グナチャアナライザにより行なう累積・圧縮は、プロセ
ッサ群内のプロセッサのアドレスではなく、ルータに関
係するアドレスの部分のみを対象とする必要がある。
【0209】図29(c)には、シグナチャアナライザ
を割当てる更に別の変形が示されており、そこにおい
て、シグナチャアナライザは、一群のプロセッサ−ルー
タ対に割当てられ、シグナチャアナライザの各入力は、
1個のリンクに割当てられている。これは、集積回路技
術を利用する場合に、シグナチャアナライザの配置に必
要な領域を最小にするという利点を持っている。もし
も、相互接続回路網内のデータ伝送が完全同期式で、直
列リンクが採用され、そして、図10(b)に示されて
いるような並列入力シグナチャアナライザが、幾つかの
このようなリンクに割当てられているならば、コンパク
トな装置化が達成される。
【0210】単一のシグナチャアナライザによる複数の
リンクの監視に伴う困難は、リンクが互いに同期されて
いない場合に生じると考えられる。したがって、幾つか
のソースアドレスを圧縮するためのサンプリングは、図
31に関連して後述するように、同期式バッファからな
されなければならない。難点としては、このように、1
個のシグナチャアナライザが幾つかのリンク、又は幾つ
かののルータ/プロセッサに割当てられると、故障診断
の分解能が、それぞれのシグナチャによりカバーされる
領域の全体に制限される点である。
【0211】前述のような、一群のプロセッサが単一の
ルータを共有する場合に、この一群のプロセッサ内での
アドレス指定が、演算と回送の双方に対して有用な場合
がある。図30は、複数のプロセッサが1個のルータに
割当てられ、かつ、メッセージ交換式相互接続回路網が
使用される場合のオンライン試験に有用な、ソースアド
レス及び目的地アドレスのフィールド(図18の85及
び83)のフォーマットを示す。この場合、ルータアド
レスフィールド86は、プロセッサ群の識別に使用さ
れ、プロセッサアドレスフィールド84は、このプロセ
ッサ群内でのアドレス指定に使用される。このフォーマ
ットは、ソースアドレス85及び目的地アドレス83の
双方に採用しうる。
【0212】前述した実施例は、各プロセッサが、一度
に1命令ずつ実行する単純・小規模なものであると仮定
している。しかしながら、この発明は、各プロセッサが
もっと複雑・大規模なものである場合にも適用できる。
この場合、各プロセッサは一つのプロセス(並列プログ
ラムの1ブロツク)を実行し、このプロセスが、相互接
続網のリンクを介して、他のプロセッサに写像された他
のプロセスと通信をする。すなわち、この場合のリンク
は、プロセス間通信チャネルのためのハードウェアサポ
ートとみなすことができる。このようなシステムの場合
に、本発明の自己試験機構は、プロセス間レベルでのデ
ータ依存関係を監視することになる。
【0213】また、前述した実施例においては、各回送
サイクルの終りに各プロセッサに到達するパケットの数
を1個に制限し、かつ、同期的通信の使用を前提とし
た。けれども、本発明は、回送についてのそうした制約
がないマルチプロセッサシステムに対しても適用でき
る。前記の制約を課した主な理由は、再現可能なシグナ
チャの発生を確実にすることである。もしも、2個のパ
ケットが目的地に非同期的に到着するならば、それらの
到着順序は基本的に不規則である。その場合、データ依
存関係を監視するためのソースアドレスの直接的(バッ
ファされない)圧縮は、予測しえないシグナチャを発生
することになる。
【0214】しかしながら、もしも、非同期的に到着す
る諸パケットが、その目的地において別個のバッファに
一旦記憶され、そして、ソースアドレスの圧縮が、すべ
てのパケットの回送が終わってから、非同期的リンクか
ら直接にではなく、前記バッファから同期的に行なわれ
るならば、累積されるシグナチャは予見可能である。前
にも述べたように、回送の終了は、例えば、ステータス
フラグ26(図5)を介して検出することができる。
【0215】図31は、かかる代替構成を示す。この場
合、目下の回送サイクルにおいて、2個のパケットが、
ルータ45に入る諸リンクの内の2個、すなわち、リン
クA(51−1)及びリンクB(51−2)を経て、非
同期的に到着するものと仮定している。これらのパケッ
トは、対応するバッファ、すなわち、バッファA(59
−1)及びバッファB(59−2)に、完全にバッファ
される。これらのバッファへのパケツトのサンプリング
は、各リンクに割当てられた、互いに同期されていない
クロック、すなわち、クロックA(49−1)及びクロ
ックB(49−2)を用いて、行なわれる。回送終了信
号47により、回送動作の終了(すなわち、両パケット
が既にバッファ内にあること)が告げられると、バッフ
ァされた両パケットのソースアドレス部は、シグナチャ
アナライザ(SA)55により、予め定められた順序で
圧縮される。この圧縮のために使用されるクロックは、
局部プロセッサクロック48である。
【0216】前述した実施例では、命令の圧縮はプロセ
ッサのレベルにおいてなされている(すなわち、実際に
圧縮されるのは、各プロセッサがマイクロコントローラ
20から受取るマイクロ命令27である)が、この形式
には、マイクロ命令の幅が通常は非常に広い(数十ビッ
ト)ために、多数の入力を持つ並列入力シグナチャアナ
ライザ(図10bに示されているような)を必要とする
点で、問題がある。この問題は、命令の圧縮を、制御バ
ス11を経てホストコンピュータ10からマイクロコン
トローラ20に供給される高レベルの命令に対して行え
ば、幾分は軽減される。しかしながら、これはまた、制
御フローの診断のレベルを、プロセッサアレイ内のプロ
セッサ42への命令から、マイクロコントローラ20へ
のデコード前の命令のレベルへ、移すことになる。
【0217】これまでに述べた実施例及び代替例におい
ては、ハードウェアによるシグナチャアナライザが用い
られているが、シグナチャアナライザは、ソフトウェア
によっても実現することができる。ソフトウェアによる
シグナチャアナライザは、プロセス(プログラムモジュ
ール)間通信のオンライン監視に適している。
【0218】プロセス間通信は、種々の形式で行なわれ
うる。例えば、M. J. Rochkindによる“Advanced UNIX
Programming”、1985年、Prentice-Hall社発行、第
182ないし183頁、第192ないし195頁及び第
188ないし189頁に記載されているように、UNI
Xオペレーティングシステム(UNIXはAT&T BellLab
oratoriesが所有する商標)及びそれから派生した並列
コンピュータ用OSの下では、プロセス間通信は、次の
ような機構を用いて行なうことができる。
【0219】・メッセージシステムコール(所定フォー
マットのデータの授受) ・共有メモリ(共通のアドレス空間を介するデータ授
受) ・セマフォ(セマフォと呼ぶ特殊なデータ構造のテスト
による実行の同期)
【0220】拡張された本発明の方法によれば、次に述
べるように、これら諸機構によるプロセッサ間通信につ
いても、オンライン試験を行なうことができる。
【0221】まず、メッセージによるプロセス間通信の
場合を説明する。図32において、複数のプロセス11
02が、あるプログラムの実行のために協同する。これ
らのプロセスは、単一のプロセッサにより時分割で実行
してもよいが、図5及び6に示すようなプロセッサアレ
イにより実行してもよく、この場合には、各プロセッサ
に1個のプロセスを割り当てる。これらのプロセスは、
結合されて、プロセス網を形成する。種々のプロセスの
創成、削除及びスケジューリングは、オペレーティング
システム1100によって制御される。
【0222】諸プロセスは、プログラムの実行に必要な
データの交換を、通信チャネル1104を介して、図1
8に示されたフォーマットのメツセージを送受すること
によって行なう。ただし、アドレスの代りに、適当なプ
ロセス識別情報を用いることができる。これらのチャネ
ルは、ハードウェア又はソフトウェアによって実現しう
るが、図5及び6に示すシステムにおいては、各1対の
プロセッサの間の物理的な回送経路に対応する。ソフト
ウェアによる場合には、チャネルは、ソースプロセスに
よって書込まれ、目的地プロセスによって読出される、
適当なデータ構造(例えば、FIFO構造)として実現
される。
【0223】各シグナチャアナライザ(SA)1155
は、ソフトウェアモジュール(マクロ又はサブルーチ
ン)により実現される。例えば、サブルーチンで実現し
た場合に、このサブルーチンは、各処理ブロックの当初
に初期化されて、ソースプロセスから目的地プロセスに
向けてデータが送出される(例えばバッファへ書込まれ
る)たびに、また、データがチャネルを介して目的地プ
ロセスに到着する(例えばバッファから読出される)た
びに、呼出されて、図10(a)及び(b)により説明
したハードウェアSAと同じアドレス圧縮機能を、ソフ
トウェアによって遂行する。各ソフトウェアSAが呼出
される順序は、前述したハードウェアSAがアドレス圧
縮のために起動される順序と同じである。各プロセス
に、その一部としてそれぞれのソフトウェアSAを組込
んでもよいし、あるいは、複数のプロセスの共用ソフト
ウェアSAを、共用メモリ領域に用意してもよい。
【0224】図5、6及び8に示されたマルチプロセッ
サシステムの場合には、各プロセッサ内のローカルメモ
リ424に、シグナチャアナライザを実現するためのサ
ブルーチンが保持され、命令の圧縮又はアドレスの圧縮
が必要になるたびに、プロセッサは、自発的にこのサブ
ルーチンを呼出し、その演算処理ユニット421とレジ
スタ群423を用いて、それを実行する。セレクタ91
2は、その出力916を、ハードウェアSA55の代り
に、プロセッサ42へ供給する。
【0225】ハードウェアSAとソフトウェアSAの双
方を設けて、それらを使い分けてもよい。例えば、頻度
の高い命令の圧縮にはハードウェアSAを用い、比較的
頻度の低いアドレスの圧縮にはソフトウェアSAを用い
ることができる。あるいは、1台のプロセッサに割当て
られた複数のプロセスの間の通信の監視には、ソフトウ
ェアSAを用い、異なるプロセッサに割当てられたプロ
セスの間の通信の監視と、命令の監視とには、ハードウ
ェアSAを用いることもできる。
【0226】シグナチャアナライザ1155は、図32
に示されるように、各チャネルに1個ずつ設けてもよい
が、代案として、各ポート(同一プロセスに接続された
一群のチャネル)に1個ずつ設けてもよい。2個又はそ
れ以上のプロセスのソース又は目的地アドレスを、ポー
トに割り当てられた単一のシグナチャアナライザで圧縮
する場合には、図31に関して述べたのと同様な同期問
題が生じうる。決定論的な、再現可能又は予見可能な
(前もって、例えばコンパイル時に、計算することがで
きる)シグナチャを得るためには、既述のように、メツ
セージの発生と到着の順序が完全に知られていなければ
ならない。それには、諸プロセスが同期されている(同
一のクロックを持つ)か、あるいは、図31に示したよ
うな同期化バッファ機構(ハードウェアチャネルの場
合)、又はそれのソフトウェア版(ソフトウェアチャネ
ルの場合)を備えることが必要である。
【0227】共有メモリの利用は、最も高速なプロセス
間通信方法である。送出側プロセスと受信側プロセス
が、メモリのあるセグメントを共有し、各プロセスは、
この共有メモリセグメントに対して、書込みと読出しの
双方を行なうことができる。データ送出は、共有メモリ
セグメントへの書込みと等価であり、データ受信は、共
有メモリセグメントからの読出しと等価である。
【0228】共有メモリを介するプロセス間通信を、本
発明によりオンラインで監視するために、各共有メモリ
セグメントに1個のシグナチャアナライザを割り当て
る。このシグナチャアナライザは、ソフトウェアで実現
する方が都合がよい。通常、複数の共有セグメントが存
在し、各プロセスは、他のいくつかのプロセスと通信す
るために、それぞれのプロセスと共有するいくつかのセ
グメントにアクセスできる。与えられたプログラムを正
しい順序で実行するには、プロセス間通信の目的でなさ
れる各共有セグメントへのアクセスの順序が、特定のパ
ターンを成さねばならず、したがって、このパターンを
監視することによって、プログラムの正しい実行を監視
することが可能である。
【0229】図33は、共有メモリによるプロセス間通
信のオンライン監視への本発明の方法の適用を、模式的
に示す。各プロセス1102は、共有メモリセグメント
1109へ書込み又は読出しのためのアクセス1114
を行なうたびに、そのプロセス識別ラベル1113をシ
グナチャアナライザ1155の入力に送る。この識別ラ
ベルは、更に、アクセスの型(書込み又は読出し)を示
すビットを伴ってもよい。相次ぐ識別ラベルの圧縮によ
り得られたシグナチャは、各処理ブロツクの終りに、コ
ンパイル時に得られた基準シグナチャと比較される。
【0230】例えば、図33において、プロセス間通信
の正しい順序は次のとおりであるとする。 (1) P1からP3へのデータ転送 (2) P3からP2へのデータ転送 (3) P3からP1へのデータ転送
【0231】この通信順序に対する識別ラベルの圧縮順
序は、次のとおりである。P1,P3,P3,P2,P
3,P1
【0232】あるいは、書込み(W)又は読出し(R)
を表わすビットが付加されれば、この圧縮順序は次のよ
うになる。P1W,P3R,P3W,P2R,P3W,
P1R
【0233】この正しい圧縮順序により得られる基準シ
グナチャは、コンパイル時に計算することができる。も
しも、実行時にシグナチャアナライザ1155により得
られたシグナチャが、この基準シグナチャと相違すれ
ば、誤りが生じたとみなすことができる。UNIXの下
では、共有メモリを介するプロセス間通信の実行のため
に、適切なシステムコールが適切な順序で発生され、か
つ、オペレーティングシステムが、これらのシステムコ
ールを誤りなく実行しなければならない。これらにおけ
る誤りは、圧縮されたシグナチャに反映される。
【0234】次に、セマフォが用いられる場合の、プロ
セス間通信の本発明によるオンライン監視を説明する。
セマフォは、複数のプロセスにより共有されるデータ構
造であって、これらのプロセスは、共有リソースにアク
セスする前に、セマフォを調べてアクセスの可否を判断
し、アクセスの実行に際してそれを変更する。たとえ
ば、最も単純な2値セマフォは、ロック状態とアンロッ
ク状態を持つ。ロック状態は、リソースがあるプロセス
により使用中で、他のプロセスは使用できないことを示
し、アンロツク状態は、リソースが使用可能であること
を示す。プロセスは、セマフォがアンロック状態にあれ
ばリソースを使用することができ、使用の開始に当たっ
て、セマフォをロック状態にセットする。セマフォは、
一般に、共用リソースにアクセスする複数のプロセス間
の競合を避けるために利用される。共有リソースがプロ
セス間通信手段である場合に、セマフォの処理とシグナ
チャアナライザによる圧縮を関連付けることによって、
プロセス間通信のオンライン監視が可能である。
【0235】図34は、セマフォに基づくプロセス間通
信のオンライン監視への本発明の方法の適用を、模式的
に示す。プロセス間通信用の各共有リソース1119に
シグナチャアナライザ1155が割り当てられる。各プ
ロセス1102は、セマフォ1167を処理して、共有
リソース1119へのアクセスの確保に成功するたび
に、その識別ラベル1113をシグナチャアナライザ1
155に送る。シグナチャアナライザ1155は、各処
理ブロックの始めに初期値にリセットされ、ブロックの
終りに、その圧縮値が、コンパイル時に計算された基準
シグナチャと比較される。シグナチャアナライザは、成
功した共有リソース使用の試みの順序を圧縮する。この
方法によっても、並列プログラムの適正な実行を検証す
ることができる。
【0236】並行して処理される複数のプロセスの協調
的な進行を確実にするために、バリヤと呼ばれる同期点
を要所に設定することが、しばしば行なわれる。バリヤ
は、予め決められた複数のプロセスが、それぞれの予め
決められた段階に到達するまで、各プロセスのそれ以上
の進行を制止する機構である。本発明の監視方法は、バ
リヤによる同期化のオンライン監視にも適用することが
できる。
【0237】図35において、シグナチャアナライザ1
155が、一連のバリヤ1125〜1127(バリヤ1
〜3)を含むプログラムブロックに割当てられる。各バ
リヤにおいて、同期が取られるべき一群のプロセスは、
それぞれの所定の段階に達すると、それらの識別ラベル
P1、P2等を、そのバリヤに割当てられたバッファ1
123に送る。バッファ1123において、識別ラベル
は、それらの指標(P1、P2等における“1”、
“2”等)に関する予め定められた単調な順序(小さい
順又は大きい順)で、格納される。各バリヤにおいて、
すべての予定したプロセスの到着(すなわち、それらの
識別ラベルのバッフアへの格納)が判定される(例え
ば、オペレーティングシステム、マスタプロセス、又は
最後に到着したプロセスにより)と、対応するバッファ
の内容(識別ラベル)が、予め定められた順序で、シグ
ナチャアナライザ1155中に累積・圧縮される。
【0238】シグナチャアナライザは、ブロックの始め
に初期値に初期化され、各バリヤにおいて識別ラベルの
累積・圧縮を行なう。ブロックの終りにおいて、その圧
縮値は、コンパイル又はシミュレーションにより予め得
られた基準シグナチャと比較される。
【0239】例えば、図35に示された例の場合、バリ
ヤ1において同期化すべきプロセスは、P2、P3及び
P5である。これらプロセスのそれぞれがバリヤ1に到
達すると、その識別ラベルの指標が既にバッファ内にあ
る識別ラベルの指標と比較されて、該当する順位の位置
にその識別ラベルが書込まれる。例えば、もしもP3が
最初に到達すれば、その識別ラベルが第1位置に書込ま
れ、次にP2が到達すれば、P3の識別ラベルが第2位
置に移されて、P2の識別ラベルは第1位置に書込まれ
る。このようにして、最終的に、P2の識別ラベルは第
1位置に、P3の識別ラベルは第2位置に、P5の識別
ラベルは第3位置に、それぞれ格納される。その後、P
2、P3及びP5のすべての識別ラベルがバッファ中に
存在することが検出されると、第1位置から順に、その
内容の累積・圧縮が行なわれる。この例では、P2、P
3及びP5の識別ラベルが、この順で累積・圧縮され
る。
【0240】シグナチャアナライザの内容は、次のバリ
ヤまで維持され、バリヤ2においては、P1、P5、P
6及びP11の識別ラベルがこの順で更に累積・圧縮さ
れ、バリヤ3においては、P1及びP11の識別ラベル
がこの順で更に累積・圧縮される。こうして、同期ブロ
ックの終りにおいて、シグナチャアナライザは、このブ
ロック内の諸バリヤにおいて同期化されたすべてのプロ
セスの圧縮された歴史を、シグナチャの形で保持する。
このシグナチャは基準シグナチャと比較され、それによ
り、複数のプロセスを並行処理するコンピュータシステ
ムの挙動を、オンラインで監視することができる。
【0241】本発明によるオンライン監視方法は、ま
た、プロセススケジューリングの分野にも応用すること
ができる。図32に関する説明でも述べたように、オペ
レーティングシステムの機能の一つは、プロセススケジ
ューリングである。プロセススケジューリングは、コン
ピュータの資源が限られていて、すべてのプロセスを同
時に実行することはできないことから、必要になる。ま
た、あるプロセスが、その実行のために、他のプロセス
が生成したデータを必要とする場合には、諸プロセスの
実行順序の管理が重要である。以前から、種々のスケジ
ューリング手法が知られており、決定論的スケジューラ
の一例は、K. Hwang及びF. Briggsによる“Computer Ar
chitecture and Parallel Processing”、1984年、
McGraw-Hill社発行、第596ないし606頁に記載さ
れている。
【0242】シグナチャに基づく本発明のオンライン監
視方法によれば、諸プロセスがオペレーティングシステ
ムによるスケジューリングのとおりに実行されたか否
か、すなわち、諸プロセッサ上への諸プロセスのマッピ
ングの順序と、それらプロセスの相対的先後関係とが、
スケジューリングのとおりに実現されたか否かを、チェ
ックすることができる。これは、オペレーティングシス
テムのコア(カーネル)の非常に重要なコンポーネント
であるスケジューラの実行時における挙動を、検証する
ことを可能にする。
【0243】図36(a)には、2台のプロセッサP1
とP2からなるコンピュータシステムに対する、プロセ
ス先後関係グラフが示されている。この例は、前掲文献
の第597頁から採ったものである。オペレーティング
システムは、スケジュールすべきプロセスをタスクとみ
なす。この例では、9個のタスク(プロセス)T1ない
しT9がある。(a)のグラフが示す先後関係は、これ
らのタスクがある特定の順序で実行されるように、スケ
ジュールされることを要求する。例えば、タスクT5
は、タスクT2及びT3の後へしか、スケジュールする
ことができない。なぜならば、T5の実行には、T2と
T3の実行の後でしか入手できない中間データが必要だ
からである。
【0244】前掲文献において、決定論的スケジュール
は、Ganttチャートと呼ばれるタイミング図によって示
される。Ganttチャートは、スケジューリング問題を解
いた結果であり、実行時には既知であるとしてよい。図
36(b)は、同図(a)のグラフに先後関係が示され
た諸タスクについての、決定論的スケジューリングから
得られたGanttチャートを示す。この場合、スケジュー
リングは、いくつかの点についての考慮に基づいて行な
われる。すなわち、利用可能なプロセッサの個数、グラ
フで表わされたタスク間の先後関係、及び各タスクの実
行時間である。本例では、各タスクの実行時間は、既知
で、かつ、一定であり、それは、図示のグラフにおいて
各ノードの脇に記された数字の値に対応するものと仮定
する。例えば、タスクT5の実行時間は、4時間単位で
あることが知られているとする。
【0245】スケジューリングのオンラインチェックの
ために、各プロセッサP1、P2に1個ずつの、ソフト
ウェアによるシグナチャアナライザを用いることにす
る。これらのシグナチャアナライザのそれぞれは、各プ
ロセッサ上で目下走行中のプロセスのタスクラベルを圧
縮する。タスクラベルは、スケジューラによって各プロ
セスに与えられ、所定のレジスタ又はメモリ領域に、当
該プロセスの実行中保持される。タスクラベルの圧縮は
各時間単位に1回行なわれ、個々の時間単位は実時間タ
イマから知ることができる。
【0246】例えば、プロセッサP1について、図36
(b)に示されたスケジュールによる処理の終了時に得
られるシグナチャS1は、次のような圧縮シーケンスか
ら得られる。 (1)ラベルT1を1クロック期間 (2)ラベルT3を1クロック期間 (3)ラベル0(スケジュールされたプロセス無し)を
1クロック期間 (4)ラベルT4を4クロック期間 (5)ラベルT7を7クロック期間 (6)ラベルT9を1クロック期間 このようにして、プロセッサP1に割り当てられたシグ
ナチャアナライザにより圧縮されるタスクラベルの順序
と継続時間が、シグナチャS1の内容を決定する。
【0247】基準シグナチャは、スケジューリング処理
の終りに、スケジューラによって作成される。各プロセ
ッサで得られたシグナチャは、予め定められた間隔で
(例えば10クロックサイクルごとに)、又は全タスク
の実行が終了した時に、基準シグナチャと比較される。
もしも両者が一致しなければ、それは、スケジューリン
グアルゴリズムか、その実行か、又はマッピング処理の
いずれかに、誤りがあったことを示す。これらの誤り
は、ハードウェア及びソフトウェアのどちらにも生じう
る。
【0248】
【発明の効果】以上の説明から明らかなように、本発明
によれば、高度な並列コンピュータシステムのオンライ
ン及びオフライン試験の双方のための、共通な分散自己
試験システムが得られる。オンライン試験では、並列コ
ンピュータにおいて実行されるアルゴリズムのデータ依
存関係及び制御依存関係の両者が、システムレベルで行
なわれ、オフライン自己試験では、相互接続回路網のす
べてのエレメント(ワイヤ、スイッチ、インタフェー
ス、プロトコル、キュー、ルータ)が、平常のシステム
速度で、階層的に試験される。試験用ハードウェアのか
なりの部分が、オンライン試験とオフライン試験の双方
に共通であり、したがって、本発明は、僅少なハードウ
ェアで十分効果的な試験を行なうことができる。
【0249】更に、本発明によれば、プロセス間通信、
プロセス間同期、プロセススケジューリングなども、オ
ンラインで監視することができる。
【図面の簡単な説明】
【図1】並列コンピュータシステムの各ノード内の本発
明による主要な装置を示すブロック図。
【図2】従来技術によるマルチプロセッサの命令シグナ
チャのオンライン試験機構のブロック図。
【図3】従来技術による相互接続回路網の試験を説明す
るための図。
【図4】従来技術による相互接続回路網の試験において
キューから形成される2値多項式乗算器及び除算器のブ
ロック図。
【図5】本発明が適用される並列プロセッサアレイを含
むコンピュータシステムの概略を示すブロック図。
【図6】図5に示されたプロセッサアレイにおいて使用
されるパケット交換式互接続回路網のブロック図。
【図7】図5のコンピュータシステムの相互接続形態の
例と、そこで本発明の分散型自己試験を行うための主要
な装置を示す模式図。
【図8】図1に略示されたノードの詳細を示すブロック
図。
【図9】本発明で使用される擬似ランダム発生器の例を
示すブロック図。
【図10】本発明で使用されるシグナチャアナライザの
例を示すブロック図。
【図11】本発明のオフライン自己試験のために使用し
うるパケットのフォーマットを示す図。
【図12】本発明のオフライン試験の流れを示すフロー
チャート。
【図13】本発明の第1のオフライン試験の過程を説明
するための図。
【図14】本発明の第2のオフライン試験の過程を説明
するための図。
【図15】本発明の第3のオフライン試験を説明するた
めの模式図。
【図16】本発明の第3のオフライン試験の過程を説明
するための図。
【図17】本発明のオンライン試験を説明するための模
式図。
【図18】パケット交換式相互接続回路網の本発明によ
るオンライン試験に適したパケットのフォーマットを示
す図。
【図19】本発明のオンライン試験に適した命令のフォ
ーマットを示す図。
【図20】MIMDコンピュータアレイにおけるプログ
ラムの写像と実行、及びそこでのデータ依存関係と制御
フローの監視に関与するシグナチャアナライザを例示す
る模式図。
【図21】SIMDコンピュータアレイにおけるプログ
ラムの写像と実行、及びそこでのデータ依存関係と制御
フローの監視に関与するシグナチャアナライザを例示す
る模式図。
【図22】SIMDコンピュータアレイにおけるシスト
リックプログラムの写像と実行、及びそこでのデータ依
存関係と制御フローの監視に関与するシグナチャアナラ
イザを例示する模式図。
【図23】プログラムの再写像に際してのシグナチャア
ナライザの写像の変位の例を示す模式図。
【図24】本発明のオンライン試験における目的地アド
レス、ソースアドレス及び命令の圧縮の過程を示す図。
【図25】相互接続回路網の他の例を示すブロック図。
【図26】回線交換式相互接続回路網に対する本発明の
オンライン試験に適したパケットのフォーマットを示す
図。
【図27】本発明のオフライン試験に際しての擬似ラン
ダム発生器とシクナチャアナライザの他の使用態様を示
す模式図。
【図28】ノードにおけるシグナチャアナライザと他の
エレメントとの相互接続の代替例を示すブロック図。
【図29】ノードにおけるシグナチャアナライザと他の
エレメントとの接続の更に他の例を示すブロック図。
【図30】メッセージ交換式相互接続回路網においてル
ータが複数のプロセッサに共有されている場合の、パケ
ット内のソースアドレスと目的地アドレスのフィールド
のフォーマットを示す図。
【図31】複数のパケットがほとんど同時に1個の目的
地に到着する可能性がある場合のためのバッファ機構を
示すブロック図。
【図32】メッセージ授受によるプロセス間通信の本発
明によるオンライン試験を説明するための摸式図。
【図33】共有メモリを介するプロセス間通信の本発明
によるオンライン試験を説明するための摸式図。
【図34】セマフォ付き共有リソースを介するプロセス
間通信の本発明によるオンライン試験を説明するための
摸式図。
【図35】バリヤによるプロセス同期化の本発明による
オンライン試験を説明するための摸式図。
【図36】複数のプロセッサへのプロセススケジューリ
ングの本発明によるオンライン試験を説明するための摸
式図。
【符号の説明】
10…ホストコンピュータ 20…プロセッサアレイ40を制御するマイクロコント
ローラ 27…命令をプロセッサアレイ40に供給するための命
令バス 40…プロセッサアレイ 42…プロセッサアレイ内のプロセッサ 45…プロセッサ間でのデータパケットの送受信に使用
されるルータ 50…プロセッサを相互接続するための相互接続回路網 51…ルータ間を接続するリンク 54…擬似ランダム発生器(PRG) 55…シグナチャアナライザ(SA) 56…目的地アドレスカウンタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岩崎 一彦 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】相互接続手段を介して接続されたそれぞれ
    が制御回路手段からの命令を受信して実行する複数のプ
    ロセッサを含む並列コンピュータシステムをその通常動
    作中に試験する方法であって、 各プロセッサに接続された試験データ発生手段及び試験
    データ累積手段を初期化し、 各転送源プロセッサにおいて転送先プロセッサへ送るべ
    きパケットを組立て、前記パケットは、この転送源プロ
    セッサの通常動作の結果としてそれから前記転送先プロ
    セッサへ転送すべきデータの外に、この転送源プロセッ
    サに接続された試験データ発生手段によって与えられる
    試験データを含んでおり、 各転送源プロセッサにおいて前記パケットをその転送先
    プロセッサに宛てて前記相互接続手段に送出し、 前記パケットを受信したプロセッサにおいてこの受信し
    たパケット内の試験データの少なくとも一部をこのプロ
    セッサに接続された試験データ累積手段により累積し与
    えられたプログラムを実行しながら予め決められた数の
    クロックサイクルの間前記並列コンピュータシステムを
    その通常動作モードで運転し、 前記試験データ累積手段の最終内容を予め決められた期
    待値と比較する、 諸ステップを有する試験方法。
  2. 【請求項2】請求項1において、前記パケットに含ま
    れ、かつ、前記累積ステップで累積される試験データ
    は、このパケットの転送源プロセッサの前記相互接続手
    段におけるアドレスを含む、試験方法。
  3. 【請求項3】請求項1において、前記パケットに含まれ
    る試験データは、このパケットの転送先プロセッサの前
    記相互接続手段におけるアドレスを含み、前記累積ステ
    ップに代えて、送出されるパケット内の前記転送先プロ
    セッサアドレスをその転送源プロセッサにおいてそれに
    接続された試験データ累積手段により累積するステップ
    を有する、試験方法。
  4. 【請求項4】請求項1において、前記パケットに含まれ
    る試験データは、このパケットの転送源プロセッサ及び
    転送先プロセッサの前記相互接続手段におけるアドレス
    の双方を含み、パケットを受信したプロセッサにおける
    前記累積ステプは、前記転送源プロセッサアドレスを累
    積し、そして、送出されるパケット内の前記転送先プロ
    セッサアドレスをその転送源プロセッサにおいてそれに
    接続された試験データ累積手段により累積するステップ
    を有する、試験方法。
  5. 【請求項5】請求項4において、前記転送源プロセッサ
    アドレスと転送先プロセッサアドレスとを異なる試験デ
    ータ累積手段により累積する、試験方法。
  6. 【請求項6】請求項1ないし5のいずれかにおいて、更
    に、各プロセッサにより受信された命令をこのプロセッ
    サに接続された試験データ累積手段により累積するステ
    ップを有する、試験方法。
  7. 【請求項7】請求項6において、前記命令をそのための
    専用の累積手段により累積する、試験方法。
  8. 【請求項8】相互接続手段を介して接続されたそれぞれ
    が制御回路手段からの命令を受信して実行する複数のプ
    ロセッサを含む並列コンピュータシステムを試験プログ
    ラムにより試験する方法であって、 各プロセッサに接続された試験データ発生手段及び試験
    データ累積手段を初期化し、 各転送源プロセッサにおいて転送先プロセッサへ送るべ
    き試験パケットを組立て、前記試験パケットは、この転
    送源プロセツサに接続された試験データ発生手段によっ
    て与えられる試験データを含んでおり、 各転送源プロセッサにおいて前記試験パケットをその転
    送先ブロセッサに宛てて前記相互接続手段に送出し、 前記試験パケットを受信したプロセッサにおいてこの受
    信された試験パケット内の前記試験データの少なくとも
    一部をこのプロセツサに接続された試験データ累積手段
    により累積し、 予め決められた試験プログラムを実行しながら予め決め
    られた数のクロックサイクルの間前記並列コンピュータ
    システムを運転し、 前記試験データ累積手段の最終内容を予め決められた期
    待値と比較する、 諸ステップを有する試験方法。
  9. 【請求項9】請求項8において、前記試験パケットの転
    送先プロセッサの前記相互接続手段におけるアドレスは
    前記試験データ発生手段の一部によって与えられる、試
    験方法。
  10. 【請求項10】請求項8又は9において、前記運転ステ
    ップを、各プロセッサがそのすべての直近隣接プロセッ
    サへ宛てて逐次に試験パケツトを送出し終るまで行な
    う、試験方法。
  11. 【請求項11】請求項10における比較ステップが不一
    致を示すときに、更に請求項8又は9の試験方法を、各
    プロセツサが直近隣接プロセッサの一つへ宛てて試験パ
    ケットを送出するたびに反復する、試験方法。
  12. 【請求項12】請求項10における比較ステップが一致
    を示すときに、更に請求項8又は9の試験方法を、各プ
    ロセッサが直近隣接プロセッサ以外のプロセッサを含む
    複数のプロセツサへ宛てて逐次に試験パケットを送出し
    終るまで行なう、試験方法。
  13. 【請求項13】相互接続手段を介して接続されたそれぞ
    れ制御回路手段からの命令を受信して実行する複数のプ
    ロセッサを含む並列コンピュータシステムの試験のため
    の分散型試験装置であって、 それぞれが前記プロセッサの少なくとも一つに接続され
    た複数の試験データ発生手段と、 それぞれが前記プロセッサの少なくとも一つに接続され
    た複数の試験データ累積手段と、 前記試験データ発生手段及び試験データ累積手段を初期
    化するための手段と、 各転送源プロセツサにおいてそれに接続された試験デー
    タ発生手段により与えられる試験データを含むパケット
    を組立てるための手段と各転送源プロセッサにおいて前
    記パケットをその転送先プロセツサに宛てて前記相互接
    続手段に送出するための手段と、 各プロセッサにおいて到来したそれ宛のパケットを受信
    するための手段と、 前記パケットを受信したプロセッサにおいてこの受信さ
    れたパケット内の試験データの少なくとも一部をこのプ
    ロセッサに接続された試験データ累積手段により累積す
    るための手段と、 与えられたプログラムを実行しながら予め決められた数
    のクロックサイクルの間前記並列コンピュータシステム
    を運転するための手段と、 前記試験データ累積手段の最終内容を予め決められた期
    待値と比較するための手段と、 を備える試験装置。
  14. 【請求項14】請求項13において、前記パケットを組
    立てるための手段は、前記試験データの外に当該プロセ
    ッサの通常の動作の結果として他のプロセッサに転送す
    べきデータを含むパケットを組立て、前記プログラム
    は、前記並列コンピュータシステムの通常の動作モード
    で実行されるプログラムである、前記並列コンピュータ
    システムをその通常動作中に試験するための試験装置。
  15. 【請求項15】請求項14において、前記試験データ発
    生手段は、パケットに含まれる前記試験データとしてこ
    のパケットの転送源プロセッサの前記相互接続手段にお
    けるアドレスを発生し、前記累積するための手段は、前
    記転送源プロセッサアドレスを累積する、試験装置。
  16. 【請求項16】請求項14において、前記試験データ発
    生手段は、パケットに含まれる前記試験データとしてこ
    のパケットの転送先プロセッサの前記相互接続回路網に
    おけるアドレスを発生し、前記累積するための手段に代
    えて、送出されるパケット内の前記転送先プロセッサア
    ドレスをその転送源プロセッサにおいてそれに接続され
    た試験データ累積手段により累積するための手段を備え
    る、試験装置。
  17. 【請求項17】請求項12において、前記試験データ発
    生手段は、前記パケットに含まれる試験データとして、
    このパケットの転送源プロセッサ及び転送先プロセッサ
    の前記相互接続手段におけるアドレスの双方を発生し、
    パケットを受信したプロセッサにおける前記累積するた
    めの手段は、前記転送源プロセッサアドレスを累積し、
    そして、送出されるパケット内の転送先プロセッサアド
    レスをその転送源プロセッサにおいてそれに接続された
    試験データ累積手段により累積するための手段を備え
    る、試験装置。
  18. 【請求項18】請求項17において、前記転送源プロセ
    ッサアドレスを累積するための試験データ累積手段と、
    前記転送元プロセッサアドレスを累積するための試験デ
    ータ累積手段とを別個に備える、試験装置。
  19. 【請求項19】請求項14ないし18のいずれかにおい
    て、更に、プロセッサにより受信された命令をこのプロ
    セッサに接続された試験データ累積手段により累積する
    ための手段を備える、試験装置。
  20. 【請求項20】請求項19において、命令を累積するた
    めの専用の累積手段を備える、試験装置。
  21. 【請求項21】請求項13において、前記パケットを組
    立てるための手段は試験データのみからなる試験パケッ
    トを組立て、前記プログラムは試験プログラムである、
    前記並列コンピュータシステムを試験プログラムにより
    試験するための試験装置。
  22. 【請求項22】請求項21において、前記試験データ発
    生手段は、前記試験パケットの転送先プロセッサの前記
    相互接続手段におけるアドレスを発生する手段を含む、
    試験装置。
  23. 【請求項23】請求項13において、更に、前記試験装
    置の第1の動作モードと第2の動作モードを識別する制
    御信号手段を備え、前記試験装置は前記制御信号手段に
    応答して動作し、 前記制御信号手段が前記第1の動作モードを示す時に
    は、前記パケットを組立てるための手段は、前記試験デ
    ータの外に当該プロセッサの通常の動作の結果として他
    のプロセツサに転送すべきデータを含むパケットを組立
    て、かつ、前記運転するための手段は、前記与えられた
    プログラムを前記並列コンピュータシステムの通常の動
    作モードで実行し、それにより前記並列コンピュータシ
    ステムをその通常動作中に試験し、 前記制御信号手段が前記第2の動作モードを示す時に
    は、前記パケットを組立てるための手段は、前記試験デ
    ータのみからなる試験パケットを組立て、かつ、前記運
    転するための手段は、前記与えられたプログラムを試験
    のための動作モードで実行し、それにより前記並列コン
    ピュータシステムを試験プログラムにより試験する、試
    験装置。
  24. 【請求項24】請求項23において、前記制御信号手段
    が前記第1の動作モードを示す時に、前記試験データ発
    生手段は、パケットに含まれる前記試験データとしてこ
    のパケットの転送源プロセッサの前記相互接続手段にお
    けるアドレスを発生し、かつ、前記累積するための手段
    は、前記転送源プロセツサアドレスを累積する、試験装
    置。
  25. 【請求項25】請求項23において、前記試験データ発
    生手段は、前記制御信号手段が前記第1の動作モードを
    示す時に、パケットに含まれる前記試験データとしてこ
    のパケットの転送先プロセッサの前記相互接続回路網に
    おけるアドレスを発生し、そして、前記制御信号手段が
    前記第1の動作モードを示す時に動作して送出されるパ
    ケット内の転送先プロセッサアドレスをその転送源プロ
    セッサににおいてそれに接続された試験データ累積手段
    により累積するための手段を備える、試験装置。
  26. 【請求項26】請求項25において、前記転送源プロセ
    ッサアドレスを累積するための試験データ累積手段と、
    前記転送元プロセッサアドレスを累積するための試験デ
    ータ累積手段とを別個に備える、試験装置。
  27. 【請求項27】請求項23において、前記制御信号手段
    が前記第1の動作モードを示す時に、前記試験データ発
    生手段は、前記パケットに含まれる試験データとして、
    このパケットの転送源プロセッサ及び転送先プロセッサ
    の前記相互接続手段におけるアドレスの双方を発生し、
    かつ、パケットを受信したプロセツサにおける前記累積
    するための手段は、前記転送源プロセッサアドレスを累
    積し、そして、前記制御信号手段が前記第1の動作モー
    ドを示す時に動作して送出されるパケット内の前記転送
    先プロセッサアドレスをその転送源プロセッサにおいて
    それに接続された試験データ累積手段により累積するた
    めの手段を備える、試験装置。
  28. 【請求項28】請求項23ないし27のいずれかにおい
    て、更に、前記制御信号手段が前記第1の動作モードを
    示す時に動作して、プロセッサにより受信された命令を
    このプロセッサに接続された試験データ累積手段により
    累積するための手段を備える、試験装置。
  29. 【請求項29】請求項28において、命令を累積するた
    めの専用の累積手段を備える、試験装置。
  30. 【請求項30】請求項23において、前記試験データ発
    生手段は、前記制御信号手段が前記第2の動作モードを
    示す時に動作して、前記試験パケットの転送先プロセッ
    サの前記相互接続手段におけるアドレスを発生する手段
    を含む、試験装置。
  31. 【請求項31】通信チャネルを介してデータの授受を行
    なう複数のプロセスを含むプログラムの実行を試験する
    方法であって、 各プロセスに対応付けられた試験データ発生手段及び試
    験データ累積手段を初期化し、 各転送源プロセスにおいて転送先プロセスへ送るべきメ
    ッセージを組立て、前記メッセージは、前記転送源プロ
    セスの通常処理の結果としてそれから前記転送先プロセ
    スへ転送すべきデータの外に、それに接続された試験デ
    ータ発生手段によって与えられる試験データを含んでお
    り、 各転送源プロセスにおいて前記メッセージをその転送先
    プロセスに宛てて前記通信チャネルに送出し、 前記メッセージを受信したプロセスにおいてこの受信し
    たメッセージ内の試験データの少なくとも一部をこのプ
    ロセスに対応付けられた試験データ累積手段により累積
    し予め決められた数のクロックサイクルの間前記プログ
    ラムを実行し、 前記試験データ累積手段の最終内容を予め決められた期
    待値と比較する、 諸ステップを有する試験方法。
  32. 【請求項32】請求項31において、前記メッセージに
    含まれ、かつ、前記累積ステップで累積される試験デー
    タは、このメッセージの転送源プロセスの識別情報を含
    む、試験方法。
  33. 【請求項33】請求項32において、前記メッセージに
    含まれる試験データは、このメッセージの転送先プロセ
    スの識別情報を含み、前記累積ステップに代えて、送出
    されるメッセージ内の前記転送先プロセス識別情報をそ
    の転送源プロセスにおいてそれに対応付けられた試験デ
    ータ累積手段により累積するステップを有する、試験方
    法。
  34. 【請求項34】請求項31において、前記メッセージに
    含まれる試験データは、このメッセージの転送源プロセ
    ス及び転送先プロセスの識別情報の双方を含み、メッセ
    ージを受信したプロセスにおける前記累積ステップは、
    前記転送源プロセス識別情報を累積し、そして、送出さ
    れるメッセージ内の前記転送先プロセス識別情報をその
    転送源プロセスにおいてそれに対応付けられた試験デー
    タ累積手段により累積するステップを有する、試験方
    法。
  35. 【請求項35】共有メモリを介してデータの授受を行な
    う複数のプロセスを含むプログラムの実行を試験する方
    法であって、 各共有メモリセグメントに対応付けられた累積手段を初
    期化し、 各プロセスがプロセス間のデータ授受のために前記共有
    メモリセグメントにアクセスするたびに、このプロセス
    の識別情報をアクセスされた共有メモリセグメントに対
    応付けられた前記累積手段により累積し、 予め決められた数のクロックサイクルの間前記プログラ
    ムを実行し、 前記累積手段の最終内容を予め決められた期待値と比較
    する、 諸ステップを有する試験方法。
  36. 【請求項36】請求項35において、前記累積ステップ
    はプロセス識別情報と共にアクセスの型を示す情報を累
    積する、試験方法。
  37. 【請求項37】リソースの使用の可否を示す情報を備え
    る共有リソースを介して相互に通信を行なう複数のプロ
    セスを含むプログラムの実行を試験する方法であって、 各共有リソースに対応付けられた累積手段を初期化し、 各プロセスがプロセス間の通信の目的で前記共有リソー
    スを使用するために前記使用の可否を示す情報を調べ、 各プロセスが前記共有リソースの使用に成功するたびに
    このプロセスの識別情報をこの共有リソースに対応付け
    られた前記累積手段により累積し、 予め決められた数のクロックサイクルの間前記プログラ
    ムを実行し、 前記累積手段の最終内容を予め決められた期待値と比較
    する、 諸ステップを有する試験方法。
  38. 【請求項38】複数のプロセスがそれぞれの所定段階に
    到達するまで各プロセスのそれ以上の進行を阻止する少
    なくとも一つの同期点により同期化される複数のプロセ
    スを含むプログラムの実行を試験する方法であって、 前記少なくとも一つの同期点に割当てられた累積手段を
    初期化し、 各同期点に関して、前記所定段階に到達した各プロセス
    の識別情報をこの同期点に割当てられた情報保持手段に
    所定の順序で記録し、 相次ぐ同期点に関して、すべてのプロセスがそれぞれの
    所定段階に到達した時に、前記情報保持手段に記録され
    ているプロセス識別情報を前記所定の順番で累積し、 予め決められた数のクロックサイクルの間前記プログラ
    ムを実行し、 前記累積手段の最終内容を予め決められた期待値と比較
    する、 諸ステップを有する試験方法。
  39. 【請求項39】複数のプロセッサに実行順序を定めて割
    当てられた複数のプロセスから成るプログラムの実行を
    試験する方法であって、 各プロセツサのために設けられた累積手段を初期化し、 各プロセッサが実行中のプロセスの識別情報を予め定め
    られた時間間隔でこのプロセッサのために設けられた前
    記累積手段により累積し、 予め決められた数のクロックサイクルの間前記プログラ
    ムを実行し、 各前記累積手段の最終内容を予め決められた期待値と比
    較する、 諸ステップを有する試験方法。
  40. 【請求項40】請求項31ないし39のいずれかにおい
    て、前記累積手段をソフトウェアにより実現する、試験
    方法。
JP4063587A 1991-04-18 1992-03-19 マルチプロセッサシステムの試験方法及び装置 Pending JPH05158902A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4063587A JPH05158902A (ja) 1991-04-18 1992-03-19 マルチプロセッサシステムの試験方法及び装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP8655091 1991-04-18
JP3-86550 1991-04-18
JP4063587A JPH05158902A (ja) 1991-04-18 1992-03-19 マルチプロセッサシステムの試験方法及び装置

Publications (1)

Publication Number Publication Date
JPH05158902A true JPH05158902A (ja) 1993-06-25

Family

ID=26404710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4063587A Pending JPH05158902A (ja) 1991-04-18 1992-03-19 マルチプロセッサシステムの試験方法及び装置

Country Status (1)

Country Link
JP (1) JPH05158902A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712856A (en) * 1995-04-10 1998-01-27 International Business Machines Corporation Method and apparatus for testing links between network switches
JP2011108201A (ja) * 2009-11-20 2011-06-02 Fujitsu Ltd 情報処理装置、診断方法および診断プログラム
JP2013182409A (ja) * 2012-03-01 2013-09-12 Fujitsu Advanced Engineering Ltd コンピュータ
WO2016147334A1 (ja) * 2015-03-18 2016-09-22 株式会社日立製作所 プロセッサの診断装置及び診断方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712856A (en) * 1995-04-10 1998-01-27 International Business Machines Corporation Method and apparatus for testing links between network switches
JP2011108201A (ja) * 2009-11-20 2011-06-02 Fujitsu Ltd 情報処理装置、診断方法および診断プログラム
JP2013182409A (ja) * 2012-03-01 2013-09-12 Fujitsu Advanced Engineering Ltd コンピュータ
WO2016147334A1 (ja) * 2015-03-18 2016-09-22 株式会社日立製作所 プロセッサの診断装置及び診断方法

Similar Documents

Publication Publication Date Title
US5253359A (en) Control and maintenance subsystem network for use with a multiprocessor computer system
US5452437A (en) Methods of debugging multiprocessor system
EP0357768B1 (en) Record lock processor for multiprocessing data system
Srini An architectural comparison of dataflow systems
US6047122A (en) System for method for performing a context switch operation in a massively parallel computer system
US4860201A (en) Binary tree parallel processor
US7577874B2 (en) Interactive debug system for multiprocessor array
US5548785A (en) Interface for logic simulation using parallel bus for concurrent transfers and having fifo buffers for sending data to receiving units when ready
JPH036742A (ja) フオールト・トレラント・データ処理システム
JP3746371B2 (ja) 性能シミュレーション方法
JPS62502151A (ja) 大型コンピユ−タシステムのコンピユ−タ機能をシミユレ−トするための配列
Hierons et al. Parallel algorithms for testing finite state machines: Generating UIO sequences
Stott et al. Dependability analysis of a high-speed network using software-implemented fault injection and simulated fault injection
WO2008053709A1 (fr) Dispositif et procédé de test de sélection de circuit intégré semi-conducteur
JPH0728668A (ja) 論理シミュレーション装置
US7954012B2 (en) Hierarchical debug information collection
JPH05158902A (ja) マルチプロセッサシステムの試験方法及び装置
US20200201704A1 (en) Processor Repair
EP1192570B1 (en) Circuit logic event simulation
Edmunds et al. Technical Design Report for the Level 2 global processor
Altmann et al. An approach for hierarchical system level diagnosis of massively parallel computers combined with a simulation-based method for dependability analysis
US7826379B2 (en) All-to-all sequenced fault detection system
Haralick et al. Proteus: a reconfigurable computational network for computer vision
Shin et al. A software overview of HARTS: A distributed real-time system
Davis IV et al. The performance analysis of partitioned circuit switched multistage interconnection networks