(57)【要約】【課題】実装面積増加が小さく、パスディレイの増加が少ないレジスタファイル装置および情報処理装置の実現。【解決手段】マルチポートラッチword_1〜mを含むデータ記憶部2と、クロックClock、および複数組の書き込み制御信号WriteEnable_A〜C、書き込みアドレスWriteAddress_A〜Cおよび書き込みデータWriteData_A〜Cから、データ記憶部への書き込み信号を生成する書き込み部1と、を有し、書き込み部1は、複数組の書き込みアドレスの少なくとも２つのアドレスが一致することを検出し、一致したアドレスについてアドレス一致信号を出力するアドレス一致検出回路51と、アドレス一致信号が出力されると、一致したアドレスの書き込みデータを同一データに変更する変更回路61と、を有するレジスタファイル装置。【選択図】図５
2014182846.tif 000002
【特許請求の範囲】
【請求項１】
マルチポートラッチを含むデータ記憶部と、
クロック、および複数組の書き込み制御信号、書き込みアドレスおよび書き込みデータから、前記データ記憶部への書き込み信号を生成する書き込み部と、を備え、
前記書き込み部は、
前記複数組の書き込みアドレスの少なくとも２つのアドレスが一致することを検出し、一致したアドレスについてアドレス一致信号を出力するアドレス一致検出回路と、
前記アドレス一致信号が出力されると、一致したアドレスの書き込みデータを同一データに変更する変更回路と、を備えることを特徴とするレジスタファイル装置。
【請求項２】
前記変更回路は、前記一致したアドレスの書き込みデータを、前記一致したアドレスの１つの書き込みデータに合わせるように変更する請求項１記載のレジスタファイル装置。
【請求項３】
前記変更回路は、前記一致したアドレスの書き込みデータを、所定の値に変更する請求項１記載のレジスタファイル装置。
【請求項４】
前記アドレス一致検出回路からの前記アドレス一致信号に応じてアラームを出力する請求項１から３のいずれか１項記載のレジスタファイル装置。
【請求項５】
プロセッサのレジスタとして、請求項１から４のいずれか１項記載のレジスタファイル装置を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、レジスタファイル装置および情報処理装置に関する。
【背景技術】
【０００２】
マルチポートラッチは、複数の書き込みデータから１つを選び記憶する記憶素子である。広く知られているデュアルポートメモリは、２つの書き込みデータから１つを選び記憶するメモリである。
【０００３】
マルチポートラッチは、複数の書き込みデータを同時に選択して書き込んではならないという制約がある。複数の書き込みデータを同時に選択して書き込むと、記憶部内でバスファイト(ショート)が起きる可能性がある。バスファイトが起きると、記憶する値が決まらず、最悪、大電流が流れ、記憶部の半導体デバイスを破壊してしまうという問題が発生する。書き込むデータを選ぶ信号が１つのみ発生されることをワンホット(1 hot)、書き込むデータを選ぶ信号が複数同時に発生されることをマルチホット(multi hot)、と称する。
【０００４】
マルチポートラッチを使用するレジスタファイル装置では、そもそもマルチホットが発生しないように制御される。したがって、マルチホットの発生は、装置に異常が発生したことを意味し、何らかの回復処理を行う必要があり、どのような回復処理を行うかは、適宜設定される。
【０００５】
一方、マルチホットが発生した場合、マルチポートラッチではバスファイトが発生し、記憶部の半導体デバイスが破壊される可能性がある。半導体デバイスが破壊されると、マルチポートラッチは回復不能で、以後使用できなくなる。このような事態の発生を防止するため、レジスタファイル装置において、マルチポートラッチの書き込み信号に対して、バスファイトの発生を回避するための対策を行うことが提案されている。
【０００６】
提案されている１つの対策は、マルチポートラッチのアクセス単位、例えばワード(word)単位毎に、書き込み制御信号の優先順位を調整する優先調整回路を設け、同時には１つのデータ選択信号が出力されるようにしてマルチホットを禁止する。しかし、この対策は、ワードごとのマルチポートラッチに優先順位調整回路が設けるので、実装面積が増加してしまうという問題である。さらに、マルチポートラッチをアクセスするアドレスのデコーダ回路の後に優先順位調整回路を設けるため、書き込みパスの遅延が増加し、動作速度が低下するという問題がある。
【０００７】
別の対策は、マルチポートラッチをアクセスするアドレス値がお互いに一致しているかをチェックし、一致した場合は、該当するアドレスのデコードを止める１ホット保証回路を設けることで、１ホット以下であることを保証する。この別の対策は、１ホット保証回路がレジスタファイルに１つなので、面積増加は抑えられる。しかし、マルチポートラッチをアクセスするアドレスのデコーダ回路の前に１ホット保証回路が設けられ、そこでの結果に応じてデコーダ回路の動作が制御されるため、書き込みパスの遅延が増加し、動作速度が低下するという問題がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−０１８５０１号公報
【特許文献２】特開２００３−０９１９９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記のマルチポートラッチを使ったレジスタファイルの書き込み制御でマルチホットを防止する対策には、「実装面積増加」や「パスディレイの悪化」の問題があった。
開示の実施形態によれば、「実装面積増加」が小さく、「パスディレイの増加」が少ないレジスタファイル装置および情報処理装置が実現される。
【課題を解決するための手段】
【００１０】
第１の態様のレジスタファイル装置は、マルチポートラッチを含むデータ記憶部と、クロック、および複数組の書き込み制御信号、書き込みアドレスおよび書き込みデータから、データ記憶部への書き込み信号を生成する書き込み部と、を有する。書き込み部は、アドレス一致検出回路と、変更回路と、を有する。アドレス一致検出回路は、複数組の書き込みアドレスの少なくとも２つのアドレスが一致することを検出し、一致したアドレスについてアドレス一致信号を出力する。変更回路は、アドレス一致信号が出力されると、一致したアドレスの書き込みデータを同一データに変更する。
【発明の効果】
【００１１】
第１の態様のレジスタファイル装置によれば、マルチポートラッチを使ったレジスタファイルの書き込み処理でマルチホットが発生しても、書き込みデータは同一なので、記憶部内でバスファイト(ショート)が起きることはない。したがって、記憶部の半導体デバイスを破壊されることはない。
【図面の簡単な説明】
【００１２】
【図１】図１は、３入力ｎビットのマルチポートラッチの概略構成を示す図である。
【図２】図２は、マルチポートラッチを使用するレジスタファイル装置の概略構成を示す図である。
【図３】図３は、バスファイトを回避する対策の１つを施したレジスタファイル装置の例を示す図である。
【図４】図４は、バスファイトを回避する別の対策を施したレジスタファイル装置の例を示す図である。
【図５】図５は、実施形態のレジスタファイル装置の概略構成を示す図である。
【図６】図６は、１個のマルチポートラッチの構成を示す図である。
【図７】図７は、アドレス一致検出回路および変更回路の回路図を示す図である。
【図８】図８は、実施形態のレジスタファイル装置の動作を示すタイムチャートである。
【図９】図９は、マルチホットが発生した場合に、該当する書き込みデータを、すべて１(“High”)にする変更回路の例を示す図である。
【図１０】図１０は、実施形態のレジスタファイル装置を使用する演算装置の構成を示す図である。
【発明を実施するための形態】
【００１３】
図１は、３入力ｎビットのマルチポートラッチの概略構成を示す図である。
マルチポートラッチは、クロック制御部２１と、ｎ個の記憶部２２−１〜２２−ｎと、を有する。図１のマルチポートラッチは、１つのクロック制御部２１に対してｎ個の記憶部が接続され、全体でｎビットの記憶部を持つラッチとなっている。
【００１４】
クロック制御部２１は、クロックClockをCKとして、３入力書き込み信号WriteEnable_A, WrireEnable_B, WriteEnable_CをWEA〜WECとして受ける。クロック制御部２１は、CKおよびWEA〜WECから、記憶部２２−１〜２２−ｎへ供給する３つの書き込み制御信号CtrlA, CtrlB, CtrlCを発生する。
【００１５】
記憶部２２−１〜２２−ｎは、それぞれ同じ構成を有する。３つの書き込みデータ信号WriteData_A1-n, WriteData_B1-n, WriteData_C1-nの１〜ｎの各ビット信号は、ｎ個の記憶部２２−１〜２２−ｎにそれぞれ供給される。したがって、各記憶部は、３つの書き込み信号の１ビットの書き込み信号を受ける。
【００１６】
たとえば、記憶部２２−１は、セレクト（選択）部２３と、ラッチ部２４と、を有する。セレクト部２３は、CtrlA, CtrlB, CtrlCに基づいて、３つの書き込みデータA1, B1, C1のうち記憶するデータを選択し、ラッチ部２４に供給する。ラッチ部２４は、選択されたデータを出力Ｑ１として保持する。言い換えれば、ラッチ部２４への書き込みが行われる。
【００１７】
マルチポートラッチには、セレクト部２３におけるデータ選択において複数データを同時に選択してはならないという制約がある。図１のマルチポートラッチでは、３ポートの中から書き込むデータを選ぶ信号WEA〜WECは、複数のデータを同時に書き込むことを指示してはならない。したがって、書き込み制御信号CtrlA, CtrlB, CtrlCも、セレクト部２３において、複数データの書き込みデータを選択するような信号であってはならない。つまり、これらの信号は、１ホット以下に制限された信号でなければならない。仮に信号WEA〜WECが２つ以上の書き込みデータを選択する状態でCKを入力すると、記憶部内でバスファイト(ショート)が起きる可能性がある。その場合、記憶する値が決まらず、最悪、大電流が流れ、半導体デバイスを破壊してしまう。
【００１８】
次に、このマルチポートラッチを使ったレジスタファイル(Register File: R.F.)について説明する。
図２は、マルチポートラッチを使用するレジスタファイル装置の概略構成を示す図である。図２のレジスタファイル装置は、ｎビットのデータをｍアドレス記憶する３ポート入力レジスタファイル装置である。
【００１９】
レジスタファイル装置は、書き込み部１と、データ記憶部２と、読み出し部３と、を有する。データ記憶部２は、３ポートラッチword_1〜mからなるデータラッチ回路２０を有する。言い換えれば、データ記憶部２は、図１のマルチポートラッチをｍ個並べた構成を有する。したがって、３ポートラッチword_1〜mは、それぞれクロック制御部211-21mと、ｎ個の記憶部221-1〜221-n, 222-1〜222-n,  …, 22m-1〜22m-nを有する。
【００２０】
書き込み部１は、３つのWriteData_A1-n, WriteData_B1-n, WriteData_C1-nを、Write Address_A, Write Address_B, Write Address_Cの指定した３ポートラッチに書き込む制御を行う。このような制御を行うため、書き込み部１は、WriteAddress_A, WriteAddress_B, WriteAddress_CをそれぞれデコードするデコーダA-DEC11A, B-DEC11B, C-DEC11Cを有する。A-DEC11A, B-DEC11B, C-DEC11Cは、それぞれ書き込み信号WEA1-m, WEAB1-m, WEC1-mを発生し、３ポートラッチword_1〜mのクロック制御部211-21mに供給する。書き込み信号WEA1-m, WEAB1-m, WEC1-mのうち１つのみがアクティブである。
【００２１】
３ポートラッチword_1〜mでは、アクティブなWEA1-m, WEAB1-m, WEC1-mが供給された３ポートラッチが、A1-m, B1-m,C1-mのうちアクティブなWEA1-m, WEAB1-m, WEC1-mに対応するポートからの書き込みデータのラッチを行う。
読み出し部３は、Read Addressにより指定されたwordのデータを選択して読み出しを行うセレクタ(Selector)３１を有する。
【００２２】
前述のように、図２のレジスタファイル装置において、同じ３ポートラッチに複数ポートから同時に書き込みが発生すると、３ポートラッチ内でバスファイトが起きてしまう。具体的例として、WriteAddress_AとWriteAddress_Bが両方ともword_xを指定しており、WriteEnable_AとWriteEnable_Bが有効な状態でClockが入力されるとword_xのマルチポートラッチ内でWriteData_A1-nとWriteData_B1-nがバスファイトしてしまう。
【００２３】
前述のように、マルチポートラッチを使用するレジスタファイル装置では、そもそもマルチホットが発生しないように制御される。しかし、何らかの理由でマルチホットが発生する場合が起こり得る。マルチホットの発生は、装置に異常が発生したことを意味し、その時点で正常な動作を続行することはできない。そこで、マルチホットが発生したことを検出すると、何らかの回復処理を行うが、どのような回復処理を行うかは、適宜設定される。例えば、レジスタファイル装置を初期化して、中断した処理を再度実行したり、故障が発生していないことが確実な段階まで戻り、そこから処理をやり直す。しかし、バスファイトの発生により大電流が流れ、半導体デバイスを破壊してしまった場合には、このような回復処理を行うことはできず、レジスタファイル装置を交換する等のハードウェアの修理が必要になる。
【００２４】
以上のように、図２のレジスタファイル装置は、バスファイトの発生を防止できないという問題を有しており、レジスタファイル装置において、バスファイトを回避するために対策を行なうことが望まれている。
【００２５】
図３は、バスファイトを回避する対策の１つを施したレジスタファイル装置の例を示す図である。図３に示した対策は、ワード(word)(マルチポートラッチ)単位毎に複数選択（まるちホット(multi hot)）を禁止する方法である。
【００２６】
図３に示すように、レジスタファイル装置のデータラッチ回路２０中にあるマルチポートラッチword_1〜m１つ１つに対して、書き込み制御信号の優先順位を調整する優先調整(PriorityAdjustment)回路411-41mを設ける。この優先調整回路411-41mは、マルチポートラッチのデータ選択信号（word1ではWEA1,WEB1,WEC1）のマルチホット(multi hot)を禁止するマルチホット禁止部として機能する。
【００２７】
図３に示したバスファイト回避対策を行なったレジスタファイル装置は、すべてのマルチポートラッチword_1〜mに優先順位調整回路を設けるので、実装面積が増加してしまうことが問題である。さらに、デコーダA-DEC11A, B-DEC11B, C-DEC11Cの後に優先順位調整回路を入れるため、動作の遅延を律速する（ディレイクリティカルな）WriteAddress・WriteEnableからのパスの遅延（ディレイ）が悪化してしまうことも問題である。
【００２８】
図４は、バスファイトを回避する別の対策を施したレジスタファイル装置の例を示す図である。図４に示した対策は、マルチポートラッチをアクセスするアドレス値がお互いに一致しているかをチェックし、一致した場合は、該当するアドレスのデコードを止める１ホット保証回路を設けることで、１ホット以下であることを保証するする方法である。
【００２９】
図４に示したバスファイト回避対策を行なったレジスタファイル装置は、１ホット保証部として、アドレス一致検出回路(Match)５１および３個のＡＮＤゲート５２Ａ〜４２Ｃを有する。アドレス一致検出回路５１は、WriteAddress_A〜Cの２つ以上が有効な状態で、すなわち対応するWriteEnable_A〜Cが有効(H)の時に、同じ値であるかを検出する。WriteAddress_A〜Cの２つ以上が有効な状態で同じ値をとった時には、その値の３ポートラッチでバスファイトが起きる可能性がある。よって、WriteAddress_A〜Cの値がお互いに一致した場合は、３個のＡＮＤゲート５２Ａ〜４２Ｃにより該当するWriteEnableを止め、該当するデコーダでのデコードを行わないようにする。これにより、マルチポートラッチのデータ選択信号（word_1ではWEA1,WEB1,WEC1）の１ホット以下を保証する。
【００３０】
図４に示したバスファイト回避対策を行なったレジスタファイル装置は、追加する１ホット保証部は装置に１つ設けるのみなので面積増加は抑えられる。しかし、デコーダA-DEC11A, B-DEC11B, C-DEC11Cの前に１ホット保証部が挿入されるため、ディレイクリティカルなWriteAddress・WriteEnableからのパスディレイが悪化してしまうことが問題である。
【００３１】
以下に説明する実施形態のレジスタファイル装置は、「実装面積増加」の抑制および「パスディレイの悪化」の低減の両方を実現するバスファイト回避対策を行う。
【００３２】
ここで、注目する事項が２つある。１つ目の事項は、レジスタファイル装置の書き込みを行う際、一般的にディレイクリティカルになるのはWriteAddressやWriteEnableの制御系信号からで、WriteDataのパスはディレイクリティカルではないことである。２つ目の事項は、マルチポートラッチは、もともとバスファイトによるデータ線間の短絡が発生する問題である。
【００３３】
実施形態のレジスタファイル装置は、上記の２つの事項に着目し、WriteAddress_A〜Cの２つ以上が有効な状態で同じ値をとった時には、該当する書き込みデータを強制的に同じ値にする。データの値が同じであるため、バスファイトは起きず、データ線間の短絡は発生しない。また、該当する書き込みデータを強制的に同じ値にする処理は、ディレイクリティカルではないWriteDataのパスで行うため、ディレイクリティカルの遅延が増加することはない。
【００３４】
さらに、マルチホットが発生した場合、そもそも動作に故障が発生したと考えられるので、レジスタファイル装置に書き込んだデータ値は正常な値でないので、書き込みデータを強制的に同じ値にしても、問題はない。そのため、同じ値はどのような値でもよく、例えば、書き込みデータの１つでも、すべて"0(Low)"または"1(High)"でもよい。
【００３５】
図５は、実施形態のレジスタファイル装置の概略構成を示す図である。実施形態のレジスタファイル装置は、ｎビットのデータをｍアドレス記憶する３ポート入力レジスタファイル装置である。
【００３６】
実施形態のレジスタファイル装置は、書き込み部１と、データ記憶部２と、読み出し部３と、を有する。
【００３７】
データ記憶部２は、３ポートラッチword_1〜mを有する。言い換えれば、データ記憶部２は、ｎビットのマルチポートラッチをｍ個並べた構成を有する。したがって、３ポートラッチword_1〜mは、それぞれクロック制御部211-21mと、ｎ個の記憶部221-1〜221-n, 222-1〜222-n,  …, 22m-1〜22m-nを有する。
【００３８】
図６は、１個のマルチポートラッチの構成を示す図である。
マルチポートラッチは、クロック制御部２１と、ｎ個の記憶部２２−１〜２２−ｎを有する。
【００３９】
クロック制御部２１は、４個のインバータと、３個のＮＡＮＤゲートと、を有し、CK, WEA, WEB, WECから、書き込み制御信号W1_CK, W1_XCK, W2_CK, W2_XCK, W3_CK, W3_XCKを発生する。W1_CKおよび W1_XCK, W2_CKおよび W2_XCK およびW1_CKおよび W1_XCKは、それぞれ図１のCtrlA, CtrlB およびCtrlCに対応する。
記憶部１からｎは、同じ構成を有する。記憶部１は、セレクト部２３と、ラッチ部２４と、を有する。
【００４０】
セレクト部２３は、３個のトランスファーゲートTGA〜TGCを有する。トランスファーゲートTGAは、書き込みデータWriteData_A1-nのうちのＡ１を入力とし、W1_CKおよび W1_XCKにより通過状態が制御される。具体的には、W1_CK=0およびW1_XCK=1の時、すなわちWEA="High"で且つCK="Low"の時にＡ１を出力し、それ以外の時には出力はハイインピーダンスに(Hi-Z)になる。ほかのトランスファーゲートTGBおよびTGCも同様である。
【００４１】
ラッチ部２４は、３個のインバータInv1〜Inv3を有する。２個のインバータInv1およびInv2は、ラッチ回路を形成し、３個のトランスファーゲートTGA〜TGCの出力を合わせたデータPCM1をラッチする。インバータInv3は、ラッチしたデータPCM1を反転して出力Ｑ１として出力する。
【００４２】
図５に戻り、読み出し部３は、Read Addressにより指定されたwordのデータを選択して読み出しを行うセレクタ(Selector)３１を有する。
以上の通り、データ記憶部２および読み出し部３は、図２に示したレジスタファイル装置と同じである。
【００４３】
書き込み部１は、デコーダA-DEC11A, B-DEC11B, C-DEC11Cと、アドレス一致検出回路(Match)５１と、変更回路(Select)６１と、を有する。
デコーダA-DEC11A, B-DEC11B, C-DEC11Cは、それぞれ書き込み信号WEA1-m, WEAB1-m, WEC1-mを発生し、３ポートラッチword_1〜mのクロック制御部211-21mに供給する。
【００４４】
アドレス一致検出回路５１は、WriteAddress_A〜Cの２つ以上が有効な状態で、すなわち対応するWriteEnable_A〜Cが有効(H)の時に、同じ値であるかを検出する。したがって、図５のアドレス一致検出回路５１は、図４のものと同じである。
【００４５】
変更回路６１は、WriteAddress_A〜Cの２つ以上が有効な状態で一致した時に、該当する書き込みデータを強制的に同じ値にする。具体的には、WriteAddress_AとWriteAddress_Bが一致した時にはWriteData_BをWriteData_Aに変更し、WriteAddress_AとWriteAddress_Cが一致した時にはWriteData_CをWriteData_Aに変更する。さらに、WriteAddress_BとWriteAddress_Cが一致した時にはWriteData_CをWriteData_Bに変更する。さらに、WriteAddress_AとWriteAddress_BとWriteAddress_Cが３つとも一致した時にはWriteData_BおよびWriteData_CをWriteData_Aに変更する。
【００４６】
図７は、アドレス一致検出回路５１および変更回路６１の回路図を示す図である。
ゲート回路であり、詳しい説明は省略するが、図７のアドレス一致検出回路５１および変更回路６１は、上記の動作を行う。アドレス一致検出回路５１の出力ＡＢは、WriteAddress_AとWriteAddress_Bが有効な状態で一致した時に"1"となり、変更回路６１は、WriteData_B1-nをWriteData_A1-nに変更する。アドレス一致検出回路５１の出力ＡＣは、WriteAddress_AとWriteAddress_Cが有効な状態で一致した時に"1"となり、変更回路６１は、WriteData_C1-nをWriteData_A1-nに変更する。アドレス一致検出回路５１の出力ＢＣは、WriteAddress_BとWriteAddress_Cが有効な状態で一致した時に"1"となり、変更回路６１は、WriteData_C1-nをWriteData_B1-nに変更する。また、WriteAddress_AとWriteAddress_BとWriteAddress_Cが３つとも一致した時には、アドレス一致検出回路５１の出力ＡＢ，ＡＣおよびＢＣは、"1"となり、変更回路６１は、WriteData_B1-nおよびWriteData_C1-nをWriteData_A1-nに変更する。
【００４７】
以上説明したように、実施形態のレジスタファイル装置は、WriteAddress_A〜Cの２つ以上が有効な状態で同じ値をとった時には、該当する書き込みデータは同じ値に変更されるので、バスファイトは起きず、データ線間の短絡は発生しない。さらに、アドレス一致検出回路５１および変更回路６１は、デコーダがWriteAddressおよびWriteEnableをデコードして書き込み信号WEA〜WECを発生するパスには設けないので、ディレイクリティカルの遅延が増加することはない。また、アドレス一致検出回路５１および変更回路６１は、レジスタファイル装置に１個ずつ設ければよく、「実装面積増加」は小さい。
【００４８】
図８は、実施形態のレジスタファイル装置の動作を示すタイムチャートである。図８では、比較のために、図３および図４に示したバスファイトを回避する対策を施したレジスタファイル装置の動作も合わせて示している。図８において、Ｐが図３および図４に示したレジスタファイル装置の動作を、Ｑが実施形態のレジスタファイル装置の動作を示す。
【００４９】
図８に示すように、２つ目のClockでWriteAddress_A〜Cが”03”になりWriteEnable_A〜Cも"1(High)"となるのでバスファイト発生の条件となる。
ＰとＱの間のMatchは、図４および図５のアドレス一致検出回路５１がWriteAddress_A〜Cの一致を検出することにより"1"に変化する。なお、図３の優先調整回路４１１〜４１ｍも、内部にはアドレス一致検出回路と類似した回路を有する。
【００５０】
Ｐで示す図３および図４に示したレジスタファイル装置の動作では、３つ目のマルチポートラッチWord_3の書き込み信号であるWEA3〜WEC3を"0"にし記憶素子への書き込みを止めている。Ｐにおいて、WEA3〜WEC3は、Matchが”High”に変化した後さらに遅れて"0"に変化する。
【００５１】
これに対して、実施形態のレジスタファイル装置では、書き込み信号の制御は行わないので、Ｑに示すように、WEA3〜WEC3は"1"のままであり、３つ目のマルチポートラッチWord_3への書き込みが行われる。しかし、マルチポートラッチWord_3へ書き込むデータ信号A3〜C3はすべて同じ信号（図８では、A3の値"1"）にすることで記憶素子内でのバスファイトの発生を防いでいる。
【００５２】
図７の変更回路６１は、マルチホットが発生すると、該当する書き込みデータを、いずれかのデータ（図７ではデータＡ）と同じにするが、同じ値であればどのような値でもよい。例えば、データＢまたはＣと同じにしても、すべて"0(Low)"または"1(High)"でもよい。
【００５３】
図９は、マルチホットが発生した場合に、該当する書き込みデータを、すべて"1(High)"にする変更回路の例を示す図である。詳しい説明は省略する。
【００５４】
以上説明したように、実施形態のレジスタファイル装置は、図３の回路より小さく、図４の装置とほぼ同等のサイズで、動作速度の速く、バスファイトの発生を回避する。
【００５５】
次に、実施形態のレジスタファイル装置を演算装置に応用した例を説明する。
図１０は、実施形態のレジスタファイル装置を使用する演算装置の構成を示す図である。
【００５６】
演算装置は、３個の演算器(ALU: Arithmetic Unit)１１１〜１１３と、１個のレジスタファイル装置１００と、３入力ＯＲゲート１２０と、は、演算処理の高速化を図るため、３個のＡＬＵ１１１〜１１３で並列に演算を行う。３個のＡＬＵ１１１〜１１３で使用する被演算データはレジスタファイル装置１００から供給され、演算結果データはレジスタファイル装置１００に格納される。演算結果データは、３個のＡＬＵ１１１〜１１３で使用されることが多いので、レジスタファイル装置１００に格納し、ほかのＡＬＵに供給可能にしている。
【００５７】
レジスタファイル装置１００のアドレス一致検出回路５１は、マルチホットを検出すると、図７のＡＢ，ＡＣ，ＢＣのいずれかを"1(High)"にする。これに応じて、３入力ＯＲゲート１２０は、出力を"1(High)"に変化させ、アラームを発生する。アラームが発生したということは、正常時には発生しないマルチホットの発生を意味し、何らかの故障が発生したことになる。
【００５８】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【００５９】
１    書き込み部
２    データ記憶部
３    読み出し部
１１Ａ−１１Ｃ    デコーダ
２０    データラッチ回路
３１    セレクタ
５１    アドレス一致検出回路
６１    変更回路
【図１】
2014182846.tif 000003
【図２】
2014182846.tif 000004
【図３】
2014182846.tif 000005
【図４】
2014182846.tif 000006
【図５】
2014182846.tif 000007
【図６】
2014182846.tif 000008
【図７】
2014182846.tif 000009
【図８】
2014182846.tif 000010
【図９】
2014182846.tif 000011
【図１０】
2014182846.tif 000012