JPH06309169A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH06309169A JPH06309169A JP5100755A JP10075593A JPH06309169A JP H06309169 A JPH06309169 A JP H06309169A JP 5100755 A JP5100755 A JP 5100755A JP 10075593 A JP10075593 A JP 10075593A JP H06309169 A JPH06309169 A JP H06309169A
- Authority
- JP
- Japan
- Prior art keywords
- register
- registers
- register file
- information
- bank switching
- 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
Links
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
(57)【要約】
【目的】 この発明は、レジスタバンクの切替え時間を
短縮した情報処理装置を提供することを目的とする。 【構成】 この発明は、グル−プ単位でレジスタの情報
の退避、回復が管理されるレジスタファイル2と、レジ
スタファイル2との間で専用バスを介して情報がグル−
プ単位で退避、回復される内蔵RAM3と、退避前後又
は回復前後に使用するレジスタをグル−プ単位で指定す
る情報に基づいて判別された退避前後又は回復前後に共
通に使用されるレジスタのみをグル−プ単位で退避又は
回復するバンク切替え制御回路1とを有し、バンク切替
え制御回路1、レジスタファイル2及び内蔵RAM3が
同一チップ上に形成されて構成される。
短縮した情報処理装置を提供することを目的とする。 【構成】 この発明は、グル−プ単位でレジスタの情報
の退避、回復が管理されるレジスタファイル2と、レジ
スタファイル2との間で専用バスを介して情報がグル−
プ単位で退避、回復される内蔵RAM3と、退避前後又
は回復前後に使用するレジスタをグル−プ単位で指定す
る情報に基づいて判別された退避前後又は回復前後に共
通に使用されるレジスタのみをグル−プ単位で退避又は
回復するバンク切替え制御回路1とを有し、バンク切替
え制御回路1、レジスタファイル2及び内蔵RAM3が
同一チップ上に形成されて構成される。
Description
【0001】
【産業上の利用分野】本発明はレジスタバンク機能を有
する情報処理装置のバンク切替えに関する。
する情報処理装置のバンク切替えに関する。
【0002】
【従来の技術】レジスタバンク切替えは、割り込みやサ
ブルーチンコールの際に行い、割り込み発生前もしくは
サブルーチンコールの前のCPU内部の汎用レジスタの
内容を一時的に退避したり、退避しておいた内容を汎用
レジスタに回復したりするのに使用される。
ブルーチンコールの際に行い、割り込み発生前もしくは
サブルーチンコールの前のCPU内部の汎用レジスタの
内容を一時的に退避したり、退避しておいた内容を汎用
レジスタに回復したりするのに使用される。
【0003】このようなレジスタバンク機能の実現方法
の一つとして、汎用レジスタの退避先にシングルチップ
コンピュータのオンチップ内蔵RAMを使用して行う方
法がある。この時、高速なバンク切替えを行うために、
CPUと内蔵RAMをバンク切替え用の専用バスで接続
しデータ転送を行う。
の一つとして、汎用レジスタの退避先にシングルチップ
コンピュータのオンチップ内蔵RAMを使用して行う方
法がある。この時、高速なバンク切替えを行うために、
CPUと内蔵RAMをバンク切替え用の専用バスで接続
しデータ転送を行う。
【0004】このような従来技術によるマイクロコンピ
ュータの構成図を図3に示す。
ュータの構成図を図3に示す。
【0005】図3において、マイクロコンピュータは、
CPU内部制御回路101とバンク切替え制御回路10
2とレジスタファイル(16ビット×16本,R0−R
15)103と内蔵RAM104から構成される。バン
ク切替え制御回路102には、バンクポインタレジスタ
(BP)105とオールドバンクポインタレジスタ(O
BP)106が含まれる。
CPU内部制御回路101とバンク切替え制御回路10
2とレジスタファイル(16ビット×16本,R0−R
15)103と内蔵RAM104から構成される。バン
ク切替え制御回路102には、バンクポインタレジスタ
(BP)105とオールドバンクポインタレジスタ(O
BP)106が含まれる。
【0006】バンク切替え制御回路102はCPU内部
制御回路101からバンク切替信号を受けとると、レジ
スタファイル103と内蔵RAM104の間のデータ転
送の制御を開始する。バンク切替え制御回路102は内
蔵RAM104へ、リードライト信号(BRW)、イネ
ーブル信号(BEN)の制御信号及びアドレス(BAD
(7:0))を出力して内蔵RAM104を制御する。
また、バンク切替え制御回路102はレジスタファイル
103へリードライト信号(RRW)、イネーブル信号
(REN)、セレクト信号(RSEL(1:0))を出
力してレジスタファイル103の動作を制御する。さら
に、レジスタファイル103と内蔵RAM104は64
ビットのバス(BNKBUS)で接続されている。
制御回路101からバンク切替信号を受けとると、レジ
スタファイル103と内蔵RAM104の間のデータ転
送の制御を開始する。バンク切替え制御回路102は内
蔵RAM104へ、リードライト信号(BRW)、イネ
ーブル信号(BEN)の制御信号及びアドレス(BAD
(7:0))を出力して内蔵RAM104を制御する。
また、バンク切替え制御回路102はレジスタファイル
103へリードライト信号(RRW)、イネーブル信号
(REN)、セレクト信号(RSEL(1:0))を出
力してレジスタファイル103の動作を制御する。さら
に、レジスタファイル103と内蔵RAM104は64
ビットのバス(BNKBUS)で接続されている。
【0007】バンクポインタレジスタ(BP)105
は、バンク切替え後のレジスタファイル103の内蔵R
AM104上の写像領域の開始位置を指示する。オール
ドバンクポインタレジスタ(OBP)106はバンク切
替え前のレジスタファイル103の写像領域の開始位置
を指示する。
は、バンク切替え後のレジスタファイル103の内蔵R
AM104上の写像領域の開始位置を指示する。オール
ドバンクポインタレジスタ(OBP)106はバンク切
替え前のレジスタファイル103の写像領域の開始位置
を指示する。
【0008】BP,OBPそれぞれは8×N(N=0,
1,2,.....)のバイトアドレスの値を保持し、
8バイト単位で内蔵RAM104上のアドレスを、レジ
スタファイル103の転送領域の開始位置として指定で
きる。
1,2,.....)のバイトアドレスの値を保持し、
8バイト単位で内蔵RAM104上のアドレスを、レジ
スタファイル103の転送領域の開始位置として指定で
きる。
【0009】このような構成において、割り込みやサブ
ルーチンコールが発生すると、CPU内部制御回路10
1はバンク切替え制御回路102にバンク切替信号をア
クティブにして出力し、バンク切替え制御回路102は
これを受けて、図4に示すように以下に示す動作を行
い、レジスタファイル103と内蔵RAM104との間
のデータ転送の制御を行う。
ルーチンコールが発生すると、CPU内部制御回路10
1はバンク切替え制御回路102にバンク切替信号をア
クティブにして出力し、バンク切替え制御回路102は
これを受けて、図4に示すように以下に示す動作を行
い、レジスタファイル103と内蔵RAM104との間
のデータ転送の制御を行う。
【0010】まず、第1のクロックサイクルでバンク切
替信号がアクティブになると、バンク切替え制御回路1
02はR0〜R3の64ビット分のデータをBNKBU
Sに出力するようレジスタファイル103に指示を出
し、内蔵RAM104に対してはBNKBUS上のデー
タを内蔵RAM104のOBP〜OBP+7のアドレス
を持つ領域に書き込むよう指示を出す。これにより、R
0〜R3のレジスタが内蔵RAM104のOBP〜OB
P+7の領域にストアされる。
替信号がアクティブになると、バンク切替え制御回路1
02はR0〜R3の64ビット分のデータをBNKBU
Sに出力するようレジスタファイル103に指示を出
し、内蔵RAM104に対してはBNKBUS上のデー
タを内蔵RAM104のOBP〜OBP+7のアドレス
を持つ領域に書き込むよう指示を出す。これにより、R
0〜R3のレジスタが内蔵RAM104のOBP〜OB
P+7の領域にストアされる。
【0011】次に、第2のクロックサイクルで、バンク
切替え制御回路102は、まずR4〜R7の64ビット
分のデータをBNKBUSに出力するようレジスタファ
イル103に指示を出し、内蔵RAM104に対しては
BNKBUS上のデータを内蔵RAM104のOBP+
8〜OBP+15のアドレスを持つ領域に書き込むよう
指示を出す。これにより、R4〜R7のレジスタが内蔵
RAM104のOBP+8〜OBP+15の領域にスト
アされる。
切替え制御回路102は、まずR4〜R7の64ビット
分のデータをBNKBUSに出力するようレジスタファ
イル103に指示を出し、内蔵RAM104に対しては
BNKBUS上のデータを内蔵RAM104のOBP+
8〜OBP+15のアドレスを持つ領域に書き込むよう
指示を出す。これにより、R4〜R7のレジスタが内蔵
RAM104のOBP+8〜OBP+15の領域にスト
アされる。
【0012】次に、第3のクロックサイクルで、バンク
切替え制御回路102は、まずR8〜R11の64ビッ
ト分のデータをBNKBUSに出力するようレジスタフ
ァイル103に指示を出し、内蔵RAM104に対して
はBNKBUS上のデータを内蔵RAM104のOBP
+16〜OBP+23のアドレスを持つ領域に書き込む
よう指示を出す。これにより、R8〜R11のレジスタ
が内蔵RAM104のOBP+16〜OBP+23の領
域にストアされる。
切替え制御回路102は、まずR8〜R11の64ビッ
ト分のデータをBNKBUSに出力するようレジスタフ
ァイル103に指示を出し、内蔵RAM104に対して
はBNKBUS上のデータを内蔵RAM104のOBP
+16〜OBP+23のアドレスを持つ領域に書き込む
よう指示を出す。これにより、R8〜R11のレジスタ
が内蔵RAM104のOBP+16〜OBP+23の領
域にストアされる。
【0013】次に、第4のクロックサイクルで、バンク
切替え制御回路102は、まずR12〜R15の64ビ
ット分のデータをBNKBUSに出力するようレジスタ
ファイル102に指示を出し、内蔵RAM104に対し
てはBNKBUS上のデータを内蔵RAM104のOB
P+24〜OBP+31のアドレスを持つ領域に書き込
むよう指示を出す。これにより、R12〜R15のレジ
スタが内蔵RAM104のOBP+24〜OBP+31
の領域にストアされる。
切替え制御回路102は、まずR12〜R15の64ビ
ット分のデータをBNKBUSに出力するようレジスタ
ファイル102に指示を出し、内蔵RAM104に対し
てはBNKBUS上のデータを内蔵RAM104のOB
P+24〜OBP+31のアドレスを持つ領域に書き込
むよう指示を出す。これにより、R12〜R15のレジ
スタが内蔵RAM104のOBP+24〜OBP+31
の領域にストアされる。
【0014】次に、第5のクロックサイクルで、バンク
切替え制御回路102は、内蔵RAM104に対しては
BP〜BP+7のアドレスにある64ビットのデータを
BNKBUSに出力するように指示を出し、レジスタフ
ァイル103に対してはBNKBUS上のデータをR0
〜R3に書き込むよう指示を出す。これにより、内蔵R
AM104のBP〜BP+7領域のデータがR0〜R3
にロードされる。
切替え制御回路102は、内蔵RAM104に対しては
BP〜BP+7のアドレスにある64ビットのデータを
BNKBUSに出力するように指示を出し、レジスタフ
ァイル103に対してはBNKBUS上のデータをR0
〜R3に書き込むよう指示を出す。これにより、内蔵R
AM104のBP〜BP+7領域のデータがR0〜R3
にロードされる。
【0015】次に、第6のクロックサイクルで、バンク
切替え制御回路102は、内蔵RAM104に対しては
BP+8〜BP+15のアドレスにある64ビットのデ
ータをBNKBUSに出力するように指示を出し、レジ
スタファイル103に対してはBNKBUS上のデータ
をR4〜R7に書き込むよう指示を出す。これにより、
内蔵RAM104のBP+8〜BP+15領域のデータ
がR4〜R7にロードされる。
切替え制御回路102は、内蔵RAM104に対しては
BP+8〜BP+15のアドレスにある64ビットのデ
ータをBNKBUSに出力するように指示を出し、レジ
スタファイル103に対してはBNKBUS上のデータ
をR4〜R7に書き込むよう指示を出す。これにより、
内蔵RAM104のBP+8〜BP+15領域のデータ
がR4〜R7にロードされる。
【0016】次に、第7のクロックサイクルで、バンク
切替え制御回路102は、内蔵RAM104に対しては
BP+16〜BP+23のアドレスにある64ビットの
データをBNKBUSに出力するように指示を出し、レ
ジスタファイル103に対してはBNKBUS上のデー
タをR8〜R11に書き込むよう指示を出す。これによ
り、内蔵RAM104のBP+16〜BP+23領域の
データがR8〜R11にロードされる。
切替え制御回路102は、内蔵RAM104に対しては
BP+16〜BP+23のアドレスにある64ビットの
データをBNKBUSに出力するように指示を出し、レ
ジスタファイル103に対してはBNKBUS上のデー
タをR8〜R11に書き込むよう指示を出す。これによ
り、内蔵RAM104のBP+16〜BP+23領域の
データがR8〜R11にロードされる。
【0017】最後に、第8のクロックサイクルで、バン
ク切替え制御回路102は、内蔵RAM104に対して
はBP+24〜BP+31のアドレスにある64ビット
のデータをBNKBUSに出力するように指示を出し、
レジスタファイル103に対してはBNKBUS上のデ
ータをR12〜R15に書き込むよう指示を出す。これ
により、内蔵RAM104のBP+24〜BP+31領
域のデータがR12〜R15にロードされる。
ク切替え制御回路102は、内蔵RAM104に対して
はBP+24〜BP+31のアドレスにある64ビット
のデータをBNKBUSに出力するように指示を出し、
レジスタファイル103に対してはBNKBUS上のデ
ータをR12〜R15に書き込むよう指示を出す。これ
により、内蔵RAM104のBP+24〜BP+31領
域のデータがR12〜R15にロードされる。
【0018】このようにして、レジスタファイル103
の全内容のストアに4サイクル、レジスタファイル10
3の全内容のロードに4サイクル、総計8サイクルでレ
ジスタバンクの切替えが行われる。この時、内蔵RAM
104上のデータとレジスタファイルのデータ転送の様
子は図4に示すようになり、レジスタファイル103の
全内容が内蔵RAM104のOBPとOBP+31まで
の領域にストアされ、内蔵RAM104のBPからBP
+31の領域のデータがレジスタファイル103にロー
ドされる。
の全内容のストアに4サイクル、レジスタファイル10
3の全内容のロードに4サイクル、総計8サイクルでレ
ジスタバンクの切替えが行われる。この時、内蔵RAM
104上のデータとレジスタファイルのデータ転送の様
子は図4に示すようになり、レジスタファイル103の
全内容が内蔵RAM104のOBPとOBP+31まで
の領域にストアされ、内蔵RAM104のBPからBP
+31の領域のデータがレジスタファイル103にロー
ドされる。
【0019】一方、特開昭63−13842号公報なら
びに特開平2−173826号公報には、タスク切り換
えやサブルーチンの呼び出し等が発生した場合に、必要
なレジスタのみを退避、回復する情報処理装置が記載さ
れている。
びに特開平2−173826号公報には、タスク切り換
えやサブルーチンの呼び出し等が発生した場合に、必要
なレジスタのみを退避、回復する情報処理装置が記載さ
れている。
【0020】しかし、これらの情報処理装置は、汎用レ
ジスタの構造がバンク構造でなく、個々のレジスタ毎に
退避、回復の制御を行なっている。このため、退避、回
復の処理効率が悪く、処理能力の低下を招いていた。さ
らに、上記情報処理装置は、汎用レジスタの情報が退
避、回復される主記憶装置が汎用レジスタやCPUと同
一チップ上に形成されておらず、汎用レジスタと主記憶
装置間での情報の入出力に専用のバスやデータバスが必
要になっていた。
ジスタの構造がバンク構造でなく、個々のレジスタ毎に
退避、回復の制御を行なっている。このため、退避、回
復の処理効率が悪く、処理能力の低下を招いていた。さ
らに、上記情報処理装置は、汎用レジスタの情報が退
避、回復される主記憶装置が汎用レジスタやCPUと同
一チップ上に形成されておらず、汎用レジスタと主記憶
装置間での情報の入出力に専用のバスやデータバスが必
要になっていた。
【0021】このため、専用バスを設ける場合には、汎
用レジスタを含むチップと主記憶装置を含むチップの別
々のチップ間にバスを設けなければならず、転送データ
のビット数が多くなると、専用バスの形成が困難になっ
ていた。一方、情報処理装置に備えられたデータバスを
使用する場合には、汎用レジスタの退避、回復が行われ
る際にデータバスが専有され、他のデータ転送ができ
ず、処理効率の低下を招いていた。
用レジスタを含むチップと主記憶装置を含むチップの別
々のチップ間にバスを設けなければならず、転送データ
のビット数が多くなると、専用バスの形成が困難になっ
ていた。一方、情報処理装置に備えられたデータバスを
使用する場合には、汎用レジスタの退避、回復が行われ
る際にデータバスが専有され、他のデータ転送ができ
ず、処理効率の低下を招いていた。
【0022】
【発明が解決しようとする課題】以上説明したように、
図3及び図4に示す従来の情報処理装置にあっては、同
一チップ上にある内蔵RAMと専用バスを介してデ−タ
転送することによりレジスタファイルのすべての内容を
退避、回復していた。このため、退避、回復のために多
くの時間が必要となり、バンク切替えを必要とする処理
の処理効率が低下するという不具合を招いていた。
図3及び図4に示す従来の情報処理装置にあっては、同
一チップ上にある内蔵RAMと専用バスを介してデ−タ
転送することによりレジスタファイルのすべての内容を
退避、回復していた。このため、退避、回復のために多
くの時間が必要となり、バンク切替えを必要とする処理
の処理効率が低下するという不具合を招いていた。
【0023】一方、特開昭63−138432号公報や
特開平2−173826号公報に開示された情報処理装
置にあっては、個々のレジスタ毎に退避、回復が制御さ
れていたとともに、汎用レジスタと主記憶装置が1チッ
プ化されていないため、転送効率の低下や転送バスの形
成が困難になるという不具合を招いていた。
特開平2−173826号公報に開示された情報処理装
置にあっては、個々のレジスタ毎に退避、回復が制御さ
れていたとともに、汎用レジスタと主記憶装置が1チッ
プ化されていないため、転送効率の低下や転送バスの形
成が困難になるという不具合を招いていた。
【0024】そこで、この発明は、上記に鑑みてなされ
たものであり、その目的とするところは、レジスタファ
イルの退避、回復に要する時間を短縮して、処理能力の
向上を図った情報処理装置を提供することにある。
たものであり、その目的とするところは、レジスタファ
イルの退避、回復に要する時間を短縮して、処理能力の
向上を図った情報処理装置を提供することにある。
【0025】
【課題を解決するための手段】上記目的を達成するため
に、請求項1記載の発明は、レジスタファイルに含まれ
るレジスタがグル−プ化されて、グル−プ単位でレジス
タの情報の退避、回復が管理されるレジスタファイル
と、レジスタファイルとの間で専用バスを介してレジス
タの情報がグル−プ単位で退避、回復される記憶装置
と、退避前又は回復前に使用しているレジスタをグル−
プ単位で指定する情報及び退避後又は回復後に使用する
レジスタをグル−プ単位で指定する情報を保持し、保持
された情報に基づいてレジスタの退避前後又は回復前後
で共通に使用されるレジスタのグル−プを判別し、共通
に使用されるレジスタのみをグル−プ単位で退避又は回
復するバンク切替え制御手段とを有し、レジスタファイ
ル、記憶装置及びバンク切替え制御手段が同一チップ上
に形成されてされて構成される。
に、請求項1記載の発明は、レジスタファイルに含まれ
るレジスタがグル−プ化されて、グル−プ単位でレジス
タの情報の退避、回復が管理されるレジスタファイル
と、レジスタファイルとの間で専用バスを介してレジス
タの情報がグル−プ単位で退避、回復される記憶装置
と、退避前又は回復前に使用しているレジスタをグル−
プ単位で指定する情報及び退避後又は回復後に使用する
レジスタをグル−プ単位で指定する情報を保持し、保持
された情報に基づいてレジスタの退避前後又は回復前後
で共通に使用されるレジスタのグル−プを判別し、共通
に使用されるレジスタのみをグル−プ単位で退避又は回
復するバンク切替え制御手段とを有し、レジスタファイ
ル、記憶装置及びバンク切替え制御手段が同一チップ上
に形成されてされて構成される。
【0026】請求項2記載の発明は、請求項1記載の情
報処理装置において、退避又は回復前後で使用されるレ
ジスタのグル−プは、使用される上限又は下限のレジス
タ番号で指定され、使用されるレジスタの個数は、1サ
イクルタイムで退避、回復が可能なレジスタの個数の整
数倍で規定されて構成される。
報処理装置において、退避又は回復前後で使用されるレ
ジスタのグル−プは、使用される上限又は下限のレジス
タ番号で指定され、使用されるレジスタの個数は、1サ
イクルタイムで退避、回復が可能なレジスタの個数の整
数倍で規定されて構成される。
【0027】
【作用】上記構成において、請求項1記載の発明は、レ
ジスタファイル及び記憶装置が形成された同一チップ上
に形成される専用バスを介して、レジスタファイルと記
憶装置との間でグル−プ単位で情報の退避、回復を行う
ようにしている。
ジスタファイル及び記憶装置が形成された同一チップ上
に形成される専用バスを介して、レジスタファイルと記
憶装置との間でグル−プ単位で情報の退避、回復を行う
ようにしている。
【0028】
【実施例】以下、図面を用いてこの発明の実施例を説明
する。
する。
【0029】図1はこの発明の一実施例に係わる情報処
理装置の構成を示す図である。図1に示す実施例の情報
処理装置は、レジスタファイルがグル−プ化されて内蔵
RAMとデ−タの転送を行ってレジスタバンク切替えを
行うマイクロコンピュ−タにおいて、レジスタバンクの
切替え前後で共通に使用するレジスタに対してのみ退
避、回復を行うものであり、レジスタファイルの情報が
グル−プ単位で退避、回復される記憶装置となる内蔵R
AMとレジスタファイルとは、同一のチップ上に形成さ
れて1チップ化されている。
理装置の構成を示す図である。図1に示す実施例の情報
処理装置は、レジスタファイルがグル−プ化されて内蔵
RAMとデ−タの転送を行ってレジスタバンク切替えを
行うマイクロコンピュ−タにおいて、レジスタバンクの
切替え前後で共通に使用するレジスタに対してのみ退
避、回復を行うものであり、レジスタファイルの情報が
グル−プ単位で退避、回復される記憶装置となる内蔵R
AMとレジスタファイルとは、同一のチップ上に形成さ
れて1チップ化されている。
【0030】図1において、この実施例の装置はバンク
切替え制御回路1と図3に示すレジスタファイルと同様
なレジスタファイル2(16ビット×16本)と内蔵R
AM3から構成されている。バンク切替え制御回路1に
は、バンクサイズレジスタ(BS)4とバンクポインタ
レジスタ(BP)5とオールドバンクサイズレジスタ
(OBS)6とオールドバンクポインタレジスタ(OB
P)7とデータ転送回数レジスタ(CNTR)8が含ま
れる。バンク切替え制御回路1はバンク切替信号を受け
とると、レジスタファイル2と内蔵RAMの間のデータ
転送の制御を行う。バンク切替え制御回路1から内蔵R
AM3へは、リードライト信号(BRW)、イネーブル
信号(BEN)の制御信号及びアドレス(BAD(7:
0))が供給される。バンク切替え制御回路1からレジ
スタファイル2へは、リードライト信号(RRW)、イ
ネーブル信号(REN)、セレクト信号(RSEL
(1:0))が供給される。また、レジスタファイル2
と内蔵RAM3は64ビットのバス(BNKBUS)で
接続されている。
切替え制御回路1と図3に示すレジスタファイルと同様
なレジスタファイル2(16ビット×16本)と内蔵R
AM3から構成されている。バンク切替え制御回路1に
は、バンクサイズレジスタ(BS)4とバンクポインタ
レジスタ(BP)5とオールドバンクサイズレジスタ
(OBS)6とオールドバンクポインタレジスタ(OB
P)7とデータ転送回数レジスタ(CNTR)8が含ま
れる。バンク切替え制御回路1はバンク切替信号を受け
とると、レジスタファイル2と内蔵RAMの間のデータ
転送の制御を行う。バンク切替え制御回路1から内蔵R
AM3へは、リードライト信号(BRW)、イネーブル
信号(BEN)の制御信号及びアドレス(BAD(7:
0))が供給される。バンク切替え制御回路1からレジ
スタファイル2へは、リードライト信号(RRW)、イ
ネーブル信号(REN)、セレクト信号(RSEL
(1:0))が供給される。また、レジスタファイル2
と内蔵RAM3は64ビットのバス(BNKBUS)で
接続されている。
【0031】バンクサイズレジスタ(BS)4はバンク
切替え後に使用可能なレジスタを、オールドバンクサイ
ズレジスタ(OBS)6はバンク切替え前に使用可能な
レジスタを指定する。BS,OBSはともに2ビットの
レジスタで、表1に示すように使用可能なレジスタを定
義する。
切替え後に使用可能なレジスタを、オールドバンクサイ
ズレジスタ(OBS)6はバンク切替え前に使用可能な
レジスタを指定する。BS,OBSはともに2ビットの
レジスタで、表1に示すように使用可能なレジスタを定
義する。
【0032】
【表1】 指定方法としては、サブルーチンコ−ルの場合には、ソ
フトウェアの実行による所定の命令によりそれぞれのレ
ジスタに情報がセットされる。一方、割込み処理の場合
には、割込み処理の前処理において割込みの内容が判別
されて、判別された内容に基づいて情報がそれぞれのレ
ジスタにセットされる。
フトウェアの実行による所定の命令によりそれぞれのレ
ジスタに情報がセットされる。一方、割込み処理の場合
には、割込み処理の前処理において割込みの内容が判別
されて、判別された内容に基づいて情報がそれぞれのレ
ジスタにセットされる。
【0033】データ転送回数レジスタ(CNTR)8に
は、BS4とOBS6の内容に従って、レジスタファイ
ル2と内蔵RAM3間のデータ転送の回数が設定され
る。
は、BS4とOBS6の内容に従って、レジスタファイ
ル2と内蔵RAM3間のデータ転送の回数が設定され
る。
【0034】バンクポインタレジスタ(BP)5は、バ
ンク切替え後のレジスタファイル2の内蔵RAM3上の
写像領域の開始位置を指示する。オールドバンクポイン
タレジスタ(OBP)7はバンク切替え前のレジスタフ
ァイル2の写像領域の開始位置を指示する。
ンク切替え後のレジスタファイル2の内蔵RAM3上の
写像領域の開始位置を指示する。オールドバンクポイン
タレジスタ(OBP)7はバンク切替え前のレジスタフ
ァイル2の写像領域の開始位置を指示する。
【0035】BP5,OBP7は8×N(N=0,1,
2.....)のバイトアドレスの値をもち、8バイト
単位で内蔵RAM3上のアドレスを、写像領域の開始位
置として指定できる。
2.....)のバイトアドレスの値をもち、8バイト
単位で内蔵RAM3上のアドレスを、写像領域の開始位
置として指定できる。
【0036】このような構成において、割り込みやサブ
ルーチンコールが発生すると、CPU内部制御回路10
1はレジスタバンク切替信号をアクティブにして出力
し、バンク切替え制御回路1はこれを受けて以下に示す
動作を行い、レジスタファイル2と内蔵RAM3との間
のデータ転送の制御を行う。
ルーチンコールが発生すると、CPU内部制御回路10
1はレジスタバンク切替信号をアクティブにして出力
し、バンク切替え制御回路1はこれを受けて以下に示す
動作を行い、レジスタファイル2と内蔵RAM3との間
のデータ転送の制御を行う。
【0037】まず、レジスタバンク切替信号がアクティ
ブになると、バンク切替え制御回路1はBS4とOBS
6の小さい方の値から、データ転送の回数を決定し、表
2に示すようにデータ転送回数レジスタ(CNTR)8
に値をセットする。なお、BS4とOBS6が同じ値の
場合はその値がCNTR8にセットされる。そして、R
0〜R3の64ビット分のデータをBNKBUSに出力
するようレジスタファイル2に指示を出し、内蔵RAM
3に対してはBNKBUS上のデータを内蔵RAM3の
OBP〜OBP+7のアドレスを持つ領域に書き込むよ
う指示を出し、R0〜R3を内蔵RAM3のOBP〜O
BP+7の領域にストアする。そして、データ転送終了
回数レジスタ(CNTR)8の値を「1」デクリメント
する。このようにして、レジスタファイル2から内蔵R
AM3へのデータ転送をカウンタが「0」になるまで繰
り返し行い、必要なレジスタファイル2の内容だけを内
蔵RAM3にストアする。
ブになると、バンク切替え制御回路1はBS4とOBS
6の小さい方の値から、データ転送の回数を決定し、表
2に示すようにデータ転送回数レジスタ(CNTR)8
に値をセットする。なお、BS4とOBS6が同じ値の
場合はその値がCNTR8にセットされる。そして、R
0〜R3の64ビット分のデータをBNKBUSに出力
するようレジスタファイル2に指示を出し、内蔵RAM
3に対してはBNKBUS上のデータを内蔵RAM3の
OBP〜OBP+7のアドレスを持つ領域に書き込むよ
う指示を出し、R0〜R3を内蔵RAM3のOBP〜O
BP+7の領域にストアする。そして、データ転送終了
回数レジスタ(CNTR)8の値を「1」デクリメント
する。このようにして、レジスタファイル2から内蔵R
AM3へのデータ転送をカウンタが「0」になるまで繰
り返し行い、必要なレジスタファイル2の内容だけを内
蔵RAM3にストアする。
【0038】
【表2】 次に、バンク切替え制御回路1はBS4とOBS6の小
さい方の値から、データ転送の回数を決定して回数レジ
スタ(CNTR)8に値をセットする。そして、内蔵R
AM3に対してBP〜BP+7の領域の64ビットのデ
ータをBNKBUSに出力するように指示し、レジスタ
ファイル2に対してはBNKBUSのデータをR0〜R
3に書き込むように指示を出し、内蔵RAM3のBP〜
BP+7の領域のデータをR0〜R3にロードする。そ
して、データ転送終了後回数レジスタ(CNTR)8の
値を「1」デクリメントする。このようにして、レジス
タファイル2から内蔵RAM3へのデータ転送をカウン
タが「0」になるまで繰り返し行い、必要なレジスタフ
ァイル2の内容だけを内蔵RAM3にロードする。
さい方の値から、データ転送の回数を決定して回数レジ
スタ(CNTR)8に値をセットする。そして、内蔵R
AM3に対してBP〜BP+7の領域の64ビットのデ
ータをBNKBUSに出力するように指示し、レジスタ
ファイル2に対してはBNKBUSのデータをR0〜R
3に書き込むように指示を出し、内蔵RAM3のBP〜
BP+7の領域のデータをR0〜R3にロードする。そ
して、データ転送終了後回数レジスタ(CNTR)8の
値を「1」デクリメントする。このようにして、レジス
タファイル2から内蔵RAM3へのデータ転送をカウン
タが「0」になるまで繰り返し行い、必要なレジスタフ
ァイル2の内容だけを内蔵RAM3にロードする。
【0039】例えばBS=01,OBS=10の時のデ
ータ転送の様子は図2に示すようになる。この時、共通
に使用されるレジスタはR0−R7の8本のレジスタで
あり、この8本のレジスタについてだけ内蔵RAM3へ
のストア・ロードの操作が行われる。従って、この場合
はストアに2クロック、ロードに2クロックで、総計4
クロックのデータ転送時間となる。
ータ転送の様子は図2に示すようになる。この時、共通
に使用されるレジスタはR0−R7の8本のレジスタで
あり、この8本のレジスタについてだけ内蔵RAM3へ
のストア・ロードの操作が行われる。従って、この場合
はストアに2クロック、ロードに2クロックで、総計4
クロックのデータ転送時間となる。
【0040】上記実施例では、共通して使用するレジス
タがR0−R3の4本のみである場合には、レジスタフ
ァイル2のストア/ロードに必要な時間は2サイクルで
ある。また、共通して使用するレジスタがR0−R7の
8本のみである場合には、レジスタファイルのストア/
ロードに必要な時間は4サイクルである。さらに、共通
して使用するレジスタがR0−R11の12本のみであ
る場合には、レジスタファイルのストア/ロードに必要
な時間は6サイクルである。また、共通して使用するレ
ジスタがR0−R15の全レジスタである場合には、レ
ジスタファイルのストア/ロードに必要な時間は8サイ
クルである。
タがR0−R3の4本のみである場合には、レジスタフ
ァイル2のストア/ロードに必要な時間は2サイクルで
ある。また、共通して使用するレジスタがR0−R7の
8本のみである場合には、レジスタファイルのストア/
ロードに必要な時間は4サイクルである。さらに、共通
して使用するレジスタがR0−R11の12本のみであ
る場合には、レジスタファイルのストア/ロードに必要
な時間は6サイクルである。また、共通して使用するレ
ジスタがR0−R15の全レジスタである場合には、レ
ジスタファイルのストア/ロードに必要な時間は8サイ
クルである。
【0041】従って、従来技術では常に8クロックかか
っていた転送時間が、共通に使用するレジスタが何本あ
るかによって0〜6クロックのクロックサイクル分短縮
される。これにより高速なレジスタバンクバンク切替が
可能になり、システム性能の高速化が可能になる。
っていた転送時間が、共通に使用するレジスタが何本あ
るかによって0〜6クロックのクロックサイクル分短縮
される。これにより高速なレジスタバンクバンク切替が
可能になり、システム性能の高速化が可能になる。
【0042】また、上記実施例にあっては、レジスタフ
ァイルをグル−プ化して8バイト分(4本分)のレジス
タ単位で退避、回復を行うようにしているので、退避、
回復のための管理情報がレジスタを個別に管理する場合
に比べて少なくなり、管理を容易に行うことができる。
さらに、レジスタファイル2と内蔵RAM3とを同一チ
ップ上に形成しているので、レジスタファイル2と内蔵
RAM3とを接続する専用バス(BNKBUS)は、別
チップとした場合に比べて容易に形成することができ
る。
ァイルをグル−プ化して8バイト分(4本分)のレジス
タ単位で退避、回復を行うようにしているので、退避、
回復のための管理情報がレジスタを個別に管理する場合
に比べて少なくなり、管理を容易に行うことができる。
さらに、レジスタファイル2と内蔵RAM3とを同一チ
ップ上に形成しているので、レジスタファイル2と内蔵
RAM3とを接続する専用バス(BNKBUS)は、別
チップとした場合に比べて容易に形成することができ
る。
【0043】
【発明の効果】レジスタバンク切替えの前後で使用する
レジスタに関する情報を保持し、この情報からレジスタ
バンク切替え前後で共通に使用するレジスタのみを、ス
トア/ロードすることにより、転送すべきデータ量が減
少するので、データ転送に要する時間が短縮され、レジ
スタバンク切替えの時間を短縮することが可能になる。
レジスタに関する情報を保持し、この情報からレジスタ
バンク切替え前後で共通に使用するレジスタのみを、ス
トア/ロードすることにより、転送すべきデータ量が減
少するので、データ転送に要する時間が短縮され、レジ
スタバンク切替えの時間を短縮することが可能になる。
【0044】また、レジスタをグル−プ分けしてグル−
プ単位で情報の退避、回復を行うようにしたので、退
避、回復の管理が容易となる。さらに、装置を1チップ
化しているので、退避、回復のための情報の転送路とな
る専用バスを容易に形成することが可能となる。
プ単位で情報の退避、回復を行うようにしたので、退
避、回復の管理が容易となる。さらに、装置を1チップ
化しているので、退避、回復のための情報の転送路とな
る専用バスを容易に形成することが可能となる。
【図1】この発明の一実施例に係わる情報処理装置の構
成を示す図である。
成を示す図である。
【図2】図1に示す装置における情報転送の様子を示す
図である。
図である。
【図3】レジスタバンク切替え機能を備えた従来の情報
処理装置の構成を示す図である。
処理装置の構成を示す図である。
【図4】図3に示す装置における情報転送の様子を示す
図である。
図である。
1,102 バンク切替え制御回路 2,103 レジスタファイル 3,104 内蔵RAM 4 バンクサイズレジスタ 5,105 バンクポインタレジスタ 6 オールドバンクサイズレジスタ 7,106 オールドバンクポインタレジスタ 8 データ転送回数レジスタ 101 CPU内部制御回路
Claims (2)
- 【請求項1】 レジスタファイルに含まれるレジスタが
グル−プ化されて、グル−プ単位でレジスタの情報の退
避、回復が管理されるレジスタファイルと、 レジスタファイルとの間で専用バスを介してレジスタの
情報がグル−プ単位で退避、回復される記憶装置と、 退避前又は回復前に使用しているレジスタをグル−プ単
位で指定する情報及び退避後又は回復後に使用するレジ
スタをグル−プ単位で指定する情報を保持し、保持され
た情報に基づいてレジスタの退避前後又は回復前後で共
通に使用されるレジスタのグル−プを判別し、共通に使
用されるレジスタのみをグル−プ単位で退避又は回復す
るバンク切替え制御手段とを有し、 レジスタファイル、記憶装置及びバンク切替え制御手段
が同一チップ上に形成されてなることを特徴とする情報
処理装置。 - 【請求項2】 退避又は回復前後で使用されるレジスタ
は、使用される上限又は下限のレジスタ番号で指定さ
れ、使用されるレジスタの個数は、1サイクルタイムで
退避、回復が可能なレジスタの個数の整数倍で規定され
てなることを特徴とする請求項1記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5100755A JPH06309169A (ja) | 1993-04-27 | 1993-04-27 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5100755A JPH06309169A (ja) | 1993-04-27 | 1993-04-27 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06309169A true JPH06309169A (ja) | 1994-11-04 |
Family
ID=14282340
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5100755A Pending JPH06309169A (ja) | 1993-04-27 | 1993-04-27 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06309169A (ja) |
Cited By (4)
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 |
JP2014130606A (ja) * | 2005-10-20 | 2014-07-10 | Qualcomm Incorporated | スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ |
JP2015001947A (ja) * | 2013-06-18 | 2015-01-05 | 株式会社東芝 | 情報処理装置及びプログラム |
JP2020077373A (ja) * | 2014-06-13 | 2020-05-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
-
1993
- 1993-04-27 JP JP5100755A patent/JPH06309169A/ja active Pending
Cited By (4)
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 |
JP2014130606A (ja) * | 2005-10-20 | 2014-07-10 | Qualcomm Incorporated | スタックド・レジスタ・ファイルのレジスタ・セーブ・エンジンのためのバッキング記憶装置バッファ |
JP2015001947A (ja) * | 2013-06-18 | 2015-01-05 | 株式会社東芝 | 情報処理装置及びプログラム |
JP2020077373A (ja) * | 2014-06-13 | 2020-05-21 | 株式会社半導体エネルギー研究所 | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3676882B2 (ja) | マイクロプロセッサ及びその周辺装置 | |
JP2002342262A (ja) | ダイレクトメモリアクセス制御装置およびダイレクトメモリアクセス制御方法 | |
JPH06309169A (ja) | 情報処理装置 | |
EP0560393B1 (en) | Microprocessor and data processing system with register file | |
JPH0696007A (ja) | Dma転送方式 | |
EP0787326B1 (en) | System and method for processing of memory data and communication system comprising such system | |
JPH05165641A (ja) | シングルチップマイクロコンピュータ | |
JPS60134937A (ja) | アドレス拡張装置 | |
JP2707256B2 (ja) | マイクロコンピユータ | |
JP2004062449A (ja) | マイクロプロセッサおよびその処理方法 | |
JPH0535472A (ja) | マイクロコンピユータ | |
JPS6299827A (ja) | バツフア制御方式 | |
JPH0376501B2 (ja) | ||
JP2604051B2 (ja) | データ転送方法 | |
JPH03198452A (ja) | 受信バッファ格納による回線制御方式 | |
JPS58189719A (ja) | デ−タ転送制御方式 | |
JPH01233628A (ja) | メモリアドレス変換制御回路 | |
JPH0713765A (ja) | 高速データ転送装置 | |
JPH02193235A (ja) | バスアクセス例外検出方法 | |
JPH0685154B2 (ja) | 中間バッファ制御方式 | |
JPS60129841A (ja) | 割り込み制御回路 | |
JPH02133854A (ja) | 転送可否メモリにアクセス可能なdmaコントローラ | |
JPH02277160A (ja) | データ処理装置 | |
JPS6239779B2 (ja) | ||
JP2000035958A (ja) | ベクトル命令処理装置、バッファ制御方法、ベクトル演算処理装置、情報処理装置 |