WO1988007237A1 - Unite arithmetique rapide a virgule flottante - Google Patents

Unite arithmetique rapide a virgule flottante

Info

Publication number
WO1988007237A1
WO1988007237A1 PCT/JP1988/000117 JP8800117W WO8807237A1 WO 1988007237 A1 WO1988007237 A1 WO 1988007237A1 JP 8800117 W JP8800117 W JP 8800117W WO 8807237 A1 WO8807237 A1 WO 8807237A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
status signal
decoder
selector
output
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.)
Ceased
Application number
PCT/JP1988/000117
Other languages
English (en)
French (fr)
Inventor
Mikio Yonekura
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Publication of WO1988007237A1 publication Critical patent/WO1988007237A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/226Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Definitions

  • the present invention relates to a high-speed floating-point arithmetic unit.
  • FFP floating-point arithmetic unit
  • FIG. 1 An outline of an example of the configuration of the FFP is shown in FIG. 1
  • 22 is data RAM for temporarily storing operation data from a host processor (not shown), and the operation result in the FFP
  • 23 is the data RAM.
  • An R / W control for controlling reading from the data 22 and writing to the data 22.
  • the host processor controls the R / W control 23 to write operation data to the data RAM 22 via the data node 14 and after the operation is completed, Read the result of the FFP stored in the data RAM 22.
  • Reference numeral 1 denotes an arithmetic unit, which includes a register 'file 13, a floating-point arithmetic processing unit (hereinafter referred to as ALU) 12, and a floating-point multiplication / division unit (hereinafter P' / No DIV) 1 Consists of 1.
  • ALU floating-point arithmetic processing unit
  • P' / No DIV floating-point multiplication / division unit
  • ALU 12 performs addition / subtraction and comparison / logic operations
  • MPY / DIV 11 performs multiplication / division.
  • the ALU 12 and MPY D1V 11 each have two types of outputs, one of which outputs the results of arithmetic operations such as addition, subtraction, and multiplication / division, respectively.
  • the operation result is input to the register ⁇ file 13.
  • the other is the status signal output, which provides the result of the comparison / logic operation (hereinafter referred to as the non-exceptional status) and the ALU 12, MPY / DIV 11 What kind of error occurs when an error occurs every single operation (for example, over arrow, underflow, input data is not a number, not normalized, etc.) As a status signal.
  • Reference numeral 5 denotes a micro-program control unit which controls the calculation processing of the FFP, and includes a sequencer 15 and a writable control storage strain (writable control storage> X ICS and microcode register 17.
  • S16
  • a micro program is written from the host processor at the start of the arithmetic processing in the FFP.
  • the WCS 16 executes the micro instruction (micro code) written in the address.
  • the sequencer 15 generally increments the address specifying that the processing of one micro instruction is completed, and as a result, the micro instruction of the next address is processed by the micro instruction.
  • the status signal decoding unit 20 receives the status signal described above or the maximum of the data read from the data RAM 22 or the register 'file 13 through the data bus 14.
  • the most significant bit hereinafter referred to as the MSB
  • the MSB most significant bit
  • FIG. 2 shows an example of a conventional configuration of the status signal decoding unit 20.
  • the status signal decoding unit 20 in FIG. 2 includes a first selector 41, a second selector 8, a decoder 2, and a latch circuit 6.
  • the second selector controls the status from the ALU 12 according to the timing of the output of the DIV 11 or the ALU 12 under the control of the microprogram. Signal, or said Select one of the status signals from MP Y ./DIV 11.
  • the output of the second selector is decoded by the decoder 2, and the decoder provided in correspondence with the type of the comparison Z logical operation and the type of the error in the ALU 12 or HPY ZDIV 11 is provided.
  • One corresponding bit of the output of the da 2 is set to 1 ".
  • a group of decoder outputs corresponding to the non-exceptional status signal is represented by D,..., And a group of decoder outputs corresponding to the exceptional status signal is represented by D. Shown as 2 .
  • Deco belongs to the group of the D 2 - are input in parallel to each direct a first cell Lek motor 4 1 if Da output
  • the said decoder ⁇ Ka belonging to the group of the other above D t Each of them is input to the latch circuit 6 in parallel and once held, and then again from the latch circuit 6 to the first selector 4 .. in parallel with each other and of the decoder output of the group of D 2 Each is input in parallel.
  • the first selector 41 has the data bus :! Via 4, the data RA 22 or the MSB of the data from the register-file 13 is also input in parallel with the output of the aforementioned decoder 2.
  • the above-mentioned program control is carried out (designation of the conditional jump instruction loaded into the above-mentioned code port register 17).
  • the reason that the above-mentioned latch circuit 6 is provided is that the above-mentioned non-exceptional status is generally used for a normal processing process such as a result of a comparison operation, and such a data is used.
  • branch instructions condition jump instructions mentioned above
  • reference numeral 19 in FIG. 2 denotes an address generator, which generates an address of the data RAM 22 under the control of a microprogram.
  • the jump address register (consisting of 12 bits in the example of FIG. 4) of the above-mentioned microphone code register 17 is used. used.
  • the di turbocharger Npua de Re scan full I Lumpur de as described above, except when the jump instruction of (di-catcher pump instruction is also Complex non-conditional) not being used e Then, di-catcher Npua de Resufu I of this
  • the address is the data required to generate an address at the address generator 19 (eg, For example, it is used to read out the address of the output of the address generator 19 from the WCS 16 and transmit it.
  • the data read from the data RAM 22 can be input to the address generator 19 by the register 21.
  • the address generator 19 uses these data to perform an operation, if necessary, to obtain a designated address of the data RAM 22. Then, under the control of the microcontroller controlled R / W control 23, the data RAM 22 outputs the address specified by the address generator 18. Data is read.
  • An object of the present invention is to provide a high-speed floating-point arithmetic unit that greatly reduces the number of jump instructions in microcontroller program control.
  • the high-speed floating-point arithmetic unit performs a series of arithmetic operations or comparison / logical operations under the control of the microprogram control unit, and displays the result of the comparison / logical operation.
  • An operation unit that outputs an exceptional status signal or an exceptional status signal indicating occurrence of an error in any one of the arithmetic operation and the comparison / logic operation.
  • a selector for selecting one of the outputs of the decoder specified by the microphone program control unit from among the decoders for decoding the static status signal and the exceptional status signal.
  • the microphone ⁇ program control unit includes: ..
  • an error storage unit is provided in a stage preceding the selector; ⁇ La one storage unit For each of the outputs of the decoder corresponding to the exceptional status signal, when an error occurs during the series of operations, the occurrence of the error is determined by the series of operations. Until the end of the period.
  • Fig. 1 is a schematic diagram showing an example of the configuration G1 of the high-speed floating-point arithmetic unit (FFP).
  • FFP floating-point arithmetic unit
  • FIG. 2 is a diagram showing a conventional configuration of the status signal decoding unit 20 of FIG. 1,
  • FIG. 3 is a diagram showing a basic configuration of the present invention
  • FIG. 4 is a diagram showing an example of the configuration of the status signal decoding unit 20 of the high-speed floating-point arithmetic unit (FFP) of FIG. 1 as one embodiment of the present invention.
  • FFP floating-point arithmetic unit
  • FIG. 3 is a diagram showing a basic configuration of a high-speed floating-point arithmetic unit according to the present invention.
  • 1 indicates that a series of arithmetic operations or logical arithmetic operations are performed under microprogram control, and the result of the comparison H logical operation is performed in a non-exceptional state.
  • An operation unit that outputs a non-exceptional status signal and an exceptional status signal as an exceptional status signal that outputs an error in either the arithmetic operation or the comparison Z operation as an exceptional status signal.
  • a decoder 4 for decoding the output of the decoder 2 selects one of the outputs of the decoder 2 specified by the microprogram control unit.
  • a non-exceptional status signal or an exceptional status signal output for each operation from the operation unit 1 that performs a series of operations is supplied to the decoder 2. is decrypted, for each of the deco over da output D 2 corresponding to the exceptional status signal Chi caries output of the deco over da 2, e la - is e la chromatography through operation of the over communication in Ki ⁇ 3 Since the occurrence of the error is stored, the selector 4 is controlled by the microprogram control unit 5 at the end of the series of operations, so that the exceptional status signal is output. For each of the corresponding deco-da output, you can check if an error has occurred through the series of operations c
  • the micro-program control unit 5 controls the selector 4 every time one operation is completed, and checks whether an error occurs in the one operation.
  • the number of the conditional jump instructions is reduced, and the microcode register used by the conditional jump instruction is reduced.
  • the jump address finolade can be used for other purposes, giving you more freedom in creating micro-programs.
  • FIG. 4 is a diagram showing an example of the configuration of the status signal decoding unit 20 of the high-speed floating-point arithmetic unit (FFP) shown in FIG. 3 as one embodiment of the present invention.
  • FFP floating-point arithmetic unit
  • a first selector 4 i a second selector 8 .
  • the configuration of the decoder 2 and the latch circuit 6 is the same as that of the conventional status signal decoding unit 10 in FIG. 2 described above, but the status signal decoding unit 0 in FIG. Out of the outputs of D2, the one corresponding to the exceptional status signal D2 is connected to the first selector 41 via the exceptional status flip-flop group 31 respectively. Further, each output of the exceptional status flip-flop group 31 is connected in parallel to a human terminal of the OR circuit 7 in parallel. And the or tU road? Is connected to one of the inputs of the first selector 41.
  • the flip-flop of the above-mentioned set / reset type The reset input of each of the elements acting as To have ', also each of said elements operate in synchronism with the click hole Tsu Ku
  • FIG. 4 An example of the operation of the status signal decoding unit 20 is shown in Fig. 4 below. And with reference to Figure 1.
  • the data input as the denominator at the time of division in the floating-point multiplication / no-divider (PY / DIV) 11 is zero.
  • the occurrence of the DIVIDED BY ZERO error is transmitted from the status signal output of the MPYZDIV 11 to the status signal decoding unit 20 in the form of a 4-bit signal.
  • This signal is input to one of the two inputs of the second selector 8 in FIG.
  • the second cell is controlled.
  • microprogram control is performed so as to select the input on the PNO DIV 11 side.
  • the 4-bit signal indicating the error of DIVIDED BY ZERO from the MPY / DIV 11 is input to the decoder 2.
  • this signal is decoded, and DIVIDED BY
  • the status signal decoding unit 20 as shown in FIG. 4 is applied to the FFP configuration of FIG. 1, the error in the MPY / DIV 11 and ALU 12 by the microcontrol ⁇ -gram control
  • the presence / absence check can be performed once at a time after a series of operations in the above 11 and A Li: 12 are completed.
  • the number of jump instructions in the microcomputer program control of the high-speed floating-point arithmetic unit is greatly reduced, and the number of jump instructions used by the microprocessor is reduced.
  • the jumper address field of the microcode register can be defined and used differently.
  • the present invention is useful for a high-speed floating-point arithmetic unit by micro-program control.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Executing Machine-Instructions (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)

Description

明 細 高速淳勛小数点演算器 技術分野
本発明は、 高速浮動小数点演算器に関する。 背景技術 - 汎用のプ πセ ッサにおいては浮動小数点演算の速度が非常 に遅いため、 浮動小数点演算専用のハー ドウ ユア構成を有す る高速浮動小数点演算器 (Fast Floating Point Processor 以下 F F P と称す) が用いられる。
F F Pの構成の 1 例の概略は第 1 図に示されている。
第 1 図において、 2 2 はホス トプロセ ッサ (図示せず) か らの演算用のデータ、 また当該 F F Pにおける演算結果をそ れぞれ一時ス ト ァするデータ R A M、 2 3 は該デ一タ 22 からの読出しおよび該データ 22への書込みを制御する Rノ Wコ ン ト ロールである。 前記ホス トプロセ ッサは前記 R / Wコ ン ト ロ ール 2 3 を制御して、 デ一タ ノ ス 1 4 を介して 該データ RAM 22に演算用データを書込み、 また演算終了後、 該デ—タ RAM 22に ス トァされた当該 F F Pの演箕結果を読出 す。
1 は演算部であって、 レ ジス タ ' フ ァ イ ル 1 3 、 浮動小数 点算術 ¾理演算器 (以下 A L U と称す) 1 2 、 および浮動小 数点乗算/除算器 (以下 P'/ノ DIV と称す) 1 1 からなる。 レジスタ ' フ ァ イ ル 1 3 ば、 マイ ク ロ プログラ ム制御 (後述) により、 前記デ一タ RAM 22から演箕に用いるデータをこ こに 読出して前記 12または MPYZDIV 11へ供給し、 また、 該 ALU 12または MPY/DI 11における演箕途中のデータおよび 最終演算結果をこ こに一次保持するためのものである。 該最 終演算結果は、 該レジスタ · フ ァ イ ル 1 3から前記データ
22に書込まれる。 ALU 12は加減算および比較/論理演算 を行い、 MPY/DIV 11は乗除算を行う。 該 ALU 12および MPY D1V 11ばそれぞれ、 2種類の出力を有しており、 1つはそ れぞれ、 加減箕、. および、 乗除算等の算術演算の結果を出力 するもので、 これら算術演算結果は前記レジスタ ♦ フ ァ イ ル 1 3 に入力される。 他の 1つは、 ステータ ス信号出力であり、 この出力からは、 比較/論理演箕の結果 (以下 非例外的ス テ一タス と称す) 、 および、 ALU 12、 MPY/DIV 11の各々 に おいて 1回の演算毎に何らかのエラーが発生した場合 (例え ば、 オーバアロー、 アンダフロ ー、 入力データが数でない、 正規化されていない等) にどういうエラーが発生 ·したか (以 下例外的ステータ ス と称す) をステータス信号として出力す 。
5 は、 マイ. クロプロ グラム制御部で、 当該 F F Pの潢算処 理を制御する部分であり、 シーケンサ 1 5、 ライ タブル - コ ン ト ロ 一ノレ - ス ト レー ン (writable control storageヽ >X卜 W C Sと称す) I 6、 およびマイ ク ロコー ド · レジスタ 1 7 からなる。 該《:S 16には、 当該 F F Pにおける演算処理の開 始時に、 前記ホス トプロ セ ッ サからマイ ク ロプロ グラ ムが書 込まれ、 上記シーケ ンサ 1 5 によってア ド レスが指定される と、'該 WCS 16は、 該ア ド レスに書込まれていたマイ ク ロ命令 (マイ ク ロ コ ー ド) をマイ ク ロ コ ー ド レジスタ 1 7 に出力す る。 前記シーケ ンサ 1 5 は、 一般には 1 つのマイ グロ命令の 処理が終了する と指定するア ド レスをイ ンク リ メ ン ト し、 そ の結果、 次のア ド レスのマイ ク ロ命令が前記マイ ク 口コ — ド レジスタ 1 7 にロー ド される。 マイ ク ロコ ー ド 】 7 に条件付 ジヤ ンプ命令がロ ー ドされている ときは、 該シーケ ンサ 1 5 はレジスタ 1 8 のビソ トの内容によって、 前記ジヤ ンプア ド レスフ ィ 一ノレ ドに示されたァ ド レ スにジ ャ ンプする。 該レジ スタ 1 8 には後述する ステータ ス信号解読部 2 0 の出力が口 - ドされている。
該スタ ータス信号解読部 2 0 は、. 前述のステータス信号、 ま たは、 前記データ RAM 22も し く は レジスタ ' フ ァ イ クレ 1 3 からデータバス 1 4 を介して読出されたデータの最上位ビ ッ ト (most significant bit. 以下 M S B と称す) を入力して, 前記マ イ ク ロ コ 一 ド レジスタ 1 7 に口 一 ドされた条件付ジ ャ ンプ命令が指定するステー タ スの内容を前記レ ジスタ 1 8 へ 出力する。 こ のステータ ス信号解読部 2 0 の従来の構成の 1 例を第 2図に示す。
第 2図のステー タ ス信号解読部 2 0 は、 第 1 のセ レク タ 4 1 , 第 2 のセ レク タ 8 、 デコ ーダ 2 およびラ ッ チ回路 6力、 ら成る。 第 2 のセ レ ク タは.、 マ イ ク ロ プロ グラ ムの制御によ り 、 前記 ノ D I V 11または ALU 12の出力のタ イ ミ ングに合 わせて、 前記 ALU 12からのステ—タス信号、 または、 前記 MP Y ./ D I V 11からのステータ ス信号のいずれか一方を選択す る。 ここで、 第 1図の構成例においては、 1 1およ び ALU 12の両方が同時に有効な出力をすることがないように 制御され Tいるものとする。 該第 2 のセレクタの出力はデコ ーダ 2にて解読され、 該 ALU 12あるいは HPY Z D I V 11におけ る比較 Z論理演算の種類およびェラ一の種類に対応して設け られた、 該デコ一ダ 2の出力のう ちの対応する 1つのビフ ト を 1 " とする。
第 2図において 、 該デコーダ 2の出力のう ち、 前記非例 外的ステータス信号に対応するデコーダ出力の群を D , 、 他 方、、 前記例外的ステータス信号に対応するデコーダ出力の群 を D 2 として示している。
第 2図の構成においてば、 上記 D 2 の群に属する前 デコ —ダ出力ば各々直接第 1 のセ レク タ 4 1 へ並列に入力され、 他方上記 D t の群に属する前記デコーダ岀カは各々並列にラ チ回路 6 に入力されて一旦保持され、 該ラ Vチ回路 6から 再び、 前記第 1 のセ レク タ 4に .. 互いに並列に、 かつ、 前記 D 2 の群のデコーダ出力の各々 とも並列に入力されている。 該第 1 のセ レクタ 4 1 には、 前記データバス :! 4を介して、 前記データ R A 22あるいは前記レジスタ - フ ァ イ ル 1 3から の ータの M S B もまた前述のデコーダ 2 の出力と並列に入 力されている。 該第 1 のセ レク タ 4 1 においては、 マイ ク ロ プ口グラ ム制御 (前記マ イ ク 口 コ ー ド レジスタ 1 7 にロ ー ド された条件付ジ ャ ンプ命令の指定) により、 上記の全ての並 列な入力のう ちの : [ つが選択され、 これが前記レ ジスタ 1 8 に α — ドされる。
上記のラ ッチ回路 6が設けられている理由は、 一般に、 前 記非例外的ステ一 タ スは比較演算の結果等の正常な処理プロ セ スに用いられるデータであり、 このよう なデータに基く 分 岐命令 (前記条件付ジャ ンプ命令) は一般に複数にわたる こ とが多いため、 1 つのマイ ク 口命令による処理が終わった後 も保持してお く こ とができ るよう にするためである。
他方、 前記 D ζ で示される例外的ステータスに対応するデ コ ーダ出力の群については、 これら例外的ステータ スは、 ェ ラ —がなければ、 そのまま、' 次のステ ップに進み、 も し、 ェ ラ ーがあれば、 例えば、 当該 F F Ρの処理をス ト ップして最 初から演算をやり直す等、 一度エラ —の有無が判断されれば 直ぐに次のステ ップが決定され得! > ものであるので、 従来、 前記 A L U 1 2または M P Y Z D 1 1における 1 回の演算毎にエラ —のチュ 'ン クをする場合には該例外的ステ一タ スはラ チ回 路等によって保持してお く 必要がないものとされていた。
その他、 第 2 図の 1 9 はァ ド レス ジ ェ ネ レ一 タ であ つて、 マイ ク ロプログラムの制御により 、 デ一タ R A M 22のァ ド レス を生成する。 このア ド レスの生成のためには、 前述のマイ ク 口 コ ー ド レジスタ 1 7 の ジ ヤ ンプア ド レス フ ィ 一ノレ ド (第 4 図の例では 1 2 ヒ'ッ トからなる) が使用される。 前述のよう に該ジ ャ ンプァ ド レ ス フ ィ ール ド はジャ ンプ命令 (条件付ジ ャ ンプ命令も舍む) のとき以外は使用されていない e そこで、 こ の ジ ャ ンプア ド レスフ ィ 一ル ド は、 該ァ ド レス ジヱ ネ レー タ 1 9 においてア ド レスを生成する ために必要なデ一 タ (例 えば、 該ア ド レス · ジェネレータ 1 9の出力のア ドレスその もの) を前記 WCS 16から読出して送出するために用いられる。 また、 レジスタ 2 1により、 該ァ ド レス · ジェネ レータ 1 9 には、 データ RAM 22から読出したデータを入力することもで きる。 該ア ド レス ' ジェネレータ 1 9においては、 これらの データを用いて、 必要ならば演算を行って、 前記データ RA M 22の指定ア ドレスを求める。 そして、 マイ ク ロプログラ 制 御を受けた R / Wコ ン トロール 2 3 の制御により、 該デ -一タ R AM 22からは、 このァ ド レス ' ジェ ネ レータ 1 9 の指定する ア ド レスのデータが読出される。
ところで、 第 2図で示される従来の F F Pにおけるステ— タス信号解読部 2 0の構成においては、 AU' 12および M PY / D I V 11において 1 回め演箕が終る毎に前回の演算の際の例外 的ステータ ス信号 &更新されてしまい、 前回の演算における エラーの有無はどこにも記憶されない。 従ってエラーの有無 は、 1回の演箕毎に、 前記第 1 のセ レ ク タ 4 において前記 D 2 の群に属する全てのデコーダ出力を順に出力させて確認 しなければならないという問題点があった。
このことは更に、 上記の確認を行うためには、 前記 AL U 12 あるいば ?PY / D I V 11における 1回の演箕毎に、 前記 D 2 の 群に属するデコーダ出力の各々を選択するための条件付ジャ ンプ命令を前記マイ ク ロ コ ー ド レジスタ 1 7 に順にロ ー ド し なければならないという ことを意味する。 前述のようにジャ ンプ命令は前記マイ ク ロ コ ー ド レジスタ 1 7 に —ドされた ときにジャ ンプア ド レスフィ ール ド (第 2図の例では 1 2 ビ ッ ト) を占有する。 従って、 ジヤ ンプ命令が多 く なる と、 こ の間、 上記ジヤ ンプア ド レスフ ィ ー ル ドを別の目的 (例えば、 前述のよう に、 ァ ド レ ス ' ジヱネ レータ 1 9 にデータを送る 等) 、 に用いる こ とを不可能とする という問題点もあった。
発明の開示
本発明の目的は、 マイ ク 口プ口グラム制御におけるジャ ン プ命令の回数を大いに減少させる高速浮動小数点演算器を提 供する こ とにある。
本発明による高速浮動小数点演算器は、 マイ ク ロプログラ ム制御部による制御のも とに、 算術演算または比較/論理演 算からなる一連の演算を行い、 該比較 Ζ論理演算の結果を示 す非例外的ステータ ス信号、 または前記算術演算および比較 /論理演算のいずれかにおけるェう 一の発生を示す例外的ス テータ ス信号を. i 回の演算毎に出力する演算部と、 前記非例 外的ステー タ ス信号および例外的ステ一タ ス信号を解読する デコ一ダと、 該デコ一ダの出力のう ち前記マイ ク コプログラ ム制御部によ り指定されたものを選択するセ レク タ とを備え、 前記マイ ク αプログラム制御部は .. 前記セ レク タ の出力に応 じた制御を行う高速浮動小数点演算器において、 前記セ レク タの前段にェ ラ一記憶部を設け、 該ヱ ラ 一記憶部は前記デコ ーダの出力のう ち前記例外的ステ一タ ス信号に対応する出力 の各々 について、 前記一連の演算の間にエ ラ ーの発生がある ときには該エラ ーの発生を該一連の演算の終了まで記億する こ とを特徴とする。 図面の簡単な説明
第 1図は高速浮動小数点演算器 ( F F P ) の構成 G 1例の 概略を示す図、
第 2図は、 第 1図のステータス信号解読部 2 0 の従来の搆 成を示す図、
第 3図は本発明の基本的構成を示す図、
第 4図は本発明の 1実施例としての第 1図の高速浮動小数 点演箕器 ( F F P ) .のステータス信号解読部 2 0 の構成の i 例を示す図である。 発明を実施する最良の形態
第 3図は本発明による高速浮動小数点演算器の基本的構成 を示す図である。 本図において、 1 は、 マイ クロプログラム 制御のもとに、 算術演算または比較ノ論理演算からなる一連 の演算を行い、 これらの演箕のう ち比較 H 理演算の洁果を 非例外的ステー タ ス信号として出力し、 上記算術演算および 比較 Z 理演算のいずれかにおけるエラ一の発生を例外的ス テータス信号として出力する演算部、 2は上記非例外的ステ 一タス信号および例外的ステータス信号を解読するデコ一ダ 4は前記デコーダ 2 の出力のう ちマイ ク ロプロ グラム制御部 によ り指定されたものを選択するセ レク タ、 5 はマイ ク ロプ ログラムおよび該セレクタの出力に応じて当該高速浮動小数 点演箕器の制御を行うプ口グラム制御部、 3 は前記デコ一ダ 2の出力のうち前記例外的ステータス信号に対応する出力の 各々について、 前記一連の演算の間にエラーの発生があると きには、 該エ ラーの発生を該一連の演算の終了まで記憶する ェ ラ 一記憶部である。
本発明の高速浮動小数点演算器においては、 一連の演算を 行う演算部 1 から 1 回の演算毎に出力される非例外的ステー タ ス信号または例外的ステータ ス信号は、 デコ ーダ 2 におい て解読され、 該デコ ーダ 2 の出力のう ち例外的ステータ ス信 号に対応するデコ ーダ出力 D 2 の各々 について、 エ ラ —記憒 部 3 において該ー連の演算を通してエ ラ ーが発生したかどう かが記憶されるので、 該一連の演算の終了時にマ イ ク ロプロ グラ ム制御部 5 によ ってセ レク タ 4を制御する こ とによ り 、 前記例外的ステータス信号に対応するデコ —ダ出力 の各 々 について、 該一連の演算を通してエ ラ —が発生していたか どうかを確認でき る c
これによ り 、 従来は、 マイ ク ロ プロ グラ ム制御部 5 力く 1 回 の演算終了毎にセ レク タ 4 を制御して該 1 回の演算における エラ ーの発生の有無を確認していたのに比較して、 本発明で 、 条件付ジャ ンプ命令の回数が減る こ とになり 、 こ C '减ら された条件付ジャ ンプ命令によって使用されていたマイ ク ロ コ一 ド レジ スタ のジャ ンプア ド レス フ ィ ーノレ ドは別の目的に 用いる こ とができ る よ う になるので、 マイ ク ロ プロ グラ ムを 作成する上で自由度が増す。
第 4図は、 本発明の 1 実施例と しての第 】 図の高速浮動小 数点演算器 ( F F P ) のステータ ス信号解読部 2 0 の構成の 1 例を示す図である。
第 4図において、 第 1 のセ レ ク タ 4 i 、 第 2 のセ レ ク タ 8 .. デコーダ 2 およびラ ッチ回路 6 の構成は、 前述の第 2図の従 来のステータス信号解読部 1 0 の搆成と同様であるが、 4 図のステータス信号解読部 0 においては、 前記デコ一ダ 2 の出力のう ち、 例外的ステ一タス信号に対応する もの D 2 が、 各々、 例外的ステータス用フ リ ップフ口 ップ群 3 1 を介して、 前記第 1 のセ レク タ 4 1 に接続されており 、 更に、 該例外的 ステータス用フ リ ップフロ ツプ群 3 1 の各出力は各々オア回 路 7 の人力端子に並列に接繞されている。 そして、 該オア tU 路? の出力は前記第 1 のセ レク タ 4 1 の入力の 1 つに接続さ れている。
こ こで、 上記例外的ステ一タ ス用フ リ ツプフ ロ ップ群 3 1 は、 前記例外的ステータス信号に対応するデコ ーダ出力 D 2 の各々 をセ ッ ト入力とするセ ッ ト ' リ セ ッ ト タ イ プのフ リ ッ プフロ ソ プの群からなり、 例えば上記デコ ーダ出力 D 2 の 1 つからあるマイ ク ロサイ クルにおいて 11 1 " が入力される と 上記例外的ステータス用フ リ ップフロ ップ群 3 1 の該デコ — - ダ出力 D 2 の 1 つに対応するフ リ ップフ ロ ソプはセ ト され それ以後のマイ ク πサイ クルにおける該デコ ーダ出力 D z の 1 つの出力に拘らず、 該フ リ ップフ口 フプがリ セ ッ トされる まで、 その出力を " 1 " に保持する。 上記セ ッ ト · リ セ ッ ト タ イ プのフリ ップフ口 ップとしての機能を有する要素の各々 のリ セ フ ト入力は共通の CLEA R 入力に接続されており'、 また 上記要素の各々 はク 口 ッ クパルス ( C L K ) に同期して動作 する。
以下に上記ス —タス信号解読部 2 0 の動作例を第 4図お よび第 1 図を参照しつつ示す。 今仮り に浮動小数点乗算ノ除 算器( PY / D I V) 11において除算の際の分母と して入力された データが 0 であったとする。 この場合、 DIVIDED BY ZERO の - エラーの発生は、 該 MPYZDIV 11のステータ ス信号出力から 当該ステータ ス信号解読部 2 0 へ 4 ビ ッ ト の信号の形で伝え られる。 この信号は第 4図の第 2 のセ レク タ 8 の 2 つの入力 のう ちの一方に入力される。 こ こで、 前述のよう に、 第 1 図 の構成においては、 MPYZDIV 11及び ALU 12の両方が同時に 有効な出力をするよう なこ とがないよう に制御されているの で、 該第 2 のセ レク タ 8 においては、 PYノ D I V 11からステ 一タス信号が出力されるタ イ ングでは ΜΡΥノ D I V 11の側の 入力を選択するよう にマイ ク ロプログラム制御される。 こ う して、 前記 MPY/DIV 11からの DIVIDED BY ZERO のエラ ーを 意味する 4 ビッ トの信号は前記デコ ーダ 2 に入力される。 該 デコ ーダ 2 においては、 この信号を解読して、 DIVIDED BY
ZEROに対応する出力 (DIVIDED BY ZERO はエ ラ ーであるので- 前記例外的ス ÷一タ ス信号に対応するデコ 一ダ出力 D 2 の う ちの 丄 っ) を " 1 " とする。 該 DIVIDED BY ZERO に対応する デコ ーダ 2 の出力は前記例外的ステータス用フ リ ッ プフ口 つ プ群 3 1 の対応するフ リ ッ プフ 口 ップに入力され、 該フ リ ッ プフ σ ップをセ ッ ト し、 該フ リ ノ プフ 口 フ プの出力を " 1 " に保持する。 該フ リ ソプフ 》 ·;·プにおける出力 ': 1 " は前記 第 1 のセ レ ク タ 4 1 に入力される と共に、 前記オア回路 7 に も入力される。 該オア回路 7 の出力も .、 こ う して、 入力の 1 つが " 1 " に保持されている こ とによ り " 1 " に保持される。 当該 F F Pにおける一連の演算が終了する と、 マイ ク ロプ 口グラム制御 (第 1図のマイ ク ロコ ー ドレジスタ 1 7 にロー ドされた条件付ジャ ンプ命令) により - 前記第 1 のセ レクタ 4 1 において前記オア回路 7 の出力を選択する。 も し、 この 出力が " 0 " であれば、 前記一連の演算の間に前記
D T V 1 1及び ALU 12においてエラーの発生が無かったこ とを意 味する。 も し . 前記オア回路 7 の出力が " 1 " である と、 前 記一連の演算のいずれかにおいて、 何らかのエラ一があった ことになり、 この結果により 、 マィ ク ロプログラム制御部 5 は前記第 1 のセ レクタ. 4 1 において、 前記例外的ステータス 用フ リ ソプフ口 - プ群 3 1 からの出力を順に選択して、 どう いう エラ一が発生したかを確認する。
このように、 第 4図に示すようなステータス信号解読部 2 0 を第 1 図の F F Pの構成に適用すれば、 マイ ク ロプ πグ ラム制御による、 MPY / D I V 11および ALU 12におけるエラ 一 の有無のチェ ッ クは、 該 11および A Li: 12における 一連の演算が終了した後にまとめて 1 回で行い得る。
以上述べたよう に、 本発明によれば、 高速浮動小数点演算 器のマイ ク 口プログラム制御におけるジャ ンプ命令の回数を 大いに減少させ、 また、 減少させることのできたマイ ク 口命 令によって使用されていたマイ ク ロコ ー ド レジスタのジヤ ン プァ ドレス フ ィ ール ドを別の意味に定義して用いる ことがで さ ^よ- つ こ .' る。 産業上の利用可能性
本発明は、 マイ ク ロプロ グラ ム制御による高速浮動小数点 演算器に有用である。

Claims

請 求 の 節 Iffl
。 1. マイ クロプログラム制御部 ( 5 ) による制御のもとに、 算術演算または比較 Z論理演算からなる一連の演算を行い、 該比較 Z論理演算の結果を示す非例外的ステータ ス信号、 ま たは前記算術演箕および比較 z 理演算のいずれかにおける ェラ一の発生を示す例外的ステ一タス信号を 1回の演箕毎に 出力する演算部 ( 1 ) と
前記非例外的ステータ ス信号および例外的ステ一タス信号0 を解読するデコーダ ( 2 ) と、
該デコーダ ( 2 ) の出力のう ち前記マイ ク ロプロ グラ ム制 御部 ( 5 ) によ り指定されたものを選択するセ レク タ ( 4 ) とを備え、 .
前記マイ ク ロプログラ ム制御部 ( 5 ) は、 前記セ レク タ5 ( 4 ) の出力に応じた制鄉を行う高速浮動小数点演算器にお いて、
前記セ レク タ ( 4 ) の前段にエラー記憶部 ( 3 ) を設け、 該エラー記憶部 ( 3 ) は前記デコーダ ( 2 ) の出力のうち前 記例外的ステータス信号に対応する ¾力の各々について、 前0 記一連の演算の間にヱラ一の発生があるときには該ェラーの 発生を該一連の演算の終了まで記憶することを特徴とする高 速浮動小数点演箕器。
2. 前記エラー記億部 ( 3 ) の出力の各々を並列にオア回 路 ( 7〉 に接続し、 該オア回路 ( 7 ) の出力もまた前記セ レ5 クタ ( 4 ) の 1 つの入力に接镜する請求の範囲第 1項記載の 高速浮動小数点演算器
5
PCT/JP1988/000117 1987-03-09 1988-02-08 Unite arithmetique rapide a virgule flottante Ceased WO1988007237A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP62/52217 1987-03-09
JP62052217A JPS63219031A (ja) 1987-03-09 1987-03-09 高速浮動小数点演算器

Publications (1)

Publication Number Publication Date
WO1988007237A1 true WO1988007237A1 (fr) 1988-09-22

Family

ID=12908584

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1988/000117 Ceased WO1988007237A1 (fr) 1987-03-09 1988-02-08 Unite arithmetique rapide a virgule flottante

Country Status (3)

Country Link
EP (1) EP0305530A1 (ja)
JP (1) JPS63219031A (ja)
WO (1) WO1988007237A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8397187B2 (en) 2010-04-23 2013-03-12 International Business Machines Corporation Verifying the error bound of numerical computation implemented in computer systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51146143A (en) * 1975-06-11 1976-12-15 Hitachi Ltd Wedging process mode when logic device generates error action

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6388636A (ja) * 1986-10-01 1988-04-19 Nec Corp マイクロコンピユ−タ
JPS63178330A (ja) * 1987-01-20 1988-07-22 Toshiba Corp 演算フラグ制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51146143A (en) * 1975-06-11 1976-12-15 Hitachi Ltd Wedging process mode when logic device generates error action

Also Published As

Publication number Publication date
JPS63219031A (ja) 1988-09-12
EP0305530A1 (en) 1989-03-08

Similar Documents

Publication Publication Date Title
JP2539199B2 (ja) デジタルプロセッサ制御装置
US5459843A (en) RISC-type pipeline processor having N slower execution units operating in parallel interleaved and phase offset manner with a faster fetch unit and a faster decoder
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS6351287B2 (ja)
JPS6239780B2 (ja)
EP0286354A2 (en) A method and apparatus for modifying micro-instructions using a macro-instruction pipeline
US4773035A (en) Pipelined data processing system utilizing ideal floating point execution condition detection
US5253349A (en) Decreasing processing time for type 1 dyadic instructions
US4598358A (en) Pipelined digital signal processor using a common data and control bus
US5101489A (en) Data processing unit including a variable bit length bypass circuit
EP0936537B1 (en) Cyclic redundancy check in a computer system
WO1988007237A1 (fr) Unite arithmetique rapide a virgule flottante
US4707783A (en) Ancillary execution unit for a pipelined data processing system
US6505294B2 (en) Direct control of operation blocks using operand signal of control instruction as extension to instruction set in a hardwired control processor
JPS594049B2 (ja) コンピュ−タ装置
US4991130A (en) Normalization control system for floating point arithmetic operation
EP0141752B1 (en) Microcode control system for digital data processing system
JP3534987B2 (ja) 情報処理装置
JPS6161416B2 (ja)
JPH02235289A (ja) 自己刻時レジスターファイル
US6704853B1 (en) Digital signal processing apparatus and method for controlling the same
JP3100705B2 (ja) マイクロプロセッサ内の命令準備のための装置
JPH10161873A (ja) プロセッサ
JP2781779B2 (ja) 分岐制御回路
JPH0612522B2 (ja) 並列処理マイクロプロセッサ

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB

WWE Wipo information: entry into national phase

Ref document number: 1988901465

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1988901465

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1988901465

Country of ref document: EP