JPH0528409B2 - - Google Patents

Info

Publication number
JPH0528409B2
JPH0528409B2 JP61298041A JP29804186A JPH0528409B2 JP H0528409 B2 JPH0528409 B2 JP H0528409B2 JP 61298041 A JP61298041 A JP 61298041A JP 29804186 A JP29804186 A JP 29804186A JP H0528409 B2 JPH0528409 B2 JP H0528409B2
Authority
JP
Japan
Prior art keywords
instruction
address
flag
main memory
microinstruction
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
Application number
JP61298041A
Other languages
Japanese (ja)
Other versions
JPS63149735A (en
Inventor
Juji Kamisaka
Takeshi Murata
Takahito Noda
Kenichi Abo
Masayoshi Takei
Kazuyasu Nonomura
Ryoichi Nishimachi
Yasutomo Sakurai
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61298041A priority Critical patent/JPS63149735A/en
Publication of JPS63149735A publication Critical patent/JPS63149735A/en
Publication of JPH0528409B2 publication Critical patent/JPH0528409B2/ja
Granted legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 マイクロプログラミング方式の計算機における
命令フエツチ方式であつて、フアームウエアに基
づくマクロ命令フエツチの処理速度の向上のため
に、ワードバウンダリに対応した命令バツフア
と、その命令バツフアに有効なマクロ命令が存在
するか否かを示すフラグを持ち、マクロ命令フエ
ツチのためのマイクロ命令が発行された時のフラ
グが無効/有効により、マクロ命令フエツチの処
理を対応させるように構成することにより、マク
ロ命令フエツチの処理速度の向上及びフアームウ
エアへの負荷軽減が可能となる。
[Detailed Description of the Invention] [Summary] In order to improve the processing speed of macro instruction fetching based on firmware in an instruction fetching method in a microprogramming type computer, an instruction buffer corresponding to word boundaries and its instructions are provided. It has a flag that indicates whether or not a valid macro instruction exists in the buffer, and is configured to match macro instruction fetch processing depending on whether the flag is disabled or enabled when a micro instruction for macro instruction fetch is issued. By doing so, it is possible to improve the processing speed of macro instruction fetch and reduce the load on the firmware.

〔産業上の利用分野〕[Industrial application field]

本発明は、マイクロプログラミング方式の計算
機における命令フエツチ方式に関する。
The present invention relates to an instruction fetch method in a microprogramming type computer.

一般に、計算機ではマクロ命令(原始言語中に
おける1つの命令)は主記憶メモリ上に置かれ、
1つのマクロ命令をフエツチするためには、主記
憶メモリから読取らなければならない。
Generally, in a computer, a macro instruction (one instruction in a source language) is placed in main memory,
To fetch one macroinstruction, it must be read from main memory.

主記憶装置を構成する主記憶メモリは、一般的
にダイナミツクRAM(Randam Access
Memory)等が用いられており、そのアクセスタ
イムは中央処理装置(以下CPUと称する)の処
理速度より遅い。そこで、CPUは2〜6サイク
ルかけてマクロ命令を主記憶メモリからアクセス
するように構成されている。
The main memory that constitutes the main memory is generally dynamic RAM (Random Access RAM).
The access time is slower than the processing speed of the central processing unit (hereinafter referred to as CPU). Therefore, the CPU is configured to take two to six cycles to access macro instructions from main memory.

又、主記憶メモリとCPUとのデータバス幅は
4バイトになつており、1回の主記憶メモリアク
セスで4バイト幅の命令を命令バツフアにフエツ
チ出来るようになつている。
Furthermore, the data bus width between the main memory and the CPU is 4 bytes, so that a 4-byte wide instruction can be fetched into the instruction buffer with one main memory access.

しかし、フアームウエアで読取るマクロ命令は
1バイトずつなので、命令バツフア中のどの部分
まで使用したかをフアームウエアで意識しなけれ
ばならない。
However, since each macro instruction read by the firmware is one byte at a time, the firmware must be aware of which part of the instruction buffer has been used.

又、仮想記憶方式の計算機において主記憶メモ
リアドレス(物理アドレス)は、プログラムで意
識出来る論理アドレスをアドレス変換して得てい
る。
Furthermore, in a computer using a virtual memory system, a main memory address (physical address) is obtained by converting a logical address that can be recognized by a program.

アドレス変換の操作は通常、TLB
(Translation Lookaside Buffer)と呼ばれる変
換テーブルを参照して行われている。このアドレ
ス変換を行うと物理アドレスは大きく変化する可
能性がある。
Address translation operations are typically performed using TLB
This is done by referring to a translation table called (Translation Lookaside Buffer). When this address conversion is performed, the physical address may change significantly.

命令バツフアには連続したアドレスのマクロ命
令が入つているため、アドレス変換によつて物理
アドレスが不連続に変化した時には命令バツフア
内のマクロ命令は無効化しなければならない。
Since the instruction buffer contains macro instructions with consecutive addresses, when the physical addresses change discontinuously due to address translation, the macro instructions in the instruction buffer must be invalidated.

このため、アドレス変換後にフアームウエアで
フラグをオフしなければならない。これらのフア
ームウエアの動作はプログラムステツプ数の増
加、処理の低速化の要因となつている。
Therefore, the flag must be turned off by firmware after address conversion. These firmware operations increase the number of program steps and slow down processing.

従つて、かかるフアームウエアに掛かる負荷を
軽減し、その処理速度がより迅速となる命令フエ
ツチ方式が要望されている。
Therefore, there is a need for an instruction fetching method that reduces the load on firmware and increases processing speed.

〔従来の技術〕[Conventional technology]

第4図は従来例を説明するブロツク図を示す。
第4図はマイクロプログラミング方式の計算機の
演算処理機能を有するCPU1と、主記憶メモリ
を構成する主記憶装置2と、アドレス変換の操作
時に参照する変換テーブル(以下TLBと称する)
10とから構成されている。
FIG. 4 shows a block diagram illustrating a conventional example.
Figure 4 shows a CPU 1 that has the arithmetic processing function of a microprogramming computer, a main storage device 2 that constitutes the main memory, and a conversion table (hereinafter referred to as TLB) that is referenced during address conversion operations.
It consists of 10.

又、CPU1は固定小数点算術演算や論理演算
を行う算術論理ユニツト(以下ALUと称する)
3と、ALU3から送出される命令フエツチアド
レスを保持する命令フエツチアドレスレジスタ
(以下iAと称する)4と、 主記憶装置2をアクセスするためのアドレスを
格納するアドレスレジスタ(以下SARと称する)
5と、 主記憶装置2の物理アドレスを得るために、
TLB10を参照するための命令(以下これを
TQF命令と称する)をセツトするマイクロイン
ストラクシヨンレジスタ(以下MiRと称する)
6と、 主記憶装置2から読出した命令を保持する命令
バツフア(以下iBと称する)7と、 複数の入力信号から1つを選択して送出するマ
ルチプレクサ(以下MPXと称する)8a〜8d
と、 MPX8dにて選択したデータを格納するレジ
スタ9とを具備して構成されている。
In addition, CPU1 is an arithmetic logic unit (hereinafter referred to as ALU) that performs fixed-point arithmetic operations and logical operations.
3, an instruction fetch address register (hereinafter referred to as iA) 4 that holds the instruction fetch address sent from the ALU 3, and an address register (hereinafter referred to as SAR) that stores the address for accessing the main memory 2.
5, and to obtain the physical address of main storage device 2,
Instruction to refer to TLB10 (hereinafter this will be referred to as
microinstruction register (hereinafter referred to as MiR) that sets the TQF instruction)
6, an instruction buffer (hereinafter referred to as iB) 7 that holds the instructions read out from the main memory 2, and multiplexers (hereinafter referred to as MPX) 8a to 8d that select one from a plurality of input signals and send it out.
and a register 9 for storing data selected by the MPX8d.

第4図に示すハードウエアを動作させるために
は、所定のフアームウエアにて処理され、このフ
アームウエアに基づく従来例の動作を以下説明す
る。
In order to operate the hardware shown in FIG. 4, processing is performed using predetermined firmware, and the operation of the conventional example based on this firmware will be described below.

まず、フアームウエアに基づきマクロ命令をフ
エツチする時、そのマクロ命令がiB7に存在す
るのか主記憶装置2内主記憶メモリに存在するの
かは、その時のiA4の値による。
First, when fetching a macro instruction based on the firmware, whether the macro instruction exists in iB7 or in the main memory in the main storage device 2 depends on the value of iA4 at that time.

即ち、iA4は次にフエツチすべきマクロ命令
アドレスを示しており、そのアドレスの下位2ビ
ツトが、例えば‘11'ならば、次にフエツチすべ
きマクロ命令は主記憶装置2内主記憶メモリ上に
あり、‘11'以外ならば次にフエツチすべきマク
ロ命令はiB7に存在する。
That is, iA4 indicates the address of the macro instruction to be fetched next, and if the lower two bits of that address are, for example, '11', the macro instruction to be fetched next is stored on the main memory in the main memory 2. Yes, and if it is other than '11', the macro instruction to be fetched next exists in iB7.

尚、iB7はワードバウンダリ(語長の整数倍
で指定される記憶領域内のアドレス)の命令をセ
ツトするラツチである。
Note that iB7 is a latch that sets an instruction at a word boundary (an address within a storage area specified by an integral multiple of the word length).

上述のように、iA4の下位2ビツトの値を知
るため、更にiA4のカウントアツプ及び変更の
ために、iA4の出力はALU3の片側の例えば
MPX8bの入力側に接続される。
As mentioned above, in order to know the value of the lower 2 bits of iA4, and also to count up and change iA4, the output of iA4 is output from one side of ALU3, for example.
Connected to the input side of MPX8b.

従つて、例えばALU3の論理演算(‘00…
011'と論理積する等)で、下位2ビツトの値が分
かる。
Therefore, for example, the logical operation of ALU3 ('00...
011') to find the value of the lower two bits.

このようにして、iA4の下位2ビツトの値に
より判定された結果、iB7に命令が存在してい
ればiB7から命令を取り込むためマクロ命令を
フエツチするためのマイクロ命令(以下これを
RQF命令と称する)は発行せず、iB7に命令が
存在しなければ主記憶装置2内主記憶メモリから
命令を取り込むため、RQF命令を発行する。
In this way, as a result of judgment based on the value of the lower 2 bits of iA4, if an instruction exists in iB7, a microinstruction (hereinafter referred to as this) for fetching a macro instruction to fetch an instruction from iB7 is determined.
If no instruction exists in the iB7, an RQF instruction is issued in order to fetch the instruction from the main memory in the main memory device 2.

尚、上述の主記憶装置2内主記憶メモリからの
命令の読取りは、MiR6内の所定位置にRQF命
令がセツトされた時点でその出力がオンとなり、
RQF命令によりMiR6からのメモリリクエスト
信号がオンとなり、主記憶装置2内主記憶メモ
リに対し、SAR5からのアドレス(アドレスバ
スを通じて運ばれる)によりアクセスしてい
る。
Note that when reading an instruction from the main memory in the main memory device 2 described above, the output is turned on when the RQF instruction is set at a predetermined position in the MiR6.
The RQF command turns on the memory request signal from MiR6, and the main memory in the main memory device 2 is accessed using the address from the SAR5 (carried through the address bus).

同様に、命令ジヤンプ時や命令のスタート時あ
るいはページクロス時には、TQF命令もMiR6
内の所定位置にセツトされ、TQF命令により
TLB参照信号がオンとなり、TLB10に対し
てアドレス変換の要求を、SAR5に論理アドレ
スをセツトした後実行する。
Similarly, when an instruction jumps, starts an instruction, or crosses a page, the TQF instruction also
is set at a predetermined position within the
The TLB reference signal turns on, and a request for address translation is made to the TLB 10 after setting the logical address in the SAR 5.

その結果の物理アドレスはMPX8cを介し
てSAR5へセツトされる。その後の物理アドレ
スを用いたマクロ命令フエツチの動作は上述の
通りである。
The resulting physical address is set to SAR5 via MPX8c. The subsequent macro instruction fetch operation using the physical address is as described above.

〔発明が解決しようとする問題点〕[Problem that the invention seeks to solve]

上述の動作処理の場合、iB7内のデータがど
こまで使われているかをフアームウエアで意識す
るため、命令フエツチアドレスが連続的に続いて
いる場合に、命令フエツチアドレスの下位2ビツ
トが‘11'から‘00'になつた時、その‘00'のアド
レスの命令はiB7内には無いと判断し、マクロ
命令フエツチのためのマイクロ命令(即ち、
RQF命令)を新たに発行するようにしなければ
ならなかつた。
In the case of the above operation processing, the firmware is aware of how far the data in iB7 is used, so if the instruction fetch addresses are consecutive, the lower two bits of the instruction fetch address are '11'. ' to '00', it is determined that the instruction at the address '00' is not in the iB7, and the microinstruction for fetching the macroinstruction (i.e.,
A new RQF Order) had to be issued.

又、命令ジヤンプ時や命令のスタート時にアド
レス変換を行うTQF命令発行後はiB7内には命
令が存在しても、無いと判断しなければならなか
つた。そのため、これらのフアームウエアの動作
はプログラムステツプ数の増加、処理の低速化の
要因となつていた。
Furthermore, after issuing a TQF instruction that performs address translation at the time of an instruction jump or the start of an instruction, even if an instruction exists in the iB7, it must be determined that there is no instruction. Therefore, the operations of these firmwares have been a factor in increasing the number of program steps and slowing down the processing speed.

〔問題点を解決するための手段〕[Means for solving problems]

第1図は本発明の原理を説明するブロツク図を
示す。
FIG. 1 shows a block diagram illustrating the principle of the invention.

本発明は第1図に示すように、主記憶メモリ2
を有し、マイクロプログラムを使用して前記主記
憶メモリ2に対するアクセスを行う中央処理装置
50を備えてなる計算機において、 マクロ命令をフエツチするための第1のマイク
ロ命令と、命令フエツチアドレスのアドレス変換
を行う変換テーブル10を参照する第2のマイク
ロ命令とを用意し、 ワードバウンダリで規定される所定のバイト数
からなる命令を格納する命令バツフア7と、 前記主記憶メモリ2をアクセスするためのアド
レスを格納するアドレス格納手段5と、 アドレスのカウントアツプ手段を有し、次回の
マクロ命令フエツチのために前記アドレス格納手
段5にアクセスアドレスを送出する命令フエツチ
アドレス保持手段11と、 前記命令バツフア7の内容が有効か無効かを示
すフラグを前記命令フエツチアドレス保持手段
11の内容から作成すると共に前記第2のマイク
ロ命令の送出からも作成するフラグ作成手段12
とを具備し、 前記命令フエツチアドレス保持手段11の内容
が所定値を示すことにより前記フラグが無効を
示すグラフの時は連続して送出されている前記
第1のマイクロ命令により前記主記憶メモリ2か
ら前記ワードバウンダリによつて規定される所定
のバイト数の命令を読取つて前記命令バツフア7
にセツトし、前記命令フエツチアドレス保持手段
11の内容が前記所定値以外を示すことにより前
記フラグが有効を示すフラグの時は前記命令
バツフア7に格納されている前記所定バイト数の
命令の中から前記命令フエツチアドレス保持手段
11が指定する所望の命令を選択すると共に、 前記第2のマイクロ命令が送出された時は前記
変換テーブル10を参照して前記アドレス格納手
段5に格納されたアドレスを変換し、且つ前記第
2のマイクロ命令の送出により前記フラグ作成手
段12より出力される前記フラグを無効を示す
フラグにし、前記第2のマイクロ命令が停止さ
れた時に前記フラグ作成手段12より出力される
前記フラグを有効に示すフラグに戻すことを
特徴とする命令フエツチ制御方法により達成され
る。
As shown in FIG.
and a central processing unit 50 that accesses the main memory 2 using a microprogram, a first microinstruction for fetching a macroinstruction and an address of an instruction fetch address. a second microinstruction that refers to the conversion table 10 that performs conversion; an instruction buffer 7 that stores an instruction consisting of a predetermined number of bytes defined by a word boundary; an address storage means 5 for storing an address; an instruction fetch address holding means 11 having an address count-up means and for sending an access address to the address storage means 5 for the next macro instruction fetch; flag creation means 12 for creating a flag indicating whether the contents of 7 are valid or invalid from the contents of the instruction fetch address holding means 11 and also from the sending of the second microinstruction;
and when the content of the instruction fetch address holding means 11 indicates a predetermined value and the flag indicates invalidity, the first microinstructions continuously sent out cause the main memory to be read. A predetermined number of bytes defined by the word boundary are read from the instruction buffer 7.
When the content of the instruction fetch address holding means 11 indicates a value other than the predetermined value and the flag indicates that the flag is valid, the instructions of the predetermined number of bytes stored in the instruction buffer 7 are Select the desired instruction specified by the instruction fetch address holding means 11 from the address storage means 5, and when the second microinstruction is sent, refer to the conversion table 10 and select the address stored in the address storage means 5. and converting the flag output from the flag creation means 12 upon sending of the second microinstruction to a flag indicating invalidity, and outputting it from the flag creation means 12 when the second microinstruction is stopped. This is achieved by an instruction fetch control method characterized in that the flag is returned to a flag indicating valid.

〔作用〕[Effect]

フアームウエアがマクロ命令フエツチのため、
命令フエツチ用のRQF命令を出した時、フラグ
作成手段(フラグ作成部)12で発生するフラグ
が無効の場合は、主記憶装置2まで所望の命令
を含むワードバウンダリのデータを読取り、iB
7にセツトし、フラグが有効の場合はiB7か
ら所望の命令を選ぶ。
Because the firmware fetches macro instructions,
When the RQF instruction for instruction fetch is issued, if the flag generated by the flag generation unit (flag generation unit) 12 is invalid, the word boundary data containing the desired instruction is read up to the main memory 2, and the iB
7, and if the flag is valid, select the desired instruction from iB7.

次に、iA4の内容をプラス1回路11aでカ
ウントアツプして次のRQF命令に備え、その次
RQF命令に対して有効な命令がiB7にあるか否
かを判定し、次RQF命令のためにフラグを更
新する。
Next, the contents of iA4 are counted up by the plus 1 circuit 11a in preparation for the next RQF command, and then
It is determined whether there is an instruction valid for the RQF instruction in iB7, and the flag is updated for the next RQF instruction.

更に、マクロ命令フエツチのため、命令の論理
アドレスをアドレス変換するためにTQF命令を
出すと、フラグをオフにするように構成するこ
とにより、簡単なハードウエア構成でフアームウ
エアへの負荷を軽減し、しかもその処理の高速化
が可能となる。
Furthermore, by configuring the system to turn off a flag when a TQF instruction is issued to convert the logical address of an instruction for a macro instruction fetch, the load on the firmware can be reduced with a simple hardware configuration. , and the processing speed can be increased.

〔実施例〕〔Example〕

以下本発明の要旨を第2図、第3図に示す実施
例により具体的に説明する。
The gist of the present invention will be specifically explained below with reference to embodiments shown in FIGS. 2 and 3.

第2図は本発明の実施例を説明するブロツク
図、第3図は本発明の実施例における処理状況を
説明する図をそれぞれ示す。尚、全図を通じて同
一符号は同一対象物を示す。
FIG. 2 is a block diagram illustrating an embodiment of the present invention, and FIG. 3 is a diagram illustrating a processing situation in the embodiment of the present invention. Note that the same reference numerals indicate the same objects throughout the figures.

本実施例のiA部11は、第4図で説明したiA
4とiA4の値をプラス1するプラス1回路11
aとからなつている。
The iA section 11 of this embodiment is the iA unit 11 explained in FIG.
Plus 1 circuit 11 that adds 1 to the value of 4 and iA4
It consists of a.

又、フラグ作成部12はiA4内下位2ビツト
のNAND条件を取るNAND回路12aと、
NAND回路12aの出力をラツチするF.F回路1
2bと、F.F回路12bの出力をインバートする
インバータ12cと、TQF参照信号の条件を
論理和演算するOR12dとからなつている。
Further, the flag creation unit 12 includes a NAND circuit 12a that takes the NAND condition of the lower two bits in the iA4,
FF circuit 1 that latches the output of NAND circuit 12a
2b, an inverter 12c that inverts the output of the FF circuit 12b, and an OR 12d that performs an OR operation on the conditions of the TQF reference signal.

尚、F.F回路12bの出力がiB7に有効なマク
ロ命令が存在するか否かを示すのがフラグであ
り、以下iBVで表示する。又、このCK端子に
入力するCLKは図示していない回路で発生する
システムクロツクを示す。
It should be noted that the output of the FF circuit 12b is a flag indicating whether or not a valid macro instruction exists in iB7, and is hereinafter indicated by iBV. Furthermore, CLK input to this CK terminal indicates a system clock generated by a circuit not shown.

本実施例において、例えばiA4内下位2ビツ
トの値が‘11'になつた時、フラグ作成部12内
F.F回路12bの出力であるiBVをオフにし、
iA4内下位2ビツトの値が‘11'以外であれば、
iBVをオンにする。
In this embodiment, for example, when the value of the lower two bits in iA4 becomes '11', the value in the flag creation unit 12 is
Turn off iBV, which is the output of the FF circuit 12b,
If the value of the lower 2 bits in iA4 is other than '11',
Turn on iBV.

更に、TQF命令がMiR6にセツトされた時は、
無条件にiBVはオフされる。
Furthermore, when the TQF command is set in MiR6,
IBV will be turned off unconditionally.

このiBVの信号はインバータ12cを介して
AND13の一方の入力端子に入力され、もう一
方の入力端子にはMiR6にRQF命令がセツトさ
れた時オンとなる信号が入力し、このAND13
の出力がメモリリクエスト信号として送出され
る。
This iBV signal is passed through the inverter 12c.
A signal is input to one input terminal of AND13, and a signal that turns on when the RQF command is set to MiR6 is input to the other input terminal.
The output of is sent as a memory request signal.

尚、MiR6には第3図で示すようにRQF命令
が連続して発行されている。又、第3図にはiA
4の下位2ビツトの値のみが示されている。
Note that RQF commands are continuously issued to MiR6 as shown in FIG. Also, in Figure 3, iA
Only the value of the lower two bits of 4 is shown.

この第3図Aのタイムチヤートによると、(1)の
RQF命令実行時、iA4の値が2(iA4=2)とす
ると、(2)のRQF命令実行時にはiA4=3となる。
又、(3)のRQF命令実行時にはiA4=0、(4)の
RQF命令実行時にはiA4=1になる。
According to the time chart in Figure 3A, (1)
If the value of iA4 is 2 (iA4=2) when the RQF instruction is executed, then iA4=3 when the RQF instruction (2) is executed.
Also, when executing the RQF instruction in (3), iA4 = 0, and (4)
iA4 becomes 1 when the RQF instruction is executed.

ここで、(2)のRQF命令実行時にはiA4=3で
あるため、次のRQF命令実行である(3)のRQF命
令実行時にはiBAはオフとなる。即ち、(3)の
RQF命令に対するマクロ命令は、iB7には存在
しないことをことを示している。
Here, since iA4=3 when the RQF instruction (2) is executed, iBA is turned off when the next RQF instruction (3) is executed. That is, (3)
This indicates that the macro instruction for the RQF instruction does not exist in iB7.

従つて、(3)のRQF命令は主記憶装置2内主記
憶メモリまで所望のマクロ命令を読取りに行くた
め、メモリリクエスト信号がオンとなる。又、
RQF命令によりiA4の値は自動的にSAR5にセ
ツトされるようにMPX8cが駆動される。
Therefore, since the RQF instruction (3) goes to the main memory in the main memory device 2 to read the desired macro instruction, the memory request signal is turned on. or,
The RQF instruction drives MPX8c so that the value of iA4 is automatically set to SAR5.

次に、TQF命令発行時の処理を第3図Bに基
づき説明する。
Next, the process when issuing a TQF command will be explained based on FIG. 3B.

TQF命令がMiR6の所定個所にセツトされる
とiBVはオフとなり、(1)のRQF命令はiB7の
値にはかかわりなくメモリリクエスト信号がオ
ンとなる。
When the TQF instruction is set at a predetermined location in MiR6, the iBV is turned off, and the RQF instruction (1) turns on the memory request signal regardless of the value of iB7.

(1)のRQF命令の主記憶装置2内主記憶メモリ
アドレスはTLB10で変換された物理アドレス
である。但し、iA4の下位ビツトには論理ペー
ジ内アドレスがセツトされており、iA4のペー
ジ内アドレスは正しいメモリアドレスを示してい
る。
The main memory address in the main memory device 2 of the RQF instruction in (1) is the physical address converted by the TLB 10. However, the logical in-page address is set in the lower bit of iA4, and the in-page address of iA4 indicates the correct memory address.

従つて、iA4の下位2ビツトで示されるMPX
8dの選択は正しいマクロ命令を選択することに
なる。第3図Bに示す例えば、(1)のRQF命令発
行時iA4=2であつたため、iBVは1サイク
ル間のみオフとなつているが、もし(1)のRQF命
令発行時iA4=3であれば、連続して2サイク
ルの間、iBVはオフとなる。
Therefore, MPX indicated by the lower two bits of iA4
Selecting 8d will select the correct macroinstruction. For example, as shown in Figure 3B, since iA4 = 2 when issuing the RQF command in (1), iBV is off for only one cycle, but if iA4 = 3 when issuing the RQF command in (1), For example, the iBV is turned off for two consecutive cycles.

このように、本実施例におけるウハームウエア
は、iB7に有効データがあるなしにかかわらず、
RQF命令を出していれば良いため効率の良いフ
アームウエアが実現可能である。
In this way, the Uharuware in this embodiment can be used regardless of whether or not there is valid data on the iB7.
Since it is only necessary to issue the RQF command, efficient firmware can be realized.

又、余分なマイクロステツプを必要としないた
めに処理速度の向上も可能となる。
Furthermore, since no extra microsteps are required, processing speed can be improved.

〔発明の効果〕〔Effect of the invention〕

以上のような本発明によれば、簡単なハードウ
エア構成でフアームウエアへの負荷を軽減し、し
かもその処理の高速化が出来る。
According to the present invention as described above, the load on firmware can be reduced with a simple hardware configuration, and the processing speed can be increased.

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

第1図は本発明の原理を説明するブロツク図、
第2図は本発明の実施例を説明するブロツク図、
第3図は本発明の実施例における処理状況を説明
する図、第4図は従来例を説明するブロツク図、 図において、1,50はCPU、2は主記憶装
置、3はALU、4はiA、5はSAR、6はMiR、
7はiB、8a〜8dはMPX、9はレジスタ、1
1はiA部、11aはプラス1回路、12はフラ
グ作成部、12aはNAND、12bはF.F回路、
12cはインバータ、12dはOR、13は
AND、をそれぞれ示す。
FIG. 1 is a block diagram explaining the principle of the present invention.
FIG. 2 is a block diagram explaining an embodiment of the present invention;
Fig. 3 is a diagram explaining the processing situation in the embodiment of the present invention, and Fig. 4 is a block diagram explaining the conventional example. iA, 5 is SAR, 6 is MiR,
7 is iB, 8a to 8d are MPX, 9 is register, 1
1 is the iA section, 11a is the plus 1 circuit, 12 is the flag creation section, 12a is the NAND, 12b is the FF circuit,
12c is an inverter, 12d is an OR, 13 is an
AND, respectively.

Claims (1)

【特許請求の範囲】 1 主記憶メモリ2を有し、マイクロプログラム
を使用して前記主記憶メモリ2に対するアクセス
を行う中央処理装置50を備えてなる計算機にお
いて、 マクロ命令をフエツチするための第1のマイク
ロ命令と、命令フエツチアドレスのアドレス変換
を行う変換テーブル10を参照する第2のマイク
ロ命令とを用意し、 ワードバウンダリで規定される所定のバイト数
からなる命令を格納する命令バツフア7と、 前記主記憶メモリ2をアクセスするためのアド
レスを格納するアドレス格納手段5と、 アドレスのカウントアツプ手段を有し、次回の
マクロ命令フエツチのために前記アドレス格納手
段5にアクセスアドレスを送出する命令フエツチ
アドレス保持手段11と、 前記命令バツフア7の内容が有効か無効かを示
すフラグを前記命令フエツチアドレス保持手段
11の内容から作成すると共に前記第2のマイク
ロ命令の送出からも作成するフラグ作成手段12
とを具備し、 前記命令フエツチアドレス保持手段11の内容
が所定値を示すことにより前記フラグが無効を
示すフラグの時は連続して送出されている前記
第1のマイクロ命令により前記主記憶メモリ2か
ら前記ワードバウンダリによつて規定される所定
のバイト数の命令を読取つて前記命令バツフア7
にセツトし、前記命令フエツチアドレス保持手段
11の内容が前記所定値以外を示すことにより前
記フラグが有効を示すフラグの時は前記命令
バツフア7に格納されている前記所定バイト数の
命令の中から前記命令フエツチアドレス保持手段
11が指定する所望の命令を選択すると共に、 前記第2のマイクロ命令が送出された時は前記
変換テーブル10を参照して前記アドレス格納手
段5に格納されたアドレスを変換し、且つ前記第
2のマイクロ命令の送出により前記フラグ作成手
段12より出力される前記フラグを無効を示す
フラグにし、前記第2のマイクロ命令が停止さ
れた時に前記フラグ作成手段12より出力される
前記フラグを有効を示すフラグに戻すことを
特徴とする命令フエツチ制御方法。
[Scope of Claims] 1. In a computer comprising a main memory 2 and a central processing unit 50 that accesses the main memory 2 using a microprogram, a first processor for fetching a macro instruction is provided. and a second microinstruction that refers to a conversion table 10 that performs address conversion of an instruction fetch address, and an instruction buffer 7 that stores an instruction consisting of a predetermined number of bytes defined by a word boundary. , an address storage means 5 for storing an address for accessing the main memory 2, and an address count-up means, and an instruction for sending an access address to the address storage means 5 for the next macro instruction fetch. fetch address holding means 11; and a flag that creates a flag indicating whether the contents of the instruction buffer 7 are valid or invalid from the contents of the instruction fetch address holding means 11 and also from sending out the second microinstruction. Creation means 12
and when the content of the instruction fetch address holding means 11 indicates a predetermined value and the flag indicates invalidity, the first microinstructions continuously sent out cause the main memory to be read. A predetermined number of bytes defined by the word boundary are read from the instruction buffer 7.
When the content of the instruction fetch address holding means 11 indicates a value other than the predetermined value and the flag indicates that the flag is valid, the instructions of the predetermined number of bytes stored in the instruction buffer 7 are Select the desired instruction specified by the instruction fetch address holding means 11 from the address storage means 5, and when the second microinstruction is sent, refer to the conversion table 10 and select the address stored in the address storage means 5. and converting the flag output from the flag creation means 12 upon sending of the second microinstruction to a flag indicating invalidity, and outputting it from the flag creation means 12 when the second microinstruction is stopped. An instruction fetch control method characterized in that the flag is returned to a flag indicating validity.
JP61298041A 1986-12-15 1986-12-15 Instruction fetching system Granted JPS63149735A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61298041A JPS63149735A (en) 1986-12-15 1986-12-15 Instruction fetching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61298041A JPS63149735A (en) 1986-12-15 1986-12-15 Instruction fetching system

Publications (2)

Publication Number Publication Date
JPS63149735A JPS63149735A (en) 1988-06-22
JPH0528409B2 true JPH0528409B2 (en) 1993-04-26

Family

ID=17854355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61298041A Granted JPS63149735A (en) 1986-12-15 1986-12-15 Instruction fetching system

Country Status (1)

Country Link
JP (1) JPS63149735A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543635A (en) * 1978-09-22 1980-03-27 Hitachi Ltd Data processor of microprogram control
JPS6051947A (en) * 1983-08-31 1985-03-23 Toshiba Corp Instruction prefetching system in virtual storage computer
JPS61250754A (en) * 1985-04-30 1986-11-07 Fujitsu Ltd Simple type cache memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5543635A (en) * 1978-09-22 1980-03-27 Hitachi Ltd Data processor of microprogram control
JPS6051947A (en) * 1983-08-31 1985-03-23 Toshiba Corp Instruction prefetching system in virtual storage computer
JPS61250754A (en) * 1985-04-30 1986-11-07 Fujitsu Ltd Simple type cache memory

Also Published As

Publication number Publication date
JPS63149735A (en) 1988-06-22

Similar Documents

Publication Publication Date Title
US4839797A (en) Microprocessor compatible with any software represented by different types of instruction formats
JP2616182B2 (en) Data processing device
JP2539357B2 (en) Data processing device
US4591972A (en) Data processing system with unique microcode control
CA1204218A (en) Data processing system with logical to physical address translation means
JP3204323B2 (en) Microprocessor with built-in cache memory
US5594917A (en) High speed programmable logic controller
JPH0630075B2 (en) Data processing device having cache memory
JPH0736155B2 (en) Method and apparatus for addressing microinstruction stack in high speed CPU
WO1995008799A1 (en) Apparatus and method for emulation routine pointer prefetch
US4597041A (en) Method and apparatus for enhancing the operation of a data processing system
JPS6158853B2 (en)
JP2680828B2 (en) Digital device
JPH0528409B2 (en)
JPH0740244B2 (en) Micro Processor
JP2619425B2 (en) Sequence controller
JPH0464094B2 (en)
JPS6252334B2 (en)
JPH0524537B2 (en)
JP3182796B2 (en) Central processing unit
CA1204220A (en) Data processing system with multifunction nibble shifter
CA1204216A (en) Digital data processing system with vertical and horizontal microcode control
JPH0194435A (en) Instruction fetching system
JPS63293638A (en) Data processing system
JPS63245547A (en) Data processor