JPH07281870A - シフト演算装置及びシフト演算方法 - Google Patents

シフト演算装置及びシフト演算方法

Info

Publication number
JPH07281870A
JPH07281870A JP7020273A JP2027395A JPH07281870A JP H07281870 A JPH07281870 A JP H07281870A JP 7020273 A JP7020273 A JP 7020273A JP 2027395 A JP2027395 A JP 2027395A JP H07281870 A JPH07281870 A JP H07281870A
Authority
JP
Japan
Prior art keywords
data
shift
bit data
output
bit
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
JP7020273A
Other languages
English (en)
Inventor
Shinichi Marui
信一 丸井
Katsuhiko Ueda
勝彦 上田
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7020273A priority Critical patent/JPH07281870A/ja
Publication of JPH07281870A publication Critical patent/JPH07281870A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 多倍精度データのシフト演算を効率よく行な
うことである。 【構成】 シフト数に応じてデータをシフトすることに
より、上位ビットデータ(B)と中位ビットデータ
(D)と下位ビットデータ(C)とを出力するシフタ2
0と、シフタ20の出力に結合され、シフト方向に応じ
て上位ビットデータ(B)と下位ビットデータ(C)の
うちの一方を選択するマルチプレクサ30と、マルチプ
レクサ30の出力に結合され、マルチプレクサ30によ
って選択されたデータを格納するレジスタ40と、シフ
タ20の出力とレジスタ40の出力とに結合され、中位
ビットデータ(D)とレジスタ40に格納されたデータ
とに演算することにより、演算結果を出力する演算器6
0と、演算器60の出力に結合され、演算結果を格納す
るレジスタ群80とを備えたシフト演算装置。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、シフト演算装置及びシ
フト演算方法に関し、特に、単精度のデータを処理する
ハードウェアを用いて、多倍精度のシフト演算を実行す
るシフト演算装置及びシフト演算方法に関する。
【0002】
【従来の技術】近年のディジタル技術の急速な発展に伴
って、ディジタル信号処理などの高度な処理を高速に実
行するプロセッサが求められている。これらの処理の中
には、高い演算精度を必要とするものもある。例えば、
CELP(Code Excited LinearPrediction)系の音声コ
ーディックにおける短期予測分析処理は、36ビット程
度の演算精度を必要とするとされている。CELP系の
音声コーディックは、ディジタル音声通信には不可欠と
される音声コーディックの1つである。しかし、高い演
算精度をハードウェアで実現することは得策ではない。
プロセッサの回路規模が大きくなり、コストや消費電力
の面で不利な点が多いからである。そこで、単精度のデ
ータを処理するハードウェアを用いて、複数の命令を組
み合わせることにより倍精度演算を実行する手法が開発
されている。倍精度演算には、倍精度加算、倍精度減
算、倍精度シフト演算などがある。
【0003】図9は、24ビットデータを処理するハー
ドウェアを用いて倍精度シフト演算を実行する従来のシ
フト演算装置の構成を示す。このシフト演算装置は、シ
フト数を格納するレジスタ110、111と、レジスタ
110又は111に格納されたシフト数に応じて24ビ
ットデータ(A)をシフトするシフタ120と、24ビ
ットデータ(E)とシフタ120から出力される24ビ
ットデータ(D)とに対して演算を行う演算器(AL
U)160と、ALU160の演算結果を格納する24
ビットレジスタ170、171、172とを有してい
る。
【0004】以下、上述した構成を有するシフト演算装
置を用いて、倍精度データを左にNビットだけシフトす
る方法を説明する。ここで、倍精度データは、上位の2
4ビットデータと下位の24ビットデータとからなり、
Nは1以上の整数である。シフトされるべき倍精度デー
タのうち上位データはレジスタ170に格納されてお
り、シフトされるべき倍精度データのうち下位データは
レジスタ171に格納されていると仮定する。また、倍
精度シフト演算の結果のうち上位データはレジスタ17
0に格納され、倍精度シフト演算の結果のうち下位デー
タはレジスタ172に格納されると仮定する。
【0005】左Nビットの倍精度シフト演算の処理は、
以下の手順に従って実行される。図10は、その手順を
模式的に示したものである。
【0006】[1]レジスタ110にシフト数「N」が
格納される。
【0007】[2]レジスタ171に格納される下位デ
ータは、データ(A)としてシフタ120に入力され
る。シフタ120は、下位データを左にNビットだけシ
フトする。ALU160は、シフタ120の出力(デー
タ(D))をそのまま出力する(スルー出力)。ALU
160の出力は、下位データとしてレジスタ172に格
納される。
【0008】[3]レジスタ111にシフト数「−(2
4−N)」が格納される。
【0009】[4]レジスタ171に格納される下位デ
ータは、データ(A)としてシフタ120に入力され
る。シフタ120は、下位データを右に(24−N)ビ
ットだけシフトする。ALU160は、シフタ120の
出力(データ(D))をそのまま出力する(スルー出
力)。ALU160の出力は、レジスタ171に格納さ
れる。
【0010】[5]レジスタ170に格納される上位デ
ータは、データ(A)としてシフタ120に入力され
る。シフタ120は、上位データを左にNビットだけシ
フトする。レジスタ171に格納されるデータはデータ
(E)としてALU160に入力される。ALU160
は、シフタ120の出力(データ(D))とデータ
(E)とに対して論理和演算を実行する。ALU160
の出力は、上位データとしてレジスタ170に格納され
る。
【0011】
【発明が解決しようとする課題】しかしながら、従来の
左Nビットの倍精度シフト演算は、シフト数の設定を除
いて、3回のシフト操作を必要とする。その結果、倍精
度シフト演算は、シフト数の設定を含めると更に多くの
演算を必要とする。これに対し、他の倍精度演算(倍精
度加算、倍精度減算など)はおよそ2回の演算で足り
る。従って、一般に、倍精度シフト演算は、他の倍精度
演算に比べて非常に効率が悪いと言う問題点を有してい
た。
【0012】LD−CELP(Low-Delay CELP)は、CE
LP系の音声コーディックの1つである。LD−CEL
Pは、ディレイが小さいという特性を有しており、主と
して有線系(ISDNなど)のコーディックとして注目
されている。LD−CELPにおいては、短期予測分析
処理の比重が他のコーディックに比べて非常に大きい。
このため、LD−CELPにおいては、約50万回/秒
の倍精度シフト演算が実行される。これは、VSELP
(Vector Sum Excited Linear Prediction)、PSI−S
ELP(Pitch Synchronous Innovation CELP)などの携
帯用ディジタル電話の音声コーディックにおいて実行さ
れる倍精度シフト演算の回数の約25倍にあたる。従っ
て、LD−CELPの実現にあたっては、倍精度シフト
演算の効率化を図ることが必須である。
【0013】本発明の目的は、多倍精度データのシフト
演算を効率よく行なうことができるシフト演算装置及び
シフト演算方法を提供することにある。
【0014】
【課題を解決するための手段】本発明のシフト演算装置
は、シフト数に応じてデータをシフトすることにより、
上位ビットデータと中位ビットデータと下位ビットデー
タとを出力するシフト手段と、該シフト手段の出力に結
合され、シフト方向に応じて該上位ビットデータと該下
位ビットデータのうちの一方を選択する第1選択手段
と、該第1選択手段の出力に結合され、該第1選択手段
によって選択されたデータを格納する第1格納手段と、
該シフト手段の出力と該第1格納手段の出力とに結合さ
れ、該中位ビットデータと該第1格納手段に格納された
該データとに演算することにより、演算結果を出力する
演算手段と、該演算手段の出力に結合され、該演算結果
を格納する第2格納手段とを備えており、これにより、
上記目的が達成される。
【0015】前記シフト演算装置は、更なるデータを受
け取り、制御信号に応じて該更なるデータと前記第1格
納手段に格納された前記データとのうちの一方を選択す
る第2選択手段をさらに備えていてもよく、該第2選択
手段の出力が前記演算手段に入力されるようにしてもよ
い。
【0016】前記シフト手段は、m個の2kビットシフ
タ(k=0,1,...,m−1)と、2mビットシフ
タと、前記シフト数をデコードすることにより、該m個
の2kビットシフタ(k=0,1,...,m−1)及
び該2mビットシフタのそれぞれにシフト動作を行うか
否かを示す制御信号を供給するデコード手段とを備えて
いてもよい。ここで、mは1以上の整数である。
【0017】前記2m-1ビットシフタの出力の一部は、
前記第1選択手段の出力に等しくてもよい。
【0018】前記第2格納手段は、前記演算結果の部分
をそれぞれ格納する複数のレジスタを含んでいてもよ
い。
【0019】前記第2格納手段は、前記データの部分を
それぞれ格納する複数のレジスタと、前記演算結果の部
分をそれぞれ格納する複数のレジスタとを含んでいても
よい。
【0020】本発明のシフト演算方法は、第1データと
第2データとを用いて、倍精度のシフト演算を行うシフ
ト演算方法であって、a)シフト数に応じて該第1デー
タをシフトすることにより、上位ビットデータと中位ビ
ットデータと下位ビットデータとを出力するステップ
と、b)ステップa)において出力された該中位ビット
データを該シフト演算の結果の部分として格納するステ
ップと、c)シフト方向に応じてステップa)において
出力された該上位ビットデータと該下位ビットデータの
うちの一方を選択するステップと、d)ステップc)に
おいて選択されたデータを格納するステップと、e)該
シフト数に応じて該第2データをシフトすることによ
り、上位ビットデータと中位ビットデータと下位ビット
データとを出力するステップと、f)ステップe)にお
いて出力された該中位ビットデータとステップd)にお
いて格納された該データとを結合するステップと、g)
ステップf)において結合された該データを該シフト演
算の結果の部分として格納するステップとを包含してお
り、これにより、上記目的が達成される。
【0021】ステップf)における結合は、ステップ
e)において出力された前記中位ビットデータとステッ
プd)において格納された前記データとに対して論理和
演算を実行することによって達成されてもよい。
【0022】ステップa)〜ステップd)は、プログラ
ムの実行における1ステップにおいて実行され、ステッ
プe)〜ステップg)は、該プログラムの実行における
1ステップにおいて実行される。
【0023】本発明の他のシフト演算方法は、第1デー
タと少なくとも1つの第2データと第3データとを用い
て、多倍精度のシフト演算を行うシフト演算方法であっ
て、a)シフト数に応じて該第1データをシフトするこ
とにより、上位ビットデータと中位ビットデータと下位
ビットデータとを出力するステップと、b)ステップ
a)において出力された該中位ビットデータを該シフト
演算の結果の部分として格納するステップと、c)シフ
ト方向に応じてステップa)において出力された該上位
ビットデータと該下位ビットデータのうちの一方を選択
するステップと、d)ステップc)において選択された
データを格納するステップと、e)該シフト数に応じて
該少なくとも1つの第2データのうちの1つをシフトす
ることにより、上位ビットデータと中位ビットデータと
下位ビットデータとを出力するステップと、f)該シフ
ト方向に応じてステップe)において出力された該上位
ビットデータと該下位ビットデータのうちの一方を選択
するステップと、g)ステップf)において選択された
データを格納するステップと、h)ステップe)におい
て出力された該中位ビットデータとステップd)及びス
テップg)において最も最近に格納されたデータとを結
合するステップと、i)ステップh)において結合され
た該データを該シフト演算の結果の部分として格納する
ステップと、j)該シフト数に応じて該第3データをシ
フトすることにより、上位ビットデータと中位ビットデ
ータと下位ビットデータとを出力するステップと、k)
ステップj)において出力された該中位ビットデータと
ステップg)において最も最近に格納されたデータとを
結合するステップと、l)ステップk)において結合さ
れた該データを該シフト演算の結果の部分として格納す
るステップとを包含しており、これにより、上記目的が
達成される。
【0024】ステップh)における結合は、ステップ
e)において出力された前記中位ビットデータとステッ
プd)及びステップg)において最も最近に格納された
前記データとに対して論理和演算を実行することによっ
て達成されてもよい。
【0025】ステップk)における結合は、ステップ
j)において出力された前記中位ビットデータとステッ
プg)において最も最近に格納された前記データとに対
して論理和演算を実行することによって達成されてもよ
い。
【0026】ステップa)〜ステップd)は、プログラ
ムの実行における1ステップにおいて実行され、ステッ
プe)〜ステップi)は、該プログラムの実行における
1ステップにおいて実行され、ステップj)〜ステップ
l)は、該プログラムの実行における1ステップにおい
て実行される。
【0027】前記シフト演算方法は、ステップe)〜ス
テップi)を繰り返すステップをさらに包含してもよ
い。
【0028】
【作用】本発明によれば、倍精度データを左にシフトす
る場合には、その左シフトにより下位データからあふれ
たデータがレジスタに格納され、そのレジスタに格納さ
れたデータと上位データを左シフトした結果とが結合さ
れる。また、倍精度データを右にシフトする場合には、
その右シフトにより上位データからあふれたデータがレ
ジスタに格納され、そのレジスタに格納されたデータと
下位データを右シフトした結果とが結合される。このよ
うに、倍精度データのシフト演算は、2回のシフト操作
により実現される。同様にして、M倍精度データのシフ
ト演算をM回のシフト操作により実現することができ
る。ここで、Mは3以上の整数である。これにより、多
倍精度データのシフト演算を効率よく行なうことができ
る。
【0029】
【実施例】以下、図面を参照しながら、本発明によるシ
フト演算装置の実施例を説明する。
【0030】図1は、本発明によるシフト演算装置の実
施例の構成を示す。シフト演算装置は、与えられたシフ
ト数に応じて、データ(A)をシフトすることにより、
上位ビットデータ(B)と下位ビットデータ(C)と中
位ビットデータ(D)とを出力するシフタ20と、シフ
タ20の出力に結合され、シフト方向に応じて上位ビッ
トデータ(B)と下位ビットデータ(C)のうちの一方
を選択するマルチプレクサ30と、マルチプレクサ30
の出力に結合され、マルチプレクサ30によって選択さ
れたデータを格納するレジスタ40と、シフタ20の出
力とレジスタ40の出力とに結合され、シフタ20から
出力された中位ビットデータ(D)とマルチプレクサ5
0によって選択されたデータとに演算を行う演算器(A
LU)60と、ALU60の出力に結合され、ALU6
0による演算結果を格納するレジスタ群80とを有して
いる。
【0031】本実施例では、データ(A)〜(D)は、
いずれも16ビットデータである。しかし、本発明はデ
ータのビット数には限定されない。
【0032】シフタ20に与えられるシフト数は、レジ
スタ10に格納される。レジスタ10に格納されるシフ
ト数が負数の場合には、シフタ20は、そのシフト数の
絶対値だけ左にデータ(A)をシフトする。レジスタ1
0に格納されるシフト数が正数の場合には、シフタ20
は、そのシフト数だけ右にデータ(A)をシフトする。
【0033】シフタ20と、マルチプレクサ30と、A
LU60と、レジスタ群80には、制御回路90によっ
て制御信号が供給される。
【0034】シフタ20には、算術シフトか論理シフト
かを示す制御信号が入力される。シフタ20は、制御信
号に応じて算術シフトと論理シフトのうちの一方を行
う。
【0035】マルチプレクサ30には、シフト方向を示
す制御信号が入力される。シフト方向が左であることを
示す制御信号が入力された場合には、マルチプレクサ3
0は、シフタ20から出力される上位ビットデータ
(B)を選択する。シフト方向が右であることを示す制
御信号が入力された場合には、マルチプレクサ30は、
シフタ20から出力される下位ビットデータ(C)を選
択する。シフト方向は、レジスタ10に格納されるシフ
ト数の最上位ビットを参照することにより決定すること
ができる。従って、シフト数の最上位ビットの値に応じ
てマルチプレクサ30の動作を制御するようにしてもよ
い。
【0036】ALU60は、制御信号に応じて種々の算
術演算又は論理演算を実行する。算術演算には、2進お
よび10進の加減算、乗除算、算術的桁送りなどが含ま
れる。また、論理演算には、論理積(AND)、論理和
(OR)、排他的論理和(XOR)などが含まれる。A
LU60に対する制御信号は、プログラム中の命令をデ
コードすることによって得られる。例えば、加算命令に
対してはALU60は加算器として動作し、論理和命令
に対してはALU60は論理和器として動作する。しか
しながら、倍精度シフト演算を実行するためには、AL
U60は、少なくとも2つの機能を有していれば足り
る。その2つの機能とは、ALU60に入力される2つ
のデータのうちの一方をそのまま出力する(スルー出
力)機能と、ALU60に入力される2つのデータに対
して論理和演算を実行する機能とである。
【0037】レジスタ群80は、レジスタ70とレジス
タ71とを有している。倍精度シフト演算が実行される
前に、シフトされるべき倍精度データのうち上位の16
ビットデータがレジスタ70に格納され、シフトされる
べき倍精度データのうち下位の16ビットデータがレジ
スタ71に格納される。倍精度シフト演算が実行された
後、ALU60による演算結果のうち上位の16ビット
データがレジスタ70に格納され、ALU60による演
算結果のうち下位の16ビットデータがレジスタ71に
格納される。
【0038】あるいは、倍精度シフト演算が実行される
前の上位データと下位データとを格納するレジスタと倍
精度シフト演算が実行された後の上位データと下位デー
タとを格納するレジスタとが異なるように、レジスタ群
80を構成してもよい。
【0039】図2は、本発明によるシフト演算装置の他
の実施例の構成を示す。図2に示されるシフト演算装置
の構成は、マルチプレクサ50が追加されている点を除
き、図1に示されるシフト演算装置の構成と同じであ
る。従って、マルチプレクサ50以外の構成要素の説明
は省略する。
【0040】マルチプレクサ50は、制御信号に応じて
2つの入力のうちの一方を出力する。マルチプレクサ5
0の入力の一方は、レジスタ40の出力に結合され、マ
ルチプレクサ50の入力の他方は、データ(E)に結合
される。制御信号は、制御回路90によってマルチプレ
クサ50に供給される。
【0041】倍精度シフト演算が実行される場合には、
マルチプレクサ50は常にレジスタ40に格納されたデ
ータを選択するように制御される。従って、マルチプレ
クサ50は、倍精度シフト演算の実行には不要である。
倍精度シフト演算以外の演算(例えば、論理積演算)が
実行される場合には、マルチプレクサ50はデータ
(E)を選択するように制御されてもよい。このような
制御をすることにより、ALU60を用いて種々の演算
を実行することが可能となる。
【0042】図3は、図1に示されるシフタ20の構成
を示す。シフタ20は、6個のシフタを組み合わせるこ
とにより、左(25−1)ビット〜右25ビットのシフト
を実現する。シフタ20は、1ビット左シフタ301と
2ビット左シフタ302と4ビット左シフタ303と8
ビット左シフタ304と16ビット左シフタ305と3
2ビット右シフタ306とを含んでいる。シフタ20
は、シフト数をデコードすることによって制御信号CO
L1〜COL6を生成するデコーダ307をさらに含ん
でいる。制御信号COL1〜COL6の状態は、アクテ
ィブであるか非アクティブであるかのいずれかである。
制御回路90からの算術シフトか論理シフトかを示す制
御信号は、シフタ301〜306のそれぞれに供給され
る(ただし、図3ではその制御信号の図示は省略されて
いる)。
【0043】1ビット左シフタ301は、シフタ20に
入力される16ビットデータを受け取り、制御信号CO
L1に応じてその16ビットデータを左に1ビットだけ
シフトするか否かを決定する。制御信号COL1がアク
ティブである場合には、シフタ301は16ビットデー
タを左に1ビットだけシフトする。制御信号COL1が
非アクティブである場合には、シフタ301はシフト動
作を行わず入力されたデータをそのまま出力する。シフ
タ301は、17ビットデータを出力する。シフタ30
1から出力される17ビットデータの最下位ビットは、
シフタ301に入力される16ビットデータの最下位ビ
ットに対応している。
【0044】2ビット左シフタ302は、シフタ301
から出力される17ビットデータを受け取り、制御信号
COL2に応じてその17ビットデータを左に2ビット
だけシフトするか否かを決定する。制御信号COL2が
アクティブである場合には、シフタ302は17ビット
データを左に2ビットだけシフトする。制御信号COL
2が非アクティブである場合には、シフタ302はシフ
ト動作を行わず入力されたデータをそのまま出力する。
シフタ302は、19ビットデータを出力する。シフタ
302から出力される19ビットデータの最下位ビット
は、シフタ302に入力される17ビットデータの最下
位ビットに対応している。
【0045】シフタ303〜305も上述したシフタ3
01及び302と同様に動作する。
【0046】32ビット右シフタ306は、シフタ30
5から出力される47ビットデータを受け取り、制御信
号COL6に応じてその47ビットデータを右に32ビ
ットだけシフトするか否かを決定する。制御信号COL
6がアクティブである場合には、シフタ306は47ビ
ットデータを右に32ビットだけシフトする。制御信号
COL6が非アクティブである場合には、シフタ306
はシフト動作を行わず入力されたデータをそのまま出力
する。シフタ306は、第78ビット(最上位ビット)
から第0ビット(最下位ビット)を有している。シフタ
306の第32ビットは、シフタ305から出力される
47ビットデータの最下位ビットに対応している。シフ
タ306は、第63ビットから第48ビットの16ビッ
トデータを上位ビットデータ(B)として出力する。シ
フタ306は、第47ビットから第32ビットの16ビ
ットデータを中位ビットデータ(D)として出力する。
シフタ306は、第31ビットから第16ビットの16
ビットデータを下位ビットデータ(C)として出力す
る。
【0047】例えば、左に10ビットだけデータをシフ
トする場合には、デコーダ307は、制御信号COL2
とCOL4とをアクティブにし、制御信号COL1とC
OL3とCOL5とCOL6とを非アクティブにする。
その結果、シフタ302とシフタ304とがシフト動作
を行い、シフタ301とシフタ303とシフタ305と
シフタ306とはシフト動作を行わず入力されたデータ
をそのまま出力する。
【0048】右に10ビットだけデータをシフトする場
合には、デコーダ307は、制御信号COL2とCOL
3とCOL5とCOL6をアクティブにし、制御信号C
OL1とCOL4とを非アクティブにする。その結果、
シフタ302とシフタ303シフタ305とによってデ
ータはいったん左に22ビットだけシフトされた後、シ
フタ306によって右に32ビットだけシフトされる。
その結果、右に10ビットだけシフトされたデータが得
られる。
【0049】図4は、図3に示される2ビット左シフタ
302の構成を示す。シフタ302には算術シフトか論
理シフトかを示す制御信号とシフトするか否かを示す制
御信号とが入力される。シフタ302は、複数のマルチ
プレクサと複数のAND回路とを含む。AND回路は、
算術シフトの場合であって、かつ、シフトしない場合
に、シフタ302から出力される上位の2ビットをシフ
タ302に入力される最上位ビットの値に従って符号拡
張するために使用される。シフタ301、303〜30
6の構成もシフタ302の構成と同様である。
【0050】図3に示されるシフタ20の構成と同様に
して、(m+1)個のシフタを組み合わせることによ
り、左(2m−1)ビット〜右2mビットのシフトを実現
するように、シフタ20を構成することもできる。ここ
で、mは1以上の整数である。この場合、シフタ20
は、m個の2kビット左シフタ(k=0,1,...,
m−1)と2mビット右シフタとを有している。ここ
で、kは0以上m−1以下の整数である。図3に示され
るシフタ20の構成は、m=5の場合の例である。
【0051】さらに、図3に示されるシフタ20の構成
において、シフタ306の第47ビットから第32ビッ
トの16ビットデータを中位ビットデータ(D)として
出力し、かつ、シフタ305の第31ビットから第16
ビットの16ビットデータを上位/下位ビットデータと
して出力するようにしてもよい。この場合には、上位/
下位ビットデータは、図1に示されるマルチプレクサ3
0の出力と等しくなる。従って、中位ビットデータ
(D)と上位/下位ビットデータとを出力するようにシ
フタ20を改変した場合には、シフタ20の出力をAL
U60の一方の入力に結合することにより、マルチプレ
クサ30を省略することができる。
【0052】さらに、シフタ20は、右(2m−1)ビ
ット〜左2mビットのシフトを実現するために、m個の
kビット右シフタ(k=0,1,...,m−1)と
mビット左シフタとを含んでいてもよい。
【0053】次に、上述した構成を有するシフト演算装
置を用いて、倍精度シフト演算を実行する方法を説明す
る。
【0054】以下、倍精度データを左にNビットだけ論
理シフトする方法を説明する。ここで、倍精度データ
は、上位の16ビットデータと下位の16ビットデータ
とからなり、Nは1以上の整数である。上位の16ビッ
トデータはレジスタ70に格納されており、下位の16
ビットデータはレジスタ71に格納されていると仮定す
る。また、倍精度シフト演算の結果のうち上位データは
レジスタ70に格納され、倍精度シフト演算の結果のう
ち下位データはレジスタ71に格納されると仮定する。
【0055】図5は、左Nビットの倍精度シフト演算の
処理を模式的に示す。図5において、括弧付きの数字
は、以下に示す各ステップの番号に対応する。
【0056】ステップ1:シフト数「−N」がレジスタ
10に格納される。
【0057】ステップ2−1:レジスタ71から下位デ
ータが読み出され、下位データはデータ(A)としてシ
フタ20に入力される。
【0058】ステップ2−2:シフタ20は、下位デー
タを左にNビットだけ論理シフトすることにより、上位
ビットデータ(B)と中位ビットデータ(D)と下位ビ
ットデータ(C)とを出力する。
【0059】ステップ2−3:ALU60は、シフタ2
0から出力された中位ビットデータ(D)をそのまま出
力する(スルー出力)。ALU60の出力は、下位デー
タとしてレジスタ71に格納される。
【0060】ステップ2−4:マルチプレクサ30は、
シフタ20から出力された上位ビットデータ(B)と下
位ビットデータ(C)のうち上位ビットデータ(B)を
選択する。選択された上位ビットデータ(B)はレジス
タ40に格納される。
【0061】ステップ3−1:レジスタ70から上位デ
ータが読み出され、上位データはデータ(A)としてシ
フタ20に入力される。
【0062】ステップ3−2:シフタ20は、上位デー
タを左にNビットだけ論理シフトすることにより、上位
ビットデータ(B)と中位ビットデータ(D)と下位ビ
ットデータ(C)とを出力する。
【0063】ステップ3−3:ALU60は、シフタ2
0から出力された中位ビットデータ(D)とレジスタ4
0に格納されたデータ(F)とに対して論理和演算を実
行する。ALU60の出力は、上位データとしてレジス
タ70に格納される。
【0064】このようにして、左Nビットの倍精度シフ
ト演算が実現される。なお、上述の処理において、ステ
ップ2−1〜2−4は、プログラムの実行における1ス
テップにおいて実行され、ステップ3−1〜3−3は、
プログラムの実行における1ステップにおいて実行され
る。
【0065】なお、上位16ビットデータと下位16ビ
ットデータとからなる倍精度データを左にNビットだけ
算術シフトする場合には、上述したステップ3−2にお
いて、論理シフトの代わりに算術シフトを実行すればよ
い。論理シフトか算術シフトかは上位データにのみ関連
するからである。
【0066】以下、倍精度データを右にNビットだけ論
理シフトする方法を説明する。ここで、倍精度データ
は、上位の16ビットデータと下位の16ビットデータ
とからなり、Nは1以上の整数である。上位の16ビッ
トデータはレジスタ70に格納されており、下位の16
ビットデータはレジスタ71に格納されていると仮定す
る。また、倍精度シフト演算の結果のうち上位データは
レジスタ70に格納され、倍精度シフト演算の結果のう
ち下位データはレジスタ71に格納されると仮定する。
【0067】図6は、右Nビットの倍精度シフト演算の
処理を模式的に示す。図6において、括弧付きの数字
は、以下に示す各ステップの番号に対応する。
【0068】ステップ1:シフト数「N」がレジスタ1
0に格納される。
【0069】ステップ2−1:レジスタ70から上位デ
ータが読み出され、上位データはデータ(A)としてシ
フタ20に入力される。
【0070】ステップ2−2:シフタ20は、上位デー
タを右にNビットだけ論理シフトすることにより、上位
ビットデータ(B)と中位ビットデータ(D)と下位ビ
ットデータ(C)とを出力する。
【0071】ステップ2−3:ALU60は、シフタ2
0から出力された中位ビットデータ(D)をそのまま出
力する(スルー出力)。ALU60の出力は、上位デー
タとしてレジスタ70に格納される。
【0072】ステップ2−4:マルチプレクサ30は、
シフタ20から出力された上位ビットデータ(B)と下
位ビットデータ(C)のうち下位ビットデータ(C)を
選択する。選択された下位ビットデータ(C)はレジス
タ40に格納される。
【0073】ステップ3−1:レジスタ71から下位デ
ータが読み出され、下位データはデータ(A)としてシ
フタ20に入力される。
【0074】ステップ3−2:シフタ20は、下位デー
タを右にNビットだけ論理シフトすることにより、上位
ビットデータ(B)と中位ビットデータ(D)と下位ビ
ットデータ(C)とを出力する。
【0075】ステップ3−3:ALU60は、シフタ2
0から出力された中位ビットデータ(D)とレジスタ4
0に格納されたデータ(F)とに対して論理和演算を実
行する。ALU60の出力は、下位データとしてレジス
タ71に格納される。
【0076】このようにして、右Nビットの倍精度シフ
ト演算が実現される。なお、上述の処理において、ステ
ップ2−1〜2−4は、プログラムの実行における1ス
テップにおいて実行され、ステップ3−1〜3−3は、
プログラムの実行における1ステップにおいて実行され
る。
【0077】なお、上位16ビットデータと下位16ビ
ットデータとからなる倍精度データを右にNビットだけ
算術シフトする場合には、上述したステップ2−2にお
いて、論理シフトの代わりに算術シフトを実行すればよ
い。論理シフトか算術シフトかは上位データにのみ関連
するからである。
【0078】また、本実施例では、2ワード倍精度デー
タは、レジスタ70とレジスタ71に格納されていると
仮定した。しかし、本発明はこれに限られない。2ワー
ド倍精度データが他の保持回路に格納されている場合
に、その2ワード倍精度データをデータ(A)又はデー
タ(E)としてシフト演算装置に入力するようにしても
よい。
【0079】次に、3倍精度データを左にNビットだけ
論理シフトする方法を説明する。ここで、3倍精度デー
タは、上位の16ビットデータと中位の16ビットデー
タと下位の16ビットデータとからなり、Nは1以上の
整数である。この例では、図1に示されるレジスタ7
0、71に加えて、レジスタ72(図示せず)を使用す
る。
【0080】上位の16ビットデータはレジスタ70に
格納されており、中位の16ビットデータはレジスタ7
1に格納されており、下位の16ビットデータはレジス
タ72に格納されていると仮定する。また、3倍精度シ
フト演算の結果のうち上位データはレジスタ70に格納
され、3倍精度シフト演算の結果のうち中位データはレ
ジスタ71に格納され、3倍精度シフト演算の結果のう
ち下位データはレジスタ72に格納されると仮定する。
【0081】図7は、左Nビットの3倍精度シフト演算
の処理を模式的に示す。図7において、括弧付きの数字
は、以下に示す各ステップの番号に対応する。
【0082】ステップ101:シフト数「−N」がレジ
スタ10に格納される。
【0083】ステップ102−1:レジスタ71から下
位データが読み出され、下位データはデータ(A)とし
てシフタ20に入力される。
【0084】ステップ102−2:シフタ20は、下位
データを左にNビットだけ論理シフトすることにより、
上位ビットデータ(B)と中位ビットデータ(D)と下
位ビットデータ(C)とを出力する。
【0085】ステップ102−3:ALU60は、シフ
タ20から出力された中位ビットデータ(D)をそのま
ま出力する(スルー出力)。ALU60の出力は、下位
データとしてレジスタ72に格納される。
【0086】ステップ102−4:マルチプレクサ30
は、シフタ20から出力された上位ビットデータ(B)
と下位ビットデータ(C)のうち上位ビットデータ
(B)を選択する。選択された上位ビットデータ(B)
はレジスタ40に格納される。
【0087】ステップ103−1:レジスタ71から中
位データが読み出され、中位データはデータ(A)とし
てシフタ20に入力される。
【0088】ステップ103−2:シフタ20は、中位
データを左にNビットだけ論理シフトすることにより、
上位ビットデータ(B)と中位ビットデータ(D)と下
位ビットデータ(C)とを出力する。
【0089】ステップ103−3:ALU60は、ステ
ップ103−2においてシフタ20から出力された中位
ビットデータ(D)とステップ102−4においてレジ
スタ40に格納されたデータ(F)とに対して論理和演
算を実行する。ALU60の出力は、中位データとして
レジスタ71に格納される。
【0090】ステップ103−4:マルチプレクサ30
は、ステップ103−2においてシフタ20から出力さ
れた上位ビットデータ(B)と下位ビットデータ(C)
のうち上位ビットデータ(B)を選択する。選択された
上位ビットデータ(B)はレジスタ40に格納される。
【0091】ステップ104−1:レジスタ70から上
位データが読み出され、上位データはデータ(A)とし
てシフタ20に入力される。
【0092】ステップ104−2:シフタ20は、上位
データを左にNビットだけ論理シフトすることにより、
上位ビットデータ(B)と中位ビットデータ(D)と下
位ビットデータ(C)とを出力する。
【0093】ステップ104−3:ALU60は、ステ
ップ104−2においてシフタ20から出力された中位
ビットデータ(D)とステップ103−4においてレジ
スタ40に格納されたデータ(F)とに対して論理和演
算を実行する。ALU60の出力は、上位データとして
レジスタ70に格納される。
【0094】このようにして、左Nビットの3倍精度シ
フト演算が実現される。なお、上述の処理において、ス
テップ102−1〜102−4は、プログラムの実行に
おける1ステップにおいて実行され、ステップ103−
1〜103−4は、プログラムの実行における1ステッ
プにおいて実行され、ステップ104−1〜104−3
は、プログラムの実行における1ステップにおいて実行
される。
【0095】なお、上位16ビットデータと中位16ビ
ットデータと下位16ビットデータとからなる3倍精度
データを左にNビットだけ算術シフトする場合には、上
述したステップ104−2において、論理シフトの代わ
りに算術シフトを実行すればよい。論理シフトか算術シ
フトかは上位データにのみ関連するからである。
【0096】同様にして、右Nビットの3倍精度シフト
演算を行うこともできる。
【0097】さらに、一般に、NビットのM倍精度シフ
ト演算を行うことができる。ここで、Mは3以上の整数
である。図7を参照して既に説明した3倍精度シフト演
算の処理はM=3の例である。
【0098】以下、図8を参照して、NビットのM倍精
度シフト演算の処理の手順を説明する。NビットのM倍
精度シフト演算の処理は、処理1と(M−2)回繰り返
される処理2と処理3とを含んでいる。ここで、被シフ
トデータであるM倍精度データは、1個の単精度の第1
データと(M−2)個の単精度の第2データと1個の単
精度の第3データとからなると仮定する。ただし、シフ
ト方向が左である場合には、第3データ、第2データ、
第1データの順に上位ビットのデータであるとし、シフ
ト方向が右である場合には、第1データ、第2データ、
第3データの順に上位ビットのデータであるとする。
【0099】処理1は、以下のステップ801〜804
を含んでいる。
【0100】ステップ801:第1データをNビットだ
けシフトすることにより、上位ビットデータ(B)と中
位ビットデータ(D)と下位ビットデータ(C)とを出
力する。
【0101】ステップ802:ステップ801において
出力された中位ビットデータ(D)をシフト演算の結果
の部分として格納する。
【0102】ステップ803:シフト方向に応じてステ
ップ801において出力された上位ビットデータ(B)
と下位ビットデータ(C)のうちの一方を選択する。
【0103】ステップ804:ステップ803において
選択されたデータを格納する。
【0104】処理1のステップ803において、シフト
方向が左である場合には、上位ビットデータ(B)が選
択され、シフト方向が右である場合には、下位ビットデ
ータ(C)が選択される。処理1は、上述したステップ
102−1〜102−4に相当する。
【0105】処理2は、以下のステップ805〜809
を含んでいる。
【0106】ステップ805:(M−2)個の第2デー
タのうちの1つをNビットだけシフトすることにより、
上位ビットデータ(B)と中位ビットデータ(D)と下
位ビットデータ(C)とを出力する。
【0107】ステップ806:シフト方向に応じてステ
ップ805において出力された上位ビットデータ(B)
と下位ビットデータ(C)のうちの一方を選択する。
【0108】ステップ807:ステップ806において
選択されたデータを格納する。
【0109】ステップ808:ステップ805において
出力された中位ビットデータ(D)とステップ804及
びステップ807において最も最近に格納されたデータ
とを結合する。この結合は、例えば、論理和演算を実行
することによって達成される。
【0110】ステップ809:ステップ808において
結合されたデータをシフト演算の結果の部分として格納
する。
【0111】処理2のステップ806において、シフト
方向が左である場合には、上位ビットデータ(B)が選
択され、シフト方向が右である場合には、下位ビットデ
ータ(C)が選択される。処理2は、上述したステップ
103−1〜103−4に相当する。
【0112】処理3は、以下のステップ810〜812
を含んでいる。
【0113】ステップ810:第3データをNビットだ
けシフトすることにより、上位ビットデータ(B)と中
位ビットデータ(D)と下位ビットデータ(C)とを出
力する。
【0114】ステップ811:ステップ810において
出力された中位ビットデータ(D)とステップ807に
おいて最も最近に格納されたデータとを結合する。この
結合は、例えば、論理和演算を実行することによって達
成される。
【0115】ステップ812:ステップ811において
結合されたデータをシフト演算の結果の部分として格納
する。
【0116】処理3は、上述したステップ104−1〜
104−3に相当する。
【0117】このようにして、M回のシフト操作によ
り、M倍精度シフト演算が実現される。処理1と処理2
と処理3のそれぞれは、プログラム実行における1ステ
ップにおいて実行される。処理2は、(M−2)回繰り
返される。従って、M倍精度シフト演算は、シフト数の
設定を除いてMステップで実現される。M倍精度シフト
演算を実行するためには、多数のレジスタが必要とされ
る。しかし、データをいったん退避するなどの公知の手
法を用いることにより、レジスタの数を削減することが
できる。
【0118】
【発明の効果】本発明によれば、倍精度データを左にシ
フトする場合には、その左シフトにより下位データから
あふれたデータがレジスタに格納され、そのレジスタに
格納されたデータと上位データを左シフトした結果とが
結合される。また、倍精度データを右にシフトする場合
には、その右シフトにより上位データからあふれたデー
タがレジスタに格納され、そのレジスタに格納されたデ
ータと下位データを右シフトした結果とが結合される。
このように、倍精度データのシフト演算は、2回のシフ
ト操作により実現される。従って、従来のシフト演算装
置を用いた倍精度データのシフト演算に比べてシフト操
作を1回削減することができる。上述したように、LD
−CELPにおいては、約50万回/秒の倍精度シフト
演算が実行される。倍精度シフト演算におけるシフト操
作を1回削減することにより、プログラム実行時におけ
る動的ステップを50万ステップ/秒だけ削減すること
ができる。これにより、倍精度シフト演算を含む処理が
大幅に高速化される。また、プログラム実行時における
動的ステップの削減に相当する時間に他の処理を実行す
るようにしてもよい。あるいは、その削減に相当する時
間に処理を行わないこととして低電力化を図ることもで
きる。
【0119】同様にして、本発明によれば、M倍精度デ
ータのシフト演算をM回のシフト操作により実現するこ
とができる。ここで、Mは3以上の整数である。これに
より、多倍精度データのシフト演算を効率よく行なうこ
とができる。
【図面の簡単な説明】
【図1】本発明によるシフト演算装置の実施例の構成を
示す図である。
【図2】本発明によるシフト演算装置の他の実施例の構
成を示す図である。
【図3】図1に示されるシフタ20の構成を示す図であ
る。
【図4】図3に示される左2ビットシフタ302の構成
を示す図である。
【図5】本発明による左Nビット倍精度シフト演算の処
理を模式的に示す図である。
【図6】本発明による右Nビット倍精度シフト演算の処
理を模式的に示す図である。
【図7】本発明による左Nビット3倍精度シフト演算の
処理を模式的に示す図である。
【図8】本発明によるNビットM倍精度シフト演算の処
理を示すフローチャートである。
【図9】従来のシフト演算装置の構成を示す図である。
【図10】従来の倍精度シフト演算の処理を模式的に示
す図である。
【符号の説明】
10、40、70、71 レジスタ 20 シフタ 30、50 マルチプレクサ 60 演算器(ALU) 90 制御回路

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 シフト数に応じてデータをシフトするこ
    とにより、上位ビットデータと中位ビットデータと下位
    ビットデータとを出力するシフト手段と、 該シフト手段の出力に結合され、シフト方向に応じて該
    上位ビットデータと該下位ビットデータのうちの一方を
    選択する第1選択手段と、 該第1選択手段の出力に結合され、該第1選択手段によ
    って選択されたデータを格納する第1格納手段と、 該シフト手段の出力と該第1格納手段の出力とに結合さ
    れ、該中位ビットデータと該第1格納手段に格納された
    該データとに演算することにより、演算結果を出力する
    演算手段と、 該演算手段の出力に結合され、該演算結果を格納する第
    2格納手段とを備えたシフト演算装置。
  2. 【請求項2】 前記シフト演算装置は、 更なるデータを受け取り、制御信号に応じて該更なるデ
    ータと前記第1格納手段に格納された前記データとのう
    ちの一方を選択する第2選択手段をさらに備えており、
    該第2選択手段の出力が前記演算手段に入力される、請
    求項1に記載のシフト演算装置。
  3. 【請求項3】 前記シフト手段は、m個の2kビットシ
    フタ(k=0,1,...,m−1)と、2mビットシ
    フタと、前記シフト数をデコードすることにより、該m
    個の2kビットシフタ(k=0,1,...,m−1)
    及び該2mビットシフタのそれぞれにシフト動作を行う
    か否かを示す制御信号を供給するデコード手段とを備え
    ており、mは1以上の整数である、請求項1に記載のシ
    フト演算装置。
  4. 【請求項4】 前記2m-1ビットシフタの出力の一部
    は、前記第1選択手段の出力に等しい、請求項3に記載
    のシフト演算装置。
  5. 【請求項5】 前記第2格納手段は、前記演算結果の部
    分をそれぞれ格納する複数のレジスタを含んでいる、請
    求項1に記載のシフト演算装置。
  6. 【請求項6】 前記第2格納手段は、前記データの部分
    をそれぞれ格納する複数のレジスタと、前記演算結果の
    部分をそれぞれ格納する複数のレジスタとを含んでい
    る、請求項1に記載のシフト演算装置。
  7. 【請求項7】 第1データと第2データとを用いて、倍
    精度のシフト演算を行うシフト演算方法であって、 a)シフト数に応じて該第1データをシフトすることに
    より、上位ビットデータと中位ビットデータと下位ビッ
    トデータとを出力するステップと、 b)ステップa)において出力された該中位ビットデー
    タを該シフト演算の結果の部分として格納するステップ
    と、 c)シフト方向に応じてステップa)において出力され
    た該上位ビットデータと該下位ビットデータのうちの一
    方を選択するステップと、 d)ステップc)において選択されたデータを格納する
    ステップと、 e)該シフト数に応じて該第2データをシフトすること
    により、上位ビットデータと中位ビットデータと下位ビ
    ットデータとを出力するステップと、 f)ステップe)において出力された該中位ビットデー
    タとステップd)において格納された該データとを結合
    するステップと、 g)ステップf)において結合された該データを該シフ
    ト演算の結果の部分として格納するステップとを包含す
    るシフト演算方法。
  8. 【請求項8】 ステップf)における結合は、ステップ
    e)において出力された前記中位ビットデータとステッ
    プd)において格納された前記データとに対して論理和
    演算を実行することによって達成される、請求項7に記
    載のシフト演算方法。
  9. 【請求項9】 ステップa)〜ステップd)は、プログ
    ラムの実行における1ステップにおいて実行され、ステ
    ップe)〜ステップg)は、該プログラムの実行におけ
    る1ステップにおいて実行される、請求項7に記載のシ
    フト演算方法。
  10. 【請求項10】 第1データと少なくとも1つの第2デ
    ータと第3データとを用いて、多倍精度のシフト演算を
    行うシフト演算方法であって、 a)シフト数に応じて該第1データをシフトすることに
    より、上位ビットデータと中位ビットデータと下位ビッ
    トデータとを出力するステップと、 b)ステップa)において出力された該中位ビットデー
    タを該シフト演算の結果の部分として格納するステップ
    と、 c)シフト方向に応じてステップa)において出力され
    た該上位ビットデータと該下位ビットデータのうちの一
    方を選択するステップと、 d)ステップc)において選択されたデータを格納する
    ステップと、 e)該シフト数に応じて該少なくとも1つの第2データ
    のうちの1つをシフトすることにより、上位ビットデー
    タと中位ビットデータと下位ビットデータとを出力する
    ステップと、 f)該シフト方向に応じてステップe)において出力さ
    れた該上位ビットデータと該下位ビットデータのうちの
    一方を選択するステップと、 g)ステップf)において選択されたデータを格納する
    ステップと、 h)ステップe)において出力された該中位ビットデー
    タとステップd)及びステップg)において最も最近に
    格納されたデータとを結合するステップと、 i)ステップh)において結合された該データを該シフ
    ト演算の結果の部分として格納するステップと j)該シフト数に応じて該第3データをシフトすること
    により、上位ビットデータと中位ビットデータと下位ビ
    ットデータとを出力するステップと、 k)ステップj)において出力された該中位ビットデー
    タとステップg)において最も最近に格納されたデータ
    とを結合するステップと、 l)ステップk)において結合された該データを該シフ
    ト演算の結果の部分として格納するステップとを包含す
    るシフト演算方法。
  11. 【請求項11】 ステップh)における結合は、ステッ
    プe)において出力された前記中位ビットデータとステ
    ップd)及びステップg)において最も最近に格納され
    た前記データとに対して論理和演算を実行することによ
    って達成される、請求項10に記載のシフト演算方法。
  12. 【請求項12】 ステップk)における結合は、ステッ
    プj)において出力された前記中位ビットデータとステ
    ップg)において最も最近に格納された前記データとに
    対して論理和演算を実行することによって達成される、
    請求項10に記載のシフト演算方法。
  13. 【請求項13】 ステップa)〜ステップd)は、プロ
    グラムの実行における1ステップにおいて実行され、ス
    テップe)〜ステップi)は、該プログラムの実行にお
    ける1ステップにおいて実行され、ステップj)〜ステ
    ップl)は、該プログラムの実行における1ステップに
    おいて実行される、請求項10に記載のシフト演算方
    法。
  14. 【請求項14】 前記シフト演算方法は、ステップe)
    〜ステップi)を繰り返すステップをさらに包含する、
    請求項10に記載のシフト演算方法。
JP7020273A 1994-02-18 1995-02-08 シフト演算装置及びシフト演算方法 Pending JPH07281870A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7020273A JPH07281870A (ja) 1994-02-18 1995-02-08 シフト演算装置及びシフト演算方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2103794 1994-02-18
JP6-21037 1994-02-18
JP7020273A JPH07281870A (ja) 1994-02-18 1995-02-08 シフト演算装置及びシフト演算方法

Publications (1)

Publication Number Publication Date
JPH07281870A true JPH07281870A (ja) 1995-10-27

Family

ID=26357181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7020273A Pending JPH07281870A (ja) 1994-02-18 1995-02-08 シフト演算装置及びシフト演算方法

Country Status (1)

Country Link
JP (1) JPH07281870A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5750049A (en) * 1980-09-09 1982-03-24 Toshiba Corp Shifting circuit
JPS62249228A (ja) * 1986-04-22 1987-10-30 Nec Corp シフト装置
JPS62249227A (ja) * 1986-04-22 1987-10-30 Nec Corp シフト装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5750049A (en) * 1980-09-09 1982-03-24 Toshiba Corp Shifting circuit
JPS62249228A (ja) * 1986-04-22 1987-10-30 Nec Corp シフト装置
JPS62249227A (ja) * 1986-04-22 1987-10-30 Nec Corp シフト装置

Similar Documents

Publication Publication Date Title
JP5273866B2 (ja) 乗算器/アキュムレータ・ユニット
US7395304B2 (en) Method and apparatus for performing single-cycle addition or subtraction and comparison in redundant form arithmetic
US5631859A (en) Floating point arithmetic unit having logic for quad precision arithmetic
US20030055860A1 (en) Rounding mechanisms in processors
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
US5633897A (en) Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
KR20030011063A (ko) 곱셈-누산 연산의 단일 사이클 처리
JP3487903B2 (ja) 演算装置及び演算方法
EP0530372B1 (en) Numerical expression converter and vector processor using the same
US6754689B2 (en) Method and apparatus for performing subtraction in redundant form arithmetic
JPH064271A (ja) 乗算器
JPH07168697A (ja) 倍精度除算回路および方法
US6038675A (en) Data processing circuit
US5559730A (en) Shift operation unit and shift operation method
US5325321A (en) High speed parallel multiplication circuit having a reduced number of gate stages
CN120723201B (zh) 一种多精度浮点融合乘加结构和微处理器架构
US6314507B1 (en) Address generation unit
US5850227A (en) Bit map stretching using operand routing and operation selective multimedia extension unit
JPH09222991A (ja) 加算方法および加算器
JPH0546363A (ja) 除算器
US6269385B1 (en) Apparatus and method for performing rounding and addition in parallel in floating point multiplier
JPH07281870A (ja) シフト演算装置及びシフト演算方法
GB2549153A (en) Apparatus and method for supporting a conversion instruction
JPH10503311A (ja) ガロアフィールド多項式乗算/除算回路およびそれを組込むディジタル信号プロセッサ
Verbauwhede et al. A low power DSP engine for wireless communications

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 19991111