JP2012043083A - 競合試験装置 - Google Patents

競合試験装置 Download PDF

Info

Publication number
JP2012043083A
JP2012043083A JP2010182152A JP2010182152A JP2012043083A JP 2012043083 A JP2012043083 A JP 2012043083A JP 2010182152 A JP2010182152 A JP 2010182152A JP 2010182152 A JP2010182152 A JP 2010182152A JP 2012043083 A JP2012043083 A JP 2012043083A
Authority
JP
Japan
Prior art keywords
program
test
storage unit
read
unit
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
JP2010182152A
Other languages
English (en)
Other versions
JP5505192B2 (ja
Inventor
Yasushi Asano
恭史 浅野
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 JP2010182152A priority Critical patent/JP5505192B2/ja
Priority to US13/208,506 priority patent/US8667233B2/en
Publication of JP2012043083A publication Critical patent/JP2012043083A/ja
Application granted granted Critical
Publication of JP5505192B2 publication Critical patent/JP5505192B2/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)

Abstract

【課題】本発明の一実施例では、擬似アクセス信号発生手段を設けることなく、確実にアクセス競合を発生させる競合試験装置を提供することを目的とする。
【解決手段】プログラムを記憶する記憶部と、該記憶部に記憶されたプログラムを読み出し、読み出した該プログラムを実行する第1および第2の演算部と、該記憶部の同一アドレス空間に同時になされた読み出し要求に対するプログラムの転送処理を調停し調停結果を出力する調停部とを有する演算装置のアクセス競合試験を行う競合試験装置は、該記憶部の奇数個のアドレス空間にそれぞれ該調停部の調停動作を試験する試験プログラムを記憶させ、該記憶部に記憶された複数の試験プログラムを所定の順序に従って該第1の演算部に読み出させ、該記憶部に記憶された複数の試験プログラムを該所定の順序と逆の順序に従って該第2の演算部に読み出させ、該調停部の調停結果を記録する。
【選択図】図1

Description

本発明は、アクセス競合発生時の調停動作を試験する競合試験装置に関する。
数値演算処理を実行する演算装置に対し、より複雑で高速な演算が求められている。演算処理高速化の要求に対応するため、演算装置は複数のCPU(Central Processing Unit)などの演算部を有する場合がある。演算装置は複数のCPUにより複数の演算を並列に処理することが出来る。
演算部が実行するプログラムは、メモリなどの記憶部に記憶される。複数の演算部は記憶部を共有する場合がある。複数の演算部が共通する記憶部の同一アドレス空間に記憶されたプログラムを同時に読み出そうとすると、アクセス競合が発生する。アクセス競合が発生した場合に、あらかじめ定められた規則に従ってアクセス順序を調停する回路を調停回路という。複数の演算部は調停回路を経由して記憶部にアクセスすることにより、競合発生時でもエラーになることなく、プログラムの実行を継続することが出来る。
調停回路があらかじめ定められた規則に従ってアクセス順序を調停しているかを試験するための装置として、競合試験装置がある。競合試験装置は擬似的に調停回路で競合を発生させ、アクセス競合発生時の調停回路の動作を評価する。
それぞれの演算部と記憶部との間の配線長には差が存在する場合がある。演算部から記憶部に伝播する信号の周期が短くなると、配線長の差による見かけ上のタイミングのずれは大きくなる。タイミングのずれが大きい場合、調停回路においてアクセス競合が発生するように各演算部から記憶部へのアクセスを制御するのが困難になる。
以下の特許文献には、アクセス競合を擬似的に発生させるための擬似アクセス信号発生手段を設ける技術が開示されている。擬似アクセス信号発生手段を設けることにより、確実にアクセス競合を発生させることが出来る。
特開2008−134807号公報
アクセス競合を擬似的に発生させるために擬似アクセス信号発生手段を設けることは、試験のために新たに装置を設計することになる。新たな装置の設計は演算装置開発工数の増大につながる。
本発明の一実施例では、擬似アクセス信号発生手段を設けることなく、確実にアクセス競合を発生させる競合試験装置を提供することを目的とする。
上記課題を解決するため、プログラムを記憶する記憶部と、該記憶部に記憶されたプログラムを読み出し、読み出した該プログラムを実行する第1および第2の演算部と、該記憶部の同一アドレス空間に同時になされた読み出し要求に対するプログラムの転送処理を調停し調停結果を出力する調停部とを有する演算装置のアクセス競合試験を行う競合試験装置は、該記憶部の奇数個のアドレス空間にそれぞれ該調停部の調停動作を試験する試験プログラムを記憶させる手段と、該記憶部に記憶された複数の試験プログラムを所定の順序に従って該第1の演算部に読み出させるとともに、該複数の試験プログラムを該所定の順序と逆の順序に従って該第2の演算部に読み出させる手段と、該調停部の調停結果を記録する手段とを有する。
実施形態によれば、擬似アクセス信号発生手段を設けることなく、確実にアクセス競合を発生させる競合試験装置を提供することが出来る。
競合試験装置および演算装置のブロック図である。 アクセス競合を発生させるアクセス競合試験プログラムのメモリマップ図である。 試験制御部によるアクセス競合試験の処理を示すフローチャート図である。 調停部のアクセス競合試験を実行するコンピュータのブロック図である。 2つのCPUにおけるアクセス競合の発生を説明するタイミングチャート図である。
以下、本実施の形態について説明する。なお、各実施形態における構成の組み合わせも本発明の実施形態に含まれる。
図1はアクセス競合試験を実行する競合試験装置1および競合試験対象となる演算装置2のブロック図である。競合試験装置1は演算装置2のアクセス競合試験を行う。競合試験装置1は演算装置2の演算処理動作を制御する制御部14、制御部14により実行されるプログラムを記憶する記憶部15を有する。
演算装置2はCPU4、CPU5、調停部6、メモリ8を有する。メモリ8はアドレス空間を奇数個のメモリブロックに分け、それぞれのメモリブロックに別個のプログラムを記憶させた記憶部の一例である。CPU4、5はメモリ8にプログラムの読み出し要求を行う演算部の一例である。調停部6は記憶部の同一アドレス空間を同時に指定する読み出し要求に対するプログラムの転送処理を調停する。
競合試験装置1はメモリ8の奇数個のアドレス空間にそれぞれ調停部6の調停動作を試験する試験プログラムを記憶させる。競合試験装置1はメモリ8に記憶された複数の試験プログラムを所定の順序に従ってCPU4に読み出し要求させる。競合試験装置1はメモリ8に記憶された複数の試験プログラムを上記所定の順序と逆の順序に従ってCPU5に読み出し要求させる。競合試験装置1はメモリ8の同一アドレス空間に対し同時になされた読み出し要求に対する試験プログラムの転送処理を調停部6に調停させる。競合試験装置1は調停部6の調停動作を記録する。前述の通りアドレス空間を奇数個に分けるのは、偶数個だとCPU4、CPU5が互いに逆順に読み出し要求を行っても、同一メモリブロックに同時にアクセスしないタイミングが生じるためである。アドレス空間を奇数個に分けることにより、CPU4、CPU5が互いに逆順に読み出し要求を行った場合に確実にアクセス競合を発生させることが出来る。アクセス競合の詳細については後述する。
競合試験装置1はCPU4、CPU5に対し、調停部6を経由してメモリ8にアクセスさせる。CPU4、CPU5はメモリ8に記憶されたプログラムを読み出し要求する。CPU4はキャッシュメモリ10を有する。CPU5はキャッシュメモリ11を有する。CPU4、5はメモリ8から読み出したプログラムをそれぞれのキャッシュメモリ10、11に一時記憶する。キャッシュメモリ10、11は読み出したプログラムを一時記憶する一時記憶部の一例である。CPU4、5はそれぞれのキャッシュメモリ10、11に一時記憶したプログラムを実行する。
CPU4、5は使用頻度の高いプログラムをキャッシュメモリ10、11から読み出すことにより、メモリ8へのアクセスを減らす。キャッシュメモリ10、11の容量値がメモリ8から複数回読み出そうとするプログラムサイズと等しいかそれ以上の場合、CPU4、5はキャッシュメモリ10、11に一時記憶したプログラムを実行する。CPU4、5が読み出そうとするプログラムがキャッシュメモリ10、11に一時記憶したプログラムと同一である場合、CPU4、5はメモリ8にプログラムを読みに行くことなくキャッシュメモリ10、11に一時記憶したプログラムを実行する。
CPU4、5がメモリ8から読み出そうとするプログラムサイズがキャッシュメモリ10、11の容量値を超えた場合、キャッシュメモリ10、11は実行しようとするプログラムを記憶することが出来ない。このときCPU4、5は、同一プログラムを複数回実行する場合であっても、実行の度にメモリ8に対し試験プログラムの読み出し要求をする。メモリ8はCPU4、5からの読み出し要求に応じて試験プログラムをバースト転送する。よって後述する通り、メモリ8に記憶させる試験プログラムの容量値をキャッシュメモリ10、11の容量値よりも大きく設定することにより、試験プログラムの読み出し命令ごとにバースト転送を発生させることが出来る。
調停部6はCPU4、5から読み出し要求された試験プログラムのバースト転送処理を調停する。CPU4、5から出力された読み出し要求が、メモリ8の同一メモリブロックを同時に指定した場合、アクセス競合が発生する。調停部6はアクセス競合が発生した場合、あらかじめ設定された調停処理を実行する。例えば調停部6はアクセス競合が発生した場合、CPU4からの読み出し要求を優先するように設定する。競合試験装置1は調停部6に対し、調停結果に応じた競合信号12を競合試験装置1へ出力させる。競合試験装置1は受信した競合信号12を記憶部15に記録する。例えば競合信号12は論理信号であり、アクセス競合が発生していない場合には論理値“1”であり、アクセス競合が発生した時に論理値“0”となる。競合試験装置1は調停部6の調停動作を記憶部15に記録する。調停動作とは、アクセス競合が発生した場合に、調停部6によって実行されるべき調停処理の実行手順である。調停動作はアクセス競合発生時における調停部6の処理としてあらかじめ組み込まれている。競合試験装置1はアクセス競合が発生したときの競合信号12の時間変化を記憶部15に記録することにより、調停部6でのアクセス競合発生タイミングを特定することが出来る。特定したアクセス競合発生タイミングにおける記憶部15に記録した調停部6の動作を解析することにより、調停部6が設計通りに調停動作を行っているかを確認することが出来る。
メモリ8はアクセス競合試験プログラム9、タイミング調整プログラム13を記憶する。アクセス競合試験プログラム9、タイミング調整プログラム13は競合試験装置1の記憶部15に記憶されている。競合試験装置1において、制御部14は記憶部15に記憶されているアクセス競合試験プログラム9、タイミング調整プログラム13をメモリ8に書き込む。
アクセス競合試験プログラム9は調停部6においてアクセス競合を発生させるためにCPU4、5に読み出させ、実行させるプログラムである。競合試験装置1はCPU4、5がアクセス競合試験プログラム9を読み出し要求するタイミングおよびアクセス競合試験プログラム9をCPU4、5が実行終了するタイミングを監視する。アクセス競合試験プログラム9の詳細は後述する。
タイミング調整プログラム13はCPU4およびCPU5がメモリ8からアクセス競合試験プログラム9を読み出すタイミングを調整するためのダミー演算プログラムである。競合試験装置1における制御部14は、CPU4またはCPU5にタイミング調整プログラム13を実行させることにより、タイミング調整を行う。制御部14は、CPU4がアクセス競合試験プログラム9を読み出す前に、タイミング調整プログラム13を実行させる。この結果、CPU4がアクセス競合試験プログラム9を読み出すタイミングは、CPU5がアクセス競合試験プログラム9を読み出すタイミングよりもタイミング調整プログラム13を実行する時間だけ遅くなる。具体的な実行タイミング調整手順は以下の通りである。
競合試験装置1において、制御部14はCPU4、5の動作状況を記憶部15に記録する。制御部14はCPU4、5がアクセス競合試験プログラム9を読み出し要求するタイミングおよび実行終了するタイミングをそれぞれ記憶部15に記録する。制御部14は記録したCPU4、5の実行開始タイミングおよび実行終了タイミングに基づいて、CPU4、5の実行タイミングのずれを計算する。
タイミング調整プログラム13は四則演算などの単純なダミー演算の繰り返し回数を外部から設定可能なプログラムである。競合試験装置1の制御部14は、計算したCPU4、5の実行タイミングのずれに基づいて、タイミング調整プログラム13における演算処理の実行回数を指定する。
以上の通り、アクセス競合プログラムの読み出し要求タイミングおよび実行終了タイミングの監視結果に基づいて、いずれか一方のCPUの読み出し要求タイミングをずらす。これにより、競合試験装置1はCPU4、5におけるプログラムの読み出し開始タイミングがずれた場合であっても、読み出し要求に対するアクセス競合を発生させることが出来る。
競合試験装置1の制御部14は、調停部6からアクセス競合が発生したことを示す競合信号12が出力されるまで、CPU4とCPU5とのアクセス競合試験プログラム9の読み出し要求タイミングをずらす。制御部14はアクセス競合が発生したことを示す競合信号12を受信するとアクセス競合試験を終了する。制御部14はアクセス競合試験終了後に、記憶部15に記録した調停動作の実行ログを確認することにより、調停部6があらかじめ設定した調停動作を実行したか否かをチェックすることが出来る。
以上の通り演算装置2を制御することにより、擬似アクセス信号発生手段を設けることなく、確実にアクセス競合を発生させる競合試験装置1を提供することが出来る。
図2はアクセス競合を発生させるアクセス競合試験プログラム9のメモリマップ図である。アクセス競合試験プログラム9は複数の試験プログラムを有する。前述の通りメモリ8は一定のアドレス空間を有する奇数個のメモリブロックに分割されている。メモリブロック20はメモリ8のアドレス17C0からアドレス17E0に対応する。メモリブロック21はメモリ8のアドレス17E0からアドレス1800に対応する。メモリブロック22はメモリ8のアドレス1800からアドレス1820に対応する。メモリブロック23はメモリ8のアドレス1820からアドレス1840に対応する。メモリブロック24はメモリ8のアドレス1840からアドレス1860に対応する。
各メモリブロックはCPU4およびCPU5により実行される演算プログラムをそれぞれ記憶する。本実施例において、アクセス競合試験プログラム9のうちCPU4が読み出し要求するプログラムは、CPU5が読み出し要求する順番と逆の順番となるように記憶されている。
本実施例においてCPU4は、メモリブロック20、21、22、23、24の順に演算プログラムを読み出す。一方、CPU5は、メモリブロック24、23、22、21、20の順に演算プログラムを読み出す。つまりCPU5の読み出し順序は、CPU4の読み出し順序の逆順になるように設定する。本実施例において1つのメモリブロックに記憶された演算プログラムは、他のメモリブロックに記憶された演算プログラムへジャンプするステップを有する。よって例えばCPU4がメモリブロック20に記憶された演算プログラムを読み出して実行すると、自動的にCPU4は、メモリブロック21に記憶された他の演算プログラムを読み出すこととなる。
各メモリブロックのサイズは各CPU4、5のキャッシュサイズよりも大きい。各メモリブロックのサイズは互いに同一であっても良い。各メモリブロックのサイズを各CPUのキャッシュサイズよりも大きくすることにより、CPU4、5がメモリブロックを読み出したときにキャッシュエラーが発生し、メモリ8から各CPU4、5へバースト転送処理が発生する。CPU4、5による読み出し動作の詳細を以下に示す。
CPU4は以下の通りアクセス競合試験プログラム9を実行する。CPU4はまず、メモリブロック20を読み出す。CPU4は読み出したメモリブロック20のMain0関数を実行する。CPU4はMain0関数に記述された演算プログラムを実行する。CPU4はMain0関数の最後の行にあるbra Main1を実行する。bra Main1はMain1関数を読み出せ、という命令である。CPU4はMain1関数が記述されているメモリブロック21を読み出す(ステップS1)。
CPU4はメモリブロック21についてもメモリブロック20と同様にMain1関数を実行する。CPU4はMain1関数に記述された演算プログラムを実行する。CPU4はMain1関数の最後の行にあるbra Main2を実行する。CPU4はMain2関数が記述されているメモリブロック22を読み出す(ステップS2)。CPU4はメモリブロック23、24についても同様に演算処理を実行する。CPU4はメモリブロック24に記述されているTest Endコマンドを実行すると、演算処理を終了する。
CPU5は以下の通りアクセス競合試験プログラム9を実行する。CPU5はまず、メモリブロック24を読み出す。CPU5は読み出したメモリブロック24のSub0関数を実行する。Sub0関数の最後の行にbra Sub1とあるので、CPU5は続いてSub1関数が記述されているメモリブロック23を読み出す(ステップS3)。
CPU5はメモリブロック23についてもメモリブロック24と同様にSub1関数を実行する。CPU5はSub1関数に記述された演算プログラムを実行する。CPU5はSub1関数の最後の行にあるbra Sub2を実行する。CPU5はSub2関数が記述されているメモリブロック22を読み出す(ステップS4)。CPU5はメモリブロック21、20についても同様に演算処理を実行する。CPU5はメモリブロック20に記述されているTest Endコマンドを実行すると、演算処理を終了する。
各メモリブロックで演算処理される関数の演算処理サイズが同一であり、CPU4とCPU5の処理能力が同一であれば、CPU4、5はメモリブロック20、21、22、23、24のうち、昇順でも降順でも中央に位置するメモリブロック22を同時に読み出す。
CPU4とCPU5の処理能力が同一でなくても、競合試験装置1はメモリブロック20、21、22、23、24のいずれかの読み出しにおいて、CPU4、5への読み出しを競合させることが出来る。アクセス競合試験プログラム9は奇数個のメモリブロックを有する。競合試験装置1はCPU5がアクセス競合試験プログラム9の読み出しを終了する前にCPU4がプログラムの読み出しを開始するようにタイミング調整する。メモリブロックの数が奇数個なので、CPU4の読み出し処理はメモリブロック20、21、22、23、24のいずれかの読み出しにおいて、CPU5の読み出し処理と競合する。
以上の通り奇数個のメモリブロックをCPU4と逆の順序でCPU5から読み出すことにより、確実にアクセス競合を発生させる競合試験装置を提供することが出来る。
図3は競合試験装置1によるアクセス競合試験の処理を示すフローチャート図である。競合試験装置1は演算装置2の記憶部8に対し、アクセス競合試験プログラム9およびタイミング調整プログラム13を書き込む(S10)。競合試験装置1は命令キャッシュ処理が有効になるようにCPU4、5のキャッシュを設定する(S11)。命令キャッシュ処理を有効にすることにより、各CPUから読み出すメモリブロックのサイズがキャッシュサイズを超えた場合に、バースト転送が発生する。
CPU4、5はそれぞれ各CPUを識別するためのCPUIDを記憶したレジスタ領域を有する。CPU4、5から出力される読み出し要求はレジスタ領域に記憶されたCPUIDを有する。競合試験装置1は読み出し要求があった場合に、読み出し要求からCPUIDを取得する。競合試験装置1は取得したCPUIDに基づいて、CPU4、5を判定する(S12)。競合試験開始前にCPUIDを取得することにより、CPU4、5の実行順序を記録することが出来る。
競合試験装置1は先に読み出し要求があったと判定したCPU4またはCPU5にタイミング調整プログラム13を実行させる(S13)。CPU4、5の処理能力が同じ場合などタイミング調整が不要な場合もあるため、タイミング調整プログラム13によるタイミング調整時間の初期値はゼロである。競合試験装置1はシステムクロックを参照し、アクセス競合試験プログラム9を読み出し要求した時のCPU4のクロックタイムST4およびCPU5のクロックタイムST5を保持する(S14)。システムクロックは例えばカウンタでカウントされる。競合試験装置1はカウンタのカウント値を参照する。クロックタイムST4、ST5を保持後、競合試験装置1は読み出し要求に応じて読み出されたアクセス競合試験プログラム9をCPU4およびCPU5に実行させる(S15)。アクセス競合試験プログラム9の実行中、競合試験装置1は調停部6から受信する競合信号12を記憶し続ける。CPU4およびCPU5は、アクセス競合試験プログラム9を実行後、競合試験装置1に対しアクセス競合試験プログラム9の実行終了を通知する。競合試験装置1はシステムクロックを基準とするアクセス競合試験プログラム9実行終了時のCPU4のクロックタイムED4およびCPU5のクロックタイムED5を保持する(S16)。
競合試験装置1はDE4、ED5を記憶した後、記憶した競合信号12を参照する(S23)。 記憶した競合信号12にアクセス競合を示す論理値を検出した場合(S24:YES)、競合試験装置1は調停部6においてアクセス競合が発生したと判断し、アクセス競合試験を終了する。記憶した競合信号12にアクセス競合を示す論理値を検出しなかった場合(S24:NO)、競合試験装置1はクロックタイムST4とクロックタイムST5との差分値の絶対値(ST5−ST4)を計算する(S25)。
競合試験装置1はCPU4がタイミング調整プログラム13を1回実行するのに要する時間Tを記憶している。競合試験装置1は差分値の絶対値(ST5−ST4)を時間Tで割ることにより、クロックタイムの差分値をタイミング調整プログラム13のループ回数Nに変換する(S26)。競合試験装置1は変換したループ回数N=(ST5−ST4)/Tをタイミング調整プログラム13のループ回数として設定する(S27)。競合試験装置1はST4とST5の大小関係に基づき、いずれのCPUにタイミング調整プログラム13を実行させるかを判定する。具体的にはNが負の数の場合、すなわちST4がST5よりも大きい場合はCPU5にタイミング調整プログラムを実行させる。Nが正の数の場合、すなわちST4がST5よりも小さい場合はCPU4にタイミング調整プログラムを実行させる。Nがゼロの場合、すなわちST4がST5に等しい場合はいずれのCPUにもタイミング調整プログラムを実行させない。競合試験装置1は判定結果を例えば判定フラグのフラグ値として記憶する。ループ回数設定後、競合試験装置1はステップS12のCPU判定に戻る。CPU判定後、競合試験装置1は判定フラグのフラグ値に基づいてCPU4、5のいずれかにタイミング調整プログラム13を実行させる(S13)。
以上の通り競合試験装置1は、CPU4、5におけるアクセス競合試験プログラム9の読み出し要求タイミングの差に基づいていずれか一方のCPUの読み出し要求タイミングをずらす。かかる構成により競合試験装置1は、CPU4、5の読み出し要求タイミングに差がある場合であっても、演算装置2に対し確実にアクセス競合を発生させることが出来る。
図4は調停部6のアクセス競合試験を実行するコンピュータ30のブロック図である。
コンピュータ30はエミュレータと呼ばれるアプリケーションを実行する。エミュレータはコンピュータ上で動作するアプリケーションの一種である。エミュレータは演算装置2の回路設計情報に基づいて、演算装置2をコンピュータ30のプログラム上で動作させることが出来る。コンピュータ30はエミュレータを用いることにより、演算装置2の設計段階において演算装置2のアクセス競合試験を実行することが出来る。
コンピュータ30はディスプレイ31、キーボード32、メモリ33、CPU34、HDD35、バス36を有する。
HDD35は、CPU34が実行するプログラムやプログラムの実行結果であるデータを記憶する記憶部の一例である。HDD35はエミュレータ37を記憶する。エミュレータ37はCPU34により実行される。CPU34による実行処理を高速化するため、エミュレータ37の一部をメモリ33に一時的に記憶させても良い。
エミュレータ37は演算装置2の設計情報である演算装置情報38と、競合試験装置1の設計情報である競合試験装置情報39を有する。演算装置情報38および競合試験装置情報39は例えばVerilog言語などのハードウェア記述言語で記述されている。HDD35における競合試験装置情報39は、アクセス競合試験プログラムを記憶していても良い。CPU34はエミュレータを実行することにより、アクセス競合試験プログラムを演算装置情報38の仮想的なメモリ領域に書き込む。CPU23は競合試験装置情報39に基づいてエミュレータを実行することにより、制御部14として動作する。CPU34は仮想的なメモリ領域に書き込んだアクセス競合試験プログラムを演算装置情報38に基づく仮想的な演算装置2に実行させる。
ディスプレイ31はエミュレータによるアクセス競合試験の結果を表示する表示装置の一例である。ディスプレイ31は演算装置情報38、競合試験装置情報39を可視化して表示する。
キーボード32はエミュレータによるアクセス競合試験の解析条件などをコンピュータ30に入力する入力装置の一例である。メモリ33はエミュレータや、CPU34が算出したアクセス競合試験結果を一時的に記憶する。メモリ33は競合試験装置1における記憶部15として動作する。
ディスプレイ31、キーボード32、メモリ33、CPU34、HDD35はバス36を介して互いに接続されている。
以上の通り、コンピュータ30上で演算装置情報38および競合試験装置情報39に基づき、アクセス競合試験プログラム9を実行することにより、設計段階で演算装置2のアクセス競合試験を仮想的に実行することが出来る。
処理内容を記述したエミュレータ37は、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、半導体メモリなどがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROM等の可搬型記憶媒体を用いる。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
図5は2つのCPU4およびCPU5における、アクセス競合の発生を説明するタイミングチャート図である。各タイミングチャートにおいて、タイミングチャート中の数字は各CPUが読み出すメモリブロックのアドレスである。メモリブロックのアドレスは16進数で表されている。
図5のAは、アクセス競合試験時においてCPU4、5がそれぞれメモリ8から読み出す、アクセス競合試験プログラム9のアドレスを表している。図5のBは、アクセス競合試験のアクセス競合発生時において、CPU4、5がそれぞれメモリ8から読み出すアクセス競合試験プログラム9の読み出し対象メモリブロックのアドレスが競合している様子を表している。
図5のAにおいて、時間波形CPU4は、CPU4がメモリ8から読み出すメモリブロックのアドレスを表す。CPU4はアドレス1000から読み出しを開始する。CPU4は32ビットずつアドレスを加算しながら次のメモリブロックを読み出す。
図5のAにおいて、時間波形CPU5は、CPU5がメモリ8から読み出すメモリブロックのアドレスを表す。CPU5はアドレス2000から読み出しを開始する。CPU5は32ビットずつアドレスを減算しながら次のメモリブロックを読み出す。
図5のBは、時刻Tにおいて、CPU4が読み出すメモリブロックとCPU5が読み出すメモリブロックとが競合している様子を示す。CPU4とCPU5は互いにアドレス1800を時刻Tにおいて読み出し要求している。
時刻Tより前の時間において、調停部6はアクセス競合が発生していないことを示す競合信号12を出力する。時刻Tにおいてアクセス競合が発生すると、調停部6はアクセス競合が発生したことを示す競合信号12を出力する。調停部6はアドレス競合が発生すると、あらかじめ決められた調停動作を行う。時刻Tを過ぎると、調停部6は再びアクセス競合が発生していないことを示す競合信号12を出力する。
以上の通り奇数個のメモリブロックをCPU4と逆の順序でCPU5から読み出すことにより、確実にアクセス競合を発生させる競合試験装置を提供することが出来る。
1 競合試験装置
2 演算装置
4、5、34 CPU
6 調停部
8 メモリ
9 アクセス競合試験プログラム
10、11 キャッシュメモリ
12 競合信号
13 タイミング調整プログラム
14 制御部
15 記憶部
20、21、22、23、24 メモリブロック
30 コンピュータ
31 ディスプレイ
32 キーボード
33 メモリ
35 HDD
36 バス
37 エミュレータ
38 演算装置情報
39 競合試験装置情報

Claims (6)

  1. プログラムを記憶する記憶部と、該記憶部に記憶されたプログラムを読み出し、読み出した該プログラムを実行する第1および第2の演算部と、該記憶部の同一アドレス空間に同時になされた読み出し要求に対するプログラムの転送処理を調停し調停結果を出力する調停部とを有する演算装置のアクセス競合試験を行う競合試験装置であって、
    該記憶部の奇数個のアドレス空間にそれぞれ該調停部の調停動作を試験する試験プログラムを記憶させる手段と、
    該記憶部に記憶された複数の試験プログラムを所定の順序に従って該第1の演算部に読み出させるとともに、該複数の試験プログラムを該所定の順序と逆の順序に従って該第2の演算部に読み出させる手段と、
    該調停部の調停結果を記録する手段と
    を有することを特徴とする競合試験装置。
  2. 該調停部は該記憶部の同一アドレス空間に同時に読み出し要求がされた場合に所定値の競合信号を出力し、
    該所定値の競合信号を検出するまで該第1の演算部と該第2の演算部との読み出し要求のタイミングをずらすことを特徴とする、請求項1に記載の競合試験装置。
  3. 該第1および第2の演算部における該試験プログラムの読み出し要求タイミングの差に基づいて該該第1および第2の演算部のうちいずれか一方の演算部による該試験プログラムの読み出しタイミングをずらす手段をさらに有することを特徴とする、請求項1に記載の競合試験装置。
  4. 該第1および第2の演算部は、該記憶部から読み出した該試験プログラムを一時記憶する一時記憶部をそれぞれ有し、
    該記憶部に記憶させるそれぞれの該試験プログラムの容量値は、該一時記憶部の容量値より大きいことを特徴とする、請求項1に記載の競合試験装置。
  5. プログラムを記憶する記憶部と、該記憶部に記憶されたプログラムを読み出し、読み出した該プログラムを実行する第1および第2の演算部と、該記憶部の同一アドレス空間に同時になされた読み出し要求に対するプログラムの転送処理を調停し調停結果を出力する調停部とを有する演算装置のアクセス競合試験を行う競合試験方法であって、
    該記憶部の奇数個のアドレス空間にそれぞれ該調停部の調停動作を試験する試験プログラムを記憶させ、
    該記憶部に記憶された複数の試験プログラムを所定の順序に従って該第1の演算部に読み出させ、
    該記憶部に記憶された複数の試験プログラムを該所定の順序と逆の順序に従って該第2の演算部に読み出させ、
    該調停部の調停結果を記録する
    ことを特徴とする競合試験方法。
  6. プログラムを記憶する記憶部と、該記憶部に記憶されたプログラムの読み出し、読み出した該プログラムを実行する第1および第2の演算部と、該記憶部の同一アドレス空間に同時になされた読み出し要求に対するプログラムの転送処理を調停し調停結果を出力する調停部とを有する演算装置のアクセス競合試験を行う競合試験プログラムであって、
    該記憶部の奇数個のアドレス空間にそれぞれ該調停部の調停動作を試験する試験プログラムを記憶させ、
    該記憶部に記憶された複数の試験プログラムを所定の順序に従って該第1の演算部に読み出させ、
    該記憶部に記憶された複数の試験プログラムを該所定の順序と逆の順序に従って該第2の演算部に読み出させ、
    該調停部の調停結果を記録する
    手順をコンピュータに実行させることを特徴とする競合試験プログラム。
JP2010182152A 2010-08-17 2010-08-17 競合試験装置 Active JP5505192B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010182152A JP5505192B2 (ja) 2010-08-17 2010-08-17 競合試験装置
US13/208,506 US8667233B2 (en) 2010-08-17 2011-08-12 Competition testing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010182152A JP5505192B2 (ja) 2010-08-17 2010-08-17 競合試験装置

Publications (2)

Publication Number Publication Date
JP2012043083A true JP2012043083A (ja) 2012-03-01
JP5505192B2 JP5505192B2 (ja) 2014-05-28

Family

ID=45899339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010182152A Active JP5505192B2 (ja) 2010-08-17 2010-08-17 競合試験装置

Country Status (2)

Country Link
US (1) US8667233B2 (ja)
JP (1) JP5505192B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077425A1 (ja) 2011-11-25 2013-05-30 住友化学株式会社 網膜組織及び網膜関連細胞の製造方法
JP2015041282A (ja) * 2013-08-22 2015-03-02 富士通株式会社 情報処理装置及び情報処理装置の試験方法
JP2018018130A (ja) * 2016-07-25 2018-02-01 富士通株式会社 情報処理装置、プログラム、および情報処理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149762A (ja) * 1992-11-10 1994-05-31 Hitachi Ltd 計算機システムの競合動作試験方式
JPH07306813A (ja) * 1994-05-16 1995-11-21 Fujitsu Ltd 入出力装置の試験装置
JPH0830481A (ja) * 1994-07-19 1996-02-02 Nec Commun Syst Ltd 競合動作試験方式
JPH1049397A (ja) * 1996-08-01 1998-02-20 Nec Corp 試験プログラム実行制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3280332B2 (ja) * 1998-07-10 2002-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーション ループに対するバージョニングを実行する方法及び装置、配列レンジ・チェックに関する情報をベーシック・ブロック内において収集する方法及び装置、配列レンジ・チェックに関する情報を変更する方法、配列レンジ・チェック最適化方法、配列レンジ・チェックのためのコードを生成する方法、不要配列レンジ・チェック除去方法及び装置、配列レンジ・チェックを選択する方法、配列レンジ・チェック変更方法、配列レンジ・チェック収集方法、及び配列レンジ・チェック取扱判断方法
JP4446373B2 (ja) * 2003-03-19 2010-04-07 パナソニック株式会社 プロセッサ、データ共有装置
JP5082407B2 (ja) 2006-11-28 2012-11-28 富士通株式会社 アクセス競合試験におけるアクセス競合発生システム
US8327066B2 (en) * 2008-09-30 2012-12-04 Samsung Electronics Co., Ltd. Method of managing a solid state drive, associated systems and implementations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06149762A (ja) * 1992-11-10 1994-05-31 Hitachi Ltd 計算機システムの競合動作試験方式
JPH07306813A (ja) * 1994-05-16 1995-11-21 Fujitsu Ltd 入出力装置の試験装置
JPH0830481A (ja) * 1994-07-19 1996-02-02 Nec Commun Syst Ltd 競合動作試験方式
JPH1049397A (ja) * 1996-08-01 1998-02-20 Nec Corp 試験プログラム実行制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013077425A1 (ja) 2011-11-25 2013-05-30 住友化学株式会社 網膜組織及び網膜関連細胞の製造方法
JP2015041282A (ja) * 2013-08-22 2015-03-02 富士通株式会社 情報処理装置及び情報処理装置の試験方法
JP2018018130A (ja) * 2016-07-25 2018-02-01 富士通株式会社 情報処理装置、プログラム、および情報処理方法

Also Published As

Publication number Publication date
US8667233B2 (en) 2014-03-04
US20120210101A1 (en) 2012-08-16
JP5505192B2 (ja) 2014-05-28

Similar Documents

Publication Publication Date Title
CN100592271C (zh) 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法
Rosenfeld et al. DRAMSim2: A cycle accurate memory system simulator
US8725485B2 (en) Simulation method and simulation apparatus
US7921317B2 (en) Method and apparatus for synchronizing central processing units in a multiprocessor apparatus
US9009368B2 (en) Interrupt latency performance counters
JP2018005902A (ja) メモリ装置へのアクセスを制御するための装置及びそのような装置内においてメンテナンス作業を行う方法
JP5505192B2 (ja) 競合試験装置
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
US11106478B2 (en) Simulation device, simulation method, and computer readable medium
JP2015069576A (ja) 情報処理装置および情報処理装置の制御方法
US7761280B2 (en) Data processing apparatus simulation by generating anticipated timing information for bus data transfers
JP4020849B2 (ja) シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法
WO2021037124A1 (zh) 一种任务处理的方法以及任务处理装置
US20230056423A1 (en) Processor core simulator including trace-based coherent cache driven memory traffic generator
US7979644B2 (en) System controller and cache control method
US11392406B1 (en) Alternative interrupt reporting channels for microcontroller access devices
US20140244232A1 (en) Simulation apparatus and simulation method
US20180024749A1 (en) Information processing apparatus, non-transitory computer-readable recording medium having stored therein program, and method for processing information
JP5888177B2 (ja) 演算処理装置及び演算処理装置の制御方法
JP6519343B2 (ja) データ処理装置
US20190391837A1 (en) Processing division device, simulator system and processing division method
JP2023127985A (ja) 情報処理装置、情報処理方法、及びプログラム
JP2023127986A (ja) 情報処理装置、情報処理方法及びプログラム
JP5282325B2 (ja) ポステッドライトバス制御装置
JP5559932B2 (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140131

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140303

R150 Certificate of patent or registration of utility model

Ref document number: 5505192

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150