JPH0457021B2 - - Google Patents
Info
- Publication number
- JPH0457021B2 JPH0457021B2 JP60260255A JP26025585A JPH0457021B2 JP H0457021 B2 JPH0457021 B2 JP H0457021B2 JP 60260255 A JP60260255 A JP 60260255A JP 26025585 A JP26025585 A JP 26025585A JP H0457021 B2 JPH0457021 B2 JP H0457021B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- fetch
- operand
- machine language
- stored
- 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 - Lifetime
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
〔概要〕
複数個の用途別のレジスタからなる機械語命令
格納用のレジスタを有し、フエツチした機械語命
令の各部をそれぞれ前記用途別のレジスタに格納
して処理するマイクロプログラム方式の情報処理
装置においては、従来、機械語命令のフエツチに
際して、そのオペコードを解読して、フエツチデ
ータをいずれのレジスタに格納すべきかを判定し
て処理しているため、その判定結果が得られる迄
の間に次のフエツチタイミングが来た場合には、
該フエツチタイミングから更に次のフエツチタイ
ミング迄の間は無為に時間を過すこととなると言
う問題点があつた。
本発明は上記問題点を解決するため、機械語命
令のフエツチに際し、フエツチデータを前記複数
個の用途別のレジスタの内のいずれのレジスタに
格納すべきかの判定結果が得られる前にフエツチ
タイミングが来たとき、複数個の用途別のレジス
タの内の該フエツチデータを格納する可能性のあ
る複数個のレジスタに同時に格納することによつ
て、無駄な時間を生ずることが無く、そのため処
理速度を高めることの出来る制御方法を開示して
いる。
〔産業上の利用分野〕
本発明はマイクロプログラム方式の情報処理装
置における、機械語命令の実行に係る前処理の制
御に関するものであつて、特に機械語命令のオペ
コード以外の各部を所定のフエツチレジスタに格
納する際の制御に係る。
〔従来の技術〕
複数個の用途別のレジスタからなる機械語命令
格納用のレジスタを有し、フエツチした機械語命
令の各部をそれぞれ前記用途別のレジスタに格納
して処理するマイクロプログラム方式の情報処理
装置においては、従来、機械語命令を実行する場
合、まず、該機械語命令のオペコードをフエツチ
して解読した上、その結果に応じて、該オペコー
ドに続く他の部位をそれぞれ所定のフエツチレジ
スタに格納している。
このときの、マイクロ命令の動作について更に
説明すると、マイクロ命令は機械語命令のオペコ
ードのフエツチを行ない、該オペコードを、オペ
コード解読用のフエツチレジスタに格納して解読
する。そして、その結果に応じて該機械語命令の
オペコード以降の部分(オペランドの一部)のフ
エツチを行ない該当する用途を有するフエツチレ
ジスタに格納する。このような動作を繰り返し
て、一つの機械語命令についての総ての部分のフ
エツチが終了するまで処理を継続する。この間
に、既にフエツチを終了した部分についての処理
(例えばアドレス計算)が行なわれる場合もある。
第2図は機械語命令の形式の例を示す図で、(a)
は命令Aの形式を、(b)は命令Bの形式を示してお
り、1はオペコード、2は第1オペランド、3は
第2オペランドを表わしている。そして命令Aの
オペコードをOP−A、命令BのオペコードをOP
−Bとして表しており、第1オペランドは命令A
がR1、命令BがB×D、第2オペランドは命令
AがR2、命令BがR1であることを示している。
第3図は命令フエツチレジスタの例を示す図
で、4〜7はそれぞれフエツチレジスタであつ
て、4はFR0、5はFR1、6はFR2、7はFR
3を表わしている。各フエツチレジスタはそれぞ
れ第1表に示す機能あるいは用途を有している。
上記、命令Aあるいは命令Bを第3図に示す様
な命令フエツチレジスタを用いて処理する場
[Overview] A microprogram type information processing device that has a register for storing machine language instructions consisting of a plurality of registers for different uses, and stores each part of the fetched machine language instructions in the registers for different uses for processing. Conventionally, when fetching a machine language instruction, the operation code is decoded to determine in which register the fetch data should be stored. When the fetish timing comes,
There is a problem in that time is wasted between the fetch timing and the next fetch timing. In order to solve the above-mentioned problems, the present invention has been made such that when fetching a machine language instruction, the fetch timing is determined before a determination result is obtained as to which register among the plurality of application-specific registers the fetch data should be stored in. By simultaneously storing the fetch data in multiple registers that may store the fetch data among multiple application-specific registers, no wasted time is generated, thereby increasing processing speed. A control method that can be used is disclosed. [Industrial Field of Application] The present invention relates to the control of preprocessing related to the execution of machine language instructions in a microprogram type information processing device, and in particular, the present invention relates to the control of preprocessing related to the execution of machine language instructions in a microprogram type information processing device. This relates to control when storing data in registers. [Prior Art] Information on a microprogram system that has a register for storing machine language instructions consisting of a plurality of registers for each purpose, and stores each part of the fetched machine language instruction in each of the registers for each purpose for processing. Conventionally, when a processing device executes a machine language instruction, it first fetches and decodes the opcode of the machine language instruction, and then, depending on the result, performs predetermined fetches on other parts following the opcode. stored in a register. To further explain the operation of the microinstruction at this time, the microinstruction fetches the opcode of the machine language instruction, stores the opcode in a fetch register for decoding the opcode, and decodes it. Then, in accordance with the result, the part after the opcode (part of the operand) of the machine language instruction is fetched and stored in a fetch register having the corresponding purpose. These operations are repeated until all parts of one machine language instruction have been fetched. During this time, processing (for example, address calculation) may be performed on a portion that has already been fetched. Figure 2 shows an example of the format of machine language instructions, (a)
shows the format of instruction A, and (b) shows the format of instruction B, where 1 represents the opcode, 2 represents the first operand, and 3 represents the second operand. Then, the opcode of instruction A is OP-A, and the opcode of instruction B is OP
-B, and the first operand is instruction A.
is R 1 , instruction B is B×D, and the second operand indicates that instruction A is R 2 and instruction B is R 1 . FIG. 3 is a diagram showing an example of instruction fetch registers, in which 4 to 7 are fetch registers, 4 is FR0, 5 is FR1, 6 is FR2, and 7 is FR.
It represents 3. Each fetch register has a function or use shown in Table 1. When processing instruction A or instruction B using an instruction fetch register as shown in Figure 3,
上述したように、従来の方式においては、機械
語命令の第1オペランドを所定のレジスタにフエ
ツチするには、それまでにオペコードの解読を完
了していて、どのフエツチレジスタに格納するか
をマイクロ命令によつて指示する必要がある。
第4図は機械語命令のフエツチに係る従来の制
御を示すタイムチヤートであつて、aは命令Aの
場合を、bは命令Bの場合を示しており、8はフ
エツチタイミング、9はフエツチ動作、10〜1
3はそれぞれのフエツチレジスタ(FR0〜FR
3)にデータが格納されるタイミング、14はマ
イクロ命令の動作を表わしている。
第4図aにおいて、タイミングにおいて、オ
ペコードOP−Aがフエツチされ、マイクロ命令
によりFR0に格納され、これが、タイミング
においてデコードされ、その結果を見て、タイミ
ングで第1オペランドからフエツチしたデータ
(R1)をFR3に格納する。更にタイミングの
とき、第2オペランドのデータ(R2)をフエツ
チして、これをFR2に格納している。
第4図bに示す命令Bの場合については、オペ
ランドの内容が命令Aの場合と異なるため、それ
らを格納するフエツチレジスタが異なるが、その
タイミングについての条件は前記第4図aの場合
と全く同様である。
第4図aおよびbによつて、明らかなように、
タイミングにおいては、マイクロ命令が、タイ
ミングでフエツチしたオペコードのデコードを
行なつており、その結果が得られて、オペランド
の内容が何であるかが判明し、該当するフエツチ
レジスタに格納出来るようになるのはタイミング
以降であるから、タイミングではフエツチ動
作を行なうことが出来ない。このことは、機械語
命令各部のフエツチを効率良く迅速に行なうと言
う観点から見れば、大きな時間的損失を生じてい
るものであつて、機械語命令実行に係る処理速度
を低下せしめる1要因となるものである。
本発明はこのような従来の問題点を解決して、
機械語命令のオペランド部のフエツチに際し時間
的損失を生ずることの無い制御方法を提供するこ
とを目的としている。
〔問題点を解決するための手段〕
上記目的は本発明によれば、前記特許請求の範
囲に記載のとおり、オペコード部と少なくとも1
つのオペランド部とからなる機械語命令の各部を
順次フエツチして、それぞれ用途別のレジスタに
格納して処理するマイクロプログラム方式の情報
処理装置において、機械語命令のフエツチに際
し、第1オペランドのフエツチタイミングが来た
とき、フエツチデータを前記用途別のレジスタの
内のいずれのレジスタに格納すべきかを判定する
オペコードの解読結果が得られる以前に、前記用
途別のレジスタの内の、当該フエツチデータを当
該命令形式においてはそのいずれかに格納するこ
とが定まつている複数個のレジスタに、同時に格
納するように制御する機械語命令前処理方法によ
り達成される。
〔実施例〕
第1図は本発明の1実施例の機械語命令のフエ
ツチに係る制御をタイムチヤートであつて、aは
前述した命令Aの場合を、またbは命令Bの場合
を示しており、8〜14はそれぞれ第4図の場合
と同様である。
第1図aを用いて、命令Aの場合について説明
すると、該命令Aは第2図aに示したように第1
オペランドがR1第2オペランドがR2である。そ
して、第1オペランドがR1であると言うことは、
オペコード(OP−A)を解読するまで分からな
い。一方、この形式の命令では第1オペランドは
R1あるいはB×Dに限られている。すでに第3
図によつて説明したようにR1ははフエツチレジ
スタFR3にB×DはフエツチレジスタFR1に格
納されるべきものである。
従つて、本実施例においては、第1図aに見ら
れるようにOP−Aをフエツチしたあとすぐ第1
オペランドをフエツチして、これをフエツチレジ
スタFR1とFR3に同時に格納してしまう。
次に、第2オペランドをフエツチしたときには
既にオペコードの解読が終了していて、それが
R2であることが分つているので、これをフエツ
チレジスタFR2に格納する。
このような制御によつて従来のような、フエツ
チ動作についての空白時間を生ずることがなくな
るから処理速度が向上する。
第2図bの命令Bについても同様であり、この
場合は、まずフエツチした第1オペランドのデー
タを、やはり、フエツチレジスタFR1とFR3に
同時に格納する。そして、第2オペランドをフエ
ツチしたときには、すでにオペコードの解読が終
了していて、これがR1であることが分つている
ので、これをフエツチレジスタFR3に格納する。
このような制御の結果命令Bの第1オペランド
のB×DがフエツチレジスタFR1に、第2オペ
ランドのR1がフエツチレジスタFR3に格納され
る。
上記各実施例では、第1オペランドを格納すべ
きフエツチレジスタがFR1またはFR3に限られ
る場合について説明しているが、どのレジスタを
用うるかが全く分らない場合には第1オペランド
をフエツチしたときオペコードを格納するための
フエツチレジスタFR0以外の他の全部のレジス
タに同時に格納すれば良い。
〔発明の効果〕
以上詳細に説明したように本発明の方法によれ
ば、従来より、命令フエツチ動作が1サイクル速
く終了する。或る機械語命令の従来の実行時間が
命令フエツチを含めて、5サイクルかかるもので
あつたとき、これを本発明の制御方式を採ること
によつて、4サイクルに短縮することが出来るか
ら20%の速度向上が期待出来る。
本発明は、マイクロプログラム方式を採り、マ
イクロ命令サイクルが命令フエツチサイクルより
速くない情報処理装置の場合特に効果が大きい。
As mentioned above, in the conventional method, in order to fetch the first operand of a machine language instruction into a predetermined register, the operation code must have been decoded by then, and the microprocessor must determine which fetch register to store it in. It is necessary to instruct by command. FIG. 4 is a time chart showing conventional control related to fetching of machine language instructions, in which a indicates the case of instruction A, b indicates the case of instruction B, 8 indicates the fetch timing, and 9 indicates the fetch timing. Action, 10-1
3 is each fetish register (FR0~FR
3) represents the timing at which data is stored, and 14 represents the operation of the microinstruction. In FIG. 4a, the operation code OP-A is fetched at timing and stored in FR0 by a microinstruction, decoded at timing, the result is checked, and the data fetched from the first operand at timing (R 1 ) is stored in FR3. Furthermore, at timing, the second operand data (R 2 ) is fetched and stored in FR2. In the case of instruction B shown in FIG. 4b, the contents of the operands are different from those of instruction A, so the fetch register that stores them is different, but the timing conditions are different from those in the case of FIG. 4a. It's exactly the same. As is clear from Figures 4a and b,
In timing, the microinstruction decodes the opcode fetched at the timing, and the result is obtained, and the contents of the operand are known and can be stored in the corresponding fetch register. Since this occurs after the timing, the fetch operation cannot be performed at the timing. From the perspective of efficiently and quickly fetching each part of a machine language instruction, this causes a large time loss, and is one of the factors that reduces the processing speed related to machine language instruction execution. It is what it is. The present invention solves these conventional problems and
It is an object of the present invention to provide a control method that does not cause time loss when fetching the operand part of a machine language instruction. [Means for Solving the Problems] According to the present invention, the above object is achieved by combining an opcode part and at least one
In a microprogram type information processing device that sequentially fetches each part of a machine language instruction consisting of two operand parts and stores each part in a register for each purpose for processing, when fetching a machine language instruction, the first operand is fetched. When the timing comes, before the result of decoding the operation code that determines which of the application-specific registers the fetch data should be stored in is obtained, the fetch data in the application-specific register is stored in the corresponding instruction. This is achieved by a machine language instruction preprocessing method that controls the simultaneous storage of a plurality of registers into which the instruction is stored. [Embodiment] FIG. 1 is a time chart of control related to fetching of a machine language instruction according to an embodiment of the present invention, where a indicates the case of the above-mentioned instruction A, and b indicates the case of the instruction B. 8 to 14 are the same as in FIG. 4. Explaining the case of instruction A using FIG. 1a, the instruction A is
The operand is R1 and the second operand is R2 . And saying that the first operand is R 1 means that
You won't know until you decode the opcode (OP-A). On the other hand, in this type of instruction, the first operand is
Limited to R 1 or B×D. Already the third
As explained with the figures, R1 is to be stored in the fetch register FR3 and B×D is to be stored in the fetch register FR1. Therefore, in this embodiment, as shown in FIG. 1a, the first
The operand is fetched and stored in fetch registers FR1 and FR3 at the same time. Next, by the time you fetch the second operand, the opcode has already been decoded and
Since it is known that it is R 2 , this is stored in the fetch register FR2. Such control eliminates blank time for fetch operations, which is the case in the prior art, and improves processing speed. The same applies to instruction B in FIG. 2b, in which case the first fetched data of the first operand is also stored simultaneously in fetch registers FR1 and FR3. When the second operand is fetched, the operation code has already been decoded and it is known that this is R1 , so this is stored in the fetch register FR3. As a result of such control, the first operand B×D of instruction B is stored in the fetch register FR1, and the second operand R1 is stored in the fetch register FR3. In each of the above embodiments, the case where the fetch register to store the first operand is limited to FR1 or FR3 is explained, but if it is not known at all which register to use, when fetching the first operand, It is sufficient to store the operation code in all registers other than the fetch register FR0 at the same time. [Effects of the Invention] As described in detail above, according to the method of the present invention, the instruction fetch operation is completed one cycle faster than in the conventional method. If the conventional execution time for a certain machine language instruction was 5 cycles including the instruction fetch, this can be shortened to 4 cycles by adopting the control method of the present invention. % speed improvement can be expected. The present invention is particularly effective in the case of an information processing apparatus that employs a microprogram system and whose microinstruction cycle is not faster than the instruction fetch cycle.
第1図は本発明の1実施例の機械語命令のフエ
ツチに係る制御を示すタイムチヤート、第2図は
機械語命令の形式の例を示す図、第3図は命令フ
エツチレジスタの例を示す図、第4図は機械語命
令のフエツチに係る従来の制御を示すタイムチヤ
ートである。
1…オペコード、2…第1オペランド、3…第
2オペランド、4〜7…フエツチレジスタ、8…
フエツチタイミング、9…フエツチ動作、10〜
13…フエツチレジスタにデータが格納されるタ
イミング、14…マイクロ命令の動作。
FIG. 1 is a time chart showing control related to fetching of machine language instructions in one embodiment of the present invention, FIG. 2 is a diagram showing an example of the format of a machine language instruction, and FIG. 3 is a diagram showing an example of an instruction fetch register. FIG. 4 is a time chart showing conventional control related to fetching of machine language instructions. 1...Operation code, 2...First operand, 3...Second operand, 4-7...Fetch register, 8...
Fetch timing, 9...Fetch movement, 10~
13... Timing at which data is stored in the fetch register, 14... Operation of microinstruction.
Claims (1)
部とからなる機械語命令の各部を順次フエツチし
て、それぞれ用途別のレジスタに格納して処理す
るマイクロプログラム方式の情報処理装置におい
て、 機械語命令のフエツチに際し、第1オペランド
のフエツチタイミングが来たとき、フエツチデー
タを前記用途別のレジスタの内のいずれのレジス
タに格納すべきかを判定するオペコードの解読結
果が得られる以前に、前記用途別のレジスタの内
の、当該フエツチデータを当該命令形式において
はそのいずれかに格納することが定まつている複
数個のレジスタに、同時に格納することを特徴と
する機械語命令前処理方法。[Scope of Claims] 1. A microprogram type information processing device that sequentially fetches each part of a machine language instruction consisting of an operation code part and at least one operand part, and stores each part in a register for each purpose for processing. When the fetch timing for the first operand arrives when fetching a word instruction, the instruction is executed before the decoding result of the operation code for determining which of the application-specific registers the fetch data should be stored in is obtained. A machine language instruction preprocessing method characterized in that the fetch data is simultaneously stored in a plurality of registers among other registers in which it is determined that the fetch data is stored in one of the registers in the instruction format.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26025585A JPS62119640A (en) | 1985-11-20 | 1985-11-20 | Machine language instruction pre-processing system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP26025585A JPS62119640A (en) | 1985-11-20 | 1985-11-20 | Machine language instruction pre-processing system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS62119640A JPS62119640A (en) | 1987-05-30 |
| JPH0457021B2 true JPH0457021B2 (en) | 1992-09-10 |
Family
ID=17345503
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26025585A Granted JPS62119640A (en) | 1985-11-20 | 1985-11-20 | Machine language instruction pre-processing system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS62119640A (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58150140U (en) * | 1982-03-31 | 1983-10-07 | 株式会社日立製作所 | arithmetic processing unit |
| JPS60168237A (en) * | 1984-02-10 | 1985-08-31 | Mitsubishi Electric Corp | Arithmetic unit |
-
1985
- 1985-11-20 JP JP26025585A patent/JPS62119640A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS62119640A (en) | 1987-05-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS61109147A (en) | Data processor | |
| US4388682A (en) | Microprogrammable instruction translator | |
| JPH056894B2 (en) | ||
| JPS645330B2 (en) | ||
| KR920004279B1 (en) | Microprocessor with Pointer Register | |
| US5165026A (en) | Programmable controller in which fetching of operand data and fetching of operand addresses are simultaneously performed | |
| EP0240606B1 (en) | Pipe-line processing system and microprocessor using the system | |
| JPS6212529B2 (en) | ||
| JPH0457021B2 (en) | ||
| JPH04288625A (en) | Microcomputer | |
| JP2531791B2 (en) | Abnormality handling method when accessing Fetch | |
| JPH0353322A (en) | Information processor | |
| JP2637070B2 (en) | Micro instruction start address generation method | |
| JPS63303432A (en) | System for controlling writing in branching history table | |
| JPS62254237A (en) | Inter-printer type branch instruction executing system | |
| JPS5829051A (en) | Operation processing device | |
| JP2618703B2 (en) | High-speed operation processing method of programmable sequence controller | |
| JPH0740226B2 (en) | Branch instruction control method | |
| JPS62219128A (en) | Data processor | |
| JPH0424731B2 (en) | ||
| JPS6042983B2 (en) | Command control method | |
| JPS61143848A (en) | Microprogram controller | |
| JPH0575130B2 (en) | ||
| JPH0218732B2 (en) | ||
| JPS6028014B2 (en) | microprocessor |