JP6022581B2 - Fifoロード命令 - Google Patents
Fifoロード命令 Download PDFInfo
- Publication number
- JP6022581B2 JP6022581B2 JP2014533457A JP2014533457A JP6022581B2 JP 6022581 B2 JP6022581 B2 JP 6022581B2 JP 2014533457 A JP2014533457 A JP 2014533457A JP 2014533457 A JP2014533457 A JP 2014533457A JP 6022581 B2 JP6022581 B2 JP 6022581B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- register
- item
- data
- executing
- 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.)
- Expired - Fee Related
Links
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/3004—Arrangements for executing specific machine instructions to perform operations on memory
-
- 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/30032—Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
-
- 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/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Image Processing (AREA)
Description
140 レジスタ
141 データ
142 データ
143 データ
144 データ
150 アイテム
300 システム
300 プロセッサ
308 バスインターフェース
310 命令キャッシュ
311 バス
312 データキャッシュ
314 シーケンサ
316 汎用割込み
318 第1のロード/ストアユニット
320 第2のロード/ストアユニット
322 第1の命令実行ユニット
324 第2の命令実行ユニット
326 汎用レジスタファイル
328 第1のバス
330 バス
332 スーパバイザ制御レジスタ
336 グローバル制御レジスタ
340 レジスタ
350 VLIW命令パケット
351 FIFOロード命令
352 FIFOロード命令
360 第2のアイテム
510 第1のレジスタ
520 第2のレジスタ
530 シフタ
540 マルチプレクサ
600 デバイス
622 システムオンチップデバイス
626 ディスプレイコントローラ
628 ディスプレイ
630 入力デバイス
632 メモリ
634 コーダ/デコーダ(コーデック)
636 スピーカー
638 マイクロフォン
640 ワイヤレスコントローラ
642 ワイヤレスアンテナ
644 電源
664 DSP
Claims (19)
- 第1のレジスタおよび第1のメモリ位置を識別する第1の命令を記憶するメモリであり、前記第1の命令によってプロセッサは、
前記第1のメモリ位置から第1のアイテムをロードするステップと、
前記第1のレジスタにおけるデータアイテムをシフトし、前記第1のレジスタにおける最初の位置からデータアイテムのうちの第1のデータアイテムを削除するために、シフト操作を実行するステップと、
前記第1のレジスタの最後の位置に前記第1のアイテムを挿入するために、挿入操作を実行するステップと
を含む操作を実行可能であり、前記第1の命令の実行が、前記プロセッサの単一の実行サイクルで完了する、メモリ
を備え、
前記第1の命令が、ビデオデータにおいて動き推定を実行するための他の実行可能な命令と連携して実行可能である、
装置。 - 前記第1のアイテムの長さが1バイトである、請求項1に記載の装置。
- 前記シフト操作を実行するステップは、前記プロセッサのシフタによって実行され、このシフタは、前記第1のレジスタからデータを受信して、データから第1のデータアイテムを削除し、かつデータのうちの他のデータアイテムの順序を維持するように構成されていて、
更に、前記シフタの出力および前記第1のメモリ位置からの第1のアイテムを受信するように構成されたマルチプレクサと、
前記マルチプレクサのマルチプレクサ出力を受信するように構成された第2のレジスタとを備えている、
請求項1に記載の装置。 - 前記第1のアイテムは第2のレジスタの最後の位置に存在し、かつ他のデータアイテムは第2のレジスタの他の位置に順序を維持して存在する、
請求項3に記載の装置。 - 前記第1のアイテムは、第1のメモリ位置からマルチプレクサへの第1のアイテムのロードの間に、位置合わせされ、複製され、ゼロパディングされ、符号拡張され、またはこれらの組み合わせが行われる、
請求項3に記載の装置。 - 前記第1の命令の前記実行が前記プロセッサのロードハードウェアユニットによって実行され、前記シフト操作および挿入操作は、第1のレジスタからのデータの一部分を第1のメモリ位置からのデータの一部分に置き換える、
請求項1に記載の装置。 - 前記第1の命令および第2の命令を含む超長命令語(VLIW)パケットをさらに備える、請求項1に記載の装置。
- 前記第2の命令が第2のレジスタおよび第2のメモリ位置を識別し、前記第2の命令が前記プロセッサによって実行されると、第2のアイテムが前記第2のメモリ位置からロードされ、前記第2のレジスタにおけるデータアイテムをシフトし、前記第2のレジスタにおける最初の位置から前記第2のレジスタにおけるデータアイテムのうちの特定の第1のデータアイテムを削除するために、第2のシフト操作が実行され、前記第2のアイテムを前記第2のレジスタの最後の位置に挿入するために、第2の挿入操作が実行され、前記第2の命令が前記第1の命令の実行と並行して実行される、請求項7に記載の装置。
- 前記第1の命令が、フィルタリング演算を実行するための他の実行可能な命令と連携して実行可能である、請求項1に記載の装置。
- 前記フィルタリング演算が有限インパルス応答(FIR)演算である、請求項9に記載の装置。
- 第1のレジスタおよび第1のメモリ位置を識別する第1の命令を受信するステップと、
プロセッサを使用して前記第1の命令を実行するステップであり、
前記第1のメモリ位置から第1のアイテムをロードするステップと、
前記第1のレジスタにおけるデータアイテムをシフトし、前記第1のレジスタにおける最初の位置からデータアイテムのうちの第1のデータアイテムを削除するステップと、
前記第1のアイテムを前記第1のレジスタの最後の位置に挿入するステップと
を含むステップと
を含み、前記第1の命令の実行が、前記プロセッサの単一の実行サイクルで完了し、
前記第1の命令が、ビデオデータにおいて動き推定を実行するための他の実行可能な命令と連携して実行可能である、
方法。 - 第2のレジスタおよび第2のメモリ位置を識別する第2の命令を受信するステップと、
前記第2の命令を、前記第1の命令の前記実行と並行して実行するステップであり、
前記第2のメモリ位置から第2のアイテムをロードするステップと、
前記第2のレジスタにおけるデータアイテムをシフトし、前記第2のレジスタにおける最初の位置からデータアイテムのうちの特定の第1のデータアイテムを削除するステップと、
前記第2のアイテムを前記第2のレジスタの最後の位置に挿入するステップと
を含むステップと
をさらに含む請求項11に記載の方法。 - 乗算命令および加算命令を、前記第1の命令を実行するステップと並行して実行するステップをさらに含む請求項11に記載の方法。
- 絶対値差分和演算を、前記第1の命令を実行するステップと並行して実行するステップをさらに含む請求項11に記載の方法。
- 前記第1のレジスタが先入れ先出し(FIFO)バッファとして動作する、請求項11に記載の方法。
- 第1のレジスタおよび第1のメモリ位置を識別する第1の命令を記憶するための手段と、
前記第1の命令を実行するための手段であり、
前記第1のメモリ位置から第1のアイテムをロードするための手段と、
前記第1のレジスタにおけるデータアイテムをシフトし、前記第1のレジスタにおける最初の位置からデータアイテムのうちの第1のデータアイテムを削除するための手段と、
前記第1のアイテムを前記第1のレジスタの最後の位置に挿入するための手段と
を備える手段と
を備え、前記第1の命令の実行が、前記第1の命令を実行するための前記手段の単一の実行サイクルで完了し、
前記第1の命令が、ビデオデータにおいて動き推定を実行するための他の実行可能な命令と連携して実行可能である、
装置。 - 第2の命令を、前記第1の命令を実行することと並行して実行するための手段であり、前記第2の命令が第2のレジスタおよび第2のメモリ位置を識別する、手段をさらに備える請求項16に記載の装置。
- プロセッサによって実行されると、前記プロセッサに、
第1のレジスタおよび第1のメモリ位置を識別する第1の命令を受信させ、
前記第1の命令を実行させるプログラムコードであり、前記第1の命令を実行するステップが、
前記第1のメモリ位置から第1のアイテムをロードするステップと、
前記第1のレジスタにおけるデータアイテムをシフトし、前記第1のレジスタにおける最初の位置からデータアイテムのうちの第1のデータアイテムを削除するステップと、
前記第1のアイテムを前記第1のレジスタの最後の位置に挿入するステップと
を含み、
前記第1の命令の実行が、前記プロセッサの単一の実行サイクルで完了し、
前記第1の命令が、ビデオデータにおいて動き推定を実行するための他の実行可能な命令と連携して実行可能である、
プログラムコードを記憶するコンピュータ可読媒体。 - 第1のアイテムの長さが1ワードである、請求項18に記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/249,284 | 2011-09-30 | ||
US13/249,284 US9823928B2 (en) | 2011-09-30 | 2011-09-30 | FIFO load instruction |
PCT/US2012/058181 WO2013049765A1 (en) | 2011-09-30 | 2012-09-30 | Fifo load instruction |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016104167A Division JP2016192212A (ja) | 2011-09-30 | 2016-05-25 | Fifoロード命令 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014532231A JP2014532231A (ja) | 2014-12-04 |
JP6022581B2 true JP6022581B2 (ja) | 2016-11-09 |
Family
ID=47146655
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014533457A Expired - Fee Related JP6022581B2 (ja) | 2011-09-30 | 2012-09-30 | Fifoロード命令 |
JP2016104167A Pending JP2016192212A (ja) | 2011-09-30 | 2016-05-25 | Fifoロード命令 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016104167A Pending JP2016192212A (ja) | 2011-09-30 | 2016-05-25 | Fifoロード命令 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9823928B2 (ja) |
EP (1) | EP2761434B1 (ja) |
JP (2) | JP6022581B2 (ja) |
KR (1) | KR101697548B1 (ja) |
CN (1) | CN103827818B (ja) |
IN (1) | IN2014CN01835A (ja) |
WO (1) | WO2013049765A1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013106210A1 (en) * | 2012-01-10 | 2013-07-18 | Intel Corporation | Electronic apparatus having parallel memory banks |
JP2016019708A (ja) | 2014-07-16 | 2016-02-04 | 浜松ホトニクス株式会社 | 固体撮像装置、x線撮像システムおよび固体撮像装置駆動方法 |
CN104597805A (zh) * | 2014-12-09 | 2015-05-06 | 北京临近空间飞艇技术开发有限公司 | 一种基于fifo实现循环移位寄存器的系统及方法 |
CN105892993B (zh) * | 2016-03-28 | 2019-02-15 | 龙芯中科技术有限公司 | 基于提取插入操作的重组方法、装置及微处理器 |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10733016B1 (en) | 2019-04-26 | 2020-08-04 | Google Llc | Optimizing hardware FIFO instructions |
US11010099B1 (en) * | 2019-11-19 | 2021-05-18 | Western Digital Technologies, Inc. | Data storage device executing access commands based on leapfrog sort |
US11237827B2 (en) | 2019-11-26 | 2022-02-01 | Advanced Micro Devices, Inc. | Arithemetic logic unit register sequencing |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL136896C (ja) | 1964-10-07 | |||
JPS625441A (ja) | 1985-02-18 | 1987-01-12 | Nec Corp | 情報処理装置 |
US5781457A (en) * | 1994-03-08 | 1998-07-14 | Exponential Technology, Inc. | Merge/mask, rotate/shift, and boolean operations from two instruction sets executed in a vectored mux on a dual-ALU |
JPH07295882A (ja) | 1994-04-22 | 1995-11-10 | Hitachi Ltd | 情報処理装置、及び、情報処理システム |
JPH0927030A (ja) | 1995-07-12 | 1997-01-28 | Fujitsu Ltd | 画像処理装置 |
US5991531A (en) * | 1997-02-24 | 1999-11-23 | Samsung Electronics Co., Ltd. | Scalable width vector processor architecture for efficient emulation |
US6334176B1 (en) * | 1998-04-17 | 2001-12-25 | Motorola, Inc. | Method and apparatus for generating an alignment control vector |
US6490673B1 (en) | 1998-11-27 | 2002-12-03 | Matsushita Electric Industrial Co., Ltd | Processor, compiling apparatus, and compile program recorded on a recording medium |
FI20010924A (fi) | 2001-05-03 | 2002-11-04 | Nokia Corp | Mikroprosessorin muistinkäsittely |
US7272622B2 (en) * | 2001-10-29 | 2007-09-18 | Intel Corporation | Method and apparatus for parallel shift right merge of data |
US7685212B2 (en) | 2001-10-29 | 2010-03-23 | Intel Corporation | Fast full search motion estimation with SIMD merge instruction |
US6721866B2 (en) * | 2001-12-21 | 2004-04-13 | Intel Corporation | Unaligned memory operands |
US20110087859A1 (en) * | 2002-02-04 | 2011-04-14 | Mimar Tibet | System cycle loading and storing of misaligned vector elements in a simd processor |
US7376812B1 (en) * | 2002-05-13 | 2008-05-20 | Tensilica, Inc. | Vector co-processor for configurable and extensible processor architecture |
US7126991B1 (en) | 2003-02-03 | 2006-10-24 | Tibet MIMAR | Method for programmable motion estimation in a SIMD processor |
US7275147B2 (en) | 2003-03-31 | 2007-09-25 | Hitachi, Ltd. | Method and apparatus for data alignment and parsing in SIMD computer architecture |
GB2409059B (en) | 2003-12-09 | 2006-09-27 | Advanced Risc Mach Ltd | A data processing apparatus and method for moving data between registers and memory |
GB2411978B (en) * | 2004-03-10 | 2007-04-04 | Advanced Risc Mach Ltd | Inserting bits within a data word |
US7475392B2 (en) * | 2004-06-07 | 2009-01-06 | International Business Machines Corporation | SIMD code generation for loops with mixed data lengths |
JP2006004042A (ja) * | 2004-06-16 | 2006-01-05 | Renesas Technology Corp | データ処理装置 |
US7315937B2 (en) * | 2004-10-01 | 2008-01-01 | Mips Technologies, Inc. | Microprocessor instructions for efficient bit stream extractions |
US20070052557A1 (en) * | 2005-09-02 | 2007-03-08 | Thomas Magdeburger | Shared memory and shared multiplier programmable digital-filter implementation |
JP4987882B2 (ja) | 2006-02-03 | 2012-07-25 | ラッセル・エイチ・フィッシュ | スレッドに最適化されたマルチプロセッサアーキテクチャ |
US8984256B2 (en) | 2006-02-03 | 2015-03-17 | Russell Fish | Thread optimized multiprocessor architecture |
US7949701B2 (en) * | 2006-08-02 | 2011-05-24 | Qualcomm Incorporated | Method and system to perform shifting and rounding operations within a microprocessor |
US7624251B2 (en) * | 2006-11-01 | 2009-11-24 | Apple Inc. | Instructions for efficiently accessing unaligned partial vectors |
JP2008258762A (ja) | 2007-04-02 | 2008-10-23 | Toshiba Corp | ディジタル信号受信装置 |
US8078834B2 (en) | 2008-01-09 | 2011-12-13 | Analog Devices, Inc. | Processor architectures for enhanced computational capability |
US8108653B2 (en) * | 2008-01-09 | 2012-01-31 | Analog Devices, Inc. | Processor architectures for enhanced computational capability and low latency |
US8145804B2 (en) * | 2009-09-21 | 2012-03-27 | Kabushiki Kaisha Toshiba | Systems and methods for transferring data to maintain preferred slot positions in a bi-endian processor |
US9137737B2 (en) | 2011-08-29 | 2015-09-15 | Qualcomm Incorporated | Systems and methods for monitoring of background application events |
JP5728623B2 (ja) * | 2011-10-05 | 2015-06-03 | クアルコム,インコーポレイテッド | バックグラウンドアプリケーションイベントの管理のためのシステムおよび方法 |
-
2011
- 2011-09-30 US US13/249,284 patent/US9823928B2/en active Active
-
2012
- 2012-09-30 EP EP12783712.8A patent/EP2761434B1/en not_active Not-in-force
- 2012-09-30 IN IN1835CHN2014 patent/IN2014CN01835A/en unknown
- 2012-09-30 CN CN201280047140.3A patent/CN103827818B/zh not_active Expired - Fee Related
- 2012-09-30 KR KR1020147011807A patent/KR101697548B1/ko active IP Right Grant
- 2012-09-30 WO PCT/US2012/058181 patent/WO2013049765A1/en active Application Filing
- 2012-09-30 JP JP2014533457A patent/JP6022581B2/ja not_active Expired - Fee Related
-
2016
- 2016-05-25 JP JP2016104167A patent/JP2016192212A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
CN103827818B (zh) | 2017-06-13 |
KR20140073553A (ko) | 2014-06-16 |
WO2013049765A1 (en) | 2013-04-04 |
JP2014532231A (ja) | 2014-12-04 |
KR101697548B1 (ko) | 2017-01-18 |
IN2014CN01835A (ja) | 2015-09-04 |
CN103827818A (zh) | 2014-05-28 |
US20130086360A1 (en) | 2013-04-04 |
EP2761434B1 (en) | 2017-06-14 |
JP2016192212A (ja) | 2016-11-10 |
US9823928B2 (en) | 2017-11-21 |
EP2761434A1 (en) | 2014-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6022581B2 (ja) | Fifoロード命令 | |
US8601239B2 (en) | Extended register addressing using prefix instruction | |
US8051226B2 (en) | Circular buffer support in a single instruction multiple data (SIMD) data processor | |
JP6511462B2 (ja) | 浮動小数点レジスタエイリアシングのためのプロセッサ及び方法 | |
TWI408600B (zh) | 具有內部位元先進先出電路之計算單元 | |
US20170139713A1 (en) | Vector store instruction having instruction-specified byte count to be stored supporting big and little endian processing | |
US8843730B2 (en) | Executing instruction packet with multiple instructions with same destination by performing logical operation on results of instructions and storing the result to the destination | |
CN107873091B (zh) | 用于滑动窗口运算的方法和设备 | |
US8874884B2 (en) | Selective writing of branch target buffer when number of instructions in cache line containing branch instruction is less than threshold | |
US9678754B2 (en) | System and method of processing hierarchical very long instruction packets | |
EP2972786B1 (en) | Add-compare-select instruction | |
US20130042091A1 (en) | BIT Splitting Instruction | |
CN107636611B (zh) | 用于临时加载指令的系统、设备和方法 | |
KR20190056365A (ko) | 인접 메모리 어드레스에서의 데이터 저장 | |
US20120117360A1 (en) | Dedicated instructions for variable length code insertion by a digital signal processor (dsp) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150202 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150601 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160125 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160525 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20160608 |
|
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: 20160905 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20161005 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6022581 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |