Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4291476B2 - Microprocessor - Google Patents
[go: Go Back, main page]

JP4291476B2 - Microprocessor - Google Patents

Microprocessor Download PDF

Info

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
Application number
JP32377799A
Other languages
Japanese (ja)
Other versions
JP2001142787A (en
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor Co 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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP32377799A priority Critical patent/JP4291476B2/en
Publication of JP2001142787A publication Critical patent/JP2001142787A/en
Application granted granted Critical
Publication of JP4291476B2 publication Critical patent/JP4291476B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 claim 2, it is also possible to perform predetermined data transfer in units of pages or blocks of each storage device.
[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 claim 4, it is also possible to select one storage device from N storage devices based on a selection signal input from the outside or a set value of an internal register.
[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 microprocessor 1 according to the first embodiment of the present invention includes an execution unit 3, an instruction address conversion unit 5, a data address conversion unit 7, and a bus interface unit 9, as shown in FIG.
[0017]
The execution unit 3 executes instructions such as arithmetic operation and condition determination.
[0018]
The instruction address conversion unit 5 converts the logical address sent from the execution unit 3 into a physical address. Then, the instruction is read from the storage device using the converted physical address and transferred to the execution unit 3. The instruction cache is provided in the instruction address conversion unit 5.
[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 execution unit 3 in accordance with the instruction of the execution unit 3. That is, data is read from the storage device and transferred to the execution unit 3, and data sent from the execution unit 3 is written to the storage device. The data cache is provided in the data address conversion unit 7.
[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 microprocessor 1.
[0021]
The greatest feature of the microprocessor 1 according to the first embodiment is that a signal (TS, DV, TA, TE, TR) for controlling data transfer between the bus interface unit 9 and the storage device is 2 bits. It is in width. According to such a configuration, as described later, one-to-two data transfer between the microprocessor 1 and the two storage devices is possible.
[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 microprocessor 1 according to the first embodiment, the width is 32 bits and A [0] is the most significant bit.
[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 microprocessor 1 according to the first embodiment shows eight types of modes as described below.
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 microprocessor 1 according to the first embodiment has a width of 32 bits, and D [0] is the most significant bit.
[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 microprocessor 1 of completion of data transfer from each storage device. TA [0] is for the 0-system storage device, and TA [1] is for the 1-system storage device.
[0030]
TE (Transaction Error) [0: 1]
This signal is used to notify the microprocessor 1 from each storage device that an error has occurred during data transfer. Care is taken (confirmed) in the cycle in which the corresponding TA [0: 1] is asserted. TE [0] is for the 0-system storage device, and TE [1] is for the 1-system storage device.
[0031]
TR (Transaction Retry) [0: 1]
This signal requests the microprocessor 1 to re-execute the data transfer operation from each storage device. Care is taken in the cycle in which the corresponding TA [0: 1] is asserted. TR [0] is for the 0-system storage device, and TR [1] is for the 1-system storage device.
[0032]
The instruction address conversion unit 5 and the data address conversion unit 7 included in the microprocessor 1 according to the first embodiment have a function of supporting the virtual storage system. Conversion from a logical address to a physical address is performed using an address conversion table. The address translation table includes a set of page descriptors structured as shown in FIG. Here, the function of each field and each flag will be described.
[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 microprocessor 1 according to the first embodiment converts a logical address into a physical address. This page descriptor is particularly characterized in that it has (8) duplex control flag.
[0042]
FIG. 3 shows the configuration of a system that includes the microprocessor 1 according to the first embodiment and has a dual storage device. A 0-system storage device M10 and a 1-system storage device M11 are connected to the microprocessor 1. Regarding TS, DV, TA, TE, and TR, the microprocessor 1 includes dedicated ports for the 0-system storage device M10 and the 1-system storage device M11. On the other hand, for A, BE, CMD, and D, the microprocessor 1 is provided with a common port for the 0-system storage device M10 and the 1-system storage device M11.
[0043]
The microprocessor 1 converts a logical address into a physical address and uses the physical address obtained by the conversion to access a storage device for the purpose of reading an instruction and reading / writing data. The microprocessor 1 can specify duplication when accessing the storage device. As described above, the duplex data transfer operation is designated by the (8) duplex control flag (see FIG. 2) in the page descriptor of the address translation table. In the page descriptor (page descriptor corresponding to the physical page to be accessed) used for address translation, (8) the duplex control flag is set, and the transfer operation to be executed is data for the storage device. In the write operation, the microprocessor 1 performs a duplicated data transfer operation and writes the same data to both the 0-system storage device M10 and the 1-system storage device M11. Hereinafter, the microprocessor 1 will be described with reference to a case where two types of write operations, that is, a single write operation for writing one word data to each storage device and a burst write operation for writing four words data, are possible.
[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 microprocessor 1 depending on its state (for example, whether or not it is in a refresh operation). From time T01 to time T07, the 0-system storage device M10 responds first and then the 1-system storage device M11 responds. From time T08 to time T14, the 1-system storage device M11 responds first. Then, the case where the 0-system storage device M10 responds is shown. Hereinafter, the operation of the microprocessor 1 will be described for each time.
[0045]
Time T01
The microprocessor 1 asserts TS [0: 1] to notify the 0-system storage device M10 and 1-system storage device M11 of the start of the data transfer operation, and uses A [0:31] to specify the address. Indicates which part of D [0:31] is used using BE [0: 3], and further indicates that the operation started using CMD [0: 2] is a single write operation. Show. Also, output of valid write data is started for the bits of D [0:31] specified by BE [0: 3]. Then, DV [0: 1] is asserted to indicate that TA [0: 1] is waiting for the 0-system storage device M10 and the 1-system storage device M11.
[0046]
Time T02
The microprocessor 1 waits for the assertion of TA [0: 1] by the 0-system storage device M10 or the 1-system storage device M11.
[0047]
Time T03
The 0-system storage device M10 asserts TA [0] to notify the completion of the write operation to the microprocessor 1 and indicates the completion status using TE [0] and TR [0].
[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 microprocessor 1 of the completion of the write operation in the same manner as the 0-system storage device M10.
[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 microprocessor 1 when the 1-system storage device M11 responds to the microprocessor 1 before the 0-system storage device M10 is shown. The storage device M10 performs substantially the same operation as the times T01 to T07 during which the storage device M10 responds before the first-system storage device M11.
[0052]
The above is the duplexed single write operation by the microprocessor 1. Next, a duplex burst write operation is shown in FIG.
[0053]
The operation of the microprocessor 1 from time T01 to time T04 is the same as the single write operation shown in FIG. In the burst write operation, another three words are transferred after time T05. The microprocessor 1 waits for a response from the 0-system storage device M10 and the 1-system storage device M11 for each word transfer.
[0054]
Furthermore, the single read operation of the microprocessor 1 according to the first embodiment is shown at times T01 to T07 in FIG. 6, the non-duplex single write operation is shown at times T08 to T14 in FIG. 6, and the non-duplex burst write operation is performed. FIG. 7 shows a burst read operation. 6 and 8, the 0-system storage device M10 is an ACT storage device, and the 1-system storage device M11 is an SBY storage device. On the other hand, in FIG. 7, the 1-system storage device M11 is an ACT storage device, and the 0-system storage device M10 is an SBY storage device. As shown in the figure, in the case of a single read operation, a burst read operation, a non-duplex single write operation, and a non-duplex burst write operation, the microprocessor 1 The transfer operation is executed only for the current ACT storage device. Note that either the 0-system storage device M10 or the 1-system storage device M11 is selected as the ACT storage device based on the signal from the outside of the microprocessor 1 or the setting of the internal register.
[0055]
According to the microprocessor 1 according to the first embodiment configured and operating as described above, two storage devices (the 0-system storage device M10 and the 1-system storage device M11) are connected to the microprocessor 1. Therefore, it is not necessary to provide a complicated control circuit for the outside, so that a faster data transfer operation is realized.
[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 microprocessor 2 according to the second embodiment and a 0-system storage device M20 and a 1-system storage device M21 connected thereto are shown in FIG.
[0059]
The greatest feature of the microprocessor 1 according to the first embodiment is that signals (TS, DV, TA, TE, TR) for controlling data transfer between the bus interface unit 9 and each storage device are two. There is a bit width. According to this configuration, a so-called one-to-two data transfer operation between the microprocessor 1 and the two storage devices can be performed. On the other hand, the microprocessor 2 according to the second embodiment is substantially the same as the conventional microprocessor in the configuration of the signal lines drawn from the bus interface unit so as to be plug compatible with the conventional microprocessor. It is said. That is, the TS, DV, TA, TE, and TR signal lines that existed two by two in the microprocessor 1 according to the first embodiment are all one in the microprocessor 2 according to the second embodiment. Each signal line is connected to both the 0-system storage device M20 and the 1-system storage device M21.
[0060]
Furthermore, the microprocessor 2 according to the second embodiment uses the most significant bit A [0] of the address signal A to distinguish between the 0-system storage device M20 and the 1-system storage device M21 as follows: It can be accessed individually.
[0061]
The microprocessor 2 according to the second embodiment can access a physical address space of 4 Gbytes using a 32-bit width address in the same manner as the microprocessor 1 according to the first embodiment. . Here, the 0-system storage device M20 is assigned to the lower 2 Gbyte range of the 4 Gbyte address space, that is, the range accessed when the most significant bit A [0] of the address is 0, and the 4 Gbyte address The 1-system storage device M21 is assigned to the upper 2 Gbyte range of the space, that is, the range accessed when the most significant bit A [0] of the address is 1.
[0062]
The microprocessor 2 according to the second embodiment operates in substantially the same manner as the microprocessor 1 according to the first embodiment with respect to selection of the ACT storage device and designation of the duplex data transfer operation by the address conversion unit. However, in the duplex data transfer operation, the two differ as follows.
[0063]
When the duplex data transfer operation is designated, the bus interface unit 9 provided in the microprocessor 1 according to the first embodiment sends the control signals (TS, DV, TA, TE, TR) each having a 2-bit width. The transfer operation between the 0-system storage device M10 and the 1-system storage device M11 is executed in parallel.
[0064]
On the other hand, in the microprocessor 2 according to the second embodiment, since the control signals (TS, DV, TA, TE, TR) are each 1 bit, the 0-system storage device M20 and the 1-system storage device M21. The transfer operation between the two is executed serially. That is, when the duplex data transfer operation is designated, the microprocessor 2 first performs the SBY system with the ACT system storage device designated by the most significant bit A [0] of the address signal A as follows. A total of two data transfer operations are performed with the storage device. Note that, in the microprocessor 2 according to the second embodiment, the duplicated data transfer is performed only in the case of a data write operation as in the microprocessor 1 according to the first embodiment.
[0065]
(1) Based on the signal from the outside of the microprocessor 2 or the setting of the internal register, either the 0-system storage device M20 or the 1-system storage device M21 is selected as the ACT storage device. Then, the microprocessor 2 performs a data transfer operation with the selected ACT storage device. Here, when the 0-system storage device M20 is selected as the ACT storage device, the most significant bit A [0] of the address A is set to 0, and when the 1-system storage device M21 is selected as the ACT storage device, Bit A [0] is set to 1.
[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 microprocessor 2 and the new storage device. In the data transfer of (2), other than bit A [0], that is, A [1:31], TS [0], BE [0], CMD [0: 2], D [0:31], DV [0], TA [0], TE [0], TR [0] are set to the same values as in the data transfer in (1).
[0067]
As described above, according to the microprocessor 2 according to the second embodiment, the same effect as that of the microprocessor 1 according to the first embodiment can be obtained, and the microprocessor 2 is configured as a plug compatible with the conventional microprocessor. Therefore, it is possible to directly adopt the conventional circuit without changing the design of the peripheral circuit.
[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 microprocessor 1 according to the first embodiment shares address lines, data lines, etc. with respect to the 0-system storage device M10 and the 1-system storage device M11 for the purpose of reducing the number of signal lines. However, if the data bus width and the number of terminals of the microprocessor are sufficient, independent signal lines can be assigned to each storage device. That is, according to the first embodiment, the microprocessor 1 includes a bus interface unit that can be connected to a bus line dedicated to the 0-system storage device M10 and a bus line dedicated to the 1-system storage device M11. Data transfer may be performed by selecting any bus line.
[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は,2以上整数である。)個の記憶装置に対するデータ転送の制御が可能なマイクロプロセッサであって,
前記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 .
前記所定のデータの転送を前記各記憶装置のページまたはブロック単位で行うことを特徴とする,請求項1に記載のマイクロプロセッサ。  2. The microprocessor according to claim 1, wherein the predetermined data is transferred in units of pages or blocks of each storage device. 前記N個の記憶装置それぞれに割り当てられた制御信号の入出力ポートを有することを特徴とする,請求項1または2に記載のマイクロプロセッサ。  3. The microprocessor according to claim 1, further comprising an input / output port for a control signal assigned to each of the N storage devices. 前記一の記憶装置を,外部から入力される選択信号,または,内部のレジスタの設定値に基づき,前記N個の記憶装置から選択することを特徴とする,請求項1,2,または3に記載のマイクロプロセッサ。  The one storage device is selected from the N storage devices based on a selection signal input from the outside or a set value of an internal register. The microprocessor described. 前記N個の記憶装置の全部が転送先として選択された場合,前記N個の記憶装置に対して,任意の順序で前記所定のデータを転送することを特徴とする,請求項1,2,3,または4に記載のマイクロプロセッサ。The predetermined data is transferred to the N storage devices in an arbitrary order when all of the N storage devices are selected as transfer destinations. 3. The microprocessor according to 3 or 4. 前記各記憶装置の記憶空間アドレスを指示するアドレス信号のビットの一部を用いて,前記データ転送が行われる記憶装置の順番を設定することを特徴とする,請求項5に記載のマイクロプロセッサ。  6. The microprocessor according to claim 5, wherein the order of the storage devices to which the data transfer is performed is set using a part of bits of an address signal indicating the storage space address of each storage device.
JP32377799A 1999-11-15 1999-11-15 Microprocessor Expired - Fee Related JP4291476B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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