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

マイクロプロセッサ

Info

Publication number
JPH07114498A
JPH07114498A JP5258466A JP25846693A JPH07114498A JP H07114498 A JPH07114498 A JP H07114498A JP 5258466 A JP5258466 A JP 5258466A JP 25846693 A JP25846693 A JP 25846693A JP H07114498 A JPH07114498 A JP H07114498A
Authority
JP
Japan
Prior art keywords
bank
register
instruction
pointer
microprocessor
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.)
Pending
Application number
JP5258466A
Other languages
English (en)
Inventor
Seiji Onaino
誠治 子井野
Toshiyuki Yaguchi
俊行 矢口
Yuriko Hisama
由利子 久間
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5258466A priority Critical patent/JPH07114498A/ja
Priority to KR1019940026322A priority patent/KR0137096B1/ko
Priority to DE69429492T priority patent/DE69429492T2/de
Priority to EP94116264A priority patent/EP0649090B1/en
Priority to US08/322,468 priority patent/US5615348A/en
Publication of JPH07114498A publication Critical patent/JPH07114498A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30043LOAD or STORE instructions; Clear instruction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30138Extension of register space, e.g. register cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Abstract

(57)【要約】 【目的】 バンク切り替えに伴う後続命令の実行待ち時
間を低減したマイクロプロセッサを提供することを目的
とする。 【構成】 レジスタバンクRF1〜RF4と、レジスタ
バンクの内容の退避領域の位置情報、または復帰領域の
位置情報を保持するカレントバンクポインタCBPと、
退避/復帰のバンクサイズを指定するバンクサイズ指定
レジスタBSとを有して構成し、所定命令のデスティネ
ーションオペランドとしてカレントバンクポインタが指
定される時、カレントバンクポインタの該時点における
内容cbpに基づき、バンクサイズ指定レジスタBSで
指定されるバンクサイズ分を内蔵RAMに退避し、前記
命令に基づきカレントバンクポインタの内容を書き換
え、書き換え後のカレントバンクポインタの内容cb
p’に基づき、内蔵RAMから、前記バンクサイズ分の
情報をバンクレジスタに復帰することである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、内蔵RAMと汎用レジ
スタを高速バスで結合して、バンクポインタで示される
内蔵RAMの内容と汎用レジスタの内容を一致させるよ
うに構成したレジスタバンクを備えたマイクロプロセッ
サに係り、特に、バンク切り替えに伴う後続命令の命令
実行待ち時間を低減したマイクロプロセッサに関する。
【0002】
【従来の技術】汎用レジスタと内蔵RAMを高速バスで
結合し、バンクポインタで示される内蔵RAMの内容と
汎用レジスタの内容を一致させるように構成したレジス
タバンク構造を備えるマイクロプロセッサにおいて、通
常の演算命令のデスティネーションをカレントバンクポ
インタ(CBP)に指定することによって、バンクの退
避/復帰を行い、タスクチェンジを行う場合には、自動
的に高速バスを介した汎用レジスタ内のデータの退避/
復帰が行われる。
【0003】従来のシングルチップのマイクロプロセッ
サの構成図を図15に、また該シングルチップマイクロ
プロセッサ上に搭載されるCPUコアの構成図を図16
に、それぞれ示す。
【0004】図15に示すように、マイクロプロセッサ
100はワンチップの中に、CPUコア101、内蔵R
AM103、内蔵ROM105、バスコントローラ10
7、割り込みコントローラ109、タイマ111、及び
シリアルI/O113等を搭載して構成されている。こ
れらブロックは、チップ内のシステムバスSYSBUS
(アドレスバスABUS及びデータバスDBUSを含
む)を介してデータのやり取りを行なう。また、チップ
外部とのデータのやり取りは、バスコントローラ107
を通じてI/Oパッドから行なわれる。
【0005】また図16に示すように、従来技術では、
レジスタバンクを構成する複数組のバンクRF1〜RF
8をCPUコア101内部に有している。そして、これ
らのバンクRF1〜RF8はCPUコア101内部の複
数の内部データバスIDBUS1〜IDBUS3に接続
され、この内部データバスIDBUS1〜IDBUS3
を介してALU(論理演算ユニット)等125にデータ
が転送されて演算が行なわれる。
【0006】更に、図17は従来技術のレジスタバンク
の概念構成図、図18は従来技術のバンク制御ユニット
の構成図、図19は従来技術のバンク切り替えの動作を
説明するタイミングチャートである。
【0007】命令デコーダ(121)はバスインタフェ
ースユニット(図示せず)から供給された命令ワードを
デコードして、マイクロコードを読み出し、各ブロック
を制御する制御信号を生成する。デスティネーションオ
ペランドの情報を与えるマイクロコードがカレントバン
クポインタCBPを示した時、カレントバンクポインタ
蓄積制御信号CBPCがイネーブルになる。該蓄積制御
信号CBPCを受けたバンク制御ユニットBCUは、バ
ンク制御中であることを各ブロックに知らせるためにバ
ンクストップ信号STOPを出力し、該ストップ信号S
TOPを受けた各ブロックでは、次の命令の処理を行わ
ないようにする。
【0008】例えば、図17に示すように、16ビット
レジスタ×16本構成の汎用レジスタGR(R0〜R1
5)では、汎用レジスタ4本を1バンクとする時、汎用
レジスタR0〜R3(第1バンクRF1)、汎用レジス
タR4〜R7(第2バンクRF2)、汎用レジスタR8
〜R11(第3バンクRF3)、及び汎用レジスタR1
2〜R15(第4バンクRF4)がそれぞれ1バンクと
なる。バンクレジスタと内蔵RAM103とのデータの
受け渡しは、この場合、64ビットの高速バスを介して
1バンクづつ行われる。
【0009】次に、汎用レジスタGR(R0〜R15)
の退避/復帰動作について図19に示すタイミングチャ
ートを参照して説明する。
【0010】汎用レジスタGRのデータは、第1バンク
RF1から順に第4バンクRF4まで、カレントバンク
ポインタCBPの指し示すアドレスcbpから8バイト
(以下、cbp×8と略記する)の内蔵RAM103の
領域に転送される。レジスタアドレスREGAは4ビッ
トでレジスタ番号に対応している。1バンクを転送する
のに要するクロック数は1である。
【0011】第1バンクRF1、第2バンクRF2、第
3バンクRF3、及び第4バンクRF4は、それぞれc
bp×8、(cbp+1)×8、(cbp+2)×8、
及び(cbp+3)×8の内蔵RAM103の領域に転
送される。汎用レジスタGRから内蔵RAM103への
転送が終了するサイクルに、カレントバンクポインタ書
き込み要求CBPWを受け、データレジスタ(図示せ
ず)から内部バスを介してカレントバンクポインタCB
Pへの書き込みが行われる。
【0012】次のサイクルでは、カレントバンクポイン
タCBPの指し示すアドレスcbp’から8バイト(c
bp’×8)のRAMの領域の内容が、第1バンクRF
1にデータ転送される。引き続き第2バンクRF2〜第
4バンクRF4も同様にして転送されるが、第4バンク
RF4の転送サイクルで、同時にバンクストップ信号S
TOPをディスエーブルにして、転送終了を各ブロック
に伝達する。
【0013】バンク切り替え中、即ちバンクストップ信
号STOPによって規制される、少なくとも転送に要す
る8クロックの間は、命令の実行は待ち状態である。
【0014】
【発明が解決しようとする課題】以上のように、従来の
マイクロプロセッサでは、退避/復帰されるレジスタ数
が固定で、汎用レジスタの数だけ全て転送する方式を採
用しており、汎用レジスタの本数と、レジスタバンク及
び記憶装置間のバンクバスのビット幅とによって、レジ
スタの退避/復帰に要するクロック数が決定されるが、
例えば汎用レジスタ4本を1バンクとして汎用レジスタ
が16本あるとすると、レジスタバンクの退避/復帰だ
けで8クロックを要し、この間は後続命令の実行が待た
されるために命令実行効率が低下するという問題があっ
た。
【0015】本発明は、上記問題点を解決するもので、
指定されたバンクサイズ分のみを退避/復帰することに
より、バンク切り替えに伴う後続命令の実行待ち時間を
低減したマイクロプロセッサを提供することを目的とす
る。
【0016】
【課題を解決するための手段】上記課題を解決するため
に、本発明の第1の特徴は、図1に示す如く、複数の汎
用レジスタR0〜R3,R4〜R7,R8〜R11,ま
たはR12〜R15を1つのバンクとし、該バンクをn
個(nは任意の正整数)備えるレジスタバンクRF1〜
RF4と、前記レジスタバンクRF1〜RF4と内蔵R
AM103を結合する高速バスと、前記レジスタバンク
RF1〜RF4の内容を前記内蔵RAM103内に退避
する時の退避領域の位置情報、または前記内蔵RAM1
03内の情報を前記レジスタバンクRF1〜RF4に復
帰する時の復帰すべき領域の位置情報を保持するカレン
トバンクポインタCBPと、前記退避または復帰時の退
避または復帰すべきバンクサイズを指定するバンクサイ
ズ指定レジスタBSとを具備し、所定命令のデスティネ
ーションオペランドとして前記カレントバンクポインタ
CBPが指定される時、前記カレントバンクポインタC
BPの該時点における内容cbpに基づき、前記バンク
レジスタRF1〜RF4の内、前記バンクサイズ指定レ
ジスタBSで指定されるバンクサイズ分を前記内蔵RA
M103に退避し、前記命令に基づき前記カレントバン
クポインタCBPの内容を書き換え、書き換え後のカレ
ントバンクポインタCBPの内容cbp’に基づき、前
記内蔵RAM103から、前記バンクサイズ指定レジス
タBSで指定されるバンクサイズ分の情報を前記バンク
レジスタRF1〜RF4に復帰することである。
【0017】また、本発明の第2の特徴は、請求項1に
記載のマイクロプロセッサにおいて、図4に示す如く、
前記マイクロプロセッサは、前記バンク毎に割り当てら
れ、該バンクRF1〜RF4について、前記復帰が完了
した旨を示すn個の復帰完了フラグBF1〜BF4を具
備し、前記退避を行った後、前記所定命令の後続命令の
実行を再開すると同時に、前記復帰を開始し、復帰が完
了したバンクについて前記復帰完了フラグBF1〜BF
4を立て、前記後続の命令の内、前記レジスタバンクR
F1〜RF4をアクセスする命令は、使用するバンクに
対応する復帰完了フラグが立てられた後に該命令を実行
することである。
【0018】また、本発明の第3の特徴は、請求項1ま
たは2に記載のマイクロプロセッサにおいて、図7に示
す如く、前記マイクロプロセッサは、前記バンク毎に割
り当てられ、該バンクRF1〜RF4について、前記所
定命令の後続命令で参照しようとする旨を示すn個の参
照フラグBR1〜BR4を具備し、前記退避を行った
後、前記後続命令の実行を再開して、前記参照フラグB
R1〜BR4を立て、前記復帰は、前記参照フラグの立
てられたバンクについてのみ行われることである。
【0019】また、本発明の第4の特徴は、請求項1、
2、または3に記載のマイクロプロセッサにおいて、図
4及び図7に示す如く、前記マイクロプロセッサは、前
記バンク毎に割り当てられ、該バンクRF1〜RF4の
内容が書き換えられた旨を示すn個の書き換えフラグB
K1〜BK4を具備し、前記退避は、前記書き換えフラ
グの立てられたバンクについてのみ行われることであ
る。
【0020】また、本発明の第5の特徴は、請求項1、
2、3、または4に記載のマイクロプロセッサにおい
て、図10に示す如く、前記マイクロプロセッサは、前
記退避におけるバンクサイズを指定する第1のバンクサ
イズ指定レジスタBS1と、前記復帰におけるバンクサ
イズを指定する第2のバンクサイズ指定レジスタBS2
とを具備することである。
【0021】また、本発明の第6の特徴は、請求項1、
2、3、4、または5に記載のマイクロプロセッサにお
いて、図12に示す如く、前記所定命令は、デスティネ
ーションとして前記カレントバンクポインタCBPと、
前記バンクサイズ指定レジスタBSまたは第2のバンク
サイズ指定レジスタBS2を指定する専用命令であるこ
とである。
【0022】更に、本発明の第7の特徴は、請求項1、
2、3、4、5、または6に記載のマイクロプロセッサ
において、図10に示す如く、前記マイクロプロセッサ
は、前記所定命令または専用命令のデスティネーション
として指定されるプリカレントバンクポインタラッチP
CBPを具備し、前記退避は前記カレントバンクポイン
タCBPの内容cbpに基づき行われ、前記復帰は前記
プリカレントバンクポインタラッチPCBPの内容cb
p’に基づき行われることである。
【0023】
【作用】本発明の第1の特徴のマイクロプロセッサで
は、図1に示す如く、所定命令のデスティネーションオ
ペランドとしてカレントバンクポインタCBPが指定さ
れる時、カレントバンクポインタCBPの該時点におけ
る内容cbpに基づき、バンクレジスタRF1〜RF4
の内、バンクサイズ指定レジスタBSで指定されるバン
クサイズ分のみを内蔵RAM103に退避し、前記所定
命令に基づきカレントバンクポインタCBPの内容をc
bp’に書き換え、該書き換え後のカレントバンクポイ
ンタCBPの内容cbp’に基づき、内蔵RAM103
から、バンクサイズ指定レジスタBSで指定されるバン
クサイズ分の情報のみをバンクレジスタRF1〜RF4
に復帰するようにしている。
【0024】このように、本発明のマイクロプロセッサ
では、バンクサイズ指定レジスタBSで指定されたバン
クサイズ分のみを退避/復帰するので、従来のように不
要なバンクについてまで退避/復帰を行うことがなく、
バンク切り替えに伴う後続命令の実行待ち時間を低減す
ることができる。
【0025】また、本発明の第2の特徴のマイクロプロ
セッサでは、図4に示す如く、退避動作後、所定命令の
後続命令の実行を再開すると同時に、復帰動作を開始
し、復帰が完了したバンクについて復帰完了フラグBF
1〜BF4を立て、後続の命令の内、レジスタバンクR
F1〜RF4をアクセスする命令は、使用するバンクに
対応する復帰完了フラグが立てられた後に該命令を実行
することとしたので、後続命令の実行待ち時間をより低
減することができる。
【0026】また、本発明の第3の特徴のマイクロプロ
セッサでは、図7に示す如く、退避動作後、前記後続命
令の実行を再開して、該後続命令によりアクセスのあっ
たバンクに応じて参照フラグBR1〜BR4を立て、復
帰動作は、参照フラグの立てられたバンクについてのみ
行なうこととしたので、無駄な書き換え動作を省き、命
令実行時間の高速化を図ることができる。
【0027】また、本発明の第4の特徴のマイクロプロ
セッサでは、図4及び図7に示す如く、退避動作は、書
き換えフラグBK1〜BK4が立てられているバンクに
ついてのみ行われることとしたので、無駄な書き換え動
作を省き、命令実行時間の高速化を図ることができる。
【0028】また、本発明の第5及び第6の特徴のマイ
クロプロセッサでは、図10及び図12に示す如く、前
記所定命令は、デスティネーションとしてカレントバン
クポインタCBPと、バンクサイズ指定レジスタBSま
たは第2のバンクサイズ指定レジスタBS2を指定する
こととし、バンクサイズ指定レジスタBSまたは第1バ
ンクサイズ指定レジスタBS1で指定されたバンクサイ
ズ分のみを退避し、バンクサイズ指定レジスタBSまた
は第2バンクサイズ指定レジスタBS2で指定されたバ
ンクサイズ分のみを復帰することとしたので、従来のよ
うに、不要なバンクについて退避/復帰を行うことがな
く、バンク切り替えに伴う後続命令の実行待ち時間を低
減することができる。
【0029】更に、本発明の第7の特徴のマイクロプロ
セッサでは、図10に示す如く、前記所定命令または専
用命令のデスティネーションとしてプリカレントバンク
ポインタラッチPCBPを指定し、退避動作をカレント
バンクポインタCBPの内容cbpに基づいて行い、復
帰動作をプリカレントバンクポインタラッチPCBPの
内容cbp’に基づいて行なうようにしている。つま
り、予めバンクサイズ指定レジスタBSに設定されてい
るバンクサイズ分のみを退避し、専用命令のオペランド
で指定されたバンクサイズ分のみを復帰することとした
ので、バンク切り替えに伴う後続命令の実行待ち時間を
低減することができる。
【0030】以上を総括すれば、カレントバンクポイン
タCBPの書き換えに伴う汎用レジスタとRAMとのデ
ータの転送を必要なバンク数だけ行うことにより、デー
タ転送クロック数の短縮を実現し、後続の命令実行の待
ち時間を短縮することができる。例えば、4バンク構成
のレジスタファイルであった場合、従来技術では10ク
ロックを要していたが、本発明では1バンクしか使用し
ていない場合には4クロックでカレントバンクポインタ
CBPの書き換えに伴う処理が完了することになる。
【0031】また、内蔵RAM103から汎用レジスタ
GRへのデータ復帰動作の期間において命令実行を許可
したことにより、後続の命令を速やかに実行することが
できる。後続の命令でデータロード期間にレジスタアク
セスが生じなかった場合には、汎用レジスタを数多く使
用中の時に、かなりの効果が期待できる。
【0032】
【実施例】次に、本発明に係る実施例を図面に基づいて
説明する。
【0033】(第1の実施例)図1に本発明の第1の実
施例に係るマイクロプロセッサの概念構成図を示す。同
図において、図17(従来例)と重複する部分には同一
の符号を附する。
【0034】図1において、本実施例のマイクロプロセ
ッサは、4個の汎用レジスタR0〜R3,R4〜R7,
R8〜R11,またはR12〜R15を1つのバンクと
し、該バンクを4個(n=4)備えるレジスタバンクR
F1〜RF4と、レジスタバンクRF1〜RF4と内蔵
RAM103を結合する高速バス(図示せず)と、バン
ク切り替えの制御を行うバンク制御ユニットBCU1と
を備えて構成されている。
【0035】バンク制御ユニットBCU1では、バスの
制御、汎用レジスタ群GR(R0〜R15)及び内蔵R
AM103のアドレス生成、各ブロックに対する制御信
号の生成、並びにバンク制御ユニットBCU1自身の制
御を行う。
【0036】バンク制御ユニットBCU1は、図2に示
すように、カレントバンクポインタCBP、バンクサイ
ズ指定レジスタBS、レジスタアドレス生成部RAG、
加算器ADD、及びデコーダDECを有して構成されて
いる。
【0037】カレントバンクポインタCBPは、レジス
タバンクRF1〜RF4の内容を内蔵RAM103内に
退避する時の退避領域のアドレス情報、または内蔵RA
M103内の情報をレジスタバンクRF1〜RF4に復
帰する時の復帰すべき領域のアドレス情報を保持する。
またバンクサイズ指定レジスタBSは、前記退避または
復帰時の退避または復帰すべきバンクサイズを指定す
る。
【0038】レジスタアドレス生成部RAGはステート
マシンを備え、またデコーダDECは、ステート、バン
ク切り替え信号CBPC、及びバンクサイズ指定レジス
タBSの出力をデコードすることにより各種制御信号を
生成する。
【0039】アドレス生成では、カレントバンクポイン
タCBP及びレジスタアドレス生成部RAGの出力か
ら、内蔵RAM103のアドレスRAMA、バンクの先
頭の汎用レジスタ、即ち退避/復帰するバンクの汎用レ
ジスタ群のレジスタ番号の最も小さい汎用レジスタのア
ドレスREGAを生成する。
【0040】レジスタアドレス生成部RAGの備えるス
テートマシンでは、バンクサイズ指定レジスタBSの値
から、内蔵RAMアドレスRAMA及びレジスタアドレ
スREGAの上限を決定するように回路が構成されてい
る。
【0041】次に、図3に示すタイミングチャートを参
照して、本実施例の動作を説明する。以下の説明では、
バンクサイズ指定レジスタBSで指定されるバンクサイ
ズbs=2として説明を行う。
【0042】先ず、所定命令のデスティネーションオペ
ランドとしてカレントバンクポインタCBPが指定され
る時、カレントバンクポインタCBPの該時点における
内容cbpに基づき、バンクレジスタの内、バンクサイ
ズ指定レジスタBSで指定されるバンクサイズbs分、
即ち第1バンクRF1及び第2バンクRF2を内蔵RA
M103に退避する。
【0043】次に、前記所定命令のデスティネーション
オペランドに基づきカレントバンクポインタCBPの内
容をcbp’に書き換え、該書き換え後のカレントバン
クポインタCBPの内容cbp’に基づき、内蔵RAM
103から、バンクサイズ指定レジスタBSで指定され
るバンクサイズbs分の情報をバンクレジスタ(第1バ
ンクRF1及び第2バンクRF2)に復帰する。
【0044】このように、本実施例のマイクロプロセッ
サでは、バンクサイズ指定レジスタBSで指定されたバ
ンクサイズ分のみを退避/復帰することとしたので、従
来のように、不要なバンクについて退避/復帰を行うこ
とがなく、バンク切り替えに伴う後続命令の実行待ち時
間を低減することができる。
【0045】(第2の実施例)図4に本発明の第2の実
施例に係るマイクロプロセッサの概念構成図を示す。
【0046】同図において、本実施例のマイクロプロセ
ッサは、レジスタバンクRF1〜RF4、高速バス(図
示せず)、復帰完了フラグBF1〜BF4、書き換えフ
ラグBK1〜BK4、及びバンク制御ユニットBCU2
とを備えて構成されている。
【0047】復帰完了フラグBF1〜BF4は、バンク
毎に割り当てられ、該バンクRF1〜RF4について復
帰動作が完了した旨を示す。また書き換えフラグBK1
〜BK4は、バンク毎に割り当てられ、該バンクRF1
〜RF4の内容が書き換えられた旨を示す。
【0048】バンク制御ユニットBCU2では、バスの
制御、汎用レジスタ群GR(R0〜R15)及び内蔵R
AM103のアドレス生成、各ブロックに対する制御信
号の生成、並びにバンク制御ユニットBCU2自身の制
御を行う。
【0049】バンク制御ユニットBCU2は、図5に示
すように、プリカレントバンクポインタラッチPCB
P、カレントバンクポインタCBP、バンクサイズ指定
レジスタBS、レジスタアドレス生成部RAG、加算器
ADD、及びデコーダDECを有して構成されている。
【0050】プリカレントバンクポインタラッチPCB
Pは、所定命令のデスティネーションとして指定され、
内部バスIBUSを介して、内蔵RAM103内の情報
をレジスタバンクRF1〜RF4に復帰する時の復帰す
べき領域のアドレス情報cbp’が設定される。
【0051】カレントバンクポインタCBPは、レジス
タバンクRF1〜RF4の内容を内蔵RAM103内に
退避する時の退避領域のアドレス情報cbpを保持す
る。
【0052】バンクサイズ指定レジスタBSは、退避ま
たは復帰動作時の退避または復帰すべきバンクサイズを
指定する。
【0053】また、レジスタアドレス生成部RAG、デ
コーダDEC等の機能については第1の実施例と同様で
ある。
【0054】次に、図6に示すタイミングチャートを参
照して、本実施例の動作を説明する。以下の説明では、
バンクサイズ指定レジスタBSで指定されるバンクサイ
ズbs=3として説明を行う。
【0055】先ず、所定命令のデスティネーションオペ
ランドとしてカレントバンクポインタCBPが指定され
る時、カレントバンクポインタCBPの該時点における
内容cbpに基づき、バンクレジスタの内、バンクサイ
ズ指定レジスタBSで指定されるバンクサイズbs分、
即ち第1バンクRF1、第2バンクRF2、及び第3バ
ンクRF3を内蔵RAM103に退避する。
【0056】より具体的には、次のようになる。即ち、
カレントバンクポインタ蓄積制御信号CBPCを受けた
時、第1バンクRF1を退避すると同時に、バスインタ
フェースユニットからCBP書き込み信号CBPWを受
信し、内部バスIBUSから新しいカレントバンクポイ
ンタの値cbp’をプリカレントバンクポインタラッチ
PCBPにラッチする。
【0057】またデコーダDECでは、バンクストップ
信号STOPを出力し、各ブロックをNOP(No OPera
tion)状態にする。バンクサイズ指定レジスタBSに従
って所定のバンク数(n=3)を退避する最後のサイク
ルで、CBP書き換えイネーブル信号CBPENを与え
て、カレントバンクポインタCBPの値cbpを値cb
p’に更新する。
【0058】尚、この退避動作は、書き換えフラグBK
1〜BK4が立てられているバンクについてのみ行われ
る。ここでは、説明を分かりやすくするために、退避す
る全てのバンクRF1〜RF3について書き換えフラグ
BK1〜BK3が立てられていることとした。
【0059】次に、復帰動作を説明する。本実施例の特
徴の1つは、上述の退避動作を行った後、所定命令の後
続命令の実行を再開すると同時に、復帰動作を開始し、
復帰が完了したバンクについて復帰完了フラグBF1〜
BF4を立て、後続の命令の内、レジスタバンクRF1
〜RF4をアクセスする命令は、使用するバンクに対応
する復帰完了フラグが立てられた後に該命令を実行する
ことにある。
【0060】つまり、汎用レジスタGR内のデータの内
蔵RAM103への退避が完了した時、カレントバンク
ポインタCBPが書き換えられ、バンク制御ユニットB
CU2では、引き続き新しいカレントバンクポインタc
bp’で示される内蔵RAM103の領域から汎用レジ
スタGRへのデータの復帰動作が開始される。
【0061】一方、バンクストップ信号STOPは、カ
レントバンクポインタCBPの書き換えと同時にNOP
指示を止め、後続の命令実行を再開する。内蔵RAM1
03から汎用レジスタGRへのデータの復帰が完了した
バンクについては、復帰完了フラグBF1〜BF4を立
てることにより、命令による汎用レジスタGRへのアク
セスが許可される。逆に、復帰完了フラグBF1〜BF
4が立っていない期間は、その汎用レジスタGRへのア
クセスが許可されず、命令は待ち状態となる。
【0062】本実施例(図6)の場合、バンクストップ
信号STOPの解除後、汎用レジスタR4へのライト要
求があり、復帰完了フラグBF2が”1”になるのを見
て、バススタート信号BSTがバスインタフェースユニ
ットから出力され、命令による汎用レジスタR4への書
き込みが行われる。
【0063】尚、書き換えフラグBK1〜BK4は、退
避動作終了時にリセットされており、上記汎用レジスタ
R4への書き込みを行う命令の実行により、書き換えフ
ラグBK2に”1”が立てられる。
【0064】このように、本実施例のマイクロプロセッ
サでは、第1の実施例と同様に、バンクサイズ指定レジ
スタBSで指定されたバンクサイズ分のみを退避/復帰
することとしたので、バンク切り替えに伴う後続命令の
実行待ち時間を低減することができる。
【0065】また、退避動作は、書き換えフラグBK1
〜BK4が立てられているバンクについてのみ行われる
こととしたので、無駄な書き換え動作を省き、命令実行
時間の高速化を図ることができる。
【0066】更に、退避動作後、所定命令の後続命令の
実行を再開すると同時に、復帰動作を開始し、復帰が完
了したバンクについて復帰完了フラグBF1〜BF4を
立て、後続の命令の内、レジスタバンクRF1〜RF4
をアクセスする命令は、使用するバンクに対応する復帰
完了フラグが立てられた後に該命令を実行することとし
たので、後続命令の実行待ち時間をより低減することが
できる。
【0067】(第3の実施例)図7に本発明の第3の実
施例に係るマイクロプロセッサの概念構成図を示す。
【0068】同図において、本実施例のマイクロプロセ
ッサは、レジスタバンクRF1〜RF4、高速バス(図
示せず)、参照フラグBR1〜BR4、復帰完了フラグ
BF1〜BF4、書き換えフラグBK1〜BK4、及び
バンク制御ユニットBCU3とを備えて構成されてい
る。
【0069】参照フラグBR1〜BR4は、バンク毎に
割り当てられ、該バンクRF1〜RF4について、所定
命令の後続命令で参照しようとする旨を示す。また復帰
完了フラグBF1〜BF4は、バンク毎に割り当てら
れ、該バンクRF1〜RF4について復帰動作が完了し
た旨を示す。更に書き換えフラグBK1〜BK4は、バ
ンク毎に割り当てられ、該バンクRF1〜RF4の内容
が書き換えられた旨を示す。
【0070】バンク制御ユニットBCU2は、第2の実
施例と同様の構成であり、図5に示すように、プリカレ
ントバンクポインタラッチPCBP、カレントバンクポ
インタCBP、バンクサイズ指定レジスタBS、レジス
タアドレス生成部RAG、加算器ADD、及びデコーダ
DECを有して構成されている。
【0071】次に、図8に示すタイミングチャートを参
照して、本実施例の動作を説明する。以下の説明では、
バンクサイズ指定レジスタBSで指定されるバンクサイ
ズbs=3として説明を行う。
【0072】先ず、所定命令のデスティネーションオペ
ランドとしてカレントバンクポインタCBPが指定され
る時、カレントバンクポインタCBPの該時点における
内容cbpに基づき、バンクレジスタの内、バンクサイ
ズ指定レジスタBSで指定されるバンクサイズbs分、
即ち第1バンクRF1、第2バンクRF2、及び第3バ
ンクRF3を内蔵RAM103に退避する。
【0073】尚、この退避動作は、書き換えフラグBK
1〜BK4が立てられているバンクについてのみ行われ
る。ここでは、説明を分かりやすくするために、退避す
る全てのバンクRF1〜RF3について書き換えフラグ
BK1〜BK3が立てられていることとした。
【0074】退避動作の最後のサイクルで、CBP書き
換えイネーブル信号CBPENを発して、カレントバン
クポインタCBPの値cbpを値cbp’に更新する。
【0075】本実施例ではこの後、内蔵RAM103か
ら汎用レジスタGRへのデータの復帰は行わない。カレ
ントバンクポインタCBPの書き換えと同時に、バンク
ストップ信号STOPを解除し、後続命令の実行を開始
する。
【0076】後続の命令でレジスタアクセスが生じた時
に、デコーダ(121)からバンク制御ユニットBCU
3に対し、汎用レジスタアクセス要求REGCSが出力
される。これを受けたバンク制御ユニットBCU3で
は、読み出し要求のあった汎用レジスタに対応する内蔵
RAM103のアドレスRAMAを計算し、該アドレス
領域のデータを該当するバンクに復帰する。
【0077】本実施例(図8)の場合、バンクストップ
信号STOPの解除後、汎用レジスタR8への汎用レジ
スタアクセス要求REGCSがあり、バンク制御ユニッ
トBCU3では、汎用レジスタR8に対応する内蔵RA
M103のアドレスRAMA(=8)を計算し、該アド
レス領域のデータを第3バンクRF3に復帰する。復帰
完了フラグBF3が”1”になるのを見て、バススター
ト信号BSTがバスインタフェースユニットから出力さ
れ、命令による汎用レジスタR8へのアクセスが行われ
る。
【0078】尚、書き換えフラグBK1〜BK4は、退
避動作終了時にリセットされており、上記汎用レジスタ
R8へのアクセスが書き込みである場合には、書き換え
フラグBK3に”1”が立てられる。
【0079】このような方法で、カレントバンクポイン
タCBPによるバンク切り替え処理を行う場合、アクセ
スが無いバンクについては、旧カレントバンクポインタ
CBPの時のデータを保持している。従って、退避する
時には、書き換えフラグが立っているバンクのみを内蔵
RAM103に退避し、更に、参照フラグが立っている
バンクのみカレントバンクポインタCBPの新値cb
p’で示される内蔵RAM103の領域から復帰する。
【0080】以上のように、本実施例のマイクロプロセ
ッサでは、第1及び第2の実施例と同様に、バンクサイ
ズ指定レジスタBSで指定されたバンクサイズ分のみを
退避/復帰することとしたので、バンク切り替えに伴う
後続命令の実行待ち時間を低減することができ、また退
避動作は、書き換えフラグBK1〜BK4が立てられて
いるバンクについてのみ行われることとしたので、無駄
な書き換え動作を省き、命令実行時間の高速化を図るこ
とができる。
【0081】更に、退避動作後、前記後続命令の実行を
再開して、該後続命令によりアクセスのあったバンクに
応じて参照フラグBR1〜BR4を立て、復帰動作は、
参照フラグの立てられたバンクについてのみ行なうこと
としたので、無駄な書き換え動作を省き、命令実行時間
の高速化を図ることができる。
【0082】(第4の実施例)図9に本発明の第4の実
施例に係るマイクロプロセッサの構成図を示す。
【0083】同図において、本実施例のマイクロプロセ
ッサは、レジスタバンクRF1〜RF4と、レジスタバ
ンクRF1〜RF4と内蔵RAM103を結合する高速
バス(図示せず)と、バンク切り替えの制御を行うバン
ク制御ユニットBCU4とを備えて構成されている。
【0084】バンク制御ユニットBCU4は、図10に
示すように、プリカレントバンクポインタラッチPCB
P、カレントバンクポインタCBP、第1バンクサイズ
指定レジスタBS1、第2バンクサイズ指定レジスタB
S2、レジスタアドレス生成部RAG、加算器ADD、
及びデコーダDECを有して構成されている。
【0085】プリカレントバンクポインタラッチPCB
Pは、所定命令のデスティネーションとして指定され、
内部バスIBUSを介して、内蔵RAM103内の情報
をレジスタバンクRF1〜RF4に復帰する時の復帰す
べき領域のアドレス情報cbp’が設定される。
【0086】カレントバンクポインタCBPは、レジス
タバンクRF1〜RF4の内容を内蔵RAM103内に
退避する時の退避領域のアドレス情報cbpを保持す
る。
【0087】第1バンクサイズ指定レジスタBS1は退
避動作時の退避すべきバンクサイズを指定し、第2のバ
ンクサイズ指定レジスタBS2は復帰動作時の復帰すべ
きバンクサイズを指定する。
【0088】また、レジスタアドレス生成部RAG、デ
コーダDEC等の機能については第1の実施例と同様で
ある。
【0089】次に、図11に示すタイミングチャートを
参照して、本実施例の動作を説明する。以下の説明で
は、第1バンクサイズ指定レジスタBS1で指定される
バンクサイズbs1=3、並びに第2バンクサイズ指定
レジスタBS2で指定されるバンクサイズbs2=2と
して説明を行う。
【0090】本実施例では、カレントバンクポインタC
BP書き換え後に、必要なバンク数がそれまで使用して
いたバンク数と異なる場合、カレントバンクポインタC
BP書き換え前に、ロード命令で第2バンクサイズ指定
レジスタBS2の内容を必要数に設定する。従って本実
施例では、カレントバンクポインタCBPの書き換え命
令と、第2バンクサイズ指定レジスタBS2の書き換え
命令を1組として使用することとなる。
【0091】先ず、所定命令のデスティネーションオペ
ランドとしてプリカレントバンクポインタラッチPCB
Pが指定される時、カレントバンクポインタCBPの該
時点における内容cbpに基づき、バンクレジスタの
内、第1バンクサイズ指定レジスタBS1で指定される
バンクサイズbs1分、即ち第1バンクRF1、第2バ
ンクRF2、及び第3バンクRF3を内蔵RAM103
に退避する。
【0092】つまり、カレントバンクポインタ蓄積制御
信号CBPCを受けた時、第1バンクRF1を退避する
と同時に、バスインタフェースユニットからCBP書き
込み信号CBPWを受信し、内部バスIBUSから新し
いカレントバンクポインタの値cbp’をプリカレント
バンクポインタラッチPCBPにラッチする。
【0093】退避が終了するサイクルで、カレントバン
クポインタCBPをcbp’に書き換え、同時に第2バ
ンクサイズ指定レジスタBS2の内容bs2を第1バン
クサイズ指定レジスタBS1にロードする。汎用レジス
タの復帰は、退避と同様に第1バンクサイズ指定レジス
タBS1の内容に従って行われるが、この時の第1バン
クサイズ指定レジスタBS1の値はbs2=2に更新さ
れており、内蔵RAM103から、バンクサイズbs2
分の情報を第1バンクRF1及び第2バンクRF2に復
帰することとなる。
【0094】このように、本実施例のマイクロプロセッ
サでは、第1バンクサイズ指定レジスタBS1で指定さ
れたバンクサイズ分のみを退避し、第2バンクサイズ指
定レジスタBS2で指定されたバンクサイズ分のみを復
帰することとしたので、従来のように、不要なバンクに
ついて退避/復帰を行うことがなく、バンク切り替えに
伴う後続命令の実行待ち時間を低減することができる。
【0095】(第5の実施例)図12に本発明の第5の
実施例に係るマイクロプロセッサの構成図を示す。本実
施例のマイクロプロセッサにおけるバンク切り替え方法
は、カレントバンクポインタCBPの書き換え専用命令
を設け、カレントバンクポインタCBPとバンクサイズ
指定レジスタBSの値をオペランドとすることにより、
カレントバンクポインタCBPとバンクサイズ指定レジ
スタBSの値を同時に変更するものである。
【0096】図12において、本実施例のマイクロプロ
セッサは、レジスタバンクRF1〜RF4と、レジスタ
バンクRF1〜RF4と内蔵RAM103を結合する高
速バス(図示せず)と、バンク切り替えの制御を行うバ
ンク制御ユニットBCU5とを備えて構成されている。
【0097】バンク制御ユニットBCU5は、図13に
示すように、プリカレントバンクポインタラッチPCB
P、カレントバンクポインタCBP、バンクサイズ指定
レジスタBS、レジスタアドレス生成部RAG、加算器
ADD、及びデコーダDECを有して構成されている。
【0098】プリカレントバンクポインタラッチPCB
Pは、専用命令のデスティネーションとして指定され、
第2内部バスIBUS2を介して、内蔵RAM103内
の情報をレジスタバンクRF1〜RF4に復帰する時の
復帰すべき領域のアドレス情報cbp’が設定される。
【0099】カレントバンクポインタCBPは、レジス
タバンクRF1〜RF4の内容を内蔵RAM103内に
退避する時の退避領域のアドレス情報cbpを保持す
る。
【0100】バンクサイズ指定レジスタBSは、専用命
令のデスティネーションとして指定され、第1内部バス
IBUS1を介して、退避または復帰動作時の退避また
は復帰すべきバンクサイズが設定される。
【0101】また、レジスタアドレス生成部RAG、デ
コーダDEC等の機能については第1の実施例と同様で
ある。
【0102】次に、図14に示すタイミングチャートを
参照して、本実施例の動作を説明する。以下の説明で
は、予めバンクサイズ指定レジスタBSにはバンクサイ
ズbs1=3が設定されており、専用命令によりバンク
サイズbs2=2に設定されるものとして説明を行う。
【0103】先ず、専用命令のデスティネーションオペ
ランドとしてプリカレントバンクポインタラッチPCB
Pが指定されており、カレントバンクポインタ蓄積制御
信号CBPCを受けた時、第1バンクRF1を退避する
と同時に、バスインタフェースユニットからCBP書き
込み信号CBPWを受信し、内部バスIBUSから新し
いカレントバンクポインタの値cbp’をプリカレント
バンクポインタラッチPCBPにラッチする。
【0104】最後のバンクRF3が退避されているサイ
クルで、カレントバンクポインタCBPをcbp’に書
き換え、同時に、第2内部バスIBUS2から専用命令
のもう1つのオペランドを取り込んで、バンクサイズ指
定レジスタBSの内容をbs2に更新する。従って、汎
用レジスタGRの復帰は、内蔵RAM103から、バン
クサイズbs2分の情報を第1バンクRF1及び第2バ
ンクRF2に復帰することとなる。
【0105】尚、プリカレントバンクポインタラッチP
CBPを持たない構成の場合には、データレジスタに保
持しておき、汎用レジスタ退避の最終サイクルで、カレ
ントバンクポインタCBPとバンクサイズ指定レジスタ
BSを同時に書き換えるように制御する。
【0106】このように、本実施例のマイクロプロセッ
サでは、予めバンクサイズ指定レジスタBSに設定され
ているバンクサイズ分のみを退避し、専用命令のオペラ
ンドで指定されたバンクサイズ分のみを復帰することと
したので、従来のように、不要なバンクについて退避/
復帰を行うことがなく、バンク切り替えに伴う後続命令
の実行待ち時間を低減することができる。
【0107】
【発明の効果】以上説明したように、本発明によれば、
所定命令のデスティネーションオペランドとしてカレン
トバンクポインタが指定される時、カレントバンクポイ
ンタの該時点における内容に基づき、バンクレジスタの
内、バンクサイズ指定レジスタで指定されるバンクサイ
ズ分のみを内蔵RAMに退避し、前記所定命令に基づき
カレントバンクポインタの内容を書き換え、該書き換え
後のカレントバンクポインタの内容に基づき、内蔵RA
Mから、バンクサイズ指定レジスタで指定されるバンク
サイズ分の情報のみをバンクレジスタに復帰することと
したので、バンク切り替えに伴う後続命令の実行待ち時
間を低減し得るマイクロプロセッサを提供することがで
きる。
【0108】また、本発明によれば、退避動作後、所定
命令の後続命令の実行を再開すると同時に、復帰動作を
開始し、復帰が完了したバンクについて復帰完了フラグ
を立て、後続の命令の内、レジスタバンクをアクセスす
る命令は、使用するバンクに対応する復帰完了フラグが
立てられた後に該命令を実行することとしたので、後続
命令の実行待ち時間をより低減することができる。
【0109】また、本発明によれば、退避動作は、書き
換えフラグが立てられているバンクについてのみ行われ
ることとし、退避動作後、前記後続命令の実行を再開し
て、該後続命令によりアクセスのあったバンクに応じて
参照フラグを立て、復帰動作は、参照フラグの立てられ
たバンクについてのみ行なうこととしたので、無駄な書
き換え動作を省き、命令実行時間の高速化を図ることが
できる。
【0110】また、本発明によれば、前記所定命令は、
デスティネーションとしてカレントバンクポインタと、
バンクサイズ指定レジスタまたは第2のバンクサイズ指
定レジスタを指定することとし、バンクサイズ指定レジ
スタまたは第1バンクサイズ指定レジスタで指定された
バンクサイズ分のみを退避し、バンクサイズ指定レジス
タまたは第2バンクサイズ指定レジスタで指定されたバ
ンクサイズ分のみを復帰することとしたので、バンク切
り替えに伴う後続命令の実行待ち時間を低減し得るマイ
クロプロセッサを提供することができる。
【0111】更に、本発明によれば、前記所定命令また
は専用命令のデスティネーションとしてプリカレントバ
ンクポインタラッチを指定し、予めバンクサイズ指定レ
ジスタに設定されているバンクサイズ分のみを退避し、
専用命令のオペランドで指定されたバンクサイズ分のみ
を復帰することとしたので、バンク切り替えに伴う後続
命令の実行待ち時間を低減し得るマイクロプロセッサを
提供することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るマイクロプロセッ
サの概念構成図である。
【図2】第1の実施例におけるバンク制御ユニットBC
U1の構成図である。
【図3】第1の実施例の動作を説明するタイミングチャ
ートである。
【図4】本発明の第2の実施例に係るマイクロプロセッ
サの概念構成図である。
【図5】第2及び第3の実施例におけるバンク制御ユニ
ットBCU2及びBCU3の構成図である。
【図6】第2の実施例の動作を説明するタイミングチャ
ートである。
【図7】本発明の第3の実施例に係るマイクロプロセッ
サの概念構成図である。
【図8】第3の実施例の動作を説明するタイミングチャ
ートである。
【図9】本発明の第4の実施例に係るマイクロプロセッ
サの概念構成図である。
【図10】第4の実施例におけるバンク制御ユニットB
CU4の構成図である。
【図11】第4の実施例の動作を説明するタイミングチ
ャートである。
【図12】本発明の第5の実施例に係るマイクロプロセ
ッサの概念構成図である。
【図13】第5の実施例におけるバンク制御ユニットB
CU5の構成図である。
【図14】第5の実施例の動作を説明するタイミングチ
ャートである。
【図15】従来のシングルチップのマイクロプロセッサ
の構成図である。
【図16】図15のシングルチップマイクロプロセッサ
上に搭載されるCPUコアの構成図である。
【図17】従来のマイクロプロセッサの概念構成図であ
る。
【図18】従来例におけるバンク制御ユニットBCUの
構成図である。
【図19】従来例の動作を説明するタイミングチャート
である。
【符号の説明】
R0〜R15,GR 汎用レジスタ RF1〜RF4 (レジスタ)バンク BCU,BCU1〜BCU5 バンク制御ユニット CBP カレントバンクポインタ BS バンクサイズ指定レジスタ BS1 第1のバンクサイズ指定レジスタ BS2 第2のバンクサイズ指定レジスタ RAG レジスタアドレス生成部 ADD 加算器 DEC デコーダ CBPC バンク切り替え信号(カレントバンクポイン
タ蓄積制御信号) CBPW CBP書き込み信号 R/W リード/ライト信号 REGA 汎用レジスタのアドレス RAMA 内蔵RAMアドレス RAMR/W 内蔵RAMリード/ライト信号 STOP バンクストップ信号 bs,bs1,bs2 バンクサイズ IBUS 内部バス IBUS1 第1内部バス IBUS2 第2内部バス cbp,cbp’ カレントバンクポインタの値 PCBP プリカレントバンクポインタラッチ CBPEN CBP書き換えイネーブル信号 BSEN BS書き換えイネーブル信号 A,REGCS 汎用レジスタアクセス要求 BK1〜BK4 書き換えフラグ BF1〜BF4 復帰完了フラグ BST バススタート信号 BR1〜BR4 参照フラグ 100 マイクロプロセッサ 101 CPUコア 103 内蔵RAM 105 内蔵ROM 107 バスコントローラ 109 割り込みコントローラ 111 タイマ 113 シリアルI/O SYSBUS システムバス RF1〜RF8 バンク(レジスタファイル) IDBUS1〜IDBUS3 内部データバス 121 (命令)デコーダ等 123 コントローラ 125 ALU(論理演算ユニット)等

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の汎用レジスタを1つのバンクと
    し、該バンクをn個(nは任意の正整数)備えるレジス
    タバンクと、 前記レジスタバンクと内蔵RAMとを結合するバスと、 前記レジスタバンクの内容を前記内蔵RAM内に退避す
    る時の退避領域の位置情報、または前記内蔵RAM内の
    情報を前記レジスタバンクに復帰する時の復帰すべき領
    域の位置情報を保持するカレントバンクポインタと、 前記退避または復帰時の退避または復帰すべきバンクサ
    イズを指定するバンクサイズ指定レジスタとを有し、 所定命令のデスティネーションオペランドとして前記カ
    レントバンクポインタが指定される時、 前記カレントバンクポインタの該時点における内容に基
    づき、前記バンクレジスタの内、前記バンクサイズ指定
    レジスタで指定されるバンクサイズ分を前記内蔵RAM
    に退避し、 前記命令に基づき前記カレントバンクポインタの内容を
    書き換え、書き換え後のカレントバンクポインタの内容
    に基づき、前記内蔵RAMから、前記バンクサイズ指定
    レジスタで指定されるバンクサイズ分の情報を前記バン
    クレジスタに復帰することを特徴とするマイクロプロセ
    ッサ。
  2. 【請求項2】 前記マイクロプロセッサは、前記バンク
    毎に割り当てられ、該バンクについて、前記復帰が完了
    した旨を示すn個の復帰完了フラグを有し、 前記退避を行った後、前記所定命令の後続命令の実行を
    再開すると同時に、前記復帰を開始し、復帰が完了した
    バンクについて前記復帰完了フラグを立て、 前記後続の命令の内、前記レジスタバンクをアクセスす
    る命令は、使用するバンクに対応する復帰完了フラグが
    立てられた後に該命令を実行することを特徴とする請求
    項1に記載のマイクロプロセッサ。
  3. 【請求項3】 前記マイクロプロセッサは、前記バンク
    毎に割り当てられ、該バンクについて、前記所定命令の
    後続命令で参照しようとする旨を示すn個の参照フラグ
    を有し、 前記退避を行った後、前記後続命令の実行を再開して、
    前記参照フラグを立て、 前記復帰は、前記参照フラグの立てられたバンクについ
    てのみ行われることを特徴とする請求項1または2に記
    載のマイクロプロセッサ。
  4. 【請求項4】 前記マイクロプロセッサは、前記バンク
    毎に割り当てられ、該バンクの内容が書き換えられた旨
    を示すn個の書き換えフラグを有し、 前記退避は、前記書き換えフラグの立てられたバンクに
    ついてのみ行われることを特徴とする請求項1、2、ま
    たは3に記載のマイクロプロセッサ。
  5. 【請求項5】 前記マイクロプロセッサは、前記退避に
    おけるバンクサイズを指定する第1のバンクサイズ指定
    レジスタと、前記復帰におけるバンクサイズを指定する
    第2のバンクサイズ指定レジスタとを有することを特徴
    とする請求項1、2、3、または4に記載のマイクロプ
    ロセッサ。
  6. 【請求項6】 前記所定命令は、デスティネーションと
    して前記カレントバンクポインタと、前記バンクサイズ
    指定レジスタまたは第2のバンクサイズ指定レジスタを
    指定する専用命令であることを特徴とする請求項1、
    2、3、4、または5に記載のマイクロプロセッサ。
  7. 【請求項7】 前記マイクロプロセッサは、前記所定命
    令または専用命令のデスティネーションとして指定され
    るプリカレントバンクポインタラッチを有し、 前記退避は前記カレントバンクポインタの内容に基づき
    行われ、前記復帰は前記プリカレントバンクポインタラ
    ッチの内容に基づき行われることを特徴とする請求項
    1、2、3、4、5、または6に記載のマイクロプロセ
    ッサ。
JP5258466A 1993-10-15 1993-10-15 マイクロプロセッサ Pending JPH07114498A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP5258466A JPH07114498A (ja) 1993-10-15 1993-10-15 マイクロプロセッサ
KR1019940026322A KR0137096B1 (ko) 1993-10-15 1994-10-14 마이크로프로세서
DE69429492T DE69429492T2 (de) 1993-10-15 1994-10-14 Mikroprozessor mit Registerbankarchitektur
EP94116264A EP0649090B1 (en) 1993-10-15 1994-10-14 Microprocessor having register bank architecture
US08/322,468 US5615348A (en) 1993-10-15 1994-10-14 Microprocessor having register bank architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5258466A JPH07114498A (ja) 1993-10-15 1993-10-15 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH07114498A true JPH07114498A (ja) 1995-05-02

Family

ID=17320623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5258466A Pending JPH07114498A (ja) 1993-10-15 1993-10-15 マイクロプロセッサ

Country Status (5)

Country Link
US (1) US5615348A (ja)
EP (1) EP0649090B1 (ja)
JP (1) JPH07114498A (ja)
KR (1) KR0137096B1 (ja)
DE (1) DE69429492T2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2766217B2 (ja) * 1994-06-14 1998-06-18 甲府日本電気株式会社 並列処理装置
KR0179840B1 (ko) * 1995-09-22 1999-05-15 문정환 레지스터 제어장치
JPH1011352A (ja) * 1996-06-19 1998-01-16 Hitachi Ltd データ処理装置およびそのレジスタアドレス変換方法
US5845307A (en) * 1997-01-27 1998-12-01 Sun Microsystems, Inc. Auxiliary register file accessing technique
KR100492985B1 (ko) * 1997-08-27 2005-08-25 삼성전자주식회사 마이크로콘트롤러또는마이크로프로세서의워킹레지스터블락및워킹레지스터블락제어방법
US6668285B1 (en) 1999-05-12 2003-12-23 Koninklijke Philips Electronics N.V. Object oriented processing with dedicated pointer memories
US7318090B1 (en) 1999-10-20 2008-01-08 Sony Corporation Method for utilizing concurrent context switching to support isochronous processes
AUPQ668500A0 (en) * 2000-04-04 2000-05-04 Canon Kabushiki Kaisha Accessing items of information
US7487339B2 (en) * 2001-10-12 2009-02-03 Mips Technologies, Inc. Method and apparatus for binding shadow registers to vectored interrupts
US7552261B2 (en) * 2001-10-12 2009-06-23 Mips Technologies, Inc. Configurable prioritization of core generated interrupts
US8452945B2 (en) * 2002-09-17 2013-05-28 Hewlett-Packard Development Company, L.P. Indirect indexing instructions
JP6499065B2 (ja) 2015-12-04 2019-04-10 東芝メモリ株式会社 乱数発生回路および半導体記憶装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6151243A (ja) * 1984-08-20 1986-03-13 Toshiba Corp レジスタ式演算処理装置
JPH0630063B2 (ja) * 1989-02-17 1994-04-20 株式会社東芝 マイクロプロセッサ
JP2655191B2 (ja) * 1989-07-05 1997-09-17 三菱電機株式会社 演算処理装置
DE69231957T2 (de) * 1991-10-21 2002-04-04 Toshiba Kawasaki Kk Hochgeschwindigkeitsprozessor zum fähiger Abhandeln mehrerer Unterbrechungen

Also Published As

Publication number Publication date
EP0649090A1 (en) 1995-04-19
KR950012207A (ko) 1995-05-16
DE69429492T2 (de) 2002-07-18
EP0649090B1 (en) 2001-12-19
KR0137096B1 (ko) 1998-06-15
US5615348A (en) 1997-03-25
DE69429492D1 (de) 2002-01-31

Similar Documents

Publication Publication Date Title
CA2016532C (en) Serializing system between vector instruction and scalar instruction in data processing system
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JPH07114498A (ja) マイクロプロセッサ
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
JPH06161891A (ja) コンピュータシステム及びキャッシュ制御手段におけるキャッシュ制御方法
JPH01251273A (ja) ベクトル処理装置
JPS62125437A (ja) 付加プロセツサの制御方法
JPH10289113A (ja) 計算機のレジスタコンテキストの保存/復元方式
JPH04107634A (ja) メモリデータバイパス制御方式
JP2004062449A (ja) マイクロプロセッサおよびその処理方法
JPH08272608A (ja) パイプライン処理装置
JPS59144955A (ja) 情報処理装置
JP2000194554A (ja) 演算処理装置
JPS59180755A (ja) トレ−ス方式
JPS61267135A (ja) デ−タ処理装置
JPH03182945A (ja) 主記憶内データ転送方式
JPH01303546A (ja) メモリ制御方式
JPS63208945A (ja) 情報処理装置
JPS59218691A (ja) プリフエツチ方式
JPS61109145A (ja) メモリアドレス算出方式
JPH0465723A (ja) 割込処理方法
JPH01305452A (ja) バッファ記憶装置のストア制御方式
JPS6349941A (ja) 演算処理装置
JPS6394339A (ja) 仮想計算機システム
JPS59200345A (ja) マイクロプログラム制御方式