JPH0679272B2 - Instruction fetch controller - Google Patents

Instruction fetch controller

Info

Publication number
JPH0679272B2
JPH0679272B2 JP61298036A JP29803686A JPH0679272B2 JP H0679272 B2 JPH0679272 B2 JP H0679272B2 JP 61298036 A JP61298036 A JP 61298036A JP 29803686 A JP29803686 A JP 29803686A JP H0679272 B2 JPH0679272 B2 JP H0679272B2
Authority
JP
Japan
Prior art keywords
address
page
instruction
logical
logical address
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
JP61298036A
Other languages
Japanese (ja)
Other versions
JPS63149734A (en
Inventor
裕士 神阪
雄志 村田
敬人 野田
憲一 阿保
正善 武居
一泰 野々村
良市 西町
康智 桜井
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 JP61298036A priority Critical patent/JPH0679272B2/en
Publication of JPS63149734A publication Critical patent/JPS63149734A/en
Publication of JPH0679272B2 publication Critical patent/JPH0679272B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 マイクロプログラム方式の計算機システムにおける命令
フェッチ方式であって、計算式システム内ファームウエ
アに基づき主記憶装置からマクロ命令をリードする時、
複数のマクロ命令をフェッチするためのマイクロ命令操
作時の論理アドレスをセットする命令フェッチアドレス
保持手段のハードウエア構成が膨大になることを解決す
るために、命令フェッチアドレス保持手段を下位側数ビ
ットをカウンタで構成し、残りの上位数ビットを他目的
で使用しているレジスタ群に持つように構成することに
より、ファームウェアに大きな負担をかけることなく少
容量のハードウエア構成が可能となる。
DETAILED DESCRIPTION OF THE INVENTION [Outline] An instruction fetch method in a microprogram type computer system, in which a macro instruction is read from a main storage device based on firmware in a calculation type system,
In order to solve the enormous hardware configuration of the instruction fetch address holding means for setting the logical address at the time of microinstruction operation for fetching a plurality of macro instructions, the instruction fetch address holding means is set to a few lower bits. By configuring with a counter and having the remaining high-order bits in a register group used for other purposes, a small-capacity hardware configuration is possible without imposing a large burden on the firmware.

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

本発明は、マイクロプログラム方式の計算機システムに
おける命令フェッチ方式に関する。
The present invention relates to an instruction fetch method in a microprogram type computer system.

一般に、マイクロプログラム方式の計算機システムにお
けるマクロ命令は、主記憶上の連続したメモリアドレス
に割付けられている。
In general, macro instructions in a microprogram type computer system are assigned to consecutive memory addresses in the main memory.

一方、マイクロ命令はそのマクロ命令を1つずつフェッ
チし、そのマクロ命令の意味を解釈して、それに対応す
る処理を実行する。
On the other hand, the micro instruction fetches the macro instructions one by one, interprets the meaning of the macro instruction, and executes the corresponding process.

1つのマクロ命令の処理が終わると、次のマクロ命令を
フェッチするため、マイクロ命令はマクロ命令論理アド
レスをプラス1する。
After processing one macro instruction, the micro instruction increments the macro instruction logical address by 1 to fetch the next macro instruction.

プラス1されたマクロ命令論理アドレスは、ページクロ
スの発生の有無をチェックされ、ページクロスが発生し
ていると、プラス1した論理アドレスにより索引用テー
ブルが索引され、これにより正しい物理アドレスを得た
後、マクロ命令フェッチを行う。
The +1 macro instruction logical address is checked for the occurrence of a page cross. If a page cross occurs, the index table is indexed by the +1 logical address, and the correct physical address is obtained. After that, macro instruction fetch is performed.

尚、ページ内アドレスは論理アドレス=物理アドレス
(主記憶装置のメモリアドレス)なので、プラス1した
論理アドレスを用いる。
Since the in-page address is logical address = physical address (memory address of the main storage device), the logical address obtained by adding 1 is used.

これらの処理は全てマイクロ命令で行われており、間違
いなくしかも短いステップ数で処理されることが要求さ
れている。
All of these processes are performed by micro-instructions, and it is definitely required to be processed in a short number of steps.

〔従来の技術〕[Conventional technology]

第4図は従来例を説明するブロック図を示す。第4図は
中央処理装置(以下CPUと称する)1と、主記憶装置2
を備え、データ処理動作を制御プログラムメモリ(図示
してない)に格納するマイクロプログラムに基づき制御
する計算機システムを示す。
FIG. 4 shows a block diagram for explaining a conventional example. FIG. 4 shows a central processing unit (hereinafter referred to as CPU) 1 and a main storage device 2.
2 shows a computer system that includes the above and controls a data processing operation based on a microprogram stored in a control program memory (not shown).

CPU1は固定小数点算術演算や論理演算を行う算術論理演
算ユニット(以下ALUと称する)3と、MPX6cが選択信号
(1)の制御により選択した内容(主記憶装置2内メモ
リをアクセスするためのアドレス)を格納するアドレス
レジスタ(以下SARと称する)4と、 ALU3に対してアドレス演算をプラス1するためのデータ
を送出するプラス1回路5と、 入力する複数のデータから1つを選択して送出するマル
チプレクサ(以下MPXと称する)6a〜6cと、 所定マイクロ命令が指示(3)された時、ALU3から出力
するページクロスをフェッチしてページクロス信号を
送出するフリップフロップ(以下F.Fと称する)7と、 命令フェッチアドレスを保持する命令フェッチアドレス
レジスタ(以下iAと称する)8等を具備して構成されて
いる。
CPU 1 is an arithmetic logic unit (hereinafter referred to as ALU) 3 that performs fixed-point arithmetic operations and logical operations, and the contents selected by MPX6c under the control of selection signal (1) (addresses for accessing the memory in main memory 2). ) Storing an address register (hereinafter referred to as SAR) 4, a plus 1 circuit 5 for sending data for adding 1 to the address calculation to the ALU 3, and a selected one of a plurality of input data and sending it. Multiplexers (hereinafter referred to as MPX) 6a to 6c and a flip-flop (hereinafter referred to as FF) 7 that fetches a page cross output from the ALU3 and sends a page cross signal when a predetermined micro instruction is instructed (3). And an instruction fetch address register (hereinafter referred to as iA) 8 for holding an instruction fetch address.

尚、符号(a)は他のALU出力を、符号(b),(c)
は他から転送されて来たデータを格納しているレジスタ
の出力をそれぞれ示す。
Note that the code (a) indicates other ALU outputs, and the codes (b) and (c)
Indicates the outputs of the registers storing the data transferred from others.

第4図に示すようなマイクロプログラム方式の計算機シ
ステムにおいて、主記憶装置2からマクロ命令(同一の
原始言語で記述された一連の命令文によって置き換える
ことが出来る原始言語中の命令)をリードする時、マイ
クロ命令で以下の指示が必要である。即ち、 (イ)iA8の内容をSAR4へセットするための指示。(図
中(1)の信号、又は命令) (ロ)iA8をALU3でカウントアップするための指示。
(図中(2)の信号、又は命令) (ハ)iA8をALU3でカウントアップする時、ページクロ
ス(後述する)のチェックをするための指示。(図中
(3)の信号、又は命令) 尚、マイクロ命令の操作におけるiA8とはマクロ命令ア
ドレス専用のアドレスレジスタを意味する。
In a microprogram type computer system as shown in FIG. 4, when a macro instruction (an instruction in a source language that can be replaced by a series of instruction statements written in the same source language) is read from the main memory 2. The following instructions are required in the micro instruction. That is, (a) An instruction to set the contents of iA8 in SAR4. (Signal (1) or command in the figure) (b) Instruction to count up iA8 with ALU3.
(Signal (2) or command in the figure) (C) Instruction for checking page cross (described later) when counting up iA8 with ALU3. (Signal (3) or instruction in the figure) In the operation of the micro instruction, iA8 means an address register dedicated to the macro instruction address.

又、前述のマイクロ命令において、(イ)のマイクロ命
令操作は、iA8の内容をシステムストレージレジスタ
(以下SARと称する)と呼ばれるアドレスレジスタ(SA
R)4にセットする操作である。
In addition, in the above-mentioned microinstruction, the microinstruction operation of (a) is that the content of iA8 is an address register (SA
R) This is an operation to set to 4.

SAR4の出力データは主記憶装置2のアドレスとなり、こ
のためSAR4にはiA8以外(例えば、第一オペランドアド
レス等)のデータもセットされるため、その入力信号は
複数のレジスタ(b)等のデータをMPX6cにて選択し、
取出したものとなる。
The output data of SAR4 becomes the address of the main storage device 2, and therefore data other than iA8 (for example, the first operand address) is also set in SAR4, so the input signal is the data of multiple registers (b) etc. With MPX6c,
It will be taken out.

即ち、マクロ命令のデータ(命令)を主記憶装置2から
読取るためには、iA8のデータをMPX6cにて選択し、SAR4
にセットすることを示すマイクロ命令を指示することに
なる。
That is, in order to read the macroinstruction data (instruction) from the main memory 2, the iA8 data is selected by the MPX6c and the SAR4
Will indicate a microinstruction indicating that it is set to.

又、(ロ)のマイクロ命令操作は、iA8の値を次のマク
ロ命令アドレスにするため、汎用ALUを用いてカウント
アップを行う操作である。
The microinstruction operation (b) is an operation for counting up using the general-purpose ALU in order to set the value of iA8 to the next macroinstruction address.

この操作は,マクロ命令が一般には連続したメモリアド
レスに割付けられているため、そのアドレスをプラス1
ずつカウントアップしてやれば良いことから、汎用のAL
Uを用いて処理を行っている。
In this operation, macro instructions are generally assigned to consecutive memory addresses.
Since it is only necessary to count up one by one, general-purpose AL
Processing is performed using U.

更に、(ハ)のマイクロ命令操作は、(ロ)のALU3操作
時にALU3の出力のキャリフラグをページクロス検出用の
F.F7にセットする操作である。
In addition, (c) microinstruction operation is used to detect the carry flag of ALU3 output during page cross detection during ALU3 operation (b).
This is the operation to set to F.F7.

これはALU3等を用いる加算処理は前述の通り他の演算に
も用いられるため、どの演算処理時にページクロス検出
(即ち、命令アドレスの加算を行っていることを示す)
を行えば良いかを指示する操作であり、これは専用のマ
イクロ命令で行っている。
This is because the addition process using ALU3 etc. is used for other calculations as described above, so at any calculation process page cross detection (that is, instruction address addition is performed) is detected.
Is an operation to instruct whether or not to perform, and this is performed by a dedicated micro instruction.

尚、主記憶アドレスと論理アドレスとを対応づける索引
テーブル(図示していない)がCPU1内部又は主記憶装置
2内の固定領域に用意されている。
An index table (not shown) that associates the main memory address with the logical address is prepared in the fixed area in the CPU 1 or the main memory device 2.

この索引テーブル(図示してない)には、主記憶アドレ
ス(物理アドレス)と論理アドレスとがページ単位で対
応づけられている。
In this index table (not shown), main memory addresses (physical addresses) and logical addresses are associated in page units.

一般に、マクロ命令のアドレスは、前述の通り現在実行
中の主記憶アドレス(物理アドレス)にプラス1加算す
れば次のマクロ命令アドレスとなる。
Generally, the address of a macro instruction becomes the next macro instruction address by adding 1 to the main storage address (physical address) currently being executed as described above.

しかし、プラス1加算されたアドレスが所定ページ単位
(例えば、2キロバイト,4キロバイト等)を超えてしま
った場合、その主記憶アドレス(物理アドレス)は全く
異なった論理アドレスをリードしていることになる。
However, if the address added by 1 exceeds the specified page unit (for example, 2 kilobytes, 4 kilobytes, etc.), the main memory address (physical address) reads a completely different logical address. Become.

そのため、この時点では再度索引テーブル(図示してな
い)を参照し、正しい主記憶アドレス(物理アドレス)
を求める必要がある。
Therefore, at this point, refer to the index table (not shown) again and check the correct main memory address (physical address).
Need to ask.

この論理アドレスから主記憶アドレス(物理アドレス)
への変換操作をアドレス変換と呼ぶ。
From this logical address to the main memory address (physical address)
The conversion operation to is called address conversion.

又、プラス1加算されたアドレスが所定ページ単位を超
えていることをページクロスと呼び、このページクロス
が発生していれば、現在実行中の命令アドレスプラス1
の主記憶アドレス(物理アドレス)を破棄し、新たに索
引テーブル(図示してない)を参照して主記憶アドレス
(物理アドレス)を求める必要がある。
If the address added by 1 exceeds the predetermined page unit, it is called a page cross. If this page cross occurs, the instruction address currently being executed plus 1
It is necessary to discard the main memory address (physical address) of the above and newly obtain the main memory address (physical address) by referring to an index table (not shown).

尚、ページクロスは一般的に主記憶アドレス(物理アド
レス)をプラス1する時の条件によって発生すると判断
すれば良い。
It should be noted that page cross may be generally determined to occur depending on the condition when the main memory address (physical address) is incremented by 1.

〔発明が解決しようとするも問題点〕[Problems to be solved by the invention]

第4図に示すような従来例では、(ロ)における操作に
汎用ALUを用いており、この汎用ALUは他の演算処理(例
えば、第一,第二オペラントの加算、減算、汎用レジス
タの加算,減算,ビット操作等)にも使用するため、iA
8のカウントアップ時に前述のような演算処理が出来な
くなってしまう等の不都合が生じる。
In the conventional example as shown in FIG. 4, a general-purpose ALU is used for the operation in (b), and this general-purpose ALU uses other arithmetic processing (for example, addition and subtraction of first and second operants, addition of general-purpose register). , Subtraction, bit manipulation, etc.)
At the time of counting up 8, there arises a problem that the above-mentioned arithmetic processing cannot be performed.

更に、(ハ)のような単純な検出を行うだけの処理にも
所定ステップ数のマイクロ命令が必要となり、それけマ
イクロステップ数が増加する等の各種問題点がある。
Further, there is a variety of problems such that the micro-instruction of a predetermined number of steps is required even for the processing such as (c) that only performs simple detection, and the number of micro-steps increases accordingly.

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

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

第1図に示す本発明の原理ブロック図は、第4図で説明
した主記憶装置2と下記に説明するCPU10とから構成さ
れている。
The principle block diagram of the present invention shown in FIG. 1 is composed of the main memory 2 described in FIG. 4 and a CPU 10 described below.

即ち本発明は、所定バイトからなるページ単位にその容
量の分割されている主記憶装置2と、所定メモリに格納
されるマイクロプログラムに基づきデータ処理動作の制
御を行う中央処理装置10を備えてなる計算機システムに
おいて、 前記中央処理装置10から発生される実行命令中にマクロ
命令をフェッチするためのマイクロ命令を定義し、 マクロ命令をフェッチするための論理アドレスの上位を
保持し、算術論理演算ユニット3を使ってマクロ命令に
よりカウントアップされるレジスタ群11と、マクロ命令
アドレス専用のレジスタであって、物理ページ内アドレ
スを含んで構成される論理アドレスの下位を保持し、マ
クロ命令をフェッチするためのマイクロ命令により前記
論理アドレスがカウントアップされる自動カウントアッ
プ回路を持った命令フェッチアドレス保持手段12と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスに含まれる物理ページ内アドレスの最上桁から
ページクロスを検出するページクロス検出手段13と、 前記命令フェッチアドレス保持手段12に保持された論理
アドレスの最上桁からオーバフローを検出するオーバフ
ロー検出手段14と、 前記レジスタ群11に保持された論理アドレスと前記命令
フェッチアドレス保持手段12に保持された論理アドレス
とがセットされるアドレスレジスタ40とを具備し、 マクロ命令フェッチの際に、前記ページクロス検出手段
13によりページクロスを検出しない場合には、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された前記物理ページ内アドレスを前
記アドレスレジスタ40のページ内アドレスの対応する桁
にセットすることにより前記主記憶装置2を指示する物
理アドレスとし、 前記ページクロス検出手段13によりページクロスを検出
した場合には、前記レジスタ群11に保持された論理アド
レスと、マイクロ命令によりカウントアップされた命令
フェッチアドレス保持手段12に保持された論理アドレス
とを前記アドレスレジスタ40にセットし、セットされた
論理アドレスに含まれる論理ページアドレスを前記主記
憶装置2の所定ページの物理アドレスに変換し、 前記ページクロス検出手段13によりページクロスを検出
すると共に、前記オーバフロー検出手段14によりオーバ
フローを検出した場合には、前記算術論理演算ユニット
3を使ってマイクロ命令によりカウントアップされたレ
ジスタ群11に保持されている論理アドレスと、マイクロ
命令によりカウントアップされた命令フェッチアドレス
保持手段12に保持された論理アドレスとを前記アドレス
レジスタ40にセットし、セットされた論理アドレスに含
まれる物理ページアドレスを前記主記憶装置2の所定ペ
ージの論理アドレスに変換する構成とする。
That is, the present invention comprises a main memory device 2 whose capacity is divided into page units each having a predetermined byte, and a central processing unit 10 which controls a data processing operation based on a microprogram stored in a predetermined memory. In the computer system, a microinstruction for fetching a macroinstruction is defined in the execution instructions generated from the central processing unit 10, the upper logical address for fetching the macroinstruction is held, and the arithmetic logic operation unit 3 Register group 11 that is incremented by a macro instruction using, and a register dedicated to the macro instruction address, which holds the lower part of the logical address that is configured to include the address in the physical page, and fetches the macro instruction. Has an automatic count-up circuit that counts up the logical address by micro instruction Instruction fetch address holding means 12, page cross detection means 13 for detecting a page cross from the uppermost digit of the physical page address included in the logical address held in the instruction fetch address holding means 12, and the instruction fetch address holding means Overflow detection means 14 for detecting an overflow from the uppermost digit of the logical address held in 12, the logical address held in the register group 11 and the logical address held in the instruction fetch address holding means 12 are set An address register 40, and when the macro instruction is fetched, the page cross detection means
When the page cross is not detected by 13, the physical page address held in the instruction fetch address holding means 12 counted up by the microinstruction is set to the corresponding digit of the page address of the address register 40. When the page cross detecting means 13 detects a page cross, the logical address held in the register group 11 and the instruction fetch counted up by the micro instruction The logical address held in the address holding means 12 is set in the address register 40, the logical page address included in the set logical address is converted into a physical address of a predetermined page in the main memory 2, and the page cross is performed. While detecting the page cross by the detecting means 13, When an overflow is detected by the overflow detection means 14, the logical address held in the register group 11 counted up by the microinstruction using the arithmetic logic operation unit 3 and the instruction counted up by the microinstruction A logical address held in the fetch address holding means 12 is set in the address register 40, and a physical page address included in the set logical address is converted into a logical address of a predetermined page of the main storage device 2. .

〔作用〕[Action]

SAR40に格納する命令フェッチアドレスの下位側数ビッ
トをiA8内カウンタ(図示してない)で、残りの上位数
ビットを他目的にも使用しているレジスタ群11にて持
ち、iA8内カウンタ(図示してない)からのキャリアウ
ト(繰り上がり)信号が出力された時に、上位数ビット
に桁上げ(プラス1加算)するiA8内カウンタ(図示し
てない)及びレジスタ群11を構成する。
The lower several bits of the instruction fetch address stored in SAR40 are in the iA8 internal counter (not shown), and the remaining upper several bits are in the register group 11 which is also used for other purposes. An iA8 internal counter (not shown) and a register group 11 are configured to carry (add one plus) to the upper several bits when a carry-out (carry) signal is output from (not shown).

このカウンタ(図示してない)の値は命令フェッチのメ
モリリクエストが出力された時、カウントアップされ、
ページ内アドレスがSAR40にセットされ、更にカウント
アップされて論理アドレスがページクロスキャリアウト
を発生しているか否かを検出するように構成することに
より、簡易なハードウェア構成で確実な処理がより短時
間に実現可能となる。
The value of this counter (not shown) is incremented when a memory request for instruction fetch is output.
By configuring the address within the page to SAR40 and further counting up to detect whether the logical address is causing a page cross carry out, a simple hardware configuration ensures shorter processing. It will be feasible in time.

〔実施例〕〔Example〕

以下本発明の要旨を第2図,第3図に示す実施例により
具体的に説明する。
The gist of the present invention will be specifically described below with reference to the 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 processing operations in the embodiment of the present invention.

尚、全図を通じて同一符号は同一対象物を示す。The same reference numerals denote the same objects throughout the drawings.

本発明の実施例におけるiA部12は、マクロ命令アドレス
専用のレジスタであるiA8に、iA8の内容を順次プラス1
していくプラス1回路12aが付加されて構成されてい
る。
The iA unit 12 in the embodiment of the present invention sequentially adds the contents of iA8 to iA8, which is a register dedicated to a macro instruction address, by 1
It is configured by adding a plus 1 circuit 12a.

又、ページクロス検出手段13及びオーバフロー検出手段
14は、ページクロス検出回路13aとF.F13b及びオーバフ
ロー検出回路14aとF.F14bとからそれぞれ構成されてい
る。
Also, page cross detection means 13 and overflow detection means
14 includes a page cross detection circuit 13a and F.F13b, and an overflow detection circuit 14a and F.F14b, respectively.

更に、本発明の実施例で用いられるレジスタ群11はレジ
スタ番号をアドレス線(d)で指示すると、そのレジス
タ番号に対応したデータが出力線(e)から出力され
る。
Further, in the register group 11 used in the embodiment of the present invention, when the register number is designated by the address line (d), the data corresponding to the register number is output from the output line (e).

尚、一般にこのようなレジスタ群11は1チップ(IC1
コ)又は1マクロ(LSI内の1つの機能ブロック)で構
成される。
In general, such a register group 11 has one chip (IC1
) Or one macro (one functional block in LSI).

つまり、レジスタ群11はICのランダムアクセスメモリ
(RAM)で構成されるので、使用素子数は少ないがカウ
ントアップするためにはALUを使ってマイクロプログラ
ムによって行わなけれならずマイクロステップが増大す
る。
That is, since the register group 11 is composed of an IC random access memory (RAM), the number of used elements is small, but in order to count up, it must be performed by a microprogram using ALU, and microsteps increase.

一方、iA8はプラス1回路12aを持っているので、マイク
ロ命令は必要ないが、多数のフリップフロップからなる
カウンタ形式としなければならずレジスタ11と比較して
1ビット当たりの素子数が多くなる。
On the other hand, since the iA8 has the plus 1 circuit 12a, it does not need microinstructions, but it must be of a counter type composed of a large number of flip-flops, and the number of elements per bit is larger than that of the register 11.

本実施例のiA部12内iA8は、マクロ命令フェッチの論理
アドレスの下位複数ビットをセットするレジスタとな
る。
The iA8 in the iA unit 12 of the present embodiment is a register that sets lower bits of the logical address of the macro instruction fetch.

従って、ページ内アドレスはこのiA8中に含まれる。Therefore, the in-page address is included in this iA8.

次に、マイクロ命令の実行順序に従いCPU10内ハードウ
ェアの動作を以下説明する。
Next, the operation of the hardware in the CPU 10 will be described below according to the execution order of the microinstructions.

(イ):マクロ命令フェッチを行う時、主記憶装置2内
の主記憶アドレスと対応している論理アドレス(例えば
32ビット)の内、レジスタ群11からは論理アドレス(32
ビット)の上位複数ビット(例えば16ビット)がSAR40
にセットされ、iA8からは論理アドレス(32ビット)の
下位複数ビット(例えば16ビット)がSAR40にセットさ
れる。
(B): When performing a macro instruction fetch, a logical address corresponding to the main memory address in the main memory device 2 (for example,
Of the 32 bits), the logical address (32
Multiple upper bits (16 bits, for example) are SAR40
, IA8 sets the lower bits (for example, 16 bits) of the logical address (32 bits) in the SAR 40.

レジスタ群11からSAR40にセットされる論理アドレス(1
6ビット)は、論理ページアドレス(例えば21ビット)
の上位桁(16ビット)で構成されている。
Logical address (1
6 bits) is the logical page address (eg 21 bits)
It consists of the upper digit (16 bits).

iA8からSAR40にセットされる論理アドレス(16ビット)
は、論理ページアドレス(21ビット)の内のレジスタ群
11からSAR40にセットされた上位桁(16ビット)を除い
た残りの下位桁(5ビット)と論理ページ内アドレス
(11ビット)とで構成されている。
Logical address set in iA8 to SAR40 (16 bits)
Are registers within the logical page address (21 bits)
It is composed of the remaining lower digits (5 bits) excluding the upper digit (16 bits) set in SAR40 from 11 and the logical page address (11 bits).

このセット動作が最初であれば後述するページクロス検
出時と同様な動作が行われ、SAR40にセットされた論理
アドレス(32ビット)の内の論理ページアドレス(21ビ
ット)は、CPU1内部又は主記憶装置2内の固定領域に用
意されている索引テーブル(図示してない)によって物
理ページアドレスに変換されて、再びSAR40にセットさ
れる。
If this set operation is the first, the same operation as at the time of page cross detection described later is performed, and the logical page address (21 bits) of the logical address (32 bits) set in SAR40 is stored in the CPU1 or in the main memory. It is converted into a physical page address by an index table (not shown) prepared in a fixed area in the device 2, and is set in the SAR 40 again.

この動作は、従来装置も行うもので本発明特有ではな
い。
This operation is also performed by the conventional device and is not peculiar to the present invention.

この動作において、マイクロ命令はマクロ命令フェッチ
のマイクロ命令(このマイクロ命令をRQFと称する)
と、主記憶ページアドレス選択及びSAR40へのセットの
指示命令のマイクロ命令を発行する。(iA8内のページ
内アドレスのSAR40へのセットは、RQF命令にて行われ
る。) この物理ページアドレス(21ビット)と始めにセットさ
れた論理ページ内アドレス、すなわち物理ページ内アド
レス(11ビット)とにより主記憶装置2のアドレス(32
ビット)が指示される。
In this operation, the micro instruction is a macro instruction fetch micro instruction (this micro instruction is called RQF).
And issue a microinstruction for selecting the main memory page address and instructing the SAR 40 to set. (The in-page address in iA8 is set to SAR40 by the RQF instruction.) This physical page address (21 bits) and the logical page address initially set, that is, the physical page address (11 bits) The address of main memory 2 (32
Bit) is indicated.

これ以降、マクロ命令フェッチ時に、iA8からはアドレ
ス値がプラス1された論理ページ内アドレス、すなわち
物理ページ内アドレス(11ビット)がSAR40にセットさ
れ、順次ページ内のアドレスが更新される。
After that, when the macro instruction is fetched, the address within the logical page to which the address value is incremented by 1, i.e., the address within the physical page (11 bits) is set in the SAR 40 from the iA8, and the addresses within the page are sequentially updated.

(ロ):上記RQF命令によってiA8は、その命令の終了時
点でカウントアップされる。
(B): The RQF instruction causes iA8 to count up at the end of the instruction.

iA8のカウントアップの結果、ページクロスが発生した
場合は、iA8内の論理ページアドレス(5ビット)が更
新される。
When a page cross occurs as a result of counting up iA8, the logical page address (5 bits) in iA8 is updated.

即ち、まずiA8の値(アドレス値)がプラス1回路12aに
よりカウントアップされる。
That is, first, the value (address value) of iA8 is counted up by the plus 1 circuit 12a.

又、ページクロスの検出はページクロス検出手段13内ペ
ージクロス検出回路13aで行われ、その検出結果はF.F13
bにラッチされる。
The page cross detection is performed by the page cross detection circuit 13a in the page cross detection means 13, and the detection result is F.F13.
Latched to b.

尚、このページクロス検出は、第3図(2),(4)に
示すようにiA8からのキャリを検出しているだけであ
る。
In this page cross detection, the carry from the iA8 is only detected as shown in FIGS. 3B and 3C.

例えば、ページサイズが4Kバイトの場合、第3図(2)
に示す論理ページ内アドレスに相当するiA8の下位12ビ
ットが全て‘1'の時、ページクロス検出回路13aにてペ
ージクロスが検出される。
For example, if the page size is 4 Kbytes, see Fig. 3 (2).
When all the lower 12 bits of iA8 corresponding to the logical page address shown in (1) are '1', the page cross is detected by the page cross detection circuit 13a.

このページクロスが発生したことを示すページクロス信
号はRQF命令終了時にF.F13bへセットされる。
The page cross signal indicating that this page cross has occurred is set to F.F13b at the end of the RQF instruction.

ページクロスの発生によりページクロス信号がセット
され、F.F13bがオン状態になると、レジスタ群11からは
論理アドレスの上位ビット(16ビット)がSAR40にセッ
トされ、iA8からは論理アドレスの下位ビット(16ビッ
ト)がSAR40にセットされる。
When the page cross signal is set due to the occurrence of page cross and F.F13b is turned on, the upper bit (16 bits) of the logical address is set from register group 11 to SAR40, and the lower bit of the logical address from iA8 ( 16 bits) is set in SAR40.

前述のように、レジスタ群11からSAR40にセットされる
論理アドレス(16ビット)は論理ページアドレス(21ビ
ット)の上位桁であり、iA8からSAR40にセットされる論
理アドレス(16ビット)は論理ページアドレスの残りの
下位桁(5ビット)と論理ページ内アドレス(11ビッ
ト)である。
As described above, the logical address (16 bits) set in register group 11 to SAR40 is the high-order digit of the logical page address (21 bits), and the logical address (16 bits) set in iA8 to SAR40 is the logical page. The remaining lower digits (5 bits) of the address and the logical page address (11 bits).

次に、SAR40にセットされた論理アドレス(32ビット)
の内の論理ページアドレス(21ビット)は物理ページア
ドレスに変換される。
Next, the logical address set in SAR40 (32 bits)
The logical page address (21 bits) is converted into a physical page address.

この物理ページアドレスへの変換は、所定マイクロ命令
にて行われ、例えば、主記憶装置2内の固定領域に用意
されている索引テーブル(図示せず)あるいは別に設け
られた変換テーブル(図示せず)が、SAR40の論理ペー
ジアドレス(21ビット)によってアクセスされ物理ペー
ジアドレス(21ビット)に変換される。
The conversion to the physical page address is performed by a predetermined micro instruction, and, for example, an index table (not shown) prepared in a fixed area in the main memory 2 or a conversion table (not shown) provided separately. ) Is accessed by the logical page address (21 bits) of SAR40 and converted into a physical page address (21 bits).

変換された物理ページアドレスは、例えば、他のレジス
タ(b)に出力され、MPX6dを介してSAR40に再びセット
される。
The converted physical page address is output to, for example, another register (b) and set again in the SAR 40 via the MPX6d.

SAR40に再びセットされた物理ページアドレス(21ビッ
ト)は、既にセットされている物理ページ内アドレス
(11ビット)と共に主記憶装置2を指示する物理アドレ
ス(32ビット)となる。
The physical page address (21 bits) set again in the SAR 40 becomes a physical address (32 bits) that instructs the main storage device 2 together with the already set physical page address (11 bits).

一つのマクロ命令フェッチが完了すると、iA8でアドレ
ス値がプラス1されるが、これは物理ページ内アドレス
(11ビット)のアドレス値がカウントアップされること
になる。
When one macro instruction fetch is completed, the address value is incremented by 1 in iA8, which means that the address value of the physical page address (11 bits) is counted up.

従って、この後は、既にセットされている物理ページア
ドレス(21ビット)はそのままで、マクロ命令のフェッ
チの度にiA8でカウントアップされた物理ページ内アド
レスがSAR40の対応する物理ページ内アドレスの桁(11
ビット)にセットされる。
Therefore, after this, the physical page address (21 bits) that has already been set remains unchanged, and the physical page address counted up by iA8 each time the macro instruction is fetched is the digit of the corresponding physical page address of SAR40. (11
Bit).

この動作は、次のページクロスが発生するまで行われ
る。
This operation is performed until the next page cross occurs.

(ハ):(ロ)項のRQF命令でページクロスと同時にiA
部12の最上位ビットからのキャリが発生すると、オーバ
フロー検出部14からオーバフロー信号が出力され、これ
によりレジスタ群11の命令フェッチ論理アドレスの上位
複数ビットがALU3を使ってマイクロ命令により更新され
る。
(C): iA at the same time as page cross by the RQF instruction in (b)
When a carry from the most significant bit of the unit 12 occurs, an overflow signal is output from the overflow detection unit 14, whereby the upper bits of the instruction fetch logical address of the register group 11 are updated by the microinstruction using the ALU3.

この場合はiA8のプラス1回路12aを使った更新と比較し
てマイクロ命令の実行に時間が掛かるが、オーバフロー
信号が出力される状態になるのは極まれであり、全体の
処理時間から較べるとわずかであり処理効率が下がるこ
とはない。
In this case, it takes more time to execute the microinstruction compared to the update using the iA8 plus 1 circuit 12a, but an overflow signal is rarely output, and it is very small compared to the overall processing time. Therefore, the processing efficiency does not decrease.

尚、このような状態になった場合の処理は以下の通りで
ある。
The processing in such a case is as follows.

即ち、iA部12の最上位ビットからのキャリは、iA部12が
カウントアップされる前に全ビットがオール‘1'の状態
(第3図(4)の状態)の時に発生する。
That is, the carry from the most significant bit of the iA section 12 occurs when all the bits are all "1" (the state of FIG. 3 (4)) before the iA section 12 is counted up.

尚、最上位ビットからのキャリはRQF命令終了時、ペー
ジクロスのキャリと同様オーバフロー検出手段14内F.F1
4bへセットされる。
The carry from the most significant bit is F.F1 in the overflow detection means 14 at the end of the RQF instruction, similar to the page cross carry.
It is set to 4b.

その後の動作はマイクロ命令で行われる。Subsequent operations are performed by microinstructions.

このマイクロ命令は、このF.F14bの状態を読取り、それ
がオンであれば、レジスタ群11から読まれた上位側の論
理アドレスをプラス1した論理ページアドレスを新しい
主記憶ページアドレス(物理アドレス)に変換する。
This microinstruction reads the state of F.F14b, and if it is on, the logical page address obtained by adding 1 to the upper logical address read from the register group 11 is added to the new main memory page address (physical address). Convert to.

(ニ):(ロ)項,(ハ)項の状態でない場合は、SAR4
0内にある主記憶ページアドレス(物理アドレス)と、R
QF命令によってiA8内で更新され、SAR40にセットされた
ページ内アドレスとが主記憶装置2をアクセスする。
(D): SAR4 when not in the states of (b) and (c)
Main memory page address (physical address) in 0 and R
The main page memory 2 is accessed by the in-page address set in the SAR 40 and updated in the iA8 by the QF instruction.

〔発明の効果〕〔The invention's effect〕

以上のように本発明によれば、簡易なハードウエア構成
で、マイクロプログラムに基づくデータ処理が確実に、
しかも、より短時間に実現できるという効果がある。
As described above, according to the present invention, data processing based on a micro program can be reliably performed with a simple hardware configuration.
Moreover, there is an effect that it can be realized in a shorter time.

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

第1図は本発明の原理を説明するブロック図、 第2図は本発明の実施例を説明するブロック図、 第3図は本発明の実施例における処理動作を説明する
図、 第4図は従来例を説明するブロック図、 をそれぞれ示す。 図において、 1,10はCPU、2は主記憶装置、 3はALU、4,40はSAR、 5,12aはプラス1回路、6a〜6dはMPX、 7,13b,14bはF.F、8はiA、 11はレジスタ群、12はiA部 13はページクロス検出手段、 13aはページクロス検出回路、 14はオーバフロー検出手段、 14aはオーバフロー検出回路、 をそれぞれ示す。
FIG. 1 is a block diagram illustrating the principle of the present invention, FIG. 2 is a block diagram illustrating an embodiment of the present invention, FIG. 3 is a diagram illustrating processing operations in the embodiment of the present invention, and FIG. A block diagram for explaining a conventional example is shown respectively. In the figure, 1,10 is CPU, 2 is main memory, 3 is ALU, 4,40 is SAR, 5,12a is plus 1 circuit, 6a-6d is MPX, 7,13b, 14b is FF, 8 is iA , 11 is a register group, 12 is an iA unit 13, 13 is a page cross detecting means, 13a is a page cross detecting circuit, 14 is an overflow detecting means, and 14a is an overflow detecting circuit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 阿保 憲一 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 武居 正善 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 野々村 一泰 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 西町 良市 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (72)発明者 桜井 康智 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 昭60−51947(JP,A) ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Kenichi Abo 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor Masayoshi Takei, 1015, Kamikodanaka, Nakahara-ku, Kawasaki, Kanagawa Prefecture, Fujitsu Limited ( 72) Inventor Kazuyasu Nonomura 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor, Yoshimachi Nishimachi, 1015, Ueodaanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (72) Inventor, Yasutomi Sakurai 1015 Kamiodanaka, Nakahara-ku, Kawasaki City, Kanagawa Prefecture, Fujitsu Limited (56) Reference JP-A-60-51947 (JP, A)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】所定バイトからなるページ単位にその容量
の分割されている主記憶装置(2)と、所定メモリに格
納されるマイクロプログラムに基づきデータ処理動作の
制御を行う中央処理装置(10)を備えてなる計算機シス
テムにおいて、 前記中央処理装置(10)から発生される実行命令中にマ
クロ命令をフェッチするためのマイクロ命令を定義し、 マクロ命令をフェッチするための論理アドレスの上位を
保持し、算術論理演算ユニット(3)を使ってマクロ命
令によりカウントアップされるレジスタ群(11)と、 マクロ命令アドレス専用のレジスタであって、物理ペー
ジ内アドレスを含んで構成される論理アドレスの下位を
保持し、マクロ命令をフェッチするためのマイクロ命令
により前記論理アドレスがカウントアップされる自動カ
ウントアップ回路を持った命令フェッチアドレス保持手
段(12)と、 前記命令フェッチアドレス保持手段(12)に保持された
論理アドレスに含まれる物理ページ内アドレスの最上桁
からページクロスを検出するページクロス検出手段(1
3)と、 前記命令フェッチアドレス保持手段(12)に保持された
論理アドレスの最上桁からオーバフローを検出するオー
バフロー検出手段(14)と、 前記レジスタ群(11)に保持された論理アドレスと前記
命令フェッチアドレス保持手段(12)に保持された論理
アドレスとがセットされるアドレスレジスタ(40)とを
具備し、 マクロ命令フェッチの際に、前記ページクロス検出手段
(13)によりページクロスを検出しない場合には、マイ
クロ命令によりカウントアップされた命令フェッチアド
レス保持手段(12)に保持された前記物理ページ内アド
レスを前記アドレスレジスタ(40)のページ内アドレス
の対応する桁にセットすることにより前記主記憶装置
(2)を指示する物理アドレスとし、 前記ページクロス検出手段(13)によりページクロスを
検出した場合には、前記レジスタ群(11)に保持された
論理アドレスと、マイクロ命令によりカウントアップさ
れた命令フェッチアドレス保持手段(12)に保持された
論理アドレスとを前記アドレスレジスタ(40)にセット
し、セットされた論理アドレスに含まれる論理ページア
ドレスを前記主記憶装置(2)の所定ページの物理アド
レスに変換し、 前記ページクロス検出手段(13)によりページクロスを
検出すると共に、前記オーバフロー検出手段(14)によ
りオーバフローを検出した場合には、前記算術論理演算
ユニット(3)を使ってマイクロ命令によりカウントア
ップされたレジスタ群(11)に保持されている論理アド
レスと、マイクロ命令によりカウントアップされた命令
フェッチアドレス保持手段(12)に保持された論理アド
レスとを前記アドレスレジスタ(40)にセットし、セッ
トされた論理アドレスに含まれる論理ページアドレスを
前記主記憶装置(2)の所定ページの物理アドレスに変
換することを特徴とする命令フェッチ制御装置。
1. A main storage device (2) whose capacity is divided into pages each consisting of a predetermined byte, and a central processing unit (10) for controlling a data processing operation based on a microprogram stored in a predetermined memory. In a computer system including: a microinstruction for fetching a macroinstruction in an execution instruction generated from the central processing unit (10) is defined, and a higher logical address for fetching the macroinstruction is held. , A register group (11) that is counted up by a macro instruction using the arithmetic and logic unit (3) and a register dedicated to the macro instruction address, which is lower than a logical address configured to include an address within a physical page. An automatic counting in which the logical address is counted up by a micro instruction for holding and fetching a macro instruction Instruction fetch address holding means (12) having an up circuit, and page cross detection means for detecting page cross from the uppermost digit of the physical page address included in the logical address held by the instruction fetch address holding means (12) (1
3), overflow detection means (14) for detecting an overflow from the most significant digit of the logical address held in the instruction fetch address holding means (12), the logical address held in the register group (11) and the instruction A case in which a page cross is not detected by the page cross detection means (13) at the time of macro instruction fetch, comprising an address register (40) in which the logical address held in the fetch address holding means (12) is set. In the main memory by setting the physical page address held in the instruction fetch address holding means (12) counted up by the micro instruction to the corresponding digit of the page address in the address register (40). The physical address for designating the device (2) is used, and the page cross detection means (13) is used for page , The logical address held in the register group (11) and the logical address held in the instruction fetch address holding means (12) counted up by the microinstruction are set in the address register (40). And a logical page address included in the set logical address is converted into a physical address of a predetermined page of the main storage device (2), and a page cross is detected by the page cross detection means (13). When an overflow is detected by the overflow detection means (14), the logical address held in the register group (11) counted up by the microinstruction using the arithmetic logic operation unit (3) and the microinstruction are detected by the microinstruction. Logical address held in incremented instruction fetch address holding means (12) Is set in the address register (40), and a logical page address included in the set logical address is converted into a physical address of a predetermined page of the main storage device (2).
JP61298036A 1986-12-15 1986-12-15 Instruction fetch controller Expired - Lifetime JPH0679272B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61298036A JPH0679272B2 (en) 1986-12-15 1986-12-15 Instruction fetch controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61298036A JPH0679272B2 (en) 1986-12-15 1986-12-15 Instruction fetch controller

Publications (2)

Publication Number Publication Date
JPS63149734A JPS63149734A (en) 1988-06-22
JPH0679272B2 true JPH0679272B2 (en) 1994-10-05

Family

ID=17854292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61298036A Expired - Lifetime JPH0679272B2 (en) 1986-12-15 1986-12-15 Instruction fetch controller

Country Status (1)

Country Link
JP (1) JPH0679272B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4718869B2 (en) * 2005-03-11 2011-07-06 エヌイーシーコンピュータテクノ株式会社 Emulator, address calculation exception detection method in emulator, program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS50152629A (en) * 1974-05-27 1975-12-08
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

Also Published As

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

Similar Documents

Publication Publication Date Title
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4206503A (en) Multiple length address formation in a microprogrammed data processing system
US4710866A (en) Method and apparatus for validating prefetched instruction
JPS59111542A (en) Program counter stack method and nested subroutine and instruction apparatus
CA1222323A (en) Method and apparatus for signed and unsigned bounds check
US3675214A (en) Processor servicing external devices, real and simulated
US3286236A (en) Electronic digital computer with automatic interrupt control
JPH0248931B2 (en)
US5761491A (en) Data processing system and method for storing and restoring a stack pointer
US4933847A (en) Microcode branch based upon operand length and alignment
EP0166431A2 (en) An information processing apparatus having an instruction prefetch circuit
US4757445A (en) Method and apparatus for validating prefetched instruction
US3618042A (en) Error detection and instruction reexecution device in a data-processing apparatus
JPH0679272B2 (en) Instruction fetch controller
EP0509558A2 (en) Information processing system with support means responsive to an overall system control
KR100488326B1 (en) Computer
EP0411679A2 (en) Apparatus for dynamically adding a next address field to the instructions of a computer system.
JP2619425B2 (en) Sequence controller
JPH0377137A (en) Information processor
EP0155275B1 (en) Prefetch validation
JPH0778723B2 (en) Information processing equipment
JPS6376016A (en) Instruction fetching system
JPS61182137A (en) Data processing with tag
JPH0752402B2 (en) Data processing device
JPS60193046A (en) Detecting system for instruction exception