JPS63147229A - Microprogram controller - Google Patents

Microprogram controller

Info

Publication number
JPS63147229A
JPS63147229A JP29442086A JP29442086A JPS63147229A JP S63147229 A JPS63147229 A JP S63147229A JP 29442086 A JP29442086 A JP 29442086A JP 29442086 A JP29442086 A JP 29442086A JP S63147229 A JPS63147229 A JP S63147229A
Authority
JP
Japan
Prior art keywords
address
register
base address
stored
bits
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
JP29442086A
Other languages
Japanese (ja)
Inventor
Shinichi Okugawa
奥川 伸一
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP29442086A priority Critical patent/JPS63147229A/en
Publication of JPS63147229A publication Critical patent/JPS63147229A/en
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

PURPOSE:To decrease the number of steps when a physical address is produced by using an all-0 detecting circuit to whether the low-order N bits in a base address set at a base address register are equal to all-0 or not. CONSTITUTION:An all=0 detecting circuit 6 detects that the low-order N bits of a base address stored in a base address register 3 are equal to all-0. In such a case, the contents of physical address register 5 which are obtained from merging are defined as a desired physical address. If it is decided that low-order N bit are not equal to all-0, the result of addition of an adder 7 is stored in the register 5 as a desired physical address. As a result, the coincidence is secured between the output of the adder 7 and the data to be set at the register 5 if said low-order N bit are equal to all-0. Thus no addition arithmetic is needed when the low-order bits of the base address are equal to all-0 and therefore the processing speed is increased.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はマイクロプログラム制御装置に関し、特に物理
アドレスの生成を高速化することができるマイクロプロ
グラム制御装置に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a microprogram control device, and particularly to a microprogram control device that can speed up the generation of physical addresses.

〔従来の技術〕[Conventional technology]

物理アドレスをベースアドレスとオフセットアドレスと
から生成する従来のマイクロプログラム制御装置は、物
理アドレスを求める際、常にベースアドレスとオフセン
トアドレスとの加算演算を行なうように構成されていた
A conventional microprogram control device that generates a physical address from a base address and an offset address is configured to always perform an addition operation between the base address and the offset address when determining the physical address.

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

上述したように、従来のマイクロプログラム制御装置は
物理アドレスを生成する際、常にベースアドレスとオフ
セットアドレスとの加算演算を行なうようにしており、
またマイクロプログラム制御装置に於いては物理アドレ
スを求めるためのアドレス計算が頻繁に行なわれるので
、加算ステップによるオーバヘッドが大きくなる問題が
ある。
As mentioned above, when a conventional microprogram control device generates a physical address, it always performs an addition operation between a base address and an offset address.
Furthermore, since address calculations for determining physical addresses are frequently performed in microprogram control devices, there is a problem in that the overhead caused by the addition step becomes large.

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

本発明は前述の如き問題点を解決するため、ベースアド
レスとオフセットアドレスとから物理アドレスを生成す
るように構成されたマイクロプログラム制御装置に於い
て、 前記ベースアドレスが格納されるベースアドレスレジス
タと、 前記オフセットアドレスが格納されるオフセットアドレ
スレジスタと、 前記物理アドレスが格納される物理アドレスレジスタと
、 前記ベースアドレスレジスタに格納されたベースアドレ
スの下位Nビットと前記オフセットアドレスレジスタに
格納されたオフセットアドレスの上位Nビットとを同一
の重みを有するビットとして前記ベースアドレスと前記
オフセントアドレスとを加算する加算器と、 前記ベースアドレスレジスタにセットされたベースアド
レスの内の下位Nビットがオール“0”であるか否かを
検出するオール零検出回路とを備え、 前記オフセットアドレスレジスタにオフセントアドレス
を格納する際、前記ベースアドレスレジスタに格納され
ているベースアドレスの内の下位Nビット以外の内容と
前記オフセットアドレスレジスタに格納するオフセット
アドレスとをマージした内容を前記物理アドレスレジス
タに格納し、前記オール零検出回路により前記ベースア
ドレスレジスタに格納されているベースアドレスの下位
Nビットがオール′″0”であることが検出された場合
は前記マージして得た物理アドレスレジスタの内容を目
的とする物理アドレスとし、オール“0”でないことが
検出された場合は前記加算器の加算結果を目的とする物
理アドレスとして前記物理アドレスレジスタに格納する
ように構成される。
In order to solve the above-mentioned problems, the present invention provides a microprogram control device configured to generate a physical address from a base address and an offset address, which includes: a base address register in which the base address is stored; an offset address register in which the offset address is stored; a physical address register in which the physical address is stored; and a combination of the lower N bits of the base address stored in the base address register and the offset address stored in the offset address register. an adder that adds the base address and the offset address with the upper N bits having the same weight; and an adder that adds the base address and the offset address with the upper N bits having the same weight, and the lower N bits of the base address set in the base address register are all "0". an all-zero detection circuit for detecting whether there is an offset address, and when storing an offset address in the offset address register, the contents of the base address other than the lower N bits of the base address stored in the base address register and the The content merged with the offset address stored in the offset address register is stored in the physical address register, and the all-zero detection circuit detects that the lower N bits of the base address stored in the base address register are all ``0''. If it is detected that the content of the physical address register obtained by the above merging is the target physical address, and if it is detected that it is not all "0", then the addition result of the adder is used as the target physical address. The physical address register is configured to be stored as an address in the physical address register.

〔作 用〕[For production]

ベースアドレスの下位Nピントがオール“O“の場合、
加算器の出力と物理アドレスレジスタにセントされるデ
ータとは等しいものとなる。従ってベースアドレスの下
位Nビットがオール“0”の場合は加算演算を行なう必
要がなくなるので、処理速度を向上させることが可能と
なる。
If the lower N pintos of the base address are all “O”,
The output of the adder and the data sent to the physical address register will be equal. Therefore, when the lower N bits of the base address are all "0", there is no need to perform an addition operation, making it possible to improve the processing speed.

〔実施例〕〔Example〕

次に本発明の実施例について図面を参照して説明する。 Next, embodiments of the present invention will be described with reference to the drawings.

第1図は本発明の実施例のブロック図であり、水平型マ
イクロプログラムに従って装置各部を制御する制御部1
と、ベースアドレス、オフセットアドレスが格納されて
いるレジスタファイル2と、16ヒント幅のベースアド
レスレジスタ3と、16ビツト幅のオフセットアドレス
レジスタ4と、24ビット幅の物理アドレスレジスタ5
と、ベースアドレスレジスタ3の下位8ビツトにセット
されているデータがオール“O”であるか否かを検出す
るオール零検出回路6と、物理アドレス計算用の加算器
7と、ベースアドレスレジスタ3の上位8ビツトにセッ
トされているデータと加算器7の出力データの上位8ビ
ツトとの内の何れか一方を選択するセレクタ8と、レジ
スタファイル2から出力される16ビツト構成のオフセ
ットアドレスと加算器7の出力データの下位16ビツト
との内の何れか一方を選択するセレクタ9とから構成さ
れる装置第2図は加算器7による物理アドレスの計算方
法を示した図であり、16ビツト構成のベースアドレス
21を8ビツト左シフトしたものと16ビツト構成のオ
フセットアドレス22とを加算することにより24ビツ
ト構成の物理アドレス23を得るものである。即ち、ベ
ースアドレス21の下位8ビツトとオフセットアドレス
22の上位8ビツトとを同一の重みを有するビットとし
てベースアドレス21とオフセットアドレス22とを加
算することにより物理アドレス23を生成するものであ
る。
FIG. 1 is a block diagram of an embodiment of the present invention, in which a control unit 1 controls each part of the device according to a horizontal microprogram.
, a register file 2 in which base addresses and offset addresses are stored, a base address register 3 with a 16-hint width, an offset address register 4 with a 16-bit width, and a physical address register 5 with a 24-bit width.
, an all-zero detection circuit 6 that detects whether the data set in the lower 8 bits of the base address register 3 are all "O"s, an adder 7 for calculating the physical address, and the base address register 3. A selector 8 selects either the data set in the upper 8 bits of the adder 7 or the upper 8 bits of the output data of the adder 7, and the 16-bit offset address output from the register file 2 is added. 2 is a diagram showing a method for calculating a physical address by the adder 7. A physical address 23 having a 24-bit structure is obtained by adding the base address 21 shifted to the left by 8 bits and an offset address 22 having a 16-bit structure. That is, the physical address 23 is generated by adding the base address 21 and the offset address 22 with the lower 8 bits of the base address 21 and the upper 8 bits of the offset address 22 having the same weight.

第3図はベースアドレスとオフセントアドレスとから物
理アドレスを求める際の制御部1の処理内容を示したフ
ローチャートであり、以下同図を参照して動作を説明す
る。
FIG. 3 is a flowchart showing the processing content of the control unit 1 when determining a physical address from a base address and an offset address, and the operation will be explained below with reference to the same figure.

先ず、第3図のラベルADR1のステップに示すように
、レジスタファイル2に格納されている16ビツト幅の
ベースアドレスが制御部1の制御によりベースアドレス
レジスタ3にロードされる。
First, as shown in the step labeled ADR1 in FIG. 3, the 16-bit wide base address stored in the register file 2 is loaded into the base address register 3 under the control of the control section 1.

次いで、ラベルADR2のステップに示すように、レジ
スタファイル2に格納されている16ビツト幅のオフセ
ットアドレスをオフセットアドレスレジスタ4にロード
する処理、ベースアドレスレジスタ3の上位8ビツトに
セットされているデータをセレクタ8を介して物理アド
レスレジスタ5の上位8ビツトにセントする処理及びオ
フセットアドレスレジスタ4にセットしようとしている
16ビツト幅のオフセットアドレスをセレクタ9を介し
て物理アドレスレジスタ5の下位16ビツトにセットす
る処理が同時に行なわれる。また、上記した処理を実行
させる水平型のマイクロプログラムのシーケンス制御フ
ィールドには、オール零検出回路6の検出結果による条
件ブランチが指定されており、オール零検出回路6によ
ってベースアドレスレジスタ3にセントされているベー
スアドレスの下位8ビツトがオール“0”であることが
検出されなかった場合は、ラベルADR3のステップを
実行した後、次のステップへ進むが、オール“0°であ
ることが検出された場合は直ちに次のステップに進むよ
うになっている。
Next, as shown in the step labeled ADR2, the 16-bit width offset address stored in register file 2 is loaded into offset address register 4, and the data set in the upper 8 bits of base address register 3 is loaded. The process of writing to the upper 8 bits of the physical address register 5 via the selector 8 and setting the 16-bit width offset address to be set in the offset address register 4 to the lower 16 bits of the physical address register 5 via the selector 9. Processing occurs simultaneously. In addition, a conditional branch based on the detection result of the all-zero detection circuit 6 is specified in the sequence control field of the horizontal microprogram that executes the above processing, and the all-zero detection circuit 6 writes the branch to the base address register 3. If it is not detected that the lower 8 bits of the base address are all "0", execute the step of label ADR3 and then proceed to the next step. If so, proceed to the next step immediately.

即ち、物理アドレスは前述したように、ベースアドレス
を8ビツト左シフトしたものとオフセットとを加算する
ことにより得られるものであり、ベースアドレスの下位
8ビツトがオール′Osならば、ベースアドレスの上位
8ビツトと16ビツト幅のオフセットアドレスとをマー
ジした24ビツトのデータと、加算することにより求め
た物理アドレスとは等しいものとなる。つまり、ラベル
ADR2のステップで物理アドレスレジスタ5に格納し
たデータがそのまま物理アドレスとなる。
That is, as mentioned above, the physical address is obtained by shifting the base address by 8 bits to the left and adding the offset. If the lower 8 bits of the base address are all 'Os', then the upper The 24-bit data obtained by merging 8 bits and the 16-bit wide offset address and the physical address obtained by adding are equal. In other words, the data stored in the physical address register 5 in the step of label ADR2 becomes the physical address as is.

また、ベースアドレスの下位8ビツトがオール″0″で
ない場合は、ラベルADR3のステップに示すように、
制御部1は加算器7にベースアドレスを8ビツト友シフ
トしたものとオフセットアドレスとの加算を行なわせ、
加算結果をセレクタ8.9を介して物理アドレスレジス
タ5にセットさせる。
Also, if the lower 8 bits of the base address are not all "0", as shown in the step of label ADR3,
The control unit 1 causes the adder 7 to add the base address shifted by 8 bits and the offset address,
The addition result is set in the physical address register 5 via the selector 8.9.

このように、本実施例によれば、従来装置ではベースア
ドレスをベースアドレスレジスタにロードするステップ
、オフセットアドレスをオフセットアドレスレジスタに
ロードするステップ、及びベースアドレスとオフセント
アドレスとを加算するステップの3つのステップが常に
必要であった物理アドレスの生成を、ベースアドレスの
下位8ビツトがオール″0”の時は、2つのステップで
実行することが可能となる。
As described above, according to this embodiment, the conventional device performs three steps: loading the base address into the base address register, loading the offset address into the offset address register, and adding the base address and the offset address. Generating a physical address, which always required one step, can now be performed in two steps when the lower 8 bits of the base address are all "0".

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

以上説明したように、本発明は、ベースアドレスの内の
オフセットアドレスと加算が行なわれる部分がオール“
0”であるか否かを検出する検出回路を設け、ベースア
ドレスとオフセントアドレスとを加算するステップを省
略できるケースを判定できるようにしたものであるから
、常にベースアドレスとオフセットアドレスとを加算し
なければならなかった従来例に比較して物理アドレスを
生成する際のステップ数を減少できる効果がある。
As explained above, in the present invention, the part of the base address where the offset address and addition are performed are all "
A detection circuit is provided to detect whether the base address and the offset address are 0", and the case where the step of adding the base address and the offset address can be omitted can be determined. Therefore, the base address and the offset address are always added. This has the effect of reducing the number of steps required to generate a physical address, compared to the conventional example.

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

第1図は本発明の実施例のブロック図、第2図は物理ア
ドレスの計算方法を示す図及び、第3図は制御部1の処
理内容を示す図である。 図に於いて、1・・・制御部、2・・・レジスタファイ
ル、3・・・ベースアドレスレジスタ、4・・・オフセ
ットアドレスレジスタ、5・・・物理アドレスレジスタ
、6・・・オール零検出回路、7・・・加算器、8.9
・・・セレクタ。
FIG. 1 is a block diagram of an embodiment of the present invention, FIG. 2 is a diagram showing a physical address calculation method, and FIG. 3 is a diagram showing processing contents of the control unit 1. In the figure, 1...Control unit, 2...Register file, 3...Base address register, 4...Offset address register, 5...Physical address register, 6...All zero detection Circuit, 7... Adder, 8.9
···selector.

Claims (1)

【特許請求の範囲】 ベースアドレスとオフセットアドレスとから物理アドレ
スを生成するように構成されたマイクロプログラム制御
装置に於いて、 前記ベースアドレスが格納されるベースアドレスレジス
タと、 前記オフセットアドレスが格納されるオフセットアドレ
スレジスタと、 前記物理アドレスが格納される物理アドレスレジスタと
、 前記ベースアドレスレジスタに格納されたベースアドレ
スの下位Nビットと前記オフセットアドレスレジスタに
格納されたオフセットアドレスの上位Nビットとを同一
の重みを有するビットとして前記ベースアドレスと前記
オフセットアドレスとを加算する加算器と、 前記ベースアドレスレジスタにセットされたベースアド
レスの内の下位Nビットがオール“0”であるか否かを
検出するオール零検出回路とを備え、 前記オフセットアドレスレジスタにオフセットアドレス
を格納する際、前記ベースアドレスレジスタに格納され
ているベースアドレスの内の下位Nビット以外の内容と
前記オフセットアドレスレジスタに格納するオフセット
アドレスとをマージした内容を前記物理アドレスレジス
タに格納し、前記オール零検出回路により前記ベースア
ドレスレジスタに格納されているベースアドレスの下位
Nビットがオール“0”であることが検出された場合は
前記マージして得た物理アドレスレジスタの内容を目的
とする物理アドレスとし、オール“0”でないことが検
出された場合は前記加算器の加算結果を目的とする物理
アドレスとして前記物理アドレスレジスタに格納するよ
う構成されたことを特徴とするマイクロプログラム制御
装置。
[Claims] A microprogram control device configured to generate a physical address from a base address and an offset address, comprising: a base address register in which the base address is stored; and a base address register in which the offset address is stored. an offset address register, a physical address register in which the physical address is stored, and the lower N bits of the base address stored in the base address register and the upper N bits of the offset address stored in the offset address register are the same. an adder that adds the base address and the offset address as weighted bits; and an adder that detects whether the lower N bits of the base address set in the base address register are all "0". and a zero detection circuit, when storing an offset address in the offset address register, the contents of the base address stored in the base address register other than the lower N bits and the offset address stored in the offset address register are The merged contents are stored in the physical address register, and if the all-zero detection circuit detects that the lower N bits of the base address stored in the base address register are all "0", the merged contents are stored in the physical address register. The content of the physical address register obtained by the above is set as the target physical address, and if it is detected that it is not all "0", the addition result of the adder is stored in the physical address register as the target physical address. A microprogram control device comprising:
JP29442086A 1986-12-10 1986-12-10 Microprogram controller Pending JPS63147229A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29442086A JPS63147229A (en) 1986-12-10 1986-12-10 Microprogram controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29442086A JPS63147229A (en) 1986-12-10 1986-12-10 Microprogram controller

Publications (1)

Publication Number Publication Date
JPS63147229A true JPS63147229A (en) 1988-06-20

Family

ID=17807525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29442086A Pending JPS63147229A (en) 1986-12-10 1986-12-10 Microprogram controller

Country Status (1)

Country Link
JP (1) JPS63147229A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2637098A1 (en) * 1988-09-26 1990-03-30 Nec Corp Logic address generator device for an instruction specifying two words, each divided into two parts

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2637098A1 (en) * 1988-09-26 1990-03-30 Nec Corp Logic address generator device for an instruction specifying two words, each divided into two parts

Similar Documents

Publication Publication Date Title
JPS633337B2 (en)
JPH0228830A (en) Integer number dividing circuit
US20210406051A1 (en) Nested virtual machine support for hypervisors of encrypted state virtual machines
JPS63147229A (en) Microprogram controller
JPH04350724A (en) Shift extent detecting circuit
US5386521A (en) Instruction prefetching circuit with a next physical address precalculating circuit
JPS59184944A (en) Rounding arithmetic system
JPS5837746A (en) Processor for condition discrimination
JPS59188900A (en) Data processor
JPH0271328A (en) Control system for branching history table
JPH0511982A (en) Fast function calculating method using function table
JPS6155731A (en) Processor provided with condition code discriminating function
JP3523407B2 (en) Information processing equipment
JPH0553759A (en) Fixed decimal point arithmetic unit
JPS61145643A (en) Variable word length instruction processing system
JPS6393045A (en) Microprogram controller
JPS61182137A (en) Data processing with tag
JPS6373335A (en) Information processor
JPS59223846A (en) Arithmetic processor
JPH01222328A (en) Data processing system
JPS63221429A (en) Data processor
JPH02208723A (en) Information processor
JPS63189942A (en) Information processor
JPH09247685A (en) Information processor and method therefor
JPS62106555A (en) Data processor