JP2016517577A - 加算比較選択命令 - Google Patents
加算比較選択命令 Download PDFInfo
- Publication number
- JP2016517577A JP2016517577A JP2016501437A JP2016501437A JP2016517577A JP 2016517577 A JP2016517577 A JP 2016517577A JP 2016501437 A JP2016501437 A JP 2016501437A JP 2016501437 A JP2016501437 A JP 2016501437A JP 2016517577 A JP2016517577 A JP 2016517577A
- Authority
- JP
- Japan
- Prior art keywords
- result
- register
- value
- instruction
- vector
- 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
Links
- 238000000034 method Methods 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 241000255777 Lepidoptera Species 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000004083 survival effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30021—Compare instructions, e.g. Greater-Than, Equal-To, MINMAX
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Error Detection And Correction (AREA)
- Executing Machine-Instructions (AREA)
- Complex Calculations (AREA)
- Advance Control (AREA)
Abstract
Description
本出願は、参照によりその全体が本明細書に明白に組み込まれている、本出願の譲受人が所有する2013年3月15日に出願した米国仮出願第13/841,878号の優先権を主張するものである。
102 第1のレジスタ
104 第2のレジスタ
106 第3のレジスタ
110 プリディケートレジスタ
112 第1の値
114 第2の値
116 第3の値
122 第1の結果
124 第2の結果
126 選択結果
210 プリディケートレジスタ
302 メモリ
308 バスインターフェース
310 命令キャッシュ
311 バス
312 データキャッシュ
314 シーケンサ
316 汎用割り込み
318 命令実行ユニット
320 命令実行ユニット
322 命令実行ユニット
324 命令実行ユニット
326 汎用レジスタファイル
330 バス
332 スーパバイザ制御レジスタ
334 グローバル制御レジスタ
350 超長命令語(VLIW)パケット
352 第2の命令
528 ディスプレイ
530 入力デバイス
526 ディスプレイコントローラ
532 メモリ
536 スピーカ
538 マイク
540 ワイヤレスコントローラ
544 電源
Claims (26)
- 第1のレジスタ、第2のレジスタ、および第3のレジスタを特定する命令を記憶するメモリを備える装置であって、プロセッサによって前記命令が実行されると、
前記プロセッサによって、前記第1のレジスタからの第1の値を、前記第2のレジスタからの第2の値に加算するようにベクトル加算演算が行われ、
前記第3のレジスタからの第3の値から、前記第2の値を減算するようにベクトル減算演算が行われ、
前記ベクトル加算演算の結果を、前記ベクトル減算演算の結果と比較するようにベクトル比較演算が行われる、
装置。 - 前記プロセッサによって前記命令が実行されると、ベクトル選択演算が行われて、
前記比較に基づいて、前記ベクトル加算演算の前記結果、または前記ベクトル減算演算の前記結果を選択し、
前記選択結果を用いて前記第1のレジスタを更新する、
請求項1に記載の装置。 - 前記ベクトル加算演算の前記結果が、前記ベクトル減算演算の前記結果より大きいときは、前記ベクトル加算演算の前記結果が選択され、前記ベクトル減算演算の前記結果が、前記ベクトル加算演算の前記結果より大きいときは、前記ベクトル減算演算の前記結果が選択される、請求項2に記載の装置。
- 前記選択結果が前記ベクトル加算演算の前記結果であるときは、デコーダは偶数先行状態への遷移を決定し、前記選択結果が前記ベクトル減算演算の前記結果であるときは、前記デコーダは奇数先行状態への遷移を決定する、請求項3に記載の装置。
- 前記ベクトル加算演算、前記ベクトル減算演算、前記ベクトル比較演算、および前記ベクトル選択演算が、同じ実行サイクルの間に行われる、請求項2に記載の装置。
- 前記命令が記憶位置をさらに特定し、前記ベクトル比較演算の結果は前記記憶位置に記憶される、請求項1に記載の装置。
- 前記記憶位置が前記第1のレジスタに対応する、請求項6に記載の装置。
- 前記第1の値がデコーダのパスメトリック値の第1の組であり、前記第2の値がブランチメトリック値であり、前記第3の値がパスメトリック値の第2の組である、請求項1に記載の装置。
- 前記デコーダがビタビデコーダである、請求項8に記載の装置。
- 前記命令および第2の命令を含む、超長命令語(VLIW)パケットをさらに備える、請求項1に記載の装置。
- 第1のレジスタ、第2のレジスタ、および第3のレジスタを特定する命令を受け取るステップと、
プロセッサによって前記命令を実行するステップであって、
前記第1のレジスタからの第1の値を、前記第2のレジスタからの第2の値に加算して、第1の結果を生成するステップと、
前記第3のレジスタからの第3の値から、第2の値を減算して、第2の結果を生成するステップと、
前記第1の結果を、前記第2の結果と比較するステップと
を含む、前記命令を実行するステップと
を含む方法。 - 前記命令を実行するステップが、
前記比較に基づいて、前記第1の結果または前記第2の結果を選択するステップと、
前記選択結果を用いて前記第1のレジスタを更新するステップと
をさらに含む、請求項11に記載の方法。 - 前記第1の結果が前記第2の結果より大きいときは、前記第1の結果が選択され、前記第2の結果が前記第1の結果より大きいときは、前記第2の結果が選択される、請求項12に記載の方法。
- 前記第1の値を前記第2の値に加算するステップ、前記第3の値から前記第2の値を減算するステップ、前記第1の結果を前記第2の結果と比較するステップ、および前記第1の結果または前記第2の結果の1つを選択するステップが、同じ実行サイクルの間に行われる、請求項13に記載の方法。
- 前記命令が記憶位置をさらに特定し、前記命令を実行するステップが、前記比較結果を前記記憶位置に記憶するステップをさらに含む、請求項11に記載の方法。
- 前記第1の値がデコーダのパスメトリック値の第1の組であり、前記第2の値がブランチメトリック値であり、前記第3の値がパスメトリック値の第2の組である、請求項11に記載の方法。
- 前記デコーダがビタビデコーダである、請求項16に記載の方法。
- 前記命令および第2の命令を含む、超長命令語(VLIW)パケットを受け取るステップをさらに含む、請求項11に記載の方法。
- 第1のレジスタ、第2のレジスタ、および第3のレジスタを特定する命令を記憶するための手段と、
前記命令を実行するための手段であって、
前記第1のレジスタからの第1の値を、前記第2のレジスタからの第2の値に加算して、第1の結果を生成するための手段と、
前記第3のレジスタからの第3の値から、第2の値を減算して、第2の結果を生成するための手段と、
前記第1の結果を、前記第2の結果と比較するための手段と
を備える、前記命令を実行するための手段と
を備える装置。 - 前記加算するための手段がベクトル加算器を含み、前記減算するための手段がベクトル減算器を含み、前記比較するための手段が比較器を含む、請求項19に記載の装置。
- 前記命令を実行するための手段が、同じ実行サイクルの間に、前記第1の値を前記第2の値に加算し、前記第3の値から前記第2の値を減算し、前記第1の結果を前記第2の結果と比較するように構成される、請求項19に記載の装置。
- プロセッサによって実行されたときに、前記プロセッサに、
第1のレジスタ、第2のレジスタ、および第3のレジスタを特定する単一命令を受け取らせ、
前記単一命令を実行させる、
プログラムコードを含む、非一時的コンピュータ可読媒体であって、
前記単一命令を実行することは、
前記第1のレジスタからの第1の値を、前記第2のレジスタからの第2の値に加算して、第1の結果を生成し、
前記第3のレジスタからの第3の値から、第2の値を減算して、第2の結果を生成し、
前記第1の結果を、前記第2の結果と比較すること
を含む、非一時的コンピュータ可読媒体。 - 前記単一命令を実行することが、
前記比較に基づいて、前記第1の結果または前記第2の結果の1つを選択すること、および
前記選択結果を用いて前記第1のレジスタを更新すること
をさらに含む、請求項22に記載の非一時的コンピュータ可読媒体。 - 前記第1の値を前記第2の値に加算すること、前記第3の値から前記第2の値を減算すること、前記第1の結果を前記第2の結果と比較すること、および前記第1のレジスタを更新することが、同じ実行サイクルの間に行われる、請求項23に記載の非一時的コンピュータ可読媒体。
- 前記単一命令を実行することが、前記比較結果を記憶位置に記憶することをさらに含む、請求項22に記載の非一時的コンピュータ可読媒体。
- 前記命令を実行することは、前記プロセッサが、単一実行サイクルの間に複数の状態を処理することを可能にする、請求項26に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/841,878 US9389854B2 (en) | 2013-03-15 | 2013-03-15 | Add-compare-select instruction |
US13/841,878 | 2013-03-15 | ||
PCT/US2014/024203 WO2014150778A1 (en) | 2013-03-15 | 2014-03-12 | Add-compare-select instruction |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2016517577A true JP2016517577A (ja) | 2016-06-16 |
JP2016517577A5 JP2016517577A5 (ja) | 2017-01-05 |
JP6203935B2 JP6203935B2 (ja) | 2017-09-27 |
Family
ID=50483523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016501437A Expired - Fee Related JP6203935B2 (ja) | 2013-03-15 | 2014-03-12 | 加算比較選択命令 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9389854B2 (ja) |
EP (1) | EP2972786B1 (ja) |
JP (1) | JP6203935B2 (ja) |
KR (1) | KR101746681B1 (ja) |
CN (1) | CN105027076B (ja) |
WO (1) | WO2014150778A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107315717B (zh) | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行向量四则运算的装置和方法 |
CN107315715B (zh) * | 2016-04-26 | 2020-11-03 | 中科寒武纪科技股份有限公司 | 一种用于执行矩阵加/减运算的装置和方法 |
CN110275693B (zh) | 2018-03-15 | 2023-08-22 | 华为技术有限公司 | 用于随机计算的多加数加法电路 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05206873A (ja) * | 1992-01-29 | 1993-08-13 | Sony Corp | 再生装置 |
JPH05282601A (ja) * | 1992-03-31 | 1993-10-29 | Sony Corp | 磁気記録再生方法 |
JPH11261426A (ja) * | 1997-11-14 | 1999-09-24 | Lucent Technol Inc | 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ |
US20030028844A1 (en) * | 2001-06-21 | 2003-02-06 | Coombs Robert Anthony | Method and apparatus for implementing a single cycle operation in a data processing system |
JP2012039849A (ja) * | 2010-08-10 | 2012-02-23 | Pioneer Electronic Corp | インピーダンス整合装置、無線電力伝送装置、制御方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5151904A (en) * | 1990-09-27 | 1992-09-29 | The Titan Corporation | Reconfigurable, multi-user viterbi decoder |
JP3241210B2 (ja) | 1994-06-23 | 2001-12-25 | 沖電気工業株式会社 | ビタビ復号方法及びビタビ復号回路 |
US6163581A (en) * | 1997-05-05 | 2000-12-19 | The Regents Of The University Of California | Low-power state-sequential viterbi decoder for CDMA digital cellular applications |
US20020031195A1 (en) * | 2000-09-08 | 2002-03-14 | Hooman Honary | Method and apparatus for constellation decoder |
US7661059B2 (en) * | 2001-08-06 | 2010-02-09 | Analog Devices, Inc. | High performance turbo and Viterbi channel decoding in digital signal processors |
US7043682B1 (en) | 2002-02-05 | 2006-05-09 | Arc International | Method and apparatus for implementing decode operations in a data processor |
US8140947B2 (en) | 2005-09-30 | 2012-03-20 | Agere Systems Inc. | Method and apparatus for storing survivor paths in a Viterbi detector using systematic pointer exchange |
US7725516B2 (en) | 2005-10-05 | 2010-05-25 | Qualcomm Incorporated | Fast DCT algorithm for DSP with VLIW architecture |
US8356160B2 (en) * | 2008-01-15 | 2013-01-15 | International Business Machines Corporation | Pipelined multiple operand minimum and maximum function |
US8255780B2 (en) * | 2009-02-18 | 2012-08-28 | Saankhya Labs Pvt Ltd. | Scalable VLIW processor for high-speed viterbi and trellis coded modulation decoding |
CN102122275A (zh) * | 2010-01-08 | 2011-07-13 | 上海芯豪微电子有限公司 | 一种可配置处理器 |
US8694878B2 (en) | 2011-06-15 | 2014-04-08 | Texas Instruments Incorporated | Processor instructions to accelerate Viterbi decoding |
US10120692B2 (en) | 2011-07-28 | 2018-11-06 | Qualcomm Incorporated | Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form |
-
2013
- 2013-03-15 US US13/841,878 patent/US9389854B2/en active Active
-
2014
- 2014-03-12 CN CN201480012927.5A patent/CN105027076B/zh active Active
- 2014-03-12 WO PCT/US2014/024203 patent/WO2014150778A1/en active Application Filing
- 2014-03-12 EP EP14717293.6A patent/EP2972786B1/en active Active
- 2014-03-12 KR KR1020157029138A patent/KR101746681B1/ko active IP Right Grant
- 2014-03-12 JP JP2016501437A patent/JP6203935B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05206873A (ja) * | 1992-01-29 | 1993-08-13 | Sony Corp | 再生装置 |
JPH05282601A (ja) * | 1992-03-31 | 1993-10-29 | Sony Corp | 磁気記録再生方法 |
JPH11261426A (ja) * | 1997-11-14 | 1999-09-24 | Lucent Technol Inc | 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ |
US20030028844A1 (en) * | 2001-06-21 | 2003-02-06 | Coombs Robert Anthony | Method and apparatus for implementing a single cycle operation in a data processing system |
JP2012039849A (ja) * | 2010-08-10 | 2012-02-23 | Pioneer Electronic Corp | インピーダンス整合装置、無線電力伝送装置、制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US9389854B2 (en) | 2016-07-12 |
CN105027076A (zh) | 2015-11-04 |
JP6203935B2 (ja) | 2017-09-27 |
US20140281420A1 (en) | 2014-09-18 |
CN105027076B (zh) | 2018-07-20 |
KR101746681B1 (ko) | 2017-06-13 |
EP2972786B1 (en) | 2021-12-01 |
EP2972786A1 (en) | 2016-01-20 |
KR20150132387A (ko) | 2015-11-25 |
WO2014150778A1 (en) | 2014-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6022581B2 (ja) | Fifoロード命令 | |
JP6203935B2 (ja) | 加算比較選択命令 | |
JP5341194B2 (ja) | リニアフィードバックシフト命令を実行するためのシステムおよび方法 | |
KR101585492B1 (ko) | 비터비 패킹 명령 | |
JP6313204B2 (ja) | 頻繁にコールされる関数に対するテーブルコール命令 | |
WO2013036950A1 (en) | Instruction packet including multiple instructions having a common destination | |
KR20140078764A (ko) | 상단 n개 또는 하단 n개의 값들의 결정 | |
JP2018523239A (ja) | 電力効率的なフェッチ適合 | |
US9678754B2 (en) | System and method of processing hierarchical very long instruction packets | |
CN109313594B (zh) | 用于指令包的奇偶校验 | |
US20170046168A1 (en) | Scalable single-instruction-multiple-data instructions | |
JP2019523503A (ja) | 区分線形近似のためのシステムおよび方法 | |
US20130042091A1 (en) | BIT Splitting Instruction | |
US9336579B2 (en) | System and method of performing multi-level integration | |
WO2013069551A1 (ja) | デジタル信号プロセッサ、プログラム制御方法、および制御プログラム | |
KR20190056365A (ko) | 인접 메모리 어드레스에서의 데이터 저장 | |
JP2014045480A (ja) | 高速加算比較選択回路 | |
JP2002217747A (ja) | ビタビ復号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161116 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161116 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20161116 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170306 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170602 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170807 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170830 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6203935 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |