JP2021144468A - 情報処理装置,試験プログラムおよび試験方法 - Google Patents

情報処理装置,試験プログラムおよび試験方法 Download PDF

Info

Publication number
JP2021144468A
JP2021144468A JP2020042703A JP2020042703A JP2021144468A JP 2021144468 A JP2021144468 A JP 2021144468A JP 2020042703 A JP2020042703 A JP 2020042703A JP 2020042703 A JP2020042703 A JP 2020042703A JP 2021144468 A JP2021144468 A JP 2021144468A
Authority
JP
Japan
Prior art keywords
store
data
memory
instruction
test
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.)
Granted
Application number
JP2020042703A
Other languages
English (en)
Other versions
JP7497582B2 (ja
Inventor
慶和 稲垣
Yoshikazu Inagaki
慶和 稲垣
信輔 寺西
Shinsuke Teranishi
信輔 寺西
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 JP2020042703A priority Critical patent/JP7497582B2/ja
Publication of JP2021144468A publication Critical patent/JP2021144468A/ja
Application granted granted Critical
Publication of JP7497582B2 publication Critical patent/JP7497582B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】単一プロセッサ環境でも、同一アドレスへのストア命令の順序保証回路の妥当性を検証可能とする。
【解決手段】複数のストア命令によってメモリにストアにされるストア用データとして、互いに相違する複数種類のストア用データを作成し、メモリにおける、複数のストア命令のそれぞれのストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定し、設定されたストア先のアドレスに対して、生成されたストア用データを書き込ませるストア命令を実行し、メモリから読み出したデータを期待値と比較することでストア命令実行部により実行された複数のストア命令の順序を確認する。
【選択図】図7

Description

本発明は、情報処理装置,試験プログラムおよび試験方法に関する。
順序保証試験は、連続でデータ転送を行なっても転送順序が変わらないことを確認する試験であり、プロセッサに備えられる順序保証回路の妥当性を検証するものである。
図13は従来の順序保証試験システムの構成を示す図である。
従来の順序保証試験システムは、メモリ501とストア側プロセッサ502とロード側プロセッサ503とを備え、メモリ501の同一アドレスに対するストア(Store)命令の順序保証を試験する。図13においては、ストア側プロセッサ502をプロセッサ#0と表し、ロード側プロセッサ503をプロセッサ#1と表す。
ストア側プロセッサ502がメモリ501の検証対象記憶領域に対して、時系列順に複数回のストアを行ない、プロセッサ503が、メモリ501の当該検証対象記憶領域から非定期にロード(Load)を行なう。例えば、ストア側プロセッサ502は、昇順のデータをメモリ501の検証対象記憶領域に対して順次ストアする。
図13においては、ストア側プロセッサ502が、“0x1111”,“0x2222”,“0x3333”,・・・,“0x1fff”を順次ストアしている。
そして、ロード側プロセッサ503においてロードした値が期待値と一致するか否かを比較することでストア命令とロード命令の順序性を確認する。例えば、ロード側プロセッサ503は、ロードした値を前回ロードした値と比較し、ロードした値が前回ロードした値よりも小さい場合に、ストア命令の転送順序の入れ替わりが発生したと判断する。これにより、各プロセッサの順序保証回路の妥当性検証を実現する。
特開2017−16638号公報 特開2006−31156号公報
しかしながら、このような従来の順序保証試験では、ロード側プロセッサ503によるロードがどのタイミングで実行されるか分からないため、全てのストア命令の転送順序の妥当性確認ができない。例えば、ストア命令の転送順序が入れ替わったとしても、読み出すタイミングによって順序逆転を検出することができない場合がある。
図13に示す例において、ストア側プロセッサ502によるストアに順序入れ替えが発生し、例えば、“0x2222”に先行して“0x3333”のストアが行なわれた場合であっても、その後に“0x4444”のロードが行なわれることで、“0x2222”と“0x3333”とのストア順序入れ替えが検出されない場合がある。
また、上述の如き従来の順序保証試験では、ストア側プロセッサ502とロード側プロセッサ503との複数のプロセッサを用いるので、単一プロセッサ構成の順序保証を実現することができないという課題もある。
1つの側面では、本発明は、ストア命令の転送順序の逆転を容易に検出することを目的とする。
このため、この情報処理装置は、プロセッサとメモリとを備える情報処理装置において、複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成するストアデータ生成部と、前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定するストア対象アドレス設定部と、前記ストア対象アドレス設定部により設定された前記ストア先のアドレスに対して、前記ストアデータ生成部によって生成された前記ストア用データを書き込ませるストア命令を実行する、ストア命令実行部と、前記メモリから読み出したデータを期待値と比較することで前記ストア命令実行部により実行された複数のストア命令の順序を確認する確認部とを備える。
一実施形態によれば、ストア命令の転送順序逆転を容易に検出することができる。
実施形態の一例としての情報処理装置の構成を模式的に示す図である。 実施形態の一例としての情報処理装置の試験条件情報を例示する図である。 実施形態の一例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 実施形態の一例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 実施形態の一例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 実施形態の一例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 実施形態の一例としての情報処理装置におけるメモリ順序性試験の処理を説明するためのフローチャートである。 実施形態の一例としての情報処理装置の試験結果確認部の処理を説明するためのフローチャートである。 実施形態の一例としての情報処理装置のハードウェア構成を例示する図である。 実施形態の情報処理装置の変形例を例示する図である。 実施形態の変形例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 実施形態の変形例としての情報処理装置におけるメモリ順序性試験の結果を説明するための図である。 従来の順序保証試験システムの構成を示す図である。
以下、図面を参照して実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態および各変形例を組み合わせる等)して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
(A)構成
図1は実施形態の一例としての情報処理装置1の構成を模式的に示す図である。
図1に例示する情報処理装置1は、プロセッサ10とメモリ20とを備え、これらのプロセッサ10とメモリ20とは、メモリバス2を介して通信可能に接続されている。
メモリ20は、ROM(Read Only Memory)およびRAM(Random Access Memory)を含む記憶メモリである。メモリ20のRAMは、本情報処理装置1において主記憶装置として使用される。RAMには、プロセッサ10に実行させるOSやアプリケーションプログラムの少なくとも一部やプロセッサ10による処理に必要な各種データが一時的に格納され、キャッシュメモリとして使用される。以下、キャッシュメモリを符号20を付して示す場合がある。
このキャッシュメモリ20には、プロセッサ10がストア命令を実行することによりデータがキャッシュライン単位でライトされ、また、プロセッサ10がロード命令を実行することによりデータがロードされる。
本情報処理装置1において、プロセッサ10は、メモリ20へのアクセス順序を制御するメモリオーダリングに関して、RMO(Relax Memory Oredering)方式、またはTSO(Total Store Ordering)方式を採用している。
また、本情報処理装置1は、プロセッサ10が実行する複数のストア命令間のメモリ順序性およびロード命令間のメモリ順序性の検証を行なうメモリ順序性試験機能を備える。メモリ順序性試験機能は、プロセッサ10に備えられる図示しない順序保証回路の妥当性を検証するものであり、メモリ20の同一アドレスへのストア命令の順序保証回路の妥当性を検証する。
そして、メモリ20の記憶領域の一部である試験領域21が、メモリ順序性試験においてストア命令およびロード命令の対象となる。すなわち、後述する試験実行部105のストア命令実行部106が複数のストア命令を実行することで、この試験領域21の同一アドレス(同一キャッシュライン)に対する、複数回の試験データ(ストア用データ)のストアが行なわれる。また、後述する試験結果確認部107のロード命令実行部108が複数のロード命令を実行することで、この試験領域21の同一アドレス(同一キャッシュライン)から複数回の試験データ(ストア用データ)のロードが行なわれる。
また、メモリ20における試験領域21と異なる他の記憶領域には、試験条件情報22が記憶される。試験条件情報22の詳細は、図2を用いて後述する。
プロセッサ10は、図1に示すように、試験条件設定部101,試験実行部105および試験結果確認部107としての機能を実現する。
試験条件設定部101は、メモリ順序性試験における試験条件を設定するものであり、メモリ順序性試験においてストア命令を実行するための条件を設定する。試験条件設定部101は、設定した試験条件情報22をメモリ20における試験領域21とは異なる記憶領域に記憶させる。
試験条件設定部101は、ストア発行回数設定部102,ストアデータ生成部103およびストア対象アドレス設定部104を備える。
本情報処理装置1において、試験条件は、ストア回数,ストア用データおよびストア対象アドレスを含む。
ストア発行回数設定部102は、ストア命令の発行回数である“ストア発行回数”を設定する。ストア発行回数設定部102は、ストア発行回数として、キャッシュラインサイズのバイト数Sと同数を設定する。なお、キャッシュラインサイズの最大値が256バイトであるものとする。すなわち、ストア回数の最大値は256回であるものとする。
ストア発行回数設定部102によって設定されたストア回数は、メモリ20に試験条件情報22として記憶される。
図2は実施形態の一例としての情報処理装置1の試験条件情報22を例示する図である。
この図2に例示する試験条件情報22においては、キャッシュラインサイズSが256バイトの例を示しており、このキャッシュラインサイズSに応じて、発行回数256分のストア用データ(試験データ)が示されている。この図2に例示する試験条件情報22においては、発行回数の最大値(256)がストア発行回数Sに相当する(S=256)。
ストア発行回数設定部102は、例えば、プロセッサ10に備えられたレジスタ等からキャッシュライン情報をリードすることで、キャッシュラインサイズSを取得してもよい。また、本情報処理装置1を操作する試験実行者にオプションパラメータ等によりキャッシュラインサイズを設定させ、ストア発行回数設定部102がこの設定されたキャッシュラインサイズSを取得してもよい。
ストア対象アドレス設定部104は、ストア命令によるストア用データ(試験データ)のストア先のアドレスである書き込み先アドレス(ストア対象アドレス)を設定する。
ストア対象アドレス設定部104は、ストア命令の発行回数に応じた書き込み先アドレスを設定する。具体的には、ストア対象アドレス設定部104は、ストア命令の発行回数に応じて設定する書き込み先アドレスとして、試験領域21における異なる位置を設定する。このように、試験領域21におけるロード対象位置を変更することで、各ロード対象位置に応じて異なるストア命令のストア用データを読み出すことができる。
また、このように設定される複数の書き込み先アドレスのうち、連続する2つの書き込み先アドレスにおいて、後続する書き込み先アドレスの一部は、先行する(本実施形態では直前の)ストア命令と重複する。すなわち、ストア対象アドレス設定部104は、メモリ20における、複数のストア命令のそれぞれのストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定する。これにより、正しい順序で転送された連続する複数のストア用データ間においては、後続するストア命令のストア用データが、先行するストア命令のストア用データの一部を上書きする形となり、先行するストア命令のストア用データの一部が残る。
本情報処理装置1において、ストア対象アドレス設定部104は、ストア命令が発行される度に所定サイズ(本情報処理装置1においては1byte)分インクリメントしたアドレスをストア対象アドレスとして設定する。これにより、ストア命令毎に、試験領域21におけるストア位置、すなわち、ロード対象位置を変更している。
試験領域21における試験対象キャッシュラインの先頭アドレスをAとする。ストア対象アドレス設定部104は、後述するストア命令実行部106が実行する複数のストア命令のうちn回目のストア命令の実行において、このn回目のストア命令の書き込み先アドレスをA+n-1(単位;byte)とする。
例えば、ストア対象アドレス設定部104は、初回(n=1)に発行するストア命令については、ストア対象アドレスとしてアドレスAを設定する。アドレスAは、例えば、“0xf0000000”である。その後、2回目に発行するストア命令(n=2)について、ストア対象アドレス設定部104は、ストア対象アドレスとしてアドレスA+1を設定する。アドレスAが、例えば“0xf0000000”である場合には、アドレスA+1は、“0xf0000001”である。
ストア対象アドレス設定部104によって設定されたストア対象アドレスは、メモリ20に試験条件情報22として記憶される。図2に例示する試験条件情報22においては、ストア対象アドレスが対象アドレスとして示されている。
ストアデータ生成部103は、ストア命令によりメモリ20の試験領域21にストアするストア用データ(試験データ)を作成する。
ストアデータ生成部103は、ストア命令実行部106が実行する複数のストア命令について、連続して発行されるストア命令のストア用データが互いに相違するように、シーケンシャルに変化する複数種類のストア用データを作成する。本情報処理装置1においては、ストアデータ生成部103は、ストア対象アドレスに応じて昇順に変化させるように値を順次インクリメントすることで、値が連続する複数種類のストア用データを作成する。ストアデータ生成部103は、ストア発行回数設定部102が設定したストア発行回数と同数のストア用データを生成する。
ここで、プロセッサ10が一度のストアにおいてメモリ20にアクセスする際のデータサイズ(単位サイズ)であるストア命令書き込みサイズをmとする。ストア命令書き込みサイズmは、プロセッサ10がサポートする命令により異なる。
ストアデータ生成部103は、ストア命令実行部106が実行する複数のストア命令のうちn回目のストア命令の実行において、1byteデータであるn−1を、m回、繰り返し並べることで構成したmバイトのデータをストア用データとして設定する。すなわち、ストアデータ生成部103は、n−1の数値を示すデータをm回繰り返し並べることによりストア用データを作成する。
ストアデータ生成部103は、ストア命令書き込みサイズに応じたデータ長を有するストア用データを作成する。また、同一のストア命令書き込みサイズについて作成される複数のストア用データのデータ長は等しい。
ストアデータ生成部103によって作成されたストア用データは、メモリ20に試験条件情報22として記憶される。
ストアデータ生成部103は、複数種類のストア命令書き込みサイズ毎にストア用データを作成する。
図2においては、ストア命令書き込みサイズ(m)が2byte,4byte,8byteおよび256byteのそれぞれに対応するストア用データが示されている。
例えば、この図2において、ストア命令書き込みサイズが2byte(m=2)のストア用データにおいては、1回目に発行されるストア命令(n=1)については、1byteの“00(1-1)”を2回並べて構成した2byteのデータ“0000”が示されている。
また、その2回目に発行されるストア命令(n=2)については、1byteの“01(=2-1)”を2回並べて構成した2byteのデータ“0101”が示されている。
ストアデータ生成部103は、複数種類のストア命令書き込みサイズ毎にストア用データを作成し、後述する試験実行部105は、これらのストア命令書き込みサイズ毎に作成されたストア用データを用いて、それぞれメモリ順序性試験を行なう。
図2に例示する試験条件情報22は、ストア対象アドレス設定部104によって設定されたストア対象アドレスと、ストアデータ生成部103によって生成されたストア用データとが関連付けられている。
試験実行部105は、試験条件設定部101によって設定された試験条件に従って、試験領域21のストア対象アドレスに対してストア用データ(試験データ)をストアさせることで、同一アドレスに対する複数のストア命令の実行試験を行なう。
試験実行部105はストア命令実行部106としての機能を備える。ストア命令実行部106は、試験条件情報22を参照して、ストア対象アドレス設定部104が設定したストア対象アドレスに対して、当該ストア対象アドレスに対応するストア用データをストアさせるストア命令を実行する。
以下、ストア命令実行部106が実行するストア命令として、ストア対象アドレスYにストア用データXを書き込むストア命令を、“store X, Y”のフォーマットで示す。
そして、試験実行部105は、上述の如き試験領域21に試験データをストアさせるストア命令を、ストア発行回数設定部102によって設定された回数(S回)だけ実行する。
試験結果確認部107は、試験実行部105による試験領域21への実行試験の結果確認を行なう。
試験結果確認部107は、ロード命令実行部108および異常ケース判定部109としての機能を備える。試験結果確認部107は、メモリ20から読み出したデータを期待値と比較することでストア命令実行部106により実行された複数のストア命令の順序を確認する確認部として機能する。
ロード命令実行部108は、ロード命令を実行して、ストア命令実行部106によって試験領域21にストアされたデータをロードする。ロード命令実行部108は、試験条件情報22を参照して、対象アドレスA〜A+255のそれぞれからデータをロードする。ロード命令実行部108は、試験領域21からロードしたデータをメモリ20の試験領域21および試験条件情報22が格納された領域のいずれとも異なる他の記憶領域に記憶させてもよい。
異常ケース判定部109は、ロード命令実行部108によってロードされた、対象アドレスA〜A+255のデータを期待値と比較することで、異常動作である順序追い越し動作の発生と、順序追い越しが発生したストア命令の特定とを行なう。
異常ケース判定部109は、アドレスA+nからロードしたデータが(n−1)でない場合に、n回目のストア命令が順序追い越し動作をしたと判定する。
また、試験結果確認部107は、異常ケース判定部109による判定の結果を出力する機能を備える。例えば、試験結果確認部107は、異常ケース判定部109による判定の結果、異常を判定した場合には、ストア命令において追い越しが発生した旨を示すエラー報告と、特定した追い越しが発生したストア命令とをモニタ14a(図9参照)に出力する。これにより、本情報処理装置1の利用者は、ストア命令の実行順序を検証することができる。
図3〜図6は、それぞれ実施形態の一例としての情報処理装置1におけるメモリ順序性試験の結果を説明するための図である。
これらの図3〜図6において、それぞれ符号P1はストア命令実行部106により実行されるストア命令の遷移を示し、符号P2は試験領域21のアドレスA〜A+5の値の遷移を示す。
図3に示す例においては、メモリ順序性試験の結果、複数のストア命令が正常に実行された正常ケースを示す。
ストア命令実行部106は、符号P1に示すように、ストア対象アドレスAにストア用データ“0x0000”を書き込むストア命令(n=1),ストア対象アドレスA+1にストア用データ“0x0101”を書き込むストア命令(n=2),ストア対象アドレスA+2にストア用データ“0x0202”を書き込むストア命令(n=3), ストア対象アドレスA+3にストア用データ“0x0303”を書き込むストア命令(n=4),ストア対象アドレスA+4にストア用データ“0x0404”を書き込むストア命令(n=5)を、順次実行する。
これらのストア命令が正常に実行され、順序の入れ替えが発生しなかった場合には、符号P2に示すように、ストア命令の実行順序1〜5(n=1〜5)に対応する試験領域21の各アドレスA〜A+4には、ストア命令の実行順序nに応じてそれぞれn−1の値が書き込まれる。これにより、後続するストア命令のストア用データが、先行するストア命令のストア用データの一部を上書きする形となり、先行するストア命令のストア用データの一部が残る。すなわち、試験領域21のアドレスA,A+1,A+2,A+3,A+4からは、00,01,02,03,04がそれぞれ読み出される。
図4に示す例においては、メモリ順序性試験の結果、複数のストア命令のうち1のストア命令が1つ先のストア命令を追い越して実行された異常ケース(1命令追い越し)を示す。
この図4に示す例においては、n=4のストア命令がn=3のストア命令を追い越して先に実行されることで、転送順序逆転が発生している。
このように、ストア命令の順序追い越しが発生した場合には、試験領域21のアドレスA,A+1,A+2,A+3,A+4のうち、順序追い越しを行なったストア命令のストア先アドレスには、n−1とは異なる値が書き込まれる。そして、ストア命令の順序追い越しが発生した場合には、先行するストア命令のストア用データが後続するストア命令のストア用データを上書きする形となり、本来であれば残るはずの後続するストア命令のストア用データの一部が残らない事態が生じる。図4に示す例においては、n=4のストア命令が順序追い越しを行なったので、ストア先アドレスA+3には3(=03)ではなく2(=02)が格納されている。
異常ケース判定部109は、このように、ストア先アドレスA+3のデータが3(=03)でないことを検知することで、n=4のストア命令が順序追い越しをしたと判定する。
図5に示す例においては、メモリ順序性試験の結果、複数のストア命令のうち1のストア命令が1つ先のストア命令と2つ先のストア命令との2つのストア命令を追い越して実行された異常ケース(2命令追い越し)を示す。
この図5に示す例においては、n=4のストア命令がn=2およびn=3の各ストア命令をそれぞれ追い越して先に実行されることで、転送順序逆転が発生している。
このように、複数のストア命令を追い越すストア命令の順序追い越しが発生した場合においても、試験領域21のアドレスA,A+1,A+2,A+3,A+4のうち、順序追い越しを行なったストア命令のストア先アドレスには、n−1とは異なる値が書き込まれる。図5に示す例においては、n=4のストア命令が順序追い越しを行なったので、ストア先アドレスA+3には3(=03)ではなく2(=02)が格納されている。
異常ケース判定部109は、このように、ストア先アドレスA+3のデータが3(=03)でないことを検知することで、n=4のストア命令が順序追い越しをしたと判定する。
図6に示す例においては、メモリ順序性試験の結果、複数のストア命令のうち2のストア命令がそれぞれ1つ先のストア命令を追い越して実行された異常ケース(追い越し2回発生)を示す。
この図6に示す例においては、n=3のストア命令がn=2のストア命令を追い越すとともに、n=5のストア命令がn=4のストア命令を追い越して先に実行されることで、2つの転送順序逆転が発生している。
このように、複数のストア命令を追い越すストア命令の順序追い越しが複数発生した場合においても、試験領域21のアドレスA,A+1,A+2,A+3,A+4のうち、順序追い越しを行なったストア命令の各ストア先アドレスには、n−1とは異なる値が書き込まれる。そして、ストア命令の順序追い越しが発生した場合には、先行するストア命令のストア用データが後続するストア命令のストア用データを上書きする形となり、本来であれば残るはずの後続するストア命令のストア用データの一部が残らない事態が生じる。図6に示す例においては、n=3およびn=5の各ストア命令がそれぞれ順序追い越しを行なっている。これにより、ストア先アドレスA+2には2(=02)ではなく1(=01)が格納され、ストア先アドレスA+4には4(=04)ではなく3(=03)が格納されている。
異常ケース判定部109は、このように、ストア先アドレスA+2のデータが2(=02)でないことを検知することで、n=3のストア命令が順序追い越しをしたと判定するとともに、ストア先アドレスA+4のデータが4(04)でないことを検知することで、n=5のストア命令が順序追い越しをしたと判定する。
(B)動作
上述の如く構成された実施形態の一例としての情報処理装置1におけるメモリ順序性試験の処理を、図7に示すフローチャート(ステップA1〜A10)に従って説明する。
ステップA1において、ストア発行回数設定部102がストア発行回数を設定する。ストア発行回数設定部102は、キャッシュラインサイズSを取得し、ストア発行回数に設定する。
ステップA2において、ストアデータ生成部103がストア用データを生成する。ストアデータ生成部103は、n回目に実行されるストア命令に用いられるストア用データとして、1byteデータであるn−1を、m回、繰り返し並べることで構成したmバイトのデータをストア用データとして設定する。すなわち、ストアデータ生成部103は、1byteデータであるn−1をmbyte分並べたストア用データを設定する。
ステップA3において、ストア対象アドレス設定部104は、試験領域21の先頭アドレスをAとし、n回目のストア命令の書き込み先アドレスをA+n-1とする。
ステップA4において、ストア命令実行部106が、試験条件設定部101(ストア発行回数設定部102,ストアデータ生成部103,ストア対象アドレス設定部104)が設定した試験条件に従って、試験領域21の同一アドレスに対する複数のストア命令の実行試験を行なう。すなわち、ストア命令実行部106が、試験条件情報22を参照して、ストア対象アドレス設定部104が設定したストア対象アドレスに対して、当該ストア対象アドレスに対応するストア用データをストアさせるストア命令を、S回、実行する。
ステップA5において、異常ケース判定部109が、nに0を設定する(n=0)。
ステップA6において、異常ケース判定部109は、nがS未満(n<S)であるかを確認する。確認の結果、nがS未満である場合には(ステップA6のYESルート参照)、ステップA7において、ロード命令実行部108が試験領域21のアドレスA+nのデータをロードする。
ステップA8において、異常ケース判定部109は、アドレスA+nのデータがn−1と一致するかを確認する。
確認の結果、アドレスA+nのデータがn−1と一致する場合には(ステップA8のYESルート参照)、ステップA10に移行する。ステップA10において、nをインクリメント(n=n+1)した後に、ステップA6に戻る。
また、ステップA8における確認の結果、アドレスA+nのデータがn−1と一致しない場合には(ステップA8のNOルート参照)、ステップA9に移行する。
ステップA9において、異常ケース判定部109は、n回目のストア命令が順序追い越しを行なったストア命令と判定する。試験結果確認部107は、n回目のストア命令が順序追い越しを行なった旨を示すエラー報告を出力する。その後、ステップA10に移行する。
また、ステップA6における確認の結果、nがS以上である場合には(ステップA6のNOルート参照)、メモリ順序性試験処理を終了する。
次に、実施形態の一例としての情報処理装置1の試験結果確認部107の処理を、図8に示すフローチャート(ステップB1〜B6)に従って説明する。
ステップB1において、異常ケース判定部109は、nに0を設定(n=0)して初期化を行なう。
ステップB2において、異常ケース判定部109は、nがキャッシュラインサイズS未満であるか確認する。本実施例においては、異常ケース判定部109は、nが256未満であるかを確認する。nが256未満である場合には(ステップB2のYESルート参照)、ステップB3に移行する。
ステップB3において、ロード命令実行部108は、試験領域21のアドレスA+nのデータを1byte分ロードする。
ステップB4において、異常ケース判定部109は、アドレスA+nからロードしたデータがn−1と一致(ロードデータ==n−1)するかを確認する。ロードデータがn−1と一致する場合には(ステップB4のYESルート参照)、ステップB5に移行する。ステップB5においては、nをインクリメントし(n=n+1)、ステップB2に戻る。
また、ステップB4における確認の結果、ロードデータがn−1と一致しない場合には(ステップB4のNOルート参照)、ステップB6に移行する。
ステップB6において、異常ケース判定部109は、n回目のストア命令が順序追い越し動作したと判定する。試験結果確認部107は、n回目のストア命令が順序追い越しを行なった旨を示すエラー報告を出力する。その後、ステップB5に移行する。
また、ステップB2における確認の結果、nが256以上である場合には(ステップB2のNOルート参照)、処理を終了する。
(C)効果
このように、実施形態の一例としての情報処理装置1においては、ストア対象アドレス設定部104が、ストア命令の発行回数に応じた書き込み先アドレスを設定する。すなわち、ストア命令が発行される度に1byte分インクリメントしたアドレスをストア対象アドレスとして設定する。また、ストアデータ生成部103が、ストア命令実行部106が実行する複数のストア命令について、連続して発行されるストア命令のストア用データが互いに相違するように、シーケンシャルに変化する複数種類のストア用データを作成する。すなわち、ストアデータ生成部103は、ストア対象アドレスに応じて昇順に変化させるように値を順次インクリメントすることで、値が連続する複数種類のストア用データを作成する。ストアデータ生成部103は、ストア発行回数設定部102が設定したストア発行回数と同数のストア用データを生成する。
各ストア命令のストア先アドレスは複数設定され、一部が先行するストア命令(本実施形態では直前のストア命令)と重複する。そのため、正しい順序で転送されたストア用データは先行するストア命令のストア用データを上書きすることで一部が残る。一方、ストア命令の順序追い越し動作が発生すると、追い越したストア用データは、本来であれば先行するストア命令のストア用データで上書きされる。このように、上記実施形態では、追い越しの痕跡がメモリに残るようになっており、ロードのタイミングによらず、容易に転送順序の逆転を検出できる。
また、上記実施形態では、ストア命令の発行回数、ストア用データ及びストア先アドレス間に相関関係を持っている。これにより、試験結果確認部107において、異常ケース判定部109が、アドレス(A+n)からロードしたデータが(n−1)であるかを確認することで、ストア命令の順序追い越し動作が発生したかを容易に判定することができる。そして、アドレス(A+n)からロードしたデータが(n−1)でない場合に、n回目のストア命令が順序追い越し動作をしたストア命令であると特定することができる。すなわち、ストア命令が順序追い越し動作をしたことの判定と、順序追い越し動作をしたストア命令の特定とを容易に実現することができる。
また、これらのメモリ順序性試験を1つのプロセッサ10で実施することができる。従って、単一プロセッサ10環境においても、試験対象プロセッサ10で実行された全てのストア命令の転送順序の妥当性確認が実施可能となる。
さらに、ストアデータ生成部103が、複数種類のストア命令書き込みサイズ毎にストア用データを作成し、試験実行部105は、これらのストア命令書き込みサイズ毎に作成されたストア用データを用いて、それぞれメモリ順序性試験を行なう。このように、複数種類のストア命令書き込みサイズ毎にメモリ順序性試験を行なうことで信頼性を向上させることができる。
(D)その他
図9は実施形態の一例としての情報処理装置1のハードウェア構成を例示する図である。
情報処理装置1は、例えば、プロセッサ10,メモリ12,記憶装置13,グラフィック処理装置14,入力インタフェース15,光学ドライブ装置16,機器接続インタフェース17およびネットワークインタフェース18を構成要素として有する。これらの構成要素11〜18は、バス19を介して相互に通信可能に構成される。
プロセッサ10は、本情報処理装置1全体を制御する。プロセッサ10は、マルチプロセッサであってもよい。プロセッサ11は、例えばCPU,MPU(Micro Processing Unit),DSP(Digital Signal Processor),ASIC(Application Specific Integrated Circuit),PLD(Programmable Logic Device),FPGA(Field Programmable Gate Array)のいずれか一つであってもよい。また、プロセッサ10は、CPU,MPU,DSP,ASIC,PLD,FPGAのうちの2種類以上の要素の組み合わせであってもよい。
メモリ20は、ROMおよびRAMを含む記憶メモリである。メモリ20のRAMは、情報処理装置1の主記憶装置として使用される。RAMには、プロセッサ10に実行させるOSやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAMには、プロセッサ10による処理に必要な各種データが格納される。アプリケーションプログラムには、情報処理装置1によって本実施形態のメモリ順序性試験機能を実現するためにプロセッサ10によって実行されるプログラム(メモリ順序性試験プログラム)が含まれてもよい。
記憶装置13は、ハードディスクドライブ(Hard Disk Drive:HDD)、SSD(Solid State Drive)、ストレージクラスメモリ(Storage Class Memory:SCM)等の記憶装置であって、種々のデータを格納するものである。記憶装置13は、情報処理装置1の補助記憶装置として使用される。記憶装置13には、OS,メモリ順序性試験プログラムおよび各種データが格納される。なお、補助記憶装置としては、SCMやフラッシュメモリ等の半導体記憶装置を使用することもできる。
グラフィック処理装置14には、モニタ14aが接続されている。グラフィック処理装置14は、プロセッサ10からの命令に従って、画像をモニタ14aの画面に表示させる。モニタ14aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等が挙げられる。
入力インタフェース15には、キーボード15aおよびマウス15bが接続されている。入力インタフェース15は、キーボード15aやマウス15bから送られてくる信号をプロセッサ11に送信する。なお、マウス15bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル,タブレット,タッチパッド,トラックボール等が挙げられる。
光学ドライブ装置16は、レーザ光等を利用して、光ディスク16aに記録されたデータの読み取りを行なう。光ディスク16aは、光の反射によって読み取り可能にデータを記録された可搬型の非一時的な記録媒体である。光ディスク16aには、DVD(Digital Versatile Disc),DVD−RAM,CD−ROM(Compact Disc Read Only Memory),CD−R(Recordable)/RW(ReWritable)等が挙げられる。
機器接続インタフェース17は、情報処理装置1に周辺機器を接続するための通信インタフェースである。例えば、機器接続インタフェース17には、メモリ装置17aやメモリリーダライタ17bを接続することができる。メモリ装置17aは、機器接続インタフェース17との通信機能を搭載した非一時的な記録媒体、例えばUSB(Universal Serial Bus)メモリである。メモリリーダライタ17bは、メモリカード17cへのデータの書き込み、またはメモリカード17cからのデータの読み出しを行なう。メモリカード17cは、カード型の非一時的な記録媒体である。
ネットワークインタフェース18は、図示しないネットワークに接続される。ネットワークインタフェース18は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行なう。
以上のようなハードウェア構成を有する情報処理装置1において、プロセッサ10がメモリ順序性試験プログラムを実行することで、上述した試験条件設定部101,試験実行部105および試験結果確認部107としての機能が実現される。
なお、これらの試験条件設定部101,試験実行部105および試験結果確認部107としての機能を実現するためのプログラム(メモリ順序性試験プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
試験条件設定部101,試験実行部105および試験結果確認部107としての機能を実現する際には、内部記憶装置(本実施形態ではメモリ20のRAMやROM)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態ではプロセッサ10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
例えば、上述した実施形態においては、情報処理装置1において1つのプロセッサ10を備えた例を示しているが、これに限定されるものではない。情報処理装置1が複数のプロセッサ10を備えてもよい。
図10は実施形態の情報処理装置1の変形例を例示する図である。この図10に示す例においては、情報処理装置1は、複数(本例では4つ)のプロセッサ10−1〜10−4を備える。以下、プロセッサ10−1をプロセッサ#1と表す場合がある。同様に、プロセッサ10−2をプロセッサ#2と、プロセッサ10−3をプロセッサ#3と、プロセッサ10−4をプロセッサ#4と、それぞれ表す場合がある。また、複数のプロセッサ10−1〜10−4を特に区別しない場合には、プロセッサ10という。
図10に示す各プロセッサ10−1〜10−4は、それぞれ図1に例示したプロセッサ10と同様の機能構成を有する。すなわち、プロセッサ10−1〜10−4は、それぞれメモリ順序性試験機能を備え、試験条件設定部101,試験実行部105および試験結果確認部107としての機能を実現する。なお、図10においては、便宜上、各プロセッサ10−1〜10−4の試験条件設定部101,試験実行部105および試験結果確認部107の図示を省略している。
また、図10に示す例において、メモリ20の記憶領域の一部は、試験領域21−1〜21−4として用いられる。さらに、メモリ20における試験領域21−1〜21−4と異なる他の記憶領域には、試験条件情報22−1〜22−4が記憶される。
試験領域21−1および試験条件情報22−1はプロセッサ10−1に対応して備えられ、このプロセッサ10−1によって用いられる。同様に、試験領域21−2および試験条件情報22−2はプロセッサ10−2に、試験領域21−3および試験条件情報22−3はプロセッサ10−3に、試験領域21−4および試験条件情報22−4はプロセッサ10−4に、それぞれ対応して備えられ、これらのプロセッサ10−2〜10−4によって用いられる。
なお、試験領域21−1〜21−4は、それぞれ上述した試験領域21と同様の構成および機能を実現するものであり、試験条件情報22−1〜22−4は、それぞれ上述した試験条件情報22と同様の構成および機能を実現する。
すなわち、各プロセッサ10−1〜10−4は、各プロセッサ10−1〜10−4に対応して用意された試験領域21−1〜21−4を用いて、それぞれ独立にメモリ順序性試験を実施する。
このように、情報処理装置1において複数のプロセッサ10が備えられている場合においても、各プロセッサ10において、試験領域21−1〜21−4を用いて、それぞれ独立にメモリ順序性試験を実施することができ、信頼性を向上させることができる。
上述した実施形態においては、キャッシュラインサイズSが256byteまでの例を示したが、これに限定されるものではない。
図11および図12は、それぞれ実施形態の変形例としての情報処理装置1におけるメモリ順序性試験の結果を説明するための図である。
図11において、符号P1はストア命令実行部106により実行されるストア命令の遷移を示し、符号P2は試験領域21のアドレスA〜A+11の値の遷移を示す。
図11に示す例においては、メモリ順序性試験の結果、複数のストア命令が正常に実行された正常ケースを示す。
図11に例示する変形例においては、ストアデータ生成部103は、上記実施形態のストア用データのデータ長を2倍に拡張したストア用データを生成する。
また、本変形例において、ストア対象アドレス設定部104は、ストア命令実行部106が実行する複数のストア命令のうちn回目のストア命令の実行において、このn回目のストア命令の書き込み先アドレスをA+2(n-1)(単位;byte)とする。
図11に示す例においては、ストア命令実行部106は、符号P1に示すように、ストア対象アドレスAを先頭とする2byteの領域にストア用データ“0x00000000”を書き込むストア命令(n=1),ストア対象アドレスA+2を先頭とする2byteの領域にストア用データ“0x01010101”を書き込むストア命令(n=2),ストア対象アドレスA+4を先頭とする2byteの領域にストア用データ“0x02020202”を書き込むストア命令(n=3), ストア対象アドレスA+6を先頭とする2byteの領域にストア用データ“0x03030303”を書き込むストア命令(n=4),ストア対象アドレスA+8を先頭とする2byteの領域にストア用データ“0x04040404”を書き込むストア命令(n=5)を、順次実行する。
これらのストア命令が正常に実行され、順序の入れ替えが発生しなかった場合には、符号P2に示すように、ストア命令の実行順序1〜5(n=1〜5)に対応する試験領域21の各アドレスA〜A+11には、ストア命令の実行順序nに応じてそれぞれn−1の値が書き込まれる。すなわち、試験領域21のアドレスA,A+1,A+2,A+3,A+4,A+5,A+6,A+7,A+8,A+9からは、00,00,01,01,02,02,03,03,04,04,がそれぞれ読み出される。すなわち、試験領域21のストア対象アドレスの先頭Aから、2byteずつの領域にそれぞれ同じストア用データが格納される。
すなわち、正常ケースにおいては、アドレスA+2(n-1)を先頭とする2byteのデータがストア回数(n−1)と一致する。
異常ケース判定部109は、ロード命令実行部108によってロードされた、対象アドレスのデータを期待値と比較することで、異常動作である順序追い越し動作の発生と、順序追い越しが発生したストア命令の特定とを行なう。
異常ケース判定部109は、アドレスA+2(n-1)からロードしたデータが(n−1)でない場合に、n回目のストア命令が順序追い越し動作をしたと判定する。
図12に示す例においては、メモリ順序性試験の結果、複数のストア命令のうち1のストア命令が1つ先のストア命令を追い越して実行された異常ケース(1命令追い越し)を示す。
この図12に示す例においては、n=4のストア命令がn=3のストア命令を追い越して先に実行されることで、転送順序逆転が発生している。
このように、ストア命令の順序追い越しが発生した場合には、試験領域21のアドレスA〜A+11のうち、順序追い越しを行なったストア命令のストア先アドレスには、n−1とは異なる値が書き込まれる。図12に示す例においては、n=4のストア命令が順序追い越しを行なったので、ストア先アドレスA+6,A+7には3(=03)ではなく2(=02)が格納されている。
異常ケース判定部109は、このように、ストア先アドレスA+6,A+7のデータが3(=03)でないことを検知することで、n=4のストア命令が順序追い越しをしたと判定する。
このように、ストアデータ生成部103が、上記実施形態のストア用データのデータ長を拡張したストア用データを生成した場合においても、同様に転送順序の妥当性を判断することができる。
また、上述した実施形態および変形例においては、ストアデータ生成部103が、ストア対象アドレスに応じて昇順に変化させるように値を順次インクリメントすることで、値が連続する複数種類のストア用データを作成しているが、これに限定されるものではない。例えば、ストアデータ生成部103は、ストア対象アドレスに応じて降順に変化させるように値を順次デクリメントすることで、値が連続する複数種類のストア用データを作成してもよく、種々変形して実施することができる。
さらに、上述した実施形態および変形例においては、ストアデータ生成部103が、連続して発行される複数のストア命令のストア用データが互いに相違するように、シーケンシャルに変化する複数種類のストア用データを作成しているが、これに限定されるものではない。ストアデータ生成部103が生成する複数のストア用データは、必ずしもシーケンシャルに変化するものでなくともよい。すなわち、ストアデータ生成部103は、連続して発行される複数のストア命令のストア用データが互いに相違するように複数種類のストア用データを作成してもよい。
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
(E)付記
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
プロセッサとメモリとを備える情報処理装置において、
複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成するストアデータ生成部と、
前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定するストア対象アドレス設定部と、
前記ストア対象アドレス設定部により設定された前記ストア先のアドレスに対して、前記ストアデータ生成部によって生成された前記ストア用データを書き込ませるストア命令を実行する、ストア命令実行部と、
前記メモリから読み出したデータを期待値と比較することで前記ストア命令実行部により実行された複数のストア命令の順序を確認する確認部と
を備えることを特徴とする、情報処理装置。
(付記2)
前記ストアデータ生成部は、前記ストア命令実行部により実行されるストア命令の実行回数に応じて前記ストア用データを生成する
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記ストアデータ生成部は、前記ストア命令実行部が実行する複数のストア命令のうちn回目のストア命令の実行において、前記ストア用データとして、n−1の数値を示すデータをm回繰り返し並べることにより作成する
ことを特徴とする、付記2記載の情報処理装置。
(付記4)
前記ストア対象アドレス設定部が、前記ストア命令実行部により実行されるストア命令の実行回数に応じて前記ストア用データのストア先のアドレスを設定する
ことを特徴とする、付記1〜3のいずれか1項に記載の情報処理装置。
(付記5)
前記ストア対象アドレス設定部は、ストア命令が発行される毎に所定サイズ分インクリメントしたアドレスを前記ストア用データのストア先のアドレスとして設定する
ことを特徴とする、付記4記載の情報処理装置。
(付記6)
前記確認部が、前記メモリからロードしたデータをストア命令の実行回数と比較することで、異常の発生および異常の原因であるストア命令の特定を行なう
ことを特徴とする、付記1〜5のいずれか1項に記載の情報処理装置。
(付記7)
プロセッサとメモリとを備える情報処理装置において、
前記プロセッサに、
複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成し、
前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他の前記ストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定し、
設定された前記ストア先のアドレスに対して、生成された前記ストア用データを書き込ませるストア命令を実行し、
前記メモリから読み出したデータを期待値と比較することで実行された複数のストア命令の順序を確認する
処理を実行させる、試験プログラム。
(付記8)
実行されるストア命令の実行回数に応じて前記ストア用データを生成する
処理を、前記プロセッサに実行させる、付記7記載の試験プログラム。
(付記9)
実行する複数のストア命令のうちn回目のストア命令の実行において、前記ストア用データとして、n−1の数値を示すデータをm回繰り返し並べることにより作成する
処理を、前記プロセッサに実行させる、付記8記載の試験プログラム。
(付記10)
実行されるストア命令の実行回数に応じて前記ストア用データのストア先のアドレスを設定する
処理を、前記プロセッサに実行させる、付記7〜9のいずれか1項に記載の試験プログラム。
(付記11)
前記ストア命令が発行される毎に所定サイズ分インクリメントしたアドレスを前記ストア用データのストア先のアドレスとして設定する
処理を、前記プロセッサに実行させる、付記10記載の試験プログラム。
(付記12)
前記メモリからロードしたデータをストア命令の実行回数と比較することで、異常の発生および異常の原因であるストア命令の特定を行なう
処理を、前記プロセッサに実行させる、付記7〜11のいずれか1項に記載の試験プログラム。
(付記13)
プロセッサとメモリとを備える情報処理装置において、
複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成する処理と、
前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定する処理と、
設定された前記ストア先のアドレスに対して、生成された前記ストア用データを書き込ませるストア命令を実行する処理と、
前記メモリから読み出したデータを期待値と比較することで実行された複数のストア命令の順序を確認する処理とを備える、試験方法。
(付記14)
実行されるストア命令の実行回数に応じて前記ストア用データを生成する処理を備える、付記13記載の試験方法。
(付記15)
実行する複数のストア命令のうちn回目のストア命令の実行において、前記ストア用データとして、n−1の数値を示すデータをm回繰り返し並べることにより作成する処理を備える、付記14記載の試験方法。
(付記16)
実行されるストア命令の実行回数に応じて前記ストア用データのストア先のアドレスを設定する処理を備える、付記13〜15のいずれか1項に記載の試験方法。
(付記17)
前記ストア命令が発行される毎に所定サイズ分インクリメントしたアドレスを前記ストア用データのストア先のアドレスとして設定する処理を備える、付記16記載の試験方法。
(付記18)
前記メモリからロードしたデータをストア命令の実行回数と比較することで、異常の発生および異常の原因であるストア命令の特定を行なう処理を備える、付記13〜17のいずれか1項に記載の試験方法。
1 情報処理装置
2 メモリバス
10 プロセッサ
12 RAM
13 HDD
14 グラフィック処理装置
14a モニタ
15 入力インタフェース
15a キーボード
15b マウス
16 光学ドライブ装置
16a 光ディスク
17 機器接続インタフェース
17a メモリ装置
17b メモリリーダライタ
17c メモリカード
18 ネットワークインタフェース
18a ネットワーク
19 バス
20 メモリ
21 試験領域
22 試験条件情報
101 試験条件設定部
102 ストア発行回数設定部
103 ストアデータ生成部
104 ストア対象アドレス設定部
105 試験実行部
106 ストア命令実行部
107 試験結果確認部
108 ロード命令実行部
109 異常ケース判定部

Claims (8)

  1. プロセッサとメモリとを備える情報処理装置において、
    複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成するストアデータ生成部と、
    前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定するストア対象アドレス設定部と、
    前記ストア対象アドレス設定部により設定された前記ストア先のアドレスに対して、前記ストアデータ生成部によって生成された前記ストア用データを書き込ませるストア命令を実行する、ストア命令実行部と、
    前記メモリから読み出したデータを期待値と比較することで前記ストア命令実行部により実行された複数のストア命令の順序を確認する確認部と
    を備えることを特徴とする、情報処理装置。
  2. 前記ストアデータ生成部は、前記ストア命令実行部により実行されるストア命令の実行回数に応じて前記ストア用データを生成する
    ことを特徴とする、請求項1記載の情報処理装置。
  3. 前記ストアデータ生成部は、前記ストア命令実行部が実行する複数のストア命令のうちn回目のストア命令の実行において、前記ストア用データとして、n−1の数値を示すデータをm回繰り返し並べることにより作成する
    ことを特徴とする、請求項2記載の情報処理装置。
  4. 前記ストア対象アドレス設定部が、前記ストア命令実行部により実行されるストア命令の実行回数に応じて前記ストア用データのストア先のアドレスを設定する
    ことを特徴とする、請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記ストア対象アドレス設定部は、ストア命令が発行される毎に所定サイズ分インクリメントしたアドレスを前記ストア用データのストア先のアドレスとして設定する
    ことを特徴とする、請求項4記載の情報処理装置。
  6. 前記確認部が、前記メモリからロードしたデータをストア命令の実行回数と比較することで、異常の発生および異常の原因であるストア命令の特定を行なう
    ことを特徴とする、請求項1〜5のいずれか1項に記載の情報処理装置。
  7. プロセッサとメモリとを備える情報処理装置において、
    前記プロセッサに、
    複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成し、
    前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定し、
    設定された前記ストア先のアドレスに対して、生成された前記ストア用データを書き込ませるストア命令を実行し、
    前記メモリから読み出したデータを期待値と比較することで実行された複数のストア命令の順序を確認する
    処理を実行させる、試験プログラム。
  8. プロセッサとメモリとを備える情報処理装置において、
    複数のストア命令によって前記メモリにストアされるストア用データとして、互いに相違する複数種類のストア用データを作成する処理と、
    前記メモリにおける、複数のストア命令のそれぞれの前記ストア用データのストア先として、他のストア命令に対して範囲が異なり、一部が先行するストア命令のストア先のアドレスと重複する複数のアドレスを設定する処理と、
    設定された前記ストア先のアドレスに対して、生成された前記ストア用データを書き込ませるストア命令を実行する処理と、
    前記メモリから読み出したデータを期待値と比較することで実行された複数のストア命令の順序を確認する
    処理とを備える、試験方法。
JP2020042703A 2020-03-12 2020-03-12 情報処理装置,試験プログラムおよび試験方法 Active JP7497582B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020042703A JP7497582B2 (ja) 2020-03-12 2020-03-12 情報処理装置,試験プログラムおよび試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020042703A JP7497582B2 (ja) 2020-03-12 2020-03-12 情報処理装置,試験プログラムおよび試験方法

Publications (2)

Publication Number Publication Date
JP2021144468A true JP2021144468A (ja) 2021-09-24
JP7497582B2 JP7497582B2 (ja) 2024-06-11

Family

ID=77766697

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020042703A Active JP7497582B2 (ja) 2020-03-12 2020-03-12 情報処理装置,試験プログラムおよび試験方法

Country Status (1)

Country Link
JP (1) JP7497582B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4461934B2 (ja) 2004-07-13 2010-05-12 富士通株式会社 キャッシュメモリ試験システム、試験方法、試験プログラム
US10303477B2 (en) 2015-06-26 2019-05-28 Intel Corporation Persistent commit processors, methods, systems, and instructions
JP7102963B2 (ja) 2018-06-15 2022-07-20 富士通株式会社 演算処理装置、及び制御方法

Also Published As

Publication number Publication date
JP7497582B2 (ja) 2024-06-11

Similar Documents

Publication Publication Date Title
TW413755B (en) Method and apparatus for automatically correcting errors detected in a memory subsystem
US20170031851A1 (en) Interrupted write memory operation in a serial interface memory with a portion of a memory
US20160092118A1 (en) Memory write management in a computer system
JP2010501915A (ja) メモリ用モジュールコマンド構造およびメモリシステム
US20160092123A1 (en) Memory write management in a computer system
US8566689B2 (en) Data integrity units in nonvolatile memory
JPH06508704A (ja) 非同期パイプラインにおける条件検出
US9213486B2 (en) Writing new data of a first block size to a second block size using a write-write mode
JPWO2008053709A1 (ja) 半導体集積回路選別試験装置および方法
KR102384962B1 (ko) 반도체 메모리 장치
US9110796B2 (en) Apparatus and circuitry for memory-based collection and verification of data integrity information
JP2006252267A (ja) システム検証用回路
US9563500B2 (en) Storage integrity validator
JP7497582B2 (ja) 情報処理装置,試験プログラムおよび試験方法
JP2018022277A (ja) プログラマブルロジックデバイス、情報処理装置、ソフトエラー記録方法、及びソフトエラー記録プログラム
US9153345B2 (en) Error generating apparatus for solid state drive tester
TWI502350B (zh) 快閃記憶體的存取裝置及方法
JP6862951B2 (ja) メモリ制御装置、情報処理装置およびメモリ制御方法
JP6123931B1 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006227668A (ja) メモリモデルとプログラムと論理回路検証方法
US20180024749A1 (en) Information processing apparatus, non-transitory computer-readable recording medium having stored therein program, and method for processing information
JP6918267B2 (ja) ボトルネック検出装置及びボトルネック検出プログラム
JP5673197B2 (ja) 試験プログラムおよび試験方法
JPS604497B2 (ja) 記憶装置
JP5378876B2 (ja) 大容量記憶装置、リアサイン方法、プログラム及びディスクアレイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240131

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240131

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: 20240430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240513

R150 Certificate of patent or registration of utility model

Ref document number: 7497582

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150