JPS63147229A - Microprogram controller - Google Patents
Microprogram controllerInfo
- 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
Links
- 238000001514 detection method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 5
- 101100490566 Arabidopsis thaliana ADR2 gene Proteins 0.000 description 2
- 101100269260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) ADH2 gene Proteins 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 101150022075 ADR1 gene Proteins 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
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.
物理アドレスをベースアドレスとオフセットアドレスと
から生成する従来のマイクロプログラム制御装置は、物
理アドレスを求める際、常にベースアドレスとオフセン
トアドレスとの加算演算を行なうように構成されていた
。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.
上述したように、従来のマイクロプログラム制御装置は
物理アドレスを生成する際、常にベースアドレスとオフ
セットアドレスとの加算演算を行なうようにしており、
またマイクロプログラム制御装置に於いては物理アドレ
スを求めるためのアドレス計算が頻繁に行なわれるので
、加算ステップによるオーバヘッドが大きくなる問題が
ある。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.
本発明は前述の如き問題点を解決するため、ベースアド
レスとオフセットアドレスとから物理アドレスを生成す
るように構成されたマイクロプログラム制御装置に於い
て、
前記ベースアドレスが格納されるベースアドレスレジス
タと、
前記オフセットアドレスが格納されるオフセットアドレ
スレジスタと、
前記物理アドレスが格納される物理アドレスレジスタと
、
前記ベースアドレスレジスタに格納されたベースアドレ
スの下位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.
ベースアドレスの下位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.
次に本発明の実施例について図面を参照して説明する。 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".
以上説明したように、本発明は、ベースアドレスの内の
オフセットアドレスと加算が行なわれる部分がオール“
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.
第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:
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)
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 |
-
1986
- 1986-12-10 JP JP29442086A patent/JPS63147229A/en active Pending
Cited By (1)
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 |