JP2633382B2 - マルチレジスタファイルシステム - Google Patents
マルチレジスタファイルシステムInfo
- Publication number
- JP2633382B2 JP2633382B2 JP2252873A JP25287390A JP2633382B2 JP 2633382 B2 JP2633382 B2 JP 2633382B2 JP 2252873 A JP2252873 A JP 2252873A JP 25287390 A JP25287390 A JP 25287390A JP 2633382 B2 JP2633382 B2 JP 2633382B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- register file
- registers
- task
- files
- 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
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Description
【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のレジスタファイルを備えたマルチレ
ジスタファイルシステムに関し、特に、レジスタファイ
ルのハードウェア構成に係るものである。
ジスタファイルシステムに関し、特に、レジスタファイ
ルのハードウェア構成に係るものである。
(従来の技術) 一般に、複数のレジスタファイルを備えるアーキテク
チャーは、スタックエリアへのレジスタ待避を回避で
き、オーバーヘッドを少なくできるだけでなく、レジス
タ待避動作が不要になるために割込み応答性を容易に向
上させることができる利点があることから、数多くのシ
ステムに採用されてきている。このレジスタファイルを
構成するデータ用レジスタ、アドレス用レジスタ或いは
汎用レジスタの本数はオペレーティングシステム(以下
OS)が実行するシステムタスク或いはユーザーアプリケ
ーションが実行するユーザータスクで使用できる数量分
を各レジスタファイルに同等にハードウェアとして実装
しており、各レジスタファイルは対称構成であった。
チャーは、スタックエリアへのレジスタ待避を回避で
き、オーバーヘッドを少なくできるだけでなく、レジス
タ待避動作が不要になるために割込み応答性を容易に向
上させることができる利点があることから、数多くのシ
ステムに採用されてきている。このレジスタファイルを
構成するデータ用レジスタ、アドレス用レジスタ或いは
汎用レジスタの本数はオペレーティングシステム(以下
OS)が実行するシステムタスク或いはユーザーアプリケ
ーションが実行するユーザータスクで使用できる数量分
を各レジスタファイルに同等にハードウェアとして実装
しており、各レジスタファイルは対称構成であった。
このように構成されたマルチレジスタファイルシステ
ムでは、コンテキストの際にレジスタファイルを切り替
え、新しいタスクや割込み処理を新しいレジスタファイ
ルで実行するため、レジスタファイル毎に実行するタス
クが切り替わるが、タスクを構成するプログラムが変わ
ってもレジスタ構成を同じにしておくことでコンパイラ
の生成を一律に行え、プログラム内の変数を制限なくレ
ジスタに割り当てられるという利点があった。
ムでは、コンテキストの際にレジスタファイルを切り替
え、新しいタスクや割込み処理を新しいレジスタファイ
ルで実行するため、レジスタファイル毎に実行するタス
クが切り替わるが、タスクを構成するプログラムが変わ
ってもレジスタ構成を同じにしておくことでコンパイラ
の生成を一律に行え、プログラム内の変数を制限なくレ
ジスタに割り当てられるという利点があった。
(発明が解決しようとする課題) しかしながら、上述したマルチレジスタファイルシス
テムにおいては、全レジスタをハードウェアとして備え
る負担が大きく、レジスタの一部をワーキングレジスタ
として使用する場合、コンテキストスイッチ時に、特に
待避・保存しておく必要がなく、レジスタファイルを構
成するレジスタ本数を全数備える必要はなかった。
テムにおいては、全レジスタをハードウェアとして備え
る負担が大きく、レジスタの一部をワーキングレジスタ
として使用する場合、コンテキストスイッチ時に、特に
待避・保存しておく必要がなく、レジスタファイルを構
成するレジスタ本数を全数備える必要はなかった。
本発明は、上記従来の課題を解決するもので、マルチ
レジスタファイルシステムにおいてハードウェアとして
レジスタファイルを備える負担を極力押さえ、かつ、コ
ンパイラがレジスタに変数を割り当てることによりオブ
ジェクトコードの生成が一律に行えるレジスタファイル
構成を提供することを目的としている。
レジスタファイルシステムにおいてハードウェアとして
レジスタファイルを備える負担を極力押さえ、かつ、コ
ンパイラがレジスタに変数を割り当てることによりオブ
ジェクトコードの生成が一律に行えるレジスタファイル
構成を提供することを目的としている。
(課題を解決するための手段) 上記の目的を達成するための、本発明が講じた手段は
次のとおりである。
次のとおりである。
請求項1に係る発明は、各タスクが個々に持つ占有可
能なレジスタファイル以外に特定のタスクに属さない共
有レジスタファイルを持ち、該共有レジスタファイルは
レジスタを特定するレジスタ番号の指定により、システ
ムタスクであるとユーザータスクであるとを問わずいず
れのタスクからもデータの書き込みを可能とした構成と
している。
能なレジスタファイル以外に特定のタスクに属さない共
有レジスタファイルを持ち、該共有レジスタファイルは
レジスタを特定するレジスタ番号の指定により、システ
ムタスクであるとユーザータスクであるとを問わずいず
れのタスクからもデータの書き込みを可能とした構成と
している。
(作用) この構成により、レジスタファイルをハードウェアと
して実装する負担を極力押さえることができ、レジスタ
構成が各レジスタファイル共通であるのでコンパイラの
生成を一律に行え、より効率よくマルチタスキング処理
を実現することができる。
して実装する負担を極力押さえることができ、レジスタ
構成が各レジスタファイル共通であるのでコンパイラの
生成を一律に行え、より効率よくマルチタスキング処理
を実現することができる。
(実施例) 以下、本発明の実施例について図面に基づき詳細に説
明する。
明する。
第1図は本発明における特定のタスクに属さないレジ
スタファイルを実装するレジスタファイル構成例を示し
た図である。
スタファイルを実装するレジスタファイル構成例を示し
た図である。
特権レジスタファイル5及び各ユーザーレジスタファ
イル6,7,8はそれぞれレジスタa1〜a8、レジスタb1〜b
8、レジスタc1〜c8、レジスタd1〜d8から構成され、レ
ジスタ本数、レジスタビット数は各レジスタファイル5
〜8で対等である。タスク群10の実行すべきタスク内容
がOSの場合は特権レジスタファイル5が選択され、ユー
ザータスクの場合はユーザーレジスタファイル6,7,8の
いずれかが選択される。
イル6,7,8はそれぞれレジスタa1〜a8、レジスタb1〜b
8、レジスタc1〜c8、レジスタd1〜d8から構成され、レ
ジスタ本数、レジスタビット数は各レジスタファイル5
〜8で対等である。タスク群10の実行すべきタスク内容
がOSの場合は特権レジスタファイル5が選択され、ユー
ザータスクの場合はユーザーレジスタファイル6,7,8の
いずれかが選択される。
一方、このタスク固有のレジスタファイル5〜8は共
に特権レジスタファイル5及びユーザーレジスタファイ
ル6,7,8から独立した共有レジスタファイル9がタスク
群10のの実行すべきタスクに無関係に選択される。この
共有レジスタファイル9は、レジスタx9〜x12で構成さ
れ、一例としてタスク群10の実行すべきタスクがOSであ
ったとすると、選択された特権レジスタファイル5のレ
ジスタa1〜a8と共有レジスタファイル9のレジスタx9〜
x12はレジスタのメモリ空間アドレスを示すレジスタ番
号が連続するようになっており、OSはレジスタa1〜a8と
レジスタx9〜x12をレジスタ1〜12として12本のレジス
タを使用することになる。また、各ユーザーレジスタフ
ァイル6,7,8についても同様であり、共有レジスタファ
イル9のレジスタx9〜x12と合わせて12本のレジスタを
使用することになる。
に特権レジスタファイル5及びユーザーレジスタファイ
ル6,7,8から独立した共有レジスタファイル9がタスク
群10のの実行すべきタスクに無関係に選択される。この
共有レジスタファイル9は、レジスタx9〜x12で構成さ
れ、一例としてタスク群10の実行すべきタスクがOSであ
ったとすると、選択された特権レジスタファイル5のレ
ジスタa1〜a8と共有レジスタファイル9のレジスタx9〜
x12はレジスタのメモリ空間アドレスを示すレジスタ番
号が連続するようになっており、OSはレジスタa1〜a8と
レジスタx9〜x12をレジスタ1〜12として12本のレジス
タを使用することになる。また、各ユーザーレジスタフ
ァイル6,7,8についても同様であり、共有レジスタファ
イル9のレジスタx9〜x12と合わせて12本のレジスタを
使用することになる。
そして、特権レジスタファイル5、ユーザーレジスタ
ファイル6,7,8は各タスク間で独立しているのでタスク
切り替えの際にデータが保存されるが、共有レジスタフ
ァイル9はタスク群10に共通であるのでタスク切り替え
の際にデータは無効となり保存されない。しかし、共有
レジスタファイル9をワーキング用にコンパイラで割り
当てることでワーキング変数をレジスタに配置すること
が可能となる。
ファイル6,7,8は各タスク間で独立しているのでタスク
切り替えの際にデータが保存されるが、共有レジスタフ
ァイル9はタスク群10に共通であるのでタスク切り替え
の際にデータは無効となり保存されない。しかし、共有
レジスタファイル9をワーキング用にコンパイラで割り
当てることでワーキング変数をレジスタに配置すること
が可能となる。
尚、各レジスタファイル5〜9を構成するレジスタ本
数は8本或いは4本としたが任意である。ビット幅もデ
ータ用レジスタ、アドレス用レジスタ或いは汎用レジス
タに応じて任意である。
数は8本或いは4本としたが任意である。ビット幅もデ
ータ用レジスタ、アドレス用レジスタ或いは汎用レジス
タに応じて任意である。
第2図は本発明のマルチレジスタファイルシステムの
ブロック図であり、この第2図に基づいて本発明の特定
のタスクに属さない共有レジスタファイルを実装する場
合の構成をレジスタ選択の動きと共に説明する。
ブロック図であり、この第2図に基づいて本発明の特定
のタスクに属さない共有レジスタファイルを実装する場
合の構成をレジスタ選択の動きと共に説明する。
レジスタファイル11〜14は特権或いはユーザーレジス
タファイルであり、タスクに固有に占有される。15は各
タスクから独立した共有レジスタファイルである。第1
の選択回路16はレジスタファイル11〜14のいずれかを指
定するレジスタファイル番号18を入力とし、レジスタフ
ァイル11〜14を選択する。一方、第2の選択回路17はレ
ジスタファイル11〜15内のいずれのレジスタであるかを
選択するレジスタ番号19を入力とし、該当するレジスタ
を選択する。レジスタファイル11〜14内では第1の選択
回路16と第2の選択回路17とで選択されたレジスタが選
ばれ、共有レジスタファイル15は第2の選択回路17によ
ってのみレジスタが選択される。
タファイルであり、タスクに固有に占有される。15は各
タスクから独立した共有レジスタファイルである。第1
の選択回路16はレジスタファイル11〜14のいずれかを指
定するレジスタファイル番号18を入力とし、レジスタフ
ァイル11〜14を選択する。一方、第2の選択回路17はレ
ジスタファイル11〜15内のいずれのレジスタであるかを
選択するレジスタ番号19を入力とし、該当するレジスタ
を選択する。レジスタファイル11〜14内では第1の選択
回路16と第2の選択回路17とで選択されたレジスタが選
ばれ、共有レジスタファイル15は第2の選択回路17によ
ってのみレジスタが選択される。
(発明の効果) 以上のように本発明によれば、レジスタファイルをハ
ードウェアとして備える負担を極力押さえることがで
き、さらに数多くのレジスタファイルを実装できること
から効率良くマルチタスキング処理を実現することがで
きる。また、タスクのワーキング変数をレジスタに割り
当てることができ、高級言語指向のコンパイラが変数を
容易にレジスタに割り当てることができるので、オブジ
ェクトコードの生成効率を向上させることができる。
ードウェアとして備える負担を極力押さえることがで
き、さらに数多くのレジスタファイルを実装できること
から効率良くマルチタスキング処理を実現することがで
きる。また、タスクのワーキング変数をレジスタに割り
当てることができ、高級言語指向のコンパイラが変数を
容易にレジスタに割り当てることができるので、オブジ
ェクトコードの生成効率を向上させることができる。
第1図は本発明の特定のタスクに属さないレジスタファ
イルを実装するレジスタファイル構成例を示した図、第
2図は本発明のマルチレジスタファイルシステムのブロ
ック図である。 5……特権レジスタファイル、6,7,8……ユーザーレジ
スタファイル、9,15……共有レジスタファイル、10……
タスク群、11〜14……レジスタファイル。
イルを実装するレジスタファイル構成例を示した図、第
2図は本発明のマルチレジスタファイルシステムのブロ
ック図である。 5……特権レジスタファイル、6,7,8……ユーザーレジ
スタファイル、9,15……共有レジスタファイル、10……
タスク群、11〜14……レジスタファイル。
Claims (1)
- 【請求項1】複数のレジスタファイルから構成されるマ
ルチレジスタファイルシステムにおいて、 各タスクが個々に占有可能なデータ用レジスタ、アドレ
ス用レジスタ或いは汎用レジスタによって構成された複
数のレジスタファイルを実装する一方、 データ用レジスタ、アドレス用レジスタ或いは汎用レジ
スタによって構成され且つ特定のタスクに属さない共有
レジスタファイルを実装し、 該共有レジスタファイルはいずれのタスクからもレジス
タを特定するレジスタ番号の指定によりデータが書き込
まれることを特徴とするマルチレジスタファイルシステ
ム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2252873A JP2633382B2 (ja) | 1990-09-19 | 1990-09-19 | マルチレジスタファイルシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2252873A JP2633382B2 (ja) | 1990-09-19 | 1990-09-19 | マルチレジスタファイルシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04128933A JPH04128933A (ja) | 1992-04-30 |
JP2633382B2 true JP2633382B2 (ja) | 1997-07-23 |
Family
ID=17243355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2252873A Expired - Fee Related JP2633382B2 (ja) | 1990-09-19 | 1990-09-19 | マルチレジスタファイルシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2633382B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5338938A (en) * | 1976-09-22 | 1978-04-10 | Hitachi Ltd | Main memory extending device |
JPS53142843A (en) * | 1977-05-19 | 1978-12-12 | Toshiba Corp | Data processor |
-
1990
- 1990-09-19 JP JP2252873A patent/JP2633382B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04128933A (ja) | 1992-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6732253B1 (en) | Loop handling for single instruction multiple datapath processor architectures | |
JPH01228027A (ja) | アドレス空間管理方法 | |
JPH0454652A (ja) | マイクロコンピュータ | |
JP2633382B2 (ja) | マルチレジスタファイルシステム | |
US5491826A (en) | Microprocessor having register bank and using a general purpose register as a stack pointer | |
JP2553698B2 (ja) | 時分割マルチタスク実行装置 | |
US7213127B2 (en) | System for producing addresses for a digital signal processor | |
JPH0353659B2 (ja) | ||
JPS6370353A (ja) | メモリ制御システム | |
JP2000067020A (ja) | マルチプロセッサシステム | |
JP3429880B2 (ja) | メモリ装置およびメモリアクセス方法 | |
JP2742245B2 (ja) | 並列計算機 | |
KR0164769B1 (ko) | 시스템 프로그램 실행 방법 | |
JPH0477930A (ja) | マイクロコンピュータ | |
JPH04211837A (ja) | レジスタ退避方式 | |
JPH04116742A (ja) | 仮想記憶システムにおけるメモリ割り当て方式 | |
JPS60214039A (ja) | デ−タ処理装置 | |
JPS63118852A (ja) | 仮想記憶装置の制御方式 | |
JPH06149594A (ja) | マルチタスク実行装置 | |
JPH0830466A (ja) | マルチタスク切り換え制御方法 | |
JPH05298271A (ja) | 並列処理システム | |
JPH0331937A (ja) | マイクロプロセッサ | |
JPS61125648A (ja) | システム・コ−ル制御方式 | |
JPS6177936A (ja) | 情報処理装置 | |
JPH03231343A (ja) | マイクロプロセッサにおけるメモリ空間拡張方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |