JPH05143324A - 消費電力を低減した乗算実行装置及びその方法 - Google Patents

消費電力を低減した乗算実行装置及びその方法

Info

Publication number
JPH05143324A
JPH05143324A JP4128182A JP12818292A JPH05143324A JP H05143324 A JPH05143324 A JP H05143324A JP 4128182 A JP4128182 A JP 4128182A JP 12818292 A JP12818292 A JP 12818292A JP H05143324 A JPH05143324 A JP H05143324A
Authority
JP
Japan
Prior art keywords
operand
multiplication
logic unit
arithmetic logic
input
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
JP4128182A
Other languages
English (en)
Other versions
JP3177922B2 (ja
Inventor
Jr James W Girardeau
ジエームズ・タブリユ・ジラルドー・ジユニア
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH05143324A publication Critical patent/JPH05143324A/ja
Application granted granted Critical
Publication of JP3177922B2 publication Critical patent/JP3177922B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • G06F7/53Multiplying only in parallel-parallel fashion, i.e. both operands being entered in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/499Denomination or exception handling, e.g. rounding or overflow
    • G06F7/49905Exception handling

Landscapes

  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Advance Control (AREA)
  • Power Sources (AREA)
  • Executing Machine-Instructions (AREA)
  • Logic Circuits (AREA)

Abstract

(57)【要約】 【目的】 乗算実行を低消費電力で行うこと。 【構成】 低消費電力の乗算実行装置30は演算論理ユ
ニット44及び乗算命令と等価な命令を実行するデコー
ドブロック41を含む。高頻度の乗算命令は変数と既知
の定数との間で発生する。既知の定数が+1もしくは−
1のときには、デコードブロック41は既知定数の符号
ビットに応じて演算論理ユニット44をイネーブルして
0に変数を加算しもしくは0からの変数の減算を行う。
変数と+1もしくは−1の既知定数との間の乗算および
累算命令に応答してデコードブロック41は演算論理ユ
ニット41をイネーブルし既知定数の符号ビットに応じ
て前回の累算結果に変数を加算もしくは減算する。いず
れの場合も、高速乗算器45はディセーブルされ、消費
電力が節約される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般的にはデータプロセ
ッサに関し、特に消費電力を低減した乗算を実行する方
法及び装置に関する。
【0002】
【従来の技術】長い間、ある集積回路マイクロプロセッ
サは一般にユーザによって提供された外部命令を実行す
るマイクロコードとして知られる内部プログラムを含ん
でいた。マイクロコードは内部メモリアレイに格納され
ている。マイクロプロセッサはマイクロコードメモリア
レイにアクセスするプログラムカウンタを含むロジック
によってマイクロコードを実行する。プログラムカウン
タロジックは外部命令を受けてマイクロコードエントリ
をアクセスしもしくはマイクロコードルーチンへジャン
プして外部命令を実行する。プログラムカウンタロジッ
クは、マイクロ命令もしくは単なる命令として知られる
マイクロコードに格納されたウェイト、条件付ジャン
プ、及び命令のシーケンスの機構を含んでいる。マイク
ロプロセッサはデータを集合的に実行ユニットとして知
られる内部レジスタに格納し、また、データパスを用い
て内部転送する。また、マイクロプロセッサは、加算、
乗算、シフト等の演算命令を実行するハードウェアを有
する。
【0003】プログラムカウンタロジックがマイクロコ
ード内のエントリをアクセスすると、マイクロコードは
マイクロ命令として知られるデータエレメントを提供
し、このデータエレメントはイネーブルすべきハードウ
ェアを指定するフィールド、ムーブすべきデータ等を含
む。フィールドはエンコードされており、デコーダは、
フィールドを、ハードウェアを動作のためにイネーブル
及びディセーブルする制御信号に変換する。ユーザが外
部算術命令を提供すると、マイクロコードはデータを内
部データパスを介して算術的ハードウェアにムーブ(移
動)させ、また、算術的ハードウェアの適切な部分を活
性化(activate)して外部命令を実行する。
【0004】
【発明が解決しようとする課題】たとえば、マイクロコ
ードが乗算命令を提供すると、マイクロ命令のフィール
ドはオペランドを内部データパスを介してムーブさせ、
ハードウェア乗算器の入力として提供されるようにす
る。通常のハードウェア乗算器たとえばブース乗算器、
アレイ乗算器等は高速動作を提供するものとして知ら
れ、マイクロプロセッサ設計においてよく用いられてい
る。マイクロプロセッサは代表的には上述の命令を実行
するのに多大の時間を消費するので、マイクロプロセッ
サ設計において高速乗算器を含むことは重要である。し
かしながら、高速乗算器は多大の電力を消費し、従っ
て、バッテリバックアップシステムのような低電力環境
で動作する必要があるマイクロプロセッサの動作に制限
を課すことになる。また、電気通信システムにおけるデ
ィジタル信号処理のようないくつかの環境は多数の乗算
命令を必要とする計算集約的なアルゴリズムに依存す
る。
【0005】
【課題を解決するための手段】従って、本発明の一形式
によれば、イネーブルされたときに、各第1、第2の制
御信号の第1、第2の所定状態に応答して第1、第2の
入力を加算もしくは該第1の入力から前記第2の入力を
減算する演算論理ユニットと、第2のオペランドが+1
もしくは−1に等しい乗算命令に応答して、乗算の第1
のオペランドを前記演算論理ユニットの前記第1の入力
として提供し、2進数0を前記演算論理ユニットの前記
第2の入力として提供する手段と、前記第2のオペラン
ドの符号ビットに応答して前記第1もしくは第2の所定
論理状態にある前記第1、第2の制御信号を提供し、前
記第2のオペランドが+1もしくは−1に等しい乗算命
令に応答して前記演算論理ユニットをイネーブルにする
デコード手段とを具備する消費電力を低減した乗算実行
装置が提供される。
【0006】また、本発明の他の形式によれば、第1、
第2のオペランドの間の乗算を実行するための消費電力
を低減した乗算実行方法であって、前記第2のオペラン
ドが+1もしくは−1である乗算命令を検出するステッ
プと、前記第1のオペランドを第1の入力として演算論
理ユニットに提供するステップと、0を第2の入力とし
て前記演算論理ユニットに提供するステップと、前記第
2のオペランドの符号ビットの正もしくは負の値に応答
してそれぞれ前記演算論理ユニットを加算もしくは減算
に対してイネーブルするステップと、前記演算論理ユニ
ットを活性化するステップと、前記演算論理ユニットの
出力を前記乗算の結果として提供するステップとを具備
する方法が提供される。
【0007】さらに、本発明の他の形式によれば、第
1、第2のオペランドを乗算および累算する消費電力を
低減した乗算および累算実行方法であって、前記第1の
オペランドが+1もしくは−1である乗算および累算命
令を検出するステップと、前の演算結果を第1の入力と
して演算論理ユニットに提供するステップと、前記第2
のオペランドを第2の入力として前記演算論理ユニット
に提供するステップと、前記第1のオペランドの符号ビ
ットの正もしくは負の値に応答してそれぞれ前記演算論
理ユニットを加算もしくは減算に対してイネーブルする
ステップと、前記演算論理ユニットを活性化するステッ
プと、前記演算論理ユニット(44)の出力を前記乗算
および累算命令の結果として提供するステップと、を具
備する方法が提供される。
【0008】
【実施例】図1は従来の乗算命令を実行する演算ユニッ
ト20のブロック図である。演算ユニット20は、マル
チプレクサ21、演算論理ユニット(ALU)22、乗
算器23、マルチプレクサ24、及びアキュムレータ2
5を含む。マルチプレクサ21は2つの入力を有し、第
1の入力はアキュムレータ25の出力に接続され、第2
の入力は「第1のオペランド」と名付けられたデータエ
レメントを受信する。マルチプレクサ21は出力を有
し、この出力はALU22の第1の入力つまり「A入
力」として受信される。ALU22は第2の入力つまり
「B入力」で「第2のオペランド」と名付けられたデー
タエレメントを受信し、また、出力を有する。乗算器2
3は第1のオペランドを受信するA入力、第2のオペラ
ンドを受信するB入力、及びアキュムレータ25の出力
に接続された第3の入力つまり「Z入力」、及び出力を
有する。マルチプレクサ24は、ALU22および乗算
器23の出力にそれぞれ接続された第1、第2の入力、
および「演算結果」と名付けられアキュムレータ25の
入力として提供される出力を有する。
【0009】種々のエレメントの制御信号は図1に示さ
れていないが、演算ユニット20の動作説明から明らか
になる。マルチプレクサ21はALU22のA入力を第
1のオペランドもしくは前回動作の演算結果を示すアキ
ュムレータ25の出力にするために設けられている。A
LU22は通常の演算論理ユニットであって、A,B入
力間での加算、減算、否定、絶対値、左右シフト、排他
的論理オア等の論理演算を含む種々の演算を実行する。
乗算器23はブース乗算器もしくはアレイ乗算器のよう
な通常の高速乗算器であって、A,B入力間で乗算を実
行する。また、乗算器23は前回演算の積を示すZ入力
を含み、イネーブルされれば、このZ入力にA,B入力
の積が加算できる。マルチプレクサ24は、ALU22
の出力もしくは乗算器23の出力を選択し、演算結果を
提供する。アキュムレータ25はレジスタであって、そ
の出力に後続の演算において電位として用いられる演算
結果を提供する。
【0010】演算ユニット20は、集積回路マイクロプ
ロセッサのようなデータプロセッサの一部分として種々
の演算動作を実行するのに適する。演算命令を示すマイ
クロ命令に応答して、デコーダ(図1に図示せず)はマ
イクロ命令の1フィールドをデコードして制御信号を演
算ユニット20の種々のエレメントに提供する。マイク
ロ命令が第1、第2のオペランドとして提供された2つ
のデータエレメント間での加算を示すとき、デコーダは
マルチプレクサ21の第2の入力を選択してALU22
のA入力として提供し、ALU22に加算を実行するこ
とを示す制御信号を提供し、また、マルチプレクサ24
の第1の入力を選択して演算結果として提供する。
【0011】マイクロ命令が乗算のときには、異なるエ
レメントがイネーブルされる。制御信号が乗算器23に
提供され、A,B入力間の乗算が発生することを指示
し、また、乗算器23がイネーブルされる。また、制御
信号はマルチプレクサ24の第2の入力が演算結果とし
て提供されるべきことを指示する。マイクロ命令が累算
をさもなう乗算命令を指示しているときには、制御信号
が乗算器24に提供され、A,B入力間の乗算が行なわ
れ、その演算結果がZ入力に加算されるべきことを指示
する。また、制御信号はマルチプレクサ24の第2の入
力が演算結果として提供されるべきことを指示する。典
型的なアルゴリズムにおいては、乗算および累算命令は
繰返し実行され、したがって、1サイクルの演算結果は
アキュムレータ25に格納され、後続のサイクルにおい
て発生する乗算のZ入力となる。
【0012】演算ユニット20は乗算命令、乗算および
累算命令を含む種々の演算動作を実行する。乗算命令も
しくは乗算および累算命令が実行されるときには、高速
乗算器23が用いられる。演算ユニット20のアーキテ
クチャは、高速乗算動作が好ましい応用もしくは消費電
力が重要でない応用に適している。しかしながら、高速
乗算が好ましいが、低消費電力も重要である応用、特
に、計算集約型の応用である場合には、演算ユニット2
0は問題となる。
【0013】図2は本発明の好ましい一実施例に係わる
消費電力を低減した乗算を実行する演算ユニット40を
含むデータプロセッサ30を示すブロック図である。デ
ータプロセッサ30は、一般的に、プログラムカウンタ
ロジックブロック31、マイクロコードメモリ32、命
令レジスタ33、定数リードオンリメモリ(ROM)3
4、レジスタファイル/実行ユニット35、データパス
“XDATA”、データパス“YDATA”、アドレス
バス“XADDRESS”、アドレスバス“YADDR
ESS”、及び演算ユニット40を含む。さらに、演算
ユニット40は、デコードブロック41、マルチプレク
サ42、マルチプレクサ43、演算論理ユニット(AL
U)44、乗算器/加算器45、シフタ46、マルチプ
レクサ47、及びアキュムレータ48を含む。
【0014】プログラムカウンタロジックブロック31
はクロック(CLOCK)信号及びリセット(RESE
T)信号を受信し、レジスタファイル/実行ユニット3
5に接続され、出力としてマイクロコードアドレス(M
ICROCODEADDRESS)を提供する。マイク
ロコードメモリ32はマイクロコードアドレスを受信
し、データパスXDATAに接続された入力を有する。
命令レジスタ33はマイクロコードメモリ32に接続さ
れ、データパスXDATAに接続された入力を有する。
定数ROM34は命令レジスタ33に接続された入力を
有し、演算ユニット40に出力を提供する。レジスタフ
ァイル/実行ユニット35は命令レジスタ33に接続さ
れた入力を有し、データパスXDATAに接続され、プ
ログラムカウンタロジックブロック31、アドレスバス
XADDRESS、YADDRESSに出力を提供す
る。
【0015】演算ユニット40においては、マルチプレ
クサ42はアキュムレータ48の出力に接続された第1
の入力つまりA入力、データパスYDATAに接続され
た第2の入力つまりB入力、及び出力を有する。マルチ
プレクサ43は定数ROM34に接続されたA入力、デ
ータパスXDATAに接続されたB入力、及び出力を有
する。ALU44はマルチプレクサ42の出力を受ける
A入力、マルチプレクサ43の出力を受けるB入力、お
よび出力を有する。乗算器/加算器45は、マルチプレ
クサ42の出力に接続されたA入力、マルチプレクサ4
3の出力に接続されたB入力、アキュムレータ48の出
力に接続されたZ入力、及び出力を有する。シフタ46
は、マルチプレクサ42の出力を受信する入力、マルチ
プレクサ43の出力の一部を受信するシフト制御入力、
及び出力を有する。マルチプレクサ47は、ALU44
の出力に接続されたA入力、乗算器/加算器45の出力
に接続されたB入力、シフタ46の出力に接続された第
3の入力つまりC入力、及びデータパスXDATAに演
算結果を提供する出力を有する。アキュムレータ48は
マルチプレクサ47の出力に接続された入力を有し、ア
キュムレータ48の出力はマルチプレクサ42の第2の
入力及び乗算器/加算器45のZ入力を提供する。デコ
ードブロック41は命令レジスタ33に接続され、ま
た、マルチプレクサ42、マルチプレクサ43、ALU
44、乗算器/加算器45、シフタ46、マルチプレク
サ47、及びアキュムレータ48に接続されている。
【0016】データプロセッサ30は、外部プログラム
の一部として外部命令を受信する。データプロセッサ3
0は各外部命令に応答してマイクロコードメモリ32に
格納されいるマイクロプログラムの対応ルーチンを実行
する。マイクロコードメモリ32の各ラインまたはアド
レスはマイクロ命令(単に命令と称することもある)を
格納している。マイクロアセンブラは各外部命令に応答
して実行すべきマイクロ命令のシーケンス及びコーディ
ングを提供する。このマイクロアセンブラはデータプロ
セッサ30に提供される外部命令をエンコードする外部
アセンブラと区別されるべきである。
【0017】データプロセッサ30は、2つのデータパ
ス、つまり、各XADDRESS、YADDRESSに
よってアクセスされるXDATAパス、YDATAパス
を有する。プログラムカウンタロジック31はマイクロ
コードメモリ32へのアクセスのためのアドレスを提供
する。リセット信号が活性化されると、プログラムカウ
ンタロジック31はマイクロコードメモリ32に既知の
開始アドレスをリセットする。リセット信号が非活性化
されると、プログラムカウンタロジック31はクロック
信号によって提供されるクロック情報を用いてマイクロ
コードメモリ32へのシーケンシャルなアクセスを開始
する。レジスタファイル/実行ユニット35は状態また
は条件コード(condition codes)のよ
うな指示を提供し、これを受けて、プログラムカウンタ
ロジック31は次のクロックサイクルにてウェイト、ジ
ャンプ、マイクロコードアドレスの歩進または増分等の
行動をとる。マイクロコードメモリ32はリードオンリ
メモリ(ROM)に格納されたマイクロプログラム、及
びデータプロセッサ30がXDATAパスを介して外部
プログラムメモリをアクセスするときに受信された外部
命令を格納するメモリを有する。あるマイクロ命令がア
クセスされると、それは他のマイクロ命令がアクセスさ
れるまで命令レジスタ33に記憶される。命令レジスタ
33はマイクロ命令の適切なフィールドをデータプロセ
ッサ30の種々のブロック、たとえばレジスタファイル
/実行ユニット35、定数ROM34、デコードブロッ
ク41に提供する。これらのフィールドはマイクロ命令
の符号化されたフィールドであり、選択されたハードウ
ェアブロックによってさらにデコードされる必要があ
る。
【0018】演算動作が実行されるとき、デコードブロ
ック41は、その演算動作を検出して、制御信号を演算
ユニット40内の種々のブロックへ提供する。たとえ
ば、YDATAパスからの第1のオペランドとXDAT
Aパスからの第2のオペランドとの間で加算が実行され
るとする。このとき、デコードブロック41はマルチプ
レクサ41に制御信号を提供してその第1の入力を選択
し、また、YDATAパスからのデータがALU44の
A入力として提供される。同様に、デコードブロック4
1はマルチプレクサ43に制御信号を提供してその第2
の入力を選択し、また、XDATAパスからのデータが
ALU44のB入力として提供される。デコードブロッ
ク41はALU44に加算が実行されるべきであること
を指示し、ALU44を活性化させる。デコードブロッ
ク41はマルチプレクサ47に制御信号を提供し、その
第1の入力つまりALU44の出力が演算結果として提
供されるべきことを指示する。
【0019】しかしながら、オーバフローの可能性のた
めに、ALU44の出力及び乗算器/加算器45の出力
は24ビットである。下位16ビットのみがXDATA
パスへ演算結果として提供されるが、過剰の8ビットは
延長ワードとして提供されもしくは演算の終了後の状態
コードとして表現される。ALU44、乗算器/加算器
45、シフタ46の各出力は24ビットデータエレメン
トであるが、演算結果及びXDATAパス、YDATA
パスは16ビットである。オペランドが非常に大き過ぎ
ると過剰ビットがオーバフローの結果を生じ、演算の状
態コード結果を示す。図2には過剰ビットの使用は図示
されていないが、このような使用は既知であり、本願発
明に何ら影響しない。図示の実施例においては、YDA
TAパスは代表的には変数のアクセスに用いられ、XD
ATAパスは代表的には定数のアクセスに用いられる。
【0020】電気通信の動作用の計算集約型ディジタル
信号処理のようないくつかの応用においては、アルゴリ
ズムは変数と定数との乗算をよく使用する。このような
応用において使用される一変数と幾つかの定数との乗算
は電力消費型乗算器の使用を必要としないアルゴリズム
によって再現できる。本発明によれば、演算ユニット4
0はそのユニット自身の演算ソースを選択的に使用する
ことによって低消費電力で乗算を実行して通常の高速の
乗算器/加算器等45を用いることなく乗算演算の一部
を実行する。
【0021】図3は図2の演算ユニット40に伴う乗算
命令のフローチャートを示す。図3のフローチャートの
方法は図2の演算ユニット40に適用できるが、他の装
置でも実行できる。ステップ50では、乗算命令が受信
される。乗算命令は2つの型があり、これらの型はオペ
ランドが+1もしくは−1の値を有するか否かによる。
図2に示される実施例においては、+1もしくは−1の
値を有するオペランドを有するマイクロ命令の出現の認
識はマイクロアセンブラによって行われる。他の実施例
においては、外部アセンブラ自身が乗算命令が+1もし
くは−1の値を有するオペランドを有するか否かを認識
する。この場合、外部アンブラは乗算が+1もしくは−
の値を有するオペランドで実行されるべきか否かに依存
してデータプロセッサ30に2つの異なる外部命令を提
供する。このようにマイクロコードメモリ32は受信し
た外部命令の型式に応答して異なるルーチンを実行しな
ければならない。さらに他の実施例においては、図5に
よって後に説明するように、図2のデコードブロック4
1に等価なブロックが1つのオペランドが+1もしくは
−1に等しい乗算命令の存在を認識する。この場合、外
部アセンブラもマイクロアセンブラも乗算の型式を検出
する必要はない。
【0022】命令が第2のオペランドが+1でも−1で
もない乗算命令であるときには、“mpy”で示される
ニーモニックを有する命令が実行される。ステップ51
では、2つのオペランドがそれぞれA入力、B入力とし
て提供される。オペランドの発生源(source
s)、たとえばオンチップレジスタ、オフチップメモリ
の位置、はまた命令によって規定される。たとえば、代
表的な乗算命令はYDATAパスを介してメモリから第
1のオペランドをフェッチし、XDATAパスを介して
メモリから第2のオペランドをフェッチする。2つのオ
ペランドが乗算器/加算器45の入力にて有効であると
きには、ステップ52にて乗算器/加算器45が活性化
される。乗算器/加算器45は乗算を実行し、その出力
に乗算積を提供する。その乗算積はステップ53にて演
算結果として提供され、このステップにて演算が終了す
る。
【0023】第2のオペランドが+1もしくは−1の値
を有するものとして認識されると、符号“mpyk”を
有する命令が認識される。ステップ60にて、第1のオ
ペランドが命令によって規定されるソースからALU4
4へ提供される。乗算器/加算器45の代りにALUを
用い、乗算器/加算器45を非活性(パワーダウン)に
維持する。しかしながら、第2のオペランドをALU4
4に提供する代りにステップ61にて0(ゼロ)を提供
する。第2のオペランドの最上位ビット(MSB)つま
り符号ビットが2進値1でないときには、ステップ62
にてALU44を加算のためにイネーブルする。第2の
オペランドのMSBが2進値1であれば、ステップ63
にてALU44を減算のためにイネーブルする。その
後、第2のオペランドのMSBの値に関係なく、ステッ
プ64にてALU44が活性化される。ステップ65に
てALU44の出力が演算結果として提供される。
【0024】mpyk命令に応答して実行される加算の
効果は乗算が実行された場合と同一である。第1のオペ
ランドと値+1との乗算積は第1のオペランドであり、
0に第1のオペランドを加算した値と等価である。第1
のオペランドと値−1との乗算結果は第1のオペランド
の負の値であり、0から第1のオペランドを減算した値
と等価である。しかしながら、乗算器/加算器45が消
費電力を犠牲にして複雑な乗算を迅速に実行するように
設計されているので乗算器/加算器45の代りにALU
44を用いることは消費電力の著しい減少を招くことに
なる。
【0025】代表的なディジタル信号処理(DSP)シ
ステムにおいては、第1のオペランドを提供する、YD
ATAパスによってアクセスされるメモリ位置はリアル
タイム計算に用いられる変数を格納している。これに対
し、第2のオペランドを提供する、XDATAパスによ
ってアクセスされるメモリ位置は頻繁に使用されるアル
ゴリズムにおける定数を格納している。このように、第
2のオペランドの値に基づくmpykアルゴリズムを選
択的に用い、そして、図3に示す第2のオペランドの符
号ビットに応答して第1のオペランドを0に加算もしく
は第1のオペランドを0から減算する方法は消費電力を
著しく低減させることになる。
【0026】図4は図2の演算ユニット40の詳細を示
すブロック図である。図2における同一構成要素には同
様の参照番号が付してある。図4と図2との相違は図4
がデコードブロック41のさらに詳細及びブロック41
から種々のブロックへ提供される制御信号を示している
ことである。デコードブロック41は、デコーダ70、
マルチプレクサ71、アンドゲート72、及び排他的オ
アゲート73を含んでいる。デコーダ70は、信号“M
UX1 SELAB”,“ALU SEL”,“ALU
C1”,“ALU C0”,“K EN”,“MUX
2 SELAB”,“MAC SEL”,“MPY/M
AC”,及び“MUX3 SELAB”を提供する。マ
ルチプレクサ71は、YDATAパス上のデータエレメ
ントのMSBを受信する第1の入力端子、XDATAパ
スによって導かれるデータエレメントのMSBを受信す
る第2の入力端子、及び出力端子を有する。アンドゲー
ト72は、信号K ENを受信する第1の入力端子、マ
ルチプレクサ71の出力端子に接続された第2の入力端
子、出力信号“INVK”を提供する出力端子を有す
る。排他的オアゲート73は信号ALU C0を受信す
る第1の入力端子、信号INVKを受信する第2の入力
端子、及び信号“K ALU C0”を提供する出力端
子を有する。
【0027】信号MUX1 SELABはマルチプレク
サ42に提供され、YDATAパス上のデータエレメン
トとアキュムレータ24の出力との間の選択を行う。A
LU44は、3つの制御信号ALU SEL,ALU
C1,K ALUC0を受信する。これらの3つの制御
信号の組合わせは実行すべき演算の型を決定し、ALU
44をイネーブルにする。マルチプレクサ45は信号M
AC SEL,MPY/MACを受信する。信号MPY
/MACはZ入力を現在の乗算演算結果に加算するため
に使用すべきか否かを決定する。信号MAC SELは
乗算器45を活性化する。信号MUX3 SELABは
演算結果として提供すべきはALU44の出力か乗算器
45の出力かを決定する。
【0028】デコーダ70は図2の命令レジスタ33に
よって保持された命令のフィールドのデコードに応じて
制御信号を提供する。また、マルチプレクサ71、論理
ゲート72,73は選択された第2のオペランドのMS
Bに応答してALU44に付加的制御信号を提供する。
表1は種々の演算に対してデコードブロック41によっ
て提供された制御信号の真理値表を示す。 [表 1] 命令符号 K EN MUX1 MUX2 MAC MPY/ ALU ALU ALU MUX3 SELAB SELAB SEL *MAC SEL C1 C0 SELAB −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− mpyA・B 0 0 0 1 1 0 x x 0 macA・B 0 0 0 1 0 0 x x 0 addA+B 0 0 0 0 x 1 0 0 1 negA 0 1 0 0 x 1 1 1 1 moveA,acc 0 x 0 0 x 1 1 0 1 mpykA,B 1 1 0 0 x 1 1 0 1 mackA,B 1 0 1 0 x 1 0 0 1 ただし、Aは通常YDATAパスから読み出される第1
のオペランド、Bは通常XDATAパスから読み出され
る第2のオペランド、mpykはBオペランドが+1も
しくは−1に等しい場合の乗算命令、mackはAオペ
ランドが+1もしくは−1に等しい場合の乗算および累
算命令である。また、*は反転を表わす。
【0029】さらに、表2はALU44の制御信号の真
理値表であって、これらの信号の意味の理解に役立つも
のである。 [表 2] 信 号 動 作 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ALU SEL ALU C1 K ALU C0 1 0 0 演算結果=A+B 1 0 1 演算結果=A-B 1 1 0 演算結果=Aを出力 1 1 1 演算結果=B-A 0 X X ALU パワーダウン
【0030】マルチプレクサ制御信号が2進値1であれ
ば、対応マルチプレクサはAオペランドを出力し、マル
チプレクサ制御信号が2進値0であれば、対応マルチプ
レクサはBオペランドを出力する。信号MAC SEL
が2進値1である場合に、信号MPY/*MACが2進
値1であれば乗算器/加算器45は(A・B)を出力
し、信号MPY/*MACが2進値0であれば乗算器/
加算器45は(Z+A・B)を出力する。信号MAC
SELが2進値0である場合には乗算器/加算器45は
パワーダウンする。このように、mpyk命令もしくは
mack命令を実行するときには、高速乗算器/加算器
45によって消費される電力は節約される。
【0031】デコードブロック41が既にmpykもし
くはmackとしてエンコードされた命令を受信するこ
とを認識することが重要である。このように、マイクロ
コードをコンパイルするアセンブラは第2のオペランド
が+1もしくは−1に等しいアルゴリズムを認識し、命
令mpyもしくはmacの代りに命令mpykもしくは
mackの適当な命令を提供する。しかしながら、第2
のオペランドが+1もしくは−1であることを決定する
他の方法も可能である。たとえば、図5は本発明に係わ
る図2、図4の演算ユニットの他の実施例40′を示す
ブロック図である。演算ユニット40′は図4の演算ユ
ニット40とほぼ同一であるが、演算ユニット40′が
デコーダ70′、検出器74,75を含む点で異なる。
第1のオペランドの値が+1もしくは−1のときに、検
出器74は第1のオペランドを受信して信号“YDET
1”を提供する。第2のオペランドの値が+1もしくは
−1のときに、検出器75は第2のオペランドを受信し
て信号“XDET1”を提供する。デコーダ70′は表
1に示された制御信号を提供するが、mpyk命令はX
DATAパスを第2のオペランド源としてかつXDET
1を肯定してmpy命令を受信することによって検出さ
れ、また、mack命令はYDATAパスを第1のオペ
ランド源としかつYDET1を肯定してmac命令を受
信することによって検出される点で異なる。
【0032】図6は図2、図4の演算ユニットに伴う乗
算および累算命令のフローチャートである。命令がステ
ップ80にて受信された後に、該命令がmac命令かm
ack命令かを判別する。オペランドが+1もしくは−
1であることを検出する方法として、マイクロコードア
センブラを介してもしくは図5に示すデコード論理によ
るものを含む、異なる方法も可能である。mac命令の
場合には、ステップ81にて双方のオペランドが演算の
第1、第2のオペランドとして提供される。ステップ8
2では、前回の累算結果が乗算器/加算器45のZ入力
として提供される。次に、ステップ83では、乗算器/
加算器45が乗算および累算演算のためにイネーブルさ
れ、乗算器/加算器45は活性化される。最後にステッ
プ84にて、演算結果が乗算器/加算器45の出力とし
て提供される。
【0033】受信された命令がmack命令のときに
は、ステップ90にてアキュムレータ48の出力がAL
U44のA入力として提供される。次に、ステップ91
にて、B入力がXDATAパスを介して提供される。Y
DATAオペランドのMSBが1でないとき(YDAT
Aオペランドが正の値)には、ステップ92にてA,B
間の加算がイネーブルされる。他方、YDATAオペラ
ンドのMSBが2進値1(YDATAオペランドが負の
値)であれば、ステップ93にてAオペランドからのB
オペランドの減算がイネーブルされる。その後、ステッ
プ94にてALU44が活性化され、ステップ95にて
ALU44の出力が演算結果として提供される。mac
k命令とmpyk命令との重大な相違は、mack命令
においては、オペランドの符号ビットによって決定され
た方法で0の代りにオペランドが前回の演算結果に加算
される点のみである。
【0034】以上のごとく、低消費電力の乗算命令を実
行する演算ユニットが説明されたことが明らかである。
演算ユニットは通常の高速乗算器/加算器より低消費電
力の回路を用いて変数と+1もしくは−1の既知の定数
との乗算に等価の演算を実行することによって消費電力
を低減する。消費電力を低減する変数と+1もしくは−
1の定数との乗算命令を実行する方法もまた説明され
た。
【0035】本発明の一形態においては、装置40はイ
ネーブルされたときに第1、第2のオペランドを乗算す
る乗算器45を備えている。マルチプレクス手段47は
乗算器45に接続され、それぞれ第3または第4の所定
状態にある第3の制御信号に応答して演算論理ユニット
44もしくは乗算器45からの演算結果を提供する。さ
らに、デコード手段41は、乗算器をイネーブルし、第
2のオペランドが+1、−1のいずれでもない乗算命令
に応答して第3の制御信号を第4の所定状態にし、ま
た、第2のオペランドが+1もしくは−1である乗算命
令に応答して第3の制御信号を第3の所定状態にする。
【0036】また、本発明の他の形態では、第2のオペ
ランドが+1もしくは−1の値を有するときに第2の乗
算命令が発生する。
【0037】さらに、本発明の他の形態では、第2のオ
ペランドが+1、−1のいずれでもないときに第1の乗
算命令が発生する。
【0038】さらに、本発明の他の形態では、消費電力
を低減した乗算実行方法は、前記第2のオペランドが+
1、−1いずれでもない乗算命令を検出するステップ
と、各第1、第2のオペランドをそれぞれ第1、第2の
入力として乗算器45に提供するステップと、乗算器4
5を活性化するステップと、乗算器45の出力を乗算の
積として提供するステップと、を具備する。
【0039】さらに、本発明の他の形態では、前記乗算
実行方法が、第1のオペランドが+1、−1のいずれで
もない乗算および累算命令を検出するステップと、第
1、第2のオペランドを乗算器/加算器45に第1、第
2の入力として提供するステップと、前回の演算結果を
加算入力として乗算器/加算器45に提供するステップ
と、乗算器/加算器45を活性化するステップと、乗算
器/加算器45の出力を乗算および累算命令の結果とし
て提供するステップとを具備する。
【0040】本発明は好ましい実施例に関して説明した
が、本発明は種々の変更が可能であり、また、上述した
実施例以外の多くの実施例も可能である。たとえば、多
くの異なる演算ユニットを図3、図6の方法を実行する
よう構成できる。また、図2、図4、図5の演算ユニッ
トは上述の乗算演算以外の付加的機能を実行し、また、
これらの付加的機能を達成するために制御信号の異なる
コーディングを用いることもできる。オペランドのサイ
ズもまた他の実施例において変更できる。従って、特許
請求の範囲は本発明の真の精神及び範囲内における本発
明のすべての変更を包含するものである。
【0041】
【発明の効果】以上説明したように本発明によれば、乗
算演算を低消費電力で実行できる。
【図面の簡単な説明】
【図1】従来の乗算命令を実行する演算ユニットのブロ
ック図である。
【図2】本発明の一実施例に係わる低消費電力で乗算を
実行する演算ユニットを含むデータプロセッサのブロッ
ク図である。
【図3】図2の演算ユニットに係わる乗算命令のフロー
チャートである。
【図4】図2の演算ユニットの詳細なブロック図であ
る。
【図5】本発明に係わる図2、図3の演算ユニットの他
の実施例のブロック図である。
【図6】図2、図4の演算ユニットに係わる乗算および
累算命令のフローチャートである。
【符号の説明】 21 マルチプレクサ 22 ALU 23,24 マルチプレクサ 25 アキュムレータ 31 プログラムカウンタロジック 32 マイクロコードメモリ 33 命令レジスタ 34 定数ROM 35 レジスタファイル/実行ユニット 40,40′ 演算ユニット 41 デコードブロック 42,43 マルチプレクサ 44 ALU 45 乗算器/加算器 46 シフタ 47 マルチプレクサ 48 アキュムレータ 70,70′ デコーダ 71 マルチプレクサ 74,75 検出器

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 イネーブルされたときに、それぞれ第
    1、第2の制御信号の第1、第2の所定状態に応答して
    第1、第2の入力を加算もしくは該第1の入力から前記
    第2の入力を減算してその出力を提供する演算論理ユニ
    ット(44)と、 第2のオペランドが+1もしくは−1に等しい乗算命令
    に応答して、第1のオペランドを前記演算論理ユニット
    (44)の前記第1の入力として提供し、2進数0を前
    記演算論理ユニット(44)の前記第2の入力として提
    供する手段(41,42,43)と、 前記第2のオペランドの符号ビットに応答して前記第
    1、第2の制御信号を前記第1もしくは第2の所定論理
    状態にし、前記第2のオペランドが+1もしくは−1に
    等しい乗算命令に応答して前記演算論理ユニット(4
    4)をイネーブルするデコード手段(41)と、 前記演算論理ユニット(44)に接続され、前記第2の
    オペランドが+1もしくは−1に等しい乗算命令に応答
    して前記第1、第2のオペランドの積として前記演算論
    理ユニットの出力を提供するマルチプレクサ手段(4
    7)と、 を具備する消費電力を低減した乗算実行装置(40)。
  2. 【請求項2】 第1、第2のオペランドを乗算する第
    1、第2の乗算命令を含む乗算を実行するための消費電
    力を低減した乗算実行装置(30)であって、 活性化されたときに、0に前記第1のオペランドを加算
    して第1の出力を提供する加算手段(44)と、 活性化されたときに、0から前記第1のオペランドを減
    算して前記第1の出力を提供する減算手段(44)と、 活性化されたときに、前記第1、第2のオペランドを乗
    算して第2の出力を提供する乗算器(45)と、 前記加算手段(44)、前記減算手段(44)、及び前
    記乗算器(45)に接続され、前記第1、第2の出力の
    内の選択された1つの出力に応答して演算結果を提供す
    るマルチプレクス手段(47)と、 前記加算手段(44)、前記減算手段(44)、及び前
    記乗算器(45)に接続され、前記第1の乗算命令に応
    答して前記乗算器(45)を活性化し、前記第2の乗算
    命令中に前記第2のオペランドの符号ビットが2進数0
    に等しいときに前記加算手段(44)を活性化し、前記
    第2の乗算命令中に前記第2のオペランドの符号ビット
    が2進数1に等しいときに前記減算手段(44)を活性
    化するデコード手段(41)と、 を具備する乗算実行装置。
  3. 【請求項3】 第1、第2のオペランドを乗算する消費
    電力を低減した乗算実行方法であって、 前記第2のオペランドが+1もしくは−1である乗算命
    令を検出するステップと、 前記第1のオペランドを第1の入力として演算論理ユニ
    ット(44)に提供するステップと、 第2の入力として0(ゼロ)を前記演算論理ユニット
    (44)に提供するステップと、 前記第2のオペランドの符号ビットの正もしくは負の値
    に応答して前記演算論理ユニット(44)をそれぞれ加
    算もしくは減算のためにイネーブルするステップと、 前記演算論理ユニット(44)を活性化するステップ
    と、 前記演算論理ユニット(44)の出力を前記乗算の結果
    として提供するステップと、 を具備する乗算実行方法。
  4. 【請求項4】 第1、第2のオペランドを乗算および累
    算する消費電力を低減した乗算および累算命令実行方法
    であって、 前記第1のオペランドが+1もしくは−1である乗算お
    よび累算命令を検出するステップと、 前回演算結果を第1の入力として演算論理ユニット(4
    4)に提供するステップと、 前記第2のオペランドを第2の入力として前記演算論理
    ユニット(44)に提供するステップと、 前記第1のオペランドの符号ビットの正もしくは負の値
    に応答して前記演算論理ユニット(44)を加算もしく
    は減算のためにイネーブルするステップと、 前記演算論理ユニット(44)を活性化するステップ
    と、 前記演算論理ユニット(44)の出力を前記乗算および
    累算命令の結果として提供するステップと、 を具備する乗算および累算命令実行方法。
  5. 【請求項5】 第1、第2のオペランドの間の乗算を実
    行する装置(40)であって、 第1、第2の入力及び出力を有する演算論理ユニット
    (44)と、 第1、第2の入力及び出力を有する乗算器(45)と、 前記演算論理ユニット(44)の出力及び前記乗算器
    (45)の出力にそれぞれ接続された第1、第2の入
    力、及び乗算結果を提供するための出力を有するマルチ
    プレクサ(47)と、 前記演算論理ユニット(44)、前記乗算器(45)、
    及び前記マルチプレクサ(47)に接続され、前記第2
    のオペランドが+1であることに応答して、前記第1の
    オペランド及び0をそれぞれ前記演算論理ユニット(4
    4)の前記第1、第2の入力として提供し、前記演算論
    理ユニット(44)を加算のためにイネーブルし、前記
    マルチプレクサ(47)の前記第1の入力を選択し、前
    記第2のオペランドが−1であることに応答して、前記
    第1のオペランド及び0をそれぞれ前記演算論理ユニッ
    ト(44)の前記第1、第2の入力として提供し、前記
    演算論理ユニット(44)を減算のためにイネーブル
    し、前記マルチプレクサ(47)の前記第1の入力を選
    択し、そして前記第2のオペランドが+1及び−1のい
    ずれとも異なることに応答して、前記第1、第2のオペ
    ランドを前記乗算器(45)の前記第1、第2の入力と
    して提供し、前記乗算器(45)をイネーブルし、前記
    マルチプレクサ(47)の前記第2の入力を選択する、
    デコード手段(41)と、 を具備する乗算を実行する装置(40)。
JP12818292A 1991-05-06 1992-04-21 消費電力を低減した乗算実行装置及びその方法 Expired - Fee Related JP3177922B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US696,407 1991-05-06
US07/696,407 US5128890A (en) 1991-05-06 1991-05-06 Apparatus for performing multiplications with reduced power and a method therefor

Publications (2)

Publication Number Publication Date
JPH05143324A true JPH05143324A (ja) 1993-06-11
JP3177922B2 JP3177922B2 (ja) 2001-06-18

Family

ID=24796941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12818292A Expired - Fee Related JP3177922B2 (ja) 1991-05-06 1992-04-21 消費電力を低減した乗算実行装置及びその方法

Country Status (4)

Country Link
US (2) US5128890A (ja)
EP (1) EP0513595B1 (ja)
JP (1) JP3177922B2 (ja)
DE (1) DE69228204D1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014683A (en) * 1996-12-20 2000-01-11 Nec Corporation Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2011186512A (ja) * 2010-03-04 2011-09-22 Nec Corp コンパイラ装置、及びコンパイル方法
JP2016045761A (ja) * 2014-08-25 2016-04-04 サンケン電気株式会社 演算処理装置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL99660A0 (en) * 1991-10-07 1992-08-18 Ibm Israel Random number generator
US5420815A (en) * 1991-10-29 1995-05-30 Advanced Micro Devices, Inc. Digital multiplication and accumulation system
US5200912A (en) * 1991-11-19 1993-04-06 Advanced Micro Devices, Inc. Apparatus for providing power to selected portions of a multiplying device
JP2862723B2 (ja) * 1992-03-16 1999-03-03 沖電気工業株式会社 ディジタル信号処理装置
JP3050255B2 (ja) * 1992-10-14 2000-06-12 富士通株式会社 Ecl−cmosレベル変換回路
US5422805A (en) * 1992-10-21 1995-06-06 Motorola, Inc. Method and apparatus for multiplying two numbers using signed arithmetic
US5606677A (en) * 1992-11-30 1997-02-25 Texas Instruments Incorporated Packed word pair multiply operation forming output including most significant bits of product and other bits of one input
DE4242929A1 (de) * 1992-12-18 1994-06-23 Philips Patentverwaltung Schaltungsanordnung zum Bilden der Summe von Produkten
US5650952A (en) * 1992-12-18 1997-07-22 U.S. Philips Corporation Circuit arrangement for forming the sum of products
US5471663A (en) * 1993-07-01 1995-11-28 Motorola, Inc. Expanded microcomputer system for controlling radio frequency interference
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5465409A (en) * 1994-03-07 1995-11-07 Motorola, Inc. Radio architecture with dual frequency source selection
US5442576A (en) * 1994-05-26 1995-08-15 Motorola, Inc. Multibit shifting apparatus, data processor using same, and method therefor
US5489862A (en) * 1994-11-18 1996-02-06 Texas Instruments Incorporated Output driver with slew and skew rate control
US5787029A (en) * 1994-12-19 1998-07-28 Crystal Semiconductor Corp. Ultra low power multiplier
US5600674A (en) * 1995-03-02 1997-02-04 Motorola Inc. Method and apparatus of an enhanced digital signal processor
US5784602A (en) * 1996-10-08 1998-07-21 Advanced Risc Machines Limited Method and apparatus for digital signal processing for integrated circuit architecture
US5969554A (en) * 1997-06-09 1999-10-19 International Business Machines Corp. Multi-function pre-driver circuit with slew rate control, tri-state operation, and level-shifting
US6604120B1 (en) * 1997-09-04 2003-08-05 Cirrus Logic, Inc. Multiplier power saving design
US6404228B1 (en) * 1998-01-09 2002-06-11 Ralph T. Luna Apparatus for translating digital signals
US6760380B1 (en) 1998-12-07 2004-07-06 Lynk Labs, Inc. Data transmission apparatus and method
JP3598008B2 (ja) * 1998-12-25 2004-12-08 富士通株式会社 半導体装置
US6317840B1 (en) 1999-03-24 2001-11-13 International Business Machines Corporation Control of multiple equivalent functional units for power reduction
US6750694B1 (en) * 2000-11-28 2004-06-15 Texas Instruments Incorporated Signal clipping circuit
ITTO20010531A1 (it) * 2001-06-01 2002-12-01 St Microelectronics Srl Buffer di uscita per una memoria non volatile con controllo dello slew rate ottimizzato.
KR100490623B1 (ko) * 2003-02-24 2005-05-17 삼성에스디아이 주식회사 버퍼 회로 및 이를 이용한 액티브 매트릭스 표시 장치
US7290121B2 (en) * 2003-06-12 2007-10-30 Advanced Micro Devices, Inc. Method and data processor with reduced stalling due to operand dependencies
US7424501B2 (en) 2003-06-30 2008-09-09 Intel Corporation Nonlinear filtering and deblocking applications utilizing SIMD sign and absolute value operations
US7539714B2 (en) * 2003-06-30 2009-05-26 Intel Corporation Method, apparatus, and instruction for performing a sign operation that multiplies
US7330389B1 (en) * 2005-02-03 2008-02-12 Cypress Semiconductor Corp. Address detection system and method that compensates for process, temperature, and/or voltage fluctuations
US8015229B2 (en) * 2005-06-01 2011-09-06 Atmel Corporation Apparatus and method for performing efficient multiply-accumulate operations in microprocessors
TWI407694B (zh) * 2010-01-27 2013-09-01 Novatek Microelectronics Corp 可抑制電壓過衝之輸出緩衝電路及方法
US9152382B2 (en) * 2012-10-31 2015-10-06 Intel Corporation Reducing power consumption in a fused multiply-add (FMA) unit responsive to input data values
US9473163B1 (en) * 2015-07-29 2016-10-18 Mediatek Inc. Preamplifier circuit and SAR ADC using the same
US10372416B2 (en) * 2017-04-28 2019-08-06 Intel Corporation Multiply-accumulate “0” data gating
US10318317B2 (en) * 2017-05-12 2019-06-11 Tenstorrent Inc. Processing core with operation suppression based on contribution estimate

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6389929A (ja) * 1986-09-22 1988-04-20 フランシス・ジュタン 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器
JPH0250723A (ja) * 1988-08-12 1990-02-20 Nec Corp 部分積生成回路

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4701874A (en) * 1983-04-06 1987-10-20 Nec Corporation Digital signal processing apparatus
US4683547A (en) * 1984-10-25 1987-07-28 International Business Machines Corporation Special accumulate instruction for multiple floating point arithmetic units which use a putaway bus to enhance performance
JPS62256129A (ja) * 1986-04-30 1987-11-07 Sony Corp 演算処理装置
NL8901170A (nl) * 1989-05-10 1990-12-03 Philips Nv Geintegreerde schakeling met een signaalniveauconverter.
US5038057A (en) * 1990-05-29 1991-08-06 Motorola, Inc. ECL to CMOS logic translator

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6389929A (ja) * 1986-09-22 1988-04-20 フランシス・ジュタン 固定オペランドをもつ2進加算器及びこの種の加算器を内蔵する直列−並列2進乗算器
JPH0250723A (ja) * 1988-08-12 1990-02-20 Nec Corp 部分積生成回路

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6014683A (en) * 1996-12-20 2000-01-11 Nec Corporation Arithmetic operation system for arithmetically operating a first operand having an actual point and a second operand having no actual point
KR100297312B1 (ko) * 1996-12-20 2001-10-24 가네꼬 히사시 산술연산시스템
JP2009527161A (ja) * 2006-02-17 2009-07-23 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 積和演算を実行する方法及び装置
JP2011186512A (ja) * 2010-03-04 2011-09-22 Nec Corp コンパイラ装置、及びコンパイル方法
JP2016045761A (ja) * 2014-08-25 2016-04-04 サンケン電気株式会社 演算処理装置

Also Published As

Publication number Publication date
US5128890A (en) 1992-07-07
EP0513595A2 (en) 1992-11-19
EP0513595A3 (en) 1993-05-26
JP3177922B2 (ja) 2001-06-18
DE69228204D1 (de) 1999-03-04
EP0513595B1 (en) 1999-01-20
US5293081A (en) 1994-03-08

Similar Documents

Publication Publication Date Title
JP3177922B2 (ja) 消費電力を低減した乗算実行装置及びその方法
US5241492A (en) Apparatus for performing multiply and accumulate instructions with reduced power and a method therefor
RU2427897C2 (ru) Эффективная параллельная обработка исключения с плавающей запятой в процессоре
US5422805A (en) Method and apparatus for multiplying two numbers using signed arithmetic
US4597053A (en) Two-pass multiplier/accumulator circuit
US7949696B2 (en) Floating-point number arithmetic circuit for handling immediate values
US7917568B2 (en) X87 fused multiply-add instruction
JP2011134305A (ja) 3個のソースオペランドを加算する加算命令
EP0593107A1 (en) Data processing system
EP0507210A2 (en) A data processing system for performing square operations with improved speed and a method therefor
KR20160046149A (ko) 데이터 처리 방법 및 장치
KR101252739B1 (ko) 정규화 카운트를 결정하는 프로세서 및 방법
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
US5958000A (en) Two-bit booth multiplier with reduced data path width
CN110688153B (zh) 一种指令分支执行控制方法及相关设备、指令结构
JP3556252B2 (ja) オフセット合計を計算するデータ処理システムとその方法
US5923575A (en) Method for eletronically representing a number, adder circuit and computer system
US6820106B1 (en) Method and apparatus for improving the performance of a floating point multiplier accumulator
JPH10187416A (ja) 浮動小数点演算装置
US5822786A (en) Apparatus and method for determining if an operand lies within an expand up or expand down segment
US5968165A (en) System and method for minimizing the size of operands
KR100385233B1 (ko) 데이터 프로세싱 시스템의 익스포넌트 유닛
KR100637055B1 (ko) 연산 처리 장치
KR20010050804A (ko) 정수 명령 세트 아키텍쳐 및 구현
US6996702B2 (en) Processing unit with cross-coupled ALUs/accumulators and input data feedback structure including constant generator and bypass to reduce memory contention

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090413

Year of fee payment: 8

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D03

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100413

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees