JP6070315B2 - レジスタファイル装置および情報処理装置 - Google Patents

レジスタファイル装置および情報処理装置 Download PDF

Info

Publication number
JP6070315B2
JP6070315B2 JP2013055711A JP2013055711A JP6070315B2 JP 6070315 B2 JP6070315 B2 JP 6070315B2 JP 2013055711 A JP2013055711 A JP 2013055711A JP 2013055711 A JP2013055711 A JP 2013055711A JP 6070315 B2 JP6070315 B2 JP 6070315B2
Authority
JP
Japan
Prior art keywords
write data
register file
signals
address
bit write
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.)
Expired - Fee Related
Application number
JP2013055711A
Other languages
English (en)
Other versions
JP2014182846A (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 JP2013055711A priority Critical patent/JP6070315B2/ja
Priority to US14/167,077 priority patent/US9373372B2/en
Publication of JP2014182846A publication Critical patent/JP2014182846A/ja
Application granted granted Critical
Publication of JP6070315B2 publication Critical patent/JP6070315B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1075Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Static Random-Access Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

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

Claims (7)

  1. 第1乃至第3のアドレスと、前記第1乃至第3のアドレスにそれぞれ対応する第1乃至第3のイネーブルとを入力し、前記第1乃至第3のイネーブルのいずれか2以上が有効状態を示す場合、前記第1乃至第3のアドレスのうち、2以上の有効状態を示すイネーブルにそれぞれ対応する2以上のアドレスが一致するかを検出するとともに、第1乃至第3の一致信号のうち、一致が検出された各アドレスに対応する2以上の一致信号をそれぞれ真値にして出力する検出部と、
    第1乃至第3のnビットの書き込みデータと、前記第1乃至第3の一致信号とを入力し、前記第1乃至第3のnビットの書き込みデータのうち、真値を示す一致信号に対応する2以上のnビットの書き込みデータの値を一致させるとともに一致後のnビットの書き込みデータを出力する変更部と、
    前記第1のアドレスと、前記第1のイネーブルとを入力し、前記第1のイネーブルが有効状態を示す場合に前記第1のアドレスをデコードして、mワード分の第1の書き込み信号を出力する第1のデコード部と、
    前記第2のアドレスと、前記第2のイネーブルとを入力し、前記第2のイネーブルが有効状態を示す場合に前記第2のアドレスをデコードして、mワード分の第2の書き込み信号を出力する第2のデコード部と、
    前記第3のアドレスと、前記第3のイネーブルとを入力し、前記第3のイネーブルが有効状態を示す場合に前記第3のアドレスをデコードして、mワード分の第3の書き込み信号を出力する第3のデコード部と、
    クロック信号と、前記第1乃至第3の書き込み信号とをそれぞれ入力し、nビット分の第1乃至第3の制御信号をそれぞれ出力するmワード分の制御部と、
    前記nビット分の第1乃至第3の制御信号と前記一致後のnビットの書き込みデータとをそれぞれ入力し、真値を示す制御信号に対応する一致後のnビットの書き込みデータをそれぞれ記憶するmワード分の記憶部とを有するレジスタファイル装置。
  2. 前記レジスタファイル装置はさらに、
    読み出しアドレスを入力し、前記mワード分の記憶部から前記読み出しアドレスに対応するワードのnビットのデータを選択して出力する選択部を有する請求項1記載のレジスタファイル装置。
  3. 前記変更部は、前記第1乃至第3の一致信号のうち、前記第1及び第2の一致信号がそれぞれ真値の場合、前記第2のnビットの書き込みデータを前記第1のnビットの書き込みデータに一致させ、前記第1及び第3の一致信号がそれぞれ真値の場合、前記第3のnビットの書き込みデータを前記第1のnビットの書き込みデータに一致させ、前記第2及び第3の一致信号がそれぞれ真値の場合、前記第3のnビットの書き込みデータを前記第2のnビットの書き込みデータに一致させる請求項1又は2記載のレジスタファイル装置。
  4. 前記変更部は、前記第1乃至第3の一致信号の全てが真値の場合、前記第2及び第3のnビットの書き込みデータを前記第1のnビットの書き込みデータに一致させる請求項3記載のレジスタファイル装置。
  5. 前記変更部は、一致信号が真値を示す2以上のnビットの書き込みデータの値を、所定の値に変更することにより、前記一致信号が真値を示す2以上のnビットの書き込みデータを出力する請求項1又は2記載のレジスタファイル装置。
  6. 前記検出部からの一致信号に応じてアラームを出力する請求項1からのいずれか1項記載のレジスタファイル装置。
  7. プロセッサのレジスタとして、請求項1からのいずれか1項記載のレジスタファイル装置を備える情報処理装置。
JP2013055711A 2013-03-18 2013-03-18 レジスタファイル装置および情報処理装置 Expired - Fee Related JP6070315B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013055711A JP6070315B2 (ja) 2013-03-18 2013-03-18 レジスタファイル装置および情報処理装置
US14/167,077 US9373372B2 (en) 2013-03-18 2014-01-29 Register file device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013055711A JP6070315B2 (ja) 2013-03-18 2013-03-18 レジスタファイル装置および情報処理装置

Publications (2)

Publication Number Publication Date
JP2014182846A JP2014182846A (ja) 2014-09-29
JP6070315B2 true JP6070315B2 (ja) 2017-02-01

Family

ID=51533919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013055711A Expired - Fee Related JP6070315B2 (ja) 2013-03-18 2013-03-18 レジスタファイル装置および情報処理装置

Country Status (2)

Country Link
US (1) US9373372B2 (ja)
JP (1) JP6070315B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170048942A (ko) 2015-10-27 2017-05-10 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
JP6780347B2 (ja) * 2016-07-28 2020-11-04 富士通株式会社 メモリ回路およびメモリ回路の制御方法
JP6901682B2 (ja) 2017-09-12 2021-07-14 富士通株式会社 記憶装置、演算処理装置及び記憶装置の制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04289587A (ja) * 1991-03-01 1992-10-14 Mitsubishi Electric Corp マルチポートram
WO2001067271A1 (fr) 2000-03-10 2001-09-13 Hitachi, Ltd. Dispositif de traitement d'informations
JP2003091992A (ja) * 2001-09-19 2003-03-28 Sony Corp マルチポートメモリ
JP2004071009A (ja) * 2002-08-02 2004-03-04 Sony Corp 半導体メモリ装置
US7363436B1 (en) * 2004-02-26 2008-04-22 Integrated Device Technology, Inc. Collision detection in a multi-port memory system
GB2426084A (en) 2005-05-13 2006-11-15 Agilent Technologies Inc Updating data in a dual port memory
US7836435B2 (en) * 2006-03-31 2010-11-16 Intel Corporation Checking for memory access collisions in a multi-processor architecture
US7606108B2 (en) * 2007-11-16 2009-10-20 Arm Limited Access collision within a multiport memory
US8923089B2 (en) * 2012-12-21 2014-12-30 Lsi Corporation Single-port read multiple-port write storage device using single-port memory cells

Also Published As

Publication number Publication date
JP2014182846A (ja) 2014-09-29
US9373372B2 (en) 2016-06-21
US20140281285A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
US7035152B1 (en) System and method for redundancy memory decoding
TWI478172B (zh) 在區域控制電路上使用位準偏移器之字線驅動器
US8917570B2 (en) Memory device and method for operating the same
US9569305B2 (en) Memory device and control method of memory device
US8588013B2 (en) Address decoding method and semiconductor memory device using the same
US7778105B2 (en) Memory with write port configured for double pump write
JPH1166851A (ja) クロックシフト回路装置、クロックシフト回路およびこれを用いた同期型半導体記憶装置
JP2015533011A (ja) 交差結合ビット線キーパーをもつメモリアレイ中で読取り書込み衝突中にクローバ電流を防げるダミー読取り
KR100911185B1 (ko) 라이트 오토 프리차지 신호 발생부를 공유하는 오토프리차지 회로
JP6070315B2 (ja) レジスタファイル装置および情報処理装置
TWI393137B (zh) 半導體裝置及其驅動方法
JP4888562B2 (ja) メモリ回路およびメモリ回路のデータ書き込み・読み出し方法
US20090290436A1 (en) Test circuit for multi-port memory device
JP2013073664A (ja) 半導体装置
US20090013225A1 (en) Test mode control circuit
US7821846B2 (en) Semiconductor memory device and its driving method
US7359256B2 (en) Semiconductor memory device
US9257158B2 (en) Semiconductor device
JP5072274B2 (ja) メモリ装置の書き込み回路
US10545822B2 (en) Semiconductor device
US8804453B2 (en) Integrated circuit including semiconductor memory devices having stack structure
US10706949B2 (en) Multi-port register file device and method of operation in normal mode and test mode
US7821845B2 (en) Write driver circuit of an unmuxed bit line scheme
JP2015115825A (ja) ラッチ回路及び半導体集積回路
US20070070798A1 (en) Internal address generator for use in semiconductor memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070315

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees