JPH04343133A - アドレス・ポインタ - Google Patents

アドレス・ポインタ

Info

Publication number
JPH04343133A
JPH04343133A JP3115163A JP11516391A JPH04343133A JP H04343133 A JPH04343133 A JP H04343133A JP 3115163 A JP3115163 A JP 3115163A JP 11516391 A JP11516391 A JP 11516391A JP H04343133 A JPH04343133 A JP H04343133A
Authority
JP
Japan
Prior art keywords
data
register
value
shift amount
address pointer
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
JP3115163A
Other languages
English (en)
Other versions
JP2924281B2 (ja
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 JP3115163A priority Critical patent/JP2924281B2/ja
Publication of JPH04343133A publication Critical patent/JPH04343133A/ja
Application granted granted Critical
Publication of JP2924281B2 publication Critical patent/JP2924281B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は固定小数点用演算プロセ
ッサのアドレス・ポインタに関し、特に指定するアドレ
スの生成方法に関する。
【0002】
【従来の技術】従来の固定小数点用演算プロセッサのア
ドレス・ポインタを図面を参照して説明する。
【0003】図3は従来の固定小数点用演算プロセッサ
のアドレス・ポインタ及びその周辺のブロック図である
【0004】301はデータ・バスでありレジスタ間の
データ転送に使用する。302は固定小数点データの論
理演算回路部(ALU)で、単項演算では後述の307
レジスタの内容を、2項演算では後述の306と307
レジスタの内容を入力としてプログラムで指定した演算
を行う。303はALU302における演算結果の状態
を保持するフラグ・レジスタである。304、305は
ALU302における演算結果を保持する演算結果出力
用レジスタである。306はALU302への入力デー
タを保持する入力用レジスタで、その入力はデータ・バ
ス301に出力されたデータとなる。307はALU3
02への入力データを保持する入力用レジスタで、その
入力は演算結果出力用レジスタ304または305に保
持されているデータとなる。308はバレル・シフタで
、入力用レジスタ306または307のデータに対し後
述309で指定されたシフト量だけ左右シフト処理を行
う。309はバレル・シフタ308でのシフト量を指定
するシフト量設定レジスタでデータ・バス301に接続
している。310は入力用レジスタ306と307のど
ちらに保持されているデータをバレル・シフタ308に
入力するかを選択するマルチプレクサである。311は
入力用レジスタ307に保持されているデータに対する
正規化用シフト量検出回路であり、この回路で検出され
たシフト量だけバレル・シフタ308でシフトすること
により正規化処理が実行される。312はこのシフト量
を内部データ・バスに出力するための専用バスである。 313は各種データ格納用のメモリでデータ・バス30
1に接続している。314はデータ用メモリ313のア
ドレスを指定するアドレス・ポインタでデータ・バス3
01と接続している。したがってアドレス・ポインタ3
14の内容の変更は、データ・バス301を介して入力
されるデータ、またはすでに格納されているデータに対
してインクリメント/デクリメントされたデータ、のい
ずれかによって行われる。
【0005】また、入力レジスタ307に保持されてい
るデータの値と正規化用シフト量検出回路311で検出
される値はデータ長をnビットとした時に表1のように
なる。
【0006】
【表1】
【0007】
【発明が解決しようとする課題】上述した従来の固定小
数点用演算プロセッサのアドレス・ポインタでは、その
内容の変更は、データ・バスを介して入力されるデータ
、またはすでに格納されているデータに対してインクリ
メント/デクリメントされたデータ、のいずれかの方法
しかなく以下のような問題が生じる。
【0008】図4は固定小数点用演算プロセッサのデー
タ・フォーマットと数値の範囲を示した図である。 (a)は固定小数点用演算プロセッサのデータ・フォー
マットである。データ長がnビットの時、MSB(第n
ビットめ)がサイン・ビットを示し、第n−1ビットめ
が2−1、第n−2ビットめが2−2、第1ビットめが
2−(n−1)の値を示す。
【0009】また第nビットと第n−1ビットの間に小
数点が存在する。したがって扱える数値の範囲は(b)
のようになる。サイン・ビットが0でこれ以外のビット
がオール1の時が最大値であり、数値は0.99999
…を示す。逆に、サイン・ビットが1でこれ以外のビッ
トがオール0の時が最小値であり、数値は−1.0を示
す。
【0010】固定小数点用演算プロセッサでルート関数
の実行を考える。この関数を実行するためのハードウェ
アは存在しないので、すべてプログラムにより演算ユニ
ットを使用して実現することになる。ルート関数の実現
(インプリメンテーション)には近似式を使用する。こ
の近似式は通常は0.5〜1.0の入力値に対して適用
できるものである。つまり入力値が0.5〜1.0の範
囲にあれば近似式をそのまま適用できるが、範囲外の入
力に対しては工夫を必要とする。この式を以下に示す。
【0011】また、ルートに限らずログやエクスポネン
トなど、ほとんどの関数のインプリメンテーションに関
しても同様である。
【0012】ルートの近似式y=f(z)(ここで0.
5≦z<1.0)とした時、  ■入力値xが0.5≦
x<1.0の場合(1)式となる。
【0013】
【0014】■入力値xが0.0<x<0.5の、場合
(2)式となる。
【0015】
【0016】■入力値xが0.0の場合(3)式となる
【0017】
【0018】ここで式(2)の処理を正規化という。
【0019】従来の固定小数点用演算プロセッサによる
上述の手法を用いたルート関数の処理手順を示す。
【0020】データ用メモリ313には第2図に示すよ
うなデータを予め格納しておく。
【0021】処理は図5に示すようなフロー・チャート
になり、5ステップに大別できる。
【0022】ステップ1  レジスタ304に保持され
ているデータxが0か否かの判定を行う。x=0の場合
はy=0としてプログラム終了。
【0023】ステップ2  レジスタ304に保持され
ているデータxは入力用レジスタ307を介してバレル
・シフタ308に入力される。この時入力用レジスタ3
07に保持されているデータに対する正規化用シフト量
検出回路311で検出された値をバレル・シフタ308
に与え、バレル・シフタ308で正規化処理を実行。
【0024】バレル・シフタ308の出力として出力レ
ジスタ304にzの値を得る。
【0025】また、正規化用シフト量検出回路311で
検出された値はKである。
【0026】ステップ3  専用バス312から出力さ
れるKの値とデータ用メモリからテーブル参照方式で2
−K/2の値を得る。
【0027】ステップ4  zの値からf(z)を計算
する。
【0028】ステップ5  ステップ3とステップ4の
結果から2−K/2・f(z)を計算し、ルートxを得
る。
【0029】ステップ2における入力レジスタ307に
保持されているデータの値と正規化用シフト量検出回路
311で検出される値はデータ長をnビットとした時に
表2のようになる。
【0030】
【表2】
【0031】ここでステップ3の処理に着目する。ステ
ップ3は以下の処理からなる。
【0032】■レジスタ305に第2図に示すsqrt
tblのアドレスを転送する。
【0033】■専用バス312から出力されるKの値と
レジスタ305の値sqrttblを加算しレジスタ3
05に出力する。
【0034】■レジスタ305の内容をアドレス・レジ
スタ314に転送する。
【0035】■アドレス・レジスタ314が指すデータ
用メモリ313の内容をレジスタ305に転送する。こ
れによりレジスタ305に2−K/2の値を得る。
【0036】これによるとレジスタ305に2−K/2
の値を得るためには4ステップを要し、高速性が要求さ
れる演算プロセッサにとってこの処理は冗長である。
【0037】このように従来のアドレス・ポインタを持
つ固定小数点用演算プロセッサでは、関数演算において
処理時間が冗長になるという問題が生じる。
【0038】本発明はかかる問題点に鑑みてなされたも
のであって、関数演算に関して処理時間の短縮を図るこ
とができる固定小数点用演算プロセッサのアドレス・ポ
インタを提供することを目的とする。
【0039】
【課題を解決するための手段】本発明の固定小数点用演
算プロセッサのアドレス・ポインタは正規化用シフト量
検出回路の出力値とデータ用メモリのアドレス・ポイン
タの値の加算回路を具備している。
【0040】
【実施例】次に、本発明の実施例について図を参照して
説明する。
【0041】図1は本発明の実施例に係る固定小数点用
演算プロセッサのアドレス・ポインタ及びその周辺のブ
ロック図である。
【0042】なお、この図1において図3と同一である
部分については説明を省略する。
【0043】このシステムが従来のものと異なる点は、
データ用メモリ112のアドレスを指定する値として正
規化用シフト量検出回路111で検出した値を使用する
ための専用バス113、及び113から出力される値と
本来のアドレス・ポインタ114の値を加算する加算回
路115、データ用メモリ112のアドレスを113、
114、115のいづれの出力で指定するかを選択する
マルチプレクサ116を設けた点である。
【0044】本発明のアドレス・ポインタを持つ固定小
数点用演算プロセッサで上述の手法を用いたルート関数
の処理について説明する。
【0045】データ用メモリ112には図2に示すよう
なデータを予め格納しておく。これは従来技術と同じで
ある。
【0046】処理は図6に示すようなフロー・チャート
になり、従来技術と同様5ステップに大別できる。
【0047】ステップ1  レジスタ104に保持され
ているデータxが0か否かの判定を行う。x=0の場合
はy=0としてプログラム終了。
【0048】ステップ2  レジスタ104に保持され
ているデータxは入力用レジスタ107を介してバレル
・シフタ108に入力される。この時入力用レジスタ1
07に保持されているデータに対する正規化用シフト量
検出回路111で検出された値をバレル・シフタ108
に与え、バレル・シフタ108で正規化処理を実行。バ
レル・シフタ108の出力として出力レジスタ104に
zの値を得る。
【0049】また、正規化用シフト量検出回路111で
検出された値はKである。
【0050】ステップ3  専用バス113から出力さ
れるKの値とデータ用メモリからテーブル参照方式で2
−K/2の値を得る。
【0051】ステップ4  zの値からf(z)を計算
する。
【0052】ステップ5  ステップ3とステップ4の
結果から2−K/2・f(z)を計算し、ルートxを得
る。
【0053】ここでステップ3の処理に着目する。ステ
ップ3は以下の処理からなる。
【0054】■アドレス・レジスタ114にsqrtt
blのアドレスを転送する。
【0055】既にステップ2で正規化用シフト量検出回
路111で検出された値Kは専用バス113に出力され
ている。
【0056】■アドレス・レジスタ114の値sqrt
tblと専用バス113の出力値Kを加算した値をアド
レス・ポインタとして、データ用メモリ112の内容を
レジスタ105に転送する。これによりレジスタ105
に2−K/2の値を得る。
【0057】これによるとレジスタ105に2−K/2
の値を得るためには2ステップを要し、従来に比較し処
理時間を1/2に短縮することができる。
【0058】つまり関数演算に関して、冗長な処理を削
減し処理時間の短縮を図ることができる。
【0059】さらに図1について説明すると、101は
データ・バスでありレジスタ間のデータ転送に使用する
。102は固定小数点データの論理演算回路部(ALU
)で、単項演算では後述の107レジスタの内容を、2
項演算では後述の106と107レジスタの内容を入力
としてブログラムで指定した演算を行う。103はAL
U102における演算結果の状態を保持するフラグ・レ
ジスタである。104、105はALU102における
演算結果を保持する演算結果出力用レジスタである。 106はALU102への入力データを保持する入力用
レジスタで、その入力はデータ・バス101に出力され
たデータとなる。107はALU102への入力データ
を保持する入力用レジスタで、その入力は演算結果出力
用レジスタ104または105に保持されているデータ
となる。108はバレル・シフタで、入力用レジスタ1
06または107のデータに対し後述109で指定され
たシフト量だけ左右シフト処理を行う。109はバレル
・シフタ108でのシフト量を指定するシフト量設定レ
ジスタでデータ・バス101に接続している。110は
入力用レジスタ106と107のどちらに保持されてい
るデータをバレル・シフタ108に入力するかを選択す
るマルチプレクサである。111は入力用レジスタ10
7に保持されているデータに対する正規化用シフト量検
出回路であり、この回路で検出されたシフト量だけバレ
ル・シフタ108でシフトすることにより正規化処理が
実行される。112は各種データ格納用のメモリでデー
タ・バス101に接続している。114はデータ用メモ
リ112のアドレスを指定するアドレス・ポインタであ
る。113はデータ用メモリ112のアドレスを指定す
る値として正規化用シフト量検出回路111で検出した
値を使用するための専用バス113である。115は1
13から出力される値と本来のアドレス・ポインタ11
4の値を加算する加算回路、116はデータ用メモリ1
12のアドレスを113、114、115のいずれの出
力で指定するかを選択するマルチプレクサである。
【0060】第4図は固定小数点用演算プロセッサのデ
ータ・フォーマットと数値の範囲を示した図である。 (a)は固定小数点用演算プロセッサのデータ・フォー
マットである。(b)は数値の範囲を示している。
【0061】
【発明の効果】以上説明したように本発明の固定小数点
用演算プロセッサのアドレス・ポインタは正規化用シフ
ト量検出回路の出力値とデータ用メモリのアドレス・ポ
インタの値の加算回路を具備することにより関数演算に
関して、従来に比較し冗長な処理を削減し処理時間を短
縮することができるという効果がある。
【図面の簡単な説明】
【図1】本発明実施例のブロック図である。
【図2】メモリマップ図である。
【図3】従来例図である。
【図4】データフォーマット図である。
【図5】従来例のフローチャートである。
【図6】本発明実施例のフローチャートである。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】  内部データ・バスと、固定小数点デー
    タの論理演算部(ALU)と、ALUへの入力レジスタ
    と、ALUにおける演算結果出力用レジスタと、ALU
    への入力レジスタに保持されているデータに対するバレ
    ル・シフタと、このバレル・シフタにおけるシフト量を
    指定するシフト量設定レジスタと、ALUへの入力レジ
    スタに保持されているデータに対する正規化用シフト量
    検出回路と、データ用メモリと、データ用メモリのアド
    レス・ポインタを有する固定小数点用演算プロセッサに
    おいて、正規化用シフト量検出回路の出力値とデータ用
    メモリのアドレス・ポインタの値の加算回路を具備した
    ことを特徴とするアドレス・ポインタ。
JP3115163A 1991-05-21 1991-05-21 アドレス・ポインタ Expired - Fee Related JP2924281B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3115163A JP2924281B2 (ja) 1991-05-21 1991-05-21 アドレス・ポインタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3115163A JP2924281B2 (ja) 1991-05-21 1991-05-21 アドレス・ポインタ

Publications (2)

Publication Number Publication Date
JPH04343133A true JPH04343133A (ja) 1992-11-30
JP2924281B2 JP2924281B2 (ja) 1999-07-26

Family

ID=14655899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3115163A Expired - Fee Related JP2924281B2 (ja) 1991-05-21 1991-05-21 アドレス・ポインタ

Country Status (1)

Country Link
JP (1) JP2924281B2 (ja)

Also Published As

Publication number Publication date
JP2924281B2 (ja) 1999-07-26

Similar Documents

Publication Publication Date Title
US4754421A (en) Multiple precision multiplication device
US5381360A (en) Modulo arithmetic addressing circuit
US6128726A (en) Accurate high speed digital signal processor
JP4935619B2 (ja) デジタル信号処理装置
US6006316A (en) Performing SIMD shift and arithmetic operation in non-SIMD architecture by operation on packed data of sub-operands and carry over-correction
IL169374A (en) Result partitioning within simd data processing systems
US4853890A (en) Vector processor
US5757685A (en) Data processing system capable of processing long word data
US4796217A (en) Rounding unit for use in arithmetic processing of floating point data
US5682339A (en) Method for performing rotate through carry using a 32 bit barrel shifter and counter
US5402368A (en) Computing unit and digital signal processor using the same
US4878191A (en) Multiplication circuit capable of operating at a high speed with a small amount of hardware
US6499046B1 (en) Saturation detection apparatus and method therefor
JPH04343133A (ja) アドレス・ポインタ
JPH10187416A (ja) 浮動小数点演算装置
US5065353A (en) Adder control method and adder control circuit
JPH0553759A (ja) 固定小数点演算ユニツト
JPS619725A (ja) マイクロプログラム制御回路
JP3144859B2 (ja) 算術論理演算装置
JP2587042B2 (ja) 半導体集積回路
JPS6260755B2 (ja)
US6792442B1 (en) Signal processor and product-sum operating device for use therein with rounding function
EP1286257A2 (en) Conditional subtract instruction
JPH0619700B2 (ja) 演算装置
JP3139011B2 (ja) 固定小数点プロセッサ

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: 19990406

LAPS Cancellation because of no payment of annual fees