JP4291476B2 - Microprocessor - Google Patents
Microprocessor Download PDFInfo
- Publication number
- JP4291476B2 JP4291476B2 JP32377799A JP32377799A JP4291476B2 JP 4291476 B2 JP4291476 B2 JP 4291476B2 JP 32377799 A JP32377799 A JP 32377799A JP 32377799 A JP32377799 A JP 32377799A JP 4291476 B2 JP4291476 B2 JP 4291476B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- microprocessor
- system storage
- data
- data transfer
- 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
Links
- 238000012546 transfer Methods 0.000 claims description 74
- 238000006243 chemical reaction Methods 0.000 claims description 17
- 230000015654 memory Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は,マイクロプロセッサにかかり,特に,ホットスタンバイ方式のもとに二重化された記憶装置を制御し,高信頼性システムを構成するマイクロプロセッサに関するものである。
【0002】
【従来の技術】
従来,記憶装置の二重化システムは,2つの記憶装置(0系記憶装置,1系記憶装置)とマイクロプロセッサがゲートアレイ等で構成されたインタフェース回路を介して接続されることによって実現されていた。
【0003】
システムが運用されている間,これら2個の記憶装置の一方がアクティブ(ACT)系記憶装置となり,他方がスタンバイ(SBY)系記憶装置となる。通常はACT系記憶装置によって各種の処理が実行されるが,ACT系記憶装置に何らかの障害が発生した場合にはSBY系記憶装置に切り替えられ処理が続行される。このような緊急時における2つの記憶装置の切り替え時間を短くするために,通常の処理の際,ACT系記憶装置にデータを書き込むとともにSBY系記憶装置にも同じデータを書き込み,両方の記憶装置が同じデータを保持する方式,いわゆる「ホットスタンバイ方式」が広く用いられている。
【0004】
ところで,記憶装置の二重化システムにおいて,マイクロプロセッサは一般的に,
・バスラインを介して外部とのデータ転送を行う。
・バスマスタとして各種のデータ転送動作を行う。
・アドレス等により指定される1個のバススレーブとの1対1のデータ転送を行う。
といった役割を果たすことになる。
【0005】
【発明が解決しようとする課題】
しかしながら,従来,ホットスタンバイ方式のもとに二重化された記憶装置をマイクロプロセッサによって制御する場合,以下のような問題があった。
【0006】
上述のように,基本的にマイクロプロセッサは,バスラインを介して,アドレス等により指定されるバススレーブとの1対1のデータ転送動作を行う。しかし,ホットスタンバイ方式による二重化記憶装置システムでは,マイクロプロセッサと2個の記憶装置(ACT系記憶装置およびSBY系記憶装置)との間の1対2のデータ転送動作が実現されなければならない。このため従来,マイクロプロセッサの外部には2個の記憶装置とのデータ転送についての待ち合わせ(タイミング)を制御する回路を設けなければならず,システム規模の増大に繋がっていた。
【0007】
ところで,二重化された記憶装置といえども,通常,メモリ空間の全てを二重化することはない。例えば,ファームウェアを格納する読み出し専用メモリやメモリ空間に割り付けられている入出力装置のレジスタなどは,メモリ空間の節約の観点から二重化しないことが多い。二重化が必要なデータのみ上述のようにデータ転送の待ち合わせ制御が行われ,2つの記憶装置の両方に書き込まれる。これに対して二重化が不要なデータは,一の記憶空間に書き込まれる。このように,データの二重化を選択的に行う場合,システムにおいて,二重化が必要なデータか否かを判断する必要があった。この点,従来のマイクロプロセッサは,記憶装置の二重化への対応が不十分であったため,外部回路によって二重化が必要なデータ転送か否かを判断せざるを得なかった。しかし,近年,バスラインを含むシステムの動作速度の向上が著しく,外部回路による二重化記憶装置の制御は,データ転送の効率化および高速化におけるボトルネックともなっていた。
【0008】
本発明は,上記のような問題点に鑑みてなされたものであり,その目的は,外部回路を設けることなく,二重化された記憶装置を効率よく制御することが可能なマイクロプロセッサを提供することにある。
【0009】
【課題を解決するための手段】
上記課題を解決するために,N(Nは,2以上整数である。)個の記憶装置に対するデータ転送の制御が可能なマイクロプロセッサが提供される。そして,このマイクロプロセッサは,請求項1に記載のように,N個の記憶装置から選択された一の記憶装置に対してのみ所定のデータを転送する1対1データ転送モード,または,N個の記憶装置の全てに対して所定のデータを転送する1対Nデータ転送モード,のいずれかを選択する多重データ転送制御フラグを含むアドレス変換テーブルを有することを特徴としている。かかる構成によれば,外部回路を設けることなく,1対Nデータ転送モードおよび1対1データ転送モードをスムーズに切り替えることが可能となる。したがって,データ転送が高速化されるとともに,マイクロプロセッサが組み込まれるシステムのコンパクトが実現する。
【0010】
請求項2に記載のように,所定のデータ転送を各記憶装置のページまたはブロック単位で行うことも可能である。
【0011】
請求項3に記載のように,N個の記憶装置それぞれに割り当てられた制御信号の入出力ポートを備えることによって,N個の記憶装置に対する所定のデータ転送をパラレルに実行することが可能となり,データ転送がより高速化することになる。
【0012】
請求項4に記載のように,外部から入力される選択信号,または,内部のレジスタの設定値に基づき,N個の記憶装置から一の記憶装置を選択することも可能である。
【0013】
請求項5によれば,1対Nデータ転送モードが選択された場合,N個の記憶装置それぞれに対して,順にデータ転送を実行することを特徴とするマイクロプロセッサが提供される。かかる構成によれば,N個の記憶装置それぞれに専用のバスラインを設けることなく,1対Nのデータ転送が可能となる。したがって,マイクロプロセッサが組み込まれるシステムのコンパクト化が実現する。
【0014】
請求項6に記載のように,各記憶装置の記憶空間アドレスを指示するアドレス信号のビットの一部を用いて,データ転送が行われる記憶装置の順番を設定することも可能である。かかる構成によれば,順番の設定のために新たにフラグ等を用意する必要がなく,従来のマイクロプロセッサとの互換性が維持されることになる。
【0015】
【発明の実施の形態】
以下に添付図面を参照しながら,本発明にかかるマイクロプロセッサの好適な実施の形態について詳細に説明する。なお,以下の説明および添付された図面において,略同一の機能および構成を有する構成要素については,同一符号を付することによって重複説明を省略する。
【0016】
(第1の実施の形態)
本発明の第1の実施の形態にかかるマイクロプロセッサ1は,図1に示すように,実行ユニット3,命令アドレス変換部5,データアドレス変換部7,およびバスインタフェース部9を有する。
【0017】
実行ユニット3は,演算操作や条件判断等の命令を実行する。
【0018】
命令アドレス変換部5は,実行ユニット3から送られてきた論理アドレスを物理アドレスに変換する。そして変換された物理アドレスを用いて記憶装置から命令を読み出し,実行ユニット3へ転送する。なお,命令キャッシュは,この命令アドレス変換部5に備えられている。
【0019】
データアドレス変換部7は,実行ユニット3の指示に従い,実行ユニット3から送られてきた論理アドレスを変換して得られる物理アドレスに基づき記憶装置にアクセスする。すなわち,記憶装置からデータを読み出して実行ユニット3に転送し,また,実行ユニット3から送られてきたデータを記憶装置に対して書き込む。なお,データキャッシュは,このデータアドレス変換部7に備えられている。
【0020】
バスインタフェース部9は,命令アドレス変換部5およびデータアドレス変換部7からの指示に基づき,外部とのデータの転送を実行する。バスインタフェース部9には,外部とのインタフェースに用いられ,信号群11を伝送するための複数の信号線が接続されている。なお,図1には,マイクロプロセッサ1のデータ転送動作に関連する信号線のみ示している。
【0021】
第1の実施の形態にかかるマイクロプロセッサ1の最大の特徴は,バスインタフェース部9と記憶装置との間のデータ転送を制御するための信号(TS,DV,TA,TE,TR)を2ビット幅としたことにある。かかる構成によれば,後述のように,マイクロプロセッサ1と2個の記憶装置との間の1対2のデータ転送が可能となる。
【0022】
次に,各信号について詳細に説明する。
【0023】
TS(Transaction Start)[0:1]
転送動作の開始を記憶装置に通知する信号である。TS[0]は0系記憶装置用であり,TS[1]は1系記憶装置用である。
【0024】
A(Address)[0:31]
2個の記憶装置にアドレスを転送するための信号である。第1の実施の形態にかかるマイクロプロセッサ1においては,32ビット幅であって,A[0]が最上位ビットである。
【0025】
BE(Byte Enable)[0:3]
実行中の転送動作において,データバスDのどのビットが使用されているかを通知するための信号である。例えば,データバスDが32ビット幅([0:31])のとき,BE[0:3]の各ビットの役割は以下の通りである。
BE[0]:現在の転送動作はデータバスD[0:7]を使用。
BE[1]:現在の転送動作はデータバスD[8:15]を使用。
BE[2]:現在の転送動作はデータバスD[16:23]を使用。
BE[3]:現在の転送動作はデータバスD[24:31]を使用。
【0026】
CMD(Command)[0:2]
実行するデータ転送動作のモードを示す。第1の実施の形態にかかるマイクロプロセッサ1においては以下に示すように8種類のモードを示す。
000:シングルリード(1語読み出し)
001:シングルライト(1語書き込み)
010:バーストリード(4語読み出し)
011:バーストライト(4語書き込み)
100:I/Oリード(1語読み出し)
101:I/Oライト(1語書き込み)
110:割り込みベクタリード(1語読み出し)
111:割り込み終了通知(1語書き込み)
【0027】
D(Data)[0:31]
データの転送に用いられる。第1の実施の形態にかかるマイクロプロセッサ1では32ビットの幅を持ち,D[0]が最上位ビットである。
【0028】
DV(Data Valid)[0:1]
各記憶装置に対して,TA[0:1]をアサートして良いタイミングを示す信号である。DV[0]は0系記憶装置用であり,DV[1]は1系記憶装置用である。
【0029】
TA(Transaction Acknowledge)[0:1]
各記憶装置からマイクロプロセッサ1に対してデータ転送の完了を通知するための信号である。TA[0]は0系記憶装置用であり,TA[1]は1系記憶装置用である。
【0030】
TE(Transaction Error)[0:1]
各記憶装置からマイクロプロセッサ1に対してデータ転送時にエラーが発生したことを通知するための信号である。対応するTA[0:1]がアサートされているサイクルにおいてケア(確認)される。TE[0]は0系記憶装置用であり,TE[1]は1系記憶装置用である。
【0031】
TR(Transaction Retry)[0:1]
各記憶装置からマイクロプロセッサ1に対してデータ転送動作の再実行を要求する信号である。対応するTA[0:1]がアサートされているサイクルにおいてケアされる。TR[0]は0系記憶装置用であり,TR[1]は1系記憶装置用である。
【0032】
第1の実施の形態にかかるマイクロプロセッサ1に備えられた命令アドレス変換部5およびデータアドレス変換部7は,仮想記憶システムをサポートする機能を有する。論理アドレスから物理アドレスへの変換は,アドレス変換テーブルを用いて行われる。アドレス変換テーブルは,図2に示すような構造のページ記述子の集合を含む。ここで,各フィールドおよび各フラグの機能を説明する。
【0033】
▲1▼物理ページ番号フィールド
物理アドレスにおけるページ番号を指定するフィールドである。本実施の形態ではページサイズが4KB,アドレスが32ビットである場合に即して説明しており,物理ページ番号フィールドは20ビットとされている。
【0034】
▲2▼予約フィールド
本実施の形態においては,未使用である。
【0035】
▲3▼キャッシュ制御フィールド
▲1▼物理ページ番号フィールドで指定されたページをアクセスする際のキャッシュメモリの動作を規定する。本実施の形態において,本フィールドにセットされる各値は次のようにキャッシュメモリの動作を規定する。
00,01:当該ページをキャッシュしない。
10:当該ページをライトスルーモードでキャッシュする。
11:当該ページをコピーバックモードでキャッシュする。
【0036】
▲4▼保護属性フィールド
本実施の形態において,本フィールドにセットされる各値は次のように保護属性を規定する。
000:特権モードである場合に限り,データの読み出しのみを許可。
001:特権モードである場合に限り,データの読み出しおよび書き込みを許可。
010:特権モードである場合に限り,命令およびデータの読み出しを許可。
011:特権モードである場合に限り,全てのアクセスを許可。
100:特権モードでは全てのアクセスを許可。それ以外のモードではデータの読み出しのみを許可。
101:特権モードでは全てのアクセスを許可。それ以外のモードではデータの読み出しおよび書き込みを許可。
110:特権モードでは全てのアクセスを許可。それ以外のモードでは命令およびデータの読み出しを許可。
111:特権モード以外であっても(全てのモードで),全てのアクセスを許可。
【0037】
▲5▼アクセスフラグ
当該ページを最初にアクセスした際にセットされる。
【0038】
▲6▼修正フラグ
当該ページに対する最初の書き込みの際にセットされる。
【0039】
▲7▼ページ不在フラグ
当該ページが補助記憶装置にスワップアウトされていることを示す。
【0040】
▲8▼二重化制御フラグ
当該ページに対してアクセスする際に,二重化データ転送動作(後述)を行うことを指定する。
【0041】
以上が,第1の実施の形態にかかるマイクロプロセッサ1が論理アドレスを物理アドレスに変換する際に用いるページ記述子である。このページ記述子の特徴は,特に▲8▼二重化制御フラグを備えている点にある。
【0042】
第1の実施の形態にかかるマイクロプロセッサ1を備え,記憶装置の二重化が図られたシステムの構成を図3に示す。マイクロプロセッサ1に対して,0系記憶装置M10および1系記憶装置M11が接続されている。TS,DV,TA,TE,およびTRに関しては,マイクロプロセッサ1には0系記憶装置M10および1系記憶装置M11それぞれの専用ポートが備えられている。対して,A,BE,CMD,およびDに関しては,マイクロプロセッサ1には0系記憶装置M10および1系記憶装置M11共通のポートが備えられている。
【0043】
マイクロプロセッサ1は,論理アドレスを物理アドレスに変換し,変換して得られた物理アドレスを用い,命令の読み出しおよびデータの読み出し/書き込み等の目的で記憶装置にアクセスする。そして,マイクロプロセッサ1は,記憶装置へのアクセスの際,二重化の指定を行うことが可能である。上述の通り,二重化データ転送動作の指定はアドレス変換テーブルのページ記述子にある▲8▼二重化制御フラグ(図2参照)によって行われる。アドレス変換の際に使用されるページ記述子(アクセスしようとしている物理ページに対応するページ記述子)において,▲8▼二重化制御フラグがセットされており,かつ,実行する転送動作が記憶装置に対するデータの書き込み動作の場合,マイクロプロセッサ1は,二重化されたデータ転送動作を行い,0系記憶装置M10および1系記憶装置M11の両方に同じデータを書き込む。以下,マイクロプロセッサ1は,各記憶装置に対して1語のデータを書き込むシングルライト動作および4語のデータを書き込むバーストライト動作の2種類の書き込み動作が可能である場合に即して説明する。
【0044】
まず,シングルライト動作について図4を用いて説明する。0系記憶装置M10および1系記憶装置M11は,それぞれの状態(例えば,リフレッシュ動作にあるか否か)によって,マイクロプロセッサ1に対してどちらかが先に応答する。時間T01から時間T07までは,0系記憶装置M10が先に応答し,続いて1系記憶装置M11が応答した場合を示し,時間T08から時間T14までは,1系記憶装置M11が先に応答し,続いて0系記憶装置M10が応答した場合を示している。以下,各時間毎にマイクロプロセッサ1の動作を説明する。
【0045】
時間T01
マイクロプロセッサ1は,TS[0:1]をアサートして0系記憶装置M10および1系記憶装置M11に対してデータ転送動作の開始を通知するとともに,A[0:31]を用いてアドレスを示し,BE[0:3]を用いてD[0:31]のどの部分が使用されるかを示し,さらにCMD[0:2]を用いて開始される動作がシングルライト動作であることを示す。また,BE[0:3]によって指示されたD[0:31]のビットに対して有効な書き込みデータの出力を開始する。そして,DV[0:1]をアサートして0系記憶装置M10および1系記憶装置M11に対して,TA[0:1]のアサートを待っていることを示す。
【0046】
時間T02
マイクロプロセッサ1が,0系記憶装置M10または1系記憶装置M11によるTA[0:1]のアサートを待つ。
【0047】
時間T03
0系記憶装置M10がTA[0]をアサートして書き込み動作の完了をマイクロプロセッサ1に対して通知するとともに,TE[0]およびTR[0]を用いて完了状況を示す。
【0048】
時間T04
前のサイクル(時間T03)で0系記憶装置M10への書き込み動作が完了し,TA[0]がアサートされたため,DV[0]をネゲートし,0系記憶装置M10に対してデータ転送動作の完了を通知する。1系記憶装置M11がTA[1]をアサートして0系記憶装置M10と同様に書き込み動作の完了をマイクロプロセッサ1に対して通知する。
【0049】
時間T05
前のサイクル(時間T04)で1系記憶装置M11への書き込み動作が完了し,TA[1]がアサートされたため,DV[1]をネゲートし,1系記憶装置M11に対してデータ転送動作の完了を通知する。
【0050】
時間T06,T07
0系記憶装置M10および1系記憶装置M11へのデータ書き込み動作,すなわち二重化されたデータ転送動作が完了した状態である。
【0051】
時間T08〜T14
時間T08以降は,上述の通り,1系記憶装置M11が0系記憶装置M10より先にマイクロプロセッサ1に応答した場合のマイクロプロセッサ1の動作を示しており,この応答の順番を除き,0系記憶装置M10が1系記憶装置M11より先に応答している時間T01〜T07と略同一の動作を行う。
【0052】
以上がマイクロプロセッサ1による二重化されたシングルライト動作である。次に,二重化されたバーストライト動作を図5に示す。
【0053】
時間T01から時間T04までのマイクロプロセッサ1の動作は,図4に示したシングルライト動作と同様である。バーストライト動作の場合,時間T05以降に,さらに3語分の転送が行われている。マイクロプロセッサ1は,各語の転送ごとに0系記憶装置M10および1系記憶装置M11の応答を待っている。
【0054】
さらに,第1の実施の形態にかかるマイクロプロセッサ1のシングルリード動作を図6の時間T01〜T07に示し,非二重化シングルライト動作を図6の時間T08〜T14に示し,非二重化バーストライト動作を図7に示し,バーストリード動作を図8に示す。図6,図8では,0系記憶装置M10がACT系記憶装置とされ,1系記憶装置M11がSBY系記憶装置とされている。逆に,図7では,1系記憶装置M11がACT系記憶装置とされ,0系記憶装置M10がSBY系記憶装置とされている。図示のように,マイクロプロセッサ1は,二重化されたシングルライト動作および二重化されたバーストライト動作以外,すなわちシングルリード動作,バーストリード動作,非二重化シングルライト動作,および非二重化バーストライト動作の場合,そのときのACT系記憶装置のみを対象として転送動作を実行する。なお,マイクロプロセッサ1の外部からの信号または内部レジスタの設定に基づき,0系記憶装置M10または1系記憶装置M11のいずれかがACT系記憶装置として選択される。
【0055】
以上のように構成され動作する第1の実施の形態にかかるマイクロプロセッサ1によれば,マイクロプロセッサ1に対して2個の記憶装置(0系記憶装置M10および1系記憶装置M11)を接続するための複雑な制御回路を外部に設ける必要がなくなるため,より高速なデータ転送動作が実現する。
【0056】
また,必要な部品点数が少なくなるため,低コストで信頼性の高いシステムが提供されることになる。
【0057】
さらに,二重化データ転送動作の対象となるアドレスの範囲をソフトウェアによって細かく設定し,記憶空間に二重化された領域と二重化されていない領域を併存させることが可能となる。高い信頼性が要求される処理を二重化された領域で実行し,それ以外の処理を二重化されていない領域で実行することによって,システムのコストパフォーマンスの向上が実現する。
【0058】
(第2の実施の形態)
第2の実施の形態にかかるマイクロプロセッサ2およびこれに接続されている0系記憶装置M20,1系記憶装置M21を図9に示す。
【0059】
第1の実施の形態にかかるマイクロプロセッサ1の最大の特徴は,バスインタフェース部9と各記憶装置との間のデータ転送を制御するための信号(TS,DV,TA,TE,TR)を2ビット幅としたことにある。かかる構成によれば,マイクロプロセッサ1と2個の記憶装置との間のいわゆる1対2のデータ転送動作が可能となる。これに対して,第2の実施の形態にかかるマイクロプロセッサ2は,従来のマイクロプロセッサとプラグコンパチブルとするために,バスインタフェース部から引き出されている信号線の構成を従来のマイクロプロセッサと略同一としている。すなわち,第1の実施の形態にかかるマイクロプロセッサ1において2本ずつ存在していたTS,DV,TA,TE,TRの信号線が,第2の実施の形態にかかるマイクロプロセッサ2では全て1本とされており,各信号線は0系記憶装置M20および1系記憶装置M21の両方に接続されている。
【0060】
さらに,第2の実施の形態にかかるマイクロプロセッサ2は,アドレス信号Aの最上位ビットA[0]を用いて,次のように0系記憶装置M20と1系記憶装置M21とを区別し,個別にアクセスすることが可能とされている。
【0061】
第2の実施の形態にかかるマイクロプロセッサ2は,第1の実施の形態にかかるマイクロプロセッサ1と同様に32ビット幅のアドレスを用いて4Gバイトの物理アドレス空間にアクセスを行うことが可能である。ここで,4Gバイトのアドレス空間の下位の2Gバイトの範囲,すなわちアドレスの最上位ビットA[0]が0である場合にアクセスされる範囲に0系記憶装置M20が割り当てられ,4Gバイトのアドレス空間の上位の2Gバイトの範囲,すなわちアドレスの最上位ビットA[0]が1である場合にアクセスされる範囲に1系記憶装置M21が割り当てられる。
【0062】
第2の実施の形態にかかるマイクロプロセッサ2は,ACT系記憶装置の選択およびアドレス変換部による二重化データ転送動作の指定に関して第1の実施の形態にかかるマイクロプロセッサ1と略同一に動作する。ただし,二重化データ転送動作において,両者は次のように相違する。
【0063】
二重化データ転送動作が指定された場合,第1の実施の形態にかかるマイクロプロセッサ1に備えられたバスインタフェース部9は,各2ビット幅の制御信号(TS,DV,TA,TE,TR)を用いて,0系記憶装置M10および1系記憶装置M11双方との間の転送動作をパラレル(並列的)に実行する。
【0064】
これに対して,第2の実施の形態にかかるマイクロプロセッサ2において,制御信号(TS,DV,TA,TE,TR)はそれぞれ1ビットであるため,0系記憶装置M20および1系記憶装置M21双方との間の転送動作をシリアル(直列的)に実行する。つまり,二重化データ転送動作が指定された場合,マイクロプロセッサ2は下記のように,まず,アドレス信号Aの最上位ビットA[0]によって指定したACT系記憶装置との間で,続いてSBY系記憶装置との間で,計2回のデータ転送動作を行う。なお,第2の実施の形態にかかるマイクロプロセッサ2において,二重化されたデータ転送は,第1の実施の形態にかかるマイクロプロセッサ1と同様にデータ書き込み動作の場合にのみ実施される。
【0065】
(1)マイクロプロセッサ2の外部からの信号または内部レジスタの設定に基づき,0系記憶装置M20または1系記憶装置M21のいずれかがACT系記憶装置として選択される。そして,マイクロプロセッサ2は,選択されたACT系記憶装置との間でデータ転送動作を行う。ここで,ACT系記憶装置として0系記憶装置M20が選択された場合,アドレスAの最上位ビットA[0]は0とされ,ACT系記憶装置として1系記憶装置M21が選択された場合,ビットA[0]は1とされる。
【0066】
(2)アドレスAの最上位ビットA[0]の値を反転させる。(1)のとき,ビットA[0]が0であれば1に反転させ,1であれば0に反転させる。これによってデータ転送先の記憶装置が切り替わり,マイクロプロセッサ2と新たな記憶装置との間でデータ転送動作が行われる。なお,(2)のデータ転送において,ビットA[0]以外,すなわちA[1:31],TS[0],BE[0],CMD[0:2],D[0:31],DV[0],TA[0],TE[0],TR[0]は,(1)のデータ転送のときと同じ値に設定される。
【0067】
以上のように第2の実施の形態にかかるマイクロプロセッサ2によれば,第1の実施の形態にかかるマイクロプロセッサ1と同様の効果が得られるとともに,従来のマイクロプロセッサとプラグコンパチブルとして構成されているため,周辺回路を設計変更することなく,そのまま従来システムに採用することが可能となる。
【0068】
添付図面を参照しながら本発明の好適な実施の形態について説明したが,本発明はかかる実施の形態に限定されない。当業者であれば,特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり,それらについても当然に本発明の技術的範囲に属するものと了解される。
【0069】
例えば,第1の実施の形態にかかるマイクロプロセッサ1は,信号線の数をより少なくすることを目的として,0系記憶装置M10および1系記憶装置M11に対してアドレス線,データ線等を共通化した構成を採用しているが,データバスの幅,マイクロプロセッサの端子数について余裕があれば,各記憶装置に対して独立した信号線を割り当てることも可能である。すなわち,第1の実施の形態に即して説明すれば,マイクロプロセッサ1は,0系記憶装置M10専用のバスラインおよび1系記憶装置M11専用のバスラインに接続可能なバスインタフェース部を備え,いずれかのバスラインを選択してデータ転送を行ってもよい。
【0070】
また,第2の実施の形態では,0系記憶装置M20および1系記憶装置M21それぞれを指定するために,アドレス信号Aの一部(最上位ビットA[0])を用いる場合について説明した。しかし,マイクロプロセッサに利用可能な端子がある場合には,その端子を記憶装置の選択信号用に割り当てることも可能である。
【0071】
【発明の効果】
以上説明したように,本発明によれば,複数の記憶装置との間のデータ転送についての待ち合わせを制御する外部回路が不要となり,システム規模のコンパクト化が実現する。また,各記憶装置との間のデータ転送の効率化および高速化が可能となる。
【図面の簡単な説明】
【図1】第1の実施の形態にかかるマイクロプロセッサの構成を示すブロック図である。
【図2】図1のマイクロプロセッサが有するアドレス変換テーブルのページ記述子の構造を示す説明図である。
【図3】図1のマイクロプロセッサと,0系記憶装置,1系記憶装置との接続関係を示すブロック図である。
【図4】図3のマイクロプロセッサと,0系記憶装置,1系記憶装置との間の二重化シングルライト動作を示すタイミングチャートである。
【図5】図3のマイクロプロセッサと,0系記憶装置,1系記憶装置との間の二重化バーストライト動作を示すタイミングチャートである。
【図6】図3のマイクロプロセッサと,0系記憶装置,1系記憶装置との間のシングルリード動作および非二重化シングルライト動作を示すタイミングチャートである。
【図7】図3のマイクロプロセッサと,0系記憶装置,1系記憶装置との間の非二重化バーストライト動作を示すタイミングチャートである。
【図8】図3のマイクロプロセッサと,0系記憶装置,1系記憶装置との間のバーストリード動作を示すタイミングチャートである。
【図9】第2の実施の形態にかかるマイクロプロセッサと,0系記憶装置,1系記憶装置との接続関係を示すブロック図である。
【符号の説明】
1:マイクロプロセッサ
2:マイクロプロセッサ
3:実行ユニット
5:命令アドレス変換部
7:データアドレス変換部
9:バスインタフェース部
11:信号群
M10:0系記憶装置
M11:1系記憶装置
M20:0系記憶装置
M21:1系記憶装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a microprocessor, and more particularly to a microprocessor that configures a highly reliable system by controlling a redundant storage device under a hot standby system.
[0002]
[Prior art]
Conventionally, a redundant system of storage devices has been realized by connecting two storage devices (0-system storage device, 1-system storage device) and a microprocessor via an interface circuit composed of a gate array or the like.
[0003]
While the system is in operation, one of these two storage devices becomes an active (ACT) storage device and the other becomes a standby (SBY) storage device. Normally, various types of processing are executed by the ACT storage device. However, if any failure occurs in the ACT storage device, the processing is continued by switching to the SBY storage device. In order to shorten the switching time between the two storage devices in such an emergency, during normal processing, the data is written to the ACT storage device and the same data is also written to the SBY storage device. A so-called “hot standby method” that holds the same data is widely used.
[0004]
By the way, in a redundant storage system, a microprocessor is generally
・ Transfer data to the outside via the bus line.
• Performs various data transfer operations as a bus master.
-One-to-one data transfer with one bus slave specified by an address or the like is performed.
Will play a role.
[0005]
[Problems to be solved by the invention]
However, conventionally, when a dual storage device is controlled by a microprocessor under the hot standby system, there are the following problems.
[0006]
As described above, the microprocessor basically performs a one-to-one data transfer operation with a bus slave specified by an address or the like via a bus line. However, in the dual storage system using the hot standby method, a one-to-two data transfer operation between the microprocessor and the two storage devices (ACT storage device and SBY storage device) must be realized. For this reason, conventionally, a circuit for controlling waiting (timing) for data transfer with two storage devices has to be provided outside the microprocessor, leading to an increase in system scale.
[0007]
By the way, even if the storage device is duplicated, the entire memory space is not usually duplicated. For example, read-only memories that store firmware and registers of input / output devices allocated to the memory space are often not duplicated from the viewpoint of saving memory space. Only data that needs to be duplicated is subjected to data transfer waiting control as described above, and written to both of the two storage devices. On the other hand, data that does not require duplication is written in one storage space. As described above, when data duplication is selectively performed, it is necessary to determine whether the data needs to be duplicated in the system. In this regard, conventional microprocessors have not been able to cope with the duplication of storage devices, so it has been necessary to determine whether or not the data transfer requires duplication by an external circuit. However, in recent years, the operating speed of a system including a bus line has been remarkably improved, and the control of a redundant storage device by an external circuit has become a bottleneck in improving the efficiency and speed of data transfer.
[0008]
The present invention has been made in view of the above problems, and an object of the present invention is to provide a microprocessor capable of efficiently controlling a duplicated storage device without providing an external circuit. It is in.
[0009]
[Means for Solving the Problems]
In order to solve the above-described problem, a microprocessor capable of controlling data transfer to N storage devices (N is an integer of 2 or more) is provided. In the microprocessor, the one-to-one data transfer mode for transferring predetermined data only to one storage device selected from the N storage devices, or N And an address conversion table including a multiple data transfer control flag for selecting one of the 1 to N data transfer modes for transferring predetermined data to all the storage devices. According to such a configuration, it is possible to smoothly switch between the 1 to N data transfer mode and the 1 to 1 data transfer mode without providing an external circuit. Therefore, the data transfer speed is increased, and a compact system incorporating the microprocessor is realized.
[0010]
As described in
[0011]
According to the third aspect of the present invention, by providing the input / output port of the control signal assigned to each of the N storage devices, it becomes possible to execute predetermined data transfer to the N storage devices in parallel. Data transfer will be faster.
[0012]
As described in
[0013]
According to a fifth aspect of the present invention, there is provided a microprocessor characterized in that, when the 1 to N data transfer mode is selected, data transfer is sequentially executed for each of the N storage devices. According to such a configuration, 1 to N data transfer is possible without providing a dedicated bus line for each of the N storage devices. Therefore, a compact system incorporating the microprocessor is realized.
[0014]
As described in claim 6, it is also possible to set the order of the storage devices to which data transfer is performed using a part of the bits of the address signal indicating the storage space address of each storage device. According to such a configuration, it is not necessary to prepare a new flag or the like for setting the order, and compatibility with a conventional microprocessor is maintained.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of a microprocessor according to the present invention will be described below in detail with reference to the accompanying drawings. In the following description and the attached drawings, constituent elements having substantially the same function and configuration are denoted by the same reference numerals, and redundant description is omitted.
[0016]
(First embodiment)
The
[0017]
The
[0018]
The instruction address conversion unit 5 converts the logical address sent from the
[0019]
The data address conversion unit 7 accesses the storage device based on the physical address obtained by converting the logical address sent from the
[0020]
The bus interface unit 9 performs data transfer with the outside based on instructions from the instruction address conversion unit 5 and the data address conversion unit 7. The bus interface unit 9 is connected to a plurality of signal lines used for an interface with the outside and for transmitting the signal group 11. FIG. 1 shows only signal lines related to the data transfer operation of the
[0021]
The greatest feature of the
[0022]
Next, each signal will be described in detail.
[0023]
TS (Transaction Start) [0: 1]
This signal notifies the storage device of the start of the transfer operation. TS [0] is for the 0-system storage device, and TS [1] is for the 1-system storage device.
[0024]
A (Address) [0:31]
This is a signal for transferring an address to two storage devices. In the
[0025]
BE (Byte Enable) [0: 3]
This is a signal for notifying which bit of the data bus D is used in the transfer operation being executed. For example, when the data bus D is 32 bits wide ([0:31]), the role of each bit of BE [0: 3] is as follows.
BE [0]: The current transfer operation uses the data bus D [0: 7].
BE [1]: The current transfer operation uses the data bus D [8:15].
BE [2]: The current transfer operation uses the data bus D [16:23].
BE [3]: The current transfer operation uses the data bus D [24:31].
[0026]
CMD (Command) [0: 2]
Indicates the mode of data transfer operation to be performed. The
000: Single read (read one word)
001: Single write (1 word write)
010: Burst read (4 words read)
011: Burst write (4 words write)
100: I / O read (one word read)
101: I / O write (1 word write)
110: Interrupt vector read (read one word)
111: Interrupt end notification (1 word write)
[0027]
D (Data) [0:31]
Used for data transfer. The
[0028]
DV (Data Valid) [0: 1]
This signal indicates the timing at which TA [0: 1] can be asserted for each storage device. DV [0] is for the 0-system storage device, and DV [1] is for the 1-system storage device.
[0029]
TA (Transaction Acknowledge) [0: 1]
This is a signal for notifying the
[0030]
TE (Transaction Error) [0: 1]
This signal is used to notify the
[0031]
TR (Transaction Retry) [0: 1]
This signal requests the
[0032]
The instruction address conversion unit 5 and the data address conversion unit 7 included in the
[0033]
(1) Physical page number field
This field specifies the page number in the physical address. In this embodiment, the description is given in the case where the page size is 4 KB and the address is 32 bits, and the physical page number field is 20 bits.
[0034]
(2) Reserved field
In this embodiment, it is not used.
[0035]
(3) Cache control field
{Circle around (1)} Defines the operation of the cache memory when accessing the page specified in the physical page number field. In the present embodiment, each value set in this field defines the operation of the cache memory as follows.
00, 01: The page is not cached.
10: Cache the page in write-through mode.
11: Cache the page in copyback mode.
[0036]
(4) Protection attribute field
In the present embodiment, each value set in this field defines a protection attribute as follows.
000: Only data reading is permitted only in privileged mode.
001: Reading and writing of data are permitted only in privileged mode.
010: Permits reading of instructions and data only in privileged mode.
011: All access is permitted only in privileged mode.
100: All access is permitted in privileged mode. In other modes, only data reading is allowed.
101: All access is permitted in the privileged mode. In other modes, reading and writing of data are permitted.
110: All access is permitted in the privileged mode. In other modes, reading of instructions and data is permitted.
111: All accesses are permitted even in non-privileged mode (in all modes).
[0037]
(5) Access flag
Set when the page is first accessed.
[0038]
(6) Correction flag
Set on first write to the page.
[0039]
▲ 7 ▼ Page absence flag
Indicates that the page has been swapped out to auxiliary storage.
[0040]
(8) Redundant control flag
Specifies that a duplex data transfer operation (described later) is performed when accessing the page.
[0041]
The above is the page descriptor used when the
[0042]
FIG. 3 shows the configuration of a system that includes the
[0043]
The
[0044]
First, the single write operation will be described with reference to FIG. One of the 0-system storage device M10 and the 1-system storage device M11 responds first to the
[0045]
Time T01
The
[0046]
Time T02
The
[0047]
Time T03
The 0-system storage device M10 asserts TA [0] to notify the completion of the write operation to the
[0048]
Time T04
Since the write operation to the 0-system storage device M10 is completed in the previous cycle (time T03) and TA [0] is asserted, DV [0] is negated and the data transfer operation to the 0-system storage device M10 is performed. Notify completion. The 1-system storage device M11 asserts TA [1] and notifies the
[0049]
Time T05
In the previous cycle (time T04), the write operation to the 1-system storage device M11 is completed and TA [1] is asserted, so DV [1] is negated and the data transfer operation to the 1-system storage device M11 is performed. Notify completion.
[0050]
Time T06, T07
This is a state in which the data write operation to the 0-system storage device M10 and the 1-system storage device M11, that is, the duplicated data transfer operation is completed.
[0051]
Time T08-T14
After time T08, as described above, the operation of the
[0052]
The above is the duplexed single write operation by the
[0053]
The operation of the
[0054]
Furthermore, the single read operation of the
[0055]
According to the
[0056]
In addition, since the number of necessary parts is reduced, a low-cost and highly reliable system is provided.
[0057]
Furthermore, it is possible to finely set the address range to be subjected to the duplex data transfer operation by software, and to make the double and non-duplicated areas coexist in the storage space. By executing processing that requires high reliability in a duplexed area and executing other processes in a non-redundant area, the cost performance of the system can be improved.
[0058]
(Second Embodiment)
A
[0059]
The greatest feature of the
[0060]
Furthermore, the
[0061]
The
[0062]
The
[0063]
When the duplex data transfer operation is designated, the bus interface unit 9 provided in the
[0064]
On the other hand, in the
[0065]
(1) Based on the signal from the outside of the
[0066]
(2) The value of the most significant bit A [0] of the address A is inverted. At (1), if bit A [0] is 0, it is inverted to 1, and if it is 1, it is inverted to 0. As a result, the data transfer destination storage device is switched, and a data transfer operation is performed between the
[0067]
As described above, according to the
[0068]
The preferred embodiments of the present invention have been described with reference to the accompanying drawings, but the present invention is not limited to such embodiments. It will be obvious to those skilled in the art that various changes or modifications can be conceived within the scope of the technical idea described in the claims, and these are naturally within the technical scope of the present invention. It is understood that it belongs.
[0069]
For example, the
[0070]
In the second embodiment, the case where a part of the address signal A (the most significant bit A [0]) is used to specify each of the 0-system storage device M20 and the 1-system storage device M21 has been described. However, if there is an available terminal on the microprocessor, it is also possible to assign that terminal for the selection signal of the storage device.
[0071]
【The invention's effect】
As described above, according to the present invention, an external circuit for controlling waiting for data transfer with a plurality of storage devices is not required, and a system scale can be reduced. In addition, it is possible to increase the efficiency and speed of data transfer with each storage device.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a microprocessor according to a first embodiment.
FIG. 2 is an explanatory diagram showing a structure of a page descriptor of an address conversion table included in the microprocessor of FIG. 1;
3 is a block diagram showing a connection relationship between the microprocessor of FIG. 1, the 0-system storage device, and the 1-system storage device. FIG.
4 is a timing chart showing a duplex single write operation between the microprocessor of FIG. 3, the 0-system storage device, and the 1-system storage device. FIG.
5 is a timing chart showing a duplex burst write operation between the microprocessor of FIG. 3, the 0-system storage device, and the 1-system storage device. FIG.
6 is a timing chart showing a single read operation and a non-redundant single write operation between the microprocessor of FIG. 3, the 0-system storage device, and the 1-system storage device. FIG.
7 is a timing chart showing a non-redundant burst write operation between the microprocessor of FIG. 3, the 0-system storage device, and the 1-system storage device. FIG.
8 is a timing chart showing a burst read operation between the microprocessor of FIG. 3, the 0-system storage device, and the 1-system storage device. FIG.
FIG. 9 is a block diagram showing a connection relationship between a microprocessor according to a second embodiment, a 0-system storage device, and a 1-system storage device;
[Explanation of symbols]
1: Microprocessor
2: Microprocessor
3: Execution unit
5: Instruction address converter
7: Data address converter
9: Bus interface section
11: Signal group
M10: 0 system storage device
M11: 1 system storage device
M20: 0 system storage device
M21: 1 system storage device
Claims (6)
前記N個の記憶装置の全部またはいずれかを所定のデータの転送先として選択するための多重データ転送制御フラグを含むアドレス変換テーブルを有し,
前記所定のデータと併せて、前記N個の記憶装置の各々に対応する複数のビットを転送し,
前記複数のビットのうちで、転送先として選択された記憶装置に対応するビットは所定のビット値を有する,マイクロプロセッサ。A microprocessor capable of controlling data transfer to N (N is an integer of 2 or more) storage devices,
An address conversion table including a multiple data transfer control flag for selecting all or any of the N storage devices as a transfer destination of predetermined data;
Along with the predetermined data, a plurality of bits corresponding to each of the N storage devices are transferred,
A microprocessor in which a bit corresponding to a storage device selected as a transfer destination among the plurality of bits has a predetermined bit value .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32377799A JP4291476B2 (en) | 1999-11-15 | 1999-11-15 | Microprocessor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP32377799A JP4291476B2 (en) | 1999-11-15 | 1999-11-15 | Microprocessor |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001142787A JP2001142787A (en) | 2001-05-25 |
| JP4291476B2 true JP4291476B2 (en) | 2009-07-08 |
Family
ID=18158513
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP32377799A Expired - Fee Related JP4291476B2 (en) | 1999-11-15 | 1999-11-15 | Microprocessor |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4291476B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5321782B2 (en) * | 2008-01-22 | 2013-10-23 | 日本電気株式会社 | Redundant system and memory copy method |
| KR100940868B1 (en) * | 2009-05-25 | 2010-02-09 | 이성재 | Device realizing read characteristic of sram from dram and method of the same |
-
1999
- 1999-11-15 JP JP32377799A patent/JP4291476B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001142787A (en) | 2001-05-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6370611B1 (en) | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data | |
| KR960001273B1 (en) | Single chip microcomputer | |
| US6067595A (en) | Method and apparatus for enabling high-performance intelligent I/O subsystems using multi-port memories | |
| EP1466255B1 (en) | Supercharge message exchanger | |
| US6529989B1 (en) | Intelligent expansion ROM sharing bus subsystem | |
| JPH08314794A (en) | Method and system for reducing latency of access to stable storage | |
| US5274795A (en) | Peripheral I/O bus and programmable bus interface for computer data acquisition | |
| KR20070085561A (en) | Memory system containing a sector buffer | |
| WO2009029176A1 (en) | Bridge device with page-access based processor interface | |
| CN100357925C (en) | 8051 series microprocessor application system based on AMBA bus | |
| JPH03135641A (en) | Microprocessor | |
| US4513369A (en) | Information processing system | |
| US6173383B1 (en) | Interface bridge between a system bus and local buses with translation of local addresses for system space access programmable by address space | |
| CN119201822B (en) | A PCIe switch chip with storage and network acceleration functions | |
| GB2360377A (en) | Interface for bank of disk drives | |
| US6092170A (en) | Data transfer apparatus between devices | |
| JP4291476B2 (en) | Microprocessor | |
| US20120254552A1 (en) | Memory access remapping | |
| JPS581451B2 (en) | Data transfer method | |
| JPH11232213A (en) | Data transfer system for input/output device | |
| JP3206960B2 (en) | Extended central processing unit | |
| US20260037435A1 (en) | NVMe SSD AND STORAGE SYSTEM INCLUDING THE SAME | |
| JPH05165641A (en) | Single chip microcomputer | |
| JP4421148B2 (en) | Debug system | |
| JPS6230108Y2 (en) |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060224 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080620 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080624 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
| A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20090114 |
|
| RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20090203 |
|
| 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: 20090317 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090403 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120410 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130410 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140410 Year of fee payment: 5 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |