JPH0553759A - 固定小数点演算ユニツト - Google Patents

固定小数点演算ユニツト

Info

Publication number
JPH0553759A
JPH0553759A JP3209698A JP20969891A JPH0553759A JP H0553759 A JPH0553759 A JP H0553759A JP 3209698 A JP3209698 A JP 3209698A JP 20969891 A JP20969891 A JP 20969891A JP H0553759 A JPH0553759 A JP H0553759A
Authority
JP
Japan
Prior art keywords
shift amount
normalization
register
input
data
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
JP3209698A
Other languages
English (en)
Inventor
Junko Sunaga
順子 須永
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 JP3209698A priority Critical patent/JPH0553759A/ja
Priority to KR1019920015102A priority patent/KR960012664B1/ko
Publication of JPH0553759A publication Critical patent/JPH0553759A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【構成】入力レジスタ7に保持されている入力データに
対する正規化処理用のシフト量を検出する正規化用シフ
ト量検出回路11を備える。 【効果】関数計算に必要不可欠な正規化処理において、
大幅に処理時間を短縮することができる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は固定小数点演算ユニット
に関し、特に固定小数点演算プロセッサの固定小数点演
算ユニットに関する。
【0002】
【従来の技術】従来の固定小数点演算ユニットは、図4
に示すように、レジスタ間のデータ転送用のデータバス
1と、入力レジスタ6,7の内容を入力としプログラム
で指定した演算を実行する固定小数点データの論理演算
回路部(ALU)2と、ALU2における演算結果の状
態を保持するフラグレジスタ3と、ALU2における演
算結果を保持する演算結果出力用の出力レジスタ4,5
と、ALU2への入力データとしてデータバス1に出力
されたデータを保持する入力レジスタ6と、ALU2へ
の入力データとして出力レジスタ4または5に保持され
たデータを保持する入力レジスタ7と、入力レジスタ6
または7のデータに対しシフト量設定レジスタ9により
指定されたシフト量だけ左右シフト処理を行なうバレル
シフタ8と、データバス1に接続しバレルシフタ8での
シフト量を指定するシフト量設定レジスタ9と、入力レ
ジスタ6,7にそれぞれ保持されているデータのいずれ
をバレルシフタ8に入力するかを選択するマルチプレク
サ10と、各種データ格納用のメモリ13と、メモリ1
3のアドレスを指定するアドレスレジスタ14とを備え
て構成されていた。
【0003】次に、従来の固定小数点演算ユニットの動
作について説明する。
【0004】固定小数点演算プロセッサにおける左右シ
フト処理は、ALU2への入力用レジスタ7の内容に対
してバレルシフタ8により、以下の2つの命令のいずれ
かにより実行される。第一の命令は1ビット左右シフト
命令であり、以下シフトA命令と呼ぶ。第二の命令はシ
フト量設定レジスタ9で指定されたビット数をシフトす
る左右シフト命令であり、以下シフトB命令と呼ぶ。
【0005】図5は、固定小数点演算プロセッサのデー
タフォーマットを示す図である。データ長がnビットの
とき、MSB(第nビット目)がサインビットを示し、
第n−1ビット目が2-1、第n−2ビット目が2-2、第
1ビット目が2-(n-1) の値を示す。
【0006】また、第nビットと第n−1ビットとの間
に小数点が存在する。したがって、扱える数値の範囲は
表1に示すようになる。
【0007】
【表1】
【0008】サインビットが0でこれ以外のビットが全
部1のときが最大値であり、数値は0.99999…を
示す。逆に、サインビットが1でこれ以外のビットが全
部0のときが最小値であり、数値は−1.0を示す。
【0009】次に、固定小数点演算プロセッサによるル
ート(√)関数計算の実行を考える。この関数計算を実
行するためのハードウェアは存在しないので、すべて、
プログラムにより演算ユニットを使用して実現すること
になる。ルート関数計算の実現、すなわち、インプリメ
ンテーションには近似式を使用する。この近似式は通常
は0.5〜1.0の範囲の入力値に対して適用できるも
のである。つまり、入力値が0.5〜1.0の範囲にあ
れば近似式をそのまま適用できるが、範囲外の入力に対
しては工夫を必要とする。また、ルートに限らずログや
エクスポネント等殆どの関数のインプリメンテーション
に関しても同様である。
【0010】ルート関数の近似式を以下に示す。
【0011】y=f(z)=√zここで、zが次式で示
される範囲であるとき、以下のようになる。
【0012】 0.5≦z<1.0 式(1) (1)入力値yが0.5≦x<1.0の場合 z=x,y=f(z) 式(2) (2)入力値yが0.0<x<0.5の場合 2-K・z=x 式(3) (1≦k≦n−2:nはデータのビット長) y=2-K/2・f(z) 式(4) (3)入力値yが0.0の場合 y=0.0 式(5) ここで、式(3)の処理を正規化という。
【0013】図4で示した従来の固定小数点演算ユニッ
トで、以上の処理を実行させる場合の手法について説明
する。
【0014】まず、データ用のメモリ13に、図2に示
すようなデータを予め格納しておく。このデータは式
(4)の2-K/2 の項のデータに相当する。プログラム
によりkの値を求めて、kをアドレスポインタとしてテ
ーブル参照方式で2-K/2の値を得る。
【0015】以上の処理は、図6に示すフローチャート
になり、5ステップに大別できる。
【0016】以上の説明では、入力値の範囲により、
(1)〜(3)と処理の場合分けをしていたが、(1)
の場合はkの値を0と見なせるので、このプログラムで
は、(1),(2)と、(3)とに処理の場合分けをす
る。
【0017】以下に各ステップの処理を説明する。
【0018】ステップ1では、入力レジスタ4等の初期
化を行なう。x=0の場合はy=0としてプログラムを
完了する。
【0019】ステップ2では、x= 2-K・z(0.5
≦z<1.0)となるkの値およびzの値を得る。(正
規化処理) ステップ3では、データ用のメモリ13とkの値とから
テーブル参照方式により2-K/2の値を得る。
【0020】ステップ4では、zの値からf(z)を計
算する。
【0021】ステップ5では、ステップ3とステップ4
との結果から 2-K/2・f(z)を計算し、√xを得
る。
【0022】ここで、ステップ2の正規化処理は、入力
値xの値によって処理サイクル数が異なり、表2に、デ
ータ長をnビットとしたときの処理サイクル数の変化の
例を示す。
【0023】
【表2】
【0024】表2によると、データ長が16ビット、す
なわち、n=16の場合は、ステップ2の正規化処理と
して最長60ステップを要する。高速性が要求される演
算プロセッサにとって、この処理は極めてパフォーマン
スが悪いといえる。
【0025】以上述べたように、従来の固定小数点演算
ユニットでは、関数計算に必須な正規化処理の処理時間
が長くなるという問題点があった。
【0026】
【発明が解決しようとする課題】上述した従来の固定小
数点演算ユニットは、シフトA命令およびシフトB命令
による予め定められたビット数分のシフトシか実行でき
ない、すなわち、バレルシフタに入力される入力レジス
タのデータに対してシフト量を自動的に検出できないた
め、関数計算に必要不可欠な正規化処理において処理時
間が長くなるという欠点を有している。
【0027】本発明の目的は、上記の欠点を解決し、正
規化処理において処理時間を短縮できる固定小数点演算
ユニットを提供することにある。
【0028】
【課題を解決するための手段】本発明の固定小数点演算
ユニットは、固定小数点データの論理演算を実行する論
理演算部と、前記論理演算部への入力データを一時保持
する入力レジスタと、前記入力レジスタに保持されてい
る前記入力データを指定ビット数だけ左右にシフトする
バレルシフタと、前記バレルシフタにおけるシフト量を
指定するシフト量設定レジスタとを備えた固定小数点演
算ユニットにおいて、前記入力レジスタに保持されてい
る前記入力データに対する正規化処理用のシフト量を検
出する正規化用シフト量検出回路を備えて構成されてい
る。
【0029】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0030】図1は、本発明の固定小数点演算ユニット
の一実施例を示すブロック図である。
【0031】本実施例の固定小数点演算ユニットは、図
1に示すように、図4に示す従来例と同様のデータバス
1と、論理演算回路部(ALU)2と、フラグレジスタ
3と、出力レジスタ4,5と、入力レジスタ6,7と、
バレルシフタ8と、シフト量設定レジスタ9と、マルチ
プレクサ10と、メモリ13と、アドレスレジスタ14
とに加えて、入力レジスタ7に保持されれているデータ
に対する正規化処理用のシフト量を検出する正規化用シ
フト量検出回路11と、この検出された正規化用シフト
量をデータバス1に出力するための専用バス12とを備
えて構成されている。
【0032】次に、本実施例の動作について説明する。
【0033】本実施例の固定小数点演算ユニットでは、
正規化用シフト量検出回路11で検出されたシフト量だ
け、バレルシフタ8で入力データをシフトすることによ
り、効率的に正規化処理が実行される。
【0034】本実施例の固定小数点演算ユニットによる
関数処理の一例として、従来例と同様のルート(√)関
数計算の実行について説明する。
【0035】図2は、データ用のメモリ13に予め格納
しておいた正規化処理用のデータの一例を示すメモリマ
ップの図である。このデータは式(4)の2-K/2 の項
のデータに相当する。プログラムによりkの値を求め
て、kをアドレスポインタとしてテーブル参照方式で2
-K/2の値を得る。
【0036】以上の処理は、図3に示すフローチャート
になり、従来例と同様の5ステップに大別できる。
【0037】以下に各ステップの処理を説明する。
【0038】ステップ1では、入力レジスタ4等の初期
化を行なう。x=0の場合はy=0としてプログラムを
完了する。
【0039】ステップ2では、入力レジスタ7に保持さ
れているデータに対する正規化処理用のシフト量を正規
化用シフト量検出回路11で検出し、検出したシフト量
の値をバレルシフタ8に入力し、バレルシフタ8で正規
化処理を実行する。バレルシフタ8の出力として、zの
値を得る。また、正規化用シフト量検出回路11で検出
された検出したシフト量の値はkである。
【0040】ステップ3では、専用バス12から出力さ
れるkの値とデータ用のメモリ13とからテーブル参照
方式により2-K/2の値を得る。
【0041】ステップ4では、zの値からf(z)を計
算する。
【0042】ステップ5では、ステップ3とステップ4
との結果から 2-K/2・f(z)を計算し、√xを得
る。
【0043】ここで、ステップ2における入力レジスタ
7に保持されているデータの値と正規化用シフト量検出
回路11で検出される値との関係は、データ長をnビッ
トとしたときに表3に示すようになる。
【0044】
【表3】
【0045】本実施例におけるステップ2の正規化処理
は、データ長に関係なく1サイクルで終了する。従来の
固定小数点演算ユニットでは、データ長をnビットとし
た場合には4×(n−1)サイクル必要としていたの
で、本実施例の固定小数点演算ユニットでは、従来に比
較して処理時間を1/{4×(n−1)}に短縮するこ
とができる。
【0046】つまり、関数計算に必要不可欠な正規化処
理において、大幅な処理時間の短縮を図ることができ
る。
【0047】
【発明の効果】以上説明したように、本発明の固定小数
点演算ユニットは、入力レジスタに保持されている入力
データに対する正規化処理用のシフト量を検出する正規
化用シフト量検出回路を備えることにより、関数計算に
必要不可欠な正規化処理において、大幅に処理時間を短
縮することができるという効果を有している。
【図面の簡単な説明】
【図1】本発明の固定小数点演算ユニットの一実施例を
示すブロック図である。
【図2】データ用のメモリに予め格納しておいた正規化
処理用のデータの一例を示すメモリマップの図である。
【図3】本実施例の固定小数点演算ユニットにおける動
作の一例を示すフローチャートである。
【図4】従来の固定小数点演算ユニットの一例を示すブ
ロック図である。
【図5】固定小数点演算プロセッサのデータフォーマッ
トの一例を示す図である。
【図6】従来の固定小数点演算ユニットにおける動作の
一例を示すフローチャートである。
【符号の説明】
1 データバス 2 ALU 3 フラグレジスタ 4,5 出力レジスタ 6,7 入力レジスタ 8 バレルシフタ 9 シフト量設定レジスタ 10 マルチプレクサ 11 正規化用シフト量検出回路 12 専用バス 13 メモリ 14 アドレスバス

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 固定小数点データの論理演算を実行する
    論理演算部と、前記論理演算部への入力データを一時保
    持する入力レジスタと、前記入力レジスタに保持されて
    いる前記入力データを指定ビット数だけ左右にシフトす
    るバレルシフタと、前記バレルシフタにおけるシフト量
    を指定するシフト量設定レジスタとを備えた固定小数点
    演算ユニットにおいて、 前記入力レジスタに保持されている前記入力データに対
    する正規化処理用のシフト量を検出する正規化用シフト
    量検出回路を備えることを特徴とする固定小数点演算ユ
    ニット。
  2. 【請求項2】 前記正規化処理はルート関数の計算にお
    ける近似式y=f(z)=√zの入力値yが0.0<x
    <0.5の場合における近似式y=2-K/2・f(z)の
    係数kを前記正規化用シフト量検出回路の出力とし、前
    記係数kを前記バレルシフタの前記シフト量として指定
    し、前記バレルシフタは前記シフト量のシフトを行なっ
    て前記zを出力することを特徴とする請求項1記載の固
    定小数点演算ユニット。
JP3209698A 1991-08-22 1991-08-22 固定小数点演算ユニツト Pending JPH0553759A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3209698A JPH0553759A (ja) 1991-08-22 1991-08-22 固定小数点演算ユニツト
KR1019920015102A KR960012664B1 (ko) 1991-08-22 1992-08-22 정규화를 위한 시프트-넘버 검출 회로를 구비한 고정 소수점 디지탈 신호 처리기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3209698A JPH0553759A (ja) 1991-08-22 1991-08-22 固定小数点演算ユニツト

Publications (1)

Publication Number Publication Date
JPH0553759A true JPH0553759A (ja) 1993-03-05

Family

ID=16577155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3209698A Pending JPH0553759A (ja) 1991-08-22 1991-08-22 固定小数点演算ユニツト

Country Status (2)

Country Link
JP (1) JPH0553759A (ja)
KR (1) KR960012664B1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225671A (ja) * 1993-12-06 1995-08-22 Internatl Business Mach Corp <Ibm> 結果正規化機構と動作の方法
KR100443395B1 (ko) * 2000-11-13 2004-08-23 엔이씨 일렉트로닉스 가부시키가이샤 축소된 회로 규모로 고정 소수점 데이터를 생성하는 회로및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07225671A (ja) * 1993-12-06 1995-08-22 Internatl Business Mach Corp <Ibm> 結果正規化機構と動作の方法
KR100443395B1 (ko) * 2000-11-13 2004-08-23 엔이씨 일렉트로닉스 가부시키가이샤 축소된 회로 규모로 고정 소수점 데이터를 생성하는 회로및 방법

Also Published As

Publication number Publication date
KR930004883A (ko) 1993-03-23
KR960012664B1 (ko) 1996-09-23

Similar Documents

Publication Publication Date Title
KR102447636B1 (ko) 부동 소수점 수를 누산하기 위한 산술 연산을 수행하는 장치 및 방법
US6099158A (en) Apparatus and methods for execution of computer instructions
US6128726A (en) Accurate high speed digital signal processor
JPH07168697A (ja) 倍精度除算回路および方法
US7725522B2 (en) High-speed integer multiplier unit handling signed and unsigned operands and occupying a small area
JPH05250146A (ja) 整数累乗処理を行なうための回路及び方法
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
JPS63123125A (ja) 浮動小数点数の加算装置
US5805489A (en) Digital microprocessor device having variable-delay division hardware
JPH0346024A (ja) 浮動小数点演算器
JPH10187416A (ja) 浮動小数点演算装置
JPH0553759A (ja) 固定小数点演算ユニツト
US7237000B2 (en) Speed of execution of a conditional subtract instruction and increasing the range of operands over which the instruction would be performed correctly
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
JP2664750B2 (ja) 演算装置及び演算処理方法
JP2924281B2 (ja) アドレス・ポインタ
JP2001216136A (ja) 加算回路およびプロセッサ
JPH02205923A (ja) 演算プロセッサ
JP2591250B2 (ja) データ処理装置
JPS60167030A (ja) シフトフラグ生成方式及びシフトフラグ生成回路
JP3201097B2 (ja) 乗算器における乗算処方方法
JP3110072B2 (ja) 事前正規化回路
JP2615746B2 (ja) ビット操作回路
JP3139011B2 (ja) 固定小数点プロセッサ
JPH0991118A (ja) 浮動小数点演算装置