JPH05210512A - プロセッサ - Google Patents
プロセッサInfo
- Publication number
- JPH05210512A JPH05210512A JP4281954A JP28195492A JPH05210512A JP H05210512 A JPH05210512 A JP H05210512A JP 4281954 A JP4281954 A JP 4281954A JP 28195492 A JP28195492 A JP 28195492A JP H05210512 A JPH05210512 A JP H05210512A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- register
- information
- general
- interrupt
- 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
Links
Landscapes
- Memory System (AREA)
Abstract
レジスタに制限を受けることなく、多重割込みを可能に
するとともに割込み処理に対する高速な応答性を達成し
得るプロセッサを提供することを目的とする。 【構成】 この発明は、プログラムの実行に係る特定の
情報を保持する専用レジスタ(6,7,8)と、プログ
ラムの実行に係る不特定の情報を保持する汎用レジスタ
(3)と、現在使用中のバンクを示す情報を保持する第
1のレジスタ(4)と、戻りバンクを示す情報を保持す
る第2のレジスタ(5)と、前記第2のレジスタと前記
専用レジスタ及び汎用レジスタに保持されたそれぞれの
情報が、外部バスを介することなく転送されるバンクを
複数セット備えたバンクメモリ(2)とから構成され
る。
Description
セッサに関し、特に多重割込みに対応可能なプロセッサ
に関する。
央演算装置)中の汎用レジスタは、半導体チップの大き
さなどによって使用数の制限を受けている。そのため、
バンク構造と呼ばれる構造を持ったマイクロプロセッサ
がある。
でおもに演算に用いる)の集まりである。一般に汎用レ
ジスタを格納する場合は、RAM(ランダムアクセスメ
モリ)の領域を、ある決められた大きさで区切られたス
ペース(バンクRAMと呼ぶ)に格納する。バンクを切
り換えることによって、いくつかのバンクRAMの中か
ら1つのバンクRAMを選択して、汎用レジスタの格納
や読み出しをすることができる。
ク構造を持つものにおいては、バンクを切り換えること
により、汎用レジスタを多数持っていることと同等にな
る。例えば図9に示すように、マイクロプロセッサが、
1つのバンクにある汎用レジスタ101を4レジスタと
し、256バンク持っていれば、4×256=1024
個のレジスタを持っているのと同等になる。
ンクの番号を示すバンクポインタというレジスタが存在
する。そのレジスタの値を変更することにより、他のバ
ンクに格納している内容を現在使用できる汎用レジスタ
として取り扱うことができる。
ロセッサシステムにおいては、割込みが発生したときに
使用していたバンク番号の退避先として、1)スタック
メモリ上、2)汎用レジスタ上が考えられている。両者
とも、割込みルーチンでバンクの切り換えが行われて
も、割込みルーチンが終わった後にそれぞれの退避先か
ら割込み前のバンク番号を読んでくるので、そのバンク
番号を見ることによって元のバンクに戻ることができ
る。
るマイクロプロセッサシステムのうち、割込みが発生し
たときに使用していたバンク番号をスタックメモリに退
避するものは、マイクロプロセッサの外部バスに接続さ
れた低速のスタックメモリへの書き込み(割込みが発生
したとき)、及び読み出し(割込みの処理から戻ると
き)を行う必要があり、時間がかかる。
ロセッサシステムのうち、割込みが発生してバンクを切
り換えたときに、使用していたバンクのバンク番号をバ
ンク切り換え後の汎用レジスタに退避するものは、上記
のスタックメモリに退避する場合に比べて、外部バスへ
の低速なアクセスがないので、戻り情報となるバンク番
号の読み書きが速い。
を使って割込み処理を行うときには、戻り情報の入って
いる汎用レジスタを使用することができず、割込み処理
で使用できる汎用レジスタに制限ができてしまう。も
し、その汎用レジスタを使いたい場合には、スタックメ
モリなどに戻りバンク番号を退避しなければならなくな
る。このため、最初からスタックメモリに退避する方式
よりも遅くなる。
たものであり、その目的とするところは、割込み処理に
おいて使用できるレジスタに制限を受けることなく、多
重割込みを可能にするとともに割込み処理に対する高速
な応答性を達成し得るプロセッサを提供することにあ
る。
に、この発明は、プログラムの実行に係る特定の情報を
保持する専用レジスタと、プログラムの実行に係る不特
定の情報を保持する汎用レジスタと、現在使用中のバン
クを示す情報と、戻りバンクを示す情報と、前記専用レ
ジスタ及び汎用レジスタに保持されている情報が、外部
バスを介することなく転送されるバンクを複数セット備
えたバンクメモリとから構成される。
れぞれの処理毎に、その処理で使用する専用レジスタと
汎用レジスタ及びその処理の前に実行されて未終了の処
理に対応したバンクの位置を示す情報を、それぞれ対応
したバンクに外部バスを介することなく転送して保持す
るようにしている。
する。
係るプロセッサの要部構成を示す図である。
にかかわるCPUコア1のバンクメモリ2の部分を抽出
拡大した図である。本来、半導体チップは、CPU1や
バンクメモリ2の他にシステムバスを通じて内蔵ROM
(図示せず)、タイマー(図示せず)やバスコントロー
ラ(図示せず)などを搭載している。これらの要素の間
では、システムバスを介してデータの受け渡しが行われ
る。チップ外とのデータの受け渡しは、さらにバスコン
トローラを介して行われる。内蔵ROMには、ユーザが
作成したプログラムの命令語が格納されている。内蔵R
OMはまた別のチップで実現してもよく、その場合は、
バスコントローラを介してシステムバスによってCPU
1とデータの受け渡しを行う。本明細書では、このシス
テムバスを外部バス、即ちCPUからみて外部という意
味で使用する。一方、本発明の特徴は、バンク切替の
際、汎用レジスタ3の内容をバンクメモリ2へ、CPU
1とバンクメモリ2を結ぶ専用バスを介して退避/復帰
を行うので、通常のデータの受け渡しを高速に行うこと
ができる。
バンクメモリ2を備えている。CPU1は、16ビット
長の汎用レジスタRW0〜RW15からなる汎用レジス
タ群3と、カレントバンクポインタ(CBP)4、プレ
ビアスバンクポインタ(PBP)5、プログラムカウン
タ(PC)6、ユーザスタックポインタ(USP)7、
プロセッサステータスワード(PSW)8、及び図示し
ていないが割込みスタックポインタ(ISP)、特殊ス
タックポインタ(ESP)、コンディションコード(C
C)等の専用レジスタ群を備えている。
現在使用中のバンクの位置を示したレジスタである。プ
レビアスバンクポインタ(PBP)5は、現在使用中の
バンクから、現在使用中のバンクを用いて実行される処
理が終了した後に戻るべきバンクとなる戻りバンクの位
置を示したレジスタである。ただし、PBP5の値が
“0”ならば、スタックメモリに戻るべきバンクの位置
の情報が存在していることを示す。プログラムカウンタ
(PC)6は、プログラムの命令語が入っているメモリ
領域のアドレスを示すレジスタであり、プログラムが動
作していると、値が変化する。
みから戻ってくる時のPC6、PSW8、PBP5、U
SP7の値が格納されているメモリ領域のアドレスを示
すレジスタである。ユーザスタックポインタ(USP)
とはユーザプログラムのサブルーチンから戻ってくる時
のPC6、PSW8、PBP5の値が格納されているメ
モリ領域のアドレスを示すレジスタである。特殊スタッ
クポインタ(ESP)は、システムコールから戻ってく
る時のPC6、PSW8、PBP5、USPの値が格納
されているメモリ領域のアドレスを示すレジスタであ
る。コンディションコード(CC)は、演算結果の状態
を示すフラグを格納しているレジスタである。プロセッ
サステータスワード(PSW)8は、マイクロプロセッ
サの状態を示すレジスタである。
うに、キャリーフラグC21(演算の結果、最上位ビッ
トから桁上げが発生したり、ボローが発生した場合に1
がセットされる)、オーバフローフラグV22(演算の
結果、オーバフローが発生したときに1がセットされ
る)、ゼロフラグZ23(演算の結果がゼロの時に1が
セットされる)、サインフラグS24(演算結果の最上
位ビットの値をコピーする)から構成される。
クモードTM31(スタックポインタの指定)、バンク
サイズ(BS)32(現在使用中のバンクのサイズ)、
遅延割込みの指定(DI)33、特権モードの指定(R
G)34、シングルステップ動作の指定(SS)35、
割込み許可(EI)36、割込みマスク(IM)37、
コンディションコード(CC)21〜24の内容等の情
報が格納されている。図1に戻って、バンクメモリ2
は、プロセッサに内蔵されたRAM内に設けられてい
る。バンクメモリ2は、例えばバンク1〜バンク256
を備え、バンクi(i=1〜256)は4つの単位バン
クからなり4ワードの大きさを有している。このような
バンクメモリ2において、例えば汎用レジスタ群3は連
続したバンクに割り付けられ、PC6、PBP5、PS
W8、USP7からなる専用レジスタは1つのバンクに
割り付けられる。また、以下に説明する実施例にあって
は、図4に示すように、1バンクが4個のレジスタから
なる連続した4つのバンクのレジスタ群R0〜R15に
汎用レジスタ3を割り付け、PC6、PBP5、PSW
8、USP7からなる専用レジスタを1つのバンクの連
続した4つの単位バンクに割り付ける。このようにして
割り付けられるバンクと専用レジスタ群及び汎用レジス
タ群3とは、外部バスを介することなく高バンド幅でデ
ータ転送が行なわれるように接続構成されている。
いてあるバンクを使用していたが、割込みが発生したこ
とによって割り込みルーチン(割込みの処理をするため
のプログラム)へ行き、バンクを切り換えた。その時
に、そのまま割込みルーチンへ行ったのでは、どこのバ
ンクへ戻るかわからなくなるので、PBP5を用意して
割込みルーチンでの処理が終了したときに使用するバン
クの位置(以下、戻りバンク番号とする)がわかるよう
にする。
現在使用中のバンクの位置がわかるようにし、さらにバ
ンク切り換えが発生したときにCBP4の内容をPBP
5にロードすることにより戻りバンク番号を保存する。
バンクを戻すときは、PBP5の値をCBP4にロード
する。
は、汎用レジスタ、PC6、ISP、USP7、ES
P、CBP4、PBP5、CC、PSW8がある。
タ群3、PC6、USP7、PSW8、PBP5を退避
するための領域(バンクエリア)が確保され、各バンク
に割り当てられる大きさが、それぞれ等しくなるように
区切られている。PBP5、PC6、USP7、PSW
8を退避するために1バンク、これらの専用レジスタを
用いた処理で使用している汎用レジスタ(4,8,1
2,16のいずれかのレジスタ数でそれぞれの処理内容
によって異なる)を退避するために、それぞれのレジス
タ数に対応した1から4バンクが必要になる。
切り換えられたルーチンはPBP5、PC6、USP
7、PSW8をスタックメモリ(後入れ先出し記憶装
置)(図示せず)に退避させる。
理と、サブルーチンコールと、システムコールによるも
のにわけられる。
合には、まず割込み条件が成立して割込みが発生する
と,割込み要求信号を割込み制御回路に出力する。制御
回路は同時に受けた割込みの中で、優先度のいちばん高
いものをプロセッサに出力する。プロセッサは、発生し
た割込みが現在行なっている処理に比べて優先度が高
く、かつ割込みが許可されていれば、割込みを受け付
け、割込み制御回路に許可信号を出力する。
割込みは割込みの許可、不許可にかかわらず、現在行な
っている処理に比べて優先度が高ければ割込みを受け付
け、許可信号を出力する。
割込み要求元に対応するベクタを発生し、そのベクタか
らマイクロプロセッサが割込み処理のスタートアドレス
を計算してその値をPC6に書き込む。
書いてある1ワードを読み込んで参照する。該1ワード
にはバンクを切り換えるか否かという情報と切り替える
バンク番号とがプログラムによって設定されている。該
1ワードを割込みモードワードと呼ぶ。
容(汎用レジスタ群3、PC6、PSW8、USP7、
PBP5)をバンクRAMに退避し、CBP4の内容を
PBP5にロードし、CBP4には割込み処理で使用す
るバンク番号を格納する。このバンク番号で指定された
バンクRAMから汎用レジスタをロードして、バンクを
切り換え、割込み処理を開始する。
を切り換える場合には、ユーザのプログラム中でCAL
L命令によってサブルーチンが呼び出される。USP7
が示すスタックメモリに現在使用しているバンクのPC
6、PBP5を退避し、スタックメモリに退避させたの
でPBPを“0”にし、CBP4はそのままにする。次
に、CALL命令で指定されたアドレスをPC6に書き
込み、サブルーチンの処理を開始する。
で、バンクを切り換えるときには、プログラムのCHG
BK命令(バンク切り換え命令)で行なう。そして、汎
用レジスタのみをバンクRAMに退避し、CBP4に新
しいバンク番号を書き込む。バンクを変えたがPBP5
は操作しない。バンクを切り換える際に、バンクを1か
ら3ずらせば、パラメータ受け渡し、結果受け取りが可
能になる。一方、4以上ずらすと、全く重なりの無いバ
ンク切り換えになる。
り換える場合には、システムコール(ソフトウェア割込
み)はノンマスカブル割込みなので、割込みの許可、不
許可にかかわらず、割込みを受け付ける。割込み制御回
路によってその割込み処理に対応するベクタを発生し、
そのベクタから割込み処理のスタートアドレスを計算す
る。それと同時に、割り込まれた処理で使用していたP
C6、PBP5、PSW8をスタックメモリに書き込
み、スタックメモリに書き込んだためにPBPに“0”
をセットする。
6に書き込む。システムコールでは、通常の割込みの処
理のように自動的にバンクを切り換えないので、プログ
ラムでバンクの切り換えを行なう。バンクの切り換え
は、CHGBK命令(バンク切り換え命令)で行なう。
退避し、CBP4に新しいバンク番号を書き込む。PB
P5は操作しない。そして、システムコールの処理を行
なう。また、サブルーチンコールと同様、バンクを1か
ら3ずらせば、パラメータ受け渡し、結果受け取りが可
能になる。
復する場合には、割込みの処理が終了し、RETI命令
(割込みからのリターン命令)によって元のバンクへ回
復する。CBP4にPBP5の内容をロードして、CB
P4が示すバンクRAMから汎用レジスタ3、PC6、
PBP5、PSW8、USP7をロードする。これによ
り、元のバンクへ回復できる。
続きを実行した時など、割込み処理で使用した汎用レジ
スタなどの内容を保存する必要がある場合には、戻る前
にその内容をバンクRAMに書き戻す命令をプログラム
で行なう。
り換えから回復する場合には、サブルーチンコールの処
理が終了し、プログラムのCHGBK命令(バンク切り
換え命令)によってサブルーチン中の元のバンクへ戻
す。CBP4にプログラムで切り換える前のCBP4の
値を書き込み、CBP4が示すバンクRAMから汎用レ
ジスタ3のみをロードする。これにより、元のバンクへ
回復できる。
り命令)によって元のルーチンへ回復する。PBP5が
“0”なので、USP7が示すスタックメモリからPC
6、PBP5をロードする。その際に、バンクの重なり
を1から3に設定すれば、結果の受け渡しが可能であ
る。
えから回復する場合には、システムコールの処理が終了
し、CHGBK命令(バンク戻し命令)によって元のバ
ンクへ回復する。CBP4にプログラムで切り換える前
のCBP4の値を書き込み、CBP4が示すバンクRA
Mから汎用レジスタ3のみをロードする。これにより、
元のバンクへ回復できる。RETI(割込みルーチンか
らの戻り命令)命令によって元のルーチンへ回復する。
PBP5が“0”なので、USP7が示すスタックメモ
リからPC6、PBP5、PSW8をロードする。そし
て、元のルーチンへ戻ることができる。
ールによってバンクを切り換える場合には、切り換えた
レジスタバンクにパラメータを受け渡すことができるこ
とは上述した通りである。バンクを切り換える際にレジ
スタバンクを重ねてバンク番号を設定すると、汎用レジ
スタに入っているパラメータを受け渡すことが可能にな
る。
分の間でパラメータの受け渡しを行うことができる。こ
のため、スタックメモリなどを介さずに直接行えるの
で、時間が短縮される。ただし、受け渡しは、元のレジ
スタバンクのレジスタ番号と新しいバンクのレジスタ番
号が異なることになる。
えの一実施例を説明する。
図6はバンク切り換え時の処理の流れを示す図である。
換えず、サブルーチン2はシステムコール2とする。ま
た、使用中のPBP5が“0”の時は、PC6、PBP
5、PSW8がスタックに退避していることを示す。
ている。この時には、CBP4には使用しているバンク
の番号の15、PBP5には初期化されて“0”が入っ
ている。PC6、PBP5、USP7、PSW8を格納
するバンクはバンク15、汎用レジスタ3を格納するバ
ンクRAMはバンク16から19を使用している。
今まで使用していたバンクのPC6、PBP5をスタッ
クメモリに退避し、スタックメモリに退避したのでPB
Pに“0”をセットする。サブルーチンコール命令によ
って指定されたプログラム番地をPC6にセットする。
プログラムによって使用するバンクを15から12へ切
り換える。使用していた汎用レジスタ3の内容をバンク
16から19に退避する。CBP4に12をセットし、
汎用レジスタにバンク13から16までの値をロードす
る。先のメインルーチンで使用していたバンク16のR
0からR3までのレジスタを、サブルーチン1のR12
からR15へ直接パラメータを受け渡すことが出来る。
ーチン1の開始時に予めプログラムで設定済みのスター
トアドレスにある1ワードを読んで、割込みルーチン1
で使用するバンク番号と大きさを読み込む。これと同時
に、サブルーチン1の汎用レジスタはバンク13から1
6、PC6、PSW8、USP7、PBP5はバンク1
2へ退避し、CBP4の内容の12をPBP5にロード
する。
ートアドレスを書き込み、CBP4には割込みルーチン
1で使用するバンク番号の1を入れて、バンクを切り換
える。バンク2とバンク3から汎用レジスタをロードし
て使用する。
込みルーチン1の場合と同様に、ルーチンの始めに予め
プログラムで設定済みのスタートアドレスにある1ワー
ドを読んで、割込みルーチン2で使用するバンク番号と
大きさを読み込む。それと同時に、割込みルーチン1の
汎用レジスタはバンク2から3、PC6、PSW8、U
SP7、PBP5はバンク1へ退避し、CBP4の内容
の1をPBP5にロードする。
ートアドレスを書き込み、CBP4には割込みルーチン
2で使用するバンク番号の8を入れて、バンクを切り換
える。汎用レジスタをバンク9からロードして使用す
る。
と、割込みルーチン2からのリターン命令が発生し、C
BP4にPBP5の値の1をロードする。バンク1から
PC6、PBP=12、PSW8、USP7をロード
し、バンク2とバンク3から汎用レジスタをロードし、
元のバンクへ回復する。そして、割込みルーチン1の処
理の続きを行なう。
と、割込みルーチン1からのリターン命令が発生し、割
込みルーチン2の処理が終了したのと同様に、CBP4
にPBP5の値の12をロードする。バンク12からP
C6、PBP=0、PSW8、USP7をロードし、バ
ンク13からバンク16までを汎用レジスタにロード
し、元のバンク12へ回復する。そして、サブルーチン
1の処理の続きを行なう。
ステムコール2が発生して、これを受け付けると、サブ
ルーチン1で使用していたPC6、PSW8、PBP=
0をスタックメモリに退避する。次に、そのソフトウェ
ア割込みルーチンに対応するスタートアドレスをPC6
に書き込む。
り換えないので、CBP4の値は12で変わらない。ス
タックメモリに退避したので、PBPには“0”をセッ
トする。プログラムでバンクを切り換えて、CBP=1
0にする。汎用レジスタをバンク11とバンク12から
ロードして使用する。
割込みルーチン3が発生すると、割込みルーチン2の場
合と同様に、ルーチンの始めに予めプログラムで設定済
みのスタートアドレスにある1ワードを読んで、割込み
ルーチン3で使用するバンク番号と大きさを読み込む。
それと同時に、システムコール2の汎用レジスタはバン
ク11から12、PC6、PSW8、USP7、PBP
=0はバンク10へ退避し、CBP4の内容の10をP
BP5にロードする。
ートアドレスを書き込み、CBPには割込みルーチン3
で使用するバンク番号の4を入れて、バンクを切り換え
る。汎用レジスタはバンク5から7をロードして使用す
る。
ムコール1が発生して、これを受け付けると、割込みル
ーチン3で使用していたPC6、PSW8、PBP=1
0をスタックメモリに退避する。次に、そのソフトウェ
ア割込みルーチンに対応するスタートアドレスをPC6
に書き込む。
り換えないので、CBP4の値は変わらない。スタック
メモリに退避したので、PBPは“0”をセットする。
システムコール1はバンク切り換えを行わないので、C
BP=4のままとなり、汎用レジスタはそのままバンク
5から7を使用する。
と、割込みからの復帰命令によって割込みルーチン3に
戻る。PBPは“0”なので、スタックメモリから割込
みルーチン3で使用していたPC6、PSW8、PBP
=10をロードする。バンクは切り換えていないので、
CBP4の値は4で変わらず、汎用レジスタはそのまま
バンク5から7を使用し、割込みルーチン3の処理を再
開する。
と、割込みルーチン3からのリターン命令が発生し、C
BP4にPBP5の値の10をロードする。バンク10
からPC6、PBP=0、PSW8、USP7をロード
し、バンク11とバンク12から汎用レジスタをロード
し、元のバンク10へ回復する。そして、システムコー
ル2の続きを行なう。
と、プログラムのバンク切り換え命令によってCBPへ
12をロードして、バンク12へ回復させる。PBP=
0なので、スタックメモリからPC6、PBP=0、P
SW8をロードする。汎用レジスタにバンク13からバ
ンク16までをロードし、再びサブルーチン1の処理を
行なう。
と、プログラムによってCBP4に15をロードし、バ
ンクを戻す。PBP=0なので、スタックメモリからP
C6、PBP=0をロードする。汎用レジスタにバンク
16からバンク19までをロードし、メインルーチンの
続きを再開する。
の両方を保持するレジスタを設けるようにしてもよい。
このように、本発明では、戻りバンク番号のアクセスの
際に、低速な外部バスを介してスタックメモリにアクセ
スしないですむので、割込みに対して高速な応答性を持
つことができる。
数セット設けることなく、多重割込みに対応することが
可能となり、かつ、高速な割込み応答/復帰が可能とな
る。さらに、戻りバンク番号を保持しているレジスタの
値によって、戻りバンク番号を格納する場所の選択がで
きるので、高速な応答を必要としない割込みの際の戻り
バンク番号を外部のスタックメモリに置くこともでき、
内部にあるバンクのRAMを効率的に使うことができ
る。例えば割込み1が応答しているときに、同一の汎用
レジスタを利用する割込み2が発生した場合、割込み2
で使用するPC、PSWをバンクに書き込んでしまうの
で、割込み1で使用していたPC、PSWをスタックメ
モリに退避することができ、また、スタックメモリに置
くことによってバンクメモリを節約することもできる。
説明する。この実施例の特徴は、前述した実施例のPB
Pを持つことのかわりに、戻りバンク番号を格納するた
めに1バンク使用することにある。
ジスタが4個から構成され、連続する1から4バンクを
汎用レジスタとして使用し、PC6、PSW8、USP
7を退避するために1バンク使用する。
いたが、割込みが発生したことによって割り込みルーチ
ン(割込みの処理をするためのプログラム)へ行き、バ
ンクを切り換えた。その時に、そのまま割込みルーチン
へ行ったのでは、どこのバンクへ戻るかわからなくなる
ので、バンクRAMに戻りバンク番号を格納してわかる
ようにする。
現在使用中のバンクの位置がわかるようにする。さらに
バンク切り換えが発生したとき、切り換えた先の戻りバ
ンク番号を格納するバンクRAMにCBP4をロードす
ることにより終了後に戻るバンクの位置を保存する。逆
に、CBP4にロードすれば、バンクを戻すことができ
る。
切り換えられたルーチンはPC6、USP7、PSW8
をスタックメモリ(後入れ先出し記憶装置)に退避させ
る。バンクを切り換える場合は、主に割込み処理と、サ
ブルーチンコールと、システムコールによるものにわけ
られる。
合には、まず割込み条件が成立して割込みが発生すると
割込み要求信号を割込み制御回路に出力する。制御回路
は同時に受けた割込みの中で、優先度のいちばん高いも
のをプロセッサに出力する。プロセッサは、発生した割
込みが現在行なっている処理に比べて優先度が高く、か
つ割込みが許可されていれば、割込みを受け付け、割込
み制御回路に許可信号を出力する。
割込みは割込みの許可、不許可にかかわらず、現在おこ
なっているルーチンに比べて優先度が高ければ割込みを
受け付け、許可信号を出力する。
割込み要求元に対応するベクタを発生し、そのベクタか
らマイクロプロセッサが割込みルーチンのスタートアド
レスを計算してその値をPC6に書き込む。
る1ワードを読んで、バンクを切り換えるか否かを選択
する。この1ワードはプログラムによって設定してお
く。
容(汎用レジスタ3、PC6、PSW8、USP7)を
バンクRAMに退避し、CBP4の内容を割込みルーチ
ンで使用するバンクに、戻りバンク番号としてロード
し、CBP4には割込みルーチンで使用するバンク番号
を入れる。このバンク番号で指定されたバンクRAMか
ら汎用レジスタ3をロードして、バンクを切り換え、割
込み処理を開始する。
を切り換える場合には、ユーザのプログラム中でCAL
L命令によってサブルーチンが呼び出される。USP7
が示すスタックメモリに現在使用しているバンクのPC
6を退避し、スタックメモリに退避させたのでバンクに
ある戻りバンク番号を“0”にし、CBP4はそのまま
にする。次に、CALL命令で指定されたアドレスをP
C6に書き込み、サブルーチンの処理を開始する。
CHGBK命令(バンク切り換え命令)で行なう。汎用
レジスタのみをバンクRAMに退避し、CBP4に新し
いバンク番号を書き込む。バンクを変えたが、PBP5
は操作しない。そして、ルーチンの処理を行なう。その
際に、バンクを1から3ずらせば、パラメータ受け渡
し、結果受け取りが可能になる。一方、4以上ずらす
と、全く重なりの無いバンク切り換えになる。
り換える場合には、システムコール(ソフトウェア割込
み)はノンマスカブル割込みなので、割込みの許可、不
許可にかかわらず、割込みを受け付ける。割込み制御回
路によってその割込みルーチンに対応するベクタを発生
し、そのベクタから割込みルーチンのスタートアドレス
を計算する。それと同時に、割り込まれたルーチンで使
用していたPC6、PSW8をスタックメモリに書き込
み、スタックメモリに書き込んだために戻りバンク番号
に0をセットする。
6に書き込む。システムコールでは、通常の割込みのル
ーチンのように自動的にバンクを切り換えないので、プ
ログラムでバンクの切り換えを行なう。バンクの切り換
えは、CHGBK命令(バンク切り換え命令)で行な
う。まず、汎用レジスタのみをバンクRAMに退避し、
CBP4に新しいバンク番号を書き込む。PBP5は操
作しない。そして、ルーチンの処理を行なう。また、サ
ブルーチンコールと同様、バンクを1から3ずらせば、
パラメータ受け渡し、結果受け取りが可能になる。
復する場合には、割込みの処理が終了すると、RETI
命令(割込みからのリターン命令)によって元のバンク
へ回復する。CBP4へバンクにある戻りバンク番号の
内容をロードして、CBP4が示すバンクRAMから汎
用レジスタ3、PC6、PSW8、USP7をロードす
る。これにより、元のバンクへ回復できる。
続きを実行したい時など、割込みルーチンで使用した汎
用レジスタなどの内容を保持する必要がある場合には、
戻る前にその内容をバンクRAMに書き戻す命令をプロ
グラムで行なう。
り換えから回復する場合には、サブルーチンコールの処
理が終了すると、プログラムのCHGBK命令(バンク
切り換え命令)によってサブルーチン中の元のバンクへ
戻す。CBP4にプログラムで切り換える前のCBP4
の値を書き込み、CBP4の示すバンクRAMから汎用
レジスタのみをロードする。これにより、元のバンクへ
回復できる。
り命令)によって元のルーチンへ回復する。戻りバンク
番号が“0”なので、USP7が示すスタックメモリか
らPC6をロードする。その際に、バンクの重なりを1
から3に設定すれば、結果の受け渡しが可能である。
えから回復する場合には、システムコールの処理が終了
すると、CHGBK命令(バンク戻し命令)によって元
のバンクへ回復する。CBP4にプログラムで切り換え
る前のCBP4の値を書き込み、CBP4の示すバンク
RAMから汎用レジスタのみをロードする。これによ
り、元のバンクへ回復できる。RETI(割込みルーチ
ンからの戻り命令)命令によって元のルーチンへ回復す
る。戻りバンク番号が“0”なので、USP7が示すス
タックメモリからPC6、PSW8をロードする。そし
て、元のルーチンへ戻ることができる。
きバンクの位置を示している値を格納しているバンクの
位置を指定した実施例を、図7及び図8を用いて説明す
る。図7はバンクの一使用例であり、図8はバンク切り
換え時の処理の流れを示す図である。
換えず、サブルーチン2はシステムコール2とする。ま
た、CBP4から1を引いた値が指示するバンクに戻り
バンク番号を格納する。戻りバンク番号が“0”の時
は、PC6、PSW8がスタックメモリに退避している
ことを示す。
ている。この時には、CBP4には使用しているバンク
の番号の15、バンク14にある戻りバンク番号には初
期化されて“0”が入っている。PC6、USP7、P
SW8を格納するバンクはバンク15、汎用レジスタ3
を格納するバンクRAMはバンク16から19を使用し
ている。
今まで使用していたバンクのPC6、バンク14にある
戻りバンク番号をスタックメモリに退避し、スタックメ
モリに退避したのでバンク14にある戻りバンク番号に
“0”をセットする。サブルーチンコール命令によって
指定されたプログラム番地をPC6にセットする。プロ
グラムによって使用するバンクを15から13へ切り換
える。使用していた汎用レジスタの内容をバンク16か
ら19に退避する。バンク14にあった戻りバンク番号
の“0”をバンク12にロードする。CBPに13をセ
ットし、汎用レジスタにバンク14から16までの値を
ロードする。
16のR0からR3までのレジスタを、サブルーチン1
のR8からR11へ直接、パラメータを受け渡すことが
出来る。
ーチン1の始めに予めプログラムで設定済みのスタート
アドレスにある1ワードを読んで、割込みルーチン1で
使用するバンク番号と大きさを読み込む。これと同時
に、サブルーチン1の汎用レジスタはバンク14から1
6、PC6、PSW8、USP7はバンク13へ退避
し、CBP4の内容の13をバンク1にある戻りバンク
番号にロードする。
トアドレスを書き込み、CBP4には割込みルーチン1
で使用するバンク番号の2を入れて、バンクを切り換え
る。バンク3から汎用レジスタをロードして使用する。
込みルーチン1の場合と同様に、ルーチンの始めに、予
めプログラムで設定済みのスタートアドレスにある1ワ
ードを読んで、割込みルーチン2で使用するバンク番号
と大きさを読み込む。これと同時に、割込みルーチン1
の汎用レジスタはバンク3、PC6、PSW8、USP
7はバンク2へ退避し、CBP4の内容の2をバンク8
にある戻りバンク番号にロードする。
トアドレスを書き込み、CBP4には割込みルーチン2
で使用するバンク番号の9を入れて、バンクを切り換え
る。汎用レジスタをバンク10からロードして使用す
る。
と、割込みルーチン2からのリターン命令が発生し、C
BP4にバンク8にある戻りバンク番号の値の2をロー
ドする。バンク2からPC6、PSW8、USP7をロ
ードし、バンク3から汎用レジスタをロードし、元のバ
ンクへ回復する。バンク1にある戻りバンク番号は13
が入っている。そして、割込みルーチン1の処理の続き
を行なう。
と、割込みルーチン1からのリターン命令が発生し、割
込みルーチン1の処理が終了したのと同様に、CBP4
にバンク1にある戻りバンク番号の値の13をロードす
る。バンク13からPC6、PSW8、USP7をロー
ドし、バンク14からバンク16までを汎用レジスタに
ロードし、元のバンク13へ回復する。バンク12にあ
る戻りバンク番号は“0”が入っている。そして、サブ
ルーチン1の処理の続きを行なう。
ステムコール2が発生して、これを受け付けると、サブ
ルーチン1で使用していたPC6、PSW8、バンク1
2にある戻りバンク番号の値の“0”をスタックメモリ
に退避する。次に、そのソフトウェア割込みルーチンに
対応するスタートアドレスをPC6に書き込む。
り換えないので、CBP4の値は13で変わらない。ス
タックメモリに退避したので、バンク12にある戻りバ
ンク番号は“0”をセットする。プログラムでバンクを
切り換えて、CBP4を13から12にする。バンク1
2にあった戻りバンク番号の“0”をバンク11にロー
ドする。汎用レジスタをバンク13からロードして使用
する。
割込みルーチン3が発生すると、割込みルーチン2の場
合と同様に、ルーチンの始めに予めプログラムで設定済
みのスタートアドレスにある1ワードを読んで、割込み
ルーチン3で使用するバンク番号と大きさを読み込む。
これと同時に、システムコール2の汎用レジスタはバン
ク13、PC6、PSW8、USP7はバンク12へ退
避し、CBP4の内容の12をバンク4にある戻りバン
ク番号にロードする。
ートアドレスを書き込み、CBP4には割込みルーチン
3で使用するバンク番号の5を入れて、バンクを切り換
える。汎用レジスタはバンク6から7をロードして使用
する。
ムコール1が発生して、これを受け付けると、割込みル
ーチン3で使用していたPC6、PSW8、バンク4に
ある戻りバンク番号の12をスタックメモリに退避す
る。次に、そのソフトウェア割込みルーチンに対応する
スタートアドレスをPC6に書き込む。
り換えないので、CBP4の値は5で変わらない。スタ
ックメモリに退避したので、バンク4にある戻りバンク
番号は“0”をセットする。汎用レジスタはそのままバ
ンク6から7を使用する。
と、割込みからの復帰命令によって割込みルーチン3に
戻る。バンク4にある戻りバンク番号は“0”なので、
スタックメモリから割込みルーチン3で使用していたP
C6、PSW8をロードし、バンク4に戻りバンク番号
の12をロードする。バンクは切り換えていないので、
CBP4の値は5で変わらず、汎用レジスタはそのまま
バンク6から7を使用し、割込みルーチン3の処理を再
開する。
と、割込みルーチン3からのリターン命令が発生し、C
BP4にバンク4にある戻りバンク番号の値の12をロ
ードする。バンク12からPC6、PSW8、USP7
をロードし、バンク13から汎用レジスタをロードし、
元のバンク12へ回復する。バンク11にある戻りバン
ク番号は“0”が入っている。そして、システムコール
2の続きを行なう。
と、プログラムのバンク切り換え命令によってCBPを
12から13に変えて、バンク13に戻す。バンク11
にある戻り番号の“0”をバンク12にロードする。バ
ンク12にある戻りバンク番号は“0”なので、スタッ
クメモリからPC6、PSW8、バンク12にある戻り
番号の“0”をバンク12にロードする。汎用レジスタ
にバンク14からバンク16までをロードし、再びサブ
ルーチン1の処理を行なう。
と、プログラムによってCBP4を13から15に変
え、バンク15に戻す。バンク12にあった戻り番号の
“0”をバンク14にロードする。バンク14にある戻
りバンク番号は“0”なので、スタックメモリからPC
6、バンク14にある戻りバンク番号の“0”をバンク
14にロードする。汎用レジスタにバンク16からバン
ク19までをロードし、メインルーチンの続きを再開す
る。
する内容を算出してバンクメモリに直接転送するように
しても、前述した実施例と同様の効果が得られる。ま
た、PBP5のレジスタが不要となり、構成の簡略化を
図ることができる。
テムバスを介して行われるが、本発明によれば、CPU
コアとバンクメモリ2とがシステムバスとは別の専用バ
スで接続されている。そのため、バンク切り替えの際、
汎用レジスタ3及び専用レジスタの内容を該専用バスを
介してバンクメモリ2へ退避/復帰するので、高速なデ
ータの転送が実現できる。また、該専用バスの幅を広く
することによって(64ビット、128ビツト)、さら
に高速なバンク切り替えが可能になる。
るため、以下第3実施例〜第5実施例を図10〜図12
に示す。
実施例では、PC6やPSW8などの専用レジスタを指
すポインタと汎用レジスタを指すポインタを別々にもつ
ことに特徴がある。
くプロセッサの構成を示している。第3実施例では、新
たに、PC6及びPSW8を退避するバンクを指すSB
P(スペシャルバンクポインタ)10が備えられてい
る。図10及び図10Cを使って動作を説明する。CB
P4及びSBP10は命令及び割込によって書き換えら
れる。命令で書き換える時は、CBP4及びSBP10
を同時に書き換えられる専用の命令が必要である。これ
をCCBP(チェンジカレントバンクポインタ)命令と
名付ける。CCBP命令のオペランドとしてCBP4及
びSBP10の2つが必要である。CBP4とSBP1
0をLOAD命令等で別々に書き換えこともできるが、
その場合には、CBP4とSBP10の両方を書き換え
るまで割込みは禁止にしなければならないので効率が悪
くなる。一方、割り込みで書き換える時は、割り込みテ
ーブル中の割り込みモードワードに新しいCBP4及び
SBP10の値を記述しておく。
て、汎用レジスタ3の本数を越えるレジスタを使用中に
割り込みが発生した時の動作を説明する。
り込み時には割込みモードワードにより、そして命令に
よりタスクチェンジ時には、CCBP命令により行う。
割込み処理やタクス内に於て、汎用レジスタ3の本数を
越えるワークレジスタが必要になるとLOAD命令でC
BP4を書き換えて汎用レジスタ3の内容を更新する。
さらに、ここで新たな割込みが発生した場合には、初
ず、汎用レジスタ3の内容をCBP4で指示されるバン
クに退避し、そしてPC6C及びPSW8をSBP10
で指示されるバンクに退避する。
プロセッサの構成を示している。
ベース位置のバンクを指すBBP(ベースバンクポイン
タ)12及び、割込みが発生するときにPC6とPSW
8を退避するバンクメモリーと該BBP12との距離で
あるところの相対値を保持するDSR(ディスタントト
ゥペシャルレジスタ)14を備えていることに特徴があ
る。図11B及び図11Cを使って第4実施例の動作を
説明する。CBP4,BBP12及びDSR14は命令
及び割込みで書き換えられる。命令で書き換える時は、
CBP4,BBP12及びDSR14は同時に書き換え
られる専用の命令が必要である。これをCBBP(チェ
ンジ ベース バンク ポインタ)命令と名付ける。C
BBP命令のオペランドとしてBBP12及びDSR1
4を指定しておき、CBP4にはBBP12と同じ値を
ロードする。一方、割り込みによって書き換える場合
は、割り込みテーブルの割込みモードワードに新しいB
BP12およびDSRの値を記述しておく。
て、汎用レジスタ3の本数を越えるレジスタを使用中に
割込みが発生した時の動作を説明する。
期設定は、割込み時には割込みモードによって、また、
命令によるタスクチェンジの時にはCBBP命令によっ
て行う。割込み時やタスク内に於て、汎用レジスタ3の
本数を越えるレジスタが必要になるとLOAD命令でC
BP4を書き換えて汎用レジスタ3の内容を更新する。
さらに、ここで新たな割込みが発生した場合には、初
ず、汎用レジスタ3の内容をCBP4で指されるバンク
に退避し、そしてPC6及びPSW8をBBP12及び
DSR14で指されるバンクに退避する。その結果、第
4実施例では第3実施例に比してオペランドの長さを短
くできる利点がある。一方、レジスタの数は第4実施例
の方が多くなってしまい、またPC6及びPSW8の退
避/復帰の際、BBP12及びDSR14からの情報を
合わせて計算を行う分だけ余分に時間がかかる。
に於けるCBP4の代わりにBBPからCBP4までの
距離の情報を保持するDCR(ディスタント・トウ・C
BPレジスタ)が設けられている。このような構成によ
って、第5実施例では、第3及び第4実施例よりもさら
にオペランドの長さを短くすることができる。また、第
5実施例ではレジスタの数は第4実施例に比して少なく
することができる。
クを切り換えた際に戻りバンクの位置を示す情報及び専
用レジスタと汎用レジスタの情報を外部バスを介するこ
となく転送して退避するバンクをバンクメモリに複数セ
ット設けるようにしたので、割込み処理等で使用できる
汎用レジスタに制限を受けることなく、割込み処理の応
答/復帰を高速に行なうことが可能となる。
よって多重割込みに対応することができる。
域を選択するようにしたので、バンクメモリを効率的に
利用することができる。
の内容を退避するバンクをタスクごとに指定でき、また
専用レジスタと汎用レジスタを指すポインタが別々に用
意されているので、バンクチェンジによる汎用レジスタ
の更新が高速に実行でき、また、タスク内やタスク間で
該バンクを共有できるため、バンクメモリの使用効率が
向上する。
ッサの要部構成を示す図である。
る
図である。
す図である。
使用例を示す図である。
換え時の処理の流れを示す図である。
使用例を示す図である。
換え時の処理の流れを示す図である。
す図である。
の使用例及び動作を示す図である。
の使用例及び動作を示す図である。
の使用例及び動作を示す図である。
Claims (11)
- 【請求項1】 プログラムの実行に係る特定の情報を保
持する専用レジスタと、 プログラムの実行に係る不特定の情報を保持する汎用レ
ジスタと、 現在使用中のバンクを示す情報と、戻りバンクを示す情
報と、前記専用レジスタ及び汎用レジスタに保持されて
いる情報が、外部バスを介することなく転送されるバン
クを複数セット備えたバンクメモリとを有することを特
徴とするプロセッサ。 - 【請求項2】 プログラムの実行に係る特定の情報を保
持する専用レジスタと、 プログラムの実行に係る不特定の情報を保持する汎用レ
ジスタと、 現在使用中のバンクを示す情報を保持する第1のレジス
タと、 戻りバンクを示す情報を保持する第2のレジスタと、 前記第2のレジスタと前記専用レジスタ及び汎用レジス
タに保持されたそれぞれの情報が、外部バスを介するこ
となく転送されるバンクを複数セット備えたバンクメモ
リとを有することを特徴とするプロセッサ。 - 【請求項3】 プログラムの実行に係る特定の情報を保
持する専用レジスタと、 プログラムの実行に係る不特定の情報を保持する汎用レ
ジスタと、 現在使用中のバンクを示す情報を保持する第1のレジス
タと、 戻りバンクを示す情報が外部バスを介することなく転送
される第1のバンクと、専用レジスタ及び汎用レジスタ
に保持されたそれぞれの情報が外部バスを介することな
く転送される第2のバンクとをそれぞれ複数セット備え
たバンクメモリと、 前記第1のレジスタに保持された情報に基づいて前記第
1のバンクを示す情報を算出する算出手段とを有するこ
とを特徴とするプロセッサ。 - 【請求項4】 プログラムの実行に係る特定の情報を保
持する専用レジスタと、 プログラムの実行に係る不特定の情報を保持する汎用レ
ジスタと、 現在使用中のバンクを示す情報を保持する第1のレジス
タと、 現在実行中の処理が未終了で他の処理が開始される場合
に、前記第1のレジスタに保持されている現在使用中の
バンクを示す情報が転送され、この情報を戻りバンクを
示す情報として保持し、前記他の処理が終了した時に、
保持している情報が前記第1のレジスタに転送される第
2のレジスタと、 現在実行中の処理が未終了で他の処理が開始される場合
に、前記第2のレジスタと専用レジスタ及び汎用レジス
タに保持されている情報が外部バスを介することなく転
送されて保持され、前記他の処理が終了した時に、保持
している情報が前記第2のレジスタと専用レジスタ及び
汎用レジスタに外部バスを介することなく転送されるバ
ンクを複数セット備えたバンクメモリとを有することを
特徴とするプロセッサ。 - 【請求項5】 プログラムの実行に係る特定の情報を保
持する専用レジスタと、 プログラムの実行に係る不特定の情報を保持する汎用レ
ジスタと、 現在使用中のバンクを示す情報を保持する第1のレジス
タと、 現在実行中の処理が未終了で他の処理が開始される場合
に、前記第1のレジスタに保持されている現在使用中の
バンクを示す情報が転送され、この情報を戻りバンクを
示す情報として保持し、前記他の処理が終了した時に、
保持している情報が前記第1のレジスタに転送される第
1のバンクと、現在実行中の処理が未終了で他の処理が
開始される場合に、前記専用レジスタ及び汎用レジスタ
に保持されている情報が外部バスを介することなく転送
されて保持され、前記他の処理が終了した時に、保持し
ている情報が前記専用レジスタ及び汎用レジスタに外部
バスを介することなく転送される第2のバンクとをそれ
ぞれ複数セット備えたバンクメモリと、 前記第1のレジスタに保持された情報に基づいて前記第
1のバンクを示す情報を算出する算出手段とを有するこ
とを特徴とするプロセッサ。 - 【請求項6】 戻りバンクを示す情報が特定の値である
場合には、前記戻りバンクを示す情報及び前記専用レジ
スタの情報がスタックメモリに転送されることを特徴と
する請求項1記載のプロセッサ。 - 【請求項7】 前記第2のレジスタに保持された情報が
特定の値である場合には、前記第2のレジスタに保持さ
れた情報及び前記専用レジスタの情報がスタックメモリ
に転送されることを特徴とする請求項2又は4記載のプ
ロセッサ。 - 【請求項8】 前記第1のバンクに保持された情報が特
定の値である場合には、前記第1のバンクに保持された
情報及び前記専用レジスタの情報がスタックメモリに転
送されることを特徴とする請求項3又は5記載のプロセ
ッサ。 - 【請求項9】 前記バンク指示手段が、現在使用中のバ
ンクを示す情報を保持する第1レジスタと、プログラム
の命令語が入っているメモリ領域のアドレスを示す第3
レジスタと、プロセッサの状態を示す第4レジスタと、
前記第3レジスタ及び前記第4レジスタの内容を指す第
1ポインタと、を有することを特徴とする請求項1及び
請求項3に記載のプロセッサ。 - 【請求項10】 前記バンク指示手段が、現在使用中の
バンクを示す情報を保持する第1レジスタと、プログラ
ムの命令語が入っているメモリ領域のアドレスを示す第
3レジスタと、プロセッサの状態を示す第4レジスタ
と、ベースバンクのアドレスを指す第2ポインタと、該
第3ポインタと第3レジスタ及び第4レジスタの内容が
退避するバンクとの間の距離情報を保持する第5レジス
タと、を有することを特徴とする請求項1及び請求項3
に記載のプロセッサ。 - 【請求項11】 前記バンク指示手段が、プログラムの
命令語が入っているメモリ領域のアドレスを示す第3レ
ジスタと、プロセッサの状態を示す第4レジスタと、ベ
ースバンクのアドレスを指す第2ポインタと、第2ポイ
ンタと第1レジスタとの間の距離情報を保持する手段を
有することを特徴とする請求項1及び請求項3に記載の
プロセッサ。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP28195492A JP3539984B2 (ja) | 1991-10-21 | 1992-10-20 | プロセッサ |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3-272750 | 1991-10-21 | ||
| JP27275091 | 1991-10-21 | ||
| JP28195492A JP3539984B2 (ja) | 1991-10-21 | 1992-10-20 | プロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH05210512A true JPH05210512A (ja) | 1993-08-20 |
| JP3539984B2 JP3539984B2 (ja) | 2004-07-07 |
Family
ID=26550359
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP28195492A Expired - Lifetime JP3539984B2 (ja) | 1991-10-21 | 1992-10-20 | プロセッサ |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3539984B2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR960706125A (ko) * | 1994-09-19 | 1996-11-08 | 요트.게.아. 롤페즈 | 다수의 마이크로 콘트롤러의 동작을 실행하기 위한 마이크로 콘트롤러 시스템(A microcontroller system for performing operations of multiple microcontrollers) |
| JP2019046138A (ja) * | 2017-09-01 | 2019-03-22 | 株式会社エルイーテック | 複数のレジスタ群を有するプロセッサ |
| KR20200060937A (ko) | 2018-11-23 | 2020-06-02 | 가천대학교 산학협력단 | 의료용 초전도 자석 |
| JP2020086871A (ja) * | 2018-11-22 | 2020-06-04 | Necプラットフォームズ株式会社 | 情報処理装置、プログラム、オペレーティングシステム、実行方法及びプログラムの修正方法 |
| JP2022175352A (ja) * | 2021-05-13 | 2022-11-25 | 株式会社平和 | 遊技機 |
-
1992
- 1992-10-20 JP JP28195492A patent/JP3539984B2/ja not_active Expired - Lifetime
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR960706125A (ko) * | 1994-09-19 | 1996-11-08 | 요트.게.아. 롤페즈 | 다수의 마이크로 콘트롤러의 동작을 실행하기 위한 마이크로 콘트롤러 시스템(A microcontroller system for performing operations of multiple microcontrollers) |
| JP2019046138A (ja) * | 2017-09-01 | 2019-03-22 | 株式会社エルイーテック | 複数のレジスタ群を有するプロセッサ |
| JP2020086871A (ja) * | 2018-11-22 | 2020-06-04 | Necプラットフォームズ株式会社 | 情報処理装置、プログラム、オペレーティングシステム、実行方法及びプログラムの修正方法 |
| KR20200060937A (ko) | 2018-11-23 | 2020-06-02 | 가천대학교 산학협력단 | 의료용 초전도 자석 |
| JP2022175352A (ja) * | 2021-05-13 | 2022-11-25 | 株式会社平和 | 遊技機 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3539984B2 (ja) | 2004-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5557766A (en) | High-speed processor for handling multiple interrupts utilizing an exclusive-use bus and current and previous bank pointers to specify a return bank | |
| US5701493A (en) | Exception handling method and apparatus in data processing systems | |
| US5386563A (en) | Register substitution during exception processing | |
| EP0511674B1 (en) | Single chip microcomputer | |
| US5812868A (en) | Method and apparatus for selecting a register file in a data processing system | |
| US4715013A (en) | Coprocessor instruction format | |
| EP0441054B1 (en) | Method and apparatus for handling nested interrupts | |
| JPH02267634A (ja) | 割込み処理装置 | |
| WO2010004243A2 (en) | Interrupt processing | |
| US4731736A (en) | Method and apparatus for coordinating execution of an instruction by a selected coprocessor | |
| JP2005100405A (ja) | 複数のプロセッサにソフトウェアをロードするシステムおよび方法 | |
| US7290124B2 (en) | Data processor employing register banks with overflow protection to enhance interrupt processing and task switching | |
| JP2822782B2 (ja) | シングルチップマイクロコンピュータ | |
| JPH05210512A (ja) | プロセッサ | |
| JP5131269B2 (ja) | マルチプロセッシングシステム | |
| Lindgren et al. | ENEST-Efficient Interrupt Nesting for RISC-V based CPUs | |
| JP4114946B2 (ja) | データ処理装置 | |
| JP3659048B2 (ja) | オペレーティングシステム及び計算機 | |
| JP2568017B2 (ja) | マイクロプロセッサ及びそれを使用したデータ処理システム | |
| US4758978A (en) | Method and apparatus for selectively evaluating an effective address for a coprocessor | |
| JPH0668725B2 (ja) | データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法 | |
| JPS6049352B2 (ja) | デ−タ処理装置 | |
| JP4756599B2 (ja) | データ処理装置 | |
| JPS603229B2 (ja) | 情報処理方式 | |
| JPH0264740A (ja) | マイクロプロセッサ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20031215 |
|
| 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: 20040316 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040324 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080402 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090402 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100402 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110402 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 9 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130402 Year of fee payment: 9 |