JP5584781B2 - データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作 - Google Patents
データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作 Download PDFInfo
- Publication number
- JP5584781B2 JP5584781B2 JP2012549124A JP2012549124A JP5584781B2 JP 5584781 B2 JP5584781 B2 JP 5584781B2 JP 2012549124 A JP2012549124 A JP 2012549124A JP 2012549124 A JP2012549124 A JP 2012549124A JP 5584781 B2 JP5584781 B2 JP 5584781B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- stage
- bit
- multiplexing
- alignment
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
Description
102 ロード/保存命令
110 メモリ
111 メモリバンク
120 多段階のMUX論理回路
130 レジスタファイル
200 論理回路
211 メモリバンク
221 第1の部分的なMUX
222 第2の部分的なMUX
223 最終MUX
224 データ操作論理回路
311 メモリバンク
321 第1の部分的なMUX
322 第2の部分的なMUX
323 最終MUX
324 データ操作論理回路
401 and/or MUX
501 and/or MUX
600 ダブルワード
610 バイト
620 ハーフワード
630 ワード
800 デバイス
810 デジタルシグナルプロセッサ
822 システムオンチップデバイス
826 ディスプレイコントローラ
828 ディスプレイ
830 入力デバイス
832 メモリ
834 CODEC
836 スピーカー
838 マイクロフォン
840 ワイヤレスコントローラ
842 ワイヤレスアンテナ
844 電源
864 多段階MUX論理回路
Claims (27)
- 多段階の多重化操作の第1の段階の間に、
第1の複数のデータソースから第1のデータソースを選択するステップと、
前記選択された第1のデータソースからの第1のデータに対して、第1のデータ整列操作と第1のデータ複製操作のうちの少なくとも1つを実行するステップと、
第2の複数のデータソースから第2のデータソースを選択するステップと、
前記選択された第2のデータソースからの第2のデータに対して、第2のデータ整列操作と第2のデータ複製操作のうちの少なくとも1つを実行するステップとを含む、方法。 - 前記第1のデータが、第1の64ビットのダブルワードを含み、前記第1のデータ整列操作と前記第1のデータ複製操作のうちの前記少なくとも1つが、前記第1のデータの32ビットのワードに関して実行される、請求項1に記載の方法。
- 前記第2のデータが、第2の64ビットのダブルワードを含み、前記第2のデータ整列操作と前記第2のデータ複製操作のうちの前記少なくとも1つが、前記第2のデータの32ビットのワードに関して実行される、請求項1に記載の方法。
- 前記第1の段階の次の、前記多段階の多重化操作の第2の段階の間に、
第3のデータに対して、第3のデータ整列操作と第3のデータ複製操作のうちの少なくとも1つを実行するステップをさらに含み、
前記第3のデータが、前記第1のデータと前記第2のデータのうちの1つから選択される、請求項1に記載の方法。 - 前記第3のデータが64ビットのダブルワードを含み、前記第3のデータ整列操作と前記第3のデータ複製操作のうちの前記少なくとも1つが、前記第3のデータの16ビットのハーフワードに関して実行される、請求項4に記載の方法。
- 前記第2の段階の次の、前記多段階の多重化操作の第3の段階の間に、
データ整列操作と、データ複製操作と、符号拡張操作と、ゼロパディング操作とのうちの少なくとも1つを、前記第3のデータに対して実行して、最終的なデータを生成するステップをさらに含む、請求項4に記載の方法。 - 前記多段階の多重化操作の前記第3の段階の間に、
前記最終的なデータを、レジスタファイルとメモリの少なくとも1つに保存するステップをさらに含む、請求項6に記載の方法。 - 前記メモリが、前記第1の複数のデータソースと、前記第2の複数のデータソースのうちの1つまたは複数を含む、請求項7に記載の方法。
- 前記最終的なデータが、ダブルワード、2つの複製されたワード、少なくとも2つの複製されたハーフワード、少なくとも1つの符号拡張のバイト、少なくとも1つのゼロパディングのバイト、少なくとも2つの複製されたバイト、および、少なくとも1つの再整列されたバイトのうちの、1つまたは複数を含む、請求項6に記載の方法。
- 前記第1の複数のデータソースの少なくとも1つのデータソースが、第1のメモリバンクであり、前記第2の複数のデータソースの少なくとも1つのデータソースが、第3のメモリバンクである、請求項1に記載の方法。
- 第1の複数のデータソースおよび第2の複数のデータソースを含むメモリと、
データ整列操作とデータ複製操作のうちの少なくとも1つを選択的に実行するように構成される、ロード整列器であって、前記データ整列操作とデータ複製操作のうちの少なくとも1つが、前記第1の複数のデータソースから選択された第1のデータソースのうちの第1のデータと、前記第2の複数のデータソースから選択された第2のデータソースのうちの第2のデータとに対して実行され、前記データ整列操作とデータ複製操作のうちの少なくとも1つが、前記第1のデータを選択する第1の多重化操作を実行するのと同時におよび前記第2のデータを選択する第2の多重化操作を実行するのと同時に、実行される、ロード整列器とを含む、装置。 - 前記データ整列操作を実行は、データを左にシフトすることまたはデータを右にシフトすることを含む、請求項11に記載の装置。
- 前記第1の複数のデータソースの各々および前記第2の複数のデータソースの各々が、複数バイトのデータソースであり、前記ロード整列器がさらに、バイトごとに、前記データ整列操作と前記データ複製操作の前記少なくとも1つを実行するように構成される、請求項11に記載の装置。
- 前記第1の多重化操作の実行と同時におよび第2の多重化操作を実行と同時に、前記データ整列操作と前記データ複製操作の前記少なくとも1つを選択的に実行するステップが、前記第1のデータの各ビットおよび前記第2のデータの各ビットを、少なくとも1つの4入力のand-orマルチプレクサに入力するステップを含む、請求項11に記載の装置。
- 第1の複数のデータソースおよび第2の複数のデータソースを含むメモリと、
前記第1の複数のデータソースから選択された第1のデータソースのうちの第1のデータと、前記第2の複数のデータソースから選択された第2のデータソースのうちの第2のデータとを、選択的に符号拡張するように構成される、符号拡張論理回路であって、前記符号拡張が、前記第1のデータを選択する第1の多重化操作を実行するのと同時におよび前記第2のデータを選択する第2の多重化操作を実行するのと同時に、実行される、符号拡張論理回路とを含む、装置。 - 前記第1の多重化操作および前記第2の多重化操作と並行して前記第1のデータおよび前記第2のデータを選択的にゼロパディングするように構成される、ゼロパディング論理回路をさらに含む、請求項15に記載の装置。
- 前記第1の複数のデータソースの各々および前記第2の複数のデータソースの各々が複数バイトのソースであり、前記符号拡張論理回路がさらに、バイトごとに前記第1のデータおよび前記第2のデータを符号拡張するように構成され、前記ゼロパディング論理回路がさらに、バイトごとに前記第1のデータおよび前記第2のデータの各々をゼロパディングするように構成される、請求項16に記載の装置。
- 前記第1の多重化操作の実行と並行して前記第1のデータを選択的に符号拡張するステップが、前記第1のデータの各ビットを、4入力のand-orマルチプレクサに入力するステップを含む、請求項15に記載の装置。
- 前記第1のデータが64ビットからなる、請求項15に記載の装置。
- 第1の複数のデータを保存するための手段および第2の複数のデータを保存するための手段と、
データ整列操作とデータ複製操作のうちの少なくとも1つを選択的に実行するための、ロード整列器手段であって、前記データ整列操作とデータ複製操作のうちの少なくとも1つが、前記第1の複数のデータを保存するための手段から選択された第1のデータソースのうちの第1のデータと、前記第2の複数のデータを保存するための手段から選択された第2のデータソースのうちの第2のデータとに対して実行され、前記データ整列操作とデータ複製操作のうちの少なくとも1つが、前記第1のデータを選択する第1の多重化操作を実行するのと同時におよび前記第2のデータを選択する第2の多重化操作を実行するのと同時に、実行される、ロード整列器手段と、
前記多重化操作と並行して前記第1のデータを選択的に符号拡張するための、拡張手段と、
前記多重化操作と並行して前記第1のデータを選択的にゼロパディングするための、パディング手段とを含む、装置。 - 音楽プレーヤー、ビデオプレーヤー、娯楽ユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、およびコンピュータからなる群から選択されるデバイスをさらに含み、前記デバイスに、前記ロード整列器手段、前記拡張手段、および前記パディング手段が統合される、請求項20に記載の装置。
- 1つまたは複数のマイクロプロセッサ命令を記録するコンピュータ可読記録媒体であって、前記1つまたは複数のマイクロプロセッサ命令が、マイクロプロセッサにより実行されると、前記マイクロプロセッサに、
多段階の多重化操作の第1の段階を実行させ、前記第1の段階が、
第1の複数のデータソースから第1のデータソースを選択するステップを含む、第1の部分的な多重化操作を実行するステップと、
前記選択された第1のデータソースから受け取られた第1のデータに対して、第1のデータ整列操作と第1のデータ複製操作のうちの少なくとも1つを実行するステップであって、前記第1のデータ整列操作と前記第1のデータ複製操作のうちの前記少なくとも1つが、前記第1のデータに関してワードレベルで実行される、ステップと、
第2の複数のデータソースから第2のデータソースを選択するステップを含む、第2の部分的な多重化操作を実行するステップと、
前記選択された第2のデータソースから受け取られた第2のデータに対して、第2のデータ整列操作と第2のデータ複製操作のうちの少なくとも1つを実行するステップであって、前記第2のデータ整列操作と前記第2のデータ複製操作のうちの前記少なくとも1つが、前記第2のデータに関してワードレベルで実行される、ステップと
を含む、コンピュータ可読記録媒体。 - 前記1つまたは複数のマイクロプロセッサ命令を実行するステップが、さらに、前記マイクロプロセッサに、
前記第1の段階の実行の次の、前記多段階の多重化操作の第2の段階を実行させ、前記第2の段階が、
前記第1のデータおよび前記第2のデータのうちの1つから第3のデータを選択するステップを含む、多重化操作を実行するステップと、
前記第3のデータに対して、第3のデータ整列操作と第3のデータ複製操作のうちの少なくとも1つを実行するステップであって、前記第3のデータ整列操作と前記第3のデータ複製操作のうちの前記少なくとも1つが、前記第3のデータに関してハーフワードレベルで実行される、ステップとを含む、請求項22に記載のコンピュータ可読記録媒体。 - 前記1つまたは複数のマイクロプロセッサ命令を実行するステップが、さらに、前記マイクロプロセッサに、
前記第2の段階の実行の次の、前記多段階の多重化操作の第3の段階を実行させ、前記第3の段階が、
データ整列操作と、データ複製操作と、符号拡張操作と、ゼロパディング操作とのうちの少なくとも1つを、前記第3のデータに対してバイトレベルで実行して、最終的なデータを生成するステップと、
前記最終的なデータを、レジスタファイルとメモリの少なくとも1つに保存するステップとをさらに含む、請求項23に記載のコンピュータ可読記録媒体。 - 前記メモリが、前記第1の複数のデータソースおよび前記第2の複数のデータソースを含む、請求項24に記載のコンピュータ可読記録媒体。
- 前記1つまたは複数のマイクロプロセッサ命令が、ロード命令、保存命令、またはこれらの任意の組み合わせを含む、請求項22に記載のコンピュータ可読記録媒体。
- 前記1つまたは複数のマイクロプロセッサ命令の少なくとも1つが、取り出されるべきデータのメモリアドレス、取り出されるべきデータのメモリのオフセット、取り出されるべきデータのサイズ、符号拡張のビット、ゼロパディングのビット、左シフトビット、右シフトビット、またはこれらの任意の組み合わせを含む、請求項26に記載のコンピュータ可読記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/688,091 | 2010-01-15 | ||
US12/688,091 US8356145B2 (en) | 2010-01-15 | 2010-01-15 | Multi-stage multiplexing operation including combined selection and data alignment or data replication |
PCT/US2011/021342 WO2011088351A1 (en) | 2010-01-15 | 2011-01-14 | Multi-stage multiplexing operation including combined selection and data alignment or data replication |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2013517576A JP2013517576A (ja) | 2013-05-16 |
JP2013517576A5 JP2013517576A5 (ja) | 2014-07-17 |
JP5584781B2 true JP5584781B2 (ja) | 2014-09-03 |
Family
ID=43827766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012549124A Active JP5584781B2 (ja) | 2010-01-15 | 2011-01-14 | データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8356145B2 (ja) |
EP (1) | EP2524315A1 (ja) |
JP (1) | JP5584781B2 (ja) |
CN (1) | CN102713875B (ja) |
TW (1) | TW201140318A (ja) |
WO (1) | WO2011088351A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484433B2 (en) * | 2010-11-19 | 2013-07-09 | Netapp, Inc. | Dynamic detection and reduction of unaligned I/O operations |
US10423353B2 (en) | 2016-11-11 | 2019-09-24 | Micron Technology, Inc. | Apparatuses and methods for memory alignment |
US10372452B2 (en) * | 2017-03-14 | 2019-08-06 | Samsung Electronics Co., Ltd. | Memory load to load fusing |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5394133A (en) * | 1977-01-28 | 1978-08-17 | Hitachi Ltd | Data converter |
US4583199A (en) | 1982-07-02 | 1986-04-15 | Honeywell Information Systems Inc. | Apparatus for aligning and packing a first operand into a second operand of a different character size |
JP3181001B2 (ja) | 1993-06-01 | 2001-07-03 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | キャッシュ・メモリ・システム並びにキャッシュ・メモリ・アクセス方法及びシステム |
US5627975A (en) | 1994-08-02 | 1997-05-06 | Motorola, Inc. | Interbus buffer for use between a pseudo little endian bus and a true little endian bus |
US5882620A (en) * | 1995-06-07 | 1999-03-16 | International Carbitech Industries, Inc. | Pyrometallurgical process for forming tungsten carbide |
US5627773A (en) | 1995-06-30 | 1997-05-06 | Digital Equipment Corporation | Floating point unit data path alignment |
US5761469A (en) | 1995-08-15 | 1998-06-02 | Sun Microsystems, Inc. | Method and apparatus for optimizing signed and unsigned load processing in a pipelined processor |
US5907865A (en) | 1995-08-28 | 1999-05-25 | Motorola, Inc. | Method and data processing system for dynamically accessing both big-endian and little-endian storage schemes |
US5822620A (en) | 1997-08-11 | 1998-10-13 | International Business Machines Corporation | System for data alignment by using mask and alignment data just before use of request byte by functional unit |
US7197625B1 (en) | 1997-10-09 | 2007-03-27 | Mips Technologies, Inc. | Alignment and ordering of vector elements for single instruction multiple data processing |
US6539467B1 (en) * | 1999-11-15 | 2003-03-25 | Texas Instruments Incorporated | Microprocessor with non-aligned memory access |
US6622242B1 (en) | 2000-04-07 | 2003-09-16 | Sun Microsystems, Inc. | System and method for performing generalized operations in connection with bits units of a data word |
US20030002474A1 (en) | 2001-03-21 | 2003-01-02 | Thomas Alexander | Multi-stream merge network for data width conversion and multiplexing |
US6877019B2 (en) * | 2002-01-08 | 2005-04-05 | 3Dsp Corporation | Barrel shifter |
US7877581B2 (en) * | 2002-12-12 | 2011-01-25 | Pmc-Sierra Us, Inc. | Networked processor for a pipeline architecture |
CN100545804C (zh) * | 2003-08-18 | 2009-09-30 | 上海海尔集成电路有限公司 | 一种基于cisc结构的微控制器及其指令集的实现方法 |
US20070088772A1 (en) * | 2005-10-17 | 2007-04-19 | Freescale Semiconductor, Inc. | Fast rotator with embedded masking and method therefor |
CN101256546A (zh) * | 2007-03-01 | 2008-09-03 | 黄新亚 | 32位微处理器 |
US8285766B2 (en) * | 2007-05-23 | 2012-10-09 | The Trustees Of Princeton University | Microprocessor shifter circuits utilizing butterfly and inverse butterfly routing circuits, and control circuits therefor |
BRPI0906968A2 (pt) * | 2008-01-30 | 2015-07-14 | Google Inc | Notificação de eventos de dispositivo móvel. |
US8291002B2 (en) * | 2009-06-01 | 2012-10-16 | Arm Limited | Barrel shifter |
-
2010
- 2010-01-15 US US12/688,091 patent/US8356145B2/en active Active
-
2011
- 2011-01-14 EP EP11702535A patent/EP2524315A1/en not_active Withdrawn
- 2011-01-14 CN CN201180005892.9A patent/CN102713875B/zh active Active
- 2011-01-14 JP JP2012549124A patent/JP5584781B2/ja active Active
- 2011-01-14 WO PCT/US2011/021342 patent/WO2011088351A1/en active Application Filing
- 2011-01-17 TW TW100101670A patent/TW201140318A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
CN102713875A (zh) | 2012-10-03 |
US20110179242A1 (en) | 2011-07-21 |
EP2524315A1 (en) | 2012-11-21 |
WO2011088351A1 (en) | 2011-07-21 |
TW201140318A (en) | 2011-11-16 |
JP2013517576A (ja) | 2013-05-16 |
US8356145B2 (en) | 2013-01-15 |
CN102713875B (zh) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100325430B1 (ko) | 상이한 워드 길이의 산술연산을 수행하는 데이터 처리장치 및 그 방법 | |
JP6243000B2 (ja) | マルチモードベクトル処理を提供するためのプログラム可能データ経路構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 | |
TWI489382B (zh) | 改良的萃取指令背景之設備及方法 | |
EP2962187B1 (en) | Vector register addressing and functions based on a scalar register data value | |
JP2016514330A (ja) | マルチモード基数2のx乗のバタフライベクトル処理回路を提供するためのプログラマブルなデータパス構成を有するベクトル処理エンジン、ならびに関連ベクトルプロセッサ、システム、および方法 | |
CN111183418B (zh) | 可配置硬件加速器 | |
CN107145335B (zh) | 用于大整数运算的向量指令的装置和方法 | |
JP2008513903A (ja) | シャッフル演算のためのマイクロプロセッサデバイス及び方法 | |
US5787025A (en) | Method and system for performing arithmetic operations with single or double precision | |
JP2016530631A (ja) | ベクトルの算術的削減 | |
JPH10187661A (ja) | コンピュータにおけるスカラ値をベクトルに記入する方法 | |
JP2018500651A (ja) | マスクレジスタとベクトルレジスタとの間で可変に拡張するための方法および装置 | |
JP5584781B2 (ja) | データ選択とデータ整列またはデータ複製とを組み合わせることを含む多段階の多重化操作 | |
CN111752618A (zh) | 浮点加法器的交错流水线 | |
TW201342005A (zh) | 改良型排列指令之裝置及方法 | |
CN114930311A (zh) | Fpga重复单元之间的级联通信 | |
KR20140078764A (ko) | 상단 n개 또는 하단 n개의 값들의 결정 | |
EP2223204B1 (en) | System and method of determining an address of an element within a table | |
JP2004501470A (ja) | スキームレジスタを用いたメモリアドレスの生成 | |
CN111158757B (zh) | 并行存取装置和方法以及芯片 | |
JP2013517576A5 (ja) | ||
TW201730749A (zh) | 用於不引發算術旗標的三輸入運算元加法指令之方法及處理器(二) | |
CN111352658A (zh) | 用于在从存储器加载时在进行中转置向量的系统和方法 | |
WO2004042602A1 (en) | Apparatus to implement dual hash algorithm | |
JP5664198B2 (ja) | 演算処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140107 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140407 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140519 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20140529 |
|
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: 20140623 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140718 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5584781 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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |