JP2003122561A - Information processing device - Google Patents

Information processing device

Info

Publication number
JP2003122561A
JP2003122561A JP2001312406A JP2001312406A JP2003122561A JP 2003122561 A JP2003122561 A JP 2003122561A JP 2001312406 A JP2001312406 A JP 2001312406A JP 2001312406 A JP2001312406 A JP 2001312406A JP 2003122561 A JP2003122561 A JP 2003122561A
Authority
JP
Japan
Prior art keywords
register
instruction
output
read
data
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
JP2001312406A
Other languages
Japanese (ja)
Inventor
Akira Miyoshi
明 三好
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 JP2001312406A priority Critical patent/JP2003122561A/en
Publication of JP2003122561A publication Critical patent/JP2003122561A/en
Pending legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device capable of reducing power consumption. SOLUTION: This information processing device comprises a D0 resistor 101 and a D1 resistor 102 having one input and two outputs. One data of two outputs is read by a data line X, the other data is read by a data line Y, and the read data is calculated by a pipeline divided by a plurality of pipeline resistors. The device further comprises a third resistor 110 for storing either of the two data read from the D0 resistor 101 and a selection circuit 108 for selecting either of the results calculated by an output from the third resistor 110 and the pipeline according to an instruction and outputting the selected results to the D1 resistor 102.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、主にクロックに同
期したパイプライン構造をもつ情報処理装置に関するも
のである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention mainly relates to an information processing device having a pipeline structure synchronized with a clock.

【0002】[0002]

【従来の技術】従来の情報処理装置のデータパス部を図
5に示す。データパスは、クロックにより制御されるフ
リップフロップ510から512により4つの部分に分
割され、それぞれ上からデコードステージ、実行ステー
ジ、メモリステージ、ストアステージと呼ぶことにす
る。
2. Description of the Related Art A data path unit of a conventional information processing apparatus is shown in FIG. The data path is divided into four parts by clock-controlled flip-flops 510 to 512, and they are referred to as a decode stage, an execution stage, a memory stage, and a store stage from the top.

【0003】まずデコードステージでは、レジスタファ
イル501から2つのデータが読み出され、フリップフ
ロップ群510に格納される。ここに示すレジスタファイ
ル501は、複数本のレジスタから構成されており、そ
れぞれD0、D1という名称であるとする。
First, in the decoding stage, two pieces of data are read from the register file 501 and stored in the flip-flop group 510. The register file 501 shown here is composed of a plurality of registers, and has names D0 and D1, respectively.

【0004】実行ステージでは、フリップフロップ群51
0から読み出された2つのオペランドが、演算回路502に
入力され、演算結果がフリップフロップ511に格納さ
れる。
At the execution stage, a flip-flop group 51
The two operands read from 0 are input to the arithmetic circuit 502, and the arithmetic result is stored in the flip-flop 511.

【0005】メモリステージでは、フリップフロップ5
11から出力されるデータを組合せ回路503で演算
し、フリップフロップ512に格納する。
In the memory stage, the flip-flop 5
The data output from 11 is calculated by the combinational circuit 503 and stored in the flip-flop 512.

【0006】ストアステージでは、フリップフロップ51
2から出力されたデータは、組合せ回路504を通し
て、レジスタファイル501に格納する。
At the store stage, the flip-flop 51
The data output from 2 is stored in the register file 501 through the combination circuit 504.

【0007】このうち、501に示されるレジスタファ
イルのブロック図を図6に示す。
A block diagram of the register file 501 is shown in FIG.

【0008】601は、CLK1で制御されるレジスタD0で
あり、データ線Zを入力とし、出力をトライステートバ
ッファ603、604に接続する。602は、CLK2で
制御されるレジスタD1であり、データ線Zを入力と
し、出力をトライステートバッファ605、606に接
続する。603は、トライステートバッファであり、レ
ジスタD0の出力を入力とし、出力をデータ線Xに出力す
る。604は、トライステートバッファであり、レジス
タD0の出力を入力とし、出力をデータ線Yに出力する。
605は、トライステートバッファであり、レジスタD
1の出力を入力とし、出力をデータ線Xに出力する。6
06は、トライステートバッファであり、レジスタD1
の出力を入力とし、出力をデータ線Yに出力する。
Reference numeral 601 denotes a register D0 controlled by CLK1, which receives the data line Z as an input and connects its output to the tristate buffers 603 and 604. Reference numeral 602 denotes a register D1 controlled by CLK2, which receives the data line Z as an input and connects its output to the tristate buffers 605 and 606. A tri-state buffer 603 receives the output of the register D0 as an input and outputs the output to the data line X. A tri-state buffer 604 receives the output of the register D0 as an input and outputs the output to the data line Y.
Reference numeral 605 is a tri-state buffer, which is a register D.
The output of 1 is input and the output is output to the data line X. 6
Reference numeral 06 denotes a tri-state buffer, which is a register D1.
The output of is input and the output is output to the data line Y.

【0009】今、レジスタファイル501のレジスタD
0からD1にデータを移動するレジスタ間の移動命令
(以下レジスタ間移動命令と記す)の動作を図5、図6
を用いて説明する。デコードステージでは、601のレ
ジスタD0からの値を読み出す。図6で示すと、D0レ
ジスタ601からデータが読み出され、さらにトライス
テートバッファ603の制御が活性化され、データ線X
に出力される。このときデータ線Xに接続されるほかの
トライステートバッファはすべてオフになる。そしてデ
ータ線Xに読み出されたデータは、フリップフロップ5
10に格納される。
Now, the register D of the register file 501
The operation of a register-to-register move instruction (hereinafter referred to as a register-to-register move instruction) that moves data from 0 to D1 is shown in FIGS.
Will be explained. At the decode stage, the value from the register D0 of 601 is read. As shown in FIG. 6, data is read from the D0 register 601, the control of the tri-state buffer 603 is activated, and the data line X
Is output to. At this time, all other tristate buffers connected to the data line X are turned off. The data read to the data line X is stored in the flip-flop 5
Stored in 10.

【0010】次に実行ステージにおいては、フリップフ
ロップ510から読み出されたデータが演算回路502
を通過し、フリップフロップ511に格納される。
Next, in the execution stage, the data read from the flip-flop 510 is the arithmetic circuit 502.
And is stored in the flip-flop 511.

【0011】メモリステージでは、フリップフロップ5
11に格納されたデータが読み出され、組合せ回路50
3を通過し、フリップフロップ512に格納される。
In the memory stage, the flip-flop 5
The data stored in 11 is read out, and the combinational circuit 50
3 and is stored in the flip-flop 512.

【0012】ストアステージでは、フリップフロップ5
12に格納されたデータが組合せ回路504を通過し、
レジスタファイル501内部のレジスタD1に格納され
る。図6においては、CLK2が活性化され、CLK1
が活性化されずにデータがD1レジスタ602に書き込
まれることになる。
At the store stage, the flip-flop 5
The data stored in 12 passes through the combinational circuit 504,
It is stored in the register D1 inside the register file 501. In FIG. 6, CLK2 is activated and CLK1
Will not be activated and data will be written to the D1 register 602.

【0013】この様子を図7に記す。図7は、デコー
ド、実行、メモリ、ストアステージからなる、パイプラ
イン図である。701は、レジスタ間移動命令(mov d
0,d1)を指しており、時刻1の時は、701のレジスタ間
移動命令はデコードステージに有り、時刻2に置いて
は、この命令は実行ステージに、時刻3においては、メ
モリステージに、時刻4ではストアステージにあること
を指している。
This state is shown in FIG. FIG. 7 is a pipeline diagram including decoding, execution, memory, and store stages. 701 is an inter-register move instruction (mov d
0, d1), at time 1, the register transfer instruction 701 is in the decode stage, at time 2, this instruction is in the execution stage, at time 3, in the memory stage, At time 4, it means that it is on the store stage.

【0014】ここでレジスタ間移動命令(mov d0 d1)
は、図6に示す601 D0レジスタに格納されている値
を、602 D1レジスタに移動する命令である。
Here, a register transfer instruction (mov d0 d1)
Is an instruction to move the value stored in the 601 D0 register shown in FIG. 6 to the 602 D1 register.

【0015】また、702、703、704に示す命令
は、他の任意の命令である。
The instructions indicated by 702, 703 and 704 are other arbitrary instructions.

【0016】[0016]

【発明が解決しようとする課題】このような従来の情報
処理制御装置においては、レジスタ間移動命令をおこな
う場合、移動する前のデータは、すべてのパイプライン
ステージを通過するため、消費電力を大きくすることと
なっていた。
In such a conventional information processing control device, when the register-to-register move instruction is performed, the data before the move passes through all the pipeline stages, so that the power consumption is large. It was supposed to be done.

【0017】本発明はこのような問題点を解決するため
になされたもので、消費電力を小さくすることができる
情報処理装置を提供するものである。
The present invention has been made in order to solve such a problem, and provides an information processing apparatus capable of reducing power consumption.

【0018】[0018]

【課題を解決するための手段】請求項1記載の情報処理
装置は、1入力2出力のある第1のレジスタおよび第2
のレジスタを有し、第1のレジスタおよび第2のレジス
タの2出力のうち一方は、第1のデータ線に読み出され、
他方は第2のデータ線に読み出され、読み出されたデー
タは、複数のパイプラインレジスタにより区切られるパ
イプラインにより演算処理される情報処理装置であっ
て、第1のレジスタから読み出された2つのデータのう
ち一方を格納する第3のレジスタと、第3のレジスタの
出力とパイプラインにより演算処理された結果のうちの
一方を命令に応じて選択し、選択結果を第2のレジスタ
に出力する選択回路を備えたものである。
An information processing apparatus according to claim 1 has a first register and a second register each having one input and two outputs.
And one of the two outputs of the first register and the second register is read to the first data line,
The other is read to the second data line, and the read data is an information processing device that is arithmetically processed by a pipeline divided by a plurality of pipeline registers and read from the first register. A third register that stores one of the two data and one of the output of the third register and the result of the arithmetic processing by the pipeline are selected according to the instruction, and the selected result is stored in the second register. It is provided with a selection circuit for outputting.

【0019】請求項1記載の情報処理装置によれば、レ
ジスタ間移動命令の実行において、汎用レジスタから読
み出されたデータをレジスタに格納し選択回路で選択し
て汎用レジスタに入力するため、汎用レジスタからの読
出し、汎用レジスタへの書込みのサイクルを除いて、パ
イプラインの動作を停止させることができる。すなわ
ち、レジスタ間移動命令において、実行ステージ以降の
ステージを動作させないため、低消費電力の情報処理装
置を提供できる。
According to the information processing apparatus of the first aspect, in executing the inter-register moving instruction, the data read from the general-purpose register is stored in the register, selected by the selection circuit, and input to the general-purpose register. The pipeline operation can be stopped except for the cycle of reading from the register and writing to the general-purpose register. That is, in the register-to-register transfer instruction, the stages after the execution stage are not operated, so that it is possible to provide an information processing device with low power consumption.

【0020】請求項2記載の情報処理装置は、1入力2
出力のある第1のレジスタおよび第2のレジスタを有
し、第1のレジスタおよび第2のレジスタの2出力のう
ち一方は、第1のデータ線に読み出され、他方は第2のデ
ータ線に読み出され、読み出されたデータは、複数のパ
イプラインレジスタにより区切られるパイプラインによ
り演算処理される情報処理装置であって、第1のレジス
タから読み出された2つのデータのうち一方を格納する
第3のレジスタと、第3のレジスタの出力とパイプライ
ンにより演算処理された結果のうちの一方を命令に応じ
て選択し、選択結果を第2のレジスタに出力する選択回
路と、第3のレジスタの出力を第1のバスおよび第2のバ
スの少なくとも一方に出力可能なトライステート回路と
を備えたものである。
The information processing apparatus according to claim 2 has one input and two inputs.
It has a first register and a second register with an output, and one of the two outputs of the first register and the second register is read to the first data line and the other is the second data line. Is an information processing device that is arithmetically processed by a pipeline divided by a plurality of pipeline registers, and stores one of the two data read from the first register. A third register for storing, a selection circuit for selecting one of the output of the third register and the result of operation processing by the pipeline according to the instruction, and outputting the selection result to the second register, And a tristate circuit capable of outputting the output of the register 3 to at least one of the first bus and the second bus.

【0021】請求項2記載の情報処理装置によれば、請
求項1と同様な効果のほか、レジスタ間移動命令の後続
する命令において、第2のレジスタを読み出す命令が存
在する場合でも、動作に支障がない。
According to the information processing apparatus of the second aspect, in addition to the same effect as the first aspect, even if the instruction following the inter-register moving instruction has an instruction to read the second register, the operation is performed. There is no problem.

【0022】[0022]

【発明の実施の形態】(実施の形態1)図1は、本発明
の第1の実施形態である汎用レジスタファイルのブロッ
ク図である。例えば汎用レジスタは複数の1入力2出力
のレジスタから構成されるが、ここでは、簡略化のた
め、2本の汎用レジスタファイルの場合について説明す
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) FIG. 1 is a block diagram of a general-purpose register file according to a first embodiment of the present invention. For example, the general-purpose register is composed of a plurality of 1-input / 2-output registers, but here, for simplification, the case of two general-purpose register files will be described.

【0023】101は、CLK1で制御されるレジスタD0で
あり、選択回路107の出力を入力とし、出力をトライ
ステートバッファ103、104に接続する。
Reference numeral 101 denotes a register D0 controlled by CLK1, which receives the output of the selection circuit 107 and connects the output to the tristate buffers 103 and 104.

【0024】また102は、CLK2で制御されるレジス
タD1であり、選択回路108の出力を入力とし、出力
をトライステートバッファ105、106に接続する。
Reference numeral 102 is a register D1 controlled by CLK2, which receives the output of the selection circuit 108 as an input and connects the output to the tristate buffers 105 and 106.

【0025】103は、トライステートバッファであ
り、D0レジスタ101の出力を入力とし、出力を例えば
バスであるデータ線Xに出力する。
A tri-state buffer 103 receives the output of the D0 register 101 as an input and outputs the output to the data line X which is a bus, for example.

【0026】104は、トライステートバッファであ
り、D0レジスタ101の出力を入力とし、出力を例え
ばバスであるデータ線Yに出力する。
A tri-state buffer 104 receives the output of the D0 register 101 as an input and outputs the output to, for example, a data line Y which is a bus.

【0027】105は、トライステートバッファであ
り、D1レジスタ102の出力を入力とし、出力をデー
タ線Xに出力する。
Reference numeral 105 denotes a tri-state buffer which receives the output of the D1 register 102 as an input and outputs the output to the data line X.

【0028】106は、トライステートバッファであ
り、D1レジスタ102の出力を入力とし、出力をデー
タ線Yに出力する。
Reference numeral 106 denotes a tri-state buffer which receives the output of the D1 register 102 as an input and outputs the output to the data line Y.

【0029】107は、2入力の選択回路であり、レジ
スタ110の出力とデータ線Zを選択し、選択結果をD0レジ
スタ101の入力に出力する。
Reference numeral 107 denotes a 2-input selection circuit, which selects the output of the register 110 and the data line Z and outputs the selection result to the input of the D0 register 101.

【0030】108は、2入力の選択回路であり、レジ
スタ110の出力とデータ線Zを選択し、選択結果をD1レ
ジスタ102の入力に出力する。
Reference numeral 108 denotes a 2-input selection circuit which selects the output of the register 110 and the data line Z and outputs the selection result to the input of the D1 register 102.

【0031】110は、レジスタであり、データ線Xを
入力とし、出力を選択回路107、108に出力する。
Reference numeral 110 denotes a register, which receives the data line X as an input and outputs the output to the selection circuits 107 and 108.

【0032】図2は、本発明の図1に示すレジスタを用
い、図5に示すハードウエア構成で命令を動作させた場
合のタイミングチャートである。
FIG. 2 is a timing chart when an instruction is operated by the hardware configuration shown in FIG. 5 using the register shown in FIG. 1 of the present invention.

【0033】パイプラインは、デコード、実行、メモ
リ、ストアの各4ステージに分かれている。
The pipeline is divided into four stages of decoding, execution, memory and store.

【0034】201は、レジスタ間移動命令(mov d0,d
1)の各パイプラインステージでの動作を示す。時刻2
でレジスタ間移動命令は、デコードステージにあり、時
刻3では、このレジスタ間移動命令は、実行ステージに
あり、時刻4では、このレジスタ間移動命令は、メモリ
ステージにあり、時刻5では、このレジスタ間移動命令
は、ストアステージにある。
Reference numeral 201 denotes an inter-register movement instruction (mov d0, d
The operation in each pipeline stage of 1) is shown. Time 2
The inter-register move instruction is in the decode stage, at time 3, this inter-register move instruction is in the execution stage, at time 4, this inter-register move instruction is in the memory stage, and at time 5, this register The move instruction is on the store stage.

【0035】202、203、204は、201のレジ
スタ間移動命令の後に続く3つの命令である。
202, 203, and 204 are three instructions following the register-to-register movement instruction 201.

【0036】以上、図1に示すように構成された汎用レ
ジスタを用い、レジスタ間移動命令を実行する動作につ
いて、図1、図2、図5を用い説明する。なおここで図
5に示すレジスタファイル501は、ここでは、図1に
示すレジスタファイル120に置き換わるものとする。
The operation of executing the register-to-register move instruction using the general-purpose register configured as shown in FIG. 1 will be described with reference to FIGS. 1, 2 and 5. The register file 501 shown in FIG. 5 is assumed to replace the register file 120 shown in FIG. 1 here.

【0037】まず、レジスタ間移動命令(mov d0,d1)
の後続する3命令(202、203、204)におい
て、D1レジスタ102を読み出す命令がない場合を考え
る。
First, a register transfer instruction (mov d0, d1)
Consider the case where there is no instruction for reading the D1 register 102 in the following three instructions (202, 203, 204).

【0038】レジスタ間移動命令(mov d0,d1)は、D0
レジスタ101の値を読出しD1レジスタ102に書き込
む命令である。
The register transfer instruction (mov d0, d1) is D0.
This is an instruction to read the value of the register 101 and write it to the D1 register 102.

【0039】図2における時刻2において、この命令は
デコードステージにあるとする。このとき、図1に示す
D0レジスタ101からデータを読み出し、トライステ
ートバッファ103を活性化し、データ線XにD0レジ
スタ101の値を出力する。そして次のサイクルにD0
レジスタ101の値をレジスタ110に格納する。
At time 2 in FIG. 2, it is assumed that this instruction is in the decode stage. At this time, data is read from the D0 register 101 shown in FIG. 1, the tri-state buffer 103 is activated, and the value of the D0 register 101 is output to the data line X. And in the next cycle D0
The value of the register 101 is stored in the register 110.

【0040】続く時刻3,4においては、図2におい
て、レジスタ間移動命令201は、実行、メモリステー
ジの動作に移るが、図5におけるレジスタ510、511は動
作させず、前の値を保持したままになる。したがって、
レジスタ間移動命令は、実行、メモリステージでは、演
算されないことになる。
At subsequent time points 3 and 4, the inter-register movement instruction 201 in FIG. 2 shifts to execution and memory stage operation, but the registers 510 and 511 in FIG. 5 are not operated and the previous values are held. Leave. Therefore,
The register-to-register move instruction is not operated in the execution or memory stage.

【0041】続く時刻5において、図5におけるレジス
タ512は動作せず、レジスタ110に格納されている
データ(時刻2でD0レジスタ101から読み出された
データ)が、セレクタすなわち選択回路108を介し
て、D1レジスタ102に格納される。
At subsequent time 5, the register 512 in FIG. 5 does not operate, and the data stored in the register 110 (data read from the D0 register 101 at time 2) is passed through the selector, that is, the selection circuit 108. , D1 register 102.

【0042】なお、図2に示すようにレジスタ間移動命
令201がデコードステージにある時(時刻5)の時、
同時にストアステージにある命令の実行結果を格納する
格納先レジスタが、D1レジスタ102にならないよう
に、アセンブラ命令を配置しているものとする。この
時、ストアステージにある命令は、格納先レジスタがD
1レジスタ102以外に指定されているので、格納時に
データが衝突することはない。
As shown in FIG. 2, when the inter-register transfer instruction 201 is in the decode stage (time 5),
At the same time, the assembler instruction is arranged so that the storage destination register for storing the execution result of the instruction in the store stage does not become the D1 register 102. At this time, the instruction in the store stage has the storage destination register D
Since it is designated to other than the 1 register 102, the data does not collide when stored.

【0043】以上のように、レジスタ間移動命令に後続
する3命令202〜204に、D1レジスタ102の値
をソースとして使用しない場合、本発明を使用すればレ
ジスタ間移動命令(mov d0,d1)の実行においては、図
5における実行、メモリ、ストアステージのレジスタ5
10,511,512を動作させずにレジスタ間移動命
令をパイプラインの乱れもなく実行できる。
As described above, when the value of the D1 register 102 is not used as the source for the three instructions 202 to 204 following the register movement instruction, the register movement instruction (mov d0, d1) is used according to the present invention. Of the execution, memory, and store stage registers 5 in FIG.
The register-to-register move instruction can be executed without disturbing the pipeline without operating 10, 511 and 512.

【0044】レジスタ510、511、512を動作さ
せないため、それらの間に存在する演算回路502およ
び組合せ回路503、504を動作させることがないた
め、電荷の充放電がなく、低消費電力化できる。
Since the registers 510, 511 and 512 are not operated, the arithmetic circuit 502 and the combinational circuits 503 and 504 existing between them are not operated, so that there is no charge / discharge of electric charges and low power consumption can be achieved.

【0045】しかしながら、レジスタ間移動命令(mov
d0,d1)の後続する3命令において、D1レジスタ102
を読み出す命令が存在する場合、後続する3命令は、レ
ジスタ間移動命令(mov d0,d1)がストアステージを完
了するまで、デーコードステージを実行することができ
ないため、パイプラインストールが発生し、性能を劣化
させることになる。
However, the register move instruction (mov
In the subsequent three instructions of d0, d1), the D1 register 102
If there is an instruction to read, the following three instructions cannot execute the data code stage until the register move instruction (mov d0, d1) completes the store stage, so pipeline stall occurs and performance is degraded. Will be deteriorated.

【0046】(実施の形態2)図3は、本発明の第2の
実施形態である汎用レジスタファイルのブロック図であ
る。ここでは、簡略化のため第1の実施の形態と同様、
2本の汎用レジスタファイル320の場合について説明
する。
(Second Embodiment) FIG. 3 is a block diagram of a general-purpose register file according to a second embodiment of the present invention. Here, for simplification, as in the first embodiment,
The case of two general-purpose register files 320 will be described.

【0047】図3は図1に対して、トライステートバッ
ファ312、313を追加した構成になっている。
FIG. 3 has a configuration in which tristate buffers 312 and 313 are added to FIG.

【0048】トライステートバッファ312は、レジス
タ110の出力を入力とし、出力をデータ線Xに接続す
る構成になっている。また、トライステートバッファ3
13は、レジスタ110の出力を入力とし、出力をデー
タ線Yに接続する構成になっている。
The tri-state buffer 312 receives the output of the register 110 and connects the output to the data line X. Also, tri-state buffer 3
13 has a configuration in which the output of the register 110 is input and the output is connected to the data line Y.

【0049】図4は、本発明の図3に示すレジスタファ
イル320を用い、図5に示すハードウエア構成で命令
を動作させた場合のタイミングチャートである。
FIG. 4 is a timing chart when an instruction is operated with the hardware configuration shown in FIG. 5 using the register file 320 shown in FIG. 3 of the present invention.

【0050】パイプラインは、デコード、実行、メモ
リ、ストアの各4ステージに分かれている。
The pipeline is divided into four stages of decoding, execution, memory and store.

【0051】401は、レジスタ間移動命令(mov d0,d
1)の各パイプラインステージでの動作を示す。時刻2
でレジスタ間移動命令は、デコードステージにあり、時
刻3では、このレジスタ間移動命令は、実行ステージに
あり、時刻4では、このレジスタ間移動命令は、メモリ
ステージにあり、時刻5では、このレジスタ間移動命令
は、ストアステージにある。
Reference numeral 401 denotes an inter-register move instruction (mov d0, d
The operation in each pipeline stage of 1) is shown. Time 2
The inter-register move instruction is in the decode stage, at time 3, this inter-register move instruction is in the execution stage, at time 4, this inter-register move instruction is in the memory stage, and at time 5, this register The move instruction is on the store stage.

【0052】402、403、404は401のレジス
タ間移動命令の後続する3つの命令である。
Reference numerals 402, 403, and 404 are the three instructions following the register movement instruction 401.

【0053】まず、レジスタ間移動命令(mov d0,d1)
の後続する3命令(402、403、404)におい
て、D1レジスタ102を読み出す命令が存在しない場
合を考える。
First, a register transfer instruction (mov d0, d1)
Consider the case where there is no instruction for reading the D1 register 102 in the following three instructions (402, 403, 404).

【0054】このときは、先に述べたとおり、実行、メ
モリ、ストアの各ステージにおいて、レジスタ510、
511、512を動作させずに、パイプラインの乱れも
なくレジスタ間移動命令を実行できるため、性能を落と
さず、低電力化が可能になる。
At this time, as described above, in each stage of execution, memory and store, the register 510,
Since register-to-register move instructions can be executed without disturbing the pipeline without operating 511 and 512, it is possible to reduce power consumption without lowering performance.

【0055】次に、レジスタ間移動命令(mov d0,d1)
の後続する3命令(402、403、404)におい
て、D1レジスタ102を読み出す命令が存在する場合
を考える。
Next, a register transfer instruction (mov d0, d1)
Consider a case where an instruction for reading the D1 register 102 exists in the following three instructions (402, 403, 404).

【0056】たとえば、図4に示す402のように、レ
ジスタ間移動命令(mov d0,d1)の直後(402)にD
1レジスタ102を読出し演算する命令(以下、D1演
算命令と記す)がある場合を考える。
For example, as indicated by 402 in FIG. 4, D is immediately (402) immediately after the register moving instruction (mov d0, d1).
Consider a case where there is an instruction (hereinafter, referred to as a D1 operation instruction) for reading and operating the 1 register 102.

【0057】図4に示す時刻2に、レジスタ間移動命令
401はデコードステージに、後続するD1演算命令は
まだパイプラインステージに入っていないとする。
At time 2 shown in FIG. 4, it is assumed that the register move instruction 401 has not entered the decode stage and the subsequent D1 operation instruction has not entered the pipeline stage.

【0058】時刻2においては、レジスタ間移動命令4
01は、D0レジスタ101からデータを読み出しトラ
イステートバッファ103を活性化し、データ線Xに出
力し、D0レジスタ101の値をレジスタ110に格納
する。
At time 2, the register transfer instruction 4
01 reads data from the D0 register 101, activates the tri-state buffer 103, outputs the data to the data line X, and stores the value of the D0 register 101 in the register 110.

【0059】続く時刻3において、レジスタ間移動命令
401は実行ステージに、D1演算命令402はデコー
ドステージに進行する。
At subsequent time 3, the register movement instruction 401 advances to the execution stage, and the D1 operation instruction 402 advances to the decode stage.

【0060】このとき、D1演算命令402はレジスタ
110の値を読み出す様に制御する。なぜなら、使用さ
れるD1レジスタ102の値は、命令401により格納
されたD0レジスタ101の値であるからである。した
がって、命令402が読み出すD1レジスタ102の値
は、レジスタ110の値を読み出す必要がある。つま
り、レジスタ110に格納されている値をトライステー
トバッファ312または313を通して、データ線Xま
たはYに出力する。
At this time, the D1 operation instruction 402 controls to read the value of the register 110. This is because the value of the D1 register 102 used is the value of the D0 register 101 stored by the instruction 401. Therefore, the value of the D1 register 102 read by the instruction 402 needs to read the value of the register 110. That is, the value stored in the register 110 is output to the data line X or Y through the tri-state buffer 312 or 313.

【0061】一方、この時刻3に実行ステージに進んだ
命令401は、レジスタ510を動作させないため、実
行ステージは電力を消費しない。
On the other hand, the instruction 401 that has proceeded to the execution stage at time 3 does not operate the register 510, so that the execution stage does not consume power.

【0062】続く時刻4においては、レジスタ間移動命
令401、D1演算命令402は、それぞれメモリ、実
行ステージに移る。
At the subsequent time 4, the register transfer instruction 401 and the D1 operation instruction 402 move to the memory and execution stages, respectively.

【0063】レジスタ間移動命令401に関しては、レ
ジスタ511は動作させず、前の値を保持したままにな
り動作しない。一方D1演算命令402は、レジスタ5
10を動作させ実行ステージにおいて演算が実行され
る。
Regarding the inter-register transfer instruction 401, the register 511 does not operate, and the previous value is held and does not operate. On the other hand, the D1 operation instruction 402 is the register 5
10 is operated and the operation is executed in the execution stage.

【0064】続く時刻5において、命令401、402
はそれぞれ、ストアステージ、メモリステージに移る。
At subsequent time 5, instructions 401 and 402
Moves to the store stage and the memory stage, respectively.

【0065】命令401においては、レジスタ512は
動作せず、レジスタ110に格納されているデータが、
セレクタ108を介して、D1レジスタ102に格納さ
れる。一方命令402は、メモリステージにあり、レジ
スタ511が動作し処理が行われる。
In the instruction 401, the register 512 does not operate, and the data stored in the register 110 is
It is stored in the D1 register 102 via the selector 108. On the other hand, the instruction 402 is in the memory stage, and the register 511 operates to perform the processing.

【0066】このように、レジスタ間移動命令(mov d
0,d1)401の後続命令に、D1レジスタ102を読出
し演算する命令402が配置された場合でも、命令40
1のパイプライン進行において、実行、メモリ、ストア
ステージのレジスタ510,511,512が動作しな
いため、消費電力を抑えられる。さらに、後続するD1
レジスタ102を読出し演算する命令402が存在して
もパイプラインの乱れなく、性能を劣化させることなく
パイプライン動作が可能になる。
Thus, the register move instruction (mov d
0, d1) Even if the instruction 402 to read and operate the D1 register 102 is arranged in the instruction subsequent to 401, the instruction 40
Since the registers 510, 511, and 512 of the execution, memory, and store stages do not operate in the pipeline progress of No. 1, power consumption can be suppressed. In addition, the subsequent D1
Even if there is an instruction 402 for reading and operating the register 102, the pipeline is not disturbed, and the pipeline operation can be performed without degrading the performance.

【0067】なお、本実施の形態では、レジスタ間移動
命令401の直後にD1レジスタ102を読出し演算す
る命令402を配置したが、命令402は、その後に配
置しても動作に支障はきたさない。
In this embodiment, the instruction 402 for reading and operating the D1 register 102 is arranged immediately after the register moving instruction 401, but the instruction 402 does not hinder the operation even if it is arranged thereafter.

【0068】また、本実施の形態では、レジスタ間移動
命令(mov d0,d1)に関して説明したが、mov imm ,d1のよ
うに、即値をレジスタに格納する命令においても同様に
低消費電力化を図ることが可能である。
In the present embodiment, the register move instruction (mov d0, d1) has been described, but the power consumption can be reduced similarly in the instruction such as mov imm, d1 for storing an immediate value in the register. It is possible to plan.

【0069】[0069]

【発明の効果】請求項1記載の情報処理装置によれば、
レジスタ間移動命令の実行において、汎用レジスタから
読み出されたデータをレジスタに格納し選択回路で選択
して汎用レジスタに入力するため、汎用レジスタからの
読出し、汎用レジスタへの書込みのサイクルを除いて、
パイプラインの動作を停止させることができる。すなわ
ち、レジスタ間移動命令において、実行ステージ以降の
ステージを動作させないため、低消費電力の情報処理装
置を提供できる。
According to the information processing apparatus of claim 1,
When executing the register-to-register move instruction, the data read from the general-purpose register is stored in the register, selected by the selection circuit, and input to the general-purpose register. Therefore, except the cycle of reading from the general-purpose register and writing to the general-purpose register. ,
The operation of the pipeline can be stopped. That is, in the register-to-register transfer instruction, the stages after the execution stage are not operated, so that it is possible to provide an information processing device with low power consumption.

【0070】請求項2記載の情報処理装置によれば、請
求項1と同様な効果のほか、レジスタ間移動命令の後続
する命令において、第2のレジスタを読み出す命令が存
在する場合でも、動作に支障がない。
According to the information processing apparatus of the second aspect, in addition to the same effect as that of the first aspect, even when the instruction following the inter-register movement instruction has an instruction to read the second register, the operation is performed. There is no problem.

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

【図1】本発明の第1の実施の形態の汎用レジスタのブ
ロック図である。
FIG. 1 is a block diagram of a general-purpose register according to a first embodiment of this invention.

【図2】図1を使用した場合のパイプラインチャート図
である。
FIG. 2 is a pipeline chart diagram when FIG. 1 is used.

【図3】本発明の第2の実施の形態の汎用レジスタのブ
ロック図である。
FIG. 3 is a block diagram of a general-purpose register according to a second embodiment of the present invention.

【図4】図3を使用した場合のパイプラインチャート図
である。
FIG. 4 is a pipeline chart diagram when FIG. 3 is used.

【図5】データパスのブロック図である。FIG. 5 is a block diagram of a data path.

【図6】従来の汎用レジスタのブロック図である。FIG. 6 is a block diagram of a conventional general-purpose register.

【図7】図6を使用した場合のパイプラインチャート図
である。
FIG. 7 is a pipeline chart diagram when FIG. 6 is used.

【符号の説明】[Explanation of symbols]

101、102、110 レジスタ 103、104、105,106 トライステートバッ
ファ 107,108 選択回路 312、313 トライステートバッファ 501 レジスタファイル 510、511、512 レジスタ 502 演算回路 503,504 組合せ回路
101, 102, 110 registers 103, 104, 105, 106 tri-state buffers 107, 108 selection circuits 312, 313 tri-state buffers 501 register files 510, 511, 512 registers 502 arithmetic circuits 503, 504 combinational circuits

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 1入力2出力のある第1のレジスタおよ
び第2のレジスタを有し、前記第1のレジスタおよび第
2のレジスタの前記2出力のうち一方は、第1のデータ
線に読み出され、他方は第2のデータ線に読み出され、読
み出されたデータは、複数のパイプラインレジスタによ
り区切られるパイプラインにより演算処理される情報処
理装置であって、 前記第1のレジスタから読み出された2つのデータのう
ち一方を格納する第3のレジスタと、 前記第3のレジスタの出力と前記パイプラインにより演
算処理された結果のうちの一方を命令に応じて選択し、
選択結果を前記第2のレジスタに出力する選択回路を備
えた情報処理装置。
1. A first register and a second register having one input and two outputs, wherein one of the two outputs of the first register and the second register is read to a first data line. Is output and the other is read to the second data line, and the read data is an information processing device that is arithmetically processed by a pipeline divided by a plurality of pipeline registers. A third register that stores one of the two read data, and one of the output of the third register and the result of the arithmetic processing by the pipeline are selected according to the instruction,
An information processing apparatus comprising a selection circuit that outputs a selection result to the second register.
【請求項2】 1入力2出力のある第1のレジスタおよ
び第2のレジスタを有し、前記第1のレジスタおよび第
2のレジスタの前記2出力のうち一方は、第1のデータ
線に読み出され、他方は第2のデータ線に読み出され、読
み出されたデータは、複数のパイプラインレジスタによ
り区切られるパイプラインにより演算処理される情報処
理装置であって、 前記第1のレジスタから読み出された2つのデータのう
ち一方を格納する第3のレジスタと、 前記第3のレジスタの出力と前記パイプラインにより演
算処理された結果のうちの一方を命令に応じて選択し、
選択結果を前記第2のレジスタに出力する選択回路と、 前記第3のレジスタの出力を前記第1のバスおよび前記
第2のバスの少なくとも一方に出力可能なトライステー
ト回路とを備えた情報処理装置。
2. A first register and a second register having one input and two outputs, wherein one of the two outputs of the first register and the second register is read to a first data line. Is output and the other is read to the second data line, and the read data is an information processing device that is arithmetically processed by a pipeline divided by a plurality of pipeline registers. A third register that stores one of the two read data, and one of the output of the third register and the result of the arithmetic processing by the pipeline are selected according to the instruction,
Information processing including a selection circuit that outputs a selection result to the second register, and a tri-state circuit that can output the output of the third register to at least one of the first bus and the second bus apparatus.
JP2001312406A 2001-10-10 2001-10-10 Information processing device Pending JP2003122561A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001312406A JP2003122561A (en) 2001-10-10 2001-10-10 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001312406A JP2003122561A (en) 2001-10-10 2001-10-10 Information processing device

Publications (1)

Publication Number Publication Date
JP2003122561A true JP2003122561A (en) 2003-04-25

Family

ID=19131068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001312406A Pending JP2003122561A (en) 2001-10-10 2001-10-10 Information processing device

Country Status (1)

Country Link
JP (1) JP2003122561A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083421A1 (en) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. Processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007083421A1 (en) * 2006-01-20 2007-07-26 Matsushita Electric Industrial Co., Ltd. Processor
JPWO2007083421A1 (en) * 2006-01-20 2009-06-11 パナソニック株式会社 Processor
JP4607958B2 (en) * 2006-01-20 2011-01-05 パナソニック株式会社 Processor and program conversion apparatus
US7975128B2 (en) 2006-01-20 2011-07-05 Panasonic Corporation Apparatuses and programs for implementing a forwarding function

Similar Documents

Publication Publication Date Title
US6230257B1 (en) Method and apparatus for staggering execution of a single packed data instruction using the same circuit
JP3592230B2 (en) Data processing device
US6304955B1 (en) Method and apparatus for performing latency based hazard detection
JP4861030B2 (en) Semiconductor device
US6233671B1 (en) Staggering execution of an instruction by dividing a full-width macro instruction into at least two partial-width micro instructions
US20140047218A1 (en) Multi-stage register renaming using dependency removal
JP2004171573A (en) Coprocessor extension architecture built by using novel splint-instruction transaction model
JP5126226B2 (en) Arithmetic unit, processor and processor architecture
JP4747026B2 (en) Microprocessor
JPS58501560A (en) microprocessor
JP4753895B2 (en) Array type processor having delay adjustment circuit
JP5231949B2 (en) Semiconductor device and data processing method using semiconductor device
EP1367483B1 (en) Methods and systems for data manipulation
JP2003122561A (en) Information processing device
JP4444305B2 (en) Semiconductor device
JPH09212360A (en) Data processor
JPH1091430A (en) Instruction decoding device
JP2007528549A (en) Electronic circuit
JPH07244588A (en) Data processor
US8677099B2 (en) Reconfigurable processor with predicate signal activated operation configuration memory and separate routing configuration memory
US20050114626A1 (en) Very long instruction word architecture
JP5491113B2 (en) Vector processing apparatus, vector processing method, and program
JPH1020959A (en) Low power consumption micro processor
JP2001092658A (en) Data processing circuit and data processor
JPH07505242A (en) Elimination of critical paths in the operation of memory control units and input/output control units