JPH10105377A - 浮動小数点データ処理手段 - Google Patents

浮動小数点データ処理手段

Info

Publication number
JPH10105377A
JPH10105377A JP9237223A JP23722397A JPH10105377A JP H10105377 A JPH10105377 A JP H10105377A JP 9237223 A JP9237223 A JP 9237223A JP 23722397 A JP23722397 A JP 23722397A JP H10105377 A JPH10105377 A JP H10105377A
Authority
JP
Japan
Prior art keywords
floating
floating point
bit
point format
format
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
JP9237223A
Other languages
English (en)
Inventor
Robert Carter
カーター ロバート
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.)
Siemens PLC
Original Assignee
Siemens PLC
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 Siemens PLC filed Critical Siemens PLC
Publication of JPH10105377A publication Critical patent/JPH10105377A/ja
Pending 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/02Comparing digital values
    • G06F7/026Magnitude comparison, i.e. determining the relative order of operands based on their numerical value, e.g. window comparator
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/38Indexing scheme relating to groups G06F7/38 - G06F7/575
    • G06F2207/3804Details
    • G06F2207/3808Details concerning the type of numbers or the way they are handled
    • G06F2207/3832Less usual number representations

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Nonlinear Science (AREA)
  • Advance Control (AREA)
  • Control Of Ac Motors In General (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 マイクロプロセッサシステムに使用され交流
モータドライブ技術に応用できる浮動小数点データ処理
手段を得る。 【解決手段】 使用されるフォーマットは符号ビット、
7ビット符号付指数部および8ビット仮数部を含んでい
る。マイクロプロセッサシステムのメモリ内へマップさ
れているレジスタ28,32,52を使用して、ゲート
アレイ内で数学的機能が実行され、個々の数学的機能は
レジスタの個々の選択によって決まる。浮動小数点数の
無符号整数比較を使用して正しい結果が得られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、マイクロプロセッ
サシステムと一緒に使用する浮動小数点データ処理手段
に関し、特に低精度浮動小数点フォーマットに関する。
【0002】本発明は、例えば、小型モータが0.5A
の電流を引き入れることができ大型モータが200Aの
電流を引き入れることができ、このようなモータの周波
数範囲が非常に大きい、交流モータドライブに応用され
る。
【0003】
【従来の技術】周知の多くの浮動小数点方式が純粋なソ
フトウェアとして実現されている。これは低速過程であ
り、典型的には演算当たり数十もしくは数百マイクロ秒
を要する。
【0004】現存するマイクロコントローラは整数演算
を使用する。多くの制御応用において、桁あふれを回避
しながら精度を維持するために、変数の範囲により計算
ステップ毎にスケーリング計算が生じる。浮動小数点変
数および演算によりこの問題が解決される。
【0005】浮動小数点数学ハードウェアは広く受け入
れられているIEEEフォーマットに利用することがで
きる。前記したように、このフォーマットの標準精度は
4もしくは5バイト記憶装置を必要とする。これらの数
の範囲および精度は大概の制御必要条件を遥かに越える
ものである。数学的機能を実施するハードウェアは複雑
で動作が遅い。各オペランドを浮動小数点ユニットへロ
ードして結果を出すのにいくつかのメモリ演算が必要で
ある。
【0006】浮動小数点比較、例えば、制御ステートメ
ントif(A<B)then、には完全な浮動小数点減
算および結果の符号検査が必要である。この非常に一般
的な制御機能は時間を消費するものとなる。
【0007】
【発明が解決しようとする課題】本発明の目的は、従来
技術で経験する前記欠点の無い浮動小数点フォーマット
で演算を実行する手段を提供することである。
【0008】
【課題を解決するための手段】本発明に従って、nビッ
トのデータからなり、nは周知のフォーマットよりも実
質的に小さい、浮動小数点フォーマットに関する演算を
実行する手段が提供され、前記手段は前記フォーマット
を組合せ論的に演算するデータ処理手段である。
【0009】フォーマットは符号ビット、7ビット符号
付指数部、および8ビット仮数部からなる。
【0010】フォーマットは浮動小数点数の無符号整数
比較により正しい結果が得られるように設計される。
【0011】データプロセッサは関連するゲートアレイ
を有するマイクロプロセッサシステムとすることができ
る。
【0012】
【発明の実施の形態】浮動小数点フォーマットは符号ビ
ット、7ビット符号付指数部、および8ビット仮数部を
有している。仮数部は仮定された第9ビットを有する。
こうして得られる16ビットは1つのメモリ位置すなわ
ち16ビットマイクロコントローラ内のデータ転送動作
である。さらに浮動小数点数の無符号整数比較が正しく
なければならない場合には、下記のフォーマットとな
る。 15ビットは符号ビット、 1=正。0ならば、他のビ
ットを全て反転する。 14ビットは指数部符号、 1=正。 13−8ビットは指数部、 指数部全体が2の補数であ
り、符号ビットは反転されている。 7−0ビットは仮数部、 有効な9ビットが仮数部で
ある。この数に256を加算する。 このフォーマットの例は次のようである。 FFFFは+(255+256)/256* 63=+
1.841E19 (考えられる最大数); C000は+(0+256)/256* 0 =+1;8
000は+(0+256)/256* -64 =+5.4
21E−20 (考えられる最小数); −1は3FFF ΠはC192=+(146+256)* 1 =3.14
0625 (0.03%誤差)。 計算できる数の範囲は:0.2%の精度で、±−5.4
x10-20 から1.84x1019全ての数および計算結
果が1/512と1/1024との間まで正しく0.2
%の基本的精度が得られる。
【0013】この浮動小数点フォーマットの実施例は関
連するマイクロコントローラのメモリ範囲内にレジスタ
がマップされているゲートアレイ内のある範囲の数学的
機能により実行される。この実施例は全て組合せ論的に
機能し、機能はレジスタの選択により決定される。例え
ば、 2つの数を加算するには、 浮動小数点Aアキュムレータへオペランド1を書き込
み、 浮動小数点B加算レジスタへオペランド2を書き込み、 浮動小数点Aアキュムレータから結果を読み取る。 これらのレジスタはメモリマップされており、非常に高
速のデータスループットとなる。
【0014】精度が低下するため、±* /機能を実行す
るのに僅か3Kのゲートしか必要ではない。さらに、浮
動小数点から整数および整数から浮動小数点への変換機
能が統合される。
【0015】マルチステップ計算をスピードアップする
ために、計算の合間にAアキュムレータに書き込みが行
われなければ、前の計算結果がAアキュムレータへラッ
チされBレジスタに書き込みを行える速度で計算が実行
される。したがって、持続可能な5メガフロップ性能が
達成される。
【0016】図1を参照して、モータドライブシステム
へのハイウェイ接続4を有するマイクロコントローラ2
を示す。マイクロコントローラ2はフラッシュ浮動小数
点プロセッサを含むゲートアレイ6に接続されている。
ゲートアレイ6への接続は4ビットアドレスハイウェイ
8および16ビットデータハイウェイ10によりなされ
る。さらに2つの制御信号NRDおよびNWRがマイク
ロコントローラ2からゲートアレイ6へ与えられる。フ
ラッシュ浮動小数点プロセッサを含むゲートアレイはマ
イクロコントローラのメモリスペースへマップされ、こ
れは組合せ論的システムであるためマイクロコントロー
ラとフラッシュ浮動小数点プロセッサ間のクロック接続
は不要である。
【0017】図2を参照して、フラッシュ浮動小数点プ
ロセッサの実施例を示す。データバス22が第1のコン
バータ24、第1のマルチプレクサ26およびBレジス
タ28の入力に接続されている。第1のコンバータ24
は第1のマルチプレクサ26の別の入力に接続された出
力を有している。第1のマルチプレクサ26の出力は第
2のマルチプレクサ30の入力に接続され、その出力は
Aレジスタ32に接続されている。レジスタ28および
32の出力は演算装置に接続され、その出力は第2のマ
ルチプレクサ30の別の入力へ帰還されている。演算装
置34の出力は第2のコンバータ36および第3のマル
チプレクサ38の入力にも与えられる。第2のコンバー
タ36の出力はマルチプレクサ38の別の入力へ与えら
れる。第3のマルチプレクサ38からの出力信号はRE
AD A反転(バー)信号の制御の元でデータバス40
へ送られる。
【0018】WRITE AおよびB信号は関連するラ
ッチングおよびゲーティング回路42−46によりAお
よびBレジスタ32,28および第2のマルチプレクサ
30へ与えられる。A−INT/A−FLO制御信号が
ライン48を介して第1のマルチプレクサ26および第
3のマルチプレクサ38へ与えられる。アドレス情報が
ハイウェイ50を介して機能レジスタ52へ通され、そ
れはWRITE B制御信号を受信して2つの出力信号
MULDIV,SUBDIVを発生し、それは演算装置
34へ与えられる。
【0019】INT/FLOで示すコンバータ24はハ
イウェイ22上の16ビット無符号整数と、ライン48
上のアドレス情報(A−INT/A−FLO)を使用し
てデータバスからの浮動小数点数を選択するかあるいは
INT/FLOからの整数を選択するかを決定する浮動
小数点フォーマットマルチプレクサ26間のハードウェ
アコンバータであり、したがってコンバータ24により
無符号整数を直接フラッシュ浮動小数点プロセッサへ書
き込むことができる。
【0020】マルチプレクサ30はデータバス内容もし
くはAレジスタ32へ書き込まれる前の浮動小数点出力
を選択する。Bレジスタ28が連続して2回書き込まれ
ると、新しいオペランドがBレジスタ28へ書き込まれ
るのと同時に前の浮動小数点出力がAレジスタ32へ書
き込まれる。
【0021】浮動小数点演算装置34はその入力がラッ
チされているため出力をラッチする必要がなく、したが
ってレジスタ28,32の一方が書き込まれるまで出力
は安定のままとされる。FLO/INTコンバータ36
は浮動小数点フォーマットと16ビット無符号整数との
間に配置されたハードウェアコンバータである。このコ
ンバータ36および演算装置34は完全に組合せ論的で
あり、いかなる種類のラッチ、フリップフロップもしく
はループ構造も含まない。
【0022】図3を参照して、図2の演算装置34のブ
ロック図を示す。演算装置は浮動小数点加算器60、浮
動小数点減算器62、浮動小数点乗算器64および浮動
小数点除算器66を含み、それらの全てがハイウェイ6
8を介したAオペランド信号およびハイウェイ70を介
したBオペランド信号を受信する。加算器60および減
算器62の出力はマルチプレクサ72へ与えられ、乗算
器64および除算器66の出力はマルチプレクサ74の
入力へ与えられる。マルチプレクサ72および74の出
力は演算装置の出力信号を発生する別のマルチプレクサ
76へ与えられる。マルチプレクサ72および74はS
UBDIV制御信号を受信し、マルチプレクサ76はM
ULDIV制御信号を受信する。これらの信号を図4の
表に示し、一緒に演算装置の機能および演算装置からの
必要な出力が決定される。
【0023】当業者ならば、本発明の別の実施例を考え
られるものと思われ、それは特許請求の範囲内に入る。
【図面の簡単な説明】
【図1】マイクロコントローラ、ゲートアレイおよびフ
ラッシュ浮動小数点プロセッサを含むシステムのブロッ
ク図。
【図2】フラッシュ浮動小数点プロセッサの1実施例の
ブロック図。
【図3】演算装置のブロック図。
【図4】演算装置の機能表。
【符号の説明】
2 マイクロコントローラ 4,50,68,70 ハイウェイ 6 ゲートアレイ 8 4ビットアドレスハイウェイ 10 16ビットデータハイウェイ 22,40 データバス 24,36 コンバータ 26,30,38,72,74,76 マルチプレクサ 28,32 レジスタ 34 演算装置 42−46 ラッチングおよびゲーティング回路 52 機能レジスタ 60 浮動小数点加算器 62 浮動小数点減算器 64 浮動小数点乗算器 66 浮動小数点除算器
【手続補正書】
【提出日】平成9年10月27日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正内容】
【0012】
【発明の実施の形態】浮動小数点フォーマットは符号ビ
ット、7ビット符号付指数部、および8ビット仮数部を
有している。仮数部は仮定された第9ビットを有する。
こうして得られる16ビットは1つのメモリ位置すなわ
ち16ビットマイクロコントローラ内のデータ転送動作
である。さらに浮動小数点数の無符号整数比較が正しく
なければならない場合には、下記のフォーマットとな
る。 15ビットは符号ビット、 1=正。0ならば、他のビ
ットを全て反転する。 14ビットは指数部符号、 1=正。 13−8ビットは指数部、 指数部全体が2の補数であ
り、符号ビットは反転されている。 7−0ビットは仮数部、 有効な9ビットが仮数部で
ある。この数に256を加算する。 このフォーマットの例は次のようである。 FFFFは+(255+256)/256*263=+
1.841E19 (考えられる最大数); C000は+(0+256)/256*2=+1;8
000は+(0+256)/256*2−64=+5.
421E−20 (考えられる最小数); −1は3FFF ΠはC192=+(146+256)/256*2
3.140625 (0.03%誤差)。 計算できる数の範囲は:0.2%の精度で、±−5.4
x10−20から1.84x1019全ての数および計
算結果が1/512と1/1024との間まで正しく
0.2%の基本的精度が得られる。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 nが周知のフォーマットよりも実質的に
    小さいnビットのデータからなる浮動小数点フォーマッ
    トに関する演算を実行する手段であって、該手段は前記
    フォーマットを組合せ論的に演算するデータプロセッサ
    である、演算実行手段。
  2. 【請求項2】 請求項1記載の浮動小数点フォーマット
    に関する演算を実行する手段であって、前記データプロ
    セッサはゲートアレイを有するマイクロプロセッサシス
    テムである、演算実行手段。
  3. 【請求項3】 請求項1もしくは2記載の浮動小数点フ
    ォーマットに関する演算を実行する手段であって、前記
    浮動小数点フォーマットは符号ビット、7ビット符号付
    指数部、および8ビット仮数部からなる、演算実行手
    段。
  4. 【請求項4】 請求項3記載の浮動小数点フォーマット
    に関する演算を実行する手段であって、前記フォーマッ
    トは浮動小数点数の無符号整数比較を使用して正しい結
    果を与える、演算実行手段。
  5. 【請求項5】 請求項2,3もしくは4記載の浮動小数
    点フォーマットに関する演算を実行する手段であって、
    マイクロプロセッサシステムのメモリ内へマップされて
    いるレジスタを使用してゲートアレイ内で数学的機能が
    実行される、演算実行手段。
  6. 【請求項6】 請求項5記載の浮動小数点フォーマット
    に関する演算を実行する手段であって、数学的機能はレ
    ジスタの個々の選択により実行される、演算実行手段。
  7. 【請求項7】 請求項6記載の浮動小数点フォーマット
    に関する演算を実行する手段であって、計算の合間に第
    1のレジスタへ書き込みが行われない場合には、前の計
    算結果が第1のレジスタへラッチされ、第2のレジスタ
    へ書き込みを行える速度で計算機が実行される、演算実
    行手段。
JP9237223A 1996-09-02 1997-09-02 浮動小数点データ処理手段 Pending JPH10105377A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB9618262.1A GB9618262D0 (en) 1996-09-02 1996-09-02 Floating point number data processing means for microcontrollers
GB96182621 1996-09-02

Publications (1)

Publication Number Publication Date
JPH10105377A true JPH10105377A (ja) 1998-04-24

Family

ID=10799267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9237223A Pending JPH10105377A (ja) 1996-09-02 1997-09-02 浮動小数点データ処理手段

Country Status (4)

Country Link
EP (1) EP0827068B1 (ja)
JP (1) JPH10105377A (ja)
DE (1) DE69725529T2 (ja)
GB (1) GB9618262D0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023040014A (ja) * 2009-06-19 2023-03-22 シンギュラー コンピューティング、エルエルシー コンパクトな演算処理要素を用いたプロセッシング

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567209B (zh) * 2010-12-21 2015-03-04 厦门市美亚柏科信息股份有限公司 闪存芯片数据解析方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3825895A (en) * 1973-05-14 1974-07-23 Amdahl Corp Operand comparator
US5081573A (en) * 1984-12-03 1992-01-14 Floating Point Systems, Inc. Parallel processing system
US4677610A (en) * 1985-10-07 1987-06-30 Gte Communication Systems Corporation Three-port conference circuit for use in a digital telephone system
US5027272A (en) * 1988-01-28 1991-06-25 Weitek Corporation Method and apparatus for performing double precision vector operations on a coprocessor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023040014A (ja) * 2009-06-19 2023-03-22 シンギュラー コンピューティング、エルエルシー コンパクトな演算処理要素を用いたプロセッシング
US12299411B2 (en) 2009-06-19 2025-05-13 Singular Computing Llc Processing with compact arithmetic processing element

Also Published As

Publication number Publication date
EP0827068A3 (en) 1999-05-19
EP0827068B1 (en) 2003-10-15
DE69725529T2 (de) 2004-05-13
EP0827068A2 (en) 1998-03-04
DE69725529D1 (de) 2003-11-20
GB9618262D0 (en) 1996-10-16

Similar Documents

Publication Publication Date Title
US5862065A (en) Method and circuit for fast generation of zero flag condition code in a microprocessor-based computer
US6360241B1 (en) Computer method and apparatus for division and square root operations using signed digit
US4949291A (en) Apparatus and method for converting floating point data formats in a microprocessor
JPH02138620A (ja) 数値量を計算する方法および数値データ処理装置
US5341320A (en) Method for rapidly processing floating-point operations which involve exceptions
US5426600A (en) Double precision division circuit and method for digital signal processor
JPH0542011B2 (ja)
JPH0470662B2 (ja)
US4203157A (en) Carry anticipator circuit and method
US4905178A (en) Fast shifter method and structure
EP0234495B1 (en) Arithmetic circuit capable of executing floating point operations and fixed point operations
EP0351829A2 (en) Integer division circuit provided with a overflow detection circuit
JPS6014338A (ja) 計算機システムにおける分岐機構
US6233595B1 (en) Fast multiplication of floating point values and integer powers of two
GB2120426A (en) Operation processing apparatus
US6516332B1 (en) Floating point number data processing means
US6219684B1 (en) Optimized rounding in underflow handlers
JPH03135627A (ja) ファジイ演算装置
JPH10105377A (ja) 浮動小数点データ処理手段
JPH06222982A (ja) オフセット合計を計算するデータ処理システムとその方法
GB2410097A (en) Constant generation in floating point processing
JPH10187416A (ja) 浮動小数点演算装置
EP0265948B1 (en) Data processor capable of immediately calculating branch address in relative address branch
US6615228B1 (en) Selection based rounding system and method for floating point operations
US5867722A (en) Sticky bit detector for a floating-point processor