JP2003280923A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JP2003280923A
JP2003280923A JP2002087895A JP2002087895A JP2003280923A JP 2003280923 A JP2003280923 A JP 2003280923A JP 2002087895 A JP2002087895 A JP 2002087895A JP 2002087895 A JP2002087895 A JP 2002087895A JP 2003280923 A JP2003280923 A JP 2003280923A
Authority
JP
Japan
Prior art keywords
register
bank
setting
value
bank number
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.)
Granted
Application number
JP2002087895A
Other languages
English (en)
Other versions
JP4125531B2 (ja
Inventor
Kiyohide Hori
貴代秀 堀
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2002087895A priority Critical patent/JP4125531B2/ja
Publication of JP2003280923A publication Critical patent/JP2003280923A/ja
Application granted granted Critical
Publication of JP4125531B2 publication Critical patent/JP4125531B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

(57)【要約】 【課題】 複数のバンクを使用するプログラムにおい
て、バンクを切り替えている期間割り込みを無効にする
手法において、プログラムサイズ、実行時間、割り込み
応答時間の縮小を行う。 【解決手段】 バンク機能の設定と割り込み許可禁止の
動作を同時に行う機構として、バンク有効無効を設定す
るフラグと割り込み有効無効を設定するフラグを備え
る。両フラグは同一アドレスの設定レジスタに配置され
る。あるいは、バンク有効無効を設定するレジスタと割
り込み有効無効を設定するレジスタを設け、命令をデコ
ードすることによって、上記レジスタの設定値を変更し
てバンク有効無効と割り込み有効無効を切り替える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、効率的にバンク機
能を用いる機構を有するマイクロプロセッサに関するも
のである。
【0002】
【従来の技術】複数のバンクを使用してプログラムを作
成する際、割り込み時に切り替えたバンクの一貫性を保
障する必要がある。従来では、バンクの一貫性を保障す
るための方法として、別のバンクをアクセスするために
バンクを切り替えている期間割り込みを無効にする手法
を用いていた。
【0003】図12は従来のマイクロプロセッサにおけ
る割り込み時のバンク値の一貫性を保障する手法を示し
ている。図12において、符号1はバンクを用いたデー
タアクセスを示すバンクアクセスシーケンスの全体図を
示している。
【0004】バンクアクセスシーケンス1中で、符号1
1は割り込み禁止工程であり、割り込み処理プログラム
の実行を抑制することによって、以降の工程でバンク番
号を設定することによる割り込み処理の不具合を回避し
ている。
【0005】符号12はバンク番号設定工程であり、デ
ータの置かれているバンク番号をバンク番号設定レジス
タに格納するための工程である。
【0006】符号13はバンク有効化工程であり、バン
ク番号設定工程12で設定したバンク番号を有効にし、
以後のデータアクセスをバンク番号設定工程12で設定
されたバンク番号のメモリに対してアクセスすることを
決定している。
【0007】符号14はバンクデータアクセス工程であ
り、バンク番号設定工程12で設定したバンク番号が示
すメモリへのデータアクセスを行っている。
【0008】符号15はバンク無効化工程であり、これ
により、バンクメモリへのアクセスを無効にし、通常の
メモリアクセスへ復帰する。
【0009】符号16は割り込み許可工程であり、以降
のプログラムで割り込みの処理を許可する。
【0010】以上のような処理によって、バンクメモリ
へのデータアクセス時の割り込み処理による不具合を回
避していた。
【0011】
【発明が解決しようとする課題】しかしながら、バンク
を切り替えている期間、割り込みを無効にする手法で
は、別のバンクにあるデータをアクセスするたびにバン
ク番号設定レジスタへの値の設定と割り込み禁止、許可
の操作が必要となり、プログラムコードサイズと実行時
間が大きくなり、また割り込みを禁止することによっ
て、割り込み処理プログラムの応答時間が長くなるとい
う課題があった。
【0012】
【課題を解決するための手段】本発明では、バンク機能
(有効無効、バンク番号、バンク番号の退避・復帰等)
の設定と割り込み許可禁止の動作を同時に行う機構を備
えることによって、プログラムのコードサイズと実行時
間を縮小できる。また、割り込み処理の応答性も改善す
ることができる。
【0013】以下、請求項毎に説明する。
【0014】請求項1記載のマイクロプロセッサは、同
一アドレスの設定レジスタに配置された第1および第2
のフラグを有し、第1のフラグに所定の値が設定された
ときに割り込み有効となり、第2のフラグに所定の値が
設定されたときにバンク無効となることを特徴とする。
【0015】この構成によれば、バンク有効無効の設定
と割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0016】請求項2記載のマイクロプロセッサは、請
求項1記載のマイクロプロセッサにおいて、割り込み有
効にするときに第1のフラグに設定される値とバンク無
効にするときに第2のフラグに設定される値とが同じ値
である。
【0017】この構成によれば、請求項1記載のマイク
ロプロセッサと同様の作用を有する。
【0018】請求項3記載のマイクロプロセッサは、バ
ンクの有効無効の切り替えを設定する第1のレジスタ
と、割り込みの有効無効を設定する第2のレジスタと、
第1および第2のレジスタを同時に設定するための命令
をデコードするデコーダとを備えている。
【0019】この構成によれば、バンク有効無効の設定
と割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0020】請求項4記載のマイクロプロセッサは、バ
ンクの有効無効の切り替えを設定する第1のレジスタ
と、割り込みの有効無効を設定する第2のレジスタと、
第1および第2のレジスタをバンク有効かつ割り込み無
効に設定を変更する第1の命令、および第1および第2
のレジスタをバンク無効かつ割り込み有効に設定を変更
する第2の命令をそれぞれデコードするデコーダとを備
えている。
【0021】この構成によれば、バンク有効無効の設定
と割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0022】請求項5記載のマイクロプロセッサは、バ
ンクの有効無効の切り替えを設定する第1のレジスタ
と、割り込みの有効無効を設定する第2のレジスタと、
第1および第2のレジスタの設定値を反転させる命令を
デコードするデコーダとを備えている。
【0023】この構成によれば、バンクの有効無効の設
定と割り込み許可禁止の動作を同時に行うことが可能と
なり、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0024】請求項6記載のマイクロプロセッサは、バ
ンク番号設定値を書き込み信号に応答して書き込むバン
ク番号設定用の第1のレジスタと、バンクの有効無効を
設定する第2のレジスタと、割り込みの有効無効を設定
する第3のレジスタと、バンク番号設定値と書き込み信
号とを入力として第2および第3のレジスタの設定値を
変更する制御信号を生成するデコーダとを備えている。
【0025】この構成によれば、バンク有効無効および
バンク番号等のバンク機能の設定と割り込み許可禁止の
動作を同時に行うことが可能となり、プログラムのコー
ドサイズと実行時間を縮小できる。また、割り込み処理
の応答性も改善することができる。
【0026】請求項7記載のマイクロプロセッサは、書
き込み信号に応答してバンク番号設定値の書き込みを行
うバンク番号設定用の第1のレジスタと、割り込みの有
効無効を設定する第2のレジスタと、第1のレジスタに
保持されている、以前のバンク番号設定値を退避するた
めの第3のレジスタと、バンク番号設定値と書き込み信
号とを入力として第2のレジスタの設定値を変更する第
1の制御信号と、以前のバンク番号設定値の退避・復帰
を制御する第2の制御信号とを生成するデコーダとを備
えている。
【0027】この構成によれば、バンク番号設定および
以前のバンク番号の退避・復帰等のバンク機能の設定と
割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0028】請求項8記載のマイクロプロセッサは、請
求項7記載のマイクロプロセッサにおいて、バンク番号
設定値と第3のレジスタに保持されているバンク番号退
避値との何れか一方を選択して第1のレジスタに与える
セレクタを第1のレジスタのデータ入力端に挿入し、第
2の制御信号でセレクタの選択動作を制御するようにし
ている。
【0029】この構成によれば、請求項7と同様の作用
を有する。
【0030】請求項9記載のマイクロプロセッサは、書
き込み信号に応答してバンク番号設定値の書き込みを行
うバンク番号設定用の第1のレジスタと、割り込みの有
効無効を設定する第2のレジスタと、第1のレジスタに
保持されている、以前のバンク番号設定値を複数個退避
するためのメモリと、以前のバンク番号設定値をメモリ
に退避するためのアドレスを保持するアドレスレジスタ
と、メモリへの以前のバンク番号設定値の退避個数の増
減に応じてアドレスレジスタの保持するアドレス値を変
更する回路手段と、バンク番号設定値と書き込み信号と
を入力として第2のレジスタの設定値を変更する第1の
制御信号と、以前のバンク番号設定値の退避・復帰を制
御する第2の制御信号と、アドレス値を変更する回路手
段の動作を制御する第3の制御信号を生成するデコーダ
とを備えている。
【0031】この構成によれば、バンク番号設定および
以前のバンク番号の退避・復帰等のバンク機能の設定と
割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。また、以前のバンク番号を複数個、退避・復帰可能
であり、元のバンクに復帰させるまでに複数回のバンク
切替を行うことが可能である。
【0032】また、元のバンクに復帰させるまでに、複
数回のバンク切替が可能になると、以下のような作用効
果が得られる。1つのプログラム中で複数のバンクを用
いる場合、例えばサブルーチンAとサブルーチンBとで
別のバンク領域を使用している場合、サブルーチンAか
らサブルーチンBを呼び出した時、サブルーチンB内で
使用していたバンク番号を設定するだけで以前のバンク
番号が退避されるため、明示的にバンク番号の退避処理
を行うよりもコードサイズ、実行時間が縮小できる。退
避用メモリが複数個あると、サブルーチンBがさらにサ
ブルーチンCを呼び出すといったように多重のサブルー
チン呼び出しをバンク番号の退避復帰なしに行うことが
できる。
【0033】請求項10記載のマイクロプロセッサは、
請求項9記載のマイクロプロセッサにおいて、バンク番
号設定値とメモリに保持されているバンク番号退避値と
の何れか一方を選択して第1のレジスタに与えるセレク
タを第1のレジスタのデータ入力端に挿入し、第2の制
御信号でセレクタの選択動作を制御するようにしてい
る。
【0034】この構成によれば、請求項9と同様の作用
を有する。
【0035】
【発明の実施の形態】以下、本発明の実施の形態を図面
に基づいて詳細に説明する。
【0036】図1は本発明の第1の実施の形態における
マイクロプロセッサのバンクアクセス手法を示してい
る。図1において、符号2はバンクアクセスシーケンス
であり、バンクアクセスの方法の全体を示している。
【0037】符号21はバンク有効かつ割り込み禁止工
程であり、この工程によってバンク番号の有効化処理と
割り込みの禁止設定処理とを同時に行っている。
【0038】符号22はバンク番号設定工程であり、デ
ータの置かれているバンク番号をバンク番号設定レジス
タに格納するための工程である。
【0039】符号23はバンクデータアクセス工程であ
り、バンク番号設定工程22で設定したバンク番号の示
すメモリへのデータアクセスを行っている。
【0040】符号24はバンク無効かつ割り込み許可工
程であり、この工程によって設定したバンク番号の無効
化処理と割り込みの許可設定処理とを同時に行ってい
る。
【0041】図3(a)は、バンク有効かつ割り込み禁止
工程21においてバンク番号の有効化処理と割り込みの
禁止設定処理との同時処理を実現し、バンク無効かつ割
り込み許可工程24においてバンク番号の無効化処理と
割り込みの許可設定処理との同時処理を実現するための
ハードウェア構成である、マイクロプロセッサのバンク
・割り込み設定レジスタの一例を示している。図3
(a)において、符号4は設定レジスタであり、割り込
みの有効処理とバンクの無効化処理の設定を行うフラグ
が格納されている。符号41は割り込み有効フラグであ
り、割り込みの有効無効を切り替える。符号42はバン
ク無効化フラグであり、バンクの有効無効を切り替え
る。つまり、割り込み有効フラグ41とバンク無効化フ
ラグ42は、同一アドレスの設定レジスタ4に配置され
ている。
【0042】図3(b)は割り込み有効フラグ41とバン
ク無効化フラグ42の符号化の状態を示している。割り
込み有効フラグ41に関しては、本実施の形態では値1
を設定すると割り込み有効になり、値0を設定すると割
り込みが無効になる。バンク無効化フラグ42に関して
は、本実施の形態では値1を設定するとバンク番号設定
が無効になり、値0を設定するとバンク番号設定が有効
となる。
【0043】なお、上記の説明とは逆に、割り込み有効
フラグ41に関しては、値0を設定すると割り込み有効
になり、値1を設定すると割り込みが無効になり、バン
ク無効化フラグ42に関しては、値0を設定するとバン
ク番号設定が無効になり、値1を設定するとバンク番号
設定が有効となるようにしてもよい。
【0044】上記のような設定レジスタ4を備え、図3
(b)のような符号化を行うことによって、バンク有効か
つ割り込み禁止工程21のようなバンク有効かつ割り込
み禁止の同時処理や、バンク無効かつ割り込み許可工程
24のようなバンク無効かつ割り込み許可の同時処理
を、AND命令とOR命令のような一般的なプロセッサ
の命令の1命令で容易に行うことができる。
【0045】例えば、割り込み有効フラグ41に関して
は、値1を設定すると割り込み有効になり、値0を設定
すると割り込みが無効になり、バンク無効化フラグ42
に関しては、値1を設定するとバンク番号設定が無効に
なり、値0を設定するとバンク番号設定が有効となるよ
うな構成の場合、AND命令とOR命令は以下のように
なる。すなわち、割り込み許可かつバンク無効にする場
合、同レジスタの他のビットに影響を与えずに設定を変
更する場合、“OR 0xc0,R”命令により実行可
能である。上記のOR命令で、Rは設定レジスタであ
り、その意味は、設定レジスタRの値と16進数c0と
のORをとり、設定レジスタRに代入することを意味す
る。
【0046】また、“AND 0x3f,R”命令の実
行によって割り込み禁止かつバンク有効にすることが可
能である。このAND命令の意味は、設定レジスタRの
値と16進数3fとのANDをとり、設定レジスタRに
代入することを意味する。
【0047】つまり、上記のように値を設定すること
で、フラグを設定する設定レジスタ4の他のビットに影
響を与えずに、1つの命令で両方の設定の変更を実現で
きる。
【0048】なお、割り込み有効フラグ41が値1で割
り込み有効になり、バンク無効化フラグ42が値1でバ
ンク有効になるような符号化の形態では、上記のよう
に、一般的なマイクロプロセッサに備わっているような
AND命令、OR命令のような一般的な命令の一命令
で、上記のような割り込み有効かつバンク無効のような
処理を行うことはできない。しかし、レジスタの他のビ
ットを使用しないものとすれば、上記のような処理を行
うことは可能である。以下の実施の形態では、上記のよ
うな制限はない。
【0049】図4はバンク有効かつ割り込み禁止工程2
1における同時処理とバンク無効かつ割り込み許可工程
24における同時処理を実現するためのもう一つのハー
ドウェア構成である、マイクロプロセッサのバンク・割
り込み設定回路の一例を示している。図4において、符
号51はインストラクションレジスタであり、メモリか
らフェッチされた命令コードが格納される。符号52は
インストラクションデコーダであり、インストラクショ
ンレジスタ51に格納された命令コードをデコードし、
インストラクションレジスタ51に格納された命令コー
ドに応じた制御信号を送出する回路である。
【0050】符号53はバンク無効化レジスタであり、
本レジスタに設定された値によりバンクの有効無効を切
り替える。符号531はバンク無効化レジスタセット信
号であり、本信号が値1のときにバンク無効化レジスタ
53がセットされる。符号532はバンク無効化レジス
タクリア信号であり、本信号が値1のときにバンク無効
化レジスタ53がクリアされる。
【0051】符号54は割り込み有効レジスタであり、
本レジスタに設定された値により割り込みの有効無効を
切り替える。符号541は割り込み有効レジスタセット
信号であり、本信号が値1のときに割り込み有効レジス
タ54がセットされる。符号542は割り込み有効レジ
スタクリア信号であり、本信号が値1のときに割り込み
有効レジスタ54がクリアされる。
【0052】図5はインストラクションデコーダ52の
動作の一部を示す真理値表であり、インストラクション
レジスタ51に格納された命令コードを入力として、そ
れに対する制御信号線531、532、541、542
の動作を表している。本実施の形態では、バンク無効化
割り込み有効化命令(DBEI)に割り付けられた命令
コードを“10”とし、バンク有効化割り込み無効化命
令(EBDI)を“20”とした場合を示している。
【0053】図4および図5のようなハードウェアを備
えることによって、バンク有効かつ割り込み禁止工程2
1とバンク無効かつ割り込み許可工程24における同時
処理を、特別な小さな命令コードに割り当てることがで
きる。したがって、バンク有効無効の設定と割り込み許
可禁止の動作を同時に行うことが可能となり、プログラ
ムのコードサイズと実行時間を小さくすることができ
る。また、割り込み処理の応答性も改善することができ
る。
【0054】なお、上記の実施の形態では、バンク無効
化割り込み有効化命令(DBEI)およびバンク有効化
割り込み無効化命令(EBDI)の2つの命令コードを
インストラクションデコーダ52でデコードする構成に
していたが、バンク無効化レジスタ53と割り込み有効
レジスタ54の設定値をともに反転させる一つの命令コ
ードのみをデコードする回路でもよい。
【0055】図2は本発明の第2の実施の形態における
マイクロプロセッサのバンクアクセス手法を示してい
る。図2において、符号3はバンクアクセスシーケンス
であり、バンクアクセスの方法の全体を示している。
【0056】符号31はバンク番号設定かつ割り込み禁
止工程であり、この工程によってバンク番号の設定処理
およびバンクの有効化と割り込みの禁止設定を同時に行
っている。
【0057】符号32はバンクデータアクセス工程であ
り、バンク番号設定かつ割り込み禁止工程31で設定し
たバンク番号の示すメモリへのデータアクセスを行って
いる。
【0058】符号33はバンク番号復帰かつ割り込み許
可工程であり、この工程によってバンクアクセスシーケ
ンス3の前に設定していたバンク番号の復帰処理とバン
クの無効化と割り込み許可処理を同時に行っている。
【0059】図6はバンク番号設定かつ割り込み禁止工
程31における同時処理およびバンク番号復帰かつ割り
込み許可工程33における同時処理を実現するためのハ
ードウェア構成である、マイクロプロセッサのバンク・
割り込み設定回路の一例を示している。図6において、
符号61はインストラクションレジスタであり、メモリ
からフェッチされた命令コードが格納される。
【0060】符号62はインストラクションデコーダで
あり、インストラクションレジスタ61に格納された命
令コードをデコードし、格納された命令コードに応じた
制御信号を送出する回路である。
【0061】符号63はバンク無効化レジスタであり、
本レジスタに設定された値によりバンクの有効無効を切
り替える。符号631はバンク無効化レジスタセット信
号であり、本信号が値1のときにバンク無効化レジスタ
63がセットされる。符号632はバンク無効化レジス
タクリア信号であり、本信号が値1のときにバンク無効
化レジスタ63がクリアされる。
【0062】符号64は割り込み有効レジスタであり、
本レジスタに設定された値により割り込みの有効無効を
切り替える。符号641は割り込み有効レジスタセット
信号であり、本信号が値1のときに割り込み有効レジス
タ64がセットされる。符号642は割り込み有効レジ
スタクリア信号であり、本信号が値1のときに割り込み
有効レジスタ64がクリアされる。
【0063】符号65はバンク番号設定レジスタであ
り、データアクセスするバンク番号を格納するレジスタ
である。符号651はバンク番号データバスであり、バ
ンク番号設定レジスタ65に設定されるバンク番号を伝
達する信号線である。符号652はバンク番号設定レジ
スタライトイネーブル信号であり、本信号が値1のとき
にバンク番号設定レジスタ65にバンク番号データバス
651のバンク番号が格納される。
【0064】符号66はバンク番号デコーダであり、バ
ンク番号データバス651とバンク番号設定レジスタラ
イトイネーブル信号652の値から制御信号であるバン
ク無効化レジスタセット信号631とバンク無効化レジ
スタクリア信号632と割り込み有効レジスタセット信
号641と割り込み有効レジスタクリア信号642とを
生成する。
【0065】図7はバンク番号デコーダ66の動作を示
した真理値表である。本実施の形態では、データバス6
51は2ビットとなっており、このうち値1,2,3を
バンクの切り替えに使用し、値0をバンク無効化を示す
符号として使用している。
【0066】本構成によって、バンク番号の設定とバン
ク無効有効の切り替え、割り込み有効無効の切り替えを
同時に実行でき、コードサイズ、実行時間、割り込みの
応答時間を小さくすることができる。
【0067】図8はバンク番号設定かつ割り込み禁止工
程31における同時処理およびバンク番号復帰かつ割り
込み許可工程33における同時処理を実現するための別
のハードウェア構成である、マイクロプロセッサのバン
ク番号退避レジスタ付バンク・割り込み設定回路の一例
を示している。図8において、符号71はインストラク
ションレジスタであり、メモリからフェッチされた命令
コードが格納される。
【0068】符号72はインストラクションデコーダで
あり、インストラクションレジスタ71に格納された命
令コードをデコードし、格納された命令コードに応じた
制御信号を送出する回路である。
【0069】符号73はバンク番号退避メモリ(レジス
タ)であり、バンク番号設定レジスタ75の設定値を一
時的に退避するためのメモリである。符号731はバン
ク番号退避メモリライトイネーブル信号であり、値1の
ときにバンク番号退避メモリ73に退避すべきバンク番
号が格納される。
【0070】符号74は割り込み有効レジスタであり、
本レジスタに設定された値により割り込みの有効無効を
切り替える。符号741は割り込み有効レジスタセット
信号であり、本信号が値1のときに割り込み有効レジス
タ74がセットされる。符号742は割り込み有効レジ
スタクリア信号であり、本信号が値1のときに割り込み
有効レジスタ74がクリアされる。
【0071】バンク番号設定レジスタ75は、データア
クセスするバンク番号を格納するレジスタである。符号
751はバンク番号設定レジスタライトイネーブル信号
であり、本信号が値1のときにバンク番号設定レジスタ
75にバンク番号が格納される。
【0072】符号76はバンク番号デコーダであり、バ
ンク番号設定レジスタライトイネーブル信号751とバ
ンク番号設定データ用バス772の値から制御信号であ
るバンク番号選択信号771とバンク番号退避メモリラ
イトイネーブル信号731と割り込み有効レジスタセッ
ト信号741と割り込み有効レジスタクリア信号742
を生成する。
【0073】符号77はセレクタであり、バンク番号設
定レジスタ75に格納するバンク番号の設定または退避
された値の復帰を選択する。符号771はバンク番号選
択信号であり、値0のときにバンク番号設定データ用バ
ス772が選択され、したがってバンク番号設定データ
用バス772を通して送られたバンク番号が選択され、
値1のときにバンク番号退避データ用バス773が選択
され、したがってバンク番号退避メモリ73に退避され
たバンク番号が選択される。
【0074】バンク番号設定データ用バス772は、バ
ンク番号設定レジスタ75に設定されるバンク番号を伝
達する信号線である。バンク番号退避データ用バス77
3は、バンク番号退避メモリ73に退避されたバンク番
号をセレクタ77に伝達する信号線である。符号774
はバンク番号選択結果であり、バンク番号をセレクタ7
7で選択された結果の値を出力している。
【0075】図9はバンク番号デコーダ76の動作を示
した真理値表である。本実施の形態では、バンク番号設
定レジスタ75は2ビットとなっており、このうち値
0,1,2をバンク番号の指定に使用し、値3を退避さ
れた以前のバンクの設定値を復帰させる符号として用い
ている。
【0076】ここで、バンクの有効・無効とバンク番号
の退避・復帰との関係について説明する。バンク番号の
退避・復帰ができると、バンクの有効・無効の設定の必
要はない。バンクの有効・無効フラグの場合、バンクの
無効時にデータアクセスすると、予めハードウェアで決
められたバンク番号のデフォルト値を使うことになる
が、退避復帰を用いる場合、デフォルト値をユーザーが
任意に決めることができる。復帰処理によって前に設定
した値に戻る。
【0077】本バンク番号デコーダ76によって、バン
ク番号0,1,2いずれの領域から別のバンクに設定を
変更した場合でも、バンク番号3を設定することによっ
て、前回のバンク番号に復帰することができる。
【0078】この構成によれば、バンク番号設定および
以前のバンク番号の退避・復帰等のバンク機能の設定と
割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。
【0079】図10はバンク番号設定かつ割り込み禁止
工程31における同時処理およびバンク番号復帰かつ割
り込み許可工程33における同時処理を実現するための
さらに別のハードウェア構成である、マイクロプロセッ
サのバンク番号退避メモリ付バンク・割り込み設定回路
の一例を示している。図10において、符号81はイン
ストラクションレジスタであり、メモリからフェッチさ
れた命令コードが格納される。
【0080】符号82はインストラクションデコーダで
あり、インストラクションレジスタ81に格納された命
令コードをデコードし、格納された命令コードに応じた
制御信号を送出する回路である。
【0081】符号83はバンク番号退避メモリであり、
バンク番号設定レジスタ85の設定値を一時的に退避す
るためのメモリである。本メモリは複数、例えば4個の
設定値を格納することができるようアドレス指定(0,
1,2,3)ができるようになっている。符号831は
バンク番号退避メモリライトイネーブル信号であり、値
1のときにバンク番号退避メモリ83に退避するバンク
番号が格納される。符号832はバンク番号退避メモリ
アドレス信号であり、バンク番号退避メモリ83のメモ
リのアドレスを指定することができる。
【0082】符号84は割り込み有効レジスタであり、
本レジスタに設定された値により割り込みの有効無効を
切り替える。符号841は割り込み有効レジスタセット
信号であり、本信号が値1のときに割り込み有効レジス
タ84がセットされる。符号842は割り込み有効レジ
スタクリア信号であり、本信号が値1のときに割り込み
有効レジスタ84がクリアされる。
【0083】バンク番号設定レジスタ85は、データア
クセスするバンク番号を格納するレジスタである。符号
851はバンク番号設定レジスタライトイネーブル信号
であり、本信号が値1のときにバンク番号設定レジスタ
85にバンク番号が格納される。
【0084】符号86はバンク番号デコーダであり、バ
ンク番号設定レジスタライトイネーブル信号851とバ
ンク番号設定データ用バス872の値とアドレスレジス
タ88から出力されるアドレス値861とから制御信号
であるバンク番号選択信号871とバンク番号退避メモ
リライトイネーブル信号831と加減算選択信号891
と割り込み有効レジスタセット信号841と割り込み有
効レジスタクリア信号842とを生成する。符号861
はアドレス値であり、アドレスレジスタ88の値をデコ
ーダ86へ伝達している。
【0085】符号87はバンク番号セレクタであり、バ
ンク番号設定レジスタ85に格納するバンク番号の設定
または退避された値の復帰を選択する。バンク番号選択
信号871は、値0のときにバンク番号設定データ用バ
ス872が選択され、したがってバンク番号設定データ
用バス872を通して送られたバンク番号が選択され、
値1のときにバンク番号退避データ用バス873が選択
され、したがってバンク番号退避メモリ83に退避され
てアドレスで指定されたバンク番号が選択される。バン
ク番号設定データ用バス872は、バンク番号設定レジ
スタ85に設定されるバンク番号を伝達する信号線であ
る。バンク番号退避データ用バス873は、バンク番号
退避メモリ83に退避されたバンク番号をセレクタ87
に伝達する信号線である。符号874はバンク番号選択
結果であり、バンク番号セレクタ87で選択された結果
の値を出力している。
【0086】アドレスレジスタ88は、バンク番号退避
メモリ83のアドレスを保持している。
【0087】符号89は演算器を構成する加減算器であ
り、アドレスレジスタ88の値を演算する。加減算器8
9は、制御信号である加減算選択信号891によって加
算と減算を切り替えることができる。加減算器89は、
加減算選択信号891が値0のときに加算を行い、値1
のときに減算を行う。なお、加減算器89の代わりにデ
コーダを用いても同様の機能を実現することができる。
このような回路をアドレス値を変更する回路手段と称し
ている。
【0088】符号8aはアドレスセレクタであり、バン
ク退避メモリ83へ与えるアドレスを選択している。制
御信号である加減算選択信号89が値0のときに加減算
器89の値を選択し、値1のときにアドレスレジスタ8
8の値を選択する。
【0089】図11はデコーダ86の動作を示す真理値
表である。
【0090】本実施の形態では、バンク番号設定レジス
タ85は2ビットとなっており、このうち値0,1,2
をバンク番号の指定に使用し、値3を退避された以前の
バンクの設定値を復帰させる符号として用いている。こ
の例では、アドレス値861がバンク番号デコーダ86
に入力されており、アドレスレジスタ88のアドレス値
が初期値の0に復帰するまで、割り込み有効レジスタセ
ット信号841が出力されないようになっている。つま
り、退避したバンク番号がすべて復帰されたときに初め
て割り込み有効レジスタセット信号841が出力され、
割り込みが有効となる。この点が、図8および図9の実
施の形態の構成との違いである。
【0091】本実施の形態ではバンク番号退避メモリ8
3を複数備えることによって、複数回バンクを切り替え
ることを可能にし、元のバンクへと復帰するまで割り込
み無効状態とすることができる。
【0092】ここで、アドレスレジスタ88、加減算器
89、セレクタ8aに関連する動作について説明する。
加減算器選択信号891は、バンク番号を設定する時、
すなわちバンク番号値0,1,2を書き込んだ時は加算
となり、バンク番号を復帰させる時、すなわちバンク番
号3を書き込む時は減算となるように動作を選択する信
号である。バンク番号を設定するとき、バンク番号退避
用メモリを指し示すアドレス値は、アドレスレジスタ8
8の値に1を加算した値がセレクタ8aにより選択され
る。退避されるバンク番号が、加算されたアドレス値が
指し示すバンク番号退避メモリ番地に退避される。次サ
イクルでアドレス88には、1加算された値が記憶され
る。
【0093】バンク番号を復帰させるとき、セレクタ8
aはアドレスレジスタ88の出力を選択し、アドレスレ
ジスタ88に記憶されているアドレス値が指し示すバン
ク退避メモリに記憶されているバンク番号がバンク番号
退避データ用バス873を通り、バンク番号設定レジス
タ85に復帰される。次サイクルで加減算器89の値か
ら1減算された値をアドレスレジスタ88に記憶する。
【0094】上記の動作により複数個のバンク番号退避
処理を実現している。上記の回路は、ポストインクリメ
ントプリデクリメントのスタック動作を行う回路と等価
のものであり、アドレスレジスタ88はスタックポイン
タということもできる。
【0095】この構成によれば、バンク番号設定および
以前のバンク番号の退避・復帰等のバンク機能の設定と
割り込み許可禁止の動作を同時に行うことが可能とな
り、プログラムのコードサイズと実行時間を縮小でき
る。また、割り込み処理の応答性も改善することができ
る。また、以前のバンク番号を複数個、退避・復帰可能
であり、元のバンクに復帰させるまでに複数回のバンク
切替を行うことが可能である。
【0096】
【発明の効果】本発明の請求項1〜5記載のマイクロプ
ロセッサによれば、バンク有効無効の設定と割り込み許
可禁止の動作を同時に行うことが可能となり、プログラ
ムのコードサイズと実行時間を縮小できる。また、割り
込み処理の応答性も改善することができる。
【0097】本請求項の請求項6記載のマイクロプロセ
ッサによれば、バンク有効無効およびバンク番号等のバ
ンク機能の設定と割り込み許可禁止の動作を同時に行う
ことが可能となり、プログラムのコードサイズと実行時
間を縮小できる。また、割り込み処理の応答性も改善す
ることができる。
【0098】本請求項の請求項7,8記載のマイクロプ
ロセッサによれば、バンク番号設定および以前のバンク
番号の退避・復帰等のバンク機能の設定と割り込み許可
禁止の動作を同時に行うことが可能となり、プログラム
のコードサイズと実行時間を縮小できる。また、割り込
み処理の応答性も改善することができる。
【0099】本請求項の請求項9,10記載のマイクロ
プロセッサによれば、バンク番号設定および以前のバン
ク番号の退避・復帰等のバンク機能の設定と割り込み許
可禁止の動作を同時に行うことが可能となり、プログラ
ムのコードサイズと実行時間を縮小できる。また、割り
込み処理の応答性も改善することができる。また、以前
のバンク番号を複数個、退避・復帰可能であり、元のバ
ンクに復帰させるまでに複数回のバンク切替を行うこと
が可能である。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のマイクロプロセッ
サにおけるバンクアクセス手法を示すフローチャートで
ある。
【図2】本発明の第2の実施の形態のマイクロプロセッ
サにおけるバンクアクセス手法を示すフローチャートで
ある。
【図3】(a)は本発明の第1の実施の形態のマイクロプ
ロセッサにおけるバンク・割り込み設定レジスタの一例
を示す模式図、(b)は同じくレジスタ設定値を示す模式
図である。
【図4】本発明の第1の実施の形態のマイクロプロセッ
サにおけるバンク・割り込み設定回路の一例を示すブロ
ック図である。
【図5】図4のデコーダ真理値表を示す説明図である。
【図6】本発明の第2の実施の形態のマイクロプロセッ
サにおけるバンク・割り込み設定回路の一例を示すブロ
ック図である。
【図7】図6のデコーダ真理値表を示す説明図である。
【図8】本発明の第2の実施の形態のマイクロプロセッ
サにおけるバンク番号退避レジスタ付バンク・割り込み
設定回路の一例を示すブロック図である。
【図9】図8のデコーダ真理値表を示す説明図である。
【図10】本発明の第2の実施の形態のマイクロプロセ
ッサにおけるバンク番号退避メモリ付バンク・割り込み
設定回路の一例を示すブロック図である。
【図11】図10のデコーダ真理値表を示す説明図であ
る。
【図12】従来のマイクロプロセッサにおけるバンクア
クセス手法を示すフローチャートである。
【符号の説明】
1 バンクアクセスシーケンス 11 割り込み禁止工程 12 バンク番号設定工程 13 バンク有効化工程 14 バンクデータアクセス工程 15 バンク無効化工程 16 割り込み許可工程 2 バンクアクセスシーケンス 21 バンク有効かつ割り込み禁止工程 22 バンク番号設定工程 23 バンクデータアクセス工程 24 バンク無効かつ割り込み許可工程 3 バンクアクセスシーケンス 31 バンク番号設定かつ割り込み禁止工程 32 バンクデータアクセス工程 33 バンク番号復帰かつ割り込み許可工程 4 設定レジスタ 41 割り込み有効フラグ 42 バンク無効化フラグ 51 インストラクションレジスタ 52 インストラクションデコーダ 53 バンク無効化レジスタ 531 バンク無効化レジスタセット信号 532 バンク無効化レジスタクリア信号 54 割り込み有効レジスタ 541 割り込み有効レジスタセット信号 542 割り込み有効レジスタクリア信号 61 インストラクションレジスタ 62 インストラクションデコーダ 63 バンク無効化レジスタ 631 バンク無効化レジスタセット信号 632 バンク無効化レジスタクリア信号 64 割り込み有効レジスタ 641 割り込み有効レジスタセット信号 642 割り込み有効レジスタクリア信号 65 バンク番号設定レジスタ 651 バンク番号データバス 652 バンク番号設定レジスタライトイネーブル信
号 66 バンク番号デコーダ 71 インストラクションレジスタ 72 インストラクションデコーダ 73 バンク番号退避メモリ 731 バンク番号退避メモリライトイネーブル信号 74 割り込み有効レジスタ 741 割り込み有効レジスタセット信号 742 割り込み有効レジスタクリア信号 75 バンク番号設定レジスタ 751 バンク番号設定レジスタライトイネーブル信
号 76 バンク番号デコーダ 77 セレクタ 771 バンク番号選択信号 772 バンク番号設定データ用バス 773 バンク番号退避データ用バス 774 バンク番号選択結果 81 インストラクションレジスタ 82 インストラクションデコーダ 83 バンク番号退避メモリ 831 バンク番号退避メモリライトイネーブル信号 832 バンク番号退避メモリアドレス信号 84 割り込み有効レジスタ 841 割り込み有効レジスタセット信号 842 割り込み有効レジスタクリア信号 85 バンク番号設定レジスタ 851 バンク番号設定レジスタライトイネーブル信
号 86 バンク番号デコーダ 861 アドレス値 87 バンク番号セレクタ 871 バンク番号選択信号 872 バンク番号設定データ用バス 873 バンク番号退避データ用バス 874 バンク番号選択結果 88 アドレスレジスタ 89 加減算器 891 加算減算選択信号 8a アドレスセレクタ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 同一アドレスの設定レジスタに配置され
    た第1および第2のフラグを有し、前記第1のフラグに
    所定の値が設定されたときに割り込み有効となり、前記
    第2のフラグに所定の値が設定されたときにバンク無効
    となることを特徴とするマイクロプロセッサ。
  2. 【請求項2】 割り込み有効にするときに第1のフラグ
    に設定される値とバンク無効にするときに第2のフラグ
    に設定される値とが同じ値である請求項1記載のマイク
    ロプロセッサ。
  3. 【請求項3】 バンクの有効無効の切り替えを設定する
    第1のレジスタと、割り込みの有効無効を設定する第2
    のレジスタと、前記第1および第2のレジスタを同時に
    設定するための命令をデコードするデコーダとを備えた
    マイクロプロセッサ。
  4. 【請求項4】 バンクの有効無効の切り替えを設定する
    第1のレジスタと、割り込みの有効無効を設定する第2
    のレジスタと、前記第1および第2のレジスタをバンク
    有効かつ割り込み無効に設定を変更する第1の命令、お
    よび前記第1および第2のレジスタをバンク無効かつ割
    り込み有効に設定を変更する第2の命令をそれぞれデコ
    ードするデコーダとを備えたマイクロプロセッサ。
  5. 【請求項5】 バンクの有効無効の切り替えを設定する
    第1のレジスタと、割り込みの有効無効を設定する第2
    のレジスタと、前記第1および第2のレジスタの設定値
    を反転させる命令をデコードするデコーダとを備えたマ
    イクロプロセッサ。
  6. 【請求項6】 バンク番号設定値を書き込み信号に応答
    して書き込むバンク番号設定用の第1のレジスタと、バ
    ンクの有効無効を設定する第2のレジスタと、割り込み
    の有効無効を設定する第3のレジスタと、前記バンク番
    号設定値と前記書き込み信号とを入力として前記第2お
    よび第3のレジスタの設定値を変更する制御信号を生成
    するデコーダとを備えたマイクロプロセッサ。
  7. 【請求項7】 書き込み信号に応答してバンク番号設定
    値の書き込みを行うバンク番号設定用の第1のレジスタ
    と、割り込みの有効無効を設定する第2のレジスタと、
    前記第1のレジスタに保持されている、以前のバンク番
    号設定値を退避するための第3のレジスタと、前記バン
    ク番号設定値と前記書き込み信号とを入力として前記第
    2のレジスタの設定値を変更する第1の制御信号と、前
    記以前のバンク番号設定値の退避・復帰を制御する第2
    の制御信号とを生成するデコーダとを備えたマイクロプ
    ロセッサ。
  8. 【請求項8】 バンク番号設定値と第3のレジスタに保
    持されているバンク番号退避値との何れか一方を選択し
    て第1のレジスタに与えるセレクタを第1のレジスタの
    データ入力端に挿入し、第2の制御信号で前記セレクタ
    の選択動作を制御するようにしている請求項7記載のマ
    イクロプロセッサ。
  9. 【請求項9】 書き込み信号に応答してバンク番号設定
    値の書き込みを行うバンク番号設定用の第1のレジスタ
    と、割り込みの有効無効を設定する第2のレジスタと、
    前記第1のレジスタに保持されている、以前のバンク番
    号設定値を複数個退避するためのメモリと、以前のバン
    ク番号設定値を前記メモリに退避するためのアドレスを
    保持するアドレスレジスタと、前記メモリへの前記以前
    のバンク番号設定値の退避個数の増減に応じて前記アド
    レスレジスタの保持するアドレス値を変更する回路手段
    と、前記バンク番号設定値と前記書き込み信号とを入力
    として前記第2のレジスタの設定値を変更する第1の制
    御信号と、前記以前のバンク番号設定値の退避・復帰を
    制御する第2の制御信号と、前記アドレス値を変更する
    回路手段の動作を制御する第3の制御信号を生成するデ
    コーダとを備えたマイクロプロセッサ。
  10. 【請求項10】 バンク番号設定値とメモリに保持され
    ているバンク番号退避値との何れか一方を選択して第1
    のレジスタに与えるセレクタを第1のレジスタのデータ
    入力端に挿入し、第2の制御信号で前記セレクタの選択
    動作を制御するようにしている請求項9記載のマイクロ
    プロセッサ。
JP2002087895A 2002-03-27 2002-03-27 マイクロプロセッサ Expired - Fee Related JP4125531B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002087895A JP4125531B2 (ja) 2002-03-27 2002-03-27 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002087895A JP4125531B2 (ja) 2002-03-27 2002-03-27 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JP2003280923A true JP2003280923A (ja) 2003-10-03
JP4125531B2 JP4125531B2 (ja) 2008-07-30

Family

ID=29233932

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002087895A Expired - Fee Related JP4125531B2 (ja) 2002-03-27 2002-03-27 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JP4125531B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7258256B1 (ja) * 2022-07-19 2023-04-14 三菱電機株式会社 プログラマブルロジックコントローラ、シーケンス制御システム、及び活性状態制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7258256B1 (ja) * 2022-07-19 2023-04-14 三菱電機株式会社 プログラマブルロジックコントローラ、シーケンス制御システム、及び活性状態制御プログラム
WO2024018515A1 (ja) * 2022-07-19 2024-01-25 三菱電機株式会社 プログラマブルロジックコントローラ、シーケンス制御システム、及び活性状態制御プログラム

Also Published As

Publication number Publication date
JP4125531B2 (ja) 2008-07-30

Similar Documents

Publication Publication Date Title
US6611909B1 (en) Method and apparatus for dynamically translating program instructions to microcode instructions
JPH07105093A (ja) データ処理装置
JP3497516B2 (ja) データプロセッサ
KR100805027B1 (ko) 메모리 어드레스 생성 장치 및 그것을 가진 프로세서,메모리 어드레스 생성 방법
US5418917A (en) Method and apparatus for controlling conditional branch instructions for a pipeline type data processing apparatus
JP3616556B2 (ja) 拡張命令を処理する並列プロセッサ
JP4125531B2 (ja) マイクロプロセッサ
JP2001265651A (ja) データ処理装置
JPH1020959A (ja) 低消費電力マイクロプロセッサ
JP4498705B2 (ja) キャッシュシステム
JPH0241770B2 (ja)
JP2901454B2 (ja) プログラマブルコントローラ
JP2000298589A (ja) マイクロプロセッサ
JPH07505242A (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP2002229776A (ja) 複数組の命令組を実行するためのデータ処理装置
JP3197045B2 (ja) 拡張中央演算処理装置
JPH0682321B2 (ja) マイクロ制御装置
JPH06301534A (ja) 情報処理装置
JP2007122547A (ja) プログラム実行方法および共有メモリ型マルチコアプロセッサ
JP2003005955A (ja) データ処理装置
JP2004206214A (ja) マイクロプロセッサ
JPH04263322A (ja) マイクロコンピュータ
JPH07262087A (ja) プロセッサ
JPS6259341B2 (ja)
JPH05233320A (ja) マイクロコンピュータ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080125

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

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees