JPH05165641A - シングルチップマイクロコンピュータ - Google Patents

シングルチップマイクロコンピュータ

Info

Publication number
JPH05165641A
JPH05165641A JP4110092A JP11009292A JPH05165641A JP H05165641 A JPH05165641 A JP H05165641A JP 4110092 A JP4110092 A JP 4110092A JP 11009292 A JP11009292 A JP 11009292A JP H05165641 A JPH05165641 A JP H05165641A
Authority
JP
Japan
Prior art keywords
bus
data
built
register
bank
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
JP4110092A
Other languages
English (en)
Inventor
Akira Nishimura
明 西村
Sunao Ogawa
直 小川
Yasuo Yamada
泰生 山田
Akiyoshi Kanuma
安喜良 加沼
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 JP4110092A priority Critical patent/JPH05165641A/ja
Publication of JPH05165641A publication Critical patent/JPH05165641A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Control By Computers (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 内蔵RAMの利用及びレジスタバンク間のデ
ータの引渡しを容易にする。 【構成】 中央処理装置2は内蔵RAM間を接続してデ
ータを転送する専用データバスSDBUS、及び中央処
理装置2と内蔵RAM間を接続して専用データバスSD
BUSで転送されるデータに対応したアドレス情報を転
送するバンクアドレスバスBABUSとに接続し、汎用
レジスタとして使用され内部のデータを専用データバス
SDBUSに出力するデータメモリRF、及びデータメ
モリRFの内容が内蔵RAM内に写像される時の写像領
域の位置情報を保持しバンクアドレスバスBABUSに
出力するバンク指示レジスタBPを有する。内蔵RAM
は、バンク指示レジスタBPの内容をもとに実アドレス
を生成するバンクアドレス制御回路及びバンクアドレス
制御回路の生成する実アドレスと本業のアドレスバス上
のアドレスとを選択する選択回路を有する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はシングルチップマイクロ
コンピュータに関し、特にレジスタバンク機能を持ち、
チップ面積が小さく、また性能の高いシステムの構築が
可能で、高速動作の可能なシングルチップマイクロコン
ピュータに関する。
【0002】
【従来の技術】組み込み制御機器向けの汎用のマイクロ
コンピュータやマイクロプロセッサ(MCU/MPU)
においては、割り込み処理の高速化やマルチタスク/マ
ルチプログラミングシステムに対応するため、レジスタ
バンクと呼ばれる機能を内蔵することが多くなってきて
いる。
【0003】通常、MCU/MPUは内部にデータを保
持するために、汎用レジスタと呼ばれる1組のレジスタ
群(例えば、8本の16ビットのレジスタ等)およびプ
ログラムカウンタ、プロセッサステータスワードなどの
レジスタを持っている。これらのレジスタはユーザのプ
ログラムから指定され、演算結果やプログラムステータ
ス等の各種情報の保持・格納のために利用される。しか
し、プログラムの実行中に割り込み事象が発生し、割り
込み処理プログラムを実行する必要が生じたり、マルチ
タスク環境下で他の緊急度の高いプログラムを実行する
必要が生じたり(タスクスイッチと呼ぶ)、メインプロ
グラムからサブルーチンプログラムへプログラムの制御
を移すサブルーチンコールが発生した場合、MCU/M
PUは現在実行しているプログラムを一時的に中断し、
新しいプログラムへ実行の制御を移す必要がある。この
時、これらレジスタが保持しているデータを一時的に別
の場所(通常は外部メモリ)に退避し、新たなプログラ
ムで必要となるデータがあれば、外部から改めてレジス
タに読み込むことが行なわれる。そして、割り込みや緊
急度の高いプログラムの処理が終わった後、中断したプ
ログラムの処理を再開するために、退避されたデータを
レジスタに復帰することが行なわれる。
【0004】レジスタバンク機能を持たないMCU/M
PUでは、このレジスタファイルの退避先として、外部
メモリ(シングルチップマイクロコンピュータの場合は
内蔵RAMの場合もある)が使用される。しかしなが
ら、外部メモリのアクセスは一般的に低速な場合が多
く、複数のデータを転送しなければならないレジスタ群
の退避/復帰には非常に時間がかかってしまう。従っ
て、割り込みへの高速な反応等、リアルタイムな反応が
必要とされる組み込み制御機器では、性能上のネックと
なるだけでなく、システムとしての信頼性を低下させる
要因となる。
【0005】この問題を解決し、システムとしての性能
を上げるために、レジスタバンク機能が利用される。レ
ジスタバンク機能を持つMCU/MPUは、複数組の汎
用レジスタを内部に持つ。例えば、1組の汎用レジスタ
が16本の16ビットレジスタから構成され、8個のレ
ジスタバンクを持つMCUの場合、そのMCUは内部に
8組の汎用レジスタ、即ち総計8×16=128本の1
6ビットレジスタを持つことになる。
【0006】この複数個の汎用レジスタ(その1組をレ
ジスタバンクと呼ぶ)を、割り込み発生時や、タスクス
イッチが発生した時にうまく切り替えながら使用するこ
とにより、割り込みの応答時間やタスクスイッチに要す
る時間を短縮し、システムとしての性能を向上すること
ができる。即ち、レジスタバンクの機能を利用すること
により、割り込みやタスクスイッチによりレジスタファ
イルの退避回復の必要が生じた場合でも汎用レジスタの
内容を動作スピードの遅い外部メモリに退避したり、レ
ジスタファイルの復帰のために外部メモリからデータを
復帰したりするような、遅い外部メモリのスピードに律
速される動作が不必要となり、内部的に汎用レジスタを
切り替えるという高速な動作で置き換えられる。これに
より、レジスタバンクの切り替え時間が短縮されるの
で、割り込みに対しての高速な反応や、高速なタスクス
イッチが実現される。
【0007】このような従来技術によるレジスタバンク
機能を用いたシングルチップマイクロコンピュータの構
成図を図9に、また該シングルチップマイクロコンピュ
ータ上に搭載されるCPUコアの構成図を図10に示
す。
【0008】シングルチップマイクロコンピュータ10
0は図9に示すように、ワンチップの中に、CPUコア
101、内蔵RAM103、内蔵ROM105、バスコ
ントローラ107、割り込みコントローラ109、タイ
マ111、およびシリアルI/O113等が搭載され、
これらブロックは、チップ内のシステムバスSYSBU
S(アドレスバスABUS及びデータバスDBUSを含
む)を介してデータのやり取りを行なう。また、チップ
外部とのデータのやり取りは、バスコントローラ107
を通じてI/Oパッドから行なわれる。
【0009】図10に示すように、従来技術では、レジ
スタバンクを構成する複数組の汎用レジスタRF1〜R
F8はCPUコア101内部に存在する。そして、これ
らの汎用レジスタRF1〜RF8はCPUコア101内
部の複数の内部データバスIDBUS1〜IDBUS3
に接続され、この内部デーダバスIDBUS1〜IDB
US3を介してALU(論理演算ユニット)等125に
データが転送されて演算が行なわれる。通常、CPUコ
ア101内部で効率的に演算処理を行なうには、汎用レ
ジスタRF1〜RF8がCPUコア101内部の複数デ
ータバスIDBUS1〜IDBUS3からアクセス可能
であることが重要である。一般的には、汎用レジスタを
構成するメモリのポート数としては、読み出しに2ポー
ト、書き込みに1ポートの最低3ポートは必要である。
更に書き込みポートを1つ増やして計4ポートの構成を
取るとデータの処理効率は改善される。通常は、3ポー
トまたは4ポートのRAMによりレジスタファイルを構
成するのが普通である。また、どのレジスタバンク(ど
のレジスタファイル)を使用するかはCPUコア101
内部のバンク指示レジスタ127によって指示される。
バンク指示レジスタ127は現在使用されている汎用レ
ジスタの番号を保持し、レジスタバンクの切り替えはバ
ンク指示レジスタ127の内容を書き換えることにより
行なわれる。バンク指示レジスタ127の内容を書き換
えることにより、指定した番号を持つ新しい汎用レジス
タが使用されるようになる。この時、古い汎用レジスタ
は使用されなくなるだけで、その内容は保持される。
【0010】従って割り込みが発生し、レジスタを退避
する手順は、 プロセッサステータスワードプログラムカウンタ、バ
ンク指示レジスタ等をシステムバスを介してスタックに
退避する。
【0011】バンク指示レジスタを更新し使用する汎
用レジスタを切りかえる。
【0012】という手順になる。
【0013】また、割り込みの処理が終了し元のプログ
ラムに復帰する場合の手順は、 システムバスを介して外部メモリからプログラムカウ
ンタ、プロセッサステータスワード、バンク指示レジス
タのデータを読み込み内容を復帰するという手順にな
る。
【0014】この方法により、汎用レジスタをスピード
の遅いシステムバスを介して外部メモリに書き込んだ
り、読み込んだりする処理が不要になり、高速にCPU
内部のレジスタの内容を切り替えることが可能になる。
【0015】
【発明が解決しようとする課題】組み込み制御用のMC
U/MPUへの高機能化の要求は高くなってきており、
レジスタバンクの数も4〜8バンク程度でよかったもの
が、最近では16、32、64、更には256バンクへ
と増加してきている。このように、レジスタバンクのバ
ンク数が増大してくると、従来技術によるレジスタバン
クの構成方法では以下に示す如き種々の問題が発生す
る。
【0016】一般に、多ポートメモリの回路設計におい
て、単位メモリセルの占有面積は、ポート数に比例した
数だけ余分のトランジスタ及び配線が必要となるため、
ポート数が多いほど大きくなる。従って、多ポートの汎
用レジスタの占有面積が大きいことは回路設計的に避け
られない。しかし、4バンク程度のレジスタバンク数な
らば、少々メモリセルが大きくても、メモリのビット数
がそれほど多くない(汎用レジスタの大きさが16ビッ
ト×16本の場合、4バンクで高々1024ビットであ
る)ので、多ポートメモリを使用しても、チップ全体に
対する面積オーバヘッドはそれほど問題にならない。し
かし、バンク数が多いと、これに比例して必要なメモリ
セルのビット数も多くなり、多ポートメモリを使用する
ことに伴う面積増加は無視できないものとなってくる。
また、ビット数の大きな多ポートメモリは、設計そのも
のが難しく、消費電力も大きく、また、動作スピードも
余り速くないので、LSI設計上好ましくない。
【0017】従って、従来技術のレジスタバンクの構成
を用いた場合、多ポートのメモリセルを用いてレジスタ
バンク用のメモリを構築しなければならないので、多数
のレジスタバンクを実現しようとすると、チップ面積や
消費電力が非常に大きくなってしまうという欠点があ
る。また、大規模な多ポートメモリは設計そのものが難
しく、動作スピードも余り速くないという欠点があるの
でチップの動作スピードを律速してしまうこともある。
また、従来技術のレジスタバンクの構成では、レジスタ
バンク用のメモリはレジスタバンクとしてしか使用でき
ないため、レジスタバンク機能を利用せず1組の汎用レ
ジスタのみを使用する時には、使用されないレジスタバ
ンクは全く無駄になってしまうという問題もある。
【0018】また、C言語などの高級言語で書かれたプ
ログラムをMCU/MPUで実行する場合に、メインプ
ログラムからサブルーチンプログラムにサブルーチンコ
ールを行なう際に、レジスタバンクの機能が利用でき
る。この時、メインプログラムからサブルーチンプログ
ラムに引数としてデータを受け渡したり、サブルーチン
からメインプログラムに演算結果を返したりすることが
多い。従って、サブルーチンコールに伴うレジスタバン
ク切り替えの際には、1部のデータをレジスタバンク間
で共有できる(引き渡せる)ようにすると都合がよい。
しかし、従来技術のレジスタバンクの構成方式では、異
なるレジスタバンクは異なるレジスタファイルで実装さ
れており、それぞれのレジスタバンクは全く異なる物理
的な記憶素子から構成されており、レジスタバンク間で
のデータの引き渡し機構を実現するのは困難であった。
【0019】以上のように、従来のレジスタバンクを構
成するシングルチップマイクロコンピュータでは、 (1) バンク数の大きいレジスタバンクを実現しようとす
ると、チップ面積や消費電力が非常に大きくなってしま
い、またチップの動作スピードを律速してしまうことも
ある。
【0020】(2) レジスタバンクを使用しない時には、
使用されないレジスタバンクは全く無駄になってしま
う。
【0021】(3) レジスタバンク間でのデータの引き渡
し機構を実現するのが難しい。
【0022】という欠点があった。
【0023】本発明は、上記問題点を解決するもので、
その目的は、レジスタバンクの構成において、効率的な
チップ面積を実現し、効率的にオンチップ内蔵RAMを
使用でき、異なるレジスタバンク間のデータの引き渡し
が容易に可能なシングルチップマイクロコンピュータを
提供することである。
【0024】
【課題を解決するための手段】本発明の第1の特徴は、
シングルチップマイクロコンピュータにして、(a) プロ
グラムの処理を行なうための中央処理装置のブロック;
(b) 内蔵RAMのブロック;(c) 内蔵ROMのブロッ
ク;(d) これら各ブロック間を接続してデータを転送す
る第1のバス;(e) 前記第1のバスで転送されるデータ
に対応したアドレス情報を転送する第2のバス;(f) 前
記第1のバスのビット数以上のビット数を備え前記中央
処理装置と前記内蔵RAM間を接続してデータを転送す
る第3のバス;and (g) 前記中央処理装置と前記内蔵R
AM間を接続して前記第3のバスで転送されるデータに
対応したアドレス情報を転送する第4のバスを有し、
(h) 前記中央処理装置は、現在実行しているプログラム
を一時的に中断し、新しいプログラムへ実行の制御を移
す場合に、上記中央処理装置の保持しているデータを前
記第3のバスを介して前記内蔵RAM内の前記第4のバ
スのアドレスにより指定される位置へ退避させると共
に、上記新しいプログラムが終了し、上記中断されてい
たプログラムを再開する場合に、前記第4のバスの保持
するアドレスにより指定される前記内蔵RAMの位置か
ら前記退避されたデータを前記内蔵RAMから前記中央
処理装置へ前記第3のバスを介して復帰させる様に構成
されていることである。
【0025】さらに、前記中央処理装置は、演算デー
タを保持する為に使用される汎用レジスタおよび実行
中のプログラムのアドレスを保持するプログラムカウン
タ、中央処理装置の状態値を保持するプロセッサステ
ータスワードレジスタおよびバンク指示レジスタを持
ち、レジスタバンクにデータを退避/回復する場合に
バンク指示レジスタの保持するアドレスが前記第4のバ
スに出力され、前記第3のバスには、汎用レジスタも
しくはプログラムカウンタ/プロセッサステータス
ワードを選択的に接続する。
【0026】さらに、前記第4のバスにのせるバンク指
示レジスタの値は、汎用レジスタの総バイト数より小さ
い値で指定可能であり、前記内蔵RAM上にレジスタバ
ンクの写像領域を確保する場合、異なるレジスタバンク
の写像領域を、前記内蔵RAM上で部分的に重ね合せる
ことが可能である。
【0027】上述の如き第1の特徴のシングルチップマ
イクロコンピュータでは、中央処理装置と内蔵RAMの
間に、ビット幅の広い専用の第3のバスSDBUSと、
この第3のバスSDBUSで転送されるデータに対応し
たアドレス情報を転送する第4のバスBABUSとを設
け、中央処理装置と内蔵RAMの間で高速にデータ転送
を可能にする。
【0028】また、中央処理装置内に、汎用レジスタと
して使用され内部のデータを前記第3のバスSDBUS
に出力する1組または少数組のデータメモリRFおよび
専用レジスタとしてプログラムカウンタ、プロセッサス
テータスワードを設け、CPUコア内部のデータ処理は
これらのレジスタだけを用いて行う。中央処理装置内部
のこれらのレジスタは内蔵RAM上のメモリ領域から第
3のバスSDBUSを用いてデータが写像(マッピン
グ)される。内蔵RAM内の異なった位置から写像を行
なうことにより、異なったデータが中央処理装置内のレ
ジスタに写像されるので、この処理を高速に行えば、中
央処理装置が内部に複数組の汎用レジスタ(レジスタバ
ンク)を持つように見える。レジスタバンクの切り替え
に伴うデータの退避/復帰の処理は、第3のバスSDB
USを用いて、内蔵RAMとデータメモリRFの間で高
速にデータ転送することにより実現する。中央処理装置
内部には、1組もしくは少数組の汎用レジスタとプログ
ラムカウンタとプロセッサステータスワードレジスタR
Fを持てばよいので、汎用レジスタを構成するデータメ
モリを多ポート化しても大きな面積を占有しない。
【0029】また、中央処理装置内部には、レジスタバ
ンクの番号を指定するバンク指示レジスタBPおよび、
バンクアドレス制御回路を持ち、バンクアドレス制御回
路は、バンク指示レジスタのデータを用いて、内蔵RA
M上のレジスタバンクの写像領域と中央処理装置との間
のデータ転送のアドレスを生成し第4のバスBABUS
に出力する。また、バンクアドレス制御回路は、汎用レ
ジスタ/プログラムカウンタ/BWへのリード/ライト
指示を出す。特に、このシングルチップマイクロコンピ
ュータでは、写像領域の開始アドレス(バイトアドレ
ス)は、汎用レジスタのサイズ(全バイト数)より小さ
い間隔で設定可能であり、この開始アドレスを適当な値
に設定することにより、内蔵RAM上の汎用レジスタの
写像範囲を、異なるレジスタバンク間でオーバラップさ
せることができる。これにより、異なるレジスタバンク
間でデータを共有することが可能であり、レジスタバン
クの切り替えにより1部のデータをレジスタバンクから
レジスタバンクへ引き渡すことが可能になる。
【0030】この構成方法により、バンク数の大きい場
合も、チップ面積を抑えつつレジスタバンクを容易に構
成できる。またレジスタバンクを内蔵RAM上でオーバ
ラップさせることにより、異なるバンク間でデータを受
け渡すことが可能となり、サブルーチンコールのパラメ
ータ渡しの機能を容易に実現できる。
【0031】本発明の第2の特徴は、プログラムの処理
を行うための中央処理装置において、(a) 現在実行して
いるプログラムを一時的に中断し、新しいプログラムへ
実行の制御を移す場合および上記新しいプログラムが終
了し、上記中断されていたプログラムを再開する場合
に、データおよびそのアドレス情報の出し入れを行うた
めの第1の出し入れ手段;および(b) 現在実行している
プログラムを一時的に中断し、新しいプログラムへ実行
の制御を移す場合および上記新しいプログラムが終了
し、上記中断されていたプログラムを再開する場合以外
の通常の場合に、データおよびそのアドレス情報の出し
入れを行うための第2の出し入れ手段を具備することで
ある。
【0032】本発明の第3の特徴は、シングルチップマ
イクロコンピュータにおいて、(a)プログラムの処理を
行なうための中央処理装置のブロック;(b) 内蔵RAM
のブロック;(c) 内蔵ROMのブロック;(d) これら各
ブロック間を接続してデータを転送する第1のバス;
(e) 前記第1のバスで転送されるデータに対応したアド
レス情報を転送する第2のバス;(f) 前記第1のバスの
ビット数以上のビット数を備え前記中央処理装置と前記
内蔵RAM間を接続してデータを転送する第3のバス;
and (g) 前記中央処理装置と前記内蔵RAM間を接続し
て前記第3のバスで転送されるデータに対応したアドレ
ス情報を転送する第4のバスを有することである。
【0033】さらに、前記中央処理装置は、汎用レジス
タとして使用される複数組のデータメモリと、前記複数
組のデータメモリの出力を選択して前記第3のバスに出
力する第1のマルチプレクサと、前記複数組のデータメ
モリの内容がそれぞれ前記内蔵RAM内に写像される時
の写像領域の位置情報をそれぞれ保持する複数のバンク
指示レジスタと、前記複数のバンク指示レジスタの出力
を選択して前記第4のバスに出力する第2のマルチプレ
クサと、前記複数組のデータメモリの何れが現在使用さ
れているかを示すバンク指示フラグとを有する。
【0034】
【実施例】以下、本発明に係る実施例を図面に基づいて
説明する。
【0035】図1に本発明の第1の実施例に係るシング
ルチップマイクロコンピュータの構成図を示す。
【0036】図1において、シングルチップマイクロコ
ンピュータ1は、CPUコア(中央処理装置)2、内蔵
RAM(データメモリ)3、内蔵ROM(プログラムメ
モリ)5、バスコントローラ7、割り込みコントローラ
9、タイマ11、及びシリアルI/O13から構成さ
れ、これらブロックは、チップ内の32ビットのシステ
ムバスSYSBUS(16ビットのアドレスバスABU
Sと16ビットのデータバスDBUS)を介してデータ
のやり取りを行なう。また、チップ外部とのデータのや
り取りは、バスコントローラ7を通じてI/Oパッドか
ら行なわれる。ここで、CPUコア2と内蔵RAM3が
専用のバスで接続されていることが本発明の特徴の1つ
であり、本実施例では、この専用バスは64ビットの幅
を持つ双方向性の専用データバスSDBUSと内蔵RA
Mのアドレスを示す8ビットのバンクアドレスバスBA
BUSである。
【0037】図2に、CPUコア2内部の構成例を示
す。CPUコア2内部には、レジスタファイルRF(1
6ビットのレジスタ16本から構成される)、ALU2
5、3本の16ビット内部データバスIDBUS1〜I
DBUS3、デコーダ/制御回路21、コントローラ2
3、プログラムカウンタ(PC)、プロセッサステータ
スワード(PSW)等が存在する。デコーダ/制御回路
21は命令をデコードしたりCPUコア2の全体の動作
を制御する。コントローラ23はシステムバスSYSB
USとのインターフェスを行い、また、CPUコア2の
動作に必要な命令やデータを読み込んだり、必要なデー
タをシステムバスSYSBUSに出力したりする。汎用
レジスタRFは、3本の16ビット内部データバスID
BUS1〜IDBUS3及び64ビットの専用データバ
スSDBUSに接続されている。また、プログラムカウ
ンタは現在実行中のプログラムのアドレスを保持し、ま
た、プロセッサステータスワードは中央処理装置の内部
状態を規定する。PC,PSWもSDBUSに接続され
る。また、CPUコア2内には、コントローラ23の指
示に従い現在のレジスタバンクのバンク番号を示すバン
クポインタBPおよびバンクアドレス制御回路が用意さ
れており、バンクアドレス制御回路はバンク指示レジス
タの値に従って、バンクアドレスバスに出力するアドレ
スを制御する。また、バンクアドレス制御回路は、バン
クデータの転送を行う為にPC/PSW/汎用レジスタ
にリード/ライトの指示および汎用レジスタのリード/
ライトのアドレスを生成する。これらのアドレス・ワー
ド/ライト指示に基づき、バンクアドレスバスBABU
Sを介して内蔵RAM3をアクセスする。すなわち、こ
のCPUコア2は、データの出入口として、システムバ
スSYSBUSと専用データバスSDBUSの2つを有
しているものである。
【0038】より正確に言い換えれば、このCPUコア
2は、通常のアドレスおよびデータの出入口としてのシ
ステムバスSYSBUSと、バンク番号出力のための出
口としてのバンクアドレスバスBABUSと、汎用レジ
スタやPC/PSWの退避/復帰に伴なうデータの出入
口としての専用データバスSDBUSとを有している。
【0039】通常の状態でCPUコア2がデータを処理
している時には、汎用レジスタは3本の16ビット内部
データバスIDBUS1〜IDBUS3を通じて、AL
U25等とデータのやり取りを行う。64ビットの幅の
広い専用データバスSDBUSは、汎用レジスタを構成
するレジスタ4本分(16ビット×4=64ビット)の
データを1度に転送することができ、汎用レジスタ/P
C/PSWと内蔵RAM3間の高速データ転送に使用さ
れる。またバンクポインタBPは、8ビットのレジスタ
であり、このレジスタ内の値から内蔵RAM3内の写像
位置の開始アドレスが決定される。本実施例では、バン
クポインタBPの値を8倍した値(バンクポインタBP
の下位側に”000”を付けた値)がこの開始位置のバ
イトアドレスとなり、内蔵RAM3のアドレスマップ上
で、8バイト間隔で写像領域の開始アドレスが設定でき
る。
【0040】バンクアドレス制御回路は、中央処理装置
が内蔵RAMとデータ転送を行う時のアドレスを生成す
るもので、バンクアドレス制御回路は、バンクポインタ
の値をインクリメントを行い、その値を8倍したアドレ
スを、データ転送の為のアドレスとしてバンクアドレス
バスBABUSに出力する。
【0041】図3に、CPUコア2内の汎用レジスタの
構成図を示す。
【0042】汎用レジスタは、メモリセル(64ビット
×4)のブロック26と、上記メモリセル26に対する
読み出し書き込みの制御部27と、XBUSへ読み出す
汎用レジスタのアドレスXAD(3:2)と内蔵RAM
3に対するデータ転送を行う際の汎用レジスタのアドレ
スBNKAD(1:0)との内の1つを、内蔵RAM3
に対するデータ転送を行うことを示す信号BNKTXに
従って選択し、上記制御部27へ出力する第1のアドレ
スセレクタ28と、内蔵RAM3に対するデータ転送を
行う際の汎用レジスタRFのアドレスBNKAD(1:
0)とZBUSへ読み出す汎用レジスタRFのアドレス
ZAD(3:2)との内の1つを、内蔵RAM3に対す
るデータ転送を行うことを示す信号BNKTXに従って
選択し、上記制御部27へ出力する第2のアドレスセレ
クタ29と、内蔵RAM3から汎用レジスタRFへの書
き込みを行うことを示す信号BNKWRとZBUSから
汎用レジスタRFへの書き込みを示す信号ZWRITE
との内の1つを、内蔵RAM3に対するデータ転送を行
うことを示す信号BNKTXに従って選択し、上記制御
部27へ出力する第3のセレクタ30と、レジスタ部分
26よりの64ビットのデータを、それぞれアドレスX
AD(1:0)およびYAD(1:0)に従って、16
ビットのデータへ変換して、XBUSおよびYBUSへ
出力する第4および第5のセレクタ32,34とを有し
ている。
【0043】そして、64ビットのBNK−BUSは、
専用データバス(第3のバス)SDBUSに接続されて
おり、その専用データバスSDBUSによって、汎用レ
ジスタRFのデータの退避/復帰を行う場合における高
速のデータ転送が行われる。また、上記ZBUS,XB
US,YBUSは、それぞれ、図2に示すIDBSU
1,IDBUS2,IDBUS3に接続されており、そ
のIDBUS1,IDBUS2,IDBUS3によっ
て、通常の場合(汎用レジスタRFのデータの退避/復
帰以外の場合)におけるデータの転送が行われる。これ
らBNKAD(1:0),BNKWR,BNKTXの信
号はバンクアドレス制御回路により生成され、XAD
(3:0),YAD(3:0),ZAB(3:0),Z
WRITEの信号はCPU内のコントローラにより生成
される。
【0044】図4に、内蔵RAM3のブロック内部の構
成図を示す。内蔵RAMブロック3はメモリセルアレイ
31のブロックと、アドレスデコード回路33、選択回
路37及び39等の周辺ブロックとから構成される。ま
た、上記内蔵RAM3のブロック内部には、16ビット
のアドレスバスABUSとデータバスDBUSからなる
システムバスSYSBUS及びCPUコア2に直接接続
される11ビットのバンクアドレスバスBABUS、6
4ビット幅の専用データバスSDBUSおよびリードラ
イト信号等の信号線が設けられている。
【0045】そして、通常のメインメモリとして使用さ
れる時は、システムバスSYSBUSを介して、バスア
クセスの規定に従って16ビット単位で、比較的低速に
データアクセスが行われる。しかし、CPUコア2がレ
ジスタバンクの切り替えに伴うレジスタの退避/復帰を
行う時には、バンクアドレスバスにあるアドレスに従っ
て、専用データバスSDBUSを介して64ビット単位
で高速にデータ転送が行われる。
【0046】このため、1サイクルで8バイト(16ビ
ット×4本)分のレジスタの転送が可能であり、従って
16ビット×16本のレジスタから構成された汎用レジ
スタの場合、4サイクルで全データの転送が完了する。
【0047】次に、割り込みが発生しバンク切り替えを
行うときの動作を説明する。レジスタバンクの切り替え
の処理手順は、以下のようになる。
【0048】(1-1) プログラムの実行中に割り込み事象
が発生し、割り込み処理プログラムを実行する必要が生
じたり、マルチタスク環境下で他の緊急度の高いプログ
ラムを実行する必要が生じたり(タスクスイッチと呼
ぶ)、メインプログラムからサブルーチンプログラムへ
プログラムの制御を移すサブルーチンコールが発生し、
現在実行しているプログラムを一時的に中断し、新しい
プログラムへ実行の制御を移す場合、まず、プログラム
カウンタ(24ビット)とPSW(32ビット)のデー
タを専用データバスにのせて、バンクポインタ×8のア
ドレスに書き込む。このバンクアドレス制御回路はPC
/PSWをSDBUSに読み出す指示を出し、また、バ
ンクポインタを8倍してバンクアドレスに出力する。
【0049】(1-2) 次にバンクアドレス制御回路は、バ
ンクポインタの値を+1した値を8倍したデータ((B
P+1)×8)をバンクアドレスバスにのせ、汎用レジ
スタのR0〜R8の64ビット分データをSDBUSに
読み出す指示を出し、R0〜R8のデータを内蔵RAM
の(BP+1)×8のアドレスに書き込む。
【0050】(1-3) バンクアドレス制御回路は、(BP
+2)×8というアドレスをバンクアドレスバスにの
せ、R4〜R7の64ビット分のデータをSDバスを介
して内蔵RAMに書き込む。
【0051】(1-4) (BP+3)×8のアドレスに同様
のことを行なう。
【0052】(1-5) (BP+4)×8のアドレスに同様
のことを行なう。
【0053】こうして、5回のサイクルによりプログラ
ムカウンタ、プロセッサステータスワード、汎用レジス
タ(R0〜R15)のデータが内蔵RAMに退避され
る。
【0054】退避後の内蔵RAMは図8の様になる。
【0055】(2) コントローラ23により、バンクポイ
ンタBPの値が更新される。
【0056】(3) 必要であれば、64ビットの専用デー
タバスSDBUSを経て、CPUコア2内のプログラム
カウンタ/PSW/汎用レジスタRFへ新たなバンクポ
インタBPで示されるアドレスから開始する40バイト
の内蔵RAM3のメモリ領域に存在するデータ、すなわ
ち、サブルーチンプログラムのために必要なデータ、あ
るいは割り込み処理プログラムのために必要なデータ、
あるいは緊急度の高いプログラムのために必要なデータ
が読み込まれる。
【0057】ここで上記データの読み込みは、後述する
如くに、上記手順(1) で退避されたデータの一部がオー
バラップされて内蔵RAM3のメモリ領域から読み出さ
れることが可能な様になっている。これにより、例え
ば、サブルーチンプログラムの処理に関連のあるメイン
ルーチンプログラムデータの一部を一括して読み込む
(レジスタバンク間でのデータの引き渡し)ことが可能
となり、データ処理の効率がアップするものである。
【0058】(4) 上記サブルーチンプログラム、あるい
は割り込み処理プログラム、あるいは緊急度の高いプロ
グラムが終了した場合、復帰命令が出され、コントロー
ラ23によりバンクポインタBPの値が上記手順(1) で
データ退避されたアドレス値に復帰され、その変えられ
たバンクポインタの値を元にバンクアドレス生成回路は
バンクアドレスを生成し、バンクアドレスバスBABU
Sを介して内蔵RAM3へバンクアドレスを出力し、上
記手順(1) で書き込まれた退避データが、64ビットの
専用データバスSDBUSを経て、CPUコア2内のプ
ログラムカウンタとPSWと汎用レジスタRFへ読み込
まれ(データ復帰)、中断されていたプログラムが再開
される。
【0059】上記データ読み込みのオーバラップについ
て、より詳しく説明すると、本発明のレジスタバンクの
構成を用いて、上記レジスタバンク間でデータの引き渡
しを実現するには、内蔵RAM3上でレジスタバンクの
写像範囲をオーバラップさせればよく、それにはバンク
ポインタBPを適当な値に設定すれば良い。本実施例の
場合、バンクポインタBPは8の倍数のバイトアドレス
に設定可能であり、またプログラムカウンタ(24ビッ
ト)、PSW(32ビット)および16ビット×16本
の汎用レジスタRFは内蔵RAM3上で40バイト分の
領域を占める。従って、上記手順(1)でのバンクポイ
ンタBPの値をnとすると、内蔵RAM3内の書き込み
開始アドレスはを8n番地であり、レジスタファイルR
Fの内容は8n〜8n+39番地のバイトアドレスを持
つ内蔵RAM3内のメモリ位置に書き込まれる。次に、
手順(2)でバンクポインタBPに書き込む値をmとす
る。すると、手順(3)では、8m〜8m+39番地の
アドレスにある内蔵RAM3内のデータがレジスタファ
イルに読み込まれる。
【0060】従って、バンクポインタの値nとmとの大
小関係によっては、異なるレジスタバンク間で内蔵RA
M3上の写像位置をオーバラップさせ、オーバラップし
た部分にあるデータをレジスタバンク間で引き渡すこと
ができる。本実施例では、8n≦8m≦8n+39また
は8m≦8n≦8m+39の関係を満たせば良い。図5
にn=3、m=6の場合、図6にn=6,m=4の場合
の異なるレジスタバンク間でレジスタファイルの写像範
囲がオーバラップしている図を示す。このように、本実
施のレジスタバンクの構成方法により異なるレジスタバ
ンク間やレジスタバンク切り替えの前後でデータを引き
渡すことが容易に可能となり、データ処理の効率アップ
につながるものである。
【0061】次に、図7に本発明の第2の実施例を示
す。本実施例は、CPUコア2を内部に2組のレジスタ
ファイルRF0及びRF1を持つ構成としたもので、図
7は、そのCPUコア2内部の構成図を示したものであ
る。尚、他の部分の構成は第1の実施例と同様である。
CPUコア2内部には、2組のレジスタファイル(1組
のレジスタファイルは16ビットのレジスタ16本から
構成され、それぞれレジスタファイルRF0、レジスタ
ファイルRF1と呼ぶ)、ALU25、3本の16ビッ
ト内部データバスIDBUS1〜IDBUS3等から構
成されている。また、レジスタファイルRF0のレジス
タバンクの番号を示すバンクポインタBP0、レジスタ
ファイルRF1のレジスタバンクの番号を示すバンクポ
インタBP1、及び2組のレジスタファイルRF0及び
RF1のどちらが現在有効であるかを示す1ビットのバ
ンク指示F/F41(この内容が”1”の時はレジスタ
ファイルRF1が、”0”の時はレジスタファイルRF
0が有効であることを示す)を持つ。2組のレジスタフ
ァイルは、3本の16ビット内部データバスIDBUS
1〜IDBUS3及び64ビットの専用データバスSD
BUSに接続される。また、2組のレジスタファイルR
F0及びRF1はマルチプレクサMUX1を介して選択
的に64ビットの専用データバスSDBUSと接続さ
れ、2組のバンクポインタP0及びBP1はマルチプレ
クサMUX2を介して選択的にバンクアドレス生成回路
に入力する。バンクアドレス生成回路は、バンクポイン
タの値を+1したり8倍したりして、バンクアドレスを
生成するとともに、汎用レジスタ/PC/PSWのSD
BUSへの読み出し/書き込みを制御する。マルチプレ
クサMUX1およびMUX2は、バンク指示F/F41
の内容に基づいて上記各選択を行う。
【0062】CPUコア2が通常にプログラムを実行し
ている時には、バンク指示F/F41で指定される1組
の汎用レジスタRFiが使用され、16ビット内部デー
タバスIDBUS1〜IDBUS3を通じてレジスタフ
ァイルRFiとALU25間でデータが処理される。
【0063】レジスタバンクの切り替え時には、以下の
手順でレジスタファイルRFiの退避・復帰が行われ
る。
【0064】(1) プログラムの実行中に割り込み事象が
発生し、割り込み処理プログラムを実行する必要が生じ
たり、マルチタスク環境下で他の緊急度の高いプログラ
ムを実行する必要が生じたり(タスクスイッチと呼
ぶ)、メインプログラムからサブルーチンプログラムへ
プログラムの制御を移すサブルーチンコールが発生し、
現在実行しているプログラムを一時的に中断し、新しい
プログラムへ実行の制御を移す場合、コントローラ23
により、バンク指示F/F41の値が切り替えられ、レ
ジスタファイルRFOが無効となる。
【0065】(2) 必要であれば64ビットの専用データ
バスSDBUSを経て、バンク指示F/F41で指示さ
れているレジスタファイルRF1へ対応するバンクポイ
ンタBP1で示される内蔵RAM3のアドレス位置から
データすなわち、サブルーチンプログラムのために必要
なデータ、あるいは割り込み処理プログラムのために必
要なデータ、あるいは緊急度の高いプログラムのために
必要なデータがレジスタファイルRF1へ読み込まれ
る。
【0066】(3) 現在無効となっているレジスタファイ
ルRF0のデータが対応するバンクポインタBP0で示
される内蔵RAM3のアドレス位置に64ビットの専用
データバスSDBUSを経て書き込まれる(データ退
避)。
【0067】(4) 上記サブルーチンプログラム、あるい
は割り込み処理プログラム、あるいは緊急度の高いプロ
グラムが終了した場合、復帰命令が出され、コントロー
ラ23によりバンクポインタBPの値が上記手順(3) で
データ退避されたアドレス値に変えられ、その変えられ
たバンクポインタの値がバンクアドレスバスBABUS
を介して内蔵RAM3へ送られ、上記手順(3) で書き込
まれた退避データが、64ビットの専用データバスSD
BUSを経て、CPUコア2内のレジスタファイルRF
へ読み込まれ(データ復帰)、中断されていたプログラ
ムが再開される。
【0068】手順(3) の処理は、レジスタバンク切り替
えの際にすぐ行う必要はなく、バンク切り替えが終了し
新しいプログラムの実行が開始された後の適当な時に実
行してもよい。これは、無効となったレジスタファイル
RF0の内容は、次のレジスタバンク切り替えが起こる
まで保持されている為である。従って、レジスタバンク
の切り替えに要する時間は手順(1) と(2) の処理時間の
和となる。
【0069】本実施例では、第1の実施例と比較して、
手順(3) のレジスタファイルRF0の退避の処理が見か
け上レジスタバンクの切り替え時間に含まれないように
する事ができる分だけ高速な処理が可能である。
【0070】
【発明の効果】以上のように本発明によれば、レジスタ
バンクの機能を、内蔵RAMからデータメモリへデータ
をマッピング(写像)することにより実現することと
し、また、このマッピングに伴う物理的なデータの転送
を高速に行うために、内蔵RAMとデータメモリとの間
に多ビット幅の第3のバス(専用データバスSDBU
S)を設けることとしている。これによって、CPUコ
ア内部には多ポートのデータメモリを最低1組のみ持て
ばよいという構成が可能となり、大規模な多ポートメモ
リによりレジスタバンク用のメモリをインプリメントす
る必要がない。従って、チップ面積が小さく、また設計
も比較的に容易で、高速動作の可能なシングルチップマ
イクロコンピュータを提供することができる。
【0071】すなわち、内蔵RAMにはシステムバス
(A(23:0),D(15:0))及びバンク専用バ
ス(SDBUS,BABUS)からデータのリード/ラ
イトが可能であるが、システムバスとバンク専用バスか
ら同時に内蔵RAMをアクセスしない様に制御する為、
内蔵RAMのメモリセルのポート数が1ポートでたり
る。
【0072】また、レジスタバンクの切り替えに伴うデ
ータメモリの内容の退避・回復の処理を多ビット幅の第
3のバスで行うため、高速にレジスタバンクの切り替え
を行うことができる。また、第3のバスを設けたため、
この期間第1のバスを占有しなくてすむので、内蔵RO
Mから中央処理装置への命令の読み込み等他の目的に第
1のバスを使用したり、システム内の他のバスマスタに
第1、第2のバス権を与えて、それらのバスを使用させ
ることができ、結果としてシステム性能の高いシステム
を構築可能なシングルチップマイクロコンピュータを提
供することができる。
【0073】すなわち、従来のシステムバスは、チップ
内の様々なエレメント(内蔵ROM,シリアルIO)に
接続されているため、負荷容量や配線容量が大きい。こ
のため、高速のドライブができないので、データの転送
時間が遅い。これに対し、本願発明では、コアとビルト
インRAMとの間に専用バス(例えば,コアとビルトイ
ンRAMにのみ接続される)を設けた。この専用バスで
は、従来のシステムバスよりも負荷容量・配線容量が小
さいので、高速ドライブが可能である。さらに、シング
ルチップマイクロコンピュータの設計時(ブロックレイ
アウト時)に、CPUコアとビルトインRAMとをでき
るだけ隣接させて配置することにより、専用バスの配線
長を短くすることができ、配線容量をきわめて小さくす
ることが可能である。
【0074】また、バンク指示レジスタに適当な値を設
定することにより、内蔵RAM上で、異なるレジスタバ
ンクが写像される範囲をオーバラップさせることがで
き、異なるレジスタバンク間もしくはレジスタバンク切
り替え前後で1部のデータを共有(引き渡し)すること
ができる。これにより、ソフトウェアのサブルーチンコ
ール時のパラメータの受け渡しが容易に実現可能なシン
グルチップマイクロコンピュータを提供することができ
る。
【0075】更に、レジスタバンクのデータの実体は内
蔵RAM上にあるが、内蔵メモリは通常のメインメモリ
として使用することも可能なので、レジスタバンク機能
が不要な時もオンチップメモリを有効に利用できる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係るシングルチップマ
イクロコンピュータの構成図である。
【図2】本発明の第1の実施例に係るシングルチップマ
イクロコンピュータのCPUコアの構成図である。
【図3】本発明の第1の実施例に係るシングルチップマ
イクロコンピュータのCPUコア内のレジスタファイル
の構成図である。
【図4】本発明の第1の実施例に係るシングルチップマ
イクロコンピュータの内蔵RAMの構成図である。
【図5】本発明のシングルチップマイクロコンピュータ
の内蔵RAMにおいて、異なるレジスタバンク間でレジ
スタファイルの写像範囲がオーバラップしている状態
(n=3、m=6の場合)を示すメモリマップである。
【図6】本発明のシングルチップマイクロコンピュータ
の内蔵RAMにおいて、異なるレジスタバンク間でレジ
スタファイルの写像範囲がオーバラップしている状態
(n=6,m=4の場合)を示すメモリマップである。
【図7】本発明の第2の実施例に係るシングルチップマ
イクロコンピュータのCPUコアの構成図である。
【図8】退避後の内蔵RAMの状態を示す図である。
【図9】従来のレジスタバンク機能を用いたシングルチ
ップマイクロコンピュータの構成図である。
【図10】従来のシングルチップマイクロコンピュータ
上に搭載されるCPUコアの構成図である。
【符号の説明】
1 シングルチップマイクロコンピュータ 2 CPUコア(中央処理装置) 3 内蔵RAM 5 内蔵ROM 7 バスコントローラ 9 割り込みコントローラ 11 シリアルI/O 13 タイマ DBUS データバス(第1のバス) ABUS アドレスバス(第2のバス) SYSBUS システムバス SDBUS 専用データバス(第3のバス) BABUS バンクアドレスバス(第4のバス) RF,RF0,RF1 レジスタファイル(データメモ
リ) BP,BP0,BP1 バンクポインタ(バンク指示レ
ジスタ) 21 デコーダ/制御回路 23 コントローラ 25 ALU 31 メモリセルアレイ(記憶要素アレイ) 33 アドレスデコード回路 35 バンクアドレス制御回路 37,39 選択回路 MUX1 第1のマルチプレクサ MUX2 第2のマルチプレクサ 41 バンク指示フラグ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 加沼 安喜良 神奈川県川崎市幸区堀川町580番1号 株 式会社東芝半導体システム技術センター内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 シングルチップマイクロコンピュータに
    して、 (a) プログラムの処理を行なうための中央処理装置のブ
    ロックと、 (b) 内蔵RAMのブロックと、 (c) 内蔵ROMのブロックと、 (d) これら各ブロック間を接続してデータを転送する第
    1のバスと、 (e) 前記第1のバスで転送されるデータに対応したアド
    レス情報を転送する第2のバスと、 (f) 前記第1のバスのビット数以上のビット数を備え前
    記中央処理装置と前記内蔵RAM間を接続してデータを
    転送する第3のバスと、 (g) 前記中央処理装置と前記内蔵RAM間を接続して前
    記第3のバスで転送されるデータに対応したアドレス情
    報を転送する第4のバスとを具備し、 (h) 前記中央処理装置は、現在実行しているプログラム
    を一時的に中断し、新しいプログラムへ実行の制御を移
    す場合に、アドレス情報を前記第4のバスを介して前記
    内蔵RAMへ転送し、上記中央処理装置の保持している
    データを前記第3のバスを介して前記内蔵RAMへ退避
    させると共に、上記新しいプログラムが終了し、上記中
    断されていたプログラムを再開する場合に、前記退避デ
    ータの読み出し復帰のために前記退避されたデータのア
    ドレス情報を前記第4のバスを介して前記内蔵RAMに
    転送すると共に、前記退避されたデータを前記内蔵RA
    Mから前記中央処理装置へ前記第3のバスを介して復帰
    させる様に構成されていることを特徴とするシングルチ
    ップマイクロコンピュータ。
  2. 【請求項2】 前記中央処理装置は、汎用レジスタとし
    て使用され、前記内蔵RAMに対する前記第3のバスを
    介してのデータの退避および復帰の場合に前記第3のバ
    スに対してデータの出し入れを行うためのデータメモリ
    と、前記内蔵RAMに対する前記第3のバスを介しての
    データの退避および復帰に伴なうアドレス情報を保持し
    前記第4のバスへ出力するバンク指示レジスタと、上記
    データメモリおよびバンク指示レジスタを制御する制御
    手段とを有していることを特徴とする請求項1に記載の
    シングルチップマイクロコンピュータ。
  3. 【請求項3】 前記中央処理装置の制御手段により、前
    記データメモリがレジスタバンクとして使用され、前記
    バンク指示レジスタに異なる値が指定され、前記内蔵R
    AM上に複数個のレジスタバンクに対応した写像領域を
    確保する場合、前記複数の写像領域が前記内蔵RAM上
    で部分的に重ね合わされていることを特徴とする請求項
    2に記載のシングルチップマイクロコンピュータ。
  4. 【請求項4】 プログラムの処理を行うための中央処理
    装置にして、 (a) 現在実行しているプログラムを一時的に中断し、新
    しいプログラムへ実行の制御を移す場合および上記新し
    いプログラムが終了し、上記中断されていたプログラム
    を再開する場合に、データおよびそのアドレス情報の出
    し入れを行うための第1の出し入れ手段と、 (b) 現在実行しているプログラムを一時的に中断し、新
    しいプログラムへ実行の制御を移す場合および上記新し
    いプログラムが終了し、上記中断されていたプログラム
    を再開する場合以外の通常の場合に、データおよびその
    アドレス情報の出し入れを行うための第2の出し入れ手
    段とを具備することを特徴とする中央処理装置。
  5. 【請求項5】 シングルチップマイクロコンピュータに
    して、 (a) プログラムの処理を行なうための中央処理装置のブ
    ロックと、 (b) 内蔵RAMのブロックと、 (c) 内蔵ROMのブロックと、 (d) これら各ブロック間を接続してデータを転送する第
    1のバスと、 (e) 前記第1のバスで転送されるデータに対応したアド
    レス情報を転送する第2のバスと、 (f) 前記第1のバスのビット数以上のビット数を備え前
    記中央処理装置と前記内蔵RAM間を接続してデータを
    転送する第3のバスと、 (g) 前記中央処理装置と前記内蔵RAM間を接続して前
    記第3のバスで転送されるデータに対応したアドレス情
    報を転送する第4のバスとを具備することを特徴とする
    シングルチップマイクロコンピュータ。
  6. 【請求項6】 前記中央処理装置は、汎用レジスタとし
    て使用され内部のデータを前記第3のバスに出力するデ
    ータメモリと、前記データメモリの内容が前記内蔵RA
    M内に写像される時の写像領域の位置情報を保持し前記
    第4のバスに出力するバンク指示レジスタとを有するこ
    とを特徴とする請求項5に記載のシングルチップマイク
    ロコンピュータ。
  7. 【請求項7】 前記中央処理装置は、汎用レジスタとし
    て使用される複数組のデータメモリと、前記複数組のデ
    ータメモリの出力を選択して前記第3のバスに出力する
    第1のマルチプレクサと、前記複数組のデータメモリの
    内容がそれぞれ前記内蔵RAM内に写像される時の写像
    領域の位置情報をそれぞれ保持する複数のバンク指示レ
    ジスタと、前記複数のバンク指示レジスタの出力を選択
    して前記第4のバスに出力する第2のマルチプレクサ
    と、前記複数組のデータメモリの何れが現在使用されて
    いるかを示すバンク指示フラグとを有することを特徴と
    する請求項5に記載のシングルチップマイクロコンピュ
    ータ。
  8. 【請求項8】 前記内蔵RAMは、記憶要素アレイとア
    ドレス選択回路を有し、アドレス選択回路は、前記第4
    のバスと前記第2のバスに接続されて記憶要素アレイに
    選択的にアドレスを供給することを特徴とする請求項5
    に記載のシングルチップマイクロコンピュータ。
JP4110092A 1991-04-30 1992-04-28 シングルチップマイクロコンピュータ Pending JPH05165641A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4110092A JPH05165641A (ja) 1991-04-30 1992-04-28 シングルチップマイクロコンピュータ

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP9867191 1991-04-30
JP3-98671 1991-04-30
JP4110092A JPH05165641A (ja) 1991-04-30 1992-04-28 シングルチップマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JPH05165641A true JPH05165641A (ja) 1993-07-02

Family

ID=26439798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4110092A Pending JPH05165641A (ja) 1991-04-30 1992-04-28 シングルチップマイクロコンピュータ

Country Status (1)

Country Link
JP (1) JPH05165641A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191908A (ja) * 1993-12-27 1995-07-28 Nec Corp マイクロプロセッサとその制御方法
US7290124B2 (en) 2002-11-05 2007-10-30 Renesas Technology Corp. Data processor employing register banks with overflow protection to enhance interrupt processing and task switching
JP2014161413A (ja) * 2013-02-22 2014-09-08 Sophia Co Ltd 遊技機
CN104063343A (zh) * 2014-06-20 2014-09-24 珠海市杰理科技有限公司 数据总线扩展的单片机

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191908A (ja) * 1993-12-27 1995-07-28 Nec Corp マイクロプロセッサとその制御方法
US7290124B2 (en) 2002-11-05 2007-10-30 Renesas Technology Corp. Data processor employing register banks with overflow protection to enhance interrupt processing and task switching
JP2014161413A (ja) * 2013-02-22 2014-09-08 Sophia Co Ltd 遊技機
CN104063343A (zh) * 2014-06-20 2014-09-24 珠海市杰理科技有限公司 数据总线扩展的单片机
CN104063343B (zh) * 2014-06-20 2017-03-29 珠海市杰理科技股份有限公司 数据总线扩展的单片机

Similar Documents

Publication Publication Date Title
EP0511674B1 (en) Single chip microcomputer
US9459874B2 (en) Instruction set architecture-based inter-sequencer communications with a heterogeneous resource
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US5838986A (en) RISC microprocessor architecture implementing multiple typed register sets
US7590774B2 (en) Method and system for efficient context swapping
JP2776132B2 (ja) オペランド内の情報のスタティックおよびダイナミック・マスキングを兼ね備えるデータ処理システム
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JP4098241B2 (ja) プロセッサをコプロセッサに接続する方法及び装置
JPH06208632A (ja) 図形/画像処理方法および装置
JP2002529810A (ja) 処理構成
US4701847A (en) Adaptive instruction sequence synthesizer and process
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JP3705811B2 (ja) 再構成可能なプログラム状態語を有するマイクロコントローラ
JPH05165641A (ja) シングルチップマイクロコンピュータ
JP2754825B2 (ja) マイクロプロセッサ
JPH0916409A (ja) マイクロコンピュータ
EP0560393B1 (en) Microprocessor and data processing system with register file
JPS6352240A (ja) デ−タ処理装置
JPS62152061A (ja) マイクロプロセツサ
JPH05265753A (ja) 拡張中央演算処理装置
JP2732890B2 (ja) データ処理装置のスタンバイ方式
JPS61208133A (ja) 仮想計算機システムにおける状態レジスタ制御装置
JPWO2004023291A1 (ja) 情報処理装置
JPH03164962A (ja) メモリ制御方式
JPS62221062A (ja) シングルチツプマイクロコンピユ−タ