JPH02240734A - Information processor - Google Patents
Information processorInfo
- Publication number
- JPH02240734A JPH02240734A JP1063286A JP6328689A JPH02240734A JP H02240734 A JPH02240734 A JP H02240734A JP 1063286 A JP1063286 A JP 1063286A JP 6328689 A JP6328689 A JP 6328689A JP H02240734 A JPH02240734 A JP H02240734A
- Authority
- JP
- Japan
- Prior art keywords
- register
- register file
- output
- contents
- selection means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
Description
[産業上の利用分野]
本発明はレジスタ交換命令を有する情報処理装置に関す
る。
[従来の技術]
従来、パイプライン機構を採用した情報処理装置におい
て、汎用レジスタ群(レジスタファイル)が1つしかな
い場合のレジスタ間交換命令(例えば、EXG AO
,BOc7)に’>に、レジスタAOとBOのデータを
入れ変える命令)の実行サイクルは、仮にレジスタの読
出しがIT(T:マシンサイクル)で行なえたとしても
、レジスタの書込みにITを要し、最低でも2Tを要し
ていた。
第3図は従来の情報処理装置の一例のブロック図である
。
簡略化のため、第3図の情報処理装置は必要最小限の機
能ブロックであるレジスタファイル1、オペランドレジ
スタ2、オペランドレジスタ3、演算回路4、出力レジ
スタ5、制御回路15とから構成される。レジスタファ
イル1は書込みアドレスを1系統、読出しアドレスを2
系統有し、その動作は書込みアドレスで示されるレジス
タへの書込みと2つの異なる読出しアドレスで示される
2つのレジスタからの読出しとを同時に行なえるもので
ある。
いま、レジスタ間交換命令の実行サイクルを考える。レ
ジスタファイル1から対象となる2つのレジスタのデー
タがオペランドレジスタ2.3に同時に出力される0次
のITでどちらか一方のレジスタの内容が演算回路4を
通って出力レジスタ5にストローブされる0次のITか
らレジスタファイル1への書込みが始まる。つまり次の
ITでは、現在出力レジスタ5にストローブされている
データがレジスタファイル1の対象となるレジスタへ書
込まれ、同時にもう一方のオペランドレジスタのデータ
が演算回路4を通って出力レジスタ5にストローブされ
る。さらに次のITで対象とするレジスタへ出力レジス
タ5のデータが書込まれるわけである。
第4図は上述したレジスタ間交換命令の実行のタイムチ
ャートである。ここではパイプラインの段数を5段とし
ている0図から読みとれるように、演算結果出力用のレ
ジスタが1つの場合、書込みサイクルであるP4を2回
実行している。[Industrial Application Field] The present invention relates to an information processing device having a register exchange instruction. [Prior Art] Conventionally, in an information processing device that employs a pipeline mechanism, when there is only one general-purpose register group (register file), register exchange instructions (for example, EXG AO
, BOc7), '>, an instruction to swap the data in registers AO and BO) requires IT to write to the register, even if register reading can be done using IT (T: machine cycle). , which required at least 2T. FIG. 3 is a block diagram of an example of a conventional information processing device. For the sake of simplicity, the information processing device shown in FIG. 3 is comprised of a register file 1, an operand register 2, an operand register 3, an arithmetic circuit 4, an output register 5, and a control circuit 15, which are the minimum necessary functional blocks. Register file 1 has one system of write addresses and two systems of read addresses.
The operation is such that writing to a register indicated by a write address and reading from two registers indicated by two different read addresses can be performed simultaneously. Now, consider the execution cycle of an inter-register exchange instruction. The data of the two target registers from the register file 1 is simultaneously output to the operand register 2.3.0 In the 0-order IT, the contents of one of the registers is strobed to the output register 5 through the arithmetic circuit 4.0 Writing to register file 1 begins from the next IT. In other words, in the next IT, the data currently being strobed in the output register 5 is written to the target register in the register file 1, and at the same time, the data in the other operand register is strobed to the output register 5 through the arithmetic circuit 4. be done. Furthermore, the data in the output register 5 is written to the target register in the next IT. FIG. 4 is a time chart of execution of the above-mentioned register exchange instruction. As can be seen from Figure 0, in which the number of stages of the pipeline is five, when there is one register for outputting the operation result, P4, which is a write cycle, is executed twice.
【発明が解決しようとする課題J
上述した従来の情報処理装置は、レジスタ間交換命令の
実行において書込みに2サイクル必要とするので、特に
パイプライン制御の処理装置においてはパイプラインの
乱れが生じるという欠点がある。
本発明の目的は、レジスタ交換命令実行時間が短い情報
処理装置を提供することである。
〔課題を解決するための手段〕
本発明の情報処理装置は、
書込みアドレスを1系統、読出しアドレスを2系統有し
、書込みアドレスで示されレジスタへの書込みと2つの
異なる読出しアドレスで示される2つのレジスタからの
読出しとを同時に行なえる、同一構成の第1.第2のレ
ジスタファイルと、
第1のレジスタファイルの第1の出力または第2のレジ
スタファイルの第1の出力を選択する第1の選択手段と
、
第1のレジスタファイルの第2の出力または第2のレジ
スタファイルの第2の出力を選択する第2の選択手段と
、
第1.第2の選択手段により選択された出力をそれぞれ
保持する第1.第2のレジスタと、第1および第2のレ
ジスタの内容を入力とする演算回路と、
前記演算回路の演算結果を保持する第3のレジスタと、
第1のレジスタまたは第2のレジスタの内容を選択する
第3の選択手段と、
第3の選択手段の出力を保持する第4のレジスタと、
第3のレジスタまたは第4のレジスタの出力を選択し、
第1のレジスタファイルに出力する第4の選択手段と、
第3のレジスタまたは第4のレジスタの出力を選択し、
第2のレジスタファイルに出力する第5の選択手段と、
第4および第5の選択手段と第1および第2のレジスタ
ファイルを制御し、前記レジスタ間交換命令において第
3のレジスタの内容および第4のレジスタの内容のうち
いずれか一方を第1のレジスタファイルに割り当て、他
方を第2のレジスタファイルに割り当てて書込む機能を
有する書込み制御手段と、
第1のレジスタフィアルまたは第2のレジスタファイル
へのデータの書込み時に、書込みを行なったレジスタフ
ィアルの対象レジスタの内容を有効とし、他方のレジス
タファイルのなかの前記対象レジスタと同一レジスタの
内容をそれ以降更新されるまで無効とする情報を記憶す
る有効・無効情報記憶手段と、第1および第2の選択手
段と第1および第2のレジスタファイルを制御し、前記
有効・無効情報記憶手段を参照して第1のレジスタファ
イルまたは第2のレジスタファイルのレジスタの有効な
データを読出す読出し制御手段とを有している。
【作 用】
レジスタ交換命令の対象のレジスタの内容が第3、第4
のレジスタに同じサイクルに書込まれ、またレジスタフ
ァイルが2重化されており、第3、第4のレジスタの内
容が一方が第1のレジスタファイル、他方が第2のレジ
スタファイルに同じサイクルで書込まれる。すなわち、
レジスタ交換命令の書込みサイクルがITで済み、全体
としてIT従来よりも短縮されたことになる。
[実 施 例1
次に、本発明の実施例について図面を参照して説明する
。
第1図は本発明の一実施例を示す情報処理装置のブロッ
ク図、第2図は第1図の実施例におけるレジスタ間交換
命令の動作を示すタイムチャートである。
レジスタファイル1−1および1−2は汎用レジスタ等
をひとまとめにしたものであり、ここでは2重化されて
いる。レジスタ2および3は、オペランドレジスタであ
る。演算回路4は、オペランドレジスタ2および3の内
容を入力として、算術演算あるいは論理演算などを実行
するユニットである。出力レジスタ5は、演算回路4の
演算結果を受けるためのレジスタである。レジスタ6は
、オペランドレジスタ2もしくは3の内容を演算回路4
をバイパスして受ける。また、ユニット7.8,9.1
0および11は2人力のセレクタである。有効・無効情
報記憶装置13は、任意のレジスタに書込みが行なわれ
た時に、2重化されたレジスタの整合性を保つために、
2重化されたレジスタのうちどちらのデータが、その時
点で有効であるかという情報を保持するためのものであ
る。書込み制御回路12は、レジスタ間交換命令におい
て、2つのレジスタの内容を書込む場合に、2重化され
たレジスタファイル1−1および1−2のなかの任意の
レジスタにそれぞれ1つずつ割り当てて書込む機能を有
する。読出し制御回路14は、任意のレジスタの読出し
時に、有効・無効情報記憶装置13を参照して有効なデ
ータを読出す機能を有する。
次に、第1図の実施例におけるレジスタ間交換命令の動
作を第2図により説明する。なお、ここでは、各命令ス
テップがパイプラインで実行されているとする。
まず、その第1ステツプとしてレジスタの読出し動作を
説明する。
レジスタ間交換命令(以下では単に命令とする)の対象
となる任意のレジスタの内容を、読出し制御回路14が
有効・無効情報記憶装置13を参照することによって、
それぞれ有効なレジスタの内容をセレクタ9および1o
を制御してオペランドレジスタ2および3に読み込ませ
る。引き続き次のステップでは、一方のデータは演算回
路4を通って出力レジスタ5へ、もう一方のデータは演
算回路4をバイパスして、すなわちセレクタ11を通っ
てレジスタ6へ書込まれる0次のステップでは、書込み
制御回路12がセレクタ7および8を制御、また、有効
・無効情報記憶装置13をアクセスしながら、出力レジ
スタ5とレジスタ6との内容をそれぞれ1つずつレジス
タファイル1−1および1−2に割り当てて書込み動作
が行なわれる。この時、有効・無効情報記憶装置13に
おいて、2重化されたレジスタのうち、実際に書込み動
作が行なわれた方のレジスタの内容が有効であるとし、
他方のレジスタの内容はそれ以降書込み動作が行なわれ
るまで無効であるとするレジスタ内の有効性の情報の書
き換えが行なわれ、これを保持する動作がとられる。
上記の動作を、タイムチャートで示すと第2図のように
なる。第4図の場合と比較して、レジスタ間交換命令の
ライトサイクルがITで済み、全体としてIT短縮され
たことがわかる。
〔発明の効果〕
以上説明したように本発明は、レジスタファイルを2重
化し、2重化されたレジスタのうちどちらが有効で、ど
ちらが無効であるかという情報を保持する手段および前
記保持手段を参照または更新する制御手段と、主演算回
路をバイパスしてデータを受けるレジスタ等を有するこ
とにより、レジスタ間交換命令の実行時間を短縮できる
効果がある。[Problem to be Solved by the Invention J] The conventional information processing device described above requires two cycles for writing when executing an inter-register exchange instruction, which causes pipeline disturbances, especially in a pipeline-controlled processing device. There are drawbacks. An object of the present invention is to provide an information processing device that takes a short time to execute a register exchange instruction. [Means for Solving the Problems] The information processing device of the present invention has one system of write addresses and two systems of read addresses, and has one system of write addresses and two systems of read addresses. The first register with the same configuration can read data from two registers at the same time. a second register file; a first selection means for selecting a first output of the first register file or a first output of the second register file; a second selection means for selecting a second output of the register file of the first register file; The first . a second register; an arithmetic circuit that receives the contents of the first and second registers as input; a third register that holds the calculation results of the arithmetic circuit; and a third register that holds the contents of the first register or the second register. a third selection means for selecting; a fourth register for holding the output of the third selection means; and selection of the output of the third register or the fourth register;
a fourth selection means for outputting to the first register file; and selecting the output of the third register or the fourth register;
a fifth selection means for outputting to the second register file; and a fifth selection means for controlling the fourth and fifth selection means and the first and second register files; write control means having a function of allocating one of the contents of the four registers to a first register file and allocating the other to a second register file for writing; and the first register file or the second register file. When data is written to the register file, the contents of the target register in the register file to which the data was written are made valid, and the contents of the same register as the target register in the other register file are stored as invalid until updated thereafter. control the valid/invalid information storage means, the first and second selection means, and the first and second register files; and read control means for reading valid data from the registers of the register file. [Operation] The contents of the register targeted by the register exchange instruction are the third and fourth registers.
Also, the register files are duplicated, and the contents of the third and fourth registers are written to one register file in the same cycle and the other to the second register file in the same cycle. written. That is,
The write cycle for the register exchange command is completed by IT, and the overall time is reduced compared to the conventional IT method. [Example 1] Next, an example of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram of an information processing apparatus showing an embodiment of the present invention, and FIG. 2 is a time chart showing the operation of an inter-register exchange instruction in the embodiment of FIG. Register files 1-1 and 1-2 are a collection of general-purpose registers, etc., and are duplicated here. Registers 2 and 3 are operand registers. The arithmetic circuit 4 is a unit that receives the contents of the operand registers 2 and 3 as input and executes arithmetic operations or logical operations. The output register 5 is a register for receiving the calculation result of the calculation circuit 4. Register 6 transfers the contents of operand register 2 or 3 to arithmetic circuit 4.
Bypass and receive. Also, units 7.8, 9.1
0 and 11 are two-man selectors. The valid/invalid information storage device 13 maintains the consistency of the duplicated registers when writing is performed to any register.
This is for holding information as to which data among the duplicated registers is valid at that time. When writing the contents of two registers in an inter-register exchange instruction, the write control circuit 12 allocates one register to each arbitrary register in the duplicated register files 1-1 and 1-2. It has a writing function. The read control circuit 14 has a function of reading valid data by referring to the valid/invalid information storage device 13 when reading any register. Next, the operation of the inter-register exchange instruction in the embodiment shown in FIG. 1 will be explained with reference to FIG. It is assumed here that each instruction step is executed in a pipeline. First, as the first step, the register read operation will be explained. The read control circuit 14 refers to the valid/invalid information storage device 13 to read the contents of any register that is the target of an inter-register exchange instruction (hereinafter simply referred to as an instruction).
Selectors 9 and 1o select the contents of valid registers, respectively.
is read into operand registers 2 and 3. Subsequently, in the next step, one data passes through the arithmetic circuit 4 and is written to the output register 5, and the other data bypasses the arithmetic circuit 4, that is, passes through the selector 11 and is written to the register 6. In this case, the write control circuit 12 controls the selectors 7 and 8, and while accessing the valid/invalid information storage device 13, writes the contents of the output register 5 and register 6 one by one to the register files 1-1 and 1-. A write operation is performed by assigning it to 2. At this time, in the valid/invalid information storage device 13, of the duplicated registers, it is assumed that the contents of the register to which the write operation was actually performed are valid,
The validity information in the register, which states that the contents of the other register are invalid until a subsequent write operation is performed, is rewritten, and an action is taken to hold this. The above operation is shown in a time chart as shown in FIG. 2. It can be seen that compared to the case of FIG. 4, the write cycle of the inter-register exchange instruction is completed in IT, and the IT time is shortened as a whole. [Effects of the Invention] As explained above, the present invention provides means for duplicating register files and retaining information as to which of the duplicated registers is valid and which is invalid, and referring to the retaining means. Alternatively, by having a control means for updating and a register or the like that receives data by bypassing the main arithmetic circuit, there is an effect that the execution time of the register exchange instruction can be shortened.
第1図は本発明の一実施例を示す情報処理装置の要部の
ブロック図、第2図は本実施例のパイブライン動作を模
式的に示した図、第3図は従来例の情報処理装置の要部
のブロック図、第4図は第3図の従来例のバイブライン
動作を模式的に示した図である。
1−1.1−2・・レジスタファイル、2.3・・・・
・・オペランドレジスタ、4・ ・ ・ ・ ・ ・
・ ・演 算 回 路、5 ・ ・ ・
・ ・ ・ ・ ・出 力 し ジ ス タ
、6・・・・・・・・バイパス用レジスタ、7、8.9
.10.11・・・セレクタ、12・・・・・・・・書
込み制御回路、13・・・・・・・・有効・無効情報記
憶装置、14・・・・・・・・読出し制御回路。FIG. 1 is a block diagram of the main parts of an information processing device showing an embodiment of the present invention, FIG. 2 is a diagram schematically showing the pipeline operation of this embodiment, and FIG. 3 is a conventional information processing device. FIG. 4 is a block diagram of the main parts of the conventional vibration line operation shown in FIG. 3. 1-1.1-2...Register file, 2.3...
・・Operand register, 4・ ・ ・ ・ ・ ・
・ ・ Arithmetic circuit, 5 ・ ・ ・
・ ・ ・ ・ Output register, 6... Bypass register, 7, 8.9
.. 10.11... Selector, 12... Write control circuit, 13... Valid/invalid information storage device, 14... Read control circuit.
Claims (1)
、書込みアドレスで示されレジスタへの書込みと2つの
異なる読出しアドレスで示される2つのレジスタからの
読出しとを同時に行なえる、同一構成の第1、第2のレ
ジスタファイルと、 第1のレジスタファイルの第1の出力または第2のレジ
スタファイルの第1の出力を選択する第1の選択手段と
、 第1のレジスタファイルの第2の出力または第2のレジ
スタファイルの第2の出力を選択する第2の選択手段と
、 第1、第2の選択手段により選択された出力をそれぞれ
保持する第1、第2のレジスタと、第1および第2のレ
ジスタの内容を入力とする演算回路と、 前記演算回路の演算結果を保持する第3のレジスタと、 第1のレジスタまたは第2のレジスタの内容を選択する
第3の選択手段と、 第3の選択手段の出力を保持する第4のレジスタと、 第3のレジスタまたは第4のレジスタの出力を選択し、
第1のレジスタファイルに出力する第4の選択手段と、 第3のレジスタまたは第4のレジスタの出力を選択し、
第2のレジスタファイルに出力する第5の選択手段と、 第4および第5の選択手段と第1および第2のレジスタ
ファイルを制御し、前記レジスタ間交換命令において第
3のレジスタの内容および第4のレジスタの内容のうち
いずれか一方を第1のレジスタファイルに割り当て、他
方を第2のレジスタファイルに割り当てて書込む機能を
有する書込み制御手段と、 第1のレジスタファイルまたは第2のレジスタファイル
へのデータの書込み時に、書込みを行なったレジスタフ
ァイルの対象レジスタの内容を有効とし、他方のレジス
タファイルのなかの前記対象レジスタと同一レジスタの
内容をそれ以降更新されるまで無効とする情報を記憶す
る有効・無効情報記憶手段と、 第1および第2の選択手段と第1および第2のレジスタ
ファイルを制御し、前記有効・無効情報記憶手段を参照
して第1のレジスタファイルまたは第2のレジスタファ
イルのレジスタの有効なデータを読出す読出し制御手段
とを有することを特徴とする情報処理装置。[Scope of Claims] 1. An information processing device having a register exchange instruction, which has one system of write addresses and two systems of read addresses, and is indicated by a write address, and a write to a register is indicated by two different read addresses. First and second register files with the same configuration that can read from two registers simultaneously; and a first register file that selects the first output of the first register file or the first output of the second register file. a second selection means for selecting a second output of the first register file or a second output of the second register file; and an output selected by the first and second selection means. an arithmetic circuit that receives the contents of the first and second registers as input, a third register that holds the arithmetic result of the arithmetic circuit, and a first register or a third selection means for selecting the contents of the second register; a fourth register for holding the output of the third selection means; and selection of the output of the third register or the fourth register;
a fourth selection means for outputting to the first register file; and selecting the output of the third register or the fourth register;
a fifth selection means for outputting to the second register file; and a fifth selection means for controlling the fourth and fifth selection means and the first and second register files; write control means having a function of allocating one of the contents of the four registers to a first register file and allocating the other to a second register file for writing; and the first register file or the second register file. When data is written to the register file, information is stored that makes the contents of the target register in the register file written valid, and invalidates the contents of the same register as the target register in the other register file until it is updated thereafter. control the first and second selection means and the first and second register files; 1. An information processing apparatus comprising: read control means for reading valid data from a register of a register file.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1063286A JPH02240734A (en) | 1989-03-14 | 1989-03-14 | Information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1063286A JPH02240734A (en) | 1989-03-14 | 1989-03-14 | Information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH02240734A true JPH02240734A (en) | 1990-09-25 |
Family
ID=13224932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP1063286A Pending JPH02240734A (en) | 1989-03-14 | 1989-03-14 | Information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH02240734A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5700721A (en) * | 1992-04-03 | 1997-12-23 | Motorola, Inc. | Structure and method for metallization of semiconductor devices |
JP2007172285A (en) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
-
1989
- 1989-03-14 JP JP1063286A patent/JPH02240734A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5700721A (en) * | 1992-04-03 | 1997-12-23 | Motorola, Inc. | Structure and method for metallization of semiconductor devices |
JP2007172285A (en) * | 2005-12-21 | 2007-07-05 | Sanyo Electric Co Ltd | Reconfigurable circuit and processor |
JP4673739B2 (en) * | 2005-12-21 | 2011-04-20 | 三洋電機株式会社 | Reconfigurable circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5644746A (en) | Data processing apparatus with improved mechanism for executing register-to-register transfer instructions | |
KR940015852A (en) | Handler with long instruction word | |
US6684395B2 (en) | Multiple image dynamic bind and load procedure for a multi-processor | |
JPH0282330A (en) | Move out system | |
CA1182579A (en) | Bus sourcing and shifter control of a central processing unit | |
JPH02240734A (en) | Information processor | |
US5893928A (en) | Data movement apparatus and method | |
JPS6058487B2 (en) | data processing equipment | |
JP2006506727A (en) | VLIW with copy register file | |
US5396640A (en) | Boosting method and apparatus in a parallel computer | |
JPH0877143A (en) | Vector data processor | |
JP2576589B2 (en) | Virtual storage access control method | |
JP2814683B2 (en) | Instruction processing unit | |
JP2636564B2 (en) | Move-in control method for cache memory | |
JP3607548B2 (en) | Vector arithmetic unit | |
JPH03232051A (en) | Semaphore access control method | |
JPS60178540A (en) | By-pass control system of information processor | |
JP2622026B2 (en) | Register writing control method in central processing unit | |
JP2842024B2 (en) | Register file circuit | |
JP2933569B2 (en) | Central processing unit | |
JPH03252731A (en) | Microprocessor | |
JPS58195255A (en) | Data processing device | |
JPH09146769A (en) | Pipeline processor | |
JPS62219044A (en) | Memory access controller | |
JPH07175661A (en) | User program load system |