JPH0480867A - 演算回路 - Google Patents

演算回路

Info

Publication number
JPH0480867A
JPH0480867A JP2197467A JP19746790A JPH0480867A JP H0480867 A JPH0480867 A JP H0480867A JP 2197467 A JP2197467 A JP 2197467A JP 19746790 A JP19746790 A JP 19746790A JP H0480867 A JPH0480867 A JP H0480867A
Authority
JP
Japan
Prior art keywords
alu
multiplier
multiplication
point multiplication
arithmetic
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
JP2197467A
Other languages
English (en)
Inventor
Hisahiro Matsuo
松尾 尚浩
Tooru Kengaku
見学 徹
Tomoaki Fujiyama
藤山 等章
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2197467A priority Critical patent/JPH0480867A/ja
Publication of JPH0480867A publication Critical patent/JPH0480867A/ja
Priority to US08/047,757 priority patent/US5301137A/en
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/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
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30181Instruction operation extension or modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はディジタル信号処理装置 (DSP:Digi
talSignal Processor)に使用され
る演算回路に関する。
〔従来の技術〕
第2Mは従来のディジタル信号処理装置の演算部の一構
成例を示すブロック図であり、沖電気工業株式会社製デ
ィジタルシグナルプロセノサMSM699210のユー
ザーズマニュアルの第9ページに示されている。
第2図において、参照符号101及び102は共に被演
算データを格納するレジスタであり、レジスタ101の
出力は乗算器103及びセレクタ104へ、またレジス
タ102の出力は乗算器103及びセレクタ105に与
えられている。
乗算器103は上述のレジスタ101及び102に格納
されている被演算データ相互の乗算を実行し、その結果
をセレクタ104へ出力する。この際に乗算器103が
固定小数点乗算を実行するか浮動小数点乗算を実行する
かは、乗算器103に与えられているコントロールレジ
スタ(CR)201の出力信号であるモード制御信号2
02により指定される。
コントロールレジスタ201は乗算器103の動作モー
ドを制御する制御ビットを備えている。コントロールレ
ジスタ201の制御ビットには、この演算回路が備えら
れているDSPが実行すべき命令の内容に応じて、乗算
器103が実行すべき乗算が固定小数点乗算であるか浮
動小数点乗算であるかの指定、換言すれば乗算器103
の動作モードの指定をする信号203の値がセットされ
る。そして、このコントロールレジスタ201の制御ビ
ットにセントされている値に対応して乗算器103の動
作モードがモード制御信号202により指定される。
セレクタ104はレジスタ101の出力または乗算器1
03の出力のいずれかを選択してALU106に与える
。またセレクタ105はレジスタ102の出力と後述す
るアキュームレータ107の出力のいずれかを選択して
ALU106に与える。
ALU106は上述の両セレクタ104.105の出力
を入力として論理演算を実行し、その結果をアキューム
レータ107へ出力する。この際にALII106がど
のような演算、たとえば固定小数点乗算、浮動小数点乗
算あるいはその他の演算が実行されるかは、この演算回
路が備えられているDSPが実行すべき命令の内容に応
じて指定されるが、これについては以下に説明する。
ALU106にはデコーダ108の出力が演算制御信号
109として与えられている。デコーダ108は、この
演算回路が備えられているDSPが実行すべき命令中の
ALU106が実行すべき演算を指定するための所定の
フィールド、具体的にはALU演算指定フィールドによ
り決定される演算指定信号113をデコードし、その結
果を演算制御信号109としてALU106に与える。
従って、ALU106は両セレクタ104.105の出
力を入力として演算制御信号109により指定される演
算を実行してアキュームレータ107に蓄積記憶させる
第3図は上述のコントロールレジスタ201の乗算器1
03の制御に関するフィールドを示す模式図であり、参
照符号301が前述の制御ビア)に記憶される間フラグ
である。
第4図は第2図に示されている演算回路が備えられてい
るDSPの命令フィールド中のフラグの機能を示す模式
図である。聞フラグ301の値が“1”にセットされて
いる場合は乗算器103は固定小数点乗算モードになり
固定小数点乗算を実行しする。
また聞フラグ301の値が“0”にセントされている場
合は乗算器103は浮動小数点乗算モードになり乗算器
103は固定小数点乗算を実行する。
このような構成の従来の演算回路の動作について以下に
説明する。
乗算器103の動作モードの指定、即ち聞フラグ301
の値の設定はコントロールレジスタ201の内容をセン
トする命令により行われる。
まず、固定小数点乗算を行う場合は、命令によりコント
ロールレジスタ201の聞フラグ301を“1″にセン
トする。これにより、コントロールレジスタ201から
乗算器103へ固定小数点乗算を指定するモード制御信
号202が与えられるので、乗算器103は固定小数点
乗算モードになってレジスタ101102に格納されて
いるデータ相互の固定小数点乗算を実行する。
一方、浮動小数点乗算を行う場合は、命令によりコント
ロールレジスタ201の間フラグ301ヲ“0”にセッ
トする。これにより、コントロールレジスタ201から
乗算器103へ浮動小数点乗算を指定するモード制御信
号202が与えられるので、乗算器103は浮動小数点
乗算モードになってレジスタ101゜102に格納され
ているデータ相互の浮動小数点乗算を実行する。
ALU106の動作モード、即ちALI1106がいず
れの演算を実行するかは命令中のAL[I演算を指定す
るALU演算指定フィールドにより直接指定される。こ
のフィールドに対応する演算指定信号113はデコーダ
10Bによりデコードされて演算制御信号109として
ALL1106に与えられる。そして、ALtl106
は両セレクタ104.105から与えられるデータに対
して演頁制御信号109により指定されている演算を実
行し、アキュームレータ107に蓄積記憶させる。
ところで、積和演算を実行する場合、積和のデータ形式
は同一であるため、乗算器103とALU106とでは
同一形式のデータを処理することになる。
即ち、乗算器103において固定小数点乗算が行われれ
ばALU106において固定小数点演算が行われ、乗算
器103において浮動小数点乗算が行われればALU1
06において浮動小数点演算が行われる。
〔発明が解決しようとする課題〕
上述のような構成の従来のDSPの演算回路においては
、乗算器103の動作モード、即ち浮動小数点乗算を行
うかあるいは浮動小数点乗算を行うかはコントロールレ
ジスタ201の間フラグ301により指定され、またA
Ltl106の動作モード、即ち浮動小数点演算を行う
かあるいは浮動小数点演算を行うかは命令中のALU6
4算指定フィールドにより指定される。換言すれば、乗
算器103とALU106との双方共にその動作モード
はDSPが実行すべき命令中において個別に指定されて
いる。このため、プログラマがプログラミングを行う際
には乗算器103の動作モードを常に認識して考慮する
必要があるので、プログラミング作業の効率を低下させ
ている。また、乗算器103の動作モードを指定するた
めの聞フラグ301に相当する命令フィールド中のビッ
トが必要である。
本発明はこのような事情に鑑みてなされたものであり、
DSPのプログラミングに際してプログラマが乗算器の
動作モードの指定を考慮せずとも、乗算器がALUと同
一のモードで乗算を行うように構成された演算回路の提
供を目的とする。
〔課題を解決するための手段〕
本発明に係る演算回路は、乗算器と、ALUと、ALU
の動作モードを指定する信号を発生するためのデコーダ
と、このデコーダによるデコード結果がALUに固定小
数点演算または浮動小数点演算を指定する場合に、乗算
器にもそれぞれ固定小数点乗算又は浮動小数点乗算を指
定する信号をデコーダ出力に基づいて発生する回路とを
備えている。
〔作用〕
本発明に係る演算回路では、命令中のALUが実行すべ
き演算を指定しているフィールドをデコードした結果に
基づいて、固定小数点演算が指定されている場合には乗
算器が実行すべき命令として固定小数点乗算が指定され
、浮動小数点演算が指定されている場合には乗算器が実
行すべき命令として浮動小数点乗算が指定されるように
、デコーダ出力に基づいて信号が発生されるので、命令
中において乗算器が実行すべき乗算が固定小数点乗算で
あるか浮動小数点乗算であるかの指定と、ALUた実行
すべき演算の指定とを個別に行う必要がない。
〔実施例〕
以下、本発明をその実施例を示す図面を参照して詳述す
る。
第1図は本発明に係る演算回路の一構成例を示すブロッ
ク図である。なお、第1図において前述の第2図と同一
符号は同一、又は相当部分を示す。
第1図において、参照符号101及び102は共に被演
算データを格納するレジスタであり、レジスタ101の
出力は乗算器103及びセレクタ104へ、またレジス
タ102の出力は乗算器103及びセレクタ105に与
えられている。
乗算器103は上述のレジスタ101及び102に格納
されている被演算データ間の乗算を実行し、その結果を
セレクタ104へ出力する。乗算器103には保持回路
110の出力信号である動作モード制御信号112が与
えられている。動作モード制御信号112は、後述する
が、乗算器103が実行すべき乗算が固定小数点乗算で
あるか浮動小数点乗算であるかを指定する。
保持回路110は後述するデコーダ108から与えられ
る信号111を保持する。
セレクタ104はレジスタ101の出力または乗算器1
03の出力のいずれかを選択してALL1106に与え
る。またセレクタ105はレジスタ102の出力と後述
するアキュームレータ107の出力のいずれかを選択し
てALU106に与える。
ALU106は両セレクタ104.105の出力を入力
として各種の演算を実行し、その結果をアキュームレ−
タ107へ出力する。
ALIJ106にはデコーダ108の出力が演算制御信
号109として与えられている。デコーダ108は、こ
の演算回路が備えられているDSPが実行すべき命令中
のALL1106が実行すべき演算を指定するための所
定のフィールド、具体的にはALU演算指定フィールド
により決定される演算指定信号113をデコードし、そ
の結果を演算制御信号109としてALU106に与え
る。
従って、AL[l106は両セレクタ104.105の
出力を入力として演算制御信号109により指定される
種類の演算を実行してアキュームレータ107に蓄積記
憶させる。
また、デコーダ108からはALU106により実行さ
れる演算が固定小数点乗算であるか浮動小数点乗算であ
るかを表す信号111が前述の保持回路110へ出力さ
れている。従って、この保持回路110に保持されてい
る信号111の値に対応して乗算器103の動作モード
が動作モード制御信号112により指定される。
このような構成の本発明の演算回路の動作について以下
に説明する。
まず、命令中のALU演算フィールドにより決定される
演算指定信号113はデコーダ108によりデコードさ
れ、この結果から^LU106が実行すべき演算を指定
する信号、即ち演算制御信号109がALU106に与
えられる。また同時に、ALU106が実行すべき演算
が固定小数点乗算であるか浮動小数点乗算であるかまた
は他の演算であるかを示す信号111が保持回路110
に与えられて保持される。なおこの際、ALtl106
の演算が固定小数点乗算でも浮動小数点乗算でもない場
合には保持回路110の保持内容は変化しない。
そして、保持回路110がALU106の演算が固定小
数点乗算であることを示す信号を保持している場合には
、動作モード制御信号112は乗算器103に固定小数
点乗算を指定する信号になる。また保持回路110がA
LU106の演算が浮動小数点乗算であることを示す信
号を保持している場合には、動作モード制御信号112
は乗算器103に浮動小数点乗算を指定する信号となる
即ち、乗算器103に与えられる動作モード制御信号1
12は、ALU106において固定小数点演算が行われ
る場合には固定小数点乗算を、またALU106におい
て浮動小数点演算が行われる場合には浮動小数点乗算を
それぞれ実行させるように乗算器103を制御する。な
お、ALU106において固定小数点乗算及び浮動小数
点乗算以外の各種の演算が行われる場合、あるいはAL
U106において演算が行われない場合には保持回路1
10の内容は変化せずにそれまでの状態を維持する。
ALU106は両セレクタ104.105から与えられ
るデータに対して演算制御信号109により指定されて
いる演算を実行し、アキュームレータ107に蓄積記憶
させる。
以上のように、本発明の演算回路が備えられているDS
Pにより実行される命令により固定小数点の積和演算が
行われる場合には、命令フィールド中において乗算器1
03に固定小数点乗算を実行させるための情報を含ませ
ておかずとも乗算器103は固定小数点乗算を実行し、
また浮動小数点の積和演算が行われる場合には、命令フ
ィールド中において乗算器103に浮動小数点乗算を実
行させるための情報を含ませておかずとも乗算器103
は浮動小数点乗算を実行する。
〔発明の効果〕
以上に説明した如く、本発明によればALIJが行う演
算を指定するフィールドの内容によりALLIの演算の
制御と乗算器の動作モードの制御とが同時に行われるの
で、プログラマがプログラミングする際に乗算器の動作
モード、即ち固定小数点乗算であるか浮動小数点乗算で
あるかを考慮する必要無しにプログラミングすることが
可能になる。また従来は乗算器モードの指定と^LUの
演算指定とを命令中の個別のフィールドで制御している
が、本発明ではALUの制御のフィールドのみで済むた
め、命令フィールドのビット数を削減することが可能に
なり、またそのビットを他の用途に使用すことが可能に
なる。
【図面の簡単な説明】
第1図は本発明の演算回路の一構成例を示すブロック図
、第2図は従来の演算回路の〜構成例を示すブロック図
、第3図は従来の演算回路のための命令フィールドの一
部を示す模式図、第4回は命令フィールド中のフラグの
機能を示す模式図である。 103・・・乗算器 106・・・ALU   108
・・・デコーダ110・・・保持口1a  112・・
・動作モード制御信号なお、図中、同一符号は同一、又
は相当部分を示す。

Claims (1)

    【特許請求の範囲】
  1. (1)実行されるべき命令の内容に応じて、固定小数点
    乗算又は浮動小数点乗算のいずれかが実行すべき乗算と
    して制御信号により指定される乗算器と、 実行されるべき命令の内容に応じて、前記乗算器の出力
    を含むデータを対象として実行すべき演算が指定される
    ALUと、 実行されるべき命令中に含まれるフィールドの内容をデ
    コードして前記ALUが実行すべき演算を指定するデコ
    ーダと を備えた演算回路において、 前記デコーダによるデコード結果が前記ALUが実行す
    べき演算として固定小数点演算又は浮動小数点演算を指
    定している場合に、それぞれに対応して固定小数点乗算
    又は浮動小数点乗算を指定する前記制御信号を前記デコ
    ーダ出力に基づいて発生する制御信号発生回路を備えた
    ことを特徴とする演算回路。
JP2197467A 1990-07-23 1990-07-23 演算回路 Pending JPH0480867A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2197467A JPH0480867A (ja) 1990-07-23 1990-07-23 演算回路
US08/047,757 US5301137A (en) 1990-07-23 1993-04-14 Circuit for fixed point or floating point arithmetic operations

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2197467A JPH0480867A (ja) 1990-07-23 1990-07-23 演算回路

Publications (1)

Publication Number Publication Date
JPH0480867A true JPH0480867A (ja) 1992-03-13

Family

ID=16374979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2197467A Pending JPH0480867A (ja) 1990-07-23 1990-07-23 演算回路

Country Status (2)

Country Link
US (1) US5301137A (ja)
JP (1) JPH0480867A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4891252B2 (ja) * 2004-11-10 2012-03-07 エヌヴィディア コーポレイション 汎用乗算加算機能ユニット

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481719A (en) * 1994-09-09 1996-01-02 International Business Machines Corporation Exception handling method and apparatus for a microkernel data processing system
US5809323A (en) * 1995-09-19 1998-09-15 International Business Machines Corporation Method and apparatus for executing fixed-point instructions within idle execution units of a superscalar processor
US6317770B1 (en) * 1997-08-30 2001-11-13 Lg Electronics Inc. High speed digital signal processor
US6134573A (en) * 1998-04-20 2000-10-17 Ip-First, L.L.C. Apparatus and method for absolute floating point register addressing
US6480872B1 (en) * 1999-01-21 2002-11-12 Sandcraft, Inc. Floating-point and integer multiply-add and multiply-accumulate
US6205462B1 (en) * 1999-10-06 2001-03-20 Cradle Technologies Digital multiply-accumulate circuit that can operate on both integer and floating point numbers simultaneously
US6912557B1 (en) * 2000-06-09 2005-06-28 Cirrus Logic, Inc. Math coprocessor
US6959316B2 (en) * 2001-02-01 2005-10-25 Nokia Mobile Phones Limited Dynamically configurable processor
US7577824B2 (en) * 2003-09-08 2009-08-18 Altera Corporation Methods and apparatus for storing expanded width instructions in a VLIW memory for deferred execution
US8572141B2 (en) * 2008-03-19 2013-10-29 International Business Machines Corporation Execution of fixed point instructions using a decimal floating point unit
CN102520903B (zh) * 2011-12-13 2014-07-23 中国科学院自动化研究所 支持定浮点可重构的长度可配置的向量最大/最小值网络
US9507565B1 (en) * 2014-02-14 2016-11-29 Altera Corporation Programmable device implementing fixed and floating point functionality in a mixed architecture
US11580353B2 (en) 2018-05-04 2023-02-14 Apple Inc. Neural network processor for handling differing datatypes
US11537838B2 (en) 2018-05-04 2022-12-27 Apple Inc. Scalable neural network processing engine

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4217657A (en) * 1978-10-18 1980-08-12 Honeywell Inc. Floating point arithmetic control
JPS5776634A (en) * 1980-10-31 1982-05-13 Hitachi Ltd Digital signal processor
US4589067A (en) * 1983-05-27 1986-05-13 Analogic Corporation Full floating point vector processor with dynamically configurable multifunction pipelined ALU

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4891252B2 (ja) * 2004-11-10 2012-03-07 エヌヴィディア コーポレイション 汎用乗算加算機能ユニット

Also Published As

Publication number Publication date
US5301137A (en) 1994-04-05

Similar Documents

Publication Publication Date Title
JPH0480867A (ja) 演算回路
JP2835103B2 (ja) 命令指定方法及び命令実行方式
US7236995B2 (en) Data processing apparatus and method for converting a number between fixed-point and floating-point representations
US8224883B2 (en) Packed add-subtract operation in a microprocessor
US10678540B2 (en) Arithmetic operation with shift
US20090100252A1 (en) Vector processing system
US5696709A (en) Program controlled rounding modes
JPH0659861A (ja) 3−1論理演算装置
JP4755129B2 (ja) 演算処理装置及び演算処理装置の制御方法
EP0588341A2 (en) Data processor
JPH0769795B2 (ja) コンピュータ
GB2382886A (en) Vector Processing System
JPH1091432A (ja) プログラム実行方法およびプログラム実行装置
JP2778583B2 (ja) 低消費電力マイクロプロセッサ
JPH0222413B2 (ja)
JPH0480868A (ja) 演算回路
JPS6244657B2 (ja)
JPS61235985A (ja) ベクトルプロセツサ
JPS58200349A (ja) マイクロプログラム制御装置
JPS5971542A (ja) 演算処理装置
JPH04349570A (ja) 情報処理装置
JPH0498426A (ja) マイクロプロセッサ
JPH0354632A (ja) 演算命令処理装置
JPS62102333A (ja) マイクロプログラム制御方式
JP2851192B2 (ja) 並列演算処理装置におけるキャリー付き加減算処理方式