JPH09258959A - Floating point arithmetic processor - Google Patents

Floating point arithmetic processor

Info

Publication number
JPH09258959A
JPH09258959A JP8067677A JP6767796A JPH09258959A JP H09258959 A JPH09258959 A JP H09258959A JP 8067677 A JP8067677 A JP 8067677A JP 6767796 A JP6767796 A JP 6767796A JP H09258959 A JPH09258959 A JP H09258959A
Authority
JP
Japan
Prior art keywords
data
floating point
point arithmetic
arithmetic unit
operand
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.)
Granted
Application number
JP8067677A
Other languages
Japanese (ja)
Other versions
JP2868075B2 (en
Inventor
Satoshi Nakazato
聡 中里
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 JP8067677A priority Critical patent/JP2868075B2/en
Publication of JPH09258959A publication Critical patent/JPH09258959A/en
Application granted granted Critical
Publication of JP2868075B2 publication Critical patent/JP2868075B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To reduce the hardware quantity of a floating point computing element dealing with the floating point of an IEEE-754 system and to shorten the processing time of the floating point computing element. SOLUTION: A part for judging whether read data applies to any special number and outputting a flag signal 668 showing the type and a part for rewriting rewritten data when rewritten data applies to the special number by a following flag signal 668 are added to a storage device at the outer side of a floating point arithmetic processor and a LOAD/STORE unit 660 for reading/ writing data. Routes 611, 612 and 631 for transferring the flag signals with numeric data are provided in the floating point arithmetic processor. Thus, only simple logic circuits 655 generating the flag signals 656 and 657 of input data and the flag signal 658 of output data from output data 653 of a computing element 650 are provided for the respective floating point computing elements 650.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、浮動小数点演算器
に関し、特にIEEE−754に規定される形式の数値
データの演算を行う浮動小数点演算処理装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a floating point arithmetic unit, and more particularly to a floating point arithmetic processing unit for arithmetically operating numerical data of the format specified in IEEE-754.

【0002】[0002]

【従来の技術】浮動小数点のデータ形式として「IEE
E Standard for Binary Flo
ating Point Arithmetic,AN
SI/IEEE std 754−1985」(以下、
IEEE−754形式)が事実上標準として使用される
ようになってきた。IEEE−754形式は浮動小数点
形式の数値データを指数部と仮数部とに分け、これらの
数値の組み合わせにより通常数と、5種類の特殊数とを
定義している。
2. Description of the Related Art As a floating-point data format, "IEEE
E Standard for Binary Flo
ating Point Arithmetic, AN
SI / IEEE std 754-1985 "(hereinafter,
The IEEE-754 format) has become the de facto standard. The IEEE-754 format divides floating-point numeric data into an exponent part and a mantissa part, and defines a normal number and five special numbers by combining these numbers.

【0003】浮動小数点演算器でIEEE−754形式
を扱う場合、通常数のみが必ず入力されるようなフォー
マットに対応する演算器と異なり特殊数に対する特別な
対応が必要になる。すなわち、演算器に入力される複数
の数値データがそれぞれ通常数であるかまたはいずれか
の特殊数であるかを判別し、その結果どれか1つでも入
力数値データが特殊数に該当したり、また通常数同士の
演算であってもオーバーフローやアンダーフローのよう
な例外が発生する場合にはその結果に応じて演算器の出
力結果の数値データを正しい特殊数の数値データに置き
換える必要がある。また、「特開平4−281518
ディジタルシグナルプロセッサ」においては従来IEE
E−754形式を扱っていなかったディジタルシグナル
プロセッサにおいて、簡単なハードウェアによって外部
メモリ中に配置されたIEEE−754形式の数値デー
タを扱う方法が提示されている。
When handling the IEEE-754 format in a floating point arithmetic unit, a special correspondence to a special number is required unlike an arithmetic unit corresponding to a format in which only normal numbers are always input. That is, it is determined whether each of the plurality of numerical data input to the arithmetic unit is a normal number or one of the special numbers, and as a result, any one of the input numerical data corresponds to the special number, If an exception such as an overflow or underflow occurs even in the operation of ordinary numbers, it is necessary to replace the numerical data of the output result of the arithmetic unit with the correct numerical data of the special number according to the result. In addition, “Japanese Patent Laid-Open No. 4-281518”
"Digital signal processor"
In a digital signal processor which did not handle the E-754 format, a method for handling numeric data of the IEEE-754 format arranged in an external memory by simple hardware is presented.

【0004】しかし、これはディジタルシグナルプロセ
ッサ内部の数値データ形式への変換する方法を示したも
のである。この中ではIEEE−754形式の特殊数を
ディジタルシグナルプロセッサ内部で用いられる2の補
数形式へと変換するハードウェア構成について述べられ
ているが、演算器自体がこれら特殊数をどのように扱う
かについてまでは触れられていない。
However, this shows a method of conversion into a numerical data format inside the digital signal processor. In this article, the hardware configuration for converting the special numbers in the IEEE-754 format into the two's complement format used inside the digital signal processor is described, but how the arithmetic unit itself handles these special numbers is described. Have not been touched.

【0005】[0005]

【発明が解決しようとする課題】第1の問題点は、この
ようなIEEE−754形式を扱う浮動小数点演算器で
は演算器全体のハードウェア量が増大することである。
A first problem is that in a floating point arithmetic unit handling such an IEEE-754 format, the hardware amount of the entire arithmetic unit increases.

【0006】その理由は、入力される複数の数値データ
毎にその数値データがIEEE−754形式で定義され
るどの数値データの種類に該当するのか判別するハード
ウェアと、ここで得られた数値データの種類や、たとえ
それが通常数同士の演算であってもオーバーフローやア
ンダーフローの例外発生を起こす場合には演算器からの
出力結果の数値データを適切な特殊数の数値データで置
き換えるためのハードウェアが必要になるからである。
最近ではLSIの集積度が非常に高くなり、マイクロプ
ロセッサもスーパースカラやVLIWなどのアーキテク
チャをとると1チップに複数の浮動小数点演算器を搭載
することも珍しくなり、ハードウェア量増大の影響は非
常に深刻である。
The reason for this is that, for each of a plurality of input numerical data, the hardware that determines which kind of numerical data defined by the IEEE-754 format corresponds to the numerical data, and the numerical data obtained here Type, or even if it is an operation between ordinary numbers, if an exception of overflow or underflow occurs, the hardware for replacing the numerical data of the output result from the arithmetic unit with the numerical data of an appropriate special number. This is because clothing is needed.
Recently, the degree of integration of LSIs has become extremely high, and it has become uncommon for a microprocessor to have multiple floating-point arithmetic units on a single chip if it has an architecture such as superscalar or VLIW. Serious to.

【0007】第2の問題点は、演算器全体の処理時間が
増えることにより性能が低下することである。
The second problem is that the performance deteriorates due to the increase in the processing time of the entire arithmetic unit.

【0008】その理由は、前記の第1の問題点の理由で
示した新たなハードウェアが必要になることから通常の
演算器での処理に加えてこれら追加ハードウェアでの処
理が必要になるからである。特に出力結果の数値データ
を置き換える処理は演算器内部の他の処理と並列に実行
することができないため、この部分での処理時間がその
まま増加することになる。クロックサイクルの高速化を
行うに際し、このような演算器の処理時間増大は大きな
影響を与えることは明かである。
The reason is that the new hardware described for the reason of the first problem is required, and therefore the processing by these additional hardware is required in addition to the processing by the normal arithmetic unit. Because. In particular, since the process of replacing the numerical data of the output result cannot be executed in parallel with other processes inside the arithmetic unit, the processing time in this part is increased as it is. Obviously, such an increase in the processing time of the arithmetic unit has a great influence on the acceleration of the clock cycle.

【0009】本発明では、前記のような問題点を解決
し、IEEE−754形式の数値データを扱う浮動小数
点演算処理装置で、特に特殊数を扱う際のハードウェア
量削減並びに演算処理時間の短縮が可能な浮動小数点演
算処理装置を提供することを目的とする。
The present invention solves the above problems and reduces the amount of hardware and the arithmetic processing time in a floating point arithmetic processing unit that handles numerical data in the IEEE-754 format, especially when handling special numbers. It is an object of the present invention to provide a floating point arithmetic processing device capable of performing the above.

【0010】[0010]

【課題を解決するための手段】本発明における浮動小数
点演算処理装置は、少なくとも1つ以上の浮動小数点演
算器と、前記浮動小数点演算器への入力データと前記浮
動小数点演算器からの出力データとを記憶する記憶装置
と、少なくとも1つ以上の前記記憶装置から前記浮動小
数点演算器への入力データを読み出す手段と、前記読み
出し手段と前記浮動小数点演算器との間で前記読み出し
データを転送する1つ以上の経路と、少なくとも1つ以
上の前記浮動小数点演算器から前記記憶装置へ出力デー
タを書き戻す手段と、前記浮動小数点演算器と前記書き
戻し手段との間で書き戻しデータを転送する1つ以上の
経路とを備え、前記記憶装置から前記浮動小数点演算器
へのデータを読み出す手段において読み出しデータが予
め定められた浮動小数点形式の特定のデータの種類と一
致することを検出しその状態を前記読み出しデータとは
別のデータとして出力する手段と、前記特定のデータの
種類を表すデータを入力とする演算結果を同様の特定の
データの種類を表すデータで出力する手段と、前記浮動
小数点演算器の出力データを前記記憶装置に書き戻す手
段において前記特定のデータの種類を表すデータを出力
する手段より得られるデータに応じて前記浮動小数点演
算器の出力データを前記特定のデータに置き換える手段
とを新たに加えることにより構成される。
A floating-point arithmetic processing unit according to the present invention includes at least one floating-point arithmetic unit, input data to the floating-point arithmetic unit, and output data from the floating-point arithmetic unit. A storage device for storing data, a means for reading input data to the floating point arithmetic unit from at least one or more of the storage units, and a transfer unit for transferring the read data between the reading unit and the floating point arithmetic unit. 1 or more paths, means for writing back output data from at least one or more of the floating point arithmetic units to the storage device, and transfer of writeback data between the floating point arithmetic units and the writing back means 1 One or more paths, and the read data is a predetermined floating value in the means for reading data from the storage device to the floating point arithmetic unit. Same as the means for detecting that the data matches the type of specific data of several points and outputting the state as data different from the read data, and the operation result of inputting the data representing the type of the specific data. Means for outputting data representing the specific data type and means for outputting the data representing the specific data type in the means for writing back the output data of the floating point arithmetic unit to the storage device. Accordingly, means for replacing the output data of the floating point arithmetic unit with the specific data is newly added.

【0011】[0011]

【作用】浮動小数点演算器に入力される数値データは、
本発明の浮動小数点演算処理装置の外部の記憶装置から
データを読み出し演算器へと供給する手段においてIE
EE−754形式の通常数かそれとも特定の特殊数に該
当するかを同時に検出してこれらの特定の種類を表すフ
ラグ信号を数値データに付加する。
[Operation] Numerical data input to the floating point arithmetic unit is
In the means for reading data from a storage device external to the floating point arithmetic processing unit of the present invention and supplying it to an arithmetic unit, the IE
At the same time, whether a normal number of EE-754 format or a particular special number is detected is detected and a flag signal representing these particular types is added to the numerical data.

【0012】また、本発明の浮動小数点演算処理装置か
ら外部の記憶装置に数値データを書き戻す手段において
IEEE−754形式の特定の特殊数を表すフラグ信号
から実際に書き戻す数値データを正しいデータパターン
に置き換える。
Further, in the means for writing back the numerical data from the floating point arithmetic processing unit of the present invention to the external storage device, the numerical data which is actually written back from the flag signal representing the specific special number in the IEEE-754 format is the correct data pattern. Replace with.

【0013】本発明の浮動小数点演算装置内の各浮動小
数点演算器は入力される数値データとそれに付随するフ
ラグ信号とを見て、フラグ信号が特殊数を表していた場
合にはこの入力フラグ信号から組み合わせ論理回路によ
り出力結果の数値データの特殊数を表すフラグ信号を生
成する。この際に演算器から実際に出力される数値デー
タは無視することにする。本発明の浮動小数点演算装置
内ではこのフラグ信号を常に数値データとともに転送す
ることで、各演算器において特殊数を検出するハードウ
ェアや出力を置き換えるハードウェアを不要にすること
ができる。
Each floating-point arithmetic unit in the floating-point arithmetic unit of the present invention looks at the input numerical data and the flag signal accompanying it, and if the flag signal represents a special number, the input flag signal A combination logic circuit generates a flag signal representing a special number of the output numerical data. At this time, the numerical data actually output from the arithmetic unit is ignored. By constantly transferring this flag signal together with the numerical data in the floating-point arithmetic unit of the present invention, it is possible to eliminate the hardware for detecting the special number in each arithmetic unit and the hardware for replacing the output.

【0014】[0014]

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

【0015】図1はIEEE−754形式の倍精度にお
けるフォーマットとその際の特殊数の種類を表すデータ
パターンを表した図である。
FIG. 1 is a diagram showing a double precision format of the IEEE-754 format and a data pattern representing the types of special numbers at that time.

【0016】IEEE−754形式の倍精度では、符号
1ビット、指数11ビット、仮数52ビットからなる。
そして指数と仮数の特定のデータパターンにより零(Z
ERO)、無限大(∞)、2種類の非数(sNaN、q
NaN)、微小固定小数点数(denormal)の計
5種類の特殊数が規定される。なお、これらの特殊数以
外の数を通常数(normal)と呼ぶ。
In the double precision of the IEEE-754 format, it consists of a sign 1 bit, an exponent 11 bits, and a mantissa 52 bits.
Then, depending on the specific data pattern of the exponent and the mantissa, zero (Z
ERO), infinity (∞), two types of not-a-number (sNaN, q
A total of five special numbers, NaN) and minute fixed point numbers (denormal), are defined. The numbers other than these special numbers are called normal numbers.

【0017】図2は、このようなIEEE−754形式
を扱う従来の浮動小数点演算器の例を示すブロック図で
ある。
FIG. 2 is a block diagram showing an example of a conventional floating point arithmetic unit that handles such an IEEE-754 format.

【0018】2つの入力オペランドデータ200,20
1を入力とする浮動小数点演算器(演算器本体)240
以外に、それぞれの入力オペランドデータ200,20
1が特殊数のいずれかのデータパターンに一致するかど
うかを検出し、それを適当な形式のフラグ信号(以下、
オペランドステータスとする)210,211を生成す
るオペランドステータス生成回路251,252があ
る。浮動小数点演算器(演算器本体)240の出力はア
ンダーフローやオーバーフロー時の例外処理を行う例外
処理回路260へ送られる。一方、オペランドステータ
ス210,211はその状態に応じて出力データのオペ
ランドステータス230を決定するための簡単な組み合
わせ論理回路である出力ステータス生成回路270へ送
られる。例外処理回路260を通った出力データ220
は、この出力データ220のオペランドステータス23
0が特殊数を示していた場合にはその種類に応じたデー
タパターンに置き換えられる必要がある。これを行うの
が出力差し替え回路280である。
Two input operand data 200, 20
Floating point arithmetic unit (arithmetic unit main body) 240 with 1 as input
In addition to the input operand data 200, 20
It is detected whether 1 matches any one of the data patterns of the special numbers, and the flag signal of an appropriate format (hereinafter,
There are operand status generation circuits 251 and 252 for generating 210 and 211 (operand status). The output of the floating point arithmetic unit (arithmetic unit main body) 240 is sent to an exception processing circuit 260 which performs exception processing at the time of underflow or overflow. On the other hand, the operand statuses 210 and 211 are sent to the output status generation circuit 270 which is a simple combinational logic circuit for determining the operand status 230 of the output data according to the state. Output data 220 that has passed through the exception processing circuit 260
Is the operand status 23 of this output data 220.
If 0 indicates a special number, it needs to be replaced with a data pattern according to the type. The output replacement circuit 280 does this.

【0019】図3はこのような浮動小数点演算器を構成
するオペランドステータス生成回路251又は252の
詳細を説明するブロック図である。
FIG. 3 is a block diagram for explaining the details of the operand status generation circuit 251 or 252 which constitutes such a floating point arithmetic unit.

【0020】オペランドステータス生成回路251又は
252は、入力オペランドデータ300が特殊数のデー
タパターン301,302,303,304,305と
一致するかどうかを検出する複数の比較器311,31
2,313,314,315と、それらの比較器31
1,312,313,314,315の出力から所望の
オペランド・ステータス330を生成するためのエンコ
ーダ320とから成っている。
The operand status generation circuit 251 or 252 detects a plurality of comparators 311 and 31 for detecting whether the input operand data 300 matches the special number data patterns 301, 302, 303, 304 and 305.
2, 313, 314, 315 and their comparators 31
1, 312, 313, 314, 315 and an encoder 320 for generating a desired operand status 330.

【0021】また、図4は図2に示すような浮動小数点
演算器を構成する出力差し替え回路280の詳細を説明
するブロック図である。
FIG. 4 is a block diagram for explaining the details of the output replacement circuit 280 which constitutes the floating point arithmetic unit as shown in FIG.

【0022】出力差し替え回路280は、演算器からの
通常数の場合の出力データ400と各特殊数のデータパ
ターン401,402,403,404,405を入力
とする選択回路430と、差し替えられる出力データの
オペランド・ステータス410から選択回路430の切
り替え制御信号を生成するデコーダ420とから成って
いる。
The output replacement circuit 280 is a selection circuit 430 which receives the output data 400 in the case of a normal number from the arithmetic unit and the data patterns 401, 402, 403, 404, 405 of each special number, and the output data to be replaced. And a decoder 420 for generating a switching control signal of the selection circuit 430 from the operand status 410 of the above.

【0023】以上のように、IEEE−754形式を扱
う従来の浮動小数点演算器は各演算器毎に入力オペラン
ドが特殊数であるかどうかを検出してはそれに応じて出
力データを差し替えるという構成を採っていた。
As described above, the conventional floating-point arithmetic unit that handles the IEEE-754 format has a structure in which it is detected whether or not the input operand is a special number for each arithmetic unit, and the output data is replaced accordingly. I was collecting.

【0024】本発明における浮動小数点演算処理装置で
はオペランドと同時にオペランドステータスを装置内で
持ち回ることにより特殊数の場合の処理の簡単化を行
う。
In the floating-point arithmetic processing unit according to the present invention, the operand status is carried around in the device at the same time as the operand, thereby simplifying the processing in the case of a special number.

【0025】図5が、本発明の実施形態に係る浮動小数
点演算処理装置内の各浮動小数点演算器の構成を示すブ
ロック図である。
FIG. 5 is a block diagram showing the configuration of each floating point arithmetic unit in the floating point arithmetic processing unit according to the embodiment of the present invention.

【0026】複数の入力オペランド500,501によ
り演算を行い出力オペランド520を生成する演算器本
体540と、各入力オペランド500,501に付随す
る入力オペランド・ステータス510,511と演算器
本体540の出力オペランド520を入力として出力オ
ペランド520のオペランド・ステータスを生成するた
めの組み合わせ論理回路である出力オペランドステータ
ス生成回路570とから構成される。
An arithmetic unit body 540 that performs an operation by a plurality of input operands 500 and 501 to generate an output operand 520, input operand statuses 510 and 511 associated with each input operand 500 and 501, and an output operand of the arithmetic unit body 540. An output operand status generation circuit 570 which is a combinational logic circuit for generating an operand status of the output operand 520 with 520 as an input.

【0027】入力オペランドステータスの少なくとも一
方が特殊数のステータスを表していた場合には、出力オ
ペランドステータスは予め規定されているルールに従っ
ていずれかの特殊数のステータスを出力する。また、入
力オペランドステータスがいずれも通常数である場合で
も、演算器本体540の出力オペランド520によって
はアンダーフローやオーバーフローが発生することがあ
る。IEEE−754ではアンダーフロー時の出力はZ
EROとなるよう規定されており、またオーバーフロー
時には丸めモードに応じて∞か通常数で採り得る最大の
値のいずれかを出力するように規定されている。従っ
て、出力オペランドステータス生成回路570は出力オ
ペランド520も入力として前記のような例外が発生し
た場合には適切な出力オペランドステータスを出力する
ように論理回路を構成する。
When at least one of the input operand statuses represents a special number status, the output operand status outputs any special number status in accordance with a predetermined rule. Even if the input operand statuses are all normal numbers, underflow or overflow may occur depending on the output operand 520 of the arithmetic unit body 540. In IEEE-754, the output at underflow is Z
It is regulated to be ERO, and at the time of overflow, it is regulated to output either ∞ or the maximum value that can be taken as a normal number depending on the rounding mode. Therefore, the output operand status generation circuit 570 configures the logic circuit so that the output operand 520 is also used as an input and an appropriate output operand status is output when the above exception occurs.

【0028】なお、オーバーフロー時に出力される可能
性のある通常数の採り得る値の中で最も大きな値(以
下、最大数)は本来特殊数ではないが例外時に出力され
ること、及び特定のデータパターンになることを考慮し
て、5種類の特殊数のオペランドステータス以外に通常
数以外のオペランドステータスとして追加することが充
分理にかなっていることは明かである。
It should be noted that the largest value (hereinafter, the maximum number) that can be taken from the normal number that may be output at the time of overflow is not a special number by nature, but is output at the time of an exception, and specific data. It is clear that it makes sense to add operand statuses other than the normal number in addition to the operand statuses of the five kinds of special numbers in consideration of the pattern.

【0029】図6は、本発明における浮動小数点演算処
理装置全体の一実施形態を表すブロック図である。
FIG. 6 is a block diagram showing an embodiment of the entire floating point arithmetic processing unit according to the present invention.

【0030】特に、整数演算処理系と浮動小数点演算処
理系とが分離したマイクロプロセッサの浮動小数点演算
処理系に応用した例である。
In particular, this is an example applied to a floating point arithmetic processing system of a microprocessor in which an integer arithmetic processing system and a floating point arithmetic processing system are separated.

【0031】データ読み出しポート641,642とデ
ータ書き込みポート643を有する浮動小数点レジスタ
ファイル(RF)640と、ステータス読み出しポート
646,647とステータス書き込みポート648を有
する浮動小数点ステータスレジスタファイル(RF)6
45と、浮動小数点演算器650と出力オペランドステ
ータス生成回路655と、図面外の記憶装置との間でデ
ータの入出力を行うLOAD/STOREユニット66
0とで構成され、それぞれの構成単位はオペランドデー
タバス601,602,621とオペランドステータス
バス611,612,631とで相互に接続されてい
る。
A floating point register file (RF) 640 having data read ports 641 and 642 and a data write port 643, and a floating point status register file (RF) 6 having status read ports 646 and 647 and a status write port 648.
45, a floating point arithmetic unit 650, an output operand status generation circuit 655, and a LOAD / STORE unit 66 for inputting / outputting data to / from a storage device outside the drawing.
0, and the respective constituent units are mutually connected by an operand data bus 601, 602, 621 and an operand status bus 611, 612, 631.

【0032】本実施形態に係る浮動小数点演算処理装置
の動作を図を用いて説明する。
The operation of the floating point arithmetic processing unit according to this embodiment will be described with reference to the drawings.

【0033】浮動小数点レジスタファイル(RF)64
0には複数の浮動小数点データが蓄えられている。一
方、各々の浮動小数点データに対するオペランドステー
タスが、浮動小数点ステータスレジスタファイル(R
F)645の中に浮動小数点レジスタファイル(RF)
640のアドレスと同一のアドレスに蓄えられている。
浮動小数点レジスタファイル(RF)640中から必要
なデータを、図面外の命令処理系から与えられるアドレ
スにより読み出しポート641,642に出力する。こ
の際、同一のアドレスが浮動小数点ステータスレジスタ
ファイル(RF)645にも与えられ、各々のデータに
対応したオペランドステータスが読み出しポート64
6,647に出力される。オペランドデータは浮動小数
点レジスタファイル640の読み出しポート641,6
42よりオペランドデータバス601,602に出力さ
れ、これらのオペランドデータを必要とする他の処理要
素へと転送される。同時にオペランドステータスも浮動
小数点ステータスレジスタファイル645の読み出しポ
ート646,647よりオペランドステータスバス61
1,612に出力され転送される。
Floating point register file (RF) 64
A plurality of floating point data are stored in 0. On the other hand, the operand status for each floating point data is stored in the floating point status register file (R
F) Floating point register file (RF) in 645
It is stored at the same address as the address of 640.
Necessary data from the floating point register file (RF) 640 is output to the read ports 641 and 642 at an address given by an instruction processing system outside the drawing. At this time, the same address is also given to the floating point status register file (RF) 645, and the operand status corresponding to each data is read out from the read port 64.
6, 647 is output. Operand data is read ports 641 and 6 of the floating point register file 640.
42, it outputs to the operand data buses 601 and 602, and transfers these operand data to other processing elements which require them. At the same time, the operand status is also read from the read ports 646 and 647 of the floating point status register file 645 from the operand status bus 61.
It is output to 1,612 and transferred.

【0034】浮動小数点演算器650は、オペランドデ
ータバス601,602より必要なオペランド651,
652を獲得し、演算結果653を出力する。これと同
時に出力オペランドステータス生成回路655は浮動小
数点演算器650への入力オペランド651,652に
付随してオペランドステータスバス611,612上に
ある各々のオペランドステータス656,657を獲得
し、浮動小数点演算器650の出力オペランド653の
例外検出も行いながら、この出力オペランド653に付
随すべきオペランドステータス658を生成する。出力
オペランド653と出力されたオペランドステータス6
58は、それぞれオペランドデータバス621、オペラ
ンドステータスバス631に出力され他の処理要素へと
転送される。
The floating point arithmetic unit 650 has required operands 651 and 651 from the operand data buses 601 and 602.
652 is obtained and the calculation result 653 is output. At the same time, the output operand status generation circuit 655 acquires the respective operand statuses 656 and 657 on the operand status buses 611 and 612 in association with the input operands 651 and 652 to the floating point arithmetic unit 650, The operand status 658 to be attached to the output operand 653 is generated while also detecting the exception of the output operand 653 of 650. Output operand 653 and output operand status 6
58 is output to the operand data bus 621 and the operand status bus 631, respectively, and transferred to another processing element.

【0035】通常は再びレジスタファイルへと書き戻さ
れる場合が多く、オペランドデータは浮動小数点レジス
タファイル(RF)640の書き込みポート643から
書き戻され、オペランドステータスは書き戻された浮動
小数点レジスタファイル(RF)640のアドレスと同
一の浮動小数点ステータスレジスタファイル(RF)6
45中のアドレスに書き込みポート648から書き戻さ
れる。
Usually, the data is often written back to the register file again, the operand data is written back from the write port 643 of the floating point register file (RF) 640, and the operand status is written back to the floating point register file (RF). ) Floating point status register file (RF) 6 identical to 640 address
It is written back from the write port 648 to the address in 45.

【0036】このように、本実施形態の浮動小数点演算
処理装置内では、オペランドデータにそのデータの種類
を示すオペランドステータスを付随して転送することで
各演算器が持っていた機能を省いている。しかし、本実
施形態の浮動小数点演算処理装置外とデータのアクセス
を行う場合には、本来のIEEE−754形式に準拠し
たデータとする必要がある。この役割をLOAD/ST
OREユニット660が担当する。
As described above, in the floating-point arithmetic processing unit of the present embodiment, the function of each arithmetic unit is omitted by transferring the operand data together with the operand status indicating the type of the data. . However, when accessing data to the outside of the floating point arithmetic processing unit of the present embodiment, it is necessary to make the data compliant with the original IEEE-754 format. This role is LOAD / ST
The ORE unit 660 is in charge.

【0037】図7は、LOAD/STOREユニット6
60(図6参照)の詳細を表すブロック図である。
FIG. 7 shows the LOAD / STORE unit 6
It is a block diagram showing the detail of 60 (refer FIG. 6).

【0038】LOAD/STOREユニット660(図
6参照)は、外部の記憶装置にアクセスするための実行
アドレスを生成するためのアドレス加算器750と論理
アドレスから物理アドレスへの変換を行うテーブルであ
るTLB(Translation Lookasid
e Buffer)760と、書き戻しデータをIEE
E−754形式に準拠させるためのオペランド差し替え
回路770と、読み込みデータから本実施形態の浮動小
数点演算処理装置内で使用するためのオペランドステー
タスを生成するステータス生成回路780と外部メモリ
に対して書き込みデータを出力するのか、それとも読み
出しデータを入力するのかメモリアクセスパス740を
切り替えるためのスイッチ790とから成る。
The LOAD / STORE unit 660 (see FIG. 6) is an address adder 750 for generating an execution address for accessing an external storage device and a TLB which is a table for converting a logical address into a physical address. (Translation Lookaside
e Buffer) 760 and write-back data to IEEE
Operand replacement circuit 770 for conforming to the E-754 format, status generation circuit 780 for generating an operand status for use in the floating point arithmetic processing unit of this embodiment from read data, and write data for external memory Is output, or read data is input, and a switch 790 for switching the memory access path 740.

【0039】次に、このLOAD/STOREユニット
660(図6参照)の動作を説明する。
Next, the operation of the LOAD / STORE unit 660 (see FIG. 6) will be described.

【0040】本実施形態の浮動小数点演算処理装置外の
整数演算処理系より実行アドレス算出のためのオペラン
ドデータ700,701が入力される。アドレス加算器
750にてこれらのオペランドデータ700,701の
加算を行い実行論理アドレスを得る。実際の外部メモリ
にアクセスするためには論理アドレスを物理アドレスに
変換する必要がある。このためアドレス加算器750に
出力の一部を用いてTLB760をアクセスして物理ア
ドレス730を得る。なお、本実施形態のマイクロプロ
セッサではこのような論理アドレスから物理アドレスへ
の変換を必要としているためにこのような構成を採用し
ているが、例えばディジタルシグナルプロセッサのよう
に論理アドレスを持たない場合には、本実施形態に記載
のTLB760は必要ないことは明かである。
Operand data 700 and 701 for calculating an execution address are input from an integer arithmetic processing system outside the floating point arithmetic processing unit of this embodiment. The address adder 750 adds these operand data 700 and 701 to obtain an execution logical address. In order to access the actual external memory, it is necessary to convert the logical address into a physical address. Therefore, a part of the output of the address adder 750 is used to access the TLB 760 to obtain the physical address 730. Note that the microprocessor of this embodiment adopts such a configuration because it needs to convert such a logical address into a physical address. However, when the microprocessor does not have a logical address, as in a digital signal processor, for example, It is clear that the TLB 760 described in the present embodiment is not required for the above.

【0041】一方、データ系の処理としてデータ書き戻
しの際の動作をまず説明する。
On the other hand, the operation at the time of writing back data as the processing of the data system will be described first.

【0042】通常書き戻しデータはそのままメモリアク
セスパス740に出力すればよいが、本実施形態の浮動
小数点演算処理装置ではIEEE−754形式の特殊数
をオペランドステータスとして表し、実際のデータパタ
ーンには正しい値が設定されていない。従ってこのまま
データだけを書き戻すことはできないため、オペランド
ステータス711の値によって書き戻しデータ710の
データパターンを適切なものに差し替えるオペランド差
し替え回路770が必要である。このオペランド差し替
え回路770は、従来の各浮動小数点演算器の出力部の
存在した回路とほぼ同一の構成を採ることで実現可能で
あり、例えば図4にて示した構成などが利用できる。
The normal write-back data may be output to the memory access path 740 as it is, but in the floating-point arithmetic processing unit of this embodiment, a special number in the IEEE-754 format is represented as an operand status, which is correct for an actual data pattern. No value has been set. Therefore, since only the data cannot be written back as it is, the operand replacement circuit 770 that replaces the data pattern of the write-back data 710 with an appropriate one according to the value of the operand status 711 is necessary. This operand replacement circuit 770 can be realized by adopting a configuration substantially the same as the circuit in which the output section of each conventional floating point arithmetic unit existed, and for example, the configuration shown in FIG. 4 can be used.

【0043】次に、データ読み出しの際の動作を説明す
る。
Next, the operation for reading data will be described.

【0044】読み出しデータも通常数の場合には特に問
題にならないが、特殊数のデータを読み出した場合、本
発明の浮動小数点演算処理装置内ではオペランドステー
タスが存在しないと特殊数を認識することができない。
従って、読み出し(Read)データ720のデータパ
ターンを調べて特殊数であった場合には、同時に適切な
オペランドステータス721を出力するステータス生成
回路780が必要になる。このステータス生成回路78
0も従来の浮動小数点演算器の入力部に存在した回路と
ほぼ同一の構成を採ることで実現可能であり、例えば図
3にて示した構成などが利用できる。
When the read data is also a normal number, there is no particular problem, but when the special number of data is read, the special number can be recognized in the floating-point arithmetic processing unit of the present invention if the operand status does not exist. Can not.
Therefore, when the data pattern of the read (Read) data 720 is checked and it is a special number, the status generation circuit 780 which simultaneously outputs the appropriate operand status 721 is required. This status generation circuit 78
0 can also be realized by adopting almost the same configuration as the circuit existing in the input part of the conventional floating point arithmetic unit, and for example, the configuration shown in FIG. 3 can be used.

【0045】図6に示した本発明の一実施形態に戻って
説明をすると、LOAD/STOREユニット660よ
り外部メモリにデータを書き戻す場合には、オペランド
データバス601より書き戻しデータ661を、オペラ
ンドステータスバス611よりそのデータに付随するオ
ペランドステータス666をLOAD/STOREユニ
ット660へ転送し、前記の動作に従ってオペランドの
差し替えを行った後メモリアクセスパス680を用いて
外部メモリへ書き戻される。LOAD/STOREユニ
ット660へ入力されるオペランドデータ661とオペ
ランドステータス666は直接浮動小数点レジスタファ
イル(RF)640と浮動小数点ステータスレジスタフ
ァイル(RF)645から転送されてくる場合が多い。
Returning to the embodiment of the present invention shown in FIG. 6, when the data is written back to the external memory from the LOAD / STORE unit 660, the write-back data 661 is transferred from the operand data bus 601 to the operand. The operand status 666 associated with the data is transferred from the status bus 611 to the LOAD / STORE unit 660, the operands are replaced according to the above operation, and then the data is written back to the external memory using the memory access path 680. The operand data 661 and the operand status 666 input to the LOAD / STORE unit 660 are often directly transferred from the floating point register file (RF) 640 and the floating point status register file (RF) 645.

【0046】一方、外部メモリよりデータを読み出す場
合には、メモリアクセスパス680より入力されたデー
タをLOAD/STOREユニット660内にて前記の
動作に従ってオペランドデータ663とそれに付随する
オペランドステータス668を生成する。そして、それ
ぞれオペランドデータバス621とオペランドステータ
スバス631により他の構成要素に転送される。これら
のデータとステータスはそのまま浮動小数点レジスタフ
ァイル(RF)640と、浮動小数点レジスタファイル
に書き込んだアドレスと同一の浮動小数点ステータスレ
ジスタファイル(RF)645のアドレスに書き込まれ
る場合が多い。
On the other hand, in the case of reading data from the external memory, the data input from the memory access path 680 is generated in the LOAD / STORE unit 660 in accordance with the above operation to generate the operand data 663 and the operand status 668 accompanying it. . Then, they are transferred to other components by the operand data bus 621 and the operand status bus 631, respectively. These data and status are often written as they are to the floating point register file (RF) 640 and the address of the floating point status register file (RF) 645 which is the same as the address written to the floating point register file.

【0047】このように本実施形態では、従来各演算器
毎に個別に行っていた特殊数に対する処理を、各オペラ
ンドデータにオペランドステータス信号を付加すること
で不要にし、本実施形態の浮動小数点演算処理装置外と
データのアクセスを行う部分に前記の特殊数に対する処
理を一括化することでハードウェアの削減、処理の簡単
化を行っている。
As described above, in the present embodiment, the processing for the special number, which is conventionally performed individually for each arithmetic unit, is made unnecessary by adding the operand status signal to each operand data, and the floating point arithmetic of this embodiment is performed. Hardware is reduced and processing is simplified by integrating the processing for the special number in a portion that accesses data with the outside of the processing device.

【0048】次に、前記の一実施形態を一般化した例を
図8に示す。
FIG. 8 shows a generalized example of the above embodiment.

【0049】演算器をn個850−1,…,850−
n、各演算器の出力オペランドステータス決定論理回路
855−1,…,855−n、LOAD/STOREユ
ニットをm個860−1,…,860−mとする。ま
た、オペランドデータバスを多重化801−1,…,8
01−u,802−1,…,802−u,821−1,
…,821−vとし、各々のオペランドステータスバス
811−1,…,811−u,812−1,…,812
−u,831−1,…,831−vもオペランドデータ
バスに合わせて多重化する。当然のことながら、同時に
複数のデータを多重化バスにのせて各処理要素間に転送
するために浮動小数点レジスタファイル(RF)840
と浮動小数点ステータスレジスタファイル(RF)84
5もマルチポート化されている。
N arithmetic units 850-1, ..., 850-
, 855-n, output operand status decision logic circuits 855-1, ..., 855-n, and m load / store units 860-1 ,. Also, the operand data bus is multiplexed 801-1, ..., 8
01-u, 802-1, ..., 802-u, 821-1,
, 821-v, and each operand status bus 811-1, ..., 811-u, 812-1, ..., 812.
-U, 831-1, ..., 831-v are also multiplexed according to the operand data bus. Of course, a floating point register file (RF) 840 for transferring multiple data simultaneously between each processing element on a multiplexed bus.
And floating point status register file (RF) 84
5 is also multi-ported.

【0050】基本的な動作は、図6にて説明した動作と
同一であり、同時に異なる複数のデータが転送され、そ
れぞれ異なる演算処理が複数の処理要素にて実行される
ことになる。
The basic operation is the same as the operation described with reference to FIG. 6, a plurality of different data are transferred at the same time, and different arithmetic processes are executed by a plurality of processing elements.

【0051】なお、図8において各処理要素であるレジ
スタファイルと演算器、LOAD/STOREユニット
間を多重化バス構成で接続しているが、もちろんこの接
続方法だけに限られることはなく、レジスタファイルの
各ポートと特定の処理要素を直接接続する構成や、逆に
自由に接続先を変更できるクロスバー構成とするなどの
変形が可能なことは明かである。
In FIG. 8, the register file which is each processing element, the arithmetic unit and the LOAD / STORE unit are connected by a multiplexed bus structure. However, it is needless to say that the connection method is not limited to this. It is obvious that modifications such as a configuration in which each port and a specific processing element are directly connected, or conversely, a crossbar configuration in which the connection destination can be freely changed are possible.

【0052】このような変形例の一例を図9に示す。An example of such a modification is shown in FIG.

【0053】演算器#1(950−1)と演算器#2
(950−2)の2つの演算器を持つ。出力オペランド
ステータス決定論理回路も各演算器対応で2つ955−
1,955−2存在する。各演算器の入力オペランド部
にはオペランドデータバスからのオペランドと他方の演
算器の出力オペランドとの入力を切り替える選択回路9
91−1,992−1,及び991−2,992−2が
存在する。対応する出力オペランドステータス決定回路
955−1,955−2の入力部にも同様な選択回路9
96−1,997−1,及び996−2,997−2が
存在する。
Arithmetic unit # 1 (950-1) and arithmetic unit # 2
It has two arithmetic units of (950-2). Two output operand status decision logic circuits are provided for each arithmetic unit 955-
There are 1,955-2. In the input operand section of each arithmetic unit, a selection circuit 9 for switching the input of the operand from the operand data bus and the output operand of the other arithmetic unit.
91-1, 992-1, and 991-2, 992-2 are present. The same selection circuit 9 is also provided in the input parts of the corresponding output operand status determination circuits 955-1 and 955-2.
There are 96-1,997-1, and 996-2,997-2.

【0054】一方の演算器の出力を他方の演算器ですぐ
に使用したい場合に、一度バス経由でレジスタファイル
に書き戻すのではなく、選択回路を切り替えて他方の演
算器の出力オペランドを直接入力して処理時間の短縮を
はかる構成である。このような場合にも、オペランドデ
ータと同時にオペランドステータスも直接入力するパス
とそのための選択回路を設けることで本発明を適用する
ことが可能である。
When it is desired to immediately use the output of one arithmetic unit in the other arithmetic unit, instead of writing it back to the register file via the bus once, the selection circuit is switched to directly input the output operand of the other arithmetic unit. By doing so, the processing time is shortened. Even in such a case, the present invention can be applied by providing a path for directly inputting the operand status together with the operand data and a selection circuit therefor.

【0055】なお、実施例においてレジスタファイルを
有する構成を主に説明したが、本発明においてレジスタ
ファイルの存在は必須ではないのは明かである。外部と
のアクセスを実行する処理要素と実際の演算を行う処理
要素とがあれば本発明の適用は可能である。
Although the structure having the register file has been mainly described in the embodiment, it is obvious that the existence of the register file is not essential in the present invention. The present invention can be applied as long as there is a processing element that executes access to the outside and a processing element that performs actual calculation.

【0056】また逆に、本実施形態の浮動小数点演算処
理装置内に含まれる記憶装置としてはレジスタファイル
のみに限られるものではないことも明かである。特にア
クセス速度を速くする必要がある同一マイクロプロセッ
サ内に集積される一次データキャッシュなどは、本発明
の実施例によるLOAD/STOREユニットにおける
付加回路による若干の遅延時間増が問題になるようであ
れば、一次データキャッシュにもステータス信号を同時
に記録する領域を設けることで本発明の適用が可能にな
る。
On the contrary, it is also clear that the storage device included in the floating point arithmetic processing unit of this embodiment is not limited to the register file. Especially for a primary data cache or the like integrated in the same microprocessor that needs to have a high access speed, if a slight increase in delay time due to an additional circuit in the LOAD / STORE unit according to the embodiment of the present invention poses a problem. The present invention can be applied by providing an area for simultaneously recording the status signal also in the primary data cache.

【0057】また、上記実施形態では各演算器への入力
オペランドのいずれか1つでも特殊数を表すステータス
を持っていたならば、事実上ステータス信号のみが有効
であり演算器への実際の入力オペランドデータ、及びこ
れらの演算結果である出力オペランドデータは全て無効
なデータとして無視されることになる。従って、無効な
データに対する無駄な演算を行わないようにしようとす
る構成も可能で、図示はしていないが例えば、出力オペ
ランドステータス決定論理回路より入力の一方が特殊数
であった場合に演算器本来へのクロック供給を止めた
り、演算供給本体内の全F/Fをホールド状態にするな
どの制御信号を発行することで無駄な演算の実行を停止
して低消費電力化をはかる構成も可能である。
Further, in the above embodiment, if any one of the input operands to each arithmetic unit has a status indicating a special number, only the status signal is actually effective and the actual input to the arithmetic unit is The operand data and the output operand data that is the result of these operations are all ignored as invalid data. Therefore, it is possible to configure so as not to perform a wasteful operation on invalid data, and although not shown, for example, when one of the inputs from the output operand status determination logic circuit is a special number, the operation unit It is possible to stop the unnecessary calculation by issuing a control signal such as stopping the clock supply to the original or putting all the F / Fs in the calculation supply main unit into the hold state to reduce power consumption. Is.

【0058】[0058]

【発明の効果】第1の効果は、IEEE−754形式を
扱う浮動小数点演算器のハードウェア量を削減すること
ができるということである。これにより、IEEE−7
54形式を扱う浮動小数点演算器のLSI上での実装面
積が減少しマイクロプロセッサ等の集積度を向上させる
ことができるようになる。
The first effect is that it is possible to reduce the amount of hardware of a floating point arithmetic unit that handles the IEEE-754 format. As a result, IEEE-7
It is possible to reduce the mounting area of the floating point arithmetic unit handling the 54 format on the LSI and improve the degree of integration of the microprocessor or the like.

【0059】その理由は、従来各浮動小数点演算器で持
っていたハードウェアの一部を本発明の浮動小数点演算
処理装置の外部にある記憶装置とのインタフェース部分
に集約して各浮動小数点演算器から削減したからであ
る。この効果は、スーパースカラプロセッサやVLIW
プロセッサ、画像処理用の並列演算プロセッサなどの複
数の浮動小数点演算器を1チップに内蔵する場合により
顕著になる。
The reason for this is that a part of the hardware conventionally held in each floating point arithmetic unit is aggregated in an interface portion with a storage device outside the floating point arithmetic processing unit of the present invention, and each floating point arithmetic unit is integrated. Because it has been reduced from. This effect is a superscalar processor and VLIW
This becomes more remarkable when a plurality of floating point arithmetic units such as a processor and a parallel arithmetic processor for image processing are built in one chip.

【0060】第2の効果は、IEEE−754形式を扱
う浮動小数点演算器の処理時間を短縮することができる
ということである。これにより、IEEE−754形式
を扱う浮動小数点演算器のパイプライン段数の削減やク
ロックサイクルの高速化が可能になりマイクロプロセッ
サ等の性能を向上させることができるようになる。
The second effect is that the processing time of the floating point arithmetic unit handling the IEEE-754 format can be shortened. As a result, it is possible to reduce the number of pipeline stages of the floating-point arithmetic unit that handles the IEEE-754 format and speed up the clock cycle, and it is possible to improve the performance of the microprocessor and the like.

【0061】その理由は、浮動小数点演算器の処理と並
列に処理することができないIEEE−754形式の特
殊数のデータパターンに対する置き換え処理を各浮動小
数点演算器から削除し、本発明の浮動小数点演算処理装
置の外部にある記憶装置へと数値データ書き戻す部分に
集約したからである。これは、一般にクロックサイクル
の3倍程度で浮動小数点演算処理が完了するのに対し
て、外部の記憶装置にデータのアクセスを行う場合には
クロックサイクルの数倍から数十倍の処理時間が必要で
あるためこの部分でのわずかな処理時間の増大はマイク
ロプロセッサ全体の処理性能にほとんど影響がないため
に可能である。
The reason is that the floating point arithmetic unit according to the present invention is deleted by eliminating the replacement process for the data pattern of the special number of the IEEE-754 format which cannot be processed in parallel with the processing of the floating point unit. This is because the data is written back to the storage device outside the processing device. This is because the floating-point arithmetic processing is generally completed in about three times the clock cycle, whereas when accessing data to an external storage device, the processing time is several to several tens of times the clock cycle. Therefore, a slight increase in processing time in this part is possible because it has almost no effect on the processing performance of the entire microprocessor.

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

【図1】IEEE−754形式フォーマット(倍精度)
と、特定のデータの種類を表すデータパターンを説明す
る図である。
FIG. 1 IEEE-754 format (double precision)
FIG. 3 is a diagram illustrating a data pattern representing a specific data type.

【図2】従来の浮動小数点演算器を説明するブロック図
である。
FIG. 2 is a block diagram illustrating a conventional floating point arithmetic unit.

【図3】オペランドステータスを生成するブロックの詳
細を説明する図である。
FIG. 3 is a diagram illustrating details of a block that generates an operand status.

【図4】浮動小数点演算器の出力結果をオペランドステ
ータスにより差し替えるブロックの詳細を説明する図で
ある。
FIG. 4 is a diagram illustrating details of a block for replacing an output result of a floating point arithmetic unit according to an operand status.

【図5】本発明の一実施形態における浮動小数点演算器
を説明する図である。
FIG. 5 is a diagram illustrating a floating point arithmetic unit according to an embodiment of the present invention.

【図6】本発明をレジスタファイルを有するマイクロプ
ロセッサに適用した一実施形態を示すブロック図であ
る。
FIG. 6 is a block diagram showing an embodiment in which the present invention is applied to a microprocessor having a register file.

【図7】図6中のLOAD/STOREユニットの詳細
を説明する図である。
FIG. 7 is a diagram illustrating the details of a LOAD / STORE unit in FIG.

【図8】図6の変形実施形態で、複数の接続経路を有す
る実施形態を示すブロック図である。
FIG. 8 is a block diagram showing an embodiment having a plurality of connection paths in the modified embodiment of FIG. 6;

【図9】図6の変形実施形態で、複数の浮動小数点演算
器間に相互接続経路を有する実施形態を示すブロック図
である。
FIG. 9 is a block diagram showing an embodiment having a interconnection path between a plurality of floating point arithmetic units in the modified embodiment of FIG. 6;

【符号の説明】[Explanation of symbols]

210 Xオペランドステータス信号 211 Yオペランドステータス信号 251 Xオペランドステータス生成回路 252 Yオペランドステータス生成回路 510 入力オペランドステータスX 511 入力オペランドステータスY 570 出力オペランドステータス決定論理回路 640 浮動小数点データレジスタファイル 641 浮動小数点データレジスタファイル読み出し
ポート1 642 浮動小数点データレジスタファイル読み出し
ポート2 643 浮動小数点データレジスタファイル書き込み
ポート 645 浮動小数点ステータスレジスタファイル 646 浮動小数点ステータスレジスタファイル読み
出しポート1 647 浮動小数点ステータスレジスタファイル読み
出しポート2 648 浮動小数点ステータスレジスタファイル書き
込みポート 650 浮動小数点演算器本体 651 浮動小数点演算器入力オペランドデータ1 652 浮動小数点演算器入力オペランドデータ2 653 浮動小数点演算器出力オペランドデータ 655 浮動小数点演算器出力オペランドステータス
決定論理回路 656 浮動小数点演算器入力オペランドステータス
1 657 浮動小数点演算器入力オペランドステータス
2 658 浮動小数点演算器出力オペランドステータス 660 LOAD/STOREユニット 661 STOREオペランドデータ 663 LOADオペランドデータ 666 STOREオペランドステータス 668 LOADオペランドステータス 680 メモリアクセスポート 801−1 浮動小数点オペランドデータバス1#1 801−u 浮動小数点オペランドデータバス1#u 802−1 浮動小数点オペランドデータバス2#1 802−u 浮動小数点オペランドデータバス2#u 811−1 浮動小数点オペランドステータスバス1
#1 811−u 浮動小数点オペランドステータスバス1
#u 812−1 浮動小数点オペランドステータスバス2
#1 812−u 浮動小数点オペランドステータスバス2
#u 821−1 浮動小数点オペランドデータバス3#1 821−v 浮動小数点オペランドデータバス3#v 831−1 浮動小数点オペランドステータスバス3
#1 831−v 浮動小数点オペランドステータスバス3
#v 840 マルチポート浮動小数点データレジスタファ
イル 845 マルチポート浮動小数点ステータスレジスタ
ファイル 850−1 浮動小数点演算器本体#1 850−n 浮動小数点演算器本体#n 855−1 演算器#1用出力オペランドステータス
決定論理回路 855−n 演算器#n用出力オペランドステータス
決定論理回路 860−1 LOAD/STOREユニット#1 860−m LOAD/STOREユニット#m 950−1 浮動小数点演算器本体#1 950−2 浮動小数点演算器本体#2 953−1 浮動小数点演算器#1出力オペランドデ
ータ 953−2 浮動小数点演算器#2出力オペランドデ
ータ 955−1 演算器#1用出力オペランドステータス
決定論理回路 955−2 演算器#2用出力オペランドステータス
決定論理回路 958−1 演算器#1用出力オペランドステータス 858−2 演算器#2用出力オペランドステータス 991−1 演算器#1用Xオペランドデータ入力選
択回路 991−2 演算器#2用Xオペランドデータ入力選
択回路 992−1 演算器#1用Yオペランドデータ入力選
択回路 992−2 演算器#2用Yオペランドデータ入力選
択回路 996−1 演算器#1用Xオペランドステータス入
力選択回路 996−2 演算器#2用Xオペランドステータス入
力選択回路 997−1 演算器#1用Yオペランドステータス入
力選択回路 997−2 演算器#2用Yオペランドステータス入
力選択回路
210 X operand status signal 211 Y operand status signal 251 X operand status generation circuit 252 Y operand status generation circuit 510 Input operand status X 511 Input operand status Y 570 Output operand status determination logic circuit 640 Floating point data register file 641 Floating point data register File Read Port 1 642 Floating Point Data Register File Read Port 2 643 Floating Point Data Register File Write Port 645 Floating Point Status Register File 646 Floating Point Status Register File Read Port 1 647 Floating Point Status Register File Read Port 2 648 Floating Point Status Register File writing Port 650 Floating-point arithmetic unit body 651 Floating-point arithmetic unit input operand data 1 652 Floating-point arithmetic unit input operand data 2 653 Floating-point arithmetic unit output operand data 655 Floating-point arithmetic unit output operand status determination logic circuit 656 Floating-point arithmetic unit input Operand status 1 657 Floating-point calculator input Operand status 2 658 Floating-point calculator output operand status 660 LOAD / STORE unit 661 STORE operand data 663 LOAD Operand data 666 STORE Operand status 668 LOAD Operand status 680 Memory access port 801-1 Floating-point Operand data bus 1 # 1 801-u Floating point operand data bus 1 # 802-1 floating point operand data bus 2 # 1 802-u floating point operand data bus 2 # u 811-1 floating point operand status bus 1
# 1 811-u Floating point operand status bus 1
#U 812-1 Floating point operand status bus 2
# 1 812-u floating-point operand status bus 2
#U 821-1 floating point operand data bus 3 # 1 821-v floating point operand data bus 3 #v 831-1 floating point operand status bus 3
# 1 831-v floating point operand status bus 3
#V 840 Multiport floating point data register file 845 Multiport floating point status register file 850-1 Floating point arithmetic unit body # 1 850-n Floating point arithmetic unit body #n 855-1 Output operand status determination for arithmetic unit # 1 Logic circuit 855-n Output operand status determination logic circuit for arithmetic unit #n 860-1 LOAD / STORE unit # 1 860-m LOAD / STORE unit #m 950-1 Floating point arithmetic unit main unit # 1 950-2 Floating point arithmetic Main unit # 2 953-1 Floating-point arithmetic unit # 1 output operand data 953-2 Floating-point arithmetic unit # 2 output operand data 955-1 Output operand status decision logic circuit 955-2 For arithmetic unit # 2 Output operand status Decision logic circuit 958-1 Output operand status for arithmetic unit # 1 858-2 Output operand status for arithmetic unit # 2 991-1 X operand data input selection circuit for arithmetic unit # 1 991-2 X operand data for arithmetic unit # 2 Input selection circuit 992-1 Y operand data input selection circuit for arithmetic unit # 1 992-2 Y operand data input selection circuit for arithmetic unit # 2 996-1 X operand status input selection circuit for arithmetic unit # 1 996-2 Operation unit X operand status input selection circuit for # 2 997-1 Y operand status input selection circuit for arithmetic unit # 997-2 Y operand status input selection circuit for arithmetic unit # 2

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 少なくとも1つ以上の浮動小数点演算器
と、前記浮動小数点演算器への入力データと前記浮動小
数点演算器からの出力データとを記憶する記憶装置と、
少なくとも1つ以上の前記記憶装置から前記浮動小数点
演算器への入力データを読み出す手段と、前記読み出し
手段と前記浮動小数点演算器との間で前記読み出しデー
タを転送する1つ以上の経路と、少なくとも1つ以上の
前記浮動小数点演算器から前記記憶装置へ出力データを
書き戻す手段と、前記浮動小数点演算器と前記書き戻し
手段との間で書き戻しデータを転送する1つ以上の経路
と、を備える処理装置において、前記記憶装置から前記
浮動小数点演算器へのデータを読み出す手段において読
み出しデータが予め定められた浮動小数点形式の特定の
データの種類と一致することを検出しその状態を前記読
み出しデータとは別のデータとして出力する手段と、前
記特定のデータの種類を表すデータを入力とする演算結
果を同様の特定のデータの種類を表すデータで出力する
手段と、前記浮動小数点演算器の出力データを前記記憶
装置に書き戻す手段において前記特定のデータの種類を
表すデータを出力する手段より得られるデータに応じて
前記浮動小数点演算器の出力データを前記特定のデータ
に置き換える手段とを備えることを特徴とする浮動小数
点演算処理装置。
1. At least one floating point arithmetic unit, and a storage device for storing input data to the floating point arithmetic unit and output data from the floating point arithmetic unit.
Means for reading input data to the floating point arithmetic unit from at least one or more storage devices, one or more paths for transferring the read data between the reading means and the floating point arithmetic unit, Means for writing back the output data from the one or more floating point arithmetic units to the storage device; and one or more paths for transferring the writeback data between the floating point arithmetic units and the write back means. In the processing device, the means for reading data from the storage device to the floating-point arithmetic unit detects that the read data matches a specific data type of a predetermined floating-point format, and the state is detected as the read data. And a means for outputting as data different from the above, and a calculation result obtained by inputting data representing the type of the specific data According to data obtained by means for outputting data representing the type of data and means for outputting data representing the specific data type in the means for writing back the output data of the floating point arithmetic unit to the storage device. A floating point arithmetic processing device, comprising means for replacing output data of the floating point arithmetic unit with the specific data.
【請求項2】 前記浮動小数点演算器は複数の入力デー
タを選択する手段を有し、演算結果の出力データを他の
浮動小数点演算器の入力へ転送する経路と、前記出力デ
ータの特定の種類を表す出力データを他の浮動小数点演
算器の入力へ転送する経路とを有し、前記複数の浮動小
数点演算器が前記経路によって相互に接続されたことを
特徴とする請求項1記載の浮動小数点演算処理装置。
2. The floating point arithmetic unit has means for selecting a plurality of input data, a path for transferring the output data of the arithmetic result to the input of another floating point arithmetic unit, and a specific type of the output data. And a path for transferring output data representing the data to an input of another floating point arithmetic unit, and the plurality of floating point arithmetic units are mutually connected by the path. Processing unit.
【請求項3】 前記データ読み出し手段からのデータ
と、前記1つ以上の浮動小数点演算器からのデータと、
を一時的に記憶する記憶装置と、前記読み出しデータの
特定のデータの種類を表すデータと、前記書き戻しデー
タの特定のデータの種類を表すデータと、を一時的に記
憶する記憶装置とを備えることを特徴とする請求項1記
載の浮動小数点演算処理装置。
3. Data from the data reading means and data from the one or more floating point arithmetic units,
A storage device for temporarily storing the data, a data representing a specific data type of the read data, and a data representing a specific data type of the write-back data. The floating-point arithmetic processing device according to claim 1, wherein
【請求項4】 前記浮動小数点演算器において、入力デ
ータの特定の種類を表すデータが有効なデータであった
場合に通常の入力データによる演算の実行を停止する手
段を有することを特徴とする請求項1記載の浮動小数点
演算処理装置。
4. The floating point arithmetic unit further comprises means for stopping the execution of an operation based on normal input data when the data representing a specific type of input data is valid data. The floating point arithmetic processing unit according to Item 1.
JP8067677A 1996-03-25 1996-03-25 Floating point processor Expired - Fee Related JP2868075B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8067677A JP2868075B2 (en) 1996-03-25 1996-03-25 Floating point processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8067677A JP2868075B2 (en) 1996-03-25 1996-03-25 Floating point processor

Publications (2)

Publication Number Publication Date
JPH09258959A true JPH09258959A (en) 1997-10-03
JP2868075B2 JP2868075B2 (en) 1999-03-10

Family

ID=13351875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8067677A Expired - Fee Related JP2868075B2 (en) 1996-03-25 1996-03-25 Floating point processor

Country Status (1)

Country Link
JP (1) JP2868075B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904543B2 (en) 1999-12-24 2005-06-07 Denso Corporation Electronic control having floating-point data check function
JP2009187133A (en) * 2008-02-04 2009-08-20 Nec Computertechno Ltd Floating point arithmetic device, floating point arithmetic unit, special number decision circuit failure detection method, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904543B2 (en) 1999-12-24 2005-06-07 Denso Corporation Electronic control having floating-point data check function
JP2009187133A (en) * 2008-02-04 2009-08-20 Nec Computertechno Ltd Floating point arithmetic device, floating point arithmetic unit, special number decision circuit failure detection method, and program

Also Published As

Publication number Publication date
JP2868075B2 (en) 1999-03-10

Similar Documents

Publication Publication Date Title
KR101020430B1 (en) Dynamic range adjusting floating point execution unit
JP2662196B2 (en) Calculation result normalization method and apparatus
US8447800B2 (en) Mode-based multiply-add recoding for denormal operands
TWI515649B (en) Reducing power consumption in a fused multiply-add (fma) unit responsive to input data values
JP3655403B2 (en) Data processing device
US7567996B2 (en) Vector SIMD processor
US5886915A (en) Method and apparatus for trading performance for precision when processing denormal numbers in a computer system
JPH06236257A (en) Method and apparatus for post-normalization at inside of floating-point execution unit in data processor
JP2000155671A (en) Floating point arithmetic unit
EP0529101B1 (en) Floating-point dividing circuit
US20050223055A1 (en) Method and apparatus to correct leading one prediction
Boersma et al. The POWER7 binary floating-point unit
US5337265A (en) Apparatus for executing add/sub operations between IEEE standard floating-point numbers
US6584485B1 (en) 4 to 2 adder
US8180815B2 (en) Redundancy-free circuits for zero counters
JPS6227412B2 (en)
JP2868075B2 (en) Floating point processor
Pillai et al. A low power approach to floating point adder design
JP2001350623A (en) Absolute value arithmetic unit
US6263424B1 (en) Execution of data dependent arithmetic instructions in multi-pipeline processors
Gassoumi et al. Division circuit using reversible logic gates
US6065034A (en) Circuit and method employing an adder for sign extending operands
US7444367B2 (en) Floating point status information accumulation circuit
He et al. Multiply-add fused float point unit with on-fly denormalized number processing
US20020178199A1 (en) Floating point status information testing circuit

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19981125

LAPS Cancellation because of no payment of annual fees