JP2001027945A5 - - Google Patents

Download PDF

Info

Publication number
JP2001027945A5
JP2001027945A5 JP2000149271A JP2000149271A JP2001027945A5 JP 2001027945 A5 JP2001027945 A5 JP 2001027945A5 JP 2000149271 A JP2000149271 A JP 2000149271A JP 2000149271 A JP2000149271 A JP 2000149271A JP 2001027945 A5 JP2001027945 A5 JP 2001027945A5
Authority
JP
Japan
Prior art keywords
multiply
bit
register file
accumulate
unit
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
JP2000149271A
Other languages
English (en)
Other versions
JP2001027945A (ja
JP3683773B2 (ja
Filing date
Publication date
Priority claimed from US09/316,340 external-priority patent/US6493817B1/en
Application filed filed Critical
Publication of JP2001027945A publication Critical patent/JP2001027945A/ja
Publication of JP2001027945A5 publication Critical patent/JP2001027945A5/ja
Application granted granted Critical
Publication of JP3683773B2 publication Critical patent/JP3683773B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Claims (3)

  1. データに対して算術演算を実行するための浮動小数点ユニットであって、
    データの格納および読出しを行うように構成されたレジスタファイルと、
    複数のデータ型フォーマットに対して算術演算を実行するよう構成された第1の乗算累算ユニットと、
    複数のデータ型フォーマットに対して算術演算を実行するよう構成された第2の乗算累算ユニットと、
    前記レジスタファイルからデータを受取ると共に、そのデータを前記第1の乗算累算ユニットに渡すように構成され、また、前記第1の乗算累算ユニットによって実行された算術演算の結果を前記第1の乗算累算ユニットから受取ると共に、その結果を前記レジスタファイルに渡すようにさらに構成された第1のバイパスコンポーネントと、及び
    前記レジスタファイルからデータを受取ると共に、そのデータを前記第2の乗算累算ユニットに渡すように構成され、また、前記第2の乗算累算ユニットによって実行された算術演算の結果を受取ると共に、前記第2の乗算累算ユニットによって実行された前記算術演算の結果を前記レジスタファイルに渡すようにさらに構成された第2のバイパスコンポーネントとを含み、
    前記乗算累算ユニットの各々が、64ビットワードを受取り、
    前記第1の乗算累算ユニットが、前記64ビットワードのうちの演算すべき上位32ビットを選択し、
    前記第2の乗算累算ユニットが、前記64ビットワードのうちの演算すべき下位32ビットを選択し、
    前記第1と第2の乗算累算ユニットの各々には、前記64ビットワードのうちのいずれの32ビット部分が各乗算累算ユニットにより演算されるべきかを決定するために、前記第1と第2の乗算累算ユニットが使用する1つまたは複数のビットが供給される、浮動小数点ユニット。
  2. 前記第1と第2の乗算累算ユニットによって演算され得る第1のデータ型フォーマットが、64ビット仮数値、17ビット指数値および1ビット符号値からなる82ビットワードであり、
    前記第1と第2の乗算累算ユニットによって演算され得る第2のデータ型フォーマットが、2つの32ビットワードからなり、それぞれの32ビットワードが、23ビット仮数値、8ビット指数値および1ビット符号値からなる、請求項1の浮動小数点ユニット。
  3. 前記第1の乗算累算ユニットにおいて生成された結果と前記第2の乗算累算ユニットにおいて生成された結果とが、前記バイパスコンポーネントによって合体されることにより、前記レジスタファイルの1つまたは複数のレジスタに格納される64ビットワードを生成し、
    3つのオペランドバスが、前記レジスタファイルから前記第1の乗算累算ユニットに32ビットワードを移送し、各オペランドバスが、32ビットオペランドを移送することができ、
    3つの32ビットバスが、前記レジスタファイルから前記第2の乗算累算ユニットにデータを移送し、各32ビットバスが、前記レジスタファイルから前記第2の乗算累算ユニットに32ビットオペランドを移送することができ、
    32ビットバスが、前記第1の乗算累算ユニットから前記レジスタファイルに演算結果を移送し、
    32ビットバスが、前記第2の乗算累算ユニットから前記レジスタファイルに演算結果を移送し、
    前記32ビットバスで前記第1および第2の乗算累算ユニットから前記レジスタファイルに移送された前記32ビットの結果が、合体され、前記レジスタファイルの1つまたは複数のレジスタに64ビットワードとして格納され、
    前記レジスタファイルから前記第1の乗算累算ユニットにデータを移送する3つの32ビットバスが、前記第1のバイパスコンポーネントに接続されており、
    前記レジスタファイルから前記第2の乗算累算ユニットにデータを移送する3つの32ビットバスが、前記第2のバイパスコンポーネントに接続されており、
    前記第1および第2のバイパスコンポーネントに供給される1つまたは複数の制御ビットは、前記第1および第2のバイパスコンポーネントにより、前記レジスタファイルの特定のレジスタに格納されたデータが前記レジスタファイルから前記第1および第2の乗算累算ユニットに移送される時に、そのデータが前記32ビットオペランドバスに出力されるようにするために使用され、
    前記第1および第2のバイパスコンポーネントに受渡される1つまたは複数の制御ビットは、前記第1および第2のバイパスコンポーネントによって、前記第1と第2の乗算累算ユニットから前記レジスタファイルに移送中のデータが前記レジスタファイルの1つまたは複数の特定のレジスタに格納されるようにするために利用され、
    前記第1の乗算累算ユニットから前記レジスタファイルに演算結果を移送するバスが前記第1と第2のバイパスコンポーネントに接続され、前記第2の乗算累算ユニットから前記レジスタファイルに演算結果を移送するバスが、前記第1と第2のバイパスコンポーネントに接続され、前記第1の乗算累算ユニットから前記レジスタファイルに演算結果を移送するバスが、前記第1のバイパスコンポーネントから前記レジスタファイルに演算結果を移送することを可能にするように前記第1のバイパスコンポーネントと前記レジスタファイルに接続され、前記第2の乗算累算ユニットから前記レジスタファイルに演算結果を移送するバスが、前記第2のバイパスコンポーネントから前記レジスタファイルに演算結果を移送することを可能にするように前記第2のバイパスコンポーネントと前記レジスタファイルに接続され、
    前記第1と第2の乗算累算ユニットの各々が、1つの82ビット加算器と1つの82ビット乗算器とを含み、各乗算累算ユニットが内部に構成された前記82ビット加算器と前記82ビット乗算器を利用して、前記レジスタファイルから前記第1と第2の乗算累算ユニットに移送される32ビットオペランドに演算を実行する、請求項2の浮動小数点ユニット。
JP2000149271A 1999-05-21 2000-05-22 Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット Expired - Fee Related JP3683773B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US316340 1999-05-21
US09/316,340 US6493817B1 (en) 1999-05-21 1999-05-21 Floating-point unit which utilizes standard MAC units for performing SIMD operations

Publications (3)

Publication Number Publication Date
JP2001027945A JP2001027945A (ja) 2001-01-30
JP2001027945A5 true JP2001027945A5 (ja) 2005-03-10
JP3683773B2 JP3683773B2 (ja) 2005-08-17

Family

ID=23228645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000149271A Expired - Fee Related JP3683773B2 (ja) 1999-05-21 2000-05-22 Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット

Country Status (3)

Country Link
US (1) US6493817B1 (ja)
EP (1) EP1055997A1 (ja)
JP (1) JP3683773B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359284B (zh) * 2006-02-06 2011-05-11 威盛电子股份有限公司 处理数个不同数据格式的乘法累加单元及其方法
WO2007133101A1 (en) * 2006-05-16 2007-11-22 Intel Corporation Floating point addition for different floating point formats
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
US8327120B2 (en) * 2007-12-29 2012-12-04 Intel Corporation Instructions with floating point control override
US8473667B2 (en) 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US20090271172A1 (en) * 2008-04-24 2009-10-29 International Business Machines Corporation Emulating A Computer Run Time Environment
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8214845B2 (en) 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8392664B2 (en) 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US8494833B2 (en) 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8230179B2 (en) 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8195884B2 (en) * 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
CN101986264B (zh) * 2010-11-25 2013-07-31 中国人民解放军国防科学技术大学 用于simd向量微处理器的多功能浮点乘加运算装置
JP2012174016A (ja) 2011-02-22 2012-09-10 Renesas Electronics Corp データ処理装置およびそのデータ処理方法
WO2019005088A1 (en) * 2017-06-30 2019-01-03 Intel Corporation HETEROGENEOUS MULTIPLIER

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901268A (en) * 1988-08-19 1990-02-13 General Electric Company Multiple function data processor
CA2007059C (en) * 1989-01-27 1994-05-24 Steven P. Davies Register and arithmetic logic unit
EP0681236B1 (en) * 1994-05-05 2000-11-22 Conexant Systems, Inc. Space vector data path
DE69927075T2 (de) * 1998-02-04 2006-06-14 Texas Instruments Inc Rekonfigurierbarer Koprozessor mit mehreren Multiplizier-Akkumulier-Einheiten
US6292886B1 (en) * 1998-10-12 2001-09-18 Intel Corporation Scalar hardware for performing SIMD operations
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

Similar Documents

Publication Publication Date Title
JP2001027945A5 (ja)
US5631859A (en) Floating point arithmetic unit having logic for quad precision arithmetic
JP3756967B2 (ja) 多重ビット・シフト装置,それを用いるデータ・プロセッサおよびその方法
US7430578B2 (en) Method and apparatus for performing multiply-add operations on packed byte data
JP4480997B2 (ja) Simd整数乗算上位丸めシフト
EP0699318B1 (en) Unified floating point and integer datapath for risc processor
US6671796B1 (en) Converting an arbitrary fixed point value to a floating point value
JP5963866B2 (ja) 機械命令を実行するコンピュータ・プログラム(製品)、コンピュータ・システム、および方法、ならびに命令を処理するためのコンピュータ・プログラム(製品)(複数アドレス指定可能なレジスタ・ファイルおよびそれに関連するフォーマット変換)
US6115729A (en) Floating point multiply-accumulate unit
JPH04227530A (ja) 浮動小数点プロセッサ
US7917568B2 (en) X87 fused multiply-add instruction
WO2000022512A1 (en) Scalar hardware for performing simd operations
US20120233234A1 (en) System and method of bypassing unrounded results in a multiply-add pipeline unit
JP3683773B2 (ja) Simd演算を実行するために標準macユニットを利用する浮動小数点ユニット
KR20080098440A (ko) 선택가능한 하위 정밀도에 대하여 감소된 전력 요구조건들을 가지는 부동 소수점 프로세서
US4208722A (en) Floating point data processing system
JP2004342106A (ja) 可変幅の符号付きおよび符号なしオペランドのためのモジュラ2進乗算器
JP4891252B2 (ja) 汎用乗算加算機能ユニット
US6324638B1 (en) Processor having vector processing capability and method for executing a vector instruction in a processor
JP2006154979A (ja) 浮動小数点数演算回路
US20050228844A1 (en) Fast operand formatting for a high performance multiply-add floating point-unit
US6078940A (en) Microprocessor with an instruction for multiply and left shift with saturate
US5574672A (en) Combination multiplier/shifter
US6442676B1 (en) Processor with different width functional units ignoring extra bits of bus wider than instruction width
US20040117421A1 (en) Methods and systems for computing floating-point intervals