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

拡張中央演算処理装置

Info

Publication number
JPH05265753A
JPH05265753A JP12354592A JP12354592A JPH05265753A JP H05265753 A JPH05265753 A JP H05265753A JP 12354592 A JP12354592 A JP 12354592A JP 12354592 A JP12354592 A JP 12354592A JP H05265753 A JPH05265753 A JP H05265753A
Authority
JP
Japan
Prior art keywords
register
data
processing unit
central processing
register set
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP12354592A
Other languages
English (en)
Other versions
JP3206960B2 (ja
Inventor
Shinichi Yamaura
慎一 山浦
Kazuhiko Hara
和彦 原
Keiichi Yoshioka
圭一 吉岡
Takashi Yasui
隆 安井
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 JP12354592A priority Critical patent/JP3206960B2/ja
Publication of JPH05265753A publication Critical patent/JPH05265753A/ja
Application granted granted Critical
Publication of JP3206960B2 publication Critical patent/JP3206960B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 レジスタ切換時間が速いレジスタ・ファイル
構成であり、かつハードウェアの増大を抑え、かつ処理
速度を向上させた拡張CPUを提供する。 【構成】 基本CPU7内にレジスタセット10を設
け、さらに当該基本CPUが備わる同一のIC上に上記
レジスタセット10の格納データを記憶するレジスタフ
ァイル用RAM5を設け、又、基本CPU7とRAM5
とを専用バス8にて接続しさらに基本CPUと外部素子
とを専用バス9にて接続したことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、中央演算処理装置であ
って、基本中央演算処理装置が備わる集積回路装置内に
レジスタファイル用メモリを有する拡張中央演算処理装
置に関する。
【0002】
【従来の技術】一般に中央演算処理装置(以下CPUと
称する)で、複数のソフトウェア処理(以下プログラムと
称する)が実行される場合、図14に示すように、CP
U内に備わり各プログラム単位における演算データ、ア
ドレスのポインタ等のデータを格納する汎用レジスタ1
aのデータ内容は、各プログラム毎に異なる。従って、
これら複数のプログラムを時分割して1つのCPU1を
用いて処理する際に、あるプログラムから別のプログラ
ムへとプログラムを切り換える場合には、まずCPU内
汎用レジスタ1aに現在格納されているデータをCPU
1とは別のチップに設けられる、例えばRAM(読出書
込可能メモリ)2内の所定領域へ格納(以下、このよう
な動作を退避と称する)し、続いて、次のプログラムに
必要な汎用レジスタ状態に設定するため、必要データが
記憶される上記RAM2の他の領域から必要なデータを
汎用レジスタ1aへ格納(以下、このような動作を復帰
と称する)する。通常は、上記退避、復帰動作はCPU
1が備えている命令を用いて、ソフトウェア的にRAM
2とCPU1との間で行なわれる。
【0003】例えばプログラムAからプログラムBに移
行する場合、RAM2内の領域であってプログラムAに
対応するデータを格納する領域2aに、CPU1のプロ
グラムAにおいて汎用レジスタ1aに格納されるデータ
を、CPU1に設けられるデータ入出力バスを用いて退
避し、続いてRAM2内の領域2bに格納されているプ
ログラムBのレジスタ状態を汎用レジスタ1aに復帰す
る。この際、CPU1のアーキテクチャ上で、退避、復
帰の対象となる汎用レジスタ1aの構成数が多いと退
避、復帰に要する時間(以下、レジスタ切換時間と称す
る)が増大し、CPUのプログラム処理速度が低下す
る。このレジスタ切換時間を短縮する手法として、レジ
スタ・ファイル方式が知られている。レジスタ・ファイ
ル方式とは、CPU自体には汎用レジスタを備えておら
ず、CPUが備わる同一のIC(集積回路)上にRAM
(以下、レジスタ・ファイル用RAMと称する)を配置し
て、該レジスタファイル用RAM上にCPUの汎用レジ
スタのセット(以下、レジスタセットと呼ぶ)を、1つ
以上複数を割り当てることで、CPUが備わるICとは
別個のICにて外付けされたメモリ(以下外部RAMと
記す)にアクセスする場合に比べて高速にアクセスでき
る同一IC上のレジスタ・ファイル用RAMにアクセス
することより、レジスタ切換時間を低減させる手法であ
る。尚、レジスタ・ファイル方式には、以下に示す2つ
の手法がある。
【0004】一の方式である方式1は、図15に示すよ
うに、CPU3内部に現在のプログラムで使用している
レジスタセットの先頭位置を示すポインタとなるアドレ
スポインタデータを格納するカレント・バンク・ナンバ
ー・レジスタ(以下CBNRと記す)4を備え、このCB
NR4の格納値をベースとして、プログラム中の命令で
指定されたレジスタ・ナンバーをオフセットとして加算
し、加算結果データをアドレスとして出力し、当該アド
レスが示すレジスタ・ファイル用RAM5のデータを汎
用レジスタ・データに相当するとして、アクセスする手
法である。ここでCPU3はデータ・アクセスに際し、
図16に示すように外部RAM、レジスタ・ファイル用
RAM5に共通のデータ・バス、アドレス・バスを使用
する。この手法は、CBNR4の内容を書き換えるだけ
で、複数のプログラムに対するレジスタセットの切り換
えが、可能となるため、プログラムの切り換えは高速と
なる。しかし、レジスタファイル用RAM5へのアクセ
スの度に、レジスタファイル用RAM5に対するアドレ
ス出力、およびデータのリード・ライトが必要となり、
1命令当たりの処理速度は低下する欠点がある。例えば
レジスタファイル用RAM5内のR0レジスタの格納デ
ータとR1レジスタの格納データとを加算し、上記R0
レジスタに格納する加算命令を実行するためには、表1
に示すように、6マシンサイクル必要である。尚、マシ
ンサイクルとは、CPU内動作における各ステージをい
う。
【0005】
【表1】
【0006】他方の方式である方式2では、図17に示
すように、方式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を提供することを目的とする。
【0010】
【課題を解決するための手段とその作用】本発明は、少
なくとも一つのレジスタで構成される、基本CPU内レ
ジスタセットを備えた基本CPUと、上記基本CPUが
備わる集積回路装置内に備わり、上記基本CPU内レジ
スタセットの格納データ量と同じデータ量のレジスタセ
ットを複数備えた拡張レジスタセットを有するレジスタ
ファイル用メモリと、を備えたことを特徴とする。
【0011】このように構成することで、本拡張CPU
は、従来の汎用レジスタ方式のCPUと、レジスタファ
イル方式のCPUとの特徴を合わせ持つ。
【0012】さらに本発明は、少なくとも一つのレジス
タで構成される、基本CPU内レジスタセットを備えた
基本CPUと、上記基本CPUが備わる集積回路装置内
に備わり、上記基本CPU内レジスタセットの格納デー
タ量と同じデータ量のレジスタセットを複数備えた拡張
レジスタセットを有するレジスタファイル用メモリと、
上記基本CPU内レジスタセットにデータを格納すると
きには上記レジスタファイル用メモリの上記拡張レジス
タセットにも当該データを書き込み、データを読み出す
ときには上記基本CPU内レジスタセットの格納データ
を読み出し、プログラムの変化により、上記拡張レジス
タセットを構成するレジスタセットを変更する場合には
上記基本CPU内レジスタセットから上記レジスタファ
イル用メモリの上記拡張レジスタセットへデータの退避
を行うことなく上記レジスタファイル用メモリの上記拡
張レジスタセットから上記基本CPU内レジスタセット
へデータの復帰のみを行うように動作制御を行う、上記
基本CPU内の制御手段と、を備えたことを特徴とす
る。
【0013】このように構成することで、基本CPU内
に組み込まれたマイクロプログラム及び制御手段によ
り、基本CPU内レジスタセット及びレジスタファイル
用メモリはともに同一データを格納することになる。よ
って、基本CPU内レジスタセット内のすべての格納デ
ータの変更を要するいわゆるバンクの変更を要すると
き、基本CPU内レジスタセットの格納データを退避す
る必要がなく、新たな格納データをレジスタファイル用
メモリから基本CPU内レジスタセットへ復帰する動作
のみを行えばよい。このように基本CPU内レジスタセ
ット及びレジスタファイル用メモリは、拡張CPUにお
けるプログラム処理時間を短縮するように作用する。
【0014】又、上記基本CPUに備わり、上記レジス
タファイル用メモリの拡張レジスタセットを構成する一
つのレジスタセットから上記基本CPU内レジスタセッ
トへデータの復帰を行う場合に使用され、上記拡張レジ
スタセットにおいてデータを読み出すレジスタセットの
先頭アドレスを示すアドレスポインタデータを格納する
アドレスデータ格納レジスタと、上記基本CPUと上記
レジスタファイル用メモリとを接続する内部接続専用バ
スと、上記基本CPUが備わる集積回路装置の外部に設
けられる構成素子と上記基本CPUとを接続する外部接
続専用バスと、を備え、上記制御手段は、上記拡張レジ
スタセットを構成するレジスタセットを変更するときに
は上記アドレスデータ格納レジスタのアドレスポインタ
データを書き換え、書き換えられたアドレスポインタデ
ータに基づき指定される上記レジスタファイル用メモリ
上のレジスタセットから上記基本中央演算処理装置内レ
ジスタセットへデータの復帰動作のみを行うようにする
こともできる。
【0015】このように構成したときには、基本CPU
内に構成されるマイクロプログラム及び制御手段によ
り、基本CPU内レジスタセット内のレジスタにデータ
を格納するときには、例えばRAMにて構成されるレジ
スタファイル用メモリにも当該データが書き込まれる。
又、プログラムの進行により基本CPU内レジスタセッ
トの格納データを変更するいわゆるバンクを変更する場
合には、アドレスデータ格納レジスタに格納されるアド
レスポインタデータを変更し、当該データにて指定され
る上記レジスタファイル用メモリの領域より記憶データ
を読み出し、上記基本CPU内レジスタセットへ格納す
る。このように、基本CPU内レジスタセットへデータ
を格納する際には上記レジスタファイル用メモリにも同
一データが書き込まれているので、基本CPU内レジス
タセットの格納データを変更する場合、基本CPU内レ
ジスタセットの格納データを退避させる必要はなくデー
タの復帰のみで済む。よって、本拡張CPUは退避時間
を省略でき処理速度の向上に作用する。
【0016】さらに、内部接続専用バス及び外部接続専
用バスは、基本CPUと上記レジスタファイル用メモリ
との情報交換及び上記基本CPUと外部構成素子との情
報交換を独立して行うことを可能とし、演算実行に際し
基本CPUが他の構成素子とアクセス中であることで演
算が中断することがないように作用し、処理速度の向上
に作用する。
【0017】さらに、上述したように基本CPUと上記
レジスタファイル用メモリとのアクセスは、データの書
き込み及び読み出しであり、これらは同時に行われるこ
とがないので、上記レジスタファイル用メモリはシング
ルポートタイプのもので十分である。よって、シングル
ポートメモリで構成可能であることは、バス本数の増加
を防ぎ、又、デュアルポートあるいはトリプルポートの
メモリを使用したときのように複雑な回路構成となるこ
ともなく、ハードウエアの増大を防ぐように作用する。
【0018】さらに、本発明は、レジスタファイル用メ
モリとアクセス可能なローカルレジスタ領域と上記レジ
スタファイル用メモリとアクセス不能のグローバルレジ
スタ領域とを有するグローバル・ローカルレジスタセッ
トを備えた基本CPUと、上記基本CPUが備わる集積
回路装置内に備わり、上記ローカルレジスタセットの格
納データ量と同じデータ量のレジスタセットを複数備え
た拡張レジスタセットを有するレジスタファイル用メモ
リと、上記基本CPUに備わり、上記レジスタファイル
用メモリの拡張レジスタセットを構成する一つのレジス
タセットから上記ローカルレジスタセットへデータの復
帰を行う場合に使用され、上記拡張レジスタセットにお
いてデータを読み出すレジスタセットの先頭アドレスを
示すアドレスポインタデータを格納するアドレスデータ
格納レジスタと、上記基本CPUと上記レジスタファイ
ル用メモリとを接続する内部接続専用バスと、上記基本
CPUが備わる集積回路装置の外部に設けられる構成素
子と上記基本CPUとを接続する外部接続専用バスと、
上記グローバルレジスタ領域の格納データを使用し演算
を実行するとき上記グローバルレジスタ領域に対してデ
ータの読み書きを行い、上記ローカルレジスタ領域の格
納データを使用し演算を実行するときであって上記ロー
カルレジスタ領域に対してデータの書き込みを行うとき
には当該データを上記レジスタファイル用メモリのレジ
スタセットにも書き込み、データを読み出すときには上
記ローカルレジスタ領域の格納データを読み出し、一
方、上記拡張レジスタセットを構成するレジスタセット
を変更するときには上記アドレスデータ格納レジスタの
アドレスポインタデータを書き換え書き換えられたアド
レスポインタデータに基づき指定される上記レジスタフ
ァイル用メモリ上のレジスタセットから上記ローカルレ
ジスタ領域へデータの復帰動作のみを行うよう動作制御
を行う、上記基本CPU内の制御手段と、を備えたこと
を特徴とする。
【0019】基本CPU内の制御手段の制御により、基
本CPU内レジスタセットを構成する一つもしくは複数
のローカルレジスタ領域にデータを格納するときには、
例えばRAMにて構成されるレジスタファイル用メモリ
にも当該データが書き込まれる。又、プログラムの進行
により基本CPU内レジスタセットのすべての格納デー
タを変更する、いわゆるバンクを変更する場合には、ア
ドレスデータ格納レジスタに格納されるデータを変更
し、当該データにて指定されるレジスタファイル用メモ
リ上のレジスタセットより記憶データを読み出し、ロー
カルレジスタ領域へ格納する。このように、ローカルレ
ジスタ領域へデータを格納する際には上記レジスタファ
イル用メモリにも同一データが書き込まれているので、
ローカルレジスタ領域の格納データを変更する場合、ロ
ーカルレジスタ領域の格納データを退避させる必要はな
くデータの復帰のみで済む。よって、本拡張CPUは退
避時間を省略でき処理速度の向上に作用する。
【0020】さらに、内部接続専用バス及び外部接続専
用バスは、基本CPUと上記レジスタファイル用メモリ
との情報交換及び上記基本CPUと外部構成素子との情
報交換を独立して行うことを可能とし、演算実行に際し
基本CPUが他の構成素子とアクセス中であることで演
算が中断することがないように作用し、処理速度の向上
に作用する。
【0021】さらに、上述したように基本CPUと上記
レジスタファイル用メモリとのアクセスは、データの書
き込み及び読み出しであり、これらは同時に行われるこ
とがないので、上記レジスタファイル用メモリはシング
ルポートタイプのもので十分である。よって、シングル
ポートメモリで構成可能であることは、バス本数の増加
を防ぎ、又、デュアルポートあるいはトリプルポートの
メモリを使用したときのように複雑な回路構成となるこ
ともなく、ハードウエアの増大を防ぐように作用する。
【0022】又、上記の構成ではレジスタセットとして
ローカルレジスタ領域及びグローバルレジスタ領域の二
種類を設けたが、レジスタセットは一種類としレジスタ
ファイル用メモリをRAM及びROMにて構成し、以下
のように構成しても良い。本発明は、基本CPU内レジ
スタセットを備えた基本CPUと、上記基本CPUが備
わる集積回路装置内に備わり、上記基本CPU内レジス
タセットとデータの読み書きが可能な第1メモリと、各
実行プログラムにおける共通データを格納し上記基本C
PU内レジスタセットに対して読み出し動作専用の第2
メモリとを備え、上記基本CPU内レジスタセットの格
納データ量と同じデータ量を有するレジスタセットを複
数備えた拡張レジスタセットを有するレジスタファイル
用メモリと、上記基本CPUと上記レジスタファイル用
メモリとを接続する内部接続専用バスと、上記基本CP
Uが備わる集積回路装置の外部に設けられる構成素子と
上記基本CPUとを接続する外部接続専用バスと、上記
基本CPU内レジスタセットにデータを格納するときに
は当該データを上記第1メモリにも書き込み、一方上記
レジスタファイル用メモリを構成するレジスタセットを
変更する場合には上記基本CPU内レジスタセットから
上記レジスタファイル用メモリの上記第1メモリへデー
タの退避を行うことなく上記レジスタファイル用メモリ
の上記第1及び第2メモリから上記基本CPU内レジス
タセットへデータの復帰のみを行うように動作制御を行
う、上記基本CPU内の制御手段と、を備えたことを特
徴とする。
【0023】このように構成することで、基本CPU内
レジスタセットのすべての格納データを変更する、バン
クを変更する場合、上述した、基本CPU内レジスタセ
ットを区分した場合と同様に、基本CPU内レジスタセ
ットの格納データを退避することなくレジスタファイル
用メモリの記憶データの復帰動作のみを行えばよく、処
理速度の向上に作用する。
【0024】さらに本発明は、一もしくは複数のレジス
タを有するレジスタセットを2組有する集合レジスタセ
ットを備えた、基本CPUと、上記基本CPUが備わる
集積回路装置内に備わり、上記集合レジスタセットの格
納データ量と同じデータ量のレジスタセットを複数備え
た拡張レジスタセットを有するレジスタファイル用メモ
リと、上記集合レジスタセットの2組のレジスタセット
と上記拡張レジスタセットとをそれぞれ別個に接続する
専用バスと、上記集合レジスタセットの各レジスタセッ
トへの格納データと同一データを上記拡張レジスタセッ
トにも書き込み上記集合レジスタセットの各レジスタセ
ットのすべての格納データを書き換えるときには上記拡
張レジスタセットより上記各専用バスを介して上記各レ
ジスタセットへそれぞれデータを転送するように、上記
専用バスに備わり上記専用バスにおけるデータ伝送のオ
ンオフ動作を行うスイッチと、上記基本CPU内の動作
制御を行う制御手段と、当該基本CPUが備わる集積回
路装置の外部に設けられる他の素子と上記基本CPUと
を接続する外部専用バスと、を備えたことを特徴とす
る。
【0025】このように構成することで制御手段は、集
合レジスタセットを構成する2組のレジスタセットにデ
ータを格納するときには専用バスに備わるスイッチをオ
ン状態とし、上記2組のレジスタセットへデータを格納
するとともに、当該レジスタセットが格納するデータと
同一データを例えばRAMにて構成されるレジスタファ
イル用メモリの拡張レジスタセットにも書き込む。又、
プログラムの進行により上記レジスタセットの格納デー
タのすべてを変更する、いわゆるバンクを変更する場合
には、上記制御手段は上記スイッチをオフ状態とし、上
記レジスタファイル用メモリの拡張レジスタセットより
それぞれの記憶データを上記2組のレジスタセットへそ
れぞれ専用バスを介して転送する。このように、レジス
タセットへデータを格納する際には上記レジスタファイ
ル用メモリにも同一データが書き込まれているので、レ
ジスタセットの格納データを変更する場合、レジスタセ
ットの格納データを退避させる必要はなくデータの復帰
のみで済む。又、上記レジスタセットとレジスタファイ
ル用メモリの各拡張レジスタセットとはそれぞれの専用
バスにて接続されているので上記レジスタファイル用メ
モリから集合レジスタセットを構成する2組の各レジス
タセットへのデータの転送は一度に行うことができる。
よって、本拡張CPUは退避時間を省略でき処理速度の
向上に作用する。
【0026】さらに、内部接続専用バス及び外部接続専
用バスは、基本CPUと上記レジスタファイル用メモリ
との情報交換及び上記基本CPUと外部構成素子との情
報交換を独立して行うことを可能とし、演算実行に際し
基本CPUが他の構成素子とアクセス中であることで演
算が中断することがないように作用し、処理速度の向上
に作用する。
【0027】さらに、上述したように基本CPUと上記
レジスタファイル用メモリとのアクセスは、データの書
き込み及び読み出しであり、これらは同時に行われるこ
とがないので、上記レジスタファイル用メモリはシング
ルポートタイプのもので十分である。よって、シングル
ポートのメモリで構成可能であることは、バス本数の増
加を防ぎ、又、デュアルポートあるいはトリプルポート
のメモリを使用したときのように複雑な回路構成となる
こともなく、ハードウエアの増大を防ぐように作用す
る。
【0028】
【実施例】
第1の実施例;本発明の拡張CPUの一実施例における
構成を図1に示す。基本的な構成としては、上述した図
17に示すCPUを含むICと同様であり、同じ構成部
分については同じ符号を付している。同一のIC内に基
本CPU7とレジスタファイル用RAM5を有し、基本
CPU7とレジスタファイル用RAM5、及び基本CP
U7と外部RAM等はそれぞれ独立した専用バス8及び
9にて接続される。又、基本CPU7は、任意の本数の
レジスタの集合体である基本CPU内の汎用レジスタセ
ット(以下、単にレジスタセットと記す。)10を内部
に1組設けており、上記レジスタファイル用RAM5は
レジスタセット10のデータを記憶する。尚、レジスタ
ファイル用RAM5には、従来どおり、上記レジスタセ
ットが複数割り当てられており、以下の説明ではレジス
タファイル用RAM5に割り当てられたレジスタセット
を総称して拡張レジスタセットと呼ぶ。又、レジスタセ
ット10内には、現在実行中のプログラムで使用されて
いるデータ群のレジスタファイル用RAM5における拡
張レジスタセットの先頭アドレスを示すアドレスポイン
タデータRpを格納するCBNR4が含まれる。尚、本
実施例においてレジスタセット10は、16本のレジス
タ,R0レジスタないしR15レジスタから構成されて
いる。又、レジスタセット10は、トリプル・ポートの
レジスタで構成され、任意の2つのレジスタに対してリ
ード動作を行うと同時に1つのレジスタに対してライト
動作を同時に実行可能である。又、基本CPU7とレジ
スタファイル用RAM5とが備わる、集積回路を以下、
拡張CPU6と呼ぶ。
【0029】又、基本CPU7の処理において、レジス
タセット10に格納されているデータのリード動作は基
本CPU7内部で行なわれ、命令実行によるレジスタセ
ット10へのデータのライト動作は、レジスタセット1
0の各レジスタ及び当該レジスタに対応するレジスタフ
ァイル用RAM5の任意のアドレスの両方についてライ
ト動作を行なう。尚、上述したリード及びライト動作
は、基本CPU7内に備わるマイクロプログラム及び制
御部にて実行される。従って、レジスタセット10が格
納するデータは、レジスタファイル用RAM5における
レジスタセット10の各レジスタに対応するアドレス上
のデータとの一貫性を常に保持している。又、レジスタ
ファイル用RAM5は、後述する理由によりシングル・
ポートのRAMで十分機能を果たすことができるので、
シングルポートのRAMを採用している。
【0030】このように構成される本拡張CPUのパイ
プライン動作について以下に説明する。例えばR5レジ
スタの格納データにR7の格納データを加算し、加算結
果データをR5レジスタに格納する命令を例に、当該命
令を命令1ないし4として4回繰り返し実行した場合の
マシンサイクルを図2に示す。図2において、横軸方向
における各区間が1マシンサイクルを示しており、例え
ば命令1の場合、1マシンサイクル目では命令のフェッ
チ及びそのデコードが行われる。2マシンサイクル目で
は、基本CPU7内のレジスタセット10がトリプルポ
ートにて構成されているので、上記R5レジスタ及びR
7レジスタの格納データのリード動作及び読み出した上
記データの加算動作が同じマシンサイクルにて実行さ
れ、3マシンサイクル目にてその加算結果データが上記
R5レジスタ及びレジスタファイル用RAM5内のR5
レジスタに対応するアドレスに格納される。このように
命令1は3マシンサイクルにて実行される。
【0031】命令2ないし命令4についても同様に3マ
シンサイクルにて命令が実行されるが、命令1について
1マシンサイクル目の動作が終了した時点で、基本CP
U7の命令読込部分は動作が終了し次の命令のフェッチ
が可能であり、よって2マシンサイクル目では命令2に
おける命令のフェッチ、デコード動作を実行する。この
ように、2マシンサイクル目では、命令1の演算動作
と、命令2の命令フェッチ、デコード動作とを同時に実
行することができる。
【0032】又、同様に、命令1について2マシンサイ
クル目の動作が終了した時点で、基本CPU7の演算部
分は動作が終了し次の命令における演算動作が可能であ
り、よって3マシンサイクル目では命令2における演算
動作を実行する。さらに、外部RAM等と接続する専用
バス9、及び基本CPU7とレジスタファイル用RAM
5とを接続する専用バス8を設けたこと、及び基本CP
U7内のレジスタセット10をトリプルポート・タイプ
を採用したことより、3マシンサイクル目では、命令1
の演算結果データのレジスタファイル用RAM5への書
き込み、命令2における演算動作、命令3における外部
からの命令のフェッチ、デコード動作を同時に実行する
ことができ、みかけ上、1命令が1マシンサイクルにて
実行されることになる。
【0033】又、レジスタ・ファイル用RAM5へのア
クセスは演算結果データの格納のみであり、即ち、1マ
シンサイクルで上記RAM5の所定アドレスへ書き込む
だけなので、従来のようなデュアル、トリプルポート等
の回路が大きいRAMを要せず、シングル・ポートRA
Mで充分である。よって、バスの増加や、複雑な回路を
備える必要がないことより、ハードウエアが増加するこ
ともなく、かつ上述のようにパイプライン処理を高速に
実行することができる。
【0034】次に、レジスタセット10に格納されるデ
ータを書き換える場合について図3を参照し説明する。
尚、図3には図1に示す基本CPU7及びレジスタファ
イル用RAM5の関連部分のみを示している。尚、レジ
スタセット10に格納されるデータを書き換えること
は、以下に説明するようにレジスタファイル用RAM5
の拡張レジスタセットの格納データを切り換えることに
なるので、上述した「レジスタセット10に格納される
データを書き換える」と同様の表現として、レジスタフ
ァイルを切り換える、と表現する場合もある。又、レジ
スタセット10のすべてのレジスタのデータを書き換え
ることを、バンクを切り換える、と表現する場合もある
(以下の各実施例においても同じ)。尚、バンクとは、
レジスタファイル用RAM5内の複数のレジスタセット
の各々を称し、又、レジスタセット番号に対応するもの
としてバンク番号が設定される。レジスタファイルを切
り換えるには、CBNR4に格納されているデータを書
き換えることで行われる。上述したように、レジスタセ
ット10の各レジスタにデータが格納される場合には、
同時にレジスタファイル用RAM5の対応する拡張レジ
スタセットにも同一のデータを書き込んでいることよ
り、レジスタファイルを切り換える場合、従来のように
CPU内の汎用レジスタの格納データを退避させる必要
がなく、レジスタファイル用RAM5の拡張レジスタセ
ットからレジスタセット10へのデータの復帰のみを行
えば良い。よって、レジスタ切換時間は上記復帰のみの
時間を要することになる。したがって、従来に比べレジ
スタ切換時間を短くでき、演算処理速度を高速可するこ
とができる。
【0035】レジスタファイルの切り換えについて具体
的に説明すると、レジスタファイル方式を採用する従来
のCPUにおいて、CPU内の汎用レジスタとして例え
ば32ビット長のレジスタを16本備え、外部アクセス
用のデータバス容量が16ビットで、2マシンサイクル
が1バスサイクルの従来のCPUでは、レジスタにおけ
る退避、復帰に要する切り換えには、 16[レジスタ本数]×(32[ビット長レジスタ]÷16
[ビット・バス幅])×2[マシンサイクル]×2[退避、復
帰]=128[マシンサイクル] が必要となる。尚、上記式で、[]内の記載は、単位あ
るいは注釈を示している(以下の式においても同じ)。
【0036】本発明の拡張CPU6において、基本CP
U7内のレジスタセット10の構成は上記CPUと同一
で全16本とし、基本CPU7とレジスタファイル用R
AM5間のアクセス用バスを32ビットとし、1マシン
サイクルでレジスタファイル用RAM5をアクセス可能
とすると、レジスタの切り換えは、 16[レジスタの本数]×(32[ビット長レジスタ]÷3
2[ビット・バス幅])×1[マシンサイクル]×1[復帰の
み]=16[マシンサイクル] となり、従来の8倍高速となる。
【0037】以上説明したように本実施例における拡張
CPUでは、基本CPU7内に備わるレジスタセット1
0をトリプルポートで構成し、基本CPU7とレジスタ
ファイル用RAM5とを専用バス8にて接続したこと
で、演算処理時間、いわゆるマシンサイクルを短縮で
き、さらに、レジスタファイルの切換時には基本CPU
7内レジスタセット10へデータの復帰動作のみを行え
ば良く、さらにCPU動作時間を短縮することができ
る。又、上述したように外部RAM等のアクセス用の外
部バスとレジスタファイル用RAMアクセス用バスを独
立、分離しているため、処理の並列化で高速のデータ転
送が可能となる。さらに、上述したように、レジスタセ
ットの復帰動作中は、基本CPU7の外部RAM等との
アクセス用バス9は、未使用であるので、次命令のフェ
ッチ等の動作が可能となり、CPUの処理の高速化を図
ることができる。
【0038】以上説明したように、本実施例の拡張CP
Uでは、従来の汎用レジスタ方式のCPUと同様に基本
CPU内にレジスタセットとしてレジスタを備え、かつ
当該CPUと同一チップ上にレジスタファイル用メモリ
をも備えているので、汎用レジスタ方式あるいはレジス
タファイル方式の両方式のCPUとして使用することが
でき汎用性を向上させることができる。
【0039】第2の実施例;本発明の拡張CPUの第2
の実施例における構成を図4に示す。基本的な構成とし
ては、上述した図17に示すCPUを含むICと同様で
あり、同じ構成部分については同じ符号を付している。
又、レジスタファイル用RAM5の構成は、以下に説明
する各実施例においても上述した第1の実施例にて説明
した構成と同一であり、同一の符号を付している。拡張
CPU106内に基本CPU107とレジスタファイル
用RAM5を有し、基本CPU107とレジスタファイ
ル用RAM5、及び基本CPU107と外部RAM等は
それぞれ独立した専用バス108及び109にて接続さ
れる。又、基本CPU107は、任意の本数のレジスタ
の集合体であるグローバル・ローカルレジスタセット
(以下、この第2実施例において単にレジスタセットと
記す。)110を内部に1組設けており、又、レジスタ
セット110内には現在実行中のプログラムで使用され
ている、後述するローカル・レジスタセット110bの
先頭アドレスを示すアドレスポインタデータを格納する
CBNR4が含まれる。
【0040】基本CPU107内のレジスタセット11
0は、1つあるいは複数のグローバル・レジスタから構
成されるグローバルレジスタセット110aと、1つあ
るいは複数のローカルレジスタから構成されるローカル
レジスタセット110bとの2つに分類される。例えば
図示するように、レジスタセット110を構成するR0
レジスタないしRmレジスタにてグローバルレジスタセ
ット110aを構成し、(Rm+1)ないしRnレジス
タにてローカルレジスタセット110bを構成する。各
グローバルレジスタには、複数のプログラム処理におい
て共通に使用される演算データ、ポインタ等のデータが
格納され、各ローカルレジスタには、複数のプログラム
処理において各プログラム毎に使用されるデータ、ポイ
ンタ等のデータが格納される。尚、レジスタセット11
0は、トリプル・ポートのレジスタで構成され、任意の
2つのレジスタに対してリード動作を行うと同時に1つ
のレジスタに対してライト動作を同時に実行可能であ
る。
【0041】また、基本CPU107の演算処理におい
て、レジスタセット110に格納されているデータ、即
ちグローバルレジスタセット110a及びローカルレジ
スタセット110bの格納データのリード動作は基本C
PU107内部で行なわれ、命令実行によるレジスタセ
ット110へのデータのライト動作は、グローバルレジ
スタセット110aについては基本CPU107内のグ
ローバルレジスタセット110aに対してのみ行ない、
ライト動作がローカルレジスタセット110bに対して
実行される場合は、基本CPU107内のローカルレジ
スタセット110bとローカルレジスタセット110b
に対応するレジスタファイル用RAM5の任意のアドレ
ス上の拡張レジスタセットの両方についてライト動作を
行なう。尚、上述したリード及びライト動作は、基本C
PU107内に備わり、通常の命令処理を制御するマイ
クロプログラム及び制御部によって制御される。従っ
て、ローカルレジスタセット110bのデータは、レジ
スタファイル用RAM5におけるローカルレジスタセッ
ト110bに相当するアドレス上の拡張レジスタセット
の格納データと一貫性を常に保持している。
【0042】このようにレジスタセット110を2つに
区分した理由は、各プログラムに共通するデータについ
て、レジスタファイル用RAM5への書込み及びレジス
タファイル用RAM5からの読出しは、動作が重複し不
要に動作時間を浪費することになるので、本実施例では
レジスタセット110を半分に分割し、レジスタファイ
ル用RAM5とアクセスするのは、各実行プログラムに
おいて異なるデータを格納するローカルレジスタセット
110bのみとし、レジスタ切換時間の短縮を図るため
である。又、レジスタファイル用RAM5は、後述する
理由によりシングル・ポートのRAMで十分機能を果た
すことができるので、シングルポートのRAMを採用し
ている。
【0043】このように構成される本拡張CPUのパイ
プライン動作について以下に説明する。例えばローカル
レジスタであるR5レジスタの格納データにローカルレ
ジスタであるR7の格納データを加算し、加算結果デー
タをローカルレジスタであるR5レジスタに格納する命
令を例に、当該命令を命令1ないし4として4回繰り返
し実行した場合のマシンサイクルを図2に示す。
【0044】図2において、横軸方向における各区間が
1マシンサイクルを示しており、例えば命令1の場合、
1マシンサイクル目では命令のフェッチ及びそのデコー
ドが行われる。2マシンサイクル目では、基本CPU1
07内のレジスタセット110がトリプルポートにて構
成されているので、上記R5レジスタ及びR7レジスタ
の格納データのリード動作及び読み出した上記データの
加算動作が同じマシンサイクルにて実行され、3マシン
サイクル目にてその加算結果データが上記R5レジスタ
及びレジスタファイル用RAM5内のR5レジスタに対
応するアドレスに格納される。このように命令1は3マ
シンサイクルにて実行される。
【0045】命令2ないし命令4についても同様に3マ
シンサイクルにて命令が実行されるが、命令1について
1マシンサイクル目の動作が終了した時点で、基本CP
U107の命令読込部分は動作が終了し次の命令のフェ
ッチが可能であり、よって2マシンサイクル目では命令
2における命令のフェッチ、デコード動作を実行する。
このように、2マシンサイクル目では、命令1の演算動
作と、命令2の命令フェッチ、デコード動作とを同時に
実行することができる。
【0046】又、同様に、命令1について2マシンサイ
クル目の動作が終了した時点で、基本CPU107の演
算部分は動作が終了し次の命令における演算動作が可能
であり、よって3マシンサイクル目では命令2における
演算動作を実行する。さらに、外部RAM等と接続する
専用バス109、及び基本CPU107とレジスタファ
イル用RAM5とを接続する専用バス108を設けたこ
と、及び基本CPU107内のレジスタセット110を
トリプルポート・タイプを採用したことより、3マシン
サイクル目では、命令1の演算結果データのレジスタフ
ァイル用RAM5への書き込み、命令2における演算動
作、命令3における外部からの命令のフェッチ、デコー
ド動作を同時に実行することができ、みかけ上、1命令
が1マシンサイクルにて実行されることになる。
【0047】又、レジスタファイル用RAM5へのアク
セスは演算結果データの格納のみであり、即ち、1マシ
ンサイクルで上記RAM5の所定アドレスへ書き込むだ
けなので、従来のようなデュアル、トリプルポート等の
回路が大きいRAMを要せず、シングル・ポートRAM
で充分である。よって、バスの増加や、複雑な回路を備
える必要がないことより、ハードウエアが増加すること
もなく、かつ上述のようにパイプライン処理を高速に実
行することができる。
【0048】次の演算例として、グローバルレジスタセ
ット110aに含まれるR0レジスタの格納データにロ
ーカルレジスタセット110bに含まれるR7レジスタ
の格納データを加算し、加算結果データをグローバルレ
ジスタセット110aのR0レジスタに格納する場合を
考える。この場合のマシンサイクルを図5に示す。本例
の場合も上述した例と同様に各命令が3マシンサイクル
にて実行されるが、上述した例と異なる点は加算結果デ
ータはグローバルレジスタに格納されることより、基本
CPU107がレジスタファイル用RAM5へアクセス
することはない。レジスタセット110としてトリプル
ポートタイプを採用しているので、本拡張CPUは、3
マシンサイクル目において、命令1におけるR0レジス
タへの演算結果データの格納と、命令2における演算動
作と、命令3における命令のフェッチ、デコードとが同
時に行え、例えば3マシンサイクル目にて命令1ないし
命令3が同時に実行可能であり、見掛け上、1命令が1
マシンサイクルにて実行される。
【0049】次に、レジスタファイルを切り換える場合
について図6を参照し説明する。尚、図6には図4に示
す基本CPU107及びレジスタファイル用RAM5の
関連部分のみを示している。レジスタファイルを切り換
えるには、CBNR4に格納されているデータを書き換
えることで行われる。上述したように、ローカルレジス
タセット110bの各レジスタにデータが格納される場
合には、同時にレジスタファイル用RAM5の拡張レジ
スタセットにも同一のデータを書き込んでいることよ
り、レジスタファイルを切り換える場合、従来のように
CPU内の汎用レジスタの格納データを退避させる必要
がなく、レジスタファイル用RAM5の拡張レジスタセ
ットからローカルレジスタセット110bへのデータの
復帰のみを行えば良い。よって、レジスタ切換時間は上
記復帰のみの時間を要することになる。したがって、従
来に比べレジスタ切換時間を短くでき、演算処理速度を
高速化することができる。尚、グローバルレジスタセッ
ト110aに格納されるデータについては、上述したよ
うに基本CPU107内で読み書きされるので、レジス
タファイルの切り換え動作には関係しない。
【0050】レジスタファイルの切り換えについて具体
的に説明すると、レジスタファイル方式を採用する従来
のCPUにおいて、CPU内の汎用レジスタとして例え
ば32ビット長のレジスタを16本備え、外部アクセス
用のデータバス容量が16ビットで、2マシンサイクル
が1バスサイクルの従来のCPUでは、レジスタにおけ
る退避、復帰に要する切り換えには、 16[レジスタ本数]×(32[ビット長レジスタ]÷16
[ビット・バス幅])×2[マシンサイクル]×2[退避、復
帰]=128[マシンサイクル] が必要となる。尚、上記式で、[]内の記載は、単位あ
るいは注釈を示している(以下の式においても同じ)。
【0051】本実施例における基本CPU107におい
て、基本CPU107内のレジスタセット110の構成
は上記CPUと同一で全16本とし、その内グローバル
レジスタ8本、ローカルレジスタ8本とし、基本CPU
107とレジスタファイル用RAM5間のアクセス用バ
スを32ビットとし、1マシンサイクルでレジスタファ
イル用RAM5をアクセス可能とすると、レジスタセッ
ト110の切り換えは、 8[ローカルレジスタの本数]×(32[ビット長レジス
タ]÷32[ビット・バス幅])×1[マシンサイクル]×1
[復帰のみ]=8[マシンサイクル] となり、従来の16倍高速となる。
【0052】以上説明したように本実施例における拡張
CPUでは、基本CPU107内に備わるレジスタセッ
ト110をトリプルポートで構成し、基本CPU107
とレジスタファイル用RAM5とを専用バス108にて
接続したことで、演算処理時間、いわゆるマシンサイク
ルを短縮でき、さらに、レジスタファイルの切換時には
基本CPU107内レジスタセット110へデータの復
帰動作のみを行えば良く、さらにCPU動作時間を短縮
することができる。さらに、本実施例では、レジスタセ
ット110を半分に分割し、レジスタファイル用RAM
5とアクセスするのはローカルレジスタ110bのみと
したので、さらにレジスタ切換時間の短縮を図ってい
る。又、上述したように外部RAM等のアクセス用の外
部バスとレジスタファイル用RAMアクセス用バスを独
立、分離しているため、処理の並列化で高速のデータ転
送が可能となる。さらに、上述したように、ローカルレ
ジスタの復帰動作中は、基本CPU107の外部RAM
等とのアクセス用バス109は、未使用であるので、次
命令のフェッチ等の動作が可能となり、CPUの処理の
高速化を図ることができる。
【0053】第3の実施例;本実施例におけるCPUの
構成を図7に示す。尚、図4と同じ構成部分については
同じ符号を付し、その説明を省略する。本実施例では、
基本CPU112内に設けられる基本CPU内レジスタ
セット(以下、この第3実施例において単にレジスタセ
ットと記す。)111は、上記第2の実施例のようにグ
ローバル及びローカルの2つの領域には区分されておら
ず、又、レジスタセット111にはCBNR4を設けて
いる。又、基本CPU112とバス108を介して接続
されるレジスタファイル用メモリ115は、RAMにて
構成されるレジスタファイル用RAM115aと、RO
M(読出専用メモリ)にて構成されるレジスタファイル
用ROM115bとから構成される。
【0054】レジスタファイル用メモリ115のアドレ
スのマッピングとしては、図8に示すように、1組のレ
ジスタセット111に対して、1本もしくは複数本のレ
ジスタをROMとRAMの連続したアドレス領域に割り
付ける。即ち、図8に示すように、CBNR4が格納す
る値Rpに対してレジスタファイル用メモリ115のア
ドレス(Rp+0)ないし(Rp+m)をレジスタファイ
ル用ROM115bに、アドレス(Rp+m+1)ないし
(Rp+n)までをレジスタファイル用RAM115aに
割り付ける。尚、レジスタファイル用RAM115a,
レジスタファイル用ROM115bは、上述したレジス
タファイル用RAM5における各レジスタセットに相当
するものである。又、レジスタファイル用RAM115
a,レジスタファイル用ROM115b,複数設けるよ
うにしてもよい。
【0055】又、上述した第2の実施例と同様に、基本
CPU112内のレジスタセット111はトリプル・ポ
ートのレジスタで構成され、任意の2つのレジスタのリ
ード動作を1つのレジスタのライト動作の実行が同時に
可能であり、又、レジスタファイル用ROM115bお
よびレジスタファイル用RAM115aは、上記第2の
実施例にて説明した理由と同じ理由によりシングル・ポ
ートのものを採用する。
【0056】又、基本CPU112の処理において、レ
ジスタファイル用RAM115aに対応する(Rm+
1)ないしRnレジスタのリードの動作は基本CPU1
12内部で行なわれ、一方、命令実行による上記(Rm
+1)ないしRnレジスタについてデータライト動作
は、上記(Rm+1)ないしRnレジスタと、(Rm+
1)ないしRnレジスタに対応するレジスタファイル用
RAM115a内の任意のアドレスの両方について、ラ
イト動作を行なう。従って、(Rm+1)ないしRnレ
ジスタに格納されるデータは、レジスタファイル用RA
M115a内の対応するアドレス上のデータと一貫性を
常に保持している。
【0057】レジスタファイル用ROM115bに対応
するR0ないしRmレジスタのリード動作は基本CPU
112内部で行なわれ、命令実行によるR0ないしRm
レジスタのデータライト動作は上記R0ないしRmレジ
スタのみに対してライト動作を行なう。よって、R0な
いしRmレジスタに格納されるデータは、レジスタファ
イル用ROM115b内の対応するアドレス上のデータ
とライト動作の発生時には異なる可能性がある。
【0058】このように構成される本実施例の拡張CP
Uのパイプライン動作について以下に説明する。例とし
て、レジスタファイル用RAM115a内のアドレスに
相当するR7レジスタの格納データに、レジスタファイ
ル用ROM115b内のアドレスに相当するR0レジス
タの格納データを加算し、加算結果データをR7レジス
タに格納する命令を考える。当該命令を命令1ないし4
とし、これらの命令を4回繰り返した場合のマシンサイ
クルを図9に示す。動作説明は、上記第2の実施例にお
いて図2を参照した場合と同様であり略説するが、本実
施例の拡張CPUにおいても、上述したように基本CP
U112とレジスタファイル用メモリ115とを専用バ
ス108にて接続し、基本CPU112と外部RAM等
とはバス109にて接続し、基本CPU内のレジスタセ
ット111はトリプルポートタイプを採用していること
より、上記第2の実施例の場合と同様に、各命令は3マ
シンサイクルにて実行され、例えば命令1について、3
マシンサイクル目において加算結果データはR7レジス
タ及びレジスタファイル用RAM115a内の対応する
アドレス部分の両方に書き込まれる。よって、本実施例
の拡張CPUにおいても、図9の例えば3マシンサイク
ル目に示すように、見掛け上1命令が1マシンサイクル
にて実行される。
【0059】第2の実施例の場合と同様に、レジスタフ
ァイル用RAM115aはシングルポートのもので十分
であり、又、レジスタファイル用RAM115aに対し
て、常に基本CPU112のレジスタの状態と同じデー
タが記憶されており、バンク切換時にはレジスタセット
111の格納データの退避の必要がなく、復帰のみで済
むことより、レジスタ切換時間は上記復帰のレジスタ切
換時間のみとなり高速動作可能となる。又、本実施例に
よる拡張CPUでは、各プログラム処理で使用される定
数データは、レジスタファイル用ROM115b中に保
持されており、レジスタファイル切換時において、CB
NR4の格納データRpを変更するだけで上記ROM1
15bから上記定数データを読み出すことができ、レジ
スタ切換時において復帰の処理のみを行えば良い。特
に、レジスタファイル用ROM115bに対応するCP
U内のR0ないしRmレジスタに格納されるデータにつ
いては、レジスタ切換時においてもレジスタファイル用
ROM115bへ退避されないので、各プログラム処理
で退避の必要のないデータをここに格納するように設定
すれば無駄なデータ退避を省略できる。
【0060】又、上記第2の実施例にて説明したような
グローバルレジスタ110aに上記定数データを格納す
る場合に比べ、本実施例ではR0ないしRmレジスタの
格納データがプログラムの実行に伴い変化した場合であ
っても、上記レジスタファイル用ROM115bよりデ
ータを復帰することで当初の格納データに容易に再設定
することができ、プログラム作成上上記定数データの変
化を考慮する必要がなくなり、プログラム作成における
自由度が向上するという利点を有する。
【0061】尚、第2の実施例にて説明した例と同じ例
において、本実施例の拡張CPUにおける動作速度をマ
シンサイクル数で示すと、第2の実施例ではレジスタフ
ァイル用メモリより復帰するレジスタ数はローカルレジ
スタ分の8本であったが、本実施例の拡張CPUではレ
ジスタファイル用ROM及びレジスタファイル用RAM
のそれぞれよりデータを復帰させるので、復帰させるレ
ジスタ数は16本になる。よって本実施例の拡張CPU
の動作に関するマシンサイクル数は、第2の実施例に比
べ8マシンサイクル増え、計16マシンサイクルとなる
が、従来のCPUによる128マシンサイクルに比べれ
ば本実施例の拡張CPUは格段に高速処理可能である。
【0062】第4の実施例;本実施例は、図10に示す
ように、上記第3の実施例の構成部分の一部を変化させ
たものであり、図7に示す構成部分と同じ構成部分につ
いては同じ符号を付し、その説明を省略する。本実施例
における拡張CPU116では、現在実行中のプログラ
ムで使用されているレジスタファイル用RAM115a
のレジスタセットの先頭アドレスを示すアドレスポイン
タデータRpを格納するCBNR4の他に、レジスタフ
ァイル用ROM115bのレジスタセットの先頭アドレ
スを示すアドレスポインタデータRp’を格納するCB
NR113を設けている。尚、CBNR4及び113
は、上記各実施例の場合と同様に、レジスタセット11
4内に含めることができる。
【0063】レジスタファイル用メモリ115のアドレ
スのマッピングとしては、図11に示すように、CBN
R113の格納データRp'を基準とする(Rp'+0)な
いし(Rp'+m)のアドレス領域をレジスタファイル用
ROM115bとし、この領域に基本CPU112内の
R0ないしRmレジスタを割り付け、CBNR4の格納
データRpを基準とする(Rp+0)ないし(Rp+(n−
m))のアドレス領域をレジスタファイル用RAM115
aとし、この領域に基本CPU112内の(Rm+1)
ないしRnレジスタを割り付ける。又、その他の構成は
上記第3の実施例と同一であるので、説明を省略する。
【0064】このように構成される本実施例の拡張CP
Uにおける動作は基本的に上記第3の実施例の拡張CP
Uと同様であり、レジスタファイルメモリの切換時間の
高速化や、各プログラムに共通するデータをレジスタフ
ァイル用ROM115bに書き込むことによる無駄なデ
ータの退避の省略による動作時間の高速化の効果を奏す
ることについても同様であるので、その説明を省略す
る。
【0065】特に本実施例の拡張CPUでは、さらに以
下のような効果を奏する。即ち、第3の実施例の拡張C
PUでは、レジスタファイル用メモリのアドレスを指定
するCBNR4が基本CPU112には一つしが備わっ
ていないため、レジスタファイル用メモリには常にレジ
スタファイル用ROMとレジスタファイル用RAMとが
対となって、これらが一組あるいは複数組設けられる。
よって、例えば複数のプログラムにおいてレジスタファ
イル用ROM115bの記憶データが同じである場合で
も上記ROM115bが複数設けられる。一方、本実施
例の拡張CPU116では、レジスタファイル用RAM
115aのアドレスを指定するポインタデータを格納す
るCBNR4と、レジスタファイル用ROM115bの
アドレスを指定するポインタデータを格納するCBNR
113とを設けているので、上記のような場合、各プロ
グラムに共通する共通データは一つのレジスタファイル
用ROM115bに記憶しておき、プログラムが変化し
共通データが必要な場合にはCBNR113のポインタ
データにより上記ROM115bのアドレスを指定する
ことで上記共通データを基本CPU112内のレジスタ
セットに復帰することができる。
【0066】このように、レジスタファイル用メモリ1
15において、上記レジスタファイル用ROM115b
に要するメモリ容量を小さくすることができるという効
果を奏するとともに、上記レジスタファイル用RAM1
15a及びレジスタファイル用ROM115bのマッピ
ングの自由度を向上させることができる。
【0067】以上説明したように、各実施例における拡
張CPUは、従来の汎用レジスタ方式のCPUと同様に
CPU内にレジスタセットとしてレジスタを備え、かつ
当該CPUと同一チップ上にレジスタファイル用メモリ
をも備えているので、汎用レジスタ方式あるいはレジス
タファイル方式の両方式のCPUとして使用することが
でき汎用性を向上させることができる。
【0068】第5の実施例;第5の実施例における構成
の一例を図12に示す。基本的な構成としては、上述し
た図17に示すCPUを含むICと同様であり、同じ構
成部分については同じ符号を付している。本実施例の拡
張CPUでは、拡張CPU206内に基本CPU207
とレジスタファイル用RAM5とを有し、基本CPU2
07とレジスタファイル用RAM5、及び基本CPU2
07と外部RAM等はそれぞれ独立した専用バスにて接
続される。即ち、基本CPU207とレジスタファイル
用RAM5とはコントロールバス211、アドレスバス
212及びデータバス213a,213bにて接続さ
れ、拡張CPU206とは別個に設けられる外部構成部
分(不図示)と基本CPU207とはコントロールバス
221、アドレスバス222、データバス223にて接
続される。
【0069】又、基本CPU207内には、例えば16
本のレジスタから構成される一組の集合レジスタセット
241、上記CBNR4、演算を実行する実行ユニット
242、基本CPU207内の構成部分の動作を制御す
る制御部243が設けられる。尚、集合レジスタセット
241は、それぞれ8本のレジスタにて2つのレジスタ
セット241a及び241bに分けられる。レジスタフ
ァイル用RAM5に接続されるデータバス213aは、
実行ユニット242及びレジスタセット241aに直接
接続され、一方データバス213bはレジスタセット2
41bに直接接続されるほか、制御部243が送出する
制御信号にてオン、オフ動作を行うスイッチ245を介
してレジスタセット241a及びデータバス213aに
接続される。
【0070】スイッチ245は、実行ユニット242か
らレジスタセット241a及び241bにデータが格納
される場合には、制御部243が送出する制御信号によ
りオン状態となる。よって、実行ユニット242は、デ
ータバス213aを介してレジスタセット241a及び
レジスタファイル用RAM5と接続状態となり、又、デ
ータバス213a,213b、スイッチ245を介して
レジスタファイル用RAM5と接続状態となる。一方、
基本CPU207が実行中のプログラムの進行により集
合レジスタセット241の格納データを書き換える必要
が生じた場合、スイッチ245は制御部243が送出す
る制御信号によりオフ状態となり、レジスタファイル用
RAM5はレジスタセット241a及び241bと接続
状態となる。
【0071】又、実行ユニット242とレジスタセット
241a、241bとは、それぞれバス246及び24
7にて接続され、又、制御部243はCBNR4、集合
レジスタセット241及び実行ユニット242に対して
それぞれ制御信号を送出する。又、レジスタファイル用
RAM5は、後述する理由によりシングルポートのRA
Mで十分機能を果たすことができるので、シングルポー
トのRAMを採用している。又、上述した各バス213
a,213b,246,247、レジスタセット241
a,241bのバス幅はそれぞれ32ビットとする。
【0072】このように構成される拡張CPUの動作を
以下に説明する。又、基本CPU207の処理におい
て、集合レジスタセット241に格納されているデータ
のリード動作は基本CPU207内部においてバス24
6,247を介して行なわれ、命令実行による集合レジ
スタセット241へのデータのライト動作は、制御部2
43が送出する制御信号にてスイッチ245をオン状態
とすることで、データバス213aを介してレジスタセ
ット241a、スイッチ245を介してレジスタセット
241bに対してそれぞれ行われるとともに、データバ
ス213a及び213bを介してレジスタファイル用R
AM5内においてレジスタセット241a,241bに
それぞれ相当するアドレス部分の拡張レジスタセットに
対してそれぞれ行われる。従って、集合レジスタセット
241の格納データは、レジスタファイル用RAM5に
おける集合レジスタセット241の相当するアドレス上
の拡張レジスタセットのデータとの一貫性を常に保持し
ている。尚、上述したリード及びライト動作は、基本C
PU207内の制御部243が送出する制御信号によっ
て制御される。
【0073】次に、集合レジスタセット241の格納デ
ータを切り換える場合について説明する。集合レジスタ
セット241の格納データを切り換えるには、CBNR
4に格納されているデータを書き換えることで行われ
る。上述したように、集合レジスタセット241の各レ
ジスタセットにデータが格納される場合には、同時にレ
ジスタファイル用RAM5の拡張レジスタセットにも同
一のデータを書き込んでいることより、集合レジスタセ
ット241の格納データを切り換える場合、従来のよう
にCPU内の汎用レジスタの格納データを退避させる必
要がなく、レジスタファイル用RAM5の拡張レジスタ
セットから集合レジスタセット241へのデータの復帰
のみを行えば良い。
【0074】上記復帰を行う場合には、制御部243が
送出する制御信号によりスイッチ245をオフ状態とす
ることでデータバス213a及び213bは独立した状
態となり、レジスタファイル用RAM5より読み出され
たデータは、データバス213aを介してレジスタセッ
ト241aに、データバス213bを介してレジスタセ
ット241bにそれぞれ転送される。即ち、上述したよ
にデータバス213a,213bはそれぞれ32ビット
幅にて構成しているので、64ビット分のデータがレジ
スタファイル用RAM5から集合レジスタセット241
へ一度に送出され、本実施例ではレジスタセット241
a及び241bを構成するレジスタ数は8本であるの
で、8サイクルで上記転送が終了する。
【0075】データバス213a及び213bのクロッ
クレートが外部構成部分へ接続されるデータバス223
のクロックレートの2倍で、上記データバス223のビ
ット幅が16ビットであるとした場合、集合レジスタセ
ット241を構成する計16本の32ビットレジスタへ
格納されるデータをデータバス223を介して上記外部
構成部分、例えばRAM等から転送ときのサイクル数
は、以下の式に示すように64サイクルとなる。 16(レジスタ数)×32(レジスタのビット幅)÷1
6(バス幅)×2(クロックレート)=61サイクル 尚、()内の記載は数字の注釈を示す。尚、実際には、
集合レジスタセット241の格納データの上記外部RA
Mへの退避時間も要することから、上記外部RAMとの
アクセスによるレジスタ格納データの切り換えには、1
28(=64×2)サイクルを要する。
【0076】一方、本実施例による拡張CPU206で
は以下の式に示すように上記サイクル数は8サイクルと
なる。 16(レジスタ数)×32(レジスタのビット幅)÷6
4(バス幅)=8サイクル 尚、()内の記載は数字の注釈を示す。このように本拡
張CPU206によれば従来のCPUに比べ16倍高速
に集合レジスタセットの格納データの切り換えを行うこ
とができ、演算処理速度を高速化することができる。
【0077】次に、拡張CPU206のパイプライン動
作について以下に説明する。尚、集合レジスタセット2
41は、トリプルポート・タイプにて構成されていると
する。集合レジスタセット241を構成するR0ないし
R15レジスタ内の例えばR0レジスタの格納データに
同R1レジスタの格納データを加算し、加算結果データ
を上記R5レジスタに格納する命令を例に、当該命令を
命令1ないし4として4回繰り返し実行した場合のマシ
ンサイクルを図13に示す。
【0078】図13において、横軸方向における各区間
が1マシンサイクルを示しており、例えば命令1の場
合、1マシンサイクル目では命令のフェッチ及びそのデ
コードが行われる。2マシンサイクル目では、基本CP
U207内の集合レジスタセット241がトリプルポー
トにて構成されているので、上記R0レジスタ及びR1
レジスタの格納データのリード動作及び読み出した上記
データの加算動作が同じマシンサイクルにて実行され、
3マシンサイクル目にてその加算結果データが上記R0
レジスタ及びレジスタファイル用RAM5内のR0レジ
スタに対応するアドレスに格納される。このように命令
1は3マシンサイクルにて実行される。
【0079】命令2ないし命令4についても同様に3マ
シンサイクルにて命令が実行されるが、命令1について
1マシンサイクル目の動作が終了した時点で、基本CP
U207の命令読込部分は動作が終了し次の命令のフェ
ッチが可能であり、よって2マシンサイクル目では命令
2における命令のフェッチ、デコード動作を実行する。
このように、2マシンサイクル目では、命令1の演算動
作と、命令2の命令フェッチ、デコード動作とを同時に
実行することができる。
【0080】又、同様に、命令1について2マシンサイ
クル目の動作が終了した時点で、基本CPU207の演
算部分は動作が終了し次の命令における演算動作が可能
であり、よって3マシンサイクル目では命令2における
演算動作を実行する。さらに、外部RAM等と接続する
専用バス221,222,223、及び基本CPU20
7とレジスタファイル用RAM5とを接続する専用バス
211,212,213a,213bを設けたこと、及
び基本CPU207内の集合レジスタセット241をト
リプルポート・タイプを採用したことより、3マシンサ
イクル目では、命令1の演算結果データのレジスタファ
イル用RAM5への書き込み、命令2における演算動
作、命令3における外部からの命令のフェッチ、デコー
ド動作を同時に実行することができ、みかけ上、1命令
が1マシンサイクルにて実行されることになる。
【0081】又、レジスタファイル用RAM5へのアク
セスは演算結果データの格納のみであり、即ち、1マシ
ンサイクルで上記RAM5の所定アドレスへ書き込むだ
けなので、従来のようなデュアル、トリプルポート等の
回路が大きいRAMを要せず、シングルポートRAMで
充分である。よって、バスの増加や、複雑な回路を備え
る必要がないことより、ハードウエアが増加することも
なく、かつ上述のようにパイプライン処理を高速に実行
することができる。
【0082】以上説明したように本実施例における拡張
CPU206では、集合レジスタセット241を二つに
区分し、それぞれのレジスタセット241a,241b
とレジスタファイル用RAM5とを専用バス213a,
213bにて接続したこと、レジスタファイルの切換時
には基本CPU207内の集合レジスタセット241へ
データの復帰動作のみを行えば良いことより、CPU動
作時間を短縮することができる。又、上述したように外
部RAM等のアクセス用の外部バスとレジスタファイル
用RAMアクセス用バスを独立、分離しているため、処
理の並列化で高速のデータ転送が可能となる。さらに、
上述したように、レジスタの復帰動作中は、基本CPU
207の外部RAM等とのアクセス用バス221,22
2,223は、未使用であるので、次命令のフェッチ等
の動作が可能となり、CPUの処理の高速化を図ること
ができる。
【0083】上述した各実施例に示されるような、基本
CPU内にレジスタセットを設け、さらに当該基本CP
Uと同一IC上にレジスタファイル用RAMを設け、さ
らに上記基本CPUとレジスタファイル用RAMとを専
用バスにて接続した拡張CPUにおいては、基本CPU
とレジスタファイル用RAMとは専用バスにて接続され
ることより上記拡張CPU内にレジスタファイル用RA
Mを設けるか否かは自由に選択可能となる。
【0084】即ち、従来レジスタファイル方式を採用す
るCPUと、レジスタファイル方式を採用しないCPU
とは根本的に動作が異なるため、それぞれのタイプのC
PUを目的別に使い分けていたが、本発明の拡張CPU
ではどちらの方式も選択することができ、上述したよう
に頻繁なプロセス切り換えを行うプログラムを実行する
ため、その切り換えを高速に行う必要があるCPUを選
択する場合には、同一のIC上にレジスタファイル用R
AMを設け、一方、演算処理速度よりもハードウエア規
模を小さくしたい場合にはレジスタファイル用RAMを
設けなければ良い。
【0085】拡張CPU内にレジスタファイル用RAM
を設けていない場合の拡張CPUの動作は、従来の汎用
レジスタ方式におけるCPUと同じであり、レジスタセ
ットの格納データの切り換えは上記拡張CPUの外部に
設けられる外部RAMとのアクセスによって行われる。
【0086】このように本実施例における拡張CPUに
よれば、レジスタファイル用RAMを上記拡張CPU内
に設けるか否かの選択のみで、使用方法に応じた適切な
CPUを得ることができる。よって半導体メーカにとっ
ては、特定用途向けのICに使用するCPUをその特定
IC用にその都度最初から設計する必要がなくなり、上
記の拡張CPUは特定用途向けのICに使用するCPU
として非常に適している。又、従来ユーザは所望する仕
様に近似する仕様を有するCPUを既存のCPUから選
択し使用していたが、本発明の拡張CPUによれば、ユ
ーザはレジスタファイルの使用の有無だけでなく、レジ
スタファイル用メモリのメモリサイズ構成も自由に選択
でき、所望する仕様のCPUを得ることができる利点も
ある。
【0087】尚、上述のように拡張CPU内にはレジス
タファイル用RAMを設けないようにしてもよいが、上
記レジスタファイル用RAMを上記拡張CPU内に設
け、図12に示すコントロールバス211、アドレスバ
ス212、データバス213a、データバス213bの
それぞれにCPUとレジスタファイル用RAMとの接
続、遮断を行うスイッチを設け、当該スイッチのオンオ
フ動作を制御部243が送出する制御信号にて行うよう
にして、従来の汎用レジスタ方式のCPUとレジスタフ
ァイル方式のCPUとを使い分けるようにしても良い。
【0088】尚、上述した各実施例において、レジスタ
セットは1組であることを前提としているが、これに限
るものではなく複数組設けることももちろん可能であ
る。
【0089】
【発明の効果】以上詳述したように本発明の拡張CPU
によれば、基本CPU内レジスタセットに格納されるデ
ータと常に同一のデータを複写によりレジスタファイル
用メモリに保持することより、基本CPU内レジスタセ
ットのデータ切換時には基本CPU内レジスタセットの
格納データを退避する必要がなく、復帰動作のみを行え
ば良く、基本CPU内レジスタセットのデータ切り換え
を高速に行うことができる。又、本発明の拡張CPUに
よれば、基本CPU内レジスタセットをデュアル・ポー
トないしは、トリプル・ポートとし、レジスタファイル
用メモリをシングル・ポートとすることで、従来のデュ
アルポートあるいはトリプルポートのレジスタ・ファイ
ル用メモリに対して、CPUの処理速度を低下すること
なく、ハードウェアを低減することができる。
【0090】さらに、本発明の拡張CPUによれば、基
本CPU内にグローバルローカルレジスタセットを備
え、その内のローカルレジスタセットに格納されるデー
タと常に同一のデータを複写によりレジスタファイル用
メモリに保持することより、ローカルレジスタセットの
データ切換時にはローカルレジスタセットの格納データ
を退避する必要がなく、復帰動作のみを行えば良く、レ
ジスタセットのデータの切り換えを高速に行うことがで
きる。
【0091】又、本発明の拡張CPUでは、基本CPU
内の全レジスタの格納データの退避、復帰を行うのでは
なく、ローカルレジスタセットへのデータの復帰だけで
レジスタセットの切り換えができることより、よりレジ
スタセットの切り換えを高速に行うことができる。
【0092】又、本発明の拡張CPUによれば、基本C
PU内のローカルレジスタセット及びグローバルレジス
タセットをデュアル・ポートないしは、トリプル・ポー
トとし、レジスタファイル用メモリをシングル・ポート
とすることで、従来のデュアルポートあるいはトリプル
ポートのレジスタ・ファイル用メモリに対して、CPU
の処理速度を低下することなく、ハードウェアを低減す
ることができる。
【0093】又、本発明の拡張CPUによれば、レジス
タファイル用メモリに第1メモリ及び第2メモリを備え
ることで例えば各プログラム処理で共通して使用される
定数データを上記第2メモリに記憶しておくことで、基
本CPU内レジスタセットの格納データを書き換えると
きにあっても上記定数データを退避する必要がないので
無駄なデータ退避を省略することができ、基本CPU内
レジスタセットの格納データの切り換えを高速に行うこ
とができる。さらに、基本CPU内レジスタセットを構
成するそれぞれのレジスタと上記レジスタファイル用メ
モリにおけるメモリ領域とを専用バスにて接続したこと
より、上記復帰動作は上記各レジスタに対して同時に行
え、より上記切換動作を高速に行うことができる。
【0094】さらに本発明の拡張CPUによれば、基本
CPU内に2組のレジスタセットを有する集合レジスタ
セットを備え、かつ基本CPUとレジスタファイル用メ
モリとを外部アクセスに対し倍サイズのレジスタファイ
ル用メモリアクセス用の専用バスにて接続したことよ
り、復帰の際のデータ転送速度が2倍となり、さらに拡
張CPU内にレジスタファイル用メモリを設けるか否か
を選択することが可能であり、特定用途のICに使用さ
れるCPUの設計を容易に行うことができる。
【図面の簡単な説明】
【図1】 本発明の拡張CPUにおける一実施例の構成
を示すブロック図である。
【図2】 図1に示す拡張CPUの動作を説明するため
の図である。
【図3】 図1に示す拡張CPUの動作を説明するため
の図である。
【図4】 本発明の拡張CPUにおける第2の実施例の
構成を示すブロック図である。
【図5】 図4に示す拡張CPUの動作を説明するため
の図である。
【図6】 図4に示す拡張CPUの動作を説明するため
の図である。
【図7】 本発明の拡張CPUにおける第3の実施例の
構成を示すブロック図である。
【図8】 図7に示す拡張CPUの動作を説明するため
の図である。
【図9】 図7に示す拡張CPUの動作を説明するため
の図である。
【図10】 本発明の拡張CPUにおける第4の実施例
の構成を示すブロック図である。
【図11】 図10に示す拡張CPUの動作を説明する
ための図である。
【図12】 本発明の拡張CPUにおける第5の実施例
の構成を示すブロック図である。
【図13】 図12に示す拡張CPUの動作を説明する
ための図である。
【図14】 (a)、(b)は、それぞれ従来の汎用レ
ジスタ方式のCPUにおける動作を説明するための図で
ある。
【図15】 従来のレジスタファイル方式のCPUにお
ける動作を説明するための図である。
【図16】 従来のレジスタファイル方式のCPUにお
ける構成の一例を示すブロック図である。
【図17】 従来のレジスタファイル方式のCPUにお
ける構成の他の例を示すブロック図である。
【符号の説明】
4…CBNR、 5…レジスタファイル用RAM、 7
…基本CPU、8、9…バス、 10…レジスタセッ
ト、 107…基本CPU、108、109…バス、
110a…グローバルレジスタ、110b…ローカルレ
ジスタ、 113…CBNR、115a…レジスタファ
イル用RAM、115b…レジスタファイル用ROM、
206…拡張CPU、207…基本CPU、 211…
コントロールバス、 212…アドレスバス、213a
…データバス、 213b…データバス、221…コン
トロールバス、 222…アドレスバス、223…デー
タバス、 241…レジスタセット、 242…実行ユ
ニット、243…制御部、 245…スイッチ、 24
6,247…バス。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 特願平4−10080 (32)優先日 平4(1992)1月23日 (33)優先権主張国 日本(JP) (72)発明者 安井 隆 東京都大田区中馬込1丁目3番6号 株式 会社リコー内

Claims (17)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12354592A JP3206960B2 (ja) 1991-05-17 1992-05-15 拡張中央演算処理装置

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP11304691 1991-05-17
JP11304791 1991-05-17
JP11304591 1991-05-17
JP1008092 1992-01-23
JP3-113045 1992-01-23
JP4-10080 1992-01-23
JP3-113047 1992-01-23
JP3-113046 1992-01-23
JP12354592A JP3206960B2 (ja) 1991-05-17 1992-05-15 拡張中央演算処理装置

Publications (2)

Publication Number Publication Date
JPH05265753A true JPH05265753A (ja) 1993-10-15
JP3206960B2 JP3206960B2 (ja) 2001-09-10

Family

ID=27519138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12354592A Expired - Fee Related JP3206960B2 (ja) 1991-05-17 1992-05-15 拡張中央演算処理装置

Country Status (1)

Country Link
JP (1) JP3206960B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2013232196A (ja) * 2012-04-30 2013-11-14 Apple Inc レジスタ初期化動作の最適化

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6086230B2 (ja) 2013-04-01 2017-03-01 日本電気株式会社 中央演算装置、情報処理装置、および仮想コア内レジスタ値取得方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JP2013232196A (ja) * 2012-04-30 2013-11-14 Apple Inc レジスタ初期化動作の最適化
US9430243B2 (en) 2012-04-30 2016-08-30 Apple Inc. Optimizing register initialization operations

Also Published As

Publication number Publication date
JP3206960B2 (ja) 2001-09-10

Similar Documents

Publication Publication Date Title
KR960001273B1 (ko) 단일칩 마이크로컴퓨터
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
US5696957A (en) Integrated circuit comprising a central processing unit for executing a plurality of programs
US7096307B2 (en) Shared write buffer in a peripheral interface and method of operating
JP3206960B2 (ja) 拡張中央演算処理装置
JP3705811B2 (ja) 再構成可能なプログラム状態語を有するマイクロコントローラ
US6298355B1 (en) Computer system
JPS6319058A (ja) メモリ装置
JP2568017B2 (ja) マイクロプロセッサ及びそれを使用したデータ処理システム
US4628450A (en) Data processing system having a local memory which does not use a directory device with distributed resident programs and a method therefor
JP3197045B2 (ja) 拡張中央演算処理装置
JPH05165641A (ja) シングルチップマイクロコンピュータ
JP2003186854A (ja) Simd型プロセッサ及びその検証装置
JP3201439B2 (ja) ダイレクト・メモリ・アクセス・制御回路
JPS63316237A (ja) レジスタ式演算処理装置
US6564303B1 (en) Dual port memory for digital signal processor
JPS6019816B2 (ja) マイクロプログラム制御アダプタ
JPH0261749A (ja) データ転送装置
JPH07302241A (ja) データプロセッサ
JPH033047A (ja) 演算機能付きメモリ
JPH0784963A (ja) Cpuを有する半導体集積回路
JPH03214275A (ja) 半導体集積回路
JPS6336346A (ja) バンク切替回路
JPH0481934A (ja) 情報処理装置
JPH04254985A (ja) Dram制御装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20070706

Year of fee payment: 6

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20080706

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

Year of fee payment: 8

Free format text: PAYMENT UNTIL: 20090706

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

Free format text: PAYMENT UNTIL: 20090706

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100706

Year of fee payment: 9

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

Year of fee payment: 10

Free format text: PAYMENT UNTIL: 20110706

LAPS Cancellation because of no payment of annual fees