JPH03131924A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH03131924A
JPH03131924A JP1268931A JP26893189A JPH03131924A JP H03131924 A JPH03131924 A JP H03131924A JP 1268931 A JP1268931 A JP 1268931A JP 26893189 A JP26893189 A JP 26893189A JP H03131924 A JPH03131924 A JP H03131924A
Authority
JP
Japan
Prior art keywords
data
attribute
bit
flag
mantissa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1268931A
Other languages
English (en)
Inventor
Atsushi Kiuchi
淳 木内
Toru Umaji
馬路 徹
Tetsuya Nakagawa
哲也 中川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP1268931A priority Critical patent/JPH03131924A/ja
Publication of JPH03131924A publication Critical patent/JPH03131924A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は内部で扱うデータとは異なる形式のデータを装
置外部との入出力で扱う情報処理装置に係り、特にデー
タ形式の正確な変換が可能な情報処理装置に関する。
〔従来の技術〕
この発明に関係する公知例としては、例えばruPD7
7230ユーザーズ・マニュアル」。
IEM−9378Sep、1986P、NEC日本電気
株式会社を挙げることができる。
従来、音声や通信のディジタル信号処理に使用されるマ
イクロプロセッサは、さまざまな種類のものが発表され
てきている。これらのディジタル信号処理用マイクロプ
ロセッサは通常、外部からA/D変換器によってアナロ
グ信号からディジタル信号へ変換された信号を入力し、
内部で必要な処理を行なった後、外部へディジタル信号
として出力する。この出力されたディジタル信号は、D
/A変換器によってアナログ信号へ変換される。
最近ではA/D変換器、D/A変換器をマイクロプロセ
ッサ・チップに内蔵したものも出てきている。A/D変
換器、D/A変換器との間で受は渡しされるディジタル
信号は、変換器の仕様に合ったデータ形式、通常は正整
数の2進数で行なわれるが、マイクロプロセッサ内で処
理される過程でのデータ形式は、マイクロプロセッサ・
メーカーの自由裁量で決定されるのが普通である。
ところで近年、このようなディジタル信号処理用マイク
ロプロセッサを汎用マイクロプロセッサをCPUとする
ワークステーション等のコプロセッサとして使用するこ
とが検討されるようになってきている。このような応用
の場合、当該信号処理用マイクロプロセッサとCPUで
ある汎用マイクロプロセッサとの間のデータ通信は、A
/D。
D/A変換器用の正整数の2進数ではなく、固定tJz
数点や浮動小数点のデータ形式で行なわれる。
そのため標準データ形式が提案され、それに準拠すれば
異なるメーカーのCPUとコプロセッサを同一システム
に搭載することが出来る。
しかし、この標準データ形式が今まで採用してきたデー
タ形式と異なる場合、外部とのデータ入出力の際にデー
タ形式の変換が必要となる。例えば浮動小数点データ形
式の代表的な標準形式としては、アイ・イー・イー・イ
ー・754 (IEEE754)と呼ばれるものがあり
、「μPD77230ユーザーズ・マニュアル、 IE
M−9378Sep。
1986P、NEC日本電気株式会社」の135〜13
9頁に示されているように、マイクロプロセッサ内部の
データ形式とIEEE754標準形式との相互変換命令
によって所定のデータ形式変換を行なう方法が知られて
いる。ところが両データ形式が単に形式上の違いだけで
なく、扱っているデータの数値としてのダイナミックレ
ンジや、データの種類が異なっている場合は正確な変換
が出来ない。
第5図にI E’E E 754の単精度の標準データ
形式を示す6図中、107は仮数部の正負を示す符号ビ
ット、108は2のべき乗を示す8ビツト長の指数部、
109は小数点以下の桁を示す23ビツト長の仮数部で
ある。107がOの時、値が正であることを示し、1の
時、値が負であることを示す。仮数は小数点以下の桁を
示す109の他に51の位のビットが省略されており、
この省略されているビットは指数部108がゼロでなけ
れば1、指数部108がゼロであればOと定義されてい
る。すなわち、107,109及び省略されている1の
位のビットと合わせて25ビット精度の仮数情報を、2
4ビツトで表現していることになる。例えば、+9.0
という数値をIEEE754標準データ形式で表現する
と、仮数部の符号ビット107はO11致数以下の桁を
示す109は。
0010・・・Oとなり、最上位の1が省略されるつ尚
、仮数部109は絶対値表現になっている。従って、I
EEE754$1準データ形式では正データ形式合、仮
数部の数値表現範囲mは絶対値で1.0≦m<2.0と
なっている。
指数部108は実際の指数値に+127のバイアスが加
算された形で表示されており、Oから255までの正整
数の値をとる。すなわち、例えば数値が2の0乗である
時、指数部108は+127と表示される。指数部10
8が実際に指数としての数値を意味しているのは1から
254までである。指数部108がOで仮数部109が
0でない時、値は非正規化数であることを示しており、
先に述べたように、省略されている1の位のビットはO
定義となる。指数部108が0で仮数部1o9も0の時
、値はOであることを示す。
ただし、その場合でも符号ビット107は有効であるの
で、−〇と+0の定義が存在する。指数部108が25
5で仮数部109が0でない時、そのデータは数値でな
く、非数データであることを示す。指数部108が25
5で仮数部109がOの時、無限大であることを示し、
符号ビット107によって、正の無限大か負の無限大か
を区別する。
次に前述の従来例のデータ形式を第6図に示す。
図中、601は指数部の正負を示す符号ビット、602
は601と合わせて2の補数表現の計8ビット長の指数
部、603は仮数部の正負を示す符号ビット、604は
603と合わせて2の補数表現の計23ビット長の仮数
部である。601゜602は−128から+127まで
の整数をとり。
そのまま2のべき乗を示す、603はマイナス1の位の
ビットであり、603と、604の最上位ビットが異な
る値になっている時、正規化数と定義されている0例え
ば先述の+9.0という数値を従来例のデータ形式で表
現すると、符号ビット603は01604は、1001
0・・・0となる。
すなわち、従来例のデータ形式による正規化数の仮数部
の表現範囲mは、−1,0≦m < −0、5または、
0.5≦m < 1 、0となっている。
IEEE754の単精度の標準データ形式と従来例のデ
ータ形式との定義比較を第13図に示す。
第13図の指数部に示されているように、両データ形式
の仮数部での正規化数の表現数値範囲の違いから、バイ
アス分(+127)よりも1だけずれた指数値が対応し
ている。また表1かられかるように、IEEE754の
単精度の標準データ形式から従来例のデータ形式へデー
タ形式変換する場合、扱っているデータの数値としての
ダイナミックレンジや、データの種類の違いから、変換
すると本来の情報が失われてしまうケースが生じており
、正確なデータの伝達が出来ないという問題がある0例
えばIEEE754標準形式ではデータの仮数部が数値
ではなく、ビットパターン列(仮数部の全ビットが零の
場合を除く)である場合、指数部は255と定義されて
いるが、従来例のデータ形式では該当する表現方法が存
在していない。また、IEEE754標準形式では正負
の無限大、すなわちオーバーレンジについても正負の区
別も明確に定義されているが、従来例のデータ形式では
オーバーレンジしているという情報をデータの中に表現
することが出来ず、正負の区別も不可能である。さらに
、IEEE75411準形式と従来例のデータ形式では
ダイナミックレンジがずれており、絶対値の小さいレン
ジでは従来例のデータ形式の方が3桁広く、絶対値の大
きいレンジでは逆にIEEE754標準形式の方が1桁
広い。絶対値の小さいレンジでは非正規化数表現で対応
は可能であるが、絶対値の大きいレンジではオーバーレ
ンジとなり、従来例のデータ形式は表現が出来ない。
この問題を解消する手段としては、まず従来例が指摘し
ているように、ユーザが補正プログラムを組んで対処す
る方法があるが、前述の通り従来例のデータ形式では表
現出来ないデータが来た場合、その属性情報を別の情報
保持手段に確保しておく必要がある。その場合、以後そ
のデータを演算処理して更新するたびに属性情報も更新
しなければならず、演算処理速度性能の著しい低下を招
くとともに、補正プログラムのないそれまでのソフト財
産が使用出来ないことになる。また、マイクロプロセッ
サ内部のデータ形式をIEEE754標準形式そのもの
にしてしまう方法も考えられるが、この手段では既に今
までに供給してきた従来機種との互換性を失うという新
たな問題が生じる。
〔発明が解決しようとする課題〕
このように上記従来技術は、扱っているデータの数値と
してのダイナミックレンジや、データの種類の違いにつ
いては十分な配慮がなされておらず、正確な変換のため
にはプログラムで補正しなければなれず、信号処理プロ
セッサとしての性能低下を生じるという問題があった。
さらに今までのソフト財産がそのまま使えなくなってし
まうという問題もあった。
本発明の目的は、データ形式の相互変換を正確に行いか
つ従来の機種と互換性を保ってソフト財産の継承を可能
とする手段を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するために、従来の信号処理用マイクロ
プロセッサの内部データ形式では表現出来ないデータを
変換するとき、そのデータが持っている情報を失わない
ために内部データ形式でデータを格納するデータ保持手
段にデータの属性を示す手段を付加したものである。
〔作用〕
上記データの属性を示す手段は、例えば上記従来例であ
げたように、IEEE754標準形式でデータの仮数部
がビットパターン列であるデータを変換したときには、
変換後のデータの仮数部がビットパターン列であること
を示すフラグを立てて保持する。また、データが正の無
限大であった場合は、それを示す別のフラグを立てて保
持する。
さらにデータが負の無限大であった場合は、それを示す
さらに別のフラグを立てて保持する。これらのフラグは
データがそのフラグが示している属性のものでなくなる
か、あるいは命令によって強制的に打ち消されるまで保
持される。内部データ形式からIEEE754標準形式
へ変換するときは、データの属性を示す手段に保持され
ている上記フラグのうち、データの仮数部がビットパタ
ーン列であることを示すフラグが立っている場合には、
変換前のデータの指数部の状態に関わらず変換後のデー
タの指数部を255に設定する。また。
データが正の無限大であることを示すフラグが立ってい
る場合には、変換前のデータの指数部の状態に関わらず
変換後のデータの指数部を255に設定し、仮数部およ
び符号ビットを全て0にする。
さらにデータが負の無限大であることを示すフラグが立
っている場合には、変換前のデータの指数部の状態に関
わらず変換後のデータの指数部を255に設定し、仮数
部を全て零にし、符号ビットを1にする。その他、ダイ
ナミックレンジや一部等の変換も正確に行なう場合も、
同様にそれぞれに対応するフラグを設けることが可能で
ある。
その結果、内部データ形式で演算処理を行なっている間
は演算のたびにプログラムによる補正を行なわずに済み
、かつデータ形式の相互変換時にはデータを正確に変換
することが可能となる。しかも従来機種の延長としてこ
のプロセッサを使用する場合には、付加した本発明のデ
ータの属性を示す手段を利用しないだけで互換性を保つ
ことが容易に出来る。
また、データの属性を示す手段は、属性情報が互いに排
他的であることから、フラグでなく、コード化しても構
わない。即ち、データの仮数部がビットパターン列であ
る場合と、正の無限大である場合と、負の無限大である
場合は同時に複数成立することはありえないので、それ
ぞれ−っのコードを割り当てることによってデータの属
性を示すことが出来る。
さらに、プロセッサ内部のデータ形式の指数部をI E
EE標準データ形式の指数部よりも少なくとも1ビット
以上多くのビット長を持つことにより、ダイナミックレ
ンジの完全なカバーを実現するとともに、余裕のあるダ
イナミックレンジの一部を利用して指数部全体をデータ
の属性コードとして割当てることも出来る。
〔実施例〕
以下、本発明の実施例を、図面を参照しながら説明する
。第1図は本発明の属性ビット部を付加したプロセッサ
内部のデータ形式を表した図である。図中、101はプ
ロセッサ内部のデータ形式の内の本発明の基本部分であ
る属性ビット部、102はプロセッサ内部のデータ形式
の内の浮動小数点データの仮数部の符号ビット、103
は102と合わせて24ビツトからなるプロセッサ内部
のデータ形式の内の2の補数表現された浮動小数点デー
タの仮数部を構成する部分、104はプロセッサ内部の
データ形式の内の浮動小数点データの指数部の符号ビッ
ト、105は104と合わせて8ピツトからなるプロセ
ッサ内部のデータ形式の内の2の補数表現された浮動小
数点データの指数部を構成する部分である。
プロセッサ内部のデータ形式の内、101を除いた部分
は従来機種との完全互換性あるいは上位互換性を持った
部分であり、101はそれに付加された形となっている
。なお、101の位置は必ずしもデータの左端である必
要はなく、どこにあっても構わない。
第2図はデータの属性情報をフラグによって表現した例
である。図中、201はデータが負の無限大であること
を示すフラグ、202はデータが正の無限大であること
を示すフラグ、203はデータがマイナスゼロであるこ
とを示すフラグ、204はデータが非数であることを示
すフラグ、205はデータの指数部が2の128乗であ
ることを示すフラグである。
第7図は本発明のデータ形式を使用した信号処理プロセ
ッサの一構成例である。図中、701は係数データを格
納している係数ROM、702はデータを一時格納する
ためのデータRAM、703は浮動小数点乗算器、70
4は乗算結果を格納するレジスタ、705は浮動小数点
算術論理ユニット(A L U)、706は複数のアキ
ュムレータACCO。
ACCl・・・を含むアキュムレータ群、707はプロ
セッサ内部のデータ形式とIEEE標準データ形式との
相互変換用の回路、708は外部からの入力データを一
時ラッチするレジスタ、709は外部へ出力するデータ
を一時ラッチするレジスタ、710は複数の外部I10
ピン、711,712゜713は多目的のデータバス、
714は706から705.707へデータを転送する
ためのデータバス、715は707から706へデータ
を転送するためのデータバス、716は704から70
6へデータを転送するためのデータバスである。第1図
のデータ形式は、第7図中の少なくとも704,706
に備えられており、内部データ形式でのデータを格納す
ることがあれば、702にも備えられる。708,70
9はIEEE754標準データ形式と従来データ形式の
両方を扱う。
このような構成の信号処理プロセッサの標準的な動作と
しては、まず710から708へ入力されたデータが、
いったん702に格納される。702に格納されたデー
タは、701に格納されている係数データと同時に読み
だされ、データバス711゜712を経て703に送ら
れ、乗算を実行し、結果を704に格納する。704の
データを706のレジスタに格納されているデータに7
05によって累算する。この操作がFIRフィルタを代
表とする線形積和演算処理の基本となる。710から7
08へ入力されたデータを直ちに処理する場合は、70
8から713を経て直接706へ転送される。
第8図は第7図中の707を詳細に描いたブロック図の
一例である。図中、801は第7図中のデータバス71
2の内、属性ビット部を転送する部分、802は第7図
中のデータバス712の内、符号ビットを含めた仮数部
を転送する部分、803は第7図中のデータバス712
の内、指数部を転送する部分、804は第7図中のデー
タバス714の内、属性ビット部を転送する部分、80
5は第7図中のデータバス714の内、符号ビットを含
めた仮数部を転送する部分、806は第7図中のデータ
バス714の内、指数部を転送する部分、807は第7
図中のデータバス715の内、属性ビット部を転送する
部分、808は第7図中のデータバス715の内、符号
ビットを含めた仮数部を転送する部分、809は第7図
中のデータバス715の内、指数部を転送する部分、8
10は指数部8ビツトの算術/比較演算を行う回路、8
11は810の演算結果がゼロである時に立つフラグビ
ットEZと、指数部のMSB(最上位ビット)を反映す
るフラグビットENとからなるフラグレジスタ、812
は符号ビットを除いた仮数部23ビツトの算術/論理演
算を行う回路、813は812の演算結果がゼロである
時に立つフラグZと、仮数部の符号ビットをそのまま反
映するフラグNから成るフラグレジスタ、814は80
4から転送されて来た属性フラグを反映するフラグレジ
スタ、815は第7図中706の指定されたアキュムレ
ータの指定された属性フラグをセット/リセットする回
路、816は符号ビットを除いた仮数部23ビツトの入
力を左右1ビットシフト機能を持つシフト回路である。
811,813゜814の各フラグは、条件分岐命令の
条件として使われる。
データ形式の変換方法は、従来例のように変換命令によ
っても構わないし、外部との転送動作の途中で自動的に
行なっても良く、本発明では特に限定しない。ここでは
その−例としてプログラム変換ルーチンによる本発明の
具体的な実施方法と相互変換の内容を、第1図、第2図
、第7図及び第8図を用いて説明する。
まず、IEEE754標準形式からマイクロプロセッサ
内部のデータ形式への変換の手順を説明する。外部から
708へ入力されたIEEE754標準データ形式のデ
ータは、転送命令によってデータバス713を経てアキ
ュムレータ706のACGOに入力する。708から7
13へ出力する時、標準データ形式の108の位置を1
09の右側に移す。この操作は出力ビットの入れ替えに
よって容易に実現できる。この時、ACCOの属性ビッ
ト部101の各フラグはクリアする。この結果、ACG
Oには左からクリアされている属性ビット部、仮数部の
符号、小数点以下の仮数部、指数部の順に並んだ事にな
る。ここから変換処理ルーチンが開始される。
701或いは702から指数部が255であるデータを
出力し、712中の803を経て810に入力する。一
方、ACCOのデータも714中の806を経て指数部
を810に入力し、両者の差を演算してその結果の属性
を811に反映する。
尚、演算結果はACCOの指数部には反映しない。
811のEZフラグが立った場合、データは一ω、+ω
、非数のいずれかであることを示しているので、条件分
岐命令を実行して例外処理ルーチンAに分岐する。例外
処理ルーチンAは、まずACGOの仮数部を805,8
16を経て812に入力し、その属性を813に反映す
る。N=0かつZ=1ならば、ACCOのデータは+ω
であるので、属性ビット101の中の202を立てるセ
ット命令を実行する。これは815の回路において20
2に相当するビットを1とし、その他のビットを0にす
るパターンを807を経てACCOの属性ビット部へ転
送する事により実現出来る。N=1かつZ=1ならば、
ACCOのデータは−ωであるので、属性ビット101
の中の201を立てるセット命令を実行する。これは8
15の回路において201に相当するビットを1とし、
その他のビットをOにするパターンを807を経てAC
GOの属性ビット部へ転送する事により実現出来る。Z
=0ならばACCOのデータは非数であるので、属性ビ
ット101の中の204を立てるセット命令を実行する
。これは815の回路において204に相当するビット
を1とし、その他のビットを0にするパターンを807
を経てACCOの属性ビット部へ転送する事により実現
出来る。
これで例外処理ルーチンAが終了する。
例外処理ルーチンAが実行される場合、ACCOの仮数
部はそのまま内部データ形式のデータとして使用される
。また、指数部には、2の補数表現では正の最大数であ
る+127をセットするのが妥当と思われる。この処理
は、701或いは702から指数部が127であるデー
タを出力し、803゜810.809を経てACCOの
指数部に入力することで容易に達成される。
811のEZフラグが立たなかった場合、例外処理ルー
チンAには分岐しないでメインルーチンの次のステップ
に進み、次にACCOのデータが非正規化数、あるいは
±0であるかどうかを判定する。
ACGOの指数部データを806を経て810に入力し
、その属性を811に反映する。ACCOの指数部がO
の場合、811のフラグEZが立つ。
811のフラグEZが立った場合、ACGOのデータは
非正規化数か、あるいは±0であることを示しているの
で、条件分岐命令を実行して例外処理ルーチンBに分岐
する0例外処理ルーチンBは、まずACCOの仮数部を
805,816を経て812に入力し、その属性を81
3に反映する。
N=OかつZ=1ならば、ACCOのデータは+Oであ
るので、701或いは702から仮数部がオールO1指
数部が−128であるデータを出力し、711,705
を経てACCOにセットする。データバス711の代り
に712を経由してり構わない。N=1かつZ=1なら
ば、ACCOのデータは−Oであるので、701或いは
702から仮数部がオールO1指数部が−128である
データを出力し、711,705を経てACCOにセッ
トする。データバス711の代りに712を経由しても
構わない。次に属性ビット101の中の203を立てる
セット命令を実行する。これは815の回路において2
03に相当するビットを1とし、その他のビットをOに
するパターンを807を経てACCOの属性ビット部へ
転送する事により実現出来る。N=OかつZ=Oならば
、ACCOのデータは正の非正規化数であるので、70
1或いは702から指数部が−126であるデータを出
力し、803,810,809を経てACGOの指数部
にセットする。ACCOの仮数部はそのままで内部デー
タ形式表現のデータとなる。N=1かつ2=0ならば、
ACCOのデータは負の非正規化数であるので、701
或いは702から指数部が−126であるデータを出力
し、803.810,809を経てACGOの指数部に
セットする。次にACGOの仮数部を805゜816を
経て812に入力し、2の補数をとって808を経てA
CCOの仮数部に入力する。これで例外処理ルーチンB
が終了する。この場合、変換後の指数部はまだダイナミ
ックレンジに2桁分の余裕があることになる。
811のEZフラグが立たなかった場合、例外処理ルー
チンBには分岐しないでメインルーチンの次のステップ
に進む。
701或いは702から指数部が254であるデータを
出力し、803を経て810に入力する。
一方、ACCOのデータも806を経て指数部を810
に入力し、両者の差を演算してその結果の属性を811
に反映する。尚、演算結果はACCOの指数部には反映
しない。
811のEZ=1の場合、ACGOのデータは内部デー
タ形式では表現出来ない大きな値であることを示してい
るので、属性ビット101の中の205を立てるセット
命令を実行する。これは815の回路において205に
相当するビットを1とし、その他のビットをOにするパ
ターンを807を経てACCOの属性ビット部へ転送す
る事により実現出来る。EZ=Oの場合は何もせず、次
のステップへ進む。
ACCOの仮数部を805を経て816に入力し、1ビ
ツト論理右シフトしてから812に入力し、701或い
は702から仮数部が400000(H)のデータを出
力して802を経て812に入力して加算し、808を
経てACCOの仮数部に入力し、同時に演算結果の属性
を813に反映する。
813のN=1ならば、再びACCOの仮数部を805
.816を経て812に入力し、2の補数をとってAC
COの仮数部に入力する。次にACCOの指数部を80
6を経て810に入力し、701或いは702から指数
部が126のデータを出力して803を経て810に入
力し、ACCOの指数部から減算し、809を経てAC
GOの指数部に入力する。先のEZ=1の場合は、AC
COの指数部は254であるから減算結果は128とな
り、本来ならば従来のデータ形式では2の補数表現で負
の最大値を表しているが、属性ビット部101のフラグ
205が立っていることにより、拡張レンジの+128
を表現していることがわかる。なお、ここでは変換後の
仮数部103では保持出来ない1ビット分のLSB情報
を切り捨てることを仮定しているが、丸め処理を行なっ
たり、103を25ビツト長にして完全に仮数部の情報
を保持しても構わない。これでIEEE754標準デー
タ形式から内部のデータ形式への変換処理ルーチンが終
了する。
次にマイクロプロセッサ内部のデータ形式からI EE
E754標準形式への変換の手順を説明する。
いま、変換するデータがACCOに入っているものとす
る。ACGOの属性ビット部101を。
データバス714の部分バス804を経て814に反映
する。
814の201に相当するフラグビットが立った時、A
CCOのデータは−ψであることを示しているので、条
件分岐命令を実行して例外処理ルーチンCに分岐する。
例外処理ルーチンCは。
701或いは702から仮数部が800000(H)、
指数部が255のデータを出力して711,705を経
てACCOに入力する。データバス711の代りに71
2を経由しても構わない。また必ず必要というわけでは
ないが、ACGO入力時にACGOの属性ビット部はク
リアしておく方が、もはやACCOのデータは内部デー
タ形式のデータではないことを示す意味で望ましい。こ
れは以後の処理ルーチンでも同様である。これで例外処
理ルーチンCが終了する。
814の201に相当するフラグビットが立っていなか
った場合は、例外処理ルーチンCには分岐しないで、続
いて814の202に相当するフラグビットが立ってい
るかどうかを調べる。
814の202に相当するフラグビットが立った時、A
CCOのデータは+ωであることを示しているので、条
件分岐命令を実行して例外処理ルーチンDに分岐する0
例外処理ルーチンDは、701或いは702から仮数部
がオールO1指数部が255のデータを出力して711
,705を経てACCOに入力する。データバス711
の代りに712を経由しても構わない。これで例外処理
ルーチンDが終了する。
814の202に相当するフラグビットが立つていなか
った場合は、例外処理ルーチンDには分岐しないで、続
いて814の203に相当するフラグビットが立ってい
るかどうかを調べる。
814の203に相当するフラグビットが立った時、A
CCOのデータは−0であることを示しているので1条
件分岐命令を実行して例外処理ルーチンEに分岐する0
例外処理ルーチンEは。
701或いは702から仮数部が800000(H)、
指数部が0のデータを出力して711,705を経てA
CGOに入力する。データバス711の代りに712を
経由しても構わない。これで例外処理ルーチンEが終了
する。
814の203に相当するフラグビットが立っていなか
った場合は、例外処理ルーチンEには分岐しないで、続
いて814の204に相当するフラグビットが立ってい
るかどうかを調べる。
814の204に相当するフラグビットが立った時、A
CGOのデータは非数であることを示しているので、条
件分岐命令を実行して例外処理ルーチンFに分岐する。
例外処理ルーチンFは、701或いは702から指数部
が255のデータを出力して803,810,809を
経てACCOの指数部に入力する。尚、例外処理ルーチ
ンGでは仮数部のデータはそのままにしておく。これで
例外処理ルーチンFが終了する。
814の204に相当するフラグビットが立っていなか
った場合は、例外処理ルーチンFには分岐しないで1通
常の変換処理ルーチンへ進む。
814の205に相当するフラグビットが立った時、A
CGOのデータは内部データ形式では表現出来ないレン
ジの数値であることを示しているので、701或いは7
02から指数部が254のデータを出力して803,8
10,809を経てACGOの指数部に入力する。81
4の205に相当するフラグビットが立っていない時は
、 ACCOの指数部を806を経て810に入力し、
701或いは702から指数部が126のデータを出力
して803を経て810に入力し1両者を加算してその
結果を809を経てACCOの指数部へ入力し、同時に
属性を811に反映する。
811のEN=4或いはEZ=1の時、ACCOのデー
タはIEEE754標準データ形式では非正規化数表現
となる極小値であることになるので、条件分岐命令を実
行して例外処理ルーチンGに分岐する。例外処理ルーチ
ンGは、まずEN=1の時、ACCOの仮数部を805
を経て816に入力し、1ビツト算術右シフトして81
2,808を経てACCOの仮数部に入力する。次にA
CCOの指数部を803を経て810に入力し、+1イ
ンクリメントしてその結果を809を経てACGOの指
数部に入力し、同時にその属性を811に反映する。ま
だENフラグが1の場合は、再度ACCOの仮数部の1
ビツト算術右シフトと指数部の+1インクリメントを行
う。この処理は、ENフラグが0になるまで繰り返す。
内部データ形式のダイナミックレンジから、この繰返し
処理は最大でも2回までにENフラグはOになり、代り
にEZフラグが1になる。次にACGOの仮数部を80
5゜816を経て812に入力し、その属性を813に
反映する6813のN=1の時、再びACCOの仮数部
を805,816を経て812に入力し、2の補数をと
って808を経てACGOの仮数部に入力する。813
のN=Oの時はそのままとする。これで例外処理ルーチ
ンGが終了する。
EN=EZ=Oの時は、例外処理ルーチンGには分岐し
ないで仮数部の変換処理に進む。ACCOの仮数部を8
05,816を経て812に入力し、その属性を813
に反映する。813のN=1の時、再びACCOの仮数
部を805を経て816に入力し、1ビツト左シフトし
てから812に入力し、2の補数をとって808を経て
ACCOの仮数部に入力する。これで全ての場合の変換
処理が終了する。
変換後のACCOのデータは、まだ指数部と仮数部の配
置がIEEE754標準データ形式と異なっているが、
外部へ出力するためにA CC’Oの属性ビット部を除
いた残りの部分をデータバス713を経てORレジスタ
709へ転送する際に、指数部105の位置を仮数部の
102と103の間に移す操作を行うことにより達成さ
れる。この操作は、709への入力ビットの入れ替えで
容易に実現出来る。
706でIEEE754標準データ形式から内部のデー
タ形式への変換処理が終了したデータは、そのままデー
タ処理を開始するか、或いは702へ格納する。変換後
のデータには常に属性フラグ部101が付属し、付属光
のデータが演算処理されて更新されるたびに自動的に属
性フラグ部も更新されるので、従来の内部データ形式用
に作成されているプログラムでもそのまま本発明のデー
タ形式を採用しているプロセッサで実行させることが出
来る。演算処理時の属性フラグ部の更新は、全てのフラ
グが対象となるわけではない。第2図に示されている各
フラグの内、201,202゜204は変換時に1が立
つと、もはや逆変換まで0にリセットされることは考え
られない。また、204のフラグ以外は演算処理の途中
で変化することがあり得るが、201,202は1度セ
ットされると、そのまま逆変換までリセットされず。
2叫は1度でも演算処理をされて0以外の数値に更新さ
れれば、直ちにリセットされてそのまま逆変換までセッ
トされない。205のみ演算処理中に何度でもセット/
リセットを繰り返すことがあり得るが5このフラグは単
に指数部の拡張ビットと見なせるので、指数部の演算回
路の拡張で容易に検出回路を実現出来る。201,20
2の検出も、通常のオーバレンジ検出回路と更新前の仮
数部の符号を記憶する回路で容易に構成出来る。
第2図で示した5つのフラグは、必ずしも全部が必要で
ある訳ではなく、少なくとも201゜202.204が
あれば、本発明の意図していることは達成される。実際
の数値データ処理としては、あえて−〇を+0と区別す
る必要性は低く、またフラグ205を立てる必要がある
ようなデータがきた時にはオーバレンジの扱いをしてフ
ラグ201.202で処理されても、極大値領域のダイ
ナミックレンジが僅かに制限されるだけであり、大きな
制約条件にはならない。また、これらのフラグ以外のデ
ータの属性、例えば+0やデータの正負1を示すフラグ
等を追加しても構わないことば言うまでもない。さらに
、いままでに述べた相互変換処理の手順や変換処理用に
設けたハードウェア等については、その内容が本発明の
範囲を限定するものではなく、−例を示したにすぎない
第3図は第1図の101の具体的な実現例を示した他の
実施例である。第2図で述べた各フラグが示す属性は、
互いに排他的な性質であり、複数の属性が同時に成立す
ることはあり得ないことから、各属性をコード化するこ
ともできる。第3図はその属性コードの一例を示したも
のである。第2図で述べた5種類の属性とそれ以外の場
合との計6種類の状態を表現するためには、第3図(a
)に示すように3ビツトのコードが必要である。第3図
(b)は具体的なコード割り付けの一例である。第2図
の201に相当する負の無限大にコード001を、第2
図の202に相当する正の無限大にコード010を、第
2図の203に相当する−0にコード011を、第2図
の204に相当する非数にコード100を、第2図の2
05に相当する拡張レンジにコード101を割当ててい
る。
尚、コード110と111は未使用である。第3図にお
けるデータ形式の相互変換方法及び各属性コードの具体
的な内容や性質は、第2図の実施例と同じである。ただ
し、各属性がコード化されているので、第9図に示すよ
うにフラグレジスタ814に属性フラグをセット/リセ
ットするためには901の属性フラグデコーダが必要に
なる。
また属性をコード化したことにより、815は3ビツト
分セット/リセット機能のみであり、801゜804.
807の各バスも3本である。第10図は901の属性
フラグデコーダの具体的な論理回路例である。814の
各属性フラグビットにセラ1−(S)/リセット(R)
信号を供給している。
本実施例によれば、十〇やデータの正負等の属性は、他
の属性と同時に成立することがあり得るので、このよう
な属性を必要とする場合は本実施例は適用出来ないが、
第2図よりも少ないビット数で済むという効果がある。
第4図は本発明の第3の実施例である。本実施例では、
第1図の101に相当する役割を401の1ビツトに持
たせている。本実施例も基本的には第3図の実施例と同
様、各属性をコード化する手法であるが、付加するビッ
トは1ビツトのみで、指数部を構成する104.105
を属性表示コードにも利用している。具体的な属性のコ
ード化例を第14図に示す。すなわち、属性ビット40
1が0の時は第2図の各フラグが全てクリアされている
状態を意味し、104,105は通常の指数を表現して
いるが一度401が1になると104゜105は属性コ
ードとなる。第14図では属性コード割当ての一例とし
て、負の無限大に符号ビット104=O,指数部105
=OOOOOOOを。
正の無限大に符号ビット104=O,指数部105=0
000001を、−〇に符号ビニ7ト104=O1指数
部105=OOOOO10を、非数に符号ビット104
=O,指数部105 =OOOOO1(を、拡張レンジ
に符号ビット104=O,指数部105=OOOOO1
1を割当てている。また、第2図の実施例のように各属
性をフラグ化することも可能なことは言うまでもない。
本実施例によるデータ形式の相互変換のためには、81
4のフラグレジスタのデコーダを第11図の1101に
示すように804の他に806も入力することが必要で
あり、その具体的な論理回路例は第12図のようになる
。また指数部を属性コードに使用することから、815
は第4図の401の1ビツト分のセット/リセット機能
のみであり、801,804゜807の各バスも1本で
ある。本実施例は、第14図に示したような属性、すな
わちこれらの属性のデータがもはや指数部の情報が意味
を持たなくなるという属性のみで構成されている場合に
限定される。従って例えばデータの正負等の属性は、指
数部も意味があるのでこの手法は適用出来ないが(−0
については指数部は意味を持つが、属性コードによって
必要な情報は失われていない)、新たに追加するビット
が1ビツトで済むという効果がある。さらに第15図に
示すような割り付けを行なうと、属性ビット401を指
数の拡張ビットとしても利用出来、−ω、+ωl  O
+非数に割当てられたビットパターン以外のコードを全
てダイナミックレンジの拡張に割当てることが出来る。
〔発明の効果〕
本発明によれば、従来機種との互換性を保ったまま異な
るデータ形式間の相互変換を正確に実現出来るという効
果がある。
【図面の簡単な説明】
第1図は本発明の属性ビット部を付加したプロセッサ内
部のデータを表した図であり、第2図は第1図の101
に示されたデータの属性情報をフラグによって表現した
実施例であり、第3図は第1図の101に示されたデー
タの属性情報をコードによって表現した他の実施例であ
り、第4図は第1図の101に示されたデータの属性情
報を1ビツトの追加と指数部ビットを利用した本発明の
第3の実施例であり、第5図は単精度のIEEE754
標準データ形式を示した図であり、第6図は単精度のI
EEE754標準データ形式と同じピント長を持つ従来
例のデータ形式を示した図であり、第7図は本発明のデ
ータ形式を使用した信号処理プロセッサの一構成例であ
り、第8図は第2図の実施例でデータ形式の相互変換を
行うために第7図中の707の部分を詳細に描いたブロ
ック図であり、第9図は第3図の実施例でデータ形式の
相互変換を行うために第7図中の707の部分を詳細に
描いたブロック図であり、第10図は第9図中の901
の属性フラグデコーダの具体的な論理回路例であり、第
11図は第4図の実施例でデータ形式の相互変換を行う
ために第7図中の707の部分を詳細に描いたブロック
図であり、第12図は第11図中の1101の属性フラ
グデコーダの具体的な論理回路例であり、第13図は単
精度のIEEE754標準データ形式と従来例のデータ
形式との定義を比較した図表であり、第14図は第4図
で示された本発明の第3の実施例において、属性ビット
401と指数ビット104,105で表現した属性コー
ドの具体的な割当て例であり、第15図は第4図で示さ
れた本発明の第3の実施例において、属性ビット401
と指数ビット104゜105で割当てられた属性コード
以外のコードをダイナミックレンジの拡大に利用した例
である。 101・・・プロセッサ内部のデータ形式の内の本発明
の基本部分である属性ビット部、102・・・プロセッ
サ内部のデータ形式の内の浮動小数点データの仮数部の
符号ビット、103・・・102と合わせて24ビツト
からなるプロセッサ内部のデータ形式の内の2の補数表
現された浮動小数点データの仮数部を構成する部分、1
04・・・プロセッサ内部のデータ形式の内の浮動小数
点データの指数部の符号ビット、105・・・104と
合わせて8ビツトからなるプロセッサ内部のデータ形式
の内の2の補数表現された浮動小数点データの指数部を
構成する部分、201・・・データが負の無限大である
ことを示すフラグ、202・・・データが正の無限大で
あることを示すフラグ、203・・・データがマイナス
ゼロであることを示すフラグ、204・・・データが非
数であることを示すフラグ、205・・データの指数部
が2の128乗であることを示すフラグ、401・・・
第4図で示された本発明の第3の実施例の属性ビット、
601・・・指数部の正負を示す符号ビット、602・
・601と合わせて2の補数表現の計8ビット長の指数
部、603・・・仮数部の正負を示す符号ビット、60
4・・・603と合わせて2の補数表現の計23ビット
長の仮数部、701・・係数データを格納している係数
ROM、702・・データを一時格納するためのデータ
RAM、703・・浮動小数点乗算器、704・・・乗
算結果を格納するレジスタ、705・・・浮動小数点A
LU、706・アキュムレータ群、707・・・プロセ
ッサ内部のデータ形式とI EEE標準データ形式との
相互変換用の回路、708・外部からの入力データを一
時ランチするレジスタ、709・・・外部へ出力するデ
ータを一時ラッチするレジスタ、710・・・複数の外
部I10ピン、711,712,713・・・・・・多
目的のデータバス、714・・706から705゜70
7へデータを転送するためのデータバス、715・・・
707から706へデータを転送するためのデータバス
、716・・・704から706へデータを転送するた
めのデータバス、801・−第7図中のデータバス71
2の内、属性ビット部を転送する部分、802・・・第
7図中のデータバス712の内、符号ビットを含めた仮
数部を転送する部分。 803・・・第7図中のデータバス712の内、指数部
を転送する部分、804・・・第7図中のデータバス7
14の内、属性ビット部を転送する部分、805・・・
第7図中のデータバス714の内、符号ビットを含めた
仮数部を転送する部分、806・・第7図中のデータバ
ス714の内、指数部を転送する部分、807・・・第
7図中のデータバス715の内、属性ビット部を転送す
る部分、808・・・第7図中のデータバス715の内
、符号ビットを含めた仮数部を転送する部分、809・
・・第7図中のデータバス715の内、指数部を転送す
る部分。 810は指数部8ビツトの算術/比較演算を行う回路、
811・・・810の演算結果がゼロである時に立つフ
ラグビットEZと、指数部のMSB(最上位ビット)を
反映するフラグビットENとからなるフラグレジスタ、
812・・・符号ビットを除いた仮数部23ビツトの算
術/シフト演算を行う回路、813・・・812の演算
結果がゼロである時に立つフラグZと、仮数部の符号ビ
ットをそのまま反映するフラグNから成るフラグレジス
タ、814・・804から転送されて来た属性フラグを
反映するフラグレジスタ、815・・・第7図中706
の指定されたアキュムレータの指定された属性フラグを
セット/リセットする回路、816・・・符号ビットを
除いた仮数部23ビツトの入力を左右1ビットシフト機
能を持つシフト回路、901 、1101・・・属性フ
ラグデコーダ、fool、1002,1003゜100
4.1005,1201,1202,1203゜120
4.1205.1206・・・インバータとANDゲー
トからなる各属性をデコードするための論理回路。 第 記 第 図 第 1、.3 図 第 の 拓 凹 (cL) (b) 第 図 第 7 凹 ヰ 図 第 第 1θ 口 /1 第 12 図 礫 /4 図 鳩 5 圀

Claims (1)

  1. 【特許請求の範囲】 1、データを保持するレジスタに、格納されているデー
    タの属性を示す情報を保持する手段を付加したことを特
    徴とする情報処理装置。 2、データの属性を示す情報には、少なくとも正の無限
    大、負の無限大、非数であるかどうかの判別機能を持つ
    ことを特徴とする特許請求の範囲第1項記載の情報処理
    装置。 3、特許請求の範囲第2項記載のデータの属性を示す情
    報は、複数のフラグによつて保持されることを特徴とす
    る特許請求の範囲第1項記載の情報処理装置。 4、特許請求の範囲第2項記載のデータの属性を示す情
    報は、複数のビットから成るコードによつて保持される
    ことを特徴とする特許請求の範囲第1項記載の情報処理
    装置。 5、特許請求の範囲第2項記載のデータの属性を示す情
    報は、ビット拡張された指数部のコードによつて保持さ
    れることを特徴とする特許請求の範囲第1項記載の情報
    処理装置。6、データが2の補数で表現された符号付き
    の仮数部と、2の補数で表現された符号付きの指数部と
    からなる浮動小数点形式で表現されたデータであること
    を特徴とする特許請求の範囲第1項又は第2項記載の情
    報処理装置。
JP1268931A 1989-10-18 1989-10-18 情報処理装置 Pending JPH03131924A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1268931A JPH03131924A (ja) 1989-10-18 1989-10-18 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1268931A JPH03131924A (ja) 1989-10-18 1989-10-18 情報処理装置

Publications (1)

Publication Number Publication Date
JPH03131924A true JPH03131924A (ja) 1991-06-05

Family

ID=17465270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1268931A Pending JPH03131924A (ja) 1989-10-18 1989-10-18 情報処理装置

Country Status (1)

Country Link
JP (1) JPH03131924A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204718A (ja) * 1990-01-06 1991-09-06 Fujitsu Ltd 情報処理装置
JPH11266140A (ja) * 1997-12-23 1999-09-28 Koninkl Philips Electronics Nv ディジタルフィルタを実現するプログラム可能な回路
WO1999053399A1 (en) * 1998-04-09 1999-10-21 Lockheed Martin Corporation Methods and apparatus for performing fast floating point operations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03204718A (ja) * 1990-01-06 1991-09-06 Fujitsu Ltd 情報処理装置
JPH11266140A (ja) * 1997-12-23 1999-09-28 Koninkl Philips Electronics Nv ディジタルフィルタを実現するプログラム可能な回路
WO1999053399A1 (en) * 1998-04-09 1999-10-21 Lockheed Martin Corporation Methods and apparatus for performing fast floating point operations

Similar Documents

Publication Publication Date Title
JP3541066B2 (ja) コンピュータにおいて除算および平方根計算を実施するための方法および装置
US5892697A (en) Method and apparatus for handling overflow and underflow in processing floating-point numbers
JP2557190B2 (ja) 引き数簡約の最適化システム
JP3178746B2 (ja) 浮動小数点数のためのフォーマット変換装置
JP2006154979A (ja) 浮動小数点数演算回路
JP3313560B2 (ja) 浮動小数点演算処理装置
CN116643718B (zh) 一种流水线结构的浮点融合乘加装置、方法及处理器
JP6290886B2 (ja) 装飾構成に基づくモーダル区間計算
JPH03131924A (ja) 情報処理装置
US20040117421A1 (en) Methods and systems for computing floating-point intervals
US20060179098A1 (en) System and method for reduction of leading zero detect for decimal floating point numbers
KR920003493B1 (ko) 부동 소숫점 표기를 기초로 하는 연산회로
Sasidharan et al. VHDL Implementation of IEEE 754 floating point unit
WO2024078033A1 (zh) 一种浮点数平方根计算方法及浮点数计算模块
JP3693748B2 (ja) 制御可能な幅のorゲート
JP2001043067A (ja) 演算装置
CN117519638A (zh) 一种浮点数运算电路及方法
JPH0216632A (ja) 固定小数点数−浮動小数点数変換回路
JP2555135B2 (ja) 演算回路
JPS62187933A (ja) 加減算装置
JP2761145B2 (ja) 開平演算装置
JP2974683B2 (ja) 数値データ管理処理方式
JPH0778724B2 (ja) 除算器
JP2792998B2 (ja) 加減算回路を用いた型変換装置
JPH03100722A (ja) 精度変換命令の処理方式