JPS63123127A - Microprogram control system - Google Patents

Microprogram control system

Info

Publication number
JPS63123127A
JPS63123127A JP26897186A JP26897186A JPS63123127A JP S63123127 A JPS63123127 A JP S63123127A JP 26897186 A JP26897186 A JP 26897186A JP 26897186 A JP26897186 A JP 26897186A JP S63123127 A JPS63123127 A JP S63123127A
Authority
JP
Japan
Prior art keywords
address
branch
branching
data
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP26897186A
Other languages
Japanese (ja)
Inventor
Hideki Migite
右手 秀樹
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP26897186A priority Critical patent/JPS63123127A/en
Publication of JPS63123127A publication Critical patent/JPS63123127A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve processing speed and to attain the effective use of a control memory by constituting to be able to complete the branching with one step to an optimum address in accordance with the conditions when processing is different according to the data, length, address, etc. CONSTITUTION:At the time of reading a first operand, (bits 4-3='00') is obtained, and data length 3 bytes (actual length -1; data length=002H) are set to a condition branching register 4, and then, based on the register contents ('00010'=002H), a ROS 5 for a branching address is read-accessed, from the same ROS 5 for the branching address, 0036H is outputted, thereafter, branched to a 36H address and the processing is continued. In the same manner, when a data length is one byte, branching is executed to a 10H address, when it is 4 bytes, the branching is executed to a 51H address respectively and the processing is continued. Thus, the storing data to the ROS 5 for the the branching address are changed and the branching destination can be freely designated to an arbitrary address.

Description

【発明の詳細な説明】 [発明の目的] (産業上の利用分野) 本発明は、マイクロプログラム処理方式のデータ処理装
置に用いられるもので、特に、任意の分岐先番地に1ス
テツプで分岐できるベクトル分岐機能をもつマイクロプ
ログラム制御方式に関する。
[Detailed Description of the Invention] [Object of the Invention] (Industrial Application Field) The present invention is used in a data processing device using a microprogram processing method, and is particularly applicable to a data processing device that can branch to an arbitrary branch destination address in one step. This paper relates to a microprogram control system with vector branching function.

(従来の技術) 従来、マイクロプログラムによる命令の実行処理に於い
て、データ長やアドレスにより処理が異なる場合、第4
図に示すように、マイクロプログラムアドレスの一部に
、長さやアドレス等を入れてベクトルブランチし、高速
に分岐処理が行なえるようにしている。
(Prior art) Conventionally, in the execution processing of instructions by a microprogram, when the processing differs depending on the data length or address, the fourth
As shown in the figure, the length, address, etc. are included in a part of the microprogram address for vector branching, so that branch processing can be performed at high speed.

しかし、この場合、分岐先は、長さやアドレスにより指
定されるベクトルアドレスより下位のビット数(“OI
!フィールド)に応じて、4ステツプ毎、8ステツプ毎
等(第4図の場合は下位3ビツトが゛′O″フィールド
なので8ステツプ毎)に限定される。
However, in this case, the branch destination is the number of bits lower than the vector address specified by the length and address (“OI
! Depending on the field), it is limited to every 4 steps, every 8 steps, etc. (in the case of FIG. 4, the lower 3 bits are the "O" field, so every 8 steps).

このため、分岐後の処理が長いときは、途中で分岐して
処理を続けなければならず、又、処理が短いときはマイ
クロプログラム上に空エリアができ、無駄な領域ができ
てしまうという不都合があった。
For this reason, if the processing after branching is long, it is necessary to branch midway and continue processing, and if the processing is short, an empty area will be created on the microprogram, which is an inconvenience. was there.

(発明が解決しようとする問題点) 上述したように従来のマイクロプログラム制御機構に於
いては、ベクトルブランチの際に、分枝先の指定が成る
特定の複数番地領域を単位に規制され、分岐先の指定に
制約を受けることから、メモリ上に無駄な空きエリアが
形成されたり、分岐先のステップ数に制限を受は全体の
処理速度に大きな影響を与える等、種々の問題があった
(Problems to be Solved by the Invention) As mentioned above, in the conventional microprogram control mechanism, vector branches are regulated in units of specific multiple address areas where branch destinations are specified; There are various problems such as the creation of unnecessary empty areas in the memory due to restrictions on the destination designation, and the limitation on the number of steps at the branch destination, which has a large impact on the overall processing speed.

本発明は、データやその長さ、アドレス等によって処理
が異なる場合に、それらの条件に応じて最適の番地へ1
ステツプで分岐を完了でき、これによりベクトル分岐の
際に分岐先の指定に制約を受けず、又、メモリ上の無駄
な空きエリアをなくして、処理速度を向上でき、制御記
憶の有効利用を計ることのできるマイクロプログラム制
御方式を提供することを目的とする。
In the case where processing differs depending on the data, its length, address, etc., the present invention allows the user to move to the optimal address according to those conditions.
A branch can be completed in a single step, so there is no restriction on specifying the branch destination when making a vector branch, and processing speed can be improved by eliminating unnecessary empty areas in memory, making effective use of control memory. The purpose is to provide a microprogram control method that can

[発明の構成] (問題点を解決するための手段及び作用)本発明は、ベ
クトル分岐のための条件情報をセットするレジスタと、
このレジスタの内容に従いリードアクセスされる分岐ア
ドレス格納部と、この分岐アドレス格納部より読出した
分岐アドレスをプログラムカウンタにセットする手段と
を備えて、データやその長さ、アドレス等によって処理
が異なる場合に、それらの条件に応じて最適の番地へ1
ステツプで分岐を完了できる構成としたもので、これに
より分岐先の指定に制約を受けず、又、メモリ上の無駄
な空きエリアをなくして、処理速度を向上でき、制御記
憶の有効利用が計れる。
[Structure of the Invention] (Means and Effects for Solving Problems) The present invention includes a register for setting condition information for vector branching;
A branch address storage section that is read accessed according to the contents of this register, and a means for setting the branch address read from this branch address storage section into a program counter are provided, and the processing differs depending on the data, its length, address, etc. 1 to the optimal address according to those conditions.
This configuration allows branches to be completed in steps, and as a result, there are no restrictions on specifying the branch destination, and by eliminating unnecessary free areas in memory, processing speed can be improved and control memory can be used effectively. .

(実施例) 以下図面を参照して本発明の一実施例を説明する。(Example) An embodiment of the present invention will be described below with reference to the drawings.

第1図は本発明の一実施例を示すブロック図である。FIG. 1 is a block diagram showing one embodiment of the present invention.

図中、1はマイクロプログラムを制御するプログラムカ
ウンタ(PC)であり、2はプログラムカウンタ1ヘセ
ツトするアドレスを選択するためのセレクタ(SEL)
である。3はマイクロプログラムを格納する固定記憶部
であり、ここではマイクロプログラム用RO8と称す。
In the figure, 1 is a program counter (PC) that controls the microprogram, and 2 is a selector (SEL) that selects the address to be set to program counter 1.
It is. Reference numeral 3 denotes a fixed storage section for storing microprograms, which is herein referred to as microprogram RO8.

4はベクトルブランチのための分岐条件(例えば、デー
タ/データ長/アドレス等)を貯える条件分岐レジスタ
(REG)である。
4 is a conditional branch register (REG) that stores branch conditions (for example, data/data length/address) for vector branches.

5は上記条件分岐レジスタ4の内容をもとにリードアク
セスされて、その内容に固有の条件分岐アドレスを読出
すメモリであり、ここでは分岐アドレス用RO8と称す
A memory 5 is read-accessed based on the contents of the conditional branch register 4 to read out a conditional branch address specific to the contents, and is herein referred to as a branch address RO8.

第2図(a)、(b)はそれぞれ上記実施例の条件分岐
レジスタ4にセットされる条件分岐情報の一構造例を示
したもので、ここでは最上位ビット(ビット8)を分岐
条件選択フラグとし、同フラグが同図(a>に示すよう
に゛Oパのとき、データ長分岐モードとなり、同図(b
)に示すように゛1パのとき、データ分岐モードとなる
FIGS. 2(a) and 2(b) each show an example of the structure of the conditional branch information set in the conditional branch register 4 of the above embodiment. Here, the most significant bit (bit 8) is used to select the branch condition. When the flag is set to 0 as shown in the figure (a), the data length branch mode is set, and the
), when it is 1, the data branch mode is entered.

第3図は上記実施例に於ける分岐アドレス用RO85の
アドレスとデータの一対応例を示すメモリマツプである
FIG. 3 is a memory map showing an example of the correspondence between addresses and data in the branch address RO 85 in the above embodiment.

ここで、上記第1図乃至第3図を参照して一実施例の動
作を説明する。尚、ここでは分岐アドレス用RO85か
ら読出されたデータがマイクロプログラム用RO83の
アドレス情報としてプログラムカウンタ1にセットされ
た後の動作は、通常の分岐処理動作と同一であるので、
ここでは分岐アドレス用RO85から分岐アドレスが出
力されるまでをデータ長やデータにより分岐する場合を
例に説明する。
Here, the operation of one embodiment will be explained with reference to the above-mentioned FIGS. 1 to 3. Note that here, the operation after the data read from the branch address RO 85 is set in the program counter 1 as the address information of the microprogram RO 83 is the same as the normal branch processing operation.
Here, an example will be described in which a branch is made based on the data length or data until the branch address is output from the branch address RO 85.

データ長やデータによる分岐処理の際は、条件分岐レジ
スタ4に、第2図(a)、又は同図(b)に示すような
分岐条件選択フラグをもつ分岐条件情報がセットされる
。即ち、ここでは上記条件分岐レジスタ4に貯えられた
分岐条件情報の最上位ビット(ビット8)が第2図(a
)に示す′O″のときデータ長分岐モードとなり、“同
図(b)に示す1”のときデータ分岐モードとなる。
When performing branch processing based on data length or data, branch condition information having a branch condition selection flag as shown in FIG. 2(a) or FIG. 2(b) is set in the conditional branch register 4. That is, here, the most significant bit (bit 8) of the branch condition information stored in the conditional branch register 4 is shown in FIG.
) indicates the data length branch mode, and when it indicates "1" as shown in FIG.

第2図(a)に示すデータ長分岐モード(ビット8=“
0″)では、それぞれの命令やオペランドにより分岐先
が異なるため、ここでは、ビット7〜3を命令やオペラ
ンド等の識別ビットとし、下位3ビツト(ビット2〜0
)へデータ長をセットして、8バイト長まで分岐可能と
している。
Data length branch mode (bit 8="
0''), the branch destination differs depending on each instruction and operand, so here, bits 7 to 3 are used as identification bits for instructions and operands, etc., and the lower 3 bits (bits 2 to 0
) to allow branching up to a length of 8 bytes.

又、第2図(b)に示すデータ分岐モードでは、ビット
7〜Oまでに1バイトのデータがセットされる。
Further, in the data branch mode shown in FIG. 2(b), 1 byte of data is set in bits 7 to 0.

先ず、データ長による分岐動作について説明する。First, a branch operation based on data length will be explained.

このデータ長分岐モード(ビット8=゛O”)では、上
記分岐条件情報のビット7〜5がOPコードによりセッ
トされるもので、ここでは現在480 ITであるとす
る。又、ビット4〜3のオペランドフィールドは、第1
オペランドリード時“OO”、第2オペランドリード時
11 Q i +!、ライト時1111 IIとする。
In this data length branch mode (bit 8 = "O"), bits 7 to 5 of the branch condition information are set by the OP code, and it is assumed that the current value is 480 IT. The operand field of
“OO” when reading the operand, 11 when reading the second operand Q i +! , 1111 II when writing.

ここで第1オペランドのリード時(ビット4〜3−00
”)であるとして、データ長3バイト(実長−1;デー
タ長=002H)を条件分岐レジスタ4にセットすると
、このレジスタ内容(“’00010” =OO2N 
)をもとに分岐アドレス用RO85がリードアクセスさ
れて、同分岐アドレス用RO85からは第3図に示すよ
うに00368が出力され、以後は368番地へ分岐し
て処理が続行される。同様にして、データ長を1バイト
としたときはIOH番地へ、又、4バイトとしたときは
51H番地へそれぞれ分岐して処理が続行される。
Here, when reading the first operand (bits 4 to 3-00
”), and set the data length of 3 bytes (actual length - 1; data length = 002H) to conditional branch register 4, the contents of this register (“'00010” = OO2N
), the branch address RO 85 is read-accessed, and the branch address RO 85 outputs 00368 as shown in FIG. 3. Thereafter, the process branches to address 368 and continues processing. Similarly, when the data length is 1 byte, the process branches to the IOH address, and when the data length is 4 bytes, the process branches to the 51H address and continues.

次に、第2オペランドのリード時(ビット4゜3−“0
1″)であるとして、データ長3バイト(002H)を
条件分岐レジスタ4にセットすると、このレジスタ内容
(“”01010”−00AH)をもとに分岐アドレス
用RO85がリードアクセスされて、同分岐アドレス用
RO85からは第3図に示すように0037Hが出力さ
れ、以後は378番地へ分岐して処理が続行される。
Next, when reading the second operand (bit 4°3-“0
1") and set the data length 3 bytes (002H) to conditional branch register 4, the branch address RO85 is read accessed based on the contents of this register (""01010"-00AH), and the same branch is executed. The address RO 85 outputs 0037H as shown in FIG. 3, and thereafter branches to address 378 to continue processing.

このようにして任意の番地に自由に分岐先指定を行なう
ことができる。即ち、従来のベクトルブランチでは、第
1オペランド時に36H番地を、又、第2オペランド時
に378番地をといった自由な分岐先指定はできなかっ
たのに対し、上記実施例で示したような本発明による方
式では、分岐アドレス用RO85への格納データを変え
ることによって任意の番地に自由に分岐先指定を行なう
ことができる。従って、共通ルーチン化を図れるものに
は、直接、所望のアドレスに分岐できるため、ルーチン
の共通化が容易となる。
In this way, the branch destination can be freely specified to any address. That is, in the conventional vector branch, it was not possible to freely specify the branch destination such as address 36H for the first operand or address 378 for the second operand, whereas the present invention as shown in the above embodiment In this method, a branch destination can be freely specified to an arbitrary address by changing the data stored in the branch address RO 85. Therefore, if a routine can be made common, it is possible to branch directly to a desired address, making it easy to make routines common.

又、データ分岐モードのときは、1バイトのデータの上
に“1”を付加して、条件分岐レジスタ4にセットする
ことで、上記同様の動作により分岐アドレスが得られる
In addition, in the data branch mode, by adding "1" to one byte of data and setting it in the conditional branch register 4, a branch address can be obtained by the same operation as described above.

上述した実施例のベクトルブランチは、従来のベクトル
ブランチと異なり、どこへでも自由に1ステツプで分岐
できる。このように、分岐先が自由で、分岐先でのステ
ップ制限もなく無条件ブランチが無いので処理速度が向
上し、かつ従来のベクトルブランチのようなマイクロプ
ログラム用RO8上の空きエリアが生じることなく同R
O8の有効利用が図れるとともに、ルーチンの共通化が
容易となる。又、マイクロ命令語中に分岐アドレスフィ
ールドをもたないため、分岐と同時に多機能の処理を行
なうことができ処理速度の向上が図れる。
The vector branch of the embodiment described above, unlike the conventional vector branch, can freely branch anywhere in one step. In this way, the branch destination is free, there are no step restrictions at the branch destination, and there are no unconditional branches, so the processing speed is improved, and there is no empty area on the microprogram RO8 like with conventional vector branches. Same R
O8 can be used effectively, and routines can be easily shared. Furthermore, since there is no branch address field in the microinstruction word, multi-function processing can be performed simultaneously with branching, thereby improving processing speed.

尚、上記した実施例では分岐アドレス用の記憶部にRO
8を用いているが、RAMを用いても上記同様のベクト
ルブランチ機能を実現できる。
In the above embodiment, RO is stored in the memory section for branch addresses.
8 is used, however, the same vector branch function as described above can also be realized using a RAM.

[発明の効果コ 一〇− 以上詳記したように本発明のマイクロプログラム制御方
式によれば、ベクトル分岐のための条件情報をセットす
るレジスタと、このレジスタの内容に従いリードアクセ
スされる分岐アドレス格納部と、この分岐アドレス格納
部より読出した分岐アドレスをプログラムカウンタにセ
ットする手段とを備えて、データやその長さ、アドレス
等によって処理が異なる場合に、それらの条件に応じて
最適の番地へ1ステツプで分岐を完了できる構成とした
ことにより、分岐先の指定に制約を受けず、又、メモリ
上の無駄な空きエリアをなくして、処理速度を向上でき
、制御記憶の有効利用が計れる。
[Effect of the invention 10- As detailed above, according to the microprogram control method of the present invention, there is a register for setting condition information for vector branching, and a branch address storage that is read accessed according to the contents of this register. and a means for setting the branch address read from the branch address storage section in the program counter, and when processing differs depending on data, its length, address, etc., it moves to the optimal address according to those conditions. By adopting a configuration in which a branch can be completed in one step, there are no restrictions on specifying a branch destination, and unnecessary empty areas on the memory are eliminated, processing speed can be improved and control storage can be used effectively.

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

第1図は本発明の一実施例を示すブロック図、第2図は
上記実施例に於ける分岐条件情報の構成例を示す図、第
3図は上記実施例に於ける分岐アドレス用RO8の記憶
データ例を示す図、第4図はベクトルブランチを説明す
るためのマイクロプログラムアドレスの構成例を示す図
である。 1・・・プログラムカウンタ(PC) 、2・・・セレ
クタ(SEL)、3・・・マイクロプログラム用RO8
,4・・・条件分岐レジスタ(REG) 、5・・・分
岐アドレス用RO8゜ 出願人代理人 弁理士 鈴 江 武 彦第2図 第3図 第4図
FIG. 1 is a block diagram showing an embodiment of the present invention, FIG. 2 is a diagram showing an example of the configuration of branch condition information in the above embodiment, and FIG. 3 is a block diagram of the branch address RO8 in the above embodiment. FIG. 4 is a diagram showing an example of stored data, and FIG. 4 is a diagram showing an example of the structure of a microprogram address to explain a vector branch. 1...Program counter (PC), 2...Selector (SEL), 3...RO8 for microprogram
, 4... Conditional branch register (REG), 5... RO8 for branch address Applicant's agent Patent attorney Takehiko Suzue Figure 2 Figure 3 Figure 4

Claims (1)

【特許請求の範囲】[Claims] マイクロプログラム制御機構に於いて、ベクトル分岐の
ための条件情報をセットするレジスタと、このレジスタ
の内容に従いリードアクセスされる分岐アドレス格納部
と、この分岐アドレス格納部より読出した分岐アドレス
をプログラムカウンタにセットする手段とを具備してな
ることを特徴とするマイクロプログラム制御方式。
In the microprogram control mechanism, there is a register that sets condition information for vector branching, a branch address storage section that is read accessed according to the contents of this register, and a program counter that stores the branch address read from this branch address storage section. A microprogram control system characterized by comprising a means for setting.
JP26897186A 1986-11-12 1986-11-12 Microprogram control system Pending JPS63123127A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26897186A JPS63123127A (en) 1986-11-12 1986-11-12 Microprogram control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26897186A JPS63123127A (en) 1986-11-12 1986-11-12 Microprogram control system

Publications (1)

Publication Number Publication Date
JPS63123127A true JPS63123127A (en) 1988-05-26

Family

ID=17465849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26897186A Pending JPS63123127A (en) 1986-11-12 1986-11-12 Microprogram control system

Country Status (1)

Country Link
JP (1) JPS63123127A (en)

Similar Documents

Publication Publication Date Title
KR940009094B1 (en) Data processing system
US4179731A (en) Microprogrammed control system
JPH0248931B2 (en)
US3958221A (en) Method and apparatus for locating effective operand of an instruction
JPS61170828A (en) Microprogram control device
KR19990036893A (en) Processor Architecture for Execution of Multiple Addressing Modes and Its Design Method
KR920004279B1 (en) Microprocessor with pointer register
JPH03233630A (en) Information processor
JPH031231A (en) Microprogram controller
JPS63123127A (en) Microprogram control system
JPH0574096B2 (en)
JPS6217773B2 (en)
US5463747A (en) Microprogram data processor processing operand address calculation and instruction execution with common hardware
JPH09505428A (en) Microcontroller with page address mode
JPS6346855B2 (en)
JPS6051739B2 (en) Micro program method
KR950006585B1 (en) Micro program control apparatus and control method thereof
JP2743947B2 (en) Micro program control method
JP3392413B2 (en) Two-level micro control system and method
JPS58159149A (en) Instruction code converting system
JPS61838A (en) Microprogram controller
JPH02138623A (en) Microprocessor for microprogram system with pointer register
JPH0128965B2 (en)
JPS62117041A (en) Microcomputer
JPH0628034B2 (en) Calculator with tag