JP2006133969A - 情報処理装置、起動エラー検出方法、及びプログラム - Google Patents
情報処理装置、起動エラー検出方法、及びプログラム Download PDFInfo
- Publication number
- JP2006133969A JP2006133969A JP2004320620A JP2004320620A JP2006133969A JP 2006133969 A JP2006133969 A JP 2006133969A JP 2004320620 A JP2004320620 A JP 2004320620A JP 2004320620 A JP2004320620 A JP 2004320620A JP 2006133969 A JP2006133969 A JP 2006133969A
- Authority
- JP
- Japan
- Prior art keywords
- register
- comparison
- setting
- stored
- error
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】 ソフトウェア開発の初期の段階で起動順序の設定間違いを発見することを可能にする。
【解決手段】 それぞれがレジスタを内蔵する複数の機能モジュール(6,7,9,10)を備えた情報処理装置において、各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値をレジスタ設定順序監視装置2内の記憶装置に格納し、レジスタ設定順序監視装置2は、バスアクセスを監視し、該バスアクセス中に含まれる各レジスタに対する設定順序情報を、記憶装置に格納されている期待値と比較し、この比較の結果、前記設定順序情報が前記期待値に一致しない場合、エラー通知信号をCPU1へ出力する。
【選択図】 図1
【解決手段】 それぞれがレジスタを内蔵する複数の機能モジュール(6,7,9,10)を備えた情報処理装置において、各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値をレジスタ設定順序監視装置2内の記憶装置に格納し、レジスタ設定順序監視装置2は、バスアクセスを監視し、該バスアクセス中に含まれる各レジスタに対する設定順序情報を、記憶装置に格納されている期待値と比較し、この比較の結果、前記設定順序情報が前記期待値に一致しない場合、エラー通知信号をCPU1へ出力する。
【選択図】 図1
Description
本発明は、情報処理装置、起動エラー検出方法、及びプログラムに関し、特に、それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置、該情報処理装置に適用される起動エラー検出方法、及び該起動エラー検出方法をコンピュータに実行させるためのプログラムに関する。
複数の機能モジュールを備えた情報処理装置において、該複数の機能モジュールを所定の順序で順に起動させる必要がある場合、従来、ソフトウェアエンジニアが各機能モジュールの仕様書を熟読した上でコーディングを行い、その後、実機テストの段階で不具合を発見するようにしていた(例えば、特許文献1)。
特開平10−143390号公報
しかしながら、上記従来の情報処理装置において、コーディングされた起動順序に間違いがある場合、各機能モジュールが正常に動作せず、この不具合の原因の発見に至るまでにかなりの時間を要する。特に、複数の機能モジュールの相互間での連係動作が存在するような場合、起動順序の設定間違いは一段と起こりやすく、不具合発見に更に多くの時間を要するという問題があった。
本発明はこのような問題点に鑑みてなされたものであって、ソフトウェア開発の初期の段階で起動順序の設定間違いを発見することを可能にした情報処理装置、起動エラー検出方法、及びプログラムを提供することを目的とする。
上記目的を達成するために、請求項1記載の発明によれば、それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置において、前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を格納する第1の格納手段と、バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記第1の格納手段に格納されている期待値と比較する第1の比較手段と、前記第1の比較手段による比較の結果、前記設定順序情報が前記期待値に一致しない場合、第1のエラー通知信号を出力する第1のエラー出力手段とを有することを特徴とする情報処理装置が提供される。
また、請求項4記載の発明によれば、前記情報処理装置が、前記各レジスタに対して前記設定を行う各タイミングの時間間隔の所望の下限値を格納する第2の格納手段と、前記各レジスタに対して前記設定を行う各タイミングの時間間隔を検出する検出手段と、前記検出手段によって検出された時間間隔を前記第2の格納手段に格納されている所望の下限値と比較する第2の比較手段と、前記第2の比較手段による比較の結果、前記時間間隔が前記所望の下限値よりも小さい場合、第2のエラー通知信号を出力する第2のエラー出力手段とを更に有することを特徴とする。
また、請求項8記載の発明によれば、それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置に適用される起動エラー検出方法において、前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を第1の記憶装置に格納する第1の格納ステップと、バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記第1の記憶装置に格納されている期待値と比較する第1の比較ステップと、前記第1の比較ステップによる比較の結果、前記設定順序情報が前記期待値に一致しない場合、第1のエラー通知信号を出力する第1のエラー出力ステップとを有することを特徴とする起動エラー検出方法が提供される。
さらに、上記起動エラー検出方法をコンピュータに実行させるためのプログラムが提供される。
本発明によれば、それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置において、前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を記憶装置に格納し、バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記記憶装置に格納されている期待値と比較し、この比較の結果、前記設定順序情報が前記期待値に一致しない場合、エラー通知信号を出力する。
これにより、ソフトウェア開発の初期の段階で起動順序の設定間違いを発見することが可能となる。
また、各レジスタに対して前記設定を行う各タイミングの時間間隔を監視し、この時間間隔が、該時間間隔の所望の下限値(記憶装置に予め格納)よりも小さい場合、エラー通知信号を出力する。
これによって、ソフトウェア開発の初期の段階で設定時間間隔の間違いを発見することが可能となる。
また、記憶装置に格納された前記期待値や所望の下限値を変更できるようにすることで、ハードウェア完成後に仕様間違いやプログラム上の都合によってどうしても設定順序や設定時間間隔を変えて動作させたい場合に対応することが可能となる。
また、レジスタをグループ分けすることで、同一グループ内だけで上記監視処理を実行することが可能となる。
また、記憶装置に前記設定が行われるべきレジスタを特定するためのレジスタ特定符号も格納する。これにより、設定時間間隔の対象となるレジスタを任意に選定することができ、設定時間間隔の設定の自由度を高めることができる。また、不要な設定時間間隔の監視を行わなくて済む。
以下、本発明を実施するための最良の形態について、図面を参照して説明する。
〔第1の実施の形態〕
図1は、本発明の第1の実施の形態に係る情報処理装置の構成を示すブロック図である。
図1は、本発明の第1の実施の形態に係る情報処理装置の構成を示すブロック図である。
図1において、バスマスタの1つであるCPU1が、システムバス5を介して、各機能モジュール6,7,9,10内に存在する起動レジスタに対してレジスタ設定を行う。DMAC(Direct Memory Access Controller)6,9は各々、システムバス5のスレーブI/Fを持ち、他のDMAC内部の起動レジスタにアクセスでき、またDMAC6,9に接続される機能モジュール内の起動レジスタにアクセスできるようになっている。図1において、DMAC6と受信制御ブロック7との間に示す矢印12およびDMAC9と送信制御ブロック10との間に示す矢印14は、外部デバイス8,11との間で行われるデータ転送の方向のみを表しており、前述のDMACと送受信制御ブロックとの間のレジスタアクセスのハンドシェイク方向を表す矢印は省略してある。
上記のCPU1、DMAC6,9、送受信制御ブロック10,7等が搭載されるチップ(図1に破線の枠で表示)の外部に接続された外部デバイス8で生成されたデータは、一旦、受信制御ブロック7で受信され、受信制御ブロック7にDMA専用バス12を介して接続されたDMAC6へ送られ、DMAC6は、このデータを後述のように外部のメモリ3へ書き込む。すなわち、DMAC6は、システムバス5上でマスタ動作して、スレーブであるメモリコントローラ4を経由してメモリ3へデータを転送する。こうしてメモリ3中に格納された外部デバイス8からの受信データは、DMAC9のマスタ動作によってメモリ3から読み出され、DMAバス14を介して送信制御ブロック10へ転送される。送信制御ブロック10は、受信したデータを外部デバイス11へ転送する。
こうしたデータの流れにおいて、データの取りこぼしが起きないようにするために、4つの機能モジュール(DMAC6,9、送受信制御ブロック10,7)それぞれの起動レジスタに正しい順序で設定を行い、転送を開始する必要がある。そのため、レジスタ設定順序監視装置2が、システムバス5のバスプロトコル、特にアドレスとアクセス方向(ライト/リード)を監視し、レジスタ設定順序の監視を行う。
なお、レジスタ設定順序のエラーが発生した場合、レジスタ設定順序監視装置2は、エラー信号を、ライン16を介してCPU1へ送信する。
図2は、上記のようなデータの送受信を実現するためのレジスタ設定シーケンスの一例を示す図である。
このレジスタ設定順序は一例であって、各機能モジュールの仕様や接続バスのプロトコルに応じて異なるレジスタ設定順序があり得るが、ここでは、図2に示すレジスタ設定順序のみが許される順序であるとする。
図2に示すレジスタ設定シーケンスにおいて縦軸は時間の推移を表しており、CPU1から右方向に延びる矢印が、矢印の到達先の機能モジュールへのレジスタ書き込みアクセスを意味している。したがって例えば、DMAC6のパラメータ設定30は、DMAC6の起動31以前に発生する事象ということになる。
各パラメータ設定30,32,34,36は、対応する機能モジュールの起動より以前に行われなければならず、起動後のパラメータ変更は許されない。
受信系の起動の順番は、最終的なターゲットであるメモリ3に近いDMAC6の起動31が最初で、次に受信制御ブロック7の起動33となる。この順序は、本実施の形態だけの制約であって、逆の順番もあり得るし、どちらが先でもよいという仕様も存在し得る。
また、DMAC6の起動31のタイミングから受信制御ブロック7の起動33のタイミングまでには、一定値以上の所定のサイクルギャップ(時間間隔)38が必要であるという場合もある。
一方、送信系の起動の順番は、最終的なターゲットである外部デバイス11に近い送信制御ブロック10の起動35が最初で、次にDMAC9の起動37となる。
受信系と送信系とを独立に動作させ、外部デバイス8から受信したデータ全てを外部デバイス11に確実に転送するためには、受信系の起動タイミングと送信系の起動タイミングとの間に一定の時間間隔を設ける必要がある。一般的な方法としては、受信系の転送終了割り込みを検出した後、送信系の起動を開始するということが考えられるが、本実施の形態では、割り込みをトリガにすることを行わず、受信系の起動タイミングから絶対時間経過後(受信系の転送終了前)に送信起動を行うように設定する。
以上のように設定されるレジスタアクセス順序に対する違反およびレジスタアクセス間ギャップに対する違反を検出するためには、レジスタ設定順序監視装置2内に、正しいレジスタアクセス順序を示す情報を格納した格納部を備える必要がある。本実施の形態では、この格納部を、ソフトウェアによる書き換え可能な期待値レジスタで構成している。正しいレジスタアクセス順序(期待値)は、この期待値レジスタに初期値として格納されており、基本的には初期値のまま使用される。
図3は、レジスタ設定順序監視装置2内に備えられた期待値レジスタの構成を示すとともに、該期待値レジスタに格納される初期値を示す図である。
期待値レジスタは、4つのレジスタORDER0〜ORDER3で構成され、各レジスタは、24ビットの「IOアドレス」フィールド、1ビットの「アクセス方向情報(リード/ライト)」フィールド、23ビットの「レジスタアクセス間ギャップサイクル数」フィールドの全48ビットで構成される。ORDER0〜ORDER3レジスタは、初期値で想定されるアクセス順序順に配列されている。
最初に起動すべきDMAC6の起動レジスタのIOアドレス値の初期値をORDER0レジスタの「IOアドレス」フィールドに、受信制御ブロック7の起動レジスタのIOアドレス値の初期値をORDER1レジスタの「IOアドレス」フィールドに、送信起動ブロック10の起動レジスタのIOアドレス値の初期値をORDER2レジスタの「IOアドレス」フィールドに、DMAC9の起動レジスタのIOアドレス値の初期値をORDER4レジスタの「IOアドレス」フィールドに格納する。またDMAC6の起動タイミングから受信制御ブロック7の起動タイミングまでの間に必要なサイクルギャップ(時間間隔)38の初期値をORDER0レジスタの「ギャップサイクル数」フィールドに、受信制御ブロック7の起動タイミングから送信制御ブロック10の起動タイミングまでの間に必要なサイクルギャップ39の初期値をORDER1レジスタの「ギャップサイクル数」フィールドに、また送信制御ブロック10の起動タイミングからDMAC9の起動タイミングまでの間に必要なサイクルギャップ40の初期値をORDER2レジスタの「ギャップサイクル数」フィールドに格納する。
レジスタ設定順序監視装置2は、期待値レジスタに格納されたレジスタアクセス順番どおりに実際のレジスタアクセスが行われないとアクセス順番エラー発生と判定し、また実際のレジスタアクセスのタイミングにおいて、期待値レジスタに格納されたギャップサイクル数以上の間隔が無ければレジスタアクセス間間隔エラー発生と判定して、エラー信号をCPU1へ送信する。
なお、図3に示すORDER0〜ORDER3レジスタにそれぞれ格納したレジスタアクセス順番情報は、データ転送の起動に関するものだけであり、図2に示す各機能モジュールのパラメータ設定に関する順番情報は、説明の簡素化のために図示を除外した。
次に、図3に示すような期待値レジスタを内蔵するレジスタ設定順序監視装置2の回路構成とその動作について説明する。
図4および図5は、レジスタ設定順序監視装置2の内部構成を示す図である。これらの図には主に、バスアドレスの比較とギャップサイクル計測の回路とを記載する。
図4および図5において、IOアドレスレジスタ100、アクセス方向情報レジスタ101、およびギャップサイクルレジスタ115は、図3に示す期待値レジスタを構成するものである。IOアドレスレジスタ100に格納されたaddress0は、図3のORDER0レジスタの「IOアドレス」フィールドに格納されたDMAC6の起動レジスタのIOアドレス値の初期値に対応し、address1は、ORDER1レジスタの「IOアドレス」フィールドに格納された受信制御ブロック7の起動レジスタのIOアドレス値の初期値に対応し、address2は、ORDER2レジスタの「IOアドレス」フィールドに格納された送信制御ブロック10の起動レジスタのIOアドレス値の初期値に対応し、address3は、ORDER3レジスタの「IOアドレス」フィールドに格納されたDMAC9の起動レジスタのIOアドレス値の初期値に対応する。
また、アクセス方向情報レジスタ101に格納されたw/r0は、図3のORDER0レジスタの「アクセス方向情報(W/R)」フィールドに格納されたアクセス方向情報の初期値(W)に対応し、w/r1は、ORDER1レジスタの「アクセス方向情報(W/R)」フィールドに格納されたアクセス方向情報の初期値(W)に対応し、w/r2は、ORDER2レジスタの「アクセス方向情報(W/R)」フィールドに格納されたアクセス方向情報の初期値(W)に対応し、w/r3は、ORDER3レジスタの「アクセス方向情報(W/R)」フィールドに格納されたアクセス方向情報の初期値(W)に対応する。
また、ギャップサイクルレジスタ115に格納されたgapcycle0は、図3のORDER0レジスタの「ギャップサイクル数」フィールドに格納されたサイクルギャップ38の初期値に対応し、gapcycle1は、ORDER1レジスタの「ギャップサイクル数」フィールドに格納されたサイクルギャップ39の初期値に対応し、gapcycle2は、ORDER2レジスタの「ギャップサイクル数」フィールドに格納されたサイクルギャップ40の初期値に対応する。
これらの期待値レジスタに格納された初期値は、本情報処理装置が正常に動作するためのレジスタ設定順序の情報となっている。
ここで、バスアクセスのアドレス情報(bus address)102およびアクセス方向情報(bus_access_dir)120が発生すると、このアドレス情報102が比較器(compare)103a〜103dへ入力されるとともに、アクセス方向情報120がEXOR論理素子121a〜121dへ入力される。また比較器103a〜103dには、IOアドレスレジスタ100からaddress0〜address3がそれぞれ入力され、EXOR論理素子121a〜121dには、アクセス方向情報レジスタ101からw/r0〜w/r3がそれぞれ入力されている。
比較器103a〜103dは、アドレス情報102とaddress0〜address3の1つとをそれぞれ比較し、EXOR論理素子121a〜121dは、アクセス方向情報120とw/r0〜w/r3の1つとをそれぞれ比較する。その結果に応じて、AND論理素子104a〜104d、OR論理素子111およびAND論理素子112を介して、acc_hit信号122が出力される。すなわち、上記の比較の結果、レジスタORDER0〜ORDER3に対応する4つの組み合わせ(比較器とEXOR論理素子)のうち少なくとも1つの組み合わせで、レジスタアドレスおよびレジスタアクセス方向が一致していると、バスアクセス状態(bus_access=1)である場合に、acc_hit信号122が「1」となる。
このacc_hit信号122がポインタ制御部(pointer control)105へ送られ、ポインタ制御部105は、現時点でのアクセス順番を指示するポインタ(ptr)114を、acc_hit信号122の入力ごとに更新する。このポインタ(ptr)114はデコーダ(decode)106においてデコードされ、ptr=0はdecode(ptr)(0)=4’b0001に、ptr=1はdecode(ptr)(1)=4’b0010に、ptr=2はdecode(ptr)(2)=4’b0100に、ptr=3はdecode(ptr)(3)=4’b1000にデコードされる。
このデコード後の信号decode(ptr)(0)〜decode(ptr)(3)とAND論理素子104a〜104dの出力信号とは、EXOR論理素子107a〜107dにそれぞれ入力される。EXOR論理素子107a〜107dの各出力信号は、OR論理素子108、およびacc_hit信号122が入力されるAND論理素子109を介して割り込み要因レジスタ110へ送られる。割り込み要因レジスタ110は、期待値通りのレジスタアクセスでない場合、err_order信号113を出力する(アサーション)。
図6は、レジスタ設定順序監視装置2の各部における信号波形を示すタイミングチャートである。このタイミングチャートでは、レジスタ設定順序エラーが発生しない場合を示し、またバスアクセスのアドレス情報102(bus_addr)はA,B,Cの順であるとする。
acc_hit信号(122、図6(B))が「1」となるたびに、ポインタptr(114、図6(D))が更新され、そのポインタptrに対応する期待値アドレスaddr(ptr)(図6(E))とバスアドレスbus_addr(102、図6(C))とが比較される。比較結果は、acc_hit信号(122、図6(B))が「1」である時に有効となる。もしバスアドレスbus_addr(102、図6(C))が期待値アドレスaddr(ptr)(図6(E))のいずれとも一致しない場合、acc_hit信号(122、図6(B))は常時「0」であり、ポインタptr(114、図6(D))の更新も行われない。
図6に示す例では、バスアドレスbus_addr(102、図6(C))のアクセス順序A,B,Cが、期待値アドレスaddr(ptr)のアクセス順序と一致するので、err_order信号(113、図6(F))の「1」は出力されない。
なお、ポインタptr(114、図6(D))は、全てのレジスタにそれぞれ対応する番号を順に指定し、指定し終わったら自動的に元の番号に戻る。図4および図5に示すように期待値レジスタが4つのレジスタからなる場合は、0から3までの数字を巡回する。
図7は、レジスタ設定順序監視装置2の各部における信号波形を示すタイミングチャートである。このタイミングチャートでは、レジスタ設定順序エラーが発生する場合を示し、またバスアクセスのアドレス情報102(bus_addr)はA,B,Dの順であるとする。
このタイミングチャートでは、バスアドレスbus_addr(102、図7(C))のアクセス順序の3番目がCではなくDであるため、期待値アドレスaddr(ptr)のアクセス順序と一致せず、err_order信号(113、図7(F))の「1」が出力される。
err_order信号(113、図7(F))の「1」が出力されたときに、ポインタptr(114、図7(D))は0にクリアされず、エラー割り込み要因をクリアする際に0にクリアされる。
図6および図7に示すタイミングチャートを参照した上記説明では、バスアクセス方向の比較についての説明を省略したが、この比較方法はバスアドレスの比較方法と同じである。
次に図4および図5に戻って、レジスタ設定順序監視装置2におけるレジスタ設定間隔違反の検出動作を説明する。
期待値レジスタのギャップサイクルレジスタ115は、レジスタアクセスの間隔の期待値を格納しており、gapcycle0が、address0とaddress1との間のアクセス間隔の期待値であり、gapcycle1が、address1とaddress2との間のアクセス間隔の期待値であり、gapcycle2が、address2とaddress3との間のアクセス間隔の期待値である。
カウンタ117は、アクセス間隔を検出するためのカウンタであり、このカウンタ117は、acc_hit信号が「1」のときクリアされ、次の処理サイクルから処理サイクルごとにカウントアップを行い、次にacc_hit信号が「1」になるまでカウントアップを続ける。
比較器(compare)123は、カウンタ117のカウント値と、マルチプレクサ116から出力されたレジスタアクセス間隔の期待値とを比較する。比較器123の出力値は、acc_hit信号が入力されるAND論理素子118を介して割り込み要因レジスタ124へ送られる。これにより、acc_hit信号が「1」であるとき、カウンタ117のカウント値がレジスタアクセス間隔の期待値より小さければ、割り込み要因レジスタ124がセットされ、アクセス間隔エラー信号(err_gap)119が出力される(アサーション)。
図8は、レジスタ設定順序監視装置2の各部における信号波形を示すタイミングチャートである。このタイミングチャートでは、レジスタ設定間隔エラーが発生しない場合を示し、またバスアクセスはアドレスA,Bの順に発生するものとする。さらに、アドレスAのレジスタへのアクセスからアドレスBのレジスタへのアクセスまでには10サイクル以上のギャップが期待されているものと仮定する。
acc_hit信号(122、図8(B))が「1」となるたびに、カウンタ117のカウント値(図8(G))と、期待値gap_cycle(ptr)(図8(F))との比較を行う。この場合、カウンタ117のカウント値は「11」であり、期待値gap_cycle(ptr)は「10」であるので、カウンタ117のカウント値が期待値gap_cycle(ptr)よりも大きく、エラー信号err_gap(119、図8(H))の「1」は出力されない。なお、期待値gap_cycle(ptr)(図8(F))は、マルチプレクサ116から出力された信号を意味している。
図9は、レジスタ設定順序監視装置2の各部における信号波形を示すタイミングチャートである。このタイミングチャートでは、レジスタ設定間隔エラーが発生した場合を示す。
このタイミングチャートでは、acc_hit信号(122、図9(B))が「1」となったとき、カウンタ117のカウント値(図9(G))は「9」であり、期待値gap_cycle(ptr)(図9(F))は「10」であるので、カウンタ117のカウント値が期待値gap_cycle(ptr)よりも小さく、エラー信号err_gap(119、図9(H))の「1」が出力される。
以上のようにして、第1の実施の形態では、レジスタ設定順序間違いによる不具合を、ソフトウェア開発後期に見つけ出すのではなく、初期の段階で見つけることが可能になる。
〔第2の実施の形態〕
次に、本発明の第2の実施の形態を説明する。
次に、本発明の第2の実施の形態を説明する。
第2の実施の形態の構成は、基本的に第1の実施の形態の構成と同じであるので、第2の実施の形態の説明においては、第1の実施の形態の構成を流用する。
上記第1の実施の形態では、監視すべきレジスタアクセス順序は一通りだけであり、そのアクセス個数も4つのみである。実際の情報処理装置では、監視すべきレジスタアクセス順序は多数通り存在し、対象になるレジスタアクセスの個数も4以外の個数があり得る。さらに、ギャップサイクル数をアクセス間隔毎に設定するようにしていたが、実際はこのような機能を必要とすることはあまり多くないかもしれない。こうしたことを考慮して、第2の実施の形態では、レジスタ設定順序監視装置の回路構成が多少複雑になるが、図3に示す期待値レジスタの構成を、図10に示すような構成に拡張する。
図10は、第2の実施の形態における期待値レジスタの構成を示す図である。なお、図3に示す第1の実施の形態における期待値レジスタの構成と同一部分の説明は省略する。
第2の実施の形態では、図10(A)に示すように、ORDERxレジスタにおいて、「グループ」フィールドを設け、複数の機能モジュールの各起動レジスタをグループ分けしたときに、同一グループに属する複数の起動レジスタに同一のグループ番号を付して、そのグループ番号を「グループ」フィールドに格納する。これによって、同じグループ番号の起動レジスタへのアクセス順序やアクセス間隔だけを監視対象とすることができる。
また、ORDERxレジスタにおいて、「アクセス順番」フィールドを設け、グループ毎のアクセス順番を格納する。これによって、グループ毎にアクセスを監視することができるようになる。
また図10(B)に示すように、図3のORDERxレジスタから「ギャップサイクル数」フィールドを独立させてGAPxレジスタとして新設し、「グループ」フィールドと、「前アクセス番号」フィールドと、「後アクセス番号」フィールドと、「キャップサイクル数」フィールドとを設ける。「グループ」フィールドには上記グループ番号を格納し、「前アクセス番号」フィールドには、アクセス間隔の前側レジスタを示すアクセス開始番号を格納し、「後アクセス番号」フィールドには、アクセス間隔の後側レジスタを示すアクセス終了番号を格納する。
これにより、アクセス間隔の対象となるレジスタを任意に選定することができ、アクセス間隔の設定の自由度を高めることができる。また、不要なアクセス間隔の監視を行わなくて済む。
以上のように、第2の実施の形態では、汎用性の高いレジスタ設定順序監視モジュールを設計できる。
なお、第2の実施の形態では、期待値レジスタを、ソフトウェアによって書き換え可能なレジスタとして説明したが、アクセス順序がハードウェア完成前に期待値が完全に確立され、検証されている場合には、書き換え不可能な記憶媒体に期待値を格納する構成であってもよい。
〔他の実施の形態〕
なお、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
なお、本発明の目的は、前述した各実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPU、MPU等)が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体およびプログラムは本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。或いは、上記プログラムは、インターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される他のコンピュータやデータベース等からダウンロードすることにより供給される。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した各実施の形態の機能が実現される場合も含まれる。
1 CPU
2 レジスタ設定順序監視装置(第1の格納手段、第1の比較手段、第1のエラー出力手段)
3 メモリ
4 メモリコントローラ
5 システムバス
6 DMAC(機能モジュール)
7 受信制御ブロック(機能モジュール)
8 外部デバイス
9 DMAC(機能モジュール)
10 送信制御ブロック(機能モジュール)
11 外部デバイス
2 レジスタ設定順序監視装置(第1の格納手段、第1の比較手段、第1のエラー出力手段)
3 メモリ
4 メモリコントローラ
5 システムバス
6 DMAC(機能モジュール)
7 受信制御ブロック(機能モジュール)
8 外部デバイス
9 DMAC(機能モジュール)
10 送信制御ブロック(機能モジュール)
11 外部デバイス
Claims (14)
- それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置において、
前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を格納する第1の格納手段と、
バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記第1の格納手段に格納されている期待値と比較する第1の比較手段と、
前記第1の比較手段による比較の結果、前記設定順序情報が前記期待値に一致しない場合、第1のエラー通知信号を出力する第1のエラー出力手段と
を有することを特徴とする情報処理装置。 - 前記第1の格納手段は、ソフトウェアによって書き換えが可能な記憶媒体によって構成され、前記期待値を変更することが可能であることを特徴とする請求項1記載の情報処理装置。
- 前記第1の格納手段は、各レジスタが属するグループを示すグループ情報も格納し、
前記第1の比較手段および前記第1のエラー出力手段は、前記第1の格納手段に格納されたグループ情報を参照して、同一グループに属するレジスタだけを対象にして動作することを特徴とする請求項1記載の情報処理装置。 - 前記各レジスタに対して前記設定を行う各タイミングの時間間隔の所望の下限値を格納する第2の格納手段と、
前記各レジスタに対して前記設定を行う各タイミングの時間間隔を検出する検出手段と、
前記検出手段によって検出された時間間隔を前記第2の格納手段に格納されている所望の下限値と比較する第2の比較手段と、
前記第2の比較手段による比較の結果、前記時間間隔が前記所望の下限値よりも小さい場合、第2のエラー通知信号を出力する第2のエラー出力手段と
を更に有することを特徴とする請求項1記載の情報処理装置。 - 前記第2の格納手段は、ソフトウェアによって書き換えが可能な記憶媒体によって構成され、前記所望の下限値を変更することが可能であることを特徴とする請求項4記載の情報処理装置。
- 前記第2の格納手段は、各レジスタが属するグループを示すグループ情報も格納し、
前記検出手段、前記第2の比較手段、および前記第2のエラー出力手段は、前記第2の格納手段に格納されたグループ情報を参照して、同一グループに属するレジスタだけを対象にして動作することを特徴とする請求項4記載の情報処理装置。 - 前記第2の格納手段は、前記設定が行われるべきレジスタを特定するためのレジスタ特定符号も格納することを特徴とする請求項4記載の情報処理装置。
- それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置に適用される起動エラー検出方法において、
前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を第1の記憶装置に格納する第1の格納ステップと、
バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記第1の記憶装置に格納されている期待値と比較する第1の比較ステップと、
前記第1の比較ステップによる比較の結果、前記設定順序情報が前記期待値に一致しない場合、第1のエラー通知信号を出力する第1のエラー出力ステップと
を有することを特徴とする起動エラー検出方法。 - 前記第1の格納ステップでは、各レジスタが属するグループを示すグループ情報も前記第1の記憶装置に格納し、
前記第1の比較ステップおよび前記第1のエラー出力ステップでは、前記第1の記憶装置に格納されたグループ情報を参照して、同一グループに属するレジスタだけを対象にして処理を行うことを特徴とする請求項8記載の起動エラー検出方法。 - 前記各レジスタに対して前記設定を行う各タイミングの時間間隔の所望の下限値を第2の記憶装置に格納する第2の格納ステップと、
前記各レジスタに対して前記設定を行う各タイミングの時間間隔を検出する検出ステップと、
前記検出ステップによって検出された時間間隔を前記第2の記憶装置に格納されている所望の下限値と比較する第2の比較ステップと、
前記第2の比較ステップによる比較の結果、前記時間間隔が前記所望の下限値よりも小さい場合、第2のエラー通知信号を出力する第2のエラー出力ステップと
を更に有することを特徴とする請求項8記載の起動エラー検出方法。 - 前記第2の格納ステップでは、各レジスタが属するグループを示すグループ情報も前記第2の記憶装置に格納し、
前記検出ステップ、前記第2の比較ステップ、および前記第2のエラー出力ステップでは、前記第2の記憶装置に格納されたグループ情報を参照して、同一グループに属するレジスタだけを対象にして処理を行うことを特徴とする請求項10記載の起動エラー検出方法。 - 前記第2の格納ステップでは、前記設定が行われるべきレジスタを特定するためのレジスタ特定符号も前記第2の記憶装置に格納することを特徴とする請求項10記載の起動エラー検出方法。
- それぞれがレジスタを内蔵する複数の機能モジュールを備えた情報処理装置に適用される起動エラー検出方法を、コンピュータに実行させるためのプログラムにおいて、
前記各レジスタに対して、対応の機能モジュールを起動するために必要な情報をそれぞれ設定する際の所望の設定順序を表す期待値を第1の記憶装置に格納する第1の格納ステップと、
バスアクセスを監視し、該バスアクセス中に含まれる前記各レジスタに対する設定順序情報を、前記第1の記憶装置に格納されている期待値と比較する第1の比較ステップと、
前記第1の比較ステップによる比較の結果、前記設定順序情報が前記期待値に一致しない場合、第1のエラー通知信号を出力する第1のエラー出力ステップと
を有することを特徴とするプログラム。 - 前記各レジスタに対して前記設定を行う各タイミングの時間間隔の所望の下限値を第2の記憶装置に格納する第2の格納ステップと、
前記各レジスタに対して前記設定を行う各タイミングの時間間隔を検出する検出ステップと、
前記検出ステップによって検出された時間間隔を前記第2の記憶装置に格納されている所望の下限値と比較する第2の比較ステップと、
前記第2の比較ステップによる比較の結果、前記時間間隔が前記所望の下限値よりも小さい場合、第2のエラー通知信号を出力する第2のエラー出力ステップと
を更に有することを特徴とする請求項13記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004320620A JP2006133969A (ja) | 2004-11-04 | 2004-11-04 | 情報処理装置、起動エラー検出方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004320620A JP2006133969A (ja) | 2004-11-04 | 2004-11-04 | 情報処理装置、起動エラー検出方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006133969A true JP2006133969A (ja) | 2006-05-25 |
Family
ID=36727482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004320620A Pending JP2006133969A (ja) | 2004-11-04 | 2004-11-04 | 情報処理装置、起動エラー検出方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006133969A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008011031A (ja) * | 2006-06-28 | 2008-01-17 | Fujitsu Ltd | 無線基地局装置 |
JP2009110076A (ja) * | 2007-10-26 | 2009-05-21 | Fujitsu Ltd | ソフトウェア検証支援プログラム、該プログラムを記録した記録媒体、ソフトウェア検証支援装置、およびソフトウェア検証支援方法 |
-
2004
- 2004-11-04 JP JP2004320620A patent/JP2006133969A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008011031A (ja) * | 2006-06-28 | 2008-01-17 | Fujitsu Ltd | 無線基地局装置 |
JP2009110076A (ja) * | 2007-10-26 | 2009-05-21 | Fujitsu Ltd | ソフトウェア検証支援プログラム、該プログラムを記録した記録媒体、ソフトウェア検証支援装置、およびソフトウェア検証支援方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8001432B2 (en) | Uninitialized memory detection using error correction codes and built-in self test | |
TWI620061B (zh) | 伺服器的偵錯裝置及其偵錯方法 | |
US20070174705A1 (en) | Post (power on self test) debug system and method | |
US7779174B2 (en) | Method and apparatus for dynamically changing burst length using direct memory access control | |
JP2000132430A (ja) | 信号処理装置 | |
JP2013257640A (ja) | コンフィグレーション制御装置、コンフィグレーション制御方法及びコンフィグレーション制御プログラム | |
JP2016143422A (ja) | シリアルデバイスの構成 | |
JP2010181990A (ja) | データプロセッサ | |
JP2011154582A (ja) | 集積回路装置、電子機器 | |
JP5510107B2 (ja) | エラー訂正試験方法 | |
JP2006133969A (ja) | 情報処理装置、起動エラー検出方法、及びプログラム | |
JP3824122B2 (ja) | Dma装置 | |
JP6673021B2 (ja) | メモリおよび情報処理装置 | |
JP4299634B2 (ja) | 情報処理装置及び情報処理装置の時計異常検出プログラム | |
US7484147B2 (en) | Semiconductor integrated circuit | |
JP4572859B2 (ja) | キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 | |
US10565076B2 (en) | Device for supervising and initializing ports | |
JP2020140380A (ja) | 半導体装置及びデバッグシステム | |
JP2003022222A (ja) | 情報処理装置及びその保守方法 | |
TWI789983B (zh) | 電源管理方法及電源管理裝置 | |
JP2006293641A (ja) | レジスタ設定値監視モジュール、システムおよびレジスタ設定値監視方法 | |
JP2006155488A (ja) | データ処理装置およびデータ処理方法 | |
JP2012048277A (ja) | 半導体集積回路、デバッグシステム、デバッグ方法、デバッグプログラム及び記録媒体 | |
JP2006227668A (ja) | メモリモデルとプログラムと論理回路検証方法 | |
JP3039631B2 (ja) | 信号線監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060419 |
|
RD05 | Notification of revocation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7425 Effective date: 20070626 |