JP6205978B2 - 情報処理装置及び情報処理装置の試験方法 - Google Patents

情報処理装置及び情報処理装置の試験方法 Download PDF

Info

Publication number
JP6205978B2
JP6205978B2 JP2013172504A JP2013172504A JP6205978B2 JP 6205978 B2 JP6205978 B2 JP 6205978B2 JP 2013172504 A JP2013172504 A JP 2013172504A JP 2013172504 A JP2013172504 A JP 2013172504A JP 6205978 B2 JP6205978 B2 JP 6205978B2
Authority
JP
Japan
Prior art keywords
node
memory
access requests
access request
access
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.)
Active
Application number
JP2013172504A
Other languages
English (en)
Other versions
JP2015041282A (ja
Inventor
寺西 信輔
信輔 寺西
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013172504A priority Critical patent/JP6205978B2/ja
Priority to US14/333,770 priority patent/US20150058684A1/en
Publication of JP2015041282A publication Critical patent/JP2015041282A/ja
Application granted granted Critical
Publication of JP6205978B2 publication Critical patent/JP6205978B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/024Detection or location of defective auxiliary circuits, e.g. defective refresh counters in decoders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W74/00Wireless channel access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本願開示は、情報処理装置及び情報処理装置の試験方法に関する。
プロセッサ、メモリ、及びメモリへのアクセスを制御するメモリ制御部を含むノードが、バス等のインターコネクトを介して複数接続されるサーバ等の情報処理装置において、各ノードに含まれるメモリを他のノードがアクセスする場合、バスアクセス要求の競合やメモリアクセス要求の競合が発生することがある。ここで、アクセス要求の競合とは、バスの調停回路やメモリ制御部において、同時に処理を行うことができない複数のアクセス要求を受信した状態等をいう。このような場合には、例えばメモリ制御部やバスの調停回路がアクセス要求に対する処理のタイミング調整を行ったり、先に受けたアクセス要求に対する処理が完了するまでの期間にビジー信号を出力する技術などが知られている。アクセス要求の競合状態においてメモリ制御部やバスの調停回路が正しく作動しているか否かを検証する試験をアクセス要求競合試験と呼ぶ。
特開平05−020222号公報には、バスを介して接続された複数の被調停バス主体装置と被調停バス従属装置を有するシステムにおけるバス競合動作試験において、複数のバス主体装置が行うデータ転送を、試験動作終了指示が加えられるまで繰り返し行うことによってバス競合試験を行う技術が開示されている。また特開2005−258617号公報には、プロセッサなどがメモリにアクセスする時間が他の装置との競合のために遅延する時間を計測するメモリ競合時間計測装置が開示されている。
特開平05−020222号公報 特開2005−258617号公報
アクセス要求競合試験を行うためには、複数のアクセス要求が、アクセス要求を受けるノード内のメモリ制御部において競合する状態を発生させる必要がある。しかし、アクセス要求を送信する2つのノードが、タイミングを制御してそれぞれアクセス要求を受信側のノードに送ったとしても、アクセス要求が受信側のノードに到達する時刻が相違する場合がある。例えば2つのアクセス要求発信側のノードとアクセス要求受信側のノードとを接続する配線の配線長や寄生抵抗等に起因する伝達速度に差が生じ、アクセス・レイテンシが相違することがある。複数のアクセス要求が受信側のノードに到達する時刻が相違して競合状態が発生しない場合は、アクセス要求競合試験を適切に行うことができない。
本開示は、アクセス要求を発行する複数のノードとアクセス要求を受信するノードとを接続する配線に伝達速度の相違がある場合でも、アクセス要求競合試験を適切に行うことができる手段を提供することを目的とする。
開示の情報処理装置は、第1ノードから発行される複数の第1アクセス要求と第2ノードから発行される複数の第2アクセス要求が交互に第3ノードに到達するように、複数の第1アクセス要求及び複数の第2アクセス要求に対する第3ノードのメモリからの読出しデータに基づき、複数の第1アクセス要求又は複数の第2アクセス要求の第3ノードへの到達時刻を設定する到達時刻調整部を有し、第1アクセス要求は、メモリから読み出したデータが第1論理値である場合は第2論理値を前記メモリに書込む要求であり、第2アクセス要求は、メモリから読み出したデータが第2論理値である場合は第1論理値をメモリに書込む要求である
アクセス要求を発行する複数のノードとアクセス要求を受信するノードとを接続する配線の伝達速度に相違があり、複数のアクセス要求の到達時刻が相違する場合であっても、到達時刻の大凡の相違を検出し、到達時刻の相違を抑制することができる。
実施例の情報処理装置のハ−ドウェア構成を示す図である。 実施例の第1ノードのプロセッサの機能ブロックを示す図である。 実施例の第2ノードのプロセッサの機能ブロックを示す図である。 実施例の第3ノードのプロセッサの機能ブロックを示す図である。 実施例のアトミック命令に基づくアクセス要求の記述フォ−マットと記述内容を例示する図である。 実施例のアトミック命令に基づくアクセス要求を受けた際のフローチャートを示す図である。 実施例の試験プログラムを示す図である。 実施例のアトミック命令に基づくアクセス要求の内容を示す図である。 実施例におけるアクセス要求の到達タイミングと、メモリのデータの内容を示す図である。 実施例におけるアクセス要求に対して読み出されたデータを示す図である。 実施例におけるアクセス要求の到達タイミングと、メモリのデータの内容を示す図である。 実施例におけるアクセス要求に対して読み出されたデータを示す図である。 実施例におけるアクセス要求の到達タイミングと、メモリのデータの内容を示す図である。 実施例におけるアクセス要求に対して読み出されたデータを示す図である。 実施例におけるアクセス要求の到達タイミングを示す図である。 実施例におけるアクセス要求の到達タイミングを示す図である。 実施例におけるアクセス要求の到達タイミングを示す図である。 実施例における競合試験対象装置への到達時刻の調整処理を示すフローチャートである。 実施例における到達時刻調整値を取得する処理を示すフローチャートである。 実施例における到達時刻調整値を用いてアクセス要求競合試験を行う処理を示すフローチャートである。
本実施例で用いるノードへのアクセス要求の一例として、アトミック命令に基づく要求が挙げられる。アトミック命令とは、複数の操作を一体不可分なものとして組み合わせた指令であって、システムの他の部分から見てそれら複数の操作が一つの操作に見えるものをいう。例えば、ノードに含まれるメモリからのデータの読み出し、読出しデータの処理、メモリへのデータの書き込みの一連の動作を一体的に行うもの等がある。
図1は実施例の情報処理装置のハ−ドウェア構成を示す図である。図1において、バス500に第1ノード100、第2ノード200、第3ノード300及び管理装置400が接続される。第1ノード100は、プロセッサ150と、メモリ130とを有する。メモリ130には複数のアトミック命令を含む試験プログラムが格納される。試験プログラムに含まれる複数のアトミック命令がプロセッサ150により実行されることにより、複数のアクセス要求がバス500を経由して第3ノード300に送られる。第2ノード200は、プロセッサ250と、メモリ230とを有する。メモリ230には複数のアトミック命令を含む試験プログラムが格納される。試験プログラムに含まれる複数のアトミック命令がプロセッサ250により実行されることにより、複数のアクセス要求がバス500を経由して第3ノード300に送られる。
第3ノード300は、プロセッサ350と、メモリ330とを有する。プロセッサ350は、第1ノード100又は第2ノード200からメモリ330へアクセス要求があった場合、メモリ330へのデータの書き込みまたはデータの読み出しの制御を行う。またプロセッサ350は、第1ノード100又は第2ノード200からアトミック命令に基づくアクセス要求を受けると、そのアクセス要求に対する処理が終わるまでメモリ330をロックする。またプロセッサ350は、アトミック命令に基づくアクセス要求に対してロックを正しく行うことができない場合にロックエラー信号を出力する。管理装置400は、プロセッサ450と、メモリ430とを有し、アクセス要求競合試験の処理を制御する。また管理装置400は第3ノード300から出力されたロックエラー信号を受信する。プロセッサ150、250、350、450は例えばCPUチップなどの電子回路であり、メモリ130、230、330、430は例えばDRAMチップ等の電子回路である。
本実施例では、第1ノード100と第2ノード200とからそれぞれ複数のアトミック命令に基づく複数のアクセス要求を発行し、第3ノード300がこれらのアクセス要求を受信するものとする。第1ノード100及び第2ノード200を競合試験装置と呼び、第3ノード300を競合試験対象装置と呼ぶ。
本実施例では、第1ノード100と第3ノード300とを接続する配線の伝達速度と、第2ノード200と第3ノード300とを接続する配線の伝達速度とが相違する場合であっても、アクセス要求が第3ノード300に到達する時刻の大凡の相違を検出できる。まず第1ノード100と第2ノード200から、互いに相反関係にあるアトミック命令に基づくアクセス要求を、それぞれ複数発行する。そして互いに相反関係にある複数のアトミック命令に基づくアクセス要求が、第3ノード300に交互に到達するよう、第1ノード100が発行する複数のアクセス要求又は第2ノード200が発行する複数のアクセス要求の第3ノード300への到達時刻を調整する。また到達時刻を調整したうえで、第1ノード100から発行される複数のアクセス要求、または第2ノード200から発行される複数のアクセス要求の少なくとも一方の発行間隔を調整してアクセス要求競合試験を行う。尚、相反関係の詳細については後述する。
図2は、第1ノード100のプロセッサ150の機能ブロックを示す図である。プロセッサ150は、メモリ130又は他のノードのメモリ又はバス500に接続された共通メモリに格納された所定のプログラムによる処理を実行することにより、図2に示す機能ブロックを有するプロセッサとして動作する。プロセッサ150は、他のノードとの間でアクセス要求の発行タイミングを合わせる同期部111と、各種の判定を行う判定部112と、アクセス要求の発行タイミングを調整し、発行したアクセス要求が発行先のノードに到達する時刻を調整する到達時刻調整部113と、連続して発行するアクセス要求の発行間隔を調整する発行間隔調整部114と、他のノードへの各種の通知を行う通知部115と、アクセス要求競合試験において自ノードをマスターノードとするかスレーブノードとするかを設定する設定部116と、アクセス要求を発行するアクセス要求発行部117と、他のノードからの各種通知や各種データを受信する受信部118と、メモリ130の制御を行うメモリ制御部120と、バス500との入出力部140として機能する。尚、これら全ての機能がプロセッサ150にて実現される必要はない。例えばメモリ制御部120をプロセッサ150とは異なる電子回路で実現してもよい。また入出力部140をプロセッサ150とは異なる電子回路で実現してもよい。
図3は、第2ノード200のプロセッサ250の機能ブロックを示す図である。プロセッサ250は、メモリ230又は他のノードのメモリ又はバス500に接続された共通メモリに格納された所定のプログラムによる処理を実行することにより、図3に示す機能ブロックを有するプロセッサとして動作する。プロセッサ250は、他のノードとの間でアクセス要求の発行タイミングを合わせる同期部211と、各種の判定を行う判定部212と、アクセス要求の発行タイミングを調整し、発行したアクセス要求が発行先のノードに到達する時刻を調整する到達時刻調整部213と、連続して発行するアクセス要求の発行間隔を調整する発行間隔調整部214と、他のノードへの各種の通知を行う通知部215と、アクセス要求競合試験において自ノードをマスターノードとするかスレーブノードとするかを設定する設定部216と、アクセス要求を発行するアクセス要求発行部217と、他のノードからの各種通知や各種データを受信する受信部218と、メモリ230の制御を行うメモリ制御部220と、バス500との入出力部240として機能する。尚、これら全ての機能がプロセッサ250にて実現される必要はない。例えばメモリ制御部220をプロセッサ250とは異なる電子回路で実現してもよい。また入出力部240をプロセッサ250とは異なる電子回路で実現してもよい。
図4は、第3ノード300のプロセッサ350の機能ブロックを示す図である。プロセッサ350は、メモリ330又は他のノードのメモリ又はバス500に接続された共通メモリに格納された所定のプログラムによる処理を実行することにより、図4に示す機能ブロックを有するプロセッサとして動作する。プロセッサ350は、ロックエラー信号を出力するロックエラー信号出力部311と、メモリ330の制御を行うメモリ制御部320と、バス500との入出力部340を有する。また、メモリ制御部320は、アクセス要求を受けた場合にメモリ330をロックするメモリロック部321と、メモリ330からのデータの読み出しを行うデータ読出し部322と、読出しデータと比較データとを比較するデータ比較部323と、ストアデータをメモリ330に書き込むデータ書込み部324と、メモリ330から読み出されたデータを他のノードに通知する通知部315として機能する。尚、これら全ての機能がプロセッサ350にて実現される必要はない。例えばメモリ制御部320をプロセッサ350とは異なる電子回路で実現してもよい。また入出力部340をプロセッサ350とは異なる電子回路で実現してもよい。
図5(A)は、アクセス要求の記述フォーマットを示す図であり、図5(B)は記述内容の例を示す図である。図5(A)に示す例において、記述フォーマットには、アクセス要求の種別を示す「要求ID」、要求内容を示す「Command」、要求の送信先ノードを示す「Node−address」、対象となるメモリのアドレスを示す「Memory−address」、メモリから読み出したデータと比較する比較データを示す「Compare−data」、メモリに書込むデータを示す「Store−data」が含まれる。図5(B)において、「要求ID」として記述された「Atomic」は、この要求がアトミック命令に基づくアクセス要求であることを意味する。また「Command」として記述された「Compare and Swap」は、「Node−address」及び「Memory−address」にて指定されたアドレスに格納されているデータを読み出す動作、読み出したデータを「Compare−data」に記載された比較データAと比較する動作、比較の結果、両者の値が一致する場合は「Store−data」に記載されたストアデータBをメモリに書き込む動作、を指示するものである。すなわち、データの読み出し、データの比較、データの書き込みの一連の動作が一体的に行われる。
図6は、例えば第3ノード300が「Compare and Swap」のアクセス要求を受けた場合の、プロセッサ350の動作フローを示す図であり、処理1000により開始される。処理1001において、第3ノード300は、アクセス要求の発行元のノードからアクセス要求を受信する。処理1002において、「要求ID」が「Atomic」であることに従い、メモリロック部321はメモリ330へのアクセスをロックし、他の要求のアクセスを禁止する。処理1003において、データ読出し部322が、「Memory−address」にて特定されたメモリのアドレスに格納されているデータを読み出す。処理1004においてデータ比較部323が、アクセス要求の「Compare−data」に記載された比較データAと、処理1003で読み出したデータとを比較する。読出しデータと比較データが一致している場合、処理1005においてデータ書込み部324が、アクセス要求の「Store−data」に記載されたストアデータBをメモリ330に書き込み、処理1006へ進む。読出しデータと比較データが不一致だった場合は、処理1006において通知部325が、読出しデータをアクセス要求の発行元のノードに送信する。処理1007においてメモリロック部321がメモリ330のロックを解除し、処理1008にて終了する。
このようなアトミック命令に基づく「Compare and Swap」のアクセス要求を用いて、第1ノード100及び第2ノード200から発行されたアクセス要求が、第3ノード300へ伝達する時刻がどの程度ずれるのか、その大凡の程度を見積もる方法について説明する。
図7は本実施例で使用される試験プログラムを示す図であり、図7(A)は、第1ノード100のメモリ130に格納される試験プログラムの例を示し、図7(B)は、第2ノード200のメモリ230に格納される試験プログラムの例を示す。図7(A)に示すように、第1ノード100のメモリ130に格納される試験プログラムは、アトミック命令1−1〜1−4を含む。プロセッサ150がこの試験プログラムを実行することにより、アトミック命令1−1〜1−4に基づくアクセス要求1−1〜1−4が連続して発行される。また図7(B)に示すように、第2ノード200のメモリ230に格納される試験プログラムは、アトミック命令2−1〜2−4を含む。プロセッサ250がこの試験プログラムを実行することにより、アトミック命令2−1〜2−4に基づくアクセス要求2−1〜2−4が連続して発行される。図7(A)及び7(B)は、本実施例では試験プログラムにはいずれも4つのアトミック命令が含まれるものを例示するが、試験プログラムに含まれるアトミック命令の数はこれに限られない。また試験プログラムは、常に第1ノード100のメモリ130及び第2ノード200のメモリ230に格納されている必要はなく、各々他のノードのメモリや共通メモリに格納されているものをダウンロードして利用してもよい。
図8は、実施例におけるアトミック命令に基づくアクセス要求の内容を示す図であり、図8(A)は、アクセス要求1−1〜1−4の内容を示し、図8(B)は、アクセス要求2−1〜2−4の内容を示す。アクセス要求1−1〜1−4の内容はいずれも、「要求ID」が「Atomic」であり、「Command」が「Compare and Swap」であり、「Node−address」が第3ノード300であり、「Memory−address」がxxであり、「Compare−data」が「1」であり、「Store−data」が「0」である。アクセス要求2−1〜2−4の内容はいずれも、「要求ID」が「Atomic」であり、「Command」が「Compare and Swap」であり、「Node−address」が第3ノード300であり、「Memory−address」がxxであり、「Compare−data」が「0」であり、「Store−data」が「1」である。
アクセス要求1−1〜1−4は、メモリ330からの読出しデータが「1」であれば、メモリ330に「0」を書き込む。アクセス要求2−1〜2−4は、メモリ330からの読出しデータが「0」であれば、メモリ330に「1」を書き込む。このように、互いの指令における比較データと書き込みデータの論理値の関係が相反するものを、本明細では相反関係にある要求と呼ぶ。
第1ノード100及び第2ノード200からアクセス要求1−1〜1−4、およびアクセス要求2−1〜2−4を発行するのに先立って、第3ノード300のメモリ330には初期値「1」が格納される。また第1ノード100と第2ノード200との間で互いに特定のデータを送信して、双方のデータを確認できるまで同期処理を繰り返して同期をとる。その後、第1ノード100と第2ノード200からそれぞれ複数のアクセス要求を第3ノード300に対して連続して発行する。第1ノード100からは一定の発行間隔で4つのアクセス要求1−1〜1−4を第3ノード300に送信する。第2ノード200からは、アクセス要求1−1〜1−4の発行間隔と同一の発行間隔で、4つのアクセス要求2−1〜2−4を第3ノード300に送信する。
図9は、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4の第3ノード300への到達タイミングと、第3ノード300のメモリ330のデータの内容を示す図である。図9は、上段にアクセス要求1−1〜1−4が第3ノード300に到達したタイミングを示し、中段にアクセス要求2−1〜2−4が第3ノード300に到達したタイミングを示し、下段に第3ノード300のメモリ330のデータが変化する様子を示している。また図10は、複数のアクセス要求に対してメモリ330から読み出されたデータを示す図である。図10の左欄は、アクセス要求1−1〜1−4に対してメモリ330から読み出されて第1ノード100に返信されたデータ列である。図10の右欄は、アクセス要求2−1〜2−4に対してメモリ330から読み出されて第2ノード200に返信されたデータの列を示す。
図9においては、第2ノード200と第3ノード300とを結ぶ配線における信号伝達速度が、第1ノード100と第3ノード300とを結ぶ配線における信号伝達速度よりも遅い例を示す。この例では、第2ノード200から送信される最初のアクセス要求2−1が、第1ノード100から送信される最初のアクセス要求1−1よりも遅く到達する。またこの例では、第2ノード200から発行された最初のアクセス要求2−1が、第1ノード100から2番目に発行されたアクセス要求1−2と3番目に発行されたアクセス要求1−3との間のタイミングで第3ノード300に到達する。
このようなタイミングでアクセス要求1−1〜1−4及びアクセス要求2−1〜2−4を受けた第3ノード300の処理を説明する。まずアクセス要求1−1が第3ノード300に到達すると、プロセッサ350はメモリ330に格納されているデータ、この場合は初期値である「1」を読み出す。次に読み出したデータである「1」とアクセス要求1−1の比較データである「1」とを比較する。これらのデータは互いに「1」であって一致するため、アクセス要求1−1のストアデータである「0」を第3ノード300のメモリ330に書き込み、読出しデータ「1」を第1ノード100に返信する。よって図10の左欄の最初のデータが「1」となる。
次に、図9において、アクセス要求1−2が第3ノード300に到達する。プロセッサ350は、この時点においてメモリ330に格納されているデータである「0」を読み出し、アクセス要求1−2の比較データである「1」と比較する。今回は両データが相違するため、メモリ330内のデータの書き換えは行わずに「0」を維持したままとし、読出しデータである「0」を第1ノード100に返信する。よって図10の左欄の2番目のデータは「0」となる。
次に、図9において、第2ノード200から発行されたアクセス要求2−1が第3ノード300に到達する。プロセッサ350はメモリ330に格納されているデータである「0」を読み出し、アクセス要求2−1の比較データ「0」と比較する。両データの論理値は同一であるので、読出しデータ「0」を第2ノード200に返信し、アクセス要求2−1のストアデータである「1」を第3ノード300のメモリ330に書き込む。よって、図10の右欄の1番目のデータは「0」となる。
以下、図9において、第1ノード100から送信されたアクセス要求1−3及びアクセス要求1−4と、第2ノード200から送信されたアクセス要求2−2及びアクセス要求2−3が交互に第3ノード300に入力される。その結果、第1ノード100へは読出しデータ「1」が連続して送信され、第2ノード200へは読出しデータ「0」が連続して送信される。
第1ノード100から送信されるアクセス要求は、アクセス要求1−4が最後となり、その後は第2ノード200から送信されたアクセス要求2−3とアクセス要求2−4が連続して第3ノード300に入力される。アクセス要求2−3によってメモリ330のデータは「1」となる。そのため、アクセス要求2−4が入力された際には、読出しデータ「1」と比較データ「0」とが一致せず、第3ノード300のメモリ330のデータは書き換えられずに「1」のまま維持される。第2ノード200へは読出しデータ「1」が返信される。
ここで読出しデータの期待値について説明する。比較データが「1」であってストアデータが「0」であるアクセス要求においては、「1」を読出しデータの期待値と呼び、比較データが「0」であってストアデータが「1」であるアクセス要求においては「0」を読出しデータの期待値と呼ぶ。つまりアクセス要求1−1〜1−4を発行した第1ノード100においては読出しデータの期待値は「1」であり、アクセス要求2−1〜2−4を発行した第2ノード200においては読出しデータの期待値は「0」である。
図10に基づき、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが第3ノード300へ到達する時刻にどの程度の相違があったかを、読出しデータから読み取る方法について説明する。第1ノード100から発行されたアクセス要求1−1〜1−4に対する読出しデータの最初の値は期待値である「1」である。これに対し、読出しデータの2番目の値が期待値とは異なる値である「0」となっている。一方、第2ノード200から発行されたアクセス要求2−1〜2−4に対する読出しデータの最初の値は期待値である「0」である。そして2番目の値も期待値である「0」となっている。このような場合、読出しデータの上位2つのデータに期待値とは異なる値が含まれるノードから発行したアクセス要求が、読出しデータの上位2つのデータのいずれもが期待値であるノードから発行したアクセス要求よりも、先に第3ノード300に到達していることを読み取ることができる。またこの読出しデータの内容により、第1ノード100から発行された2番目のアクセス要求1−2が、第2ノード200から発行された最初のアクセス要求2−1よりも先に到達していることも読み取ることができる。尚、第1ノード100への読出しデータ列の3番目のデータが期待値である「1」であることから、アクセス要求1−2とアクセス要求1−3との間にアクセス要求2−1が到達したことも読み取れる。
このようにアクセス要求に対する読出しデータにより、第1ノードから発行されるアクセス要求と第2ノードから発行されるアクセス要求のどちらがどの程度遅れて第3ノード300に到達したか、言い換えれば、どちらの信号伝達経路において伝達遅延がどの程度大きいかを認識することができる。
図11は、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4の第3ノード300への到達タイミングと、第3ノード300のメモリ330のデータの内容の別の例を示す図である。図12は、図11のケ−スにおけるアクセス要求1−1〜1−4およびアクセス要求2−1〜2−4に対するメモリ330からの読出しデータを示す図である。図11においては、第1ノード100から発行される最後のアクセス要求1−4よりも後に、第2ノード200から発行される最初のアクセス要求2−1が第3ノード300に到達するケ−スを示している。この場合は、図12に示すように、第1ノード100への読出しデータの上位2つのデータには、期待値である「1」と、期待値とは異なる値である「0」の両方が含まれ、かつ第2ノード200への読出しデータの上位2つのデータにも、期待値である「0」と、期待値とは異なる値である「1」の両方が含まれる。つまり、読出しデータの上位2つのデータを比較しても、いずれのノードから発行されたアクセス要求が先に第3ノード300に到達しているのかを判断することができない。このような場合は、第1ノード100及び第2ノード200から連続して発行されるアトミック命令に基づくアクセス要求の数を増加させて再度読出しデータを取得する。例えば第1ノード100および第2ノード200から連続して発行されるアトミック命令に基づくアクセス要求の数を各々8つに増加させる。これにより、第1ノード100から発行する最後のアクセス要求よりも後に、第2のノード200から発行する最初のアクセス要求が第3ノード300に到達することを防止でき、読出しデータの上位2つの値に基づく判定が可能となる。
ここまで、相反関係にあるアトミック命令に基づくアクセス要求を用いて第3ノード300への到達時刻の相違の大凡の程度を検出する方法を説明した。次に、先に第3ノード300へ到達するアクセス要求1−1〜1−4の第3ノード300への到達時刻を調整し、アクセス要求1−1〜1−4と、アクセス要求2−1〜2−4とを交互に第3ノード300に入力させるための方法を説明する。アクセス要求1−1〜1−4が第3ノードへ到達する時刻の調整の方法は、第1ノード100のプロセッサ150にてアクセス要求1−1〜1−4を発行するタイミングを一定時間遅らせる方法、アクセス要求1−1〜1−4を受信した第3ノード300のプロセッサ350にて一定時間の遅延を生じさせる方法、第1ノード100の入出力部140と第3ノード300の入出力部340との間に可変遅延回路を設けることで遅延時間を調整する方法がある。本実施例にて「到達時刻の調整」とはこれら全ての方法を包含するものであるが、以下においては第1ノード100のプロセッサ150において、アクセス要求1−1〜1−4の発行タイミングを調整する方法を例として説明する。
上述のように図10の結果から、第1ノード100から発信されたアクセス要求1−1がアクセス要求2−1よりも先に第3ノード300に到達していることを読み取ることができる。そこで、到達時刻調整部113に適当な設定値を設定し、第1ノード100からアクセス要求1−1〜1−4が発行されるタイミングを一定時間だけ遅らせ、アクセス要求1−1〜1−4が第3ノード300に到達するタイミングを一定時間だけ遅らせるよう調整する。この場合は、第2ノード200の到達時刻調整部213の調整は行わない。そして第3ノード300のメモリ330に初期値としてデータ「1」を格納し、第1ノード100の同期部111と第2ノード200の同期部211とで同期をとった後、アクセス要求1−1〜1−4及びアクセス要求2−1〜2−4を発行する。アクセス要求1−1〜1−4に対する読出しデータの上位2つの値の両方が期待値である「1」になったか、またアクセス要求2−1〜2−4に対する読出しデータの上位2つの値の両方が期待値である「0」になったか否かを確認する。依然として読出しデータが図10に示す内容と同一であれば、到達時刻調整部113に設定する遅延時間を増加させて再度アクセス要求1−1〜1−4およびアクセス要求2−1〜2−4を発行する。この動作を、アクセス要求1−1〜1−4に対する読出しデータの上位2つが「1」となり、アクセス要求2−1〜2−4に対する読出しデータの上位2つが「0」となるまで繰り返す。
図13は、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが第3ノード300に到達するタイミングと、メモリ330のデータの変化の様子を示す図である。図14は、図13の状態におけるアクセス要求1−1〜1−4とアクセス要求2−1〜2−4とに対する読出しデータ列を示す。図13においては、第1ノード100から発行されるアクセス要求1−1〜1−4が第3ノード300へ到達する時刻が一定時間遅れるよう調整され、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが交互に第3ノード300に到達している。この状態においては、図14に示すように、アクセス要求1−1〜1−4に対する読出しデータの上位2つの両方が期待値である「1」となり、アクセス要求2−1〜2−4に対する読出しデータの上位2つの両方が期待値である「0」となる。すなわち、2つのノードから発行されたアクセス要求に対する読出しデータのどちらにおいても、上位2つのデータが期待値となるよう到達時刻調整部113の調整を行うことで、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とを交互に第3ノード300に到達させることができる。この状態での到達時刻調整部113の到達時刻調整値は、例えば第1ノード100のメモリ130に格納される。本実施例において、この到達時刻調整値は必ずしもメモリ130に格納される必要はなく、例えば管理装置400のメモリ430にて保持してもよい。
次に、取得した到達時刻調整値を用いてアクセス要求競合試験を行う方法を説明する。まず取得した到達時刻調整値を到達時刻調整部113に設定し、第3ノード300のメモリに初期値として「1」を設定する。第1ノード100と第2ノード200の間で同期をとり、第1ノード100からアクセス要求1−1〜1−4を、第2ノードからアクセス要求2−1〜2−4を、それぞれ第3ノード300に対して連続して送信する。第3ノード300のメモリ制御部320からロックエラー信号が発信されるか否かを管理装置400のプロセッサ450により検出することにより、1回目のアクセス要求競合試験を行う。尚、アクセス要求に対するメモリ320の読出しデータは、試験終了の時期を検出するため、第1ノード100および第2ノード200にて記憶する。
図15は、上述の1回目のアクセス要求競合試験における、アクセス要求1−1〜1−4及びアクセス要求2−1〜2−4が第3ノード300に到達するタイミングを示す図である。図15に示すように、到達時刻調整部113に適切な到達時刻調整値を設定することにより、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4を交互に第3ノード300に到着させることができる。しかし、アクセス要求の競合状態が生じるか否かは、各々のアクセス要求に対する処理を第3ノード300が完了させるために必要な時間や、複数のアクセス要求の発行間隔、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4との到達時間のずれの程度によって決まるものである。よって上記の1回目の試験を行っただけでは、競合状態が生じているかどうかが不明であり、アトミック競合試験を終了させることはできない。
そこで次に、図2及び図3の機能ブロック図に示した発行間隔調整部114又は発行間隔調整部214を用いて行うアクセス要求競合試験について説明する。発行間隔調整部114及び214は、連続発行される複数のアクセス要求列の発行間隔を変更させる機能を有する。ここでは第1ノード100の発行間隔調整部114にてアクセス要求1−1〜1−4の発行間隔を調整したアクセス要求競合試験を行う例を説明する。
図16は、発行間隔調整部114を調整し、アクセス要求1−1〜1−4の発行間隔を、アクセス要求2−1〜2−4の発行間隔よりも時間αだけ拡げて行った再度の試験における、アクセス要求1−1〜1−4及びアクセス要求2−1〜2−4が第3ノード300に到達するタイミングを示す図である。
図15に示す例では、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが競合していないが、図16においては、アクセス要求1−1〜1−4の発行間隔を時間αだけ拡げたことにより、第3ノード300におけるアクセス要求1−1の処理が終了する前にアクセス要求2−1が到達する状態、すなわち競合状態が生じている状況を例示している。ここで、アクセス要求1−1とアクセス要求2−1との重なり時間をβとする。メモリ制御部320がメモリ330を正しくロック状態とすることができなかった場合は、ロックエラー信号出力部311がロックエラー信号を管理装置400に送信する。次にアクセス要求1−2は、アクセス要求1−1との発行間隔が時間αだけ拡がったことにより、第3ノード300への到達時刻が更に時間αだけ後ろにシフトしているため、アクセス要求2−2との重なり時間はα+βとなる。同様にアクセス要求1−3とアクセス要求2−3との重なり時間は2α+βとなる。更に、アクセス要求1−4とアクセス要求2−4との重なり時間は3α+βとなる。このように、発行間隔調整部114に特定の値を設定することにより、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4との重なり時間を複数種生成することが可能となる。
図17は、アクセス要求1−1〜1−4の発行間隔を更に拡げて再度の試験を行った際の、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが第3ノード300に到達するタイミングを示す図である。図17において、アクセス要求1−1はアクセス要求2−1よりも先に第3ノードに到達し、アクセス要求1−2はアクセス要求2−2よりも先に第3ノードに到達している。しかし、アクセス要求1−3はアクセス要求2−3よりも後に第3ノードに到達している。すなわち、アクセス要求1−1〜1−4とアクセス要求2−1〜2−4とが交互に第3ノード300に到達しない状態となる。そのため、アクセス要求2−3に対する読出しデータは、期待値とは異なる「1」となる。第2ノード200の判定部212は、読出しデータに期待値と異なる値が含まれることを認識すると、第1ノード100から発行したアクセス要求と第2ノード200から発行したアクセス要求との間に種々の重なりを十分に生成することができたと判定する。そして、通知部215が第1ノード100に対して試験終了信号を生成する。第1ノード100はこの試験終了信号を受信するとアクセス要求競合試験を終了させる。
尚、本実施例では、到達時刻調整部113の設定を行った第1ノード100の発行間隔を拡げる例を示したが、第2ノード200の発行間隔を拡げるよう調整してもよい。また発行間隔の調整として発行間隔を狭めてもよい。更に、第1ノード100と第2ノード200の両方の発行間隔を調整してもよい。
図18は、アクセス要求が競合試験対象装置へ到達する時刻を調整する処理のフローチャートである。図18の処理は処理1100により開始される。処理1101において設定部116又は216が第3ノード300のメモリ330に初期値を設定する。第1ノード100は処理1110へ進み、第2ノードは処理1120へ進む。処理1110及び処理1120において、第1ノード100の同期部111と第2ノード200の同期部211とが同期処理を行う。処理1111及び処理1121において、プロセッサ150とプロセッサ250は、各ノードが発行するアクセス要求の第3ノード300への到達時刻を調整する。処理1111及び処理1121の詳細フローチャートは追って図19を用いて説明する。処理1112において、判定部112が、アクセス要求の第3ノード300への到達時刻を遅らせるよう自ノードにおいて調整がなされたか否かを判定する。自ノードにおいて到達時刻の調整がなされた場合は、処理1114において、設定部116が自ノードをマスターノードに設定する。自ノードにおいて到達時刻の調整がなされなかった、すなわち到達時刻調整部によってアクセス要求の発行タイミングを遅延させる処理を行わない場合は、処理1113において、設定部116が自ノードをスレーブノードに設定して処理1114へ進む。また処理1122において判定部212が、アクセス要求の第3ノード300への到達時刻を遅らせるよう自ノードにおいて調整がなされたか否かを判定する。自ノードにおいて到達時刻の調整がなされた場合は、処理1124において、設定部216が自ノードをマスターノードに設定する。自ノードにおいて到達時刻の調整がなされなかった、すなわち到達時刻調整部によってアクセス要求の発行タイミングを遅延させる処理を行わない場合は、処理1123において、設定部216が自ノードをスレーブノードに設定して処理1124へ進む。
ここでスレーブノードとは、後述する試験終了信号を発行するノードであり、マスターノードとは、試験終了信号を受けて試験を終了させるノードである。図18においては、到達時刻調整部によって到達時刻の調整がなされたノードをマスターノードに設定するフローを開示しているが、到達時刻調整部によって到達時刻の調整がなされたノードをスレーブノードとし、到達時刻調整部によって到達時刻の調整がなされなかったノードをマスターノードに設定してもよい。
図19は、処理1111及び処理1121の到達時刻調整値を取得する処理の詳細を示す図である。処理1111と処理1121は同じフローチャートとなるため、ここでは処理1111を代表として説明する。図18の処理1110の後、処理1201において、アクセス要求発行部117が、アクセス要求1−1〜1−4を第3ノード300に対して連続発行する。処理1202において受信部118が、メモリ330から読み出された読出しデータを受信する。処理1203において、読出しデータの上位2つの値の両方が期待値であるか否かを判定部112が判定する。読出しデータの上位2つの値のうち少なくとも1つの値が期待値ではない場合は、処理1204において判定部112が、相手側の競合試験装置から到達時刻の調整が完了した旨の調整完了フラグを受信部118が受信したか否かを判定する。判定部112が、受信部118は調整完了フラグを受信していないと判定した場合は、処理1205において、アクセス要求発行部117が、アトミック命令に基づくアクセス要求の発行数を増加させて、処理1201にて再度アクセス要求を発行する。処理1204において、受信部118が調整完了フラグを受信したと判定部112が判断した場合、処理1206において、アクセス要求の第3ノード300への到達時刻が遅れるように到達時刻調整部113の調整を行う。そして処理1201にて再度、アクセス要求発行部117が、アクセス要求を発行する。
処理1203において、読出しデータの上位2つの値の両方が期待値であると判定部112が判定した場合は、処理1207において設定部116が、到達時刻の調整が完了したことを示す調整完了フラグを“オン”にする。処理1208において設定部116が、到達時刻調整値をメモリ130に格納する。処理1209において通知部115が、相手側の競合試験装置である第2ノード200に調整完了フラグを通知する。処理1210において判定部112が、相手側の競合試験装置である第2ノード200から調整完了フラグを受信部118にて受信したか否かを判定する。判定部112が、未だ受信部118は調整完了フラグを受信していないと判断する場合は、処理1211においてアクセス要求発行部117が、アクセス要求を第3ノード300に連続発行する。処理1210において、受信部118が第2ノード200から調整完了フラグを受信したと判定部112が判断した場合は処理1212へ進み終了する。
図20は、取得した到達時刻調整値を用いてアクセス要求競合試験を行う処理を示す図である。図20においては、第1ノード100がマスターノードであり、第2ノード200がスレーブノードである例を説明する。処理1300により処理が開始される。処理1301において、設定部116が、競合試験対象装置である第3ノード300のメモリ330に初期値を格納する。第1ノードは処理1310へ進み、第2ノードは処理1320に進む。処理1310及び処理1320において、第1ノード100の同期部111と第2ノード200の同期部211とが互いに特定のデータを送信して、双方のデータを確認できるまで同期処理を繰り返して同期をとる。
処理1312において設定部116が、図18の処理1111にて取得された到達時刻調整値を、到達時刻調整部113に設定する。処理1313においてアクセス要求発行部117が複数のアクセス要求を連続発行させ、処理1321においてアクセス要求発行部217が複数のアクセス要求を連続発行させる。そして第3ノード300のロックエラー信号出力部311が発行するロックエラー信号を、例えば管理装置400のプロセッサ450にて受信することでアクセス要求競合試験が行われる。
処理1322において第2ノード200の受信部218は、自ノードから発行した複数のアクセス要求に対する読出しデータを受信する。処理1323において判定部212が、受信した読出しデータに期待値とは異なる値が含まれるか否かを判定する。判定部212が、読出しデータに期待値とは異なる値が含まれないと判定した場合は処理1320へ戻る。判定部212が、読出しデータに期待値とは異なる値が含まれると判定した場合は、処理1324において、通知部215がマスターノードへ試験終了通知を発行し、処理1350にて終了する。
処理1314において、マスターノードである第1ノード100の判定部112は、スレーブノードである第2ノード200からの試験終了通知を受信部118にて受信したか否かを判定する。判定部112が、試験終了通知を受信部118にて受信したと判定した場合は、処理1350にて終了する。判定部112が、試験終了通知を受信部118にて受けていないと判定した場合は、処理1315において判定部112が、アクセス要求の発行が終了したか否かを判定する。判定部112がアクセス要求の発行が終了していないと判定した場合は、処理1314へ戻る。判定部112がアクセス要求の発行が終了したと判定した場合は、処理1316において、発行間隔調整部114がアクセス要求の発行間隔の調整を行う。そして再度、同期処理部111及び112による同期処理及びアクセス要求発行部117及び217によるアクセス要求の連続発行が行われる。
このようにアクセス要求の発行間隔を調整することにより、第1ノード100から発行されるアクセス要求と第2ノード200から発行される第2アクセス要求との間に複数種の重なりを生じさせてアクセス要求競合試験を行うことができる。また、アクセス要求の発行間隔を調整してアクセス要求競合試験を行うことにより、試験終了のタイミングを読出しデータに基づいて判断をすることが可能となる。
ここまで、図1に示す情報処理装置において、第1ノード100及び第2ノード200を競合試験装置、第3ノード300を競合試験対象装置とする場合について述べた。第1ノード100を競合試験対象装置とする場合は、第2ノード200と第3ノード300とを競合試験装置とし、第2ノード200を競合試験対象装置とする場合は、第1ノード100と第3ノード300とを競合試験装置として試験を行う。
情報処理装置を構成するノードの数が4個の場合は、第1ノードと第2ノードとを競合試験装置、第3ノードを競合試験対象装置としての試験、第2ノードと第3ノードとを競合試験装置、第4ノードを競合試験対象装置としての試験、第3ノードと第4ノードとを競合試験装置、第1ノードを競合試験対象装置としての試験、及び第4ノードと第1ノードとを競合試験装置、第2ノードを競合試験対象装置としての試験を行う。このように試験を行うことで、各ノードは均等に、競合試験装置として2回、競合試験対象装置として1回ずつ使用されることになる。情報処理装置を構成するノードの数が5個以上の場合も同様である。
また、例えば情報処理装置を構成するノードの数が5個である場合、第1ノードと第2ノードとを競合試験装置、第3ノードを競合試験対象装置としての試験、第1ノードと第2ノードとを競合試験装置、第4ノードを競合試験対象装置としての試験、第1ノードと第2ノードとを競合試験装置、第5ノードを競合試験対象装置としての試験、第3ノードと第4ノードとを競合試験装置、第1ノードを競合試験対象装置としての試験、第3ノードと第4ノードとを競合試験装置、第2ノードを競合試験対象装置としての試験を行う。このように試験を行うことにより、第5ノードへ試験プログラムを格納することなく全てのノードを競合試験対象装置として試験を行うことができる。情報処理装置を構成するノードの数が6個以上の場合も同様である。
また、試験時間を短縮するために、複数の試験を同時並行的に行ってもよい。例えば情報処理装置を構成するノードの数が6個の場合、第1ノードと第2ノードとを競合試験装置、第3ノードを競合試験対象装置としての試験、第4ノードと第5ノードとを競合試験装置、第6ノードを競合試験対象装置としての試験を同時並行的に行うことも可能である。情報処理装置を構成するノードの数が7個以上の場合も同様である。
実施例では、アクセス要求を受けてメモリから読み出される読出しデータは、アクセス要求の発行元へ返信され、アクセス要求の発行元にて記憶される例を説明した。しかし、読出しデータは必ずしもアクセス要求発行元のノードへ返信されて記憶される必要はなく、例えば管理装置400のメモリ430や第3ノード300のメモリ330にて記憶してもよい。この場合、読出しデータに基づいて行う信号経路の遅延の大小の判断や、試験終了の制御は管理装置400又は第3ノード300にて行ってもよい。
また実施例では、スレーブノードが発行した試験終了通知をマスターノードが受信してアクセス要求競合試験を終了させる例を説明したが、管理装置400が試験終了通知を受信してアクセス要求競合試験を終了させてもよい。また使用するアクセス要求は、アトミック命令に基づくアクセス要求に限られない。本明細における開示の技術は、異なる2種類のアクセス要求を用いて、それら2種類のアクセス要求が互いに交互に試験対象装置に到達するよう、到達時刻の調整を行うことにより実施可能である。
以上の実施例に関し、さらに以下の付記を開示する。
(付記1)
複数の第1アクセス要求を発行する第1ノードと、
複数の第2アクセス要求を発行する第2ノードと、
メモリを有し、前記第1ノード及び前記第2ノードに接続され、前記複数の第1アクセス要求及び前記複数の第2アクセス要求を受信する第3ノードと、
前記複数の第1アクセス要求及び前記複数の第2アクセス要求に対する前記メモリからの読出しデータに基づき、前記複数の第1アクセス要求と前記複数の第2アクセス要求が交互に前記第3ノードに到達するよう、前記複数の第1アクセス要求が前記第3ノードへ到達する時刻を設定する到達時刻調整部と
を有することを特徴とする情報処理装置。
(付記2)
前記第1アクセス要求は、前記メモリから読み出したデータが第1論理値である場合は第2論理値を前記メモリに書込む要求であり、前記第2アクセス要求は、前記メモリから読み出したデータが前記第2論理値である場合は前記第1論理値を前記メモリに書込む要求であることを特徴とする付記1に記載の情報処理装置。
(付記3)
前記第1ノードは第1プロセッサを含み、前記第2ノードは第2プロセッサを含み、前記第1要求は、前記第1プロセッサが第1アトミック命令を実行することにより発行され、前記第2命令は、前記第2プロセッサが第2アトミック命令を実行することにより発行されることを特徴とする付記1又は2に記載の情報処理装置。
(付記4)
前記第1アトミック命令は、前記メモリに格納されているデータを読み出す命令と、前記第1アトミック命令に含まれる第1データと前記メモリから読み出された第1読出しデータとを比較する命令と、前記第1データと前記第1読出しデータとが同一の論理値である場合は、前記第1アトミック命令に含まれる第2データを前記メモリに書き込む命令とを含み、
前記第2アトミック命令は、前記メモリに格納されているデータを読み出す命令と、前記第2アトミック命令に含まれる第3データと前記メモリから読み出された第2読出しデータとを比較する命令と、前記第3データと前記第2読出しデータとが同一の論理値である場合は、前記第2アトミック命令に含まれる第4データを前記メモリに書き込む命令とを含むことを特徴とする付記2に記載の情報処理装置。
(付記5)
前記第3ノードは、前記メモリを制御するメモリ制御部を更に有し、前記メモリ制御部は、前記第1アクセス要求を受けた後、前記第1アクセス要求に対する処理が終了するまでの間、前記メモリへのアクセスを禁止することを特徴とする付記1乃至4何れか一つに記載の情報処理装置。
(付記6)
前記第1ノードは、前記複数の第1アクセス要求の発行間隔を設定する発行間隔調整部を更に有することを特徴とする付記1乃至5何れか一つに記載の情報処理装置。
(付記7)
前記第2ノードは、前記発行間隔調整部による前記発行間隔の設定の結果、前記複数の第2アクセス要求に対して読み出された複数の前記読出しデータに、互いに異なる論理値が含まれることを検出して試験終了信号を発行することを特徴とする付記6に記載の情報処理装置。
(付記8)
前記第1ノードは、前記複数の読出しデータの内容を判定する第1判定部を更に有し、前記到達時刻調整部は、前記第1判定部の判定結果に基づき、前記第1アクセス要求の前記第3ノードへの到達時刻を設定することを特徴とする付記1乃至7何れか一つに記載の情報処理装置。
(付記9)
前記第3ノードは、前記第1アクセス要求に対する処理を実行中に他のアクセス要求を実行した場合にロックエラー信号を出力することを特徴とする付記3乃至8何れか一つに記載の情報処理装置。
(付記10)
第1ノードが、メモリを有する前記第3ノードに対して複数の第1アクセス要求を発行する工程と、
第2ノードが前記第3ノードに対して複数の第2アクセス要求を発行する工程と、
複数の第1アクセス要求及び前記複数の第2アクセス要求に対する前記メモリからの読出しデータに基づき、前記複数の第1アクセス要求と前記第2アクセス要求が交互に前記第3ノードに到達するよう、前記複数の第1アクセス要求が前記第3ノードへ到達する時刻を設定することを特徴とする試験方法。
(付記11)
前記第1アクセス要求は、前記メモリから読み出したデータが第1論理値である場合は第2論理値を前記メモリに書込む要求であり、前記第2アクセス要求は、前記メモリから読み出したデータが前記第2論理値である場合は前記第1論理値を前記メモリに書込む要求であることを特徴とする付記10に記載の試験方法。
(付記12)
前記第1ノードは第1プロセッサを含み、前記第2ノードは第2プロセッサを含み、前記第1アクセス要求は、前記第1プロセッサが第1アトミック命令を実行することにより発行され、前記第2アクセス要求は、前記第プロセッサが第2アトミック命令を実行することにより発行されることを特徴とする付記10又は11に記載の試験方法。
(付記13)
前記第1アトミック命令は、前記メモリに格納されているデータを読み出す命令と、前記第1アトミック命令に含まれる第1データと前記メモリから読み出された第1読出しデータとを比較する命令と、前記第1データと前記第1読出しデータとが同一の論理値である場合は、前記第1アトミック命令に含まれる第2データを前記メモリに書き込む命令とを含み、
前記第2アトミック命令は、前記メモリに格納されているデータを読み出す命令と、前記第2アトミック命令に含まれる第3データと前記メモリから読み出された第2読出しデータとを比較する命令と、前記第3データと前記第2読出しデータとが同一の論理値である場合は、前記第2アトミック命令に含まれる第4データを前記メモリに書き込む命令とを含むことを特徴とする付記11に記載の試験方法。
(付記14)
前記第1アクセス要求を受けた後、前記第1アクセス要求に対する処理が終了するまでの間、前記メモリへのアクセスが禁止されることを特徴とする付記10乃至13何れか一つに記載の試験方法。
(付記15)
前記複数の第1アクセス要求の発行間隔を複数の値に設定して試験を行うことを特徴とする付記10乃至14何れか一つに記載の試験方法。
(付記16)
前記発行間隔を第1の値に設定して試験を行い、前記複数の第2アクセス要求に対して読み出された複数の前記読出しデータに互いに異なる論理値が含まれることを検出して試験を終了させることを特徴とする付記15に記載の試験方法。
(付記17)
前記第3ノードは、前記第1アクセス要求に対する処理を実行中に他のアクセス要求を実行した場合は、ロックエラー信号を出力することを特徴とする付記10乃至16何れか一つに記載の試験方法。
100 第1ノード
200 第2ノード
300 第3ノード
400 管理装置
500 バス
150、250、350、450 プロセッサ
120、220、320 メモリ制御部
130、230、330、430 メモリ
140、240、340 入出力部
111、211 同期部
112、212 判定部
113、213 到達時刻調整部
114、214 発行間隔調整部
115、215 通知部
116、216 設定部
117、217 アクセス要求発行部
118、218 受信部
311 ロックエラー信号出力部
321 メモリロック部
322 データ読出し部
323 データ比較部
324 データ書込み部
325 通知部

Claims (9)

  1. 複数の第1アクセス要求を発行する第1ノードと、
    複数の第2アクセス要求を発行する第2ノードと、
    メモリを有し、前記第1ノード及び前記第2ノードに接続され、前記複数の第1アクセス要求及び前記複数の第2アクセス要求を受信する第3ノードと、
    前記複数の第1アクセス要求及び前記複数の第2アクセス要求に対する前記メモリからの読出しデータに基づき、前記複数の第1アクセス要求と前記複数の第2アクセス要求が交互に前記第3ノードに到達するよう、前記複数の第1アクセス要求が前記第3ノードへ到達する時刻を設定する到達時刻調整部と
    を有し、
    前記第1アクセス要求は、前記メモリから読み出したデータが第1論理値である場合は第2論理値を前記メモリに書込む要求であり、前記第2アクセス要求は、前記メモリから読み出したデータが前記第2論理値である場合は前記第1論理値を前記メモリに書込む要求であることを特徴とする情報処理装置。
  2. 前記第1ノードは第1プロセッサを含み、前記第2ノードは第2プロセッサを含み、前記第1アクセス要求は、前記第1プロセッサが第1アトミック命令を実行することにより発行され、前記第2アクセス要求は、前記第2プロセッサが第2アトミック命令を実行することにより発行されることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1ノードは、前記複数の第1アクセス要求の発行間隔を設定する発行間隔調整部を更に有することを特徴とする請求項1又は2に記載の情報処理装置
  4. 前記第2ノードは、前記発行間隔調整部による前記発行間隔の設定の結果、前記複数の第2アクセス要求に対して読み出された複数の前記読出しデータに、互いに異なる論理値が含まれることを検出して試験終了信号を発行することを特徴とする請求項3に記載の情報処理装置。
  5. 第1ノードが、メモリを有する第3ノードに対して複数の第1アクセス要求を発行し、
    第2ノードが前記第3ノードに対して複数の第2アクセス要求を発行し、
    前記複数の第1アクセス要求及び前記複数の第2アクセス要求に対する前記メモリからの読出しデータに基づき、前記複数の第1アクセス要求と前記複数の第2アクセス要求が交互に前記メモリに到達するよう、前記複数の第1アクセス要求が前記メモリへ到達する時刻を設定する
    ことを特徴とする試験方法。
  6. 前記第1アクセス要求は、前記メモリから読み出したデータが第1論理値である場合は第2論理値を前記メモリに書込む要求であり、前記第2アクセス要求は、前記メモリから読み出したデータが前記第2論理値である場合は前記第1論理値を前記メモリに書込む要求であることを特徴とする請求項5に記載の試験方法。
  7. 前記第1ノードは第1プロセッサを含み、前記第2ノードは第2プロセッサを含み、前記第1アクセス要求は、前記第1プロセッサが第1アトミック命令を実行することにより発行され、前記第2アクセス要求は、前記第2プロセッサが第2アトミック命令を実行することにより発行されることを特徴とする請求項5又は6に記載の試験方法。
  8. 前記複数の第1アクセス要求の発行間隔を複数の値に設定して試験を行うことを特徴とする請求項5乃至7何れか一項に記載の試験方法。
  9. 前記発行間隔を第1の値に設定して試験を行い、前記複数の第2アクセス要求に対して読み出された複数の前記読出しデータに互いに異なる論理値が含まれることを検出して試験を終了させることを特徴とする請求項8に記載の試験方法。
JP2013172504A 2013-08-22 2013-08-22 情報処理装置及び情報処理装置の試験方法 Active JP6205978B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013172504A JP6205978B2 (ja) 2013-08-22 2013-08-22 情報処理装置及び情報処理装置の試験方法
US14/333,770 US20150058684A1 (en) 2013-08-22 2014-07-17 Test method, information processing device, and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013172504A JP6205978B2 (ja) 2013-08-22 2013-08-22 情報処理装置及び情報処理装置の試験方法

Publications (2)

Publication Number Publication Date
JP2015041282A JP2015041282A (ja) 2015-03-02
JP6205978B2 true JP6205978B2 (ja) 2017-10-04

Family

ID=52481509

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013172504A Active JP6205978B2 (ja) 2013-08-22 2013-08-22 情報処理装置及び情報処理装置の試験方法

Country Status (2)

Country Link
US (1) US20150058684A1 (ja)
JP (1) JP6205978B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018136866A (ja) * 2017-02-23 2018-08-30 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
CN110334022B (zh) * 2019-06-27 2023-03-28 上海电气泰雷兹交通自动化系统有限公司 适用于联锁自动化测试的生成冲突进路测试用例的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63153660A (ja) * 1986-12-17 1988-06-27 Fuji Electric Co Ltd デ−タ転送方法
JPH06149762A (ja) * 1992-11-10 1994-05-31 Hitachi Ltd 計算機システムの競合動作試験方式
US6111886A (en) * 1997-03-07 2000-08-29 Advanced Micro Devices, Inc. Apparatus for and method of communicating among devices interconnected on a bus
JP2000181891A (ja) * 1998-12-18 2000-06-30 Hitachi Ltd 共有メモリアクセス順序保証方式
US7974238B2 (en) * 2005-10-31 2011-07-05 Williams-Pyro, Inc. Managing wireless communication with limited channels
JP5082407B2 (ja) * 2006-11-28 2012-11-28 富士通株式会社 アクセス競合試験におけるアクセス競合発生システム
US20080186859A1 (en) * 2007-02-06 2008-08-07 Viasat, Inc. Code multiplexed requests for controlling access to a shared communication medium
JP5505192B2 (ja) * 2010-08-17 2014-05-28 富士通株式会社 競合試験装置

Also Published As

Publication number Publication date
JP2015041282A (ja) 2015-03-02
US20150058684A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
TWI430105B (zh) 用於記憶體命令時序的主動訓練之系統,方法,及裝置
JP4594896B2 (ja) 被試験デバイスを、被試験デバイスのクロック及びデータ信号をサンプリングすることによって試験すること
CN101159163A (zh) 用于均衡多个存储器件上的读延迟和操作存储器件的方法
JP2018005902A (ja) メモリ装置へのアクセスを制御するための装置及びそのような装置内においてメンテナンス作業を行う方法
JPH0784863A (ja) 情報処理装置およびそれに適した半導体記憶装置
JP6205978B2 (ja) 情報処理装置及び情報処理装置の試験方法
US8667199B2 (en) Data processing apparatus and method for performing multi-cycle arbitration
US20120246369A1 (en) Bus monitor circuit and bus monitor method
JP2009508201A (ja) 相互接続、及び相互接続の設計方法
WO2013187191A1 (ja) I/oデバイス、プログラマブルロジックコントローラ及び演算方法
US11294687B2 (en) Data bus with multi-input pipeline
US10243758B2 (en) Apparatus and method for filtering transactions
US11119873B2 (en) Processor repair
US20100169525A1 (en) Pipelined device and a method for executing transactions in a pipelined device
CN103678249B (zh) 基于存储器接口的扩展设备及其时钟调试方法
US20210406115A1 (en) Processor Repair
JP5383159B2 (ja) バス中継装置及び制御方法
US7900079B2 (en) Data capture window synchronizing method for generating data bit sequences and adjusting capture window on parallel data paths
US7746785B2 (en) Time multiplexing logic in physical design domain for multiple instantiation
KR101471289B1 (ko) 정보 처리 장치, 지연차 측정 방법, 및 지연차 측정 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체
CN111208867B (zh) 一种基于ddr读数据整数时钟周期的同步电路及同步方法
US20230079541A1 (en) Processor Repair
US7852689B2 (en) Semiconductor integrated circuit and method of measuring a maximum delay
JP5788093B2 (ja) I/oデバイス、プログラマブルロジックコントローラ及び演算方法
JP2005157929A (ja) 半導体装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170808

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170821

R150 Certificate of patent or registration of utility model

Ref document number: 6205978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150