JPH01175034A - Register group loading accelerating system - Google Patents

Register group loading accelerating system

Info

Publication number
JPH01175034A
JPH01175034A JP33229787A JP33229787A JPH01175034A JP H01175034 A JPH01175034 A JP H01175034A JP 33229787 A JP33229787 A JP 33229787A JP 33229787 A JP33229787 A JP 33229787A JP H01175034 A JPH01175034 A JP H01175034A
Authority
JP
Japan
Prior art keywords
register
instruction
general
execution
register group
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
Application number
JP33229787A
Other languages
Japanese (ja)
Inventor
Yoshiyuki Miki
三木 良行
Takuya Fujii
藤井 卓哉
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP33229787A priority Critical patent/JPH01175034A/en
Publication of JPH01175034A publication Critical patent/JPH01175034A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To remove useless load processing time by executing the succeeding register prior to the loading of a general register when an instruction next to a load task instruction does not use the general register or uses an already loaded general register. CONSTITUTION:A register is provided with a flag for displaying the completion of transfer based upon a transfer device. While executing transfer from a main storage device to the general register group, an instruction execution part starts the execution of the succeeding instruction, and at the time of generating the necessity of reference of the general register, refers a flag part corresponding to a register number concerned. When the flag part corresponding to the register number concerned is not loaded yet, its setting is waited, and when it has been already loaded, the execution of the instruction is continued.

Description

【発明の詳細な説明】 産業上の利用分野 本発明は情報処理装置における中央処理装置に関する。[Detailed description of the invention] Industrial applications The present invention relates to a central processing unit in an information processing device.

より詳細には、多重仮想記憶方式を採用する中央処理装
置の汎用レジスタ群のデータロードの新規な方式に関す
る。
More specifically, the present invention relates to a new method for loading data into a group of general-purpose registers in a central processing unit that employs a multiple virtual memory method.

従来の技術 従来、情報処理装置の中央処理装置では、例えば、”L
DTASK  TCBptr”のようなレジスタのロー
ドを示す命令(以下、ロードタスク命令と記す)により
、汎用レジスタ群のロード操作を指示していた。
2. Description of the Related Art Conventionally, in the central processing unit of an information processing device, for example, “L
An instruction (hereinafter referred to as a load task instruction) indicating a register load such as "DTASK TCBptr" instructs a load operation of a group of general-purpose registers.

この命令により、中央処理装置は、主記憶装置内のTC
Bptrポインタ・オペランドで指定されるアドレスに
あるTCBの内容(次に使用すべき汎用レジスタ群の内
容)を中央処理装置のレジスタ群に転送する。こうして
、汎用レジスタの内容が更新される。
This instruction causes the central processing unit to
The contents of the TCB (the contents of the general-purpose register group to be used next) at the address specified by the Bptr pointer operand are transferred to the register group of the central processing unit. In this way, the contents of the general-purpose register are updated.

第6図は、上述のような動作を実行するハードウェアの
構成を概略的に表したブロック図である。
FIG. 6 is a block diagram schematically showing the configuration of hardware that executes the operations described above.

このシステムは、大きく分けて命令実行部と記憶部とか
ら構成されており、人力された命令は命令解読部101
でデコードされ、レジスタ102に一旦記憶された後に
命令実行i%103で実行される。
This system is roughly divided into an instruction execution section and a storage section, and manually entered instructions are sent to an instruction decoding section 101.
The instruction is decoded by the instruction execution i% 103 and once stored in the register 102.

また、実行結果は、レジスタ102に一旦保持される。Further, the execution result is temporarily held in the register 102.

一方、主記憶装置106は、主記憶装置制御部105の
制御の下に動作する。
On the other hand, the main storage device 106 operates under the control of the main storage device control section 105.

この第6図に示す装置において、汎用レジスタ群のロー
ドは以下、のように実行される。
In the device shown in FIG. 6, loading of the general-purpose register group is executed as follows.

まず汎用レジスタ群のロードを示す命令(ロードタスク
命令)が命令解読部10] によりデコードされ、解読
済みの命令を一旦レジスタ102に格納する。この時、
IDUIOIは次の命令を先取りしてデコードすること
は行わない。
First, an instruction (load task instruction) indicating loading of a group of general-purpose registers is decoded by the instruction decoder 10, and the decoded instruction is temporarily stored in the register 102. At this time,
IDUIOI does not preemptively decode the next instruction.

次に、命令実行部103は、このレジスタ102の情報
によりロードタスク命令であることを理解し、次に使用
する汎用レジスタ群の内容を主記1.α装置106から
読み込むように主記憶装置制御部105へ指示する。そ
して、オペランドレジスタ107を経由して主記憶装置
106から読み込まれた汎用レジスタ群の内容を命令実
行部103内の汎用レジスタ群に格納する。最後に次に
実行すべき命令のデコード、実行、実行結果の格納を開
始する。
Next, the instruction execution unit 103 understands that it is a load task instruction based on the information in this register 102, and writes the contents of the general-purpose register group to be used next into the main register 1. The main storage controller 105 is instructed to read from the α device 106. Then, the contents of the general-purpose register group read from the main storage device 106 via the operand register 107 are stored in the general-purpose register group in the instruction execution unit 103. Finally, the next instruction to be executed is decoded, executed, and the execution result stored.

発明が解決しようとする問題点 第7図は、前述のような処理の過程を模式的に示す図で
ある。
Problems to be Solved by the Invention FIG. 7 is a diagram schematically showing the process as described above.

同図に示すように、ロードタスク命令の実行と次の命令
の実行との間に無駄な期間が在ることが判る。即ち、前
述のような従来の方式では、次の命令が汎用レジスタを
実際に使用するか否かに関係なく、全てのレジスタに対
するロードタスク命令を実行し、しかる後に次の命令の
実行を開始している。このため、ロードタスク命令の実
行時間が必要以上に長くなっていた。
As shown in the figure, it can be seen that there is a wasted period between the execution of the load task instruction and the execution of the next instruction. That is, in the conventional method described above, regardless of whether the next instruction actually uses general-purpose registers, load task instructions for all registers are executed, and then execution of the next instruction is started. ing. For this reason, the execution time of the load task instruction was longer than necessary.

そこで、本発明の目的は、ロードタスク命令の実質的な
実行時間を短縮し、情報処理装置のより有効な利用を可
能とする新規なレジスタ群・ロード高速化方式を提供す
ることにある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a new register group/load acceleration method that reduces the substantial execution time of a load task instruction and enables more effective use of an information processing device.

問題点を解決するための手段 即ち、本発明に従って、情報処理装置において、複数の
レジスタからなるレジスタ群と、人力された命令を実行
する命令実行部と、種記憶装置から該レジスタ群へのデ
ータ転送装置とを少なくとも備え、更に、該転送装置に
よる転送処理が完了していることを表示するフラグを前
記レジスタの各々に対応して備え、前記転送装置が、レ
ジスタ入れ換え命令による転送処理を開始すると、前記
命令実行部は該転送処理の完了を待たずに該入れ換え命
令に続く他の命令の実行を開始し、該他の命令によって
前記レジスタ群に含まれるレジスタを参照する必要が生
じた場合に、該参照すべきレジスタに対応する前記フラ
グを参照し、該レジスタが未だロードされていないこと
を検出した場合にのみ該レジスタのロードを侍って該他
の命令を実行することを特徴とするレジスタ群のロード
高速化方式が提供される。
Means for Solving the Problems According to the present invention, an information processing device includes a register group consisting of a plurality of registers, an instruction execution unit that executes manually input instructions, and data from a seed storage device to the register group. a transfer device, and further includes a flag indicating that the transfer process by the transfer device is completed, corresponding to each of the registers, and when the transfer device starts the transfer process based on a register replacement instruction. , the instruction execution unit starts executing another instruction following the exchange instruction without waiting for the completion of the transfer process, and when it becomes necessary to refer to a register included in the register group by the other instruction, , refers to the flag corresponding to the register to be referenced, and only when it is detected that the register has not been loaded yet, executes the other instruction while attending to the loading of the register. A method for accelerating the loading of registers is provided.

九月 本発明に従うレジスタ群・ロード高速化方式は、転送装
置による転送が済んでいることを表示するフラグをレジ
スタに備え、主記憶装置から汎用レジスタ群への転送を
行いつつ、命令実行部では前記命令に続く命令の実行を
開始し、以降の命令において汎用レジスタを参照する必
要が生じた場合に1、前記フラグの該当するレジスタ番
号の部分を参照してまだロードされていないときには前
記フラグの該当するレジスタ番号の部分のセットされる
のを持ち、すでにロードされているときには命令の実行
を継続することを主要な特徴としている。
SeptemberThe register group/load acceleration method according to the present invention is equipped with a flag in the register to indicate that the transfer by the transfer device has been completed, and while the transfer from the main memory device to the general-purpose register group is performed, the instruction execution unit When execution of an instruction following the above instruction starts and it becomes necessary to refer to a general-purpose register in the subsequent instruction, 1 refers to the corresponding register number part of the flag, and if it has not been loaded yet, the flag is The main feature is that the corresponding register number part is set, and if the instruction has already been loaded, the execution of the instruction continues.

即ち、前述した従来のロード方式では、次の命令で必要
でない汎用レジスタのロードも終了しなければ次の命令
は実行できなかった。これに対して、本発明に従うロー
ド方式では、ロードタスク命令の次の命令が汎用レジス
タを用いない命令あるいは既にロードされた汎用レジス
タを用いる命令である場合には、次の命令の実行を汎用
レジスタのロードより先に行うことにより、無駄なロー
ド処理時間を節約することができる。
That is, in the conventional loading method described above, the next instruction cannot be executed unless the loading of general-purpose registers not required by the next instruction is also completed. In contrast, in the load method according to the present invention, if the next instruction after the load task instruction is an instruction that does not use a general-purpose register or an instruction that uses a general-purpose register that has already been loaded, the execution of the next instruction is transferred to a general-purpose register. By doing this before loading, it is possible to save unnecessary loading processing time.

実施例 以下に図面を参照して本発明をより具体的に詳述するが
、以下に開示するものは本発明の一実施例に過ぎず、本
発明の技術的範囲を何ら限定するものではない。
EXAMPLES The present invention will be described in more detail below with reference to the drawings, but what is disclosed below is only one example of the present invention and does not limit the technical scope of the present invention in any way. .

実施例1 第1図は本発明の実施例における中央処理装置の構成を
示す図である。
Embodiment 1 FIG. 1 is a diagram showing the configuration of a central processing unit in an embodiment of the present invention.

この装置は、命令をデコードする命令解読部く以下、I
DUと記す)301並びにデコード済み命令を記憶する
レジスタ(以下、IDQと記す)302を備えた命令実
行部(以下、EXUと記す)303と、主記憶装置制御
部〈以下、BCUと記す)306を備えた主記憶装置(
以下、MSと記す)307と、は汎用レジスタ群の内容
をロードするためのハードウェア(以下、LDHWと記
す)308 とを主に備えている。また、レジスタとし
て、主記憶装置から読み込んだオペランドを記憶するレ
ジスタ(以下、OPRと記す) 304 、実行結果を
記憶するレジスタ(以下、OPWと記す)305及び汎
用レジスタ群309を(肋えている。
This device consists of an instruction decoding section that decodes instructions;
an instruction execution unit (hereinafter referred to as EXU) 303 equipped with a register (hereinafter referred to as IDQ) 302 for storing decoded instructions (hereinafter referred to as DU) 301; and a main storage control unit (hereinafter referred to as BCU) 306. Main memory with
It mainly includes hardware (hereinafter referred to as MS) 307 and hardware (hereinafter referred to as LDHW) 308 for loading the contents of a group of general-purpose registers. Further, as registers, a register (hereinafter referred to as OPR) 304 for storing operands read from the main memory, a register (hereinafter referred to as OPW) 305 for storing execution results, and a general-purpose register group 309 are provided.

尚、本実施例ではパイプライン方式による先行制御方式
を採用し、I DU301 、EXU303 、主13
CU306の3つのステージが、それぞれ並行して動作
するように構成されている。
In this embodiment, a pipeline-based advance control method is adopted, and the IDU301, EXU303, main 13
The three stages of the CU 306 are each configured to operate in parallel.

本実施例における汎用レジスタ群は、第3図(a)に示
すように構成されている。即ち、レジスタ0(以下、R
Oと記す)からレジスタ31(以下、R31と記す)の
32本の汎用レジスタを備え、主記憶装置上ではアドレ
スの低い方から順にROlRl・・・R31というよう
にデータが格納される。
The general-purpose register group in this embodiment is configured as shown in FIG. 3(a). That is, register 0 (hereinafter referred to as R
It has 32 general-purpose registers from register 31 (hereinafter referred to as R31) to register 31 (hereinafter referred to as R31), and data is stored on the main memory in order from the lowest address to ROlRl...R31.

また、第3図(b)は、第1図に示した回路の構成を、
特にレジスタ並びにバスの構成に着目してより詳細に示
すブロック図である。尚、第3図(b)にオイテ、I 
DU501 、EXU515 、BCU519、MS5
23 、REG530 、LDHW527はそれぞれ第
1図(7)IDU301 、EXU303 、BCU3
06、MS307 、REG309 、LDHW308
に対応している。
In addition, FIG. 3(b) shows the configuration of the circuit shown in FIG.
FIG. 2 is a block diagram showing more details, particularly focusing on the configuration of registers and buses. In addition, in Fig. 3(b), Oite, I
DU501, EXU515, BCU519, MS5
23, REG530, and LDHW527 are respectively shown in FIG. 1 (7) IDU301, EXU303, and BCU3.
06, MS307, REG309, LDHW308
It corresponds to

また、各レジスタは以下のような機能を有している。Furthermore, each register has the following functions.

即ち、レジスタ(以下、BRと記す)502は、命令デ
コード時に読み出すペースレジスタの番号を記憶するレ
ジスタであり、レジスタ(以下、■Rと記す)503は
、命令デコード時に読み出すインデックスレジスタの番
号を記憶するレジスタであり、レジスタ(以下、IDC
と記す)510は、IDUのデコード済み情報を格納し
、レジスタ(以下、OPWと記す)517は、バス51
6により送られた実行結果を格納し、レジスタ(以下、
OPRと記す)520は、BCUが主記憶装置から読み
込んだデータを格納する。また、フラグレジスタ531
 は、主記憶装置からロード済んだレジスタを示すフラ
グを汎用レジスタの数分だけまとめたものである。
That is, a register (hereinafter referred to as BR) 502 is a register that stores the number of a pace register to be read when decoding an instruction, and a register (hereinafter referred to as ■R) 503 is a register that stores the number of an index register to be read when decoding an instruction. register (hereinafter referred to as IDC)
A register (hereinafter referred to as OPW) 510 stores decoded information of the IDU, and a register (hereinafter referred to as OPW) 517 stores the decoded information of the IDU.
The execution result sent by 6 is stored, and the register (hereinafter referred to as
OPR) 520 stores data read from the main memory by the BCU. In addition, the flag register 531
is a collection of flags indicating registers that have been loaded from main memory for the number of general-purpose registers.

一方、バスの構成は以下のようになっている。On the other hand, the configuration of the bus is as follows.

即ち、バス(以下、ΔREGFと記す)504は、ID
U301からペースレジスタの番号、インデックスレジ
スタの番号を知らせ、バス(以下、BREGFと記す)
505は、B R502からペースレジスタの番号をL
 D CHK2O2に知らせ、バス(以下、IREGF
と記す)506は、I R503からインデックスレジ
スタの番号をLDCHK507に知らせ、バス509は
、IDUのデコード済み情報をレジスタIDQ510に
送り、バス(以下、EBUSと記す)511 は、汎用
レジスタセント530の内容をIDU/EXUに転送す
る。
That is, the bus (hereinafter referred to as ΔREGF) 504 has an ID
Inform the pace register number and index register number from U301, and transfer to the bus (hereinafter referred to as BREGF).
505 is the pace register number L from B R502.
D Inform CHK2O2 and bus (hereinafter referred to as IREGF)
) 506 notifies the LDCHK 507 of the index register number from the IR 503 , the bus 509 sends the decoded information of the IDU to the register IDQ 510 , and the bus (hereinafter referred to as EBUS) 511 sends the contents of the general-purpose register cent 530 is transferred to the IDU/EXU.

バス512は、IDQ510のデコード済み情報をE 
X U315 に転送する。更に、バス513は、実行
時の第一オペランドのレジスタ番号をEXCHK524
に知らせ、バス514は、実行時の第二オペランドのレ
ジスタ番号をE X CHK524に知らせ、バス51
6は、実行結果をOP WSi2に転送し、バス518
は、0PW517の内容を主記憶装置制御部B CU3
19に転送し、バス521は、主記憶装置から読み込ん
だ汎用レジスタ群の内容即ちOP R520の内容をE
 X U315に転送し、データバス522は、主記憶
装置からデータを読み込み/書き込みし、バス526は
、主記憶装置から読み込んだ汎用レジスタ群の内容をL
 D HW527に転送し、バス528は、L D H
W527から汎用レジスタ群530に主記憶装置から読
み込んだ汎用レジスタ群の内容を転送する。
Bus 512 sends the decoded information of IDQ 510 to E.
Transfer to X U315. Furthermore, the bus 513 sends the register number of the first operand during execution to EXCHK524.
The bus 514 informs the EX CHK 524 of the register number of the second operand at the time of execution, and the bus 51
6 transfers the execution result to the OP WSi2 and transfers the execution result to the bus 518.
transfers the contents of 0PW517 to main storage control unit B CU3.
The bus 521 transfers the contents of the general-purpose register group read from the main memory, that is, the contents of the OP R520, to the E
The data bus 522 reads/writes data from the main memory, and the bus 526 transfers the contents of the general-purpose register group read from the main memory to the L
The bus 528 is transferred to the LDHW527.
The contents of the general-purpose register group read from the main memory are transferred from the W527 to the general-purpose register group 530.

更にまた、ハードウェアく以下、LDCHKと記す)5
07は、BR502、I R503のレジスタのロード
済みレジスタフラグ531の該当する部分が1′″の場
合にはIDU301に対しウェイト信号508を出力す
る。ハードウェア(以下、EXCHKと記す)524 
は、バス513.514の示すレジスタがロード済みで
あることを表示するフラグ531の該当する部分がビの
場合にはEXU515に対しウェイト信号525を出力
するある。ハードウェア(以下、LDHWと記す)52
7は、主記憶装置から読み込んだ汎用レジスタ群の内容
を汎用レジスタ群530 に転送する。
Furthermore, the hardware (hereinafter referred to as LDCHK)5
07 outputs a wait signal 508 to the IDU 301 when the corresponding part of the loaded register flag 531 of the register of BR 502 and IR 503 is 1''.Hardware (hereinafter referred to as EXCHK) 524
outputs a wait signal 525 to the EXU 515 when the corresponding part of the flag 531 indicating that the register indicated by the bus 513, 514 has been loaded is Bi. Hardware (hereinafter referred to as LDHW) 52
7 transfers the contents of the general-purpose register group read from the main memory to the general-purpose register group 530.

そして、信号(以下、WAITIDUと記す)508は
、IDU301に対して命令デコードを中断/再開する
ことを指示し、信号(以下、WAITEXUと記す) 
525 LJ、EXU515に対して命令実行を中断/
再開することを指示する。
A signal (hereinafter referred to as WAIT IDU) 508 instructs the IDU 301 to suspend/resume instruction decoding, and a signal (hereinafter referred to as WAITEXU)
525 LJ interrupts instruction execution for EXU515/
Instruct to restart.

以上のように構成された中央処理装置における汎用レジ
スタ群のロード処理の過程について、第1図並びに第3
図(a)、ら)を参照して以下に説明する。尚、本実施
例では主記憶装置に記1.αされている汎用レジスタ群
の内容をタスクと呼ぶことにする。また、汎用レジスタ
群の内容を主記憶装置から中央処理装置内の汎用レジス
タ群にロードすることを指示する命令をロードタスク命
令と呼ぶ。
The process of loading the general-purpose register group in the central processing unit configured as described above is explained in Figures 1 and 3.
This will be explained below with reference to FIGS. In this embodiment, 1. The contents of the general-purpose register group α are called a task. Further, an instruction that instructs to load the contents of a general-purpose register group from the main memory to a general-purpose register group in the central processing unit is called a load task instruction.

命令解読部TDU501 は汎用レジスタ群のロードを
指示する命令(ロードタスク命令をデコードすると、デ
コード済み情報をIDQ510に格納する。そして次の
命令のデコードを先取りして行う。
When the instruction decoding unit TDU 501 decodes an instruction (load task instruction) that instructs the loading of a group of general-purpose registers, it stores the decoded information in the IDQ 510. Then, it preemptively decodes the next instruction.

次の命令のデコードにおいて使用するペースレジスタの
番号をA RE G F2O3を通してBR502に記
憶する。
The number of the pace register used in decoding the next instruction is stored in the BR 502 through A RE G F2O3.

同様に次の命令デコードにおいて使用するインデックス
レジスタの番号をAREGF504を通してI R50
3に記憶する。
Similarly, the index register number to be used in the next instruction decoding is sent to I R50 through AREGF504.
Store in 3.

そしてLDCHK507はデコードにおいて使用するペ
ースレジスタ、インデックスレジスタの番号をB R5
02、I R503から得て、またロードが済んだレジ
スタの情報をロード済みレジスタフラグ531かう得て
、ペースレジスタ、インデックスレジスタがすでにロー
ドされているかを調べ、すでにロード済みの場合にはW
A I T I DU508をパl′″にし、まだロー
ドされていない場合にはWA I T I DU508
をII OIIにする。
Then, LDCHK507 sets the pace register and index register numbers used in decoding as BR5.
02, I Obtain information on loaded registers from R503 and check whether the pace register and index register have already been loaded, and check whether the pace register and index register are already loaded.
WAIT I DU 508 if not already loaded.
to II OII.

I D 0501 はWA I T I DU508が
1′′である時には先行デコードを中断し、WAITI
DU508が′0′”である時には先行デコード再開す
る。
ID 0501 interrupts advance decoding when WAITI DU508 is 1'', and WAITI
When DU508 is '0', advance decoding is restarted.

E X U303 LJ B U 5312を通してロ
ードタスク命令であることを理解して、L D CM 
D532を通してL D HW527にレジスタロード
開始を指示する。またロード済みレジスタ・フラグ53
1を全てOIIに初期化する。
Understand that it is a load task instruction through E
Through D532, the LDHW527 is instructed to start register loading. Also loaded register flag 53
Initialize all 1 to OII.

E X U303はロードタスク命令の実行を終了し、
次の命令のデコード情報I D Q510有効であれば
次の命令の実行を開始する。そしてIDQ510から次
の命令で使用する汎用レジスタ、第一オペランドのレジ
スタ番号0PRIをバス513を通してE X CHK
524に送り、第一オペランドのレジスタ番号0PR2
をハス514を通しテE X CHK524に送る。
E X U 303 finishes executing the load task instruction,
If the next instruction decoding information ID Q510 is valid, execution of the next instruction is started. Then, from IDQ510, the general-purpose register used in the next instruction, register number 0PRI of the first operand, is sent through bus 513 to EX CHK.
524 and register number 0PR2 of the first operand.
is sent through Hass 514 to TeX CHK 524.

EXCHK524 ババス513 、バス514を通し
て次の命令で使用するレジスタ番号を得て、またロード
が済んだ汎用レジスタの情報をロード済みレジスタフラ
グ531から得て、前記レジスタがすでにロードされて
いるかを調べ、すでにロード済みの場合にはWAI T
 E X [525を“1゛°にし、まだロードされて
いない場合にはWAITEXU525を0′′にする。
EXCHK524 Obtains the register number to be used in the next instruction through the bus 513 and bus 514, and obtains information about the loaded general-purpose register from the loaded register flag 531, checks whether the register has already been loaded, and checks if the register has already been loaded. WAI T if already loaded
Set E

E X U315 fiWA I T E X [52
5が”1”である時には次の命令の実行を中断し、WA
ITEXU515が“0″である時には次の命令の実行
を再開する。
EX U315 fiWA I TEX [52
When 5 is "1", execution of the next instruction is interrupted and WA
When ITEXU515 is "0", execution of the next instruction is resumed.

EXUは命令実行時にはOP R520から第一オペラ
ンド、第二オベランドデークを読み込み、実行結果をO
P WSi2に格納する。
When EXU executes an instruction, it reads the first operand and second operand from OP R520 and outputs the execution result.
Store in P WSi2.

L D HW527はEXU515からレジスタロード
開始指示LDCMD532信号を受けて、主記憶装置5
23内のタスク・レジスタ (TR)で示されるアドレ
スにあるTCB (汎用レジスタ群の内容)ヲハス52
6、バス528を通して汎用レジスタ群530に転送す
る。この時TRは汎用レジスタのROを指しており、R
OからR31と言う順番に転送が行われる。そして転送
が済んだレジスタについては、ロード済みレジスタ・フ
ラグ531の該当するビットを“ビにセットする。
The LDHW527 receives the register load start instruction LDCMD532 signal from the EXU515 and loads the main memory 5.
TCB at the address indicated by the task register (TR) in 23 (contents of general-purpose register group) 52
6. Transfer to general purpose register group 530 via bus 528. At this time, TR points to the general-purpose register RO, and R
Transfer is performed in the order from O to R31. For the registers that have been transferred, the corresponding bits of the loaded register flags 531 are set to "bi".

第2図は、第1図並びに第3図(a)、ら)に示した本
発明の実施例における汎用レジスタ群のロードタイミン
グ図である。
FIG. 2 is a load timing diagram of the general-purpose register group in the embodiment of the present invention shown in FIG. 1 and FIG. 3(a), et al.

第2図において、401はIDUの命令デコードのタイ
ミングを、402はEXUの命令実行のタイミングを、
403はBCUの動作のタイミングを、404はTCB
Lの動作のタイミングを、405は主記憶装置の読み込
み/書き込みのタイミングを、それぞれ示している。
In FIG. 2, 401 indicates the instruction decoding timing of the IDU, and 402 indicates the instruction execution timing of the EXU.
403 is the timing of BCU operation, 404 is TCB
405 indicates the timing of the operation of L, and 405 indicates the timing of reading/writing from the main memory.

第2図に示されるように、本実施例の構成では、ロード
・タスク命令の汎用レジスタ群のロード動作を遅らせ、
次の命令を先に実行し、以降の命令のオペランド・アク
セスのあいだに汎用レジスタ群のロードを行い、ロード
・タスク命令の実行時間を短縮することができる。
As shown in FIG. 2, in the configuration of this embodiment, the load operation of the general-purpose register group of the load task instruction is delayed;
The execution time of the load task instruction can be shortened by executing the next instruction first and loading the general-purpose register group during operand access of the subsequent instruction.

実施例2 第4図は、本発明の他の態様について説明する図である
。即ち、前記第一の実施例ではロード・タスク命令によ
る汎用レジスタ群のロードについての説明を行ったが、
この方法はサブルーチンの呼び出し/戻りの場合にも適
用できる。
Example 2 FIG. 4 is a diagram illustrating another aspect of the present invention. That is, in the first embodiment, the loading of the general-purpose register group by the load task instruction was explained, but
This method can also be applied to subroutine calls/returns.

第5図に示すように、サブルーチンの呼び出し/戻りで
はスタックと呼ばれる領域に引数(アーギュメント)を
ブツシュし、コール命令により旧AP(アーギュメント
・ポインタ)、旧PC(プログラム・カンウタ)をブツ
シュし分岐する。分岐先ではこのサブルーチンで使用す
る汎用レジスタ群をブツシュし命令の実行を開始する。
As shown in Figure 5, when calling/returning a subroutine, arguments are written to an area called the stack, and the call instruction writes to the old AP (argument pointer) and old PC (program counter) and branches. . At the branch destination, the general-purpose registers used in this subroutine are bushed and instruction execution begins.

このサブルーチンの実行が終了するとスタック領域にブ
ツシュされている汎用レジスタ群の内容を中央処理装置
内の汎用レジスタ群にロードしメイン・ルーチンに戻る
When the execution of this subroutine is completed, the contents of the general-purpose register group bushed in the stack area are loaded into the general-purpose register group in the central processing unit, and the process returns to the main routine.

この時の汎用レジスタ群のロードにも前記第一の実施例
の汎用レジスタ群のロードの方法が利用可能である。
The general-purpose register group loading method of the first embodiment can also be used to load the general-purpose register group at this time.

発明の効果 以上詳述のように、本発明に従えば、ロード・タスク命
令の汎用レジスタ群のロード処理の完了に先立って次の
命令を実行し、以降の命令のオペランド・アクセスのあ
いだに汎用レジスタ群のロードを行い、ロード・タスク
命令の実行時間を実質的に短縮することができる。
Effects of the Invention As detailed above, according to the present invention, the next instruction is executed prior to the completion of the load processing of the general-purpose register group of the load task instruction, and the general-purpose register group is executed during the operand access of the subsequent instruction. Loading a group of registers can be performed to substantially reduce the execution time of a load task instruction.

またこのことは汎用レジスタの数が多くなる。程有効で
あり、最近のLS■の集積度の向上により、より多くの
汎用レジスタ群を持つ中央処理装置の構成に有効な手段
である。
This also increases the number of general purpose registers. With the recent improvement in the degree of integration of LS2, it is an effective means for configuring a central processing unit having a larger number of general-purpose register groups.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は、本発明の方式を実施することのできる中央処
理装置の構成を概略的に示すブロック図であり、 第2図は、第1図に示した装置の動作を説明する汎用レ
ジスタ群のロードのタイミングを示すタイミング図であ
り、 第3図(a)は、第1図に示した中央処理装置の構成を
、特に汎用レジスタ群の構成に関してより詳細に示すブ
ロック図であり、 第3図(b)は、第1図に示した中央処理装置の構成を
、特にレジスタ並びにバスの構成に関してより詳細に示
すブロック図であり、 第4図は、該1図に示した装置における汎用レジスタ群
の構成をより詳細に示したブロック図であり1、 第5図は、本発明の他の態様について、サブルーチン呼
び出し/戻りのスタック領域の構成を示す図であり、 第6図は、従来のレジスタロード方式を実行するハード
ウェアの構成を概略的に示すブロック図であり、 第7図は、従来のレジスタロード方式の動作を模式的に
示す図である。 〔主な参照番号〕 101・・・・・命令解読部(IDU)、102・・・
・・ レジスタ、 103・・・・・命令実行部、 105・・・・・主記憶装置制御部、 106・・・・・主記憶装置(MS)、302・・・・
・ レジスタ(よりQ)、303・・・・・命令実行部
(EXU)、304・・・・・ レジスタ(OPR)、
305・・・・・ レジスタ (OPW)、306・・
・・・主記憶装置制御部(BCU)、307・・・・・
主記憶装置(MS)である。 308・・・・・転送装置(LDHW)、309・・・
・・汎用レジスタ群、 501・・・・・命令解読部(IDU)、502・・・
・・ レジスタ(BR)、503・・・・・ レジスタ
(IR)、504・・・・・ バス (AREGF)、
505・・・・・ バス (BREGF)、506・・
・・・ バス (IREGF)、510・・・・・ レ
ジスタ(tDQ)、511 ・・・・・ バス (EB
US)、515・・・・・命令実行部(EXU)、51
7・・・・・ レジスタ (OPW)、519・・・・
・主記憶装置制御部(BCU)、520・・・・・ レ
ジスタ(OPR)、523・・・・・主記憶装置(MS
)、530・・・・・汎用レジスタ群、 531・・・・・ フラグレジスタ
FIG. 1 is a block diagram schematically showing the configuration of a central processing unit capable of implementing the method of the present invention, and FIG. 2 is a general-purpose register group explaining the operation of the device shown in FIG. FIG. 3(a) is a block diagram showing the configuration of the central processing unit shown in FIG. 1 in more detail, especially regarding the configuration of the general-purpose register group; Figure (b) is a block diagram showing the configuration of the central processing unit shown in Figure 1 in more detail, especially regarding the configuration of registers and buses, and Figure 4 is a block diagram showing the general-purpose registers in the device shown in Figure 1. 1 is a block diagram showing the structure of the group in more detail; FIG. 5 is a block diagram showing the structure of the subroutine call/return stack area in another aspect of the present invention; FIG. 7 is a block diagram schematically showing the configuration of hardware that executes the register loading method. FIG. 7 is a diagram schematically showing the operation of the conventional register loading method. [Main reference numbers] 101...Instruction decoding unit (IDU), 102...
...Register, 103...Instruction execution unit, 105...Main storage control unit, 106...Main storage (MS), 302...
・ Register (more Q), 303... Instruction execution unit (EXU), 304... Register (OPR),
305... Register (OPW), 306...
...Main storage unit control unit (BCU), 307...
This is the main memory (MS). 308... Transfer device (LDHW), 309...
... General-purpose register group, 501 ... Instruction decoding unit (IDU), 502 ...
... Register (BR), 503... Register (IR), 504... Bus (AREGF),
505... Bus (BREGF), 506...
... Bus (IREGF), 510 ... Register (tDQ), 511 ... Bus (EB
US), 515... Instruction execution unit (EXU), 51
7... Register (OPW), 519...
・Main storage unit control unit (BCU), 520... Register (OPR), 523... Main storage unit (MS
), 530...General-purpose register group, 531...Flag register

Claims (1)

【特許請求の範囲】 情報処理装置において、 複数のレジスタからなるレジスタ群と、入力された命令
を実行する命令実行部と、種記憶装置から該レジスタ群
へのデータ転送装置とを少なくとも備え、更に、該転送
装置による転送処理が完了していることを表示するフラ
グを前記レジスタの各々に対応して備え、 前記転送装置が、レジスタ入れ換え命令による転送処理
を開始すると、前記命令実行部は該転送処理の完了を待
たずに該入れ換え命令に続く他の命令の実行を開始し、 該他の命令によって前記レジスタ群に含まれるレジスタ
を参照する必要が生じた場合に、該参照すべきレジスタ
に対応する前記フラグを参照し、該レジスタが未だロー
ドされていないことを検出した場合にのみ該レジスタの
ロードを持って該他の命令を実行することを特徴とする
レジスタ群のロード高速化方式。
[Scope of Claims] An information processing device, comprising at least a register group consisting of a plurality of registers, an instruction execution unit for executing an input instruction, and a data transfer device from a seed storage device to the register group, and further comprising: , a flag indicating that the transfer process by the transfer device has been completed is provided corresponding to each of the registers, and when the transfer device starts a transfer process based on a register replacement instruction, the instruction execution unit executes the transfer process by the transfer device. If execution of another instruction following the exchange instruction is started without waiting for the completion of processing, and it becomes necessary to refer to a register included in the register group by the other instruction, the register corresponding to the register to be referenced is generated. 1. A method for accelerating loading of a register group, characterized in that the register is loaded and the other instruction is executed only when it is detected that the register has not been loaded yet by referring to the flag.
JP33229787A 1987-12-29 1987-12-29 Register group loading accelerating system Pending JPH01175034A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33229787A JPH01175034A (en) 1987-12-29 1987-12-29 Register group loading accelerating system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33229787A JPH01175034A (en) 1987-12-29 1987-12-29 Register group loading accelerating system

Publications (1)

Publication Number Publication Date
JPH01175034A true JPH01175034A (en) 1989-07-11

Family

ID=18253388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33229787A Pending JPH01175034A (en) 1987-12-29 1987-12-29 Register group loading accelerating system

Country Status (1)

Country Link
JP (1) JPH01175034A (en)

Similar Documents

Publication Publication Date Title
US4970641A (en) Exception handling in a pipelined microprocessor
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
JPS6040067B2 (en) Distributed control multiprocessing system
JPH08171494A (en) Multi-thread processor
JPH08505965A (en) Context switching device and method
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US5021991A (en) Coprocessor instruction format
US4821231A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
US4914578A (en) Method and apparatus for interrupting a coprocessor
US4994961A (en) Coprocessor instruction format
JPH01175034A (en) Register group loading accelerating system
JP3211423B2 (en) Branch instruction execution method and branch instruction execution device
JPS62151940A (en) Register saving/return system
US4758978A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPH056281A (en) Information processor
JPH07219766A (en) Arithmetic processor
JPH0754467B2 (en) Data processing device
JPH01503340A (en) data processing unit
JP3067253B2 (en) Data processing device
JP2663895B2 (en) CPU simulator
US4811274A (en) Method and apparatus for selectively evaluating an effective address for a coprocessor
JPS63208945A (en) Information processor
JP2927102B2 (en) Instruction string switching method and arithmetic processor using the same
JP3139310B2 (en) Digital signal processor
JPS59144955A (en) Information processor