Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2633382B2 - Multi-register file system - Google Patents
[go: Go Back, main page]

JP2633382B2 - Multi-register file system - Google Patents

Multi-register file system

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
Application number
JP2252873A
Other languages
Japanese (ja)
Other versions
JPH04128933A (en
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2252873A priority Critical patent/JP2633382B2/en
Publication of JPH04128933A publication Critical patent/JPH04128933A/en
Application granted granted Critical
Publication of JP2633382B2 publication Critical patent/JP2633382B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、複数のレジスタファイルを備えたマルチレ
ジスタファイルシステムに関し、特に、レジスタファイ
ルのハードウェア構成に係るものである。
Description: TECHNICAL FIELD The present invention relates to a multi-register file system having a plurality of register files, and more particularly to a hardware configuration of register files.

(従来の技術) 一般に、複数のレジスタファイルを備えるアーキテク
チャーは、スタックエリアへのレジスタ待避を回避で
き、オーバーヘッドを少なくできるだけでなく、レジス
タ待避動作が不要になるために割込み応答性を容易に向
上させることができる利点があることから、数多くのシ
ステムに採用されてきている。このレジスタファイルを
構成するデータ用レジスタ、アドレス用レジスタ或いは
汎用レジスタの本数はオペレーティングシステム(以下
OS)が実行するシステムタスク或いはユーザーアプリケ
ーションが実行するユーザータスクで使用できる数量分
を各レジスタファイルに同等にハードウェアとして実装
しており、各レジスタファイルは対称構成であった。
(Conventional technology) In general, an architecture with a plurality of register files can avoid saving registers in the stack area, not only reduce overhead, but also easily improve interrupt responsiveness because register saving operations become unnecessary. It has been adopted in many systems because of its advantages. The number of data registers, address registers, or general-purpose registers constituting the register file depends on the operating system (hereinafter referred to as an operating system).
The amount that can be used in the system task executed by the OS) or the user task executed by the user application is equivalently implemented as hardware in each register file, and each register file has a symmetric configuration.

このように構成されたマルチレジスタファイルシステ
ムでは、コンテキストの際にレジスタファイルを切り替
え、新しいタスクや割込み処理を新しいレジスタファイ
ルで実行するため、レジスタファイル毎に実行するタス
クが切り替わるが、タスクを構成するプログラムが変わ
ってもレジスタ構成を同じにしておくことでコンパイラ
の生成を一律に行え、プログラム内の変数を制限なくレ
ジスタに割り当てられるという利点があった。
In the multi-register file system configured as described above, the task to be executed is switched for each register file because the register file is switched at the time of context and a new task or interrupt processing is executed with the new register file. Even if the program changes, the compiler can be generated uniformly by keeping the register configuration the same, and there is an advantage that variables in the program can be assigned to registers without restriction.

(発明が解決しようとする課題) しかしながら、上述したマルチレジスタファイルシス
テムにおいては、全レジスタをハードウェアとして備え
る負担が大きく、レジスタの一部をワーキングレジスタ
として使用する場合、コンテキストスイッチ時に、特に
待避・保存しておく必要がなく、レジスタファイルを構
成するレジスタ本数を全数備える必要はなかった。
(Problems to be Solved by the Invention) However, in the above-described multi-register file system, the burden of providing all registers as hardware is large, and when a part of the registers is used as a working register, it is particularly necessary to save / restore the data when context switching. There was no need to save, and there was no need to provide all the registers that make up the register file.

本発明は、上記従来の課題を解決するもので、マルチ
レジスタファイルシステムにおいてハードウェアとして
レジスタファイルを備える負担を極力押さえ、かつ、コ
ンパイラがレジスタに変数を割り当てることによりオブ
ジェクトコードの生成が一律に行えるレジスタファイル
構成を提供することを目的としている。
SUMMARY OF THE INVENTION The present invention solves the above-mentioned conventional problems, and minimizes the burden of providing a register file as hardware in a multi-register file system, and can uniformly generate object code by assigning variables to registers by a compiler. The purpose is to provide a register file structure.

(課題を解決するための手段) 上記の目的を達成するための、本発明が講じた手段は
次のとおりである。
(Means for Solving the Problems) Means taken by the present invention to achieve the above object are as follows.

請求項1に係る発明は、各タスクが個々に持つ占有可
能なレジスタファイル以外に特定のタスクに属さない共
有レジスタファイルを持ち、該共有レジスタファイルは
レジスタを特定するレジスタ番号の指定により、システ
ムタスクであるとユーザータスクであるとを問わずいず
れのタスクからもデータの書き込みを可能とした構成と
している。
The invention according to claim 1 has a shared register file that does not belong to a specific task other than an occupied register file that each task individually has, and the shared register file specifies a register number that specifies a register, and thereby a system task is specified. , Data can be written from any task, regardless of whether it is a user task.

(作用) この構成により、レジスタファイルをハードウェアと
して実装する負担を極力押さえることができ、レジスタ
構成が各レジスタファイル共通であるのでコンパイラの
生成を一律に行え、より効率よくマルチタスキング処理
を実現することができる。
(Operation) With this configuration, the burden of implementing the register file as hardware can be minimized, and since the register configuration is common to each register file, the compiler can be generated uniformly and multi-tasking processing can be realized more efficiently. can do.

(実施例) 以下、本発明の実施例について図面に基づき詳細に説
明する。
(Example) Hereinafter, an example of the present invention will be described in detail with reference to the drawings.

第1図は本発明における特定のタスクに属さないレジ
スタファイルを実装するレジスタファイル構成例を示し
た図である。
FIG. 1 is a diagram showing an example of a register file configuration for mounting a register file that does not belong to a specific task in the present invention.

特権レジスタファイル5及び各ユーザーレジスタファ
イル6,7,8はそれぞれレジスタa1〜a8、レジスタb1〜b
8、レジスタc1〜c8、レジスタd1〜d8から構成され、レ
ジスタ本数、レジスタビット数は各レジスタファイル5
〜8で対等である。タスク群10の実行すべきタスク内容
がOSの場合は特権レジスタファイル5が選択され、ユー
ザータスクの場合はユーザーレジスタファイル6,7,8の
いずれかが選択される。
The privileged register file 5 and the user register files 6, 7, and 8 are registers a1 to a8 and registers b1 to b, respectively.
8, registers c1 to c8, and registers d1 to d8.
88 is equivalent. If the task to be executed by the task group 10 is an OS, the privilege register file 5 is selected, and if the task is a user task, any one of the user register files 6, 7, 8 is selected.

一方、このタスク固有のレジスタファイル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本のレジスタを
使用することになる。
On the other hand, for the task-specific register files 5 to 8, the shared register file 9 independent of the privileged register file 5 and the user register files 6, 7, 8 is selected independently of the task to be executed by the task group 10. This shared register file 9 is composed of registers x9 to x12. For example, if the task to be executed by the task group 10 is an OS, the registers a1 to a8 of the selected privileged register file 5 and the registers Register x9 ~
x12 is such that register numbers indicating memory space addresses of registers are consecutive, and the OS uses 12 registers with registers a1 to a8 and registers x9 to x12 as registers 1 to 12. The same applies to each of the user register files 6, 7, and 8, and 12 registers are used in addition to the registers x9 to x12 of the shared register file 9.

そして、特権レジスタファイル5、ユーザーレジスタ
ファイル6,7,8は各タスク間で独立しているのでタスク
切り替えの際にデータが保存されるが、共有レジスタフ
ァイル9はタスク群10に共通であるのでタスク切り替え
の際にデータは無効となり保存されない。しかし、共有
レジスタファイル9をワーキング用にコンパイラで割り
当てることでワーキング変数をレジスタに配置すること
が可能となる。
Since the privilege register file 5 and the user register files 6, 7, and 8 are independent of each other, data is saved at the time of task switching, but since the shared register file 9 is common to the task group 10, When switching tasks, the data becomes invalid and is not saved. However, working variables can be arranged in registers by allocating the shared register file 9 by a compiler for working.

尚、各レジスタファイル5〜9を構成するレジスタ本
数は8本或いは4本としたが任意である。ビット幅もデ
ータ用レジスタ、アドレス用レジスタ或いは汎用レジス
タに応じて任意である。
The number of registers constituting each of the register files 5 to 9 is eight or four, but is arbitrary. The bit width is also arbitrary according to the data register, address register or general-purpose register.

第2図は本発明のマルチレジスタファイルシステムの
ブロック図であり、この第2図に基づいて本発明の特定
のタスクに属さない共有レジスタファイルを実装する場
合の構成をレジスタ選択の動きと共に説明する。
FIG. 2 is a block diagram of the multi-register file system of the present invention. The configuration of the present invention based on FIG. 2 when a shared register file not belonging to a specific task is implemented will be described together with the operation of register selection. .

レジスタファイル11〜14は特権或いはユーザーレジス
タファイルであり、タスクに固有に占有される。15は各
タスクから独立した共有レジスタファイルである。第1
の選択回路16はレジスタファイル11〜14のいずれかを指
定するレジスタファイル番号18を入力とし、レジスタフ
ァイル11〜14を選択する。一方、第2の選択回路17はレ
ジスタファイル11〜15内のいずれのレジスタであるかを
選択するレジスタ番号19を入力とし、該当するレジスタ
を選択する。レジスタファイル11〜14内では第1の選択
回路16と第2の選択回路17とで選択されたレジスタが選
ばれ、共有レジスタファイル15は第2の選択回路17によ
ってのみレジスタが選択される。
The register files 11 to 14 are privileged or user register files, and are exclusively occupied by tasks. Reference numeral 15 denotes a shared register file independent of each task. First
The selection circuit 16 receives a register file number 18 specifying one of the register files 11 to 14, and selects the register file 11 to 14. On the other hand, the second selection circuit 17 receives the register number 19 for selecting which register in the register files 11 to 15 is input, and selects the corresponding register. In the register files 11 to 14, the registers selected by the first selection circuit 16 and the second selection circuit 17 are selected, and the registers of the shared register file 15 are selected only by the second selection circuit 17.

(発明の効果) 以上のように本発明によれば、レジスタファイルをハ
ードウェアとして備える負担を極力押さえることがで
き、さらに数多くのレジスタファイルを実装できること
から効率良くマルチタスキング処理を実現することがで
きる。また、タスクのワーキング変数をレジスタに割り
当てることができ、高級言語指向のコンパイラが変数を
容易にレジスタに割り当てることができるので、オブジ
ェクトコードの生成効率を向上させることができる。
(Effect of the Invention) As described above, according to the present invention, the burden of providing a register file as hardware can be minimized, and a large number of register files can be implemented, so that multitasking processing can be efficiently realized. it can. In addition, a working variable of a task can be assigned to a register, and a high-level language-oriented compiler can easily assign a variable to a register, so that the efficiency of object code generation can be improved.

【図面の簡単な説明】[Brief description of the drawings]

第1図は本発明の特定のタスクに属さないレジスタファ
イルを実装するレジスタファイル構成例を示した図、第
2図は本発明のマルチレジスタファイルシステムのブロ
ック図である。 5……特権レジスタファイル、6,7,8……ユーザーレジ
スタファイル、9,15……共有レジスタファイル、10……
タスク群、11〜14……レジスタファイル。
FIG. 1 is a diagram showing a configuration example of a register file for mounting a register file which does not belong to a specific task of the present invention, and FIG. 2 is a block diagram of a multi-register file system of the present invention. 5 ... Privileged register file, 6,7,8 ... User register file, 9,15 ... Shared register file, 10 ...
Task group, 11-14 ... Register file.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】複数のレジスタファイルから構成されるマ
ルチレジスタファイルシステムにおいて、 各タスクが個々に占有可能なデータ用レジスタ、アドレ
ス用レジスタ或いは汎用レジスタによって構成された複
数のレジスタファイルを実装する一方、 データ用レジスタ、アドレス用レジスタ或いは汎用レジ
スタによって構成され且つ特定のタスクに属さない共有
レジスタファイルを実装し、 該共有レジスタファイルはいずれのタスクからもレジス
タを特定するレジスタ番号の指定によりデータが書き込
まれることを特徴とするマルチレジスタファイルシステ
ム。
1. A multi-register file system comprising a plurality of register files, wherein each task implements a plurality of register files constituted by data registers, address registers or general-purpose registers which can be individually occupied. A shared register file that is constituted by a data register, an address register, or a general-purpose register and does not belong to a specific task is mounted, and data is written into the shared register file from any task by specifying a register number that specifies a register. A multi-register file system, characterized in that:
JP2252873A 1990-09-19 1990-09-19 Multi-register file system Expired - Fee Related JP2633382B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2252873A JP2633382B2 (en) 1990-09-19 1990-09-19 Multi-register file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2252873A JP2633382B2 (en) 1990-09-19 1990-09-19 Multi-register file system

Publications (2)

Publication Number Publication Date
JPH04128933A JPH04128933A (en) 1992-04-30
JP2633382B2 true JP2633382B2 (en) 1997-07-23

Family

ID=17243355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2252873A Expired - Fee Related JP2633382B2 (en) 1990-09-19 1990-09-19 Multi-register file system

Country Status (1)

Country Link
JP (1) JP2633382B2 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JPH04128933A (en) 1992-04-30

Similar Documents

Publication Publication Date Title
US6732253B1 (en) Loop handling for single instruction multiple datapath processor architectures
JPH01228027A (en) Address space management
JPH0454652A (en) Microcomputer
US7412590B2 (en) Information processing apparatus and context switching method
EP0077619B1 (en) Data-packet driven digital computer
JP2008529119A (en) Multithreaded processor
JP2633382B2 (en) Multi-register file system
JP3110866B2 (en) Microprocessor
JP2553698B2 (en) Time-division multitasking execution device
JPS6349945A (en) Process roll-in system for data processor
US7213127B2 (en) System for producing addresses for a digital signal processor
JPH0353659B2 (en)
JPS6370353A (en) Memory control system
JP2742245B2 (en) Parallel computer
JPH05290188A (en) Super-parallel computer
JPH0477930A (en) Microcomputer
JPH04211837A (en) Register saving system
JPH04116742A (en) Memory allocation system in virtual storage system
JPS63118852A (en) Control system for virtual memory
JPH06149594A (en) Multitask execution device
JPH05298271A (en) Parallel processing system
JPS61125648A (en) System call control system
JPH0331937A (en) Microprocessor
JPH0615138U (en) Central processing unit
JP2003108390A (en) Rtos turning task argument into substitute of auto variable

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees