(57)【特許請求の範囲】
【請求項１】
Ｎ（Ｎは，２以上整数である。）個の記憶装置に対するデータ転送の制御が可能なマイクロプロセッサであって，
前記Ｎ個の記憶装置の全部またはいずれかを所定のデータの転送先として選択するための多重データ転送制御フラグを含むアドレス変換テーブルを有し，
前記所定のデータと併せて、前記Ｎ個の記憶装置の各々に対応する複数のビットを転送し，
前記複数のビットのうちで、転送先として選択された記憶装置に対応するビットは所定のビット値を有する，マイクロプロセッサ。
【請求項２】
前記所定のデータの転送を前記各記憶装置のページまたはブロック単位で行うことを特徴とする，請求項１に記載のマイクロプロセッサ。
【請求項３】
前記Ｎ個の記憶装置それぞれに割り当てられた制御信号の入出力ポートを有することを特徴とする，請求項１または２に記載のマイクロプロセッサ。
【請求項４】
前記一の記憶装置を，外部から入力される選択信号，または，内部のレジスタの設定値に基づき，前記Ｎ個の記憶装置から選択することを特徴とする，請求項１，２，または３に記載のマイクロプロセッサ。
【請求項５】
前記Ｎ個の記憶装置の全部が転送先として選択された場合，前記Ｎ個の記憶装置に対して，任意の順序で前記所定のデータを転送することを特徴とする，請求項１，２，３，または４に記載のマイクロプロセッサ。
【請求項６】
前記各記憶装置の記憶空間アドレスを指示するアドレス信号のビットの一部を用いて，前記データ転送が行われる記憶装置の順番を設定することを特徴とする，請求項５に記載のマイクロプロセッサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，マイクロプロセッサにかかり，特に，ホットスタンバイ方式のもとに二重化された記憶装置を制御し，高信頼性システムを構成するマイクロプロセッサに関するものである。
【０００２】
【従来の技術】
従来，記憶装置の二重化システムは，２つの記憶装置（０系記憶装置，１系記憶装置）とマイクロプロセッサがゲートアレイ等で構成されたインタフェース回路を介して接続されることによって実現されていた。
【０００３】
システムが運用されている間，これら２個の記憶装置の一方がアクティブ（ＡＣＴ）系記憶装置となり，他方がスタンバイ（ＳＢＹ）系記憶装置となる。通常はＡＣＴ系記憶装置によって各種の処理が実行されるが，ＡＣＴ系記憶装置に何らかの障害が発生した場合にはＳＢＹ系記憶装置に切り替えられ処理が続行される。このような緊急時における２つの記憶装置の切り替え時間を短くするために，通常の処理の際，ＡＣＴ系記憶装置にデータを書き込むとともにＳＢＹ系記憶装置にも同じデータを書き込み，両方の記憶装置が同じデータを保持する方式，いわゆる「ホットスタンバイ方式」が広く用いられている。
【０００４】
ところで，記憶装置の二重化システムにおいて，マイクロプロセッサは一般的に，
・バスラインを介して外部とのデータ転送を行う。
・バスマスタとして各種のデータ転送動作を行う。
・アドレス等により指定される１個のバススレーブとの１対１のデータ転送を行う。
といった役割を果たすことになる。
【０００５】
【発明が解決しようとする課題】
しかしながら，従来，ホットスタンバイ方式のもとに二重化された記憶装置をマイクロプロセッサによって制御する場合，以下のような問題があった。
【０００６】
上述のように，基本的にマイクロプロセッサは，バスラインを介して，アドレス等により指定されるバススレーブとの１対１のデータ転送動作を行う。しかし，ホットスタンバイ方式による二重化記憶装置システムでは，マイクロプロセッサと２個の記憶装置（ＡＣＴ系記憶装置およびＳＢＹ系記憶装置）との間の１対２のデータ転送動作が実現されなければならない。このため従来，マイクロプロセッサの外部には２個の記憶装置とのデータ転送についての待ち合わせ（タイミング）を制御する回路を設けなければならず，システム規模の増大に繋がっていた。
【０００７】
ところで，二重化された記憶装置といえども，通常，メモリ空間の全てを二重化することはない。例えば，ファームウェアを格納する読み出し専用メモリやメモリ空間に割り付けられている入出力装置のレジスタなどは，メモリ空間の節約の観点から二重化しないことが多い。二重化が必要なデータのみ上述のようにデータ転送の待ち合わせ制御が行われ，２つの記憶装置の両方に書き込まれる。これに対して二重化が不要なデータは，一の記憶空間に書き込まれる。このように，データの二重化を選択的に行う場合，システムにおいて，二重化が必要なデータか否かを判断する必要があった。この点，従来のマイクロプロセッサは，記憶装置の二重化への対応が不十分であったため，外部回路によって二重化が必要なデータ転送か否かを判断せざるを得なかった。しかし，近年，バスラインを含むシステムの動作速度の向上が著しく，外部回路による二重化記憶装置の制御は，データ転送の効率化および高速化におけるボトルネックともなっていた。
【０００８】
本発明は，上記のような問題点に鑑みてなされたものであり，その目的は，外部回路を設けることなく，二重化された記憶装置を効率よく制御することが可能なマイクロプロセッサを提供することにある。
【０００９】
【課題を解決するための手段】
上記課題を解決するために，Ｎ（Ｎは，２以上整数である。）個の記憶装置に対するデータ転送の制御が可能なマイクロプロセッサが提供される。そして，このマイクロプロセッサは，請求項１に記載のように，Ｎ個の記憶装置から選択された一の記憶装置に対してのみ所定のデータを転送する１対１データ転送モード，または，Ｎ個の記憶装置の全てに対して所定のデータを転送する１対Ｎデータ転送モード，のいずれかを選択する多重データ転送制御フラグを含むアドレス変換テーブルを有することを特徴としている。かかる構成によれば，外部回路を設けることなく，１対Ｎデータ転送モードおよび１対１データ転送モードをスムーズに切り替えることが可能となる。したがって，データ転送が高速化されるとともに，マイクロプロセッサが組み込まれるシステムのコンパクトが実現する。
【００１０】
請求項２に記載のように，所定のデータ転送を各記憶装置のページまたはブロック単位で行うことも可能である。
【００１１】
請求項３に記載のように，Ｎ個の記憶装置それぞれに割り当てられた制御信号の入出力ポートを備えることによって，Ｎ個の記憶装置に対する所定のデータ転送をパラレルに実行することが可能となり，データ転送がより高速化することになる。
【００１２】
請求項４に記載のように，外部から入力される選択信号，または，内部のレジスタの設定値に基づき，Ｎ個の記憶装置から一の記憶装置を選択することも可能である。
【００１３】
請求項５によれば，１対Ｎデータ転送モードが選択された場合，Ｎ個の記憶装置それぞれに対して，順にデータ転送を実行することを特徴とするマイクロプロセッサが提供される。かかる構成によれば，Ｎ個の記憶装置それぞれに専用のバスラインを設けることなく，１対Ｎのデータ転送が可能となる。したがって，マイクロプロセッサが組み込まれるシステムのコンパクト化が実現する。
【００１４】
請求項６に記載のように，各記憶装置の記憶空間アドレスを指示するアドレス信号のビットの一部を用いて，データ転送が行われる記憶装置の順番を設定することも可能である。かかる構成によれば，順番の設定のために新たにフラグ等を用意する必要がなく，従来のマイクロプロセッサとの互換性が維持されることになる。
【００１５】
【発明の実施の形態】
以下に添付図面を参照しながら，本発明にかかるマイクロプロセッサの好適な実施の形態について詳細に説明する。なお，以下の説明および添付された図面において，略同一の機能および構成を有する構成要素については，同一符号を付することによって重複説明を省略する。
【００１６】
（第１の実施の形態）
本発明の第１の実施の形態にかかるマイクロプロセッサ１は，図１に示すように，実行ユニット３，命令アドレス変換部５，データアドレス変換部７，およびバスインタフェース部９を有する。
【００１７】
実行ユニット３は，演算操作や条件判断等の命令を実行する。
【００１８】
命令アドレス変換部５は，実行ユニット３から送られてきた論理アドレスを物理アドレスに変換する。そして変換された物理アドレスを用いて記憶装置から命令を読み出し，実行ユニット３へ転送する。なお，命令キャッシュは，この命令アドレス変換部５に備えられている。
【００１９】
データアドレス変換部７は，実行ユニット３の指示に従い，実行ユニット３から送られてきた論理アドレスを変換して得られる物理アドレスに基づき記憶装置にアクセスする。すなわち，記憶装置からデータを読み出して実行ユニット３に転送し，また，実行ユニット３から送られてきたデータを記憶装置に対して書き込む。なお，データキャッシュは，このデータアドレス変換部７に備えられている。
【００２０】
バスインタフェース部９は，命令アドレス変換部５およびデータアドレス変換部７からの指示に基づき，外部とのデータの転送を実行する。バスインタフェース部９には，外部とのインタフェースに用いられ，信号群１１を伝送するための複数の信号線が接続されている。なお，図１には，マイクロプロセッサ１のデータ転送動作に関連する信号線のみ示している。
【００２１】
第１の実施の形態にかかるマイクロプロセッサ１の最大の特徴は，バスインタフェース部９と記憶装置との間のデータ転送を制御するための信号（ＴＳ，ＤＶ，ＴＡ，ＴＥ，ＴＲ）を２ビット幅としたことにある。かかる構成によれば，後述のように，マイクロプロセッサ１と２個の記憶装置との間の１対２のデータ転送が可能となる。
【００２２】
次に，各信号について詳細に説明する。
【００２３】
ＴＳ(Transaction Start)［０：１］
転送動作の開始を記憶装置に通知する信号である。ＴＳ［０］は０系記憶装置用であり，ＴＳ［１］は１系記憶装置用である。
【００２４】
Ａ(Address)［０：３１］
２個の記憶装置にアドレスを転送するための信号である。第１の実施の形態にかかるマイクロプロセッサ１においては，３２ビット幅であって，Ａ［０］が最上位ビットである。
【００２５】
ＢＥ(Byte Enable)［０：３］
実行中の転送動作において，データバスＤのどのビットが使用されているかを通知するための信号である。例えば，データバスＤが３２ビット幅（［０：３１］）のとき，ＢＥ［０：３］の各ビットの役割は以下の通りである。
ＢＥ［０］：現在の転送動作はデータバスＤ［０：７］を使用。
ＢＥ［１］：現在の転送動作はデータバスＤ［８：１５］を使用。
ＢＥ［２］：現在の転送動作はデータバスＤ［１６：２３］を使用。
ＢＥ［３］：現在の転送動作はデータバスＤ［２４：３１］を使用。
【００２６】
ＣＭＤ(Command)［０：２］
実行するデータ転送動作のモードを示す。第１の実施の形態にかかるマイクロプロセッサ１においては以下に示すように８種類のモードを示す。
０００：シングルリード（１語読み出し）
００１：シングルライト（１語書き込み）
０１０：バーストリード（４語読み出し）
０１１：バーストライト（４語書き込み）
１００：Ｉ／Ｏリード（１語読み出し）
１０１：Ｉ／Ｏライト（１語書き込み）
１１０：割り込みベクタリード（１語読み出し）
１１１：割り込み終了通知（１語書き込み）
【００２７】
Ｄ(Data)［０：３１］
データの転送に用いられる。第１の実施の形態にかかるマイクロプロセッサ１では３２ビットの幅を持ち，Ｄ［０］が最上位ビットである。
【００２８】
ＤＶ(Data Valid)［０：１］
各記憶装置に対して，ＴＡ［０：１］をアサートして良いタイミングを示す信号である。ＤＶ［０］は０系記憶装置用であり，ＤＶ［１］は１系記憶装置用である。
【００２９】
ＴＡ(Transaction Acknowledge)［０：１］
各記憶装置からマイクロプロセッサ１に対してデータ転送の完了を通知するための信号である。ＴＡ［０］は０系記憶装置用であり，ＴＡ［１］は１系記憶装置用である。
【００３０】
ＴＥ(Transaction Error)［０：１］
各記憶装置からマイクロプロセッサ１に対してデータ転送時にエラーが発生したことを通知するための信号である。対応するＴＡ［０：１］がアサートされているサイクルにおいてケア（確認）される。ＴＥ［０］は０系記憶装置用であり，ＴＥ［１］は１系記憶装置用である。
【００３１】
ＴＲ(Transaction Retry)［０：１］
各記憶装置からマイクロプロセッサ１に対してデータ転送動作の再実行を要求する信号である。対応するＴＡ［０：１］がアサートされているサイクルにおいてケアされる。ＴＲ［０］は０系記憶装置用であり，ＴＲ［１］は１系記憶装置用である。
【００３２】
第１の実施の形態にかかるマイクロプロセッサ１に備えられた命令アドレス変換部５およびデータアドレス変換部７は，仮想記憶システムをサポートする機能を有する。論理アドレスから物理アドレスへの変換は，アドレス変換テーブルを用いて行われる。アドレス変換テーブルは，図２に示すような構造のページ記述子の集合を含む。ここで，各フィールドおよび各フラグの機能を説明する。
【００３３】
▲１▼物理ページ番号フィールド
物理アドレスにおけるページ番号を指定するフィールドである。本実施の形態ではページサイズが４ＫＢ，アドレスが３２ビットである場合に即して説明しており，物理ページ番号フィールドは２０ビットとされている。
【００３４】
▲２▼予約フィールド
本実施の形態においては，未使用である。
【００３５】
▲３▼キャッシュ制御フィールド
▲１▼物理ページ番号フィールドで指定されたページをアクセスする際のキャッシュメモリの動作を規定する。本実施の形態において，本フィールドにセットされる各値は次のようにキャッシュメモリの動作を規定する。
００，０１：当該ページをキャッシュしない。
１０：当該ページをライトスルーモードでキャッシュする。
１１：当該ページをコピーバックモードでキャッシュする。
【００３６】
▲４▼保護属性フィールド
本実施の形態において，本フィールドにセットされる各値は次のように保護属性を規定する。
０００：特権モードである場合に限り，データの読み出しのみを許可。
００１：特権モードである場合に限り，データの読み出しおよび書き込みを許可。
０１０：特権モードである場合に限り，命令およびデータの読み出しを許可。
０１１：特権モードである場合に限り，全てのアクセスを許可。
１００：特権モードでは全てのアクセスを許可。それ以外のモードではデータの読み出しのみを許可。
１０１：特権モードでは全てのアクセスを許可。それ以外のモードではデータの読み出しおよび書き込みを許可。
１１０：特権モードでは全てのアクセスを許可。それ以外のモードでは命令およびデータの読み出しを許可。
１１１：特権モード以外であっても（全てのモードで），全てのアクセスを許可。
【００３７】
▲５▼アクセスフラグ
当該ページを最初にアクセスした際にセットされる。
【００３８】
▲６▼修正フラグ
当該ページに対する最初の書き込みの際にセットされる。
【００３９】
▲７▼ページ不在フラグ
当該ページが補助記憶装置にスワップアウトされていることを示す。
【００４０】
▲８▼二重化制御フラグ
当該ページに対してアクセスする際に，二重化データ転送動作（後述）を行うことを指定する。
【００４１】
以上が，第１の実施の形態にかかるマイクロプロセッサ１が論理アドレスを物理アドレスに変換する際に用いるページ記述子である。このページ記述子の特徴は，特に▲８▼二重化制御フラグを備えている点にある。
【００４２】
第１の実施の形態にかかるマイクロプロセッサ１を備え，記憶装置の二重化が図られたシステムの構成を図３に示す。マイクロプロセッサ１に対して，０系記憶装置Ｍ１０および１系記憶装置Ｍ１１が接続されている。ＴＳ，ＤＶ，ＴＡ，ＴＥ，およびＴＲに関しては，マイクロプロセッサ１には０系記憶装置Ｍ１０および１系記憶装置Ｍ１１それぞれの専用ポートが備えられている。対して，Ａ，ＢＥ，ＣＭＤ，およびＤに関しては，マイクロプロセッサ１には０系記憶装置Ｍ１０および１系記憶装置Ｍ１１共通のポートが備えられている。
【００４３】
マイクロプロセッサ１は，論理アドレスを物理アドレスに変換し，変換して得られた物理アドレスを用い，命令の読み出しおよびデータの読み出し／書き込み等の目的で記憶装置にアクセスする。そして，マイクロプロセッサ１は，記憶装置へのアクセスの際，二重化の指定を行うことが可能である。上述の通り，二重化データ転送動作の指定はアドレス変換テーブルのページ記述子にある▲８▼二重化制御フラグ（図２参照）によって行われる。アドレス変換の際に使用されるページ記述子（アクセスしようとしている物理ページに対応するページ記述子）において，▲８▼二重化制御フラグがセットされており，かつ，実行する転送動作が記憶装置に対するデータの書き込み動作の場合，マイクロプロセッサ１は，二重化されたデータ転送動作を行い，０系記憶装置Ｍ１０および１系記憶装置Ｍ１１の両方に同じデータを書き込む。以下，マイクロプロセッサ１は，各記憶装置に対して１語のデータを書き込むシングルライト動作および４語のデータを書き込むバーストライト動作の２種類の書き込み動作が可能である場合に即して説明する。
【００４４】
まず，シングルライト動作について図４を用いて説明する。０系記憶装置Ｍ１０および１系記憶装置Ｍ１１は，それぞれの状態（例えば，リフレッシュ動作にあるか否か）によって，マイクロプロセッサ１に対してどちらかが先に応答する。時間Ｔ０１から時間Ｔ０７までは，０系記憶装置Ｍ１０が先に応答し，続いて１系記憶装置Ｍ１１が応答した場合を示し，時間Ｔ０８から時間Ｔ１４までは，１系記憶装置Ｍ１１が先に応答し，続いて０系記憶装置Ｍ１０が応答した場合を示している。以下，各時間毎にマイクロプロセッサ１の動作を説明する。
【００４５】
時間Ｔ０１
マイクロプロセッサ１は，ＴＳ［０：１］をアサートして０系記憶装置Ｍ１０および１系記憶装置Ｍ１１に対してデータ転送動作の開始を通知するとともに，Ａ［０：３１］を用いてアドレスを示し，ＢＥ［０：３］を用いてＤ［０：３１］のどの部分が使用されるかを示し，さらにＣＭＤ［０：２］を用いて開始される動作がシングルライト動作であることを示す。また，ＢＥ［０：３］によって指示されたＤ［０：３１］のビットに対して有効な書き込みデータの出力を開始する。そして，ＤＶ［０：１］をアサートして０系記憶装置Ｍ１０および１系記憶装置Ｍ１１に対して，ＴＡ［０：１］のアサートを待っていることを示す。
【００４６】
時間Ｔ０２
マイクロプロセッサ１が，０系記憶装置Ｍ１０または１系記憶装置Ｍ１１によるＴＡ［０：１］のアサートを待つ。
【００４７】
時間Ｔ０３
０系記憶装置Ｍ１０がＴＡ［０］をアサートして書き込み動作の完了をマイクロプロセッサ１に対して通知するとともに，ＴＥ［０］およびＴＲ［０］を用いて完了状況を示す。
【００４８】
時間Ｔ０４
前のサイクル（時間Ｔ０３）で０系記憶装置Ｍ１０への書き込み動作が完了し，ＴＡ［０］がアサートされたため，ＤＶ［０］をネゲートし，０系記憶装置Ｍ１０に対してデータ転送動作の完了を通知する。１系記憶装置Ｍ１１がＴＡ［１］をアサートして０系記憶装置Ｍ１０と同様に書き込み動作の完了をマイクロプロセッサ１に対して通知する。
【００４９】
時間Ｔ０５
前のサイクル（時間Ｔ０４）で１系記憶装置Ｍ１１への書き込み動作が完了し，ＴＡ［１］がアサートされたため，ＤＶ［１］をネゲートし，１系記憶装置Ｍ１１に対してデータ転送動作の完了を通知する。
【００５０】
時間Ｔ０６，Ｔ０７
０系記憶装置Ｍ１０および１系記憶装置Ｍ１１へのデータ書き込み動作，すなわち二重化されたデータ転送動作が完了した状態である。
【００５１】
時間Ｔ０８〜Ｔ１４
時間Ｔ０８以降は，上述の通り，１系記憶装置Ｍ１１が０系記憶装置Ｍ１０より先にマイクロプロセッサ１に応答した場合のマイクロプロセッサ１の動作を示しており，この応答の順番を除き，０系記憶装置Ｍ１０が１系記憶装置Ｍ１１より先に応答している時間Ｔ０１〜Ｔ０７と略同一の動作を行う。
【００５２】
以上がマイクロプロセッサ１による二重化されたシングルライト動作である。次に，二重化されたバーストライト動作を図５に示す。
【００５３】
時間Ｔ０１から時間Ｔ０４までのマイクロプロセッサ１の動作は，図４に示したシングルライト動作と同様である。バーストライト動作の場合，時間Ｔ０５以降に，さらに３語分の転送が行われている。マイクロプロセッサ１は，各語の転送ごとに０系記憶装置Ｍ１０および１系記憶装置Ｍ１１の応答を待っている。
【００５４】
さらに，第１の実施の形態にかかるマイクロプロセッサ１のシングルリード動作を図６の時間Ｔ０１〜Ｔ０７に示し，非二重化シングルライト動作を図６の時間Ｔ０８〜Ｔ１４に示し，非二重化バーストライト動作を図７に示し，バーストリード動作を図８に示す。図６，図８では，０系記憶装置Ｍ１０がＡＣＴ系記憶装置とされ，１系記憶装置Ｍ１１がＳＢＹ系記憶装置とされている。逆に，図７では，１系記憶装置Ｍ１１がＡＣＴ系記憶装置とされ，０系記憶装置Ｍ１０がＳＢＹ系記憶装置とされている。図示のように，マイクロプロセッサ１は，二重化されたシングルライト動作および二重化されたバーストライト動作以外，すなわちシングルリード動作，バーストリード動作，非二重化シングルライト動作，および非二重化バーストライト動作の場合，そのときのＡＣＴ系記憶装置のみを対象として転送動作を実行する。なお，マイクロプロセッサ１の外部からの信号または内部レジスタの設定に基づき，０系記憶装置Ｍ１０または１系記憶装置Ｍ１１のいずれかがＡＣＴ系記憶装置として選択される。
【００５５】
以上のように構成され動作する第１の実施の形態にかかるマイクロプロセッサ１によれば，マイクロプロセッサ１に対して２個の記憶装置（０系記憶装置Ｍ１０および１系記憶装置Ｍ１１）を接続するための複雑な制御回路を外部に設ける必要がなくなるため，より高速なデータ転送動作が実現する。
【００５６】
また，必要な部品点数が少なくなるため，低コストで信頼性の高いシステムが提供されることになる。
【００５７】
さらに，二重化データ転送動作の対象となるアドレスの範囲をソフトウェアによって細かく設定し，記憶空間に二重化された領域と二重化されていない領域を併存させることが可能となる。高い信頼性が要求される処理を二重化された領域で実行し，それ以外の処理を二重化されていない領域で実行することによって，システムのコストパフォーマンスの向上が実現する。
【００５８】
（第２の実施の形態）
第２の実施の形態にかかるマイクロプロセッサ２およびこれに接続されている０系記憶装置Ｍ２０，１系記憶装置Ｍ２１を図９に示す。
【００５９】
第１の実施の形態にかかるマイクロプロセッサ１の最大の特徴は，バスインタフェース部９と各記憶装置との間のデータ転送を制御するための信号（ＴＳ，ＤＶ，ＴＡ，ＴＥ，ＴＲ）を２ビット幅としたことにある。かかる構成によれば，マイクロプロセッサ１と２個の記憶装置との間のいわゆる１対２のデータ転送動作が可能となる。これに対して，第２の実施の形態にかかるマイクロプロセッサ２は，従来のマイクロプロセッサとプラグコンパチブルとするために，バスインタフェース部から引き出されている信号線の構成を従来のマイクロプロセッサと略同一としている。すなわち，第１の実施の形態にかかるマイクロプロセッサ１において２本ずつ存在していたＴＳ，ＤＶ，ＴＡ，ＴＥ，ＴＲの信号線が，第２の実施の形態にかかるマイクロプロセッサ２では全て１本とされており，各信号線は０系記憶装置Ｍ２０および１系記憶装置Ｍ２１の両方に接続されている。
【００６０】
さらに，第２の実施の形態にかかるマイクロプロセッサ２は，アドレス信号Ａの最上位ビットＡ［０］を用いて，次のように０系記憶装置Ｍ２０と１系記憶装置Ｍ２１とを区別し，個別にアクセスすることが可能とされている。
【００６１】
第２の実施の形態にかかるマイクロプロセッサ２は，第１の実施の形態にかかるマイクロプロセッサ１と同様に３２ビット幅のアドレスを用いて４Ｇバイトの物理アドレス空間にアクセスを行うことが可能である。ここで，４Ｇバイトのアドレス空間の下位の２Ｇバイトの範囲，すなわちアドレスの最上位ビットＡ［０］が０である場合にアクセスされる範囲に０系記憶装置Ｍ２０が割り当てられ，４Ｇバイトのアドレス空間の上位の２Ｇバイトの範囲，すなわちアドレスの最上位ビットＡ［０］が１である場合にアクセスされる範囲に１系記憶装置Ｍ２１が割り当てられる。
【００６２】
第２の実施の形態にかかるマイクロプロセッサ２は，ＡＣＴ系記憶装置の選択およびアドレス変換部による二重化データ転送動作の指定に関して第１の実施の形態にかかるマイクロプロセッサ１と略同一に動作する。ただし，二重化データ転送動作において，両者は次のように相違する。
【００６３】
二重化データ転送動作が指定された場合，第１の実施の形態にかかるマイクロプロセッサ１に備えられたバスインタフェース部９は，各２ビット幅の制御信号（ＴＳ，ＤＶ，ＴＡ，ＴＥ，ＴＲ）を用いて，０系記憶装置Ｍ１０および１系記憶装置Ｍ１１双方との間の転送動作をパラレル（並列的）に実行する。
【００６４】
これに対して，第２の実施の形態にかかるマイクロプロセッサ２において，制御信号（ＴＳ，ＤＶ，ＴＡ，ＴＥ，ＴＲ）はそれぞれ１ビットであるため，０系記憶装置Ｍ２０および１系記憶装置Ｍ２１双方との間の転送動作をシリアル（直列的）に実行する。つまり，二重化データ転送動作が指定された場合，マイクロプロセッサ２は下記のように，まず，アドレス信号Ａの最上位ビットＡ［０］によって指定したＡＣＴ系記憶装置との間で，続いてＳＢＹ系記憶装置との間で，計２回のデータ転送動作を行う。なお，第２の実施の形態にかかるマイクロプロセッサ２において，二重化されたデータ転送は，第１の実施の形態にかかるマイクロプロセッサ１と同様にデータ書き込み動作の場合にのみ実施される。
【００６５】
（１）マイクロプロセッサ２の外部からの信号または内部レジスタの設定に基づき，０系記憶装置Ｍ２０または１系記憶装置Ｍ２１のいずれかがＡＣＴ系記憶装置として選択される。そして，マイクロプロセッサ２は，選択されたＡＣＴ系記憶装置との間でデータ転送動作を行う。ここで，ＡＣＴ系記憶装置として０系記憶装置Ｍ２０が選択された場合，アドレスＡの最上位ビットＡ［０］は０とされ，ＡＣＴ系記憶装置として１系記憶装置Ｍ２１が選択された場合，ビットＡ［０］は１とされる。
【００６６】
（２）アドレスＡの最上位ビットＡ［０］の値を反転させる。（１）のとき，ビットＡ［０］が０であれば１に反転させ，１であれば０に反転させる。これによってデータ転送先の記憶装置が切り替わり，マイクロプロセッサ２と新たな記憶装置との間でデータ転送動作が行われる。なお，（２）のデータ転送において，ビットＡ［０］以外，すなわちＡ［１：３１］，ＴＳ［０］，ＢＥ［０］，ＣＭＤ［０：２］，Ｄ［０：３１］，ＤＶ［０］，ＴＡ［０］，ＴＥ［０］，ＴＲ［０］は，（１）のデータ転送のときと同じ値に設定される。
【００６７】
以上のように第２の実施の形態にかかるマイクロプロセッサ２によれば，第１の実施の形態にかかるマイクロプロセッサ１と同様の効果が得られるとともに，従来のマイクロプロセッサとプラグコンパチブルとして構成されているため，周辺回路を設計変更することなく，そのまま従来システムに採用することが可能となる。
【００６８】
添付図面を参照しながら本発明の好適な実施の形態について説明したが，本発明はかかる実施の形態に限定されない。当業者であれば，特許請求の範囲に記載された技術的思想の範疇内において各種の変更例または修正例に想到し得ることは明らかであり，それらについても当然に本発明の技術的範囲に属するものと了解される。
【００６９】
例えば，第１の実施の形態にかかるマイクロプロセッサ１は，信号線の数をより少なくすることを目的として，０系記憶装置Ｍ１０および１系記憶装置Ｍ１１に対してアドレス線，データ線等を共通化した構成を採用しているが，データバスの幅，マイクロプロセッサの端子数について余裕があれば，各記憶装置に対して独立した信号線を割り当てることも可能である。すなわち，第１の実施の形態に即して説明すれば，マイクロプロセッサ１は，０系記憶装置Ｍ１０専用のバスラインおよび１系記憶装置Ｍ１１専用のバスラインに接続可能なバスインタフェース部を備え，いずれかのバスラインを選択してデータ転送を行ってもよい。
【００７０】
また，第２の実施の形態では，０系記憶装置Ｍ２０および１系記憶装置Ｍ２１それぞれを指定するために，アドレス信号Ａの一部（最上位ビットＡ［０］）を用いる場合について説明した。しかし，マイクロプロセッサに利用可能な端子がある場合には，その端子を記憶装置の選択信号用に割り当てることも可能である。
【００７１】
【発明の効果】
以上説明したように，本発明によれば，複数の記憶装置との間のデータ転送についての待ち合わせを制御する外部回路が不要となり，システム規模のコンパクト化が実現する。また，各記憶装置との間のデータ転送の効率化および高速化が可能となる。
【図面の簡単な説明】
【図１】第１の実施の形態にかかるマイクロプロセッサの構成を示すブロック図である。
【図２】図１のマイクロプロセッサが有するアドレス変換テーブルのページ記述子の構造を示す説明図である。
【図３】図１のマイクロプロセッサと，０系記憶装置，１系記憶装置との接続関係を示すブロック図である。
【図４】図３のマイクロプロセッサと，０系記憶装置，１系記憶装置との間の二重化シングルライト動作を示すタイミングチャートである。
【図５】図３のマイクロプロセッサと，０系記憶装置，１系記憶装置との間の二重化バーストライト動作を示すタイミングチャートである。
【図６】図３のマイクロプロセッサと，０系記憶装置，１系記憶装置との間のシングルリード動作および非二重化シングルライト動作を示すタイミングチャートである。
【図７】図３のマイクロプロセッサと，０系記憶装置，１系記憶装置との間の非二重化バーストライト動作を示すタイミングチャートである。
【図８】図３のマイクロプロセッサと，０系記憶装置，１系記憶装置との間のバーストリード動作を示すタイミングチャートである。
【図９】第２の実施の形態にかかるマイクロプロセッサと，０系記憶装置，１系記憶装置との接続関係を示すブロック図である。
【符号の説明】
１：マイクロプロセッサ
２：マイクロプロセッサ
３：実行ユニット
５：命令アドレス変換部
７：データアドレス変換部
９：バスインタフェース部
１１：信号群
Ｍ１０：０系記憶装置
Ｍ１１：１系記憶装置
Ｍ２０：０系記憶装置
Ｍ２１：１系記憶装置
【図１】
0004291476.tif 000002
【図２】
0004291476.tif 000003
【図３】
0004291476.tif 000004
【図４】
0004291476.tif 000005
【図５】
0004291476.tif 000006
【図６】
0004291476.tif 000007
【図７】
0004291476.tif 000008
【図８】
0004291476.tif 000009
【図９】
0004291476.tif 000010