JP3197045B2 - 拡張中央演算処理装置 - Google Patents

拡張中央演算処理装置

Info

Publication number
JP3197045B2
JP3197045B2 JP03922892A JP3922892A JP3197045B2 JP 3197045 B2 JP3197045 B2 JP 3197045B2 JP 03922892 A JP03922892 A JP 03922892A JP 3922892 A JP3922892 A JP 3922892A JP 3197045 B2 JP3197045 B2 JP 3197045B2
Authority
JP
Japan
Prior art keywords
register
register set
processing unit
data
central processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP03922892A
Other languages
English (en)
Other versions
JPH05241834A (ja
Inventor
慎一 山浦
圭一 吉岡
和彦 原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP03922892A priority Critical patent/JP3197045B2/ja
Publication of JPH05241834A publication Critical patent/JPH05241834A/ja
Application granted granted Critical
Publication of JP3197045B2 publication Critical patent/JP3197045B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、基本中央演算処理装置
内にレジスタセットを備え、かつ該基本中央演算処理装
置と同一集積回路上にレジスタファイル用RAMを備え
た、拡張中央演算処理装置に関する。
【0002】
【従来の技術】一般に中央演算処理装置(以下、CPU
と記す)で、複数のソフトウェア処理(以下、プログラム
と記す)が実行される場合、図11に示すように、CP
U内に備わり各プログラム単位における演算データ、ア
ドレスのポインタ等のデータを格納する汎用レジスタの
データ内容は、各プログラム毎に異なる。従って、これ
ら複数のプログラムを時分割して1つのCPU1を用い
て処理する際に、あるプログラムから別のプログラムへ
とプログラムを切り換える場合には、まずCPU内汎用
レジスタ1aに現在格納されているデータをCPU1と
は別のチップに設けられる、例えばRAM(読出書込可
能メモリ)2内の所定領域へ格納(以下、このような動
作を退避と記す)し、続いて、次のプログラムに必要な
汎用レジスタ状態に設定するため、必要データが記憶さ
れる上記RAM2の他の領域から汎用レジスタ1aへ格
納(以下、このような動作を復帰と記す)する。通常は、
上記退避、復帰動作はCPU1が備えている命令を用い
て、ソフトウェア的にRAM2とCPU1との間で行な
われる。
【0003】例えばプログラムAから、プログラムBに
移行する場合、RAM2内の領域であって、プログラム
Aに対応するデータを格納する領域2aにCPU1のプ
ログラムAにおいて汎用レジスタ1aに格納されるデー
タを、CPU1に設けられるデータ入出力バスを用いて
退避し、続いてRAM2内の領域2bに格納されている
プログラムBのレジスタ状態を汎用レジスタ1aに復帰
する。この際、CPU1のアーキテクチャ上で、退避、
復帰の対象となる汎用レジスタ1aの構成数が多いと退
避、復帰に要する時間(以下、レジスタ切換時間と記す)
が増大し、CPUのプログラム処理速度が低下する。こ
のレジスタ切換時間を短縮する手法として、レジスタフ
ァイル方式が知られている。レジスタファイル方式と
は、CPU自体には汎用レジスタを備えておらず、CP
Uに高速RAM(以下、レジスタファイル用RAMと記
す)を配設して、該レジスタファイル用RAM上にCP
Uの汎用レジスタのセットを、1つ以上複数を割り当て
ることで、外付けされたメモリ(以下外部RAMと記
す)にアクセスする場合に比べて高速にアクセスできる
レジスタファイル用RAMにアクセスすることより、レ
ジスタ切換時間を低減させる手法である。尚、レジスタ
ファイル方式には、以下に示す2つの手法がある。
【0004】一の方式である方式1は、図12に示すよ
うに、CPU3内部に現在のプログラムで使用している
レジスタ・セットの先頭位置を示すポインタとなるデー
タを格納するカレント・バンク・ナンバー・レジスタ
(以下CBNRと記す)4を備え、このCBNR4の格納
値をベースとして、プログラム中の命令で指定されたレ
ジスタ・ナンバーをオフセットとして加算し、加算結果
データをアドレスとして出力し、当該アドレスが示すレ
ジスタファイル用RAM5のデータを汎用レジスタ・デ
ータに相当するとして、アクセスする手法である。ここ
でCPU3はデータ・アクセスに際し、図13に示すよ
うに外部RAM、レジスタファイル用RAM5に共通の
データ・バス、アドレス・バスを使用する。この手法
は、CBNR4の内容を書き換えるだけで、複数のプロ
グラムに対するレジスタ・セットの切り換えが可能とな
るため、プログラムの切り換えは高速となる。しかし、
レジスタファイル用RAM5へのアクセスの度に、レジ
スタファイル用RAM5に対するアドレス出力、および
データのリード・ライトが必要となり、1命令当たりの
処理速度は低下する欠点がある。例えばレジスタファイ
ル用RAM5内のR0レジスタの格納データとR1レジ
スタの格納データとを加算し、上記R0レジスタに格納
する加算命令を実行するためには、表1に示すように、
6マシンサイクル必要である。尚、マシンサイクルと
は、CPU内動作における各ステージをいう。
【0005】
【表1】
【0006】他方の方式である方式2では、図14に示
すように、方式1と同様、CPU3内部にCBNR4を
備えるが、方式1の場合と異なり、CPU3はレジスタ
ファイル用RAM5、外部RAM等に対して、それぞれ
独立したアクセス用のアドレス、データ・バス等を備え
る。これにより、演算結果の格納等のマシンサイクルを
並列処理、いわゆるパイプライン処理を行うことが可能
となり、表2に示すように上記加算命令は5マシンサイ
クルで実行可能となる。
【0007】
【表2】
【0008】さらに、レジスタファイル用RAM5の形
態として、2つのアドレスを同時にアクセス可能なデュ
アル・ポート・RAMを採用することで、表2に示すマ
シンサイクルの2、3に相当する2つのリード・サイク
ルを並列に処理でき、又、トリプル・ポートRAMを採
用すれば、表2に示すマシンサイクル5のライト・サイ
クルも並列処理が可能となり、結果として1マシンサイ
クルで命令を実行することが可能となり、上記方式1に
比べて命令の高速実行が実現される。
【0009】しかしながら、上記方式2の手法では、上
記外部RAM等とレジスタファイル用RAMとにおいて
バスを独立して備える必要があり、バス本数がデュアル
・ポートRAMを採用した場合で2倍、トリプル・ポー
トRAMを採用した場合には3倍となるようにバス本数
の増大を招き、加えてデュアル・ポートやトリプル・ポ
ートのRAMは、通常のシングル・ポートのRAMに比
べて回路も複数かつ大きくなるため、ハードウェアが増
大するという欠点を有する。そこで本願出願人は、上記
欠点を解消し、レジスタ切換時間が速いレジスタファイ
ル構成であり、かつハードウェアの増大を抑え、かつ演
算処理速度を向上させたCPUを含む集積回路装置(以
下CPUを含むICと記す)を既に提案している(以
下、既提案の拡張CPUと記す)。以下にこの既提案の
拡張CPUについて説明する。
【0010】既提案の拡張CPUの一実施例における構
成を図7に示す。基本的な大略構成としては、上述した
図14に示す拡張CPUと同様であり、同じ構成部分に
ついては同じ符号を付している。既提案の拡張CPU
は、同一のIC(集積回路)内に基本CPU70とレジ
スタファイル用RAM5を有し、基本CPU70とレジ
スタファイル用RAM5、及び基本CPU70と外部R
AM等はそれぞれ独立した内部接続専用バス8及び外部
接続専用バス9にて接続される。又、基本CPU70
は、任意の本数のレジスタの集合体であるレジスタセッ
ト10を内部に1組設けており(以下このレジスタセッ
ト10を基本CPU内レジスタセット10と記す)、上
記レジスタファイル用RAM5は上記基本CPU内レジ
スタセット10を構成するレジスタ数と同数のレジスタ
からなるレジスタセットを複数セット分有し、レジスタ
ファイル用RAM5にはレジスタセット毎に記憶領域が
設定されている。尚、レジスタファイル用RAM5に格
納される複数のレジスタセットを総称して拡張レジスタ
セットと呼ぶ。又、基本CPUには、現在実行中のプロ
グラムで使用されているデータ群のレジスタファイル用
RAM5内における先頭アドレスを示すアドレスポイン
タデータRpを格納するCBNR4が含まれる。尚、本
実施例において基本CPU内レジスタセット10は、1
6本のレジスタ,R0レジスタないしR15レジスタか
ら構成されている。又、基本CPU内レジスタセット1
0は、トリプル・ポートのレジスタで構成され、任意の
2つのレジスタに対してリード動作を行うと同時に1つ
のレジスタに対してライト動作を同時に実行可能であ
る。又、基本CPU内レジスタセット10は基本CPU
70内に複数設けるようにしても良い。
【0011】尚、図7は、既提案拡張CPUを構成する
特徴的な構成部分を抜粋し記載したもので、詳しくは図
8に示すように、基本CPU70は、当該CPUに供給
される命令を解読し、その命令に従い制御信号を生成す
る制御部71、上記制御信号の一部に従い上記命令に関
する演算を実行する実行部72、各種データの送受を行
なうインタフェース73等を備えている。さらに制御部
71は、命令レジスタ74、命令デコーダ75を有し、
実行部72は上記CBNR4、上記レジスタセット1
0、ALU76を備えている。
【0012】基本CPU70の処理において、基本CP
U内レジスタセット10に格納されているデータのリー
ド動作は基本CPU70内部で行なわれ、命令実行によ
る基本CPU内レジスタセット10へのデータのライト
動作は、基本CPU内レジスタセット10の各レジスタ
及び当該レジスタに対応するレジスタファイル用RAM
5の任意のアドレスの両方についてライト動作を行な
う。尚、上述したリード及びライト動作は、基本CPU
70内に備わる制御部にて実行される。従って、基本C
PU内レジスタセット10が格納するデータは、レジス
タファイル用RAM5における拡張レジスタセットを構
成するレジスタセットの各レジスタに対応するアドレス
上のデータとの一貫性を常に保持している。又、レジス
タファイル用RAM5は、後述する理由によりシングル
・ポートのRAMで十分機能を果たすことができるの
で、シングルポートのRAMを採用している。
【0013】このように構成される既提案の拡張CPU
のパイプライン動作について以下に説明する。例えばR
5レジスタの格納データにR7の格納データを加算し、
加算結果データをR5レジスタに格納する命令を例に、
当該命令を命令1ないし4として4回繰り返し実行した
場合のマシンサイクルを図9に示す。図9において、横
軸方向における各区間が1マシンサイクルを示してお
り、例えば命令1の場合、1マシンサイクル目では命令
のフェッチ及びそのデコードが行われる。2マシンサイ
クル目では、基本CPU70内の基本CPU内レジスタ
セット10がトリプルポートにて構成されているので、
上記R5レジスタ及びR7レジスタの格納データのリー
ド動作及び読み出した上記データの加算動作が同じマシ
ンサイクルにて実行され、3マシンサイクル目にてその
加算結果データが上記R5レジスタ及びレジスタファイ
ル用RAM5内のR5レジスタに対応するアドレスに格
納される。このように命令1は3マシンサイクルにて実
行される。
【0014】命令2ないし命令4についても同様に3マ
シンサイクルにて命令が実行されるが、命令1について
1マシンサイクル目の動作が終了した時点で、基本CP
U70の命令読込部分は動作が終了し次の命令のフェッ
チが可能であり、よって2マシンサイクル目では命令2
における命令のフェッチ、デコード動作を実行する。こ
のように、2マシンサイクル目では、命令1の演算動作
と、命令2の命令フェッチ、デコード動作とを同時に実
行することができる。
【0015】又、同様に、命令1について2マシンサイ
クル目の動作が終了した時点で、基本CPU70の演算
部分は動作が終了し次の命令における演算動作が可能で
あり、よって3マシンサイクル目では命令2における演
算動作を実行する。さらに、外部RAM等と接続する外
部接続専用バス9、及び基本CPU70とレジスタファ
イル用RAM5とを接続する内部接続専用バス8を設け
たこと、及び基本CPU70内のレジスタセット10を
トリプルポート・タイプを採用したことより、3マシン
サイクル目では、命令1の演算結果データのレジスタフ
ァイル用RAM5への書き込み、命令2における演算動
作、命令3における外部からの命令のフェッチ、デコー
ド動作を同時に実行することができ、1命令が1マシン
サイクルにて実行されることになる。
【0016】又、レジスタファイル用RAM5へのアク
セスは演算結果データの格納のみであり、即ち、1マシ
ンサイクルで上記RAM5の所定アドレスへ書き込むだ
けなので、従来のようなデュアル、トリプルポート等の
回路が大きいRAMを要せず、シングル・ポートRAM
で充分である。よって、バスの増加や、複雑な回路を備
える必要がないことより、ハードウエアが増加すること
もなく、かつ上述のようにパイプライン処理を高速に実
行することができる。
【0017】次に、レジスタセットを切り換える場合に
ついて図10を参照し説明する。尚、図10には図7に
示す基本CPU70及びレジスタファイル用RAM5の
関連部分のみを示している。レジスタファイルを切り換
えるには、CBNR4に格納されているデータを書き換
えることで行われる。上述したように、基本CPU内レ
ジスタセット10の各レジスタにデータが格納される場
合には、同時にレジスタファイル用RAM5の拡張レジ
スタセットを構成するレジスタセットのあるレジスタに
も同一のデータを書き込んでいることより、レジスタセ
ットを切り換える場合、従来のようにCPU内の汎用レ
ジスタの格納データを退避させる必要がなく、レジスタ
ファイル用RAM5の拡張レジスタセットを構成するレ
ジスタセットから基本CPU内レジスタセット10への
データの復帰のみを行えば良い。よって、レジスタ切換
時間は上記復帰のみの時間を要することになる。したが
って、従来に比べレジスタ切換時間を短くでき、演算処
理速度を高速化することができる。尚、上述した、レジ
スタファイル用RAM5の拡張レジスタセットから基本
CPU内レジスタセット10への復帰動作を行なう際に
は、レジスタファイル用RAM5の拡張レジスタセット
の所定のレジスタセットに格納されたデータのすべてが
基本CPU内レジスタセット10へ復帰される。
【0018】レジスタセットの切り換えについて具体的
に説明すると、レジスタファイル方式を採用する従来の
CPUにおいて、CPU内の汎用レジスタとして例えば
32ビット長のレジスタを16本備え、外部アクセス用
のデータバス容量が16ビットで、2マシンサイクルが
1バスサイクルの従来のCPUでは、レジスタにおける
退避、復帰に要する切り換えには、 16[レジスタ本数]×(32[ビット長レジスタ]÷16
[ビット・バス幅])×2[マシンサイクル]×2[退避、復
帰]=128[マシンサイクル] が必要となる。尚、上記式で、[]内の記載は、単位あ
るいは注釈を示している(以下の式においても同じ)。
【0019】既提案の拡張CPUにおける基本CPU7
0において、基本CPU内レジスタセット10の構成は
上記CPUと同一で全16本とし、基本CPU70とレ
ジスタファイル用RAM5間のアクセス用バスを32ビ
ットとし、1マシンサイクルでレジスタファイル用RA
M5をアクセス可能とすると、レジスタセットの切り換
えは、 16[レジスタの本数]×(32[ビット長レジスタ]÷3
2[ビット・バス幅])×1[マシンサイクル]×1[復帰の
み]=16[マシンサイクル] となり、従来の8倍高速となる。
【0020】以上説明したように既提案の拡張CPUで
は、基本CPU70内に備わる基本CPU内レジスタセ
ット10をトリプルポートで構成し、基本CPU70と
レジスタファイル用RAM5とを内部接続専用バス8に
て接続したことで、演算処理時間、いわゆるマシンサイ
クルを短縮でき、さらに、レジスタファイルの切換時に
は基本CPU内レジスタセット10へデータの復帰動作
のみを行えば良く、さらにCPU動作時間を短縮するこ
とができる。又、上述したように外部RAM等のアクセ
ス用の外部バスとレジスタファイル用RAMアクセス用
バスを独立、分離しているため、処理の並列化で高速の
データ転送が可能となる。つまり、上述したように、レ
ジスタセットの復帰動作中は、基本CPU70の外部R
AM等とのアクセス用である外部接続専用バス9は、未
使用であるので、次命令のフェッチ等の動作が可能とな
り、CPUの処理の高速化を図ることができる。
【0021】以上説明したように、既提案の拡張CPU
では、従来の汎用レジスタ方式のCPUと同様にCPU
内にレジスタセットとしてレジスタを備え、かつ当該C
PUと同一チップ上にレジスタファイル用メモリをも備
えているので、レジスタファイル用メモリの有無により
汎用レジスタ方式あるいはレジスタファイル方式の両方
式のCPUとして使用することができ汎用性を向上させ
ることができる。
【0022】
【発明が解決しようとする課題】上述したように既提案
の拡張CPUは、従来のCPUに比べて演算処理速度を
著しく高速化したものであるが、レジスタファイル用R
AM5の拡張レジスタセットから基本CPU内レジスタ
セット10へデータの復帰を行なう際には、レジスタフ
ァイル用RAM5の拡張レジスタセットを構成する所定
のレジスタセットに格納されたデータのすべてを基本C
PU内レジスタセット10へ復帰させている。したがっ
て、上記復帰前の基本CPU内レジスタセット10を構
成する、例えばレジスタR5に格納されているデータと
復帰後においてレジスタR5に格納されるデータとが同
一であっても復帰動作を行っている。よって、復帰前後
において格納データが同じであるレジスタが多い復帰動
作時には余分な復帰時間を費やすことになる。本発明は
このような点を改良し、さらに高速な演算処理速度を有
する拡張CPUを提供することを第1の目的とする。
【0023】又、CPU内にレジスタセットを有さずレ
ジスタファイル用RAMを有する、従来のレジスタファ
イル方式のCPUにおいて、実行するプログラム変更の
際には、レジスタファイルRAM内の例えばプログラム
A関係データからプログラムB関係データにデータ変更
が行われるが、この際、プログラムA関係データの一部
についてプログラムB関係データとしていわゆる複写を
行なう場合がある。
【0024】この場合、従来のレジスタファイル方式の
CPUでは、CPU内に例えばテンポラリレジスタを設
け、まずこのテンポラリレジスタにプログラムA関係デ
ータにおける1レジスタ格納分のデータを格納し、次に
該テンポラリレジスタに格納されたデータをレジスタフ
ァイル用RAMのプログラムB関係データの格納領域へ
書き込む動作を行ない、上記複写を行なう。複写するデ
ータが複数にわたる場合には上記の動作を相当する回数
分実行する必要がある。したがって、プログラム変更時
にCPUの演算処理速度が遅くなるという問題点があ
る。
【0025】この問題点については、既提案の拡張CP
Uでは、上述したように基本CPU内レジスタセットに
データを格納する場合には、レジスタファイル用RAM
の拡張レジスタセットにも上記格納データと同じデータ
を書き込んでいる。よってプログラム変更時において、
基本CPU内レジスタセットの格納データをレジスタフ
ァイル用RAMの拡張レジスタセットに退避する必要は
なく、プログラムB関係データをレジスタファイル用R
AMから基本CPU内レジスタセットへ復帰動作のみを
行えば良く、上記既提案の拡張CPUによればプログラ
ム変更時にCPUの演算処理速度が遅くなるという問題
点は解決される。本発明では、上記既提案の拡張CPU
において上記復帰動作を行なうと同時に上記複写動作も
実行可能な拡張CPUを提供することを第2の目的とす
る。
【0026】又、既提案の拡張CPUでは、上述したよ
うに、基本CPU内レジスタセットを構成するレジスタ
にデータを格納するときにはレジスタファイル用RAM
の拡張レジスタセットのレジスタにも常に同じデータを
書き込むようにしている。本発明は、さらにこの点をも
改良し、基本CPU内レジスタセットのレジスタにデー
タを格納する場合、レジスタファイル用RAMの拡張レ
ジスタセットにデータを書き込むか否かを選択できる拡
張CPUを提供することを第3の目的とする。
【0027】
【課題を解決するための手段及びその作用】本発明は、
少なくとも一つのレジスタで構成される基本中央演算処
理装置内レジスタセット及び制御手段を有する基本中央
演算処理装置と、上記基本中央演算処理装置内レジスタ
セットの格納データ量と同じデータ量のレジスタセット
を複数備えた拡張レジスタセットを有するレジスタファ
イル用メモリと、を同一の集積回路装置内に備え、上記
制御手段の制御により、上記基本中央演算処理装置内レ
ジスタセットを構成するレジスタにデータを格納すると
きには上記レジスタファイル用メモリの上記拡張レジス
タセットを構成する一つのレジスタセット内のレジスタ
にも当該データを書き込み、データを読み出すときには
上記基本中央演算処理装置内レジスタセットを構成する
レジスタの格納データを読み出し、プログラムの変化に
より、上記拡張レジスタセットを構成するレジスタセッ
トを変更する場合には上記基本中央演算処理装置内レジ
スタセットから上記レジスタファイル用メモリの上記拡
張レジスタセットへデータの退避を行なうことなく上記
レジスタファイル用メモリの上記拡張レジスタセットか
ら上記基本中央演算処理処理装置内レジスタセットへデ
ータの復帰のみを行うように動作制御を行う、拡張中央
演算処理装置において、上記制御手段は、外部から供給
される命令データに従い上記レジスタファイル用メモリ
の上記拡張レジスタセットから上記基本中央演算処理装
置内レジスタセットへデータの復帰を行なうとき、上記
基本中央演算処理装置内レジスタセット又は拡張レジス
タセットを構成するレジスタの内、上記復帰動作を行う
レジスタを上記命令データに従い選択するレジスタ選択
手段を備え、上記制御手段は上記レジスタ選択手段が選
択したレジスタに対し上記復帰動作を行なうことを特徴
とする。
【0028】このように構成することでレジスタファイ
ル用メモリの拡張レジスタセットを構成するレジスタセ
ットから基本CPU内レジスタセットへデータが復帰さ
れるとき、レジスタファイル用メモリの拡張レジスタセ
ットのレジスタセット内のデータと基本CPU内レジス
タセット内のデータとが同一であるレジスタについては
復帰動作を行なう必要がないことから、レジスタ選択手
段は復帰動作を行なう必要のあるレジスタを選択する動
作を行う。よって、レジスタ選択手段は、復帰動作を行
う必要のないレジスタが含まれる場合には、既提案の拡
張CPUより演算処理速度を高速化するように作用す
る。
【0029】又、上記の構成に加え、レジスタファイル
用メモリの拡張レジスタセットから基本CPU内レジス
タセットへデータの復帰を行う場合に使用され、上記レ
ジスタファイル用メモリにおけるデータ読出領域の先頭
アドレスを示すデータを格納するアドレスデータ格納レ
ジスタと、上記基本中央演算処理装置と上記レジスタフ
ァイル用メモリとを接続する内部接続専用バスと、上記
集積回路装置の外部に設けられる外部構成素子と上記中
央演算処理装置とを接続する外部接続専用バスと、を備
えても良い。
【0030】このように構成することで、プログラムの
進行により基本CPU内レジスタセットの格納データを
変更する場合には、アドレスデータ格納レジスタに格納
されるデータを変更し、当該データにて指定される上記
レジスタファイル用メモリの拡張レジスタセットを構成
するレジスタセットよりデータを読み出し、基本CPU
内レジスタセットへ格納する。又、レジスタファイル用
メモリと基本CPU内レジスタセットとのデータ交換に
内部接続専用バスを介して行うことは、データ伝送を円
滑に行うように作用する。
【0031】さらに本発明は、少なくとも一つのレジス
タで構成される基本中央演算処理装置内レジスタセット
及び制御手段を有する基本中央演算処理装置と、上記基
本中央演算処理装置内レジスタセットの格納データ量と
同じデータ量のレジスタセットを複数備えた拡張レジス
タセットを有するレジスタファイル用メモリと、上記基
本中央演算処理装置と上記レジスタファイル用メモリと
を接続する内部接続専用バスと、を同一の集積回路装置
内に備え、上記制御手段の制御により、上記基本中央演
算処理装置内レジスタセットを構成するレジスタにデー
タを格納するときには上記内部接続専用バスを介して上
記レジスタファイル用メモリの上記拡張レジスタを構成
する一つのレジスタセット内のレジスタにも当該データ
を書き込むように動作制御を行う、拡張中央演算処理装
置において、プログラムの変化により上記拡張レジスタ
セットを構成するレジスタセットを変更する場合には上
記基本中央演算処理装置内レジスタセットを構成するレ
ジスタ毎に上記レジスタファイル用メモリの拡張レジス
タセットを構成する一レジスタセットのレジスタから上
記基本中央演算処理装置内レジスタセットのレジスタへ
データの復帰及び上記基本中央演算処理装置内レジスタ
セットを構成するレジスタから上記レジスタファイル用
メモリの拡張レジスタセットを構成する一レジスタセッ
トのレジスタへデータの書き込みを行なう復帰書込手段
と、を備えたことを特徴とする。
【0032】このように構成することで、制御手段は基
本CPU内レジスタセットにデータを格納するときには
レジスタファイル用メモリの拡張レジスタセットを構成
するレジスタセットにも同じデータを書き込むことよ
り、基本CPU内レジスタセットの格納データを変更す
るときには基本CPU内レジスタセットからレジスタフ
ァイル用メモリの拡張レジスタセットへ、基本CPU内
レジスタセットが現在格納しているデータを退避する必
要が無くなるように作用する。又、レジスタファイル用
メモリの拡張レジスタセットを構成するレジスタセット
間で記憶データの複写を行う場合、上述したように基本
CPU内レジスタセットの格納データとレジスタファイ
ル用メモリの拡張レジスタセットを構成するレジスタセ
ットの記憶データとは同一性がとられているから、復帰
書込手段は基本CPU内レジスタセットからレジスタフ
ァイル用メモリの拡張レジスタセットへデータの書き込
みを行うことで上記拡張レジスタセットを構成するレジ
スタセット間で記憶データの複写を行うよう作用する。
このように上記複写動作を行う場合、基本CPU内レジ
スタセットの格納データをレジスタファイル用メモリの
拡張レジスタセットへ退避する必要がないので、上記複
写動作を高速に行うことができる。又、復帰書込手段
は、基本CPU内レジスタセットの各レジスタ毎に復帰
あるいは書込みの動作を行うので、上記複写動作を行い
つつ、レジスタファイル用メモリの拡張レジスタセット
から基本CPU内レジスタセットへデータの復帰を行う
ように作用する。
【0033】又、上記構成に加え、上述したレジスタ選
択手段、アドレスデータ格納レジスタ、外部接続専用バ
ス、切換手段を備えるようにしても良い。
【0034】又、上記復帰書込手段は、上記制御手段の
制御により上記基本CPU内レジスタセットから上記レ
ジスタファイル用メモリの拡張レジスタセットへデータ
の送出を可能とする第1スイッチ手段と、上記制御手段
の制御により上記レジスタファイル用メモリの拡張レジ
スタセットから上記基本CPU内レジスタセットへデー
タの送出を可能とする第2スイッチ手段と、上記制御手
段の制御により上記レジスタファイル用メモリにおいて
上記第1スイッチ手段が動作状態となるときにデータの
書込信号を送出し、上記第2スイッチ手段が動作状態と
なるときに読出信号を送出する指示手段と、を備えて構
成することができる。又、上記第1及び第2スイッチ手
段は、上記制御手段が送出するリードライト信号により
オン、オフ動作を行なうよう構成することができる。
【0035】さらに本発明は、少なくとも一つのレジス
タで構成される基本中央演算処理装置内レジスタセット
及び制御手段を有する基本中央演算処理装置と、上記基
本中央演算処理装置内レジスタセットの格納データ量と
同じデータ量のレジスタセットを複数備えた拡張レジス
タセットを有するレジスタファイル用メモリと、上記基
本中央演算処理装置と上記レジスタファイル用メモリと
を接続する内部接続専用バスと、を同一の集積回路装置
内に備え、基本モードであって、上記制御手段の制御に
より、上記基本中央演算処理装置内レジスタセットを構
成するレジスタにデータを格納するときには上記内部接
続専用バスを介して上記レジスタファイル用メモリの拡
張レジスタセットを構成する一つのレジスタセット内の
レジスタにも当該データを書き込み、データを読み出す
ときには上記基本中央演算処理装置内レジスタセットを
構成するレジスタの格納データを読み出し、プログラム
の変化により上記拡張レジスタセットを構成するレジス
タセットを変更する場合には上記基本中央演算処理装置
内レジスタセットから上記内部接続専用バスを介して上
記レジスタファイル用メモリの拡張レジスタセットへデ
ータの退避を行うことなく上記レジスタファイル用メモ
リの上記拡張レジスタセットから上記基本中央演算処理
装置内レジスタセットへデータの復帰のみを行うように
動作制御を行う、拡張中央演算処理装置において、上記
制御手段の制御により、上記レジスタファイル用メモリ
の拡張レジスタセットに格納されているデータとは異な
るデータを上記基本中央演算処理装置内レジスタセット
を構成するレジスタに格納する動作である特別モードを
有することを特徴とする。
【0036】このように構成することで制御手段は、基
本CPU内レジスタセットにデータを格納する場合、レ
ジスタファイル用メモリの拡張レジスタセットへ同じデ
ータを格納させるのか否かを切り換えることもできるよ
うに作用する。
【0037】又、上記の構成に加え、上記レジスタ選択
手段、復帰書込手段、アドレスデータ格納レジスタを備
えても良い。
【0038】さらに、上記レジスタファイル用メモリは
シングルポート・タイプのRAMで、上記レジスタセッ
トはデュアルポート・タイプもしくはトリプルポート・
タイプのレジスタにて構成しても良い。
【0039】
【実施例】
第1の実施例;本発明の拡張CPUにおける第1の実施
例について、図1を参照し以下に説明する。尚、本実施
例の拡張CPUは、上記既提案の拡張CPUを改良した
ものであるので、図1において上記既提案の拡張CPU
の一実施例を表す図8に示される構成部分と同じ構成部
分については同じ符号を付し、その説明を省略する。
又、本実施例における拡張CPUにおける基本的な動作
は上記既提案の拡張CPUに大略同様であるので、以下
の説明では本実施例の特徴的な部分のみについて説明す
る。
【0040】本実施例では、プログラム変更時にレジス
タファイル用RAM5の拡張レジスタセットを構成する
あるレジスタセットから基本CPU内レジスタセット1
0へのデータ復帰時に、基本CPU内レジスタセット1
0を構成するレジスタでデータを取り込むレジスタを選
択するレジスタ選択部77をCPU70を構成する制御
部71に備えた。このようなレジスタ選択部77の入力
側には、本拡張CPUの外部に設けられる外部構成素子
に接続されている外部接続専用バス9が接続されるイン
タフェース73aの出力側が接続され、レジスタ選択部
77の出力側は命令デコーダ75に接続される。
【0041】このように構成される拡張CPUの動作に
ついて以下に説明する。外部構成素子より外部接続専用
バス9を介して命令データがインタフェース73aを介
して基本CPU70内の制御部71に供給される。該命
令データは、周知のようにオペコード及びオペランドよ
り構成されるが、オペランドにはプログラム変更時にお
けるCBNR4の新たな格納データの他に、上記復帰時
にデータ復帰を行なうレジスタを指定するデータである
“レジスタリストデータ”を含んでいる。そしてオペコ
ードは命令レジスタ74に供給され、上記レジスタリス
トデータはレジスタ選択部77に供給される。
【0042】命令レジスタ74及びレジスタ選択部77
の出力データは命令デコーダ75に供給され、実行部7
2への出力データに変換された後、実行部72へ送出さ
れる。よって、命令データが供給され、CBNR4の格
納データが「Rp」から「Rp+n」に変更されること
で、レジスタファイル用RAM5に記憶される拡張レジ
スタセットの内、例えばレジスタセットB用のデータが
基本CPU内レジスタセット10へ復帰されるが、この
際、復帰動作を行なうべきレジスタが指定される。具体
的に説明すると、図2に示すように、基本CPU内レジ
スタセット10が8つのレジスタR0なしいしR7から
構成されている場合、上記レジスタリストデータによ
り、レジスタR2及びR5ないしR7のみに対しレジス
タファイル用RAM5の拡張レジスタセットを構成する
レジスタセット内の該当するレジスタから復帰が行わ
れ、他のレジスタR0等については上記拡張レジスタセ
ットにおけるレジスタセットA用及びレジスタセットB
用におけるデータが同一のため復帰する必要がないので
復帰動作を行わない。尚、図2は、上述した説明に必要
な構成部分のみを図1より抜粋して記載したものであ
る。
【0043】このように、基本CPU内レジスタセット
10の格納データを変更する場合、該格納データの退避
を必要としない既提案の拡張CPUにおいて、さらに復
帰時に基本CPU内レジスタセット10を構成するレジ
スタに対してデータ復帰を行なうレジスタを選択するよ
う制御したので、基本CPU内レジスタセット10の格
納データを変更する必要のない場合、即ち変更前と変更
後で基本CPU内レジスタセット10の格納データに同
一データがある場合には、上記既提案の拡張CPUに比
べさらに演算処理速度を高速化することができる。
【0044】第2の実施例;本第2実施例における拡張
CPUにおける基本的な構成及び動作は上記既提案の拡
張CPUに大略同様であるので、以下の説明では本実施
例の特徴的な部分のみについて説明する。本第2実施例
では、レジスタファイル用RAM5の拡張レジスタセッ
トを構成するレジスタセット間でデータの複写を行なう
場合に該複写動作を高速に行なうことができるように構
成した。以下に第2実施例の一構成例について図5を参
照し説明する。尚、図5は、図1及び図3に示す基本C
PU70とレジスタファイル用RAM5との接続部分の
みを抜粋した図である。
【0045】基本CPU70に設けられる基本CPU内
レジスタセット10を構成する各レジスタは、本実施例
では16ビットのデータを格納するもので、各レジスタ
からは格納データがパラレルに供給送出され、図5には
1つのレジスタにおける3ビット分のデータの供給及び
送出にかかわる内部接続専用データバス8部分について
のみ記載している。よって、図示していないが実際には
1レジスタ当たり16本の内部接続専用データバス8が
設けられる。
【0046】上記内部接続専用データバス8に関する部
分の構成について、上記レジスタの1ビットデータ分に
ついて説明すると、上記レジスタにおけるビットデータ
出力端子はディスエイブル端子に後述のRWB信号が供
給される3ステートバッファ80に接続され、3ステー
トバッファ80の出力側は内部接続専用データバス8を
介してレジスタファイル用RAM5のデータ記憶素子の
入力側に接続されるとともに、レジスタファイル用RA
M5側に設けられ上記RWB信号がインバータ82にて
反転された反転RWB信号がディスエイブル端子に供給
される3ステートバッファ81の出力側に接続される。
又、上記レジスタにおけるビットデータ入力端子は3ス
テートバッファ80の出力側に接続される。一方、レジ
スタファイル用RAM5における上記記憶素子の出力側
は3ステートバッファ81の入力側に接続される。レジ
スタにおける他のビットデータ端子についても上述した
構成と同様に構成される。
【0047】又、レジスタファイル用RAM5には、入
力側に上記反転RWB信号及びクロック信号が供給さ
れ、レジスタファイル用RAM5へのデータの書き込み
を指示するライト信号を生成するNAND回路83と、
入力側に上記RWB信号及びクロック信号が供給され、
レジスタファイル用RAM5からのデータの読み出しを
指示するリード信号を生成するNAND回路84とが設
けられる。尚、上記RWB信号及び上記クロック信号は
CPU70内の制御部71にて生成される。
【0048】このように構成される拡張CPUの動作に
ついて以下に説明する。実行プログラムの変更により、
例えばレジスタファイル用RAM5の拡張レジスタセッ
トを構成するレジスタセットAにおけるレジスタR3の
格納データを拡張レジスタセットのレジスタセットBに
おけるレジスタR3に複写する場合、基本CPU内レジ
スタセット10のレジスタR3の格納データをレジスタ
ファイル用RAM5の拡張レジスタセットのレジスタセ
ットBにおけるレジスタR3へ書き込むことで、上記レ
ジスタファイル用RAM5の拡張レジスタセットのレジ
スタセットAから拡張レジスタセットのレジスタセット
BへレジスタR3についてデータが複写されたことにな
る。
【0049】この複写動作を行なう場合、基本CPU内
レジスタセット10にデータが書き込まれるときにはレ
ジスタファイル用RAM5の拡張レジスタセットを構成
するレジスタセットにも同一データを書き込むことより
レジスタファイル用RAM5の拡張レジスタセットを構
成するレジスタセットAと基本CPU内レジスタセット
10とのデータ内容は同一性があるので、基本CPU内
レジスタセット10のデータの退避は行なう必要がな
い。図6に示すように、レジスタR0ないしR2及びR
4については上記拡張レジスタセットのレジスタセット
Bから基本CPU内レジスタセット10へデータの復帰
動作が必要であるので、基本CPU70内の制御部71
からハイ(H)レベルのRWB信号を送出することで、
図5に示す基本CPU70側の3ステートバッファ80
のそれぞれはオフ状態となり、一方レジスタファイル用
RAM5側の3ステートバッファ81のそれぞれはオン
状態となり、さらにレジスタファイル用RAM5内のN
AND回路83からライト信号が送出される。よってレ
ジスタファイル用RAM5の拡張レジスタセットから基
本CPU内レジスタセット10へデータの書き込みが行
われる。尚、図6には、上記複写動作を説明するため、
図1から基本CPU70、基本CPU内レジスタセット
10、レジスタファイル用RAM5等の関係構成部分の
みを抜粋して示している。
【0050】一方、レジスタR3については、基本CP
U内レジスタセット10から上記拡張レジスタセットの
レジスタセットBへデータ送出を行なわねばならないの
で、上記制御部71からロー(L)レベルのRWB信号
が送出される。よって、上記3ステートバッファ80の
それぞれはオン状態となり、一方上記3ステートバッフ
ァ81のそれぞれはオフ状態となり、さらにレジスタフ
ァイル用RAM5内のNAND回路84からリード信号
が送出される。よって基本CPU内レジスタセット10
からレジスタファイル用RAM5の拡張レジスタセット
へデータの書き込みが行われる。したがって、上記拡張
レジスタセットのレジスタセットAのレジスタR3のデ
ータが上記拡張レジスタセットのレジスタセットBのレ
ジスタR3へ複写されたことになる。
【0051】よって、従来のレジスタファイル方式のC
PUにて複写動作を行なう場合、例えばテンポラリレジ
スタを設け、まずこのテンポラリレジスタにプログラム
A関係データにおける1レジスタ格納分のデータを格納
し、次に該テンポラリレジスタに格納されたデータをレ
ジスタファイル用RAMのプログラムB関係データの格
納領域へ書き込む動作を行なうが、複写するデータが複
数にわたる場合には上記の動作を相当する回数分実行す
る必要がある。一方、本実施例の拡張CPUではレジス
タファイル用RAMからCPU内レジスタへ複写するデ
ータを格納する必要がない分、上記複写動作を高速に実
行することができ、したがって、プログラム変更時のC
PUの演算処理速度を高速化することができる。
【0052】尚、上記第2の実施例に示した構成部分
に、上述した第1の実施例に示す構成部分を付加した構
成とすることも勿論可能である。このように構成した場
合には、第2の実施例は、第1の実施例における効果を
合わせ持つ、拡張CPUとなる。
【0053】第3の実施例;本発明の拡張CPUにおけ
る第3の実施例について、図3を参照し以下に説明す
る。尚、本実施例の拡張CPUは、上記既提案の拡張C
PUを改良したものであるので、図3において上記既提
案の拡張CPUの一実施例を表す図8に示される構成部
分と同じ構成部分については同じ符号を付し、その説明
を省略する。又、本実施例における拡張CPUにおける
基本的な動作は上記既提案の拡張CPUに大略同様であ
るので、以下の説明では本実施例の特徴的な部分のみに
ついて説明する。
【0054】上述したように既提案の拡張CPUでは、
基本CPU内レジスタセットを構成するレジスタにデー
タを格納するときには、常に、同一ICに備わるレジス
タファイル用RAM5の拡張レジスタセットを構成する
レジスタセットの該当するレジスタにも同じデータを書
き込んでいるが、第3実施例では、基本CPU内レジス
タセット10にデータを格納する場合、上記拡張レジス
タセットへデータを書き込むか否かを選択可能とし、そ
の切り換え制御を指示する切換部78を制御部71又は
実行部72に設けた。尚、以下の説明では切換部78を
制御部71に設けた場合を例にとる。
【0055】上記切換部78の入力側には、図3に示す
(a)のようにインタフェース73aの出力側が接続さ
れる場合、図3に示す(b)のようにCBNR4の出力
側が接続される場合、図3に示す(c)のように同一I
C6の外部と接続される外部端子が直接接続される場
合、図3に示す(f)のようにフラグ格納部85の出力
側が接続される場合の4通りの接続が考えられ、この内
のいずれか一つの接続が採用される。尚、上記フラグ格
納部85は、プロセッサ ステイタス レジスタ内に格納
される基本CPU70の実行状態を示すフラグデータ内
の所定のフラグデータを格納するもので、上記フラグ格
納部85が格納するデータは1ビットあるいは2ビット
程度のフラグデータであり、例えばラッチ回路にて構成
しても良い。又、図3では、フラグ格納部85は基本C
PU70内の実行部72に備わるように図示している
が、これに限るものではなく、制御部71内に設けても
よい。
【0056】このような切換部78の出力側は、図3に
示す(d)のように命令デコーダ75に接続される場
合、図3に示す(e)のようにCPU70とレジスタフ
ァイル用RAM5間のインタフェース73bに接続され
る場合が考えられ、この内のいずれかの接続が採用され
る。その他の構成については図8に示す場合と同じであ
り、説明を省略する。
【0057】このように構成される第3実施例における
拡張CPUの動作を以下に説明する。図3に示す(a)
の接続によればインタフェース73aを介して供給され
る命令データ内に、基本CPU内レジスタセット10へ
のデータ格納時においてレジスタファイル用RAM5へ
はデータを書き込む旨の、又は書き込まない旨のデータ
を含ませることで、当該命令データが供給された場合、
切換部78は命令デコーダ75を介してインタフェース
73bへ、又は直接インタフェース73bへその旨の信
号を送出する。インタフェース73bは、上記信号が供
給されることで基本CPU内レジスタセット10とレジ
スタファイル用RAM5とを遮断又は接続する。
【0058】尚、インタフェース73bによって基本C
PU内レジスタセット10とレジスタファイル用RAM
5との接続が遮断された場合には、基本CPU内レジス
タセット10にはレジスタファイル用RAM5の記憶デ
ータとは関係のない別個のデータが格納されることにな
る。
【0059】又、図3に示す(b)の場合のようにCB
NR4の出力側が切換部78に接続される場合は以下の
ように動作する。インタフェース73aを介して供給さ
れた命令データが命令デコーダ75にてデコードされ、
それによってCBNR4の格納データが特定値に書き換
えられる。尚、上記特定値とは、レジスタファイル用R
AM5の拡張レジスタセットにおけるレジスタセットの
先頭を表すデータ以外のデータである。CBNR4の格
納データが特定値に書き換えられることで、CBNR4
から上記特定値が切換信号として切換部78に供給され
る。よって、上述した場合と同様に切換部78は、命令
デコーダ75を介して又は直接にインタフェース73b
ヘその旨の信号を送出し、インタフェース73bによっ
てレジスタセット10とレジスタファイル用RAM5と
の接続、遮断が制御される。当該同一IC6に設けられ
る外部接続端子が直接切換部78の入力側に接続される
場合は、切換部78を外部から直接制御することで上述
した、インタフェース73bによってレジスタセット1
0とレジスタファイル用RAM5との接続、遮断が制御
される。
【0060】このように基本CPU内レジスタセット1
0は、同一ICに設けられるレジスタファイル用RAM
5と格納データの一貫性を保つ場合のみならず、レジス
タファイル用RAM5とは別個のデータを格納すること
もできるので、図4に示すように、例えばレジスタファ
イル用RAM5には拡張レジスタセットとして4組分の
レジスタセットの領域しかなく、あと1つのレジスタセ
ットを要するような場合、基本CPU内レジスタセット
10は、レジスタファイル用RAM5の拡張レジスタセ
ットに格納されているデータとは関係のないデータを格
納することができ、あたかもレジスタファイル用RAM
5は5組の拡張レジスタセット分の容量があると同様の
結果を得ることができる。又、インタフェース73aを
介して切換部78に信号を供給し、それによって切換部
78が制御信号を送出する場合には、CBNR4は関与
せず、CBNR4の格納データとは無関係に基本CPU
内レジスタセット10の格納データを元の格納データに
戻すことができる。
【0061】又、CBNR4の出力信号にて切換部78
が制御信号を送出する場合、CBNR4の格納データを
書き換えるためのデータはインタフェース73aに供給
される命令データ内に含まれているので、新たに命令を
追加する必要がなく、さらに基本CPU70がレジスタ
ファイル用RAM5と接続されているのか、外部記憶回
路と接続されているのかをCBNR4の格納データを参
照することで確認することができる。
【0062】又、外部からの信号により直接切換部78
を制御する場合、実行中のプログラムに関係なく、基本
CPU内レジスタセット10とレジスタファイル用RA
M5との接続、遮断を切り換えることができるので、演
算処理速度の高速化を図ることができる。
【0063】尚、上記第3の実施例に示す構成部分に、
上述した第1の実施例あるいは第2の実施例又は第1及
び第2の実施例にて示した構成部分を付加した、拡張C
PUを構成することも勿論可能である。このように構成
した場合には、上記第1ないし第3の実施例における効
果を有する、もしくは第1及び第3の実施例における効
果を有する、もしくは第2及び第3の実施例における効
果を有する、拡張CPUとなる。
【0064】尚、上記各実施例において、レジスタセッ
ト10は1組であることを前提としているが、これに限
るものではなく複数組設けることも勿論可能である。
又、上記各実施例において、レジスタファイル用RAM
5はシングルポートタイプとすることで回路規模を小さ
くすることができる点、及び基本CPU内レジスタセッ
ト10をデュアルポートもしくはトリプルポートタイプ
のレジスタで構成することで、演算処理速度がさらに向
上する点の効果は、既提案の拡張CPUの場合と同様で
ある。
【0065】
【発明の効果】以上詳述したように本発明によれば、基
本CPU内レジスタセットに格納されるデータと常に同
一のデータをレジスタファイル用メモリの拡張レジスタ
セットに保持することより、基本CPU内レジスタセッ
トの格納データ切換時には基本CPU内レジスタセット
の格納データをレジスタファイル用メモリの拡張レジス
タセットへ退避する必要がなく、レジスタファイル用メ
モリの拡張レジスタセットから基本CPU内レジスタセ
ットへの復帰動作のみを行えば良く、レジスタのデータ
切り換えを高速に行うことができ、さらに上記復帰動作
を行うレジスタを選択できるようにしたことより、レジ
スタファイル用メモリから復帰するデータと同じデータ
が基本CPU内レジスタセット内のレジスタに格納され
ている場合には復帰動作を行わないようにすることで復
帰に要する時間を短縮することができ、レジスタのデー
タ切換及び演算処理動作をより高速化することができる
という基本的効果がある。
【0066】さらに本発明によれば、基本CPU内レジ
スタセットを構成するレジスタ毎にレジスタファイル用
メモリの拡張レジスタセットを構成するレジスタセット
のレジスタから上記レジスタへデータの復帰及び上記基
本CPU内レジスタセットのレジスタから上記拡張レジ
スタセットのレジスタへデータの書き込みを行えるよう
にしたことより、上記基本的効果に加え、レジスタファ
イル用メモリの拡張レジスタセットのレジスタセット間
で記憶データの複写を行なう場合、複写するデータを格
納した基本CPU内レジスタセットを構成するレジスタ
の格納データを複写先の上記拡張レジスタセットの該当
レジスタへ書き込むことで複写動作が完了し、複写動作
を高速に行うことができ演算処理を高速化することがで
きる。
【0067】さらに本発明によれば、基本CPU内レジ
スタセットにデータを格納する際レジスタファイル用メ
モリにも記憶させるか否かを選択可能としたことより、
上記基本的効果に加え、基本CPU内レジスタセットは
レジスタファイル用メモリの拡張レジスタセットに記憶
されるデータとは異なるデータを格納することができ
る。
【0068】さらに、基本CPU内レジスタセットをデ
ュアル・ポートないしは、トリプル・ポートタイプと
し、レジスタファイル用メモリをシングル・ポートタイ
プとすることで、従来のデュアルポートあるいはトリプ
ルポートのレジスタファイル用メモリに対して、CPU
の処理速度を低下することなく、ハードウェアを低減す
ることができる。
【図面の簡単な説明】
【図1】 本発明の拡張CPUの第1実施例における構
成を示すブロック図である。
【図2】 本発明の拡張CPUの第1実施例の動作を説
明するための図である。
【図3】 本発明の拡張CPUの第3実施例における構
成を示すブロック図である。
【図4】 本発明の拡張CPUの第3実施例の動作を説
明するための図である。
【図5】 本発明の拡張CPUの第2実施例における構
成を示すブロック図である。
【図6】 本発明の拡張CPUの第2実施例の動作を説
明するための図である。
【図7】 既提案の拡張CPUにおける一実施例の構成
を示すブロック図である。
【図8】 図7に示す構成をさらに詳細に示したブロッ
ク図である。
【図9】 図7に示す拡張CPUの動作を説明するため
の図である。
【図10】 図7に示す拡張CPUの動作を説明するた
めの図である。
【図11】 (a)、(b)は、それぞれ従来の汎用レ
ジスタ方式のCPUにおける動作を説明するための図で
ある。
【図12】 従来のレジスタファイル方式のCPUにお
ける動作を説明するための図である。
【図13】 従来のレジスタファイル方式のCPUにお
ける構成の一例を示すブロック図である。
【図14】 従来のレジスタファイル方式のCPUにお
ける構成の他の例を示すブロック図である。
【符号の説明】
4…CBNR、5…レジスタファイル用RAM、6…同
一IC、8…内部専用アドレスバス、9…外部接続専用
バス、10…レジスタセット、70…CPU、71…制
御部、72…実行部、77…レジスタ選択部、78…切
換部、80及び81…3ステートバッファ、83及び8
4…NAND回路、85…フラグ格納部。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭62−196745(JP,A) 特開 昭63−80332(JP,A) 特開 平4−21028(JP,A) 特開 平1−161442(JP,A) 特開 昭63−156236(JP,A) 特開 平3−88041(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/30 - 9/355 G06F 9/40 - 9/42 G06F 9/46 G06F 12/00 - 12/06

Claims (18)

    (57)【特許請求の範囲】
  1. 【請求項1】 少なくとも一つのレジスタで構成される
    基本中央演算処理装置内レジスタセット及び制御手段を
    有する基本中央演算処理装置と、上記基本中央演算処理
    装置内レジスタセットの格納データ量と同じデータ量の
    レジスタセットを複数備えた拡張レジスタセットを有す
    るレジスタファイル用メモリと、を同一の集積回路装置
    内に備え、上記制御手段の制御により、上記基本中央演
    算処理装置内レジスタセットを構成するレジスタにデー
    タを格納するときには上記レジスタファイル用メモリの
    上記拡張レジスタセットを構成する一つのレジスタセッ
    ト内のレジスタにも当該データを書き込み、データを読
    み出すときには上記基本中央演算処理装置内レジスタセ
    ットを構成するレジスタの格納データを読み出し、プロ
    グラムの変化により、上記拡張レジスタセットを構成す
    るレジスタセットを変更する場合には上記基本中央演算
    処理装置内レジスタセットから上記レジスタファイル用
    メモリの上記拡張レジスタセットへデータの退避を行な
    うことなく上記レジスタファイル用メモリの上記拡張レ
    ジスタセットから上記基本中央演算処理処理装置内レジ
    スタセットへデータの復帰のみを行うように動作制御を
    行う、拡張中央演算処理装置において、 上記制御手段は、外部から供給される命令データに従い
    上記レジスタファイル用メモリの上記拡張レジスタセッ
    トから上記基本中央演算処理装置内レジスタセットへデ
    ータの復帰を行なうとき、上記基本中央演算処理装置内
    レジスタセット又は拡張レジスタセットを構成するレジ
    スタの内、上記復帰動作を行うレジスタを上記命令デー
    タに従い選択するレジスタ選択手段を備え、上記制御手
    段は上記レジスタ選択手段が選択したレジスタに対し上
    記復帰動作を行ない、 上記基本中央演算処理装置に備わり、上記レジスタファ
    イル用メモリの拡張レジスタセットを構成する一つのレ
    ジスタセットから上記基本中央演算処理装置内レジスタ
    セットへデータの復帰を行う場合に使用され、上記拡張
    レジスタセットにおいてデータを読み出すレジスタセッ
    トの先頭アドレスを示すデータを格納するアドレスデー
    タ格納レジスタと、 上記基本中央演算処理装置と上記レジスタファイル用メ
    モリとを接続する内部接続専用バスと、 上記拡張中央演算処理装置の外部に設けられる外部構成
    素子と上記拡張中央演算処理装置とを接続する外部接続
    専用バスと、 を備えたことを特徴とする拡張中央演算処理装置。
  2. 【請求項2】 少なくとも一つのレジスタで構成される
    基本中央演算処理装置内レジスタセット及び制御手段を
    有する基本中央演算処理装置と、上記基本中央演算処理
    装置内レジスタセットの格納データ量と同じデータ量の
    レジスタセットを複数備えた拡張レジスタセットを有す
    るレジスタファイル用メモリと、上記基本中央演算処理
    装置と上記レジスタファイル用メモリとを接続する内部
    接続専用バスと、を同一の集積回路装置内に備え、上記
    制御手段の制御により、上記基本中央演算処理装置内レ
    ジスタセットを構成するレジスタにデータを格納すると
    きには上記内部接続専用バスを介して上記レジスタファ
    イル用メモリの上記拡張レジスタを構成する一つのレジ
    スタセット内のレジスタにも当該データを書き込むよう
    に動作制御を行う、拡張中央演算処理装置において、 プログラムの変化により上記拡張レジスタセットを構成
    するレジスタセットを変更する場合には上記基本中央演
    算処理装置内レジスタセットを構成するレジスタ毎に上
    記レジスタファイル用メモリの拡張レジスタセットを構
    成する一レジスタセットのレジスタから上記基本中央演
    算処理装置内レジスタセットのレジスタへデータの復帰
    及び上記基本中央演算処理装置内レジスタセットを構成
    するレジスタから上記レジスタファイル用メモリの拡張
    レジスタセットを構成する一レジスタセットのレジスタ
    へデータの書き込みを行なう復帰書込手段と、 を備えたことを特徴とする拡張中央演算処理装置。
  3. 【請求項3】 上記制御手段は、外部から供給される命
    令データに従い上記レジスタファイル用メモリの上記拡
    張レジスタセットから上記基本中央演算処理装置内レジ
    スタセットへデータの復帰を行なうとき、上記基本中央
    演算処理装置内レジスタセット又は拡張レジスタセット
    を構成するレジスタの内、上記復帰動作を行うレジスタ
    を上記命令データに従い選択するレジスタ選択手段を備
    え、上記制御手段は上記レジスタ選択手段が選択したレ
    ジスタに対し上記復帰動作を行なうことを特徴とする請
    求項2記載の拡張中央演算処理装置。
  4. 【請求項4】 上記レジスタファイル用メモリの拡張レ
    ジスタセットを構成する一つのレジスタセットから上記
    基本中央演算処理装置内レジスタセットへデータの復帰
    を行う場合に使用され、上記拡張レジスタセットにおい
    てデータを読み出すレジスタセットの先頭アドレスを示
    すデータを格納するアドレスデータ格納レジスタと、 上記拡張中央演算処理装置の外部に設けられる外部構成
    素子と上記拡張中央演算処理装置とを接続する外部接続
    専用バスと、 を備えた、請求項2又は3記載の拡張中央演算処理装
    置。
  5. 【請求項5】 上記復帰書込手段は、上記制御手段の制
    御により上記基本中央演算処理装置内レジスタセットか
    ら上記レジスタファイル用メモリの拡張レジスタセット
    へデータの送出を可能とする第1スイッチ手段と、上記
    制御手段の制御により上記レジスタファイル用メモリの
    拡張レジスタセットから上記基本中央演算処理装置内レ
    ジスタセットへデータの送出を可能とする第2スイッチ
    手段と、上記制御手段の制御により上記レジスタファイ
    ル用メモリにおいて上記第1スイッチ手段が動作状態と
    なるときにデータの書込信号を送出し、上記第2スイッ
    チ手段が動作状態となるときに読出信号を送出する指示
    手段とを備えた、請求項2ないし4のいずれかに記載の
    拡張中央演算処理装置。
  6. 【請求項6】 上記第1及び第2スイッチ手段は、上記
    制御手段が送出するリードライト信号によりオン、オフ
    動作を行なう、請求項5記載の拡張中央演算処理装置。
  7. 【請求項7】 少なくとも一つのレジスタで構成される
    基本中央演算処理装置内レジスタセット及び制御手段を
    有する基本中央演算処理装置と、上記基本中央演算処理
    装置内レジスタセットの格納データ量と同じデータ量の
    レジスタセットを複数備えた拡張レジスタセットを有す
    るレジスタファイル用メモリと、上記基本中央演算処理
    装置と上記レジスタファイル用メモリとを接続する内部
    接続専用バスと、を同一の集積回路装置内に備え、基本
    モードであって、上記制御手段の制御により、上記基本
    中央演算処理装置内レジスタセットを構成するレジスタ
    にデータを格納するときには上記内部接続専用バスを介
    して上記レジスタファイル用メモリの拡張レジスタセッ
    トを構成する一つのレジスタセット内のレジスタにも当
    該データを書き込み、データを読み出すときには上記基
    本中央演算処理装置内レジスタセットを構成するレジス
    タの格納データを読み出し、プログラムの変化により上
    記拡張レジスタセットを構成するレジスタセットを変更
    する場合には上記基本中央演算処理装置内レジスタセッ
    トから上記内部接続専用バスを介して上記レジスタファ
    イル用メモリの拡張レジスタセットへデータの退避を行
    うことなく上記レジスタファイル用メモリの上記拡張レ
    ジスタセットから上記基本中央演算処理装置内レジスタ
    セットへデータの復帰のみを行うように動作制御を行
    う、拡張中央演算処理装置において、 上記制御手段の制御により、上記レジスタファイル用メ
    モリの拡張レジスタセットに格納されているデータとは
    異なるデータを上記基本中央演算処理装置内レジスタセ
    ットを構成するレジスタに格納する動作である特別モー
    ドを有することを特徴とする拡張中央演算処理装置。
  8. 【請求項8】 上記制御手段は、外部から供給される命
    令データに従い上記レジスタファイル用メモリの拡張レ
    ジスタセットから上記基本中央演算処理装置内レジスタ
    セットへデータの復帰を行なうとき、上記基本中央演算
    処理装置内レジスタセット又は拡張レジスタセットを構
    成するレジスタの内、上記復帰動作を行うレジスタを上
    記命令データに従い選択するレジスタ選択手段を備え、
    上記制御手段は上記レジスタ選択手段が選択したレジス
    タに対し上記復帰動作を行なう請求項7記載の拡張中央
    演算処理装置。
  9. 【請求項9】 プログラムの変化により上記拡張レジス
    タセットを構成するレジスタセットを変更する場合には
    上記基本中央演算処理装置内レジスタセットを構成する
    レジスタ毎に上記レジスタファイル用メモリの拡張レジ
    スタセットから上記基本中央演算処理装置内レジスタセ
    ットのレジスタへデータの復帰及び上記基本中央演算処
    理装置内レジスタセットを構成するレジスタから上記レ
    ジスタファイル用メモリの拡張レジスタセットを構成す
    るレジスタセットのレジスタへデータの書き込みを行な
    う復帰書込手段を備えた、請求項7記載の拡張中央演算
    処理装置。
  10. 【請求項10】 プログラムの変化により上記拡張レジ
    スタセットを構成するレジスタセットを変更する場合に
    は上記基本中央演算処理装置内レジスタセットを構成す
    るレジスタ毎に上記レジスタファイル用メモリの拡張レ
    ジスタセットから上記基本中央演算処理装置内レジスタ
    セットのレジスタへデータの復帰及び上記基本中央演算
    処理装置内レジスタセットを構成するレジスタから上記
    レジスタファイル用メモリの拡張レジスタセットを構成
    するレジスタセットのレジスタへデータの書き込みを行
    なう復帰書込手段を備えた、請求項8記載の拡張中央演
    算処理装置。
  11. 【請求項11】 上記レジスタファイル用メモリの拡張
    レジスタセットを構成する一つのレジスタセットから上
    記基本中央演算処理装置内レジスタセットへデータの復
    帰を行う場合に使用され、上記拡張レジスタセットにお
    いてデータを読み出すレジスタセットの先頭アドレスを
    示すデータを格納するアドレスデータ格納レジスタを備
    えた、請求項8又は10記載の拡張中央演算処理装置。
  12. 【請求項12】 上記制御手段は、上記基本モードと、
    上記特別モードとを切り換える切換手段を備えた、請求
    項7ないし11のいずれかに記載の拡張中央演算処理装
    置。
  13. 【請求項13】 上記切換手段は、上記中央演算処理装
    置へ外部から供給される命令データに従い、上記基本モ
    ードと上記特別モードとを切り換える、請求項12に記
    載の拡張中央演算処理装置。
  14. 【請求項14】 上記切換手段は、上記アドレスデータ
    格納レジスタの格納データに従い、上記基本モードと上
    記特別モードとを切り換える、請求項11記載の拡張中
    央演算処理装置。
  15. 【請求項15】 上記切換手段は、上記外部構成素子か
    ら直接供給される信号に従い、上記基本モードと上記特
    別モードとを切り換える、請求項12に記載の拡張中央
    演算処理装置。
  16. 【請求項16】 上記切換手段は、上記基本中央演算処
    理装置内に備わり当該基本中央演算処理装置の実行状態
    を示すフラグデータを格納するフラグデータ格納手段が
    送出する信号に従い上記基本モードと上記特別モードと
    を切り換える、請求項12に記載の拡張中央演算処理装
    置。
  17. 【請求項17】 上記レジスタファイル用メモリはシン
    グルポート・タイプのRAMである、請求項1ないし1
    6のいずれかに記載の拡張中央演算処理装置。
  18. 【請求項18】 上記基本中央演算処理装置内レジスタ
    セットはデュアルポート・タイプもしくはトリプルポー
    ト・タイプのレジスタにて構成される、請求項1ないし
    17のいずれかに記載の拡張中央演算処理装置。
JP03922892A 1992-02-26 1992-02-26 拡張中央演算処理装置 Expired - Fee Related JP3197045B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03922892A JP3197045B2 (ja) 1992-02-26 1992-02-26 拡張中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03922892A JP3197045B2 (ja) 1992-02-26 1992-02-26 拡張中央演算処理装置

Publications (2)

Publication Number Publication Date
JPH05241834A JPH05241834A (ja) 1993-09-21
JP3197045B2 true JP3197045B2 (ja) 2001-08-13

Family

ID=12547274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03922892A Expired - Fee Related JP3197045B2 (ja) 1992-02-26 1992-02-26 拡張中央演算処理装置

Country Status (1)

Country Link
JP (1) JP3197045B2 (ja)

Also Published As

Publication number Publication date
JPH05241834A (ja) 1993-09-21

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
US4949241A (en) Microcomputer system including a master processor and a slave processor synchronized by three control lines
JP4098241B2 (ja) プロセッサをコプロセッサに接続する方法及び装置
US20030120880A1 (en) System having read-modify-write unit
WO2007002408A2 (en) Computer processor pipeline with shadow registers for context switching, and method
JP3439033B2 (ja) 割り込み制御装置及びプロセッサ
JPH0193837A (ja) デバッグ用マイクロプロセッサ
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
US4095268A (en) System for stopping and restarting the operation of a data processor
US5696957A (en) Integrated circuit comprising a central processing unit for executing a plurality of programs
US6581120B1 (en) Interrupt controller
JPH10222367A (ja) ネスト可能な遅延分岐命令を有するマイクロプロセッサを備えたデータ処理装置及びそのマイクロプロセッサを動作させる方法
US5742842A (en) Data processing apparatus for executing a vector operation under control of a master processor
JP3197045B2 (ja) 拡張中央演算処理装置
JPH1083349A (ja) キャッシュ・メモリ・バンク制御装置
JP3670646B2 (ja) レジスタ転送オペレーション
JP3206960B2 (ja) 拡張中央演算処理装置
JP3077807B2 (ja) マイクロコンピュータシステム
EP0915416B1 (en) System for allowing a two word instruction to be executed in a single cycle and method therefor
JP3520372B2 (ja) メモリ制御ユニット並びに入出力制御ユニットの動作におけるクリティカル・パスの削除
JP2000029508A (ja) プログラマブルコントローラ
JP3097602B2 (ja) データ処理装置
JP2005275703A (ja) プロセッサ及びコンテキスト切り替え方法
US5768554A (en) Central processing unit
JP2622026B2 (ja) 中央処理装置におけるレジスタ書込制御方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080608

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090608

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100608

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110608

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees